亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法和裝置與流程

文檔序號:11230449閱讀:451來源:國知局
一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法和裝置與流程

本申請涉及云平臺技術(shù)領(lǐng)域,特別是涉及一種基于云平臺的客戶端應(yīng)用的信息方法和一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計裝置。



背景技術(shù):

目前,對客戶端應(yīng)用進(jìn)行信息統(tǒng)計的技術(shù)方案,通常采用類方法的注解或者通過配置文件的方式聲明面向切面編程(aspectorientedprogramming,aop)攔截。具體流程圖如圖1所示,客戶端應(yīng)用通過需要通過注解或者通過spring(一個開源框架)的aop配置文件配置代理,由代理對客戶端應(yīng)用的執(zhí)行方法進(jìn)行攔截,訪問到某個配置為被攔截的執(zhí)行方法后,記錄訪問到的執(zhí)行方法,將攔截到執(zhí)行方法的次數(shù)進(jìn)行匯總。

現(xiàn)有的通過代理攔截的方式收集客戶端應(yīng)用的信息,代理攔截的對象是預(yù)先針對某種場景定制的,無法根據(jù)實(shí)際需求進(jìn)行調(diào)整。并且,代理攔截只能攔截客戶端應(yīng)用的執(zhí)行方法,對于與執(zhí)行方法相關(guān)的參數(shù)或者數(shù)據(jù)無法攔截得到,這種情況下對代理攔截得到的攔截結(jié)果無法進(jìn)一步利用,代理攔截結(jié)果的利用轉(zhuǎn)化率不高。



技術(shù)實(shí)現(xiàn)要素:

鑒于上述問題,提出了本申請實(shí)施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法和相應(yīng)的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計裝置。

為了解決上述問題,本申請公開了一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法,包括:

監(jiān)聽各個客戶端應(yīng)用調(diào)用埋點(diǎn)軟件開發(fā)工具包創(chuàng)建的埋點(diǎn)日志,并從所述埋點(diǎn)日志中提取出埋點(diǎn)信息,所述埋點(diǎn)日志根據(jù)預(yù)先定義的埋點(diǎn)屬性創(chuàng)建,所述客戶端應(yīng)用通過調(diào)用所述埋點(diǎn)軟件開發(fā)工具包的應(yīng)用編程接口預(yù)先定義所述埋點(diǎn)屬性;

按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合;

根據(jù)查詢請求查詢并展示聚合后的埋點(diǎn)信息。

優(yōu)選地,所述埋點(diǎn)屬性包括所述埋點(diǎn)信息的埋點(diǎn)類別和/或埋點(diǎn)關(guān)鍵字,所述埋點(diǎn)類別包括所述埋點(diǎn)信息所屬埋點(diǎn)父類別或埋點(diǎn)子類別。

優(yōu)選地,所述監(jiān)聽各個客戶端應(yīng)用調(diào)用埋點(diǎn)軟件開發(fā)工具包創(chuàng)建的埋點(diǎn)日志包括:

監(jiān)聽所述埋點(diǎn)日志的目錄和/或所述埋點(diǎn)信息的變化狀態(tài);

若所述目錄和/或所述埋點(diǎn)信息發(fā)生變化,則確定所述埋點(diǎn)日志中新增埋點(diǎn)信息。

優(yōu)選地,所述從所述埋點(diǎn)日志中提取出埋點(diǎn)信息包括:

從所述埋點(diǎn)日志中以增量方式提取出埋點(diǎn)信息。

優(yōu)選地,在從所述埋點(diǎn)日志中提取出埋點(diǎn)信息之后,所述方法還包括:

將所述埋點(diǎn)信息發(fā)送至消息中間件,所述消息中間件用于傳輸所述埋點(diǎn)信息,并控制傳輸速度;

在所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合之前,所述方法還包括:

從所述消息中間件讀取出所述埋點(diǎn)信息。

優(yōu)選地,在所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合之前,所述方法還包括:

篩選與所述埋點(diǎn)屬性對應(yīng)的埋點(diǎn)信息。

優(yōu)選地,所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合包括:

按照應(yīng)用維度和/或時間維度對所述埋點(diǎn)信息進(jìn)行聚合。

優(yōu)選地,所述查詢請求攜帶通過查詢接口輸入的查詢參數(shù);

所述根據(jù)查詢請求查詢并展示聚合后的埋點(diǎn)信息包括:

根據(jù)所述查詢參數(shù)查詢并展示聚合后的埋點(diǎn)信息;所述查詢參數(shù)包括時間段、所述埋點(diǎn)屬性和所述客戶端應(yīng)用的應(yīng)用標(biāo)識中至少一種。

本申請還公開了一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計裝置,包括:

埋點(diǎn)日志監(jiān)聽模塊,用于監(jiān)聽各個客戶端應(yīng)用調(diào)用埋點(diǎn)軟件開發(fā)工具 包創(chuàng)建的埋點(diǎn)日志;

