CN115292058A - 一种业务场景级别服务拓扑生成方法、装置及电子设备 - Google Patents
一种业务场景级别服务拓扑生成方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115292058A CN115292058A CN202210754172.2A CN202210754172A CN115292058A CN 115292058 A CN115292058 A CN 115292058A CN 202210754172 A CN202210754172 A CN 202210754172A CN 115292058 A CN115292058 A CN 115292058A
- Authority
- CN
- China
- Prior art keywords
- interface
- service
- topology
- target interface
- graph
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 claims description 19
- 238000004458 analytical method Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 12
- 239000000523 sample Substances 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 14
- 241000475481 Nebula Species 0.000 description 13
- 230000000694 effects Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种业务场景级别服务拓扑生成方法、装置及电子设备,所述方法包括:根据调用关系事件生成接口级别的拓扑关系图;配置需要生成拓扑的目标接口,并为目标接口在图空间里创建独立的边类型;获取新调用关系事件的调用接口,判断调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。本发明通过调用关系事件进行流式处理即可直接、快速的生成业务场景级别服务拓扑,排除了其他业务调用关系的干扰,避免在复杂的全局服务拓扑中扫描分析目标接口的全量Trace,有效提高业务场景级别服务拓扑的生成效率、节约生成时间。
Description
技术领域
本发明涉及分布式链路追踪技术领域,具体而言,涉及一种业务场景级别服务拓扑生成方法、装置、电子设备及计算机可读介质。
背景技术
微服务架构将应用程序分解为一组细粒度的服务,每个服务可以独立开发、独立部署、独立扩缩容。工业微服务系统往往包含数百至数千个微服务,每个微服务又有多个动态变化的服务实例。这使得微服务系统运行时环境具有高度的复杂性和动态性。为了观察微服务系统的运行状况、及时发现及定位系统运行时问题,可观测性技术在微服务系统得到了广泛应用。
其中:分布式链路追踪作为一种常用的观测技术,将一次分布式请求的服务调用情况还原成调用链路,从而绘制全局的服务拓扑。比如有服务集合S={a,b,c,d,e},服务提供的接口集合E={1,2,3,4,5,6,7,8},且服务与接口的关系如下:
服务a包含接口:E(a)={1,2,3};
服务b包含接口:E(b)={4,5};
服务c包含接口:E(c)={6};
服务d包含接口:E(d)={7};
服务e包含接口:E(e)={8}。
通过现有分布式链路追踪分析出各个服务接口的调用关系事件,通过调用关系事件得到服务在处理自身某接口时对另一个服务接口的调用关系如下:
a1→b4;
b4→d7;
a2→b5;
b5→e8;
a3→c6。
根据以上接口调用关系可以生成全局的服务拓扑如图1所示,该全局服务拓扑以服务为节点,服务之间的接口调用为边,从而展现出所有服务之间的接口调用关系。
在某些业务场景中,只想知道核心业务接口的调用情况,比如只想了解上述服务a在处理接口2时经过的服务拓扑,即a→b→e,与服务d与c无关。而图1的全局服务拓扑中所有服务是相依赖、相互干扰的,无法直接准确获知服务a在处理接口2时经过的服务拓扑,这就需要扫描接口2的全量Trace来获取这个拓扑关系,这显然需要耗费很大的工作量。因此,现有的全局服务拓扑无法快速、直接识别某个业务场景下接口级别的拓扑关系,难以满足对核心业务接口的调用情况的分析需求。
发明内容
有鉴于此,本发明主要目的在于提出一种业务场景级别服务拓扑生成方法、装置、电子设备及计算机可读介质,以期至少部分地解决上述技术问题中的至少之一。
为了解决上述技术问题,本发明第一方面提出一种业务场景级别服务拓扑生成方法,所述方法包括:
根据调用关系事件生成接口级别的拓扑关系图;
配置需要生成拓扑的目标接口,并为所述目标接口在图空间里创建独立的边类型;
获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;
若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
根据本发明一种优选实施方式,在图数据库中为所述目标接口在图空间里创建独立的边类型。
根据本发明一种优选实施方式,所述将所述可达路径对应的关系写入为所述目标接口创建的边类型包括:
将所述可达路径转换为目标接口的边类型,得到拓扑边;
将所述拓扑边写入为所述目标接口创建的边类型。
根据本发明一种优选实施方式,根据调用关系事件生成接口级别的拓扑关系图之前,所述方法还包括:
通过SkyWalking探针技术采集数据;
分析所采集的数据得到调用关系事件。
根据本发明一种优选实施方式,所述方法还包括:
接收图数据库的查询语句;
根据所述查询语句查找并展示对应的业务场景级别服务拓扑。
为解决上述技术问题,本发明第二方面提供一种业务场景级别服务拓扑生成装置,所述装置包括:
第一生成模块,用于根据调用关系事件生成接口级别的拓扑关系图;
配置模块,用于配置需要生成拓扑的目标接口,并为所述目标接口在图空间里创建独立的边类型;
分析模块,用于获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;
第二生成模块,用于若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
根据本发明一种优选实施方式,所述配置模块在图数据库中为所述目标接口在图空间里创建独立的边类型。
根据本发明一种优选实施方式,所述第二生成模块包括:
转换模块,用于将所述可达路径转换为目标接口的边类型,得到拓扑边;
写入模块,用于将所述拓扑边写入为所述目标接口创建的边类型。
根据本发明一种优选实施方式,所述装置还包括:
采集模块,用于通过SkyWalking探针技术采集数据;
子分析模块,用于分析所采集的数据得到调用关系事件。
根据本发明一种优选实施方式,所述装置还包括:
接收模块,用于接收图数据库的查询语句;
展示模块,用于根据所述查询语句查找并展示对应的业务场景级别服务拓扑。
为解决上述技术问题,本发明第三方面提供一种电子设备,包括:
处理器;以及
存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行上述的方法。
为解决上述技术问题,本发明第四方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现上述方法。
本发明根据调用关系事件生成接口级别的拓扑关系图;根据需要快速配置需要生成拓扑的目标接口,并为目标接口在图空间里创建独立的边类型;在有新的调用关系事件时,判断新调用关系事件的调用接口与目标接口在所述接口级别的拓扑关系图上是否存在可达路径;若存在,将可达路径对应的关系写入为所述目标接口创建的边类型,从而生成业务场景级别服务拓扑。本发明通过对源源不断的调用关系事件进行流式处理即可直接、快速的生成业务场景级别服务拓扑,排除了其他业务调用关系的干扰,避免在复杂的全局服务拓扑中扫描目标接口的全量Trace,有效提高业务场景级别服务拓扑的生成效率、节约生成时间,从而满足对核心业务接口的调用情况进行实时分析的需求。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是现有分布式链路追踪技术生成的全局服务拓扑的结构示意图;
图2是本发明实施例一种业务场景级别服务拓扑生成方法所采用的系统架构的结构框架示意图;
图3是本发明实施例一种业务场景级别服务拓扑生成方法的流程示意图;
图4是本发明实施例根据图1所示的全局服务拓扑对应的调用关系事件生成的接口级别服务拓扑的结构示意图;
图5a是本发明实施例根据图1所示的全局服务拓扑对应的调用关系事件生成服务a接口1对应的业务场景级别服务拓扑的结构示意图;
图5b是本发明实施例根据图1所示的全局服务拓扑对应的调用关系事件生成服务a接口2对应的业务场景级别服务拓扑的结构示意图;
图5c是本发明实施例根据图1所示的全局服务拓扑对应的调用关系事件生成服务a接口3对应的业务场景级别服务拓扑的结构示意图;
图6是本发明实施例一种业务场景级别服务拓扑生成装置的结构框架示意图;
图7是根据本发明的一种电子设备的示例性实施例的结构框图;
图8是本发明一种计算机可读介质实施例的示意图。
具体实施方式
现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
本发明提供的一种业务场景级别服务拓扑生成方法应用于图2所示的系统架构中,该系统架构不同于现有以Java应用为主的服务所采用的现有架构,在现有架构中,链路采集的方式采用Java Agent字节码探针技术,采集的数据通过gRPC方式统一上送到后端的OAP服务。OAP服务对上送的数据做计算,生成相应的Trace数据,Metrics数据,Topology等数据后持久化到分析引擎Elasticsearch中。而本发明的系统架构中:通过多个代理服务器采集多个服务(比如服务A、服务B等)的服务数据,采用OAP(切面编程)的Metrics Exporter功能通过gRPC方式将数据转发到bridge服务上,然后将数据直接上报到图数据库NebulaGraph,由图数据库Nebula Graph解析调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径后,将可达路径持久化到图数据库Nebula Graph的图空间中,进而生成业务场景级别服务拓扑。此外,OAP也可以将数据发送到分析引擎Elasticserch中对数据进行相应的分析处理,以支持对数据的其他分析任务。
请参阅图3,图3是本发明提供的一种业务场景级别服务拓扑生成方法,如图3所示,所述方法包括:
S1、根据调用关系事件生成接口级别的拓扑关系图;
本实施例中,调用关系事件用于描述服务在处理自身某接口时对另一个服务接口的调用关系。比如某个调用关系事件描述:服务a的接口1对于服务b的接口4的调用关系,可以记为:a1→b4。在本步骤之前,可以通过OpenTracing数据模型,或者SkyWalking探针技术来获取该调用关系事件。
在SkyWalking追踪模型中:Trace表示一个完整请求链路;Span表示一次调用过程(需要有开始时间和结束时间);相同线程的Span集合为一个Segment,每个Segment入口的Span会记录关联上一个Segment,使得整个请求形成了完整的Trace。SkyWalking追踪模型将Segment上送到后端AOP服务,而不需要将每个Span都走网络请求向AOP上送一次。比如:一次请求经历了A、B、C三个服务则会产生三个Segement,而服务B内部处理时有一部分逻辑做了异步处理,在异步线程了生成Span最后也会产生一个Segment上送到后端,即这一次请求产生了4个Segment,入口的Span会记录关联上一个Segment,使得整个请求形成了完整的Trace。
基于此,在本步骤之前,可以先基于SkyWalking追踪模型的自动探针技术对应用进行埋点,通过SkyWalking探针技术采集相同线程的Segment数据,再分析所述Segment数据,得到调用关系事件。
本实施例中,接口级别的拓扑关系图用于反映一个请求在各个接口之间的调用关系,示例性的,可以以接口为节点,接口之间的调用为边构成接口级别的拓扑关系图。则根据图1所示的全局服务托对应的调用关系事件可以得到图4所示的接口级别的服务拓扑;在该接口级别的服务拓扑中,存在三条接口调用链:接口1调用了接口4、接口4调用了接口7;接口2调用了接口5、接口5调用了接口8;接口3调用了接口6。
此外,在执行本发明的所有步骤之前,需要先建立一个图空间,以便后续在该图空间中生成业务场景级别服务拓扑。
S2、配置需要生成拓扑的目标接口,并为所述目标接口在图空间里创建独立的边类型;
本实施例中,可以选择一种数据工具,在该数据工具中建立一个图空间,配置目标接口,并为目标接口在图空间里创建独立的边类型,通过将可达路径写入为所述目标接口创建的边类型,最终将业务场景级别服务拓扑存储于该数据工具中,方便查询。示例性的,上述数据工具可以采用分析引擎Elasticserch,也可以采用图数据库Nebula Graph。
考虑到对目标接口的灵活配置、最终生成的业务场景级别服务拓扑的数据形态为图结构,步骤3中可达路径的分析,以及在微服务架构中会产生大量流式调用关系事件,需要进行秒级存储,同时,还要方便对已生成的业务场景级别服务拓扑的查询,本实施例优选采用图数据库Nebula Graph,在图数据库Nebula Graph建立一个独立的图空间,配置目标接口,并为目标接口在图空间里创建独立的边类型,从而实现灵活配置的业务场景级别服务拓扑的生成和存储。
其中:Nebula Graph是一个使用图结构进行语义查询的数据库。图结构在形式上是点(Node或者Vertex)和边(Edge或者Relationship)的集合。在Nebula Graph中:图空间(space)用于隔离不同团队或者项目的数据;不同图空间的数据是相互隔离的,可以指定不同的存储副本数、权限、分片等。点(vertex)用来保存实体对象,并通过点标识符(VID)标识,VID在同一图空间中唯一。边(edge)用来连接点的,通常通过起点VID、边类型(edgetype)、边排序值(rank)、终点VID来唯一标识一条边。其中:边类型(edge type)由一组事先预定义的属性构成。
本实施例中,可以在图数据库Nebula Graph配置目标服务ID、目标接口ID、并为目标接口在图空间里创建独立的边类型。这样,每个目标接口都有独立的边类型来存储数据,从而保证对于每个目标接口生成的业务场景级别服务拓扑相互独立,互不干扰。其中:ID可以采用具体名称,也可采用唯一标识符,边类型可以通过一组唯一的配置编码来配置。比如对于目标接口2可以在Nebula Graph中进行如下配置:
目标服务ID:a;目标接口ID:2;配置编码:xxx(对应的EdgeType为service_biz_relation_xxx)。
S3、获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;
其中:调用关系事件是实时持续不断发生的,因此,本实施例能够采用上报数据产生的调用关系事件进行流式分析,每次获取到新调用关系事件调用方的调用接口后,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径,即:在所述接口级别的拓扑关系图上调用接口与目标接口是否存在连接边。具体的,可以采用Nebula Graph的FIND PATH语法进行判断。
S4、若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
本步骤中,一旦发现新的调用关系事件有可达路径,会根据可达路径向目标接口的边类型传入新的边,并保证新边的边类型与目标接口的边类型是相同的,比如新边的配置编码与目标接口的配置编码一一对应。
示例性的,在Nebula Graph中,所述将所述可达路径对应的关系写入为所述目标接口创建的边类型包括:
S41、将所述可达路径转换为目标接口的边类型,得到拓扑边;
比如:采用与目标接口相同的配置编码来描述所述可达路径的属性构成。
S42、将所述拓扑边写入为所述目标接口创建的边类型。
具体的,在图空间中写入业务拓扑边,连接对应的服务。最终,通过源源不断的调用关系事件生成业务场景级别服务拓扑。
图5a是根据图1所示的全局服务拓扑对应的调用关系事件得到服务a接口1对应的业务场景级别服务拓扑;图5b是根据图1所示的全局服务拓扑对应的调用关系事件得到服务a接口2对应的业务场景级别服务拓扑;图5c是根据图1所示的全局服务拓扑对应的调用关系事件得到服务a接口3对应的业务场景级别服务拓扑。这种业务场景级别服务拓扑排除了其他业务调用关系的干扰,避免全局复杂拓扑关系,并且无需批量分析trace数据,通过对源源不断的调用关系事件进行流式处理即可得到。
如果所述调用接口与所述目标接口在所述接口级别的拓扑关系图上不存在可达路径,则可以丢弃该调用接口对应的新调用关系事件。
通过上述步骤S1~S4生成业务场景级别服务拓扑之后,还可以使用Nebula Graph的图查询语句查询目标接口的服务拓扑,进而根据该目标接口的服务拓扑对目标接口的调用关系进行优化,或者对目标接口的运行故障进行分析。因此,该方法还可以包括:
S5、接收图数据库Nebula Graph的查询语句;
S6、根据所述查询语句查找并展示对应的业务场景级别服务拓扑。
示例性的,所述查询语句可以根据业务边来遍历各个业务场景级别服务拓扑,从而查找到对应的业务场景级别服务拓扑。在展示过程中,可以根据查询结果的关联度的大小依次进行展示,或者将关联度大于阈值的查询结果进行显著展示,比如以不同颜色进行展示。
本发明结合SkyWalking探针技术对应用进行埋点,又充分利用了图数据库NebulaGraph的存储查询优势,实现了灵活配置的目标接口、以轻量级流式处理方式生成接口级别服务拓扑,从而保证业务可以快速定义入口,生成对应的业务级别拓扑关系,协助对业务进行架构优化,及生产问题排查辅助分析。
图6是本发明一种业务场景级别服务拓扑生成装置,如图6所示,所述装置包括:
第一生成模块61,用于根据调用关系事件生成接口级别的拓扑关系图;
配置模块62,用于配置需要生成拓扑的目标接口,并为所述目标接口在图空间里创建独立的边类型;
分析模块63,用于获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;
第二生成模块64,用于若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
在一种实施方式中,所述配置模块62在图数据库中为所述目标接口在图空间里创建独立的边类型。
所述第二生成模块64包括:
转换模块,用于将所述可达路径转换为目标接口的边类型,得到拓扑边;
写入模块,用于将所述拓扑边写入为所述目标接口创建的边类型。
进一步的,所述装置还包括:
采集模块,用于通过SkyWalking探针技术采集数据;
子分析模块,用于分析所采集的数据得到调用关系事件。
接收模块,用于接收图数据库的查询语句;
展示模块,用于根据所述查询语句查找并展示对应的业务场景级别服务拓扑。
本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的实体形式的实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图7是根据本发明的一种电子设备的示例性实施例的结构框图。图7显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,该示例性实施例的电子设备700以通用数据处理设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同电子设备组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元720存储有计算机可读程序,其可以是源程序或都只读程序的代码。所述程序可以被处理单元710执行,使得所述处理单元710执行本发明各种实施方式的步骤。例如,所述处理单元710可以执行如图3所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作电子设备、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备100(例如键盘、显示器、网络设备、蓝牙设备等)通信,使得用户能经由这些外部设备100与该电子设备700交互,和/或使得该电子设备700能与一个或多个其它数据处理设备(例如路由器、调制解调器等等)进行通信。这种通信可以通过输入/输出(I/O)接口750进行,还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)进行。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图7中未示出,电子设备700中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID电子设备、磁带驱动器以及数据备份存储电子设备等。
图8是本发明的一个计算机可读介质实施例的示意图。如图8所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的电子设备、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:根据调用关系事件生成接口级别的拓扑关系图;配置需要生成拓扑的目标接口,并为所述目标接口创建独立的图空间;获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台数据处理设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行电子设备、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语音的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语音包括面向对象的程序设计语音—诸如Java、C++等,还包括常规的过程式程序设计语音—诸如“C”语音或类似的程序设计语音。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以执行计算机程序的方法、装置、电子设备或计算机可读介质来实现。可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现本发明的一些或者全部功能。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种业务场景级别服务拓扑生成方法,其特征在于,所述方法包括:
根据调用关系事件生成接口级别的拓扑关系图;
配置需要生成拓扑的目标接口,并为所述目标接口在图空间里创建独立的边类型;
获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;
若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
2.根据权利要求1所述的方法,其特征在于,在图数据库中为所述目标接口在图空间里创建独立的边类型。
3.根据权利要求2所述的方法,其特征在于,所述将所述可达路径对应的关系写入为所述目标接口创建的边类型包括:
将所述可达路径转换为目标接口的边类型,得到拓扑边;
将所述拓扑边写入为所述目标接口创建的边类型。
4.根据权利要求2所述的方法,其特征在于,根据调用关系事件生成接口级别的拓扑关系图之前,所述方法还包括:
通过SkyWalking探针技术采集数据;
分析所采集的数据得到调用关系事件。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收图数据库的查询语句;
根据所述查询语句查找并展示对应的业务场景级别服务拓扑。
6.一种业务场景级别服务拓扑生成装置,其特征在于,所述装置包括:
第一生成模块,用于根据调用关系事件生成接口级别的拓扑关系图;
配置模块,用于配置需要生成拓扑的目标接口,并为所述目标接口在图空间里创建独立的边类型;
分析模块,用于获取新调用关系事件的调用接口,判断所述调用接口与所述目标接口在所述接口级别的拓扑关系图上是否存在可达路径;
第二生成模块,用于若存在,将所述可达路径对应的关系写入为所述目标接口创建的边类型,生成业务场景级别服务拓扑。
7.根据权利要求6所述的装置,其特征在于,所述配置模块在图数据库中为所述目标接口在图空间里创建独立的边类型。
8.根据权利要求7所述的装置,其特征在于,所述第二生成模块包括:
转换模块,用于将所述可达路径转换为目标接口的边类型,得到拓扑边;
写入模块,用于将所述拓扑边写入为所述目标接口创建的边类型。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
采集模块,用于通过SkyWalking探针技术采集数据;
子分析模块,用于分析所采集的数据得到调用关系事件。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收图数据库的查询语句;
展示模块,用于根据所述查询语句查找并展示对应的业务场景级别服务拓扑。
11.一种电子设备,包括:
处理器;以及
存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行根据权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210754172.2A CN115292058A (zh) | 2022-06-28 | 2022-06-28 | 一种业务场景级别服务拓扑生成方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210754172.2A CN115292058A (zh) | 2022-06-28 | 2022-06-28 | 一种业务场景级别服务拓扑生成方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292058A true CN115292058A (zh) | 2022-11-04 |
Family
ID=83820019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210754172.2A Pending CN115292058A (zh) | 2022-06-28 | 2022-06-28 | 一种业务场景级别服务拓扑生成方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292058A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904520A (zh) * | 2023-03-13 | 2023-04-04 | 珠海星云智联科技有限公司 | 基于pcie拓扑状态变更的配置保存方法及相关设备 |
CN117453280A (zh) * | 2023-09-12 | 2024-01-26 | 湖南长银五八消费金融股份有限公司 | 一种代码拓扑和业务拓扑生成方法、装置、设备及介质 |
CN117675593A (zh) * | 2023-12-05 | 2024-03-08 | 北京安普诺信息技术有限公司 | 基于代码疫苗iast探针的应用拓扑构建方法及装置 |
-
2022
- 2022-06-28 CN CN202210754172.2A patent/CN115292058A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904520A (zh) * | 2023-03-13 | 2023-04-04 | 珠海星云智联科技有限公司 | 基于pcie拓扑状态变更的配置保存方法及相关设备 |
CN115904520B (zh) * | 2023-03-13 | 2023-06-06 | 珠海星云智联科技有限公司 | 基于pcie拓扑状态变更的配置保存方法及相关设备 |
CN117453280A (zh) * | 2023-09-12 | 2024-01-26 | 湖南长银五八消费金融股份有限公司 | 一种代码拓扑和业务拓扑生成方法、装置、设备及介质 |
CN117453280B (zh) * | 2023-09-12 | 2024-05-14 | 湖南长银五八消费金融股份有限公司 | 一种代码拓扑和业务拓扑生成方法、装置、设备及介质 |
CN117675593A (zh) * | 2023-12-05 | 2024-03-08 | 北京安普诺信息技术有限公司 | 基于代码疫苗iast探针的应用拓扑构建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665228B (zh) | 一种关联信息查询方法、终端及设备 | |
CN115292058A (zh) | 一种业务场景级别服务拓扑生成方法、装置及电子设备 | |
JP5775599B2 (ja) | コードクローン検出を用いたインテリジェントコード差分処理 | |
US10185644B2 (en) | Service implementation based debugger for service oriented architecture projects | |
US8954928B2 (en) | Version labeling in a version control system | |
CN111124379B (zh) | 页面生成方法、装置、电子设备及存储介质 | |
US9965252B2 (en) | Method and system for generating stateflow models from software requirements | |
CN111078729A (zh) | 医疗数据溯源方法、装置、系统、存储介质以及电子设备 | |
CN113312377A (zh) | 一种自动关联的sql查询语句处理方法、装置和电子设备 | |
US11573790B2 (en) | Generation of knowledge graphs based on repositories of code | |
CN116244387A (zh) | 实体关系构建方法、装置、电子设备及存储介质 | |
JP2010140408A (ja) | ソースコード変換装置 | |
CN112270176B (zh) | 深度学习框架中模式转换的方法、装置和计算机存储介质 | |
CN111221841A (zh) | 基于大数据的实时处理方法及装置 | |
CN113141407B (zh) | 一种页面资源加载方法、装置和电子设备 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
US20190317877A1 (en) | Application state monitoring | |
CN112286802B (zh) | 一种测试程序性能方法、装置和电子设备 | |
US11995562B2 (en) | Integrating documentation knowledge with log mining for system diagnosis | |
Kumar et al. | Code clone detection and analysis using software metrics and neural network-a literature review | |
CN113806225A (zh) | 一种业务异常节点识别方法、装置和电子设备 | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
CN109062797B (zh) | 生成信息的方法和装置 | |
US20210157881A1 (en) | Object oriented self-discovered cognitive chatbot | |
CN110908896A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 1109, No. 4, Lane 800, Tongpu Road, Putuo District, Shanghai, 200062 Applicant after: Shanghai Qiyue Information Technology Co.,Ltd. Address before: Room a2-8914, 58 Fumin Branch Road, Hengsha Township, Chongming District, Shanghai, 201500 Applicant before: Shanghai Qiyue Information Technology Co.,Ltd. Country or region before: China |