[發(fā)明專利]一種分布式的實(shí)時消息過濾系統(tǒng)有效
| 申請?zhí)枺?/td> | 201810622599.0 | 申請日: | 2018-06-15 |
| 公開(公告)號: | CN108737566B | 公開(公告)日: | 2021-03-05 |
| 發(fā)明(設(shè)計(jì))人: | 程永新;宋輝 | 申請(專利權(quán))人: | 上海新炬網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/825;H04L12/24;G06F11/14;G06F9/54 |
| 代理公司: | 上海科律專利代理事務(wù)所(特殊普通合伙) 31290 | 代理人: | 袁亞軍;金碎平 |
| 地址: | 201707 上海市青浦區(qū)外青*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 分布式 實(shí)時 消息 過濾 系統(tǒng) | ||
本發(fā)明公開了一種分布式的實(shí)時消息過濾系統(tǒng),包括主服務(wù)器、備用服務(wù)器、zookeeper模塊、數(shù)據(jù)庫、Web模塊、代理服務(wù)器和消費(fèi)端;主服務(wù)器啟動代理服務(wù)器上的常駐進(jìn)程,常駐進(jìn)程包括過濾器、資源管理器和監(jiān)控器;所述主服務(wù)器注冊信息到zookeeper模塊的服務(wù)器心跳節(jié)點(diǎn),同時注冊心跳節(jié)點(diǎn)變化事件,備用服務(wù)器注冊zookeeper模塊的服務(wù)器心跳節(jié)點(diǎn)變化事件,當(dāng)發(fā)現(xiàn)zookeeper模塊的服務(wù)器心跳節(jié)點(diǎn)變化時,通過通知主備服務(wù)器的方式,主備服務(wù)器自動完成角色切換;所述數(shù)據(jù)庫存儲過濾元數(shù)據(jù)信息和過濾監(jiān)控信息。本發(fā)明將過濾條件智能合并,自我調(diào)節(jié)過濾速率,可在活躍和等待進(jìn)行狀態(tài)切換,資源分配合理。
技術(shù)領(lǐng)域
本發(fā)明涉及一種消息過濾系統(tǒng),尤其涉及一種分布式的實(shí)時消息過濾系統(tǒng)。
背景技術(shù)
Kafka以其高吞吐量,高可用等特性成為海量數(shù)據(jù)生產(chǎn)消費(fèi)訂閱的首選組件,但是kafka作為一個數(shù)據(jù)流組件,數(shù)據(jù)是不帶有schema的,只能單純的數(shù)據(jù)訂閱,無法進(jìn)行過濾等操作;如需對數(shù)據(jù)流進(jìn)行數(shù)據(jù)簡單處理,普遍的處理方式基本都是由數(shù)據(jù)訂閱方消費(fèi)所有的數(shù)據(jù),然后在消費(fèi)端進(jìn)行全量數(shù)據(jù)實(shí)時過濾操作,這樣做的問題:1、訂閱方網(wǎng)絡(luò)io壓力大,需要從海里數(shù)據(jù)流中過濾僅僅為得到少量數(shù)據(jù);2、缺乏有效的監(jiān)控手段,無法知道數(shù)據(jù)的消費(fèi)和過濾情況;3、同一個數(shù)據(jù)源不同條件的消費(fèi)端的業(yè)務(wù)過濾需求無法合并處理,導(dǎo)致了對于同一個數(shù)據(jù)源,需要全量消費(fèi)多次數(shù)據(jù)。
現(xiàn)有的解決消息過濾的技術(shù)方案有以下兩種,有各自的優(yōu)點(diǎn)和缺點(diǎn):
Spark Streaming+kafka:Spark Streaming基于Spark引擎,是核心API的一個擴(kuò)展,是一種微批處理模型,可以實(shí)現(xiàn)高吞吐量的、具備容錯機(jī)制的實(shí)時流數(shù)據(jù)的處理。支持從kafka獲取數(shù)據(jù),從數(shù)據(jù)源獲取數(shù)據(jù)之后,可以使用諸如map、reduce等高級函數(shù)進(jìn)行復(fù)雜算法的簡單處理,與kafka的整合較為成熟。缺點(diǎn)是1、引入了spark這個第三方框架,有一定的學(xué)習(xí)成本和維護(hù)成本;2、處理結(jié)果寫回kafka,需要創(chuàng)建多個topic,對kafka機(jī)器的運(yùn)維帶來負(fù)擔(dān);3、缺乏有效的消費(fèi)過濾監(jiān)控;4、Spark對內(nèi)存的要求較高;5、spark屬于微批處理,且數(shù)據(jù)流經(jīng)過多個機(jī)器,數(shù)據(jù)延遲較高。
Kafka Streams:Kafka Streams是一套kafka原生類庫,它使得Apache Kafka可以擁有流處理的能力,通過使用Kafka Streams API進(jìn)行業(yè)務(wù)邏輯處理最后寫回Kakfa或者其他系統(tǒng)中。開發(fā)者使用Kafka Stream的門檻非常低,比如單機(jī)進(jìn)行一些小數(shù)據(jù)量的功能驗(yàn)證而不需要在其他機(jī)器上啟動一些服務(wù),同時具有依賴輕量,低延遲消息處理和必要的流處理api。缺點(diǎn)是:1、topic數(shù)據(jù)增多,數(shù)據(jù)冗余,集群運(yùn)維負(fù)擔(dān)重;2、缺乏資源調(diào)度,造成資源分配不均;3、消息隊(duì)列與流處理糅合在一起,缺乏資源隔離機(jī)制。
因此,當(dāng)前的技術(shù)有待改進(jìn)和提高。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種分布式的實(shí)時消息過濾系統(tǒng),解決消息過濾以及過濾情況監(jiān)控的問題。
本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提供一種分布式的實(shí)時消息過濾系統(tǒng),包括主服務(wù)器、備用服務(wù)器、zookeeper模塊、數(shù)據(jù)庫、Web模塊、代理服務(wù)器和消費(fèi)端;所述主服務(wù)器啟動代理服務(wù)器上的常駐進(jìn)程,所述常駐進(jìn)程包括過濾器、資源管理器和監(jiān)控器;所述主服務(wù)器注冊信息到zookeeper模塊的服務(wù)器心跳節(jié)點(diǎn),同時注冊心跳節(jié)點(diǎn)變化事件,所述備用服務(wù)器注冊zookeeper模塊的服務(wù)器心跳節(jié)點(diǎn)變化事件,當(dāng)發(fā)現(xiàn)主服務(wù)器故障即zookeeper模塊的服務(wù)器心跳節(jié)點(diǎn)變化時,通過通知主備服務(wù)器的方式,主備服務(wù)器自動完成角色切換;所述數(shù)據(jù)庫存儲過濾元數(shù)據(jù)信息和過濾監(jiān)控信息;所述Web模塊從數(shù)據(jù)庫讀取過濾和執(zhí)行信息,并展示在web頁面;所述過濾器用于消費(fèi)代理服務(wù)器上的主題;所述資源管理器:存儲過濾器的資源負(fù)載信息到zookeeper模塊的資源管理器節(jié)點(diǎn);所述監(jiān)控器對過濾器運(yùn)行狀態(tài)進(jìn)行監(jiān)控。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海新炬網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)上海新炬網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810622599.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