埋點(diǎn)信息提取模塊,用于從所述埋點(diǎn)日志中提取出埋點(diǎn)信息,所述埋點(diǎn)日志根據(jù)預(yù)先定義的埋點(diǎn)屬性創(chuàng)建,所述客戶端應(yīng)用通過調(diào)用所述埋點(diǎn)軟件開發(fā)工具包的應(yīng)用編程接口預(yù)先定義所述埋點(diǎn)屬性;

埋點(diǎn)信息聚合模塊,用于按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合;

埋點(diǎn)信息展示模塊,用于根據(jù)查詢請求查詢并展示聚合后的埋點(diǎn)信息。

優(yōu)選地,所述埋點(diǎn)屬性包括所述埋點(diǎn)信息的埋點(diǎn)類別和/或埋點(diǎn)關(guān)鍵字,所述埋點(diǎn)類別包括所述埋點(diǎn)信息所屬埋點(diǎn)父類別或埋點(diǎn)子類別。

優(yōu)選地,所述埋點(diǎn)日志監(jiān)聽模塊,具體用于監(jiān)聽所述埋點(diǎn)日志的目錄和/或所述埋點(diǎn)信息的變化狀態(tài);若所述目錄和/或所述埋點(diǎn)信息發(fā)生變化,則確定所述埋點(diǎn)日志中新增埋點(diǎn)信息。

優(yōu)選地,所述埋點(diǎn)信息讀取模塊,具體用于從所述埋點(diǎn)日志中以增量方式讀取出埋點(diǎn)信息。

優(yōu)選地,所述裝置還包括:

埋點(diǎn)信息發(fā)送模塊,用于在所述從所述埋點(diǎn)日志中提取出埋點(diǎn)信息之后,將所述埋點(diǎn)信息發(fā)送至消息中間件,所述消息中間件用于傳輸所述埋點(diǎn)信息,并控制傳輸速度;

所述裝置還包括:

埋點(diǎn)信息提取模塊,用于在所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合之前,從所述消息中間件讀取出所述埋點(diǎn)信息。

優(yōu)選地,所述裝置還包括:

埋點(diǎn)信息篩選模塊,用于在所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合之前,篩選與所述埋點(diǎn)屬性對應(yīng)的埋點(diǎn)信息。

優(yōu)選地,所述埋點(diǎn)信息聚合模塊,具體用于按照應(yīng)用維度和/或時間維度對所述埋點(diǎn)信息進(jìn)行聚合。

優(yōu)選地,所述查詢請求攜帶通過查詢接口輸入的查詢參數(shù);

所述埋點(diǎn)信息展示模塊,具體用于根據(jù)所述查詢參數(shù)查詢并聚合后的埋點(diǎn)信息;所述查詢參數(shù)包括時間段、所述埋點(diǎn)屬性和所述客戶端應(yīng)用的應(yīng)用 標(biāo)識中至少一種。

本申請實(shí)施例包括以下優(yōu)點(diǎn):

本申請實(shí)施例基于云平臺,對客戶端應(yīng)用調(diào)用埋點(diǎn)軟件開發(fā)工具包(softwaredevelopmentkit,sdk)中的應(yīng)用編程接口(applicationprogramminginterface,api)所創(chuàng)建的埋點(diǎn)日志進(jìn)行監(jiān)聽,從埋點(diǎn)日志中讀取出埋點(diǎn)信息,并針對用戶的查詢請求查詢并展示按照不同的維度聚合后的埋點(diǎn)信息進(jìn)行查詢并展示。本申請實(shí)施例可以通過sdk埋點(diǎn)中的api自定義埋點(diǎn),由于支持不同應(yīng)用場景下根據(jù)用戶需求自定義收集客戶端應(yīng)用相關(guān)數(shù)據(jù),擴(kuò)大了針對客戶端應(yīng)用的信息收集范圍,并提高了收集結(jié)果的利用轉(zhuǎn)化率;而且,對從埋點(diǎn)日志中讀取出的埋點(diǎn)信息按不同維度進(jìn)行聚合,實(shí)現(xiàn)了對客戶端應(yīng)用的收集結(jié)果進(jìn)行分類統(tǒng)計。

附圖說明

圖1是背景技術(shù)中客戶端應(yīng)用的信息統(tǒng)計流程示意圖;

圖2是本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例的步驟流程圖;

圖3是本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例中l(wèi)ogagent的結(jié)構(gòu)示意圖;

圖4是本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例中聚合系統(tǒng)的結(jié)構(gòu)示意圖;

圖5是本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例中消息中間件、jstorm和聚合系統(tǒng)之間的關(guān)系示意圖;

圖6是本申請的另一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例的步驟流程圖;

圖7是本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例的系統(tǒng)結(jié)構(gòu)邏輯示意圖;

