CN113472850B - 链路数据获取方法、装置、系统、电子设备和存储介质 - Google Patents

链路数据获取方法、装置、系统、电子设备和存储介质 Download PDF

Info

Publication number
CN113472850B
CN113472850B CN202110604004.0A CN202110604004A CN113472850B CN 113472850 B CN113472850 B CN 113472850B CN 202110604004 A CN202110604004 A CN 202110604004A CN 113472850 B CN113472850 B CN 113472850B
Authority
CN
China
Prior art keywords
response
request
data
content
link information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110604004.0A
Other languages
English (en)
Other versions
CN113472850A (zh
Inventor
裴彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110604004.0A priority Critical patent/CN113472850B/zh
Publication of CN113472850A publication Critical patent/CN113472850A/zh
Application granted granted Critical
Publication of CN113472850B publication Critical patent/CN113472850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开关于链路数据获取方法、装置、系统、电子设备和存储介质,该方法包括:在接收到客户端发送的目标请求的分块请求数据的情况下,对分块请求数据中的多个请求内容进行拼接处理,得到请求链路信息。向服务器转发分块请求数据。在接收到服务器发送的分块请求数据对应分块响应数据的情况下,对分块响应数据中的多个响应内容进行拼接处理,得到响应链路信息。向客户端转发分块响应数据。响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据。该方法可以通过中间件记录请求链路信息和响应链路信息,简化了获取全量链路信息的方法,降低了链路监控的复杂度。

Description

链路数据获取方法、装置、系统、电子设备和存储介质
技术领域
本公开涉及大数据技术领域,尤其涉及链路数据获取方法、装置、系统、电子设备和存储介质。
背景技术
随着微服务架构的流行,服务按照不同的维度进行拆分,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上。因此,在复杂的微服务架构系统中,每一个客户端发送的请求都会形成一个复杂的分布式服务调用链路,从而需要获取该链路的数据。相关技术中获取链路数据时,需要获取链路上经过的每个应用中的相关数据,导致全量链路数据监控的复杂度高,且获取的全量链路数据也存在不完整,准确性不高的问题。
发明内容
本公开提供链路数据获取方法、装置、系统、电子设备和存储介质,以至少解决相关技术中全量链路数据监控的复杂度高,获取的全量链路数据不完整,准确性不高的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种链路数据获取方法,所述方法包括:
在接收到客户端发送的目标请求的分块请求数据的情况下,对所述分块请求数据中的请求内容进行拼接处理,得到请求链路信息;
向服务器转发所述分块请求数据;
在接收到所述服务器发送的所述分块请求数据对应分块响应数据的情况下,对所述分块响应数据中的响应内容进行拼接处理,得到响应链路信息;
向所述客户端转发所述分块响应数据;
响应于所述目标请求对应的响应结束指令,对所述请求链路信息、所述响应链路信息、所述分块请求数据中的请求标识和所述分块响应数据中的响应标识进行数据整合,得到所述目标请求对应的全量链路数据。
作为一个可选的实施例,所述方法还包括:
生成请求链路信息容器和响应链路信息容器。
作为一个可选的实施例,所述请求链路信息容器存储有第一请求内容,所述对所述分块请求数据中的请求内容进行拼接处理,得到请求链路信息包括:
获取所述分块请求数据中的第二请求内容,所述第二请求内容为对应的请求标识与所述第一请求内容对应的请求标识相同的内容;
基于所述第二请求内容,对所述请求链路信息容器中存储的第一请求内容进行更新,得到所述请求链路信息。
作为一个可选的实施例,所述响应链路信息容器存储有第一响应内容,所述对所述分块响应数据中的响应内容进行拼接处理,得到响应链路信息包括:
获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与所述第一响应内容对应的响应标识相同的内容;
基于所述第二响应内容,对所述响应链路信息容器中存储的第一响应内容进行更新,得到所述响应链路信息。
作为一个可选的实施例,所述方法还包括:
生成数据写入容器和响应结束容器,所述数据写入容器中存储数据写入指令,所述响应结束容器中存储响应结束指令。
作为一个可选的实施例,所述向所述客户端转发所述分块响应数据包括:
响应于基于所述数据写入容器调用的所述数据写入指令,向所述客户端转发所述分块响应数据。
作为一个可选的实施例,在所述分块响应数据中携带有响应结束标识的情况下,所述方法还包括:
响应于基于所述响应结束容器调用的所述响应结束指令,生成响应结束信息;
向所述客户端发送所述响应结束信息。
作为一个可选的实施例,所述对所述请求链路信息、所述响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述目标请求对应的全量链路数据包括:
在所述分块响应数据中的响应内容为压缩信息的情况下,对所述响应链路信息进行解压处理,得到解压后的响应链路信息;
对所述请求链路信息、所述解压后的响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述全量链路数据。
根据本公开实施例的第二方面,提供一种链路数据获取装置,所述装置包括:
请求内容拼接模块,被配置为执行在接收到客户端发送的目标请求的分块请求数据的情况下,对所述分块请求数据中的请求内容进行拼接处理,得到请求链路信息;
请求数据转发模块,被配置为执行向服务器转发所述分块请求数据;
响应内容拼接模块,被配置为执行在接收到所述服务器发送的所述分块请求数据对应分块响应数据的情况下,将所述分块响应数据中的响应内容进行拼接处理,得到响应链路信息;
响应数据转发模块,被配置为执行向所述客户端转发所述分块响应数据;
链路数据获取模块,被配置为执行响应于所述目标请求对应的响应结束指令,对所述请求链路信息、所述响应链路信息、所述分块请求数据中的请求标识和所述分块响应数据中的响应标识进行数据整合,得到所述目标请求对应的全量链路数据。
作为一个可选的实施例,所述装置还包括:
第一容器生成模块,被配置为执行生成请求链路信息容器和响应链路信息容器。
作为一个可选的实施例,所述请求链路信息容器存储有第一请求内容,所述请求内容拼接模块包括:
第二请求内容获取单元,被配置为执行获取所述分块请求数据中的第二请求内容,所述第二请求内容为对应的请求标识与所述第一请求内容对应的请求标识相同的内容;
请求内容更新单元,被配置为执行基于所述第二请求内容,对所述请求链路信息容器中存储的第一请求内容进行更新,得到所述请求链路信息。
作为一个可选的实施例,所述响应链路信息容器存储有第一响应内容所述响应内容拼接模块包括:
第二响应内容获取单元,被配置为执行获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与所述第一响应内容对应的响应标识相同的内容;
响应内容更新单元,被配置为执行基于所述第二响应内容,对所述响应链路信息容器中存储的第一响应内容进行更新,得到所述响应链路信息。
作为一个可选的实施例,所述装置还包括:
第二容器生成模块,被配置为执行生成数据写入容器和响应结束容器,所述数据写入容器中包括数据写入指令,所述响应结束容器中包括响应结束指令。
作为一个可选的实施例,所述响应数据转发模块包括:
分块数据发送单元,被配置为执行响应于基于所述数据写入容器调用的所述数据写入指令,向所述客户端转发所述分块响应数据。
作为一个可选的实施例,在所述分块响应数据中携带有响应结束标识的情况下,所述装置还包括:
结束信息生成单元,被配置为执行响应于基于所述响应结束容器调用的所述响应结束指令,生成响应结束信息;
结束信息发送单元,被配置为执行向所述客户端发送所述响应结束信息。
作为一个可选的实施例,所述链路数据获取模块包括:
解压单元,被配置为执行在所述分块响应数据中的响应内容为压缩信息的情况下,对所述响应链路信息进行解压处理,得到解压后的响应链路信息;
数据处理单元,被配置为执行对所述请求链路信息、所述解压后的响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述全量链路数据。
根据本公开实施例的第三方面,提供一种链路数据获取系统,所述系统包括:客户端、中间件和服务器;
所述客户端与所述中间件电连接,所述中间件与所述服务器电连接;
所述客户端生成目标请求对应的分块请求数据;
所述中间件在接收到所述客户端发送的所述分块请求数据的情况下,对所述分块请求数据中的请求内容进行拼接处理,得到请求链路信息;
所述中间件向所述服务器转发所述分块请求数据;
所述服务器生成所述分块请求数据对应的分块响应数据;
所述中间件在接收到所述服务器发送的所述分块响应数据的情况下,将所述分块响应数据中的响应内容进行拼接处理,得到响应链路信息;
所述中间件向所述客户端转发所述分块响应数据;
所述中间件响应于所述目标请求对应的响应结束指令,对所述请求链路信息、所述响应链路信息、所述分块请求数据中的请求标识和所述分块响应数据中的响应标识进行数据整合,得到所述目标请求对应的全量链路数据。
作为一个可选的实施例,所述中间件包括:
第一容器生成模块,被配置为执行生成请求链路信息容器和响应链路信息容器。
作为一个可选的实施例,所述请求链路信息容器存储有第一请求内容,所述中间件还包括请求内容拼接模块,所述请求内容拼接模块包括:第二请求内容获取单元和请求内容更新单元,所述第二请求内容获取单元和所述请求内容更新单元电连接;
所述第二请求内容获取单元,被配置为执行获取所述分块请求数据中的第二请求内容,所述第二请求内容为对应的请求标识与所述第一请求内容对应的请求标识相同的内容;
所述请求内容更新单元,被配置为执行基于所述第二请求内容,对所述请求链路信息容器中存储的第一请求内容进行更新,得到所述请求链路信息。
作为一个可选的实施例,所述响应链路信息容器存储有第一响应内容,所述中间件还包括响应内容拼接模块,所述响应内容拼接模块包括:第二响应内容获取单元和响应内容更新单元,所述第二响应内容获取单元和所述响应内容更新单元电连接;
所述第二响应内容获取单元,被配置为执行获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与所述第一响应内容对应的响应标识相同的内容;
所述响应内容更新单元,被配置为执行基于所述第二响应内容,对所述响应链路信息容器中存储的第一响应内容进行更新,得到所述响应链路信息。
作为一个可选的实施例,所述中间件还包括:
第二容器生成模块,被配置为执行生成数据写入容器和响应结束容器,所述数据写入容器中包括数据写入指令,所述响应结束容器中包括响应结束指令。
作为一个可选的实施例,所述中间件还包括响应数据转发模块,所述响应数据转发模块包括:分块数据发送单元;
所述分块数据发送单元,被配置为执行响应于基于所述数据写入容器调用的所述数据写入指令,向所述客户端转发所述分块响应数据。
作为一个可选的实施例,在所述分块响应数据中携带有响应结束标识的情况下,所述中间件还包括:结束信息生成单元和结束信息发送单元,所述结束信息生成单元和所述结束信息发送单元电连接;
所述结束信息生成单元,被配置为执行响应于基于所述响应结束容器调用的所述响应结束指令,生成响应结束信息;
所述结束信息发送单元,被配置为执行向所述客户端发送所述响应结束信息。
作为一个可选的实施例,所述中间件还包括链路数据获取模块,所述链路数据获取模块包括:解压单元和数据处理单元,所述解压单元和所述数据处理单元电连接;
所述解压单元,被配置为执行在所述分块响应数据中的响应内容为压缩信息的情况下,对所述响应链路信息进行解压处理,得到解压后的响应链路信息;
所述数据处理单元,被配置为执行对所述请求链路信息、所述解压后的响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述全量链路数据。
根据本公开实施例的第四方面,提供一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述所述的链路数据获取方法。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如上述所述的链路数据获取方法。
根据本公开实施例的第六方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述所述的链路数据获取方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
在接收到客户端发送的目标请求的分块请求数据的情况下,对分块请求数据中的多个请求内容进行拼接处理,得到请求链路信息。向服务器转发分块请求数据。在接收到服务器发送的分块请求数据对应分块响应数据的情况下,对分块响应数据中的多个响应内容进行拼接处理,得到响应链路信息。向客户端转发分块响应数据。响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据。该方法可以通过中间件记录请求链路信息和响应链路信息,简化了获取全量链路信息的方法,降低了链路监控的复杂度,并提高了全量链路信息的完整性和准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种链路数据获取方法的应用场景示意图。
图2是根据一示例性实施例示出的一种链路数据获取方法的交互流程图。
图3是根据一示例性实施例示出的一种链路数据获取方法中拼接分块请求数据中的请求内容的流程图。
图4是根据一示例性实施例示出的一种链路数据获取方法中拼接分块响应数据中的响应内容的流程图。
图5是根据一示例性实施例示出的一种链路数据获取方法中确定响应结束的流程图。
图6是根据一示例性实施例示出的一种链路数据获取方法应用在中间件侧的流程图。
图7是根据一示例性实施例示出的一种中间件侧的链路数据获取装置的框图。
图8是根据一示例性实施例示出的一种链路数据获取系统的框图。
图9是根据一示例性实施例示出的一种用于进行链路数据获取的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种链路数据获取方法的应用场景示意图,该应用场景包括客户端110、中间件120和服务器130。客户端110向中间件120发送目标请求的分块请求数据。中间件120接收到分块请求数据后,对分块请求数据中的请求内容和其他请求内容进行拼接处理,得到请求链路信息,并将分块请求数据转发到服务器130中。服务器130根据分块请求数据,生成对应的分块响应数据,服务器130向中间件120发送分块响应数据。中间件120接收到分块响应数据后,对分块响应数据中的响应内容和其他响应内容进行拼接处理,得到响应链路信息。响应于响应结束指令,中间件120对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据。
在本公开实施例中,客户端110包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本公开实施例中实体设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、Unix、windows等。客户端110基于API(Application Programming Interface,应用程序接口)向中间件120发送分块请求数据。
在本公开实施例中,中间件120是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。中间件120可以接收并转发分块请求数据,还可以接收并转发分块响应数据,中间件120还用于存储请求链路信息和响应链路信息。
在本公开实施例中,服务器130可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群。服务器130可以包括有网络通信单元、处理器和存储器等等。具体的,服务器130可以生成分块请求数据对应的分块响应数据,并向中间件120发送分块响应数据。
图2是根据一示例性实施例示出的一种链路数据获取方法的交互流程图,如图2所示,包括以下步骤。
S210.客户端生成目标请求对应的分块请求数据;
S220.中间件在接收到客户端发送的分块请求数据的情况下,对分块请求数据中的请求内容进行拼接处理,得到请求链路信息;
作为一个可选的实施例,中间件在接收到客户端发送的分块请求数据的情况下,对分块请求数据中对应相同的请求标识的请求内容进行拼接处理,得到请求链路信息。对应相同的请求标识的请求内容属于同一客户端发送的同一请求,因此对应相同请求标识的请求内容为同一请求链路信息中的数据。
作为一个可选的实施例,该方法还包括:
中间件生成请求链路信息容器和响应链路信息容器。
作为一个可选的实施例,中间件可以生成请求链路信息容器和响应链路信息容器,请求链路信息容器用于存储拼接分块请求数据得到的请求链路信息,响应链路信息容器用于存储拼接分块响应数据得到的响应链路信息。在分块请求数据中,请求内容可以为请求体信息,请求标识用于标识发送请求的客户端并标识需要进行响应的服务器,从而在对应的客户端和服务器间建立请求响应连接,请求标识可以为请求头信息。在分块响应数据中,响应内容可以为响应体信息,响应标识用于描述响应内容,响应标识可以为响应头信息。在请求链路信息容器中存储请求体信息,并在响应链路信息容器中存储响应体信息,可以得到请求链路信息和响应链路信息。
作为一个可选的实施例,中间件可以定义变量a,将变量a作为请求链路信息容器,存储请求链路信息。中间件可以定义变量b,将变量b作为响应链路信息容器,存储响应链路信息。
设置请求链路信息容器和响应链路信息容器,可以简化了获取全量链路信息的方法,降低了链路监控的复杂度,且可以得到请求链路信息和响应链路信息,从而可以通过累加的方式得到全部的请求内容和响应内容,提高了全量链路信息的完整性。
作为一个可选的实施例,请求链路信息容器存储有第一请求内容,中间件对分块请求数据中的请求内容进行拼接处理,得到请求链路信息包括:
中间件获取分块请求数据中的第二请求内容,第二请求内容为对应的请求标识与第一请求内容对应的请求标识相同的内容;
中间件基于第二请求内容,对请求链路信息容器中存储的第一请求内容进行更新,得到请求链路信息。
作为一个可选的实施例,请参见图3,如图3所示为拼接分块请求数据中的请求内容的方法,中间件接收分块请求数据,并存储分块请求数据到请求链路信息容器中。在请求链路信息容器中,利用下一个接收到的第二请求内容,更新请求链路信息容器中已存储的第一请求内容,第二请求内容为对应的请求标识与第一请求内容对应的请求标识相同的内容,即属于同一请求链路信息的数据。可以对分块请求数据中的各个请求内容进行持续拼接,直到本次请求结束。在请求链路信息容器中可以得到请求链路信息。确定本次请求结束时,可以通过中间件的请求对象中的请求结束事件进行确定,分块请求数据中可以包括请求结束标识,在接收到请求结束标识时,触发请求结束事件,可以确定本次请求结束。请求对象为与客户端交互,获取客户端的目标请求对应的分块请求数据,或者获取服务器的环境变量的对象。
作为一个可选的实施例,若在分块请求数据中包括5个顺次排序的请求内容,中间件根据请求内容的接收顺序,在接收到第一个请求内容时,将第一个请求内容存储到请求链路信息容器中,在接收到第二个请求内容时,将第二个请求内容和请求链路信息容器中的第一个请求内容进行拼接,得到第一次拼接后的请求内容。依次拼接第三个请求内容、第四个请求内容和第五个请求内容,在将第五个请求内容和请求链路信息容器中的前四个请求内容进行拼接后,可以得到请求链路信息。
作为一个可选的实施例,基于中间件的请求对象中的数据接收事件,可以对请求内容的接收进行监控。在接收到分块请求数据中的请求内容时,触发数据接收事件,确定中间件接收到请求内容。中间件将接收到的请求内容和请求链路信息容器中已存储的其他请求内容进行拼接,在请求链路信息容器为变量a时,中间件通过累加的方式,将接收到的请求内容拼接到变量a上。在拼接完最后一个请求内容时,请求链路信息容器中存储的请求内容即为请求链路信息。
通过在请求链路信息容器中依次累加的方式,可以得到请求链路信息,从而提高了获得请求链路信息的准确性。
S230.中间件向服务器转发分块请求数据;
S240.服务器生成分块请求数据对应的分块响应数据;
S250.中间件在接收到服务器发送的分块响应数据的情况下,对分块响应数据中的响应内容进行拼接处理,得到响应链路信息,其他响应内容为响应标识与响应内容的响应标识相同的内容;
作为一个可选的实施例,中间件在接收到服务器发送的分块响应数据的情况下,对分块响应数据中对应相同的请求标识的响应内容进行拼接处理,得到响应链路信息。对应相同的响应标识的响应内容属于同一服务器发送的同一响应,因此对应相同响应标识的响应内容为同一响应链路信息中的数据。
作为一个可选的实施例,响应链路信息容器存储有其他响应内容,中间件对分块响应数据中的响应内容和其他响应内容进行拼接处理,得到响应链路信息包括:
中间件获取分块响应数据中的第二响应内容,第二响应内容为对应的响应标识与第一响应内容对应的响应标识相同的内容;
中间件基于第二响应内容,对响应链路信息容器中存储的第一响应内容进行更新,得到响应链路信息。
作为一个可选的实施例,中间件接收分块响应数据,并存储分块响应数据到响应链路信息容器中。请参见图4,如图4所示为拼接分块响应数据中的响应内容的方法,在响应链路信息容器中,利用下一个接收到的响应内容,更新响应链路信息容器中已存储的其他响应内容,可以对分块响应数据中的各个响应内容进行持续拼接,直到本次响应结束。中间件将接收到的第二响应内容和响应链路信息容器中已存储的第一响应内容进行拼接,第二响应内容为响应标识与第一响应内容的响应标识相同的内容,即属于同一响应链路信息的数据。在拼接完最后一个响应内容时,响应链路信息容器中存储的请求内容即为响应链路信息。从响应链路信息容器中可以得到响应链路信息。确定本次响应结束时,可以通过分块响应数据中的响应结束标识进行确定,响应结束标识可以为在多个响应内容之后的空白信息,响应结束标识也可以为预设的响应内容的长度信息。
作为一个可选的实施例,若在分块响应数据中包括5个顺次排序的响应内容,中间件根据响应内容的接收顺序,在接收到第一个响应内容时,将第一个响应内容存储到响应链路信息容器中,在接收到第二个响应内容时,将第二个响应内容和响应链路信息容器中的第一个响应内容进行拼接,得到第一次拼接后的响应内容。依次拼接第三个响应内容、第四个响应内容和第五个响应内容,在将第五个响应内容和响应链路信息容器中的前四个响应内容进行拼接后,可以得到响应链路信息。
通过在响应链路信息容器中依次累加的方式,可以得到响应链路信息,从而提高了获得响应链路信息的准确性。
S260.中间件向客户端转发分块响应数据;
作为一个可选的实施例,该方法还包括:
生成数据写入容器和响应结束容器,数据写入容器中存储数据写入指令,响应结束容器中存储响应结束指令。
作为一个可选的实施例,数据写入指令为发送分块响应数据到客户端时需要调用的原生写入指令,中间件可以预先定义数据写入容器,将数据写入指令存储到数据写入容器中,数据写入容器可以为变量c,中间件赋值原生写入指令到变量c。响应结束指令为在发送完分块响应数据后,确定响应结束时需要调用的原生响应结束指令,中间件可以预先定义响应结束容器,将响应结束指令存储到响应结束容器中,响应结束容器可以为变量d,中间件赋值原生响应结束指令到变量d。
作为一个可选的实施例,请参见图5,中间件向客户端转发分块响应数据包括:
S510.响应于基于数据写入容器调用的数据写入指令,向客户端转发分块响应数据。
作为一个可选的实施例,在中间件在响应链路信息容器中拼接完分块响应数据后,需要向客户端转发分块响应数据时,中间件需要调用数据写入容器存储的数据写入指令,将分块响应数据发送到客户端。中间件在变量b中拼接分块响应数据的响应内容后,中间件可以调用变量c,从而调用原生写入指令,向客户端转发分块响应数据。在每一次在变量b中拼接分块响应数据的响应内容后,均需要调用原生写入方法,将分块响应数据中的每一个响应内容均发送到客户端。
在进行响应内容的拼接的同时,基于数据写入方法,可以向客户端发送分块响应数据,从而保证了响应请求过程的正常运行,提高了用户体验。
作为一个可选的实施例,请参见图5,在分块响应数据中携带有响应结束标识的情况下,该方法还包括:
S520.响应于基于响应结束容器调用的响应结束指令,生成响应结束信息;
S530.向客户端发送响应结束信息。
作为一个可选的实施例,在中间件接收到分块响应数据中的响应结束标识时,确定分块响应数据发送完毕后,需要调用响应结束容器中存储的原生响应结束指令,结束响应过程。中间件可以调用变量d,从而调用赋值后的变量d对应的原生响应结束指令,向客户端发送响应结束信息。
在发送完分块响应数据后,基于响应结束方法,可以向客户端发送响应结束信息,从而避免客户端持续等待分块响应数据,导致的客户端资源的占用,提高了用户体验。
S270.中间件响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、分块请求数据中的请求标识和分块响应数据中的响应标识进行数据整合,得到目标请求对应的全量链路数据。
作为一个可选的实施例,在调用响应结束指令时,中间件可以确定本次响应结束。在确定本次响应结束后,中间件可以获取一次请求响应过程中请求链路信息容器中的请求链路信息,以及响应链路信息容器中的响应链路信息,中间件对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据,全量链路数据可以为用户的请求日志。中间件可以将全量链路数据发送到存储系统中进行存储,该存储系统可以是分布式存储系统,例如卡夫卡消息队列等。
作为一个可选的实施例,在服务器为复杂的服务系统的情况下,例如服务器为分布式服务系统,服务器上的应用服务分布在多个服务器上或者多个数据中心内,或者服务器上提供服务的软件为由不同的团队开发,或者使用不同的编程语言来实现的软件。可以基于通过中间件获取的全量链路数据,对请求响应链路进行追踪并进行故障分析,定位请求响应链路中的故障。还可以基于通过中间件获取的全量链路数据,对请求响应链路进行业务分析,对请求响应链路进行调整和优化。
通过中间件获取全量链路数据,可以使得在请求响应链路发生故障时,可以对故障进行快速定位,提高了定位故障的效率,从而提高了故障处理的效率。
作为一个可选的实施例,中间件对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据包括:
在分块响应数据中的响应内容为压缩信息的情况下,中间件对响应链路信息进行解压处理,得到解压后的响应链路信息;
中间件对请求链路信息、解压后的响应链路信息、请求标识和响应标识进行数据整合,得到全量链路数据。
作为一个可选的实施例,中间件获取响应标识时,若响应标识中存在压缩标识,则分块响应数据是通过压缩的方式传输的,分块响应数据中的各个响应内容为压缩信息。在分块响应数据中的响应内容为压缩信息的情况下,中间件从响应链路信息容器中获取响应链路信息后,对响应链路信息进行解压处理,将响应链路信息转化为字符串数据。中间件对请求链路信息、解压后的响应链路信息、请求标识和响应标识进行数据整合,可以得到全量链路数据。
在分块响应数据为压缩数据时,对响应链路信息进行解压处理,可以使得响应链路信息和请求链路信息保持格式一致,便于进行数据整合。
图6是根据一示例性实施例示出的一种链路数据获取方法的流程图,如图6所示,该方法应用于中间件中,包括以下步骤。
S610.在接收到客户端发送的目标请求的分块请求数据的情况下,对分块请求数据中的请求内容进行拼接处理,得到请求链路信息;
S620.向服务器转发分块请求数据;
S630.在接收到服务器发送的分块请求数据对应分块响应数据的情况下,对分块响应数据中的响应内容进行拼接处理,得到响应链路信息;
S640.向客户端转发分块响应数据;
S650.响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、分块请求数据中的请求标识和分块响应数据中的响应标识进行数据整合,得到目标请求对应的全量链路数据。
作为一个可选的实施例,中间件为分布式系统中的软件,利用系统软件提供的基础功能,与应用系统中的各个应用软件进行通信,使得运行在一台或多台机器上的多个应用软件通过网络进行交互。中间件可以生成请求链路信息容器和响应链路信息容器,在接收到客户端发送的目标请求的分块请求数据的情况下,将分块请求数据中的各个对应相同请求标识的请求内容按照接收的顺序依次进行拼接,存储到请求链路信息容器中,得到请求链路信息。中间件同时向服务器转发分块请求数据,使得服务器生成与分块请求数据对应的分块响应数据,并向中间件发送分块响应数据。
中间件接收到分块响应数据后,将分块响应数据中的各个对应相同响应标识的响应内容按照接收的顺序依次进行拼接,存储到响应链路信息容器中,得到响应链路信息。中间件调用数据写入方法,发送分块响应数据到客户端。在中间件接收到分块响应数据中的响应结束标识时,确定分块响应数据传输结束,调用响应结束方法,生成响应结束指令和响应结束信息。中间件发送响应结束信息到客户端,结束响应过程。中间件响应于响应结束指令,从响应链路信息容器中获取响应链路信息,从请求链路信息容器中获取请求链路信息,并获取请求标识和响应标识,对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据。
本公开实施例提出了一种链路数据获取方法,该方法包括:在接收到客户端发送的目标请求的分块请求数据的情况下,对分块请求数据中的多个请求内容进行拼接处理,得到请求链路信息。向服务器转发分块请求数据。在接收到服务器发送的分块请求数据对应分块响应数据的情况下,对分块响应数据中的多个响应内容进行拼接处理,得到响应链路信息。向客户端转发分块响应数据。响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、请求标识和响应标识进行数据整合,得到目标请求对应的全量链路数据。该方法可以通过中间件记录请求链路信息和响应链路信息,简化了获取全量链路信息的方法,降低了链路监控的复杂度,并提高了全量链路信息的完整性和准确性。该方法还可以基于全量链路数据进行业务分析或故障分析,从而在复杂的服务器系统中快速定位存在的故障,提高了故障处理的效率,或对业务的结构进行优化,提高业务的合理性。
图7是根据一示例性实施例示出的一种链路数据获取装置框图。参照图7,该装置包括:
请求内容拼接模块710,被配置为执行在接收到客户端发送的目标请求的分块请求数据的情况下,对分块请求数据中的请求内容和其他请求内容进行拼接处理,得到请求链路信息,其他请求内容为请求标识与请求内容的请求标识相同的内容;
请求数据转发模块720,被配置为执行向服务器转发分块请求数据;
响应内容拼接模块730,被配置为执行在接收到服务器发送的分块请求数据对应分块响应数据的情况下,将分块响应数据中的响应内容进行拼接处理,得到响应链路信息;
响应数据转发模块740,被配置为执行向客户端转发分块响应数据;
链路数据获取模块750,被配置为执行响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、分块请求数据中的请求标识和分块响应数据中的响应标识进行数据整合,得到目标请求对应的全量链路数据。
作为一个可选的实施例,该装置还包括:
第一容器生成模块,被配置为执行生成请求链路信息容器和响应链路信息容器。
作为一个可选的实施例,请求链路信息容器存储有第一请求内容,请求内容拼接模块包括:
第二请求内容获取单元,被配置为执行获取分块请求数据中的第二请求内容,第二请求内容为对应的请求标识与第一请求内容对应的请求标识相同的内容;
请求内容更新单元,被配置为执行基于第二请求内容,对请求链路信息容器中存储的第一请求内容进行更新,得到请求链路信息。
作为一个可选的实施例,响应链路信息容器存储有第一响应内容,响应内容拼接模块包括:
第二响应内容获取单元,被配置为执行获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与所述第一响应内容对应的响应标识相同的内容;
响应内容更新单元,被配置为执行基于第二响应内容,对响应链路信息容器中存储的第一响应内容进行更新,得到响应链路信息。
作为一个可选的实施例,该装置还包括:
第二容器生成模块,被配置为执行生成数据写入容器和响应结束容器,数据写入容器中包括数据写入指令,响应结束容器中包括响应结束指令。
作为一个可选的实施例,响应数据转发模块包括:
分块数据发送单元,被配置为执行响应于基于数据写入容器调用的数据写入指令,向客户端转发分块响应数据。
作为一个可选的实施例,在分块响应数据中携带有响应结束标识的情况下,装置还包括:
结束信息生成单元,被配置为执行响应于基于响应结束容器调用的响应结束指令,生成响应结束信息;
结束信息发送单元,被配置为执行向客户端发送响应结束信息。
作为一个可选的实施例,链路数据获取模块750包括:
解压单元,被配置为执行在分块响应数据中的响应内容为压缩信息的情况下,对响应链路信息进行解压处理,得到解压后的响应链路信息;
数据处理单元,被配置为执行对请求链路信息、解压后的响应链路信息、请求标识和响应标识进行数据整合,得到全量链路数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种链路数据获取系统框图。参照图8,该系统包括:客户端、中间件和服务器;
客户端与中间件电连接,中间件与服务器电连接;
客户端与中间件电连接,中间件与服务器电连接;
客户端生成目标请求对应的分块请求数据;
中间件在接收到客户端发送的分块请求数据的情况下,对分块请求数据中的请求内容进行拼接处理,得到请求链路信息;
中间件向服务器转发分块请求数据;
服务器生成分块请求数据对应的分块响应数据;
中间件在接收到服务器发送的分块响应数据的情况下,将分块响应数据中的响应内容进行拼接处理,得到响应链路信息;
中间件向客户端转发分块响应数据;
中间件响应于目标请求对应的响应结束指令,对请求链路信息、响应链路信息、分块请求数据中的请求标识和分块响应数据中的响应标识进行数据整合,得到目标请求对应的全量链路数据。
作为一个可选的实施例,该中间件包括:
第一容器生成模块,被配置为执行生成请求链路信息容器和响应链路信息容器。
作为一个可选的实施例,请求链路信息容器存储有第一请求内容,中间件还包括请求内容拼接模块,请求内容拼接模块包括:第二请求内容获取单元和请求内容更新单元,第二请求内容获取单元和请求内容更新单元电连接;
第二请求内容获取单元,被配置为执行获取分块请求数据中的第二请求内容,第二请求内容为对应的请求标识与第一请求内容对应的请求标识相同的内容;
请求内容更新单元,被配置为执行基于第二请求内容,对请求链路信息容器中存储的第一请求内容进行更新,得到请求链路信息。
作为一个可选的实施例,响应链路信息容器存储有第一响应内容,中间件还包括响应内容拼接模块,响应内容拼接模块包括:第二响应内容获取单元和响应内容更新单元,第二响应内容获取单元和响应内容更新单元电连接;
第二响应内容获取单元,被配置为执行获取分块响应数据中的第二响应内容,第二响应内容为对应的响应标识与第一响应内容对应的响应标识相同的内容;
响应内容更新单元,被配置为执行基于第二响应内容,对响应链路信息容器中存储的第一响应内容进行更新,得到响应链路信息。
作为一个可选的实施例,该中间件还包括:
第二容器生成模块,被配置为执行生成数据写入容器和响应结束容器,数据写入容器中包括数据写入指令,响应结束容器中包括响应结束指令。
作为一个可选的实施例,该中间件还包括响应数据转发模块,响应数据转发模块包括:分块数据发送单元;
分块数据发送单元,被配置为执行响应于基于数据写入容器调用的数据写入指令,向客户端转发分块响应数据。
作为一个可选的实施例,在分块响应数据中携带有响应结束标识的情况下,该中间件还包括:结束信息生成单元和结束信息发送单元,结束信息生成单元和结束信息发送单元电连接;
结束信息生成单元,被配置为执行响应于基于响应结束容器调用的响应结束指令,生成响应结束信息;
结束信息发送单元,被配置为执行向客户端发送响应结束信息。
作为一个可选的实施例,该中间件还包括链路数据获取模块,链路数据获取模块包括:解压单元和数据处理单元,解压单元和数据处理单元电连接;
解压单元,被配置为执行在分块响应数据中的响应内容为压缩信息的情况下,对响应链路信息进行解压处理,得到解压后的响应链路信息;
数据处理单元,被配置为执行对请求链路信息、解压后的响应链路信息、请求标识和响应标识进行数据整合,得到全量链路数据。
关于上述实施例中的系统,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种用于获取链路数据的电子设备的框图,该电子设备可以是中间件,其内部结构图可以如图9所示。该电子设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种链路数据获取方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器904,上述指令可由电子设备900的处理器920执行以完成上述链路数据获取方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现上述的链路数据获取方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (26)

1.一种链路数据获取方法,其特征在于,所述方法包括:
在接收到客户端发送的目标请求的分块请求数据的情况下,获取所述分块请求数据中的第二请求内容,所述第二请求内容为对应的请求标识与已存储的第一请求内容对应的请求标识相同的内容;
对所述第二请求内容和所述第一请求内容进行拼接处理,得到请求链路信息;
向服务器转发所述分块请求数据;
在接收到所述服务器发送的所述分块请求数据对应分块响应数据的情况下,获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与已存储的第一响应内容对应的响应标识相同的内容;
对所述第二响应内容和所述第一响应内容进行拼接处理,得到响应链路信息;
向所述客户端转发所述分块响应数据;
响应于所述目标请求对应的响应结束指令,对所述请求链路信息、所述响应链路信息、所述分块请求数据中的请求标识和所述分块响应数据中的响应标识进行数据整合,得到所述目标请求对应的全量链路数据。
2.根据权利要求1所述的链路数据获取方法,其特征在于,所述方法还包括:
生成请求链路信息容器和响应链路信息容器。
3.根据权利要求2所述的链路数据获取方法,其特征在于,所述请求链路信息容器存储有第一请求内容,所述对所述第二请求内容和所述第一请求内容进行拼接处理,得到请求链路信息包括:
对所述第二请求内容和所述请求链路信息容器中存储的所述第一请求内容进行拼接处理,得到所述请求链路信息。
4.根据权利要求2所述的链路数据获取方法,其特征在于,所述响应链路信息容器存储有第一响应内容,所述对所述第二响应内容和所述第一响应内容进行拼接处理,得到响应链路信息包括:
对所述第二响应内容和所述响应链路信息容器中存储的所述第一响应内容进行拼接处理,得到所述响应链路信息。
5.根据权利要求1所述的链路数据获取方法,其特征在于,所述方法还包括:
生成数据写入容器和响应结束容器,所述数据写入容器中存储数据写入指令,所述响应结束容器中存储响应结束指令。
6.根据权利要求5所述的链路数据获取方法,其特征在于,所述向所述客户端转发所述分块响应数据包括:
响应于基于所述数据写入容器调用的所述数据写入指令,向所述客户端转发所述分块响应数据。
7.根据权利要求5所述的链路数据获取方法,其特征在于,在所述分块响应数据中携带有响应结束标识的情况下,所述方法还包括:
响应于基于所述响应结束容器调用的所述响应结束指令,生成响应结束信息;
向所述客户端发送所述响应结束信息。
8.根据权利要求1所述的链路数据获取方法,其特征在于,所述对所述请求链路信息、所述响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述目标请求对应的全量链路数据包括:
在所述分块响应数据中的响应内容为压缩信息的情况下,对所述响应链路信息进行解压处理,得到解压后的响应链路信息;
对所述请求链路信息、所述解压后的响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述全量链路数据。
9.一种链路数据获取装置,其特征在于,所述装置包括:
请求内容拼接模块,被配置为执行在接收到客户端发送的目标请求的分块请求数据的情况下,获取所述分块请求数据中的第二请求内容,所述第二请求内容为对应的请求标识与已存储的第一请求内容对应的请求标识相同的内容;对所述第二请求内容和所述第一请求内容进行拼接处理,得到请求链路信息;
请求数据转发模块,被配置为执行向服务器转发所述分块请求数据;
响应内容拼接模块,被配置为执行在接收到所述服务器发送的所述分块请求数据对应分块响应数据的情况下,获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与已存储的第一响应内容对应的响应标识相同的内容;对所述第二响应内容和所述第一响应内容进行拼接处理,得到响应链路信息;
响应数据转发模块,被配置为执行向所述客户端转发所述分块响应数据;
链路数据获取模块,被配置为执行响应于所述目标请求对应的响应结束指令,对所述请求链路信息、所述响应链路信息、所述分块请求数据中的请求标识和所述分块响应数据中的响应标识进行数据整合,得到所述目标请求对应的全量链路数据。
10.根据权利要求9所述的链路数据获取装置,其特征在于,所述装置还包括:
第一容器生成模块,被配置为执行生成请求链路信息容器和响应链路信息容器。
11.根据权利要求10所述的链路数据获取装置,其特征在于,所述请求链路信息容器存储有第一请求内容,所述请求内容拼接模块具体被配置为执行对所述第二请求内容和所述请求链路信息容器中存储的所述第一请求内容进行拼接处理,得到所述请求链路信息。
12.根据权利要求10所述的链路数据获取装置,其特征在于,所述响应链路信息容器存储有第一响应内容,所述响应内容拼接模块具体被配置为执行对所述第二响应内容和所述响应链路信息容器中存储的所述第一响应内容进行拼接处理,得到所述响应链路信息。
13.根据权利要求9所述的链路数据获取装置,其特征在于,所述装置还包括:
第二容器生成模块,被配置为执行生成数据写入容器和响应结束容器,所述数据写入容器中包括数据写入指令,所述响应结束容器中包括响应结束指令。
14.根据权利要求13所述的链路数据获取装置,其特征在于,所述响应数据转发模块包括:
分块数据发送单元,被配置为执行响应于基于所述数据写入容器调用的所述数据写入指令,向所述客户端转发所述分块响应数据。
15.根据权利要求13所述的链路数据获取装置,其特征在于,在所述分块响应数据中携带有响应结束标识的情况下,所述装置还包括:
结束信息生成单元,被配置为执行响应于基于所述响应结束容器调用的所述响应结束指令,生成响应结束信息;
结束信息发送单元,被配置为执行向所述客户端发送所述响应结束信息。
16.根据权利要求9所述的链路数据获取装置,其特征在于,所述链路数据获取模块包括:
解压单元,被配置为执行在所述分块响应数据中的响应内容为压缩信息的情况下,对所述响应链路信息进行解压处理,得到解压后的响应链路信息;
数据处理单元,被配置为执行对所述请求链路信息、所述解压后的响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述全量链路数据。
17.一种链路数据获取系统,其特征在于,所述系统包括:客户端、中间件和服务器;
所述客户端与所述中间件电连接,所述中间件与所述服务器电连接;
所述客户端生成目标请求对应的分块请求数据;
所述中间件在接收到所述客户端发送的所述分块请求数据的情况下,获取所述分块请求数据中的第二请求内容,所述第二请求内容为对应的请求标识与已存储的第一请求内容对应的请求标识相同的内容;
所述中间件对所述第二请求内容和所述第一请求内容进行拼接处理,得到请求链路信息;
所述中间件向所述服务器转发所述分块请求数据;
所述服务器生成所述分块请求数据对应的分块响应数据;
所述中间件在接收到所述服务器发送的所述分块响应数据的情况下,获取所述分块响应数据中的第二响应内容,所述第二响应内容为对应的响应标识与已存储的第一响应内容对应的响应标识相同的内容;
所述中间件对所述第二响应内容和所述第一响应内容进行拼接处理,得到响应链路信息;
所述中间件向所述客户端转发所述分块响应数据;
所述中间件响应于所述目标请求对应的响应结束指令,对所述请求链路信息、所述响应链路信息、所述分块请求数据中的请求标识和所述分块响应数据中的响应标识进行数据整合,得到所述目标请求对应的全量链路数据。
18.根据权利要求17所述的链路数据获取系统,其特征在于,所述中间件包括:
第一容器生成模块,被配置为执行生成请求链路信息容器和响应链路信息容器。
19.根据权利要求18所述的链路数据获取系统,其特征在于,所述请求链路信息容器存储有第一请求内容,所述中间件还包括请求内容拼接模块,所述请求内容拼接模块包括:第二请求内容获取单元和请求内容拼接单元,所述第二请求内容获取单元和所述请求内容拼接单元电连接;
所述第二请求内容获取单元,被配置为执行获取所述分块请求数据中的第二请求内容;
所述请求内容拼接单元,被配置为执行对所述第二请求内容和所述请求链路信息容器中存储的所述第一请求内容进行拼接处理,得到所述请求链路信息。
20.根据权利要求18所述的链路数据获取系统,其特征在于,所述响应链路信息容器存储有第一响应内容,所述中间件还包括响应内容拼接模块,所述响应内容拼接模块包括:第二响应内容获取单元和响应内容拼接单元,所述第二响应内容获取单元和所述响应内容拼接单元电连接;
所述第二响应内容获取单元,被配置为执行获取所述分块响应数据中的第二响应内容;
所述响应内容拼接单元,被配置为执行对所述第二响应内容和所述响应链路信息容器中存储的所述第一响应内容进行拼接处理,得到所述响应链路信息。
21.根据权利要求17所述的链路数据获取系统,其特征在于,所述中间件还包括:
第二容器生成模块,被配置为执行生成数据写入容器和响应结束容器,所述数据写入容器中包括数据写入指令,所述响应结束容器中包括响应结束指令。
22.根据权利要求21所述的链路数据获取系统,其特征在于,所述中间件还包括响应数据转发模块,所述响应数据转发模块包括分块数据发送单元;
所述分块数据发送单元,被配置为执行响应于基于所述数据写入容器调用的所述数据写入指令,向所述客户端转发所述分块响应数据。
23.根据权利要求21所述的链路数据获取系统,其特征在于,在所述分块响应数据中携带有响应结束标识的情况下,所述中间件还包括:结束信息生成单元和结束信息发送单元,所述结束信息生成单元和所述结束信息发送单元电连接;
所述结束信息生成单元,被配置为执行响应于基于所述响应结束容器调用的所述响应结束指令,生成响应结束信息;
所述结束信息发送单元,被配置为执行向所述客户端发送所述响应结束信息。
24.根据权利要求17所述的链路数据获取系统,其特征在于,所述中间件还包括链路数据获取模块,所述链路数据获取模块包括:解压单元和数据处理单元,所述解压单元和所述数据处理单元电连接;
所述解压单元,被配置为执行在所述分块响应数据中的响应内容为压缩信息的情况下,对所述响应链路信息进行解压处理,得到解压后的响应链路信息;
所述数据处理单元,被配置为执行对所述请求链路信息、所述解压后的响应链路信息、所述请求标识和所述响应标识进行数据整合,得到所述全量链路数据。
25.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的链路数据获取方法。
26.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的链路数据获取方法。
CN202110604004.0A 2021-05-31 2021-05-31 链路数据获取方法、装置、系统、电子设备和存储介质 Active CN113472850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110604004.0A CN113472850B (zh) 2021-05-31 2021-05-31 链路数据获取方法、装置、系统、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110604004.0A CN113472850B (zh) 2021-05-31 2021-05-31 链路数据获取方法、装置、系统、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113472850A CN113472850A (zh) 2021-10-01
CN113472850B true CN113472850B (zh) 2023-05-09

Family

ID=77871888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110604004.0A Active CN113472850B (zh) 2021-05-31 2021-05-31 链路数据获取方法、装置、系统、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113472850B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938598B (zh) * 2023-09-14 2023-11-24 北京中科智媒融媒体技术有限公司 信息发送方法、装置、电子设备和计算机可读介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183927A (zh) * 2017-11-22 2018-06-19 链家网(北京)科技有限公司 一种分布式系统中链路调用的监控方法及系统
WO2019015670A1 (zh) * 2017-07-21 2019-01-24 中兴通讯股份有限公司 跟踪、监控软件行为的方法、装置及设备
CN109560989A (zh) * 2018-12-06 2019-04-02 深圳市递四方信息科技有限公司 一种链路监控系统
CN110806931A (zh) * 2019-10-31 2020-02-18 上海依图网络科技有限公司 分布式服务的调用链路跟踪实现方法、装置及电子设备
CN111078504A (zh) * 2019-12-25 2020-04-28 深圳前海环融联易信息科技服务有限公司 一种分布式调用链跟踪方法、装置、计算机设备及存储介质
CN111431773A (zh) * 2020-05-18 2020-07-17 江苏电力信息技术有限公司 一种基于OpenTracing的链路跟踪方法
CN111586092A (zh) * 2020-03-25 2020-08-25 深圳壹账通智能科技有限公司 全链路监控方法、系统及cat客户端
CN111858248A (zh) * 2020-07-20 2020-10-30 北京百度网讯科技有限公司 应用监控方法、装置、设备以及存储介质
CN112653586A (zh) * 2019-10-12 2021-04-13 苏州工业园区测绘地理信息有限公司 基于全链路监控的时空大数据平台应用性能管理方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019015670A1 (zh) * 2017-07-21 2019-01-24 中兴通讯股份有限公司 跟踪、监控软件行为的方法、装置及设备
CN108183927A (zh) * 2017-11-22 2018-06-19 链家网(北京)科技有限公司 一种分布式系统中链路调用的监控方法及系统
CN109560989A (zh) * 2018-12-06 2019-04-02 深圳市递四方信息科技有限公司 一种链路监控系统
CN112653586A (zh) * 2019-10-12 2021-04-13 苏州工业园区测绘地理信息有限公司 基于全链路监控的时空大数据平台应用性能管理方法
CN110806931A (zh) * 2019-10-31 2020-02-18 上海依图网络科技有限公司 分布式服务的调用链路跟踪实现方法、装置及电子设备
CN111078504A (zh) * 2019-12-25 2020-04-28 深圳前海环融联易信息科技服务有限公司 一种分布式调用链跟踪方法、装置、计算机设备及存储介质
CN111586092A (zh) * 2020-03-25 2020-08-25 深圳壹账通智能科技有限公司 全链路监控方法、系统及cat客户端
CN111431773A (zh) * 2020-05-18 2020-07-17 江苏电力信息技术有限公司 一种基于OpenTracing的链路跟踪方法
CN111858248A (zh) * 2020-07-20 2020-10-30 北京百度网讯科技有限公司 应用监控方法、装置、设备以及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种基于APM应用全链路监控工具设计;刘霞霞等;《网络安全技术与应用》;20190603(第06期);全文 *
分布式追踪技术综述;杨勇等;《软件学报》;20200715(第07期);全文 *
微服务在大型设备监控管理系统中的应用探究;熊肖磊等;《现代机械》;20191228(第06期);全文 *
柔性微服务监控框架;刘一田等;《计算机系统应用》;20171015(第10期);全文 *

Also Published As

Publication number Publication date
CN113472850A (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN110324405A (zh) 消息发送方法、装置、系统及计算机可读存储介质
CN113472850B (zh) 链路数据获取方法、装置、系统、电子设备和存储介质
CN111966653A (zh) 微服务调用链路数据处理方法、装置、服务器及存储介质
CN110750365A (zh) 一种远程过程调用方法、系统、终端及存储介质
CN113821254A (zh) 接口数据处理方法、装置、存储介质及设备
CN113746851B (zh) 一种支持实时解析grpc请求的代理系统和方法
CN115022278B (zh) Cdn处理方法和系统
CN115858905A (zh) 数据处理的方法、装置、电子设备和存储介质
CN113973139B (zh) 一种消息处理的方法和装置
CN115629909A (zh) 业务数据处理的方法、装置、电子设备和存储介质
CN113761433B (zh) 业务处理方法和装置
CN111459819B (zh) 软件测试方法及装置、电子设备、计算机可读介质
CN115016995A (zh) 接口测试方法、计算机设备及计算机存储介质
CN109756393B (zh) 信息处理方法、系统、介质和计算设备
CN113360558A (zh) 数据处理方法、数据处理装置、电子设备及存储介质
CN113347234A (zh) 网络信息获取方法、装置、系统、计算机设备和存储介质
CN112333262A (zh) 数据更新提示方法、装置、计算机设备及可读存储介质
CN115002183B (zh) 信息的生成方法、装置、电子设备、介质和程序产品
US20240152504A1 (en) Data interaction method, apparatus, and electronic device
CN113901377B (zh) 遗留系统的服务调用方法、装置、存储介质及设备
CN110011767B (zh) 用于tcp连接备份的方法和装置
CN113285997B (zh) 基于异构系统的数据处理方法、设备、介质及产品
CN109376023B (zh) 用于生成调用信息、发布返回码组的方法和设备
CN112671822B (zh) 服务请求处理方法、装置、存储介质、服务器和系统
CN112799969A (zh) 分布式文件系统的测试方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant