CN103297450A - 分布式集群的模拟***、方法和装置 - Google Patents

分布式集群的模拟***、方法和装置 Download PDF

Info

Publication number
CN103297450A
CN103297450A CN2012100448536A CN201210044853A CN103297450A CN 103297450 A CN103297450 A CN 103297450A CN 2012100448536 A CN2012100448536 A CN 2012100448536A CN 201210044853 A CN201210044853 A CN 201210044853A CN 103297450 A CN103297450 A CN 103297450A
Authority
CN
China
Prior art keywords
search module
downstream
module
pressure request
bridge
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
CN2012100448536A
Other languages
English (en)
Other versions
CN103297450B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201210044853.6A priority Critical patent/CN103297450B/zh
Publication of CN103297450A publication Critical patent/CN103297450A/zh
Application granted granted Critical
Publication of CN103297450B publication Critical patent/CN103297450B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种分布式集群的模拟***、方法和装置。***包括:上游搜索模块、下游分布式集群和网桥,下游分布式集群包括多个下游搜索模块,网桥接收上游搜索模块发送的压力请求并将其发送至多个下游搜索模块,然后将多个下游搜索模块根据压力请求返回的数据包转发至上游搜索模块,同时保存上游搜索模块与多个下游搜索模块之间的通信数据包;网桥还根据通信数据包按照预定的格式生成词典,并根据上游搜索模块发送的压力请求在词典中查找压力请求对应的数据包并将其返回至上游搜索模块。根据本发明实施例的***,通过一个网桥就可以模拟一个集群,节省资源,降低测试复杂性、提高测试效率,并且可以实现对任意流动的数据流的测试模拟。

Description

