纵向虚拟化测试方法及装置转让专利

申请号 : CN201710060985.0

文献号 : CN106850347B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谯良刚

申请人 : 迈普通信技术股份有限公司

摘要 :

本发明实施例提供的一种纵向虚拟化测试方法及装置,属于数据通信领域。该方法包括:设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置;当报文接收模块接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断纵向虚拟化报文的类型;若纵向虚拟化报文为管理报文,设备模拟模块根据管理报文对其进行工作状态管理;若纵向虚拟化报文为命令报文,命令执行模块根据命令报文对命令报文所指向的已建立的模拟接入设备进行控制;使得测试时不再需要大量的硬件测试设备,只需创建虚拟的模拟接入设备,将虚拟的模拟接入设备设置在测试设备上就可对被测试设备实现测试了,从而降低了硬件测试成本。

权利要求 :

1.一种纵向虚拟化测试方法,其特征在于,应用于纵向虚拟化测试装置,所述装置包括:报文接收模块、设备模拟模块以及命令执行模块;所述方法包括:所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置;

所述报文接收模块接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型;

若所述纵向虚拟化报文为管理报文,所述报文接收模块将所述纵向虚拟化报文发送给所述设备模拟模块;

所述设备模拟模块根据所述管理报文对所述多个模拟接入设备进行工作状态管理;

若所述纵向虚拟化报文为命令报文,所述报文接收模块将所述纵向虚拟化报文发送给所述命令执行模块;

所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。

2.根据权利要求1所述的方法,其特征在于,所述装置还包括文件转发模块;所述方法还包括:若所述纵向虚拟化报文为升级报文,所述报文接收模块将所述纵向虚拟化报文发送给所述文件转发模块;

所述文件转发模块根据所述升级报文查找对应的模拟接入设备;

根据所述升级报文,对查找到的所述模拟接入设备进行对应配置。

3.根据权利要求2所述的方法,其特征在于,根据所述升级报文,对查找到的所述模拟接入设备进行对应配置,包括:当所述文件转发模块接收到所述升级报文时,判断所述升级报文的类型;

若所述升级报文为升级开始报文时,所述文件转发模块从所述升级开始报文中获取文件,并在所述文件的文件名上增加与所述查找到的模拟接入设备对应的标识,生成新的文件名;

所述文件转发模块建立文本传输协议连接,并向文件保存模块通过所述文本传输协议发送携带所述新的文件名的文件。

4.根据权利要求2所述的方法,其特征在于,所述装置还包括文件保存模块,所述根据所述升级报文,对查找到的所述模拟接入设备进行对应配置,还包括:当所述文件转发模块接收到所述升级报文时,判断所述升级报文的类型;

若所述升级报文为升级结束报文,所述文件转发模块关闭已建立的文本传输协议;

所述文件转发模块从所述升级结束报文中获取校验和,并发送命令给所述文件保存模块;

所述文件保存模块根据所述命令计算所述查找到的模拟接入设备的升级文件的校验和;

获取所述文件保存模块计算的校验和,将所述文件保存模块计算的所述校验和与所述文件转发模块从所述升级结束报文中获取的所述校验和进行比较,获得比较结果;

若比较结果为所述文件保存模块计算的所述校验和与所述文件转发模块获取的所述校验和一致,则文件转发模块通过纵向虚拟化协议返回文件升级成功的结果给被测试设备;

若比较结果为所述文件保存模块计算的所述校验和与所述文件转发模块获取的所述校验和不一致,则文件转发模块通过所述纵向虚拟化协议返回文件升级失败的结果给被测试设备。

5.根据权利要求1-4任意一项所述的方法,其特征在于,所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置,包括:所述设备模拟模块根据所述测试配置创建每个所述模拟接入设备对应的符合纵向虚拟化协议的状态机和定时器,其中所述定时器包括状态机定时器与计算状态数据定时器;

根据所述定时器的类型,对所述多个模拟接入设备进行对应配置。

6.根据权利要求5所述的方法,其特征在于,根据所述定时器的类型,对所述多个模拟接入设备进行对应配置,包括:根据所述定时器的到期事件消息,获取与所述到期事件消息对应的模拟接入设备并判断所述定时器类型;

