CN114710542A - 一种基于rpc的泛化路由mock方法及装置 - Google Patents

一种基于rpc的泛化路由mock方法及装置 Download PDF

Info

Publication number
CN114710542A
CN114710542A CN202210287951.6A CN202210287951A CN114710542A CN 114710542 A CN114710542 A CN 114710542A CN 202210287951 A CN202210287951 A CN 202210287951A CN 114710542 A CN114710542 A CN 114710542A
Authority
CN
China
Prior art keywords
request
service
rpc
target
node
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
Application number
CN202210287951.6A
Other languages
English (en)
Other versions
CN114710542B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210287951.6A priority Critical patent/CN114710542B/zh
Publication of CN114710542A publication Critical patent/CN114710542A/zh
Application granted granted Critical
Publication of CN114710542B publication Critical patent/CN114710542B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于rpc的泛化路由mock方法及装置,可以应用于大数据领域,方法包括:从获取的请求任务中提取服务特征配置;根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求;接收请求的执行结果获取目标效果。本申请克服了在没有契约包的情况下无法进行测试的问题。针对现实的测试场景和发展方向,实现了一套针对rpc请求的路由mock方案,解决了rpc测试调用中无法做到的精准测试,在疲劳、性能测试中有效请求低的问题,提高了测试效率,为devops场景中的testops的自动化测试提供了工具和理论基石。

Description

