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

前端用戶行為統(tǒng)計(jì)方法及裝置與流程

文檔序號(hào):12037939閱讀:286來(lái)源:國(guó)知局
前端用戶行為統(tǒng)計(jì)方法及裝置與流程

本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種前端用戶行為統(tǒng)計(jì)方法及裝置。



背景技術(shù):

在互聯(lián)網(wǎng)高速發(fā)展的今天,無(wú)論是作為一個(gè)電商店鋪的運(yùn)營(yíng)人員還是個(gè)人站長(zhǎng),如果能夠?qū)τ脩粼陧?yè)面停留期間的一些點(diǎn)擊行為了如指掌,并且能夠很好地進(jìn)行分析的話,將會(huì)對(duì)在改進(jìn)網(wǎng)頁(yè)的用戶體驗(yàn)和吸引用戶點(diǎn)擊方面提供最直接和高效的幫助。

通常通過(guò)對(duì)頁(yè)面進(jìn)行埋點(diǎn)操作來(lái)記錄用戶的點(diǎn)擊行為,通俗的講,頁(yè)面埋點(diǎn)就是通過(guò)腳本語(yǔ)言(javascript,簡(jiǎn)稱js)方法收集用戶訪問(wèn)和點(diǎn)擊數(shù)據(jù)的一種操作。當(dāng)用戶打開一個(gè)網(wǎng)頁(yè)并點(diǎn)擊的時(shí)候,頁(yè)面中的埋點(diǎn)js代碼就會(huì)被執(zhí)行,該js代碼會(huì)將收集完的數(shù)據(jù)回傳給網(wǎng)站服務(wù)器。

在目前的埋點(diǎn)技術(shù)中,手動(dòng)為指定的按鈕進(jìn)行埋點(diǎn),基于指定按鈕的點(diǎn)擊操作對(duì)用戶的行為進(jìn)行統(tǒng)計(jì)。實(shí)際應(yīng)用中需要對(duì)頁(yè)面進(jìn)行全局統(tǒng)計(jì)時(shí),這種手工埋點(diǎn)的過(guò)程較為繁瑣,存在便捷性較差的問(wèn)題。



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

本發(fā)明提供一種前端用戶行為統(tǒng)計(jì)方法及裝置,用于解決當(dāng)對(duì)頁(yè)面進(jìn)行全局統(tǒng)計(jì)時(shí),通過(guò)手工埋點(diǎn)過(guò)程較為繁瑣便捷性較差的問(wèn)題。

為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種前端用戶行為統(tǒng)計(jì)方法,包括:

獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則;

在所述頁(yè)面運(yùn)行過(guò)程中,對(duì)所述頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽;

在監(jiān)聽到所述頁(yè)面點(diǎn)擊事件后,基于所述埋點(diǎn)規(guī)則統(tǒng)計(jì)所述頁(yè)面前 端用戶的行為數(shù)據(jù)。

為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種前端用戶行為統(tǒng)計(jì)裝置,包括:

獲取模塊,用于獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則;

監(jiān)聽模塊,用于在所述頁(yè)面運(yùn)行過(guò)程中,對(duì)所述頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽;

統(tǒng)計(jì)模塊,用于在監(jiān)聽到所述頁(yè)面點(diǎn)擊事件后,基于所述埋點(diǎn)規(guī)則統(tǒng)計(jì)所述頁(yè)面前端用戶的行為數(shù)據(jù)。

本發(fā)明提供的前端用戶行為統(tǒng)計(jì)方法及裝置,通過(guò)獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則,在頁(yè)面運(yùn)行過(guò)程中,對(duì)頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽,在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,基于埋點(diǎn)規(guī)則統(tǒng)計(jì)該頁(yè)面前端用戶的行為數(shù)據(jù)。本發(fā)明中為了實(shí)現(xiàn)了對(duì)頁(yè)面的自動(dòng)埋點(diǎn),先為頁(yè)面設(shè)置埋點(diǎn)規(guī)則,在頁(yè)面運(yùn)行時(shí)由頁(yè)面點(diǎn)擊事件觸發(fā)埋點(diǎn)開啟,解決了現(xiàn)有通過(guò)手動(dòng)埋點(diǎn)存在過(guò)錯(cuò)繁瑣便捷性較差的問(wèn)題,而且能夠?qū)?yè)面前端用戶的行為進(jìn)行全局統(tǒng)計(jì),統(tǒng)計(jì)效率較高。

附圖說(shuō)明

圖1為本發(fā)明實(shí)施例一的前端用戶行為統(tǒng)計(jì)方法的流程示意圖;

圖2為本發(fā)明實(shí)施例二的前端用戶行為統(tǒng)計(jì)方法的流程示意圖;

圖3為本發(fā)明實(shí)施例三的前端用戶行為統(tǒng)計(jì)方法的流程示意圖;

圖4為本發(fā)明實(shí)施例四的前端用戶行為統(tǒng)計(jì)方法的流程示意圖;

圖5為本發(fā)明實(shí)施例五的前端用戶行為統(tǒng)計(jì)方法的流程示意圖;

圖6為本發(fā)明實(shí)施例六的前端用戶行為統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖;

圖7為本發(fā)明實(shí)施例七的前端用戶行為統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例提供的前端用戶行為統(tǒng)計(jì)方法及裝置進(jìn)行詳細(xì)描述。

實(shí)施例一

如圖1所示,其為本發(fā)明實(shí)施例一的前端用戶行為統(tǒng)計(jì)方法的流程示意圖。

該前端用戶行為統(tǒng)計(jì)方法包括:

s101、獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則。

本實(shí)施例中,預(yù)先為頁(yè)面設(shè)置埋點(diǎn)規(guī)則,具體地,獲取頁(yè)面的所有控件,根據(jù)統(tǒng)計(jì)需求為不同的控件設(shè)置埋點(diǎn)規(guī)則??蛇x地獲取各控件的類型,為同一個(gè)類型的所有控件設(shè)置相同的埋點(diǎn)規(guī)則。

其中,埋點(diǎn)規(guī)則中限定了該頁(yè)面的埋點(diǎn)對(duì)象,并且設(shè)置有與埋點(diǎn)對(duì)象相應(yīng)的統(tǒng)計(jì)策略。

在頁(yè)面運(yùn)行之間,需要獲取該頁(yè)面的埋點(diǎn)規(guī)則,具體地,在啟動(dòng)頁(yè)面時(shí),將埋點(diǎn)規(guī)則加載到頁(yè)面的業(yè)務(wù)文件中。其中,頁(yè)面的業(yè)務(wù)文件為頁(yè)面的業(yè)務(wù)處理流程。

s102、在頁(yè)面運(yùn)行過(guò)程中,對(duì)頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。

當(dāng)用戶開啟頁(yè)面后,頁(yè)面的業(yè)務(wù)文件就可以執(zhí)行,即頁(yè)面的業(yè)務(wù)處理流程被啟動(dòng),在執(zhí)行處理流程的過(guò)程中,對(duì)隸屬該頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。也就是說(shuō),當(dāng)前端用戶在網(wǎng)頁(yè)上進(jìn)行頁(yè)面點(diǎn)擊時(shí),能夠觸發(fā)一個(gè)頁(yè)面點(diǎn)擊事件,頁(yè)面對(duì)應(yīng)的業(yè)務(wù)文件就可以監(jiān)聽到該頁(yè)面點(diǎn)擊事件。

本實(shí)施例中,對(duì)頁(yè)面進(jìn)行埋點(diǎn),在該頁(yè)面啟動(dòng)時(shí)即加載頁(yè)面的業(yè)務(wù)文件的時(shí)候,同時(shí)加載該頁(yè)面對(duì)應(yīng)的埋點(diǎn)規(guī)則,相應(yīng)地就開啟埋點(diǎn)的功能,則頁(yè)面下所有控件的頁(yè)面點(diǎn)擊事件均會(huì)被監(jiān)聽。

s103、在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,基于埋點(diǎn)規(guī)則統(tǒng)計(jì)該頁(yè)面前端用戶的行為數(shù)據(jù)。

在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,確定該頁(yè)面點(diǎn)擊事件對(duì)應(yīng)的目標(biāo)對(duì)象,進(jìn)一步地,當(dāng)確定出目標(biāo)對(duì)象后,需要判斷該目標(biāo)對(duì)象是否開啟埋點(diǎn)。本實(shí)施例中,開啟埋點(diǎn)的對(duì)象在埋點(diǎn)規(guī)則中進(jìn)行定義,埋點(diǎn)的對(duì)象可以是按鈕標(biāo)簽或其它指定的標(biāo)簽等控件。

本實(shí)施例中,埋點(diǎn)規(guī)則限定了埋點(diǎn)對(duì)象以及埋點(diǎn)對(duì)象對(duì)應(yīng)的統(tǒng)計(jì)策略。埋點(diǎn)對(duì)象開啟埋點(diǎn)的兩種可選方式如下:

一是在頁(yè)面加載時(shí)就會(huì)開啟埋點(diǎn)對(duì)象進(jìn)行埋點(diǎn)記錄。具體地,在加載預(yù)置的埋點(diǎn)規(guī)則時(shí),就對(duì)屬于該頁(yè)面的所有的按鈕標(biāo)簽等埋點(diǎn)對(duì)象自動(dòng)開啟埋點(diǎn)。

二判斷頁(yè)面下每個(gè)埋點(diǎn)對(duì)象是否具有相應(yīng)的統(tǒng)計(jì)策略,如果埋點(diǎn)對(duì)象的統(tǒng)計(jì)策略不為空,說(shuō)明該目標(biāo)對(duì)象開啟了埋點(diǎn),可以基于該目標(biāo)對(duì)象的統(tǒng)計(jì)策略對(duì)前端用戶的行為數(shù)據(jù)進(jìn)行統(tǒng)計(jì)。如果該目標(biāo)對(duì)象的統(tǒng)計(jì)策略為空,說(shuō)明該目標(biāo)對(duì)象未開啟埋點(diǎn),則不對(duì)該目標(biāo)對(duì)象的進(jìn)行統(tǒng)計(jì)。

當(dāng)判斷出目標(biāo)對(duì)象開啟了埋點(diǎn),說(shuō)明可以對(duì)目標(biāo)對(duì)象進(jìn)行埋點(diǎn)記錄,可選地記錄點(diǎn)擊事件的按鈕、時(shí)間、坐標(biāo),其中點(diǎn)擊事件的坐標(biāo)為頁(yè)面中的位置,也可稱為坐標(biāo)。進(jìn)一步地,獲取該目標(biāo)對(duì)象的統(tǒng)計(jì)策略,根據(jù)統(tǒng)計(jì)策略可以對(duì)目標(biāo)對(duì)象的埋點(diǎn)記錄進(jìn)行統(tǒng)計(jì),即可以對(duì)點(diǎn)擊的位置、點(diǎn)擊事件、用戶id、控件所隸屬的模塊等信息進(jìn)行統(tǒng)計(jì),從而可以獲取到前端用戶的行為數(shù)據(jù)。例如當(dāng)控件類型為按鈕類時(shí),即對(duì)應(yīng)html標(biāo)簽為(button/a/span),就可以記錄該控件位置、點(diǎn)擊時(shí)間、用戶id、控件所屬的模塊以及當(dāng)前操作所屬的應(yīng)用,若該頁(yè)面點(diǎn)擊事件有觸發(fā)后臺(tái)請(qǐng)求,則記錄后臺(tái)請(qǐng)求統(tǒng)一資源定位符(uniformresourcelocator,簡(jiǎn)稱url)、后臺(tái)請(qǐng)求的耗時(shí)以及后臺(tái)請(qǐng)求是否成功等信息。進(jìn)一步地,在獲取到該控件的上述信息后,在特定時(shí)間需要對(duì)該控件進(jìn)行統(tǒng)計(jì)時(shí),根據(jù)該控件以及該控件的控件類型,獲取與該控件對(duì)應(yīng)的統(tǒng)計(jì)策略,進(jìn)而根據(jù)該統(tǒng)計(jì)策略統(tǒng)計(jì)出該控件的用戶行為數(shù)據(jù)。在使用頁(yè)面的過(guò)程中,基于埋點(diǎn)規(guī)則就可以對(duì)前端用戶的用戶行為進(jìn)行監(jiān)督,這樣就可以統(tǒng)計(jì)獲取到前端用戶在使用頁(yè)面時(shí)的行為數(shù)據(jù)。

本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)方法,通過(guò)獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則,在頁(yè)面運(yùn)行過(guò)程中,對(duì)頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽,在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,基于埋點(diǎn)規(guī)則統(tǒng)計(jì)該頁(yè)面前端用戶的行為數(shù)據(jù)。本實(shí)施例中為了實(shí)現(xiàn)了對(duì)頁(yè)面的自動(dòng)埋點(diǎn),先為頁(yè)面設(shè)置埋點(diǎn)規(guī)則,在頁(yè)面運(yùn)行時(shí)由頁(yè)面點(diǎn)擊事件觸發(fā)埋點(diǎn)開啟,解決了現(xiàn)有通過(guò)手動(dòng)埋點(diǎn)存在過(guò)錯(cuò)繁瑣便捷性較差的問(wèn)題,而且能夠?qū)?yè)面前端用戶的行為進(jìn)行全局統(tǒng)計(jì),統(tǒng)計(jì)效率較高。

實(shí)施例二

如圖2所示,其為本發(fā)明實(shí)施例二的前端用戶行為統(tǒng)計(jì)方法的流程示意圖。本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)方法需要在對(duì)頁(yè)面的前端進(jìn)行模塊化的基礎(chǔ)上執(zhí)行。該前端用戶行為統(tǒng)計(jì)方法包括:

s201、將頁(yè)面進(jìn)行模塊化處理。

