首页> 中国专利> 一种北斗通信系统中应用层回执传输方法、系统及装置

一种北斗通信系统中应用层回执传输方法、系统及装置

摘要

本申请涉及卫星通信技术领域,并公开了一种应用层回执传输方法、系统及装置。接收设备可以在接收到发送设备发送的应用层报文后,解析应用层报文并根据解析应用层报文的结果生成相应的应用层回执信息。接收设备可以将应用层回执信息发送至发送设备,发送设备可以基于应用层回执信息确认接收设备解析应用层报文的情况(例如解析成功,解析失败)。这样,可以建立可信的报文传输机制,保证发送设备可以得到接收设备解析应用层报文的情况。

著录项

  • 公开/公告号CN115694594A

    专利类型发明专利

  • 公开/公告日2023-02-03

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN202110877181.6

  • 申请日2021-07-31

  • 分类号H04B7/185;H04L69/22;H04L1/1607;

  • 代理机构广州三环专利商标代理有限公司;

  • 代理人熊永强;李稷芳

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 18:32:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-03

    公开

    发明专利申请公布

说明书

技术领域

本申请涉及卫星通信领域,尤其涉及一种北斗通信系统中应用层回执传输方法、系统及装置。

背景技术

北斗短报文通信业务是北斗卫星导航系统区别于美国的全球卫星定位系统(global positioning system,GPS)、俄罗斯的全球导航卫星系统(global navigationsatellite system,GLONASS)等其它全球定位导航系统的特色之一,特别适用于在海洋、沙漠、草原、无人区等移动通信未覆盖、或覆盖不了、或通信系统被破坏的区域进行定位和通信。北斗短报文业务的通信系统对技术体制进行升级,实现了军民信号分离。目前国家在确保军用需求完全满足的前提下,北斗短报文业务的通信系统一些必要的资源也被开放给民用,针对民用业务和设备特性,需要依据北斗短报文业务的通信系统的特性设计通信协议。

目前,北斗短报文业务的通信系统采用卫星链路控制层(satellitelinkcontrolprotocol,SLC)的反馈机制来确保传输的数据包不丢失。即,接收设备在接收窗结束时可以向发送设备发送SLC层的确认字符(acknowledge character,ACK),发送设备可以基于ACK确定接收设备在SLC层的数据包接收情况。发送设备可以在确定出接收设备未接收到完整的数据包时重传数据。但是,这样只能保证发送设备可以确认接收设备在SLC层接收数据包的情况,却不能确认在应用层解析数据包的情况。

发明内容

本申请提供了一种北斗通信系统中应用层回执传输方法、系统及相关装置,实现了发送设备和接收设备之间可以建立可信的报文传输机制,保证接收设备可以解析应用层报文得到原始数据,确保发送设备和接收设备之间的正常通信。

第一方面,本申请提供了一种北斗通信系统中应用层回执传输方法,包括:

发送设备发送第一应用层报文中的第一消息数据汇聚层协议数据单元MDCP PDU给接收设备。其中,第一MDCP PDU的包头信息包括后继指示字段。后继指示字段用于指示第一MDCP PDU在第一应用层报文中的顺序。

当第一MDCP PDU为第一应用层报文中的最后一个MDCP PDU时,发送设备接收到接收设备发送的第一应用层回执信息。其中,第一应用层回执信息用于指示接收设备解析第一应用层报文的结果。

通过本申请提供的一种北斗通信系统中应用层回执传输方法,接收设备可以在得到发送设备发送的应用层报文后,基于解析应用层报文的结果生成应用层回执信息。接收设备可以将应用层回执信息发送给发送设备,发送设备可以基于应用层回执信息确定接收设备解析应用层报文的情况。

这样,发送设备可以确认接收设备是否得到了发送设备的原始数据。发送设备可以明确数据的发送情况。

在一种可能的实现方式中,发送设备发送第一应用层报文中的第一MDCP PDU给接收设备,具体包括:

发送设备将第一MDCP PDU作为发送设备的SLC层的第一卫星链路控制层服务数据单元SLC SDU,从发送设备的MDCP层下发至发送设备的SLC层。

发送设备在发送设备的SLC层将第一SLC SDU拆分成N个卫星链路控制层协议数据单元SLC PDU,N为正整数。其中,N个SLCPDU包括第一SLCPDU,第一SLCPDU的帧头信息包括帧总数字段和帧序号字段。帧总数字段用于指示第一SLC SDU中包括的SLCPDU的总数量N,帧序号字段用于指示第一SLC PDU在第一SLC SDU中的帧序号。

发送设备将N个SLC PDU发送给接收设备。

具体内容,发送设备将第一MDCPPDU下发至SLC层,作为SLC层的第一SLCSDU并将第一SLCSDU拆分成N个SCLPDU的过程,可以参考图7所示实施例,在此不再赘述。

在一种可能的实现方式中,第一应用层回执信息还用于指示接收设备已收齐第一SLCSDU中的N个SLCPDU。这样,发送设备可以通过第一应用层回执信息判定出接收设备接收到应用层报文对应的所有SLCPDU。

在一种可能的实现方式中,发送设备接收到接收设备发送的第一应用层回执信息之前,方法还包括:发送设备接收到接收设备发送的第一确认字符ACK。其中,第一ACK用于指示接收设备已收齐第一SLCSDU中的N个SLCPDU。

在一种可能的实现方式中,发送设备接收到接收设备发送的第一应用层回执信息之前,方法还包括:发送设备接收到接收设备发送的第二确认字符ACK。其中,第二ACK用于指示第一SLC SDU中接收设备未接收到的SLC PDU的帧序号。

发送设备重传第一SLC SDU中接收设备未接收到的SLC PDU给接收设备。

这样,可以保证接收设备可以得到完整的应用层报文。

在一种可能的实现方式中,在发送设备接收到接收设备发送的第一确认字符ACK之前,方法还包括:发送设备接收到接收设备发送的第二确认字符ACK。其中,第二ACK用于指示第一SLC SDU中接收设备未接收到的SLC PDU的帧序号。

发送设备重传第一SLC SDU中接收设备未接收到的SLC PDU给接收设备。

这样,可以保证接收设备可以得到完整的应用层报文。

在一种可能的实现方式中,发送设备将N个SLC PDU发送给接收设备,具体包括:发送设备将所第一SLCPDU从发送设备的SLC层下发至物理PHY层,作为发送设备的PHY层的第一用户帧。

发送设备针对第一用户帧进行物理层处理得到第一入站数据。

发送设备将第一入站数据发送给接收设备。

在一种可能的实现方式中,发送设备发送第一应用层报文中的第一MDCPPDU给接收设备之前,方法还包括:发送设备在消息数据汇聚MDCP层获取到发送设备的应用层下发的第一应用层报文。

发送设备在MDCP层将第一应用层报文作为MDCP SDU,并将MDCP SDU拆分成M个MDCP PDU。其中,M为正整数。M个MDCP PDU中包括第一MDCP PDU。

在一种可能的实现方式中,方法还包括:发送设备将M个MDCP PDU从MDCP层下发至SLC层,作为SLC层的M个SLC SDU,M个SLC SDU包括第一SLC SDU。

在一种可能的实现方式中,在发送设备在MDCP层获取到发送设备的应用层下发的第一应用层报文之前,方法还包括:发送设备获取原始数据。

发送设备在应用层将原始数据,进行编码压缩得到第一压缩数据。

发送设备在应用层将第一压缩数据进行加密得到第一加密后数据。

发送设备在第一加密后数据头部加上报文头信息,得到第一应用层报文。其中,报文头信息包括压缩指示字段和加密指示字段,压缩指示字段用于指示对原始数据压缩时使用的编码压缩算法,加密指示字段用于指示对第一压缩数据加密时使用的加密算法。

在一种可能的实现方式中,发送设备接收到接收设备发送的第一应用层回执信息之后,方法还包括:

发送设备基于第一应用层回执信息确定接收设备解析第一应用层报文失败,发送设备向接收设备重传第一应用层报文。

这样,发送设备在确定接收设备解析应用层报文失败时,可以再次发送应用层报文,避免因为传输过程中的数据错误导致接收设备解析应用层报文失败的情形。

在一种可能的实现方式中,第一应用层回执信息包括第一解析结果,其中,第一解析结果用于指示接收设备解密第一应用层报文失败。发送设备接收到接收设备发送的第一应用层回执信息之后,方法还包括:

发送设备与接收设备协商密钥信息。

发送设备基于协商后的密钥信息加密第一压缩数据得到第二加密后数据。

发送设备将包括有第二加密后数据的第二应用层报文发送到接收设备。

在一种可能的实现方式中,第一应用层回执信息包括第二解析结果,其中,第二解析结果用于指示接收设备解码解压缩应用层报文失败。发送设备接收到接收设备发送的第一应用层回执信息之后,方法还包括:

发送设备基于第二解析结果和接收设备协商码本。

发送设备基于协商后的码本编码压缩原始数据得到第二压缩数据。

发送设备将第二压缩数据加密,得到第三加密后数据。

发送设备将第三应用层报文发送给接收设备,第三应用层报文包括第三加密后数据。

在一种可能的实现方式中,上述发送设备为终端,并且接收设备为北斗网络设备。

在一种可能的实现方式中,上述发送设备为北斗网络设备,并且接收设备为终端。

第二方面,本申请提供了一种北斗通信系统中应用层回执传输方法,包括:

接收设备接收到发送设备发送的第一应用层报文的第一MDCPPDU。其中,第一MDCPPDU的包头信息包括后继指示字段。后继指示字段用于指示第一MDCPPDU在第一应用层报文中的顺序。

在接收设备确定出第一MDCPPDU为第一应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,接收设备基于第一MDCPPDU得到第一应用层报文。其中,M为正整数。

接收设备生成第一应用层回执信息,第一应用层回执信息用于指示接收设备解析第一应用层报文的结果。

接收设备将第一应用层回执信息发送至发送设备。

在一种可能的实现方式中,在接收设备生成第一应用层回执信息之前,方法还包括:接收设备对第一应用层报文中的第一加密后数据进行解密,并在解密成功后得到第一压缩数据。

在一种可能的实现方式中,在接收设备对第一应用层报文中的第一加密后数据进行解密,并在解密成功后得到第一压缩数据之后,方法还包括:接收设备对第一压缩数据进行解码解压缩得到原始数据。

在一种可能的实现方式中,在接收设备生成第一应用层回执信息之前,方法还包括:接收设备对第一加密后数据解密失败。

接收设备生成第一应用层回执信息。其中,第一应用层回执信息包括第一解析结果,第一解析结果用于指示接收设备解密失败。

在一种可能的实现方式中,在接收设备生成第一应用层回执信息之前,方法还包括:接收设备对第一压缩数据解码解压缩失败。

接收设备生成第一应用层回执信息。其中,第一应用层回执信息包括第二解析结果,第二解析结果用于指示接收设备解码失败。

在一种可能的实现方式中,第一应用层回执信息包括第三解析结果,第三解析结果用于指示接收设备解析应用层报文成功。

在一种可能的实现方式中,方法还包括:接收设备为北斗网络设备200时,可以将原始数据通过蜂窝网络发送给蜂窝用户设备。

在一种可能的实现方式中,接收设备接收到发送设备发送的第一应用层报文的第一MDCPPDU之前,方法还包括:接收设备在PHY层获取到发送设备发送的第一入站数据。

接收设备基于第一入站数据执行物理层处理得到第一用户帧。

接收设备将第一用户帧作为接收设备的SLC层中的第一SLC PDU,从PHY层呈递给接收设备的SLC层。

在一种可能的实现方式中,在接收设备将第一用户帧作为接收设备的SLC层中的第一SLC PDU,从PHY层呈递给接收设备的SLC层之后,方法还包括:接收设备接收到发送设备发送的第一SLC SDU中的X个SLC PDU,X为正整数。其中,X个SLC PDU包括第一SLC PDU,第一SLC PDU的帧头信息包括帧总数字段和帧序号字段。帧总数字段用于指示第一SLC SDU中包括SLCPDU的总数量N,N为正整数,帧序号字段用于指示第一SLC PDU在第一SLC SDU中的帧序号。

当X小于N时,接收设备向发送设备发送第二ACK,其中,第二ACK用于指示第一SLCSDU中接收设备未接收到的SLC PDU的帧序号。

在一种可能的实现方式中,当接收设备接收到发送设备发送的第一SLC SDU中的X个SLC PDU后,方法还包括:当X等于N时,接收设备在SLC层将X个SLC PDU拼接成第一SLCSDU,并将第一SLC SDU作为MDCP层的第一MDCP PDU从接收设备的SLC层上报给接收设备的MDCP层。

在一种可能的实现方式中,当接收设备接收到发送设备发送的第一SLC SDU中的X个SLC PDU后,方法还包括:当X等于N时,接收设备向发送设备发送第一ACK,其中,第一ACK用于指示接收设备已收齐第一SLC SDU中的N个SLC PDU。

在一种可能的实现方式中,在接收设备确定出第一MDCPPDU为应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,接收设备基于第一MDCPPDU得到应用层报文,具体包括:接收设备在MDCP层将M个MDCP PDU拼接得到MDCPSDU,并将MDCP SDU作为应用层报文从MDCP层上报给应用层。

在一种可能的实现方式中,接收设备将第一应用层回执信息发送至发送设备,具体包括:接收设备将第一应用层回执信息从接收设备的应用层经过预设接口发送至接收设备的SLC层。

接收设备在SLC层给第一应用层回执信息添加帧头信息后,将添加了帧头信息的第一应用层回执信息下发至物理层,得到回执帧。其中,帧头信息包括帧类型字段,帧类型字段用于指示用户帧的帧类型。

接收设备将回执帧发送至发送设备。

在一种可能的实现方式中,上述发送设备为终端,并且接收设备为北斗网络设备。

在一种可能的实现方式中,上述发送设备为北斗网络设备,并且接收设备为终端。

第三方面,本申请提供了一种北斗通信系统,包括:终端和北斗网络设备;其中:

发送设备,用于向接收设备发送第一应用层报文的第一MDCPPDU。接收设备,用于接收第一MDCPPDU。接收设备,还用于在确定出第一MDCPPDU为第一应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,基于第一MDCPPDU得到第一应用层报文。其中,M为正整数。接收设备,还用于生成第一应用层回执信息,第一应用层回执信息用于指示接收设备解析第一应用层报文的结果。接收设备,还用于向发送设备发送第一应用层回执信息。发送设备,用于接收第一应用层回执信息。

在一种可能的实现方式中,发送设备还可以执行上述第一方面中任一种可能的实现方式中的方法。

在一种可能的实现方式中,接收设备还可以执行上述第一方面中任一种可能的实现方式中的方法。

在一种可能的实现方式中,上述发送设备为终端,并且接收设备为北斗网络设备。

在一种可能的实现方式中,上述发送设备为北斗网络设备,并且接收设备为终端。

第四方面,本申请提供了一种通信装置,包括一个或多个处理器、一个或多个存储器和收发器。收发器、该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得通信装置执行上述第一方面或第二方面任一项可能的实现方式中的方法。

其中,该通信装置可以为终端或其他产品形态的设备。

第五方面,本申请提供了一种通信装置,包括一个或多个处理器、一个或多个存储器和收发器。收发器、该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得通信装置执行上述第一方面或第二方面任一项可能的实现方式中的方法。

其中,该通信装置可以为北斗网络设备,或北斗网络设备中的任一网元或多个网元的组合。

第六方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述第一方面任一项可能的实现方式中的方法。

第七方面,本申请提供了一种计算机存储介质,包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述第二方面任一项可能的实现方式中的方法。

第八方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面任一项可能的实现方式中的方法。

第九方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第二方面任一项可能的实现方式中的方法。

第十方面,本申请提供了一种芯片或芯片系统,应用于终端,包括处理电路和接口电路,接口电路用于接收代码指令并传输至所述处理电路,处理电路用于运行所述代码指令以执行上述第一方面或第二方面任一项可能的实现方式中的方法。

附图说明

图1A为本申请实施例提供的一种北斗通信系统示意图;

图1B为本申请实施例提供的一种北斗通信系统示意图;

图1C为本申请实施例提供的一种北斗通信系统示意图;

图2A-图2B为本申请实施例提供的一种北斗通信系统中的入站协议示意图;

图3A-图3B为本申请实施例提供的一种北斗通信系统中的出站协议示意图;

图4为本申请实施例提供的一种北斗通信系统中的ACK处理流程示意图;

图5为本申请实施例提供的一种北斗通信系统中的协议处理流程示意图;

图6A为本申请实施例提供的一种北斗通信系统中的入站传输示意图;

图6B为本申请实施例提供的一种北斗通信系统中的出站传输示意图;

图7为本申请实施例提供的一种北斗通信系统中的应用层回执机制示意图;

图8为本申请实施例提供的一种北斗通信系统中的应用层报文示意图;

图9为本申请实施例提供的一种北斗通信系统中的回执帧示意图;

图10为本申请实施例提供的一种北斗通信系统中的回执帧示意图;

图11为本申请实施例提供的一种北斗通信系统中的应用层回执机制示意图;

图12为本申请实施例提供的一种硬件结构示意图;

图13为本申请实施例提供的一种北斗通信系统中应用层回执传输方法的流程示意图;

图14为本申请实施例提供的一种通信装置的结构示意图;

图15为本申请实施例提供的另一种通信装置的结构示意图;

图16为本申请实施例提供的另一种通信装置的结构示意图;

图17为本申请实施例提供的另一种通信装置的结构示意图。

具体实施方式

下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

下面介绍本申请实施例提供的一种北斗通信系统10。

如图1A所示,北斗通信系统10可以包括但不限于终端100、北斗短报文卫星21、北斗网络设备200、短消息中心25和终端300等等。可选的,该北斗通信系统10还可以包括国家紧急救援平台26、国家紧急救援中心27。

其中,北斗网络的终端100可以向蜂窝网络的终端300发送短报文信息。具体的,终端100可以先发送短报文信息给北斗短报文卫星21,北斗短报文卫星21只进行中继,可以直接将终端100发送的短报文信息转发给地面的北斗网络设备200。北斗网络设备200可以根据北斗通信协议解析卫星转发的短报文信息,并将从短报文信息中解析出的报文内容转发给短消息中心(shortmessageservicecenter,SMSC)25。短消息中心25可以通过传统的蜂窝通信网络,将报文内容转发给终端300。其中,北斗网络设备200也可以将终端100发送的紧急救援类型的报文,通过国家救援平台26发送给国家紧急救援中心27。

蜂窝网络的终端300(可以称为蜂窝用户设备)也可以向北斗网络的终端100发送短报文信息。终端300可以通过传统的蜂窝通信网络(又称为蜂窝网络),将短消息发送给短消息中心25。短消息中心25可以将终端300的短消息转发给北斗网络设备200。北斗网络设备200可以将终端300的短消息通过北斗短报文卫星21中继发送给终端100。

其中,上述北斗网络设备200可以包括北斗地面发送/接收站22、北斗中心站23和北斗短报文融合通信平台24。其中,北斗地面发送/接收站22可以包括分别具有发送功能的一个或多个设备和具有接收功能的一个或多个设备,或者可以包括具有发送功能和接收功能的一个或多个设备,此处不作限定。北斗地面发送/接收站22可用于北斗网络设备200在物理层(physicallayerprotocol,PHY)对数据的处理功能。北斗中心站23可用于北斗网络设备200在卫星链路控制层层和消息数据汇聚层(messagedataconvergenceprotocol,MDCP)对数据的处理功能。北斗短报文融合通信平台24可用于在应用层(applicationlayerprotocol,APP)对数据的处理功能。

其中,上述北斗通信系统10中,发送设备可以向接收设备发送数据。当接收设备收到发送设备发送的数据帧后,可以向发送设备发送SLC层的确认字符(ACK)。发送设备可以基于ACK确定出接收设备是否成功接收数据帧。

接下来介绍本申请实施例中提供的一种北斗通信系统10的ACK机制。

图1B示出了本申请实施例提供的一种北斗通信系统中数据入站的传输过程。

如图1B所示,数据入站可以指终端100将数据发送给北斗网络设备200。例如,终端100可以向北斗地面收发站22发送数据帧。北斗地面收发站22可以将数据帧发送给北斗中心站23。北斗中心站23可以将数据帧汇聚成应用层报文上报给北斗短报文融合通信平台24。北斗中心站23可以在接收到终端100发送的数据帧后,向终端100返回SLC层的ACK。该ACK可用于指示北斗网络设备200是否成功收到终端100发送的数据帧。其中,数据帧可以指本申请实施例中的SLC PDU。

图1C示出了本申请实施例提供的一种北斗通信系统中数据出站的传输过程。

如图1C所示,数据出站可以指北斗网络设备200将数据发送给终端100。例如,北斗短报文融合通信平台24可以将应用层报文发送给北斗中心站23;然后,北斗中心站23可以将应用层报文拆分为一个或多个数据帧,并将该一个或多个数据帧通过北斗地面收发站22和北斗短报文卫星21发送至终端100。终端100可以在接收到北斗网络设备200发送的数据帧后,向北斗网络设备200返回SLC层的ACK。该ACK可用于指示终端100是否成功收到北斗网络设备200发送的数据帧。其中,数据帧可以指本申请实施例中的SLC PDU。

在一种可能的实现方式中,由于出站传输过程中,北斗网络设备200可以在SLC层将向多个终端发送的数据帧拼接在一起得到出站数据,再将出站数据发送给所有终端。因此,北斗网络设备200的SLC层出站资源紧张,处理重传数据会给北斗网络设备200带来运算资源的损耗。因此,北斗网络设备200可以在将数据发送出去后,将发送过的数据清除缓存。同理,终端100在接收到北斗网络设备200发送的数据帧后,不给北斗网络设备200返回SLC层的AKC。在出站传输过程中,没有SLC层的重传机制。

接下来介绍本申请实施例中提供的一种北斗通信系统10的入站数据的协议架构。

图2A示出了本申请实施例中提供的一种北斗通信系统10的入站数据的协议封装架构示意图。

如图2A所示,终端100上的北斗报文传输协议层可以分为应用层、消息数据汇聚层、卫星链路控制层和物理层。

终端100发送数据给北斗网络设备200时,终端100上的北斗报文传输协议的工作流程可以如下:

在APP层,终端100可以将原始数据进行编码压缩,得到压缩数据。终端100可以将压缩数据进行加密,得到加密后数据。并在加密后数据前添加报文头信息,得到应用层报文。其中,原始数据可以包括但不限于用户输入的文本信息、接收用户的数量指示、接收用户的ID、终端100的位置信息、语音、图像、动画等。其中,报文头信息可以包括但不限于压缩指示字段、加密指示字段等等。其中,压缩指示字段可用于指示终端100压缩数据使用的编码压缩算法类型。加密指示字段用于指示终端100加密数据使用的加密算法类型。

可选的,终端100可以在编码压缩原始数据,得到压缩数据后,在压缩数据前添加上述压缩指示字段。终端100再使用密钥加密添加了压缩指示字段的压缩数据,得到加密后数据。

在MDCP层,终端100可以通过层间接口获取到APP层下发的应用层报文,并将应用层报文作为一个MDCP层的服务数据单元(serverdataunit,SDU),简称为MDCPSDU。在MDCP层,终端100可以在MDCPSDU的尾部添加填充数据(padding)至指定长度,并给MDCP SDU添加冗余长度指示字段。该冗余长度指示字段可用于表示该填充数据的长度。终端100可以将填充数据以及增加冗余长度指示字段之后的MDCP SDU,拆分成一个或多个固定长度的MDCP分段数据(M_segment),并在每个MDCP分段数据的头部添加后继指示字段,得到MDCP层的协议数据单元(protocoldataunit,PDU),简称为MDCPPDU。即MDCP PDU包括M_segment和后继指示字段。其中,后继指示字段可用于表示当前的MDCPPDU在同一个MDCPSDU中的多个MDCPPDU中的顺序,或者当前MDCPPDU为MDCPSDU的唯一一个MDCPPDU。

在SLC层,终端100可以通过层间接口获取到MDCP层下发的MDCPPDU,作为SLC层的SDU,即SLCSDU。在SLC层,终端100可以将SLCSDU分段成一个或多个(例如,4个)固定长度的SLC分段数据(S_segment),并在每个S_segment头部添加帧头信息,得到SLC层的PDU,即SLCPDU。其中,帧头信息中包括服务数据单元交替指示(service data unit alternatedIndicator,SAI)字段、帧总数字段和帧序号字段。

其中,SAI字段可用于表示该SLC PDU是否属于一个未发送过的SLC SDU。

帧总数字段,可用于表示该SLC PDU所属的SLC SDU中包括SLCPDU的总数量。

帧序号字段,可用于表示该SLC PDU在所属的SLC SDU中的序号。

在PHY层,终端100可以通过层间接口获取到SLC层下发的SLC PDU,并将SLCPDU作为用PHY层的用户帧。终端100可以对用户帧进行物理层处理(例如,编码、插导频、调制、扩频等操作),得到入站数据。然后,终端100可以将入站数据发送给北斗短报文卫星21,经由北斗短报文卫星21中继转发给北斗网络设备200。

图2B示出了本申请实施例中提供的一种北斗通信系统10的入站数据的协议解析架构示意图。

如图2B所示,北斗网络设备200上的北斗报文传输协议层可以分为应用层、消息数据汇聚层、卫星链路控制层和物理层。其中,北斗网络设备200可以包括但不限于北斗地面收发站22、北斗中心站23和北斗短报文融合通信平台24。北斗地面收发站22可用于负责PHY层的协议处理。北斗中心站23可用于负责SLC层和MDCP层的协议处理。北斗短报文融合通信平台24可用于负责APP层的协议处理。

终端100发送数据给北斗网络设备200时,终端100上的北斗报文传输协议的工作流程可以如下:

在PHY层,北斗网络设备200可以获取终端100发送的入站数据。北斗网络设备200针对入站数据进行物理层处理(例如,解扩、解调、去导频、解码等操作),得到用户帧,北斗网络设备200可以通过层间接口将用户帧呈递给SLC层,作为SLC层的SLC PDU。

在SLC层,北斗网络设备200可以基于SLC PDU的帧头信息,将属于同一个SLC SDU的SLC PDU拼接成一个SLC SDU。北斗网络设备200可以将SLC SDU通过层间接口呈递给MDCP层,作为MDCP层的MDCP PDU。

在MDCP层,北斗网络设备200可以将属于同一个MDCP SDU的所有MDCP PDU按照接收时间拼接在一起,并将拼接后的MDCPPDU的填充数据和冗余长度指示字段去除得到MDCPSDU。北斗网络设备200可以将MDCP SDU通过层间接口呈递到APP层,作为APP层接收到的应用层报文。

在APP层,北斗网络设备200可以基于应用层报文的报文头,对应用层报文中的加密后数据进行解密,得到压缩数据。北斗网络设备200可以对压缩数据进行解压缩解码,得到原始数据。

本申请实施例中,上述协议处理过程仅为示例说明,本申请对协议处理的具体操作不作限定。

接下来介绍本申请实施例中提供的一种北斗通信系统10的出站数据的协议架构。

图3A示出了本申请实施例中提供的一种北斗通信系统10的出站数据的协议封装架构示意图。

如图3A所示,北斗网络设备200上的北斗报文传输协议层可以分为应用层、消息数据汇聚层、卫星链路控制层和物理层。

北斗网络设备200发送数据给终端100时,北斗网络设备200上的北斗报文传输协议的工作流程可以如下:

在APP层,北斗网络设备200可以将原始数据进行编码压缩,得到压缩数据。北斗网络设备200可以将压缩数据进行加密,得到加密后数据。并在加密后数据前添加报文头信息,得到应用层报文。其中,原始数据可以包括但不限于第三方服务器(例如,短消息中心25)发送的数据、文本、旗语、语音、图像、动画等。其中,报文头信息可以包括但不限于压缩指示字段、加密指示字段等等。其中,压缩指示字段可用于指示北斗网络设备200压缩数据使用的编码压缩算法类型。加密指示字段用于指示北斗网络设备200加密数据使用的加密算法类型。

