數據采集系統和用于數據采集系統的分析方法
【技術領域】
[0001]本發明涉及數據采集技術領域,尤其涉及一種數據采集系統和用于數據采集系統的分析方法。
【背景技術】
[0002]隨著“互聯網+”以及“工業4.0”時代的到來,業務量爆炸式增長,業務種類日趨復雜,信息系統也越來越多,核心數據的管理變得日益困難。如何實現數據的共享,數據采集的高性能,進而提取核心價值是企業信息化建設的關鍵。
[0003]現有技術中,實現變更數據采集的技術方案包括:觸發器、時間戳、標志位、快照和日志分析,在這些方式下,不能夠便捷地實現數據的并行處理,事務同步的性能和效率較低。
【發明內容】
[0004]本發明旨在至少在一定程度上解決相關技術中的技術問題之一。
[0005]為此,本發明的一個目的在于提出一種數據采集系統,能夠支持數據的并行處理,有效降低數據共享的延時,提升事務同步的性能和效率。
[0006]本發明的另一個目的在于提出一種用于數據采集系統的分析方法。
[0007]為達到上述目的,本發明第一方面實施例提出的數據采集系統,包括:日志分析器,用于監測數據庫狀態,并在所述數據庫產生變更時獲取所述數據庫的重做日志,生成變更記錄信息,并將所述變更記錄信息交付至事務合成器;所述事務合成器,用于獲取所述變更記錄信息,緩存所述變更記錄信息中未提交的事務,在識別到所述變更記錄信息中包含事務提交操作時,獲取所述事務提交操作并分析所述事務提交操作對應的緩存位置,生成事務消息,并將所述事務消息交付至數據關系分析器;所述數據關系分析器,用于接收所述事務消息,提取所述事務消息中產生變更記錄信息的數據表,并根據所述事務消息獲取數據交付器實例與所述數據表組之間的映射關系,根據所述映射關系將所述事務消息分發至對應的數據交付器;所述數據交付器,用于接收所述數據關系分析器分發的事務消息,并根據交付目標的類型選擇對應的交付算法,以執行交付。
[0008]本發明第一方面實施例提出的數據采集系統,通過獲取數據庫的重做日志,生成變更記錄信息,并將變更記錄信息交付至事務合成器,事務合成器在識別到變更記錄信息中包含事務提交操作時,分析事務提交操作對應的緩存位置,生成事務消息,并將事務消息交付至數據關系分析器,數據關系分析器提取事務消息中產生變更記錄信息的數據表,并獲取數據交付器實例與數據表組之間的映射關系,根據映射關系將事務消息分發至對應的數據交付器,數據交付器根據交付目標的類型選擇對應的交付算法,以執行交付,能夠支持數據的并行處理,有效降低數據共享的延時,提升事務同步的性能和效率。
[0009]為達到上述目的,本發明第二方面實施例提出的用于數據采集系統的分析方法,包括:監測數據庫中重做日志的變更狀態,并在所述數據庫中重做日志產生變更時獲取所述數據庫的重做日志,生成變更記錄信息,并將所述變更記錄信息交付至事務合成器;獲取所述變更記錄信息,緩存所述變更記錄信息中未提交的事務,在識別到所述變更記錄信息中包含事務提交操作時,獲取所述事務提交操作并分析所述事務提交操作對應的緩存位置,生成事務消息,并將所述事務消息交付至數據關系分析器;接收所述事務消息,提取所述事務消息中產生變更記錄信息的數據表,并根據所述事務消息獲取數據交付器實例與所述數據表組之間的映射關系,根據所述映射關系將所述事務消息分發至對應的數據交付器;接收所述數據關系分析器分發的事務消息,并根據交付目標的類型選擇對應的交付算法,以執行交付。
[0010]本發明第二方面實施例提出的用于數據采集系統的分析方法,通過獲取數據庫的重做日志,生成變更記錄信息,并將變更記錄信息交付至事務合成器,事務合成器在識別到變更記錄信息中包含事務提交操作時,分析事務提交操作對應的緩存位置,生成事務消息,并將事務消息交付至數據關系分析器,數據關系分析器提取事務消息中產生變更記錄信息的數據表,并獲取數據交付器實例與數據表組之間的映射關系,根據映射關系將事務消息分發至對應的數據交付器,數據交付器根據交付目標的類型選擇對應的交付算法,以執行交付,能夠支持數據的并行處理,有效降低數據共享的延時,提升事務同步的性能和效率。
[0011]本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的實踐了解到。
【附圖說明】
[0012]本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0013]圖1是本發明一實施例提出的數據采集系統的結構示意圖;
[0014]圖2是本發明實施例中重做日志中的變更信息存儲結構示意圖;
[0015]圖3是本發明另一實施例提出的用于數據采集系統的分析方法的流程示意圖;
[0016]圖4是本發明另一實施例提出的用于數據采集系統的分析方法的流程示意圖。
【具體實施方式】
[0017]下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發明,而不能理解為對本發明的限制。相反,本發明的實施例包括落入所附加權利要求書的精神和內涵范圍內的所有變化、修改和等同物。
[0018]圖1是本發明一實施例提出的數據采集系統的結構示意圖,該數據采集系統10包括日志分析器101,用于監測數據庫中重做日志的變更狀態,并在重做日志產生變更時獲取數據庫的重做日志,生成變更記錄信息,并將變更記錄信息交付至事務合成器102 ;事務合成器102,用于獲取變更記錄信息,緩存所述變更記錄信息中未提交的事務,在識別到變更記錄信息中包含事務提交操作時,獲取事務提交操作并分析事務提交操作對應的緩存位置,生成事務消息,并將事務消息交付至數據關系分析器103 ;數據關系分析器103,用于接收事務消息,提取事務消息中產生變更記錄信息的數據表,并根據事務消息獲取數據交付器實例與數據表組之間的映射關系,根據映射關系將事務消息分發至對應的數據交付器104 ;數據交付器104,用于接收數據關系分析器103分發的事務消息,并根據交付目標的類型選擇對應的交付算法,以執行交付。
[0019]在本發明的一個實施例中,該數據采集系統10包括日志分析器101,用于監測數據庫中重做日志的變更狀態,并在重做日志產生變更時獲取數據庫的重做日志,生成變更記錄信息,并將變更記錄信息交付至事務合成器102。
[0020]例如,當數據庫中的數據表插入一條數據時,重做日志會記錄本次插入操作,數據庫的重做日志產生變更,日志分析器101實時監測重做日志的變更狀態,并當重做日志產生變更時獲取數據庫的重做日志。
[0021]其中,重做日志(Redo Log)由兩個以上的文件組成,用于記錄數據庫中所有的變更信息、提供數據恢復功能,以及維護數據庫的完整性。
[0022]數據庫中的變更信息例如,用戶修改了數據表A中的字段。
[0023]數據庫類型包括層次式數據庫、網絡式數據庫和關系式數據庫三種。
[0024]可選地,生成變更記錄信息,包括:日志分析器101根據連接的數據庫的類型選取對應的重做日志分析算法;根據對應的重做日志分析算法和數據庫中的變更信息生成變更信息記錄。
[0025]可以通過重做日志中記錄的變更信息重現數據庫產生變更的具體操作,不同類型的數據庫的數據存儲結構不同,因此,在不同類型的數據庫中,重做日志所記錄的變更信息的結構也不相同,對于不同類型的數據庫,日志分析器101需要根據對應的重做日志分析算法對重做日志進行分析處理,以生成變更記錄信息。
[0026]例如,如圖2所示,為本發明實施例中重做日志中的變更信息存儲結構示意圖,存儲結構的特點包括:(1)屬于同一個事務的變更記錄信息并非連續存儲;(2)多個事務包含的變更記錄信息交叉存儲;(3)重做日志中既存儲了事務提交操作的變更記錄,同時也存儲了事務回滾操作的變更記錄