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

異構(gòu)數(shù)據(jù)庫(kù)的同步方法和應(yīng)用系統(tǒng)的制作方法_2

文檔序號(hào):8258546閱讀:來(lái)源:國(guó)知局
識(shí)信息中的其它標(biāo)識(shí)信息,也即只保留該主鍵值的 數(shù)據(jù)的最終變化狀態(tài)。該操作還可以簡(jiǎn)化向同步解析器發(fā)送的變化數(shù)據(jù)。
[0035] 可選的,針對(duì)變化類型值為插入類型值或更新類型值的數(shù)據(jù)來(lái)說(shuō),有可能其已經(jīng) 被刪除。
[0036] 因此,同步處理器在生成變化數(shù)據(jù)之前,還可以根據(jù)同步變化表中的主鍵值去源 數(shù)據(jù)表中再次確認(rèn)一下,以保證數(shù)據(jù)處理的準(zhǔn)確性。
[0037] 具體地,同步處理器根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類型值生成變 化數(shù)據(jù)之前,還可以包括 :
[0038]同步處理器根據(jù)主鍵值從源數(shù)據(jù)表中查找數(shù)據(jù)是否存在;
[0039] 若存在,則同步處理器讀取數(shù)據(jù)完整信息,所述數(shù)據(jù)完整信息包括字段名、字段值 和數(shù)據(jù)類型;
[0040] 相應(yīng)的,同步處理器根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類型值生成變 化數(shù)據(jù),可以具體為:
[0041]同步處理器根據(jù)數(shù)據(jù)完整信息、表名、主鍵值和變化類型值生成變化數(shù)據(jù);
[0042] 若再次確認(rèn)發(fā)現(xiàn),變化類型值為插入類型值或更新類型值的數(shù)據(jù)并不存在于源數(shù) 據(jù)表中,則同步處理器根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類型值生成變化數(shù)據(jù), 可以具體為:
[0043] 同步處理器將變化類型值修改為刪除類型值;
[0044] 同步處理器根據(jù)表名、主鍵值和刪除類型值生成變化數(shù)據(jù)。
[0045] 經(jīng)過(guò)上述過(guò)程得到變化數(shù)據(jù)后,同步處理器即可采用預(yù)設(shè)的封裝格式將該變化數(shù) 據(jù)封裝為數(shù)據(jù)流,并通過(guò)傳輸器發(fā)送給同步解析器。舉例來(lái)說(shuō),同步處理器可以采用可擴(kuò)展 標(biāo)記語(yǔ)言(ExtensibleMarkupLanguage,以下簡(jiǎn)稱:XML)將變化數(shù)據(jù)封裝為數(shù)據(jù)流。 [0046] 同步解析器接收同步處理器發(fā)送的數(shù)據(jù)流,采用與同步解析器所采用的相同的預(yù) 設(shè)的封裝格式對(duì)該數(shù)據(jù)流解封裝得到變化數(shù)據(jù)。例如同樣采用XML對(duì)所述數(shù)據(jù)流解封裝得 到所述變化數(shù)據(jù)。
[0047] 然后,同步解析器可以根據(jù)預(yù)設(shè)的映射文件將變化數(shù)據(jù)映射為該目標(biāo)數(shù)據(jù)庫(kù)中的 目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),并根據(jù)變化數(shù)據(jù)中的變化類型值進(jìn)行目標(biāo)數(shù)據(jù)庫(kù)中目標(biāo)數(shù)據(jù)表的 數(shù)據(jù)同步。
[0048] 一般來(lái)說(shuō),異構(gòu)數(shù)據(jù)庫(kù)之間的不同之處在于表名、字段名和數(shù)據(jù)類型不一致,因 此,本實(shí)施例中的預(yù)設(shè)的映射文件中可以包括:源數(shù)據(jù)表與目標(biāo)數(shù)據(jù)表之間的表名、字段名 和數(shù)據(jù)類型之間的對(duì)應(yīng)關(guān)系,從而可以將源數(shù)據(jù)庫(kù)中的數(shù)據(jù)格式映射為目標(biāo)數(shù)據(jù)庫(kù)中的數(shù) 據(jù)格式以進(jìn)行數(shù)據(jù)同步。
[0049] 具體來(lái)說(shuō),該映射文件,例如可以采用初始化(以下簡(jiǎn)稱:INI)文件,該映射文件可 以包括:源數(shù)據(jù)表的表名與目標(biāo)數(shù)據(jù)表的表名之間的第一映射關(guān)系、源數(shù)據(jù)表中的字段名 和數(shù)據(jù)類型與目標(biāo)數(shù)據(jù)表中的字段名和數(shù)據(jù)類型之間的第二映射關(guān)系;
[0050] 相應(yīng)的,同步解析器根據(jù)預(yù)設(shè)的映射文件將所述變化數(shù)據(jù)映射為所述目標(biāo)數(shù)據(jù)庫(kù) 中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),可以具體為:
[0051] 同步解析器采用所述第一映射關(guān)系,將變化數(shù)據(jù)中包括的表名映射為目標(biāo)數(shù)據(jù)表 的表名;
[0052]同步解析器采用第二映射關(guān)系,將變化數(shù)據(jù)中包括的字段名映射為目標(biāo)數(shù)據(jù)表中 的字段名,并將變化數(shù)據(jù)中包括的字段值的數(shù)據(jù)類型映射為目標(biāo)數(shù)據(jù)表中的字段值的數(shù)據(jù) 類型。
[0053] 進(jìn)而,同步解析器根據(jù)變化數(shù)據(jù)中的變化類型值進(jìn)行目標(biāo)數(shù)據(jù)庫(kù)中目標(biāo)數(shù)據(jù)表的 數(shù)據(jù)同步,可以具體為:
[0054] 同步解析器從變化數(shù)據(jù)中提取變化類型值,根據(jù)變化數(shù)據(jù)中包含的主鍵值在目標(biāo) 數(shù)據(jù)表中查找是否存在數(shù)據(jù),并根據(jù)查找結(jié)果和變化類型值進(jìn)行數(shù)據(jù)同步。
[0055] 可選的,針對(duì)變化類型值為刪除類型值的數(shù)據(jù)來(lái)說(shuō),由于需要對(duì)目標(biāo)數(shù)據(jù)庫(kù)中的 已有數(shù)據(jù)進(jìn)行操作。
[0056] 因此,若目標(biāo)數(shù)據(jù)庫(kù)中并不存在對(duì)應(yīng)的數(shù)據(jù),則進(jìn)行刪除操作將出現(xiàn)操作錯(cuò)誤的 問(wèn)題,因此,針對(duì)變化類型值為刪除類型值的數(shù)據(jù),所述同步解析器根據(jù)查找結(jié)果和所述變 化類型值進(jìn)行數(shù)據(jù)同步,可以具體為:
[0057] 若查找結(jié)果為不存在,則同步解析器放棄本次數(shù)據(jù)同步;
[0058] 若查找結(jié)果為存在,則同步解析器將字段值組織為結(jié)構(gòu)化查詢語(yǔ)言(Structured QueryLanguage,以下簡(jiǎn)稱:SQL)執(zhí)行數(shù)據(jù)同步;
[0059] 針對(duì)變化類型值為插入類型值或更新類型值的數(shù)據(jù)來(lái)說(shuō),如果目標(biāo)數(shù)據(jù)庫(kù)中對(duì)應(yīng) 位置已經(jīng)存在數(shù)據(jù),則無(wú)法進(jìn)行數(shù)據(jù)插入,否則會(huì)出現(xiàn)操作錯(cuò)誤的問(wèn)題,因此,若變化類型 值為插入類型值或更新類型值,則所述同步解析器根據(jù)查找結(jié)果和所述變化類型值進(jìn)行數(shù) 據(jù)同步,可以具體為:
[0060] 若查找結(jié)果為不存在,則同步解析器將字段值組織為SQL執(zhí)行數(shù)據(jù)插入同步;
[0061] 若查找結(jié)果為存在,則同步解析器將字段值組織為SQL執(zhí)行數(shù)據(jù)更新同步。
[0062] 在完成上述的數(shù)據(jù)同步之后,同步解析器可以通過(guò)傳輸器向同步處理器發(fā)送同步 結(jié)果通知消息;
[0063] 相應(yīng)的,同步處理器接收所述同步結(jié)果通知消息,并根據(jù)該同步結(jié)果通知消息將 同步成功的標(biāo)識(shí)信息從同步變化表中刪除,而未同步成功的標(biāo)識(shí)信息則可以得以保留,在 下一個(gè)輪詢周期可以再次被處理,以保證數(shù)據(jù)同步的準(zhǔn)確性。
[0064] 本實(shí)施例,無(wú)需對(duì)異構(gòu)的源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)進(jìn)行任何改變,而只需要在源數(shù) 據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)之間部署同步處理器、傳輸器以及同步解析器。部署在源數(shù)據(jù)庫(kù)側(cè)的同 步處理器可以周期性地輪詢同步變化表中記錄的變化數(shù)據(jù),且該變化數(shù)據(jù)中包含有異構(gòu)的 目標(biāo)數(shù)據(jù)庫(kù)在進(jìn)行數(shù)據(jù)同步時(shí)所需的表名、主鍵值和變化類型值,然后,同步處理器可以將 變化數(shù)據(jù)封裝成數(shù)據(jù)流發(fā)送給部署在目標(biāo)數(shù)據(jù)庫(kù)側(cè)的同步解析器。同步解析器可以預(yù)存一 映射文件,該映射文件可以描述源數(shù)據(jù)表和目標(biāo)數(shù)據(jù)表之間數(shù)據(jù)結(jié)構(gòu)差異的對(duì)應(yīng)關(guān)系,因 此,該同步解析器在對(duì)該數(shù)據(jù)流進(jìn)行解封裝之后,可以根據(jù)預(yù)設(shè)的映射文件將源數(shù)據(jù)表中 的變化數(shù)據(jù)映射為目標(biāo)數(shù)據(jù)庫(kù)中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),并根據(jù)變化數(shù)據(jù)中的變化類型 值進(jìn)行目標(biāo)數(shù)據(jù)表的數(shù)據(jù)同步,進(jìn)而可以完成異構(gòu)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步。本實(shí)施例,無(wú)需 對(duì)現(xiàn)有異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行改變,只需要在同步解析器上部署不同的映射文件即可實(shí)現(xiàn)異構(gòu)數(shù) 據(jù)庫(kù)之間的數(shù)據(jù)同步,實(shí)現(xiàn)簡(jiǎn)單,且易于擴(kuò)展。
[0065] 圖2為本發(fā)明異構(gòu)數(shù)據(jù)庫(kù)的同步方法實(shí)施例二的流程圖,如圖2所示,本實(shí)施例采 用一個(gè)具體的實(shí)施例進(jìn)行技術(shù)方案的描述。
[0066] 假設(shè)源數(shù)據(jù)庫(kù)類型是SQLSERVER,源數(shù)據(jù)表為用戶表userlnfo,該userlnfo表結(jié) 構(gòu)如表1所示:
[0067]表1
[0068]
【主權(quán)項(xiàng)】
1. 一種異構(gòu)數(shù)據(jù)庫(kù)的同步方法,其特征在于,包括: 同步處理器在確定源數(shù)據(jù)庫(kù)的源數(shù)據(jù)表中發(fā)生數(shù)據(jù)變化時(shí),將所述源數(shù)據(jù)表中發(fā)生變 化的數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在同步變化表中,所述標(biāo)識(shí)信息至少包括所述源數(shù)據(jù)表的表名、 變化數(shù)據(jù)在所述源數(shù)據(jù)表中的主鍵值、變化類型值、變化時(shí)間; 同步處理器在輪詢周期到達(dá)時(shí),根據(jù)所述同步變化表中的變化時(shí)間從所述同步變化表 中獲取當(dāng)前時(shí)間之前的標(biāo)識(shí)信息,并根據(jù)獲取的標(biāo)識(shí)信息中的表名、主鍵值和變化類型值 生成變化數(shù)據(jù); 傳輸器采用預(yù)設(shè)的封裝格式將所述變化數(shù)據(jù)封裝為數(shù)據(jù)流,并發(fā)送給同步解析器; 所述同步解析器接收所述同步處理器通過(guò)所述傳輸器發(fā)送的數(shù)據(jù)流,采用所述預(yù)設(shè)的 封裝格式對(duì)所述數(shù)據(jù)流解封裝得到所述變化數(shù)據(jù),根據(jù)預(yù)設(shè)的映射文件將所述變化數(shù)據(jù)映 射為目標(biāo)數(shù)據(jù)庫(kù)中的目標(biāo)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu),并根據(jù)所述變化數(shù)據(jù)中的變化類型值進(jìn)行目 標(biāo)數(shù)據(jù)庫(kù)中目標(biāo)數(shù)據(jù)表的數(shù)據(jù)同步。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步處理器在確定源數(shù)據(jù)表中發(fā)生 數(shù)據(jù)變化時(shí),將所述源數(shù)據(jù)表中發(fā)生變化的數(shù)據(jù)的標(biāo)識(shí)信息存儲(chǔ)在同步變化表中之前,還 包括: 數(shù)據(jù)變化觸發(fā)器捕獲所述源數(shù)據(jù)表中發(fā)生變化的數(shù)據(jù),所述數(shù)據(jù)變化觸發(fā)器包括插入 觸發(fā)器、刪除觸發(fā)器和更新觸發(fā)器。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述同步處理器根據(jù)獲取的標(biāo)識(shí)信息中 的表名、主鍵值和變化類型值生成變化數(shù)據(jù)之前,還包括: 所述同步處理器按照變化時(shí)間的先后順序,對(duì)所述
當(dāng)前第2頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
张家口市| 曲周县| 高平市| 蕉岭县| 金堂县| 寻甸| 安义县| 武邑县| 宁陵县| 宜川县| 和田市| 贵德县| 澎湖县| 金塔县| 墨玉县| 含山县| 巫山县| 武威市| 紫金县| 分宜县| 景泰县| 靖西县| 泽州县| 许昌市| 拜泉县| 沁阳市| 怀仁县| 隆子县| 福鼎市| 临江市| 佛学| 江西省| 广平县| 布尔津县| 新竹市| 河东区| 根河市| 和龙市| 杭州市| 昌江| 蒲江县|