[发明专利]一种在非实时系统上精确网络限速的方法有效
申请号: | 201110286991.0 | 申请日: | 2011-09-23 |
公开(公告)号: | CN102368729A | 公开(公告)日: | 2012-03-07 |
发明(设计)人: | 王超峰;陈海涛 | 申请(专利权)人: | 北京东方网信科技股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56 |
代理公司: | 北京法思腾知识产权代理有限公司 11318 | 代理人: | 杨小蓉;高宇 |
地址: | 100190 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 系统 精确 网络 限速 方法 | ||
技术领域
本发明涉及互联网通信技术领域,具体涉及一种在非实时系统上精确网络限速的方法。
背景技术
如今,互联网通信发展十分迅速,用户数和应用日益增长,网络流量也快速增加。因此为保证准确地为用户分配带宽,为每个用户提供良好的上网体验,需要能够按设定的带宽精确地对用户进行限速。
现有技术的网络限速方案采用按限速单位(如用户)统计流量,设定一个时间段能使用的流量额度。当统计的流量达到限额时则丢掉报文,等到下一个时间段有流量额度可用时,再继续发送报文。当在使用路由器等网络设备管理流量时,因为设备的实时性比较高,所以采用这种限速策略限速效果没有问题。
但在很多应用场景里对流量的管理则是使用主机系统进行的,因为主机系统的实时性能比较差,使用select函数和usleep函数等唤醒机制的精度只能达到10ms,因此当在这种应用场景中采用上述策略实现的网络限速在较大时间粒度下(10ms)是均匀的,但是在更小的时间粒度内则会很不均匀。例如:10ms内的流量份额,可能会在10ms内的前2ms报文就发完了,而后面剩余的8ms网络便会空闲,这就造成瞬间网络带宽占用很高问题。因此现有技术的限速方法在这种非实时系统中无法满足对网络带宽占用精度要求比较高的环境。
本发明的目的就是解决非实时系统的网络数据发送精确限速的问题。
发明内容
本发明的目的在于,为解决现有技术的网络限速方法应用在非实时系统中并不能解决精确网络限速的问题,从而提供一种在非实时系统上精确网络限速的方法。
为了实现上述目的,本发明提供一种在非实时系统上精确网络限速的方法,该方法用于处理非实时系统上的精确网络限速问题,所述方法为:
步骤1,用于创建一个检查线程的步骤。
步骤2,用于利用所述检查线程检测非实时系统的时钟,为数据报文发送线程提供精确控制时钟的步骤。
可选的,所述步骤1之前还包含如下步骤:设置检查非实时系统时钟的时间间隔和报文发送速度,并创建一个信号量,该信号量用于触发报文发送线程发送数据。
采用上述可选步骤后所述步骤2进一步包含如下子步骤:
启动检查线程,当所述检查线程检查到所述非实时系统的时钟到达所述时间间隔时,释放所述信号量。
发送线程被唤醒,计算发送份额,发送报文;当发送数据份额用完后,再次等待信号量。
当检测到信号量时重复上述步骤,直至所有数据报文发送结束。
其中,上述步骤所述采用信号量触发发送线程的策略可用采用网络通信方式加上系统时钟检查方式的策略替换;其中,所述网络通信方式加上系统时钟检查方式的策略为数据报文发送线程监听一个网络端口,当检查线程检查到所述非实时系统的时钟到达所述时间间隔时,向数据报文报文发送线程监听的端口发送一个报文,唤醒该线程,执行发送份额计算及发送报文。
可选的,所述检查线程采用死循环的方式循环检查所述非实时系统的时钟;所述非实时系统设置有多颗CPU;所述数据报文发送线程为多个。
进一步优化的,当所述发送线程为多个时当检查线程发现所述非实时系统的时钟到达所述时间间隔值后逐个释放发送线程等待的信号量。
可选的,所述检查线程和发送线程间通过IPC信号量机制同步。,所述发送线程根据所述报文发送速度和时间间隔计算每个时隙内应该发生的数据量。
所述的份额为:本次时间间隔内应该发送的数据量,所述时间间隔是指当前时间与上次发送数据时记录的时间的差值,其计算公式为:份额=(带宽/8)/(1秒/时间间隔)。
与现有技术相比,本发明由一个系统时钟检查线程为其它数据报文发送线程提供精确的时钟,精度可以达到微秒量级,其缺点是一颗CPU的占用率始终是100%,不过目前的服务器配置的都是多颗多核CPU,使用该方法后,并不会影响应用服务的性能,因此占用一颗CPU而实现为其他多个报文发送线程提供精确的时钟是值得的。此外,本发明还通过系统信号量的方式唤醒数据发送线程,不会出现延时情况,可以保证数据发送速度控制的精确性。综上所述,本发明的优势在于由独立的定时线程提供定时服务,精度可以达到100微秒,比现有技术精度提高100倍以上。可以保证限速更准确、均匀。
附图说明
图1是本发明的非实时系统上精确网络限速的方法检查线程(即实施例的定时线程)流程示意图;
图2是本发明的数据报文发送线程流程示意图。
具体实施方式
下面结合附图和具体的实施方式对本发明的内容进一步详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东方网信科技股份有限公司,未经北京东方网信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110286991.0/2.html,转载请声明来源钻瓜专利网。