亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        異構(gòu)數(shù)據(jù)庫同步技術(shù)的研究與實(shí)現(xiàn)

        2021-03-08 09:41:28張記強(qiáng)王仁蔣欣欣李明磊
        軟件工程 2021年1期
        關(guān)鍵詞:觸發(fā)器

        張記強(qiáng) 王仁 蔣欣欣 李明磊

        摘? 要:隨著信息化應(yīng)用的不斷深入,企業(yè)內(nèi)部不同應(yīng)用系統(tǒng)、企業(yè)與外部信息系統(tǒng)數(shù)據(jù)同步的需求日益強(qiáng)烈。由于各信息系統(tǒng)使用的數(shù)據(jù)庫管理軟件各不相同,導(dǎo)致數(shù)據(jù)之間無法實(shí)現(xiàn)同步與共享,因此,需要設(shè)計(jì)一種異構(gòu)數(shù)據(jù)庫之間同步的方法,解決不同信息系統(tǒng)數(shù)據(jù)間的同步問題。本論文在現(xiàn)有成熟數(shù)據(jù)庫產(chǎn)品的基礎(chǔ)上,分析了數(shù)據(jù)同步過程中的關(guān)鍵問題,如數(shù)據(jù)類型差異、數(shù)據(jù)捕獲策略、同步振蕩等。針對(duì)這些問題,設(shè)計(jì)采用建立映射模式的方法、觸發(fā)器與控制表相結(jié)合的方法以及在同步任務(wù)中對(duì)控制表進(jìn)行干預(yù)的方法予以解決。最后,在QT(跨平臺(tái)軟件開發(fā)框架)下,設(shè)計(jì)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫同步系統(tǒng),實(shí)驗(yàn)驗(yàn)證表明,本系統(tǒng)達(dá)到了較好的數(shù)據(jù)同步效果。

        關(guān)鍵詞:異構(gòu)數(shù)據(jù)庫;數(shù)據(jù)同步;數(shù)據(jù)捕獲;觸發(fā)器;QT

        中圖分類號(hào):TP311.13? ? ?文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):2096-1472(2021)-01-06-04

        Abstract: With the development of information applications, there is a growing demand for data synchronization between different application systems within enterprises, between enterprises, and amongst external information systems. However, due to different database management software used by different information systems, data synchronization and sharing cannot be achieved. Therefore, it is necessary to design a method of synchronization between heterogeneous databases to realize data synchronization of different information systems. Based on existing mature database products, this paper analyzes key issues in the process of data synchronization, such as data type difference, data capture strategy, synchronous oscillation and so on. In order to solve these problems, methods of establishing mapping pattern, combining trigger with control table, and intervening control table in synchronization task are designed. At last, under the framework of QT (the cross-platform software development framework), a heterogeneous database synchronization system is designed and implemented. Experimental results show that the system achieves better data synchronization effect.

        Keywords: heterogeneous database; data synchronization; data capture; trigger; QT

        1? ?引言(Introduction)

        在數(shù)據(jù)庫管理系統(tǒng)領(lǐng)域,已經(jīng)存在多個(gè)成熟的數(shù)據(jù)庫產(chǎn)品,而在企業(yè)搭建的眾多應(yīng)用系統(tǒng)中,由于應(yīng)用開發(fā)部門不同或者應(yīng)用系統(tǒng)本身特點(diǎn)等因素,使得不同的系統(tǒng)使用的數(shù)據(jù)庫系統(tǒng)也不同。隨著業(yè)務(wù)與用戶規(guī)模的不斷增加,傳統(tǒng)的單一數(shù)據(jù)中心已經(jīng)不能滿足企業(yè)的發(fā)展需求,跨地域的互聯(lián)數(shù)據(jù)中心建設(shè)方案由此產(chǎn)生,例如兩地三中心、異地多活數(shù)據(jù)庫等方案[1],這種場(chǎng)景就涉及異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步的問題。同時(shí)以神通、武漢達(dá)夢(mèng)、人大金倉為代表的一大批優(yōu)秀的國(guó)產(chǎn)數(shù)據(jù)庫軟件逐漸被市場(chǎng)認(rèn)可,并被企業(yè)應(yīng)用到內(nèi)部系統(tǒng)中,用于替換國(guó)外數(shù)據(jù)庫產(chǎn)品。

        現(xiàn)有技術(shù)中,異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步方式大多是基于自身的同步復(fù)制技術(shù)實(shí)現(xiàn)的,各數(shù)據(jù)庫廠商在各自數(shù)據(jù)庫復(fù)制的基礎(chǔ)上提出了數(shù)據(jù)庫的同步方案。例如SQL Server提出的出版者及訂閱者同步方案,用于多臺(tái)數(shù)據(jù)庫服務(wù)器之間的數(shù)據(jù)同步[2,3];Oracle采用多主復(fù)制和物化視圖的方案實(shí)現(xiàn)數(shù)據(jù)同步功能。

        本文通過對(duì)異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步問題進(jìn)行分析與研究,提出了解決異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步關(guān)鍵問題的方法。在該方法的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于QT框架的異構(gòu)數(shù)據(jù)庫同步系統(tǒng),實(shí)現(xiàn)異構(gòu)數(shù)據(jù)庫間數(shù)據(jù)的同步與共享。

        2? ?相關(guān)工作(Related work)

        2.1? ?天熠嵌入式數(shù)據(jù)庫簡(jiǎn)介

        天熠嵌入式數(shù)據(jù)庫(TYCHE)是中國(guó)航天科工集團(tuán)第二研究院706所面向綜合化、網(wǎng)絡(luò)化、信息化應(yīng)用需求自主研發(fā)的一款嵌入式實(shí)時(shí)數(shù)據(jù)庫產(chǎn)品,具備強(qiáng)實(shí)時(shí)、高可靠的產(chǎn)品特性,目前在項(xiàng)目中應(yīng)用廣泛。其特點(diǎn)是占用資源少,并支持主流的操作系統(tǒng),尤其是它的處理速度非???,單條數(shù)據(jù)讀取速率能達(dá)到40微秒。本項(xiàng)目使用天熠數(shù)據(jù)庫作為數(shù)據(jù)存儲(chǔ)的軟件。

        2.2? ?QT開發(fā)工具

        QT是由Qt Company開發(fā)的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開發(fā)框架。本文選擇QT作為開發(fā)工具主要是由于在其上開發(fā)的軟件具有很好的跨平臺(tái)性,即一次開發(fā)可以在微小改動(dòng)的情況下,實(shí)現(xiàn)在Windows和中標(biāo)麒麟下的編譯運(yùn)行[4]。

        2.3? ?相關(guān)研究

        目前已經(jīng)出現(xiàn)了一些異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步技術(shù),但總的來說,這些技術(shù)與各數(shù)據(jù)庫廠商產(chǎn)品緊密綁定,擴(kuò)展性較差。

        文獻(xiàn)[3]研究的是分布式異構(gòu)數(shù)據(jù)庫環(huán)境下數(shù)據(jù)同步技術(shù),由系統(tǒng)管理員啟動(dòng)同步程序,從而將Linux服務(wù)器下的Oracle數(shù)據(jù)庫中的數(shù)據(jù)單向同步到Windows服務(wù)器下的Oracle數(shù)據(jù)庫中。該技術(shù)實(shí)現(xiàn)了Oracle到Oracle之間的數(shù)據(jù)同步,并且只能單向同步,底層借助的是Oracle的SQL Plus工具。該文獻(xiàn)涉及的方法與Oracle數(shù)據(jù)庫緊密綁定,不能解決其他異構(gòu)數(shù)據(jù)庫之間數(shù)據(jù)同步的問題。

        3? ?數(shù)據(jù)同步常見問題(Data synchronization FAQ)

        3.1? ?數(shù)據(jù)類型差異

        對(duì)于異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)同步,必須解決異構(gòu)數(shù)據(jù)庫數(shù)據(jù)類型差異的問題[5]。數(shù)據(jù)類型差異表現(xiàn)在以下四個(gè)方面。

        (1)異構(gòu)數(shù)據(jù)庫支持的數(shù)據(jù)類型種類不完全相同。例如A數(shù)據(jù)庫有時(shí)間類型,B數(shù)據(jù)庫不一定有時(shí)間類型。

        (2)異構(gòu)數(shù)據(jù)庫相同數(shù)據(jù)類型的名稱可能不同。例如存儲(chǔ)整型數(shù)據(jù),A數(shù)據(jù)庫類型名稱為integer,B數(shù)據(jù)庫類型名稱為int。

        (3)在不同場(chǎng)景下,一個(gè)數(shù)據(jù)庫的同一數(shù)據(jù)類型對(duì)應(yīng)其他數(shù)據(jù)庫的數(shù)據(jù)類型不同。例如A數(shù)據(jù)庫的varchar類型根據(jù)實(shí)際數(shù)據(jù)長(zhǎng)度,可能對(duì)應(yīng)B數(shù)據(jù)庫的varchar或blob數(shù)據(jù)類型。

        (4)類型映射往往為單向映射。例如A數(shù)據(jù)庫支持money類型,B數(shù)據(jù)庫不支持money類型但是支持double類型。此時(shí)A數(shù)據(jù)庫的money類型對(duì)應(yīng)B數(shù)據(jù)庫的double類型,但是B數(shù)據(jù)庫的double類型一般不能直接轉(zhuǎn)換為A數(shù)據(jù)庫的money類型。

        本系統(tǒng)解決異構(gòu)數(shù)據(jù)庫數(shù)據(jù)類型差異的方案是通過建立數(shù)據(jù)類型映射,用戶可根據(jù)需要自定義或者修改數(shù)據(jù)類型映射規(guī)則。

        3.2? ?數(shù)據(jù)捕獲策略

        不同數(shù)據(jù)庫產(chǎn)品支持不同的數(shù)據(jù)捕獲策略,常見的有快照法、觸發(fā)器法、日志法、API法、影子表法、控制表法[6]。這些方法各有優(yōu)缺點(diǎn),若本系統(tǒng)針對(duì)每個(gè)數(shù)據(jù)庫采用其獨(dú)特的數(shù)據(jù)捕獲方式,會(huì)對(duì)系統(tǒng)的通用性產(chǎn)生一定的影響。

        考慮到當(dāng)今主流數(shù)據(jù)庫都已經(jīng)實(shí)現(xiàn)觸發(fā)器機(jī)制,并且用戶對(duì)觸發(fā)器的接受程度較高,本系統(tǒng)提出一種基于觸發(fā)器的數(shù)據(jù)捕獲方法,并在觸發(fā)器機(jī)制上進(jìn)行了改進(jìn),增加了控制表機(jī)制。

        3.3? ?同步振蕩問題

        同步振蕩是由于在異構(gòu)數(shù)據(jù)庫兩端同時(shí)建立觸發(fā)器導(dǎo)致的一種循環(huán)更新的問題。比較典型的場(chǎng)景是用戶操作A數(shù)據(jù)庫,在A數(shù)據(jù)庫端通過觸發(fā)器產(chǎn)生一條數(shù)據(jù)變更記錄寫入控制表,系統(tǒng)將數(shù)據(jù)同步到B數(shù)據(jù)庫,B數(shù)據(jù)庫也會(huì)通過觸發(fā)器產(chǎn)生一條數(shù)據(jù)變更寫入控制表。若系統(tǒng)將B數(shù)據(jù)庫變化回寫到A數(shù)據(jù)庫,此時(shí)就會(huì)形成一種循環(huán)更新的現(xiàn)象。

        本系統(tǒng)解決同步振蕩問題的方案是在同步過程對(duì)控制表進(jìn)行干預(yù)。

        4? ?異構(gòu)數(shù)據(jù)庫同步系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(The design and implementation of Heterogeneous database synchronization system)

        4.1? ?系統(tǒng)總體架構(gòu)

        圖1為異構(gòu)數(shù)據(jù)庫同步系統(tǒng)架構(gòu)圖。異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步過程由建立觸發(fā)器、創(chuàng)建控制表、數(shù)據(jù)源注冊(cè)、建立模式映射、建立同步任務(wù)五部分功能組成。其中建立觸發(fā)器與創(chuàng)建控制表功能位于異構(gòu)數(shù)據(jù)庫管理系統(tǒng)端;數(shù)據(jù)源注冊(cè)、建立模式映射、建立同步任務(wù)功能位于數(shù)據(jù)同步服務(wù)器端。

        異構(gòu)數(shù)據(jù)庫端完成以下工作:

        (1)創(chuàng)建控制表。為完整記錄數(shù)據(jù)變化過程,為每一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)基表創(chuàng)建一個(gè)對(duì)應(yīng)的控制表[7](CTRLTABLE)??刂票戆瑪?shù)據(jù)基表的主鍵,同時(shí)還包括其他字段記錄數(shù)據(jù)源的變化過程??刂票肀仨氃谕降膬啥司嬖?。控制表包含字段如表1所示。

        (2)建立觸發(fā)器。觸發(fā)器的作用是在數(shù)據(jù)基表發(fā)生變化時(shí),捕獲變化的數(shù)據(jù)。在本系統(tǒng)中建立的觸發(fā)事件包括INSERT、UPDATE與DELETE[8,9]。

        如圖2所示為數(shù)據(jù)基表的一個(gè)示例,該表名稱為testTable。結(jié)合表1中控制表結(jié)構(gòu),本文設(shè)計(jì)INSERT觸發(fā)器結(jié)構(gòu)如圖3所示,UPDATE觸發(fā)器結(jié)構(gòu)如圖4所示,DELETE觸發(fā)器結(jié)構(gòu)如圖5所示。

        數(shù)據(jù)同步服務(wù)器端完成以下工作:

        (1)數(shù)據(jù)源注冊(cè)。將異構(gòu)數(shù)據(jù)庫作為數(shù)據(jù)源接入系統(tǒng)中,其他功能模塊均依賴本功能,未注冊(cè)到系統(tǒng)的數(shù)據(jù)源不會(huì)作為數(shù)據(jù)同步的源數(shù)據(jù)庫或者目標(biāo)數(shù)據(jù)庫。

        (2)建立模式映射。為屏蔽各數(shù)據(jù)源的差異,為異構(gòu)數(shù)據(jù)源建立模式映射。如圖6所示,系統(tǒng)提前將Oracle與達(dá)夢(mèng)的元數(shù)據(jù)進(jìn)行獲取并保存在本地TYCHE中,在數(shù)據(jù)同步時(shí)使用建立的模式映射關(guān)系屏蔽異構(gòu)數(shù)據(jù)庫的差異。

        (3)創(chuàng)建同步任務(wù)。用于管理整個(gè)數(shù)據(jù)同步的過程,并且解決同步振蕩問題。

        4.2? ?關(guān)鍵模塊的實(shí)現(xiàn)

        4.2.1? ?數(shù)據(jù)源注冊(cè)

        注冊(cè)數(shù)據(jù)源分為兩步,第一步通過加載數(shù)據(jù)庫提供的ODBC驅(qū)動(dòng)連接數(shù)據(jù)庫;第二步將注冊(cè)信息寫入TYCHE中。數(shù)據(jù)源注冊(cè)需要的信息包括數(shù)據(jù)源類型、注冊(cè)名稱、IP地址、端口號(hào)、DNS信息、默認(rèn)連接數(shù)據(jù)庫名稱、用戶名與密碼。圖7為保存數(shù)據(jù)源注冊(cè)信息的表結(jié)構(gòu)圖,表名稱為“數(shù)據(jù)源表”。

        通過以上兩步,即可將數(shù)據(jù)庫接入系統(tǒng)中,并且與數(shù)據(jù)源建立連接。

        4.2.2? ?建立模式映射

        建立模式映射由兩部分組成:建立數(shù)據(jù)字典信息和建立數(shù)據(jù)類型映射關(guān)系。

        (1)建立數(shù)據(jù)字典信息。建立數(shù)據(jù)庫信息、數(shù)據(jù)庫內(nèi)表信息、表內(nèi)字段信息三類數(shù)據(jù)字典信息,并保存到本地TYCHE中,數(shù)據(jù)字典存儲(chǔ)結(jié)構(gòu)如圖8所示。

        ①獲取數(shù)據(jù)源數(shù)據(jù)庫信息,并且寫入TYCHE的“數(shù)據(jù)庫表”(T_DATABASEINFO)。

        在數(shù)據(jù)源注冊(cè)后,執(zhí)行SQL語句獲取數(shù)據(jù)源數(shù)據(jù)庫信息。以O(shè)racle數(shù)據(jù)庫為例,在QT下獲取數(shù)據(jù)源數(shù)據(jù)庫信息的方式為:QsqlQuery::exec(“SELECT * FROM USER_USERS”)。

        通過執(zhí)行SQL語句INSERT INTO T_DATABASEINFO VALUES,將獲取到的數(shù)據(jù)庫信息寫入T_DATABASEINFO表。

        ②獲取表的信息,并且寫入TYCHE的“數(shù)據(jù)表表”(T_TABLEINFO)。

        通過執(zhí)行獲取表信息的SQL語句,獲取數(shù)據(jù)源內(nèi)表的信息。以O(shè)racle數(shù)據(jù)庫為例,在QT下獲取數(shù)據(jù)源內(nèi)表的信息的方式為:QsqlQuery::exec(“SELECT * FROM USER_TABLES”)。

        通過執(zhí)行SQL語句INSERT INTO T_TABLEINFO VALUES,將獲取到的表信息寫入T_TABLEINFO表。

        ③獲取字段信息,并且寫入TYCHE的“數(shù)據(jù)字段表”(T_FIELDINFO)。

        通過執(zhí)行獲取字段信息的SQL語句,獲取數(shù)據(jù)源內(nèi)字段信息。以O(shè)racle數(shù)據(jù)庫為例,在QT下獲取數(shù)據(jù)源內(nèi)字段信息的方式為:QsqlQuery::exec(“SELECT COLUMN_NAME,DATA_TYPE,DATA_LENGTH FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '%1'").arg(strtable) ”),其中strtable為表的名稱。

        通過執(zhí)行SQL語句INSERT INTO T_FIELDINFO VALUES,將獲取到的字段信息寫入T_FIELDINFO表。

        (2)建立數(shù)據(jù)類型映射關(guān)系。針對(duì)接入系統(tǒng)中的各異構(gòu)數(shù)據(jù)庫數(shù)據(jù)源,提取支持的所有數(shù)據(jù)類型,保存到本地TYCHE數(shù)據(jù)庫進(jìn)行統(tǒng)一管理,數(shù)據(jù)庫中對(duì)數(shù)據(jù)類型管理的存儲(chǔ)結(jié)構(gòu)如圖9所示。

        本系統(tǒng)為各數(shù)據(jù)源的各類數(shù)據(jù)類型設(shè)置一個(gè)默認(rèn)數(shù)據(jù)類型,以降低用戶配置的難度,同時(shí)在數(shù)據(jù)遷移時(shí)運(yùn)行用戶手動(dòng)配置實(shí)際的數(shù)據(jù)類型??紤]到數(shù)據(jù)類型映射往往為單向映射,本系統(tǒng)中在存儲(chǔ)數(shù)據(jù)類型映射關(guān)系時(shí)添加映射源字段,以指明當(dāng)前映射關(guān)系中可以作為源的數(shù)據(jù)源類型。

        4.2.3? ?創(chuàng)建同步任務(wù)

        同步任務(wù)控制整個(gè)數(shù)據(jù)同步的流程。如圖10所示為同步任務(wù)進(jìn)行一次同步的流程圖。

        用戶修改A數(shù)據(jù)源的數(shù)據(jù)基表內(nèi)一條數(shù)據(jù),在同步任務(wù)內(nèi)就會(huì)開始一次數(shù)據(jù)同步的過程,最終完成將該條數(shù)據(jù)變更到B數(shù)據(jù)源內(nèi)。

        下面以用戶在A數(shù)據(jù)源內(nèi)寫入一條主鍵值為X的數(shù)據(jù)為例,說明同步任務(wù)的整個(gè)流程。其中A數(shù)據(jù)源與B數(shù)據(jù)源內(nèi)數(shù)據(jù)基表名稱為testTable,控制表為CTRLTABLE。

        (1)A數(shù)據(jù)源:在A數(shù)據(jù)源上主要完成數(shù)據(jù)基表的更新與形成操作SQL語句,由以下四步完成。

        ①寫入數(shù)據(jù)基表。將本次要寫入的數(shù)據(jù)首先寫入數(shù)據(jù)基表,只有寫入成功才能觸發(fā)INSERT事件觸發(fā)器,觸發(fā)器觸發(fā)后,將在控制表CTRLTABLE寫入一條數(shù)據(jù),TableName為“testTable”,F(xiàn)iledKey為X,OperateType為“INSERT”。

        ②讀取控制表內(nèi)數(shù)據(jù)。使用select語句在控制表CTRLTABLE內(nèi)讀取數(shù)據(jù),條件為IsSync=0,IsSync為0表示本條數(shù)據(jù)未被同步。

        ③讀取數(shù)據(jù)基表內(nèi)數(shù)據(jù)。使用select語句在數(shù)據(jù)基表testTable內(nèi)讀取一條數(shù)據(jù),條件是關(guān)鍵字為X。

        ④組成一條SQL語句。根據(jù)控制表內(nèi)數(shù)據(jù)與數(shù)據(jù)基表內(nèi)數(shù)據(jù)形成一條操作語句,由于控制表的OperateType為“INSERT”,因此本條SQL語句為一條insert語句。

        (2)B數(shù)據(jù)源:在B數(shù)據(jù)源上主要完成基礎(chǔ)表的更新與處理數(shù)據(jù)振蕩問題。

        ①執(zhí)行該SQL語句。在B數(shù)據(jù)源上執(zhí)行一條SQL語句。

        ②修改控制表內(nèi)數(shù)據(jù)。本步解決數(shù)據(jù)振蕩問題,在B數(shù)據(jù)源的控制表CTRLTABLE中使用select語句查找關(guān)鍵字為X的一條數(shù)據(jù),并且將該數(shù)據(jù)的IsSync設(shè)置為1,即該條數(shù)據(jù)變更不需要進(jìn)行同步。

        經(jīng)過以上過程即完成一次數(shù)據(jù)同步,由于A數(shù)據(jù)源與B數(shù)據(jù)源上均配置觸發(fā)器與控制表,因此數(shù)據(jù)從B數(shù)據(jù)源到A數(shù)據(jù)源是完全相同的過程。

        4.3? ?應(yīng)用與驗(yàn)證

        該系統(tǒng)已經(jīng)成功應(yīng)用在某艦船系統(tǒng)中,該艦船系統(tǒng)的軟件環(huán)境如表6所示。

        系統(tǒng)驗(yàn)證分為兩個(gè)階段。第一個(gè)階段是船體離岸各設(shè)備加電運(yùn)行階段,此時(shí)數(shù)據(jù)故障信息首先保存在達(dá)夢(mèng)數(shù)據(jù)庫中,通過本文所設(shè)計(jì)的系統(tǒng)同步到Oracle數(shù)據(jù)庫中。第二個(gè)階段是船體靠岸后,用戶分別從Oracle與達(dá)夢(mèng)數(shù)據(jù)庫中查找數(shù)據(jù),經(jīng)過對(duì)比發(fā)現(xiàn)兩個(gè)數(shù)據(jù)庫的數(shù)據(jù)完全一致。

        實(shí)際應(yīng)用結(jié)果表明,采用本文所設(shè)計(jì)的系統(tǒng),對(duì)Oracle、達(dá)夢(mèng)數(shù)據(jù)同步效果較好,達(dá)到預(yù)期效果。

        5? ?結(jié)論(Conclusion)

        當(dāng)前異構(gòu)數(shù)據(jù)庫之間的數(shù)據(jù)同步已經(jīng)成為數(shù)據(jù)庫領(lǐng)域研究的重要方向。本文在現(xiàn)有成熟數(shù)據(jù)庫產(chǎn)品的基礎(chǔ)上,分析解決了數(shù)據(jù)類型差異、數(shù)據(jù)捕獲策略、同步振蕩等數(shù)據(jù)同步中的關(guān)鍵問題,設(shè)計(jì)實(shí)現(xiàn)了一種基于QT框架的異構(gòu)數(shù)據(jù)庫同步系統(tǒng)。通過將該系統(tǒng)在某艦船系統(tǒng)進(jìn)行應(yīng)用與驗(yàn)證,結(jié)果表明本文所設(shè)計(jì)的異構(gòu)數(shù)據(jù)庫同步系統(tǒng)可以很好地解決異構(gòu)數(shù)據(jù)庫數(shù)據(jù)同步問題,具有較好的適用性。

        參考文獻(xiàn)(References)

        [1] 陸葉杉.系統(tǒng)數(shù)據(jù)遷移常見問題及案例分析[J].計(jì)算機(jī)科學(xué),2019,46(6A):412-416.

        [2] 王亞蘭.分布式異構(gòu)數(shù)據(jù)庫集成與透明訪問的研究與實(shí)現(xiàn)[D].四川:西南交通大學(xué),2013.

        [3] 劉娟娟,劉帥.數(shù)據(jù)庫同步技術(shù)的研究與實(shí)現(xiàn)[J].軟件工程,2017,20(01):1-4.

        [4] 楊剛,陳健美,宋余慶,等.嵌入式設(shè)備與網(wǎng)絡(luò)數(shù)據(jù)庫交互的中間件設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(11):3878-3882.

        [5] 田淼.分布式異構(gòu)數(shù)據(jù)庫同步中間件的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2012:15-16.

        [6] 曹群英.分布式空間數(shù)據(jù)庫同步更新技術(shù)的研究與應(yīng)用[J].科技創(chuàng)新與生產(chǎn)力,2017(04):66-69.

        [7] 張振友,孫燕.分布式異構(gòu)數(shù)據(jù)庫同步技術(shù)研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù):學(xué)術(shù)交流,2015,11(28):16-19.

        [8] 楊維,朱克,韓維,等.基于95598異地雙活架構(gòu)的數(shù)據(jù)庫同步系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2019,000(23):161-162.

        [9] Wang Y B, Rao X R, Pan H E. Incremental database synchronization update mechanism under heterogeneous environment[J]. Computer Engineering & Design, 2011, 32(3):948-951.

        作者簡(jiǎn)介:

        張記強(qiáng)(1988-),男,碩士,工程師.研究領(lǐng)域:數(shù)據(jù)庫,軟件工程.

        王? ?仁(1984-),男,碩士,高級(jí)工程師.研究領(lǐng)域:數(shù)據(jù)庫存儲(chǔ),圖形圖像處理.

        蔣欣欣(1989-),女,碩士,工程師.研究領(lǐng)域:嵌入式軟件.

        李明磊(1991-),男,碩士,工程師.研究領(lǐng)域:圖形圖像處理,信息檢索.

        猜你喜歡
        觸發(fā)器
        一種功能可配置的可逆觸發(fā)器設(shè)計(jì)
        Multisim13仿真軟件在觸發(fā)器中的應(yīng)用分析
        淺談時(shí)序邏輯電路的成長(zhǎng)記憶
        石河子科技(2021年3期)2021-05-31 07:53:50
        觸發(fā)器在酒店管理系統(tǒng)中的應(yīng)用
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        使用觸發(fā)器,強(qiáng)化安全性
        D觸發(fā)器的典型應(yīng)用電路及其仿真分析
        幾種常見觸發(fā)器工作方式的討論
        科技傳播(2012年12期)2012-07-05 06:06:22
        對(duì)觸發(fā)器邏輯功能轉(zhuǎn)換的分析
        觸發(fā)器邏輯功能轉(zhuǎn)換的兩種方法
        亚洲麻豆av一区二区| 蜜桃av噜噜一区二区三区| 色欲国产精品一区成人精品| 亚洲av偷拍一区二区三区| 国产视频激情在线观看| 山外人精品影院| 亚洲另类激情综合偷自拍图| 免费人人av看| 人妖在线一区二区三区| 亚洲欧美中文字幕5发布| 欧美午夜精品久久久久久浪潮| 国产极品美女到高潮视频| 国产精品毛片av毛片一区二区| 在线播放免费人成毛片乱码| 国模无码视频一区| 99在线无码精品秘 人口| 国产在线精品成人一区二区三区| 中文字幕网伦射乱中文| 精品欧美一区二区在线观看| 一区二区av日韩免费| 白白色发布免费手机在线视频观看| 女人被狂躁c到高潮| 欧美日韩国产色综合一二三四| 国产成人激情视频在线观看| 中出人妻希奇杰卡西av| 午夜精品久久久久久| 亚洲高潮喷水中文字幕| 国产一区二区三区中出| 中国美女a级毛片| 天美麻花果冻视频大全英文版| 亚洲免费观看一区二区三区| 手机av在线中文字幕| 亚洲av成人中文无码专区| 91短视频在线观看免费| 国产丝袜一区丝袜高跟美腿| 亚洲欧美一区二区成人片| 亚洲精品免费专区| 粗大挺进孕妇人妻在线| 野花香社区在线视频观看播放 | 亚洲人成网站免费播放| 国产一级一片内射在线|