System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于JSON数据格式的MQTT协议仿真测试工具及方法技术_技高网

一种基于JSON数据格式的MQTT协议仿真测试工具及方法技术

技术编号:40018222 阅读:7 留言:0更新日期:2024-01-16 16:20
一种基于JSON数据格式的MQTT协议仿真测试工具及方法,其中MQTT协议仿真测试工具设置有角色仿真模块;配电应用文件配置模块;协议测试业务模块和ISO/IEC 20922测试案例库。本发明专利技术可应用于不同场景的基于JSON数据格式的配电物联网设备MQTT协议一致性检验,通过配电应用文件配置模块进行配置文件定义,弥补了现有MQTT协议测试工具在适配不同配电应用信息模型方面的不足,降低了测试工具开发和维护的工作量,标准化的测试案例库和配置文件提高了MQTT协议测试的全面性、灵活性、准确性和自动化程度。

【技术实现步骤摘要】

本专利技术涉及仿真测试,特别涉及一种基于json数据格式的mqtt协议仿真测试工具及方法。


技术介绍

1、随着物联网技术在配电网中的应用和发展,按“云”、“边”、“端”角色划分的物联网架构体系(如图1)实现了配电网设备的全面感知、监测和管理,为能源互联网快速发展提供了支撑和保障。一种典型的配电物联网通信架构,使用了mqtt(message queuingtelemetry transport,消息队列遥测传输协议)实现物联网边设备与云主站之间的“边云”通信交互,通过mqtt协议的发布/订阅机制来完成业务消息的传输。其中mqtt传输的消息分为:主题(topic)和负载(payload)两部分:(1)topic,可以理解为消息的类型,订阅者订阅(subscribe)后,就会收到该主题的消息内容(payload);(2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。mqtt协议本身并不规定应用主题的定义和主题消息的负载内容,是一种与负载内容无关的传输协议,这种机制可以实现与上层应用的解耦,因此采用mqtt协议的配电物联网“边云”交互应用研究的重点不在于协议规则本身,而在于如何结合应用场景和业务逻辑,定义与之对应的消息类型和传输的内容。在配电物联网应用中,消息类型的定义对应为topic主题的定义,消息内容的定义对应为payload负载的定义。主题格式为使用“/”分割的、有不同层级结构的字符串,如一种格式为:/主题版本/终端或直连设备id/消息执行类别/消息动作,/{v1}/{edgeid}/{topic type}/{topic command};payload多采用json文本格式,json是javascript object notation的简称,中文含义为“javascript对象表示法”。主题字符串一致性以及json格式消息负载的语法正确性、内容完整性、数据有效性将影响云平台主站应用和边设备之间通信的正确交互。

2、为了规范不同物联网边设备之间的互操作,国内配电物联网标准化组织以iso/iec 20922为基础,起草了多个针对配电物联网业务场景的mqtt协议应用规范,定义了标准化的主题和负载内容,同时加强了mqtt协议的检测,以保证产品与规范的一致性。除了iso/iec 20922标准规定的mqtt控制报文类型、协议规则和传输机制等一致性内容之外,配电应用过程、消息主题一致性和json格式的消息内容一致性的检测就成为了配电物联网mqtt协议测试的重点。mqtt协议一致性测试,有助于提高配电网边设备通信标准化程度,促进不同厂商之间的互操作,保证配电网云边设备通信的稳定和可靠性,针对mqtt协议一致性的测试必不可少。

3、目前,mqtt协议测试工具多为满足iso/iec 20922标准规定的客户端和服务端模拟器,仅仿真控制报文格式、报文类型、传输规则(发布订阅机制),对配电物联网应用交互过程、消息类型以及消息内容无法做到完全和自动检查,且无法灵活适配不同的应用,具体因为配电物联网应用的多样性,不同的场景下的终端和平台交互的主题和内容是不同的。以至于现有配电物联网应用的mqtt协议测试工具普遍需要结合应用场景做定制化开发,增加了开发人员的工作量,工具种类多又不方便测试人员管理和维护。

4、现有的mqtt协议仿真工具最多完成3类简单检查项目(如图2)控制报文格式检查,检查mqtt控制报文语法格式与iso/iec 20922标准定义的一致性;2)控制报文类型检查,检查mqtt客户端、服务端支持的控制报文类型与iso/iec 20922标准定义的一致性;3)发布订阅机制检查,检查mqtt客户端和服务端的发布订阅逻辑、报文传输规则与iso/iec 20922标准定义的一致性。现有模型mqtt协议测试工具的设计和工作原理:1)基于被测对象的角色,仿真客户端或服务端;2)设计满足iso/iec 20922mqtt协议标准的报文类型和基础传输规则;3)结合应用规范定义业务交互过程、主题消息和数据结构,内置应用层消息的发送和接收逻辑;4)建立与被测对象的通信连接,根据内置交互逻辑,判断被测对象通信行为是否满足预期。现有mqtt协议仿真测试工具有以下弊端:1)测试对象单一,只能测试客户端或服务端的单一角色,不能兼容2个角色的测试;2)测试内容不完整,不能覆盖iso/iec 20922mqtt协议标准的报文类型和传输规则的测试和协议应用规范的业务逻辑和数据模型测试;3)自动化程度低,未包含有效的测试案例集合,测试过程需要测试人员深度参与,结合iso/iec20922标准要求分析过程报文进行判断,对测试人员专业性要求较高:4)适配不够灵活,内置的主题消息、数据结构、应用层消息的发送和接收逻辑决定了现有工具只能测试某一固定的协议应用规范业务逻辑,不能灵活适配不同的协议应用规范。

5、因此,针对现有技术不足,提供一种基于json数据格式的mqtt协议仿真测试工具及方法以解决现有技术不足甚为必要。


技术实现思路

1、本专利技术的其中目的在于避免现有技术的不足之处而提供一种基于json数据格式的mqtt协议仿真测试工具。该基于json数据格式的mqtt协议仿真测试工具能够适配不同配电应用信息模型,同时降低测试工具开发和维护工作量。

2、本专利技术的上述目的通过以下技术措施实现:

3、提供一种基于json数据格式的mqtt协议仿真测试工具,设置有:

4、iso/iec 20922测试案例库——符合标准强制要求项的测试案例集合;

5、角色仿真模块——用于仿真不同的角色,所述角色的类型有客户端和服务端;

6、配电应用文件配置模块——根据协议应用规范、通信参与方发送消息的主题定义、负载数据结构以及业务数据流设计配置文件,所述配置文件的内容有参与通信的角色、各角色发布和订阅的主题、业务消息序列以及各业务消息负载的数据模型;

7、协议测试业务模块——通过加载所述配置文件确定被测对象的角色,然后根据被测对象的角色在所述iso/iec 20922测试案例库进行匹配,得到被测对象的角色对应的测试案例,再根据所述配置文件得到测试项目,最后自动执行测试项目和测试案例,并得到测试判断结果。

8、优选的,上述协议测试业务模块通过加载所述配置文件确定配电应用测试项、仿真角色的类型、仿真主题、负载格式和测试项目队列,然后根据测试项目中的主题对应关系判断被测对象通信行为是否正确。

9、优选的,上述协议测试业务模块根据所述配置文件中的testsequence加载配电协议应用规范的测试项目。

10、在所述iso/iec 20922测试案例库中,客户端和服务端分别具有对应适用的测试案例插件。

11、优选的,上述测试案例插件的识别方法是通过在测试案例插件中添加对客户端和服务端对应的适用标识进行识别

12、优选的,上述配置文件为xml语法格式的配置文件。

13、优选的,上述配置文件由一个本文档来自技高网...

【技术保护点】

1.一种基于JSON数据格式的MQTT协议仿真测试工具,其特征在于,设置有:

2.根据权利要求1所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:所述协议测试业务模块通过加载所述配置文件确定配电应用测试项、仿真角色的类型、仿真主题、负载格式和测试项目队列,然后根据测试项目中的主题对应关系判断被测对象通信行为是否正确;

3.根据权利要求2所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:在所述ISO/IEC 20922测试案例库中,客户端和服务端分别具有对应适用的测试案例插件;

4.根据权利要求1至3任意一项所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:所述配置文件为XML语法格式的配置文件;

5.根据权利要求4所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:所述配电物联网平台信息段Platform的属性还设置有配电物联网平台编码id、配电物联网平台名name、配电物联网平台描述desc;所述配电物联网平台信息段Platform由配电物联网平台的订阅主题信息段Subscribe和配电物联网平台的发布主题信息段Publish这两个第二级子元素构成;

6.根据权利要求5所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:订阅主题信息段Subscribe由主题信息段Topic这一个第三级子元素构成;

7.根据权利要求6所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:所述主题信息段Topic的属性为主题名id和主题描述desc;

8.根据权利要求1至3任意一项所述的基于JSON数据格式的MQTT协议仿真测试工具,其特征在于:当MQTT协议为发布/订阅模式时,所述角色仿真模型的角色具有三种身份:发布者、消息代理和订阅者,其中发布者和订阅者为客户端,消息代理为服务端。

9.一种基于JSON数据格式的MQTT协议仿真测试方法,其特征在于:采用如权利要求1至8任意一项所述的基于JSON数据格式的MQTT协议仿真测试工具进行。

10.根据权利要求9所述的基于JSON数据格式的MQTT协议仿真测试方法,其特征在于,通过如下步骤进行:

...

【技术特征摘要】

1.一种基于json数据格式的mqtt协议仿真测试工具,其特征在于,设置有:

2.根据权利要求1所述的基于json数据格式的mqtt协议仿真测试工具,其特征在于:所述协议测试业务模块通过加载所述配置文件确定配电应用测试项、仿真角色的类型、仿真主题、负载格式和测试项目队列,然后根据测试项目中的主题对应关系判断被测对象通信行为是否正确;

3.根据权利要求2所述的基于json数据格式的mqtt协议仿真测试工具,其特征在于:在所述iso/iec 20922测试案例库中,客户端和服务端分别具有对应适用的测试案例插件;

4.根据权利要求1至3任意一项所述的基于json数据格式的mqtt协议仿真测试工具,其特征在于:所述配置文件为xml语法格式的配置文件;

5.根据权利要求4所述的基于json数据格式的mqtt协议仿真测试工具,其特征在于:所述配电物联网平台信息段platform的属性还设置有配电物联网平台编码id、配电物联网平台名name、配电物联网平台描述desc;所述配电物联网平台信息段platform由配电物联网平台的订...

【专利技术属性】
技术研发人员:李亚萍银庆伟王伟陈光华张源应姚睿庄良文陈新美李梁郭冠生陈威立陈蒙贠湛博马航
申请(专利权)人:珠海开普检测技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1