本公開一般涉及統(tǒng)計(jì)技術(shù)領(lǐng)域,具體涉及一種針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法和系統(tǒng)。
背景技術(shù):
統(tǒng)計(jì)屬于管理層,統(tǒng)計(jì)的對(duì)象是待管理目標(biāo)的相關(guān)數(shù)據(jù);根據(jù)統(tǒng)計(jì)結(jié)果可以實(shí)現(xiàn)目標(biāo)的統(tǒng)籌管理和優(yōu)化。例如,為了全面幫助移動(dòng)開發(fā)者實(shí)現(xiàn)數(shù)據(jù)化、精細(xì)化運(yùn)營,可以針對(duì)終端設(shè)備中移動(dòng)應(yīng)用的相關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。這樣,移動(dòng)開發(fā)者可以依據(jù)統(tǒng)計(jì)結(jié)果來評(píng)估該移動(dòng)應(yīng)用的運(yùn)行情況,并以此作為決策分析的依據(jù),使該移動(dòng)應(yīng)用提供更好的服務(wù)。
現(xiàn)有的統(tǒng)計(jì)方案中,通常可以預(yù)先根據(jù)移動(dòng)應(yīng)用的統(tǒng)計(jì)需求設(shè)置對(duì)應(yīng)的統(tǒng)計(jì)功能模塊,其中,統(tǒng)計(jì)功能模塊通過代碼來實(shí)現(xiàn),且封裝成固定的模塊。這樣,統(tǒng)計(jì)系統(tǒng)可以通過調(diào)用封裝好的統(tǒng)計(jì)功能模塊來進(jìn)行指定需求的統(tǒng)計(jì)。
事實(shí)上,隨著終端應(yīng)用技術(shù)的發(fā)展,手機(jī)應(yīng)用的統(tǒng)計(jì)需求不斷呈現(xiàn)多樣性和多變性,現(xiàn)有的統(tǒng)計(jì)方案則逐漸呈現(xiàn)靈活性差、甚至不適用的問題。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)中的上述缺陷或不足,期望提供一種能夠提高終端中應(yīng)用數(shù)據(jù)統(tǒng)計(jì)的靈活性和通用性,擴(kuò)展適用范圍的統(tǒng)計(jì)方案。
第一方面,本申請(qǐng)實(shí)施例提供了一種針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法,包括:
根據(jù)服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息,對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)進(jìn)行配置,其中,所述統(tǒng)計(jì)項(xiàng)包括:單一事件和/或含多個(gè)單一事件的流程;以及
根據(jù)統(tǒng)計(jì)項(xiàng)的當(dāng)前配置對(duì)終端中相關(guān)應(yīng)用數(shù)據(jù)進(jìn)行統(tǒng)計(jì),并上傳統(tǒng)計(jì)結(jié)果。
第二方面,本申請(qǐng)實(shí)施例還提供了一種針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)系統(tǒng),包括:
配置模塊,配置用于根據(jù)服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)進(jìn)行配置,所述統(tǒng)計(jì)項(xiàng)包括:單一事件和/或含多個(gè)單一事件的流程;以及
統(tǒng)計(jì)模塊,配置用于根據(jù)統(tǒng)計(jì)項(xiàng)的當(dāng)前配置對(duì)終端中相關(guān)應(yīng)用數(shù)據(jù)進(jìn)行統(tǒng)計(jì);
上傳模塊,配置用于上傳統(tǒng)計(jì)結(jié)果。
第三方面,本申請(qǐng)實(shí)施例還提供了一種計(jì)算機(jī)系統(tǒng),包括處理器、存儲(chǔ)器,所述存儲(chǔ)器包含可由所述處理器執(zhí)行的指令以使得所述處理器執(zhí)行本發(fā)明各實(shí)施例提供的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法。
第四方面,本申請(qǐng)實(shí)施例還提供了一種存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)程序使計(jì)算機(jī)執(zhí)行本發(fā)明各實(shí)施例提供的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法。
本申請(qǐng)實(shí)施例提供的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方案,支持單一事件,以及含多個(gè)單一事件的流程的統(tǒng)計(jì),擴(kuò)展了終端應(yīng)用的統(tǒng)計(jì)范圍,提高了終端中應(yīng)用數(shù)據(jù)統(tǒng)計(jì)的通用性;且通過服務(wù)器來動(dòng)態(tài)下發(fā)統(tǒng)計(jì)項(xiàng)的配置數(shù)據(jù),可提高終端中應(yīng)用數(shù)據(jù)統(tǒng)計(jì)的靈活性,減少開發(fā)成本。進(jìn)一步地,本申請(qǐng)的部分實(shí)施例可以對(duì)統(tǒng)計(jì)項(xiàng)進(jìn)行動(dòng)態(tài)開關(guān)以及動(dòng)態(tài)優(yōu)先級(jí)調(diào)整,以此滿足終端應(yīng)用復(fù)雜多變的統(tǒng)計(jì)需求。進(jìn)一步地,本申請(qǐng)的部分實(shí)施例可以設(shè)置靈活的數(shù)據(jù)發(fā)送策略,打消開發(fā)者對(duì)數(shù)據(jù)收集頻率和數(shù)據(jù)消耗用戶流量的擔(dān)憂。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1示出了其中可以應(yīng)用本申請(qǐng)實(shí)施例的示例性系統(tǒng)架構(gòu);
圖2示出了根據(jù)本申請(qǐng)實(shí)施例的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法的示例性流程圖;
圖3示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)系統(tǒng)的示例性結(jié)構(gòu)框圖;以及
圖4示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
請(qǐng)參考圖1,其示出了可以應(yīng)用本申請(qǐng)實(shí)施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、網(wǎng)絡(luò)103和服務(wù)器104、105、106和107。網(wǎng)絡(luò)103用以在終端設(shè)備101、102和服務(wù)器104、105、106、107之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)103可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶110可以使用終端設(shè)備101、102通過網(wǎng)絡(luò)103與服務(wù)器104、105、106、107交互,以訪問各種服務(wù),例如瀏覽網(wǎng)頁、下載數(shù)據(jù)等。終端設(shè)備101、102上可以安裝有各種客戶端應(yīng)用。
終端設(shè)備101、102可以是各種電子設(shè)備,包括但不限于個(gè)人電腦、智能手機(jī)、智能電視、平板電腦、個(gè)人數(shù)字助理、電子書閱讀器等等。
服務(wù)器104、105、106、107可以是提供各種服務(wù)的服務(wù)器。服務(wù)器可以響應(yīng)于用戶的服務(wù)請(qǐng)求而提供服務(wù)??梢岳斫?,一個(gè)服務(wù)器可以提供一種或多種服務(wù),同一種服務(wù)也可以由多個(gè)服務(wù)器來提供。
應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目僅僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
如背景技術(shù)中所提到的,現(xiàn)有技術(shù)存在通用性和靈活性差的問題,無法滿足多種多樣、以及多變的統(tǒng)計(jì)需求。
例如,手機(jī)應(yīng)用的統(tǒng)計(jì)需求場景可能不再是單一事件的統(tǒng)計(jì),而是一系列事件作為一個(gè)流程進(jìn)行統(tǒng)計(jì),比如一次用戶的購買行為統(tǒng)計(jì)可能包含多個(gè)頁面的跳轉(zhuǎn)以及多個(gè)按鈕的點(diǎn)擊行為,而且同一個(gè)統(tǒng)計(jì)流程可能會(huì)同時(shí)存在多個(gè)。然而,目前現(xiàn)有的統(tǒng)計(jì)方案僅僅支持單一事件的統(tǒng)計(jì),即適用于單一事件的統(tǒng)計(jì)需求場景,并不能支持對(duì)由多個(gè)單一事件構(gòu)成的流程的數(shù)據(jù)統(tǒng)計(jì)需求,也就存在適用范圍窄、通用性差的缺陷。
而且,一旦用戶(比如移動(dòng)應(yīng)用的開發(fā)者)的需求變更,需要新增、修改或者刪除一條統(tǒng)計(jì)項(xiàng)時(shí),現(xiàn)有的統(tǒng)計(jì)方案中,就必須將根據(jù)變更的統(tǒng)計(jì)需求對(duì)相應(yīng)的統(tǒng)計(jì)功能模塊的源代碼進(jìn)行修改,重新編譯?;蛘撸谛碌捻?xiàng)目中,由于業(yè)務(wù)需求可能完全不同,現(xiàn)有的統(tǒng)計(jì)方案中,就需要重新編寫統(tǒng)計(jì)功能模塊。重新編譯或編寫,不論從用戶的角度還是開發(fā)者自身角度來看,都存在靈活性差又浪費(fèi)資源的缺陷。
鑒于現(xiàn)有技術(shù)的上述缺陷,本申請(qǐng)實(shí)施例提供了一種針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方案,既可以支持單一事件的統(tǒng)計(jì),也可以支持由多個(gè)單一事件構(gòu)成的流程的統(tǒng)計(jì),滿足終端應(yīng)用復(fù)雜多變的統(tǒng)計(jì)需求,擴(kuò)展統(tǒng)計(jì)方案的適用范圍,提高終端中應(yīng)用數(shù)據(jù)統(tǒng)計(jì)的通用性;而且可以靈活設(shè)置與統(tǒng)計(jì)需求對(duì)應(yīng)的統(tǒng)計(jì)項(xiàng),增強(qiáng)統(tǒng)計(jì)系統(tǒng)的靈活性。將本申請(qǐng)的統(tǒng)計(jì)方案應(yīng)用于不同需求的項(xiàng)目中而無需修改移動(dòng)應(yīng)用程序,降低開發(fā)成本。
下面將結(jié)合流程圖來描述本申請(qǐng)實(shí)施例的方法。
參考圖2,其示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法的示例性流程圖。圖2所示的方法可以在圖1中的終端設(shè)備執(zhí)行。
如圖2所示,該實(shí)施例提供的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法包括:步驟210,根據(jù)服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息,對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)進(jìn)行配置;步驟220,根據(jù)統(tǒng)計(jì)項(xiàng)的當(dāng)前配置對(duì)終端中相關(guān)應(yīng)用數(shù)據(jù)進(jìn)行統(tǒng)計(jì),并上傳統(tǒng)計(jì)結(jié)果。
在步驟210中,根據(jù)服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息,對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)進(jìn)行配置。
其中,終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)可以包括:單一事件和/或含多個(gè)單一事件的流程。實(shí)際應(yīng)用中,流程所包含的多個(gè)單一事件可以屬于同一頁面或同一功能模塊;也可以跨越不同頁面、不同功能模塊。例如,一次用戶的購買行為,可能涉及到多個(gè)頁面的跳轉(zhuǎn)以及多個(gè)按鈕的點(diǎn)擊行為。因此,可以將一次用戶的購買行為當(dāng)作是一個(gè)流程;并將該流程作為一個(gè)統(tǒng)計(jì)項(xiàng)進(jìn)行統(tǒng)計(jì)。
終端從服務(wù)器接收的統(tǒng)計(jì)配置信息中包括各個(gè)統(tǒng)計(jì)項(xiàng)所對(duì)應(yīng)的id(identification,身份標(biāo)識(shí)),以及對(duì)應(yīng)的配置信息。終端從服務(wù)器接收到統(tǒng)計(jì)配置信息之后,可以根據(jù)終端應(yīng)用中待配置的統(tǒng)計(jì)項(xiàng)的id,確定統(tǒng)計(jì)配置信息中與該id對(duì)應(yīng)的配置信息;并根據(jù)確定出的配置信息對(duì)該統(tǒng)計(jì)項(xiàng)進(jìn)行相應(yīng)的配置。
步驟210中,統(tǒng)計(jì)項(xiàng)具體為單一事件時(shí),可以按照現(xiàn)有的技術(shù)方案,根據(jù)對(duì)應(yīng)的配置信息進(jìn)行配置。
考慮到流程通常有開始、結(jié)束、取消,以及向其中添加事件等操作。因此,本發(fā)明實(shí)施例中,統(tǒng)計(jì)項(xiàng)具體為流程時(shí),對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)進(jìn)行配置包括:為流程分配對(duì)應(yīng)的流對(duì)象;以及,通過流對(duì)象完成如下至少一項(xiàng)操作:開始流程、結(jié)束流程、取消流程、向流程中增加事件。
實(shí)際應(yīng)用中,使用者若想統(tǒng)計(jì)一個(gè)流程,需要先開始一個(gè)流程,終端系統(tǒng)會(huì)返回一個(gè)流對(duì)象,流對(duì)象關(guān)聯(lián)一個(gè)類似文件句柄一樣的id,用來唯一標(biāo)識(shí)一個(gè)流程。使用者可以通過該流對(duì)象向流程中增加事件,流程結(jié)束時(shí)可以通過該流對(duì)象結(jié)束流程,也可以取消流程。
由于流程所包含的事件可能跨越不同頁面不同功能模塊,因此,較佳地,流對(duì)象可以設(shè)計(jì)為內(nèi)存可序列化,以便統(tǒng)計(jì)過程中可以隨意傳送流對(duì)象。
本申請(qǐng)實(shí)施例中,應(yīng)用開發(fā)者可以根據(jù)實(shí)際需求靈活設(shè)置統(tǒng)計(jì)項(xiàng),包括單一事件或流程;并針對(duì)設(shè)置的統(tǒng)計(jì)項(xiàng)設(shè)計(jì)對(duì)應(yīng)的配置信息。繼而,將設(shè)置好的統(tǒng)計(jì)項(xiàng)及其對(duì)應(yīng)配置信息作為統(tǒng)計(jì)配置信息存于服務(wù)器。
實(shí)際應(yīng)用中,在應(yīng)用的統(tǒng)計(jì)需求發(fā)生變更時(shí)(比如,增加統(tǒng)計(jì)項(xiàng)、刪除統(tǒng)計(jì)項(xiàng)、修改統(tǒng)計(jì)項(xiàng)等),可以對(duì)服務(wù)器中的統(tǒng)計(jì)配置信息進(jìn)行調(diào)整。為了區(qū)分修改前和修改后的統(tǒng)計(jì)配置信息,可以針對(duì)統(tǒng)計(jì)配置信息設(shè)置對(duì)應(yīng)的校驗(yàn)信息,例如,可以分配版本標(biāo)識(shí);或者可以將統(tǒng)計(jì)配置信息的md5(messagedigestalgorithm,消息摘要算法)值作為校驗(yàn)信息。
本申請(qǐng)實(shí)施例中的終端可支持兩種方式來獲取服務(wù)器側(cè)的統(tǒng)計(jì)配置信息。
在一種實(shí)現(xiàn)方式中,服務(wù)器可以主動(dòng)將統(tǒng)計(jì)配置信息發(fā)送到終端。比如,在初始化階段,或者統(tǒng)計(jì)配置信息有更新時(shí),或者設(shè)定維護(hù)周期到達(dá)時(shí),服務(wù)器主動(dòng)將最新的統(tǒng)計(jì)配置信息發(fā)送給終端。
在另一種實(shí)現(xiàn)方式中,終端可以主動(dòng)向服務(wù)器請(qǐng)求獲取最新的統(tǒng)計(jì)配置信息。具體地,終端可以向服務(wù)器發(fā)送配置請(qǐng)求,以獲取最新的統(tǒng)計(jì)配置信息,其中,配置請(qǐng)求可以包括用于識(shí)別終端當(dāng)前的統(tǒng)計(jì)配置信息的校驗(yàn)消息。終端當(dāng)前的統(tǒng)計(jì)配置信息的校驗(yàn)消息可以是預(yù)先分配的版本標(biāo)識(shí),或者當(dāng)前的統(tǒng)計(jì)配置信息的md5值。這樣,服務(wù)器接收到配置請(qǐng)求后,可以先根據(jù)校驗(yàn)信息來判斷是否應(yīng)該下發(fā)新配置。
服務(wù)器確定要下發(fā)最新的統(tǒng)計(jì)配置信息的情況下,可以將最新的全量配置信息下發(fā)至終端;或者,可以確定最新的統(tǒng)計(jì)配置信息與終端當(dāng)前的統(tǒng)計(jì)配置信息之間的差異,將差異作為增量配置信息下發(fā)至終端。
因此,服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息具體為:全量配置信息或增量配置信息。
當(dāng)終端接收的統(tǒng)計(jì)配置信息具體為全量配置信息時(shí),則終端可以根據(jù)接收的全量配置信息,對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)重新配置;或者,根據(jù)接收的全量配置信息,以及當(dāng)前的統(tǒng)計(jì)配置信息,確定配置信息發(fā)生變更的統(tǒng)計(jì)項(xiàng);并根據(jù)全量配置信息中新的配置信息,對(duì)發(fā)生變更的統(tǒng)計(jì)項(xiàng)進(jìn)行重新配置。
當(dāng)終端接收的統(tǒng)計(jì)配置信息具體為增量配置信息時(shí),則終端可以確定增量配置信息所關(guān)聯(lián)的統(tǒng)計(jì)項(xiàng);并根據(jù)增量配置信息對(duì)終端中關(guān)聯(lián)的統(tǒng)計(jì)項(xiàng)進(jìn)行相應(yīng)配置的調(diào)整。
實(shí)際應(yīng)用中,調(diào)整的配置可以包括如下至少一項(xiàng):開關(guān)配置、優(yōu)先級(jí)配置。通過開關(guān)配置、優(yōu)先級(jí)配置的調(diào)整,可以及時(shí)關(guān)閉不再需要的統(tǒng)計(jì)項(xiàng),或根據(jù)場景調(diào)整統(tǒng)計(jì)項(xiàng)的優(yōu)先級(jí),實(shí)現(xiàn)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)的動(dòng)態(tài)開關(guān),以及優(yōu)先級(jí)的動(dòng)態(tài)調(diào)整,進(jìn)一步提高了終端中應(yīng)用數(shù)據(jù)統(tǒng)計(jì)的靈活性,而且使統(tǒng)計(jì)結(jié)果的更加符合開發(fā)者的復(fù)雜多變的個(gè)性化統(tǒng)計(jì)需求。其中,統(tǒng)計(jì)項(xiàng)的優(yōu)先級(jí)主要是由應(yīng)用開發(fā)者根據(jù)實(shí)際場景和重要程度來設(shè)計(jì)。
接著,在步驟220中,根據(jù)統(tǒng)計(jì)項(xiàng)的當(dāng)前配置對(duì)終端中相關(guān)應(yīng)用數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。
關(guān)于如何根據(jù)統(tǒng)計(jì)項(xiàng)的配置對(duì)終端中相關(guān)應(yīng)用數(shù)據(jù)進(jìn)行統(tǒng)計(jì),可以采用本林業(yè)常用技術(shù)手段,在此不再詳述。
最后,步驟230中,上傳統(tǒng)計(jì)結(jié)果。
考慮到統(tǒng)計(jì)項(xiàng)存在對(duì)應(yīng)優(yōu)先級(jí),因此,可以根據(jù)優(yōu)先級(jí)實(shí)施靈活的數(shù)據(jù)發(fā)送策略,根據(jù)預(yù)先設(shè)置的數(shù)據(jù)發(fā)送策略進(jìn)行統(tǒng)計(jì)結(jié)果的上傳,來打消開發(fā)者對(duì)數(shù)據(jù)收集頻率和數(shù)據(jù)消耗用戶流量的擔(dān)憂。例如,開發(fā)者可以自行配置數(shù)據(jù)的發(fā)送策略、發(fā)送間隔,并自定義發(fā)送網(wǎng)絡(luò)環(huán)境。
為了及時(shí)上傳重要的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)數(shù)據(jù),可以采用分時(shí)上傳的數(shù)據(jù)發(fā)送策略:實(shí)時(shí)上傳優(yōu)先級(jí)高于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果;以及非實(shí)時(shí)上傳優(yōu)先級(jí)低于或等于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果。其中,第一設(shè)定閾值由開發(fā)者根據(jù)經(jīng)驗(yàn)進(jìn)行設(shè)置。對(duì)于優(yōu)先級(jí)低于或等于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng),可以按照預(yù)設(shè)的發(fā)送間隔和網(wǎng)絡(luò)環(huán)境來上傳統(tǒng)計(jì)結(jié)果。
或者,可以按照優(yōu)先級(jí)降序,選擇出排序靠前的n個(gè)統(tǒng)計(jì)項(xiàng);實(shí)時(shí)上傳該n個(gè)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果;而非實(shí)時(shí)上傳其他統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果。其中n為自然數(shù)。
更優(yōu)地,為了最大化利用資源,可以實(shí)時(shí)上傳優(yōu)先級(jí)高于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果,或?qū)崟r(shí)上傳優(yōu)先級(jí)降序排列靠前的n個(gè)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果時(shí),對(duì)非實(shí)時(shí)上傳的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果進(jìn)行打包壓縮。其中,非實(shí)時(shí)上傳的統(tǒng)計(jì)項(xiàng)是指優(yōu)先級(jí)低于或等于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng),或者除優(yōu)先級(jí)降序排列靠前的n個(gè)統(tǒng)計(jì)項(xiàng)以外的統(tǒng)計(jì)項(xiàng)。
實(shí)際應(yīng)用中,非實(shí)時(shí)上傳的統(tǒng)計(jì)項(xiàng)可以按照統(tǒng)一的發(fā)送間隔來上傳統(tǒng)計(jì)結(jié)果;或者,可以根據(jù)優(yōu)先級(jí)設(shè)置不同的發(fā)送間隔。
對(duì)于優(yōu)先級(jí)低于或等于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng),或者除優(yōu)先級(jí)降序排列靠前的n個(gè)統(tǒng)計(jì)項(xiàng)以外的統(tǒng)計(jì)項(xiàng),可以預(yù)先配置與該統(tǒng)計(jì)項(xiàng)的優(yōu)先級(jí)對(duì)應(yīng)的上傳周期,其中,優(yōu)先級(jí)越高其所對(duì)應(yīng)的上傳周期越短。
為了便于描述,對(duì)于上傳周期不等的兩個(gè)非實(shí)時(shí)上傳的統(tǒng)計(jì)項(xiàng),優(yōu)先級(jí)相對(duì)較高的統(tǒng)計(jì)項(xiàng),可以簡稱為非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng);而優(yōu)先級(jí)相對(duì)較低的統(tǒng)計(jì)項(xiàng),可以簡稱為非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)。
考慮到非實(shí)時(shí)上傳的統(tǒng)計(jì)項(xiàng),在上傳周期不同的情況下,非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期小于非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng),所以很有可能會(huì)出現(xiàn)如下情形:非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期到達(dá)的時(shí)間與非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期的到達(dá)時(shí)間重合,或者到達(dá)時(shí)間的差值小于非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期。
因此,為了最大化利用資源,步驟220中,可以在非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果上傳時(shí),對(duì)齊非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果上傳。
具體地,非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期到達(dá)時(shí),查找出上傳周期到達(dá)時(shí)間與非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的到達(dá)時(shí)間相差小于或等于非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期的非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng);將查找出的非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果與非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果一起上傳發(fā)送。
例如,第一統(tǒng)計(jì)項(xiàng)的優(yōu)先級(jí)高于第一設(shè)定閾值,第二統(tǒng)計(jì)項(xiàng)、第三統(tǒng)計(jì)項(xiàng)、第四統(tǒng)計(jì)項(xiàng)的優(yōu)先級(jí)低于第一設(shè)定閾值,且優(yōu)先級(jí)按照從高到低的排序?yàn)椋旱诙y(tǒng)計(jì)項(xiàng)、第三統(tǒng)計(jì)項(xiàng)、第四統(tǒng)計(jì)項(xiàng)。第二統(tǒng)計(jì)項(xiàng)的上傳周期為5分鐘,第三統(tǒng)計(jì)項(xiàng)的上傳周期為10分鐘,第二統(tǒng)計(jì)項(xiàng)的上傳周期為15分鐘。
因此,在上傳統(tǒng)計(jì)結(jié)果時(shí),實(shí)時(shí)上傳第一統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果,并可以打包第二統(tǒng)計(jì)項(xiàng)、第三統(tǒng)計(jì)項(xiàng)、第四統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果。若第二統(tǒng)計(jì)項(xiàng)的上傳周期將在10:45到達(dá),而第三統(tǒng)計(jì)項(xiàng)的上傳周期將在10:50到達(dá),第四統(tǒng)計(jì)項(xiàng)的上傳周期將在10:45達(dá)到,那么在10:45到達(dá)時(shí),上傳第二統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果時(shí)可以對(duì)齊上傳第三統(tǒng)計(jì)項(xiàng)、第四統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果,即同時(shí)上傳第二統(tǒng)計(jì)項(xiàng)、第三統(tǒng)計(jì)項(xiàng)、第四統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果。
從上面描述可以看出,在本申請(qǐng)的實(shí)施例中,針對(duì)適用范圍窄、靈活性差的問題,提出了根據(jù)服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息支持單一事件和含多個(gè)單一事件的流程的統(tǒng)計(jì)需求的統(tǒng)計(jì)方案。這樣做不僅擴(kuò)展了統(tǒng)計(jì)范圍,而且還可以通過統(tǒng)計(jì)配置信息的變更,靈活設(shè)置終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)的配置,提高了終端應(yīng)用數(shù)據(jù)統(tǒng)計(jì)的靈活性。
進(jìn)一步參考圖3,其示出了根據(jù)本申請(qǐng)一個(gè)實(shí)施例的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)系統(tǒng)300的示例性結(jié)構(gòu)框圖。
如圖3所示,針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)系統(tǒng)300可以包括:配置模塊301、統(tǒng)計(jì)模塊302、上傳模塊303。
其中,配置模塊301配置用于根據(jù)服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息對(duì)終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)進(jìn)行配置;其中,終端中應(yīng)用的統(tǒng)計(jì)項(xiàng)包括:單一事件和/或含多個(gè)單一事件的流程。
統(tǒng)計(jì)模塊302配置用于根據(jù)統(tǒng)計(jì)項(xiàng)的當(dāng)前配置對(duì)終端中相關(guān)應(yīng)用數(shù)據(jù)進(jìn)行統(tǒng)計(jì).
上傳模塊303配置用于上傳統(tǒng)計(jì)結(jié)果。
可選地,服務(wù)器下發(fā)的統(tǒng)計(jì)配置信息具體為:全量配置信息或增量配置信息。配置模塊301配置用于根據(jù)增量配置信息對(duì)終端中關(guān)聯(lián)的統(tǒng)計(jì)項(xiàng)進(jìn)行相應(yīng)配置的調(diào)整。其中,調(diào)整的配置包括如下至少一項(xiàng):開關(guān)配置、優(yōu)先級(jí)配置。
可選地,配置模塊301還配置用于向服務(wù)器發(fā)送配置請(qǐng)求,以獲取最新的統(tǒng)計(jì)配置信息,其中,配置請(qǐng)求包括用于識(shí)別終端當(dāng)前的統(tǒng)計(jì)配置信息的校驗(yàn)消息。所述校驗(yàn)消息為md5值或者預(yù)先分配的版本標(biāo)識(shí)。
統(tǒng)計(jì)項(xiàng)具體為流程時(shí),配置模塊301配置用于為流程分配對(duì)應(yīng)的流對(duì)象;通過流對(duì)象完成如下至少一項(xiàng)操作:開始流程、結(jié)束流程、取消流程、向流程中增加事件。
為了統(tǒng)計(jì)過程中可以隨意傳送流對(duì)象,流程對(duì)應(yīng)的流對(duì)象可以設(shè)置為內(nèi)存可序列化。
可選地,上傳模塊303配置用于根據(jù)預(yù)先設(shè)置的數(shù)據(jù)發(fā)送策略進(jìn)行統(tǒng)計(jì)結(jié)果的上傳,以此打消開發(fā)者對(duì)數(shù)據(jù)收集頻率和數(shù)據(jù)消耗用戶流量的擔(dān)憂。具體地,可以實(shí)時(shí)上傳優(yōu)先級(jí)高于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果;非實(shí)時(shí)上傳優(yōu)先級(jí)低于或等于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果。或者,可以按照優(yōu)先級(jí)降序,選擇出排序靠前的n個(gè)統(tǒng)計(jì)項(xiàng);實(shí)時(shí)上傳該n個(gè)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果;而非實(shí)時(shí)上傳其他統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果。其中n為自然數(shù)。
可選地,為了最大化利用資源,上傳模塊303還可以實(shí)時(shí)上傳優(yōu)先級(jí)高于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果,或?qū)崟r(shí)上傳優(yōu)先級(jí)降序排列靠前的n個(gè)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果時(shí),對(duì)非實(shí)時(shí)上傳的統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果進(jìn)行打包壓縮。
對(duì)于優(yōu)先級(jí)低于或等于第一設(shè)定閾值的統(tǒng)計(jì)項(xiàng),或者除優(yōu)先級(jí)降序排列靠前的n個(gè)統(tǒng)計(jì)項(xiàng)以外的統(tǒng)計(jì)項(xiàng),可以預(yù)先配置與該統(tǒng)計(jì)項(xiàng)的優(yōu)先級(jí)對(duì)應(yīng)的上傳周期,其中,優(yōu)先級(jí)越高其所對(duì)應(yīng)的上傳周期越短。
進(jìn)一步地,上傳模塊303非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果上傳時(shí),對(duì)齊非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果上傳。具體地,非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期到達(dá)時(shí),查找出上傳周期到達(dá)時(shí)間與非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的到達(dá)時(shí)間相差小于或等于非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的上傳周期的非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng);將查找出的非實(shí)時(shí)的低優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果與非實(shí)時(shí)的高優(yōu)先級(jí)統(tǒng)計(jì)項(xiàng)的統(tǒng)計(jì)結(jié)果一起上傳發(fā)送。
應(yīng)當(dāng)理解,針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)系統(tǒng)300中記載的諸模塊與圖2描述的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法中的各個(gè)步驟相對(duì)應(yīng)。由此,上文針對(duì)方法描述的操作和特征同樣適用于系統(tǒng)300及其中包含的模塊,在此不再贅述。
下面參考圖4,其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的計(jì)算機(jī)系統(tǒng)400的結(jié)構(gòu)示意圖。
如圖4所示,計(jì)算機(jī)系統(tǒng)400包括中央處理單元(cpu)401,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)402中的程序或者從存儲(chǔ)部分408加載到隨機(jī)訪問存儲(chǔ)器(ram)403中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram403中,還存儲(chǔ)有系統(tǒng)400操作所需的各種程序和數(shù)據(jù)。cpu401、rom402以及ram403通過總線404彼此相連。輸入/輸出(i/o)接口405也連接至總線404。
以下部件連接至i/o接口405:包括鍵盤、鼠標(biāo)等的輸入部分406;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分407;包括硬盤等的存儲(chǔ)部分408;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分409。通信部分409經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器410也根據(jù)需要連接至i/o接口405??刹鹦督橘|(zhì)411,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器410上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分408。
特別地,根據(jù)本公開的實(shí)施例,上文參考圖2描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行圖2所示的針對(duì)終端中應(yīng)用數(shù)據(jù)的統(tǒng)計(jì)方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分409從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)411被安裝。
附圖中的流程圖和框圖,圖示了按照本發(fā)明各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元或模塊可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元或模塊也可以設(shè)置在處理器中。這些單元或模塊的名稱在某種情況下并不構(gòu)成對(duì)該單元或模塊本身的限定。
作為另一方面,本申請(qǐng)還提供了一種存儲(chǔ)有計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述系統(tǒng)中所包含的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入設(shè)備中的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者一個(gè)以上程序,所述程序被一個(gè)或者一個(gè)以上的處理器用來執(zhí)行描述于本申請(qǐng)的公式輸入方法。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。