[发明专利]多核CPU负载均衡方法及装置有效
申请号: | 201510833727.2 | 申请日: | 2015-11-25 |
公开(公告)号: | CN105373433B | 公开(公告)日: | 2018-12-07 |
发明(设计)人: | 蒋飞扬;何成成;张磊 | 申请(专利权)人: | 浙江宇视科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭州市滨江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 cpu 负载 均衡 方法 装置 | ||
1.一种多核CPU负载均衡方法,其特征在于,所述方法应用于网络设备,所述网络设备具有多核CPU,所述网络设备与多个媒体流发送端连接,所述方法包括:
接收每个媒体流发送端发送的媒体流数据;
解析所述每个媒体流发送端发送的媒体流数据,获得所述每个媒体流发送端的媒体流数据的目的端口;
根据所述目的端口,获取所述每个媒体流发送端的媒体流数据对应的处理CPU,其中,所述媒体流数据对应的处理CPU,为所述网络设备对所述多个媒体流发送端单位时间内发送的媒体流数据进行CPU处理耗时预测后确定的所述网络设备中对每个媒体流发送端的媒体流数据进行CPU处理耗时预测时负载最小的CPU;
使用所述处理CPU对所述媒体流数据进行处理;
其中,所述媒体流发送端的单位时间内发送的媒体流数据的CPU处理耗时通过以下方式获得:
与媒体流发送端进行报文协商,获取所述媒体流发送端单位时间内发送的媒体流数据的码流大小,根据所述媒体流数据的处理复杂度,对所述媒体流数据的码流大小进行加权处理得到媒体流数据的CPU处理耗时;或者,根据与媒体流发送端预先约定的负载获得媒体流数据的CPU处理耗时。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:预先创建负载均衡表。
3.根据权利要求2所述的方法,其特征在于,所述负载均衡表为包括媒体流数据的目的端口、CPU处理媒体流数据的耗时、CPU号的三元组表;
所述根据所述目的端口,获取所述每个媒体流发送端的媒体流数据对应的处理CPU,包括:根据每个媒体流数据的目的端口,检索所述负载均衡表,获取所述媒体流数据的处理CPU;
所述负载均衡表通过以下步骤建立:
当获取到第一股媒体流数据的CPU处理耗时时,选择所述网络设备的一个空闲端口作为所述第一股媒体流数据的目的端口,并为所述负载均衡表创建第一条表项;
当后续获取到其他媒体流数据的CPU处理耗时时,遍历所述负载均衡表的表项,获取负载最小的CPU作为相应媒体流数据的处理CPU,再次选择所述网络设备的一个空闲端口作为所述相应媒体流发送端的目的端口,并相应创建新的表项。
4.根据权利要求2所述的方法,其特征在于,所述负载均衡表为包括媒体流数据的目的端口、CPU处理媒体流数据的耗时的二元组表;
所述根据所述目的端口,获取所述每个媒体流发送端的媒体流数据对应的处理CPU,包括:使用所述目的端口的端口值对所述网络设备的CPU个数进行取余,获取所述目的端口对应的媒体流数据的处理CPU;
所述负载均衡表通过以下步骤建立:
当获取到第一股媒体流数据的CPU处理耗时时,选择所述网络设备的一个空闲端口作为所述第一股媒体流数据的目的端口,并为所述负载均衡表创建第一条表项,其中所述第一股媒体流数据的处理CPU的CPU号通过使用所述目的端口值对所述网络设备的CPU个数进行取余得到;
当后续获取到其他媒体流数据的CPU处理耗时时,遍历所述负载均衡表的表项,获取负载最小的CPU作为相应媒体流数据的处理CPU,并根据所述目的端口与处理CPU之间的关系获取所述负载最小的CPU对应的一个空闲端口作为目的端口,创建新的表项。
5.根据权利要求3或者4所述的方法,其特征在于,所述获取负载最小的CPU,具体包括:
对CPU号相同的表项的CPU处理媒体流数据的耗时进行求和,并根据每个CPU号对应的媒体流数据的股数对CPU的耗时进行非线性补偿处理,得到每个CPU的负载,根据得到的每个CPU的负载,获取负载最小的CPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江宇视科技有限公司,未经浙江宇视科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510833727.2/1.html,转载请声明来源钻瓜专利网。