圖8是本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計裝置實(shí)施例的結(jié)構(gòu)框圖。

具體實(shí)施方式

為使本申請的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對本申請作進(jìn)一步詳細(xì)的說明。

本申請實(shí)施例的核心構(gòu)思之一在于,提供一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法,可以應(yīng)用于服務(wù)器端,服務(wù)器端提供埋點(diǎn)sdk,客戶端應(yīng)用調(diào)用埋點(diǎn)sdk中的api自定義埋點(diǎn),服務(wù)器端對埋點(diǎn)日志進(jìn)行系統(tǒng)化監(jiān)聽,通過智能代理收集并自動、實(shí)時的聚合埋點(diǎn)日志中的消息,并對聚合結(jié)果進(jìn)行查詢和展示,實(shí)現(xiàn)對客戶端應(yīng)用的信息收集和統(tǒng)計。

參照圖2,示出了本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟100,監(jiān)聽各個客戶端應(yīng)用調(diào)用埋點(diǎn)軟件開發(fā)工具包創(chuàng)建的埋點(diǎn)日志,并從所述埋點(diǎn)日志中提取出埋點(diǎn)信息,所述埋點(diǎn)日志根據(jù)預(yù)先定義的埋點(diǎn)屬性創(chuàng)建,所述客戶端應(yīng)用通過調(diào)用所述埋點(diǎn)軟件開發(fā)工具包的應(yīng)用編程接口預(yù)先定義所述埋點(diǎn)屬性。

埋點(diǎn)軟件開發(fā)工具包sdk由服務(wù)器端提供給客戶端應(yīng)用,由埋點(diǎn)軟件開發(fā)工具包生成埋點(diǎn)日志,埋點(diǎn)日志是一種特定的日志文件,用于記錄采集的埋點(diǎn)信息。具體而言,在埋點(diǎn)軟件開發(fā)工具包自定義埋點(diǎn)屬性,通過自定義埋點(diǎn)屬性,由埋點(diǎn)軟件開發(fā)工具包將客戶端應(yīng)用運(yùn)行過程中的每一條與上述自定義的埋點(diǎn)屬性相關(guān)的埋點(diǎn)消息存儲到埋點(diǎn)日志中。

其中,埋點(diǎn)屬性可以在埋點(diǎn)軟件開發(fā)工具包預(yù)先定義或是通過客戶端應(yīng)用自定義。例如,埋點(diǎn)sdk可以以jar包的方式提供給客戶端應(yīng)用使用,對于java客戶端應(yīng)用,java客戶端應(yīng)用需要依賴埋點(diǎn)sdk的jar包自定義埋點(diǎn)。具體的,客戶端應(yīng)用可以通過訪問埋點(diǎn)sdk中提供的應(yīng)用編程接口api,配置用于創(chuàng)建埋點(diǎn)日志的埋點(diǎn)屬性,以根據(jù)埋點(diǎn)屬性采集的埋點(diǎn)信息,由于支持不同應(yīng)用場景下根據(jù)用戶需求自定義收集客戶端應(yīng)用相關(guān)數(shù)據(jù),擴(kuò)大了針對客戶端應(yīng)用的信息收集范圍,并提高了收集結(jié)果的利用轉(zhuǎn)化率。

具體實(shí)現(xiàn)中,還可以預(yù)先通過sdk定義埋點(diǎn)日志的名稱、存儲路徑等信息。

其中,所述埋點(diǎn)屬性可以包括所述埋點(diǎn)類別、埋點(diǎn)關(guān)鍵字中至少一種。

所述埋點(diǎn)屬性可以包括埋點(diǎn)類別,例如在云平臺中部署的客戶端應(yīng)用如果想進(jìn)行壓力測試,用戶想知道在應(yīng)用維度下整個云平臺系統(tǒng)的壓力情況,可以通過自定義埋點(diǎn)類別為用戶查詢,可以根據(jù)埋點(diǎn)類別獲取記錄的各次用戶查詢,以進(jìn)一步根據(jù)各次用戶查詢統(tǒng)計出云平臺系統(tǒng)的最大qps(每秒查詢率)。

對所述埋點(diǎn)類別還可以進(jìn)行分級,包括將所述埋點(diǎn)類別分為所述埋點(diǎn)信息所屬埋點(diǎn)父類別(category)或埋點(diǎn)子類別(subcategory),也就是通過對埋點(diǎn)類別定義父與子的關(guān)系,實(shí)現(xiàn)對獲取的埋點(diǎn)信息的分類統(tǒng)計。例如,需要對一個客戶端應(yīng)用的對數(shù)據(jù)庫調(diào)用的多種執(zhí)行方法進(jìn)行分析,則可以對該數(shù)據(jù)庫調(diào)用定義埋點(diǎn)父類別,對具體的各種執(zhí)行方法定義埋點(diǎn)子類別。

埋點(diǎn)屬性可以包括埋點(diǎn)關(guān)鍵字,通過客戶端應(yīng)用定義所需收集的埋點(diǎn)關(guān)鍵字,進(jìn)一步獲取與埋點(diǎn)關(guān)鍵字相關(guān)的埋點(diǎn)信息。例如,對客戶端應(yīng)用的多個運(yùn)行參數(shù)進(jìn)行分析,則可以通過分別定義sdk埋點(diǎn)的埋點(diǎn)關(guān)鍵字,以區(qū)分各個運(yùn)行參數(shù)。埋點(diǎn)關(guān)鍵字可以與埋點(diǎn)類別結(jié)合定義,例如,一個客戶端應(yīng)用部署在云環(huán)境中的10臺虛擬機(jī)上,可以通過定義sdk埋點(diǎn)的埋點(diǎn)關(guān)鍵字,區(qū)分出每臺虛擬機(jī)的cpu(中央處理器)、memory(內(nèi)存)、disk(硬盤)等運(yùn)行參數(shù)。具體的,對每臺虛擬機(jī)定義埋點(diǎn)類別,對各臺虛擬機(jī)的運(yùn)行參數(shù)定義在該埋點(diǎn)類別下的埋點(diǎn)關(guān)鍵字。

所述埋點(diǎn)屬性還可以包括對目標(biāo)對象的調(diào)用耗時和調(diào)用成功標(biāo)識等,分別用于表示客戶端應(yīng)用的某個目標(biāo)對象(例如某個執(zhí)行方法)的調(diào)用耗時,,以及該目標(biāo)對象是否成功調(diào)用。以將調(diào)用耗時和調(diào)用是否成功等信息記錄入埋點(diǎn)日志中,供分析使用。

具體而言,api接口的名稱為logstat,可以對埋點(diǎn)類別、埋點(diǎn)子類別、埋點(diǎn)關(guān)鍵字、調(diào)用耗時、調(diào)用是否成功中至少一種進(jìn)行定義。當(dāng)對埋點(diǎn)類別和埋點(diǎn)子類別進(jìn)行定義時,埋點(diǎn)sdk記錄本次結(jié)果為logstat(stringcategory,subcategory);當(dāng)對埋點(diǎn)類別、埋點(diǎn)子類別和調(diào)用耗時進(jìn)行定義時,埋點(diǎn)sdk 記錄本次結(jié)果為logstat(stringcategory,subcategory,longresponsetime);當(dāng)對埋點(diǎn)類別、埋點(diǎn)關(guān)鍵字、調(diào)用耗時和調(diào)用是否成功進(jìn)行定義時,埋點(diǎn)sdk記錄本次結(jié)果為logstat(stringcategory,stringkeyword,longresponsetime,booleansuccess)。

以對執(zhí)行方法的相關(guān)參數(shù)進(jìn)行收集為例進(jìn)行具體說明。假設(shè)sdk提供的api接口的具體類為monitorservice,api接口的名稱為monitorservicelogstat,客戶端應(yīng)用中存在對mysql數(shù)據(jù)庫的操作,方法名分別為insertmethod方法和updatemethod方法?,F(xiàn)需要統(tǒng)計這兩個方法在應(yīng)用運(yùn)行中每分鐘調(diào)用的次數(shù),那么在使用埋點(diǎn)sdk記錄方法被調(diào)用一次時,假設(shè)父類別(category)設(shè)為mysql,子類別(subcategory)分別定義為insert和update。對于insertmethod方法的埋點(diǎn),舉例如下:

在不需要記錄方法調(diào)用耗時的情況下,埋點(diǎn)sdk記錄本次結(jié)果為monitorservice.logstat(”mysql”,”insert”)。

如需要記錄insertmethod方法執(zhí)行耗時,則用記錄的insertmethod方法的結(jié)束時間減去開始時間就是insertmethod方法的執(zhí)行時間,假設(shè)為10毫秒,則埋點(diǎn)sdk記錄的結(jié)果為monitorservice.logstat(”mysql”,”insert”,”10”)。

如需記錄調(diào)用是否成功,則記錄結(jié)果為monitorservice.logstat(”mysql”,”insert”,”10”,”true”)表示調(diào)用成功,monitorservice.logstat(”mysql”,”insert”,”10”,”false”)表示調(diào)用失敗。對于updatemethod的埋點(diǎn)同理使用。

監(jiān)聽埋點(diǎn)日志可以是監(jiān)聽埋點(diǎn)日志的變化,以發(fā)現(xiàn)新增的埋點(diǎn)信息。針對具備日志目錄的埋點(diǎn)日志,可以監(jiān)聽埋點(diǎn)日志目錄的變化,當(dāng)目錄發(fā)生變化時確定新增了埋點(diǎn)信息,或是監(jiān)聽埋點(diǎn)信息的變化,當(dāng)埋點(diǎn)信息發(fā)生變化時確定新增了埋點(diǎn)信息,或是結(jié)合兩種方式進(jìn)行監(jiān)聽。

