一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法
【專(zhuān)利摘要】本發(fā)明涉及一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法。本發(fā)明所述的方法通過(guò)改進(jìn)傳統(tǒng)的數(shù)據(jù)收集框架,利用新技術(shù)帶來(lái)的高并發(fā)處理能力和良好的可擴(kuò)展特性,簡(jiǎn)化數(shù)據(jù)收集清洗過(guò)程,改進(jìn)實(shí)效性,減少數(shù)據(jù)存儲(chǔ)規(guī)模,針對(duì)熱力圖的數(shù)據(jù)特性,優(yōu)化存儲(chǔ)過(guò)程,最終形成產(chǎn)生熱力圖展現(xiàn)過(guò)程。本發(fā)明針對(duì)熱力圖的特點(diǎn),結(jié)合Node.js的高并發(fā)處理能力,Redis的高速緩存,MySql的數(shù)據(jù)批量處理能力實(shí)現(xiàn)本發(fā)明的內(nèi)容。
【專(zhuān)利說(shuō)明】一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法,屬于計(jì)算機(jī)數(shù)據(jù)統(tǒng)計(jì)分析的【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002]關(guān)注用戶在頁(yè)面上的關(guān)注點(diǎn)與產(chǎn)品設(shè)計(jì)時(shí)的差異,并根據(jù)此差異作產(chǎn)品調(diào)整與優(yōu)化。普遍的做法是根據(jù)用戶在頁(yè)面上的點(diǎn)擊情況,描繪出用戶關(guān)注的頁(yè)面區(qū)域,并根據(jù)點(diǎn)擊次數(shù)的比例,對(duì)于各個(gè)區(qū)域著以不同的顏色更直觀簡(jiǎn)潔的展現(xiàn)用戶的關(guān)注區(qū)域的重要程度。這種展現(xiàn)用戶點(diǎn)擊情況的方式叫做熱力圖。
[0003]現(xiàn)有的熱力圖技術(shù)通過(guò)以下幾個(gè)專(zhuān)利說(shuō)明:
[0004]中國(guó)專(zhuān)利CN101777080B公開(kāi)了一種基于用戶點(diǎn)擊數(shù)據(jù)的網(wǎng)頁(yè)分析方法,在網(wǎng)頁(yè)上建立一個(gè)坐標(biāo)系,通過(guò)Javascript技術(shù)收集用戶鼠標(biāo)點(diǎn)擊數(shù)據(jù)的坐標(biāo),給當(dāng)前的頁(yè)面內(nèi)容起一個(gè)ID,當(dāng)內(nèi)容發(fā)生變化的時(shí)候,動(dòng)態(tài)更新當(dāng)前ID,并將鼠標(biāo)點(diǎn)擊數(shù)據(jù)的坐標(biāo)和其所對(duì)應(yīng)的ID號(hào)結(jié)合到一塊形成點(diǎn)擊數(shù)據(jù),以適應(yīng)后臺(tái)OLAP分析結(jié)構(gòu)的形式發(fā)送給數(shù)據(jù)收集服務(wù)器,存入數(shù)據(jù)庫(kù),并進(jìn)一步與系統(tǒng)收集到的相關(guān)聯(lián)的數(shù)據(jù)整合,最終在網(wǎng)頁(yè)上以富媒體技術(shù)形成熱力圖展示給用戶。為動(dòng)態(tài)變化的頁(yè)面提供了一種可行的分析方法,具有更大的信息反饋量,可為網(wǎng)絡(luò)營(yíng)銷(xiāo)分析師提供針對(duì)不同內(nèi)容頁(yè)面更為詳盡的分析數(shù)據(jù),為網(wǎng)頁(yè)的優(yōu)化提供進(jìn)一步的參考支持。此發(fā)明中著重提出了熱力圖前端收集的方法和數(shù)據(jù)收集后的展現(xiàn)方式,提出了熱力圖的概念和前端收集原理。本專(zhuān)利描述了描述數(shù)據(jù)收集和清理的過(guò)程,解決面對(duì)大訪問(wèn)量時(shí),如果搭建可維護(hù),輕量級(jí)的架構(gòu),支撐數(shù)據(jù)收集。
[0005]中國(guó)專(zhuān)利申請(qǐng)CN102043850A公開(kāi)了本發(fā)明提供了一種生成熱力圖的方法,首先記錄網(wǎng)頁(yè)內(nèi)的光標(biāo)在當(dāng)前分辨率的坐標(biāo)系中的當(dāng)前坐標(biāo),然后將所述當(dāng)前坐標(biāo)轉(zhuǎn)換為該光標(biāo)在標(biāo)準(zhǔn)分辨率下的標(biāo)準(zhǔn)坐標(biāo),最后記錄所述標(biāo)準(zhǔn)坐標(biāo)并根據(jù)該標(biāo)準(zhǔn)坐標(biāo)生成所述網(wǎng)頁(yè)的熱力圖。相應(yīng)地,本發(fā)明還提供一種記錄生成熱力圖所需數(shù)據(jù)的終端和一種生成熱力圖的服務(wù)器。實(shí)施本發(fā)明提供的方法及裝置,能生成精確性和正確性更高的熱力圖,能更準(zhǔn)確地顯示出網(wǎng)頁(yè)上的熱點(diǎn)頁(yè)面區(qū)域。此專(zhuān)利中對(duì)數(shù)據(jù)收集服務(wù)器提出來(lái)概念,但是沒(méi)有進(jìn)一步公開(kāi)細(xì)節(jié),沒(méi)有描述如何解決大并發(fā),大訪問(wèn)情況下的數(shù)據(jù)收集問(wèn)題,也沒(méi)有對(duì)架構(gòu)提出挑戰(zhàn),運(yùn)用高性能方案優(yōu)化架構(gòu)。
[0006]中國(guó)專(zhuān)利申請(qǐng)CN102831218A公開(kāi)了一種熱力圖中的數(shù)據(jù)確定方法及裝置,該熱力圖中的數(shù)據(jù)確定方法包括:獲取網(wǎng)頁(yè)的熱力圖;獲取用戶在網(wǎng)頁(yè)上點(diǎn)擊的坐標(biāo)和事件的數(shù)據(jù),其中,事件為點(diǎn)擊所觸發(fā)的事件,事件的數(shù)據(jù)為與事件對(duì)應(yīng)的數(shù)據(jù);以及確定熱力圖中與坐標(biāo)對(duì)應(yīng)的事件的數(shù)據(jù)。通過(guò)本發(fā)明,由于在獲取了網(wǎng)頁(yè)的熱力圖后,獲取了用戶每次進(jìn)行點(diǎn)擊時(shí)的坐標(biāo)以及該點(diǎn)擊所觸發(fā)的事件的數(shù)據(jù),因此可以確定熱力圖上每個(gè)點(diǎn)對(duì)應(yīng)的事件的數(shù)據(jù),從而提高了網(wǎng)頁(yè)數(shù)據(jù)分析的準(zhǔn)確性。此專(zhuān)利與中國(guó)專(zhuān)利CN101777080類(lèi)似,只是提出了數(shù)據(jù)展示時(shí)的方式方法,屬于理論的進(jìn)一步演化,對(duì)于實(shí)際生產(chǎn)過(guò)程中的性能問(wèn)題、容量問(wèn)題沒(méi)有進(jìn)行考慮。[0007]上述專(zhuān)利文獻(xiàn),多數(shù)是從理論層面對(duì)熱力圖的收集方法、展現(xiàn)方式提出了優(yōu)化后的方案,屬于對(duì)熱力圖的業(yè)務(wù)演化,從熱力圖的使用者角度優(yōu)化了數(shù)據(jù)準(zhǔn)確性,但是都沒(méi)有對(duì)數(shù)據(jù)的收集處理層次的架構(gòu)提出詳細(xì)描述,提出過(guò)利用高性能方案使架構(gòu)輕量化,部署簡(jiǎn)易化、可維護(hù)。
【發(fā)明內(nèi)容】
[0008]針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法。本發(fā)明所述的方法通過(guò)改進(jìn)傳統(tǒng)的數(shù)據(jù)收集框架,利用新技術(shù)帶來(lái)的高并發(fā)處理能力和良好的可擴(kuò)展特性,簡(jiǎn)化數(shù)據(jù)收集清洗過(guò)程,改進(jìn)實(shí)效性,減少數(shù)據(jù)存儲(chǔ)規(guī)模,針對(duì)熱力圖的數(shù)據(jù)特性,優(yōu)化存儲(chǔ)過(guò)程,最終形成產(chǎn)生熱力圖展現(xiàn)過(guò)程。本發(fā)明針對(duì)熱力圖的特點(diǎn),結(jié)合Node, js的高并發(fā)處理能力,Redis的高速緩存,MySql的數(shù)據(jù)批量處理能力實(shí)現(xiàn)本發(fā)明的內(nèi)容。
[0009]本發(fā)明的技術(shù)方案在于:
[0010]一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法,包括步驟如下:
[0011](I)根據(jù)系統(tǒng)要接受的數(shù)據(jù)量,依據(jù)每300并發(fā)橫向部署一個(gè)數(shù)據(jù)接收服務(wù)應(yīng)用,制定部署方案;
[0012](2)根據(jù)部署方案分別部署負(fù)載均衡服務(wù)應(yīng)用、數(shù)據(jù)接收服務(wù)應(yīng)用、數(shù)據(jù)處理服務(wù)應(yīng)用、高速緩存中間件和數(shù)據(jù)庫(kù)存儲(chǔ);
[0013](3)在需要收集數(shù)據(jù)的網(wǎng)頁(yè)上部署一個(gè)script標(biāo)簽,由script標(biāo)簽向Node, js開(kāi)發(fā)的負(fù)載均衡服務(wù)器請(qǐng)求一個(gè)針對(duì)此頁(yè)面的執(zhí)行JavaScript,由請(qǐng)求來(lái)的JavaScript負(fù)責(zé)收集用戶的點(diǎn)擊,將用戶點(diǎn)擊坐標(biāo)按照用戶頁(yè)面居左/居中/居左布局方式轉(zhuǎn)化成以整個(gè)頁(yè)面水平中心點(diǎn)為基準(zhǔn)點(diǎn)的坐標(biāo),并按照可配置的點(diǎn)擊數(shù)量分組發(fā)送到Node, js開(kāi)發(fā)的數(shù)據(jù)接收服務(wù)器,數(shù)據(jù)接收服務(wù)應(yīng)用把接收的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到Redis里面,并更新Rdeis里面每個(gè)頁(yè)面的最大點(diǎn)擊數(shù);此過(guò)程中負(fù)載均衡服務(wù)應(yīng)用負(fù)責(zé)進(jìn)行請(qǐng)求的負(fù)載均衡、JavaScript片段的生成與緩存管理;
[0014](4)在數(shù)據(jù)庫(kù)中記錄需要數(shù)據(jù)收集的頁(yè)面的居左/居中/居左布局方式和頁(yè)面點(diǎn)擊對(duì)應(yīng)的存儲(chǔ)表,負(fù)載均衡服務(wù)應(yīng)用負(fù)責(zé)從數(shù)據(jù)庫(kù)中提取以上數(shù)據(jù),頁(yè)面代碼根據(jù)從負(fù)載均衡服務(wù)應(yīng)用請(qǐng)求過(guò)來(lái)的布局方式,決定以何種方式轉(zhuǎn)換點(diǎn)擊數(shù)據(jù)并上傳到數(shù)據(jù)接收服務(wù)應(yīng)用;
[0015](5)數(shù)據(jù)接收服務(wù)與高速緩存和數(shù)據(jù)處理服務(wù)共同完成數(shù)據(jù)清洗并把以頁(yè)面為單位的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中;
[0016](6)展現(xiàn)頁(yè)面根據(jù)數(shù)據(jù)庫(kù)中的點(diǎn)擊位置和每個(gè)位置的點(diǎn)擊數(shù)量數(shù)據(jù)展示成為熱力圖。
[0017]名詞解釋:
[0018]Node, js:是一套用來(lái)編寫(xiě)高性能網(wǎng)絡(luò)服務(wù)器的JavaScript工具包
[0019]Redis:是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)
[0020]MySQL:是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng)
[0021]基本架構(gòu)描述:在需要收集數(shù)據(jù)的網(wǎng)頁(yè)上部署一個(gè)script標(biāo)簽,由script標(biāo)簽向Node, js開(kāi)發(fā)的負(fù)載均衡服務(wù)器請(qǐng)求一個(gè)針對(duì)此頁(yè)面的可執(zhí)行JavaScript,由請(qǐng)求來(lái)的JavaScript負(fù)責(zé)收集用戶的點(diǎn)擊,將用戶點(diǎn)擊坐標(biāo)按照用戶頁(yè)面布局方式轉(zhuǎn)化成以頁(yè)面水平中心點(diǎn)為基準(zhǔn)點(diǎn)的坐標(biāo),并按照數(shù)量分組發(fā)送到Node, js開(kāi)發(fā)的數(shù)據(jù)接收服務(wù)器,數(shù)據(jù)接收服務(wù)器把接收的數(shù)據(jù)存儲(chǔ)到Redis里面,并更新每個(gè)頁(yè)面的最大點(diǎn)擊數(shù)。此過(guò)程中負(fù)載均衡服務(wù)器負(fù)責(zé)進(jìn)行請(qǐng)求的負(fù)載均衡、JavaScript片段的生成與緩存管理,
[0022]由Node, js開(kāi)發(fā)的數(shù)據(jù)處理服務(wù)器負(fù)責(zé)每10秒處理一次Redis緩存里面的數(shù)據(jù),處理時(shí)需要在mysql中建立一個(gè)臨時(shí)表,把Redis里面的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到臨時(shí)表里面,再把臨時(shí)表中按照頁(yè)面坐標(biāo)存儲(chǔ)的點(diǎn)擊數(shù)據(jù),存儲(chǔ)到實(shí)體表里面,在數(shù)據(jù)處理服務(wù)器中在架構(gòu)中的責(zé)任主要是負(fù)責(zé)數(shù)據(jù)的遷移和處理,所以在數(shù)據(jù)處理服務(wù)器中也添加了主從庫(kù)數(shù)據(jù)遷移和點(diǎn)擊數(shù)據(jù)按照時(shí)間匯總的功能,在具體使用時(shí),參考整個(gè)系統(tǒng)需要承擔(dān)的數(shù)據(jù)壓力,數(shù)據(jù)處理服務(wù)器根據(jù)啟動(dòng)參數(shù)的不同執(zhí)行不同的功能。整個(gè)架構(gòu)采用松耦合的、類(lèi)似于依賴注入的機(jī)制,讓服務(wù)器與服務(wù)器之間聯(lián)系起來(lái),在此架構(gòu)基礎(chǔ)上可以做到高度的水平擴(kuò)展。
[0023]采用本發(fā)明所述方法的有益效果:
[0024]1、本發(fā)明所述的方法采用Node, js,其中Node, js是近年來(lái)興起的輕量級(jí)服務(wù)器端語(yǔ)言,特點(diǎn)是無(wú)阻塞、高性能。以往的數(shù)據(jù)收集,如果上升到企業(yè)級(jí)的架構(gòu),無(wú)不是采用日志收集的方式,原因在于沒(méi)有更多的人力資源可以投入到從相關(guān)中間件的底層開(kāi)始開(kāi)發(fā)一套有針對(duì)性的數(shù)據(jù)收集框架,Node, js的特點(diǎn)可以輕易解決這個(gè)問(wèn)題。所以在此發(fā)明中,Node, js大大簡(jiǎn)化了數(shù)據(jù)收集端的架構(gòu)復(fù)雜度,可以方便的我們定制個(gè)性化的處理過(guò)程,并且相對(duì)于巨型的中間件,部署是輕量級(jí)的、簡(jiǎn)單的、可控及易于調(diào)整的。
[0025]2、本發(fā)明利用首先插入temp表,然后更新實(shí)體表這樣一個(gè)過(guò)程中能處理大數(shù)據(jù)的特點(diǎn),把收集到的原始數(shù)據(jù)映射到具體的二維格式存儲(chǔ)中,簡(jiǎn)化數(shù)據(jù)收集清理轉(zhuǎn)存的過(guò)程。由于收集端是可控的,已經(jīng)簡(jiǎn)化了數(shù)據(jù)清洗的困難程度,又因?yàn)榇鎯?chǔ)的是關(guān)于坐標(biāo)相關(guān)的內(nèi)容,可以采取二維映射的方式,在存儲(chǔ)過(guò)程中最大限度的匯總數(shù)據(jù),做到最終存儲(chǔ)在實(shí)體表中、占用存儲(chǔ)空間的數(shù)據(jù)的增長(zhǎng)是有限的。
[0026]3、由于整個(gè)架構(gòu)是可以水平擴(kuò)展的,并且每個(gè)部分的部署是輕量級(jí)的,這就為大型的可水平擴(kuò)展的部署儲(chǔ)備了條件。在數(shù)據(jù)爆炸今天,企業(yè)級(jí)服務(wù)器與存儲(chǔ)正在被可以水平擴(kuò)展的大型矩陣式的服務(wù)器集群與存儲(chǔ)集群所替代,以為的龐大的數(shù)據(jù)清理和計(jì)算架構(gòu),不利于水平擴(kuò)展的部署,優(yōu)化的方案由于對(duì)機(jī)器能力的要求較小,可以輕易在PC集群上部署,在一定程度上符合當(dāng)前的發(fā)展趨勢(shì)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0027]圖1為本發(fā)明所述方法的架構(gòu)描述圖;
[0028]圖2為利用本發(fā)明所述方法后所顯示的頁(yè)面效果圖;
[0029]圖3數(shù)據(jù)收集流程。
【具體實(shí)施方式】
[0030]下面結(jié)合實(shí)施例對(duì)本發(fā)明做詳細(xì)的說(shuō)明,但不限于此。
[0031]實(shí)施例1、
[0032]一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法,包括步驟如下:
[0033](I)根據(jù)系統(tǒng)要接受的數(shù)據(jù)量,依據(jù)每300并發(fā)橫向部署一個(gè)數(shù)據(jù)接收服務(wù)應(yīng)用,制定部署方案;
[0034](2)根據(jù)部署方案分別部署負(fù)載均衡服務(wù)應(yīng)用、數(shù)據(jù)接收服務(wù)應(yīng)用、數(shù)據(jù)處理服務(wù)應(yīng)用、高速緩存中間件和數(shù)據(jù)庫(kù)存儲(chǔ);
[0035](3)在需要收集數(shù)據(jù)的網(wǎng)頁(yè)上部署一個(gè)script標(biāo)簽,由script標(biāo)簽向Node, js開(kāi)發(fā)的負(fù)載均衡服務(wù)器請(qǐng)求一個(gè)針對(duì)此頁(yè)面的執(zhí)行JavaScript,由請(qǐng)求來(lái)的JavaScript負(fù)責(zé)收集用戶的點(diǎn)擊,將用戶點(diǎn)擊坐標(biāo)按照用戶頁(yè)面居左/居中/居左布局方式轉(zhuǎn)化成以整個(gè)頁(yè)面水平中心點(diǎn)為基準(zhǔn)點(diǎn)的坐標(biāo),并按照可配置的點(diǎn)擊數(shù)量分組發(fā)送到Node, js開(kāi)發(fā)的數(shù)據(jù)接收服務(wù)器,數(shù)據(jù)接收服務(wù)應(yīng)用把接收的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到Redis里面,并更新Rdeis里面每個(gè)頁(yè)面的最大點(diǎn)擊數(shù);此過(guò)程中負(fù)載均衡服務(wù)應(yīng)用負(fù)責(zé)進(jìn)行請(qǐng)求的負(fù)載均衡、JavaScript片段的生成與緩存管理;
[0036](4)在數(shù)據(jù)庫(kù)中記錄需要數(shù)據(jù)收集的頁(yè)面的居左/居中/居左布局方式和頁(yè)面點(diǎn)擊對(duì)應(yīng)的存儲(chǔ)表,負(fù)載均衡服務(wù)應(yīng)用負(fù)責(zé)從數(shù)據(jù)庫(kù)中提取以上數(shù)據(jù),頁(yè)面代碼根據(jù)從負(fù)載均衡服務(wù)應(yīng)用請(qǐng)求過(guò)來(lái)的布局方式,決定以何種方式轉(zhuǎn)換點(diǎn)擊數(shù)據(jù)并上傳到數(shù)據(jù)接收服務(wù)應(yīng)用;
[0037](5)數(shù)據(jù)接收服務(wù)與高速緩存和數(shù)據(jù)處理服務(wù)共同完成數(shù)據(jù)清洗并把以頁(yè)面為單位的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中;
[0038](6)展現(xiàn)頁(yè)面根據(jù)數(shù)據(jù)庫(kù)中的點(diǎn)擊位置和每個(gè)位置的點(diǎn)擊數(shù)量數(shù)據(jù)展示成為熱力圖。
[0039]利用本發(fā)明準(zhǔn)對(duì)用戶數(shù)量為300萬(wàn),日訪問(wèn)量在20-30萬(wàn)之間的網(wǎng)站,對(duì)部分頁(yè)面做熱力圖監(jiān)控:
[0040]針對(duì)以上的這個(gè)情況,從服務(wù)器部署、數(shù)據(jù)準(zhǔn)備,頁(yè)面JavaScript實(shí)施等角度做詳述,
[0041](I)服務(wù)器部署:整個(gè)架構(gòu)部署在兩臺(tái)2個(gè)CPU、4G內(nèi)存的機(jī)器上,達(dá)到300每秒最大請(qǐng)求數(shù),滿足了日訪問(wèn)量在30W以內(nèi)的要求;為了避免單點(diǎn)的問(wèn)題,把負(fù)載均衡服務(wù)、數(shù)據(jù)收集服務(wù)、數(shù)據(jù)處理服務(wù)、Mysql、Redis交叉部署在兩臺(tái)服務(wù)器上,每種服務(wù)部署兩個(gè)以上。對(duì)于最可能形成單點(diǎn)的負(fù)載均衡服務(wù)器,采用主備的方式部署,主備之間采用心跳檢測(cè)保持狀態(tài);
[0042](2)數(shù)據(jù)準(zhǔn)備:整理需要監(jiān)控頁(yè)面的頁(yè)面布局方式,并將需要監(jiān)控的頁(yè)面URL和布局方式存儲(chǔ)到數(shù)據(jù)庫(kù)中;
[0043](3)頁(yè)面JavaScript實(shí)施:在需要檢測(cè)的網(wǎng)站頁(yè)面主框架上嵌入一個(gè)JavaScript標(biāo)簽,需要收集熱力圖的頁(yè)面的點(diǎn)擊情況就可以收集起來(lái),不需要收集點(diǎn)擊情況的頁(yè)面不會(huì)執(zhí)行收集動(dòng)作;
[0044](4)查看:使用熱力圖生成組件查看已經(jīng)收集到點(diǎn)擊數(shù)據(jù)的頁(yè)面的熱力圖。
【權(quán)利要求】
1.一種輕量級(jí)架構(gòu)的利用流數(shù)據(jù)概念生成熱力圖的方法,其特征在于,該方法包括步驟如下: (1)根據(jù)系統(tǒng)要接受的數(shù)據(jù)量,依據(jù)每300并發(fā)橫向部署一個(gè)數(shù)據(jù)接收服務(wù)應(yīng)用,制定部署方案; (2)根據(jù)部署方案分別部署負(fù)載均衡服務(wù)應(yīng)用、數(shù)據(jù)接收服務(wù)應(yīng)用、數(shù)據(jù)處理服務(wù)應(yīng)用、高速緩存中間件和數(shù)據(jù)庫(kù)存儲(chǔ); (3)在需要收集數(shù)據(jù)的網(wǎng)頁(yè)上部署一個(gè)script標(biāo)簽,由script標(biāo)簽向Node,js開(kāi)發(fā)的負(fù)載均衡服務(wù)器請(qǐng)求一個(gè)針對(duì)此頁(yè)面的執(zhí)行JavaScript,由請(qǐng)求來(lái)的JavaScript負(fù)責(zé)收集用戶的點(diǎn)擊,將用戶點(diǎn)擊坐標(biāo)按照用戶頁(yè)面居左/居中/居左布局方式轉(zhuǎn)化成以整個(gè)頁(yè)面水平中心點(diǎn)為基準(zhǔn)點(diǎn)的坐標(biāo),并按照可配置的點(diǎn)擊數(shù)量分組發(fā)送到Node, js開(kāi)發(fā)的數(shù)據(jù)接收服務(wù)器,數(shù)據(jù)接收服務(wù)應(yīng)用把接收的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到Redis里面,并更新Rdeis里面每個(gè)頁(yè)面的最大點(diǎn)擊數(shù);此過(guò)程中負(fù)載均衡服務(wù)應(yīng)用負(fù)責(zé)進(jìn)行請(qǐng)求的負(fù)載均衡、JavaScript片段的生成與緩存管理; (4)在數(shù)據(jù)庫(kù)中記錄需要數(shù)據(jù)收集的頁(yè)面的居左/居中/居左布局方式和頁(yè)面點(diǎn)擊對(duì)應(yīng)的存儲(chǔ)表,負(fù)載均衡服務(wù)應(yīng)用負(fù)責(zé)從數(shù)據(jù)庫(kù)中提取以上數(shù)據(jù),頁(yè)面代碼根據(jù)從負(fù)載均衡服務(wù)應(yīng)用請(qǐng)求過(guò)來(lái)的布局方式,決定以何種方式轉(zhuǎn)換點(diǎn)擊數(shù)據(jù)并上傳到數(shù)據(jù)接收服務(wù)應(yīng)用; (5)數(shù)據(jù)接收服務(wù)與高速緩存和數(shù)據(jù)處理服務(wù)共同完成數(shù)據(jù)清洗并把以頁(yè)面為單位的點(diǎn)擊數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中; (6)展現(xiàn)頁(yè)面根據(jù)數(shù)據(jù)庫(kù)中的點(diǎn)擊位置和每個(gè)位置的點(diǎn)擊數(shù)量數(shù)據(jù)展示成為熱力圖。
【文檔編號(hào)】G06F17/30GK103927368SQ201410162704
【公開(kāi)日】2014年7月16日 申請(qǐng)日期:2014年4月22日 優(yōu)先權(quán)日:2014年4月22日
【發(fā)明者】張?zhí)? 申請(qǐng)人:浪潮軟件股份有限公司