CN115102807B - 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 - Google Patents
物联网网关数据传输的方法、装置、服务器、客户端及存储介质 Download PDFInfo
- Publication number
- CN115102807B CN115102807B CN202210586100.1A CN202210586100A CN115102807B CN 115102807 B CN115102807 B CN 115102807B CN 202210586100 A CN202210586100 A CN 202210586100A CN 115102807 B CN115102807 B CN 115102807B
- Authority
- CN
- China
- Prior art keywords
- message
- sensing node
- data
- node data
- retransmission timer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0278—Traffic management, e.g. flow control or congestion control using buffer status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种物联网网关数据传输的方法、装置、服务器、客户端及存储介质,方法包括:采集传感节点数据,存储传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,重传计时器、消息标识符均与传感节点相对应;若传感节点数据满足发送条件,存储传感节点数据于消息队列;从消息队列中读取传感节点数据,并发送传感节点数据;接收消息确认位图,并于消息确认位图中查找消息标识符;若消息确认位图包含消息标识符,则重置重传计时器和消息标识符,并清空缓冲区内的传感节点数据。基于上述方法,能够提高数据传输的可靠性以及提高网关服务的稳定性。
Description
技术领域
本发明涉及物联网数据传输技术领域,特别是涉及一种物联网网关数据传输的方法、装置、服务器、客户端及存储介质。
背景技术
物联网网关是连接物联网设备和物联网云平台的桥梁,并实现与物联网云平台的双向通信。但随着新兴物联网场景的产生,对物联网网关的传输能力与技术提出了更高的要求。而NB-IoT网关因其低成本、大连接、低功耗、广覆盖的特点,使其成为了物联网无线通信技术的又一种选择。
目前,NB-IoT网关的嵌入式软件通常采用裸机单循环的执行方案,即循环一次执行数据采集,数据处理,数据上报,但是该方案的可靠性容易受到网络环境的影响,例如,在数据传输过程中可能会因网络延迟而导致数据丢失,这对于要求定时精确上报数据的传感节点来而言不可接受的。另外,在网关服务中断期间,传感器无法执行采集或网关无法接收并处理来自传感节点的数据,也会导致数据丢失,以至于降低数据传输过程的完整性。除此之外,该方案无法保证数据在应用层传输的可达性或实时性,在网关接收传感节点数据到传输至云平台这条链路上可能发生故障而导致数据永久丢失,造成短暂或长时间的传输故障。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种物联网网关数据传输的方法、装置、服务器、客户端及存储介质,能够提高数据传输的可靠性以及网关服务的持续性与稳定性。
第一方面,本发明实施例提供了一种物联网网关数据传输的方法,包括:
采集传感节点数据,存储所述传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,所述重传计时器、所述消息标识符均与所述传感节点相对应,所述重传计时器用于通过计时触发所述传感节点数据的重传,所述消息标识符用于对存入所述缓冲区的所述传感节点数据进行标识;
若所述传感节点数据满足发送条件,存储所述传感节点数据于消息队列;
从所述消息队列中读取所述传感节点数据,并发送所述传感节点数据;
接收消息确认位图,并于所述消息确认位图中查找所述消息标识符;
若所述消息确认位图包含所述消息标识符,则重置所述重传计时器和所述消息标识符,并清空所述缓冲区内的所述传感节点数据。
第二方面,本发明实施例提供了一种物联网网关数据传输的装置,包括:
第一处理模块,用于采集传感节点数据,存储所述传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,所述重传计时器、所述消息标识符均与所述传感节点相对应,所述重传计时器用于通过计时触发所述传感节点数据的重传,所述消息标识符用于对存入所述缓冲区的所述传感节点数据进行标识;
第二处理模块,用于若所述传感节点数据满足发送条件,存储所述传感节点数据于消息队列;
第三处理模块,用于从所述消息队列中读取所述传感节点数据,并发送所述传感节点数据;
第四处理模块,用于接收消息确认位图,并于所述消息确认位图中查找所述消息标识符;
第五处理模块,用于若所述消息确认位图包含所述消息标识符,则重置所述重传计时器和所述消息标识符,并清空所述缓冲区内的所述传感节点数据。
第三方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的物联网网关数据传输的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现上述第一方面的物联网网关数据传输的方法。
本发明实施例至少包括以下有益效果:通过引入嵌入式实时操作系统,采用共享缓冲区内存以及消息队列的方式,在实现传统的采集-处理-上报模型之外,还基于多任务调度机制实现了数据采集和数据上报的解耦,能够提高数据传输的可靠性;在利用缓冲区与队列实现数据解耦的同时,引入重传机制,云平台通过消息位图的方式通知网关数据的传达,将没有进行确认的消息进行重传,能够进一步提高数据传输的可靠性;通过引入健康检查以及分级恢复机制,还可以提高NB-IoT网关服务的持续性与稳定性。
附图说明
图1为本发明实施例的方法的流程示意图;
图2为本发明实施例的方法中的NB-IoT网关数据传输过程示意图;
图3为本发明实施例的方法中的数据采集任务的流程示意图;
图4为本发明实施例的方法中的缓冲区扫描任务的流程示意图;
图5为本发明实施例的方法中的数据上报任务的流程示意图;
图6为本发明实施例的方法中的健康检查任务的流程示意图;
图7为本发明实施例的方法中的云平台消息确认的流程示意图;
图8为本发明实施例的方法中的数据发送与确认的流程示意图;
图9为本发明实施例的装置示意图;
图10为本发明实施例的电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要理解的是,如果在说明书和权利要求书及上述附图中涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
需要说明的是,至少一个的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述道第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
术语解释:
NB-IoT:全称Narrow Band Internet of Things,是一种基于蜂窝的窄带物联网技术,也是低功耗广域物联(LPWA)的最佳联接技术,承载着智慧家庭、智慧出行、智慧城市等智能世界的基础联接任务,广泛应用于如智能表计、智慧停车、智慧路灯、智慧农业、白色家电等多个方面,是5G时代下的基础联接技术之一。
NB-IoT网关:一种基于NB-IoT技术的智能网关。物联网络通常不是一个单纯的IP网络,它往往涉及多个网络的集成,最终以IP网络为核心,将多个异种网络连接起来进行通信和数据交换。很多工业设备支持RS-485串行网络连接,并使用MODBUS协议进行数据上报和接受控制,IP网络中的物联网服务器通过一个智能网关与这些工业设备进行通信,智能网关实现了MODBUS和MQTT协议的对接,能够让RS-485总线连接的这些设备加入到物联网操作系统或者物联网平台中,因而这些设备可以向IoT服务器上报信息,并且,若IoT服务器需要控制这些设备,可以通过MODBUS协议向这些设备写入控制数据。
NB-IoT模组:指NB-IoT网关的无线通信模组,无线通信模组是一种将芯片、存储器、功放器件、天线接口、功能接口等集成于电路板上的模块化组件,实现无线电波收发、信道噪声过滤及模拟信号与数字信号之间相互转换等功能。物联网终端通过无线通信模组接入网络,满足数据无线传输需求,无线通信模组是实现万物智联的关键设备。
云平台:也称云计算平台,是指基于硬件资源和软件资源的服务,提供计算、网络和存储能力。
参照图1,图1为本发明实施例的方法的流程示意图,包括但不限于以下步骤:
步骤S100:采集传感节点数据,存储传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,重传计时器、消息标识符均与传感节点相对应,重传计时器用于通过计时触发传感节点数据的重传,消息标识符用于对存入缓冲区的传感节点数据进行标识。
步骤S200:若传感节点数据满足发送条件,存储传感节点数据于消息队列。
步骤S300:从消息队列中读取传感节点数据,并发送传感节点数据。
步骤S400:接收消息确认位图,并于消息确认位图中查找消息标识符。
步骤S500:若消息确认位图包含消息标识符,则重置重传计时器和消息标识符,并清空缓冲区内的传感节点数据。
其中,NB-IoT网关通过挂载传感器节点,采集来自物联网设备需要上传至云平台的数据,即传感节点数据。物联网设备是指物联网应用场景中的终端设备,例如,路灯、水表、共享单车、物流集装箱、空气监测仪等,具有低功耗、广域范围、传输数据量小且更新频率低等特点的物联网终端设备。被写入缓冲区的传感节点数据绑定了重传计时器和消息ID(消息标识符),在重传计时器满足预设条件时将对其对应的数据进行重传,给数据分配消息ID用于将其按照存入缓冲区的先后顺序排序。消息确认位图是由云平台发送的消息确认响应包,NB-IoT网关通过接收反馈的消息确认位图,以及检查消息确认位图中是否记录有已发送数据的消息ID,来进行消息确认,即判断上报的数据是否可达以及是否需要执行数据重传。
具体的,如图2所示,本发明实施例的技术方案可以将NB-IoT网关负责的数据传输任务分为三部分:数据采集任务、缓冲区扫描任务和数据上报任务,除此之外,还有健康检查任务,该任务为独立任务不参与数据流的传输。本发明实施例通过引入嵌入式实时操作系统,采用共享缓冲区内存以及消息队列的方式,在实现传统的采集-处理-上报模型之外,还基于多任务调度机制实现了数据采集和数据上报的解耦,能够提高数据传输的可靠性。
在一些实施例中,步骤S100可以包括但不限于以下步骤:
步骤S101:基于第一时间间隔采集传感节点数据。
步骤S102:将传感节点数据写入缓冲区数据块。
步骤S103:初始化缓冲区数据块的重传计时器为零。
步骤S104:增加缓冲区数据块的消息标识符的数值。
作为一种示例,如图3所示,为本发明实施例的方法中数据采集任务的流程示意图,其中,第一时间间隔为传感节点数据的采集频率,即任务结束时的延时时间段,此处设置为延时十秒后唤醒数据采集任务;采集之后将传感节点数据写入缓冲区数据块,与数据内容一起写入的还有与该缓冲区数据块绑定的重传计时器和消息标识符;初始化该缓冲区数据块的重传计时器,将重传计时器的标志位设为零,意味着该数据块待发送;在NB-IoT网关开启数据采集任务之初,初始化消息标识符为零,随着缓冲区数据块的增加,逐次递增缓冲区数据块的消息ID,代表传感节点数据被存入缓冲区的先后顺序。
在一些实施例中,步骤S200可以包括但不限于以下步骤:
步骤S201:基于第二时间间隔扫描缓冲区,查找满足发送条件的传感节点数据。
步骤S202:若重传计时器为零或重传计时器达到重传时限,则确认传感节点数据满足发送条件。
步骤S203:将满足发送条件的传感节点数据写入消息队列。
作为一种示例,如图4所示,为本发明实施例的方法中缓冲区扫描任务的流程示意图,其中,缓冲区扫描任务为周期性扫描任务,第二时间间隔即两次扫描任务之间的时间间隔,可以根据物联网应用场景的需求和设备的性能来设定合适的周期时长;在扫描周期内,通过遍历缓冲区来查找满足发送条件的传感节点数据;判断当前缓冲区数据块对应的重传计时器是否满足条件,其中一种条件为重传计时器的标志位为零,另一种条件为重传计时器的标志位达到重传时限,满足任一种即代表当前缓冲区数据块为待发送状态;如果当前缓冲区数据块满足发送条件,则将其插入消息队列,如果不满足,则继续遍历缓冲区,直至遍历结束;另外,如果当前缓冲区数据块的重传计时器的标志位大于零,则将该标志位加一,需要说明的是,无论是否满足发送条件,每次间隔性扫描缓冲区的操作都会使重传计时器数值增加。
在一些实施例中,步骤S300可以包括但不限于以下步骤:
步骤S301:基于第三时间间隔扫描消息队列,若消息队列非空,读取传感节点数据。
步骤S302:对传感节点数据执行解析、封装和发送。
具体的,短周期性检查并读取消息队列的消息,第三时间间隔即两次扫描消息队列之间的时间间隔;在检测到消息队列非空后,读取消息队列中的数据块信息,将读取到的数据块信息进行数据解析,解析出消息ID和数据内容,然后依据json格式将消息ID、数据内容、设备ID以及其他信息进行格式化封装,最后通过AT指令控制NB-IoT模组执行数据的上报,即向云平台发送该数据包。
在一些实施例中,步骤S400可以包括但不限于以下步骤:
步骤S401:接收消息确认位图。
步骤S402:根据消息标识符,计算消息标识符的位图下标。
步骤S403:判断消息确认位图中是否存在位图下标,若是,则确认消息确认位图包含消息标识符。
具体的,通过AT指令控制NB-IoT模组接收来自云平台的消息确认位图;通过计算消息标识符的位图下标,来判断已发送缓冲区数据块的待确认消息ID是否在消息确认位图中,如果存在,则表示该数据块已确认送达云平台。具体的,计算消息标识符的位图下标的方法为:将缓冲区中的消息ID进行取模操作,将取模后的消息ID进行转换为二进制,对二进制的消息ID进行右移3位得到数组下标,利用数组下标找到消息确认位图中对应的8比特数据。对消息ID进行取余8并且与刚取出的8比特数据进行与操作。如果与的结果不为0则表示该消息ID存在与消息确认位图之中,该消息ID对应的数据被确认送达。如果为0则表示该消息ID并不存在于消息确认位图中,表示该消息ID对应的数据并未送达云平台。
在一些实施例中,步骤S500可以包括但不限于以下步骤:
步骤S501:若消息确认位图包含消息标识符,则将重传计时器与消息标识符均设置为负一。
步骤S502:清空缓冲区内的传感节点数据。
具体的,如果已发送缓冲区数据块的待确认消息ID在消息确认位图内,则将该缓冲区数据块的重传定时器的标志位和消息ID重置,在本实施例中,分别将其设置为负一;并清空该缓冲区数据块,即释放缓冲区,清空缓冲区内的传感节点数据。
作为一种示例,如图5所示,为本发明实施例的方法中数据上报任务的流程示意图,其中,首先,检测消息队列是否非空,若是,则消费消息队列即读取消息队列中的数据块,然后处理数据头部分的消息ID和设备ID,将传感节点数据重新封装完成后向云平台发送该数据包;接着,接收响应数据,若接收到响应数据则执行下一步骤,若未接收到,则返回继续遍历消息队列;保存由云平台发送的消息确认位图;遍历缓冲区已发送数据块的待确认消息ID,通过计算当前待确认消息ID的位图下标,判断该消息ID是否存在于消息确认位图中,若存在则继续执行下一步骤,若不存在,则返回继续遍历消息队列;重置当前缓冲区数据块的重传计数器的标志位和消息ID均为负一,并清空数据内容;接着,返回继续遍历消息队列,直至消息队列为空,等待零点二秒后被唤醒继续执行数据上报任务。
需要说明的是,本发明实施例中的重传计时器兼顾记时与标志的作用,使用这个重传计时器的变量来表示该缓冲区块的数据的一个发送状态,并且只有当该变量大于或等于一的时候计时器才会自增(相当于计时),具体有以下几种情况:
1)如果该数据块为空,则默认重传计时器为负一(表示为空);
2)当有数据插入到该数据块时,则重传计时器为零(表示该数据块待发送);
3)此后会被缓冲区扫描任务识别,并将其放入消息队列,并将这个重传计时器加一(表示已经发送一次);
4)在这之后每次扫描任务都会将该重传计时器加一,但是不会放入发送队列(也就是该数据不执行发送);
5)直到重传计时器的计时次数达到一个阈值(通常为云平台确认周期的2倍以上),则将重传计时器加一,并将该缓冲区的数据块再次放入消息队列,相当于执行了重传;
6)如果在数据上报任务中得到了该数据块的确认消息,那就会将该重传计时器设置为负一(表示已发送,该数据块为空)。
本发明技术方案在利用缓冲区与队列实现数据解耦的同时,引入重传机制,云平台通过消息位图的方式通知网关数据的传达,将没有进行确认的消息进行重传,能够进一步提高数据传输的可靠性。
本发明实施例的方法还包括但不限于以下步骤:
步骤S600:当串口正常通信,检测网络附着状态,当串口通信异常,执行软复位操作。
步骤S700:当网络附着异常,执行初始化入网操作。
具体的,如图6所示,为本发明实施例的方法中的健康检查任务的流程示意图,其中,检查微控制单元MCU程序是否正常工作,若有无法正常执行定时喂狗操作时执行MCU复位操作。采集NB-IoT模组的信息,分析并判断NB-IoT模组的健康状况,根据NB-IoT模组的情况执行以下操作:NB-IoT模组整体无响应或者是串口通信异常时,执行NB-IoT模组软复位操作;NB-IoT模组正常响应指令,但是无法发送数据或网络附着异常时,重新执行入网操作。通过引入健康检查以及分级恢复机制,可以提高NB-IoT网关服务的持续性与稳定性。
如图7所示,为本发明实施例的方法中的云平台消息确认的流程示意图,其中,云平台采用位图累计确认的方式下发消息确认位图至NB-IoT网关,云平台的定时调度会每隔一段时间唤醒消息确认任务,该任务会以设备ID以及设备IP端口为分组从数据采集日志表中,读取最近已接收到的N条数据的消息ID,并将该N条数据的消息ID取模2N后存入2N大小的位图之中,处理完成后,根据设备IP发送对应的消息确认位图至网关。
作为一种示例,消息ID的范围是无限大的,但是在逻辑进行消息确认时,均取模128,位图能够承载的确认ID亦需为0-127。当消息ID到达127,自增后为128,此时位图已溢出,需取模128得到0,此时若消息ID为0的数据依然还在网关的缓冲区中待确认,就会与128的消息ID发生碰撞冲突。所以不仅仅是确认ID的范围限制在0-127,在执行从数据库中拉取已接收的消息ID并进行确认时,所拉取的消息ID数量要小于128的一半,比如设置成64个。这样的话,可以在一定程度上避免碰撞导致的误确认,所以才有2N的位图只存放N条数据(或是更少),通过取模操作使得无限大的消息ID能够在这种条件下一一映射到有限大小的位图中。需要说明的是,上述示例中N的值可以根据具体的网络条件以及网关硬件配置进行适应性调整。
作为一种示例,如图8所示,为本发明实施例的方法中的数据发送与确认的流程示意图,其中,
第一步:数据采集任务将采集的传感节点数据写入缓冲区,并设置该缓冲区数据块的消息ID,重传计时器设为零;
第二步:缓冲区扫描任务遍历缓冲区,当缓冲区数据块的重传计时器为零(待发送)或达到重传时限时,将数据块信息放入消息队列。当缓冲区数据块的重传计时器大于零时,将重传计时器加一;
第三步:数据上报任务检查并读取消息队列数据,将读取到的数据块进行发送。并于发送后立刻进行数据接收的检查,若接收到来自云平台的消息确认位图,则扫描缓冲区已发送待确认的消息ID,计算出消息ID所在的位图下标,通过位操作和与操作确认消息确认位图是否存在该消息ID的确认信息,若存在则将此缓冲区中该数据块信息的重传计时器重置为负一,消息ID重置为负一,清空数据内容。
参照图9,本发明实施例提供了一种物联网网关数据传输的系统示意图,包括但不限于:
第一处理模块901,用于采集传感节点数据,存储传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,重传计时器、消息标识符均与传感节点相对应,重传计时器用于通过计时触发传感节点数据的重传,消息标识符用于对存入缓冲区的传感节点数据进行标识;
第二处理模块902,用于若传感节点数据满足发送条件,存储传感节点数据于消息队列;
第三处理模块903,用于从消息队列中读取传感节点数据,并发送传感节点数据;
第四处理模块904,用于接收消息确认位图,并于消息确认位图中查找消息标识符;
第五处理模块905,用于若消息确认位图包含消息标识符,则重置重传计时器和消息标识符,并清空缓冲区内的传感节点数据。
参照图10,本发明实施例提供了一种电子设备,包括存储器1001和处理器1002;存储器1001,用于存放计算机程序;处理器1002,用于执行存储器1001上所存放的程序时,实现本发明实施例提供的物联网网关数据传输的方法。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本发明实施例提供的物联网网关数据传输的方法。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线,例如同轴电缆、光纤、数字调节人员线(DSL)或无线,例如红外、无线、微波等方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带、光介质,例如,DVD、或者半导体介质,例如固态硬盘Solid State Disk(SSD)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器、客户端、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种物联网网关数据传输的方法,其特征在于,包括:
采集传感节点数据,存储所述传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,所述重传计时器、所述消息标识符均与所述传感节点相对应,所述重传计时器用于通过计时触发所述传感节点数据的重传,所述消息标识符用于对存入所述缓冲区的所述传感节点数据进行标识,重传计时器兼顾记时与标志的作用,使用这个重传计时器的变量来表示该缓冲区的数据的一个发送状态;
若所述传感节点数据满足发送条件,存储所述传感节点数据于消息队列;包括:
基于第二时间间隔扫描所述缓冲区,查找满足发送条件的所述传感节点数据;
若所述重传计时器为零或所述重传计时器达到重传时限,则确认所述传感节点数据满足发送条件;
将满足发送条件的所述传感节点数据写入所述消息队列;
从所述消息队列中读取所述传感节点数据,并发送所述传感节点数据;
接收消息确认位图,并于所述消息确认位图中查找所述消息标识符;
若所述消息确认位图包含所述消息标识符,则重置所述重传计时器和所述消息标识符,并清空所述缓冲区内的所述传感节点数据;
检查微控制单元MCU程序是否正常工作,若有无法正常执行定时喂狗操作时执行MCU复位操作,采集NB-IoT模组的信息,分析并判断NB-IoT模组的健康状况,根据NB-IoT模组的情况执行以下操作:NB-IoT模组整体无响应或者是串口通信异常时,执行NB-IoT模组软复位操作;NB-IoT模组正常响应指令,但是无法发送数据或网络附着异常时,重新执行入网操作。
2.根据权利要求1所述的物联网网关数据传输的方法,其特征在于,所述采集传感节点数据,存储所述传感节点数据于缓冲区,初始化重传计时器和消息标识符,包括:
基于第一时间间隔采集传感节点数据;
将所述传感节点数据写入所述缓冲区数据块;
初始化所述缓冲区数据块的所述重传计时器为零;
增加所述缓冲区数据块的所述消息标识符的数值。
3.根据权利要求1所述的物联网网关数据传输的方法,其特征在于,所述从所述消息队列中读取所述传感节点数据,并发送所述传感节点数据包括:
基于第三时间间隔扫描所述消息队列,若所述消息队列非空,读取所述传感节点数据;
对所述传感节点数据执行解析、封装和发送。
4.根据权利要求1所述的物联网网关数据传输的方法,其特征在于,所述接收消息确认位图,并于所述消息确认位图中查找所述消息标识符,包括:
接收所述消息确认位图;
根据所述消息标识符,计算所述消息标识符的位图下标;
判断所述消息确认位图中是否存在所述位图下标,若是,则确认所述消息确认位图包含所述消息标识符。
5.根据权利要求1所述的物联网网关数据传输的方法,其特征在于,所述若所述消息确认位图包含所述消息标识符,则重置所述重传计时器和所述消息标识符,并清空所述缓冲区内的所述传感节点数据,包括:
若所述消息确认位图包含所述消息标识符,则将所述重传计时器与所述消息标识符均设置为负一;
清空所述缓冲区内的所述传感节点数据。
6.根据权利要求1所述的物联网网关数据传输的方法,其特征在于,还包括:
当串口正常通信,检测网络附着状态,当所述串口通信异常,执行软复位操作;
当所述网络附着异常,执行初始化入网操作。
7.一种物联网网关数据传输的装置,其特征在于,包括:
第一处理模块,采集传感节点数据,存储所述传感节点数据于缓冲区,初始化重传计时器和消息标识符,其中,所述重传计时器、所述消息标识符均与所述传感节点相对应,所述重传计时器用于通过计时触发所述传感节点数据的重传,所述消息标识符用于对存入所述缓冲区的所述传感节点数据进行标识,重传计时器兼顾记时与标志的作用,使用这个重传计时器的变量来表示该缓冲区的数据的一个发送状态;
第二处理模块,用于若所述传感节点数据满足发送条件,存储所述传感节点数据于消息队列;包括:基于第二时间间隔扫描所述缓冲区,查找满足发送条件的所述传感节点数据;若所述重传计时器为零或所述重传计时器达到重传时限,则确认所述传感节点数据满足发送条件;将满足发送条件的所述传感节点数据写入所述消息队列;
第三处理模块,用于从所述消息队列中读取所述传感节点数据,并发送所述传感节点数据;
第四处理模块,用于接收消息确认位图,并于所述消息确认位图中查找所述消息标识符;
第五处理模块,用于若所述消息确认位图包含所述消息标识符,则重置所述重传计时器和所述消息标识符,并清空所述缓冲区内的所述传感节点数据;检查微控制单元MCU程序是否正常工作,若有无法正常执行定时喂狗操作时执行MCU复位操作,采集NB-IoT模组的信息,分析并判断NB-IoT模组的健康状况,根据NB-IoT模组的情况执行以下操作:NB-IoT模组整体无响应或者是串口通信异常时,执行NB-IoT模组软复位操作;NB-IoT模组正常响应指令,但是无法发送数据或网络附着异常时,重新执行入网操作。
8.一种电子设备,所述电子设备包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6中任一项所述的物联网网关数据传输的方法。
9.一种计算机可读存储介质,其特征在于,存储有处理器可运行的程序指令,所述程序指令用于执行如权利要求1-6中任一项所述的物联网网关数据传输的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586100.1A CN115102807B (zh) | 2022-05-27 | 2022-05-27 | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 |
PCT/CN2022/124712 WO2023226277A1 (zh) | 2022-05-27 | 2022-10-11 | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210586100.1A CN115102807B (zh) | 2022-05-27 | 2022-05-27 | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115102807A CN115102807A (zh) | 2022-09-23 |
CN115102807B true CN115102807B (zh) | 2023-11-28 |
Family
ID=83288203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210586100.1A Active CN115102807B (zh) | 2022-05-27 | 2022-05-27 | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115102807B (zh) |
WO (1) | WO2023226277A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115102807B (zh) * | 2022-05-27 | 2023-11-28 | 深圳技术大学 | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 |
CN117479049B (zh) * | 2023-12-27 | 2024-03-15 | 成都秦川物联网科技股份有限公司 | 用于智慧燃气的数据传输管控方法、物联网系统及介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002281047A (ja) * | 2001-01-10 | 2002-09-27 | Ntt Docomo Inc | パケット通信制御装置及び方法、データ通信中継装置及び方法、並びにネットワークシステム |
CN1562672A (zh) * | 2004-03-15 | 2005-01-12 | 王家法 | 利用移动电话对汽车防盗器实现指令执行的方法 |
CN1969476A (zh) * | 2004-06-10 | 2007-05-23 | 美商内数位科技公司 | 动态调整数据传输参数及控制h-arq程序的方法及装置 |
CN101272230A (zh) * | 2007-03-15 | 2008-09-24 | 国际商业机器公司 | 用于管理跨网络传输数据分组的方法和信息处理系统 |
CN104780028A (zh) * | 2015-04-02 | 2015-07-15 | 京信通信技术(广州)有限公司 | 一种实现tcp数据报文重传的方法及设备 |
CN106059950A (zh) * | 2016-05-25 | 2016-10-26 | 四川大学 | 一种基于scps‑tp的自适应网络拥塞控制方法 |
CN106712908A (zh) * | 2015-11-13 | 2017-05-24 | 富士通株式会社 | 数据传输方法、装置和系统 |
CN111050309A (zh) * | 2018-10-12 | 2020-04-21 | 奇酷互联网络科技(深圳)有限公司 | 移动终端及其网络注册方法和存储介质 |
CN111064674A (zh) * | 2019-11-05 | 2020-04-24 | 珠海格力电器股份有限公司 | 数据的传输方法及装置、系统 |
EP3866365A1 (en) * | 2020-02-14 | 2021-08-18 | Robert Bosch GmbH | Radio device, method to operate a radio device |
CN113541885A (zh) * | 2021-07-27 | 2021-10-22 | 广东电网有限责任公司 | 一种传输性能保护方法及系统 |
CN113597806A (zh) * | 2019-08-08 | 2021-11-02 | Oppo广东移动通信有限公司 | 传输数据的方法和终端设备 |
CN113676605A (zh) * | 2020-05-15 | 2021-11-19 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7532639B2 (en) * | 2003-09-10 | 2009-05-12 | Broadcom Corporation | System and method for message queue management in a power-save network |
US9065839B2 (en) * | 2007-10-02 | 2015-06-23 | International Business Machines Corporation | Minimally buffered data transfers between nodes in a data communications network |
CN103259776A (zh) * | 2012-11-19 | 2013-08-21 | 北京新岸线移动多媒体技术有限公司 | 一种用于应用层消息确认的发送、接收方法及装置 |
US10097379B2 (en) * | 2015-12-23 | 2018-10-09 | Intel Corporation | Managing communication congestion for internet of things devices |
KR102071955B1 (ko) * | 2018-06-07 | 2020-03-02 | 주식회사 티맥스소프트 | 분산 캐시 환경에서 멀티캐스트를 수행하는 방법 및 이를 이용한 분산 캐시 서버 |
CN111949648B (zh) * | 2019-05-14 | 2024-03-01 | 北京沃东天骏信息技术有限公司 | 内存缓存数据系统和数据索引方法 |
CN112491842B (zh) * | 2020-11-17 | 2022-06-10 | 国网江苏省电力工程咨询有限公司 | 一种面向智慧工地的多协议物联网网关 |
CN115102807B (zh) * | 2022-05-27 | 2023-11-28 | 深圳技术大学 | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 |
-
2022
- 2022-05-27 CN CN202210586100.1A patent/CN115102807B/zh active Active
- 2022-10-11 WO PCT/CN2022/124712 patent/WO2023226277A1/zh unknown
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002281047A (ja) * | 2001-01-10 | 2002-09-27 | Ntt Docomo Inc | パケット通信制御装置及び方法、データ通信中継装置及び方法、並びにネットワークシステム |
CN1562672A (zh) * | 2004-03-15 | 2005-01-12 | 王家法 | 利用移动电话对汽车防盗器实现指令执行的方法 |
CN1969476A (zh) * | 2004-06-10 | 2007-05-23 | 美商内数位科技公司 | 动态调整数据传输参数及控制h-arq程序的方法及装置 |
CN101272230A (zh) * | 2007-03-15 | 2008-09-24 | 国际商业机器公司 | 用于管理跨网络传输数据分组的方法和信息处理系统 |
CN104780028A (zh) * | 2015-04-02 | 2015-07-15 | 京信通信技术(广州)有限公司 | 一种实现tcp数据报文重传的方法及设备 |
CN106712908A (zh) * | 2015-11-13 | 2017-05-24 | 富士通株式会社 | 数据传输方法、装置和系统 |
CN106059950A (zh) * | 2016-05-25 | 2016-10-26 | 四川大学 | 一种基于scps‑tp的自适应网络拥塞控制方法 |
CN111050309A (zh) * | 2018-10-12 | 2020-04-21 | 奇酷互联网络科技(深圳)有限公司 | 移动终端及其网络注册方法和存储介质 |
CN113597806A (zh) * | 2019-08-08 | 2021-11-02 | Oppo广东移动通信有限公司 | 传输数据的方法和终端设备 |
CN111064674A (zh) * | 2019-11-05 | 2020-04-24 | 珠海格力电器股份有限公司 | 数据的传输方法及装置、系统 |
EP3866365A1 (en) * | 2020-02-14 | 2021-08-18 | Robert Bosch GmbH | Radio device, method to operate a radio device |
CN113676605A (zh) * | 2020-05-15 | 2021-11-19 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN113541885A (zh) * | 2021-07-27 | 2021-10-22 | 广东电网有限责任公司 | 一种传输性能保护方法及系统 |
Non-Patent Citations (3)
Title |
---|
An Efficient Priority-Driven Congestion Control Algorithm for Data Center Networks;Jiahua Zhu;Xianliang Jiang;Yan Yu;Guang Jin;Haiming Chen;Xiaohui Li;Long Qu;;中国通信(第06期);全文 * |
严朝阳等.基于LoRa的物联网数据传输系统研究与设计.《重庆邮电大学学报(自然科学版)》.2021,全文. * |
无线网络中实时业务的随机超时早检测缓存管理算法;陈远;李乐民;;电子与信息学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115102807A (zh) | 2022-09-23 |
WO2023226277A1 (zh) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115102807B (zh) | 物联网网关数据传输的方法、装置、服务器、客户端及存储介质 | |
US9749407B2 (en) | Methods and devices for processing incomplete data packets | |
US6965571B2 (en) | Precise error reporting | |
CN111083168A (zh) | 可配置的物联网平台网关的数据传输方法、装置和网关 | |
CN103141050B (zh) | 快速通道互联系统中数据包重传方法、节点 | |
CN115174432B (zh) | Rdma网络状态监测方法、装置、设备及可读存储介质 | |
CN116782185B (zh) | 一种车载无线短距离通信的资源调度方法及装置 | |
CN109217983B (zh) | 一种工业物联网的作业终端通信协议设计方法 | |
CN111600758A (zh) | 消息上报方法及平台、智能网关及存储介质 | |
CN114157523B (zh) | 数据上报方法、装置、智能家居设备及存储介质 | |
CN114868371A (zh) | 数据收集管理装置及数据收集系统 | |
CN104284351A (zh) | 一种测距方法及装置 | |
US8433952B2 (en) | Memory access control device, memory access control method and memory access control program | |
CN105634894A (zh) | 一种增强型can总线数据重发方法和装置 | |
US12166682B2 (en) | Methods and apparatus to facilitate data transmission | |
CN115426689A (zh) | 报文的传输方法、装置、电子设备及存储介质 | |
CN115442317A (zh) | 报文处理方法、装置、系统、设备及介质 | |
CN118200121B (zh) | 通信节点,智能can fd总线通信模块及can fd总线智能切换方法 | |
CN118093467B (zh) | 嵌入式模块与fpga的数据交互方法 | |
CN117640443B (zh) | 一种基于大数据的数据链通信监测系统及方法 | |
CN114172877B (zh) | 一种基于http协议的中间件数据传输方法、装置、设备及存储介质 | |
CN118827599A (zh) | 用于mqtt通信中断的数据续传方法及系统 | |
CN113037642B (zh) | 物联网数据传输方法及传输系统 | |
CN112751873B (zh) | 蓝牙midi数据转换方法、电路及存储介质 | |
CN119031045A (zh) | 一种高效的车载mcu通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |