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

分布式分級(jí)抽取多應(yīng)用方法和數(shù)據(jù)抽取應(yīng)用器與流程

文檔序號(hào):11250987閱讀:730來源:國知局
分布式分級(jí)抽取多應(yīng)用方法和數(shù)據(jù)抽取應(yīng)用器與流程

本發(fā)明涉及一種數(shù)據(jù)抽取應(yīng)用器和方法,更具體地,涉及一種對(duì)分布式數(shù)據(jù)進(jìn)行分級(jí)抽取以實(shí)現(xiàn)多應(yīng)用的分布式分級(jí)抽取多應(yīng)用方法和數(shù)據(jù)抽取應(yīng)用器。



背景技術(shù):

通常,社會(huì)各界服務(wù)領(lǐng)域如人力資源和社會(huì)保障業(yè)務(wù)會(huì)涉及社會(huì)保險(xiǎn)、公共就業(yè)、勞動(dòng)關(guān)系、人事人才等諸多項(xiàng)目,服務(wù)面廣且量大,積累了海量的業(yè)務(wù)數(shù)據(jù)。同時(shí),網(wǎng)絡(luò)和信息技術(shù)等的飛速發(fā)展對(duì)各領(lǐng)域的業(yè)務(wù)處理、信息整合以及科學(xué)管理等提出了更高的要求,繼續(xù)實(shí)現(xiàn)信息整合,打破信息孤島,實(shí)現(xiàn)信息共享,簡化辦事流程,為群眾提供更加便捷的服務(wù)。該需求需要對(duì)各地市及和業(yè)務(wù)系統(tǒng)的數(shù)據(jù)進(jìn)行統(tǒng)一的整合,將不同區(qū)域數(shù)據(jù)的實(shí)時(shí)更新應(yīng)用于不同的目標(biāo)端。

目前大多數(shù)的數(shù)據(jù)抽取技術(shù)采取的數(shù)據(jù)抽取方式為端到端的數(shù)據(jù)抽取模式,無法將多地區(qū)的數(shù)據(jù)統(tǒng)一進(jìn)行抽取,抽取到的數(shù)據(jù)無法應(yīng)用到多個(gè)目標(biāo)端進(jìn)行多方面的應(yīng)用。



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

本發(fā)明是為了解決上述問題而提出的,其目的在于提供一種數(shù)據(jù)抽取應(yīng)用器,以實(shí)現(xiàn)對(duì)多個(gè)源數(shù)據(jù)庫的消息同時(shí)抽取,并分級(jí)提取,且同時(shí)應(yīng)用得到多個(gè)應(yīng)用和服務(wù)等目標(biāo)端的目的。

本發(fā)明的另一目的是提供一種分布式分級(jí)抽取多應(yīng)用方法。

為實(shí)現(xiàn)以上目的,本發(fā)明提供一種數(shù)據(jù)抽取應(yīng)用器,包括:源數(shù)據(jù)模塊,抓取多個(gè)源數(shù)據(jù)庫的消息,并將此消息中包含的信息轉(zhuǎn)換成為xml(extensiblemarkuplanguage,可擴(kuò)展標(biāo)記語言)消息,然后傳遞到對(duì)應(yīng)的高級(jí)隊(duì)列;消息路由模塊,通過獲取所述源數(shù)據(jù)模塊中高級(jí)隊(duì)列中的消息并傳遞到activemq集群,并將集群中的數(shù)據(jù)進(jìn)行發(fā)送;消息處理模塊,用于抓取所述消息路由模塊發(fā)送的消息,并將消息通過處理、轉(zhuǎn)換之后應(yīng)用于多個(gè)不同的應(yīng)用目標(biāo)端。

優(yōu)選地,所述源數(shù)據(jù)模塊包括:抓取消息模塊,通過抓取各個(gè)數(shù)據(jù)庫中的重做日志,抓取對(duì)源數(shù)據(jù)庫中的dml(datamanipulationlanguage,數(shù)據(jù)操作語言)操作,生成lcr(logicalchangerecord,邏輯變更記錄)消息,并將該lcr將消息傳送給流隊(duì)列;應(yīng)用消息轉(zhuǎn)換模塊,通過對(duì)流隊(duì)列中的消息進(jìn)行提起并傳送,將從所述抓取消息模塊獲取到的lcr消息經(jīng)過解析處理得到xml類型的消息,并將該xml類型的消息進(jìn)行重新封裝為新的消息;高級(jí)隊(duì)列匹配模塊,將所述應(yīng)用消息轉(zhuǎn)換模塊封裝后的消息按照規(guī)則發(fā)送給高級(jí)隊(duì)列,該高級(jí)隊(duì)列匹配模塊按照用戶為消息分配隊(duì)列。

優(yōu)選地,所述消息路由模塊包括:第一消息接收模塊,為activemq集群創(chuàng)建與高級(jí)隊(duì)列一致的隊(duì)列,從高級(jí)隊(duì)列中獲取數(shù)據(jù)將數(shù)據(jù)轉(zhuǎn)發(fā)到activemq集群隊(duì)列;消息發(fā)送模塊,定義隊(duì)列消息發(fā)送的目標(biāo)端,將消息發(fā)送給消息處理模塊。

優(yōu)選地,所述消息處理模塊包括:第二消息接收模塊,接收消息路由模塊發(fā)送過來的消息;消息轉(zhuǎn)換模塊,定義轉(zhuǎn)換規(guī)則并將接收的消息進(jìn)一步的根據(jù)已經(jīng)定義好的轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換;數(shù)據(jù)庫調(diào)用模塊,消息應(yīng)用的目標(biāo)端為數(shù)據(jù)庫時(shí),用于連接數(shù)據(jù)庫并應(yīng)用消息;服務(wù)調(diào)用模塊,消息應(yīng)用的目標(biāo)端為服務(wù)時(shí),用于服務(wù)的注冊、服務(wù)的連接和服務(wù)的調(diào)用;異常處理模塊,用于記錄數(shù)據(jù)在各種類型的應(yīng)用中發(fā)生的錯(cuò)誤信息。

本發(fā)明還提供一種分布式分級(jí)抽取多應(yīng)用方法,包括如下步驟:步驟1:抓取多個(gè)源數(shù)據(jù)庫的消息,并將此消息中包含的信息轉(zhuǎn)換成為xml類型的消息,然后傳遞到對(duì)應(yīng)的高級(jí)隊(duì)列;步驟2:獲取步驟1中高級(jí)隊(duì)列中的消息并傳遞到activemq集群,并將集群中的數(shù)據(jù)進(jìn)行發(fā)送;步驟3:抓取步驟2發(fā)送的消息,并將消息通過處理之后應(yīng)用于多個(gè)不同的應(yīng)用目標(biāo)端。

優(yōu)選地,所述步驟1包括如下步驟:步驟1-1:通過抓取各個(gè)源數(shù)據(jù)庫中的重做日志,獲取數(shù)據(jù)庫中的dml操作,生成lcr消息,并將該lcr消息傳送給流隊(duì)列;步驟1-2:通過對(duì)流隊(duì)列中的消息進(jìn)行提起并傳送,將步驟1-1獲取到的lcr消息經(jīng)過解析處理得到xml類型的消息,并將該xml類型的消息進(jìn)行重新封裝為新的消息;步驟1-3:將步驟1-2封裝后的消息按照規(guī)則發(fā)送給高級(jí)隊(duì)列。

優(yōu)選地,所述步驟2包括如下步驟:步驟2-1:為activemq集群創(chuàng)建與高級(jí)隊(duì)列一致的隊(duì)列,從高級(jí)隊(duì)列中獲取數(shù)據(jù)并轉(zhuǎn)發(fā)到activemq集群隊(duì)列;步驟2-2:將步驟2-1中activemq集群中的消息進(jìn)行發(fā)送。

優(yōu)選地,所述步驟3包括如下步驟:步驟3-1:創(chuàng)建轉(zhuǎn)換規(guī)則,并接收步驟2發(fā)送的消息,根據(jù)該轉(zhuǎn)換規(guī)則將接收的消息進(jìn)一步進(jìn)行轉(zhuǎn)換;步驟3-2:當(dāng)消息應(yīng)用的目標(biāo)端為數(shù)據(jù)庫時(shí),將步驟3-1中轉(zhuǎn)換得到的消息連接數(shù)據(jù)庫并應(yīng)用消息;當(dāng)消息應(yīng)用的目標(biāo)端為服務(wù)時(shí),將步驟3-1中轉(zhuǎn)換得到的消息進(jìn)行服務(wù)的注冊、連接和調(diào)用;步驟3-3:將消息應(yīng)用過程中的異常消息持久化到數(shù)據(jù)庫,供用戶處理。

