CN112199276B - 微服务架构的变更检测方法、装置、服务器及存储介质 - Google Patents

微服务架构的变更检测方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN112199276B
CN112199276B CN202011017439.7A CN202011017439A CN112199276B CN 112199276 B CN112199276 B CN 112199276B CN 202011017439 A CN202011017439 A CN 202011017439A CN 112199276 B CN112199276 B CN 112199276B
Authority
CN
China
Prior art keywords
service
determining
component
change
calling
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
CN202011017439.7A
Other languages
English (en)
Other versions
CN112199276A (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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202011017439.7A priority Critical patent/CN112199276B/zh
Publication of CN112199276A publication Critical patent/CN112199276A/zh
Application granted granted Critical
Publication of CN112199276B publication Critical patent/CN112199276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例公开了一种微服务架构的变更检测方法、装置、服务器及存储介质。该方法包括:确定各组件的版本变更前后出现差异的目标代码行,获取包含目标代码行的目标组件的组件标识;根据目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,对应关系用于表示组件、服务和代码行之间的包含关系;确定标识信息对应的服务变更对目标组件的调用链路的影响状态。本发明实施例通过对比版本变化前后的代码差异,确定发生变化的代码行,基于组件、服务和代码行的对应关系,确定服务的变更以及服务变更对目标组件的调用链路的影响状态,实现了精准识别新版本的变更服务,以及从全局视角分析该变更服务的影响。

Description

微服务架构的变更检测方法、装置、服务器及存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种微服务架构的变更检测方法、装置、服务器及存储介质。
背景技术
随着微服务和敏捷研发模式的盛行,各个互联网公司、商业银行等头部IT企业基本都转向了多项目组协同开发的分布式、频繁迭代的研发模式。这种研发模式有很多优点,比如可以更快速灵活的响应外部市场环境的变化,更早的交付客户价值,微服务松耦合的开发部署方式使得每一个组件可以由不同的团队、不同的编程语言独立进行开发和部署、降低了单个组件的复杂度等等。
在传统瀑布研发模式下,变更控制流程由变更申请、变更方案审核、变更实施、变更影响分析、变更验证等环节严格的控制来保证变更后的系统行为可控且符合设计者预期的行为,尽可能的消除变更给系统带来的不确定性和风险。
但是,在微服务架构下客户视角下一个完整的业务功能和流程,会调用由很多团队开发的不同服务,没有人可以从全局视角分析单个服务的变更影响,任何一个微小的变更往往会给整体的系统的行为带来不可控的巨大风险。因此,如何识别变更服务以及从全局视角分析该变更服务的影响成为亟待解决的问题。
发明内容
本发明提供一种微服务架构的变更检测方法、装置、服务器及存储介质,以实现精准识别新版本的变更服务,以及从全局视角分析该变更服务的影响。
第一方面,本发明实施例提供了一种微服务架构的变更检测方法,包括:
确定各组件的版本变更前后出现差异的目标代码行,获取包含所述目标代码行的目标组件的组件标识;
根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,所述对应关系用于表示组件、服务和代码行之间的包含关系;
确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态。
第二方面,本发明实施例还提供了一种微服务架构的变更检测装置,包括:
代码行确定模块,用于确定各组件的版本变更前后出现差异的目标代码行,获取包含所述目标代码行的目标组件的组件标识;
服务标识确定模块,用于根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,所述对应关系用于表示组件、服务和代码行之间的包含关系;
影响状态确定模块,用于确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态。
第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的微服务架构的变更检测方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例提供的微服务架构的变更检测方法。
本发明实施例通过确定各组件的版本变更前后出现差异的目标代码行,获取包含目标代码行的目标组件的组件标识,根据目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,确定该标识信息对应的服务变更对该目标组件的调用链路的影响状态。本发明实施例通过对比版本变化前后的代码差异,确定发生变化的代码行,并基于组件、服务和代码行的对应关系,根据代码行的变更确定其所属服务的变更,进而确定服务变更对目标组件的调用链路的影响状态,实现了精准识别新版本的变更服务,以及从全局视角分析该变更服务的影响。
附图说明
图1是本发明实施例一提供的一种微服务架构的变更检测方法的流程图;
图2是本发明实施例二提供的另一种微服务架构的变更检测方法的流程图;
图3是本发明实施例三提供的一种微服务架构的变更检测装置的结构示意图;
图4为本发明实施例四提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种微服务架构的变更检测方法的流程图,本实施例可适用于微服务架构下组件版本变更的情况,该方法可以由微服务架构的变更检测装置来执行,该装置可以采用软件和/或硬件的方式实现。该装置可配置于服务器中。如图1所示,该方法包括:
步骤S101、确定各组件的版本变更前后出现差异的目标代码行,获取包含目标代码行的目标组件的组件标识。
组件的版本变更可以是组件内部源代码发生改变,用于将旧版本的系统更新至新版本的系统,例如,可以是变更组件中某些代码行。一个完整的系统中可以包括多个组件,各个组件可以由不同的团队进行开发。组件是对数据和方法的封装,例如业务组件是对相关数据和方法的封装,可以提供多个业务功能。服务是组件暴露在外部的接口,用于和其他组件相互调用。一个组件可以有0个、1个或多个服务,不同的组件之间可以通过服务进行相互调用。当组件的版本变更时,内部源代码发生改变,组件内的服务也可能发生改变。
目标代码行可以是变更后组件的源代码与变更前该组件的源代码相比,出现差异的代码行,用于确定组件的版本变更时的变更点。
目标组件可以是包含目标代码行的组件,用于确定发生版本变更的组件。组件标识用于唯一标识目标组件,例如,可以是组件的名称或物理地址等。
具体地,服务器比对各组件的版本变更前后的源代码,确定各组件的源代码中在版本变更前后出现差异的目标代码行,获取包含目标代码行的目标组件的组件标识。比对各组件的版本变更前后的源代码可以通过代码比较工具进行比对,例如,BeyondCompare、版本控制系统(subversion,SVN)或其他可以用于比对源代码的工具。
步骤S102、根据目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息。
其中,对应关系用于表示组件、服务和代码行之间的包含关系。代码行发生变更,可以导致该代码行所属的服务发生变更。服务发生变更,可以导致该服务所属的组件发生变更。发生变更的代码行与其所属的服务之间存在对应关系,该服务与其所属的组件之间存在对应关系,因此,组件、服务和代码行之间存在对应关系。
服务的标识信息用于唯一标识服务,例如,可以是服务的名称或物理地址等。
具体地,预先建立组件、服务和代码行的对应关系,服务器根据目标代码行和组件标识,在预先建立的对应关系中查询该目标代码行与其所属的服务和组件之间的对应关系,得到该目标代码行所属的服务的标识信息。也就是说,通过预先建立组件、服务和代码行之间的对应关系,根据代码行的变更确定代码行所属的服务的变更。
步骤S103、确定标识信息对应的服务变更对目标组件的调用链路的影响状态。
目标组件的调用链路用于确定目标组件内的各个服务与其他组件的服务之间的调用关系。若目标组件内的服务发生变更,且该服务在目标组件的调用链路中,该服务的变更会对目标组件的调用链路产生影响。
具体地,服务器根据标识信息确定发生变更的服务,根据该发生变更的服务与目标组件的调用链路,确定服务变更对目标组件的调用链路的影响状态。例如,若该发生变更的服务位于目标组件的调用链路中,说明该服务的变更可以对目标组件内与该服务相关的调用关系产生影响,进而说明该服务的变更对目标组件的调用链路产生影响。统计在受影响的调用连路中,与该变更的服务存在直接或间接调用关系的服务的数量,根据该数量确定服务变更对目标组件的调用链路的影响程度。如果数量越大,则确定服务变更对目标组件的调用链路的影响程度越大。对于不包含该发生变更的服务的组件的调用链路中,服务的变更不会对组件的调用链路产生影响。
本发明实施例通过确定各组件的版本变更前后出现差异的目标代码行,获取包含目标代码行的目标组件的组件标识,根据目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,确定该标识信息对应的服务变更对该目标组件的调用链路的影响状态。本发明实施例通过对比版本变化前后的代码差异,确定发生变化的代码行,并基于组件、服务和代码行的对应关系,根据代码行的变更确定其所属服务的变更,进而确定服务变更对目标组件的调用链路的影响状态,实现了精准识别新版本的变更服务,以及从全局视角分析该变更服务的影响。
实施例二
图2是本发明实施例二提供的另一种微服务架构的变更检测方法的流程图,本实施例在上述实施例的基础上进行优化,如图2所示,该方法包括:
步骤S201、比对各组件的相邻版本的源代码,根据比对结果确定版本变更前后出现差异的目标代码行。
示例性地,各组件的相邻版本包括第一版本和第二版本,其中,第二版本是在第一版本的基础上进行更新。服务器比对各组件的第一版本和第二版本的源代码,根据比对结果确定第二版本与第一版本的源代码中出现差异的代码行A60,将该代码行作为目标代码行。通过比对各组件的相邻版本的源代码,能够识别不同版本之间的源代码变更差异。
步骤S202、根据组件、服务和代码行的对应关系,确定组件标识对应的目标组件包含的各服务,以及各服务对应的代码行的行号。
具体地,根据预先建立的组件、服务和代码行的对应关系,服务器确定组件标识对应的目标组件,根据目标组件确定目标组件包含的各服务,以及各服务对应的代码行的行号。
示例性地,服务器获取的组件标识是客户信息,记为a,该组件标识a对应的目标组件是客户信息管理,记为A。客户信息管理具有查询、添加和删除三个服务,分别记为A1、A2和A3。每个服务都具有多行代码。根据预先建立的组件A、服务A1、A2、A3和各服务的代码行,确定目标组件A包含的各服务A1、A2和A3,以及各服务A1、A2和A3对应的代码行的行号。
可选地,将各组件的源代码以行为单位进行标号,根据组件与服务的对应关系,确定各服务对应的代码行的行号。
示例性地,将组件A的源代码以行为单位进行标号,得到组件A包括代码行A1至A1000,其中,A1至A1000表示代码行的行号。将组件B的源代码以行为单位进行标号,得到组件B包括代码行B1至B1200,其中,B1至B1200表示代码行的行号。进一步,组件A包括服务A1、A2和A3,A1对应的代码行是A50至A100,A2对应的代码行是A150至A300,A3对应的代码行是A800至A900。组件B包括服务B1和B2,B1对应的代码行是B50至B100,A2对应的代码行是B550至B700。
步骤S203、根据目标代码行的行号匹配各服务对应的代码行的行号,得到发生变更的服务的标识信息。
具体地,服务器根据目标代码行的行号匹配各服务对应的代码行的行号,当目标代码行的行号与各服务对应的代码行的行号匹配成功,说明匹配成功的代码行所属的服务发生变更,进而得到具体变更的服务的标识信息。
示例性地,根据目标代码行的行号A60匹配各服务对应的代码行的行号,确定目标代码行的行号与服务A1对应的代码行A50至A100的行号A60匹配成功,说明该目标代码行位于服务A1内,即服务A1发生变更,服务器获取服务A1的标识信息a1。
步骤S204、解析目标组件的源代码,得到属性信息和函数信息。
具体地,函数可以是指一段可以直接被另一段程序或代码引用的程序或代码,也可以叫做子程序或方法。一个函数可以被一个或多个函数调用任意多次。函数信息是源代码中表示函数之间调用或被调用关系的信息,用于确定函数之间的调用关系。属性信息是函数中的参数信息或对象信息,用于确定调用或被调用的参数或对象,例如,可以是服务的标识信息等。
步骤S205、根据属性信息和函数信息构建目标组件的函数级调用链路。
其中,函数级调用链路中的每个节点代表一个函数,每两个节点之间的有向连接线代表函数之间的调用关系。
具体地,根据属性信息和函数信息确定函数之间的调用关系,根据函数之间的调用关系构建目标组件的函数级调用链路。
步骤S206、基于函数级调用链路确定目标组件的服务生产者和服务消费者的设计态调用关系。
服务消费者用于表示服务调用的调用发起方,服务生产者用于表示服务调用的被调用方。例如,服务A和服务B是不同组件的对外服务。当服务A调用服务B时,服务A是服务调用的调用发起方,即服务A是服务消费者,服务B是服务调用的被调用方,即服务B是服务生产者。
设计态调用关系是各个组件的源代码包中包含的服务之间不重复的调用关系,用于确定各个组件的服务之间的所有调用关系。
具体地,服务器根据函数级调用链路中函数之间的调用关系,确定目标组件的服务生产者和服务消费者之间的调用关系,得到目标组件对应的设计态调用关系。
可选地,步骤S206可以通过以下方式实施:
采用各入口函数遍历函数级调用链路中的节点,得到所有可达的目标节点;比对目标节点代表的函数与出口函数,得到与入口函数连通的出口函数;根据具有连通关系的入口函数和出口函数确定目标组件的服务生产者和服务消费者,确定入口函数对应的服务生产者与出口函数对应的服务消费者之间具有调用关系。
其中,入口函数是函数级调用链路中表示调用外部服务的函数。出口函数是函数级调用链路中表示对外开放以供外部服务调用的函数。目标组件中的服务可以调用多个外部服务,因此函数级调用链路可以包括多个入口函数。目标组件可以开放多个服务以供外部服务调用,因此函数级调用链路可以包括多个出口函数。同一链路上的入口函数与出口函数之间可以经过多个节点。
具体地,服务器采用各入口函数遍历函数级调用链路中的节点,得到各入口函数可达的所有目标节点。将目标节点代表的函数与出口函数进行比对,得到与入口函数具有连通关系的出口函数。根据具有连通关系的入口函数和出口函数确定具有调用关系的目标组件的服务生产者和服务消费者。
可选地,根据具有连通关系的入口函数和出口函数确定目标组件的服务生产者和服务消费者,可以通过以下方式实施:
解析入口函数得到第一服务标识,根据第一服务标识确定目标组件的服务生产者;解析与入口函数具有连通关系的出口函数得到第二服务标识,根据第二服务标识确定目标组件的服务消费者。
其中,第一服务标识是通过解析入口函数获得的服务的标识信息。第二服务标识是通过解析与入口函数具有连通关系的出口函数获得的服务的标识信息。
示例性地,服务器解析入口函数的属性信息,得到第一服务标识,该第一服务标识为服务生产者。服务器解析与入口函数具有连通关系的出口函数的属性信息,得到第二服务标识,该第二服务标识为服务消费者。
需要说明的是,步骤S201至步骤S203和步骤S204至步骤S206可以分别单独执行,也可以结合执行。步骤S201至步骤S206的顺序并不限于本实施例列举的顺序,这些步骤还可以以其他的顺序执行,例如,先执行步骤S204至步骤S206,再执行步骤S201至步骤S203。或者其他可以执行的顺序,本发明对此不作具体限定,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。
步骤S207、判断设计态调用关系中的服务生产者或服务消费者与标识信息是否相同,若是,执行步骤S208,否则执行步骤S209。
步骤S208、当设计态调用关系中的服务生产者或服务消费者与标识信息相同的情况下,确定服务变更对目标组件的包含设计态调用关系的调用链路产生影响。
具体地,当设计态调用关系中的服务生产者或服务消费者与发生变更的服务的标识信息相同的情况下,说明发生变更的服务位于设计态调用关系中,服务器确定服务变更对目标组件的包含设计态调用关系的调用链路产生影响。
可选地,在步骤S206之后,还包括:
根据标识信息对应的服务生产者查询设计态调用关系,确定与标识信息对应的服务生产者具有调用关系的目标服务消费者;基于目标服务消费者生成标识信息对应的服务生产者的服务消费者列表。
标识信息对应的服务生产者是发生变更的服务生产者。服务消费者列表用于反映标识信息对应的服务生产者的被调用情况,可以通过数据表的形式存储与服务生产者对应的所有服务消费者。通过生成发生变更的服务生产者对应的服务消费者列表,便于用户查询与发生变更的服务生产者相关的所有服务消费者,进一步有利于用户获知发生变更的服务生产者可能影响的服务消费者。
相应地,步骤S208可以通过以下方式实施:
匹配标识信息与设计态调用关系中的服务生产者;当匹配结果是服务生产者与标识信息相同的情况下,基于服务生产者以及对应的服务消费者列表中的目标服务消费者确定第一调用关系;确定服务变更对目标组件的包含第一调用关系的调用链路产生影响。
当发生变更的服务的标识信息与设计态调用关系中的服务生产者相同的情况下,基于该服务生产者以及对应的服务消费者列表,确定第一调用关系,发生变更的服务位于目标组件的包含该第一调用关系的调用链路中,该服务的变更对该调用链路产生影响。也就是说,从设计态调用关系中确定各服务变更的服务生产者,并根据其对应的服务消费者列表确定多个第一调用关系,由于服务生产者变更,因此对包括第一调用关系的调用链路产生影响。
可选地,在步骤S206之后,还包括:
根据标识信息对应的服务消费者查询设计态调用关系,确定与标识信息对应的服务消费者具有调用关系的目标服务生产者;
基于目标服务生产者生成标识信息对应的服务消费者的服务生产者列表。
标识信息对应的服务消费者是发生变更的服务消费者。服务生产者列表用于反映标识信息对应的服务消费者的被调用情况,可以通过数据表的形式存储与服务消费者对应的所有服务生产者。通过生成发生变更的服务消费者对应的服务生产者列表,便于用户查询与发生变更的服务消费者相关的所有服务生产者,进一步有利于用户获知发生变更的服务消费者可能影响的服务生产者。
相应地,步骤S208可以通过以下方式实施:
匹配标识信息与设计态调用关系中的服务消费者;当匹配结果是服务消费者与标识信息相同的情况下,基于服务消费者以及对应的服务生产者列表中的目标服务生产者确定第二调用关系;确定服务变更对目标组件的包含第二调用关系的调用链路产生影响。
当发生变更的服务的标识信息与设计态调用关系中的服务消费者相同的情况下,基于该服务消费者以及对应的服务生产者列表,确定第二调用关系,发生变更的服务位于目标组件的包含该第二调用关系的调用链路中,该服务的变更对该调用链路产生影响。也就是说,从设计态调用关系中确定各服务变更的服务消费者,并根据其对应的服务生产者列表确定多个第二调用关系,由于服务消费者变更,因此对包括第二调用关系的调用链路产生影响。
步骤S209、当设计态调用关系中的服务生产者和服务消费者与标识信息不相同的情况下,确定服务变更对目标组件的包含对应设计态调用关系的调用链路无影响。
需要说明的是,包含对应设计态调用关系的调用链路中,所有设计态调用关系包括的服务生产者和服务消费者与该标识信息均不相同。
步骤S210、从服务调度中心中获取处于运行状态的组件的参考调用关系,过滤参考调用关系中的重复调用关系,得到运行态调用关系,比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
服务调度中心是组件间服务调用的中间站,用于从数据库中获取各个处于运行状态的组件的服务调用关系,例如,可以是面向服务的架构(Service-OrientedArchitecture,SOA)中的服务注册中心(Enterprise Service Bus,ESB)、微服务架构的服务网关、其他具有服务注册和发布功能的服务器或运维的应用性能管理(ApplicationPerformance Management,APM)装置。其中,SOA和服务网关可以用于服务注册和发布,各个组件的服务统一注册到ESB或服务网关,各个组件的服务在调用外部服务时,都需要先访问ESB或服务网关,查询外部服务的真实物理地址,再访问外部服务的真实物理地址。APM装置可以分布式地抓取多个服务的调用关系记录,并且通过统一的业务标识,将同一业务的服务的调用关系记录串联成服务调用链路。APM装置具有链路追踪功能,用户可以查看完整的服务调用链路,便于监控和定位业务的异常点。
运行态调用关系是从服务调度中心获取的处于运行状态的所有组件的服务之间的不重复的调用关系,用于确定在对各个组件的服务进行测试时处于运行状态的不重复的调用关系。
可选地,步骤S210可以通过以下方式实施:
指示服务网关从数据库中获取处于运行状态的组件的第一参考调用关系;过滤第一参考调用关系中的重复调用关系,得到运行态调用关系;比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
服务器可以在检测到服务调用事件时,通过服务网关将服务调用事件对应的服务调用关系发送给数据库,数据库存储各个处于运行状态的组件的不重复的服务调用关系。当服务器检测到测试事件触发时,确定需要从服务网关中获取处于运行状态的组件的第一参考调用关系。服务器指示服务网关从数据库中调取处于运行状态的所有组件的第一参考调用关系,并发送至服务器。其中,服务调用事件是各个组件的服务在调用外部服务时触发的事件。测试事件是在对各个组件的服务进行测试时触发的事件。服务器从服务网络获取运行态调用关系,通过比较设计态调用关系和运行态调用关系验证接口测试是否覆盖完全。
可选地,步骤S210可以通过以下方式实施:
从应用性能管理APM系统获取处于运行状态的组件的接口调用链路数据;拆解接口调用链路数据,得到各组件的第二参考调用关系;过滤第二参考调用关系中的重复调用关系,得到运行态调用关系;比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
APM装置将同一业务的服务的调用关系记录串联成接口调用链路,接口调用链路上的节点是分布式架构下的各个组件的接口,相邻节点之间的连接线是相邻接口的调用关系,该节点和连接线组成接口调用链路数据。服务器从APM装置中抓取处于运行状态下的所有接口调用链路数据,将接口调用链路数据拆解成一个接口与另一个接口的调用关系,将拆解后的所有接口调用关系作为第二参考调用关系。服务器过滤重复的第二参考调用关系,得到运行态调用关系。服务器从APM获取调用链路数据,通过比较设计态调用关系和运行态调用关系验证接口测试是否覆盖完全。
可选地,步骤S210中比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路,可以通过以下方式实施:
比对不同调用关系中的服务生产者和服务消费者,其中,不同调用关系包括设计态调用关系和运行态调用关系;当不同调用关系中的服务生产者和服务消费者均一致的情况下,确定不同组件之间的接口测试覆盖包括变更服务的调用链路;当不同调用关系中存在至少一对服务生产者或服务消费者不一致的情况下,确定不同组件之间的接口测试未完全覆盖包括变更服务的调用链路。
具体地,服务器将设计态调用关系中的服务生产者和服务消费者,分别与运行态调用关系中的服务生产者和服务消费者进行比对。当设计态调用关系中的服务生产者与运行态调用关系中的服务生产者一致,且设计态调用关系中的服务消费者与运行态调用关系中的服务消费者一致时,确定不同组件之间的接口测试覆盖包括变更服务的调用链路。当设计态调用关系中的服务生产者与运行态调用关系中的服务生产者不一致,或设计态调用关系中的服务消费者与运行态调用关系中的服务消费者不一致时,确定不同组件之间的接口测试未完全覆盖包括变更服务的调用链路。
步骤S211、将发生变更的服务的标识信息、服务变更对目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果存储到数据仓库。
其中,数据仓库用于存储数据和验证结果,例如,可以是Oracle、DB2、MySQL、Microsoft SQL Server、Microsoft Access等。服务器可以按照各种主题构建数据仓库,其中,主题可以包括代码的调用关系、APM的调用链路、单组件发布的服务或单组件外呼的服务等。本发明实施例基于各种主题将数据聚合存储,能够对代码版本比对、代码调用关系分析和调用链路抓取中的数据进行关联性的查询和分析。数据仓库还可以将版本变动按时间按主题进行数据整合,例如,若每半个月发送一次版本变更,则数据仓库可以基于时间轴建立版本演进。从而实现从时间的维度得到历史版本演进的数据分析,便于用户管理分析和辅助决策。
步骤S212、发送发生变更的服务的标识信息、服务变更对目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果到终端设备,以通过终端设备显示标识信息、影响状态、验证结果中的至少一项。
其中,终端设备可以包括计算机、平板电脑、手机或其他终端等显示设备。本发明实施例通过终端设备显示发生变更的服务、服务变更对调用链路的影响状态、以及接口测试的覆盖情况,能够将每个版本的变更以及影响链路可视化,便于尽早暴露和控制因变更而引起的风险和问题,有效减少变更引起的生产问题,保证整个研发过程的质量。
本发明实施例通过识别相邻版本之间的源代码变更差异,根据组件、服务和代码行的对应关系,确定单组件每个新版本的变更服务以及精确的变更点,实现按组件查询变更服务,按服务查询具体变更点。本发明实施例根据目标组件的源代码中属性信息和函数信息构建目标组件的函数级调用链路,确定目标组件的服务生产者和服务消费者的设计态调用关系,进而确定服务变更对目标组件的包含设计态调用关系的调用链路是否产生影响,能够精准判定服务变更的影响。本发明实施例通过从服务调度中心获取运行态调用关系,并与设计态调用关系进行比对,进而确定不同组件之间的接口测试是否覆盖包含变更服务的调用链路,便于用户尽早控制变更的调用链路,从而保证各组件整体集成之后整体的系统行为符合预期。本发明实施例通过将发生变更的服务的标识信息、服务变更对目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果存储到数据仓库,并发送至终端设备,便于用户存储数据和管理数据。
实施例三
图3是本发明实施例三提供的一种微服务架构的变更检测装置的结构示意图。该装置可由软件和/或硬件实现,一般可集成在服务器中,可以通过执行微服务架构的变更检测方法实现检测变更对调用链路的影响。如图3所示,该装置包括:
代码行确定模块301,用于确定各组件的版本变更前后出现差异的目标代码行,获取包含所述目标代码行的目标组件的组件标识;
服务标识确定模块302,用于根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,所述对应关系用于表示组件、服务和代码行之间的包含关系;
影响状态确定模块303,用于确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态。
可选地,所述代码行确定模块301,具体用于:
比对各组件的相邻版本的源代码,根据比对结果确定版本变更前后出现差异的目标代码行。
可选地,所述服务标识确定模块302,具体用于:
根据组件、服务和代码行的对应关系,确定所述组件标识对应的目标组件包含的各服务,以及各服务对应的代码行的行号;
根据所述目标代码行的行号匹配各服务对应的代码行的行号,得到发生变更的服务的标识信息。
可选地,所述影响状态确定模块303,具体用于:
解析所述目标组件的源代码,得到属性信息和函数信息;
根据所述属性信息和函数信息构建所述目标组件的函数级调用链路,其中,所述函数级调用链路中的每个节点代表一个函数;
基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系;
当所述设计态调用关系中的服务生产者或服务消费者与所述标识信息相同的情况下,确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响。
可选地,所述影响状态确定模块303,具体用于:
采用各入口函数遍历所述函数级调用链路中的节点,得到所有可达的目标节点;
比对所述目标节点代表的函数与出口函数,得到与所述入口函数连通的出口函数;
根据具有连通关系的入口函数和出口函数确定所述目标组件的服务生产者和服务消费者,确定所述入口函数对应的所述服务生产者与所述出口函数对应的所述服务消费者之间具有调用关系。
可选地,所述影响状态确定模块303,具体用于:
解析所述入口函数得到第一服务标识,根据所述第一服务标识确定所述目标组件的服务生产者;
解析与所述入口函数具有连通关系的出口函数得到第二服务标识,根据所述第二服务标识确定所述目标组件的服务消费者。
可选地,所述影响状态确定模块303,具体还用于:
在基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系之后,根据所述标识信息对应的服务生产者查询所述设计态调用关系,确定与所述标识信息对应的服务生产者具有调用关系的目标服务消费者;
基于所述目标服务消费者生成所述标识信息对应的服务生产者的服务消费者列表。
可选地,所述影响状态确定模块303,具体用于:
匹配所述标识信息与所述设计态调用关系中的服务生产者;
当匹配结果是所述服务生产者与所述标识信息相同的情况下,基于所述服务生产者以及对应的服务消费者列表中的目标服务消费者确定第一调用关系;
确定服务变更对所述目标组件的包含所述第一调用关系的调用链路产生影响。
可选地,所述影响状态确定模块303,具体还用于:
在基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系之后,根据所述标识信息对应的服务消费者查询所述设计态调用关系,确定与所述标识信息对应的服务消费者具有调用关系的目标服务生产者;
基于所述目标服务生产者生成所述标识信息对应的服务消费者的服务生产者列表。
可选地,所述影响状态确定模块303,具体用于:
匹配所述标识信息与所述设计态调用关系中的服务消费者;
当匹配结果是所述服务消费者与所述标识信息相同的情况下,基于所述服务消费者以及对应的服务生产者列表中的目标服务生产者确定第二调用关系;
确定服务变更对所述目标组件的包含所述第二调用关系的调用链路产生影响。
可选地,所述影响状态确定模块303,具体还用于:
在确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响之后,指示服务网关从数据库中获取处于运行状态的组件的第一参考调用关系;
过滤所述第一参考调用关系中的重复调用关系,得到运行态调用关系;
比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
可选地,所述影响状态确定模块303,具体还用于:
在确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响之后,从应用性能管理APM系统获取处于运行状态的组件的接口调用链路数据;
拆解所述接口调用链路数据,得到各所述组件的第二参考调用关系;
过滤所述第二参考调用关系中的重复调用关系,得到运行态调用关系;
比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
可选地,所述影响状态确定模块303,具体用于:
比对不同调用关系中的服务生产者和服务消费者,其中,所述不同调用关系包括设计态调用关系和运行态调用关系;
当所述不同调用关系中的服务生产者和服务消费者均一致的情况下,确定不同组件之间的接口测试覆盖包括变更服务的调用链路;
当所述不同调用关系中存在至少一对服务生产者或服务消费者不一致的情况下,确定不同组件之间的接口测试未完全覆盖包括变更服务的调用链路。
可选地,所述影响状态确定模块303,具体还用于:
在根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路之后,将发生变更的服务的标识信息、服务变更对所述目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果存储到数据仓库。
可选地,所述影响状态确定模块303,具体还用于:
在根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路之后,发送发生变更的服务的标识信息、服务变更对所述目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果到终端设备,以通过所述终端设备显示所述标识信息、影响状态、验证结果中的至少一项。
本发明实施例所提供的微服务架构的变更检测装置可执行本发明任意实施例所提供的微服务架构的变更检测方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种服务器的结构示意图,如图4所示,该服务器包括处理器400、存储器401、输入装置402和输出装置403;服务器中处理器400的数量可以是一个或多个,图4中以一个处理器400为例;服务器中的处理器400、存储器401、输入装置402和输出装置403可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器401作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的微服务架构的变更检测方法对应的程序指令和/或模块(例如,微服务架构的变更检测装置中的代码行确定模块301、服务标识确定模块302和影响状态确定模块303)。处理器400通过运行存储在存储器401中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的微服务架构的变更检测方法。
存储器401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器401可进一步包括相对于处理器400远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置402可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置403可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种微服务架构的变更检测方法,该方法包括:
确定各组件的版本变更前后出现差异的目标代码行,获取包含所述目标代码行的目标组件的组件标识;
根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,所述对应关系用于表示组件、服务和代码行之间的包含关系;
确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的微服务架构的变更检测方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述微服务架构的变更检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (16)

1.一种微服务架构的变更检测方法,其特征在于,包括:
确定各组件的版本变更前后出现差异的目标代码行,获取包含所述目标代码行的目标组件的组件标识;
根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,所述对应关系用于表示组件、服务和代码行之间的包含关系;
确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态;
所述确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态,包括:
解析所述目标组件的源代码,得到属性信息和函数信息;
根据所述属性信息和函数信息构建所述目标组件的函数级调用链路,其中,所述函数级调用链路中的每个节点代表一个函数;
基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系;
当所述设计态调用关系中的服务生产者或服务消费者与所述标识信息相同的情况下,确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响;
所述基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系,包括:
采用各入口函数遍历所述函数级调用链路中的节点,得到所有可达的目标节点;
比对所述目标节点代表的函数与出口函数,得到与所述入口函数连通的出口函数;
根据具有连通关系的入口函数和出口函数确定所述目标组件的服务生产者和服务消费者,确定所述入口函数对应的所述服务生产者与所述出口函数对应的所述服务消费者之间具有调用关系。
2.根据权利要求1所述的方法,其特征在于,所述确定各组件的版本变更前后出现差异的目标代码行,包括:
比对各组件的相邻版本的源代码,根据比对结果确定版本变更前后出现差异的目标代码行。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,包括:
根据组件、服务和代码行的对应关系,确定所述组件标识对应的目标组件包含的各服务,以及各服务对应的代码行的行号;
根据所述目标代码行的行号匹配各服务对应的代码行的行号,得到发生变更的服务的标识信息。
4.根据权利要求1所述的方法,其特征在于,所述根据具有连通关系的入口函数和出口函数确定所述目标组件的服务生产者和服务消费者,包括:
解析所述入口函数得到第一服务标识,根据所述第一服务标识确定所述目标组件的服务生产者;
解析与所述入口函数具有连通关系的出口函数得到第二服务标识,根据所述第二服务标识确定所述目标组件的服务消费者。
5.根据权利要求1所述的方法,其特征在于,在基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系之后,还包括:
根据所述标识信息对应的服务生产者查询所述设计态调用关系,确定与所述标识信息对应的服务生产者具有调用关系的目标服务消费者;
基于所述目标服务消费者生成所述标识信息对应的服务生产者的服务消费者列表。
6.根据权利要求5所述的方法,其特征在于,所述当所述设计态调用关系中的服务生产者或服务消费者与所述标识信息相同的情况下,确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响,包括:
匹配所述标识信息与所述设计态调用关系中的服务生产者;
当匹配结果是所述服务生产者与所述标识信息相同的情况下,基于所述服务生产者以及对应的服务消费者列表中的目标服务消费者确定第一调用关系;
确定服务变更对所述目标组件的包含所述第一调用关系的调用链路产生影响。
7.根据权利要求1所述的方法,其特征在于,在基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系之后,还包括:
根据所述标识信息对应的服务消费者查询所述设计态调用关系,确定与所述标识信息对应的服务消费者具有调用关系的目标服务生产者;
基于所述目标服务生产者生成所述标识信息对应的服务消费者的服务生产者列表。
8.根据权利要求7所述的方法,其特征在于,所述当所述设计态调用关系中的服务生产者或服务消费者与所述标识信息相同的情况下,确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响,包括:
匹配所述标识信息与所述设计态调用关系中的服务消费者;
当匹配结果是所述服务消费者与所述标识信息相同的情况下,基于所述服务消费者以及对应的服务生产者列表中的目标服务生产者确定第二调用关系;
确定服务变更对所述目标组件的包含所述第二调用关系的调用链路产生影响。
9.根据权利要求1所述的方法,其特征在于,在确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响之后,还包括:
指示服务网关从数据库中获取处于运行状态的组件的第一参考调用关系;
过滤所述第一参考调用关系中的重复调用关系,得到运行态调用关系;
比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
10.根据权利要求1所述的方法,其特征在于,在确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响之后,还包括:
从应用性能管理APM系统获取处于运行状态的组件的接口调用链路数据;
拆解所述接口调用链路数据,得到各所述组件的第二参考调用关系;
过滤所述第二参考调用关系中的重复调用关系,得到运行态调用关系;
比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路。
11.根据权利要求9或10所述的方法,其特征在于,所述比对设计态调用关系和运行态调用关系,根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路,包括:
比对不同调用关系中的服务生产者和服务消费者,其中,所述不同调用关系包括设计态调用关系和运行态调用关系;
当所述不同调用关系中的服务生产者和服务消费者均一致的情况下,确定不同组件之间的接口测试覆盖包括变更服务的调用链路;
当所述不同调用关系中存在至少一对服务生产者或服务消费者不一致的情况下,确定不同组件之间的接口测试未完全覆盖包括变更服务的调用链路。
12.根据权利要求11所述的方法,其特征在于,在根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路之后,还包括:
将发生变更的服务的标识信息、服务变更对所述目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果存储到数据仓库。
13.根据权利要求12所述的方法,其特征在于,在根据比对结果验证不同组件之间的接口测试是否覆盖包含变更服务的调用链路之后,还包括:
发送发生变更的服务的标识信息、服务变更对所述目标组件的调用链路的影响状态、以及接口测试是否覆盖包含变更服务的调用链路的验证结果到终端设备,以通过所述终端设备显示所述标识信息、影响状态、验证结果中的至少一项。
14.一种微服务架构的变更检测装置,其特征在于,包括:
代码行确定模块,用于确定各组件的版本变更前后出现差异的目标代码行,获取包含所述目标代码行的目标组件的组件标识;
服务标识确定模块,用于根据所述目标代码行和组件标识查询组件、服务和代码行的对应关系,得到发生变更的服务的标识信息,其中,所述对应关系用于表示组件、服务和代码行之间的包含关系;
影响状态确定模块,用于确定所述标识信息对应的服务变更对所述目标组件的调用链路的影响状态;
所述影响状态确定模块,具体用于:
解析所述目标组件的源代码,得到属性信息和函数信息;
根据所述属性信息和函数信息构建所述目标组件的函数级调用链路,其中,所述函数级调用链路中的每个节点代表一个函数;
基于所述函数级调用链路确定所述目标组件的服务生产者和服务消费者的设计态调用关系;
当所述设计态调用关系中的服务生产者或服务消费者与所述标识信息相同的情况下,确定服务变更对所述目标组件的包含所述设计态调用关系的调用链路产生影响;
所述影响状态确定模块,具体用于:
采用各入口函数遍历所述函数级调用链路中的节点,得到所有可达的目标节点;
比对所述目标节点代表的函数与出口函数,得到与所述入口函数连通的出口函数;
根据具有连通关系的入口函数和出口函数确定所述目标组件的服务生产者和服务消费者,确定所述入口函数对应的所述服务生产者与所述出口函数对应的所述服务消费者之间具有调用关系。
15.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-13中任一所述的微服务架构的变更检测方法。
16.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-13中任一所述的微服务架构的变更检测方法。
CN202011017439.7A 2020-09-24 2020-09-24 微服务架构的变更检测方法、装置、服务器及存储介质 Active CN112199276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011017439.7A CN112199276B (zh) 2020-09-24 2020-09-24 微服务架构的变更检测方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011017439.7A CN112199276B (zh) 2020-09-24 2020-09-24 微服务架构的变更检测方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112199276A CN112199276A (zh) 2021-01-08
CN112199276B true CN112199276B (zh) 2023-05-30

Family

ID=74006602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011017439.7A Active CN112199276B (zh) 2020-09-24 2020-09-24 微服务架构的变更检测方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112199276B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113297076B (zh) * 2021-05-21 2023-06-23 建信金融科技有限责任公司 基于调用链图的服务变更识别方法及装置
CN113364775B (zh) * 2021-06-04 2023-04-18 北京京东振世信息技术有限公司 微服务的调用方法、装置及服务器
CN115460101B (zh) * 2022-08-02 2024-06-11 北京达佳互联信息技术有限公司 网络服务的管理方法、装置、设备及存储介质
CN115904878A (zh) * 2022-12-30 2023-04-04 支付宝(杭州)信息技术有限公司 业务变更处理方法、装置、设备及存储介质
CN117009240A (zh) * 2023-08-18 2023-11-07 广州Tcl互联网小额贷款有限公司 代码分析方法、系统、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893259A (zh) * 2016-03-31 2016-08-24 广州华多网络科技有限公司 代码检测系统、方法及装置
CN107085555A (zh) * 2017-04-19 2017-08-22 广州视源电子科技股份有限公司 代码测试方法、装置、终端及存储介质
CN110389896A (zh) * 2019-06-18 2019-10-29 中国平安人寿保险股份有限公司 代码自动化分析和测试方法、装置及计算机可读存储介质
CN110413506A (zh) * 2019-06-19 2019-11-05 平安普惠企业管理有限公司 测试用例推荐方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893259A (zh) * 2016-03-31 2016-08-24 广州华多网络科技有限公司 代码检测系统、方法及装置
CN107085555A (zh) * 2017-04-19 2017-08-22 广州视源电子科技股份有限公司 代码测试方法、装置、终端及存储介质
CN110389896A (zh) * 2019-06-18 2019-10-29 中国平安人寿保险股份有限公司 代码自动化分析和测试方法、装置及计算机可读存储介质
CN110413506A (zh) * 2019-06-19 2019-11-05 平安普惠企业管理有限公司 测试用例推荐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112199276A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
CN112199276B (zh) 微服务架构的变更检测方法、装置、服务器及存储介质
Debnath et al. LogLens: A real-time log analysis system
US20210352099A1 (en) System for automatically discovering, enriching and remediating entities interacting in a computer network
US11218510B2 (en) Advanced cybersecurity threat mitigation using software supply chain analysis
US8938489B2 (en) Monitoring system performance changes based on configuration modification
US20180248902A1 (en) Malicious activity detection on a computer network and network metadata normalisation
CN111680068B (zh) 一种校验方法、装置、设备及存储介质
CN112559361A (zh) 流量回放方法、装置、设备及计算机可读介质
US20190260769A1 (en) Systems and methods of responding to cyber security threats
CN106656536A (zh) 一种用于处理服务调用信息的方法与设备
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
US10817140B2 (en) Sequential data
CN101345751A (zh) 确定作为数据库活动的起源的应用程序用户
Elsayed et al. PredictDeep: security analytics as a service for anomaly detection and prediction
CN112738040A (zh) 一种基于dns日志的网络安全威胁检测方法、系统及装置
JP2002318734A (ja) 通信ログ処理方法及びシステム
US10262133B1 (en) System and method for contextually analyzing potential cyber security threats
Alserhani Alert correlation and aggregation techniques for reduction of security alerts and detection of multistage attack
CN112799722A (zh) 命令识别方法、装置、设备和存储介质
CN107871055B (zh) 一种数据分析方法和装置
CN110443044A (zh) 区块链客户端漏洞挖掘方法、装置、设备及存储介质
CN113836237A (zh) 对数据库的数据操作进行审计的方法及装置
CN111158979A (zh) 服务的拨测方法、系统、装置及存储介质
CN112199275B (zh) 一种组件接口测试分析方法、装置、服务器以及存储介质
CN113904828B (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