若所述定时器为所述状态机定时器,根据所述纵向虚拟化协议驱动所述模拟接入设备对应的状态机进行状态转换;

若所述定时器为所述计算状态数据定时器,根据所述被测试设备的配置对所述模拟接入设备的状态数据进行计算。

7.根据权利要求1-4任意一项所述的方法,其特征在于,所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制,包括:所述命令执行模块根据所述命令报文查找所述命令报文所指向的已建立的模拟接入设备;

若找到所述命令报文所指向的已建立的模拟接入设备,从所述命令报文中获取命令,判断命令类型;

若所述命令为配置下发命令,根据所述配置下发命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置;

若所述命令为配置收集命令,根据所述配置收集命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置;

若所述命令为运行状态数据收集命令,根据所述运行状态数据收集命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置。

8.一种纵向虚拟化测试装置,其特征在于,所述装置包括:报文接收模块、设备模拟模块以及命令执行模块;

所述设备模拟模块,用于根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置;

所述报文接收模块,用于当接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型;

所述报文接收模块,还用于若所述纵向虚拟化报文为管理报文,将所述纵向虚拟化报文发送给所述设备模拟模块;

所述设备模拟模块,还用于根据所述管理报文对所述多个模拟接入设备进行工作状态管理;

所述报文接收模块,还用于若所述纵向虚拟化报文为命令报文,将所述纵向虚拟化报文发送给所述命令执行模块;

所述命令执行模块,用于根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。

9.根据权利要求8所述的装置,其特征在于,所述装置还包括文件转发模块;

所述报文接收模块,还用于若所述纵向虚拟化报文为升级报文,将所述纵向虚拟化报文发送给所述文件转发模块;

所述文件转发模块,用于根据所述升级报文查找对应的模拟接入设备;

所述文件转发模块,还用于根据所述升级报文,对查找到的所述模拟接入设备进行对应配置。

10.根据权利要求9所述的装置,其特征在于,所述文件转发模块包括:第一判断模块、升级开始模块,所述升级开始模块包括第一升级开始子模块以及第二升级开始子模块;

所述第一判断模块,用于当接收到所述升级报文时,判断所述升级报文的类型;

所述第一升级开始子模块,用于若所述升级报文为升级开始报文时,从所述升级开始报文中获取文件,并在所述文件的文件名上增加与所述查找到的模拟接入设备对应的标识,生成新的文件名;

所述第二升级开始子模块,用于建立文本传输协议连接,并向文件保存模块通过所述文本传输协议发送携带所述新的文件名的文件。

11.根据权利要求9所述的装置,其特征在于,所述装置还包括文件保存模块,所述文件转发模块还包括第二判断模块和升级结束模块,所述升级结束模块包括:第一升级结束子模块、第二升级结束子模块、第一比较模块、第二比较模块以及第三比较模块;

所述第二判断模块,用于当接收到所述升级报文时,判断所述升级报文的类型;

所述第一升级结束子模块,用于若所述升级报文为升级结束报文,关闭已建立的文本传输协议;

所述第二升级结束子模块,用于从所述升级结束报文中获取校验和,并发送命令给所述文件保存模块;

所述文件保存模块,用于根据所述命令计算所述查找到的模拟接入设备的升级文件的校验和;

所述第一比较模块,用于获取计算的校验和,将计算的所述校验和与从所述升级结束报文中获取的所述校验和进行比较,获得比较结果;

所述第二比较模块,用于若比较结果为计算的所述校验和与获取的所述校验和一致,则通过纵向虚拟化协议返回文件升级成功的结果给被测试设备;

所述第三比较模块,用于若比较结果为计算的所述校验和与获取的所述校验和不一致,则通过所述纵向虚拟化协议返回文件升级失败的结果给被测试设备。

12.根据权利要求8-11任意一项所述的装置,其特征在于,所述设备模拟模块包括:第一创建模块以及配置模块;

所述第一创建模块,用于根据所述测试配置对每个所述模拟接入设备创建每个所述模拟接入设备对应的符合纵向虚拟化协议的状态机和定时器,其中所述定时器包括状态机定时器与计算状态数据定时器;

