CN1878166A - 异构数据源同步方法及其设备 - Google Patents
异构数据源同步方法及其设备 Download PDFInfo
- Publication number
- CN1878166A CN1878166A CN 200510075801 CN200510075801A CN1878166A CN 1878166 A CN1878166 A CN 1878166A CN 200510075801 CN200510075801 CN 200510075801 CN 200510075801 A CN200510075801 A CN 200510075801A CN 1878166 A CN1878166 A CN 1878166A
- Authority
- CN
- China
- Prior art keywords
- mapping relations
- metadata
- data
- intermediate form
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
根据本发明,提出了一种在发起方和响应方之间实现异构数据源同步的方法,包括:发起方将元数据信息转化为中间类型数据,并利用传输类型数据向响应方发送;响应方接收所述传输类型数据以提取中间类型数据,并根据所述中间类型数据获得发起方和响应方双方之间的元数据映射关系;以及利用所获得的元数据映射关系,进行所述双方的数据同步处理。
Description
技术领域
本发明涉及一种异构数据源同步方法及其设备,用于实现来自异构数据源的数据的无缝同步过程。
背景技术
移动计算的广泛应用激发了人们随时访问异地信息的需求,随之产生了异地多版本信息的一致性问题。为此需要在移动计算环境下引入数据同步功能,帮助设备之间交换彼此的修改,并解决可能存在的冲突,以保持各信息版本的一致性。
移动设备和无线通讯技术的发展带动了移动计算环境的发展。在移动计算模式下,用户可以随时访问和处理自己需要的数据。这些数据往往并不在本地,相反可能存储在另一台移动设备也可能存储在中心服务器上。同时因为移动网络的不稳定性和移动服务的费用问题,用户经常将自己需要的信息下载到本地后离线处理,而不是持续连接到网络上在线操作。这样必须引入数据同步功能,帮助设备之间交换彼此的修改并解决可能存在的冲突,保持各信息版本的一致性。
为了完成数据同步功能,目前已经出现了很多同步协议,但是每一个同步协议仅适用于在一个特定的设备和数据子集上进行特定的传输和运行。这种缺乏单一同步标准的情况给最终用户、设备制造商、应用程序开发者和设备提供商制造了很多问题。为了解决这样的问题,SyncML协议应运而生并且正逐渐成为行业趋势。
例如,SyncML协议从设计开始就关注对移动计算环境的适用性,加上通过定义统一的、基于XML的消息传输格式和普遍适用的同步过程,使其为移动计算环境下的数据同步提供了可能。
SyncML协议的框架如图2所示。图2以客户端/服务器模式描述了协议组成模块,应用A代表同步过程的服务器端,应用B代表同步过程的客户端。客户端与服务器端通过底层网络协议(如HTTP、WSP等)连接。客户端通过客户同步代理访问网络,通过代理结合SyncML接口(SyncML I/F)以及适配器发消息给服务器端。服务器端通过服务器同步代理接受或发送消息,通过同步引擎(Sync Engine)管理同步过程,例如用户数据库更新和冲突处理。
SyncML协议实质上是由若干协议组成,其中核心部分包括表达协议和同步协议。表达协议详细规定了同步交互的消息格式。同步协议规定客户端与服务器端的同步过程由两个阶段组成:首先进行同步初始化阶段,然后进入具体同步阶段。在同步初始化阶段,同步的双方按照表达协议规定的消息格式交换彼此的认证信息和设备能力。如果初始化成功,即可进入具体同步阶段。在此阶段,双方按照表达协议规定的消息格式交换需要同步的数据信息和具体的操作信息(如,添加、删除和修改操作)。
SyncML协议作为一种特别为移动计算环境设计的同步协议,普遍被移动设备厂商和移动中间件开发商选择作为数据同步的解决方案。目前,依靠SyncML协议的同步解决方案集中于同构数据源之间的同步;同时面临的一个重要问题是,同步设备上存储的数据元结构往往并不相同。这给基于SyncML的同步方案带来了挑战。
因此,需要提出一种异构数据源同步方法及其设备,用于实现来自异构数据源的数据的无缝同步过程。
发明内容
为了解决上述问题,提出了本发明,因此,本发明的目的是提出一种异构数据源同步方法及其设备,用于实现来自异构数据源的数据的无缝同步过程。
根据本发明,提出了一种在发起方和响应方之间实现异构数据源同步的方法,包括:发起方将元数据信息转化为中间类型数据,并利用传输类型数据向响应方发送;响应方接收所述传输类型数据以提取中间类型数据,并根据所述中间类型数据获得发起方和响应方双方之间的元数据映射关系;以及利用所获得的元数据映射关系,进行所述双方的数据同步处理。
优选地,所述根据所述中间类型数据获得发起方和响应方之间的元数据映射关系的步骤包括:进一步将所述中间类型数据转换为元数据信息,利用映射规则,获得发起方和响应方之间的元数据映射关系。
优选地,所述发起方是客户端而所述响应方是服务器端。
优选地,所述获得发起方和响应方之间的元数据映射关系的步骤包括:在所述客户端属于能力受限设备的情况下,在服务器端存储已经得到的元数据映射关系,并将所述元数据映射关系传递到客户端并存储在客户端。
优选地,所述获得发起方和响应方之间的元数据映射关系的步骤包括:在所述客户端并非能力受限设备的情况下,仅在服务器端存储已经得到的元数据映射关系。
优选地,所述发起方是服务器端而所述响应方是客户端。
优选地,利用所获得的元数据映射关系进行双方的数据同步处理的步骤包括:利用元数据映射关系,将对方利用同步协议发送来的同步数据转换为本地数据,以进行同步操作。
优选地,所述方法基于SyncML协议。
优选地,所述映射规则是同名映射规则。
根据本发明,还提出了一种用于实现异构数据源同步的设备,包括:元数据-中间类型数据转化器,用于执行元数据与中间类型数据的相互转化;中间类型数据-传输类型数据转化器,用于执行传输类型数据与中间类型数据的相互转化;元数据映射关系存储器,用于存储元数据映射关系;映射关系计算器,用于根据映射规则计算同步双方的元数据映射关系;同步数据转化器,用于利用元数据映射关系转化接收到的同步数据;以及解析器,用于在建立元数据映射关系的情况下,接收对方发送的包括元数据信息的所述传输类型数据以提取中间类型数据,并根据所述中间类型数据获得本地和对方双方之间的元数据映射关系;用于在执行同步数据转换的情况下,解析对方发来的同步数据和同步操作信息。
优选地,所述设备还包括:同步消息生成/接受器,用于生成/接受同步协议消息;同步引擎,用于执行同步操作,同时解决冲突,并根据来自同步数据源的数据,生成同步消息。
附图说明
通过参考以下结合附图所采用的优选实施例的详细描述,本发明的上述目的、优点和特征将变得显而易见,其中:
图1是示出了用于实现本发明的方法的设备的结构图;
图2以客户端/服务器模式示出了协议组成模块;
图3示出了根据本发明的实施例,在异构数据源的情况下、服务器端和客户端之间的数据同步过程的示意图;
图4示出了根据本发明的实施例,在异构数据源的情况下、服务器端和客户端之间的元数据结构的对应关系的示意图;
图5示出了根据本发明的实施例,服务器端和客户端之间的异构数据同步过程的总体流程图;
图6示出了在图5所示的方法步骤中的第一步的详细流程图;
图7示出了在图5所示的方法步骤中的第二步的详细流程图;
图8示出了在图5所示的方法步骤中的第三步的详细流程图;
具体实施方式
下面将参考附图来描述本发明的优选实施例。
图1是示出了用于实现本发明的方法的设备的结构图。
如图1所示,所述设备包括:元数据-中间类型数据转化器100,用于完成元数据与中间类型数据的相互转化功能;中间类型数据-传输类型数据转化器104,用于完成传输类型数据与中间类型数据的相互转化功能;解析器108,用于解析同步协议消息,有两种情况:情况1解析对方发来的元数据信息(建立元数据映射关系的情况);情况2解析对方发来的同步数据和同步操作信息(执行同步数据转换的情况);同步消息生成/接受器116,用于生成/接受同步协议消息;映射关系计算器102;用于根据映射规则计算同步双方的元数据映射关系;元数据映射关系存储器106,用于存储元数据映射关系的数据源;同步数据转化器110,用于利用元数据映射关系转化接收到的同步数据;同步引擎112,用于执行同步操作,同时解决冲突,根据同步数据源的情况生成同步消息。此外,所述设备接收来自需要同步的本地数据源114的数据。
下面将参考图3来描述在异构数据源的情况下,服务器端和客户端之间的数据同步过程的示意图。作为示例,仅示出了由客户端发起同步过程并因而在服务器端执行双方元数据映射的情况。当然,本发明并不局限于此。
如图3所示,首先,在客户端按照一定规则将元数据类型转换为中间类型数据,并转换为传输类型的数据(在图中,作为示例,采用SyncML协议数据传输类型)以便将该数据传送到服务器端,在服务器端,服务器端按照相应的规则提取出中间类型数据,并根据此中间类型数据来建立同步双方的元数据映射关系,以便将该映射关系发送到客户端,从而在客户端和服务器端存储该映射关系;此后,根据此映射关系,获得客户端和服务器端之间的异构数据的同步,即同步消息生成和/或接受。
图4示出了在异构数据源的情况下,服务器端和客户端之间的元数据结构的对应关系的示意图。如图4所示,在服务器端,服务器端元数据结构与恢复出来的客户端元数据结构彼此对应,而客户端元数据结构与恢复出来的服务器端元数据结构彼此对应。
下面将参考图5来描述在异构数据源的情况下,服务器端和客户端之间的异构数据同步过程的总体流程图。
如图5所示,服务器端和客户端之间的异构数据同步过程总体上包括三个步骤,开始之后,在第一步(步骤500),同步双方交换彼此的元数据信息;在第二步(步骤502),建立同步双方的元数据映射关系,并进行存储,第三步(步骤504),利用已经计算得到的元数据映射关系建立服务器端和客户端之间的异构数据同步。由此,可以在服务器端和客户端之间的数据的无缝同步通信。
需要注意的是,此方案需要结合任意一种同步协议来完成异构数据源的同步功能,例如SyncML协议,并且此方案是按照C/S(客户/服务器)模式描述的,以下均按照C/S模式来进行描述。当然,本发明并不局限于此,例如,能够以除了SyncML协议之外的任意同步协议来实现异构数据源之间的同步建立过程。
下面将参考图6来描述上述第一步(步骤500)的详细处理过程的流程图。
如图6所示,客户端提取本地同步数据源的元数据信息(步骤600);然后,将将元数据信息转化为中间类型数据(步骤602);之后,将中间类型数据转化为传输类型数据(步骤604);并且利用同步协议将该传输类型数据发送给服务器端(步骤606)。在服务器端,服务器接收对方利用同步协议发送的所述传输类型数据(步骤608);然后,将该传输类型数据转换为中间类型数据(步骤610);之后,将中间类型数据转化为元数据信息(步骤612)。由此,得到了来自客户端的元数据信息(步骤614),以便在后续步骤中,通过分析,最终获得需要同步的双方的元数据映射关系。
如上所述,在第一步(步骤500)中,为了交换双方元数据结构,同时不希望改变所依靠的同步协议规定的同步步骤和传输格式,这样需要引入传输类型和中间类型的定义来完成元数据的传输和理解过程。其中传输类型是根据所使用的同步协议的传输格式定义的,目的是在不改变同步协议的基础上传输元数据信息。制定中间格式的目的是使同步的双方理解由传输类型描述的元数据信息,这样就可以将对方的元数据信息从传输数据报中提取出来,为下一步做准备。
下面将参考图7来描述上述第二步(步骤502)的详细处理过程的流程图。
如图7所示,在服务器端,利用映射规则比较同步双方的元数据信息(步骤700);通过分析比较,得到同步双方的元数据映射关系(步骤702);然后,判断客户端是否属于能力受限设备?(步骤704)。在客户端不属于能力受限设备的情况下,则将服务器计算的元数据映射关系仅存储在本地,即,服务器端(步骤706)。相反,如果客户端属于能力受限设备,则在本地存储已经得到的元数据映射关系(步骤708);并且将计算得到的元数据映射关系发给客户端(步骤710),以便存储在客户端中。由此,在服务器端和客户端之间建立了通信双方的元数据映射关系。
如上所述,在第二步(步骤502)中,建立双方的元数据映射关系。也就是,经过第一步将元数据信息解析出来以后,可以利用一定的映射规则,比如同名映射规则(当然,本发明并不局限于此),建立同步双方的元数据映射关系。元数据映射关系是下一步无缝同步的关键。考虑到具体同步环境的区别有两种情况:若客户端计算能力有限,则由服务器负责计算元数据映射关系,然后将得到的映射关系发给客户端;否则,由双方各自计算相应映射关系并将其存储在本地即可。尽管在这里,仅针对由客户端发起元数据映射过程的情况进行了描述。在双方均有计算能力的情况下,可以由客户端和服务器端分别发起元数据映射建立过程。由服务器端发起元数据映射建立过程的情况与上述由客户端发起元数据映射建立过程的情况类似。在此不再描述。由此,可以实现由双方各自计算相应映射关系并将其分别存储在本地的上述处理。
下面将参考图8来描述上述第三步(步骤504)的详细处理过程的流程图。
如图8所示,接收对方利用同步协议发来的同步数据(步骤800);利用所存储的元数据映射关系将上述数据转化为本地类型的数据(步骤802);完成具体同步操作(包括:添加、删除和更改等)(步骤804)。
如上所述,在第三步(步骤504),同步消息接受方利用映射关系,将接受到的同步数据转换成自己的数据类型,然后进行同步操作(添加、删除和更改等)。这样在不改变所使用同步协议规定的数据格式的前提下,就可以完成异构数据源之间的无缝同步过程。
以上仅针对由客户端发起元数据映射过程的情况进行了描述。但是显而易见,本发明并不局限于此。应该注意,本发明也可以适用于由服务器端发起元数据映射过程的情况。也就是,本发明与具体在哪一方发起元数据映射过程以便在另一方分析获得映射关系的位置无关。
另外,在本发明的示例中,可以基于SyncML协议来实现上述异构数据源的数据同步方法,在实际中,由于SyncML的设计优势,现在移动设备厂商和移动中间件开发商普遍选择SyncML协议作为移动计算环境下的同步解决方案。但是明显地,本发明并不局限于此。也可以采用其他协议来实现该方法。
尽管以上已经结合本发明的优选实施例示出了本发明,但是本领域的技术人员将会理解,在不脱离本发明的精神和范围的情况下,可以对本发明进行各种修改、替换和改变。因此,本发明不应由上述实施例来限定,而应由所附权利要求及其等价物来限定。
Claims (11)
1、一种在发起方和响应方之间实现异构数据源同步的方法,包括:
发起方将元数据信息转化为中间类型数据,并利用传输类型数据向响应方发送;
响应方接收所述传输类型数据以提取中间类型数据,并根据所述中间类型数据获得发起方和响应方双方之间的元数据映射关系;以及
利用所获得的元数据映射关系,进行所述双方的数据同步处理。
2、根据权利要求1所述的方法,其特征在于所述根据所述中间类型数据获得发起方和响应方之间的元数据映射关系的步骤包括:进一步将所述中间类型数据转换为元数据信息,利用映射规则,获得发起方和响应方之间的元数据映射关系。
3、根据权利要求1所述的方法,其特征在于所述发起方是客户端而所述响应方是服务器端。
4、根据权利要求3所述的方法,其特征在于所述获得发起方和响应方之间的元数据映射关系的步骤包括:在所述客户端属于能力受限设备的情况下,在服务器端存储已经得到的元数据映射关系,并将所述元数据映射关系传递到客户端并存储在客户端。
5、根据权利要求3所述的方法,其特征在于所述获得发起方和响应方之间的元数据映射关系的步骤包括:在所述客户端并非能力受限设备的情况下,仅在服务器端存储已经得到的元数据映射关系。
6、根据权利要求1所述的方法,其特征在于所述发起方是服务器端而所述响应方是客户端。
7、根据权利要求1所述的方法,其特征在于利用所获得的元数据映射关系进行双方的数据同步处理的步骤包括:利用元数据映射关系,将对方利用同步协议发送来的同步数据转换为本地数据,以进行同步操作。
8、根据权利要求1到7任一个所述的方法,其特征在于所述方法基于SyncML协议。
9、根据权利要求2所述的方法,其特征在于所述映射规则是同名映射规则。
10、一种用于实现异构数据源同步的设备,包括:
元数据-中间类型数据转化器,用于执行元数据与中间类型数据的相互转化;
中间类型数据-传输类型数据转化器,用于执行传输类型数据与中间类型数据的相互转化;
元数据映射关系存储器,用于存储元数据映射关系;
映射关系计算器,用于根据映射规则计算同步双方的元数据映射关系;
同步数据转化器,用于利用元数据映射关系转化接收到的同步数据;以及
解析器,用于在建立元数据映射关系的情况下,接收对方发送的包括元数据信息的所述传输类型数据以提取中间类型数据,并根据所述中间类型数据获得本地和对方双方之间的元数据映射关系;用于在执行同步数据转换的情况下,解析对方发来的同步数据和同步操作信息。
11、根据权利要求10所述的设备,其特征在于还包括:
同步消息生成/接受器,用于生成/接受同步协议消息;
同步引擎,用于执行同步操作,同时解决冲突,并根据来自同步数据源的数据,生成同步消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510075801 CN1878166A (zh) | 2005-06-07 | 2005-06-07 | 异构数据源同步方法及其设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510075801 CN1878166A (zh) | 2005-06-07 | 2005-06-07 | 异构数据源同步方法及其设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1878166A true CN1878166A (zh) | 2006-12-13 |
Family
ID=37510458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510075801 Pending CN1878166A (zh) | 2005-06-07 | 2005-06-07 | 异构数据源同步方法及其设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1878166A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795278A (zh) * | 2010-02-11 | 2010-08-04 | 段玉鹤 | 一种异构异网络之间数据传输的方法和系统 |
CN105426440A (zh) * | 2015-11-06 | 2016-03-23 | 云南电网有限责任公司 | 一种基于数据库的异构型数据批量同步方法 |
CN106294701A (zh) * | 2016-08-08 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 网站前端的数据缓存系统及方法 |
-
2005
- 2005-06-07 CN CN 200510075801 patent/CN1878166A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795278A (zh) * | 2010-02-11 | 2010-08-04 | 段玉鹤 | 一种异构异网络之间数据传输的方法和系统 |
CN101795278B (zh) * | 2010-02-11 | 2013-06-05 | 段玉鹤 | 一种异构异网络之间数据传输的方法和系统 |
CN105426440A (zh) * | 2015-11-06 | 2016-03-23 | 云南电网有限责任公司 | 一种基于数据库的异构型数据批量同步方法 |
CN105426440B (zh) * | 2015-11-06 | 2018-07-27 | 云南电网有限责任公司 | 一种基于数据库的异构型数据批量同步方法 |
CN106294701A (zh) * | 2016-08-08 | 2017-01-04 | 武汉斗鱼网络科技有限公司 | 网站前端的数据缓存系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100401289C (zh) | 配置同步会话 | |
CN100496015C (zh) | 在多节点智能网络应用服务系统中实现剪贴板共享的方法 | |
CN100388675C (zh) | 一种网管系统中实现对前台数据配置的方法 | |
CN108259562B (zh) | 一种基于多端点的数据同步方法及装置 | |
CN102196014B (zh) | 多群组操作同步的方法和系统 | |
WO2011130940A1 (zh) | 多业务统一处理方法及统一业务平台 | |
CN1852160A (zh) | 一种数据慢同步的实现方法及系统 | |
CN106850788A (zh) | 面向多源异构地理信息资源的集成框架及集成方法 | |
CN108536729B (zh) | 一种跨分区镜像文件同步方法和装置 | |
CN104899325A (zh) | 一种app采集数据的收集方法、终端、服务器及系统 | |
US20080281920A1 (en) | Adaptive parsing and compression of soap messages | |
CN101997854A (zh) | 一种提供数据服务的处理系统及方法 | |
CN101984430A (zh) | 一种移动终端多用户协同图形编辑的方法及系统 | |
CN102571939A (zh) | 一种跨平台通信方法及系统 | |
CN1878166A (zh) | 异构数据源同步方法及其设备 | |
CN101707785B (zh) | 移动通讯终端的数据同步方法 | |
CN1585343A (zh) | 网管系统向网元同步配置数据的方法 | |
CN103200146B (zh) | 终端和服务器的数据同步方法和装置 | |
CA2543557A1 (en) | System and method for producing notification based web services | |
WO2015100628A1 (zh) | 网元数据访问方法、装置以及网络管理系统 | |
CN109617960B (zh) | 一种基于属性化分离的web AR数据呈现方法 | |
US8738801B2 (en) | Methods and apparatus for updating index information while adding and updating documents in a distributed network | |
CN107786661B (zh) | 信息同步方法 | |
CN1682215A (zh) | 数据库同步 | |
CN105025042B (zh) | 一种确定数据信息的方法及系统、代理服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20061213 |