欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種分布式流數(shù)據(jù)的采集方法與流程

文檔序號(hào):12464861閱讀:506來源:國知局

本發(fā)明涉及分布式系統(tǒng)領(lǐng)域,特別是指一種分布式流數(shù)據(jù)的采集方法。



背景技術(shù):

信息技術(shù)飛速發(fā)展導(dǎo)致數(shù)據(jù)規(guī)模極大增加,而且這些數(shù)據(jù)來源非常豐富,包括:批量日志數(shù)據(jù),實(shí)時(shí)數(shù)據(jù),流式數(shù)據(jù);數(shù)據(jù)類型多樣,包括:結(jié)構(gòu)化數(shù)據(jù),半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù),如何采集、存儲(chǔ)和分析這些海量數(shù)據(jù)?

傳統(tǒng)的數(shù)據(jù)采集技術(shù),因?yàn)閿?shù)據(jù)來源比較單一,主要是數(shù)據(jù)庫和文件方式進(jìn)行存儲(chǔ),且數(shù)據(jù)量較小,大多采用比較單一的工具甚至程序腳本就可以完成數(shù)據(jù)采集工作。傳統(tǒng)的并行數(shù)據(jù)庫技術(shù)追求高度一致性和容錯(cuò)性,根據(jù)CAP理論,難以保證其可用性、擴(kuò)展性和高性能。而分布式大數(shù)據(jù)的采集數(shù)據(jù)來源廣,包括批量采集,實(shí)時(shí)數(shù)據(jù)采集,流式數(shù)據(jù)采集;數(shù)據(jù)量巨大,通常都達(dá)到TB,PB級(jí)別;數(shù)據(jù)處理的性能和實(shí)時(shí)性要求高。因此,傳統(tǒng)的集中采集和存儲(chǔ)數(shù)據(jù)的處理方法,已經(jīng)不能適應(yīng)大數(shù)據(jù)的需求。目前在數(shù)據(jù)采集方面,主要存在的問題為:

1)由于在海量數(shù)據(jù)采集過程中,往往數(shù)據(jù)源類型多、數(shù)據(jù)的生成規(guī)則復(fù)雜多樣,海量數(shù)據(jù)的格式轉(zhuǎn)換太大,傳統(tǒng)的數(shù)據(jù)采集工具很容易失效,即對(duì)于同一數(shù)據(jù)對(duì)象,由于采用的編碼規(guī)范、命名方法的差異等數(shù)據(jù)差異或者沖突使得在數(shù)據(jù)采集過程中容易產(chǎn)生不一致;另外一方面則是因?yàn)樵谄髽I(yè)海量數(shù)據(jù)采集中由于并發(fā)任務(wù)高、采集數(shù)據(jù)量大等造成CPU使用率過高或者內(nèi)存不足,從而導(dǎo)致數(shù)據(jù)處理變慢以及數(shù)據(jù)庫主機(jī)自動(dòng)重啟等問題,無法滿足海量數(shù)據(jù)的采集需求;

2)目前電網(wǎng)公司的業(yè)務(wù)系統(tǒng)基本采用的都是關(guān)系型數(shù)據(jù)庫,要在數(shù)據(jù)源頭改變數(shù)據(jù)產(chǎn)生和存儲(chǔ)的方式很難,無法用大數(shù)據(jù)平臺(tái)去替代關(guān)系庫,只能是把平臺(tái)所需的數(shù)據(jù)從關(guān)系庫同步過來?,F(xiàn)有方法都是采用定制周期性ETL等方式,實(shí)時(shí)性不夠,性能也差,因此如何解決關(guān)系庫和大數(shù)據(jù)平臺(tái)的數(shù)據(jù)復(fù)制問題,提高實(shí)時(shí)性和復(fù)制性能,都是非常直接的需求。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明的目的在于提出一種分布式流數(shù)據(jù)的采集方法。

基于上述目的本發(fā)明提供的一種分布式流數(shù)據(jù)的采集方法,包括:

步驟1:Source接收Events或通過特殊機(jī)制產(chǎn)生Events,并將Events批量的放到一個(gè)或多個(gè)Channels;

步驟2:Channel接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù)Channel中的數(shù)據(jù)直到進(jìn)入到下一個(gè)Channel中或者進(jìn)入終端才會(huì)被刪除;

步驟3:Sink將events傳輸?shù)较乱惶蜃罱K目的,成功完成后將events從channel移除,Sink會(huì)消費(fèi)Channel中的數(shù)據(jù),然后送給外部源或者其他Source。

進(jìn)一步的,所述Source的類型包括:

a)系統(tǒng)集成的Sources:Syslog(系統(tǒng)日志),Netcat;

b)自動(dòng)生成事件的Sources:Exec,SEQ;

c)用于Agent和Agent之間通信的IPCSources:Avro,Thrift。

進(jìn)一步的,所述Source還可以用來接收外部源發(fā)送過來的數(shù)據(jù),不同的Source,可以接受不同的數(shù)據(jù)格式。

進(jìn)一步的,每個(gè)Source至少和一個(gè)Channel關(guān)聯(lián),以將接收的數(shù)據(jù)進(jìn)行緩存。

進(jìn)一步的,Channel是一個(gè)存儲(chǔ)池,介于Source和Sink之間,主要用來接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù),Channel中的數(shù)據(jù)直到進(jìn)入到下一個(gè)Channel中或者進(jìn)入終端才會(huì)被刪除;當(dāng)Sink寫入失敗后,可以自動(dòng)重啟。

進(jìn)一步的,F(xiàn)lume允許多個(gè)Agent連在一起,形成前后相連的多級(jí)跳。

從上面所述可以看出,本發(fā)明提供的分布式流數(shù)據(jù)的采集方法,包括:步驟1:Source接收Events或通過特殊機(jī)制產(chǎn)生Events,并將Events批量的放到一個(gè)或多個(gè)Channels;步驟2:Channel接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù)Channel中的數(shù)據(jù)直到進(jìn)入到下一個(gè)Channel中或者進(jìn)入終端才會(huì)被刪除;步驟3:Sink將events傳輸?shù)较乱惶蜃罱K目的,成功完成后將events從channel移除,Sink會(huì)消費(fèi)Channel中的數(shù)據(jù),然后送給外部源或者其他Source。本發(fā)明的分布式流數(shù)據(jù)的采集方法,解決了關(guān)系庫和大數(shù)據(jù)平臺(tái)的數(shù)據(jù)復(fù)制問題,提高實(shí)時(shí)性和復(fù)制性能。

附圖說明

圖1為本發(fā)明分布式流數(shù)據(jù)的采集方法的一個(gè)實(shí)施例的技術(shù)原理示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。

本發(fā)明的目的在于提出一種分布式流數(shù)據(jù)的采集方法。

基于上述目的本發(fā)明提供的一種分布式流數(shù)據(jù)的采集方法,包括:

步驟1:Source接收Events或通過特殊機(jī)制產(chǎn)生Events,并將Events批量的放到一個(gè)或多個(gè)Channels;

步驟2:Channel接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù)Channel中的數(shù)據(jù)直到進(jìn)入到下一個(gè)Channel中或者進(jìn)入終端才會(huì)被刪除;

步驟3:Sink將events傳輸?shù)较乱惶蜃罱K目的,成功完成后將events從channel移除,Sink會(huì)消費(fèi)Channel中的數(shù)據(jù),然后送給外部源或者其他Source。

進(jìn)一步的,所述Source的類型包括:

a)系統(tǒng)集成的Sources:Syslog(系統(tǒng)日志),Netcat;

b)自動(dòng)生成事件的Sources:Exec,SEQ;

c)用于Agent和Agent之間通信的IPCSources:Avro,Thrift。

進(jìn)一步的,所述Source還可以用來接收外部源發(fā)送過來的數(shù)據(jù),不同的Source,可以接受不同的數(shù)據(jù)格式。

進(jìn)一步的,每個(gè)Source至少和一個(gè)Channel關(guān)聯(lián),以將接收的數(shù)據(jù)進(jìn)行緩存。

進(jìn)一步的,Channel是一個(gè)存儲(chǔ)池,介于Source和Sink之間,主要用來接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù),Channel中的數(shù)據(jù)直到進(jìn)入到下一個(gè)Channel中或者進(jìn)入終端才會(huì)被刪除;當(dāng)Sink寫入失敗后,可以自動(dòng)重啟。

進(jìn)一步的,F(xiàn)lume允許多個(gè)Agent連在一起,形成前后相連的多級(jí)跳。本發(fā)明的分布式流數(shù)據(jù)的采集方法,解決了關(guān)系庫和大數(shù)據(jù)平臺(tái)的數(shù)據(jù)復(fù)制問題,提高實(shí)時(shí)性和復(fù)制性能。

如圖1所示,為本發(fā)明分布式流數(shù)據(jù)的采集方法的一個(gè)實(shí)施例的技術(shù)原理示意圖。Flume的核心是把數(shù)據(jù)從數(shù)據(jù)源收集過來,再送到目的地。為了保證輸送一定成功,在送到目的地之前,會(huì)先緩存數(shù)據(jù),待數(shù)據(jù)真正到達(dá)目的地后,刪除自己緩存的數(shù)據(jù)。Flume傳輸?shù)臄?shù)據(jù)的基本單位是Event,Event由可選的hearders和載有數(shù)據(jù)的一個(gè)byte array構(gòu)成。載有的數(shù)據(jù)對(duì)flume是不透明的。Headers是容納了key-value字符串對(duì)的無序集合,key在集合內(nèi)是唯一的。Headers可以在上下文路由中使用擴(kuò)展。Flume運(yùn)行的核心部分是Agent,它是一個(gè)完整的數(shù)據(jù)收集工具,含有三個(gè)核心組件,分別是Source、Channel、Sink。