一种基于rpc的泛化路由mock方法及装置
技术领域
本申请属于大数据技术领域,具体地讲,涉及一种基于rpc的泛化路由mock方法及装置。
背景技术
目前对于使用路由方式编排服务节点的rpc服务集群(rpc,Remote ProcedureCall,远程过程调用),路由管理是由契约包及路由算法提供的。典型的路由管理是通过客户端,在请求发送前,对rpc请求的入参或者请求端ip地址进行算法映射,从而得到目标服务端。通常必须使用服务端的契约包才能完成路由,但是在不能得到契约包的场景下,业界也有其他的调用方案:
在没有契约包时,用原生的rpc包随机请求。这种方式的缺陷在于在测试时,访问到的服务节点未知,结果不准确。在这种完全使用原生rpc的情况下,如果本身的路由功能是在原生rpc框架中进行的,则会直接抛出错误,无法测试。如果是经过修改,可以完成随机请求,但请求会随机请求到一个服务节点,此时如果需要测试特定的服务节点或服务节点集群只能依靠大量请求。
通过契约包请求。这种方案的缺陷在于依赖于契约包,可以满足基本的功能业务需求,但是在目标节点是一个特定节点,而算法只能得到的是某几个节点组成的服务群的情况下,会退化到方案一;同时此方案依赖契约包,对于自动化压测平台等无法维护和得到所有业务契约包的平台,测试无法开展,没有自动化压测的基础。
关闭其他服务节点。但是每次测试前、测试后都需要做大量的手工操作,对大批量多应用的自动化测试非常不友好,对基本功能测试也造成大量工作成本。
发明内容
本申请提供了一种基于rpc的泛化路由mock方法及装置,以至少解决当前完成路由依赖于服务端的契约包,在没有契约包的场景下无法顺利开展测试的问题。
根据本申请的第一个方面,提供了一种基于rpc的泛化路由mock方法,包括:
从获取的请求任务中提取服务特征配置;
根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求;
接收请求的执行结果获取目标效果。
在一实施例中,从获取的请求任务中提取服务特征配置,包括:
针对获取的请求任务执行自动化请求回放的场景;
在回放场景中增加采集域,并获取请求实际访问的服务节点的注册信息;
根据注册信息获取服务特征配置清单。
在一实施例中,根据服务特征配置进行拼接获得请求链路,包括:
从服务特征配置中获取拼接业务请求参数和请求配置;
根据拼接业务请求参数和请求配置进行请求拼接。
在一实施例中,利用泛化调用请求链路执行请求,包括:
根据服务特征配置和获取的服务注册信息获取目标服务节点;
截取请求链路并发送至目标服务节点以使目标服务节点执行请求。
在一实施例中,根据服务特征配置和获取的服务注册信息获取目标服务节点,包括:
对获取的服务注册信息进行清洗;
将服务特征配置清单与服务注册信息进行比对获得目标节点清单;
从目标节点清单中获取目标服务节点。
在一实施例中,将服务特征配置清单与服务注册信息进行比对获得目标节点清单,包括:
将服务特征配置清单与服务注册信息进行比对得到在服务特征配置清单已配置并且在服务注册信息中存在的配置值相同的目标节点清单;
在一实施例中,从目标节点清单中获取目标服务节点,包括:
根据预存的负载均衡算法,从目标节点清单中获取一个目标服务节点。
根据本申请的另一个方面,还提供了一种基于rpc的泛化路由mock装置,包括:
提取单元,用于从获取的请求任务中提取服务特征配置;
请求拼接调用单元,用于根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求;
接收单元,用于接收请求的执行结果获取目标效果。
在一实施例中,提取单元包括:
请求回放模块,用于针对获取的请求任务执行自动化请求回放的场景;
采集域增加模块,用于在回放场景中增加采集域,并获取请求实际访问的服务节点的注册信息;
服务特征配置清单生成模块,用于根据注册信息获取服务特征配置清单。
在一实施例中,请求拼接调用单元包括:
获取模块,用于从服务特征配置中获取拼接业务请求参数和请求配置;
拼接模块,用于根据拼接业务请求参数和请求配置进行请求拼接。
在一实施例中,请求拼接调用单元还包括:
目标服务节点确定模块,用于根据服务特征配置和获取的服务注册信息获取目标服务节点;
截取模块,用于截取请求链路并发送至目标服务节点以使目标服务节点执行请求。
在一实施例中,目标服务节点确定模块包括:
清洗模块,用于对获取的服务注册信息进行清洗;
比对模块,用于将服务特征配置清单与服务注册信息进行比对获得目标节点清单;
确定模块,用于从目标节点清单中获取目标服务节点。
在一实施例中,比对模块包括:
将服务特征配置清单与服务注册信息进行比对得到在服务特征配置清单已配置并且在服务注册信息中存在的配置值相同的目标节点清单;
在一实施例中,确定模块包括:
根据预存的负载均衡算法,从目标节点清单中获取一个目标服务节点。
本申请通过结合rpc请求的链路流程,参考dubbo(一个分布式服务框架)等rpc实现框架,将请求进行拼接并拦截后直接发送至目标节点进行执行,克服了在没有契约包的情况下无法进行测试的问题。针对现实的测试场景和发展方向,实现了一套针对rpc请求的路由mock方案,解决了rpc测试调用中无法做到的精准测试,在疲劳、性能测试中有效请求低的问题,提高了测试效率,为devops场景中的testops的自动化测试提供了工具和理论基石。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种基于rpc的泛化路由mock方法流程图。
图2为本申请实施例中从获取的请求任务中提取服务特征配置的方法流程图。
图3为本申请实施例中根据服务特征配置进行拼接获得请求链路的方法流程图。
图4为本申请实施例中利用泛化调用请求链路执行请求的方法流程图。
图5为本申请实施例中获取目标服务节点的方法流程图。
图6为本申请实施例中基于rpc的泛化路由mock系统示意图。
图7为本申请提供的一种基于rpc的泛化路由mock装置的结构框图。
图8为本申请实施例中提取单元的结构框图。
图9为本申请实施例中请求拼接调用单元的结构框图。
图10为本申请实施例中请求拼接调用单元的另一功能结构框图。
图11为本申请实施例中目标服务节点确定模块的结构框图。
图12为本申请实施例中一种电子设备的具体实施方式。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于使用路由方式编排服务节点的rpc服务集群,路由管理是由契约包及路由算法提供的。通常必须使用服务端的契约包才能完成路由,但是在不能得到契约包的场景下,大量的请求测试会加重测试负担,并且效率低下。
为了解决背景技术中存在的问题,本申请提供了一种基于rpc的泛化路由mock方法,如图1所示,包括:
S101:从获取的请求任务中提取服务特征配置。
S102:根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求。
S103:接收请求的执行结果获取目标效果。
在一具体实施例中,如图6所示,在执行请求任务前,从用户人员配置的或者是自动获取的请求中提取服务特征配置,然后由此拼接成请求链路,请求发起模块执行请求链路发起,然后请求链路被截取模块截取,跳过正常逻辑,直接发送到链路服务模块和注册中心,最后经由服务提供者执行该请求并将执行结果返回。
图1所示的方法的执行主体可以为PC、终端等,通过图1所示的方法实现了分布式调用中在没有契约包或者不能获得契约包的情况下依然可以实现分布式调用的功能。
在一实施例中,从获取的请求任务中提取服务特征配置,如图2所示,包括:
S201:针对获取的请求任务执行自动化请求回放的场景。
S202:在回放场景中增加采集域,并获取请求实际访问的服务节点的注册信息。
S203:根据注册信息获取服务特征配置清单。
在一具体实施例中,根据不同的请求来源,特征可以分为人工配置的特征和自动提取的特征。针对人工配置的特征而言,测试人员发送请求需要指定目标节点的场景,提供人工填写的配置参数key和参数值的服务特征配置清单。针对自动提取的特征而言,从生产/测试环境利用采集工具采集的请求流量,执行自动化请求回放的场景,要求增加采集域,在请求返回中获取请求实际访问的服务节点的注册信息,并且在流量回流时,自动的将信息生成服务特征配置清单。
在一实施例中,根据服务特征配置进行拼接获得请求链路,如图3所示,包括:
S301:从服务特征配置中获取拼接业务请求参数和请求配置。
S302:根据拼接业务请求参数和请求配置进行请求拼接。
在一具体实施例中,利用请求发起模块,拼接业务请求参数和请求配置,利用泛化调用执行请求。
在一实施例中,利用泛化调用请求链路执行请求,如图4所示,包括:
S401:根据服务特征配置和获取的服务注册信息获取目标服务节点。
S402:截取请求链路并发送至目标服务节点以使目标服务节点执行请求。
在一具体实施例中,请求链路被截取模块截取,跳过正常逻辑,然后从注册服务中心拉取所有被请求接口的服务提供方信息(服务注册信息),服务注册信息是根据服务提供方的服务特征配置而预先进行注册的信息;遍历注册中心拉取的提供方服务,执行信息比对,和节点清洗,将所有满足特征的服务提供者信息筛选进入备选目标服务队列。从备选目标服务队列中确定最终的目标服务节点,然后请求链路被截取模块截取,跳过正常逻辑直接发送至目标服务节点以使目标服务节点执行请求。注册服务信息拉取在实际请求前,获取在注册中心注册的目标集群的所有服务节点的注册信息,包括探寻注册中心的心跳,拿取注册中心服务注册列表,获取目标服务的提供方节点,拉取提供方节点的数据。截取模块截取请求链路是指在实际路由发生前,利用插桩的方式改变原有的路由规则,直接执行路由比对模块。向路由对比模块得出的服务提供方invoker发起调用。
在一实施例中,根据服务特征配置和获取的服务注册信息获取目标服务节点,如图5所示,包括:
S501:对获取的服务注册信息进行清洗。
S502:将服务特征配置清单与服务注册信息进行比对获得目标节点清单。
S503:从目标节点清单中获取目标服务节点。
在一具体实施例中,服务注册信息中存在较多的无效配置,首先会对仅对注册中心中使用的节点信息进行清洗,配置单信息和节点信息进行比对,得到在配置单中配置了的并且在节点信息中存在且配置值相同的节点。如果配置单中写明了目标节点地址,则直接指定此节点作为服务提供方也即目标服务节点,如果没有写明,则按照本地的负载均衡算法,获取一个目标服务节点。
在一实施例中,将服务特征配置清单与服务注册信息进行比对获得目标节点清单,包括:
将服务特征配置清单与服务注册信息进行比对得到在服务特征配置清单已配置并且在服务注册信息中存在的配置值相同的目标节点清单;
在一实施例中,从目标节点清单中获取目标服务节点,包括:
根据预存的负载均衡算法,从目标节点清单中获取一个目标服务节点。
本申请通过结合rpc请求的链路流程,参考dubbo等rpc实现框架,将请求进行拼接并拦截后直接发送至目标节点进行执行,克服了在没有契约包的情况下无法进行测试的问题。针对现实的测试场景和发展方向,实现了一套针对rpc请求的路由mock方案,解决了rpc测试调用中无法做到的精准测试,在疲劳、性能测试中有效请求低的问题,提高了测试效率,为devops场景中的testops的自动化测试提供了工具和理论基石。
基于同一发明构思,本申请实施例还提供了一种基于rpc的泛化路由mock装置,可以用于实现上述实施例中所描述的方法,如下面实施例所述。由于该基于rpc的泛化路由mock装置解决问题的原理与基于rpc的泛化路由mock方法相似。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本申请的另一个方面,还提供了一种基于rpc的泛化路由mock装置,如图7所示,包括:
提取单元601,用于从获取的请求任务中提取服务特征配置;
请求拼接调用单元602,用于根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求;
接收单元603,用于接收请求的执行结果获取目标效果。
在一具体实施例中,如图6所示,在执行请求任务前,从用户人员配置的或者是自动获取的请求中提取服务特征配置,然后由此拼接成请求链路,请求发起模块执行请求链路发起,然后请求链路被截取模块截取,跳过正常逻辑,直接发送到链路服务模块和注册中心,最后经由服务提供者执行该请求并将执行结果返回。
在一实施例中,如图8所示,提取单元包括:
请求回放模块701,用于针对获取的请求任务执行自动化请求回放的场景;
采集域增加模块702,用于在回放场景中增加采集域,并获取请求实际访问的服务节点的注册信息;
服务特征配置清单生成模块703,用于根据注册信息获取服务特征配置清单。
在一具体实施例中,根据不同的请求来源,特征可以分为人工配置的特征和自动提取的特征。针对人工配置的特征而言,测试人员发送请求需要指定目标节点的场景,提供人工填写的配置参数key和参数值的服务特征配置清单。针对自动提取的特征而言,从生产/测试环境利用采集工具采集的请求流量,执行自动化请求回放的场景,要求增加采集域,在请求返回中获取请求实际访问的服务节点的注册信息,并且在流量回流时,自动的将信息生成服务特征配置清单。
在一实施例中,如图9所示,请求拼接调用单元602包括:
获取模块801,用于从服务特征配置中获取拼接业务请求参数和请求配置;
拼接模块802,用于根据拼接业务请求参数和请求配置进行请求拼接。
在一具体实施例中,利用请求发起模块,拼接业务请求参数和请求配置,利用泛化调用执行请求。
在一实施例中,如图10所示,请求拼接调用单元602还包括:
目标服务节点确定模块901,用于根据服务特征配置和获取的服务注册信息获取目标服务节点;
截取模块902,用于截取请求链路并发送至目标服务节点以使目标服务节点执行请求。
在一具体实施例中,请求链路被截取模块截取,跳过正常逻辑,然后从注册服务中心拉取所有被请求接口的服务提供放信息;遍历注册中心拉取的提供方服务,执行信息比对,和节点清洗,将所有满足特征的服务提供者信息筛选进入备选目标服务队列。从备选目标服务队列中确定最终的目标服务节点,然后请求链路被截取模块截取,跳过正常逻辑直接发送至目标服务节点以使目标服务节点执行请求。注册服务信息拉取在实际请求前,获取在注册中心注册的目标集群的所有服务节点的注册信息,包括探寻注册中心的心跳,拿取注册中心服务注册列表,获取目标服务的提供方节点,拉取提供方节点的数据。截取模块截取请求链路是指在实际路由发生前,利用插桩的方式改变原有的路由规则,直接执行路由比对模块。向路由对比模块得出的服务提供方invoker发起调用。
在一实施例中,如图11所示,目标服务节点确定模块901包括:
清洗模块1001,用于对获取的服务注册信息进行清洗;
比对模块1002,用于将服务特征配置清单与服务注册信息进行比对获得目标节点清单;
确定模块1003,用于从目标节点清单中获取目标服务节点。
在一具体实施例中,服务注册信息中存在较多的无效配置,首先会对仅对注册中心中使用的节点信息进行清洗,配置单信息和节点信息进行比对,得到在配置单中配置了的并且在节点信息中存在且配置值相同的节点。如果配置单中写明了目标节点地址,则直接指定此节点作为服务提供方也即目标服务节点,如果没有写明,则按照本地的负载均衡算法,获取一个目标服务节点。
在一实施例中,比对模块包括:
将服务特征配置清单与服务注册信息进行比对得到在服务特征配置清单已配置并且在服务注册信息中存在的配置值相同的目标节点清单;
在一实施例中,确定模块包括:
根据预存的负载均衡算法,从目标节点清单中获取一个目标服务节点。
本申请通过结合rpc请求的链路流程,参考dubbo等rpc实现框架,将请求进行拼接并拦截后直接发送至目标节点进行执行,克服了在没有契约包的情况下无法进行测试的问题。针对现实的测试场景和发展方向,实现了一套针对rpc请求的路由mock方案,解决了rpc测试调用中无法做到的精准测试,在疲劳、性能测试中有效请求低的问题,提高了测试效率,为devops场景中的testops的自动化测试提供了工具和理论基石。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种电子设备的具体实施方式,参见图12,所述电子设备具体包括如下内容:
处理器(processor)1101、内存1102、通信接口(Communications Interface)1103、总线1104和非易失性存储器1105;
其中,所述处理器1101、内存1102、通信接口1103通过所述总线1104完成相互间的通信;
所述处理器1101用于调用所述内存1102和非易失性存储器1105中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:从获取的请求任务中提取服务特征配置。
S102:根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求。
S103:接收请求的执行结果获取目标效果。
本申请的实施例还提供能够实现上述实施例中的方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:从获取的请求任务中提取服务特征配置。
S102:根据服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求。
S103:接收请求的执行结果获取目标效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。

