[发明专利]一种消息线程挂起时间的动态调节方法有效
| 申请号: | 201710294607.9 | 申请日: | 2017-04-28 |
| 公开(公告)号: | CN107122193B | 公开(公告)日: | 2020-09-08 |
| 发明(设计)人: | 黎邓根;尹安旭;岳龙 | 申请(专利权)人: | 中国中车股份有限公司;湖南中车时代通信信号有限公司 |
| 主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F9/54 |
| 代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 胡林岭 |
| 地址: | 100036 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 消息 线程 挂起 时间 动态 调节 方法 | ||
1.一种消息线程挂起时间的动态调节方法,其特征在于,所述方法包括以下步骤:
1)设TS为线程休眠时间,单位ms;
2)令发送消息至队列的频率小于从队列中获取消息处理的频率:
f1=f2
f2=1000/(TA+TS)
其中:f1为消息发送频率,即每秒发送至消息队列的消息个数;
f2为消息处理频率,即每秒从消息队列中处理消息个数;
TA为队列中一个消息被平均处理时间,不含所述线程休眠时间;
3)消息处理不超过允许的消息响应时间,即消息队列中最后一个消息的处理时间达到响应时间要求,则所有消息都满足响应时间要求,需要满足如下条件:
TD=n*(TS+TA)
n=Q
TD为允许一个消息的最大响应时间,即从消息被放入队列到最后被处理完成的时间,单位毫秒;
n为消息队列中缓存的消息个数;
Q为消息队列最大缓存容量;
4)令线程休眠一段时间后才能继续处理消息,并设置一个线程的最小休眠时间;
TS=TSmin
5)设置一个线程的最长休眠时间;
TS=TSmax
6)对步骤1)到步骤5)进行整理,结果如下:
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时线程休眠时间是 最长的。
2.如权利要求1所述的方法,其特征在于,其中,TS是求解变量,Q、TSmin、TSmax、TD是常量,f1,n,TA为变量。
3.如权利要求2所述的方法,其特征在于:
当消息发送频率在增大时,f1=单位时间内线程处理的消息个数+队列中新增消息个数;
当消息发送频率在减小时,f1=单位时间内线程处理的消息个数-队列中减少消息个数。
4.如权利要求2所述的方法,其特征在于:n通过库函数可以获得。
5.如权利要求4所述的方法,其特征在于,n通过自动列车监控系统系统中通过自主开发的底层库的获取队列缓存个数的函数接口获得。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国中车股份有限公司;湖南中车时代通信信号有限公司,未经中国中车股份有限公司;湖南中车时代通信信号有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710294607.9/1.html,转载请声明来源钻瓜专利网。





