选择同步数据的制作方法

文档序号:6582093阅读:126来源:国知局
专利名称:选择同步数据的制作方法
技术领域
本发明涉及选择同步数据。数据同步是一种操作,在所述操作中,提供在至少两个数据库的数据集合之间的一致性,也就是说,在同步后,数据集合中的数据单元基本上是互相对应的。从广义上说,术语“数据库”应该理解涉及驻留在数据源或数据存储器中并且可以使用一个或多个应用程序更新的任何数据集合。
为了改善应用数据的同步,已经开发了一种基于可扩展的标记语言(XML)的同步标记语言(SyncML)。使用SyncML格式消息的SyncML同步协议,允许任何应用数据在任何网络终端之间同步。SyncML同步协议能在无线和固定网路中运行,并且支持多个传输协议。SyncML既提供同步协议又提供数据表示协议。
在SyncML的标准中说明了数据同步的实现,但是,所述标准没有详细规定如何选择待同步的数据。一般地说,在服务器或台式计算机上的数据量,大大超过了便携式设备的容量。即使较大的便携式终端,诸如便携式计算机,也不需要能够存储用户需要的所有数据,例如复制包含公司数据系统中的所有数据。如果同步经由无线接口实现同步,那么,可以使用的带宽就是另一个限制。从用户的观点看,经由无线接口的同步可能显得太慢,而在移动通信网络中的传输代价可能太高。因此,需要通过仅仅选择同步数据中的一个子集来限制待同步的数据量。这就称作为“自适应同步”。然而,选择一个子集并不那么容易。例如,当电子邮件报文待同步时,诸如“New Item”、“Outgoing Item”和“Delete Item” 等子集可能有用。然而,在新项目中,可能有一个报文涉及同一个目标的前一个报文,在这种情况下,重要报文可能无法到达用户手中。因此,选择同步数据取决于不同的因子,诸如相关的应用程序、终端和用户的需求。
在先有技术中,自适应同步局限于某些专用技术中,所述技术仅仅允许把专用数据单元排除在同步数据之外。典型的实例是拒绝电子邮件连接文件。US 6052735公开了一种方法,在所述方法中,仅仅某些电子邮件报文的连接文件在计算机和无线终端之间同步。所述同步可以基于用户的选择、或者基于滤波,在后一种情况下,仅仅预先确定的连接文件被同步。在所述情况下,仅仅按照专用传输技术传送的电子邮件报文可以被同步。然而,US 6052735并没有提供一种用于有效选择同步数据的解决方案。另外,现有技术的解决方案也没有考虑不同应用的需要。SyncML协议提供一种自适应可能性,其中服务器意识到对终端的限制。这意味着,终端应用不需要支持数据单元的所有字段,因而,可以减少数据量。尽管如此,在这种情况下,仍然要把所有数据单元取给所述终端。
本发明基于以选择同步数据为目的而按照各数据单元之间关系保持数据系统中的元数据。元数据至少包括关于各数据单元之间相关性关系的信息。假如初始数据单元被选中,那么,所述相关性最好以数值形式给出,所述数值表示用户需要这样一种数据单元的慨率,即,所述数据单元或者直接地或者通过其它数据单元与初始数据单元相联系。在所述系统中,当第一个数据集合待同步时,检索与该第一个数据集合的至少一个初始数据单元相联系的元数据。根据该元数据,选择包括与初始数据单元关系最紧密的至少一个数据单元的第二数据集合作为同步数据。一般地说,除了第一数据集合外,第一数据集合之外与初始数据单元关系最紧密的数据单元被选入第二数据集合。另一方面,根据所述元数据,也有可能仅仅把第一数据集合中最相关的初始数据单元选入第二数据集合中。
本发明的解决方案具有这样的优点为了选择待同步的第二数据集合,它允许考虑数据单元之间的不同关系。这就允许选择最相关的数据单元用于同步,从而更有效地利用有限的终端资源和在无线数据传输中可利用的有限带宽。由于可以自动地选择用于同步的相关数据单元,因此,用户不必单独地定义或限定待同步的数据单元,这就提高了方法的适用性。由于所述方法可以在不同的应用中使用,因此,就可以考虑不同应用之间的关系。
根据本发明的最佳实施例,特定情况元数据被定义成不同同步情况的数据系统。根据相关的同步情况,选择表示数据单元之间关系的元数据。例如,同步情况可以以适用于用户的简表选择对象的形式定义,诸如出差旅程简表或度假旅程简表。所述实施例的优点在于,进一步提高在选择同步数据时考虑用户需要的可能性。
图2是元数据图形;图3示出图解说明各数据单元之间关系的路径;图4是图解说明根据本发明最佳实施例的方法的流程图;图5是图解说明根据本发明第二最佳实施例的方法的流程图;以及图6示出初始数据集合和与之相关联的相邻数据单元。
在第二个实例中,终端TE、同步服务器S和数据库DB都与无线网络WNW连接。与网络WNW连接的终端TE包括用于与网络WNW进行无线通信的移动通信功能。无线网络WNW可以是任何已知的无线网络,诸如支持GSM业务的网络、支持GPRS业务(通用分组无线电业务)的网络、第三代移动通信网络,诸如UMTS网络(通用移动电信系统)、无线局域网(WLAN)、或专用网。应当指出,为了清析起见,虽然在