在互聯(lián)網(wǎng)快速發(fā)展的當(dāng)下,頁(yè)面逐漸變成了互聯(lián)網(wǎng)應(yīng)用程序,為了適應(yīng)激烈的市場(chǎng)競(jìng)爭(zhēng),以滿足用戶對(duì)多樣化的需求,嵌入網(wǎng)頁(yè)的js代碼越來(lái)越龐大,越來(lái)越復(fù)雜,頁(yè)面也越來(lái)越像桌面程序,需要分工協(xié)作、進(jìn)度管理、單元測(cè)試等等。為了提升開發(fā)者的開發(fā)體驗(yàn),并為性能優(yōu)化提供良好的支持,開發(fā)者可以基于模塊化對(duì)頁(yè)面的前端進(jìn)行編程。對(duì)頁(yè)面進(jìn)行前端模塊化的目的,可以實(shí)現(xiàn)多人協(xié)同開發(fā)頁(yè)面,提高頁(yè)面研發(fā)速度和降低維護(hù)難度。

s202、為頁(yè)面對(duì)應(yīng)模塊配置埋點(diǎn)規(guī)則。

為了實(shí)現(xiàn)對(duì)頁(yè)面的全局統(tǒng)計(jì),預(yù)先為頁(yè)面對(duì)應(yīng)模塊配置埋點(diǎn)規(guī)則。具體地,獲取頁(yè)面的所有控件、控件類型以及各控件所隸屬的模塊,由于不同的模塊可以設(shè)置不同的埋點(diǎn)規(guī)則,也可以全局設(shè)置一個(gè)埋點(diǎn)規(guī)則。獲取需要埋點(diǎn)的控件類型,為控件類型設(shè)置相應(yīng)的埋點(diǎn)規(guī)則,將隸屬同一模塊的控件類型的埋點(diǎn)規(guī)則歸結(jié)到一個(gè)文件中形成該模塊的埋點(diǎn)規(guī)則。

s203、通過(guò)執(zhí)行業(yè)務(wù)文件運(yùn)行頁(yè)面,在運(yùn)行過(guò)程中對(duì)隸屬于頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。

當(dāng)前端用戶試圖使用頁(yè)面時(shí),在運(yùn)行該頁(yè)面之前,需要獲取該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,其中業(yè)務(wù)文件為該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)處理流程。執(zhí)行該業(yè)務(wù)文件,即運(yùn)行該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)處理流程。本實(shí)施例中,在執(zhí)行業(yè)務(wù)文件時(shí),會(huì)同時(shí)加載該頁(yè)面對(duì)應(yīng)模塊的埋點(diǎn)規(guī)則。

在業(yè)務(wù)文件的運(yùn)行過(guò)程中,可以基于該埋點(diǎn)規(guī)則中限定的埋點(diǎn)對(duì)象,具體地,當(dāng)頁(yè)面對(duì)應(yīng)模塊開啟埋點(diǎn)的情況下,該模塊下所有控件的點(diǎn)擊事件均監(jiān)控,根據(jù)相應(yīng)模塊綁定的埋點(diǎn)規(guī)則,當(dāng)監(jiān)控到點(diǎn)擊事件對(duì)應(yīng)的控件為埋點(diǎn)的控件時(shí),就獲取頁(yè)面前端用戶的行為數(shù)據(jù)。

s204、在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,基于埋點(diǎn)規(guī)則統(tǒng)計(jì)頁(yè)面前端用戶 的行為數(shù)據(jù)。

在使用頁(yè)面的過(guò)程中,基于埋點(diǎn)規(guī)則就可以對(duì)前端用戶的用戶行為進(jìn)行監(jiān)督,這樣就可以統(tǒng)計(jì)獲取到前端用戶在使用頁(yè)面時(shí)的行為數(shù)據(jù)。具體地過(guò)程可參見上述實(shí)施例二中相關(guān)內(nèi)容的記載,此處不再贅述。

本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)方法,在頁(yè)面進(jìn)行了模塊化的基礎(chǔ)之上,為頁(yè)面對(duì)應(yīng)模塊配置埋點(diǎn)規(guī)則,當(dāng)執(zhí)行頁(yè)面的業(yè)務(wù)文件,則獲取相應(yīng)的埋點(diǎn)規(guī)則,在執(zhí)行業(yè)務(wù)文件的過(guò)程中基于埋點(diǎn)規(guī)則,獲取頁(yè)面前端用戶的行為數(shù)據(jù),實(shí)現(xiàn)對(duì)頁(yè)面的全局自動(dòng)埋點(diǎn),能夠?qū)?yè)面前端用戶行為的全局統(tǒng)計(jì),且統(tǒng)計(jì)效率較高。

實(shí)施例三

如圖3所示,其為本發(fā)明實(shí)施例三的前端用戶行為統(tǒng)計(jì)方法的流程示意圖。本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)方法需要在對(duì)頁(yè)面的前端進(jìn)行模塊化的基礎(chǔ)上執(zhí)行。

該前端用戶行為統(tǒng)計(jì)方法包括:

s301、根據(jù)頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,確定頁(yè)面對(duì)應(yīng)模塊運(yùn)行時(shí)所需的依賴文件。

當(dāng)前,為了便于對(duì)頁(yè)面的優(yōu)化,開發(fā)者對(duì)頁(yè)面的前端進(jìn)行模塊化編程。當(dāng)前端用戶試圖使用頁(yè)面時(shí),在運(yùn)行該頁(yè)面之前,需要獲取該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,其中業(yè)務(wù)文件為該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)處理流程。

通常在頁(yè)面中,模塊化的過(guò)程中頁(yè)面對(duì)應(yīng)的模塊根據(jù)定義的依賴,編寫依賴的相關(guān)代碼文件。在獲取到該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件后,對(duì)該業(yè)務(wù)文件進(jìn)行分析,可以確定出頁(yè)面對(duì)應(yīng)模塊運(yùn)行時(shí)所需的依賴文件。一般頁(yè)面對(duì)應(yīng)模塊包括三種依賴文件:超文本標(biāo)記語(yǔ)言(hypertextmarkuplanguage,簡(jiǎn)稱html)依賴文件、層疊樣式表(cascadingstylesheets,簡(jiǎn)稱css)依賴文件和js依賴文件。

s302、加載依賴文件和預(yù)先為頁(yè)面對(duì)應(yīng)模塊配置的埋點(diǎn)規(guī)則。

在確定出頁(yè)面對(duì)應(yīng)模塊的所需的依賴文件后,對(duì)依賴文件進(jìn)行加載,本實(shí)施例中,為了實(shí)現(xiàn)全局埋點(diǎn)機(jī)制,預(yù)先為頁(yè)面對(duì)應(yīng)模塊配置埋點(diǎn)規(guī)則,該埋點(diǎn)規(guī)則中限定有模塊的埋點(diǎn)對(duì)象。例如,埋點(diǎn)的對(duì)象可以是按 鈕標(biāo)簽或其它指定的標(biāo)簽。在加載依賴文件的同時(shí),還需要加載預(yù)先為頁(yè)面對(duì)象模塊配置的埋點(diǎn)規(guī)則。

s303、執(zhí)行業(yè)務(wù)文件基于埋點(diǎn)規(guī)則,以統(tǒng)計(jì)獲取頁(yè)面前端用戶的行為數(shù)據(jù)。

