多重化处理系统、多重化处理方法以及程序技术方案

技术编号:17785717 阅读:97 留言:0更新日期:2018-04-22 18:18
实施方式的多重化处理系统是具备多个服务器装置的多重化处理系统。各个服务器装置具备存储部、处理部、决定控制部、恢复部、重新执行控制部以及输出部。处理部将确定性输出数据或者非确定性输出数据作为第1输出数据输出。决定控制部选择从本装置输出第1输出数据、或者从本装置以外的其他某个服务器装置输出的第1输出数据中的一个,决定为第2输出数据。在第2输出数据是确定性输出数据、并且第2输出数据与从本装置输出的第1输出数据不一致的情况下,重新执行控制部使本装置重新执行处理,直到第2输出数据与重新决定的第1输出数据一致、或者重新执行次数达到阈值以上为止。

【技术实现步骤摘要】
【国外来华专利技术】多重化处理系统、多重化处理方法以及程序
本专利技术的实施方式涉及多重化处理系统、多重化处理方法以及程序。
技术介绍
作为提高计算机的可靠性的手段,在多个计算机上重复执行相同处理的多重化处理系统(MULTIPLEXING)在以往就被实用化。在多重化处理系统中,即使多个计算机中的某个因故障而输出错误的结果,通过将该错误的结果与由其他计算机输出的正常结果进行比较,能够进行错误的检测或者修正。由此作为系统整体的可靠性得以提高。作为实现多重化处理系统的方式,已知有使用了排列组播(orderedmulticasting)的方式。例如已知有将处理对象的输入数据发送给多个计算机并且决定输入数据的处理顺序的输入排列组播处理。通过执行输入排列组播处理,各个计算机能够以相同的顺序处理相同的输入数据。在使用了排列组播的方式的多重化处理系统中,被多重化的处理必须有确定性。这里,“有确定性”是指,根据输入数据和处理前的内部数据,输出数据和处理后的内部数据唯一确定的性质。根据该性质,被多重化处理的内容保持一贯性,输出数据串在多个计算机间相同。现有技术文献:专利文献:专利文献1:日本专利第3655263号公报专利文献2:日本专利第2534430号公报非专利文献:非专利文献1:ZooKeeper,[online],[平成27年5月7日检索],网络<URL:http://zookeeper.apache.org/doc/current/zookeeperInternals.html>
技术实现思路
专利技术要解决的课题在以往的技术中,被多重化的处理限于有确定性的处理。这是因为,在被多重化的处理没有确定性的情况下,正常的结果不唯一,因此即使在未产生故障时,各计算机的输出结果也可能不同。即在以往的技术中,被多重化的处理没有确定性的情况下,作为多重化处理系统无法保证一贯性。用于解决课题的手段实施方式的多重化处理系统是具备多个服务器装置的多重化处理系统。各个上述服务器装置具备存储部、处理部、决定控制部、恢复部、重新执行控制部、以及输出部。存储部存储内部数据。处理部输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据。决定控制部选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的第1输出数据中的一个,决定为第2输出数据。在上述第2输出数据是非确定性输出数据的情况下,恢复部将上述存储部所存储的内部数据恢复到处理前的状态。在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,重新执行控制部使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止。在上述第2输出数据是非确定性输出数据的情况下,或者,在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出部输出上述第2输出数据。附图说明图1是表示第1实施方式的多重化处理系统的构成的例子的图。图2是表示第1实施方式的服务器装置的构成的例子的图。图3是表示第1实施方式的输入排列组播的例子的图。图4是表示第1实施方式的多重化处理方法的例子的流程图。图5是表示第1实施方式的最终确定处理的例子的流程图。图6是表示第1实施方式的多重化处理方法的处理例1的图。图7是表示第1实施方式的多重化处理方法的处理例2的图。图8是表示第1实施方式的多重化处理方法的处理例3的图。图9是表示第2实施方式的服务器装置的构成的例子的图。图10是表示第2实施方式的最终确定处理的例子的流程图。图11是表示第2实施方式的复制处理的例子的流程图。图12是表示第2实施方式的多重化处理方法的处理例的图。图13是表示第1以及第2实施方式的服务器装置的硬件构成的例子的图。具体实施方式以下参照附带的附图,详细说明多重化处理系统、多重化处理方法以及程序的实施方式。(第1实施方式)图1是表示第1实施方式的多重化处理系统100的构成的例子的图。第1实施方式的多重化处理系统100具备:服务器装置10-1、···、服务器装置10-n(n是4以上的整数)、客户端装置20-1、···、客户端装置20-m(m是1以上的整数)、以及网络30。以下,在不区分服务器装置10-1、···、以及服务器装置10-n的情况下,仅称为服务器装置10。相同地,在不区分客户端装置20-1、···、以及客户端装置20-m的情况下,仅称为客户端装置20。服务器装置10以及客户端装置20经由网络30连接。另外,各装置间的通信方式可以是有线也可以是无线,另外,也可以是双方的组合。图2是表示第1实施方式的服务器装置10的构成的例子的图。第1实施方式的服务器装置10具备:输入部101、输入排列部102、处理部103,存储部104、恢复部105、缓冲器106、决定控制部107、重新执行控制部110、协作控制部111以及输出部112。此外,决定控制部107具备输出排列部108以及判断部109。输入部101从客户端装置20经由网络30接收到输入数据时,将该输入数据输入到输入排列部102。输入排列部102从输入部101受理输入数据时,将该输入数据发送给本装置以外的其他服务器装置10。而且,输入排列部102从本装置以外的其他服务器装置10接收由本装置以外的其他服务器装置10接收的输入数据。输入排列部102通过输入排列组播来决定多个输入数据的顺序。这里对输入排列组播进行说明。图3是表示第1实施方式的输入排列组播的例子的图。图3的例子表示输入数据A以及输入数据B被从服务器装置10-1的输入部101-1输入到输入排列部102-1、输入数据C被从服务器装置10-3的输入部101-3输入到输入排列部102-3、输入数据D被从服务器装置10-4的输入部101-4输入到输入排列部102-4的情况。输入排列组播处理是,将输入到本装置的输入部101的输入数据发送到本装置以外的其他服务器装置10、并且决定表示输入数据的处理顺序的顺序编号的处理。各服务器装置10的输入排列部102将输入数据和顺序编号建立对应。该建立对应在各服务器装置10中是相同的。图3的例子表示输入数据的处理顺序决定为输入数据D、输入数据A、输入数据C、输入数据B的顺序的情况。决定输入数据的处理顺序的处理例如能够适用专利文献1所记载的方法。返回到图2,输入排列部102将通过输入排列组播决定的输入数据依次输入到处理部103。处理部103从输入排列部102受理输入数据时,将通过对该输入数据进行处理而得到的第1输出数据输入到缓冲器106(第1输出数据输出处理)。具体而言,处理部103将确定性输出数据或者非确定性输出数据作为第1输出数据输入到缓冲器106。确定性输出数据是通过基于输入数据和存储部104所存储的处理前的内部数据的处理而唯一确定的输出数据。非确定性输出数据是抽象地示出通过基于输入数据和存储部104所存储的处理前的内部数据的处理而不能唯一确定的输出数据。非确定性输出数据不区分类型,与确定性输出数据不重复。这里对输出非确定性输出数据的处理的例子进行说明。例如在处理的执行中资源不足而不能继续该处理时取消本文档来自技高网...
多重化处理系统、多重化处理方法以及程序

【技术保护点】
一种多重化处理系统,具备多个服务器装置,各个上述服务器装置具备:存储部,存储内部数据;处理部,输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据;决定控制部,选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的上述第1输出数据中的一个,决定为第2输出数据;恢复部,在上述第2输出数据为非确定性输出数据的情况下,将存储于上述存储部的内部数据恢复到处理前的状态;重新执行控制部,在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止;以及输出部,在上述第2输出数据是非确定性输出数据的情况下,或者在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出上述第2输出数据。

【技术特征摘要】
【国外来华专利技术】1.一种多重化处理系统,具备多个服务器装置,各个上述服务器装置具备:存储部,存储内部数据;处理部,输出通过基于输入数据和处理前的上述内部数据的处理而唯一确定的确定性输出数据、或者通过上述处理而不能唯一确定的非确定性输出数据,作为第1输出数据;决定控制部,选择从本装置输出的上述第1输出数据、或者从本装置以外的其他某个服务器装置输出的上述第1输出数据中的一个,决定为第2输出数据;恢复部,在上述第2输出数据为非确定性输出数据的情况下,将存储于上述存储部的内部数据恢复到处理前的状态;重新执行控制部,在上述第2输出数据是确定性输出数据、并且上述第2输出数据与从本装置输出的上述第1输出数据不一致的情况下,使本装置重新执行上述处理,直到上述第2输出数据与重新决定的上述第1输出数据一致、或者重新执行次数达到阈值以上为止;以及输出部,在上述第2输出数据是非确定性输出数据的情况下,或者在上述第2输出数据是确定性输出数据、并且上述第2输出数据与重新决定的上述第1输出数据一致的情况下,输出上述第2输出数据。2.如权利要求1所述的多重化处理系统,还具备协作控制部,在上述重新执行次数达到上述阈值以上的情况下,上述协作控制部停止与上述本装置以外的其他服务器装置之间的协作。3.如权利要求1所述的多重化处理系统,还具备复制部,在上述重新执行次数达到上述阈值以上的情况下,上述复制部将通过上述本装置以外的其他服务器装置的上述处理而得到的处理后的内部数据复制到本装置的上述存储部中,在上述处理后的内部数据存储于本装置的上述存储部的情况下,上述输出部输出上述第2输出数据。4.如权利要求2所述的多重化处理系统,上述多个服务器装置的数量是满足n>3b的整数n,其中,b为1以上的整数,将允许有可能进行误动作的故障的上述服务器装置的数量设为b,上述决定控制部将由b+1以上的上述服务器装置的处理部输出的上述第1输出数据决定为上述第2输出数据。5.如权利要求3所述的多重化处理系统,上述多个服务器装置的数量是满足n>5b的整数n,其中,b为1以上的整数,将允许有可能进行误动作的故障的上述服务器装置的数量设为b,上述决定控制部将由2b+1以上的上述服务器装置的处理部输出的上述第1输出数据决定为上述第2输出数据。6.如权利要求3所述的多重化处理系统,上述多个服务器装置的数量为满足n>5b的整数n,其中,b为1以...

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

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

1