數據上報方法、裝置及終端設備的制造方法
【專利摘要】本申請公開了一種數據上報方法、裝置及終端設備,其中,方法包括:在已有進程上加載DLL模塊;通過DLL模塊,檢測是否達到上報時機;如果達到上報時機,調用報活進程,以使報活進程上報數據,以及,在數據上報完成后,報活進程退出。通過該申請實施例,可以避免采用常駐進程進行數據上報,從而可以減少常駐進程的數量,提高系統性能。
【專利說明】
數據上報方法、裝置及終端設備
技術領域
[0001]本申請涉及計算機技術領域,尤其涉及一種數據上報方法、裝置及終端設備。
【背景技術】
[0002]隨著互聯網技術的發展,用戶電腦上安裝的軟件各式各樣。為了對軟件的相關信息(如用戶量和活躍度)進行統計,需要設計一套數據上報功能。
[0003]相關技術中,通常采用一個常駐的報活進程進行數據上報,該報活進程在上報數據后不退出,并且上報數據比較單一,就是一個字段:用戶唯一標識值。
[0004]但是,由于進行數據上報的模塊是常駐的進程,而常駐的進程會顯著消耗內存,影響系統性能。另外,上報數據單一,無法統計更多的數據信息。
【發明內容】
[0005]本申請的目的旨在至少在一定程度上解決上述的技術問題之一。
[0006]為此,本申請的第一個目的在于提出一種數據上報方法,該方法可以避免采用常駐進程進行數據上報,從而可以減少常駐進程的數量,提高系統性能。
[0007]本申請的第二個目的在于提出了一種數據上報裝置。
[0008]本申請的第三個目的在于提出了一種終端設備。
[0009]為達上述目的,根據本申請第一方面實施例提出的一種數據上報方法,包括以下步驟:在已有進程上加載DLL(Dynamic Link Library,動態鏈接庫)模塊;通過所述DLL模塊,檢測是否達到上報時機;如果達到上報時機,調用報活進程,以使所述報活進程上報數據,以及,在數據上報完成后,所述報活進程退出。
[0010]通過本申請實施例的數據上報方法,首先在已有進程上加載DLL模塊,接著通過DLL模塊檢測是否到上報時機,在達到上報時機時,調用報活進程,以使報活進程上報數據,以及在數據上報完成后報活進程退出。該方法可以避免采用常駐進程進行數據上報,從而可以減少常駐進程的數量,提高系統性能。
[0011]另外,根據本申請上述實施例的數據上報方法還可以具有如下附加的技術特征:
[0012]在一些示例中,所述數據包括:自身軟件之外的預設軟件的信息;和/或,自身軟件的自保護狀態信息。
[0013]在一些示例中,所述檢測是否達到上報時機,包括:檢測當前時間所在的時間段;判斷所述時間段與上次上報的時間段是否相差預設值;如果是,則確定達到上報時機。
[0014]在一些示例中,所述當前時間所在的時間段是當前時間所在的天數,所述預設值是一天。
[0015]在一些示例中,所述預設軟件的信息包括:預設軟件是否安裝的安裝信息。
[0016]在一些示例中,所述的方法,還包括:從系統注冊表中,獲取所述安裝信息。
[0017]在一些示例中,所述的方法,還包括:在自身軟件目錄創建任意文件;如果創建成功,則確定所述自保護狀態信息是被破壞;如果未創建成功,則確定所述自保護狀態信息是正常。
[0018]為達上述目的,根據本申請的第二方面實施例提出的一種數據上報裝置,包括:加載模塊,用于在已有進程上加載DLL模塊;檢測模塊,用于通過所述DLL模塊,檢測是否達到上報時機;調用模塊,用于在達到上報時機時,調用報活進程,以使所述報活進程上報數據,以及,在數據上報完成后,所述報活進程退出。
[0019]本申請實施例的數據上報裝置,首先加載模塊在已有進程上加載DLL模塊,接著檢測模塊通過DLL模塊檢測是否到上報時機,調用模塊在達到上報時機時,調用報活進程,以使報活進程上報數據,以及在數據上報完成后報活進程退出。該裝置可以避免采用常駐進程進行數據上報,從而可以減少常駐進程的數量,提高系統性能。
[0020]另外,根據本申請上述實施例的數據上報裝置還可以具有如下附加的技術特征:
[0021]在一些示例中,所述數據包括:非自身軟件之外的預設軟件的信息;和/或,自身軟件的自保護狀態信息。
[0022]在一些示例中,所述檢測模塊具體用于:檢測當前時間所在的時間段;判斷所述時間段與上次上報的時間段是否相差預設值;如果是,則確定達到上報時機。
[0023]在一些示例中,所述當前時間所在的時間段是當前時間所在的天數,所述預設值是一天。
[0024]在一些示例中,所述預設軟件的信息包括:預設軟件是否安裝的安裝信息。
[0025]在一些示例中,所述的裝置,還包括:獲取模塊,用于從系統注冊表中,獲取所述安裝信息。
[0026]在一些示例中,所述的裝置,還包括:創建模塊,用于在自身軟件目錄創建任意文件;如果創建成功,則確定所述自保護狀態信息是被破壞;如果未創建成功,則確定所述自保護狀態信息是正常。
[0027]為達上述目的,根據本申請的第三方面實施例提出的一種終端設備,包括:殼體、處理器、存儲器、電路板和電源電路,其中,所述電路板安置在所述殼體圍成的空間內部,所述處理器和所述存儲器設置在所述電路板上;所述電源電路,用于為終端設備的各個電路或器件供電;所述存儲器用于存儲可執行程序代碼;所述處理器通過讀取所述存儲器中存儲的可執行程序代碼來運行與所述可執行程序代碼對應的程序,以用于執行以下步驟:在已有進程上加載DLL模塊;通過所述DLL模塊,檢測是否達到上報時機;如果達到上報時機,調用報活進程,以使所述報活進程上報數據,以及,在數據上報完成后,所述報活進程退出。
[0028]通過本申請實施例的終端設備,首先在已有進程上加載DLL模塊,接著通過DLL模塊檢測是否到上報時機,在達到上報時機時,調用報活進程,以使報活進程上報數據,以及在數據上報完成后報活進程退出。該終端設備可以避免采用常駐進程進行數據上報,從而可以減少常駐進程的數量,提高系統性能。
[0029]本申請附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。
【附圖說明】
[0030]本申請的上述和/或附加的方面和優點從結合下面附圖對實施例的描述中將變得明顯和容易理解,其中:[0031 ]圖1是根據本申請一個實施例的數據上報方法的流程圖;
[0032]圖2是根據本申請一個具體實施例的數據上報方法的流程圖;
[0033]圖3是根據本申請一個另一個具體實施例的數據上報方法的流程圖;以及
[0034]圖4是根據本申請一個實施例的數據上報裝置的結構示意圖。
【具體實施方式】
[0035]下面詳細描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本申請,而不能理解為對本申請的限制。
[0036]下面參考附圖描述本申請實施例的數據上報方法、裝置及終端設備。
[0037]圖1是根據本申請一個實施例的數據上報方法的流程圖。
[0038]如圖1所示,本申請實施例數據上報方法包括以下步驟:
[0039]在步驟101中,在已有進程上加載DLL模塊。
[0040]其中,從后續流程可知,DLL模塊是用于在適當時機調起報活進程以完成數據上報的,因此該DLL模塊可以具體稱為DLL模塊。
[0041]其中,已有進程是指用于上報數據的軟件中的已有進程,用于上報數據的軟件例如是金山基礎軟件。
[0042]已有進程可以具體是上述的用于上報數據的軟件中的服務進程。
[0043]當啟動上述的軟件后,服務進程可以隨之啟動,在服務進程啟動后,可以在服務進程上加載DLL模塊。
[0044]DLL模塊可以是根據DLL算法生成的,以完成后續功能。
[0045]在步驟102中,通過DLL模塊,檢測是否達到上報時機。
[0046]其中,DLL模塊在啟動后,可以創建一個進程,該進程可以檢測當前時間所在的時間段,判斷該時間段與上次上報的時間段是否相差預設值,如果是,則確定達到上報時間。
[0047]進一步的,當前時間可以根據預設時間間隔進行檢測,例如,每隔一小時檢測一次。
[0048]上述的當前時間所在的時間段可以具體是當前時間所在的天數,例如,當前時間是5月6日的上午9點,則當前時間所在的天數是指6號。
[0049]上述的預設值可以是指I天,例如,如果上次上報是5號,經過檢測,當前時間的天數是6號,則達到上報時機。
[0050]需要說明的是,時間段和預設值,可以根據需要進行設置。
[0051]需要說明的是,如果當前時間所在的時間段與上次上報的時間段沒有相差預設值,則沒有達到上報時機。
[0052]在步驟103中,如果達到上報時機,調用報活進程,以使報活進程上報數據,以及,在數據上報完成后,報活進程退出。
[0053]其中,報活進程上報的數據也可以具體稱為活躍數據,報活進程的上報過程可以是通過http數據傳輸實現數據上傳。具體的,報活進程可以采用通常方式進行數據上報,在此不再詳細說明。
[0054]本實施例中,為了解決相關技術中,上報數據單一的問題,可以擴展上報的數據類型。
[0055]具體的,本實施例中上報的數據可以包括:
[0056]自身軟件之外的預設軟件的信息;和/或,
[0057]自身軟件的自保護狀態信息。
[0058]需要注意的是,以上僅為對數據的類型的舉例說明,本申請也適用于其他的數據,此處不再贅述。
[0059]另外,可以理解的是,本實施例上報的數據中還可以包括用戶唯一標識。
[0060]進一步的,為了上報上述數據,需要獲取相應的數據,而根據數據類型的不同,可以采用不同的獲取方式。
[0061]例如,上述的預設軟件的信息是預設軟件是否安裝的安裝信息。
[0062]進一步的,預設軟件可以是競爭對手的軟件。
[0063]相應的,參見圖2,本實施例的方法還可以包括:
[0064]在步驟201中,在已有進程上加載DLL模塊。
[0065]在步驟202中,通過DLL模塊,檢測是否達到上報時機。
[0066]在步驟203中,如果達到上報時機,調用報活進程,從系統注冊表中獲取預設軟件的安裝信息上報,以及在安裝信息上報完成后,報活進程退出。
[0067]其中,根據預設軟件的不同,可以從系統注冊表的不同項中獲取安裝信息。
[0068]舉例而言,例如上報360安全衛士是否安裝,讀取注冊表SOFTWARE\\Microsoft\\Windows\\CurrentVers1n\\Uninstall\\360安全衛士,查找360安全衛士安裝目錄,判斷安裝目錄下這三個關鍵文件是否存在〃360Saf e.exe〃,〃deepscan\\zhudongfangyu.exe〃,〃EfiMon.sys〃,都存在說時360安全衛士已經安裝。
[0069]例如,上報百度殺毒軟件是否安裝,讀取注冊表鍵值SOFTWARE\\Baidu\\BaiduSd", 〃Instal IDir〃,判斷安裝目錄下是否存在baiduau.exe,存在說時已經安裝了百度殺毒軟件。
[0070]需要說明的是,可以預留更多的軟件上報字節,方便后續添加。
[0071]又例如,當需要上報自身軟件的自保護狀態信息時,參見圖3,該方法還可以包括:
[0072]在步驟301中,在已有進程上加載DLL模塊。
[0073]在步驟302中,通過DLL模塊,檢測是否達到上報時機。
[0074]在步驟303中,如果達到上報時機,調用報活進程,在自身軟件目錄創建任意文件,如果創建成功,則確定自保護狀態信息是被破壞;或者,如果未創建成功,則確定自保護狀態信息是正常,以及在自保護狀態信息上報完成后,報活進程退出。
[0075]舉例而言,上報金山基礎模塊的自保護狀態,使用CreateFile函數在金山基礎模塊的目錄創建任意文件,創建成功時確定自保護被破壞了,反之自保護正常。例如,當自保護被破壞時,自保護狀態信息可以是I,反之自保護狀態信息為O。
[0076]本實施例中,通過在已有進程上加載DLL模塊,由DLL模塊在上報時機調起報活進程,報活進程在數據上報結束后退出,則可以使得報活進程不再是常駐進程,從而可以減少常駐進程的數量,提高系統性能。進一步的,通過上報的數據包括:自身軟件之外的預設軟件的信息;和/或,自身軟件的自保護狀態信息,可以擴展上報數據的類型,避免上報數據的單一性,從而可以方便統計到更多的數據信息。
[0077]為了實現上述實施例,本申請還提出了一種數據上報裝置,圖4是根據本申請一個實施例的數據上報裝置的結構示意圖。
[0078]如圖4所示,該數據上報裝置包括:加載模塊10、檢測模塊20和調用模塊30。
[0079]其中,加載模塊10用于在已有進程上加載DLL模塊。
[0080]其中,從后續流程可知,DLL模塊是用于在適當時機調起報活進程以完成數據上報的,因此該DLL模塊可以具體稱為DLL模塊。
[0081]其中,已有進程是指用于上報數據的軟件中的已有進程,用于上報數據的軟件例如是金山基礎軟件。
[0082]檢測模塊20用于通過DLL模塊,檢測是否達到上報時機。
[0083]其中,DLL模塊在啟動后,可以創建一個進程,該進程可以檢測當前時間所在的時間段,判斷該時間段與上次上報的時間段是否相差預設值,如果是,則確定達到上報時間。
[0084]需要說明的是,如果當前時間所在的時間段與上次上報的時間段沒有相差預設值,則沒有達到上報時機。
[0085]調用模塊30用于在達到上報時機時,調用報活進程,以使報活進程上報數據,以及,在數據上報完成后,報活進程退出。
[0086]其中,報活進程上報的數據也可以具體稱為活躍數據,報活進程的上報過程可以是通過http數據傳輸實現數據上傳。具體的,報活進程可以采用通常方式進行數據上報,在此不再詳細說明。
[0087]本實施例中,為了解決相關技術中,上報數據單一的問題,可以擴展上報的數據類型。
[0088]具體的,本實施例中上報的數據可以包括:
[0089]自身軟件之外的預設軟件的信息;和/或,
[0090]自身軟件的自保護狀態信息。
[0091]進一步的,為了上報上述數據,需要獲取相應的數據,而根據數據類型的不同,可以采用不同的獲取方式。
[0092]例如,上述的預設軟件的信息是預設軟件是否安裝的安裝信息。
[0093]該數據上報裝置還包括:獲取模塊,用于從系統注冊表中,獲取所述安裝信息。
[0094]又例如,當需要上報自身軟件的自保護狀態信息時,該數據上報裝置還包括:創建模塊,用于在自身軟件目錄創建任意文件,如果創建成功,則確定自保護狀態信息是被破壞;或者,如果未創建成功,則確定自保護狀態信息是正常。
[0095]需要說明的是,前述對數據上報方法實施例的解釋說明也適用于該實施例的數據上報裝置,其實現原理類似,此處不再贅述。
[0096]本實施例中,通過在已有進程上加載DLL模塊,由DLL模塊在上報時機調起報活進程,報活進程在數據上報結束后退出,則可以使得報活進程不再是常駐進程,從而可以減少常駐進程的數量,提高系統性能。進一步的,通過上報的數據包括:自身軟件之外的預設軟件的信息;和/或,自身軟件的自保護狀態信息,可以擴展上報數據的類型,避免上報數據的單一性,從而可以方便統計到更多的數據信息。
[0097]為了實現上述實施例,本申請還提出了一種終端設備,該終端設備包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內部,處理器和存儲器設置在電路板上;電源電路,用于為終端設備的各個電路或器件供電;存儲器用于存儲可執行程序代碼;處理器通過讀取存儲器中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,以用于執行以下步驟:
[0098]在已有進程上加載DLL模塊。
[0099]通過DLL模塊,檢測是否達到上報時機。
[0100]如果達到上報時機,調用報活進程,以使報活進程上報數據,以及,在數據上報完成后,報活進程退出。
[0101]需要說明的是,前述對數據上報方法實施例的解釋說明也適用于該實施例的終端設備,其實現原理類似,此處不再贅述。
[0102]綜上所述,本申請實施例的終端設備,首先在已有進程上加載DLL模塊,接著通過DLL模塊檢測是否到上報時機,在達到上報時機時,調用報活進程,以使報活進程上報數據,以及在數據上報完成后報活進程退出。該終端設備可以避免采用常駐進程進行數據上報,從而可以減少常駐進程的數量,提高系統性能。
[0103]在本申請的描述中,需要理解的是,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特征的數量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本申請的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
[0104]在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本申請的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結合和組合。
[0105]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現特定邏輯功能或過程的步驟的可執行指令的代碼的模塊、片段或部分,并且本申請的優選實施方式的范圍包括另外的實現,其中可以不按所示出或討論的順序,包括根據所涉及的功能按基本同時的方式或按相反的順序,來執行功能,這應被本申請的實施例所屬技術領域的技術人員所理解。
[0106]盡管上面已經示出和描述了本申請的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本申請的限制,本領域的普通技術人員在本申請的范圍內可以對上述實施例進行變化、修改、替換和變型。
【主權項】
1.一種數據上報方法,其特征在于,包括: 在已有進程上加載DLL模塊; 通過所述DLL模塊,檢測是否達到上報時機; 如果達到上報時機,調用報活進程,以使所述報活進程上報數據,以及,在數據上報完成后,所述報活進程退出。2.根據權利要求1所述的方法,其特征在于,所述數據包括: 自身軟件之外的預設軟件的信息;和/或, 自身軟件的自保護狀態信息。3.根據權利要求1所述的方法,其特征在于,所述檢測是否達到上報時機,包括: 檢測當前時間所在的時間段; 判斷所述時間段與上次上報的時間段是否相差預設值; 如果是,則確定達到上報時機。4.根據權利要求3所述的方法,其特征在于,所述當前時間所在的時間段是當前時間所在的天數,所述預設值是一天。5.根據權利要求2所述的方法,其特征在于,所述預設軟件的信息包括:預設軟件是否安裝的安裝信息。6.根據權利要求5所述的方法,其特征在于,還包括: 從系統注冊表中,獲取所述安裝信息。7.根據權利要求2所述的方法,其特征在于,還包括: 在自身軟件目錄創建任意文件; 如果創建成功,則確定所述自保護狀態信息是被破壞; 如果未創建成功,則確定所述自保護狀態信息是正常。8.一種數據上報裝置,其特征在于,包括: 加載模塊,用于在已有進程上加載DLL模塊; 檢測模塊,用于通過所述DLL模塊,檢測是否達到上報時機; 調用模塊,用于在達到上報時機時,調用報活進程,以使所述報活進程上報數據,以及,在數據上報完成后,所述報活進程退出。9.根據權利要求7所述的裝置,其特征在于,所述數據包括: 自身軟件之外的預設軟件的信息;和/或, 自身軟件的自保護狀態信息。10.根據權利要求8所述的裝置,其特征在于,所述檢測模塊具體用于: 檢測當前時間所在的時間段; 判斷所述時間段與上次上報的時間段是否相差預設值; 如果是,則確定達到上報時機。
【文檔編號】G06F9/445GK106020874SQ201610318688
【公開日】2016年10月12日
【申請日】2016年5月13日
【發明人】李文靖
【申請人】北京金山安全軟件有限公司