以计算机辅助的方式运行存储单元和执行应用程序的方法与流程

文档序号:35856380发布日期:2023-10-26 03:23阅读:36来源:国知局
以计算机辅助的方式运行存储单元和执行应用程序的方法与流程

本发明涉及一种用于以计算机辅助的方式运行存储单元的方法,在所述方法中,·将数据存储在存储单元中,并且在存储之前对数据进行编码,·从存储单元中调取数据,并且在调取之后对数据进行解码。此外,本发明涉及一种用于在冗余的计算实体中以计算机辅助的方式多次执行应用程序的方法,在所述方法中,为了执行所需要的应用数据集,从存储单元中调取以上述方式编码的一组应用数据集中的每个应用数据集并且进行解码。最后,本发明涉及一种计算机程序产品以及用于这种计算机程序产品的提供装置,其中,这种计算机程序产品配备有用于执行所述方法的程序命令。


背景技术:

1、原则上,在与安全相关的计算环境中以计算机辅助的方式运行的与安全相关的系统必须保证在从存储单元中进行数据的存储器调取时不发生错误。在此,不能使用损坏的数据进行数据处理。在本发明的范围内,与安全相关应当理解为与系统的运行安全相关(也称为safety)。例如,铁路应用被视为是所提到的该术语意义上的与安全相关的系统。

2、为了保护与安全相关的计算环境,已知在计算机上的多个计算实体中,仅可靠地安装用于处理相关应用的部件。然后,如果应用在多个计算实体中并行运行,则可以通过投票(voting)以本身已知的方式确定在计算中是否发生错误,由此也可以发现存储错误。

3、根据wo 2014/009243 a2,描述了一种方法和计算机,其具有用于在由计算机形成的计算环境中处理应用的检查算法。在计算机上安装有冗余执行的应用程序,从而检查算法能够通过比较计算结果来发现错误(如所提到的,也称为投票)。然而,这种方法与相当大的硬件开销相关联,并且在特定情况下不允许进行可靠的错误识别。


技术实现思路

1、本发明要解决的技术问题在于,给出一种用于以计算机辅助的方式运行存储单元的方法以及用于以计算机辅助的方式执行应用程序的方法,在所述方法中使用这种存储单元,利用所述方法,可以改善对所使用或者处理的数据的完整性的检查的可靠性,并且特别是可以识别处理错误。此外,本发明要解决的技术问题在于,给出一种计算机程序产品以及用于这种计算机程序产品的提供装置,其可用于执行前面提到的方法。

2、根据本发明,上述技术问题利用开头给出的用于以计算机辅助的方式运行存储单元的方法通过以下方式来解决,即,为了对数据进行第一次编码,

3、·从可能的差异特征数据的存储库产生或者选择至少一组应用数据集,其包含具有用于应用程序的相同的应用数据的数据部分和具有相应地不同的差异特征数据的检查数据部分;

4、·对每个应用数据集进行编码和存储,

5、并且通过对应用数据集进行调取和解码来进行数据的调取,以及通过对应用数据集进行编码和存储来进行数据的存储。

6、形成分别包含具有相同的应用数据的数据部分的应用数据集的组具有如下优点,即,可以冗余地执行计算操作、即对使用相应地相同的应用数据的应用程序的处理。如果在应用数据集中的一个中识别出错误,则可以将相关的应用数据集排除在处理之外,而不需要由于此而立即中断方法流程。因为可以使用其它应用数据集用于方法的执行,即对相关的应用程序的处理。

7、差异特征数据使具有相应地相同的应用数据的应用数据集可以彼此区分,并且使得能够例如准确地分配给针对相关的应用数据设置的计算实体。由此也可以检查在将应用数据集分配给特定计算实体时是否出现了错误(称为分配错误)。这种识别出的错误也可以在方法流程中触发适当的反应。例如,应用数据集的错误分配可能导致相关的计算实体被排除在方法的执行之外。在这种情况下,其余计算实体也可以继续运行方法,因此不立即导致方法中断。

8、如果应用程序需要多个应用数据集(并且这是规则),则特别是每一组应用数据集可以再次获得相同的差异特征数据。从差异特征数据的存储库中选择这些差异特征数据,以这种方式,通过差异特征数据,将应用数据集分配给具有特定差异性的特定计算实体(换言之,将存储库中的特定类型的差异特征数据分配给的计算实体)。这已经大大提高了运行可靠性,并且由于差异特征数据的有限的存储库,可以利用很少的计算开销来实现。

9、如果结合本技术一般地提到数据,则数据可能具有任意内容。相比之下,应用数据、差异特征数据、冗余数据、计数数据等应当理解为特定的数据,即指定用途的数据。此外,还区分

10、·可变数据:与运行时间相关地占据或者改变这些数据(特别是应用数据)

11、·静态数据:程序数据(特别是描述应用程序的应用数据)。

12、包含应用数据的数据部分(简称为应用数据部分)可以被执行(作为用于应用程序的运行的指令的静态数据)或者被处理(用于应用程序的要处理的可变数据)。优选包含差异特征数据和/或冗余数据和/或计数数据的检查数据部分优选用于通过服务程序进行的处理,这些服务程序是为了检查数据的完整性而调取的(下面将对此进行更详细的说明)。

13、应用数据集的编码存储有利地提高了在处理中(处理错误)或者在存储中(存储错误)识别出数据错误的概率。尤其是例如数据存储期间的单个bit-kipper(位翻转)将在解码过程中导致不同的结果,使得编码的应用数据集与要编码的应用数据集明显不同。如果发现这种错误,则执行已经提到的措施,以便方法保证所需要的运行安全。

14、由此实现了一种安全机制,这种安全机制在要解决的技术问题的意义上改善了存储单元的运行以及应用程序(在此是服务程序或者实用程序(nutzprogram),下面将对此进行更详细的说明)的执行。特别是与安全相关的应用,例如必须满足特定的安全级别(也称为安全等级sil-1…sil-4或者安全综合等级(safety integrity level))作为批准先决条件的铁路应用,有利地受益于这种改善。在本发明的范围内,术语“安全”应当在运行安全(safety)的意义上来理解。特别是,编码的着眼点首先在于运行安全,而不在于传输安全性(security)。因此,根据本发明,优选提供一种编码方法,其在编码以及解码中实现高性能(具有编码时间和解码时间短的效果),而不保证在没有授权的情况下对编码进行解密的高难度。

15、一般而言,利用根据本发明的用于运行存储单元以及用于执行应用程序的方法,通过检查包含用于应用程序的数据的数据部分以及包含使检查变得容易的其它标准的检查数据部分,可以确定哪些数据集实际上或者至少潜在地是损坏的,因此在执行应用程序、特别是实用程序时危及运行安全。通过输出错误来标记相关的数据集,并且优选在进一步的过程中将其排除在数据处理之外。

16、换言之,根据本发明,可以说将运行安全与数据集本身耦合。为此,根据本发明,数据集设置有适当的检查数据部分。这有利地可以实现,可以将数据集存储在同一个存储单元上,即使在出于运行安全的原因过程并行(冗余地)运行时。特别是,由此,为了存储数据集以及处理应用程序,可以使用在市场上可以获得的硬件部件,即所谓的cots部件(cots代表commercial off-the-shelf(市场上的现货)),而在此不危及对运行安全的要求。因此,这种部件例如也可以在铁路技术应用中使用,并且取代专门的系统。cots部件有利地在购买时是低成本的,并且在需要时也可以更容易地更换,并且可以集成到云解决方案中。

17、由此实现了一种安全机制,这种安全机制在要解决的技术问题的意义上改善了存储单元的运行以及应用程序(在此是服务程序或者实用程序,下面还要对此进行更详细的说明)的执行。如已经说明的,特别是与安全相关的应用有利地受益于这种改善。

18、一般而言,利用根据本发明的用于运行存储单元以及用于执行应用程序的方法,通过检查包含用于应用程序的数据的数据部分以及包含使检查变得容易的其它标准的检查数据部分,可以确定哪些数据集实际上或者至少潜在地是损坏的,因此在执行应用程序、特别是实用程序时危及运行安全。通过输出错误来标记相关的数据集,并且优选在进一步的过程中将其排除在数据处理之外。

19、换言之,根据本发明,可以说将运行安全与数据集本身耦合。为此,根据本发明,数据集设置有适当的检查数据部分。这有利地可以实现,可以将数据集存储在同一个存储单元上,即使在出于运行安全的原因过程并且行(冗余地)运行时。特别是,由此,为了存储数据集以及处理应用程序,可以使用在市场上可以获得的软件和硬件部件,即所谓的cots部件(cots代表commercial off-the-shelf(市场上的现货)),而在此不危及对运行安全的要求。因此,这种部件例如也可以在铁路技术应用中使用,并且取代专门的系统。cots部件有利地在购买时是低成本的,并且在需要时也可以更容易地更换,并且可以集成到云解决方案中。

20、结合本发明,“计算机辅助的”或者“计算机实现的”可以理解为如下方法的实现,在该方法中,至少一个计算机或者处理器执行该方法的至少一个方法步骤。

