用于对帧数据进行实时过滤的方法和系统与流程

文档序号:17481630发布日期:2019-04-20 06:29阅读:369来源:国知局
用于对帧数据进行实时过滤的方法和系统与流程

本发明涉及用于对帧数据进行实时过滤的方法和系统。



背景技术:

今天随着物联网(iot)的高速发展,以ieee802.15.4为标准的低功耗个人网络硬件设备正大量的涌入市场。在大量设备连接的网络中,如何进行高效的接收帧过滤显得尤为重要。一个性能优秀的帧过滤系统,能有效的提高系统的接收数据吞吐量,降低接收帧的丢失率以及系统的响应时延,很好的增加系统的实时性。

目前市面上流通的设备,在接收器帧过滤功能上,基本采用先缓存,再过滤的机制,这种机制直观简单,但是有着明显的缺点,体现为:无论当前接收帧是合法帧还是非法帧,都必须完整接收整个帧,才进行判断。这会导致,如果当前的接收帧是一个长字节的非法帧,那么系统会浪费大量时间在接收一个非法的帧,与此同时无法接收另外的合法帧,导致合法帧只能进行重传或通过其他操作来完成正常传输,这会增加网络节点的传输时延与负载量。当整个网络系统继续增大时,每一个节点的传输时延的增加将大大降低系统的响应速度,甚至影响整个系统的功能。

在这样的背景下,存在提出一种更实时高效的帧过滤方法和系统的需求。



技术实现要素:

本公开的实施例提供了一种用于对帧数据进行实时过滤的方法,包括:将接收到的射频信号解调为帧数据流;提取帧数据流中的帧数据的字段;判断字段是否合法;以及当字段被判断为非法时,丢弃帧数据。

在一个实施例中,方法还包括缓存帧数据流,其中,丢弃帧数据包括切断缓存帧数据的进程。

在一个实施例中,方法还包括当帧数据的所有字段都被判断为合法时,将帧数据写入帧存储器。

在一个实施例中,方法还包括缓存帧数据流,其中,将帧数据写入帧存储器包括将缓存的帧数据写入帧存储器。

在一个实施例中,帧数据是ieee802.15.4帧数据。

在一个实施例中,字段包括sfd字段,并且其中,当sfd字段中的第一符号的值等于7或第二符号的值等于a时,判断sfd字段为合法,并且当sfd字段中的第一符号的值不等于7并且第二符号的值不等于a时,判断sfd字段为非法。

在一个实施例中,字段还包括帧长度字段,并且其中,当帧长度字段的值小于等于127时,判断帧长度字段为合法,并且当帧长度字段的值大于127时,判断帧长度字段为非法。

在一个实施例中,字段还包括帧控制字段,帧控制字段包括保留位、帧类型位、源地址模式位、目的地地址模式位、和帧版本位,并且其中,当保留位的值等于0、帧类型位的值小于等于3、源地址模式位的值不等于1、目的地地址模式位的值不等于1、并且帧版本位的值等于0或1时,判断帧控制字段为合法,并且当保留位的值不等于0、或帧类型位的值大于3、或源地址模式位的值等于1、或目的地地址模式位的值等于1、或帧版本位的值不等于0或1时,判断帧控制字段为非法。

本公开的实施例还提供了一种帧过滤系统,包括:接收器,接收射频信号,并且将射频信号解调为帧数据流;帧数据提取器,提取帧数据流中的帧数据的字段;帧过滤器,判断字段是否合法;帧缓存,缓存帧数据流,并且基于帧过滤器的判断结果,切断缓存帧数据的进程或将缓存的帧数据写入帧存储器;以及帧存储器,存储由帧缓存写入的帧数据。

本公开的实施例还提供了一种存储有指令的计算机可读存储介质,该指令再被一个或多个处理器执行时,使得一个或多个处理器执行上述方法。

附图说明

从下面结合附图对本公开的具体实施方式的描述中,可以更好地理解本发明,其中:

图1是示出ieee802.15.4帧结构以及psdu结构以及帧控制结构的图示。

图2是示出传统的帧过滤系统的框图。

图3是示出传统的帧过滤方法的流程图。

图4是示出用于对帧数据进行实时过滤的系统的框图。

图5是示出用于对帧数据进行实时过滤的方法的流程图。

具体实施方式

下面将详细描述本本公开各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本公开的全面理解。但是,对于本领域技术人员来说显而易见的是,本公开可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本公开的示例来提供对本公开更清楚的理解。本公开绝不限于下面所提出的任何具体配置,而是在不脱离本发明的精神的前提下覆盖了相关元素或部件的任何修改、替换和改进。