分布式集群的模拟***、方法和装置
技术领域
本发明涉及网络搜索技术领域,尤其涉及一种分布式集群的模拟***、方法和装置。
背景技术
对于类似网络搜索引擎的分布式集群***,在分布式集群的可靠性、性能等测试中,需要连接测试模块的下游所分布的集群以获得检索数据,但是机器资源非常有限,无法在线下搭建对应的集群,因此需要一种方式能够模拟线上规模的分布集群以解决测试难题。
现有技术通常以一个模块、一个服务为单位进行单独模拟,完成各类依赖模拟后端的测试。
现有技术存在的问题是:(1)基于单个模块无法模拟分布式集群中的数据交互;(2)依赖于被测代码插桩,模拟回放的数据需要依赖模块的录制通信包(dump)功能,如果模块没有录制通信包(dump)功能,还需要修改模块代码添加录制通信包(dump)功能;(3)性能较低、测试资源(主要是机器资源)使用较多,如果要模拟分布式集群,需要启动多个模拟工具;(4)针对任意流动的数据流,无法进行数据录制/回放。
发明内容
本发明旨在至少解决上述技术问题之一。
本发明的第一个目的在于提出一种可以节省资源、降低测试复杂性、提高测试效率以及实现对流动的数据流模拟以进行测试的分布式集群的模拟***。
本发明的第二个目的在于提出一种网桥。
本发明的第三个目的在于提出一种分布式集群的模拟方法。
为了实现上述目的,根据本发明的第一方面实施例的分布式集群的模拟***包括:上游搜索模块、网桥和下游分布式集群,其中所述下游分布式集群包括多个下游搜索模块,所述网桥分别与所述上游搜索模块和所述多个下游搜索模块相连,所述上游搜索模块用于发送压力请求;所述网桥用于接收所述压力请求并将所述压力请求发送至所述多个下游搜索模块,并接收所述多个下游搜索模块根据所述压力请求返回的数据包,以及保存所述上游搜索模块与所述多个下游搜索模块之间的通信数据包;所述网桥还用于根据所述上游搜索模块与所述多个下游搜索模块之间的通信数据包按照预定的格式生成词典,并根据所述上游搜索模块发送的压力请求在所述词典中查找所述压力请求对应的数据包并将所述压力请求对应的数据包返回至所述上游搜索模块;以及所述多个下游搜索模块用于根据所述压力请求返回数据包至所述网桥。
根据本发明实施例的分布式集群的模拟***,通过网桥可以模拟一个分布式集群,节省资源,***自身可以保存上游搜索模块与多个下游搜索模块之间的通信数据包,无需依赖外部资源,降低测试复杂性、提高测试效率,并且可以实现对任意流动的数据流进行模拟以进行测试,例如大度通信和调度特点决定数据流没有固定可预测的方向,单个模块无法实现测试模拟。
为了实现上述目的,根据本发明的第二方面实施例的网桥包括:模式选择模块,所述模式选择模块用于接收用户输入的录制模式或回放模式;通信模块,所述通信模块用于接收上游搜索模块发送的压力请求并在所述录制模式下将所述压力请求发送至下游分布式集群,其中所述下游分布式集群包括多个下游搜索模块,以及接收所述多个下游搜索模块根据所述压力请求返回的数据包并将所述返回的数据包发送至所述上游搜索模块;录制模块,所述录制模块与所述通信模块相连,用于保存所述压力请求和所述返回的数据包;以及模拟模块,所述模拟模块分别与所述通信模块、所述录制模块和所述模式选择模块相连,用于在所述回放模式下根据所述压力请求和所述返回的数据包生成词典,并根据所述上游搜索模块发送的压力请求在所述词典中查找所述压力请求对应的返回数据包。
根据本发明实施例的网桥,分别与上游搜索模块和多个下游搜索模块相连,在上游搜索模块与多个下游搜索模块的通信过程中录制通信数据包,无需依赖外部资源,能够有效降低测试复杂性、提高测试效率,并且可以实现对任意流动的数据流进行测试模拟,例如大度通信和调度特点决定数据流没有固定可预测的方向,单个模块无法实现测试模拟。
为了实现上述目的,根据本发明的第三方面实施例的分布式集群的模拟方法包括以下步骤:(a)在录制模式下,网桥接收上游搜索模块发送的压力请求,并将所述压力请求发送至下游分布式集群,所述下游分布式集群包括多个下游搜索模块;(b)所述网桥接收所述多个下游搜索模块根据所述压力请求返回的数据包并将所述返回的数据包发送至所述上游搜索模块;(c)所述网桥保存所述上游搜索模块与所述多个下游搜索模块之间的通信数据包;(d)在回放模式下,所述网桥根据所述上游搜索模块与所述多个下游搜索模块之间的通信数据包按照预定的格式生成词典,并根据所述上游搜索模块发送的压力请求在所述词典中查找所述压力请求对应的数据包并将所述压力请求对应的数据包返回至所述上游搜索模块。
根据本发明实施例的分布式集群的模拟方法,通过网桥可以模拟一个分布式集群,节省资源,并且可以保存上游搜索模块与多个下游搜索模块之间的通信数据包,无需依赖外部资源,降低测试复杂性、提高测试效率,以及可以实现对任意流动的数据流进行模拟以进行测试,例如大度通信和调度特点决定数据流没有固定可预测的方向,单个模块无法实现测试模拟。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的分布式集群的模拟***的录制过程的结构框图;
图2是根据本发明一个实施例的分布式集群的模拟***的回放过程的结构框图;
图3是根据本发明一个实施例的分布式集群的模拟***的结构框图;
图4是根据本发明一个实施例的网桥的结构框图;
图5是根据本发明一个实施例的网桥的结构框图;以及
图6是根据本发明一个实施例的分布式集群的模拟方法的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
下面参考说明书附图描述根据本发明实施例的分布式集群的模拟***。
一种分布式集群的模拟***,包括:上游搜索模块、网桥和下游分布式集群,下游分布式集群包括多个下游搜索模块,网桥分别与上游搜索模块和多个下游搜索模块相连,其中,网桥接收上游搜索模块发送的压力请求并将压力请求发送至多个下游搜索模块;网桥接收多个下游搜索模块根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块;网桥保存上游搜索模块与多个下游搜索模块之间的通信数据包;网桥根据上游搜索模块与多个下游搜索模块之间的通信数据包按照预定的格式生成词典,并根据上游搜索模块发送的压力请求在词典中查找压力请求对应的数据包并将压力请求对应的数据包返回至上游搜索模块。
图1为本发明一个实施例的分布式集群的模拟***的录制过程的结构框图。如图1所示,根据本发明实施例的分布式集群的模拟***在录制过程中包括上游搜索模块110、网桥120和下游分布式集群130,其中,下游分布式集群130包括多个下游搜索模块131,网桥120分别与上游搜索模块110和多个下游搜索模块131相连。
具体地,首先,网桥120接收上游搜索模块110发送的压力请求并将压力请求发送至多个下游搜索模块131,其中,上游搜索模块110可以根据多个下游搜索模块131的性能测试需求向网桥120发送相应的压力请求,然后网桥120接收多个下游搜索模块131根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块110,并且在上述过程中网桥120保存上游搜索模块110与多个下游搜索模块131之间的通信数据包,上述过程即为数据的录制过程。
图2为本发明一个实施例的分布式集群的模拟***的回放过程的结构框图。如图2所示,在回放过程中该分布式集群的模拟***仅使用上游搜索模块110和网桥120。网桥120根据录制过程中保存的上游搜索模块110与多个下游搜索模块131之间的通信数据包按照预定的格式生成词典,再根据上游搜索模块110发送的压力请求在词典中查找压力请求对应的数据包并将压力请求对应的数据包返回至上游搜索模块110,这个过程即为数据的回放过程。
在本发明的一个实施例中,词典包括多个dump(转储)文件,每个dump文件分别与每个下游搜索模块131相对应,用于保存上游搜索模块110发送的压力请求及该压力请求所对应的下游搜索模块131根据该压力请求返回的数据包。
在本发明的一个实施例中,预定的格式(即词典中数据的存储格式)为key&value对的形式,其中,key为压力请求中的关键字,通过该关键字可以唯一标识一次压力请求,value为关键字对应的返回内容。由此,可以方便快捷的查询到压力请求对应的数据包,进一步提高测试的效率。
应理解,通过上述回放过程,上游搜索模块110可以根据返回的压力请求对应的数据包判断集群模拟过程的正确性,然后进行集群可靠性、性能等测试。具体地,上游搜索模块110根据模拟后端返回的压力请求对应的数据包判断是否符合上游搜索模块110预设的压力请求返回数据包,如果符合则表明整个集群模拟装置是正确的,可以在这个模拟的分布式集群上进行可靠性、性能等测试。
根据本发明实施例的分布式集群的模拟***,上游搜索模块通过网桥可以模拟一个分布式集群,节省资源,***自身可以保存上游搜索模块与多个下游搜索模块之间的通信数据包,无需依赖外部资源,降低测试复杂性、提高测试效率,并且可以实现对任意流动的数据流进行模拟以进行测试,例如大度通信和调度特点决定数据流没有固定可预测的方向,单个模块无法实现测试模拟。
图3本发明一个实施例的分布式集群的模拟***的结构框图。
如图3所示,根据本发明实施例的分布式集群的模拟***,包括上游搜索模块110、网桥120、多个端口121和多个下游搜索模块131。
在本发明的一个实施例中,网桥120包括多个端口121,每个端口121均与上游搜索模块110相连,且每个端口121分别与下游分布式集群130中的一个下游搜索模块131相连。网桥120为每个端口121配置转发IP和端口信息,例如网桥120为某个端口121配置的转发IP为TRNASFER_i=10.10.10.9:3000,其端口信息为PORT_i=3000,多个端口121用于接收上游搜索模块110发送的多个压力请求,并将接收到的压力请求发送到相应的下游搜索模块131。
在本发明的一个实施例中,多个下游搜索模块131根据多个压力请求返回的多个数据包的每个通过与网桥120建立的socket连接返回给网桥120,并通过网桥120中的相应的压力请求的接收端口121返回给上游搜索模块110。
具体地,网桥120通过多个端口121分别与上游搜索模块110和多个下游搜索模块130相连,其中上游搜索模块110与每个端口121都相连,每个端口121与相应的下游搜索模块130相连。首先网桥120通过多个端口121接收上游搜索模块110发送的压力请求并将压力请求发送至多个下游搜索模块130,其中,上游搜索模块110可以根据多个下游搜索模块130的性能测试需求向网桥120发送相应的压力请求,然后多个端口121接收相应的多个下游搜索模块130根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块110,多个端口121保存上游搜索模块110与相应的多个下游搜索模块130之间的通信数据包,保存数据包的过程即为数据的录制过程,网桥120还用于根据上游搜索模块110与多个下游搜索模块130之间的通信数据包按照预定的格式生成词典,再根据上游搜索模块110发送的压力请求在词典中查找压力请求对应的数据包并将压力请求对应的数据包返回至上游搜索模块110,查找的过程为数据的回放过程。
在本发明的一个实施例中,词典包括多个dump文件,每个dump文件分别与每个端口121对应,用于保存通过端口121发送的压力请求和返回的数据包。
在本发明的一个实施例中,预定的格式(即词典中数据的存储格式)为key&value对的形式,其中,key为压力请求中的关键字,该关键字可以唯一标识一次压力请求,value为关键字对应的返回内容。
根据本发明实施例的分布式集群的模拟***,网桥通过多个端口分别与上游搜索模块和多个下游搜索模块相连,通过多个端口可以方便有序地实现上游搜索模块与多个相应的下游搜索模块的相互通信、保存相应的通信数据包,进一步降低测试复杂性、提高测试效率。
下面参考说明书附图描述根据本发明实施例的网桥。
一种网桥,包括:模式选择模块,模式选择模块用于接收用户输入的录制模式或回放模式;通信模块,通信模块用于接收上游搜索模块发送的压力请求并在录制模式下将压力请求发送至下游分布式集群,其中下游分布式集群包括多个下游搜索模块,以及接收多个下游搜索模块根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块;录制模块,录制模块与通信模块相连,用于保存压力请求和返回的数据包;以及模拟模块,模拟模块分别与通信模块、录制模块和模式选择模块相连,用于在回放模式下根据录制模块保存的通信数据包按照预定的格式生成词典,并根据上游搜索模块发送的压力请求在词典中查找到压力请求对应的返回数据包。
图4为本发明一个实施例的网桥的结构框图。
如图4所示,根据本发明实施例的网桥包括模式选择模块210、通信模块220、录制模块230和模拟模块240。
具体地,模式选择模块210用于接收用户输入的录制模式或回放模式。通信模块220用于接收上游搜索模块发送的压力请求并在录制模式下将压力请求发送至多个下游搜索模块,以及接收多个下游搜索模块根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块。录制模块230与通信模块220相连,用于按照保存压力请求和返回的数据包,录制模块230保存通信数据包的过程为录制过程。模拟模块240分别与通信模块220、录制模块230和模式选择模块240相连,用于在回放模式下根据录制模块230保存的通信数据包按照预定的格式生成词典,并根据上游搜索模块发送的压力请求在词典中查找压力请求对应的返回数据包,通过模拟模块240查找的过程为回放过程。
在本发明的一个实施例中,词典包括多个dump文件,每个dump文件分别与每个下游搜索模块130相对应,用于保存上游搜索模块110发送的压力请求及该压力请求所对应的下游搜索模块130根据该压力请求返回的数据包。
在本发明的一个实施例中,预定的格式(即词典中数据的存储格式)为key&value对的形式,其中,key为压力请求中的关键字,该关键字唯一标识一次压力请求,value为关键字对应的返回内容。由此,在回放过程中,可以快速地查找到压力请求对应的数据包,进一步提高测试的效率。
根据本发明实施例的网桥,分别与上游搜索模块和多个下游搜索模块相连,在上游搜索模块与多个下游搜索模块的通信过程中通信数据包,无需依赖外部资源,能够有效降低测试复杂性、提高测试效率,并且可以实现对任意流动的数据流进行测试模拟,例如大度通信和调度特点决定数据流没有固定可预测的方向,单个模块无法实现测试模拟。
图5为本发明一个实施例的网桥的结构框图。如图5所示,在图4所示的实施例的基础上,通信模块220包括多个端口221,每个端口221均与上游搜索模块110相连,且每个端口221分别与一个下游搜索模块131相连。每个端口221配置有转发IP和端口信息,例如某个端口221配置的转发IP为TRNASFER_i=10.10.10.9:3000,其端口信息为PORT_i=3000,多个端口221用于接收上游搜索模块110发送的多个压力请求,并将接收到的压力请求发送至相应的下游搜索模块131。
在本发明的一个实施例中,多个下游搜索模块131根据多个压力请求返回的多个数据包的每个通过相应的压力请求的接收端口221返回。
更具体地,通信模块220通过多个端口221分别与上游搜索模块110和多个下游搜索模块31相连,其中上游搜索模块110与每个端口221都相连,每个端口221与相应的下游搜索模块131相连。首先,模式选择模块210接收用户输入的录制模式或回放模式,通信模块220通过多个端口211接收上游搜索模块发送的压力请求并在录制模式下将压力请求发送至多个下游搜索模块,其中,上游搜索模块可以根据多个下游搜索模块的性能测试需求向通信模块220发送相应的压力请求,然后多个端口221接收相应的多个下游搜索模块根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块,录制模块230按照预定的格式保存压力请求和返回的数据包并生成词典,录制模块230生成的词典的过程为录制过程。然后模拟模块240在回放模式下根据压力请求在词典中查找压力请求对应的返回数据包,通过模拟模块240查找的过程为回放过程。
在本发明的一个实施例中,词典包括多个dump文件,每个dump文件分别与每个下游搜索模块130相对应,用于保存上游搜索模块110发送的压力请求及该压力请求所对应的下游搜索模块130根据该压力请求返回的数据包。
在本发明的一个实施例中,预定的格式(即词典中数据的存储格式)为key&value对的形式,其中,key为压力请求中的关键字,value为关键字对应的返回内容。
根据本发明实施例的网桥,通信模块通过多个端口分别与上游搜索模块和多个下游搜索模块相连,通过多个端口可以方便实现上游搜索模块与多个相应的下游搜索模块的相互通信、保存相应的通信数据包,进一步降低测试复杂性、提高测试效率。
下面参考说明书附图描述根据本发明实施例的分布式集群的模拟方法。
一种分布式集群的模拟方法,包括以下步骤:(a)在录制模式下,网桥接收上游搜索模块发送的压力请求,并将压力请求发送至下游分布式集群,其中下游分布式集群包括多个下游搜索模块;(b)网桥接收多个下游搜索模块根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块;(c)网桥按照预定的格式保存上游搜索模块与多个下游搜索模块之间的通信数据包;(d)在回放模式下,网桥根据上游搜索模块与多个下游搜索模块之间的通信数据包生成词典,并根据上游搜索模块发送的压力请求在词典中查找压力请求对应的数据包并将压力请求对应的数据包返回至上游搜索模块。
图6为本发明一个实施例的分布式集群的模拟方法的流程图。
如图6所示,根据本发明实施例的分布式集群的模拟方法,包括下述步骤。
步骤S101,在录制模式下,网桥接收上游搜索模块发送的压力请求,并将压力请求发送至多个下游搜索模块。
其中,上游搜索模块可以根据多个下游搜索模块的性能测试需求向网桥发送相应的压力请求。
在本发明的一个实施例中,网桥包括多个端口,每个端口均与上游搜索模块相连,且网桥为每个端口配置转发IP和端口信息,例如网桥为某个端口配置的转发IP为TRNASFER_i=10.10.10.9:3000,其端口信息为PORT_i=3000,多个端口接收上游搜索模块发送的多个压力请求。
步骤S102,网桥接收多个下游搜索模块根据压力请求返回的数据包并将返回的数据包发送至上游搜索模块。
步骤S103,网桥保存上游搜索模块与多个下游搜索模块之间的通信数据包。
上述步骤S101至步骤S103的过程即为数据的录制过程。
步骤S104,在回放模式下,网桥根据上游搜索模块与多个下游搜索模块之间的通信数据包按照预定的格式生成词典。
在本发明的一个实施例中,词典包括多个dump文件,每个dump文件分别与每个端口对应,用于保存通过端口发送的压力请求和返回的数据包。
在本发明的一个实施例中,预定的格式为key&value对的形式,其中,key为压力请求中的关键字,value为关键字对应的返回内容。
步骤S105,网桥根据上游搜索模块发送的压力请求在词典中查找压力请求对应的数据包并将压力请求对应的数据包返回至上游搜索模块。
根据本发明的一个实施例,当需要进行测试时,上游搜索模块向网桥发送压力请求,请求到达网桥后,由网桥在生成的词典中找到相应的返回包,返回给上游搜索模块,起到回放的作用。
根据本发明实施例的分布式集群的模拟方法,通过网桥可以模拟一个分布式集群,节省资源,并且可以保存上游搜索模块与多个下游搜索模块之间的通信数据包,无需依赖外部资源,降低测试复杂性、提高测试效率,以及可以实现对任意流动的数据流进行模拟以进行测试,例如大度通信和调度特点决定数据流没有固定可预测的方向,单个模块无法实现测试模拟。
应理解,上游搜索模块还可以根据返回的压力请求对应的数据包判断是否符合上游搜索模块预设的压力请求返回数据包,如果符合则上游搜索模块的性能良好。例如根据网页访问的压力请求所返回的页面是否符合上游搜索模块预设的返回页面,根据流量统计的压力请求所返回的流量是否符合上游搜索模块预设的返回流量等。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

