CN113612516B - 一种卫星通信数据包的压缩测试方法、系统及设备 - Google Patents
一种卫星通信数据包的压缩测试方法、系统及设备 Download PDFInfo
- Publication number
- CN113612516B CN113612516B CN202110789440.XA CN202110789440A CN113612516B CN 113612516 B CN113612516 B CN 113612516B CN 202110789440 A CN202110789440 A CN 202110789440A CN 113612516 B CN113612516 B CN 113612516B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- dynamic
- information
- static
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18513—Transmission in a satellite or space-based system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/185—Space-based or airborne stations; Stations for satellite systems
- H04B7/1851—Systems using a satellite or space-based relay
- H04B7/18519—Operations control, administration or maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- 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/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Astronomy & Astrophysics (AREA)
- Aviation & Aerospace Engineering (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
Abstract
本发明提供了一种卫星通信数据包的压缩测试方法、系统及设备,通过对待传输的数据包的包头数据分为动态数据和静态数据,将所述动态数据压缩后与静态数据打包得到压缩中间包;信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一数据包的静态数据相结合,得到各个数据包对应的解压缩数据包,将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果,从而得到压缩传输前后数据包之间的差别,判断出传输前后数据包是否发生丢包,错序,重复包等情况,获取到了语音信息传输的状态信息,为确保语音信息的准确传输提供了技术支持。
Description
技术领域
本发明涉及卫星信息通信领域,尤其涉及的是一种卫星通信数据包的压缩测试方法、系统及设备。
背景技术
卫星通信是一种窄带无线传输手段,其传输链路具有速率低,误码率较高和延时较大的特点。在卫星通道上用IP的方式传语音数据包头长度为IP头(20字节)+UDP(8字节)+RTP头(12字节),对于传特定类型的语音包(例如:G.729这种压缩编解码的语音包),20ms的打包时长语音静荷是20字节,如果静音包仅含有少量个字节,卫星带宽的有效使用率较低。
卫星通信的语音数据在传输时,其数据包需要在发送方需要进行压缩,在接收方需要对其压缩后的数据包进行解压缩,从而获取到传输的数据包,但是传输过程中数据包中含有的数据可能发生异常,因此需要对传输前后的数据包信息是否一直进行测试,并根据测试结果,提高语音数据传输的准确性,而现有技术中还未含有针对数据包传输准确性进行判断的测试方法。
因此,现有技术有待于进一步的改进。
发明内容
鉴于上述现有技术中的不足之处,本发明的目的在于提供一种卫星通信数据包的压缩测试方法、系统及设备,克服语音数据传输时,数据包传输的失误的缺陷。
本发明实施例公开的方案如下:
第一方面,本实施例公开了一种卫星通信数据包的压缩测试方法,其中,包括:
将待测试的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为卫星通信的传输过程中变化的数据,静态数据为卫星通信的传输过程中保持不变的数据;
将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包,并将压缩中间包发送至信息接收端;
所述信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包;
将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果。
可选的,所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤,包括:
根据接收到的第一个数据包中保存的动态数据,按照预设解码规则依次恢复得到各个数据包的包头对应的动态数据;
将恢复得到的各个数据包对应包头的动态数据与静态数据相结合得所述解压缩数据包。
可选的,所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤还包括:
获取动态信息标识符,根据所述动态信息标识符识别出各个动态数据中发生变化的数据单元;其中,所述动态信息标识符为当检测到传输过程中传输状态符合预设条件则对数据单元发生变化进行标识的标识符,所述预设条件包括:传输过程中传输路径是否发生变化。
可选的,所述数据单元包括:IP头的生存期和包头校验和、UDP头的校验和、RTP头里的序列号和时戳;
所述将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包的步骤包括:
根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩;
将编码压缩完成后的数据单元保存至动态数据区域,以及将动态数据区域内的动态数据与静态数据打包得到压缩中间包。
可选的,所述根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩的步骤,包括:
若IP头的生存期发生变化,则按照与其对应的第一预设编码规则对其进行编码压缩;
将RTP头的序列号和时戳变化前与变化后的变化值,按照第二预设编码规则进行编码压缩。
可选的,所述将待测试的数据包的包头数据分为动态数据和静态数据的步骤之前,还包括:
获取待检测的多个原始数据包,依次修改各个原始数据包的数据单元中的一个或多个字段,得到原始数据包集;
将设置测试参数不同的测试用例分别与所述原始数据包集中不同的数据包相对应,启动测试进程。
可选的,所述将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对的步骤之后,还包括:
根据对比结果判断本次测试用例对应的运行程序是否有误;
若有,则输出错误信息,并根据所述错误信息对运行程序进行调整;
使用调整后的运行程序重新对数据包进行压缩测试。
第二方面,本实施例公开了一种卫星通信数据包的压缩测试系统,其中,包括:
数据获取模块,用于将待测试的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为卫星通信的传输过程中变化的数据,静态数据为卫星通信的传输过程中保持不变的数据;
压缩模块,用于将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包,并将压缩中间包发送至信息接收端;
解压缩模块,用于所述信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包;
测试输出模块,用于将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果。
第三方面,本实施例公开了一种终端设备,其中,包括处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-7任一项所述的卫星通信数据包的压缩测试方法的步骤。
第四方面,本实施例公开了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现所述的卫星通信数据包的压缩测试方法的步骤。
有益效果,本发明提供了一种卫星通信数据包的压缩测试方法、系统及设备,通过对待传输的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为传输过程中变化的数据,静态数据为传输过程中保持不变的数据;将所述动态数据压缩后与静态数据打包得到压缩中间包;信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包,将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果。从而得到压缩传输前数据包与传输后解压缩得到的数据包之间的差别,判断出传输前后数据包是否发生丢包,错序,重复包等情况,获取到了语音信息传输的状态信息,为确保语音信息的准确传输提供了技术支持。
附图说明
图1是现有技术中IP头的数据结构示意图;
图2是现有技术中UDP头的数据结构示意图;
图3是现有技术中RTP头的数据结构示意图;
图4是本发明所提供的语音数据的传输控制方法步骤流程图;
图5是本发明所提供的语音数据的传输控制方法具体实施例的步骤流程图;
图6是本发明所提供的卫星通信数据包的压缩测试方法步骤流程图;
图7是本发明实施例中的压缩测试方法的具体应用步骤流程图;
图8是本发明实施例卫星通信数据包的压缩测试系统的原理结构框图;
图9是本发明实施例所述的终端设备的原理结构图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
目前的卫星通信采用的是一种窄带无线传输手段,其用IP的方式传输语音数据包,结合图1、图2和图3所示,该语音数据包的包头长度包括:IP头、UDP头(UDP是UserDatagram Protocol的简称,中文名是用户数据报协议)和RTP(实时传输协议RTP(Real-time Transport Protocol)是一个网络传输协议)等。若静音包内还有的字节量少,则会导致卫星带宽的有效使用率低。现有技术中采用多个语音包共享一个包头,但是这样会导致语音信息传输的延迟。
为了解决上述技术中存在的卫星通信带宽使用率的缺陷,本实施例提供了一种语音数据的传输控制方法,其中将语音数据分为动态数据和静态数据,在进行语音数据传输时,由于各个数据包中静态数据不发生变化,因此不对静态数据进行编码压缩,仅仅对语音数据在传输过程中各个数据包的包头数据单元中发生变化的部分数据信息进行编码压缩,因此到接收端接收到数据包后,仅需要对各个数据包的包头数据单元中发生变化的动态数据进行解压缩,从而得到恢复得到传输的语音数据,从而提高信息传输效率,且本实施例公开的方法不会导致语音包的延时。
在提供了上述语音数据的传输控制方法的基础上,为了确保上述传输控制方法的准确性,本实施例提供了一种针对上述语音数据的传输控制方法所作出的数据包的压缩测试方法,为了确保上述传输控制过程中,数据包的准确发送和接收。具体的,本实施例方法根据传输过程中数据信息是否发生变化,将待测试的数据包的包头数据分为动态数据和静态数据,将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩后的压缩中间包,并将压缩中间包发送至信息接收端;信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包;通过将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断出传输前后数据包或其含有的数据是否发生变化,若发生变化,则说明上述语音数据的传输控制过程中出现问题,需要对针对出现的问题进行处理,克服了出现的问题之后,再使用修改后的控制程序进行语音数据的传输控制。
下面结合附图,对本发明所公开的方法做更为详细的解释。
示例性方法
在本实施例公开的数据包压缩测试方法之前,对本方法所对应的语音数据的传输控制方法进行介绍,具体的,如图4所示,所述语音数据的传输控制方法,包括:
步骤S11、信息发送端获取待传输语音数据对应的数据包,并将各个所述数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为传输过程中变化的数据,静态数据为传输过程中保持不变的数据。
信息发送端接收用户或者其他声源发出的语音数据信息,并将语音数据的包头中含有的各个数据单元分成动态数据和静态数据。其中静态数据为传输过程中不发生变化的数据,而动态数据为传输过程中各个数据包的包头发生变化的数据单元,比如:针对这种卫星传输这种场景,IP头里生存期(TTL)和包头校验和可能会存在变化,其它不会有变化,UDP头的校验和会有变化,RTP头里的序列号和时戳会存在变化。
在具体实施时将发生变化的数据保存至动态数据区,将不发生变化的数据保存至静态数据区。其中,动态数据区和静态数据区内的数据格式可以自定义形式存储,也可以根据其原有的形式进行保存。因此本步骤中,动态数据含有:P头里生存期(TTL)和包头校验和,UDP头的校验和,以及RTP头里的序列号和时戳。
步骤S12、将所述动态数据压缩后与第一个数据包的静态数据打包发送到信息接收端。
将动态数据区内保存的动态数据进行编码压缩,并将编码压缩后的动态数据与静态数据一起打包发送至信息接收端。
具体的,动态数据中含有的各个数据单元包括:IP头的生存期和包头校验和、UDP头的校验和、RTP头里的序列号和时戳;因此所述将所述动态数据压缩后与静态数据打包发送到接收端的步骤包括:
根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩;
将编码压缩完成后的数据单元保存至动态数据区域,以及将动态数据区域内的动态数据与静态数据打包发出。
进一步的,所述根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩的步骤,包括:
若IP头的生存期发生变化,则按照与其对应的第一预设编码规则对其进行编码压缩;
将RTP头的序列号和时戳变化前与变化后的变化值,按照第二预设编码规则进行编码压缩。
步骤S13、所述信息接收端对动态数据解压缩后与第一个数据包的静态数据相结合,得到所述语音数据。
信息接收端对接收到的动态数据进行解压缩,从而得到语音数据的动态数据和静态数据,得到语音数据包含的全部信息。
进一步的,所述信息发送端获取待传输语音数据,并将所述语音数据分为动态数据和静态数据,包括:
对接收到的所述语音数据中含有的各个数据单元对应的信息是否发生变化进行识别;
若含有发生变化的数据单元,则将发生变化的数据单元依次进行恢复,未发生变化的数据单元可以直接得到,不用进行编解码恢复。
由于本步骤中需要将接收到的语音数据分成动态数据和静态数据,因此需要对语音数据中含有的动态数据和静态数据区分出来。因此在具体应用实施例时,可以定义一个动态信息标识符(比如:bitmap)来标识动态参数是否有变化,例如:则IP头中的生成期(TTL)是经过路由器才会有变化,如果网络路径每个包都一样,这个是不会变的,这样TTL和头部校验和是都不会变的。因此根据传输机制中对与可能会发生变化的数据单元进行是否发生变化的识别,并根据识别结果区分出动态数据和静态数据。
具体的,所述对接收到的所述语音数据中含有的各个数据单元对应的信息是否发生变化进行识别的步骤包括:
获取动态信息标识符,根据所述动态信息标识符识别出各个发生变化的数据单元;其中,所述动态信息标识符为当检测到传输过程中传输状态符合预设条件则对数据单元发生变化进行标识的标识符,所述预设条件包括:传输过程中传输路径是否发生变化。
在具体进行动态数据的识别中,获取动态信息标识符,根据动态信息标识符得到语音数据中发生变化的数据单元有哪些,再根据各个数据单元之间的变化规则,依次将其他数据包中对应的动态数据进行逐次恢复。
具体的,所述信息接收端对动态数据解压缩后,得到所述语音数据,包括:
根据所述第一预设编码规则对所述IP头的生存期进行解压缩;
根据所述第二预设编码规则对RTP头的序列号和时戳进行解压缩。
分别根据不同的编解码规则对接收到的动态数据进行编解码,从而得到解压缩后的动态数据。
由于UDP包的校验和是无规律的,因此不对其进行编码,直接对其进行传输,由于RTP的序列号的规律是后一个包比前一个包+1,时戳如果是20ms的打包时常是+160,因此可以根据这个规律来只编码序列号(SN)就行了。例如:编码规则是定义1个字节来存储SN2-SN1;其中,SN2-SN1是压缩后的序列号,则当对其进行解压缩时SN1+SN2-SN1.就等于SN2,因此可以得到其压缩前的数据为SN2。
具体的,在进行传输时,由于第一个包内的动态数据和静态数据是完整传输,因此编解码都处于初始态,将静态和动态数据传到解码器解码恢复第一个数据包的内容;而第二个数据包仅传输其动态数据,由于第二数据包对应的动态数据与第一个数据包中含有动态数据之间具有一定的变化规则,则可以根据第二个数据包中对应的动态信息恢复出第二个数据包对应的动态数据,进而得到排列在后的各个数据包对应的动态数据。
基于各个数据包对应的动态数据和第一个数据包中含有的静态数据,便可以恢复出各个数据包,进而得到语音数据。
为了避免传输语音数据出错,提高信息传递的可靠性,所述接收端对动态数据解压缩后与第一个数据包的静态数据相结合,得到所述语音数据的步骤之后,还包括:
对解压缩后得到的语音数据进行校验;
若校验失败,则获取所述待传输语音数据,并重新启动编码器;
将所述待传输语音数据中含有的动态数据重新编码压缩后,传输至接收端。
校验正确性,解码后的数据包使用CRC的运算规则计算CRC,等于CheckSum(解码);如果解码校验失败,则将失败信息通知编码器,编码器切回到初始态,再将当前包的静态信息和动态信息传输;解码成功,返回成功,编码解码维持在正常的编解码状态,反馈通道保证通信内容的可靠。
下面以本发明方法的具体应用实施例为例,对本发明所述方法做进一步的更为详细的论述。
如图5所示,在具体应用实施例中包括以下步骤:
H1、当信息发送端接收到用户发出的语音信息后,则将语音信息依次封装成多个语音数据包。
H2、根据传输过程中IP包头中的各个数据单元是否发生变化,将语音数据包中含有的数据分成动态数据和静态数据,并分别将动态数据和静态数据存储至动态数据区和静态数据区,对对动态数据区内的数据进行编码压缩,并将编码压缩后的动态数据和静态数据打包发送至信息接收端。
具体的,传输中的第一个包将其动态数据和静态数据全部保存到动态数据区和静态数据区,根据前一个数据包和后一个数据包中包头数据结构的特点,在进行第二个的数据包的传输时,仅仅对其中相对应的动态数据进行传输,并且其传输的信息仅仅为前一个数据包中相对应的数据单元与后一个数据包中相对应数据单元之间的变化值。
比如:RTP的序列号是有规律的,后一个包是前一个包+1,所以压缩的数据就是把这个增加的值传过去就可以了。时戳是后一个包是前一个包+160(20ms的打包时长)像TTL这个要是网络路径不变化,TTL就不会变。一般来说,就序列号在变时戳在变。
针对各个数据单元中会发生变化,但是没有变化规律的数据单元,将其直接编码压缩,传输出去。
H3、信息接收端对接收到的数据包进行解压缩,恢复出原数据包,得到语音数据信息。
在上述步骤中对RTP的序列号进行编码,可以设置其编码规则是定义1个字节(Val)来存储SN2-SN1,因此当解码时,SN2=SN1+Val,CheckSum(解码)=CheckSum(编码),恢复时得到原来数据包的SN1+SN2-SN1,便可以得到解码后的数据SN2)。
在具体恢复数据包的过程中,从第一个数据包的静态数据和动态数据就可以按规则恢复出第一个数据包,后面就是传动态的数据,比如SN,按后面一个数据包中包头的各个数据单元与前一个数据包的各个数据单元之间的关联关系,变可以依次恢复出后面各个数据包的包头,从而将各个数据包的包头对应的数据单元均恢复,依次得到个语音数据包的IP头包含的各个数据单元的字段内容。
H4、校验正确性,解码后的数据包使用CRC的运算规则计算CRC,保证语音通道内传输数据包准确性。
如果解码校验失败,则将失败信息通知编码器,编码器切回到初始态,再将当前数据包的静态信息和动态信息传输;解码成功,返回成功,编码解码维持在正常的编解码状态。
本实施例提供的语音数据的传输控制方法,采用静态数据和动态数据相结合的压缩包头的方法,实现只需要少量的字节(本实施例中只需要3个字节)便可以实现将包头传输完整,从而提高了语音数据传输的效率。
本实施例在公开了上述语音数据的传输控制方法的基础上,为了实现上述传输控制方法的顺利进行,本实施例公开了一种卫星通信数据包的压缩测试方法,用于对上述提出的传输控制方法进行检测,尽可能的发现上述控制方法中可能会出现的问题,本实施例提供一种测试方法来验证包头压缩和解压缩的功能,使用该测试方法用于查找上在进行数据包压缩过程中和接压缩过程中可能会出现的问题,并根据发现的问题对控制方法进行调整,从而实现上述控制方法的不断完善。
本实施例提供的卫星通信数据包的压缩测试方法的步骤,如图6所示,包括:
步骤S21、将待测试的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为卫星通信的传输过程中变化的数据,静态数据为卫星通信的传输过程中保持不变的数据。
(1)首先获取用于进行本次测试的数据包。具体实施时,可以根据实际场景抓取rtp包作为基准,修改TTL,SN,Timestamp等字段的数字,或估计丢弃几个包,或重复几个包生成rtpPktIn包,不同的测试用例生成的rtpPktIn的文件是不一样的;
步骤S22、将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包,并将压缩中间包发送至信息接收端。
将rtpPktIn作为输入参数输入给压缩的进程,压缩进程每读一个包输入给compress程序压缩,压缩后的输入写入到rtpPktTemp压缩中间包。
步骤S23、所述信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包。
等压缩进程将rtpPktIn处理完毕得到最终的rtpPktTemp,解压进程读取rtpPktTemp,每读一个解压的包就输入给decompress处理,得到的数据写入到rtpPktOut。
步骤S24、将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果。
当上述步骤S23中进行的解压缩过程完毕后,得到最终的解压缩数据包,本实施例中将其缩写为:rtpPktOut,根据解压缩得到的信息比较压缩前的文件rtpPktIn和解压缩后的文件rtpPktOut,得到压缩解压的工作是否正常,如果异常再回溯程序的处理过程,找出程序的问题,再重复测试。
本实施例公开的测试方法可以模拟现场使用中的丢包,错序,重复包的情况,设计出不同的测试用例,并针对不同的测试结果进行控制程序的调整,从而得到数据包准确传输的效果。
进一步的,所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤,包括:
根据接收到的第一个数据包中保存的动态数据,按照预设解码规则依次恢复得到各个数据包的包头对应的动态数据;
将恢复得到的各个数据包对应包头的动态数据与静态数据相结合得所述解压缩数据包。
进一步的,所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤还包括:
获取动态信息标识符,根据所述动态信息标识符识别出各个动态数据中发生变化的数据单元;其中,所述动态信息标识符为当检测到传输过程中传输状态符合预设条件则对数据单元发生变化进行标识的标识符,所述预设条件包括:传输过程中传输路径是否发生变化。
进一步的,所述将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包的步骤包括:
根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩;
将编码压缩完成后的数据单元保存至动态数据区域,以及将动态数据区域内的动态数据与静态数据打包得到压缩中间包。
获取待检测的多个原始数据包,依次修改各个原始数据包的数据单元中的一个或多个字段,得到原始数据包集;
将设置测试参数不同的测试用例分别与所述原始数据包集中不同的数据包相对应,启动测试进程。
进一步的,所述将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对的步骤之后,还包括:
根据对比结果判断本次测试用例对应的运行程序是否有误;
若有,则输出错误信息,并根据所述错误信息对运行程序进行调整;
使用调整后的运行程序重新对数据包进行压缩测试。
在一种具体的实施方法中,结合如图7所示,其步骤如下:
步骤K1、首先读取文件rtpPktIn的数据包,每读一个数据包输入给compress程序压缩,生成的中间数据写入到rtpPktTemp中间文件,得到压缩生成的rtpPktTemp的中间包。
步骤K2、解压缩的程序读文件rtpPktemp中间包,每读一个包输入给decompress程序解压缩,生成的数据写入到rtpPktOut文件,得到解压缩后的数据包信息。
步骤K3、比较rtpPktIn和rtpPktOut,得到包头压缩和解压缩的状态信息。
上述数据包传输的过程中分别使用compress和decompress两个函数来进行压缩和解压缩处理,根据不同测试用例的不同点来做输入给compress函数rtpPktIn的包,通过compress压缩生成rtpPktTemp的中间包,随后decompress来解压rtpPktemp中间包,最后生成rtpPktOut包,理论上rtpPktIn和rtpPktOut相同。在通过比较rtpPktIn和rtpPktOut这两个文件就可以得出压缩和解压缩的工作情况。
示例性设备
在上述压缩测试方法的基础上,本实施例还公开了一种卫星通信数据包的压缩测试系统,如图8所示,所述系统包括:
数据获取模块810,用于将待测试的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为卫星通信的传输过程中变化的数据,静态数据为卫星通信的传输过程中保持不变的数据;其功能如步骤S21所述。
压缩模块820,用于将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包,并将压缩中间包发送至信息接收端;其功能如步骤S22所述。
解压缩模块830,用于所述信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包;其功能如步骤S23所述。
测试输出模块840,用于将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果,其功能如步骤S24所述。
在上述方法的基础上,本实施例还公开了一种终端设备,包括处理器、与处理器通信连接的存储介质,存储介质适于存储多条指令;处理器适于调用存储介质中的指令,以执行所述卫星通信数据包的压缩测试方法的步骤。
具体的,如图9所示,显示设备包括至少一个处理器(processor)20以及存储器(memory)22,还可以包括显示屏21、通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行实现上述所述的卫星通信数据包的压缩测试方法的步骤。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的卫星通信数据包的压缩测试方法的步骤。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
另一方面,本实施例还公开了一种计算机可读存储介质,其中,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如所述的卫星通信数据包的压缩测试方法的步骤。
本发明实施例主要以下重点:
1.第1阶段是编解码都处于初始态,将静态数据和动态数据传到解码器解码恢复第一个数据包的内容;
2.第二阶段传动态数据(压缩)给对端解码,恢复各个数据包中含有的数据;具体动态的数据是否有改变是由bitmap来标识的;
3.解码出错(CRC算错),通过后向通道将结果传给编码器,将编码器重新置为初始,再重传出错的包,然后再进入正常的编码解码状态。
4.为了提高处理效率,解码正常的包不需要后向通道通知解码器。
本发明提供了一种卫星通信数据包的压缩测试方法、系统及设备,通过对待传输的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为传输过程中变化的数据,静态数据为传输过程中保持不变的数据;将所述动态数据压缩后与静态数据打包得到压缩中间包;信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包,将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果。从而得到压缩传输前数据包与传输后解压缩得到的数据包之间的差别,判断出传输前后数据包是否发生丢包,错序,重复包等情况,获取到了语音信息传输的状态信息,为确保语音信息的准确传输提供了技术支持。
可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
Claims (7)
1.一种卫星通信数据包的压缩测试方法,其特征在于,包括:
将待测试的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为卫星通信的传输过程中变化的数据,静态数据为卫星通信的传输过程中保持不变的数据;
将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包,并将压缩中间包发送至信息接收端;
所述信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包;
将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果;
所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤,包括:
根据接收到的第一个数据包中保存的动态数据,按照预设解码规则依次恢复得到各个数据包的包头对应的动态数据;
将恢复得到的各个数据包对应包头的动态数据与静态数据相结合得所述解压缩数据包;
所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤还包括:
获取动态信息标识符,根据所述动态信息标识符识别出各个动态数据中发生变化的数据单元;其中,所述动态信息标识符为当检测到传输过程中传输状态符合预设条件则对数据单元发生变化进行标识的标识符,所述预设条件包括:传输过程中传输路径是否发生变化;
所述数据单元包括:IP头的生存期和包头校验和、UDP头的校验和、RTP头包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包的步骤包括:
根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩;
将编码压缩完成后的数据单元保存至动态数据区域,以及将动态数据区域内的动态数据与静态数据打包得到压缩中间包;
解码后的数据包使用CRC的运算规则计算CRC,保证语音通道内传输数据包准确性;
如果解码校验失败,则将失败信息通知编码器,编码器切回到初始态,再将当前数据包的静态信息和动态信息传输;解码成功,返回成功,编码解码维持在正常的编解码状态如果解码校验失败,则将失败信息通知编码器,编码器切回到初始态,再将当前数据包的静态信息和动态信息传输;解码成功,返回成功,编码解码维持在正常的编解码状态。
2.根据权利要求1所述的方法,其特征在于,所述根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩的步骤,包括:
若IP头的生存期发生变化,则按照与其对应的第一预设编码规则对其进行编码压缩;
将RTP头的序列号和时戳变化前与变化后的变化值,按照第二预设编码规则进行编码压缩。
3.根据权利要求2所述的方法,其特征在于,所述将待测试的数据包的包头数据分为动态数据和静态数据的步骤之前,还包括:
获取待检测的多个原始数据包,依次修改各个原始数据包的数据单元中的一个或多个字段,得到原始数据包集;
将设置测试参数不同的测试用例分别与所述原始数据包集中不同的数据包相对应,启动测试进程。
4.根据权利要求3所述的方法,其特征在于,所述将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对的步骤之后,还包括:
根据对比结果判断本次测试用例对应的运行程序是否有误;
若有,则输出错误信息,并根据所述错误信息对运行程序进行调整;
使用调整后的运行程序重新对数据包进行压缩测试。
5.一种卫星通信数据包的压缩测试系统,其特征在于,包括:
数据获取模块,用于将待测试的数据包的包头数据分为动态数据和静态数据,其中,所述动态数据为卫星通信的传输过程中变化的数据,静态数据为卫星通信的传输过程中保持不变的数据;
压缩模块,用于将各个数据包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包,并将压缩中间包发送至信息接收端;
解压缩模块,用于所述信息接收端对所述压缩中间包进行解压缩,并将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包;
测试输出模块,用于将所述解压缩数据包中含有的数据信息与所述解压缩数据包中含有各个数据包的数据信息进行比对,判断是否一致,并输出判断结果;
所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤,包括:
根据接收到的第一个数据包中保存的动态数据,按照预设解码规则依次恢复得到各个数据包的包头对应的动态数据;
将恢复得到的各个数据包对应包头的动态数据与静态数据相结合得所述解压缩数据包;
所述将解压缩得到的动态数据与所述第一个数据包的静态数据相结合,得到各个数据包对应的解压缩数据包的步骤还包括:
获取动态信息标识符,根据所述动态信息标识符识别出各个动态数据中发生变化的数据单元;其中,所述动态信息标识符为当检测到传输过程中传输状态符合预设条件则对数据单元发生变化进行标识的标识符,所述预设条件包括:传输过程中传输路径是否发生变化;
所述数据单元包括:IP头的生存期和包头校验和、UDP头的校验和、RTP头包对应的所述动态数据压缩后与第一个数据包的静态数据打包得到压缩中间包的步骤包括:
根据与各个数据单元对应的编码规则,依次将各个发生变化的数据单元进行编码压缩;
将编码压缩完成后的数据单元保存至动态数据区域,以及将动态数据区域内的动态数据与静态数据打包得到压缩中间包;
解码后的数据包使用CRC的运算规则计算CRC,保证语音通道内传输数据包准确性;
如果解码校验失败,则将失败信息通知编码器,编码器切回到初始态,再将当前数据包的静态信息和动态信息传输;解码成功,返回成功,编码解码维持在正常的编解码状态如果解码校验失败,则将失败信息通知编码器,编码器切回到初始态,再将当前数据包的静态信息和动态信息传输;解码成功,返回成功,编码解码维持在正常的编解码状态。
6.一种终端设备,其特征在于,包括处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,以执行实现上述权利要求1-4任一项所述的卫星通信数据包的压缩测试方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-4任一项所述的卫星通信数据包的压缩测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110789440.XA CN113612516B (zh) | 2021-07-13 | 2021-07-13 | 一种卫星通信数据包的压缩测试方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110789440.XA CN113612516B (zh) | 2021-07-13 | 2021-07-13 | 一种卫星通信数据包的压缩测试方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113612516A CN113612516A (zh) | 2021-11-05 |
CN113612516B true CN113612516B (zh) | 2023-05-12 |
Family
ID=78337508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110789440.XA Active CN113612516B (zh) | 2021-07-13 | 2021-07-13 | 一种卫星通信数据包的压缩测试方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113612516B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070471B (zh) * | 2021-11-29 | 2023-11-21 | 广州禹迹科技有限公司 | 一种测试数据包传输方法、装置、系统、设备和介质 |
CN116032732A (zh) * | 2023-03-27 | 2023-04-28 | 北京全路通信信号研究设计院集团有限公司 | 一种铁路货运系统信息传输方法、系统、设备和介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506060B2 (en) * | 2001-12-11 | 2009-03-17 | Hewlett-Packard Development Company, L.P. | Technique for reducing network bandwidth for delivery of dynamic and mixed content |
US7417570B2 (en) * | 2006-07-31 | 2008-08-26 | Sap Ag | Lossless comparative compression and transmission method and system |
CN1913531B (zh) * | 2006-08-25 | 2012-03-21 | 华为技术有限公司 | 一种tcp/ip包头的传输方法、压缩方法和装置 |
CN102375884A (zh) * | 2011-10-21 | 2012-03-14 | 北京百度网讯科技有限公司 | 一种用于对页面访问对象进行数据压缩的方法及设备 |
CN103516598A (zh) * | 2012-06-15 | 2014-01-15 | 中兴通讯股份有限公司 | 报文的发送方法及装置 |
CN104283777B (zh) * | 2013-07-03 | 2018-08-21 | 华为技术有限公司 | 报文压缩的方法和装置 |
US9374443B2 (en) * | 2013-07-11 | 2016-06-21 | Qualcomm Incorporated | Method and apparatus for efficient packet compression |
CN106033448A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Html页面压缩方法及装置 |
CN106230646B (zh) * | 2016-09-05 | 2019-05-17 | 深圳震有科技股份有限公司 | 一种获取网管告警信息的方法及测试系统 |
CN111510156A (zh) * | 2020-06-03 | 2020-08-07 | 合肥师范学院 | 一种基于分段的哈夫曼动态压缩及解压大文件的方法 |
CN112769705A (zh) * | 2020-12-01 | 2021-05-07 | 北京电子工程总体研究所 | 一种适用于小型局域网的VoIP报头压缩方法 |
-
2021
- 2021-07-13 CN CN202110789440.XA patent/CN113612516B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113612516A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113612516B (zh) | 一种卫星通信数据包的压缩测试方法、系统及设备 | |
CN101061659B (zh) | 自适应前向纠错的方法和设备 | |
US8718098B2 (en) | Method for compressing and decompressing time stamp and equipment thereof | |
KR101649374B1 (ko) | 가속화된 처리율을 달성하는 시스템 및 방법 | |
JP5778672B2 (ja) | バックワードルッキングロバストヘッダ圧縮レシーバ | |
CN107257270B (zh) | 基于混合自动重传请求的数据传输方法及系统 | |
US7266118B2 (en) | Packet receiving apparatus and packet transmission method | |
US8683301B2 (en) | Error correction coding for recovering multiple packets in a group in view of limited bandwidth | |
CN108847248B (zh) | 蓝牙设备音频处理方法、系统、可读存储介质和蓝牙设备 | |
CN113364508B (zh) | 一种语音数据的传输控制方法、系统及设备 | |
KR100555187B1 (ko) | 무선 통신방법 및 무선 통신장치 | |
CN112636880B (zh) | 侧信道重传高可靠超高清视频卫星传输系统 | |
CN110620637B (zh) | 一种基于fpga的数据解压装置及方法 | |
KR20130039866A (ko) | 통신 시스템에서 순방향 에러 정정 패킷을 송수신하는 방법 및 장치 | |
CN111371887B (zh) | 物联网日志传输方法、客户端、服务端、设备及存储介质 | |
CN113810769A (zh) | 数据传输方法及系统 | |
CN101453463A (zh) | 一种移动多媒体广播系统的数据包封装、发送和接收方法 | |
CN109428676B (zh) | 一种前向纠错编解码模式的同步方法及装置 | |
RU2646346C2 (ru) | Устройство и способ передачи и приема пакета с прямой коррекцией ошибок | |
KR20130098409A (ko) | 압축해제 방법 및 장치 | |
JP2007324876A (ja) | データ送信装置、データ受信装置、データ送信方法、データ受信方法、及びプログラム | |
JP2002344430A (ja) | 通信方式ならびに送信装置、受信装置およびこれらを備えた通信システム | |
CN108574684B (zh) | 一种解压缩的方法和装置 | |
CN108833018B (zh) | 一种组网通信系统及方法 | |
CN108737349B (zh) | 一种语音数据包的处理方法及装置 |
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 |