所述配置模块,用于根据所述定时器的类型,对所述多个模拟接入设备进行对应配置。

13.根据权利要求12所述的装置,其特征在于,所述配置模块包括:获取定时器类型子模块、状态机定时器子模块以及状态数据定时器子模块;

所述获取定时器类型子模块,用于根据所述定时器的到期事件消息,获取与所述到期事件消息对应的模拟接入设备并判断所述定时器类型;

所述状态机定时器子模块,用于若所述定时器为所述状态机定时器,根据所述纵向虚拟化协议驱动所述模拟接入设备对应的状态机进行状态转换;

所述状态数据定时器子模块,用于若所述定时器为所述计算状态数据定时器,根据所述被测试设备的配置对所述模拟接入设备的状态数据进行计算。

14.根据权利要求8-11任意一项所述的装置,其特征在于,所述命令执行模块包括:查找设备子模块、获取命令子模块、配置下发子模块、配置收集子模块以及运行状态数据收集子模块;

所述查找设备子模块,用于根据所述命令报文查找所述命令报文所指向的已建立的模拟接入设备;

所述获取命令子模块,用于若找到所述命令报文所指向的已建立的模拟接入设备,从所述命令报文中获取命令,判断命令类型;

所述配置下发子模块,用于若所述命令为配置下发命令,根据所述配置下发命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置;

所述配置收集子模块,用于若所述命令为配置收集命令,根据所述配置收集命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置;

所述运行状态数据收集子模块,用于若所述命令为运行状态数据收集命令,根据所述运行状态数据收集命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置。

说明书 :

纵向虚拟化测试方法及装置

技术领域

[0001] 本发明涉及数据通信领域,具体而言,涉及一种纵向虚拟化测试方法及装置。

背景技术

[0002] 随着局域网大规模二层网络技术的发展,网络中层次清晰,设备逐渐增大,让网络的维护管理变得越来越困难。而目前虚拟化技术只在同一层次上实现了多台设备的统一管理,但在不同层次上仍然存在设备分散管理的问题。当接入层的数量巨大,分散性广。通过采用纵向虚拟化技术来简化维护管理得到了较多的认可。
[0003] 而对纵向虚拟化技术的测试,目前通常采用的是使用实体设备来搭建系统。由于纵向虚拟化技术本身是解决大量设备的简化管理,因此为了达到测试目的,必须采用大量的辅助测试设备。由于不管是在开发过程中,还是在测试过程中,以及后面的方案验证过程中,都需要对应的环境。每一个环境又需要大量的设备,导致测试的成本非常高,而由于环境太庞大,将会导致搭建环境的周期也非常长,设备太多,将会导致耗费更多的能源。
[0004] 因此,如何通过创建虚拟的模拟接入设备从而实现对硬件设备的测试,从而降低硬件测试成本,是目前急需考虑的问题。

发明内容

