【技術(shù)實(shí)現(xiàn)步驟摘要】
一種多并發(fā)多通道環(huán)境下的數(shù)據(jù)實(shí)時(shí)查詢(xún)系統(tǒng)
本專(zhuān)利技術(shù)涉及一種多并發(fā)多通道環(huán)境下的數(shù)據(jù)實(shí)時(shí)查詢(xún)系統(tǒng)。
技術(shù)介紹
目前流數(shù)據(jù)的應(yīng)用十分廣泛,流數(shù)據(jù)是一組順序、大量、快速、連續(xù)到達(dá)的數(shù)據(jù)序列,一般情況下,數(shù)據(jù)流可被視為一個(gè)隨時(shí)間延續(xù)而無(wú)限增長(zhǎng)的動(dòng)態(tài)數(shù)據(jù)集合。應(yīng)用于網(wǎng)絡(luò)監(jiān)控、傳感器網(wǎng)絡(luò)、航空航天、氣象測(cè)控和金融服務(wù)等領(lǐng)域。流數(shù)據(jù)是由數(shù)據(jù)源持續(xù)生成的數(shù)據(jù),通常也同時(shí)以數(shù)據(jù)記錄的形式發(fā)送。流數(shù)據(jù)包括多種數(shù)據(jù),例如客戶(hù)使用移動(dòng)或Web應(yīng)用程序生成的日志文件、網(wǎng)購(gòu)數(shù)據(jù)、游戲內(nèi)玩家活動(dòng)、社交網(wǎng)站信息、金融交易大廳或地理空間服務(wù),以及來(lái)自數(shù)據(jù)中心內(nèi)所連接設(shè)備或儀器的遙測(cè)數(shù)據(jù)。此類(lèi)數(shù)據(jù)需要按記錄或根據(jù)滑動(dòng)時(shí)間窗口按順序進(jìn)行遞增式處理,可用于多種分析,包括關(guān)聯(lián)、聚合、篩選和取樣。其中一種流數(shù)據(jù)的應(yīng)用是對(duì)攝像機(jī)的監(jiān)控視頻進(jìn)行分析,不同的攝像機(jī)產(chǎn)生不同的視頻流數(shù)據(jù),形成不同的數(shù)據(jù)通道,應(yīng)用系統(tǒng)需要針對(duì)不同的通道分別進(jìn)行分析,分析的數(shù)據(jù)通常需要實(shí)時(shí)展示,以便實(shí)現(xiàn)視頻的監(jiān)控和視頻信息的智能分析實(shí)時(shí)同步,幫助監(jiān)控人員快速理解視頻中的對(duì)象、事件。流數(shù)據(jù)的分析結(jié)果通常會(huì)先存放到消息隊(duì)列中,然后再統(tǒng)一存儲(chǔ)到數(shù)據(jù)庫(kù)中,也可以直接存儲(chǔ)到數(shù)據(jù)庫(kù)中。存儲(chǔ)到消息隊(duì)列中,通常是因?yàn)楸苊饬鲾?shù)據(jù)產(chǎn)生過(guò)快來(lái)不及處理,或者分析結(jié)果有二次處理的需求。有的系統(tǒng)是將原始數(shù)據(jù)或者中間結(jié)果存儲(chǔ)到消息隊(duì)列中,以此緩解處理速度滯后于數(shù)據(jù)產(chǎn)生速度的問(wèn)題。當(dāng)客戶(hù)端需要實(shí)時(shí)展示流數(shù)據(jù)的分析結(jié)果時(shí),通常的做法是使用一個(gè)服務(wù)程序從消息隊(duì)列中不斷取出新入列的數(shù)據(jù)或者從數(shù)據(jù)庫(kù)中讀取新插入 ...
【技術(shù)保護(hù)點(diǎn)】
1.一種多并發(fā)多通道環(huán)境下的數(shù)據(jù)實(shí)時(shí)查詢(xún)系統(tǒng),其特征在于,包括客戶(hù)端模塊、服務(wù)器模塊、數(shù)據(jù)庫(kù)模塊、實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊、Redis模塊、定時(shí)管理模塊、數(shù)據(jù)生產(chǎn)者模塊和緩存清理模塊;/n其中,所述客戶(hù)端模塊用于實(shí)時(shí)查詢(xún)和動(dòng)態(tài)展示所述數(shù)據(jù)生產(chǎn)者模塊產(chǎn)生的數(shù)據(jù);/n所述服務(wù)器模塊用于連接兩個(gè)以上的客戶(hù)端模塊,支持多并發(fā)訪問(wèn),并且轉(zhuǎn)發(fā)所述客戶(hù)端模塊的實(shí)時(shí)數(shù)據(jù)查詢(xún)請(qǐng)求到所述實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊;/n所述數(shù)據(jù)庫(kù)模塊用于持久化存儲(chǔ)數(shù)據(jù)以及數(shù)據(jù)的元數(shù)據(jù)信息;/n所述實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊用于按照所述服務(wù)器模塊的數(shù)據(jù)查詢(xún)請(qǐng)求從所述Redis模塊獲取目標(biāo)數(shù)據(jù),并以程序包的形式集成在所述服務(wù)器模塊中,保證所述客戶(hù)端模塊并發(fā)查詢(xún)數(shù)據(jù)的性能;/n所述Redis模塊用于緩存來(lái)自?xún)蓚€(gè)以上的數(shù)據(jù)生產(chǎn)者模塊的數(shù)據(jù),并保證不同數(shù)據(jù)生產(chǎn)者的數(shù)據(jù)隔離存儲(chǔ),實(shí)現(xiàn)兩個(gè)以上的數(shù)據(jù)通道完全獨(dú)立并發(fā)運(yùn)行;/n所述數(shù)據(jù)生產(chǎn)者模塊用于持續(xù)不斷產(chǎn)生需要查詢(xún)和展示的實(shí)時(shí)數(shù)據(jù),數(shù)據(jù)生產(chǎn)者模塊一方面將數(shù)據(jù)緩存到所述Redis模塊,用以支持?jǐn)?shù)據(jù)實(shí)時(shí)快速查詢(xún),另一方面將數(shù)據(jù)冗余存儲(chǔ)到所述數(shù)據(jù)庫(kù)模塊,實(shí)現(xiàn)數(shù)據(jù)的持久化存儲(chǔ);/n所述定時(shí)管理模塊用于接收用戶(hù)對(duì)數(shù)據(jù)緩存有 ...
【技術(shù)特征摘要】
1.一種多并發(fā)多通道環(huán)境下的數(shù)據(jù)實(shí)時(shí)查詢(xún)系統(tǒng),其特征在于,包括客戶(hù)端模塊、服務(wù)器模塊、數(shù)據(jù)庫(kù)模塊、實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊、Redis模塊、定時(shí)管理模塊、數(shù)據(jù)生產(chǎn)者模塊和緩存清理模塊;
其中,所述客戶(hù)端模塊用于實(shí)時(shí)查詢(xún)和動(dòng)態(tài)展示所述數(shù)據(jù)生產(chǎn)者模塊產(chǎn)生的數(shù)據(jù);
所述服務(wù)器模塊用于連接兩個(gè)以上的客戶(hù)端模塊,支持多并發(fā)訪問(wèn),并且轉(zhuǎn)發(fā)所述客戶(hù)端模塊的實(shí)時(shí)數(shù)據(jù)查詢(xún)請(qǐng)求到所述實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊;
所述數(shù)據(jù)庫(kù)模塊用于持久化存儲(chǔ)數(shù)據(jù)以及數(shù)據(jù)的元數(shù)據(jù)信息;
所述實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊用于按照所述服務(wù)器模塊的數(shù)據(jù)查詢(xún)請(qǐng)求從所述Redis模塊獲取目標(biāo)數(shù)據(jù),并以程序包的形式集成在所述服務(wù)器模塊中,保證所述客戶(hù)端模塊并發(fā)查詢(xún)數(shù)據(jù)的性能;
所述Redis模塊用于緩存來(lái)自?xún)蓚€(gè)以上的數(shù)據(jù)生產(chǎn)者模塊的數(shù)據(jù),并保證不同數(shù)據(jù)生產(chǎn)者的數(shù)據(jù)隔離存儲(chǔ),實(shí)現(xiàn)兩個(gè)以上的數(shù)據(jù)通道完全獨(dú)立并發(fā)運(yùn)行;
所述數(shù)據(jù)生產(chǎn)者模塊用于持續(xù)不斷產(chǎn)生需要查詢(xún)和展示的實(shí)時(shí)數(shù)據(jù),數(shù)據(jù)生產(chǎn)者模塊一方面將數(shù)據(jù)緩存到所述Redis模塊,用以支持?jǐn)?shù)據(jù)實(shí)時(shí)快速查詢(xún),另一方面將數(shù)據(jù)冗余存儲(chǔ)到所述數(shù)據(jù)庫(kù)模塊,實(shí)現(xiàn)數(shù)據(jù)的持久化存儲(chǔ);
所述定時(shí)管理模塊用于接收用戶(hù)對(duì)數(shù)據(jù)緩存有效期的配置,還用于定時(shí)觸發(fā)所述緩存清理模塊對(duì)所述Redis模塊中的過(guò)期的數(shù)據(jù)進(jìn)行清理;
所述緩存清理模塊定時(shí)收到由所述定時(shí)管理模塊啟動(dòng)的定時(shí)器觸發(fā)的清理消息,定期清理所述Redis模塊中緩存的過(guò)期的數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述數(shù)據(jù)生產(chǎn)者模塊在不斷產(chǎn)生實(shí)時(shí)數(shù)據(jù)的過(guò)程中,將數(shù)據(jù)雙備份到Redis模塊和數(shù)據(jù)庫(kù)模塊。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述數(shù)據(jù)生產(chǎn)者模塊的工作流程包括如下步驟:
步驟a1,數(shù)據(jù)生產(chǎn)者模塊產(chǎn)生任意需要查詢(xún)展示的數(shù)據(jù);
步驟a2,數(shù)據(jù)生產(chǎn)者模塊將數(shù)據(jù)持久化存儲(chǔ)到數(shù)據(jù)庫(kù)模塊;
步驟a3,數(shù)據(jù)生產(chǎn)者模塊判斷數(shù)據(jù)是否需要緩存,如果需要,執(zhí)行步驟a4;否則執(zhí)行步驟a5;
步驟a4,數(shù)據(jù)生產(chǎn)者模塊將數(shù)據(jù)緩存到Redis模塊;
步驟a5,數(shù)據(jù)生產(chǎn)者模塊判斷是否停止產(chǎn)生數(shù)據(jù),如果是,結(jié)束工作流程,否則返回步驟a1。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊和數(shù)據(jù)生產(chǎn)者模塊共享相同的系統(tǒng)配置,并對(duì)客戶(hù)端模塊和服務(wù)器模塊屏蔽數(shù)據(jù)訪問(wèn)的細(xì)節(jié),實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊能夠與服務(wù)器模塊集成在一起,運(yùn)行在服務(wù)器模塊的上下文環(huán)境中;系統(tǒng)配置即Redis模塊緩存的數(shù)據(jù)的元數(shù)據(jù)信息,所述元數(shù)據(jù)信息包括數(shù)據(jù)的存儲(chǔ)位置、存儲(chǔ)結(jié)構(gòu)、訪問(wèn)方式。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述服務(wù)器模塊用于連接兩個(gè)以上的客戶(hù)端模塊,支持多并發(fā)訪問(wèn),具體包括如下步驟:
步驟b1,服務(wù)器模塊接收客戶(hù)端模塊的連接;
步驟b2,服務(wù)器模塊判斷網(wǎng)絡(luò)連接池是否已滿(mǎn),即是否達(dá)到最大允許連接的客戶(hù)端數(shù)目,如果是,執(zhí)行步驟b3,否則執(zhí)行步驟b4;
步驟b3,服務(wù)器模塊向客戶(hù)端模塊應(yīng)答連接失敗,然后執(zhí)行步驟b8;
步驟b4,服務(wù)器模塊從網(wǎng)絡(luò)連接池分配一個(gè)連接給當(dāng)前客戶(hù)端模塊;
步驟b5,服務(wù)器模塊接收客戶(hù)端模塊的數(shù)據(jù)查詢(xún)請(qǐng)求;
步驟b6,服務(wù)器模塊通過(guò)實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊獲取Redis模塊緩存的數(shù)據(jù);
步驟b7,服務(wù)器模塊向客戶(hù)端模塊應(yīng)答步驟b6獲取的數(shù)據(jù);
步驟b8,實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊判斷是否停止服務(wù),如果是,結(jié)束工作流程,否則返回步驟b1。
6.根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,所述實(shí)時(shí)數(shù)據(jù)查詢(xún)模塊針對(duì)服務(wù)器模塊的數(shù)據(jù)查詢(xún)請(qǐng)求工作流程包括如下步驟:
步...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:周斌,朱晨鳴,張家健,萬(wàn)修遠(yuǎn),王佳曉,黃明科,張海峰,
申請(qǐng)(專(zhuān)利權(quán))人:中通服咨詢(xún)?cè)O(shè)計(jì)研究院有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:江蘇;32
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。