买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种计算机系统、备份管理方法和计算机可读存储介质_北京东土科技股份有限公司;北京科银京成技术有限公司_201711216272.5 

申请/专利权人:北京东土科技股份有限公司;北京科银京成技术有限公司

申请日:2017-11-28

公开(公告)日:2021-09-17

公开(公告)号:CN107992380B

主分类号:G06F11/14(20060101)

分类号:G06F11/14(20060101);G06F11/30(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.09.17#授权;2018.06.01#实质审查的生效;2018.05.04#公开

摘要:本发明实施例提供一种计算机系统、备份管理方法和计算机可读存储介质,所述计算机系统包括多个计算机单元,多个计算机单元中的每个计算机单元包括:相同的嵌入式操作系统,嵌入式操作系统包括备份管理模块,备份管理模块包括至少一个备份管理子模块,至少一个备份管理子模块中的每个备份管理子模块具有应用程序编程接口,嵌入式操作系统能够运行至少一个应用程序;其中,当至少一个应用程序中的第一应用程序调用第一应用程序编程接口时,嵌入式操作系统通过与第一应用程序编程接口对应的至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能。

主权项:1.一种计算机系统,其特征在于,所述计算机系统包括多个计算机单元,所述多个计算机单元中的每个计算机单元包括:相同的嵌入式操作系统,所述嵌入式操作系统包括备份管理模块,所述备份管理模块包括至少一个备份管理子模块,所述至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能,所述至少一个备份管理子模块中的每个备份管理子模块具有应用程序编程接口,所述嵌入式操作系统能够运行至少一个应用程序;其中,若每个应用程序编程接口不同,则当所述至少一个应用程序中的第一应用程序调用第一应用程序编程接口时,所述嵌入式操作系统通过与所述第一应用程序编程接口对应的所述至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能;若所有应用程序编程接口相同,则当所述至少一个应用程序中的第一应用程序以第一接口参数调用应用程序编程接口时,所述嵌入式操作系统通过与所述第一接口参数对应的所述至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能;当所述第一应用程序组合调用所述至少一个备份管理子模块中的多个备份管理子模块,则所述嵌入式操作系统通过所述多个备份管理子模块,组合实现相应的多个备份管理功能;所述至少一个备份管理子模块包括通道故障服务子模块,所述通道故障服务子模块用于在所述通道故障服务子模块所在的计算机单元更新所述多个计算机单元中任意一个或多个计算机单元的运行状态后,向其它计算机单元输出更新后的所述运行状态。

全文数据:一种计算机系统、备份管理方法和计算机可读存储介质技术领域[0001]本发明涉及计算机技术领域,尤其涉及一种计算机系统、备份管理方法和计算机可读存储介质。背景技术[0002]为了保证计算机系统的正常、稳定运行,现有技术中在某些对计算机系统稳定性要求较高的应用场景,采用了多备份的计算机系统设计,其中的每个备份为一套可以独立运行的计算机单元,各个备份运行相同的应用程序、执行相同的指令。通过多备份的冗余策略,使得在计算机系统中部分计算机单元出现故障的情况下,计算机系统仍能保证正确运算并输出结果。[0003]现有技术中,为了实现多备份计算机系统中各个备份间的协调配合,多备份计算机系统的各计算机单元上安装的每个应用程序在开发时都必须进行备份管理功能设计,各应用程序在计算机单元上运行时,通过自身设计的备份管理功能调用系统资源,实现与多备份计算机系统中其它计算机单元的协调配合。[0004]然而,为了设计应用程序的备份管理功能,软件开发者在开发应用程序的过程中,除了需要考虑如何实现应用程序原有的功能,还需要考虑应用程序如何调用系统资源,如何与其他计算机单元上的应用程序协调配合,导致软件开发的耗时长、进度慢。[0005]并且,由于现有的应用程序在运行时直接调用系统资源实现备份管理,因而在开发应用程序时只能依照特定的硬件环境进行开发,导致开发出的应用程序无法被直接应用于其它类型的多备份计算机系统,兼容性差。发明内容[0006]本发明实施例提供一种计算机系统、备份管理方法和计算机可读存储介质,用以解决现有技术中应用于多备份计算机系统中的应用程序开发难度高,开发周期长,兼容性差,不易移植的技术问题。[0007]第一方面,提供一种计算机系统,所述计算机系统包括多个计算机单元,所述多个计算机单元中的每个计算机单元包括:[0008]相同的嵌入式操作系统,所述嵌入式操作系统包括备份管理模块,所述备份管理模块包括至少一个备份管理子模块,所述至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能,所述至少一个备份管理子模块中的每个备份管理子模块具有应用程序编程接口,所述嵌入式操作系统能够运行至少一个应用程序;[0009]其中,当所述至少一个应用程序中的第一应用程序调用第一应用程序编程接口时,所述嵌入式操作系统通过与所述第一应用程序编程接口对应的所述至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能。[0010]在一种可能的实现方式中,所述至少一个备份管理子模块包括备份间同步子模块,所述备份间同步子模块用于:[0011]控制所述备份间同步子模块所在的计算机单元在预设时间段内向所述多个计算机单元中的其它计算机单元发送符合预设规则的离散信号,并在所述预设时间段内接收所述其它计算机单元发送的离散信号;[0012]判断所述其它计算机单元发送的离散信号是否符合所述预设规则,获得一判断结果;_[0013]基于所述判断结果,确定所述多个计算机单元中的各个计算机单元是否同步成功。[0014]在一种可能的实现方式中,所述多个计算机单元间通过通信总线连接,所述至少一个备份管理子模块包括交叉数据链服务子模块,所述交叉数据链服务子模块用于:[0015]调用所述通信总线的数据收发驱动进行数据收发,以实现所述交叉数据链服务子模块所在的计算机单元与多个计算机单元中的其它计算计算机单元间的数据交互。[0016]在一种可能的实现方式中,所述至少一个备份管理子模块包括信号监控表决子模块,所述信号监控表决子模块用于:[0017]获得所述多个计算机单元的多个信号;[0018]根据预设信号差值门限、所述多个信号的信号值、预设故障计数门限以及所述多个计算机单元中各个计算机单元的故障计数,从所述多个信号中确定有效信号以及所述有效信号的分离状态;[0019]根据所述确定有效信号以及所述有效信号的分离状态的确定结果,确定并输出表决值。[0020]在一种可能的实现方式中,所述至少一个备份管理子模块包括通道故障服务子模块,所述通道故障服务子模块用于:[0021]获取所述通道故障服务子模块所在的计算机单元确定的所述多个计算机单元中各个计算机单元的运行状态,并向所述多个计算机单元中的其它计算机单元输出所述运行状态;以及[0022]在所述通道故障服务子模块所在的计算机单元更新所述多个计算机单元中任意一个或多个计算机单元的所述运行状态后,向所述其它计算机单元输出更新后的所述运行状态。[0023]第二方面,提供一种备份管理方法,所述方法应用于计算机系统包括的多个计算机单元中的每个计算机单元,所述每个计算机单元包括相同的嵌入式操作系统,所述嵌入式操作系统包括备份管理模块,所述备份管理模块包括至少一个备份管理子模块,所述至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能,所述方法包括:[0024]所述嵌入式操作系统从基于所述嵌入式操作系统运行的至少一个应用程序中的弟一应用程序获得用于调用备份管理子模块的第一调用请求;[0025]所述嵌入式操作系统通过与所述第一调用请求对应的所述至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能。[0026]在一种可能的实现方式中,所述至少一个备份管理子模块包括备份间同步子模块,在所述第一调用请求用于调用所述备份间同步子模块时,所述嵌入式操作系统通过所述备份间同步子模块实现对应的备份间同步功能,包括:[0027]控制所述备份间同步子模块所在的计算机单元在预设时间段内向所述多个计算机单元中的其它计算机单元发送符合预设规则的离散信号,并在所述预设时间段内接收所述其它计算机单元发送的离散信号;[0028]判断所述其它计算机单元发送的离散信号是否符合所述预设规则,获得一判断结果;[0029]基于所述判断结果,确定所述多个计算机单元中的各个计算机单兀是否同步成功。[0030]在一种可能的实现方式中,所述至少一个备份管理子模块包括交叉数据链服务子模块,所述多个计算机单元间通过通信总线连接,在所述第一调用请求用于调用所述交叉数据链服务子模块时,所述嵌入式操作系统通过所述交叉数据链服务子模块实现对应的交叉数据链服务功能,包括:[0031]调用所述通信总线的数据收发驱动进行数据收发,以实现所述交叉数据链服务子模块所在的计算机单元与多个计算机单元中的其它计算计算机单元间的数据交互。[0032]在一种可能的实现方式中,所述至少一个备份管理子模块包括信号监控表决子模块,在所述第一调用请求用于调用所述信号监控表决子模块时,所述嵌入式操作系统通过所述信号监控表决子模块实现对应的信号监控表决功能,包括:[0033]获得所述多个计算机单元的多个信号;[0034]根据预设信号差值门限、所述多个信号的信号值、预设故障计数门限以及所述多个计算机单元中各个计算机单元的故障计数,从所述多个信号中确定有效信号以及所述有效信号的分离状态;[0035]根据所述确定有效信号以及所述有效信号的分离状态的确定结果,确定并输出表决值。[0036]在一种可能的实现方式中,所述至少一个备份管理子模块包括通道故障服务子模块,在所述第一调用请求用于调用所述通道故障服务子模块时,所述嵌入式操作系统通过所述通道故障服务子模块实现对应的通道故障服务功能,包括:[0037]获取所述通道故障服务子模块所在的计算机单元确定的所述多个计算机单元中各个计算机单元的运行状态,并向所述多个计算机单元中的其它计算机单元输出所述运行状态;以及[0038]在所述通道故障服务子模块所在的计算机单元更新所述多个计算机单元中任意一个或多个计算机单元的所述运行状态后,向所述其它计算机单元输出更新后的所述运行状态。[0039]第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被加载并运行时,执行如第二方面中所述的备份管理方法。[0040]本发明实施例中,计算机系统包括多个计算机单元,每个计算机单元包括相同的嵌入式操作系统,该嵌入式操作系统包括备份管理模块,备份管理模块包括有至少一个备份管理子模块,每个备份管理子模块都具有对应的备份管理功能,以协调多个计算机单元间任务的同步与正确执行。进一步地,嵌入式操作系统为备份管理子模块提供了对应的应用程序编程接口,因而应用程序在运行的过程中,可以直接调用应用程序编程接口通过嵌入式操作系统实现备份管理功能。[0041]进一步地,基于本发明实施例提供的计算机系统,应用程序可以直接调用应用程序编程接口实现备份管理功能,因而软件开发者在开发应用程序时无需进行备份管理功能设计,也就是说,本发明实施例提供的计算机系统可以降低适配的应用程序的复杂度和开发难度,提高开发应用程序的效率。[0042]进一步地,基于本发明实施例提供的计算机系统,应用程序可以直接调用应用程序编程接口实现备份管理功能,也就是说,应用程序在调用应用程序编程接口以实现备份管理的过程中,由嵌入式操作系统直接调用系统资源,应用程序不会与硬件环境进行直接的交互。可见,本发明实施例提供的计算机系统可以为应用程序屏蔽掉计算机系统的硬件环境的差异,提高应用程序的兼容性,降低应用程序的移植难度。附图说明[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。[0044]图1为本发明实施例中计算机系统的结构框图;[0045]图2为本发明实施例中备份间同步子模块实现备份间同步功能的流程图;[0046]图3为本发明实施例中信号监控表决子模块实现表决功能的流程图;[0047]图4为本发明实施例中备份管理方法的流程图。具体实施方式[0048]为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。[0049]另外,本文中术语“和或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另夕卜,本文中字符7”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。[0050]本发明实施例提供一种计算机系统,该计算机系统包括多个计算机单元,其中的每个计算机单元都可以独立运行,并且,每个计算机单元可以运行相同的操作和应用程序,也就是说,本发明实施例中的计算机系统通过硬件和软件的重复配置,形成了多个备份。本发明实施例中,计算机系统的计算机单元个数为多个,即个数大于等于2,当本发明实施例中对于计算机单元的具体个数不做限制,举例来说,计算机单元的个数可以为2、3、4,等等。当计算机系统包括2个计算机单元时计算机系统为双备份,当计算机系统包括3个计算机单元时计算机系统为三备份;当计算机系统包括4个计算机单元时计算机系统为四备份,等等。通过多备份的配置,可以提高本发明实施例中计算机系统抵御异常情况的能力,保证计算机系统的可靠性。[0051]在具体的实施过程中,计算机系统可以是由多台单备份的计算机相互连接而组合成的计算机阵列,也可以是一台包括有多套处理器、存储器且每套处理器、存储器可以独立运行的计算机设备,等等,本发明实施例中对于计算机系统采用何种硬件组成以及各硬件间通过何种方式连接不做限制。[0052]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。[0053]请参见图1,图1所示为本发明实施例中计算机系统的结构框图,其中,n为大于等于2的整数,表示计算机系统共有n个计算机单元。本发明实施例中,计算机系统包括的每个计算机单元包括的相同的嵌入式操作系统,该嵌入式操作系统包括备份管理模块,该备份管理模块包括至少一个备份管理子模块,至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能,至少一个备份管理子模块中的每个备份管理子模块具有应用程序编程接口,并且,嵌入式操作系统能够运行至少一个应用程序。也就是说,该嵌入式操作系统可以为应用程序提供基础的运行环境,因而与嵌入式操作系统匹配的应用程序可以在嵌入式操作系统中运行。本发明实施例中,至少一个备份管理子模块中的各个备份管理子模块用于协调多个计算机单元间任务的同步与正确执行。[OOM]本发明实施例中,嵌入式操作系统包括有至少一个备份管理子模块,这些备份管理子模块能够为应用程序提供备份管理的功能支持,并且,每一个备份管理子模块都具有各自对应的备份管理功能,也就是说,本发明实施例中,计算机系统中的备份管理功能由各计算机单元的嵌入式操作系统来实现。[0055]在具体的实施过程中,备份管理模块可以是嵌入式操作系统包括的软件模块,该软件模块可以直接调用计算机系统的系统资源,例如可以调用计算机系统中的硬件资源,如连接各计算机单元的通信总线,又如计算机单元上的离散信号收发装置,又如处理器,等等。[0056]本发明实施例中,当嵌入式操作系统上运行的至少一个应用程序中的第一应用程序调用第一应用程序编程接口时,嵌入式操作系统可以通过与第一应用程序编程接口对应的第一备份管理子模块实现对应的第一备份管理功能,该第一备份管理子模块为嵌入式操作系统包括的至少一个备份管理子模块中的模块。[0057]举例来说,例如,嵌入式操作系统可以根据第一应用程序对第一应用程序编程的调用,通过第一备份管理子模块执行第一备份管理子模块中预设的第一操作;又例如,嵌入式操作系统可以从第一应用程序的调用中获得待处理数据,进而嵌入式操作系统可以通过第一备份管理子模块执行第一操作以处理该待处理数据,并生成处理结果反馈给第一应用程序,等等。[0058]在具体的实施过程中,一种情况下,至少一个备份管理子模块中各备份管理子模块对应的应用编程接口可以是不同的API函数,也就是说,第一应用程序通过调用不同的API函数来选择实现不同的备份管理功能;另一种情况下,至少一个备份管理子模块中各备份管理子模块对应的应用编程接口可以是相同的API函数,该种情况下,第一应用程序在调用该API函数时通过输入不同的接口参数以选择实现不同的备份管理功能。[0059]本发明实施例中,由嵌入式操作系统适配计算机系统的硬件环境,通过嵌入式操作系统调用系统资源实现计算机系统的备份管理,为应用程序屏蔽掉计算机系统硬件环境的差异,而应用程序可以直接调用嵌入式操作系统提供的应用程序编程接口实现备份管理功能,应用程序无需适配硬件环境。因而,本发明实施例中的计算机系统可以降低适配的应用程序的复杂度和开发难度,提高开发应用程序的效率,提高应用程序的兼容性,降低应用程序的移植难度。[0060]在一种可能的实施方式中,嵌入式操作系统中的备份管理模块至少可以包括备份间同步子模块、交叉数据链服务子模块、信号监控表决子模块和通道故障服务子模块中的任意一个或多个模块。当然,在具体的实施过程中,也可以根据实际需求在嵌入式操作系统的备份管理模块中增加用于实现其它备份管理功能的备份管理子模块。[0061]在具体的实施过程中,至少一个备份管理子模块中的各备份管理子模块可以被单独调用,也可以被组成调用,例如,当应用程序需要某两个备份管理子模块组合实现某备份管理需求时,嵌入式操作系统就可以根据应用程序的调用,通过该两个备份管理子模块配合执行操作,以实现应用程序综合性的备份管理需求。[0062]在一种可能的实施方式中,备份间同步子模块用于控制备份间同步子模块所在的计算机单元在预设时间段内向多个计算机单元中的其它计算机单元发送符合预设规则的离散信号,并在预设时间段内接收其它计算机单元发送的离散信号,然后,判断其它计算机单元发送的离散信号是否符合预设规则,获得一判断结果,进而,基于判断结果,确定多个计算机单元中的各个计算机单元是否同步成功。[0063]在具体的实施过程中,预设时间段可以是以应用程序调用备份间同步子模块的时刻为时间起点的预设时长,预设时间段也可以是以应用程序指定时间起点的预设时长。在具体的实施过程中,预设时长可以是预先在各嵌入式操作系统中统一配置的,因而可以保证各嵌入式操作系统中的预设时长相等。[0064]本发明实施例中,每个备份管理子模块都可以配置多个不同的预设时长,不同的预设时长可以在不同的同步阶段中使用。例如,在启动计算机系统后进行启动同步时,备份间同步子模块可以采用较长的预设时长,如采用3秒;而在应用程序的每个任务周期中进行同步时,备份间同步子模块则可以采用较短的预设时长,如采用100毫秒,等等。[0065]在具体的实施过程中,备份间同步子模块可以控制自身所在的计算机单元向其它计算机单元发送符合预设规则的离散信号,例如,备份间同步子模块可以直接调用计算机单元的离散信号收发装置来收发离散信号。其中,符合预设规定的离散信号可以是交替的高信号与低信号,还可以是固定的高信号,也可以是固定的低信号,等等。[0066]由于计算机系统的各计算机单元采用的是相同的嵌入式操作系统且互为备份,因而计算机系统中的各计算机单元均会执行相同的发送离散信号的操作以实现备份间同步。例如,假设计算机系统包括A、B、C共三个计算机单元,那么在A、B、C在启动后以及在应用程序运行的每个周期进行备份间同步时,A会在自己确定的预设时间段向B、C发送符合预设规则的离散信号,B会在自己确定的预设时间段向A、C发送符合预设规则的离散信号,C会在自己确定的预设时间段向A、B发送符合预设规则的离散信号。也就是说,当A、B、C的时钟周期完全吻合时,A、B、C中任一计算机单元均会在同一时间段内向其它的两个计算机发送相同的离散信号。因而,计算机单元在发送离散信号的同时,可以在同样的预设时间段内接收其它计算机单元发送的离散信号。[0067]进而,备份间同步子模块可以判断接收到的离散信号是否符合预设规则,并获得一判断结果。例如计算机系统为前述的包括A、B、C三个计算机单元的计算机系统时,站在A的角度,A可以判断B、C发送的离散信号是否符合预设规则,如预设规则为发送高信号时,若A接收到的B、C发送的离散信号不为高信号,或A在预设时间段内未接收到B、C发送的离散信号,则A可以判断出B、C发送的离散信号不符合预设规则。[0068]进而,在获得判断结果后,备份间同步子模块就可以基于获得的判断结果,以预先设置的计算规则进行逻辑计算,确定多个计算机单元中的各个计算机单元是否同步成功。例如,备份间同步子模块可以确定不符合预设规则的离散信号所属的计算机单元未同步成功,也可以确定发送的离散信号未被接收到或未发送离散信号的计算机单元未同步成功,也可以确定与多数离散信号不相同的离散信号所属的计算机单元未同步成功。[0069]在具体的实施过程中,嵌入式操作系统通过备份间同步子模块实现备份间同步功能可以采用如图2所示的流程。[0070]在一种可能的实施方式中,计算机系统中的多个计算机单元间可以通过通信总线连接,通信总线在各计算机单元间形成交叉数据链路,各计算机单元间可以基于通信总线进行通信。嵌入式操作系统包括的交叉数据链服务子模块可以用于调用通信总线的数据收发驱动进行数据收发,以实现交叉数据链服务子模块所在的计算机单元与多个计算机单元中的其它计算计算机单元间的数据交互。[0071]本发明实施例中,嵌入式操作系统为应用程序提供标准的用于收发数据的应用程序编程接口,应用程序通过调用该应用程序编程接口就可以实现数据收发。也就是说,应用程序不用直接控制多个计算机单元间的通信总线,也不需要适配多个计算机单元间的通信总线,应用程序只需要将调用应用程序编程接口,嵌入式操作系统就可以通过交叉数据链路服务模块完成数据收发。[0072]在具体的实施过程中,交叉数据链服务子模块中可以包括有各计算机单元间交叉数据链路的配置信息,其中,配置信息可以包括如各计算机单元的数据收发地址,CCDLCrossChannelDataLink,交叉数据通道链路数据包大小,计算机单元个数等信息。[0073]在需要进行数据发送时,应用程序可以将需要输出至其它计算机单元的数据写入CCDL发送地址空间,然后调用应用程序编程接口通过交叉数据链服务子模块将数据发送至其它计算机单元。[0074]在需要接收数据时,应用程序可以调用应用程序编程接口通过交叉数据链服务子模块将其它计算机单元的数据接收至CCDL接收缓冲区中。[0075]在一种可能的实施方式中,嵌入式操作系统包括的信号监控表决子模块可以用于获得多个计算机单元的多个信号,并根据预设信号差值门限、多个信号的信号值、预设故障计数门限以及多个计算机单兀中各个计算机单元的故障计数,从多个信号中确定有效信号以及有效信号的分离状态,再根据确定有效信号以及有效信号的分离状态的确定结果,确定并输出表决值。[0076]在具体的实施过程中,嵌入式操作系统通过信号监控表决子模块实现监控表决功能时,主要可以分为监控和表决这两个步骤。其中,监控这—步骤用于从获得的多个信号中确定出有效信号以及有效信号的分离状态。表决这一步骤用于根据确定有效信号以及有效信号的分离状态的确定结果,确定并输出表决值。[0077]在监控这一步骤中,信号监控表决子模块可以从应用程序的调用中获得多个计算机单元的多个信号。例如,计算机系统包括A、B、C共三个计算机单元时,运行于A的第一应用程序可以获得B、C的两个信号,加上A自身的信号,组成A、B、C的三个信号,在第一应用程序调用应用编程接口进行监控表决功能时,就可以将这三个信号传递至信号监控表决子模块,进而,信号监控表决子模块可以对这三个信号进行监控表决。同时,运行于B的第一应用程序同样可以获得A、C的两个信号,组成A、B、C的三个信号,并通过B自身嵌入式操作系统中的信号监控表决子模块进行监控表决;运行于C的第一应用程序同样可以获得A、B的两个信号,组成A、B、C的三个信号,并通过C自身嵌入式操作系统中的信号监控表决子模块进行监控表决。当然,在具体实施过程中,由于硬件故障等因素,信号监控表决子模块所获得的信号的数量可能小于计算机单元的数量。[0078]在信号监控表决子模块获得多个信号后,就可以根据预设信号差值门限、多个信号的信号值、预设故障计数门限以及多个计算机单元中各个计算机单元的故障计数,从多个信号中确定有效信号以及有效信号的分离状态。其中,多个信号中的每个信号都具有一信号值,两个信号的信号值之间的绝对差值即为这两个信号的信号差值。当信号值相邻的两个信号的信号差值大于预设门限,则可以确定这两个信号分离。可以理解为,通过对信号差值的判断,可以将多个信号进行分组,每一组的信号中的信号最大值与信号最小值的信号差值均小于等于预设信号差值门限。[0079]在具体的实施过程中,信号监控模块中可以配置多种不同的监控方法,根据所获得信号的数量、应用场景、实际需求,信号监控表决子模块可以选择匹配的监控方法来处理所获得的多个信号。[0080]—种可行的监控方法是:对于多个信号中的多数组信号(即信号数量最多的组),可以将该组信号直接确定为有效信号,并将该组信号中各信号所属计算机单元的故障计数减1但不小于0;对于与多个信号中的多数信号组分离的信号,可以将该分离的信号所属计算机单元的故障计数加1但不大于预设故障计数门限),当一计算机单元的故障计数达到预设故障计数门限时,则可以确定该分离的信号为无效信号,并将该计算机单元记为故障;[0081]而当多个信号中未形成多数信号组,但各组的信号数量均为1时,可以将各信号所属计算机单元的故障计数分别加i但不大于预设故障计数门限);进而,确定故障计数小于预设故障计数门限的计算机单元的信号为有效信号,确定故障计数达到预设故障计数门限的计算机单元的信号为无效信号,并将该达到预设故障计数门限的计算机单元记为故障;[0082]而当多个信号中未形成多数信号组,且存在信号数量大于等于2的信号组时(如2X2分离),则可以计算每组信号中信号的平均值,并将每组平均值与前一个任务周期所确定的表决值(即前拍表决值进行比较,确定出平均值与前拍表决值最接近的一个信号组,并将该丨曰3组的信号直接确定为有效信号,以及将该组信号中各信号所属计算机单元的故障计数减1但不小于0,将其它的信号所述计算机单元的故障计数加丨,当一计算机单元的故障计数达到预设故障计数门限时,则可以确定该计算机单元的信号为无效信号,并将该计算机单元记为故障。[0083]为便于理解,以下以计算机系统包括A、B、C三个计算机单元,且信号监控表决子模块获得三个信号进行举例说明:[0084]首先,对三个信号的信号差值进行计算,包括:计算三个信号中最大值、最小值的信号差值diffl_3,三个信号中最小值、中间值的信号差值diffi_2,三个信号中中间值、最大值的信号差值diff2_3;其中,1表示最小值信号,2表示中间值信号,3表示最大值信号。[0085]1如果diffl_3小于等于预设信号差值门限,则将A、B、C的故障计数减1但不小于0,如果A、B、C存在已被记为故障的计算机单元,则将该记为故障的计算机单元恢复为正常,同时,确定三个信号全部为有效信号。[0086]⑵如果diffl_3大于预设信号差值门限:[0087]a如果diffl一2与diff2_3均小于等于预设信号差值门限,将A、B、C的故障计数分别减1但不小于0,如果A、B、C中存在已被记为故障的计算机单元,则将该记为故障的计算机单元恢复为正常,同时,确定三个信号全部为有效信号。[0088]b如果diffl_2大于预设信号差值门限(2X1分离,最小值分离),则将最小值信号所属计算机单元的故障计数加1但不大于预设故障计数门限)。进而,如果最小值信号所属计算机单元的故障计数大于等于预设故障计数门限,则确定最小值信号为无效信号,如果最小值信号所属计算机单元尚未记为故障,则将最小值信号所属计算机单元记为故障;如果最小值信号所属计算机单元的故障计数小于预设故障计数门限,则确定最小值信号为有效号,且将中间值信号与最大值信号所属的计算机单元的故障计数分别减i但不小于〇,如果中间值信号与最大值信号所属的计算机单元中存在已被记为故障的计算机单元,则将该记为故障的计算机单元恢复为正常。[0089]C如果diff2一3大于预设信号差值门限(2X1分离,最大值分离),则将最大值信号所属计算机单元的故障计数加1但不大于预设故障计数门限)。进而,如果最大值信号所属计算机f元的故障计数大于等于预设故障计数门限,则确定最大值信号为无效信号,如果最大值彳目号所属计算机单元尚未记为故障,则将最大值信号所属计算机单元记为故障;如果最大值fe号所属计算机单元的故障计数小于预设故障计数门限,则确定最大值信号为有效信号,且将中间值信号与最小值信号所属的计算机单元的故障计数分别减i但不小于〇,如果中间值信号与最小值信号所属的计算机单元中存在已被记为故障的计算机单元,则将该记为故障的计算机单元恢复为正常。[0090]1如果姐打—2与时€2—3均大于预设信号差值门限似11分离),则觀』、:的故障计数分别加1但不大于预设故障计数门限)。进而,将A、b、C中故障计数大于等于预设故障计数门限的计算机单元的信号确定为无效信号,并将该故障计数大于等于预设故障计数门限的计算机单元记为故障;将A、B、C中故障计数小于预设故障计数门限的计算机单元的信号确定为有效信号。[0091^在通过监控这一步骤确定有效信号以及有效信号的分离状态后,信号监控表决子換块就可以根据监控这一步骤的确定结果确定并输出表决值。[0092]体的实施过程中,信号监控模块中可以配置多种不同的表决方法,根据确定结果中有效信号数量、有效信号的分离状态、应用场景、实际需求,信号监控表决子模块可以选择匹配的表决方法来处理确定的有效信号。[0093]一种可行的表决方法是:若不存在有效信号,则采用预设的故障安全值确定方法确定表决值例如根据前抽表决值来源确定表决值);若有效信号为一个,则确定该有效信号为表决值;若有效信号为多个且不分离,则确定有效信号的中值或平均值为表决值;若有效信号为多个且分离,则确定多个有效信号'的信号值中最接近前拍表决值的信号值为表决值。。[0094]为便于理解,请参见图3,以下以计算机系统包括A、B、C三个计算机单元时一种可行的表决方法进行举例说明:[0095]1如果监控步骤的确定结果包括三个有效信号且三个有效信号不分离,则确定三个有效信号中的信号值的中间值为表决值,并记录表决值来源;[0096]2如果监控步骤的确定结果包括三个有效信号且三个有效信号分离,则确定三个信号的信号值中最接近前拍表决值的信号值作为表决值,并记录表决值来源;[0097]3如果监控步骤的确定结果包括两个有效信号且两个有效信号不分离,则确定两个有效信号的信号值的平均值为表决值,并记录表决值来源;[0098]4如果监控步骤的确定结果包括两个有效信号且两个有效信号分离,则确定两个有效信号中最接近前拍表决值的信号值为表决值,并记录表决值来源;[00"]5如果监控步骤的确定结果包括一个有效信号,则确定该有效信号为表决值,并记录表决值来源;[0100]6如果监控步骤的确定结果为无有效信号,则采用预设的故障安全值确定方法确定表决值例如根据前拍表决值来源确定出表决值),并记录表决值来源为无来源。[0101]在具体的实施过程中,在确定出表决值后,信号监控表决子模块可以将表决值输出给应用程序。[0102]在一种可能的实施方式中,嵌入式操作系统包括的信号监控表决子模块可以用于获取通道故障服务子模块所在的计算机单元确定的多个计算机单元中各个计算机单元的运行状态,并向多个计算机单元中的其它计算机单元输出该运行状态;以及,信号监控表决子模块还用于在it道故障服务子模块所在的计算机单元更新多个计算机单元中任意一个或多个计算机单元的运行状态后,向其它计算机单元输出更新后的运行状态。[0103]在具体的实施过程中,计算机单元的处理器中可以配置有状态输入地址段和状态输出地址段,并且输入状态地址段和输出状态地址段中的各bit位都配置有特定的功能。例如,计算机系统包括A、B、C三个计算机单元,状态输入地址段包括第lbit位组、第2bit位组、第3bit位组,其中第lbit位组用于记录表示A运行状态的状态字、第2bit位组用于记录表示B运行状态的状态字、第3bit位组用于记录表示C运行状态的状态字,等等。[0104]其中,计算机单元的运行状态可以用于表示计算机单元是否故障。[0105]通道故障服务子模块读取输入状态地址段的数据后,可以确定通道故障服务子模块所在的计算机单元确定的各计算机单元的运行状态,进而通道故障服务子模块可以将各计算机单元的运行状态写入状态输出地址段中各计算机单元对应的bit位。[0106]当通道故障服务子模块所在的计算机单元更新多个计算机单元中任意一个或多个计算机单元的运行状态后,通道故障服务子模块可以通过前述的获取运行方式获取各计算机单元更新后的运行状态,并通过前述的输出运行状态的方式向其它计算机单元输出各计算机单元更新后的运行状态。[0107]本发明实施例中,计算机系统包括多个计算机单元,每个计算机单元包括相同的嵌入式操作系统,该嵌入式操作系统包括备份管理模块,备份管理模块包括有至少一个备份管理子模块,每个备份管理子模块都具有对应的备份管理功能,以协调多个计算机单元间任务的同步与正确执行。进一步地,嵌入式操作系统为备份管理子模块提供了对应的应用程序编程接口,因而应用程序在运行的过程中,可以直接调用应用程序编程接口通过嵌入式操作系统实现备份管理功能。[0108]进一步地,基于本发明实施例提供的计算机系统,应用程序可以直接调用应用程序编程接口实现备份管理功能,因而软件开发者在开发应用程序时无需进行备份管理功能设计,也就是说,本发明实施例提供的计算机系统可以降低适配的应用程序的复杂度和开发难度,提高开发应用程序的效率。[0109]进一步地,基于本发明实施例提供的计算机系统,应用程序可以直接调用应用程序编程接口实现备份管理功能,也就是说,应用程序在调用应用程序编程接口以实现备份管理的过程中,由嵌入式操作系统直接调用系统资源,应用程序不会与硬件环境进行直接的交互。可见,本发明实施例提供的计算机系统可以为应用程序屏蔽掉计算机系统的硬件环境的差异,提高应用程序的兼容性,降低应用程序的移植难度。[0110]请参见图4,基于同一发明构思,本发明实施例提供一种备份管理方法,该方法可以应用于计算机系统包括的多个计算机单元中的每个计算机单元,每个计算机单元包括相同的嵌入式操作系统,该嵌入式操作系统包括备份管理模块,该备份管理模块包括至少一个备份管理子模块,至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能。其中,备份管理方法应用的计算机系统可以是第一方面中所述的计算机系统,并且,关于计算机系统、计算机单元、嵌入式操作系统和备份管理子模块的说明可以参看第一方面中的描述,在此不再赘述。[0111]本发明实施例中,备份管理方法包括如下的步骤:[0112]步骤101:嵌入式操作系统从基于嵌入式操作系统运行的至少一个应用程序中的第一应用程序获得用于调用备份管理子模块的第一调用请求。[0113]步骤102:嵌入式操作系统通过与第一调用请求对应的至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能。[0114]在一种可能的实施方式中,至少一个备份管理子模块至少包括备份间同步子模块、交叉数据链服务子模块、信号监控表决子模块和通道故障服务子模块中的任意一个或多个模块。[0115]在一种可能的实施方式中,在第一调用请求用于调用备份间同步子模块时,嵌入式操作系统通过备份间同步子模块实现对应的备份间同步功能,包括:[0116]控制备份间同步子模块所在的计算机单元在预设时间段内向多个计算机单元中的其它计算机单元发送符合预设规则的离散信号,并在预设时间段内接收其它计算机单元发送的离散信号;[0117]判断其它计算机单元发送的离散信号是否符合预设规则,获得一判断结果;[0118]基于判断结果,确定多个计算机单元中的各个计算机单元是否同步成功。[0119]在一种可能的实施方式中,多个计算机单元间通过通信总线连接,在第一调用请求用于调用交叉数据链服务子模块时,嵌入式操作系统通过交叉数据链服务子模块实现对应的交叉数据链服务功能,包括:[0120]调用通信总线的数据收发驱动进行数据收发,以实现交叉数据链服务子模块所在的计算机单元与多个计算机单元中的其它计算计算机单元间的数据交互。[0121]在一种可能的实施方式中,在第一调用请求用于调用信号监控表决子模块时,嵌入式操作系统通过信号监控表决子模块实现对应的信号监控表决功能,包括:[0122]获得多个计算机单元的多个信号;[0123]根据预设信号差值门限、多个信号的信号值、预设故障计数门限以及多个计算机单元中各个计算机单元的故障计数,从多个信号中确定有效信号以及有效信号的分离状态;[0124]根据确定有效信号以及有效信号的分离状态的确定结果,确定并输出表决值。[0125]在一种可能的实施方式中,在第一调用请求用于调用通道故障服务子模块时,嵌入式操作系统通过通道故障服务子模块实现对应的通道故障服务功能,包括:[0126]获取通道故障服务子模块所在的计算机单元确定的多个计算机单元中各个计算机单元的运行状态,并向多个计算机单元中的其它计算机单元输出运行状态;以及[0127]在通道故障服务子模块所在的计算机单元更新多个计算机单元中任意一个或多个计算机单元的运行状态后,向其它计算机单元输出更新后的运行状态。[0128]基于同一发明构思,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当计算机指令被加载并运行时,可以执行前述方法实施例中的备份管理方法。[0129]在具体的实施过程中,计算机可读存储介质包括:通用串行总线闪存盘UniversalSerialBusflashdrive,USB、移动硬盘、只读存储器(Read-OnlyMemory,ROM、随机存取存储器RandomAccessMemory,RAM、磁碟或者光盘等各种可以存储程序代码的介质。[0130]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

权利要求:1.一种计算机系统,其特征在于,所述计算机系统包括多个计算机单元,所述多个计算机单元中的每个计算机单元包括:相同的嵌入式操作系统,所述嵌入式操作系统包括备份管理模块,所述备份管理模块包括至少一个备份管理子模块,所述至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能,所述至少一个备份管理子模块中的每个备份管理子模块具有应用程序编程接口,所述嵌入式操作系统能够运行至少一个应用程序;其中,当所述至少一个应用程序中的第一应用程序调用第一应用程序编程接口时,所述嵌入式操作系统通过与所述第一应用程序编程接口对应的所述至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能。2.如权利要求1所述的计算机系统,其特征在于,所述至少一个备份管理子模块包括备份间同步子模块,所述备份间同步子模块用于:控制所述备份间同步子模块所在的计算机单元在预设时间段内向所述多个计算机单元中的其它计算机单元发送符合预设规则的离散信号,并在所述预设时间段内接收所述其它计算机单元发送的离散信号;判断所述其它计算机单元发送的离散信号是否符合所述预设规则,获得一判断结果;基于所述判断结果,确定所述多个计算机单元中的各个计算机单元是否同步成功。3.如权利要求1所述的计算机系统,其特征在于,所述多个计算机单元间通过通信总线连接,所述至少一个备份管理子模块包括交叉数据链服务子模块,所述交叉数据链服务子模块用于:调用所述通信总线的数据收发驱动进行数据收发,以实现所述交叉数据链服务子模块所在的计算机单元与多个计算机单元中的其它计算计算机单元间的数据交互。4.如权利要求1所述的计算机系统,其特征在于,所述至少一个备份管理子模块包括信号监控表决子模块,所述信号监控表决子模块用于:获得所述多个计算机单元的多个信号;根据预设信号差值门限、所述多个信号的信号值、预设故障计数门限以及所述多个计算机单元中各个计算机单元的故障计数,从所述多个信号中确定有效信号以及所述有效信号的分离状态;根据所述确定有效信号以及所述有效信号的分离状态的确定结果,确定并输出表决值。5.如权利要求1所述的计算机系统,其特征在于,所述至少一个备份管理子模块包括通道故障服务子模块,所述通道故障服务子模块用于:获取所述通道故障服务子模块所在的计算机单元确定的所述多个计算机单元中各个计算机单元的运行状态,并向所述多个计算机单元中的其它计算机单元输出所述运行状态;以及在所述通道故障服务子模块所在的计算机单元更新所述多个计算机单元中任意一个或多个计算机单元的所述运行状态后,向所述其它计算机单元输出更新后的所述运行状〇6.—种备份管理方法,其特征在于,所述方法应用于计算机系统包括的多个计算机单元中的每个计算机单元,所述每个计算机单元包括相同的嵌入式操作系统,所述嵌入式操作系统包括备份管理模块,所述备份管理模块包括至少一个备份管理子模块,所述至少一个备份管理子模块至少用于实现备份间同步、交叉数据链服务、信号监控表决、通道故障服务中的任意一个或多个功能,所述方法包括:所述嵌入式操作系统从基于所述嵌入式操作系统运行的至少一个应用程序中的第一应用程序获得用于调用备份管理子模块的第一调用请求;所述嵌入式操作系统通过与所述第一调用请求对应的所述至少一个备份管理子模块中的第一备份管理子模块实现对应的第一备份管理功能。7.如权利要求6所述的备份管理方法,其特征在于,所述至少一个备份管理子模块包括备份间同步子模块,在所述第一调用请求用于调用所述备份间同步子模块时,所述嵌入式操作系统通过所述备份间同步子模块实现对应的备份间同步功能,包括:控制所述备份间同步子模块所在的计算机单元在预设时间段内向所述多个计算机单元中的其它计算机单元发送符合预设规则的离散信号,并在所述预设时间段内接收所述其它计算机单元发送的离散信号;判断所述其它计算机单元发送的离散信号是否符合所述预设规则,获得一判断结果;基于所述判断结果,确定所述多个计算机单元中的各个计算机单元是否同步成功。8.如权利要求6所述的备份管理方法,其特征在于,所述至少一个备份管理子模块包括交叉数据链服务子模块,所述多个计算机单元间通过通信总线连接,在所述第一调用请求用于调用所述交叉数据链服务子模块时,所述嵌入式操作系统通过所述交叉数据链服务子模块实现对应的交叉数据链服务功能,包括:调用所述通信总线的数据收发驱动进行数据收发,以实现所述交叉数据链服务子模块所在的计算机单元与多个计算机单元中的其它计算计算机单元间的数据交互。9.如权利要求6所述的备份管理方法,其特征在于,所述至少一个备份管理子模块包括信号监控表决子模块,在所述第一调用请求用于调用所述信号监控表决子模块时,所述嵌入式操作系统通过所述信号监控表决子模块实现对应的信号监控表决功能,包括:获得所述多个计算机单元的多个信号;根据预设信号差值门限、所述多个信号的信号值、预设故障计数门限以及所述多个计算机单元中各个计算机单元的故障计数,从所述多个信号中确定有效信号以及所述有效信号的分离状态;根据所述确定有效信号以及所述有效信号的分离状态的确定结果,确定并输出表决值。10.如权利要求6所述的备份管理方法,其特征在于,所述至少一个备份管理子模块包括通道故障服务子模块,在所述第一调用请求用于调用所述通道故障服务子模块时,所述嵌入式操作系统通过所述通道故障服务子模块实现对应的通道故障服务功能,包括:获取所述通道故障服务子模块所在的计算机单元确定的所述多个计算机单元中各个计算机单元的运行状态,并向所述多个计算机单元中的其它计算机单元输出所述运行状态;以及在所述通道故障服务子模块所在的计算机单元更新所述多个计算机单元中任意一个或多个计算机单元的所述运行状态后,向所述其它计算机单元输出更新后的所述运行状o11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令被加载并运行时,执行如权利要求6-10中任一权利要求所述的备份管理方法。

百度查询: 北京东土科技股份有限公司;北京科银京成技术有限公司 一种计算机系统、备份管理方法和计算机可读存储介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。