專(zhuān)利名稱(chēng):異構(gòu)數(shù)據(jù)源同步方法及其設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種異構(gòu)數(shù)據(jù)源同步方法及其設(shè)備,用于實(shí)現(xiàn)來(lái)自異構(gòu)數(shù)據(jù)源的數(shù)據(jù)的無(wú)縫同步過(guò)程。
背景技術(shù):
移動(dòng)計(jì)算的廣泛應(yīng)用激發(fā)了人們隨時(shí)訪問(wèn)異地信息的需求,隨之產(chǎn)生了異地多版本信息的一致性問(wèn)題。為此需要在移動(dòng)計(jì)算環(huán)境下引入數(shù)據(jù)同步功能,幫助設(shè)備之間交換彼此的修改,并解決可能存在的沖突,以保持各信息版本的一致性。
移動(dòng)設(shè)備和無(wú)線通訊技術(shù)的發(fā)展帶動(dòng)了移動(dòng)計(jì)算環(huán)境的發(fā)展。在移動(dòng)計(jì)算模式下,用戶可以隨時(shí)訪問(wèn)和處理自己需要的數(shù)據(jù)。這些數(shù)據(jù)往往并不在本地,相反可能存儲(chǔ)在另一臺(tái)移動(dòng)設(shè)備也可能存儲(chǔ)在中心服務(wù)器上。同時(shí)因?yàn)橐苿?dòng)網(wǎng)絡(luò)的不穩(wěn)定性和移動(dòng)服務(wù)的費(fèi)用問(wèn)題,用戶經(jīng)常將自己需要的信息下載到本地后離線處理,而不是持續(xù)連接到網(wǎng)絡(luò)上在線操作。這樣必須引入數(shù)據(jù)同步功能,幫助設(shè)備之間交換彼此的修改并解決可能存在的沖突,保持各信息版本的一致性。
為了完成數(shù)據(jù)同步功能,目前已經(jīng)出現(xiàn)了很多同步協(xié)議,但是每一個(gè)同步協(xié)議僅適用于在一個(gè)特定的設(shè)備和數(shù)據(jù)子集上進(jìn)行特定的傳輸和運(yùn)行。這種缺乏單一同步標(biāo)準(zhǔn)的情況給最終用戶、設(shè)備制造商、應(yīng)用程序開(kāi)發(fā)者和設(shè)備提供商制造了很多問(wèn)題。為了解決這樣的問(wèn)題,SyncML協(xié)議應(yīng)運(yùn)而生并且正逐漸成為行業(yè)趨勢(shì)。
例如,SyncML協(xié)議從設(shè)計(jì)開(kāi)始就關(guān)注對(duì)移動(dòng)計(jì)算環(huán)境的適用性,加上通過(guò)定義統(tǒng)一的、基于XML的消息傳輸格式和普遍適用的同步過(guò)程,使其為移動(dòng)計(jì)算環(huán)境下的數(shù)據(jù)同步提供了可能。
SyncML協(xié)議的框架如圖2所示。圖2以客戶端/服務(wù)器模式描述了協(xié)議組成模塊,應(yīng)用A代表同步過(guò)程的服務(wù)器端,應(yīng)用B代表同步過(guò)程的客戶端??蛻舳伺c服務(wù)器端通過(guò)底層網(wǎng)絡(luò)協(xié)議(如HTTP、WSP等)連接??蛻舳送ㄟ^(guò)客戶同步代理訪問(wèn)網(wǎng)絡(luò),通過(guò)代理結(jié)合SyncML接口(SyncML I/F)以及適配器發(fā)消息給服務(wù)器端。服務(wù)器端通過(guò)服務(wù)器同步代理接受或發(fā)送消息,通過(guò)同步引擎(Sync Engine)管理同步過(guò)程,例如用戶數(shù)據(jù)庫(kù)更新和沖突處理。
SyncML協(xié)議實(shí)質(zhì)上是由若干協(xié)議組成,其中核心部分包括表達(dá)協(xié)議和同步協(xié)議。表達(dá)協(xié)議詳細(xì)規(guī)定了同步交互的消息格式。同步協(xié)議規(guī)定客戶端與服務(wù)器端的同步過(guò)程由兩個(gè)階段組成首先進(jìn)行同步初始化階段,然后進(jìn)入具體同步階段。在同步初始化階段,同步的雙方按照表達(dá)協(xié)議規(guī)定的消息格式交換彼此的認(rèn)證信息和設(shè)備能力。如果初始化成功,即可進(jìn)入具體同步階段。在此階段,雙方按照表達(dá)協(xié)議規(guī)定的消息格式交換需要同步的數(shù)據(jù)信息和具體的操作信息(如,添加、刪除和修改操作)。
SyncML協(xié)議作為一種特別為移動(dòng)計(jì)算環(huán)境設(shè)計(jì)的同步協(xié)議,普遍被移動(dòng)設(shè)備廠商和移動(dòng)中間件開(kāi)發(fā)商選擇作為數(shù)據(jù)同步的解決方案。目前,依靠SyncML協(xié)議的同步解決方案集中于同構(gòu)數(shù)據(jù)源之間的同步;同時(shí)面臨的一個(gè)重要問(wèn)題是,同步設(shè)備上存儲(chǔ)的數(shù)據(jù)元結(jié)構(gòu)往往并不相同。這給基于SyncML的同步方案帶來(lái)了挑戰(zhàn)。
因此,需要提出一種異構(gòu)數(shù)據(jù)源同步方法及其設(shè)備,用于實(shí)現(xiàn)來(lái)自異構(gòu)數(shù)據(jù)源的數(shù)據(jù)的無(wú)縫同步過(guò)程。
發(fā)明內(nèi)容
為了解決上述問(wèn)題,提出了本發(fā)明,因此,本發(fā)明的目的是提出一種異構(gòu)數(shù)據(jù)源同步方法及其設(shè)備,用于實(shí)現(xiàn)來(lái)自異構(gòu)數(shù)據(jù)源的數(shù)據(jù)的無(wú)縫同步過(guò)程。
根據(jù)本發(fā)明,提出了一種在發(fā)起方和響應(yīng)方之間實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源同步的方法,包括發(fā)起方將元數(shù)據(jù)信息轉(zhuǎn)化為中間類(lèi)型數(shù)據(jù),并利用傳輸類(lèi)型數(shù)據(jù)向響應(yīng)方發(fā)送;響應(yīng)方接收所述傳輸類(lèi)型數(shù)據(jù)以提取中間類(lèi)型數(shù)據(jù),并根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得發(fā)起方和響應(yīng)方雙方之間的元數(shù)據(jù)映射關(guān)系;以及利用所獲得的元數(shù)據(jù)映射關(guān)系,進(jìn)行所述雙方的數(shù)據(jù)同步處理。
優(yōu)選地,所述根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系的步驟包括進(jìn)一步將所述中間類(lèi)型數(shù)據(jù)轉(zhuǎn)換為元數(shù)據(jù)信息,利用映射規(guī)則,獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系。
優(yōu)選地,所述發(fā)起方是客戶端而所述響應(yīng)方是服務(wù)器端。
優(yōu)選地,所述獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系的步驟包括在所述客戶端屬于能力受限設(shè)備的情況下,在服務(wù)器端存儲(chǔ)已經(jīng)得到的元數(shù)據(jù)映射關(guān)系,并將所述元數(shù)據(jù)映射關(guān)系傳遞到客戶端并存儲(chǔ)在客戶端。
優(yōu)選地,所述獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系的步驟包括在所述客戶端并非能力受限設(shè)備的情況下,僅在服務(wù)器端存儲(chǔ)已經(jīng)得到的元數(shù)據(jù)映射關(guān)系。
優(yōu)選地,所述發(fā)起方是服務(wù)器端而所述響應(yīng)方是客戶端。
優(yōu)選地,利用所獲得的元數(shù)據(jù)映射關(guān)系進(jìn)行雙方的數(shù)據(jù)同步處理的步驟包括利用元數(shù)據(jù)映射關(guān)系,將對(duì)方利用同步協(xié)議發(fā)送來(lái)的同步數(shù)據(jù)轉(zhuǎn)換為本地?cái)?shù)據(jù),以進(jìn)行同步操作。
優(yōu)選地,所述方法基于SyncML協(xié)議。
優(yōu)選地,所述映射規(guī)則是同名映射規(guī)則。
根據(jù)本發(fā)明,還提出了一種用于實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源同步的設(shè)備,包括元數(shù)據(jù)-中間類(lèi)型數(shù)據(jù)轉(zhuǎn)化器,用于執(zhí)行元數(shù)據(jù)與中間類(lèi)型數(shù)據(jù)的相互轉(zhuǎn)化;中間類(lèi)型數(shù)據(jù)-傳輸類(lèi)型數(shù)據(jù)轉(zhuǎn)化器,用于執(zhí)行傳輸類(lèi)型數(shù)據(jù)與中間類(lèi)型數(shù)據(jù)的相互轉(zhuǎn)化;元數(shù)據(jù)映射關(guān)系存儲(chǔ)器,用于存儲(chǔ)元數(shù)據(jù)映射關(guān)系;映射關(guān)系計(jì)算器,用于根據(jù)映射規(guī)則計(jì)算同步雙方的元數(shù)據(jù)映射關(guān)系;同步數(shù)據(jù)轉(zhuǎn)化器,用于利用元數(shù)據(jù)映射關(guān)系轉(zhuǎn)化接收到的同步數(shù)據(jù);以及解析器,用于在建立元數(shù)據(jù)映射關(guān)系的情況下,接收對(duì)方發(fā)送的包括元數(shù)據(jù)信息的所述傳輸類(lèi)型數(shù)據(jù)以提取中間類(lèi)型數(shù)據(jù),并根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得本地和對(duì)方雙方之間的元數(shù)據(jù)映射關(guān)系;用于在執(zhí)行同步數(shù)據(jù)轉(zhuǎn)換的情況下,解析對(duì)方發(fā)來(lái)的同步數(shù)據(jù)和同步操作信息。
優(yōu)選地,所述設(shè)備還包括同步消息生成/接受器,用于生成/接受同步協(xié)議消息;同步引擎,用于執(zhí)行同步操作,同時(shí)解決沖突,并根據(jù)來(lái)自同步數(shù)據(jù)源的數(shù)據(jù),生成同步消息。
通過(guò)參考以下結(jié)合附圖所采用的優(yōu)選實(shí)施例的詳細(xì)描述,本發(fā)明的上述目的、優(yōu)點(diǎn)和特征將變得顯而易見(jiàn),其中圖1是示出了用于實(shí)現(xiàn)本發(fā)明的方法的設(shè)備的結(jié)構(gòu)圖;圖2以客戶端/服務(wù)器模式示出了協(xié)議組成模塊;圖3示出了根據(jù)本發(fā)明的實(shí)施例,在異構(gòu)數(shù)據(jù)源的情況下、服務(wù)器端和客戶端之間的數(shù)據(jù)同步過(guò)程的示意圖;圖4示出了根據(jù)本發(fā)明的實(shí)施例,在異構(gòu)數(shù)據(jù)源的情況下、服務(wù)器端和客戶端之間的元數(shù)據(jù)結(jié)構(gòu)的對(duì)應(yīng)關(guān)系的示意圖;圖5示出了根據(jù)本發(fā)明的實(shí)施例,服務(wù)器端和客戶端之間的異構(gòu)數(shù)據(jù)同步過(guò)程的總體流程圖;圖6示出了在圖5所示的方法步驟中的第一步的詳細(xì)流程圖;圖7示出了在圖5所示的方法步驟中的第二步的詳細(xì)流程圖;圖8示出了在圖5所示的方法步驟中的第三步的詳細(xì)流程圖;具體實(shí)施方式
下面將參考附圖來(lái)描述本發(fā)明的優(yōu)選實(shí)施例。
圖1是示出了用于實(shí)現(xiàn)本發(fā)明的方法的設(shè)備的結(jié)構(gòu)圖。
如圖1所示,所述設(shè)備包括元數(shù)據(jù)-中間類(lèi)型數(shù)據(jù)轉(zhuǎn)化器100,用于完成元數(shù)據(jù)與中間類(lèi)型數(shù)據(jù)的相互轉(zhuǎn)化功能;中間類(lèi)型數(shù)據(jù)-傳輸類(lèi)型數(shù)據(jù)轉(zhuǎn)化器104,用于完成傳輸類(lèi)型數(shù)據(jù)與中間類(lèi)型數(shù)據(jù)的相互轉(zhuǎn)化功能;解析器108,用于解析同步協(xié)議消息,有兩種情況情況1解析對(duì)方發(fā)來(lái)的元數(shù)據(jù)信息(建立元數(shù)據(jù)映射關(guān)系的情況);情況2解析對(duì)方發(fā)來(lái)的同步數(shù)據(jù)和同步操作信息(執(zhí)行同步數(shù)據(jù)轉(zhuǎn)換的情況);同步消息生成/接受器116,用于生成/接受同步協(xié)議消息;映射關(guān)系計(jì)算器102;用于根據(jù)映射規(guī)則計(jì)算同步雙方的元數(shù)據(jù)映射關(guān)系;元數(shù)據(jù)映射關(guān)系存儲(chǔ)器106,用于存儲(chǔ)元數(shù)據(jù)映射關(guān)系的數(shù)據(jù)源;同步數(shù)據(jù)轉(zhuǎn)化器110,用于利用元數(shù)據(jù)映射關(guān)系轉(zhuǎn)化接收到的同步數(shù)據(jù);同步引擎112,用于執(zhí)行同步操作,同時(shí)解決沖突,根據(jù)同步數(shù)據(jù)源的情況生成同步消息。此外,所述設(shè)備接收來(lái)自需要同步的本地?cái)?shù)據(jù)源114的數(shù)據(jù)。
下面將參考圖3來(lái)描述在異構(gòu)數(shù)據(jù)源的情況下,服務(wù)器端和客戶端之間的數(shù)據(jù)同步過(guò)程的示意圖。作為示例,僅示出了由客戶端發(fā)起同步過(guò)程并因而在服務(wù)器端執(zhí)行雙方元數(shù)據(jù)映射的情況。當(dāng)然,本發(fā)明并不局限于此。
如圖3所示,首先,在客戶端按照一定規(guī)則將元數(shù)據(jù)類(lèi)型轉(zhuǎn)換為中間類(lèi)型數(shù)據(jù),并轉(zhuǎn)換為傳輸類(lèi)型的數(shù)據(jù)(在圖中,作為示例,采用SyncML協(xié)議數(shù)據(jù)傳輸類(lèi)型)以便將該數(shù)據(jù)傳送到服務(wù)器端,在服務(wù)器端,服務(wù)器端按照相應(yīng)的規(guī)則提取出中間類(lèi)型數(shù)據(jù),并根據(jù)此中間類(lèi)型數(shù)據(jù)來(lái)建立同步雙方的元數(shù)據(jù)映射關(guān)系,以便將該映射關(guān)系發(fā)送到客戶端,從而在客戶端和服務(wù)器端存儲(chǔ)該映射關(guān)系;此后,根據(jù)此映射關(guān)系,獲得客戶端和服務(wù)器端之間的異構(gòu)數(shù)據(jù)的同步,即同步消息生成和/或接受。
圖4示出了在異構(gòu)數(shù)據(jù)源的情況下,服務(wù)器端和客戶端之間的元數(shù)據(jù)結(jié)構(gòu)的對(duì)應(yīng)關(guān)系的示意圖。如圖4所示,在服務(wù)器端,服務(wù)器端元數(shù)據(jù)結(jié)構(gòu)與恢復(fù)出來(lái)的客戶端元數(shù)據(jù)結(jié)構(gòu)彼此對(duì)應(yīng),而客戶端元數(shù)據(jù)結(jié)構(gòu)與恢復(fù)出來(lái)的服務(wù)器端元數(shù)據(jù)結(jié)構(gòu)彼此對(duì)應(yīng)。
下面將參考圖5來(lái)描述在異構(gòu)數(shù)據(jù)源的情況下,服務(wù)器端和客戶端之間的異構(gòu)數(shù)據(jù)同步過(guò)程的總體流程圖。
如圖5所示,服務(wù)器端和客戶端之間的異構(gòu)數(shù)據(jù)同步過(guò)程總體上包括三個(gè)步驟,開(kāi)始之后,在第一步(步驟500),同步雙方交換彼此的元數(shù)據(jù)信息;在第二步(步驟502),建立同步雙方的元數(shù)據(jù)映射關(guān)系,并進(jìn)行存儲(chǔ),第三步(步驟504),利用已經(jīng)計(jì)算得到的元數(shù)據(jù)映射關(guān)系建立服務(wù)器端和客戶端之間的異構(gòu)數(shù)據(jù)同步。由此,可以在服務(wù)器端和客戶端之間的數(shù)據(jù)的無(wú)縫同步通信。
需要注意的是,此方案需要結(jié)合任意一種同步協(xié)議來(lái)完成異構(gòu)數(shù)據(jù)源的同步功能,例如SyncML協(xié)議,并且此方案是按照C/S(客戶/服務(wù)器)模式描述的,以下均按照C/S模式來(lái)進(jìn)行描述。當(dāng)然,本發(fā)明并不局限于此,例如,能夠以除了SyncML協(xié)議之外的任意同步協(xié)議來(lái)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源之間的同步建立過(guò)程。
下面將參考圖6來(lái)描述上述第一步(步驟500)的詳細(xì)處理過(guò)程的流程圖。
如圖6所示,客戶端提取本地同步數(shù)據(jù)源的元數(shù)據(jù)信息(步驟600);然后,將將元數(shù)據(jù)信息轉(zhuǎn)化為中間類(lèi)型數(shù)據(jù)(步驟602);之后,將中間類(lèi)型數(shù)據(jù)轉(zhuǎn)化為傳輸類(lèi)型數(shù)據(jù)(步驟604);并且利用同步協(xié)議將該傳輸類(lèi)型數(shù)據(jù)發(fā)送給服務(wù)器端(步驟606)。在服務(wù)器端,服務(wù)器接收對(duì)方利用同步協(xié)議發(fā)送的所述傳輸類(lèi)型數(shù)據(jù)(步驟608);然后,將該傳輸類(lèi)型數(shù)據(jù)轉(zhuǎn)換為中間類(lèi)型數(shù)據(jù)(步驟610);之后,將中間類(lèi)型數(shù)據(jù)轉(zhuǎn)化為元數(shù)據(jù)信息(步驟612)。由此,得到了來(lái)自客戶端的元數(shù)據(jù)信息(步驟614),以便在后續(xù)步驟中,通過(guò)分析,最終獲得需要同步的雙方的元數(shù)據(jù)映射關(guān)系。
如上所述,在第一步(步驟500)中,為了交換雙方元數(shù)據(jù)結(jié)構(gòu),同時(shí)不希望改變所依靠的同步協(xié)議規(guī)定的同步步驟和傳輸格式,這樣需要引入傳輸類(lèi)型和中間類(lèi)型的定義來(lái)完成元數(shù)據(jù)的傳輸和理解過(guò)程。其中傳輸類(lèi)型是根據(jù)所使用的同步協(xié)議的傳輸格式定義的,目的是在不改變同步協(xié)議的基礎(chǔ)上傳輸元數(shù)據(jù)信息。制定中間格式的目的是使同步的雙方理解由傳輸類(lèi)型描述的元數(shù)據(jù)信息,這樣就可以將對(duì)方的元數(shù)據(jù)信息從傳輸數(shù)據(jù)報(bào)中提取出來(lái),為下一步做準(zhǔn)備。
下面將參考圖7來(lái)描述上述第二步(步驟502)的詳細(xì)處理過(guò)程的流程圖。
如圖7所示,在服務(wù)器端,利用映射規(guī)則比較同步雙方的元數(shù)據(jù)信息(步驟700);通過(guò)分析比較,得到同步雙方的元數(shù)據(jù)映射關(guān)系(步驟702);然后,判斷客戶端是否屬于能力受限設(shè)備?(步驟704)。在客戶端不屬于能力受限設(shè)備的情況下,則將服務(wù)器計(jì)算的元數(shù)據(jù)映射關(guān)系僅存儲(chǔ)在本地,即,服務(wù)器端(步驟706)。相反,如果客戶端屬于能力受限設(shè)備,則在本地存儲(chǔ)已經(jīng)得到的元數(shù)據(jù)映射關(guān)系(步驟708);并且將計(jì)算得到的元數(shù)據(jù)映射關(guān)系發(fā)給客戶端(步驟710),以便存儲(chǔ)在客戶端中。由此,在服務(wù)器端和客戶端之間建立了通信雙方的元數(shù)據(jù)映射關(guān)系。
如上所述,在第二步(步驟502)中,建立雙方的元數(shù)據(jù)映射關(guān)系。也就是,經(jīng)過(guò)第一步將元數(shù)據(jù)信息解析出來(lái)以后,可以利用一定的映射規(guī)則,比如同名映射規(guī)則(當(dāng)然,本發(fā)明并不局限于此),建立同步雙方的元數(shù)據(jù)映射關(guān)系。元數(shù)據(jù)映射關(guān)系是下一步無(wú)縫同步的關(guān)鍵??紤]到具體同步環(huán)境的區(qū)別有兩種情況若客戶端計(jì)算能力有限,則由服務(wù)器負(fù)責(zé)計(jì)算元數(shù)據(jù)映射關(guān)系,然后將得到的映射關(guān)系發(fā)給客戶端;否則,由雙方各自計(jì)算相應(yīng)映射關(guān)系并將其存儲(chǔ)在本地即可。盡管在這里,僅針對(duì)由客戶端發(fā)起元數(shù)據(jù)映射過(guò)程的情況進(jìn)行了描述。在雙方均有計(jì)算能力的情況下,可以由客戶端和服務(wù)器端分別發(fā)起元數(shù)據(jù)映射建立過(guò)程。由服務(wù)器端發(fā)起元數(shù)據(jù)映射建立過(guò)程的情況與上述由客戶端發(fā)起元數(shù)據(jù)映射建立過(guò)程的情況類(lèi)似。在此不再描述。由此,可以實(shí)現(xiàn)由雙方各自計(jì)算相應(yīng)映射關(guān)系并將其分別存儲(chǔ)在本地的上述處理。
下面將參考圖8來(lái)描述上述第三步(步驟504)的詳細(xì)處理過(guò)程的流程圖。
如圖8所示,接收對(duì)方利用同步協(xié)議發(fā)來(lái)的同步數(shù)據(jù)(步驟800);利用所存儲(chǔ)的元數(shù)據(jù)映射關(guān)系將上述數(shù)據(jù)轉(zhuǎn)化為本地類(lèi)型的數(shù)據(jù)(步驟802);完成具體同步操作(包括添加、刪除和更改等)(步驟804)。
如上所述,在第三步(步驟504),同步消息接受方利用映射關(guān)系,將接受到的同步數(shù)據(jù)轉(zhuǎn)換成自己的數(shù)據(jù)類(lèi)型,然后進(jìn)行同步操作(添加、刪除和更改等)。這樣在不改變所使用同步協(xié)議規(guī)定的數(shù)據(jù)格式的前提下,就可以完成異構(gòu)數(shù)據(jù)源之間的無(wú)縫同步過(guò)程。
以上僅針對(duì)由客戶端發(fā)起元數(shù)據(jù)映射過(guò)程的情況進(jìn)行了描述。但是顯而易見(jiàn),本發(fā)明并不局限于此。應(yīng)該注意,本發(fā)明也可以適用于由服務(wù)器端發(fā)起元數(shù)據(jù)映射過(guò)程的情況。也就是,本發(fā)明與具體在哪一方發(fā)起元數(shù)據(jù)映射過(guò)程以便在另一方分析獲得映射關(guān)系的位置無(wú)關(guān)。
另外,在本發(fā)明的示例中,可以基于SyncML協(xié)議來(lái)實(shí)現(xiàn)上述異構(gòu)數(shù)據(jù)源的數(shù)據(jù)同步方法,在實(shí)際中,由于SyncML的設(shè)計(jì)優(yōu)勢(shì),現(xiàn)在移動(dòng)設(shè)備廠商和移動(dòng)中間件開(kāi)發(fā)商普遍選擇SyncML協(xié)議作為移動(dòng)計(jì)算環(huán)境下的同步解決方案。但是明顯地,本發(fā)明并不局限于此。也可以采用其他協(xié)議來(lái)實(shí)現(xiàn)該方法。
盡管以上已經(jīng)結(jié)合本發(fā)明的優(yōu)選實(shí)施例示出了本發(fā)明,但是本領(lǐng)域的技術(shù)人員將會(huì)理解,在不脫離本發(fā)明的精神和范圍的情況下,可以對(duì)本發(fā)明進(jìn)行各種修改、替換和改變。因此,本發(fā)明不應(yīng)由上述實(shí)施例來(lái)限定,而應(yīng)由所附權(quán)利要求及其等價(jià)物來(lái)限定。
權(quán)利要求
1.一種在發(fā)起方和響應(yīng)方之間實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源同步的方法,包括發(fā)起方將元數(shù)據(jù)信息轉(zhuǎn)化為中間類(lèi)型數(shù)據(jù),并利用傳輸類(lèi)型數(shù)據(jù)向響應(yīng)方發(fā)送;響應(yīng)方接收所述傳輸類(lèi)型數(shù)據(jù)以提取中間類(lèi)型數(shù)據(jù),并根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得發(fā)起方和響應(yīng)方雙方之間的元數(shù)據(jù)映射關(guān)系;以及利用所獲得的元數(shù)據(jù)映射關(guān)系,進(jìn)行所述雙方的數(shù)據(jù)同步處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系的步驟包括進(jìn)一步將所述中間類(lèi)型數(shù)據(jù)轉(zhuǎn)換為元數(shù)據(jù)信息,利用映射規(guī)則,獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于所述發(fā)起方是客戶端而所述響應(yīng)方是服務(wù)器端。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系的步驟包括在所述客戶端屬于能力受限設(shè)備的情況下,在服務(wù)器端存儲(chǔ)已經(jīng)得到的元數(shù)據(jù)映射關(guān)系,并將所述元數(shù)據(jù)映射關(guān)系傳遞到客戶端并存儲(chǔ)在客戶端。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于所述獲得發(fā)起方和響應(yīng)方之間的元數(shù)據(jù)映射關(guān)系的步驟包括在所述客戶端并非能力受限設(shè)備的情況下,僅在服務(wù)器端存儲(chǔ)已經(jīng)得到的元數(shù)據(jù)映射關(guān)系。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述發(fā)起方是服務(wù)器端而所述響應(yīng)方是客戶端。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于利用所獲得的元數(shù)據(jù)映射關(guān)系進(jìn)行雙方的數(shù)據(jù)同步處理的步驟包括利用元數(shù)據(jù)映射關(guān)系,將對(duì)方利用同步協(xié)議發(fā)送來(lái)的同步數(shù)據(jù)轉(zhuǎn)換為本地?cái)?shù)據(jù),以進(jìn)行同步操作。
8.根據(jù)權(quán)利要求1到7任一個(gè)所述的方法,其特征在于所述方法基于SyncML協(xié)議。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于所述映射規(guī)則是同名映射規(guī)則。
10.一種用于實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源同步的設(shè)備,包括元數(shù)據(jù)-中間類(lèi)型數(shù)據(jù)轉(zhuǎn)化器,用于執(zhí)行元數(shù)據(jù)與中間類(lèi)型數(shù)據(jù)的相互轉(zhuǎn)化;中間類(lèi)型數(shù)據(jù)-傳輸類(lèi)型數(shù)據(jù)轉(zhuǎn)化器,用于執(zhí)行傳輸類(lèi)型數(shù)據(jù)與中間類(lèi)型數(shù)據(jù)的相互轉(zhuǎn)化;元數(shù)據(jù)映射關(guān)系存儲(chǔ)器,用于存儲(chǔ)元數(shù)據(jù)映射關(guān)系;映射關(guān)系計(jì)算器,用于根據(jù)映射規(guī)則計(jì)算同步雙方的元數(shù)據(jù)映射關(guān)系;同步數(shù)據(jù)轉(zhuǎn)化器,用于利用元數(shù)據(jù)映射關(guān)系轉(zhuǎn)化接收到的同步數(shù)據(jù);以及解析器,用于在建立元數(shù)據(jù)映射關(guān)系的情況下,接收對(duì)方發(fā)送的包括元數(shù)據(jù)信息的所述傳輸類(lèi)型數(shù)據(jù)以提取中間類(lèi)型數(shù)據(jù),并根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得本地和對(duì)方雙方之間的元數(shù)據(jù)映射關(guān)系;用于在執(zhí)行同步數(shù)據(jù)轉(zhuǎn)換的情況下,解析對(duì)方發(fā)來(lái)的同步數(shù)據(jù)和同步操作信息。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于還包括同步消息生成/接受器,用于生成/接受同步協(xié)議消息;同步引擎,用于執(zhí)行同步操作,同時(shí)解決沖突,并根據(jù)來(lái)自同步數(shù)據(jù)源的數(shù)據(jù),生成同步消息。
全文摘要
根據(jù)本發(fā)明,提出了一種在發(fā)起方和響應(yīng)方之間實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源同步的方法,包括發(fā)起方將元數(shù)據(jù)信息轉(zhuǎn)化為中間類(lèi)型數(shù)據(jù),并利用傳輸類(lèi)型數(shù)據(jù)向響應(yīng)方發(fā)送;響應(yīng)方接收所述傳輸類(lèi)型數(shù)據(jù)以提取中間類(lèi)型數(shù)據(jù),并根據(jù)所述中間類(lèi)型數(shù)據(jù)獲得發(fā)起方和響應(yīng)方雙方之間的元數(shù)據(jù)映射關(guān)系;以及利用所獲得的元數(shù)據(jù)映射關(guān)系,進(jìn)行所述雙方的數(shù)據(jù)同步處理。
文檔編號(hào)H04L29/06GK1878166SQ20051007580
公開(kāi)日2006年12月13日 申請(qǐng)日期2005年6月7日 優(yōu)先權(quán)日2005年6月7日
發(fā)明者李欣慧 申請(qǐng)人:聯(lián)想(北京)有限公司