CN113852689A - 流量处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
流量处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113852689A CN113852689A CN202111121950.6A CN202111121950A CN113852689A CN 113852689 A CN113852689 A CN 113852689A CN 202111121950 A CN202111121950 A CN 202111121950A CN 113852689 A CN113852689 A CN 113852689A
- Authority
- CN
- China
- Prior art keywords
- module
- independent network
- network agent
- tested
- task
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000012360 testing method Methods 0.000 claims abstract description 118
- 238000000034 method Methods 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 6
- 238000005111 flow chemistry technique Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 109
- 239000000306 component Substances 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 239000000243 solution Substances 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 238000013112 stability test Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000008358 core component Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种流量处理方法、装置、电子设备及计算机可读存储介质,涉及计算机领域。具体实现方案为:接收针对待测试模块的测试任务,其中,待测试模块配置有独立的网络代理;采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种流量处理方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,测试中间件系统是测试领域中为各种测试方法提供技术支撑的软件系统。在当今互联网测试中,已经形成了成熟的测试方法。同时,随着云原生与service mesh(服务网格)在互联网领域的发展,每个系统内模块越来越细分,数据流转路径越来越长。对测试过程中的环境搭建,测试任务执行都带来了挑战。为了解决上述问题,相关的测试中间件技术目前普遍采用如下两种方案来解决:(1)中间件以本地测试工具的方式提供服务。用户获取安装包后本地部署,通过修改配置文件实现不同的测试任务。(2)中间件以中心化服务系统的方案提供技术支撑。中间件以集群方式形成系统,用户调用中间件接口申请测试任务,获取测试数据。
但是采用上述方案解决问题时,会出现测试成本高、测试效率低下,测试过程不稳定等问题。
发明内容
本公开提供了一种流量处理方法、装置、电子设备及计算机可读存储介质。
根据本公开的一方面,提供了一种流量处理方法,包括:接收针对待测试模块的测试任务,其中,所述待测试模块配置有独立的网络代理;采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理。
可选地,在所述待测试模块为客户端模块的情况下,所述独立的网络代理配置在所述客户端模块的后端;或者,在所述待测模块为服务端模块的情况下,所述独立的网络代理配置在所述服务端模块的前端。
可选地,在所述采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理之前,还包括:为所述独立的网络代理注册链路,获取所述独立的网络代理的程序包;基于注册的所述链路以及所述独立的网络代理的程序包,启动所述独立的网络代理。
可选地,所述方法还包括:通过用户界面UI或者应用程序接口API接收对所述独立的网络代理的配置更新请求;响应所述配置更新请求,对所述独立的网络代理的以下至少之一进行更新:注册信息,测试任务信息,代理策略信息。
根据本公开的另一方面,提供了一种流量处理装置,包括:第一接收模块,用于接收针对待测试模块的测试任务,其中,所述待测试模块配置有独立的网络代理;处理模块,用于采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理。
可选地,在所述待测试模块为客户端模块的情况下,所述独立的网络代理配置在所述客户端模块的后端;或者,在所述待测模块为服务端模块的情况下,所述独立的网络代理配置在所述服务端模块的前端。
可选地,所述装置还包括:注册模块,用于在所述采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理之前,为所述独立的网络代理注册链路,获取所述独立的网络代理的程序包;启动模块,用于基于注册的所述链路以及所述独立的网络代理的程序包,启动所述独立的网络代理。
可选地,所述装置还包括:第二接收模块,用于通过用户界面UI或者应用程序接口API接收对所述独立的网络代理的配置更新请求;更新模块,用于响应所述配置更新请求,对所述独立的网络代理的以下至少之一进行更新:注册信息,测试任务信息,代理策略信息
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现任一项所述的方法。
根据本公开的另一方面,提供了一种客户端设备,包括:待测试模块和为所述待测试模块配置的独立的网络代理,其中,所述独立的网络代理执行任一项所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的流量处理方法的流程图;
图2是根据本公开可选实施方式提供的系统组件联动的示意图;
图3是根据本公开可选实施方式提供的测量中间件系统使用模式的示意图;
图4是根据本公开实施例的流量处理装置的结构框图;
图5是用来实现本公开实施例的流量处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例的流量处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收针对待测试模块的测试任务,其中,待测试模块配置有独立的网络代理;
步骤S102,采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理。
通过上述步骤,接收配置有独立网络代理的待测试模块的测试任务,对待测试模块的测试任务对应的任务流量进行代理,因为待测试模块是配置有独立的网络代理的,能够保证网络代理对测试任务对应的任务流量进行代理时,不受其他任务流量的干扰,能够提供高稳定、高性能的代理服务,从而解决了相关技术中执行测试任务时,出现的网络代理不稳定的技术问题。
作为一种可选的实施例,接收针对待测试模块的测试任务。其中,针对待测试模块的测试任务可以是针对待测试模块的多种任务类型,例如,测试中间件系统中,包括稳定性测试,异常测试,等等,可以针对特定模块执行特定的测试任务类型,以达到不同的测试目的。例如,在稳定性测试中,可以达成测试软件在正常工作时段、高峰工作时段、甚至是应急时段的稳定性的目的;在异常测试中,可以使用构造异常数据测试软件的方法达到对异常现象进行分析并选择最有方式处理的目的;等等。通过接收对待测试模块的测试任务,以针对待测试模块与测试任务执行相应的功能。
需要说明的是,上述待测试模块配置有独立的网络代理。网络代理是测试模块中的核心组件,负责多系列的功能,例如,负责底层代理用户的流量,用户策略的执行,能够实时接收针对待测试模块的测试任务,并且能够感知到测试任务的创建、更新、取消、等等。使得能够通过独立的网络代理进行待测试模块的测试任务的执行。
还需要说明的是,接收针对待测试模块的测试任务后,还能够实时检查测试任务的状态,进一步地,可以根据任务的状态及时做出调整,使得测试任务不仅能够被有效地执行,还使得测试任务的处理更加完善。
作为一种可选的实施例,采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理。因为网络代理是独立的,在对待测试模块的测试任务对应的任务流量进行代理时,保证了该网络代理只代理该测试模块的流量,不会受到其他测试模块的测试任务中任务流量的干扰,有效降低了测试过程中流量的波动,能够提供高稳定、高性能的代理服务。而且不会出现网络代理集群中,流量大规模进出造成的卡顿等现象。再者,通过独立的网络代理,使得待测试模块增多时,只需要增加对应的网络代理以对待测试模块的测试任务进行处理,能够极大程度的扩展测试过程中的吞吐量。
作为一种可选的实施例,在待测试模块为客户端模块的情况下,独立的网络代理配置在客户端模块的后端;或者,在待测模块为服务端模块的情况下,独立的网络代理配置在服务端模块的前端。即,在待测试模块为不同的类型时,独立的网络代理在不同的位置进行配置。能够适应不同情形、不同场景下的测试功能,例如,待测试模块为服务端模块,独立的网络代理配置在服务端模块前端的情况,更适合线上类型的测试,避免影响待测试模块的路由功能,同时对待测试模块执行相应的测试策略。在上述两种情况下,都能够保证网络代理只负责代理待测量模块的流量,没有其他链路流量的干扰,提供高稳定性、高性能的代理服务。
作为一种可选的实施例,在采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理之前,还包括:为独立的网络代理注册链路,获取独立的网络代理的程序包;基于注册的链路以及独立的网络代理的程序包,启动独立的网络代理。即在采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理之前,还要执行先一步的操作。例如,使用中间件系统时,用户需要先为独立的网络代理注册链路,注册链路中包含多种信息,比如,链路协议即附属信息等基础信息,只需注册一次链路即可,再获取独立的网络代理的程序包,保证能够通过链路的信息与网络代理进行连接。将网络代理程序包中的本地配置修改成用户注册的链路配置即可以启动代理。
作为一种可选的实施例,通过用户界面UI(User Interface)或者应用程序接口API(Application Programming Interface)接收对独立的网络代理的配置更新请求;响应配置更新请求,对独立的网络代理的以下至少之一进行更新:注册信息,测试任务信息,代理策略信息。即用户通过用户界面UI或者API接口即可对独立的网络代理的配置进行更新。能够通过对独立的网络代理的注册信息,测试任务信息,代理策略信息等等进行更新,能够实时控制独立的网络代理实现录制回放、动态路由、异常注入等功能。举例说明:用户通过应用程序接口API接口对独立的网络代理进行配置更新时,可以通过一个独立的网络代理与API接口交互的中间层进行处理,用户可以通过修改配置中心中的内容,独立的网络代理能够实时感知配置中心中修改的内容并进行更新。该配置中心即为独立的网络代理与API接口交互的中间层,存储着用户的注册信息、任务信息、策略信息,等等。独立的网络代理监听配置中心的更新事件,能够及时的监控用户在配置中心中的修改,从而能够更有效、及时地对于独立的网络代理进行配置更新。
需要说明的是,上述用户通过用户界面UI或者API接口对独立的网络代理做出的配置更新请求,仅为用户能够对独立的网络代理做出的多种操作与请求中的一种,用户可以通过用户界面UI或者API接口对独立的网络代理执行的任务或操作有多种。例如,可以执行创建任务、执行任务、修改任务策略、观察任务、收集数据、注销任务、修改注册信息等操作。
基于上述实施例及可选实施例,提供了一种可选实施方式,下面具体说明。
目前,测试中间件系统是测试领域中为各种测试方法提供技术支撑的软件系统。在当今互联网测试中,已经形成了成熟的测试方法。如diff测试(接口差异化测试),用于测试软件新版与旧版的差异;稳定性测试,用于测试软件稳定性;异常测试,通过构造异常数据测试软件对于异常的处理等等。随着云原生与service mesh(服务网格)在互联网领域的发展,每个系统内模块越来越细分,数据流转路径越来越长。对测试过程中的环境搭建,测试任务执行都带来了挑战。QA(Quality assurance,质量保证软件测试)的大量时间消耗在环境准备,数据准备过程中。同时由于模块的增多,链路的加长,测试任务会越累积越密集,QA的测试效率问题会越来越突出。为了解决上述问题,相关的测试中间件技术目前普遍采用如下两种方案来解决:(1)中间件以本地测试工具的方式提供服务。用户获取安装包后本地部署,通过修改配置文件实现不同的测试任务。(2)中间件以中心化服务系统的方案提供技术支撑。中间件以集群方式形成系统,用户调用中间件接口申请测试任务,获取测试数据。
但是采用上述方案解决问题时,会出现如下问题:方案(1)中间件的安装,配置文件的更新依赖QA编写脚本或手工修改,升级迭代成本高,学习成本高,版本容易碎片化,各种测试任务切换成本较高,测试数据的提取、日志查看等效率低下;方案(2)对于数据录制(即准备测试数据),路由,以及对稳定性和性能要求不高的测试方法比较适用。因为集群化中心化的方式会使不同协议、不同数据包大小、不同模块的流量同时被代理,以及流量可能存在高峰与低谷。这会导致集群的中间件服务性能和稳定性有一定波动。
鉴于此,本公开可选实施方式中提供了一种使用新型的测试中间件系统的方案,该新型的测试中间件系统由控制中心、配置中心、网络代理、数据中心、日志中心等构成,下面对本公开可选实施方式中的新型的测试中间件系统进行详细介绍:
(一)构成介绍:
控制中心:是中间件与用户的交互接口,由一系列http接口和用户界面组成。通过接口,用户可以选择通过界面或者接口完成注册链路、创建任务、执行任务、修改任务策略、观察任务、收集数据、注销任务、修改注册信息等操作。
配置中心:中间件系统中网络代理与用户接口交互的中间层。存储着用户的注册信息、任务信息、策略信息。网络代理监听配置中心的更新事件。用户修改配置中心的内容,网络代理可以实时感知并更新。
网络代理:中间件系统的核心组件,负责底层代理用户的流量,用户策略的执行,能够实时感知任务创建、任务更新、任务销毁、用户注册信息更新、日志上传。
数据中心:用户的测试任务往往需要录制请求和返回,数据中心支持文件录制和key-value(分布式存储)型数据库录制。
日志中心:负责存储网络代理上传的用户任务日志。通过日志中心,用户可以实时检查任务的健康状况,根据任务的状态及时做出调整。
(二)步骤:
图2是根据本公开可选实施方式提供的系统组件联动的示意图,如图2所示,下面进行详细介绍:
S1,在使用中间件系统时,每个用户需要先注册链路,该动作只需一次性成本,即一次性操作即可完成。用户在注册链路时,主要包含链路协议及附属的信息等基础信息。
S2,注册完成后,用户获取网络代理的程序包,将本地配置修改为注册链路即可启动代理。
S3,代理启动后会在配置中心注册节点。后续的策略更新,信息修改等在配置中心的用户界面或者通过API即可完成。实时控制网络代理实现录制回放、动态路由、异常注入等。
需要说明的是,该方案中网络代理的部署采用sidecar模式(一种单节点、多容器的应用设计形式),即跟随被测模块同机部署。在通常情况sidecar模式表示一个容器只部署一个服务,sidecar中的代理只代理容器中服务的流量。
在sidecar模式中,需要接管模块的路由规则,在测试领域中,测试工具应当尽可能不侵入模块本身。接管路由规则会改变被测模块的路由行为,所以测试中间件系统研发了两种模式,图3是根据本公开可选实施方式提供的测量中间件系统使用模式的示意图,如图3所示:
Client端(客户端)部署模式:
即一个被测模块协同部署一个网络代理,连接在被测模块后端。这种方式与传统sidecar一致,网络代理只负责代理被测模块的流量,由于没有其他链路流量的干扰,可以提供高稳定性、高性能的代理服务,用于模块的性能测试可以有效降低代理工具性能波动的影响。
Server端(服务端)部署方式:
即网络代理在一台机器上只有一个,部署在服务的前端,代理整机上多个服务的流量。服务端部署方式适合线上测试,可以不影响模块的路由功能,同时对被测链路注入测试策略。
通过上述可选实施方式,可以达到至少以下几点有益效果:
(1)在超大规模流量代理问题方面,相关技术的中心化集群部署测试中间件系中统,所有被代理的流量都要打到网络代理的集群中,然后再被路由到各自的目的地。这种方式会导致网络集群容易成为系统吞吐量的瓶颈,一旦需要代理大规模的流量,只有扩容集群占用大量机器。
使用本公开是可选实施方式中的sidecar部署的方案可以充分利用被测模块机器的剩余性能,近似于无限制地扩展测试系统的吞吐量。对于线上集群的测试,sidecar方式可以同时代理几十上百台机器,数万qps(每秒查询率)的流量压力。
(2)在稳定性问题方面,相关技术的中心化集群部署的测试中间件系统,需要代理不同模块、不同协议、不同用户甚至不同地理位置机房的流量。对于个别用户流量激增、部分用户后端返回慢、部分链路数据包超大等问题,没有可接受的解决方案,所以无法代理对于稳定性要求极高的任务。
使用本公开是可选实施方式中的sidecar方式的测试中间件系统支持只代理被测模块的流量,排除了混杂流量的影响,是一种可以使网络代理保持极高稳定性的测试中间件系统方案。适合性能测试等测试方法。
(3)在更新问题方面,对于稳定性问题、超大规模流量代理问题,相关技术中通过本地化、工具化的网络代理解决,每个被测模块同时部署一个网络代理工具。这种方式在代理被部署几十上百台后,维护更新的稳定性、学习成本、使用成本都试极高的。
使用本公开是可选实施方式中的sidecar测试中间件系统提供了热更新机制,用户调用API更新配置中心,网络代理就会触发监听的更新事件,即时拉取最新的配置和策略,实时生效。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。而且,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例的方法。
根据本公开实施例,还提供了一种用于实施上述流量处理方法的装置,图4是根据本公开实施例的流量处理装置的结构框图,如图4所示,该装置包括:第一接收模块401和处理模块402,下面对该装置进行详细说明。
第一接收模块401,用于接收针对待测试模块的测试任务,其中,待测试模块配置有独立的网络代理;处理模块402,连接于上述第一接收模块401,用于采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理。
作为一种可选的实施例,在待测试模块为客户端模块的情况下,独立的网络代理配置在客户端模块的后端;或者,在待测模块为服务端模块的情况下,独立的网络代理配置在服务端模块的前端。
作为一种可选的实施例,该装置还包括:注册模块,用于在采用独立的网络代理,对待测试模块的测试任务对应的任务流量进行代理之前,为独立的网络代理注册链路,获取独立的网络代理的程序包;启动模块,用于基于注册的链路以及独立的网络代理的程序包,启动独立的网络代理。
作为一种可选的实施例,该装置还包括:第二接收模块,用于通过用户界面UI或者应用程序接口API接收对独立的网络代理的配置更新请求;更新模块,用于响应配置更新请求,对独立的网络代理的以下至少之一进行更新:注册信息,测试任务信息,代理策略信息。
此处需要说明的是,上述第一接收模块401和处理模块402对应于实施流量处理方法中的步骤S101至步骤S102,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如流量处理方法。例如,在一些实施例中,流量处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的流量处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行流量处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (12)
1.一种流量处理方法,包括:
接收针对待测试模块的测试任务,其中,所述待测试模块配置有独立的网络代理;
采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理。
2.根据权利要求1所述的方法,其中,
在所述待测试模块为客户端模块的情况下,所述独立的网络代理配置在所述客户端模块的后端;或者,
在所述待测模块为服务端模块的情况下,所述独立的网络代理配置在所述服务端模块的前端。
3.根据权利要求1所述的方法,其中,在所述采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理之前,还包括:
为所述独立的网络代理注册链路,获取所述独立的网络代理的程序包;
基于注册的所述链路以及所述独立的网络代理的程序包,启动所述独立的网络代理。
4.根据权利要求1至3中任一项所述的方法,其中,所述方法还包括:
通过用户界面UI或者应用程序接口API接收对所述独立的网络代理的配置更新请求;
响应所述配置更新请求,对所述独立的网络代理的以下至少之一进行更新:注册信息,测试任务信息,代理策略信息。
5.一种流量处理装置,包括:
第一接收模块,用于接收针对待测试模块的测试任务,其中,所述待测试模块配置有独立的网络代理;
处理模块,用于采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理。
6.根据权利要求5所述的装置,其中,
在所述待测试模块为客户端模块的情况下,所述独立的网络代理配置在所述客户端模块的后端;或者,
在所述待测模块为服务端模块的情况下,所述独立的网络代理配置在所述服务端模块的前端。
7.根据权利要求5所述的装置,其中,还包括:
注册模块,用于在所述采用所述独立的网络代理,对所述待测试模块的测试任务对应的任务流量进行代理之前,为所述独立的网络代理注册链路,获取所述独立的网络代理的程序包;
启动模块,用于基于注册的所述链路以及所述独立的网络代理的程序包,启动所述独立的网络代理。
8.根据权利要求5至7中任一项所述的装置,其中,所述装置还包括:
第二接收模块,用于通过用户界面UI或者应用程序接口API接收对所述独立的网络代理的配置更新请求;
更新模块,用于响应所述配置更新请求,对所述独立的网络代理的以下至少之一进行更新:注册信息,测试任务信息,代理策略信息。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-4中任一项所述的方法。
12.一种客户端设备,包括:待测试模块和为所述待测试模块配置的独立的网络代理,其中,所述独立的网络代理执行根据权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111121950.6A CN113852689A (zh) | 2021-09-24 | 2021-09-24 | 流量处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111121950.6A CN113852689A (zh) | 2021-09-24 | 2021-09-24 | 流量处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113852689A true CN113852689A (zh) | 2021-12-28 |
Family
ID=78979128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111121950.6A Pending CN113852689A (zh) | 2021-09-24 | 2021-09-24 | 流量处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852689A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108574733A (zh) * | 2018-03-23 | 2018-09-25 | 网易有道信息技术(北京)有限公司 | 网络代理方法及装置、存储介质和电子设备 |
CN110515748A (zh) * | 2019-08-28 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种消息处理的方法及相关装置 |
CN110554856A (zh) * | 2019-09-06 | 2019-12-10 | 航天科工广信智能技术有限公司 | 一种微服务治理系统 |
CN112367684A (zh) * | 2020-10-13 | 2021-02-12 | 北京健康之家科技有限公司 | 流量控制方法、装置、存储介质及计算机设备 |
CN112491634A (zh) * | 2020-12-21 | 2021-03-12 | 北京云思畅想科技有限公司 | 一种微服务场景下全链路智能故障模拟及评估防御方法 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-09-24 CN CN202111121950.6A patent/CN113852689A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108574733A (zh) * | 2018-03-23 | 2018-09-25 | 网易有道信息技术(北京)有限公司 | 网络代理方法及装置、存储介质和电子设备 |
CN110515748A (zh) * | 2019-08-28 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种消息处理的方法及相关装置 |
CN110554856A (zh) * | 2019-09-06 | 2019-12-10 | 航天科工广信智能技术有限公司 | 一种微服务治理系统 |
CN112367684A (zh) * | 2020-10-13 | 2021-02-12 | 北京健康之家科技有限公司 | 流量控制方法、装置、存储介质及计算机设备 |
CN112491634A (zh) * | 2020-12-21 | 2021-03-12 | 北京云思畅想科技有限公司 | 一种微服务场景下全链路智能故障模拟及评估防御方法 |
CN112929230A (zh) * | 2021-01-22 | 2021-06-08 | 中信银行股份有限公司 | 测试处理方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108234168B (zh) | 一种基于业务拓扑的数据展示方法及系统 | |
US11750474B2 (en) | Microservices application network control plane | |
CN111124850A (zh) | Mqtt服务器性能测试方法、系统、计算机设备及存储介质 | |
US11175966B2 (en) | System and method of a managing multiple data centers | |
US10419553B2 (en) | Dynamic docker pool recycling | |
EP3449205A1 (en) | Predictive rollup and caching for application performance data | |
US10038753B2 (en) | Network-independent programming model for online processing in distributed systems | |
CN112835604B (zh) | 系统灰度版本发布管理方法、系统、设备和介质 | |
US10713591B2 (en) | Adaptive metric pruning | |
CN111181800A (zh) | 测试数据处理方法、装置、电子设备及存储介质 | |
CN107070752A (zh) | 一种长连接容量的测试方法及测试系统 | |
CN108093036A (zh) | 一种获取资源的方法及装置 | |
US10644971B2 (en) | Graph search in structured query language style query | |
CN107666401A (zh) | 一种配置信息获取方法及终端 | |
US20180314648A1 (en) | Dynamic domain name service caching | |
CN113852689A (zh) | 流量处理方法、装置、电子设备及计算机可读存储介质 | |
CN115357493A (zh) | 测试方法、装置、电子设备和存储介质 | |
CN115002114A (zh) | 节点处理方法、装置、电子设备、存储介质及服务器 | |
US8547996B2 (en) | Self learning performance optimized data transfer via one or several communication channels between systems | |
CN117010022B (zh) | 数据访问的控制方法、装置、终端设备及存储介质 | |
US11743108B1 (en) | Dynamic customization of network controller data path based on controller internal state awareness | |
CN113872808A (zh) | 应用处理方法及装置 | |
JP2017068318A (ja) | 更新制御方法、更新制御プログラム及び伝送装置 | |
CN116954663A (zh) | 一种基于Kubernetes的云容器灰度发布方法 | |
CN104506663A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211228 |
|
RJ01 | Rejection of invention patent application after publication |