[發明專利]一種統計多個終端軟件運行時長的方法有效
| 申請號: | 202111238113.1 | 申請日: | 2021-10-25 |
| 公開(公告)號: | CN113672476B | 公開(公告)日: | 2022-04-29 |
| 發明(設計)人: | 肖樂;王吉;譚波 | 申請(專利權)人: | 煜象科技(杭州)有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/34;G06F21/60 |
| 代理公司: | 杭州中港知識產權代理有限公司 33353 | 代理人: | 施建勇 |
| 地址: | 310000 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 統計 終端 軟件 運行 方法 | ||
1.一種統計多個終端軟件運行時長的方法,其特征在于,包括以下步驟:
步驟S1,構建統計裝置;所述統計裝置,包括:
數據采集客戶端:數據采集客戶端安裝在PC終端或智能終端上,監控軟件運行時長,并定時上報;
消息通道模塊:消息通道模塊收集數據采集客戶端上報的數據,并緩存到消息隊列中;
數據統計模塊:數據統計模塊讀取消息通道模塊中消息隊列的數據,并定時統計每個區域所有終端軟件運行總時長、平均運行時長、軟件運行時間區間段,將數據再次發送到消息隊列;
數據可視化模塊:數據可視化模塊讀取消息隊列的數據,保存到數據庫中,按照不同的維度計算數據庫中的數據,當用戶在頁面請求時,返回不同區域的不同維度的統計信息,以圖表方式呈現給用戶;
步驟S2,數據采集客戶端,統計軟件運行時長,將軟件當天運行信息封裝加密成為消息體后,通過TCP連接發送到消息通道模塊;
步驟S3,消息通道模塊,監聽并接收所有數據采集客戶端發送的消息體,查找對應的密鑰并解密消息體,然后將解密后的消息體發送到消息隊列;
步驟S4,數據統計模塊,從消息隊列中消費消息,將消息體中數據解析后存入數據庫,定時統計每個區域所有終端軟件運行總時長、平均運行時長、軟件運行時間區間段,將數據再次發送到消息隊列;
步驟S5,數據可視化模塊,接收統計數據,保存到數據庫,然后定時消費統計數據,提供統計訪問功能,按照不同的維度對不同區域的數據進行呈現;
步驟S2,包括以下步驟:
步驟S2a,數據采集客戶端啟動線程,在線程中定時統計軟件運行時長,并判斷自己是否為第一次啟動:若是,則讀取本地文件,將記錄的進程運行信息讀取到內存,初始化上次運行時長;否則,直接將上次運行時長初始化為0;
步驟S2b,設置定時器的定時間隔,數據采集客戶端計算軟件運行時長,獲取終端當前運行的進程列表,與配置文件中指定被監控進程名進行比較,若有同名進程,選擇最早啟動的進程,計算本次定時調度中的軟件運行時長方法為:
本次定時調度中,軟件運行時長=上次運行時長 + 定時間隔;
步驟S2c,將步驟S2b統計的軟件運行時長寫入本地文件;
步驟S2d,統計每一個終端時根據終端ID區分不同的終端,數據采集客戶端啟動發送線程,采用Mac地址+客戶端主板id+硬盤id的組合做為終端ID,在發送數據中攜帶終端ID字段uuid,將步驟S2b中計算的軟件運行時長和進程信息加密后,進行Base64編碼,拼裝消息后,發送到消息通道模塊;
步驟S2e,定時器再次啟動,重復步驟S2b-步驟S2d,每一次重復步驟S2b-步驟S2d,數據采集客戶端都會向消息通道模塊發送一條加密后的報文。
2.根據權利要求1所述的一種統計多個終端軟件運行時長的方法,其特征在于,步驟S2a中,本地文件包括以下字段:進程ID、進程名稱、軟件運行時長、信息記錄時間。
3.根據權利要求1所述的一種統計多個終端軟件運行時長的方法,其特征在于,步驟S2a中,初始化軟件運行時長,其計算方法如下,將本地運行文件記錄的運行信息分成5種不同的場景;
場景1:該場景中,文件中的上一次記錄動作發生在前一天;信息記錄時間發生在前一天,創建時間位于今天,則場景1上次運行時長=當前時間 - 進程創建時間;
場景2:文件中上一次信息記錄時間發生在當天,系統中當前運行進程創建時間是前一天;則場景2上次運行時長=當前時間 – 當天0:00;
場景3:文件中上一次記錄動作發生在當天;系統中當前運行進程創建時間發生在當天,且小于信息記錄時間;則場景3上次運行時長=當前時間 – 信息記錄時間 + 文件中當天運行時長;
場景4:文件中上一次記錄動作發生在當天;系統中當前運行進程創建時間發生在當天,且大于信息記錄時間;則場景4上次運行時長=當前時間 – 進程創建時間 + 文件中當天運行時長;
場景5:本地無文件場景;如果進程創建時間發生在前一天,場景5上次運行時長=當前時間 - 0:00 – 定時間隔;如果進程創建時間發生在當天,場景5上次運行時長=當前時間– 當前系統最早啟動的同名進程的啟動時間 – 定時間隔。
4.根據權利要求1或3所述的一種統計多個終端軟件運行時長的方法,其特征在于,步驟S2d中,加密算法為:AES/CBC/PKCS5Padding;加密數據格式:{data:加密后數據base64編碼,dataId:dataId,appId:應用ID,serviceId:服務ID,iv:IV,key:秘鑰};TCP接收的加密數據格式為JSON,使用“@@”作為一條數據包的間隔符,請求、應答數據支持String對象的序列化。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于煜象科技(杭州)有限公司,未經煜象科技(杭州)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111238113.1/1.html,轉載請聲明來源鉆瓜專利網。