優(yōu)選地,所述源數(shù)據(jù)庫的個(gè)數(shù)為一個(gè)或多個(gè)。

優(yōu)選地,所述xml類型的消息包含發(fā)生變化的對(duì)象的用戶名、對(duì)象名、操作類型以及各個(gè)表字段的原值和修改值。

優(yōu)選地,高級(jí)隊(duì)列的名稱由源端數(shù)據(jù)庫名稱、同步用戶名稱和數(shù)字組成,數(shù)字為1到5的任意一個(gè)數(shù)字,集群上創(chuàng)建隊(duì)列名稱與高級(jí)隊(duì)列名稱一致。

優(yōu)選地,所述轉(zhuǎn)換規(guī)則以可安裝配置的插件的形式使用,該規(guī)則通過解析xml類型的消息的內(nèi)容,xml類型的變化消息根據(jù)變化對(duì)象名稱、操作類型、字段名稱、字段值等不同的信息,進(jìn)行重新的數(shù)據(jù)拼接,解析成目標(biāo)端可以使用的類型數(shù)據(jù)。

優(yōu)選地,目標(biāo)端為數(shù)據(jù)庫的數(shù)據(jù)庫類型為mysql(mystructuredquerylanguage,我的結(jié)構(gòu)化查詢語言)、sqlserver(structuredquerylanguageserver,結(jié)構(gòu)化查詢語言服務(wù)器)、、oracle異構(gòu)數(shù)據(jù)庫。

優(yōu)選地,所調(diào)用的服務(wù)類型支持各類型的webservice服務(wù)。

根據(jù)本發(fā)明提供的數(shù)據(jù)抽取應(yīng)用器和分布式分級(jí)抽取多應(yīng)用方法,將分布在各個(gè)區(qū)域源數(shù)據(jù)庫數(shù)據(jù)采用分級(jí)形式進(jìn)行消息的抽取,并將消息解析、轉(zhuǎn)換、封裝然后進(jìn)行多應(yīng)用,解決了分布式的環(huán)境下多個(gè)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行共享和多應(yīng)用的可能性。

實(shí)現(xiàn)了分布式環(huán)境中各業(yè)務(wù)系統(tǒng)所需數(shù)據(jù)庫數(shù)據(jù)的共享,解決了各數(shù)據(jù)庫之間的物理和邏輯隔離問題,同時(shí)對(duì)已產(chǎn)生的數(shù)據(jù)抓取一次之后進(jìn)行多應(yīng)用,將數(shù)據(jù)分發(fā)到執(zhí)行到目標(biāo)端的異構(gòu)數(shù)據(jù)庫或者webservice服務(wù),實(shí)現(xiàn)數(shù)據(jù)的共享和多應(yīng)用。

確保了數(shù)據(jù)變更應(yīng)用的時(shí)效性和準(zhǔn)確性。源數(shù)據(jù)模塊和消息處理模塊采用多線程的方式批量處理數(shù)據(jù),有效提高了數(shù)據(jù)處理的效率,實(shí)現(xiàn)準(zhǔn)實(shí)時(shí)的數(shù)據(jù)共享。每個(gè)線程內(nèi)部數(shù)據(jù)的處理按照串行操作進(jìn)行,最大程度的保持了數(shù)據(jù)之間的關(guān)聯(lián)性和準(zhǔn)確性。

實(shí)現(xiàn)了數(shù)據(jù)應(yīng)用的靈活性和自定義,在數(shù)據(jù)抓取的過程中將lcr消息轉(zhuǎn)換成xml,更有利于進(jìn)行數(shù)據(jù)的解析;消息轉(zhuǎn)換模塊的規(guī)則實(shí)現(xiàn)了自定義的轉(zhuǎn)換規(guī)則插件實(shí)現(xiàn),實(shí)現(xiàn)了數(shù)據(jù)應(yīng)用類型的多樣化和靈活性。

緩解了各個(gè)業(yè)務(wù)庫的工作負(fù)載。應(yīng)用數(shù)據(jù)的分布式分級(jí)抽取多應(yīng)用方法和數(shù)據(jù)抽取應(yīng)用器,只對(duì)數(shù)據(jù)庫日志進(jìn)行處理,無需直接對(duì)數(shù)據(jù)庫進(jìn)行查詢掃描,有效地降低了數(shù)據(jù)同步對(duì)生產(chǎn)庫造成的額外負(fù)載,保證了業(yè)務(wù)庫性能。

附圖說明

圖1為本發(fā)明提供的數(shù)據(jù)抽取應(yīng)用器的結(jié)構(gòu)框圖。

圖2為本發(fā)明提供的分布式分級(jí)抽取多應(yīng)用方法的步驟框圖。

具體實(shí)施方式

以下,參照附圖詳細(xì)說明本發(fā)明的優(yōu)選實(shí)施例。在說明本發(fā)明的實(shí)施例時(shí),如果對(duì)相關(guān)公知要素或功能的具體描述有礙于本發(fā)明的要旨,那么將省略其詳細(xì)說明。

圖1為本發(fā)明提供的數(shù)據(jù)抽取應(yīng)用器的結(jié)構(gòu)框圖。

參照?qǐng)D1,本發(fā)明提供一種數(shù)據(jù)抽取應(yīng)用器,可實(shí)現(xiàn)對(duì)分布式數(shù)據(jù)進(jìn)行分級(jí)抽取以實(shí)現(xiàn)數(shù)據(jù)的多應(yīng)用,具體包括源數(shù)據(jù)模塊110、消息路由模塊120及消息處理模塊130。所述源數(shù)據(jù)模塊110,用于抓取多個(gè)oracle源數(shù)據(jù)庫日志消息,從日志信息中獲取數(shù)據(jù)庫的變更信息,先將該信息轉(zhuǎn)化成lcr(logicalchangerecord)消息的形式,并將lcr信息傳輸?shù)搅麝?duì)列經(jīng)過應(yīng)用轉(zhuǎn)換后將消息轉(zhuǎn)換為xml消息后傳遞到對(duì)應(yīng)的高級(jí)隊(duì)列;所述消息路由模塊120,通過獲取高級(jí)隊(duì)列中的消息并傳遞到activemq集群,并將集群中的數(shù)據(jù)發(fā)送給消息處理模塊130;所述消息處理模塊130,用于抓取消息路由模塊120發(fā)送的消息,并將該消息通過處理、轉(zhuǎn)換之后應(yīng)用于多個(gè)不同的應(yīng)用目標(biāo)端。

所述源數(shù)據(jù)模塊110包括抓取消息模塊111、應(yīng)用消息模塊112及高級(jí)隊(duì)列匹配模塊113。所述抓取消息模塊111,負(fù)責(zé)抓取各個(gè)數(shù)據(jù)庫中的重做日志,抓取對(duì)源數(shù)據(jù)庫中的dml(datamanipulationlanguage,數(shù)據(jù)操作語言)插入、刪除、修改等操作,生成lcr消息,并將該lcr消息傳送給流隊(duì)列;應(yīng)用消息轉(zhuǎn)換模塊112,負(fù)責(zé)對(duì)流隊(duì)列中的消息進(jìn)行提起并傳送,該模塊將獲取到的lcr消息經(jīng)過解析處理得到xml類型的消息,并將該xml類型的消息進(jìn)行重新封裝為新的消息,該xml類型的消息包含發(fā)生變化的對(duì)象的用戶名、對(duì)象名、操作類型以及各個(gè)表字段的原值和修改值等;高級(jí)隊(duì)列匹配模塊113,負(fù)責(zé)將封裝后的消息按照規(guī)則將消息發(fā)送給高級(jí)隊(duì)列,為保持消息轉(zhuǎn)換和發(fā)送的速度,高級(jí)隊(duì)列的名稱由源端數(shù)據(jù)庫名稱、同步用戶名稱和數(shù)字組成,數(shù)字為1到5的任意一個(gè)數(shù)字,集群上創(chuàng)建隊(duì)列名稱與高級(jí)隊(duì)列名稱一致,并且高級(jí)隊(duì)列匹配模塊按照用戶為消息分配隊(duì)列,若一個(gè)用戶抓取的表的數(shù)量不超過5,則按照表的數(shù)量為消息分配隊(duì)列,若抓取的用戶的表超過5個(gè),則按照5個(gè)隊(duì)列為抓取的表循環(huán)分配隊(duì)列。

所述消息路由模塊120包括第一消息接收模塊121及消息發(fā)送模塊122。第一消息接收模塊121,負(fù)責(zé)為activemq集群創(chuàng)建與高級(jí)隊(duì)列一致的隊(duì)列,從高級(jí)隊(duì)列中獲取數(shù)據(jù)將數(shù)據(jù)轉(zhuǎn)發(fā)到activemq集群隊(duì)列;消息發(fā)送模塊122,用于定義隊(duì)列消息發(fā)送的目標(biāo)端,將消息發(fā)送給消息處理模塊。

所述消息處理模塊130包括第二消息接收模塊131、消息轉(zhuǎn)換模塊132、數(shù)據(jù)庫調(diào)用模塊133、服務(wù)調(diào)用模塊134及異常處理模塊135。第二消息接收模塊131,用于接收消息路由模塊120發(fā)送過來的消息;消息轉(zhuǎn)換模塊132,用于定義轉(zhuǎn)換規(guī)則并將接收的消息進(jìn)一步的根據(jù)已經(jīng)定義好的規(guī)則進(jìn)行轉(zhuǎn)換,所述轉(zhuǎn)換規(guī)則以可安裝配置的插件的形式使用,該規(guī)則通過解析xml類型的消息的內(nèi)容,xml類型的變化消息根據(jù)變化對(duì)象名稱、操作類型、字段名稱、字段值等不同的信息,進(jìn)行重新的數(shù)據(jù)拼接,解析成目標(biāo)端可以使用的類型數(shù)據(jù);數(shù)據(jù)庫調(diào)用模塊133,消息應(yīng)用的目標(biāo)端為數(shù)據(jù)庫時(shí),負(fù)責(zé)目標(biāo)數(shù)據(jù)源的注冊、數(shù)據(jù)庫鏈接和消息應(yīng)用;服務(wù)調(diào)用模塊134,消息應(yīng)用的目標(biāo)端為服務(wù)時(shí),負(fù)責(zé)服務(wù)的注冊、服務(wù)的連接和服務(wù)的調(diào)用;異常處理模塊135,用于記錄數(shù)據(jù)在各種類型的應(yīng)用中發(fā)生的錯(cuò)誤信息。

所述消息路由模塊120向消息處理模塊130發(fā)送消息以廣播的形式發(fā)送,第二消息接收模塊131有消息接收端,消息接收端與高級(jí)隊(duì)列數(shù)量一致,即一個(gè)隊(duì)列有一個(gè)發(fā)送端,有多少個(gè)消息發(fā)送端就有多少個(gè)消息接收端,當(dāng)消息接收端接收到消息之后,首先根據(jù)消息內(nèi)容診斷是否屬于自己的消息,屬于則繼續(xù)處理,不屬于則丟棄。然后在消息轉(zhuǎn)換模塊132中根據(jù)轉(zhuǎn)換規(guī)則的配置情況,將消息分發(fā)給不同的轉(zhuǎn)換規(guī)則,繼續(xù)進(jìn)行消息的應(yīng)用。

圖2為本發(fā)明提供的分布式分級(jí)抽取多應(yīng)用方法的步驟框圖。

參照?qǐng)D2,本發(fā)明提供一種分布式分級(jí)抽取多應(yīng)用方法,具體包括如下步驟:

步驟210:抓取多個(gè)源數(shù)據(jù)庫的消息,并將此消息中包含的信息轉(zhuǎn)換成為xml類型的消息,然后傳遞到對(duì)應(yīng)的高級(jí)隊(duì)列;

步驟220:獲取步驟210中高級(jí)隊(duì)列中的消息并傳遞到activemq集群,并將集群中的數(shù)據(jù)進(jìn)行發(fā)送;

步驟230:抓取步驟220發(fā)送的消息,并將消息通過處理之后應(yīng)用于多個(gè)不同的應(yīng)用目標(biāo)端。

所述步驟210具體為:源數(shù)據(jù)模塊110抓取多個(gè)源數(shù)據(jù)庫的消息,獲取數(shù)據(jù)庫中的dml操作,并將這些操作轉(zhuǎn)換為lcr消息,然后再轉(zhuǎn)換為xml消息并重新封裝,并發(fā)送給高級(jí)隊(duì)列。具體包括如下步驟:

步驟211:通過抓取各個(gè)源數(shù)據(jù)庫中的重做日志,獲取數(shù)據(jù)庫中的dml操作,生成lcr消息,并將該lcr將消息傳送給流隊(duì)列。更具體地,抓取消息模塊111對(duì)各個(gè)需要同步的數(shù)據(jù)庫配置抓取進(jìn)程和應(yīng)用消息轉(zhuǎn)換進(jìn)程,并對(duì)這些進(jìn)程通過分析重做日志,獲取對(duì)數(shù)據(jù)庫中的dml插入、刪除、修改等操作,并將這些操作轉(zhuǎn)換生成lcr消息,并將該lcr將消息傳送給流隊(duì)列;該步驟中,源數(shù)據(jù)庫可以有多個(gè),抓取的用戶和數(shù)量沒有限制。

步驟212:通過對(duì)流隊(duì)列中的消息進(jìn)行提起并傳送,將步驟211獲取到的lcr消息經(jīng)過解析處理得到xml類型的消息,并將該xml類型的消息進(jìn)行重新封裝為新的消息。更具體地,應(yīng)用消息轉(zhuǎn)換模塊112從流隊(duì)列中提取消息,通過對(duì)步驟1中所述的流隊(duì)列中的lcr消息進(jìn)行提起并傳送,并經(jīng)過解析轉(zhuǎn)換處理得到xml類型的消息,該xml消息更容易理解,并包含發(fā)生變化的對(duì)象所述的用戶名、對(duì)象名、操作類型以及各個(gè)表字段的原值和修改值等消息,轉(zhuǎn)換成xml消息之后,對(duì)該消息重新進(jìn)行封裝。對(duì)lcr消息的轉(zhuǎn)化封裝安裝源數(shù)據(jù)庫產(chǎn)生消息變化的scn(systemchangenumber,系統(tǒng)改變號(hào))序列轉(zhuǎn)化,以保證數(shù)據(jù)的準(zhǔn)確性。

步驟213:將步驟212封裝后的消息按照規(guī)則發(fā)送給高級(jí)隊(duì)列。更具體地,高級(jí)隊(duì)列匹配模塊113對(duì)步驟212發(fā)送過來的消息根據(jù)消息所屬的對(duì)象類別分配消息應(yīng)該進(jìn)入的高級(jí)隊(duì)列。為保持消息轉(zhuǎn)換和發(fā)送的速度,高級(jí)隊(duì)列的名稱由源端數(shù)據(jù)庫名稱、同步用戶名稱和數(shù)字組成,數(shù)字為1到5的任意一個(gè)數(shù)字,集群上創(chuàng)建隊(duì)列名稱與高級(jí)隊(duì)列名稱一致,并且高級(jí)隊(duì)列匹配模塊按照用戶為消息分配隊(duì)列,若一個(gè)用戶抓取的表的數(shù)量不超過5,則按照表的數(shù)量為消息分配隊(duì)列,若抓取的用戶的表超過5個(gè),則按照每個(gè)用戶5個(gè)隊(duì)列為抓取的表循環(huán)分配隊(duì)列。

所述步驟220具體為:消息路由模塊120根據(jù)高級(jí)隊(duì)列的分配形式在activemq集群上建立相應(yīng)的隊(duì)列,并獲取高級(jí)隊(duì)列上的消息通過自己的隊(duì)列對(duì)消息進(jìn)行路由發(fā)送。具體包括如下步驟:

步驟221:為activemq集群創(chuàng)建與高級(jí)隊(duì)列一致的隊(duì)列,從高級(jí)隊(duì)列中獲取數(shù)據(jù)并轉(zhuǎn)發(fā)到activemq集群隊(duì)列。更具體地,第一消息接收模塊121從高級(jí)隊(duì)列中獲取數(shù)據(jù)并轉(zhuǎn)發(fā)到activemq集群隊(duì)列,根據(jù)高級(jí)隊(duì)列的分配形式在activemq集群上建立相應(yīng)的隊(duì)列。

步驟222:將步驟221中activemq集群中的消息進(jìn)行發(fā)送。更具體地,消息發(fā)送模塊122將activemq集群中的消息發(fā)送給消息處理模塊130。

所述步驟230具體為:消息處理模塊130接收來自消息路由模塊120發(fā)送的消息并根據(jù)自定義的規(guī)則將xml消息轉(zhuǎn)換為可以應(yīng)用的sql(structuredquerylanguage,結(jié)構(gòu)化查詢語言)語句或服務(wù)調(diào)用參數(shù),然后應(yīng)用到數(shù)據(jù)庫或服務(wù)等,同時(shí)將應(yīng)用過程中的異常消息持久化到數(shù)據(jù)庫,供用戶處理。具體包括如下步驟:

步驟231:創(chuàng)建轉(zhuǎn)換規(guī)則,并接收步驟222發(fā)送的消息,根據(jù)該轉(zhuǎn)換規(guī)則將接收的消息進(jìn)一步進(jìn)行轉(zhuǎn)換。更具體地,第二消息接收模塊131接收消息路由模塊120發(fā)送過來的消息,然后消息轉(zhuǎn)換模塊132定義根據(jù)自定義的轉(zhuǎn)換規(guī)則將xml消息轉(zhuǎn)換為可以應(yīng)用的sql語句或服務(wù)調(diào)用參數(shù)。自定義的轉(zhuǎn)換規(guī)則以可安裝配置的插件的形式使用,該轉(zhuǎn)換規(guī)則通過解析xml消息的內(nèi)容,將消息路由模塊120發(fā)送過來的xml類型的變化消息根據(jù)變化對(duì)象名稱、操作類型、字段名稱、字段值等不同的信息,進(jìn)行重新的數(shù)據(jù)拼接,解析成目標(biāo)端可以使用的類型數(shù)據(jù),如sql語句或者參數(shù)等。

步驟232:當(dāng)消息應(yīng)用的目標(biāo)端為數(shù)據(jù)庫時(shí),將步驟231中轉(zhuǎn)換的消息連接數(shù)據(jù)庫并應(yīng)用消息;當(dāng)消息應(yīng)用的目標(biāo)端為服務(wù)時(shí),將步驟231中轉(zhuǎn)換后的消息進(jìn)行服務(wù)的注冊、連接和調(diào)用。更具體地,當(dāng)消息應(yīng)用的目標(biāo)端為數(shù)據(jù)庫時(shí),使用數(shù)據(jù)庫調(diào)用模塊對(duì)轉(zhuǎn)換為sql的語句在目標(biāo)端數(shù)據(jù)庫進(jìn)行應(yīng)用,目標(biāo)端的數(shù)據(jù)庫類型可以為各種類型,mysql、sqlserver、oracle等各種異構(gòu)數(shù)據(jù)庫中,目標(biāo)端數(shù)據(jù)庫的連接需要首先需要進(jìn)行目標(biāo)端數(shù)據(jù)庫的注冊;當(dāng)消息應(yīng)用的目標(biāo)端為服務(wù)時(shí),使用服務(wù)調(diào)用模塊對(duì)需要調(diào)用的服務(wù)進(jìn)行注冊并根據(jù)傳遞過來的參數(shù)進(jìn)行服務(wù)調(diào)用,所調(diào)用的服務(wù)類型支持各類型的webservice服務(wù)。

步驟233:將消息應(yīng)用過程中的異常消息持久化到數(shù)據(jù)庫,供用戶處理。更具體地,異常處理模塊135對(duì)數(shù)據(jù)在各種類型的應(yīng)用中的錯(cuò)誤信息進(jìn)行記錄,供管理人員處理,錯(cuò)誤可以忽略或再次執(zhí)行。activemq中專門創(chuàng)建異常消息隊(duì)列,錯(cuò)誤消息發(fā)生時(shí),數(shù)據(jù)庫調(diào)用模塊133或服務(wù)調(diào)用模塊134自動(dòng)將錯(cuò)誤消息發(fā)到集群上的異常消息隊(duì)列中,異常處理模塊135從異常消息隊(duì)列中獲得消息,并寫入mysql數(shù)據(jù)庫。

上述雖然結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行了描述,但并非對(duì)本發(fā)明保護(hù)范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動(dòng)即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
连平县| 荔波县| 瓮安县| 专栏| 西安市| 林芝县| 东兴市| 巴林右旗| 三台县| 曲阳县| 保康县| 天门市| 宜丰县| 通山县| 寿阳县| 册亨县| 邛崃市| 大悟县| 松桃| 福建省| 卢龙县| 蓝山县| 龙江县| 嘉峪关市| 荣成市| 屏东市| 启东市| 开平市| 伊宁县| 马鞍山市| 厦门市| 太谷县| 盐边县| 巴彦县| 淮滨县| 宣化县| 壶关县| 东阿县| 绥滨县| 三都| 墨玉县|