图1中,服务器S和数据库DB是分开表示的,但是,服务器S也可以包括数据库DB。
终端TE(在有线网络LAN和无线网络WLAN中)和服务器S都包括存储器MEM、SMEM;用户接口UI、SUI;用于安排数据传输的I/O装置I/O、SI/O;以及;包括一个或多个处理器的中央处理器CPU、SCPU。待同步的应用数据可以存放在TE存储器MEM(从同步的观点看,它可以是待同步数据库)中、数据库DB的存储器中以及服务器S的存储器SMEM中。为响应存放在存储器MEM、SMEM中并且在中央处理器CPU和SCPU中运行的计算机程序代码,终端TE和同步服务器S运行本发明的装置,所述装置的一些实施例示于图4和图5中。所述计算机程序可以通过网络获得和/或可以将它们存放在存储装置中,诸如磁盘、小型只读光盘或其它外部存储装置中,可以将它们从这些存储装置装入存储器MEM、SMEM中。也可以使用硬件解决方案。
关于数据单元之间关系的元数据可以保持在数据系统中。图2示出元数据图形的实例。图形的节点表示数据单元,而用箭头表示的链接说明数据单元之间的关系。每一个链接被赋予至少一个值,后者表示目标节点与源节点联系的紧密程度(关系的紧密程度)。元数据图形最好是定向网络。如图2所示,最好还确定不同类型的数据单元(用不同形状表示)之间的关系。图2中用的较粗的链接线表示数据单元之间的接近的关系,而用较细的链接线表示疏远的关系。简单的元数据图形可以例如包括这样的电子邮件数据单元,它至少与同一对象的较早的电子邮件报文链接、带有发送程序或接收程序的连接信息、以及如果有的话,与数据单元连接的连接文件。
同步过程要求确定这样的初始数据集合至少其数据单元是待同步的。元数据链接使得可以确定从初始数据集合到不同数据单元的路径。图3举例说明根据本发明最佳实施例的从初始数据单元A到数据单元B的路径。在最佳实施例中,数据单元之间的关系由相关性和实用性说明。假如已经选择了初始数据单元,相关性就是这样的值,它表示用户需要或者直接或者通过其它数据单元与初始数据单元相联系的数据单元的慨率。在图3中,相关性用ri表示。假如已经选择了初始数据单元,实用性表示或者直接地或者经由通过其它数据单元的链接与元数据中初始数据单元相联系的数据单元的实用性。实用性可以看作通过相关的数据单元获得的附加值,或者,另一方面,如果即使需要也不能获得所述数据单元的话,就看作为丢失。在图3中,实用性用ui表示,在A和B之间的每一个链接都配备有相关性值ri和实用性值ui。初始化数据单元A和相关数据单元B可以通过几条路径连接。不同的路径表示了需要初始数据单元A的用户为什么也需要数据单元B的不同理由。在图3中,A和B之间存在两条路径p1和p2,它们分别具有以下慨率p1=P(p1)=r1*r2p2=P(p2)=r3*r4*r5因此,B到A的相关性等于分配给沿所述路径的各个数据单元的相关性值的乘积。B对于A的实用性由最后链接的实用性值确定、即、通过路径p1的实用性为u2,而通过路径p2的实用性为u5。盈余实用性(gained utility)g是用户真正需要的数据单元的实用性。由于用户的活动不能预先知道,所以盈余实用性就是一个随机变量,因此,具有分布值和期望值。可以通过计算期望盈余实用性E(g)值来定义数据单元A和B之间关系的紧密程度,即,在选择数据单元A时数据单元B的重要性。如果用户有几个不同理由(多个路径p1、p2)需要数据单元B,则可以用各路径的最大实用性的形式(max(u2,u5))来确定利用数据单元B获得的盈余实用性。也可以使用单个路径的实用性或者组合不同路径的实用性作为通过数据单元选择获得的实用性。期望盈余实用性E(g)的计算最好要考虑p1、p2两条路径,由此得到以下公式E(g)=u2*P(p1)*(1-P(p2))+u5*P(p2)*(1-P(p1))+max(u2,u5)*P(p1)*P(p2).
如果连接的实用性值ui设置为1,期望盈余实用性值E(g)表示为某些理由需要的数据单元的慨率。这样,在图3的实例中,E(g)为P(p1)*(1-P(p2))+P(p2)*(1-P(p1))+P(p1)*P(p2)=P(p1)-P(p1)*P(p2)+P(p2)-P(p2)*P(p1)+P(p1)*P(p2)=P(p1)+P(p2)-P(p1)*P(p2)=P(p1 U p2).
相关数据单元的期望盈余实用性E(g)值的比较使得除初始数据单元之外可以在待同步的所述选择数据集合中选择包括最大值的数据单元。例如,可以应用最小生成树方法或者通过内容分析收集元数据。为了对处理资源和所需时间进行优化,上述计算方法可能会出现偏差。例如,考虑的路径数目可以限制在仅仅包括直接链接,在此情况下,路径长度为1。限制所考虑的路径数目的方法包括Dijkstra的最小路径算法和Kruskal算法。
图4示出根据本发明的最佳实施例的方法。如上所述,在401中,把包括相关性和实用性信息的元数据汇集到系统中。元数据可以保持在存储器MEM、SMEM的数据结构中、执行所述方法的应用程序中、或应用输入数据中。元数据还可以例如通过Internet从网络数据库装入。将待同步的新的初始数据单元、相关的数据单元以及表示它们之间的关系的实用性相关性值加到元数据中。根据最佳实施例,这里使用了一般规则,诸如从任何电子邮件项目到相关字处理文件的链接的相关性值总是0.7。因此,总是使用数值0.7,不管电子邮件项目或字处理文件,这压缩了存储元数据所需要的空间。
在最佳实施例中,元数据是专用的。在那种情况下,为新应用选择数据单元所需要的新元数据被加到例如同步装置(TE,S)的专用目录中。例如,元数据确定通过电子邮件应用程序同步的各电子邮件数据项目之间的关系。换句话说,根据使用的应用程序,选择将从其中提取各数据单元之间关系的元数据。专用的元数据也可以用于通过把不同的相关性和/或实用性值加到不同应用的各数据单元,来影响不同应用的各数据单元之间的关系。例如,从电子邮件项目到字处理文件的链接具有的相关性数值,比从日历程序的入口到字处理文件的链接高。专用元数据也可以以表的格式使用,例如,在所述表中提供不同应用项目之间的相关性和/或实用性值。
专用元数据可以根据应用目的进行修改,并且另外还有,不同元数据可以在不同的情况下,也就是不同的同步内容下使用。例如,当一个人要出去进行商务旅行时,商务卡的数据单元的相关性要比他和/或她进行度假旅行的高。通过应用不同应用级或设备级的用户简表、类似于设置在移动台中的用户简表,可以安排元数据用于不同的同步内容中。可以存储用于不同简表的简表专用元数据;也可以根据不同情况下的不同准则,对元数据进行修改,或者选择待同步的数据单元。典型的同步内容包括综合内容、商务旅程、度假旅程、读取电子邮件报文和会议。例如,当已经为用户安排一个会议时,(这可以用日程来表示),数据要与用户的终端TE同步,以便将参加会议人员的商务卡形成初始数据集合,并且它们配备有这样的链接,后者具有相对于由与会议者最新发送的电子邮件报文的高的相关性值。
例如,通过在数据单元之间添加新的链接,或者改变链接的实用性或相关性值,用户也可能影响元数据。要保持很好的适用性,可以定义若干预定的高级用户优先权,根据优先权,元数据被自动地确定和修改。这可以用一个实例说明,在所述实例中,用户把商务卡看得不是很重要,因此,为它们选择一个低优先权的卡。这样,同步应用程序可以为商务卡设置低相关性值。可以以用户专用的方式确定与同步相关的所有优先权,并且,可以使用用户的ID来选择合适的优先权(优先权也可以存放在例如集成电路(IC)卡中)。
此外,根据本发明的另一个实施例,在步骤401,可以通过分析数据单元内容来汇集和更新元数据。还可以响应数据单元内容的变化而修改内容的相关性和/或实用性值。
可以这样安排更新元数据的步骤401,使其发生自动监视用户动作的时候。这就是说,当用户请求所述数据单元时,新数据单元连同其相关性数据的能够自动地添加到元数据中。此外,数据单元使用的频率可以被监控,并且相关性和/或实用性值会根据所述监控而自动修改。例如,相关性值可以根据使用频率而改变,而实用性值则根据使用的持续时间而改变。例如,可以通过神经网络安排对用户操作的监控和元数据的自动汇集。
当需要同步时,在步骤402确定初始数据集合。所述初始数据的集合最好是预定的专用集合。用户也可以将数据单元添加到初始数据的集合中,或者从初始数据集合中清除它们。接着,在步骤403检索与初始数据集合中的初始数据单元相关联的数据单元,即,定义由初始数据单元构成的链接。
根据本发明的实施例,在步骤404,可以根据应用或情况修改数据单元。专用或特定情况的变换函数可以用于将不同的数据单元加权,以便提供不同的同步简表,例如上面说明的那些简表。变换函数特别涉及不同数据单元的相关性和实用性值的专用或特定情况的系数。变换函数适用于数据单元之间的链接,并且变换后的相关性和实用性值然后用于下一步骤(405)。本实施例提供这样的优点使不同目的和不同情况的数据单元可以有不同的权重,但是,使用尽可能小的存储空间。
还有这样的可能,在步骤404,排除在计算期望的盈余实用性值之前已经在元数据中表示的一些数据单元。所述排除可以基于为实用性和/或相关性设定的最小值,在这种情况下,仅仅所述初始数据集合中超出所述最小数值的相关数据单元有资格作为选择数据集合的候选者。当应用最小相关性值时,高相关性的链接或短路径要优先于低相关性的长路径。如果给相关性分配一个高的最小值,那么,在选择数据单元时可以减小高实用性值的影响。例如,为实用性设定的最小值使得可以避免容易用其它方式(诸如电话号码)获得数据单元的同步(因而提供了低的实用性)。另一个可能的排除准则是路径长度,它使得离初始数据集合太远的数据单元被排除。此外,步骤404中的排除方法使得可以设置限制值,从而,不需要计算和比较包括在元数据中的所有数据单元的期望的盈余实用性值。这就加快了选择过程,压缩了执行所述方法的设备中需要的处理容量。在所述排除步骤中应用的最小值还可以是专用的,在这种情况下,它们随应用目的而变化。
元数据(以及如果有的话,步骤404的修改和/或排除)不管怎样提供了与初始数据集合中的数据单元相关联的相关数据单元。在步骤405,由产生相关数据单元的路径表示的相关性和实用性值最好用于计算关于它们的期望的盈余实用性值E(g)。在步骤406,比较获得的关于不同数据单元的期望的盈余实用性值。在步骤407,把具有最高期望的盈余实用性值的数据单元加到选择数据集合中。在步骤408,当新的数据单元加到选择数据集合中时,例程检查数据系统中预先设置的结束准则是否得到满足。结束准则可以是,例如,超过为待同步的数据设置的最大容量;超过数据单元的最大数目;或者不能获得最小的期望的盈余实用性值(即,没有保存超过期望相关性的最小值的数据单元)。如果结束准则没有得到满足,则在步骤407,通过将新的数据单元加到选择数据集合中来继续所述例程。
一旦结束准则得到满足,在步骤409,一般包括根据初始数据集合定义的相关数据单元和结束准则的选择数据集合就被同步。在这种连接中,由于可以检查最新的同步事件,所以,对选择数据集合所作的修改和修改后的数据单元,或者至少有关修改的数据可以传送给涉及所述同步的另一方。应当指出,作为对以上说明的修改,只有相关性值可以用于选择数据单元(在406中的比较处理或如结束准则408)。根据上述步骤401-408的数据选择可以在一台参与同步的设备中、几台设备中、或所有设备中实现。
可以利用任何同步方法使所述选择数据集合同步。可以利用基于SyncML标准的协议实现所述同步,虽然本发明的应用范围不限于此。根据SyncML标准,首先在步骤409将同步会话(sessios)初始化,以便选择待同步的数据库。SyncML的客户机设备(TE)包括执行SyncML协议的同步客户代理(Sync Client Agent)。由于发送了最新报文,所以客户代理可以将包含关于对选择数据集合所作修改的信息的SyncML报文(客户修改)发送给SyncML服务器(S)。SyncML服务器包括控制同步的同步服务器代理(Sync Server Agent)和同步引擎,而且,它通常要等待客户的同步初始化。SyncML服务器与数据同步,即,分析对选择数据集合所作的修改,并调整数据单元(进行必要的添加、替换和删除)。SyncML服务器将一个包含从最新同步报文之后对选择数据集合所作修改的信息的服务器修改报文从服务器S发送给客户设备。虽然简单,但是,以上实例有助于说明基于SyncML标准的同步。
也可以应用修改过的SyncML协议,在这种情况下,可以在同步会话初始化期间选择待同步的数据。根据本发明的最佳实施例,也可以在同步会话期间确定TE和S是否支持最佳实施例的自适应同步。这时,TE使用初始化报文请求应用自适应同步类型,所述同步类型配备有特定的SyncML标准报警码。如果S支持自适应同步,那么,例程可以根据以上说明的步骤402-408,在同步客户设备TE和同步服务器S中,继续选择选择数据集合。当TE已经确定选择数据集合时,它就将最后的同步会话之后进行的修改(客户修改)发送给同步服务器S。TE也可以发送与选择数据集合的确定相关的附加请求,例如,特定的数据单元必须包括在集合中,这一点在选择所述选择数据集合时,服务器S必须考虑。TE的优先权和与自适应同步相关的其它数据可以,例如,在Meta元件和在电磁干扰场中发送。S以类似的方式选择(402-408)它自己的选择数据集合。服务器S最好这样进行选择,以便至少考虑由TE发送的数据单元的修改。另一方面,还有这样的可能性S通知终端TE,它在同步之前已经选择了选择数据集合。然而,这将增加延迟,并增加传送的数据量。
S对选择数据集合中它根据由TE发送的修改选择的并构成由服务器S同步的数据库(DB)的数据单元进行协调。在协调后,S将在最后的同步会话以后在选择数据集合中进行的修改(服务器的修改)发送给TE。在修改的基础上,TE修改它的存储器MEM中的数据单元。根据实施例,在初始化期间,如果有任何信息,TE可以将关于初始化数据集合和其它优先的信息发送给服务器S,后者根据元数据和初始数据集合选择所述选择数据集合。
图5示出根据本发明第二最佳实施例的方法,在所述方法中,元数据也可以用于排除初始数据集合中的数据单元。在步骤501,可以用以上说明的方法更新的、包括相关性和实用性信息的元数据被汇集到系统中。即使有关的数据单元处在初始数据集合中,数据单元的相关性和实用性值也可以修改。当需要进行同步时,在步骤502确定初始数据集合。接着,在步骤503,至少检索与初始数据集合的初始数据单元相关联的元数据,即,定义各初始数据单元之间的链接。
在步骤504,计算一些初始数据单元相对于其它初始数据单元的重要性。这可以以实验的方式实现,其方法是从第一数据集合中一次清除一个数据单元,并且根据元数据确定添加数据单元时获得的期望的盈余实用性值。在步骤505比较对于每一个初始数据单元计算得到的期望的盈余实用性值。在步骤506,把具有高期望盈余实用性值的初始数据单元加到选择数据集合中。当新的初始数据单元被添加到选择数据集合中,在步骤507,例程检查数据系统中预先确定的结束准则是否得到满足。结束准则可以是,例如,为待同步数据设定的最大尺寸、初始数据单元的数目、或者不能获得为期望的盈余实用性值设定的最小值。如果结束准则不能得到满足,则在步骤506通过将新的初始数据单元加到选择数据集合中而继续所述例程。当结束准则得到满足时,在508,选择数据集合中的初始数据单元可以被同步。这允许从初始数据集合中清除最小相关的初始数据单元。
图5的实施例提供阿样的优点它允许初始数据集合中通常已经被确定的初始数据单元、根据相对长久的基础按照相关性次序排列,并且只有最相关的初始数据单元被同步。还可以将图4和图5中示出的功能组合,在这种情况下,考虑其余初始数据单元以便提供初始数据集合(步骤402),因此,不是进入步骤508,而是例程通过步骤403继续确定与初始数据单元有关的数据单元的相关性。
在步骤501,可以监视用户的操作,并且根据数据单元的应用更新元数据。例如,可以安排终端TE监控存放在该终端中的音频数据文件的应用情况。当播放音频数据文件时,可以将它标记为清除、加到初始数据集合中以及被下一个同步会话中的新的音频数据文件替换。这也可以通过改变相关性和/或实用性值达到,它们表示与由音频应用标记为清除的音频数据文件的同步有关。因此,提供一个实施例,它允许确定这样的数据单元,后者在下一次同步期间被清楚并且被相同类型的新数据单元代替。
还有可能这样应用所述方法,以便在结束准则被满足后,自动清除保留在选择数据集合外面的数据单元。例如,可以根据用户的操作修改特定音乐类型的音频磁道的相关性和实用性值,以便清除音乐类型的音频磁道,而不是用一个新的取代。类似地,用所述方法可以清除过时的联系信息或电子邮件报文。
在步骤408和507中,数据量可以用作结束准则。在那种情况下,在添加新的数据单元后,总是要检查选择数据集合的大小。当达到预先确定的大小极限时,就可以开始对选择数据集合进行同步。根据最佳实施例,也能从与初始数据单元最接近的数据单元开始,一次一个地对数据单元(或者与对它们所作的修改相关的信息)进行同步。当达到预先确定的被同步数据的最大极限时,同步中断。当最大极限被超过时,终端TE也可以给同步服务器发送一条报文,以便S不再将数据单元发送去同步。在本实施例中,与图4和图5不同,选择数据集合是在同步期间选择的。本实施例的优点表现在数据单元的大小不用知道、数据单元大小计算需要大的处理能力、或者服务器不知道终端上可用存储器空间的大小。
根据另一个实施例,数据单元的大小也要在比较中考虑(步骤406和505)。可以对各个数据单元计算期望的盈余实用性值E(g)(或盈余实用性值g)与数据量的比值。具有每千字节最高E(g)的数据单元,在407、506中被选进选择数据集合中。这就允许较小数据单元超过较大的数据单元而被优选。然而,必须这样定义所述比较,使得低相关性的小数据单元不要超过高相关性的大数据单元而被优选。例如,这可以通过以下方法实现在比较中,应用数据单元大小的对数,而不是应用数据单元的大小。
根据另一个实施例,用户接口UI;SUI也可以用于查询用户需要同步一个还是多个数据单元(在步骤409或508之前)。当注意的是大数据单元,并且同步主要用存储容量非常有限的终端实现时,所述实施例是有用的。
一般地说,上面说明的实施例实用于同步服务器S,它选择同步的选择数据集合,因而,会影响发送给终端TE的数据量,一般地说,终端具有相当有限的存储器资源。所述方法也可以用于在终端TE中选取选择数据集合,把对所述数据集合所作的修改通知同步服务器S。通常,由用户添加到终端TE的数据单元的数目是相当少的,因此,所有新的数据单元(或者在终端上所作的修改)都可以方便地进行同步。然而,如果将节省时间或节省传送成本作为目标,上述解决方案也可以用于限制从终端TE传送的同步数据的数量。
在服务器到终端的同步中,最好把与从终端到服务器的同步中不同的数值(相关性、实用性)用于元数据、或者用于与数据单元的选择相关的其它准则中。在服务器S一端,目标可以是限制需要的存储器空间(对终端),而在终端TE中的目的可以是节省为比较和选择数据单元需要处理的资源。本发明解决方案的实施例提供了不同传送情况下的不同方案(用不同的元数据、或者不同的排除/结束准则)。快速同步可以确定仅仅与特别重要的数据单元同步传送连接的代价(通过公共移动通信网络)。完全同步可以在,例如,公司的局域网中实现。
图6进一步举例说明初始数据集合和选择数据集合。用点线表示的初始数据集合60包括4个数据单元,后者具有说明它们与其它数据单元的关系链接。图6中的圆圈说明根据元数据链接的所有数据单元以某种方式与初始数据集合相关联。短划线61定义待同步的选择数据集合,它是使用本发明的方法得到的。正如上面已经说明的,最好一次把一个数据单元添加到选择数据集合61中,一般地说,最接近初始数据单元的数据单元也是最重要的数据单元。应当指出,选择数据单元61不包括初始数据集合中的所有数据单元,即,已经使用了图5中说明的方法。图6还示出用连续线表示的所谓预排除数据集合62。计算;了数据集合62中各个数据单元的期望的盈余实用性值,它们是使用步骤404中的排除方法选择出来的。具有太低相关性值的数据单元,例如,留在集合62的外面。
根据实施例,总是包括在初始数据集合中并且具有与其它数据单元的链接的参考用户数据单元被添加到初始数据集合60中。用户的数据单元本身不是同步对象,但是,当选取选择数据集合时,它定义的数据单元是被考虑的数据单元。
对于本专业的技术人员来说,很显然,本发明的基本思想可以用不同的方法实现。因此,本发明和它的实施例并不局限于上述实例,它们可以在权利要求书的范围内变化。
权利要求
1.一种用于从数据系统的数据库中选择同步数据集合的方法,其特征在于所述方法包括以下步骤为了选择所述同步数据集合,把表示数据单元之间关系的元数据保持在所述数据系统中,所述元数据至少包括关于一些数据单元彼此的相关性的信息;响应将第一数据集合同步化的要求,检索与所述第一数据集合中至少一个初始数据单元相关联的元数据;选择用于同步的第二数据集合,所述数据集合至少包括一个根据所述元数据与所述初始数据单元最相关的数据单元。
2.如权利要求1所述的方法,其特征在于按照所述相关性次序,一次选择一个数据单元到所述第二数据集合中;在添加新数据单元之后,检查所述第二数据集合的大小;以及对已经达到预定的大小极限作出反应,启动与所述第二数据集合的同步过程。
3.如权利要求1或2所述的方法,其特征在于仅仅将超出一个或多个诸如最小相关性值的预定的排除准则的数据单元选择到所述第二数据集合中。
4.如以上权利要求中任何一个所述的方法,其特征在于所述元数据还包括实用性信息,假如已经选择所述初始数据单元,所述实用性信息表示由至少一个数据单元提供的实用性,所述至少一个数据单元直接或者通过其它数据单元与所述元数据中初始数据单元相关联。
5.如权利要求4所述的方法,其特征在于确定表示所述初始数据单元和所述元数据的其它数据单元之间的相关性慨率和实用性的数值;在所述元数据的所述各数据单元之间形成链接,所述链接与至少相关性和实用性的所述数值相关联;把沿着源于所述初始数据集合并且产生其他数据单元的至少一条路径的各链接的相关性值相乘;选择产生另一个单独的数据单元的最新链接的实用性值作为所述数据单元的所述实用性;通过把所述实用性值乘以所述相关性值,计算所述其它数据单元中每一个数据单元的期望的盈余实用性值;比较所述不同数据单元的所述各期望的盈余实用性值;以及选择至少一个具有最大期望的盈余实用性值的数据单元到所述第二数据集合中。
6.如以上权利要求中的任何一个方法,其特征在于根据用户的操作更新所述元数据。
7.如以上权利要求中任何一个所述的方法,其特征在于对接受新应用作出反应,将专用元数据加到所述数据系统中;以及检索与所述应用要求的所述至少一个初始数据单元相关联的元数据。
8.如以上权利要求中任何一个所述的方法,其特征在于确定所述数据系统中对应于至少两种不同同步情况特定情况元数据;以及选择与所述同步情况要求的所述至少一个数据单元相关联的元数据。
9.如以上权利要求中任何一个所述的方法,其特征在于通过以实验方式将初始数据单元逐个加到所述第一数据集合中,来确定所述第一数据集合中各初始数据单元的期望的盈余实用性值,以及将一个或多个初始数据单元选择到所述第二数据集合中,所述初始数据单元的加入提供最大期望盈余实用性值。
10.如以上权利要求中任何一个所述的方法,其特征在于所述数据系统包括至少一个同步的客户设备和同步服务器;在同步会话初始化期间,向所述同步服务器发送根据所述方法从所述同步客户设备选择数据集合的请求;根据所述方法,在所述同步客户设备和所述同步服务器中选择第二数据集合;把所述最新同步会话之后在所述第二数据集合中发生的修改从所述同步客户设备发送到所述同步服务器;以及把所述最新同步会话之后在所述第二数据集合中发生的修改从所述同步服务器发送到所述同步客户设备。
11.一种同步系统,它包括用于使至少两个数据库的数据同步的装置,其特征在于所述同步系统还包括用于保持表示各数据单元之间关系的元数据的装置,所述元数据至少包括关于所述各数据单元彼此的相关性的信息;用于对使第一数据集合同步的要求作出反应而检索与所述第一数据集合的至少一个初始数据单元相关联的元数据的装置;用于选择同步的第二数据集合的装置,所述第二数据集合包括根据所述元数据与所述初始数据单元最相关的至少一个数据单元。
12.如权利要求11中所述的同步系统,其特征在于还包括用于按照相关性次序,一次选择一个数据单元到所述第二数据集合中的装置;用于在添加新数据单元后,检查所述第二数据集合的大小的装置;以及用于对已经到达预定的大小作出反应、启动与所述第二数据集合的同步过程的装置。
13.如权利要求11或12中所述的同步系统,其特征在于所述元数据还包括实用性信息,假定已经选择所述初始数据单元,所述实用性信息表示由直接或者通过其它数据单元与所述元数据中初始数据单元相关联的至少一个数据单元提供的实用性。
14.如权利要求11、12或13中所述的同步系统,其特征在于还包括用于对接受新的应用作出反应而使用专用元数据的装置;以及用于检索与所述应用所要求的至少一个初始数据单元相关联的元数据的装置。
15.一种同步装置,它包括用于把对至少一个元数据的待同步的数据组集合的修改发送到同步过程中包含的至少一个第二方的装置,其特征在于所述同步装置还包括用于存储表示各数据单元之间关系的元数据的装置,所述元数据至少包括关于所述各数据单元彼此的相关性的信息;用于对使第一数据集合同步的要求作出反应而检索与所述第一数据集合的至少一个初始数据单元相关联的元数据的装置;用于选择同步的第二数据集合的装置,所述第二数据集合包括根据所述元数据与所述初始数据单元最相关的至少一个数据单元。
16.如权利要求15所述的同步系统,其特征在于所述元数据还包括实用性信息,假定已经选择所述初始数据单元,所述实用性信息表示由直接或者通过其它数据单元与所述元数据中初始数据单元相关联的至少一个数据单元提供的实用性。
17.一种用于控制同步设备的计算机软件产品,其特征在于所述计算机软件产品包括程序代码,当该程序代码在所述同步设备中运行时,使所述同步设备执行以下步骤存储表示待同步的选择数据集合的数据单元之间关系的元数据,所述元数据至少包括关于所述数据单元彼此之间相关性的信息;对使第一数据集合同步的要求作出反应而检索与所述第一数据集合的至少一个初始数据单元相关联的元数据;选择同步的第二数据集合,所述第二数据集合包括根据所述元数据与所述初始数据单元最相关的至少一个数据单元。
18.如权利要求17所述的计算机软件产品,其特征在于所述元数据还包括实用性信息,假定已经选择所述初始数据单元,所述实用性信息表示由直接或者通过其它数据单元与所述元数据中初始数据单元相关联的至少一个数据单元提供的实用性。
全文摘要
一种用于从数据系统的数据库中选择待同步的数据集合的方法,在该方法中,存储说明数据系统中数据单元之间关系的系统元数据、以便选择待同步的数据集合。所述元数据至少包括关于数据单元之间相关性的信息。当第一数据集合被同步时,检索与至少一个第一数据集合中的初始数据单元相关联的元数据。接着,选择用于同步的第二数据集合,所述第二数据集合根据至少一个元数据而包括具有相对于所述初始数据单元的最大相关性值的数据单元。
文档编号G06F12/00GK1392704SQ0212335
公开日2003年1月22日 申请日期2002年6月14日 优先权日2001年6月15日
发明者O·科斯基米斯, J·尤霍拉 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1