报文过滤方法、装置、设备及存储介质制造方法及图纸

技术编号:16822446 阅读:51 留言:0更新日期:2017-12-16 17:12
本发明专利技术公开了一种报文过滤方法、装置、设备及存储介质,其中该方法包括:接收DDS报文;判断DDS报文类型;如果是发布主题报文,根据预设的主题策略表对DDS报文进行主题过滤;如果是数据报文,根据主题策略表与标识策略表的对应关系及DDS报文的发布者标识信息,在主题策略表中查找DDS报文对应的数据处理信息,并按数据处理信息对DDS报文进行数据字段过滤;主题策略表与标识策略表的对应关系为:主题策略表中主题的索引地址存储在标识策略表中发布者标识信息对应的表项中。本发明专利技术根据主题策略表、标识策略表及二者对应关系,协助用户完成对满足主题条件或数据字段条件的DDS报文进行过滤,满足用户多样化的发布订阅需求。

Message filtering method, device, equipment and storage medium

The invention discloses a message filtering method, apparatus, equipment and storage medium, wherein the method comprises: receiving DDS message; judging DDS message types; if it is issued according to the preset message theme, theme strategy table topic filtering the DDS message; if the message data, according to the theme of strategy table and marking strategy table the relationship between DDS and the message publisher identification information, processing information in the DDS message theme strategy table to find the corresponding data processing, and data filtering of the DDS message according to the field data; theme strategy table and corresponding relation identification policy table for table index address storage strategy table theme theme publisher in the identification of identification information corresponding strategies in the table. According to the theme strategy table, the identification strategy table and the corresponding relationship between the two, the invention assists users in filtering DDS messages that satisfy the requirements of subject conditions or data fields, and satisfies users' diversified demand for publish and subscribe.

【技术实现步骤摘要】
报文过滤方法、装置、设备及存储介质
本专利技术实施例涉及报文处理技术,尤其涉及一种报文过滤方法、装置、设备及存储介质。
技术介绍
数据分发服务(DataDistributionService,DDS)用于在分布式应用程序的参与者之间分发数据,例如在发布/订阅模式下完成消息的发布与订阅。发布/订阅(Publish–Subscribe)是一种消息传播模式,消息的发送者(即发布者)不会将消息直接发送给特定的接收者(即订阅者),而是将发布的消息按特征分类,无需对订阅者有所了解;同样的,订阅者可以表达对一个或多个类别的兴趣,只接收感兴趣的消息,无需对发布者有所了解。在发布/订阅模型中,订阅者通常只接收所有发布消息的一个子集,由此涉及到消息的过滤,即对需要接收和处理的消息做出选择的过程。目前,较为通用的消息过滤方式是基于主题实现过滤。在基于主题的系统中,所有消息均被发布到“主题”(Topic),订阅者将收到其订阅的主题上的所有消息,而且同一主题的所有订阅者将接收到同样的消息;发布者负责定义订阅者可以订阅的消息类别。仅基于主题进行过滤,难以满足用户多样化的发布订阅需求,尤其是对消息内容的需求。另外,还存在基于订阅方ID实现过滤的方法,基于响应方ID和请求方ID进行消息过滤,确保响应方仅接收到以自己为目标的请求消息,以及确保请求方仅收到以自己为目标的响应消息。该方法仅能实现基于订阅方ID的过滤,同样难以满足用户多样化的发布订阅需求。
技术实现思路
本专利技术提供一种报文过滤方法、装置、设备及存储介质,能够基于主题和/或数据字段对DDS报文进行过滤,以满足用户多样化的发布订阅需求。第一方面,本专利技术实施例提供了一种报文过滤方法,包括:接收DDS报文;判断所述DDS报文的类型;如果所述DDS报文是发布主题报文,根据预设的主题策略表对所述DDS报文进行主题过滤;如果所述DDS报文是数据报文,根据所述主题策略表与标识策略表的对应关系以及所述DDS报文的发布者标识信息,在所述主题策略表中查找所述DDS报文对应的数据处理信息,并按照所述数据处理信息对所述DDS报文进行数据字段过滤;其中,所述主题策略表与所述标识策略表的对应关系为:所述主题策略表中主题的索引地址存储在所述标识策略表中发布者标识信息对应的表项中。进一步的,根据预设的主题策略表对所述DDS报文进行主题过滤包括:在所述主题策略表中查找所述DDS报文的主题的匹配项;如果所述主题策略表中存在所述主题的匹配项,控制所述DDS报文通过;如果所述主题策略表中不存在所述主题的匹配项,按照第一默认动作处理所述DDS报文。进一步的,如果所述DDS报文是发布主题报文,所述方法还包括:将所述DDS报文的发布者标识信息和所述DDS报文的主题在所述主题策略表中的主题表索引地址写入所述标识策略表中的表项。进一步的,将所述DDS报文的发布者标识信息和所述DDS报文的主题在所述主题策略表中的主题表索引地址写入所述标识策略表中的表项,包括:记录所述DDS报文的主题的匹配项在所述主题策略表中的主题表索引地址;对所述DDS报文的发布者标识信息进行哈希运算,得到第一运算结果;在所述标识策略表中查找与所述第一运算结果相同的标识表索引地址,将所述发布者标识信息和所述主题表索引地址,写入所述标识策略表中所述标识表索引地址对应的表项,其中,所述发布者标识信息写入所述标识表索引地址对应表项中的标识项,所述主题表索引地址写入所述标识表索引地址对应表项中的索引项。进一步的,根据所述主题策略表与标识策略表的对应关系以及所述DDS报文的发布者标识信息,在所述主题策略表中查找所述DDS报文对应的数据处理信息,包括:在所述标识策略表中获取所述DDS报文的发布者标识信息对应表项中索引项的内容;将所述索引项的内容作为当前主题表索引地址,在所述主题策略表中查找所述当前主题表索引地址对应表项中的数据处理信息。进一步的,所述主题策略表中包括主题和数据处理信息的对应关系,所述标识策略表中包括发布者标识信息和所述发布者发布的主题在所述主题策略表中的索引地址的对应关系。进一步的,所述报文过滤方法基于现场可编程门阵列(FieldProgrammableGateArray,FPGA)实现,所述主题策略表中的表项内容由用户通过管理配置接口预先配置。第二方面,本专利技术实施例还提供了一种报文过滤装置,包括:报文接收模块,用于接收DDS报文;类型判断模块,用于判断所述DDS报文的类型;第一报文过滤模块,用于在所述DDS报文是发布主题报文的情况下,根据预设的主题策略表对所述DDS报文进行主题过滤;第二报文过滤模块,用于在所述DDS报文是数据报文的情况下,根据所述主题策略表与标识策略表的对应关系以及所述DDS报文的发布者标识信息,在所述主题策略表中查找所述DDS报文对应的数据处理信息,并按照所述数据处理信息对所述DDS报文进行数据字段过滤;其中,所述主题策略表与所述标识策略表的对应关系为:所述主题策略表中主题的索引地址存储在所述标识策略表中发布者标识信息对应的表项中。进一步的,所述主题策略表中包括主题和数据处理信息的对应关系,所述标识策略表中包括发布者标识信息和所述发布者发布的主题在所述主题策略表中的索引地址的对应关系。第三方面,本专利技术实施例还提供了一种设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所述的报文过滤方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术任意实施例所述的报文过滤方法。本专利技术根据预设的主题策略表、标识策略表以及二者的对应关系,能够协助用户完成对满足主题条件或者数据字段条件的DDS报文进行过滤,允许报文在网络中转发或者丢弃报文,即实现基于主题和/或数据字段的DDS报文过滤,解决了现有报文过滤无法满足用户多样化的发布订阅需求的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的报文过滤方法的流程图;图2是本专利技术实施例一提供的主题策略表的示意图;图3是本专利技术实施例二提供的标识策略表的示意图;图4是本专利技术实施例二提供的报文过滤方法的流程图;图5是本专利技术实施例二提供的报文过滤方法的另一流程图;图6是本专利技术实施例三提供的报文过滤方法的流程图;图7是本专利技术实施例四提供的报文过滤装置的结构框图;图8是本专利技术实施例五提供的报文过滤方法的实施拓扑框图;图9是本专利技术实施例六提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。在介绍本专利技术各实施例之前,先对DDS报文的类型进行说明,DDS报文实际上是基于实时流传输协议(RealTimeStreamingProt本文档来自技高网...
报文过滤方法、装置、设备及存储介质

【技术保护点】
一种报文过滤方法,其特征在于,包括:接收数据分发服务DDS报文;判断所述DDS报文的类型;如果所述DDS报文是发布主题报文,根据预设的主题策略表对所述DDS报文进行主题过滤;如果所述DDS报文是数据报文,根据所述主题策略表与标识策略表的对应关系以及所述DDS报文的发布者标识信息,在所述主题策略表中查找所述DDS报文对应的数据处理信息,并按照所述数据处理信息对所述DDS报文进行数据字段过滤;其中,所述主题策略表与所述标识策略表的对应关系为:所述主题策略表中主题的索引地址存储在所述标识策略表中发布者标识信息对应的表项中。

【技术特征摘要】
1.一种报文过滤方法,其特征在于,包括:接收数据分发服务DDS报文;判断所述DDS报文的类型;如果所述DDS报文是发布主题报文,根据预设的主题策略表对所述DDS报文进行主题过滤;如果所述DDS报文是数据报文,根据所述主题策略表与标识策略表的对应关系以及所述DDS报文的发布者标识信息,在所述主题策略表中查找所述DDS报文对应的数据处理信息,并按照所述数据处理信息对所述DDS报文进行数据字段过滤;其中,所述主题策略表与所述标识策略表的对应关系为:所述主题策略表中主题的索引地址存储在所述标识策略表中发布者标识信息对应的表项中。2.根据权利要求1所述的方法,其特征在于,根据预设的主题策略表对所述DDS报文进行主题过滤包括:在所述主题策略表中查找所述DDS报文的主题的匹配项;如果所述主题策略表中存在所述主题的匹配项,控制所述DDS报文通过;如果所述主题策略表中不存在所述主题的匹配项,按照第一默认动作处理所述DDS报文。3.根据权利要求1或2所述的方法,其特征在于,如果所述DDS报文是发布主题报文,所述方法还包括:将所述DDS报文的发布者标识信息和所述DDS报文的主题在所述主题策略表中的主题表索引地址写入所述标识策略表中的表项。4.根据权利要求3所述的方法,其特征在于,将所述DDS报文的发布者标识信息和所述DDS报文的主题在所述主题策略表中的主题表索引地址写入所述标识策略表中的表项,包括:记录所述DDS报文的主题的匹配项在所述主题策略表中的主题表索引地址;对所述DDS报文的发布者标识信息进行哈希运算,得到第一运算结果;在所述标识策略表中查找与所述第一运算结果相同的标识表索引地址,将所述发布者标识信息和所述主题表索引地址,写入所述标识策略表中所述标识表索引地址对应的表项,其中,所述发布者标识信息写入所述标识表索引地址对应表项中的标识项,所述主题表索引地址写入所述标识表索引地址对应表项中的索引项。5.根据权利要求1所述的方法,其特征在于,根据所述主题策略表与标识策略表的对应关系以及所述DDS报文的发布者标识信息,在所...

【专利技术属性】
技术研发人员:包鹏飞
申请(专利权)人:北京东土军悦科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1