21、结合本发明,“计算环境”可以理解为由诸如计算机、存储单元、程序的部件以及要利用程序处理的数据构成的基础设施,这些部件和数据用于执行有任务要完成的至少一个应用。特别是,基础设施也可以由所提到的部件的网络构成。

22、“计算实体”(或者简称为实体)在计算环境中可以理解为可以分配给应用并且可以执行应用的功能单元。在执行应用时,该功能单元形成物理地和/或虚拟地自成一体的系统。

23、表述“计算机”或者“computer”涵盖所有具有数据处理特性的电子设备。计算机例如可以是个人计算机、服务器、手持计算机、移动无线电设备以及以计算机辅助的方式处理数据的其它通信设备、处理器和用于进行数据处理的其它电子设备,其优选也可以通过接口连接成网络。

24、结合本发明,“处理器”例如可以理解为转换器、用于产生测量信号的传感器或者电子电路。处理器特别是可以是中央处理器(英语:central processing unit(中央处理单元),cpu)、微处理器、微控制器或者数字信号处理器,其可能与用于存储程序命令和数据的存储单元组合。处理器也可以理解为虚拟化的处理器或者软cpu(soft-cpu)。

25、结合本发明,“存储单元”例如可以理解为工作存储器(英语:random-accessmemory(随机存取存储器),ram)或者数据存储器(硬盘或者数据载体)形式的计算机可读存储器。

26、“接口”可以通过硬件技术来实现,例如以有线的方式或者作为无线连接来实现,和/或通过软件技术来实现,例如作为一个或多个计算机程序的各个程序模块或者程序部分之间的交互来实现。

27、“云”应当理解为用于“云计算”的环境(也称为计算机云或者数据云)。这意味着通过诸如因特网的网络的接口使得可用的it基础设施。其通常包括存储空间、计算能力或者软件作为服务,而不需要这些安装在使用云的本地计算机上。在云计算的框架中提供的服务涵盖了整个信息技术领域,尤其是包括基础设施、平台和软件。

28、“程序模块”应当理解为能够实现方法步骤的根据本发明的程序运行的各个功能单元。这些功能单元可以在单个计算机程序中或者在多个相互通信的计算机程序中实现。在此实现的接口可以通过软件技术在单个处理器内实现,或者如果使用多个处理器,可以通过硬件技术来实现。

29、除非在下面的描述中另有说明,否则术语“创建”、“确定”、“计算”、“生成”、“配置”、“修改”等优选涉及产生和/或改变数据和/或将数据转换为其它数据的过程。在此,数据特别是作为物理参量存在,例如作为电脉冲或者模拟的电气参量。所需要的指令在计算机程序中被组合成软件。此外,术语“发送”、“接收”、“读取”、“读出”、“传输”等涉及各个硬件部件和/或软件部件通过接口的相互作用。

30、替换地,根据本发明,上述技术问题还利用开头给出的用于在冗余的计算实体中以计算机辅助的方式多次执行应用程序的方法通过以下方式来解决,即,

31、·为了在对应用数据集解码之后检查数据,如果一个应用数据集中的差异特征数据不同于存储库中的、即针对该计算实体设置的存储库中的该计算实体的所有可能的差异特征数据,则相应地针对该应用数据集确定错误,

32、·如果确定没有错误,则利用相关组中的每个应用数据集的数据部分执行应用程序,

33、和/或

34、·根据本发明至少对包含通过执行应用程序而改变后的或者产生的数据部分的应用数据集进行编码,并且存储在存储单元中。

35、上面已经详细说明了在通过应用程序处理应用数据集时使用差异特征数据来识别错误。为了处理应用数据集,对应用数据集进行解码,并且在将应用数据集再次存储到存储单元之前,再次对应用数据集进行编码。此外,可以通过执行应用程序来改变应用数据集,或者形成具有新产生的数据部分的应用数据集。然后,根据上面提到的存储方法对应用数据集进行编码,并且将其存储在存储单元中。

36、在检查差异特征数据时,至少检查应用数据集的识别出的差异特征数据是否与存储库中的所有可能的差异特征数据(即对于相关计算实体可能的差异特征数据)不同。然后确定错误,如果这些差异特征数据对应于预期的差异特征数据,则假定不存在错误。优选对于一个计算实体,也仅允许存储库中的一种类型的差异特征数据。然而,也可以分别针对不同的差异特征数据,在不同的区域中保留计算实体,以便更好地利用计算实体(下面还要对此进行更详细的说明)。

37、在检查数据时,例如,如果原则上存储库中的所有差异特征数据都可以用于特定的计算实体,则可以检查应用数据集中的差异特征数据是否不同于存储库中的所有可能的差异特征数据。但是也可以针对特定的计算实体保留存储库中的特定差异特征数据。然后,仅检查差异特征数据是否与计算实体的这些保留的差异特征数据不同。在此,通过确定错误的差异特征数据而发现错误的概率有利地提高。

38、根据本发明的一个设计方案设置为,存储库中的不同的差异特征数据包含不同的编码常数和解码常数。

39、编码常数在编码算法中使用,并且解码常数在解码算法中使用。这样的编码算法和解码算法本身是已知的。借助这些常数,可以有利地实现高性能的编码和解码。在此仅涉及获得运行安全(safety),而不涉及获得针对恶意攻击的足够的安全性(security),其仅在明显更高的计算开销和与此相关联的计算性能损失的情况下才有可能。

40、如果同时使用编码常数和解码常数作为差异特征数据,则这具有在编码中包含应用数据集的差异的优点。这意味着,对于编码和解码,使用一对常数,它们同时定义相关应用数据集的差异。因此,利用这些常数,同时满足两个功能性,这节省了计算开销,因此提高了方法的性能。

41、根据本发明的一个设计方案设置为,差异特征数据包括匹配运算符,匹配运算符用于将通过解码产生的数据部分匹配于解码之前的数据部分。

42、如果编码的以及随后解码的应用数据集的信息内容(例如位宽)大于编码的应用数据集的信息内容,则需要匹配运算符。然后,在通过要执行的应用对应用数据集进行解码之后,可以不考虑多余的信息,可以说必须通过匹配运算符截取多余的信息。一般而言,对于编码和解码算法,因此得到如下函数方程

43、((ad opa c_enc)opb c_dec)opc y==ad

44、其中,

45、ad 应用数据集

46、opa 编码运算符

47、c_enc编码常数

48、opb解码运算符

49、c_des解码常数

50、opc 匹配运算符

51、y 期望的信息内容(位宽)

52、根据本发明的一个设计方案设置为,编码运算符是用来执行乘法的指令。

53、根据本发明的另一个设计方案设置为,解码运算符(特别是还有编码运算符)是用来作为解码运算(特别是还作为编码运算)执行乘法的指令,并且匹配运算符适合用于在解码之后将数据部分限制在其原始长度(位宽)。

54、如果选择乘法作为解码运算符(特别是还作为编码运算符),则其涉及可以在计算机中以高性能有利地实现的运算。特别是,如果解码常数(特别是还有编码常数)大于1并且是整数,则运算可以通过计算技术特别简单地实现。然而,通过两次乘法,编码的和随后解码的数据部分的长度变得更大。因此,在解码之后,可以说必须从解码的整个结果中截取数据部分的实际信息内容。

55、为此,优选适合模(modulo)运算mod(也可以称为长度限制运算),在二进制表达的情况下,模运算有利地截断多余的位,以获得期望的位宽y,并且不改变其余剩余的位的内容。为了存储编码状态下的多余的信息(冗余信息)(因为只有借助该冗余信息才能成功解码),必须在应用数据集中为这些数据(位)提供附加的存储空间。为了进一步提高方法的安全性,可以附加地检查作为冗余数据的附加的存储空间中的数据的错误(下面还要对此进行更详细的说明)。

56、在考虑将乘法作为编码和解码运算并且将模运算作为匹配运算符的情况下,对于前面用于编码和解码的函数方程,得到如下表达式:

57、(ad·c_enc·c_dec)mod y==ad

58、其中,

59、ad应用数据集

60、c_enc编码常数>1

61、c_dec解码常数>1

62、mod y模运算

63、y期望的位宽

64、编码常数和解码常数是一个数字对,其特别是也表示相关应用数据集的差异。选择该数字对,使得在将应用数据集与编码常数相乘,随后将编码的应用数据集与解码常数相乘时,应用数据的期望的位宽y的位针对每个位再次具有相同的值。在差异特征数据的存储库中,对于每个差异,可以提供一个编码常数和一个解码常数,其相应地形成具有所提到的特性的数字对。实验表明,在计算速度方面,可以以相对高的性能执行利用后一种函数方程的编码和解码算法。

65、根据本发明的一个设计方案设置为,在为了对数据进行第一次编码而以计算机辅助的方式运行存储单元时,附加地

66、通过执行针对存储单元的时间上的一系列计算机辅助的检查运行来监视存储单元的错误,其中,为了对数据进行第一次编码,

67、·产生或者选择至少一个应用数据集,

68、·对于每个应用数据集,附加地利用指示正在执行的检查运行的计数数据占据检查数据部分,

69、·对每个应用数据集进行编码和存储,

70、并且其中,为了在调取应用数据集并且对其进行解码之后检查正在执行的检查运行中的数据,相应地

71、·对于应用数据集,如果计数数据既不指示正在执行的检查运行,也不指示最近完成执行的检查运行,则确定有错误,

72、·如果确定没有错误,则利用指示正在执行的检查运行的计数数据占据相关应用数据部分的检查数据部分,

73、如果确定没有错误,则再次对相关的应用数据集进行编码和存储;

74、和/或

75、在以计算机辅助的方式执行应用程序时,根据本发明来运行存储单元,其中,从存储单元调取执行所需的应用数据集并且对其进行解码,其中,

76、·在对应用数据集进行解码之后,执行应用程序,

77、·至少对包含通过执行应用程序改变或者产生的数据部分的应用数据集进行编码,并且将其存储在存储单元中。

78、应用程序的执行优选可以逐步进行。这意味着,相应地至少对于应用程序的即将进行的步骤,也仅必须从存储单元中调取执行应用程序所需要的应用数据集,并且对其进行编码。当然,在处理应用程序时,逐步调取处理应用程序所需要的全部应用数据集并且对其进行解码。

79、如下面将描述的,本发明的这种设计方案是一种附加的安全机制,其在要解决的技术问题的意义上附加地进一步改善存储单元的运行以及应用程序的执行。如已经说明的,特别是与安全相关的应用、例如铁路应用有利地受益于这种改善。在此,仅必须出现在本发明的范围内所描述的错误中的一个,以在整体上引起错误的输出。因此,无论通过根据本发明的措施中的哪一种识别出错误,在执行应用程序(实用程序)时安全性都提高。如已经提到的,术语“安全”应当在运行安全(safety)的意义上理解。

80、通过在第一次编码时将检查数据部分(如果还没有检查数据部分,则事先产生检查数据部分,或者如果已经有检查数据部分可用于相关的数据部分,则选择检查数据部分)分配给数据部分中的每个,可以将包含关于正在执行的检查运行的信息的计数数据存储在相关的数据集中。通过随后对相关的数据集进行编码,保护计数数据以及相关数据部分的其它数据在解码之前不被访问。也就是说,在编码状态下,不会意外地(例如由于故障)或者有意地(例如由于外部攻击)改变数据,并且不会在对数据进行解码时将改变识别为错误。至少在对数据集进行解码时,改变不被认为是错误的可能性极小。在这方面,更确切地说,不存在针对改变本身的保护,而是仅存在针对未发现的改变的保护。通过针对正确的编码周期性地检查存储器内容(在使用计数数据的情况下),也发现所谓的休眠的错误(schlafende fehler)。这是指在数据存储期间例如由于存储介质的物理变化(bit-kipper(位翻转)等)而可能出现的错误。根据本发明,不能发现错误的低概率使得符合更高的安全级别(sel-1…sil-4)成为可能。

81、在数据集中,优选保护应用程序所需要的所有数据,即构成程序本身的数据以及作为要处理的信息的数据。

82、例如,由于存储错误、即在存储数据期间在存储单元上出现的错误(例如所谓的bit-kipper),或者由于处理错误、即在处理数据集期间出现的错误,计数数据可能被改变。然而,如果计数数据既不指示正在执行的检查运行,也不表示最近完成执行的检查运行,则于是在执行下一次检查运行时确定发生了这种改变。在这种情况下,确定出现错误。即使其原因可能无法明确地确定,并且可能对数据处理无害,出于所要达到的安全水平的原因,在确定出现错误之后,例如也输出错误和/或采取措施,该措施至少暂时禁止对有错误的数据进行进一步处理。

83、仅当确定没有错误时,检查数据部分中的计数数据才被正在执行的检查运行的计数数据占据,对数据集进行编码并且再次进行存储。由此同时将相关数据集标记为在相关检查运行中被检查(其中,稍后将说明如何也能够在检查运行之外利用检查数据部分中的当前的计数数据来占据数据集的可能性)。

84、计数数据必须具有如下的特性,即,其形成一个数列,其中,计数数据的集合的每个元素的前任和继任者相应地都是已知的。在此,原则上可以使用所有的数学数列。特别优选可以选择自然数的集合。

85、为了执行检查运行,优选使用执行检查运行的应用程序(服务程序)。为此,相关的应用程序(其也可以称为检查程序)访问存储单元,对数据集逐一进行解码、检查和编码,直到完全执行检查运行为止。对于确定存在错误的情况,可以通过检查程序输出错误。在此,检查程序还可以包含如下的功能,该功能包含对所确定的错误的反应,例如暂停如下的应用程序(实用程序),该应用程序使用应用的有错误的数据部分(也称为应用数据部分),因此可能潜在地导致与安全相关的错误。由此使得可以识别不同的错误源。

