微服务全局上下文控制方法及系统技术方案

技术编号:27126238 阅读:18 留言:0更新日期:2021-01-25 19:46
本发明专利技术提供了一种微服务全局上下文控制方法及系统。该方法包括:根据由源头系统获取到的上下文数据管理调用请求,创建上下文数据集;将上下文数据集对应的实例编号返回给所述源头系统;接收下游系统返回的上下文调用参数,并根据所述上下文调用参数,对所述上下文数据集中的上下文数据进行分级管理;其中,上下文数据集为经过了分级处理的上下文数据集,上下文数据集中处于不同层级的上下文数据在整个调用流程具有不同的作用域。本发明专利技术提供的微服务全局上下文控制方法及系统能够在全局上下文控制的基础之上,实现对上下文的分级控制。制。制。

【技术实现步骤摘要】
微服务全局上下文控制方法及系统


[0001]本专利技术涉及微服务架构
,特别是涉及一种微服务全局上下文控制方法及系统。

技术介绍

[0002]在分布式应用架构部署的背景下,一个应用通常需要使用到链路上下文进行一次调用的生命周期内的参数管理,使得在不同系统之间可以使用上下文参数进行共享参数的获取或者变更。但是常用的上下文数据的调用或管理方式,通常只能调用链路的当前系统里使用,分布式系统的其他上下游系统无法感知,可能无法对整个分布式系统中的上下文数据进行统一的管理。若上游系统对上下文数据进行了错误的设置,其他的上下游系统难以发现,可能会引入额外的系统风险或者业务风险。
[0003]在中国专利技术专利申请CN110083680A中,专利技术的目的在于解决现有技术的不足,提供一种在微服务架构下实现全局上下文控制的功能。对微服务架构的服务划分粒度进行控制,各微服务之间由全局上下统一控制,微服务各模块之间使用全局上下文进行传递和引用。
[0004]然而,该专利技术技术方案仍然存在如下的不足:
[0005]1)、每个微服务只负责维护自己的界限上下文,没有进行上下文的分级处理;
[0006]2)、每个微服务的界限上下文分层次结构存储不同数据,无法进行归一。

技术实现思路

