一种大量设备的软件仿真方法

文档序号:6551564阅读:347来源:国知局
专利名称:一种大量设备的软件仿真方法
技术领域
本发明涉及一种在一台计算机上对大量设备进行软件仿真的方法,特别涉及对大量传输设备的仿真方法。
背景技术
随着通讯技术的发展,光同步数字体系(SDH)以及密集波分复用设备(DWDM)得到越来越广泛的应用。作为光网络中重要组成部分之一的传输设备,其性能直接决定了网络运行的稳定性和质量,而传送网网管的管理能力则对整个网络的运行和维护担负着非常重要的作用,网管性能和质量的最后保证通常依赖于测试的质量,充分完备的测试可以发现潜在的故障,以及评估软件或设备的性能。
由于受实验室条件的限制,测试人员无法构建像工程现场那样由数百乃至上千个传输设备组成的真实网络环境来进行测试。以至于产品测试完毕应用到工程现场前,仍然难以准确评估网管的设备管理能力、通讯链路维护能力、以及网管在管理大量设备时的性能和稳定性。
对设备进行软件仿真,是解决上述网管测试问题的主要途径。目前设备的软件仿真方法大致有三种第一种方法是用一个仿真软件模拟一个设备,与网管进行连接,对网管进行测试。采用这种方法,如果要模拟大量的设备,就需要在一台计算机中同时启动大量的仿真软件,或者利用大量的计算机,每一台计算机运行一个或多个仿真软件。但不论采取何种方式,对计算机资源的消耗都非常大,实际上无法达到仿真成百上千个设备的目的。第二种方法是对网管系统本身进行改造,在网管系统内部实现大量设备的模拟,开发人员可将该仿真设备替代真实设备对网管系统的部分功能进行调试。但对于测试人员来说,该仿真设备是网管系统功能的一部分,不能将该仿真设备替代真实设备用于网管系统的正常功能测试和性能等方面的测试,对测试人员的测试工作帮助不大。第三种方法是利用软件截取真实设备与网管系统的通讯数据包,然后通过修改数据包中的一些关键特性参数,向网管中的不同设备发送修改后的数据包,达到模拟大量设备的目的。这种方法一定程度上解决了网管管理大量设备的测试问题,在实质上与第二种方法类似。

发明内容
本发明的目的是为了解决实验室环境中受测试设备限制无法对网管性能、稳定性、通讯能力和管理能力进行有效测试的问题,提出一种新的大量设备的软件仿真方法。该方法可以实现在一台计算机上构建大量的仿真设备,每个仿真设备使用本计算机中一个不同的真实有效的IP地址,可与网管系统建立一条等效于真实设备的通讯连接,具有独立的数据收发通道。该软件仿真方法独立于网管系统,无须对网管系统本身进行任何修改。采用该方法,可以在不占用额外计算机资源的情况下,独立仿真成百上千个仿真设备,为网管系统测试提供等效于工程现场大量设备的运行环境,为测试人员进行网管系统的性能、稳定性、通讯能力和管理能力的测试提供直接有效的测试手段。
本发明所述的在一台计算机上对大量设备进行软件仿真的方法包括以下步骤第一步、提取出描述设备所需要的基本要素,根据基本要素生成所有仿真设备的具体描述信息;所述基本要素至少包括设备的IP地址和子网掩码两项信息;第二步、启动设备仿真软件,进行仿真初始化;获取所有待仿真设备的具体描述信息;分别创建仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块;第三步、分别启动设备仿真软件中的仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块;上述各公共模块的创建和启动相互独立,无特定的顺序。
第四步、建立所有仿真设备与网管系统的通讯连接,创建并启动每个仿真设备的数据接收子模块;进入设备仿真状态,接收和处理所有仿真设备数据。
上述方法的第一步中,所述具体描述信息既可以保存到文件中,也可以存储到数据库中。
上述方法的第二步中,设备仿真软件获取所有待仿真设备的具体描述信息后,建立仿真设备具体描述信息索引表。
上述方法的第二步中进一步包括以下步骤将所有选定的仿真设备的IP地址和子网掩码添加到运行设备仿真软件的计算机中;或本步骤在第一步中生成仿真设备具体描述信息后,采用手工方式逐个添加完成。
上述方法的第二步、三步中,仿真设备数据发送公共模块独立存在,或将其功能合成在仿真设备数据处理公共模块中。
在上述方法的第四步中,其具体操作步骤如下1、仿真设备通讯处理公共模块侦听来自网管系统的连接请求。
2、从连接套接字信息中提取仿真设备的IP地址。
3、根据提取的IP地址从仿真设备具体描述信息索引表中获取对应的仿真设备的具体描述信息。
4、对连接的有效性和合法性进行判断。
5、对合法有效的网管连接请求予以接收,并将通讯连接套接字描述符添加到对应的仿真设备具体描述信息中。
6、对合法有效的网管连接请求予以接收后,创建并启动该仿真设备数据接收子模块。
7、重复第1步至第6步,完成所有仿真设备的通讯连接,以及每个仿真设备数据接收子模块的创建和启动。
仿真设备通讯处理公共模块、各仿真设备数据接收子模块、仿真设备数据处理公共模块、仿真设备数据发送公共模块具有并发执行的特点,第1步至第6步在循环执行的过程中,仿真设备数据处理公共模块、各仿真设备数据接收子模块、仿真设备数据发送公共模块同样处于循环执行中,不影响后续第8、9步骤的执行。
8、仿真设备数据处理公共模块循环获取各仿真设备数据接收子模块接收到的仿真设备数据,进行处理。
9、仿真设备数据发送公共模块循环获取待发送给网管的仿真设备数据。该模块获取待发送数据包中的仿真设备通讯连接套接字描述符,将数据发送给网管系统。
采用本发明提供的在计算机上对大量设备进行软件仿真的方法,克服了试图利用大量计算机分别模拟单个设备来实现大量设备仿真所面临的资源消耗问题,同时也不需要对网管系统作任何改动。本发明提供的方法中,每一个仿真设备与网管系统存在着与真实设备等效的通讯连接,具有独立的数据收发通道,实现了真正意义上的大量设备的仿真,为网管系统的测试提供了一种等效于工程现场大量设备的运行环境,为测试人员进行网管系统的性能、稳定性、通讯能力和管理能力的测试提供了直接有效的测试手段。


图1是设备管理系统与设备仿真软件运行在同一台计算机中的示意图;图2是设备管理系统与设备仿真软件分别运行在不同计算机中的示意图;图3是设备管理系统与设备仿真软件分别运行在不同计算机中的又一示意图;图4是大量设备软件仿真原理示意图;图5是本发明的一种具体实施方式
,即大量SDH设备的软件仿真流程示意图。
具体实施例方式
下面将参照附图并结合一个具体实施例进行详细说明,以便对本发明的目的、技术方案及优点有更深入的理解。
图1给出了设备管理系统与设备仿真软件运行在同一台计算机中的示意图。在这种模式下,所有待仿真设备的IP地址和子网掩码均添加到本机中,设备管理系统可以将这些仿真设备根据IP地址范围划分为不同的子网进行管理。
图2给出了设备管理系统与设备仿真软件分别运行在不同计算机中的示意图。在这种模式下,所有待仿真设备的IP地址和子网掩码进行分组,分别添加到运行仿真软件的计算机(即计算机2)中,设备管理系统可以将这些仿真设备根据IP地址范围划分为不同的子网进行管理。
图3给出了设备管理系统与设备仿真软件分别运行在不同计算机中的又一示意图。与图2不同的是在这种模式下,仿真软件运行于多台计算机中,每台计算机仿真若干个设备。所有待仿真设备的IP地址和子网掩码分成若干组,分别添加到相应的计算机(即计算机2至计算机M)中。
图4给出了大量设备软件仿真原理示意图。包括仿真设备通讯处理、仿真设备数据处理、仿真设备数据发送等公共模块以及各仿真设备数据接收子模块。其中仿真设备通讯处理模块负责侦听网管系统的连接请求,一旦侦听到网管系统的连接,首先判断连接的合法性和有效性,如果连接合法有效,则创建并启动相应的仿真设备数据接收子模块。仿真设备数据接收子模块接收到数据后,将数据提交给仿真设备数据处理公共模块,仿真设备数据处理公共模块进行处理后,根据数据类别将处理后的数据提交给仿真设备数据发送公共模块或非通讯层处理。仿真设备数据发送公共模块将数据发送给网管系统,如此循环,完成设备的软件仿真。每接收到一个合法有效的连接,便启动一个仿真设备数据接收子模块,有多少个仿真设备,便启动多少个仿真设备数据接收子模块,从而实现大量设备仿真的目的。
图5给出了一种具体实施方式
,即大量SDH设备的软件仿真流程示意图。其具体实施步骤说明如下第一步、提取出描述设备所需要的基本要素,根据基本要素生成所有仿真设备的具体描述信息;设备基本要素至少包括设备的IP地址和子网掩码两项信息。
步骤301,提取出描述设备所需要的基本要素。
描述SDH设备所需的基本要素是设备仿真软件和网管系统唯一正确标识一个SDH设备必不可少的信息。本实施例中,描述SDH设备的基本要素包括设备标识ID、设备类型、设备IP地址和子网掩码。
步骤302,根据基本要素生成所有仿真设备的具体描述信息。
待仿真SDH设备的数量可以少至一个,多至成百上千个,每一个待仿真设备对应一组具体描述信息,具体描述信息由设备基本要素具体化而得到。具体描述信息既可以保存到文件中,也可以存储到数据库中。
本实施例中,待仿真SDH设备的具体描述信息保存到一个Excel文件中,Excel表中的字段对应仿真设备的基本要素设备标识ID、设备类型、设备IP地址、子网掩码,表中每一行代表一个仿真设备的具体描述信息。
仿真SDH设备标识ID作为SDH网管系统正确区分每个设备的要素之一,可以是数字,也可能是特定的编码,可以独立使用,也可能与IP地址等信息一起描述一个设备。在一个网管系统所管理的所有设备中,仿真SDH设备具有全网唯一标识。
每个仿真SDH设备作为与网管系统通讯的实体,具有唯一的IP地址和子网掩码。
设备类型用于区分不同类型的设备。
所有仿真SDH设备的具体描述信息可以通过直接编辑Excel文件得到,也可以从网管系统的配置数据中直接导出。本实施例中,采用从网管系统中直接导出报表方式获取所有仿真SDH设备的具体描述信息。
第二步、启动设备仿真软件,进行仿真初始化;获取所有待仿真设备的具体描述信息;分别创建仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块。
步骤303,启动设备仿真软件,进行仿真初始化。
在用于仿真测试的计算机上,启动设备仿真软件,进入仿真初始化状态。
步骤304,设备仿真软件获取所有待仿真设备的具体描述信息,建立仿真设备具体描述信息索引表。
本实施例中,仿真SDH设备具体描述信息索引表为哈希表,以设备IP地址为索引,表中的每个节点中存储了与IP地址相对应的仿真SDH设备具体描述信息,以及在仿真SDH设备数据处理的整个过程中需要保存或传递的一些关键特性数据,如每个仿真SDH设备的通讯连接套接字描述符等。通过仿真设备的IP地址可以在具体描述信息索引表中快速查找到对应的仿真SDH设备具体描述信息和关键特性数据。
步骤305,分别创建仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块。
其中,仿真设备数据发送公共模块可以独立存在,也可以将其功能合成在仿真设备数据处理公共模块中;各模块的创建相互独立,无特定的创建顺序。
本实施例中,仿真设备数据发送公共模块作为独立模块存在。
步骤306,将所有选定的仿真设备的IP地址和子网掩码添加到运行设备仿真软件的计算机中。
在运行设备仿真软件的计算机上,选择合适的网络适配器,用于添加仿真SDH设备的IP地址和子网掩码。如果需要在没有配置物理网卡或没有接入物理网络的计算机上进行设备仿真,则可以先安装虚拟网络适配器或环回适配器,然后将仿真设备的IP地址和子网掩码添加到虚拟网络适配器或环回适配器中。
仿真设备的IP地址和子网掩码可以添加到同一台计算机中的一个或多个网络适配器中,既可以手工添加,也可以采用软件自动批量添加。
第三步、分别启动设备仿真软件中的仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块。
步骤307,启动设备仿真软件中的仿真设备通讯处理公共模块。
步骤308,启动设备仿真软件中的仿真设备数据处理公共模块。
步骤309,启动仿真设备数据发送公共模块。
步骤307、308、309在实现中,没有启动顺序要求。本实施例中,按照步骤307、308、309的顺序进行启动。
第四步、建立所有仿真设备与网管系统的通讯连接,创建并启动每个仿真设备的数据接收子模块;进入设备仿真状态,接收和处理所有仿真设备数据。
步骤310,仿真设备通讯处理公共模块侦听来自网管系统的连接请求。
该模块负责侦听所有来自网管系统的连接。
步骤311,从连接套接字信息中提取仿真设备的IP地址。
仿真设备通讯处理公共模块每接收到一个连接请求后,首先从连接套接字信息中提取出待连接的IP地址,即仿真SDH设备的IP地址。
步骤312,根据提取的IP地址从仿真设备具体描述信息索引表中获取对应的设备具体描述信息。
仿真设备通讯处理公共模块在获取IP地址后,根据IP地址在仿真SDH设备具体描述信息索引表中找到对应的具体描述信息。
步骤313,对连接的有效性和合法性进行判断。对无效或非法的连接将直接抛弃掉。
仿真设备通讯处理公共模块在完成仿真SDH设备具体描述信息的提取后,对连接的合法性和有效性进行判断。
在本实施例中,主要判断该仿真SDH设备的具体描述信息是否存在、是否允许接入、连接是否已经存在等等。
步骤314,对合法有效的网管连接请求予以接收,并将通讯连接套接字描述符添加到对应的仿真设备具体描述信息中。
对合法有效的连接,仿真设备通讯处理公共模块接收该连接请求,将该连接设备的通讯连接套接字描述符作为仿真SDH设备具体描述信息之一,保存到仿真SDH设备具体信息索引表中对应的具体描述信息节点中。
步骤315,对合法有效的网管连接请求予以接收后,创建并启动该仿真设备数据接收子模块。
仿真设备通讯处理公共模块在接收一个有效的连接请求后,随即创建并启动该仿真SDH设备的数据接收子模块。一个仿真SDH设备对应一个数据接收子模块,接收到多少个有效连接便创建并启动多少个仿真SDH设备数据接收子模块。
步骤316,重复第310步至第315步,完成所有仿真设备的通讯连接,以及每个仿真设备数据接收子模块的创建和启动。
仿真设备通讯处理公共模块、各仿真设备数据接收子模块、仿真设备数据处理公共模块、仿真设备数据发送公共模块具有并发执行的特点,第310步至第315步在循环执行的过程中,不影响后续各步骤的执行,仿真设备数据处理公共模块、各仿真设备数据接收子模块、仿真设备数据发送公共模块同样处于循环执行中。
步骤317,仿真设备数据处理公共模块循环获取各仿真设备数据接收子模块接收到的仿真设备数据,进行处理。
仿真设备数据处理公共模块在获取到数据后,首先提取仿真SDH设备的IP地址,根据IP地址在仿真SDH设备具体描述信息索引表中查找到设备的具体描述信息。然后对数据进行其他处理。对于需要应答的数据,根据仿真SDH设备具体描述信息和接收到的数据,构造应答报文,提交给仿真设备数据发送公共模块。对于需要提交给应用层处理的数据,则将接收的数据和仿真SDH设备具体信息一并提交给应用层相关模块。
步骤318,仿真设备数据发送公共模块循环获取待发送给网管的仿真设备数据。该模块获取待发送数据包中的仿真设备通讯连接套接字描述符,将数据发送给网管系统。
该模块获取待发送给网管的仿真SDH设备数据后,首先提取仿真设备的IP地址,然后根据IP地址在仿真SDH设备具体描述信息索引表中查找到具体描述信息,再根据具体描述信息中的通讯连接套接字描述符,将数据发送给网管系统。
仿真设备数据发送公共模块负责所有仿真设备的数据发送,在本实施例中,作为一个独立模块存在。
权利要求
1.一种大量设备的软件仿真方法,其特征在于,包括以下步骤第一步、提取出描述设备所需要的基本要素,根据基本要素生成所有仿真设备的具体描述信息;所述基本要素至少包括设备的IP地址和子网掩码两项信息;第二步、启动设备仿真软件,进行仿真初始化;获取所有待仿真设备的具体描述信息;分别创建仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块;第三步、分别启动设备仿真软件中的仿真设备通讯处理公共模块、仿真设备数据处理公共模块和仿真设备数据发送公共模块;第四步、建立所有仿真设备与网管系统的通讯连接,创建并启动每个仿真设备的数据接收子模块;进入设备仿真状态,接收和处理所有仿真设备数据。
2.根据权利要求1所述的大量设备的软件仿真方法,其特征在于,所述方法的第一步中,所述具体描述信息保存到文件中或存储到数据库中。
3.根据权利要求1所述的大量设备的软件仿真方法,其特征在于,所述方法的第二步中,设备仿真软件获取所有待仿真设备的具体描述信息后,建立仿真设备具体描述信息索引表。
4.根据权利要求1所述的大量设备的软件仿真方法,其特征在于,所述方法的第二步中进一步包括以下步骤将所有选定的仿真设备的'地址和子网掩码添加到运行设备仿真软件的计算机中;或本步骤在第一步中生成仿真设备具体描述信息后,采用手工方式逐个添加完成。
5.根据权利要求1所述的大量设备的软件仿真方法,其特征在于,所述方法的第二、三步中,仿真设备数据发送公共模块独立存在,或将其功能合成在仿真设备数据处理公共模块中。
6.根据权利要求1所述的大量设备的软件仿真方法,其特征在于,所述方法的第四步中,其具体操作步骤如下1)、仿真设备通讯处理公共模块侦听来自网管系统的连接请求;2)、从连接套接字信息中提取仿真设备的IP地址;3)、根据提取的IP地址从仿真设备具体描述信息索引表中获取对应的仿真设备的具体描述信息;4)、连接的有效性和合法性进行判断;5)、合法有效的网管连接请求予以接收,并将通讯连接套接字描述符添加到对应的仿真设备具体描述信息中;6)、对合法有效的网管连接请求予以接收后,创建并启动该仿真设备数据接收子模块;7)、重复第1步至第6步,完成所有仿真设备的通讯连接,以及每个仿真设备数据接收子模块的创建和启动;8)、仿真设备数据处理公共模块循环获取各仿真设备数据接收子模块接收到的仿真设备数据,进行处理;9)、仿真设备数据发送公共模块循环获取待发送给网管的仿真设备数据;该模块获取待发送数据包中的仿真设备通讯连接套接字描述符,将数据发送给网管系统。
7.根据权利要求1至6任一权利要求所述的大量设备的软件仿真方法,其特征在于,设备管理系统与设备仿真软件运行在同一台计算机中,所有待仿真设备的IP地址和子网掩码均添加到本机中,设备管理系统可以将这些仿真设备根据IP地址范围划分为不同的子网进行管理。
8.根据权利要求1至6任一权利要求所述的大量设备的软件仿真方法,其特征在于,设备管理系统与设备仿真软件分别运行在不同计算机中,所有待仿真设备的IP地址和子网掩码进行分组,分别添加到运行仿真软件的计算机中,设备管理系统将这些仿真设备根据IP地址范围划分为不同的子网进行管理。
9.根据权利要求1至6任一权利要求所述的大量设备的软件仿真方法,其特征在于,设备管理系统与设备仿真软件分别运行在不同计算机中,仿真软件运行于多台计算机中,每台计算机仿真若干个设备;所有待仿真设备的IP地址和子网掩码分成若干组,分别添加到相应的计算机中,设备管理系统将这些仿真设备根据IP地址范围划分为不同的子网进行管理。
10.根据权利要求1至6任一权利要求所述的大量设备的软件仿真方法,其特征在于,仿真设备的IP地址和子网掩码添加到同一台计算机中的一个或多个网络适配器中,手工添加,或采用软件自动批量添加。
全文摘要
本发明公开了一种大量设备的软件仿真方法,包括以下步骤1.提取出描述设备所需要的基本要素,生成所有仿真设备的具体描述信息;2.启动设备仿真软件,进行仿真初始化;获取所有待仿真设备的具体描述信息;分别创建仿真设备的通讯处理、数据处理和数据发送三个公共模块;3.分别启动设备仿真软件中的仿真设备通讯处理、数据处理和数据发送三个公共模块;4.建立所有仿真设备与网管系统的通讯连接,创建并启动每个仿真设备的数据接收子模块;进入设备仿真状态,接收和处理所有仿真设备数据。本发明中,每个仿真设备与网管系统存在着与真实设备等效的通讯连接,具有独立的数据收发通道,实现了真正意义上的大量设备的仿真。
文档编号G06F9/445GK1870542SQ20051007102
公开日2006年11月29日 申请日期2005年5月23日 优先权日2005年5月23日
发明者程兵旺, 何庭宗 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1