所述步驟100可以利用logagent(日志代理)對埋點(diǎn)日志進(jìn)行監(jiān)聽,logagent用于監(jiān)聽埋點(diǎn)日志,具體可以劃分為如下幾個模塊:pathwatch(目錄監(jiān)聽),用于監(jiān)聽埋點(diǎn)日志的目錄變化;filewatch(文件監(jiān)聽),用于監(jiān)聽 埋點(diǎn)日志的埋點(diǎn)信息變化;watchchecker(監(jiān)聽限制),用于對監(jiān)聽埋點(diǎn)日志中的埋點(diǎn)信息的數(shù)量做限制;logseeker(日志探索),用于實(shí)現(xiàn)增量讀取埋點(diǎn)日志中的埋點(diǎn)信息。應(yīng)用到本申請,利用logagent對埋點(diǎn)日志進(jìn)行監(jiān)聽,具體可以通過pathwatch監(jiān)聽埋點(diǎn)日志的目錄變化狀態(tài),若目錄變化,則表示埋點(diǎn)日志中新增埋點(diǎn)信息。對埋點(diǎn)日志的監(jiān)聽,不僅包括對埋點(diǎn)日志的目錄的監(jiān)聽,還包括在pathwatch監(jiān)聽埋點(diǎn)日志的目錄變化狀態(tài)的基礎(chǔ)上,進(jìn)一步通過filewatch對埋點(diǎn)日志中埋點(diǎn)信息的監(jiān)聽,并且,監(jiān)聽過程中還可以利用watchchecker對監(jiān)聽的埋點(diǎn)信息的數(shù)量進(jìn)行限制,在通過filewatch監(jiān)聽到埋點(diǎn)日志中的埋點(diǎn)信息變化后,利用logseeker實(shí)現(xiàn)增量的方式讀取埋點(diǎn)信息,logagent的結(jié)構(gòu)示意圖如圖3所示。

所述步驟100中從埋點(diǎn)日志中讀取出埋點(diǎn)信息,具體可以從埋點(diǎn)日志中以增量方式讀取出埋點(diǎn)信息。例如,埋點(diǎn)日志為xx.log文件,其中的每條埋點(diǎn)信息以段為單位順序排列,埋點(diǎn)日志中每增加一段內(nèi)容,則認(rèn)為增加一條埋點(diǎn)信息,在讀取埋點(diǎn)信息時,忽略已讀取的埋點(diǎn)信息,僅讀取新增的埋點(diǎn)信息,由于無需讀取整個埋點(diǎn)日志,可以減少處理的數(shù)據(jù)量。

在本申請的一個優(yōu)選的實(shí)施例中,在所述步驟100從埋點(diǎn)日志讀取埋點(diǎn)信息之后,還可以將讀取出的埋點(diǎn)信息發(fā)送至消息中間件。所述消息中間件可以為metaq(隊(duì)列模型消息中間件)或者kafka(分布式發(fā)布訂閱消息系統(tǒng)),所述消息中間件用于傳輸埋點(diǎn)信息,同時利用消息中間件的消息堆積功能,控制埋點(diǎn)信息的傳輸速度。相應(yīng)的,在對埋點(diǎn)信息進(jìn)行處理之前,需要先從消息中間件提取出埋點(diǎn)信息。

步驟102,按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合。

在得到埋點(diǎn)信息之后,可以按照從至少一個維度分別對埋點(diǎn)信息進(jìn)行聚合,實(shí)現(xiàn)了對客戶端應(yīng)用的收集結(jié)果進(jìn)行分類統(tǒng)計。例如,從應(yīng)用維度和時間維度進(jìn)行聚合,最終提供最小粒度為1分鐘的某客戶端應(yīng)用的聚合信息,即屬于某客戶端應(yīng)用的時間維度的最小單位為1分鐘的聚合信息。

可以預(yù)先在服務(wù)器端部署的一套用于聚合埋點(diǎn)日志中的埋點(diǎn)信息的聚合系統(tǒng),對埋點(diǎn)信息的聚合操作可以在聚合系統(tǒng)中執(zhí)行,聚合系統(tǒng)的結(jié)構(gòu)如 圖4所示。在聚合系統(tǒng)中可以利用數(shù)據(jù)接收器接收聚合信息;利用數(shù)據(jù)分析器分析聚合信息,并存入數(shù)據(jù)庫;數(shù)據(jù)庫用于存儲經(jīng)過分析的聚合信息據(jù),還可以提供數(shù)據(jù)查詢接口,用于查詢聚合信息。采用聚合系統(tǒng)進(jìn)行數(shù)據(jù)聚合處理可以保證數(shù)據(jù)處理的實(shí)時性和準(zhǔn)確性。