Claims (10)

1.一种基于rpc的泛化路由mock方法,其特征在于,包括:
从获取的请求任务中提取服务特征配置;
根据所述服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行所述请求链路对应的请求;
接收请求的执行结果获取目标效果。
2.根据权利要求1所述的基于rpc的泛化路由mock方法,其特征在于,所述从获取的请求任务中提取服务特征配置,包括:
针对获取的请求任务执行自动化请求回放的场景;
在回放场景中增加采集域,并获取请求实际访问的服务节点的注册信息;
根据所述注册信息获取服务特征配置清单。
3.根据权利要求1所述的基于rpc的泛化路由mock方法,其特征在于,所述根据所述服务特征配置进行拼接获得请求链路,包括:
从所述服务特征配置中获取拼接业务请求参数和请求配置;
根据所述拼接业务请求参数和所述请求配置进行请求拼接。
4.根据权利要求1所述的基于rpc的泛化路由mock方法,其特征在于,所述利用泛化调用请求链路执行所述请求链路对应的请求,包括:
根据所述服务特征配置和获取的服务注册信息获取目标服务节点;
截取请求链路并发送至目标服务节点以使所述目标服务节点执行所述请求链路对应的请求。
5.根据权利要求4所述的基于rpc的泛化路由mock方法,其特征在于,所述根据所述服务特征配置和获取的服务注册信息获取目标服务节点,包括:
对获取的服务注册信息进行清洗;
将所述服务特征配置清单与所述服务注册信息进行比对获得目标节点清单;
从所述目标节点清单中获取目标服务节点。
6.根据权利要求5所述的基于rpc的泛化路由mock方法,其特征在于,所述将所述服务特征配置清单与所述服务注册信息进行比对获得目标节点清单,包括:
将所述服务特征配置清单与所述服务注册信息进行比对得到在服务特征配置清单已配置并且在服务注册信息中存在的配置值相同的目标节点清单。
7.根据权利要求5所述的基于rpc的泛化路由mock方法,其特征在于,所述从所述目标节点清单中获取目标服务节点,包括:
根据预存的负载均衡算法,从所述目标节点清单中获取一个目标服务节点。
8.一种基于rpc的泛化路由mock装置,其特征在于,包括:
提取单元,用于从获取的请求任务中提取服务特征配置;
请求拼接调用单元,用于根据所述服务特征配置进行拼接获得请求链路,并利用泛化调用请求链路执行请求;
接收单元,用于接收请求的执行结果获取目标效果。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的基于rpc的泛化路由mock方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的基于rpc的泛化路由mock方法的步骤。
CN202210287951.6A 2022-03-23 2022-03-23 一种基于rpc的泛化路由mock方法及装置 Active CN114710542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210287951.6A CN114710542B (zh) 2022-03-23 2022-03-23 一种基于rpc的泛化路由mock方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210287951.6A CN114710542B (zh) 2022-03-23 2022-03-23 一种基于rpc的泛化路由mock方法及装置

