面向5G协议的分布式测试系统的制作方法

文档序号:34548061发布日期:2023-06-27 22:09阅读:42来源:国知局
面向5G协议的分布式测试系统的制作方法

本发明涉及5g协议测试领域,具体涉及一种面向5g协议的分布式测试系统。


背景技术:

1、随着移动互联网的高速发展,越来越多的商用场景和设备依赖移动通信网络,5g作为目前最瞩目的移动通信技术,有着良好的发展前景。协议测试作为验证5g系统是否能够正式商用的关键环节,无论是5g系统研发阶段子系统之间的协议互操作性测试、协议一致性测试,亦是交付阶段的协议性能测试,不仅关乎5g服务质量,同时影响着5g 的商用进度。5g系统为了满足三大场景下的性能指标,兼容独立组网(standalone,sa)和非独立组网(non-standalone,nsa)方案,支持不同制式之间的互操作等需求,导致系统内通信协议复杂度极高,信令流程数目众多。其中在三大场景之一的海量机器类通信场景下(mmtc),更是需要对大规模、多类型的终端同时提供服务,从而5g协议性能测试将面临着并发度方面的挑战;同时由于5g系统内部架构朝着微服务化方向演进,以分布式异构系统的形式提供服务,5g协议交互测试将面临着多子系统间复杂的协议交互测试。

2、当前存在多种协议测试工具及平台,其中ttcn-3(test and test controlnotation version 3)因其平台独立性和灵活性被3gpp指定为标准测试语言。但该集中式测试架构在针对5g分布式异构系统还存在以下三点问题:(1)组件模拟程度问题。由于该ttcn-3测试框架为集中式测试架构,部署在单个测试设备上,因此在对分布式异构系统中单个组件进行协议交互测试时,需要在测试用例中定义多个测试组件通信端口,模拟出多个测试组件与被测试组件以“多对一”的方式进行协议交互,观测被测组件所有接 口的协议交互,但组件模拟程度是需要考虑的问题,如果只对组件接口层面的模拟,则难以模拟完备在真实环境下组件由于内部错误产生的异常输出。如果对组件进行功能模拟,则由于组件异构性,必然需要对组件进行ttcn-3语言代码重复开发,大大增加了测试成本。(2)测试资源拓展问题。ttcn-3集中式测试框架由于所有模拟组件部署在单一测试设备上,不能进行计算存储资源的拓展,且不能在真实的网络拓扑环境下测试,由此也无法进行有效的协议的数据吞吐量、并发度测试即协议性能测试。(3)测试控制与接口实现耦合问题。ttcn-3测试框架由于编程语言和通信机制的抽象性,测试控制与测试接口实现耦合,使得测试人员即使在熟悉业务和参数的情况下,但由于编程能力薄弱导致测试用例开发难,维护不易等问题。


技术实现思路

1、发明目的:提出一种面向5g协议的分布式测试系统,以解决现有技术存在的上述问题。

2、本发明提出的面向5g协议的分布式测试系统包括系统基础层、主控制模块(master control,mc)、附属控制模块(slave control,sc)。服务层基于集中式ttcn-3架构,在架构功能上进行拆分优化,在测试代码逻辑上同样进行拆分优化以适配分布式测试框架。相较于传统的分布式测试系统,测试控制单元不再是ttcn-3测试脚本,而是协议流程中单条信令,有利于提升测试代码复用性,测试流程可控性。

3、主控制模块包括应用层和中间层;中间层作为rpc框架客户端,负责rpc调用的构建和封装,封装至关键字所映射的函数库或对象中供应用层调用。与传统的分布式测试脚本编写相比较,将关键字驱动测试技术与rpc调用相结合,可使得测试人员只需关注测试业务逻辑的情况下,基于关键字排列组合简洁高效的开发分布式测试用例,而不会限制于编程能力和网络通信知识。

4、附属控制模块包括分布层和服务层;服务层存储被测系统接口的网络层信息并向上层提供信令调用接口,同时该层实现信令构建、编解码、发送、匹配等功能。

5、分布层作为rpc框架服务端,用于和rpc框架客户端建立连接,接受rpc请求,并根据rpc请求调用服务层相应的信令接口。

6、在进一步的实施例中,在与被测试5g系统连接时,所述主控制模块的数量根据测试并发规模拓展为单个或多个,组建为主控制组件;

7、所述附属控制模块根据被测试5g系统实际接口拓展为多类,组建为附属控制组件;每类所述附属控制模块与被测试5g系统内部接口建立连接,进行信令消息的发送和接收;

8、其中,所述附属控制组件包括用户终端控制组件,对于所述用户终端控制组件,如果当前用户终端为真实的终端设备,则所述用户终端控制组件用路测软件替代用于控制并监控用户终端的信令流程;

9、如果当前用户终端为仿真资源,则所述用户终端控制组件和用户终端之间的控制接口自定义。