[0005] 有鉴于此,本发明实施例的目的在于提供一种纵向虚拟化测试方法及装置,其能够创建虚拟的模拟接入设备从而实现对被测试设备的测试,从而降低了硬件测试成本。
[0006] 第一方面,本发明实施例提供了一种纵向虚拟化测试方法,应用于纵向虚拟化测试装置,所述装置包括:报文接收模块、设备模拟模块以及命令执行模块;所述方法包括:所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置;所述报文接收模块接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型;若所述纵向虚拟化报文为管理报文,所述报文接收模块将所述纵向虚拟化报文发送给所述设备模拟模块;所述设备模拟模块根据所述管理报文对所述多个模拟接入设备进行工作状态管理;若所述纵向虚拟化报文为命令报文,所述报文接收模块将所述纵向虚拟化报文发送给所述命令执行模块;所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。
[0007] 第二方面,本发明实施例提供了一种纵向虚拟化测试装置,所述装置包括:报文接收模块、设备模拟模块以及命令执行模块;所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置;所述报文接收模块,用于接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型;所述报文接收模块,还用于若所述纵向虚拟化报文为管理报文,所述报文接收模块将所述纵向虚拟化报文发送给所述设备模拟模块;所述设备模拟模块,还用于根据所述管理报文对所述多个模拟接入设备进行工作状态管理;所述报文接收模块,还用于若所述纵向虚拟化报文为命令报文,所述报文接收模块将所述纵向虚拟化报文发送给所述命令执行模块;所述命令执行模块,用于所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。
[0008] 本发明实施例提供一种纵向虚拟化测试方法及装置,所述纵向虚拟化测试装置包括报文接收模块、设备模拟模块以及命令执行模块;首先所述设备模拟模块根据获取的测试配置创建多个模拟接入设备;通过所述报文接收模块接收到从被测试设备发送给接入设备的的纵向虚拟化报文,从而判断出所述纵向虚拟化报文的类型,若所述纵向虚拟化报文为管理报文,则将所述纵向虚拟化报文发送给所述设备模拟模块,从而所述设备模拟模块根据所述管理报文对所述多个模拟接入设备工作状态管理;若所述纵向虚拟化报文为命令报文,则将所述纵向虚拟化报文发送给所述命令执行模块,从而所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制;这样使得测试时不再需要大量的硬件测试设备,只需要创建虚拟的模拟接入设备,将该虚拟的模拟接入设备设置在所述测试设备上就可以对被测试设备实现测试了,从而降低了硬件测试成本。
[0009] 本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

[0010] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0011] 图1示出了一种可应用于本申请实施例中的电子设备的结构框图;
[0012] 图2为本发明第一实施例提供的一种纵向虚拟化测试方法的流程图;
[0013] 图3为本发明第二实施例提供的一种纵向虚拟化测试方法的流程图;
[0014] 图4为本发明第三实施例提供的一种纵向虚拟化测试装置的结构框图;
[0015] 图5为本发明第四实施例提供的一种纵向虚拟化测试装置的结构框图。

具体实施方式