可选的,北斗网络设备200可以在编码压缩原始数据,得到压缩数据后,在压缩数据前添加上述压缩指示字段。北斗网络设备200再使用密钥加密添加了压缩指示字段的压缩数据,得到加密后数据。

在MDCP层,北斗网络设备200可以通过层间接口获取到APP层下发的应用层报文,并将应用层报文作为一个MDCP SDU。北斗网络设备200可以将MDCP SDU拆分成一个或多个固定长度的MDCP分段数据(M_segment),并在每个MDCP分段数据的头部添加后继指示字段,得到MDCP PDU,即MDCP PDU包括M_segment和后继指示字段。其中,后继指示字段可用于表示当前的MDCPPDU在同一个MDCPSDU中的顺序。

在SLC层,北斗网络设备200可以通过层间接口获取到MDCP层下发的MDCPPDU,作为SLCSDU。北斗网络设备200可以将SLCSDU分段成一个或多个(例如,4个)固定长度的SLC分段数据(S_segment),并在每个S_segment头部添加帧头信息,得到SLC PDU。其中,北斗网络设备200的SLC层的描述可以参见上述图2A所述实施例,在此不再赘述。

在PHY层,北斗网络设备200可以通过层间接口获取到SLC层下发的SLC PDU,作为用户帧。北斗网络设备200可以将多个用户或者一个用户的用户帧(又称为数据帧)拼接在一起,再加上帧头(例如版本号)和校验位得到物理帧。北斗网络设备200可以将物理帧进行物理层处理(例如,编码、插导频、调制、扩频等操作)后得到电文支路(S2C-d支路)的编码数据。北斗网络设备200可以将S2C-d支路的编码数据和导频支路(S2C-p支路)的导频数据(又称为副码)组成导频编码数据,即出站数据。并将出站数据发送给北斗短报文卫星21,经由北斗短报文卫星21中继转发给一个或多个终端。可以理解的是,S2C-p支路的导频数据与卫星波束相关。当卫星波束为已知信息时,S2C-p支路的导频数据也是已知的,无需解码。而S2C-d支路的编码数据是需要解码的。

图3B示出了本申请实施例中提供的一种北斗通信系统10的出站数据的协议解析架构示意图。

如图3B所示,终端100上的北斗报文传输协议层可以分为应用层、消息数据汇聚层、卫星链路控制层和物理层。

在PHY层,终端100可以基于北斗网络设备200发送的S2C-p支路的副码,捕获到将S2C-d支路的编码数据。终端100在捕获到S2C-d支路的编码数据后,可以对S2C-d支路的编码数据进行物理层处理(例如,解扩、解调、去导频、解码等操作),得到物理帧。终端100可以从物理帧中提取出属于终端100的用户帧。终端100可以将用户帧通过层间接口呈递给SLC层,作为SLC层的SLC PDU。

在SLC层,当终端100收到的用户帧为通用数据帧时,终端100可以将属于同一个SLC SDU的SLC PDU拼接成一个SLC SDU。终端100可以将SLC SDU通过层间接口呈递给MDCP层,作为MDCP层的MDCP PDU。当终端100收到的用户帧为ACK帧时,终端100可以重传当前SLCSDU/发送下一个SLCSDU/停止发送SLCSDU。

在MDCP层,终端100可以将一个或多个MDCP PDU拼接成一个MDCP SDU。终端100可以将MDCP SDU通过层间接口呈递到APP层,作为APP层接收到的应用层报文。

在APP层,终端100可以对应用层报文进行解密得到压缩数据。终端100再对压缩数据进行解压缩解码,得到原始数据。

本申请实施例中,上述协议处理过程仅为示例说明,本申请对协议处理的具体操作不作限定。

下面介绍本申请实施例提供的ACK处理流程。

图4示出了本申请实施例中提供的北斗通信系统10中ACK处理流程示意图。

如图4所示,发送设备可以在应用层生成应用层报文。然后,发送设备可以将应用层报文下发至MDCP层,作为MDCP层的MDCP SDU。接着,发送设备可以在MDCP层将MDCPSDU分包为多个MDCPPDU。然后,发送设备可以将MDCP PDU下发至SLC层,作为SLC层的SLCSDU,并在SLC层将SLCSDU分帧为N个SLCPDU,其中N为正整数(例如4)。其中,SLCPDU的帧头信息中包括服务数据单元交替指示(service data unit alternated Indicator,SAI)字段、帧总数字段和帧序号字段。SAI字段可用于表示该SLC PDU是否属于一个未发送过的SLC SDU。帧总数字段可用于表示该SLC PDU所属的SLC SDU中包括SLCPDU的总数量。帧序号字段,可用于表示该SLC PDU在所属的SLC SDU中的序号。

发送设备可以将SLCSDU的SLCPDU发送至接收设备。接收设备可以基于SLCPDU的帧头信息判断是否收到SLCSDU的所有SLCPDU。

若接收设备基于帧头信息判定出已经接收到SLCSDU的所有SLCPDU,接收设备可以向发送设备发送第一ACK。其中,第一ACK可以用于指示接收设备已经接收到SLCSDU的所有SLCPDU。发送设备在收到第一ACK后,可以在SLC层确定出接收设备收到SLCSDU的SLCPDU。若发送设备发送的MDCPSDU的最后一个SLCSDU的SLCPDU,发送设备可以结束发送操作。若发送设备发送的MDCPSDU的非最后一个SLCSDU的SLCPDU,发送设备可以继续发送MDCPSDU的下一个SLCSDU的SLCPDU。

若接收设备基于帧头信息判定出未接收到SLCSDU的所有SLCPDU,接收设备可以向发送设备发送第二ACK。其中,第二ACK可以用于指示接收设备未接收到SLCSDU的所有SLCPDU。发送设备可以在接收到第二ACK后,向接收设备重传该SLCSDU的所有SLCPDU。

在一种可能的实现方式中,第二ACK还可以指示未接收到的SLCPDU的帧序号。发送设备在收到第二ACK后,可以向接收设备重传第二ACK指示的未接收到的SLCPDU。

示例性的,如图4所示,发送设备接收到第二ACK后,重传接收设备未收到的SLCPDU,接收设备收到SLCPDU后,可以向发送设备反馈第一ACK。

其中,在入站过程中,发送设备可以为终端100,接收设备可以为北斗网络设备200。在出站过程中,发送设备可以为北斗网络设备200,接收设备可以为终端100。

这样,可以在发送设备向接收设备发送的数据有丢失时,也可以保证数据的传输过程正常进行,接收设备可以接收到发送设备发送的数据。

在一种可能的实现方式中,由于在北斗通信系统中,很多业务都为突发式业务。终端100不需要时刻和北斗网络设备200保持联通,终端100只需要在通信时向北斗网络设备200发送一条业务请求,北斗网络设备200基于业务请求向终端100发送业务响应。如果北斗网络设备200设置有SLC层的重传机制,运算负担重,且有益效果不明显。当发送设备为北斗网络设备200,接收设备为终端100时,发送设备在收到第二ACK后,不给接收设备重传SLCSDU的SLCPDU。可选的,发送设备还可以停止向北斗网络设备200发送SLCSDU。这样,北斗网络设备200不在SLC层重传数据可以更好地节约有限的传输资源。

进一步可选的,当发送设备为北斗网络设备200,接收设备为终端100时,为了进一步节约北斗网络设备200的空口资源,终端100可以不给北斗网络设备发送SLC层的反馈ACK(包括第一ACK和第二ACK)。

图5示出了本申请实施例中提供的北斗通信系统10的MDCP层和SLC层对数据的协议处理流程示意图。其中,在入站过程中,发送设备为终端100,接收设备为北斗网络设备200。在出站过程中,发送设备为北斗网络设备200,接收设备为终端100。

1、发送设备在MDCP层对发送数据的协议封装过程。

如图5所示,在MDCP层,发送设备可以将MDCP SDU,拆分成一个或多个固定长度的MDCP分段数据(M_segment),并在每个MDCP分段数据的头部添加后继指示字段,得到MDCPPDU,即MDCP PDU包括M_segment和后继指示字段。

需要说明的是,在入站过程中,首先,发送设备可以给MDCPSDU添加填充(padding)数据,和冗余长度指示字段。然后,发送设备可以将添加了填充数据和冗余长度指示字段的MDCPSDU拆分成一个或多个固定长度的MDCP分段数据,并在每个MDCP分段数据的头部添加后继指示字段,得到MDCP PDU。

需要说明的是,在出站过程中,发送设备可以直接将MDCPSDU拆分成一个或多个固定长度的MDCP分段数据,并在每个MDCP分段数据的头部添加后继指示字段,得到MDCP PDU。

发送设备可以将拆分得到的MDCP PDU,按照高比特位到低比特位的先后顺序存入MDCP层发送缓冲区(MDCP Txbuffer)中:

其中,后继指示字段的数据长度可以占用2比特(bit)。后继指示字段的值含义可以如下:

01:表示该MDCP PDU为本个MDCP SDU中多个MDCP PDU中的起始MDCP PDU;

10:表示该MDCP PDU为本个MDCP SDU中多个MDCP PDU中的中间MDCP PDU,即,指本个MDCP SDU中除了起始MDCP PDU和最后一个MDCP PDU之外的其他MDCP PDU;

11:表示该MDCP PDU为本个MDCP SDU中多个MDCP PDU中的最后一个MDCP PDU;

00:表示该MDCP PDU为本个MDCP SDU中唯一一个MDCP PDU。

示例性的,如图5所示,终端100可以将MDCP SDU拆分成3个MDCP PDU,其中,按照高比特位到低比特位的顺序,这3个MDCP PDU依次是MDCP PDU0、MDCP PDU1和MDCP PDU2。其中,由于MDCP PDU0是当前MDCP SDU中的起始MDCP PDU,终端100可以将MDCP PDU0中后继指示字段的值设置为“01”。由于MDCP PDU1是当前MDCP SDU中的中间MDCP PDU,终端100可以将MDCP PDU1中后继指示字段的值设置为“10”。MDCP PDU2是当前MDCP SDU中的最后一个MDCP PDU,终端100可以将MDCP PDU2中后继指示字段的值设置为“11”。

2、发送设备在SLC层对发送数据的协议封装过程。

在SLC层,发送设备在SLC层可以通过SLC层发送状态控制器,控制SLC层的SLC PDU发送策略,包括SLC PDU的初传和重传。发送设备还可以基于接收设备发送的接收反馈(例如,ACK),控制SLCPDU的发送和重传。发送设备可以通过层间接口获取到MDCP层下发的MDCPPDU,作为SLCSDU。其中,当发送设备向接收设备发送前一个SLC SDU,并确认接收设备接收成功之后,才会从MDCP层获取到下一个MDCP PDU作为下一个SLC SDU,发送给接收设备。

示例性,发送设备可以将MDCP PDU0、MDCP PDU1和MDCP PDU2中的MDCPPDU0下发至SLC层。在SLC层,发送设备首先通过层间接口获取到MDCP层下发的MDCP PDU0,发送设备可以将MDCP PDU0作为本次报文传输过程中SLC层的首个SLC SDU(即,SLCSDU0)发送给接收设备。在发送设备确定已经将接收设备将SLC SDU0的数据发送给接收设备后,发送设备可以从MDCP层获取MDCP PDU1,并将MDCP PDU1作为本次报文传输过程第2个SLC SDU(即,SLCSDU1)发送给接收设备。在发送设备确定已经将接收设备将第2个SLC SDU的数据发送给接收设备后,发送设备可以从MDCP层获取MDCP PDU2,并将MDCP PDU2作为本次报文传输过程最后一个SLC SDU发送给接收设备。

可选的,发送设备可以通过层间接口将MDCP层的MDCPSDU的所有MDCPPDU下发至SLC层,作为SLC层的SLCSDU。其中,当发送设备向接收设备发送前一个SLC SDU,并确认接收设备接收成功之后,再发送下一个SLCSDU给接收设备。

示例性的,发送设备可以将MDCP PDU0、MDCP PDU1和MDCP PDU2都下发至SLC层。在SLC层,发送设备首先通过层间接口获取到MDCP层下发的MDCP PDU0、MDCP PDU1和MDCPPDU2,发送设备可以将MDCP PDU0作为本次报文传输过程中SLC层的首个SLC SDU(即,SLCSDU0)。将MDCP PDU1作为本次报文传输过程中SLC层的第2个SLC SDU(即,SLCSDU1)。将MDCP PDU2作为本次报文传输过程中SLC层的第3个SLC SDU(即,SLCSDU2)。在发送设备确定已经将接收设备将SLC SDU0的数据发送给接收设备后,发送设备可以将SLCSDU1发送给接收设备,以此类推。

上述示例仅仅用于解释本申请,不应构成限定。

在SLC层,发送设备可以将SLCSDU分段成一个或多个固定长度的SLC分段数据(S_segment),并在每个S_segment头部添加帧头信息,得到SLC PDU。其中,帧头信息中包括SAI字段、帧总数字段和帧序号字段。其中:

SAI字段可以占用1bit。SAI字段的值可以为“0”或“1”。发送设备可以判断当前要发送的SLC PDU是否属于一个未发送过的SLC SDU,若是,则发送设备可以设置SLC PDU中的SAI字段的值与前一个SLC SDU会话(包括SLC SDU初传会话或SLC SDU重传会话)中SLC PDU的SAI字段的值不同;若否,则发送设备可以设置SLC PDU中SAI字段的值与前一个SLC SDU会话中SLC PDU的SAI字段的值相同。当SLC PDU中SAI字段的值与前一个SLC SDU会话中SLCPDU的SAI字段的值相同时,表示该SLC PDU是重传数据。

示例性的,发送设备在整个应用层报文传输过程中,需要传输3个SLC SDU。每个SLC SDU可以包括4个SLC PDU。其中,第1个SLC SDU(即,SLCSDU0)中4个SLC PDU的SAI字段的值可以都为“0”,第2个SLC SDU(即,SLCSDU1)中4个SLC PDU的SAI字段的值可以都为“1”。第3个SLC SDU中4个SLC PDU的SAI字段的值可以都为“0”。

