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

基于zookeeper的流式動態(tài)配置更新架構(gòu)及方法與流程

文檔序號:12664592閱讀:720來源:國知局
基于zookeeper的流式動態(tài)配置更新架構(gòu)及方法與流程

本發(fā)明屬于數(shù)據(jù)處理技術(shù)領域,具體涉及基于zookeeper的流式動態(tài)配置更新架構(gòu)及方法。



背景技術(shù):

流式處理任務是針對實時分析的技術(shù),主要用于實現(xiàn)7*24小時不間斷的實時數(shù)據(jù)處理,實時數(shù)據(jù)分析。流式處理的主要特點是數(shù)據(jù)流不間斷,處理任務不間斷,結(jié)果響應實時性高。常用的實時處理框架分為數(shù)據(jù)驅(qū)動的低延時框架,如storm;以及時間窗口數(shù)據(jù)批處理的準實時框架,如spark streaming。

流式處理任務需要7*24小時不間斷服務,而且其運行的平臺是分布式,任務都是分布在不同的機器上,因此配置更新需要分布式集群的所有機器上的任務都更新配置。這就決定了流式處理任務一般不會通過配置文件去管理程序配置(需要同步文件到所有的機器),一般是通過數(shù)據(jù)庫管理配置,且復雜度增加。對于流式處理任務來說,一般有很多的配置選項,作為對實時數(shù)據(jù)的處理準則,例如:過濾數(shù)據(jù)字段,數(shù)據(jù)清洗準則,指標維度計算等。涉及到大量的配置,這其中有些是需要根據(jù)不同的業(yè)務需求去實時更新,并且實時結(jié)果響應。具體地說,目前一般通過以下幾種方式來實現(xiàn)配置更新:

1.重啟任務,通過程序初始化加載配置。該方式需要對流式處理任務間斷,這就決定了重啟任務會有一定的局限,無法適用于實時性要求高的任務。

2.輪詢查詢配置數(shù)據(jù)庫,分布式集群每臺運行任務的機器都需要輪詢查詢。該方式效率低下,對于配置更新頻次低下的任務,則會浪費大量的cpu時間去做無謂的查詢,同時當集群機器數(shù)量很多時,大量的數(shù)據(jù)庫連接和查詢會造成數(shù)據(jù)庫的負載過高。

綜上所述,現(xiàn)有的配置更新方式或效率低下,或需要間斷任務,無法滿足不間斷的流式處理任務的高效更新需求。



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

為解決上述問題,本發(fā)明公開了基于zookeeper的流式動態(tài)配置更新架構(gòu)及基于該架構(gòu)實現(xiàn)的方法,能夠保證流式處理任務不間斷執(zhí)行的情況下可以實現(xiàn)動態(tài)配置更新,實時響應。

為了達到上述目的,本發(fā)明提供如下技術(shù)方案:

基于zookeeper的流式動態(tài)配置更新架構(gòu),包括zookeeper處理平臺、Storm流式處理平臺、配置管理系統(tǒng)和數(shù)據(jù)庫,所述zookeeper處理平臺部署若干節(jié)點,zookeeper平臺中設有更新事件,當zookeeper處理平臺節(jié)點更新時觸發(fā)更新事件,更新事件能夠向Storm流式處理平臺輸出事件路徑;所述Storm流式處理平臺用于執(zhí)行7*24小時流式處理任務,Storm流式處理平臺中執(zhí)行有若干流式處理子任務,流式處理子任務用于監(jiān)控zookeeper上的指定節(jié)點,并能夠在自己監(jiān)控的節(jié)點更新時獲取數(shù)據(jù)庫中的配置信息更新流式處理平臺中的任務配置;配置管理系統(tǒng)用于管理配置信息,用于運行和查看任務的配置,并提供同步更新線上流式處理任務功能,當更改配置后配置管理系統(tǒng)更新數(shù)據(jù)庫中的相應配置,當選擇同步更新線上流式處理任務時,配置管理系統(tǒng)更新zookeeper平臺上的節(jié)點,觸發(fā)更新事件。

進一步的,所述流式處理子任務中包含Zk監(jiān)控單元和配置更新操作單元,所述Zk監(jiān)控單元用于監(jiān)控節(jié)點更新事件,當監(jiān)控到節(jié)點更新事件之后,獲取更新事件輸出的事件路徑,判斷事件路徑與監(jiān)控路徑是否一致,如一致則觸發(fā)配置更新操作單元工作;所述配置更新操作單元用于讀取數(shù)據(jù)庫中的配置信息并更新當前運行任務配置文件。

