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

分析用戶業(yè)務(wù)量的方法和系統(tǒng)的制作方法_2

文檔序號(hào):9417523閱讀:來源:國知局
量數(shù)據(jù)時(shí),數(shù)據(jù)處理節(jié)點(diǎn)也僅按照屬于同一用戶這一特征合并第一業(yè)務(wù)量數(shù)據(jù),例如將從不同單機(jī)節(jié)點(diǎn)接收的屬于同一用戶的第一業(yè)務(wù)量數(shù)據(jù)分別合并至張某、王某及其他用戶名下;當(dāng)單機(jī)節(jié)點(diǎn)按照屬于同一用戶的同一業(yè)務(wù)量種類分別合并初始業(yè)務(wù)量數(shù)據(jù)時(shí),數(shù)據(jù)處理節(jié)點(diǎn)也可以按照屬于同一用戶之下的同一業(yè)務(wù)量種類,分別合并第一業(yè)務(wù)量數(shù)據(jù),例如將來自于不同單機(jī)節(jié)點(diǎn)的屬于張某的第一業(yè)務(wù)量數(shù)據(jù)分別合并至張某的流量、容量和API調(diào)用這三種業(yè)務(wù)量種類下。
[0049]數(shù)據(jù)處理節(jié)點(diǎn)在進(jìn)行上述合并步驟之后,將合并得到的第二業(yè)務(wù)量數(shù)據(jù)發(fā)送給業(yè)務(wù)節(jié)點(diǎn),以便進(jìn)行下一步處理。
[0050]在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,在發(fā)送第二業(yè)務(wù)量數(shù)據(jù)至業(yè)務(wù)節(jié)點(diǎn)時(shí),并記錄第二發(fā)送事務(wù)的處理標(biāo)記至預(yù)設(shè)的第二重做日志。
[0051]需要說明的是,上述的第二發(fā)送事務(wù)為發(fā)送第二業(yè)務(wù)量數(shù)據(jù)至業(yè)務(wù)節(jié)點(diǎn)的事務(wù);第二發(fā)送事務(wù)的處理標(biāo)記至少包括第二發(fā)送事務(wù)的開始標(biāo)記和結(jié)束標(biāo)記。
[0052]在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,上述的發(fā)送第二業(yè)務(wù)量數(shù)據(jù)至業(yè)務(wù)節(jié)點(diǎn)還可以包括但不限于:響應(yīng)于第二業(yè)務(wù)量數(shù)據(jù)發(fā)送成功,間隔第二預(yù)定時(shí)間刪除內(nèi)存中發(fā)送成功的第二業(yè)務(wù)量數(shù)據(jù);響應(yīng)于將發(fā)送失敗的第二業(yè)務(wù)量數(shù)據(jù)合并回內(nèi)存的次數(shù)超過第二預(yù)置次數(shù)或持續(xù)發(fā)送失敗的時(shí)間超過第二預(yù)置時(shí)間,觸發(fā)報(bào)警提醒。
[0053]需要說明的是,上述的第二預(yù)定時(shí)間,是指預(yù)先設(shè)定的用于刪除內(nèi)存中發(fā)送成功的第二業(yè)務(wù)量數(shù)據(jù)的間隔時(shí)間,當(dāng)發(fā)送第二業(yè)務(wù)量數(shù)據(jù)成功第二預(yù)定時(shí)間后,刪除發(fā)送成功的第二業(yè)務(wù)量數(shù)據(jù);上述的第二預(yù)置次數(shù),是指預(yù)先設(shè)置的允許將發(fā)送失敗的第二業(yè)務(wù)量數(shù)據(jù)合并回內(nèi)存的次數(shù),當(dāng)將發(fā)送失敗的第二業(yè)務(wù)量數(shù)據(jù)合并回內(nèi)存的次數(shù)超過第二預(yù)置次數(shù)時(shí),觸發(fā)報(bào)警提醒;上述的第二預(yù)置時(shí)間,是指預(yù)先設(shè)置的允許持續(xù)發(fā)送失敗的時(shí)間,當(dāng)持續(xù)發(fā)送失敗的時(shí)間超過第二預(yù)置時(shí)間時(shí),觸發(fā)報(bào)警提醒。
[0054]在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,在根據(jù)用戶信息,合并來自于不同單機(jī)節(jié)點(diǎn)且具有同一時(shí)間戳的第一業(yè)務(wù)量數(shù)據(jù),得到第二業(yè)務(wù)量數(shù)據(jù)時(shí),可以記錄第二獲取事務(wù)的處理標(biāo)記至第二重做日志。
[0055]需要說明的是,第二獲取事務(wù)為根據(jù)用戶信息,合并來自于不同單機(jī)節(jié)點(diǎn)且具有同一時(shí)間戳的第一業(yè)務(wù)量數(shù)據(jù),得到第二業(yè)務(wù)量數(shù)據(jù)的事務(wù);第二獲取事務(wù)的處理標(biāo)記至少包括第二獲取事務(wù)的開始標(biāo)記和結(jié)束標(biāo)記。
[0056]步驟203,業(yè)務(wù)節(jié)點(diǎn)根據(jù)接收的第二業(yè)務(wù)量數(shù)據(jù),分析用戶業(yè)務(wù)量。
[0057]在本實(shí)施例中,分析用戶業(yè)務(wù)量這一操作步驟運(yùn)行于業(yè)務(wù)節(jié)點(diǎn)上。該業(yè)務(wù)節(jié)點(diǎn),與數(shù)據(jù)處理節(jié)點(diǎn)類似,可以根據(jù)接收的第二業(yè)務(wù)量數(shù)據(jù)和服務(wù)器的硬件配置來確定:當(dāng)接收的第二業(yè)務(wù)量數(shù)據(jù)能夠和初始業(yè)務(wù)量數(shù)據(jù)和/或第一業(yè)務(wù)量數(shù)據(jù)位于同一單機(jī)節(jié)點(diǎn)處理時(shí),業(yè)務(wù)節(jié)點(diǎn)可以是上述的單機(jī)節(jié)點(diǎn)或數(shù)據(jù)處理節(jié)點(diǎn)中的一個(gè);當(dāng)接收的第二業(yè)務(wù)量數(shù)據(jù)需要使用單獨(dú)的服務(wù)器進(jìn)行處理時(shí),業(yè)務(wù)節(jié)點(diǎn)也可以是獨(dú)立于上述的單機(jī)節(jié)點(diǎn)或數(shù)據(jù)處理節(jié)點(diǎn)的專用服務(wù)器,該專用服務(wù)器可以位于上述的包括單機(jī)節(jié)點(diǎn)或數(shù)據(jù)處理節(jié)點(diǎn)的服務(wù)器集群之一中,也可以獨(dú)立于上述的服務(wù)器集群存在;當(dāng)接收的第二業(yè)務(wù)量數(shù)據(jù)特別多,需要使用多臺(tái)服務(wù)器組成專用服務(wù)器集群進(jìn)行處理時(shí),業(yè)務(wù)節(jié)點(diǎn)還可以是專用的服務(wù)器集群。
[0058]在本實(shí)施例的一個(gè)具體的應(yīng)用場景中,用戶的業(yè)務(wù)量請(qǐng)求會(huì)被負(fù)載均衡至多個(gè)單機(jī)節(jié)點(diǎn)上并記錄到各個(gè)單機(jī)節(jié)點(diǎn)本地的請(qǐng)求日志中,計(jì)費(fèi)粒度為分鐘。分析用戶業(yè)務(wù)量的方法可以包括以下四個(gè)主要步驟:
[0059]1.單機(jī)節(jié)點(diǎn)從本地的請(qǐng)求日志中提取初始業(yè)務(wù)量數(shù)據(jù),并合并初始業(yè)務(wù)量數(shù)據(jù)至第一業(yè)務(wù)量數(shù)據(jù);
[0060]2.單機(jī)節(jié)點(diǎn)將合并的第一業(yè)務(wù)量數(shù)據(jù)發(fā)送至數(shù)據(jù)處理節(jié)點(diǎn);
[0061]3.數(shù)據(jù)處理節(jié)點(diǎn)合并來自于多個(gè)單機(jī)節(jié)點(diǎn)的第一業(yè)務(wù)量數(shù)據(jù),得到第二業(yè)務(wù)量數(shù)據(jù);
[0062]4.數(shù)據(jù)處理節(jié)點(diǎn)發(fā)送第二業(yè)務(wù)量數(shù)據(jù)至業(yè)務(wù)節(jié)點(diǎn)。
[0063]在這里,從單機(jī)節(jié)點(diǎn)的請(qǐng)求日志中提取初始業(yè)務(wù)量數(shù)據(jù),也即將用戶的請(qǐng)求日志轉(zhuǎn)化為分析用戶業(yè)務(wù)量(例如計(jì)費(fèi)業(yè)務(wù)量)所需要的初始業(yè)務(wù)量數(shù)據(jù)(例如流量數(shù)據(jù)、容量數(shù)據(jù)和API調(diào)用數(shù)據(jù)等)。
[0064]在上述的單機(jī)節(jié)點(diǎn)中合并初始業(yè)務(wù)量數(shù)據(jù)至第一業(yè)務(wù)量數(shù)據(jù),也即將初始業(yè)務(wù)量數(shù)據(jù)按照用戶業(yè)務(wù)量(例如計(jì)費(fèi)業(yè)務(wù)量)的時(shí)間粒度,用戶和其他業(yè)務(wù)量維度(例如流量維度、容量維度和API調(diào)用維度等)進(jìn)行合并,從而大大減少數(shù)據(jù)量。
[0065]由于負(fù)載均衡,一個(gè)用戶的業(yè)務(wù)量請(qǐng)求可能會(huì)由不同的單機(jī)節(jié)點(diǎn)進(jìn)行處理,因此可以將多個(gè)單機(jī)節(jié)點(diǎn)產(chǎn)生的第一業(yè)務(wù)量數(shù)據(jù)匯總到一起再次進(jìn)行合并,得到第二業(yè)務(wù)量數(shù)據(jù),進(jìn)一步減少數(shù)據(jù)量。
[0066]最終,再將合并后的第二業(yè)務(wù)量數(shù)據(jù)發(fā)送給業(yè)務(wù)節(jié)點(diǎn),既可以減少傳輸量,又可以減輕業(yè)務(wù)節(jié)點(diǎn)的計(jì)算負(fù)擔(dān),提高業(yè)務(wù)節(jié)點(diǎn)的計(jì)算效率。
[0067]如圖3所示,上述的四個(gè)主要步驟,前兩個(gè)步驟合并為一個(gè)模塊,稱為收集模塊Collector ;后兩個(gè)步驟合并為一個(gè)模塊,稱為發(fā)送模塊Sender。Collector和Sender都使用事務(wù)、重做日志Redo-Log和快照的方法來解決數(shù)據(jù)一致性和持久化的問題。
[0068]以下描述由位于單機(jī)節(jié)點(diǎn)中的Collector處理的第一操作流程:
[0069]Collector 首先記錄一條〈BEGIN TRANSACT1N Ti, READ〉(開始讀取時(shí)間戳Ti的日志,因?yàn)橄到y(tǒng)每一分鐘向消息隊(duì)列發(fā)送一次數(shù)據(jù),所以Ti的格式為“年月日時(shí)分”;因?yàn)門i的粒度為分,所以會(huì)從日志中讀取多條相同時(shí)間戳的日志上來),然后開始逐條解析本機(jī)上的用戶請(qǐng)求日志,每解析成功一條就向本地的Redo-Log中追加記錄〈Ti, Vorig, Vdest>(記錄數(shù)據(jù)修改,其中Vorig指的是依據(jù)此日志內(nèi)容被修改的內(nèi)存中的用戶數(shù)據(jù)的原始值,Vdest指的是該用戶數(shù)據(jù)修改后的值,整體的格式是“年月日時(shí)分用戶身份id統(tǒng)計(jì)項(xiàng)名稱原始值修改后值”),并將解析得到的用戶數(shù)據(jù)(也即第一業(yè)務(wù)量數(shù)據(jù))合并進(jìn)內(nèi)存中維護(hù)的數(shù)據(jù)集中。成功解析若干條后,或者沒有更多用戶請(qǐng)求日志時(shí),向本地Redo-Log中追加記錄當(dāng)前讀取的位置信息并結(jié)束當(dāng)前的事務(wù)〈FINISH TRANSACT1NTi, OffsetM結(jié)束讀取事務(wù),其中Offset指的是日志文件中的偏移量)。
[0070]Collector每隔一分鐘發(fā)送一批數(shù)據(jù)。首先記錄一條事務(wù)開始標(biāo)記〈BEGINTRANSACT1N Ti, SEND〉(開始發(fā)送事務(wù),此Ti格式同上面的Ti,系統(tǒng)以時(shí)間戳標(biāo)識(shí)一批數(shù)據(jù),一批數(shù)據(jù)會(huì)在重做日志中出現(xiàn)兩次,一次是上一段中從日志收集它時(shí),另外一次就是這里說明的發(fā)送它給消息隊(duì)列時(shí)),然后將所有數(shù)據(jù)從內(nèi)存數(shù)據(jù)集中取下,進(jìn)行編號(hào)后發(fā)送。發(fā)送如果失敗,則按照一定規(guī)則進(jìn)行重試,例如若重試發(fā)送的次數(shù)未達(dá)到預(yù)設(shè)的重試次數(shù)或重試發(fā)送的時(shí)間未達(dá)到預(yù)設(shè)的重試時(shí)間,則可以進(jìn)行重試。如果重試最終仍然失敗,將取下的數(shù)據(jù)合并回內(nèi)存數(shù)據(jù)集并在本地Redo-Log中記錄〈ABORT TRANSACT1N Ti〉(取消發(fā)送事務(wù),此Ti含義同前)。發(fā)送成功則更新發(fā)送編號(hào)并結(jié)束當(dāng)前事務(wù)〈FINISH TRANSACT1NTi, Sequence Number)(結(jié)束發(fā)送事務(wù),此Ti含義同前,Sequence Number 一個(gè)遞增的值,標(biāo)記數(shù)據(jù)發(fā)送的順序,由消息隊(duì)列產(chǎn)生,在推送成功的返回值中)。為防止Collector占用內(nèi)存過多,每隔一段時(shí)間,Collector會(huì)對(duì)已經(jīng)發(fā)送成功的數(shù)據(jù)進(jìn)行刪除;如果因?yàn)榘l(fā)送失敗而導(dǎo)致記錄在內(nèi)存中的數(shù)據(jù)過多,則會(huì)觸發(fā)報(bào)警。
[0071]以下描述由位于數(shù)據(jù)處理節(jié)點(diǎn)中的Sender處理的第二操作流程:
[0072]Sender首先在本地的重做日志Redo-Log中記錄一條〈BEGIN TRANSACT1NTi, READ>(開始從消息隊(duì)列讀取時(shí)間戳Ti的單機(jī)數(shù)據(jù),格式同前),然后開始逐條從消息隊(duì)列中解析來自于單機(jī)節(jié)點(diǎn)的第一業(yè)務(wù)量數(shù)據(jù),每解析成功一條先根據(jù)單機(jī)節(jié)點(diǎn)的ip地址加上時(shí)間戳Ti去重,發(fā)現(xiàn)重復(fù)的數(shù)據(jù)就丟棄并向本地的Redo-Log中追加記錄〈Ti, Sequence Number, DISCARD〉(丟棄重復(fù)數(shù)據(jù),Sequence Number 含義同上,這里之所以不記錄數(shù)據(jù)的變化是因?yàn)橄㈥?duì)列本身就能暫存數(shù)據(jù)的作用);如果第一業(yè)務(wù)量數(shù)據(jù)沒有重復(fù)則向Redo-Log中追加記錄〈Ti, Sequence Number, ACCUMULATED〉(處理此條單機(jī)數(shù)據(jù),Sequence Number含義同上),并將數(shù)據(jù)合并進(jìn)內(nèi)存中維護(hù)的數(shù)據(jù)集中。收集齊全部單機(jī)的同一時(shí)間戳的數(shù)據(jù)后,或者沒收集齊但是超時(shí)了,向Redo-Log中追加記錄當(dāng)前讀取的消息隊(duì)列中的位置信息并結(jié)束當(dāng)前的事務(wù)〈FINISH TRANSACT1N Ti,Last SequenceNumber) (Last Sequence Number是處理了的最后一條單機(jī)數(shù)據(jù)在消息隊(duì)列中的SequenceNumber)ο
[0073]Sender每隔一分鐘通過消息隊(duì)列發(fā)送一批數(shù)據(jù)給后面的計(jì)費(fèi)系統(tǒng)。首先記錄一條事務(wù)開始標(biāo)記〈BEGIN TRANSACT1N Ti, SEND〉(開始發(fā)送事務(wù),此Ti格式同上面的Ti),然后將所有數(shù)據(jù)從內(nèi)存數(shù)據(jù)集中取下,編號(hào)后進(jìn)行發(fā)送。發(fā)送如果失敗,則依據(jù)一定策略進(jìn)行重試,例如重試發(fā)送的次數(shù)未達(dá)到預(yù)設(shè)的重試次數(shù)或重試發(fā)送的時(shí)間未達(dá)到預(yù)設(shè)的重試時(shí)間,則可以進(jìn)行重試。如果最終發(fā)送仍然失敗,將取下的數(shù)據(jù)合并回內(nèi)存數(shù)據(jù)集并在Redo-Log中記錄〈ABORT TRANSACT1N Ti〉(取消發(fā)送事務(wù),此Ti含義同前)。成功則更新發(fā)送編號(hào)并結(jié)束當(dāng)前事務(wù)〈FINISH TRANSACT1N Ti, Sequence Number〉(結(jié)束發(fā)送事務(wù),此Ti含義同前,Sequence Number來源同前)。為防止Sender占用內(nèi)存過多,每隔一段時(shí)間,Sender會(huì)對(duì)已經(jīng)發(fā)送成功的數(shù)據(jù)進(jìn)行刪除;如果因?yàn)榘l(fā)送失敗而導(dǎo)致記錄在內(nèi)存中的數(shù)據(jù)過多,則會(huì)觸發(fā)報(bào)警。
[0074]本申請(qǐng)的上述實(shí)施例提供的方法在業(yè)務(wù)量數(shù)據(jù)傳輸?shù)倪^程中進(jìn)行了兩次數(shù)據(jù)合并,減少了不必要的重復(fù)數(shù)據(jù)的傳輸,并實(shí)現(xiàn)了按分鐘處理業(yè)務(wù)量數(shù)據(jù),計(jì)算延遲較低。
[0075]進(jìn)一步參考圖4,其示出了根據(jù)本申請(qǐng)實(shí)施例的基于圖2的分析用戶業(yè)務(wù)量的方法的一個(gè)示意性流程圖400。該分析用戶業(yè)務(wù)量的方法400,在圖2的分析用戶業(yè)務(wù)量的基礎(chǔ)上,上述的發(fā)送第一業(yè)務(wù)量數(shù)據(jù)至數(shù)據(jù)處理節(jié)點(diǎn),并記錄第一發(fā)送事務(wù)的處理標(biāo)記至預(yù)設(shè)的第一重做日志,可以包括以下步驟:
[0076]步驟401,記錄第一發(fā)送事務(wù)的開始標(biāo)記至預(yù)設(shè)的第一重做日志。
[0077]在本實(shí)施例中,記錄第一發(fā)送事務(wù)的開始標(biāo)記至預(yù)設(shè)的第一重做日志這一操作步驟可以運(yùn)行于單機(jī)節(jié)點(diǎn)中。其中,第一發(fā)送事務(wù)為發(fā)送第一業(yè)務(wù)量數(shù)據(jù)至數(shù)據(jù)處理節(jié)點(diǎn)的事務(wù)。第一發(fā)送事務(wù)的開始標(biāo)記包括發(fā)送的第一業(yè)務(wù)量數(shù)據(jù)的時(shí)間戳。
[0078]步驟402,根據(jù)發(fā)送的第一業(yè)務(wù)量數(shù)據(jù)的時(shí)間戳,獲取第一業(yè)務(wù)量數(shù)據(jù)。
[0079]在本實(shí)施例中,在步驟401記錄第一發(fā)送事務(wù)的開始標(biāo)記至預(yù)設(shè)的第一重做日志之后,可以根據(jù)第一發(fā)送事務(wù)的開始標(biāo)記中精確到分鐘的時(shí)間戳,獲取具有同一時(shí)間戳Ti的第一業(yè)務(wù)量數(shù)據(jù)。
[0080]步驟403,將獲取的第一業(yè)務(wù)量數(shù)據(jù)編號(hào),形成第一消息隊(duì)列。
[0081]在本實(shí)施例中,在獲取具有同一時(shí)間戳Ti的第一業(yè)務(wù)量數(shù)據(jù)之后,可以對(duì)具有同一時(shí)間戳Ti的第一業(yè)務(wù)量數(shù)據(jù)進(jìn)行編號(hào),例如按照通用唯一識(shí)別碼UUID對(duì)具有同一時(shí)間戳Ti的第一業(yè)務(wù)量數(shù)據(jù)進(jìn)行編號(hào),從而形成第一消息隊(duì)列,其中UUID可以包括生成第一業(yè)務(wù)量數(shù)據(jù)的日期和時(shí)間、時(shí)鐘序列和全局唯一的IEEE機(jī)器識(shí)別碼等。
[0082]步驟404,發(fā)送第一消息隊(duì)列至數(shù)據(jù)處理節(jié)點(diǎn)。
[0083]在本實(shí)施例中,在將獲取的第一業(yè)務(wù)量數(shù)據(jù)編號(hào),形成第一消息隊(duì)列之后,可以將形成的第一消息隊(duì)列發(fā)送至數(shù)據(jù)處理節(jié)點(diǎn)。
[0084]步驟405,響應(yīng)于發(fā)送第一消息隊(duì)列失敗,重試發(fā)送第一消息隊(duì)列。
[0085]在本實(shí)施例中,在發(fā)送第一消息隊(duì)列失敗之后,可以重試發(fā)送第一消息隊(duì)列,以提高發(fā)送第一消息隊(duì)列的成功率。
[0086]步驟406,若第一消息隊(duì)列重試發(fā)送的次數(shù)達(dá)到第一預(yù)設(shè)重試次數(shù)或重試發(fā)送的時(shí)間達(dá)到第一預(yù)設(shè)重試時(shí)間,將從內(nèi)存中獲取的第一業(yè)務(wù)量數(shù)據(jù)合并回內(nèi)存,并記錄第一發(fā)送事務(wù)的異常終止標(biāo)記至第一重做日志。
[0087]在本實(shí)施例中,記錄了第一發(fā)送事務(wù)的異常終止標(biāo)記,該第一發(fā)送事務(wù)的異常終止標(biāo)記中包括了發(fā)送失敗的第一業(yè)務(wù)量數(shù)據(jù)的時(shí)間戳,以便之后可以根據(jù)該時(shí)間戳,確定發(fā)送失敗的第一業(yè)務(wù)量數(shù)據(jù)的批次,從而重新發(fā)送該批次的第一業(yè)務(wù)量數(shù)據(jù)。
[0088]步驟407,響應(yīng)于發(fā)送第一消息隊(duì)列成功,更新發(fā)送第一消息隊(duì)列的編號(hào),并記錄第一發(fā)送事務(wù)的結(jié)束標(biāo)記至第一重做日志。
[0089]在本實(shí)施例中,第一發(fā)送事務(wù)的結(jié)束標(biāo)記包括發(fā)送成功的第一業(yè)務(wù)量數(shù)據(jù)的時(shí)間戳和發(fā)送成功的第一業(yè)務(wù)量數(shù)據(jù)的接續(xù)編號(hào),也即當(dāng)發(fā)送第一消息隊(duì)列成功時(shí),記錄了發(fā)送成功的第一業(yè)務(wù)量數(shù)據(jù)的批次,并將下一批次需要發(fā)送的第一業(yè)務(wù)量數(shù)據(jù)的編號(hào)更新至接續(xù)編號(hào)。
[0090]從圖4中可以看出,與圖2對(duì)應(yīng)的實(shí)施例相比,本實(shí)施例中的分析用戶業(yè)務(wù)量的方法的流程400,突出了記錄第一發(fā)送事務(wù)的處理標(biāo)記至預(yù)設(shè)的第一重做日志的步
當(dāng)前第2頁1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1