CN106375139B - 复制请求的方法、装置和系统 - Google Patents

复制请求的方法、装置和系统 Download PDF

Info

Publication number
CN106375139B
CN106375139B CN201510437041.1A CN201510437041A CN106375139B CN 106375139 B CN106375139 B CN 106375139B CN 201510437041 A CN201510437041 A CN 201510437041A CN 106375139 B CN106375139 B CN 106375139B
Authority
CN
China
Prior art keywords
server
simulation
reply message
instruction
user request
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
CN201510437041.1A
Other languages
English (en)
Other versions
CN106375139A (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.)
Tencent Technology Beijing Co Ltd
Original Assignee
Tencent Technology Beijing 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 Tencent Technology Beijing Co Ltd filed Critical Tencent Technology Beijing Co Ltd
Priority to CN201510437041.1A priority Critical patent/CN106375139B/zh
Publication of CN106375139A publication Critical patent/CN106375139A/zh
Application granted granted Critical
Publication of CN106375139B publication Critical patent/CN106375139B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种复制请求的方法、装置和系统,属于互联网技术领域。所述方法包括:线上服务器通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送用户请求至预设地址信息所指向的模拟服务器;第一抓取指令和第一发送指令是线上服务器中的系统指令;模拟服务器建立与测试服务器之间的会话连接,通过会话连接发送用户请求至测试服务器;测试服务器在成功接收到用户请求之后,生成回复报文,反馈回复报文至模拟服务器;模拟服务器接收测试服务器反馈的回复报文;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题。

Description

