一种向请求报文数据中添加链路标识的方法和装置制造方法及图纸

技术编号:28848161 阅读:35 留言:0更新日期:2021-06-11 23:48
本发明专利技术实施例涉及一种向请求报文数据中添加链路标识的方法和装置,所述方法包括:获取第一请求报文数据;对与预设的链路标识字段名相匹配的第一字段名数据,进行匹配字段查找处理;若查找失败则在第一请求头数据段中进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组;获取时间戳和系统时间信息,并对时间戳和系统时间信息进行时间参数计算处理,生成第一参数;根据第一参数进行链路标识生成处理,得到第一链路标识数据;将第一链路标识数据,做为第一链路标识字段数据组的第一字段内容数据。API网关使用本发明专利技术实施例,在转发的请求报文的请求头中加入一个随机的链路标识,可以提高对错误或异常的定位效率。

【技术实现步骤摘要】
一种向请求报文数据中添加链路标识的方法和装置
本专利技术涉及数据处理
,特别涉及一种向请求报文数据中添加链路标识的方法和装置。
技术介绍
微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统由多个服务单元组成。分布式系统处理业务的大致流程是,接收外部发送的请求报文,并通过应用程序接口(ApplicationProgrammingInterface,API)网关向内部服务单元进行请求报文转发,再由内部服务单元调用多个服务完成业务处理。这里的API网关,是系统提供给外部访问内部接口服务的统一入口,所有要调用后台服务操作都需要通过API网关进行访问,API网关接收客户端的所有请求,然后根据一定的策略和路由,将请求转发到相应的后端系统服务上。分布式系统的优点明显:部署灵活、扩展性强;但缺点也很明显:采用微服务架构,服务单元数量众多,服务单元之间调用关系复杂,如果在业务处理过程中出现了错误和异常,很难采用常规调试手段对问题进行跟踪定位。我们通过实践发现,要解决上述问题,可以在API网关进行首次请求报文转发时,在请求报文中增加一个链路标识,内部服务单元在收到带有链路标识的请求报文之后,在后续的服务调用中都将该链路标识纳入调用报文当中,并通过日志记录中对所有收发报文进行存储。如此一来,若在业务处理过程中出现了错误和异常,就可以在日志记录中,通过跟踪链路标识,找到错误和异常发生的位置。
技术实现思路
本专利技术的目的,就是针对现有技术的缺陷,提供一种向请求报文数据中添加链路标识的方法、装置、电子设备、计算机程序产品及计算机可读存储介质,在API网关进行首次请求报文转发之前,在转发的请求报文的请求头中加入一个随机的链路标识;由此,在处理请求报文的过程中若发生错误或异常,通过该链路标识,可以提高对错误或异常的定位效率。为实现上述目的,本专利技术实施例第一方面提供了一种向请求报文数据中添加链路标识的方法,所述方法包括:获取第一请求报文数据;所述第一请求报文数据包括第一请求头数据段;所述第一请求头数据段包括多个第一字段数据组;所述第一字段数据组包括第一字段名数据和第一字段内容数据;在所有所述第一字段名数据中,对与预设的链路标识字段名相匹配的所述第一字段名数据,进行匹配字段查找处理;所述匹配字段查找处理失败,则在所述第一请求头数据段中,进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组;获取unix时间戳和系统时间信息;并对所述unix时间戳和所述系统时间信息,进行时间参数计算处理,生成第一参数;根据所述第一参数,进行链路标识生成处理,得到第一链路标识数据;将所述第一链路标识数据,做为所述第一链路标识字段数据组的所述第一字段内容数据。优选的,所述在所有所述第一字段名数据中,对与预设的链路标识字段名相匹配的所述第一字段名数据,进行匹配字段查找处理,具体包括:在所有所述第一字段名数据中,依次对每个所述第一字段名数据进行轮询;当所有被轮询的所述第一字段名数据都与所述链路标识字段名不匹配时,所述匹配字段查找处理失败。优选的,所述在所述第一请求头数据段中,进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组,具体包括:在所述第一请求头数据段中,新增一个所述第一字段数据组,做为所述第一链路标识字段数据组;在所述第一链路标识字段数据组中,将所述第一字段名数据设为所述链路标识字段名,将所述第一字段内容数据设为空。优选的,所述对所述unix时间戳和所述系统时间信息,进行时间参数计算处理,生成第一参数,具体包括:从所述系统时间信息中提取微秒数信息,生成第一微秒数;根据所述unix时间戳与预设的第一计算因子A的乘积再加上所述第一微秒数的和,生成所述第一参数。优选的,所述根据所述第一参数,进行链路标识生成处理,得到第一链路标识数据,具体包括:根据所述第一参数与预设的第二计算因子B的乘积,生成第一上限阈值;并在预设的第一下限阈值到所述第一上限阈值之间,进行随机整数生成处理,得到第二参数;对所述第一参数与所述第二参数,进行按位异或运算,生成第一结果数据;并对所述第一结果数据与预设的第三计算因子C,进行按位与运算,生成第三参数;对所述第三参数除以预设的第四计算因子D的商,进行向下取整处理,生成第二结果数据;并根据所述第二结果数据与预设的第五计算因子E的乘积,生成所述第一链路标识数据。优选的,所述第一计算因子A为100;所述第二计算因子B为2;所述第三计算因子C为四字节十六进制数0xFFFFFFFF;所述第四计算因子D为100;所述第五计算因子E为100;所述第一下限阈值为1。本专利技术实施例第二方面提供了一种向请求报文数据中添加链路标识的装置,包括:获取模块用于获取第一请求报文数据;所述第一请求报文数据包括第一请求头数据段;所述第一请求头数据段包括多个第一字段数据组;所述第一字段数据组包括第一字段名数据和第一字段内容数据;查询模块用于在所有所述第一字段名数据中,对与预设的链路标识字段名相匹配的所述第一字段名数据,进行匹配字段查找处理;数据处理模块用于在所述匹配字段查找处理失败时,在所述第一请求头数据段中,进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组;并获取unix时间戳和系统时间信息;并对所述unix时间戳和所述系统时间信息,进行时间参数计算处理,生成第一参数;并根据所述第一参数,进行链路标识生成处理,得到第一链路标识数据;并将所述第一链路标识数据,做为所述第一链路标识字段数据组的所述第一字段内容数据。本专利技术实施例第三方面提供了一种电子设备,包括:存储器、处理器和收发器;所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现上述第一方面所述的方法步骤;所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。本专利技术实施例第四方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被计算机执行时,使得所述计算机执行上述第一方面所述的方法。本专利技术实施例第五方面提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令被计算机执行时,使得所述计算机执行上述第一方面所述的方法的指令。本专利技术实施例提供一种向请求报文数据中添加链路标识的方法、装置、电子设备、计算机程序产品及计算机可读存储介质,在API网关进行首次请求报文转发之前,在转发的请求报文的请求头中加入一个随机的链路标识;由此,在处理请求报文的过程中若发生错误或异常,通过该链路标识,可以提高对错误或异常的定位效率。附图说明图1为本专利技术实施例一提供的一种向请求报文数据中添加链路标识的方法示意图;图2为本专利技术实施例一提供的HTTP请求报文数据格式示意图;图3为本专利技术实施例二提供的一种向请求报文数据中添加链路标识的装置的模块结构本文档来自技高网...

【技术保护点】
1.一种向请求报文数据中添加链路标识的方法,其特征在于,所述方法包括:/n获取第一请求报文数据;所述第一请求报文数据包括第一请求头数据段;所述第一请求头数据段包括多个第一字段数据组;所述第一字段数据组包括第一字段名数据和第一字段内容数据;/n在所有所述第一字段名数据中,对与预设的链路标识字段名相匹配的所述第一字段名数据,进行匹配字段查找处理;/n所述匹配字段查找处理失败,则在所述第一请求头数据段中,进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组;/n获取unix时间戳和系统时间信息;并对所述unix时间戳和所述系统时间信息,进行时间参数计算处理,生成第一参数;/n根据所述第一参数,进行链路标识生成处理,得到第一链路标识数据;/n将所述第一链路标识数据,做为所述第一链路标识字段数据组的所述第一字段内容数据。/n

【技术特征摘要】
1.一种向请求报文数据中添加链路标识的方法,其特征在于,所述方法包括:
获取第一请求报文数据;所述第一请求报文数据包括第一请求头数据段;所述第一请求头数据段包括多个第一字段数据组;所述第一字段数据组包括第一字段名数据和第一字段内容数据;
在所有所述第一字段名数据中,对与预设的链路标识字段名相匹配的所述第一字段名数据,进行匹配字段查找处理;
所述匹配字段查找处理失败,则在所述第一请求头数据段中,进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组;
获取unix时间戳和系统时间信息;并对所述unix时间戳和所述系统时间信息,进行时间参数计算处理,生成第一参数;
根据所述第一参数,进行链路标识生成处理,得到第一链路标识数据;
将所述第一链路标识数据,做为所述第一链路标识字段数据组的所述第一字段内容数据。


2.根据权利要求1所述的向请求报文数据中添加链路标识的方法,其特征在于,所述在所有所述第一字段名数据中,对与预设的链路标识字段名相匹配的所述第一字段名数据,进行匹配字段查找处理,具体包括:
在所有所述第一字段名数据中,依次对每个所述第一字段名数据进行轮询;当所有被轮询的所述第一字段名数据都与所述链路标识字段名不匹配时,所述匹配字段查找处理失败。


3.根据权利要求1所述的向请求报文数据中添加链路标识的方法,其特征在于,所述在所述第一请求头数据段中,进行链路标识字段数据组新增处理,得到新增的第一链路标识字段数据组,具体包括:
在所述第一请求头数据段中,新增一个所述第一字段数据组,做为所述第一链路标识字段数据组;
在所述第一链路标识字段数据组中,将所述第一字段名数据设为所述链路标识字段名,将所述第一字段内容数据设为空。


4.根据权利要求1所述的向请求报文数据中添加链路标识的方法,其特征在于,所述对所述unix时间戳和所述系统时间信息,进行时间参数计算处理,生成第一参数,具体包括:
从所述系统时间信息中提取微秒数信息,生成第一微秒数;
根据所述unix时间戳与预设的第一计算因子A的乘积再加上所述第一微秒数的和,生成所述第一参数。


5.根据权利要求1所述的向请求报文数据中添加链路标识的方法,其特征在于,所述根据所述第一参数,进行链路标识生成处理,得到第一链路标识数据,具体包括:
根据所述第一参数与预设的第二计算因子B的乘积,生成第一上限阈值;并...

【专利技术属性】
技术研发人员:张奎谢善平
申请(专利权)人:北京树米网络科技有限公司
类型:发明
国别省市:北京;11

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

1