10、以rpc协议规范实现的thrift框架可便捷的进行主控模块和分布模块拓展成集群,以支持大规模协议并发测试。横向节点拓展无需对现有环境进行改动,只需根据idl接口描述文件,拓展相应的控制节点、分布节点。

11、附属控制模块根据被测试5g系统实际接口拓展为多类,组建为附属控制组件;每类附属控制模块与被测试5g系统内部接口建立连接,进行信令消息的发送和接受。

12、在进一步的实施例中,应用层包括测试用例管理模块和测试日志管理模块两部分。测试用例管理模块用于对测试用例进行管理,默认为所有测试用例生成标识号,标识号由组号加序号组合而成。测试日志管理模块用于测试日志的管理与读取,测试日志以文本格式存储。其中测试用例内容为关键字的排列组合,参数配置的读写。

13、在进一步的实施例中,中间层采用多线程异步非阻塞i/o模型,以支持多测试用例的并发执行。应用层采用单个测试用例中关键字按序执行。当多用例测试执行时,每一组测试用例对应单个进程,多组测试用例则创建多进程相对应,单个进程对该组中所有测试用例关键字的并行执行,当关键字调用结果返回时,应用层根据测试用例标号识别到测试用例,并执行该用例的下一关键字调用,由此达到多测试用例并发,单测试用例的关键字顺序执行效果。因此在设计rpc接口时需要添加测试用例标号入参,并随rpc调用结果返回至应用层。每一组测试用例数目可根据rpc调用网络时延,客户端、服务端处理性能相应设定,以充分利用测试资源。

14、传统的测试系统为单线程,多个测试用例串行执行。因此无法很好的利用测试资源,也无法支持大规模并发测试和分布式测试。本设计既支持大规模并发测试,高效的利用测试资源,又保证在分布部署的环境下单个测试用例中关键字所调用的信令按序执行。

15、在进一步的实施例中,所述服务层采用多线程阻塞i/o模型,考虑到本框架应用于大规模并发测试,服务端将基于多线程模型实现。服务端主进程阻塞式的监听客户端连接,每当客户端进行连接,都从线程池中分配一个线程用以具体业务请求处理,当并发达到线程最大值,可进行sc节点拓展。

16、在进一步的实施例中,rpc框架客户端为集中控制模块,rpc框架客户端基于关键字驱动技术开发测试用例,并将rpc调用封装至关键字映射的库函数中,以文本格式对关键字进行排列即完成对底层不同组件信令的构建和流程的监督逻辑的控制,将底层编码、通信细节封装,使得测试人员易使用。

17、在进一步的实施例中,中间层包括rpc客户端模块和节点管理模块两部分。其中rpc客户端(rpc client)模块是thrift框架中客户端,采用多线程异步非阻塞i/o设计,以支持多测试用例的并发执行。该模块还需根据idl文件生成客户端接口代码。节点管理模块(node management)中维护所有sc组件节点网络信息,由于所有组件均节点化,原组件管理模块(component management)则由节点管理模块替代,且模块在原有的功能基础上需要考虑在大规模并发测试下怎样维护sc节点负载均衡,避免节点过载影响测试。

18、在进一步的实施例中,客户端与服务端建立连接后所执行的均为信令相关事务,不同线程在预定某时刻下的资源消耗趋于一致,因此采用基于客户端rpc连接数的负载均衡算法:节点管理模块中记录第i个附属控制组件的节点最大可连接线程数记作,同时统计第i个附属控制组件的节点上当前时刻存在的连接数记作;对连接数进行归一化记作,再与附属控制集群中l值比较,选取最小l值的附属控制组件进行任务调度,不同附属控制组件的节点值根据节点计算资源设定。

19、在进一步的实施例中,分布式测试系统与5g系统连接时,构建得到协议栈控制面;协议栈控制面包括:

20、位于协议栈最底层的物理层,物理层作为数据传输的物理媒介;

21、位于协议栈中间的接入层,接入层包括介质访问控制层、无线链路控制层、分组数据汇聚协议层;

22、位于协议栈最上部的网络层,网络层的协议信令在5g系统内部各网元接口中传输。

23、本发明具有如下有益效果:

24、1、通过中间层、应用层和分布层机制的配合。采用异步非阻塞模型(应用层),服务端则采用同步阻塞模型(分布层),使得框架在支持测试用例高并发的同时也能确保测试序列的按序执行。解决控制的多个点间时序问题。

25、2、客户端基于关键字驱动技术开发测试用例,并提出将关键字映射至测试接口的rpc调用(应用层),由此测试人员只需在图形化界面对关键字进行排列组合,参数填充即可完成测试用例开发、维护,提升框架易用性。

26、3、在服务端设计测试控制消息和监督消息,服务端为分布模块且面向5g系统内组件接口分布部署,并根据接口协议在服务端设计测试控制消息和监督消息。从而可在真实环境下进行协议测试,并能够有效控制多组件测试流程和对输入输出进行观测。

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