一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于物联网技术的多线程数据监听方法与流程

2021-11-05 21:40:00 来源:中国专利 TAG:


1.本发明属于物联网技术领域,具体是一种基于物联网技术的多线程数据监听方法。


背景技术:

2.在目前的数据采集系统中,大多是从远程现场获取实时数据,以此实现对远程设备的智能监听以及管理,因此,高性能的数据采集系统则是维持远程设备正常运行的关键支撑。对于现有的数据采集系统中,通过多线程技术的发展,多线程技术在数据采集系统中运用可以明显保证数据的实时性,但是相应的,在线程数量逐渐增加的过程中,会对服务器造成严重的负载压力,进而导致数据采集系统的不稳定性,基于此,提出一种稳定的多线程数据采集方法在不给服务器造成负载压力的前提下还能保证数据采集的稳定且实时性则尤为重要。


技术实现要素:

3.为了解决上述方案存在的问题,本发明提供了一种基于物联网技术的多线程数据监听方法。
4.本发明的目的可以通过以下技术方案实现:
5.一种基于物联网技术的多线程数据监听方法,具体包括以下步骤:
6.步骤101:线程数量的部署确定;
7.如何合理的配置以及调度数据采集子线程,以达到服务器能够承受的负载范围内取得高效的数据采集效果是本发明的重点也是难点,基于此,本发明设置有线程部署模块,用于实现线程数量的部署确定;具体的,线程部署模块的工作过程包括以下步骤:
8.步骤s1:线程部署模块发送数据采集信号至数据采集模块,数据采集模块连接服务器,获取服务器的性能参数以及网络带宽,其中的服务器的性能参数包括内存以及cpu;
9.步骤s2:将系统部署于特定服务器上,分别测试当系统内开启不同数量的数据采集子线程时,机器资源的使用情况,包括内存、cpu使用率等;以及系统在进行采集数据的同时对其他操作的响应速度;
10.步骤s3:经过不断调整数据采集子线程的数量,最终应满足在保证系统稳定运行的前提下实现高效的、实时的数据采集工作,将最优的数据采集子线程数目标记为n;
11.步骤102:通信连接模块与远程设备建立连接,连接成功则进入下一步;连接失败则重新读取远程设备的ip地址和端口,与其进行再次重连,若仍然失败则判定该远程设备通信异常,并终止数据采集子线程;
12.步骤103:服务器向数据采集子线程发送一数据采集命令,若在设定时间内接收到数据采集子线程反馈的报文,则进入下一步,若没有接收到相应的报文,则再次进行数据采集命令发送,若在设定时间内还没有接收到数据采集子线程反馈的报文,则判定该远程设备通信异常,并终止数据采集子线程;
13.步骤104:将接收到的报文发送至数据库,完成数据库的更新;且重新将当前线程设定为活动状态;
14.步骤105:当将当前线程设定为活动状态后,清除当前监听线程资源及释放通信单元并置当前监听单元为监听状态。
15.本发明在采用多线程的方式进行数据监听时,具体的监听方式包括以下步骤:
16.步骤201:线程配置模块建立并初始化路由表以及定时表,线程关系生成模块设定路由表并给定对应的定时值并生成相关的监听文件,线程配置模块扫描监听文件获取路由表并创建对应的监听单元;
17.需要进行说明的是,所述线程配置模块建立并初始化路由表时,数据采集子线程数目为n,则对应的监听单元的数量也为n;
18.步骤202:创建定时线程n,其中的n表示数据采集子线程的编号,n为正整数,且n=1,2
……
n;将监听单元n置于监听状态,且取定时值n;同时设置监听线程n初值为活动状态;
19.步骤203:判断监听线程n是否为活动状态,若为活动状态,则创建监听线程n,同时置监听线程n为非活动状态,创建通信单元n并置超时参数,等待客户端n通信接入;
20.若为非活动状态,则等待定时线程n设定的时间,重新返回判断监听线程n是否为活动状态;
21.步骤204:当有客户端n通信接入时,监听单元n生成报文,并将生成的报文发送至数据库,完成数据库的更新;且重新将当前线程设定为活动状态;
22.步骤205:当将当前线程设定为活动状态后,清除当前监听线程资源及释放通信单元并置当前监听单元为监听状态。
23.其中,当没有客户端n通信接入时,则等待定时线程n设定的时间,重新返回判断监听线程n是否为活动状态。
24.与现有技术相比,本发明的有益效果是:
25.本发明设置有线程部署模块,用于实现线程数量的部署确定;线程部署模块发送数据采集信号至数据采集模块,数据采集模块连接服务器,获取服务器的性能参数以及网络带宽,其中的服务器的性能参数包括内存以及cpu;将系统部署于特定服务器上,分别测试当系统内开启不同数量的数据采集子线程时,机器资源的使用情况,包括内存、cpu使用率等;以及系统在进行采集数据的同时对其他操作的响应速度;经过不断调整数据采集子线程的数量,最终应满足在保证系统稳定运行的前提下实现高效的、实时的数据采集工作。
26.本发明创建定时线程n,将监听单元n置于监听状态,同时设置监听线程n初值为活动状态;判断监听线程n是否为活动状态,若为活动状态,则创建监听线程n,同时置监听线程n为非活动状态,创建通信单元n并置超时参数,等待客户端n通信接入;当有客户端n通信接入时,监听单元n生成报文,并将生成的报文发送至数据库,完成数据库的更新;且重新将当前线程设定为活动状态;当将当前线程设定为活动状态后,清除当前监听线程资源及释放通信单元并置当前监听单元为监听状态。完成一个数据监听后将监听单元的状态进行重置,保证了采集数据的同步性。
附图说明
27.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
28.图1为本发明一种基于物联网技术的多线程数据监听方法的流程图。
具体实施方式
29.下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
30.在目前的数据采集系统中,大多是从远程现场获取实时数据,以此实现对远程设备的智能监听以及管理,因此,高性能的数据采集系统则是维持远程设备正常运行的关键支撑。对于现有的数据采集系统中,通过多线程技术的发展,多线程技术在数据采集系统中运用可以明显保证数据的实时性,但是相应的,在线程数量逐渐增加的过程中,会对服务器造成严重的负载压力,进而导致数据采集系统的不稳定性,基于此,提出一种稳定的多线程数据采集方法在不给服务器造成负载压力的前提下还能保证数据采集的稳定且实时性则尤为重要。
31.本发明提出的一种基于物联网技术的多线程数据监听方法就是为了在保证服务器负载压力的前提下,还能提成数据采集的实时性且稳定性。
32.一种基于物联网技术的多线程数据监听方法,具体包括以下步骤:
33.步骤101:线程数量的部署确定;
34.如何合理的配置以及调度数据采集子线程,以达到服务器能够承受的负载范围内取得高效的数据采集效果是本发明的重点也是难点,基于此,本发明设置有线程部署模块,用于实现线程数量的部署确定;具体的,线程部署模块的工作过程包括以下步骤:
35.步骤s1:线程部署模块发送数据采集信号至数据采集模块,数据采集模块连接服务器,获取服务器的性能参数以及网络带宽,其中的服务器的性能参数包括内存以及cpu;
36.步骤s2:将系统部署于特定服务器上,分别测试当系统内开启不同数量的数据采集子线程时,机器资源的使用情况,包括内存、cpu使用率等;以及系统在进行采集数据的同时对其他操作的响应速度;
37.步骤s3:经过不断调整数据采集子线程的数量,最终应满足在保证系统稳定运行的前提下实现高效的、实时的数据采集工作,将最优的数据采集子线程数目标记为n;
38.步骤102:调用通信连接模块与远程设备建立连接,连接成功则进入下一步;连接失败则重新读取远程设备的ip地址和端口,与其进行再次重连,若仍然失败则判定该远程设备通信异常,并终止数据采集子线程;
39.步骤103:服务器向数据采集子线程发送一数据采集命令,若在设定时间内接收到数据采集子线程反馈的报文,则进入下一步,若没有接收到相应的报文,则再次进行数据采集命令发送,若在设定时间内还没有接收到数据采集子线程反馈的报文,则判定该远程设备通信异常,并终止数据采集子线程;
40.步骤104:将接收到的报文发送至数据库,完成数据库的更新;且重新将当前线程
设定为活动状态;
41.步骤105:当将当前线程设定为活动状态后,清除当前监听线程资源及释放通信单元并置当前监听单元为监听状态。
42.如图1所示,本发明在采用多线程的方式进行数据监听,具体的监听方式包括以下步骤:
43.步骤201:线程配置模块建立并初始化路由表以及定时表,线程关系生成模块设定路由表并给定对应的定时值并生成相关的监听文件,线程配置模块扫描监听文件获取路由表并创建对应的监听单元;
44.需要进行说明的是,所述线程配置模块建立并初始化路由表时,数据采集子线程数目为n,则对应的监听单元的数量也为n;
45.步骤202:创建定时线程n,其中的n表示数据采集子线程的编号,n为正整数,且n=1,2
……
n;将监听单元n置于监听状态,且取定时值n;同时设置监听线程n初值为活动状态;
46.步骤203:判断监听线程n是否为活动状态,若为活动状态,则创建监听线程n,同时置监听线程n为非活动状态,创建通信单元n并置超时参数,等待客户端n通信接入;
47.若为非活动状态,则等待定时线程n设定的时间,重新返回判断监听线程n是否为活动状态;
48.步骤204:当有客户端n通信接入时,监听单元n生成报文,并将生成的报文发送至数据库,完成数据库的更新;且重新将当前线程设定为活动状态;
49.步骤205:当将当前线程设定为活动状态后,清除当前监听线程资源及释放通信单元并置当前监听单元为监听状态。
50.其中,当没有客户端n通信接入时,则等待定时线程n设定的时间,重新返回判断监听线程n是否为活动状态。
51.在本发明所提供的实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方法的目的。
52.另对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
53.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
54.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
55.最后应说明的是,以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的
技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献