86、例如可以通过寻址各个数据集来控制检查运行的执行。如果在检查运行开始时已知所有数据集的地址,则可以按顺序调用这些数据集,直到检查运行结束为止(下面还要对此进行更详细的说明)。

87、如果检查运行作为整体以如下方式错误地执行,即,检查运行没有对检查运行的所有数据集进行检查,则这一点最迟将在下一个检查运行中被注意到,至少假定未检查的数据集在下一个检查运行中再次被检查。也就是说,其于是具有倒数第二个检查运行的计数数据,这在下一个检查运行期间将被注意到。由此识别出错误并且输出错误。因此,计数数据还使得能够监视检查运行本身的常规执行。由此使得可以识别另外的错误源。被归类为过时的、因此可能有错误的数据(因为未定期在检查运行中进行检查)在其完整性方面不够安全,因此这被评估为错误。

88、根据本发明的一个设计方案设置为,在第一次执行检查运行之前,确定计数数据的起始值。

89、起始值必须是所使用的数列的元素。特别是在使用自然数作为计数数据时,起始值是自然数。在此,有利的是,使用不等于一的数字,并且特别是在使用多个存储单元时,使用不同的起始值,因为这附加地降低了不同存储单元的错误的计数数据随机地一致的概率。由此有利地进一步提高了过程安全性,因为进一步降低了出现未识别出的存储错误或者处理错误的概率。

90、根据本发明的一个设计方案设置为,检查运行分别至少包含对在检查运行开始时可用于正在进行的方法的所有应用数据集的检查。

91、在所述方法的该设计方案中,在检查运行开始时确定要检查哪些数据集。随后,对所确定的数量的要检查的数据集进行检查。如果检查了所有要检查的数据集,则完成检查运行。随后,可以利用后续的计数器元素占据计数数据。可以说,通过确定检查运行的检查范围并且随后执行检查运行,可以有利地可靠地以较低的计算开销执行检查的过程。

92、替换地,也可以在检查运行中仅针对性地检查在上一个检查运行期间改变后的数据集。然而,这将包含对数据集的使用或者变化的监视,这将使方法的流程更加复杂。此外,在不访问所存储的数据时,也可能出现诸如bit-kipper的存储错误。下面还要更详细地讨论数据集的改变。

93、原则上,如果尤其是应用程序不需要(调取和/或改变)要检查的所有数据集,则可以执行检查运行。但是也可以与正在运行的应用程序并行地,即,在应用程序访问正在检查的所有数据集期间,执行检查运行。在这种情况下,不能检查正在处理的数据集(下面还要对此进行更详细的说明)。

94、根据本发明的一个设计方案设置为,一旦完成检查运行,则利用如下的计数元素占据计数数据,该计数元素跟随计数数据的用于先前的占据的计数元素。

95、当对检查运行包含的所有应用数据集进行了检查时,检查运行完成。这意味着,在检查运行期间,监视对哪些应用数据集进行了检查,哪些应用数据集尚未进行检查。这例如可以借助应用数据集的地址来实现,可以利用地址来识别应用数据集。

96、如果检查运行结束,并且利用随后的计数元素占据了提供给用于检查的应用程序的计数数据,则应用程序可以在随后的检查运行中调取更新后的计数数据。然后,在检查所存储的数据集时,可以检查数据集是否相应地包含先前的检查运行的计数数据,因为可以说应用程序通过先前的计数数据的增大而“知道”当前检查运行的计数元素。由于所检查的每个数据集中的计数数据(至少在确定没有错误时)都被设置为当前计数元素,因此根据所述方法,可以任意地多次重复检查运行。

97、通过在执行应用程序时也(如前面根据用于运行存储单元的方法所描述的)运行存储单元,在编码时,也利用指示当前正在执行的检查运行的计数数据,占据包含通过执行应用程序(实用程序)而改变或者产生的数据部分的应用数据集。

98、这具有不同的优点。如果创建了新的数据集或者改变了数据集(即,改变了现有数据集中的数据,特别是具有应用数据的数据部分),则与如下的计数数据一起存储这些数据集,这些计数数据适合用于至少在接下来的检查运行中一起检查相应的数据集。如果所存储的数据集没有错误,则在接下来的检查运行中,这些数据集也配备有适当的计数数据,以便可以将这些数据集识别为没有错误。

99、本发明的这种设计方案还具有如下优点,即,在与应用程序的数据处理并行进行的检查运行中不能用于检查的数据集可以被检查运行忽略,因为在通过应用程序、特别是实用程序进行处理时,这些数据集被当前的计数数据占据,该当前的计数数据使得能够在随后的检查运行中进行检查,即使当由于应用程序(实用程序或者服务程序)的并行处理而在当前的检查运行中忽略了(例如检查程序的)检查时。这特别是大大简化了检查运行的流程,因为检查运行可以在处理检查例程时简单地忽略正在处理的数据集,并且不需要在当前检查运行的稍后时间点补充进行检查。从安全的角度来看,这是合理的,因为数据的完整性也可以由应用程序(实用程序)在考虑计数数据的情况下执行(或者在可预见的将来在接下来的检查运行中执行),因此保持相关数据集最新。

100、根据本发明的一个设计方案设置为,在对应用数据集进行解码之后以及在执行应用程序之前检查数据时,相应地

101、·对于应用数据集,如果计数数据既不指示正在执行的检查运行,也不指示最近完成执行的检查运行,则确定错误,

102、·如果确定没有错误,则执行应用程序。

103、在本发明的这种设计方案中,附加地相应地在通过应用程序(实用程序)对数据进行处理时,实现通过借助检查运行对存储单元中的数据进行定期检查而实现的优点。换言之,每次从存储单元调取数据以进行处理时,检查是否在此期间出现了存储错误。由此实现附加的安全性,因为也可以识别出如下的存储错误,这些存储错误在最后一次成功的检查运行和应用程序(特别是实用程序)调用数据集之间的数据集中随机地出现。

104、根据本发明的一个设计方案设置为,在编码之前创建检查数据部分,使得检查数据部分附加地具有带有预先给定的冗余数据的冗余的存储空间。

105、如下面将要描述的,本发明的这种设计方案是一种附加的安全机制,其在要解决的技术问题的意义上附加地进一步改善存储单元的运行以及应用程序的执行。如已经说明的,特别是与安全相关的应用、例如铁路应用有利地受益于这种改善。在此,仅必须出现在本发明的范围内所描述的错误中的一个,以使得总体上输出错误。因此,无论通过哪一种措施识别出错误,执行应用程序(实用程序)时的安全性提高。如已经提到的,术语“安全”一词应当在运行安全(safety)的意义上进行理解。

106、安全收益在于,方法中的预先给定的冗余数据,因为是预先给定的,因此也是已知的。对于冗余数据,冗余意味着存储应用数据不需要冗余数据。然而,由于数据量(位宽)在此增大,因此编码需要冗余数据。在此,冗余数据被通常与预先给定的冗余数据不同的新的数据占据。随后的解码需要这些新的数据。

107、然而,如果使用相应的编码或者解码算法,则在解码之后再次利用原始的预先给定的数据填充冗余数据。这意味着,如果不满足该条件,则确定有错误。

108、优选预先给定的数据仅能包含0或者1。以这种方式,利用预先给定的数据进行填充可以特别简单地以小的计算开销执行。

109、根据本发明的一个设计方案设置为,应用数据部分由数据字构成。

110、数据字(datenwort)是计算机在处理器的算术逻辑单元中在一个步骤中可以处理的特定的数据量。如果指的是最大数据量,则将其大小称为字宽(wortbreite)、处理宽度或者总线宽度。一个数据字优选可以具有32、64或者128位的字宽。如果应用数据部分由数据字构成,则这有利地使各个方法步骤的处理加速,由此可以以最佳性能执行根据本发明的方法。

111、根据本发明的一个设计方案设置为,同时使用至少两个处理器或者处理器核来执行所述方法。

112、如已经提到的,处理器可以以物理的方式(也利用处理器核)或者以虚拟的方式(例如以仿真的方式)来实施。特别是可以有利地使用多个处理器或者处理器核来冗余地执行计算过程,即并行地、特别是也同时执行计算过程,以便在处理应用数据集时出现错误时获得附加的安全性。如下面还要详细说明的,例如可以通过投票来检查错误的出现。

113、根据本发明的一个设计方案设置为,至少两个处理器或者处理器核共同访问同一个存储单元。

114、访问同一个存储单元是指至少两个处理器/处理器核共同使用一个存储单元,其中,该存储单元不针对一个处理器或者另一个处理器提供存储区域的物理分离。换言之,每个处理器原则上可以访问由存储单元提供的整个存储区域。当然,这不排除例如通过定义存储地址为一个处理器或者另一个处理器保留特定的存储区域。然而,这种保留可以在没有硬件干预的情况下被改变或者取消,从而潜在地使每个处理器都可以使用整个存储区域。

115、针对多个处理器使用共同的存储单元有利地使cots部件的使用变得容易。此外,与在为每个处理器提供单独的存储单元时相比,购买共同的存储单元的成本效益更高。由此可以实现成本效益特别高的解决方案。

116、根据本发明的一个技术方案设置为,

