控制远程服务调用频率的方法和装置制造方法及图纸

技术编号:14152334 阅读:111 留言:0更新日期:2016-12-11 15:38
本发明专利技术公开了一种控制远程服务调用频率的方法,包括:确定每次发起调用的预期时长;统计每次发起调用的实际时长;判断所述实际时长是否小于所述预期时长;当所述实际时长小于所述预期时长时,进入休眠状态,所述休眠状态的持续时长在所述预期时长减去所述实际时长的差的最大偏差范围之内。发起调用的实际时长小于预期时长时,通过休眠来弥补实际时长与预期时长的时间差,暂缓继续发起下一次调用,从而达到精确控制调用频率的效果。

【技术实现步骤摘要】

本专利技术属于计算机
,具体地说,涉及一种控制远程服务调用频率的方法和装置
技术介绍
在系统交互的场景中,某个下层系统由于自身的处理性能限制,会给上层系统一个每秒调用量的阈值参考max_freq,如果上层系统对下层系统服务的调用总是大于这个频率,就会造成下层系统的吞吐压力过大、响应周期变长,严重时会导致系统崩溃。因此,上层系统需要控制自己的调用频率尽量不超过这个阈值。现有技术中主要采取两种方法:一种是采用“一刀切”式的限流设置,系统设置一个每秒限流的数量max_limit,这个值可设置为等于或者稍微大于max_freq。然后每秒对下层系统的调用量进行统计,当小于等于它时都能正常进行调用,超出它时就强制不进行调用而直接返回失败。但这种方法的缺点是容易导致对系统之间的调用量利用不均衡,任务刚启动时出现过多的调用量容易导致失败,后期调用量又变得稀疏。例如图1所示的调用量曲线,限流上限设置为100tps,深色曲线为实际的调用量曲线,浅色曲线是上层系统计划要执行的调用量曲线,可以看出刚开始时调用量会过高导致部分调用不会成功,而后期调用量过低导致对调用量的利用率过低。另一种方法是调整线本文档来自技高网...
控制远程服务调用频率的方法和装置

【技术保护点】
一种控制远程服务调用频率的方法,其特征在于,包括:确定每次发起调用的预期时长;统计每次发起调用的实际时长;判断所述实际时长是否小于所述预期时长;当所述实际时长小于所述预期时长时,进入休眠状态,所述休眠状态的持续时长在所述预期时长减去所述实际时长的差的最大偏差范围之内。

【技术特征摘要】
1.一种控制远程服务调用频率的方法,其特征在于,包括:确定每次发起调用的预期时长;统计每次发起调用的实际时长;判断所述实际时长是否小于所述预期时长;当所述实际时长小于所述预期时长时,进入休眠状态,所述休眠状态的持续时长在所述预期时长减去所述实际时长的差的最大偏差范围之内。2.如权利要求1所述的方法,其特征在于,所述确定每次发起调用的预期时长,包括:根据发起调用的线程数量和被调用系统的最大调用频率,确定所述预期时长。3.如权利要求2所述的方法,其特征在于,所述预期时长expect_time=1÷max_freq×thread_num;其中,max_freq代表所述被调用系统的最大调用频率,thread_num代表所述发起调用的线程数量。4.如权利要求1所述的方法,其特征在于,所述统计每次发起调用的实际时长,包括:记录开始处理每个事务数据时的第一时刻和每次完成调用时的第二时刻;将所述第二时刻减去所述第一时刻的差作为所述实际时长。5.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述休眠状态结束时,统计下一次发起调用的实际时长。6.如权利要求1所述的方法,其特征在于,所述方法还包括:当所述实际时长大于或等于所述预期时长时,统计下一次发起调用的实际时长。7.如权利要求1所述的方法,其特征在于,所述方法还包括:每隔预设周期从数据库中获取事务数据。8.如权利要求7所述的方法,其特征在于,所述每隔预设周期从数据库中获取事务数据,包括:各个线程每次获取事务数据的数量data_num=max_freq×interval÷thread_num;其中,max_freq代表被调用系统的最大调用频率,thread_num代表发起调用的线程数量,interval代表所述预设周期。9.如权利要求7所述的方法,其特征在于,当所述休眠状态结束时,或者当所述实际时长大于或等于所述预期时长时,所述方法还包括:判断获取的事务数据是否全部处理完毕;当所述获取的事务数据未全部处理完毕时,统计下一次发起调用的实际时长。10.一种控制远程服务调用频率的装置,其特征在于,包括:确定模块,用于确定...

【专利技术属性】
技术研发人员:唐寅
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1