在依賴文件和埋點(diǎn)規(guī)則加載完成后,執(zhí)行頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,即運(yùn)行該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)處理流程。本實(shí)施例中,由于加載了該模塊對(duì)應(yīng)的埋點(diǎn)規(guī)則,在業(yè)務(wù)文件的運(yùn)行過(guò)程中,可以基于該埋點(diǎn)規(guī)則中限定的埋點(diǎn)對(duì)象,獲取頁(yè)面前端用戶的行為數(shù)據(jù)。

具體地,當(dāng)前端用戶在使用頁(yè)面時(shí),可以對(duì)頁(yè)面中的控件進(jìn)行點(diǎn)擊操作,本實(shí)施例中可以對(duì)控件進(jìn)行監(jiān)控,當(dāng)監(jiān)控到點(diǎn)擊的控件為埋點(diǎn)對(duì)象時(shí),就可以獲取到該控件的埋點(diǎn)記錄。進(jìn)一步地,埋點(diǎn)規(guī)則中還包括埋點(diǎn)對(duì)象的統(tǒng)計(jì)策略,在獲取到埋點(diǎn)對(duì)象的埋點(diǎn)記錄后,獲取該埋點(diǎn)對(duì)象的統(tǒng)計(jì)策略,如果該埋點(diǎn)對(duì)象的統(tǒng)計(jì)策略為空,則不對(duì)該埋點(diǎn)對(duì)象的埋點(diǎn)記錄進(jìn)行統(tǒng)計(jì),如果獲取到統(tǒng)計(jì)策略,則根據(jù)統(tǒng)計(jì)策略對(duì)埋點(diǎn)記錄進(jìn)行統(tǒng)計(jì)。

例如當(dāng)控件類型為按鈕類時(shí),即對(duì)應(yīng)html標(biāo)簽為(button/a/span),就可以記錄該控件位置、點(diǎn)擊時(shí)間、用戶id、控件所屬的模塊以及當(dāng)前操作所屬的應(yīng)用,若該點(diǎn)擊事件有觸發(fā)后臺(tái)請(qǐng)求,則記錄后臺(tái)請(qǐng)求統(tǒng)一資源定位符(uniformresourcelocator,簡(jiǎn)稱url)、后臺(tái)請(qǐng)求的耗時(shí)以及后臺(tái)請(qǐng)求是否成功等信息。進(jìn)一步地,在獲取到該控件的上述信息后,在特定時(shí)間需要對(duì)該控件進(jìn)行統(tǒng)計(jì)時(shí),根據(jù)該控件所隸屬模塊的名稱以及該控件的控件類型,從后臺(tái)數(shù)據(jù)庫(kù)中查詢獲取與該控制對(duì)應(yīng)的統(tǒng)計(jì)策略,進(jìn)而根據(jù)該統(tǒng)計(jì)策略統(tǒng)計(jì)出該控件的用戶行為數(shù)據(jù)。本實(shí)施例中統(tǒng)計(jì)策略存儲(chǔ)在后臺(tái)數(shù)據(jù)庫(kù)中,從而可以進(jìn)行實(shí)時(shí)修改。

在使用頁(yè)面的過(guò)程中,基于埋點(diǎn)規(guī)則就可以對(duì)前端用戶的用戶行為進(jìn)行監(jiān)督,這樣就可以統(tǒng)計(jì)獲取到前端用戶在使用頁(yè)面時(shí)的行為數(shù)據(jù)。

本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)方法,通過(guò)根據(jù)頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,確定確定頁(yè)面對(duì)應(yīng)模塊運(yùn)行時(shí)所需的依賴文件,加載依賴文件和預(yù)先為頁(yè)面對(duì)應(yīng)模塊配置的埋點(diǎn)規(guī)則,執(zhí)行業(yè)務(wù)文件基于埋點(diǎn)規(guī)則 中限定的埋點(diǎn)對(duì)象,獲取頁(yè)面前端用戶的行為數(shù)據(jù)。本實(shí)施例提供了全局埋點(diǎn)機(jī)制,在加載依賴文件的同時(shí)寫入模塊的埋點(diǎn)規(guī)則,基于該埋點(diǎn)規(guī)則能夠?qū)η岸擞脩舻男袨檫M(jìn)行統(tǒng)計(jì),對(duì)頁(yè)面的全局自動(dòng)埋點(diǎn),能夠?qū)崿F(xiàn)對(duì)頁(yè)面前端用戶行為的全局統(tǒng)計(jì),而且統(tǒng)計(jì)效率較高。

實(shí)施例四

如圖4所示,其為本發(fā)明實(shí)施例四的前端用戶行為統(tǒng)計(jì)方法的流程示意圖。目前requirejs是一個(gè)非常小巧的javascript模塊載入框架,本實(shí)施例選取requirejs框架作為底層的依賴實(shí)現(xiàn),并在此基礎(chǔ)上實(shí)現(xiàn)對(duì)頁(yè)面的前端模塊化。在上述實(shí)施例的基礎(chǔ)上,將預(yù)設(shè)的埋點(diǎn)規(guī)則加載到頁(yè)面對(duì)應(yīng)的業(yè)務(wù)文件的過(guò)程包括:

s401、加載頁(yè)面的業(yè)務(wù)文件。

在前端用戶試圖使用頁(yè)面時(shí),在運(yùn)行之前,需要對(duì)頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件進(jìn)行調(diào)用,其中,業(yè)務(wù)文件為該頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)處理流程。本實(shí)施例中,基于requirejs框架加載頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,業(yè)務(wù)文件是用javascript腳本語(yǔ)言編寫的,以js為擴(kuò)展名的文件js文件。

s402、對(duì)業(yè)務(wù)文件進(jìn)行解析,以獲取頁(yè)面運(yùn)行時(shí)所需的依賴文件。

在調(diào)用業(yè)務(wù)文件的過(guò)程中,對(duì)該業(yè)務(wù)文件進(jìn)行解析,獲取該模塊的依賴文件。在頁(yè)面模塊化的過(guò)程中,可以對(duì)模塊的依賴進(jìn)行定義,開發(fā)者能夠根據(jù)依賴的定義編寫相關(guān)代碼文件。一般頁(yè)面的模塊包括三種依賴文件:html依賴文件、css依賴文件和js依賴文件。

在本實(shí)施例中,由于requirejs只支持js依賴文件的依賴解析,為了實(shí)現(xiàn)對(duì)html依賴文件和css依賴文件的解析,需要在該requirejs框架中插入第三方插件,使得requirejs框架能夠支持解析html依賴文件和css依賴文件。

s403、封裝業(yè)務(wù)文件。

在解析出頁(yè)面對(duì)應(yīng)模塊的所需的依賴文件后,對(duì)模塊的依賴文件進(jìn)行加載,實(shí)際中由于requirejs框架在模塊的js依賴文件加載完成后,就會(huì)直接執(zhí)行模塊的業(yè)務(wù)文件。本實(shí)施例中模塊除了需要對(duì)js依賴文件進(jìn)行加載之外,還需要加載html依賴文件和css依賴文件。

為了在加載完所有的依賴文件之后再執(zhí)行模塊的業(yè)務(wù)處理流程,本實(shí)施例中基于requirejs框架將模塊的業(yè)務(wù)文件的業(yè)務(wù)處理流程進(jìn)行封裝,封裝后業(yè)務(wù)處理流程將不會(huì)再被執(zhí)行,只有等到封裝解除后才會(huì)被執(zhí)行。

