[发明专利]一种基于Dubbo服务的会话消息的传递方法和装置有效
申请号: | 202011206768.6 | 申请日: | 2020-11-03 |
公开(公告)号: | CN112256456B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 乐思文 | 申请(专利权)人: | 武汉物易云通网络科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/48;G06F8/41 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 崔肖肖;向彬 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dubbo 服务 会话 消息 传递 方法 装置 | ||
1.一种基于Dubbo服务的会话消息的传递方法,其特征在于,所述传递方法应用于Dubbo服务系统,所述Dubbo服务系统包括至少一个节点,在所述节点上部署Dubbo服务,其中,所述Dubbo服务包括多个执行线程;
所述传递方法包括:
第一Dubbo服务接收到来自于消费方的第一请求后,选取目标执行线程对所述第一请求进行处理,其中,所述目标执行线程配套设置有第一线程局部变量、第二线程局部变量、第一过滤器和第二过滤器;
所述第一过滤器从所述第一请求中获取第一上下文消息,并将所述第一上下文消息存储在所述第一线程局部变量中;
在所述第一过滤器完成上下文消息的存储后,所述第二过滤器将所述第一上下文消息存储在所述第二线程局部变量;
在所述第一Dubbo服务发生级联调用时,可以从所述第二线程局部变量中获取所述第一上下文消息,以进行所述第一请求的后续逻辑处理;
所述目标执行线程还配套设置有第三过滤器和第三线程局部变量,其中,所述第一线程局部变量和所述第二线程局部变量均用于存储所述第一Dubbo服务作为提供方的上下文消息,所述第三线程局部变量用于存储所述第一Dubbo服务作为消费方的上下文消息;
所述在所述第一Dubbo服务发生级联调用时,可以从所述第二线程局部变量中获取所述第一上下文消息,以进行所述第一请求的后续逻辑处理包括:
在所述第二过滤器完成上下文消息的存储后,所述目标执行线程继续处理所述第一请求的后续逻辑;
所述目标执行线程对所述第一请求的后续逻辑进行解析,判断所述第一请求的后续逻辑是否包括第一子逻辑和第二子逻辑,其中,所述第一子逻辑需要调用第二Dubbo服务,所述第二子逻辑需要基于所述第一子逻辑返回的数据进行处理;
若所述第一请求的后续逻辑包括第一子逻辑和第二子逻辑,则所述第一Dubbo服务基于所述第一子逻辑向所述第二Dubbo服务生成第二请求;
所述第二子逻辑获取所述第二Dubbo服务基于所述第二请求的响应结果,并从所述第二线程局部变量中获取所述第一上下文消息,从而根据所述第一上下文消息和所述响应结果完成后续处理。
2.根据权利要求1所述的传递方法,其特征在于,若所述第一请求的后续逻辑包括第一子逻辑和第二子逻辑,则所述第一Dubbo服务基于所述第一子逻辑向所述第二Dubbo服务生成第二请求之后,所述第二子逻辑获取所述第二Dubbo服务基于所述第二请求的响应结果,并从所述第二线程局部变量中获取所述第一上下文消息,从而根据所述第一上下文消息和所述响应结果完成后续处理之前还包括:
所述第三过滤器从所述第二请求中获取第二上下文消息,并将所述第二上下文消息存储在第三线程局部变量中;
所述第三过滤器清除所述第一线程局部变量中的上下文消息;
所述目标执行线程将经过所述第三过滤器的第二请求发送至所述第二Dubbo服务;
所述目标执行线程在接收到所述第二Dubbo服务基于所述第二请求的响应结果后,所述第三过滤器清除所述第三线程局部变量中的上下文消息。
3.根据权利要求1所述的传递方法,其特征在于,所述在所述第一Dubbo服务发生级联调用时,可以从所述第二线程局部变量中获取所述第一上下文消息,以进行所述第一请求的后续逻辑处理还包括:
在所述目标执行线程完成对所述第一请求的处理后,所述第二过滤器清除所述第二线程局部变量中的上下文消息;
所述第一过滤器清除所述第一线程局部变量;
所述第一Dubbo服务将所述目标执行线程回收至线程池。
4.根据权利要求1所述的传递方法,其特征在于,所述第一过滤器为Dubbo服务原生的作为提供方的过滤器,所述第三过滤器为Dubbo服务原生的作为消费方的过滤器;
所述传递方法包括:
基于Dubbo服务的原生接口org.apache.dubbo.rpc.Filter扩展过滤器,以为执行线程设置所述第二过滤器。
5.根据权利要求1所述的传递方法,其特征在于,所述第一Dubbo服务和所述第二Dubbo服务设置在同一个节点上;或,所述第一Dubbo服务和所述第二Dubbo服务设置在不同节点上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉物易云通网络科技有限公司,未经武汉物易云通网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011206768.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:总线数据采集方法及装置
- 下一篇:一种音乐声乐教学系统及装置