CN111581085B - 联调测试***及方法 - Google Patents

联调测试***及方法 Download PDF

Info

Publication number
CN111581085B
CN111581085B CN202010349836.8A CN202010349836A CN111581085B CN 111581085 B CN111581085 B CN 111581085B CN 202010349836 A CN202010349836 A CN 202010349836A CN 111581085 B CN111581085 B CN 111581085B
Authority
CN
China
Prior art keywords
service
container
request
debugged
debugging
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
CN202010349836.8A
Other languages
English (en)
Other versions
CN111581085A (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.)
Bigo Technology Pte Ltd
Original Assignee
Guangzhou Baiguoyuan Information Technology 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 Guangzhou Baiguoyuan Information Technology Co Ltd filed Critical Guangzhou Baiguoyuan Information Technology Co Ltd
Priority to CN202010349836.8A priority Critical patent/CN111581085B/zh
Publication of CN111581085A publication Critical patent/CN111581085A/zh
Application granted granted Critical
Publication of CN111581085B publication Critical patent/CN111581085B/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/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种联调测试***及方法,涉及计算机技术领域。所述***包括第一容器和n个第二容器,n为正整数;第一容器中部署有目标应用所提供的k个服务,k为正整数;第二容器中部署有上述k个服务中的至少一个待调试服务。针对基于容器技术的联调测试场景,可以通过设置一个包含目标应用的各个服务的基础容器,并可以为每一个研发人员分配属于其自己的轻量级的用户容器,用户容器与基础容器间能够进行服务调用,由此形成了一种“1+N”的容器架构,在尽可能减少资源消耗的前提下做到各个容器间的环境隔离,提升联调测试环境的可用性和稳定性。

Description

