[发明专利]一种用于实现GMRP协议的方法在审
申请号: | 201410354329.8 | 申请日: | 2014-07-24 |
公开(公告)号: | CN104092616A | 公开(公告)日: | 2014-10-08 |
发明(设计)人: | 张伟 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | H04L12/761 | 分类号: | H04L12/761 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 余明伟 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实现 gmrp 协议 方法 | ||
1.一种用于实现GMRP协议的方法,其特征在于:至少包括以下步骤:
建立数据结构eloop_data,并根据系统配置文件初始化数据结构eloop_data,其中数据结构eloop_data用于维护信号信息、socket套接字信息和定时器信息;
在数据结构eloop_data中注册LeaveAll定时器,并初始化GMRP模块和Ctrl接口,以及注册信号处理函数;
进入循环模块,等待事件触发;
事件触发后,针对不同类型的事件进行相应的处理;
判断是否收到结束信号,如果是则执行清理操作后结束进程;如果否,则继续进入循环模块,等待事件触发。
2.根据权利要求1所述的用于实现GMRP协议的方法,其特征在于:所述系统配置文件包括网络接口参数、交换机的各个端口的参数、定时器的参数;所述定时器包括LeaveAll定时器、Leave定时器、Jion定时器和Hold定时器。
3.根据权利要求1所述的用于实现GMRP协议的方法,其特征在于:所述初始化GMRP模块包括注册GMRP收发包的socket套接字到数据结构eloop_data中。
4.根据权利要求1所述的用于实现GMRP协议的方法,其特征在于:所述事件包括定时器超时、socket套接字为可读状态和有信号发生。
5.根据权利要求4所述的用于实现GMRP协议的方法,其特征在于:所述事件触发后,若定时器超时,则执行定时器处理函数;若socket套接字为可读状态,则执行socket处理函数;若有信号发生,则执行信号处理函数。
6.根据权利要求5所述的用于实现GMRP协议的方法,其特征在于:所述socket处理函数的处理流程包括以下步骤:
读取socket事件列表;
判断socket事件的报文类型;
若报文为GMRP报文,则判断GMRP报文的属性;若为Join报文,则注册并且转发该属性;若为Leave报文,则启动Leave定时器,在Leave定时器超时前未能收到该属性的Jion包的话,则清除该属性;若为LeaveAll报文,则重启LeaveAll定时器,并且转发LeaveAll报文,接着广播自身维护的属性,并且启动Leave定时器,Leave定时器超时后,检查所有动态注册的属性,如未收到Jion包则清除该属性;
若报文为Ctrl报文,根据Ctrl报文中的命令类型字段和数据字段,添加或删除组播属性、创建或删除GMRP端口实例。
7.根据权利要求5所述的用于实现GMRP协议的方法,其特征在于:所述定时器处理函数的处理流程包括以下步骤:
判断超时的定时器类型;
若为Leave定时器超时,则查看动态属性注册表,判断动态属性注册表中的各个属性是否被重新注册过,若未被重新注册则清除该属性,否则流程结束;
若LeaveAll定时器超时,则广播LeaveAll报文,再广播自身维护的属性,并且启动Leave定时器,流程结束;
若Jion定时器超时,则判断是否在Join定时器超时前收到过JoinIn数据包,若未收到则再次发送自身维护的属性,否则流程结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410354329.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于会议室的会议控制系统
- 下一篇:一种网络告警通知系统及其通知方法