專利名稱:一種跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電子信息領(lǐng)域,尤其是涉及跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā) 系統(tǒng)。
背景技術(shù):
計算機網(wǎng)絡是一個復雜的異構(gòu)體系,Windows桌面系統(tǒng)、UNIX工作站、Linux系統(tǒng)、 嵌入式終端,不同的應用環(huán)境要求不同的網(wǎng)絡傳輸質(zhì)量,網(wǎng)絡規(guī)模的動態(tài)變化等等,這些構(gòu) 成了網(wǎng)絡的異構(gòu)性和復雜性。而在多數(shù)網(wǎng)絡系統(tǒng)中,信息的實時獲取是非常關(guān)鍵的問題,不 同的源地址將信息發(fā)布出來,相應地,網(wǎng)絡中對此感興趣的節(jié)點獲取該信息。尤其是在實時 性要求和任務緊急的系統(tǒng)中,要能做到“在正確的時間、正確的地點獲取正確的數(shù)據(jù)”,對系 統(tǒng)的要求是非常高的。因此,異構(gòu)的計算機網(wǎng)絡是不可避免的,在復雜的網(wǎng)絡環(huán)境中實現(xiàn)高 效的網(wǎng)絡通信,是分布式系統(tǒng)開發(fā)必須面對的問題。由于歷史原因,大多數(shù)企事業(yè)單位可能存在著不止一種數(shù)據(jù)庫平臺,每個業(yè)務系 統(tǒng)都在各自的系統(tǒng)及數(shù)據(jù)安全邊界內(nèi)部孤立地運行著。如果需要進行業(yè)務數(shù)據(jù)的共享,就 要用到異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)。即使是同一種數(shù)據(jù)庫平臺,一旦分布在不同的服務 器上或者具有不同的安全邊界,都需要對數(shù)據(jù)共享的實現(xiàn)手段做出合理的設計。一般跨平臺的數(shù)據(jù)采集與分發(fā)是指在不同的平臺間,將源數(shù)據(jù)庫中指定表的數(shù)據(jù) 采集并分發(fā)到目的數(shù)據(jù)庫指定的表中。通常實現(xiàn)跨平臺數(shù)據(jù)的采集與分發(fā)主要有三種辦 法采用數(shù)據(jù)庫廠商提供的專業(yè)工具,自主開發(fā)遷移程序和采用手工遷移。這些方法雖專業(yè) 工具功能比較全面,但價格較高,且使用面有限;自主開發(fā)的遷移程序一般只支持特定的數(shù) 據(jù)庫之間的采集與分發(fā);手工遷移是前兩種方法的有益補充,但效率較低,且對DBA要求較 尚ο
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種通用的方法,使用與不同的數(shù)據(jù)庫,支持各種 跨平臺的數(shù)據(jù)采集與分發(fā)的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng)。本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是一種跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集 與分發(fā)系統(tǒng),包括依次順序傳遞的一個讀取數(shù)據(jù)配置模塊、一個周期結(jié)構(gòu)轉(zhuǎn)換模塊和一個 數(shù)據(jù)生成模塊,其中所述周期結(jié)構(gòu)轉(zhuǎn)換模塊由循環(huán)的原始數(shù)據(jù)源提取模塊、數(shù)據(jù)結(jié)構(gòu)映射 模塊和返回目標數(shù)據(jù)源模塊組成。讀取數(shù)據(jù)配置模塊為系統(tǒng)第一部分,根據(jù)系統(tǒng)要求定義不同數(shù)據(jù)源,確定數(shù)據(jù)源 的類型;指定數(shù)據(jù)表,以視圖的形式表現(xiàn)出來;映射數(shù)據(jù)源的結(jié)構(gòu),定義其屬性;通過篩選 條件針對數(shù)據(jù)表、視圖等對象詳細列出某條記錄。原始數(shù)據(jù)源提取模塊,通過選擇原始數(shù)據(jù)源;根據(jù)數(shù)據(jù)配置、篩選條件準備數(shù)據(jù); 把數(shù)據(jù)表中所儲存的結(jié)構(gòu)數(shù)值轉(zhuǎn)化成系統(tǒng)能夠識別的JAVA對象。數(shù)據(jù)結(jié)構(gòu)映射模塊,根據(jù)原始數(shù)據(jù)提取模塊所準備的數(shù)據(jù)信息進行轉(zhuǎn)換,主要是對數(shù)據(jù)的屬性進行變更,數(shù)據(jù)轉(zhuǎn)換時可以是一對一的轉(zhuǎn)換,也可以是多對一的轉(zhuǎn)換。返回目標數(shù)據(jù)源模塊,通過對原始數(shù)據(jù)源的選擇,根據(jù)數(shù)據(jù)配置、篩選條件進行保 存數(shù)據(jù),把原始數(shù)據(jù)源提取模塊中已經(jīng)映射好的JAVA對象儲存到數(shù)據(jù)列表中。周期結(jié)構(gòu)轉(zhuǎn)換模塊作為整個系統(tǒng)的一個小循環(huán),根據(jù)轉(zhuǎn)換的數(shù)據(jù)進行保存,當生 成目標數(shù)據(jù)后,系統(tǒng)會再次返回原始數(shù)據(jù)源提取模塊,進行篩選。這三個模塊構(gòu)成一個小周 期進行循環(huán)。數(shù)據(jù)生成模塊,通過周期結(jié)構(gòu)轉(zhuǎn)換模塊內(nèi)循環(huán)模塊的轉(zhuǎn)換,最終生成目標數(shù)據(jù),進 入目標數(shù)據(jù)庫,數(shù)據(jù)轉(zhuǎn)換完成。采用上述結(jié)構(gòu)后,可以實現(xiàn)跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā),同時數(shù)據(jù)的提 供者可以根據(jù)自己的需求控制數(shù)據(jù)的范圍、方式和程序代碼的實現(xiàn)理念,符合企業(yè)在數(shù)據(jù) 共享方面的現(xiàn)實安全考慮,具有良好的應用前景。
圖1是本發(fā)明的結(jié)構(gòu)示意圖;圖2是本發(fā)明的周期結(jié)構(gòu)轉(zhuǎn)換模塊內(nèi)部循環(huán)模塊示意圖。圖中1、讀取數(shù)據(jù)配置模塊 2、周期結(jié)構(gòu)轉(zhuǎn)換模塊 3、數(shù)據(jù)生成模塊2-1、原始 數(shù)據(jù)源提取模塊2-2、數(shù)據(jù)結(jié)構(gòu)映射模塊2-3、返回目標數(shù)據(jù)源模塊
具體實施例方式圖1和圖2所示一種跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),包括依次順序傳 遞的一個讀取數(shù)據(jù)配置模塊1、一個周期結(jié)構(gòu)轉(zhuǎn)換模塊2和一個數(shù)據(jù)生成模塊3,其中所述 周期結(jié)構(gòu)轉(zhuǎn)換模塊2由循環(huán)的原始數(shù)據(jù)源提取模塊2-1、數(shù)據(jù)結(jié)構(gòu)映射模塊2-2和返回目標 數(shù)據(jù)源模塊2-3組成。讀取數(shù)據(jù)配置模塊為系統(tǒng)第一部分,根據(jù)系統(tǒng)要求定義不同數(shù)據(jù)源,大致分四部 分來實現(xiàn),首先定義不同數(shù)據(jù)源,確定數(shù)據(jù)源的信息;其次指定數(shù)據(jù)表,并用視圖的方式展 示出來;再次定義結(jié)構(gòu)屬性;最后篩選條件,針對對象詳細列出某條記錄。該模塊是系統(tǒng)運 行的前提,在此基礎(chǔ)上,根據(jù)指定的數(shù)據(jù)源信息、屬性進行數(shù)據(jù)的提取工作原始數(shù)據(jù)源提取模塊,通過選擇原始數(shù)據(jù)源;根據(jù)數(shù)據(jù)配置、篩選條件準備數(shù)據(jù); 儲存結(jié)構(gòu)數(shù)值并轉(zhuǎn)化為系統(tǒng)能夠識別的對象把數(shù)據(jù)表中所儲存的結(jié)構(gòu)數(shù)值轉(zhuǎn)化成系統(tǒng)能 夠識別的JAVA對象。數(shù)據(jù)結(jié)構(gòu)映射模塊,根據(jù)原始數(shù)據(jù)源提取模塊所準備的數(shù)據(jù)信息進行轉(zhuǎn)換,主要 是對數(shù)據(jù)的屬性進行變更,數(shù)據(jù)轉(zhuǎn)換時可以是一對一的轉(zhuǎn)換,也可以是多對一的轉(zhuǎn)換,關(guān)鍵 取決于讀取數(shù)據(jù)配置模塊中結(jié)構(gòu)屬性的定義。返回目標數(shù)據(jù)源模塊,通過對原始數(shù)據(jù)源的選擇,根據(jù)數(shù)據(jù)配置、篩選條件進行保 存數(shù)據(jù),把原始數(shù)據(jù)源提取模塊中已經(jīng)映射好的JAVA對象儲存到數(shù)據(jù)列表中。周期結(jié)構(gòu)轉(zhuǎn)換模塊作為整個系統(tǒng)的一個小循環(huán),根據(jù)轉(zhuǎn)換的數(shù)據(jù)進行保存,當生 成目標數(shù)據(jù)后,系統(tǒng)會再次返回原始數(shù)據(jù)源提取模塊,進行篩選。這三個模塊構(gòu)成一個小周 期進行循環(huán)??紤]到采集分發(fā)的數(shù)據(jù)量巨大,系統(tǒng)在這里進行了一個周期性的小循環(huán)設計,原始數(shù)據(jù)源提取模塊、數(shù)據(jù)結(jié)構(gòu)映射模塊和返回目標數(shù)據(jù)源模塊共同構(gòu)成了周期結(jié)構(gòu)轉(zhuǎn)換系 統(tǒng)部分,使數(shù)據(jù)可以根據(jù)要求分批次循環(huán)采集。所有數(shù)據(jù)全部采集并生成目標數(shù)據(jù)后,系統(tǒng) 根據(jù)轉(zhuǎn)換的數(shù)據(jù)進行保存,進入下一個循環(huán)的采集與分發(fā)。如果在采集分發(fā)過程中,產(chǎn)生錯 誤或異常,系統(tǒng)會通過警告、提示發(fā)布出來,避免了盲目查找,有利于速度的提升。數(shù)據(jù)生成模塊,作為結(jié)束模塊,是數(shù)據(jù)采集分發(fā)結(jié)束后對已經(jīng)映射好的數(shù)據(jù)進行 保存,使整個系統(tǒng)處于一個完整的狀態(tài)。通過周期結(jié)構(gòu)轉(zhuǎn)換模塊內(nèi)循環(huán)模塊的轉(zhuǎn)換,最終生 成目標數(shù)據(jù),進入目標數(shù)據(jù)庫,數(shù)據(jù)轉(zhuǎn)換完成。使用本發(fā)明進行數(shù)據(jù)采集與分發(fā)可以大大的減少數(shù)據(jù)運行中的速度,也在很大程 度上彌補了傳統(tǒng)數(shù)據(jù)采集的一些弊端,它適用于各種系統(tǒng)平臺,這就為各種系統(tǒng)平臺的信 息交互提供了便利,不受限于同類產(chǎn)品或某一公司產(chǎn)品的制約。
權(quán)利要求
1.一種跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),其特征是包括依次順序傳遞的一 個讀取數(shù)據(jù)配置模塊(1)、一個周期結(jié)構(gòu)轉(zhuǎn)換模塊( 和一個數(shù)據(jù)生成模塊(3),其中所述 周期結(jié)構(gòu)轉(zhuǎn)換模塊(2)由循環(huán)的原始數(shù)據(jù)源提取模塊(2-1)、數(shù)據(jù)結(jié)構(gòu)映射模塊(2-2)和返 回目標數(shù)據(jù)源模塊(2- 組成。
2.根據(jù)權(quán)利要求1所述的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),其特征是所述 讀取數(shù)據(jù)配置模塊(1)為系統(tǒng)第一部分,根據(jù)系統(tǒng)要求定義不同數(shù)據(jù)源,確定數(shù)據(jù)源的類 型;指定數(shù)據(jù)表,以視圖的形式表現(xiàn)出來;映射數(shù)據(jù)源的結(jié)構(gòu),定義其屬性;通過篩選條件 針對數(shù)據(jù)表、視圖等對象詳細列出某條記錄。
3.根據(jù)權(quán)利要去1所述的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),其特征是所述 原始數(shù)據(jù)源提取模塊0-1),通過選擇原始數(shù)據(jù)源;根據(jù)數(shù)據(jù)配置、篩選條件準備數(shù)據(jù);把 數(shù)據(jù)表中所儲存的結(jié)構(gòu)數(shù)值轉(zhuǎn)化成系統(tǒng)能夠識別的JAVA對象。
4.根據(jù)權(quán)利要求1所述的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),其特征是所述 數(shù)據(jù)結(jié)構(gòu)映射模塊0-2),根據(jù)原始數(shù)據(jù)源提供模塊(2-1)所準備的數(shù)據(jù)信息進行轉(zhuǎn)換,主 要是對數(shù)據(jù)的屬性進行變更,數(shù)據(jù)轉(zhuǎn)換時可以是一對一的轉(zhuǎn)換,也可以是多對一的轉(zhuǎn)換。
5.根據(jù)權(quán)利要求1所述的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),其特征是所述 返回目標數(shù)據(jù)源模塊0-3),通過對原始數(shù)據(jù)源的選擇,根據(jù)數(shù)據(jù)配置、篩選條件進行保存 數(shù)據(jù),把原始數(shù)據(jù)源提供模塊中已經(jīng)映射好的JAVA對象儲存到數(shù)據(jù)列表中。
6.根據(jù)權(quán)利要求1所述的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),其特征是所述 數(shù)據(jù)生成模塊C3)通過周期結(jié)構(gòu)轉(zhuǎn)換模塊( 中三個循環(huán)模塊的轉(zhuǎn)換,最終生成目標數(shù)據(jù), 進入目標數(shù)據(jù)庫,數(shù)據(jù)轉(zhuǎn)換完成。
全文摘要
本發(fā)明涉及一種跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),包括依次順序傳遞的一個讀取數(shù)據(jù)配置模塊、一個周期結(jié)構(gòu)轉(zhuǎn)換模塊和一個數(shù)據(jù)生成模塊,其中所述周期結(jié)構(gòu)轉(zhuǎn)換模塊由循環(huán)的原始數(shù)據(jù)源提取模塊、數(shù)據(jù)結(jié)構(gòu)映射模塊和返回目標數(shù)據(jù)源模塊組成。利用本發(fā)明提供的跨平臺異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)采集與分發(fā)系統(tǒng),可以實現(xiàn)對原有數(shù)據(jù)庫的升級處理,同時還可以對形式不同的數(shù)據(jù)源進行遷移,把各個數(shù)據(jù)孤島遷移到中心數(shù)據(jù)庫中,對數(shù)據(jù)進行系統(tǒng)整合。
文檔編號G06F21/00GK102081656SQ20111000539
公開日2011年6月1日 申請日期2011年1月12日 優(yōu)先權(quán)日2011年1月12日
發(fā)明者徐偉 申請人:江蘇夢蘭神彩科技發(fā)展有限公司