Claims (15)

1.一种分布式集群的模拟***,其特征在于,包括上游搜索模块、网桥和下游分布式集群,其中所述下游分布式集群包括多个下游搜索模块,所述网桥分别与所述上游搜索模块和所述下游分布式集群相连,
所述上游搜索模块用于发送压力请求;
所述网桥用于接收所述压力请求并将所述压力请求发送至所述多个下游搜索模块,并接收所述多个下游搜索模块根据所述压力请求返回的数据包,以及保存所述上游搜索模块与所述多个下游搜索模块之间的通信数据包;
所述网桥还用于根据所述上游搜索模块与所述多个下游搜索模块之间的通信数据包按照预定的格式生成词典,并根据所述上游搜索模块发送的压力请求在所述词典中查找所述压力请求对应的数据包并将所述压力请求对应的数据包返回至所述上游搜索模块。
2.如权利要求1所述的分布式集群的模拟***,其特征在于,所述网桥包括多个端口,每个所述端口均与所述上游搜索模块相连,且所述网桥为每个所述端口配置转发IP和端口信息,所述多个端口用于接收所述上游搜索模块发送的多个压力请求,且所述多个端口的每个分别与所述下游分布式集群中的一个下游搜索模块相连。
3.如权利要求2所述的分布式集群的模拟***,其特征在于,所述下游分布式集群根据所述多个压力请求返回的多个数据包的每个通过相应的压力请求的接收端口返回。
4.如权利要求1至3中任一项所述的分布式集群的模拟***,其特征在于,所述词典包括多个dump文件,每个dump文件分别与每个所述端口对应,用于保存通过所述端口发送的压力请求和返回的数据包。
5.如权利要求1所述的分布式集群的模拟***,其特征在于,所述预定的格式为key&value对的形式,其中,key为所述压力请求中的关键字,value为所述关键字对应的返回内容。
6.一种网桥,其特征在于,包括:
模式选择模块,所述模式选择模块用于接收用户输入的录制模式或回放模式;
通信模块,所述通信模块用于接收上游搜索模块发送的压力请求并在所述录制模式下将所述压力请求发送至下游分布式集群,其中所述下游分布式集群包括多个下游搜索模块,以及接收所述多个下游搜索模块根据所述压力请求返回的数据包并将所述返回的数据包发送至所述上游搜索模块;
录制模块,所述录制模块与所述通信模块相连,用于保存所述压力请求和所述返回的双向通信数据包;以及
模拟模块,所述模拟模块分别与所述通信模块、所述录制模块和所述模式选择模块相连,用于在所述回放模式下根据所述录制模块保存的数据包按照预定的格式生成词典,并根据所述上游搜索模块发送的压力请求在所述词典中查找所述压力请求对应的返回数据包。
7.如权利要求6所述的网桥,其特征在于,所述通信模块包括多个端口,每个所述端口均与所述上游搜索模块相连,且每个所述端口均配置有转发IP和端口信息,所述多个端口用于接收所述上游搜索模块发送的多个压力请求,且所述多个端口的每个分别与所述下游分布式集群中的一个下游搜索模块相连。
8.如权利要求7所述的网桥,其特征在于,所述多个下游搜索模块根据所述多个压力请求返回的多个数据包的每个通过与所述网桥建立的socket连接返回给所述网桥,并通过相应压力请求的接收端口返回给所述上游搜索模块。
9.如权利要求6至8中任一项所述的网桥,其特征在于,所述通信数据包包括多个dump文件,每个dump文件分别与每个端口对应,用于保存通过所述端口发送的压力请求包和集群下游模块返回的数据包。
10.如权利要求6所述的网桥,其特征在于,所述预定的格式为key&value对的形式,其中,key为所述压力请求中的关键字,value为所述关键字对应的返回内容。
11.一种分布式集群的模拟方法,其特征在于,包括以下步骤:
(a)在录制模式下,网桥接收上游搜索模块发送的压力请求,并将所述压力请求发送至下游分布式集群,其中所述下游分布式集群包括多个下游搜索模块;
(b)所述网桥接收所述多个下游搜索模块根据所述压力请求返回的数据包并将所述返回的数据包发送至所述上游搜索模块;
(c)所述网桥保存所述上游搜索模块与所述多个下游搜索模块之间的通信数据包;
(d)在回放模式下,所述网桥根据所述上游搜索模块与所述多个下游搜索模块之间的通信数据包按照预定的格式生成词典,并根据所述上游搜索模块发送的压力请求在所述词典中查找所述压力请求对应的数据包并将所述压力请求对应的数据包返回至所述上游搜索模块。
12.如权利要求11所述的分布式集群的模拟方法,其特征在于,所述网桥包括多个端口,每个所述端口均与所述上游搜索模块相连,且所述网桥为每个所述端口配置转发IP和端口信息,所述多个端口接收所述上游搜索模块发送的多个压力请求,且所述多个端口的每个分别与所述下游分布式集群的每个下游搜索模块相连。
13.如权利要求12所述的分布式集群的模拟方法,其特征在于,所述多个下游搜索模块根据所述多个压力请求返回的多个数据包的每个通过相应的压力请求的接收端口返回,并通过所述网桥dump所述上游搜索模块和所述下游分布式集群之间的通信数据。
14.如权利要求11至13中任一项所述的分布式集群的模拟方法,其特征在于,所述词典包括多个dump文件,每个dump文件分别与每个端口对应,用于保存通过所述端口发送的压力请求和返回的数据包。
15.如权利要求11所述的分布式集群的模拟方法,其特征在于,所述预定的格式为key&value对的形式,其中,key为所述压力请求中的关键字,value为所述关键字对应的返回内容。
CN201210044853.6A 2012-02-23 2012-02-23 分布式集群的模拟***、方法和装置 Active CN103297450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210044853.6A CN103297450B (zh) 2012-02-23 2012-02-23 分布式集群的模拟***、方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210044853.6A CN103297450B (zh) 2012-02-23 2012-02-23 分布式集群的模拟***、方法和装置

