一种基于北斗短报文的多元异构数据编码及组帧方法与流程

未命名 08-24 阅读:269 评论:0


1.本技术属于卫星技术领域,尤其涉及一种基于北斗短报文的多元异构数据编码及组帧方法。


背景技术:

2.北斗卫星导航系统(以下简称北斗系统)是现有全球使用的卫星导航系统之一,为全球用户提供全天候、全天时、高精度的定位、导航和授时服务的时空基础设施。北斗系统提供服务以来,已在交通运输、农林渔业、水文监测、气象测报、通信授时、电力调度、救灾减灾、公共安全等领域得到广泛应用,服务多个重要基础设施,产生了显著的经济效益和社会效益。北斗短报文服务是北斗卫星导航系统基于卫星无线电定位系统(radio determination satel-lite system,rdss)提供的一种双向报文通信服务,是北斗卫星导航系统的重要服务之一。目前,北斗短报文通信已面向大众用户提供服务。而随着使用的用户越来越多,发送数据的类型也随之增加,通过北斗卫星发送的北斗短报文不仅包含文本类型的数据,在部分应用场景下,用户还需要通过北斗短报文发送图片、语音等数据量较大的数据。
3.然而,现有的卫星报文的发送技术,北斗卫星系统在发送北斗短报文时,对于北斗短报文的报文长度有限制,语音、图像等数据往往会超出北斗短报文的长度限制,并且不同数据类型有对应的传输格式以及传输协议,从而导致通过北斗短报文发送不同类型的数据时,采用的不同的报文格式,对超出长度限制的数据进行分包,生成不同类型的数据报文,从而大大增加了发送终端以及接收终端的对于报文的处理难度,降低了通信效率。


技术实现要素:

4.本发明要解决的技术问题是:提供一种基于北斗短报文的多元异构数据编码及组帧方法,以解决现有的卫星报文的发送技术,发送不同类型的数据时,采用的不同的报文格式,对超出长度限制的数据进行分包,生成不同类型的数据报文,从而大大增加了发送终端以及接收终端的对于报文的处理难度,降低了通信效率的问题。
5.本发明技术方案是:
6.一种基于北斗短报文的多元异构数据编码及组帧方法,应用于发送终端,所述方法包括:
7.响应于目标数据的发送请求,生成若干分包数据帧;所述分包数据帧包括帧头部分以及数据部分;所述数据部分是根据目标数据的数据类型对应的数据格式生成的;所述帧头部分记录了分包数据帧的分包信息;分包数据帧是基于北斗短报文封装的;分包数据帧支持多元异构数据编码;
8.根据若干分包数据帧的分包信息,依次发送若干分包数据帧给北斗卫星,以通过北斗卫星将若干分包数据帧转发给接收终端。
9.所述帧头部分包括:控制域以及帧序列号;
10.所述响应于目标数据的发送请求,生成若干分包数据帧,包括:
11.根据北斗短报文对应的单次发送的最大数据量,将目标数据划分为若干数据块;每个数据块的数据量不大于最大数据量;
12.分别将各个数据块添加到预设帧模板内的数据部分;
13.将所有添加了数据块的预设帧模板中的控制域的功能码设置为第一位值,以及将帧序列号设置为与目标数据对应的序列编号,生成若干分包数据帧。
14.分别将各个数据块添加到预设帧模板内的数据部分,包括:
15.若目标数据的数据类型为文本类型,则将数据部分内的数据类型标识设置为第一位值,并根据目标数据的加密方式,设置数据部分的加密字段,将数据块添加到数据部分的字符数据字段。
16.所述分别将各个数据块添加到预设帧模板内的数据部分,包括:
17.若目标数据的数据类型为图像类型,则将数据类型标识设置为第二位值,并根据目标数据的压缩方式,设置数据部分的格式字段,将数据块添加到数据部分的像素数据字段。
18.所述分别将各个数据块添加到预设帧模板内的数据部分,包括:
19.若目标数据的数据类型为音频类型,则将数据类型标识设置为第三位值,并根据目标数据的编码码率,设置数据部分的编码字段,将数据块添加到数据部分的音频数据字段;
20.若目标数据的数据类型为其他类型,则将数据类型标识设置为第四位值,并将数据块添加到数据部分的应用数据字段。
21.一种基于北斗短报文的多元异构数据编码帧的解析方法,应用于接收终端,接收方法包括:
22.接收北斗卫星转发的若干分包数据帧;若干分包数据帧是发送终端发送给北斗卫星的;若干分包数据帧包括帧头部分以及数据部分;分包数据帧是基于北斗短报文封装的;分包数据帧支持多元异构数据编码;
23.根据数据部分确定分包数据帧对应的数据类型,并获取数据类型对应的数据格式;
24.基于数据格式对若干分包数据帧进行解析,得到目标数据。
25.根据数据部分确定分包数据帧对应的数据类型,并获取数据类型对应的数据格式,包括:
26.若帧头部分内控制域的功能码为第一位值,则识别数据部分的第一字节为数据类型标识;
27.若数据类型标识为第一位值,则分包数据帧对应的数据类型为文本类型,从数据部分提取加密字段,根据加密字段确定分包数据帧的数据块对应的加密方式,通过加密方式对所述数据块进行处理,得到文本数据.
28.若帧头部分内控制域的功能码为第一位值,则识别数据部分的第一字节为数据类型标识之后,包括:
29.若数据类型标识为第二位值,则数据类型为图像类型,从数据部分提取格式字段,根据格式字段确定分包数据帧的数据块对应的图像格式,通过图像格式对数据块进行处
理,得到像素数据。
30.若帧头部分内控制域的功能码为第一位值,则识别数据部分的第一字节为数据类型标识之后,包括:
31.若数据类型标识为第三位值,则数据类型为音频类型,从数据部分提取编码字段,根据编码字段确定分包数据帧的数据块对应的编码码率,通过编码码率对数据块进行处理,得到音频数据;
32.若数据类型标识为第四位值,则数据类型为其他类型,则通过预设的解析算法对分包数据帧的数据块进行处理,得到其他数据;
33.所述文本数据、图像数据、音频数据以及其他数据,用于合成所述目标数据。
34.一种终端设备,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时所述发送方法的步骤,或所述接收方法的步骤。
35.本发明有益效果是:
36.在发送终端需要通过北斗卫星转发携带有某一类型的应用数据时,确定该应用数据对应的数据类型,并该数据类型确定分包数据帧中数据部分的数据格式,并将目标数据通过与上述数据格式对应的帧模板进行封装,得到若干分包数据帧,其中该分包数据帧中的帧头部分记录有每个分包数据帧的分包信息,发送终端可以通过该分包信息依次发送若干分包数据帧给北斗卫星,以实现通过北斗卫星进行数据转发的目的。与现有的卫星报文技术相比,本技术实施例中的北斗短报文中的分包数据帧,是一种兼容了不同格式的帧格式,即对于不同的类型的数据,其分包数据帧均包含有帧头部分以及数据部分,而数据部分可以根据数据格式进行自定义设置,发送终端无需为不同的类型的数据配置新的帧模板,而是可以采用归一化的编码技术以及组帧技术进行处理,从而大大降低了发送终端以及接收终端对于北斗短报文的处理难度,继而提高了通讯效率。
附图说明
37.图1是本技术一实施例提供的北斗卫星系统的示意图;
38.图2是本技术一实施例提供的终端设备的接收示意图;
39.图3是本技术一实施例提供的基于北斗短报文的分包数据帧的数据流示意图;
40.图4是本技术一实施例提供的一种基于北斗短报文的多元异构数据编码及组帧方法的交互流程图;
41.图5是本技术一实施例提供的s401的具体实现流程图;
42.图6是本技术一实施例提供的目标数据分包的逻辑示意图;
43.图7是本技术另一实施例提供的一种基于北斗短报文的多元异构数据编码及组帧方法的实现流程图;
44.图8是本技术实施例提供的基于北斗短报文的多元异构数据编码及组帧装置的结构示意图;
45.图9是本技术实施例提供的基于北斗短报文的多元异构数据编码帧的解析装置的结构示意图;
46.图10是本技术实施例提供的终端设备的结构示意图。
具体实施方式
47.本技术实施例提供的基于北斗短报文的多元异构数据编码及组帧方法可以应用于北斗卫星系统。示例性地,图1示出了本技术一实施例提供的北斗卫星系统的示意图。参见图1所示,该北斗卫星系统包括:北斗卫星以及至少两个终端设备,可选地,该北斗卫星系统还可以包括一个后台控制中心,该后台控制中心可以通过天线雷达收发北斗短报文。其中,上述用户终端包括但不限于:智能手机、智能手表、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本等能够需要实现基于北斗短报文的数据传输的电子设备。本技术实施例对电子设备的具体类型不作任何限制。
48.其中,上述两个终端设备中,终端设备1具体可以为一发送终端,终端设备2具体可以为一接收终端。当然,在部分实现场景中,终端设备1也可以为一接收终端,终端设备2可以为一发送终端。同样地,后台控制中心也可以为一发送终端,也可以为一接收终端。以终端设备1为发送终端为例进行说明,终端设备1可以将所需要的目标数据进行封装,得到多个分包数据帧,并将每个分包数据帧以北斗短报文的形式发送给北斗卫星,北斗卫星在接收到分包数据帧后,可以将其转发给对应的接收终端,如终端设备2。
49.示例性地,图2示出了本技术一实施例提供的终端设备的接收示意图。参见图2所示,该终端设备可以为图1中的终端设备1或终端设备2,即可以为一发送终端也可以为一接收终端。在此不作限定。其中,该终端设备包括有北斗短报文模块和无线组网模块(无线组网模块可以包括:蓝牙模块、wifi模块、射频通信模块等),终端设备可以独立使用,接收和发送北斗短报文。该终端设备还包括文本模块、音频模块以及图像模块等,以获取不同类型的数据。其中,音频模块、图像模块、文本模块采集得到对应类型的原始数据后,先经过模块内置的编码压缩算法,最终输出多源的异构的目标数据,终端设备对多源异构的目标数据进行归一化编码处理,即通过中央处理模块进行处理,得到具有统一数据编码结构的分包数据帧,通过北斗短报文模块进行发送。
50.当终端设备作为接收终端时,通过归一化编码的解码算法对接收到的分包数据帧进行处理,还原出原来的文本、音频、图像等不同类型的数据。
51.终端设备可通过北斗短报文模块发送到另一终端设备或后端控制中心。同样地,后台控制中心进行数据收发的过程,也可以参见上述方式实现。
52.示例性地,图3示出了本技术一实施例提供的基于北斗短报文的分包数据帧的数据流示意图。参见3所示,不同类型的数据模块,如文本数据模块、图形数据模块、音频数据模块以及其他数据模块,可以对原始数据进行处理,得到对应的目标数据,如文本数据、图像压缩数据、音频编码数据以及其他数据,通过中央处理器中的归一化编码处理以及信息帧处理两个模块,输出得到对应的分包数据帧,该分包数据帧是基于北斗短报文封装的,因此可以通过北斗短报文模块将得到的北斗短报文进行发送给北斗卫星。同样地,接收过程为上述发送过程的逆过程,具体实现可以参见上述描述,在此不再赘述。
53.请参阅图4,图4示出了本技术实施例提供的一种基于北斗短报文的多元异构数据编码及组帧方法的实现示意图,该方法包括如下步骤:
54.在s401中,发送终端响应于目标数据的发送请求,生成若干分包数据帧;所述分包数据帧包括帧头部分以及数据部分;所述数据部分是根据所述目标数据的数据类型对应的数据格式生成的;所述帧头部分记录了所述分包数据帧的分包信息;所述分包数据帧是基
于北斗短报文封装的。
55.在本实施例中,发送终端需要通过北斗卫星发送目标数据时,需要对目标数据进行归一化编码处理,得到若干分包数据帧。其中,该分包数据帧是基于北斗短报文封装得到的。该分包数据帧具体包括有帧头部分以及数据部分。帧头部分可以用于存储该分包数据帧的分包信息,而数据部分可以用于记录该目标数据的数据类型以及与目标数据相关的数据块。
56.进一步地,作为本技术的另一实施例,图5示出了本技术一实施例提供的s401的具体实现流程图。参见图5所示,与图4的实施例相比,本技术实施例中的s401具体可以包括s 4011~s4013,具体描述如下:
57.所述帧头部分包括:控制域以及帧序列号;所述响应于目标数据的发送请求,生成若干分包数据帧,包括:
58.在s4011中,发送终端根据北斗短报文对应的单次发送的最大数据量,将所述目标数据划分为若干数据块;每个所述数据块的数据量不大于所述最大数据量。
59.在本实施例中,由于北斗短报文具有长度限制,因此发送终端将目标数据进行封装为分包数据帧之前,需要判断该目标数据的数据量是否超出了帧格式中应用数据可存储的最大数据流,即判断目标数据是否超出了长度限制。若是,则需要将目标数据划分为两个以上的分包数据帧进行发送,若否,则可以通过一个分包数据帧进行发送。
60.在一种可能的实现方式中,若发送终端需要发送给两个或以上的目标数据,而每个目标数据均小于预设的长度限制,则可以将两个或以上的目标数据进行合包处理,即两个目标数据可以封装到统一个分包数据帧内。示例性地,若上述的最大数据量为2mb,而每个目标数据的数据量为0.5mb,则可以将4个目标数据封装在同一个分包数据帧内,从而实现合包发送。
61.示例性地,图6示出了本技术一实施例提供的目标数据分包的逻辑示意图。参见图6所示,上述分包发送的逻辑具体包括以下步骤:
62.步骤1:发送终端按照分包数据帧的帧结构将获取的目标数据进行编码生成帧结构的开销部分以及目标数据的数据内容部分,上述两个部分的数据总量具体为a个字节;
63.步骤2:发送终端查询关联的北斗卫星的单条北斗短报文的传输上限,即最大数据量,具体为n个字节;
64.步骤3:发送终端若检测到a《=n,则通过单条北斗短报文消息即可发送完成该目标数据,反之,若a>n,则终端设备会目标数据进行分包,得到m个分包数据帧,按照分包序号逐条发送,即从数据包1~m逐条发送。
65.在本实施例中,发送终端在识别得到该目标数据需要进行分包发送时,可以生成对应的分包信息,并记录于帧头部分内。其中,该帧头部分包括有控制域以及帧序列号。上述属于同一个目标数据的多个分包数据帧,对应的帧序列号相同,以便后续将帧序列号相同解析得到的数据块进行合并,从而还原得到对应的目标数据。
66.示例性地,表1示出了本技术一实施例提供的分包数据帧的帧结构的示意图。参见表1所示,该分包数据帧包含以下五个部分。分别为起始符、帧头部分、数据部分、帧尾以及终止符,其中各个部分的内容具体如下:
[0067][0068]
表1
[0069]
1.起始符
[0070]
起始符具体用于标识一个分包数据帧的开始,该起始符由标识符和分隔符组成。
[0071]
1.1标识符
[0072]
标识符表示一个分包数据帧的开始,示例性地,该标识符可以是固定值为$bdmmx,标识该分包数据帧为多源异构的数据报文。
[0073]
1.2分隔符
[0074]
分隔符用于进行内容分隔,示例性地,该分隔符可以是一个逗号(ascii码0x2c),以通知该字符后面的内容为分包数据帧内的实际内容。
[0075]
2.帧头部分
[0076]
帧头部分用于标识该分包数据帧的主要信息,包括控制域、分包信息、帧序列号以及长度域l
[0077]
2.1控制域
[0078]
控制域由1字节组成,采用bin编码。
[0079][0080]
sub分包标识:标志该目标数据是否存在分包,sub=0不分包,sub=1分包;即上述目标数据对应的a≤n时,上述sub为0,而当目标数据的a>n时,上述sub为1。
[0081]
bgp起始包:sub=1时有效,bgp=1标志该分包数据帧为起始包,而当bgp=0标志该分包数据帧并非起始包;而sub=0时,bgp=0,即不需要区分起始包或结束包;
[0082]
edp结束包:sub=1时有效,edp=1标志该分包数据帧为结束包,而当edp=0标志该分包数据帧并非结束包;sub=0时,edp=0,即不需要区分起始包或结束包;
[0083]
ack反馈模式:由于北斗短报文存在一定的丢包率,为了确保目标数据的完整性,针对部分类型的目标数据需接收终端确认是否发生丢包,即0代表接收终端不用做出反馈,
发送终端只负责发送,发完该目标数据后,则将该目标数据从队列中删除;1代表接收终端需对接收的目标数据进行反馈,此时该目标数据在发送完毕后,会记录于该队列内,当接收终端确认接收到该目标数据后,再进行删除。
[0084]
fun功能码:定义如表2所示,其中,当功能码为0时,则表示该分包数据帧并非用于传输数据,而是用于进行确认应答。例如发送终端发送一个ack为1的分包数据帧给接收终端。接收终端在接收到该目标数据后,可以反馈一个上述功能码为1的反馈帧给发送终端,以通知发送终端已经接收到上述目标数据。而当功能码为1时,即上述为第一位值时,则表示该分包数据帧具体用于传输多源异构的应用数据;而当功能码为2时,即第二位值时,则表示该分包数据帧为一丢包反馈数据帧。
[0085]
功能码服务类型应用说明0确认/否定用于报文的确认或否定1应用数据用于进行多源异构数据传输2丢包反馈接收方反馈丢包情况3~15备用 [0086]
表2
[0087]
2.2分包信息
[0088]
分包信息长度为2字节,如表2所示,采用bin编码,标识该分包数据帧对应的包序列号,最大可拆分65535个分包。
[0089]
d7d6d5d4d3d2d1d0d15d14d13d12d11d10d9d8
[0090]
表3
[0091]
需要通过控制域判断,分包标识为1,表示报文进行分包时存在,不分包时省略该分包信息内携带的内容。
[0092]
2.3帧序列号
[0093]
帧序列号长度为2字节,采用bin编码,作为目标数据的数据编号,即目标数据的唯一标识,如果目标数据存在是分包报文,同一目标数据拆分的分包数据帧,其对应的帧序列号相同。
[0094]
当目标数据的个数增加时,例如发送两个文本数据,则可以增加该帧序列号,发送终端根据目标数据的发送次序依次增加帧序列号,接收终端可根据帧序列号是否连续判断是否丢包。最大支持65535,达到最大值后重置为0重新开始。
[0095]
2.4长度域l
[0096]
长度域l由2字节组成,如表4所示,采用bin编码。
[0097]
d7d6d5d4d3d2d1d0d15d14d13d12d11d10d9d8
[0098]
表4
[0099]
数据长度l采用bin编码,是用户数据的字节总数。
[0100]
3.数据部分
[0101]
该部分具体用于存储目标数据划分得到的数据块。
[0102]
4.帧校验字段
[0103]
帧校验字段可以是采用循环冗余校核(cyclic redundancy check,crc)得到的校验字段,也可以通过其他校验技术生成,该帧校验字段具体为2字节,是对分包数据帧中除起始符、结束符和帧尾部分外的其他内容进行校验,校验算法可以根据发送终端与接收终端共同约定,在此不作限定。
[0104]
5.结束符
[0105]
结束符标志一个分包数据帧的结束。固定值为《cr》《lf》,其内容可以表示为如表5的多种形式。
[0106]
字符十六进制十进制备注《cr》0d13回车《lf》0a10换行
[0107]
表5
[0108]
在s4012中,发送终端分别将各个所述数据块添加到预设帧模板内的所述数据部分。
[0109]
在本实施例中,发送终端将目标数据划分为多个数据块后,可以将数据块存储于上述的数据部分。其中,该数据部分包括有两个部分,分别为数据类型部分以及数据内容部分。发送终端根据目标数据的数据类型设置数据类型标识。
[0110]
在s4013中,发送终端将所有添加了所述数据块的所述预设帧模板中的所述控制域的功能码设置为第一位值,以及将所述帧序列号设置为与所述目标数据对应的序列编号,生成所述若干分包数据帧。
[0111]
在本实施例中,发送终端在需要传输多源异构的数据时,可以将上述控制域的功能码设置为第一位值,如上所述,可以设置为1,并将该目标数据内所有分包(即若干分包数据帧)对应的帧序列号可以统一设置为相同的值,该数值是与目标数据的序列编号相同。
[0112]
其中,根据目标数据的数据类型不同,在生成分包数据帧时可以划分为以下四种情况:
[0113]
情况1:文本类型的目标数据
[0114]
若所述目标数据的数据类型为文本类型,则将所述数据部分内的数据类型标识设置为第一位值,并根据所述目标数据的加密方式,设置数据部分的加密字段,将所述数据块添加到所述数据部分的字符数据字段。
[0115]
在本实施例中,在目标数据为文本类型的数据时,其数据部分的格式具体可以如表6所示。
[0116][0117]
表6
[0118]
数据类型标识(文本类型对应的第一位值):1个字节,固定值0x01,即第一位值,当数据类型标识0x01时,表示该目标数据对应的数据类型为文本类型。
[0119]
加密方式:1个字节,标识后面文本字符数据对应的加密方式,示例性地,该字节的不同位值可以对应不同的加密方式,具体如下:当加密方式为0x00时,表示为明文,未加密;当加密方式为0x06时,表示文本字符数据采用aes加密;当加密方式为0x07时,表示文本字符数据采用des加密;当加密方式为0x08时,表示文本字符数据采用国密sm4加密。
[0120]
文本字符数据:文本字符原文(即数据块)或对数据块进行加密后的数据。
[0121]
情况2:图像类型的目标数据
[0122]
若所述目标数据的数据类型为图像类型,则将所述数据类型标识设置为第二位值,并根据所述目标数据的压缩方式,设置数据部分的格式字段,将所述数据块添加到所述数据部分的像素数据字段。
[0123]
在本实施例中,北斗短报文终端支持图像类型的目标数据进行上传,图片格式数据通常会比较大,难以使用单条短报文进行传输,因此,对于图片类型的目标数据,可以先经过编码压缩再进行分包,接收终端在接收到分包数据帧后,可以将编码后的数据可通过渐进式解码还原,得到对应的目标数据。
[0124]
其中,在目标数据为图像类型的数据时,其数据部分的格式具体可以如表7所示。
[0125][0126]
表7
[0127]
数据类型标识(图像类型对应的第一位值):1个字节,固定值0x02,即第二位值,当数据类型标识0x02时,表示该目标数据对应的数据类型为图像类型。
[0128]
格式字段包括图片格式以及编码压缩方式两个部分。
[0129]
图片格式:1字节,示例性地,该字节的内容为1时,表示该图像为bpm格式,该字节的内容为2时,表示该图像为jpg格式。
[0130]
编码压缩:1字节,示例性地,该字节的内容为1时,表示图片经过算法编码压缩,示例性地,该字节的内容为0时,表示图片未进行编码压缩。
[0131]
图片编码后内容信息:图片数据经过算法编码后的数据块,可进行任意长度的拆分分包,并进行渐进式解码还原。
[0132]
情况3:音频类型的目标数据
[0133]
若所述目标数据的数据类型为音频类型,则将所述数据类型标识设置为第三位值,并根据所述目标数据的编码码率,设置数据部分的编码字段,将所述数据块添加到所述数据部分的音频数据字段。
[0134]
在本实施例中,北斗短报文终端支持音频类型的目标数据上传,音频格式数据通常会比较大,难以使用单条短报文进行传输,因此可以先经过算法进行编码压缩,压缩后数据可进行解码还原;编码所选择的码率应在保证编码后数据不超出当前北斗短报文的最大值范围的情况,选择最高的编码率。
[0135]
其中,在目标数据为音频类型的数据时,其数据部分的格式具体可以如表8所示。
[0136][0137]
表8
[0138]
数据类型标识(音频类型对应的第三位值):1个字节,固定值0x03,即第三位值,当数据类型标识0x03时,表示该目标数据对应的数据类型为音频类型。
[0139]
编码码率:1字节,可选地,为了减少该字节的长度,可以根据实际编码码率除以10后的值作为该编码率的值,码率常用值包括2400、1200、700、450。
[0140]
编码压缩:1字节,1表示音频经过算法编码压缩,0表示音频未进行编码压缩;
[0141]
音频编码后内容信息:目标数据划分得到的数据块经过算法编码后的据。
[0142]
情况4:其他类型的目标数据
[0143]
若所述目标数据的数据类型为其他类型,则将所述数据类型标识设置为第四位值,并将所述数据块添加到所述数据部分的应用数据字段。
[0144]
在本实施例中,北斗短报文的帧格式内还保留用于上传其他类型的数据报文的格式,发送终端只负责数据发送,接收终端可以可自行进行解析。其中,在目标数据为其他类型的数据时,其数据部分的格式具体可以如表9所示。
[0145][0146]
表9
[0147]
数据类型标识(其他类型对应的第四位值):1个字节,固定值0x04,即第四位值,当数据类型标识0x04时,表示该目标数据对应的数据类型为其他类型。
[0148]
其他数据内容信息:传输字节数组数据,没有格式要求,接收终端自行进行解析。
[0149]
在一种可能的实现方式中,可以通过减少控制域中的起始包、结束包参数,增加压缩标识以及加密标识,定义如下:
[0150]
压缩标识zip:zip=0:表示分包数据帧内的数据内容没用经过压缩算法压缩;zip=1:表示分包数据帧内的数据内容经过压缩算法压缩;
[0151]
加密标识esam:esam=0:表示分包数据帧内的数据内容没用经过加密算法加密;esam=1:表示分包数据帧内的数据内容经过加密算法加密;
[0152]
在一种可能的实现方式中,分包信息里可以增加最大包号信息,占用2个字节。
[0153]
上述两种实现方式通过增加了压缩、加密等控制参数,从而接收方不用等待末尾包,收到第一个包时就能获得分包总数,可在收到末尾包前就开始进行缺包漏包的预统计处理,反馈补包时也能准确的反馈缺包的序列号,提升处理效率,但是上述两种方式增加了字节数,编码效率变低,同时接收方进行缺包预处理会增加资源消耗。因此,在实际应用过程中,可以根据实际需求对目标数据进行编码和组帧,区别在于编码格式如何在编码效率和传输之间进行取舍。
[0154]
在本技术实施例中,通过在分包数据帧的帧头部分以及数据部分的数据类型标识进行设置不同位值,能够确定数据部分的数据格式,并根据数据类型对应的数据格式进行数据封装,得到能够适用多源异构数据的分包数据帧,进行归一化编码,提高了接收终端以及发送终端的数据处理效率。
[0155]
在s402中,发送终端根据所述若干分包数据帧的分包信息,依次发送所述若干分包数据帧给北斗卫星,以通过所述北斗卫星将所述若干分包数据帧转发给接收终端。
[0156]
在本实施例中,在将目标数据划分为多包报文,即多个分包数据帧的情况下,可以根据分包信息内携带的分包序号,依次向卫星发送各个分包数据帧。
[0157]
在s403中,北斗卫星依次将接收到若干分包数据帧发送给接收终端。
[0158]
在本实施例中,北斗卫星在接收到发送终端发送的分包数据帧后,可以根据分包信息里面的包序列号依次发送给对应的接收终端。
[0159]
在s404中,接收终端接收北斗卫星转发的若干分包数据帧;所述若干分包数据帧是发送终端发送给北斗卫星的;所述若干分包数据帧包括帧头部分以及数据部分;所述分包数据帧是基于北斗短报文封装的。
[0160]
在本实施例中,接收终端可以通过射频模块接收北斗卫星转发的分包数据帧。其中,该分包数据帧的帧格式可以参见上述的描述,在此不再赘述。
[0161]
在s405中,接收终端根据所述数据部分确定所述分包数据帧对应的数据类型,并获取所述数据类型对应的数据格式。
[0162]
在本实施例中,接收终端在接收到分包数据帧后,可以确定该分包数据帧对应的数据类型,即识别数据部分中的数据类型标识,从而根据数据类型标识确定分包数据帧对应的数据类型,继而获取与该数据类型对应的数据格式。
[0163]
可选地,接收终端可以识别帧头部分的控制域内的确认标识,即上述的ack标识,从而确定在接收到分包数据帧后,是否需要向发送终端发送确认数据帧,若需要,则将帧头部分的功能码设置为预设值。
[0164]
进一步地,作为本技术的另一实施例,上述s405具体可以包含以下步骤:
[0165]
步骤1:若所述帧头部分内控制域的功能码为第一位值,则识别所述数据部分的第一字节为数据类型标识。
[0166]
在本实施例中,若该分包数据帧的帧头部分的控制域的功能码为第一位值,则可以确定该分包数据帧为用于传输多源异构的数据报文。在该情况下,可以读取数据部分的第一字节,该第一字节为数据类型标识,用于限定目标数据的数据类型。
[0167]
步骤2:若所述数据类型标识为第一位值,则所述分包数据帧对应的所述数据类型为文本类型,从所述数据部分提取加密字段,根据所述加密字段确定所述分包数据帧的数据块对应的加密方式,通过所述加密方式对所述数据块进行处理,得到文本数据。
[0168]
在本实施例中,若数据类型标识为第一位值,如0x01时,则表示数据类型为文本类型,可以采用如表6的数据格式对数据部分进行解析,从而得到的文本数据。
[0169]
步骤3:若所述数据类型标识为第二位值,则所述数据类型为图像类型,从所述数据部分提取格式字段,根据所述格式字段确定所述分包数据帧的数据块对应的图像格式,通过所述图像格式对所述数据块进行处理,得到像素数据;
[0170]
在本实施例中,若数据类型标识为第二位值,如0x02时,则表示数据类型为图像类
型,可以采用如表7的数据格式对数据部分进行解析,从而得到的图像数据。
[0171]
步骤4:若所述数据类型标识为第三位值,则所述数据类型为音频类型,从所述数据部分提取编码字段,根据所述编码字段确定所述分包数据帧的数据块对应的编码码率,通过所述编码码率对所述数据块进行处理,得到音频数据。
[0172]
在本实施例中,若数据类型标识为第三位值,如0x03时,则表示数据类型为音频类型,可以采用如表8的数据格式对数据部分进行解析,从而得到的音频数据。
[0173]
步骤5:若所述数据类型标识为第四位值,则所述数据类型为其他类型,则通过预设的解析算法对所述分包数据帧的数据块进行处理,得到其他数据;
[0174]
在本实施例中,若数据类型标识为第四位值,如0x04时,则表示数据类型为其他类型,接收终端自行进行解析。
[0175]
其中,文本数据、所述图像数据、所述音频数据以及所述其他数据,用于合成所述目标数据。
[0176]
在s406中,接收终端基于所述数据格式对所述若干分包数据帧进行解析,得到目标数据。
[0177]
在本实施例中,接收终端在接收完成具有同样帧序列号对应的分包数据帧后,可以将具有相同帧序号的所有数据块进行合并,得到目标数据。
[0178]
以上可以看出,本技术实施例提供的一种基于北斗短报文的多元异构数据编码及组帧方法在发送终端需要通过北斗卫星转发携带有某一类型的应用数据时,确定该应用数据对应的数据类型,并该数据类型确定分包数据帧中数据部分的数据格式,并将目标数据通过与上述数据格式对应的帧模板进行封装,得到若干分包数据帧,其中该分包数据帧中的帧头部分记录有每个分包数据帧的分包信息,发送终端可以通过该分包信息依次发送若干分包数据帧给北斗卫星,以实现通过北斗卫星进行数据转发的目的。与现有的卫星报文技术相比,本技术实施例中的北斗短报文中的分包数据帧,是一种兼容了不同格式的帧格式,即对于不同的类型的数据,其分包数据帧均包含有帧头部分以及数据部分,而数据部分可以根据数据格式进行自定义设置,发送终端无需为不同的类型的数据配置新的帧模板,而是可以采用归一化的编码技术以及组帧技术进行处理,从而大大降低了发送终端以及接收终端对于北斗短报文的处理难度,继而提高了通讯效率。
[0179]
另一方面,本技术实施例提供的一种基于北斗短报文的多元异构数据编码帧的解析方法在接收终端接收到分包数据帧后,可以通过帧头部分确定数据部分确定该分包数据帧的数据类型,并通过对应的数据格式对数据部分内各个字节的数据进行解析以及内容识别,从而得到该分包数据帧中封装的数据块,并基于若干分包数据帧解析得到的数据块进行合并,得到发送终端发送的目标数据,同样可以可以采用归一化的编码技术以及组帧技术进行解码处理,从而大大降低了发送终端以及接收终端对于北斗短报文的处理难度,继而提高了通讯效率。
[0180]
进一步地,作为本技术的另一实施例,图7示出了本技术另一实施例提供的一种基于北斗短报文的多元异构数据编码及组帧方法的实现流程图。参见图7所示,与图4的实施例相比,本技术实施例提供的基于北斗短报文的多元异构数据编码及组帧方法中,在s406之前还可以包括:s701~s708,具体描述如下:
[0181]
在s701中,接收终端若检测到接收到的若干分包数据帧满足预设的丢包条件,则
生成丢包反馈数据帧;所述丢包反馈数据帧的帧头部分中控制域的功能码为第二位值;所述丢包反馈数据帧包含至少一个丢包反馈信息。
[0182]
在本实施例中,接收终端可以对接收到的分包数据帧进行丢包检测,若检测到接收到的分包数据帧的帧序列号或分包序号满足预设的丢包条件,则可以生成丢包反馈数据帧,以请求发送终端重新发送丢包了的分包数据帧,从而能够提高数据传输的有效性。
[0183]
在一种可能的实现方式中,分包数据帧的帧尾部分用于存储帧校验字段,接收终端在接收到分包数据帧后,可以通过帧校验字段对该分包数据帧的数据内容进行校验,若在预设的自校正范围内,则通过帧校验字段对内容进行校正;反之,若数据错误的内容在自校正范围外,则将该错误的分包数据帧识别为丢失的分包数据帧,并将该分包数据帧对应的分包序号记录于上述的丢包反馈数据帧内。
[0184]
其中,数据丢包具体可以包含以下三种情况:
[0185]
情况1:部分数据包丢失
[0186]
若接收到所述若干分包数据帧的数据尾帧,且所述若干分包数据帧中存在分包序号不连续的至少两个分包数据帧,则根据分包序号不连续的所述至少两个分包数据帧,确定丢包的第一丢包序号,并基于所述第一丢包序号生成指定序号丢包反馈;所述指定序号丢包反馈内的丢包批次以及丢包标记是基于所述第一丢包序号确定的;所述指定序号丢包反馈中的丢包类型为第一位值。
[0187]
在本实施例中,接收终端在预设的有效等待时间内未接收到所有分包,且接收到末尾数据包,即接收到分包数据帧中的帧头部分的控制域内结束包为有效,则识别接收到若干分包数据帧对应的数据尾帧。在该情况下,接收终端可以根据分包序号不连续的多个分包数据帧,确定丢失的分包数据帧对应的第一丢包序号,并根据第一丢包序号生成对应的指定序号丢包反馈。指定序号丢包反馈的数据帧格式与多源异构的数据帧格式相同,可以参见表1所示。不同的是,该指定丢包反馈的数据帧格式中的数据部分与多源异构的数据中的数据部分不同。
[0188]
示例性地,指定丢包反馈中的数据部分的格式可以参见表10所示。
[0189]
描述字节数帧丢包类型1帧序列号2帧丢包批次2帧丢包标志4
[0190]
表10
[0191]
帧丢包类型:用于区分不同的丢包情况。当帧丢包类型为第一位值时,例如0x01,则标识该丢包反馈数据帧为指定序号丢包反馈。
[0192]
帧序列号:2个字节,用于确定丢包的分包数据帧对应的目标数据的帧序列号。
[0193]
帧丢包批次:2个字节,丢帧包按32个标志划分为一个批次,比如分包序列为1-32为第一批次,而分包序列为33-64为第二批次,如此类推,通过丢包批次以及丢包标志确定上述的第一丢包序号,即丢包的分包序号。例如,将丢包批次乘以丢包标记对应的字节,则可以确定第一丢包序号。
[0194]
帧丢包标志:丢包标志为4个字节,按位标识第1包~第32包是否发生丢包。将发生
丢包的丢包标志对应的数值置1,从而能够一次标记多个第一丢包序号。
[0195][0196]
表11
[0197]
情况2:尾包数据丢失
[0198]
若在预设的等待时间内未接收到所述若干分包数据帧的数据尾帧,则确定所述若干分包数据帧中的第二丢包序号,并基于所述第二丢包序号生成末尾丢包反馈;所述第二丢包数据为所述分包数据帧中分包序号的最大值;所述末尾丢包反馈中的丢包类型字段为第二位值。
[0199]
在本实施例中,接收终端接收到某一帧序列号的部分分包数据帧,但在预设的有效等待时间内未接收到关于该帧序列号对应的末尾数据包,即没有接收到分包数据帧中的帧头部分的控制域内结束包为有效的数据包,此时接收终端会判定该帧序列号对应的数据尾帧丢失。在该情况下,接收终端可以确定接收到关于该帧序列号的所有分包数据帧中,确定分包序号最大作为第二丢包序号,并根据第二丢包序号生成对应的末尾丢包反馈。末尾丢包反馈的数据帧格式与多源异构的数据帧格式相同,可以参见表1所示。不同的是,该末尾丢包反馈的数据帧格式中的数据部分与多源异构的数据中的数据部分不同。
[0200]
示例性地,指定丢包反馈中的数据部分的格式可以参见表12所示。
[0201]
描述字节数帧丢包类型1帧序列号2包序列号2
[0202]
表12
[0203]
帧丢包类型:用于区分不同的丢包情况。当帧丢包类型为第二位值时,例如0x02,则标识该丢包反馈数据帧为末尾丢包反馈;
[0204]
帧序列号:丢包帧的帧序列号。
[0205]
包序列号:最后收到的分包序号,即上述的第二丢包序号。
[0206]
由于在末尾丢包的情况下,无法确认具体丢失了多少数据包,因此接收终端会将最后收到的分包序号,即数值最大的分包序号反馈给发送终端,以便发送终端发送该第二分包序号之后的所有分包数据帧。
[0207]
情况3:目标数据的所有分包丢失
[0208]
若接收到两个帧序列号不连续的分包数据帧,则根据两个所述帧序号不连续的分包数据帧确定丢失帧序列号,并基于所述丢失帧序列号生成整帧丢包反馈;所述整帧丢包反馈的丢包类型字段为第三位值。
[0209]
在本实施例中,在发送终端需要将多个连续的目标数据发送给接收终端时,例如多个连续的图像,则多个连续的目标数据对应的帧序列号是连续的,因此若接收到的分包数据帧中存在帧序号不连续的情况,在该情况下,则可以确定存在关于该目标数据的所有分包均丢失的情况。此时,可以生成一个整帧丢包反馈。该整帧丢包反馈中可以携带有丢失帧序号,并将丢包类型设置为第三位值。整帧丢包反馈的数据帧格式与多源异构的数据帧格式相同,可以参见表1所示。不同的是,该整帧丢包反馈的数据帧格式中的数据部分与多源异构的数据中的数据部分不同。
[0210]
示例性地,整帧丢包反馈中的数据部分的格式可以参见表13所示。
[0211]
描述字节数帧丢包类型1帧序列号2
[0212]
表13
[0213]
帧丢包类型:用于区分不同的丢包情况。当帧丢包类型为第三位值时,例如0x03,则标识该丢包反馈数据帧为整帧丢包反馈。
[0214]
帧序列号:丢包帧的帧序列号。
[0215]
在本技术实施例中,接收终端可以根据丢包情况的不同,生成不同的丢包反馈数据帧,以便发送终端根据丢包情况进行重新发送。与现有的丢包重发技术相比,本技术实施例并非根据分包序列号将所有分包数据帧重新再次按照顺序发送,也不需要还原得到整帧的目标数据后,才进行下一个目标数据的发送,而是可以通过不同类型的丢包反馈数据帧,进行对应的丢包重发,从而能够提高通信效率。
[0216]
在s702中,接收终端将所述丢包反馈数据帧发送给所述北斗卫星,以通过所述北斗卫星将所述丢包反馈数据帧转发给所述发送终端。
[0217]
在本实施例中,接收终端可以将丢包反馈数据帧发送给北斗卫星,以便进行后续的丢包重发流程。
[0218]
在s703中,北斗卫星将丢包反馈数据帧发送给发送终端。
[0219]
在s704中,发送终端若检测到接收终端反馈的应答数据帧,则获取所述应答数据帧的帧头部分中控制域的功能码。
[0220]
在本实施例中,发送终端可以接收北斗卫星转发的应答数据帧。其中,该应答数据帧的帧格式与多源异构的数据帧的帧格式相同。具体可以参见表1所示。与其不同的是,该应答数据帧的帧头部分的控制域内,根据应答的内容不同,其功能码可以具有不同的位值。因此,为了确定该应答数据帧对应的应答类型,需要对该功能码进行识别。
[0221]
在一种可能的实现方式中,若该功能码为第三位值,例如为0x00,则表示该应答数据帧为报文的确认或否定的应答数据,可以根据数据报文中确认ack的数值,通知发送终端接收终端是否接收到指定的目标数据。
[0222]
在s705中,发送终端若识别到所述功能码为第二位值,则识别所述应答数据帧为丢包反馈数据帧。
[0223]
在本实施例中,发送终端在检测到该功能码为第二位值时,则表示该应答数据帧具体为一丢包数据帧,需要对其丢包类型进行识别,并重新发送丢包的分包数据帧。
[0224]
在s706中,发送终端基于丢包反馈帧格式解析所述丢包反馈数据帧,确定丢包数
据帧。
[0225]
在本实施例中,发送终端可以对丢包反馈数据帧进行解析,确定接收终端侧丢失的分包数据帧的帧序列号以及分包序号,从而确定在传输过程中丢失的或错误的分包数据帧,将与上述帧序列号以及分包序号对应的分包数据帧识别为上述的丢包数据帧。
[0226]
进一步地,作为本技术的另一实施例,上述确定丢包数据帧的方式具体为:
[0227]
步骤1:发送终端读取所述丢包反馈数据帧中的数据部分的第一字节,确定所述丢包反馈数据帧内包含的丢包反馈信息的个数;每个所述丢包反馈信息用于确定至少一个丢失或错误的分包数据帧。
[0228]
在本实施例中,丢包反馈数据帧中数据部分的数据格式为第一字节用于限定其中包含的丢包反馈信息的个数,而后续内容则为各个丢包反馈信息的具体内容。其中,根据丢包反馈信息类型的不同,一个丢包反馈信息具体可以对应至少一个分包数据帧。
[0229]
示例性地,表14示出了本技术一实施例提供的丢包反馈数据帧的格式示意图。参见表14所示,一个丢包反馈数据帧中可以同时携带有多个丢包反馈信息,即该丢包反馈数据帧的数据部分记录有:丢包反馈信息的信息个数。例如,该丢包反馈数据帧内包含有n个丢包反馈信息,则会依次读取各个丢包反馈信息,通过丢包反馈信息确定对应的丢包数据帧。
[0230][0231]
表14
[0232]
步骤2:从所述丢包反馈数据帧中的数据部分,依次获取各个所述丢包反馈信息。
[0233]
在本实施例中,由于不同类型的丢包反馈信息其对应的信息长度不同。因此,发送终端设备会依次读取各个丢包反馈信息,通过确定丢包反馈信息的丢包类型,从而确定与之对应的信息长度。不同的丢包类型的信息长度可以参见s701的相关描述,在此不再赘述。
[0234]
根据丢包反馈信息的类型不同,可以分为以下三种情况:
[0235]
情况1:若所述丢包反馈信息的丢包类型字段为第一位值,如0x01,则识别所述丢包反馈信息为指定序号丢包反馈。指定序号丢包反馈内包含有丢包批次以及丢包标记,发送终端根据所述指定序号丢包反馈中携带的丢包批次以及丢包标记,确定第一丢包序号,并将所述第一丢包序号对应的分包数据帧作为所述丢包数据帧。需要说明的是,上述指定序号丢包反馈中的丢包标记可以包含多个,因此确定得到的第一丢包序号的个数也可以为多个,从而能够同时识别多个丢包数据帧。
[0236]
情况2:若丢包反馈信息的丢包类型字段为第二位值,如0x02,则识别所述丢包反馈信息为末尾丢包反馈。末尾丢包反馈中携带有接收终端接收到的最大的分包序号,即第二丢包序号,根据所述末尾丢包反馈携带的第二丢包序号,将所有分包序号大于第二丢包序号的分包数据帧作为所述丢包数据帧。
[0237]
情况3:若丢包反馈信息的丢包类型为第三位值,如0x03,则识别所述丢包反馈信息为整帧丢包反馈。由于整帧丢包反馈用于通知发送终端关于该帧序列号的所有分包数据帧均丢失,因此,发送终端会将帧序列号为指定序号的所有分包数据帧识别均作为所述丢包数据帧。
[0238]
在本技术实施例中,通过接收丢包反馈数据帧,确定该丢包反馈数据帧中携带的多个丢包反馈信息,能够统一将所有丢包数据帧重新发送给接收终端,从而能够提高通信效率。
[0239]
在s707中,发送终端将所述丢包数据帧再次发送给北斗卫星,以通过北斗卫星将所述丢包数据帧发送给接收终端。
[0240]
在s708中,北斗卫星将丢包数据帧发送给接收终端。
[0241]
在本实施例中,对于存在丢包的丢包数据帧,发送终端会再次将其发送给北斗卫星,北斗卫星在接收到丢包数据帧后,会转发给接收终端,以对本次丢包异常事件进行响应,以便接收终端能够接收到所有分包数据帧,以还原得到对应的目标数据。
[0242]
在本技术实施例中,在分包数据帧的帧头部分的功能码设置可以进行丢包反馈的位值,能够实现采用相同的帧格式对丢包信息进行反馈,从而能够提高北斗短报文格式的一致性的同时,也能够实现丢包响应,发送终端只需再次发送丢包的分包数据帧,而并非无差别的整帧内的所有分包进行重新发送,进一步提高了通信效率。
[0243]
图8示出了本发明一实施例提供的一种基于北斗短报文的多元异构数据编码及组帧装置的结构框图,该基于北斗短报文的多元异构数据编码及组帧装置包括的各单元用于执行图4对应的实施例中发送终端实现的各步骤。具体请参阅图2与图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
[0244]
参见图8,所述基于北斗短报文的多元异构数据编码及组帧装置包括:
[0245]
分包数据帧发送单元81,用于响应于目标数据的发送请求,生成若干分包数据帧;所述分包数据帧包括帧头部分以及数据部分;所述数据部分是根据所述目标数据的数据类型对应的数据格式生成的;所述帧头部分记录了所述分包数据帧的分包信息;所述分包数据帧是基于北斗短报文封装的;所述分包数据帧支持多元异构数据编码;
[0246]
分包发送单元82,用于根据所述若干分包数据帧的分包信息,依次发送所述若干分包数据帧给北斗卫星,以通过所述北斗卫星将所述若干分包数据帧转发给接收终端。
[0247]
可选地,所述帧头部分包括:控制域以及帧序列号;所述分包数据帧发送单元包括:
[0248]
所述分包数据帧发送单元81包括:
[0249]
最大数据量比较单元,用于根据北斗短报文对应的单次发送的最大数据量,将所述目标数据划分为若干数据块;每个所述数据块的数据量不大于所述最大数据量;
[0250]
数据块添加单元,用于分别将各个所述数据块添加到预设帧模板内的所述数据部分;
[0251]
编码单元,用于将所有添加了所述数据块的所述预设帧模板中的所述控制域的功能码设置为第一位值,以及将所述帧序列号设置为与所述目标数据对应的序列编号,生成所述若干分包数据帧。
[0252]
可选地,所述数据块添加单元包括:
[0253]
文本添加单元,用于若所述目标数据的数据类型为文本类型,则将所述数据部分内的数据类型标识设置为第一位值,并根据所述目标数据的加密方式,设置数据部分的加密字段,将所述数据块添加到所述数据部分的字符数据字段;
[0254]
图像添加单元,用于若所述目标数据的数据类型为图像类型,则将所述数据类型标识设置为第二位值,并根据所述目标数据的压缩方式,设置数据部分的格式字段,将所述数据块添加到所述数据部分的像素数据字段;
[0255]
音频添加单元,用于若所述目标数据的数据类型为音频类型,则将所述数据类型标识设置为第三位值,并根据所述目标数据的编码码率,设置数据部分的编码字段,将所述数据块添加到所述数据部分的音频数据字段;
[0256]
其他添加单元,用于若所述目标数据的数据类型为其他类型,则将所述数据类型标识设置为第四位值,并将所述数据块添加到所述数据部分的应用数据字段。
[0257]
可选地,所述装置还包括:
[0258]
应答数据帧接收单元,用于若接收到接收终端反馈的应答数据帧,则获取所述应答数据帧的帧头部分中控制域的功能码;
[0259]
丢包反馈识别单元,用于若所述功能码为第二位值,则识别所述应答数据帧为丢包反馈数据帧;
[0260]
丢包解析单元,用于基于丢包反馈帧格式解析所述丢包反馈数据帧,确定丢包数据帧;
[0261]
丢包发送单元,用于将所述丢包数据帧再次发送给北斗卫星,以通过北斗卫星将所述丢包数据帧发送给接收终端。
[0262]
可选地,所述丢包解析单元包括:
[0263]
丢包信息个数确定单元,用于读取所述丢包反馈数据帧中的数据部分的第一字节,确定所述丢包反馈数据帧内包含的丢包反馈信息的个数;每个所述丢包反馈信息用于确定至少一个丢失或错误的分包数据帧;
[0264]
丢包信息读取单元,用于从所述丢包反馈数据帧中的数据部分,依次获取各个所述丢包反馈信息;
[0265]
指定序号丢包反馈单元,用于若所述丢包反馈信息的丢包类型字段为第一位值,则识别所述丢包反馈信息为指定序号丢包反馈;
[0266]
第一丢包序号确定单元,用于根据所述指定序号丢包反馈中携带的丢包批次以及丢包标记,确定第一丢包序号,并将所述第一丢包序号对应的分包数据帧作为所述丢包数据帧;
[0267]
末尾丢包反馈单元,用于若所述丢包类型字段为第二位值,则识别所述丢包反馈信息为末尾丢包反馈;
[0268]
第二丢包序号确定单元,用于根据所述末尾丢包反馈携带的第二丢包序号,将所有分包序号大于所述第二丢包序号的分包数据帧作为所述丢包数据帧;所述第二丢包序号为所述接收终端接收到的分包数据帧中分包序号的最大值;
[0269]
整帧丢包反馈单元,用于若所述丢包类型为第三位值,则识别所述丢包反馈信息为整帧丢包反馈,将所述若干分包数据帧识别均作为所述丢包数据帧。
[0270]
因此,本发明实施例提供的基于北斗短报文的数据发送装置同样可以在发送终端
需要通过北斗卫星转发携带有某一类型的应用数据时,确定该应用数据对应的数据类型,并该数据类型确定分包数据帧中数据部分的数据格式,并将目标数据通过与上述数据格式对应的帧模板进行封装,得到若干分包数据帧,其中该分包数据帧中的帧头部分记录有每个分包数据帧的分包信息,发送终端可以通过该分包信息依次发送若干分包数据帧给北斗卫星,以实现通过北斗卫星进行数据转发的目的。与现有的卫星报文技术相比,本技术实施例中的北斗短报文中的分包数据帧,是一种兼容了不同格式的帧格式,即对于不同的类型的数据,其分包数据帧均包含有帧头部分以及数据部分,而数据部分可以根据数据格式进行自定义设置,发送终端无需为不同的类型的数据配置新的帧模板,而是可以采用归一化的编码技术以及组帧技术进行处理,从而大大降低了发送终端以及接收终端对于北斗短报文的处理难度,继而提高了通讯效率。
[0271]
应当理解的是,图8示出的基于北斗短报文的多元异构数据编码及组帧装置的结构框图中,各模块用于执行图4至图7对应的实施例中的各步骤,而对于图4至图7对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图4至图7以及图4至图7所对应的实施例中的相关描述,此处不再赘述。
[0272]
图9示出了本发明一实施例提供的一种基于北斗短报文的多元异构数据编码帧的解析装置的结构框图,该基于北斗短报文的多元异构数据编码及组帧装置包括的各单元用于执行图4对应的实施例中接收终端实现的各步骤。具体请参阅图2与图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
[0273]
参见图9,所述基于北斗短报文的多元异构数据编码及组帧装置包括:
[0274]
分包数据帧接收单元91,用于接收北斗卫星转发的若干分包数据帧;所述若干分包数据帧是发送终端发送给北斗卫星的;所述若干分包数据帧包括帧头部分以及数据部分;所述分包数据帧是基于北斗短报文封装的;所述分包数据帧支持多元异构数据编码;
[0275]
数据格式确定单元92,用于根据所述数据部分确定所述分包数据帧对应的数据类型,并获取所述数据类型对应的数据格式;
[0276]
目标数据获取单元93,用于基于所述数据格式对所述若干分包数据帧进行解析,得到目标数据。
[0277]
可选地,数据格式确定单元92包括:
[0278]
功能码识别单元,用于若所述帧头部分内控制域的功能码为第一位值,则识别所述数据部分的第一字节为数据类型标识;
[0279]
文本解析单元,用于若所述数据类型标识为第一位值,则所述分包数据帧对应的所述数据类型为文本类型,从所述数据部分提取加密字段,根据所述加密字段确定所述分包数据帧的数据块对应的加密方式,通过所述加密方式对所述数据块进行处理,得到文本数据;
[0280]
图像解析单元,用于若所述数据类型标识为第二位值,则所述数据类型为图像类型,从所述数据部分提取格式字段,根据所述格式字段确定所述分包数据帧的数据块对应的图像格式,通过所述图像格式对所述数据块进行处理,得到像素数据;
[0281]
音频解析单元,用于若所述数据类型标识为第三位值,则所述数据类型为音频类型,从所述数据部分提取编码字段,根据所述编码字段确定所述分包数据帧的数据块对应的编码码率,通过所述编码码率对所述数据块进行处理,得到音频数据;
[0282]
其他解析单元,用于若所述数据类型标识为第四位值,则所述数据类型为其他类型,则通过预设的解析算法对所述分包数据帧的数据块进行处理,得到其他数据;
[0283]
所述文本数据、所述图像数据、所述音频数据以及所述其他数据,用于合成所述目标数据。
[0284]
可选地,所述装置还包括:
[0285]
丢包响应单元,用于若接收到的若干分包数据帧满足预设的丢包条件,则生成丢包反馈数据帧;所述丢包反馈数据帧的帧头部分中控制域的功能码为第二位值;所述丢包反馈数据帧包含至少一个丢包反馈信息;
[0286]
丢包反馈信息发送单元,用于将所述丢包反馈数据帧发送给所述北斗卫星,以通过所述北斗卫星将所述丢包反馈数据帧转发给所述发送终端;
[0287]
丢包接收单元,用于接收所述北斗卫星基于所述丢包反馈数据帧反馈的丢包数据帧。
[0288]
可选地,所述丢包反馈信息包括:指定序号丢包反馈、末尾丢包反馈以及整帧丢包反馈;
[0289]
所述丢包响应单元包括:
[0290]
指定序号丢包确定单元,用于若接收到所述若干分包数据帧的数据尾帧,且所述若干分包数据帧中存在分包序号不连续的至少两个分包数据帧,则根据分包序号不连续的所述至少两个分包数据帧,确定丢包的第一丢包序号,并基于所述第一丢包序号生成指定序号丢包反馈;所述指定序号丢包反馈内的丢包批次以及丢包标记是基于所述第一丢包序号确定的;所述指定序号丢包反馈中的丢包类型为第一位值;
[0291]
末尾丢包确定单元,用于若在预设的等待时间内未接收到所述若干分包数据帧的数据尾帧,则确定所述若干分包数据帧中的第二丢包序号,并基于所述第二丢包序号生成末尾丢包反馈;所述第二丢包数据为所述分包数据帧中分包序号的最大值;所述末尾丢包反馈中的丢包类型字段为第二位值;
[0292]
整帧丢包确定单元,用于若接收到两个帧序列号不连续的分包数据帧,则根据两个所述帧序号不连续的分包数据帧确定丢失帧序列号,并基于所述丢失帧序列号生成整帧丢包反馈;所述整帧丢包反馈的丢包类型字段为第三位值。
[0293]
应当理解的是,图9示出的基于北斗短报文的多元异构数据编码帧的解析装置的结构框图中,各模块用于执行图4至图7对应的实施例中的各步骤,而对于图4至图7对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图4至图7以及图4至图7所对应的实施例中的相关描述,此处不再赘述。
[0294]
图10是本技术另一实施例提供的一种终端设备的结构框图。如图10所示,该实施例的终端设备1000包括:处理器1010、存储器1020以及存储在存储器1020中并可在处理器1010运行的计算机程序1030,例如基于北斗短报文的数据发送方法的程序。处理器1010执行计算机程序1030时实现上述各个基于北斗短报文的数据发送方法各实施例中的步骤,例如图4所示的各步骤。或者,处理器1010执行计算机程序1030时实现上述图8对应的实施例中各模块的功能,例如,图8所示的单元81至82的功能,以及如图9所示的单元91至93的功能,具体请参阅图8和图9对应的实施例中的相关描述。
[0295]
示例性的,计算机程序1030可以被分割成一个或多个模块,一个或者多个模块被
存储在存储器1020中,并由处理器1010执行,以完成本技术。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序1030在终端设备1000中的执行过程。例如,计算机程序1030可以被分割成各个单元模块,各模块具体功能如上。
[0296]
终端设备1000可包括,但不仅限于,处理器1010、存储器1020。本领域技术人员可以理解,图10仅仅是终端设备1000的示例,并不构成对终端设备1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0297]
所称处理器1010可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
[0298]
存储器1020可以是终端设备1000的内部存储单元,例如终端设备1000的硬盘或内存。存储器1020也可以是终端设备1000的外部存储设备,例如终端设备1000上配备的插接式硬盘,智能存储卡,闪存卡等。进一步地,存储器1020还可以既包括终端设备1000的内部存储单元也包括外部存储设备。
[0299]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种基于北斗短报文的多元异构数据编码及组帧方法,其特征在于,应用于发送终端,所述方法包括:响应于目标数据的发送请求,生成若干分包数据帧;所述分包数据帧包括帧头部分以及数据部分;所述数据部分是根据目标数据的数据类型对应的数据格式生成的;所述帧头部分记录了分包数据帧的分包信息;分包数据帧是基于北斗短报文封装的;分包数据帧支持多元异构数据编码;根据若干分包数据帧的分包信息,依次发送若干分包数据帧给北斗卫星,以通过北斗卫星将若干分包数据帧转发给接收终端。2.根据权利要求1所述的一种基于北斗短报文的多元异构数据编码及组帧方法,其特征在于,所述帧头部分包括:控制域以及帧序列号;所述响应于目标数据的发送请求,生成若干分包数据帧,包括:根据北斗短报文对应的单次发送的最大数据量,将目标数据划分为若干数据块;每个数据块的数据量不大于最大数据量;分别将各个数据块添加到预设帧模板内的数据部分;将所有添加了数据块的预设帧模板中的控制域的功能码设置为第一位值,以及将帧序列号设置为与目标数据对应的序列编号,生成若干分包数据帧。3.根据权利要求2所述的一种基于北斗短报文的多元异构数据编码及组帧方法,其特征在于,分别将各个数据块添加到预设帧模板内的数据部分,包括:若目标数据的数据类型为文本类型,则将数据部分内的数据类型标识设置为第一位值,并根据目标数据的加密方式,设置数据部分的加密字段,将数据块添加到数据部分的字符数据字段。4.根据权利要求2所述的一种基于北斗短报文的多元异构数据编码及组帧方法,其特征在于,所述分别将各个数据块添加到预设帧模板内的数据部分,包括:若目标数据的数据类型为图像类型,则将数据类型标识设置为第二位值,并根据目标数据的压缩方式,设置数据部分的格式字段,将数据块添加到数据部分的像素数据字段。5.根据权利要求2所述的一种基于北斗短报文的多元异构数据编码及组帧方法,其特征在于,所述分别将各个数据块添加到预设帧模板内的数据部分,包括:若目标数据的数据类型为音频类型,则将数据类型标识设置为第三位值,并根据目标数据的编码码率,设置数据部分的编码字段,将数据块添加到数据部分的音频数据字段;若目标数据的数据类型为其他类型,则将数据类型标识设置为第四位值,并将数据块添加到数据部分的应用数据字段。6.一种基于北斗短报文的多元异构数据编码帧的解析方法,其特征在于,应用于接收终端,接收方法包括:接收北斗卫星转发的若干分包数据帧;若干分包数据帧是发送终端发送给北斗卫星的;若干分包数据帧包括帧头部分以及数据部分;分包数据帧是基于北斗短报文封装的;分包数据帧支持多元异构数据编码;根据数据部分确定分包数据帧对应的数据类型,并获取数据类型对应的数据格式;基于数据格式对若干分包数据帧进行解析,得到目标数据。7.根据权利要求6所述的一种基于北斗短报文的多元异构数据编码帧的解析方法,其
特征在于,根据数据部分确定分包数据帧对应的数据类型,并获取数据类型对应的数据格式,包括:若帧头部分内控制域的功能码为第一位值,则识别数据部分的第一字节为数据类型标识;若数据类型标识为第一位值,则分包数据帧对应的数据类型为文本类型,从数据部分提取加密字段,根据加密字段确定分包数据帧的数据块对应的加密方式,通过加密方式对所述数据块进行处理,得到文本数据。8.根据权利要求7所述的一种基于北斗短报文的多元异构数据编码帧的解析方法,其特征在于,若帧头部分内控制域的功能码为第一位值,则识别数据部分的第一字节为数据类型标识之后,包括:若数据类型标识为第二位值,则数据类型为图像类型,从数据部分提取格式字段,根据格式字段确定分包数据帧的数据块对应的图像格式,通过图像格式对数据块进行处理,得到像素数据。9.根据权利要求7所述的一种基于北斗短报文的多元异构数据编码帧的解析方法,其特征在于,若帧头部分内控制域的功能码为第一位值,则识别数据部分的第一字节为数据类型标识之后,包括:若数据类型标识为第三位值,则数据类型为音频类型,从数据部分提取编码字段,根据编码字段确定分包数据帧的数据块对应的编码码率,通过编码码率对数据块进行处理,得到音频数据;若数据类型标识为第四位值,则数据类型为其他类型,则通过预设的解析算法对分包数据帧的数据块进行处理,得到其他数据;所述文本数据、图像数据、音频数据以及其他数据,用于合成所述目标数据。10.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时如权利要求1至5任一项所述发送方法的步骤,或如权利要求6至9任一项所述接收方法的步骤。

技术总结
本发明公开了一种基于北斗短报文的多元异构数据编码及组帧方法,方法包括:响应于目标数据的发送请求,生成若干分包数据帧;所述分包数据帧包括帧头部分以及数据部分;所述数据部分是根据所述目标数据的数据类型对应的数据格式生成的;所述帧头部分记录了所述分包数据帧的分包信息;所述分包数据帧是基于北斗短报文封装的;根据所述若干分包数据帧的分包信息,依次发送所述若干分包数据帧给北斗卫星,以通过所述北斗卫星将所述若干分包数据帧转发给接收终端。采用上述方法能够采用归一化的编码技术以及组帧技术进行处理,从而大大降低了发送终端以及接收终端对于北斗短报文的处理难度,继而提高了通讯效率。继而提高了通讯效率。继而提高了通讯效率。


技术研发人员:甘润东 龙玉江 王策
受保护的技术使用者:贵州电网有限责任公司
技术研发日:2023.04.26
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