发明名称 一种WebService服务调用方法
摘要 本发明提供了一种WebService服务调用方法,该方法通过服务端与其提供WebService服务的各客户端之间约定各客户端的每秒调用上限次数,每个客户端设置有多个调用线程调用WebService接口从服务端获得WebService服务结果数据,并根据其每秒调用上限次数限制其多个调用线程调用WebService接口的上限频率,从而有效防止单个客户端无限制地调用WebService接口而大量占用服务端资源导致服务端运行效率降低的情况出现,使得服务端资源分配更加的均衡、合理,让服务端可以合理的规划和管理其资源分配,从而避免资源利用不可控情况的出现,更加方便维护。
申请公布号 CN102325148B 申请公布日期 2013.11.27
申请号 CN201110136101.8 申请日期 2011.05.25
申请人 重庆新媒农信科技有限公司 发明人 姚江虹;雷镜涛
分类号 H04L29/08(2006.01)I 主分类号 H04L29/08(2006.01)I
代理机构 重庆博凯知识产权代理有限公司 50212 代理人 张先芸
主权项 一种Web Service服务调用方法,其特征在于,服务端与其提供Web Service服务的各客户端之间约定各客户端的每秒调用上限次数;每个客户端设置有多个调用线程调用Web Service接口从服务端获得Web Service服务结果数据,并根据其每秒调用上限次数限制其多个调用线程调用Web Service接口的上限频率;所述“每个客户端设置有多个调用线程调用Web Service接口从服务端获得Web Service服务结果数据,并根据其每秒调用上限次数限制其多个调用线程调用Web Service接口的上限频率”具体为,每个客户端分别设置有多个调用线程,并分别设置有调用次数计数器和运行线程数计数器,所述调用次数计数器的计数值每间隔1秒自动复位为0,所述运行线程数计数器的计数值初始状态为0;每个客户端将其各自待发送的Web Service接口调用请求排队形成各自的请求队列,由客户端的多个调用线程读取请求队列中的Web Service接口调用请求并执行Web Service接口调用处理,从而从服务端获得Web Service服务结果数据;其中,任一个客户端的每个调用线程按如下步骤调用Web Service接口:1)判断当前时刻调用次数计数器的计数值,若其计数值等于服务端与该客户端约定的每秒调用上限次数S,则执行步骤2);若其计数值小于S,则执行步骤3);2)该线程休眠1秒,然后返回执行步骤1);3)调用次数计数器的计数值加1,运行线程数计数器的计数值加1,然后该线程从请求队列中读取出排队最靠前的一条Web Service接口调用请求,执行Web Service接口调用处理,并对调用Web Service接口的执行持续时间进行计时,直至调用Web Service接口执行完毕,记该线程此次调用Web Service接口的执行持续时间为T,若执行持续时间T小于或等于1/S秒,则执行步骤4);否则,该线程执行步骤5);4)运行线程数计数器的计数值减1,该线程休眠(1/S‑T)秒,然后返回执行步骤1);5)记录当前时刻运行线程数计数器的计数值为N,然后运行线程数计数器的计数值减1,该线程休眠X秒,X在(0,T/N]之间随机取值,然后返回执行步骤1)。
地址 401121 重庆市北部新区高新园黄山大道5号水星科技大厦南翼写字楼1楼3号