進一步的,所述配置更新操作單元讀取數(shù)據(jù)庫中的配置信息更新當前運行任務配置文件的過程包括:建立數(shù)據(jù)庫連接,用指定sql語句去查詢配置表,讀取最新配置文件之后,更新改任務的配置準則。

進一步的,配置管理系統(tǒng)提供web界面。

本發(fā)明還提供了基于zookeeper的流式動態(tài)配置更新方法,包括如下步驟:

構(gòu)建zookeeper處理平臺和流式處理平臺,zookeeper處理平臺具有若干節(jié)點,Storm流式處理平臺中發(fā)布若干流式處理子任務,所述流式處理子任務不間斷運行,流式處理子任務持續(xù)監(jiān)控zookeeper處理平臺上的指定節(jié)點;

當配置更新時,更新后的配置存儲在數(shù)據(jù)庫中,當無后續(xù)操作時,本步驟終止;當同步更新線上流式處理任務時,更新zookeeper處理平臺中的節(jié)點并觸發(fā)更新事件;

流式處理平臺中的流式處理子任務監(jiān)控到zookeeper處理平臺中節(jié)點更新事件,判斷事件路徑與監(jiān)控路徑一致時觸發(fā)配置更新操作單元工作,配置更新操作單元讀取數(shù)據(jù)庫并獲取數(shù)據(jù)庫中最新的配置文件后更新當前運行任務配置文件,流式任務立刻響應最新的配置準則,根據(jù)最新配置準則去處理接下來流入的數(shù)據(jù)。

與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點和有益效果:

本發(fā)明通過流式處理任務監(jiān)控zookeeper節(jié)點來進行配置更新,能夠保證流式處理任務不間斷執(zhí)行的情況下實現(xiàn)動態(tài)配置更新;由于只在需要時更新,實現(xiàn)在配置不更新的情況下不查詢,而在配置更新完成需要同步線上環(huán)境的時候,所有需要更新節(jié)點立刻響應查詢請求,去完成配置更新,真正的實現(xiàn)按需配置,簡單配置,提高運行效率,節(jié)約設備資源。

附圖說明

圖1為本發(fā)明架構(gòu)圖。

圖2為流式處理任務和配置管理更新過程流程圖。

具體實施方式

以下將結(jié)合具體實施例對本發(fā)明提供的技術(shù)方案進行詳細說明,應理解下述具體實施方式僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。

本發(fā)明提供的基于zookeeper的流式處理動態(tài)配置更新架構(gòu),如圖1所示,包括zookeeper處理平臺、Storm流式處理平臺、配置管理系統(tǒng),通過三個平臺/系統(tǒng)配合數(shù)據(jù)庫完成整個流式處理任務配置的動態(tài)更新。

其中zookeeper處理平臺在三臺機器上部署三個節(jié)點,zookeeper平臺中還設有更新事件(WatchedEvent),當任一節(jié)點更新時觸發(fā)更新事件,更新事件觸發(fā)所有監(jiān)控該事件的任務,并能夠輸出事件path(路徑)。Storm流式處理平臺是用于執(zhí)行流式處理任務的分布式系統(tǒng),其架構(gòu)采用現(xiàn)有技術(shù)。本發(fā)明中,在Storm流式處理平臺上設置了若干流式處理子任務(Bolt),流式處理任務提交之后,監(jiān)控zookeeper節(jié)點,處于一直運行的狀態(tài),不會去主動查詢配置,高效的完成7*24小時流式處理任務。流式處理各個子任務(Bolt)用于監(jiān)控zookeeper上的若干節(jié)點,當監(jiān)控到節(jié)點更新事件時查詢數(shù)據(jù)庫進行動態(tài)配置更新,繼續(xù)運行7*24小時任務。Storm流式處理平臺中Storm Topology(流式任務)用于將各個子任務Bolt組合起來,發(fā)布到storm平臺上開始流式處理任務。配置管理系統(tǒng)用于管理配置信息,用于運行和查看任務的配置,同時在配置完成更新之后,可以選擇是否同步更新線上流式處理任務的配置,當選擇同步更新線上流式任務的配置之后,觸發(fā)zookeeper節(jié)點狀態(tài)更新。

具體的說,在zookeeper處理平臺中,觸發(fā)更新狀態(tài)通過zookeeper的api: org.apache.zookeeper.ZooKeeper.setData方法(該方法為現(xiàn)有技術(shù),在本發(fā)明中不詳細描述)實現(xiàn)。該方法對于指定path節(jié)點設置新數(shù)據(jù)并更新版本號,該更新過程會觸發(fā)更新事件,更新事件監(jiān)控到該更新后能夠觸發(fā)所有監(jiān)控該事件的任務。在本發(fā)明中,更新事件能夠觸發(fā)監(jiān)控當前更新節(jié)點的子任務(Bolt)。

