System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机通信领域,涉及一种通用参数的传递方法、装置、电子设备及存储介质。
技术介绍
1、在微服务dubbo中经常为了简化开发,降低耦合度等将一些通用非业务参数进行隐式传递,原生dubbo协议中可以通过duboo rpccontext来进行参数的隐式上下文传递,但当非业务参数过多,大量存在于上下文环境中会占用更多的内存空间,增加数据传递时间,从而造成服务调用的延迟,因此,有必要提供一种通用参数的传递方法,来提高参数传递的效率。
技术实现思路
1、鉴于以上内容,有必要提供一种通用参数的传递方法,其主要目的在于降低微服务调用请求的传递过程中通用参数占用的内存空间,从而提高参数传递的效率。
2、为实现上述目的,本专利技术提供一种通用参数的传递方法,其特征在于,所述方法包括:
3、当接收到预设平台中微服务的消费端接口向服务端接口发起的微服务调用请求时,利用所述预设平台的第一拦截器拦截所述调用请求,所述调用请求包括所述微服务的第一上下文信息,所述第一上下文信息包括通用参数、业务参数、微服务消费端地址和微服务提供端地址;
4、利用所述第一拦截器从所述第一上下文信息中提取所述通用参数,生成所述通用参数的唯一标识符,将所述唯一标识符和所述通用参数存储至预设数据库中,并将所述第一上下文信息中的通用参数替换为所述唯一标识符,得到第二上下文信息,并将所述第二上下文信息发送至所述服务端接口;
5、当所述服务端接口接收到所述调用请求时,利用所述预设平
6、根据所述唯一标识符从所述预设数据库中获取所述通用参数,并将所述通用参数发送至所述服务端接口。
7、可选地,所述通用参数是指多个微服务共享和使用的参数。
8、可选地,所述利用第一拦截器从所述第一上下文信息中提取所述通用参数,生成所述通用参数的唯一标识符,将所述唯一标识符和所述通用参数存储至预设数据库中,包括:
9、利用所述第一拦截器调用协程调度器创建一个协程,利用所述协程获取所述通用参数并生成所述通用参数的唯一标识符;
10、利用所述协程将所述唯一标识符和所述通用参数存储至预设数据库中。
11、可选地,所述利用所述协程将所述唯一标识符和所述通用参数存储至预设数据库中,包括:
12、利用所述协程对所述通用参数进行压缩,生成压缩参数;
13、将所述唯一标识符作为所述压缩参数的关键字,将所述压缩参数存储至预设数据库中。
14、可选地,所述读取所述第二上下文信息中的所述唯一标识符,包括:
15、检测所述第二拦截器的系统白名单中是否包含所述微服务消费端地址;
16、若所述第二拦截器的系统白名单中包含所述微服务消费端地址,则读取所述第二上下文信息中的所述唯一标识符;
17、若所述第二拦截器的系统白名单中未包含所述微服务消费端地址,则检测所述微服务消费端地址是否合法,若所述微服务消费端地址合法,则读取所述第二上下文信息中的所述唯一标识符;
18、若所述微服务消费端地址不合法,则拒绝所述微服务消费端的参数调用请求。
19、可选地,利用预设的正则表达式检测所述微服务消费端地址是否合法。
20、可选地,所述根据所述唯一标识符从所述预设数据库中获取所述通用参数,包括:
21、根据所述唯一标识符从所述预设数据库中获取压缩参数;
22、利用预设的解压方法解压所述压缩参数,得到所述通用参数。
23、此外,为实现上述目的,本专利技术还提供一种通用参数的传递装置,所述装置包括:
24、请求接收模块:用于当接收到预设平台中微服务的消费端接口向服务端接口发起的微服务调用请求时,利用所述预设平台的第一拦截器拦截所述调用请求,所述调用请求包括所述微服务的第一上下文信息,所述第一上下文信息包括通用参数、业务参数、微服务消费端地址和微服务提供端地址;
25、参数存储模块:用于利用所述第一拦截器从所述第一上下文信息中提取所述通用参数,生成所述通用参数的唯一标识符,将所述唯一标识符和所述通用参数存储至预设数据库中,并将所述第一上下文信息中的通用参数替换为所述唯一标识符,得到第二上下文信息,并将所述第二上下文信息发送至所述服务端接口;
26、信息读取模块:用于当所述服务端接口接收到所述调用请求时,利用所述预设平台的第二拦截器读取所述第二上下文信息中的所述唯一标识符;
27、参数发送模块:用于根据所述唯一标识符从所述预设数据库中获取所述通用参数,并将所述通用参数发送至所述服务端接口。
28、此外,为实现上述目的,本专利技术还提供一种电子设备,所述电子设备包括:
29、存储器,存储至少一个计算机程序;及
30、处理器,执行所述存储器中存储的程序以实现上述所述的通用参数的传递方法。
31、此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的通用参数的传递方法。
32、本专利技术实施例在接收到预设平台中微服务的消费端接口向服务端接口发起的微服务调用请求时,利用第一拦截器拦截所述请求,提取第一上下文信息中的通用参数,将所述通用参数存储至预设数据库中,生成唯一标识符,将唯一标识符代替第一上下文信息中的通用参数,生成第二上下文信息,再将第二上下文信息发送至所述服务端接口,通过唯一标识符代替通用参数的方式,可以减少通用参数所占用的内存空间。当所述服务端接口接收到所述调用请求时,再利用第二拦截器检测微服务消费端地址的合法性,防止恶意攻击,提高参数请求调用的安全性。当合法性验证通过后,获取所述第二上下文信息中的唯一标识符,根据唯一标识符从预设数据库中获取通用参数,传递至服务端接口,从而提高参数传递的效率。
本文档来自技高网...【技术保护点】
1.一种通用参数的传递方法,其特征在于,所述方法包括:
2.如权利要求1所述的通用参数的传递方法,其特征在于,所述通用参数是指多个微服务共享和使用的参数。
3.如权利要求1所述的通用参数的传递方法,其特征在于,所述利用所述第一拦截器从所述第一上下文信息中提取所述通用参数,生成所述通用参数的唯一标识符,将所述唯一标识符和所述通用参数存储至预设数据库中,包括:
4.如权利要求3所述的通用参数的传递方法,其特征在于,所述利用所述协程将所述唯一标识符和所述通用参数存储至预设数据库中,包括:利用所述协程对所述通用参数进行压缩,生成压缩参数;
5.如权利要求1所述的通用参数的传递方法,其特征在于,所述读取所述第二上下文信息中的所述唯一标识符,包括:
6.如权利要求5所述的通用参数的传递方法,其特征在于,利用预设的正则表达式检测所述微服务消费端地址是否合法。
7.如权利要求1所述的通用参数的传递方法,其特征在于,所述根据所述唯一标识符从所述预设数据库中获取所述通用参数,包括:
8.一种微服务通用参数的传递装置,
9.一种电子设备,其特征在于,所述电子设备包括:
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的通用参数的传递方法。
...【技术特征摘要】
1.一种通用参数的传递方法,其特征在于,所述方法包括:
2.如权利要求1所述的通用参数的传递方法,其特征在于,所述通用参数是指多个微服务共享和使用的参数。
3.如权利要求1所述的通用参数的传递方法,其特征在于,所述利用所述第一拦截器从所述第一上下文信息中提取所述通用参数,生成所述通用参数的唯一标识符,将所述唯一标识符和所述通用参数存储至预设数据库中,包括:
4.如权利要求3所述的通用参数的传递方法,其特征在于,所述利用所述协程将所述唯一标识符和所述通用参数存储至预设数据库中,包括:利用所述协程对所述通用参数进行压缩,生成压缩参数;
5.如权利要求1所述的通用参数的传...
【专利技术属性】
技术研发人员:康杰,袁朝,
申请(专利权)人:深圳乐信软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。