Publications (2)

Publication Number Publication Date
CN103297450A true CN103297450A (zh) 2013-09-11
CN103297450B CN103297450B (zh) 2016-04-13

Family

ID=49097767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210044853.6A Active CN103297450B (zh) 2012-02-23 2012-02-23 分布式集群的模拟***、方法和装置

Country Status (1)

Country Link
CN (1) CN103297450B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445812A (zh) * 2016-08-31 2017-02-22 上海携程商务有限公司 回归测试***及回归测试方法
CN111611140A (zh) * 2020-04-30 2020-09-01 广州华多网络科技有限公司 埋点数据的上报验证方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136790A (zh) * 2006-09-01 2008-03-05 中兴通讯股份有限公司 以太网交换机集群管理的自动化测试***及方法
CN101576923A (zh) * 2009-06-25 2009-11-11 用友软件股份有限公司 Erp单据搜索方法和***
WO2011110847A1 (en) * 2010-03-09 2011-09-15 Roke Manor Research Limited Data capture tool and method
CN202033748U (zh) * 2011-04-22 2011-11-09 阿里巴巴集团控股有限公司 搜索引擎性能测试***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101136790A (zh) * 2006-09-01 2008-03-05 中兴通讯股份有限公司 以太网交换机集群管理的自动化测试***及方法
CN101576923A (zh) * 2009-06-25 2009-11-11 用友软件股份有限公司 Erp单据搜索方法和***
WO2011110847A1 (en) * 2010-03-09 2011-09-15 Roke Manor Research Limited Data capture tool and method
CN202033748U (zh) * 2011-04-22 2011-11-09 阿里巴巴集团控股有限公司 搜索引擎性能测试***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
何腾蛟: ""分布式***测试模型与框架的研究与应用"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445812A (zh) * 2016-08-31 2017-02-22 上海携程商务有限公司 回归测试***及回归测试方法
CN106445812B (zh) * 2016-08-31 2019-02-01 上海携程商务有限公司 回归测试***及回归测试方法
CN111611140A (zh) * 2020-04-30 2020-09-01 广州华多网络科技有限公司 埋点数据的上报验证方法、装置、电子设备及存储介质
CN111611140B (zh) * 2020-04-30 2023-05-16 广州华多网络科技有限公司 埋点数据的上报验证方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103297450B (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
CN107040582B (zh) 一种数据处理方法及装置
CN104471880B (zh) 时分双工(tdd)通信***的有效并行测试方法
CN104978258B (zh) 软件自动化测试方法及***
US8027827B2 (en) Device, system, and method of storage controller having simulated volumes
CN101345708B (zh) 一种生成转发表的方法和装置
US8032352B2 (en) Device, system, and method of storage controller simulating data mirroring
CN104462328B (zh) 一种基于哈希表与双循环链表的混合数据管理方法及装置
CN102497424A (zh) 一种通过移动存储设备实现云存储的方法
CN104584524A (zh) 聚合中介***中的数据
CN113660140A (zh) 基于数据控制平面混合感知的服务功能链故障检测方法
CN109561106A (zh) 一种船舶通信报文实时解析过滤方法
CN103823807A (zh) 一种去除重复数据的方法、装置及***
CN104660617A (zh) 一种数据传输***及方法
US20110069622A1 (en) Traffic Distribution Control
CN102882960B (zh) 一种资源文件的发送方法及装置
CN109508319A (zh) 一种3d跨平台资源管理***和方法
CN107579879A (zh) 一种网络仿真测试方法、仿真服务器以及存储介质
CN1964247A (zh) 模拟网络损伤的方法和装置
CN103297450A (zh) 分布式集群的模拟***、方法和装置
Bao et al. User behavior and user experience analysis for social network services
CN103257970B (zh) 用于hdfs主节点的测试方法及装置
CN105069139A (zh) 文件访问方法和文件访问装置以及服务器
CN104462129A (zh) 分布式文件存储和查询方法及存取***
CN103036738B (zh) 一种验证***及其验证方法
CN102497296A (zh) 一种网卡收发包正常性测试方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant