CN111510330A - 接口管理装置、方法及存储介质 - Google Patents
接口管理装置、方法及存储介质 Download PDFInfo
- Publication number
- CN111510330A CN111510330A CN202010280620.0A CN202010280620A CN111510330A CN 111510330 A CN111510330 A CN 111510330A CN 202010280620 A CN202010280620 A CN 202010280620A CN 111510330 A CN111510330 A CN 111510330A
- Authority
- CN
- China
- Prior art keywords
- interface
- request
- test
- cluster
- module
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种接口管理装置、方法及存储介质。其中,接口管理装置包括接口文档管理模块、集群管理模块以及测试模块。接口文档管理模块根据接口配置信息生成接口文档,集群管理模块根据集群配置信息生成集群管理文档,接口文档中的接口与集群管理文档中的集群节点存在关联关系。测试模块根据接收到的接口测试请求自动生成请求报文,并根据上述关联关系确定后端接口关联的第一集群节点,向第一集群节点发送请求报文,测试模块接收第一集群节点发送的接口测试结果,返回该测试结果。上述装置不仅能够自动生成接口文档,还可以根据接口测试请求自动生成请求报文,通过调用接口关联的集群节点获取接口测试结果,提高了接口管理和测试的工作效率。
Description
技术领域
本发明涉及电子信息技术领域,尤其涉及一种接口管理装置、方法及存储介质。
背景技术
分布式系统中,服务会随着功能增加而增多,接口也会成倍增加。由于功能不同,接口的类型多种多样,过多接口文档的编写、维护,导致接口管理成本上升,一旦接口变更,接口文档、测试脚本和测试数据也要变更。
现有的接口管理技术中,开发人员接收到接口变更通知后,需要从接口管理平台下载该接口文档,并对其进行修改,然后上传新的接口文档至接口管理平台。这种方式接口信息变更与接口文档的变更存在一定的延时,且手工维护会出现维护不当的情况。如果不能及时生成测试数据,进行mock测试,会导致系统的稳定性降低。
发明内容
本发明提供一种接口管理装置、方法及存储介质,实现动态生成接口文档,提高了接口管理和测试的工作效率。
本发明的第一方面提供接口管理装置,包括:接口文档管理模块、集群管理模块以及测试模块;
所述接口文档管理模块,用于根据接口配置信息生成接口文档;
所述集群管理模块,用于根据集群配置信息生成集群管理文档;所述接口文档中的接口与所述集群管理文档中的集群节点存在关联关系;
所述测试模块,用于接收接口测试请求,所述接口测试包括后端接口的性能测试,根据所述接口测试请求生成请求报文,通过查询所述关联关系确定所述后端接口对应的第一集群节点,向所述第一集群节点发送所述请求报文,从所述第一集群节点获取接口测试结果,返回所述接口测试结果。
可选的,所述关联关系包括:一个接口与一个或者多个集群节点的关联关系,和/或,多个接口与一个集群节点的关联关系。
可选的,所述接口测试还包括前端MOCK测试,所述测试模块,还用于根据所述前端MOCK测试的请求生成响应报文,将所述响应报文作为所述接口测试结果,返回所述接口测试结果。
在一种可能的实现方式中,所述接口文档管理模块,具体用于使用Apache POI获取接口文档模板,将所述接口配置信息匹配到所述接口文档模板中,生成所述接口文档。
可选的,所述接口配置信息包括接口名称、接口类型、接口出入参数规则以及与接口关联的集群节点。
可选的,所述集群配置信息包括集群名称、集群类型、集群节点的名称以及集群节点的IP地址、端口。
可选的,所述接口文档管理模块生成的所述接口文档,以及所述集群管理模块生成的所述集群管理文档均存储在非结构化存储数据库MongoDB中。
可选的,所述测试模块包括通讯并发模块、动态报文生成模块以及通讯模块;
在一种可能的实现方式中,所述通讯并发模块用于接收所述接口测试请求,所述接口测试请求包括后端接口的性能测试,通过查询所述关联关系确定所述后端接口对应的第一集群节点,向所述通讯模块和所述动态报文生成模块发送所述后端接口的性能测试的请求,并向所述通讯模块发送所述第一集群节点;所述动态报文生成模块用于根据所述后端接口的性能测试的请求,生成与所述后端接口的接口类型对应的请求报文,向所述通讯模块发送所述请求报文;所述通讯模块用于向所述第一集群节点发送所述请求报文,并从所述第一集群节点获取所述后端接口的接口测试结果,返回所述接口测试结果。
在一种可能的实现方式中,所述通讯并发模块用于接收所述前端MOCK测试的请求,向所述通讯模块和所述动态报文生成模块发送所述后端接口性能测试的请求;所述动态报文生成模块用于根据所述前端MOCK测试的请求,生成响应报文,向通讯模块发送所述响应报文;所述通讯模块用于将所述响应报文作为所述接口测试结果,返回所述接口测试结果。
在一种可能的实现方式中,所述动态报文生成模块还用于接收报文分析请求,对所述报文分析请求中的所述请求报文或者所述响应报文进行报文分析,分别生成所述请求报文对应的接口规则,或者所述响应报文对应的接口规则;所述通讯模块还用于返回所述请求报文对应的接口规则或者所述响应报文对应的接口规则。
可选的,所述通讯模块采用以下任意一种调用方式获取所述接口测试结果:
RPC调用、HTTP调用、MQ调用、socket调用。
本发明的第二方面提供一种接口管理方法,包括:接收接口测试请求,所述接口测试请求包括后端接口的性能测试,根据接口测试请求生成请求报文;通过查询接口与集群节点的关联关系,确定所述后端接口对应的第一集群节点;向所述第一集群节点发送所述请求报文;从所述第一集群节点获取接口测试结果,返回所述接口测试结果。
可选的,所述接口与集群节点的关联关系包括:一个接口与一个或者多个集群节点的关联关系,和/或,多个接口与一个集群节点的关联关系。
在一种可能的实现方式中,所述接口测试请求还包括前端MOCK测试,所述方法还包括:根据所述前端MOCK测试的请求生成响应报文;将所述响应报文作为所述接口测试结果,返回所述接口测试结果。
在一种可能的实现方式中,所述方法还包括:接收报文分析请求,对所述报文分析请求中的所述请求报文或者所述响应报文进行报文分析,分别生成所述请求报文对应的接口规则,或者所述响应报文对应的接口规则;返回所述请求报文对应的接口规则或者所述响应报文对应的接口规则。
本发明的第三方面提供一种接口管理装置,包括:
存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如本发明第二方面中任一项所述的方法。
本发明的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如本发明第二方面中任一项所述的方法。
本发明提供一种接口管理装置、方法及存储介质,其中,接口管理装置包括接口文档管理模块、集群管理模块以及测试模块。接口文档管理模块根据接口配置信息生成接口文档,集群管理模块根据集群配置信息生成集群管理文档,其中,接口文档中的接口与集群管理文档中的集群节点存在关联关系。测试模块根据接收到的接口测试请求,自动生成请求报文,接口测试包括对后端接口的性能测试,测试模块根据上述关联关系确定接口测试请求中的后端接口关联的第一集群节点,向第一集群节点发送请求报文,测试模块从第一集群节点获取接口测试结果。上述装置不仅能够自动生成接口文档,还可以根据接口测试请求自动生成请求报文,通过调用接口关联的集群节点获取接口测试结果,提高了接口管理和测试的工作效率,减小开发人员或测试人员的工作量。
附图说明
图1为本发明实施例提供的接口管理装置的结构示意图;
图2为本发明实施例提供的接口与集群节点的关联关系的示意图;
图3为本发明实施例提供的测试模块的结构示意图;
图4为本发明实施例提供的接口管理装置的使用流程示意图;
图5为本发明一实施例提供的接口管理方法的流程示意图;
图6为本发明一实施例提供的接口管理方法的流程示意图;
图7为本发明一实施例提供的接口管理方法的流程示意图;
图8为本发明实施例提供的接口管理装置的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有的接口管理技术中,开发人员接收到接口变更通知后,需要从接口管理平台下载该接口文档,并对其进行修改,然后上传新的接口文档至接口管理平台。这种方式接口信息变更与接口文档的变更存在一定的延时,且手工维护会出现维护不当的情况。
基于上述问题,本发明提供一种接口管理装置,通过配置的接口信息自动生成接口文档,使用自动生成的文档来代替手工维护文档,从而达到有效的管理接口文档的目的。该装置还可以配置服务集群,使接口与集群关联,便于维护集群内的接口信息。该装置支持接口的前端Mock测试和后端异构分布式接口的调用测试,调用API即可随机生成测试数据。开发者可调用装置API使测试代码与测试数据解耦,即使接口出入参变更,测试脚本依然可以运行,解决了接口单元测试多次变更而导致测试脚本失效问题,有助于提升服务稳定性。该装置不仅可以根据规则生成随机测试报文,还可以根据测试报文反向生成规则,便于接口规则的修改。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面几个实施例可以相互结合,对于相同或者类似的概念或过程可能在某些实施例中不再赘述。
图1为本发明实施例提供的接口管理装置的结构示意图。如图1所示,本实施例提供的接口管理装置10,包括:
接口文档管理模块11、集群管理模块12以及测试模块13.
接口文档管理模块11,用于根据接口配置信息生成接口文档。
集群管理模块12,用于根据集群配置信息生成集群管理文档,接口文档中的接口与集群管理文档中的集群节点存在关联关系。
测试模块13,用于接收接口测试请求,接口测试包括后端接口的性能测试,根据接口测试请求生成请求报文,通过查询关联关系确定后端接口对应的第一集群节点,向第一集群节点发送请求报文,从第一集群节点获取接口测试结果,返回接口测试结果。
在本实施例中,接口文档管理模块11,用于接收接口配置信息,根据接口配置信息自动生成接口文档。其中,接口配置信息包括接口名称、接口类型、接口出入参数规则以及与接口关联的集群节点。应理解,不同的接口类型对应不同的接口调用方式。
本实施例的接口类型包括:远程过程调用(Remote Procedure Call,RPC)类型,超文本传输协议(HyperText Transfer Protocol,HTTP)类型、消息队列(Message Queue,MQ)类型,Socket类型。
其中,RPC类型的接口需要配置注册中心和参数实体的全限定类名及需要序列化类的序列化版本ID(SerialVersionUID),调用实体的全限定类名和调用方法。HTTP类型的接口需要配置URL地址,请求报文的类型可以是JSON(JavaScript Object Notation,JS对象简谱)或者可扩展标记语言XML。MQ类型的接口需要配置名称服务(Name Service)等关键信息,如果需要传送序列化数据需要和RPC类型的接口一样,配置参数实体的全限定名和序列化实体。Socket类型的接口需要配置网际互联协议(Internet Protocol,IP)、端口(port)、解码编码方式、TCP半包模式或者帧长度。
在一种具体的实现方式中,接口文档管理模块11,用于使用Apache POI获取接口文档模板,将接口配置信息匹配到接口文档模板中,生成接口文档。生成的接口文档可以存储在非结构化存储数据库中,例如MongoDB数据库。
MongoDB是一个基于分布式文档存储的数据库,由于面向文档的数据库没有固定的关系模式,因此可以使用MongoDB存储不同的信息,并且MongoDB拥有良好的拓展性,支持动态查询。本实施例可以使用MongoDB作为接口规范存储的载体,以应对接口所传输的复杂数据。
Apache POI是一种用于生成、处理、访问微软Office组件的Java API,它提供接口对微软Office文档进行解码。其中POI XWPF支持对Word文档的创建修改,并且支持模板文件的数据填充和样式修改。本实施例的接口管理装置可以使用POI XWPF自动为用户生成接口文档,随接口数据的变动来生成不同的接口。
上述的实现方式避免手动维护接口文档,提升了接口管理的工作效率。在开发者开发或者更新接口后,接口管理装置可以自动生成新的接口文档,接口文档内包含了如何使用接口、调用接口、接口的基本描述和接口参数规则等,方便开发者或使用者获取最新的接口文档。
在本实施例中,集群管理模块12,用于接收集群配置信息,根据集群配置信息生成集群管理文档。集群管理模块12主要适配分布式集群环境,用户可在集群管理模块12中配置如下信息:集群名称、集群类型、集群节点的名称以及集群节点的IP地址、端口等。其中集群类型包括集群环境类型以及集群网络类型,集群环境类型包括测试环境和生产环境,集群网络类型包括内网和外网。生成的集群管理文档可以存储在非结构化存储数据库中,例如上述的MongoDB数据库。
需要指出的是,接口文档管理模块11生成的接口文档中的接口与集群管理模块12生成的集群管理文档中的集群节点存在关联关系。这里的关联关系包括:一个接口与一个或者多个集群节点的关联关系,和/或,多个接口与一个集群节点的关联关系。
作为一种示例,图2示出了一种接口与集群节点的关联关系的示意图。如图2所示,与接口jk001关联的集群为jq001,该集群包括集群节点jd001,集群节点jd001与多个接口关联,关联接口包括接口jk001和接口jk002。当然,一个集群可以包括多个集群节点,各个集群节点可以与一个或者多个接口关联,对此本实施例不作任何限制。
现有的接口文档管理,一个接口只能对应一个调用地址,即一个接口只有一套环境,不支持对集群的调用,本实施例提供的接口管理装置实现了接口与集群节点的关联,一个接口可以部署在多个集群中,选择接口关联的集群,接口管理装置可以自动查找该节点关联的一个或多个集群节点,并生成对应的调用地址和调用方式,完成接口的调用。
在本实施例中,测试模块13,用于接收接口测试请求,根据接口测试请求返回接口测试结果。其中,接口测试请求包括以下两种:一种是后端接口的性能测试请求,另一种是前端MOCK测试请求。下面分别介绍测试模块13对这两种接口测试请求的处理过程。
在一种实现方式中,测试模块13接收接口测试请求,接口测试包括后端接口的性能测试,测试模块13根据接口测试请求生成请求报文,通过查询数据库确定后端接口对应的第一集群节点,测试模块13向第一集群节点发送请求报文,并从第一集群节点获取接口测试结果,返回接口测试结果至客户端的显示界面。上述的数据库是指非结构化存储数据库,该数据库中包括接口与集群节点的关联关系。由于一个接口可能对应一个或多个集群节点,因此上述的第一集群节点的数量可能是一个,也可能是多个,由此可见,测试模块13可以同时调用多个集群节点,进行后端接口的性能测试。
在一种实现方式中,测试模块13接收的接口测试请求还包括前端MOCK测试的请求。对应的,测试模块13还用于根据前端MOCK测试的请求生成响应报文,将响应报文作为接口测试结果,返回接口测试结果。MOCK测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。
图3为本发明实施例提供的测试模块的结构示意图,如图3所示,测试模块13可以包括通讯并发模块131、动态报文生成模块132以及通讯模块133。
下面分别对测试模块13中的各个模块的功能进行详细说明。
对于后端接口的性能测试,通讯并发模块131,用于接收接口测试请求,接口测试请求包括后端接口的性能测试,通过查询关联关系确定后端接口对应的第一集群节点,向通讯模块和动态报文生成模块发送后端接口的性能测试的请求,并向通讯模块发送第一集群节点。动态报文生成模块132,用于根据后端接口的性能测试的请求,生成与后端接口的接口类型对应的请求报文,向通讯模块发送请求报文。通讯模块133,用于向第一集群节点发送请求报文,并从第一集群节点获取后端接口的接口测试结果,返回接口测试结果。
对于前端MOCK测试,通讯并发模块131,用于接收前端MOCK测试的请求,向通讯模块和动态报文生成模块发送后端接口性能测试的请求。动态报文生成模块132,用于根据前端MOCK测试的请求,生成响应报文,向通讯模块发送响应报文。通讯模块133,用于将响应报文作为接口测试结果,返回接口测试结果。
在一些实施例中,通讯并发模块131可以使用分布式并行应用框架AKKA来支持更高的并发量。具体的,通讯并发模块131中包括两个顶级Actor,基于Actor System,一个Actor用于前端事件交互,另一个Actor用于后端的性能测试,执行高并发性能测试。性能测试的Actor可以使用PonnedDispatcher线程调度和TailGhopping路由规则,调用AKKA集群来调用接口的通讯组件,通过接口的通讯组件来调用测试接口。
由此可见,通讯并发模块131可以基于不同的Actor分别执行后端接口的性能测试以及前端MOCK测试,且后端接口的性能测试可以实现并发性能测试(即可以实现多个集群节点的并发调用)。
在上述实施例中,动态报文生成模块132主要用于生成请求报文或者响应报文,可以为前端MOCK和后端发送报文时生成相应的报文体。
在一种实现方式中,前端MOCK会生成接口URL,前端开发者使用Fetch API获取资源接口,动态报文生成模块132接收到请求后,会根据接口的类型、接口的规则随机生成响应报文。
在另一种实现方式中,动态报文生成模块132接收到通讯并发模块131发送的后端接口性能测试的请求后,检测生成对象(Object)还是JSON/XML,如果是JSON/XML类型,动态报文生成模块132会根据接口类型、接口出入参数规则随机生成请求报文;如果是对象类,动态报文生成模块132会动态生成类(Class)文件,并通过接口管理装置实现的类加速器加载该类,并且检测是否需要Hessian序列化,然后生成请求报文。
可选的,在一些实施例中,动态报文生成模块132还用于接收报文分析请求,对所述报文分析请求中的请求报文或者响应报文进行报文分析,分别生成请求报文对应的接口规则,或者响应报文对应的接口规则。通讯模块133还用于返回请求报文对应的接口规则或者响应报文对应的接口规则。具体的,使用者在注册或者维护接口规则时,可以将测试报文粘贴至生成规则的文本框(接口管理装置提供的一种用户交互框)中,以便接口管理装置自动检测分析测试报文,并生成相应的接口规则。由此可见,本实施例提供的接口管理装置,不仅可以根据接口测试请求自动生成随机测试报文,还可以将随机测试报文反向生成接口规则,便于使用者对接口规则进行修改等操作。
可选的,在上述实施例的基础上,通讯模块133可以采用以下任意一种调用方式获取接口测试结果:RPC调用、HTTP调用、MQ调用、socket调用。
对于RPC调用,调用方发起请求后,通讯并发模块获取到注册中心和调用接口,并将调用接口的具体信息发送到注册中心。并且通讯并发模块与注册中心建立长连接,通过注册中心获取调用方信息。通讯并发模块将类和调用方法通过字节码操纵技术生成一个接口并且加载到JVM中,使用反射调用接口并且传入需要的参数。
对于HTTP调用,调用方发起请求后,通讯并发模块从数据库中获取IP、Port、发送类型Json/XML和Http请求方法,根据动态报文生成模块生成Json报文或者XML报文,调用后展示响应头,请求头,响应体,请求体等数据。
对于Socket调用,调用方发起请求后,通讯并发模块从数据库中获取接口的IP和Port及其他信息,并创建NioEventLoopGroup和NioSocketChannel策略,根据接口使用TCP半包还是DelimiterBasedFrameDecoder来解决TCP粘包拆包的问题。
对于MQ调用,调用方发起请求后,通讯并发模块从数据库中获取命名服务(NameServer)、Topic等信息和动态报文生成模块生成的请求报文构建ProducerBean,使用ProducerBean发送报文。
综上,本发明实施例提供的接口管理装置,包括接口文档管理模块、集群管理模块以及测试模块。接口文档管理模块根据接口配置信息生成接口文档,集群管理模块根据集群配置信息生成集群管理文档,其中,接口文档中的接口与集群管理文档中的集群节点存在关联关系。测试模块根据接收到的接口测试请求,自动生成请求报文,接口测试包括对后端接口的性能测试,测试模块根据上述关联关系确定接口测试请求中的后端接口关联的第一集群节点,向第一集群节点发送请求报文,测试模块从第一集群节点获取接口测试结果。本实施例提供的接口管理装置不仅能够自动生成接口文档,还可以根据接口测试请求自动生成请求报文,通过调用接口关联的集群节点获取接口测试结果,提高了接口管理和测试的工作效率,减小开发人员或测试人员的工作量。
基于上述接口管理装置,本发明实施例提供该接口管理装置的使用流程,图4为本发明实施例提供的接口管理装置的使用流程示意图。如图4所示,首先判断该服务是否有集群,如果没有集群,提示使用者新建集群,对应不同的开发环境、测试环境,输入集群配置信息,集群配置信息包括集群名称、集群类型、集群节点的名称以及集群节点的IP地址、端口等,将生成的集群管理文档存入MongoDB中。创建完集群后,判断是否具有接口,如果没有接口,提示使用者新建接口,并输入接口配置信息,接口配置信息包括接口名称、接口类型、接口出入参数规则以及与接口关联的集群节点,生成接口文档后,存入MongoDB中。如果需要查看接口性能,可以选择性能测试,装置调用接口后,返回接口测试结果,即测试报告。如果需要查看接口规则,还可以选择测试结果分析,生成接口规则,使用者可以对接口规则进行修正等操作。
图5为本发明一实施例提供的接口管理方法的流程示意图,如图5所示,该方法包括如下步骤:
S101、接收接口测试请求,接口测试请求包括后端接口的性能测试,
S102、根据接口测试请求生成请求报文;
S103、通过查询接口与集群节点的关联关系,确定后端接口对应的第一集群节点;
S104、向第一集群节点发送请求报文;
S105、从第一集群节点获取接口测试结果,返回接口测试结果。
可选的,接口与集群节点的关联关系包括:一个接口与一个或者多个集群节点的关联关系,和/或,多个接口与一个集群节点的关联关系。
上述方案实现了接口与集群的关联,便于开发人员维护集群内的接口信息,通过接口调用获取接口测试结果。
图6为本发明一实施例提供的接口管理方法的流程示意图,如图6所示,接口测试请求还包括前端MOCK测试,上述方法还可以包括如下步骤:
S201、接收接口测试请求,接口测试请求包括前端MOCK测试;
S202、根据前端MOCK测试的请求生成响应报文;
S203、将响应报文作为接口测试结果,返回接口测试结果。
上述方案实现了接口的前端MOCK测试,能够自动生成响应报文。
图7为本发明一实施例提供的接口管理方法的流程示意图,如图7所示,上述方法还可以包括如下步骤:
S301、接收报文分析请求;
S302、对报文分析请求中的请求报文或者响应报文进行报文分析,分别生成请求报文对应的接口规则,或者响应报文对应的接口规则;
S303、返回请求报文对应的接口规则或者响应报文对应的接口规则。
上述方案可实现根据测试报文反向生成规则,便于接口规则的修改。
本实施例提供的方法与装置实施例中的测试模块的执行步骤相同,具体实现原理可参见装置侧实施例,此处不再赘述。
图8为本发明实施例提供的接口管理装置的硬件结构示意图。如图8所示,本实施例提供的接口管理装置20,包括:
存储器21,处理器22以及计算机程序;其中,计算机程序存储在存储器21中,并被配置为由处理器22执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选的,存储器21既可以是独立的,也可以跟处理器22集成在一起。当所述存储器21是独立于处理器22之外的器件时,接口管理装置20还可以包括:总线23,用于连接存储器21和处理器22。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器22执行以实现上述方法实施例的技术方案。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例中方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于接口管理装置中。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围。
Claims (17)
1.一种接口管理装置,其特征在于,包括:
接口文档管理模块、集群管理模块以及测试模块;
所述接口文档管理模块,用于根据接口配置信息生成接口文档;
所述集群管理模块,用于根据集群配置信息生成集群管理文档;所述接口文档中的接口与所述集群管理文档中的集群节点存在关联关系;
所述测试模块,用于接收接口测试请求,所述接口测试包括后端接口的性能测试,根据所述接口测试请求生成请求报文,通过查询所述关联关系确定所述后端接口对应的第一集群节点,向所述第一集群节点发送所述请求报文,从所述第一集群节点获取接口测试结果,返回所述接口测试结果。
2.根据权利要求1所述的装置,其特征在于,所述关联关系包括:一个接口与一个或者多个集群节点的关联关系,和/或,多个接口与一个集群节点的关联关系。
3.根据权利要求1所述的装置,其特征在于,所述接口测试还包括前端MOCK测试,所述测试模块,还用于根据所述前端MOCK测试的请求生成响应报文,将所述响应报文作为所述接口测试结果,返回所述接口测试结果。
4.根据权利要求1所述的装置,其特征在于,
所述接口文档管理模块,具体用于使用Apache POI获取接口文档模板,将所述接口配置信息匹配到所述接口文档模板中,生成所述接口文档。
5.根据权利要求1所述的装置,其特征在于,所述接口配置信息包括接口名称、接口类型、接口出入参数规则以及与接口关联的集群节点。
6.根据权利要求1所述的装置,其特征在于,所述集群配置信息包括集群名称、集群类型、集群节点的名称以及集群节点的IP地址、端口。
7.根据权利要求1所述的装置,其特征在于,所述接口文档管理模块生成的所述接口文档,以及所述集群管理模块生成的所述集群管理文档均存储在非结构化存储数据库MongoDB中。
8.根据权利要求1所述的装置,其特征在于,所述测试模块包括通讯并发模块、动态报文生成模块以及通讯模块;
所述通讯并发模块,用于接收所述接口测试请求,所述接口测试请求包括后端接口的性能测试,通过查询所述关联关系确定所述后端接口对应的第一集群节点,向所述通讯模块和所述动态报文生成模块发送所述后端接口的性能测试的请求,并向所述通讯模块发送所述第一集群节点;
所述动态报文生成模块,用于根据所述后端接口的性能测试的请求,生成与所述后端接口的接口类型对应的请求报文,向所述通讯模块发送所述请求报文;
所述通讯模块,用于向所述第一集群节点发送所述请求报文,并从所述第一集群节点获取所述后端接口的接口测试结果,返回所述接口测试结果。
9.根据权利要求3所述的装置,其特征在于,所述测试模块包括通讯并发模块、动态报文生成模块以及通讯模块;
所述通讯并发模块,用于接收所述前端MOCK测试的请求,向所述通讯模块和所述动态报文生成模块发送所述后端接口性能测试的请求;
所述动态报文生成模块,用于根据所述前端MOCK测试的请求,生成响应报文,向通讯模块发送所述响应报文;
所述通讯模块,用于将所述响应报文作为所述接口测试结果,返回所述接口测试结果。
10.根据权利要求8或9所述的装置,其特征在于,所述动态报文生成模块还用于接收报文分析请求,对所述报文分析请求中的所述请求报文或者响应报文进行报文分析,分别生成所述请求报文对应的接口规则,或者所述响应报文对应的接口规则;
所述通讯模块还用于返回所述请求报文对应的接口规则或者所述响应报文对应的接口规则。
11.根据权利要求8所述的装置,其特征在于,所述通讯模块采用以下任意一种调用方式获取所述接口测试结果:
RPC调用、HTTP调用、MQ调用、socket调用。
12.一种接口管理方法,其特征在于,包括:
接收接口测试请求,所述接口测试请求包括后端接口的性能测试,
根据接口测试请求生成请求报文;
通过查询接口与集群节点的关联关系,确定所述后端接口对应的第一集群节点;
向所述第一集群节点发送所述请求报文;
从所述第一集群节点获取接口测试结果,返回所述接口测试结果。
13.根据权利要求12所述的方法,其特征在于,所述接口与集群节点的关联关系包括:一个接口与一个或者多个集群节点的关联关系,和/或,多个接口与一个集群节点的关联关系。
14.根据权利要求12所述的方法,其特征在于,所述接口测试请求还包括前端MOCK测试,所述方法还包括:
根据所述前端MOCK测试的请求生成响应报文;
将所述响应报文作为所述接口测试结果,返回所述接口测试结果。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
接收报文分析请求,对所述报文分析请求中的所述请求报文或者所述响应报文进行报文分析,分别生成所述请求报文对应的接口规则,或者所述响应报文对应的接口规则;
返回所述请求报文对应的接口规则或者所述响应报文对应的接口规则。
16.一种接口管理装置,其特征在于,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求12-15中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求12-15中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010280620.0A CN111510330B (zh) | 2020-04-10 | 2020-04-10 | 接口管理装置、方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010280620.0A CN111510330B (zh) | 2020-04-10 | 2020-04-10 | 接口管理装置、方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111510330A true CN111510330A (zh) | 2020-08-07 |
CN111510330B CN111510330B (zh) | 2023-08-18 |
Family
ID=71876015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010280620.0A Active CN111510330B (zh) | 2020-04-10 | 2020-04-10 | 接口管理装置、方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111510330B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182305A (zh) * | 2020-09-26 | 2021-01-05 | 广州鲁邦通物联网科技有限公司 | 一种基于xml规则的xml解析模块、解析方法和配置数据的管理方法 |
CN112380281A (zh) * | 2020-10-30 | 2021-02-19 | 中国人寿保险股份有限公司 | 一种平台层代码生成方法、装置、电子设备及存储介质 |
CN112559345A (zh) * | 2020-12-14 | 2021-03-26 | 四川长虹电器股份有限公司 | 基于LoadRunner的接口测试方法、计算机设备及存储介质 |
CN115801652A (zh) * | 2022-11-21 | 2023-03-14 | 中国民航信息网络股份有限公司 | 一种航空系统测试方法、系统及相关装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139067A1 (en) * | 2002-12-19 | 2004-07-15 | International Business Machines Corporation | Computer system, method, and program product for generating a data structure for information retrieval, and an associated graphical user interface |
US20140303756A1 (en) * | 2013-04-05 | 2014-10-09 | Stephan A. Tarnutzer | Human-Machine Interface Test System |
CN104484216A (zh) * | 2014-12-29 | 2015-04-01 | 广州唯品会网络技术有限公司 | 服务接口文档和在线测试工具生成方法、装置 |
CN109753432A (zh) * | 2018-12-21 | 2019-05-14 | 瑞庭网络技术(上海)有限公司 | 一种接口性能测试方法、装置、服务器及系统 |
CN109783457A (zh) * | 2018-12-17 | 2019-05-21 | 中国平安财产保险股份有限公司 | Cgi接口管理方法、装置、计算机设备和存储介质 |
US20190188119A1 (en) * | 2017-12-14 | 2019-06-20 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for providing automated performance detection of application programming interfaces |
WO2019122626A1 (fr) * | 2017-12-21 | 2019-06-27 | Bull Sas | Systeme et procede d'elaboration et d'execution de tests fonctionnels pour grappe de serveurs |
CN110908890A (zh) * | 2018-09-18 | 2020-03-24 | 亿阳信通股份有限公司 | 一种接口的自动测试方法和装置 |
-
2020
- 2020-04-10 CN CN202010280620.0A patent/CN111510330B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139067A1 (en) * | 2002-12-19 | 2004-07-15 | International Business Machines Corporation | Computer system, method, and program product for generating a data structure for information retrieval, and an associated graphical user interface |
US20140303756A1 (en) * | 2013-04-05 | 2014-10-09 | Stephan A. Tarnutzer | Human-Machine Interface Test System |
CN104484216A (zh) * | 2014-12-29 | 2015-04-01 | 广州唯品会网络技术有限公司 | 服务接口文档和在线测试工具生成方法、装置 |
US20190188119A1 (en) * | 2017-12-14 | 2019-06-20 | Cognizant Technology Solutions India Pvt. Ltd. | System and a method for providing automated performance detection of application programming interfaces |
WO2019122626A1 (fr) * | 2017-12-21 | 2019-06-27 | Bull Sas | Systeme et procede d'elaboration et d'execution de tests fonctionnels pour grappe de serveurs |
CN110908890A (zh) * | 2018-09-18 | 2020-03-24 | 亿阳信通股份有限公司 | 一种接口的自动测试方法和装置 |
CN109783457A (zh) * | 2018-12-17 | 2019-05-21 | 中国平安财产保险股份有限公司 | Cgi接口管理方法、装置、计算机设备和存储介质 |
CN109753432A (zh) * | 2018-12-21 | 2019-05-14 | 瑞庭网络技术(上海)有限公司 | 一种接口性能测试方法、装置、服务器及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182305A (zh) * | 2020-09-26 | 2021-01-05 | 广州鲁邦通物联网科技有限公司 | 一种基于xml规则的xml解析模块、解析方法和配置数据的管理方法 |
CN112380281A (zh) * | 2020-10-30 | 2021-02-19 | 中国人寿保险股份有限公司 | 一种平台层代码生成方法、装置、电子设备及存储介质 |
CN112559345A (zh) * | 2020-12-14 | 2021-03-26 | 四川长虹电器股份有限公司 | 基于LoadRunner的接口测试方法、计算机设备及存储介质 |
CN115801652A (zh) * | 2022-11-21 | 2023-03-14 | 中国民航信息网络股份有限公司 | 一种航空系统测试方法、系统及相关装置 |
CN115801652B (zh) * | 2022-11-21 | 2024-05-03 | 中国民航信息网络股份有限公司 | 一种航空系统测试方法、系统及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111510330B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11726828B2 (en) | Managing a virtualized application workspace on a managed computing device | |
CN110191164B (zh) | 分布式服务接入系统及方法 | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
CN111290865A (zh) | 一种服务调用方法、装置、电子设备和存储介质 | |
US10574724B2 (en) | Automatic discovery of management nodes and generation of CLI using HA module | |
US8296774B2 (en) | Service-based endpoint discovery for client-side load balancing | |
US8856365B2 (en) | Computer-implemented method, computer system and computer readable medium | |
US10452522B1 (en) | Synthetic data generation from a service description language model | |
US9590859B2 (en) | Discovering resources of a distributed computing environment | |
US11755744B2 (en) | Application programming interface specification inference | |
AU2015369925A1 (en) | Computer readable storage media for dynamic service deployment and methods and systems for utilizing same | |
WO2019223136A1 (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN109104368B (zh) | 一种请求连接方法、装置、服务器及计算机可读存储介质 | |
CN113965543B (zh) | 一种应用服务器的访问方法、装置及存储介质 | |
JP2022542203A (ja) | ミニプログラムのバッチ処理方法、装置、電子機器及び可読記憶媒体 | |
CN111694620A (zh) | 第三方业务的交互方法、装置、设备及计算机存储介质 | |
CN114371914A (zh) | 容器ip地址配置方法、装置、存储介质及电子设备 | |
CN111800511B (zh) | 同步登录态的处理方法、系统、设备及可读存储介质 | |
CN113485927A (zh) | 一种测试数据生成方法、装置、设备及存储介质 | |
US20080071916A1 (en) | System and method for requesting a web service from a network server | |
CN114285859B (zh) | 中间层区块链服务的数据处理方法、装置、设备及存储介质 | |
CN115811481A (zh) | 一种交互服务测试方法、装置、计算机设备及存储介质 | |
CN113779122B (zh) | 导出数据的方法和装置 | |
CN110753082B (zh) | 服务调用方法及终端设备 | |
CN110168521B (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 |