CN110912783B - 流量回放方法、装置、电子设备及存储介质 - Google Patents

流量回放方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110912783B
CN110912783B CN201911311899.8A CN201911311899A CN110912783B CN 110912783 B CN110912783 B CN 110912783B CN 201911311899 A CN201911311899 A CN 201911311899A CN 110912783 B CN110912783 B CN 110912783B
Authority
CN
China
Prior art keywords
flow
playback
played back
preset
ordered
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
CN201911311899.8A
Other languages
English (en)
Other versions
CN110912783A (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201911311899.8A priority Critical patent/CN110912783B/zh
Publication of CN110912783A publication Critical patent/CN110912783A/zh
Application granted granted Critical
Publication of CN110912783B publication Critical patent/CN110912783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种流量回放方法、装置、电子设备及存储介质,其中,该流量回放方法包括:获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道,来实现实时动态根据每个测试通道的流量回放请求,去匹配符合预设规则的流量分配给每个测试通道,使得可以充分利用每个测试通道的资源,让每个测试通道的流量回放效率趋于一致,进而可以提高系统的流量回放效率。

Description

流量回放方法、装置、电子设备及存储介质
技术领域
本申请涉及系统测试技术领域,具体而言,涉及一种流量回放方法、装置、电子设备及存储介质。
背景技术
目前,随着互联网行业的业务迭代速度快、上线频繁以及质量要求高的特点,通常需要采用流量回放来保障在业务场景、服务架构复杂下的系统测试。
现有技术中,通常生产环境采集完流量后,预先分配好流量给每个测试通道,由每个测试通道负责回放完成预先分配的任务即可。
但是,采用预先分配的任务,每个测试通道的资源利用率不一样,导致每个测试通道的流量回放的效率不一样,容易产生较大的时间差值,导致流量回放效率低下。
发明内容
有鉴于此,本申请的目的在于提供一种流量回放方法、装置、电子设备及存储介质,通过实时动态根据每个测试通道的流量回放请求,去匹配符合预设规则的流量分配给每个测试通道,使得可以充分利用每个测试通道的资源,让每个测试通道的流量回放效率趋于一致,进而可以提高系统的流量回放效率。
第一方面,本申请实施例提供了一种流量回放方法,所述方法包括:
获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列;
接收多个测试通道的流量回放请求,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道。
在一种可能的实施方式中,获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集得有序流量队列,包括:
分别获取待回放流量集各流量在预设时间段内回放成功的接口数;
根据回放成功的接口数从大到小对各流量进行排序,得到待回放流量集的有序流量队列。
在一种可能的实施方式中,接收多个测试通道的流量回放请求,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道,包括:
接收多个测试通道的流量回放请求,确定每个测试通道的流量回放完成时间;
从有序流量队列中依次选取从大到小的流量回放给流量回放完成时间从快到慢的测试通道。
在一种可能的实施方式中,从有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道之后,所述方法还包括:
获取当前流量回放的回放结果;
根据回放结果对当前流量进行噪音分析,确定是否需要重新放回待回放流量集;
若需要重新放回待回放流量集,则根据当前流量的特征值重新插入有序流量队列中。
第二方面,本申请实施例还提供的一种流量回放装置,所述装置包括:
排序模块,用于获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列;
回放模块,用于接收多个线程测试通道的流量回放请求,从有序流量队列中匹配符合预设规则的流量分别回放给多个所述线程测试通道。
一种可能的实施方式中,排序模块,包括:
获取模块,用于分别获取待回放流量集各流量在预设时间段内回放成功的接口数;
队列模块,用于根据回放成功的接口数从大到小对各流量进行排序,得到待回放流量集的有序流量队列。
一种可能的实施方式中,回放模块,包括:
接收模块,用于接收多个线程测试通道的流量回放请求,确定每个线程测试通道的流量回放完成时间;
分发模块,用于从有序流量队列中依次选取从大到小的流量回放给流量回放完成时间从快到慢的线程测试通道。
一种可能的实施方式中,所述装置还包括:
结果获取模块,用于从有序流量队列中匹配符合预设规则的流量分别回放给多个线程测试通道之后,获取当前流量回放的回放结果;
噪音分析模块,用于根据回放结果对当前流量进行噪音分析,确定是否需要重新放回待回放流量集;
流量重插模块,若需要重新放回待回放流量集,则根据当前流量的特征值重新插入有序流量队列中。
一种可能的实施方式中,所述噪音分析模块包括:
第一判断模块,用于获取当前流量的预设字段,判断预设字段是否符合第一预设要求,如果符合,则确定当前流量需要重新放回待回放流量集。
一种可能的实施方式中,所述噪音分析模块还包括:
第二判断模块,用于在获取当前流量的预设字段,判断预设字段是否符合第一预设要求之后,如果不符合第一预设要求,则继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求,如果符合,则确定当前流量需要重新放回待回放流量集。
一种可能的实施方式中,所述噪音分析模块还包括:
第三判断模块,用于在继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求之后,如果不符合第二预设要求,则获取与当前流量噪音类型相同的排查规则,按照排查规则判断当前流量是否符合预设第三要求,如果符合,则确定当前流量需要重新放回待回放流量集。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面任一项所述的流量回放方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的流量回放方法的步骤。
本申请实施例提供的一种流量回放方法、装置、电子设备及存储介质,通过获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道,来实现实时动态根据每个测试通道的流量回放请求,去匹配符合预设规则的流量分配给每个测试通道,使得可以充分利用每个测试通道的资源,让每个测试通道的流量回放效率趋于一致,进而可以提高系统的流量回放效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种流量回放系统的架构示意图;
图2示出了本申请实施例提供的一种流量回放方法的流程示意图;
图3示出了本申请实施例提供的另一种流量回放方法的流程示意图;
图4示出了本申请实施例提供的另一种流量回放方法的流程示意图;
图5示出了本申请实施例提供的另一种流量回放方法的流程示意图;
图6示出了本申请实施例提供的一种流量回放装置的流程示意图;
图7示出了本申请实施例提供的另一种流量回放装置的结构示意图;
图8示出了本申请实施例提供的另一种流量回放装置的示意图;
图9示出了本申请实施例提供的另一种流量回放装置的示意图;
图10示出了本申请实施例提供的另一种流量回放装置的示意图;
图11示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“网约车服务”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕网约车服务的流量回放进行描述,但是应该理解,这仅是一个示例性实施例,本申请还可以应用于“电商领域”、“游戏领域”等。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
值得注意的是,在本申请提出申请之前,网约车领域中存在以下特征,第一,业务场景异常复杂,不仅区分车型、用户、还有复杂的时空场景,仅交易类场景就达百万级别;第二,服务架构复杂,涉及服务百十余个;第三,业务迭代速度非常快。第四,服务可用性要求高。基于网约车领域对应的上述特征,为了保障网约车平台提供服务的服务质量,需要对每一个场景下,每一次迭代后的服务进行测试,测试工作量巨大,而目前通过开发和维护测试用例的进行服务测试的方法中,测试成本高且测试周期长,进而导致测试效率低,无法满足实际测试需求。
针对回放效率,先后采用过单机单进程、单机多进程,直到本申请技术方案申请之前的多机多进程模式,都是采用预先分配好流量给每个进程,每个进程负责回放完成预先分配好的任务即可。其中,多机多容器启动的时候会有准备时间方差,容易拖慢整体回放完成时间。多机采用的应用容器引擎Docker,假设每次批量启动15台,在Docker批量启动到启动完成,就有时间差,有时多达10min;另外,资源利用不充分导致回放效率低,由于每个容器上的每个进程是预先分配好流量,虽然分配数量=总流量数/容器数*线程数,但是由于每条流量携带的接口信息不同,导致每个进程回放完成快慢不一,最高差值有30分钟。最后,流量回放稳定性低。目前噪音处理手段单一,仅通过重新回放的手段是采用最大回放次数的配置,通常是3次,这样重新回放仅能解决部分噪音问题。但某些流量的回放失败,是某些服务宕机造成的,重新回放无济于事,还会整体拖慢整体回放时间。
基于此,本申请实施例提供了一种流量回放方法、装置、电子设备及存储介质,通过实时动态根据每个测试通道的流量回放请求,去匹配符合预设规则的流量分配给每个测试通道,使得可以充分利用每个测试通道的资源,让每个测试通道的流量回放效率趋于一致,进而可以提高系统的流量回放效率。
图1是本申请实施例提供的一种流量回放系统100的架构示意图。例如,流量回放系统100可以是用于诸如出租车、代驾服务、快车、拼车、公共汽车服务、驾驶员租赁、或班车服务之类的运输服务、或其任意组合的在线运输服务平台。流量回放系统100可以包括流程生产方110、网络120、第一业务系统130、第二业务系统140中的一种或多种。
在一些实施例中,流量回放系统100中的一个或多个组件可以经由网络120相互访问,其中,流程生产方110、第一业务系统130、第二业务系统140均可以包括处理器。处理器可以处理与服务请求有关的信息和/或数据,以执行本申请中描述的一个或多个功能。例如,处理器可以基于流量生成方获得的服务请求来生成流量。在一些实施例中,处理器可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、专用指令集处理器(Application SpecificInstruction-set Processor,ASIP)、图形处理单元(Graphics Processing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital SignalProcessor,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(Reduced Instruction Set Computing,RISC)、或微处理器等,或其任意组合。
下面结合上述图1示出的流量回放系统100中描述的内容,对本申请实施例提供的流量回放方法进行详细说明。
参照图2所示,为本申请实施例提供的一种流量回放方法的流程示意图,该方法可以由流量回放系统100中的流量生产方110来执行,具体执行过程为:
步骤S201、获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列;
步骤S202、接收多个测试通道的流量回放请求,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道。
具体的,流量生产方110采集线上流量后,进行流量的清洗(预处理)得到种子流量,再经过随机化算法对流量的请求参数、接口、场景三个层次进行随机化处理,得到覆盖更加全面的流量集合,该流量集合量巨大,受资源和时间限制是无法直接回放的,可以基于流量正交算法,再此对上述巨大量流量集进行流量剪枝,可以得到在最短时间内覆盖最多场景和逻辑的流量集合,将该流量集合作为待回放流量集,从而打破回放时间随流量线性递增的趋势,该待回放流量集具体的获取方式在其他申请文件中有具体描述,在此不再赘述,其中,流量剪枝是指在巨大流量中,筛选出最优流量集合的过程。
通过流量生产方110获取待回放流量集,并对该待回放流量集的流量进行统计分析,从而获取待回放流量集各流量的特征值,该特征值可以是有效接口数,也可以是流量回放的完成时间,只需要能体现该流量的回放特征即可,然后根据所获取的特征值对各流量进行排序,得到待回放流量集的有序流量队列,例如:待回放流量集合里有N个流量,N大于等于2,通过排序后得到一个{T1,T2…Tn}的一个有序流量队列,其中,有效接口数和流量回放的完成时间是正相关的。
因网约车服务对面的流量巨大,通常需要多个测试通道来进行流量回放,其中,对于测试通道可以采用例如:容器、虚拟机甚至多台物理机等通过进程、线程、协程等方式,通过接收多个测试通道的流量回放请求,从该流量回放请求可以携带有测试通道的当前流量回放进度,下一次回放流量的要求、特征值等信息,即每个测试通道的当前流量回放完成时间,下一次回放流量的有效接口数等,下一次回放流量的回放完成时间等,从而可以从有序流量队列中匹配符合预设规则的流量回放给该测试通道,其中,对于预设规则可以是根据流量回放完成时间,流量有效接口数,流量的优先级等等来进行匹配,具体可以根据实际情况来设定,并不以此为限。
需要说明的是,线上流量指的是用户对网约车平台提供的每一个服务的服务请求(比如HTTP请求);其中,每一条流量中包括统一资源定位系统(uniform resourcelocator,URL)地址(即接口信息,该接口信息表征的接口是指HTTP协议开发的传递数据的通道)和相应的请求参数。这里,请求参数包括请求方法、用户身份证标识号(Identitydocument,ID)、出发地、目的地、默认参数、可变范围、类型等。有效接口数是指回放成功传递数据的通道数,流量回放完成时间是指流量经过业务处理所需要的时间,其中,有效接口数与流量回放时间是正相关。
本实施例通过获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道,来实现实时动态根据每个测试通道的流量回放请求,去匹配符合预设规则的流量分配给每个测试通道,使得可以充分利用每个测试通道的资源,让每个测试通道的流量回放效率趋于一致,进而可以提高系统的流量回放效率。
可选的,参照图3所示,为本申请实施例提供的另一种流量回放方法的流程示意图,获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集得有序流量队列,包括:
步骤S301、分别获取待回放流量集各流量在预设时间段内回放成功的接口数;
步骤S302、根据回放成功的接口数从大到小对各流量进行排序,得到待回放流量集的有序流量队列。
具体的,由于每个流量回放的接口不一定都成功,而且每个流量回放成功的接口数也不一样,则会导致每个测试通道流量回放完成的快慢也就不一样,所以,可以分别获取待回放流量集各流量在预设时间段内回放成功的接口数,可以根据这个回放成功的接口数从大到小对待回放流量集的各流量进行排序,得到待回放流量集的有序流量队列。
需要说明的是,上述预设时间段可以根据实际情况设置,例如,上述预设时间段可以设置为1个小时。
可选的,参照图4所示,为本申请实施例提供的又一种流量回放方法的流程示意图,接收多个测试通道的流量回放请求,从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道,包括:
步骤S401、接收多个测试通道的流量回放请求,确定每个测试通道的流量回放完成时间;
步骤S402、从有序流量队列中依次选取从大到小的流量回放给流量回放完成时间从快到慢的测试通道。
具体的,可以通过流量生产方的流量调度器接收多个测试通道的流量回放请求,确定每个测试通道的流量回放完成时间,来判断哪个测试通道的流量回放完成的快,对于完成的快的测试通道,可以把有效接口数多的流量分配给流量回放完成快的测试通道,对于完成的慢的测试通道,可以把有效接口数少的流量分配给流量回放完成慢的测试通道,这样动态实时进行流量分配,从而可以使得每个测试通道的流量回放完成时间趋于一致,使得整个系统的流量回放效率得到大大的提升,进而可以解决现有技术中出现按照预设分配的流量给测试通道,有些测试通道处理很快,有些测试通道处理很慢,需要一直等待处理慢的测试通道处理完之后才能进行下一次的流量回放所导致的效率低下的技术问题。
可选的,参照图5所示,为本申请实施例提供的又一种流量回放方法的流程示意图,从有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道之后,所述方法还包括:
步骤S501、获取当前流量回放的回放结果;
步骤S502、根据回放结果对当前流量进行噪音分析,确定是否需要重新放回待回放流量集;
步骤S503、若需要重新放回待回放流量集,则根据当前流量的特征值重新插入有序流量队列中。
具体的,待回放流量集是通过流量生产方110同时分发给第一业务系统130和第二业务系统140的,其中,第一业务系统是流量生产方110的基准业务系统,第二业务系统140是待测试业务系统,第一业务系统130和第二业务系统140均可以采用单机多测试通道,或者多机多测试通道,如果是多机多测试通道,多机可以采用应用容器引擎Docker进行批量启动到启动完成。待回放流量集的流量回放完成之后,可以通过比较处理器对第一业务系统和第二业务系统的流量回放结果进行比较,如果结果不相同,则表明该流量回放不成功,需要对回放不成功的流量进行噪音分析,看能否重新放回待回放流量集,如果需要重新放回待回放流量集,则根据当前流量的特征值重新插入有序流量队列中。
可选的,根据回放结果对当前流量进行噪音分析,确定是否需要重新放回待回放流量集,包括:
获取当前流量的预设字段,判断预设字段是否符合第一预设要求,如果符合,则确定当前流量需要重新放回待回放流量集。
具体的,通过HTTP请求的预设字段,判断该预设字段是否符合第一预设要求,该第一预设要求可以是白/黑名单或者是标注的字段,如果符合,则确定当前流量需要重新放回待回放流量集,如果不符合,则先进行去除或者预处理。
可选的,获取当前流量的预设字段,判断预设字段是否符合第一预设要求之后,所述方法还包括:
如果不符合第一预设要求,则继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求,如果符合,则确定当前流量需要重新放回待回放流量集。
具体的,如果第一次噪音分析没有分析出来,可以继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求,如果符合,则确定当前流量需要重新放回待回放流量集,如果不符合,则识别出该流量并再进行排除。
可选的,继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求之后,所述方法还包括:
如果不符合第二预设要求,则获取与当前流量噪音类型相同的排查规则,按照排查规则判断当前流量是否符合预设第三要求,如果符合,则确定当前流量需要重新放回待回放流量集。
具体的,如果第二次噪音分析没有分析出来,可以继续与当前流量噪音类型相同的排查规则,按照排查规则判断当前流量是否符合预设第三要求,可以根据同类噪音的执行步骤进行排查、纠正,例如:排查到某服务未启动,则直接去启动服务,再将当前流量需要重新放回待回放流量集,如果不符合,则识别出该流量进行排除。
最终将需要重新放回待回放流量集的流量按照该流量的特征值重新插入待执行的有序流量队列中去。
通过上述多种噪音处理方法进行漏斗式排除,可以解决现有技术中噪音处理单一而导致的稳定性低的问题,并提高流量回放的稳定性。
基于同一发明构思,本申请实施例中还提供了与流量回放方法对应的流量回放装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述流量回放方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图6所示,为本申请实施例提供的一种流量回放装置的示意图,所述装置包括:
排序模块610,用于获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列;
回放模块620,用于接收多个线程测试通道的流量回放请求,从有序流量队列中匹配符合预设规则的流量分别回放给多个所述线程测试通道。
一种可能的实施方式中,参照图7所示,为本申请实施例提供的另一种流量回放装置的示意图,排序模块610,包括:
获取模块611,用于分别获取待回放流量集各流量在预设时间段内回放成功的接口数;
队列模块612,用于根据回放成功的接口数从大到小对各流量进行排序,得到待回放流量集的有序流量队列。
一种可能的实施方式中,参照图8所示,为本申请实施例提供的另一种流量回放装置的示意图,回放模块620,包括:
接收模块621,用于接收多个线程测试通道的流量回放请求,确定每个线程测试通道的流量回放完成时间;
分发模块622,用于从有序流量队列中依次选取从大到小的流量回放给流量回放完成时间从快到慢的线程测试通道。
一种可能的实施方式中,参照图9所示,为本申请实施例提供的另一种流量回放装置的示意图,所述装置还包括:
结果获取模块630,用于从有序流量队列中匹配符合预设规则的流量分别回放给多个线程测试通道之后,获取当前流量回放的回放结果;
噪音分析模块640,用于根据回放结果对当前流量进行噪音分析,确定是否需要重新放回待回放流量集;
流量重插模块650,若需要重新放回待回放流量集,则根据当前流量的特征值重新插入有序流量队列中。
一种可能的实施方式中,参照图10所示,为本申请实施例提供的另一种流量回放装置的示意图,所述噪音分析模块640包括:
第一判断模块641,用于获取当前流量的预设字段,判断预设字段是否符合第一预设要求,如果符合,则确定当前流量需要重新放回待回放流量集。
一种可能的实施方式中,参照图10所示,所述噪音分析模块640还包括:
第二判断模块642,用于在获取当前流量的预设字段,判断预设字段是否符合第一预设要求之后,如果不符合第一预设要求,则继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求,如果符合,则确定当前流量需要重新放回待回放流量集。
一种可能的实施方式中,参照图10所示,所述噪音分析模块640还包括:
第三判断模块643,用于在继续获取当前流量的数据结构,判断数据结构是否符合第二预设要求之后,如果不符合第二预设要求,则获取与当前流量噪音类型相同的排查规则,按照排查规则判断当前流量是否符合预设第三要求,如果符合,则确定当前流量需要重新放回待回放流量集。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本申请实施例通过排序模块获取待回放流量集各流量的特征值,根据特征值对各流量进行排序,得到待回放流量集的有序流量队列,回放模块从有序流量队列中匹配符合预设规则的流量分别回放给多个测试通道,来实现实时动态根据每个测试通道的流量回放请求,去匹配符合预设规则的流量分配给每个测试通道,使得可以充分利用每个测试通道的资源,让每个测试通道的流量回放效率趋于一致,进而可以提高系统的流量回放效率。
请参照图11,本申请实施例提供的一种电子设备700,包括:处理器701、存储器702和总线,所述存储器702存储有所述处理器701可执行的机器可读指令,当电子设备运行时,所述处理器701与所述存储器702之间通过总线通信,所述处理器701执行所述机器可读指令,以执行如上述基于流量回放的测试方法的步骤。
具体地,上述存储器702和处理器701能够为通用的存储器和处理器,这里不做具体限定,当处理器701运行存储器702存储的计算机程序时,能够执行上述第一服务器对应的基于流量回放的测试方法。
可选地,本申请还提供一计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并运行时,可以实现上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种流量回放方法,其特征在于,包括:
获取待回放流量集各流量的特征值,根据所述特征值对各流量进行排序,得到所述待回放流量集的有序流量队列;
接收多个测试通道流量回放请求,从所述有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道;
所述接收多个测试通道的流量回放请求,从所述有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道,包括:
接收多个测试通道的流量回放请求,确定每个所述测试通道的流量回放完成时间;
从所述有序流量队列中依次选取从大到小的流量回放给所述流量回放完成时间从快到慢的测试通道。
2.根据权利要求1所述的方法,其特征在于,所述获取待回放流量集各流量的特征值,根据所述特征值对各流量进行排序,得到所述待回放流量集的有序流量队列,包括:
分别获取待回放流量集各流量在预设时间段内回放成功的接口数;
根据所述回放成功的接口数从大到小对各流量进行排序,得到所述待回放流量集的有序流量队列。
3.根据权利要求1或2所述的方法,其特征在于,所述从所述有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道之后,所述方法还包括:
获取当前流量回放的回放结果;
根据所述回放结果对当前所述流量进行噪音分析,确定是否需要重新放回所述待回放流量集;
若需要重新放回所述待回放流量集,则根据当前所述流量的所述特征值重新插入所述有序流量队列中。
4.根据权利要求3所述的方法,其特征在于,根据所述回放结果对当前所述流量进行噪音分析,确定是否需要重新放回所述待回放流量集,包括:
获取当前所述流量的预设字段,判断所述预设字段是否符合第一预设要求,如果符合,则确定当前所述流量需要重新放回所述待回放流量集。
5.根据权利要求4所述的方法,其特征在于,获取当前所述流量的预设字段,判断所述预设字段是否符合第一预设要求之后,所述方法还包括:
如果不符合第一预设要求,则继续获取当前所述流量的数据结构,判断所述数据结构是否符合第二预设要求,如果符合,则确定当前所述流量需要重新放回所述待回放流量集。
6.根据权利要求5所述的方法,其特征在于,继续获取当前所述流量的数据结构,判断所述数据结构是否符合第二预设要求之后,所述方法还包括:
如果不符合第二预设要求,则获取与当前所述流量噪音类型相同的排查规则,按照所述排查规则判断当前所述流量是否符合预设第三要求,如果符合,则确定当前所述流量需要重新放回所述待回放流量集。
7.一种流量回放装置,其特征在于,包括:
排序模块,用于获取待回放流量集各流量的特征值,根据所述特征值对各流量进行排序,得到所述待回放流量集的有序流量队列;
回放模块,用于接收多个测试通道的流量回放请求,从所述有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道;
所述回放模块,包括:
接收模块,用于接收多个测试通道的流量回放请求,确定每个所述测试通道的流量回放完成时间;
分发模块,用于从所述有序流量队列中依次选取从大到小的流量回放给所述流量回放完成时间从快到慢的测试通道。
8.根据权利要求7所述的装置,其特征在于,所述排序模块,包括:
获取模块,用于分别获取待回放流量集各流量在预设时间段内回放成功的接口数;
队列模块,用于根据所述回放成功的接口数从大到小对各流量进行排序,得到所述待回放流量集的有序流量队列。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
结果获取模块,用于从所述有序流量队列中匹配符合预设规则的流量分别回放给多个所述测试通道之后,获取当前流量回放的回放结果;
噪音分析模块,用于根据所述回放结果对当前所述流量进行噪音分析,确定是否需要重新放回所述待回放流量集;
流量重插模块,若需要重新放回所述待回放流量集,则根据当前所述流量的所述特征值重新插入所述有序流量队列中。
10.根据权利要求9所述的装置,其特征在于,所述噪音分析模块包括:
第一判断模块,用于获取当前所述流量的预设字段,判断所述预设字段是否符合第一预设要求,如果符合,则确定当前所述流量需要重新放回所述待回放流量集。
11.根据权利要求10所述的装置,其特征在于,所述噪音分析模块还包括:
第二判断模块,用于在获取当前所述流量的预设字段,判断所述预设字段是否符合第一预设要求之后,如果不符合第一预设要求,则继续获取当前所述流量的数据结构,判断所述数据结构是否符合第二预设要求,如果符合,则确定当前所述流量需要重新放回所述待回放流量集。
12.根据权利要求11所述的装置,其特征在于,所述噪音分析模块还包括:
第三判断模块,用于在继续获取当前所述流量的数据结构,判断所述数据结构是否符合第二预设要求之后,如果不符合第二预设要求,则获取与当前所述流量噪音类型相同的排查规则,按照所述排查规则判断当前所述流量是否符合预设第三要求,如果符合,则确定当前所述流量需要重新放回所述待回放流量集。
13.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至6任一所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至6任一所述方法的步骤。
CN201911311899.8A 2019-12-18 2019-12-18 流量回放方法、装置、电子设备及存储介质 Active CN110912783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911311899.8A CN110912783B (zh) 2019-12-18 2019-12-18 流量回放方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911311899.8A CN110912783B (zh) 2019-12-18 2019-12-18 流量回放方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110912783A CN110912783A (zh) 2020-03-24
CN110912783B true CN110912783B (zh) 2021-03-12

Family

ID=69826482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911311899.8A Active CN110912783B (zh) 2019-12-18 2019-12-18 流量回放方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110912783B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448825A (zh) * 2020-11-06 2022-05-06 行吟信息科技(上海)有限公司 流量比对方法、装置、设备及存储介质
CN113157559B (zh) * 2021-03-11 2024-02-09 中国工商银行股份有限公司 流量筛选方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192548C (zh) * 2002-05-23 2005-03-09 华为技术有限公司 一种流量负载分担的方法
US8782727B1 (en) * 2012-04-04 2014-07-15 Google Inc. Adaptive video stream testing
CN107659463A (zh) * 2017-08-24 2018-02-02 中国科学院计算机网络信息中心 流量回放方法、装置及存储介质
CN110457199A (zh) * 2018-05-08 2019-11-15 北京京东尚科信息技术有限公司 性能测试的方法和装置
CN109412893B (zh) * 2018-10-23 2020-06-19 新华三信息安全技术有限公司 一种报文回放方法及装置
CN109818824B (zh) * 2018-12-29 2020-12-29 东软集团股份有限公司 一种报文转发测试方法、设备及存储设备、程序产品
CN110022229A (zh) * 2019-03-12 2019-07-16 国网湖北省电力有限公司黄石供电公司 一种电网跨区传输通信系统及方法
CN117278434A (zh) * 2019-07-17 2023-12-22 创新先进技术有限公司 流量回放方法、装置、电子设备

Also Published As

Publication number Publication date
CN110912783A (zh) 2020-03-24

Similar Documents

Publication Publication Date Title
JP5845809B2 (ja) 知的且つ動的なロードバランシングによる、分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化の手法
CN108762907B (zh) 基于多个客户端的任务处理方法及系统
CN110912783B (zh) 流量回放方法、装置、电子设备及存储介质
US20120330598A1 (en) Method, program, and system for generating test cases
JP5845813B2 (ja) 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのノードの計算の初期化手法
CN111083013B (zh) 基于流量回放的测试方法、装置、电子设备及存储介质
CN111860853B (zh) 在线预测系统、设备、方法及电子设备
CN109240802B (zh) 请求处理方法和装置
CN108304426A (zh) 标识的获取方法及装置
JP2012099110A (ja) 分散コンピューティング環境におけるソフトウェアの解析の効率的な並列化のためのポリシーのスケジューリング
CN111680085A (zh) 数据处理任务分析方法、装置、电子设备和可读存储介质
CN112190927B (zh) 基于云计算的游戏资源分配方法及云游戏服务平台
CN111090511A (zh) 任务处理方法、装置及计算机可读存储介质
JP5845810B2 (ja) 分散コンピューティング環境におけるソフトウェアの解析の並列化のための効率的な部分計算
CN109800078B (zh) 一种任务处理方法、任务分发终端及任务执行终端
CN113704077B (zh) 测试用例生成方法及装置
CN111078560B (zh) 基于流量剪枝的测试方法、装置、电子设备及存储介质
CN117519905A (zh) 一种基于迁移成本和资源均衡的虚拟机选择方法
CN113542047B (zh) 异常请求的检测方法、装置、电子设备及计算机可读介质
CN115309501A (zh) 一种集群资源规划方法、设备、装置及介质
CN116257422A (zh) 自测用例生成方法、装置及电子设备
CN109947559A (zh) 优化MapReduce计算的方法、装置、设备和计算机存储介质
CN113656046A (zh) 一种应用部署方法和装置
CN111028383B (zh) 车辆行驶数据的处理方法及装置
CN105930630A (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