数据库组态安全快速验证方法、系统、设备及存储介质转让专利

申请号 : CN202310292372.5

文献号 : CN116011026B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张津杨渊胡波李家港孙浩沩李亚都冯震震邱起瑞豆心杰李广亭

申请人 : 西安热工研究院有限公司

摘要 :

本发明公开了数据库组态安全快速验证方法、系统、设备及存储介质,通过在待更新机组中给定一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证,单独验证避免其他节点同步验证失败导致整机工作效率下降的问题,本发明在指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,能够有效实现数据库组态的更新,同时能够避免整机在数据库组态更新过程中出现的停机出错等问题,本发明能够确保实现数据库组态的快速发布,能够实现数据库组态先验证后发布,保证电厂业务的安全运行。

权利要求 :

1.一种数据库组态安全快速验证方法,其特征在于,包括以下步骤:

S1,在待更新机组中给定一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证;

S2,如果指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,如果指定节点中待更新的数据库组态文件验证失败,则退回待更新的数据库组态文件,将指定节点的数据库组态文件返回至更新之前的数据库组态文件;

在指定节点中对待更新的数据库组态文件进行单独验证时,在本地加载前将指定节点的运行模式修改为单机模式,与待更新机组中的其他节点仅保持心跳,不进行数据交互。

2.根据权利要求1所述的一种数据库组态安全快速验证方法,其特征在于,在一个指定节点中进行单独验证时,将待更新的数据库组态文件与指定节点当前的数据库组态文件进行二进制对比,将对比结果保存为compare.diff文件。

3.根据权利要求2所述的一种数据库组态安全快速验证方法,其特征在于,采用lzfse算法将compare.diff文件进行压缩,将压缩后的文件发送至指定节点。

4.根据权利要求3所述的一种数据库组态安全快速验证方法,其特征在于,指定节点接收到压缩后的文件后解压得到compare.diff文件,将解压后的compare.diff文件与指定节点中的database.dat文件进行异或运算得到更新后的database.dat文件。

5.根据权利要求4所述的一种数据库组态安全快速验证方法,其特征在于,将解压后的compare.diff文件与指定节点中的database.dat文件进行异或运算得到更新后的database.dat文件,同时备份指定节点中原有数据库组态文件。

6.根据权利要求1所述的一种数据库组态安全快速验证方法,其特征在于,当指定节点对待更新的数据库组态文件验证成功后,在本地开启新的实时数据库作为备用数据库,实时数据库加载待更新的数据库组态文件,实时数据库作为备用启动,然后对其他节点加载待更新的数据库组态文件,其他节点启动加载成功后,在实时数据库与各节点之间进行主备切换。

7.一种数据库组态安全快速验证系统,其特征在于,包括组态管理模块、人机交互模块和验证模块;

组态管理模块,用于存储管理各节点的数据库组态文件;

人机交互模块,用于组态管理模块中数据库组态文件的管理指令发送,在人机交互模块中选择一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证;

验证模块,根据人机交互模块选择对指定节点中的待更新的数据库组态文件进行验证,如果指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,如果指定节点中待更新的数据库组态文件验证失败,则退回待更新的数据库组态文件,将指定节点的数据库组态文件返回至更新之前的数据库组态文件;

在指定节点中对待更新的数据库组态文件进行单独验证时,在本地加载前将指定节点的运行模式修改为单机模式,与待更新机组中的其他节点仅保持心跳,不进行数据交互。

8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至

6任一项所述数据库组态安全快速验证方法的步骤。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据库组态安全快速验证方法的步骤。

说明书 :

数据库组态安全快速验证方法、系统、设备及存储介质

技术领域

[0001] 本发明属于风电控制技术领域,具体涉及数据库组态安全快速验证方法、系统、设备及存储介质。

背景技术

[0002] 数据库组态处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,可以为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。
[0003] 风电控制系统上位机在运行过程中,当需要对上位机的数据库组态进行调整时,当前的方式为人工调整、人工检查后发布到数据库中,由于整个机组相互关联,所以一般在运行的整个机组上直接进行验证,如果验证过程中出现问题,需要整个机组上进行修改重新发布。在这种情况下如果组态中的问题未检查出来就发布到运行中的机组上,则会对整个机组的运行产生一定的影响,从而增加了组态更新对机组运行造成的风险。

发明内容

[0004] 本发明的目的在于提供数据库组态安全快速验证方法、系统、设备及存储介质,以克服现有组态更新过程中对整个机组易造成停机风险的问题。
[0005] 一种数据库组态安全快速验证方法,包括以下步骤:
[0006] S1,在待更新机组中给定一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证;
[0007] S2,如果指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,如果指定节点中待更新的数据库组态文件验证失败,则退回待更新的数据库组态文件,将指定节点的数据库组态文件返回至更新之前的数据库组态文件。
[0008] 优选的,在一个指定节点中进行单独验证时,将待更新的数据库组态文件与指定节点当前的数据库组态文件进行二进制对比,将对比结果保存为compare.diff文件。
[0009] 优选的,采用lzfse算法将compare.diff文件进行压缩,将压缩后的文件发送至指定节点。
[0010] 优选的,指定节点接收到压缩后的文件后解压得到compare.diff文件,将解压后的compare.diff文件与指定节点中的database.dat文件进行异或运算得到更新后的database.dat文件。
[0011] 优选的,将解压后的compare.diff文件与指定节点中的database.dat文件进行异或运算得到更新后的database.dat文件,同时备份指定节点中原有数据库组态文件。
[0012] 优选的,在指定节点中对待更新的数据库组态文件进行单独验证时,在本地加载前将指定节点的运行模式修改为单机模式,与待更新机组中的其他节点仅保持心跳,不进行数据交互。
[0013] 优选的,当指定节点对待更新的数据库组态文件验证成功后,在本地开启新的实时数据库作为备用数据库,实时数据库加载待更新的数据库组态文件,实时数据库作为备用启动,然后对其他节点加载待更新的数据库组态文件,其他节点启动加载成功后,在实时数据库与各节点之间进行主备切换。
[0014] 一种数据库组态安全快速验证系统,包括组态管理模块、人机交互模块和验证模块;
[0015] 组态管理模块,用于存储管理各节点的数据库组态文件;
[0016] 人机交互模块,用于组态管理模块中数据库组态文件的管理指令发送,在人机交互模块中选择一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证;
[0017] 验证模块,根据人机交互模块选择对指定节点中的待更新的数据库组态文件进行验证,如果指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,如果指定节点中待更新的数据库组态文件验证失败,则退回待更新的数据库组态文件,将指定节点的数据库组态文件返回至更新之前的数据库组态文件。
[0018] 一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据库组态安全快速验证方法的步骤。
[0019] 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库组态安全快速验证方法的步骤。
[0020] 与现有技术相比,本发明具有以下有益的技术效果:
[0021] 本发明提供一种数据库组态安全快速验证方法,通过在待更新机组中给定一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证,单独验证避免其他节点同步验证失败导致整机工作效率下降的问题,本发明在指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,能够有效实现数据库组态的更新,同时能够避免整机在数据库组态更新过程中出现的停机出错等问题,本发明能够确保实现数据库组态的快速发布,能够实现数据库组态先验证后发布,保证电厂业务的安全运行。
[0022] 优选的,采用lzfse算法将compare.diff文件进行压缩,将压缩后的文件发送至指定节点,能够大大提高数据库组态文件更新过程中的传输速度,提高数据库组态更新的验证速度。
[0023] 优选的,当指定节点对待更新的数据库组态文件验证成功后,在本地开启新的实时数据库作为备用数据库,实时数据库加载待更新的数据库组态文件,实时数据库作为备用启动,然后对其他节点加载待更新的数据库组态文件,其他节点启动加载成功后,在实时数据库与各节点之间进行主备切换,能够确保数据库组态在切换过程中整机运行的稳定性。

附图说明

[0024] 图1为本发明实施例中系统结构示意图。

具体实施方式

[0025] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0026] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0027] 本发明提供一种数据库组态安全快速验证方法,包括以下步骤:
[0028] S1,在待更新机组中给定一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证;
[0029] 在上位机连接控制的整机中,含有众多节点,众多节点运行过程中,以统一的数据库组态文件运行,在现有方法中,需要调整运行控制的数据库组态文件时,则对众多节点统一进行数据库组态文件更新后验证,从而导致如果数据库组态运行出现问题,则影响整机的运行,需要对众多节点的数据库组态进行调整,返回至更新之前的数据库组态或者进行修改继续运行验证,从而大大降低了整机的运行效率。
[0030] 本申请基于组态管理模块,针对需要更新的数据库组态文件,将待更新的数据库组态(已经修改完成的数据库组态文件),在指定节点上进行验证,整机中其他节点按照原有数据库组态文件运行,不影响风电控制整机的运行;当指定节点上验证的数据库组态文件通过时,则将已经修改完成的数据库组态更新至整机的其他节点中,从而大大降低了因数据库组态更新过程中因数据库组态验证失败而出现整机运行停止,降低效率的问题。
[0031] S2,如果指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,如果指定节点中待更新的数据库组态文件验证失败,则退回待更新的数据库组态文件,将指定节点的数据库组态文件返回至更新之前的数据库组态文件。
[0032] 当选择在一个指定节点中进行单独验证时,将待更新的数据库组态文件与指定节点当前的数据库组态文件进行二进制对比,数据库组态文件大小固定,将对比结果保存为compare.diff文件;该compare.diff文件为二进制文件,记录了数据库组态文件按位进行对比后的结果,在compare.diff文件中“0”表示该字节未修改,“1”表示该字节进行了修改。
[0033] 采用lzfse算法将compare.diff文件进行压缩,当compare.diff文件修改内容不多时,压缩比大,上百M的compare.diff文件压缩后可以压缩到几十K,在节点间传送压缩后的文件的速度会比直接发送修改后的组态文件效率高,压缩完成后将压缩后的文件发送至指定节点。
[0034] 指定节点接收到压缩后的文件后解压得到compare.diff文件,将解压后的compare.diff文件与指定节点中的database.dat文件进行异或运算得到更新后的database.dat文件;同时备份指定节点中原有数据库组态文件。
[0035] 验证待更新的数据库组态文件(更新后的database.dat文件)的正确性,具体是验证数据库组态文件中各个变量的数量、各个变量的值是否在规定的范围内,如果各个变量的数量以及各个变量的值均在规定的范围内,则验证成功,否则失败。对数据库组态文件中的各个变量的数量、各个变量的值以及变量之间的关系进行约定,按照约定好的规则进行验证。
[0036] 待更新的数据库组态文件验证时,在本地加载前需要将指定节点的运行模式修改为单机模式,与待更新机组中的其他节点仅保持心跳,不进行数据交互;即通过上位机集群对指定节点进行隔离,指定节点保持单机运作,不会对其他节点的数据产生影响,在验证数据库组态文件的同时,保持对机组最小的影响。保证验证的指定节点仅进行待更新的数据库组态文件正确性验证,不对待更新机组中其他的节点造成影响。
[0037] 当指定节点对待更新的数据库组态文件验证成功后,在线加载新的数据库组态文件,在本地开启新的实时数据库作为备用数据库,实时数据库加载待更新的数据库组态文件,实时数据库作为备用启动,然后对其他节点加载待更新的数据库组态文件,其他节点启动加载成功后,在实时数据库与各节点之间进行主备切换,从而完成整机各节点数据库组态文件的加载。
[0038] 下述为本发明的装置实施例,用于执行本发明方法实施例。对于装置实施例中未纰漏的细节,请参照本发明方法实施例。
[0039] 参见图1,本发明再一个实施例中,一种数据库组态安全快速验证系统,包括组态管理模块、人机交互模块和验证模块;
[0040] 组态管理模块,用于存储管理各节点的数据库组态文件;
[0041] 人机交互模块,用于组态管理模块中数据库组态文件的管理指令发送,在人机交互模块中选择一个指定节点,将待更新的数据库组态文件传输至指定节点中,对指定节点中的数据库组态文件进行更新,在指定节点中对待更新的数据库组态文件进行单独验证;
[0042] 验证模块,根据人机交互模块选择对指定节点中的待更新的数据库组态文件进行验证,如果指定节点中待更新的数据库组态文件验证成功,则对待更新机组中的其他节点进行更新,如果指定节点中待更新的数据库组态文件验证失败,则退回待更新的数据库组态文件,将指定节点的数据库组态文件返回至更新之前的数据库组态文件。
[0043] 人机交互模块用于运行人员的操作使用,运行人员利用人机交互模块指定一个节点,对该指定节点中的数据库组态文件进行修改更新,然后利用人机交互模块点击发布,此时发布是对指定节点进行单独验证。
[0044] 人机交互模块将修改更新后的数据库组态文件与修改前的数据库组态文件进行二进制对比,将对比结果保存为compare.diff文件,将对比结果保存为compare.diff文件;该compare.diff文件为二进制文件,记录了数据库组态文件按位进行对比后的结果,在compare.diff文件中“0”表示该字节未修改,“1”表示该字节进行了修改。采用lzfse算法将compare.diff文件进行压缩,当compare.diff文件修改内容不多时,压缩比大,上百M的compare.diff文件压缩后可以压缩到几十K,在节点间传送压缩后的文件的速度会比直接发送修改后的组态文件效率高;人机交互模块将压缩后的文件发送至指定节点的组态管理模块。
[0045] 指定节点的组态管理模块接收到压缩后的文件后解压得到compare.diff文件,将解压后的compare.diff文件与指定节点中的database.dat文件进行异或运算得到更新后的database.dat文件;同时备份指定节点中原有数据库组态文件。
[0046] 验证模块验证待更新的数据库组态文件的正确性,具体是验证数据库组态文件中各个变量的数量、各个变量的值是否在规定的范围内,如果各个变量的数量以及各个变量的值均在规定的范围内,则验证成功,否则失败。对数据库组态文件中的各个变量的数量、各个变量的值以及变量之间的关系进行约定,按照约定好的规则进行验证。
[0047] 在指定节点的待更新的数据库组态文件验证时,在上位机的本地加载前将指定节点的运行模式修改为单机模式,与待更新机组中的其他节点仅保持心跳,不进行数据交互;即通过上位机集群对指定节点进行隔离,指定节点保持单机运作,不会对待更新机组中其他节点的数据产生影响,在验证数据库组态文件的同时,保持对机组最小的影响。保证验证的指定节点仅进行待更新的数据库组态文件正确性验证,不对待更新机组中其他的节点造成影响。
[0048] 当指定节点对待更新的数据库组态文件验证成功后,在本地开启新的实时数据库作为备用数据库,实时数据库加载待更新的数据库组态文件,实时数据库作为备用启动,然后对其他节点加载待更新的数据库组态文件,其他节点启动加载成功后,在实时数据库与各节点之间进行主备切换,从而完成待更新机组各节点数据库组态文件的加载;然后恢复指定节点运行模式为集群模式。
[0049] 本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field‑Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器能够用于数据库组态安全快速验证方法的操作。
[0050] 本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。
需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non‑volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关数据库组态安全快速验证方法的相应步骤。
[0051] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0052] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0053] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0054] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0055] 最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。