[发明专利]服务处理方法及装置在审
申请号: | 201810246908.9 | 申请日: | 2018-03-23 |
公开(公告)号: | CN108762913A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 季荣姿 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许志勇 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 服务处理 问题单元 线程池 数据存储单元 熔断 阻塞状态 第一线 结果信息 线程执行 线程 服务 申请 访问 | ||
1.一种服务处理方法,包括:
为每个待处理的服务分别建立对应的线程池;其中,所述线程池中的线程基于多个数据存储单元被执行;
在确定建立的多个线程池中的第一线程池处于指定阻塞状态时,在所述第一线程池对应的多个数据存储单元中,确定引起所述第一线程池处于所述指定阻塞状态的问题单元;
熔断对所述问题单元的访问,并设置基于所述问题单元的线程执行结果信息为服务熔断信息。
2.根据权利要求1所述的方法,确定所述第一线程池处于指定阻塞状态,包括:
监测所述第一线程池的等待队列长度超过第一设定长度的时长是否达到第一设定时长,若达到,则确定所述第一线程池处于指定阻塞状态;
或者,
监测所述第一线程池的等待队列长度超过第二设定长度的时长是否达到第二设定时长,若达到,则对所述第一线程池进行扩容处理,并监测扩容后的所述第一线程池的等待队列长度超过第三设定长度的时长是否达到第三设定时长,若到达,则确定所述第一线程池处于指定阻塞状态。
3.根据权利要求1所述的方法,所述在所述第一线程池对应的多个数据存储单元中,确定引起所述第一线程池处于所述指定阻塞状态的问题单元,包括:
确定所述第一线程池中当前被执行的线程;
在所述第一线程池对应的多个数据存储单元中,将所述当前被执行的线程对应的数据存储单元,确定为引起所述第一线程池处于所述指定阻塞状态的问题单元。
4.根据权利要求1所述的方法,还包括:
在所述第一线程池中的线程被执行的过程中,确定第一线程的线程执行结果信息为所述服务熔断信息并发送出去,以及获取第二线程的线程执行结果信息并发送出去;
其中,所述第一线程为所述第一线程池中基于所述问题单元被执行的线程,所述第二线程为所述第一线程池中基于其他单元被执行的线程,所述其他单元为所述多个数据存储单元中除所述问题单元以外的单元,所述服务熔断信息和所述第二线程的线程执行结果信息不同。
5.根据权利要求1所述的方法,还包括:
在所述问题单元对应的问题因素消除后,恢复对所述问题单元的访问。
6.根据权利要求1至5任一项所述的方法,各个所述待处理的服务共同组成针对服务请求设备的聚合服务。
7.一种服务处理方法,包括:
为每个待处理的服务分别建立对应的线程池;其中,各个所述待处理的服务共同组成针对服务请求设备的聚合服务,所述线程池中的线程基于多个数据存储单元被执行;
在确定建立的多个线程池中的第一线程池处于指定阻塞状态时,在所述第一线程池对应的多个数据存储单元中,确定引起所述第一线程池处于所述指定阻塞状态的问题单元;
熔断对所述问题单元的访问,并设置基于所述问题单元的线程执行结果信息为服务熔断信息;
获取所述第一线程池的线程执行结果信息和其他线程池的线程执行结果信息,根据获取的所述线程执行结果信息确定所述聚合服务的服务结果信息并发送出去;其中,所述第一线程池的线程执行结果信息包括所述服务熔断信息,所述其他线程池为所述多个线程池中除所述第一线程池以外的线程池。
8.根据权利要求7所述的方法,所述在所述第一线程池对应的多个数据存储单元中,确定引起所述第一线程池处于所述指定阻塞状态的问题单元,包括:
确定所述第一线程池中当前被执行的线程;
在所述第一线程池对应的多个数据存储单元中,将所述当前被执行的线程对应的数据存储单元,确定为引起所述第一线程池处于所述指定阻塞状态的问题单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810246908.9/1.html,转载请声明来源钻瓜专利网。