一种物联网数据采集方法

文档序号:1835059 发布日期:2021-11-12 浏览:7次 >En<

阅读说明:本技术 一种物联网数据采集方法 (Internet of things data acquisition method ) 是由 李帅 逄振 马鹏程 刘晶晶 于 2021-08-11 设计创作,主要内容包括:本发明涉及一种物联网数据采集方法,通过获取物联网网络中各个点位的数据采集频率;将采集频率相同的位点划分至同一集合中;基于多线程对集合中的点位进行数据的采集,其中每个线程只采集与其对应的集合中的点位。实现了将相同频率的点位整合后在使用线程进行采集,从而减少线程的数量。并且在一个点位出现问题,只会影响该组的点位采集,而不会影响所有的点位;若某个点位采集时频繁出现问题,则可以降低采集频率,从而提高程序的运行速率。提高了物联网数据采集的效率。(The invention relates to a data acquisition method of the Internet of things, which is characterized in that the data acquisition frequency of each point position in the network of the Internet of things is obtained; dividing the sites with the same acquisition frequency into the same set; and acquiring data of the point locations in the set based on multiple threads, wherein each thread only acquires the point locations in the set corresponding to the thread. The point locations with the same frequency are integrated and then collected in the thread, so that the number of threads is reduced. And a problem occurs at one point location, only the point location collection of the group is influenced, and all the point locations are not influenced; if a problem frequently occurs when a certain point location is collected, the collection frequency can be reduced, and therefore the running speed of the program is increased. The efficiency of thing networking data acquisition has been improved.)

一种物联网数据采集方法

技术领域

本发明属于数据采集技术领域,具体涉及一种物联网数据采集方法。

背景技术

IoT(物联网)是指各种物件与互联网连接起来的状态。通过连接互联网,各种物件可以通过人的操作和传感器,将获取的信息(数据)存储在特定服务器或云上。通过分析这些存储的信息,并提供物件的最佳控制,以及为使用该物件的人提供最佳的使用方法,可以构建更舒适的社会。随着通信技术的不断发展尤其是近些年5G通信技术的发展,为物联网的高速发展提供了强有力的技术支撑。

而要想实现物联网带来的便捷物联网中的各种设备、传感器的数据采集是第一步,如果数据采集出现问题或者数据采集效率低下,在后面的数据处理、应用等都会受到影响。特别是在采集频率较快的场景中,需要对大量的点位进行采集,在现有技术中通常采用多线程来进行采集,该采集方法虽然可以解决因某个点位出现问题而导致其他点位不能采集,从而影响采集速率,但是会加大内存和IO接口的消耗;另一种采集的方法通过采用相同速率来进行采集,这种方法只能逐一的进行数据的采集,内存和IO接口的消耗会有所减少,但是会导致因某个点位在采集过程中出现问题,从而影响整个采集程序的速率。

因此如何对物联网的数据进行更加高效的采集已经成为了亟需解决的技术问题。

发明内容

为了解决现有技术存在的数据采集效率低、速率慢、内存消耗大的问题,本发明提供了一种物联网数据采集方法,其具有采集效率高、速度更快等特点。

根据本发明的

具体实施方式

的一种物联网数据采集方法,包括:

获取物联网网络中各个点位的数据采集频率;

将采集频率相同的位点划分至同一集合中;

基于多线程对集合中的点位进行数据的采集,其中每个线程只采集与其对应的集合中的点位。

进一步的,所述获取物联网网络中各个点位的数据采集频率包括:

基于各个点位的点位值的变化频率确定各个点位的数据采集频率。

进一步的,所述基于各个点位的点位值的变化频率确定各个点位的数据采集频率包括:

若点位的点位值变化的频率在预设时间内变化频繁,则该点位的数据采集频率需要更快。

进一步的,所述基于各个点位的点位值的变化频率确定各个点位的数据采集频率还包括:

若点位的点位值变化的频率在预设时间内变化较慢,则该点位的数据采集频率较慢。

进一步的,所述获取物联网网络中各个点位的数据采集频率还包括:

获取用户输入的预设采集频率,并基于所述预设采集频率对相应的点位进行数据的采集。

进一步的,所述物联网数据采集方法还包括:

在点位每次数据采集完成后释放相应的线程,以释放相应的内存避免内存溢出。

进一步的,所述基于多线程对集合中的点位进行数据的采集包括:

若点位的通信协议支持批量采集,则将所有点位采集到的数据整合到同一报文中进行发送。

进一步的,所述基于多线程对集合中的点位进行数据的采集还包括:

若点位的通信协议不支持批量采集或者报文长度有限,则单独或分批组合报文进行发送。本发明的有益效果为:通过获取物联网网络中各个点位的数据采集频率;将采集频率相同的位点划分至同一集合中;基于多线程对集合中的点位进行数据的采集,其中每个线程只采集与其对应的集合中的点位。实现了将相同频率的点位整合后在使用线程进行采集,从而减少线程的数量。并且在一个点位出现问题,只会影响该组的点位采集,而不会影响所有的点位;若某个点位采集时频繁出现问题,则可以降低采集频率,从而提高程序的运行速率。提高了物联网数据采集的效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据一示例性实施例提供的物联网数据采集方法的流程图;

图2是根据一示例性实施例提供的物联网数据采集方法的另一流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。

参照图1所示,本发明的实施例提供了一种物联网数据采集方法,具体包括:

101、获取物联网网络中各个点位的数据采集频率;

因为各个物联网都是由各种设备组成的,对于各种设备的数据的交互其数据的采集的频率或者说交互的频率是不同的,因此可根据设备间的信息数据的交互确定各个设备的数据的采集频率。

102、将采集频率相同的位点划分至同一集合中;

通过对采集的各个设备的数据采集的频率进行分类规划,将数据采集频率相同的设备划分到同一集合中进行管理。即不同的集合对应不同的数据采集频率。

103、基于多线程对集合中的点位进行数据的采集,其中每个线程只采集与其对应的集合中的点位。

可通过提前创建好线程池,循环遍历整合好的点位集合,调用线程来运行不同采集频率的集合来采集数据。这样通过将相同频率的点位整合后在使用线程,可以减少线程的数量。并且若一个点位出现问题,只会影响该组的点位采集,而不会影响所有的点位;若某个点位采集时频繁出现问题,则可以降低采集频率,从而提高程序的运行速率。

在本发明的另一具体实施例中,获取物联网网络中各个点位的数据采集频率包括:

基于各个点位的点位值的变化频率确定各个点位的数据采集频率。

基于各个点位的点位值的变化频率确定各个点位的数据采集频率包括:

若点位的点位值变化的频率在预设时间内变化频繁,则该点位的数据采集频率需要更快。

基于各个点位的点位值的变化频率确定各个点位的数据采集频率还包括:

若点位的点位值变化的频率在预设时间内变化较慢,则该点位的数据采集频率较慢。

获取物联网网络中各个点位的数据采集频率还包括:

获取用户输入的预设采集频率,并基于所述预设采集频率对相应的点位进行数据的采集。

物联网数据采集方法还包括:

在点位每次数据采集完成后释放相应的线程,以释放相应的内存避免内存溢出。

基于多线程对集合中的点位进行数据的采集包括:

若点位的通信协议支持批量采集,则将所有点位采集到的数据整合到同一报文中进行发送。

基于多线程对集合中的点位进行数据的采集还包括:

若点位的通信协议不支持批量采集或者报文长度有限,则单独或分批组合报文进行发送。

具体的,参照图2所示,对于采集频率的整合可通过一段时间对点位进行数据采集来判断点位值变化的频率,如果值变化的比较频繁,采集频率需要更快,这样才能达到更好的实时性,相反值变化频率很慢,则采集频率就不需要太快,这样可以减少内存和IO接口的消耗;或者可以让用户自己输入每个点位需要按照什么频率来进行采集,因为每个点位的采集频率不同,根据判断得到的采集频率或者用户配置的频率来进行分类,将相同频率的点位整合到一起形成一个个相同频率的集合,需要把相同采集频率的点位整合到一个集合中,这样就可以分批去采集点位。

然后提前创建好线程池,循环遍历整合好的点位集合,调用线程来运行不同采集频率的集合来采集数据,如果协议支持批量采集则可以将该集合中的所有点位都整合到一个报文里面发出,收到的响应报文也会是所有点位的数据,如果协议不支持批量采集或者报文长度有限制,则只能单独或者再次分批组合报文(不能超过报文长度),则收到的响应报文就是单独一个点位的数据或者部分点位的数据;数据采集完成后要立即释放掉线程,如果不释放线程则会导致内存溢出,从而影响程序的运行。通过使用多线程去采集集合中的点位,有几个集合就启动几个线程,这样就可以并行采集数据;发送数据时可以将整个集合中的数据发送,这样就可以保证不会因为某个点位出现问题而导致其他点位不能采集,从而影响采集速率,也可以一定程度上减少IO的消耗。

本发明上述实施例所提供的物联网数据采集方法,通过将相同频率的点位整合后在使用线程,可以减少线程的数量。同时若一个点位出现问题,只会影响该组的点位采集,而不会影响所有的点位;若某个点位采集时频繁出现问题,则可以降低采集频率,从而提高程序的运行速率。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

7页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于节点退避算法的Lora自组网数据传输系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类