CN117155832A - 用于udp传输协议的多端无侵入录制回放测试方法及系统 - Google Patents
用于udp传输协议的多端无侵入录制回放测试方法及系统 Download PDFInfo
- Publication number
- CN117155832A CN117155832A CN202311110052.XA CN202311110052A CN117155832A CN 117155832 A CN117155832 A CN 117155832A CN 202311110052 A CN202311110052 A CN 202311110052A CN 117155832 A CN117155832 A CN 117155832A
- Authority
- CN
- China
- Prior art keywords
- udp
- data
- playback
- data packet
- recording
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 38
- 238000010998 test method Methods 0.000 title claims abstract description 21
- 238000012360 testing method Methods 0.000 claims abstract description 27
- 230000006854 communication Effects 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000007619 statistical method Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 22
- 230000002159 abnormal effect Effects 0.000 claims description 19
- 238000001914 filtration Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于UDP传输协议的多端无侵入录制回放测试方法及系统,设置了多个事务端和服务端,服务端包括事务端管理模块、数据包管理模块、数据包比较模块、用于创建录制数据任务的录制数据任务模块、用于创建回放数据任务的回放数据任务模块和统计分析模块;事务端包括用于从服务端获取配置信息的配置拉取模块、流量录制模块、流量发放模块和数据包传输模块。通过事务端和服务端的协作,可以在多端环境下快速进行UDP流量的录制回放测试,真实地分析应用程序在多端环境下基于UDP传输协议的性能和稳定性,发现网络通信中的问题,提高应用程序的性能和稳定性,降低应用程序的开发和测试成本。
Description
技术领域
本发明涉及软件测试技术领域,尤其涉及的是一种用于UDP传输协议的多端无侵入录制回放测试方法及系统。
背景技术
用户数据报协议(UDP)由于其无连接性和低延迟特性,在视频会议、流媒体播放和多人在线游戏等实时应用中被广泛应用。UDP协议能够快速传输数据,但数据包易丢失、易延迟,传输性能难以预测。特别是在多端环境中,每个端都可能在不同的网络条件下运行,传输性能更加难以预测。因此,要保证UDP协议在多端环境下的稳定运行,就需要对其进行深度的测试和分析。
目前能够用于多端网络测试的工具主要是基于TCP协议的,并不能用来对UDP协议的网络传输性能进行测试;虽然也有少量针对UDP协议的测试工具,如iperf和netperf等命令行工具,但只是能够简单地测试基于UDP协议的网络通信性能,无法满足多端环境下的复杂需求进行测试。
发明内容
本发明的主要目的在于提供一种用于UDP传输协议的多端无侵入录制回放测试方法、系统、智能终端及计算机可读介质,解决无法在多端环境下对UDP协议进行传输性能测试的问题。
为了实现上述目的,本发明第一方面提供一种用于UDP传输协议的多端无侵入录制回放测试方法,用于执行录制、回放UDP通信事务的事务端,所述方法包括:
从服务端获取配置信息,根据所述配置信息更新本地网络参数以满足测试所需的网络环境;
当接收到录制数据任务指令和过滤规则时,复制网卡的数据包,保存至缓冲区,解析缓冲区中的数据包并根据所述过滤规则筛选出需录制的第一UDP数据包,在所述第一UDP数据包上添加捕获时间戳并异步传输至服务端;
当接收到回放数据任务指令和回放参数时,从服务端按时间先后顺序下载在所述回放参数中设定的所有第二UDP数据包并保存至文件,根据所述回放参数读取所述文件,构建第三UDP数据包并发放。
可选的,下载第二UDP数据包之后,还包括:
检查所述第二UDP数据包,当判定所述第二UDP数据包异常时,将所述第二UDP数据包标记为异常数据包并保存异常信息;
当回放数据任务结束后,将所述第二异常数据包和所述异常信息发送至服务端。
为了实现上述目的,本发明第二方面提供一种用于UDP传输协议的多端无侵入录制回放测试方法,用于服务端,所述方法包括:
响应于用户创建的录制数据任务,获取所述录制数据任务中选定的事务端,向所有选定的事务端发送所述录制数据任务指令和在创建所述录制数据任务时设定的过滤规则,当接收到事务端发送的UDP数据包时,根据应用层协议特征库将所述UDP数据包与应用层协议进行匹配,在匹配成功的UDP数据包上添加相匹配的应用层协议的标记,保存所述UDP数据包;
响应于用户创建的回放数据任务,获取所述回放数据任务中选定的事务端,向所有选定的事务端发送所述回放数据任务指令和在创建所述回放数据任务时设定的回放参数。
可选的,在匹配成功的UDP数据包上添加相匹配的应用层协议的标记后,还包括:
当所述UDP数据包包括应用层协议的标记时,根据所述应用层协议的标记将所述匹配成功的UDP数据包转换为视频文件或音频文件以查看和/或比较所述UDP数据包的内容;
否则,将所述匹配成功的UDP数据包中的十六进制数据转换为文本数据或十进制数据以查看和/或比较所述UDP数据包的内容。
可选的,所述录制数据任务中选定的事务端包括用于同一个UDP请求的请求端和接收端,当录制数据任务结束后,比较所述请求端的UDP数据包和所述接收端的UDP数据包,获得比较结果。
可选的,当回放数据任务结束后,还包括:
基于数据包的基本信息、数据内容和时间戳,比较用户选择的数据包,获得比较结果。
可选的,还在在所述回放参数中设定自定义数据包参数以在事务端进行自定义数据包的发放,所述自定义数据包参数包括源地址、目标地址、端口号、协议信息和数据内容。
本发明第三方面提供一种用于UDP传输协议的多端无侵入录制回放测试系统,其中,上述系统包括:
服务端和多个事务端;
所述服务端用于启动各个事务端的录制数据任务和回放数据任务、接收并处理事务端发送的UDP数据包,包括:事务端管理模块、数据包管理模块、数据包比较模块、用于创建录制数据任务的录制数据任务模块、用于创建回放数据任务的回放数据任务模块和统计分析模块;
所述事务端用于执行录制数据任务和回放数据任务,包括:用于从服务端获取配置信息的配置拉取模块、流量录制模块、流量发放模块和数据包传输模块。
本发明第四方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的用于UDP传输协议的多端无侵入录制回放测试程序,上述用于UDP传输协议的多端无侵入录制回放测试程序被上述处理器执行时实现任意一项上述用于UDP传输协议的多端无侵入录制回放测试方法的步骤。
本发明第五方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有用于UDP传输协议的多端无侵入录制回放测试程序,上述用于UDP传输协议的多端无侵入录制回放测试程序被处理器执行时实现任意一项上述用于UDP传输协议的多端无侵入录制回放测试方法的步骤。
由上可见,本发明设置了多个事务端和服务端,通过事务端和服务端的协作,可以在多端环境下快速进行UDP流量的录制回放测试,分析多端环境下UDP协议的传输性能。能真实地分析应用程序在多端环境下基于UDP传输协议的性能和稳定性,发现网络通信中的问题,提高应用程序的性能和稳定性,降低应用程序的开发和测试成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的用于UDP传输协议的多端无侵入录制回放测试系统架构示意图;
图2为本发明实施例提供的录制数据任务功能示意图;
图3为本发明实施例提供的对同一UDP请求进行录制数据任务功能示意图;
图4为本发明实施例提供的回放数据任务功能示意图;
图5是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
现有的针对UDP协议的测试工具往往只支持单一功能,如iperf和netperf等命令行工具,无法满足多端环境下的复杂需求,例如,多端环境下的UDP流量录制和回放、多端UDP请求的模拟、多端UDP数据包的解析查看、以及在多端环境下对UDP流量进行统计分析,以识别可能的流量模式和趋势等功能需求。
因此,为了实现多端环境下无侵入式对UDP流量进行录制回放测试,本发明提供了一种用于UDP传输协议的多端无侵入录制回放测试系统,如图1所示,采用了高度模块化的架构,主要包括多个事务端和服务端。事务端部署在需要测试UDP通信的网络节点上,可以灵活选择UDP数据流动的部分电子终端作为事务端。事务端主要执行录制数据任务和回放数据任务,以确保数据的全面采集以及数据的回放。
事务端主要包括以下模块:配置拉取模块、流量录制模块、流量发放模块和数据包传输模块。
其中,配置拉取模块用于从服务端获取配置信息并更新事务端本地的配置信息,以实现事务端本地网络参数的动态配置和调整,适应不同的网络环境和测试需求;流量录制模块用于捕捉和记录事务端的UDP流量,同时确保记录的数据准确无误,保障测试的有效性;流量发放模块,用于在需要时候回放记录的UDP流量数据或发放自定义的数据包,以复现网络事件、进行网络调试;数据包传输模块用于将存储的UDP数据包传输到服务端,以便服务端进行进一步的处理和分析。
在一个示例中,事务端上还包括心跳检测模块和日志模块。
其中,心跳检测模块用于通过周期性的心跳检测,保持与服务端的实时连接,同时通过检测结果判断网络状态以及事务端的工作状态;日志模块用于记录事务端运行的各种信息,包括系统状态、异常事件、操作记录等,以及把日志信息推送到服务端。
服务端部署在后台服务器上,与各个事务端通信连接,用于控制各个事务端,以及接收、处理和分析由各个事务端收集到的UDP流量数据,以提供全面的网络行为洞察和有效的网络问题定位。
服务端主要包括以下模块:节点管理模块、数据包管理模块、数据包比较模块、录制数据任务模块、回放数据任务模块和统计分析模块。
其中,节点管理模块用于维护和管理所有的事务端节点,包括节点的增加、删除、状态监控等;数据包管理模块用于管理从事务端收到的数据包,包括数据的归类、存储、检索等;数据包比较模块用于把数据包进行对比分析,找到UDP通信过程中发送的变化,便于验证数据传输的正确性;录制数据任务模块用于管理所有的数据录制数据任务,包括录制数据任务的创建、分配、执行、状态监控等;回放数据任务模块用于管理所有的数据回放数据任务,包括回放数据任务的创建、分配、执行、状态监控等;统计分析模块用于对收集的UDP流量数据进行统计和分析,包括流量趋势分析、协议分析、网络行为分析等,为网络运营、安全、优化等提供数据支持。
在一个示例中,服务端还包括日志模块,用来记录系统运行的各种信息,包括系统状态、异常事件、操作记录等,便于进行系统监控和故障排查。
使用录制回放测试系统时,首先需要进行事务端的配置和启动。在所有需要事务端上安装并运行事务端程序。可以通过自动化部署脚本或者手动下载事务端程序并执行来完成安装。然后用户通过控制台或配置文件,设置服务端的IP地址及端口,以便事务端程序与服务端程序建立连接。配置好IP地址和端口并启动事务端程序后,每个事务端会自动向服务端发起注册请求。请求内容包含主机名称,主机IP,事务端程序的版本信息,以及其他可能需要的元数据。这些信息保存在服务端,用来维护事务端的状态和配置。
当服务端接收到事务端的注册信息后,会进行验证和记录,然后在事务端管理模块的列表中显示出该事务端,能够很方便地进行事务端节点的监控和管理。同时,服务端也会向事务端返回一个确认消息,以告知事务端已经成功注册并开始接收事务端的数据和启动心跳检测。
上述事物端上的事务端程序运行时,执行一种用于UDP传输协议的多端无侵入录制回放测试方法,能够执行录制、回放UDP通信事务。具体包括:
首先从服务端获取配置信息,根据配置信息更新本地网络参数以满足测试所需的网络环境;当接收到录制数据任务指令和过滤规则时,复制网卡的数据包,保存至缓冲区,解析缓冲区中的数据包并根据过滤规则筛选出需录制的第一UDP数据包,在第一UDP数据包上添加捕获时间戳并异步传输至服务端;当接收到回放数据任务指令和回放参数时,从服务端按时间先后顺序下载回放参数中设定的所有第二UDP数据包并保存至文件,根据回放参数读取上述文件,构建第三UDP数据包并发放。
服务端上运行了服务端程序,服务端程序运行时执行一种用于UDP传输协议的多端无侵入录制回放测试方法。具体包括:
响应于用户创建的录制数据任务,获取录制数据任务中选定的事务端,向所有选定的事务端发送录制数据任务指令和在创建录制数据任务时设定的过滤规则,当接收到事务端发送的UDP数据包时,根据应用层协议特征库将UDP数据包与应用层协议进行匹配,在匹配成功的UDP数据包上添加相匹配的应用层协议的标记,保存UDP数据包;
响应于用户创建的回放数据任务,获取回放数据任务中选定的事务端,向所有选定的事务端发送回放数据任务指令和在创建回放数据任务时设定的回放参数。
在一个实施例中,在匹配成功的UDP数据包上添加相匹配的应用层协议的标记后,还包括:
当UDP数据包包括应用层协议的标记时,根据应用层协议的标记将匹配成功的UDP数据包转换为视频文件或音频文件以查看和/或比较UDP数据包的内容;
否则,将匹配成功的UDP数据包中的十六进制数据转换为文本数据或十进制数据以查看和/或比较UDP数据包的内容。
在一个实施例中,录制数据任务中选定的事务端包括用于同一个UDP请求的请求端和接收端,当录制数据任务结束后,比较请求端的UDP数据包和接收端的UDP数据包,获得比较结果。
在一个实施例中,当回放数据任务结束后,还包括:基于数据包的基本信息、数据内容和时间戳,比较用户选择的数据包,获得比较结果。
在一个实施例中,还在在回放参数中设定自定义数据包参数以在事务端进行自定义数据包的发放,自定义数据包参数包括源地址、目标地址、端口号、协议信息和数据内容。
以下结合录制回放测试系统对服务端、事务端上的录制回放测试方法进行详细说明:
如图2所示,当需要录制UDP流量事务时,需要先通过服务端的录制数据任务模块创建一个新的录制数据任务,通过可视化界面指引用户进行操作。在录制数据任务创建过程中,用户可以选择多个需要执行录制数据任务的事务端(Agent),并设定过滤规则。过滤规则可以基于源地址、目标地址、端口号等条件进行设定,可以对每个事务端单独设置也可以批量设置。过滤规则用于在事务端筛选和捕获特定的UDP数据包。设置完成后,用户可以选择直接启动任务,或者保存任务以备后续启动。
当录制数据任务在服务端启动后,通过服务端的事务端管理模块向录制数据任务中选定的事务端发送录制数据任务指令和过滤规则。
事务端收到录制数据任务指令和过滤规则后,通过事务端的流量录制模块从网卡中复制数据包(即无侵入地捕获网卡流量数据)并存储到缓存区,同时对缓冲区中的每个数据包进行解析,解析目标包括IP头部、UDP头部以及数据部分,以获取源地址、目标地址、源端口号、目标端口号以及实际传输的数据内容。数据包解析完毕后,根据从服务端接收到的过滤规则进行UDP数据包筛选,过滤出符合规则的数据包,同时还会为这些数据包加上捕获的时间戳,以便后续按照时间顺序进行回放。这些数据包会以文件格式进行本地临时存储。存储的同时,通过事务端的数据包传输模块异步地将这些数据包推送到服务端,推送的信息包括代理端标识、源地址和目标地址的IP和端口号、捕获时间戳以及数据包。这样,服务端就可以对收集到的数据进行进一步的处理和分析。
在一个示例中,事务端在录制UDP数据的过程中,还设计了异常处理机制,能够处理网络故障、丢包或其他异常情况。具体地,事务端的流量录制模块会监控网络通信的状态,并对异常情况进行检测、记录和处理,生成错误日志。错误日志包含异常的详细信息,包括异常类型、发生时间、相关数据包的信息等,这些信息将通过事务端的日志模块发送到服务端。
本实施例中,事务端的流量录制模块还设置了超时机制以及缓冲区,用于应对高负载或突发的数据包流量,从而提高了系统的稳定性和容错能力。
由于本发明的应用场景为多端UDP通信,因此在一个示例中,如图3所示,创建录制数据任务时,同时选择了同一个UDP请求的请求端和接收端,就可以对这一对请求端和接受端同时进行录制,形成请求端数据包和接收端数据包,方便服务端精准地进行比较测试。
事务端执行录制数据任务时,会将UDP数据包发送至服务端。服务端接收到UDP数据包后,通过服务端的数据包管理模块对这些UDP数据包进行处理。具体地,在服务端的数据包管理模块中设定了一套基于UDP的应用层协议特征库,这个特征库包含市场上常用的各种应用层协议,如RTP、RTCP、RTSP、QUIC等。服务端从各个事务端接收到UDP数据包后,首先进行数据包的解析,检测接收到的数据包的内容。然后通过将数据包内容与特征库中的数据格式进行比较,来判断数据包是否符合某种特定的应用层协议,并检查数据包内容是否包含某些特定的字段,如RTP协议有版本字段、负载类型字段、序列号字段、时间戳字段等,确认这些字段的值是否在合理的范围内。经过上述判断后,如果数据包内容符合某种特定的应用层协议的数据格式,则将这个数据包标记为该应用协议,如果数据包内容不符合任何已知的应用层协议的数据格式,则不对其进行额外的标记。
解析完成后,服务端对接收到的数据包进行存储。具体地,将事务端标识、IP端口、时间戳、协议标识等基础数据存储在数据库中,以便进行快速索引查询。而将UDP数据包的数据内容以16进制的格式存储为文件。为了节省存储空间和提高读写效率,还可以对数据内容进行压缩处理。
服务端的数据包管理模块还提供了用户查看和转译数据内容功能。对于已经标记应用协议的数据包,将数据内容中的十六进制数据转换为相应的视频或音频格式文件;对于未标记应用协议的数据包,将数据内容中的十六进制数据转换为文本(string)或者数字(int)。可选的,用户也可以修改协议类型,并选择转义类型进行转义查看。这样,用户就可以根据实际需要,灵活地查看和处理数据包内容。
如图4所示,当需要回放UDP流量事务时,首先通过服务端的回放数据任务模块创建一个新的回放数据任务。具体地,用户选择需要执行回放数据任务的事务端,设置需要回放的数据包、选择回放模式等回放参数。此外,用户还可以修改数据包参数,如接收IP,端口;设置回放速率,如原始速度,2倍速,1/2倍速等回放参数。启动回放数据任务后,服务端会向选定的事务端发送回放数据任务指令和回放参数,该回放参数包含了所需回放的数据包信息。回放参数还可以包括数据包的发送规则,例如数据包的发送顺序、数据包的发送间隔或者数据包的发送次数等。
在一个示例中,通过服务端的回放数据任务模块,用户还可以选择创建一个自定义的数据包发放任务。在该任务中,用户可以输入新的源地址、目标地址、端口号,甚至可以指定协议信息和数据内容。这些数据可以根据用户的具体需求手动输入,也可以通过导入已有的数据文件来生成。
回放数据任务创建完成后,用户可以选择启动任务或者保存任务以供将来使用。启动任务后,服务端会向选定的事务端发送回放数据任务指令和回放参数。
事务端收到回放数据任务指令和回放参数后,事务端的流量发放模块会从服务端按时间先后下载回放数据任务所需的数据包和对应的参数,并且把下载到的数据包临时保存到文件中。同时创建新的进程开始读取文件并构建待发放的数据包,随后按回放参数中的任务速率进行发放。待所有的数据包发放结束后,结束回放数据任务。
在回放数据任务执行过程中,事务端的流量发放模块会检查数据包的完整性和正确性,以及其他可能的异常情况。例如网络出现中等。发放失败时,流量发放模块会标记这些数据包为异常数据包,并记录相关的异常信息。待回放数据任务完成后,事务端会向服务端发送回放完成信号,并将异常数据包和异常信息发送至服务端,用户可以在服务端查看回放数据任务的结果,以及关键性能指标。
服务端的数据包比较模块提供了数据包比较功能,用户可以进行数据包比较。具体地,用户自主选择要比较的数据包或在已完成的录制数据任务或回放数据任务中选择数据包进行比较。可以基于多种条件进行数据包选择,例如直接选择两个数据包比较,或者按源IP、目标IP、发放和接收类型的数据包比较。一旦选定,数据包比较模块将执行一系列比较操作。例如:比较选定数据包的基本信息,如源IP、目标IP、端口号和协议类型等。任何不符合期望的差异都将被记录,并在数据库中创建一条错误日志,详细记载不一致的信息;比较数据包的数据内容,先解析数据包,将其内容转化为易于理解的形式,并与期望的数据包内容进行比较,此步骤有助于检测数据在网络传输过程中是否发生变化;对发送和接收的数据包进行时间戳比较,用来分析网络的延迟和抖动情况,对时间敏感的UDP应用,如在线视频或音频通信,特别需要分析网络的延迟和抖动情况;对正常数据包和异常数据包进行比较,可以帮助用户找出可能导致异常的原因,对于排查网络故障、恶意攻击或数据包丢失等问题非常有用。
数据包比较结果会存储在数据库中,并生成一份详细报告供用户查看。这样,用户可以深入理解UDP通信过程中的具体情况,也可以精确定位和解决可能出现的问题。
在一个实施例中,服务端的统计分析模块提供了网络分析功能,能够分析和呈现UDP流量的关键特性和性能指标。这些信息对于用户理解网络行为,优化网络性能,以及定位和解决网络问题都非常重要。
具体地,在录制和发放任务完成后,服务端的统计分析模块会从数据库中提取相关数据信息。这些数据信息包括但不限于源地址和目标地址、端口号、协议类型、数据包大小、时间戳等。根据这些数据信息计算出各种关键的流量指标,如总流量、平均流量、峰值流量、流量变化率等。例如:分析性能指标,如传输延迟、丢包率、重传次数等,这些指标对于理解和评估网络性能非常重要;分析网络的异常情况,如网络故障、丢包、重传等,这些信息对于定位和解决网络问题非常重要。
用户可以在服务端查看这些性能指标、流量指标、网络的异常信息,以及他们在时间上的变化。这些信息以图表或报表的形式展示,用户可以选择查看实时的或历史的性能信息。
由上所述,本发明能够模拟各种不同网络环境和传输条件,能够真实地模拟应用程序在实际网络环境中的性能和稳定性,同时成本低廉、易于使用。通过本发明,用户可以快速地进行UDP传输协议的录制回放测试,发现网络通信中的问题,提高应用程序的性能和稳定性,降低应用程序的开发和测试成本。
基于上述实施例,本发明还提供了一种智能终端。如图5所示,上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和用于UDP传输协议的多端无侵入录制回放测试程序。该内存储器为非易失性存储介质中的操作系统和用于UDP传输协议的多端无侵入录制回放测试程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该用于UDP传输协议的多端无侵入录制回放测试程序被处理器执行时实现上述任意一种用于UDP传输协议的多端无侵入录制回放测试方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有用于UDP传输协议的多端无侵入录制回放测试程序,上述用于UDP传输协议的多端无侵入录制回放测试程序被处理器执行时实现本发明实施例提供的任意一种用于UDP传输协议的多端无侵入录制回放测试方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.用于UDP传输协议的多端无侵入录制回放测试方法,用于执行录制、回放UDP通信事务的事务端,其特征在于,所述方法包括:
从服务端获取配置信息,根据所述配置信息更新本地网络参数以满足测试所需的网络环境;
当接收到录制数据任务指令和过滤规则时,复制网卡的数据包,保存至缓冲区,解析缓冲区中的数据包并根据所述过滤规则筛选出需录制的第一UDP数据包,在所述第一UDP数据包上添加捕获时间戳并异步传输至服务端;
当接收到回放数据任务指令和回放参数时,从服务端按时间先后顺序下载在所述回放参数中设定的所有第二UDP数据包并保存至文件,根据所述回放参数读取所述文件,构建第三UDP数据包并发放。
2.如权利要求1所述的用于UDP传输协议的多端无侵入录制回放测试方法,其特征在于,下载第二UDP数据包之后,还包括:
检查所述第二UDP数据包,当判定所述第二UDP数据包异常时,将所述第二UDP数据包标记为异常数据包并保存异常信息;
当回放数据任务结束后,将所述第二异常数据包和所述异常信息发送至服务端。
3.用于UDP传输协议的多端无侵入录制回放测试方法,用于服务端,其特征在于,所述方法包括:
响应于用户创建的录制数据任务,获取所述录制数据任务中选定的事务端,向所有选定的事务端发送所述录制数据任务指令和在创建所述录制数据任务时设定的过滤规则,当接收到事务端发送的UDP数据包时,根据应用层协议特征库将所述UDP数据包与应用层协议进行匹配,在匹配成功的UDP数据包上添加相匹配的应用层协议的标记,保存所述UDP数据包;
响应于用户创建的回放数据任务,获取所述回放数据任务中选定的事务端,向所有选定的事务端发送所述回放数据任务指令和在创建所述回放数据任务时设定的回放参数。
4.如权利要求3所述的用于UDP传输协议的多端无侵入录制回放测试方法,其特征在于,在匹配成功的UDP数据包上添加相匹配的应用层协议的标记后,还包括:
当所述UDP数据包包括应用层协议的标记时,根据所述应用层协议的标记将所述匹配成功的UDP数据包转换为视频文件或音频文件以查看和/或比较所述UDP数据包的内容;
否则,将所述匹配成功的UDP数据包中的十六进制数据转换为文本数据或十进制数据以查看和/或比较所述UDP数据包的内容。
5.如权利要求3所述的用于UDP传输协议的多端无侵入录制回放测试方法,其特征在于,所述录制数据任务中选定的事务端包括用于同一个UDP请求的请求端和接收端,当录制数据任务结束后,比较所述请求端的UDP数据包和所述接收端的UDP数据包,获得比较结果。
6.如权利要求3所述的用于UDP传输协议的多端无侵入录制回放测试方法,其特征在于,当回放数据任务结束后,还包括:
基于数据包的基本信息、数据内容和时间戳,比较用户选择的数据包,获得比较结果。
7.如权利要求3所述的用于UDP传输协议的多端无侵入录制回放测试方法,其特征在于,还在在所述回放参数中设定自定义数据包参数以在事务端进行自定义数据包的发放,所述自定义数据包参数包括源地址、目标地址、端口号、协议信息和数据内容。
8.用于UDP传输协议的多端无侵入录制回放测试系统,其特征在于,包括:
服务端和多个事务端;
所述服务端用于启动各个事务端的录制数据任务和回放数据任务、接收并处理事务端发送的UDP数据包,包括:事务端管理模块、数据包管理模块、数据包比较模块、用于创建录制数据任务的录制数据任务模块、用于创建回放数据任务的回放数据任务模块和统计分析模块;
所述事务端用于执行录制数据任务和回放数据任务,包括:用于从服务端获取配置信息的配置拉取模块、流量录制模块、流量发放模块和数据包传输模块。
9.智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的用于UDP传输协议的多端无侵入录制回放测试程序,所述用于UDP传输协议的多端无侵入录制回放测试程序被所述处理器执行时实现如权利要求1-7任意一项所述用于UDP传输协议的多端无侵入录制回放测试方法的步骤。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有用于UDP传输协议的多端无侵入录制回放测试程序,所述用于UDP传输协议的多端无侵入录制回放测试程序被处理器执行时实现如权利要求1-7任意一项所述用于UDP传输协议的多端无侵入录制回放测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311110052.XA CN117155832A (zh) | 2023-08-30 | 2023-08-30 | 用于udp传输协议的多端无侵入录制回放测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311110052.XA CN117155832A (zh) | 2023-08-30 | 2023-08-30 | 用于udp传输协议的多端无侵入录制回放测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117155832A true CN117155832A (zh) | 2023-12-01 |
Family
ID=88902022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311110052.XA Pending CN117155832A (zh) | 2023-08-30 | 2023-08-30 | 用于udp传输协议的多端无侵入录制回放测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117155832A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117459613A (zh) * | 2023-12-22 | 2024-01-26 | 浙江国利信安科技有限公司 | 用于回放数据的方法、电子设备和存储介质 |
CN117729253A (zh) * | 2024-02-18 | 2024-03-19 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223260A (zh) * | 2010-04-19 | 2011-10-19 | 中国移动通信集团重庆有限公司 | 测试iptv视频数据流传输质量的方法、系统及装置 |
CN103580945A (zh) * | 2012-08-07 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种针对复杂业务系统产生测试数据的方法和装置 |
CN109413674A (zh) * | 2018-11-21 | 2019-03-01 | 深圳市吉祥腾达科技有限公司 | 一种基于抓包回放技术的多无线客户端带机老化测试方法 |
CN110175118A (zh) * | 2019-05-08 | 2019-08-27 | 重庆八戒电子商务有限公司 | 软件性能测试方法和装置 |
US20200050538A1 (en) * | 2018-08-08 | 2020-02-13 | Servicenow, Inc. | Capturing and Encoding of Network Transactions for Playback in a Simulation Environment |
CN111478821A (zh) * | 2019-01-24 | 2020-07-31 | 中国信息通信研究院 | 一种网络性能测试方法和系统 |
-
2023
- 2023-08-30 CN CN202311110052.XA patent/CN117155832A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102223260A (zh) * | 2010-04-19 | 2011-10-19 | 中国移动通信集团重庆有限公司 | 测试iptv视频数据流传输质量的方法、系统及装置 |
CN103580945A (zh) * | 2012-08-07 | 2014-02-12 | 百度在线网络技术(北京)有限公司 | 一种针对复杂业务系统产生测试数据的方法和装置 |
US20200050538A1 (en) * | 2018-08-08 | 2020-02-13 | Servicenow, Inc. | Capturing and Encoding of Network Transactions for Playback in a Simulation Environment |
CN109413674A (zh) * | 2018-11-21 | 2019-03-01 | 深圳市吉祥腾达科技有限公司 | 一种基于抓包回放技术的多无线客户端带机老化测试方法 |
CN111478821A (zh) * | 2019-01-24 | 2020-07-31 | 中国信息通信研究院 | 一种网络性能测试方法和系统 |
CN110175118A (zh) * | 2019-05-08 | 2019-08-27 | 重庆八戒电子商务有限公司 | 软件性能测试方法和装置 |
Non-Patent Citations (1)
Title |
---|
陶娅 等: "基于wireshark的udp点对点通信性能分析", 电子世界, no. 14, pages 1 - 4 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117459613A (zh) * | 2023-12-22 | 2024-01-26 | 浙江国利信安科技有限公司 | 用于回放数据的方法、电子设备和存储介质 |
CN117459613B (zh) * | 2023-12-22 | 2024-03-19 | 浙江国利信安科技有限公司 | 用于回放数据的方法、电子设备和存储介质 |
CN117729253A (zh) * | 2024-02-18 | 2024-03-19 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
CN117729253B (zh) * | 2024-02-18 | 2024-05-03 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8650292B2 (en) | Synthetic transactions to test blindness in a network system | |
US8578017B2 (en) | Automatic correlation of service level agreement and operating level agreement | |
CN117155832A (zh) | 用于udp传输协议的多端无侵入录制回放测试方法及系统 | |
US9740991B2 (en) | Calculating in-flight metrics for non-interruptible business transactions | |
US8402131B2 (en) | Hierarchy for characterizing interactions with an application | |
KR20190131445A (ko) | 자동 테스팅 동안 디바이스 결함의 근본 원인을 식별하기 위한 트래픽 캡쳐 및 디버깅 툴 | |
US7827531B2 (en) | Software testing techniques for stack-based environments | |
CN112714047B (zh) | 基于工控协议流量的测试方法、装置、设备及存储介质 | |
US20110252404A1 (en) | Web-based software debugging apparatus and method for remote debugging | |
EP2244418A1 (en) | Database security monitoring method, device and system | |
US7904757B2 (en) | Activity identifier based tracing and troubleshooting | |
CN112256542B (zh) | 基于eBPF的微服务系统性能检测方法、装置和系统 | |
CN106484611B (zh) | 基于自动化协议适配的模糊测试方法和装置 | |
US8738761B2 (en) | Method and system to capture and playback network activity | |
CN111190755B (zh) | 应用程序的功能异常处理方法及装置 | |
CN106506243A (zh) | 一种基于日志数据的网管故障诊断方法 | |
CN114077525A (zh) | 异常日志处理方法、装置、终端设备、云服务器及系统 | |
US20090070601A1 (en) | Method and apparatus for recursively analyzing log file data in a network | |
CN106126419A (zh) | 一种应用程序的调试方法及装置 | |
CN117130941B (zh) | 基于浏览器插件的接口自动化方法、系统、设备及介质 | |
CN115114132A (zh) | 一种审计程序的性能测试方法和系统 | |
WO2016127483A1 (zh) | 一种采集适配器管理系统的处理方法和装置 | |
CN117061384A (zh) | 一种模糊测试方法、装置、设备及介质 | |
CN100421381C (zh) | 一种获取网络设备运行和故障状态信息的方法及装置 | |
JP3141988B2 (ja) | 計算機システムにおける問題解析方式 |
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 |