联调测试***及方法
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种联调测试***及方法。
背景技术
容器(container)技术是一种轻量级的虚拟化技术。由于其具备隔离特性、可移植特性等相关特性,因此容器技术可以应用于软件产品的开发、测试、运维等场景中。
当一个软件产品达到一定的规模时,其往往包括大量的服务(或称为进程),服务之间有着复杂的调用关系,并且一个完整的联调测试环境可能达到100G以上量级,对内存也会是10G以上量级的消耗。因此受限于资源的限制,要为每一个研发人员配置一个完整的联调测试环境比较困难,目前的一些做法是多个研发人员共用一个完整的容器进行联调测试,该容器中包含待调试应用的所有服务。
在进行联调测试时,研发人员为了调试自己的服务需要将容器中已有的服务替换掉,各个研发人员都有可能对容器中的服务进行操作,一些不当操作或者替换的服务有问题很容易导致联调测试环境的不可用,导致联调测试环境的稳定性较差。
发明内容
本申请实施例提供了一种联调测试***及方法,可以提升联调测试环境的可用性和稳定性。所述技术方案如下:
一方面,本申请实施例提供一种联调测试***,所述***包括第一容器和n个第二容器,所述n为正整数;
所述第一容器中部署有目标应用所提供的k个服务,所述k为正整数;
所述第二容器中部署有所述k个服务中的至少一个待调试服务。
另一方面,本申请实施例提供一种联调测试方法,应用于联调测试***中,所述***包括第一容器和n个第二容器,所述第一容器中部署有目标应用所提供的k个服务,所述第二容器中部署有所述k个服务中的至少一个待调试服务,所述n和所述k均为正整数;所述方法包括:
所述第二容器接收调试请求,所述调试请求用于请求对所述第二容器中的待调试服务进行调试;
所述第二容器根据所述调试请求确定待调用的第一服务;
响应于所述第二容器中部署的所述待调试服务包括所述第一服务,所述第二容器调用所述第二容器中的所述第一服务进行调试;
响应于所述第二容器中部署的所述待调试服务不包括所述第一服务,所述第二容器向所述第一容器发送协助调试请求,所述协助调试请求用于请求调用所述第一服务进行调试;
所述第一容器根据所述协助调试请求确定所述第一服务,调用所述第一容器中的所述第一服务进行调试。
本申请实施例提供的技术方案可以带来如下有益效果:
通过提供一种联调测试***,该***包括第一容器和n个第二容器,第一容器中部署有目标应用所提供的k个服务,第二容器中部署有该k个服务中的至少一个待调试服务;针对基于容器技术的联调测试场景,当需要对目标应用进行联调测试时,可以通过设置一个可以包含目标应用的各个服务的基础容器(即上述第一容器),并可以为每一个研发人员分配一个属于其自己的轻量级的用户容器(即上述第二容器),用户容器中可以只包含单个用户自己开发的服务,通过网络连接的方式实现用户容器与基础容器之间的服务调用,由此形成了一种“1+N”的容器架构,在尽可能减少资源消耗的前提下做到各个容器间的环境隔离,提升联调测试环境的可用性和稳定性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的联调测试***的架构图;
图2是本申请一个实施例提供的容器部署方式的示意图;
图3是本申请另一个实施例提供的容器部署方式的示意图;
图4和图5是本申请一个实施例提供的服务调用流程的示意图;
图6是本申请一个实施例提供的容器创建和服务注册的示意图;
图7是本申请一个实施例提供的联调测试方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的联调测试***的架构图。该联调测试***可以包括:第一容器11和n个第二容器12,n为正整数。
第一容器11可以称为基础容器,第一容器11中可以部署有目标应用所提供的k个服务,k为正整数。目标应用可以是任意一个待调试的软件应用程序。可选地,第一容器11中部署有目标应用所提供的所有服务。假设目标应用总共提供100个服务,那么第一容器11中部署有该目标应用的全部100个服务。
第二容器12可以称为用户容器,第二容器12中可以部署有该目标应用的k个服务中的至少一个待调试服务。不同的第二容器12中部署的待调试服务可以相同,也可以不同。例如,假设目标应用所提供的服务包括服务A、服务B和服务C,一个第二容器中部署的待调试服务是服务A,另一个第二容器中部署的待调试服务是服务B,还有一个第二容器中部署的待调试服务是服务A和服务C。各个第二容器12中部署的待调试服务,可以根据需要(例如由第二容器的创建用户(即研发人员)结合实际需求)进行灵活地添加和配置,本申请实施例对此不作限定。
可选地,上述第一容器11和第二容器12之间互相独立,各个第二容器12之间也互相独立。也即,第一容器11和第二容器12之间互相隔离,且任意两个第二容器12之间也互相隔离。每一个容器(包括第一容器11和第二容器12)都有自己独立的运行环境。第二容器12的配置操作权限可以限定于特定人员,如第二容器12的创建用户(即研发人员)。例如,可以限定每个研发人员只能操作其自身配置的第二容器12,服务的注册和启动可以在其自身配置的第二容器12中进行。第一容器11可以由管理员维护,管理员可以定期对第一容器11中包含的服务进行升级,其他人员不能对第一容器11进行操作,这样就保证了第一容器11的容器环境的稳定性,不易被破坏。并且,各个第二容器12之间也是互相隔离的,不同的第二容器12之间的容器环境不会有任何影响。
在本申请实施例中,针对基于容器技术的联调测试场景,当需要对目标应用进行联调测试时,可以通过设置一个包含目标应用的所有服务的基础容器,并为每一个研发人员分配一个属于其自己的轻量级的用户容器,用户容器中可以只包含单个用户自己开发的服务,通过网络连接的方式实现用户容器与基础容器之间的服务调用,由此形成了一种“1+N”的容器架构,不仅可以做到环境隔离,同时也会减少对资源的消耗,提升联调测试环境的可用性和稳定性。
另外,第二容器12中部署的待调试服务,可以与第一容器11中部署的服务相同,也可以是对第一容器11中部署的服务进行修改后得到的服务,也即是第一容器11中部署的服务的修改版本。例如第一容器11中包括目标应用的服务A、服务B和服务C,第二容器12中部署的待调试服务是服务A,第二容器12中的服务A和第一容器11中的服务A可以相同,也可以是对第一容器11中的服务A进行修改后得到的修改版的服务A。
在本申请实施例中,服务是指软件应用程序所提供的功能。可选地,该服务可以是指进程,不同的进程可以用于实现不同的功能。
在示例性实施例中,上述容器可以是Docker容器。Docker是一个开源的应用容器引擎,将应用程序与其依赖打包在一个容器中使其独立的运行,容器与容器之间互相独立、互相隔离,每个容器都可以有自己独立的文件***、命名空间、网络配置等。因此Docker可以实现服务的启动运行,Docker也越来越多的使用在后台开发中,实现服务的编译、配置、运行等。
需要说明的是,如图2所示,上述第一容器11和第二容器12可以部署在同一个计算机设备(如图2中的计算机设备0)中;或者,如图3所示,上述第一容器11和第二容器12也可以部署在多个不同的计算机设备中,如第一容器11可以部署在图3所示的计算机设备0中,多个第二容器12可以分别部署在多个不同的计算机设备(包括计算机设备1、2、…、n)中,不同计算机设备之间可以通过网络或其他方式进行通信。当然,上述图2和图3所示的部署方式仅是示例性和解释性的,在其他可能的实现方式中,也可以一部分第二容器12和第一容器11部署在同一计算机设备中,另一部分第二容器12可以部署在不同于上述计算机设备的另外一个或多个计算机设备中,每个计算机设备中可以部署一个或多个第二容器12。
上述计算机设备是指具备数据计算和存储能力的电子设备,如服务器或PC(Personal Computer,个人计算机)等电子设备。另外,本申请实施例提供的联调测试***,可以应用于C/S(client/server,客户端/服务器)产品的后端架构中,为C/S产品提供服务的联调测试功能。示例性地,上述C/S产品可以是直播类应用、视频类应用、社交类应用、支付类应用、游戏类应用等任何基于C/S架构的应用程序产品,本申请实施例对此不作限定。
下面,结合图1所示的联调测试***,对采用该联调测试***对待调试服务进行调试的过程进行介绍说明。
第二容器12用于:接收调试请求,该调试请求用于请求对该第二容器12中的待调试服务进行调试;根据该调试请求确定待调用的第一服务;响应于该第二容器12中部署的待调试服务包括第一服务,调用该第二容器12中的第一服务进行调试。
此处提及的第二容器12可以是上述n个第二容器中的任意一个第二容器,第二容器12中可以部署有目标应用的一个或多个待调试服务。
在一个示例中,调试请求可以由目标应用的客户端发起。可选地,第二容器12中还可以包括客户端接入服务,该客户端接入服务用于接收来自于客户端的调试请求。在另一个示例中,调试请求也可以由容器节点自行发起,例如容器节点执行定时调试任务,发起调试请求。其中,容器节点是指配置有容器的计算机设备,一个容器节点中可以配置一个或多个容器。因此,配置有第二容器12的容器节点,可以执行定时调试任务,向第二容器12发起调试请求。
第二容器12在接收到调试请求之后,可以根据该调试请求确定待调用的第一服务。可选地,上述第一服务是指首个待调用的服务。第二容器12中部署的待调试服务,有可能包括该第一服务,也有可能不包括该第一服务。第二容器12可以检测其部署的待调试服务中是否包括该第一服务。响应于该第二容器12中部署的待调试服务包括第一服务,也即如果第二容器12中部署的待调试服务包括第一服务,第二容器12调用该第二容器12中的第一服务进行调试。
可选地,第二容器12还用于响应于第二容器12中部署的待调试服务不包括第一服务,也即如果第二容器12中部署的待调试服务不包括第一服务,向第一容器11发送协助调试请求,该协助调试请求用于请求调用第一服务进行调试。相应地,第一容器11用于根据该协助调试请求确定第一服务,调用第一容器11中的第一服务进行调试。
可选地,协助调试请求中包括第一服务的标识信息,服务的标识信息可用于对服务起到唯一标识的作用,不同的服务可以具有不同的标识信息,该第一服务的标识信息可以是该第一服务的服务名称,或者其他标识符,本申请实施例对此不作限定。第一容器11在接收到来自于第二容器12的协助调试请求之后,可以根据该协助调试请求中包括的第一服务的标识信息,确定第一服务,然后调用该第一容器11中的第一服务进行调试。可选地,协助调试请求中还包括第二容器12的标识信息,容器的标识信息可用于对容器起到唯一标识作用,不同的容器可以具有不同的标识信息。
可选地,第一容器11还用于根据服务注册信息,确定第二容器12中是否包括第二服务,该第二服务是在调试请求对应的服务调用链中,第一服务的下一个服务。之后,第一容器11还用于响应于第二容器12中包括该第二服务,向第二容器12发送回调指令,该回调指令用于指示第二容器12对第二服务进行调试。相应地,第二容器12还用于根据该回调指令确定第二服务,调用第二容器12中的第二服务进行调试。可选地,回调指令中包括第二服务的标识信息。
第一容器11可以在对第一服务进行调试的过程中,也可以在对第一服务进行调试完成后,确定第一服务的下一个需要调用的服务(即上述第二服务)。然后,第一容器11可以结合服务注册信息,确定第二容器12中是否包括该第二服务。需要说明的是,这里的第二容器12仍然是上述向第一容器11发送调试请求的那一个第二容器12,并非其他的第二容器12。服务注册信息中可以记录有整个联调测试***的各个第二容器中分别部署的待调试服务,该注册过程可以参见下文实施例中的介绍说明。因此,第一容器11可以结合服务注册信息,确定第二容器12中是否包括该第二服务。
可选地,第一容器11用于:检测服务注册信息中,是否包括标记有第二容器12的标识信息的第二服务;响应于服务注册信息中包括标记有第二容器12的标识信息的第二服务,确定第二容器12中包括第二服务;响应于服务注册信息中不包括标记有第二容器12的标识信息的第二服务,确定第二容器中不包括第二服务。如果某个服务的标识信息中标记有第二容器12的标识信息,例如某个服务的标识信息中包括有第二容器12的标识信息,那么就可以说明该第二容器12中部署有该服务。例如,假设第二容器12的标识信息为u1,如果某个服务的标识信息(如服务名称)为u1_service,那么就可以说明该第二容器12中部署有该服务。可选地,在服务原始的标识信息中添加第二容器12的标识信息时,可以将该第二容器12的标识信息添加在该服务原始的标识信息之前,作为一个前缀,这样有助于提升信息检索的效率,使得第一容器11能够在服务注册信息中,快速地检测出是否包括标记有第二容器12的标识信息的第二服务。
可选地,第一容器11还用于响应于第二容器12中不包括第二服务,调用第一容器11中的第二服务进行调试。
另外,第一容器11可以根据调试请求对应的服务调用链,确定第一服务的下一个需要调用的服务(即上述第二服务)。联调测试***可以支持一个服务调用链,也可以支持多个服务调用链。
如果联调测试***仅支持一个服务调用链,那么所有的调试请求对应的服务调用链都是相同的,第一容器11中可以记录该服务调用链,然后据此确定出第一服务下一个调用的第二服务。例如,一个完整的服务调用链包括服务A、服务B、服务C和服务D,且上述4个服务的调用顺序依次为服务A、服务B、服务C和服务D。那么服务A的下一个调用的服务就是服务B,服务B的下一个调用的服务就是服务C,以此类推。
如果联调测试***支持多个服务调用链,那么不同的调试请求对应的服务调用链可能会有所不同,在这种情况下,第二容器12向第一容器11发送的协助调试请求中还可以包括调试请求对应的服务调用链,或者包括该调试请求对应的服务调用链的标识信息,以便第一容器11能够获知该调试请求对应的服务调用链。
在本申请实施例中,服务调用链包括按照预定义的服务调用规则确定所要调用的服务,该服务调用规则规定了各个服务间的调用顺序,基于该服务调用规则,可以确定出在调用执行某一服务完成之后,是否需要调用执行下一个服务,以及在确定需要调用执行下一个服务的情况下,进一步确定该下一个服务具体是哪一个服务。例如,某个服务调用链包括服务A、服务B和服务C,且这3个服务之间的调用顺序依次为服务A、服务B和服务C。
另外,第二容器12和第一容器11之间可以互相进行服务调用。例如,基于第二容器12和第一容器11之间的网络通信,可以采用RPC(Remote Procedure Call,远程过程调用)的方式实现服务的跨容器调用。第二容器12可以基于RPC的方式向第一容器11发送协助调试请求,请求调用第一容器11中的服务。第一容器11可以基于RPC的方式向第二容器12发送回调请求,请求调用第二容器12中的服务。
可选地,对于调试请求对应的服务调用链中包括的第i个服务和第i+1个服务来讲(第i+1个服务是第i个服务的下一个需要调用的服务,i为正整数),如果第i个服务位于第二容器12中,且第i+1个服务位于第一容器11中,则在第二容器12中执行第i个服务,在第i个服务执行完成之后,第二容器12向第一容器11发送协助调试请求,该协助调试请求用于请求调用第一容器11中的第i+1个服务,之后在第一容器11中执行第i+1个服务;如果该第i个服务位于第一容器11中,且第i+1个服务位于第二容器12中,则在第一容器11中执行第i个服务,在第i个服务执行完成之后,第一容器11向第二容器12发送回调请求,该回调请求用于请求调用第二容器12中的第i+1个服务,之后在第二容器12中执行第i+1个服务。
结合参考图4和图5,基础容器中包括一个完整的服务调用链,该服务调用链包括服务A、服务B、服务C和服务D,且上述4个服务的调用顺序依次为服务A、服务B、服务C和服务D。用户容器1中包括待调试的服务A和服务C,其名称分别记为u1_服务A和u1_服务C。用户容器2中包括待调试的服务B,其名称记为u2_服务B。当客户端向用户容器1发起调试请求,请求对用户容器1中的待调试服务进行调试时,依次调用u1_服务A、服务B、u1_服务C和服务D进行调试(如图中带三角形虚线所标示的服务调用链路)。当客户端向用户容器2发起调试请求,请求对用户容器2中的待调试服务进行调试时,依次调用服务A、u2_服务B、服务C和服务D进行调试(如图中带圆形虚线所标示的服务调用链路)。
在本申请实施例中,通过第一容器和第二容器间的互相调用,实现了服务的跨容器调用,从而完成一条完整的调用链路,保证了对待调试服务进行联调测试的有效实施。
另外,第一容器可以通过检测服务注册信息中,是否包括标记有第二容器的标识信息的第二服务,来确定第二容器中包括第二服务,实现了准确而又高效地确定第二容器所包括的服务。
下面,结合图1所示的联调测试***,对第二容器的创建和服务注册过程进行介绍说明。在示例性实施例中,该***还包括容器节点,用于:
接收容器生成请求,该容器生成请求用于请求生成第二容器;
根据容器生成请求,生成第二容器;
获取第二容器对应的服务配置信息,该服务配置信息用于配置第二容器中的待调试服务;
根据服务配置信息,在第二容器中添加待调试服务。
当研发人员需要调试自己开发的服务时,可以创建一个属于自己的第二容器。可选地,研发人员可以在容器节点(如PC)上登录容器创建平台对应的页面,在该页面中根据提示请求创建一个第二容器。在生成第二容器之后,研发人员可以进一步配置其中包含的待调试服务,以及相关的配置文件、客户端接入服务等。容器创建平台在获取到上述服务配置信息之后,根据该服务配置信息在第二容器添加待调试服务,以及相关的配置文件、客户端接入服务等。
可选地,在第二容器中添加待调试服务之后,第二容器还可以向服务注册中心注册该添加的待调试服务。在示例性实施例中,第二容器还用于向服务注册中心发送服务注册请求,该服务注册请求用于请求对待调试服务进行注册;其中,服务注册中心用于生成服务注册信息,该服务注册信息中包括待调试服务,且待调试服务标记有第二容器的标识信息。第一容器还用于接收来自于服务注册中心的服务注册信息。例如,服务注册中心可以在待调试服务的标识信息(如名称)中,添加第二容器的标识信息,形成上述标记,并将该带标记的待调试服务的标识信息添加至服务注册信息中。另外,服务注册中心还可以将该服务注册信息同步给第一容器,以便第一容器依据该服务注册信息获知第二容器中是否包括某个服务。
如图6所示,用户(如研发人员)在编写好待调试服务的代码之后,对该待调试服务的代码进行编译,然后向包发布平台发布该待调试服务。当研发人员需要对该待调试服务进行调试时,可以一键启动生成一个用户容器,并在该用于容器中添加待调试服务、配置文件、客户端接入服务等。之后,该创建好的第二容器向服务注册中心发起服务注册请求,在服务注册中心注册上述待调试服务。待调试服务在注册成功之后,即可被进行调用调试。在调试过程中,用户容器和基础容器之间可以互相进行服务调用,在用户容器中执行用户自有的待调试服务,在基础容器中执行与该待调试服务相关的其他服务,通过按序调用执行各个服务,实现对待调试服务的联调测试。另外,基础容器可以由管理员进行启动、管理和维护,如定期对基础容器中的服务进行升级,其他用户通常不能对其操作。
在本申请实施例中,通过在服务注册过程中,为第二容器中的待调试服务标记该第二容器的标识信息,并生成相应的服务注册信息提供给第一容器,以便第一容器能够根据该服务注册信息,准确而又高效地确定出第二容器所包括的服务。
请参考图7,其示出了本申请一个实施例提供的联调测试方法的流程图。该联调测试方法可应用于图1所示的联调测试***中。如图7所示,该联调测试方法可以包括如下几个步骤(701~706):
步骤701,第二容器接收调试请求,该调试请求用于请求对第二容器中的待调试服务进行调试。
步骤702,第二容器根据调试请求确定待调用的第一服务。
步骤703,响应于第二容器中部署的所述待调试服务包括第一服务,第二容器调用第二容器中的第一服务进行调试。
步骤704,响应于第二容器中部署的待调试服务不包括第一服务,第二容器向第一容器发送协助调试请求,该协助调试请求用于请求调用第一服务进行调试。
步骤705,第一容器根据协助调试请求确定第一服务。
步骤706,第一容器调用第一容器中的第一服务进行调试。
可选地,第一容器在接收到协助调试请求之后,还可以执行如下步骤:
第一容器根据服务注册信息,确定第二容器中是否包括第二服务,该第二服务是在调试请求对应的服务调用链中,第一服务的下一个服务;
响应于第二容器中包括第二服务,第一容器向第二容器发送回调指令,该回调指令用于指示第二容器对第二服务进行调试;
第二容器根据回调指令确定第二服务,调用第二容器中的第二服务进行调试。
可选地,第一容器根据服务注册信息,确定第二容器中是否包括第二服务,包括:
第一容器检测服务注册信息中,是否包括标记有第二容器的标识信息的第二服务;
响应于服务注册信息中包括标记有第二容器的标识信息的第二服务,第一容器确定第二容器中包括第二服务;
响应于服务注册信息中不包括标记有第二容器的标识信息的第二服务,第一容器确定第二容器中不包括第二服务。
可选地,在第二容器中添加待调试服务之后,还可以执行如下步骤:
第二容器向服务注册中心发送服务注册请求,服务注册请求用于请求对待调试服务进行注册;其中,服务注册中心用于生成服务注册信息,服务注册信息中包括待调试服务,且待调试服务标记有第二容器的标识信息;
第一容器接收来自于服务注册中心的服务注册信息。
由于上述方法实施例的内容与***实施例相对应,对于该方法实施例中未详细说明的细节,可参见上述***实施例。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种联调测试***,其特征在于,所述***包括第一容器和n个第二容器,所述第一容器中部署有目标应用所提供的k个服务,所述第二容器中部署有所述k个服务中的至少一个待调试服务,所述n和所述k均为正整数;
所述第二容器用于接收调试请求,所述调试请求用于请求对所述第二容器中的待调试服务进行调试;
所述第二容器还用于根据所述调试请求确定待调用的第一服务;
所述第二容器还用于响应于所述第二容器中部署的所述待调试服务包括所述第一服务,调用所述第二容器中的所述第一服务进行调试;
所述第二容器还用于响应于所述第二容器中部署的所述待调试服务不包括所述第一服务,向所述第一容器发送协助调试请求,所述协助调试请求用于请求调用所述第一服务进行调试;
所述第一容器用于根据所述协助调试请求确定所述第一服务,调用所述第一容器中的所述第一服务进行调试。
2.根据权利要求1所述的***,其特征在于,所述第一容器和所述第二容器之间互相隔离,且任意两个所述第二容器之间也互相隔离。
3.根据权利要求1所述的***,其特征在于,
所述第一容器还用于根据服务注册信息,确定所述第二容器中是否包括第二服务,响应于所述第二容器中包括所述第二服务,向所述第二容器发送回调指令,所述第二服务是在所述调试请求对应的服务调用链中所述第一服务的下一个服务,所述回调指令用于指示所述第二容器对所述第二服务进行调试;
所述第二容器还用于根据所述回调指令确定所述第二服务,调用所述第二容器中的所述第二服务进行调试。
4.根据权利要求3所述的***,其特征在于,所述第一容器用于:
检测所述服务注册信息中是否包括标记有所述第二容器的标识信息的第二服务;
响应于所述服务注册信息中包括标记有所述第二容器的标识信息的第二服务,确定所述第二容器中包括所述第二服务;
响应于所述服务注册信息中不包括标记有所述第二容器的标识信息的第二服务,确定所述第二容器中不包括所述第二服务。
5.根据权利要求1所述的***,其特征在于,所述第二容器中还包括客户端接入服务,所述客户端接入服务用于接收来自于客户端的所述调试请求。
6.根据权利要求1至5任一项所述的***,其特征在于,所述***还包括容器节点,用于:
接收容器生成请求,所述容器生成请求用于请求生成所述第二容器;
根据所述容器生成请求生成所述第二容器;
获取所述第二容器对应的服务配置信息,所述服务配置信息用于配置所述第二容器中的待调试服务;
根据所述服务配置信息在所述第二容器中添加所述待调试服务。
7.根据权利要求6所述的***,其特征在于,
所述第二容器还用于向服务注册中心发送服务注册请求,所述服务注册请求用于请求对所述待调试服务进行注册;其中,所述服务注册中心用于生成服务注册信息,所述服务注册信息中包括所述待调试服务,且所述待调试服务标记有所述第二容器的标识信息;
所述第一容器还用于接收来自于所述服务注册中心的所述服务注册信息。
8.一种联调测试方法,其特征在于,应用于联调测试***中,所述***包括第一容器和n个第二容器,所述第一容器中部署有目标应用所提供的k个服务,所述第二容器中部署有所述k个服务中的至少一个待调试服务,所述n和所述k均为正整数;所述方法包括:
所述第二容器接收调试请求,所述调试请求用于请求对所述第二容器中的待调试服务进行调试;
所述第二容器根据所述调试请求确定待调用的第一服务;
响应于所述第二容器中部署的所述待调试服务包括所述第一服务,所述第二容器调用所述第二容器中的所述第一服务进行调试;
响应于所述第二容器中部署的所述待调试服务不包括所述第一服务,所述第二容器向所述第一容器发送协助调试请求,所述协助调试请求用于请求调用所述第一服务进行调试;
所述第一容器根据所述协助调试请求确定所述第一服务,调用所述第一容器中的所述第一服务进行调试。
CN202010349836.8A 2020-04-28 2020-04-28 联调测试***及方法 Active CN111581085B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010349836.8A CN111581085B (zh) 2020-04-28 2020-04-28 联调测试***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010349836.8A CN111581085B (zh) 2020-04-28 2020-04-28 联调测试***及方法

Publications (2)

Publication Number Publication Date
CN111581085A CN111581085A (zh) 2020-08-25
CN111581085B true CN111581085B (zh) 2023-06-20

Family

ID=72124533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010349836.8A Active CN111581085B (zh) 2020-04-28 2020-04-28 联调测试***及方法

Country Status (1)

Country Link
CN (1) CN111581085B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701010A (zh) * 2015-12-31 2016-06-22 北京元心科技有限公司 一种加速软件测试的方法和装置
CN108121654B (zh) * 2016-11-30 2020-11-06 中国科学院声学研究所 一种基于Docker的软件大规模测试方法
US20180285247A1 (en) * 2017-03-29 2018-10-04 The Travelers Indemnity Company Systems, methods, and apparatus for automated code testing
CN110647469B (zh) * 2019-09-24 2023-09-08 广州荔支网络技术有限公司 一种微服务的测试方法、装置、计算机设备和存储介质
CN110765026B (zh) * 2019-10-31 2023-08-01 望海康信(北京)科技股份公司 自动化测试方法、装置、存储介质及设备

Also Published As

Publication number Publication date
CN111581085A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN108830720B (zh) 智能合约运行方法、装置、***和计算机可读存储介质
CN108415795A (zh) 一种容器Dockerfile、容器镜像快速生成方法及***
CN111610978B (zh) 一种小程序转换方法、装置、设备及存储介质
US20050081220A1 (en) Systems and methods for dynamically linking application software into a running operating system kernel
JPH1083308A (ja) スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体
US11886302B1 (en) System and method for execution of applications in a container
CN113467980B (zh) 日志输出方法、装置及***和嵌入式设备
US11531526B1 (en) Creating portable serverless applications
RU2359316C2 (ru) Способ администрирования компонентов программного обеспечения, интегрированных в мобильную систему
CN115525396A (zh) 基于云原生的应用管理方法及装置
CN110928545A (zh) 组件分发方法、单页应用的开发方法、装置及存储介质
CN113419818B (zh) 基础组件部署方法、装置、服务器及存储介质
Kaewkasi Docker for serverless applications: containerize and orchestrate functions using OpenFaas, OpenWhisk, and Fn
US11494184B1 (en) Creation of transportability container files for serverless applications
De Iasio et al. A framework for microservices synchronization
CN111522623B (zh) 组件化软件多进程运行***
CN113467931A (zh) 算力任务的处理方法、装置及***
CN111581085B (zh) 联调测试***及方法
Wolf et al. Supporting component-based failover units in middleware for distributed real-time and embedded systems
US11513833B1 (en) Event listener interface for container-based execution of serverless functions
US20060010421A1 (en) Methods and apparatus for portable object-oriented components
JP2006146434A (ja) 分散アプリケーションテスト方法及び分散アプリケーションテスト装置
KR102485154B1 (ko) 전력 통신 서비스
Piotrowski et al. Software agents mobility using process migration mechanism in distributed Erlang
Silva et al. JavaScript middleware for mobile agents support on desktop and mobile platforms

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231012

Address after: 31a, 15 / F, building 30, maple mall, bangrang Road, Brazil, Singapore

Patentee after: Baiguoyuan Technology (Singapore) Co.,Ltd.

Address before: 511402 5-13 / F, West Tower, building C, 274 Xingtai Road, Shiqiao street, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU BAIGUOYUAN INFORMATION TECHNOLOGY Co.,Ltd.