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