复制请求的方法、装置和系统
技术领域
本发明涉及互联网技术领域,特别涉及一种复制请求的方法、装置和系统。
背景技术
在应用正式上线之前,测试人员通常需要先对该应用进行测试。在现有的应用测试方法中,位于后台的线上服务器需要抓取该应用发送的用户请求,并将该用户请求复制至测试环境中进行测试。
现有的一种复制工具为TCPCopy工具,该TCPCopy工具包括设置在线上服务器中的TCPCopy组件以及与测试服务器处于同一网段的Intercept组件。
具体的,请参考图1,该复制请求的方法包括:101,线上服务器110运行TCPCopy组件,通过TCPCopy组件抓取用户请求;102,线上服务器110通过TCPCopy组件建立与测试服务器120之间的TCP(Transmission Control Protocol,传输控制协议)会话连接,并通过该TCP会话连接转发用户请求至测试服务器120;103,测试服务器120成功接收到线上服务器110转发的用户请求之后,发送回复报文至运行有Intercept组件的服务器130;104,运行有Intercept组件的服务器130转发回复报文中的IP(Internet Protocol,网络之间互连的协议)头和TCP头部信息至线上服务器110。其中,线上服务器110在建立与测试服务器120之间的TCP会话连接之后,线上服务器110需要通过TCPCopy组件维护该TCP会话连接。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:线上服务器需要设置TCPCopy组件,通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重。特别的,当TCPCopy组件抓取的用户请求有多个时,线上服务器需要通过TCPCopy组件维护每个用户请求所对应的TCP会话连接,线上服务器的负担更重。
发明内容
为了解决现有技术中存在的问题,本发明实施例提供了一种复制请求的方法、装置和系统。所述技术方案如下:
第一方面,提供了一种复制请求的方法,包括:
线上服务器通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
所述模拟服务器建立与测试服务器之间的会话连接,通过所述会话连接发送所述用户请求至所述测试服务器;
所述测试服务器在成功接收到所述用户请求之后,生成回复报文,反馈所述回复报文至所述模拟服务器;
所述模拟服务器接收所述测试服务器反馈的所述回复报文。
第二方面,提供了一种复制请求的方法,用于线上服务器中,包括:
通过第一抓取指令抓取接收到的用户请求;
通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器,所述模拟服务器接收到所述用户请求之后,建立与测试服务器之间的会话连接,通过所述会话连接将所述用户请求转发至测试服务器,接收所述测试服务器在成功接收到所述用户请求之后反馈的回复报文;
其中,所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令。
第三方面,提供了一种复制请求的方法,用于模拟服务器中,包括:
接收线上服务器通过第一发送指令发送的用户请求,所述用户请求为所述线上服务器通过第一抓取指令抓取,并通过所述第一发送指令发送的请求;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
建立与测试服务器之间的会话连接,通过所述会话连接转发所述用户请求至所述测试服务器,所述测试服务器用于在成功接收所述用户请求之后反馈回复报文;
接收所述测试服务器反馈的所述回复报文。
第四方面,提供了一种复制请求的装置,用于线上服务器中,包括:
抓取模块,用于通过第一抓取指令抓取接收到的用户请求;
转发模块,用于通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器,所述模拟服务器接收到所述用户请求之后,建立与测试服务器之间的会话连接,通过所述会话连接将所述用户请求转发至测试服务器,接收所述测试服务器在成功接收到所述用户请求之后反馈的回复报文;
其中,所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令。
第五方面,提供了一种复制请求的装置,用于模拟服务器中,包括:
请求接收模块,用于接收线上服务器通过第一发送指令发送的用户请求,所述用户请求为所述线上服务器通过第一抓取指令抓取,并通过所述第一发送指令发送的请求;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
请求转发模块,用于建立与测试服务器之间的会话连接,通过所述会话连接转发所述用户请求至所述测试服务器,所述测试服务器用于在成功接收所述用户请求之后反馈回复报文;
报文接收模块,用于接收所述测试服务器反馈的所述回复报文。
第六方面,提供了一种复制请求的系统,所述系统包括:线上服务器、模拟服务器和测试服务器;
所述线上服务器,用于通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送所述用户请求至预设地址信息所指向的所述模拟服务器;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
所述模拟服务器,用于建立与所述测试服务器之间的会话连接,通过所述会话连接发送所述用户请求至所述测试服务器;
所述测试服务器,用于在成功接收到所述用户请求之后,生成回复报文,反馈所述回复报文至所述模拟服务器;
所述模拟服务器,还用于接收所述测试服务器反馈的所述回复报文。
本发明实施例提供的技术方案的有益效果是:
线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术提供的复制请求的方法的方法流程图。
图2A和2B是本发明各个实施例所提供的复制请求的方法所涉及的实施环境的示意图。
图3是本发明一个实施例提供的复制请求的方法的方法流程图。
图4是本发明另一个实施例提供的复制请求的方法的方法流程图。
图5是本发明再一个实施例提供的复制请求的方法的方法流程图。
图6是本发明再一个实施例提供的复制请求的方法的方法流程图。
图7是本发明一个实施例提供的复制请求的装置的结构方框图。
图8是本发明一个实施例提供的复制请求的装置的结构方框图。
图9是本发明另一个实施例提供的复制请求的装置的结构方框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参考图2A和2B,其示出了本发明各个实施例提供的复制请求的方法所涉及的实施环境的结构示意图。如图2A和2B所示,该实施环境可以包括线上服务器210、模拟服务器220和测试服务器230。
线上服务器210是为应用提供后台服务的后台服务器。该线上服务器210可以通过有线或者无线网络与模拟服务器220连接。
模拟服务器220通过有线或者无线网络与测试服务器230连接。且,模拟服务器220与测试服务器230可以处于同一网段中,也可以处于不同网段中,本实施例对此并不做限定。实际实现时,模拟服务器220可以有一个也可以有至少两个,并且当模拟服务器220有至少两个时,至少两个模拟服务器220可以两两连接,比如,采用图2B所示的连接方式。
测试服务器230可以通过有线或者无线网络与模拟服务器220连接。
上图只是以模拟服务器220和测试服务器230是两台独立的服务器来举例说明,可选地,该模拟服务器220和测试服务器230还可以为设置在同一台物理服务器中的两个服务器单元,本实施例对此并不做限定。
请参考图3,其示出了本发明一个实施例提供的复制请求的方法的方法流程图,该复制请求的方法可以用于图2A或者图2B所示的实施环境中。如图3所示,该复制请求的方法可以包括:
步骤301,线上服务器通过第一抓取指令抓取接收到的用户请求。
步骤302,线上服务器通过第一发送指令发送用户请求至预设地址信息所指向的模拟服务器。
其中,第一抓取指令和第一发送指令是线上服务器中的系统指令。
步骤303,模拟服务器建立与测试服务器之间的会话连接,通过会话连接发送用户请求至测试服务器。
步骤304,测试服务器在成功接收到用户请求之后,生成回复报文。
步骤305,测试服务器反馈回复报文至模拟服务器。
步骤306,模拟服务器接收测试服务器反馈的回复报文。
综上所述,本实施例提供的复制请求的方法,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
在上述实施例中,模拟服务器可以与测试服务器处于同一网段,也可以与测试服务器处于不同网段。且针对上述两种情况,该请求复制系统的实现方法可以有两种。具体请参考下述实施例。
请参考图4,其示出了本发明一个实施例提供的复制请求的方法的方法流程图,本实施例以该复制请求的方法应用于图2A所示的实施环境中,且模拟服务器和测试服务器处于同一网段来举例说明。如图4所示,该复制请求的方法可以包括:
步骤401,线上服务器通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送用户请求至预设地址信息所指向的模拟服务器;第一抓取指令和第一发送指令是线上服务器中的系统指令。
客户端发送用户请求之后,客户端所对应的线上服务器可以接收到该用户请求。此后,线上服务器即可通过第一抓取指令抓取接收到的该用户请求,并通过第一发送指令转发该用户请求至预设地址信息所指向的模拟服务器。
其中,第一抓取指令和第一发送指令是线上服务器中的系统指令。比如,第一抓取指令可以为tcpdump指令,第一发送指令可以为netcat指令。当第一发送指令为netcat指令时,线上服务器可以以字节流的格式发送抓取到的用户请求至模拟服务器,本实施例对此并不做限定。
预设地址信息可以包括模拟服务器的服务器地址和监听端口的端口号。可选地,该预设地址信息可以为第一发送指令的指令参数中设置的地址信息。比如,以第一发送指令为netcat指令,且第一发送指令为netcat 192.168.1.2001993为例,线上服务器可以获知模拟服务器的服务器地址为192.168.1.200,监听线上服务器发送的信息的监听端口的端口号为1993。
可选地,线上服务器可以通过第一抓取指令实时抓取用户请求,然后通过第一发送指令发送该用户请求至模拟服务器。当然,线上服务器还可以通过第一抓取指令抓取用户请求,将抓取到的用户请求存储至目标文件中。当线上服务器需要复制用户请求时,线上服务器先通过读取指令如cat指令从目标文件中读取出用户请求,之后再通过第一发送指令将读取到的各个用户请求转发至模拟服务器。实际实现时,设计人员可以根据对实时性的要求选择其中一种实现方式,本实施例对此并不做限定。
步骤402,模拟服务器建立与测试服务器之间的会话连接,通过会话连接发送用户请求至测试服务器。
模拟服务器可以相应的接收到线上服务器通过第一发送指令发送的用户请求。具体的,当线上服务器以字节流的格式发送用户请求至模拟服务器时,模拟服务器可以相应的接收到字节流格式的用户请求。此后,模拟服务器可以通过检查IP校验值和TCP检验值的方式从字节流中筛选出用户请求。
在模拟服务器接收到用户请求之后,模拟服务器即可建立与测试服务器之间的会话连接,比如,模拟服务器可以建立与测试服务器之间的TCP会话,通过建立的该会话连接发送该用户请求至测试服务器。具体的,模拟服务器可以通过命令行中设置的测试服务器的地址和端口建立与测试服务器之间的会话连接,也可以通过配置文件中设置的测试服务器的地址和端口来建立与测试服务器之间的会话连接,本实施例对此并不做限定。
其中,模拟服务器建立与测试服务器之间的TCP会话之后,模拟服务器需要维护TCP会话连接所对应的TCP状态机。
可选地,在模拟服务器建立与测试服务器之间的会话连接之前,模拟服务器可以执行如下步骤:检测是否接收到线上服务器转发的属于同一个TCP会话的全部IP包。其中,属于同一个TCP会话的全部IP包是指线上服务器接收到的客户端发送的全部IP包。
具体的,模拟服务器检测是否接收到线上服务器转发的属于同一个TCP会话的全部IP包,包括:
第一,检测接收到的IP包中是否有SYN(SYnchroNous,TCP/IP建立连接时使用的握手信号)包。
第二,检测接收到的IP包中是否有FIN(Finish,终结)包。
第三,将抓取到的属于同一TCP会话的全部IP包按照TCP报文的seq字段的先后顺序排序,检测后一个IP包的TCP seq字段是否等于前一个IP包的TCP seq字段加TCP报文的长度。
其中,判定seq先后顺序需要考虑到32比特位数值的回绕问题。比如,用C/C++语言的宏定义表示为:#define seq_before(left,right);((int)((uint32_t)(left-right))<0);如果seq_before(left,right)返回真,则left seq在right seq之前。而如果seq_before(left,right)返回假,则left seq在right seq之后或者left seq等于right seq。
第四,若上述三个条件均满足,则确定模拟服务器接收到线上服务器转发的属于同一个TCP会话的全部IP包。
本实施例通过在接收到一个TCP会话的全部IP包之后建立与测试服务器之间的会话连接,开始模拟真实用户(也即转发用户请求至测试服务器),避免了线上服务器转发用户请求至模拟服务器的过程中,由于丢包而导致的模拟服务器转发用户请求至测试服务器之后,测试服务器会等待一个永远不会到达的IP包,进而对测试服务器造成DOS(Denial OfService,拒绝服务攻击)攻击的问题,达到了可以避免测试服务器遭受DOS攻击的效果。
步骤403,测试服务器在成功接收到用户请求之后,根据预设报文生成机制生成回复报文。
相应的,测试服务器可以接收模拟服务器发送的用户请求。并在成功接收到用户请求之后,根据预设报文生成机制生成回复报文。
步骤404,测试服务器根据第一路由信息反馈回复报文至模拟服务器,第一路由信息为指向模拟服务器的信息。
在测试服务器和模拟服务器处于同一网段时,测试服务器可以根据预设的第一路由信息将回复报文反馈至模拟服务器。
具体的,第一路由信息中预设的模拟服务器的地址为192.168.1.200,则测试服务器生成回复报文之后,测试服务器即可反馈回复报文至第一路由信息中的192.168.1.200所指向的模拟服务器。
步骤405,模拟服务器接收测试服务器反馈的回复报文。
具体的,模拟服务器的配置文件中的MAIN.sniff_method设置为raw,或者pcap。当设置为raw时,模拟服务器使用Linux操作系统的raw socket指令来抓取路由过来的测试服务器的回复报文;当设置为pcap时,模拟服务器使用Linux操作系统的libpcap库抓取测试服务器的回复报文。
可选地,在模拟服务器接收到回复报文之后,模拟服务器可以丢弃回复报文。实际实现时,若模拟服务器接收到回复报文之后将该回复报文转发至外网,则测试服务器可能会接收到外网反馈RESET包。在测试服务器接收到RESET包之后,测试服务器会断开与模拟服务器之间的TCP会话连接,也即测试服务器与模拟服务器之间的通信将无法继续。所以,本实施例中模拟服务器通过丢弃接收到的回复报文,避免了测试服务器与模拟服务器之间的TCP会话连接,通信无法继续的问题。
需要补充说明的是,模拟服务器中可以设置有配置文件,该配置文件用于配置模拟服务器主动关闭与测试服务器之间的TCP会话连接,或者配置模拟服务器被动关闭与测试服务器之间的TCP会话连接。在模拟服务器与测试服务器之间的TCP会话结束之后,模拟服务器可以根据配置文件中的配置主动关闭或者被动关闭与测试服务器之间的TCP会话连接。
综上所述,本实施例提供的复制请求的方法,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的额外的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
请参考图5,其示出了本发明一个实施例提供的复制请求的方法的方法流程图,本实施例以该请求复制系统应用于图2A所示的实施环境中,且模拟服务器和测试服务器处于同一网段来举例说明。如图5所示,该复制请求的方法可以包括:
步骤501,线上服务器通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送用户请求至预设地址信息所指向的模拟服务器;第一抓取指令和第一发送指令是线上服务器中的系统指令。
步骤502,模拟服务器建立与测试服务器之间的会话连接,通过会话连接发送用户请求至测试服务器。
步骤503,测试服务器在成功接收到用户请求之后,根据预设报文生成机制生成回复报文。
需要说明的是,步骤501-503与上述实施例中的步骤401-403类似,详细技术细节请参考上述实施例,本实施例在此不再赘述。
步骤504,测试服务器通过操作系统中的第二抓取指令抓取生成的回复报文,并通过操作系统中的第二发送指令将抓取的回复报文发送至模拟服务器。
在测试服务器与模拟服务器不在同一网段时,测试服务器并不能通过路由的方式将回复报文发送至模拟服务器。此时,测试服务器可以通过操作系统中的第二抓取指令抓取生成的回复报文,然后通过第二发送指令将抓取到的回复报文发送至模拟服务器。
可选地,测试服务器可以通过TCP的方式在测试服务器中用tcpdump指令抓取回复报文,然后再通过netcat指令将抓取到的回复报文跨网段发送至模拟服务器监听的端口。比如,测试服务器上开启80端口与用户交互,模拟服务器的地址为192.168.1.200,模拟服务器监听的端口为1992端口,则测试服务器可以运行tcpdump–i any src port 80–s 0–w-|netcat 192.168.1.2001992。相应的,模拟服务器为了能够成功接收该回复报文,模拟服务器的配置文件中的MAIN.sniff_method需要设置为TCP。
步骤505,模拟服务器接收测试服务器反馈的回复报文。
相应的,模拟服务器可以接收测试服务器反馈的回复报文。本步骤与上述实施例中的步骤405类似,详细技术细节请参考上述实施例,本实施例在此不再赘述。
与上述实施例不同的是,本实施例中测试服务器虽然不用设置用于指向模拟服务器的路由信息,进而将回复报文路由至模拟服务器。但是,根据报文回复机制的规定,测试服务器仍然需要将该回复报文回复至与测试服务器处于同一网段中的机器,也即测试服务器中仍然需要设置用于指向与测试服务器处于同一网段的预设服务器的第二路由信息,并根据第二路由信息将该回复报文回复至预设服务器。与上述实施例中模拟服务器丢弃回复报文相同的理由,预设服务器接收到回复报文之后,预设服务器也可以丢弃该回复报文。当然,设计人员也可以更改测试服务器的回复机制,也即使其不再发送回复报文至同一网段中的其他机器,此时,测试服务器反馈回复报文至模拟服务器之后,测试服务器可以直接丢弃该回复报文。
需要说明的一点是,本实施例中公开的测试服务器发送回复报文至模拟服务器的方法,同样可以用于测试服务器和模拟服务器处于同一网段时测试服务器向模拟服务器发送回复报文,本实施例对此并不做限定。
需要补充说明的另一点是,模拟服务器中可以设置有配置文件,该配置文件用于配置模拟服务器主动关闭与测试服务器之间的TCP会话连接,或者配置模拟服务器被动关闭与测试服务器之间的TCP会话连接。在模拟服务器转发用户请求至测试服务器完成之后,模拟服务器可以根据配置文件中的配置主动关闭或者被动关闭与测试服务器之间的TCP会话连接。
综上所述,本实施例提供的复制请求的方法,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
需要补充说明的是,上述实施例只是以模拟服务器有一个为例,可选地,模拟服务器可以有n个,n≥2。此时,请参考图2B,n个模拟服务器中每两个模拟服务器之间两两连接,且图2B中的线上服务器可以发送用户请求至n个模拟服务器中的任一个模拟服务器。请参考图6,其示出了模拟服务器有n个时,复制请求的方法的方法流程图。该复制请求的方法可以包括:
步骤601,线上服务器通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送用户请求至预设地址信息所指向的模拟服务器;第一抓取指令和第一发送指令是线上服务器中的系统指令。
步骤602,模拟服务器建立与测试服务器之间的会话连接,通过会话连接发送用户请求至测试服务器。
步骤603,测试服务器在成功接收到用户请求之后,生成回复报文。
需要说明的是,步骤601-603与上述实施例中的步骤401-403类似,详细技术细节请参考上述实施例,本实施例在此不再赘述。
步骤604,测试服务器反馈回复报文至n个模拟服务器中的目标模拟服务器。
当模拟服务器有n个时,测试服务器生成回复报文之后,测试服务器可以反馈该回复报文至n个模拟服务器中的目标模拟服务器。
具体的,测试服务器可以反馈该回复报文至n个模拟服务器中的第i个模拟服务器。其中,i的起始值为1。可选地,本步骤可以包括:
(1)、当第i个模拟服务器与测试服务器处于同一网段时,测试服务器可以根据第一路由信息反馈回复报文至第i个模拟服务器。
(2)、当第i个模拟服务器与测试服务器处于不同网段时,测试服务器通过操作系统中的第二抓取指令抓取生成的回复报文,并通过操作系统中的第二发送指令发送该回复报文至第i个模拟服务器。
需要说明的是,测试服务器反馈回复报文至第i个模拟服务器的方法与图4或者图5所示的报文回复方法类似,详细技术细节请参考上述实施例。
步骤605,目标模拟服务器将回复报文转发至n个模拟服务器中的其它模拟服务器。
相应的,目标模拟服务器可以接收测试服务器反馈的回复报文,并在接收到回复报文之后,将回复报文转发至n个模拟服务器中的其它模拟服务器。
具体的,本步骤可以有两种可能的实现方式。第一种,目标模拟服务器将回复报文依次转发至n个模拟服务器中的各个其它模拟服务器。第二种,目标模拟服务器将回复报文转发至相连的模拟服务器,由相连的模拟服务器将回复报文继续转发至下一个模拟服务器,本实施例对此并不做限定,且本实施例以第二种实现方式来举例说明。
可选地,目标模拟服务器为第i个模拟服务器时,第i个模拟服务器将回复报文转发至其它模拟服务器,包括:
第一,第i个模拟服务器将回复报文写入至第i个模拟服务器中的预设文件中,通过读取指令读取预设文件中的回复报文,并通过第三发送指令转发回复报文至n个模拟服务器中的第i+1个模拟服务器。
比如,n个模拟服务器中的相邻两个模拟服务器均由一个有名管道/tmp/horos.fifo支持,则在第i个模拟服务器接收到回复报文之后,第i个模拟服务器可以将该回复报文写到/tmp/horos.fifo中,并通过标准UNIX工具中的cat指令把/tmp/horos.fifo中存储的回复报文读出,然后再用netcat指令将读出的回复报文发送至第i+1个模拟服务器。相应的,第i+1个模拟服务器可以接收到第i个模拟服务器转发的回复报文。
第二,在i<n-1时,将i+1,并再次执行第i个模拟服务器将回复报文写入至第i个模拟服务器中的预设文件中,通过读取指令读取预设文件中的回复报文,并通过发送指令转发回复报文至n个模拟服务器中的第i+1个模拟服务器的操作。
此后,在i<n-1时,将i+1,并再次执行上述步骤。这样,每个模拟服务器均可以接收到测试服务器反馈的回复报文。
步骤606,模拟服务器接收测试服务器反馈的回复报文。
具体的,n个模拟服务器中的第i个模拟服务器可以接收测试服务器直接反馈的回复报文,第i+1个模拟服务器可以接收第i个模拟服务器反馈的回复报文。
本步骤与上述实施例中的步骤405类似,详细技术细节请参考上述实施例,本实施例在此不再赘述。
需要补充说明的是,模拟服务器中可以设置有配置文件,该配置文件用于配置模拟服务器主动关闭与测试服务器之间的TCP会话连接,或者配置模拟服务器被动关闭与测试服务器之间的TCP会话连接。在模拟服务器转发用户请求至测试服务器完成之后,模拟服务器可以根据配置文件中的配置主动关闭或者被动关闭与测试服务器之间的TCP会话连接。
综上所述,本实施例提供的复制请求的方法,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
本实施例通过将n个模拟服务器串联的方式,提高了系统的模拟能力。比如,每个模拟服务器每秒钟可以完成5K个TCP短连接,则通过使用两个模拟服务器串联,即可实现每秒钟10K个TCP短连接。
需要补充说明的一点是,在上述各个实施例中,若模拟服务器转发用户请求至测试服务器之后,在预定时间间隔内未接收到测试服务器反馈的回复报文,则模拟服务器可以根据TCP状态机中的数据重传机制进行重传,保证了传输的可靠性。
需要补充说明的第二点是,上述各个实施例中关于线上服务器侧的步骤可以实现成为线上服务器中的复制请求的方法,关于模拟服务器侧的步骤可以实现成为模拟服务器中的复制请求的方法,关于测试服务器侧的步骤可以实现成为测试服务器中的复制请求的方法,本实施例在此就不再一一赘述。
请参考图7,其示出了本发明一个实施例提供的复制请求的装置的结构方框图,该复制请求的装置可以用于线上服务器中。该复制请求的装置可以包括:抓取模块710和转发模块720。
抓取模块710,用于通过第一抓取指令抓取接收到的用户请求;
转发模块720,用于通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器,所述模拟服务器接收到所述用户请求之后,建立与测试服务器之间的会话连接,通过所述会话连接将所述用户请求转发至测试服务器,接收所述测试服务器在成功接收到所述用户请求之后反馈的回复报文;
其中,所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令。
综上所述,本实施例提供的复制请求的装置,通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
请参考图8,其示出了本发明一个实施例提供的复制请求的装置的结构方框图,该复制请求的装置可以用于模拟服务器中。该复制请求的装置可以包括:请求接收模块810、请求转发模块820和报文接收模块830。
请求接收模块810,用于接收线上服务器通过第一发送指令发送的用户请求,所述用户请求为所述线上服务器通过第一抓取指令抓取,并通过所述第一发送指令发送的请求;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
请求转发模块820,用于建立与测试服务器之间的会话连接,通过所述会话连接转发所述用户请求至所述测试服务器,所述测试服务器用于在成功接收所述用户请求之后反馈回复报文;
报文接收模块830,用于接收所述测试服务器反馈的所述回复报文。
综上所述,本实施例提供的复制请求的装置,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
请参考图9,其示出了本发明一个实施例提供的复制请求的装置的结构方框图,该复制请求的装置可以用于模拟服务器中。该复制请求的装置可以包括:请求接收模块910、请求转发模块920和报文接收模块930。
请求接收模块910,用于接收线上服务器通过第一发送指令发送的用户请求,所述用户请求为所述线上服务器通过第一抓取指令抓取,并通过所述第一发送指令发送的请求;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
请求转发模块920,用于建立与测试服务器之间的会话连接,通过所述会话连接转发所述用户请求至所述测试服务器,所述测试服务器用于在成功接收所述用户请求之后反馈回复报文;
报文接收模块930,用于接收所述测试服务器反馈的所述回复报文。
可选地,所述报文接收模块930,还用于:
接收所述测试服务器直接反馈的所述回复报文;
或者,
在所述模拟服务器有n个,n≥2时;接收所述n个模拟服务器中的第i个模拟服务器转发的所述回复报文;其中,i的起始值为1,第1个模拟服务器为接收到所述测试服务器直接反馈的所述回复报文的服务器。
可选地,所述模拟服务器有n个,n≥2,接收到所述回复报文的模拟服务器为所述n个模拟服务器中的第i个模拟服务器,i<n-1,i的起始值为1;
所述装置还包括:
报文转发模块940,用于将所述回复报文转发至所述n个模拟服务器中的第i+1个模拟服务器。
可选地,所述报文转发模块940,还用于:
将所述回复报文写入至所述第i个模拟服务器中的预设文件中,通过读取指令读取所述预设文件中的所述回复报文,并通过第三发送指令转发所述回复报文至所述n个模拟服务器中的第i+1个模拟服务器。
综上所述,本实施例提供的复制请求的装置,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
本实施例通过将n个模拟服务器串联的方式,提高了系统的模拟能力。比如,每个模拟服务器每秒钟可以完成5K个TCP短连接,则通过使用两个模拟服务器串联,即可实现每秒钟10K个TCP短连接。
本发明还提供了一种复制请求的系统,该系统可以包括线上服务器、模拟服务器和测试服务器。其中:
线上服务器,用于通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送用户请求至预设地址信息所指向的模拟服务器;第一抓取指令和第一发送指令是线上服务器中的系统指令;
模拟服务器,用于建立与测试服务器之间的会话连接,通过会话连接发送用户请求至测试服务器;
测试服务器,用于在成功接收到用户请求之后,生成回复报文,反馈回复报文至模拟服务器;
模拟服务器,还用于接收测试服务器反馈的回复报文。
需要说明的是,本实施例只是以线上服务器、模拟服务器和测试服务器实现上述功能来举例说明,可选的,线上服务器、模拟服务器和测试服务器还可以执行图3-6任一所示复制请求的方法中的功能,本实施例在此不再赘述。
综上所述,本实施例提供的复制请求的系统,线上服务器通过第一抓取指令抓取用户请求,并通过第一发送指令将该用户请求发送至模拟服务器,第一抓取指令和第一发送指令为线上服务器中的系统指令,而无需在线上服务器中设置用于抓取用户请求和转发用户请求的组件;解决了相关技术中线上服务器需要设置TCPCopy组件,并通过TCPCopy组件抓取用户请求以及维护TCP会话连接,线上服务器的处理负担较重的问题;达到了可以降低线上服务器的处理负担,进而保证线上服务器能够更好的响应真实用户的用户请求,提高服务质量的效果。
线上服务器通过系统中的第一抓取指令抓取用户请求,并通过系统中的第一发送指令将用户请求转发至模拟服务器,由模拟服务器建立与测试服务器之间的会话连接,也即由模拟服务器来模拟真实用户,减轻了线上服务器的网络负担。
需要说明的是:上述实施例提供的复制请求的装置在计算复制请求时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的请求复制算装置与复制请求的方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (25)

1.一种复制请求的方法,其特征在于,所述方法包括:
线上服务器通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
所述模拟服务器检测接收到所述线上服务器转发的传输控制协议TCP会话的网络之间互连的协议IP包;将抓取到的属于同一TCP会话的全部IP包按照序号seq字段的先后顺序排序;当接收到的所述IP包中存在握手信号SYN包以及终结FIN包,且排序结果中后一个所述IP包的TCP seq字段等于前一个所述IP包的TCP seq字段与TCP报文的长度的和时,确定接收到所述线上服务器转发的属于同一个TCP会话的全部IP包;根据所述IP包,确定所述用户请求;模拟真实用户,建立与测试服务器之间的会话连接,维护所述会话连接;通过所述会话连接发送所述用户请求至所述测试服务器;
所述测试服务器在成功接收到所述用户请求之后,生成回复报文,反馈所述回复报文至所述模拟服务器;
所述模拟服务器接收所述测试服务器反馈的所述回复报文。
2.根据权利要求1所述的方法,其特征在于,所述模拟服务器和所述测试服务器处于同一网段;
所述生成回复报文,反馈所述回复报文至所述模拟服务器,包括:
所述测试服务器根据预设报文生成机制生成所述回复报文,根据第一路由信息反馈所述回复报文至所述模拟服务器,所述第一路由信息为指向所述模拟服务器的信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述模拟服务器接收到所述回复报文之后,所述模拟服务器丢弃所述回复报文。
4.根据权利要求1所述的方法,其特征在于,所述模拟服务器和所述测试服务器处于不同网段;
所述生成回复报文,反馈所述回复报文至所述模拟服务器,包括:
所述测试服务器根据预设报文生成机制生成所述回复报文,通过操作系统中的第二抓取指令抓取生成的所述回复报文,并通过所述操作系统中的第二发送指令将抓取的所述回复报文发送至所述模拟服务器。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述测试服务器根据预设报文回复机制以及第二路由信息反馈所述回复报文至预设服务器,所述预设服务器丢弃所述回复报文;所述第二路由信息为指向所述预设服务器的信息,所述预设服务器为与所述测试服务器处于同一网段的服务器;
或者,
所述测试服务器丢弃所述回复报文。
6.根据权利要求1至5任一所述的方法,其特征在于,所述模拟服务器有n个,
Figure 787258DEST_PATH_IMAGE001
;所述反馈所述回复报文至所述模拟服务器,包括:
所述测试服务器反馈所述回复报文至所述n个模拟服务器中的目标模拟服务器;
所述目标模拟服务器将所述回复报文转发至所述n个模拟服务器中的其它模拟服务器。
7.根据权利要求6所述的方法,其特征在于,所述目标模拟服务器为所述n个模拟服务器中的第i个模拟服务器,i的起始值为1;
所述目标模拟服务器将所述回复报文转发至所述n个模拟服务器中的其它模拟服务器,包括:
所述第i个模拟服务器将所述回复报文写入至所述第i个模拟服务器中的预设文件中,通过读取指令读取所述预设文件中的所述回复报文,并通过第三发送指令转发所述回复报文至所述n个模拟服务器中的第i+1个模拟服务器;
在i<n-1时,将i+1,并再次执行所述第i个模拟服务器将所述回复报文写入至所述第i个模拟服务器中的预设文件中,通过读取指令读取所述预设文件中的所述回复报文,并通过发送指令转发所述回复报文至所述n个模拟服务器中的第i+1个模拟服务器的操作。
8.一种复制请求的方法,其特征在于,用于线上服务器中,所述方法包括:
通过第一抓取指令抓取接收到的用户请求;
通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器,所述模拟服务器接收到所述用户请求之后,检测接收到所述线上服务器转发的传输控制协议TCP会话的网络之间互连的协议IP包;将抓取到的属于同一TCP会话的全部IP包按照序号seq字段的先后顺序排序;当接收到的所述IP包中存在握手信号SYN包以及终结FIN包,且排序结果中后一个所述IP包的TCP seq字段等于前一个所述IP包的TCP seq字段与TCP报文的长度的和时,确定接收到所述线上服务器转发的属于同一个TCP会话的全部IP包;根据所述IP包,确定所述用户请求;模拟真实用户,建立与测试服务器之间的会话连接,维护所述会话连接;通过所述会话连接将所述用户请求转发至测试服务器,接收所述测试服务器在成功接收到所述用户请求之后反馈的回复报文;
其中,所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令。
9.根据权利要求8所述的方法,其特征在于,所述预设地址信息为所述第一发送指令的指令参数中设置的地址信息。
10.一种复制请求的方法,其特征在于,用于模拟服务器中,所述方法包括:
接收线上服务器通过第一发送指令发送的用户请求,所述用户请求为所述线上服务器通过第一抓取指令抓取,并通过所述第一发送指令发送的请求;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
检测接收到所述线上服务器转发的传输控制协议TCP会话的网络之间互连的协议IP包;
将抓取到的属于同一TCP会话的全部IP包按照序号seq字段的先后顺序排序;当接收到的所述IP包中存在握手信号SYN包以及终结FIN包,且排序结果中后一个所述IP包的TCPseq字段等于前一个所述IP包的TCP seq字段与TCP报文的长度的和时,确定接收到所述线上服务器转发的属于同一个TCP会话的全部IP包;根据所述IP包,确定所述用户请求;
模拟真实用户,建立与测试服务器之间的会话连接,维护所述会话连接;
通过所述会话连接转发所述用户请求至所述测试服务器,所述测试服务器用于在成功接收所述用户请求之后反馈回复报文;
接收所述测试服务器反馈的所述回复报文。
11.根据权利要求10所述的方法,其特征在于,所述接收所述测试服务器反馈的所述回复报文,包括:
接收所述测试服务器直接反馈的所述回复报文;
或者,
若所述模拟服务器有n个,
Figure 173240DEST_PATH_IMAGE001
;接收所述n个模拟服务器中的第i个模拟服务器转发的所述回复报文;其中,i的起始值为1,第1个模拟服务器为接收到所述测试服务器直接反馈的所述回复报文的服务器。
12.根据权利要求10至11任一所述的方法,其特征在于,所述模拟服务器有n个,
Figure 421819DEST_PATH_IMAGE001
,接收到所述回复报文的模拟服务器为所述n个模拟服务器中的第i个模拟服务器,i<n-1,i的起始值为1;
所述接收所述测试服务器反馈的所述回复报文之后,所述方法还包括:
将所述回复报文转发至所述n个模拟服务器中的第i+1个模拟服务器。
13.根据权利要求12所述的方法,其特征在于,所述将所述回复报文转发至所述n个模拟服务器中的第i+1个模拟服务器,包括:
将所述回复报文写入至所述第i个模拟服务器中的预设文件中,通过读取指令读取所述预设文件中的所述回复报文,并通过第三发送指令转发所述回复报文至所述n个模拟服务器中的第i+1个模拟服务器。
14.一种复制请求的装置,其特征在于,用于线上服务器中,所述装置包括:
抓取模块,用于通过第一抓取指令抓取接收到的用户请求;
转发模块,用于通过第一发送指令发送所述用户请求至预设地址信息所指向的模拟服务器,所述模拟服务器接收到所述用户请求之后,检测接收到所述线上服务器转发的传输控制协议TCP会话的网络之间互连的协议IP包;将抓取到的属于同一TCP会话的全部IP包按照序号seq字段的先后顺序排序;当接收到的所述IP包中存在握手信号SYN包以及终结FIN包,且排序结果中后一个所述IP包的TCP seq字段等于前一个所述IP包的TCP seq字段与TCP报文的长度的和时,确定接收到所述线上服务器转发的属于同一个TCP会话的全部IP包;根据所述IP包,确定所述用户请求;模拟真实用户,建立与测试服务器之间的会话连接,维护所述会话连接;通过所述会话连接将所述用户请求转发至测试服务器,接收所述测试服务器在成功接收到所述用户请求之后反馈的回复报文;
其中,所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令。
15.根据权利要求14所述的装置,其特征在于,所述预设地址信息为所述第一发送指令的指令参数中设置的地址信息。
16.一种复制请求的装置,其特征在于,用于模拟服务器中,所述装置包括:
请求接收模块,用于接收线上服务器通过第一发送指令发送的用户请求,所述用户请求为所述线上服务器通过第一抓取指令抓取,并通过所述第一发送指令发送的请求;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
请求转发模块,用于检测接收到所述线上服务器转发的传输控制协议TCP会话的网络之间互连的协议IP包;将抓取到的属于同一TCP会话的全部IP包按照序号seq字段的先后顺序排序;当接收到的所述IP包中存在握手信号SYN包以及终结FIN包,且排序结果中后一个所述IP包的TCP seq字段等于前一个所述IP包的TCP seq字段与TCP报文的长度的和时,确定接收到所述线上服务器转发的属于同一个TCP会话的全部IP包;根据所述IP包,确定所述用户请求;模拟真实用户,建立与测试服务器之间的会话连接,维护所述会话连接;通过所述会话连接转发所述用户请求至所述测试服务器,所述测试服务器用于在成功接收所述用户请求之后反馈回复报文;
报文接收模块,用于接收所述测试服务器反馈的所述回复报文。
17.根据权利要求16所述的装置,其特征在于,所述报文接收模块,还用于:
接收所述测试服务器直接反馈的所述回复报文;
或者,
在所述模拟服务器有n个,
Figure 20291DEST_PATH_IMAGE001
时;接收所述n个模拟服务器中的第i个模拟服务器转发的所述回复报文;其中,i的起始值为1,第1个模拟服务器为接收到所述测试服务器直接反馈的所述回复报文的服务器。
18.根据权利要求16或17所述的装置,其特征在于,所述模拟服务器有n个,
Figure 677406DEST_PATH_IMAGE001
,接收到所述回复报文的模拟服务器为所述n个模拟服务器中的第i个模拟服务器,i<n-1,i的起始值为1;
所述装置还包括:
报文转发模块,用于将所述回复报文转发至所述n个模拟服务器中的第i+1个模拟服务器。
19.根据权利要求18所述的装置,其特征在于,所述报文转发模块,还用于:
将所述回复报文写入至所述第i个模拟服务器中的预设文件中,通过读取指令读取所述预设文件中的所述回复报文,并通过第三发送指令转发所述回复报文至所述n个模拟服务器中的第i+1个模拟服务器。
20.一种复制请求的系统,其特征在于,所述系统包括:线上服务器、模拟服务器和测试服务器;
所述线上服务器,用于通过第一抓取指令抓取接收到的用户请求,通过第一发送指令发送所述用户请求至预设地址信息所指向的所述模拟服务器;所述第一抓取指令和所述第一发送指令是所述线上服务器中的系统指令;
所述模拟服务器,用于所述模拟服务器检测接收到所述线上服务器转发的传输控制协议TCP会话的网络之间互连的协议IP包;将抓取到的属于同一TCP会话的全部IP包按照序号seq字段的先后顺序排序;当接收到的所述IP包中存在握手信号SYN包以及终结FIN包,且排序结果中后一个所述IP包的TCP seq字段等于前一个所述IP包的TCP seq字段与TCP报文的长度的和时,确定接收到所述线上服务器转发的属于同一个TCP会话的全部IP包;根据所述IP包,确定所述用户请求;模拟真实用户,建立与所述测试服务器之间的会话连接,维护所述会话连接;通过所述会话连接发送所述用户请求至所述测试服务器;
所述测试服务器,用于在成功接收到所述用户请求之后,生成回复报文,反馈所述回复报文至所述模拟服务器;
所述模拟服务器,还用于接收所述测试服务器反馈的所述回复报文。
21.根据权利要求20所述的系统,其特征在于,所述模拟服务器和所述测试服务器处于同一网段;
所述测试服务器,用于根据预设报文生成机制生成所述回复报文,根据第一路由信息反馈所述回复报文至所述模拟服务器,所述第一路由信息为指向所述模拟服务器的信息。
22.根据权利要求21所述的系统,其特征在于,
所述模拟服务器,用于在所述模拟服务器接收到所述回复报文之后,丢弃所述回复报文。
23.根据权利要求20所述的系统,其特征在于,所述模拟服务器和所述测试服务器处于不同网段;
所述测试服务器,用于根据预设报文生成机制生成所述回复报文,通过操作系统中的第二抓取指令抓取生成的所述回复报文,并通过所述操作系统中的第二发送指令将抓取的所述回复报文发送至所述模拟服务器。
24.根据权利要求23所述的系统,其特征在于,
所述测试服务器,用于根据预设报文回复机制以及第二路由信息反馈所述回复报文至预设服务器,所述预设服务器丢弃所述回复报文;所述第二路由信息为指向所述预设服务器的信息,所述预设服务器为与所述测试服务器处于同一网段的服务器;
或者,
所述测试服务器,用于丢弃所述回复报文。
25.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令被计算机执行时用于实现如权利要求8或9所述的复制请求的方法;或者,用于实现如权利要求10至13任意一项所述的复制请求的方法。
CN201510437041.1A 2015-07-23 2015-07-23 复制请求的方法、装置和系统 Active CN106375139B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510437041.1A CN106375139B (zh) 2015-07-23 2015-07-23 复制请求的方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510437041.1A CN106375139B (zh) 2015-07-23 2015-07-23 复制请求的方法、装置和系统