117、·利用多次存储的相同的数据部分和/或利用多次相同地改变的数据部分来执行投票,

118、·如果基于投票识别出错误,则将包含导致识别出错误的数据部分的应用数据集排除在进一步处理之外。

119、如果以冗余的方式存储和处理应用数据集,则形成多次存储的相同的数据部分和/或多次相同地改变的数据部分。冗余的数据(即相关的应用数据部分)必须相同,因此出现的差异可以通过投票而被识别出是错误并且输出。

120、执行投票来识别数据错误本身是已知的。例如,可以在多个、优选三个并行的过程流程中计算独立的应用数据集,然后在投票的范围内对它们进行比较。仅当所比较的结果中的至少大多数是一致的时,结果才被归类是可信的。在此,计算环境对应用程序的并行处理特别是可以通过计算环境中的三个并行处理的应用数据集来执行。由此,可以有利地确保一个数据集的处理可以相应地在关于其它处理没有反馈的情况下执行。由此,可以有利地尽可能地降低在处理应用数据集时错误的出现也影响对其它数据集的处理的概率。

121、在检查运行中或者在执行应用程序时确定有数据错误或者通过投票确定有处理错误时,可以禁止或者至少暂停对数据的进一步处理,或者仅针对达到或者超过预先给定的安全级别的应用程序,禁止或者至少暂停对数据的进一步处理。这具有如下优点,即,相关主机的计算能力可以进一步用于与安全无关的应用程序。这意味着,如果出现的错误(例如程序崩溃)不构成与安全相关的风险(例如,与安全相关的风险在铁路应用中是火车碰撞或者其它事故),则可以执行应用程序。

122、可以有利地设置为,如果要比较的数据部分不匹配,或者如果属于这些数据部分的检查数据部分中的计数数据既不指示正在执行的检查运行,也不指示最近完全执行的检查运行,则停止应用程序中的第一应用程序和第二应用程序。

123、通过停止程序流程,有利地有效防止应用程序的错误处理继续进行。随后,如果错误已经被排除,则也可以再次开始相关的应用程序(包括子程序、程序复合体)。特别是,如果冗余地执行应用程序,以便随后能够对所产生的可变数据执行投票,则在重新启动各个应用程序或者主机时,例如铁路应用的运行可以继续。

124、根据本发明的一个设计方案设置为,

125、·使用相应的应用数据集的没有错误的数据部分来更新包含导致错误的数据部分的应用数据集,

126、·将更新后的应用数据集再次纳入进一步的处理中。

127、因此,对于更新,使用包含相关的没有错误的数据部分的相应的应用数据集。这意味着,在应用数据集中选择具有相同的应用数据的数据部分,换言之,属于同一组应用数据集的应用数据集。也就是说,如已经说明的,这些应用数据集的区别仅在于检查数据部分,然而不在于表示应用数据的数据部分、即应用数据部分,从而可以说可以将这些数据部分用于修复识别出的错误,前提是可以通过投票识别出没有错误的数据部分。

128、对有错误的数据部分的更新使得计算环境能够持续运行。否则,通过确定错误,将阻止越来越多的应用数据集,从而长此以往,方法将无法运行。由于在产生数据时缺乏冗余,投票也可能在某个时候不再能够执行。

129、但是除了投票之外,数据的冗余也使得计算环境能够运行,即使得能够对应用数据集进行处理,同时确定并且纠正各个应用数据集中的错误。也就是说,后者仅在按照上述方法修复之前才被排除在处理之外。然而,在排除损坏的应用数据集的同时,存在具有完整的数据的其它冗余的应用数据集,利用完整的数据,可以在应用中不导致延迟的情况下继续执行方法。然后,可以稍后、例如在运行暂停中激活修复的应用数据集。

130、此外,请求保护一种计算机程序产品,其具有用于执行所提到的根据本发明的方法和/或其实施例的程序命令,其中,借助该计算机程序产品,可以相应地执行根据本发明的方法和/或其实施例。

131、此外,请求保护一种用于存储和/或提供计算机程序产品的提供装置。在此,提供装置例如是存储和/或提供计算机程序产品的存储单元。替换地和/或附加地,提供装置例如是网络服务、计算机系统、服务器系统、特别是分布式的例如基于云的计算机系统和/或虚拟的计算机系统,其优选以数据流的形式存储和/或提供计算机程序产品。

132、以计算机程序产品的程序数据块的形式,作为文件、特别是作为下载文件、或者作为数据流、特别是作为下载数据流,来进行提供。但是这种提供例如也可以作为由多个部分构成的部分下载来进行。例如使用提供装置将这样的计算机程序产品读入系统中,从而使得在计算机上执行根据本发明的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1