[0016] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0017] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0018] 图1示出了一种可应用于本申请实施例中的电子设备400的结构框图。该电子设备400可以作为本实施例中的测试设备。如图1所示,电子设备400可以包括纵向虚拟化测试装置100、存储器402、存储控制器403、处理器404和网络模块405。
[0019] 存储器402、存储控制器403、处理器404、网络模块405各元件之间直接或间接地电连接,以实现数据的传输或交互。例如,这些元件之间可以通过一条或多条通讯总线或信号总线实现电连接。所述纵向虚拟化测试装置100分别包括至少一个可以以软件或固件(firmware)的形式存储于存储器402中的软件功能模块,例如所述纵向虚拟化测试装置100包括的报文接收模块、设备模拟模块、以及命令执行模块等。。
[0020] 存储器402可以存储各种软件程序以及模块,如本申请实施例提供的方法及纵向虚拟化测试装置100对应的报文接收模块、设备模拟模块、以及命令执行模块等。处理器404通过运行存储在存储器402中的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本申请实施例中的纵向虚拟化测试方法。存储器402可以包括但不限于随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable  Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
[0021] 处理器404可以是一种集成电路芯片,具有信号处理能力。上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0022] 网络模块405用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
[0023] 第一实施例
[0024] 请参照图2,图2为本发明第一实施例提供的一种纵向虚拟化测试方法的流程图,所述纵向虚拟化测试方法应用于纵向虚拟化测试装置,所述装置包括:报文接收模块、设备模拟模块以及命令执行模块;所述纵向虚拟化测试方法具体包括如下步骤:
[0025] 步骤S110:所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置。
[0026] 所述获取的测试配置可以为用户输入的配置命令,或者预先存储好的测试配置,从而所述设备模拟模块获取所述测试配置,并根据该测试配置创建多个模拟接入设备。
[0027] 根据被测试设备的相关配置,所述设备模拟模块根据所述管理报文对每个所述模拟接入设备创建每个所述模拟接入设备对应的符合纵向虚拟化协议的状态机和与定时器,其中所述定时器包括状态机定时器与计算状态数据定时器。
[0028] 根据所述定时器的到期事件消息,获取与所述到期事件消息对应的模拟接入设备并判断所述定时器类型。若所述定时器为所述状态机定时器,根据所述纵向虚拟化协议驱动所述模拟接入设备对应的状态机进行状态转换;该设备模拟模块包括处理数据接收模块,在所述模拟接入设备对应的状态机进行状态转换的过程中,向所述处理数据接收模块发送纵向虚拟化协议报文,处理数据接收模块接收到传递过来的纵向虚拟化协议报文后,从该纵向虚拟化协议报文中获取以太头目的MAC地址,并根据获取的MAC地址,查找对应的模拟接入设备,如果没有找到,则丢弃该纵向虚拟化协议报文,结束该纵向虚拟化协议报文的处理,否则,根据纵向虚拟化协议报文结合该模拟接入设备的状态机进行状态转换,在转换过程中,向被测试设备发送纵向虚拟化协议报文。另外,在对应的模拟接入设备处理收到的纵向虚拟化协议报文时,可以根据被测试设备的配置,忽略某些模拟接入设备收到的纵向虚拟化协议报文,从而实现某些模拟接入设备异常的模拟。
[0029] 若所述定时器为所述计算状态数据定时器,根据所述被测试设备配置对所述模拟接入设备的状态数据进行计算,计算方法包括:在该模拟接入设备的当前数据上递增、随机增加、递减、随机减少、随机产生新的状态数据、清零以及按照被测试设备的配置的下一个数据替换。
[0030] 步骤S120:当所述报文接收模块接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型。
[0031] 当被测试设备需要被测试时,被测试设备向接入设备发送纵向虚拟化报文,则报文接收模块可以接收到该纵向虚拟化报文,该纵向虚拟化报文有多个类型,所述报文接收模块接收到所述被测试设备发送的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型。
[0032] 步骤S130:若所述纵向虚拟化报文为管理报文,所述报文接收模块将所述纵向虚拟化报文发送给所述设备模拟模块。
[0033] 所述报文接收模块若判断出所述纵向虚拟化报文为管理报文时,则所述报文接收模块就将所述纵向虚拟化报文发送给所述设备模拟模块。
[0034] 步骤S140:所述设备模拟模块根据所述管理报文对所述多个模拟接入设备进行工作状态管理。
[0035] 所述管理报文用于管理被测试设备与多个模拟接入设备之间基于纵向虚拟化协议的通信链接的状态。例如,建立或断开通信链接等。
[0036] 步骤S150:若所述纵向虚拟化报文为命令报文,所述报文接收模块将所述纵向虚拟化报文发送给所述命令执行模块。
[0037] 所述报文接收模块若判断出所述纵向虚拟化报文为命令报文时,则所述报文接收模块就将所述纵向虚拟化报文发送给所述命令执行模块。
[0038] 步骤S160:所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。
[0039] 所述命令执行模块负责执行报文接收模块传递过来的命令,并反馈执行结果给被测试设备。
[0040] 命令执行模块收到报文接收模块传递过来的命令报文后,从报文中获取以太头部的目的MAC地址,根据获取的MAC地址,查找对应的模拟接入设备,如果没有找到对应的模拟接入设备,则丢弃该命令报文,结束该命令报文的处理。否则,从命令报文中获取命令,根据命令类型进行处理。该命令主要分为:配置下发、配置收集、运行状态数据收集等。
[0041] 若所述命令为配置下发命令,根据所述配置下发命令,在所述命令报文所述指向的已建立的模拟接入设备上申请相关的内存,保存下发的配置,并按照纵向虚拟化协议返回结果给被测试设备。在保存下发的配置的过程中,可以根据被测试设备的配置,丢弃该下发的配置,从而实现配置下发异常的模拟。
[0042] 若所述命令为配置收集命令,根据所述配置收集命令,在所述命令报文所指向的已建立的模拟接入设备上获取原来已经保存的配置,并按照纵向虚拟化协议返回配置结果给被测试设备。在返回配置结果给被测试设备的过程中,可以根据被测试设备的配置,返回空的配置或者错误的配置,从而实现配置收集异常的模拟。
[0043] 若所述命令为运行状态数据收集命令,根据所述运行状态数据收集命令,在所述命令报文所指向的已建立的模拟接入设备获取对应的当前状态数据,并按照纵向虚拟化协议返回状态数据结果给被测试设备。在返回状态数据结果给被测试设备的过程中,可以根据被测试设备的配置,返回空的状态数据或者错误的状态数据,从而实现运行状态数据收集异常的模拟。
[0044] 第二实施例
[0045] 请参照图3,图3为本发明第二实施例提供的一种纵向虚拟化测试方法的流程图。所述装置还包括文件转发模块以及文件保存模块;所述方法具体包括如下步骤:
[0046] 步骤S210:所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置。
[0047] 步骤S220:当所述报文接收模块接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型。
[0048] 步骤S230:若所述纵向虚拟化报文为管理报文,所述报文接收模块将所述纵向虚拟化报文发送给所述设备模拟模块。
[0049] 步骤S240:所述设备模拟模块根据所述管理报文对所述多个模拟接入设备进行工作状态管理。
[0050] 步骤S250:若所述纵向虚拟化报文为命令报文,所述报文接收模块将所述纵向虚拟化报文发送给所述命令执行模块。
[0051] 步骤S260:所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。
[0052] 步骤S270:若所述纵向虚拟化报文为升级报文,所述报文接收模块将所述纵向虚拟化报文发送给所述文件转发模块。
[0053] 所述报文接收模块接收到的被测试设备发送的所述纵向虚拟化协议报文为升级报文时,将所述纵向虚拟化协议报文发送给所述文件转发模块。
[0054] 步骤S280:所述文件转发模块根据所述升级报文查找对应的模拟接入设备。
[0055] 文件转发模块收到接收模块传递过来的升级报文后,从所述升级报文中获取以太头部的目的MAC地址,根据获取的MAC地址,查找对应的模拟接入设备,如果没有找到对应的模拟接入设备,则丢弃该升级报文,结束该升级报文的处理。
[0056] 步骤S290:根据所述升级报文,对查找到的所述模拟接入设备进行对应配置。
[0057] 当所述文件转发模块接收到所述升级报文时,判断所述升级报文的类型;若所述升级报文为升级开始报文时,根据所述升级开始报文,所述文件转发模块从所述升级开始报文中获取文件,并在所述文件的文件名上增加与所述查找到的模拟接入设备对应的标识,生成新的文件名,并建立文本传输协议连接,并向文件保存模块通过文本传输协议发送携带所述新的文件名的文件。
[0058] 若所述升级报文为升级数据报文,根据所述升级数据报文,所述文件转发模块将所述升级数据通过所述文本传输协议连接发送给服务器。
[0059] 若所述升级报文不是升级结束报文,则丢弃该升级结束报文。
[0060] 若所述升级报文为升级结束报文,根据所述升级结束报文,所述文件转发模块关闭已建立的文本传输协议,并从所述升级结束报文中获取校验和,并发送命令给所述文件保存模块;所述文件保存模块根据所述命令计算所述查找到的模拟接入设备的升级文件的校验和;文件转发模块获取到所述文件保存模块计算的校验和后,将所述文件保存模块计算的所述校验和与所述文件转发模块从所述升级结束报文中获取的所述校验和进行比较,获得比较结果;若比较结果为所述文件保存模块计算的所述校验和与所述文件转发模块获取的所述校验和一致,则文件转发模块通过所述纵向虚拟化协议返回文件升级成功的结果给被测试设备;若比较结果为所述文件保存模块计算的所述校验和与所述文件转发模块获取的所述校验和不一致,则文件转发模块通过所述纵向虚拟化协议返回文件升级失败的结果给被测试设备。另外,可以根据被测试设备的配置,按照纵向虚拟化协议返回升级失败的结果给被测试设备,从而实现升级异常的模拟。
[0061] 其中,所述文件保存模块根据所述命令计算所述查找到的模拟接入设备的升级文件的校验和时,文件保存模块首先启文本传输协议服务器,根据所述文件转发模块发送的所述命令,获取所述升级文件的文件名;在所述文本传输协议服务器的目录下查找与所述升级文件的文件名对应的升级文件,并根据所述纵向虚拟化协议计算所述查找到的模拟接入设备的所述升级文件的校验和,将所述计算结果返回给所述文件转发模块;若在文本传输协议服务器的目录下没有找到与所述升级文件的文件名对应的升级文件,则向所述文件转发模块返回文件不存在。
[0062] 第三实施例
[0063] 请参照图4,图4为本发明第三实施例提供的一种纵向虚拟化测试装置100的结构框图,所述装置包括:报文接收模块110、设备模拟模块120以及命令执行模块130。
[0064] 所述设备模拟模块120,用于根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置。
[0065] 所述报文接收模块110,用于当接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型。
[0066] 所述报文接收模块110,还用于若所述纵向虚拟化报文为管理报文,所述报文接收模块110将所述纵向虚拟化报文发送给所述设备模拟模块120。
[0067] 所述设备模拟模块120,还用于根据所述管理报文对所述多个模拟接入设备进行工作状态管理。作为一种实施方式,所述设备模拟模块120包括:第一创建模块以及配置模块。
[0068] 其中,所述第一创建模块,用于根据所述管理报文对每个所述模拟接入设备创建每个所述模拟接入设备对应的符合纵向虚拟化协议的状态机和与定时器,其中所述定时器包括状态机定时器与计算状态数据定时器。
[0069] 所述配置模块,用于根据所述定时器的类型,对所述多个模拟接入设备进行对应配置。作为一种实施方式,所述配置模块包括:获取定时器类型子模块、状态机定时器子模块以及状态数据定时器子模块。
[0070] 所述获取定时器类型子模块,用于根据所述定时器的到期事件消息,获取与所述到期事件消息对应的模拟接入设备并判断所述定时器类型。
[0071] 所述状态机定时器子模块,用于若所述定时器为所述状态机定时器,根据所述纵向虚拟化协议驱动所述模拟接入设备对应的状态机进行状态转换。
[0072] 所述状态数据定时器子模块,用于若所述定时器为所述计算状态数据定时器,根据所述被测试设备的配置对所述模拟接入设备的状态数据进行计算。
[0073] 所述报文接收模块110,还用于若所述纵向虚拟化报文为命令报文,所述报文接收模块110将所述纵向虚拟化报文发送给所述命令执行模块130。
[0074] 所述命令执行模块130,用于根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。作为一种实施方式,所述命令执行模块130包括:查找设备子模块、获取命令子模块、配置下发子模块、配置收集子模块以及运行状态数据收集子模块。
[0075] 其中,所述查找设备子模块,用于根据所述命令报文查找所述命令报文所指向的已建立的模拟接入设备。
[0076] 所述获取命令子模块,用于若找到所述命令报文所指向的已建立的模拟接入设备,从所述命令报文中获取命令,判断命令类型。
[0077] 所述配置下发子模块,用于若所述命令为配置下发命令,根据所述配置下发命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置。
[0078] 所述配置收集子模块,用于若所述命令为配置收集命令,根据所述配置收集命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置。
[0079] 所述运行状态数据收集子模块,用于若所述命令为运行状态数据收集命令,根据所述运行状态数据收集命令,对所述命令报文所指向的已建立的模拟接入设备进行对应配置。
[0080] 第四实施例
[0081] 请参照图5,图5为本发明第四实施例提供的一种纵向虚拟化测试装置200的结构框图。所述装置包括:报文接收模块210、设备模拟模块220、命令执行模块230、文件转发模块240以及文件保存模块250。
[0082] 所述设备模拟模块220,用于根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置。
[0083] 所述报文接收模块210,用于当接收到被测试设备发送给接入设备的纵向虚拟化报文时,判断所述纵向虚拟化报文的类型。
[0084] 所述报文接收模块210,还用于若所述纵向虚拟化报文为管理报文,将所述纵向虚拟化报文发送给所述设备模拟模块220。
[0085] 所述设备模拟模块220,还用于根据所述管理报文对所述多个模拟接入设备进行工作状态管理。
[0086] 所述报文接收模块210,还用于若所述纵向虚拟化报文为命令报文,将所述纵向虚拟化报文发送给所述命令执行模块230。
[0087] 所述命令执行模块230,用于根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制。
[0088] 所述报文接收模块210,还用于若所述纵向虚拟化报文为升级报文,将所述纵向虚拟化报文发送给所述文件转发模块240。
[0089] 所述文件转发模块240,用于根据所述升级报文查找对应的模拟接入设备。
[0090] 所述文件转发模块240,还用于根据所述升级报文,对查找到的所述模拟接入设备进行对应配置。作为一种实施方式,所述文件转发模块240包括:第一判断模块和升级开始模块,所述升级开始模块包括第一升级开始子模块以及第二升级开始子模块。
[0091] 其中,所述第一判断模块,用于当接收到所述升级报文时,判断所述升级报文的类型。
[0092] 所述升级开始模块,用于若所述升级报文为升级开始报文时,根据所述升级开始报文,对所述查找到的所述模拟接入设备进行对应配置。作为一种实施方式,所述升级开始模块包括第一升级开始子模块以及第二升级开始子模块。
[0093] 所述第一升级开始子模块,用于若所述升级报文为升级开始报文时,从所述升级开始报文中获取文件,并在所述文件的文件名上增加与所述查找到的模拟接入设备对应的标识,生成新的文件名。
[0094] 所述第二升级开始子模块,用于建立文本传输协议连接,并向文件保存模块250通过所述文本传输协议发送携带所述新的文件名的文件。
[0095] 所述文件转发模块240还包括第二判断模块和升级结束模块。所述升级结束模块,用于若所述升级报文为升级结束报文,根据所述升级结束报文,对所述查找到的所述模拟接入设备进行对应配置。作为一种实施方式,所述升级结束模块包括:第一升级结束子模块、第二升级结束子模块、第一比较模块、第二比较模块以及第三比较模块。
[0096] 所述第二判断模块,用于用于当接收到所述升级报文时,判断所述升级报文的类型。
[0097] 所述第一升级结束子模块,用于若所述升级报文为升级结束报文,关闭已建立的文本传输协议。
[0098] 所述第二升级结束子模块,用于从所述升级结束报文中获取校验和,并发送命令给所述文件保存模块250。
[0099] 所述文件保存模块250,用于根据所述命令计算所述查找到的模拟接入设备的升级文件的校验和。
[0100] 所述第一比较模块,用于获取计算的校验和,将计算的所述校验和与从所述升级结束报文中获取的所述校验和进行比较,获得比较结果。
[0101] 所述第二比较模块,用于若比较结果为计算的所述校验和与获取的所述校验和一致,则通过所述纵向虚拟化协议返回文件升级成功的结果给被测试设备。
[0102] 所述第三比较模块,用于若比较结果为计算的所述校验和与获取的所述校验和不一致,则通过所述纵向虚拟化协议返回文件升级失败的结果给被测试设备。
[0103] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0104] 综上所述,本发明实施例提供一种纵向虚拟化测试方法及装置,所述纵向虚拟化测试装置包括报文接收模块、设备模拟模块以及命令执行模块;首先所述设备模拟模块根据获取的测试配置创建多个模拟接入设备并对所述多个模拟接入设备进行配置;通过所述报文接收模块接收到被测试设备发送给接入设备的纵向虚拟化报文,从而判断出所述纵向虚拟化报文的类型,若所述纵向虚拟化报文为管理报文,则将所述纵向虚拟化报文发送给所述设备模拟模块,从而所述设备模拟模块根据所述管理报文对所述多个模拟接入设备进行工作状态管理;若所述纵向虚拟化报文为命令报文,则将所述纵向虚拟化报文发送给所述命令执行模块,从而所述命令执行模块根据所述命令报文对所述命令报文所指向的已建立的模拟接入设备进行控制;这样使得测试时不再需要大量的硬件测试设备,只需要创建虚拟的模拟接入设备,将该虚拟的模拟接入设备设置在所述测试设备上就可以对被测试设备实现测试了,从而降低了硬件测试成本。
[0105] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0106] 另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0107] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0108] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0109] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
[0110] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。