[发明专利]一种消息线程挂起时间的动态调节方法有效

专利信息
申请号: 201710294607.9 申请日: 2017-04-28
公开(公告)号: CN107122193B 公开(公告)日: 2020-09-08
发明(设计)人: 黎邓根;尹安旭;岳龙 申请(专利权)人: 中国中车股份有限公司;湖南中车时代通信信号有限公司
主分类号: G06F9/4401 分类号: G06F9/4401;G06F9/54
代理公司: 上海专利商标事务所有限公司 31100 代理人: 胡林岭
地址: 100036 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 消息 线程 挂起 时间 动态 调节 方法
【说明书】:

发明提供了一种消息线程挂起时间的动态调节方法,所述方法包括:1)设TS为线程休眠时间;2)令发送消息至队列的频率小于从队列中获取消息处理的频率;3)消息处理不超过允许的消息响应时间,即消息队列中最后一个消息的处理时间达到响应时间要求,则所有消息都满足响应时间要求;4)令线程休眠一段时间后才能继续处理消息,并设置一个线程的最小休眠时间;5)设置一个线程的最长休眠时间;6)对上述步骤进行整理,得到当TS=TSmax_R时线程休眠时间使最长的。

技术领域

本发明涉及消息处理线程,尤其涉及消息线程挂起时间的动态调节。

背景技术

消息处理线程,即连续不断地通过消息循环进行接收消息再进行处理的线程。由于CPU资源有限,一个线程不能一直占用CPU,因此线程在处理完一个消息后,需要挂起,即挂起线程,让其他同优先级线程有机会获取CPU。如此便需要设置一个合理的线程挂起时间,该时间不宜过短或过长。若挂起时间过短,浪费CPU,且会导致其他线程很难抢占CPU;若时间过长,可能导致急需处理的消息需要等待较长时间,从而达不到性能要求,以至于出现队列消息积压的情况发生。

既有的处理方式为根据经验估算或试验一个恒定线程挂起时间,保证处理速率大于接收速率。但是,如果设计改变,这个值可能需要重新估算并测试,并且,估测值没有度量方法用于评价线程分配的挂起时间是否合理,是否符合设计要求(例如响应时间要求)。

发明内容

本发明的目的为提供一种消息线程挂起时间动态调节的方法,使线程的消息处理时间与挂起时间尽可能达到平衡,即以不影响线程处理消息的效率为前提,使线程挂起时间尽可能长,以减少CPU占用时间片,提高CPU的利用率,不依赖于人工估算及降低测试成本。

为了实现上述目的,本发明提供了一种消息线程挂起时间的动态调节方法,其特征在于,所述方法包括以下步骤:

1)设TS为线程休眠时间,单位ms;

2)令发送消息至队列的频率小于从队列中获取消息处理的频率:

f1=f2

f2=1000/(TA+TS)

其中:f1为消息发送频率,即每秒发送至消息队列的消息个数;

f2为消息处理频率,即每秒从消息队列中处理消息个数;

3)消息处理不超过允许的消息响应时间,即消息队列中最后一个消息的处理时间达到响应时间要求,则所有消息都满足响应时间要求,需要满足如下条件:

TD=n*(TS+TA)

n=Q

TD为允许一个消息的最大响应时间(从消息被放入队列,到最后被处理完成),单位毫秒。

n为消息队列中缓存的消息个数;

Q为消息队列最大缓存容量;

4)令线程休眠一段时间后才能继续处理消息,并设置一个线程的最小休眠时间;

TS=TSmin

5)设置一个线程的最长休眠时间;

TS=TSmax

6)对上述步骤进行整理,结果如下:

TSmin_R=TS=TSmax_R

TSmin_R=max(TD/Q–TS,TSmin)

TSmax_R=min(1000/f1–TA,TD/n–TA,TSmax)

以上可知,当TS=TSmax_R时线程休眠时间使最长的。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国中车股份有限公司;湖南中车时代通信信号有限公司,未经中国中车股份有限公司;湖南中车时代通信信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710294607.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top