CN103780449B - 一种基于cache存储的流量复用方法和装置 - Google Patents
一种基于cache存储的流量复用方法和装置 Download PDFInfo
- Publication number
- CN103780449B CN103780449B CN201210407933.3A CN201210407933A CN103780449B CN 103780449 B CN103780449 B CN 103780449B CN 201210407933 A CN201210407933 A CN 201210407933A CN 103780449 B CN103780449 B CN 103780449B
- Authority
- CN
- China
- Prior art keywords
- identification marking
- request bag
- module
- environment
- tested module
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于cache存储的流量复用方法和装置,其中方法包括:依次读取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后包作为第一源数据包,在该源数据包的透传性区域中加入第二识别标识后作为第二源数据包;将所述第一源数据包和所述第二源数据包分别发送至所述基准流量环境中的被测模块和所述复用流量环境中的被测模块;分别拦截所述基准流量环境中的被测模块和所述复用流量环境中的被测模块发送至下游的请求包,查看请求包中的识别标识并执行相应操作。本发明能够自动对基准流量环境中的下游响应数据进行复用,快速构建一个或多个复用流量环境来对被测模块进行测试。
Description
【技术领域】
本发明涉及系统测试技术,特别涉及一种基于cache存储的流量复用方法和装置。
【背景技术】
通常,大型互联网公司都需要对搜索引擎内部改动或升级后的模块进行测试,以保证其质量。由于模块的改动或升级往往较为频繁,所以,相应的测试需求也较大,因此,通常的做法是会在线下建立一个基准流量环境,在基准流量环境中,搭建了被测模块的下游模块,下游模块通常都是有特定功能的后端集群,能够根据被测模块的请求,返回对应的响应数据,之后,将从线上dump(转存)下来的输入源数据输入至基准流量环境的被测模块后,就能形成一个与线上完全相同的流量环境。然而,这样的基准流量环境往往是稀缺资源,当有多个被测模块有测试需求时,只能排队等待基准流量环境被释放,或者,重新去建立一个新的基准流量环境,但这又需要占用大量的后端集群资源。
【发明内容】
有鉴于此,本发明提供了一种基于cache存储的流量复用方法和装置,能够将基准流量环境中被测模块上下游的数据流量进行复用,以复用出与基准流量环境相同的流量环境。
具体技术方案如下:
一种基于cache存储的流量复用方法,用于构建复用流量环境对基准流量环境中的流量进行复用,该方法包括:
S1、获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后发送至基准流量环境中的被测模块,在该源数据包的透传性区域中加入第二识别标识后发送至复用流量环境中的被测模块;
S2、若基准流量环境中的被测模块发送至下游模块的请求包中包含第一识别标识,则存储下游模块返回的该请求包对应的响应数据至cache;
S3、若复用流量环境中的被测模块发送至下游模块的请求包中包含第二识别标识,则从cache中查找该请求包对应的响应数据并返回给复用流量环境中的被测模块。
根据本发明一优选实施例,所述加入第二识别标识,具体包括:将加入了所述第一识别标识的源数据包中的第一识别标识修改为所述第二识别标识。
根据本发明一优选实施例,所述存储下游模块返回的该请求包对应的响应数据至cache,具体包括:
用预先设定的算法根据该请求包生成一个唯一的key,将该key与所述下游模块返回的该请求包对应的响应数据形成对应关系后存储至cache;
所述从cache中查找该请求包对应的响应数据,具体包括:
用预先设定的算法根据该请求包生成一个唯一的key,在cache中查找与该key对应的响应数据。
根据本发明一优选实施例,所述S2具体包括:
拦截基准流量环境中的被测模块发送至下游模块的请求包,识别该请求包中是否包含第一识别标识后将该请求包转发给下游模块;如果识别出该请求包中包含第一识别标识,则截取下游模块返回的响应数据并将该响应数据与请求包的对应关系存储至cache,并将该响应数据转发给基准流量环境中的被测模块;
所述步骤S3具体包括:
拦截复用流量环境中的被测模块发送至下游模块的请求包,识别该请求包中是否包含第二识别标识,如果是,则从所述cache中查找该请求包对应的响应数据并返回给复用流量环境中的被测模块。
根据本发明一优选实施例,在步骤S1中,在发送包含所述第一识别标识的源数据包至所述基准流量环境中的被测模块之后达到预设延迟时间后,发送包含所述第二识别标识的源数据包至所述复用流量环境中的被测模块。
一种基于cache存储的流量复用装置,用于构建复用流量环境对基准流量环境中的流量进行复用,该装置包括:
第一修改单元,用于获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后发送至基准流量环境中的被测模块;
第二修改单元,用于获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第二识别标识后发送至复用流量环境中的被测模块;
第一识别单元,用于识别基准流量环境中的被测模块发送至下游模块的请求包,若基准流量环境中的被测模块发送至下游模块的请求包中包含第一识别标识,则存储下游模块返回的该请求包对应的响应数据至cache;
第二识别单元,用于识别复用流量环境中的被测模块发送至下游模块的请求包,若复用流量环境中的被测模块发送至下游模块的请求包中包含第二识别标识,则从cache中查找该请求包对应的响应数据并返回给复用流量环境中的被测模块。
根据本发明一优选实施例,所述第二修改单元加入第二识别标识,具体执行:将加入了所述第一识别标识的源数据包中的第一识别标识修改为所述第二识别标识。
根据本发明一优选实施例,所述第一识别单元存储下游模块返回的该请求包对应的响应数据至cache,具体执行:用预先设定的算法根据该请求包生成一个唯一的key,将该key与所述下游模块返回的该请求包对应的响应数据形成对应关系后存储至cache;
所述第二识别单元从cache中查找该请求包对应的响应数据,具体包括:用预先设定的算法根据该请求包生成一个唯一的key,在cache中查找与该key对应的响应数据。
根据本发明一优选实施例,所述第一识别单元具体执行:
拦截基准流量环境中的被测模块发送至下游模块的请求包,识别该请求包中是否包含第一识别标识后将该请求包转发给下游模块;如果识别出该请求包中包含第一识别标识,则截取下游模块返回的响应数据并将该响应数据与请求包的对应关系存储至cache,并将该响应数据转发给基准流量环境中的被测模块;
拦截复用流量环境中的被测模块发送至下游模块的请求包,识别该请求包中是否包含第二识别标识,如果是,则从所述cache中查找该请求包对应的响应数据并返回给复用流量环境中的被测模块。
根据本发明一优选实施例,所述第一修改单元在发送包含所述第一识别标识的源数据包至所述基准流量环境中的被测模块之后达到预设延迟时间后,所述第二修改单元发送包含所述第二识别标识的源数据包至所述复用流量环境中的被测模块。
由以上技术方案可以看出,本发明通过在发送至基准流量环境中被测模块的源数据包和发送至复用流量环境中被测模块的数据包中分别加入不同的识别标识,利用被测模块的透传性,将该些识别标识自动加入到被测模块发送至下游的请求包中,之后能够根据请求包中的不同识别标识做出相应的存储响应数据或读取响应数据的操作,以此完成对基准流量环境中流量的复用。本发明能够自动对基准流量环境中的下游响应数据进行复用,快速构建多个复用流量环境来对被测模块进行测试,使得当有多个被测模块有测试需求时不再需要排队等待基准流量环境的释放或者重新构建新的基准流量环境。
【附图说明】
图1为本发明实施例一提供的基于cache存储的流量复用方法流程图;
图2为本发明实施例二提供的基于cache存储的流量复用装置示意图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
通常,搜索引擎的内部模块都具有能够透传数据包中特定字段的特性,该特性可以称作“透传性”。透传性是指,在模块之间传递的数据包中具有一个“透传性区域”,当上游模块将具有透传性区域的数据包传递给中间模块时,中间模块不会修改数据包透传性区域中的字段,而是将该些字段继续传递到下游模块。例如,一次数据传递的过程为上游模块A将数据包传递至中间模块B,中间模块B处理该数据包后生成一个请求包并传递至下游模块C,其中在上游模块A传递至中间模块B的数据包中有透传性区域,透传性区域中包括字段X,那么中间模块B在处理该数据包时不会修改字段X,而是会将字段X加入到其生成的请求包中,然后传递至下游模块C。
通常,模块之间的通信协议也都允许在通信数据包中加入自定义的字段来实现特定的功能,如google开发的protocol buffer协议、facebook开发的thrift协议、apache开发的avro协议等。本发明正是利用被测模块的透传性以及在数据包的透传性区域中加入自定义的字段来实现对于基准流量环境中的数据流量的复用。
下面对本发明所提供的方法和装置进行进一步描述。
实施例一
图1为本发明实施例一所提供的基于cache存储的流量复用方法流程图,如图1所示,该方法包括:
S101、依次读取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后作为第一源数据包,在该源数据包的透传性区域中加入第二识别标识后作为第二源数据包。
为了能够形成与基准流量环境中相同的流量环境,需要对基准流量环境中被测模块的上下游流量数据进行复用,尤其是基准流量环境中的下游模块返回给被测模块的响应数据。因此,需要将基准流量环境中,下游模块返回给被测模块的响应数据存储至cache中,而在复用流量环境中,则需要根据被测模块向其下游发送的请求包在cache中查找对应的响应数据,本发明正是通过上述方式完成流量的复用。
为了能够根据基准流量环境中被测模块发送至其下游的请求包和复用流量环境中被测模块发送至其下游的请求包做相应的在cache中存储数据和在cache读取数据的操作,需要使得基准流量环境中被测模块发送至其下游的请求包中和复用流量环境中被测模块发送至其下游的请求包都分别具有一个标识。本发明正是利用被测模块的透传性,在源数据的透传性区域中加入特定字段,使得被测模块在其生成的请求包中加入该字段,以此来实现对请求包的标识。
在将源数据包发送至基准流量环境中的被测模块之前,先依次读取该些预先从线上dump的源数据包,并在该些数据包的透传性区域中加入第一识别标识。第一识别标识可以是根据需要自行定义字段,例如,可以加入“nbcache=0”这一字段作为第一识别标识。之后,将加入了第一识别标识的源数据包作为第一源数据包。
对于要发送至复用流量环境中被测模块的源数据,同样,先依次读取预先从线上dump的源数据包,并在该些数据包的透传性区域中加入第二识别标识。或者,也可以直接在第一源数据包的基础上进行修改,依次读取第一源数据包,将在第一源数据包的透传性区域中加入的第一识别标识修改为第二识别标识。同样,第二识别标识可以是根据需要自行定义的字段,例如,若第一识别标识为“nbcache=0”,可将该字段修改为“nbcache=1”作为第二识别标识。或者,也可以直接删除第一源数据包透传性区域中的第一识别标识,之后,重新在透传性区域中加入一个字段来作为第二识别标识。将具有第二识别标识的数据包作为第二源数据包。
S102、将所述第一源数据包和所述第二源数据包分别发送至所述基准流量环境中的被测模块和所述复用流量环境中的被测模块。
将第一源数据包发送至基准流量环境中的被测模块,基准流量环境中的被测模块收到该第一源数据包后,会对该第一源数据包进行处理,并生成一个请求包发送至下游模块,以获取所需的下游响应数据,而对于第一源数据包中的透传性区域中的第一识别标识,基准流量环境中的被测模块会将该第一识别标识加入到其所生成的请求包中,以此,第一识别标识便能表征该请求包为基准流量环境中被测模块发送至其下游的请求包。
将第二源数据包发送至复用流量环境中的被测模块,复用流量环境中的被测模块收到该第二源数据包后,会对该第二源数据包进行处理,并生成一个请求包发送至下游模块,以获取所需的下游响应数据,而对于第二源数据包中的透传性区域中的第二识别标识,复用流量环境中的被测模块会将该第二识别标识加入到其所生成的请求包中,以此,第二识别标识便能表征该请求包为复用流量环境中被测模块发送至其下游的请求包。
需要说明的是,为了在将第二源数据包发送至复用流量环境中的被测模块后,基准流量环境中的响应数据流量已经被成功复用至复用流量环境,可以在将第一源数据包发送至基准流量环境中的被测模块之后达到预设延迟时间后,再将第二源数据包发送至复用流量环境中的被测模块。
S103、分别拦截所述基准流量环境中的被测模块和所述复用流量环境中的被测模块发送至下游的请求包,查看请求包中的识别标识并执行相应操作。
解析所拦截的请求包,若所拦截的请求包中具有第一识别标识,则认为该请求包是基准流量环境中的被测模块发送至其下游的,将该请求包发送至基准流量环境中的下游模块,下游模块接收处理该请求包后,会返回一个响应数据,将该响应数据返回至基准流量环境中的被测模块的同时,将该响应数据与存储至cache;
若所拦截的请求包中具有第二识别标识,则认为该请求包是复用流量环境中的被测模块发送至其下游的,在cache中查询与该请求包对应的响应数据,并将获取到的与该请求包对应的响应数据返回至复用流量环境中的被测模块。
为了便于将请求包与响应数据形成一一对应的关系,可以用预先设定的算法根据请求包生成一个唯一的key,利用该key与响应数据形成关系,具体方法可以是:
若所拦截的请求包中具有第一识别标识,则认为该请求包是基准流量环境中的被测模块发送至其下游的,采用所预先设定的算法根据该请求包生成一个唯一的key,之后,将该请求包发送至基准流量环境中的下游模块,将下游模块返回的响应数据返回至基准流量环境中的被测模块的同时,将该响应数据与所生成的key形成对应关系后存储至cache;
若所拦截的请求包中具有第二识别标识,则认为该请求包是复用流量环境中的被测模块发送至其下游的,同样,采用所预先设定的算法根据该请求包生成一个唯一的key,之后在cache中查询与该key对应的响应数据,并将获取到的与该key对应的响应数据返回至复用流量环境中的被测模块。
需要注意的是,对于同一个请求包分别形成的具有第一识别标识的请求包和具有第二识别标识的请求包生成的key相同。
根据基准流量环境中被测模块向其下游发送的请求包和复用流量环境中被测模块向其下游发送的请求包生成key可以但不限于用下述方式来实现:选取请求中的身份标识字段,如uuid,之后用md5算法根据所选取的字段计算出key值;或者,采用现有的签名算法计算请求的签名,将所得签名作为key值。
存储响应数据的cache可以利用第三方工具,如Memcached来实现。
通过上述对本发明实施例提供的方法的描述可以看出,本发明通过对发送至被测模块的源数据包的修改,在其中加入不同识别标识来自动实现对下游模块返回的响应数据进行复用,通过在源数据包中加入第一识别标识,能够自动将下游模块返回的响应数据存储至cache,通过在源数据包中加入第二识别标识,能够自动在cache中查找对应的响应数据。当有多个模块模块需要通过流量复用环境进行测试时,也只需将加入了第二识别标识的源数据包发送至该多个被测模块,之后自动在cache中分别查找对应的响应数据返回至对应的被测模块。本发明能够自动复用基准流量环境中的流量,快速搭建一个或多个复用流量环境,有效地解决了基准流量环境不足的问题。
实施例二
图2为本发明实施例二提供的基于cache存储的流量复用装置示意图,如图2所示,该装置包括:第一修改单元10、第二修改单元2、第一识别单元30和第二识别单元40。
第一修改单元10,用于获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后发送至基准流量环境中的被测模块。
在将源数据包发送至基准流量环境中的被测模块之前,第一修改单元10先依次读取该些预先从线上dump的源数据包,并在该些数据包的透传性区域中加入第一识别标识。第一识别标识可以是根据需要自行定义字段,例如,可以加入“nbcache=0”这一字段作为第一识别标识。之后,第一修改单元10将加入了第一识别标识的源数据包作为第一源数据包发送至基准流量环境中的被测模块。
第二修改单元20,用于获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第二识别标识后发送至复用流量环境中的被测模块。
对于要发送至复用流量环境中被测模块的源数据,第二修改单元先依次读取预先从线上dump的源数据包,并在该些数据包的透传性区域中加入第二识别标识。或者,也可以直接在第一源数据包的基础上进行修改,依次读取第一源数据包,将在第一源数据包的透传性区域中加入的第一识别标识修改为第二识别标识。同样,第二识别标识可以是根据需要自行定义的字段,例如,若第一识别标识为“nbcache=0”,可将该字段修改为“nbcache=1”作为第二识别标识。或者,也可以直接删除第一源数据包透传性区域中的第一识别标识,之后,重新在透传性区域中加入一个字段来作为第二识别标识。之后,第二修改单元20将具有第二识别标识的数据包作为第二源数据包发送至复用流量环境中的被测模块。
需要说明的是,为了在将第二源数据包发送至复用流量环境中的被测模块后,基准流量环境中的响应数据流量已经被成功复用至复用流量环境,可以在第一修改单元10将第一源数据包发送至基准流量环境中的被测模块之后达到预设延迟时间后,第二修改单元20再将第二源数据包发送至复用流量环境中的被测模块。
第一识别单元30,用于识别基准流量环境中的被测模块发送至下游模块的请求包,若基准流量环境中的被测模块发送至下游模块的请求包中包含第一识别标识,则存储下游模块返回的该请求包对应的响应数据至cache。
基准流量环境中的被测模块收到该第一源数据包后,会对该第一源数据包进行处理,并生成一个请求包发送至下游模块,以获取所需的下游响应数据,而对于第一源数据包中的透传性区域中的第一识别标识,基准流量环境中的被测模块会将该第一识别标识加入到其所生成的请求包中。
第一识别单元30拦截基准流量环境中的被测模块发送至其下游的请求包,之后解析所拦截的请求包,若所拦截的请求包中具有第一识别标识,则将该请求包发送至基准流量环境中的下游模块,下游模块接收处理该请求包后,会返回一个响应数据,将该响应数据返回至基准流量环境中的被测模块的同时,将该响应数据与存储至cache。
第二识别单元40,用于识别复用流量环境中的被测模块发送至下游模块的请求包,若复用流量环境中的被测模块发送至下游模块的请求包中包含第二识别标识,则从cache中查找该请求包对应的响应数据并返回给复用流量环境中的被测模块。
复用流量环境中的被测模块收到该第二源数据包后,会对该第二源数据包进行处理,并生成一个请求包发送至下游模块,以获取所需的下游响应数据,而对于第二源数据包中的透传性区域中的第二识别标识,复用流量环境中的被测模块会将该第二识别标识加入到其所生成的请求包中。
第二识别单元40拦截复用流量环境中的被测模块发送至其下游的请求包,若所拦截的请求包中具有第二识别标识,则在cache中查询与该请求包对应的响应数据,并将获取到的与该请求包对应的响应数据返回至复用流量环境中的被测模块。
需要说明的是,第一识别单元30和第二识别单元40可以由一个识别单元来实现。
为了便于将请求包与响应数据形成一一对应的关系,第一识别单元30和第二识别单元40还可以用预先设定的算法根据请求包生成一个唯一的key,利用该key与响应数据形成关系,具体可以执行下述操作:
若第一识别单元30所拦截的请求包中具有第一识别标识,则采用所预先设定的算法根据该请求包生成一个唯一的key,之后,将该请求包发送至基准流量环境中的下游模块,将下游模块返回的响应数据返回至基准流量环境中的被测模块的同时,将该响应数据与所生成的key形成对应关系后存储至cache。
若第二识别单元40所拦截的请求包中具有第二识别标识,则同样采用所预先设定的算法根据该请求包生成一个唯一的key,之后在cache中查询与该key对应的响应数据,并将获取到的与该key对应的响应数据返回至复用流量环境中的被测模块。
需要注意的是,对于同一个请求包分别形成的具有第一识别标识的请求包和具有第二识别标识的请求包生成的key相同。
根据基准流量环境中被测模块向其下游发送的请求包和复用流量环境中被测模块向其下游发送的请求包生成key可以但不限于用下述方式来实现:选取请求中的身份标识字段,如uuid,之后用md5算法根据所选取的字段计算出key值;或者,采用现有的签名算法计算请求的签名,将所得签名作为key值。
存储响应数据的cache可以利用第三方工具,如Memcached来实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种基于cache存储的流量复用方法,其特征在于,用于构建复用流量环境对基准流量环境中的流量进行复用,该方法包括:
S1、获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后发送至基准流量环境中的被测模块,在该源数据包的透传性区域中加入第二识别标识后发送至复用流量环境中的被测模块;
S2、若基准流量环境中的被测模块发送至下游模块的请求包中包含第一识别标识,则存储下游模块返回的包含第一识别标识的请求包对应的响应数据至cache;
S3、若复用流量环境中的被测模块发送至下游模块的请求包中包含第二识别标识,则从cache中查找包含第二识别标识的请求包对应的响应数据并返回给复用流量环境中的被测模块。
2.根据权利要求1所述的方法,其特征在于,所述加入第二识别标识,具体包括:将加入了所述第一识别标识的源数据包中的第一识别标识修改为所述第二识别标识。
3.根据权利要求1所述的方法,其特征在于,所述存储下游模块返回的包含第一识别标识的请求包对应的响应数据至cache,具体包括:
用预先设定的算法根据该包含第一识别标识的请求包生成一个唯一的key,将该key与所述下游模块返回的该包含第一识别标识的请求包对应的响应数据形成对应关系后存储至cache;
所述从cache中查找包含第二识别标识的请求包对应的响应数据,具体包括:
用预先设定的算法根据该包含第二识别标识的请求包生成一个唯一的key,在cache中查找与该key对应的响应数据。
4.根据权利要求1所述的方法,其特征在于,所述S2具体包括:
拦截基准流量环境中的被测模块发送至下游模块的请求包,识别拦截的请求包中是否包含第一识别标识后将该拦截的请求包转发给下游模块;如果识别出该拦截的请求包中包含第一识别标识,则截取下游模块返回的响应数据并将该响应数据与包含第一识别标识的请求包的对应关系存储至cache,并将该响应数据转发给基准流量环境中的被测模块;
所述步骤S3具体包括:
拦截复用流量环境中的被测模块发送至下游模块的请求包,识别拦截的请求包中是否包含第二识别标识,如果是,则从所述cache中查找包含第二识别标识的请求包对应的响应数据并返回给复用流量环境中的被测模块。
5.根据权利要求1所述的方法,其特征在于,在步骤S1中,在发送包含所述第一识别标识的源数据包至所述基准流量环境中的被测模块之后达到预设延迟时间后,发送包含所述第二识别标识的源数据包至所述复用流量环境中的被测模块。
6.一种基于cache存储的流量复用装置,其特征在于,用于构建复用流量环境对基准流量环境中的流量进行复用,该装置包括:
第一修改单元,用于获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后发送至基准流量环境中的被测模块;
第二修改单元,用于获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第二识别标识后发送至复用流量环境中的被测模块;
第一识别单元,用于识别基准流量环境中的被测模块发送至下游模块的请求包,若基准流量环境中的被测模块发送至下游模块的请求包中包含第一识别标识,则存储下游模块返回的包含第一识别标识的请求包对应的响应数据至cache;
第二识别单元,用于识别复用流量环境中的被测模块发送至下游模块的请求包,若复用流量环境中的被测模块发送至下游模块的请求包中包含第二识别标识,则从cache中查找包含第二识别标识的请求包对应的响应数据并返回给复用流量环境中的被测模块。
7.根据权利要求6所述的装置,其特征在于,所述第二修改单元加入第二识别标识时,具体执行:将加入了所述第一识别标识的源数据包中的第一识别标识修改为所述第二识别标识。
8.根据权利要求6所述的装置,其特征在于,所述第一识别单元在存储下游模块返回的包含第一识别标识的请求包对应的响应数据至cache时,具体执行:用预先设定的算法根据该包含第一识别标识的请求包生成一个唯一的key,将该key与所述下游模块返回的该包含第一识别标识的请求包对应的响应数据形成对应关系后存储至cache;
所述第二识别单元在从cache中查找包含第二识别标识的请求包对应的响应数据时,具体包括:用预先设定的算法根据该包含第二识别标识的请求包生成一个唯一的key,在cache中查找与该key对应的响应数据。
9.根据权利要求6所述的装置,其特征在于,所述第一识别单元具体执行:
拦截基准流量环境中的被测模块发送至下游模块的请求包,识别拦截的请求包中是否包含第一识别标识后将该拦截的请求包转发给下游模块;如果识别出该拦截的请求包中包含第一识别标识,则截取下游模块返回的响应数据并将该响应数据与包含第一识别标识的请求包的对应关系存储至cache,并将该响应数据转发给基准流量环境中的被测模块;
拦截复用流量环境中的被测模块发送至下游模块的请求包,识别拦截的请求包中是否包含第二识别标识,如果是,则从所述cache中查找包含第二识别标识的请求包对应的响应数据并返回给复用流量环境中的被测模块。
10.根据权利要求6所述的装置,其特征在于,所述第一修改单元在发送包含所述第一识别标识的源数据包至所述基准流量环境中的被测模块之后达到预设延迟时间后,所述第二修改单元发送包含所述第二识别标识的源数据包至所述复用流量环境中的被测模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210407933.3A CN103780449B (zh) | 2012-10-23 | 2012-10-23 | 一种基于cache存储的流量复用方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210407933.3A CN103780449B (zh) | 2012-10-23 | 2012-10-23 | 一种基于cache存储的流量复用方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103780449A CN103780449A (zh) | 2014-05-07 |
CN103780449B true CN103780449B (zh) | 2018-05-01 |
Family
ID=50572315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210407933.3A Active CN103780449B (zh) | 2012-10-23 | 2012-10-23 | 一种基于cache存储的流量复用方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103780449B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104503842B (zh) * | 2014-12-22 | 2018-05-04 | 广州品唯软件有限公司 | 基于多层分流实验框架的策略执行方法和装置 |
CN110752968B (zh) * | 2019-10-16 | 2021-12-07 | 北京百度网讯科技有限公司 | 性能基准测试方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1832068A2 (en) * | 2004-12-31 | 2007-09-12 | British Telecommunications Public Limited Company | Connection-oriented communications scheme for connection-less communications traffic |
CN101159682A (zh) * | 2007-09-28 | 2008-04-09 | 中兴通讯股份有限公司 | 一种实现流转换的方法和设备 |
CN202033748U (zh) * | 2011-04-22 | 2011-11-09 | 阿里巴巴集团控股有限公司 | 搜索引擎性能测试系统 |
CN102426551A (zh) * | 2011-11-04 | 2012-04-25 | 百度在线网络技术(北京)有限公司 | 测试数据筛选方法及装置、测试数据构造方法及装置 |
CN102622296A (zh) * | 2012-02-21 | 2012-08-01 | 百度在线网络技术(北京)有限公司 | 搜索引擎模块的测试方法、系统及其装置 |
-
2012
- 2012-10-23 CN CN201210407933.3A patent/CN103780449B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1832068A2 (en) * | 2004-12-31 | 2007-09-12 | British Telecommunications Public Limited Company | Connection-oriented communications scheme for connection-less communications traffic |
CN101159682A (zh) * | 2007-09-28 | 2008-04-09 | 中兴通讯股份有限公司 | 一种实现流转换的方法和设备 |
CN202033748U (zh) * | 2011-04-22 | 2011-11-09 | 阿里巴巴集团控股有限公司 | 搜索引擎性能测试系统 |
CN102426551A (zh) * | 2011-11-04 | 2012-04-25 | 百度在线网络技术(北京)有限公司 | 测试数据筛选方法及装置、测试数据构造方法及装置 |
CN102622296A (zh) * | 2012-02-21 | 2012-08-01 | 百度在线网络技术(北京)有限公司 | 搜索引擎模块的测试方法、系统及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103780449A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3895049B1 (en) | Utilizing independently stored validation keys to enable auditing of instrument measurement data maintained in a blockchain | |
CN103403707B (zh) | 用于数据库代理请求交换的系统和方法 | |
CN104365058B (zh) | 用于在多核和集群系统中高速缓存snmp数据的系统和方法 | |
CN103548022B (zh) | Utf‑8模式匹配系统和方法 | |
CN109871224A (zh) | 一种基于用户标识的灰度发布方法、系统、介质及设备 | |
CN106462538B (zh) | 用于基于亲和性网络配置的系统和方法 | |
CN109906595A (zh) | 用于跨不同类型的处理硬件执行密码操作的系统和方法 | |
CN104038528B (zh) | 中继装置、系统及方法 | |
KR20210126767A (ko) | 다중 소스 엔트로피 무작위성 집계 및 분배 네트워크 | |
CN104081348A (zh) | 通过在虚拟数据中心中最佳地放置vm而减少存储器使用的系统和方法 | |
CN111683066A (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
JP2017018573A5 (zh) | ||
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN110301119A (zh) | 用于针对网络流量的多路复用应用层流改善计算机网络性能的系统和方法 | |
CN105745621A (zh) | 在服务器上仿真测试分布式应用 | |
CN103780449B (zh) | 一种基于cache存储的流量复用方法和装置 | |
JP2005250881A5 (zh) | ||
CN106790465A (zh) | 跨域访问方法和装置 | |
CN109858257A (zh) | 访问控制方法及装置 | |
CN115118784A (zh) | 算力资源的调度方法、装置及系统 | |
CN106062749A (zh) | 使用查询数据提供流行率信息 | |
CN109947676A (zh) | 数据访问方法及装置 | |
CN112910776B (zh) | 一种数据转发方法、装置、设备及介质 | |
JP2011018239A5 (ja) | ネットワークシステム、処理方法、及びコンピュータプログラム | |
CN110275901A (zh) | 一种缓存数据调取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |