一种配电终端软件版本一致性检测方法和系统与流程

文档序号:18899187发布日期:2019-10-18 21:42阅读:262来源:国知局
一种配电终端软件版本一致性检测方法和系统与流程

本发明属于电力技术领域,具体涉及一种配电终端软件版本一致性检测方法和系统。



背景技术:

随着计算机技术的日益发展,配电自动化技术水平不断提高,配电终端检测也越来越科学、全面、规范。统一规范的检测工作保证了现场终端设备的功能正确和稳定可靠。但实际使用过程中,却存在因为人为操作失误、擅自升级甚至恶意篡改导致的设备运行不正常,对电力生产活动带来危害。如何杜绝这种现象,保证现场实际投入终端上部署的软件,与通过检测的软件完全一致,是保障终端现场稳定运行的关键要素,是急需解决的问题。

目前配电终端软件版本控制及一致性检测方法,大多采取人工比对,仅比对软件的名称及大小。但是即使是软件大小和名称完全相同,也不能保证软件内容和版本完全一致,存在被篡改的可能。针对这一问题,目前主流技术包括:基于内容相关词法分析的类型识别、基于文本比较启发式运算的特征码提取、基于源代码的结构解析、基于文件摘要的对比、基于hash值校验和文件片段形成特征码、以及其它外部手段如日志、数字签名等方法。但是配电终端软件具有多样性特征,其部署的硬件环境和操作系统千差万别。基于内容或源代码的解析比较方法,虽然快速准确,但在操作上不可行;目前的使用基于hash值校验和文件片段的方法,仅部分增强了文件特征码的防碰撞性,但如需达到版本控制要求,对资源消耗较大;至于其它外部手段,因为不从文件内容本身出发,更无法防止人为刻意的篡改。



技术实现要素:

为克服上述现有技术在配电终端软件版本控制及一致性检测方法中,检测内容不完整,易被篡改以及人工版本管理困难,检测易出错等问题的不足,本发明提出一种配电终端软件版本一致性检测方法和系统。

实现上述目的所采用的解决方案为:

一种配电终端软件版本一致性检测方法,其改进之处在于:

根据配电终端运行的软件的信息采用校验算法计算所述软件的校核字;

获取所述软件信息对应的标识码串;

将所述校核字与所述标识码串进行比较,并根据比较结果得到软件版本一致性检测结果。

本发明提供的第一优选技术方案,其改进之处在于,所述校验算法包括:

为所述软件的信息设定优先级;

基于每个优先级,对所述优先级对应的内容进行处理生成相应优先级校核字;

按所述优先级顺序结合所有优先级对应的优先级校核字生成所述软件的校核字。

本发明提供的第二优选技术方案,所述软件的信息包括:内容、大小、名称、版本号、检测时间、发布日期、发布/变更说明、文件更新时间和备注信息。

本发明提供的第三优选技术方案,其改进之处在于,所述为软件信息设定优先级包括:

设定所述内容和大小为第一优先级信息;

设定所述名称、版本号和检测时间为第二优先级信息;

设定所述发布日期和发布/变更说明为第三优先级信息;

设定所述文件更新时间和备注信息为第四优先级信息。

本发明提供的第四优选技术方案,其改进之处在于,所述基于每个优先级,对所述优先级对应的内容进行处理生成相应优先级校核字包括:

如果是第一优先级,采用至少两种加密方法处理第一优先级信息,并结合不同加密方法得到的结果生成第一优先级校核字;

否则,采用至少一种加密方法处理所述优先级信息,得到所述优先级校核字。

本发明提供的第五优选技术方案,其改进之处在于,处理第一优先级信息的所述至少两种加密方法,包括:

md5算法和crc32算法。

本发明提供的第六优选技术方案,其改进之处在于,所述采用至少一种方法处理所述优先级信息,得到所述优先级校核字,包括:

当所述优先级为第二优先级时,根据名称和版本号采用md5算法进行计算获得校验值;根据检测时间生成时间码值;以所述校验值和所述时间码值作为第二优先级校核字;

当所述优先级为第三优先级时,根据第三优先级信息采用crc32算法进行计算生成第三优先级校核字。

本发明提供的第七优选技术方案,其改进之处在于,所述根据比较结果得到软件版本一致性检测结果,包括:

本发明提供的第八优选技术方案,其改进之处在于,所述标识码串根据所述软件对应的标准版本软件的信息采用校验算法生成。

当第一优先级校核字与所述标识码串根据预设的位置规则对应位置的值不同时,给出软件一致性检测不一致结论,进行错误告警;

当第二优先级校核字与所述标识码串根据所述位置规则对应位置的值不同时,给出重要信息缺失或不一致结论,进行重要告警;

当第三优先级校核字与所述标识码串根据所述位置规则对应位置的值不同时,给出一般信息缺失或不一致结论,进行一般告警。

本发明提供的第九优选技术方案,其改进之处在于,所述校核字和所述标识码串为二进制数据。

一种配电终端软件版本一致性检测系统,其改进之处在于,包括校核字模块、标识码串模块和检测模块;

所述校核字模块用于根据配电终端运行的软件的信息采用校验算法计算所述软件的校核字;

所述标识码串模块用于获取所述软件信息对应的标识码串;

所述检测模块用于将所述校核字与所述标识码串进行比较,并根据比较结果得到软件版本一致性检测结果。

本发明提供的第十优选技术方案,其改进之处在于,所述校核字模块包括:优先级设定单元、优先级校核字单元和软件校核字单元;

所述优先级设定单元用于为所述软件的信息设定优先级;

所述优先级校核字单元用于基于每个优先级,对所述优先级对应的内容进行处理生成相应优先级校核字;

所述软件校核字单元用于按所述优先级顺序结合所有优先级对应的优先级校核字生成所述软件的校核字。

与最接近的现有技术相比,本发明具有的有益效果如下:

本发明提供的一种配电终端软件版本一致性检测方法和系统,通过对配电终端软件的信息采用校验算法计算得到软件的校核字,并与获取的该软件的标识码串进行比较,得到软件版本一致性检测结果,可以极大的提高不同软件不同版本的辨识度,满足唯一性要求,有助于确保各现场配网终端软件版本受控、升级行为可控、风险可控。

通过特殊的软件标识码串生成规则和检测方法,大幅提高检测的正确率与检测的效率,降低配电终端软件运行版本不可知的概率。

附图说明

图1为本发明提供的一种配电终端软件版本一致性检测方法流程示意图;

图2为本发明提供的一种配电终端软件版本一致性检测方法具体流程示意图;

图3为本发明提供的一种配电终端软件版本一致性检测方法中软件信息优先级划分示意图;

图4为本发明提供的一种配电终端软件版本一致性检测方法中二选二2oo2组合式故障安全校核机制示意图;

图5为本发明提供的一种配电终端软件标识码串的生成方法流程示意图;

图6为本发明提供的一种配电终端软件标识码串的生成方法中标识码串的填充规则示意图;

图7为本发明提供的一种配电终端软件标识码串的生成方法中二进制串字节切分后转秩说明示意图;

图8为本发明提供的一种配电终端软件版本归档流程示意图;

图9为本发明提供的一个具体的配电终端软件版本检测流程示意图;

图10为本发明提供的一种配电终端软件版本一致性检测系统基本结构示意图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步的详细说明。

实施例1:

本发明提供的一种配电终端软件版本一致性检测方法流程示意图如图1所示,包括:

步骤1:根据配电终端运行的软件的信息采用校验算法计算软件的校核字;

步骤2:获取软件信息对应的标识码串;

步骤3:将校核字与标识码串进行比较,并根据比较结果得到软件版本一致性检测结果。

需要说明的是,本实施例中步骤1、步骤2只是对不同步骤进行区分,并不限定两个步骤的顺序,例如步骤1可以先于步骤2执行,也可在步骤2之后执行或者同时执行等。

具体的,一种配电终端软件版本一致性检测方法流程如图2所示,包括:

步骤101:采集配电终端运行的软件和软件的标识串码;

各地市供电公司自动化班维护人员,通过配电终端本身,获取终端上运行的软件和该软件的标识码串,其中,标识码串根据经过检测的该软件的标准版本预先生成并下发给终端厂商,作为该型号、该版本固件即运行软件的“身份证”,也作为以后厂家提请“身份认证”的关键信息,终端厂商在提供配电终端的同时,也相应提供dna码串即标识码串用于校验。标识码串的提供的形式可以是二维码。标识串码为二进制数据。

步骤102:根据软件的信息采用校验算法计算校核字;

具体的,软件的信息如图3所示,包括内容、大小、名称、版本号、检测时间、发布日期、发布/变更说明、文件更新时间和备注信息;除此之外,还可以包括存储区段。软件的信息按照重要程度划分优先级。

其中,内容和大小为第一优先级信息,是关键信息,用s表示;

名称、版本号和检测时间为第二优先级信息,是重要信息,用l1表示;

发布日期和发布/变更说明为第三优先级信息,是一般信息,用l2表示;可选的软件信息存储区段也在l2中;

文件更新时间和备注信息为第四优先级信息,是参考信息,用l3表示。