[0007]本专利技术要解决的技术问题是提供一种微服务全局上下文控制方法及系统,能够在全局上下文控制的基础之上,实现对上下文的分级控制。
[0008]为解决上述技术问题,本专利技术提供了一种微服务全局上下文控制方法,所述方法包括:根据由源头系统获取到的上下文数据管理调用请求,创建上下文数据集;将上下文数据集对应的实例编号返回给所述源头系统;接收下游系统返回的上下文调用参数,并根据所述上下文调用参数,对所述上下文数据集中的上下文数据进行分级管理;其中,上下文数据集为经过了分级处理的上下文数据集,上下文数据集中处于不同层级的上下文数据在整个调用流程具有不同的作用域。
[0009]在一些实施方式中,在一次调用过程中,有且只有一个上下文数据存在于当前调用线程,其具有唯一的标识。
[0010]在一些实施方式中,上下文数据中存储任何与当前调用相关的信息。
[0011]在一些实施方式中,与当前调用相关的信息包括:组合服务请求、响应的ICompositeData结构数据,业务服务的请求、响应的ICompositeData结构数据及自定义的变量数据。
[0012]在一些实施方式中,分级的上下文数据包括:初始化上下文、本地上下文、扩展上下文、全局上下文。
[0013]在一些实施方式中,上下文通过ThreadLocal实现线程独立,从而实现交易间的数据隔离。
[0014]在一些实施方式中,还包括:由统一入口声明全局上下文,其他链路只是引用该上下文。
[0015]在一些实施方式中,还包括:在交易结束时,通过调用上下文clear接口显式清除线程局部变量达到交易数据清理的目的。
[0016]在一些实施方式中,还包括:在调用上下文clear接口显式清除线程局部变量之前,通过超时检查判断是否需要执行清除。
[0017]此外,本专利技术还提供了一种微服务全局上下文控制系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的微服务全局上下文控制方法。
[0018]采用这样的设计后,本专利技术至少具有以下优点:
[0019]实现了全局统一的对分布式系统中的上下文数据进行使用和管理,实现了的分布式系统中的全局上下文数据的更为精细化的分级管理,提高了分布式系统中上下文数据管理的准确性、合理性及灵活性。
附图说明
[0020]上述仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,以下结合附图与具体实施方式对本专利技术作进一步的详细说明。
[0021]图1是现有技术提供的微服务全局上下文控制方法的流程图;
[0022]图2是本专利技术实施例提供的微服务全局上下文控制方法的流程图;
[0023]图3是本专利技术实施例提供的分级管理的原理示意图;
[0024]图4是本专利技术实施例提供的微服务全局上下文控制系统的结构图。
具体实施方式
[0025]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0026]在本专利技术技术方案中,上下文主要用于通过键值对的形式存放交易数据,供交易过程中各个模块共享使用。
[0027]在本专利技术技术方案中,上下文模块是指在微服务架构体系内,需要存储传递的数据存储在内存中。在微服务平台启动时,设置需要传递的上下文信息。在某次调用过程中,有且只有一个Context存在于当前调用线程,其具有唯一的标识。当前Context中可以存储任何与当前调用相关的任何信息,例如:fromid,toid,socket,HttpServletRequest等。
[0028]提供在微服务架构体系中,每个微服务模块的界限上下文统一,微服务之间进行上下文传递引用。由全局上下文进行统一管控。设计原理如图1。
[0029]在微服务调用过程中,在请求入口进行全局上下文的创建与服务调用过程中的上下文流程传递。
[0030]上述的服务调用过程具体为:接收系统中的源头系统发送的上下文数据管理调用
请求;根据上下文数据管理调用请求,创建上下文数据集;将上下文数据集对应的实例编号返回给所述源头系统,以使得所述源头系统将所述实例编号向所述分布式系统中的下游系统进行传递;接收下游系统返回的上下文调用参数,并根据所述上下文调用参数,对所述上下文数据集中的上下文数据进行管理,所述对所述上下文数据集中的上下文数据进行管理包括:返回对应的上下文数据或将对应的上下文数据更新或将对应的上下文数据删除。
[0031]分布式系统中的各个系统可以根据自己的需要向上下文中发送上下文调用参数,上下文数据管理上下文调用参数,对应的上下文数据进行相应的管理,如:返回对应的上下文数据、删除对应的上下文数据更新对应的上下文数据等。实现了全局统一的对分布式系统中的上下文数据进行使用和管理,实现了的分布式系统中的上下文数据的集中化、精细化管理,提高了分布式系统中上下文数据管理的准确性、合理性及灵活性。
[0032]上下文模块是指渠道在调用组合服务平台时的内存中存储的上下文信息。在平台启动时,根据参数设置上下文pool。在某次调用过程中,有且只有一个Context存在于当前调用线程,其具有唯一的标识。Context中可以存储任何与当前调用相关的任何信息,例如:fromid,toid,socket,HttpServletRequest等。
[0033]主要用于通过键值对的形式存放交易数据,供交易过程中各个模块共享使用。上下文中存放的数据主要包括组合服务请求、响应的ICompositeDa本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务全局上下文控制方法,其特征在于,包括:根据由源头系统获取到的上下文数据管理调用请求,创建上下文数据集;将上下文数据集对应的实例编号返回给所述源头系统;接收下游系统返回的上下文调用参数,并根据所述上下文调用参数,对所述上下文数据集中的上下文数据进行分级管理;其中,上下文数据集为经过了分级处理的上下文数据集,上下文数据集中处于不同层级的上下文数据在整个调用流程具有不同的作用域。2.根据权利要求1所述的微服务全局上下文控制方法,其特征在于,在一次调用过程中,有且只有一个上下文数据存在于当前调用线程,其具有唯一的标识。3.根据权利要求2所述的微服务全局上下文控制方法,其特征在于,上下文数据中存储任何与当前调用相关的信息。4.根据权利要求1所述的微服务全局上下文控制方法,其特征在于,与当前调用相关的信息包括:组合服务请求、响应的ICompositeData结构数据,业务服务的请求、响应的ICompositeData结构数据及自定义的变量数据。5.根据权利要求1所述的微服务全局上下文控制方法...

【专利技术属性】
技术研发人员:陈宏鸿范兴泽周侃
申请(专利权)人:北京神州数字科技有限公司
类型:发明
国别省市:

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

1