一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

服务虚拟化装置及方法与流程

2021-10-24 07:58:00 来源:中国专利 TAG:
1.本发明涉及测试领域,具体而言,涉及一种服务虚拟化装置及方法。
背景技术
::2.服务虚拟化是一种模拟技术,可以适用于测试领域。例如,可以在功能测试、自动化测试、性能测试、契约测试、驱动测试开发、演示测试等场景中,通过模拟一些依赖关系,确保每次执行测试时都会遇到相应的依赖行为和数据。3.目前,主流的服务虚拟化装置普遍技术架构落后,性能不佳。4.以金融业务系统为例,有些金融业系统依赖的下游服务地址耦合在代码中,服务虚拟化装置模拟下游服务时,被测系统在代码中修改地址指向后需重新编译,破坏了代码完整性,从而,已有的服务虚拟化装置不支持无侵入式统一资源定位器(uniformresourcelocator,url)和动态路由修改。5.另外,一些使用微服务架构的服务虚拟化装置依赖特定注册中心,不利于轻量运行,通用性不佳。而且,这些主流服务虚拟化装置性能不支持高并发场景测试,技术栈单一,不支持多语言客户端,支持协议有限且动态扩展困难。技术实现要素:6.基于上述现有技术存在的问题,本发明实施例提供一种服务虚拟化装置及方法,可以在测试过程中,只需配置测试服务集群和服务虚拟化策略,通过配置就可构建模拟(mock)测试环境,对被测系统本身透明,并可提供丰富的mock模型,真正的多集群,多生态通用,多语言,高性能,无侵入,极大提升了测试质量和效率。7.第一方面,本发明实施例提供一种服务虚拟化装置,包括:分布式调度中心、动态代理actor服务、以及虚拟化核心服务;所述分布式调度中心用于接收配置的测试链路策略,并根据所述测试链路策略触发所述actor服务及所述虚拟化核心服务容器化部署,将所述actor服务部署至被测服务同一宿主机上;所述actor服务用于对环境进行初始化;所述虚拟化核心服务包括虚拟化核心服务前置和虚拟化核心服务引擎,用于在接收到测试请求后,通过所述虚拟化核心服务前置提供协议及端口服务,通过所述虚拟化核心服务引擎提供动态及静态数据。8.可选地,所述actor服务包括:字节码修改插件、路由修改插件;所述actor服务具体用于,当所述测试链路策略选择字节码修改策略时,调度所述字节码修改插件,根据所述分布式调度中心下发的测试链路策略对服务统一资源定位符url进行修改,指向所述虚拟化核心服务;或者,当所述测试链路策略选择路由修改策略时,调度所述路由修改插件修改iptables策略,根据所述分布式调度中心下发的测试链路策略重定向转发路由至所述虚拟化核心服务。9.可选地,所述actor服务还包括:监控采集插件;所述actor服务还用于,在测试期间调度所述监控采集插件收集所在节点的监控信息,同步至所述分布式调度中心展示,供测试人员决策。10.可选地,所述服务虚拟化装置还包括:人工智能ai机器人;所述人工智能ai机器人用于为项目组人员提供所述服务虚拟化装置的使用相关培训和常见问题解答,命令发布窗口,定时任务。11.可选地,所述虚拟化核心服务前置提供多语言支持和多种异常构造。12.可选地,当所述虚拟化核心服务部署在本地相同主机时,用于模拟服务间进程通信;当所述虚拟化核心服务部署在不同主机时,用于模拟链路间通信。13.可选地,所述分布式调度中心包括本地调度和k8s云上调度两种模式。14.上述第一方面提供的服务虚拟化装置在测试过程中,只需配置测试服务集群和服务虚拟化策略,通过ai识别或者配置就可构建模拟(mock)测试环境,这对被测系统本身透明,并可提供丰富的mock模型,真正的多集群,多生态通用,多语言,高性能,无侵入,极大提升了测试质量和效率。15.其中,该服务虚拟化装置采用字节码拦截技术和iptables流量劫持技术,无侵入式修改被测系统依赖地址,保障了被测服务的完整性。通过容器技术植入actor方式,实现动态代理,可以让使用者无需关注某个技术生态,可多个被测集群,多个软件技术生态中并行使用。另外,该服务虚拟化装置采用异步非阻塞编程和高并发框架,实现了服务虚拟化装置的高并发支持,采用容器云技术,动态可扩展。16.该服务虚拟化装置不仅局限于模拟服务末端,也可作为中间商,既接收和返回上游信息,又可衔接下游服务,既可模拟接口方法,又可模拟进程间服务,又可模拟链路间服务。通过在该服务虚拟化装置中引入ai机器人,可以降低使用门槛,提高测试效率。而且,该服务虚拟化装置中,分布式调度中心可以灵活调度服务、搭配虚拟化核心服务。17.第二方面,本发明实施例提供一种服务虚拟化方法,所述方法应用于服务虚拟化装置;所述服务虚拟化装置包括:分布式调度中心、动态代理actor服务、以及虚拟化核心服务;所述方法包括:18.所述分布式调度中心接收配置的测试链路策略,并根据所述测试链路策略触发所述actor服务及所述虚拟化核心服务容器化部署,将所述actor服务部署至被测服务同一宿主机上;所述actor服务对环境进行初始化;所述虚拟化核心服务在接收到测试请求后,通过虚拟化核心服务前置提供协议及端口服务,通过虚拟化核心服务引擎提供动态及静态数据。19.可选地,所述actor服务包括:字节码修改插件、路由修改插件;所述actor服务对环境进行初始化,包括:当所述测试链路策略选择字节码修改策略时,所述actor服务调度所述字节码修改插件,根据所述分布式调度中心下发的测试链路策略对服务统一资源定位符url进行修改,指向所述虚拟化核心服务;或者,当所述测试链路策略选择路由修改策略时,所述actor服务调度所述路由修改插件修改iptables策略,根据所述分布式调度中心下发的测试链路策略重定向转发路由至所述虚拟化核心服务。20.可选地,所述actor服务还包括:监控采集插件;所述方法还包括:所述actor服务在测试期间调度所述监控采集插件收集所在节点的监控信息,同步至所述分布式调度中心展示,供测试人员决策。21.可选地,所述服务虚拟化装置还包括:人工智能ai机器人;所述方法还包括:所述人工智能ai机器人为项目组人员提供所述服务虚拟化装置的使用相关培训和常见问题解答,命令发布窗口,定时任务。22.可选地,所述虚拟化核心服务前置提供多语言支持和多种异常构造。23.可选地,所述虚拟化核心服务部署在本地相同主机时,模拟服务间进程通信;所述虚拟化核心服务部署在不同主机时,模拟链路间通信。24.可选地,所述分布式调度中心包括本地调度和k8s云上调度两种模式。25.第三方面,本发明实施例提供一种程序产品,该程序产品可以是u盘、移动硬盘、rom、ram、磁碟或者光盘等存储介质,存储介质上可以存储有计算机程序,计算机程序被处理器运行时执行如第二方面所述的方法中涉及到的各单元(如:ai机器人、分布式调度中心、actor服务、以及虚拟化核心服务等)所执行的步骤。26.第四方面,本发明实施例提供一种电子设备,该电子设备可以包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信。当该电子设备是第一方面所述的服务虚拟化装置中的某个单元时(如:ai机器人、分布式调度中心、actor服务、以及虚拟化核心服务等),处理器执行机器可读指令,以执行时执行如第二方面所述的方法中该单元执行的步骤。附图说明27.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。28.图1示出了本发明实施例提供的服务虚拟化装置的结构示意图;29.图2示出了本发明实施例提供的虚拟化核心服务的原理示意图;30.图3示出了本发明实施例提供的服务虚拟化方法的流程示意图;31.图4示出了本发明实施例提供的服务虚拟化方法的另一流程示意图;32.图5示出了本发明实施例提供的服务虚拟化方法的又一流程示意图;33.图6示出了本发明实施例提供的服务虚拟化方法的又一流程示意图;34.图7示出了本发明实施例提供的一种电子设备的结构示意图。具体实施方式35.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,本发明中附图仅起到说明和描述的目的,并不用于限定本发明的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本发明中使用的流程图示出了根据本发明的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本
发明内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。36.另外,本发明所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。37.需要说明的是,本发明实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。还应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本发明的描述中,还需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。38.服务虚拟化是一种模拟技术,可以适用于测试领域。例如,可以在功能测试、自动化测试、性能测试、契约测试、驱动测试开发、演示测试等场景中,通过模拟一些依赖关系,确保每次执行测试时都会遇到相应的依赖行为和数据。39.目前,主流的服务虚拟化装置普遍技术架构落后,性能不佳。40.以金融业务系统为例,有些金融业系统依赖的下游服务地址耦合在代码中,服务虚拟化装置模拟下游服务时,被测系统在代码中修改地址指向后需重新编译,破坏了代码完整性,从而,已有的服务虚拟化装置不支持无侵入式统一资源定位器(uniformresourcelocator,url)和动态路由修改。41.另外,一些使用微服务架构的服务虚拟化装置依赖特定注册中心,不利于轻量运行,通用性不佳。而且,这些主流服务虚拟化装置性能不支持高并发场景测试,技术栈单一,不支持多语言客户端,支持协议有限且动态扩展困难。42.基于此,本发明实施例提供了一种轻量级的服务虚拟化装置,可以适用于功能测试、自动化测试、性能测试、契约测试、驱动测试开发、演示测试等场景。该服务虚拟化装置能够通过容器(container)技术植入动态代理(actor)进行字节码拦截和流量拦截,无侵入地修改系统依赖的url或者动态路由重定向,解决重新编译造成的代码完整性遭破坏或者应用强依赖注册中心的问题。43.另外,该服务虚拟化装置还可以通过异步非阻塞编程和高并发框架,解决服务虚拟化装置性能差的问题,解决服务虚拟化装置只能模拟服务末端不能兼顾代理的问题。44.图1示出了本发明实施例提供的服务虚拟化装置的结构示意图。45.如图1所示,该服务虚拟化装置可以包括:人工智能(artificialintelligence,ai)机器人、分布式调度中心、actor服务、以及虚拟化核心服务。46.ai机器人可以为项目组人员提供服务虚拟化装置使用相关培训和常见问题解答,命令发布窗口,定时任务等。47.分布式调度中心负责服务虚拟化装置策略的配置、服务虚拟化装置的调度及测试集群的监控。48.actor服务包括:字节码修改插件、路由修改插件、以及监控采集插件。其中,字节码修改插件负责零侵入式url修改(或称为无侵入式url修改)。路由修改插件可以通过流量劫持,动态重定向交易路由。监控采集插件可以在测试期间,收集所在节点的监控信息,同步至分布式调度中心展示,供测试人员决策。49.虚拟化核心服务可以提供高性能,多语言,跨平台,可动态扩展的虚拟化服务,支持容器化部署,支持多种异常构造,用于实现该服务虚拟化装置的具体功能。50.可选地,本发明实施例中,分布式调度中心可以支持本地调度和k8s云上调度两种模式,可灵活选择。51.示例性地,图2示出了本发明实施例提供的虚拟化核心服务的原理示意图。如图2所示,本发明实施例中,虚拟化核心服务可以包括:挡板前置和挡板引擎。挡板前置中包括多个模拟单元(mock),挡板引擎中包括服务虚拟化所需的静态数据、动态数据、静态文件、静态报文、定时触发条件等信息。52.下面结合图1和图2对本发明实施例提供的服务虚拟化装置的执行流程进行说明。53.本发明实施例提供的服务虚拟化装置的执行流程如下:54.1、通过ai机器人获取服务虚拟化装置相关使用文档及常见操作问题。55.2、通过分布式调度中心/智能ai机器人发布配置服务路由策略及虚拟化核心服务部署策略。56.分布式调度中心可以选择k8s云上调度或本地调度,调度流程如下:57.(1)在分布式调度中心配置测试链路策略或者通过智能ai机器人设置测试链路策略,发布虚拟化核心服务链路信息。58.(2)分布式调度中心根据测试链路策略触发actor及虚拟化核心服务容器化部署,将actor部署至被测服务同一宿主机上。虚拟化核心服务部署坐标可根据策略需求,如虚拟化核心服务部署在本地相同主机可以模拟服务间进程通信,部署在不同主机可以模拟链路间通信。59.3、actor对环境进行初始化。60.其中,actor对环境进行初始化,可选择两种策略,字节码修改策略和路由修改策略。61.(1)若选择字节码修改策略,actor将调度字节码修改插件,根据分布式调度中心下发的测试链路策略对服务url进行修改,指向虚拟化核心服务。62.(2)若选择路由修改策略,actor将调度路由修改插件修改iptables策略,根据分布式调度中心下发的测试链路策略重定向转发路由至虚拟化核心服务。63.4、虚拟化核心服务实现高性能服务虚拟化。64.虚拟化核心服务收到测试请求后,先后经过虚拟化核心服务前置(即图2中所示的挡板前置)和虚拟化核心服务引擎(即图2中所示的挡板引擎)。其中,虚拟化核心服务前置可以负责提供协议,端口服务。虚拟化核心服务引擎可以负责提供动态及静态数据。虚拟化核心服务前置可以提供多语言支持和多种异常构造,从而可以适合性能测试,契约测试、驱动测试开发、性能测试、演示测试等多种场景。65.5、actor收集监控信息,同步至分布式调度中心66.在测试期间,actor会收集所在节点(或称为设备(service))的监控信息,同步至分布式调度中心展示,供测试人员决策。67.由上所述,本发明实施例提供的服务虚拟化装置在测试过程中,只需配置测试服务集群和服务虚拟化策略,通过ai识别或者配置就可构建模拟(mock)测试环境,这对被测系统本身透明,并可提供丰富的mock模型,真正的多集群,多生态通用,多语言,高性能,无侵入,极大提升了测试质量和效率。68.具体地,该服务虚拟化装置可以采用字节码拦截技术和iptables流量劫持技术,无侵入式修改被测系统依赖地址,保障被测服务的完整性。通过容器技术植入actor方式,实现动态代理,让使用者无需关注某个技术生态,可多个被测集群,多个软件技术生态中并行使用。另外,该服务虚拟化装置采用异步非阻塞编程和高并发框架,实现了服务虚拟化装置的高并发支持,采用容器云技术,动态可扩展。69.还可以看到,该服务虚拟化装置不仅局限于模拟服务末端,也可作为中间商,既接收和返回上游信息,又可衔接下游服务,既可模拟接口方法,又可模拟进程间服务,又可模拟链路间服务。通过在该服务虚拟化装置中引入ai机器人,可以降低使用门槛,提高测试效率。70.进一步,该服务虚拟化装置中,分布式调度中心可以灵活调度服务、搭配虚拟化核心服务。71.以该服务虚拟化装置应用于it服务网关为例,需要服务虚拟化装置模拟微服务集群(http json),首先可以在ai总控模块设置测试集群策略(包括测试集群信息,mock路由信息),发送mock部署消息,后台会通过k8s云平台一键部署actor动态代理和虚拟化核心服务(注册至注册中心),初始化测试环境。10个网关实例,1个服务虚拟化装置(8c/16g),混合交易可达100000tps。测试期间,服务虚拟化装置可构造随机延时等故障,同时分布式调度中心控制台可实时查看服务地图监控集群。72.基于前述实施例所述的服务虚拟化装置,本发明实施例还提供一种服务虚拟化方法,所述方法应用于前述服务虚拟化装置。73.图3示出了本发明实施例提供的服务虚拟化方法的流程示意图。74.如图3所示,该服务虚拟化方法可以包括:75.s301、分布式调度中心接收配置的测试链路策略。76.s302、分布式调度中心根据测试链路策略触发actor服务及虚拟化核心服务容器化部署,将actor服务部署至被测服务同一宿主机上。77.s303、actor服务对环境进行初始化。78.s304、虚拟化核心服务在接收到测试请求后,通过虚拟化核心服务前置提供协议及端口服务,通过虚拟化核心服务引擎提供动态及静态数据。79.可选地,actor服务包括:字节码修改插件、路由修改插件。图4示出了本发明实施例提供的服务虚拟化方法的另一流程示意图。如图4所示,所述actor服务对环境进行初始化,包括s401或者s402。80.s401、当测试链路策略选择字节码修改策略时,actor服务调度字节码修改插件,根据分布式调度中心下发的测试链路策略对服务统一资源定位符url进行修改,指向虚拟化核心服务。81.s402、当测试链路策略选择路由修改策略时,actor服务调度路由修改插件修改iptables策略,根据分布式调度中心下发的测试链路策略重定向转发路由至虚拟化核心服务。82.可选地,actor服务还包括:监控采集插件。图5示出了本发明实施例提供的服务虚拟化方法的又一流程示意图。如图5所示,所述方法还包括:83.s501、actor服务在测试期间调度监控采集插件收集所在节点的监控信息,同步至分布式调度中心展示,供测试人员决策。84.可选地,服务虚拟化装置还包括:人工智能ai机器人。图6示出了本发明实施例提供的服务虚拟化方法的又一流程示意图。如图6所示,所述方法还包括:85.s601、人工智能ai机器人为项目组人员提供所述服务虚拟化装置的使用相关培训和常见问题解答,命令发布窗口,定时任务。86.可选地,虚拟化核心服务前置提供多语言支持和多种异常构造。87.可选地,虚拟化核心服务部署在本地相同主机时,模拟服务间进程通信;虚拟化核心服务部署在不同主机时,模拟链路间通信。88.可选地,分布式调度中心包括本地调度和k8s云上调度两种模式。89.应当理解,上述服务虚拟化方法中涉及到的各单元(如:ai机器人、分布式调度中心、actor服务、以及虚拟化核心服务等)所执行的步骤,可以以软件功能单元的形式实现,如:可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。90.基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,即,服务虚拟化装置中的各单元可以计算机软件产品的形式存储在存储介质中,包括若干指令用以使得处理器执行时实现所述方法中服务虚拟化装置中的各单元的功能。91.本领域内的技术人员应明白,本发明实施例可以采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式中的任一种实现。92.基于此,本发明实施例还提供一种程序产品,该程序产品可以是u盘、移动硬盘、rom、ram、磁碟或者光盘等存储介质,存储介质上可以存储有计算机程序,计算机程序被处理器运行时执行如前述方法实施例中所述的方法中涉及到的各单元(如:ai机器人、分布式调度中心、actor服务、以及虚拟化核心服务等)所执行的步骤。93.具体实现方式和技术效果类似,在此不再赘述。94.可选地,本发明实施例还提供一种服务虚拟化装置,该装置可以如前述图1所示,包括:ai机器人、分布式调度中心、actor服务、以及虚拟化核心服务。其中,服务虚拟化装置中的每个单元(即ai机器人、分布式调度中心、actor服务、以及虚拟化核心服务等)可以是如图7所示的一个电子设备。该电子设备可以是服务器、计算机等。95.图7示出了本发明实施例提供的一种电子设备的结构示意图。如图7所示,该电子设备可以包括:处理器701、存储介质702和总线703,存储介质702存储有处理器701可执行的机器可读指令,当电子设备运行时,处理器701与存储介质702之间通过总线703通信,处理器701执行机器可读指令,以执行时执行如前述实施例中所述的服务虚拟化装置中的某个单元执行的步骤。如:该电子设备是ai机器人时,即实现ai机器人执行的步骤;该电子设备是虚拟化核心服务时,即实现虚拟化核心服务执行的步骤。具体实现方式和技术效果类似,在此不再赘述。96.为了便于说明,在上述电子设备中仅描述了一个处理器。然而,应当注意,一些实施例中,本发明中的电子设备还可以包括多个处理器,因此本发明中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。97.以上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