其中,按照時間維度對埋點(diǎn)信息進(jìn)行聚合,具體可以根據(jù)埋點(diǎn)信息對應(yīng)的時間點(diǎn)或時間段,將屬于相同時間點(diǎn)或者相同時間段的多條埋點(diǎn)信息聚合在一起,作為該相同時間點(diǎn)或相同時間段內(nèi)的聚合信息;按照應(yīng)用維度對埋點(diǎn)信息進(jìn)行聚合,具體可以根據(jù)埋點(diǎn)信息對應(yīng)的客戶端應(yīng)用的標(biāo)識,將屬于相同客戶端應(yīng)用的多條埋點(diǎn)信息聚合在一起,作為該相同客戶端應(yīng)用的聚合信息。其中,多條埋點(diǎn)信息可以為同一客戶端應(yīng)用的埋點(diǎn)信息,也可以為不同客戶端應(yīng)用的埋點(diǎn)信息。

由于埋點(diǎn)日志中除了實(shí)際有用的埋點(diǎn)信息之外,還包括一些冗余的信息。因此,在本申請的一個優(yōu)選的實(shí)施例中,在所述步驟102之前,還可以對讀取出的埋點(diǎn)信息進(jìn)行清洗和過濾。通過清洗刪除一些無意義的字符或是標(biāo)記,例如分隔符等,通過過濾可以從剩余的信息中提取出有用的埋點(diǎn)信息,具體的,可以根據(jù)埋點(diǎn)屬性中的埋點(diǎn)類別和埋點(diǎn)關(guān)鍵字中至少一種進(jìn)行篩選。

具體的,可以利用實(shí)時計算框架讀取出埋點(diǎn)信息以及對埋點(diǎn)信息的清洗和過濾。例如可以采用jstorm實(shí)時計算框架,利用jstorm提取出與埋點(diǎn)屬性對應(yīng)的埋點(diǎn)信息。jstorm是參考storm的實(shí)時流式計算框架,在網(wǎng)絡(luò)輸入輸出、線程模型、資源調(diào)度、可用性及穩(wěn)定性上做了持續(xù)改進(jìn),相比于storm具有運(yùn)行更穩(wěn)定、調(diào)度功能更強(qiáng)大、執(zhí)行效率更高等優(yōu)點(diǎn)。如圖5所示,示出了消息中間件、jstorm和聚合系統(tǒng)之間的關(guān)系示意圖,jstorm從消息中間件獲取埋點(diǎn)信息,在jstorm中經(jīng)過spout(噴射)進(jìn)行清洗,通過bolt(篩選)進(jìn)行過濾,將清洗和過濾后的與埋點(diǎn)關(guān)鍵字對應(yīng)的埋點(diǎn)信息發(fā)送至聚合系統(tǒng)。

步驟104,根據(jù)查詢請求查詢并展示聚合后的埋點(diǎn)信息。

執(zhí)行本申請的服務(wù)端可以提供給用戶查詢埋點(diǎn)信息的接口,具體的可以 由上述聚合系統(tǒng)提供接口。用戶可以通過訪問該接口發(fā)送對埋點(diǎn)信息的查詢請求,服務(wù)端接收到該查詢請求后,查詢所需的埋點(diǎn)信息并展示給用戶。

具體而言,用戶可以通過訪問該接口輸入表征所需信息的查詢參數(shù),服務(wù)端接收到的查詢請求攜帶查詢參數(shù),進(jìn)一步根據(jù)查詢參數(shù)查詢對應(yīng)的埋點(diǎn)信息。查詢參數(shù)可以包括時間段、所述埋點(diǎn)屬性和所述客戶端應(yīng)用的應(yīng)用標(biāo)識中至少一種,以查詢參數(shù)包括時間段、埋點(diǎn)屬性和應(yīng)用標(biāo)識為例,根據(jù)查詢參數(shù)在聚合系統(tǒng)中可以查詢到某個時間段內(nèi)某個應(yīng)用的某個關(guān)鍵字的埋點(diǎn)信息。查詢結(jié)果可以以圖表、文檔、走勢圖等各種形式進(jìn)行展示。例如,針對按照時間維度聚合的埋點(diǎn)信息,可以生成可視化曲線圖,并根據(jù)實(shí)時獲取的新的埋點(diǎn)數(shù)據(jù)對曲線圖進(jìn)行更新。

綜上所述,本申請實(shí)施例中的技術(shù)方案,對客戶端應(yīng)用調(diào)用埋點(diǎn)sdk中的api所創(chuàng)建的埋點(diǎn)日志進(jìn)行監(jiān)聽,從埋點(diǎn)日志中讀取出埋點(diǎn)信息,并針對用戶的查詢請求查詢并展示按照不同的維度聚合后的埋點(diǎn)信息進(jìn)行查詢并展示。本申請實(shí)施例可以通過sdk埋點(diǎn)中的api自定義埋點(diǎn),由于支持不同應(yīng)用場景下根據(jù)用戶需求自定義收集客戶端應(yīng)用相關(guān)數(shù)據(jù),擴(kuò)大了針對客戶端應(yīng)用的信息收集范圍,并提高了收集結(jié)果的利用轉(zhuǎn)化率;而且,對從埋點(diǎn)日志中讀取出的埋點(diǎn)信息按不同維度進(jìn)行聚合,實(shí)現(xiàn)了對客戶端應(yīng)用的收集結(jié)果進(jìn)行分類統(tǒng)計。同時,利用消息中間件傳輸埋點(diǎn)信息,并控制傳輸速度,可以緩解聚合系統(tǒng)的壓力。

參照圖6,示出了本申請的另一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:

步驟200,客戶端應(yīng)用調(diào)用服務(wù)器端提供的埋點(diǎn)sdk自定義埋點(diǎn)。

步驟202,埋點(diǎn)sdk創(chuàng)建埋點(diǎn)日志。

步驟204,logagent監(jiān)聽埋點(diǎn)日志,并以增量方式讀取埋點(diǎn)日志中的埋點(diǎn)信息,并將埋點(diǎn)信息發(fā)送至消息中間件。

步驟206,jstorm從消息中間件中讀取出埋點(diǎn)信息,并對埋點(diǎn)信息進(jìn)行實(shí)時計算,將計算后的埋點(diǎn)信息發(fā)送給至聚合系統(tǒng)。

步驟208,聚合系統(tǒng)按照應(yīng)用維度和/或時間維度對埋點(diǎn)信息進(jìn)行聚合。

步驟210,服務(wù)端根據(jù)查詢請求查詢并展示聚合后的埋點(diǎn)信息。

綜上所述,本申請實(shí)施例中的客戶端應(yīng)用可以通過sdk埋點(diǎn)中的api自定義埋點(diǎn),由于支持不同應(yīng)用場景下根據(jù)用戶需求自定義收集客戶端應(yīng)用相關(guān)數(shù)據(jù),擴(kuò)大了針對客戶端應(yīng)用的信息收集范圍,并提高了收集結(jié)果的利用轉(zhuǎn)化率;而且,對從埋點(diǎn)日志中讀取出的埋點(diǎn)信息按不同維度進(jìn)行聚合,實(shí)現(xiàn)了對客戶端應(yīng)用的收集結(jié)果進(jìn)行分類統(tǒng)計。

參照圖7,示出了本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法實(shí)施例的系統(tǒng)結(jié)構(gòu)邏輯示意圖,客戶端應(yīng)用調(diào)用埋點(diǎn)sdk中的api自定義埋點(diǎn),創(chuàng)建埋點(diǎn)日志;logagent讀取出埋點(diǎn)日志中的埋點(diǎn)信息,并發(fā)送至消息中間件,jstorm實(shí)時從消息中間件讀取出埋點(diǎn)信息,并進(jìn)行清洗和過濾,將清洗和過濾后的埋點(diǎn)信息發(fā)送至聚合系統(tǒng);聚合系統(tǒng)對接收到的埋點(diǎn)信息按照至少一個維度進(jìn)行聚合,并對外提供數(shù)據(jù)查詢功能和數(shù)據(jù)展示功能。

綜上所述,本申請實(shí)施例中的技術(shù)方案,對客戶端應(yīng)用調(diào)用埋點(diǎn)sdk中的api所創(chuàng)建的埋點(diǎn)日志進(jìn)行監(jiān)聽,從埋點(diǎn)日志中讀取出埋點(diǎn)信息,并針對用戶的查詢請求查詢并展示按照不同的維度聚合后的埋點(diǎn)信息進(jìn)行查詢并展示。本申請實(shí)施例可以通過sdk埋點(diǎn)中的api自定義埋點(diǎn),由于支持不同應(yīng)用場景下根據(jù)用戶需求自定義收集客戶端應(yīng)用相關(guān)數(shù)據(jù),擴(kuò)大了針對客戶端應(yīng)用的信息收集范圍,并提高了收集結(jié)果的利用轉(zhuǎn)化率;而且,對從埋點(diǎn)日志中讀取出的埋點(diǎn)信息按不同維度進(jìn)行聚合,實(shí)現(xiàn)了對客戶端應(yīng)用的收集結(jié)果進(jìn)行分類統(tǒng)計。

需要說明的是,對于方法實(shí)施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請實(shí)施例并不受所描述的動作順序的限制,因?yàn)橐罁?jù)本申請實(shí)施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動作并不一定是本申請實(shí)施例所必須的。

參照圖8,示出了本申請的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:

埋點(diǎn)日志監(jiān)聽模塊800,用于監(jiān)聽各個客戶端應(yīng)用調(diào)用埋點(diǎn)軟件開發(fā)工具包創(chuàng)建的埋點(diǎn)日志;

