一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法
【專利摘要】本發(fā)明公開(kāi)了一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,通過(guò)數(shù)據(jù)的移動(dòng)和同步特性對(duì)移動(dòng)應(yīng)用數(shù)據(jù)進(jìn)行分類,分別制定不同的數(shù)據(jù)同步?jīng)_突預(yù)處理策略,能夠?qū)_突進(jìn)行提前預(yù)判和有效規(guī)避;沖突檢測(cè)和沖突消解通過(guò)創(chuàng)建中間表作為媒介,這種面向中間表的沖突檢測(cè)機(jī)制,不僅具有效率高的優(yōu)點(diǎn),而且避免沖突數(shù)據(jù)直接同步到業(yè)務(wù)數(shù)據(jù)表中;沖突消解算法,以存儲(chǔ)過(guò)程和函數(shù)實(shí)現(xiàn),并采用特殊隊(duì)列和多線程并發(fā)控制模型,在中間表中實(shí)現(xiàn)沖突消解,中間表與業(yè)務(wù)數(shù)據(jù)表之間僅進(jìn)行數(shù)據(jù)移動(dòng),起到分擔(dān)業(yè)務(wù)系統(tǒng)負(fù)載的作用,解決了國(guó)內(nèi)外同類方案未能解決的業(yè)務(wù)高峰期大數(shù)據(jù)量、高并發(fā)引起的業(yè)務(wù)系統(tǒng)性能瓶頸問(wèn)題,保證了業(yè)務(wù)系統(tǒng)的快速響應(yīng)能力和穩(wěn)定性。
【專利說(shuō)明】一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,屬于移動(dòng)應(yīng) 用【技術(shù)領(lǐng)域】。
【背景技術(shù)】
[0002] 隨著無(wú)線通信技術(shù)發(fā)展和手持便攜智能終端的普及應(yīng)用,移動(dòng)信息化逐漸成為了 每個(gè)行業(yè)的核心,新的移動(dòng)技術(shù)、應(yīng)用和服務(wù)帶來(lái)了令人興奮的業(yè)務(wù)增長(zhǎng)機(jī)遇。企業(yè)移動(dòng)信 息化已形成四個(gè)重大的發(fā)展趨勢(shì):傳統(tǒng)有線應(yīng)用向移動(dòng)應(yīng)用遷移、移動(dòng)應(yīng)用大規(guī)模普及、技 術(shù)發(fā)展多樣化、移動(dòng)應(yīng)用獨(dú)立發(fā)展。
[0003] 移動(dòng)作業(yè)有在線模式、純離線模式和"在線+離線"混合模式,由于移動(dòng)計(jì)算環(huán)境 具有低帶寬、長(zhǎng)延遲和間歇性連接等特性,在移動(dòng)業(yè)務(wù)應(yīng)用中,這些作業(yè)模式在數(shù)據(jù)緩存和 更新、雙向數(shù)據(jù)交換、訪問(wèn)隊(duì)列和間歇性連接等操作時(shí)均容易導(dǎo)致數(shù)據(jù)的不一致性沖突,為 確保移動(dòng)終端與后端業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)一致性,都涉及到移動(dòng)終端與后端業(yè)務(wù)系統(tǒng)間的 數(shù)據(jù)同步和沖突處理,因此,移動(dòng)數(shù)據(jù)同步的沖突預(yù)處理與檢測(cè)消解是移動(dòng)應(yīng)用中關(guān)鍵而 又復(fù)雜的技術(shù)難點(diǎn)。
[0004] 目前移動(dòng)數(shù)據(jù)同步主要分為文件拷貝和基于網(wǎng)絡(luò)通信的數(shù)據(jù)同步兩種方式:文 件拷貝同步方式以文件作為同步處理單元,以拷貝方式實(shí)現(xiàn)數(shù)據(jù)同步,可通過(guò)Windows ActiveSync等專用的同步軟件,但存在操作不方便、同步軟件封閉、沒(méi)有考慮事務(wù)概念等缺 點(diǎn),因此難以實(shí)現(xiàn)細(xì)粒度的沖突檢測(cè)和數(shù)據(jù)回滾;基于網(wǎng)絡(luò)通信的數(shù)據(jù)同步主要存在以Web Service和以移動(dòng)終端嵌入式數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)同步兩類技術(shù)路線,以Web Service實(shí)現(xiàn)數(shù) 據(jù)同步技術(shù)通過(guò)網(wǎng)絡(luò)調(diào)用遠(yuǎn)程服務(wù)器的Web Service接口實(shí)現(xiàn)數(shù)據(jù)下載與上傳,此技術(shù)路 線實(shí)現(xiàn)成本低,但由于是實(shí)時(shí)在線數(shù)據(jù)同步模式,對(duì)網(wǎng)絡(luò)的穩(wěn)定性、可靠性要求較高,且在 大數(shù)據(jù)量傳輸時(shí)網(wǎng)絡(luò)延時(shí)比較明顯,易加重后端業(yè)務(wù)系統(tǒng)負(fù)荷,缺乏相應(yīng)的沖突預(yù)處理和 消解機(jī)制。以移動(dòng)終端嵌入式數(shù)據(jù)庫(kù)實(shí)現(xiàn)數(shù)據(jù)同步技術(shù)采用TCP連接、二進(jìn)制數(shù)據(jù)流方式 完成數(shù)據(jù)的高效同步,提出了一些事務(wù)級(jí)數(shù)據(jù)同步模型和算法、沖突規(guī)避機(jī)制,以及多版本 沖突消解技術(shù)等,這類產(chǎn)品以Sybase、IBM DB2為代表。總體而言,基于嵌入式數(shù)據(jù)庫(kù)同步 方式的數(shù)據(jù)格式具有封閉性,需要根據(jù)業(yè)務(wù)特征定制沖突處理及消解函數(shù),降低了通用性 和適應(yīng)性,最大瓶頸在于對(duì)后臺(tái)數(shù)據(jù)庫(kù)的實(shí)時(shí)訪問(wèn)而導(dǎo)致并發(fā)性能低對(duì)數(shù)據(jù)庫(kù)產(chǎn)生很大的 壓力,高峰時(shí)段頻繁出現(xiàn)后臺(tái)或中介數(shù)據(jù)庫(kù)無(wú)響應(yīng)的情況;并且對(duì)沖突檢測(cè)和消解之前如 何進(jìn)行有效的沖突規(guī)避的機(jī)制研究甚少。
【發(fā)明內(nèi)容】
[0005] 為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處 理與消解方法。
[0006] 為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是:
[0007] -種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,包括以下步驟,
[0008] 步驟一,生成增量數(shù)據(jù)包,并通過(guò)數(shù)據(jù)同步服務(wù)上傳至移動(dòng)應(yīng)用服務(wù)器;
[0009] 步驟二,通過(guò)數(shù)據(jù)同步?jīng)_突預(yù)處理,對(duì)涉及移動(dòng)和同步的增量數(shù)據(jù)創(chuàng)建中間表;對(duì) 沒(méi)有涉及移動(dòng)和同步的增量數(shù)據(jù),依據(jù)同步規(guī)則將數(shù)據(jù)回填至后端業(yè)務(wù)系統(tǒng);
[0010] 步驟三,對(duì)中間表中的增量數(shù)據(jù)進(jìn)行沖突檢測(cè),獲得沖突增量數(shù)據(jù);
[0011] 步驟四,采用沖突消解算法對(duì)沖突增量數(shù)據(jù)進(jìn)行消解;
[0012] 步驟五,將中間表中消解后的增量數(shù)據(jù)移動(dòng)至后端業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)表中。
[0013] 所述數(shù)據(jù)同步?jīng)_突預(yù)處理過(guò)程為,首先按照數(shù)據(jù)貯存位置、主要用途和同步移動(dòng) 特性,將移動(dòng)應(yīng)用的數(shù)據(jù)分為移動(dòng)中間件基礎(chǔ)數(shù)據(jù)、技術(shù)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),其中移動(dòng)中間件 基礎(chǔ)數(shù)據(jù)和技術(shù)數(shù)據(jù)主要貯存在不同的移動(dòng)控制組件中,不需要同步和移動(dòng);業(yè)務(wù)數(shù)據(jù)貯 存在移動(dòng)終端、后端業(yè)務(wù)相同及移動(dòng)數(shù)據(jù)同步中間件中,用于支撐移動(dòng)業(yè)務(wù)流轉(zhuǎn),需要進(jìn)行 數(shù)據(jù)同步與移動(dòng),然后對(duì)涉及移動(dòng)和同步的增量數(shù)據(jù)創(chuàng)建中間表,最后按預(yù)處理策略添加 到中間表。
[0014] 所述預(yù)處理策略為,
[0015] A)針對(duì)
【權(quán)利要求】
1. 一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其特征在于:包括以下步 驟, 步驟一,生成增量數(shù)據(jù)包,并通過(guò)數(shù)據(jù)同步服務(wù)上傳至移動(dòng)應(yīng)用服務(wù)器; 步驟二,通過(guò)數(shù)據(jù)同步?jīng)_突預(yù)處理,對(duì)涉及移動(dòng)和同步的增量數(shù)據(jù)創(chuàng)建中間表;對(duì)沒(méi)有 涉及移動(dòng)和同步的增量數(shù)據(jù),依據(jù)同步規(guī)則將數(shù)據(jù)回填至后端業(yè)務(wù)系統(tǒng); 步驟三,對(duì)中間表中的增量數(shù)據(jù)進(jìn)行沖突檢測(cè),獲得沖突增量數(shù)據(jù); 步驟四,采用沖突消解算法對(duì)沖突增量數(shù)據(jù)進(jìn)行消解; 步驟五,將中間表中消解后的增量數(shù)據(jù)移動(dòng)至后端業(yè)務(wù)系統(tǒng)的業(yè)務(wù)數(shù)據(jù)表中。
2. 根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其 特征在于:所述數(shù)據(jù)同步?jīng)_突預(yù)處理過(guò)程為,首先按照數(shù)據(jù)貯存位置、主要用途和同步移動(dòng) 特性,將移動(dòng)應(yīng)用的數(shù)據(jù)分為移動(dòng)中間件基礎(chǔ)數(shù)據(jù)、技術(shù)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),其中移動(dòng)中間件 基礎(chǔ)數(shù)據(jù)和技術(shù)數(shù)據(jù)主要貯存在不同的移動(dòng)控制組件中,不需要同步和移動(dòng);業(yè)務(wù)數(shù)據(jù)貯 存在移動(dòng)終端、后端業(yè)務(wù)相同及移動(dòng)數(shù)據(jù)同步中間件中,用于支撐移動(dòng)業(yè)務(wù)流轉(zhuǎn),需要進(jìn)行 數(shù)據(jù)同步與移動(dòng),然后對(duì)涉及移動(dòng)和同步的增量數(shù)據(jù)創(chuàng)建中間表,最后按預(yù)處理策略添加 到中間表。
3. 根據(jù)權(quán)利要求2所述的一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其 特征在于:所述預(yù)處理策略為, A) 針對(duì)五f和五=實(shí)體,按照數(shù)據(jù)同步規(guī)則的新增業(yè)務(wù)實(shí)體SQL語(yǔ)句,將 實(shí)體添力_中間表; B) 針對(duì)五實(shí)體,按照數(shù)據(jù)同步規(guī)則的刪除業(yè)務(wù)實(shí)體SQL語(yǔ)句,直接應(yīng)用于業(yè)務(wù)系統(tǒng) 數(shù)據(jù)庫(kù)完成數(shù)據(jù)刪除; 上述、五f'和五分別表示移動(dòng)終端在實(shí)體匕上的新增、更新和刪除三種操 作類型; Ex的表達(dá)式>
其中,集合E表示一類業(yè)務(wù)實(shí)體,元素 Ex e E為實(shí)體類的一個(gè)實(shí)例化;集合F表示一組業(yè)務(wù)實(shí)體的屬性,元素 Fy e F為一個(gè)屬性 名稱,F(xiàn)。為固有屬性名稱,為實(shí)體的唯一標(biāo)識(shí);集合V表不一組屬性值,兀素 V(x, y) e V,表 示實(shí)體Ex的屬性Fy上的值,V (x,0)為主鍵的值,記為PK (x);所述x e [〇, n],y e [〇, n], n為正整數(shù)。
4. 根據(jù)權(quán)利要求2所述的一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其 特征在于:所述增量數(shù)據(jù)中的非結(jié)構(gòu)化數(shù)據(jù)以結(jié)構(gòu)化的方式進(jìn)行存儲(chǔ)。
5. 根據(jù)權(quán)利要求2所述的一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其 特征在于:所述中間表的屬性名稱以及數(shù)據(jù)類型均與業(yè)務(wù)數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)一致;所述中 間表屬性在業(yè)務(wù)數(shù)據(jù)表屬性的基礎(chǔ)上增加了 "數(shù)據(jù)包任務(wù)ID"、"數(shù)據(jù)實(shí)例ID"、"數(shù)據(jù)執(zhí)行 用戶"、"數(shù)據(jù)操作模式"及邏輯主鍵;所述中間表的關(guān)聯(lián)關(guān)系和約束條件均與業(yè)務(wù)數(shù)據(jù)表相 同。
6. 根據(jù)權(quán)利要求5所述的一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其 特征在于:所述沖突檢測(cè)過(guò)程為,以"數(shù)據(jù)包任務(wù)ID"和"數(shù)據(jù)實(shí)體ID"標(biāo)識(shí)作為沖突檢測(cè) 判斷條依據(jù),如果存在兩條或兩條以上記錄,即發(fā)生數(shù)據(jù)沖突。
7. 根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)包的移動(dòng)數(shù)據(jù)同步?jīng)_突預(yù)處理與消解方法,其 特征在于:采用沖突消解算法對(duì)沖突增量數(shù)據(jù)進(jìn)行消解過(guò)程為,在數(shù)據(jù)庫(kù)側(cè)通過(guò)調(diào)用數(shù)據(jù) 沖突消解存儲(chǔ)過(guò)程和函數(shù)對(duì)沖突數(shù)據(jù)進(jìn)行消解,所述沖突消解算法以用戶一次上傳的增量 數(shù)據(jù)包為單位進(jìn)行消解,算法在業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)通過(guò)存儲(chǔ)過(guò)程和函數(shù)實(shí)現(xiàn),沖突數(shù)據(jù)在同 一數(shù)據(jù)庫(kù)中進(jìn)行消解。
【文檔編號(hào)】H04L29/06GK104253858SQ201410441495
【公開(kāi)日】2014年12月31日 申請(qǐng)日期:2014年9月1日 優(yōu)先權(quán)日:2014年9月1日
【發(fā)明者】王俊, 蔣厚明, 胡牧, 葉文宸, 曹海濤, 羅玉盤, 馮程程, 李學(xué)智 申請(qǐng)人:國(guó)家電網(wǎng)公司, 南京南瑞集團(tuán)公司, 南京南瑞信息通信科技有限公司