1)Source負(fù)責(zé)接收Events或通過特殊機(jī)制產(chǎn)生Events,并將Events批量的放到一個(gè)或多個(gè)Channels??梢越邮胀獠吭窗l(fā)送過來的數(shù)據(jù)。不同的Source,可以接受不同的數(shù)據(jù)格式。比如有目錄池(Spooling directory)數(shù)據(jù)源,可以監(jiān)控指定文件夾中的新文件變化,如果目錄中有文件產(chǎn)生,就會(huì)立刻讀取其內(nèi)容。主要的Source類型有以下幾種:

a)系統(tǒng)集成的Sources:Syslog(系統(tǒng)日志),Netcat;

b)自動(dòng)生成事件的Sources:Exec,SEQ;

c)用于Agent和Agent之間通信的IPCSources:Avro,Thrift;

每個(gè)Source至少和一個(gè)Channel關(guān)聯(lián),以將接收的數(shù)據(jù)進(jìn)行緩存。

2)Channel是一個(gè)存儲(chǔ)池,介于Source和Sink之間,主要用來接收緩存Source輸出Events,而當(dāng)有Sink消費(fèi)掉Channel中的數(shù)據(jù)。Channel中的數(shù)據(jù)直到進(jìn)入到下一個(gè)Channel中或者進(jìn)入終端才會(huì)被刪除。當(dāng)Sink寫入失敗后,可以自動(dòng)重啟,不會(huì)造成數(shù)據(jù)丟失,因此很可靠。

3)Sink負(fù)責(zé)將events傳輸?shù)较乱惶蜃罱K目的,成功完成后將events從channel移除,Sink會(huì)消費(fèi)Channel中的數(shù)據(jù),然后送給外部源或者其他Source。如數(shù)據(jù)可以寫入到HDFS或者HBase中。Flume允許多個(gè)Agent連在一起,形成前后相連的多級(jí)跳。

需要說明的是,本發(fā)明實(shí)施例中所有使用“第一”和“第二”的表述均是為了區(qū)分兩個(gè)相同名稱非相同的實(shí)體或者非相同的參量,可見“第一”“第二”僅為了表述的方便,不應(yīng)理解為對(duì)本發(fā)明實(shí)施例的限定,后續(xù)實(shí)施例對(duì)此不再一一說明。

所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:以上任何實(shí)施例的討論僅為示例性的,并非旨在暗示本公開的范圍(包括權(quán)利要求)被限于這些例子;在本發(fā)明的思路下,以上實(shí)施例或者不同實(shí)施例中的技術(shù)特征之間也可以進(jìn)行組合,步驟可以以任意順序?qū)崿F(xiàn),并存在如上所述的本發(fā)明的不同方面的許多其它變化,為了簡明它們沒有在細(xì)節(jié)中提供。

另外,為簡化說明和討論,并且為了不會(huì)使本發(fā)明難以理解,在所提供的附圖中可以示出或可以不示出與集成電路(IC)芯片和其它部件的公知的電源/接地連接。此外,可以以框圖的形式示出裝置,以便避免使本發(fā)明難以理解,并且這也考慮了以下事實(shí),即關(guān)于這些框圖裝置的實(shí)施方式的細(xì)節(jié)是高度取決于將要實(shí)施本發(fā)明的平臺(tái)的(即,這些細(xì)節(jié)應(yīng)當(dāng)完全處于本領(lǐng)域技術(shù)人員的理解范圍內(nèi))。在闡述了具體細(xì)節(jié)(例如,電路)以描述本發(fā)明的示例性實(shí)施例的情況下,對(duì)本領(lǐng)域技術(shù)人員來說顯而易見的是,可以在沒有這些具體細(xì)節(jié)的情況下或者這些具體細(xì)節(jié)有變化的情況下實(shí)施本發(fā)明。因此,這些描述應(yīng)被認(rèn)為是說明性的而不是限制性的。

盡管已經(jīng)結(jié)合了本發(fā)明的具體實(shí)施例對(duì)本發(fā)明進(jìn)行了描述,但是根據(jù)前面的描述,這些實(shí)施例的很多替換、修改和變型對(duì)本領(lǐng)域普通技術(shù)人員來說將是顯而易見的。例如,其它存儲(chǔ)器架構(gòu)(例如,動(dòng)態(tài)RAM(DRAM))可以使用所討論的實(shí)施例。

本發(fā)明的實(shí)施例旨在涵蓋落入所附權(quán)利要求的寬泛范圍之內(nèi)的所有這樣的替換、修改和變型。因此,凡在本發(fā)明的精神和原則之內(nèi),所做的任何省略、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
开化县| 顺昌县| 新乡县| 江山市| 和林格尔县| 虞城县| 华宁县| 石阡县| 灵石县| 鞍山市| 清水县| 阜宁县| 清远市| 萨嘎县| 乾安县| 临朐县| 大悟县| 梨树县| 东莞市| 河间市| 武威市| 黑龙江省| 台中县| 项城市| 古丈县| 连山| 鞍山市| 昭通市| 卓尼县| 吉木萨尔县| 汉川市| 尼玛县| 济宁市| 灌南县| 南京市| 登封市| 区。| 大埔县| 庐江县| 休宁县| 竹山县|