上述示例仅仅用于解释本申请,不应构成限定。

3、接收设备在SLC层对接收数据的协议解析过程。

在SLC层,接收设备接收发送设备的SLC PDU后,可以基于SLC PDU的帧头信息判断是否接收完一个SLC SDU中的所有SLC PDU。

若判定出已接收完一个SLC SDU中的所有SLC PDU,则接收设备可以将这接收到的一个或多个SLC PDU按照帧序号字段的值由小到大,顺序拼接成一个SLC SDU。进一步的,接收设备还可以向发送设备发送反馈信息(例如,第一ACK),发送设备收到反馈信息后可以基于反馈信息确认接收设备接收到所有的SLCPDU。

若判定出未接收完一个SLC SDU中的所有SLC PDU,则接收设备在SLC层接收窗结束后,可以发送反馈信息(例如,第二ACK)通知发送设备重传未接收到的SLC PDU。接收设备可以在拼接完SLC SDU后,通过层间接口将SLC SDU上报给MDCP层,作为MDCP PDU。

其中,接收设备在SLC层可以通过SLC层接收状态控制器,基于SLC PDU中的SAI字段,控制SLC层的反馈信息(例如,ACK)的发送策略以及SLCPDU的拼接。该SLC层接收状态控制器的持续时间为发送设备上SLC PDU的最大重传时间。

示例性的,若接收设备接收到的第1个SLC PDU的SAI值为“0”、帧总数值为“11”、帧序号为“00”。第2个SLC PDU的SAI值为“0”、帧总数值为“11”、帧序号为“01”。第3个SLC PDU的SAI值为“0”、帧总数值为“11”、帧序号为“10”。第4个SLC PDU的SAI值为“0”、帧总数值为“11”、帧序号为“11”。接收设备判定出已接收完第一个SLC SDU(即SLCSDU0)中的所有SLCPDU,接收设备可以将这4个SLC PDU按照帧序号从小到大顺序,拼接成SLCSDU0,并上报给MDCP层,作为MDCP层的MDCP PDU0。接收设备可以将MDCP PDU0存入MDCP层接收缓冲区(MDCPRxbuffer)中。其中,MDCP PDU0中后继指示字段的值为“01”。

进一步的,接收设备的SLC层接收状态控制器可以向发送设备的SLC层发送状态控制器发送ACK。

在一种可能的实现方式中,ACK帧可以包括帧头信息和位图(bitmap)字段。其中,位图字段可以用于反馈接收设备的SLC PDU的接收情况。例如,bitmap字段的长度可以为1bit,bitmap的值可以指示是否接收到SLCSDU的所有SLCPDU。例如,当bitmap字段的值为0时,可以表明未接收到SLCSDU的所有SLCPDU,当bitmap字段的值为1时,可以表明接收到SLCSDU的所有SLCPDU,在此,上述示例仅仅用于解释本申请,不应构成限定。

再例如,bitmap字段的长度可以为4bit,bitmap的每一个比特位都可以标记是否接收到对应的帧序号的SLCPDU。其中,bitmap的首位可以用于标记第一个SLCPDU(例如帧序号为00)的接收情况,第二位可以用于标记第二个的SLCPDU(例如帧序号为01)的接收情况,以此类推。当bitmap的某个比特位的值为0时,表明接收设备在接收窗内未接收到该比特位对应的SLCPDU。当bitmap的某个比特位的值为1时,表明接收设备在接收窗内已经接收到该比特位对应的SLCPDU。

在此,由于接收设备接收到SLCSDU0的所有SLCPDU。所以bitmap的值为1111。当发送设备接收到接收设备发送的第一ACK后,基于第一ACK的bitmap的值,确认接收设备已经成功接收SLCPDU0的所有SLCPDU,开始发送SLCSDU1。

又示例性的,若接收设备接收到的第1个SLC PDU的SAI值为“0”、帧总数值为“11”、帧序号为“00”。第2个SLC PDU的SAI值为“0”、帧总数值为“11”、帧序号为“10”。第3个SLCPDU的SAI值为“0”、帧总数值为“11”、帧序号为“11”。接收设备在接收窗时间内,未接收到SLCSDU0的SAI值为“0”、帧总数值为“11”、帧序号为“01”的SLCPDU,也就是未接收到SLCSDU0的所有SLCPDU中的第二个SLCPDU(帧序号为01)。接收设备的SLC层接收状态控制器可以向发送设备的SLC层发送状态控制器发送第二ACK。其中,第二ACK的bitmap字段的值为1011。当发送设备接收到接收设备发送的第二ACK后,基于bitmap的值,确认接收设备未接收到SLCPDU0的第二个SLCPDU,发送设备重传SLCPDU0的第二个SLCPDU。

4、接收设备在MDCP层对接收数据的协议解析过程。

在MDCP层,接收设备可以在接收到发送设备发送的一个MDCP SDU的所有MDCP PDU后,基于MDCP PDU中的后继指示字段,按接收的时间顺序聚合多个MDCP PDU,得到MDCPSDU。

例如,当接收设备从SLC层获取到后继指示字段的值为“11”的MDCP PDU后,接收设备可以从MDCP Rxbuffer中将所有MDCP PDU取出,并按照后继指示字段的值以及接收时间顺序进行拼接,得到MDCP SDU。接收设备可以将MDCP SDU通过层间接口上报给应用层,作为应用层报文。

需要说明的是,在入站过程中,接收设备在按照后继指示字段的值以及接收时间顺序进行拼接后,还要去除冗余指示字段和padding数据,得到MDCP SDU。

这样,发送设备和接收设备之间可以通过ACK确保SLC层的数据不会有丢失。

但是,如果只采用SLC层的确认机制,发送设备基于ACK确定出接收设备的SLC层是否成功接收到发送设备发送的应用层报文的所有SLC PDU,但并不代表接收设备的应用层可以成功解析收到的应用层报文。这样,不能可靠地指示接收设备是否能得到发送设备发送的原始数据(即接收设备无法解析出应用层报文的原始数据)。

也就是说,如果发送设备向接收设备发送数据时,在SLC层发送成功,但应用层解密或者解码失败,接收设备无法解析得到应用层报文的原始数据,发送设备也无法确认接收设备的解析情况。这就会造成发送设备的用户认为自己已经将北斗短消息发送至接收设备,而接收设备却无法获取接收成功的原始数据的情况。而且,即使接收设备无法获取原始数据,但运营商根据SLC层确认应用层报文发送/接收成功,收取了用户的通信费用,收费不合理,造成用户体验不佳。

甚至,在一些紧急情况下,只进行SLC层确认还可能造成严重后果,例如,终端100向北斗网络设备200发送紧急救援信息时,只在SLC层进行确认,如果发生应用层解密/解码失败的情形,终端100的用户并不知情,不会再发送第二条紧急救援信息。北斗网络设备200无法解码/解密收到的应用层报文,无法将应用层报文中的救援信息发送至国家紧急救援中心27,延误救援时间。

因此,本申请提供了一种北斗通信系统中应用层回执传输方法。接收设备可以在接收到发送设备发送的应用层报文后,解析应用层报文,基于解析应用层报文的结果得到对应的应用层回执信息。接收设备可以将应用层回执信息发送至发送设备,发送设备可以基于应用层回执信息确认接收设备解析应用层报文的情况(例如解析成功,解析失败)。采用本申请实施例提供的方法,可以建立可信的报文传输机制,保证发送设备可以得到接收设备解析应用层报文的情况。

进一步的,发送设备还可以基于应用层回执信息执行相应的操作。例如,如果应用层回执信息指示接收设备解析应用层报文成功,发送设备结束此次发送操作。如果应用层回执信息指示接收设备解析应用层报文失败,发送设备可以重传应用层报文。这样,可以进一步保证北斗通信系统的传输可靠性。

下面具体介绍北斗通信系统中应用层回执传输方法的传输过程。

如图6A所示,在入站过程中,终端100将数据发送给北斗网络设备200。具体的,终端100可以向北斗地面收发站22发送入站数据。北斗地面收发站22可以将入站数据进行物理层处理(例如,解扩、解调、去导频、解码等操作),得到用户帧,并将用户帧发送给北斗中心站23。北斗中心站23可以将用户帧作为SLCPDU并将SLCPDU汇聚成应用层报文上报给北斗短报文融合通信平台24。北斗中心站23可以在接收到终端100发送的SLCPDU后,向终端100返回SLC层的确认字符(ACK)。该ACK可用于指示北斗网络设备200是否成功收到终端100发送的SLCPDU。北斗短报文融合通信平台24可以解析收到的应用层报文,得到应用层解析信息。该应用层解析信息可用于指示北斗网络设备200是否成功解析终端100发送的应用层报文。

如图6B所示,在出站过程中,北斗网络设备200将数据发送给终端100。具体的,北斗短报文融合通信平台24将应用层报文发送至北斗中心站23,北斗中心站23可以将应用层报文拆分为多个用户帧并将该多个用户帧依次发送至北斗地面收发站22。北斗地面收发站22可以将用户帧拼接放入物理帧,并将物理帧进行物理层处理(例如,编码、插导频、调制、扩频等操作)得到出站数据并将出站数据发送至终端100。终端100可以在接收到北斗网络设备200发送的出站数据后,对出站数据进行物理层处理(例如,解扩、解调、去导频、解码等操作),得到物理帧。终端100可以从物理帧中取出终端100的用户帧,并将其上传至SLC层作为SLCPDU。终端100在收到SLCPDU后,可以向北斗网络设备200返回SLC层的ACK。该ACK可用于指示终端100接收北斗网络设备200发送的SLCPDU的情况。终端100还可以将收到的SLCPDU汇聚成应用层报文,并解析得到的应用层报文。终端100可以基于解析应用层报文的结果生成对应的应用层回执信息。该应用层回执信息可用于指示终端100是否成功解析北斗网络设备200发送的应用层报文。

下面具体介绍北斗通信系统10中一种可能的应用层的回执处理机制。

图7示出了本申请实施例中发送设备和接收设备间的一种可能的应用层回执处理机制。

如图7所示,接收设备可以在接收到发送设备发送的应用层报文对应的所有SLCPDU后,向发送设备发送ACK和应用层回执信息。具体的,应用层的回执处理流程如下:

S701,发送设备生成应用层报文。

在APP层,发送设备可以将原始数据进行编码压缩得到压缩数据,再将压缩数据加密得到加密后数据,并给加密后数据添加报文头信息得到应用层报文。

S702,发送设备将应用层报文通过层间接口从APP层下发至MDCP层。

S703,发送设备将应用层报文作为MDCPSDU,基于MDCPSDU得到M个MDCPPDU。

在MDCP层,发送设备可以将应用层报文作为MDCPSDU,并将MDCPSDU拆分成M个MDCPPDU,其中M为正整数。需要说明的是,当发送设备为终端100时,发送设备需要给MDCPSDU添加填充数据和冗余长度指示字段。再将添加了填充数据和冗余长度指示字段的MDCPSDU拆分成M个MDCPPDU。

S704,发送设备将MDCPPDU通过层间接口从MDCP层下发至SLC层。

S705,发送设备将MDCPPDU作为SLCSDU,并将SLCSDU分帧为N个SLCPDU。

在SLC层,发送设备可以将MDCPPDU作为SLCSDU,并将SLCSDU分帧为SLCPDU。具体的描述可以参见上述图5所述实施例,在此不再赘述。

S706,发送设备将SLCPDU发送至接收设备。

具体的,发送设备可以将SLCPDU通过层间接口从SLC层下发至PHY层。

在PHY层,发送设备可以针对SLC层下发的SLCPDU执行物理层处理(例如,编码、插导频、调制、扩频等操作)后,将其转发至接收设备。在此,发送设备为终端100时,发送设备在PHY层执行的操作的详细描述可以参见上述图2A所述实施例,发送设备为北斗网络设备200时,发送设备在PHY层执行的操作的详细描述可以参见上述图3A所述实施例,在此不再赘述。

接收设备在PHY层接收到发送设备发送的数据后,对接收到的数据进行解调解码等操作。之后,接收设备可以将执行物理层处理(例如,解扩、解调、去导频、解码等操作)之后的数据上传至SLC层,作为SLC层的SLCPDU。其中,当接收设备为北斗网络设备200时,接收设备在PHY层执行操作的详细描述可以参见上述图2B所述实施例。当接收设备为终端100时,接收设备在PHY层执行操作的详细描述可以参见上述图3B所述实施例,在此不再赘述。

S707,发送设备向接收设备发送第一ACK。

在SLC层,接收设备可以基于SLCPDU的帧头信息向发送设备回复ACK。

若接收设备基于帧头信息判定出未接收到SLCSDU的所有SLCPDU,接收设备可以向发送设备发送第二ACK。其中,第二ACK可以用于指示接收设备未接收到SLCSDU的所有SLCPDU,且第二ACK还可以指示未接收到的SLCPDU的帧序号。发送设备在收到第二ACK后,可以向接收设备重传第二ACK指示的未接收到的SLCPDU。

若接收设备基于帧头信息判定出已经接收到SLCSDU的所有SLCPDU,接收设备可以向发送设备发送第一ACK。其中,第一ACK可以用于指示接收设备已经接收到SLCSDU的所有SLCPDU。发送设备在收到第一ACK后,确定出接收设备收到SLCSDU的SLCPDU。在此,下述实施例以接收设备接收到SLCSDU的所有SLCPDU这种情形来描述。

需要说明的是,若发送设备发送的MDCPSDU的非最后一个SLCSDU的SLCPDU,发送设备可以在接收到第一ACK后,继续发送MDCPSDU的下一个SLCSDU的SLCPDU。

若发送设备发送的MDCPSDU的最后一个SLCSDU的SLCPDU,发送设备可以等待接收设备发送应用层回执信息。其中,由于接收设备只需要在接收到最后一个SLCSDU对应SLCSDU的所有SLCPDU后,就可以向发送设备发送指示接收到所有SLCPDU的第一ACK。接收设备需要拼接MDCPSDU对应的所有SLCPDU得到应用层报文后,才能开始解析应用层报文,并基于解析应用层报文的结果回复对应的应用层回执信息,所以发送设备接收到第一ACK的时间短于应用层回执信息。

S708,接收设备将SLCPDU拼接为SLCSDU。

具体的,接收设备拼接SLCPDU的详细描述可以参见图5所示实施例,在此不再赘述。

S709,接收设备将SLCSDU通过层间接口从SLC层上传至MDCP层。

S710,接收设备可以将SLCSDU作为MDCPPDU,并基于MDCPPDU得到MDCPSDU。

在MDCP层,接收设备可以基于后继指示字段判定出接收到MDCPSDU的所有MDCPPDU后,可以将MDCPPDU按照接收顺序拼接为MDCPSDU。

S711,接收设备将MDCPSDU通过层间接口从MDCP层上传至APP层。

S712,接收设备将MDCPSDU作为应用层报文,解析应用层报文并基于解析应用层报文的结果生成应用层回执信息。

在APP层,接收设备可以将MDCPSDU作为应用层报文,并解析该应用层报文。接收设备可以在解析应用层报文后,基于解析应用层报文的结果生成对应的应用层回执信息。

具体的,当接收设备解析应用层报文失败时,接收设备可以生成用于指示解析失败的应用层回执信息。当接收设备解析应用层报文失败时,接收设备可以生成用于指示解析成功的应用层回执信息。

示例性的,应用层回执信息可以为错误码。错误码的长度可以为1bit。当错误码的值为0时,可以指示接收设备解析应用层报文失败。当错误码的值为1时,可以指示接收设备解析应用层报文成功。需要说明的是,此处的错误码数值及其含义仅为示例。

S713,接收设备将应用层回执信息发送给发送设备。

接收设备可以将应用层回执信息封装为回执帧,并将回执帧发送到发送设备。其中,接收设备得到回执帧与发送设备得到应用层回执信息的详细描述可以参见图9、图10所示实施例。或者,接收设备可以将应用层回执信息封装为应用层回执报文,并将应用层回执报文发送给发送设备。其中,接收设备得到应用层回执报文与发送设备得到应用层回执信息的详细描述可以参见后续所述实施例,在此不再赘述。

发送设备可以在APP层基于接收到的应用层回执信息确定出接收设备解析应用层报文的结果。

进一步的,发送设备还可以基于应用层回执信息中接收设备解析应用层报文的结果,执行相应的操作。例如,如果应用层回执信息指示接收设备解析应用层报文成功,发送设备结束此次发送操作或者发送下一个应用层报文。如果应用层回执信息指示接收设备解析应用层报文失败,发送设备可以重传应用层报文。这样,可以进一步保证北斗通信系统的传输可靠性。

在一种可能的实现方式中,应用层回执信息不仅可以指示接收设备解析应用层报文是否成功。并且,当接收设备解析失败时,应用层回执信息还可以指示接收设备解析应用层报文失败的原因。这样,发送设备可以从应用层回执信息中获得接收设备是否成功解析应用层报文的结果,以及解析失败时解析失败的原因。

具体的,接收设备可以在解析应用层报文后,确定出解析应用层报文的结果对应的编码(又称为错误码)。其中,错误码为接收设备的应用层回执信息。

示例性的,错误码的长度可以为4bit。当错误码的值为0000时,可以指示接收设备成功解析应用层报文。当错误码的值为0001时,可以指示接收设备解析应用层报文失败,且失败原因为解密错误。当错误码的值为0010时,可以指示接收设备解析应用层报文失败,且失败原因为解码错误。等等。

需要说明的是,接收设备不能基于加密后数据解密得到压缩数据时,接收设备可以确定出解析应用层报文的结果为解密错误。接收设备不能基于压缩数据解压缩、解码得到原始数据时,接收设备可以确定出解析应用层报文的结果为解码错误。接收设备成功解析应用层报文得到原始数据时,接收设备确定出解析应用层报文的结果为解析成功。

具体的,接收设备可以在应用层解析应用层报文,并在得到解析应用层报文的结果后,将结果对应的错误码经过层间接口下发至SLC层。接收设备可以在错误码的头部添加帧头信息,得到SLC层的回执帧(又称为应用层回执)。其中,回执帧包括应用层回执信息(即错误码)。接收设备可以将回执帧发送至发送设备。

发送设备在接收到回执帧后,可以基于回执帧中的错误码确定出接收设备解析应用层报文的情况。

进一步的,发送设备在接收到回执帧后,还可以基于回执帧中的错误码执行相应的操作。

若错误码指示接收设备成功解析应用层报文,发送设备可以结束此次发送操作。

若错误码指示接收设备解析应用层报文失败且失败原因为解密错误。发送设备可以确定出接收设备解密错误的原因是发送设备的密钥信息和接收设备的密钥信息不同,发送设备可以在收到回执帧后,和接收设备协商更新密钥信息(包括密钥、密码本)。

具体的,发送设备和接收设备可以在回到蜂窝网络后,通过蜂窝网络设备协商密钥。其中,若发送设备和接收设备协商密钥信息后,发送设备的密钥信息更改为接收设备的密钥信息。发送设备可以基于更改后的密钥信息重新加密压缩数据,得到加密后数据。发送设备再将包括加密后数据的应用层报文发送至接收设备。

或者,若发送设备和接收设备协商密钥信息后,接收设备的密钥信息更改为发送设备的密钥信息,接收设备可以基于更改后的密钥信息重新解密应用层报文的加密后数据。

若错误码指示接收设备解析应用层报文失败且失败原因为解码错误,发送设备可以确定出解码错误的原因是发送设备的编码压缩算法和接收设备的编码压缩算法不同,发送设备和接收设备可以协商编码压缩算法。

具体的,发送设备和接收设备可以在回到蜂窝网络后,通过蜂窝网络设备协商编码加密算法。其中,若发送设备和接收设备协商编码压缩算法后,发送设备的编码压缩算法更改为接收设备的编码压缩算法。发送设备可以基于更改后的编码压缩算法重新编码压缩原始数据,得到压缩数据。发送设备加密压缩数据得到加密后数据,再将包括加密后数据的应用层报文发送至接收设备。

或者,若发送设备和接收设备协商编码压缩算法后,接收设备的编码压缩算法更改为发送设备的编码压缩算法,接收设备可以基于更改后的编码压缩算法重新解码压缩数据。

在一些实施例中,发送设备和接收设备都存储有码本,码本中包括发送设备和接收设备使用的编码压缩算法,当发送设备和接收设备的码本相同时,接收设备可以成功解码压缩数据得到原始数据。当发送设备和接收设备的码本不相同时,接收设备不能解码压缩数据得到原始数据。

在一种可能的实现方式中,发送设备可以在基于应用层回执信息确定出接收设备解析应用层报文成功时,显示提示信息1。提示信息1可以用于提示消息发送成功。发送设备可以在基于应用层回执信息确定出接收设备解析应用层报文失败时,显示提示信息2。提示信息2可以用于提示消息发送失败。

可选的,发送设备可以在基于应用层回执信息确定出接收设备解析应用层报文失败且失败原因为解密失败时,显示提示信息3。提示信息3可以用于提示因为密钥错误导致消息发送失败。进一步的,提示信息3可以提示发送设备的用户回到蜂窝网络更新密钥后,再发送北斗短消息。

发送设备可以在基于应用层回执信息确定出接收设备解析应用层报文失败且失败原因为解码失败时,显示提示信息4。提示信息4可以用于提示因为编码加密算法错误导致消息发送失败。进一步的,提示信息3可以提示发送设备的用户回到蜂窝网络更新编码加密方式后,再发送北斗短消息。

在一种可能的实现方式中,接收设备可以预设为在接收到发送设备的应用层报文对应的最后一个SLC SDU的所有SLCPDU后,只回复SLC层的ACK。或者,接收设备可以预设为既回复SLC层的ACK,又回复应用层回执信息。或者,接收设备可以预设为只回复应用层回执信息。

在一种可能的实现方式中,发送设备可以在应用层报文的报文头中添加回执指示字段。发送设备可以通过回执指示字段指示接收设备是否回复应用层回执信息。这样,北斗通信系统可以在需要确认接收设备解析应用层报文的结果的情况下,保证传输的可靠性。在不需要确认接收设备解析应用层报文的结果的情况下,节约传输空口资源。

示例性的,在APP层,发送设备可以将原始数据进行编码压缩、加密等操作得到加密后数据。并给加密后数据添加报文头信息得到应用层报文。其中,应用层报文的具体格式可以参照图8。

示例性的,图8示出了一种发送设备的应用层报文的示例。在图8所示的应用层报文示例中。应用层报文由报文头和加密后数据组成。其中,解密后数据可以为原始数据经过压缩加密得到。报文头信息可以包括但不限于回执指示字段,加密指示字段,压缩指示字段等等。其中,加密指示字段和压缩指示字段的详细描述可以参见上述图2A所述实施例,在此不再赘述。其中,回执指示字段可以用于指示是否需要接收设备回复应用层回执信息。

例如,回执指示字段的长度可以为1bit。当回执指示字段的值为0时,可以用于指示接收设备不回复应用层回执信息。当回执指示字段的值为1时,可以用于指示接收设备回复应用层回执信息。

在MDCP层,发送设备可以将得到的APP层下发的应用层报文,作为MDCPSDU。发送设备可以将MDCPSDU分包为一个或多个固定长度的MDCP分段数据。发送设备可以在每个MDCP分段数据的头部添加后继指示字段,得到MDCP PDU。其中,后继指示字段可用于表示当前的MDCPPDU在同一个MDCPSDU中的顺序。其中,需要说明的是,当发送设备为终端100时,发送设备可以给MDCPSDU添加填充数据和冗余长度指示字段。并将添加了填充数据和冗余长度指示字段的MDCPSDU分包为一个或多个固定长度的MDCP分段数据。

在SLC层,发送设备可以将MDCPPDU作为SLCSDU分帧为SLCPDU。

在PHY层,发送设备可以将SLCPDU进行物理层处理(例如,编码、插导频、调制、扩频等操作)得到物理帧,并将物理帧发送至接收设备。

在PHY层,接收设备可以在收到物理帧后,针对物理帧进行物理层处理(例如,解扩、解调、去导频、解码等操作)后将其上传至SLC层。

在SLC层,接收设备可以基于SLCPDU的接收情况向发送设备反馈ACK。接收设备收到SLCSDU对应的所有SLCPDU后,可以将SLCPDU组帧得到SLCSDU。其中,接收设备反馈ACK具体流程可以参见上述实施例,在此不再赘述。

接收设备可以将SLCSDU上传至MDCP层,作为MDCPPDU。接收设备可以在基于后继指示字段判定出接收到MDCPSDU的所有MDCPPDU后,可以将MDCPPDU按照接收顺序拼接为MDCPSDU,并将MDCPSDU上传至APP层。

在APP层,接收设备可以将MDCPSDU作为应用层报文,并解析该应用层报文。首先,接收设备可以基于回执指示字段判断是否回复应用层回执信息。若接收设备基于回执指示字段判定出不回复应用层回执信息,接收设备直接解析应用层报文。

若接收设备基于回执指示字段判定出回复应用层回执信息,接收设备可以在解析应用层报文后,基于解析应用层报文的结果生成对应的应用层回执信息。接收设备在生成应用层回执信息后,可以将应用层回执信息发送给发送设备。

在一些可能的实施例中,接收设备可以在MDCP层解析回执指示字段。并基于回执指示字段的值判断是否回复应用层回执信息。需要说明的是,在以下实施例的描述中,应用层回执信息可以在SLC层封装为回执帧。也就是说,回执指示字段可以指示接收设备是否回复应用层回执信息可以表述为回执指示字段可以指示接收设备是否回复回执帧。

示例性的,接收设备可以在基于后继指示字段判定出接收到MDCPSDU的所有MDCPPDU后,可以将MDCPPDU按照接收顺序拼接为MDCPSDU。之后,接收设备可以基于回执指示字段判断是否回复回执帧。

当接收设备判定出不回复回执帧(例如回执指示字段的值为0)时,接收设备将MDCPSDU上传至APP层。在APP层,接收设备可以将MDCPSDU作为应用层报文并解析该应用层报文。

当接收设备判定出回复回执帧(例如回执指示字段的值为1)时,接收设备可以直接将MDCPSDU上传至APP层,将MDCPSDU作为应用层报文并解析该应用层报文。其中,接收设备还可以通知APP层生成应用层回执信息。接收设备可以在解析应用层报文后,基于解析应用层报文的结果生成对应的应用层回执信息。接收设备可以将应用层回执信息封装为回执帧并将回执帧发送至发送设备。发送设备可以基于应用层回执信息确定出接收设备解析应用层报文的结果。进一步的,发送设备可以基于应用层回执信息执行相应的操作,具体的,可以参见上述图7所述实施例,在此不再赘述。

其中,当接收设备为北斗网络设备200时,回执帧的具体描述可以参见图9所述实施例。

接下来介绍本申请实施例提供的一种北斗网络设备200发送回执帧的示例。

如图9所示,首先,北斗网络设备200可以在SLC层生成回执帧。具体的,北斗网络设备200可以将解析应用层报文的结果对应的应用层回执信息下发至SLC层。其中,应用层回执信息可以为通知消息,北斗网络设备200可以在SLC层根据通知消息生成解析应用层报文结果对应的回执帧。

或者,应用层回执信息可以为错误码。在SLC层,北斗网络设备200可以将应用层回执帧信息写入用户信息。

其中,例如,错误码的长度可以为4bit,每一个错误码对应一种解析应用层报文的结果。例如,错误码的部分值的含义可以如下:

0000:指示北斗网络设备200解析应用层报文成功。

0001:指示北斗网络设备200由于解密错误导致解析应用层报文失败。

0010:指示北斗网络设备200由于解码错误导致解析应用层报文失败。

之后,北斗网络设备200可以在用户信息前添加帧头信息,得到回执帧。其中,帧头信息可以包括但不限于起始标识字段、帧长字段、用户身份证明(identity,ID)字段和帧类型字段。

