一種可配置的數據訂閱和發布系統及其方法
2023-05-07 23:11:11
專利名稱:一種可配置的數據訂閱和發布系統及其方法
技術領域:
本發明涉及數據交換領域,具體地說是涉及一種可配置的異構數據的訂閱及發布系統,以及利用該系統進行數據交換的方法。
背景技術:
隨著信息技術的飛速發展,實踐積累了大規模具 有海量、動態和類型多樣等特點的業務數據。如何及時高效地從這些海量異構動態數據獲取所需數據是當前數據交換領域迫切需要解決的問題。數據訂閱與發布技術通過按照用戶預設條件主動提供數據不失為解決上述問題的有效途徑。對於海量異構動態數據的訂閱,不僅需要考慮訂閱條件的組合(即與或非邏輯關係的組合),而且還需考慮數據的異構性(數據模式不一,數據類型多樣),不僅如此,用戶常常希望在多個數據間實現聯合訂閱(對於資料庫來說就是跨表訂閱)。然而現有同類專利中不能同時解決上述問題。如要同時訂閱資料庫表中的本表欄位,和外鍵欄位指向的外鍵表中的其他欄位,就需要將外鍵表的欄位信息進行配置。但是現有同類專利不能配置這些信息,只能訂閱本表欄位;同時,對於大量異構數據進行條件訂閱時,需要對異構數據的類型進行配置,但是現有同類專利大多數是對每一種數據設計一種訂閱方案,包括訂閱條件的添加方式,沒有一種統一的異構數據描述標準可遵循,從而很難解決異構數據的訂閱和發布,以及異構數據訂閱條件的組合問題。
發明內容
發明目的針對現有技術中存在的問題與不足,本發明提供一種可配置的數據訂閱和發布系統及其方法,可配置的數據訂閱和發布系統可滿足用戶跨表訂閱需求,解決了訂閱條件的組合問題,在組件化設計各個功能模塊,為了方便系統移植的同時,具有很好的用戶體驗;方法在海量異構動態數據的訂閱問題中,解決訂閱條件的組合問題,和數據的異構性問題,並解決了用戶在多個數據間的聯合訂閱(即跨表訂閱)需求。技術方案一種可配置的數據訂閱和發布系統,包括數據發布模塊和數據訂閱模塊;所述數據訂閱模塊包括條件輸入模塊和邏輯處理模塊;所述數據發布模塊通過異構數據描述標準文件描述異構數據的信息,並通過配置將所描述的異構數據與相關的其他數據進行關聯,從而實現用戶聯合訂閱多個數據的需求;所述數據發布模塊通過數據描述標準轉換的配置文件,為數據描述標準轉換提供相應的配置信息;所述條件輸入模塊用於實現用戶輸入訂閱條件信息;所述邏輯處理模塊用於處理和解決訂閱條件的組合,從而將用戶輸入的訂閱條件,轉換為計算機可以識別和處理的條件語句。所述異構數據描述標準文件,是一個JSON格式的文件;所述數據描述標準轉換的配置文件,是一個XML格式的文件;
所述數據描述標準轉換的配置文件為數據描述標準轉換提供相應的配置信息,其中配置信息包含數據描述信息的存放位置和類型轉換的配置信息;系統根據所述數據描述信息的存放位置讀取數據描述信息;類型轉換的配置信息記錄數據類型名稱,所對應的模型所採用的數據類型名稱,從而解決了不同系統的類型名稱差異。所述數據發布模塊和數據訂閱模塊,是基於Java EE平臺,使用了 Struts2、Hibernate3框架技術和基於Dojo的AJAX框架技術;數據發布模塊和數據訂閱模塊上設有Do jo組件,開發者只需調用組件提供的函數接口,無需編寫任何與界面有關的前臺代碼,便能顯示美觀的用戶界面,從而提供了很好的用戶體驗。在用戶界面的顯示與銷毀的全過程中,都由已編寫好的Dojo組件在網頁上自動生成和銷毀相應的DOM節點,界面美觀方便。一種可配置的數據訂閱和發布方法,包括數據發布和 數據訂閱步驟
對於每一種XML格式,給出一個配置文件,利用配置文件提供的信息,將這些XML格式的數據表描述標準,轉換成JSON格式的異構數據描述標準。所述數據發布步驟為首先,需要一個配置文件,用於描述對本次發布的一個或多個具有相同結構的數據表。在系統成功接收並解析配置文件後,便按照系統提出的異構數據描述標準,對數據表文件進行解析。數據表描述來源可以是文件,也可以是資料庫。如果是文件,則只需解析相應的XML文件即可。如果是資料庫,則系統需要接收一個資料庫配置文件,對所要讀取的資料庫的相關信息進行配置說明,從而從資料庫自動導入數據表信息。所述數據訂閱步驟為首先,系統將已發布的訂閱表分頁顯示給訂閱用戶,由訂閱用戶選擇一個進行訂閱。在訂閱界面,系統會以樹形結構顯示錶欄位,通過對欄位的選擇,可以訂閱該欄位所對應的數據,同時,可以對欄位添加和修改訂閱條件。當訂閱條件添加完成後,系統會根據這些條件,自動生成計算機能夠識別的條件語句,連同訂閱請求進行提交,從而完成用戶的訂閱請求。有益效果與現有技術相比,本發明所提供的系統和方法,通過配置,靈活地解決了不同系統中對數據類型描述之間的差異性,使得數據訂閱和發布模型能夠自動識別異構數據的類型,從而根據類型自動生成相應的訂閱條件輸入控制項,極大地方便了用戶描述其訂閱請求,增強了用戶體驗。同時,將與該數據有關的其他數據信息進行配置,可解決用戶在多個數據間的聯合訂閱(即跨表訂閱)請求。
圖I為本發明實施例的功能模塊 圖2為本發明實施例的異構數據描述標準文件的內容結構 圖3為本發明實施例的標準轉換配置文件的內容結構 圖4為本發明實施例的數據發布流程 圖5本發明實施例的數據訂閱流程圖。
具體實施例方式下面結合附圖和具體實施例,進一步闡明本發明,應理解這些實施例僅用於說明本發明而不用於限制本發明的範圍,在閱讀了本發明之後,本領域技術人員對本發明的各種等價形式的修改均落於本申請所附權利要求所限定的範圍。可配置的數據訂閱和發布系統I由數據發布模塊2和數據訂閱模塊3兩個模塊組成。
數據發布模塊2包括異構數據描述標準文件4和數據描述標準轉換的配置文件5兩個部分。異構數據描述標準文件4中包括數據類型8、關聯數據9兩部分。其中數據類型8是對異構數據的數據類型的描述信息,數據類型包括整型、浮點型、時間類型、日期類型、日期時間類型、字符串型。關聯數據9是與該數據相關的其他數據的配置信息,這些信息用於用戶實現數據間的聯合訂閱(即跨表訂閱),將與該數據相關的其他數據的信息進行配置,在用戶訂閱該數據的同時,可以連同所配置的其他數據一起訂閱。數據描述標準轉換的配置文件5中包括類型轉換信息10、讀取位置信息11兩部分。其中類型轉換信息10是類型轉換的配置信息,對於不同的系 統,描述同一種數據類型,可能採用不同的名稱,通過配置數據類型名稱的對應轉換關係,可將不同系統所採用的不同名稱,統一成相同的數據類型名稱,便於數據訂閱和發布模型正確識別數據類型,解決了不同系統描述數據類型時的差異性。讀取位置信息11是讀取位置的配置信息,不同的系統,對於異構數據的描述標準不同,這些標準記錄信息的位置也不同,通過對信息的含義和信息的存儲位置進行配置,可將異構數據的描述信息,從不同的描述標準中讀取出來,從而轉換成本發明所提出的異構數據描述標準文件4。數據訂閱模塊3包括調節輸入模塊6和邏輯處理模塊7兩部分。調節輸入模塊6用於用戶添加、編輯、刪除訂閱條件,提供了類型匹配12、格式檢查13、用戶界面14三個功能。用戶界面14採用Dojo I. 7框架技術設計和實現,經組件化設計,可在網頁上動態生成和銷毀相應的HTML的DOM節點,開發人員只需調用組件所給出的函數接口,即可在網頁上自動生成和銷毀相應的用戶界面14,而無需編寫任何網頁前臺代碼。邏輯處理模塊7用於處理和解決訂閱條件的組合,從而將用戶輸入的訂閱條件,轉換為計算機可以識別和處理的條件語句。訂閱條件之間的組合方式,是以與、或、非三種邏輯關係為基礎的,包括並含、或含、並含排除、或含排除4種。而訂閱條件的類型包括單值類型、區間類型兩種,其中單值類型包括大於、大於等於、等於、小於等於、小於、不等於6種;區間類型包括開區間、左閉右開區間、左開右閉區間、閉區間4種。邏輯處理模塊7中提供了條件檢查15這個功能,可以對條件的合法性進行檢查,包括區間類型的條件,區間左值是否大於或等於右值的檢查,以及條件之間組合後,是否發生結果為空集的檢查。如圖2所示,在資料庫中,數據是以表的形式進行存放,每一種數據對應一個表,數據的每一個屬性對應表中的一個欄位。一個表含有一個或多個欄位。在資料庫中,表名和欄位名是以英文記錄的,對於用戶來說意義不明確,所以會有對應的顯示名,用來更精確描述名字的含義。該標準採用JSON格式,解析速度快,信息表述準確。如圖3所示,目前各數據發布者所管理的數據表,大多採用XML格式進行描述,不僅如此,各種資料庫管理系統(DBMS)如Oracle、MySQL、SQL Server等,都支持將資料庫表信息導出成XML格式。所以,異構數據描述標準的轉換,即是將這些XML格式轉換成本系統採用的統一標準的JSON格式。如圖4所示,由於XML格式的異構數據描述的標準不統一,又不能為每種XML格式都設計一個標準轉換的方案。需要一種可配置的標準轉換方案,對於每一種XML格式,給出一個配置文件,利用配置文件提供的信息,將這些XML格式的數據表描述標準,轉換成本發明提出的JSON格式的異構數據描述標準。首先,需要一個配置文件,用於描述對本次發布的一個(或多個具有相同結構的)數據表。在系統成功接收並解析配置文件後,便按照系統提出的異構數據描述標準,對數據表文件進行解析。數據表描述來源可以是文件,也可以是資料庫。如果是文件,則只需解析相應的XML文件即可。如果是資料庫,則系統需要接收一個資料庫配置文件,對所要讀取的資料庫的相關信息進行配置說明,從而從資料庫自動導入數據表信息。如圖5所示,首先,模型將已發布的訂閱表分頁顯示給訂閱用戶,由訂閱用戶選擇一個進行訂閱。在訂閱界面,模型會以樹形結構顯示錶欄位,通過對欄位的選擇,可以訂閱該欄位所對應的數據,同時,可以對欄位添加和修改訂閱條件。當訂閱條件添加完成後,系統會根據這些條件,自動生成計算機能夠識別的條件語句,連同訂閱請求進行提交,從而完 成用戶的訂閱請求。
權利要求
1.一種可配置的數據訂閱和發布系統,其特徵在於包括數據發布模塊和數據訂閱模塊;所述數據訂閱模塊包括條件輸入模塊和邏輯處理模塊;所述數據發布模塊通過異構數據描述標準文件描述異構數據的信息,並通過配置將所描述的異構數據與相關的其他數據進行關聯,從而實現用戶聯合訂閱多個數據的需求;所述數據發布模塊通過數據描述標準轉換的配置文件,為數據描述標準轉換提供相應的配置信息;所述條件輸入模塊用於實現用戶輸入訂閱條件信息;所述邏輯處理模塊用於處理和解決訂閱條件的組合,從而將用戶輸入的訂閱條件,轉換為計算機可以識別和處理的條件語句。
2.如權利要求I所述的可配置的數據訂閱和發布系統,其特徵在於所述異構數據描述標準文件,是一個JSON格式的文件;所述數據描述標準轉換的配置文件,是一個XML格式的文件。
3.如權利要求I所述的可配置的數據訂閱和發布系統,其特徵在於所述數據描述標準轉換的配置文件為數據描述標準轉換提供相應的配置信息,其中配置信息包含數據描述信息的存放位置和類型轉換的配置信息;系統根據所述數據描述信息的存放位置讀取數據描述信息;類型轉換的配置信息記錄數據類型名稱。
4.如權利要求I所述的可配置的數據訂閱和發布系統,其特徵在於所述數據發布模塊和數據訂閱模塊,是基於Java EE平臺,通過Struts2、Hibernate3框架技術和基於Dojo的AJAX框架技術實現;數據發布模塊和數據訂閱模塊上設有Dojo組件。
5.一種可配置的數據訂閱和發布方法,其特徵在於,包括數據發布和數據訂閱步驟 所述數據發布步驟為首先,通過配置文件描述對當前發布的一個或多個具有相同結構的數據表;然後,在接收並解析配置文件後,按照提出的異構數據描述標準,對數據表文件進行解析;所述數據表描述來源是文件或資料庫,如果是文件,則解析相應的XML文件,如果是資料庫,則接收一個資料庫配置文件,對所要讀取的資料庫的相關信息進行配置說明,從而從資料庫自動導入數據表信息; 所述數據訂閱步驟為首先,將已發布的訂閱表顯示給訂閱用戶,由訂閱用戶選擇一個進行訂閱;其次,在訂閱界面,以樹形結構顯示訂閱表欄位,通過對欄位的選擇,訂閱該欄位所對應的數據,同時,通過欄位的添加和修改實現添加和修改訂閱條件;最後,當訂閱條件確定之後,根據訂閱條件,自動生成計算機能夠識別的條件語句,連同訂閱請求進行提交,從而完成用戶的訂閱請求。
全文摘要
本發明公開了一種可配置的數據訂閱和發布系統及其方法,系統包括數據發布模塊和數據訂閱模塊;數據訂閱模塊包括條件輸入模塊和邏輯處理模塊;數據發布模塊通過異構數據描述標準文件描述異構數據的信息,並通過配置將所描述的異構數據與相關的其他數據進行關聯;數據發布模塊通過數據描述標準轉換的配置文件,為數據描述標準轉換提供相應的配置信息。可滿足用戶跨表訂閱需求,解決了訂閱條件的組合問題,在組件化設計各個功能模塊,為了方便系統移植的同時,具有很好的用戶體驗。方法包括數據發布和訂閱兩個步驟,在海量異構動態數據的訂閱問題中,解決訂閱條件的組合問題和數據的異構性問題,實現聯合訂閱。
文檔編號G06F17/30GK102789491SQ20121022989
公開日2012年11月21日 申請日期2012年7月3日 優先權日2012年7月3日
發明者任鋒, 馮鈞, 劉子源, 唐志賢, 徐黎明 申請人:河海大學