CN105659226A - 使数据同步的方法和系统 - Google Patents
使数据同步的方法和系统 Download PDFInfo
- Publication number
- CN105659226A CN105659226A CN201480043611.2A CN201480043611A CN105659226A CN 105659226 A CN105659226 A CN 105659226A CN 201480043611 A CN201480043611 A CN 201480043611A CN 105659226 A CN105659226 A CN 105659226A
- Authority
- CN
- China
- Prior art keywords
- data object
- metaclass
- data
- meta
- synchronous
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000001360 synchronised effect Effects 0.000 claims abstract description 76
- 230000009466 transformation Effects 0.000 claims abstract description 35
- 238000006243 chemical reaction Methods 0.000 claims description 73
- 230000001052 transient effect Effects 0.000 claims description 25
- 230000015572 biosynthetic process Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 8
- 238000003384 imaging method Methods 0.000 claims description 6
- 238000009795 derivation Methods 0.000 claims description 5
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000003825 pressing Methods 0.000 claims 1
- 238000000844 transformation Methods 0.000 abstract 1
- 238000005755 formation reaction Methods 0.000 description 19
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 239000010751 BS 2869 Class A2 Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种计算机实施的方法,其用来使第一数据对象与一个第二数据对象同步,其中-每个数据对象都分配给由一些元类构成的元类,其中这些元类布置在具有根元类的树状结构中;-在树状结构中获得元类,该元类位于第一数据对象和根元类之间的路径上并且位于第二数据对象和根元类之间的路径上,-由所述获得的元类中生成第一和第二元对象;-实施两个转换,将第一数据对象转换为第一元对象,并且将第二数据对象转换为第二元对象;-使第一元对象和第二元对象同步;以及-执行第三转换,将第一元对象转换为第一数据对象,并且将第二元对象转换为第二数据对象。
Description
技术领域
本发明涉及一种使第一数据对象与至少一个第二数据对象同步的方法,以及一种使第一数据对象与至少一个第二数据对象同步的系统。
背景技术
由现有技术已知使数据或数据对象同步的同步方法。在期限管理领域已知的是,使在第一客户装置(例如个人电脑)上编制和管理的期限与在第二客户装置(例如平板电脑或智能手机)上编制和管理的期限同步,其中这两个客户装置中的期限用同一个软件系统(例如MicrosoftOutlook,)进行编制或管理。在这两个软件系统中编制和管理的期限通常具有相同的数据结构,因此能够无问题地使第一客户装置中的期限与第二客户装置中的期限同步。同步意味着,一个客户装置的期限与另一客户装置的期限进行校准,从而使得这两个客户装置中所有的期限都处在当前水平上。
如果源自不同系统的数据对象应该相互同步,则必须采取额外的措施来校准数据。例如,如果在第一客户装置中借助第一软件系统(例如MicrosoftOutlook)管理期限,并且在第二客户装置中借助第二软件系统(例如GoogleCalendar)管理期限,则为了实施同步必须在这两个软件系统之间提供接口或适配器,通过它们能够执行同步。在此必须确保,调节该适配器或接口,以便在两个方向上执行同步。因为Outlook-期限通常具有不同于Google-期限的数据结构或属性,则Outlook-期限的属性必须在Google-期限的属性上成像并且反过来。各成像规则必须在各自的软件系统中定义,或者在接口或适配器中定义或存放。
如要只需使特定类别的数据或数据对象(例如期限)在正好两个不同的软件系统中同步,则该同步将技术成本限定在一定范围内,因为为了执行同步只需提供一个适配器或接口以及两个相应匹配的成像规则。
但如果数据或数据对象应该在超过两个软件系统之间同步,则该方法是不利的。如果应该使超过两个数据对象同步,它们分别是不同的类型(例如三个期限对象的同步,其中每个期限对象都具有另一数据结构)。在这种情况下,对于每对软件系统或每对不同的数据对象来说,必须定义一个接口或适配器和两个附带的成像规则,因此对于三个不同的数据对象来说要定义三个接口和六个成像规则。
图1展示出由现有技术已知的方法,其用于四个不同的数据对象DO1至DO4。这些数据对象DO1至DO4能够分别代表期限,其中这四个数据对象分别具有不同的数据结构。为了能够使这四个数据对象DO1至DO4同步(所有四个数据对象应该相互同步),必须定义六个接口或适配器以及总共十二个成像规则。如果添加额外的数据对象DO5(它也具有另一数据结构),则如果该数据对象DO5应该与数据对象DO1至DO4同步,则对该数据对象DO5来说必须定义四个额外的接口或适配器和八个额外的成像规则。
对于待同步的数据对象来说,在由现有技术已知的方法中必须设置或个适配器或接口以及或n·(n-1)个成像规则。
发明目的
因此本发明的目的是,提供一种用于同步的解决方案,它至少部分地避免了由现有技术已知的缺点,并且借助该方案能够明显地减少所需接口或适配器的数量以及所需成像规则的数量,但是还能实现尽可能有效的同步。
发明内容
按本发明,此目的通过一种按独立权利要求所述的、使第一数据对象与至少一个第二数据对象同步的方法以及一种使第一数据对象与至少一个第二数据对象同步的系统得以实现。在各从属权利要求中描述了本发明的有利的构造方案和改进方案。
据此提供了一种计算机实施的方法,其用来使第一数据对象与至少一个第二数据对象同步,其中每个数据对象都包括一些属性;其中
-每个数据对象都分配给由一些元类构成的元类,这些元类布置在具有根元类的树状结构中,并且其中这些元类分别包括一些属性;
-在树状结构中获得元类,该元类位于第一数据对象和根元类之间的路径上并且位于第二数据对象和根元类之间的路径上,
-由所述获得的元类中生成第一元对象和第二元对象;
-执行第一转换,将第一数据对象转换为第一元对象;
-执行第二转换,将第二数据对象转换为第二元对象;
-使第一元对象和第二元对象同步;以及
-执行第三转换,将第一元对象转换为第一数据对象;和/或将第二元对象转换为第二数据对象。
因此能够以有利的方式使一些不同的数据对象(这些数据对象能够分别具有不同的数据结构且甚至来源于不同的软件系统或应用)相互同步,而不必为每对数据对象都定义和实施具有相应同步规则的接口,以便将一个数据结构在另一数据结构上成像。因此,能够完全省略不同数据结构的两个数据对象之间的接口或适配器,并且省略附带的成像规则。
在技术角度上看,通过本发明,不必为n个待同步的数据对象(每个数据对象都能与其它分别具有不同数据结构的数据对象同步)提供个接口以及n·(n-1)个实施成像规则。因此尤其当待同步的数据对象来源由许多不同的系统,则能够明显更有效地使数据对象同步,并且能够以比现有技术明显更少的实施成本来实现。从而有效地避免了实施成像规则和提供规则时的错误来源。在现有技术中在改变数据对象的数据结构时必须调整所有接口以及与之相关的成像规则,而在按本发明的方法中只需调整相应元类与上一级元类的关系。
每个数据对象优选正好分配给由一些元类构成的元类。
该获得的元类是指这样的元类,即配备有第一数据对象或第二数据对象的元类从中直接或间接地推导而来。该获得的元类因此是指配备有第一数据对象或第二数据对象的元类的共同的父类。
该获得的元类能够指这样的元类,即它在第一数据对象之间和/或在第二数据对象和根元类之间的路径上在树状结构的架构中位于最下方。
“最下方”指,根元类和获得的元类之间的间距是最大的。如果获得多个元类,这些元类位于第一数据对象和根元类之间的路径上并且位于第二数据对象和根元类之间的路径上,则该获得的元类是离根元类的距离最大的元类。
有利的是,
-在第一转换时第一数据对象的属性的属性值转换成第一元对象的属性的属性值,
-在第二转换时第二数据对象的属性的属性值转换成第二元对象的属性的属性值,
-在第三转换时,
-第一元对象的属性的属性值转换成第一数据对象的属性的属性值,和/或
-第二元对象的属性的属性值转换成第二数据对象的属性的属性值。
第一转换和/或第二转换和/或第三转换能够分别包括一些局部转换,其中转换的局部转换依次并且以预定的顺序来实施。
局部转换能够将
-第一数据对象或第二数据对象转换为暂时的元对象,或者
-暂时的元对象转换为第一数据对象或第二数据对象,或者
-暂时的元对象转换为第一元对象或第二元对象,或者
-第一元对象或第二元对象转换为暂时的元对象,其中该暂时的元对象相当于元类的实例,该元类位于第一数据对象之间和/或在第二数据对象和获得的元类之间的路径上。
在第一元对象与第二元对象同步时,按预先设定的同步规则,第一元对象的属性的属性值能够成像到第二元对象的属性的属性值上,或反过来。
每个转换和/或每个局部转换都能配备至少一个转换规则,它包括成像规则,它指明,数据对象、暂时的元对象或元对象的属性如何在数据对象、暂时的元对象或元对象的属性上成像。
至少一个转换规则能够包括生效标准,其指明,该转换规则是否能够用于待实施的转换,其中在多个转换规则中将预定的转换规则设为标准-转换规则。
如果其它转换规则由于其生效标准不能使用,则优选使用该标准-转换规则。
有利的是,
-第一数据对象存储在第一存储装置中,
-第二数据对象存储在第一存储装置或第二存储装置中,
其中这两个存储装置能够通过通讯网络与数据处理装置耦合,和/或
-第一数据对象与第二数据对象的同步借助数据处理装置来实现,其中元类的树状结构和转换规则在该数据处理装置中管理和存储。
这些数据对象分别能够包括标识,它指明,各自的数据对象分配给哪些元类。
如果第二数据对象在同步之前不存在,则在第二转换之前或在第三转换之后或之时能够生成第二数据对象。
每个数据对象都能够指配备该数据对象的元类的实例。
每个元类(根元类除外)能够由正好一个在树状结构中处于上一级的元类推导而来。
在本发明的另一构造方案中能够规定,这些数据对象是组合的数据对象,其中每个组合的数据对象都包括一些相互有关系的数据对象。
有利的是,在组合的数据对象中预定的数据对象是主数据对象。因此,能够使组合的数据对象的主数据对象同步,其中该组合的数据对象的与该主数据对象有关的其它数据对象能够自动地同步。
在本发明的有利的实施方案中,在主数据对象或组合的数据对象同步时,这些数据对象的关系或主数据对象朝组合的数据对象的其它数据对象的关系同样进行同步。
在此有利的是,该转换规则或这此转换规则也包括成像规则,它们指明,主数据对象以及组合的数据对象的与该主数据对象有关的其它数据对象如何在暂时的主数据对象或暂时的组合的元对象中成像。
在组合的数据对象中有利的是,
-在第一步骤中组合的数据对象的数据对象相互独立地优选根据按本发明的同步方法来同步,并且
-在第二步骤中数据对象的关系相互同步。
在此证实为有利的是,组合的数据对象的两个数据对象之间的关系同样是数据对象。因此,还能够根据按本发明的同步方法使两个数据对象之间的关系同步。
通过本发明,提供了一种使第一数据对象与至少一个第二数据对象同步的系统,其中该系统包括数据处理装置,它用来实施按本发明的方法。
该数据处理装置可通过通讯网络与至少一个存储装置耦合,并且第一数据对象通过通讯网络由存储装置接收,并且第二数据对象在与第一数据对象同步之后通过通讯网络传递到存储装置上。
此外,通过本发明提供了一种机算机程序产品,其能够装载在数据处理装置的存储器中并且能够在它上面实施,还包括程序部段,它能够实施按本发明的方法。
附图说明
本发明的其它细节和特征以及本发明的具体实施例从结合附图的以下描述中得出。其中:
图1示出了按由现有技术已知的同步方法进行同步的数据对象;
图2示出了形成架构的树状结构,以便阐述按本发明的同步方法;
图3示出了图4的一部分,借助它具体地描述了实施例;
图4示出了图2的一部分,借助它具体地描述了本发明的实施例;
图5示出了图4所示的实施例的备选解决方案;
图6示出了本发明的用来使放在一起的数据对象同步的实施例;
图7示出了按本发明的系统的实施例,用来根据本发明的同步方法来使数据同步。
具体实施方式
图2示出了数据结构和一些数据对象,借助它们阐述了按本发明的同步方法。
形成架构的树状结构B包括一些元类MK1至MK7。该形成架构的树状结构B具有根节,其在此称为根元类MKW。这些元类(根元类除外)分别还具有父节或父元类。每个元类(包括根元类)都能够具有一个或多个子或子元类。
按本发明,这些元类分别从附带的父元类中推导出,其中根元类MKW构成基本类。推导是指,元类继承了附带的父元类的属性。例如元类MK2继承了根元类MK1的属性,元类MK4继承了元类MK2的属性,其中由于遗传架构元类MK4也继承了根元类MK1的属性。每个元类MK1(根元类除外)除了继承的属性以外还能够包括额外的属性,因此推导出的元类通常比附带的父元类具有更多的属性。
在图2的例子中,该元类MK1或根元类MKW能够指用于基本期限对象的类。该基本期限对象能够包括例如属性ID、启动时间、结束时间、启动日期和结束日期。也就是说,所有直接或间接由基本期限类推导出的元类都具有这五个属性。
由该基本期限类MK1推导出的期限类MK2例如能够定义该额外的属性“时区”,因此这些由该期限类MK2推导出的期限类同样具有该额外的属性。
由基本期限类推导出的期限类MK3能够例如具有额外的附件“类别”。
在由期限类MK2推导出的期限类MK4中定义了额外的属性“位置”,并且在由期限类MK2推导出的期限类MK5中定义了额外的属性“关系”。
在图2所示的例子中,树状结构B的叶节或元类MK4、MK5、MK6和MK7分别配备有数据对象DO1、DO2、DO3或DO4。数据对象DO1至DO4与各元类的配属关系意味着,数据对象DO1至DO2分别代表各元类的实例。
但按本发明,数据对象也可分配给其它元类(作为叶元类)。例如数据对象能够分配给元类MK2,也就是说,该数据对象可能代表元类MK2的实例。该按本发明的方法既能用于分配给叶元类的数据对象,也能用于分配给其它元类(包含根元类在内)的数据对象。
按本发明,两个待同步的数据对象沿着它们的路径在配备有该数据对象的元类和根元类(其中该路径对于每个数据对象来说都是明确的)之间朝上转换,直至达到共同具有两个数据对象的元类。数据对象DO1和DO2的第一共同的元类例如是数据对象MK2。数据对象DO1和DO4的第一共同的元类例如是数据对象MK1,它们同时也是根元类。
在图2所示的例子中,这些待同步的数据对象DO1和DO2一直转换至元类MK2。这些待同步的数据对象DO1和DO4一直转换至元类MK1。所述转换在此作为实线箭头示出。
为了实现数据对象DO1和DO4的同步,具有两种实施所述转换直至元类MK1的可能性。按第一变形方案,这些数据对象DO1和DO4能够分别借助唯一一次转换转换成元类MK1。所述转换在此作为虚线箭头示出。备选地,也可执行多级转换,其中数据对象DO1和DO4首先转换成元类MK2或MK3,随后元类MK2和MK3转换成元类MK1。
在待同步的数据对象已一直转换至共同的元类之后,它们能够在该处同步,如同参照图3至5详细阐述的一样。待同步的数据对象转换至共同的元类,其优点是,这样转换的数据对象具有相同的数据结构,因此能够尤其简单地执行同步。
在这两个转换的数据对象已同步之后,它们能够再次朝下转换并且最终代替各自原来的数据对象。在图2所示的例子中,这些待同步的数据对象DO1和DO2一直转换至元类MK2。然后这些转换的数据对象进行同步,并且随后再次朝下转换,其中这两个同步的数据对象分别代替或改定相应的原来的数据对象DO1或DO2。
借助该方法,能够省略不同数据结构的两个数据对象之间的接口或适配器,并且省略附带的成像规则或同步规则。只需定义树状结构中的转换,这些数据对象据此朝上转换或者同步的数据对象朝下转换。
如果在图2所示的例子中额外的数据对象DO5应该与数据对象DO1至DO4同步,则按本发明的方法是很明确的,该数据对象DO5分配给元类MK8,该元类MK8又是由元类MK3中推导而来。在这种情况下,只需定义至元类MK3的转换以及从元类MK3至数据对象或元类MK8的转换,而在图1所示的方法中必须定义四个额外的接口和八个额外的成像规则。为了实现该额外的数据对象DO5与例如数据对象DO1的同步,为了将数据对象DO5转换至元类MK1,再次应用了从元类MK3至元类MK1都存在的转换。这同样适用于同步的数据对象从元类MK1至元类MK3的转换。
按本发明的方法的优点尤其在于,对于每个额外的待同步的数据对象(它的数据结构不同于已存在的、待同步的数据)来说,只需定义额外的元类,该额外的待同步的数据对象从中获得例证,并且它从已存在的元类在树状结构B中推导而来。此外对于该额外的待同步的数据对象来说,只需定义两个转换,即从新的元类转换至附带的父元类并且从附带的父元类转换至新的元类。因此,现在该新的数据对象(例如数据对象DO5)能够与其它所有数据对象DO1至DO4同步。该较少数量的转换的效果还在于,将维护费用降至最低,并且新的数据对象或附带的元类能够尤其简单且快速地行入存在的树状结构B中。
图3示出了图2所示的形成架构的树状结构的一部分,借助它应该明显地展示了两个数据对象DO1和DO2的同步。
该数据对象DO1是元类MK4的实例。该数据对象DO2是元类MK5的实例。该元类MK4和元类MK5分别从元类MK2中推导而来,也就是说,元类MK2是这两个元类MK4和MK5的共同的上级元类。如图参照图2阐述的一样,这些数据对象DO1和DO2分别转换至元类MK2中。对于数据对象DO1的转换来说规定了转换T1,对于数据对象DO2的转换来说规定了转换T2。
为了转换这两个数据对象DO1和DO2,首先产生了两个元对象MO1和MO2。这些元对象MO1和MO2在此是元类MK2的实例。借助第一转换T1,将数据对象DO1转换为第一元对象MO1。借助第二转换T2,将数据对象DO2转换为第二元对象MO2。这两个转换分别根据转换规则来实施,它们分别指出,各数据对象的哪些属性转换成各元对象的哪些属性。
这些转换的数据对象DO1和DO2或元对象MO1和MO2具有相同的数据结构,因为元对象MO1和MO2分别是元类MK2的实例。因为转换的数据对象DO1和DO2或元对象MO1和MO2具有相同的数据结构,所以这些元对象MO1和MO2能够按同步规则S同步,既使原来的数据对象DO1和DO2具有不同的属性。对于各不同的属性来说,无须在该同步规则S中规定特殊处理,因为不同的属性已根据第一转换T1和第二转换T2转换为元对象MO1或MO2的属性。
在这两个元对象MO1和MO2成功同步之后,它们在第三转换T3中分别转换成第一数据对象DO1或DO2。该第三转换T3再次根据转换规则来实施,它指出,元对象的哪些属性转换成数据对象的哪些属性。在第三转换T3结束之后,数据对象DO1和DO2同步。
参照图2和图3并且下面还参照图4和图5描述了一种方法,其中为第一、第二和第三转换来分别设置有转换规则,根据该转换规则来实施转换。
在本发明的构造方案中,每个转换都配备有转换规则。图3所示的第一转换T1例如能够配备多个转换规则TR。按本发明,在执行第一转换T1时选出分配给该转换T1的转换规则,并且据此来执行该转换。因此例如能够根据第一数据对象DO1的特定的属性值来选择特定的转换规则。如果例如第一数据对象DO1的属性“位置”具有特定的数值,则能够选择第一转换规则,在属性“位置”为另一数值时能够选择另一转换规则。
为此每个转换规则都能包括生效标准,它表明在哪个前提条件下能够应用特定的转换规则。例如转换规则能够包括生效标准,它表明,只有数据对象的特定属性具有特定数值,则能应用相应的转换规则。如果一个转换配备有多个转换规则,则有利的是,设置有预定的转换规则作为标准-转换规则,如果另一转换规则的生效标准未能满足,则应用该标准-转换规则。
图4示出了图2所示的形成架构的树状结构的一部分,以便展示了两个数据对象DO1和DO4的同步。
该数据对象DO1是元类MK4的实例。该数据对象DO4是元类MK7的实例。如同参照图2阐述的一样,元类MK1是共同的元类,元类MK4和MK7从该共同的元类中推导而来。因此,这些数据对象DO1和DO4按本发明转换成元类MK1。为此,编制元类MK1的实例MO1和MO2。然后在第一转换T1中,将数据对象DO1转换为第一元对象MO1。在第二转换T2中,将数据对象DO4转换为第二元对象MO2。在这两个数据对象成功转换之后,这两个元对象MO1和MO2按同步规则S进行同步。在这两个元对象MO1和MO2成功同步之后,它们在第三转换T3中分别再次转换成数据对象DO1或DO4,从而实现数据对象DO1和DO4的同步。
图5示出了备选的按本发明的方法,用来使图4的数据对象DO1和DO4同步。
与图4所示的实施例不同,这两个数据对象DO1和DO4不是直接借助转换T1和T2转换成元类MK1或者不是直接从元类MK1转换至数据对象DO1或DO4。
在此处所示的实施例中,这些转换T1、T2和T3分别包括两个局部转换。
在第一步骤中朝元类MK2和MK3产生了暂时的元对象MOT,所述元类MK2和MK3分别位于元类MK4和MK1之间或元类MK7和元类MK1之间的路径中。
然后在转换T1的第一局部转换中,将数据对象DO1转换成暂时的元对象MOT(其分配给元类MK2)。随后,该暂时的元对象MOT在第一转换T1的第二局部转换中转换为第一元对象MO1。
第二数据对象DO4借助第二转换T2的第一局部转换转换成暂时的元对象MOT(其分配给元类MK3)。随后,将第二暂时的元对象MOT转换成元对象MO2。
这两个元对象MO1和MO2在此又是元类MK1的实例。如此分别借助两个局部转换转换的数据对象或元对象MO1和MO2则按同步规则S进行同步。现在同步的元对象MO1和MO2随后分别借助两个局部转换转换成各暂时的元对象MOT,然后转换成各自的数据对象DO1或DO4,从而实现数据对象DO1和DO4的同步。
这些局部转换在此同样能够配备一些转换规则,它们分别能够包括一些生效标准,并且将一个转换规则设置为标准-转换规则。
参照图2至5,描述了按本发明的同步方法,用来实现“简单的”数据对象的同步。该按本发明的同步方法也能够用来使组合的(复杂的)数据对象同步。
复合的数据对象也由多个数据对象构成,或者包括多个(简单的)、相互关联的数据对象。对此的例子是组合的数据对象“专利卷宗”,其由数据对象“卷宗”、数据对象“文件”和数据对象“发明人”构成。该数据对象“卷宗”在此是所谓的主数据对象,而数据对象“文件”和“发明人”与该数据对象“卷宗”有关系。所述关系能够是1:1或1:n或n:m的关系。
在这种组合的数据对象进行同步时,使这些属于该组合的数据对象的数据对象同步。此外这些关系也进行同步,因为如果参照的数据对象在目标系统中包含另一明确的标识,则该参照物能够从例如主数据对象改为另一数据对象。
根据上述按本发明的方法能够执行组合的数据对象的同步,或者执行组合的数据对象的数据对象的同步。
图6示出了按本发明的同步方法的实施例,借助该同步方法能够使组合的数据对象同步。第一组合的对象DO1由数据对象A、E和D构成,其中该数据对象A与数据对象E和数据对象D呈M:N关系。该数据对象A分配给元类MK5,第一组合的数据对象DO1的数据对象D分配给元类MK4,并且第一组合的数据对象DO1的数据对象E分配给元类MK6。
第二组合的数据对象DO2由类A2、D和E构成,其中在数据对象A2和数据对象E或D之间分别存在着M:N关系。该数据对象A2分配给元类MK7,其中该元类MK7直接从元类MK5中推导而来。第二组合的数据对象DO2的数据对象D分配给元类MK4并且第二组合的数据对象DO2的数据对象E分配给元类MK6。
尽管这两个组合的数据对象DO1和DO2分别包括多个数据对象,它们分别分配给不同的元类,借助按本发明的同步方法能够使这两个组合的数据对象DO1和DO2彼此同步。
在图6所示的例子中,元类MK5沿着数据对象之间的路径向上朝根元类MK1构成这两个数据对象A和A2的第一共同的元类。如同借助图3至图5所示的一样,这两个数据对象A和A2能够同步。为此由元类MK5中获得两个元对象的实例,其中第一组合的数据对象DO1的数据对象A转换至第一元对象。并且第二组合的数据对象DO2的数据对象A2转换至第二元对象,如同在图6中借助指向上方的实心箭头示出的一样。那么,元对象MK5的这两个元对象能够如上所述的那样进行同步随后又朝下转换至相应的数据对象A或A2,如同在图6中借助指向下方的实心箭头示出的一样。
这两个组合的数据对象DO1和DO2的数据对象A和A2因此实现了同步。
在下一个步骤中,这两个组合的数据对象DO1和DO2的其余数据对象也能够同步。为了使视觉清晰,在图6中没有示出至相应元类MK4或MK6的相应转换,也没有示出从元类MK4或MK6至数据对象D或E的相应转换。但是,这两个数据对象DO2的实例D和E分别转换至这两个元类MK6和MK7的相应元对象。然后,元类MK4和MK6的如此产生的元对象进行同步,随后又朝下转换至各自的数据对象D或E,如同参照图3所示的一样。
因此,现在也使这两个组合的数据对象DO1和DO2的数据对象D和E同步。
在另一步骤(其只在需要时可选地执行)中,各组合的数据对象DO1和DO2的数据对象之间的关系也能够同步。如果在图6所示的例子中第一组合的数据对象DO1的数据对象D包含新的主密钥,借助该主密钥建立朝数据对象A的联结,则这一点是必要的。在这两个组合的数据对象DO1和DO2的数据对象同步之后,存在于第二数据对象DO2中的联结则在数据对象D和数据对象A2之间失效。如果组合的数据对象的数据对象之间的联结或关系现在也同步,则这些关系或联结在此同步的数据对象中也继续生效。
按本发明,通过以下方式来使组合的数据对象的数据对象之间的关系或联结同步,即只要该联结在此指N:N-联结,则对于该联结来说将相应的元类设置在元类的架构中。与上述例子类似的是,也可借助相应的转换来使这些联结同步。因此对于组合的数据对象的同步来说,也无需在单个待同步的数据对象之间提供接口或实施成像规则。
图7示出了按本发明的用来使数据对象同步的系统的例子。该系统包括数据处理装置DV,其通过通讯网络K(例如互联网)与一些存储装置(例如计算机或智能电话)耦合。在这些存储装置DB1和DB2中能够分别存储一些数据对象,其中这些数据对象分别能够指不同元类的实例。
上面提到的形成架构的树状结构存储在数据处理装置DV中,并且必要时在此维护。存储在存储装置DB1和DB2中的数据对象分别包括标识,它指明,存储在数据处理装置DV中的形成架构的树状结构的元类配备有数据对象。为了使存储在第一存储装置DB1中的数据对象与存储在第二存储装置DB2中的数据对象同步,它们按上述方法转换成元对象,将元对象同步,并且使同步的元对象转回为各数据对象。待转换的数据对象在此能够通过通讯网络K传递到数据处理装置DV上,所述同步在该处同步,并且同步的数据对象随后能够再次通过通讯网络存储在相应的存储装置中。
如果将新的数据对象(其代表元类的实例,它还不形成等级的树状结构的组成部分)添加到存储装置中,只须为这些额外的元类定义两个转换,以便该新的元类的实例能够与其它所有数据对象同步。在此有利的是,为了定义这两个转换只须识别上一级的元类的数据结构(例如在图2所示的例子中为了转换新抵达的元类MK8,只须识别元类MK3的数据结构,以便定义MK8和MK3之间的两个转换)。为此无需知道此形成架构的树状结构中的其余元类的构造和数据结构。
该数据处理装置DV例如指置于云中的伺服装置。
为了实施按本发明的方法,能够设置处理器或微处理器,它用来在树状结构中获得元类,该元类是待同步的数据对象的共同的元类。此外还调整处理器或微处理器,从该获得的元类中生成两个元对象,并且执行数据对象至元对象或从元对象至数据对象的相应转换,如同上面描述的一样。元类的树状结构的定义例如能够存储在外部文件(例如文件系统或数据库)中,其中微处理器访问树状结构的该定义并且在同步的框架内访问该定义。待同步的数据对象能够存储在不同的系统(例如不同的计算机)中。该微处理器在此这样构成,即它能够朝各自的计算系统例如通过因特网建立通讯连接,以便能够将存储在该处的数据对象装载到微控制器的工作存储器中,并且这些装载的数据对象媩后能够转换为相应的元对象。这些同步的元对象随后再次通过通讯连接传递到相应的计算系统上,并且存储在该处。
附图标记清单:
A、A2数据对象
B树状结构(形成架构的)
D数据对象
DB1、DB2存储装置
DO1至DOn数据对象或组合的数据对象
DV数据加工装置,例如云伺服装置
E数据对象
K通讯网络
MK1至MKn树状结构B中的元类
MKW树状结构B中的根元类
MO1、MO2第一和第二元对象(元类的实例)
MOT暂时的元对象(元类的实例)
S同步
TR转换规则
T1至Tn数据对象和元对象之间或元对象和数据对象之间的转换
Claims (23)
1.一种计算机实施的方法,其用来使第一数据对象(DO1)与至少一个第二数据对象(DO2)同步,其中每个数据对象(DO1;DO2)都包括一些属性,其中该方法在处理器中实施,其特征在于,
-每个数据对象(DO1;DO2)都分配给由一些元类(MK1至MKn)构成的元类,其中这些元类布置在具有根元类(MKW)的树状结构(B)中,并且其中这些元类分别包括一些属性;
-在树状结构中获得元类,该元类位于第一数据对象(DO1)和根元类(MKW)之间的路径上并且位于第二数据对象(DO2)和根元类(MKW)之间的路径上,
-由所述获得的元类中生成第一元对象(MO1)和第二元对象(MO2);
-执行第一转换(T1),将第一数据对象(DO1)转换为第一元对象(MO1);
-执行第二转换(T2),将第二数据对象(DO2)转换为第二元对象(MO2);
-使第一元对象(MO1)和第二元对象(MO2)同步(S);以及
-执行第三转换(T3),将第一元对象(MO1)转换为第一数据对象(DO1),和/或将第二元对象(MO2)转换为第二数据对象(DO2)。
2.根据权利要求1所述的方法,其特征在于,该获得的元类是这样的元类,即它在第一数据对象(DO1)之间和/或在第二数据对象(DO2)和根元类(MKW)之间的路径上在树状结构(B)的架构中位于最下方。
3.根据上述权利要求中任一项所述的方法,其特征在于,
-在第一转换(T1)时第一数据对象(DO1)的属性的属性值转换成第一元对象(MO1)的属性的属性值,
-在第二转换(T2)时第二数据对象(DO2)的属性的属性值转换成第二元对象(MO2)的属性的属性值,并且
-在第三转换(T3)时,
-第一元对象(MO1)的属性的属性值转换成第一数据对象(DO1)的属性的属性值,和/或
-第二元对象(MO2)的属性的属性值转换成第二数据对象(DO2)的属性的属性值。
4.根据上述权利要求中任一项所述的方法,其特征在于,第一转换(T1)和/或第二转换(T2)和/或第三转换(T3)能够分别包括一些局部转换,其中转换(T1、T2、T3)的局部转换依次并且以预定的顺序来实施。
5.根据权利要求4所述的方法,其特征在于,局部转换
-第一数据对象(DO1)或第二数据对象(DO2)转换为暂时的元对象(MOT),或者
-暂时的元对象(MOT)转换为第一数据对象(DO1)或第二数据对象(DO2),或者
-暂时的元对象(MOT)转换为第一元对象(MO1)或第二元对象(MO2),或者
-第一元对象(MO1)或第二元对象(MO2)转换为暂时的元对象(MOT),其中该暂时的元对象(MOT)相当于元类的实例,该元类位于第一数据对象(DO1)之间和/或在第二数据对象(DO2)和获得的元类之间的路径上。
6.根据上述权利要求中任一项所述的方法,其特征在于,在第一元对象(MO1)与第二元对象(MO2)同步(S)时,按预先设定的同步规则,第一元对象(MO1)的属性的属性值成像到第二元对象(MO2)的属性的属性值上,或反过来。
7.根据上述权利要求中任一项所述的方法,其特征在于,每个转换(T1、T2、T3)和/或每个局部转换都能配备至少一个转换规则(TR),它包括成像规则,它指明,数据对象(DO1、DO2)、暂时的元对象或元对象(MO1、MO2)的属性如何在数据对象(DO1、DO2)、暂时的元对象或元对象的属性上成像。
8.根据权利要求7所述的方法,其特征在于,至少一个转换规则(TR)包括生效标准,其指明,该转换规则是否能够用于待实施的转换,其中在多个转换规则中将预定的转换规则设为标准-转换规则。
9.根据上述权利要求中任一项所述的方法,其特征在于,
-第一数据对象(DO1)存储在第一存储装置(DB1)中,
-第二数据对象(DO2)存储在第二存储装置(DB2)中,
其中这两个存储装置能够通过通讯网络(K)与数据处理装置(DV)耦合,和/或
-第一数据对象与第二数据对象的同步(S)借助数据处理装置来实现,其中元类的树状结构(B)和转换规则(TR)在该数据处理装置中管理和存储。
10.根据上述权利要求中任一项所述的方法,其特征在于,这些数据对象(DO1、DO2)分别能够包括标识,它指明,各自的数据对象分配给哪些元类(MK1至MKn)。
11.根据上述权利要求中任一项所述的方法,其特征在于,如果第二数据对象在同步之前不存在,则在第二转换之前(T2)或在第三转换(T3)之后或之时能够生成该第二数据对象(DO2)。
12.根据上述权利要求中任一项所述的方法,其特征在于,每个数据对象(DO1;DO2)都能够指配备该数据对象的元类(MK1至MKn)的实例。
13.根据上述权利要求中任一项所述的方法,其特征在于,除根元类(MKW)以外,每个元类(MK1至MKn)能够由正好一个在树状结构(B)中处于上一级的元类推导而来。
14.根据上述权利要求中任一项所述的方法,其特征在于,这些数据对象(DO1;DO2)是组合的数据对象,其中每个组合的数据对象都包括一些相互有关系的数据对象。
15.根据上述权利要求所述的方法,其特征在于,在组合的数据对象中预定的数据对象是主数据对象,因此能够使待同步的组合的数据对象的主数据对象同步,其中该组合的数据对象的与该主数据对象有关的其它数据对象能够自动地同步。
16.根据上述权利要求14至15中任一项所述的方法,其特征在于,在组合的数据对象同步时组合的数据对象的数据对象的关系同样相互同步。
17.根据上述权利要求15至16中任一项所述的方法,其特征在于,该转换规则或这此转换规则也包括成像规则,它们指明,主数据对象以及组合的数据对象的与该主数据对象有关的其它数据对象如何在暂时的主数据对象或暂时的组合的元对象中成像。
18.根据上述权利要求14至17中任一项所述的方法,其特征在于,
-在第一步骤中组合的数据对象的数据对象相互独立地优选根据按权利要求1至13中任一项所述的方法来同步,并且
-在第二步骤中数据对象的关系相互同步。
19.根据上述权利要求14至18中任一项所述的方法,其特征在于,组合的数据对象的两个数据对象之间的关系同样是数据对象,其中这些关系优选根据按权利要求1至13中任一项所述的方法来同步。
20.根据上述权利要求中一项所述的方法,其中每个数据对象(DO1;DO2)都能够正好分配给元类(MK1至MKn)。
21.一种系统,其用来使第一数据对象(DO1)与至少一个第二数据对象(DO2)同步,其中该系统包括数据处理装置(DV),它用来实施按上述权利要求中任一项所述的方法。
22.按权利要求21所述的系统,其中该数据处理装置(DV)可通过通讯网络(K)与至少一个存储装置(DB1;DB2)耦合,并且第一数据对象(DO1)通过通讯网络由存储装置(DB1)接收,并且第二数据对象(DO2)在与第一数据对象同步之后通过通讯网络传递到存储装置(DB2)上。
23.一种机算机程序产品,其能够装载在数据处理装置的存储器中并且能够在它上面实施,还包括程序部段,它能够实施按上述权利要求1至20中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013108306.4 | 2013-08-01 | ||
DE102013108306.4A DE102013108306A1 (de) | 2013-08-01 | 2013-08-01 | Verfahren und System zur Synchronisation von Daten |
PCT/EP2014/066531 WO2015014955A1 (de) | 2013-08-01 | 2014-07-31 | Verfahren und system zur synchronisation von daten |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105659226A true CN105659226A (zh) | 2016-06-08 |
CN105659226B CN105659226B (zh) | 2019-05-31 |
Family
ID=51298729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480043611.2A Expired - Fee Related CN105659226B (zh) | 2013-08-01 | 2014-07-31 | 使数据同步的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10402422B2 (zh) |
EP (1) | EP3028182B8 (zh) |
CN (1) | CN105659226B (zh) |
DE (1) | DE102013108306A1 (zh) |
WO (1) | WO2015014955A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461739B2 (en) * | 2020-02-18 | 2022-10-04 | CalendarBridge Inc | Privacy-sensitive, multi-calendar synchronization |
CN114840393B (zh) * | 2022-06-29 | 2022-09-30 | 杭州比智科技有限公司 | 一种多数据源数据同步监控方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043641A (zh) * | 2007-03-07 | 2007-09-26 | 中兴通讯股份有限公司 | 一种rnc间mbms数据同步方法及系统 |
US20080114804A1 (en) * | 2006-11-10 | 2008-05-15 | The Mathworks, Inc. | System and method for interoperating with foreign objects from a single language computing environment |
WO2010046734A1 (en) * | 2008-10-21 | 2010-04-29 | Accenture Global Services Gmbh | Model transformation unit |
CN102054035A (zh) * | 2010-12-29 | 2011-05-11 | 北京播思软件技术有限公司 | 一种基于数据范围的数据库数据同步方法 |
CN103051729A (zh) * | 2013-01-14 | 2013-04-17 | 南京轨道交通系统工程有限公司 | 一种异构数据同步实现方法 |
CN103136231A (zh) * | 2011-11-25 | 2013-06-05 | 中国移动通信集团江苏有限公司 | 一种异构数据库间的数据同步方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5392390A (en) * | 1992-04-10 | 1995-02-21 | Intellilink Corp. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
US7490112B1 (en) * | 1997-04-15 | 2009-02-10 | Intellisync Corporation | System and methods for synchronizing information among disparate datasets |
US7359926B1 (en) * | 2003-02-13 | 2008-04-15 | Stampede, Technologies, Inc. | System for optimization of database replication/synchronization |
US7904340B2 (en) * | 2003-03-24 | 2011-03-08 | Siebel Systems, Inc. | Methods and computer-readable medium for defining a product model |
US7693888B2 (en) * | 2005-05-10 | 2010-04-06 | Siemens Communications, Inc. | Data synchronizer with failover facility |
US7565365B2 (en) * | 2005-08-31 | 2009-07-21 | Sap Ag | Object storage and synchronization hooks for occasionally-connected devices |
WO2007117132A1 (en) * | 2006-04-07 | 2007-10-18 | Mag Productions Holding B.V. | Method and system for synchronization of databases |
US8078749B2 (en) * | 2008-01-30 | 2011-12-13 | Microsoft Corporation | Synchronization of multidimensional data in a multimaster synchronization environment with prediction |
US8209437B2 (en) * | 2008-09-25 | 2012-06-26 | Rockliffe Systems, Inc. | Personal information management data synchronization |
-
2013
- 2013-08-01 DE DE102013108306.4A patent/DE102013108306A1/de not_active Ceased
-
2014
- 2014-07-31 EP EP14748164.2A patent/EP3028182B8/de active Active
- 2014-07-31 WO PCT/EP2014/066531 patent/WO2015014955A1/de active Application Filing
- 2014-07-31 CN CN201480043611.2A patent/CN105659226B/zh not_active Expired - Fee Related
-
2016
- 2016-01-29 US US15/010,893 patent/US10402422B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080114804A1 (en) * | 2006-11-10 | 2008-05-15 | The Mathworks, Inc. | System and method for interoperating with foreign objects from a single language computing environment |
CN101043641A (zh) * | 2007-03-07 | 2007-09-26 | 中兴通讯股份有限公司 | 一种rnc间mbms数据同步方法及系统 |
WO2010046734A1 (en) * | 2008-10-21 | 2010-04-29 | Accenture Global Services Gmbh | Model transformation unit |
CN102054035A (zh) * | 2010-12-29 | 2011-05-11 | 北京播思软件技术有限公司 | 一种基于数据范围的数据库数据同步方法 |
CN103136231A (zh) * | 2011-11-25 | 2013-06-05 | 中国移动通信集团江苏有限公司 | 一种异构数据库间的数据同步方法及系统 |
CN103051729A (zh) * | 2013-01-14 | 2013-04-17 | 南京轨道交通系统工程有限公司 | 一种异构数据同步实现方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015014955A1 (de) | 2015-02-05 |
EP3028182B8 (de) | 2018-02-21 |
US10402422B2 (en) | 2019-09-03 |
US20160147857A1 (en) | 2016-05-26 |
DE102013108306A1 (de) | 2015-02-05 |
EP3028182A1 (de) | 2016-06-08 |
EP3028182B1 (de) | 2017-11-29 |
CN105659226B (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107918865B (zh) | 保单数据批改处理方法、装置、服务器和存储介质 | |
US9691049B2 (en) | Master bill of materials creation | |
CN104077671A (zh) | 一种同步库存信息的方法和系统 | |
CN104216961B (zh) | 一种数据处理方法和装置 | |
US9684680B2 (en) | Version control methodology for network model | |
CN102446303B (zh) | 工艺路线组件的分配方法及装置 | |
CN105404506A (zh) | 一种云计算镜像文件的构建方法及系统 | |
CN104156832A (zh) | 系统间数据核对方法及装置 | |
CN112217656A (zh) | Sd-wan系统中的网络设备的配置信息同步方法和装置 | |
CN109725952A (zh) | 一种应用程序插件化的方法、系统以及相关装置 | |
CN109902114A (zh) | Es集群数据复用方法、系统、计算机装置及存储介质 | |
CN105659226A (zh) | 使数据同步的方法和系统 | |
US10776313B2 (en) | Converting source objects to target objects | |
CN104298761A (zh) | 一种异构软件系统间主数据匹配的实现方法 | |
CN105701256A (zh) | 一种通讯点表文件比较方法 | |
CN112860954A (zh) | 实时计算的方法以及实时计算系统 | |
CN111258840B (zh) | 一种集群节点管理方法、装置及集群 | |
CN109146477B (zh) | 一种以太坊发布智能合约时指定地址的方法 | |
CN112163024B (zh) | 一种基于层级关联结构的配置信息导出和导入方法 | |
CN107783787A (zh) | 一种软件系统拆分方法及终端设备 | |
CN109614536A (zh) | 基于YouTuBe的视频批量爬取方法、系统、装置及可存储介质 | |
CN104133876A (zh) | 一种基于事务的增量式管理集群配置文件方法 | |
CN104333578A (zh) | 一种分布式数据交换系统及方法 | |
CN109960553A (zh) | 一种多视窗内容呈现方法与系统 | |
US20240143619A1 (en) | Exchanging data with a decentralized distributed database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190531 Termination date: 20210731 |