本發(fā)明涉及軟件標識領(lǐng)域,尤其涉及一種數(shù)據(jù)采集軟件標識方法及裝置。
背景技術(shù):
在移動數(shù)據(jù)采集軟件中,根據(jù)采集內(nèi)容的不同,開發(fā)人員通常會開發(fā)不同的軟件開發(fā)工具(Software Development Kit,SDK),用來采集用戶的相關(guān)數(shù)據(jù)。
目前,可通過獲取SDK標識的方法對各個應(yīng)用程序中采集不同數(shù)據(jù)的SDK進行區(qū)分標志,進而方便開發(fā)者使用不同SDK進行數(shù)據(jù)采集。其中,用來獲取各個SDK標識的方法通常有以下幾種,如采用域名為openudid的開源方法、廣告ID的方法或者自己生成標識的方法。
雖然,通過上述獲取SDK標識的方法能夠保證應(yīng)用程序中SDK標識各自的唯一性,然而,在通過SDK進行數(shù)據(jù)采集的過程中可能存在如下問題,例如,在一個應(yīng)用程序中嵌入兩個SDK,一個用來采集用戶的行為數(shù)據(jù),另一個用來采集用戶的視頻播放數(shù)據(jù),一般情況這兩個SDK工作是相互獨立的,但這樣便導(dǎo)致無法判斷兩個SDK發(fā)出的數(shù)據(jù)是否來自同一個應(yīng)用程序,也不便于同一應(yīng)用程序中各個SDK之間進行數(shù)據(jù)共享。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種數(shù)據(jù)采集軟件標識方法及裝置,能夠保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
為達到上述目的,本發(fā)明主要提供如下技術(shù)方案:
一方面,本發(fā)明實施例提供了一種數(shù)據(jù)采集軟件標識方法,該方法包括:
確定當前正在運行的應(yīng)用程序,所述應(yīng)用程序中包含有多個正在運行 的軟件開發(fā)包SDK;
獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾;
若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識。
另一方面,本發(fā)明實施例還提供一種數(shù)據(jù)采集軟件標識裝置,該裝置包括:
確定單元,用于確定當前正在運行的應(yīng)用程序,所述應(yīng)用程序中包含有多個正在運行的軟件開發(fā)包SDK;
獲取單元,用于獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾;
配置單元,用于若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識。
本發(fā)明實施例提出的一種數(shù)據(jù)采集軟件標識方法及裝置,首先確定正在運行的應(yīng)用程序,進而獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則通過將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識,保證當前正在運行的應(yīng)用程序中的各個SDK標識的一致性,與現(xiàn)有技術(shù)的數(shù)據(jù)采集軟件標識方法相比,本發(fā)明實施例能夠保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發(fā)明實施例提供的一種數(shù)據(jù)采集軟件標識方法流程示意圖;
圖2示出了本發(fā)明實施例提供的另一種數(shù)據(jù)采集軟件標識方法流程示意圖;
圖3示出了本發(fā)明實施例提供的一種數(shù)據(jù)采集軟件標識裝置結(jié)構(gòu)示意圖;
圖4示出了本發(fā)明實施例提供的另一種數(shù)據(jù)采集軟件標識裝置結(jié)構(gòu)示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
本發(fā)明實施例提供了一種數(shù)據(jù)采集軟件標識方法,如圖1所示,所述方法包括:
101、確定當前正在運行的應(yīng)用程序,所述應(yīng)用程序中包含有多個正在運行的軟件開發(fā)包SDK。
其中,所述軟件開發(fā)包SDK一般是開發(fā)者為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件時的開發(fā)工具的集合。例如,當輔助開發(fā)某一類軟件的相關(guān)文檔、范例和工具的集合都可以叫做SDK。目前有許多SDK都是免費提供的,軟件開發(fā)者們可以通過從目標系統(tǒng)開發(fā)者那里獲得所需的軟件開發(fā)包SDK。
當用戶通過手機或者電腦運行某應(yīng)用程序時,該應(yīng)用程序中可能運行有多個軟件開發(fā)包SDK,用來采集用戶不同的關(guān)聯(lián)數(shù)據(jù),例如用于當前運行某個觀看視頻的應(yīng)用程序,則該應(yīng)用程序中的多個軟件開發(fā)包SDK可以包括有采集用戶視頻播放的數(shù)據(jù)和用戶在該網(wǎng)站操作行為的數(shù)據(jù)等等。
102、獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾。
當應(yīng)用程序開始運行后,所述應(yīng)用程序中的各個SDK也開始運行,通過在當前應(yīng)用程序的本地存儲中獲取該應(yīng)用程序中帶有唯一標識的文件夾,其中,所述唯一標識的文件夾為能夠證明該應(yīng)用程序唯一性的一個文 件夾,例如可以為以開發(fā)者所在公司網(wǎng)址或者名稱等其他有唯一標識的文件夾,在本發(fā)明實例中不做具體限定。
103、若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識。
需要說明的是,所述預(yù)置文本可以但不局限為以開發(fā)者所在公司網(wǎng)址為名稱的文本文件,在實際應(yīng)用中,該文本可為加密或者不加密的文本,所述文本內(nèi)容通常為當前應(yīng)用程序中某一軟件開發(fā)包SDK已生成的軟件標識,其表現(xiàn)形式一般為二進制或者字符串,進一步地,將所述預(yù)置文本內(nèi)容作為各個軟件開發(fā)包SDK的唯一標識,則能夠保證當前正在運行的應(yīng)用程序中各個軟件開發(fā)包SDK的一致性,從而實現(xiàn)應(yīng)用程序后臺的數(shù)據(jù)共享。
本發(fā)明實施例提出的一種數(shù)據(jù)采集軟件標識方法,首先確定正在運行的應(yīng)用程序,進而獲取所述當前正在運行的應(yīng)用程序中中帶有唯一標識的文件夾,若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則通過將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識,保證當前正在運行的應(yīng)用程序中的各個SDK標識的一致性,與現(xiàn)有技術(shù)的數(shù)據(jù)采集軟件標識方法相比,本發(fā)明實施例能夠保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
本發(fā)明實施例提供了另一種數(shù)據(jù)采集軟件標識方法,如圖2所示,所述方法包括:
201、確定當前正在運行的應(yīng)用程序,所述應(yīng)用程序中包含有多個正在運行的軟件開發(fā)包SDK。
例如,所述應(yīng)用程序為用戶手機上的APP程序,并且當前運行的APP程序中嵌入有多個正在運行的軟件開發(fā)包SDK,每個軟件開發(fā)包SDK采集的數(shù)據(jù)各不相同,但各個軟件開發(fā)包SDK的工作是相互獨立的,數(shù)據(jù)采集過程互不相關(guān)。
202、判斷所述當前正在運行的應(yīng)用程序中是否存在帶有唯一標識的文件夾,若是,則執(zhí)行步驟204,若否,則執(zhí)行步驟203。
當獲取到當前正在運行的應(yīng)用程序后,首先進行判定該應(yīng)用程序中是否存在當前應(yīng)用程序中帶有唯一標識的文件夾,本實施例中將以開發(fā)者所 在公司網(wǎng)址為名稱的文件夾作為當前應(yīng)用程序中帶有唯一標識的文件夾,由于每個互聯(lián)網(wǎng)軟件公司都有自己的網(wǎng)址,并且是唯一的區(qū)別于其他公司的網(wǎng)址,因此可以以該文件夾作為當前應(yīng)用程序中帶有唯一標識的文件夾。
203、創(chuàng)建所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,執(zhí)行步驟205b。
其中,若判斷不存在當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,則需要開發(fā)者自行創(chuàng)建當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,同理,本發(fā)明實施例對這里的帶有唯一標識的文件夾不做限制,可以為以開發(fā)者所在公司網(wǎng)址命名的文件夾,或者其他的能夠區(qū)別于其他公司的帶有唯一標識的文件夾也可。
204、獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾。
其中,若判斷存在當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,則獲取當前應(yīng)用程序中帶有唯一標識的文件夾,根據(jù)所述帶有唯一標識的文件夾進行下一步操作。
205a、若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識。
本步驟中,首先判斷當前應(yīng)用程序中帶有唯一標識的文件夾中是否攜帶有預(yù)置文本,所述預(yù)置文本為當前應(yīng)用程序中帶有唯一標識的文件夾中的文本文件,本實施例中將以開發(fā)者所在公司網(wǎng)址命名的文本文件作為預(yù)置文本。
若所述帶有唯一標識的文件夾中攜帶有以開發(fā)者所在公司網(wǎng)址命名的文件文本,并且將所述文件文本配置為各個軟件開發(fā)包SDK的唯一標識,所述文件文本的內(nèi)容通常為字符串或二進制的格式。本實施例通過將該文件文本內(nèi)容配置給各個軟件開發(fā)包SDK,進而保證當前應(yīng)用程序中的各個SDK的標識一致性。
205b、若所述帶有唯一標識的文件夾中不存在所述預(yù)置文本,則各個軟件開發(fā)包SDK采用統(tǒng)一的SDK標識生成算法生所述預(yù)置文本。
本步驟中,若所述帶有唯一標識的文件夾中不存在所述預(yù)置文本,則說明所述帶有唯一標識的文件夾中不存在攜帶有以開發(fā)者所在公司網(wǎng)址命 名的文本文件,則需要各個軟件開發(fā)包SDK采用統(tǒng)一的軟件開發(fā)包SDK標識生成算法自行生成預(yù)置文本,并將該預(yù)置文本的內(nèi)容作為各個軟件開發(fā)包SDK的唯一標識。
通常采用的軟件開發(fā)包SDK標識生成算法包括有以下幾種:在IOS系統(tǒng)上采用使用域名為openudid的開源方法或廣告ID的方法;在安卓系統(tǒng)上采用設(shè)備ID的方法、Mac地址的方法或藍牙jianc地址的方法。
本發(fā)明實施例提出的一種數(shù)據(jù)采集軟件標識方法,首先確定正在運行的應(yīng)用程序,進而獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則通過將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識,保證當前正在運行的應(yīng)用程序中的各個SDK標識的一致性,與現(xiàn)有技術(shù)的數(shù)據(jù)采集軟件標識方法相比,本發(fā)明實施例能夠保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
另外,本實施例通過將當前應(yīng)用程序中各個軟件開發(fā)包SDK標識統(tǒng)一,打通各個軟件開發(fā)包SDK的通信渠道,進而方便各個軟件開發(fā)包SDK的關(guān)聯(lián)數(shù)據(jù)傳輸。
進一步地,作為圖1所示方法的具體實現(xiàn),本發(fā)明實施例提供一種數(shù)據(jù)采集軟件標識裝置,該裝置實施例與前述方法實施例對應(yīng),為便于閱讀,本裝置不在對前述方法實施例中的細節(jié)內(nèi)容進行逐一贅述,但應(yīng)當明確,本實施例中的裝置能夠?qū)?yīng)實現(xiàn)前述方法實施例中的全部內(nèi)容,如圖3所示,所述裝置包括:確定單元31、獲取單元32、配置單元33。
所述確定單元31,用于確定當前正在運行的應(yīng)用程序,所述應(yīng)用程序中包含有多個正在運行的軟件開發(fā)包SDK;
所述獲取單元32,用于獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾;
所述配置單元33,用于若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識。
本發(fā)明實施例提出的一種數(shù)據(jù)采集軟件標識裝置,首先確定正在運行的應(yīng)用程序,進而獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文 件夾,若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則通過將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識,保證當前正在運行的應(yīng)用程序中的各個SDK標識的一致性,與現(xiàn)有技術(shù)的數(shù)據(jù)采集軟件標識方法相比,本發(fā)明實施例能夠保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
進一步地,作為圖2所示方法的具體實現(xiàn),本發(fā)明實施例提供另一種數(shù)據(jù)采集軟件標識裝置,該裝置實施例與前述方法實施例對應(yīng),為便于閱讀,本裝置不在對前述方法實施例中的細節(jié)內(nèi)容進行逐一贅述,但應(yīng)當明確,本實施例中的裝置能夠?qū)?yīng)實現(xiàn)前述方法實施例中的全部內(nèi)容,如圖4所示,所述裝置還包括:生成單元34。
所述生成單元34,用于若所述帶有唯一標識的文件夾中不存在所述預(yù)置文本,則各個軟件開發(fā)包SDK采用統(tǒng)一的SDK標識生成算法生所述預(yù)置文本。
所述獲取單元32,具體包括:
判斷模塊,用于判斷所述當前正在運行的應(yīng)用程序中是否存在帶有唯一標識的文件夾;
獲取模塊,用于若所述當前正在運行的應(yīng)用程序中存在所述帶有唯一標識的文件夾,則獲取所述當前正在運行的應(yīng)用程序中存在所述帶有唯一標識的文件夾;
創(chuàng)建模塊,用于若所述當前正在運行的應(yīng)用程序中不存在所述帶有唯一標識的文件夾,則創(chuàng)建所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾。
本發(fā)明實施例提出的另一種數(shù)據(jù)采集軟件標識裝置,首先確定正在運行的應(yīng)用程序,進而獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾,若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則通過將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識,保證當前正在運行的應(yīng)用程序中的各個SDK標識的一致性,與現(xiàn)有技術(shù)的數(shù)據(jù)采集軟件標識方法相比,本發(fā)明實施例能夠保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
另外,本實施例通過將當前應(yīng)用程序中各個軟件開發(fā)包SDK標識統(tǒng)一,打通各個軟件開發(fā)包SDK的通信渠道,進而方便各個軟件開發(fā)包SDK的關(guān)聯(lián)數(shù)據(jù)傳輸。
所述數(shù)據(jù)采集軟件標識裝置包括處理器和存儲器,上述確定單元31、獲取單元32、配置單元33等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元來實現(xiàn)相應(yīng)的功能。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來保證同一應(yīng)用程序中的各個SDK標識的一致性,從而方便各個SDK之間進行數(shù)據(jù)共享。
存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產(chǎn)品,當在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:確定當前正在運行的應(yīng)用程序,所述應(yīng)用程序中包含有多個正在運行的軟件開發(fā)包SDK;獲取所述當前正在運行的應(yīng)用程序中帶有唯一標識的文件夾;若所述帶有唯一標識的文件夾中攜帶有預(yù)置文本,則將所述預(yù)置文本內(nèi)容配置為各個軟件開發(fā)包SDK的唯一標識。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個 機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。存儲器是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
以上僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技 術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。