CN112583672B - 一种基于时间戳的tcp服务端稳定性测试方法 - Google Patents

一种基于时间戳的tcp服务端稳定性测试方法 Download PDF

Info

Publication number
CN112583672B
CN112583672B CN202011510676.7A CN202011510676A CN112583672B CN 112583672 B CN112583672 B CN 112583672B CN 202011510676 A CN202011510676 A CN 202011510676A CN 112583672 B CN112583672 B CN 112583672B
Authority
CN
China
Prior art keywords
tcp
data packet
client
server
time stamp
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
CN202011510676.7A
Other languages
English (en)
Other versions
CN112583672A (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 Zhongke Flux Technology Co ltd
Original Assignee
Beijing Ruixin High Throughput 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 Ruixin High Throughput Technology Co ltd filed Critical Beijing Ruixin High Throughput Technology Co ltd
Priority to CN202011510676.7A priority Critical patent/CN112583672B/zh
Publication of CN112583672A publication Critical patent/CN112583672A/zh
Application granted granted Critical
Publication of CN112583672B publication Critical patent/CN112583672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开一种基于时间戳的TCP服务端稳定性测试方法,其包括以下步骤:S1:至少一个TCP客户端通过Socket与TCP服务端建立连接;S2:任一TCP客户端通过脚本按照预设时间间隔向所述TCP服务端发送自定义构建的数据包;S3:当所述TCP服务端接收到任一TCP客户端发送的数据包时,所述TCP服务端对接收到的数据包进行解析并基于数据包的时间戳信息进行数据存储;S4:所述TCP服务端使用脚本分析每个TCP客户端发送的数据包的时间戳信息和所述TCP服务端接收到的数据包的时间戳信息,将未接收到的数据包的时间戳信息记录并返回给对应TCP客户端;S5:每个TCP客户端通过检查所有数据包是否发送成功来判断自己与所述TCP服务端是否连接正常。

Description

一种基于时间戳的TCP服务端稳定性测试方法
技术领域
本发明涉及软件测试领域,具体而言,涉及一种基于时间戳的TCP服务端稳定性测试方法。
背景技术
现有TCP服务端测试工具主要是通过设置传输间隔、协议类型等参数进行TCP稳定性测试,通过返回的每秒接收数据量来反应TCP服务端的处理情况。TCP数据在传输过程中,由于网络质量的不稳定,会导致网络中的大量丢包和重传,当多个TCP客户端同时发送数据时,服务端处理数据又有可能出现错误,而现有的TCP服务端稳定性测试工具中,TCP客户端无法自动进行断点重连,测试执行的过程中需要人工多次进行监控和操作,难以进行持续自动化测试。另外,现有的TCP服务端稳定性测试工具也无法对发送的数据包进行自定义构建,且进行并发测试时统计结果较为笼统,无法实现精确化,因此,需要一种当TCP服务端在网络状况不稳定和大量并发处理的情况下,能够测试服务端断点重连和并发处理的稳定性的方法。
发明内容
为了解决现有技术的不足,本发明提供一种基于时间戳对TCP服务端稳定性进行测试的方法,通过获取TCP客户端发送数据包的时间戳来监控TCP服务端的稳定性,实现了断点重连,确保了传输数据无遗漏,提高了测试的准确性,减少了人工参与测试的工作量。
为达到上述目的,本发明提供了一种基于时间戳的TCP服务端稳定性测试方法,其包括以下步骤:
S1:至少一个TCP客户端通过Socket与TCP服务端建立连接,组成局域网;
S2:局域网内任一TCP客户端通过脚本按照预设时间间隔向TCP服务端发送自定义构建的数据包,其中,数据包为包含时间戳信息的json格式的数据包;
S3:TCP服务端不断地监听每个TCP客户端的TCP请求,当TCP服务端接收到任一TCP客户端发送的数据包时,TCP服务端对接收到的数据包进行解析并基于数据包的时间戳信息进行数据存储;
S4:TCP服务端使用脚本分析每个TCP客户端发送的数据包的时间戳信息和TCP服务端接收到的数据包的时间戳信息,将未接收到的数据包的时间戳信息记录并返回给对应TCP客户端;
S5:每个TCP客户端通过检查所有数据包是否发送成功来判断自己与TCP服务端是否连接正常,当任一TCP客户端的进程判断其与TCP客户端的连接断开时,对应TCP客户端自动进行反复重连,直到所述TCP客户端与TCP服务端再次建立连接。
在本发明一实施例中,其中,步骤S2中还包括:每个TCP客户端将发送的数据包的时间戳信息存储在日志文件中。
在本发明一实施例中,其中,步骤S2中包含时间戳信息的json格式的数据包为对应TCP客户端将获取到的时间戳信息存储到对应的json格式的数据包中,具体过程为:
S21:TCP客户端通过脚本中的time函数获取系统内置的时间戳信息;
S22:TCP客户端将获取到的时间戳信息与要发送的内容信息合并,按照预设规则组成自定义数据包。
在本发明一实施例中,其中,步骤S22中当局域网内有多个TCP客户端同时向TCP服务端发送数据包时,每个TCP客户端自定义的数据包中还包含对应TCP客户端的IP地址信息。
在本发明一实施例中,其中,步骤S3中TCP服务端对接收到的数据包进行解析并基于数据包的时间戳信息进行数据存储的过程具体为:TCP服务端从接收到的数据包中提取时间戳信息和对应TCP客户端的IP地址信息,以时间戳命名并存储数据包。
在本发明一实施例中,其中,步骤S4的具体过程为:
S41:TCP服务端根据数据包的IP地址信息从对应TCP客户端获取客户端日志文件;
S42:TCP服务端通过脚本将S3中提取到的时间戳信息与S41获取的日志文件进行比对;
S43:TCP服务端根据比对结果记录未接收到的数据包的时间戳信息,并返回给对应的TCP客户端。
在本发明一实施例中,其中,步骤S5后还包括验证步骤,具体为:
测试人员人为断开任一TCP客户端网络连接,查看TCP服务端是否正确存储断开前接收到的对应TCP客户端的数据包;
再重新接通所述TCP客户端与TCP服务端之间的网络连接,查看所述TCP客户端与TCP服务端的数据传输是否自动重连,数据包的传输是否继续。
与现有技术相比,本发明的优势包括:
(1)解决了在对TCP长时间稳定性通信测试过程中需要人工实时监控的问题;
(2)基于时间戳进行接收数据包的监控,能够通过对比TCP客户端和TCP服务端基于时间戳的文件,判定TCP服务端的稳定性,判定方法简单且精确。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例TCP服务端稳定性测试的实现流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
图1为本发明实施例TCP服务端稳定性测试的实现流程示意图,如图1所示,本发明提供了一种基于时间戳的TCP服务端稳定性测试方法,其包括以下步骤:
S1:至少一个TCP客户端通过Socket与TCP服务端建立连接,组成局域网;
S2:局域网内任一TCP客户端通过脚本按照预设时间间隔向TCP服务端发送自定义构建的数据包,其中,数据包为包含时间戳信息的json格式的数据包;
S3:TCP服务端不断地监听每个TCP客户端的TCP请求,当TCP服务端接收到任一TCP客户端发送的数据包时,TCP服务端对接收到的数据包进行解析并基于数据包的时间戳信息进行数据存储;
S4:TCP服务端使用脚本分析每个TCP客户端发送的数据包的时间戳信息和TCP服务端接收到的数据包的时间戳信息,将未接收到的数据包的时间戳信息记录并返回给对应TCP客户端;
S5:每个TCP客户端通过检查所有数据包是否发送成功来判断自己与TCP服务端是否连接正常,当任一TCP客户端的进程判断其与TCP客户端的连接断开时,对应TCP客户端自动进行反复重连,直到所述TCP客户端与TCP服务端再次建立连接。
在本实施例中,其中,步骤S2中还包括:每个TCP客户端将发送的数据包的时间戳信息存储在日志文件中,以用于TCP服务端读取日志信息进行时间戳信息比对。
在本实施例中,其中,步骤S2中包含时间戳信息的json格式的数据包为TCP客户端将获取到的时间戳信息存储到对应的json格式的数据包中,具体过程为:
S21:TCP客户端通过脚本中的time函数获取系统内置的时间戳信息;
S22:TCP客户端将获取到的时间戳信息与要发送的内容等其他信息合并,按照预设规则组成自定义数据包,以确保TCP服务端能够正确解析。
在本实施例中,其中,步骤S22中当局域网内有多个TCP客户端同时向TCP服务端发送数据包时,每个TCP客户端自定义的数据包中还包含对应TCP客户端的IP地址信息,以保证TCP服务端能够对局域网内多个TCP客户端发送的数据包进行区分。
在本实施例中,其中,步骤S3中TCP服务端对接收到的数据包进行解析并基于数据包的时间戳信息进行数据存储的过程具体为:TCP服务端从接收到的数据包中提取时间戳信息和对应TCP客户端的IP地址信息,以时间戳命名并存储数据包。
在本实施例中,其中,步骤S4的具体过程为:
S41:TCP服务端根据数据包的IP地址信息从对应TCP客户端获取客户端日志文件;
S42:TCP服务端通过脚本将S3中提取到的时间戳信息与S41获取的日志文件进行比对;
S43:TCP服务端根据比对结果记录未接收到的数据包的时间戳信息,并返回给对应的TCP客户端。
在本实施例中,其中,步骤S5后还包括验证步骤,具体为:
测试人员人为断开任一TCP客户端网络连接,查看TCP服务端是否正确存储断开前接收到的对应TCP客户端的数据包;
再重新接通所述TCP客户端与TCP服务端之间的网络连接,查看所述TCP客户端与TCP服务端的数据传输是否自动重连,数据包的传输是否继续。
在本发明的另一实施例中,具体的实施步骤为:
1.一个TCP客户端与TCP服务端建立Socket连接,TCP客户端通过脚本设定传输内容为json格式的数据包,数据包内包含发送时间戳的数据块,并按一定的时间间隔进行传输。
2.TCP服务端不断监听来自TCP客户端的TCP请求,当TCP服务端接收到TCP客户端发送的数据包时,TCP服务端对数据包进行完整性和正确性校验,提取数据包的时间戳对其命名并进行数据存储。
3.人为断开TCP客户端网络连接,用以模拟自动化测试过程中网络不稳定的情况,从而验证本方法可以实现不受网络影响,进行不间断稳定性测试。通过时间戳判断TCP服务端是否已将断开之前传送的数据都正确存储,并查看网络再次连通之后,TCP客户端与TCP服务端能否自动重连,以继续进行未完成的数据传输。
4.当使用局域网内的多台TCP客户端同时与TCP服务端建立连接,并按照设定的时间间隔发送数据包时,TCP服务端按照不同TCP客户端的IP地址加上时间戳的方式进行数据存储。
5.通过脚本统计TCP服务端在接收到的数据包与TCP客户端发送的数据包的时间戳信息,通过时间戳信息可以判断在长时间传输过程中是否有丢包情况,以及具体的丢包数量和时间段。
在本发明又一实施例中,其中,时间戳信息还能够替换为其他数据包标签信息,其他数据包标签信息可以包括:数据包大小和TCP客户端信息等组合作为标签信息,进行唯一性命名和存储,用以对TCP服务端稳定性进行测试和判断。
本发明解决了在对TCP长时间稳定性通信测试过程中需要人工实时监控的问题,同时,基于时间戳进行接收数据包的监控,能够通过对比TCP客户端和TCP服务端基于时间戳的文件,判定TCP服务端的稳定性,判定方法简单且精确。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

Claims (2)

1.一种基于时间戳的TCP服务端稳定性测试方法,其特征在于,包括以下步骤:
S1:至少一个TCP客户端通过Socket与TCP服务端建立连接,组成局域网;
S2:局域网内任一TCP客户端通过脚本按照预设时间间隔向所述TCP服务端发送自定义构建的数据包,其中,所述数据包为包含时间戳信息的json格式的数据包,其为对应TCP客户端将获取到的时间戳信息存储到对应的json格式的数据包中,且每个TCP客户端还将发送的数据包的时间戳信息存储在日志文件中,具体数据包形成过程为:
S21:所述TCP客户端通过脚本中的time函数获取系统内置的时间戳信息;
S22:所述TCP客户端将获取到的时间戳信息与要发送的内容信息合并,按照预设规则组成自定义数据包,其中当局域网内有多个TCP客户端同时向所述TCP服务端发送数据包时,每个TCP客户端自定义的数据包中还包含对应TCP客户端的IP地址信息;
S3:所述TCP服务端不断地监听每个TCP客户端的TCP请求,当所述TCP服务端接收到任一TCP客户端发送的数据包时,所述TCP服务端对接收到的数据包进行解析,从接收到的数据包中提取时间戳信息和对应TCP客户端的IP地址信息,以时间戳命名并存储数据包;
S4:所述TCP服务端对数据包进行完整性和正确性校验,并执行:
S41:所述TCP服务端根据数据包的IP地址信息从对应TCP客户端获取客户端日志文件;
S42:所述TCP服务端通过脚本将S3中提取到的时间戳信息与S41获取的日志文件进行比对;
S43:所述TCP服务端根据比对结果记录未接收到的数据包的时间戳信息,并返回给对应的TCP客户端;
S5:每个TCP客户端通过检查所有数据包是否发送成功来判断自己与所述TCP服务端是否连接正常,当任一TCP客户端的进程判断其与TCP客户端的连接断开时,对应TCP客户端自动进行反复重连,直到所述TCP客户端与所述TCP服务端再次建立连接。
2.根据权利要求1所述的测试方法,其特征在于,步骤S5后还包括验证步骤,具体为:
测试人员人为断开任一TCP客户端网络连接,查看所述TCP服务端是否正确存储断开前接收到的对应TCP客户端的数据包;
再重新接通所述TCP客户端与所述TCP服务端之间的网络连接,查看所述TCP客户端与所述TCP服务端的数据传输是否自动重连,数据包的传输是否继续。
CN202011510676.7A 2020-12-18 2020-12-18 一种基于时间戳的tcp服务端稳定性测试方法 Active CN112583672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011510676.7A CN112583672B (zh) 2020-12-18 2020-12-18 一种基于时间戳的tcp服务端稳定性测试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011510676.7A CN112583672B (zh) 2020-12-18 2020-12-18 一种基于时间戳的tcp服务端稳定性测试方法

Publications (2)

Publication Number Publication Date
CN112583672A CN112583672A (zh) 2021-03-30
CN112583672B true CN112583672B (zh) 2023-05-19

Family

ID=75136301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011510676.7A Active CN112583672B (zh) 2020-12-18 2020-12-18 一种基于时间戳的tcp服务端稳定性测试方法

Country Status (1)

Country Link
CN (1) CN112583672B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115695228A (zh) * 2022-10-18 2023-02-03 深圳市航盛电子股份有限公司 Lvds功能测试方法、装置、终端设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945282A (zh) * 2014-05-16 2014-07-23 成都凯智科技有限公司 文件读取方法和装置
CN107979449A (zh) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 一种数据传输方法及装置
CN109922059A (zh) * 2019-02-28 2019-06-21 南京科谷智能科技有限公司 基于套接字的客户端与服务端保持连接的方法
CN110417822A (zh) * 2019-09-16 2019-11-05 武汉先同科技有限公司 局域网中客户端与服务器自动建立tcp连接的方法
CN110496013A (zh) * 2019-08-30 2019-11-26 深圳市小牛共享科技有限公司 按摩椅控制装置及控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2552135A (en) * 2016-06-29 2018-01-17 Crf Box Oy Method and apparatus for adjusting event timestamp relating to clinical trial

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945282A (zh) * 2014-05-16 2014-07-23 成都凯智科技有限公司 文件读取方法和装置
CN107979449A (zh) * 2016-10-25 2018-05-01 杭州海康威视数字技术股份有限公司 一种数据传输方法及装置
CN109922059A (zh) * 2019-02-28 2019-06-21 南京科谷智能科技有限公司 基于套接字的客户端与服务端保持连接的方法
CN110496013A (zh) * 2019-08-30 2019-11-26 深圳市小牛共享科技有限公司 按摩椅控制装置及控制方法
CN110417822A (zh) * 2019-09-16 2019-11-05 武汉先同科技有限公司 局域网中客户端与服务器自动建立tcp连接的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于改进心跳包机制的整流远程监控系统;胡志坤等;《计算机应用》;20080215(第02期);第0-1节 *
基于网络的产品在线检测系统;方宏超等;《计算机应用研究》;20061110(第11期);全文 *

Also Published As

Publication number Publication date
CN112583672A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
US6625648B1 (en) Methods, systems and computer program products for network performance testing through active endpoint pair based testing and passive application monitoring
US7428664B2 (en) Protocol replay system
EP3140960B1 (en) Methods, systems, and computer readable media for providing fuzz testing functionality
CN109067938B (zh) 一种测试dns服务器的方法及装置
CN109656574B (zh) 交易时延度量方法、装置、计算机设备及存储介质
CN109462490B (zh) 视频监控系统及故障分析方法
CN111190755B (zh) 应用程序的功能异常处理方法及装置
CN106776346B (zh) Ccmts设备的测试方法和装置
CN104079571A (zh) 一种识别Android模拟器的方法及装置
CN112583672B (zh) 一种基于时间戳的tcp服务端稳定性测试方法
CN105306246A (zh) 一种自动应答网络类投诉的方法、装置和服务器
CN106911510B (zh) 网络准入系统的可用性监测系统及方法
CN103139014A (zh) 基于旁路的网络质量评测方法及装置
CN111585841A (zh) 一种自动测试方法及相关装置
CN113207146B (zh) 无线通信网络质量监控系统及方法
CN113676926B (zh) 用户网络感知画像方法及装置
CN117155832A (zh) 用于udp传输协议的多端无侵入录制回放测试方法及系统
CN115514682B (zh) 一种数据传输方法、装置、设备及存储介质
CN100421381C (zh) 一种获取网络设备运行和故障状态信息的方法及装置
KR100347183B1 (ko) 이동통신망용 무선데이타 성능분석 시스템
CN103780446A (zh) 一种实时监控网络带宽资源的方法及系统
CN112468336B (zh) 一种网络质量监测预警方法、装置、终端及存储介质
KR100581142B1 (ko) 인터넷 망에서 다지점간 성능 분석을 위한 분산 측정 장치및 그 방법
WO2011115625A1 (en) Method and apparatus pertaining to assessing ordinary end-to-end performance of a mobile data network
CN109274530B (zh) 基于tcp协议的网络数据包零误差场景再现方法和装置

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
CP01 Change in the name or title of a patent holder

Address after: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee after: Beijing Zhongke Flux Technology Co.,Ltd.

Address before: Room 711c, 7 / F, block a, building 1, yard 19, Ronghua Middle Road, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Patentee before: Beijing Ruixin high throughput technology Co.,Ltd.

CP01 Change in the name or title of a patent holder