一种模拟海量设备的实现方法技术

技术编号:34389038 阅读:13 留言:0更新日期:2022-08-03 21:15
本发明专利技术公开了一种模拟海量设备的实现方法,包括如下步骤:步骤一,读取运行参数/配置文件;步骤二,根据步骤一中读取的配置文件创建抽象设备;步骤三,对步骤二中所创建的抽象设备进行认证,认证未通过则直接结束,认证通过则线程绑定设备,根据配置定时触发数据上报。本发明专利技术的模拟海量设备的实现方法,通过上述三个步骤的设置,便可有效的创建出抽象设备,然后通过抽象设备实现压力测试。然后通过抽象设备实现压力测试。然后通过抽象设备实现压力测试。

【技术实现步骤摘要】
一种模拟海量设备的实现方法


[0001]本专利技术涉及一种模拟设备方法,更具体的说是涉及一种模拟海量设备的实现方法。

技术介绍

[0002]设备接入平台需要对其承载能力进行极限测试,因此在测试的过程中需要接入海量的设备来进行测试,然而实际的测试过程中,并不能够具有海量设备,因而采用实际设备的方式很难达到想要的测试效果,或是测试成本十分的巨大,因而现有技术中多采用软件模拟的方式来实现测试。
[0003]现有技术中的软件模拟方式主要是jmeter,jmeter是apache组织基于java开发的压力测试工具,用于对软件做压力测试。jmeter仅内置了http的压力测试方式,其他通信方式需要通过插件的方式集成,在模拟量较大的情况下,一个连接句柄对应一个线程,设备连接会不稳定,出现频繁掉线的情况。

技术实现思路

