一种定值文件不敏感的微应用版本一致性测试方法和系统与流程
未命名
07-15
阅读:84
评论:0
1.本发明属于电力技术领域,具体涉及一种定值文件不敏感的微应用版本一致性测试方法和系统。
背景技术:
2.作为配电自动化系统的感知末梢和控制基础,配电终端在配电网运行监测与控制中发挥了重要作用。而伴随着配电终端的大量应用,其产品质量与运行可靠性问题也变得日益凸显。
3.配电终端全寿命周期管理中存在的许多问题。其中造成广泛困扰并带来严重影响的是终端程序的版本管控问题。程序版本管控的混乱,容易带来通信掉线、系统宕机、程序跑飞、逻辑异常、交互失败等不良后果,严重影响设备实际挂网运行效果。
4.终端程序版本混乱可能是由多种原因造成的,如基层运维人员误操作误更新、设备厂商研发过程管理混乱、送检设备与供货设备程序版本不一致等。无论是无心之失还是蓄意为之,究其根本,在于缺乏有效的配电终端程序版本一致性比对方法。因此,研究合适的终端程序版本一致性比对方法,建立健全相关管控机制,保障正确的程序在正确的终端上正确地部署,是提升配电自动化建设应用成效的关键。
5.传统的dtu/ftu等配电终端设备,由于需要对开关进行分合闸操作,实现对馈线开关的故障识别、隔离等功能,因此大多采用实时操作系统来保证响应特性与技术指标。国外主流的实时操作系统包括micrium公司的μc/os、amazon公司的freertos、ti的dsp/bios(sys/bios)、wrs公司的vxworks等。国内主流的实时操作系统包括睿赛德科技公司的rt-thread、翼辉信息的sylixos等。其中dsp/bios、freertos、rt-thread等系统在商业使用中都是免费的,上文介绍的其它操作系统都需要付费应用。
6.μc/os-ii是美国嵌入式系统专家jean j.labrosse用c语言编写的一个结构小巧、抢占式的多任务实时内核。μc/os-ii能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。uc/os-iii的实时性更好、效率更高、健壮性更好。
7.freertos功能更丰富、更易用,是一个迷你操作系统内核的小型嵌入式系统。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。
8.vxworks是一套类似于unix的实时操作系统,它内建了符合posix规范的内存管理,以及多处理器控制程序,并且具有简明易懂的用户接口,在核心方面甚至可以微缩到8kb,最新版支持oci容器技术。
9.dsp/bios是ti为tm系列dsp平台设计的一套用户可剪裁的实时嵌入式操作系统,该系统主要由三部分组成:多线程实时内核(抢占式多线程)、实时分析工具、芯片支持库。利用实时操作系统开发程序,可以方便快速的开发复杂的dsp程序。操作系统维护调度多线程的运行,只需将定制的数字信号算法作为一个线程嵌入系统即可。芯片支持库帮助管理
外设资源,复杂的外设寄存器初始化可以利用直接图形工具配置。实时分析工具可以帮助分析算法实时运行情况。
10.rt-thread是一款来自中国的开源嵌入式实时操作系统,由国内一些专业开发人员从2006年开始开发、维护,除了类似freertos和ucos的实时操作系统内核外,也包括一系列应用组件和驱动框架,如tcp/ip协议栈,虚拟文件系统,posix接口,图形用户界面,freemodbus主从协议栈,can框架,动态模块等,因为系统稳定,功能丰富的特性被广泛用于新能源,电网,风机等高可靠性行业和设备上,已经被验证是一款高可靠的实时操作系统。
11.sylixos内核自主化率达到100%(依据工信部评估报告),拥有完全自主可控的技术能力,满足国产化需求,支持对称多处理器(smp)平台,并且具有实时进程及动态加载机制,满足多部门分布式软件开发需求,支持各部门应用软件在操作系统上的集成。
12.这些主流rtos实时操作系统,有些在开源社区有支持,能提供很好的模块支撑。还有些提供定制化的服务,例如翼辉操作系统的tpsfs,该系统彻底解决嵌入式行业文件存储掉电安全问题。在容器支撑方面,vxworks、sylixos目前都有自己的安全容器技术,未来可以承载面向多业务协同场景下的安全隔离方案。
13.新型的ttu/scu等更具物联网化特征的配电终端设备,主要用于对配电变压器的信息采集和把控,能够实时监测配电变压器的运行工况,并将采集的信息传送到主站或其他的智能装置,提供配电系统运行控制及管理所需的数据。其灵活性、便捷性、可升级性要求更高,实时性要求一般较低。因此该类设备大多采用嵌入式linux系统等非实时性操作系统。
14.linux,全称gnu/linux,是一套免费使用和自由传播的类unix操作系统,是一个基于posix的多用户、多任务、支持多线程和多cpu的操作系统。伴随着互联网的发展,linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善linux,使其最大化地适应用户的需要。
15.linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是linux的一大亮点。
16.linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得linux成为开发路由交换设备的理想开发平台。
17.基于linux,衍生出docker、lxc等容器技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。相当于c++中的namespace。容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更好地在孤立的组之间平衡有冲突的资源使用需求。
18.一些其他工业领域的嵌入式系统版本测试方法研究也已表明对终端系统版本一致性进行测试是可行的,在配电自动化终端版本一致性检测技术领域,还有很大的技术空白和市场前景。
19.在配电终端软件版本管理难题的研究上,此前已实现了对基于vxworks系统架构
的配电终端的软件版本一致性测试。但是,该测试工具不能实现对基于linux等系统开发的配电终端的软件版本测试。并且,其技术原理是对全部系统文件进行逐个校核,无法识别终端程序中可差异化配置的定值文件,不能实现对布置于不同运营环境并适应于不同功能要求的配电终端的系统软件的一致测试,因此不能很好的满足真实的场景检测需求,需要进行更新层次的系统软件版本一致性检测技术研究与开发。
技术实现要素:
20.为克服现有技术不能实现对布置于不同运营环境并适应于不同功能要求的配电终端的系统软件的一致测试的不足,本发明提出一种定值文件不敏感的微应用版本一致性测试方法,包括:
21.基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;
22.将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;
23.基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;
24.结合各类型的文件版本一致性结果,判定微应用版本的一致性;
25.所述文件路径包括主路径和白路径;
26.所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;
27.所述文件类型包括:主名单文件、白名单文件和灰名单文件。
28.优选的,所述基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中,包括:
29.逐一扫描被测配电终端微应用中所有文件存储路径以及子路径下的文件,采用信息摘要算法防碰撞提取并记录文件的特征向量信息,将所述所有文件的特征向量信息与已记录的文件的特征向量信息进行比对,弃置文件存储路径和文件名重复的文件,将文件路径和文件名不重复的文件的特征向量信息按照主路径和白路径记录在相应的初始比对基因文件中;
30.所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2;
31.所述信息摘要算法包括摘要算法5和循环冗余校验两种异构校验算法构成的2oo2组合式故障安全导向机制。
32.优选的,所述将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件,包括:
33.基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,
34.当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;
35.当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;
36.当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;
37.将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。
38.优选的,所述基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定,包括:
39.基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性;
40.基于人工检查判定灰名单文件的版本一致性。
41.优选的,所述基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性,包括:
42.当比对基因文件的主名单文件或白名单文件中的特征向量信息与对应的原始基因文件的主名单文件或白名单文件的特征向量相同时,将所述比对基因文件的主名单文件或白名单文件判定为文件版本一致,否则文件版本不一致。
43.优选的,所述结合各类型的文件版本一致性结果,判定微应用版本的一致性,包括:
44.若比对基因文件的主名单文件和白名单文件的版本均与原始基因文件的主名单文件和白名单文件的版本一致,则判断灰名单文件是否影响微应用版本一致性,否则微应用版本不一致;
45.若灰名单文件不影响被测微应用版本一致性,则微应用版本一致;否则微应用版本不一致。
46.基于同一发明构思,本发明还提供了一种定值文件不敏感的微应用版本一致性测试系统,其特征在于,包括:
47.文件信息获取模块、文件分类模块和版本一致性测试模块;
48.所述文件信息获取模块用于基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;
49.所述文件分类模块用于将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;
50.所述版本一致性测试模块用于基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;
51.结合各类型的文件版本一致性结果,判定微应用版本的一致性;
52.所述文件路径包括主路径和白路径;
53.所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;
54.所述文件类型包括:主名单文件、白名单文件和灰名单文件。
55.优选的,所述文件信息获取模块,具体用于:
56.逐一扫描被测配电终端微应用中所有文件存储路径以及子路径下的文件,采用信息摘要算法防碰撞提取并记录文件的特征向量信息,将所述所有文件的特征向量信息与已记录的文件的特征向量信息进行比对,弃置文件存储路径和文件名重复的文件,将文件路径和文件名不重复的文件的特征向量信息按照主路径和白路径记录在相应的初始比对基因文件中;
57.所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2;
58.所述信息摘要算法包括摘要算法5和循环冗余校验两种异构校验算法构成的2oo2组合式故障安全导向机制。
59.优选的,所述文件分类模块,具体用于:
60.基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,
61.当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;
62.当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;
63.当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;
64.将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。
65.优选的,所述版本一致性测试模块,具体用于:
66.基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性;
67.基于人工检查判定灰名单文件的版本一致性。
68.优选的,所述结合各类型的文件版本一致性结果,判定微应用版本的一致性,包括:
69.若比对基因文件的主名单文件和白名单文件的版本均与原始基因文件的主名单文件和白名单文件的版本一致,则判断灰名单文件是否影响微应用版本一致性,否则微应用版本不一致;
70.若灰名单文件不影响被测微应用版本一致性,则微应用版本一致;否则微应用版本不一致。
71.与最接近的现有技术相比,本发明具有的有益效果如下:
72.本发明提供了一种定值文件不敏感的微应用版本一致性测试方法和系统,包括:基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基
因文件中,得到比对基因文件;基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;结合各类型的文件版本一致性结果,判定微应用版本的一致性;所述文件路径包括主路径和白路径;所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;所述文件类型包括:主名单文件、白名单文件和灰名单文件。本发明采用文件路径和采用信息摘要算法构造文件特征向量的方法,识别终端程序中可差异化配置的定值文件,对配电终端微应用版本一致性进行测试,代替了传统手段对全部系统文件进行逐个校核的方法,同时保护了特征向量中包含的重要信息不会被轻易破解还原,实现了基于linux等系统开发的配电终端的软件版本测试,实现了对布置于不同运营环境并适应于不同功能要求的差异化配置的配电终端的系统软件的一致测试。
附图说明
73.图1为本发明提供的一种定值文件不敏感的微应用版本一致性测试方法流程图;
74.图2为本发明提供的配电终端程序文件存储路径示意图;
75.图3为本发明提供的文件分类原则示意图;
76.图4为本发明提供的文件扫描方法流程示意图;
77.图5为本发明提供的比对基因文件生成流程示意图;
78.图6为本发明提供的主名单文件和白名单文件版本一致性的判定流程示意图;
79.图7为本发明提供的灰名单文件版本一致性的判定流程示意图;
80.图8为本发明提供的配电终端微应用版本一致性的判定流程示意图;
81.图9为异构校验算法形成的2oo2校核机制;
82.图10为本发明提供的一种定值文件不敏感的微应用版本一致性测试系统结构示意图。
具体实施方式
83.下面结合附图对本发明的具体实施方式做进一步的详细说明。
84.实施例1:
85.本发明提供的定值文件不敏感的配电终端微应用版本一致性测试方法,如图1所示,包括:
86.步骤1:基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;
87.步骤2:将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;
88.步骤3:基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;
89.步骤4:结合各类型的文件版本一致性结果,判定微应用版本的一致性;
90.所述文件路径包括主路径和白路径,如图2所示;
91.所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;
92.所述文件类型包括:主名单文件、白名单文件和灰名单文件,如图3所示。
93.比对基因文件与原始基因文件的结构相同,如表1和表2所示。
94.表1为原始基因文件的总体结构
95.[0096][0097]
表2为原始基因文件中关键字段的特殊说明
[0098]
[0099][0100]
步骤1之前,需要了解:与传统配电终端将整个系统程序打包为一个总体的镜像文件不同,目前新兴的基于非实时性嵌入式操作系统的配电终端,均使用文件系统来进行程序、软件、配置文件与数据的存储。文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在存储上组织文件的方法。其功能包括管理和调度文件的存储空间,提供文件的逻辑结构、物理结构和存储方法,实现文件从标识到实际地址的映射,实现文件的控制操作和存取操作,实现文件信息的共享并提供可靠的文件保密和保护措施,提供文件的安全措施。
[0101]
终端内的程序与微应用基于终端的文件系统进行读取与操作,并将关键信息存储下来。这就为配电终端程序文件的分区与本项目的研究提供了最基础的条件。
[0102]
由于配电终端各项功能性能的实现均通过微应用调阅文件方式实现,其数据的存储与上报、配置的调阅与应用也离不开对应的文件,因此,对配电终端程序文件分区乃至系统软件版本一致性的研究,就离不开对配电终端内部微应用的研究与梳理。目前,对于配电终端微应用的具体数量和分类还没有形成完全的共识,同时具体的高级应用可能还随应用场合的变化与开发团队的不同有所区别,但仍然能梳理出主要的微应用序列。基础微应用、业务微应用虽然种类繁多、功能各异,然而在开发时需遵循相同的文件配置与存储规则,因此,对配电终端的文件进行分区研究时,可针对其中具体的文件类型进行考量。
[0103]
每个微应用都会由多个不同的文件组成,根据文件特性的不同,大致可分为三类:
[0104]
1)执行文件,也称固化非定值文件,包含执行程序以及库等,这类文件在整个运行过程中是不允许变更的。
[0105]
2)记录文件,包含微应用运行所需要的各类配置信息、日志记录与过程文件等。从文件类型上,记录文件从文件类型上主要分为配置文件(可配定值文件)、日志文件与其他文件。而配置文件(可配定值文件)又可进一步细分为通用配置文件与私有配置文件。从生成时间来区分,可分为一直存在的可配文件,和在微应用运行过程中才不断产生的过程文件,如日志文件(包括过程信息、错误信息、重要数据记录等等)等。
[0106]
3)数据资源,包含实时数据、历史数据两大类。数据资源虽然由各具体的微应用产生,但并不在该应用对应的文件系统路径下进行存储。数据资源需要传送至数据中心微应
用中,由数据中心微应用进行统一建表与存储,实现数据的互联共享。因此,每个微应用的数据资源实际最终会成为数据中心的记录文件或数据文件,不再在原应用中存储。
[0107]
固化非定值文件,我们也称之为执行程序文件,执行程序文件主要指微应用功能运行文件,包含可执行的bin文件、执行脚本以及需要调用的lib库文件等。
[0108]
微应用安装在对应容器下的特定的主目录(/usr/local/extapps/)下,根据每个微应用再创建子目录,具体目录为/usr/local/extapps/{appname},其中{appname}为具体的微应用名称,在{appname}下又分为bin(执行文件和脚本)和lib(依赖的lib库文件)。固化非定值文件,是微应用的功能运行文件,在微应用发布之后是不允许变更的。如发生或发现变更,即代表着此微应用的版本已与此前不同。
[0109]
每个微应用的运行,都涉及到很多配置信息,它们用于灵活改变台区工程配置、台账信息以及微应用运行信息等,一般称为可配定值文件或配置文件,包括微应用运行参数、配置参数、设备注册(注册数据中心)信息、数据模型以及通道配置参数等等。
[0110]
可配定值文件(配置文件)可进一步分为通用配置文件和私有配置文件。通用配置文件用于描述台区工程配置及台区自身信息,可能会被终端内的多个不同的微应用调用,如台区工程配置信息、台区配变资产信息、104点表信息等。而私有配置文件用于描述各微应用自身运行所需的配置信息,仅对该微应用本身适用,如物模型、设备参数、设备模型、dl/t 698采集任务、微应用运行所需其他参数等,一般由厂家自定义格式。
[0111]
从命名规则上讲,配置文件有如下要求:
[0112]
(1)工程配置文件命名为devcfg.json,使用json格式;台区配变资产信息文件命名为distinfo.json,使用json格式;104点表配置文件命名为104param.json,使用json格式。
[0113]
(2)微应用的私有配置文件,命名自定义,支持xml或json格式。
[0114]
从存储路径上讲,为了方便配置和管理,配置信息文件需要存放在宿主机下统一的主目录里面,然后再根据每个微应用创建子目录。这样,不仅便于主站下发,同时也便于本地维护。因此,为了便于可配定值文件管理,在创建容器时会开辟一个宿主机与容器的共享文件目录(这里定为/data/app/,所有容器都以这个目录为共享目录),将通用配置文件夹和微应用私有配置文件夹存在此相同固定路径文件夹下,然后再在此目录下创建对应的子目录,用于可配定值文件的存储。具体如下:
[0115]
(1)微应用的通用配置文件均存储在/data/app/common/目录下。
[0116]
(2)微应用的私有配置文件均存储在/data/app/{appname}/configfile目录下
[0117]
最后,因为可配定值文件属于配置文件,在微应用发布之后,可以根据实际需要进行配置,即是可变的,所以其变化一般不一定代表系统软件的版本发生了变化。
[0118]
终端程序文件中的可变文件,除了可配定值文件外,还有日志文件与其他文件两大类,如微应用操作日志、错误信息、运行状态记录、重要数据记录等。分别配置在以下目录下:
[0119]
(1)微应用的日志文件均存储在/data/app/{appname}/logfile目录下。
[0120]
(2)微应用的其他文件均存储在/data/app/{appname}/commfile目录下。
[0121]
(3)在早期开发的一些终端中,微应用的日志或其他文件有时也直接存储在/data/app/{appname}目录下。
[0122]
这些文件有的是自微应用部署时起就已存在的,有的是在微应用运行过程中才不断产生的。但不管产生的时间或方式如何,这类文件有一个共同特性,即无论存在与否、内容如何,均不代表终端程序软件的版本发生了变化。
[0123]
根据上文对配电终端嵌入式操作系统特性与文件存储方式、特性的研究,可将具体每一微应用的全部程序文件区分为以下几大类:
[0124]
(1)存储在该微应用对应路径下的,以固化非定值文件等为代表的不可变化文件。这些文件在微应用发布之后是不允许变更的。如发生或发现变更,即代表着此微应用的版本已与此前不同。
[0125]
(2)存储在该微应用对应路径下的,以可配定值文件、日志文件与其他文件等为代表的可变化文件。这些文件有的是自微应用部署时起就已存在的,有的是在微应用运行过程中才不断产生的。但不管产生的时间或方式如何,这类文件有一个共同特性,即在微应用发布之后,可以根据实际需要进行配置、记录与新增,所以其变化不代表系统软件的版本发生了变化。
[0126]
(3)存储在该微应用对应路径下的,不属于以上类别的文件。这些文件都是被未知操作产生的,一旦发现则很可能意味着此微应用的版本已与此前不同。
[0127]
基于配电终端程序文件的以上特性,为进一步指导本项目配电终端系统软件版本一致性测试技术研究,进而将存储在某一具体微应用对应路径下的全部文件分为三大类:
[0128]
(1)主名单文件。如发生或发现变更,即代表着此微应用的版本已与此前不同。
[0129]
(2)白名单文件。这些文件无论存在与否、内容是否与微应用发布/部署时完全相同,都不代表着此微应用的版本发生了变化。
[0130]
(3)灰名单文件。存储在该微应用对应路径下的,但本不应该存在的文件。这些文件一旦发现则很可能意味着此微应用的版本已与此前不同。
[0131]
需要进一步说明的是,微应用的数据资源已成为数据中心微应用的白名单文件,因此不需要作考虑。表3是配电终端程序文件的分类说明。
[0132]
表3配电终端程序文件的分区
[0133][0134]
如需对某一具体微应用进行版本一致性测试,不仅需要知道如上节所描述的主名
单文件、白名单文件的情况,还需要了解这个微应用本身的文件完全存储路径。这样,才能清晰的发现其中是否有未知的灰名单文件,并起到对版本一致性结论判定进行辅助的作用。
[0135]
综合前几节对配电终端程序文件存储的研究,可知上节所提的主名单文件一般是存储于/usr/local/extapps/{appname}及其下属文件夹下的。而白名单文件则有两个不同的路径。其中终端的通用配置文件存储于/data/app/common/路径下,即此路径是多个微应用共同使用的,不属于某一单独微应用的私有空间。其余白名单文件则一般是存储于/data/app/{appname}及其下属文件夹下的,该路径属于此微应用的私有空间。真正归属于此微应用且需要进行深度扫描测试的路径主要有/usr/local/extapps/{appname}、/data/app/{appname}两个。在本项目中,我们将其定义为主路径/白路径,并作为后续章节研究的测试方法中的重点关注对象。
[0136]
而/data/app/common/路径属于公共空间,因此不列入主路径/白路径范畴。
[0137]
结合前面对配电终端程序文件分类和分区的研究,可知程序文件分为主名单文件、白名单文件、灰名单文件三类。将/usr/local/extapps/{appname}及其下属文件夹下的路径称为主路径,/data/app/{appname}及其下属文件夹下的路径称为白路径。在判断微应用程序文件类别时,扫描在主路径下的文件,将属于主名单文件集的文件判定为主文件,不属于的文件判定为灰文件,然后再扫描在白路径下的文件,将属于主名单文件集的文件判定为白文件,不属于的文件判定为灰文件。
[0138]
上文详细介绍了配电终端程序文件的分区分类方法,而系统软件的版本一致性测试除了需要找到对应的文件、明确其所属的类别与存储区域,更重要的是如何判定这个文件与比对版本中的文件完全一致。因此,本节将重点介绍版本一致性测试中关键特征值的提取方法与配电终端程序文件特征向量的构造方法。
[0139]
对于长度不大的文件,如kb级别的日志文件,一般可以采用按字节直接比对文件二进制值的“笨办法”来确认其内容是否与原有记录一致。但是,对于当前动辄数十mb的微应用,如采用此类“笨办法”进行比对,可能需要耗费数小时乃至更长的时间,不能满足现场实际的使用需求。
[0140]
同时,如果需要将某文件的相关信息作为后续比对的依据进行存储,也需要同等的存储容量。以各省公司的普遍状况而言,目前常用的微应用可能在数十款、上百个版本左右。而如在国网公司范围内进行统计,则更是可能有数百款、上千个版本的微应用了。如需对这些微应用的文件信息进行完全一致的一一存储,其原始数据库容量可能就在上百gb级别。而每进行一台终端的一个微应用测试,又将产生与这个微应用大小相等的比对数据存储需求。面对一个省每年数万台的配电终端检测需求,恐怕需要10tb级别的存储容量,这显然超出了一个测试方法或现场检测工具的承受范围。因此,需要探索某种简化的快捷比对与存储方法,满足现场快速测试与小容量存储的使用需求。
[0141]
提取文件特征因子需要选择一种合适的手段,基于保存、归档、校核的需求,这种方法需要对文件特征因子信息进行有效的隐藏以保护其重要信息不会被轻易破解还原,又需要满足归档需求,总体大小可控。这一研究内容一般归纳于加密方法中。早期人们加密信息出于军事目的,但限于当时的技术水平,仅仅是从信息编码的角度出发,如早期的信息加密算法代表“凯撒加密”,但这种方法得到的编码都是可逆的,不符合本项目技术的要求。随
着计算机技术的发展,各种夹杂复杂数学算法的编码信息隐藏技术出现,
[0142]
为此,我们探索使用某种特殊的比对方法,来快速提取终端程序文件的特征信息,以更小的容量存储更多的特征信息,实现更高性能的版本一致性测试。这种提取算法的核心任务在于提取配电终端程序文件的特征值。同时,在面对大小、长度、内容各不相同的配电终端程序文件时,提取算法生成的特征值的长度应该是固定的、可承受的。
[0143]
综合研究后,本项目用信息摘要算法作为配电终端程序文件关键特征值的提取算法。相比其他一些信息算法,信息摘要算法不存在秘钥管理与分发的问题,其便捷性、安全性均较高。常见的信息摘要算法有md5、sha-1和crc32等。
[0144]
综合考量后,数字水印与rsa加密算法技术都存在一定的局限性与不足。因此,本项目希望能使用一种信息摘要算法来进行特征值提取。但是,在使用信息摘要算法之前,我们需要了解并解决这类算法存在的一种非常重要的不足之处:信息碰撞。
[0145]
作为一种常用的单向hash算法,md5一般用于检查数据是否一致。将两地存储的数据进行哈希,比较结果,如果结果一致就无需再进行数据比对。这是利用了其“抵抗冲突”(collisionresistant)的能力,两个不同的数据,其哈希值只有很小的几率一致。但几率很小不等于没有,md5校验值的长度是固定的128bit(即16字节),其总共有2
128
种不同的值;而被md5校验的文件长度却是任意的:可以是1bit、1kb甚至1gb,也就是说可以有正无穷个不同的文件。用这有限的2
128
种不同的值去匹配正无穷个文件,结果是必然有重复的。因此其存在一定的碰撞可能性。
[0146]
crc32也是一个哈希算法,和md5类似,不过它是32位的,故更短一些,速度也更快。可以认为md5是crc128的演化版本,但在使用不同的盐值进行计算时,两者的算法是互相异构的。crc32校验值所能表示的范围为40亿,也会产生冲突,对一般应用而言是一个成本低廉的够用的做法,但是其发生碰撞的可能性仍然很高。
[0147]
因为md5算法与crc32算法均存在一定的碰撞的可能性,单独作为信息摘要生成算法时有一定的风险。同时,由于这2种算法属于异构算法(当使用不同盐值时),因此可以使用2oo2组合式故障安全导向机制来降低碰撞概率。2oo2(2out of 2)是一种安全系统结构,其本质表述为:只有两重冗余信号中两个触发信号都被激活才能执行预置的非安全侧相关功能,否则均导向安全侧。
[0148]
2oo2组合式故障安全导向机制将这2种算法组合,极大程度降低碰撞概率,增加开展恶意攻击所需求的算力门槛。在本项目中,通过搭建2oo2组合式故障安全导向系统,对于关键特征值信息,只有md5校验和crc32校验均正确的情况下才能判断为真,这样可以有效的解决碰撞问题。异构校验算法形成的2oo2校核机制如图9所示。使用2oo2校核机制后,对配电终端程序文件的每个关键信息将生成一个长度为(16+4)字节的关键特征值。
[0149]
配电终端程序文件特征向量的构成,是检测系统软件版本一致性的关键,通过比对程序文件的特征向量中的特征因子,将程序文件分类,分为主、白、灰三种文件类型,进行判断系统软件版本结果。特征向量的构成如表4所示。
[0150]
表4构成特征向量的特征因子
[0151][0152]
首先对规定的主路径下及其所有子文件夹下的所有文件进行逐一检索,每个文件记录以下5个特征信息:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2。
[0153]
表5特征向量与文件类型的关系
[0154][0155]
再将检索到的全部文件与原始基因中列明的主名单文件、白名单文件进行逐一比对,5个特征因子都应与原始基因一致,否则版本不一致。在白名单文件路径下,将所有的5个特征因子记录下来。将不存在上面两种名单的文件归为灰名单,详情如表5所示。
[0156]
仅仅通过特征向量比对某个文件的一致性,并不足以完成配电终端系统软件版本一致性测试。版本一致性测试需要对该软件内的全部文件进行一一比对,获得原始的文件的特征向量信息,并提取用于比对的文件的特征向量信息,两相比较并进一步处理,才能得出该系统软件的版本一致性测试总结论。因此有必要将配电终端系统软件的关键信息记录到单独的文件或介质中,用于进一步的处理和分析。对于为了便于传输和存储,我们采用文件形式解决这一问题。即在开始一致性比对前,要先获得正确的原始信息,并存储在原始基
因文件中。在开始一致性测试时,以类似的方法提取比对信息,并存储在比对基因文件中。
[0157]
而配电终端的一个软件版本一致性测试记录文件,往往包含了数十个需要调用的文件的特征信息(每个文件的特征向量都是至少5条信息),再加上软件本身的一些记录信息、判定结论信息,通常会达到数百条记录的程度。这样一来,我们就要选取一种合适的数据交换格式作为原始基因文件、比对基因文件的记录方式。
[0158]
本发明选用json格式作为终端原始基因文件与比对基因文件的载体,对于任意一个用于版本一致性测试的被测配电终端系统软件程序,其原始基因文件/比对基因文件中应存储有该原始基因的基本信息、总结论、程序文件存储路径、主/白/灰名单文件详细情况等一系列信息。对于所有找到的文件,应记录其5个特征因子信息。
[0159]
具体的,步骤1:基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中:包括:
[0160]
1.逐一扫描被测终端中此路径及其子路径下的全部文件。
[0161]
2.重复性检查:将扫描/查找到的文件特征向量信息,与全文件清单中已有的记录进行检索比对,判断是否存在文件路径、文件名均一致的重复信息。
[0162]
3.向现有的全文件清单中添加此文件的相关记录,记录内容为此文件的特征向量信息(文件名、文件路径、文件大小、基于文件内容的特征值1、基于文件名+文件路径的特征值2),并附加一个字段“基因录入”。“基因录入”字段默认值为0(即未正式录入至基因文件中)。
[0163]
4.查找被测终端指定目录下是否存在指定文件,所述指定文件包括灰名单文件。
[0164]
5.全文件清单用于记录测试过程中在被测终端中找到的全部文件信息,获取被测微应用的所有文件的流程示意图如图4所示。
[0165]
关于系统软件版本一致性的扫描方法,按照主/白路径清单,先进行一条路径的扫描,将此路径下所有的子路径文件进行特征向量信息的记录,在记录的过程中将特征信息重复的文件弃置,减少后续一致性检测的工作量,防止影响一致性结果准确性。在扫描并记录完此路径所有文件特征向量后,重复此过程扫描另一条路径,直至所有路径扫描完毕。然后根据原始主/白名单文件集进行被测终端指定目录下是否有指定文件的检测,最终生成一个记录被测终端所有文件特征信息的全文件清单,方便后续文件分类,进行一致性检测结论得出。
[0166]
所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2。
[0167]
步骤2:将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件包括:
[0168]
将之前输出的全文件清单进行文件一个个比对,首先根据原始基因主文件集,将属于的主文件将其特征向量信息记录到比对基因对应文件集合,同理,将白名单文件归属到比对基因对应文件集合。出现不属于上述的两种文件集合的文件,将特征向量信息,记录到灰名单文件集合。这样就可以将所有文件分类到主/白/灰三类中去,方便后续不同类型文件不同判定方式的一致性判定。本发明提供的文件分类流程示意图如图5所示。
[0169]
1.以此前扫描获得的全文件清单作为输入,并将其中的信息一一录入至基础的比
对基因文件中。
[0170]
2.将全文件清单中记录的此文件的特征向量信息(文件名、文件路径、文件大小、基于文件内容的特征值1、基于文件名+文件路径的特征值2),正式录入至比对基因的对应文件集中。
[0171]
3.对于主/白名单文件,将比对基因中该文件的“consistentresult”字段置为0(即已找到此文件),默认值为null。对于灰名单文件,将该字段置为默认值null。
[0172]
4.录入完成后,将全文件清单中该文件的“基因录入”字段修改为1(即已正式录入至基因文件中)。
[0173]
5.搜寻全文件清单中的文件,查询是否存在“基因录入”字段为0的文件(即还未正式录入至基因文件中)。
[0174]
6.输出的基础比对基因文件,其中每个文件的判定结论、整个软件的总结论均为判定。
[0175]
具体的:基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,
[0176]
当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;
[0177]
当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;
[0178]
当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;
[0179]
将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。
[0180]
步骤3:基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定,包括:
[0181]
根据不同文件判定原则进行一致性检测,每类文件的根据不同判据,首先进行主/白名单进行一致性判定,然后是灰名单判定,前者进行比对是否一致就可以,后者却要人工进行判定是否影响软件版本一致性结论,最后将各文件判定结论进行总结,得出配电终端软件程序一致性测试主结论。
[0182]
1.以原始基因文件为输入的判定基准,进行结论判定。
[0183]
2.输入此前生成的比对基因(基础版本),然后进一步填充完善判定结论。
[0184]
3.最终输出的正式版本比对基因文件,包含本次测试的全部程序文件信息与测试结论。
[0185]
子流程1:主/白名单文件判定
[0186]
根据总体流程顺序,首先进行主/白名单文件集单个文件结论判定,根据之前的研究的特征向量与文件类型的关系,可知主名单文件需要进行五个特征因子的比对,只有全部一致才能证明该主名单文件结果一致,而白名单文件不管是否存在,内容是否改变都不影响一致性结构。虽然白名单文件不影响结果,但也要记录白名单文件一致性结论以及找到的数量。
[0187]
1.查询比对基因中该文件的“consistentresult”字段,如为0视为已找到,其余视
为未找到。
[0188]
2.将比对基因中该文件的特征向量与原始基因中的特征向量进行比较,当文件名、文件路径相同时,比较另外三个特征因子,如完全一致判定为一致,否则为不一致。
[0189]
3.将比对基因中该文件的“consistentresult”字段置为1(即一致)。
[0190]
4.将比对基因中该文件的“consistentresult”字段置为2(即不一致)。
[0191]
5.将比对基因中该文件的“consistentresult”字段置为3(即未找到),并将文件大小、特征值1、特征值2等3个特征因子值置为null。
[0192]
6.查询比对基因的主/白名单文件集中是否存在还未进行判定的文件。
[0193]
主/白名单文件集单个文件结论的判定逻辑如图6所示,可根据流程完成所有主/白名单文件一致性判定。首先获取一条比对基因中的文件,根据该文件consistentresult字段,判断该文件是否找到,如果能够找到,进行文件版本一致性判断。先比对原始基因文件特征向量中的文件名和文件路径,找到对应的基因文件,再进行文件大小、特征值1、特征值2的比对,只有全部一致能证明改文件版本一致,反之不一致。
[0194]
子流程2:灰名单文件判定
[0195]
灰名单因为不属于两个文件集中的任意文件,灰名单的一致性判定不能通过比对原始基因文件,在原始基因文件里面没有灰名单文件的记载,所以要进行人工判断,如图7所示,因为灰名单文件是主路径和白路径原本不存在的文件。获取比对基因中的灰名单文件信息,首先区分路径,再经操作人员进行人工判定是否影响一致性结论。
[0196]
1.确定比对基因中该文件路径归属,判定其属于预先填写的主路径或白路径(及其子路径)。
[0197]
2.由测试人员人工参与,对每一个灰名单文件是否影响该程序软件的一致性比对结论进行判定。
[0198]
3.因为文件归属路径可能对人工判定结论产生某种常态的倾向性影响,所以将人工判定分为对主路径下灰名单文件、白路径下灰名单文件两类不同的判定大类。但是此二者实际的人工判定参与流程和内容是相同的。
[0199]
4.实际检测时可能检测到较多的灰名单文件,且人工判定的工作效率与耗时一般较长。因此可以考虑将某一类路径下的灰名单文件统一呈送人工判定,以提升测试效率。
[0200]
5.将比对基因中该灰名单文件的“consistentresult”字段置为0(即此灰名单文件在主路径下,经人工判定影响整体程序的版本一致性结论)。
[0201]
6.将比对基因中该灰名单文件的“consistentresult”字段置为1(此灰名单文件在主路径下,经人工判定不影响整体程序的版本一致性结论)。
[0202]
7.将比对基因中该灰名单文件的“consistentresult”字段置为2(此灰名单文件在白路径下,经人工判定影响整体程序的版本一致性结论)。
[0203]
8.将比对基因中该灰名单文件的“consistentresult”字段置为3(此灰名单文件在白路径下,经人工判定不影响整体程序的版本一致性结论)。
[0204]
9.查询比对基因的灰名单文件集中是否存在还未进行判定的文件(即“consistentresult”字段为null)。
[0205]
步骤4:结合各类型的文件版本一致性结果,判定微应用版本的一致性,包括:
[0206]
对于程序软件主结论的判定,主要影响因素为主名单文件和灰名单文件,根据优
先级来说,当主名单文件有不一致的时候,那么该微应用程序版本不一致(主)。如果主名单文件全部一致,那么判断灰名单文件对微应用一致性结果的影响。首先判定是否存在灰名单文件,若不存在灰名单,该微应用程序版本完全一致。若存在灰名单,应对灰名单文件结果具体判断,灰名单文件不影响一致性,但相比原始版本多了灰文件的存在,所以该微应用版本基本一致。灰名单文件影响了一致性,那么该微应用版本不一致(灰)。
[0207]
1.在前面2个子流程中,对主/白/灰名单文件集所有文件判定结束后所形成的比对基因(过程版本)。
[0208]
2.将原始基因的主/白名单文件数量,录入到比对基因相应“listnum”字段外置处。
[0209]
3.在前面的子流程的过程中,统计所有找到的文件个数,并录入到相应字段“findnum”中,将找到的一致的主名单文件的数量,录入到相应字段“consistennum”中,统计不一致的主名单文件数量,录入到相应的字段“inconsistennum”中。
[0210]
4.在前一个子流程的过程中,统计所有找到的白名单文件个数,将找到的数量,录入到对应的字段“findnum”中。
[0211]
5.统计上一个子流程中找到的灰名单文件个数,并录入到相应的字段“listnum”中。
[0212]
6.当判定主名单一致性时,当主名单结论listnum=findnum=consistennum、inconsistennum=0且灰名单结论listnum=0时,说明该系统软件版本完全一致,将一致性主结论字段“result”置为2。
[0213]
7.当主名单结论与6相同时,但灰名单结论listnum》0,但经人工判断不影响一致性,将灰名单结论字段“consistentresult”置为0,将一致性主结论字段“result”置为3,该程序版本基本一致。
[0214]
8.当主名单结论与6相同时,但灰名单结论listnum》0,但经人工判断影响一致性,将灰名单结论字段“consistentresult”置为1,将一致性主结论字段“result”置为4,该程序版本不一致(灰)。
[0215]
9.当判定主名单结论是,字段inconsistennum》0,说明含有不一致的主名单文件,将一致性主结论字段“result”置为5,该程序版本不一致(主)。
[0216]
配电终端微应用版本一致性的判定流程示意图如图8所示;
[0217]
若比对基因文件的主名单文件和白名单文件的版本均与原始基因文件的主名单文件和白名单文件的版本一致,则判断灰名单文件是否影响微应用版本一致性,否则微应用版本不一致;
[0218]
若灰名单文件不影响被测微应用版本一致性,则微应用版本一致;否则微应用版本不一致。
[0219]
具体的:对于程序软件主结论的判定,主要影响因素为主名单文件和灰名单文件,根据优先级来说,当主名单文件有不一致的时候,那么该微应用程序版本不一致(主)。如果主名单文件全部一致,那么判断灰名单文件对微应用一致性结果的影响。首先判定是否存在灰名单文件,若不存在灰名单,该微应用程序版本完全一致。若存在灰名单,应对灰名单文件结果具体判断,灰名单文件不影响一致性,但相比原始版本多了灰文件的存在,所以该微应用版本基本一致。灰名单文件影响了一致性,那么该微应用版本不一致(灰)。
[0220]
实施例2:
[0221]
基于同一发明构思,本发明还提供了一种定值文件不敏感的微应用版本一致性测试系统,如图10所示,包括:
[0222]
文件信息获取模块、文件分类模块和版本一致性测试模块;
[0223]
所述文件信息获取模块用于基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;
[0224]
所述文件分类模块用于将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;
[0225]
所述版本一致性测试模块用于基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;
[0226]
结合各类型的文件版本一致性结果,判定微应用版本的一致性;
[0227]
所述文件路径包括主路径和白路径;
[0228]
所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;
[0229]
所述文件类型包括:主名单文件、白名单文件和灰名单文件。
[0230]
其中,所述文件信息获取模块,具体用于:
[0231]
逐一扫描被测配电终端微应用中所有文件存储路径以及子路径下的文件,记录文件的特征向量信息,将所述所有文件的特征向量信息与已记录的文件的特征向量信息进行比对,弃置文件存储路径和文件名重复的文件,将文件路径和文件名不重复的文件的特征向量信息按照主路径和白路径记录在相应的初始比对基因文件中;
[0232]
所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2。
[0233]
具体的:
[0234]
1.逐一扫描被测终端中此路径及其子路径下的全部文件。
[0235]
2.重复性检查:将扫描/查找到的文件特征向量信息,与全文件清单中已有的记录进行检索比对,判断是否存在文件路径、文件名均一致的重复信息。
[0236]
3.向现有的全文件清单中添加此文件的相关记录,记录内容为此文件的特征向量信息(文件名、文件路径、文件大小、基于文件内容的特征值1、基于文件名+文件路径的特征值2),并附加一个字段“基因录入”。“基因录入”字段默认值为0(即未正式录入至基因文件中)。
[0237]
4.查找被测终端指定目录下是否存在指定文件,所述指定文件包括灰名单文件。
[0238]
5.全文件清单用于记录测试过程中在被测终端中找到的全部文件信息。
[0239]
关于系统软件版本一致性的扫描方法,按照主/白路径清单,先进行一条路径的扫描,将此路径下所有的子路径文件进行特征向量信息的记录,在记录的过程中将特征信息重复的文件弃置,减少后续一致性检测的工作量,防止影响一致性结果准确性。在扫描并记录完此路径所有文件特征向量后,重复此过程扫描另一条路径,直至所有路径扫描完毕。然后根据原始主/白名单文件集进行被测终端指定目录下是否有指定文件的检测,最终生成一个记录被测终端所有文件特征信息的全文件清单,方便后续文件分类,进行一致性检测
结论得出。所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2。
[0240]
其中,所述文件分类模块,具体用于:
[0241]
基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,
[0242]
当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;
[0243]
当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;
[0244]
当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;
[0245]
将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。
[0246]
具体的:将之前输出的全文件清单进行文件一个个比对,首先根据原始基因主文件集,将属于的主文件将其特征向量信息记录到比对基因对应文件集合,同理,将白名单文件归属到比对基因对应文件集合。出现不属于上述的两种文件集合的文件,将特征向量信息,记录到灰名单文件集合。这样就可以将所有文件分类到主/白/灰三类中去,方便后续不同类型文件不同判定方式的一致性判定。
[0247]
基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,
[0248]
当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;
[0249]
当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;
[0250]
当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;
[0251]
将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。
[0252]
其中,所述版本一致性测试模块,具体用于:
[0253]
进行主/白名单文件集单个文件结论判定,根据之前的研究的特征向量与文件类型的关系,可知主名单文件需要进行五个特征因子的比对,只有全部一致才能证明该主名单文件结果一致,而白名单文件不管是否存在,内容是否改变都不影响一致性结构。虽然白名单文件不影响结果,但也要记录白名单文件一致性结论以及找到的数量。
[0254]
灰名单因为不属于两个文件集中的任意文件,灰名单的一致性判定不能通过比对原始基因文件,在原始基因文件里面没有灰名单文件的记载,所以要进行人工判断,因为灰名单文件是主路径和白路径原本不存在的文件。
[0255]
基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性;
[0256]
基于人工检查判定灰名单文件的版本一致性。
[0257]
其中,所述结合各类型的文件版本一致性结果,判定微应用版本的一致性,包括:
[0258]
若比对基因文件的主名单文件和白名单文件的版本均与原始基因文件的主名单文件和白名单文件的版本一致,则判断灰名单文件是否影响微应用版本一致性,否则微应用版本不一致;
[0259]
若灰名单文件不影响被测微应用版本一致性,则微应用版本一致;否则微应用版本不一致。
[0260]
最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本发明后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。
技术特征:
1.一种定值文件不敏感的微应用版本一致性测试方法,其特征在于,包括:基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;结合各类型的文件版本一致性结果,判定微应用版本的一致性;所述文件路径包括主路径和白路径;所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;所述文件类型包括:主名单文件、白名单文件和灰名单文件。2.如权利要求1所述的方法,其特征在于,所述基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中,包括:逐一扫描被测配电终端微应用中所有文件存储路径以及子路径下的文件,采用信息摘要算法防碰撞提取并记录文件的特征向量信息,将所述所有文件的特征向量信息与已记录的文件的特征向量信息进行比对,弃置文件存储路径和文件名重复的文件,将文件路径和文件名不重复的文件的特征向量信息按照主路径和白路径记录在相应的初始比对基因文件中;所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2;所述信息摘要算法包括摘要算法5和循环冗余校验两种异构校验算法构成的2oo2组合式故障安全导向机制。3.如权利要求1所述的方法,其特征在于,所述将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件,包括:基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。4.如权利要求1所述的方法,其特征在于,所述基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定,包括:基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因
文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性;基于人工检查判定灰名单文件的版本一致性。5.如权利要求4所述的方法,其特征在于,所述基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性,包括:当比对基因文件的主名单文件或白名单文件中的特征向量信息与对应的原始基因文件的主名单文件或白名单文件的特征向量相同时,将所述比对基因文件的主名单文件或白名单文件判定为文件版本一致,否则文件版本不一致。6.如权利要求1所述的方法,其特征在于,所述结合各类型的文件版本一致性结果,判定微应用版本的一致性,包括:若比对基因文件的主名单文件和白名单文件的版本均与原始基因文件的主名单文件和白名单文件的版本一致,则判断灰名单文件是否影响微应用版本一致性,否则微应用版本不一致;若灰名单文件不影响被测微应用版本一致性,则微应用版本一致;否则微应用版本不一致。7.一种定值文件不敏感的微应用版本一致性测试系统,其特征在于,包括:文件信息获取模块、文件分类模块和版本一致性测试模块;所述文件信息获取模块用于基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所述所有文件的特征向量信息,并记录在相应的初始比对基因文件中;所述文件分类模块用于将所述初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;所述版本一致性测试模块用于基于所述比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;结合各类型的文件版本一致性结果,判定微应用版本的一致性;所述文件路径包括主路径和白路径;所述原始基因文件包括对照微应用的所有文件的类型信息和特征向量信息,所述比对基因文件包括被测微应用所有文件的类型信息和特征向量信息;所述文件类型包括:主名单文件、白名单文件和灰名单文件。8.如权利要求7所述的系统,其特征在于,所述文件信息获取模块,具体用于:逐一扫描被测配电终端微应用中所有文件存储路径以及子路径下的文件,采用信息摘要算法防碰撞提取并记录文件的特征向量信息,将所述所有文件的特征向量信息与已记录的文件的特征向量信息进行比对,弃置文件存储路径和文件名重复的文件,将文件路径和文件名不重复的文件的特征向量信息按照主路径和白路径记录在相应的初始比对基因文件中;所述特征向量信息包括:文件名、文件路径、文件大小、基于文件内容形成的特征值1、基于文件名+文件路径形成的特征值2;所述信息摘要算法包括摘要算法5和循环冗余校验两种异构校验算法构成的2oo2组合
式故障安全导向机制。9.如权利要求7所述的系统,其特征在于,所述文件分类模块,具体用于:基于原始基因文件扫描被测配电终端微应用主路径和白路径下的初始比对基因文件,将所述初始比对基因文件逐一与原始基因文件进行对比,当所述初始比对基因文件的类型与对应原始基因文件中主名单文件类型一致时,所述初始比对基因文件属于主名单文件;当所述初始比对基因文件的类型与对应原始基因文件中白名单文件类型一致时,所述初始比对基因文件属于白名单文件;当所述初始比对基因文件的类型不属于主名单文件和灰名单文件时,所述初始比对基因文件属于灰名单文件;将所有所述文件的类型信息记录在相应的初始比对基因文件中,得到比对基因文件。10.如权利要求7所述的系统,其特征在于,所述版本一致性测试模块,具体用于:基于比对基因文件的主名单文件和白名单文件中的特征向量信息与对应的原始基因文件的主名单文件和白名单文件的特征向量进行比对,判定主名单文件和白名单文件的版本一致性;基于人工检查判定灰名单文件的版本一致性。11.如权利要求7所述的系统,其特征在于,所述结合各类型的文件版本一致性结果,判定微应用版本的一致性,包括:若比对基因文件的主名单文件和白名单文件的版本均与原始基因文件的主名单文件和白名单文件的版本一致,则判断灰名单文件是否影响微应用版本一致性,否则微应用版本不一致;若灰名单文件不影响被测微应用版本一致性,则微应用版本一致;否则微应用版本不一致。
技术总结
本发明提供了一种定值文件不敏感的微应用版本一致性测试方法和系统,包括:基于文件路径获取被测微应用的所有文件,并采用信息摘要算法提取所有文件的特征向量信息,并记录在相应的初始比对基因文件中;将初始比对基因文件与原始基因文件进行比对,对文件进行分类,将被测微应用的文件的类型信息记录到相应的初始比对基因文件中,得到比对基因文件;基于比对基因文件结合对应的原始基因文件对分类后的文件按照不同的方法进行版本一致性判定;本发明利用文件路径和构造文件特征向量的方法,识别终端程序中可差异化配置的定值文件,实现了对布置于不同运营环境并适应于不同功能要求的配电终端的系统软件的一致性测试。能要求的配电终端的系统软件的一致性测试。能要求的配电终端的系统软件的一致性测试。
技术研发人员:陈洁 关石磊 周菲嫣 史常凯 盛万兴 宋晓辉 雷浩亮 王海波 尹惠 吴燕 古凌云 唐可新 辛倩
受保护的技术使用者:国家电网有限公司
技术研发日:2023.03.03
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种双燃料双蓄热低NO的制作方法 下一篇:一种汽车用包塑螺栓的制作方法