Publications (2)

Publication Number Publication Date
CN114710542A true CN114710542A (zh) 2022-07-05
CN114710542B CN114710542B (zh) 2023-12-26

Family

ID=82168073

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210287951.6A Active CN114710542B (zh) 2022-03-23 2022-03-23 一种基于rpc的泛化路由mock方法及装置

Country Status (1)

Country Link
CN (1) CN114710542B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104975A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN110716956A (zh) * 2018-07-12 2020-01-21 北京京东尚科信息技术有限公司 一种数据请求拦截方法和装置
CN112765030A (zh) * 2021-01-22 2021-05-07 中信银行股份有限公司 测试方法、装置、电子设备及计算机存储介质
CN112818023A (zh) * 2021-01-26 2021-05-18 龚世燕 在关联云业务场景下的大数据分析方法及云计算服务器
CN113157523A (zh) * 2021-04-21 2021-07-23 平安付科技服务有限公司 服务监控方法、装置、计算机设备及存储介质
CN113157559A (zh) * 2021-03-11 2021-07-23 中国工商银行股份有限公司 流量筛选方法及装置
CN113742228A (zh) * 2021-09-02 2021-12-03 杭州网易云音乐科技有限公司 测试、数据回放及录制方法、系统、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104975A1 (zh) * 2017-11-30 2019-06-06 平安科技(深圳)有限公司 基于dubbo框架的远程调用方法、服务器及存储介质
CN110716956A (zh) * 2018-07-12 2020-01-21 北京京东尚科信息技术有限公司 一种数据请求拦截方法和装置
CN112765030A (zh) * 2021-01-22 2021-05-07 中信银行股份有限公司 测试方法、装置、电子设备及计算机存储介质
CN112818023A (zh) * 2021-01-26 2021-05-18 龚世燕 在关联云业务场景下的大数据分析方法及云计算服务器
CN113157559A (zh) * 2021-03-11 2021-07-23 中国工商银行股份有限公司 流量筛选方法及装置
CN113157523A (zh) * 2021-04-21 2021-07-23 平安付科技服务有限公司 服务监控方法、装置、计算机设备及存储介质
CN113742228A (zh) * 2021-09-02 2021-12-03 杭州网易云音乐科技有限公司 测试、数据回放及录制方法、系统、装置、设备及介质

Also Published As

Publication number Publication date
CN114710542B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
US9420064B2 (en) System and method for determining a topology of at least one application in a computerized organization
CN112035317B (zh) 一种微服务链路监控方法、装置、设备及介质
US20150186129A1 (en) Method and system for deploying a program module
US10673716B1 (en) Graph-based generation of dependency-adherent execution plans for data center migrations
CN110289983B (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
CN107819891B (zh) 数据处理方法、装置、计算机设备和存储介质
US10001986B1 (en) Updating software instances
Bermbach et al. Cloud federation: Effects of federated compute resources on quality of service and cost
CN111258867B (zh) 一种公有云的拨测方法和装置
US20120159423A1 (en) Tenant independent add-on software packages for an enterprise platform as a service product
CN110286997B (zh) 多容器应用创建方法、装置、计算机设备及存储介质
US20180307575A1 (en) Automated test generation for multi-interface and multi-platform enterprise virtualization management environment
CN113810230A (zh) 对容器集群中的容器进行网络配置的方法、装置及系统
CN113076253A (zh) 一种测试方法和测试装置
CN111966556A (zh) 性能压测方法、装置及服务器和计算机可读存储介质
CN109587351B (zh) 一种呼叫测试方法、装置、设备及存储介质
CN109522202B (zh) 一种软件测试的方法和装置
US20230040842A1 (en) Network service management system and network service management method
CN112650689A (zh) 测试方法、装置、电子设备及存储介质
EP3069240A1 (en) Ontology-based user requirement decomposition for component selection for service provision
CN114710542A (zh) 一种基于rpc的泛化路由mock方法及装置
CN111198756A (zh) 一种kubernetes集群的应用调度方法及装置
Makaya et al. Automated virtual network functions onboarding
CN109656825A (zh) 美术资源处理的方法及装置、电子设备、存储介质
CN116264538A (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