CN115412592B - 业务处理系统以及方法 - Google Patents

业务处理系统以及方法 Download PDF

Info

Publication number
CN115412592B
CN115412592B CN202210998852.9A CN202210998852A CN115412592B CN 115412592 B CN115412592 B CN 115412592B CN 202210998852 A CN202210998852 A CN 202210998852A CN 115412592 B CN115412592 B CN 115412592B
Authority
CN
China
Prior art keywords
server
service processing
link
service
forwarding
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
CN202210998852.9A
Other languages
English (en)
Other versions
CN115412592A (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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202210998852.9A priority Critical patent/CN115412592B/zh
Publication of CN115412592A publication Critical patent/CN115412592A/zh
Application granted granted Critical
Publication of CN115412592B publication Critical patent/CN115412592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本说明书实施例提供业务处理系统以及方法,其中所述系统包括业务处理服务器和至少一个中转服务器;所述中转服务器,被配置为基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发;所述业务处理服务器,被配置为接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果,便于后续将业务处理结果进行转发,实现了将中间服务器的转发路径等信息能够进行展示,以准确地确定链路故障原因。

Description

业务处理系统以及方法
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种业务处理系统。
背景技术
随着互联网业务快速扩展,软件架构也日益变得复杂,为了适应海量用户高并发请求,系统中越来越多的组件开始走向分布式化。分布式链路追踪就是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时,请求具体到达哪台机器上,每个服务节点的请求状态等等。
目前,调用链路所经过的各个服务节点可以通过跟踪树结构进行表示,并记录每个服务节点的跨度信息以及调用信息等。但是,各个服务节点之间也可能出现调用链路故障,利用跟踪树结构则无法将各个服务节点之间的中间节点的链路信息进行展示,进而,将会造成无法确定调用链路故障的原因。
发明内容
有鉴于此,本说明书实施例提供了一种业务处理系统,两种业务处理方法。本说明书一个或者多个实施例同时涉及一种日志服务器,一种服务器,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种业务处理系统,所述系统包括业务处理服务器和至少一个中转服务器;
所述中转服务器,被配置为基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发;
所述业务处理服务器,被配置为接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果。
根据本说明书实施例的第二方面,提供了一种日志服务器,所述日志服务器部署于业务处理系统,所述日志服务器包括日志收集模块、日志解析模块,链路关系生成模块;
所述日志收集模块,被配置为接收目标业务的链路调用关系生成请求,基于所述链路调用关系生成请求中携带的业务标识收集所述业务处理系统中每个服务器的所述业务标识对应的日志文件,其中,所述日志文件包括链路调用路径、转发记录、链路应答路径以及应答记录;
所述日志解析模块,被配置为解析所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录,获得日志解析结果;
所述链路关系生成模块,被配置为基于所述日志解析结果构建所述目标业务的链路调用关系图。
根据本说明书实施例的第三方面,提供了一种服务器,所述服务器包括业务接收模块、业务处理模块以及业务转发模块;
所述业务接收模块,被配置为接收链路调用请求,基于所述链路调用请求中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述链路调用请求的链路转发路径;将调用记录进行加序处理,并将所述链路转发路径、以及所述业务处理信息发送至所述业务处理模块,将所述链路转发路径、所述业务处理信息以及所述调用记录发送至所述业务转发模块;
所述业务处理模块,被配置为在确定所述链路转发路径中的目标服务器标识为本地服务器标识的情况下,基于所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果;
所述业务转发模块,被配置为在确定所述链路转发路径中的目标服务器标识为其他服务器标识的情况下,基于所述链路转发路径将所述业务处理信息以及所述调用记录进行转发。
根据本说明书实施例的第四方面,提供了一种业务处理方法,应用于业务处理系统,所述业务处理系统包括业务处理服务器和至少一个中转服务器;
所述中转服务器,基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发;
所述业务处理服务器,接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果。
根据本说明书实施例的第五方面,提供了一种业务处理方法,包括:
接收链路调用请求,基于所述链路调用请求中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述链路调用请求的链路转发路径;
将调用记录进行加序处理,在确定所述链路转发路径中的目标服务器标识为本地服务器标识的情况下,基于所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果;或者
在确定所述链路转发路径中的目标服务器标识为其他服务器标识的情况下,基于所述链路转发路径将所述业务处理信息以及所述调用记录进行转发。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述业务处理方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述业务处理方法的步骤。
根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述业务处理方法的步骤。
本说明书一个实施例提供了一种业务处理系统,包括业务处理服务器和至少一个中转服务器,所述中转服务器,被配置为基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发;所述业务处理服务器,被配置为接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果。
具体的,通过将中转服务器进行转发的转发记录执行加序处理的操作,用来记录中转服务器转发的次数,以便于后续通过业务处理请求的链路调用路径以及转发记录,就能获知业务处理请求在几个中转服务器的转发次数以及转发路径;同时,业务处理服务器还可对业务处理请求中携带的业务处理信息进行处理,便于后续将业务处理结果进行转发,实现了将中间服务器的转发路径等信息能够进行展示,以准确地确定链路故障原因。
附图说明
图1是本说明书一个实施例提供的分布式系统中请求调用的架构示意图;
图2是本说明书一个实施例提供的一种业务处理系统的系统结构示意图;
图3是本说明书一个实施例提供的一种业务处理方法的流程图;
图4是本说明书一个实施例提供的一种业务处理方法的处理过程流程图;
图5是本说明书一个实施例提供的一种日志服务器的结构示意图;
图6是本说明书一个实施例提供的一种服务器的结构示意图;
图7是本说明书一个实施例提供的另一种业务处理方法的流程图;
图8是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
RPC(Remote Procedure Call,远程过程调用):是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP、HTTP或UDP,为通信程序之间携带信息数据。
分布式链路追踪:是将一次分布式请求还原成调用链路,将一次分布式请求的调用情况集中展示,比如各个服务节点上的耗时、请求具体到达哪台机器上、每个服务节点的请求状态等等。
trace(链路):指一个请求经过分布式系统中所有服务器的整个链路路径。
span(跨度):代表整个链路中不同服务器内部的视图,span组合在一起就是整个trace的视图。
trace Id:用于标识某一次具体的请求ID。当用户的请求进入系统后,会在RPC调用网络的第一层生成一个全局唯一的trace Id,并且会随着每一层的RPC调用,不断往后传递,这样的话通过trace Id就可以把一次用户请求在系统中调用的路径串联起来。
span Id:用于标识一次RPC调用在分布式请求中的位置。当用户的请求进入系统后,处在RPC调用网络的第一层A时span Id初始值是0,进入下一层RPC调用B的时候span Id是0.1,继续进入下一层RPC调用C时span Id是0.1.1,而与B处在同一层的RPC调用E的spanId是0.2,这样的话通过span Id就可以定位某一次RPC请求在系统调用中所处的位置,以及它的上下游依赖分别是谁。
cs:Client Start,表示客户端发起请求。
sr:Server Received,表示服务端收到请求。
ss:Server Send,表示服务端完成处理,并将结果发送给客户端。
cr:Client Received,表示客户端获取到服务端返回信息。
在分布式系统中,一次请求可能会跨越几个甚至几十个子系统,进而,很难统计出每个子系统之间的耗时问题,甚至在请求调用出错的情况下,也很难精准地定位出具体哪一个子系统出现故障问题。目前,全链接跟踪分析模型是通过跟踪树结构,对整个链路调用过程进行展现,可参见图1,图1示出了本说明书实施例提供的分布式系统中请求调用的架构示意图。图1中包括用户,前端A,中间点B和C,后端D和E。具体的,用户发起请求X,在A服务器接收到请求X之后,利用远程调用(RPC)协议调用下面的中间点(B和C)和后端(D和E),最终形成一颗调用树,如图1所示,在整个调用树结构中,树节点是整个架构的基本单元,而每个节点又是对span(跨度)的引用,节点之间的连线表示span和它的父span直接的关系。进而,在调用请求时,每次执行RPC调用时都需要进行时间统计,以确定每次链路调用的耗时,确定耗时较长的故障服务器。
基于此,分布式系统处理存在异步消息经过多个节点达到处理模块,处理完成后再经过多个(可能与请求经过的节点链路不同)返回应答消息,而本说明书实施例提供的业务处理系统,所解决的就是能够清晰展示客户端和服务端之间中间节点的链路信息,特别是请求链路与应答链路所经过的中间节点不一致的情况。在传统的span模型中,展示客户端和服务端的层级关系,通过多个span能够清晰的构建一次完整的链路跟踪,但是在客户端和服务端之间存在中间节点的情况,就不能很好的展示其真实的链路,因此,本说明书实施例提供的业务处理系统,通过增加记录转发次数,即depot链,能够将中间节点隧道也清晰地展示出来,可以更加清晰的展示整个链路调用过程。
在本说明书中,提供了一种业务处理系统,两种业务处理方法,一种日志服务器,一种服务器,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图2,图2示出了根据本说明书一个实施例提供的一种业务处理系统的系统结构示意图。
图2中业务处理系统200包括业务处理服务器和至少一个中转服务器,其中,业务处理服务器可以理解为对调用请求在本地服务器进行处理的服务器,中转服务器可以理解为负责在链路中间进行转发的服务器,需要说明的是,在该业务处理系统中以中转服务器接收业务处理请求,业务处理服务器处理该业务处理请求并返回至请求方为例,进行详细说明。
具体的,所述中转服务器,被配置为基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发;
所述业务处理服务器,被配置为接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果。
其中,业务处理请求可以理解为用户通过客户端向服务器发送的业务调用请求,比如业务数据查询请求,业务数据统计处理请求等等,本实施例对具体的业务内容不做任何限定,可应用于各种分布式业务处理系统。
业务处理信息可以理解为业务处理请求中所携带的利用服务器处理的各种待处理信息,比如业务数据查询请求中的所需查询的业务功能、业务数据类型、业务数据来源、查询周期等等。
业务功能标识可以理解为该业务处理请求中所涉及的业务类型对应的功能标识,不同的业务可对应着不同的功能标识,以便于后续确定各种不同的业务类型对应的调用链路。
转发记录可以理解为业务处理请求由客户端发出向目标客户端发送时,各服务器所转发的路径转发次数,用以记录业务处理请求所转发的次数,可用depot表示。
加序处理可以理解为对转发记录执行累加操作,具体的累加规则,本实施例对此不作任何限定,包括但不限于对数字的累加、或字母排序的累加,比如,在确定加序处理为加1的加序规则时,转发记录为r0,执行加序处理后,转发记录为r1;在确定加序处理为加2的加序规则时,转发记录r0,执行加序处理后,转发记录为r2;在确定加序处理为字母排序的加序规则时,转发记录为a,执行加序处理后,转发记录则为b,再次执行转发操作后,转发记录则为c,以此类推。
需要说明的是,便于理解,下述实施例中均以加序处理操作执行为加1处理操作为例进行详细说明,下述中对应答记录、调用记录的加序处理均可参考上述对转发记录进行加序处理的过程;且各个记录可使用同一加序方式或不同加序方式,在此不做具体限定。
实际应用中,中转服务器可接收到由客户端发送的业务处理请求,通过该业务处理请求中携带的业务处理信息确定该业务对应的业务功能标识,在该中转服务器中,通过确定的业务功能标识可确定该业务处理请求具体的链路调用路径,该链路调用路径可以理解为从一个服务器到下一个服务器的调用路径,即从该中转服务器所转发的下一个调用服务器的路径,比如该中转服务器为s2,下一个服务器为s3,则链路调用路径为s2至s3。
由于该中转服务器不负责对业务处理请求进行处理,则可将该业务处理请求进行转发,基于此,可将转发记录执行加1的操作,需要说明的是,中转服务器所接收到的业务处理请求是从客户端发送的,则中转服务器向下转发操作的转发记录可由初始化r0,再计数加1的操作,获得转发记录为r1;进一步地,可根据确定的链路调用路径,将业务处理请求和转发记录同时进行转发,沿用上例,中转服务器s2可将业务处理请求与转发记录r1一起转发给下一服务器s3。
若下一服务器s3为业务处理服务器的情况下,业务处理服务器可接收到由中转服务器发送的业务处理请求,并根据该业务处理请求中携带的业务处理信息在本地服务器中获取到业务调用数据,并基于业务调用数据完成业务处理结果的生成,比如,可获取到数据查询的调用数据,生成数据查询结果。
本说明书实施例提供的业务处理系统,通过记录中转服务器所转发的转发记录,以确定中转服务器与下一服务器之间的链路调用路径,再利用转发记录与链路调用路径,即可获知该业务处理请求向业务处理服务器的调用路径。
进一步地,所述链路调用路径包括发送服务器的请求发起端口、以及接收服务器的请求接收端口,其中,所述发送服务器包括客户端或中转服务器,所述接收服务器包括中转服务器或业务处理服务器。
其中,请求发起端口可以理解为链路调用路径中服务器中的转发请求的端口,即Client Start,表示客户端发起请求;请求接收端口可以理解为链路调用路径中服务器中的接收请求的端口,即Server Received,表示服务端收到请求。
需要说明的是,发送服务器的请求发起端口为链路调用路径的发起方,接收服务器的请求接收端口为链路调用路径的接收方;客户端向中转服务器发送业务处理请求,即发送服务器为客户端,请求发起端口为客户端中的发送端口,接收服务器为中转服务器,请求接收端口为中转服务器的接收端口;在中转服务器与中转服务器之间进行转发时,也是通过请求发起端口和请求接收端口实现,由此可见,中转服务器中即有请求发起端口,又有请求接收端口。
进而,所述中转服务器,还被配置为将所述业务处理请求从所述中转服务器的请求发起端口转发至所述接收服务器的请求接收端口。
实际应用中,中转服务器的业务处理请求基于链路调用路径进行转发时,即通过中转服务器的请求发起端口发送至接收服务器的请求接收端口。
此外,业务处理服务器不仅可接收到中转服务器转发的业务处理请求,还可接收到中转服务器转发的转发记录;具体的,所述业务处理服务器,还被配置为接收所述转发记录,将所述链路调用路径以及所述转发记录写入业务日志文件。
实际应用中,业务处理服务器在接收到转发记录之后,可将所转发的链路调用路径以及转发记录写入至业务日志文件中;比如,链路调用路径为s2至s3,转发记录为r1,则可将这两个信息写入至业务处理服务器的日志文件中。
通过将转发的转发记录写入日志,便于后续通过日志可确定具体的链路调用路径。
进一步地,在业务处理服务器接收到业务处理请求时,由于业务处理服务器可执行对业务处理请求的处理操作,所以业务处理服务器在获得业务处理结果之后,还可将业务处理结果作为链路调用的应答结果进行返回;具体的,所述业务处理服务器,还被配置为基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将应答记录进行初始化,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发,并将链路应答路径以及所述应答记录写入业务日志文件。
其中,链路应答路径可以理解为将业务处理结果返回至客户端的应答路径,需要说明的是,该链路应答路径与链路调用路径可以相同,也可不相同,根据不同的业务场景所配置的不同的调用路径。
应答记录可以理解为业务处理服务器将业务处理结果返回至客户端的应答路径的调用次数,比如业务处理服务器第一次将业务处理结果转发至中转服务器时,应答记录可初始化为a0,在中转服务器将业务处理结果继续转发至下一服务器时,可记录应答记录执行加序处理,比如执行加1处理,则为a1,即该应答记录可以理解为应答路径转发的次数,可用depot表示。
实际应用中,业务处理服务器在生成业务处理结果之后,同样可执行确定转发路径的操作,具体的,通过业务处理结果中携带的业务处理信息,即业务数据类型等确定业务功能标识,基于业务功能标识确定该业务处理结果所转发的链路应答路径,便于将业务处理结果按照链路应答路径进行转发;进一步地,由于业务处理服务器为整个链路应答路径的开始,故将应答记录先进行初始化,确定应答记录为a0,再将业务处理结果以及应答记录a0一起转发至下一服务器,同时,还可将该链路应答路径与应答记录写入业务日志文件中。
需要说明的是,所述链路应答路径包括发送服务器的结果发送端口、以及接收服务器的结果接收端口,其中,所述发送服务器包括业务处理服务器或中转服务器,所述接收服务器包括中转服务器或客户端。
其中,结果发送端口可以理解为链路应答路径中服务器中的转发业务处理结果的端口,即Server Send,表示服务端完成处理,并将结果发送给客户端;结果接收端口可以理解为链路应答路径中服务器中的接收业务处理结果的端口,即Client Received,表示客户端获取到服务端返回信息。
需要说明的是,中转服务器也可承担业务处理结果转发操作,即中转服务器还可包括结果发送端以及结果接收端。
进而,所述业务处理服务器,还被配置为将所述业务处理结果从所述业务处理服务器的结果发送端口转发至所述接收服务器的结果接收端口。
实际应用中,业务处理服务器可将业务处理结果从业务处理服务器的结果发送端口转发至接收服务器的结果接收端口。需要说明的是,业务处理服务器包括请求接收端口以及结果发送端口,而在业务处理服务器执行中转服务器的功能时,可配置相应的请求发送端口以及结果接收端口,本说明书实施例对此不做具体限定。
进一步地,中转服务器在接收到业务处理结果时,可继续确定下一链路应答路径,以完成对业务处理结果的转发操作;具体的,所述中转服务器,还被配置为接收业务处理结果,基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将所述应答记录进行加序处理,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发。
实际应用中,中转服务器还可继续根据业务处理结果的业务处理信息确定业务功能标识,以在中转服务器中确定下一链路应答路径,需要说明的链路应答路径与链路调用路径的确定方式相同,本实施例中对具体的确定路径的方式并不做任何限定,可以通过预先配置的业务标识查找对应的链路路径,也可类似路由转发的方式确定下一跳的转发地址,各种方式在此均可实现。
进而,以对应答记录执行的加序处理为加1处理为例,在中转服务器接收到应答记录时,可将应答记录继续执行加1的操作,表示将业务处理结果继续执行了应答转发操作,然后,将业务处理结果与执行加1操作后的应答记录一起按照链路应答路径进行转发;比如,中转服务器接收到业务处理结果与应答记录a0,将应答记录a0加1获得a1,在确定链路应答路径为s4至s1时,可将业务处理结果以及应答记录a1,一起从s4转发至s1。
本说明书实施例提供的业务处理系统,通过记录应答转发的次数,完成对应答记录的累计,明确了链路应答路径的具体转发过程。
更进一步地,所述中转服务器,还被配置为将所述链路调用路径以及所述转发记录写入中转日志文件;将所述链路应答路径以及所述应答记录写入中转日志文件。
实际应用中,中转服务器不仅承担了业务处理请求的转发,还承担了业务处理结果的转发,即完成了客户端与服务器之间的链路调用与应答的过程,那么,每一步链路调用路径以及每一步链路应答路径均可搭配转发记录以及应答记录写入中转日志文件中,即中转服务器可将转发的路径和对应的转发记录在日志中写入。
通过在中转服务器中写入日志文件,将调用和应答的路径与记录落入日志中,便于后续通过读取日志文件,明确中转服务器的转发过程。
此外,本说明书实施例提供的业务处理系统还包括日志服务器。
所述日志服务器,被配置为收集所述业务日志文件,其中,所述业务日志文件包括所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录;收集所述中转日志文件,其中,所述中转日志文件包括所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录;基于所述业务日志文件以及所述中转日志文件构建所述业务处理请求的链路调用关系图,其中,所述链路调用关系图为有向关系图。
其中,链路调用关系图可以理解为客户端和服务器之间请求调用过程中的链路调用与应答的关系图,以表示整个链路调用和应答的路径关系等,即为有向关系图。
实际应用中,在业务处理系统中还可包括日志服务器,可执行对各个服务器的日志文件的收集,并根据各个服务器所记录的日志文件,生成链路调用关系图,对一次请求调用和应答过程的清晰展示。具体实施时,可收集业务处理服务器的业务日志文件,包括链路调用路径和转发记录,以及链路应答路径和应答记录;同样地,还可收集各个中转服务器的中转日志文件,也包括链路调用路径和转发记录,以及链路应答路径和应答记录;在获取到各个服务器的日志文件之后,可对日志文件进行解析,进而构建该业务处理请求的链路调用关系图,该链路调用关系图为有向关系图。
需要说明的是,在一次请求调用过程中,由于客户端与目标服务器之间的调用可能会经过多个中间节点服务器,原来通过span仅能展示客户端与服务器之间的调用,而无法展示中间节点服务器,若中间节点服务器出现故障时,即不能很快地完成对故障服务器的排查。
本说明书实施例提供的业务处理系统,通过系统中的日志服务器收集各个服务器已经记录的各个中间节点服务器完成链路调用与应答的次数,即depot记录(转发记录和应答记录),进而,可在日志服务器上构建链路调用与应答的全部路径,清晰地展示出客户端与服务器之间,通过多个中转服务器实现的链路调用过程,并能够快速地处理中间节点服务器的异常。
参见图3,图3示出了本说明书实施例提供的一种业务处理方法的流程图,具体包括以下步骤。
需要说明的是,本实施例提供的业务处理方法应用于业务处理系统,所述业务处理系统包括业务处理服务器和至少一个中转服务器;
步骤302:所述中转服务器,基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发;
其中,业务处理请求可以理解为用户通过客户端向服务器发送的业务调用请求,比如业务数据查询请求,业务数据统计处理请求等等,本实施例对具体的业务内容不做任何限定,可应用于各种分布式业务处理系统。
业务处理信息可以理解为业务处理请求中所携带的利用服务器处理的各种待处理信息,比如业务数据查询请求中的所需查询的业务功能、业务数据类型、业务数据来源、查询周期等等。
业务功能标识可以理解为该业务处理请求中所涉及的业务类型对应的功能标识,不同的业务可对应着不同的功能标识,以便于后续确定各种不同的业务类型对应的调用链路。
转发记录可以理解为业务处理请求由客户端发出向目标客户端发送时,各服务器所转发的路径转发次数,用以记录业务处理请求所转发的次数,可用depot表示。
需要说明的是,本实施例中提及的加序处理可以参照上述实施例中的描述。
实际应用中,中转服务器可接收到由客户端发送的业务处理请求,通过该业务处理请求中携带的业务处理信息确定该业务对应的业务功能标识,在该中转服务器中,通过确定的业务功能标识可确定该业务处理请求具体的链路调用路径,该链路调用路径可以理解为从一个服务器到下一个服务器的调用路径,即从该中转服务器所转发的下一个调用服务器的路径,比如该中转服务器为s2,下一个服务器为s3,则链路调用路径为s2至s3。
由于该中转服务器不负责对业务处理请求进行处理,则可将该业务处理请求进行转发,基于此,可将转发记录执行加1的操作,需要说明的是,中转服务器所接收到的业务处理请求是从客户端发送的,则中转服务器向下转发操作的转发记录可由初始化r0,再计数加1的操作,获得转发记录为r1;进一步地,可根据确定的链路调用路径,将业务处理请求和转发记录同时进行转发,沿用上例,中转服务器s2可将业务处理请求与转发记录r1一起转发给下一服务器s3。
进一步地,所述链路调用路径包括发送服务器的请求发起端口、以及接收服务器的请求接收端口,其中,所述发送服务器包括客户端或中转服务器,所述接收服务器包括中转服务器或业务处理服务器。
其中,请求发起端口可以理解为链路调用路径中服务器中的转发请求的端口,即Client Start,表示客户端发起请求;请求接收端口可以理解为链路调用路径中服务器中的接收请求的端口,即Server Received,表示服务端收到请求。
需要说明的是,发送服务器的请求发起端口为链路调用路径的发起方,接收服务器的请求接收端口为链路调用路径的接收方;客户端向中转服务器发送业务处理请求,即发送服务器为客户端,请求发起端口为客户端中的发送端口,接收服务器为中转服务器,请求接收端口为中转服务器的接收端口;在中转服务器与中转服务器之间进行转发时,也是通过请求发起端口和请求接收端口实现,由此可见,中转服务器中既有请求发起端口,又有请求接收端口。
进一步地,所述基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发,包括:
所述中转服务器,将所述业务处理请求从所述中转服务器的请求发起端口转发至所述接收服务器的请求接收端口。
实际应用中,中转服务器的业务处理请求基于链路调用路径进行转发时,即通过中转服务器的请求发起端口发送至接收服务器的请求接收端口。
步骤304:所述业务处理服务器,接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果。
沿用上例,若下一服务器s3为业务处理服务器的情况下,业务处理服务器可接收到由中转服务器发送的业务处理请求,并根据该业务处理请求中携带的业务处理信息在本地服务器中获取到业务调用数据,并基于业务调用数据完成业务处理结果的生成,比如,可获取到数据查询的调用数据,生成数据查询结果。
进一步地,在业务处理服务器基于所述业务调用数据生成业务处理结果之后,还包括:
所述业务处理服务器,接收所述转发记录,将所述链路调用路径以及所述转发记录写入业务日志文件。
实际应用中,业务处理服务器在接收到转发记录之后,可将所转发的链路调用路径以及转发记录写入至业务日志文件中;比如,链路调用路径为s2至s3,转发记录为r1,则可将这两个信息写入至业务处理服务器的日志文件中。
通过将转发的转发记录写入日志,便于后续通过日志可确定具体的链路调用路径。
更进一步地,在业务处理服务器基于所述业务调用数据生成业务处理结果之后,还包括:
所述业务处理服务器,基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将应答记录进行初始化,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发,并将链路应答路径以及所述应答记录写入业务日志文件。
其中,链路应答路径可以理解为将业务处理结果返回至客户端的应答路径,需要说明的是,该链路应答路径与链路调用路径可以相同,也可不相同,根据不同的业务场景所配置的不同的调用路径。
应答记录可以理解为业务处理服务器将业务处理结果返回至客户端的应答路径的调用次数,比如业务处理服务器第一次将业务处理结果转发至中转服务器时,应答记录可初始化为a0,在中转服务器将业务处理结果继续转发至下一服务器时,可记录执行加序处理后的应答记录,比如,将应答记录执行加1处理,则为a1,即该应答记录可以理解为应答路径转发的次数,可用depot表示。需要说明的是,应答记录的解释也参考上述实施例中的转发记录,在此不做过多赘述。
实际应用中,业务处理服务器在生成业务处理结果之后,同样可执行确定转发路径的操作,具体的,通过业务处理结果中携带的业务处理信息,即业务数据类型等确定业务功能标识,基于业务功能标识确定该业务处理结果所转发的链路应答路径,便于将业务处理结果按照链路应答路径进行转发;进一步地,由于业务处理服务器为整个链路应答路径的开始,故将应答记录先进行初始化,确定应答记录为a0,再将业务处理结果以及应答记录a0一起转发至下一服务器,同时,还可将该链路应答路径与应答记录写入业务日志文件中。
所述链路应答路径包括发送服务器的结果发送端口、以及接收服务器的结果接收端口,其中,所述发送服务器包括业务处理服务器或中转服务器,所述接收服务器包括中转服务器或客户端。
其中,结果发送端口可以理解为链路应答路径中服务器中的转发业务处理结果的端口,即Server Send,表示服务端完成处理,并将结果发送给客户端;结果接收端口可以理解为链路应答路径中服务器中的接收业务处理结果的端口,即Client Received,表示客户端获取到服务端返回信息。
需要说明的是,中转服务器也可承担业务处理结果转发操作,即中转服务器还可包括结果发送端以及结果接收端。
进一步地,所述基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发,包括:
所述业务处理服务器,将所述业务处理结果从所述业务处理服务器的结果发送端口转发至所述接收服务器的结果接收端口。
实际应用中,业务处理服务器可将业务处理结果从业务处理服务器的结果发送端口转发至接收服务器的结果接收端口。需要说明的是,业务处理服务器包括请求接收端口以及结果发送端口,而在业务处理服务器执行中转服务器的功能时,可配置相应的请求发送端口以及结果接收端口,本说明书实施例对此不做具体限定。
进一步地,中转服务器在接收到业务处理结果时,可继续确定下一链路应答路径,以完成对业务处理结果的转发操作;具体的,所述业务处理服务器,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发之后,还包括:
所述中转服务器,接收业务处理结果,基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将所述应答记录进行加序处理,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发。
实际应用中,中转服务器还可继续根据业务处理结果的业务处理信息确定业务功能标识,以在中转服务器中确定下一链路应答路径,需要说明的链路应答路径与链路调用路径的确定方式相同,本实施例中对具体的确定路径的方式并不做任何限定,可以通过预先配置的业务标识查找对应的链路路径,也可类似路由转发的方式确定下一跳的转发地址,各种方式在此均可实现。
进而,在中转服务器接收到应答记录时,可将应答记录继续执行加1的操作,表示将业务处理结果继续执行了应答转发操作,然后,将业务处理结果与执行加1操作后的应答记录一起按照链路应答路径进行转发;比如,中转服务器接收到业务处理结果与应答记录a0,将应答记录a0加1获得a1,在确定链路应答路径为s4至s1时,可将业务处理结果以及应答记录a1,一起从s4转发至s1。
本说明书实施例提供的业务处理方法,通过记录应答转发的次数,完成对应答记录的累计,明确了链路应答路径的具体转发过程。
更进一步地,所述业务处理方法,还包括:
所述中转服务器,将所述链路调用路径以及所述转发记录写入中转日志文件;将所述链路应答路径以及所述应答记录写入中转日志文件。
实际应用中,中转服务器不仅承担了业务处理请求的转发,还承担了业务处理结果的转发,即完成了客户端与服务器之间的链路调用与应答的过程,那么,每一步链路调用路径以及每一步链路应答路径均可搭配转发记录以及应答记录写入中转日志文件中,即中转服务器可将转发的路径和对应的转发记录在日志中写入。
通过在中转服务器中写入日志文件,将调用和应答的路径与记录落入日志中,便于后续通过读取日志文件,明确中转服务器的转发过程。
此外,所述业务处理方法所应用的系统还包括日志服务器;
所述日志服务器,收集所述业务日志文件,其中,所述业务日志文件包括所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录;
收集所述中转日志文件,其中,所述中转日志文件包括所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录;
基于所述业务日志文件以及所述中转日志文件构建所述业务处理请求的链路调用关系图,其中,所述链路调用关系图为有向关系图。
其中,链路调用关系图可以理解为客户端和服务器之间请求调用过程中的链路调用与应答的关系图,以表示整个链路调用和应答的路径关系等,即为有向关系图。
实际应用中,在业务处理系统中还可包括日志服务器,可执行对各个服务器的日志文件的收集,并根据各个服务器所记录的日志文件,生成链路调用关系图,对一次请求调用和应答过程的清晰展示。具体实施时,可收集业务处理服务器的业务日志文件,包括链路调用路径和转发记录,以及链路应答路径和应答记录;同样地,还可收集各个中转服务器的中转日志文件,也包括链路调用路径和转发记录,以及链路应答路径和应答记录;在获取到各个服务器的日志文件之后,可对日志文件进行解析,进而构建该业务处理请求的链路调用关系图,该链路调用关系图为有向关系图。
需要说明的是,在一次请求调用过程中,由于客户端与目标服务器之间的调用可能会经过多个中间节点服务器,原来通过span仅能展示客户端与服务器之间的调用,而无法展示中间节点服务器,若中间节点服务器出现故障时,即不能很块地完成对故障服务器的排查。
本说明书实施例提供的业务处理系统,通过系统中的日志服务器收集各个服务器已经记录的各个中间节点服务器完成链路调用与应答的次数,即depot记录(转发记录和应答记录),进而,可在日志服务器上构建链路调用与应答的全部路径,清晰地展示出客户端与服务器之间,通过多个中转服务器实现的链路调用过程,并能够快速地处理中间节点服务器的异常。
下述结合附图4,以本说明书提供的业务处理方法在客户端与服务器之间的一次请求调用的应用为例,对所述业务处理方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种业务处理方法的处理过程流程图,具体包括以下步骤。
需要说明的是,图4中包括服务器1、服务器2、服务器3、服务器4以及服务器5;在本实施例中服务器1为客户端发起请求调用,服务器5为业务处理服务器完成对请求的处理,则服务器2、服务器3以及服务器4均中客户端与服务器之间的中间节点服务器。
另外,在图4中的最右侧有一个服务器,用虚线框表示,说明在客户端与服务器之间的调用其实是服务器1与该虚线框对应的服务器之间的一次请求调用,若服务器1的跨度表示为span0,则虚线框对应的服务器的跨度表示为span0.1。针对这一次的请求调用中间可能会经过好几个中转服务器,才完成一次请求调用,因此通过本实施例的下述步骤,可描述中转服务器的链路调用过程。
步骤402:服务器1向服务器2发送调用请求信息,同时,在服务器1的日志中记录跨度=0.1,转发记录=r0;在服务器2的日志中同样也记录跨度=0.1,转发记录=r0。
步骤404:服务器2向服务器3转发调用请求信息时,服务器2还可将转发记录r0转发至服务器3,同时,在服务器2和服务器3的日志文件中均记录跨度=0.1,转发记录=r1。
步骤406:服务器3向服务器5转发调用请求信息时,服务器3还可将转发记录r1转发至服务器5,同时,在服务器3和服务器5的日志文件中均记录跨度=0.1,转发记录=r2。
步骤408:服务器5在确定该调用请求在本服务器完成时,即可生成调用结果,然后确定调用结果的转发路径,将调用结果转发给服务器4,同时,在服务器5和服务器4的日志文件中均记录跨度=0.1,应答记录=a0,并将应答记录a0也转发至服务器4。
步骤410:服务器4向服务器1转发调用结果时,服务器4和服务器1的日志文件均可记录跨度=0.1,应答记录为a1,完成一次请求调用与应答的过程。
综上,在服务器1收到应答之后,即完成了一次请求,服务器1调用服务器5的处理模块,但是中间经过服务器2、3、4这个三个节点,跨度描述了一次请求,转发记录与应答记录更加清晰的展示调用过程,并且能够处理中间服务器上的服务模块异常。
参见图5,图5示出了本说明书实施例提供的一种日志服务器500,其特征在于,所述日志服务器部署于上述的业务处理系统中,用于对业务处理系统中各个服务器的日志收集,以及根据日志文件获取每次请求调用的关系图;具体的,所述日志服务器包括日志收集模块502、日志解析模块504,链路关系生成模块506;
所述日志收集模块502,被配置为接收目标业务的链路调用关系生成请求,基于所述链路调用关系生成请求中携带的业务标识收集所述业务处理系统中每个服务器的所述业务标识对应的日志文件,其中,所述日志文件包括链路调用路径、转发记录、链路应答路径以及应答记录;
所述日志解析模块504,被配置为解析所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录,获得日志解析结果;
所述链路关系生成模块506,被配置为基于所述日志解析结果构建所述目标业务的链路调用关系图。
其中,链路调用关系生成请求可以理解为针对某一目标业务执行链路调用的各个服务器之间的链路关系图的生成请求。
实际应用中,日志服务器的日志收集模块可接收到针对某一目标业务的链路调用关系生成请求,基于该链路调用关系生成请求中携带的业务标识收集所述业务处理系统中每个服务器的业务标识对应的日志文件,其中,该日志文件中包括链路调用路径、转发记录、链路应答路径以及应答记录;日志解析模块可对获取到的日志文件进行解析,获得日志解析结果;链路关系生成模块再根据日志解析结果构建目标业务对应的链路调用关系图。
需要说明的是,日志服务器可根据开发人员需求对各个服务器的日志文件进行收集,构建每个请求调用与应答的链路调用关系图,也可根据预先配置的定时任务,每间隔一定时间周期完成对日志文件的收集,构建链路调用关系图,即可实现实时对业务处理系统中链路调用与应答的监控任务。本说明书实施例对具体的应用场景不做具体限定。
该日志服务器可与任意服务器进行配置使用,比如上述实施例中所提及的业务处理系统,包括业务处理服务器以及至少一个中转服务器等,该日志服务器不仅可以获取到客户端与服务器之间的路径调用,以及路径跨度span的记录,还可获取到客户端与服务器之间的中间节点服务器的路径调用与应答路径,以及转发和应答depot的记录;通过depot记录即可更加清晰地展示客户端与服务器之间中间节点服务器的链路调用路径的展示。
参见图6,图6示出了本说明书实施例提供的另一种服务器600,所述服务器包括业务接收模块602、业务处理模块604以及业务转发模块606。
需要说明的是,本实施例提供的一种服务器可执行业务处理服务器的操作,也可执行中转服务器的操作,即在分布式系统中,每个服务器均可为某一业务处理的业务处理服务器,或者为某一业务处理的中转服务器;因此,每个服务器均可配置这两种功能,下述通过服务器的业务处理模块以及业务转发模块实现。
所述业务接收模块602,被配置为接收链路调用请求,基于所述链路调用请求中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述链路调用请求的链路转发路径;将调用记录进行加序处理,并将所述链路转发路径、以及所述业务处理信息发送至所述业务处理模块,将所述链路转发路径、所述业务处理信息以及所述调用记录发送至所述业务转发模块。
其中,链路调用请求可以理解为针对服务器的链路调用或链路应答的请求;链路转发路径可以理解为服务器将转发内容进行转发至下一个服务器的转发路径;调用记录可以理解为服务器每一次转发的转发记录。
实际应用中,服务器的业务接收模块负责接收链路调用请求,并根据链路调用请求中的业务处理信息确定业务功能标识,再基于业务功能标识确定链路调用请求的链路转发路径,并将调用记录进行加序处理,比如对调用记录进行加1,需要说明的是,若该服务器未接收到上一服务器发送的调用记录,则可初始化调用记录,并将链路转发路径以及业务处理信息发送至业务处理模块,将链路转发路径、业务处理信息以及调用记录发送至业务转发模块。
所述业务处理模块604,被配置为在确定所述链路转发路径中的目标服务器标识为本地服务器标识的情况下,基于所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果。
实际应用中,业务处理模块可从链路转发路径中确定路径转发的目标服务器标识,若该目标服务器标识与本地服务器的标识相同的情况下,可根据业务处理信息在本地服务器获取业务调用数据,再生成对应的业务处理结果。
所述业务转发模块606,被配置为在确定所述链路转发路径中的目标服务器标识为其他服务器标识的情况下,基于所述链路转发路径将所述业务处理信息以及所述调用记录进行转发。
实际应用中,业务转发模块也可从链路转发路径中确定路径转发的目标服务器标识,若该目标服务器标识为其他服务器标识,非本地服务器标识的情况下,可根据链路转发路径将业务处理信息以及调用记录一起进行转发。
进一步地,所述服务器还包括日志记录模块;
所述日志记录模块,被配置为记录所述链路转发路径以及所述调用记录。
实际应用中,服务器所接收到链路调用和应答均可在本地日志记录模块进行记录,同时,还可记录链路转发路径以及对应的调用记录,便于后续将本地日志记录模块的日志文件进行上报。
综上,本说明书实施例提供的服务器,不仅能够支持链路调用和应答的转发操作,还可支持业务处理功能,同时,在该服务器中还可记录每个转发对应的调用记录,便于后续根据服务器所记录的调用记录构建链路调用和应答的关系图,便于链路故障的排查。
参见图7,图7示出了本说明书另一实施例提供了一种业务处理方法,具体包括以下步骤。
步骤702:接收链路调用请求,基于所述链路调用请求中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述链路调用请求的链路转发路径。
其中,链路调用请求可以理解为针对服务器的链路调用或链路应答的请求;链路转发路径可以理解为服务器将转发内容进行转发至下一个服务器的转发路径;调用记录可以理解为服务器每一次转发的转发记录。
实际应用中,服务器负责接收链路调用请求,并根据链路调用请求中的业务处理信息确定业务功能标识,再基于业务功能标识确定链路调用请求的链路转发路径,并将调用记录加1,需要说明的是,若该服务器未接收到上一服务器发送的调用记录,则可初始化调用记录,并将链路转发路径以及业务处理信息发送至业务处理模块,将链路转发路径、业务处理信息以及调用记录发送至业务转发模块。
步骤704:将调用记录进行加序处理,在确定所述链路转发路径中的目标服务器标识为本地服务器标识的情况下,基于所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果;或者在确定所述链路转发路径中的目标服务器标识为其他服务器标识的情况下,基于所述链路转发路径将所述业务处理信息以及所述调用记录进行转发。
实际应用中,服务器可从链路转发路径中确定路径转发的目标服务器标识,若该目标服务器标识与本地服务器的标识相同的情况下,可根据业务处理信息在本地服务器获取业务调用数据,再生成对应的业务处理结果。服务器也可从链路转发路径中确定路径转发的目标服务器标识,若该目标服务器标识为其他服务器标识,非本地服务器标识的情况下,可根据链路转发路径将业务处理信息以及调用记录一起进行转发。
进一步地,所述业务处理方法,还包括:
记录所述链路转发路径以及所述调用记录至日志文件。
实际应用中,服务器所接收到链路调用和应答均可在本地日志记录模块进行记录,同时,还可记录链路转发路径以及对应的调用记录,便于后续将本地日志记录模块的日志文件进行上报。
综上,本说明书实施例提供的业务处理方法,不仅能够支持链路调用和应答的转发操作,还可支持业务处理功能,同时,在该服务器中还可记录每个转发对应的调用记录,便于后续在服务器的日志文件中所记录的调用记录构建链路调用和应答的关系图,便于链路故障的排查。
图8示出了根据本说明书一个实施例提供的一种计算设备800的结构框图。该计算设备800的部件包括但不限于存储器810和处理器820。处理器820与存储器810通过总线830相连接,数据库850用于保存数据。
计算设备800还包括接入设备840,接入设备840使得计算设备800能够经由一个或多个网络860通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备840可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备800的上述部件以及图8中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图8所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备800可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备800还可以是移动式或静止式的服务器。
其中,处理器820用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述业务处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的业务处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述业务处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述业务处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的业务处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述业务处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述业务处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的业务处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述业务处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (14)

1.一种业务处理系统,其特征在于,所述系统包括业务处理服务器和至少一个中转服务器;
所述中转服务器,被配置为基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发,并将所述链路调用路径以及所述转发记录写入中转日志文件,其中,所述链路调用路径被用于确认接收当前服务器调用请求的下一个服务器,所述转发记录用于记录业务处理请求所转发的次数;
所述业务处理服务器,被配置为接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果,接收所述转发记录,并将所述链路调用路径以及所述转发记录写入业务日志文件;
所述中转服务器,还被配置为接收业务处理结果,基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将应答记录进行加序处理,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发,并将所述链路应答路径以及所述应答记录写入中转日志文件,其中,所述链路应答路径被用于确认接收当前服务器应答请求的下一个服务器,所述应答记录用于记录业务处理结果返回至客户端的应答路径的调用次数。
2.根据权利要求1所述的系统,其特征在于,所述业务处理服务器,还被配置为基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将应答记录进行初始化,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发,并将所述链路应答路径以及所述应答记录写入业务日志文件。
3.根据权利要求1所述的系统,其特征在于,所述链路调用路径包括发送设备的请求发起端口、以及接收设备的请求接收端口,其中,所述发送设备包括客户端或中转服务器,所述接收设备包括中转服务器或业务处理服务器。
4.根据权利要求3所述的系统,其特征在于,所述中转服务器,还被配置为将所述业务处理请求从所述中转服务器的请求发起端口转发至所述接收设备的请求接收端口。
5.根据权利要求2所述的系统,其特征在于,所述链路应答路径包括发送设备的结果发送端口、以及接收设备的结果接收端口,其中,所述发送设备包括业务处理服务器或中转服务器,所述接收设备包括中转服务器或客户端。
6.根据权利要求5所述的系统,其特征在于,所述业务处理服务器,还被配置为将所述业务处理结果从所述业务处理服务器的结果发送端口转发至所述接收设备的结果接收端口。
7.根据权利要求1所述的系统,其特征在于,所述系统还包括日志服务器;
所述日志服务器,被配置为收集所述业务日志文件,其中,所述业务日志文件包括所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录;收集所述中转日志文件,其中,所述中转日志文件包括所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录;基于所述业务日志文件以及所述中转日志文件构建所述业务处理请求的链路调用关系图,其中,所述链路调用关系图为有向关系图。
8.一种日志服务器,其特征在于,所述日志服务器部署于权利要求1至7任意一项所述的业务处理系统,所述日志服务器包括日志收集模块、日志解析模块,链路关系生成模块;
所述日志收集模块,被配置为接收目标业务的链路调用关系生成请求,基于所述链路调用关系生成请求中携带的业务标识收集所述业务处理系统中每个服务器的所述业务标识对应的日志文件,其中,所述日志文件包括链路调用路径、转发记录、链路应答路径以及应答记录;
所述日志解析模块,被配置为解析所述链路调用路径、所述转发记录、所述链路应答路径以及所述应答记录,获得日志解析结果;
所述链路关系生成模块,被配置为基于所述日志解析结果构建所述目标业务的链路调用关系图。
9.一种服务器,其特征在于,所述服务器包括业务接收模块、业务处理模块以及业务转发模块;
所述业务接收模块,被配置为接收链路调用请求,基于所述链路调用请求中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述链路调用请求的链路转发路径;将调用记录进行加序处理,并将所述链路转发路径、以及所述业务处理信息发送至所述业务处理模块,将所述链路转发路径、所述业务处理信息以及所述调用记录发送至所述业务转发模块,其中,所述链路转发路径为业务处理请求的链路调用路径和业务处理结果的链路应答路径,所述调用记录为转发记录和应答记录,所述转发记录用于记录业务处理请求所转发的次数,所述应答记录用于记录业务处理结果返回至客户端的应答路径的调用次数;
所述业务处理模块,被配置为在确定所述链路转发路径中的目标服务器标识为本地服务器标识的情况下,基于所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果;
所述业务转发模块,被配置为在确定所述链路转发路径中的目标服务器标识为其他服务器标识的情况下,基于所述链路转发路径将所述业务处理信息以及所述调用记录进行转发,并将所述链路转发路径和所述调用记录写入中转日志文件。
10.根据权利要求9所述的服务器,其特征在于,所述服务器还包括日志记录模块;
所述日志记录模块,被配置为记录所述链路转发路径以及所述调用记录。
11.一种业务处理方法,其特征在于,应用于业务处理系统,所述业务处理系统包括业务处理服务器和至少一个中转服务器;
所述中转服务器,基于接收的业务处理请求中携带的业务处理信息确定业务功能标识,基于所述业务功能标识确定所述业务处理请求的链路调用路径;将转发记录进行加序处理,基于所述链路调用路径将所述业务处理请求和所述转发记录进行转发,并将所述链路调用路径以及所述转发记录写入中转日志文件,其中,所述链路调用路径被用于确认接收当前服务器调用请求的下一个服务器,所述转发记录用于记录业务处理请求所转发的次数;
所述业务处理服务器,接收所述业务处理请求,基于所述业务处理请求中携带的所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果,接收所述转发记录,并将所述链路调用路径以及所述转发记录写入业务日志文件;
所述中转服务器,接收业务处理结果,基于所述业务处理结果中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述业务处理结果的链路应答路径;将应答记录进行加序处理,基于所述链路应答路径将所述业务处理结果以及所述应答记录进行转发,并将所述链路应答路径以及所述应答记录写入中转日志文件,其中,所述链路应答路径被用于确认接收当前服务器应答请求的下一个服务器,所述应答记录用于记录业务处理结果返回至客户端的应答路径的调用次数。
12.一种业务处理方法,其特征在于,包括:
接收链路调用请求,基于所述链路调用请求中携带的业务处理信息确定业务功能标识,并基于所述业务功能标识确定所述链路调用请求的链路转发路径,将调用记录进行加序处理,在确定所述链路转发路径中的目标服务器标识为本地服务器标识的情况下,基于所述业务处理信息获取业务调用数据,并基于所述业务调用数据生成业务处理结果,并将所述链路转发路径和所述调用记录写入中转日志文件,其中,所述调用记录为转发记录和应答记录,所述链路转发路径为业务处理请求的链路调用路径和业务处理结果的链路应答路径,所述转发记录用于记录业务处理请求所转发的次数,所述应答记录用于记录业务处理结果返回至客户端的应答路径的调用次数;
在确定所述链路转发路径中的目标服务器标识为其他服务器标识的情况下,基于所述链路转发路径将所述业务处理信息以及所述调用记录进行转发,并将所述链路转发路径和所述调用记录写入中转日志文件。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求11至12任意一项所述方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求11至12任意一项所述方法的步骤。
CN202210998852.9A 2022-08-19 2022-08-19 业务处理系统以及方法 Active CN115412592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210998852.9A CN115412592B (zh) 2022-08-19 2022-08-19 业务处理系统以及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210998852.9A CN115412592B (zh) 2022-08-19 2022-08-19 业务处理系统以及方法

Publications (2)

Publication Number Publication Date
CN115412592A CN115412592A (zh) 2022-11-29
CN115412592B true CN115412592B (zh) 2023-08-22

Family

ID=84161940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210998852.9A Active CN115412592B (zh) 2022-08-19 2022-08-19 业务处理系统以及方法

Country Status (1)

Country Link
CN (1) CN115412592B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117271007B (zh) * 2023-11-21 2024-02-13 恒生电子股份有限公司 业务处理方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598012B1 (en) * 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
CN106487596A (zh) * 2016-10-26 2017-03-08 宜人恒业科技发展(北京)有限公司 分布式服务跟踪实现方法
CN107645562A (zh) * 2017-10-12 2018-01-30 广州爱九游信息技术有限公司 数据传输处理方法、装置、设备及系统
CN110245035A (zh) * 2019-05-20 2019-09-17 平安普惠企业管理有限公司 一种链路跟踪方法及装置
CN111290866A (zh) * 2020-02-11 2020-06-16 支付宝(杭州)信息技术有限公司 业务处理方法及装置
CN111934940A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 配置化的服务请求方法及装置、电子设备和存储介质
CN112612675A (zh) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN112910945A (zh) * 2020-12-08 2021-06-04 江苏苏宁云计算有限公司 请求链路跟踪方法和业务请求处理方法
WO2021242466A1 (en) * 2020-05-28 2021-12-02 Splunk, Inc. Computing performance analysis for spans in a microservices-based architecture
CN114416485A (zh) * 2022-01-20 2022-04-29 上海幻电信息科技有限公司 数据处理方法及装置
CN114745295A (zh) * 2022-04-19 2022-07-12 京东科技控股股份有限公司 数据采集方法、装置、设备和可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10555205B2 (en) * 2013-10-29 2020-02-04 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for optimized scheduled delivery
CN109981803B (zh) * 2017-12-27 2022-04-29 中兴通讯股份有限公司 业务请求处理方法及装置
US20200342449A1 (en) * 2019-04-29 2020-10-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing an api gateway to authorize and charge a fee for a transaction between cloud computing customers using distributed ledger technologies (dlt)

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598012B1 (en) * 1999-10-07 2003-07-22 International Business Machines Corporation Method and system for compensating for output overhead in trace date using trace record information
CN106487596A (zh) * 2016-10-26 2017-03-08 宜人恒业科技发展(北京)有限公司 分布式服务跟踪实现方法
CN107645562A (zh) * 2017-10-12 2018-01-30 广州爱九游信息技术有限公司 数据传输处理方法、装置、设备及系统
CN110245035A (zh) * 2019-05-20 2019-09-17 平安普惠企业管理有限公司 一种链路跟踪方法及装置
CN111290866A (zh) * 2020-02-11 2020-06-16 支付宝(杭州)信息技术有限公司 业务处理方法及装置
WO2021242466A1 (en) * 2020-05-28 2021-12-02 Splunk, Inc. Computing performance analysis for spans in a microservices-based architecture
CN111934940A (zh) * 2020-09-24 2020-11-13 腾讯科技(深圳)有限公司 配置化的服务请求方法及装置、电子设备和存储介质
CN112910945A (zh) * 2020-12-08 2021-06-04 江苏苏宁云计算有限公司 请求链路跟踪方法和业务请求处理方法
CA3141329A1 (en) * 2020-12-08 2022-06-08 10353744 Canada Ltd. Request link tracking method and service request processing method
CN112612675A (zh) * 2020-12-25 2021-04-06 山东经伟晟睿数据技术有限公司 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN114416485A (zh) * 2022-01-20 2022-04-29 上海幻电信息科技有限公司 数据处理方法及装置
CN114745295A (zh) * 2022-04-19 2022-07-12 京东科技控股股份有限公司 数据采集方法、装置、设备和可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
供应链环境下一种分布式RFID发现服务;赵文等;电子学报;全文 *

Also Published As

Publication number Publication date
CN115412592A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN112910945B (zh) 请求链路跟踪方法和业务请求处理方法
US9639444B2 (en) Architecture for end-to-end testing of long-running, multi-stage asynchronous data processing services
CN109639782B (zh) 消息发送平台、方法
CN110730246A (zh) 一种微服务架构下的分布式链路跟踪方法
CN115412592B (zh) 业务处理系统以及方法
US11593676B2 (en) Natural language processing and machine learning assisted cataloging and recommendation engine
CN114416485A (zh) 数据处理方法及装置
CN114328566A (zh) 关系图谱的更新方法、装置、介质、设备及生成方法
CN112416557B (zh) 调用关系的确定方法和装置、存储介质及电子装置
CN114579532A (zh) 处理预写日志的方法、装置及系统
CN113297229A (zh) 路由读请求、反馈报文的方法以及各自装置、数据库
CN113422739B (zh) 数据传输方法、发送端及数据传输系统
CN113992664B (zh) 一种集群通信的方法、相关装置及存储介质
CN113435937B (zh) 广告创建方法及装置
CN110532253B (zh) 一种业务分析方法、系统及集群
US8014397B1 (en) Correlating packets in a data-communications environment
CN113704486A (zh) 图谱数据构建方法及装置和图谱数据查询方法及装置
CN107483294A (zh) 监控网络请求的方法及装置
CN113407491A (zh) 数据处理方法及装置
CN114172958A (zh) 隐私计算节点、系统、方法、装置以及存储介质
CN115695587A (zh) 一种业务数据处理系统、方法、装置和存储介质
CN114428723A (zh) 测试系统、系统测试方法、相关设备及存储介质
CN117632445B (zh) 请求处理方法以及装置、任务执行方法以及装置
CN114679487B (zh) 链路处理方法、装置、存储介质、处理器
CN114928530B (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