其中,起始标识字段可以用于标识北斗网络设备200的一个新的用户帧的起始位置。

帧长字段可以用于标识用户帧的长度。

用户ID字段可以用于标识接收应用层回执的设备(例如,终端100)。终端100可以根据用户ID字段的值从出站数据中取出属于终端100的用户帧。

帧类型字段可以用于标识用户帧的类型。例如,帧类型字段的长度可以为2bit。当帧类型字段的值为00时,可以标识当前用户帧为通用数据帧。其中,通用数据帧可以用于传输原始数据。当帧类型字段的值为01时,可以标识当前用户帧为ACK帧。其中,ACK帧可以用于确认SLC层的SLCPDU的传输情况。当帧类型字段的值为10时,可以标识当前用户帧为回执帧。其中,回执帧可以用于确认应用层的应用层报文解析情况。在此,北斗网络设备200向终端100发送的用户帧为回执帧,故而帧类型字段的值可以为10。

之后,北斗网络设备200可以将回执帧和其他用户帧拼接在一起,并在多个用户帧的头部添加版本号字段。其中,版本号字段可以用于指示北斗短报文协议的版本。北斗网络设备100还可以在多个用户帧的尾部添加校验码(例如,循环冗余校验(cyclic redundancycheck,CRC)码),得到物理帧。其中,北斗网络设备200可以对物理帧执行物理层处理(例如,编码、插导频、调制、扩频等操作)并给物理帧加上保留段组成一个固定长度的物理时隙的S2C-d支路的编码数据。然后,北斗网络设备200可以将S2C-d支路的编码数据和S2C-p支路的副码同步发送给北斗短报文卫星21,经由北斗短报文卫星21中继转发给一个或多个终端(包括终端100)。

本申请实施例中,上述回执帧处理机制仅为示例说明,本申请对回执帧处理机制的具体操作不作限定。

之后,终端100可以基于北斗网络设备200发送的S2C-p支路的副码,捕获到将S2C-d支路的编码数据。终端100在捕获到S2C-d支路的编码数据后,可以对S2C-d支路的编码数据进行物理层处理(例如,解扩、解调、去导频、解码等操作),得到物理帧。并从物理帧中取出用户ID字段的值和终端100的用户ID的值相同的用户帧。

当终端100基于帧头信息中的帧类型字段得到用户帧的类型为回执帧时,终端100可以在SLC层将回执帧中的错误码通过层间接口上传至APP层,并在APP层基于用户信息中的错误码,得到北斗网络设备200解析应用层报文的结果。进一步的,终端100可以针对不同的结果执行相应的操作。具体的,终端100执行的操作的详细描述可以参见图7所述实施例,在此不再赘述。

其中,当接收设备为终端100时,回执帧的具体描述可以参见图10所述实施例。

接下来介绍本申请实施例提供的一种终端100发送回执帧的示例。

如图10所示,首先,终端100可以将解析应用层报文的结果下发至SLC层。在SLC层,终端100可以将解析应用层报文的结果对应的应用层回执信息写入用户信息。其中,应用层回执信息可以为错误码。错误码可以用于指示终端100解析应用层报文的结果,其中,错误码的详细描述可以参见上述图9所述实施例,在此不再赘述。

之后,终端100可以在用户信息前添加帧头信息,得到回执帧。其中,帧头信息可以包括但不限于版本号字段、子类型指示字段、用户ID字段、帧总数字段、帧序号字段、SAI字段、保留域(reserve,RSV)字段等等。

其中,SAI字段、帧总数字段、帧序号字段的文字描述可以参见上述图2A所述实施例,在此不再赘述。

其中,版本号字段可以用于标识北斗短报文协议的版本。

子类型指示字段可以用于标识用户帧的类型。例如,子类型指示字段的长度可以为2bit。当子类型指示字段的值为00时,可以标识当前用户帧为通用数据帧。其中,通用数据帧可以包括但不限于紧急救援帧、位置报告帧、报文通信帧等等。当子类型指示字段的值为01时,可以标识当前用户帧为ACK帧。当子类型指示字段的值为10时,可以标识当前用户帧为回执帧。在此,北斗网络设备200向终端100发送回执帧,因此子类型指示字段的值可以为10。

用户ID字段可以用于标识接收应用层回执的设备(终端100)。

其中,保留域字段可以用于后续北斗通信系统的其他字段使用,在此不做限定。

之后,终端100可以将回执帧下发至PHY层。在PHY层,终端100可以将回执帧作为数据段,并在给数据段添加同步头和校验位后得到的对应的物理帧发送给北斗短报文卫星21,并经由北斗短报文卫星21中继转发给北斗网络设备200。

北斗网络设备200收到物理帧后,可以通过物理层处理(例如,解扩、解调、去导频、解码等操作)得到用户帧并将用户帧上传至SLC层。北斗网络设备200可以在SLC层通过子类型指示字段的值确定用户帧为回执帧后,北斗网络设备200可以将回执帧的错误码通过层间接口上传至APP层。北斗网络设备200在APP层可以基于回执帧的错误码获取终端100解析应用层报文的结果。

进一步的,北斗网络设备200还可以基于终端100解析应用层报文的结果执行相应的操作。具体的,可以参见上述图7所述实施例,在此不再赘述。

在本申请实施例中,上述回执帧处理机制仅为示例说明,本申请对回执帧处理机制的具体操作不作限定。

在一种可能的实现方式中,接收设备可以在APP层将应用层回执信息封装为应用层回执报文,之后,接收设备可以将应用层回执报文发送至发送设备。这样,可以沿用应用层报文的发送机制得到应用层回执报文,减少对北斗通信系统的处理机制的更改。

具体的,接收设备可以将应用层回执信息作为上述原始数据。首先,接收设备可以编码压缩应用层回执信息,得到压缩数据。再加密压缩数据得到加密后数据。之后,接收设备可以在加密后数据前添加报文头信息,得到应用层回执报文。

其中,报文头信息中可以包括但不限于加密指示字段、压缩指示字段和回执标识字段。其中,加密指示字段和压缩指示字段的描述可以参见上述图3A所述实施例,在此不再赘述。其中,回执标识字段可以用于指示应用层报文是否包括应用层回执信息。

示例性的,回执标识字段的长度可以为1bit。当回执标识字段的值为1时,应用层报文包括应用层回执信息。需要说明的是,可以将包括应用层回执信息的应用层报文简称为应用层回执报文。当回执标识字段的值为0时,应用层报文不包括应用层回执信息。

需要说明的是,接收设备生成应用层回执报文并将应用层回执报文发送至发送设备的流程和发送设备生成和发送应用层报文的流程相同。其中,具体的文字描述可以参见上述图2A或图3A所述实施例,在此不再赘述。发送设备得到应用层回执报文的原始数据的流程和上述接收设备得到应用层报文的原始数据的流程相同,具体的文字描述可以参见上述图2B或图3B所述实施例。

发送设备在得到应用层报文后,可以基于回执标识字段的值判断应用层报文是否为应用层回执报文。当发送设备确定出回执标识字段指示应用层报文为应用层回执报文时,发送设备可以基于原始数据(即,应用层回执信息)确定出接收设备解析应用层报文的结果,具体的文字描述可以参见上述图7所示实施例,在此不再赘述。

可选的,接收设备可以不压缩、加密原始数据,直接在应用层回执信息前添加报文头信息,得到应用层回执报文。其中,接收设备可以将报文头信息中压缩指示字段的值设置为不使用压缩算法,可以将报文头信息中加密指示字段的值设置为不使用加密算法。

进一步可选的,应用层回执报文的报文头信息中可以不包括压缩指示字段和加密指示字段。

下面具体介绍北斗通信系统10中的一种应用层的回执处理机制。

图11示出了本申请实施例中发送设备和接收设备间的另一种可能的应用层回执处理机制。

如图11所示,接收设备可以在接收到发送设备发送的应用层报文对应的最后一个SLCSDU的SLCPDU后,不发送SLC层的ACK,只向发送设备发送应用层回执信息。这样,发送设备在接收到应用层回执信息时,就可以证明接收设备收到了SLCSDU的所有SLCPDU,接收设备可以不再发送最后一个SLCSDU的SLCPDU的ACK,节约接收设备的空口资源。

S1101,发送设备生成应用层报文。

S1102,发送设备将应用层报文通过层间接口从APP层下发至MDCP层。

S1103,发送设备将应用层报文作为MDCPSDU,基于MDCPSDU得到M个MDCPPDU。

S1104,发送设备将MDCPPDU通过层间接口从MDCP层下发至SLC层。

S1105,发送设备将MDCPPDU作为SLCSDU,并将SLCSDU分帧为N个SLCPDU。

S1106,发送设备将SLCPDU发送至接收设备。

其中,步骤S1101至步骤S1106的详细描述可以参见上述图7所述实施例,在此不再赘述。

S1107,接收设备将SLCPDU拼接为SLCSDU。

S1108,接收设备将SLCSDU通过层间接口从SLC层上传至MDCP层。

S1109,接收设备可以将SLCSDU作为MDCPPDU,并基于MDCPPDU得到MDCPSDU。

S1110,接收设备可以将MDCPSDU通过层间接口从MDCP层上传至APP层。

在SLC层,接收设备可以在接收到SLCSDU的SLCPDU后,基于SLCPDU的帧头信息向发送设备回复ACK。若接收设备基于帧头信息判定出未接收到SLCSDU的所有SLCPDU,接收设备可以向发送设备发送第二ACK。其中,第二ACK可以用于指示接收设备未接收到SLCSDU的所有SLCPDU,且第二ACK还可以指示未接收到的SLCPDU的帧序号。发送设备在收到第二ACK后,可以向接收设备重传第二ACK指示的未接收到的SLCPDU。

若接收设备基于帧头信息判定出已经接收到SLCSDU的所有SLCPDU,接收设备可以将SLCPDU拼接得到SLCSDU,并将SLCSDU上传至MDCP层。

在MDCP层,接收设备可以将SLCSDU作为MDCPPDU。接收设备可以基于MDCPPDU的后继指示字段判断当前MDCPPDU是否为MDCPSDU的最后一个MDCPPDU。

若接收设备基于后继指示字段判定出当前接收到的MDCPPDU不是MDCPSDU的所有MDCPPDU中的最后一个MDCPPDU,接收设备可以在SLC层发送第一ACK。当发送设备收到第一ACK后,可以向接收设备发送MDCPSDU的下一个MDCPPDU。

其中,接收设备可以在MDCP层向SLC层发送第一消息,第一消息可以用于指示接收设备在SLC层向发送设备发送第一ACK。

若接收设备基于后继指示字段判定出当前接收到的MDCPPDU是MDCPSDU的所有MDCPPDU中的最后一个MDCPPDU,接收设备可以将MDCPPDU按照接收顺序拼接为MDCPSDU,并将MDCPSDU上传至APP层。

需要说明的是,接收设备基于后继指示字段判定出当前接收到的MDCPPDU是MDCPSDU的所有MDCPPDU中的最后一个MDCPPDU后,不在SLC层发送第一ACK。其中,第一ACK用于指示接收设备在SLC层接收到当前发送的SLCSDU的所有SLCPDU。

S1111,接收设备将MDCPSUD作为应用层报文,解析应用层报文并基于解析应用层报文的结果生成应用层回执信息。

在APP层,接收设备可以将MDCPSDU作为应用层报文,并解析该应用层报文。接收设备可以在解析应用层报文后,基于解析应用层报文的结果生成对应的应用层回执信息。具体的,当接收设备为北斗网络设备200时,接收设备生成应用层回执信息的详细描述可以参见上述图9所述实施例,当接收设备为终端100时,接收设备生成应用层回执信息的详细描述可以参见上述图10所述实施例,在此不再赘述。

在此,应用层回执信息不止可以用于指示接收设备解析应用层报文的情况,还可以用于指示接收设备在SLC层收到最后一个SLCSDU的所有SLCPDU。

S1112,接收设备将应用层回执信息发送给发送设备。

具体的,发送设备得到应用层回执信息的流程可以参见上述图9至图10所示实施例,在此不再赘述。

发送设备收到应用层回执信息后,可以基于应用层回执信息确定出接收设备解析应用层报文的结果。进一步的,发送设备可以基于应用层回执信息执行相应的操作,具体描述可以参见上述图7所述实施例,在此不再赘述。

在一种可能的实现方式中,发送设备可以通过在报文头中添加回执指示字段指示接收设备是否反馈应用层回执信息。这样,可以由发送设备决定是否需要反馈应用层回执,在一些不需要应用层回执的情形下,节约接收设备反馈ACK的时间。

也就是说,在APP层,当接收设备判定出不回复应用层回执信息(例如回执指示字段的值为0)时,接收设备在SLC层向发送设备发送第一ACK。当接收设备判定出回复应用层回执信息(例如回执指示字段的值为0)时,接收设备可以解析得到应用层报文的原始数据,并基于解析应用层报文的结果生成应用层回执信息,再将应用层回执信息发送至发送设备。

在一种可能的实现方式中,接收设备基于回执指示字段判断是否回复应用层回执信息时,接收设备可以在MDCP层解析回执指示字段,并基于回执指示字段的值判断是否回复应用层回执信息。这样,发送设备可以仅通过应用层回执信息就可以确定接收设备的SLC层的接收情况和接收设备解析应用层报文的情况。并且由于接收设备只反馈应用层回执信息,还可以节约接收设备的发送ACK帧所用的资源。

示例性的,在SLC层,接收设备可以在收到发送设备发送的SLCPDU后,基于SLCPDU的帧头信息回复ACK。

其中,若接收设备基于帧头信息判定出未接收到SLCSDU的所有SLCPDU,接收设备可以向发送设备发送第二ACK。其中,第二ACK可以用于指示接收设备未接收到SLCSDU的所有SLCPDU,且第二ACK还可以指示未接收到的SLCPDU的帧序号。发送设备在收到第二ACK后,可以向接收设备重传第二ACK指示的未接收到的SLCPDU。

若接收设备基于帧头信息判定出已经接收到SLCSDU的所有SLCPDU,接收设备可以将SLCPDU拼接得到SLCSDU,并将SLCSDU上传至MDCP层,作为MDCPPDU。

在MDCP层,接收设备可以基于MDCPPDU的后继指示字段判断当前MDCPPDU是否为MDCPSDU的最后一个MDCPPDU。

若接收设备基于后继指示字段判定出当前接收到的MDCPPDU不是MDCPSDU的所有MDCPPDU中的最后一个MDCPPDU,接收设备可以通知SLC层发送第一ACK。当发送设备收到第一ACK后,可以向接收设备发送MDCPSDU的下一个MDCPPDU。

若接收设备基于后继指示字段判定出当前接收到的MDCPPDU是MDCPSDU的所有MDCPPDU中的最后一个MDCPPDU,接收设备可以将MDCPPDU按照接收顺序拼接得到MDCPSDU。需要说明的时,当接收设备为北斗网络设备200时,北斗网络设备200可以基于冗余长度指示字段去除拼接后的MDCPPDU的填充数据,得到MDCPSDU。

在MDCP层,接收设备可以基于回执指示字段判断是否向发送设备回复应用层回执信息。

当接收设备判定出不回复应用层回执信息(例如回执指示字段的值为0)时,接收设备通知SLC层向发送设备发送第一ACK,并将MDCPSDU上传至APP层。在APP层,接收设备可以将MDCPSDU作为应用层报文,并解析该应用层报文。

当接收设备判定出回复应用层回执信息(例如回执指示字段的值为0)时,接收设备直接将MDCPSDU上传至APP层,并将MDCPSDU作为应用层报文进行解析。其中,接收设备可以同时通知APP层反馈应用层回执信息。接收设备可以基于解析应用层报文的结果生成对应的应用层回执信息。接收设备可以将应用层回执信息发送到发送设备。其中,当接收设备为北斗网络设备200时,接收设备生成应用层回执信息的详细描述可以参见上述图9所述实施例,当接收设备为终端100时,接收设备生成应用层回执信息的详细描述可以参见上述图10所述实施例,在此不再赘述。

发送设备收到应用层回执信息后,发送设备可以基于应用层回执信息确定出接收设备解析应用层报文的结果。其中,在此,应用层回执信息还可以等同于第一ACK,发送设备可以基于应用层回执信息确认接收设备接收到MDCPSDU的最后一个MDCPPDU对应的所有SLCPDU。

在一些可能的实施例中,接收设备可以预设为向发送设备回复应用层回执信息。这样,不需要基于回执指示字段判断,接收设备自动回复应用层回执信息。

下面介绍本申请实施例提供的终端100。

终端100可以是手机、平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmentedreality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificialintelligence,AI)设备、可穿戴式设备、车载设备、智能家居设备和/或智慧城市设备,本申请实施例对该电子设备的具体类型不作特殊限制。

图12示出了本申请实施例提供的一种硬件结构示意图。

下面以终端100为例对实施例进行具体说明。应该理解的是,图12所示终端100仅是一个范例,并且终端100可以具有比图12中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图12中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

终端100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。

可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端100的触摸功能。

I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。

PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。

UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。

MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端100的显示功能。

GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。

USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。

可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。

电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。

终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),卫星通信模块,调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

其中,卫星通信模块可用于与卫星网络设备进行通信,例如在北斗通信系统中,卫星通信模块可以与北斗网络设备200通信,卫星通信模块的可支持与北斗网络设备200之间的短报文传输。

在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。

终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大于1的正整数。

终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。

摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。

数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。

视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。

终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。

扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器170A收听音乐,或收听免提通话。

受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。

麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端100可以设置至少一个麦克风170C。在另一些实施例中,终端100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。

耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。

压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端100根据压力传感器180A检测所述触摸操作强度。终端100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。

陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。

气压传感器180C用于测量气压。在一些实施例中,终端100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。

磁传感器180D包括霍尔传感器。终端100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。

加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。

距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端100可以利用距离传感器180F测距以实现快速对焦。

接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端100通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,终端100可以确定终端100附近没有物体。终端100可以利用接近光传感器180G检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。

环境光传感器180L用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端100是否在口袋里,以防误触。

指纹传感器180H用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。

温度传感器180J用于检测温度。在一些实施例中,终端100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端100对电池142加热,以避免低温导致终端100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端100对电池142的输出电压执行升压,以避免低温导致的异常关机。

触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。

骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。

马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。

指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端100的接触和分离。终端100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端100中,不能和终端100分离。

下面介绍本申请实施例中提供的一种北斗通信系统中应用层回执传输方法。

图13示出了本申请实施例中提供的一种北斗通信系统中传输控制方法的流程示意图。

如图13所示,该北斗通信系统中入站传输控制方法包括如下步骤:

S1301、发送设备向接收设备发送第一应用层报文的第一MDCPPDU。

其中,第一MDCPPDU的包头信息包括后继指示字段,后继指示字段用于指第一MDCPPDU在所述第一应用层报文中的顺序。具体有关MDCPPDU的描述可以参考前述实施例,在此不再赘述。

S1302、接收设备基于第一MDCPPDU得到第一应用层报文。

在接收设备确定出第一MDCPPDU为第一应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,接收设备基于第一MDCPPDU得到第一应用层报文。其中,M为正整数。具体涉及基于MDCPPDU得到第一应用层报文的描述可以参考前述图2B、图3B所示实施例,在此不再赘述。

S1303、接收设备生成第一应用层回执信息。

其中,第一应用层回执信息用于指示接收设备解析第一应用层报文的结果。

具体涉及生成第一应用层回执信息的流程可以参考前述所示实施例,在此不再赘述。

S1304、接收设备将第一应用层回执信息发送给发送设备。

具体有关接收设备如何生成第一应用层回执信息,可以参考前述图7-图11所述实施例,在此不再赘述。

具体涉及发送设备发送应用层报文,发送设备基于第一应用层回执信息执行的操作可以参考前述图7-图11所示实施例,在此不再赘述。

下面介绍发送设备执行的一些可能的实现方式。

在一种可能的实现方式中,发送设备发送第一应用层报文中的第一MDCP PDU给接收设备,具体包括:

发送设备将第一MDCP PDU作为发送设备的SLC层的第一卫星链路控制层服务数据单元SLC SDU,从发送设备的MDCP层下发至发送设备的SLC层。

发送设备在发送设备的SLC层将第一SLC SDU拆分成N个卫星链路控制层协议数据单元SLC PDU,N为正整数。其中,N个SLCPDU包括第一SLCPDU,第一SLCPDU的帧头信息包括帧总数字段和帧序号字段。帧总数字段用于指示第一SLC SDU中包括的SLCPDU的总数量N,帧序号字段用于指示第一SLC PDU在第一SLC SDU中的帧序号。

发送设备将N个SLC PDU发送给接收设备。

具体内容,可以参考前述图4所示实施例,在此不再赘述。

在一种可能的实现方式中,第一应用层回执信息还用于指示接收设备已收齐第一SLCSDU中的N个SLCPDU。这样,发送设备可以通过第一应用层回执信息判定出接收设备接收到应用层报文对应的所有SLCPDU。

具体内容,可以参考前述图11所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备接收到接收设备发送的第一应用层回执信息之前,方法还包括:发送设备接收到接收设备发送的第一确认字符ACK。其中,第一ACK用于指示接收设备已收齐第一SLCSDU中的N个SLCPDU。

具体内容,可以参考前述图7所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备接收到接收设备发送的第一应用层回执信息之前,方法还包括:发送设备接收到接收设备发送的第二确认字符ACK。其中,第一ACK用于指示第一SLC SDU中接收设备未接收到的SLC PDU的帧序号。

发送设备重传第一SLC SDU中接收设备未接收到的SLC PDU给接收设备。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

这样,可以保证接收设备可以得到完整的应用层报文。

在一种可能的实现方式中,发送设备将N个SLC PDU发送给接收设备,具体包括:发送设备将所第一SLCPDU从发送设备的SLC层下发至物理PHY层,作为发送设备的PHY层的第一用户帧。

发送设备针对第一用户帧进行物理层处理得到第一入站数据。

发送设备将第一入站数据发送给接收设备。

具体内容,可以参考前述图2A、图3A所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备发送第一应用层报文中的第一MDCPPDU给接收设备之前,方法还包括:发送设备在消息数据汇聚MDCP层获取到发送设备的应用层下发的第一应用层报文。

发送设备在MDCP层将第一应用层报文作为MDCP SDU,并将MDCP SDU拆分成M个MDCP PDU。其中,M为正整数。M个MDCP PDU中包括第一MDCP PDU。

具体内容,可以参考前述图2A、图3A所示实施例,在此不再赘述。

在一种可能的实现方式中,方法还包括:发送设备将M个MDCP PDU从MDCP层下发至SLC层,作为SLC层的M个SLC SDU,M个SLC SDU包括第一SLC SDU。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,在发送设备在MDCP层获取到发送设备的应用层下发的第一应用层报文之前,方法还包括:发送设备获取原始数据。

发送设备在应用层将原始数据,进行编码压缩得到第一压缩数据。

发送设备在应用层将第一压缩数据进行加密得到第一加密后数据。

发送设备在第一加密后数据头部加上报文头信息,得到第一应用层报文。其中,报文头信息包括压缩指示字段和加密指示字段,压缩指示字段用于指示对原始数据压缩时使用的编码压缩算法,加密指示字段用于指示对第一压缩数据加密时使用的加密算法。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备接收到接收设备发送的第一应用层回执信息之后,方法还包括:发送设备基于第一应用层回执信息确定接收设备解析第一应用层报文失败,发送设备向接收设备重传第一应用层报文。

具体内容,可以参考前述图7所示实施例,在此不再赘述。

这样,发送设备在确定接收设备解析应用层报文失败时,可以再次发送应用层报文,避免因为传输过程中的数据错误导致接收设备解析应用层报文失败的情形。

在一种可能的实现方式中,第一应用层回执信息包括第一解析结果,其中,第一解析结果用于指示接收设备解密第一应用层报文失败。发送设备接收到接收设备发送的第一应用层回执信息之后,方法还包括:发送设备与接收设备协商密钥信息。

发送设备基于协商后的密钥信息加密第一压缩数据得到第二加密后数据。

发送设备将包括有第二加密后数据的第二应用层报文发送到接收设备。

具体内容,可以参考前述图7所示实施例,在此不再赘述。

在一种可能的实现方式中,第一应用层回执信息包括第二解析结果,其中,第二解析结果用于指示接收设备解码解压缩应用层报文失败。发送设备接收到接收设备发送的第一应用层回执信息之后,方法还包括:发送设备基于第二解析结果和接收设备协商码本。

发送设备基于协商后的码本编码压缩原始数据得到第二压缩数据。

发送设备将第二压缩数据加密,得到第三加密后数据。

发送设备将第三应用层报文发送给接收设备,第三应用层报文包括第三加密后数据。

具体内容,可以参考前述图7所示实施例,在此不再赘述。

在一种可能的实现方式中,上述发送设备为终端,接收设备为北斗网络设备。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,上述发送设备为北斗网络设备,接收设备为终端。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

下面介绍接收设备执行的一些可能的实现方式。

在一种可能的实现方式中,在接收设备生成第一应用层回执信息之前,方法还包括:接收设备对第一应用层报文中的第一加密后数据进行解密,并在解密成功后得到第一压缩数据。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,在接收设备对第一应用层报文中的第一加密后数据进行解密,并在解密成功后得到第一压缩数据之后,方法还包括:接收设备对第一压缩数据进行解码解压缩得到原始数据。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,在接收设备生成第一应用层回执信息之前,方法还包括:接收设备对第一加密后数据解密失败。

接收设备生成第一应用层回执信息。其中,第一应用层回执信息包括第一解析结果,第一解析结果用于指示接收设备解密失败。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

这样,接收设备可以在解密失败时,生成用于指示接收设备解密应用层报文失败的应用层回执信息。

在一种可能的实现方式中,在接收设备生成第一应用层回执信息之前,方法还包括:接收设备对第一压缩数据解码解压缩失败。

接收设备生成第一应用层回执信息。其中,第一应用层回执信息包括第二解析结果,第二解析结果用于指示接收设备解码失败。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

这样,接收设备可以在解码失败时,生成用于指示接收设备解码应用层报文失败的应用层回执信息。

在一种可能的实现方式中,第一应用层回执信息包括第三解析结果,第三解析结果用于指示接收设备解析应用层报文成功。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

这样,接收设备可以在解析成功时,生成用于指示接收设备解析应用层报文成功的应用层回执信息。

在一种可能的实现方式中,方法还包括:接收设备为北斗网络设备200时,可以将原始数据通过蜂窝网络发送给蜂窝用户设备。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

这样,接收设备可以在解析成功时,将数据转发到蜂窝网络下的用户设备。

在一种可能的实现方式中,接收设备接收到发送设备发送的第一应用层报文的第一MDCPPDU之前,方法还包括:接收设备在PHY层获取到发送设备发送的第一入站数据。

接收设备基于第一入站数据执行物理层处理得到第一用户帧。

接收设备将第一用户帧作为接收设备的SLC层中的第一SLC PDU,从PHY层呈递给接收设备的SLC层。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,在接收设备将第一用户帧作为接收设备的SLC层中的第一SLC PDU,从PHY层呈递给接收设备的SLC层之后,方法还包括:接收设备接收到发送设备发送的第一SLC SDU中的X个SLC PDU,X为正整数。其中,X个SLC PDU包括第一SLC PDU,第一SLC PDU的帧头信息包括帧总数字段和帧序号字段。帧总数字段用于指示第一SLC SDU中包括SLCPDU的总数量N,N为正整数,帧序号字段用于指示第一SLC PDU在第一SLC SDU中的帧序号。

当X小于N时,接收设备向发送设备发送第二ACK,其中,第二ACK用于指示第一SLCSDU中接收设备未接收到的SLC PDU的帧序号。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

这样,接收设备可以通知发送设备重传丢失的SLCPDU。

在一种可能的实现方式中,当接收设备接收到发送设备发送的第一SLC SDU中的X个SLC PDU后,方法还包括:当X等于N时,接收设备在SLC层将X个SLC PDU拼接成第一SLCSDU,并将第一SLC SDU作为MDCP层的第一MDCP PDU从接收设备的SLC层上报给接收设备的MDCP层。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,当接收设备接收到发送设备发送的第一SLC SDU中的X个SLC PDU后,方法还包括:当X等于N时,接收设备向发送设备发送第一ACK,其中,第一ACK用于指示接收设备已收齐第一SLC SDU中的N个SLC PDU。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,在接收设备确定出第一MDCPPDU为应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,接收设备基于第一MDCPPDU得到应用层报文,具体包括:接收设备在MDCP层将M个MDCP PDU拼接得到MDCPSDU,并将MDCP SDU作为应用层报文从MDCP层上报给应用层。

具体内容,可以参考前述图7、图11所示实施例,在此不再赘述。

在一种可能的实现方式中,接收设备将第一应用层回执信息发送至发送设备,具体包括:接收设备将第一应用层回执信息从接收设备的应用层经过预设接口发送至接收设备的SLC层。

接收设备在SLC层给第一应用层回执信息添加帧头信息后,将添加了帧头信息的第一应用层回执信息下发至物理层,得到回执帧。其中,帧头信息包括帧类型字段,帧类型字段用于指示用户帧的帧类型。

接收设备将回执帧发送至发送设备。

具体内容,可以参考前述图7-图11所示实施例,在此不再赘述。

在一种可能的实现方式中,接收设备将第一应用层回执信息发送至发送设备,具体包括:

接收设备将第一应用层回执信息封装为应用层回执报文,并将该应用层回执报文发送给发送设备,

具体内容,可以参考前述图7-图11所示实施例,在此不再赘述。

在一种可能的实现方式中,上述发送设备为终端,接收设备为北斗网络设备。

具体内容,可以参考前述图7-图11所示实施例,在此不再赘述。

在一种可能的实现方式中,上述发送设备为北斗网络设备,接收设备为终端。

具体内容,可以参考前述图7-图11所示实施例,在此不再赘述。

上述内容详细阐述了本申请提供的方法,为了便于更好地实施本申请实施例的上述方案,本申请实施例还提供了相应的装置或设备。

本申请实施例可以根据上述方法示例对终端100和北斗网络设备200进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

下面将结合图14至图17详细描述本申请实施例的通信装置。

在采用集成的单元的情况下,参见图14,图14是本申请实施例提供的通信装置1400的结构示意图。该通信装置1400可以为上述实施例中的终端100。可选的,通信装置1400可以为一种芯片/芯片系统,例如,北斗通信芯片。如图14所示,该通信装置1400可以包括收发单元1410和处理单元1420。

在入站的一种设计中,收发单元1410,可用于向北斗网络设备200发送第一应用层报文中的第一MDCPPDU。其中,第一MDCPPDU的包头信息包括后继指示字段。后继指示字段用于指示第一MDCPPDU在第一应用层报文中的顺序。

收发单元1410,可用于当第一MDCPPDU为第一应用层报文中的最后一个MDCPPDU时,接收北斗网络设备200返回的第一应用层回执信息,该第一应用层回执信息用于指示北斗网络设备200解析第一应用层报文的结果。

处理单元1420,可用于生成第一应用层报文。

在出站的一种设计中,收发单元1410,可用于接收第一MDCPPDU。其中,第一MDCPPDU的包头信息包括后继指示字段。后继指示字段用于指示第一MDCPPDU在第一应用层报文中的顺序。

处理单元1420,可用于在确定出第一MDCPPDU为第一应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,基于第一MDCPPDU得到第一应用层报文;其中,M为正整数。

处理单元1420,可用于生成第一应用层回执信息,该第一应用层回执信息用于指示终端100解析第一应用层报文的结果。

收发单元1410,可用于向北斗网络设备200发送第一应用层回执信息。

可选的,收发单元1410,还可用于执行上述图13所示方法实施例中终端100执行的有关发送和接收的功能步骤。

可选的,处理单元1420,还可用于执行上述图13所示方法实施例中终端100执行的有关协议解析与封装以及运算确定的功能步骤。

应理解,该种设计中的通信装置1200可对应执行前述实施例中终端100执行的方法步骤,为了简洁,在此不再赘述。

在采用集成的单元的情况下,参见图15,图15是本申请实施例提供的通信装置1500的结构示意图。该通信装置1500可以为上述实施例中的北斗网络设备200。可选的,通信装置1500可以为北斗网络设备200中的具体网元,例如,北斗地面收发站22、北斗中心站23、北斗短报文融合通信平台24中的一个网元或多个网元的组合。如图15所示,该通信装置1500可以包括收发单元1510和处理单元1520。

在入站的一种设计中,收发单元1510,可用于接收第一MDCPPDU。其中,第一MDCPPDU的包头信息包括后继指示字段。后继指示字段用于指示第一MDCPPDU在第一应用层报文中的顺序。

处理单元1520,可用于在确定出第一MDCPPDU为第一应用层报文中的M个MDCPPDU中的最后一个MDCPPDU之后,基于第一MDCPPDU得到第一应用层报文;其中,M为正整数。

处理单元1520,可用于生成第一应用层回执信息,该第一应用层回执信息用于指示北斗网络设备200解析第一应用层报文的结果。

收发单元1510,可用于向终端100发送第一应用层回执信息。

在出站的一种设计中,收发单元1510,可用于向终端100发送第一应用层报文中的第一MDCPPDU。其中,第一MDCPPDU的包头信息包括后继指示字段。后继指示字段用于指示第一MDCPPDU在第一应用层报文中的顺序。

收发单元1510,可用于当第一MDCPPDU为第一应用层报文中的最后一个MDCPPDU时,接收终端100返回的第一应用层回执信息,该第一应用层回执信息用于指示终端100解析第一应用层报文的结果。

处理单元1520,可用于生成第一应用层报文。

可选的,收发单元1510,还可用于执行上述图13所示方法实施例中北斗网络设备200执行的有关发送和接收的功能步骤。

可选的,处理单元1520,还可用于执行上述图像13所示方法实施例中北斗网络设备200执行的有关协议解析与封装以及运算确定的功能步骤。

应理解,该种设计中的通信装置1500可对应执行前述实施例中北斗网络设备200执行的方法步骤,为了简洁,在此不再赘述。

以上介绍了本申请实施例的终端100和北斗网络设备200,应理解,但凡具备上述图14所述的终端100的功能的任何形态的产品,但凡具备上述图15所述的北斗网络设备200的功能的任何形态的产品,都落入本申请实施例的保护范围。

作为一种可能的产品形态,本申请实施例所述的终端100,可以由一般性的总线体系结构来实现。

参见图16,图16是本申请实施例提供的通信装置1600的结构示意图。该通信装置1600可以是终端100,或其中的装置。如图16所示,该通信装置1600包括处理器1601和与所述处理器内部连接通信的收发器1602。其中,处理器1601是通用处理器或者专用处理器等。例如可以是卫星通信的基带处理器或中央处理器。卫星通信的基带处理器可以用于对卫星通信协议以及卫星通信数据进行处理,中央处理器可以用于对通信装置(如,基带芯片,终端、终端芯片等)进行控制,执行计算机程序,处理计算机程序的数据。收发器1602可以称为收发单元、收发机、或收发电路等,用于实现收发功能。收发器1602可以包括接收器和发送器,接收器可以称为接收机或接收电路等,用于实现接收功能;发送器可以称为发送机或发送电路等,用于实现发送功能。可选的,通信装置1600还可以包括天线1603和/或射频单元(图未示意)。所述天线1603和/或射频单元可以位于所述通信装置1600内部,也可以与所述通信装置1600分离,即所述天线1603和/或射频单元可以是拉远或分布式部署的。

可选的,通信装置1600中可以包括一个或多个存储器1604,其上可以存有指令,该指令可为计算机程序,所述计算机程序可在通信装置1600上被运行,使得通信装置1600执行上述方法实施例中描述的方法。可选的,所述存储器1604中还可以存储有数据。通信装置1600和存储器1604可以单独设置,也可以集成在一起。

其中,处理器1601、收发器1602、以及存储器1604可以通过通信总线连接。

一种设计中,通信装置1600可以用于执行前述实施例中终端100的功能:处理器1601可以用于执行上述图13所示实施例中终端100执行的有关协议解析与封装以及运算确定的功能步骤和/或用于本文所描述的技术的其它过程;收发器1602可以用于执行上述图13所示实施例中终端100执行的有关发送和接收的功能步骤和/或用于本文所描述的技术的其它过程。

在上述任一种设计中,处理器1601中可以包括用于实现接收和发送功能的收发器。例如该收发器可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。

在上述任一种设计中,处理器1601可以存有指令,该指令可为计算机程序,计算机程序在处理器1601上运行,可使得通信装置1600执行上述方法实施例中终端100执行的方法步骤。计算机程序可能固化在处理器1600中,该种情况下,处理器1601可能由硬件实现。

在一种实现方式中,通信装置1600可以包括电路,所述电路可以实现前述方法实施例中发送或接收或者通信的功能。本申请中描述的处理器和收发器可实现在集成电路(integrated circuit,IC)、模拟IC、射频集成电路RFIC、混合信号IC、专用集成电路(application specific integrated circuit,ASIC)、印刷电路板(printed circuitboard,PCB)、电子设备等上。该处理器和收发器也可以用各种IC工艺技术来制造,例如互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)、N型金属氧化物半导体(nMetal-oxide-semiconductor,NMOS)、P型金属氧化物半导体(positive channelmetal oxide semiconductor,PMOS)、双极结型晶体管(bipolar junction transistor,BJT)、双极CMOS(BiCMOS)、硅锗(SiGe)、砷化镓(GaAs)等。

本申请中描述的通信装置的范围并不限于此,而且通信装置的结构可以不受图16的限制。通信装置1600可以是独立的设备或者可以是较大设备的一部分。例如所述通信装置1600可以是:

(1)独立的集成电路IC,或芯片,或,芯片系统或子系统;

(2)具有一个或多个IC的集合,可选的,该IC集合也可以包括用于存储数据,计算机程序的存储部件;

(3)ASIC,例如调制解调器(Modem);

(4)可嵌入在其他设备内的模块;

(5)接收机、终端、智能终端、蜂窝电话、无线设备、手持机、移动单元、车载设备、网络设备、云设备、人工智能设备等等;

(6)其他等等。

作为一种可能的产品形态,本申请实施例所述的北斗网络设备200中的任一网元(例如、北斗地面收发站22、北斗中心站23、北斗短报文融合通信平台24),可以由一般性的总线体系结构来实现。

参见图17,图17是本申请实施例提供的通信装置1700的结构示意图。该通信装置1700可以是北斗网络设备200,或其中的装置。如图17所示,该通信装置1700包括处理器1701和与所述处理器内部连接通信的收发器1702。其中,处理器1701是通用处理器或者专用处理器等。例如可以是卫星通信的基带处理器或中央处理器。卫星通信的基带处理器可以用于对卫星通信协议以及卫星通信数据进行处理,中央处理器可以用于对通信装置(如,基带芯片等)进行控制,执行计算机程序,处理计算机程序的数据。收发器1702可以称为收发单元、收发机、或收发电路等,用于实现收发功能。收发器1702可以包括接收器和发送器,接收器可以称为接收机或接收电路等,用于实现接收功能;发送器可以称为发送机或发送电路等,用于实现发送功能。可选的,通信装置1700还可以包括天线1703和/或射频单元(图未示意)。所述天线1703和/或射频单元可以位于所述通信装置1700内部,也可以与所述通信装置1700分离,即所述天线1703和/或射频单元可以是拉远或分布式部署的。

可选的,通信装置1700中可以包括一个或多个存储器1704,其上可以存有指令,该指令可为计算机程序,所述计算机程序可在通信装置1700上被运行,使得通信装置1700执行上述方法实施例中描述的方法。可选的,所述存储器1704中还可以存储有数据。通信装置1700和存储器1704可以单独设置,也可以集成在一起。

其中,处理器1701、收发器1702、以及存储器1704可以通过通信总线连接。

一种设计中,通信装置1700可以用于执行前述实施例中北斗网络设备200的功能:处理器1701可以用于执行上述图13所示实施例中北斗网络设备200执行的有关协议解析与封装以及运算确定的功能步骤和/或用于本文所描述的技术的其它过程;收发器1702可以用于执行上述图13所示实施例中北斗网络设备200执行的有关发送和接收的功能步骤和/或用于本文所描述的技术的其它过程。

在上述任一种设计中,处理器1701中可以包括用于实现接收和发送功能的收发器。例如该收发器可以是收发电路,或者是接口,或者是接口电路。用于实现接收和发送功能的收发电路、接口或接口电路可以是分开的,也可以集成在一起。上述收发电路、接口或接口电路可以用于代码/数据的读写,或者,上述收发电路、接口或接口电路可以用于信号的传输或传递。

在上述任一种设计中,处理器1701可以存有指令,该指令可为计算机程序,计算机程序在处理器1701上运行,可使得通信装置1700执行上述方法实施例中终端100执行的方法步骤。计算机程序可能固化在处理器1701中,该种情况下,处理器1701可能由硬件实现。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当上述处理器执行该计算机程序代码时,使得通信装置执行前述任一实施例中的方法。

本申请实施例还提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行前述任一实施例中的方法。

本申请实施例还提供一种通信装置,该装置可以以芯片的产品形态存在,该装置的结构中包括处理器和接口电路,该处理器用于通过接收电路与其它装置通信,使得该装置执行前述任一实施例中的方法。

本申请实施例还提供一种北斗通信系统,包括终端100和北斗网络设备200,该终端100和北斗网络设备200可以执行前述任一实施例中的方法。

本申请全文介绍了北斗通信系统中短报文的通信功能,可以理解的是,其他卫星系统中也可能存在支持短报文的通信功能。因此,不限制在北斗通信系统中,若有其他卫星系统也支持短报文的通信功能,本申请中介绍的方法,也同样适用于其他卫星系统的通信。

结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(ElectricallyEPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号