参考云架构自动测试系统整体模型、硬件模型和文献[65],建立三层云架构自动测试系统软件模型,如图2-11所示。其主要分为三层:基础设施即服务层、平台即服务层、软件即服务层。
1.基础设施即服务层
基础设施即服务层主要包含网络资源、仪器资源、数据存储资源、仪器驱动以及操作系统(Operation System,OS)。网络资源负责实现测试服务平台与测试服务终端之间的信息通信;仪器资源包含在测试过程中用到的所有测试仪器;数据存储资源作为测试过程中测试服务平台采集到的被测对象的测试信号的相关数据;仪器驱动连接测试程序和测试用的仪器资源中的设备,测试程序通过仪器驱动实现针对测试设备的控制;操作系统是管理计算机硬件与软件资源的计算机程序。
图2-11 三层云架构自动测试系统软件模型
2.平台即服务层
平台即服务层主要运行有云平台资源与测试任务管理软件,主要包含平台通信程序、测试资源与测试任务管理程序、测试任务执行模块、数据处理模块和虚拟化层。
(1)平台通信程序依托于基础设施即服务层中的网络资源的支持,与测试服务终端中的通信程序进行联系,实现信息的通信,其具体的功能包括以下几条。
①实时接收测试服务终端发送的测试需求。
②及时将新的测试需求传递给下一级的测试资源与测试任务管理程序,便于进行测试的下一步操作。
③在测试完成后及时将测试的结果以及初步处理后的测试数据传递给测试服务终端。
(2)测试资源与测试任务管理程序是平台及服务层的核心。其具体功能如下。
①测试任务解析:在接收到测试服务终端推送的测试任务后,要对测试任务进行解析,并进行粒度分割,便于测试资源与测试任务的匹配。
②测试任务和测试资源状态管理:平台应该能够实时了解掌握测试任务的执行状态,并且在此期间实时扫描测试服务平台内测试资源的状态,为接下来的针对测试任务与测试资源的匹配打下基础。
③测试资源与测试任务的匹配:平台软件根据测试任务和测试资源的状态,以一定的原则进行任务、资源的匹配。
(3)测试任务执行模块是根据测试资源与测试任务管理程序得出的测试任务与测试资源的匹配结果进行实际的操作,根据匹配的结果,执行测试任务,主要功能为以下两条。
①控制开关资源的通断,将测试任务(即被测对象)的被测信号经过预定的通道传输给指定的仪器资源。
②根据测试任务的具体需求配置仪器资源的参数,并将配置信息和执行信息传递给基础设施即服务层的仪器驱动,最终由仪器驱动去驱动仪器资源对被测信号进行采集,控制测试任务的稳步执行。
(4)数据处理模块是在测试任务执行完毕后,对采集到的测试信号进行处理,其中需要注意的是,测试服务平台也可以不对采集到的测试信号进行处理,直接将信号数据传递到测试服务终端交由测试数据处理程序处理。
(5)虚拟化层的作用是将基础设施中的硬件测试资源在逻辑层面进行表示,在测试服务终端的客户端处呈现出所有的测试资源,使用户拥有针对平台内所有测试资源的权限。在实际的测试过程中,由于单个用户(或者说单个测试任务)不会同时请求所有的测试资源,因此会有大量闲置的资源存在,而这些闲置的资源可以同时满足其他用户(或测试任务)的测试需求,而根据拥有的权限,在用户看来自己占用了平台的所有测试资源,实际情况是平台的测试资源由多个测试用户共享,而共享的过程对用户而言是看不到的,最终得到的结果是改变了传统一个平台内的所有资源在同一时间只能满足一个用户的情形,而转变为一个平台内的测试资源同时可以满足多个用户。
3.软件即服务层
软件即服务层主要运行有云端测试服务软件,即运行于测试服务终端上,最终与用户交互,为最终用户提供人机交互界面,通过人机交互界面测试用户进行简单的配置就可完成测试过程。其主要包括任务配置程序、云端通信程序、测试数据处理程序和测试结果显示、记录、打印程序。
任务配置程序为测试用户提供人机交互界面,通过与测试用户的交互,完成用户测试需求的生成,主要包含所需测试资源的种类、数量,传感器的特征参数(如传感器的类型、灵敏度、单位、精度、通道分组和通道识别等各类信息)以及测试任务信息(如采样点数、采样长度)以及数据处理需求等各类在测试过程中可能用到的测试的相关信息。
云端通信程序主要实现测试服务终端上的客户端与测试服务平台上的测试控制计算机的信息交互,有两个基本功能:给测试服务平台上报测试需求,接收云测试服务平台传输的测试结果。
测试数据处理程序用于对传输到测试服务终端的测试信号数据结果进行处理、分析;测试结果显示、记录、打印程序将处理后的数据进行显示、记录、打印。
以上是三层云架构自动测试系统软件模型以及软件业务执行逻辑。为了具体系统开发方便,下面从软件开发角度对上述模型进行细化,如图2-12所示。该软件细化模型包含七个模块,其中硬件测试资源参考2.2节中的模块化测试资源。
1.测试服务终端信息库(test service terminal information database,TSTID)
该模块任务为获取测试信号、传感器特征参数和用户测试需求,作为测试程序运行的依据。(www.daowen.com)
2.测试需求/策略文档系统(test requirement&strategy document system,TRSDS)
测试需求/策略文档系统基于文档模式记录系统测试过程中的各类信息,获得任务执行策略和资源匹配策略。其主要包含信号标识文档、特征参数文档、信号数据文档、用户需求文档、系统状态文档、资源闲置文档和执行、匹配策略文档。
(1)信号标识文档:依据标识信息系统调用资源采集信号,就是对采集到的信号进行特殊标志。
(2)特征参数文档:依据特征参数系统调理测试信号,就是对处理测试信号得到的测试数据,即特征参数进行记录。
(3)信号数据文档:信号采集程序控制仪器采集装备信号,就是对采集到的测试信号进行记录,便于日后调用。
(4)用户需求文档:针对测试需求进行语义分析,就是对用户的实际需求进行描述,转换成符合计算机语义识别的语言数据。
图2-12 云架构自动测试系统软件细化模型
(5)系统状态文档:实时监控系统运行状态,对测试系统在运行过程中的各时段状态进行记录。
(6)资源闲置文档:系统内部资源闲置状况分析,并与用户需求进行比较,生成执行、匹配策略文档。
(7)执行、匹配策略文档:对测试系统内部每个时间段测试资源的利用情况进行监测,并将结果记录下来,对没有得到利用的资源,在出现相应的测试需求时,系统可以进行调用。
3.测试程序开发运行平台
测试程序开发运行平台用于测试程序集的开发、运行和维护。其主要包含信号采集程序、信号分析程序、自我管理程序、任务管理程序、资源管理程序、安全管理器和负载管理器等。其具体工作逻辑如下。信号采集程序依据信号标识文档和特征参数文档,采集测试信号并生成信号数据文档,然后交由信号分析程序,判断装备信息,生成测试结果文档(对测试活动的处理结果进行记录,生成相应文档);自我管理程序在简单人工参与下实时监控和定期维护系统内部软、硬件资源并定期更新系统状态文档;任务管理程序依据执行、匹配策略文档对任务进行最优排序、资源匹配和并行执行,生成测试需求文档和任务调度文档;资源管理程序依据执行、匹配策略文档对内部虚拟资源进行统一管理、合理分类和准确调用,生成资源管理文档和资源调度文档;安全管理器负责监控系统运行超载以及恶意程序运行;负载管理器负责实时监测系统运行状态和负载情况并定期更新负载状态文档。
4.虚拟测试资源管理库
虚拟测试资源管理库(virtual test resource manage database,VTRMD)是系统内部硬件资源在逻辑上的存在形式,分别由对应的管理程序负责,参考2.3节中的虚拟化层。通过对系统内部资源进行分类管理,方便控制系统查找、访问和调度所需资源。
5.控制系统
控制系统(control system,CS)作为测试程序与仪器驱动的中间环节,接收程序测试命令并转化为基于仪器驱动的控制指令。
6.仪器驱动库
仪器驱动库(instrument driver database,IDD)作为控制系统向仪器设备传输控制指令的接口,位于两者之间,包含仪器驱动说明和软件接口标准[64]。
针对云测试系统软件模型的相关研究主要解决以下五个方面问题。
(1)采用文档模式详细记录装备测试过程中涉及的各类信息,为用户查看测试结果,及时发现系统潜在问题提供了方便。
(2)将硬件测试资源虚拟化为标准的逻辑资源,方便系统准确调用所需测试资源,同时虚拟化层的构建消除了系统与硬件资源之间的紧耦合,增强了硬件设备的可互换性和软件资源的可移植性。
(3)在硬件测试资源虚拟化基础上,设计了针对测试任务和资源的动态调度算法,实现测试过程中任务和资源的最优匹配。
(4)针对普通传感器进行智能化改造,实现传感器的即插即用和特征参数的自动识别。
(5)软硬件资源模块化、仪器驱动和接口标准化,提升了云测试系统的可扩展性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。