首页 / 专利库 / 无土农业 / 过滤器 / 组播报文过滤方法、装置和组播报文接收设备

组播报文过滤方法、装置和组播报文接收设备

阅读:1056发布:2020-06-05

专利汇可以提供组播报文过滤方法、装置和组播报文接收设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种组播报文过滤方法、装置和组播报文接收设备,其中方法包括:接收当前组播报文;由当前组播报文的当前组播地址中逐级提取出相应段的数码;根据提取出的数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的第一过滤参数逐级进行当前组播报文的过滤。其通过根据预先设置的每一级别的过滤参数进行当前组播报文的过滤,能够严格按照订阅组播报文进行组播报文的接收传递,并将非订阅报文完全屏蔽掉,从而有效提高了组播报文的过滤精确度,最终解决了传统的组播过滤 算法 过滤 精度 低,容易给装置的运行带来一定的 风 险的问题。,下面是组播报文过滤方法、装置和组播报文接收设备专利的具体信息内容。

1.一种组播报文过滤方法,其特征在于,包括如下步骤:
接收当前组播报文;
由所述当前组播报文的当前组播地址中逐级提取出相应段的数码,所述组播地址为组播MAC地址;
根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤;
相应级别的所述过滤参数根据订阅的目标组播报文的目标组播地址逐级动态设置,且每一级别的所述过滤参数与所述目标组播地址中不同段的数码相对应;
所述过滤参数的级别包括初级过滤参数、次级过滤参数和末级过滤参数;且所述初级过滤参数为类型使能标志,所述次级过滤参数为组使能标志,所述末级过滤参数为位使能标志;根据订阅的目标组播报文的目标组播地址逐级动态设置相应级别的过滤参数,包括如下步骤:将所述目标组播地址的前四个字节划分为目标类型码,并对所述目标类型码设置相应的所述类型使能标志作为所述初级过滤参数;将所述目标组播地址的第五个字节划分为目标组码,并对所述目标组码设置相应的所述组使能标志作为所述次级过滤参数;将所述目标组播地址的第六个字节划分为目标位码,并对所述目标位码设置相应的所述位使能标志作为所述末级过滤参数。
2.根据权利要求1所述的方法,其特征在于,所述由所述当前组播报文的当前组播地址中逐级提取出相应段的数码时,包括提取所述当前组播地址的前四个字节作为当前类型码的步骤;
所述根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤时,包括:根据所述当前类型码查找对应的第一类型使能标志,并根据所述第一类型使能标志的存在状态及当前使能状态进行所述当前组播报文的初级过滤的步骤。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一类型使能标志的存在状态及当前使能状态进行所述当前组播报文的初级过滤,包括如下步骤:
判断所述第一类型使能标志是否存在,以及所述第一类型使能标志的当前使能状态是否为已使能;
当判断出所述第一类型使能标志存在且当前使能状态为已使能时,保留所述当前组播报文并将所述当前组播报文传递至与所述第一类型使能标志对应的下一级;
当判断出所述第一类型使能标志不存在或当前使能状态为未使能时,丢弃所述当前组播报文。
4.根据权利要求1或2所述的方法,其特征在于,所述由所述当前组播报文的当前组播地址中逐级提取出相应段的数码时,包括提取所述当前组播地址的第五个字节作为当前组码的步骤;
所述根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤时,包括:根据所述当前组码查找对应的第一组使能标志,并根据所述第一组使能标志的存在状态及当前使能状态进行所述当前组播报文的次级过滤的步骤;
所述由所述当前组播报文的当前组播地址中逐级提取出相应段的数码时,还包括提取所述当前组播地址的第六个字节作为当前位码的步骤;
所述根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤时,包括:根据所述当前位码查找对应的第一位使能标志,并根据所述第一位使能标志的存在状态及当前使能状态进行所述当前组播报文的末级过滤的步骤。
5.一种组播报文过滤装置,其特征在于,包括逐级设置的多个过滤器,且每一级别的所述过滤器均包括相应级别的过滤参数模和过滤算法模块;
每一级别的所述过滤算法模块,用于接收当前组播报文,并由所述当前组播报文的当前组播地址中提取出与其级别对应的相应段的数码,所述组播地址为组播MAC地址;
每一级别的所述过滤算法模块,还用于根据提取出的所述数码由相应级别的所述过滤参数模块预先设置的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数进行相应级别的所述当前组播报文的过滤;
每一级别的所述过滤参数模块,用于根据订阅的目标组播报文的目标组播地址动态设置相应级别的所述过滤参数;且,每一级别的所述过滤参数模块所设置的所述过滤参数与所述目标组播地址中不同段的数码相对应;
所述过滤器的级别为三级,每一级别的过滤器分别为:初级过滤器、次级过滤器和末级过滤器;其中,所述初级过滤器设置的过滤参数为类型使能标志,所述次级过滤器设置的过滤参数为组使能标志,所述末级过滤器设置的过滤参数为位使能标志;所述初级过滤器中的过滤参数模块包括初级参数设置子模块和初级参数存储子模块;所述初级参数设置子模块,用于将所述目标组播地址的前四个字节划分为目标类型码,并对所述目标类型码设置相应的类型使能标志作为初级过滤参数;所述初级参数存储子模块,用于存储所述类型使能标志;所述次级过滤器中的过滤参数模块包括次级参数设置子模块和次级参数存储子模块;所述次级参数设置子模块,用于将所述目标组播地址的第五个字节划分为组码,并对所述组码设置相应的组使能标志作为次级过滤参数;所述次级参数存储子模块,用于存储所述组使能标志;所述末级过滤器中的过滤参数模块包括末级参数设置子模块和末级参数存储子模块;所述末级参数设置子模块,用于将所述目标组播地址的第六个字节划分为位码,并对所述位码设置相应的位使能标志作为末级过滤参数;所述末级参数存储子模块,用于存储所述位使能标志。
6.根据权利要求5所述的装置,其特征在于,所述初级过滤器中的初级过滤算法模块包括初级提取子模块和初级过滤子模块;
所述初级提取子模块,用于初级提取所述当前组播地址的前四个字节作为当前类型码;
所述初级过滤子模块,用于根据所述初级提取子模块提取出的所述当前类型码由所述初级参数存储子模块中查找对应的第一类型使能标志,并根据所述第一类型使能标志的存在状态及当前使能状态进行所述当前组播报文的初级过滤。
7.根据权利要求6所述的装置,其特征在于,所述初级过滤子模块包括初级判断单元、初级传递单元和初级丢弃单元;
所述初级判断单元,用于判断所述第一类型使能标志是否存在,以及所述第一类型使能标志的当前使能状态是否为已使能;
所述初级传递单元,用于当所述初级判断单元判断出所述第一类型使能标志存在且当前使能状态为已使能时,保留所述当前组播报文并对应进行所述当前组播报文的下一级传递;
所述初级丢弃单元,用于当所述初级判断单元判断出所述第一类型使能标志不存在或当前使能状态为未使能时,丢弃所述当前组播报文。
8.根据权利要求5或6所述的装置,其特征在于,所述次级过滤器中的次级过滤算法模块包括次级提取子模块和次级过滤子模块;
所述次级提取子模块,用于次级提取所述当前组播地址中的第五个字节作为当前组码;
所述次级过滤子模块,用于根据所述次级提取子模块提取出的所述当前组码由所述次级参数存储子模块中查找对应的第一组使能标志,并根据所述第一组使能标志的存在状态及当前使能状态进行所述当前组播报文的次级过滤;
所述末级过滤器中的末级过滤算法模块包括末级提取子模块和末级过滤子模块;
所述末级提取子模块,用于末级提取所述当前组播地址中的第六个字节作为当前位码;
所述末级过滤子模块,用于根据所述末级提取子模块提取出的所述当前位码由所述末级存储子模块中查找对应的第一位使能标志,并根据所述第一位使能标志的存在状态及当前使能状态进行所述当前组播报文的末级过滤。
9.一种组播报文接收设备,其特征在于,包括网口、接口和权利要求5至8任一项所述的组播报文过滤装置;
所述组播报文过滤装置连接在所述网口与所述接口之间;
所述接口,用于设置所订阅的目标组播报文的组播地址,并将所述组播地址传输至所述组播报文过滤装置,所述组播地址为组播MAC地址;
所述组播报文过滤装置,用于根据接收到的所述组播地址逐级动态设置相应的过滤参数;其中,每级设置的所述过滤参数与所述组播地址中不同段的数码相对应;
所述网口,用于获取所述当前组播报文,并将所述当前组播报文传输至所述组播报文过滤装置;
所述组播报文过滤装置,还用于根据所述过滤参数对所述当前组播报文进行逐级过滤;
所述接口,还用于连接外部设备,由所述外部设备通过所述接口接收所述组播报文过滤装置逐级过滤后的组播报文。

说明书全文

组播报文过滤方法、装置和组播报文接收设备

技术领域

[0001] 本发明涉及网络通信技术领域,特别是涉及一种组播报文过滤方法、装置和组播报文接收设备。

背景技术

[0002] 随着智能变电站的发展,以及以太网技术在工业领域应用的日益广泛,网络数据通信逐渐成为工业数据交互的主要方式。其中,由于传统的MAC硬件的组播过滤算法通常采用对报文中的目的MAC进行统一比较判断的操作方式,从而当接收组播报文增加时,其组播过滤能逐渐下降,这就很容易导致一些不需要的报文被接收。对于变电站中组播报文(如:GOOSE报文或SMV报文) 的接收设备,往往需要接收很多个不同组播地址的报文,由此当采用上述组播过滤算法进行组播报文过滤时,很容易导致一些非订阅报文的传递,使得装置额外增加了一些不确定的输入,给装置的运行带来一定的险。

发明内容

[0003] 基于此,有必要针对传统的组播过滤算法过滤精度低,容易给装置的运行带来一定的风险的问题,提供一种组播报文过滤方法、装置和组播报文接收设备。
[0004] 为实现本发明目的提供的一种组播报文过滤方法,包括如下步骤:
[0005] 接收当前组播报文;
[0006] 由所述当前组播报文的当前组播地址中逐级提取出相应段的数码;
[0007] 根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤。
[0008] 在其中一个实施例中,相应级别的所述过滤参数根据订阅的目标组播报文的目标组播地址逐级动态设置,且每一级别的所述过滤参数与所述目标组播地址中不同段的数码相对应。
[0009] 在其中一个实施例中,所述过滤参数的级别包括初级过滤参数、次级过滤参数和末级过滤参数;且
[0010] 所述初级过滤参数为类型使能标志,所述次级过滤参数为组使能标志,所述末级过滤参数为位使能标志;
[0011] 根据订阅的目标组播报文的目标组播地址逐级动态设置相应级别的过滤参数,包括如下步骤:
[0012] 将所述目标组播地址的前四个字节划分为目标类型码,并对所述目标类型码设置相应的所述类型使能标志作为所述初级过滤参数;
[0013] 将所述目标组播地址的第五个字节划分为目标组码,并对所述目标组码设置相应的所述组使能标志作为所述次级过滤参数;
[0014] 将所述目标组播地址的第六个字节划分为目标位码,并对所述目标位码设置相应的所述位使能标志作为所述末级过滤参数。
[0015] 在其中一个实施例中,所述由所述当前组播报文的当前组播地址中逐级提取出相应段的数码时,包括提取所述当前组播地址的前四个字节作为当前类型码的步骤;
[0016] 所述根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤时,包括:根据所述当前类型码查找对应的第一类型使能标志,并根据所述第一类型使能标志的存在状态及当前使能状态进行所述当前组播报文的初级过滤的步骤。
[0017] 在其中一个实施例中,所述根据所述第一类型使能标志的存在状态及当前使能状态进行所述当前组播报文的初级过滤,包括如下步骤:
[0018] 判断所述第一类型使能标志是否存在,以及所述第一类型使能标志的当前使能状态是否为已使能;
[0019] 当判断出所述第一类型使能标志存在且当前使能状态为已使能时,保留所述当前组播报文并将所述当前组播报文传递至与所述第一类型使能标志对应的下一级;
[0020] 当判断出所述第一类型使能标志不存在或当前使能状态为未使能时,丢弃所述当前组播报文。
[0021] 在其中一个实施例中,所述由所述当前组播报文的当前组播地址中逐级提取出相应段的数码时,包括提取所述当前组播地址的第五个字节作为当前组码的步骤;
[0022] 所述根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤时,包括:根据所述当前组码查找对应的第一组使能标志,并根据所述第一组使能标志的存在状态及当前使能状态进行所述当前组播报文的次级过滤的步骤;
[0023] 所述由所述当前组播报文的当前组播地址中逐级提取出相应段的数码时,还包括提取所述当前组播地址的第六个字节作为当前位码的步骤;
[0024] 所述根据提取出的所述数码由预先设置的相应级别的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数逐级进行所述当前组播报文的过滤时,包括:根据所述当前位码查找对应的第一位使能标志,并根据所述第一位使能标志的存在状态及当前使能状态进行所述当前组播报文的末级过滤的步骤。
[0025] 相应的,本发明还提供了一种组播报文过滤装置,包括逐级设置的多个过滤器,且每一级别的所述过滤器均包括相应级别的过滤参数模和过滤算法模块;
[0026] 每一级别的所述过滤算法模块,用于接收当前组播报文,并由所述当前组播报文的当前组播地址中提取出与其级别对应的相应段的数码;
[0027] 每一级别的所述过滤算法模块,还用于根据提取出的所述数码由相应级别的所述过滤参数模块预先设置的过滤参数中确定对应的第一过滤参数,并根据确定的所述第一过滤参数进行相应级别的所述当前组播报文的过滤。
[0028] 在其中一个实施例中,每一级别的所述过滤参数模块,用于根据订阅的目标组播报文的目标组播地址动态设置相应级别的所述过滤参数;且,每一级别的所述过滤参数模块所设置的所述过滤参数与所述目标组播地址中不同段的数码相对应。
[0029] 在其中一个实施例中,所述过滤器的级别为三级,每一级别的过滤器分别为:初级过滤器、次级过滤器和末级过滤器;
[0030] 其中,所述初级过滤器设置的过滤参数为类型使能标志,所述次级过滤器设置的过滤参数为组使能标志,所述末级过滤器设置的过滤参数为位使能标志;
[0031] 所述初级过滤器中的过滤参数模块包括初级参数设置子模块和初级参数存储子模块;
[0032] 所述初级参数设置子模块,用于将所述目标组播地址的前四个字节划分为目标类型码,并对所述目标类型码设置相应的类型使能标志作为初级过滤参数;
[0033] 所述初级参数存储子模块,用于存储所述类型使能标志;
[0034] 所述次级过滤器中的过滤参数模块包括次级参数设置子模块和次级参数存储子模块;
[0035] 所述次级参数设置子模块,用于将所述目标组播地址的第五个字节划分为组码,并对所述组码设置相应的组使能标志作为次级过滤参数;
[0036] 所述次级参数存储子模块,用于存储所述组使能标志;
[0037] 所述末级过滤器中的过滤参数模块包括末级参数设置子模块和末级参数存储子模块;
[0038] 所述末级参数设置子模块,用于将所述目标组播地址的第六个字节划分为位码,并对所述位码设置相应的位使能标志作为末级过滤参数;
[0039] 所述末级参数存储子模块,用于存储所述位使能标志。
[0040] 在其中一个实施例中,所述初级过滤器中的初级过滤算法模块包括初级提取子模块和初级过滤子模块;
[0041] 所述初级提取子模块,用于初级提取所述当前组播地址的前四个字节作为当前类型码;
[0042] 所述初级过滤子模块,用于根据所述初级提取子模块提取出的所述当前类型码由所述初级参数存储子模块中查找对应的第一类型使能标志,并根据所述第一类型使能标志的存在状态及当前使能状态进行所述当前组播报文的初级过滤。
[0043] 在其中一个实施例中,所述初级过滤子模块包括初级判断单元、初级传递单元和初级丢弃单元;
[0044] 所述初级判断单元,用于判断所述第一类型使能标志是否存在,以及所述第一类型使能标志的当前使能状态是否为已使能;
[0045] 所述初级传递单元,用于当所述初级判断单元判断出所述第一类型使能标志存在且当前使能状态为已使能时,保留所述当前组播报文并对应进行所述当前组播报文的下一级传递;
[0046] 所述初级丢弃单元,用于当所述初级判断单元判断出所述第一类型使能标志不存在或当前使能状态为未使能时,丢弃所述当前组播报文。
[0047] 在其中一个实施例中,所述次级过滤器中的次级过滤算法模块包括次级提取子模块和次级过滤子模块;
[0048] 所述次级提取子模块,用于次级提取所述当前组播地址中的第五个字节作为当前组码;
[0049] 所述次级过滤子模块,用于根据所述次级提取子模块提取出的所述当前组码由所述次级参数存储子模块中查找对应的第一组使能标志,并根据所述第一组使能标志的存在状态及当前使能状态进行所述当前组播报文的次级过滤;
[0050] 所述末级过滤器中的末级过滤算法模块包括末级提取子模块和末级过滤子模块;
[0051] 所述末级提取子模块,用于末级提取所述当前组播地址中的第六个字节作为当前位码;
[0052] 所述末级过滤子模块,用于根据所述末级提取子模块提取出的所述当前位码由所述末级存储子模块中查找对应的第一位使能标志,并根据所述第一位使能标志的存在状态及当前使能状态进行所述当前组播报文的末级过滤。
[0053] 相应的,本发明还提供了一种组播报文接收设备,包括网口、接口和如上任一所述的组播报文过滤装置;
[0054] 所述组播报文过滤装置连接在所述网口与所述接口之间;
[0055] 所述接口,用于设置所订阅的目标组播报文的组播地址,并将所述组播地址传输至所述组播报文过滤装置;
[0056] 所述组播报文过滤装置,用于根据接收到的所述组播地址逐级动态设置相应的过滤参数;其中,每级设置的所述过滤参数与所述组播地址中不同段的数码相对应;
[0057] 所述网口,用于获取所述当前组播报文,并将所述当前组播报文传输至所述组播报文过滤装置;
[0058] 所述组播报文过滤装置,还用于根据所述过滤参数对所述当前组播报文进行逐级过滤;
[0059] 所述接口,还用于连接外部设备,由所述外部设备通过所述接口接收所述组播报文过滤装置逐级过滤后的组播报文。
[0060] 上述组播报文过滤方法,通过接收到当前组播报文后,由当前组播报文的当前组播地址中逐级提取出不同段的数码,并根据所提取出的数码由预先设置的相应级别的过滤参数中确定相应级别的第一过滤参数后,再根据确定的第一过滤参数逐级进行当前组播报文的过滤。由此,其在进行当前组播报文的过滤时,通过根据预先设置的每一级别的过滤参数进行当前组播报文的过滤,使得组播报文能够严格按照订阅组播报文进行接收传递,并将非订阅报文完全屏蔽掉,从而有效提高了组播报文的过滤精确度,最终解决了传统的组播过滤算法过滤精度低,容易给装置的运行带来一定的风险的问题。同时,其在进行当前组播报文的过滤过程中,还通过将传统的对当前组播地址进行统一分析比较的过滤方式替换为逐级进行过滤的方式,使其相较于传统的过滤方式,能够更快的将非订阅的组播报文屏蔽掉,从而也就有效降低了过滤系统的负荷。附图说明
[0061] 图1为本发明的组播报文过滤方法的一具体实施例的流程图
[0062] 图2为本发明的组播报文过滤装置的一具体实施例的结构示意图;
[0063] 图3为本发明的组播报文过滤系统的一具体实施例的结构示意图。

具体实施方式

[0064] 为使本发明技术方案更加清楚,以下结合附图及具体实施例对本发明作进一步详细说明。
[0065] 首先,需要说明的是,组播(Multicast)传输指的是:在发送者和每一接收者之间实现点对多点网络连接。组播报文则为采用组播传输方式进行传递的一些协议报文。
[0066] 组播地址指的是组播报文的目的MAC地址。MAC(Medium/Media Access Control,介质访问控制)地址,也叫硬件地址,用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。
[0067] 其中,需要说明的是,在本发明的组播报文过滤方法的一具体实施例中,其进行当前组播报文的过滤传递之前,首先需要进行每一级别的过滤参数的设置。由于每一级别的过滤参数均表征了报文接收设备所需要接收的各种组播报文的不同属性,因此过滤参数的设置具体可按照报文接收设备所订阅的报文地址进行设置。即,每一级别的过滤 参数可根据订阅的目标组播报文的目标组播地址进行逐级动态设置。并且,每一级别的过滤参数均与目标组播地址中不同段的数码相对应。
[0068] 同时,还需要说明的是,其根据订阅的目标组播报文的目标组播地址逐级动态设置相应级别的过滤参数时,过滤参数的级别可设置为两级或三级。
[0069] 具体的,以下以设置三级过滤参数为例进行更为详细的说明。当过滤参数的级别为三级时,此时过滤参数的级别包括初级过滤参数、次级过滤参数和末级过滤参数。其中,初级过滤参数为类型使能标志,次级过滤参数为组使能标志,末级过滤参数则为位使能标志。此处,需要说明的是,每一级别的过滤参数与目标组播报文的组播地址中不同段的数码相对应。
[0070] 由此,当进行每一级别的过滤参数的设置时,需要将目标组播地址划分为三段。其中,作为一种优选的划分方式:将目标组播地址的前四个字节划分为目标类型码,并对目标类型码设置相应的类型使能标志。此处所设置的类型使能标志即为初级过滤参数。其中,类型使能标志的取值可为0或1。当类型使能标志的取值为0时,表明类型使能标志的当前使能状态为未使能状态;当类型使能标志的取值为1时,则表明类型使能标志的当前使能状态为使能状态。
[0071] 进一步的,目标组播地址的第五个字节则划分为组码,并对该组码设置相应的组使能标志,此处所设置的组使能标志即为次级过滤参数。其中,组使能标志的取值同样为0或1。并且,不同的取值表征了组使能标志的不同使能状态。
[0072] 更进一步的,目标组播地址的第六个字节则划分为位码,并对该位码设置相应的位使能标志作为末级过滤参数。其中,位使能标志的取值同样为0或1。同理,通过设置不同的取值来表征位使能标志的不同使能状态。
[0073] 另外,需要进一步说明的是,由于订阅的组播报文(即,目标组播报文) 的种类多种多样,因此为了保证各种种类的订阅组播报文均能够正常顺利的接收到,对于不同的组播报文对应设置不同的初级过滤参数(即,类型使能标志)、次级过滤参数(即,组使能标志)和末级过滤参数(即,位使能标志)。也就是说,由于报文接收设备通常需要接收多个组播地址的报文,因此为了保证符合要求的每个组播地址的报文均能够准确完整的接收,在设置每一级别的过滤参数时,可针对每一个组播地址均设置相应的过滤参数。由此,通过针对每一种订阅的组播地址均设置相应的每一级别的过滤参数,使得在对接收到的组播报文进行逐级过滤时,每一级的过滤均具有严格的针对性,这也就更进一步的保证了组播报文过滤的准确性和精确度。
[0074] 当每一级别的过滤参数均设置完成时,即可进行当前组播报文的接收和过滤的步骤。作为本发明的组播报文过滤方法的一具体实施例,基于上述三级过滤参数的设置,其进行当前组播报文的过滤时,则相应进行三级过虑。
[0075] 具体的,参见图1,当接收到当前组播报文后,首先进行初级阶段的数码的提取。即,通过步骤S100,由当前组播报文的当前组播地址中提取出前四个字节作为当前类型码,以实现数码的初级提取。当提取出当前组播地址中的前四个字节后,即可进行步骤S200,根据提取出的当前类型码由预先设置的初级过滤参数(即,类型使能标志)中查找相应的第一类型使能标志,进而再根据第一类型使能标志的存在状态及当前使能状态进行当前组播报文的初级过滤。
[0076] 具体的,其进行初级过滤时,首先判断预先设置的初级过滤参数中是否存在第一类型使能标志,以及第一类型使能标志的当前使能状态是否为已使能。
[0077] 当判断出预先设置的初级过滤参数中存在第一类型使能标志,且第一类型使能标志的当前使能状态为已使能状态时,则表明此时当前组播报文的当前组播地址 符合订阅的目标组播报文的前四个字节。因此,此时可保留该当前组播报文,并根据提取出的前四个字节(即,当前类型码)进行当前组播报文的下一级传递和次级过滤。
[0078] 当判断出预先设置的初级过滤参数中不存在第一类型使能标志,或者是存在第一类型使能标志但是第一类型使能标志的当前使能状态为未使能状态,则表明当前组播报文的组播地址的前四个字节不符合订阅的目标组播报文的前四个字节。因此,此时可认为当前组播报文不符合订阅报文,可直接进行丢弃,并进行下一组播报文的接收和初级过滤操作。
[0079] 其中,参见图1,当通过步骤S200,进行当前组播报文的初级过滤之后,此时符合订阅的目标组播报文前四个字节的当前组播报文被传递至与第一类型使能标志相对应的下一级。此处,需要说明的是,由于提取出的前四个字节(即,当前类型码)表征了当前组播报文的不同属性,因此在进行当前组播报文的下一级传递时,其依据所提取出的当前类型码将当前组播报文传递至相应类型的下一级进行次级过滤。
[0080] 具体的,参见图1,其进行当前组播报文的次级过滤时,首先通过步骤S300,提取当前组播地址中的第五个字节作为当前组码。进而再通过步骤S400,根据提取出的当前组码由预先设置的次级过滤参数中查找相对应的第一组使能标志,并根据第一组使能标志的存在状态及当前使能状态进行当前组播报文的次级过滤。此处,需要说明的是,步骤S400,根据第一组使能标志的存在状态及当前使能状态进行当前组播报文的次级过滤的方式与上述步骤S200根据第一类型使能标志的存在状态及当前使能状态进行初级过滤的方式相似,因此此处不再赘述。
[0081] 参见图1,当通过步骤S400,对当前组播报文进行次级过滤之后,此时对应存在第一组使能标志且第一组使能标志的当前使能状态为已使能状态的组播报文被传递至下一级,进行末级过滤。具体的,其进行当前组播报文的末级过滤时,首先通过步骤S500,提取当前组播报文的第六个字节作为当前位码,进而再通过步骤S600,根据提取出的当前位码由预先设置的末级过滤参数中查找相应的第一位使能标志,并根据第一位使能标志的存在状态及当前使能状态进行当前组播报文的末级过滤。同理,此处根据第一位使能标志的存在状态及当前使能状态进行当前组播报文的末级过滤的原理与上述步骤S200和步骤S400 分别根据第一类型使能标志和第一组使能标志进行当前组播报文的初级过滤和次级过滤的原理相同,因此此处也不再进行赘述。
[0082] 所不同的是,在步骤S600,根据第一位使能标志的存在状态及当前使能状态进行当前组播报文的末级过滤时,当判断出存在第一位使能标志且第一位使能标志的当前使能状态为已使能状态时,此时进行当前组播报文的传递后不再进过滤操作,而是直接将当前组播报文传递至相应的接口即可。
[0083] 其通过对当前组播报文进行三级过滤,并且每一级别均设置相应级别的过滤参数,使得组播报文的传递严格按照订阅接收,避免了非订阅组播报文的误接多接的情况,保证了组播报文接收的精确度,由此提高了装置运行的安全性。并且,还通过设置三级过滤方式,使得非订阅组播报文能够在最早级别进行丢弃处理,这也就更进一步的提高了报文过滤的效率,实现了非订阅组播报文的尽早过滤,并且降低了过滤功耗。
[0084] 另外,还需要说明的是,作为本发明的组播报文的过滤方式的另一具体实施例,其也可为两级过滤方式。当采用两级过滤方式进行组播报文的过滤时,其所设置的过滤参数的级别则相应包括有一级过滤参数和二级过滤参数。其中,一级过滤参数可通过将订阅的目标组播报文的前四个字节作为一级数码,并对一级数码设置相应的一级使能标志来实现。其中,一级使能标志即为一级过滤参数。进一步的,二级过滤参数则可通过将目标组播报文的第五个字节和第六个字节统一作为二级数码,并对该二级数码设置相应的二级使能标志来实现。其中,二级使能标志即为二级过滤参数。
[0085] 由此,当设置两个级别的过滤参数(即,一级过滤参数和二级过滤参数) 后,进行当前组播报文的过滤时,可首先提取出当前组播报文的当前组播地址的前四个字节作为当前一级数码,并根据提取出的当前一级数码由预先设置的一级过滤参数中查找相应的第一一级使能标志,进而再根据第一一级使能标志的存在情况及当前使能状态进行当前组播报文的一级过滤。待进行完当前组播报文的一级过滤之后,进而再提取当前组播地址的第五个字节和第六个字节作为当前二级数码,并根据提取出的当前二级数码由预先设置的二级过滤参数中查找相应的第一二级使能标志,进而再根据第一二级使能标志的存在情况及当前使能状态进行当前组播报文的二级过滤。
[0086] 此处,需要说明的是,其通过采用二级过滤方式进行当前组播报文的过滤的原理与前面所述的采用三级过滤方式进行当前组播报文的过滤的原理相同或相似,所不同的仅仅在于进行过滤参数的级别划分和设置上有所不同,因此此处不再进行赘述。
[0087] 另外,还需要说明的是,本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体 (Random Access Memory,RAM)等。
[0088] 相应的,本发明还提供了一种组播报文过滤装置。由于本发明提供的组播报文过滤装置的过滤原理与本发明提供的组播报文过滤方法的原理相同或相似,因此重复之处不再赘述。
[0089] 作为本发明的组播报文过滤装置的一具体实施例,其包括逐级设置的多个过滤器,并且每一级别的过滤器均包括相应级别的过滤参数模块和过滤算法模块。其中,每一级别的过滤算法模块,用于接收当前组播报文,并由当前组播报文的当前组播地址中提取出与其级别对应的相应段的数码。每一级别的过滤算法模块,还用于根据提取出的数码由相应级别的过滤参数模块预先设置的过滤参数中确定对应的第一过滤参数,并根据确定的第一过滤参数进行相应级别的当前组播报文的过滤。
[0090] 其中,由于每一级别的过滤参数均表征了报文接收设备所需要接收的各种组播地址的报文,因此每一级别的过滤参数模块,用于根据订阅的目标组播报文的目标组播地址动态设置相应级别的过滤参数。此处,需要说明的是,每一级别的过滤参数模块所设置的过滤参数与目标组播地址中不同段的数码相对应。
[0091] 具体的,参见图2,作为本发明的组播报文过滤装置110的一具体实施例,过滤器的级别可设置为三级。相应的,每一级别的过滤器分别为:初级过滤器 111、次级过滤器112和末级过滤器113。其中,初级过滤器111的个数设置为一个即可。次级过滤器112的个数则具体可根据所订阅的目标组播报文的类型进行具体设置。不同类型的组播报文对应一个次级过滤器112,并且,每一个次级过滤器112均设置在初级过滤器111之后。末级过滤器113则相应设置在每一个次级过滤器112之后,并且每个次级过滤器112对应的末级过滤器113的个数则根据目标组播地址的第五个字节的位数进行具体设置。即,目标组播地址的第五个字节的位数为多少位,则在每个次级过滤器112之后相应设置多少个末级过滤器113。也就是说,位于每一个次级过滤器112之后的末级过滤器113的个数与目标组播报文的组播地址的第五个字节的位数相一致。
[0092] 并且,应当指出的是,初级过滤器111设置的过滤参数为类型使能标志,所述次级过滤器112设置的过滤参数为组使能标志,所述末级过滤器113设置的过滤参数为位使能标志。
[0093] 具体的,初级过滤器111中的过滤参数模块包括初级参数设置子模块和初级参数存储子模块(图中均未示出)。其中,初级参数设置子模块,用于将目标组播地址的前四个字节划分为目标类型码,并对目标类型码设置相应的类型使能标志作为初级过滤参数。初级参数存储子模块,用于存储类型使能标志;
[0094] 次级过滤器112中的过滤参数模块包括次级参数设置子模块和次级参数存储子模块(图中均未示出)。其中,次级参数设置子模块,用于将目标组播地址的第五个字节划分为组码,并对组码设置相应的组使能标志作为次级过滤参数。次级参数存储子模块,用于存储组使能标志;
[0095] 末级过滤器113中的过滤参数模块包括末级参数设置子模块和末级参数存储子模块(图中均未示出)。其中,末级参数设置子模块,用于将目标组播地址的第六个字节划分为位码,并对位码设置相应的位使能标志作为末级过滤参数。末级参数存储子模块,用于存储位使能标志。
[0096] 更进一步的,初级过滤器111中的初级过滤算法模块包括初级提取子模块和初级过滤子模块(图中均未示出)。其中,初级提取子模块,用于初级提取当前组播地址的前四个字节作为当前类型码。初级过滤子模块,用于根据初级提取子模块提取出的当前类型码由初级参数存储子模块中查找对应的第一类型使能标志,并根据第一类型使能标志的存在状态及当前使能状态进行当前组播报文的初级过滤。
[0097] 此处,需要说明的是,作为本发明的组播报文过滤装置的一具体实施例,初级过滤子模块具体包括初级判断单元、初级传递单元和初级丢弃单元(图中均未示出)。其中,初级判断单元,用于判断第一类型使能标志是否存在,以及第一类型使能标志的当前使能状态是否为已使能。初级传递单元,用于当初级判断单元判断出第一类型使能标志存在且当前使能状态为已使能时,保留当前组播报文并对应进行当前组播报文的下一级传递。初级丢弃单元,用于当初级判断单元判断出第一类型使能标志不存在或当前使能状态为未使能时,丢弃当前组播报文。
[0098] 相应的,次级过滤器112中的次级过滤算法模块包括次级提取子模块和次级过滤子模块(图中均未示出)。其中,次级提取子模块,用于次级提取当前组播地址中的第五个字节作为当前组码。次级过滤子模块,用于根据次级提取子模块提取出的当前组码由次级参数存储子模块中查找对应的第一组使能标志,并根据第一组使能标志的存在状态及当前使能状态进行当前组播报文的次级过滤。
[0099] 进一步的,末级过滤器113中的末级过滤算法模块包括末级提取子模块和末级过滤子模块(图中均未示出)。其中,末级提取子模块,用于末级提取当前组播地址中的第六个字节作为当前位码。末级过滤子模块,用于根据末级提取子模块提取出的当前位码由末级存储子模块中查找对应的第一位使能标志,并根据第一位使能标志的存在状态及当前使能状态进行当前组播报文的末级过滤。
[0100] 其中,应当指出的是,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0101] 另外,参见图3,基于上述任一种组播报文过滤装置,本发明还提供了一种组播报文接收设备100。作为本发明的组播报文接收设备100的一具体实施例,其包括网口120、接口130和上述任一种组播报文过滤装置110。其中,组播报文过滤装置110连接在网口120与接口130之间。接口130,用于由外部CPU 获取订阅的目标组播报文,设置外部CPU所订阅的目标组播报文的组播地址,并将设置的组播地址传输至组播报文过滤装置110。组播报文过滤装置110,用于根据接收到的组播地址逐级动态设置相应的过滤参数。其中,此处,需要指出的是,每级设置的过滤参数与组播地址中不同段的数码相对应。网口120,用于获取当前组播报文,并将当前组播报文传输至组播报文过滤装置。组播报文过滤装置110,还用于根据过滤参数对当前组播报文进行逐级过滤。接口130,还用于连接外部设备,由外部设备通过该接口130接收组播报文过滤装置逐级过滤后的组播报文。
[0102] 为更清楚的说明本发明的组播报文接收设备进行组播报文接收时的具体过程,以下以GOOSE报文接收为例进行更为详细的说明。
[0103] 具体的,作为一种用于接收GOOSE报文的组播报文接收设备100,该设备由网口120、初级过滤器111、次级过滤器112、两个末级过滤器(分别为第一末级过滤器113a和第二末级过滤器113b)、及接口130(如:GOOSE接口单元) 组成。
[0104] 其中,网口120是外部数据的接收接口,设置为工作于混杂模式,可接收到达该接口的所有网络数据。接口130是该设备订阅组播接口,也是GOOSE报文的对外交互接口。
[0105] 初级过滤器111、次级过滤器112和末级滤器逐级设置,作为该设备的组播过滤的实现主体,其工作流程为:
[0106] 步骤一,初级过滤器111提取当前组播地址中的前四个字节作为当前类型码,并根据提取出的前四个字节(即,当前类型码)由初级过滤器111的初级参数存储子模块(图中未示出)中查找相应的第一类型使能标志。其中,初级参数存储子模块中存储有多个类型使能标志。若存在第一类型使能标志且第一类型使能标志的当前使能状态为已使能,则认为当前组播报文为允许通过的组播报文,因此此时将允许通过的组播报文传递给对应类型的次级过滤器112。若不存在第一类型使能标志或第一类型使能标志的当前使能状态为未使能状态,则认为当前组播报文为不允许通过的组播报文,因此将其进行丢弃处理。
[0107] 此处,需要说明的是,初级过滤器111的具体实现方式为:使用1位表示 GOOSE报文使能,该位为0时,屏蔽所有GOOSE报文,为1表示使GOOSE 报文传递给次级过滤器。
[0108] 步骤二,次级过滤器112提取当前组播地址中的第五个字节作为当前组码,并根据提取出的第五个字节(即,当前组码)由该次级过滤器112的次级参数存储子模块(图中未示出)中查找相应的第一组使能标志。其中,次级参数存储子模块中存储有多个组使能标志。若存在第一组使能标志且第一组使能标志的当前使能状态为已使能,则认为当前组播报文为允许通过的组播报文,因此此时将允许通过的组播报文传递给对应组的末级过滤器113(第一末级过滤器 113a或第二末级过滤器113b)。若不存在第一组使能标志或第一组使能标志的当前使能状态为未使能状态,则认为当前组播报文为不允许通过的组播报文,因此将其进行丢弃处理。
[0109] 此处,需要说明的是,次级过滤器112的具体实现方式为:使用2位表示组使能,bit0表示组1使能,bit1表示组2使能。若bit0为0时,屏蔽所有组播地址的第5字节为0的GOOSE报文,bit0为1时,使组播地址的第5字节为0 的报文传给组1的第一末级过滤器113a;若bit1为0时,屏蔽所有组播地址的第5字节为1的报文,bit1为1时,使组播地址的第5字节为1的报文传递给组 2的第二末级过滤器113b。
[0110] 步骤三,相应的第一末级过滤器113a(或第二末级过滤器113b)提取当前组播地址中的第六个字节作为当前位码,并根据提取出的第六个字节(即,当前位码)由该第一末级过滤器113a(或第二末级过滤器113b)的末级参数存储子模块(图中为示出)中查找相应的第一位使能标志。其中,末级参数存储子模块中存储有多个位使能标志。若存在第一位使能标志且第一位使能标志的当前使能状态为已使能,则认为当前组播报文为允许通过的组播报文,因此此时将允许通过的组播报文传递给接口130。若不存在第一位使能标志或第一位使能标志的当前使能状态为未使能状态,则认为当前组播报文为不允许通过的组播报文,因此将其进行丢弃处理。
[0111] 此处,需要说明的是,第一末级过滤器113a和第二末级过滤器113b的具体实现方式为:使用256位表示位使能,0表示禁止,1表示使能。若报文的第六字节为n(n为0到255的值),则判断第n+1位,若为0,则屏蔽该报文,若为 1则将该报文传递给接口130。
[0112] 接口130,从外部接收组播地址,用于每一级别的过滤器的参数设置。若接收到的组播地址前四个字节为01-0C-CD-01(即GOOSE类型)、第五个字节为0 或1,则设置初级过滤器111的使能位为1,设置次级过滤器112的bit0或bit1 为1,并根据组播地址的第六个字节的值n设置组1或组2的第一末级过滤器 113a或第二末级过滤器113b的n+1位为1,并返回成功;否则,直接返回失败。
[0113] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