各流式處理子任務(Bolt)能夠監(jiān)控zookeeper處理平臺中的指定節(jié)點,并能夠在自己監(jiān)控的節(jié)點更新時獲取數(shù)據(jù)庫中的配置信息更新流式處理平臺中的任務配置。各流式處理子任務(Bolt)中包含Zk監(jiān)控單元和配置更新操作單元,Zk監(jiān)控單元能夠監(jiān)控zookeeper處理平臺中的指定的節(jié)點——即監(jiān)控節(jié)點更新事件。當Zk監(jiān)控單元監(jiān)控到節(jié)點更新事件之后,獲取更新事件輸出的事件path(路徑),判斷事件path(路徑)與監(jiān)控path(路徑)是否一致,如一致則說明本子任務監(jiān)控的節(jié)點有所更新,隨即觸發(fā)配置更新操作單元工作。配置更新操作單元首先讀數(shù)據(jù)庫,更新當前運行任務配置文件,具體工作流程是建立數(shù)據(jù)庫連接,用指定sql語句去查詢配置表,讀取最新配置文件之后,更新改任務的配置準則,比如過濾準則,匹配準則,以及統(tǒng)計指標等。流式任務立刻響應最新的配置準則,根據(jù)最新配置準則去處理接下來流入的數(shù)據(jù)。

配置管理系統(tǒng)提供web界面用于查看和更新配置,并與數(shù)據(jù)庫mysql及 zookeper處理平臺交互,配置管理系統(tǒng)提供同步更新線上流式處理任務功能,該功能在配置管理系統(tǒng)界面上以按鈕形式顯示。當更改配置后配置管理系統(tǒng)更新數(shù)據(jù)庫中的相應配置,當點擊按鈕選擇同步更新線上流式處理任務時,則配置管理系統(tǒng)與zookeeper處理平臺交互,向zookeeper傳輸數(shù)據(jù)(數(shù)據(jù)任意),并進行更新節(jié)點操作(如更新版本號),觸發(fā)更新事件。

基于上述架構(gòu),本發(fā)明還提供了基于zookeeper的流式處理動態(tài)配置更新方法,包括如下步驟,其中流式處理任務和配置管理更新過程的流程如圖2所示:

構(gòu)建zookeeper處理平臺和流式處理平臺,zookeeper處理平臺具有若干節(jié)點,Storm流式處理平臺中發(fā)布若干流式處理子任務,所述流式處理子任務不間斷運行,流式處理子任務持續(xù)監(jiān)控zookeeper處理平臺上的指定節(jié)點。

當配置更新時,更新后的配置存儲在數(shù)據(jù)庫中,當無后續(xù)操作時,本步驟終止;當同步更新線上流式處理任務時,更新zookeeper處理平臺中的節(jié)點并觸發(fā)更新事件。

流式處理平臺中的流式處理子任務監(jiān)控到zookeeper處理平臺中節(jié)點更新事件,判斷事件路徑與監(jiān)控路徑一致時觸發(fā)配置更新操作單元工作,如不一致則不觸發(fā)配置更新操作單元。

配置更新操作單元讀取數(shù)據(jù)庫并獲取數(shù)據(jù)庫中最新的配置文件后更新當前運行任務配置文件,流式任務立刻響應最新的配置準則(比如過濾準則,匹配準則,以及統(tǒng)計指標等),根據(jù)最新配置準則去處理接下來流入的數(shù)據(jù)。

本發(fā)明方案所公開的技術(shù)手段不僅限于上述實施方式所公開的技術(shù)手段,還包括由以上技術(shù)特征任意組合所組成的技術(shù)方案。應當指出,對于本技術(shù)領域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
萨嘎县| 密山市| 长宁区| 同德县| 松江区| 玉田县| 邵东县| 揭西县| 红桥区| 广州市| 荣成市| 襄汾县| 仙居县| 西安市| 祥云县| 元氏县| 嘉禾县| 永福县| 太谷县| 盖州市| 双鸭山市| 安庆市| 南安市| 汶川县| 紫阳县| 淳安县| 延安市| 巴楚县| 卫辉市| 林口县| 乌拉特中旗| 叙永县| 德保县| 田林县| 彰化市| 常熟市| 漯河市| 乳源| 铁岭县| 通州市| 全椒县|