数据库系统、服务器装置、程序及信息处理方法制造方法及图纸

技术编号:17746132 阅读:31 留言:0更新日期:2018-04-18 19:36
在从客户端装置重新发送了同一操作信息的情况下消除重复执行。实施方式的数据库系统具备:多个服务器装置,各个服务器装置分别存储数据库,1个作为主装置动作,至少1个作为对主装置备份的从装置动作;及客户端装置,对主装置的服务器装置发送指示针对数据库的操作的操作信息,客户端装置对操作信息附加用于识别操作信息的识别符,多个服务器装置的每个服务器装置具备:存储数据库的数据保存部、对应于从客户端装置接收到的操作信息,变更存储于数据保存部的数据库的操作部、对与操作信息对应的数据库的变更的日志附加操作信息的识别符的日志处理部。

【技术实现步骤摘要】
【国外来华专利技术】数据库系统、服务器装置、程序及信息处理方法
本专利技术的实施方式涉及数据库系统、服务器装置、程序及信息处理方法。
技术介绍
近年来,在24小时、365天不能停止运用的服务器等中,利用通过将数据库复用而高可用化的数据库系统。作为高可用化的数据库系统,例如已知有多个服务器装置的每个服务器装置具有单独的数据库的系统。在该系统中,1个服务器装置作为主装置动作,其他的服务器装置作为从装置动作。主装置是从客户端装置直接受理数据库的更新的服务器装置。从装置是具有主装置的复制的数据库的服务器装置。在主装置的服务器装置更新数据库的情况下,从装置的服务器装置执行与主装置相同的更新处理。由此,在数据库系统中,能够在主装置与从装置间使数据库同步而保证数据的整合性。将在主装置与从装置间取得数据的同步的处理称为复制(replication)。另外,从装置作为主装置的备用发挥功能。在主装置的服务器装置发生了故障的情况下,某一个从装置被变更为主装置。由此,就数据库系统而言,即使一部分的服务器装置故障也不会使服务器停止,而能够使服务器继续。在主装置的服务器发生了故障的情况下,将从装置的服务器装置变更为主装置的处理称为故障转移(failover)。另外,在发生了故障转移的情况下,客户端装置因为与主装置的服务器装置的连接发生错误,所以在故障转移完成后必须与新的主装置的服务器装置重新连接。在此情况下,客户端装置执行针对上位阶层的应用程序隐蔽连接的错误或使中断为最小限的处理。由此,客户端装置可以不使应用程序执行用于重新连接的处理,所以能够减轻应用程序的开发负担。在发生了故障转移的情况下,客户端装置自动与新的主装置的服务器装置重新连接。作为自动地重新连接的方法,已知有对每个事务(transaction)附加ID,主装置及从装置将各自执行完毕的事务的ID高速缓存的方法。在该方法中,在事务由于故障转移而被中断的情况下,客户端装置在故障转移完成后,将中断的事务的执行请求附加同一ID后向新的主装置的服务器装置重新发送。新的主装置的服务器装置,在高速缓存有同一ID的情况下,无视所重新发送的请求,在未高速缓存同一ID的情况下,对应于所重新发送的请求执行事务。由此,在数据库系统中,在发生了故障转移的情况下,能够消除同一事务的重复执行。现有技术文献(专利文献)专利文献1:日本特开平08-249281号公报(非专利文献)非专利文献1:HornetQ,amulti-protocol,embeddable,veryhighperformance,clustered,asynchronousmessagingsystem.[online].[retrievedon2015-05-13].RetrievedfromtheInternet:<URL:http:hornetq.jboss.org/>.
技术实现思路
专利技术要解决的课题但是,在这种数据库系统中,主装置的服务器装置,在由于例如网络的错误等而重新启动的情况下,在重新启动后,同一服务器装置再次被选择为主装置的情况存在。在此情况下,主装置的服务器装置,清除高速缓存的ID。因此,在此情况下,主装置的服务器装置在从客户端装置重新发送了同一请求的情况下,无法无视请求而重复执行事务。尤其是,近年来,服务器装置的虚拟化的技术正在进展。虚拟化的服务器装置,由于物理服务器的负荷的增大或者保养等,容易发生重新启动。因此,在数据库系统的服务器装置使用了虚拟化的服务器装置的情况下,重复执行操作信息的可能性更高。用于解决课题的手段实施方式的数据库系统具备:多个服务器装置,各服务器装置存储数据库,1个服务器装置作为主装置动作,至少1个服务器装置作为对上述主装置进行备份的从装置动作;以及客户端装置,对上述主装置的服务器装置发送操作信息,该操作信息指示针对上述数据库的操作,上述客户端装置对上述操作信息附加用于识别上述操作信息的识别符,上述多个服务器装置的每个服务器装置具备:数据保存部,存储上述数据库;识别符存储部,存储上述识别符的列表;日志保存部,存储上述数据库的变更的日志;操作部,对应于从上述客户端装置接收到的上述操作信息,变更存储于上述数据保存部的上述数据库,在对应于上述操作信息变更上述数据库的情况下,使上述操作信息的上述识别符存储于上述识别符存储部;日志处理部,在对应于上述操作信息变更上述数据库的情况下,使附加了上述操作信息的上述识别符的日志存储于上述日志保存部;以及恢复部,在进行了重新启动的情况下,基于存储于上述日志保存部的日志,将存储于上述数据保存部的上述数据库复原,并且基于被附加于在上述日志保存部所存储的日志的上述识别符,将存储于上述识别符存储部的上述识别符的列表复原,在从上述客户端装置接收到的上述操作信息的上述识别符被存储于上述识别符存储部的情况下,上述操作部不执行与接收到的上述操作信息对应的上述数据库的变更。附图说明图1是表示实施方式的数据库系统的构成的图。图2是表示基于协调装置的主装置及从装置的设定的处理的流程的图。图3是表示基于客户端装置的数据库的操作及复制的处理的流程的图。图4是表示主装置的服务器装置发生了故障的状态的图。图5是表示主装置的服务器装置发生了故障后的处理的流程的图。图6是表示客户端装置的构成的图。图7是表示服务器装置的构成的图。图8是表示客户端装置的处理的流程图。图9是表示主装置的服务器装置的处理的流程图。图10是表示从装置的服务器装置的处理的流程图。图11是表示恢复(recovery)时的服务器装置的处理的流程图。图12是表示数据库的操作时的处理的流程的图。图13是表示故障时的处理的流程的图。图14是表示将未处理的操作信息对从从装置被变更为主装置的服务器装置重新发送的情况下的处理的流程的图。图15是表示将处理完毕的操作信息对从从装置被变更为主装置的服务器装置重新发送的情况下的处理的流程的图。图16是表示主装置的服务器装置重新启动并再次被设定为主装置的情况下的处理的流程的图。图17是表示将处理完毕的操作信息对在重新启动后再次被设定为主装置的服务器装置重新发送的情况下的处理的流程的图。图18是表示信息处理装置的硬件构成的图。具体实施方式以下,参照附图对实施方式的数据库系统详细地进行说明。本实施方式的数据库系统的目的在于,在从客户端装置重新发送了同一操作信息的情况下消除重复执行。图1是表示实施方式的数据库系统的构成的图。数据库系统10具备多个服务器装置30、协调装置40及客户端装置50。多个服务器装置30、协调装置40及客户端装置50分别是信息处理装置,且能够经由网络互相连接。多个服务器装置30分别存储数据库。多个服务器装置30中,1个作为主装置动作,其他的至少1个服务器装置30作为对主装置进行备份的从装置动作。主装置的服务器装置30从客户端装置50接收指示数据库的操作的操作信息。所谓的数据库的操作,例如为记录的参照、检索、更新、删除、新登记等。从装置的服务器装置30,在其与主装置的服务器装置30间执行复制,并执行与主装置的服务器装置30具有的数据库相同的变更处理。更具体而言,主装置的服务器装置30将数据库的变更(更新、删除、新登记等)的日志发送至从装置的服务器装置30。从装置的服本文档来自技高网
...
数据库系统、服务器装置、程序及信息处理方法