图1是示出ieee802.15.4帧结构100的图示。如图1所示,ieee802.15.4帧结构100可以包括:前导码(preamble)字段;帧头分隔符(start-of-framedelimiter,sfd)字段;帧长度(framelength&reserved)字段;物理层服务数据单元(physervicedataunit,psdu)字段。作为示例,前导码字段用于接收端符号同步,一般为全0x00(不同的调制方式长度不同)。sfd字段用于标识ieee802.15.4标准的帧结构,数值为十六进制的0xa7。根据ieee802.15.4标准,帧长度字段的值小于等于127,并且保留位为0。psdu字段承载主要的帧业务数据。

在实施例中,sfd字段和帧长度字段可以被用来进行本公开的帧过滤方法。作为示例,sfd字段的第一符号的值应当等于7,并且第二符号的值应当等于a。此外,帧长度字段的值应当小于等于127。

其中,psdu可以包括以下媒体访问控制层帧头(mediumaccesscontrolheader,mhr)字段、mac有效载荷(macpayload)字段、mac帧尾(macfooter,mfr)字段。

其中,mhr可以包括帧控制(framecontrol)字段、序列号(sequencenumber)字段、目的地地址(destinationaddress)字段、源地址(sourceaddress)字段、和辅助安全报头(auxiliarysecurityheader)字段。

其中,帧控制字段可以包括:帧类型(frametype)位;安全使能(securityenabled)位;帧等待(framepending)位;要求确认(ackrequired)位;压缩报头(panidcompression)位;保留(reserved)位;源地址模式(sourceaddressmode)位;目的地地址模式(destinationaddressmode)位;帧版本(frameversion)位等等。

其中,保留位、帧类型位、源地址模式位、目的地地址模式位、和帧版本位可以被用来进行本公开的帧过滤方法。其中,保留位应当为0,帧类型位应当小于等于3,源地址模式位应当不等于1,目的地地址模式位应当不等于1,并且帧版本位应当等于0或1。

图2是示出传统的帧过滤系统的框图。如图所示,传统的帧过滤系统由以下部分组成:接收器、帧缓存、帧过滤器、和帧存储器。

接收器模块用于接收射频信号,同时把调制的射频信号解调,还原通讯的帧数据,把接收帧数据输出到帧缓存。帧缓存把帧数据信息进行缓存。帧过滤在完成帧缓存后,读取帧缓存中存储的帧数据,然后根据ieee802.15.4的帧格式对缓存的帧数据进行验证与过滤。如果接收帧符合帧格式,把接收帧继续传输到帧存储中进行存储;如果接收帧不符合帧格式,为非法帧,则丢弃该帧,清空帧缓存。

图3是示出传统的帧过滤方法的流程图。如图所示,传统的帧过滤算法流程包括:接收器接收完整的帧数据;把帧数据缓存到帧缓存模块;对接收帧的每一个字段数据进行检查过滤,最后判断帧是否合法,如果合法,把当前帧数据保存到帧存储模块中,若非法,丢弃当前帧。

传统的帧过滤方法对接收帧采用先缓存再检测过滤的方法。这使得帧过滤的实时性较差,同时在帧缓存,帧判断的时候无法正常接收下一帧数据,引起节点在一段时间内的接收的真空期。本公开针对此问题提出了新的帧过滤方法。

本公开提出了一种用于对帧数据进行实时过滤的方法和系统,使得能够更高效地进行实时帧过滤。下面结合附图,详细描述根据本公开实施例的用于对帧数据进行实时过滤的方法和系统。

图4是示出用于对帧数据进行实时过滤的系统的框图。如图所示,本公开的用于对帧数据进行实时过滤的系统包括接收器、帧数据提取器、帧过滤器、帧缓存、以及帧存储器。

在实施例中,接收器用于接收射频信号并且将射频信号解调为帧数据流。帧数据提取器用于提取帧数据流中的帧数据的字段。帧过滤器用于判断字段是否合法,并且实时控制帧缓存继续进行或切断缓存帧数据的进程。帧缓存用于缓存帧数据流,并且基于帧过滤器的判断结果,切断缓存帧数据的进程或将缓存的帧数据写入帧存储器。帧存储器用于存储由帧缓存写入的帧数据。

在实施例中,帧数据提取器在帧缓存对帧数据流进行缓存的同时,根据接收到的帧数据中的字段的顺序及位置对帧数据流进行提取。然后,帧数据提取器将帧数据中的字段传送给帧过滤器。

在实施例中,帧过滤器根据ieee802.15.4帧结构对帧数据中的字段按顺序进行逐字段的判断,一旦出现非法的字段,切断帧缓存的进程,等候下一帧数据。如果所有数据字段均正确,则帧过滤器给出合法判断,并且提示帧缓存将缓存的帧数据写入帧存储器。

图5是示出用于对帧数据进行实时过滤的方法的流程图。如图所示,本公开的用于对帧数据进行实时过滤的方法包括:将接收到的射频信号解调为帧数据流;提取帧数据流中的帧数据的字段;判断字段是否合法;以及当字段被判断为非法时,丢弃帧数据。

在实施例中,提取帧数据流中的帧数据的字段是在缓存帧数据流的同时进行的。此外,提取帧数据流中的帧数据的字段是根据ieee802.15.4帧结构,按顺序对帧数据中的多个字段进行提取的。

在实施例中,在提取了帧数据的字段以后,根据ieee802.15.4帧结构,将该字段与预定值进行比较,来判断字段是否合法。

在实施例中,方法还包括缓存帧数据流,其中,丢弃帧数据包括切断缓存帧数据的进程。作为示例,在按顺序提取帧数据的字段并且逐字段进行判断时,一旦判断为非法字段,就切断缓冲该帧数据的进程。

在实施例中,方法还包括当帧数据的所有字段都被判断为合法时,将帧数据写入帧存储器。在实施例中,方法还包括缓存帧数据流,其中,将帧数据写入帧存储器包括将缓存的帧数据写入帧存储器。作为示例,当提取的帧数据的所有字段都被判断为合法时,将缓存的帧数据写入帧存储器。

在实施例中,提取的帧数据的字段可以包括sfd字段,并且其中,当sfd字段中的第一符号的值等于7或第二符号的值等于a时,判断sfd字段为合法,并且当sfd字段中的第一符号的值不等于7并且第二符号的值不等于a时,判断sfd字段为非法。

作为示例,按顺序首先对sfd字段进行提取和过滤。sfd字段可以包括两个字符,其中,第一符号的值应当等于7,并且第二符号的值应当等于a。在对sfd字段进行过滤时,考虑到准确性问题,对sdf字段进行模糊过滤。在实施例中,模糊过滤方式如下:判断第一符号的值是否为7,如果是,继续判断第二符号的值是否为a,此时,无论第二符号的值是否为a,都继续进行后续的判断,即使第二符号的值不为a,也不将帧数据判断为非法帧。如果判断第一符号的值不是7,继续判断第二符号的值,如果第二符号的值为a,则继续后续的判断,暂时将帧数据判断为合法帧;如果第二符号的值不为a,此时才把当前帧数据判断为非法帧数据,并且可以切断缓冲当前帧数据的进程。

该模糊过滤方式,降低了对sfd字段过滤的敏感度,由于sfd只有两个符号,在低信噪比的环境下,非常容易出现某一个符号的错误,如果只要sfd字段的错误就判定为非法帧,会大大降低帧的接收率。对sfd字段的模糊过滤很好的规避了这种现象,既保证帧过滤的准确度与实时性,也保证了帧的接收率。

如果当前帧数据通过了sfd字段的模糊过滤,则可以进行其他字段的过滤。

在实施例中,字段还可以包括帧长度字段,并且其中,当帧长度字段的值小于等于127时,判断帧长度字段为合法,并且当帧长度字段的值大于127时,判断帧长度字段为非法。

作为示例,当帧长度字段的值小于等于127时,进行后续的判断。此外,当帧长度字段的值大于127时,丢弃当前帧数据,等待下一帧数据。在实施例中,可以切断缓冲当前帧数据的进程。

在一个实施例中,字段还可以包括帧控制字段,帧控制字段包括保留位、帧类型位、源地址模式位、目的地地址模式位、和帧版本位,并且其中,当保留位的值等于0、帧类型位的值小于等于3、源地址模式位的值不等于1、目的地地址模式位的值不等于1、并且帧版本位的值等于0或1时,判断帧控制字段为合法,并且当保留位的值不等于0、或帧类型位的值大于3、或源地址模式位的值等于1、或目的地地址模式位的值等于1、或帧版本位的值不等于0或1时,判断帧控制字段为非法。

作为示例,在对帧控制字段进行判断时,一旦某个位出现任何非法值,随即判断当前帧数据为非法。在实施例中,可以切断缓冲当前帧数据的进程。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如互联网、内联网等的计算机网络被下载。

本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本发明的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1