Publications (2)

Publication Number Publication Date
CN106375139A CN106375139A (zh) 2017-02-01
CN106375139B true CN106375139B (zh) 2021-04-06

Family

ID=57880949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510437041.1A Active CN106375139B (zh) 2015-07-23 2015-07-23 复制请求的方法、装置和系统

Country Status (1)

Country Link
CN (1) CN106375139B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696399B (zh) * 2017-04-07 2020-12-29 腾讯科技(深圳)有限公司 业务服务的测试方法和装置
CN107154976A (zh) * 2017-05-10 2017-09-12 北京微影时代科技有限公司 网站测试方法、装置以及系统
CN107395464A (zh) * 2017-09-11 2017-11-24 北京奇艺世纪科技有限公司 一种服务器测试方法、装置及api网关
CN108200170B (zh) * 2018-01-02 2020-01-03 武汉斗鱼网络科技有限公司 消息处理方法、装置及可读存储介质
CN109918305A (zh) * 2019-03-07 2019-06-21 北京奇艺世纪科技有限公司 一种线上服务监控系统及方法
CN109981408B (zh) * 2019-03-26 2021-08-03 网宿科技股份有限公司 一种cdn服务器离线测试的方法及装置、系统
CN110380890B (zh) 2019-06-03 2021-04-02 网宿科技股份有限公司 一种cdn系统服务质量检测方法及系统
CN112134750B (zh) * 2020-09-02 2022-06-03 中国信息通信研究院 网络时间协议压力测试方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580943A (zh) * 2012-08-03 2014-02-12 亿赞普(北京)科技有限公司 一种网络软件在线测试方法和系统
CN104410542A (zh) * 2014-11-18 2015-03-11 小米科技有限责任公司 模拟测试方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213063B2 (en) * 2000-01-18 2007-05-01 Lucent Technologies Inc. Method, apparatus and system for maintaining connections between computers using connection-oriented protocols
CN101321162B (zh) * 2008-07-03 2010-12-29 江苏华丽网络工程有限公司 基于tcam序偶的tcp序列号检查硬件实现方法
US9384018B2 (en) * 2012-07-27 2016-07-05 Vmware, Inc. Virtual intelligent platform management interface for hardware components

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580943A (zh) * 2012-08-03 2014-02-12 亿赞普(北京)科技有限公司 一种网络软件在线测试方法和系统
CN104410542A (zh) * 2014-11-18 2015-03-11 小米科技有限责任公司 模拟测试方法及装置

Also Published As

Publication number Publication date
CN106375139A (zh) 2017-02-01

Similar Documents

Publication Publication Date Title
CN106375139B (zh) 复制请求的方法、装置和系统
EP3304853B1 (en) Detection of malware and malicious applications
KR101863024B1 (ko) 분산 로드 밸런서
WO2017031858A1 (zh) 时延状态信息的检测方法及装置、网络架构
CN106470136B (zh) 平台测试方法以及平台测试系统
US20170054640A1 (en) Device and method for establishing connection in load-balancing system
US8295277B2 (en) Analyzing a network with a cache advance proxy
JP2013090079A (ja) アクセス中継方法及び装置
CN105577669B (zh) 一种识别虚假源攻击的方法及装置
CN113364804B (zh) 一种流量数据的处理方法和装置
CN105681265B (zh) 单边传输控制协议加速方法及装置
US8111700B2 (en) Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device
CN107070851B (zh) 基于网络流的连接指纹生成和垫脚石追溯的系统和方法
JP2012195807A (ja) 制御サーバ、通信システム、制御方法およびプログラム
CN116723195B (zh) 数据传输方法、装置、电子设备及存储介质
CN107104892A (zh) 网络加速的方法和装置
CN106789650B (zh) 基于ip的广域网加速方法及装置
US20170195167A1 (en) Real time transmission monitoring and anomaly detection
US20200236055A1 (en) Transmission control protocol session mobility
CN113890858B (zh) Pmtu的探测方法及装置
EP3408989B1 (en) Detecting malware on spdy connections
JP5630070B2 (ja) 中継装置、プログラム及び方法
US9455911B1 (en) In-band centralized control with connection-oriented control protocols
JP2009284433A (ja) P2p端末検知及び制御システム、並びにその方法
CN103346935B (zh) 分片报文重组测试的方法、设备及系统

Legal Events

Date Code Title Description
C06 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