埋點(diǎn)信息提取模塊802,用于從所述埋點(diǎn)日志中提取出埋點(diǎn)信息,所述埋點(diǎn)日志根據(jù)預(yù)先定義的埋點(diǎn)屬性創(chuàng)建,所述客戶端應(yīng)用通過調(diào)用所述埋點(diǎn)軟件開發(fā)工具包的應(yīng)用編程接口預(yù)先定義所述埋點(diǎn)屬性;

埋點(diǎn)信息聚合模塊804,用于按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合;

埋點(diǎn)信息展示模塊806,用于根據(jù)查詢請求查詢并展示聚合后的埋點(diǎn)信息。

本申請實(shí)施例中,優(yōu)選地,所述埋點(diǎn)屬性包括所述埋點(diǎn)信息的埋點(diǎn)類別和/或埋點(diǎn)關(guān)鍵字,所述埋點(diǎn)類別包括所述埋點(diǎn)信息所屬埋點(diǎn)父類別或埋點(diǎn)子類別。

本申請實(shí)施例中,優(yōu)選地,所述埋點(diǎn)日志監(jiān)聽模塊,具體用于監(jiān)聽所述埋點(diǎn)日志的目錄和/或所述埋點(diǎn)信息的變化狀態(tài);若所述目錄和/或所述埋點(diǎn)信息發(fā)生變化,則確定所述埋點(diǎn)日志中新增埋點(diǎn)信息。

本申請實(shí)施例中,優(yōu)選地,所述埋點(diǎn)信息讀取模塊,具體用于從所述埋點(diǎn)日志中以增量方式讀取出埋點(diǎn)信息。

本申請實(shí)施例中,優(yōu)選地,所述裝置還包括:

埋點(diǎn)信息發(fā)送模塊,用于在所述從所述埋點(diǎn)日志中提取出埋點(diǎn)信息之后,將所述埋點(diǎn)信息發(fā)送至消息中間件,所述消息中間件用于傳輸所述埋點(diǎn)信息,并控制傳輸速度;

所述裝置還包括:

埋點(diǎn)信息提取模塊,用于在所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行聚合之前,從所述消息中間件讀取出所述埋點(diǎn)信息。

本申請實(shí)施例中,優(yōu)選地,所述裝置還包括:

埋點(diǎn)信息篩選模塊,用于在所述按照至少一個維度對所述埋點(diǎn)信息進(jìn)行 聚合之前,篩選與所述埋點(diǎn)屬性對應(yīng)的埋點(diǎn)信息。

本申請實(shí)施例中,優(yōu)選地,所述埋點(diǎn)信息聚合模塊,具體用于按照應(yīng)用維度和/或時間維度對所述埋點(diǎn)信息進(jìn)行聚合。

本申請實(shí)施例中,優(yōu)選地,所述查詢請求攜帶通過查詢接口輸入的查詢參數(shù);

所述埋點(diǎn)信息展示模塊,具體用于根據(jù)所述查詢參數(shù)查詢并聚合后的埋點(diǎn)信息;所述查詢參數(shù)包括時間段、所述埋點(diǎn)屬性和所述客戶端應(yīng)用的應(yīng)用標(biāo)識中至少一種。

綜上所述,本申請實(shí)施例中的技術(shù)方案,對客戶端應(yīng)用調(diào)用埋點(diǎn)sdk中的api所創(chuàng)建的埋點(diǎn)日志進(jìn)行監(jiān)聽,從埋點(diǎn)日志中讀取出埋點(diǎn)信息,并針對用戶的查詢請求查詢并展示按照不同的維度聚合后的埋點(diǎn)信息進(jìn)行查詢并展示。本申請實(shí)施例可以通過sdk埋點(diǎn)中的api自定義埋點(diǎn),由于支持不同應(yīng)用場景下根據(jù)用戶需求自定義收集客戶端應(yīng)用相關(guān)數(shù)據(jù),擴(kuò)大了針對客戶端應(yīng)用的信息收集范圍,并提高了收集結(jié)果的利用轉(zhuǎn)化率;而且,對從埋點(diǎn)日志中讀取出的埋點(diǎn)信息按不同維度進(jìn)行聚合,實(shí)現(xiàn)了對客戶端應(yīng)用的收集結(jié)果進(jìn)行分類統(tǒng)計。

對于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。

本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請實(shí)施例的實(shí)施例可提供為方法、裝置、或計算機(jī)程序產(chǎn)品。因此,本申請實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請實(shí)施例可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實(shí)施的計算機(jī)程序產(chǎn)品的形式。

在一個典型的配置中,所述計算機(jī)設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

本申請實(shí)施例是參照根據(jù)本申請實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè) 備上,使得在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已描述了本申請實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請實(shí)施例范圍的所有變更和修改。

最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。

以上對本申請所提供的一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計方法和一種基于云平臺的客戶端應(yīng)用的信息統(tǒng)計裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1