流事件數(shù)據(jù)收集的制作方法【專利摘要】用于分布式數(shù)據(jù)管理的方法、系統(tǒng)以及設(shè)備,包括在計(jì)算機(jī)存儲(chǔ)介質(zhì)上編碼的計(jì)算機(jī)程序。所述方法中的一個(gè)包括接收流事件數(shù)據(jù)的多個(gè)饋送并且將來自所述饋送中的每一個(gè)的饋送數(shù)據(jù)路由到多個(gè)通道中的相應(yīng)通道,包括將來自第一饋送的饋送數(shù)據(jù)路由到第一通道,所述通道中的每一個(gè)被配置成存儲(chǔ)饋送數(shù)據(jù)直到所述饋送數(shù)據(jù)被數(shù)據(jù)匯點(diǎn)消耗為止。所述第一通道的負(fù)載度量被確定為超過閾值。作為響應(yīng),為所述第一饋送分配第二通道,并且饋送數(shù)據(jù)被從所述第一饋送重定向到所述第二通道而不是所述第一通道?!緦@f明】流事件數(shù)據(jù)收集
技術(shù)領(lǐng)域:
[0001]本說明書涉及云計(jì)算?!?br>背景技術(shù):
】[0002]在云計(jì)算中,能夠?qū)?shù)據(jù)分發(fā)給由一個(gè)或多個(gè)通信網(wǎng)絡(luò)所連接的多個(gè)計(jì)算機(jī)的系統(tǒng)。每個(gè)計(jì)算機(jī)能夠托管一個(gè)或多個(gè)服務(wù)器,其中的每一個(gè)對(duì)數(shù)據(jù)的一部分進(jìn)行處理。服務(wù)器能夠并行地對(duì)數(shù)據(jù)進(jìn)行處理。這樣的分布式系統(tǒng)能夠處置被部署在虛擬化環(huán)境中的面向web且數(shù)據(jù)密集型應(yīng)用。例如,分布式系統(tǒng)能夠被配置成通過互聯(lián)網(wǎng)托管多租戶計(jì)算服務(wù)。例如,軟件即服務(wù)(SaaS)提供商能夠在分布式系統(tǒng)上運(yùn)行其應(yīng)用的實(shí)例并且向多個(gè)租戶提供訪問?!?br/>發(fā)明內(nèi)容】[0003]本說明書描述了給日志收集引擎提供高可用性和負(fù)載均衡能力的分布式計(jì)算系統(tǒng)。該分布式計(jì)算系統(tǒng)能夠針對(duì)在多租戶環(huán)境中托管多個(gè)應(yīng)用的系統(tǒng)執(zhí)行日志收集。[0004]—般而言,本說明書中所描述的主題的一個(gè)創(chuàng)新方面能夠用包括以下各項(xiàng)的動(dòng)作的方法加以具體化:接收流事件數(shù)據(jù)的多個(gè)饋送;將來自所述饋送中的每一個(gè)的饋送數(shù)據(jù)路由到多個(gè)通道中的相應(yīng)通道,包括將來自第一饋送的饋送數(shù)據(jù)路由到第一通道,所述通道中的每一個(gè)被配置成存儲(chǔ)饋送數(shù)據(jù)直到所述饋送數(shù)據(jù)被數(shù)據(jù)匯點(diǎn)消耗為止;確定所述第一通道的負(fù)載度量超過閾值;響應(yīng)于確定所述負(fù)載度量超過所述閾值,為所述第一饋送分配第二通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道而不是所述第一通道。這個(gè)方面的其它實(shí)施例包括各自被配置成執(zhí)行所述方法的動(dòng)作的對(duì)應(yīng)的計(jì)算機(jī)系統(tǒng)、設(shè)備以及記錄在一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)裝置上的計(jì)算機(jī)程序。為讓一個(gè)或多個(gè)計(jì)算機(jī)的系統(tǒng)被配置成執(zhí)行特定操作或動(dòng)作意味著該系統(tǒng)已經(jīng)將在操作中使該系統(tǒng)執(zhí)行所述操作或動(dòng)作的軟件、固件、硬件或它們的組合安裝在其上。為讓一個(gè)或多個(gè)計(jì)算機(jī)程序被配置成執(zhí)行特定操作或動(dòng)作意味著一個(gè)或多個(gè)程序包括當(dāng)由數(shù)據(jù)處理設(shè)備執(zhí)行時(shí)使該設(shè)備執(zhí)行所操作或動(dòng)作的指令。[0005]上述和其它實(shí)施例能夠單獨(dú)或者相結(jié)合地各自可選地包括以下特征中的一個(gè)或多個(gè)。所述動(dòng)作還包括:從第一饋送源接收用于注冊所述第一饋送的請求;為所述第一饋送分配所述第一通道,使得所述第一通道僅接收來自所述第一饋送的數(shù)據(jù);為所述第一饋送分配網(wǎng)絡(luò)化連接,所述網(wǎng)絡(luò)化連接被配置成接收來自所述第一饋送源的饋送數(shù)據(jù);以及使所述網(wǎng)絡(luò)化連接與所述第一通道相關(guān)聯(lián),使得所述分布式計(jì)算系統(tǒng)將來自所述第一饋送的所述饋送數(shù)據(jù)從所述網(wǎng)絡(luò)化連接路由到所述第一通道。將饋送數(shù)據(jù)從所述第一饋送重定向到所述第二通道包括使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)。所述動(dòng)作還包括,在使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)之后,解除分配所述第一通道,使得由所述第一通道使用的所述分布式計(jì)算系統(tǒng)的一個(gè)或多個(gè)計(jì)算資源變得可用于一個(gè)或多個(gè)其它通道。所述分布式計(jì)算系統(tǒng)至少對(duì)被配置成為多個(gè)租戶服務(wù)的第一多租戶應(yīng)用進(jìn)行托管,并且其中,接收用于注冊所述第一饋送的請求包括從第一租戶接收所述請求。所述第一通道的所述負(fù)載度量指定由所述第一通道使用的存儲(chǔ)器的量或網(wǎng)絡(luò)業(yè)務(wù)的量。所述動(dòng)作還包括:響應(yīng)于確定所述負(fù)載度量超過所述閾值,基于所述負(fù)載度量超過所述閾值的量來確定有多少新通道是對(duì)于所述第一饋送足夠數(shù)目的新通道;為所述第一饋送分配所述足夠數(shù)目的新通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述新通道而不是所述第一通道。所述動(dòng)作還包括使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到所述分布式計(jì)算系統(tǒng)的分布式文件系統(tǒng)。所述動(dòng)作還包括使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到被配置成對(duì)所述饋送執(zhí)行數(shù)據(jù)分析的數(shù)據(jù)解析引擎。所述通道中的每一個(gè)包括軟件實(shí)例,所述軟件實(shí)例被配置成將饋送數(shù)據(jù)存儲(chǔ)在對(duì)于所述分布式計(jì)算系統(tǒng)中的一個(gè)或多個(gè)計(jì)算機(jī)或一個(gè)或多個(gè)計(jì)算機(jī)的集群為本地的本地?cái)?shù)據(jù)存儲(chǔ)器中,其中,所述本地?cái)?shù)據(jù)存儲(chǔ)器包括隨機(jī)存取存儲(chǔ)器(RAM)或大容量存儲(chǔ)部或兩者。[0006]能夠?qū)崿F(xiàn)本說明書中所描述的主題的特定實(shí)施例以實(shí)現(xiàn)一個(gè)或多個(gè)優(yōu)點(diǎn)。日志收集引擎能夠在多租戶環(huán)境中收集流事件數(shù)據(jù)。日志收集引擎能夠借助于能夠響應(yīng)于檢測到高負(fù)載而為日志收集分配新通道的負(fù)載均衡引擎而具有高可用性。日志收集引擎能夠支持大數(shù)據(jù)服務(wù)的日志收集以用于分析。[0007]在附圖和以下描述中闡述本說明書中所描述的主題的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)。本主題的其它特征、方面和優(yōu)點(diǎn)從本說明書、附圖和權(quán)利要求書將變得顯而易見。【附圖說明】[0008]圖1是示例分布式計(jì)算系統(tǒng)的框圖。[0009]圖2是被配置成執(zhí)行負(fù)載均衡的示例日志收集引擎的框圖。[0010]圖3是由圖2的決策引擎所執(zhí)行的示例過程的流程圖。[0011]圖4是由圖2的負(fù)載均衡器所執(zhí)行的示例過程的流程圖。[0012]各個(gè)附圖中的相同的附圖標(biāo)記和名稱指示相同的元件?!揪唧w實(shí)施方式】[0013]圖1是示例分布式計(jì)算系統(tǒng)100的框圖。該系統(tǒng)包括在由一個(gè)或多個(gè)數(shù)據(jù)通信網(wǎng)絡(luò)所連接的一個(gè)或多個(gè)位置中的多個(gè)計(jì)算機(jī)。每個(gè)計(jì)算機(jī)可以是物理計(jì)算機(jī)或虛擬計(jì)算機(jī)。該系統(tǒng)能夠處置被部署在虛擬化環(huán)境中的數(shù)據(jù)密集型應(yīng)用。[0014]該系統(tǒng)執(zhí)行N個(gè)應(yīng)用,包括第一應(yīng)用102、第i個(gè)應(yīng)用104以及第N個(gè)應(yīng)用106。應(yīng)用能夠在不用了解底層系統(tǒng)架構(gòu)的情況下訪問系統(tǒng)中的分布式計(jì)算資源。第i個(gè)應(yīng)用是托管第一租戶110至第k個(gè)租戶112的多租戶應(yīng)用。[0015]對(duì)于每個(gè)租戶,應(yīng)用能夠分配安全且排他的虛擬計(jì)算環(huán)境。該環(huán)境能夠包括軟件架構(gòu)的一個(gè)或多個(gè)層,例如,從存儲(chǔ)層到用戶接口層。在一些實(shí)施方式中,系統(tǒng)被配置成向租戶提供例如有關(guān)用戶接口元件或商業(yè)規(guī)則的可定制性,而無需提供底層應(yīng)用代碼的可定制性。[0016]該系統(tǒng)包括日志收集引擎114。該日志收集引擎能夠收集、聚集并且移動(dòng)大量的流事件數(shù)據(jù)。該日志收集引擎被配置成收集來自各種源的流事件數(shù)據(jù)。[0017]流事件數(shù)據(jù)可以是日志數(shù)據(jù),例如,錯(cuò)誤或狀態(tài)日志數(shù)據(jù),以及其它類型的事件數(shù)據(jù),例如,網(wǎng)絡(luò)業(yè)務(wù)數(shù)據(jù)、社交媒體數(shù)據(jù)、電子郵件消息等。日志收集引擎能夠收集來自應(yīng)用的以及來自應(yīng)用的個(gè)別租戶的流事件數(shù)據(jù)。在一些實(shí)施方式中,日志收集引擎被配置成從一個(gè)或多個(gè)其它計(jì)算系統(tǒng)116收集流事件數(shù)據(jù)。[0018]該系統(tǒng)包括分布式文件系統(tǒng)118,其通常被實(shí)現(xiàn)在非易失性大容量存儲(chǔ)存儲(chǔ)器上,例如,閃速或磁盤存儲(chǔ)器。分布式文件系統(tǒng)104的示例是Hadoop?分布式文件系統(tǒng),Hadoop?DistributedFileSysmem(HDFS?)。(“Hadoop”和“HDFS”是Apache軟件基金會(huì)的商標(biāo)。)日志收集引擎被配置成將收集到的流事件數(shù)據(jù)移動(dòng)到分布式文件系統(tǒng)中。日志收集引擎還能夠被配置成將收集到的流事件數(shù)據(jù)移動(dòng)到其它類型的數(shù)據(jù)匯點(diǎn)中,例如,被配置成對(duì)饋送執(zhí)行數(shù)據(jù)分析的數(shù)據(jù)解析引擎。[0019]收集流事件數(shù)據(jù)能夠使用大量的計(jì)算資源,例如,存儲(chǔ)器和網(wǎng)絡(luò)帶寬。在一些情況下,日志收集引擎上的負(fù)載可能難以預(yù)測。特別地,在系統(tǒng)正在托管多租戶應(yīng)用的情況下,日志收集引擎上的負(fù)載可能隨著各種租戶發(fā)送流事件數(shù)據(jù)而顯著地波動(dòng)。日志收集引擎能夠被配置成執(zhí)行負(fù)載均衡以在托管多租戶應(yīng)用的系統(tǒng)中提供高可用性,例如,在通道正在經(jīng)歷高負(fù)載時(shí)通過監(jiān)視通道負(fù)載并且分配新通道。[0020]圖2是被配置成執(zhí)行負(fù)載均衡的示例日志收集引擎200的框圖。能夠在圖1的分布式計(jì)算系統(tǒng)100中使用該日志收集引擎。[0021]該日志收集引擎包括決策引擎202。該決策引擎被配置成注冊流事件數(shù)據(jù)的新引入的饋送。該決策引擎能夠從流事件數(shù)據(jù)提供方接收用于注冊新饋送的請求,例如,應(yīng)用以及由應(yīng)用在多租戶環(huán)境中托管的租戶。能夠例如使用針對(duì)分布式配置服務(wù)的ApacheZooKeeper?架構(gòu)來實(shí)現(xiàn)該決策引擎。[0022]響應(yīng)于接收到用于注冊新饋送的請求,決策引擎202為新饋送分配網(wǎng)絡(luò)化連接。例如,決策引擎能夠?yàn)樾吗佀头峙淝岸硕丝诨騃P地址或兩者。決策引擎然后為新饋送分配通道并且使所分配的網(wǎng)絡(luò)化連接與所分配的通道相關(guān)聯(lián)。日志收集引擎包括第一通道204至第M個(gè)通道206。[0023]每個(gè)通道被配置成對(duì)來自流事件數(shù)據(jù)源的事件進(jìn)行分級(jí),直到那些事件被匯點(diǎn)(sink)一一例如,分布式文件系統(tǒng)一一消耗為止。在一些實(shí)施方式中,通道是存儲(chǔ)引入的事件數(shù)據(jù)的無源存儲(chǔ)結(jié)構(gòu)。例如,通道可以是這樣的軟件實(shí)例,其將事件數(shù)據(jù)存儲(chǔ)在本地存儲(chǔ)器結(jié)構(gòu)或本地文件系統(tǒng)中,直到日志收集引擎能夠?qū)⒃撌录?shù)據(jù)移動(dòng)到具有比本地存儲(chǔ)器結(jié)構(gòu)或本地文件系統(tǒng)更大的存儲(chǔ)容量的分布式文件系統(tǒng)為止。[0024]通道能夠被實(shí)現(xiàn)為ApacheFlume?通道。在那種情況下,系統(tǒng)能夠創(chuàng)建多個(gè)Flume實(shí)例,并且每個(gè)flume實(shí)例能夠分配多個(gè)通道。當(dāng)系統(tǒng)分配新通道時(shí),它能夠試圖例如通過將新通道分配到具有最少數(shù)目的通道的Flume實(shí)例中來在Flume實(shí)例之間均勻地分發(fā)通道。[0025]日志收集引擎包括負(fù)載均衡器208。該負(fù)載均衡器被配置成接收來自流數(shù)據(jù)的注冊饋送的數(shù)據(jù)。該負(fù)載均衡器將數(shù)據(jù)從所分配的網(wǎng)絡(luò)化連接重定向到針對(duì)饋送所分配的通道。能夠使用Nginx?服務(wù)器以及可從netfilter.0rg得到的iptables應(yīng)用來實(shí)現(xiàn)該負(fù)載均衡器。[0026]日志收集引擎包括監(jiān)視器210。該監(jiān)視器被配置成監(jiān)視通道的狀態(tài)。例如,該監(jiān)視器能夠從每個(gè)通道周期性地請求該通道正在使用或者已經(jīng)在一時(shí)間段內(nèi)使用的存儲(chǔ)器或網(wǎng)絡(luò)帶寬的量。能夠使用Java管理擴(kuò)展,JavaManagementExtens1ns(JMX)來實(shí)現(xiàn)該監(jiān)視器。[0027]基于通道的狀態(tài),例如,通過將由通道使用的存儲(chǔ)器或網(wǎng)絡(luò)帶寬的量與閾值進(jìn)行比較并且如果所述量超過閾值則確定該通道正在經(jīng)歷高負(fù)載,所述監(jiān)視器來確定通道中的任一個(gè)是否正在經(jīng)歷高負(fù)載。閾值可以是固定的或可變的,并且能夠基于系統(tǒng)的可用計(jì)算資源的總量。存儲(chǔ)器或網(wǎng)絡(luò)帶寬的量可以是絕對(duì)量或相對(duì)量,例如,相對(duì)于總系統(tǒng)存儲(chǔ)器或分布式系統(tǒng)中的單個(gè)計(jì)算機(jī)上的存儲(chǔ)器的量。[0028]監(jiān)視器向決策引擎報(bào)告饋送是否正被定向至被確定為正在經(jīng)歷高負(fù)載的通道。決策引擎然后向負(fù)載均衡器發(fā)送再均衡命令。作為響應(yīng),負(fù)載均衡器為饋送分配一個(gè)或多個(gè)新通道并且使為該饋送所分配的網(wǎng)絡(luò)化連接與一個(gè)或多個(gè)新通道相關(guān)聯(lián)。負(fù)載均衡器然后能夠?qū)碜责佀偷牧魇录?shù)據(jù)重定向到代替或者除舊通道之外的一個(gè)或多個(gè)新通道。在對(duì)給定饋送來說存在多個(gè)通道的情況下,負(fù)載均衡器能夠并行地或者通過一個(gè)接一個(gè)地向每個(gè)通道順序地發(fā)送一定量的數(shù)據(jù)來將饋送數(shù)據(jù)重定向到通道中的每一個(gè)。[0029]在一些實(shí)施方式中,負(fù)載均衡器能夠通過創(chuàng)建新Flume實(shí)例并且在該新Flume實(shí)例內(nèi)分配新通道來為饋送分配新通道。在一些實(shí)施方式中,負(fù)載均衡器能夠使用在分布式計(jì)算系統(tǒng)中不同的計(jì)算機(jī)或計(jì)算機(jī)的集群來適應(yīng)新通道或新Flume實(shí)例。不同的計(jì)算機(jī)或計(jì)算機(jī)的集群對(duì)于日志收集引擎而言可能是新的,例如,不是由日志收集引擎先前或最近使用的。[0030]在一些實(shí)施方式中,被分配給饋送的新通道的數(shù)目基于舊通道上的負(fù)載超過閾值負(fù)載的量。例如,負(fù)載均衡器能夠確定舊通道上的負(fù)載的負(fù)載度量之間的差并且將該負(fù)載度量減去閾值負(fù)載,然后確定新通道的估計(jì)數(shù)目以基于所述差來處置負(fù)載。[0031]在一些實(shí)施方式中,在負(fù)載均衡器使為饋送所分配的網(wǎng)絡(luò)化連接與一個(gè)或多個(gè)新通道相關(guān)聯(lián)之后,負(fù)載均衡器使舊通道停用。例如,負(fù)載均衡器能夠標(biāo)記待由日志收集引擎停用的舊通道,所述日志收集引擎然后等待直到舊通道中的事件中的全部已被一個(gè)或多個(gè)匯點(diǎn)消耗為止。在所有事件已被消耗之后,日志收集引擎然后能夠?qū)Ρ环峙浣o通道的計(jì)算資源解除分配,從而為系統(tǒng)的其余部分釋放那些資源。[0032]圖3是由圖2的決策引擎202所執(zhí)行的示例過程300的流程圖。決策引擎接收用于注冊流事件數(shù)據(jù)的新饋送的請求(302)。決策引擎為新饋送分配網(wǎng)絡(luò)化連接(304)。決策引擎為新饋送分配通道(306)。決策引擎使網(wǎng)絡(luò)化連接與通道相關(guān)聯(lián)(308),使得饋送的流事件數(shù)據(jù)將被重定向到通道。[0033]當(dāng)決策引擎從監(jiān)視器接收到通道正在經(jīng)歷高負(fù)載的報(bào)告(310)時(shí),決策引擎向負(fù)載均衡器發(fā)送用于執(zhí)行負(fù)載均衡的命令(312),即,用于為饋送分配一個(gè)或多個(gè)新通道。[0034]圖4是由圖2的負(fù)載均衡器208所執(zhí)行的示例過程400的流程圖。負(fù)載均衡器接收饋送的流事件數(shù)據(jù)(402)。負(fù)載均衡器將流事件數(shù)據(jù)從它分配的網(wǎng)絡(luò)化連接重定向到它分配的通道(404)。負(fù)載均衡器能夠繼續(xù)重定向流事件數(shù)據(jù),直到饋送被取消注冊為止或者直到負(fù)載均衡器接收到再均衡命令為止。[0035]在一些點(diǎn)上,負(fù)載均衡器從決策引擎接收用于為饋送分配一個(gè)或多個(gè)新通道的命令(406)。作為響應(yīng),負(fù)載均衡器為饋送分配一個(gè)或多個(gè)新通道(408)。負(fù)載均衡器使網(wǎng)絡(luò)連接與一個(gè)或多個(gè)新通道相關(guān)聯(lián)(410)。在使網(wǎng)絡(luò)化連接與一個(gè)或多個(gè)新通道相關(guān)聯(lián)之后,負(fù)載均衡器可選地停用舊通道(412)。[0036]本說明書中所描述的主題和功能操作的實(shí)施例能夠用數(shù)字電子電路、用有形地具體化的計(jì)算機(jī)軟件或固件、用包括本說明書中所公開的結(jié)構(gòu)及其結(jié)構(gòu)等同物的計(jì)算機(jī)硬件或者用它們中的一個(gè)或多個(gè)的組合加以實(shí)現(xiàn)。本說明書中所描述的主題的實(shí)施例能夠作為一個(gè)或多個(gè)計(jì)算機(jī)程序被實(shí)現(xiàn),即,在有形非暫時(shí)性程序載體上編碼以用于由數(shù)據(jù)處理設(shè)備執(zhí)行或者控制數(shù)據(jù)處理設(shè)備的操作的計(jì)算機(jī)程序指令的一個(gè)或多個(gè)模塊。替換地或此夕卜,能夠?qū)⒊绦蛑噶罹幋a在人工生成的傳播信號(hào)上,例如,被生成來對(duì)信息進(jìn)行編碼以便傳輸?shù)竭m合的接收器設(shè)備以用于由數(shù)據(jù)處理設(shè)備執(zhí)行的機(jī)器生成的電、光學(xué)或磁信號(hào)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是機(jī)器可讀存儲(chǔ)裝置、機(jī)器可讀存儲(chǔ)基底、隨機(jī)或串行訪問存儲(chǔ)器裝置或它們中的一個(gè)或多個(gè)的組合。[0037]術(shù)語“數(shù)據(jù)處理設(shè)備”是指數(shù)據(jù)處理硬件,并且包含用于對(duì)數(shù)據(jù)進(jìn)行處理的所有類型的設(shè)備、裝置和機(jī)器,作為示例包括可編程處理器、計(jì)算機(jī)或多個(gè)處理器或計(jì)算機(jī)。所述設(shè)備也可以是或者還包括專用邏輯電路,例如,F(xiàn)PGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路)。所述設(shè)備除了包括硬件之外,還能夠可選地包括為計(jì)算機(jī)程序創(chuàng)建執(zhí)行環(huán)境的代碼,例如,構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或它們中的一個(gè)或多個(gè)的組合的代碼。[0038]計(jì)算機(jī)程序一一其也可以被稱為或者描述為程序、軟件、軟件應(yīng)用、模塊、軟件模塊、腳本或代碼一一能夠用任何形式的編程語言一一包括編譯或解釋語言一一或者描述性或過程語言編寫,并且它能夠被以任何形式部署,包括作為獨(dú)立程序或者作為適合于在計(jì)算環(huán)境中使用的模塊、組件、子例行程序或其它單元。計(jì)算機(jī)程序可以但不必對(duì)應(yīng)于文件系統(tǒng)中的文件。程序能夠被存儲(chǔ)在保持其它程序或數(shù)據(jù)的文件的一部分中,例如,存儲(chǔ)在標(biāo)記語言文檔中的一個(gè)或多個(gè)腳本,以在專用于所述的程序的單個(gè)文件中或者在多個(gè)協(xié)調(diào)文件的方式,例如,存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或代碼的部分的文件中。能夠?qū)⒂?jì)算機(jī)程序部署成在一個(gè)計(jì)算機(jī)上或在位于一個(gè)站點(diǎn)處或者跨越多個(gè)站點(diǎn)分布并通過通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。[0039]本說明書中所描述的過程和邏輯流程能夠由執(zhí)行一個(gè)或多個(gè)計(jì)算機(jī)程序的一個(gè)或多個(gè)可編程計(jì)算機(jī)來執(zhí)行以通過對(duì)輸入數(shù)據(jù)進(jìn)行操作并且生成輸出來執(zhí)行功能。過程和邏輯流程還能夠由專用邏輯電路執(zhí)行,并且設(shè)備還能夠作為專用邏輯電路被實(shí)現(xiàn),所述專用邏輯電路例如FPGA(現(xiàn)場可編程門陣列)或ASICX專用集成電路)。[0040]作為示例,適合于執(zhí)行計(jì)算機(jī)程序的計(jì)算機(jī)能夠基于通用微處理器或?qū)S梦⑻幚砥骰騼烧?,或任何其它類型的中央處理單元。通常,中央處理單元將從只讀存儲(chǔ)器或隨機(jī)存取存儲(chǔ)器或兩者接收指令和數(shù)據(jù)。計(jì)算機(jī)的必要元件是用于依照指令來執(zhí)行或者實(shí)行指令的中央處理單元以及用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)器裝置。通常,計(jì)算機(jī)還將包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)裝置--例如磁盤、磁光盤或光盤,或者在操作上耦合以從用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)裝置一一例如磁盤、磁光盤或光盤接收數(shù)據(jù)或者向用于存儲(chǔ)數(shù)據(jù)的一個(gè)或多個(gè)大容量存儲(chǔ)裝置轉(zhuǎn)移數(shù)據(jù)或兩者。然而,計(jì)算機(jī)不必具有這樣的裝置。而且,能夠?qū)⒂?jì)算機(jī)嵌入在另一裝置,例如,移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、移動(dòng)音頻或視頻播放器、游戲控制臺(tái)、全球定位系統(tǒng)(GPS)接收器或便攜式存儲(chǔ)裝置例如通用串彳丁總線(USB)閃存驅(qū)動(dòng)器等等中。[0041]適合于存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可讀媒體包括所有形式的非易失性存儲(chǔ)器、媒體以及存儲(chǔ)器裝置,作為示例包括:半導(dǎo)體存儲(chǔ)器裝置,例如,EPROM、EEPROM和閃速存儲(chǔ)器裝置;磁盤,例如,內(nèi)部硬盤或可移動(dòng)盤;磁光盤;以及⑶-ROM盤和DVD-ROM盤。處理器和存儲(chǔ)器能夠由專用邏輯電路補(bǔ)充或者并入專用邏輯電路。[0042]計(jì)算系統(tǒng)能夠包括客戶端和服務(wù)器。客戶端和服務(wù)器通常遠(yuǎn)離彼此并且典型地通過通信網(wǎng)絡(luò)相互作用。客戶端和服務(wù)器的關(guān)系借助于在相應(yīng)計(jì)算機(jī)上運(yùn)行并且彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序來產(chǎn)生。[0043]雖然本說明書包含許多特定實(shí)施方式細(xì)節(jié),但是這些不應(yīng)該被解釋為對(duì)任何發(fā)明的范圍或者對(duì)可能要求保護(hù)的范圍構(gòu)成限制,而是相反被解釋為可能特定于特定本發(fā)明的特定實(shí)施例的特征的描述。在本說明書中在單獨(dú)的實(shí)施例背景下所描述的某些特征也能夠在單個(gè)實(shí)施例中相結(jié)合地實(shí)現(xiàn)。相反地,在單個(gè)實(shí)施例背景下所描述的各種特征也能夠地在獨(dú)立地多個(gè)實(shí)施例中或者在任何適合的子組合中實(shí)現(xiàn)。而且,盡管特征可以在上面被描述為在特定組合中起作用并且同樣地甚至最初要求保護(hù),但是來自所要求保護(hù)的組合中的一個(gè)或多個(gè)特征也能夠在一些情況下從組合中刪除,并且所要求保護(hù)的組合可以針對(duì)子組合或子組合的變化。[0044]類似地,雖然按特定次序在附圖中描述操作,但是這不應(yīng)該被理解為要求這樣的操作被按所示出的特定次序或按順序次序執(zhí)行,或者要求執(zhí)行所有圖示的操作,以實(shí)現(xiàn)所希望的結(jié)果。在特定情況下,多任務(wù)和并行處理可能是有利的。而且,在上面所描述的實(shí)施例中獨(dú)立的各種系統(tǒng)模塊和組件不應(yīng)該被理解為在所有實(shí)施例中要求這樣的獨(dú)立,并且應(yīng)該理解,所描述的程序組件和系統(tǒng)能夠通常被一起集成單個(gè)軟件產(chǎn)品中或者封裝到多個(gè)軟件產(chǎn)品中。[0045]因此,已經(jīng)對(duì)本主題的特定實(shí)施例進(jìn)行了描述。其它實(shí)施例在以下權(quán)利要求的范圍內(nèi)。例如,本主題是在科學(xué)論文的背景下描述的。本主題能夠適用于將深度方面添加到搜索的其它索引工作。在一些情況下,權(quán)利要求中所記載的動(dòng)作能夠被按不同次序執(zhí)行并且仍然實(shí)現(xiàn)所希望的結(jié)果。此外,附圖中所描繪的過程未必要求所示出的特定次序或順序次序來實(shí)現(xiàn)所希望的結(jié)果。在特定實(shí)施方式中,多任務(wù)處理和并行處理可能是有利的?!局鳈?quán)項(xiàng)】1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括:在包括多個(gè)計(jì)算機(jī)的分布式計(jì)算系統(tǒng)中接收流事件數(shù)據(jù)的多個(gè)饋送;將來自所述饋送中的每一個(gè)的饋送數(shù)據(jù)路由到多個(gè)通道中的相應(yīng)通道,包括將來自第一饋送的饋送數(shù)據(jù)路由到第一通道,所述通道中的每一個(gè)被配置成存儲(chǔ)饋送數(shù)據(jù)直到該饋送數(shù)據(jù)被數(shù)據(jù)匯點(diǎn)消耗為止;確定所述第一通道的負(fù)載度量超過閾值;響應(yīng)于確定所述負(fù)載度量超過所述閾值,為所述第一饋送分配第二通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道而不是所述第一通道。2.根據(jù)權(quán)利要求1所述的方法,還包括:從第一饋送源接收用于注冊所述第一饋送的請求;為所述第一饋送分配所述第一通道,使得所述第一通道僅接收來自所述第一饋送的數(shù)據(jù);為所述第一饋送分配網(wǎng)絡(luò)化連接,所述網(wǎng)絡(luò)化連接被配置成接收來自所述第一饋送源的饋送數(shù)據(jù);以及使所述網(wǎng)絡(luò)化連接與所述第一通道相關(guān)聯(lián),使得所述分布式計(jì)算系統(tǒng)將來自所述第一饋送的所述饋送數(shù)據(jù)從所述網(wǎng)絡(luò)化連接路由到所述第一通道。3.根據(jù)權(quán)利要求2所述的方法,其中,將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道包括:使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)。4.根據(jù)權(quán)利要求3所述的方法,還包括,在使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)之后,解除分配所述第一通道,使得由所述第一通道使用的所述分布式計(jì)算系統(tǒng)的一個(gè)或多個(gè)計(jì)算資源變得可用于一個(gè)或多個(gè)其它通道。5.根據(jù)權(quán)利要求2所述的方法,其中,所述分布式計(jì)算系統(tǒng)至少對(duì)被配置成為多個(gè)租戶服務(wù)的第一多租戶應(yīng)用進(jìn)行托管,并且其中,接收用于注冊所述第一饋送的所述請求包括:從第一租戶接收所述請求。6.根據(jù)權(quán)利要求1所述的方法,其中,所述第一通道的所述負(fù)載度量指定由所述第一通道使用的存儲(chǔ)器的量或網(wǎng)絡(luò)業(yè)務(wù)的量。7.根據(jù)權(quán)利要求1所述的方法,還包括:響應(yīng)于確定所述負(fù)載度量超過所述閾值,基于所述負(fù)載度量超過所述閾值的量來確定有多少新通道是對(duì)于所述第一饋送足夠數(shù)目的新通道;為所述第一饋送分配所述足夠數(shù)目的新通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述新通道而不是所述第一通道。8.根據(jù)權(quán)利要求1所述的方法,還包括:使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到所述分布式計(jì)算系統(tǒng)的分布式文件系統(tǒng)。9.根據(jù)權(quán)利要求1所述的方法,還包括:使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到被配置成對(duì)所述饋送執(zhí)行數(shù)據(jù)分析的數(shù)據(jù)解析引擎。10.根據(jù)權(quán)利要求1所述的方法,其中,所述通道中的每一個(gè)包括軟件實(shí)例,所述軟件實(shí)例被配置成將饋送數(shù)據(jù)存儲(chǔ)在對(duì)于所述分布式計(jì)算系統(tǒng)中的一個(gè)或多個(gè)計(jì)算機(jī)或一個(gè)或多個(gè)計(jì)算機(jī)的集群為本地的本地?cái)?shù)據(jù)存儲(chǔ)器中,其中,所述本地?cái)?shù)據(jù)存儲(chǔ)器包括隨機(jī)存取存儲(chǔ)器(RAM)或大容量存儲(chǔ)部或兩者。11.一種分布式計(jì)算系統(tǒng),所述分布式計(jì)算系統(tǒng)包括多個(gè)物理計(jì)算機(jī),所述多個(gè)物理計(jì)算機(jī)被配置成執(zhí)行包括以下步驟的操作:接收流事件數(shù)據(jù)的多個(gè)饋送;將來自所述饋送中的每一個(gè)的饋送數(shù)據(jù)路由到多個(gè)通道中的相應(yīng)通道,包括將來自第一饋送的饋送數(shù)據(jù)路由到第一通道,所述通道中的每一個(gè)被配置成存儲(chǔ)饋送數(shù)據(jù)直到該饋送數(shù)據(jù)被數(shù)據(jù)匯點(diǎn)消耗為止;確定所述第一通道的負(fù)載度量超過閾值;響應(yīng)于確定所述負(fù)載度量超過所述閾值,為所述第一饋送分配第二通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道而不是所述第一通道。12.根據(jù)權(quán)利要求11所述的分布式計(jì)算系統(tǒng),所述操作還包括:從第一饋送源接收用于注冊所述第一饋送的請求;為所述第一饋送分配所述第一通道,使得所述第一通道僅接收來自所述第一饋送的數(shù)據(jù);為所述第一饋送分配網(wǎng)絡(luò)化連接,所述網(wǎng)絡(luò)化連接被配置成接收來自所述第一饋送源的饋送數(shù)據(jù);以及使所述網(wǎng)絡(luò)化連接與所述第一通道相關(guān)聯(lián),使得所述分布式計(jì)算系統(tǒng)將來自所述第一饋送的所述饋送數(shù)據(jù)從所述網(wǎng)絡(luò)化連接路由到所述第一通道。13.根據(jù)權(quán)利要求12所述的分布式計(jì)算系統(tǒng),其中,將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道包括:使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)。14.根據(jù)權(quán)利要求13所述的分布式計(jì)算系統(tǒng),所述操作還包括,在使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)之后,解除分配所述第一通道,使得由所述第一通道使用的所述分布式計(jì)算系統(tǒng)的一個(gè)或多個(gè)計(jì)算資源變得可用于一個(gè)或多個(gè)其它通道。15.根據(jù)權(quán)利要求12所述的分布式計(jì)算系統(tǒng),其中,所述分布式計(jì)算系統(tǒng)至少對(duì)被配置成為多個(gè)租戶服務(wù)的第一多租戶應(yīng)用進(jìn)行托管,并且其中,接收用于注冊所述第一饋送的所述請求包括:從第一租戶接收所述請求。16.根據(jù)權(quán)利要求11所述的分布式計(jì)算系統(tǒng),其中,所述第一通道的所述負(fù)載度量指定由所述第一通道使用的存儲(chǔ)器的量或網(wǎng)絡(luò)業(yè)務(wù)的量。17.根據(jù)權(quán)利要求11所述的分布式計(jì)算系統(tǒng),所述操作還包括:響應(yīng)于確定所述負(fù)載度量超過所述閾值,基于所述負(fù)載度量超過所述閾值的量來確定有多少新通道是對(duì)于所述第一饋送足夠數(shù)目的新通道;為所述第一饋送分配所述足夠數(shù)目的新通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述新通道而不是所述第一通道。18.根據(jù)權(quán)利要求11所述的分布式計(jì)算系統(tǒng),所述操作還包括:使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到所述分布式計(jì)算系統(tǒng)的分布式文件系統(tǒng)。19.根據(jù)權(quán)利要求11所述的分布式計(jì)算系統(tǒng),所述操作還包括:使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到被配置成對(duì)所述饋送執(zhí)行數(shù)據(jù)分析的數(shù)據(jù)解析引擎。20.根據(jù)權(quán)利要求11所述的分布式計(jì)算系統(tǒng),其中,所述通道中的每一個(gè)包括軟件實(shí)例,所述軟件實(shí)例被配置成將饋送數(shù)據(jù)存儲(chǔ)在對(duì)于所述分布式計(jì)算系統(tǒng)中的一個(gè)或多個(gè)計(jì)算機(jī)或一個(gè)或多個(gè)計(jì)算機(jī)的集群為本地的本地?cái)?shù)據(jù)存儲(chǔ)器中,其中,所述本地?cái)?shù)據(jù)存儲(chǔ)器包括隨機(jī)存取存儲(chǔ)器(RAM)或大容量存儲(chǔ)部或兩者。21.—種被編碼有計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述程序包括當(dāng)由多個(gè)物理計(jì)算機(jī)的分布式計(jì)算系統(tǒng)執(zhí)行時(shí)使所述分布式計(jì)算系統(tǒng)執(zhí)行包括以下步驟的操作的指令:接收流事件數(shù)據(jù)的多個(gè)饋送;將來自所述饋送中的每一個(gè)的饋送數(shù)據(jù)路由到多個(gè)通道中的相應(yīng)通道,包括將來自第一饋送的饋送數(shù)據(jù)路由到第一通道,所述通道中的每一個(gè)被配置成存儲(chǔ)饋送數(shù)據(jù)直到所述饋送數(shù)據(jù)被數(shù)據(jù)匯點(diǎn)消耗為止;確定所述第一通道的負(fù)載度量超過閾值;響應(yīng)于確定所述負(fù)載度量超過所述閾值,為所述第一饋送分配第二通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道而不是所述第一通道。22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述操作還包括:從第一饋送源接收用于注冊所述第一饋送的請求;為所述第一饋送分配所述第一通道,使得所述第一通道僅接收來自所述第一饋送的數(shù)據(jù);為所述第一饋送分配網(wǎng)絡(luò)化連接,所述網(wǎng)絡(luò)化連接被配置成接收來自所述第一饋送源的饋送數(shù)據(jù);以及使所述網(wǎng)絡(luò)化連接與所述第一通道相關(guān)聯(lián),使得所述分布式計(jì)算系統(tǒng)將來自所述第一饋送的所述饋送數(shù)據(jù)從所述網(wǎng)絡(luò)化連接路由到所述第一通道。23.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述第二通道包括:使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)。24.根據(jù)權(quán)利要求23所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述操作還包括,在使所述網(wǎng)絡(luò)化連接與所述第二通道相關(guān)聯(lián)之后,解除分配所述第一通道,使得由所述第一通道使用的所述分布式計(jì)算系統(tǒng)的一個(gè)或多個(gè)計(jì)算資源變得可用于一個(gè)或多個(gè)其它通道。25.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述分布式計(jì)算系統(tǒng)至少對(duì)被配置成為多個(gè)租戶服務(wù)的第一多租戶應(yīng)用進(jìn)行托管,并且其中,接收用于注冊所述第一饋送的所述請求包括:從第一租戶接收所述請求。26.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述第一通道的所述負(fù)載度量指定由所述第一通道使用的存儲(chǔ)器的量或網(wǎng)絡(luò)業(yè)務(wù)的量。27.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述操作還包括:響應(yīng)于確定所述負(fù)載度量超過所述閾值,基于所述負(fù)載度量超過所述閾值的量來確定有多少新通道是對(duì)于所述第一饋送足夠數(shù)目的新通道;為所述第一饋送分配所述足夠數(shù)目的新通道;以及將來自所述第一饋送的饋送數(shù)據(jù)重定向到所述新通道而不是所述第一通道。28.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述操作還包括:使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到所述分布式計(jì)算系統(tǒng)的分布式文件系統(tǒng)。29.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述操作還包括:使來自所述通道中的每一個(gè)的相應(yīng)輸出沉入到被配置成對(duì)所述饋送執(zhí)行數(shù)據(jù)分析的數(shù)據(jù)解析引擎。30.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其中,所述通道中的每一個(gè)包括軟件實(shí)例,所述軟件實(shí)例被配置成將饋送數(shù)據(jù)存儲(chǔ)在對(duì)于所述分布式計(jì)算系統(tǒng)中的一個(gè)或多個(gè)計(jì)算機(jī)或一個(gè)或多個(gè)計(jì)算機(jī)的集群為本地的本地?cái)?shù)據(jù)存儲(chǔ)器中,其中,所述本地?cái)?shù)據(jù)存儲(chǔ)器包括隨機(jī)存取存儲(chǔ)器(RAM)或大容量存儲(chǔ)部或兩者?!疚臋n編號(hào)】H04L12/24GK106063191SQ201380081578【公開日】2016年10月26日【申請日】2013年11月12日【發(fā)明人】李熊,高小明,李燁,韓冷,朱磊【申請人】皮沃塔爾軟件公司