一种数据冗余的方法及装置转让专利

申请号 : CN200910006526.X

文献号 : CN101482733B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘志勇程高峰吴洁芸

申请人 : 浙江中控技术股份有限公司

摘要 :

本发明提供一种数据冗余的方法及装置,所述方法包括:在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;依据所述需冗余数据的物理地址值,提取所述需冗余数据;将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器。本发明方法在满足冗余启动条件下,即在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,再进行数据的冗余处理,减少了不必要的冗余,也减少了工作控制器和备用控制器的冗余数据存放区中不必要的资源空间消耗。

权利要求 :

1.一种数据冗余的方法,其特征在于,包括:

在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;

依据所述需冗余数据的物理地址值,提取所述需冗余数据;

将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器,以使所述备用控制器依据所述需冗余数据的物理地址值,将所述需冗余数据存储在所述备用控制器中与所述物理地址值相应的空间。

2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:所述备用控制器对所述需冗余数据的存储结果进行反馈。

3.根据权利要求1或2所述的方法,其特征在于,所述需冗余数据与物理地址值之间的映射关系包括:当所述需冗余数据为多个连续参数时,所述需冗余数据的起始参数与所述起始参数的起始物理地址值之间的映射关系,以及所述连续参数的长度与所述长度对应的延续物理地址值之间的映射关系。

4.根据权利要求1或2所述的方法,其特征在于,将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器之前,还包括:当所述需冗余数据为多个且不连续时,将所述多个不连续的需冗余数据依次拷贝至冗余数据存放区,在所述冗余数据存放区内将所述多个不连续的需冗余数据整理合并成连续的数据。

5.一种数据冗余的装置,其特征在于,包括:

地址获取单元,用于在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;

需冗余数据提取单元,用于依据所述需冗余数据的物理地址值,提取所述需冗余数据;

发送单元,用于将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器;

存储单元,用于所述备用控制器依据所述需冗余数据的物理地址值,将所述需冗余数据存储在所述备用控制器中与所述物理地址值相应的空间。

6.根据权利要求5所述的装置,其特征在于,所述装置还包括:反馈单元,用于所述备用控制器对所述需冗余数据的存储结果进行反馈。

7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:合并单元,用于在将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器之前,当所述需冗余数据为多个且不连续时,将所述多个不连续的需冗余数据拷贝至冗余数据存放区,在所述冗余数据存放内将所述多个不连续的需冗余数据整理合并成连续的数据。

8.一种冗余控制器,包括工作控制器和与所述工作控制器相连的备用控制器,其特征在于,所述工作控制器,用于在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;依据所述需冗余数据的物理地址值,提取所述需冗余数据,并将所述需冗余数据及所述需冗余数据的物理地址值发送给所述备用控制器;

所述备用控制器,用于依据所述需冗余数据的物理地址值,将所述需冗余数据存储在所述备用控制器中与所述物理地址值相应的空间。

说明书 :

一种数据冗余的方法及装置

技术领域

[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] 图1是本发明实施例一种需冗余数据冗余的方法流程图;
[0035] 图2是本发明实施例中涉及的程序页的结构示意图;
[0036] 图3是本发明另一实施例的一种数据冗余方法流程图;
[0037] 图4是本发明实施例中涉及的功能块的结构示意图;
[0038] 图5是本发明实施例一种数据冗余装置的结构框图;
[0039] 图6是本发明实施例冗余控制器的结构框图。

具体实施方式

[0040] 为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,附图仅提供参考与说明,并非用来限制本发明。
[0041] 下面结合附图和实施例,对本发明的技术方案进行描述。
[0042] 参照图1为本发明实施例一种需冗余数据冗余的方法流程图,该方法包括:
[0043] 步骤101,在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;
[0044] 当满足该冗余启动条件时,即需冗余数据所属功能块处于运行状态,和存储所述需冗余数据的硬件冗余资源处于可用状态,再进行步骤101,否则等待直到满足该冗余启动条件。
[0045] 其中,功能块处于运行状态,即当功能块所属程序页在控制器当前运行周期内运行时,功能块程序才运行,才可能进行需冗余数据冗余处理;当功能块所属的程序页未能在当前运行周期内运行时,则不必进行需冗余数据冗余处理。硬件冗余资源可用是指冗余数据存放区和发送缓冲区的自身运作状态正常,任一处于非正常运行时,表明硬件冗余资源不可用。例如冗余数据存放区发生硬件上的损坏时,硬件冗余资源不可用。其中的发送缓冲区是指数据通讯时发送前的数据准备区域。通常情况下,工作控制器的硬件冗余资源可用,除非控制器处于硬件受损或冗余通讯中断等情况下,硬件冗余资源不可用。
[0046] 冗余启动条件还可以包含功能块参数条件,功能块参数条件是功能块内参数具有进行需冗余数据冗余处理的需求,包括同一参数不同状态下具有不同的冗余需求的情况。当然,上述冗余启动条件也可以根据需要重新设置。
[0047] 在工作控制器运行时,会按固定的运行周期,依据控制器内每幅程序页的调度设置,按照一定的顺序运行某些程序页。程序页为一段集多个具有不同功能的功能块而成的程序段落。
[0048] 如图2所示为本发明实施例中涉及的程序页的结构示意图,程序页201,表示在工作控制器中第N幅程序页,该程序页201内包含了多个功能块,如功能块211、功能块212、功能块213等,每个功能块内又包含有按一定顺序结构存放的多个参数。程序页内每个功能块所有参数存储的物理地址值是固定的,例如功能块212占用了工作控制器的一片内存,则在删除该功能块212之前,功能块212内的参数与其占用内存的物理地址值的对应关系是不会被更改的。而需要冗余的参数的集合即为冗余需冗余数据,当然该集合中可能包含一个参数也可能包含多个参数。
[0049] 本步骤中,当需冗余数据只包含一个参数时,映射关系即需要冗余的参数与该参数在工作控制器中占有的固定物理地址值之间的对应关系,根据该映射关系,即可获得参数的物理地址值。
[0050] 步骤102,依据所述需冗余数据的物理地址值,提取所述需冗余数据;
[0051] 在工作控制器的运行过程中,当运行到某程序页时,该程序页的某功能块内含有需要冗余的数据,则依据该需冗余数据的物理地址值,可以找到对应的需冗余数据信息,然后提取该需冗余数据。
[0052] 步骤103,将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器。
[0053] 本实施例在满足冗余启动条件下,即在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,再进行数据的冗余处理,减少了不必要的冗余,也减少了工作控制器和备用控制器的冗余数据存放区中不必要的资源空间消耗。而且,现有技术中通过程序编辑软件的编译规则将功能块的需冗余数据信息存放在工作控制器的冗余数据存放区内,需冗余数据与程序编辑软件的编译规则紧密相连,当需冗余数据发生更改时,需要对程序编辑软件的编译规则也进行同步更改,需冗余数据冗余过程繁琐,不易操作。而本发明实施例采用功能块运行时提出需冗余数据起始参数及长度,建立需冗余数据与需冗余数据的物理地址值之间的映射关系,依据物理地址值来提取需冗余数据,然后发送给备用控制器,整个需冗余数据冗余的过程中不需要通过程序编辑软件的编译规则来实现,在需冗余数据更改时,只需要重新指定功能块运行时的需冗余数据起始参数及长度,或重新指定启动条件,操作更加简便易行。以下为本发明方法的具体实施例。
[0054] 参照图3为本发明另一实施例的一种数据冗余方法流程图。
[0055] 需冗余数据可能只包含一个参数,也可能包含多个连续的参数,而不连续的多个参数就相当于多个包含一个参数的需冗余数据。如图4所示为本发明涉及的某功能块的结构示意图,该功能块中包含有多个参数,本实施例中,需要冗余的数据401中包含多个连续的参数,包括参数c至参数f,需要冗余的参数的选择标准是权衡该参数对程序逻辑的影响力。本实施例中数据401冗余的方法包括以下步骤:
[0056] 在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值。
[0057] 本实施例中需冗余数据401为多个连续参数,此时预先建立的映射关系包括:需冗余数据的起始参数与所述起始参数的起始物理地址值之间的映射关系,以及所述连续参数的长度与所述长度对应的延续物理地址值之间的映射关系。
[0058] 本实施例中,获得所述需冗余数据的物理地址值具体可以通过步骤301和步骤302来实现,
[0059] 步骤301,当所述需冗余数据为多个连续参数时,标记所述需冗余数据的起始参数及所述连续参数的长度;
[0060] 本步骤中可以通过功能块程序引用参数名,来标记多个连续参数的起始参数,在本实施例中的起始参数为参数c,并标记连续参数c至参数f占有的长度。
[0061] 步骤302,根据预先建立的所述起始参数与所述起始参数的起始物理地址值,以及所述连续参数的长度与所述长度对应的延续物理地址值之间的映射关系,获得所述需冗余数据的物理地址值。
[0062] 在本步骤中,映射关系包括起始参数c与参数c的物理地址值即起始物理地址值的映射关系,还包括参数c至参数f的长度在物理地址值上的对应关系,即该连续参数的长度与起始物理地址值后的延续物理地址值之间的映射关系,根据该映射关系即可获得需冗余数据的物理地址值,即起始物理地址值和延续物理地址值。
[0063] 步骤303,依据所述需冗余数据的物理地址值,提取所述需冗余数据。
[0064] 该步骤中,依据需冗余数据的物理地址提取需冗余数据,即依据初始物理地址值对应到相应的起始参数c,然后根据延续物理地址值对应到要提取的连续参数的长度,然后提取自起始参数c开始的相应长度的需冗余数据。
[0065] 当然,需冗余数据可能有多个,这些需冗余数据可能在同一程序页的不同功能块内,也可能在同一个功能块内。
[0066] 优选的,本实施例还包括步骤304,当所述需冗余数据为多个且不连续时,在将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器之前,将所述多个不连续的需冗余数据发送至冗余数据存放区,在所述冗余数据存放区内将所述多个不连续的需冗余数据整理合并成连续的数据。
[0067] 采用本步骤304,可以不用将不连续的需冗余数据分多次发送给备用控制器,而是将不连续的需冗余数据,通过整理合并后再一次发送给备用控制器,提高了数据冗余的效率。
[0068] 步骤305,将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器。需冗余数据及需冗余数据的物理地址经由发送缓冲区发送给备用控制器。
[0069] 优选的,本实施例还包括步骤306,所述备用控制器依据所述需冗余数据的物理地址值,将所述需冗余数据存储在所述备用控制器中与所述物理地址值相应的空间。
[0070] 优选的,本实施例还可以包括步骤307,所述备用控制器对所述需冗余数据的存储结果进行反馈。通过对需冗余数据的存储结果的反馈,便于功能块程序实现反映、提示以及后续处理,降低了数据冗余失败的几率。
[0071] 参照图5,为本发明实施例一种数据冗余装置的结构框图。该装置包括地址获取单元501、数据提取单元502和发送单元503。
[0072] 其中,地址获取单元501,用于在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;当需冗余数据为多个连续参数时,需冗余数据与物理地址值之间的映射关系包括:需冗余数据的起始参数与所述起始参数的起始物理地址值之间的映射关系,以及所述连续参数的长度与所述长度对应的延续物理地址值之间的映射关系。
[0073] 数据提取单元502,用于所述需冗余数据的物理地址值,提取所述需冗余数据;发送单元503,用于将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器。优选的本装置实施例还可以包括合并单元504,用于当所述需冗余数据为多个且不连续时,将所述多个不连续的需冗余数据拷贝至冗余数据存放区,在所述冗余数据存放区内将所述多个不连续的需冗余数据整理合并成连续的数据,然后再由发送单元503将所述需冗余数据及所述需冗余数据的物理地址值发送给备用控制器。
[0074] 优选的本装置实施例还可以包括存储单元505,用于所述备用控制器依据所述需冗余数据的物理地址值,将所述需冗余数据存储在所述备用控制器中与所述物理地址值相应的空间。
[0075] 优选的本装置实施例还可以包括反馈单元506,用于所述备用控制器对存储单元505中需冗余数据的存储结果进行反馈。
[0076] 参照图6,为本发明实施例冗余控制器的结构框图。该冗余控制器包括工作控制器600和与工作控制器600相连的备用控制器700。
[0077] 其中,工作控制器600,用于在需冗余数据所属功能块处于运行状态、并且存储所述需冗余数据的硬件冗余资源处于可用状态时,根据预先建立的需冗余数据与物理地址值之间的映射关系,获得所述需冗余数据的物理地址值;依据所述需冗余数据的物理地址值,提取所述需冗余数据,并将所述需冗余数据及所述需冗余数据的物理地址值发送给所述备用控制器700;工作控制器600可包括上述实施例中的地址获取单元501、数据提取单元502、发送单元503和合并单元504。
[0078] 备用控制器700,用于所述备用控制器依据所述需冗余数据的物理地址值,将所述需冗余数据存储在所述备用控制器中与所述物理地址值相应的空间。备用控制器700可包括上述实施例中的存储单元505和反馈单元506。以上各单元请参照前述方法实施例,此处不再赘述。
[0079] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。