服务虚拟化装置及方法制造方法及图纸

技术编号:30441388 阅读:14 留言:0更新日期:2021-10-24 18:29
本发明专利技术提供了一种服务虚拟化装置及方法,涉及测试领域。该装置包括分布式调度中心、actor服务、以及虚拟化核心服务。分布式调度中心用于接收配置的测试链路策略,并根据测试链路策略触发actor服务及虚拟化核心服务容器化部署,将actor服务部署至被测服务同一宿主机上。actor服务用于对环境进行初始化。虚拟化核心服务用于在接收到测试请求后,通过虚拟化核心服务前置提供协议及端口服务,通过虚拟化核心服务引擎提供动态及静态数据。该服务虚拟化装置在测试过程中,只需配置测试服务集群和服务虚拟化策略,就可构建mock测试环境,对被测系统本身透明,并可提供丰富的mock模型,真正的多集群,多生态通用,多语言,高性能,无侵入,极大提升了测试质量和效率。极大提升了测试质量和效率。极大提升了测试质量和效率。

【技术实现步骤摘要】
服务虚拟化装置及方法


[0001]本专利技术涉及测试领域,具体而言,涉及一种服务虚拟化装置及方法。

技术介绍

[0002]服务虚拟化是一种模拟技术,可以适用于测试领域。例如,可以在功能测试、自动化测试、性能测试、契约测试、驱动测试开发、演示测试等场景中,通过模拟一些依赖关系,确保每次执行测试时都会遇到相应的依赖行为和数据。
[0003]目前,主流的服务虚拟化装置普遍技术架构落后,性能不佳。
[0004]以金融业务系统为例,有些金融业系统依赖的下游服务地址耦合在代码中,服务虚拟化装置模拟下游服务时,被测系统在代码中修改地址指向后需重新编译,破坏了代码完整性,从而,已有的服务虚拟化装置不支持无侵入式统一资源定位器(uniform resource locator,URL)和动态路由修改。
[0005]另外,一些使用微服务架构的服务虚拟化装置依赖特定注册中心,不利于轻量运行,通用性不佳。而且,这些主流服务虚拟化装置性能不支持高并发场景测试,技术栈单一,不支持多语言客户端,支持协议有限且动态扩展困难。

技术实现思路

[0006]基于上述现有技术存在的问题,本专利技术实施例提供一种服务虚拟化装置及方法,可以在测试过程中,只需配置测试服务集群和服务虚拟化策略,通过配置就可构建模拟(mock)测试环境,对被测系统本身透明,并可提供丰富的mock模型,真正的多集群,多生态通用,多语言,高性能,无侵入,极大提升了测试质量和效率。
[0007]第一方面,本专利技术实施例提供一种服务虚拟化装置,包括:分布式调度中心、动态代理actor服务、以及虚拟化核心服务;所述分布式调度中心用于接收配置的测试链路策略,并根据所述测试链路策略触发所述actor服务及所述虚拟化核心服务容器化部署,将所述actor服务部署至被测服务同一宿主机上;所述actor服务用于对环境进行初始化;所述虚拟化核心服务包括虚拟化核心服务前置和虚拟化核心服务引擎,用于在接收到测试请求后,通过所述虚拟化核心服务前置提供协议及端口服务,通过所述虚拟化核心服务引擎提供动态及静态数据。
[0008]可选地,所述actor服务包括:字节码修改插件、路由修改插件;所述actor服务具体用于,当所述测试链路策略选择字节码修改策略时,调度所述字节码修改插件,根据所述分布式调度中心下发的测试链路策略对服务统一资源定位符URL进行修改,指向所述虚拟化核心服务;或者,当所述测试链路策略选择路由修改策略时,调度所述路由修改插件修改iptables策略,根据所述分布式调度中心下发的测试链路策略重定向转发路由至所述虚拟化核心服务。
[0009]可选地,所述actor服务还包括:监控采集插件;所述actor服务还用于,在测试期间调度所述监控采集插件收集所在节点的监控信息,同步至所述分布式调度中心展示,供
测试人员决策。
[0010]可选地,所述服务虚拟化装置还包括:人工智能AI机器人;所述人工智能AI机器人用于为项目组人员提供所述服务虚拟化装置的使用相关培训和常见问题解答,命令发布窗口,定时任务。
[0011]可选地,所述虚拟化核心服务前置提供多语言支持和多种异常构造。
[0012]可选地,当所述虚拟化核心服务部署在本地相同主机时,用于模拟服务间进程通信;当所述虚拟化核心服务部署在不同主机时,用于模拟链路间通信。
[0013]可选地,所述分布式调度中心包括本地调度和k8s云上调度两种模式。
[0014]上述第一方面提供的服务虚拟化装置在测试过程中,只需配置测试服务集群和服务虚拟化策略,通过AI识别或者配置就可构建模拟(mock)测试环境,这对被测系统本身透明,并可提供丰富的mock模型,真正的多集群,多生态通用,多语言,高性能,无侵入,极大提升了测试质量和效率。
[0015]其中,该服务虚拟化装置采用字节码拦截技术和iptables流量劫持技术,无侵入式修改被测系统依赖地址,保障了被测服务的完整性。通过容器技术植入actor方式,实现动态代理,可以让使用者无需关注某个技术生态,可多个被测集群,多个软件技术生态中并行使用。另外,该服务虚拟化装置采用异步非阻塞编程和高并发框架,实现了服务虚拟化装置的高并发支持,采用容器云技术,动态可扩展。
[0016]该服务虚拟化装置不仅局限于模拟服务末端,也可作为中间商,既接收和返回上游信息,又可衔接下游服务,既可模拟接口方法,又可模拟进程间服务,又可模拟链路间服务。通过在该服务虚拟化装置中引入AI机器人,可以降低使用门槛,提高测试效率。而且,该服务虚拟化装置中,分布式调度中心可以灵活调度服务、搭配虚拟化核心服务。
[0017]第二方面,本专利技术实施例提供一种服务虚拟化方法,所述方法应用于服务虚拟化装置;所述服务虚拟化装置包括:分布式调度中心、动态代理actor服务、以及虚拟化核心服务;所述方法包括:
[0018]所述分布式调度中心接收配置的测试链路策略,并根据所述测试链路策略触发所述actor服务及所述虚拟化核心服务容器化部署,将所述actor服务部署至被测服务同一宿主机上;所述actor服务对环境进行初始化;所述虚拟化核心服务在接收到测试请求后,通过虚拟化核心服务前置提供协议及端口服务,通过虚拟化核心服务引擎提供动态及静态数据。
[0019]可选地,所述actor服务包括:字节码修改插件、路由修改插件;所述actor服务对环境进行初始化,包括:当所述测试链路策略选择字节码修改策略时,所述actor服务调度所述字节码修改插件,根据所述分布式调度中心下发的测试链路策略对服务统一资源定位符URL进行修改,指向所述虚拟化核心服务;或者,当所述测试链路策略选择路由修改策略时,所述actor服务调度所述路由修改插件修改iptables策略,根据所述分布式调度中心下发的测试链路策略重定向转发路由至所述虚拟化核心服务。
[0020]可选地,所述actor服务还包括:监控采集插件;所述方法还包括:所述actor服务在测试期间调度所述监控采集插件收集所在节点的监控信息,同步至所述分布式调度中心展示,供测试人员决策。
[0021]可选地,所述服务虚拟化装置还包括:人工智能AI机器人;所述方法还包括:所述
人工智能AI机器人为项目组人员提供所述服务虚拟化装置的使用相关培训和常见问题解答,命令发布窗口,定时任务。
[0022]可选地,所述虚拟化核心服务前置提供多语言支持和多种异常构造。
[0023]可选地,所述虚拟化核心服务部署在本地相同主机时,模拟服务间进程通信;所述虚拟化核心服务部署在不同主机时,模拟链路间通信。
[0024]可选地,所述分布式调度中心包括本地调度和k8s云上调度两种模式。
[0025]第三方面,本专利技术实施例提供一种程序产品,该程序产品可以是U盘、移动硬盘、ROM、RAM、磁碟或者光盘等存储介质,存储介质上可以存储有计算机程序,计算机程序被处理器运行时执行如第二方面所述的方法中涉及到的各单元(如:AI机器人、分布式调本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务虚拟化装置,其特征在于,包括:分布式调度中心、动态代理actor服务、以及虚拟化核心服务;所述分布式调度中心用于接收配置的测试链路策略,并根据所述测试链路策略触发所述actor服务及所述虚拟化核心服务容器化部署,将所述actor服务部署至被测服务同一宿主机上;所述actor服务用于对环境进行初始化;所述虚拟化核心服务包括虚拟化核心服务前置和虚拟化核心服务引擎,用于在接收到测试请求后,通过所述虚拟化核心服务前置提供协议及端口服务,通过所述虚拟化核心服务引擎提供动态及静态数据。2.根据权利要求1所述的装置,其特征在于,所述actor服务包括:字节码修改插件、路由修改插件;所述actor服务具体用于,当所述测试链路策略选择字节码修改策略时,调度所述字节码修改插件,根据所述分布式调度中心下发的测试链路策略对服务统一资源定位符URL进行修改,指向所述虚拟化核心服务;或者,当所述测试链路策略选择路由修改策略时,调度所述路由修改插件修改iptables策略,根据所述分布式调度中心下发的测试链路策略重定向转发路由至所述虚拟化核心服务。3.根据权利要求2所述的装置,其特征在于,所述actor服务还包括:监控采集插件;所述actor服务还用于,在测试期间调度所述监控采集插件收集所在节点的监控信息,同步至所述分布式调度中心展示,供测试人员决策。4.根据权利要求1所述的装置,其特征在于,所述服务虚拟化装置还包括:人工智能AI机器人;所述人工智能AI机器人用于为项目组人员提供所述服务虚拟化装置的使用相关培训和常见问题解答,命令发布窗口,定时任务。5.根据权利要求1所述的装置,其特征在于,所述虚拟化核心服务前置提供多语言支持和多种异常构造。6.根据权利要求1所述的装置,其特征在于,当所述虚拟化核心服务部署在本地相同主机时,用于模拟服务间进程通信;当所述虚拟化核心服务部署在不同主机时,用于模拟链路间通信。7.根据权利要求1所述的装置,其特征在于,所述分布式调度中心包括本地调度和k8s云上调度两种模式。8.一种服务虚拟化方法,其特征在于,所述方法应...

【专利技术属性】
技术研发人员:熊严飞王春跃游会迪
申请(专利权)人:中信银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1