[发明专利]对访问数据库的多个客户端进行同步的方法和服务器无效
申请号: | 200810096937.8 | 申请日: | 2008-05-07 |
公开(公告)号: | CN101303699A | 公开(公告)日: | 2008-11-12 |
发明(设计)人: | 海因兹·库尔登 | 申请(专利权)人: | 软件股份公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06F9/46 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 | 代理人: | 柳春雷 |
地址: | 德国达*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 数据库 客户端 进行 同步 方法 服务器 | ||
技术领域
本发明涉及一种对访问数据库的多个客户端进行同步的方法和服务器,其中,每个客户端在数据库上执行多个任务。
背景技术
数据库是现代信息社会中非常重要的技术工具。通常,许多客户端不断地访问数据库,删除、添加或改变数据库内容。例如在金融机构的数据库的情况下,有持续的事务流程在数据库上执行,这要求对相应数据进行正确技术处理。
出于安全和性能的原因,需要定期地在数据库上执行某些管理任务。一个例子是备份整个数据库系统及其所有数据。然而,可能存在其它的管理任务,例如,将数据库迁移到新的硬件和/或软件系统,或测试其相关的性能。当各个客户端连续访问数据库时,如果要避免所存储数据的不一致性,则可能不执行某些管理任务。例如,如果在从一个账户向另一个转移某些数额期间执行金融机构数据库的备份,因为在其间所发生的备份,所以要避免所保存的数据表现为从第一账户减少了数额但所减少的数额并没有添加到第二账户。这仅仅是一个例子,它显示出针对某些管理任务,需要对所有在数据库上进行操作的客户端进行同步,或至少对会引起这种不一致性的客户端进行同步。
在现有技术中,已知执行如下面参见图1和图2所描述的这种同步。
图1示意性给出了在数据库1上操作的多个客户端c0-c5的布置。如果客户端c1-c5在数据库1上都没有任何打开的任务,则客户端c0-c5是同步的。在同步请求已被发出后,当目前处于被请求状态(在数据库上没有打开的任务)的客户端想要在数据库1上打开新任务时,客户端的请求被拒绝,并且指示客户端等待,直到实现了同步并且完成了管理任务为止(参考图2的流程图)。
如果客户端在同步请求被发出时正在执行某项任务,并且没有在给定的超时时间段内将状态改变到所请求的状态(例如从“打开的任务”到“关闭的任务”),则客户端被重置为所期望的状态,以使其不再妨碍同步和管理任务的随后执行。
然而,在某些情况下,当同步请求被发出时,客户端可以释放与数据库的连接。结果,即使任何其它试图在超时时间段期间打开任务的客户端中的一个或多个客户端的任务可以在超时时间段完全过去之前被执行或完成,所述任何其它试图在超时时间段期间打开任务的客户端也将不得不等待,直到超过该时限。因此,用于处理同步请求的现有技术方法容易对很多的客户端造成大量等待时间,而这仅仅是由于一个客户端失去了与数据库的连接。减小超时时间段是减小其它客户端等待时间的明显方式。然而,减小超时时间段将增加所取消任务的数量,这些所取消的任务必须在实现同步且执行相应的管理任务后重新开始。
考虑到上面,本发明第一技术方案的技术问题在于提供一种将多个客户端进行同步的更高效方法,该方法可减小访问数据库的客户端的等待时间,而不增加所取消任务的数量。
发明内容
现有技术中存在的该问题由根据本申请所述的对访问数据库的多个客户端进行同步的方法来解决。在本发明的一个实施例中,针对每个客户端,所述方法包括以下步骤:
-在发出同步请求后,累积由客户端执行的一个或多个任务的时间;并且
-如果累积的任务时间超过了最大累积任务时间,则拒绝客户端的打开新任务的请求。
由此,不是拒绝任何打开新任务的请求,而是对于这样的客户端允许打开新任务,所述客户端在同步请求被发出之后的所有任务持续时间的总和未超过给定时限。因此,如果存在没有迅速关闭其任务的另一客户端,例如失去了与数据库的连接的客户端,那么其它客户端可继续工作。结果,将缩短客户端的平均等待时间。
在一个实施例中,所述方法还包括为所有客户端定义公共最大累积任务时间的步骤。在该实施例中,平等地对待所有客户端。另一个极端是这样一个实施例,其中,所述方法还包括为每个客户端单独定义最大累积任务时间的步骤。对最大累积任务时间的单独定义允许通过分配最大累积任务时间的较大值来将某些客户端列为优先,这减小了在处理同步请求期间拒绝这种客户端的新任务的可能性。
很明显还存在这样的实施例,其中,定义客户端的组,并且某个组的所有客户端具有相同的最大累积任务时间,而其中组与组之间的值不同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于软件股份公司,未经软件股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810096937.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于镇流器的涂装工艺
- 下一篇:触摸屏检测装置及方法