CN108334424A - 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 - Google Patents
基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 Download PDFInfo
- Publication number
- CN108334424A CN108334424A CN201810112705.0A CN201810112705A CN108334424A CN 108334424 A CN108334424 A CN 108334424A CN 201810112705 A CN201810112705 A CN 201810112705A CN 108334424 A CN108334424 A CN 108334424A
- Authority
- CN
- China
- Prior art keywords
- data packet
- check code
- ray
- node
- sequence number
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/104—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法。通过服务器接收数据包,其中,所述数据包包括构成数据包完整序列号低字节的第一序列号以及校验码,所述校验码通过数据包的完整序列号计算获得,当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的高字节推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。通过此过滤方法可以准确的判断接收的数据包是否重复,从而过滤掉重复的数据包,同时不会误将新的数据包过滤掉。
Description
技术领域
本申请涉及互联网技术领域,具体涉及一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法。
背景技术
在互联网通信技术领域中,节点与网关、网关与服务器之间是多对一的关系。因此节点的数据包在传送过程中,可能会被多个网关接收,再由各个网关将数据包传送至同一个服务器,这时服务器会接收到多组重复的数据包,服务器将接收的多组的重复数据包发送给应用端。因此,造成数据包的重复发送和处理,增加了服务器的处理时间和运行内存。
现有的重复数据包的过滤方法如图1所示,将每一个数据包的序列号作为唯一标识来进行识别数据包,其中,每个节点的不同的数据包的序列号在向服务器传送的过程中是不断增长的。因此,当服务器接收到新的数据包2的序列号大于或等于之前接收到的数据包1的序列号时,则认为该数据包2为新数据包,将该新数据包发送给应用端;当服务器接收到的新的数据包2的序列号小于之前接收到的数据包1的序列号时,则认为该数据包2为重复数据包,服务器将该重复数据包进行过滤。
但是,节点的数据包的序列号一般为32位的无符号整数,包括低16位和高16位。数据包在传送过程中,只传送序列号的低16位。因此,现有的重复数据包的过滤方法还存在以下几种情况会导致服务器接收到节点的数据包的序列号可能不是连续增长的情况,从而无法正确的判断数据包是否为重复的数据包:
1)节点重启:每个节点在掉电的情况下都会进行重启,这时数据包的序列号会重新从初始化开始计数,使得数据包的序列号与之前传送的数据包的序列号相同,从而造成数据包的序列号不连续而无法判断数据包是否重复。
2)高字节进位:由于数据包的序列号是连续增长的,因此当数据包的低16位序列号不断增长时,高16位序列号就会出现进位,此时,低16位序列号相较于之前的数据包的低16位序列号较小。而数据包在传送过程中只传送数据包的低16位的序列号,从而造成与之前的数据包的序列号不连续而无法判断数据包是否重复。
3)网关延时发送:多个网关同时接收到节点传送的数据包的序列号是相同的,因此当有的网关可能因为网络连接问题,导致服务器接收到该网关延时传送的数据包,而之前网络连接时的数据包已通过其他网关正常传输给服务器,服务器已将该数据包处理并发送给应用端。由于网关网络延时发送的数据包到达服务器后,将打乱服务器内的数据包的序列号,无法判断数据包是否重复。
出现以上三种情况时就无法再用数据包的序列号的大小来判断数据包是重复数据包还是新数据包。
发明内容
有鉴于此,本申请提供一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法,可以准确的判断数据包是否为重复的数据包,进而对重复数据包进行过滤,对新数据包进行存储和处理。
根据本申请的第一方面,提供一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法,包括:
接收数据包,其中,所述数据包包括第一序列号以及校验码,所述校验码通过第一序列号和第二序列号共同组成的完整序列号计算获得,其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节;
当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的第二序列号推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。
优选地,所述方法还包括:
所述当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端;
所述当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据数据包在节点进位的第二序列号推算获得的校验码相同,将所述当前接收的数据包作为数据包的第二序列号在节点进位后传输的新数据包发送给应用端。
优选地,所述方法还包括:
当当前接收的数据包的第一序列号大于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端;
当当前接收的数据包的第一序列号大于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码不相同,将所述当前接收的数据包作为正常传输的新数据包发送给应用端。
优选地,所述方法还包括:
当当前接收的数据包的第一序列号等于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与之前接收的数据包的校验码相同,将所述当前接收的数据包作为重复数据包过滤;
当当前接收的数据包的第一序列号等于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与之前接收的数据包的校验码不相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端。
优选地,所述根据节点重启推算获得的校验码为根据数据包的第一序列号和所述节点初始化时的第二序列号计算获得。
优选地,所述根据数据包在节点进位的第二序列号推算获得的校验码为根据数据包的第一序列号和进位的第二序列号计算获得,其中,所述进位的第二序列号根据已接收到的数据包数量推算获得。
第二方面,提供一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的系统,包括:
节点,被配置为向服务器发送数据包;
至少一个网关,被配置为接收并转发所述数据包;
服务器,被配置为接收数据包,其中,所述数据包包括第一序列号以及校验码,所述校验码通过第一序列号和第二序列号共同组成的完整序列号计算获得,其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节;当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的第二序列号推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。
优选地,所述服务器进一步被配置为当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端;当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据数据包在节点进位的第二序列号推算获得的校验码相同,将所述当前接收的数据包作为数据包的第二序列号在节点进位后传输的新数据包发送给应用端。
第三方面,提供一种计算机可读存储介质,其上存储计算机程序指令,其中,所述计算机程序指令在被处理器执行时实现如上所述的方法。
第四方面,提供一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如上所述的方法。
本申请公开了一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法。通过接收数据包,其中,所述数据包包括第一序列号以及校验码,所述校验码通过第一序列号和第二序列号共同组成的完整序列号计算获得,其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节;当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的第二序列号推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。通过此过滤方法可以准确的判断接收的数据包是否重复,从而过滤掉重复的数据包,同时不会误将新的数据包过滤掉。
附图说明
通过以下参照附图对本申请实施例的描述,本申请的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是现有的重复数据包的过滤方法流程图;
图2是本申请实施例的基于LPWAN技术的网络通讯管理平台过滤冗余数据的系统架构图;
图3是本申请实施例的基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法流程图一;
图4是本申请实施例的基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法流程图二;
图5是本申请实施例的接收的数据包的第一序列号大于之前的数据包的第一序列号时过滤冗余数据的方法流程图;
图6是本申请实施例的接收的数据包的第一序列号等于之前的数据包的第一序列号时过滤冗余数据的方法流程图;
图7是本申请实施例的接收的数据包的第一序列号小于之前的数据包的第一序列号时过滤冗余数据的方法流程图;
图8是本申请实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面结合附图对本申请进行详细说明。
图2示出了本申请实施例的基于LPWAN技术的网络通讯管理平台过滤冗余数据的系统架构图。如图2所示,本实施例的系统200可以包括多个节点201-203,多个网关204、205,网络206以及服务器207。节点201-203可以同时和多个网关204、205进行连接。网关204、205分别通过网络206与服务器207连接。网络206用于为网关204、205与服务器207之间提供通信。网络206可以为局域网(LAN)或广域网(WAN),可以为基于有线连接接入的网络或无线连接接入的网络。
优选地,网络206基于无线连接接入的低功耗广域物联网(LPWAN)。LPWAN是物联网应用中的M2M通信场景优化的,由电池供电的,低速率、超低功耗、低占空比的,以星型网络覆盖的,支持单节点最大覆盖可达100公里的蜂窝汇聚网关的远程无线网络通讯技术。该技术具有远距离、低功耗、低运维成本、网络覆盖范围广等特点,与WiFi蓝牙、ZigBee等现有技术相比,LPWAN真正实现了大区域物联网低成本全覆盖。LPWAN可分为两类:一类是工作于未授权频谱的LoRa、SigFox等技术;另一类是工作于授权频谱下,3GPP支持的2/3/4G蜂窝通信技术,比如EC-GSM、LTE Cat-m、NB-IoT等。
节点201-203可以将所连接的设备端的数据包通过网关204、205发送给服务器207,以供服务器207进行存储和处理。由于节点201-203与网关204、205是多对多的关系,网关204、205与服务器207之间是多对一的关系,因此每一个节点201-203的数据包在传送的过程中,可能会被多个网关204、205同时接收,再由各个网关204、205将接收的数据包传送至同一个服务器207,服务器207将接收的重复的数据包进行过滤,将新数据包进行存储并进行相应的处理后发送给应用端。
节点201-203即网络节点,网络节点是指一台电脑或其他设备与一个有独立地址和具有传送或接收数据功能的网络相连。节点可以是工作站、客户、网络用户或个人计算机,还可以是服务器、打印机和其他网络连接的设备。每一个工作站﹑服务器、终端设备、网络设备,即拥有自己唯一网络地址的设备都是网络节点。本实施例中的节点201-203是指采用自组织方式进行组网以及利用无线通信技术进行数据转发,具有数据采集与数据融合转发双重功能。节点201-203将接收的数据通过互联网、卫星等方式传送给最终用户。一个节点201-203可以同时与多个智能设备进行连接,分别将每个智能设备采集的数据进行融合后转发给服务器207。
网关204-205又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。使用在不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器,对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。
服务器207可以是通用数据处理设备。由于服务器207在接收到节点201-203发送的数据包后需要对数据包进行解析,对重复的数据包进行过滤或对新数据包进行存储,因此一般来说服务器207应具备较大的存储能力和较好的数据处理能力。应理解,服务器207可以是集中连接的一个或多个服务器,也可以是以分布式方式相互通信连接的多个服务器集群。
本领域技术人员应理解,图2所示的节点、网关以及服务器的数目仅仅是示例性的,在实际应用中,可以根据需求设置任意数量的节点、网关和服务器。
图3示出了本申请实施例的基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法,具体地包括以下步骤:
步骤S210、接收数据包。
服务器接收节点发送的数据包。其中,所述数据包包括第一序列号以及校验码,所述校验码通过第一序列号和第二序列号共同组成的完整序列号计算获得,其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节。
步骤S220、当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的第二序列号推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。
图4示出了本申请实施例的基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法,具体地包括以下步骤:
步骤S305、接收数据包1。
步骤S310、接收数据包2。
在本实施例中,服务器207通过网关204、205接收节点201-203发送的数据包。节点的数据包包括由第一序列号和第二序列号共同组成的完整序列号、通过第一序列号和第二序列号组成的完整序列号计算获得的校验码以及数据内容。其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节。节点201-203的数据包在通过网关204、205转发给服务器207的过程中,只将完整序列号的第一序列号即低字节、校验码以及数据内容传送给服务器207。节点的数据包的完整序列号可以为8位、10位、16位、32位等无符号二进制整数。在本实施例中,以32位无符号整数为例,数据包2为服务器207新接收的数据包,数据包1服务器207为之前接收的数据包。节点的每一个数据包的完整序列号都为32位的无符号整数,且数据包的序列号为递增。数据包在传送过程中,只传送序列号的低16位。
步骤S320、将所述数据包的第一序列号与之前接收的数据包的第一序列号进行比较。
由于数据包在上传过程中,只传输数据包序列号的低字节,因此,存在以下几种情况会导致服务器207接收到的数据包2的第一序列号可能不是连续增长的,与之前接收到的数据包1的第一序列号之间可能是大于、等于或小于的关系。因此,对于可能出现的三种关系进行判断后,需要判断这三种关系是由哪种情况产生的,并确认所接收到的数据包2是否为新数据包,进而对数据包2进行后续的解析处理等操作。存在第一序列号不连续的情况包括:
1)节点重启:每个节点在掉电的情况下都会进行重启,这时数据包的序列号会重新从初始化开始计数,从而造成数据包的序列号不连续而无法判断数据包是否重复。
2)高字节进位:当数据包的第一序列号(低字节)不断增长时,第二序列号(高字节)就会出现进位,此时,第一序列号相较于之前的数据包的第一序列号较小。而数据包在传送过程中只传送数据包的第一序列号,从而造成与之前的数据包的第一序列号不连续而无法判断数据包是否重复。
3)网关延时发送:多个网关同时接收到节点传送的数据包的序列号是相同的,因此当有的网关可能因为网络连接问题,导致服务器接收到该网关延时传送的数据包,而之前网络连接时的数据包已通过其他网关正常传输给服务器,服务器已将该数据包处理并发送给应用端。由于网关网络延时发送的数据包到达服务器后,将打乱服务器内的数据包的序列号,无法判断数据包是否重复。
步骤S330、接收到的数据包的第一序列号大于之前接收到的数据包的第一序列号。
通过对上述三种情况的分析可知,节点重启后发送的数据包2的第一序列号和正常传输的数据包2的第一序列号可能会大于之前接收的数据包1的第一序列号,因此,当接收到的数据包2的第一序列号大于之前接收到的数据包1的第一序列号时,继续进行判断,如图5所示:
步骤S331、判断所述数据包的校验码与节点重启推算的校验码是否相同。
在本实施例中,通过分析可知,当节点重启后发送的数据包2的第一序列号和正常传输发送的数据包2的第一序列号均大于之前接收的数据包1的第一序列号时,此时数据包2为新数据包。进而只需要判断数据包2是通过节点重启发送的还是正常传输发送的数据包即可。由于数据包2在传输过程中只能传输数据包的低字节即第一序列号以及校验码,而数据包2内存储的校验码是通过在传输前数据包2内的高字节与低字节组成的完整序列号通过预定的算法而获得的,具有唯一标识性。
因此当服务器207接收到数据包2后,可以假设数据包2是通过节点重启后发送的,因此节点重启发送的数据包2的高字节即第二序列号应为初始化整数。那么节点重启推算的数据包2的校验码为初始化的高字节整数和接收的数据包2的低字节整数构成的完整序列号根据预定的算法计算获得。判断所述数据包2的校验码与节点重启推算的校验码是否相同。
步骤S332、判定接收的数据包为正常传输发送的新数据包。
当所述数据包2的校验码与节点重启推算的校验码不相同时,则数据包2为正常传输发送的新数据包,需要跳转到步骤S360进行后续处理。
步骤S333、判定接收的数据包为节点重启后发送的新数据包。
当所述数据包2的校验码与节点重启推算的校验码相同时,则数据包2为节点重启后发送的新数据包,需要跳转到步骤S360进行后续处理。
步骤S340、接收到的数据包的第一序列号等于之前接收到的数据包的第一序列号。
通过对上述三种情况的分析可知,节点重启后发送的数据包2的第一序列号和通过其它网关同时发送的数据包2的第一序列号可能等于之前接收的数据包1的第一序列号,因此,当接收到的数据包2的第一序列号等于之前接收到的数据包1的第一序列号时,继续进行判断,如图6所示:
步骤S341、判断所述数据包的校验码与之前接收的数据包的校验码是否相同。
在本实施例中,通过分析可知,节点重启后发送的数据包2的第一序列号和同时通过其它网关204发送的数据包2的第一序列号都可能等于之前接收的数据包1的第一序列号。
步骤S342、判定接收的数据包为重复数据包。
假设数据包是通过其它网关204同时发送的,那么在数据包2的第一序列号等于数据包1的第一序列号的前提下,数据包2的第二序列号与数据包1的第二序列号相同,因此数据包2内的校验码与之前接收的数据包1的校验码相同。因此当判断数据包2的校验码与数据包1的校验码相同时,数据包2为重复数据包,需要执行步骤S370进行过滤处理。
步骤S343、判定接收的数据包为节点重启后发送的新数据包。
假设数据包2是由于节点重启后发送的,那么在数据包2的第一序列号等于数据包1的第一序列号的前提下,数据包2的第二序列号与数据包1的第二序列号不同,因此数据包2内的校验码与之前接收的数据包1的校验码不同。因此当判断数据包2的校验码与数据包1的校验码不同时,数据包2为新数据包,需要执行步骤S360进行后续处理。
步骤S350、接收到的数据包的第一序列号小于之前接收到的数据包的第一序列号。
通过对上述三种情况的分析可知,节点重启后发送的数据包2的第一序列号、数据包的高字节进位发送的数据包2的第一序列号以及网关延时发送的数据包2的第一序列号均可能小于之前接收的数据包1的第一序号。因此,当接收到的数据包2的第一序列号小于之前接收到的数据包1的第一序列号时,继续进行判断,如图7所示:
步骤S351、判断所述数据包的校验码与节点重启推算的校验码是否相同。
在本实施例中,通过分析可知,节点重启后发送的数据包2的第一序列号、数据包2的第二序列号进位后的第一序列号和网关延时发送的数据包2的第一序列号均可能小于之前接收的数据包1的第一序列号。
因此需要依次判断数据包2的校验码与节点重启推算的校验码或根据数据包2在节点进位的第二序列号推算获得的校验码是否相同。
步骤S352、判定接收的数据包为节点重启后发送的新数据包。
当数据包2的校验码与节点重启推算的校验码相同时,则数据包2为节点重启发送的,此数据包2为新数据包,需要执行步骤S360进行后续处理。其中,节点重启推算的校验码为初始化的高字节整数和接收的数据包2的低字节整数构成的完整序列号根据预定的算法计算获得。
当数据包2的校验码与节点重启推算的校验码不相同时,需要跳转到步骤S353继续进行判断。
步骤S353、判断数据包2的校验码与根据数据包2在节点进位的第二序列号推算获得的校验码是否相同。
由于数据包2的第二序列号在进位时,可以根据二进制的进位规则以及服务器接收的数据包的数量推断出进位后的第二序列号。因此,根据数据包2在节点进位的第二序列号推算获得的校验码为推断的进位后的第二序列号和接收的数据包2的第一序列号构成的完整序列号根据预定的算法计算获得。
其中,在本实施例中,步骤S351和步骤S353的判断顺序可以交换,依然能达到判断的目的。
步骤S354、判定接收的数据包为网关延时发送的重复数据包。
当步骤S351和S353判断的校验码都不相同时,则数据包2为网关204延时发送的,那么服务器207内已通过其它网关205正常传输给服务器207,因此网关延时发送的数据包2为重复数据包,需要跳转到步骤S370进行过滤处理。
步骤S355、判定接收的数据包为第二序列号进位后发送的数据包。
数据包2的校验码与根据数据包2在节点进位的第二序列号推算获得的校验码相同时,则数据包2为第二序列号进位后发送的,此数据包2为新数据包,需要跳转到步骤S360进行后续处理。
步骤S360、将所述新数据包发送给应用端。
将经过判断后的新数据包进行存储和处理后,发送给相应的应用端,执行相应的动作。
步骤S370、将所述重复数据包进行过滤。
本申请公开了一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法。通过服务器接收数据包,其中,所述数据包包括构成数据包完整序列号低字节的第一序列号以及校验码,所述校验码通过数据包的完整序列号计算获得,当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的高字节推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。通过此过滤方法可以准确的判断接收的数据包是否重复,从而过滤掉重复的数据包,同时不会误将新的数据包过滤掉。
图8是本申请实施例的电子设备的示意图。图8所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器71和存储器72。处理器71和存储器72通过总线73连接。存储器72适于存储处理器71可执行的指令或程序。处理器71可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器71通过执行存储器72所存储的指令,从而执行如上所述的本申请实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线73将上述多个组件连接在一起,同时将上述组件连接到显示控制器74和显示装置以及输入/输出(I/O)装置75。输入/输出(I/O)装置75可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置75通过输入/输出(I/O)控制器76与系统相连。优选地,本实施例的电子设备为服务器。
同时,如本领域技术人员将意识到的,本申请实施例的各个方面可以被实现为系统、方法或计算机程序产品。因此,本申请实施例的各个方面可以采取如下形式:完全硬件实施方式、完全软件实施方式(包括固件、常驻软件、微代码等)或者在本文中通常可以都称为“电路”、“模块”或“系统”的将软件方面与硬件方面相结合的实施方式。此外,本申请的方面可以采取如下形式:在一个或多个计算机可读介质中实现的计算机程序产品,计算机可读介质具有在其上实现的计算机可读程序代码。
可以利用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光存储装置、磁存储装置或前述的任意适当的组合。在本发申请实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。
计算机可读信号介质可以包括传播的数据信号,所述传播的数据信号具有在其中如在基带中或作为载波的一部分实现的计算机可读程序代码。这样的传播的信号可以采用多种形式中的任何形式,包括但不限于:电磁的、光学的或其任何适当的组合。计算机可读信号介质可以是以下任意计算机可读介质:不是计算机可读存储介质,并且可以对由指令执行系统、设备或装置使用的或结合指令执行系统、设备或装置使用的程序进行通信、传播或传输。
可以使用包括但不限于无线、有线、光纤电缆、RF等或前述的任意适当组合的任意合适的介质来传送实现在计算机可读介质上的程序代码。
用于执行针对本申请各方面的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括:面向对象的编程语言如Java、Smalltalk、C++等;以及常规过程编程语言如“C”编程语言或类似的编程语言。程序代码可以作为独立软件包完全地在用户计算机上、部分地在用户计算机上执行;部分地在用户计算机上且部分地在远程计算机上执行;或者完全地在远程计算机或服务器上执行。在后一种情况下,可以将远程计算机通过包括局域网(LAN)或广域网(WAN)的任意类型的网络连接至用户计算机,或者可以与外部计算机进行连接(例如通过使用因特网服务供应商的因特网)。
上述根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图图例和/或框图描述了本申请的各个方面。将要理解的是,流程图图例和/或框图的每个块以及流程图图例和/或框图中的块的组合可以由计算机程序指令来实现。这些计算机程序指令可以被提供至通用计算机、专用计算机或其它可编程数据处理设备的处理器,以产生机器,使得(经由计算机或其它可编程数据处理设备的处理器执行的)指令创建用于实现流程图和/或框图块或块中指定的功能/动作的装置。
还可以将这些计算机程序指令存储在可以指导计算机、其它可编程数据处理设备或其它装置以特定方式运行的计算机可读介质中,使得在计算机可读介质中存储的指令产生包括实现在流程图和/或框图块或块中指定的功能/动作的指令的制品。
计算机程序指令还可以被加载至计算机、其它可编程数据处理设备或其它装置上,以使在计算机、其它可编程设备或其它装置上执行一系列可操作步骤来产生计算机实现的过程,使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或框图块或块中指定的功能/动作的过程。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域技术人员而言,本申请可以有各种改动和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的方法,包括:
接收数据包,其中,所述数据包包括第一序列号以及校验码,所述校验码通过第一序列号和第二序列号共同组成的完整序列号计算获得,其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节;
当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的第二序列号推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端;
所述当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据数据包在节点进位的第二序列号推算获得的校验码相同,将所述当前接收的数据包作为数据包的第二序列号在节点进位后传输的新数据包发送给应用端。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当当前接收的数据包的第一序列号大于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端;
当当前接收的数据包的第一序列号大于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码不相同,将所述当前接收的数据包作为正常传输的新数据包发送给应用端。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当当前接收的数据包的第一序列号等于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与之前接收的数据包的校验码相同,将所述当前接收的数据包作为重复数据包过滤;
当当前接收的数据包的第一序列号等于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与之前接收的数据包的校验码不相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端。
5.根据权利要求3所述的方法,其特征在于,所述根据节点重启推算获得的校验码为根据数据包的第一序列号和所述节点初始化时的第二序列号计算获得。
6.根据权利要求2所述的方法,其特征在于,所述根据数据包在节点进位的第二序列号推算获得的校验码为根据数据包的第一序列号和进位的第二序列号计算获得,其中,所述进位的第二序列号根据已接收到的数据包数量推算获得。
7.一种基于LPWAN技术的网络通讯管理平台过滤冗余数据的系统,包括:
节点,被配置为向服务器发送数据包;
至少一个网关,被配置为接收并转发所述数据包;
服务器,被配置为接收数据包,其中,所述数据包包括第一序列号以及校验码,所述校验码通过第一序列号和第二序列号共同组成的完整序列号计算获得,其中,所述第一序列号构成完整序列号的低字节,所述第二序列号构成所述完整序列号的高字节;当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码和根据数据包在节点进位的第二序列号推算获得的校验码均不相同,将所述当前接收的数据包作为延时发送的重复数据包过滤。
8.根据权利要求7所述的系统,其特征在于,所述服务器进一步被配置为当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据节点重启推算获得的校验码相同,将所述当前接收的数据包作为节点重启后传输的新数据包发送给应用端;当当前接收的数据包的第一序列号小于之前接收的数据包的第一序列号时,如果所述当前接收的数据包的校验码与根据数据包在节点进位的第二序列号推算获得的校验码相同,将所述当前接收的数据包作为数据包的第二序列号在节点进位后传输的新数据包发送给应用端。
9.一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-6任一项所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810112705.0A CN108334424B (zh) | 2018-02-05 | 2018-02-05 | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810112705.0A CN108334424B (zh) | 2018-02-05 | 2018-02-05 | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108334424A true CN108334424A (zh) | 2018-07-27 |
CN108334424B CN108334424B (zh) | 2020-11-10 |
Family
ID=62928592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810112705.0A Active CN108334424B (zh) | 2018-02-05 | 2018-02-05 | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108334424B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113728604A (zh) * | 2019-02-05 | 2021-11-30 | 卡萨系统公司 | 用于恢复网络关联信息的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913484A (zh) * | 2005-08-09 | 2007-02-14 | 大唐移动通信设备有限公司 | 数据包序列号计算方法及数据包传输方法 |
CN102598590A (zh) * | 2009-09-23 | 2012-07-18 | 威罗门飞行公司 | 具有性能监测的主动多路径网络冗余 |
CN102769572A (zh) * | 2012-07-30 | 2012-11-07 | 福建星网锐捷网络有限公司 | 报文防重放方法及装置、网络设备 |
WO2014133411A1 (ru) * | 2013-02-26 | 2014-09-04 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ предотвращения повторного использования пакетов цифровых данных |
US20180060149A1 (en) * | 2016-08-25 | 2018-03-01 | Uptake Technologies, Inc. | Interface Tool for Asset Fault Analysis |
-
2018
- 2018-02-05 CN CN201810112705.0A patent/CN108334424B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1913484A (zh) * | 2005-08-09 | 2007-02-14 | 大唐移动通信设备有限公司 | 数据包序列号计算方法及数据包传输方法 |
CN102598590A (zh) * | 2009-09-23 | 2012-07-18 | 威罗门飞行公司 | 具有性能监测的主动多路径网络冗余 |
CN102769572A (zh) * | 2012-07-30 | 2012-11-07 | 福建星网锐捷网络有限公司 | 报文防重放方法及装置、网络设备 |
WO2014133411A1 (ru) * | 2013-02-26 | 2014-09-04 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ предотвращения повторного использования пакетов цифровых данных |
US20180060149A1 (en) * | 2016-08-25 | 2018-03-01 | Uptake Technologies, Inc. | Interface Tool for Asset Fault Analysis |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113728604A (zh) * | 2019-02-05 | 2021-11-30 | 卡萨系统公司 | 用于恢复网络关联信息的方法和装置 |
US11750725B2 (en) | 2019-02-05 | 2023-09-05 | Casa Systems, Inc. | Methods and apparatus for recovering network association information |
CN113728604B (zh) * | 2019-02-05 | 2023-09-08 | 卡萨系统公司 | 用于恢复网络关联信息的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108334424B (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104333511B (zh) | 确定业务传输路径的方法、装置及系统 | |
ES2699914T3 (es) | Procedimientos y sistemas de conectividad de red | |
CN103746911B (zh) | 一种sdn网络结构及其通信方法 | |
CN108141781A (zh) | 用于基于sdn的蜂窝网络架构的服务质量配置框架 | |
US20190138295A1 (en) | Delivery of firmware updates in a low-power mesh network | |
CN105264930B (zh) | 发送节点及其缓存状态上报方法 | |
CN105407080B (zh) | 一种制定虚拟机部署策略的方法及装置 | |
JP2011055050A (ja) | ノード関連情報を収集するシステム、ノード装置、およびフレーム処理方法 | |
WO2013169422A1 (en) | Communications management | |
CN111835564A (zh) | 一种电力物联网通信链路故障自适应恢复方法及系统 | |
Uchida et al. | Evaluation of wireless network communication by autonomous flight wireless nodes for resilient networks | |
Zegzhda et al. | Achieving Internet of Things security via providing topological sustainability | |
CN108075912A (zh) | 网络中心节点的确定方法、装置及设备节点 | |
CN105516002B (zh) | 数据传输方法及装置 | |
CN108334424A (zh) | 基于lpwan技术的网络通讯管理平台过滤冗余数据的方法 | |
CN107770239A (zh) | 用于通过网络通信的方法和设备 | |
CN109587754A (zh) | 网络设备节点选择方法、装置及计算机可读存储介质 | |
CN104009943B (zh) | Lldp报文传输方法及dcb设备 | |
EP3094054B1 (en) | Method and controller for notifying bandwidth of cluster system | |
CN107465538A (zh) | 一种物联网终端迁移方法和网关 | |
US8442070B1 (en) | Fractional threshold encoding and aggregation | |
Izumi et al. | An adaptive multipath routing scheme based on SDN for disaster-resistant storage systems | |
CN105900383B (zh) | 通信系统、控制节点和通信方法 | |
CN110139371A (zh) | 一种资源分配方法、终端和网络侧设备 | |
CN110213170A (zh) | 一种报文传输的方法及装置 |
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 |