[0004]针对现有技术存在的不足,本专利技术的目的在于提供一种能够承受较大模拟量,且连接更为稳定的模拟海量设备的实现方法。
[0005]为实现上述目的,本专利技术提供了如下技术方案:一种模拟海量设备的实现方法,包括如下步骤:
[0006]步骤一,读取运行参数/配置文件;
[0007]步骤二,根据步骤一中读取的配置文件创建抽象设备;
[0008]步骤三,对步骤二中所创建的抽象设备进行认证,认证未通过则直接结束,认证通过则线程绑定设备,根据配置定时触发数据上报。
[0009]作为本专利技术的进一步改进,所述步骤二中创建抽象设备的具体步骤如下:
[0010]步骤二一,根据配置文件解析出的设备属性和事件的上报方式;
[0011]步骤二二,根据步骤二一中获得的设备属性统一写入属性和命令控制处理的规则;
[0012]步骤二三,对步骤二二中写入的规则进行拓展,内置随机数函数、累加循环函数和回声函数;
[0013]步骤二四,确定抽象设备的通信类型,根据通信类型确定设备响应回平台的抽象方法同时确定停止设备工作的抽象方法。
[0014]作为本专利技术的进一步改进,所述步骤二四中的通信类型包括http设备、tcp设备、mqtt设备和coap设备,所述设备响应回平台的抽象方法具体为:http设备根据协议组装请求头与请求体、tcp设备和mqtt设备对报文进行编码组装、coap设备通过udp协议发送;
[0015]所述停止设备工作的抽象方法具体为:
[0016]Tcp设备和mqtt设备断开tcp连接并释放本地句柄资源,http设备和coap设备不做
任何操作。
[0017]作为本专利技术的进一步改进,所述步骤三中定时触发数据上报的具体步骤如下:步骤三一,判断定时任务是否已经触发,若任务已经触发则继续下一步,若任务未触发则CPU拒绝任务后结束;
[0018]步骤三二,判断可用线程数是否小于CPU核心数,若小于CPU核心数,则选择可用线程执行任务后结束,若不小于CPU核心数,则继续下一步;
[0019]步骤三三,判断可用线程的任务队列是否已满,若任务队列未满,则添加任务到阻塞队列等待可用线程执行后结束,若任务队列已满则继续下一步;
[0020]步骤三四,判断可用线程数是否小于2倍CPU核心数,若可用线程数小于2倍CPU核心数,则创建线程并执行任务后结束,若可用线程数不小于2倍CPU核心数,则CPU拒绝任务后结束。
[0021]本专利技术的有益效果,通过步骤一和步骤二的设置,便可有效的根据参数/配置文件创建出抽象设备,然后通过步骤三的设置,对创建的抽象设备进行认证,并且在认证通过以后确认为模拟设备,然后利用其内的配置定时触发数据上报,如此很好的模拟了真实设备在网络通信中的交互情况,不需要去模拟设备本身的运行逻辑,因此大大的减少了对于CPU线程资源的占用,连接更为稳定。
附图说明
[0022]图1为本专利技术的方法的流程图;
[0023]图2为线程绑定设备示意图;
[0024]图3为定时触发数据上报的流程图。
具体实施方式
[0025]下面将结合附图所给出的实施例对本专利技术做进一步的详述。
[0026]参照图1至3所示,本实施例的一种模拟海量设备的实现方法,包括如下步骤:
[0027]步骤一,读取运行参数/配置文件;
[0028]步骤二,根据步骤一中读取的配置文件创建抽象设备;
[0029]步骤三,对步骤二中所创建的抽象设备进行认证,认证未通过则直接结束,认证通过则线程绑定设备,根据配置定时触发数据上报,在使用本实施例的方法的过程中,只需要依次执行步骤一、步骤二和步骤三即可,如此便可有效的创建出仅模拟设备在互联网中的交互方式的抽象设备,且采用了定时触发数据上报的方式,大大的减少了对于CPU线程的占用,很好的实现了抽象设备的大量模拟。
[0030]作为改进的一种具体实施方式,所述步骤二中创建抽象设备的具体步骤如下:步骤二一,根据配置文件解析出的设备属性和事件的上报方式;
[0031]步骤二二,根据步骤二一中获得的设备属性统一写入属性和命令控制处理的规则;
[0032]步骤二三,对步骤二二中写入的规则进行拓展,内置随机数函数、累加循环函数和回声函数;
[0033]步骤二四,确定抽象设备的通信类型,根据通信类型确定设备响应回平台的抽象
方法同时确定停止设备工作的抽象方法,通过上述步骤的设置,便可利用抽象设备内部的规则来模拟真实设备的输入反馈,以此很好的达到模拟真实设备的效果,且能够最大化的减少对于计算资源的占用。
[0034]作为改进的一种具体实施方式,所述步骤二四中的通信类型包括http设备、tcp设备、mqtt设备和coap设备,所述设备响应回平台的抽象方法具体为:http设备根据协议组装请求头与请求体、tcp设备和mqtt设备对报文进行编码组装、coap设备通过udp协议发送;
[0035]所述停止设备工作的抽象方法具体为:
[0036]Tcp设备和mqtt设备断开tcp连接并释放本地句柄资源,http设备和coap设备不做任何操作,不同通信类型的设备需要区别处理,比如http设备需要根据协议组装请求头与请求体、tcp设备需要对报文进行编码组装、coap设备需要通过udp协议发送。
[0037]如何停止设备工作的抽象方法,不同通信类型的设备处理方法不同,tcp、mqtt这类长连接的设备需要断开tcp连接并释放本地句柄资源,而http、coap这类设备则不需要处理。
[0038]作为改进的一种具体实施方式,所述步骤三中定时触发数据上报的具体步骤如下:
[0039]步骤三一,判断定时任务是否已经触发,若任务已经触发则继续下一步,若任务未触发则CPU拒绝任务后结束;
[0040]步骤三二,判断可用线程数是否小于CPU核心数,若小于CPU核心数,则选择可用线程执行任务后结束,若不小于CPU核心数,则继续下一步;
[0041]步骤三三,判断可用线程的任务队列是否已满,若任务队列未本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟海量设备的实现方法,其特征在于:包括如下步骤:步骤一,读取运行参数/配置文件;步骤二,根据步骤一中读取的配置文件创建抽象设备;步骤三,对步骤二中所创建的抽象设备进行认证,认证未通过则直接结束,认证通过则线程绑定设备,根据配置定时触发数据上报。2.根据权利要求1所述的模拟海量设备的实现方法,其特征在于:所述步骤二中创建抽象设备的具体步骤如下:步骤二一,根据配置文件解析出的设备属性和事件的上报方式;步骤二二,根据步骤二一中获得的设备属性统一写入属性和命令控制处理的规则;步骤二三,对步骤二二中写入的规则进行拓展,内置随机数函数、累加循环函数和回声函数;步骤二四,确定抽象设备的通信类型,根据通信类型确定设备响应回平台的抽象方法同时确定停止设备工作的抽象方法。3.根据权利要求2所述的模拟海量设备的实现方法,其特征在于:所述步骤二四中的通信类型包括http设备、tcp设备、mqtt设备和coap设备,所述设备响应回平台的抽象方法具体为:http设备根据协议组装请求头...

【专利技术属性】
技术研发人员:宋杨周垤飞秦钢
申请(专利权)人:杭州指令集智能科技有限公司
类型:发明
国别省市:

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

1