[发明专利]一种基于区分链路标识的报文负荷均分装置及方法有效
申请号: | 201711054501.8 | 申请日: | 2017-11-01 |
公开(公告)号: | CN107707484B | 公开(公告)日: | 2021-08-27 |
发明(设计)人: | 王长清;刘明慧;李广华;周强;文继锋;赵天恩;王亮 | 申请(专利权)人: | 南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司 |
主分类号: | H04L12/803 | 分类号: | H04L12/803;H04L29/06;G06F9/50 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 211102 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区分 路标 报文 负荷 均分 装置 方法 | ||
本发明公开了一种基于区分链路标识的报文负荷均分装置,包括若干接收模块、前置模块和若干解析模块,所有接收模块和解析模块均与前置模块通信;接收模块捕获报文,通知前置模块对捕获的报文进行预处理;前置模块根据报文类型获取报文链路,按照负荷均分的原则,通知对应的解析模块;解析模块解析报文。同时也公开了报文负荷均分方法。本发明可以有效地实现多核处理器解析负荷均分的目的,提高了单个端口的报文处理能力。
技术领域
本发明涉及一种基于区分链路标识的报文负荷均分装置及方法,属于网络通信领域。
背景技术
智能变电站通讯网络中采用GOOSE、SV、IP、TCP、UDP、MMS、SNTP等报文传输信息,并且通过网络报文记录分析装置对这些报文进行实时分析,以便发现和分析问题。在同一个接收端口捕获到的同一个链路报文,在时间上具有先后次序,在逻辑上具有关联性,易于实现使用单个线程按照到达顺序解析该链路的报文;如果使用多个线程进行解析,涉及到线程间的操作非常复杂,实现困难。
现有实现方案中,报文处理如图1所示,具体如下:
(1)有n个报文接收端口的装置,设置n个报文处理单元P,每个处理单元P包含一个接收模块和一个解析模块。
(2)以第一个处理单元P1为例,P1的接收模块负责接收端口1捕获的报文,将捕获报文存储到内存中,并通知P1的解析模块。
(3)P1的解析模块解析端口1捕获的报文,解析完毕后通知P1接收模块释放报文占用的内存。
可见,上述流程中,一个端口对应一个接收模块和一个解析模块,即一个端口的报文只能由一个解析模块负责解析,当单个接收端口报文流量较大时,单线程解析能力不足。
发明内容
为了解决上述技术问题,本发明提供了一种基于区分链路标识的报文负荷均分装置。
为了达到上述目的,本发明所采用的技术方案是:
一种基于区分链路标识的报文负荷均分装置,包括若干接收模块、前置模块和若干解析模块,所有接收模块和解析模块均与前置模块通信;
接收模块捕获报文,通知前置模块对捕获的报文进行预处理;
前置模块根据报文类型获取报文链路,按照负荷均分的原则,通知对应的解析模块;
解析模块解析报文。
接收模块的数目与物理接收端口数目一致。
解析模块的数目与处理器内核数目一致。
接收模块捕获报文,还将捕获的报文存储到内存中,解析模块解析报文完毕后,通知接收模块释放对应的内存空间。
前置模块对获取的历史链路进行管理,如果获取的链路为新链路,则前置模块按照负荷均分的原则,选择通知一个解析模块负责解析;如果获取的链路为已经存在的链路,前置模块通知同一个解析模块负责解析。
当获取的链路为新链路时,前置模块对所有解析该类型报文的解析模块负荷进行评估,通知负荷最低的解析模块负责解析。
超过一定时间前置模块没有收到某链路新到达的报文,则将该链路置为无效,并移出管理范围,再次捕获到该链路的报文时,按照新出现的链路处理。
一种基于区分链路标识的报文负荷均分方法,包括,
初始化时启动前置处理模块;
捕获到报文后,接收模块将报文存储到内存中,交由前置模块预处理;
前置模块根据报文类型获取报文链路,按照负荷均分的原则,通知对应的解析模块;
解析模块解析报文,完毕后通知接收模块释放对应的内存空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司,未经南京南瑞继保电气有限公司;南京南瑞继保工程技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711054501.8/2.html,转载请声明来源钻瓜专利网。