s404、加載依賴文件和頁(yè)面的埋點(diǎn)規(guī)則。

為了實(shí)現(xiàn)對(duì)頁(yè)面的全局統(tǒng)計(jì)的機(jī)制,本實(shí)施例中在加載模塊的依賴文件的同時(shí),加載預(yù)先為模塊配置的埋點(diǎn)規(guī)則,本實(shí)施例中,開啟埋點(diǎn)的對(duì)象在埋點(diǎn)規(guī)則的代碼中進(jìn)行定義,也就是說(shuō),在埋點(diǎn)規(guī)則中設(shè)置該模塊的埋點(diǎn)對(duì)象。埋點(diǎn)的對(duì)象可以是按鈕標(biāo)簽或其它指定的標(biāo)簽。具體地,可以對(duì)屬于該模塊的所有dom文件中按鈕標(biāo)簽(button/span/a)這些對(duì)象自動(dòng)開啟埋點(diǎn),這樣就可以通過(guò)模塊的所有按鈕標(biāo)簽進(jìn)行埋點(diǎn)統(tǒng)計(jì)。

s405、對(duì)業(yè)務(wù)文件進(jìn)行html模板渲染和css渲染。

實(shí)際中,需要對(duì)頁(yè)面進(jìn)行模板和樣式的渲染,本實(shí)施例中,在完成依賴文件加載后,基于依賴文件對(duì)模塊的業(yè)務(wù)文件進(jìn)行html模板渲染和css渲染。

s406、解除業(yè)務(wù)文件的封裝。

在對(duì)模塊的業(yè)務(wù)文件進(jìn)行渲染后,由于模塊的業(yè)務(wù)文件在之前進(jìn)行了封裝,需要對(duì)該業(yè)務(wù)文件的業(yè)務(wù)處理流程進(jìn)行解封裝,以便于該模塊的業(yè)務(wù)文件能夠被執(zhí)行。

在解除模塊的業(yè)務(wù)文件的封裝后,基于requirejs框架執(zhí)行該業(yè)務(wù)文件。在執(zhí)行業(yè)務(wù)文件的過(guò)程中,由于該業(yè)務(wù)文件中加載了模塊的埋點(diǎn)規(guī)則,基于該埋點(diǎn)規(guī)則中限定的埋點(diǎn)對(duì)象來(lái)記錄前端用戶的點(diǎn)擊行為,從而能夠?qū)η岸擞脩舻男袨閿?shù)據(jù)進(jìn)行統(tǒng)計(jì)。

此處需要說(shuō)明,使用requierjs作為底層的依賴實(shí)現(xiàn)此處為一個(gè)完整的示例,不作為限制本發(fā)明的條件。該前端用戶統(tǒng)計(jì)方法也可以基于seajs框架等底層依賴來(lái)實(shí)現(xiàn)。

本實(shí)施例中提供的前端用戶行為統(tǒng)計(jì)方法,通過(guò)加載頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件,解析業(yè)務(wù)文件獲取模塊的依賴文件,封裝業(yè)務(wù)文件的業(yè)務(wù)處理流程,加載模塊的依賴文件和模塊預(yù)置的埋點(diǎn)規(guī)則,對(duì)業(yè)務(wù)文件進(jìn) 行html模板渲染和css渲染,解除業(yè)務(wù)文件的封裝,執(zhí)行業(yè)務(wù)文件基于埋點(diǎn)規(guī)則中限定的埋點(diǎn)對(duì)象統(tǒng)計(jì)獲取頁(yè)面前端用戶的行為數(shù)據(jù)。本實(shí)施例提供了一種全局埋點(diǎn)機(jī)制,在加載依賴文件的同時(shí)寫入模塊的埋點(diǎn)規(guī)則,基于埋點(diǎn)規(guī)則中的埋點(diǎn)對(duì)象能夠?qū)η岸擞脩舻男袨檫M(jìn)行統(tǒng)計(jì),對(duì)頁(yè)面的全局自動(dòng)埋點(diǎn),能夠?qū)崿F(xiàn)對(duì)頁(yè)面前端用戶行為的全局統(tǒng)計(jì),而且統(tǒng)計(jì)效率較高。

實(shí)施例五

如圖5所示,其為本發(fā)明實(shí)施例五的前端用戶行為統(tǒng)計(jì)方法的流程示意圖。在上述實(shí)施例的基礎(chǔ)之上,該前端用戶行為統(tǒng)計(jì)方法包括以下步驟:

s501、在執(zhí)行業(yè)務(wù)文件的過(guò)程中對(duì)隸屬于頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。

當(dāng)業(yè)務(wù)文件加載和渲染完成后,可以執(zhí)行該業(yè)務(wù)文件的業(yè)務(wù)處理流程,在執(zhí)行處理流程的過(guò)程中,業(yè)務(wù)文件對(duì)隸屬頁(yè)面對(duì)應(yīng)模塊的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。也就是說(shuō),當(dāng)前端用戶在網(wǎng)頁(yè)上進(jìn)行頁(yè)面點(diǎn)擊時(shí),能夠觸發(fā)一個(gè)頁(yè)面點(diǎn)擊事件,該頁(yè)面點(diǎn)擊事件所隸屬的模塊對(duì)應(yīng)的業(yè)務(wù)文件就可以監(jiān)聽到該頁(yè)面點(diǎn)擊事件。

本實(shí)施例中,對(duì)頁(yè)面進(jìn)行模塊化處理,然后對(duì)頁(yè)面應(yīng)模塊進(jìn)行埋點(diǎn),在該模塊加載的時(shí)候,同時(shí)加載為頁(yè)面配置的埋點(diǎn)規(guī)則,在該模塊開啟埋點(diǎn)的情況下,該模塊下所有控件的頁(yè)面點(diǎn)擊事件均會(huì)被監(jiān)控。

s502、確定監(jiān)聽到的頁(yè)面點(diǎn)擊事件對(duì)應(yīng)的目標(biāo)對(duì)象。

當(dāng)頁(yè)面的業(yè)務(wù)文件監(jiān)聽到頁(yè)面點(diǎn)擊事件后,確定該頁(yè)面點(diǎn)擊事件對(duì)應(yīng)的目標(biāo)對(duì)象。

s503、判斷目標(biāo)對(duì)象是否開啟埋點(diǎn)功能。

