CN113268363B - 基于全局能力的调用追踪方法、装置、服务器及存储介质 - Google Patents
基于全局能力的调用追踪方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN113268363B CN113268363B CN202110670467.7A CN202110670467A CN113268363B CN 113268363 B CN113268363 B CN 113268363B CN 202110670467 A CN202110670467 A CN 202110670467A CN 113268363 B CN113268363 B CN 113268363B
- Authority
- CN
- China
- Prior art keywords
- call
- capability
- data
- global
- atomic
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 28
- 238000001914 filtration Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000007619 statistical method Methods 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 35
- 239000008186 active pharmaceutical agent Substances 0.000 description 16
- 238000013499 data model Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000002513 implantation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于全局能力的调用追踪方法、装置、服务器及存储介质,所述方法包括:在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪,从而根据正向调用数据和反向回调数据得到至少一次完整的全局能力的调用过程,在进行数据跟踪时,可更真实的反映业务调用流程,以提高在复杂业务场景进行调用追踪时的有效性。
Description
技术领域
本发明涉及5G网络能力开发技术领域,尤其涉及一种基于全局能力的调用追踪方法、装置、服务器及存储介质。
背景技术
对于新型5G网络能力开放业务的全局能力调用监控,依托于能力中台业务,即使用了CAPIF框架,但在实际的业务场景中,现有的调用追踪方法无法满足5G能力开放的需求。由于全局能力调用的流程比较复杂,现有的TraceId+Span的数据模型无法满足一次全局能力调用的场景。
发明内容
本发明的主要目的在于提出一种基于全局能力的调用追踪方法、装置、服务器及存储介质,旨在解决在复杂业务场景进行调用追踪时提高有效性的技术问题。
为实现上述目的,本发明提供一种基于全局能力的调用追踪方法,所述基于全局能力的调用追踪方法包括以下步骤:
在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;
根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;
根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪。
可选地,所述根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,包括:
根据所述业务类型确定调用节点标识以及对应的全局能力调用键值对;
根据所述正向调用数据和反向回调数据确定调用流程以及对应的业务参数;
根据所述调用节点标识、全局能力调用键值对、调用流程以及业务参数得到全局能力调用全貌数据因子。
可选地,所述根据所述正向调用数据和反向回调数据确定调用流程以及对应的业务参数,包括:
根据所述正向调用数据和反向回调数据确定跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间;
根据所述跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间得到调用流程以及对应的业务参数。
可选地,所述在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型,包括:
在接收到全局能力调用请求时,提取所述全局能力调用请求中的远程调用参数;
根据所述远程调用参数通过原子能力远程调用列表进行过滤;
根据过滤后的全局能力调用请求确定相应的业务类型。
可选地,所述根据所述远程调用参数通过原子能力远程调用列表进行过滤之前,还包括:
在接收到动态发布或者注销原子能力远程调用请求时,根据所述动态发布或者注销原子能力远程调用请求对所述原子能力远程调用列表进行更新,得到更新后的原子能力远程调用列表;
所述根据所述远程调用参数通过原子能力远程调用列表进行过滤,包括:
根据所述远程调用参数通过更新后的原子能力远程调用列表进行过滤。
可选地,所述在接收到动态发布或者注销原子能力远程调用请求时,根据所述动态发布或者注销原子能力远程调用请求对所述原子能力远程调用列表进行更新,得到更新后的原子能力远程调用列表之前,还包括:
在接收到接口提供模块通知的动态发布或者注销原子能力远程调用信息时,根据所述动态发布或者注销原子能力远程调用信息生成动态发布或者注销原子能力远程调用请求,其中,所述接口提供模块通过服务器推送的方式进行通知。
可选地,所述根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪之后,还包括:
将标记有所述全局能力调用全貌数据因子的打点数据生产至Kafka消息队列中间件,以通过所述Kafka消息队列中间件将所述打点数据发送至监控后台进行消费,以使所述监控后台将消费后的打点数据存储至关系型数据库,将所述关系型数据库中消费后的打点数据根据全局能力进行统计分析,并根据分析结果进行可视化展示。
此外,为实现上述目的,本发明还提出一种基于全局能力的调用追踪装置,所述基于全局能力的调用追踪装置包括:
获取模块,用于在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;
跟踪模块,用于根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;
所述获取模块,还用于根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪。
此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于全局能力的调用追踪程序,所述基于全局能力的调用追踪程序配置为实现如上文所述的基于全局能力的调用追踪方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于全局能力的调用追踪程序,所述基于全局能力的调用追踪程序被处理器执行时实现如上文所述的基于全局能力的调用追踪方法。
本发明提出的基于全局能力的调用追踪方法,通过在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪,从而根据正向调用数据和反向回调数据得到至少一次完整的全局能力的调用过程,在进行数据跟踪时,可更真实的反映业务调用流程,以提高在复杂业务场景进行调用追踪时的有效性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于全局能力的调用追踪设备结构示意图;
图2为本发明基于全局能力的调用追踪方法第一实施例的流程示意图;
图3为本发明基于全局能力的调用追踪方法一实施例的一次全局能力调用业务流程示意图;
图4为本发明基于全局能力的调用追踪方法一实施例的能力调用监控系统整体流程示意图;
图5为本发明基于全局能力的调用追踪方法第二实施例的流程示意图;
图6为本发明基于全局能力的调用追踪方法第三实施例的流程示意图;
图7为本发明基于全局能力的调用追踪装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如按键,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的基于全局能力的调用追踪设备结构并不构成对基于全局能力的调用追踪设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于全局能力的调用追踪程序。
在图1所示的基于全局能力的调用追踪设备中,网络接口1004主要用于连接服务器,与服务器进行数据通信;用户接口1003主要用于连接用户终端,与终端进行数据通信;本发明基于全局能力的调用追踪设备通过处理器1001调用存储器1005中存储的基于全局能力的调用追踪程序,并执行本发明实施例提供的基于全局能力的调用追踪方法。
基于上述硬件结构,提出本发明基于全局能力的调用追踪方法实施例。
参照图2,图2为本发明基于全局能力的调用追踪方法第一实施例的流程示意图。
在第一实施例中,所述基于全局能力的调用追踪方法包括以下步骤:
步骤S10,在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型。
需要说明的是,本实施例的执行主体可为基于全局能力的调用追踪装置,基于全局能力的调用追踪装置设有基于全局能力的调用追踪方法程序,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,在本实施例中,以能力平台为例进行说明,移动设备可为手机,在能力平台上设有基于全局能力的调用追踪应用程序,可根据基于全局能力的调用追踪应用程序进行业务调用流程的追踪。
可以理解的是,本实施例中的能力平台为基于通用的API框架(Common APIFramework,CAPIF)实现的,还可基于其他业务框架,本实施例对此不作限制,在本实施例中,以CAPIF框架为例进行说明,第三代合作伙伴计划(3rd Generation PartnershipProject,3GPP)针对5G网络能力开放,定义了一个通用的API框架CAPIF(Common APIFramework),对外提供了统一的北向接口,该框架主要由接口调用者(API Invoker)、CAPIF核心功能(CAPIF Core Function)、接口提供者(API Provider)组成。而在网络能力开放的概念中,接口提供者提供的API统称为原子能力,而全局能力则包含若干个原子能力组成并统一提供给北向API Invoker进行调用。本实施例依托于能力中台业务(使用了CAPIF框架),在实际的业务场景中,全局能力调用的流程比较复杂,一次完整的从北至南的调用可能无法体现一次全局能力调用的全貌,“一次”全局能力的调用可能包括多次正向调用、反回调等流程,现有传统的TraceId+Span的数据模型将无法满足所谓的“一次”全局能力调用。
在具体实现中,根据所述全局能力调用请求确定相应的业务类型,具体为提取全局调用关键字字段,根据全局调用关键字字段确定业务类型,业务类型可为呼叫业务类型,消息业务类型,还可为其他业务类型,本实施例对此不做限制,例如在全局调用中得到“message”关键字,则确定业务类型为消息业务,在全局调用中得到“call”关键字,则确定业务类型为呼叫业务,从而根据业务进行调用数据的分类,以提高数据处理的效率。
步骤S20,根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据。
在本实施例中,通过将调用过程涉及至少两个跟踪,包括一次正向调用与反向回调,统称为复杂跟踪ComplexTrace,从而使跟踪数据至少包括一次正向调用与反向回调,实现真正意义上的全局能力调用。
步骤S30,根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪。
需要说明的是,为了实现复杂调用过程的打点数据模型的建立,对采集数据模型TraceId+Span进行改造,采用以ComplexTrace+TraceId+Span为骨架在原子能力调用的上下文中进行传递,成为全局能力调用全貌数据因子。以“一次”简单全局能力的调用为例进行说明,如图3所示的一次全局能力调用业务流程示意图,根据业务类型以及正向调用数据和反向回调数据得到全局能力调用全貌数据因子,通过全局能力调用全貌数据因子对数据进行标记,以实现全局能力调用的跟踪,其中,全局能力调用全貌数据因子包括对调用键值对,用InvokeKey和InvokeValue进行关联表示,还包括复杂API标识符,用ComplexApiId表示,还包括其他参数,本实施例仅以上述参数进行说明。通过全局能力调用全貌数据因子建立的新数据模型将很好地应对5G网络能力开放中的复杂多变的复合能力调用的行为监控,从而实现监控的有效性。
在具体实现中,基于能力中台业务CAPIF框架,集中优化了全局能力调用监控流程以及采集数据模型,辅以现有成熟的Filter+Aspect植入采集方式、Kafka消息中间件数据传输方式,Mysql关系型数据库数据存储方式,结合数据分析分类汇总,于WebUI上呈现出业务方所希望观察的全局能力调用的路径依赖以及耗时等,例如图4所示的能力调用监控系统整体流程示意图,整体能力调用监控与CAPIF框架业务相结合,总共分为三大块,图4中1-*,2-*,3-*箭头所指,其中1-*相关流程为能力调用业务的基本流程,2-*相关流程为全局能力调用监控的基本流程,3-*相关流程为动态原子能力接口发布的基本流程。
在本实施例中,通过在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪,从而根据正向调用数据和反向回调数据得到至少一次完整的全局能力的调用过程,在进行数据跟踪时,可更真实的反映业务调用流程,以提高在复杂业务场景进行调用追踪时的有效性。
在一实施例中,如图5所示,基于第一实施例提出本发明基于全局能力的调用追踪方法第二实施例,所述步骤S30,包括:
步骤S301,根据所述业务类型确定调用节点标识以及对应的全局能力调用键值对。
在具体实现中,节点标识用ComplexApiId表示,可通过唯一标识生成方法进行自动生成,例如MD5,还可通过其他方式生成唯一标识,全局能力调用键值对可通过InvokeKey和InvokeValue进行关联表示,还可通过其他参数方式进行表示,本实施例对此不做限制,在全局能力调用时一般涉及多次正向调用与反向回调,在本实施例中,以一次完整的全局能力调用涉及一次正向调用与反向回调为例进行说明,例如一次全局能力调用涉及两个跟踪Trace,包括一次正向调用与反向回调,统称为ComplexTrace,内部的所有Trace都通过InvokeKey及InvokeValue进行关联。其中ComplexApiId与业务本身相关,方便后续分类,InvokeKey表示本次全局调用关键字字段,如“messageId”以及“callId”之类,InvokeVlaue表示字段对应的值,其在每次调用都不一样,从而实现准确的调用跟踪。
步骤S302,根据所述正向调用数据和反向回调数据确定调用流程以及对应的业务参数。
在具体实现中,根据所述正向调用数据和反向回调数据确定跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间;根据所述跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间得到调用流程以及对应的业务参数。
需要说明的是,跟踪标识可用TraceId表示,调用路径标识可用SpanId表示,数据采集模块名可用ModuleName表示,原子能力的远程调用资源路径可用RpcName表示,处理时间可用StartTime和EndTime表示,还包括其他标识参数,本实施例对此不做限制。
步骤S303,根据所述调用节点标识、全局能力调用键值对、调用流程以及业务参数得到全局能力调用全貌数据因子。
在具体实现中,每一次Trace调用都会涉及多个远程过程调用(Remote ProcedureCall,RPC),一次RPC称为跨度Span,即调用路径,SpanId在Trace内部可区分即可,其中,SpanId标号还可区分调用顺序。CAPIF Core Funtion中的每个模块在一次Span中可能充当调用方client,也可能充当接收方server,作为client端时StartTime代表调用的时刻,EndTime代表调用后收到响应的时刻;作为server端时StartTime代表收到请求的时刻,EndTime代表响应对方的时刻。ModuleName表示采集时切入的模块名,RpcName对应原子能力的RPC资源路径等,如表1所示的一次全局能力调用监控数据表,表1为以图3所示的“一次”简单全局能力的调用为例对应的完整调用后,采集模块所得数据整合后的表格,其中,网络能力的开放(Network Exposure Function,NEF)表示网络能力的收集、分析和重组。NEFP表示核心网元。
表1
在本实施例中,对采集数据模型TraceId+Span进行改造,以ComplexTrace+TraceId+Span为骨架在原子能力调用的上下文中进行传递,成为全局能力调用全貌数据因子,从而通过建立的新数据模型反映真正全局能力调用,更有效地应对5G网络能力开放中的复杂多变的复合能力调用的行为监控。
在一实施例中,如图6所示,基于第一实施例或第二实施例提出本发明基于全局能力的调用追踪方法第三实施例,以第一实施例为例进行说明,所述步骤S10,包括:
步骤S101,在接收到全局能力调用请求时,提取所述全局能力调用请求中的远程调用参数。
需要说明的是,由于现有传统的Span代表一次RPC调用(收发),而能力中台只关心原子能力相关的RPC,其它额外边缘功能多余的RPC(非全局能力关注的RPC)若也与原子能力相关的RPC混杂在一起记录将影响整体业务的性能以及后续数据分析的效率,同时,接口提供者包含一个接口发布(API Publishing Function)的功能,全局能力调用路径以及原子能力列表可能随时会动态发生变化,现有传统的采集流程也无法满足能力多变的能力中台业务。
可以理解的是,远程调用参数包括RPC名称,RPC调用路径以及RPC子参数,还包括其他参数信息,本实施例对此不做限制,通过远程调用参数的识别,从而确定全局能力调用请求是否是与原子能力相关的RPC,以排除额外边缘功能多余的RPC,得到动态原子能力变化时可控的RPC调用记录。
步骤S102,根据所述远程调用参数通过原子能力远程调用列表进行过滤。
在本实施例中,原子能力远程调用列表为记录有原子能力RPC名称、RPC调用路径以及RPC子参数的原子能力RPC列表,通过查询原子能力远程调用列表可确定动态原子能力变化时可控的RPC调用,从而通过原子能力远程调用列表对RPC调用进行过滤,排除额外边缘功能多余的RPC的调用,以得到原子能力RPC调用,实现准确的全局能力调用的跟踪,原子能力远程调用列表可采用内置的方式保存,还可通过外部调用的方式进行调用,本实施例对此不做限制,还可根据实际需求进行灵活调整。
步骤S103,根据过滤后的全局能力调用请求确定相应的业务类型。
继续如图4所示,将内置原子能力RPC列表过滤不需要采集的RPC信息,同时该功能结合CAPIF框架中的接口发布可动态调整列表,极大地适应了CAPIF框架中的无需重新部署的能力调整,从而解决动态原子能力变化时进行可控的RPC调用记录。
为了实现实时的原子能力远程调用列表的更新,具体为在接收到动态发布或者注销原子能力远程调用请求时,根据所述动态发布或者注销原子能力远程调用请求对所述原子能力远程调用列表进行更新,得到更新后的原子能力远程调用列表;根据所述远程调用参数通过更新后的原子能力远程调用列表进行过滤。
需要说明的是,CAPIF框架中,接口提供者(API Provider)包含一个接口发布(APIPublishing Function)的功能,全局能力调用路径以及原子能力列表可能随时会动态发生变化,现有技术方案的采集流程也无法满足能力多变的能力中台业务。
在具体实现中,在接收到接口提供模块通知的动态发布或者注销原子能力远程调用信息时,根据所述动态发布或者注销原子能力远程调用信息生成动态发布或者注销原子能力远程调用请求,其中,所述接口提供模块通过服务器推送的方式进行通知。
继续如图4所述,3-1流程,接口提供者向核心模块动态发布或者注销相关原子能力RPC,通过服务器推送的方式将原子能力的RPC名称,RPC调用路径以及RPC子参数等信息通知到核心模块,核心模块收到以上信息后,内置原子能力RPC列表将自行进行调整,激活新的原子能力或者注销旧的原子能力,从而实现原子能力远程调用列表的更新,以在全局能力调用路径以及原子能力列表随时动态发生变化,满足能力多变的能力中台业务的可控性。
在一实施例中,所述步骤S30之后,还包括:
将标记有所述全局能力调用全貌数据因子的打点数据生产至Kafka消息队列中间件,以通过所述Kafka消息队列中间件将所述打点数据发送至监控后台进行消费,以使所述监控后台将消费后的打点数据存储至关系型数据库,将所述关系型数据库中消费后的打点数据根据全局能力进行统计分析,并根据分析结果进行可视化展示。
在具体实现中,采集方式采用了Filter+Aspect植入方式,数据传输方式采用了Kafka中间件,数据存储方式使用Mysql关系型数据库,结合数据分析分类汇总,于WebUI上呈现出全局能力调用的路径依赖以及耗时等,从而及时分析出具体的原子能力瓶颈,以便后续的分析等。
继续如图4所示,对2-1步骤进行具体说明,核心模块中的内置采集模块将在1-*相关业务流程进行工作时切入采集,采集方式为较为常见的Filter+Aspect方式,全局能力调用发生时,每个原子能力调用路径均为RPC调用,但实际业务整体流程中,不是每个RPC调用均为原子能力,为进行有效监控,Filter将在打点前查询内置原子能力RPC列表进行过滤,对2-2步骤进行具体说明,采集模块将打点数据生产至Kafka消息队列中间件。对2-3步骤进行具体说明,监控后台中的流式处理模块消费打点数据流。对2-4步骤进行具体说明,监控后台将数据存储至关系型数据库。对2-5和2-6步骤进行具体说明,监控后台分类汇总模块从数据库获取数据,将其按照全局能力进行统计,并构建出各种图表模型以供WebUI前端页面进行直观的展示,从而及时分析出具体的原子能力瓶颈。
在本实施例中,将原子能力RPC列表过滤不需要采集的RPC信息,同时结合CAPIF框架中的接口发布可动态调整列表,极大地适应了CAPIF框架中的无需重新部署的能力调整。
本发明进一步提供一种基于全局能力的调用追踪装置。
参照图7,图7为本发明基于全局能力的调用追踪装置第一实施例的功能模块示意图。
本发明基于全局能力的调用追踪装置第一实施例中,该基于全局能力的调用追踪装置包括:
获取模块10,用于在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型。
可以理解的是,本实施例中的能力平台为CAPIF框架实现的,还可基于其他业务框架,本实施例对此不作限制,在本实施例中,以CAPIF框架为例进行说明,第三代合作伙伴计划3GPP针对5G网络能力开放,定义了一个通用的API框架CAPIF,对外提供了统一的北向接口,该框架主要由接口调用者、CAPIF核心功能、接口提供者组成。而在网络能力开放的概念中,接口提供者提供的API统称为原子能力,而全局能力则包含若干个原子能力组成并统一提供给北向API Invoker进行调用。本实施例依托于能力中台业务(使用了CAPIF框架),在实际的业务场景中,全局能力调用的流程比较复杂,一次完整的从北至南的调用可能无法体现一次全局能力调用的全貌,“一次”全局能力的调用可能包括多次正向调用、反回调等流程,现有传统的TraceId+Span的数据模型将无法满足所谓的“一次”全局能力调用。
在具体实现中,根据所述全局能力调用请求确定相应的业务类型,具体为提取全局调用关键字字段,根据全局调用关键字字段确定业务类型,业务类型可为呼叫业务类型,消息业务类型,还可为其他业务类型,本实施例对此不做限制,例如在全局调用中得到“message”关键字,则确定业务类型为消息业务,在全局调用中得到“call”关键字,则确定业务类型为呼叫业务,从而根据业务进行调用数据的分类,以提高数据处理的效率。
跟踪模块20,用于根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据。
在本实施例中,通过将调用过程涉及至少两个跟踪,包括一次正向调用与反向回调,统称为复杂跟踪ComplexTrace,从而使跟踪数据至少包括一次正向调用与反向回调,实现真正意义上的全局能力调用。
所述获取模块10,还用于根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪。
需要说明的是,为了实现复杂调用过程的打点数据模型的建立,对采集数据模型TraceId+Span进行改造,采用以ComplexTrace+TraceId+Span为骨架在原子能力调用的上下文中进行传递,成为全局能力调用全貌数据因子。以“一次”简单全局能力的调用为例进行说明,如图3所示的一次全局能力调用业务流程示意图,根据业务类型以及正向调用数据和反向回调数据得到全局能力调用全貌数据因子,通过全局能力调用全貌数据因子对数据进行标记,以实现全局能力调用的跟踪,其中,全局能力调用全貌数据因子包括对调用键值对,用InvokeKey和InvokeValue进行关联表示,还包括复杂API标识符,用ComplexApiId表示,还包括其他参数,本实施例仅以上述参数进行说明。通过全局能力调用全貌数据因子建立的新数据模型将很好地应对5G网络能力开放中的复杂多变的复合能力调用的行为监控,从而实现监控的有效性。
在具体实现中,基于能力中台业务CAPIF框架,集中优化了全局能力调用监控流程以及采集数据模型,辅以现有成熟的Filter+Aspect植入采集方式、Kafka消息中间件数据传输方式,Mysql关系型数据库数据存储方式,结合数据分析分类汇总,于WebUI上呈现出业务方所希望观察的全局能力调用的路径依赖以及耗时等,例如图4所示的能力调用监控系统整体流程示意图,整体能力调用监控与CAPIF框架业务相结合,总共分为三大块,图4中1-*,2-*,3-*箭头所指,其中1-*相关流程为能力调用业务的基本流程,2-*相关流程为全局能力调用监控的基本流程,3-*相关流程为动态原子能力接口发布的基本流程。
在本实施例中,通过在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪,从而根据正向调用数据和反向回调数据得到至少一次完整的全局能力的调用过程,在进行数据跟踪时,可更真实的反映业务调用流程,以提高在复杂业务场景进行调用追踪时的有效性。
在一实施例中,所述获取模块10,还用于根据所述业务类型确定调用节点标识以及对应的全局能力调用键值对;
根据所述正向调用数据和反向回调数据确定调用流程以及对应的业务参数;
根据所述调用节点标识、全局能力调用键值对、调用流程以及业务参数得到全局能力调用全貌数据因子。
在一实施例中,所述获取模块10,还用于根据所述正向调用数据和反向回调数据确定跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间;
根据所述跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间得到调用流程以及对应的业务参数。
在一实施例中,所述获取模块10,还用于在接收到全局能力调用请求时,提取所述全局能力调用请求中的远程调用参数;
根据所述远程调用参数通过原子能力远程调用列表进行过滤;
根据过滤后的全局能力调用请求确定相应的业务类型。
在一实施例中,所述获取模块10,还用于在接收到动态发布或者注销原子能力远程调用请求时,根据所述动态发布或者注销原子能力远程调用请求对所述原子能力远程调用列表进行更新,得到更新后的原子能力远程调用列表;根据所述远程调用参数通过更新后的原子能力远程调用列表进行过滤。
在一实施例中,所述获取模块10,还用于在接收到接口提供模块通知的动态发布或者注销原子能力远程调用信息时,根据所述动态发布或者注销原子能力远程调用信息生成动态发布或者注销原子能力远程调用请求,其中,所述接口提供模块通过服务器推送的方式进行通知。
在一实施例中,所述跟踪模块20,还用于将标记有所述全局能力调用全貌数据因子的打点数据生产至Kafka消息队列中间件,以通过所述Kafka消息队列中间件将所述打点数据发送至监控后台进行消费,以使所述监控后台将消费后的打点数据存储至关系型数据库,将所述关系型数据库中消费后的打点数据根据全局能力进行统计分析,并根据分析结果进行可视化展示。
此外,为实现上述目的,本发明还提出一种服务器,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于全局能力的调用追踪程序,所述基于全局能力的调用追踪程序配置为实现如上文所述的基于全局能力的调用追踪方法。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于全局能力的调用追踪程序,所述基于全局能力的调用追踪程序被处理器执行时实现如上文所述的基于全局能力的调用追踪方法。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个计算机可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台智能终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种基于全局能力的调用追踪方法,其特征在于,所述基于全局能力的调用追踪方法包括:
在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;
根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;
根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪,所述全局能力调用全貌数据因子包括对调用键值对,用InvokeKey和InvokeValue进行关联表示,还包括复杂API标识符,用ComplexApiId表示;
所述在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型,包括:
在接收到全局能力调用请求时,提取所述全局能力调用请求中的远程调用参数;
根据所述远程调用参数通过原子能力远程调用列表进行过滤,所述原子能力远程调用列表为记录有原子能力RPC名称、RPC调用路径以及RPC子参数的原子能力RPC列表,所述根据所述远程调用参数通过原子能力远程调用列表进行过滤,包括:通过查询原子能力远程调用列表可确定动态原子能力变化时可控的RPC调用,从而通过原子能力远程调用列表对RPC调用进行过滤;
根据过滤后的全局能力调用请求确定相应的业务类型。
2.如权利要求1所述的基于全局能力的调用追踪方法,其特征在于,所述根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,包括:
根据所述业务类型确定调用节点标识以及对应的全局能力调用键值对;
根据所述正向调用数据和反向回调数据确定调用流程以及对应的业务参数;
根据所述调用节点标识、全局能力调用键值对、调用流程以及业务参数得到全局能力调用全貌数据因子。
3.如权利要求2所述的基于全局能力的调用追踪方法,其特征在于,所述根据所述正向调用数据和反向回调数据确定调用流程以及对应的业务参数,包括:
根据所述正向调用数据和反向回调数据确定跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间;
根据所述跟踪标识、调用路径标识、数据采集模块名、原子能力的远程调用资源路径以及处理时间得到调用流程以及对应的业务参数。
4.如权利要求1所述的基于全局能力的调用追踪方法,其特征在于,所述根据所述远程调用参数通过原子能力远程调用列表进行过滤之前,还包括:
在接收到动态发布或者注销原子能力远程调用请求时,根据所述动态发布或者注销原子能力远程调用请求对所述原子能力远程调用列表进行更新,得到更新后的原子能力远程调用列表;
所述根据所述远程调用参数通过原子能力远程调用列表进行过滤,包括:
根据所述远程调用参数通过更新后的原子能力远程调用列表进行过滤。
5.如权利要求4所述的基于全局能力的调用追踪方法,其特征在于,所述在接收到动态发布或者注销原子能力远程调用请求时,根据所述动态发布或者注销原子能力远程调用请求对所述原子能力远程调用列表进行更新,得到更新后的原子能力远程调用列表之前,还包括:
在接收到接口提供模块通知的动态发布或者注销原子能力远程调用信息时,根据所述动态发布或者注销原子能力远程调用信息生成动态发布或者注销原子能力远程调用请求,其中,所述接口提供模块通过服务器推送的方式进行通知。
6.如权利要求1至5中任一项所述的基于全局能力的调用追踪方法,其特征在于,所述根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪之后,还包括:
将标记有所述全局能力调用全貌数据因子的打点数据生产至Kafka消息队列中间件,以通过所述Kafka消息队列中间件将所述打点数据发送至监控后台进行消费,以使所述监控后台将消费后的打点数据存储至关系型数据库,将所述关系型数据库中消费后的打点数据根据全局能力进行统计分析,并根据分析结果进行可视化展示。
7.一种基于全局能力的调用追踪装置,其特征在于,所述基于全局能力的调用追踪装置包括:
获取模块,用于在接收到全局能力调用请求时,根据所述全局能力调用请求确定相应的业务类型;
跟踪模块,用于根据所述业务类型对调用过程进行跟踪,以得到调用过程中的正向调用数据和反向回调数据;
所述获取模块,还用于根据所述业务类型以及所述正向调用数据和反向回调数据得到全局能力调用全貌数据因子,以根据所述全局能力调用全貌数据因子实现对全局能力调用的跟踪,所述全局能力调用全貌数据因子包括对调用键值对,用InvokeKey和InvokeValue进行关联表示,还包括复杂API标识符,用ComplexApiId表示;
所述获取模块,还用于在接收到全局能力调用请求时,提取所述全局能力调用请求中的远程调用参数;根据所述远程调用参数通过原子能力远程调用列表进行过滤,所述原子能力远程调用列表为记录有原子能力RPC名称、RPC调用路径以及RPC子参数的原子能力RPC列表;根据过滤后的全局能力调用请求确定相应的业务类型。
8.一种服务器,其特征在于,所述服务器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于全局能力的调用追踪程序,所述基于全局能力的调用追踪程序配置为实现如权利要求1至6中任一项所述的基于全局能力的调用追踪方法。
9.一种存储介质,其特征在于,所述存储介质上存储有基于全局能力的调用追踪程序,所述基于全局能力的调用追踪程序被处理器执行时实现如权利要求1至6中任一项所述的基于全局能力的调用追踪方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110670467.7A CN113268363B (zh) | 2021-06-16 | 2021-06-16 | 基于全局能力的调用追踪方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110670467.7A CN113268363B (zh) | 2021-06-16 | 2021-06-16 | 基于全局能力的调用追踪方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268363A CN113268363A (zh) | 2021-08-17 |
CN113268363B true CN113268363B (zh) | 2024-04-09 |
Family
ID=77235215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110670467.7A Active CN113268363B (zh) | 2021-06-16 | 2021-06-16 | 基于全局能力的调用追踪方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268363B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260475A (zh) * | 2015-10-30 | 2016-01-20 | 努比亚技术有限公司 | 一种数据查找方法、数据存储方法及相应装置 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
CN110912738A (zh) * | 2019-11-19 | 2020-03-24 | 支付宝(杭州)信息技术有限公司 | 一种业务异常的处理方法、装置、平台及电子设备 |
CN112099977A (zh) * | 2020-09-30 | 2020-12-18 | 浙江工商大学 | 一种分布式跟踪系统的实时数据分析引擎 |
CN112463562A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种全业务追踪实现方法、装置、设备及可读存储介质 |
CN112527410A (zh) * | 2020-12-17 | 2021-03-19 | 深圳市欢太科技有限公司 | 全链路跟踪方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9208090B2 (en) * | 2012-08-31 | 2015-12-08 | Silicon Graphics International Corp. | Transactional memory proxy |
-
2021
- 2021-06-16 CN CN202110670467.7A patent/CN113268363B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260475A (zh) * | 2015-10-30 | 2016-01-20 | 努比亚技术有限公司 | 一种数据查找方法、数据存储方法及相应装置 |
CN110245035A (zh) * | 2019-05-20 | 2019-09-17 | 平安普惠企业管理有限公司 | 一种链路跟踪方法及装置 |
CN110912738A (zh) * | 2019-11-19 | 2020-03-24 | 支付宝(杭州)信息技术有限公司 | 一种业务异常的处理方法、装置、平台及电子设备 |
CN112099977A (zh) * | 2020-09-30 | 2020-12-18 | 浙江工商大学 | 一种分布式跟踪系统的实时数据分析引擎 |
CN112463562A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种全业务追踪实现方法、装置、设备及可读存储介质 |
CN112527410A (zh) * | 2020-12-17 | 2021-03-19 | 深圳市欢太科技有限公司 | 全链路跟踪方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Dapper - a Large-Scale Distributed Systems Tracing Infrastructure;Benjamin H.Sigelman等;《Google Technical Report dapper》;第1-14页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113268363A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017386093B2 (en) | Sequence dependent operation processing of packet based data message transmissions | |
KR102023148B1 (ko) | 음성 기동 컴퓨터 네트워크 환경에서의 시퀀스 종속 데이터 메시지 통합 | |
CN103491135B (zh) | 自匹配数据格式的装置和方法 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
WO2017016084A1 (zh) | 告警信息通知方法、装置及告警信息过滤设备 | |
CN115033646B (zh) | 一种基于Flink&Doris构建实时数仓系统的方法 | |
CN114615096B (zh) | 基于事件驱动架构的电信计费方法、系统及相关设备 | |
CN108132868A (zh) | 一种数据监控方法、装置、计算设备及存储介质 | |
CN108664665A (zh) | 数据格式转化方法、装置、设备及可读存储介质 | |
CN101953188A (zh) | 一种业务管理平台下处理多渠道请求订购的方法和装置 | |
CN110232553A (zh) | 会议支援系统以及计算机可读取的记录介质 | |
CN101667932A (zh) | 一种网元设备日志管理的方法及系统 | |
CN111866882A (zh) | 一种基于生成对抗网络的移动应用流量生成方法 | |
CN113268363B (zh) | 基于全局能力的调用追踪方法、装置、服务器及存储介质 | |
WO2023169097A1 (zh) | 5g消息终端的识别方法、服务平台和存储介质 | |
CN105472101A (zh) | 远程求助的方法、主控移动智能终端和受控移动智能终端 | |
EP4439212A1 (en) | Vehicle state remote monitoring method and system | |
CN110989537A (zh) | 生产数据处理方法、设备、介质及系统 | |
CN110619080A (zh) | 可提高数据加载速率的实时数据显示系统及方法 | |
CN114201659A (zh) | 一种消息轨迹传输查询方法、装置及系统 | |
CN113298106A (zh) | 一种样本生成方法、装置、服务器及存储介质 | |
CN201371835Y (zh) | 一种轨道交通集中告警管理系统 | |
CN112687267A (zh) | 一种物联网数据语义处理系统 | |
CN109872135A (zh) | 一种基于elk的政务服务数据分析方法 | |
WO2023213288A1 (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 |