s级关键信息需要解决碰撞问题,采用两种异构算法,形成二选二2oo2组合式故障安全校核机制,如图4所示,即两种算法得到的校核字进行校验都一致时,才通过校验。即s级信息采用至少两种加密方法处理s级信息,并结合不同加密方法得到的结果生成s级校核字。具体的,两种加密方法包括信息-摘要算法md5和循环冗余校验算法crc32;根据软件内容和大小信息合并生成的字符串,分别算出md5码和crc32码,结合两者构成字符串,构成s级校核字即第一优先级校核字。

l1级为重要信息,需要参与校核运算,其中的名称和版本号合并生成字符串后,采用md5算法得到对应的md5码。l1级的监测时间因具有特殊应用需求,需在校核字基础上同时提供可逆转换,本发明中考虑采用简单算法,对需加密字段取反码后转秩生成时间码值。名称和大小对应的md5码以及时间码值,共同构成l1级校核字即第二优先级校核字。

l2级为一般信息,需要参与校核运算,用存储区段、发布日期和发布/变更说明信息合并生成字符串后,采用crc32算法得到对应的crc32,作为l2级校核字即第三优先级校核字。

l3为参考信息,仅作为备注说明体现在检测报告中。

s级校核字、l1级校核字和l2级校核字共同构成软件的校核字,为二进制数据。

步骤103:将校核字与标识码串进行比较;

即将s级校核字与标识码中按照预设的位置规则与s级对应位置的值进行比较,将l1级校核字与标识码串l1级对应位置的值进行比较,将l2级校核字与标识码串l2级对应位置的值进行比较。

步骤104:根据比较结果得到软件版本一致性检测结果并进行处理;

具体包括:

当s级校核字与标识码串对应位置的值不同时,给出软件一致性检测不一致结论,进行错误告警,记录在检测报告中;

当l1级校核字与标识码串对应位置的值不同时,给出重要信息缺失或不一致结论,进行重要告警,记录在检测报告中;

当l2级校核字与所述标识码串对应位置的值不同时,给出一般信息缺失或不一致结论,进行一般告警,记录在检测报告中;

将l3级信息作为备注说明记录在检测报告中。

其中的错误告警、重要告警、一般告警分别对应不同优先级核校字检测结果不一致时的告警程度,旨在以不同告警方式区分不同的优先级核校字检测结果,对三者的具体的表述形式和字面含义不做严格限定。例如,在其他实施例中,错误告警、重要告警、一般告警也可以采用一级告警、二级告警、三级告警等表述方式。

实施例2:

本发明还提供了一种配电终端软件标识码串的生成方法,如图5所示,具体包括:

步骤201:生成标识码串的基串;

采用简单随机算法,以当前时间为种子,连续生成64个模65536的随机数,将其16进制数拼接在一起,形成一个128字节的二进制串码,该串码为标识码串的基串。

步骤202:获取配电终端软件对应的经过检测的标准版本软件的信息;

即获取配电终端软件对应的经过检测的标准版本软件的内容、大小、名称、版本号、检测时间、发布日期、发布/变更说明、文件更新时间和备注信息。其中,内容和大小为s级信息,名称、版本号和检测时间为l1级信息,发布日期和发布/变更说明为l2级信息,文件更新时间和备注信息为l3级信息。

步骤203:计算s级校核字;

分别采用md5算法和crc32算法,算出s级信息的md5码和crc32码;结合s级信息的md5码和crc32码,构成s级校核字;

步骤204:计算l1级校核字的一部分;

采用md5算法,将l1级信息中的名称和版本号合并成字符串后计算md5码,作为l1级校核字的一部分;

步骤205:计算l2级校核字;

采用crc32算法,将l2级信息合并成字符串后计算crc32码,作为l2级校核字;

步骤206:计算时间码值并生成l1级校核字;

l1级信息中检测时间因具有特殊应用需求,需在校核字基础上同时提供可逆转换,本发明中考虑采用简单算法,对需加密字段取反码后转秩生成时间码值;时间码值和l1级信息算得的md5码,构成l1级校核字。

步骤207:生成标识码串。

即将s级、l1级和l2级校核字按照预先设定的位置规则,输入标识码串的基串,生成标识码串,具体如下:

按步骤203-步骤206的定义,s级信息校核字需要占用20个字节(16+4),l1级信息校核字中的md5码需要占用16个字节,l2级信息校核字需要占用4字节,“检测时间”的时间码值需要占用8字节(7字节cp56time2a+0x00),共计有效字节数48字节。在标识码串的基串中,从斐波那契数列中挑选起始字节3、34、55和89,将第3字节起始的20个字节的信息替换为s级校核字,将第34字节起始的16个字节的信息替换为l1级校核字中的md5码,将第55字节起始的4个字节的信息替换为l2级校核字,将第89字节起始的8个字节的信息替换为l1级校核字中的时间码值,预设的位置规则也即标识码串的填充规则参见图6。将输入了校核字的标识码串基串进行字节切分后转秩,倒序排列后生成新的二进制串,参见图7,将该二进制串转换为ascii码。该固定长度256字节的ascii码串即为最终输出的标识码串,该标识码串不可逆。

实施例3:

本发明提供了一种配电终端软件版本归档流程,如图8所示,包括:

步骤301:当不同厂家、不同型号、不同版本的终端软件通过电科院功能测试后,通过归档工具对其进行归档,并生成唯一的标识码串;

步骤302:标识码串下发给终端厂家,作为该型号、该版本固件的“身份证”,也作为以后厂家提请“身份认证”的关键信息,标识串码提供的形式可以采用二维码方式;

步骤303:归档工具将标识码串对应的基础信息,包括厂家、型号、检测时间、文件的名称、内容、大小、存储区段、版本号、发布日期以及一些必要的发布/变更说明和适用范围等,作为一条记录存储在本地数据库中,形成归档记录。

实施例4:

下面提供一个具体的配电终端软件版本检测流程,如图9所示,包括:

步骤401:各地市供电公司自动化班维护人员,可以仅通过终端本身,获取终端标识码串和其软件文件;

步骤402:判断软件的信息是否完整,若是则进入步骤403,否则转入步骤405;

步骤403:使用电科院发布的离线检测工具进行检测;

步骤404:判断检测是否通过,若是则进入步骤407,否则转入步骤405;

步骤405:提供软件与厂家、型号等相关信息,提交电科院检测,与归档记录进行对比,生成一致性报告;

步骤406:将一致性报告反馈给终端厂家,限期整改;

步骤407:完成检测。

基于同一发明构思,本发明还提供了一种配电终端软件版本一致性检测系统,由于这些设备解决技术问题的原理与配电终端软件版本一致性检测方法相似,重复之处不再赘述。

该系统包括:

校核字模块、标识码串模块和检测模块;

其中,校核字模块,用于根据配电终端运行的软件的信息采用校验算法计算软件的校核字;

标识码串模块,用于获取软件信息对应的标识码串;

检测模块,用于将校核字与标识码串进行比较,并根据比较结果得到软件版本一致性检测结果。

其中,校核字模块包括优先级设定单元、优先级校核字单元和软件校核字单元;

优先级设定单元用于为软件的信息设定优先级;

优先级校核字单元用于基于每个优先级,对该优先级对应的内容进行处理生成相应优先级校核字;

软件校核字单元用于按优先级顺序结合优先级对应的优先级校核字生成软件的校核字。

其中,软件的信息包括:内容、大小、名称、版本号、检测时间、发布日期、发布/变更说明、文件更新时间和备注信息。

其中,优先级设定单元包括第一优先级设定子单元、第二优先级设定子单元、第三优先级设定子单元和第四优先级设定子单元;

第一优先级设定子单元用于设定内容和大小为第一优先级信息;

第二优先级设定子单元用于设定名称、版本号和检测时间为第二优先级信息;

第三优先级设定子单元用于设定发布日期和发布/变更说明为第三优先级信息;

第四优先级设定子单元用于设定文件更新时间和备注信息为第四优先级信息。

其中优先级校核字模块包括第一校核字优先级单元和其他优先级校核字单元;

第一优先级校核字单元用于如果是第一优先级,采用至少两种加密方法处理第一优先级信息,并结合不同加密方法得到的结果生成第一优先级校核字;

其他优先级校核字单元用于对其他优先级,采用至少一种加密方法处理优先级信息,得到该优先级校核字。

其中,处理第一优先级信息的两种加密方法包括:

md5算法和crc32算法。

其中,其他优先级校核字单元包括第二优先级校核字子单元和第三优先级校核字子单元;

第二优先级校核字子单元用于根据名称和版本号采用md5算法进行计算获得校验值;根据检测时间生成时间码值;以校验值和时间码值作为第二优先级校核字;

第三优先级校核字子单元用于根据第三优先级信息采用crc32算法进行计算生成第三优先级校核字。

其中,检测模块包括第一优先级检测单元、第二优先级检测单元和第三优先级检测单元;

第一优先级检测单元用于当第一优先级校核字与标识码串根据预设的位置规则对应位置的值不同时,给出软件一致性检测不一致结论,进行错误告警;

第二优先级检测单元用于当第二优先级校核字与标识码串根据位置规则对应位置的值不同时,给出重要信息缺失或不一致结论,进行重要告警;

第三优先级检测单元用于当第三优先级校核字与标识码串根据位置规则对应位置的值不同时,给出一般信息缺失或不一致结论,进行一般告警。

其中,标识码串根据软件对应的标准版本软件的信息采用校验算法生成。

其中,校核字和标识码串为二进制数据。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用于说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。

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