一种基于cache存储的流量复用方法和装置制造方法及图纸

技术编号:10018111 阅读:219 留言:0更新日期:2014-05-08 16:22
本发明专利技术提供了一种基于cache存储的流量复用方法和装置,其中方法包括:依次读取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后包作为第一源数据包,在该源数据包的透传性区域中加入第二识别标识后作为第二源数据包;将所述第一源数据包和所述第二源数据包分别发送至所述基准流量环境中的被测模块和所述复用流量环境中的被测模块;分别拦截所述基准流量环境中的被测模块和所述复用流量环境中的被测模块发送至下游的请求包,查看请求包中的识别标识并执行相应操作。本发明专利技术能够自动对基准流量环境中的下游响应数据进行复用,快速构建一个或多个复用流量环境来对被测模块进行测试。

【技术实现步骤摘要】
一种基于cache存储的流量复用方法和装置
本专利技术涉及系统测试技术,特别涉及一种基于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的数据包中有透传本文档来自技高网...
一种基于cache存储的流量复用方法和装置

【技术保护点】
一种基于cache存储的流量复用方法,其特征在于,用于构建复用流量环境对基准流量环境中的流量进行复用,该方法包括:S1、获取发送至基准流量环境中被测模块的源数据包,在该源数据包的透传性区域中加入第一识别标识后发送至基准流量环境中的被测模块,在该源数据包的透传性区域中加入第二识别标识后发送至复用流量环境中的被测模块;S2、若基准流量环境中的被测模块发送至下游模块的请求包中包含第一识别标识,则存储下游模块返回的该请求包对应的响应数据至cache;S3、若复用流量环境中的被测模块发送至下游模块的请求包中包含第二识别标识,则从cache中查找该请求包对应的响应数据并返回给复用流量环境中的被测模块。

【技术特征摘要】
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存储的流量复用装置,其特征在于,用于构建复用流量环境对基准流量环境中的流量进行复用,该装置包括:第一修改...

【专利技术属性】
技术研发人员:金敬亭孙继鹏
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京;11

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

1