本發(fā)明涉及小流量實(shí)驗(yàn)技術(shù)領(lǐng)域,特別是涉及一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)與方法。
背景技術(shù):
在互聯(lián)網(wǎng)時(shí)代,互聯(lián)網(wǎng)企業(yè)的服務(wù)系統(tǒng)每天都會(huì)獲得大量用戶流量,研發(fā)團(tuán)隊(duì)會(huì)對(duì)這些用戶流量進(jìn)行小流量實(shí)驗(yàn),通過小流量實(shí)驗(yàn)確定用戶的每次請(qǐng)求對(duì)應(yīng)的策略,然后結(jié)合用戶反饋確定出用戶感興趣的策略,根據(jù)用戶感興趣的策略調(diào)整互聯(lián)網(wǎng)產(chǎn)品,以提升用戶的使用體驗(yàn)。
目前,在進(jìn)行小流量實(shí)驗(yàn)時(shí),需要區(qū)分服務(wù)為每個(gè)服務(wù)分別搭建小流量實(shí)驗(yàn)框架,所搭建的每個(gè)小流量框架中需要?jiǎng)澐殖龆鄠€(gè)流量桶,在不同的流量桶上,服務(wù)提供不同的交互展示或執(zhí)行不同的處理邏輯,因此,不同的流量桶對(duì)應(yīng)不同的策略。目前,在進(jìn)行流量跟蹤時(shí),一個(gè)小流量實(shí)驗(yàn)框架僅能對(duì)一個(gè)服務(wù)下的請(qǐng)求進(jìn)行分析,在對(duì)每個(gè)請(qǐng)求進(jìn)行分析時(shí),確定請(qǐng)求對(duì)應(yīng)的流量分桶,然后確定流量分桶對(duì)應(yīng)的策略,最終即可確定該請(qǐng)求對(duì)應(yīng)的策略,重復(fù)執(zhí)行上述邏輯,即可確定該服務(wù)下各請(qǐng)求對(duì)應(yīng)的策略,綜合各請(qǐng)求對(duì)應(yīng)的策略、以及用戶反饋即可確定該服務(wù)下用戶感興趣的策略。
可見,目前一個(gè)小流量實(shí)驗(yàn)框架僅能滿足對(duì)一個(gè)服務(wù)的流量的跟蹤,而無法滿足對(duì)多個(gè)服務(wù)的流量的跟蹤,普適性差。若需要對(duì)多個(gè)服務(wù)的進(jìn)行流量跟蹤時(shí),則需要構(gòu)建多個(gè)小流量實(shí)驗(yàn)框架安裝在服務(wù)系統(tǒng)中,這不僅占用服務(wù)系統(tǒng)的存儲(chǔ)資源,還會(huì)耗費(fèi)大量的人力資源。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有的小流量實(shí)驗(yàn)框架普適性差的問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)與方法。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng),包括:確定模塊,用于針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù),確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí);哈希算法模塊,用于計(jì)算所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述請(qǐng)求的標(biāo)識(shí)組成的字符串對(duì)應(yīng)的哈希值;策略確定模塊,用于依據(jù)所述哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí);標(biāo)識(shí)存儲(chǔ)模塊,用于持久化存儲(chǔ)所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
優(yōu)選地,所述系統(tǒng)還包括:應(yīng)用場(chǎng)景注冊(cè)模塊,用于在所述確定模塊針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)之前,針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)進(jìn)行注冊(cè),為該服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí)。
優(yōu)選地,所述應(yīng)用場(chǎng)景注冊(cè)模塊還用于:確定所述服務(wù)對(duì)應(yīng)的上下游服務(wù),在所述服務(wù)、以及確定的上下游服務(wù)的接口中均添加數(shù)據(jù)存儲(chǔ)字段;所述數(shù)據(jù)存儲(chǔ)字段用于存儲(chǔ)存在映射關(guān)系的字符串。
優(yōu)選地,所述系統(tǒng)還包括:數(shù)據(jù)存儲(chǔ)模塊,用于將所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,存儲(chǔ)至所述請(qǐng)求所屬的服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下。
優(yōu)選地,所述系統(tǒng)還包括:上報(bào)模塊,用于當(dāng)請(qǐng)求處理完成后,按照服務(wù)的上下層關(guān)系,逐層將下游服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù)上報(bào)至上一層服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下,直至將數(shù)據(jù)上報(bào)至所述服務(wù)對(duì)應(yīng)的最上游服務(wù)為止。
優(yōu)選地,所述標(biāo)識(shí)存儲(chǔ)模塊包括:格式轉(zhuǎn)化子模塊,用于獲取最上游服務(wù)的接口中的、數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)的數(shù)據(jù),并進(jìn)行格式轉(zhuǎn)化;寫入子模塊,用于將轉(zhuǎn)化后的數(shù)據(jù)寫入至持久化存儲(chǔ)中。
優(yōu)選地,所述系統(tǒng)還包括:日志數(shù)據(jù)存儲(chǔ)模塊,用于將該請(qǐng)求對(duì)應(yīng)的用戶反饋日志數(shù)據(jù)寫入持久化存儲(chǔ)中。
優(yōu)選地,所述策略確定模塊包括:流量桶命中子模塊,用于依據(jù)所述哈希值確定所述請(qǐng)求命中的流量桶標(biāo)識(shí);策略確定子模塊,用于確定所述流量桶標(biāo)識(shí)對(duì)應(yīng)的策略標(biāo)識(shí)。
優(yōu)選地,所述流量桶命中子模塊包括:模計(jì)算單元,用于根據(jù)所述哈希值對(duì)流量桶總個(gè)數(shù)取模;流量桶標(biāo)識(shí)確定單元,用于將所述模值確定為所述請(qǐng)求命中的流量桶標(biāo)識(shí)。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的方法,包括:針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù),確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí);計(jì)算所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述請(qǐng)求的標(biāo)識(shí)組成的字符串對(duì)應(yīng)的哈希值;依據(jù)所述哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí);持久化存儲(chǔ)所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
優(yōu)選地,在所述確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)的步驟之前,所述方法還包括:針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)進(jìn)行注冊(cè),為該服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí)。
優(yōu)選地,在所述為該服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí)的步驟之后,所述方法還包括:確定所述服務(wù)對(duì)應(yīng)的上下游服務(wù),在所述服務(wù)、以及確定的上下游服務(wù)的接口中均添加數(shù)據(jù)存儲(chǔ)字段;所述數(shù)據(jù)存儲(chǔ)字段用于存儲(chǔ)存在映射關(guān)系的字符串。
優(yōu)選地,在所述持久化存儲(chǔ)所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系的步驟之前,所述方法還包括:將所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,存儲(chǔ)至所述請(qǐng)求所屬的服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下。
優(yōu)選地,將所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,存儲(chǔ)至所述請(qǐng)求所屬的服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下的步驟之后,所述方法還包括:當(dāng)請(qǐng)求處理完成后,按照服務(wù)的上下層關(guān)系,逐層將下游服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù),上報(bào)至上一層服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下,直至將數(shù)據(jù)上報(bào)至所述服務(wù)對(duì)應(yīng)的最上游服務(wù)為止。
優(yōu)選地,所述持久化存儲(chǔ)所述應(yīng)用場(chǎng)景標(biāo)識(shí)以及所述策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系的步驟包括:獲取最上游服務(wù)的接口中的、數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化,并將轉(zhuǎn)化后的數(shù)據(jù)寫入至持久化存儲(chǔ)中。
優(yōu)選地,所述方法還包括:將該請(qǐng)求對(duì)應(yīng)的用戶反饋日志數(shù)據(jù)寫入持久化存儲(chǔ)中。
優(yōu)選地,所述依據(jù)所述哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí)的步驟包括:依據(jù)所述哈希值確定所述請(qǐng)求命中的流量桶標(biāo)識(shí);確定所述流量桶標(biāo)識(shí)對(duì)應(yīng)的策略標(biāo)識(shí)。
優(yōu)選地,所述依據(jù)所述哈希值確定所述請(qǐng)求命中的流量桶標(biāo)識(shí)的步驟包括:根據(jù)所述哈希值對(duì)流量桶總個(gè)數(shù)取模;將所述模值確定為所述請(qǐng)求命中的流量桶標(biāo)識(shí)。
本發(fā)明實(shí)施例提供的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)和方法,在服務(wù)系統(tǒng)中僅安裝一個(gè)該流量跟蹤的系統(tǒng)即可滿足對(duì)多個(gè)服務(wù)的流量跟蹤,具有良好的普適性。這是由于,本發(fā)明提供的流量跟蹤的系統(tǒng)可以為不同的服務(wù)進(jìn)行注冊(cè),并且為注冊(cè)的服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí),注冊(cè)后的服務(wù)即可通過該流量的跟蹤系統(tǒng)進(jìn)行流量跟蹤,在進(jìn)行流量跟蹤時(shí),系統(tǒng)通過應(yīng)用場(chǎng)景標(biāo)識(shí)即可將各服務(wù)加以區(qū)分,因此,本發(fā)明提供的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)可以為不同的服務(wù)進(jìn)行流量跟蹤。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例一的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)的結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實(shí)施例二的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)的結(jié)構(gòu)框圖;
圖3是根據(jù)本發(fā)明實(shí)施例三的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的方法的步驟流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例四的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的方法的步驟流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例一
參照?qǐng)D1,示出了本發(fā)明實(shí)施例一的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)的結(jié)構(gòu)框圖。
本發(fā)明實(shí)施例的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)包括:確定模塊101、哈希算法模塊102、策略確定模塊103以及標(biāo)識(shí)存儲(chǔ)模塊104。
當(dāng)需要對(duì)一個(gè)服務(wù)進(jìn)行小流量實(shí)驗(yàn)的時(shí)候,服務(wù)系統(tǒng)調(diào)用本發(fā)明實(shí)施例中的流量跟蹤系統(tǒng)中的確定模塊101、哈希算法模塊102、策略確定模塊103以及標(biāo)識(shí)存儲(chǔ)模塊104依次執(zhí)行處理操作,各模塊分別執(zhí)行的操作如下:
確定模塊101,用于針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù),確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)。需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)可以為任意適當(dāng)?shù)姆?wù),如:搜索服務(wù)、推薦服務(wù)或篩選服務(wù)等。
確定模塊101執(zhí)行完成后,執(zhí)行哈希算法模塊1022。
哈希算法模塊102,用于計(jì)算應(yīng)用場(chǎng)景標(biāo)識(shí)以及該請(qǐng)求的標(biāo)識(shí)組成的字符串對(duì)應(yīng)的哈希值。
當(dāng)接收到該服務(wù)的一個(gè)請(qǐng)求時(shí),確定服務(wù)對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí),以及請(qǐng)求的標(biāo)識(shí),將應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)組合成字符串。
哈希算法模塊102中寫入有哈希算法,接口輸入為字符串,接口輸出為無符號(hào)整數(shù)。因此,在計(jì)算哈希值時(shí),將組合后的字符串作為輸入?yún)?shù)輸入哈希算法中,即可得到用無符號(hào)整數(shù)表征的哈希值。
在執(zhí)行完哈希算法模塊102后,執(zhí)行策略確定模塊103。策略確定模塊103,用于依據(jù)哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí)。
策略確定模塊103依據(jù)哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí)時(shí),首先,確定請(qǐng)求命中的流量桶標(biāo)識(shí),其次,確定流量桶標(biāo)識(shí)對(duì)應(yīng)的策略標(biāo)識(shí)。
在對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)中,預(yù)設(shè)有多個(gè)流量桶,每個(gè)流量桶對(duì)應(yīng)有流量桶標(biāo)識(shí),每個(gè)流量桶標(biāo)識(shí)對(duì)應(yīng)有策略標(biāo)識(shí)。在對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)中存在流量桶標(biāo)識(shí)與策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,通過該對(duì)應(yīng)關(guān)系來反映流量桶與策略之間的關(guān)系。因此,策略確定模塊103在確定流量桶標(biāo)識(shí)后,通過對(duì)應(yīng)關(guān)系即可查找到與其對(duì)應(yīng)的策略標(biāo)識(shí)。
依據(jù)哈希值確定請(qǐng)求命中的流量桶標(biāo)識(shí)時(shí),可以將哈希值的末尾整數(shù)確定為命中的流量桶標(biāo)識(shí);也可以將哈希值的后兩位整數(shù)確定為命中的流量桶標(biāo)識(shí);當(dāng)然,也可以將哈希值與流量桶總數(shù)取模,將模值確定為命中的流量桶標(biāo)識(shí),本發(fā)明實(shí)施例中對(duì)此不作具體限制。
在執(zhí)行完策略確定模塊103后,執(zhí)行標(biāo)識(shí)存儲(chǔ)模塊104。標(biāo)識(shí)存儲(chǔ)模塊1044,用于持久化存儲(chǔ)應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
其中,應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系即策略數(shù)據(jù)。在處理完一個(gè)請(qǐng)求時(shí),標(biāo)識(shí)存儲(chǔ)模塊則將策略數(shù)據(jù)進(jìn)行持久化存儲(chǔ)。同時(shí),服務(wù)系統(tǒng)針對(duì)該請(qǐng)求還可以持久化存儲(chǔ)其對(duì)應(yīng)的用戶反饋日志數(shù)據(jù),其中,該日志數(shù)據(jù)通常為指示用戶點(diǎn)擊或下單行為的數(shù)據(jù)。當(dāng)需要生成報(bào)表時(shí),讀取持久化存儲(chǔ)的策略數(shù)據(jù)以及用戶反饋日志數(shù)據(jù),生成報(bào)表即可。
本發(fā)明實(shí)施例中以處理一個(gè)服務(wù)的一個(gè)請(qǐng)求為例進(jìn)行的說明,在具體實(shí)現(xiàn)過程中,服務(wù)系統(tǒng)可以重復(fù)調(diào)用本發(fā)明實(shí)施例中的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)處理多個(gè)服務(wù)的多個(gè)請(qǐng)求。
本發(fā)明實(shí)施例提供的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng),在服務(wù)系統(tǒng)中僅安裝一個(gè)該流量跟蹤的系統(tǒng)即可滿足對(duì)多個(gè)服務(wù)的流量跟蹤,具有良好的普適性。這是由于,本發(fā)明提供的流量跟蹤的系統(tǒng)可以為不同的服務(wù)進(jìn)行注冊(cè),并且為注冊(cè)的服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí),注冊(cè)后的服務(wù)即可通過該流量跟蹤的系統(tǒng)進(jìn)行流量跟蹤,在進(jìn)行流量跟蹤時(shí),系統(tǒng)通過應(yīng)用場(chǎng)景標(biāo)識(shí)即可將各服務(wù)加以區(qū)分,因此,本發(fā)明提供的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)可以為不同的服務(wù)進(jìn)行流量跟蹤。
實(shí)施例二
參照?qǐng)D2,示出了本發(fā)明實(shí)施例二的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)的結(jié)構(gòu)框圖。
本發(fā)明實(shí)施例的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)包括:應(yīng)用場(chǎng)景注冊(cè)模塊201、確定模塊202、哈希算法模塊203、策略確定模塊204、數(shù)據(jù)存儲(chǔ)模塊205、上報(bào)模塊206、標(biāo)識(shí)存儲(chǔ)模塊207以及日志數(shù)據(jù)存儲(chǔ)模塊208。
當(dāng)需要對(duì)一個(gè)服務(wù)進(jìn)行小流量實(shí)驗(yàn)的時(shí)候,服務(wù)系統(tǒng)調(diào)用本發(fā)明實(shí)施例中的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng),對(duì)互聯(lián)網(wǎng)進(jìn)行流量跟蹤的系統(tǒng)中的應(yīng)用場(chǎng)景注冊(cè)模塊201、確定模塊202、哈希算法模塊203、策略確定模塊204、數(shù)據(jù)存儲(chǔ)模塊205、上報(bào)模塊206、標(biāo)識(shí)存儲(chǔ)模塊207以及日志數(shù)據(jù)存儲(chǔ)模塊208依次執(zhí)行操作,各模塊執(zhí)行的具體操作如下:
應(yīng)用場(chǎng)景注冊(cè)模塊201,用于對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)進(jìn)行注冊(cè),為該服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí);確定服務(wù)對(duì)應(yīng)的上下游服務(wù),在該服務(wù)、以及確定的上下游服務(wù)的接口中均添加數(shù)據(jù)存儲(chǔ)字段。
需要說明的是,若需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)已注冊(cè)過該進(jìn)行流量跟蹤的系統(tǒng),則無需再執(zhí)行本模塊。
在具體實(shí)現(xiàn)時(shí),當(dāng)預(yù)對(duì)某一服務(wù)進(jìn)行小流量實(shí)驗(yàn)時(shí),用戶可以輸入字符串,該字符串為服務(wù)對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí),應(yīng)用場(chǎng)景注冊(cè)模塊201接收到用戶輸入的字符串時(shí),判斷字符串是否存在,若存在,則證明該服務(wù)已注冊(cè)。若不存在,則確定該服務(wù)未注冊(cè),因此,將用戶輸入的字符串分配給該服務(wù)作為應(yīng)用場(chǎng)景標(biāo)識(shí)。
應(yīng)用場(chǎng)景注冊(cè)模塊201對(duì)服務(wù)進(jìn)行注冊(cè)時(shí),若該服務(wù)不存在上下游服務(wù),則僅在該服務(wù)的接口中添加數(shù)據(jù)存儲(chǔ)字段即可。其中,數(shù)據(jù)存儲(chǔ)字段用于存儲(chǔ)存在映射關(guān)系的字符串。存在映射關(guān)系的字符串為請(qǐng)求所對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)。
確定模塊202,用于針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù),當(dāng)接收到該服務(wù)的一個(gè)請(qǐng)求時(shí),確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)。
哈希算法模塊203,用于計(jì)算應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)組成的字符串對(duì)應(yīng)的哈希值。
在哈希算法模塊203中寫入的具體算法可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求進(jìn)行設(shè)置。優(yōu)選地,寫入的具體算法為MD5(Message Digest Algorithm,消息摘要算法第五版)算法,該種算法能夠保證相同請(qǐng)求標(biāo)識(shí)、不同應(yīng)用場(chǎng)景標(biāo)識(shí)組成的字符串,產(chǎn)生的哈希值正交。
計(jì)算時(shí),組合后的字符串輸入至算法中,通過算法處理即可輸出哈希值。
策略確定模塊204具體可以包括:流量桶命中子模塊,策略確定子模塊。流量桶命中子模塊用于依據(jù)哈希值確定請(qǐng)求命中的流量桶標(biāo)識(shí);以及策略確定子模塊,用于確定流量桶標(biāo)識(shí)對(duì)應(yīng)的策略標(biāo)識(shí)。
在對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)中預(yù)設(shè)有多個(gè)流量桶,每個(gè)流量桶對(duì)應(yīng)有流量桶標(biāo)識(shí),每個(gè)流量桶標(biāo)識(shí)對(duì)應(yīng)有策略標(biāo)識(shí)。在該系統(tǒng)中還存在流量桶標(biāo)識(shí)與策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,通過該對(duì)應(yīng)關(guān)系來反映流量桶與策略之間的關(guān)系。因此,在確定流量桶標(biāo)識(shí)后,通過對(duì)應(yīng)關(guān)系即可查找到與其對(duì)應(yīng)的策略標(biāo)識(shí)。
流量桶命中子模塊進(jìn)一步還可以包括:模計(jì)算單元以及流量桶標(biāo)識(shí)確定單元;模計(jì)算單元用于根據(jù)哈希值對(duì)流量桶總個(gè)數(shù)取模,流量桶標(biāo)識(shí)確定單元,用于將模值確定為請(qǐng)求命中的流量桶標(biāo)識(shí)。
例如:計(jì)算出的哈希值為3271,流量桶總個(gè)數(shù)為100,取模后的模值為71,則命中的流量桶的標(biāo)識(shí)為71。
數(shù)據(jù)存儲(chǔ)模塊205,用于將策略確定模塊204確定出的應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,存儲(chǔ)至該請(qǐng)求所屬的服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下。
此時(shí),該服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)有應(yīng)用場(chǎng)景標(biāo)識(shí)和策略標(biāo)識(shí)之間的映射關(guān)系。
上報(bào)模塊206,用于當(dāng)請(qǐng)求處理完成后,按照服務(wù)的上下層關(guān)系,逐層將下游服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù)上報(bào)至上一層服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下,直至將數(shù)據(jù)上報(bào)至該服務(wù)對(duì)應(yīng)的最上游服務(wù)為止。
例如:當(dāng)前對(duì)服務(wù)B中的某請(qǐng)求進(jìn)行分析,服務(wù)B存在上游服務(wù)A,以及下游服務(wù)C,在處理完B中的某請(qǐng)求時(shí),需要進(jìn)行標(biāo)識(shí)回傳,此時(shí),需將服務(wù)C接口中的數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù)上報(bào)至服務(wù)B接口中的數(shù)據(jù)存儲(chǔ)字段下,將服務(wù)B接口中的數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù)上報(bào)至服務(wù)A接口中的數(shù)據(jù)存儲(chǔ)字段下。
需要說明的是,若當(dāng)前處理的服務(wù)不存在上下游服務(wù),則無需執(zhí)行上報(bào)模塊。
標(biāo)識(shí)存儲(chǔ)模塊207包括:格式轉(zhuǎn)化子模塊,用于獲取最上游服務(wù)的接口中的、數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)的數(shù)據(jù),并進(jìn)行格式轉(zhuǎn)化;其中,數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)的數(shù)據(jù)為應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系;寫入子模塊,用于將轉(zhuǎn)化后的數(shù)據(jù)寫入至持久化存儲(chǔ)中。
在進(jìn)行格式轉(zhuǎn)化時(shí),標(biāo)識(shí)存儲(chǔ)模塊207可以將獲取到的數(shù)據(jù)轉(zhuǎn)化為JSON格式,寫入到持久化存儲(chǔ)中。其中,JSON即JavaScript Object Notation,是一種輕量級(jí)的數(shù)據(jù)交換格式。
日志數(shù)據(jù)存儲(chǔ)模塊208,用于將該請(qǐng)求對(duì)應(yīng)的用戶反饋日志數(shù)據(jù)寫入持久化存儲(chǔ)中。
在處理完一個(gè)請(qǐng)求時(shí),標(biāo)識(shí)存儲(chǔ)模塊則將該請(qǐng)求的策略數(shù)據(jù)進(jìn)行持久化存儲(chǔ),同時(shí),日志數(shù)據(jù)存儲(chǔ)模塊將該請(qǐng)求對(duì)應(yīng)的用戶反饋日志數(shù)據(jù)也寫入持久化存儲(chǔ)中。當(dāng)需要生成報(bào)表時(shí),讀取持久化存儲(chǔ)的策略數(shù)據(jù)以及用戶反饋日志數(shù)據(jù),生成報(bào)表即可。
本發(fā)明實(shí)施例提供的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)中,在服務(wù)系統(tǒng)中僅安裝一個(gè)本發(fā)明實(shí)施例提供的對(duì)互聯(lián)網(wǎng)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)即可滿足對(duì)多個(gè)服務(wù)的流量跟蹤,具有良好的普適性。這是由于,本發(fā)明提供的對(duì)互聯(lián)網(wǎng)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)中設(shè)置有應(yīng)用場(chǎng)景注冊(cè)模塊,通過應(yīng)用場(chǎng)景注冊(cè)模塊不同的服務(wù)即可在小流量實(shí)驗(yàn)框架系統(tǒng)中完成注冊(cè),并且為注冊(cè)的服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí),注冊(cè)后的服務(wù)即可通過本發(fā)明實(shí)施例提供的進(jìn)行流量跟蹤的系統(tǒng)進(jìn)行流量跟蹤,并且,通過應(yīng)用場(chǎng)景標(biāo)識(shí)即可將各服務(wù)加以區(qū)分。
實(shí)施例三
參照?qǐng)D3,示出了本發(fā)明實(shí)施例三的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤方法的步驟流程圖。
本發(fā)明實(shí)施例的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤方法,用于對(duì)服務(wù)系統(tǒng)中的各個(gè)服務(wù)進(jìn)行小流量實(shí)驗(yàn)。具體實(shí)現(xiàn)時(shí),則需要在服務(wù)系統(tǒng)中安裝小流量實(shí)驗(yàn)框架系統(tǒng)即對(duì)互聯(lián)網(wǎng)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng),通過小流量實(shí)驗(yàn)框架系統(tǒng)為服務(wù)系統(tǒng)中的各服務(wù)提供小流量實(shí)驗(yàn)。具體地,針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的每個(gè)服務(wù)均執(zhí)行如下步驟:
步驟S302:針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù),確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)。
需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)可以為任意適當(dāng)?shù)姆?wù),如:搜索服務(wù)、推薦服務(wù)或篩選服務(wù)等。
在對(duì)某一服務(wù)進(jìn)行小流量實(shí)驗(yàn)時(shí),需要對(duì)該服務(wù)下的各請(qǐng)求進(jìn)行分析,分析各請(qǐng)求對(duì)應(yīng)的策略。因此,在進(jìn)行小流量實(shí)驗(yàn)時(shí),需要針對(duì)該服務(wù)下每個(gè)請(qǐng)求執(zhí)行步驟S302至步驟S308中所述的操作。
具體地,當(dāng)接收到該服務(wù)的一個(gè)請(qǐng)求時(shí),由于請(qǐng)求所屬于服務(wù)而每個(gè)服務(wù)對(duì)應(yīng)有一個(gè)應(yīng)用場(chǎng)景標(biāo)識(shí),因此,通過請(qǐng)求可以確定請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí);同時(shí),每個(gè)請(qǐng)求自身也存在標(biāo)識(shí),因此,在接收到請(qǐng)求后,即可獲取到請(qǐng)求的標(biāo)識(shí)。
步驟S304:計(jì)算應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)組成的字符串對(duì)應(yīng)的哈希值。
應(yīng)用場(chǎng)景標(biāo)識(shí)為一個(gè)字符串,請(qǐng)求的標(biāo)識(shí)為另一個(gè)字符串,將兩個(gè)字符串組合即構(gòu)成一個(gè)新的字符串。具體地,在將應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)組成字符串時(shí),可以將應(yīng)用場(chǎng)景標(biāo)識(shí)排在請(qǐng)求的標(biāo)識(shí)前邊組成字符串,也可以將應(yīng)用場(chǎng)景標(biāo)識(shí)排在請(qǐng)求的標(biāo)識(shí)后邊組成字符串,本發(fā)明實(shí)施例中對(duì)此不作具體限制。
在計(jì)算組成的字符串的哈希值時(shí),可以采用特定的哈希算法來執(zhí)行,將組合后的字符串作為輸入?yún)?shù)輸入哈希算法中,哈希算法計(jì)算后所輸出的結(jié)果即字符串對(duì)應(yīng)的哈希值。
特定的哈希算法的選擇可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求進(jìn)行設(shè)置,能夠保證相同請(qǐng)求標(biāo)識(shí)、不同應(yīng)用場(chǎng)景標(biāo)識(shí)組成的字符串,產(chǎn)生的哈希值正交即可。例如:可以選用MD5算法。
步驟S306:依據(jù)哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí)。
在依據(jù)哈希值確定對(duì)應(yīng)的策略標(biāo)識(shí)時(shí),可以依據(jù)哈希值確定流量桶標(biāo)識(shí),然后依據(jù)流量桶標(biāo)識(shí)確定對(duì)應(yīng)的策略標(biāo)識(shí)。
在小流量實(shí)驗(yàn)框架系統(tǒng)中預(yù)設(shè)有多個(gè)流量桶,每個(gè)流量桶對(duì)應(yīng)有流量桶標(biāo)識(shí)。每個(gè)流量桶對(duì)應(yīng)有相應(yīng)的策略,在小流量實(shí)驗(yàn)框架系統(tǒng)中存在流量桶標(biāo)識(shí)與策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,通過該對(duì)應(yīng)關(guān)系來反映流量桶與策略之間的關(guān)系。因此,在確定流量桶標(biāo)識(shí)后,通過對(duì)應(yīng)關(guān)系即可查找到與其對(duì)應(yīng)的策略標(biāo)識(shí)。
當(dāng)然,并不限于此,在在小流量實(shí)驗(yàn)框架系統(tǒng)中還可以預(yù)設(shè)有哈希值與策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,通過計(jì)算得到的哈希值以及該對(duì)應(yīng)關(guān)系,即可直接確定策略標(biāo)識(shí)。
步驟S308:持久化存儲(chǔ)應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系。
其中,應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系即策略數(shù)據(jù)。
在處理完一個(gè)請(qǐng)求時(shí),小流量實(shí)驗(yàn)框架系統(tǒng)則將策略數(shù)據(jù)進(jìn)行持久化存儲(chǔ)。同時(shí),服務(wù)系統(tǒng)針對(duì)該請(qǐng)求還可以持久化存儲(chǔ)其對(duì)應(yīng)的用戶反饋日志數(shù)據(jù),其中,該日志數(shù)據(jù)通常為指示用戶點(diǎn)擊或下單行為的數(shù)據(jù)。也就是說,針對(duì)一個(gè)請(qǐng)求持久化存儲(chǔ)有其對(duì)應(yīng)的策略數(shù)據(jù)以及用戶反饋日志數(shù)據(jù)。通過對(duì)服務(wù)包含的各請(qǐng)求進(jìn)行分析后,即可持久化存儲(chǔ)分析的各請(qǐng)求對(duì)應(yīng)的策略數(shù)據(jù)以及用戶反饋日志數(shù)據(jù)。當(dāng)需要生成報(bào)表時(shí),讀取持久化存儲(chǔ)的策略數(shù)據(jù)以及用戶反饋日志數(shù)據(jù),生成報(bào)表即可。
通過本發(fā)明實(shí)施例提供的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的方法,在服務(wù)系統(tǒng)中僅安裝一個(gè)小流量實(shí)驗(yàn)框架系統(tǒng)即可滿足對(duì)多個(gè)服務(wù)的流量跟蹤,具有良好的普適性。這是由于,不同的服務(wù)可在小流量實(shí)驗(yàn)框架系統(tǒng)中完成注冊(cè),由小流量實(shí)驗(yàn)框架系統(tǒng)為注冊(cè)的服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí),當(dāng)服務(wù)注冊(cè)成功后即可通過小流量實(shí)驗(yàn)框架系統(tǒng)進(jìn)行流量跟蹤,并通過應(yīng)用場(chǎng)景標(biāo)識(shí)將各服務(wù)加以區(qū)分,以實(shí)現(xiàn)對(duì)多個(gè)服務(wù)的流量跟蹤。
實(shí)施例四
參照?qǐng)D4,示出了本發(fā)明實(shí)施例四的一種對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤方法的步驟流程圖。
本發(fā)明實(shí)施例的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤方法,用于對(duì)服務(wù)系統(tǒng)中的各個(gè)服務(wù)進(jìn)行小流量實(shí)驗(yàn),針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的每個(gè)服務(wù)均執(zhí)行如下步驟:
步驟S402:針對(duì)需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)進(jìn)行注冊(cè),為該服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí)。
本發(fā)明實(shí)施中,在互聯(lián)網(wǎng)服務(wù)系統(tǒng)中小流量實(shí)驗(yàn)框架系統(tǒng),通過小流量實(shí)驗(yàn)框架系統(tǒng)為服務(wù)系統(tǒng)中的各服務(wù)提供小流量實(shí)驗(yàn)。
當(dāng)預(yù)對(duì)某一服務(wù)進(jìn)行小流量實(shí)驗(yàn)時(shí),用戶可以輸入字符串,該字符串為服務(wù)對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí),接收到用戶輸入的字符串時(shí),判斷字符串是否存在,若存在,則證明該服務(wù)已注冊(cè)。若不存在,則確定該服務(wù)未注冊(cè),因此,將用戶輸入的字符串分配給該服務(wù)作為應(yīng)用場(chǎng)景標(biāo)識(shí)。
步驟S404:確定服務(wù)對(duì)應(yīng)的上下游服務(wù),在服務(wù)、以及確定的上下游服務(wù)的接口中均添加數(shù)據(jù)存儲(chǔ)字段。
需要說明的是,若需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)已注冊(cè)過小流量實(shí)驗(yàn)框架系統(tǒng),則無需再執(zhí)行步驟S402以及步驟S404。
對(duì)一個(gè)新的服務(wù)(即未注冊(cè)的服務(wù))進(jìn)行注冊(cè)時(shí),不僅需要為新服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí),注冊(cè)新服務(wù)還要滿足一定的接口規(guī)范,接口規(guī)范則具體為:在新服務(wù)以及新服務(wù)的上下游服務(wù)的接口中添加數(shù)據(jù)存儲(chǔ)字段。
數(shù)據(jù)存儲(chǔ)字段用于存儲(chǔ)存在映射關(guān)系的字符串。其中,存在映射關(guān)系的字符串為請(qǐng)求所對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)。
例如:一個(gè)新服務(wù)B,對(duì)應(yīng)有上游服務(wù)A,以及下游服務(wù)C;那么,在為新服務(wù)注冊(cè)時(shí),則需為新服務(wù)B分配一個(gè)應(yīng)用場(chǎng)景標(biāo)識(shí)符,并且,在新服務(wù)B、其上游服務(wù)A、下游服務(wù)C的相應(yīng)接口中添加數(shù)據(jù)存儲(chǔ)字段。
若新服務(wù)不存在上下游服務(wù),則僅在新服務(wù)的接口中添加數(shù)據(jù)存儲(chǔ)字段即可。
步驟S406:確定該服務(wù)下的請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)。
當(dāng)接收到需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)的一個(gè)請(qǐng)求時(shí),由于請(qǐng)求對(duì)應(yīng)有服務(wù),因此,可具體到服務(wù)對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)。并且,由于每個(gè)請(qǐng)求均有標(biāo)識(shí),因此,通過請(qǐng)求可以確定請(qǐng)求的標(biāo)識(shí)。
步驟S408:計(jì)算應(yīng)用場(chǎng)景標(biāo)識(shí)以及請(qǐng)求的標(biāo)識(shí)組成的字符串對(duì)應(yīng)的哈希值。
在計(jì)算時(shí)采用相應(yīng)的哈希算法即可,對(duì)于所采用的哈希算法可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際需求進(jìn)行選擇。優(yōu)選地,選擇MD5算法,該種算法能夠保證相同請(qǐng)求標(biāo)識(shí)、不同應(yīng)用場(chǎng)景標(biāo)識(shí)組成的字符串,產(chǎn)生的哈希值正交。計(jì)算時(shí),組合后的字符串輸入至算法中,通過算法處理即可輸出哈希值。
步驟S410:依據(jù)哈希值確定請(qǐng)求命中的流量桶標(biāo)識(shí)。
在小流量實(shí)驗(yàn)框架系統(tǒng)中預(yù)設(shè)有多個(gè)流量桶,每個(gè)流量桶對(duì)應(yīng)有流量桶標(biāo)識(shí)。
確定流量桶標(biāo)識(shí)為流量命中步驟,一種優(yōu)選的依據(jù)哈希值確定請(qǐng)求命中的流量桶標(biāo)識(shí)的方式如下:
根據(jù)哈希值對(duì)流量桶總個(gè)數(shù)取模;
將所述模值確定為所述請(qǐng)求命中的流量桶標(biāo)識(shí)。
例如:計(jì)算出的哈希值為3282,流量桶總個(gè)數(shù)為100各流量桶的標(biāo)識(shí)分別為數(shù)字1-100,取模后的模值為82,則命中的流量桶的標(biāo)識(shí)為82也即第82個(gè)流量桶。
步驟S412:確定流量桶標(biāo)識(shí)對(duì)應(yīng)的策略標(biāo)識(shí)。
在小流量實(shí)驗(yàn)框架系統(tǒng)中預(yù)設(shè)有多個(gè)流量桶,每個(gè)流量桶對(duì)應(yīng)有流量桶標(biāo)識(shí),每個(gè)流量桶標(biāo)識(shí)對(duì)應(yīng)有策略標(biāo)識(shí)。在小流量系統(tǒng)框架中存在流量桶標(biāo)識(shí)與策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,通過該對(duì)應(yīng)關(guān)系來反映流量桶與策略之間的關(guān)系。因此,在確定流量桶標(biāo)識(shí)后,通過對(duì)應(yīng)關(guān)系即可查找到與其對(duì)應(yīng)的策略標(biāo)識(shí)。
步驟S414:將應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,存儲(chǔ)至請(qǐng)求所屬的服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下。
例如:請(qǐng)求屬于服務(wù)B,則將請(qǐng)求對(duì)應(yīng)的應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系存儲(chǔ)至服務(wù)B接口中的數(shù)據(jù)存儲(chǔ)字段下。
步驟S416:當(dāng)請(qǐng)求處理完成后,按照服務(wù)的上下層關(guān)系,逐層將下游服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù),上報(bào)至上一層服務(wù)的接口中的數(shù)據(jù)存儲(chǔ)字段下,直至將數(shù)據(jù)上報(bào)至服務(wù)對(duì)應(yīng)的最上游服務(wù)為止。
此步驟為標(biāo)識(shí)回傳步驟,通過標(biāo)識(shí)回傳可以將該請(qǐng)求對(duì)應(yīng)的全部應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系回傳至最服務(wù)對(duì)應(yīng)的最上游服務(wù)。
例如:請(qǐng)求屬于服務(wù)B,服務(wù)B的下游服務(wù)為C,上游服務(wù)A,因此,在處理完該請(qǐng)求時(shí),則從服務(wù)C的接口中的數(shù)據(jù)存儲(chǔ)字段下獲取應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)之間的對(duì)應(yīng)關(guān)系,然后將其存儲(chǔ)至服務(wù)B的接口中的存儲(chǔ)字段下,最后,將服務(wù)B的接口中的存儲(chǔ)字段下的應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)上報(bào)至服務(wù)A的接口中的存儲(chǔ)字段下。
需要說明的是,本發(fā)明實(shí)施例中是以需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)對(duì)應(yīng)有上、下游服務(wù)為例進(jìn)行的說明。在具體實(shí)現(xiàn)過程中,若需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)未對(duì)應(yīng)有上、下游服務(wù),則無需執(zhí)行步驟S416,而是在執(zhí)行完步驟S414之后,直接將需要進(jìn)行小流量實(shí)驗(yàn)的服務(wù)接口中的、數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)的數(shù)據(jù)寫入至持久化存儲(chǔ)中。
步驟S418:獲取最上游服務(wù)的接口中的、數(shù)據(jù)存儲(chǔ)字段下存儲(chǔ)的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)化,并將轉(zhuǎn)化后的數(shù)據(jù)寫入至持久化存儲(chǔ)中。
此步驟為策略注冊(cè)步驟,針對(duì)該請(qǐng)求當(dāng)該請(qǐng)求對(duì)應(yīng)的全部應(yīng)用場(chǎng)景標(biāo)識(shí)以及策略標(biāo)識(shí)上報(bào)至最上游服務(wù)接口中的、數(shù)據(jù)存儲(chǔ)字段下時(shí),則可進(jìn)行策略注冊(cè),將請(qǐng)求對(duì)應(yīng)的最上游服務(wù)接口中的、數(shù)據(jù)存儲(chǔ)字段下的數(shù)據(jù)寫入持久化存儲(chǔ)中。
步驟S420:將該請(qǐng)求對(duì)應(yīng)的用戶反饋日志數(shù)據(jù)寫入持久化存儲(chǔ)中。
其中,該日志數(shù)據(jù)通常為指示用戶點(diǎn)擊或下單行為的數(shù)據(jù)。
當(dāng)需要生成報(bào)表時(shí),讀取持久化存儲(chǔ)中存儲(chǔ)的策略數(shù)據(jù)以及用戶反饋日志數(shù)據(jù),生成報(bào)表即可,研發(fā)人員對(duì)報(bào)表中的數(shù)據(jù)進(jìn)行分析,即可確定用戶感興趣的服務(wù)。
通過本發(fā)明實(shí)施例提供的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的方法,在服務(wù)系統(tǒng)中僅安裝一個(gè)小流量實(shí)驗(yàn)框架系統(tǒng)即可滿足對(duì)多個(gè)服務(wù)的流量跟蹤,具有良好的普適性。這是由于,不同的服務(wù)可在小流量實(shí)驗(yàn)框架系統(tǒng)中完成注冊(cè),由小流量實(shí)驗(yàn)框架系統(tǒng)為注冊(cè)的服務(wù)分配應(yīng)用場(chǎng)景標(biāo)識(shí),當(dāng)服務(wù)注冊(cè)成功后即可通過小流量實(shí)驗(yàn)框架系統(tǒng)進(jìn)行流量跟蹤,并通過應(yīng)用場(chǎng)景標(biāo)識(shí)將各服務(wù)加以區(qū)分,以實(shí)現(xiàn)對(duì)多個(gè)服務(wù)的流量跟蹤。
在此提供的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)方案不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造具有本發(fā)明方案的系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的對(duì)互聯(lián)網(wǎng)服務(wù)系統(tǒng)進(jìn)行流量跟蹤的系統(tǒng)方案中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。