CN107918737A - 压力测试数据的传输方法、装置及系统 - Google Patents

压力测试数据的传输方法、装置及系统 Download PDF

Info

Publication number
CN107918737A
CN107918737A CN201610884651.0A CN201610884651A CN107918737A CN 107918737 A CN107918737 A CN 107918737A CN 201610884651 A CN201610884651 A CN 201610884651A CN 107918737 A CN107918737 A CN 107918737A
Authority
CN
China
Prior art keywords
profile
store path
test
pressure
data
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
CN201610884651.0A
Other languages
English (en)
Other versions
CN107918737B (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610884651.0A priority Critical patent/CN107918737B/zh
Publication of CN107918737A publication Critical patent/CN107918737A/zh
Application granted granted Critical
Publication of CN107918737B publication Critical patent/CN107918737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本发明公开了一种压力测试数据的传输方法、装置及系统,涉及互联网技术领域,本发明的目的在于解决现有技术中虽然protobuf格式的测试数据相比其他格式的测试数据具有更高的传输性,但是,第三方压力测试工具无法使用protobuf格式的测试数据进行压力测试的问题,本发明的技术方案包括:将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储;获取所述以行为单位存储的预置文件对应的存储路径;将包含所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。本发明应用于的服务器压力测试过程中。

Description

压力测试数据的传输方法、装置及系统
技术领域
本发明涉及互联网技术领域,特别是涉及一种压力测试数据的传输方法、装置及系统。
背景技术
随着互联网技术及计算机技术的不断发展,使得越来越多的日常活动离不开互联网及计算机,例如:服务器可以为广大web客户端用户提供更多的网络数据。其中,压力测试是一种确保服务器基本质量的保证行为,它是测试服务器工作性能的一部分,模拟正常web客户端向服务器发送获取数据请求。
目前,在对服务器进行压力测试时,基于第三方压力测试工具Apache JMeter对服务器进行压力测试,Apache JMeter通过向服务器发送测试请求信息,以对服务器进行压力测试;在Apache JMeter读取本地存储的测试数据(发压数据集),并依次向服务器发送测试请求信息,Apache JMeter要求该测试请求信息中携带的测试数据必须是以行为单位的数据。但是,在压力测试过程中发现,虽然本地存储的测数试据是以单行形式存储的,但是,其存储的是测试数据对应值,因此,在Apache JMeter向服务器发送测试数据时发送的是该测试数据对应的值。若Apache JMeter同时向服务器发送大量包含测试数据对应的值的测试请求信息,则向服务器传输的数据量较大,会给服务器的网络处理资源带去较大的负荷压力。
为了解决上述问题,需要减少向服务器发送测试请求信息时的数据量,protobuf格式的数据,为二进制的数据格式,与其他格式的数据相比,具有更高的传输性。因此,Apache JMeter在对服务器进行压力测试时,可使用protobuf格式的测试数据,能够解决服务器压力测过程中,给服务器造成的不必要负荷压力。但是,由于protobuf格式的测试数据是按照多行进行存储的,而Apache JMeter只能识别单行的测试数据,因此,无法实现Apache JMeter压力测试过程中,同时执行获取protobuf格式的测试数据,和向服务器发送压力测试请求信息。
发明内容
有鉴于此,本发明提供的一种压力测试数据的传输方法、装置及系统,主要目的在于解决现有技术中虽然protobuf格式的测试数据相比其他格式的测试数据具有更高的传输性,但是,第三方压力测试工具无法直接使用protobuf格式的测试数据进行压力测试的问题。
第一方面,本发明提供了一种压力测试数据的传输方法,包括:
将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储;
获取所述以行为单位存储的预置文件对应的存储路径;
将包含所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
第二方面,本发明提供了一种压力测试数据的传输方法,包括:
接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
获取所述预置文件对应的存储路径;
根据所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
第三方面,本发明提供了一种压力测试数据的传输装置,所述装置应用于压力测试发送方,包括:
第一存储单元,用于将二进制格式的测试数据存储于预置文件中;
第二存储单元,用于将所述第一存储单元存储的所述预置文件对应的存储路径以行为单位进行存储;
获取单元,用于获取所述第二存储单元储存的所述以行为单位存储的预置文件对应的存储路径;
发送单元,用于将包含所述获取单元获取的所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
第四方面,本发明提供了一种压力测试数据的传输装置,所述装置应用于压力测试接收方,包括:
接收单元,用于接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
第一获取单元,用于获取所述接收单元接收到的所述预置文件对应的存储路径;
第二获取单元,用于根据所述第一获取单元获取的所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
第五方面,本发明提供了一种压力测试数据的传输系统,所述系统包括客户端和服务器,其中,所述客户端包含如上所述的应用于客户端侧的压力测试数据的传输装置,所述服务器包含如上所述的应用于服务器侧的压力测试数据的传输装置。
借由上述技术方案,本发明提供的压力测试数据的传输方法、装置及系统,压力测试发送将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储,获取所述以行为单位存储的预置文件对应的存储路径,将包含存储路径的压力测试请求信息发送至压力测试接收方,以便压力测试接收方根据存储路径获取二进制格式的测试数据,与现有技术相比,本发明通过将二进制格式的测试数据存储于预置文件中,并将该预置文件的存储路径使用压力测试接收方能够识别的单行存储形式进行存储,实现压力测试时,减小压力测试发送方向压力测试接收方发送的测试数据数据量,从而减轻了压力测试接收方接收测试数据的网络处理资源的负荷压力;此外,二进制格式的测试数据在向压力测试接收方传输时,为加密传输,能够提高测试数据的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种压力测试数据的传输方法的流程图;
图2示出了本发明实施例提供的一种将所有测试数据存储于同一预置文件中的示意图;
图3示出了本发明实施例提供的一种将所有测试数据在预置文件中进行存储的示意图;
图4示出了本发明实施例提供的一种将所有测试数据在预置文件中进行分块存储的示意图;
图5示出了本发明实施例提供的应用于压力测试发送方的一种压力测试数据的传输装置的组成框图;
图6示出了本发明实施例提供的应用于压力测试发送方的另一种压力测试数据的传输装置的组成框图;
图7示出了本发明实施例提供的应用于压力测试接收方的一种压力测试数据的传输装置的组成框图;
图8示出了本发明实施例提供的应用于压力测试接收方的另一种压力测试数据的传输装置的组成框图;
图9示出了本发明实施例提供的一种压力测试数据的传输系统的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供一种压力测试数据的传输方法,该方法应用于压力测试发送方(客户端侧),如图1所示,所述方法包括:
101、将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储。
在实际应用中,为了测试服务器的性能,需要对服务器能够提供的最大服务压力(性能)进行测试,在对服务器进行压力测试时,为了减小服务器接收、解析测试数据的网络资源消耗,本发明实施例采用protobuf格式测试数据向压力测试接收方(服务器)发送压力测试请求信息,减小了测试数据的数据量。
由于protobuf格式测试数据在存储时,是多行存储的,而客户端调用第三方压力测试工具对服务器进行压力测试时,需要获取的protobuf格式测试数据为单行存储,因此为了满足第三方压力测试工具获取压力测试数据的条件,客户端在存储protobuf格式测试数据时,将二进制格式(protobuf格式)的测试数据存储于预置文件中,并将该预置文件对应的存储路径以行为单位进行存储,其目的在于,便于满足第三方压力测试工具获取测试数据的条件,以实现对服务器的压力测试。
在具体实施时,在将二进制格式(protobuf格式)的测试数据存储于预置文件之前,采用php/java/python等任一语言,基于proto文件,构造若干条protobuf格式的数据,并将二进制格式(protobuf格式)的测试数据存储于客户端安装载体中的任意文件夹中,如计算机设备中D盘中的某一文件中;或者,将二进制格式(protobuf格式)的测试数据存储于客户端默认的预置文件中,本发明实施例对构造在将二进制格式(protobuf格式)的测试数据存储于预置文件之前,采用php/java/python等任一语言,基于proto文件,构造若干条protobuf格式的数据所使用的语言以及二进制格式(protobuf格式)的测试数据存储的具体位置不进行限定。
为了测试服务器的抗压能力,在构造二进制格式(protobuf格式)的测试数据时,通常构造上万个测试数据,并将每个测试数据存储于一个或者多个预置文件中。示例性的,如图2所示,图2示出了本发明实施例提供的一种将所有测试数据存储于同一预置文件中的示意图,该预置文件中包含五万个二进制格式(protobuf格式)的测试数据,需要说明的是,图2仅为示例性的举例,本发明实施例对二进制格式(protobuf格式)的测试数据的个数、存储于预置文件中的个数等内容不进行具体限定。
102、获取所述以行为单位存储的预置文件对应的存储路径。
步骤101构造并存储好测试数据后,客户端调用第三方压力测试工具,客户端获取以行为单位存储的预置文件对应的存储路径,并将预置文件对应的存储路径传递给第三方压力测试工具,以便于第三方压力测试工具将预置文件对应的存储路径作为参数,发送至压力测试接收方(服务器)。
在具体实施时,所述客户端与第三方压力测试工具可以安装于同一计算机设备中;或者,第三方压力测试工具与客户端安装于不同的计算机设备中,但是,第三方压力测试工具与客户端之间存在数据交互关系。所述第三方压力测试工具可以包含但不局限于以下内容,例如:Apache JMeter、Ixia、Web Application Stress(WAS)等等,具体的,本发明实施例对第三方压力测试工具不进行限定。
103、将包含所述存储路径的压力测试请求信息发送给压力测试接收方。
通过第三方压力测试工具将包含单行存储路径的压力测试请求信息发送至压力测试接收方(服务器),所述压力测试接收方(服务器)根据所述存储路径间接获取所述二进制格式的测试数据。
承由上述图2,假设,当服务器接收到的压力测试请求信息中包含的预置文件的存储路径为:/磁盘D/测试/files/40009.txt,服务器根据该存储路径确定存储测试数据的存储地址为/磁盘D/测试/files,并在文件夹files中对该文件夹中的所有测试数据进行遍历,查找并获取测试数据40009.txt,并基于该测试数据进行测试。
本发明实施例提供的压力测试数据的传输方法,压力测试发送将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储,获取所述以行为单位存储的预置文件对应的存储路径,将包含存储路径的压力测试请求信息发送至压力测试接收方,以便压力测试接收方根据存储路径获取二进制格式的测试数据,与现有技术相比,本发明实施例通过将二进制格式的测试数据存储于预置文件中,并将该预置文件的存储路径使用压力测试接收方能够识别的单行存储形式进行存储,实现压力测试时,减小压力测试发送方向压力测试接收方发送的测试数据数据量,从而减轻了压力测试接收方接收测试数据的网络处理资源的负荷压力;此外,二进制格式的测试数据在向压力测试接收方传输时,为加密传输,能够提高测试数据的安全性。
进一步的,如图2所示的示意图中,当服务器接收到预置文件的存储路径为:/磁盘D/测试/files/40009.txt时,需要对预置文件中的五万个测试数据均进行遍历,直到查找到测试数据40009.txt,若预置文件中包含的测试数据为十万个,若服务器需要获取的测试数据为99999.txt,则服务器可能需要对目标测试数据的前99999个测试数据进行遍历,给服务器带来了不必要的搜索压力。为了解决上述问题,在执行上述步骤101将二进制格式的测试数据存储于预置文件中时,通过将测试数据“分块”存储与于预置文件中,即在预置文件中创建若干预置子目录文件,将二进制格式(protobuf格式)的测试数据分别存储于若干预置子目录文件中。
示例性的,承由图2所示,并同时参阅图3,图3示出了本发明实施例提供的一种将所有测试数据在预置文件中进行分块存储的示意图,在预置文件files中,创建10个预置子目录,并将五万个测试数据依次存储于该10个预置子目录中,每个预置子目录中包含5000个测试数据。需要说明的是,图3仅为示例性的举例,本发明实施例对在预置文件中创建预置子目录文件的个数、预置子目录文件的命名方式不进行限定。
进一步的,当作为对上述实施例的细化和扩展,在执行上述步骤101对预置文件对应的存储路径以行为单位进行存储,且在预置文件中创建若干个预置子目录文件之后,需要获取该些预置子目录文件分别对应的存储路径,并将获取的预置子目录文件对应的存储路径以行为单位存储于预置目录文件中,其中,该预置目录文件用于以列表形式存储预置子目录文件分别对应的存储路径,在实际应用中,预置目录文件起到索引的作用,即便于客户端便捷的获取预置子目录对应的存储路径。示例性的,表1示出了本发明实施例提供的预置目录文件中记录的预置子目录文件的存储路径,本发明实施例对预置目录文件存储若干子目录文件分别对应的存储路径的形式不进行限定。
表1
进一步的,构造测试数据的目的在于,将该些构造完成的所有测试数据(发压数据集)依次全部发送给压力测试接收方(服务器)以对服务器进行加压,客户端在获取以行为单位存储的预置文件对应的存储路径,具体包括:对预置文件进行遍历,并从预置目录文件中获取预置子目录文件对应的存储路径,将从所述预置目录文件中获取的预置子目录文件对应的存储路径作为参数,生成所述压力测试请求信息;将所述压力测试请求信息及所述测试数据对应的解压规则发送至所述服务器。在具体实施过程中,每向服务器发送一次压力测试请求信息,其包含表1所示的一个预置子目录文件对应的存储路径,即压力测试请求信息对应一个预置子目录文件。
在向服务器传输二进制格式(protobuf格式)的测试数据时,该些测试数据是密文传输,即通过将明文显示的数据使用“0”、“1”进行加密,并传输给服务器,测试数据压缩后能够减小服务器处理测试数据的网络资源消耗,同时,密文形式的传输方式比明文形式的传输方式,更能保护测试数据的安全性。当服务器接收到密文测试数据时,需使用其对应的解压规则对加密后的测试数据进行解密,以获取明文的测试数据。
进一步的,本发明实施提供了一种压力测试的方法,该方法应用于服务器侧,如图4所示,所述方法包括:
401、接收包含预置文件对应的存储路径的压力测试请求信息。
在客户端与服务器建立通信连接后,接收客户端通过第三方压力测试工具发送的压力测试请求信息,该压力测试请求中包含预置文件对应的存储路径,其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方。其中,有关预置文件以及预置文件对应的存储路径的相关描述,请参考图1所示方法的详细描述,本发明实施例在此不再进行赘述。
对服务器执行压力测试的目的在于在服务器负载达到极限以前,通过执行可重复的负载测试,了解系统可靠性、性能瓶颈等,以提高服务器系统的可靠性、稳定性,减少系统的宕机时间和因此带来的损失,所述对服务器的压力测试包括但不局限于以下内容,例如:多客户端同时进行某一个提交操作、接收大数据量的数据文件时间、大数据导入导出时间;大批量录入数据时间、大数据量的计算时间等等,具体的本发明实施例对服务器进行压力测试的具体内容不进行限定。
402、获取所述预置文件对应的存储路径。
在接收到客户端发送的压力测试请求信息后,对该压力测试请求信息进行解析,获取预置文件对应的存储路径,其目的在于,通过该预置文件对应的存储路径,间接获取预置文件中包含的测试数据,并对该测试数据进行响应。
403、根据所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
在本发明实施例中,所述二进制格式的测试数据为protobuf格式的数据。在压力测试接收方(服务器)根据预置文件的存储路径从压力测试发送方(客户端)中的对应存储位置处,获取测试数据。
需要说明的是,由于客户端中在存储测试数据时是“分块”存储的,具体分块存储请参考图3的相关描述,若预置文件对应的存储路径为/磁盘D/测试/files/块5000-9999/6059.txt,则服务器只需要对files中的十个子目录文件进行遍历,确定块5000-9999,并从块5000-9999中查找二进制格式的测试数据6059.txt即可,能够大大较少服务器的网络资源消耗。
本发明实施例提供的压力测试数据的传输方法,压力测试发送将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储,获取所述以行为单位存储的预置文件对应的存储路径,将包含存储路径的压力测试请求信息发送至压力测试接收方,以便压力测试接收方根据存储路径获取二进制格式的测试数据,与现有技术相比,本发明实施例通过将二进制格式的测试数据存储于预置文件中,并将该预置文件的存储路径使用压力测试接收方能够识别的单行存储形式进行存储,实现压力测试时,减小压力测试发送方向压力测试接收方发送的测试数据数据量,从而减轻了压力测试接收方接收测试数据的网络处理资源的负荷压力;此外,二进制格式的测试数据在向压力测试接收方传输时,为加密传输,能够提高测试数据的安全性。
进一步的,在服务器执行获取预置文件对应的存储路径时,其具体操作过程包括:对压力测试请求信息进行解析,获取测试数据对应的解压规则,基于预置文件对应的存储路径;在根据预置文件对应的存储路径后,从该存储路径中获取测试数据,并使用解压规则对密文测试数据进行解压,得到明文的测试数据。
进一步,本发明实施例还提供一种压力测试数据的传输装置,所述装置应用于压力测试发送方,如图5所述,包括:
第一存储单元51,用于将二进制格式的测试数据存储于预置文件中;
第二存储单元52,用于将所述第一存储单元51存储的所述预置文件对应的存储路径以行为单位进行存储;
获取单元53,用于获取所述第二存储单元52储存的所述以行为单位存储的预置文件对应的存储路径;
发送单元54,用于将包含所述获取单元53获取的所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
进一步的,如图6所示,所述第一存储单元51包括:
创建模块511,用于在所述预置文件中创建若干个预置子目录文件,所述若干个预置子目录文件分别对应不同的存储路径;
存储模块512,用于将所述二进制格式的测试数据分别存储于所述创建模块511创建的所述若干个预置子目录文件中。
进一步的,如图6所示,所述第二存储单元52包括:
获取模块521,用于获取所述若干个预置子目录文件分别对应的存储路径;
存储模块522,用于将所述获取模块521获取的所述若干个预置子目录文件分别对应的存储路径以行为单位存储于预置目录文件中,所述预置目录文件用于以列表形式存储若干个预置子目录文件分别对应的存储路径。
进一步的,如图6所示,所述获取单元53包括:
遍历模块531,用于对所述预置目录文件进行遍历;
获取模块532,用于在所述遍历模块531对所述预置目录文件进行遍历过程中,从所述预置目录文件中获取所述预置子目录文件对应的存储路径。
进一步的,如图6所示,所述发送单元54包括:
生成模块541,用于将从所述预置目录文件中获取的至少一个预置子目录文件对应的存储路径作为参数,生成所述压力测试请求信息;
发送模块542,用于将所述生成模块541生成的所述压力测试请求信息及所述测试数据对应的解压规则发送至所述服务器。
进一步的,所述测试数据为protobuf格式的数据。
进一步的,本发明实施例提供一种压力测试数据的传输装置,所述装置应用于压力测试接收方,如图7所示,包括:
接收单元71,用于接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
第一获取单元72,用于获取所述接收单元71接收到的所述预置文件对应的存储路径;
第二获取单元73,用于根据所述第一获取单元72获取的所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
进一步的,如图8所示,第一获取单元72包括:
解析模块721,用于对所述压力测试请求信息进行解析;
获取模块722,用于在所述解析模块721对所述压力测试请求信息进行解析过程中,获取所述测试数据对应的解压规则以及所述预置文件对应的存储路径。
进一步的,如图8所示,所述第二获取单元73包括:
第一获取模块731,用于根据所述预置文件对应的存储路径从所述压力测试发送方获取所述二进制格式的测试数据;
第二获取模块732,用于根据所述测试数据对应的解压规则对所述第一获取模块731获取的所述二进制格式的测试数据进行解压,获取解压后的测试数据。
进一步的,所述测试数据为protobuf格式的数据。
进一步的,本发明实施例还提供一种压力测试数据的传输系统,如图9所示,所述系统包括客户端91和服务器92,其中,所述客户端91包含如图5或图6所示的压力测试数据的传输装置,所述服务器92包含如图7或图8所示的压力测试数据的传输装置。
本发明实施例提供的压力测试数据的传输装置及系统,压力测试发送将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储,获取所述以行为单位存储的预置文件对应的存储路径,将包含存储路径的压力测试请求信息发送至压力测试接收方,以便压力测试接收方根据存储路径获取二进制格式的测试数据,与现有技术相比,本发明实施例通过将二进制格式的测试数据存储于预置文件中,并将该预置文件的存储路径使用压力测试接收方能够识别的单行存储形式进行存储,实现压力测试时,减小压力测试发送方向压力测试接收方发送的测试数据数据量,从而减轻了压力测试接收方接收测试数据的网络处理资源的负荷压力;此外,二进制格式的测试数据在向压力测试接收方传输时,为加密传输,能够提高测试数据的安全性。
本发明实施例还公开如下方案:
A1、一种压力测试数据的传输方法,包括:
将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储;
获取所述以行为单位存储的预置文件对应的存储路径;
将包含所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
A2、根据A1所述的方法,将二进制格式的测试数据存储于预置文件中,包括:
在所述预置文件中创建若干个预置子目录文件,所述若干个预置子目录文件分别对应不同的存储路径;
将所述二进制格式的测试数据分别存储于所述若干个预置子目录文件中。
A3、根据A2所述的方法,将所述预置文件对应的存储路径以行为单位进行存储包括:
获取所述若干个预置子目录文件分别对应的存储路径;
将所述若干个预置子目录文件分别对应的存储路径以行为单位存储于预置目录文件中,所述预置目录文件用于以列表形式存储若干个预置子目录文件分别对应的存储路径。
A4、根据A3所述的方法,获取所述以行为单位存储的预置文件对应的存储路径具体为:
对所述预置目录文件进行遍历,并从所述预置目录文件中获取所述预置子目录文件对应的存储路径。
A5、根据A4所述的方法,将包含所述存储路径的压力测试请求信息发送给压力测试接收方具体为:
将从所述预置目录文件中获取的所述预置子目录文件对应的存储路径作为参数,生成所述压力测试请求信息;
将所述压力测试请求信息及所述测试数据对应的解压规则发送至所述服务器。
A6、根据A1-A5中任一项所述的方法,所述测试数据为protobuf格式的数据。
B7、一种压力测试数据的传输方法,包括:
接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
获取所述预置文件对应的存储路径;
根据所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
B8、根据B7所述的方法,获取所述预置文件对应的存储路径包括:
对所述压力测试请求信息进行解析;
获取所述测试数据对应的解压规则以及所述预置文件对应的存储路径。
B9、根据B8所述的方法,根据所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据包括:
根据所述预置文件对应的存储路径从所述压力测试发送方获取所述二进制格式的测试数据;
根据所述测试数据对应的解压规则对所述二进制格式的测试数据进行解压,获取解压后的测试数据。
B10、根据B7-B9中任一项所述的方法,所述测试数据为protobuf格式的数据。
C11、一种压力测试数据的传输装置,所述装置应用于压力测试发送方,包括:
第一存储单元,用于将二进制格式的测试数据存储于预置文件中;
第二存储单元,用于将所述第一存储单元存储的所述预置文件对应的存储路径以行为单位进行存储;
获取单元,用于获取所述第二存储单元储存的所述以行为单位存储的预置文件对应的存储路径;
发送单元,用于将包含所述获取单元获取的所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
C12、根据权利C11所述的装置,所述第一存储单元包括:
创建模块,用于在所述预置文件中创建若干个预置子目录文件,所述若干个预置子目录文件分别对应不同的存储路径;
存储模块,用于将所述二进制格式的测试数据分别存储于所述创建模块创建的所述若干个预置子目录文件中。
C13、根据C12所述的装置,所述第二存储单元包括:
获取模块,用于获取所述若干个预置子目录文件分别对应的存储路径;
存储模块,用于将所述获取模块获取的所述若干个预置子目录文件分别对应的存储路径以行为单位存储于预置目录文件中,所述预置目录文件用于以列表形式存储若干个预置子目录文件分别对应的存储路径。
C14、根据C13所述的装置,所述获取单元包括:
遍历模块,用于对所述预置目录文件进行遍历;
获取模块,用于在所述遍历模块对所述预置目录文件进行遍历过程中,从所述预置目录文件中获取所述预置子目录文件对应的存储路径。
C15、根据C14所述的装置,所述发送单元包括:
生成模块,用于将从所述预置目录文件中获取的所述预置子目录文件对应的存储路径作为参数,生成所述压力测试请求信息;
发送模块,用于将所述生成模块生成的所述压力测试请求信息及所述测试数据对应的解压规则发送至所述服务器。
C16、根据C11-C15中任一项所述的装置,所述测试数据为protobuf格式的数据。
D17、一种压力测试数据的传输装置,所述装置应用于压力测试接收方,包括:
接收单元,用于接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
第一获取单元,用于获取所述接收单元接收到的所述预置文件对应的存储路径;
第二获取单元,用于根据所述第一获取单元获取的所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
D18、根据D17所述的装置,第一获取单元包括:
解析模块,用于对所述压力测试请求信息进行解析;
获取模块,用于在所述解析模块对所述压力测试请求信息进行解析过程中,获取所述测试数据对应的解压规则以及所述预置文件对应的存储路径。
D19、根据D18所述的装置,所述第二获取单元包括:
第一获取模块,用于根据所述预置文件对应的存储路径从所述压力测试发送方获取所述二进制格式的测试数据;
第二获取模块,用于根据所述测试数据对应的解压规则对所述第一获取模块获取的所述二进制格式的测试数据进行解压,获取解压后的测试数据。
D20、根据D17-D19中任一项所述的装置,所述测试数据为protobuf格式的数据。
E21、一种压力测试数据的传输系统,所述系统包括客户端和服务器,其中,所述客户端包含如C11-C16中任一项所述的压力测试数据的传输装置,所述服务器包含如D17-D20中任一项所述的压力测试数据的传输装置。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种压力测试数据的传输方法,其特征在于,包括:
将二进制格式的测试数据存储于预置文件中,并将所述预置文件对应的存储路径以行为单位进行存储;
获取所述以行为单位存储的预置文件对应的存储路径;
将包含所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
2.根据权利要求1所述的方法,其特征在于,将二进制格式的测试数据存储于预置文件中,包括:
在所述预置文件中创建若干个预置子目录文件,所述若干个预置子目录文件分别对应不同的存储路径;
将所述二进制格式的测试数据分别存储于所述若干个预置子目录文件中。
3.根据权利要求2所述的方法,其特征在于,将所述预置文件对应的存储路径以行为单位进行存储包括:
获取所述若干个预置子目录文件分别对应的存储路径;
将所述若干个预置子目录文件分别对应的存储路径以行为单位存储于预置目录文件中,所述预置目录文件用于以列表形式存储若干个预置子目录文件分别对应的存储路径。
4.根据权利要求3所述的方法,其特征在于,获取所述以行为单位存储的预置文件对应的存储路径具体为:
对所述预置目录文件进行遍历,并从所述预置目录文件中获取所述预置子目录文件对应的存储路径。
5.一种压力测试数据的传输方法,其特征在于,包括:
接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
获取所述预置文件对应的存储路径;
根据所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
6.根据权利要求5所述的方法,其特征在于,获取所述预置文件对应的存储路径包括:
对所述压力测试请求信息进行解析;
获取所述测试数据对应的解压规则以及所述预置文件对应的存储路径。
7.根据权利要求6所述的方法,其特征在于,根据所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据包括:
根据所述预置文件对应的存储路径从所述压力测试发送方获取所述二进制格式的测试数据;
根据所述测试数据对应的解压规则对所述二进制格式的测试数据进行解压,获取解压后的测试数据。
8.一种压力测试数据的传输装置,所述装置应用于压力测试发送方,其特征在于,包括:
第一存储单元,用于将二进制格式的测试数据存储于预置文件中;
第二存储单元,用于将所述第一存储单元存储的所述预置文件对应的存储路径以行为单位进行存储;
获取单元,用于获取所述第二存储单元储存的所述以行为单位存储的预置文件对应的存储路径;
发送单元,用于将包含所述获取单元获取的所述存储路径的压力测试请求信息发送给压力测试接收方,以便所述压力测试接收方根据所述存储路径获取所述二进制格式的测试数据。
9.一种压力测试数据的传输装置,所述装置应用于压力测试接收方,其特征在于,包括:
接收单元,用于接收包含预置文件对应的存储路径的压力测试请求信息;其中,所述预置文件用于存储二进制格式的测试数据,所述预置文件对应的存储路径以行为单位存储于压力测试发送方;
第一获取单元,用于获取所述接收单元接收到的所述预置文件对应的存储路径;
第二获取单元,用于根据所述第一获取单元获取的所述预置文件对应的存储路径从所述压力测试发送方的所述预置文件中获取所述二进制格式的测试数据。
10.一种压力测试数据的传输系统,其特征在于,所述系统包括客户端和服务器,其中,所述客户端包含如权利要求8所述的压力测试数据的传输装置,所述服务器包含如权利要求9所述的压力测试数据的传输装置。
CN201610884651.0A 2016-10-10 2016-10-10 压力测试数据的传输方法、装置及系统 Active CN107918737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610884651.0A CN107918737B (zh) 2016-10-10 2016-10-10 压力测试数据的传输方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610884651.0A CN107918737B (zh) 2016-10-10 2016-10-10 压力测试数据的传输方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107918737A true CN107918737A (zh) 2018-04-17
CN107918737B CN107918737B (zh) 2021-09-07

Family

ID=61891824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610884651.0A Active CN107918737B (zh) 2016-10-10 2016-10-10 压力测试数据的传输方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107918737B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766376A (zh) * 2018-12-04 2019-05-17 惠州市蓝微电子有限公司 一种保护数据完整性的测试方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714119A (zh) * 2009-12-09 2010-05-26 北京邮电大学 基于二进制程序的测试数据生成器和方法
CN102004781A (zh) * 2010-11-23 2011-04-06 北京酷我科技有限公司 一种获取网站测试数据的方法及系统
CN102521354A (zh) * 2011-12-13 2012-06-27 北京天融信科技有限公司 一种数据库协议审计测试方法及装置
CN103294652A (zh) * 2012-02-27 2013-09-11 腾讯科技(深圳)有限公司 一种数据转换方法及系统
CN104427627A (zh) * 2013-08-23 2015-03-18 阿里巴巴集团控股有限公司 测试数据获取方法、客户端与服务器
CN105224461A (zh) * 2015-10-23 2016-01-06 网易(杭州)网络有限公司 一种集成测试用例的生成方法和装置
CN105446867A (zh) * 2014-08-22 2016-03-30 阿里巴巴集团控股有限公司 一种测试数据的生成方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714119A (zh) * 2009-12-09 2010-05-26 北京邮电大学 基于二进制程序的测试数据生成器和方法
CN102004781A (zh) * 2010-11-23 2011-04-06 北京酷我科技有限公司 一种获取网站测试数据的方法及系统
CN102521354A (zh) * 2011-12-13 2012-06-27 北京天融信科技有限公司 一种数据库协议审计测试方法及装置
CN103294652A (zh) * 2012-02-27 2013-09-11 腾讯科技(深圳)有限公司 一种数据转换方法及系统
CN104427627A (zh) * 2013-08-23 2015-03-18 阿里巴巴集团控股有限公司 测试数据获取方法、客户端与服务器
CN105446867A (zh) * 2014-08-22 2016-03-30 阿里巴巴集团控股有限公司 一种测试数据的生成方法及装置
CN105224461A (zh) * 2015-10-23 2016-01-06 网易(杭州)网络有限公司 一种集成测试用例的生成方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766376A (zh) * 2018-12-04 2019-05-17 惠州市蓝微电子有限公司 一种保护数据完整性的测试方法

Also Published As

Publication number Publication date
CN107918737B (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
CN104699612B (zh) 用于软件测试中的处理方法、设备和系统
US11563674B2 (en) Content based routing method and apparatus
CN107038354A (zh) 代码混淆方法、代码运行方法及装置
CN108494860B (zh) Web访问系统、用于客户端的web访问方法和装置
CN104391974B (zh) 浏览器及其收藏夹数据的处理方法
CN106210161A (zh) 一种短链接生成方法及系统
CN105208108B (zh) Web环境下的文件上传/下载方法及系统、服务器、客户端
CN108989362A (zh) 一种静态资源的处理方法和装置
CN109284466B (zh) 用于在区块链中实现网页访问的方法、装置和存储介质
CN103944944A (zh) 分享网页链接的方法、电子设备及系统
CN107423085A (zh) 用于部署应用的方法和装置
CN104461567A (zh) 软件包的发布方法及系统
CN104468774A (zh) 应用于云盘客户端的数据展示方法及云盘客户端
CN107861981A (zh) 一种数据处理方法及装置
CN106980501A (zh) 一种软件包管理方法、装置和系统
CN108847952A (zh) 请求链路上下文的处理方法、装置及系统
CN108733317A (zh) 数据存储方法和装置
CN105553832A (zh) 消息发送、接收方法及装置
CN102662838B (zh) 一种浏览器中Flash的调试方法及系统
CN105094857B (zh) 用于应用加载的方法和系统
CN112241298A (zh) 页面显示方法及装置、存储介质、电子装置
CN103297482B (zh) 信息处理方法和设备
CN106933569A (zh) 一种网页刷新方法及装置
CN107918737A (zh) 压力测试数据的传输方法、装置及系统
US9866614B2 (en) Methods for website version control using bucket cookies

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220714

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.