【技术保护点】
一种数据库系统,具备:多个服务器装置,各服务器装置存储数据库,1个服务器装置作为主装置动作,至少1个服务器装置作为对上述主装置进行备份的从装置动作;以及客户端装置,对上述主装置的服务器装置发送操作信息,该操作信息指示针对上述数据库的操作,该数据库系统的特征在于,上述客户端装置对上述操作信息附加用于识别上述操作信息的识别符,上述多个服务器装置的每个服务器装置具备:数据保存部,存储上述数据库;识别符存储部,存储上述识别符的列表;日志保存部,存储上述数据库的变更的日志;操作部,对应于从上述客户端装置接收到的上述操作信息,变更存储于上述数据保存部的上述数据库,在对应于上述操作信息变更上述数据库的情况下,使上述操作信息的上述识别符存储于上述识别符存储部;日志处理部,在对应于上述操作信息变更上述数据库的情况下,使上述日志保存部存储附加了上述操作信息的上述识别符的日志;以及恢复部,在进行了重新启动的情况下,基于存储于上述日志保存部的日志,将存储于上述数据保存部的上述数据库复原,并且基于被附加于在上述日志保存部所存储的日志的上述识别符,将存储于上述识别符存储部的上述识别符的列表复原,在从上述客户端装置接收到的上述操作信息的上述识别符被存储于上述识别符存储部的情况下,上述操作部不执行与接收到的上述操作信息对应的上述数据库的变更。...

【技术特征摘要】
【国外来华专利技术】1.一种数据库系统,具备:多个服务器装置,各服务器装置存储数据库,1个服务器装置作为主装置动作,至少1个服务器装置作为对上述主装置进行备份的从装置动作;以及客户端装置,对上述主装置的服务器装置发送操作信息,该操作信息指示针对上述数据库的操作,该数据库系统的特征在于,上述客户端装置对上述操作信息附加用于识别上述操作信息的识别符,上述多个服务器装置的每个服务器装置具备:数据保存部,存储上述数据库;识别符存储部,存储上述识别符的列表;日志保存部,存储上述数据库的变更的日志;操作部,对应于从上述客户端装置接收到的上述操作信息,变更存储于上述数据保存部的上述数据库,在对应于上述操作信息变更上述数据库的情况下,使上述操作信息的上述识别符存储于上述识别符存储部;日志处理部,在对应于上述操作信息变更上述数据库的情况下,使上述日志保存部存储附加了上述操作信息的上述识别符的日志;以及恢复部,在进行了重新启动的情况下,基于存储于上述日志保存部的日志,将存储于上述数据保存部的上述数据库复原,并且基于被附加于在上述日志保存部所存储的日志的上述识别符,将存储于上述识别符存储部的上述识别符的列表复原,在从上述客户端装置接收到的上述操作信息的上述识别符被存储于上述识别符存储部的情况下,上述操作部不执行与接收到的上述操作信息对应的上述数据库的变更。2.如权利要求1所述的数据库系统,其中,上述多个服务器装置的每个服务器装置具备:第1复制部,对上述从装置的服务器装置发送附加了上述识别符的上述日志;第2复制部,从上述主装置的服务器装置接收附加了上述识别符的上述日志,对应于从上述主装置的服务器装置接收到的上述日志,变更存储于上述数据保存部的上述数据库,上述第2复制部在对应于上述日志变更上述数据库的情况下,使上述日志的上述识别符存储于上述识别符存储部。3.如权利要求1或2所述的数据库系统,其中,上述客户端装置在对上述主装置的服务器装置重新发送同一上述操作信息的情况下,对上述操作信息附加同一上述识别符。4.如权利要求3所述的数据库系统,其中,上述操作部将在距当前时间点一定时间前的时间点以前接收到的上述操作信息的上述识别符,从上述识别符存储部删除。5.如权利要求4所述的数据库系统,其中,上述客户端装置,在与所发送的上述操作信息对应的上述数据库的变更未成功的情况下,将发送上述操作信息之后未经过上述一定时间作为条件,对上述主装置的服务器装置重新发送同一上述操作信息。6.如权利要求5所述的数据库系统,其中,还具备协调装置,该协调装置将上述多个服务器装置中的1个服务器装置设定为上述主装置的服务器装置,上述客户端装置,在与所发送的上述操作信息对应的变更未成功的情况下,对从上述协调装置通知的上述主装置的服务器装置重新发送同一上述操作信息。7.如权利要求2至6中任一项所述的数据库系统,其中,上述日志保存部存储从上述主装置的服务器装置接收到的上述日志。8.如权利要求2至7中任一项所述的数据库系统,其中,上述多个服务器装置的每个服务器装置还具有:结果发送部,该结果发送部在从上述客户端装置接收到的上述操作信息的上述识别符被存储于上述...

【专利技术属性】
技术研发人员:服部雅一
申请(专利权)人:株式会社东芝东芝数字解决方案株式会社
类型:发明
国别省市:日本,JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1