上述實(shí)施例中在業(yè)務(wù)文件加載依賴文件時(shí),同時(shí)加載了為該頁(yè)面預(yù)先設(shè)置的埋點(diǎn)規(guī)則。其中,埋點(diǎn)規(guī)則中限定了頁(yè)面對(duì)應(yīng)模塊的埋點(diǎn)對(duì)象,并且設(shè)置有與埋點(diǎn)對(duì)象相應(yīng)的統(tǒng)計(jì)策略。本實(shí)施例中,開啟埋點(diǎn)的對(duì)象在埋點(diǎn)規(guī)則的代碼中進(jìn)行定義,埋點(diǎn)的對(duì)象可以是按鈕標(biāo)簽或其它指定的標(biāo)簽等控件。本實(shí)施例中,埋點(diǎn)規(guī)則限定了埋點(diǎn)對(duì)象以及埋點(diǎn)對(duì)象對(duì) 應(yīng)的統(tǒng)計(jì)策略。開啟埋點(diǎn)有兩種可選方式:一是在頁(yè)面加載時(shí)就會(huì)開啟埋點(diǎn)對(duì)象進(jìn)行埋點(diǎn)記錄。具體地,在加載預(yù)置的埋點(diǎn)規(guī)則時(shí),就對(duì)屬于該頁(yè)面的所有dom文件中按鈕標(biāo)簽等埋點(diǎn)對(duì)象自動(dòng)開啟埋點(diǎn)。二判斷每個(gè)埋點(diǎn)對(duì)象是否具有相應(yīng)的統(tǒng)計(jì)策略,如果埋點(diǎn)對(duì)象的統(tǒng)計(jì)策略不為空,說(shuō)明該目標(biāo)對(duì)象開啟了埋點(diǎn)功能,可以基于該埋點(diǎn)對(duì)象進(jìn)行用戶的行為數(shù)據(jù)統(tǒng)計(jì)。如果該目標(biāo)對(duì)象的統(tǒng)計(jì)策略為空,說(shuō)明該目標(biāo)對(duì)象未開啟埋點(diǎn)功能,則不對(duì)該目標(biāo)對(duì)象的進(jìn)行統(tǒng)計(jì)。

如果判斷出目標(biāo)對(duì)象開啟埋點(diǎn)功能,則執(zhí)行s504;否則,返回執(zhí)行s501。

s504、對(duì)目標(biāo)對(duì)象的點(diǎn)擊行為進(jìn)行埋點(diǎn)記錄,并依據(jù)埋點(diǎn)記錄和目標(biāo)對(duì)象的統(tǒng)計(jì)策略統(tǒng)計(jì)前端用戶的行為數(shù)據(jù)。

當(dāng)判斷出目標(biāo)對(duì)象開啟了埋點(diǎn),說(shuō)明可以對(duì)目標(biāo)對(duì)象進(jìn)行埋點(diǎn)記錄,可選地記錄點(diǎn)擊事件的按鈕、時(shí)間、坐標(biāo),其中點(diǎn)擊事件的坐標(biāo)為頁(yè)面中的位置,也可稱為坐標(biāo)。

進(jìn)一步地,獲取該目標(biāo)對(duì)象的統(tǒng)計(jì)策略,根據(jù)統(tǒng)計(jì)策略可以對(duì)目標(biāo)對(duì)象的埋點(diǎn)記錄進(jìn)行統(tǒng)計(jì),即可以對(duì)點(diǎn)擊的位置、點(diǎn)擊事件、用戶id、控件所隸屬的模塊等信息進(jìn)行統(tǒng)計(jì),從而可以獲取到前端用戶的行為數(shù)據(jù)。

s505、在對(duì)目標(biāo)對(duì)象的點(diǎn)擊行為進(jìn)行埋點(diǎn)記錄的同時(shí),獲取與該點(diǎn)擊行為對(duì)應(yīng)的請(qǐng)求事件,對(duì)請(qǐng)求事件的業(yè)務(wù)邏輯進(jìn)行記錄。

進(jìn)一步地,前端用戶的每次點(diǎn)擊行為,都會(huì)對(duì)應(yīng)網(wǎng)頁(yè)的一個(gè)請(qǐng)求事件,每個(gè)請(qǐng)求事件會(huì)有一定的業(yè)務(wù)邏輯,本實(shí)施例中,對(duì)目標(biāo)用戶的點(diǎn)擊行為進(jìn)行記錄的同時(shí),記錄點(diǎn)擊行為相應(yīng)的請(qǐng)求事件的業(yè)務(wù)邏輯。

s506、判斷記錄的次數(shù)是否超出閾值。

如果判斷結(jié)果為否,執(zhí)行s507;否則執(zhí)行s508。

s507、判斷在執(zhí)行業(yè)務(wù)文件過(guò)程中是否監(jiān)聽到頁(yè)面刷新事件或者頁(yè)面關(guān)閉事件。

如果判斷結(jié)果為是,執(zhí)行s508;否則返回執(zhí)行s501繼續(xù)對(duì)頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。

s508、將前端用戶的行為數(shù)據(jù)和記錄的業(yè)務(wù)邏輯寫入日志文件。

本實(shí)施例中,行為數(shù)據(jù)和業(yè)務(wù)邏輯先在前端進(jìn)行本地保存,當(dāng)記錄滿n條后,可以批量地將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯寫入到日志文件中進(jìn)行保存。也就是說(shuō),在記錄的過(guò)程中,將記錄的次數(shù)與預(yù)設(shè)的閾值進(jìn)行比較,當(dāng)記錄的次數(shù)超過(guò)閾值時(shí),批量地將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯寫入到日志文件中。實(shí)際應(yīng)用中,為了緩解本地存儲(chǔ)的壓力,可以在記錄的次數(shù)超過(guò)閾值時(shí),批量地將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯發(fā)送到服務(wù)器上進(jìn)行保存,在接收到行為數(shù)據(jù)和業(yè)務(wù)邏輯后,服務(wù)器可以按照設(shè)定的數(shù)據(jù)格式寫入到日志文件中。

進(jìn)一步地,本實(shí)施例中在執(zhí)行業(yè)務(wù)文件的過(guò)程中還可以對(duì)頁(yè)面的頁(yè)面刷新事件和頁(yè)面關(guān)閉事件進(jìn)行監(jiān)聽,當(dāng)監(jiān)聽到頁(yè)面刷新事件或者頁(yè)面關(guān)閉事件后,將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯寫入日志文件中。為了避免信息的丟失,將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯發(fā)送到后端的服務(wù)器進(jìn)行保存。服務(wù)器在接收到行為數(shù)據(jù)和業(yè)務(wù)邏輯后,可以按照設(shè)定的數(shù)據(jù)格式寫入到日志文件中。

進(jìn)一步地,對(duì)包含行為數(shù)據(jù)的日志文件進(jìn)行分析,基于該統(tǒng)計(jì)出的前端用戶的行為數(shù)據(jù),可以獲取到一些網(wǎng)頁(yè)的運(yùn)營(yíng)數(shù)據(jù)。其中,運(yùn)營(yíng)數(shù)據(jù)可以包括的獨(dú)立訪問(wèn)者數(shù)量(uniquevisitor簡(jiǎn)稱uv)、頁(yè)面瀏覽量或點(diǎn)擊量(pageview簡(jiǎn)稱pv)、模塊熱度、項(xiàng)目熱度、請(qǐng)求耗時(shí)統(tǒng)計(jì)、請(qǐng)求成功率、指定按鈕的統(tǒng)計(jì)、指定頁(yè)面的部分模塊統(tǒng)計(jì)、指定頁(yè)面的點(diǎn)擊熱力圖等。進(jìn)一步地可以將分析的結(jié)果展示給網(wǎng)頁(yè)的開發(fā)者,開發(fā)者可以將這些運(yùn)營(yíng)數(shù)據(jù)作為參考數(shù)據(jù),為實(shí)際的產(chǎn)品運(yùn)營(yíng)、設(shè)計(jì)排查錯(cuò)誤提供參考,為前端交互設(shè)計(jì)提供依據(jù)。

本實(shí)施例中提供的前端用戶行為統(tǒng)計(jì)方法,通過(guò)在執(zhí)行頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件的過(guò)程中,對(duì)隸屬于頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽,確定監(jiān)聽到頁(yè)面點(diǎn)擊事件對(duì)應(yīng)的目標(biāo)對(duì)象,判斷目標(biāo)對(duì)象是否為埋點(diǎn)規(guī)則中限定的埋點(diǎn)對(duì)象,在目標(biāo)對(duì)象開啟埋點(diǎn)功能時(shí),則可以對(duì)前端用戶的點(diǎn)擊行為進(jìn)行埋點(diǎn)記錄,依據(jù)埋點(diǎn)記錄統(tǒng)計(jì)前端用戶的行為數(shù)據(jù)。本實(shí)施例基于在模塊中加載的埋點(diǎn)規(guī)則,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)的前端用戶行為的全局統(tǒng) 計(jì),能夠獲取頁(yè)面全局的行為數(shù)據(jù),便于對(duì)頁(yè)面后期維護(hù)或者完善提供參考依據(jù)。

實(shí)施例六

如圖6所示,其為本發(fā)明實(shí)施例六的前端用戶行為統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖。該前端用戶行為統(tǒng)計(jì)裝置包括:獲取模塊11、監(jiān)聽模塊12和統(tǒng)計(jì)模塊13。

其中,獲取模塊11,用于獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則。

本實(shí)施例中,預(yù)先為頁(yè)面設(shè)置埋點(diǎn)規(guī)則,具體地,獲取頁(yè)面的所有控件,根據(jù)統(tǒng)計(jì)需求為不同的控件設(shè)置埋點(diǎn)規(guī)則??蛇x地獲取各控件的類型,為同一個(gè)類型的所有控件設(shè)置相同的埋點(diǎn)規(guī)則。

其中,埋點(diǎn)規(guī)則中限定了該頁(yè)面的埋點(diǎn)對(duì)象,并且設(shè)置有與埋點(diǎn)對(duì)象相應(yīng)的統(tǒng)計(jì)策略。

在頁(yè)面運(yùn)行之間,獲取模塊11需要獲取該頁(yè)面的埋點(diǎn)規(guī)則,具體地,在啟動(dòng)頁(yè)面時(shí),獲取模塊11將埋點(diǎn)規(guī)則加載到頁(yè)面的業(yè)務(wù)文件中。其中,頁(yè)面的業(yè)務(wù)文件為頁(yè)面的業(yè)務(wù)處理流程。

監(jiān)聽模塊12,用于在頁(yè)面運(yùn)行過(guò)程中,對(duì)頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。

當(dāng)用戶開啟頁(yè)面后,頁(yè)面的業(yè)務(wù)文件就可以執(zhí)行,即頁(yè)面的業(yè)務(wù)處理流程被啟動(dòng),在執(zhí)行處理流程的過(guò)程中,監(jiān)聽模塊12對(duì)隸屬該頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽。也就是說(shuō),當(dāng)前端用戶在網(wǎng)頁(yè)上進(jìn)行頁(yè)面點(diǎn)擊時(shí),能夠觸發(fā)一個(gè)頁(yè)面點(diǎn)擊事件,頁(yè)面對(duì)應(yīng)的業(yè)務(wù)文件就可以監(jiān)聽到該頁(yè)面點(diǎn)擊事件。

本實(shí)施例中,對(duì)頁(yè)面進(jìn)行埋點(diǎn),在該頁(yè)面啟動(dòng)時(shí)即加載頁(yè)面的業(yè)務(wù)文件的時(shí)候,同時(shí)加載該頁(yè)面對(duì)應(yīng)的埋點(diǎn)規(guī)則,相應(yīng)地就開啟埋點(diǎn)的功能,則頁(yè)面下所有控件的頁(yè)面點(diǎn)擊事件均會(huì)被監(jiān)聽模塊12監(jiān)聽。

統(tǒng)計(jì)模塊13,用于在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,基于埋點(diǎn)規(guī)則統(tǒng)計(jì)頁(yè)面前端用戶的行為數(shù)據(jù)。

在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,統(tǒng)計(jì)模塊13確定該頁(yè)面點(diǎn)擊事件對(duì)應(yīng)的目標(biāo)對(duì)象,進(jìn)一步地,當(dāng)確定出目標(biāo)對(duì)象后,統(tǒng)計(jì)模塊13需要判斷該目 標(biāo)對(duì)象是否開啟埋點(diǎn)。本實(shí)施例中,開啟埋點(diǎn)的對(duì)象在埋點(diǎn)規(guī)則中進(jìn)行定義,埋點(diǎn)的對(duì)象可以是按鈕標(biāo)簽或其它指定的標(biāo)簽等控件。

本實(shí)施例中,埋點(diǎn)對(duì)象開啟埋點(diǎn)的兩種可選方式,可參見上述實(shí)施例中的相關(guān)記載,此處不再贅述。

當(dāng)判斷出目標(biāo)對(duì)象開啟了埋點(diǎn),說(shuō)明可以對(duì)目標(biāo)對(duì)象進(jìn)行埋點(diǎn)記錄,統(tǒng)計(jì)模塊13基于目標(biāo)對(duì)象對(duì)應(yīng)的統(tǒng)計(jì)策略對(duì)前端用戶的用戶行為進(jìn)行監(jiān)督,這樣就可以統(tǒng)計(jì)獲取到前端用戶在使用頁(yè)面時(shí)的行為數(shù)據(jù)。具體內(nèi)容可參見上述實(shí)施例中相關(guān)記載,此處不再贅述。

本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)裝置,通過(guò)獲取為頁(yè)面預(yù)先設(shè)定的埋點(diǎn)規(guī)則,在頁(yè)面運(yùn)行過(guò)程中,對(duì)頁(yè)面的頁(yè)面點(diǎn)擊事件進(jìn)行監(jiān)聽,在監(jiān)聽到頁(yè)面點(diǎn)擊事件后,基于埋點(diǎn)規(guī)則統(tǒng)計(jì)該頁(yè)面前端用戶的行為數(shù)據(jù)。本實(shí)施例中為了實(shí)現(xiàn)了對(duì)頁(yè)面的自動(dòng)埋點(diǎn),先為頁(yè)面設(shè)置埋點(diǎn)規(guī)則,在頁(yè)面運(yùn)行時(shí)由頁(yè)面點(diǎn)擊事件觸發(fā)埋點(diǎn)開啟,解決了現(xiàn)有通過(guò)手動(dòng)埋點(diǎn)存在過(guò)錯(cuò)繁瑣便捷性較差的問(wèn)題,而且能夠?qū)?yè)面前端用戶的行為進(jìn)行全局統(tǒng)計(jì),統(tǒng)計(jì)效率較高。

實(shí)施例七

如圖7所示,其為本發(fā)明實(shí)施例七的前端用戶行為統(tǒng)計(jì)裝置的結(jié)構(gòu)示意圖。該前端用戶行為統(tǒng)計(jì)裝置包括:獲取模塊11、監(jiān)聽模塊12和統(tǒng)計(jì)模塊13。

本實(shí)施例中,統(tǒng)計(jì)模塊13一種可選地結(jié)構(gòu)方式包括:獲取單元131、判斷單元132、記錄單元133和寫入單元134。

其中,獲取單元131,用于確定監(jiān)聽到的所述頁(yè)面點(diǎn)擊事件對(duì)應(yīng)的目標(biāo)對(duì)象;

判斷單元132,用于判斷所述目標(biāo)對(duì)象是否開啟埋點(diǎn);

記錄單元133,用于在所述判斷單元判斷出所述目標(biāo)對(duì)象開啟埋點(diǎn)時(shí),對(duì)所述目標(biāo)對(duì)象的點(diǎn)擊行為進(jìn)行埋點(diǎn)記錄,并依據(jù)所述埋點(diǎn)記錄和所述目標(biāo)對(duì)象的統(tǒng)計(jì)策略統(tǒng)計(jì)所述前端用戶的行為數(shù)據(jù)。

進(jìn)一步地,記錄單元133,還用于在對(duì)所述目標(biāo)對(duì)象的點(diǎn)擊行為進(jìn)行埋點(diǎn)記錄的同時(shí),確定與所述點(diǎn)擊行為對(duì)應(yīng)的請(qǐng)求事件,對(duì)所述請(qǐng)求事 件的業(yè)務(wù)邏輯進(jìn)行記錄。

寫入單元134,用于在記錄的次數(shù)超過(guò)閾值時(shí),將所述行為數(shù)據(jù)和所述業(yè)務(wù)邏輯寫入日志文件。

進(jìn)一步地,監(jiān)聽模塊12,還用于在所述頁(yè)面運(yùn)行的過(guò)程中,對(duì)頁(yè)面刷新事件或者頁(yè)面關(guān)閉事件進(jìn)行監(jiān)聽。

寫入單元134,還用于在監(jiān)聽模塊12監(jiān)聽到所述頁(yè)面刷新事件或者所述頁(yè)面關(guān)閉事件時(shí),將所述行為數(shù)據(jù)和所述業(yè)務(wù)邏輯寫入日志文件。

可選地,行為數(shù)據(jù)和業(yè)務(wù)邏輯先在前端進(jìn)行本地保存,實(shí)際應(yīng)用中,為了緩解本地存儲(chǔ)的壓力,可以在記錄的次數(shù)超過(guò)閾值時(shí),批量地將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯發(fā)送到服務(wù)器上進(jìn)行保存,在接收到行為數(shù)據(jù)和業(yè)務(wù)邏輯后,服務(wù)器可以按照設(shè)定的數(shù)據(jù)格式寫入到日志文件中。

可選地,當(dāng)監(jiān)聽到頁(yè)面刷新事件或者頁(yè)面關(guān)閉事件后,為了避免信息的丟失,將記錄的行為數(shù)據(jù)和業(yè)務(wù)邏輯發(fā)送到后端的服務(wù)器進(jìn)行保存。服務(wù)器在接收到行為數(shù)據(jù)和業(yè)務(wù)邏輯后,可以按照設(shè)定的數(shù)據(jù)格式寫入到日志文件中。

本實(shí)施例中,獲取模塊11一種可選地結(jié)構(gòu)方式包括:模塊化單元111和獲取單元112。

其中,模塊化單元11,用于將所述頁(yè)面進(jìn)行模塊化處理。

獲取單元112,用于在啟動(dòng)所述頁(yè)面時(shí),將所述埋點(diǎn)規(guī)則加載到所述頁(yè)面對(duì)應(yīng)的模塊的業(yè)務(wù)文件中。其中,所述業(yè)務(wù)文件為所述頁(yè)面的業(yè)務(wù)處理流程。

獲取單元112一種可選地結(jié)構(gòu)方式包括:加載子單元1121、解析子單元1122、封裝子單元1123、渲染子單元1124和解封裝子單元1125。

解析子單元1122,用于對(duì)所述業(yè)務(wù)文件解析,以獲取所述依賴文件。

解析子單元1122用于在加載子單元1121加載頁(yè)面對(duì)應(yīng)模塊的業(yè)務(wù)文件之后,解析業(yè)務(wù)文件,以獲取頁(yè)面對(duì)應(yīng)模塊的依賴文件。

一般頁(yè)面的模塊會(huì)有三種依賴文件html依賴文件、css依賴文件和js依賴文件。

加載子單元1121具體用于加載頁(yè)面的業(yè)務(wù)文件,在加載頁(yè)面的業(yè)務(wù) 文件的埋點(diǎn)規(guī)則。進(jìn)一步地,加載子單元1121具體用于加載超級(jí)文本標(biāo)記語(yǔ)言html依賴文件、層疊樣式表css依賴文件和js依賴文件。

封裝子單元1123,用于封裝所述業(yè)務(wù)文件。

在加載子單元1121加載依賴文件和預(yù)先為頁(yè)面對(duì)應(yīng)模塊配置的埋點(diǎn)規(guī)則之前,封裝子單元1123封裝該業(yè)務(wù)文件的業(yè)務(wù)處理流程。

解封裝子單元1125,用于解除對(duì)所述業(yè)務(wù)文件的封裝。

在統(tǒng)計(jì)模塊13執(zhí)行業(yè)務(wù)文件基于埋點(diǎn)規(guī)則限定的埋點(diǎn)對(duì)象,統(tǒng)計(jì)獲取頁(yè)面前端用戶的行為數(shù)據(jù)之前,解封裝子單元1125解除對(duì)該業(yè)務(wù)文件的封裝。

渲染子單元1124用于對(duì)所述業(yè)務(wù)文件進(jìn)行超級(jí)文本標(biāo)記語(yǔ)言html模板渲染和層疊樣式表css渲染。

在解封裝子單元1125解除對(duì)業(yè)務(wù)文件的封裝之前,使用依賴文件對(duì)該業(yè)務(wù)文件進(jìn)行html模板渲染和css渲染。

本實(shí)施例提供的前端用戶行為統(tǒng)計(jì)裝置的各功能模塊可用于執(zhí)行圖1~5所示的前端用戶行為統(tǒng)計(jì)方法的流程,其具體工作原理不再贅述,詳見方法實(shí)施例的描述。

本實(shí)施例中,在頁(yè)面進(jìn)行了模塊化的基礎(chǔ)之上,為頁(yè)面對(duì)應(yīng)模塊配置埋點(diǎn)規(guī)則,當(dāng)執(zhí)行頁(yè)面的業(yè)務(wù)文件,則獲取相應(yīng)的埋點(diǎn)規(guī)則,在執(zhí)行業(yè)務(wù)文件的過(guò)程中基于埋點(diǎn)規(guī)則,獲取頁(yè)面前端用戶的行為數(shù)據(jù),實(shí)現(xiàn)對(duì)頁(yè)面的全局自動(dòng)埋點(diǎn),能夠?qū)?yè)面前端用戶行為的全局統(tǒng)計(jì),且統(tǒng)計(jì)效率較高。

本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記 載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。

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