上下文环境信息的传递方法、装置、服务网关及存储介质制造方法及图纸

技术编号:18530297 阅读:37 留言:0更新日期:2018-07-25 15:03
本申请公开了一种上下文环境信息的传递方法、装置、服务网关及存储介质,属于互联网技术领域。所述方法包括:接收客户端发送的业务请求,业务请求携带有目标上下文环境信息,目标上下文环境信息为客户端的上下文环境信息;根据业务请求中的目标上下文环境信息设置第一线程本地变量,设置后的第一线程本地变量中包括目标上下文环境信息;将设置后的第一线程本地变量存储在远程过程调用RPC附件中;通过RPC中间件向后端服务器发送远程调用请求,远程调用请求携带有RPC附件。本申请通过将上下文环境信息以第一线程本地变量的形式存储在RPC附件中,通过RPC中间件将上下文环境信息传递给后端服务器,减少了业务代码冗余。

【技术实现步骤摘要】
上下文环境信息的传递方法、装置、服务网关及存储介质
本申请实施例涉及互联网
,特别涉及一种上下文环境信息的传递方法、装置、服务网关及存储介质。
技术介绍
在分布式系统中,上下文环境信息是客户端的上下文环境信息,包括客户端的网络之间互连的协议(InternetProtocol,IP)地址、客户端所在终端的终端序列号和终端机型中的至少一种。相关技术中,服务调用方向服务被调用方传递上下文信息的方式包括:服务调用方将客户端的上下文信息嵌入至业务逻辑代码中之后,生成携带有该业务逻辑代码的业务请求,并将该业务请求发送至服务被调用方,使得服务被调用方在接收到业务请求后,对该业务请求中的业务逻辑代码进行解析,从而得到该业务逻辑代码中的上下文信息。
技术实现思路
本申请实施例提供了一种上下文环境信息的传递方法、装置、服务网关及存储介质,可以用于解决服务调用方在接口参数里显式传递上下文信息而导致的代码冗余的问题。技术方案如下:根据本申请实施例的第一方面,提供了一种上下文环境信息的传递方法,应用于内置有RPC中间件的服务网关中,所述方法包括:接收客户端发送的业务请求,所述业务请求携带有目标上下文环境信息,所述目标上下文环境信息为所述客户端的上下文环境信息;根据所述业务请求中的所述目标上下文环境信息设置第一线程本地(英文:ThreadLocal)变量,设置后的所述第一线程本地变量中包括所述目标上下文环境信息;将设置后的所述第一线程本地变量存储在远程过程调用(RemoteProcedureCall,RPC)中间件中;通过所述RPC中间件向后端服务器发送远程调用请求,所述远程调用请求携带有所述RPC附件。根据本申请实施例的第二方面,提供了一种上下文环境信息的传递方法,用于后端服务器中,所述方法包括:接收服务网关发送的远程调用请求;从所述远程调用请求中获取RPC附件;从所述RPC附件中获取第一线程本地变量;从所述第一线程本地变量中获取目标上下文环境信息,所述目标上下文环境信息为客户端的上下文环境信息。根据本申请实施例的第三方面,提供了一种上下文环境信息的传递方法,用于离线服务器中,所述方法包括:接收后端服务器发送的消息;从所述消息中获取第二线程本地变量;从所述第二线程本地变量中获取目标上下文环境信息,所述目标上下文环境信息为客户端的上下文环境信息。根据本申请实施例的第四方面,提供了一种上下文环境信息的传递装置,应用于内置有RPC中间件的服务网关中,所述装置包括:接收模块,用于接收客户端发送的业务请求,所述业务请求携带有目标上下文环境信息,所述目标上下文环境信息为所述客户端的上下文环境信息;设置模块,用于根据所述业务请求中的所述目标上下文环境信息设置第一线程本地变量,设置后的所述第一线程本地变量中包括所述目标上下文环境信息;存储模块,用于将设置后的所述第一线程本地变量存储在远程过程调用RPC附件中;发送模块,用于通过所述RPC中间件向后端服务器发送远程调用请求,所述远程调用请求携带有所述RPC附件。根据本申请实施例的第五方面,提供了一种上下文环境信息的传递装置,用于后端服务器中,所述装置包括:接收模块,用于接收服务网关发送的远程调用请求;第一获取模块,用于从所述远程调用请求中获取RPC附件;第二获取模块,用于从所述RPC附件中获取第一线程本地变量;第三获取模块,用于从所述第一线程本地变量中获取目标上下文环境信息,所述目标上下文环境信息为客户端的上下文环境信息。根据本申请实施例的第六方面,提供了一种上下文环境信息的传递装置,用于离线服务器中,所述装置包括:接收模块,用于接收后端服务器发送的消息;第一获取模块,用于从所述消息中获取第二线程本地变量;第二获取模块,用于从所述第二线程本地变量中获取目标上下文环境信息,所述目标上下文环境信息为客户端的上下文环境信息。根据本申请实施例的第七方面,提供了一种服务网关,所述服务网关包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请第一方面及其可选实施例任一所述的上下文环境信息的传递方法。根据本申请实施例的第八方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请第二方面及其可选实施例任一所述的上下文环境信息的传递方法。根据本申请实施例的第九方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请第三方面及其可选实施例任一所述的上下文环境信息的传递方法。根据本申请实施例的第十方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请第一方面及其可选实施例任一所述的上下文环境信息的传递方法。根据本申请实施例的第十一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请第二方面及其可选实施例任一所述的上下文环境信息的传递方法。根据本申请实施例的第十二方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请第三方面及其可选实施例任一所述的上下文环境信息的传递方法。本申请实施例提供的技术方案带来的有益效果至少包括:通过接收客户端发送的业务请求,根据业务请求中的目标上下文环境信息设置第一线程本地变量,将设置后的第一线程本地变量存储在RPC附件中,通过RPC中间件向后端服务器发送远程调用请求,该远程调用请求携带有RPC附件;使得目标上下文环境信息能够以第一线程本地变量的形式存储在RPC附件中,通过RPC中间件将目标上下文环境信息传递给后端服务器,避免了相关技术中由服务调用方显式在接口参数中设定或传递客户端的上下文环境信息而导致的代码冗余的问题,减少了业务代码冗余,从前端的HTTP协议到RPC协议实现了目标上下文环境信息的透明传递。附图说明图1是本申请实施例提供的上下文环境信息的传递方法所涉及的分布式系统的结构示意图;图2是本申请一个实施例提供的上下文环境信息的传递方法的流程图;图3是本申请另一个实施例提供的上下文环境信息的传递方法的流程图;图4是本申请另一个实施例提供的上下文环境信息的传递方法的流程图;图5是本申请一个实施例提供的上下文环境信息的传递装置的结构图;图6是本申请另一个实施例提供的上下文环境信息的传递装置的结构示意图;图7是本申请另一个实施例提供的上下文环境信息的传递装置的结构示意图;图8是本申请一个实施例提供的终端的结构示意图;图9是本申请一个实施例提供的服务器的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,本文档来自技高网...

【技术保护点】
1.一种上下文环境信息的传递方法,其特征在于,应用于内置有RPC中间件的服务网关中,所述方法包括:接收客户端发送的业务请求,所述业务请求携带有目标上下文环境信息,所述目标上下文环境信息为所述客户端的上下文环境信息;根据所述业务请求中的所述目标上下文环境信息设置第一线程本地变量,设置后的所述第一线程本地变量中包括所述目标上下文环境信息;将设置后的所述第一线程本地变量存储在远程过程调用RPC附件中;通过所述RPC中间件向后端服务器发送远程调用请求,所述远程调用请求携带有所述RPC附件。

【技术特征摘要】
1.一种上下文环境信息的传递方法,其特征在于,应用于内置有RPC中间件的服务网关中,所述方法包括:接收客户端发送的业务请求,所述业务请求携带有目标上下文环境信息,所述目标上下文环境信息为所述客户端的上下文环境信息;根据所述业务请求中的所述目标上下文环境信息设置第一线程本地变量,设置后的所述第一线程本地变量中包括所述目标上下文环境信息;将设置后的所述第一线程本地变量存储在远程过程调用RPC附件中;通过所述RPC中间件向后端服务器发送远程调用请求,所述远程调用请求携带有所述RPC附件。2.根据权利要求1所述的方法,其特征在于,所述将设置后的所述第一线程本地变量存储在远程过程调用RPC附件中,包括:通过所述RPC中间件对所述第一线程本地变量中的所述目标上下文环境信息进行序列化处理,得到处理后的所述第一线程本地变量;将处理后的所述第一线程本地变量存储在所述RPC附件中。3.根据权利要求1所述的方法,其特征在于,所述业务请求携带有请求参数,所述根据所述业务请求中的所述目标上下文环境信息设置第一线程本地变量,包括:从所述业务请求中获取所述请求参数,并从所述请求参数的头部信息中获取所述目标上下文环境信息;将所述目标上下文环境信息存储在所述第一线程本地变量中。4.根据权利要求2所述的方法,其特征在于,所述将设置后的所述第一线程本地变量存储在远程过程调用RPC附件中之前,包括:将设置后的所述第一线程本地变量存储至指定存储区域;当需要调用所述后端服务器时,通过所述RPC中间件从所述指定存储区域中读取设置后的所述第一线程本地变量。5.一种上下文环境信息的传递方法,其特征在于,用于后端服务器中,所述方法包括:接收服务网关发送的远程调用请求;从所述远程调用请求中获取RPC附件;从所述RPC附件中获取第一线程本地变量;从所述第一线程本地变量中获取目标上下文环境信息,所述目标上下文环境信息为客户端的上下文环境信息。6.根据权利要求5所述的方法,其特征在于,所述从所述第一线程本地变量中获取目标上下文环境信息,包括:从所述第一线程本地变量中获取序列化后的目标上下文环境信息;将序列化后的目标上下文环境信息进行反序列化得到所述目标上下文环境信息。7.根据权利要求5所述的方法,其特征在于,所述方法,还包括:根据所述目标上下文环...

【专利技术属性】
技术研发人员:李元军康大强肖利强
申请(专利权)人:广东欧珀移动通信有限公司
类型:发明
国别省市:广东,44

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

1