掌桥专利:专业的专利平台
掌桥专利
首页

一种传输方法、系统及相关装置

文献发布时间:2023-06-19 18:32:25


一种传输方法、系统及相关装置

技术领域

本申请涉及卫星通信领域,尤其涉及一种传输方法、系统及相关装置。

背景技术

卫星通信业务可以用于在海洋、沙漠、草原、无人区等移动通信未覆盖、或覆盖不了、或通信系统被破坏的区域进行定位和通信。目前,北卫星通信系统没有提供给民用终端使用的安全传输机制。为了让终端和卫星之间可以安全地传输数据,需要针对民用业务和设备特性,卫星通信系统的特性设计通信协议。

虽然蜂窝网络中有成熟的安全传输机制。不过,蜂窝网络中的安全传输机制的步骤繁杂,交互信令所需空口资源多。由于卫星通信系统时延长、空口资源少,不能支持蜂窝网络的安全传输机制。

发明内容

本申请公开了一种传输方法、系统及相关装置。发送设备可以基于信息A和原始数据生成鉴权码A。发送设备可以将包括鉴权码A的数据包在第一传输系统下发送给接收设备。接收设备可以在接收到数据包后,基于信息B和数据包生成鉴权码B。接收设备可以基于鉴权码B确定出数据包的接收状态。信息A 为发送时间信息且信息B为接收时间信息,或,信息A为上下文信息A且信息B为上下文信息B。实现了当接收设备接收到重复发送的数据包后,接收设备就不能解析该数据包,不会出现重复处理、计费的问题。

第一方面,本申请提供了一种传输方法,包括:

第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码;其中,第一信息为发送时间信息或第一上下文信息;第一设备基于第一鉴权码与第一数据生成第一数据包;第一设备在第一传输系统下向第二设备发送第一数据包。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,方法还包括:第一设备获取第一密钥,第一密钥为第一设备在第二传输系统下与第二设备协商获取的;其中,第一传输系统与第二传输系统不同。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,方法还包括:第一设备和第四设备建立通信连接;第一设备通过第四设备获取第一密钥。

在一种可能的实现方式中,第一密钥为第一设备预先设置的密钥。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或无线局域网WLAN传输系统,第一传输系统为卫星传输系统。

在一种可能的实现方式中,第一设备在第二传输系统下与第二设备通过通用引导框架GBA流程协商获取第一密钥。

在一种可能的实现方式中,第一设备在第一传输系统下向第二设备发送第一数据包,具体包括:

第一设备的消息数据汇聚层MDCP层和/或第一设备的卫星链路控制层SLC层将第一数据包处理为至少一个第二数据包后,将至少一个第二数据包经过第三设备发送给第二设备。

在一种可能的实现方式中,发送时间信息用于指示第一设备发送第一数据包的时间。

在一种可能的实现方式中,第一设备发送第一数据包的时间为第一设备的应用AP层向消息数据汇聚 MDCP层发送第一数据包的时间,或者,为第一设备预估的将第一数据包发送给第二设备的时间。

在一种可能的实现方式中,第一设备通过定位授时获取发送时间信息。

在一种可能的实现方式中,第一数据包括打包后的第一数据和第一鉴权码。

在一种可能的实现方式中,数据包的发送时间的格式为协调世界时UTC或者格林尼治时间GMT。

在一种可能的实现方式中,数据包的发送时间的指定时间粒度包括年份、月份、天数、小时、分钟、秒中的任一种。第一设备和第二设备在第二传输系统中协商更新指定时间粒度。

在一种可能的实现方式中,第一设备通过第四设备获取发送时间信息。

在一种可能的实现方式中,第一设备基于发送时间信息和指定时间粒度,通过预设编码方式,得到第一信息。

在一种可能的实现方式中,在第一设备发送第一数据包之后,方法还包括:

第一设备接收到第二设备发送的第一应用层回执;其中,第一应用层回执用于指示第二设备接收第一数据包的接收状态。

在一种可能的实现方式中,第一信息为第一上下文信息,第一上下文信息用于指示第一设备发送成功的第一数据包的数量信息,或第一设备成功接收到应用回执的数量信息,或第一设备发送的第一数据包的计数值或序列号。

在一种可能的实现方式中,第一数据包还包括第一指示信息,第一指示信息用于指示第一数据包的第一消息ID,或者第一指示信息用于指示第一数据包的第一计数值或第一序列号。

在一种可能的实现方式中,第一设备的AP层关联第一消息ID或第一计数值或第一序列号到第一数据包,第一设备在第一消息ID或第一计数值或第一序列号的值上增加预设值。

在一种可能的实现方式中,第一数据包还包括第三指示信息,第三指示信息用于指示第一数据包为新传数据包或重传数据包。

在一种可能的实现方式中,当第三指示信息的值为第一值时,第三指示信息指示第一数据包为新传数据包;当第三指示信息的值为第二值时,第三指示信息指示第一数据包为重传数据包。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,方法还包括:

第一设备在第二传输系统中获取第一信息的初始值;或者,

第一设备通过第四设备获取第一信息的初始值。

在一种可能的实现方式中,在第一设备发送第一数据包之后,方法还包括:

第一设备接收到第二设备发送的第一应用层回执;其中,第一应用层回执用于指示第二设备接收第一数据包的接收状态。

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

第一设备在第一信息的值上增加预设值;第一信息调整后的值和第一信息的值不同。

在一种可能的实现方式中,在第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执用于指示第二设备接收第一数据包失败时,第一设备调整第一信息的值为初始值。

在一种可能的实现方式中,在第一设备调整第一信息的值为初始值之后,方法还包括:第一设备向第二设备发送第三信息,第三信息的值和调整后的第一信息的值相同。

在一种可能的实现方式中,在第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执指示第一数据包发送成功时,第一设备显示成功提示信息,成功提示信息用于提示用户第一数据包对应的消息发送成功。

在一种可能的实现方式中,在第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执指示第一数据包发送失败时,第一设备显示失败提示信息,失败提示信息用于提示用户第一数据包对应的消息发送失败。

在一种可能的实现方式中,第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执包括第二消息ID信息时,第一设备显示成功提示信息,成功提示信息用于提示用户第二消息 ID信息指示的数据包发送成功。

在一种可能的实现方式中,第一设备的应用层根据第一鉴权码与第一数据生成第一数据包,具体包括:第一设备的应用层基于第一密钥加密第一鉴权码和第一数据,生成第一数据包;其中,第一数据包包括加密后的第一鉴权码和加密后的第一数据。

在一种可能的实现方式中,第一设备的应用层基于第一密钥加密第一数据,生成第一数据包;其中,第一数据包包括加密后的第一数据。

在一种可能的实现方式中,在第一设备在第一传输系统下向第二设备发送第一数据包之后,方法还包括:第一设备在第二传输系统接收第二应用回执信息,第二应用回执信息用于指示第一设备在第一传输系统中第一数据包的发送状态。

在一种可能的实现方式中,在第一设备在第一传输系统下向第二设备发送第一数据包之后,方法还包括:第一设备显示发送提示信息,发送提示信息用于提示用户第一设备已向第二设备发送第一数据包。

第二方面,本申请提供了一种传输方法,包括:第二设备在第一传输系统下接收第一设备发送的第一数据包;第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码;其中,第二信息为接收时间信息或第二上下文信息;第二设备基于第二鉴权码确定第一数据包的接收状态。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备获取第一密钥,第一密钥为第二设备在第二传输系统下与第一设备协商获取的;其中,第二传输系统与第一传输系统不同。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或WLAN传输系统,第一传输系统为卫星传输系统。

在一种可能的实现方式中,第二设备在第二传输系统下与第一设备通过通用引导框架GBA流程协商获取第一密钥。

在一种可能的实现方式中,第一密钥为第一设备预先设置的密钥。

在一种可能的实现方式中,第二设备在第一传输系统下接收第一数据包,具体包括:第二设备在第一传输系统下接收第三设备发送的第一数据包。

在一种可能的实现方式中,第二设备根据第一数据包确定第一鉴权码。

在一种可能的实现方式中,接收时间信息用于指示第一数据包的接收时间。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备接收第三设备发送的第二信息。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备接收第三设备发送的第三信息;第二设备基于第三信息生成第二信息。

在一种可能的实现方式中,第二上下文信息用于指示第二设备成功接收第一数据包的数量信息,或第二设备接收的第一数据包的计数值或序列值。

在一种可能的实现方式中,第一数据包包括第一指示信息,第一指示信息用于指示第一数据包的第一消息ID/第一序列号/第一计数值。

在一种可能的实现方式中,第一数据包包括第三指示信息,第三指示信息用于指示第一数据包为新传数据包/重传数据包。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备在第二传输系统中获取第二信息的初始值。

在一种可能的实现方式中,第二设备基于第二鉴权码确定第一数据包的接收状态,具体包括:第二设备基于第一鉴权码与第二鉴权码是否相同,确定第一数据包的接收状态。

在一种可能的实现方式中,在一种可能的实现方式中,第二设备比较第一鉴权码与第二鉴权码,具体包括:第一鉴权码与第二鉴权码相同,第二设备确定第一数据包接收成功;或者,

第一鉴权码与第二鉴权码不同,第二设备确定第一数据包接收失败;或者,

第一鉴权码与第二鉴权码不同,第二设备更新第二信息并根据更新后的第二信息生成更新后的第二鉴权码,第二设备比较更新后的第二鉴权码与第一鉴权码,确定第一数据包的接收状态。

在一种可能的实现方式中,当更新后的第二鉴权码与第一鉴权码相同时,第二设备确定出接收成功,第二设备在更新后的第二信息的值上增加预设值。

在一种可能的实现方式中,更新后的第二鉴权码和第一鉴权码相同时,第二设备生成并向第一设备发送包括第二指示信息的第一应用回执,第二指示信息用于指示最近接收成功的数据包的消息ID。

在一种可能的实现方式中,更新后的第二鉴权码和第一鉴权码相同时,第二设备生成并向第一设备发送包括用于指示发送成功的第一应用回执。

在一种可能的实现方式中,当更新后的第二鉴权码与第一鉴权码不同时,第二设备生成并向第一设备发送用于指示第一数据包接收失败的第一应用回执。

在一种可能的实现方式中,在一种可能的实现方式中,第二设备比较第一鉴权码与第二鉴权码,具体包括:第一鉴权码与第二鉴权码相同,第二设备确定第一数据包接收成功;或者,

第一鉴权码与第二鉴权码不同,第二设备确定第一数据包接收失败;或者,

第一鉴权码与第二鉴权码不同,第二设备更新第二信息并根据更新后的第二信息生成临时鉴权码,第二设备比较临时鉴权码与第一鉴权码,确定第一数据包的接收状态。

其中,当临时鉴权码与第一鉴权码相同时,第二设备生成并向第一设备发送包括第二指示信息的第一应用回执,第二指示信息用于指示最近接收成功的数据包的消息ID;当临时鉴权码与第一鉴权码不同时,第二设备生成并向第一设备发送用于指示第一数据包接收失败的第一应用回执。

在一种可能的实现方式中,在第二设备确定出第一数据包的接收成功之后,还包括:

记录第一数据包接收成功的时间信息;和/或者,

记录第一数据包对应的消息ID;和/或,

第二设备在第二信息的值上增加预设值;第二信息调整后的值和第二信息的值不同。

在一种可能的实现方式中,第二设备比较第三鉴权码与第一鉴权码,具体包括:第三鉴权码与第一鉴权码相同,第二设备确定出第一数据包接收成功,生成用于指示第一数据包接收成功的第一应用层回执;或者,第三鉴权码与第一鉴权码不同,第二设备确定出第一数据包接收失败,生成用于指示第一数据包接收失败的第一应用层回执。

在一种可能的实现方式中,第二设备比较第三鉴权码与第一鉴权码,具体包括:第三鉴权码与第一鉴权码相同,第二设备确定出第一数据包接收失败,生成用于指示第一数据包接收失败的第一应用层回执;其中,第一应用层回执包括接收成功的数据包对应的消息ID;或者,第三鉴权码与第一鉴权码不同,第二设备确定出第一数据包接收失败,生成用于指示第一数据包接收失败的第一应用层回执。

在一种可能的实现方式中,在第二设备根据第二鉴权码确定第一数据包的接收状态之后,方法还包括:当第二设备基于第二鉴权码确定出第一数据包接收成功时,第二设备向第一设备发送第一应用回执,第一应用回执用于指示第一数据包的接收成功。

在一种可能的实现方式中,在第二设备根据第二鉴权码确定第一数据包的接收状态之后,方法还包括:当第二设备基于第二鉴权码确定出第一数据包接收失败时,第二设备向第一设备发送第一应用回执,第一应用回执还包括第二消息ID,第二消息ID指示传最近输成功的数据包对应的消息ID。

在一种可能的实现方式中,在第二设备根据第二鉴权码确定第一数据包的接收状态之后,方法还包括:当第二设备基于第二鉴权码确定出第一数据包接收失败时,第二设备向第一设备发送第一应用回执,第一应用回执用于指示第一数据包的接收失败。

在一种可能的实现方式中,当第二设备基于第二鉴权码确定出第一数据包接收成功时,方法还包括:第二设备在第二信息的值上增加预设值;第二信息调整后的值和第二信息的值不同。

在一种可能的实现方式中,当第二设备基于第二鉴权码确定出第一数据包接收失败时,方法还包括:第二设备调整第二信息的值为预设值。

在一种可能的实现方式中,当第二设备基于第二鉴权码确定出第一数据包接收失败时,方法还包括:第二设备接收到第一设备发送的第三信息;第二设备调整第二信息的值为第三信息的值。

在一种可能的实现方式中,在第二设备基于第二鉴权码确定第一数据包的接收状态之后,方法还包括:第二设备在第二传输系统向第一设备发送第二应用回执信息,第二应用回执信息用于指示第二设备在第一传输系统中第一数据包的接收状态。

第三方面,本申请提供了一种传输方法,包括:

第三设备接收第一设备发送的至少一个第二数据包;

第三设备基于至少一个第二数据包,生成第一数据包;

第三设备向第二设备发送第一数据包。

在一种可能的实现方式中,第三设备向第二设备发送第二信息或第四信息,第二信息或第四信息为接收时间信息。

在一种可能的实现方式中,接收时间信息用于指示第三设备接收到至少一个第二数据包中的第1个数据包对应的时间。

第四方面,本申请提供了一种传输方法,包括:

第一设备在第一传输系统下接收第三数据包;

所述第一设备基于第五信息、该第三数据包生成第三鉴权码;其中,第五信息为发送时间信息或第五上下文信息;第一设备基于第三鉴权码确定第三数据包的接收状态。

在一种可能的实现方式中,第一设备基于第五信息、第三数据包生成第三鉴权码,还包括:第一设备还基于第五信息、第三数据包以及第一密钥生成第三鉴权码。

在一种可能的实现方式中,在第一设备基于第五信息、第一密钥、第三数据包生成第三鉴权码之前,还包括:第一设备获取第一密钥,第一密钥为第一设备在第二传输系统下与第二设备协商获取的;其中,第一传输系统与第二传输系统不同。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,还包括:第一设备和第四设备建立通信连接;第一设备通过第四设备获取第一密钥。

在一种可能的实现方式中,第一密钥为第一设备预设的密钥。

在一种可能的实现方式中,第一传输系统为卫星传输系统,第二传输系统为非卫星传输系统。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或无线局域网络WLAN传输系统。

在一种可能的实现方式中,第一设备在第二传输系统下与第二设备通过通用引导构架(Generic Bootstrapping Architecture,GBA)流程协商获取第一密钥。

在一种可能的实现方式中,第一设备根据第三数据包确定第四鉴权码。

在一种可能的实现方式中,第一设备在第一传输系统下接收第三数据包,具体包括:第一设备接收第三设备发送的至少一个第四数据包;第一设备的卫星链路控制层SLC层和/或第一设备的消息数据汇聚层MDCP层将至少一个第四数据包处理为第三数据包。

在一种可能的实现方式中,第六信息为接收时间信息。

在一种可能的实现方式中,接收时间信息用于指示第一设备接收第三数据包的时间。

在一种可能的实现方式中,第一设备接收第三数据包的时间为第一设备接收至少一个第四数据包中第 1个第四数据包的时间。

在一种可能的实现方式中,第一设备通过定位授时获取第五信息。

在一种可能的实现方式中,第一设备基于接收时间信息和指定时间粒度,通过预设编码方式,得到第五信息。

在一种可能的实现方式中,第五信息为第五上下文信息,第五上下文信息用于指示第一设备接收成功的第三数据包的数量信息,或第一设备接收的第三数据包的计数值或序列号。

在一种可能的实现方式中,第三数据包包括第六指示信息,第六指示信息用于指示第三数据包的第四消息ID/第四序列号/第四计数值。

在一种可能的实现方式中,第三数据包包括第四指示信息,第四指示信息用于指示第三数据包为新传数据包或重传数据包。

在一种可能的实现方式中,在第一设备根据第五信息、第一密钥、第三数据包生成第三鉴权码之前,方法还包括:第一设备在第二传输系统中获取第五信息的初始值。

在一种可能的实现方式中,第一设备基于第三鉴权码确定第三数据包的接收状态,具体包括:第一设备基于第三鉴权码与第四鉴权码是否相同,确定第三数据包的接收状态。

在一种可能的实现方式中,第一设备基于第三鉴权码与第四鉴权码是否相同,确定第三数据包的接收状态,具体包括:

第三鉴权码与第四鉴权码相同,第一设备确定第三数据包接收成功;或者,

第三鉴权码与第四鉴权码不同,第一设备确定第三数据包接收失败;或者,

第三鉴权码与第四鉴权码不同,第一设备基于第五信息生成临时信息,并根据临时信息生成临时鉴权码,第一设备比较第三鉴权码与临时鉴权码,确定第三数据包的接收状态。

其中,当第四鉴权码和临时鉴权码相同时,第一设备生成并向第二设备发送包括第五指示信息的第三应用回执;当第四鉴权码和临时鉴权码不同时,第一设备生成并向第二设备发送失败应用回执。

在一种可能的实现方式中,第三鉴权码与第四鉴权码不同,第一设更新第五信息的值,并根据更新后的第五信息生成更新后的第三鉴权码,第一设备比较更新后的第三鉴权码与第四鉴权码,确定第三数据包的接收状态。

在一种可能的实现方式中,当更新后的第三鉴权码和第四鉴权码相同时,第一设备生成并向第二设备发送包括第五指示信息的第三应用回执;当更新后的第三鉴权码和第四鉴权码不同时,第一设备生成并向第二设备发送用于指示发送失败的第三应用回执。

在一种可能的实现方式中,当更新后的第三鉴权码和第四鉴权码相同时,第一设备生成并向第二设备发送用于指示发送成功的第三应用回执。

在一种可能的实现方式中,当更新后的第三鉴权码和第四鉴权码相同时,第一设备在更新后的第五信息的值上增加预设值。

在一种可能的实现方式中,指示应用回执包括第五指示信息,第五指示信息的值和最近接收成功的数据包的第六指示信息的值相同。

在一种可能的实现方式中,在第一设备确定出第三数据包接收成功之后,还包括:

记录第三数据包接收成功的时间信息;和/或者,

记录第三数据包对应的消息ID;和/或,

在第五信息的值上增加预设值;第五信息调整后的值和第五信息的值不同。

在一种可能的实现方式中,在第一设备根据第三鉴权码确定第三数据包的接收状态之后,该方法还包括:第一设备向第二设备发送第三应用回执,第三应用回执用于指示第三数据包的接收状态。

在一种可能的实现方式中,在第一设备基于第三鉴权码确定第一数据包的接收状态之后,该方法还包括:当第一设备确定第三数据包的接收状态为接收正确时,第一设备在第五信息的值上增加预设值;第五信息调整后的值和第五信息的值不同。

在一种可能的实现方式中,在第一设备基于第三鉴权码确定第一数据包的接收状态之后,该方法还包括:当第一设备确定第三数据包的接收状态为接收失败时,第一设备更新第五信息的值为预设值。可选的,预设值为初始值。

在一种可能的实现方式中,该方法还包括:第一设备接收第二设备发送的第七信息;第一设备基于第七信息,更新第五信息为第七信息的值。

在一种可能的实现方式中,当第一设备确定出第三数据包接收成功后,方法还包括:第一设备显示第三数据。

在一种可能的实现方式中,在第一设备根据第三鉴权码确定第三数据包的接收状态之后,方法还包括:

第一设备在第二传输系统向第二设备发送第三应用回执信息,第三应用回执信息用于指示第二设备在第一传输系统中第三数据包的接收状态。

第五方面,本申请提供了一种传输方法,包括:第二设备基于第六信息和第一数据生成第四鉴权码;其中,第六信息为发送时间信息或第六上下文信息;第二设备的应用AP层根据第四鉴权码与第一数据生成第三数据包;第二设备在第一传输系统下向第一设备发送第三数据包。

在一种可能的实现方式中,第二设备基于第六信息和第一数据生成第四鉴权码,还包括:第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码。

在一种可能的实现方式中,在第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码之前,方法还包括:

第二设备获取第一密钥,第一密钥为第一设备在第二传输系统下通过与第二设备协商获取的;其中,第一传输系统与第二传输系统不同。

在一种可能的实现方式中,第一密钥为预设密钥。

在一种可能的实现方式中,第二设备在第二传输系统下与第一设备通过通用引导构架(Generic Bootstrapping Architecture,GBA)流程获取第一密钥。

在一种可能的实现方式中,第二设备在第一传输系统下向第一设备发送第三数据包,具体包括:第二设备将第三数据包经过第三设备发送给第一设备。

在一种可能的实现方式中,第六信息用于指示发送时间信息。

在一种可能的实现方式中,发送时间信息用于指示第四鉴权码生成的时间,或第二设备发送第三数据包的时间。

在一种可能的实现方法中,该第二设备发送第三数据包的时间为第二设备向第三设备下发第三数据包的时间,或者,为第二设备预估的将第三数据包发送给第一设备的时间。

在一种可能的实现方式中,第二设备在打包得到第三数据包后,再在第三数据包中添加第四鉴权码。

在一种可能的实现方式中,第四鉴权码的生成时间的格式为协调世界时UTC或者格林尼治时间GMT。

在一种可能的实现方式中,第四鉴权码的生成时间的最小时间粒度包括年份、月份、天数、小时、分钟、秒中的任一种。

在一种可能的实现方式中,第二设备基于发送时间信息和指定时间粒度,通过指定编码方式,得到第六信息。

在一种可能的实现方式中,在第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码之前,方法还包括:第二设备通过第三设备获取第六信息。

在一种可能的实现方式中,在第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码之前,方法还包括:第二设备接收第三设备发送的第八信息;第二设备基于第八信息生成第六信息。

可选的,第二设备接收第三设备发送的第六信息。

在一种可能的实现方式中,第六信息为第六上下文信息,第六上下文信息用于指示第二设备发送成功第三数据包的数量信息,或第二设备成功接收到应用回执的数量信息,或第二设备发送的第三数据包的计数值或序列值。

在一种可能的实现方式中,方法还包括:第二设备在第二传输系统中获取第六信息的初始值;或者,第二设备在第二传输系统中重置第六信息到预设值。

在一种可能的实现方式中,第三数据包还包括第六指示信息,第六指示信息用于指示第三数据包的第四消息ID,或者第六指示信息用于指示第三数据包的第四计数值或第四序列号。

在一种可能的实现方式中,当第六指示信息用于指示第三数据包的第四计数值或第四序列号时,方法还包括:第二设备的应用层关联第四计数值或第四序列号到第三数据包,第二设备在第四计数值或第四序列号的值上增加预设值。

在一种可能的实现方式中,第三数据包还包括第四指示信息,第四指示信息用于指示第三数据包的新传重传信息。

在一种可能的实现方式中,第二设备的应用AP层根据第四鉴权码与第一数据生成第三数据包,具体包括:第二设备的应用层基于第一密钥加密第四鉴权码和第一数据,生成第三数据包;其中,第三数据包包括加密后的第四鉴权码和加密后的第一数据。

在一种可能的实现方式中,在第二设备发送第三数据包之后,方法还包括:

第二设备接收到第一设备发送的第三应用层回执;其中,第三应用层回执用于指示第一设备接收第三数据包的接收状态。

在一种可能的实现方式中,在第二设备接收到第一设备发送的第三应用层回执之后,方法还包括:第二设备在第六信息的值上增加预设值;第六信息调整后的值和第六信息的值不同。

在一种可能的实现方式中,第二设备在第二传输系统接收第四应用回执信息,第四应用回执信息用于指示第二设备在第一传输系统中第三数据包的发送状态;

第二设备根据第二应用回执信息更新发送状态。

在一种可能的实现方式中,第二设备删除发送成功的第三数据包。

第六方面,本申请提供了一种传输方法,包括:

第三设备接收第二设备发送的第三数据包;

第三设备根据第三数据包,生成至少一个第四数据包;

第三设备向第一设备发送至少一个第四数据包。

在一种可能的实现方式中,在第三设备接收第二设备发送的第三数据包之前,方法还包括:第三设备向第二设备发送第二信息或第四信息,第二信息或第四信息为时间信息。

第七方面,本申请提供了一种传输方法,包括:

第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码;其中,第一信息为发送时间信息或第一上下文信息;第一设备基于第一鉴权码与第一数据生成第一数据包;第一设备在第一传输系统下向第二设备发送第一数据包。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,方法还包括:第一设备获取第一密钥,第一密钥为第一设备在第二传输系统下与第二设备协商获取的;其中,第一传输系统与第二传输系统不同。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,方法还包括:第一设备和第四设备建立通信连接;第一设备通过第四设备获取第一密钥。

在一种可能的实现方式中,第一密钥为第一设备预先设置的密钥。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或无线局域网WLAN传输系统,第一传输系统为卫星传输系统。

在一种可能的实现方式中,第一设备在第二传输系统下与第二设备通过通用引导框架GBA流程协商获取第一密钥。

在一种可能的实现方式中,发送时间信息用于指示第一鉴权码生成的时间,或指示第一设备发送第一数据包的时间。

在一种可能的实现方式中,第一设备发送第一数据包的时间为第一设备的应用AP层向消息数据汇聚 MDCP层发送第一数据包的时间,或者,为第一设备预估的将第一数据包发送给第二设备的时间。

在一种可能的实现方式中,第一设备通过定位授时获取发送时间信息。

在一种可能的实现方式中,第一数据包括打包后的第一数据和第一鉴权码。

在一种可能的实现方式中,数据包的发送时间的格式为协调世界时UTC或者格林尼治时间GMT。

在一种可能的实现方式中,数据包的发送时间的指定时间粒度包括年份、月份、天数、小时、分钟、秒中的任一种。第一设备和第二设备在第二传输系统中协商更新指定时间粒度。

在一种可能的实现方式中,第一设备通过第四设备获取发送时间信息。

在一种可能的实现方式中,第一设备基于发送时间信息和指定时间粒度,通过预设编码方式,得到第一信息。

在一种可能的实现方式中,在第一设备发送第一数据包之后,方法还包括:

第一设备接收到第二设备发送的第一应用层回执;其中,第一应用层回执用于指示第二设备接收第一数据包的接收状态。

在一种可能的实现方式中,第一信息为第一上下文信息,第一上下文信息用于指示第一设备发送成功的第一数据包的数量信息,或第一设备成功接收到应用回执的数量信息,或第一设备发送的第一数据包的计数值或序列号。

在一种可能的实现方式中,第一数据包还包括第一指示信息,第一指示信息用于指示第一数据包的第一消息ID,或者第一指示信息用于指示第一数据包的第一计数值或第一序列号。

在一种可能的实现方式中,第一设备的AP层关联第一消息ID或第一计数值或第一序列号到第一数据包,第一设备在第一消息ID或第一计数值或第一序列号的值上增加预设值。

在一种可能的实现方式中,第一数据包还包括第三指示信息,第三指示信息用于指示第一数据包为新传数据包或重传数据包。

在一种可能的实现方式中,当第三指示信息的值为第一值时,第三指示信息指示第一数据包为新传数据包;当第三指示信息的值为第二值时,第三指示信息指示第一数据包为重传数据包。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,方法还包括:

第一设备在第二传输系统中获取第一信息的初始值;或者,

第一设备通过第四设备获取第一信息的初始值。

在一种可能的实现方式中,在第一设备发送第一数据包之后,方法还包括:

第一设备接收到第二设备发送的第一应用层回执;其中,第一应用层回执用于指示第二设备接收第一数据包的接收状态。

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

第一设备在第一信息的值上增加预设值;第一信息调整后的值和第一信息的值不同。

在一种可能的实现方式中,在第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执用于指示第二设备接收第一数据包失败时,第一设备调整第一信息的值为初始值。

在一种可能的实现方式中,在第一设备调整第一信息的值为初始值之后,方法还包括:第一设备向第二设备发送第三信息,第三信息的值和调整后的第一信息的值相同。

在一种可能的实现方式中,在第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执指示第一数据包发送成功时,第一设备显示成功提示信息,成功提示信息用于提示用户第一数据包对应的消息发送成功。

在一种可能的实现方式中,在第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执指示第一数据包发送失败时,第一设备显示失败提示信息,失败提示信息用于提示用户第一数据包对应的消息发送失败。

在一种可能的实现方式中,第一设备接收到第二设备发送的第一应用层回执之后,方法还包括:当第一应用回执包括第二消息ID信息时,第一设备显示成功提示信息,成功提示信息用于提示用户第二消息ID信息指示的数据包发送成功。

在一种可能的实现方式中,第一设备的应用层根据第一鉴权码与第一数据生成第一数据包,具体包括:第一设备的应用层基于第一密钥加密第一鉴权码和第一数据,生成第一数据包;其中,第一数据包包括加密后的第一鉴权码和加密后的第一数据。

在一种可能的实现方式中,第一设备的应用层基于第一密钥加密第一数据,生成第一数据包;其中,第一数据包包括加密后的第一数据。

在一种可能的实现方式中,在第一设备在第一传输系统下向第二设备发送第一数据包之后,方法还包括:第一设备在第二传输系统接收第二应用回执信息,第二应用回执信息用于指示第一设备在第一传输系统中第一数据包的发送状态。

在一种可能的实现方式中,在第一设备在第一传输系统下向第二设备发送第一数据包之后,方法还包括:第一设备显示发送提示信息,发送提示信息用于提示用户第一设备已向第二设备发送第一数据包。

第八方面,本申请提供了一种传输方法,包括:第二设备在第一传输系统下接收第一设备发送的第一数据包;第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码;其中,第二信息为接收时间信息或第二上下文信息;第二设备基于第二鉴权码确定第一数据包的接收状态。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备获取第一密钥,第一密钥为第二设备在第二传输系统下与第一设备协商获取的;其中,第二传输系统与第一传输系统不同。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或WLAN传输系统,第一传输系统为卫星传输系统。

在一种可能的实现方式中,第二设备在第二传输系统下与第一设备通过通用引导框架GBA流程协商获取第一密钥。

在一种可能的实现方式中,第一密钥为第一设备预先设置的密钥。

在一种可能的实现方式中,第二设备在第一传输系统下接收第一数据包,具体包括:第二设备的卫星链路控制层SLC层接收第一设备发送的至少一个第二数据包;第二设备的消息数据汇聚层MDCP层和/或第一设备的卫星链路控制层SLC层基于至少一个第二数据包得到第一数据包。

在一种可能的实现方式中,第二设备根据第一数据包确定第一鉴权码。

在一种可能的实现方式中,接收时间信息用于指示第一数据包的接收时间。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备在MDCP层/SLC层获取第一数据包的接收时间;第二设备在MDCP层/SLC层基于第一数据包的接收时间生成第二信息。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备在MDCP层/SLC层获取第一数据包的接收时间;第二设备确定出第一数据包的接收时间为第八信息,并将第八信息上传至AP层;第二设备在AP层基于第八信息生成第二信息。

在一种可能的实现方式中,第二上下文信息用于指示第二设备成功接收第一数据包的数量信息,或第二设备接收的第一数据包的计数值或序列值。

在一种可能的实现方式中,第一数据包包括第一指示信息,第一指示信息用于指示第一数据包的第一消息ID/第一序列号/第一计数值。

在一种可能的实现方式中,第一数据包包括第三指示信息,第三指示信息用于指示第一数据包为新传数据包/重传数据包。

在一种可能的实现方式中,在第二设备根据第二信息、第一密钥、第一数据包生成第二鉴权码之前,方法还包括:第二设备在第二传输系统中获取第二信息的初始值。

在一种可能的实现方式中,第二设备基于第二鉴权码确定第一数据包的接收状态,具体包括:第二设备基于第一鉴权码与第二鉴权码是否相同,确定第一数据包的接收状态。

在一种可能的实现方式中,在一种可能的实现方式中,第二设备比较第一鉴权码与第二鉴权码,具体包括:第一鉴权码与第二鉴权码相同,第二设备确定第一数据包接收成功;或者,

第一鉴权码与第二鉴权码不同,第二设备确定第一数据包接收失败;或者,

第一鉴权码与第二鉴权码不同,第二设备更新第二信息并根据更新后的第二信息生成临时鉴权码,第二设备比较临时鉴权码与第一鉴权码,确定第一数据包的接收状态。

其中,当临时鉴权码与第一鉴权码相同时,第二设备生成并向第一设备发送包括第二指示信息的第一应用回执,第二指示信息用于指示最近接收成功的数据包的消息ID;当临时鉴权码与第一鉴权码不同时,第二设备生成并向第一设备发送用于指示第一数据包接收失败的第一应用回执。

在一种可能的实现方式中,在第二设备确定出第一数据包的接收成功之后,还包括:

记录第一数据包接收成功的时间信息;和/或者,

记录第一数据包对应的消息ID;和/或,

第二设备在第二信息的值上增加预设值;第二信息调整后的值和第二信息的值不同。

在一种可能的实现方式中,第二设备比较第三鉴权码与第一鉴权码,具体包括:第三鉴权码与第一鉴权码相同,第二设备确定出第一数据包接收成功,生成用于指示第一数据包接收成功的第一应用层回执;或者,第三鉴权码与第一鉴权码不同,第二设备确定出第一数据包接收失败,生成用于指示第一数据包接收失败的第一应用层回执。

在一种可能的实现方式中,第二设备比较第三鉴权码与第一鉴权码,具体包括:第三鉴权码与第一鉴权码相同,第二设备确定出第一数据包接收失败,生成用于指示第一数据包接收失败的第一应用层回执;其中,第一应用层回执包括接收成功的数据包对应的消息ID;或者,第三鉴权码与第一鉴权码不同,第二设备确定出第一数据包接收失败,生成用于指示第一数据包接收失败的第一应用层回执。

在一种可能的实现方式中,在第二设备根据第二鉴权码确定第一数据包的接收状态之后,方法还包括:当第二设备基于第二鉴权码确定出第一数据包接收成功时,第二设备向第一设备发送第一应用回执,第一应用回执用于指示第一数据包的接收成功。

在一种可能的实现方式中,在第二设备根据第二鉴权码确定第一数据包的接收状态之后,方法还包括:当第二设备基于第二鉴权码确定出第一数据包接收失败时,第二设备向第一设备发送第一应用回执,第一应用回执还包括第二消息ID,第二消息ID指示传最近输成功的数据包对应的消息ID。

在一种可能的实现方式中,在第二设备根据第二鉴权码确定第一数据包的接收状态之后,方法还包括:当第二设备基于第二鉴权码确定出第一数据包接收失败时,第二设备向第一设备发送第一应用回执,第一应用回执用于指示第一数据包的接收失败。

在一种可能的实现方式中,当第二设备基于第二鉴权码确定出第一数据包接收成功时,方法还包括:第二设备在第二信息的值上增加预设值;第二信息调整后的值和第二信息的值不同。

在一种可能的实现方式中,当第二设备基于第二鉴权码确定出第一数据包接收失败时,方法还包括:第二设备调整第二信息的值为预设值。

在一种可能的实现方式中,当第二设备基于第二鉴权码确定出第一数据包接收失败时,方法还包括:第二设备接收到第一设备发送的第三信息;第二设备调整第二信息的值为第三信息的值。

在一种可能的实现方式中,在第二设备基于第二鉴权码确定第一数据包的接收状态之后,方法还包括:第二设备在第二传输系统向第一设备发送第二应用回执信息,第二应用回执信息用于指示第二设备在第一传输系统中第一数据包的接收状态。

第九方面,本申请提供了一种传输方法,包括:

第一设备在第一传输系统下接收第三数据包;

所述第一设备基于第五信息、该第三数据包生成第三鉴权码;其中,第五信息为发送时间信息或第五上下文信息;第一设备基于第三鉴权码确定第三数据包的接收状态。

在一种可能的实现方式中,第一设备基于第五信息、第三数据包生成第三鉴权码,还包括:第一设备还基于第五信息、第三数据包以及第一密钥生成第三鉴权码。

在一种可能的实现方式中,在第一设备基于第五信息、第一密钥、第三数据包生成第三鉴权码之前,还包括:第一设备获取第一密钥,第一密钥为第一设备在第二传输系统下与第二设备协商获取的;其中,第一传输系统与第二传输系统不同。

在一种可能的实现方式中,在第一设备基于第一信息、第一密钥和第一数据生成第一鉴权码之前,还包括:第一设备和第四设备建立通信连接;第一设备通过第四设备获取第一密钥。

在一种可能的实现方式中,第一密钥为第一设备预设的密钥。

在一种可能的实现方式中,第一传输系统为卫星传输系统,第二传输系统为非卫星传输系统。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或无线局域网络WLAN传输系统。

在一种可能的实现方式中,第一设备在第二传输系统下与第二设备通过通用引导构架(Generic Bootstrapping Architecture,GBA)流程协商获取第一密钥。

在一种可能的实现方式中,第一设备根据第三数据包确定第四鉴权码。

在一种可能的实现方式中,第一设备在第一传输系统下接收第三数据包,具体包括:第一设备接收第二设备发送的至少一个第四数据包;第一设备的卫星链路控制层SLC层和/或第一设备的消息数据汇聚层 MDCP层将至少一个第四数据包处理为第三数据包。

在一种可能的实现方式中,第六信息为接收时间信息。

在一种可能的实现方式中,接收时间信息用于指示第一设备接收第三数据包的时间。

在一种可能的实现方式中,第一设备接收第三数据包的时间为第一设备接收至少一个第四数据包中第 1个第四数据包的时间。

在一种可能的实现方式中,第一设备通过定位授时获取第五信息。

在一种可能的实现方式中,第一设备基于接收时间信息和指定时间粒度,通过预设编码方式,得到第五信息。

在一种可能的实现方式中,第五信息为第五上下文信息,第五上下文信息用于指示第一设备接收成功的第三数据包的数量信息,或第一设备接收的第三数据包的计数值或序列号。

在一种可能的实现方式中,第三数据包包括第六指示信息,第六指示信息用于指示第三数据包的第四消息ID/第四序列号/第四计数值。

在一种可能的实现方式中,第三数据包包括第四指示信息,第四指示信息用于指示第三数据包为新传数据包或重传数据包。

在一种可能的实现方式中,在第一设备根据第五信息、第一密钥、第三数据包生成第三鉴权码之前,方法还包括:第一设备在第二传输系统中获取第五信息的初始值。

在一种可能的实现方式中,第一设备基于第三鉴权码确定第三数据包的接收状态,具体包括:第一设备基于第三鉴权码与第四鉴权码是否相同,确定第三数据包的接收状态。

在一种可能的实现方式中,第一设备基于第三鉴权码与第四鉴权码是否相同,确定第三数据包的接收状态,具体包括:

第三鉴权码与第四鉴权码相同,第一设备确定第三数据包接收成功;或者,

第三鉴权码与第四鉴权码不同,第一设备确定第三数据包接收失败;或者,

第第三鉴权码与第四鉴权码不同,第一设备基于第二信息生成临时信息,并根据临时信息生成临时鉴权码,第一设备比较第三鉴权码与临时鉴权码,确定第三数据包的接收状态。

其中,当第四鉴权码和临时鉴权码相同时,第一设备生成并向第二设备发送指示应用回执;当第四鉴权码和临时鉴权码不同时,第一设备生成并向第二设备发送失败应用回执。

在一种可能的实现方式中,指示应用回执包括第五指示信息,第五指示信息的值和最近接收成功的数据包的第六指示信息的值相同。

在一种可能的实现方式中,在第一设备确定出第三数据包接收成功之后,还包括:

记录第三数据包接收成功的时间信息;和/或者,

记录第三数据包对应的消息ID;和/或,

在第五信息的值上增加预设值;第五信息调整后的值和第五信息的值不同。

在一种可能的实现方式中,在第一设备根据第三鉴权码确定第三数据包的接收状态之后,该方法还包括:第一设备向第二设备发送第三应用回执,第三应用回执用于指示第三数据包的接收状态。

在一种可能的实现方式中,在第一设备基于第三鉴权码确定第一数据包的接收状态之后,该方法还包括:当第一设备确定第三数据包的接收状态为接收正确时,第一设备在第五信息的值上增加预设值;第五信息调整后的值和第五信息的值不同。

在一种可能的实现方式中,在第一设备基于第三鉴权码确定第一数据包的接收状态之后,该方法还包括:当第一设备确定第三数据包的接收状态为接收失败时,第一设备更新第五信息的值为预设值。可选的,预设值为初始值。

在一种可能的实现方式中,该方法还包括:第一设备接收第二设备发送的第七信息;第一设备基于第七信息,更新第五信息为第七信息的值。

在一种可能的实现方式中,当第一设备确定出第三数据包接收成功后,方法还包括:第一设备显示第三数据。

在一种可能的实现方式中,在第一设备根据第三鉴权码确定第三数据包的接收状态之后,方法还包括:

第一设备在第二传输系统向第二设备发送第三应用回执信息,第三应用回执信息用于指示第二设备在第一传输系统中第三数据包的接收状态。

第十方面,本申请提供了一种传输方法,包括:

第二设备基于第六信息和第一数据生成第四鉴权码;其中,第六信息为发送时间信息或第六上下文信息;第二设备的应用AP层根据第四鉴权码与第一数据生成第三数据包;第二设备在第一传输系统下向第一设备发送第三数据包。

在一种可能的实现方式中,第二设备基于第六信息和第一数据生成第四鉴权码,还包括:第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码。

在一种可能的实现方式中,在第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码之前,方法还包括:

第二设备获取第一密钥,第一密钥为第一设备在第二传输系统下通过与第二设备协商获取的;其中,第一传输系统与第二传输系统不同。

在一种可能的实现方式中,第一密钥为预设密钥。

在一种可能的实现方式中,第二设备在第二传输系统下与第一设备通过通用引导构架(Generic Bootstrapping Architecture,GBA)流程获取第一密钥。

在一种可能的实现方式中,第二设备在第一传输系统下向第一设备发送第三数据包,具体包括:第二设备将第三数据包经过第三设备发送给第一设备。

在一种可能的实现方式中,第六信息用于指示发送时间信息。

在一种可能的实现方式中,发送时间信息用于指示第四鉴权码生成的时间,或第二设备发送第三数据包的时间。

在一种可能的实现方法中,该第二设备发送第三数据包的时间为第二设备向第三设备下发第三数据包的时间,或者,为第二设备预估的将第三数据包发送给第一设备的时间。

在一种可能的实现方式中,第二设备在打包得到第三数据包后,再在第三数据包中添加第四鉴权码。

在一种可能的实现方式中,第四鉴权码的生成时间的格式为协调世界时UTC或者格林尼治时间GMT。

在一种可能的实现方式中,第四鉴权码的生成时间的最小时间粒度包括年份、月份、天数、小时、分钟、秒中的任一种。

在一种可能的实现方式中,第二设备基于发送时间信息和指定时间粒度,通过指定编码方式,得到第六信息。

在一种可能的实现方式中,在第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码之前,方法还包括:第二设备通过第三设备获取第六信息。

在一种可能的实现方式中,在第二设备基于第六信息、第一密钥和第一数据生成第四鉴权码之前,方法还包括:第二设备的MDCP层/SLC层获取第八信息;第二设备在AP层基于第八信息生成第六信息。

可选的,第二设备在MDCP层/SLC层生成第六信息。

在一种可能的实现方式中,第六信息为第六上下文信息,第六上下文信息用于指示第二设备发送成功第三数据包的数量信息,或第二设备成功接收到应用回执的数量信息,或第二设备发送的第三数据包的计数值或序列值。

在一种可能的实现方式中,方法还包括:第二设备在第二传输系统中获取第六信息的初始值;或者,第二设备在第二传输系统中重置第六信息到预设值。

在一种可能的实现方式中,第三数据包还包括第六指示信息,第六指示信息用于指示第三数据包的第四消息ID,或者第六指示信息用于指示第三数据包的第四计数值或第四序列号。

在一种可能的实现方式中,当第六指示信息用于指示第三数据包的第四计数值或第四序列号时,方法还包括:第二设备的应用层关联第四计数值或第四序列号到第三数据包,第二设备在第四计数值或第四序列号的值上增加预设值。

在一种可能的实现方式中,第三数据包还包括第四指示信息,第四指示信息用于指示第三数据包的新传重传信息。

在一种可能的实现方式中,第二设备的应用AP层根据第四鉴权码与第一数据生成第三数据包,具体包括:第二设备的应用层基于第一密钥加密第四鉴权码和第一数据,生成第三数据包;其中,第三数据包包括加密后的第四鉴权码和加密后的第一数据。

在一种可能的实现方式中,在第二设备发送第三数据包之后,方法还包括:

第二设备接收到第一设备发送的第三应用层回执;其中,第三应用层回执用于指示第一设备接收第三数据包的接收状态。

在一种可能的实现方式中,在第二设备接收到第一设备发送的第三应用层回执之后,方法还包括:第二设备在第六信息的值上增加预设值;第六信息调整后的值和第六信息的值不同。

在一种可能的实现方式中,第二设备在第二传输系统接收第四应用回执信息,第四应用回执信息用于指示第二设备在第一传输系统中第三数据包的发送状态;

第二设备根据第二应用回执信息更新发送状态。

在一种可能的实现方式中,第二设备删除发送成功的第三数据包。

第十一方面,本申请提供了一种传输方法,包括:

发送设备基于信息A和原始数据生成鉴权码A;其中,信息A为发送时间信息或上下文信息A;发送设备基于鉴权码A和原始数据,得到数据包;发送设备在第一传输系统下将数据包发送至接收设备。

在一种可能的实现方式中,发送设备基于信息A和原始数据生成鉴权码A,具体包括:发送设备基于信息A、指定密钥和原始数据生成鉴权码A。

在一种可能的实现方式中,发送设备在第二传输系统下,和接收设备协商获取指定密钥。

在一种可能的实现方式中,第一传输系统和第二传输系统不同。

在一种可能的实现方式中,指定密钥为发送设备预设的密钥。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或无线局域网WLAN传输系统,第一传输系统为卫星传输系统。

在一种可能的实现方式中,发送设备在第二传输系统下与接收设备通过通用引导框架GBA流程协商获取指定密钥。

在一种可能的实现方式中,信息A为发送时间信息时,信息A用于指示数据包的发送时间。

在一种可能的实现方式中,发送设备发送数据包的时间为发送设备的应用AP层向消息数据汇聚 MDCP层发送数据包的时间,或者,为发送设备预估的将数据包发送给接收设备的时间。

在一种可能的实现方式中,信息A为上下文信息A,信息A用于指示发送数据包的数量信息,或,数据包的序列号或计数值。

在一种可能的实现方式中,数据包还包括消息ID字段A,消息ID字段A用于标识数据包。

在一种可能的实现方式中,数据包还包括序列号字段A,序列号字段A用于标识数据包,还用于指示信息A。

在一种可能的实现方式中,发送设备将序列号A和数据包相关联,并基于序列号A生成序列号字段A。

在一种可能的实现方式中,发送设备将消息ID和数据包相关联,并基于消息ID生成消息ID字段A。

在一种可能的实现方式中,数据包还包括重传指示字段,重传指示字段用于指示数据包为重传数据包或新传数据包。

在一种可能的实现方式中,发送设备通过指定密钥对原始数据和鉴权码A进行加密,再在加密后的原始数据和鉴权码A前添加包头信息,得到数据包;其中,包头信息包括加密指示字段,加密指示字段用于指示发送设备使用的加密算法。

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在序列号A上增加预设值;发送设备基于调整后的序列号A,调整上下文信息A的值。

在一种可能的实现方式中,发送设备基于调整后的序列号A,调整上下文信息A的值,具体包括:发送设备基于调整后的序列号A,确定超帧号A的值,并基于调整后的序列号A、超帧号A,调整上下文信息A的值。

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

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

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的成功应用回执后,在上下文信息A的值上增加预设值;其中,成功应用回执用于指示接收设备接收数据包成功。

在一种可能的实现方式中,当发送设备为终端时;在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的成功应用回执后,发送设备显示成功提示信息,成功提示信息用于提示用户数据包发送成功。

在一种可能的实现方式中,当发送设备为卫星网络设备时;在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的成功应用回执后,发送设备将删除存储器中的数据包。

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的失败应用回执后,在上下文信息A的值上增加预设值;其中,失败应用回执用于指示接收设备接收数据包失败。

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的失败应用回执后,调整上下文信息A的值为预设值。

在一种可能的实现方式中,在发送设备调整上下文信息A的值为预设值之后,方法还包括:发送设备向接收设备发送上下文信息A的值。

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的失败应用回执后,发送设备和接收设备在第二传输系统下协商上下文信息 A的值。

在一种可能的实现方式中,当发送设备为终端时;在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的失败应用回执后,发送设备显示失败提示信息,失败提示信息用于提示用户数据包发送失败。

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的指示应用回执后,发送设备在上下文信息A的值上增加预设值;其中,指示应用回执用于指示当前数据包发送失败;其中,指示应用回执包括消息ID字段B,消息ID字段B用于指示最近发送成功的数据包。

在一种可能的实现方式中,当发送设备为终端时;在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在收到接收设备发送的指示应用回执后,发送设备显示成功提示信息和失败提示信息,成功提示信息用于提示用户消息ID字段B指示的数据包发送成功,失败提示信息用于提示用户当前数据包发送失败。

在一种可能的实现方式中,当发送设备为终端时;在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备显示发送提示信息,发送提示信息用于提示用户发送设备已经向接收设备发送数据包。

在一种可能的实现方式中,在发送设备在第一传输系统下将数据包发送至接收设备之后,方法还包括:发送设备在第二传输系统下收到接收设备发送的集合应用回执后,基于集合应用回执确定在第一传输传输系统下发送的数据包的接收状态。

第十二方面,本申请提供了一种传输方法,包括:接收设备在第一传输系统下接收发送设备发送的数据包;接收设备基于信息B和数据包,生成鉴权码B;其中,信息B为接收时间信息或上下文信息B;接收设备基于鉴权码B确定数据包的接收状态。

在一种可能的实现方式中,接收设备基于信息B和原始数据生成鉴权码B,具体包括:接收设备基于信息B、指定密钥和原始数据生成鉴权码B。

在一种可能的实现方式中,接收设备在第二传输系统下,和发送设备协商获取指定密钥。

在一种可能的实现方式中,第一传输系统和第二传输系统不同。

在一种可能的实现方式中,指定密钥为接收设备预设的密钥。

在一种可能的实现方式中,第二传输系统为蜂窝传输系统或无线局域网WLAN传输系统,第一传输系统为卫星传输系统。

在一种可能的实现方式中,接收设备在第二传输系统下与发送设备通过通用引导框架GBB流程协商获取指定密钥。

在一种可能的实现方式中,信息B为接收时间信息时,信息B用于指示数据包的接收时间。

在一种可能的实现方式中,接收设备接收数据包的时间为接收设备的卫星链路控制SLC层收到数据包的第1个卫星链路控制层服务数据单元SLC PDU的时间。

在一种可能的实现方式中,信息B为上下文信息B,信息B用于指示接收数据包的数量信息,或,数据包的序列号或计数值。

在一种可能的实现方式中,数据包还包括序列号字段A,序列号字段A用于标识数据包,还用于指示上下文信息B。

在一种可能的实现方式中,接收设备基于序列号字段A和存储的序列号B,确定出上下文信息B的值。

在一种可能的实现方式中,接收设备基于序列号字段A和存储的序列号B,确定出上下文信息B的值,具体包括:接收设备基于序列号字段A和序列号B的值的大小,确定出超帧号B的值;接收设备基于序列号字段A和超帧号B,得到上下文信息B。

在一种可能的实现方式中,当序列号字段A的值小于或等于序列号B的值,接收设备在超帧号B的值上增加预设值。

在一种可能的实现方式中,接收设备拼接超帧号B和序列号字段A,得到上下文信息B。

在一种可能的实现方式中,在接收设备得到上下文信息B后,可以将序列号B的值调整为序列号字段 A的值。

在一种可能的实现方式中,数据包还包括消息ID字段A,消息ID字段A用于标识数据包。

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

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

在一种可能的实现方式中,接收设备基于数据包获取鉴权码A。

在一种可能的实现方式中,接收设备基于鉴权码B确定数据包的接收状态,具体包括:接收设备比较鉴权码A和鉴权码B确定数据包的接收状态。

在一种可能的实现方式中,接收设备比较鉴权码A和鉴权码B确定数据包的接收状态,具体包括:当鉴权码B和鉴权码A相同,接收设备确定数据包接收成功。

在一种可能的实现方式中,在接收设备确定数据包接收成功之后,方法还包括:接收设备生成成功应用回执,成功应用回执用于指示接收设备接收数据包成功;接收设备向发送设备发送成功应用回执。

在一种可能的实现方式中,数据包包括消息ID字段A;在接收设备确定数据包接收成功之后,方法还包括:接收设备调整消息ID字段B的值为消息ID字段A的值。

在一种可能的实现方式中,接收设备为终端时;在接收设备确定数据包接收成功之后,方法还包括:接收设备显示原始数据。

在一种可能的实现方式中,接收设备为卫星网络设备时;在接收设备确定数据包接收成功之后,方法还包括:接收设备将原始数据通过第二传输系统发送至第二传输系统下的电子设备。

在一种可能的实现方式中,接收设备比较鉴权码A和鉴权码B确定数据包的接收状态,具体包括:当鉴权码B和鉴权码A不同,接收设备确定数据包接收失败。

在一种可能的实现方式中,在接收设备确定数据包接收失败之后,方法还包括:接收设备生成失败应用回执,失败应用回执用于指示接收设备接收数据包失败;接收设备向发送设备发送该失败应用回执。

在一种可能的实现方式中,在接收设备确定数据包接收失败之后,方法还包括:接收设备基于消息ID 字段B生成指示应用回执,指示应用回执用于指示接收设备接收数据包失败,消息ID字段B用于指示接收设备最近接收成功的数据包;接收设备向发送设备发送该指示应用回执。

在一种可能的实现方式中,当鉴权码B和鉴权码A不同,接收设备确定数据包接收失败之后,方法还包括:接收设备基于信息B生成信息C,并基于信息C生成鉴权码C,接收设备基于鉴权码C确定发送设备是否未接收到最近的成功应用回执。

在一种可能的实现方式中,当鉴权码C和鉴权码A相同,即,接收设备确定发送设备未接收到最近发送的成功应用回执,接收设备向发送设备发送成功应用回执。

在一种可能的实现方式中,当鉴权码C和鉴权码A不同,接收设备向发送设备发送失败应用回执。

在一种可能的实现方式中,数据包还包括重传指示字段,重传指示字段用于指示数据包为重传数据包或新传数据包。

在一种可能的实现方式中,当鉴权码B和鉴权码A不同,接收设备确定数据包接收失败之后,方法还包括:接收设备确定出数据包包括指示数据包为新传数据包的重传指示字段,接收设备生成并向发送设备发送失败应用回执。

在一种可能的实现方式中,当鉴权码B和鉴权码A不同,接收设备确定数据包接收失败之后,方法还包括:接收设备确定出数据包包括指示数据包为重传数据包的重传指示字段,接收设备基于信息B生成信息C,并基于信息C生成鉴权码C,接收设备基于鉴权码C确定发送设备是否未接收到最近的成功应用回执。

在一种可能的实现方式中,当鉴权码C和鉴权码A相同,即,接收设备确定发送设备未接收到最近发送的成功应用回执,接收设备向发送设备发送成功应用回执。

在一种可能的实现方式中,当鉴权码C和鉴权码A不同,接收设备向发送设备发送失败应用回执。

在一种可能的实现方式中,接收设备在第二传输系统下向发送设备发送集合应用回执,集合应用回执用于指示接收设备在第一传输系统下针对发送设备的数据包的接收情况。

第十三方面,本申请提供了一种卫星通信系统,包括:发送设备和接收设备;其中,

发送设备,用于基于信息A和原始数据生成鉴权码A;其中,信息A为发送时间信息或上下文信息A;

发送设备,还用于基于鉴权码A和原始数据,得到数据包;

发送设备,还用于在第一传输系统下将数据包发送至接收设备。

接收设备,用于在第一传输系统下接收发送设备发送的数据包;

接收设备,还用于基于信息B和数据包,生成鉴权码B;其中,信息B为接收时间信息或上下文信息 B;

接收设备,还用于基于鉴权码B确定数据包的接收状态。

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

在一种可能的实现方式中,通信装置为终端或卫星网络设备。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

附图说明

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

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

图2A为本申请实施例提供的一种卫星通信系统的入站数据的协议封装架构示意图;

图2B为本申请实施例提供的一种卫星通信系统的入站数据的协议解析架构示意图;

图3A为本申请实施例提供的一种卫星通信系统的出站数据的协议封装架构示意图;

图3B为本申请实施例提供的一种卫星通信系统的出站数据的协议解析架构示意图;

图4为本申请实施例提供的一种卫星通信系统中在入站传输时鉴权校验的流程示意图;

图5为本申请实施例提供的一种获取指定密钥的方法流程图;

图6为本申请实施例提供的一种重放攻击场景示意图;

图7为本申请实施例提供的一种传输方法的处理流程示意图;

图8为本申请实施例提供的另一种传输方法的处理流程示意图;

图9为本申请实施例提供的一种入站传输流程示意图;

图10为本申请实施例提供的一种出站传输流程示意图;

图11为本申请实施例提供的另一种传输方法的处理流程示意图;

图12为本申请实施例提供的另一种入站传输流程示意图;

图13为本申请实施例提供的另一种出站传输流程示意图;

图14为本申请实施例提供的一种传输流程示意图;

图15A-图15H为本申请实施例提供的一组界面示意图;

图16A为本申请实施例提供的另一种传输流程示意图;

图16B为本申请实施例提供的另一种传输流程示意图;

图17A为本申请实施例提供的另一种传输流程示意图;

图17B为本申请实施例提供的另一种传输流程示意图;

图17C为本申请实施例提供的另一种传输流程示意图;

图18A-图18C为本申请实施例提供的另一组界面示意图;

图19为本申请实施例提供的另一种传输流程示意图;

图20为本申请实施例提供的一幅界面示意图;

图21为本申请实施例提供的另一种传输方法的处理流程示意图;

图22为本申请实施例提供的另一种入站传输流程示意图;

图23为本申请实施例提供的另一种出站传输流程示意图;

图24为本申请实施例提供的另一种传输流程示意图;

图25A-图25D为本申请实施例提供的另一组界面示意图;

图26为本申请实施例提供的另一种传输流程示意图;

图27A-图27B为本申请实施例提供的另一组界面示意图;

图28为本申请实施例提供的另一种传输流程示意图;

图29为本申请实施例提供的一幅界面示意图;

图30为本申请实施例提供的另一种传输流程示意图;

图31A-图31B为本申请实施例提供的另一组界面示意图;

图32为本申请实施例提供的另一种入站传输流程示意图;

图33为本申请实施例提供的另一种出站传输流程示意图;

图34为本申请实施例提供的另一种传输流程示意图;

图35为本申请实施例提供的另一种传输流程示意图;

图36为本申请实施例提供的另一种入站传输流程示意图;

图37为本申请实施例提供的另一种出站传输流程示意图;

图38为本申请实施例提供的另一种传输流程示意图;

图39为本申请实施例提供的另一种传输流程示意图;

图40为本申请实施例提供的另一种传输流程示意图;

图41为本申请实施例提供的另一种传输流程示意图;

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

图43A-图43B为本申请实施例提供的另一组界面示意图。

具体实施方式

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

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

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

如图1A所示,卫星通信系统10可以包括但不限于终端100、卫星21、卫星网络设备200、蜂窝网络设备400和终端300等等。

其中,卫星网络的终端100可以向蜂窝网络的终端300发送卫星消息。具体的,终端100可以先发送卫星消息给卫星21,卫星21只进行中继,可以直接将终端100发送的卫星消息转发给地面的卫星网络设备200。卫星网络设备200可以根据卫星通信协议解析卫星21转发的卫星消息,并将从卫星消息中解析出的消息内容转发给蜂窝网络设备400。蜂窝网络设备400可以通过传统的蜂窝通信网络,将消息内容转发给终端300。

蜂窝网络的终端300也可以向卫星网络的终端100发送卫星消息。在出站过程中,终端300可以通过传统的蜂窝通信网络,将短消息发送给短消息中心25。短消息中心25可以将终端300的短消息转发给卫星网络设备200。卫星网络设备200可以将终端300的短消息通过卫星21中继发送给终端100。

可选的,该卫星通信系统10还可以包括国家紧急救援平台、国家紧急救援中心。卫星网络设备200 可以将终端100发送的紧急救援类型的卫星消息,通过国家紧急救援平台发送给国家紧急救援中心。

其中,上述卫星网络设备200可以包括但不限于地面收发站22、中心站23和融合通信平台24。其中,地面收发站22可以包括分别具有发送功能的一个或多个设备和具有接收功能的一个或多个设备,或者可以包括具有发送功能和接收功能的一个或多个设备,此处不作限定。地面收发站22可用于卫星网络设备 200在物理层(physical layer protocol,PHY)对数据的处理功能。中心站23可用于卫星网络设备200在卫星链路控制层(satellitelink control protocol,SLC)层和消息数据汇聚层(message data convergenceprotocol, MDCP)对数据的处理功能。融合通信平台24可用于在应用层(applicationlayer protocol,AP)对数据的处理功能。其中,融合通信平台24也可以称为融合通信网关24。

其中,上述蜂窝网络设备400可以包括但不限于短消息中心(short messageservice center,SMSC)25、归属位置寄存器(home location register,HLR)28、电信业务运营支持系统(business&operation support system,BOSS)29、引导服务器(bootstrapping server function,BSF)41和归属用户服务器(home subscriber server,HSS)42。其中,引导服务器41和归属用户服务器42未在图1A中示出。

其中,短消息中心25可以用于将卫星网络设备200发送的数据转发至蜂窝网络下的终端,也可以用于将蜂窝网络的数据转发至卫星网络设备200。

其中,电信业务运营支持系统29可以用于终端的开户。电信业务运营支持系统29可以在开户时,分配给终端(例如终端100)对应的个人标识(identity,ID)号等。其中,ID号可以为终端的手机号。

其中,引导服务器41可以用于接收终端100和卫星网络设备200的业务请求。引导服务器41还可以用于存储从归属用户服务器42获取的认证参数。其中,认证参数可以包括但不限于随机数(random,RAND)、鉴权令牌(authentication token,AUTN)、期待响应(expected response,XRES)、加密密钥(cipher key, CK)和完整性指定密钥(integritykey,IK)。引导服务器41还可以基于认证参数生成会话指定密钥_网络应用功能(sessionkey_network application function,Ks_NAF)。引导服务器41还可以将Ks_NAF发送给卫星网络设备200。引导服务器41还可以将部分认证参数(RAND和AUTN)发送给终端100。

其中,归属位置寄存器28和/或归属用户服务器42可以用于生成认证参数并将认证参数发送至引导服务器41。其中,RAND和AUTN可以用于终端100计算CK、IK和响应(response,RES)。其中,认证参数中的XRES可以用于卫星网络设备200认证终端100是否为合法终端,只有卫星网络设备200确认出 XRES和RES相同时,卫星网络设备200确认终端100为合法终端(即,卫星网络设备200鉴权成功),卫星网络设备200和终端100可以通过Ks_NAF进行通信数据的加解密。其中,认证参数中的CK和IK 可以用于计算Ks_NAF。

需要说明的是,Ks_NAF为以下申请实施例中的指定密钥(又称为第一密钥)。指定密钥可以用于加解密数据。可选的,指定密钥还可以用于生成鉴权码。

需要说明的是,终端100向卫星网络设备200发送数据的过程为入站。卫星网络设备200向终端100 发送数据的过程为出站。

在一种可能的实现方式中,地面收发站22和中心站23可以为同一个设备。例如,该设备可以为图1B 所示的卫星通信系统20中的地面中心站31。地面中心站31可用于卫星网络设备200在物理层、卫星链路控制层和消息数据汇聚层对数据的处理功能。

在一种可能的实现方式中,发送设备和接收设备可以在第二传输系统中获取指定密钥。发送设备可以基于指定密钥和原始数据得到鉴权码A,并将包括鉴权码A的数据包在第一传输系统中发送给接收设备。接收设备可以基于指定密钥和数据包生成鉴权码B。接收设备可以基于鉴权码B确认数据包的接收状态。这样,发送设备和接收设备可以使用蜂窝网络充足的空口资源更新获取指定密钥,节约协商指定密钥所需的卫星网络的空口资源。发送设备和接收设备还可以将鉴权码和原始数据一起进行传输,节约鉴权所需的交互步骤,进一步节约卫星网络的空口资源。

需要说明的是,第一传输系统可以为卫星传输系统(又称为卫星网络、卫星通信系统),例如,上述卫星通信系统10。在一些实施例中,第一传输系统可以为北斗网络传输系统。还需要说明的是,第二传输系统为非第一传输系统的传输系统。例如,第二传输系统可以为蜂窝传输系统(又称为蜂窝网络),或者,第二传输系统还可以为无线局域网(wirelesslocal area networks,WLAN)传输系统,等等。本申请实施例对此不作限定。

接下来本申请实施例中将以卫星网络、蜂窝网络为例进行传输方法的说明。

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

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

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

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

在AP层,终端100生成第一数据包,其中,第一数据包包括原始数据和基于指定密钥及原始数据生成的第一鉴权码。例如,终端100可以基于原始数据(又称为第一数据)和指定密钥生成第一鉴权码,并将第一鉴权码和原始数据拼接在一起,经过处理(例如添加包头),得到第一数据包。其中,原始数据可以包括但不限于用户输入的数据、接收用户的数量指示、接收用户的ID、终端100的位置信息、语音、图像、动画等。

在一种可能的实现方式中,终端100可以使用指定密钥加密拼接在一起的第一鉴权码和原始数据得到加密后数据。终端100可以在加密后数据前添加包头信息,得到第一数据包。其中,包头信息可以包括但不限于加密指示字段。其中,加密指示字段可以用于指示终端100加密数据使用的加密算法。

可选的,在终端100加密拼接在一起的第一鉴权码和原始数据之前,终端100可以先压缩拼接在一起的第一鉴权码和原始数据。可以理解的是,包头信息中还可以包括压缩指示字段。压缩指示字段可用于指示终端100压缩数据使用的压缩算法。

在一种可能的实现方式中,终端100可以只加密原始数据,得到加密后数据。终端100可以在加密后数据前添加包头信息,得到第一数据包。包头信息可以包括但不限于加密指示字段。最后,终端100再将第一鉴权码添加在第一数据包中,得到包括有第一鉴权码和加密后数据的第一数据包。

在MDCP层,终端100可以通过层间接口获取到AP层下发的第一数据包,并将第一数据包作为一个 MDCP SDU。在MDCP层,终端100可以在MDCP SDU的尾部添加填充数据(padding)至指定长度,并给MDCP SDU添加冗余长度指示字段。该冗余长度指示字段可用于表示该填充数据的长度。终端100可以将填充数据以及增加冗余长度指示字段之后的MDCPSDU,拆分成一个或多个固定长度的MDCP分段数据(M_segment),并在每个MDCP分段数据的头部添加后继指示字段,得到MDCP PDU。即MDCP PDU 包括M_segment和后继指示字段。其中,后继指示字段可用于表示当前的MDCP PDU在同一个MDCP SDU 中的多个MDCP PDU中的顺序,或者当前MDCP PDU后面是否还有MDCP PDU,或者当前MDCP PDU 为MDCP SDU的唯一一个MDCP PDU。

在SLC层,终端100可以通过层间接口获取到MDCP层下发的MDCP PDU,作为SLCSDU。在SLC 层,终端100可以将SLC SDU分段成一个或多个(例如,4个)固定长度的SLC分段数据(S_segment),并在每个S_segment头部添加帧头信息(又称为帧格式指示信息),得到SLC PDU。其中,帧头信息中可以包括但不限于用户ID字段、帧总数字段和帧序号字段。其中,用户ID字段可用于表示生成该SLC PDU 的终端(例如,终端100)。帧总数字段,可用于表示该SLC PDU所属的SLC SDU中包括SLC PDU的总数量。帧序号字段,可用于表示该SLC PDU在所属的SLC SDU中的序号。

需要说明的是,在此,SLC PDU可以称为第二数据包。也就是说,终端100可以通过MDCP层和SLC 层将第一数据包处理为至少一个第二数据包。或者,MDCP分段也可以称为第二数据包,终端100可以通过MDCP层将第一数据包处理为至少一个第二数据包。

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

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

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

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

在PHY层,卫星网络设备200可以获取终端100发送的入站数据。卫星网络设备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按照接收顺序拼接在一起,并将拼接后的MDCP PDU的填充数据和冗余长度指示字段去除得到MDCPSDU。卫星网络设备200可以将MDCP SDU通过层间接口呈递到AP层,作为AP层接收到的第一数据包。至此,卫星网络设备200的SLC层和MDCP层将至少一个第二数据包(即,SLC PDU)处理得到第一数据包,或者卫星网络设备200的MDCP层将至少一个第二数据包(即,MDCP PDU)处理得到第一数据包。

在AP层,卫星网络设备200可以基于指定密钥和第一数据包生成第二鉴权码,并基于第二鉴权码判断第一数据包的接收状态。具体的,卫星网络设备200可以获取第一数据包中的原始数据,再基于指定密钥和原始数据生成第二鉴权码。卫星网络设备200可以获取第一数据包中的第一鉴权码,通过比较第一鉴权码和第二鉴权码是否相同来判断第一数据包的接收状态。当第一鉴权码和第二鉴权码相同时,卫星网络设备200确定出第一数据包接收成功。即,卫星网络设备200确定第一数据包中的原始数据为终端100发送的数据,卫星网络设备200可以针对原始数据执行相应的操作(例如,将原始数据转发至蜂窝网络下的被叫用户设备)。当第一鉴权码和第二鉴权码不同时,卫星网络设备200确定出第一数据包接收失败。即,卫星网络设备200确定第一数据包中的原始数据不是终端100发送的数据,卫星网络设备200可以丢弃第一数据包。

在一种可能的实现方式中,第一数据包包括加密后数据,加密后数据包括加密后的第一鉴权码和加密后的原始数据。卫星网络设备200可以基于第一数据包的包头,确定出终端100使用的加密算法。卫星网络设备100可以基于指定密钥和加密算法对第一数据包进行解密得到原始数据和第一鉴权码。卫星网络设备200可以基于指定密钥和原始数据生成第二鉴权码。

可选的,卫星网络设备200对加密后数据进行解密后,可以得到压缩数据。卫星网络设备200对压缩数据进行解压缩后,得到第一鉴权码和原始数据。

在一种可能的实现方式中,第一数据包包括加密后数据和第一鉴权码。卫星网络设备200可以直接获取第一数据包中的第一鉴权码。卫星网络设备200可以基于指定密钥和包头信息中的加密指示字段针对加密后数据进行解密操作,得到原始数据。

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

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

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

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

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

在AP层,卫星网络设备200生成第三数据包,其中,第三数据包包括原始数据和第四鉴权码。例如,卫星网络设备200可以基于原始数据(又称为第一数据)和指定密钥生成第四鉴权码,并将第四鉴权码和原始数据拼接在一起,经过处理(例如添加包头),得到第三数据包。其中,原始数据可以包括但不限于第三方服务器(例如,短消息中心25)发送的数据、文本、旗语、语音、图像、动画等。

可选的,卫星网络设备200可以只基于原始数据生成第四鉴权码。

在一种可能的实现方式中,卫星网络设备200可以基于指定密钥和加密算法加密拼接在一起的原始数据和第四鉴权码,得到加密后数据。卫星网络设备200可以在加密后数据前添加包头,得到第三数据包。其中,包头可以包括但不限于加密指示字段。加密指示字段可以用于指示卫星网络设备200加密数据使用的加密算法。

可选的,在卫星网络设备200加密拼接在一起的第四鉴权码和原始数据之前,可以先压缩拼接在一起的第四鉴权码和原始数据。可以理解的是,包头中还可以包括压缩指示字段。压缩指示字段可用于指示卫星网络设备200压缩数据使用的压缩算法。

进一步可选的,卫星网络设备200可以压缩拼接在一起的第四鉴权码和原始数据,得到压缩数据。卫星网络设备200可以在压缩数据前添加上述压缩指示字段,再使用指定密钥加密添加了压缩指示字段的压缩数据,得到加密后数据。

在一种可能的实现方式中,卫星网络设备200可以只加密原始数据,得到加密后数据。卫星网络设备200可以在加密后数据前添加包头信息,得到第三数据包。包头信息可以包括但不限于加密指示字段。最后,卫星网络设备200再将第四鉴权码添加在第三数据包中,得到包括有第一鉴权码和加密后数据的第三数据包。

在MDCP层,卫星网络设备200可以通过层间接口获取到AP层下发的第三数据包,并将第三数据包作为一个MDCP SDU。卫星网络设备200可以将MDCP SDU拆分成一个或多个MDCP分段数据 (M_segment),并在每个MDCP分段数据的头部添加后继指示字段,得到MDCPPDU,即MDCP PDU 包括M_segment和后继指示字段。其中,后继指示字段可用于表示当前的MDCP PDU在同一个MDCP SDU 中的顺序,比如是否为唯一一个PDU,是否后续还有MDCP PDU,是否为第一个MDCP PDU。

示例性的,后继指示字段的数据长度可以占用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。

需要说明的是,上述后继指示字段仅为示例,不构成对本申请实施例的具体限定。

在SLC层,卫星网络设备200可以通过层间接口获取到MDCP层下发的MDCP PDU,作为SLC SDU。卫星网络设备200可以将SLC SDU分段成一个或多个(例如,4个)SLC分段数据(S_segment),并在每个S_segment头部添加帧头信息,得到SLC PDU。其中,帧头信息可以包括但不限于用户ID字段、帧总数字段、帧序号字段。其中,用户ID字段可以用于标识接收设备(例如终端100),用户ID字段的值为接收设备的ID号。其中,帧总数字段和帧序号字段的详细描述可以参见上述图3A所述实施例,在此不再赘述。需要说明的是,在此,SLC PDU可以称为第四数据包。卫星设备200可以在MDCP层和SLC层将第三数据包处理为至少一个第四数据包。或者MDCP的分段可以称为第四数据包,卫星设备200可以在MDCP 层将第三数据包处理为至少一个第四数据包。

在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可以基于bitmap字段的值,重传数据/发送下一个SLC SDU。

在MDCP层,终端100可以将一个或多个MDCP PDU去掉包头后,拼接成一个MDCPSDU。终端 100可以将MDCP SDU通过层间接口呈递到AP层,作为AP层接收到的第三数据包。至此,终端100的 SLC层和MDCP层将至少一个第四数据包(即,SLC PDU)处理得到第三数据包。

在AP层,终端100可以基于指定密钥和第三数据包生成第三鉴权码,并基于第三鉴权码判断第三数据包的接收状态。具体的,终端100可以获取第三数据包中的原始数据,再基于指定密钥和原始数据生成第三鉴权码。终端100可以获取第三数据包中的第四鉴权码,通过比较第四鉴权码和第三鉴权码是否相同来判断第三数据包的接收状态。当第四鉴权码和第三鉴权码相同时,终端100确定出第三数据包接收成功。即,终端100确定第三数据包的原始数据是卫星网络设备200发送的数据,终端100可以针对原始数据执行相应的操作(例如,将原始数据以短信形式显示在终端100的显示屏上)。当第四鉴权码和第三鉴权码不同时,终端100确定出第三数据包接收失败。即,终端100确定出第三数据包的原始数据不是卫星网络设备200发送的数据,终端100可以丢弃该第三数据包。

可选的,终端100可以只基于第三数据包中的原始数据生成第三鉴权码。

在一种可能的实现方式中,第三数据包包括加密后数据,加密后数据包括加密后的第四鉴权码和加密后的原始数据。终端100可以基于第三数据包的加密指示字段,确认出卫星网络设备200使用的加密算法,再基于指定密钥和加密算法针对加密后数据进行解密,得到原始数据和第四鉴权码。终端100可以基于指定密钥和解密得到的原始数据生成第三鉴权码。

可选的,终端100针对加密后数据进行解密后,可以得到压缩数据。终端100对压缩数据进行解压缩后,得到第四鉴权码和原始数据。

在一种可能的实现方式中,第三数据包包括加密后数据和第四鉴权码。终端100可以直接截取第三数据包中的第四鉴权码。终端100可以基于指定密钥和包头信息中的加密指示字段针对加密后数据进行解密操作,得到原始数据。终端100再基于原始数据和指定密钥得到第三鉴权码。

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

下面介绍本申请实施例中提供的一种卫星通信系统中传输方法。

图4示出了本申请实施例中提供的卫星通信系统中在入站传输时鉴权校验的流程示意图。

S401,终端100、卫星网络设备200和蜂窝网络设备400协商指定密钥。

具体的,协商指定密钥的详细描述可以参见图5所述实施例,在此不再赘述。终端100和卫星网络设备200在通过蜂窝网络设备400获取指定密钥后,可以存储该指定密钥。终端100和卫星网络设备200可以使用该指定密钥进行数据的加解密。

在一种可能的实现方式中,终端100和卫星网络设备200在蜂窝网络下获取的指定密钥只能在预设时间内(例如15天)使用,指定密钥的可用时间可以称为指定密钥有效期。当指定密钥有效期结束后,终端100和卫星网络设备200要回到蜂窝网络更新指定密钥和指定密钥有效期。

S402,终端100获取原始数据。

其中,原始数据可以包括但不限于主叫用户(终端100的用户)输入的数据(例如文本数据、图像数据、音频数据、视频数据等)、被叫用户的数量指示、被叫用户的ID、终端100的位置信息等。

在一些实施例中,终端100可以在接收到主叫用户的第一输入后,响应于第一输入,获取原始数据并向卫星网络设备200发送该原始数据。在本申请实施例中,该输入可以包括但不限于:手势、语音等。其中,手势可以包括直接触摸终端100的显示屏的手势(例如单击)和不直接触摸显示屏的悬浮手势。

S403,终端100基于指定密钥和原始数据生成第一鉴权码。

终端100可以基于指定密钥和原始数据通过指定算法生成第一鉴权码。例如,终端100可以针对指定密钥和原始数据,通过国密算法得到第一鉴权码。

S404,终端100基于第一鉴权码和原始数据,得到第一数据包。

终端100可以将第一鉴权码和原始数据拼接在一起,得到并使用指定密钥加密拼接在一起的第一鉴权码和原始数据,得到加密后数据。终端100可以在加密后数据前添加包头信息,得到第一数据包。其中,包头信息可以包括但不限于加密指示字段。其中,加密指示字段可以用于指示终端100使用的加密算法。其中,加密指示字段的长度可以为2bit。例如,当加密指示字段的值为00时,指示发送设备不使用加密算法。当加密指示字段的值为01时,指示发送设备使用国密算法中的密码杂凑算法。

S405,终端100可以将第一数据包发送至卫星网络设备200。

具体的,终端100向卫星网络设备200发送数据的具体流程描述可以参见上述图2A所述实施例,在此不再赘述。需要说明的是,终端100将第一数据包发送至卫星网络设备200的过程中,第一数据包包括用户标识,例如终端100在SLC层添加的帧头信息中可以包括用户ID字段。用户ID字段可以用于标识终端100。用户ID字段的值为终端100的ID号码。终端100的ID号码可以用于指示终端100对应的指定密钥等参数。

S406,卫星网络设备200可以基于指定密钥和第一数据包生成第二鉴权码。

卫星网络设备200可以使用指定密钥解密第一数据包,得到第一鉴权码和原始数据。其中,卫星网络设备200可以基于包头中的加密指示字段确定出终端100使用的加密算法。卫星网络设备200可以使用指定密钥通过加密算法对应的解密算法解密第一数据包中的加密后数据,得到第一鉴权码和原始数据。其中,卫星网络设备200接收来自终端100的数据的具体流程描述可以参见上述图2B所述实施例,在此不再赘述。

卫星网络设备200可以基于指定密钥和原始数据通过指定算法(例如分组加密算法)生成第二鉴权码。其中,卫星网络设备200生成第二鉴权码使用的指定算法和终端100生成鉴权码使用的指定算法相同。

S407,卫星网络设备200判断第一鉴权码和第二鉴权码是否相同。

卫星网络设备200可以基于第二鉴权码确定第一数据包的接收状态。

其中,当卫星网络设备200判定出第一鉴权码和第二鉴权码不同时,卫星网络设备200确定出第一数据包接收失败,可以丢弃该第一数据包。可选的,卫星网络设备200可以执行步骤S408。

当卫星网络设备200判定出第一鉴权码和第二鉴权码相同时,卫星网络设备200确定出第一数据包接收成功,可选的,卫星网络设备200可以执行步骤S409。

S408,卫星网络设备200向终端100发送失败应用回执。

当卫星网络设备200判定出第一鉴权码和第二鉴权码不同时,卫星网络设备200还可以生成失败应用回执,失败应用回执用于指示卫星网络设备200接收第一数据包失败。卫星网络设备200可以将失败应用回执发送给终端100。

S409,卫星网络设备200可以将原始数据发送至蜂窝网络设备400。

卫星网络设备200可以将原始数据发送至蜂窝网络设备400(例如,短消息中心25)。蜂窝网络设备 400可以将原始数据以指定格式(例如,短信)转发至被叫用户(例如终端300)。可选的,卫星网络设备 200还可以执行步骤S410。

S410,卫星网络设备向终端100发送成功应用回执。

当卫星网络设备200判定出第一鉴权码和第二鉴权码相同时,卫星网络设备200还可以生成成功应用回执,成功应用回执用于指示卫星网络设备200接收第一数据包成功。卫星网络设备200可以将成功应用回执发送给终端100。

接下来介绍本申请实施例提供的一种获取指定密钥的方法流程图。

在一种可能的实现方式中,终端100和卫星网络设备200可以在蜂窝网络下协商获取指定密钥。这样,终端100在卫星网络下也可以使用指定密钥进行数据的加解密,不需要和卫星网络设备进行指定密钥的协商,节约卫星网络设备的空口资源的同时,保证数据安全性。

具体的,终端100和卫星网络设备200可以通过通用引导架构(genericbootstrapping architecture,GBA) 流程获取指定密钥。示例性的,如图5所示,终端100和卫星网络设备200获取指定密钥的具体步骤如下:

S501,终端100向卫星网络设备200发送业务请求1。

当终端100处于蜂窝网络时,终端100可以在蜂窝网络下向卫星网络设备200发送业务请求1。其中,业务请求1可以包括终端100的标识,该标识用于标识终端100的身份。例如,业务请求1可以为超文本传输协议获取请求(hypertext transfer protocol GET,HTTPGET)。

S502,卫星网络设备200向卫星网络设备200发送业务响应1。

卫星网络设备200可以在收到业务请求1后,可以在基于终端100的标识确定出卫星网络设备200中未存储终端100的指定密钥或终端100的指定密钥已经失效后,向终端100发送业务响应1。其中,业务响应1可以用于指示终端100通过蜂窝网络设备400获取指定密钥。

S503,终端100向引导服务器41发送业务请求2。

终端100在接收到业务响应1后,可以向引导服务器41发送业务请求2。其中,业务请求2可以包括终端100的标识,业务请求2可以用于指示蜂窝网络设备400向终端100发送生成指定密钥所需要的参数,例如,随机数RAND和鉴权令牌AUTN。例如,业务请求2可以为超文本传输协议认证和指定密钥协商(authentication and key agreement,AKA)请求。

S504,引导服务器41向归属用户服务器42发送认证请求。

引导服务器41收到业务请求2后,可以向归属用户服务器42发送认证请求。其中,认证请求包括终端100的标识。认证请求可以用于指示归属用户服务器42反馈终端100的认证参数。其中,认证参数的描述可以参见上述图1A所示实施例,在此不再赘述。例如,认证请求可以为媒体鉴权请求(multimedia authentication request,MAR)。

S505,归属用户服务器42向引导服务器41发送认证参数(包括RAND、AUTN、XRES、CK、IK)。

归属用户服务器42接收到认证请求后,可以基于终端100的标识获取终端100的认证参数。归属用户服务器42预存有终端100的标识和标识对应的CK和IK。归属用户服务器42还可以通过随机数生成器获取随机数RAND。归属用户服务器42可以基于RAND、IK和CK生成AUTN和XRES。归属用户服务器42可以将生成的认证参数发送至引导服务器41。其中,终端100的标识可以包括但不限于终端100的手机号、IP多媒体私有标识(IP multimediaprivate identity,IMPI)、临时IP多媒体私有标识(Temporary IP Multimedia PrivateIdentity,TMPI)等等。

S506,引导服务器41向终端100发送业务响应2。

引导服务器41收到认证参数后,可以向终端100发送业务响应2。其中,业务响应2可以包括RAND 和AUTN。

S507,终端100基于RAND和AUTN生成CK、IK和RES。

终端100可以在收到RAND和AUTN后,基于RAND和AUTN通过SIM卡计算得到CK、IK和RES。其中,终端100生成RES使用的算法和蜂窝网络设备400生成XRES使用的算法相同。

S508,终端100向引导服务器41发送业务请求3(包括RES)。

终端100在生成RES后,可以向蜂窝网络设备400发送业务请求3。其中,业务请求3包括RES。例如,业务请求3可以为头域中包括RES的HTTP GET。

S509,引导服务器41可以对比XRES和RES是否相同。

引导服务器41收到终端100的业务请求3后,可以通过比较RES和XRES是否相同,验证终端100 的身份。若引导服务器41判定出RES和XRES相同,引导服务器41可以执行步骤S510和步骤S511。

S510,引导服务器41可以基于CK和IK生成Ks_NAF,Ks_NAF的指定密钥有效期和Ks_NAF的引导业务标识(bootstrapping transaction identifier,B-TID)。

引导服务器41可以基于CK和IK通过生成指定密钥的算法计算得到Ks_NAF。同时,引导服务器41 可以生成Ks_NAF对应的B-TID和指定密钥有效期。其中,Ks_NAF为终端100的指定密钥,可以用于和卫星网络设备100进行数据传输时数据的加解密。B-TID可以用于卫星网络设备200从引导服务器41获取终端100的Ks_NAF。指定密钥有效期可以用于指示指定密钥(即,Ks_NAF)的有效时间。

S511,引导服务器41可以向终端100发送业务响应3。

其中,业务响应3可以包括指定密钥有效期和B-TID。业务响应3可以用于指示终端100使用业务响应2中的参数生成指定密钥。

S512,终端100可以基于认证参数生成Ks_NAF。

终端100可以基于CK和IK通过生成指定密钥的算法计算得到Ks_NAF。其中,终端100使用的生成指定密钥的算法和蜂窝网络设备400使用的算法相同。在指定密钥有效期内,终端100可以在传输数据的过程中,通过上述认证参数计算得到Ks_NAF(即指定密钥)进行数据的加解密操作。

S513,终端100向卫星网络设备200发送业务请求4(包括B-TID)。

终端100在计算得到Ks_NAF后,可以向卫星网络设备200发送业务请求4。其中,业务请求4可以包括B-TID。业务请求4可以用于指示卫星网络设备200获取终端100的指定密钥。

S514,卫星网络设备200向引导服务器41发送参数请求。

卫星网络设备200收到业务请求4后,可以向引导服务器41发送参数请求。其中,参数请求可以包括B-TID。例如,参数请求可以为引导信息请求(bootstrapping-info-request,BIR)。

S515,引导服务器41向卫星网络设备200发送参数响应。

引导服务器41可以基于终端100的B-TID向卫星网络设备200发送参数响应。其中,参数响应可以包括终端100的Ks_NAF、指定密钥有效期。可选的,引导服务器41可以只在步骤S515值生成B-TID和指定密钥有效期,直到收到卫星网络设备200的参数请求后,再生成指定密钥Ks_NAF。

S516,卫星网络设备200向终端100发送业务响应4。

卫星网络设备200可以在收到引导服务器41返回的指定密钥后,给终端100发送业务响应4。其中,业务响应4可以用于指示在指定密钥有效期内,终端100和卫星网络设备200可以使用各自存储的Ks_NAF 进行数据的加解密操作。可以理解的是,Ks_NAF为终端100和卫星网络设备200通过蜂窝网络设备400 获取的指定密钥。

这样,在蜂窝网络下更新指定密钥,并给指定密钥预设有效期。在卫星网络下,终端100和卫星网络设备200可以使用有效期内的指定密钥进行数据的加解密操作。既节约了协商指定密钥所需的卫星通信系统的空口资源,也减少了生成指定密钥的步骤。

但是,由于发送设备和接收设备只基于原始数据生成鉴权码,当接收设备重复收到发送设备的某一条消息时,会出现重复解析、处理该重复消息,对该重复消息进行多次收费的情形。如图6所示,当发送设备为终端100,接收设备为卫星网络200时,如果终端100的入站消息被攻击终端截获,并将该入站消息重复发送给卫星网络设备200,不仅会占用卫星网络设备200的计算资源,还可能出现重复计算终端100 的消息费用的情况。

因此,本申请实施例提供了一种传输方法。发送设备可以基于信息A和原始数据生成鉴权码A。发送设备可以基于鉴权码A和原始数据,得到数据包。发送设备可以在第一传输系统下将数据包发送给接收设备。接收设备可以在接收到数据包后,基于数据包和信息B生成鉴权码B。接收设备可以基于鉴权码B确定第一数据包的接收状态。其中,信息A和信息B为发送设备与接收设备根据传输进行更新的信息,例如可以为时间信息并随着时间更新而更新,或者接收数据包的数量信息,发送设备可以基于发送数据包的数量更新,接收设备可以基于接收数据包的数量更新。

这样,由于重复发送的数据包中的鉴权码A是基于更新前的信息A生成的。接收设备基于更新后的信息B生成的鉴权码B和重复发送的数据包中的鉴权码B不同,说明该数据包可能是非法终端的转发,接收设备会判定接收该数据包失败,就不会出现重复处理、计费的问题。

在一种可能的实现方式中,发送设备的信息A为发送时间信息,接收设备的信息B为接收时间信息。这样,当发送设备的发送时间和接收设备的接收时间的差值超过预设最小时间粒度时,信息A和信息B 不同,即鉴权码A和鉴权码B不同,接收设备就不能解析发送设备发送的数据包,不会出现重复处理、计费的问题。

具体的,发送设备可以基于信息A和原始数据生成鉴权码A。发送设备可以将包括鉴权码A的数据包在第一传输系统下发送给接收设备。信息A为发送时间信息。接收设备可以在接收到数据包后,基于信息B和数据包生成鉴权码B。接收设备可以基于鉴权码B确定出数据包的接收状态。信息B为接收时间信息。这样,当发送设备生成鉴权码的时间和接收设备接收数据包的时间相隔超过最小时间粒度时,接收设备就不能解析该数据包,不会出现重复处理、计费的问题。

图7示出了本申请实施例提供的一种传输方法的处理流程示意图。

1.发送设备基于原始数据和信息A生成鉴权码A。

其中,信息A为发送时间信息,信息A可以用于指示数据包的发送时间。

(1)发送设备获取数据包的发送时间。

在入站过程中,数据包的发送时间可以为发送设备(终端100)获取原始数据至生成鉴权码A加上偏置时间(简称为偏置)的整个期间的任意时间。其中,终端100获取原始数据的时间可以为终端100接收到主叫用户发送卫星消息的输入的时间,此时,原始数据包括主叫用户输入的数据。其中,终端100生成鉴权码A的时间可以为终端100运行获取第一数据包的发送时间的程序语句(例如,通过获取当前时间函数getCurrentTime())得到的当前时间。其中,终端100可以基于卫星的定位授时确定数据包的发送时间。或者,第一数据包的发送时间可以表示为发送设备(终端100)在AP层将第一数据包下发至MDCP层的时间。或者,第一数据包的发送时间可以表示为发送设备(终端100)预估的发送设备(终端100)将第一数据包发送给接收设备(卫星网络设备200)的时间。

在出站过程中,数据包的发送时间可以为发送设备(卫星网络设备200)获取原始数据至生成鉴权码 A加上偏置期间的任意时间。其中,卫星网络设备200获取原始数据的时间可以为卫星网络设备200接收到终端100发送业务请求的时间,或者,卫星网络设备200获取原始数据的时间可以为卫星网络设备200 接收到发送给终端100的消息的时间,或者卫星网络设备200向终端100发送数据的时间,或者卫星网络设备200生成鉴权码A加上偏置的时间,用来估计卫星网络设备200的SLC层或MDCP层或物理层发送数据的时间。其中,卫星网络设备200生成鉴权码A的时间可以为卫星网络设备200运行获取第一数据包的发送时间的程序语句(例如,卫星网络设备200中的融合通信平台24通过获取当前时间函数getCurrentTime())得到的当前时间。其中,卫星网络设备200中的地面收发站22或者中心站23可以基于卫星21确定数据包的发送时间。

可选的,在出站过程中,卫星网络设备200可以基于出站数据量和出站空口资源获取数据包的调度时间,卫星网络设备200可以基于数据包的调度时间预估数据包的出站时间。也就是说,卫星网络设备200 的数据包的发送时间可以为预估的数据包的出站时间。例如,卫星网络设备200中的融合通信平台24接收地面收发站22或中心站23指示的可调度时间。

在一些实施例中,数据包的发送时间可以表示为发送设备在AP层将数据包下发至MDCP层的时间。

(2)发送设备基于数据包的发送时间,生成信息A。

发送设备在得到数据包的发送时间后,可以根据预设的或者配置的最小的时间粒度对时间进行编码,得到信息A。例如,可以截取出数据包的发送时间中预设最小时间粒度之前的时间值,并将该时间值通过编码(例如,二-十进制编码,十进制转换为二进制等)得到信息A。针对入站传输,发送设备即终端100 可以根据预设的或者终端100在蜂窝或WLAN下被网络配置的,或者在卫星网络下配置的最小时间粒度,对时间进行编码,得到信息A。针对出站传输,发送设备即卫星网络设备200生成信息A,例如,卫星网络设备200中的融合通信平台24,根据地面收发站22或中心站23提供的时间,以及预制或配置的最小时间粒度进行编码,生成信息A;再例如,卫星网络设备200中的地面收发站或中心站根据时间,以及预制或配置的最小时间度进行编码后得到信息A,再将信息A告知融合通信平台24。

其中,预设或配置的最小时间粒度可以为分钟、半分钟、半小时等等,本申请对此不做限制。

例如,数据包的发送时间为2021年8月25日17时23分51秒。当最小时间粒度为分钟时,发送设备可以基于预设最小时间粒度截取得到的时间值为202108251723。

再例如,当最小时间粒度为半分钟时,发送设备可以基于最小时间粒度截取得到的时间值。例如,发送设备可以将未超过30s的时间记为0.0分钟,超过30s的时间记为0.5分钟。那么,基于上述数据包的发送时间得到的时间值为202108251723.5。再例如,发送设备可以将未超过30s的时间记为00秒,将超过 30s的时间记为30秒。那么,基于上述数据包的发送时间得到的时间值为20210825172330。再例如,发送设备可以直接在将分钟之前的时间值编码得到二进制数据后,在得到的二进制数据的末尾加上1bit的数据,用于指示为前半分钟或者后半分钟(例如,0代表1s-30s,1代表31s-60s)。再例如,发送设备可以针对上述数据包的发送时间的值除以最小粒度,得到一个整数值,该整数值为发送设备得到的时间值。那么,发送设备基于上述发送时间得到的时间值为404216503446。可以理解的是,实际的数据包的发送时间为时间值和最小时间粒度的值的乘积,这样,可以通过整数个最小粒度来标识时间信息。

例如,当发送设备的编码方式如果为二-十进制编码中的8421编码时,发送设备可以基于时间值 202108251723通过8421编码方式得到信息A的值为0010 0000 0010 00010000 1000 0010 0101 0001 0111 0010 0011。当发送设备的编码方式如果为十进制转换为二进制方式时,发送设备可以基于时间值 202108251723转换得到信息A的值为10111100001110100101110010111001001011。

需要说明的是,以上预设最小时间粒度的取值还有编码方式的选取只是示例,本申请对此不做具体限定。

在一种可能的实现方式中,发送设备也可以获取数据包的发送时间中一个或多个特定时间粒度的时间值,再进行编码,得到信息A。例如,数据包的发送时间为2021年8月25日17时23分51秒时,特定时间粒度包括月份、分钟和小时,那么发送设备得到的时间值为082317。(3)发送设备基于信息A和原始数据得到鉴权码A。

发送设备可以基于信息A和原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到鉴权码A。

可选的,发送设备可以基于信息A、原始数据和密钥,通过指定算法,计算得到鉴权码A。

2.发送设备基于原始数据和鉴权码A得到数据包。

发送设备可以将鉴权码A和原始数据拼接在一起,得到数据包。

可选的,发送设备可以在拼接在一起的鉴权码A和原始数据之前添加包头信息,得到数据包。其中,包头信息可以包括业务类型指示等等。业务类型指示可以用于指示数据包的业务类型(例如,向蜂窝网络的中用户设备发送消息的数据包,或者向卫星网络设备200请求数据的数据包,等等)。

在一种可能的实现方式中,数据包还可以包括用于标识数据包的标识信息,标识信息可以包括但不限于数据包的消息ID字段或计数值字段或序列号字段。该标识可以用于接收设备识别发送的数据包,例如可以在应用回执中添加标识信息,指示数据包的接收情况。发送设备可以通过应用回执的标识信息确认标识信息对应的数据包的接收状态。

3.接收设备基于数据包得到鉴权码A和原始数据。

接收设备在接收到发送设备发送的数据包后,接收设备可以从数据包中得到鉴权码A和原始数据。其中,入站时发送设备发送数据包和接收设备接收数据包的描述可以参见上述图2A、图2B所示实施例,出站时发送设备发送数据包和接收设备接收数据包的描述可以参见上述图3A、图3B所示实施例,在此不再赘述。需要说明的是,发送设备可以在MDCP层和SLC层将数据包处理为至少一个子数据包,或者发送设备可以在MDCP层将数据包梳理为至少一个子数据包。在入站过程中,数据包可以看为图2A、图2B 中的第一数据包,子数据包可以看为图2A、图2B中的第二数据包。在出站过程中,数据包可以看为上图3A、图3B中的第三数据包,子数据包可以看为图3A、图3B中的第四数据包。

4.接收设备获取信息B。

其中,信息B为接收时间信息,信息B可以用于指示数据包的接收时间。

(1)接收设备获取数据包的接收时间。

数据包的接收时间可以为接收设备获取数据包的第1个子数据包的时间,或者接收设备获取数据包的第一个子数据包的时间减去偏置值,或者接收设备获取数据包的第一个子数据包的时间减去偏置值至生成鉴权码B期间的任意时间。其中偏置值可以通过配置,或者根据传输时延(例如540ms)或者处理时延进行设置。

具体的一种情况为,接收时间可以通过SLC层记录,通过MDCP层传递给AP层。接收设备可以在 SLC层记录收到每一个SLC PDU(即,子数据包)的时间,接收设备可以在SLC层基于帧头信息将至少一个SLC PDU拼接得到SLC SDU时,记录至少一个SLC PDU中最早的接收时间为SLC SDU的接收时间,并将SLC SDU和其对应的接收时间上传至MDCP层。接收设备在MDCP层收到SLC层上传的SLC SDU 和SLC SDU对应的接收时间后,可以将SLC SDU作为MDCP层的MDCP PDU。接收设备可以基于后继指示字段判定当前MDCP PDU是否为至少一个MDCP PDU中的第1个MDCP PDU,例如后继指示字段为00或01。当后继字段指示该MDCP PDU的数据是对应MDCP SDU的第一个分段时,或者后继指示字段指示该MDCP PDU的数据是对应MDCP SDU的所有数据时,接收设备保留对应MDCP PDU的接收时间,将该接收时间作为MDCPSDU的接收时间。接收设备可以在MDCP层将MDCP SDU和MDCP SDU 的接收时间上传至AP层。接收设备可以在AP层将MDCP SDU作为数据包。其中,MDCP SDU对应的接收时间为接收设备获取数据包的第1个子数据包的时间。

具体的另一种情况为,接收时间可以通过SLC层记录,通过MDCP层传递给AP层,获取方式与上一种情况相同,不再赘述,基于从SLC上传的时间减去一个偏置值,其中偏置值可以通过配置,或者根据传输时延(例如540ms)进行设置。

具体的另一种情况为,接收时间可以通过MDCP层记录,传递给AP层。其中,接收设备在MDCP 层记录接收到的第一个MDCP PDU的时间。MDCP层可以基于后继指示进行时间记录,例如后继指示字段为00或01。当后继字段指示该MDCP PDU的数据是对应MDCP SDU的第一个分段时,或者后继指示字段指示该MDCP PDU的数据是对应MDCP SDU的所有数据时,接收设备保留对应MDCP PDU的接收时间,接收设备将该接收时间作为MDCP SDU的接收时间。接收设备将该接收时间递交给AP层。接收设备可以在AP层将MDCP SDU作为数据包。其中,MDCP SDU对应的接收时间为接收设备获取数据包的第1个子数据包的时间。

具体的另一种情况为,接收时间可以通过MDCP层记录,传递给AP层,获取方式与上一种情况相同,不再赘述,基于从MDCP上传的时间减去一个偏置值,其中偏置值可以通过配置,或者根据传输时延(例如540ms),或者根据处理时延进行设置。

具体的另一种情况为,接收时间可以为AP层接收到MDCP SDU的时间或MDCP递交的MDCP SDU 组包完成的时间。

具体的另一种情况为,接收时间可以为AP层接收到MDCP SDU的时间或MDCP递交的MDCP SDU 组包完成的时间,并减去一个偏置值。其中偏置值可以通过配置,或者根据传输时延(例如540ms),或者根据处理时延进行设置。具体的另一种情况为,接收时间可以为接收设备计算鉴权码B时运行获取数据包的发送时间的程序语句(例如,通过获取当前时间函数getCurrentTime())得到的当前时间。

具体的另一种情况为,接收时间可以为接收设备计算鉴权码B时运行获取数据包的发送时间的程序语句(例如,通过获取当前时间函数getCurrentTime())得到的当前时间,并减去一个偏置值。其中偏置值可以通过配置,或者根据传输时延(例如540ms),或者根据处理时延进行设置。

针对入站传输,接收设备为卫星网络设备200,其中,卫星网络设备200中的融合通信平台24承载 AP层的处理,根据地面收发站22或中心站23承载SLC层的处理与MDCP层的处理,融合通信平台24 可以通过向地面收发站22或中心站23请求时间信息。

针对出站传输,接收设备为终端设备100。

(2)接收设备基于数据包的接收时间,生成信息B。

接收设备在得到数据包的接收时间后,可以根据预设的或者配置的最小的时间粒度对时间进行编码,得到信息B。例如,可以截取出数据包的接收时间中预设最小时间粒度之前的时间值,并将该时间值通过编码(例如,二-十进制编码,十进制转换为二进制等)得到信息B。针对出站传输,接收设备即终端100 可以根据预设的或者终端100在蜂窝下被网络配置的,或者在卫星网络下配置的最小时间粒度,对时间进行编码,得到信息B。针对入站传输,接收设备即卫星网络设备200生成信息B,例如,卫星网络设备200 中的融合通信平台24,根据地面收发站22或中心站23提供的数据包的接收时间信息,以及预制或配置的最小时间粒度进行编码,生成信息B;再例如,卫星网络设备200中的地面收发站或中心站根据记录的时间,以及预制或配置的最小时间度进行编码后得到信息B,再将信息B传输给融合通信平台24。

其中,预设最小时间粒度可以为分钟、半分钟、半小时等等,本申请对此不做限制。

需要说明的是,接收设备基于数据包的接收时间生成信息B使用的最小时间粒度和编码方式和发送设备生成信息A使用的相同。即,接收设备生成信息B的描述可以参见上述发送设备生成信息A的描述,在此不再赘述。

在一种可能的实现方式中,接收设备也可以截取数据包的接收时间中一个或多个特定时间粒度的时间值,再进行编码,得到信息B。

在一种可能的实现方式中,接收设备可以在MDCP层获取到MDCP SDU的接收时间后,将其作为数据包的接收时间,并在MDCP层基于数据包的接收时间生成信息B,并在MDCP层将MDCP SDU和信息 B上传至AP层。

在一种可能的实现方式中,接收设备可以在SLC层获取到SLC SDU的接收时间后,将其作为数据包的接收时间,并在SLC层基于数据包的接收时间及最小粒度信息生成信息B上传给MDCP层,并在MDCP 层将MDCP SDU和信息B上传至AP层。

5.接收设备基于信息B和数据包生成鉴权码B。

接收设备可以基于信息B和数据包中的原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到鉴权码B。其中,接收设备的指定算法和发送设备的指定算法相同。例如,发送设备可以在数据包的包头中添加指定算法指示,指定算法指示可以用于指示发送设备使用的指定算法,接收设备可以基于收到的数据包中的指定算法指示确定发送设备使用的指定算法指示。再例如,发送设备和接收设备可以在蜂窝网络下协商使用的指定算法。

6.接收设备基于鉴权码B确定数据包的接收状态。

接收设备可以通过比较鉴权码A和鉴权码B是否相同,确定数据包的接收状态。

(1)当鉴权码B和鉴权码A相同时,接收设备确定出数据包接收成功。接收设备可以针对原始数据执行相应的处理操作。例如,当接收设备为终端100时,接收设备可以显示该原始数据。当接收设备为卫星网络设备200时,接收设备可以将原始数据转发至蜂窝网络下的用户设备(例如终端300)。可选的,接收设备还可以生成成功应用回执并将该成功应用回执发送给发送设备,成功应用回执可以用于指示接收设备接收数据包成功。

(2)当鉴权码B和鉴权码A不同时,接收设备可以基于信息B得到信息C。具体的,接收设备可以在信息B的基础上减少预设值(例如1)得到信息C。接收设备可以基于信息C和原始数据通过指定鉴权算法得到鉴权码C。例如,基于信息B对应的时间为2021年9月23日18时00分,减少预设值得到的信息C对应的时间为2021年9月23日17时59分。鉴权码C将基于信息C对应的时间信息生成。接收设备可以对比鉴权码C和鉴权码A是否相同。

(3)当鉴权码A和鉴权码C相同时,接收设备可以确定接收数据包成功。可选的,接收设备还可以生成并向发送设备发送成功应用回执,成功应用回执可以用于指示接收设备接收数据包成功。

(4)当鉴权码A和鉴权码C不同时,接收设备可以确定出接收数据包失败。可选的,接收设备还可以生成并向发送设备发送失败应用回执,失败应用回执可以用于指示接收设备接收数据包失败。在实施例中,可以按照先比较鉴权码A与鉴权码B,在不同的情况下,再生成信息C,比较鉴权码A与鉴权码C。也可以先生成信息B与信息C,然后生成鉴权码B和鉴权码C,然后与鉴权码A进行比较,如果任一个与鉴权码A相同,则说明接收成功。可选的,可以反馈接收成功应用回执。如果均不同,则反馈发送失败应用回执。

在一些实施例中,接收设备可以在获取到数据包的接收时间后,基于数据包的接收时间得到接收时间集合。接收设备可以基于数据包的接收时间和最小预设时间粒度得到接收时间集合中的第1个时间值,接收时间再针对第1个时间值减少1得到第2个时间值,针对第2个时间值减少1得到第3个时间值,依次类推,接收设备可以得到包括n个时间值的接收时间集合。其中,n为正整数。接收设备可以基于接收时间集合中的每一个时间值进行编码,得到信息B集合。接收设备可以针对信息B集合中的每一个数值和原始数据通过指定鉴权算法计算,得到鉴权码集合。接收设备可以通过对比鉴权码中的数值和鉴权码A,确定数据包的接收情况。其中,只要鉴权码集合中有一个值和鉴权码A相同,接收设备确定出接收数据包成功。当鉴权码集合中任意一个值和鉴权码A都不同,接收设备确定出接收数据包失败。

在一种可能的实现方式中,发送设备在得到数据包之前,可以使用指定密钥加密鉴权码A和原始数据。发送设备还可以在数据包中添加包括有加密指示字段的包头信息。接收设备收到发送设备发送的数据包后,可以基于加密指示字段和指定密钥解密数据包,得到鉴权码A和原始数据。这样,发送设备和接收设备可以通过加密数据,保证数据的安全性。

其中,数据包的发送时间,数据包的接收时间的格式为协调世界时(universaltime coordinated,UTC),或者格林尼治时间(greenwich mean time,GMT),或者北京时间,或者东太平洋时间,或者西太平洋时间等,本实施例不做限制。

需要说明的是,通常情况下,发送设备的数据包的发送时间和接收设备的数据包的接收时间之间的差值不会超过预设最小时间粒度,也就是说,接收设备可以成功接收发送设备发送的数据包。

在一种可能的实现方式中,发送设备的信息A为发送时间信息,接收设备的信息B为接收时间信息。发送设备可以基于信息A、指定密钥和原始数据生成鉴权码A,再基于鉴权码A和原始数据生成数据包。接收设备可以基于信息B、指定密钥和数据包生成鉴权码B。这样,不仅不会出现重复处理、计费的问题。由于发送设备和接收设备都基于各自存储的指定密钥生成鉴权码,接收设备还可以通过鉴权码验证双方的指定密钥是否相同,进而验证发送设备的合法性。

其中,终端100和卫星网络设备200可以通过蜂窝网络进行协商获取指定密钥,如图5所示。或者,终端100和卫星网络设备200可以预设有相同的指定密钥。

在一些实施例中,终端100可以通过中间设备获取指定密钥。其中,中间设备和卫星网络设备200首先可以通过蜂窝网络进行协商获取指定密钥(例如,中间设备和卫星网络设备200协商获取指定密钥的流程可以参考图5所示的终端100和卫星网络设备200协商获取指定密钥的流程),中间设备可以和终端100 建立通信连接(例如,蓝牙连接、wi-fi连接或边缘(sidelink)连接等等),中间设备可以通过通信连接将指定密钥发送给终端100。

进一步的,为了保证传输数据的安全性。发送设备可以将鉴权码A和原始数据拼接在一起,得到拼接数据。发送设备再使用指定密钥通过指定加密算法加密拼接数据,得到加密后数据。发送设备可以在加密后数据前添加包头信息,包头信息中包括加密指示字段。加密指示字段可以用于指示发送设备使用的指定加密算法(例如SM3密码杂凑算法)。接收设备可以基于加密指示字段、指定密钥解密数据包中的加密后数据,得到鉴权码A和原始数据。接收设备再基于原始数据、信息B和指定密钥生成鉴权码B,如图8 所示。这样,由于发送设备将数据加密后,再发送给接收设备,可以进一步保证数据的安全。

接下来介绍本申请实施例提供的一种传输方法的入站流程。

终端100可以基于第一信息、指定密钥和第一数据(又称为原始数据)生成第一鉴权码。其中,第一信息为发送时间信息。终端100可以基于第一鉴权码、指定密钥和第一数据,得到第一数据包。终端100 可以将第一数据包发送给卫星网络设备200。卫星网络设备200可以在接收到第一数据包后,基于第二信息、指定密钥和第一数据包生成第二鉴权码。其中,第二信息为接收时间信息。卫星网络设备200可以基于第二鉴权码确定第一数据包的接收状态。这样,卫星网络设备200在接收到重复发送的第一数据包时,由于第二信息已经随时间的变化而更新,生成的鉴权码和第一数据包中的第一鉴权码不同,卫星网络设备200确定出第一数据包接收失败,就不会出现重复接收同一个数据包的问题。

图9示出了本申请实施例提供的一种入站传输流程示意图。

S901,终端100、卫星网络设备200和蜂窝网络设备400协商密钥。

其中,终端100、卫星网络设备200和蜂窝网络设备400协商密钥的描述可参见上述图5所示实施例,在此不再赘述。其中,终端100和卫星网络设备200在协商密钥后,都存储有指定密钥。

S902,终端100获取原始数据。

其中,终端100可以在接收到用户发送卫星消息的输入后,响应于该输入,终端100可以基于用户输入的卫星消息的内容生成原始数据。或者终端100可以在接收到用户的指示后,例如用户希望对信箱发起查询,或希望从网络获取其他信息时,终端100可以基于用户请求生成原始数据。其中,原始数据可以包括但不限于接收用户的数量指示,接收用户的ID号,用户输入的数据(例如,文本数据、图片数据、音频数据等等)、终端100的位置信息等等。

S903,终端100基于指定密钥、原始数据和第一信息生成第一鉴权码。

首先,终端100可以获取第一数据包的发送时间。其中,第一数据包的发送时间可以为终端100获取原始数据至生成第一鉴权码期间的任意时间。其中,终端100获取原始数据的时间可以为终端100接收到主叫用户发送卫星消息的输入的时间,此时,原始数据包括主叫用户输入的数据。其中,终端100生成第一鉴权码的时间可以为终端100运行获取第一数据包的发送时间的程序语句(例如,通过获取当前时间函数getCurrentTime())得到的当前时间。其中,终端100可以基于卫星的定位授时确定数据包的发送时间。

在一些实施例中,第一数据包的发送时间可以表示为终端100在AP层将第一数据包下发至MDCP层的时间。

在另一些实施例中,第一数据包的发送时间可以表示为终端100预估的终端100将第一数据包发送给卫星网络设备200的时间。

具体的,终端100获取第一数据包的发送时间可以参见上述图7所示实施例,在此不再赘述。

之后,终端100基于第一数据包的发送时间生成第一信息。终端100在得到第一数据包的发送时间后,可以截取出第一数据包的发送时间中预设最小时间粒度之前的时间值,并将该时间值通过编码(例如,二 -十进制编码,十进制转换为二进制等)得到第一信息。其中,预设最小时间粒度可以为分钟、半分钟、半小时等等,本申请对此不做限定。具体的,终端100生成第一信息的描述可以参见上述图7所示实施例,在此不再赘述。

最后,终端100基于指定密钥、原始数据和第一信息生成第一鉴权码。终端100可以基于第一信息、指定密钥和原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到第一鉴权码。

示例性的,当终端100使用的指定算法可以为基于SM3密码杂凑算法的哈希运算消息认证码 (hash-based message authentication code,HMAC)算法时。HMAC的计算公式如下:

HMAC=F{SM3{(k+⊕opad)||SM3[(k+⊕ipad)||(text||context)]}}

其中,SM3为一种密码杂凑算法。其中,k+可以基于指定密钥得到。其中,k+的长度可以为64字节。高位的16字节为指定密钥,后面的48字节全为0。其中,opad为64字节重复的0x5C,ipad为64字节重复的0x36。text为原始数据,context为第一信息。其中,⊕为异或符号,||为拼接符号。其中,SM3算法的输出的长度为32byte。F为截取输入的高位至低位的前16bit数据的函数。F的输出(即,HMAC)为第一鉴权码。其中,第一鉴权码的长度为16bit。

S904,终端100可以基于第一鉴权码、原始数据,得到第一数据包。

终端100可以将第一鉴权码和原始数据拼接在一起,得到第一数据包。可选的,终端100还可以在拼接在一起的第一鉴权码和原始数据之前添加包头信息,得到第一数据包。其中,包头信息可以包括但不限于业务类型指示等等。业务类型指示可以用于指示第一数据包的业务类型(例如,向蜂窝网络的中用户设备发送消息的数据包,或者向卫星网络设备200请求数据的数据包,等等)。

在一种可能的实现方式中,终端100还可以使用指定密钥加密拼接在一起的第一鉴权码和原始数据,得到第一数据包。具体的描述可以参见上述图8所示实施例,在此不再赘述。

S905,终端100向卫星网络设备200发送第一数据包。

在一种可能的实现方式中,终端100在向接收设备发送第一数据包后,可以显示发送提示信息,如显示“已发送”,发送提示信息可以用于提示用户终端100已经向卫星网络设备200发出该第一数据包。发送提示信息还可以包括标记图标,该标记图标可以用于触发(例如单击触发)显示信息解释,如“已发送!”,可通过点击触发显示操作建议(例如,本消息已向接收设备发送,未确定是否送达)。其中,发送提示信息的形式不受限制,可以为文字、图片、动画等等。

具体的,终端100可以在MDCP层和SLC层或MDCP层将第一数据包处理为至少一个第二数据包(即, SLC PDU或MDCP PDU),再将该至少一个第二数据包发送给卫星网络设备200。其中,终端100得到至少一个第二数据包并将其发送给卫星网络设备200的具体描述可以参见上述图2A及图7所示实施例,在此不再赘述。

S906,卫星网络设备200获取第一数据包的接收时间,基于该接收时间生成第二信息。

具体的,卫星网络设备200获取第一数据包的接收时间的方式有多种可能。例如,卫星网络设备200 可以在SLC层收到至少一个第二数据包时,记录至少一个第二数据包中每一个第二数据包的接收时间。卫星网络设备200可以在SLC层基于第二数据包的帧头信息,将属于一个SLC SDU的第二数据包拼接得到 SLC SDU。卫星网络设备200可以比较SLCSDU包括的第二数据包的接收时间的先后,将时间最早的接收时间作为SLC SDU的接收时间。卫星网络设备200可以在SLC层将SLC SDU和SLC SDU的接收时间上传至MDCP层。卫星网络设备200可以在MDCP层将SLC SDU作为MDCP PDU,并基于MDCP PDU 得到MDCP SDU。卫星网络设备200可以通过MDCP PDU的后继指示字段确定出MDCP SDU的第1个 MDCP PDU,并将第1个MDCP PDU的对应的SLC SDU的接收时间作为MDCP SDU的接收时间。卫星网络设备200可以在MDCP层将MDCP SDU和MDCP SDU的接收时间上传至AP层。卫星网络设备100 可以在AP层将MDCP SDU作为第一数据包,将MDCP SDU的接收时间作为第一数据包的接收时间。卫星网络设备200获取第一数据包的接收时间的详细描述还可以参见上述图7中入站过程所示实施例,在此不再赘述。

具体的,卫星网络设备200接收第一数据包的详细描述可以参见上述图2B及图7所示实施例,在此不再赘述。

卫星网络设备200在AP层获取到第一数据包的接收时间(又称为第四信息)后,可以基于第四信息和预设或配置的最小时间粒度,生成第二信息。卫星网络设备200生成第二信息的具体描述可以参见上述图7所示的接收设备生成信息B的实施例,在此不再赘述。

S907,卫星网络设备200可以基于指定密钥、原始数据和第二信息生成第二鉴权码。

卫星网络设备200可以基于第二信息和第一数据包中的原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到第二鉴权码。其中,卫星网络设备200的指定鉴权算法和终端100的指定鉴权算法相同。

示例性的,当终端100使用的指定鉴权算法可以为基于SM3密码杂凑算法的哈希运算消息认证码 (hash-based message authentication code,HMAC)算法时,卫星网络设备200使用的指定鉴权算法也为基于SM3的HMAC算法。

HMAC=F{SM3{(k+⊕opad)||SM3[(k+⊕ipad)||(text||context)]}}

其中,SM3为一种密码杂凑算法。其中,k+可以基于指定密钥得到。其中,k+的长度可以为64字节。高位的16字节为指定密钥,后面的48字节全为0。其中,opad为64字节重复的0x5C,ipad为64字节重复的0x36。text为原始数据,context为第二信息。其中,⊕为异或符号,||为拼接符号。其中,SM3算法的输出的长度为32byte。F为截取输入的高位至低位的前16bit数据的函数。F的输出(即,HMAC)为第二鉴权码。其中,第二鉴权码的长度为16bit。

S908,卫星网络设备200判断第一鉴权码和第二鉴权码是否相同。

卫星网络设备200可以通过比较第一鉴权码和第二鉴权码是否相同,确定第一数据包的接收状态。其中,当第一鉴权码和第二鉴权码相同时,卫星网络设备200可以执行步骤S909,还可以执行步骤S910。对第一鉴权码的详细描述可参照图7所示实施例中的鉴权码A,第二鉴权码的详细描述可参照图7所示实施例中的鉴权码B或鉴权码C,在此不再赘述。

当第一鉴权码和第二鉴权码不同时,卫星网络设备200可以执行步骤S911。

S909,卫星网络设备200将原始数据发送给蜂窝网络设备400。

卫星网络设备200判定出第一鉴权码和第二鉴权码相同,确定第一数据包接收成功。卫星网络设备200 可以针对原始数据执行相应的处理操作。例如,卫星网络设备200可以将原始数据转发至蜂窝网络下的用户设备(例如终端300)。

可选的,卫星网络设备200还可以记录第一数据包成功接收的时间信息,例如,第一数据包成功接收的时间信息可以为第二鉴权码对应的第二信息,卫星网络设备100可以记录第二信息,并将其转发至蜂窝网络中的网元(例如短消息中心)。蜂窝网络中的网元可以基于收到的第一数据包成功接收的时间信息记录入站消息的发送成功时间,便于后续在蜂窝网络中,通过向终端100发送成功传输的时间信息,更新终端100在卫星网络下未成功收到应用回执的信息的发送状态。

S910,卫星网络设备200给终端100发送应用回执,指示发送成功。

卫星网络设备200还可以生成成功应用回执(即指示发送成功的应用回执),成功应用回执可以用于指示卫星网络设备200接收数据包成功。卫星网络设备200可以将成功应用回执发送给终端100。

S911,卫星网络设备200给终端100发送应用回执,指示发送失败。

卫星网络设备200判定出第一鉴权码和第二鉴权码不同,确定第一数据包接收失败。卫星网络设备200 可以删除第一数据包。卫星网络设备200还可以生成失败应用回执(即指示发送失败的应用回执),失败应用回执可以用于指示卫星网络设备200接收数据包失败。卫星网络设备200可以将失败应用回执发送给终端100。

在一种可能的实现方式中,卫星网络设备200判定出第一鉴权码和第二鉴权码不同后,卫星网络设备 200可以在第二信息的值上减少预设值(例如1),再基于调整后的第二信息、指定密钥和原始数据生成新的第二鉴权码。

卫星网络设备200可以对比第一鉴权码和新的第二鉴权码是否相同,当第一鉴权码和新的第二鉴权码相同时,卫星网络设备200可以确定接收数据包成功。卫星网络设备200接收设备还可以执行步骤S909 和步骤S910。

当第一鉴权码和新的第二鉴权码不同时,卫星网络设备200可以确定出接收数据包失败。卫星网络设备200还可以生成并向终端100发送失败应用回执,失败应用回执可以用于指示卫星网络设备200接收数据包失败。

在一些实施例中,终端100收到失败应用回执后,可以重新生成并向卫星网络设备200发送第一数据包。

在此,成功应用回执和失败应用回执可以统称为第一应用回执,第一应用回执可以包括指示信息,用于指示用户是否接收成功。

在一种可能的实现方式中,终端100在收到应用回执(包括失败应用回执和成功应用回执)后,可以在显示屏上显示结果提示信息(包括成功提示信息和失败提示信息)。这样,用户可以通过结果提示信息确认第一数据包的发送情况,避免重复发送发送成功的卫星消息。

具体的,终端100可以在接收到成功应用回执(即,用于指示第一数据包发送成功的应用回执)后,显示成功提示信息。成功提示信息可以用于提示用户第一数据包发送成功。

终端100可以在接收到失败应用回执(即,用于指示第一数据包发送失败的应用回执)后,显示失败提示信息。失败提示信息可以用于提示用户第一数据包发送失败。

接下来介绍本申请实施例提供的一种传输方法的出站流程。

卫星网络设备200可以基于第六信息和原始数据(又称为第一数据)生成第四鉴权码。其中,第六信息为发送时间信息。卫星网络设备200可以基于第四鉴权码和原始数据,得到第三数据包。卫星网络设备 200可以将第三数据包发送给终端100。终端100可以在接收到第三数据包后,基于第五信息和第三数据包生成第三鉴权码。其中,第五信息为接收时间信息。终端100可以基于第三鉴权码确定第三数据包的接收状态。这样,终端100在接收到重复发送的第三数据包时,由于第五信息已经随时间的变化而更新,基于第五信息生成的鉴权码和第三数据包中的第四鉴权码不同,终端100确定出第三数据包接收失败,就不会出现接收到重复的数据包的问题。

图10示出了本申请实施例提供的一种出站传输流程示意图。

S1001,卫星网络设备200接收到蜂窝网络设备400发送的原始数据。

卫星网络设备200接收到蜂窝网络设备400的短消息中心25发送的原始数据。其中,该原始数据为蜂窝网络下的主叫用户(例如终端300的用户)发送至卫星网络下的被叫用户(终端100的用户)的数据 (包括但不限于主叫用户输入的文本数据、图片数据等)。需要说明的是,蜂窝网络设备400在将终端300 发送给终端100的数据转发至卫星网络设备200时,也可以同时将被叫用户的标识(例如,终端100的ID 号或电话号码)转发至卫星网络设备200。

在一些实施例中,卫星网络设备200获取的原始数据可以为存储在卫星网络设备200的存储器中的数据。例如,原始数据可以为卫星网络设备200存储的地图数据。

在另一些实施例中,卫星网络设备200接收的原始数据可以为第三方服务器发送到卫星网络设备200 的数据(例如,文本数据、图像数据、音频数据、视频数据等等)。

S1002,可选的,卫星网络设备200接收到终端100发送的业务请求。

其中,该业务请求可以为下载原始数据的请求,在此,该原始数据的接收设备为终端100。卫星网络设备200可以在接收到终端100的业务请求后,执行步骤S1003-步骤1005。

S1003,卫星网络设备200基于原始数据和第六信息生成第四鉴权码。

首先,卫星网络设备200可以获取第三数据包的发送时间。其中,第三数据包的发送时间可以为卫星网络设备200获取原始数据至生成第四鉴权码加上偏置的整个期间中的任意时间。其中,卫星网络设备200 获取原始数据的时间可以为卫星网络设备200接收到终端100发送的业务请求的时间,或者为卫星网络设备200接收到蜂窝网络设备400发送的原始数据的时间,或者卫星网络设备200向终端100发送数据的时间,或者卫星网络设备200生成第四鉴权码减去偏置的时间,用来估计卫星网络设备200SLC层或MDCP 层或物理层发送数据的时间。例如,卫星网络设备200生成第四鉴权码的时间可以为卫星网络设备200运行获取第三数据包的发送时间的程序语句(例如,通过获取当前时间函数getCurrentTime())得到的当前时间。

在一种可能的实现方式中,卫星网络设备200可以在MDCP层/SLC层(即,基于中心站23或者地面中心站31)确定第三数据包的发送时间(又称为第八信息)。卫星网络设备200再在AP层基于第八信息和最小时间粒度生成第六信息。可选的,卫星网络设备200可以在MDCP层/SLC层确定第三数据包的发送时间,并基于第三数据包的发送时间和预设最小时间粒度生成第六信息,再将第六信息上传至AP层。

在一些实施例中,第三数据包的发送时间可以表示为卫星网络设备200在AP层将第三数据包下发至 MDCP层的时间,即,融合通信平台24将第三数据包下发给中心站23或者地面中心站31的时间。

卫星网络设备200获取第三数据包的发送时间可参见图7所示实施例中的流程,在此不再赘述。

之后,卫星网络设备200基于第三数据包的发送时间生成第六信息。卫星网络设备200在得到第三数据包的发送时间后,可以根据预设的或者配置的最小的时间粒度对时间进行编码,得到第六信息,例如,可以截取出第三数据包的发送时间中预设或配置最小时间粒度之前的时间值,并将该时间值通过编码(例如,二-十进制编码,十进制转换为二进制等)得到第六信息。其中,预设或配置的最小时间粒度可以为秒,分钟、半分钟、半小时等等,本申请对此不做限定。具体的,卫星网络设备200生成第六信息的描述可以参见上述图7所示实施例,在此不再赘述。

最后,卫星网络设备200基于原始数据和第六信息生成第四鉴权码。具体的,卫星网络设备200可以基于第六信息和原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到第四鉴权码。

S1004,卫星网络设备200基于原始数据和第四鉴权码,得到第三数据包。

卫星网络设备200可以将第四鉴权码和原始数据拼接在一起,得到第三数据包。可选的,卫星网络设备200还可以在拼接在一起的第四鉴权码和原始数据之前添加包头信息,得到第三数据包。其中,包头信息可以包括但不限于业务类型指示等等。业务类型指示可以用于指示第三数据包的业务类型(例如,向终端100发送卫星消息的数据包,或者向终端100发送有多少条发送给终端100的卫星消息的数据包,等等)。

在一种可能的实现方式中,终端100可以基于指定密钥、第六信息和原始数据得到第四鉴权码。

在一种可能的实现方式中,终端100还可以使用指定密钥加密拼接在一起的第四鉴权码和原始数据,得到第三数据包。具体的描述可以参见上述图8所示实施例,在此不再赘述。

S1005,卫星网络设备200向终端100发送第三数据包。

具体的,卫星网络设备200可以在MDCP层和SLC层将第三数据包处理为至少一个第四数据包(即, SLC PDU),或者卫星网络设别200可以在MDCP层将第三数据包处理为至少一个第四数据包(即,MDCP PDU),再将该至少一个第四数据包发送给终端100。其中,卫星网络设备200得到至少一个第四数据包并将其发送给终端100的具体描述可以参见上述图3A所示实施例,在此不再赘述。

S1006,终端100获取第三数据包的接收时间,基于该接收时间生成第五信息。

终端100获取第三数据包的接收时间的方式有多种。例如,终端100可以在SLC层收到至少一个第四数据包时,记录至少一个第四数据包中每一个第四数据包的接收时间。终端100可以在SLC层基于第四数据包的帧头信息,将属于一个SLC SDU的第四数据包拼接得到SLC SDU。终端100可以比较SLC SDU 包括的第四数据包的接收时间的先后,将时间最早的接收时间作为SLC SDU的接收时间。终端100可以在SLC层将SLC SDU和SLC SDU的接收时间上传至MDCP层。终端100可以在MDCP层将SLC SDU 作为MDCP PDU,并基于MDCP PDU得到MDCP SDU。终端100可以通过MDCP PDU的后继指示字段确定出MDCP SDU的第1个MDCP PDU,并将第1个MDCP PDU的对应的SLC SDU的接收时间作为 MDCP SDU的接收时间。终端100可以在MDCP层将MDCP SDU和MDCP SDU的接收时间上传至AP 层。卫星网络设备100可以在AP层将MDCP SDU作为第三数据包,将MDCP SDU的接收时间作为第三数据包的接收时间。终端100获取第三数据包的接收时间的其他详细描述可以参见图7实施例中接收设备获取数据包接收时间的描述,此处不在赘述。

具体的,卫星网络设备100接收第三数据包的详细描述可以参见上述图2B和图7所示实施例,在此不再赘述。

终端100在获取到第三数据包的接收时间后,可以基于第三数据包的接收时间和预设或配置的最小时间粒度,生成第五信息。终端100生成第五信息的具体描述可以参见上述图7所示的实施例,在此不再赘述。

S1007,终端100基于第三数据包、第五信息,得到第三鉴权码。

终端100可以基于第五信息和第三数据包中的原始数据通过指定鉴权算法(例如,SM3密码杂凑算法) 计算得到第三鉴权码。其中,卫星网络设备200的指定鉴权算法和终端100的指定鉴权算法相同。

S1008,终端100判断第三鉴权码和第四鉴权码是否相同。

终端100可以通过比较第三鉴权码和第四鉴权码是否相同,确定第三数据包的接收状态。其中,当第三鉴权码和第四鉴权码相同时,终端100执行步骤S1009,可选的,还可以执行步骤S1010。

可选的,终端100还可以记录第三数据包成功接收的时间信息,例如生成第三鉴权码对应的第五信息。第三数据包成功接收的时间信息可以用于后续终端100接入第二传输系统(例如蜂窝或WLAN网络)时,向卫星设备200或第二传输系统网元发送成功传输的时间信息,更新卫星网络下未成功收到应用回执的信息的发送状态。以避免出现计费问题。

当第三鉴权码和第四鉴权码不同时,终端100可以执行步骤S1011。

S1009,终端100显示接收提示信息。

终端100判定出第三鉴权码和第四鉴权码相同,确定第三数据包接收成功。终端100可以针对原始数据执行相应的处理操作。例如,终端100可以将显示接收提示信息。其中,接收提示信息可以用于提示用户接收到一条来自蜂窝网络下的用户设备(例如终端300)发送的卫星消息。接收提示信息可以包括但不限于语音提示信息、文字提示信息、震动提示信息等等。例如,当接收提示信息为文字提示信息时,接收提示信息可以为“收到一条来自“终端300”的卫星信息”。可选的,终端100还可以在显示屏上显示第三数据包中的原始数据。

S1010,终端100给卫星网络设备200发送应用回执,指示接收成功。

终端100还可以生成成功应用回执(即指示发送成功的应用回执),成功应用回执可以用于指示终端 100接收数据包成功。终端100可以将成功应用回执发送给卫星网络设备200。

在一些实施例中,卫星网络设备200接收到成功应用回执后,可以删除第三数据包的原始数据。

S1011,终端100给卫星网络设备200发送应用回执,指示接收失败。

终端100判定出第三鉴权码和第四鉴权码不同,确定第三数据包接收失败。终端100可以删除第三数据包。终端100还可以生成失败应用回执(即指示发送失败的应用回执),失败应用回执可以用于指示终端100接收数据包失败。终端100可以将失败应用回执发送给卫星网络设备200。

在一种可能的实现方式中,终端100判定出第三鉴权码和第四鉴权码不同后,终端100可以在第五信息的值上减少预设值(例如1),再基于调整后的第五信息和原始数据生成新的第三鉴权码。

接收设备可以对比第四鉴权码和新的第三鉴权码是否相同,当第四鉴权码和新的第三鉴权码相同时,终端100可以确定接收数据包成功。终端100还可以执行步骤S1010。

当第四鉴权码和新的第三鉴权码不同时,终端100可以确定出接收数据包失败。终端100还可以生成并向卫星网络设备200发送失败应用回执,失败应用回执可以用于指示终端100接收数据包失败。

在一些实施例中,卫星网络设备200收到失败应用回执后,可以重新生成并向终端100发送第三数据包。

在此,成功应用回执和失败应用回执可以统称为第三应用回执,第三应用回执可以包括指示信息,用于指示用户是否接收成功。

不仅限于上述实施例,本申请还提供了以下实施例,需要说明的是,下述实施例可以和上述实施例互相结合使用。

在一种可能的实现方式中,发送设备的信息A为上下文信息(context)A,上下文信息A可以用于指示发送数据包的数量信息,发送数据包的数量信息为发送设备发送成功的数据包的数量信息。接收设备的信息B为上下文信息B,上下文信息B可以用于指示接收数据包的数量信息。接收数据包的数量信息为接收设备接收成功的数据包的数量信息(即,生成的成功应用回执的数量信息)。其中,信息A和信息B的初始数值相同。这样,当接收设备基于信息B成功解析发送设备基于信息A生成的数据包后,可以更新信息B的值,当接收设备再次接收到重复发送的数据包后,由于更新后的信息B和更新前的信息A的数值不同,即鉴权码A和鉴权码B不同,接收设备就不能解析发送设备发送的数据包,不会出现重复处理、计费的问题。

需要说明的是,发送设备在向接收设备发送数据包之前,发送设备和接收设备可以获取上下文信息。其中,发送设备的上下文信息可以称为上下文信息A,即信息A。接收设备的上下文信息可以称为上下文信息B,即信息B。

在一种可能的实现方式中,发送设备发送成功的数据包的数量可以为发送设备收到的成功应用回执的数量。

接下来介绍终端100和卫星网络设备200获取上下文信息的几种方式,具体描述如下:

(1)终端100和卫星网络设备200可以通过蜂窝网络进行协商获取指定密钥时获取上下文信息。示例性的,终端100、卫星网络设备200和蜂窝网络设备400可以执行如图5所示的步骤S501至步骤S515。当卫星网络设备200收到引导服务器41发送的参数响应(包括指定密钥)后,卫星网络设备200可以设置卫星网络设备200的上下文信息。例如,卫星网络设备200的上下文信息的初始值可以为X。之后,卫星网络设备200可以向终端100发送业务响应4。业务响应4可以用于指示在指定密钥有效期内,终端100 和卫星网络设备200可以使用各自存储的指定密钥进行数据的加解密操作。业务响应4还可以包括卫星网络设备200的上下文信息。终端100收到业务响应4后,可以基于业务响应4将终端100的上下文信息的初始值设置为X。需要说明的是,只要卫星网络设备200的上下文信息的值和终端100的上下文信息的值相同,上下文信息的初始值为任意数值都不会对发送设备和接收设备的接收结果产生影响。

(2)终端100可以通过中间设备获取指定密钥和上下文信息的初始值。其中,中间设备和卫星网络设备200首先可以通过上述操作在蜂窝网络协商获取指定密钥、卫星网络设备200的上下文信息和终端100 的上下文信息,中间设备可以和终端100建立通信连接(例如,蓝牙连接等等),中间设备可以通过通信连接将指定密钥和终端100的上下文信息发送给终端100。

(3)终端100的信息A和卫星网络设备200的信息B的初始值为预先设置的指定数值。

(4)终端100的信息A的初始值为卫星网络设备200配置给终端100的数据值。

图11示出了本申请实施例提供的一种传输方法的处理流程示意图。

1.发送设备基于原始数据和信息A生成鉴权码A。

其中,信息A为上下文信息A,信息A可以用于指示发送数据包的数量信息。发送数据包的数量信息为发送设备发送成功的数据包的数量信息。在此,可以用发送设备接收到成功应用回执的数量信息表示发送设备发送成功的数据包的数量信息。也就是说,当发送设备收到成功应用回执后,可以在信息A的值上增加预设值。需要说明的是,信息A的增量和发送设备发送成功的数据包的数量相关。

发送设备可以基于信息A和原始数据得到鉴权码A。其中,发送设备得到鉴权码A的详细描述可以参见上述图7所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备可以基于信息A、指定密钥和原始数据生成鉴权码A,再基于鉴权码A和原始数据生成数据包。接收设备可以基于信息B、指定密钥和数据包生成鉴权码B。这样,可以通过指定密钥验证发送设备的合法性,保证传输的安全性。

2.发送设备基于原始数据和鉴权码A得到数据包。

发送设备可以将鉴权码A和原始数据拼接在一起,得到数据包。

可选的,发送设备可以在拼接在一起的鉴权码A和原始数据之前添加包头信息,得到数据包。其中,包头信息可以包括业务类型指示等等。业务类型指示可以用于指示数据包的业务类型。

在一种可能的实现方式中,发送设备可以将鉴权码A和原始数据拼接在一起,得到拼接数据。发送设备再使用指定密钥通过指定算法加密拼接数据,得到加密后数据。发送设备可以在加密后数据前添加包头信息,包头信息中包括加密指示字段。加密指示字段可以用于指示发送设备使用的指定算法(例如SM3 密码杂凑算法)。这样,由于发送设备将数据加密后,再发送给接收设备,可以进一步保证数据的安全。

发送设备可以将数据包发送给接收设备,其中,入站时发送设备发送数据包给接收设备的描述可以参见上述图2A所示实施例,出站时发送设备发送数据包给接收设备的描述可以参见上述图3A所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备为终端100时,发送设备将数据包发送给接收设备后,发送设备可以显示发送提示信息。发送提示信息可以用于提示用户发送设备已经向接收设备发送卫星消息。

3.接收设备基于数据包得到鉴权码A和原始数据。

接收设备在接收到发送设备发送的数据包后,接收设备可以从数据包中得到鉴权码A和原始数据。其中,入站时接收设备接收数据包的描述可以参见上述图2B所示实施例,出站时接收设备接收数据包的描述可以参见上述图3B所示实施例,在此不再赘述。

在一种可能的实现方式中,数据包中包括加密指示字段和加密后数据。接收设备可以基于加密指示字段、指定密钥解密数据包中的加密后数据,得到鉴权码A和原始数据。

4.接收设备基于信息B和数据包生成鉴权码B。

接收设备可以基于信息B和数据包中的原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到鉴权码B。其中,接收设备的指定算法和发送设备的指定算法相同。例如,发送设备可以在数据包的包头中添加指定算法指示,指定算法指示可以用于指示发送设备使用的指定算法,接收设备可以基于收到的数据包中的指定算法指示确定发送设备使用的指定算法指示。再例如,发送设备和接收设备可以在蜂窝网络下协商使用的指定算法。

在一种可能的实现方式中,当发送设备基于原始数据、信息A和指定密钥生成鉴权码A时,接收设备可以基于原始数据、信息B和指定密钥生成鉴权码B。发送设备和接收设备可以预设生成鉴权码需要的参数。

5.接收设备基于鉴权码B确定数据包的接收状态。

接收设备可以通过比较鉴权码A和鉴权码B是否相同,确定数据包的接收状态。

(1)当鉴权码B和鉴权码A相同时,接收设备确定出数据包接收成功。接收设备可以针对原始数据执行相应的处理操作。具体描述可以参见图7所述实施例。

接收设备可以更新信息B的值。具体的,接收设备可以在信息B的值上增加预设值。

接收设备还可以生成成功应用回执并将该成功应用回执发送给发送设备,成功应用回执可以用于指示接收设备接收数据包成功。

(2)当鉴权码B和鉴权码A不同时,接收设备可以确定出接收数据包失败。接收设备还可以生成并向发送设备发送失败应用回执,失败应用回执可以用于指示接收设备接收数据包失败。

6.发送设备基于应用回执确定数据包的发送状态。

发送设备可以基于应用回执确定数据包的发送状态。

(1)发送设备收到的应用回执为接收设备接收数据包成功的成功应用回执时,发送设备可以确认数据包发送成功。发送设备可以在信息A的值上增加预设值。其中,发送设备和接收设备中增加的预设值相同。

在一些实施例中,当发送设备为终端100时,发送设备可以在收到成功应用回执后,显示成功提示信息,成功提示信息可以用于提示用户数据包发送成功。需要说明的是,发送设备只有在收到成功应用回执后,才能确认该数据包发送成功。

(2)发送设备收到的应用回执为接收设备接收数据包失败的失败应用回执时,发送设备可以确认数据包发送失败。

可选的,发送设备可以重传该发送失败的数据包。

在一些实施例中,当发送设备为终端100时,发送设备可以在收到失败应用回执后,显示失败提示信息,失败提示信息可以用于提示用户数据包发送失败。

接下来介绍本申请实施例提供的一种传输方法的入站流程。

终端100可以基于第一信息、指定密钥和第一数据(又称为原始数据)生成第一鉴权码。其中,第一信息为第一上下文信息,第一上下文信息用于指示发送数据包的数量信息。终端100可以基于第一鉴权码、指定密钥和原始数据,得到第一数据包。终端100可以将第一数据包发送给卫星网络设备200。卫星网络设备200可以在接收到第一数据包后,基于第二信息、指定密钥和第一数据包生成第二鉴权码。其中,第二信息为第二上下文信息,第二上下文信息用于指示接收数据包的数量信息。卫星网络设备200可以基于第二鉴权码确定第一数据包的接收状态。这样,卫星网络设备200在成功接收终端100发送的第一数据包时,可以更新第二信息的值。当卫星网络设备200重复接收到该第一数据包时,由于更新后的第二信息和更新前的第二信息不同,卫星网络设备200基于更新后的第二信息生成的鉴权码和第一数据包中的第一鉴权码不同,卫星网络设备200确定出第一数据包接收失败,就不会出现重复接收同一个数据包的问题。

图12示出了本申请实施例提供的一种入站传输流程示意图。

S1201,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息。

其中,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息的描述可参见上述图11所示实施例,在此不再赘述。其中,终端100和卫星网络设备200在协商密钥后,都存储有指定密钥。其中,终端100存储有第一信息。卫星网络设备200存储有第二信息。第一信息和第二信息的初始值相同。

S1202,终端100获取原始数据。

S1203,终端100基于指定密钥、原始数据和第一信息生成第一鉴权码。

终端100可以基于存储的第一信息、指定密钥和原始数据通过指定鉴权算法(例如,SM3密码杂凑算法)计算得到第一鉴权码。

S1204,终端100可以基于第一鉴权码、原始数据,得到第一数据包。

在一种可能的实现方式中,终端100还可以使用指定密钥加密拼接在一起的第一鉴权码和原始数据,得到第一数据包。

S1205,终端100向卫星网络设备200发送第一数据包。

在一种可能的实现方式中,终端100在向接收设备发送第一数据包后,可以显示发送提示信息,如显示“已发送”,发送提示信息可以用于提示用户终端100已经向卫星网络设备200发送该第一数据包。发送提示信息还可以包括标记图标,该标记图标可以用于触发(例如单击触发)显示信息解释,如“已发送!”,可通过点击触发显示操作建议(例如,本消息已向接收设备发送,未确定是否送达)。其中,发送提示信息的形式不受限制,可以为文字、图片、动画等等。

S1206,卫星网络设备200可以基于指定密钥、原始数据和第二信息生成第二鉴权码。

S1207,卫星网络设备200判断第一鉴权码和第二鉴权码是否相同。

卫星网络设备200可以通过比较第一鉴权码和第二鉴权码是否相同,确定第一数据包的接收状态。其中,当第一鉴权码和第二鉴权码相同时,卫星网络设备200可以执行步骤S1208-步骤S1210。

当第一鉴权码和第二鉴权码不同时,卫星网络设备200可以执行步骤S1213。

S1208,卫星网络设备200更新第二信息的值。

卫星网络设备200可以在第二信息的值上增加预设值。例如,当第二信息的值为0,预设值为1时,更新后的第二信息的值为1。

S1209,卫星网络设备200将原始数据发送给蜂窝网络设备400。

S1210,卫星网络设备200给终端100发送成功应用回执。

S1211,终端100更新第一信息的值。

终端100在收到卫星网络设备200发送的成功应用回执后,可以在第一信息的值上增加预设值。其中,第一信息增加的预设值和第二信息增加的预设值相同,即,更新后的第一信息的值和更新后的第二信息的值相同。可选的,终端100还可以执行步骤S1212。

S1212,终端100显示成功提示信息。

终端100显示成功提示信息。成功提示信息用于提示用户第一数据包发送成功。

S1213,卫星网络设备200给终端100发送失败应用回执。

可选的,终端100收到失败应用回执后,还可以执行步骤S1214。

S1214,终端100显示失败提示信息。

终端100显示失败提示信息。失败提示信息用于提示用户第一数据包发送失败。

其中,步骤S1202-步骤S1206、步骤S1209、步骤S1210和步骤S1212的具体描述可以参见上述图9 所示实施例,在此不再赘述。

接下来介绍本申请实施例提供的一种传输方法的出站流程。

卫星网络设备200可以基于第六信息和第一数据(又称为原始数据)生成第四鉴权码。其中,第六信息为第六上下文信息,第六上下文信息用于指示发送数据包的数量信息。卫星网络设备200可以基于第四鉴权码和原始数据,得到第三数据包。卫星网络设备200可以将第三数据包发送给终端100。终端100可以在接收到第三数据包后,基于第五信息和第三数据包生成第三鉴权码。其中,第五信息为第五上下文信息,第五上下文信息用于指示接收数据包的数量信息。终端100可以基于第三鉴权码确定第三数据包的接收状态。这样,终端100在成功接收卫星网络设备200发送的第三数据包时,可以更新第五信息的值。当终端100重复接收到该第三数据包时,由于更新后的第五信息和更新前的第五信息不同,终端100基于更新后的第五信息生成的鉴权码和第三数据包中的第四鉴权码不同,终端100确定出第三数据包接收失败,就不会出现重复接收同一个数据包的问题。

图13示出了本申请实施例提供的一种出站传输流程示意图。

S1301,终端100、卫星网络设备200和蜂窝网络设备400协商第五信息和第六信息。

终端100和卫星网络设备200可以在蜂窝网络下通过蜂窝网络设备400协商获取密钥时,获取各自的上下文信息,具体描述可参见上述图11所示实施例,在此不再赘述。或者,终端100和卫星网络设备200 可以在蜂窝网络下建立通信连接,协商获取各自的上下文信息。其中,终端100存储有第五信息。卫星网络设备200存储有第六信息。第五信息和第六信息的初始值相同。

S1302,卫星网络设备200接收到蜂窝网络设备400发送的原始数据。

S1303,卫星网络设备200接收到终端100发送的业务请求。

S1304,卫星网络设备200基于原始数据和第六信息生成第四鉴权码。

卫星网络设备200可以基于存储的第六信息和原始数据生成第四鉴权码。

S1305,卫星网络设备200基于原始数据和第四鉴权码,得到第三数据包。

S1306,卫星网络设备200向终端100发送第三数据包。

S1307,终端100基于第三数据包、第五信息,得到第三鉴权码。

S1308,终端100判断第三鉴权码和第四鉴权码是否相同。

终端100可以通过比较第三鉴权码和第四鉴权码是否相同,确定第三数据包的接收状态。其中,当第三鉴权码和第四鉴权码相同时,终端100可以执行步骤S1309至步骤S1311。

当第三鉴权码和第四鉴权码不同时,终端100可以执行步骤S1313。

S1309,终端100显示接收提示信息。

S1310,终端100更新第五信息的值。

终端100可以在第五信息的值上增加预设值。例如,当第五信息的值为0,预设值为1时,更新后的第五信息的值为1。

S1311,终端100给卫星网络设备200发送成功应用回执。

S1312,卫星网络设备200更新第六信息的值。

卫星网络设备200在收到终端100发送的成功应用回执后,可以在第六信息的值上增加预设值。其中,第六信息增加的预设值和第五信息增加的预设值相同,即,更新后的第六信息的值和更新后的第五信息的值相同。

S1313,终端100给卫星网络设备200发送失败应用回执。

其中,步骤S1302-步骤S1306、步骤S1308、步骤S1309、步骤S1311和步骤S1313的具体描述可以参见上述图10所示实施例,在此不再赘述。

图14示出了本申请实施例提供的一种传输流程示意图。

S1401,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

具体的,发送设备生成鉴权码A,得到数据包的详细描述可以参见上述图11所示实施例,在此不再赘述。

S1402,发送设备将数据包发送给接收设备。

具体的,发送设备将数据包发送给接收设备的详细描述可以参见上述图2A、图3A所示实施例,在此不再赘述。

S1403,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X。

具体的,接收设备生成鉴权码B的详细描述可以参见上述图11所示实施例,在此不再赘述。

S1404,接收设备确定出鉴权码A和鉴权码B相同,更新信息B的值为X+i。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+i。

S1405,接收设备向发送设备发送成功应用回执。

接收设备可以在确定出接收数据包成功后,生成成功应用回执,并将成功应用回执发送给发送设备。成功应用回执可以用于指示接收设备接收数据包成功。

S1406,发送设备更新信息A的值为X+i。

发送设备在接收到成功应用回执后,可以确定出数据包发送成功。发送设备可以在信息A的值上增加 i,即,更新信息A的值为X+i。发送设备和接收设备更新的i值相同。

S1407,发送设备可以在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息A的值为X+i。

S1408,发送设备将数据包发送给接收设备。

S1409,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X+i。

S1410,接收设备确定出鉴权码A和鉴权码B相同,更新信息B的值为X+2i。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+2i。

S1411,接收设备向发送设备发送成功应用回执。

接收设备可以在确定出接收数据包成功后,生成成功应用回执,并将成功应用回执发送给发送设备。成功应用回执可以用于指示接收设备接收数据包成功。

S1412,发送设备更新信息A的值为X+2i。

发送设备在接收到成功应用回执后,可以确定出数据包发送成功。发送设备可以在信息A的值上增加 i,即,更新信息A的值为X+2i。发送设备和接收设备更新的i值相同。

这样,发送设备和接收设备可以同步更新维护各自的上下文信息,发送设备和接收设备可以进行数据包的传输,并且避免接收设备重复处理重复发送的数据包。

下面结合应用场景,具体介绍本申请提供的一种传输方法。

在一些入站的应用场景中,终端100可以在接收到用户的第一输入后,向卫星网络设备200发送卫星消息(即,数据包)并显示发送提示信息。发送提示信息可以用于提示用户终端100已经向卫星网络设备 200发送该条卫星消息。终端100可以在收到应用回执后,显示结果提示信息,结果提示信息可以用于提示用户该条卫星消息发送成功或失败。这样,终端100的用户可以确认卫星消息的发送情况,在卫星消息发送失败时,重新发送卫星消息。

示例性的,如图15A所示,终端100可以显示有桌面1500。其中,桌面1500可以包括多个应用图标 (例如,时钟应用图标、信息应用图标1501等等)。其中,信息应用图标1501可以用于触发显示信息应用的界面(例如,图15B所示的信息应用界面1510)。可选的,桌面1500的上方还可以显示包括有时间标识图标、信号标识图标等图标的状态栏。其中,信息标识图标可以用于提示用户终端100处于无网络场景,即,无法与第二传输系统建立通信连接的场景。可选的,多个应用图标的下方可以显示有多个托盘图标(例如拨号应用图标、联系人应用图标、相机应用图标),托盘图标在页面切换时保持显示。可选的,信息应用图标1501也可以为托盘图标,显示在多个应用图标的下方。

终端100检测到用户的针对信息应用图标1501的输入(例如单击)之后,终端100还可以显示如图 15B所示的信息应用界面1510。如图15B所示,信息应用界面1510可以包括信息概况显示区域和标题栏。其中,信息概况显示区域可以用于显示终端100发送和接收的信息。其中,标题栏可以包括但不限于返回控件、新建信息控件1511等等。其中,返回控件可以用于触发终端100显示桌面1500。新建信息控件1511 可以用于触发终端100新建卫星消息。可选的,信息应用界面1510的上方还可以显示上述状态栏。

终端100检测到用户的针对新建信息控件1511的输入(例如单击)之后,终端100还可以显示如图 15C所示的联系人界面1520。如图15C所示,联系人界面1520可以包括至少一个联系人图标(联系人图标可以包括但不限于联系人的名字、手机号等)。至少一个联系人图标可以包括联系人图标1521。联系人图标1521可以用于触发终端100确认收件人的ID号。

终端100检测到用户的针对联系人图标1521的输入(例如单击)之后,终端100可以显示如图15D 所示的信息详情界面1530。如图15D所示,信息详情界面1530可以包括但不限于信息编辑栏1533,发送控件1532和键盘区域1531。其中,信息编辑栏1533可以用于显示用户通过键盘区域1531输入的数据。键盘区域1531可以用于接收用户的输入触发终端100显示对应的数据。发送控件1532可以用于在接收到用户的输入后,触发终端100将信息编辑栏1533中的数据发送给收件人。例如,信息编辑栏1533可以显示有用户输入的文本信息“X”。需要说明的是,信息编辑栏1533显示的内容为用户输入的内容,在此,本申请实施例将用户输入的内容写作“X”只是为了更好地描述实施例,此描述对用户输入的内容不构成限定。

需要说明的是,由于终端100处于第一传输系统中,故而,终端100需要通过卫星网络设备200将卫星消息发送给被叫用户(例如终端300)。在本申请实施例的描述中,只要卫星网络设备200接收终端100 发送的数据包成功,就默认信息成功发送至被叫用户。

终端100接收到用户针对图15D所示的发送控件1532的输入,响应于该输入,终端100可以向卫星网络设备200发送包括有用户输入的原始数据(即,信息编辑栏1533中显示的数据)的数据包。具体的,终端100向卫星网络设备200发送数据包的详细描述可以参见上述图14中的步骤S1401和步骤S1402。卫星网络设备200接收并处理数据包的详细描述可以参见图14中的步骤S1403至步骤S1404。

终端100在接收到用户针对图15D所示的发送控件1532的输入,响应于该输入,终端100还可以显示图15E所示的信息详情界面1530。其中,信息详情界面1530可以包括但不限于信息编辑栏1533,信息框1542和发送提示1543。信息框1542可以用于显示终端100已经发送给卫星网络设备200的卫星消息的内容。在此,信息框1542显示有“X”。发送提示1543可以用于提示用户终端100已经向卫星网络设备 200发送信息框1542显示的内容,发送提示1543可以包括但不限于文字提示信息,例如,发送提示1543 可以为字符串“已发送”。其中,信息详情界面1530的具体描述可以参见图15D所示实施例,在此不再赘述。

之后,终端100可以在接收到成功应用回执后,显示如图15F所示的成功提示信息1551。其中,成功提示信息1551可以用于提示用户终端100向收件人发送信息框1542中的内容成功。成功提示信息1551 可以包括但不限于文字提示信息,例如,成功提示信息1551可以为文字提示信息“发送成功”。其中,卫星网络设备200向终端100发送成功应用回执的描述可以参见上述图14所述的步骤S1405。终端100在收到成功应用回执后,还可以更新第一信息的值为X+i。终端100更新第一信息的具体描述可以参见图14 中的步骤S1406。

终端100在更新第一信息的值后,可以接收到用户针对图15F所示的发送控件1532的输入,响应于该输入,终端100可以向卫星网络设备200发送包括有用户输入的原始数据(即,信息编辑栏1533中显示的数据)的数据包。其中,信息编辑栏1533可以显示有用户输入的文本信息“X+i”。具体的,终端100 向卫星网络设备200发送数据包的详细描述可以参见上述图14中的步骤S1407和步骤S1408。

终端100在接收到用户针对图15F所示的发送控件1532的输入之后,终端100还可以显示如图15G 所示的信息框1561和发送提示1562。其中,信息框1561可以用于显示终端100已经发送给卫星网络设备 200的卫星消息的内容。在此,信息框1561显示有“X+i”。发送提示1562可以用于提示用户终端100已经向卫星网络设备200发送信息框1561显示的内容。信息详情界面1530的具体描述可以参见图15D所示实施例,在此不再赘述。

终端100可以在接收到成功应用回执后,显示如图15H所示的成功提示信息1571。其中,成功提示信息1571可以用于提示用户终端100向收件人发送信息框1561中的内容成功。

接下来介绍本申请实施例中可能出现的异常情况。

1.数据包丢失的异常情况。

当发送设备将数据包发送给接收设备,接收设备没有收到发送设备的数据包时,不影响发送设备和接收设备之间下一个数据包的传输。具体的,如图16A所示:

S1601,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

S1602,发送设备将数据包发送给接收设备失败。

其中,数据包在发送期间丢失,接收设备未能接收到该数据包。

S1603,发送设备可以在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息A的值为X。

其中,由于接收设备没能接收到发送设备发送的上一个数据包,所以没有更新接收设备的信息B。并且接收设备没有向发送设备发送成功应用回执,所以发送设备的信息A的值依旧为X。

S1604,发送设备将数据包发送给接收设备。

S1605,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X。

S1606,接收设备确定出鉴权码A和鉴权码B相同,更新信息B的值为X+i。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+i。

其中,上述步骤的具体描述可以参见上述图11所示的实施例,在此不再赘述。

这样,发送设备向接收设备发送数据包时,在发送的过程中该数据包丢失,接收设备没能收到该数据包。但由于发送设备和接收设备的上下文信息都没有更新,所以不会影响后续数据包的传输。

2.应用回执丢失的异常情况。

当发送设备将数据包发送给接收设备,接收设备成功接收该数据包,并更新了信息B的数值。接收设备给发送设备发送的成功应用回执在发送过程中丢失,发送设备没能接收到成功应用回执,未更新信息A 的值。这样,发送设备和接收设备的上下文信息不一致,影响后续数据包的传输。具体的,如图16B所示:

S1611,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

S1612,发送设备将数据包发送给接收设备。

S1613,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X。

S1614,接收设备确定出鉴权码A和鉴权码B相同,更新信息B的值为X+i。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+i。

S1615,接收设备向发送设备发送成功应用回执失败。

其中,成功应用回执在发送期间丢失,发送设备未能接收到该成功应用回执。

S1616,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

其中,由于发送设备未能接收到接收设备发送的成功应用回执,不能确认前一个数据包的发送情况,不能更新信息A。所以信息A的值依旧为X。

S1617,发送设备将数据包发送给接收设备。

S1618,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X+i。

S1619,接收设备确定出鉴权码A和鉴权码B不同。

接收设备确定出鉴权码A和鉴权码B不同,确定出该数据包接收失败。

其中,上述步骤的具体描述可以参见上述图11所示的实施例,在此不再赘述。

这样,发送设备向接收设备发送数据包时,接收设备接收该数据包成功,更新信息B的值,并向发送设备发送成功应用回执。但由于发送设备接成功应用回执失败,发送设备的信息A没有更新,所以信息A 和信息B不同,影响后续数据包的传输。

因此,为了在信息A和信息B不一致后,发送设备和接收设备还可以传输后续数据包。发送设备和接收设备可以重置各自的上下文信息的数值。这样,发送设备和接收设备可以继续传输数据包。

在一种可能的实现方式中,收设备在确定出接收数据包失败时,可以将信息B重置为预设初始值。发送设备在收到失败应用回执后,也可以将信息A重置为预设初始值。这样,可以在信息A和信息B不同步时,将信息A和信息B的值调整为相同值,发送设备和接收设备可以继续数据包的传输。示例性的,如图17A所示:

S1701,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

S1702,发送设备将数据包发送给接收设备。

S1703,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为Y。

其中,X和Y不同。

S1704,接收设备确定出鉴权码A和鉴权码B不同,更新信息B的值为Z。

接收设备可以通过比较鉴权码A和鉴权码B是否相同来确定数据包的接收情况。接收设备确定出鉴权码A和鉴权码B不同,确定出该数据包接收失败。

接收设备可以将信息B的值调整为预设初始值Z。

S1705,接收设备向发送设备发送失败应用回执。

接收设备可以在确定出该数据包接收失败后,生成用于指示接收数据包失败的应用回执(即失败应用回执)。接收设备可以将失败应用回执发送给到发送设备。

S1706,发送设备更新信息A的值为Z。

发送设备在接收到失败应用回执后,确认出数据包发送失败,更新信息A的值为Z。发送设备和接收设备的上下文信息调整为相同值。

但是,当发送设备没有接收到接收设备发送的失败应用回执时,信息A和信息B的值依旧不相同。因此,在一种可能的实现方式中,接收设备可以在确定出接收数据包失败时,只向发送设备发送失败应用回执,不改变信息B的值。发送设备可以在收到失败应用回执后,将信息A重置为预设初始值。发送设备还可以向接收设备发送预设初始值,接收设备可以在收到预设初始值后,将信息B的值调整为预设初始值。示例性的,如图17B所示:

S1711,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

S1712,发送设备将数据包发送给接收设备。

S1713,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为Y。

其中,X和Y不同。

S1714,接收设备确定出鉴权码A和鉴权码B不同。

接收设备可以通过比较鉴权码A和鉴权码B是否相同来确定数据包的接收情况。接收设备确定出鉴权码A和鉴权码B不同,确定出该数据包接收失败。

S1715,接收设备向发送设备发送失败应用回执。

接收设备可以在确定出该数据包接收失败后,生成用于指示接收数据包失败的应用回执(即失败应用回执)。接收设备可以将失败应用回执发送给到发送设备。

S1716,发送设备更新信息A的值为Z。

发送设备在接收到失败应用回执后,确认出数据包发送失败,更新信息A的值为Z。

S1717,发送设备向接收设备发送信息A的值。

例如,发送设备可以将信息A的值封装为数据包,再将包括信息A的值的数据包发送给接收设备。

也就是说,在入站过程中,终端100可以在将第一信息的值调整为预设值后,将第三信息发送至卫星网络设备200,其中,第三信息的值和调整后的第一信息的值相同。

在出站过程中,卫星网络设备200可以在将第六信息的值调整为预设值后,将第七信息发送至终端100,其中,第七信息的值和调整后的第六信息的值相同。

可选的,预设值为初始值。

S1718,接收设备更新信息B的值为Z。

接收设备可以在收到信息A的值后,将信息B的值调整为和信息A相同,即,将信息B的值调整为预设初始值Z。

但是,当攻击终端截获了预设初始值,并向接收设备重复发送预设初始值时,接收设备会一直重新设置接收设备的信息B的值,造成发送设备和接收设备无法正常通信。并且,由于信息A和信息B不一致的原因多半为发送设备未接收到接收设备发送的成功应用回执,所以信息B的值比信息A的值大预设值。

因此,在一种可能的实现方式中,接收设备在接收数据包失败后,不调整信息B的数值,发送设备可以在收到失败应用回执后,在信息A的值上增加预设值。这样,发送设备可以在收到应用回执后,自行调整信息A的数值,让信息A和信息B相同。

需要说明的是,在此,发送设备发送成功的数据包的数量可以为发送设备收到的成功应用回执的数量和发送设备基于失败应用回执确定出的未接收到的成功应用回执的数量之和。

接下来结合场景介绍上述可能的实现方法,具体的,如图17C所示:

S1721,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息A的值为X。

S1722,发送设备将数据包发送给接收设备。

其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在向卫星网络设备200发送数据包后,显示如图18A所示的信息详情界面1800。其中,信息详情界面1800可以包括信息框1801和发送提示1802。其中,信息框1801可以用于显示终端100已经发送给卫星网络设备200 的卫星消息的内容。在此,信息框1801显示有信息内容,例如,“X”。发送提示1802可以用于提示用户终端100已经向卫星网络设备200发送信息框1801显示的内容。信息详情界面1800的具体描述可以参见图15D所示实施例,在此不再赘述。需要说明的是,本申请实施例中描述的任意一个信息框中显示的内容都为卫星消息中用户输入的内容,在此,本申请实施例将该内容写作“X”只是为了更好地描述实施例,此描述对用户输入的内容不构成限定。

S1723,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X。

S1724,接收设备确定出鉴权码A和鉴权码B相同,更新信息B的值为X+i。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+i。

S1725,接收设备向发送设备发送成功应用回执失败。

其中,成功应用回执在发送期间丢失,发送设备未能接收到该成功应用回执。

S1726,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

其中,由于发送设备未能接收到接收设备发送的成功应用回执,不能确认前一个数据包的发送情况,不能更新信息A。所以信息A的值依旧为X。

S1727,发送设备将数据包发送给接收设备。

其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在向卫星网络设备200发送数据包后,显示如图18B所示的信息框1811和发送提示1812。其中,信息框1811可以用于显示终端100已经发送给卫星网络设备200的卫星消息的内容。在此,信息框1811显示有“X”。发送提示1812可以用于提示用户终端100已经向卫星网络设备200发送信息框1811显示的内容。信息详情界面1800的具体描述可以参见图15D所示实施例,在此不再赘述。

S1728,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X+i。

S1729,接收设备确定出鉴权码A和鉴权码B不同。

接收设备确定出鉴权码A和鉴权码B不同,确定出该数据包接收失败。

S1730,接收设备向发送设备发送失败应用回执。

S1731,发送设备更新信息A的值为X+i。

发送设备可以在接收到失败应用回执后,确认出当前数据包接收失败。而且,由于发送设备只发送了两个数据包,那么发送设备可以确定出信息B的值进行了更新,即,发送设备可以确定出接收设备成功接收发送设备的前一个数据包。发送设备可以确定出前一个数据包发送成功,当前数据包发送失败,发送设备可以在信息A的值上增加预设值,即,调整信息A的值为X+i。

其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在收到失败应用回执后,显示如图18C所示的成功提示信息1821和失败提示信息1822。其中,成功提示信息1821 可以用于提示用户终端100向收件人发送信息框1801中的内容成功。失败提示信息1822可以用于提示用户终端100向收件人发送信息框1811中的内容失败。其中,失败提示信息1822可以包括但不限于文字提示信息,例如,失败提示信息1822可以包括文字提示信息“发送失败”。

需要说明的是,终端100只有在接收到应用回执后,才会显示结果提示信息。

这样,就算失败应用回执被攻击终端截获,也不会造成发送设备重复更新信息A的值。

在一些实施例中,当发送设备发送的数据包在发送过程中丢失时,接收设备没有收到发送设备的数据包时,不影响发送设备和接收设备之间下一个数据包的传输。发送设备还可以根据发送的下一个数据包的成功应用回执确定前一个数据包接收失败。

接下来结合场景介绍上述可能的实现方法,具体的,如图19所示:

S1901,发送设备在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息 A的值为X。

S1902,发送设备将数据包发送给接收设备失败。

其中,数据包在发送期间丢失,接收设备未能接收到该数据包。

其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在向卫星网络设备200发送数据包后,显示如图18A所示的信息详情界面1800。其中,信息详情界面1800的详细描述可以参见图17C所示实施例,在此不再赘述。

S1903,发送设备可以在基于信息A生成鉴权码A后,基于鉴权码A和原始数据得到数据包,此时,信息A的值为X。

其中,由于接收设备没能接收到发送设备发送的上一个数据包,所以没有更新接收设备的信息B。并且接收设备没有向发送设备发送成功应用回执,所以发送设备的信息A的值依旧为X。

S1904,发送设备将数据包发送给接收设备。

其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在向卫星网络设备200发送数据包后,显示如图18B所示的信息框1811和发送提示1812。其中,信息框1811和发送提示1812的详细描述可以参见图17C所示实施例,在此不再赘述。

S1905,接收设备基于信息B和数据包生成鉴权码B,此时,信息B的值为X。

S1906,接收设备确定出鉴权码A和鉴权码B相同,更新信息B的值为X+i。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+i。

S1907,接收设备向发送设备发送成功应用回执。

S1908,发送设备更新信息A的值为X+i。

发送设备接收到成功应用回执后,确认出第2个数据包发送成功。由于发送设备发送第2个数据包时并未更新信息A的值,发送设备可以确认出接收设备也没有更新信息B的值,即,接收设备未接收到第1 个数据包。发送设备确认出第1个数据包发送失败。

其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在收到成功应用回执后,显示如图20所示的失败提示信息2101和成功提示信息2102。其中,失败提示信息2101 可以用于提示用户终端100向收件人发送信息框1801中的内容失败。成功提示信息2102可以用于提示用户终端100向收件人发送信息框1811中的内容成功。

需要说明的是,不仅限于上述实施例,本申请还提供了以下实施例,需要说明的是,下述实施例可以和上述任意一个或多个实施例互相结合使用。

在一些实施例中,如果发送设备在收到失败应用回执之前,已经发送了至少两个数据包(发送该至少两个数据包期间发送设备都没有收到应用回执),当发送设备收到失败应用回执后,不能确定该至少两个数据包中哪一个数据包发送成功。

因此,在一种可能的实现方式中,发送设备的信息A为上下文信息(context)A,接收设备的信息B 为上下文信息B。上下文信息A可以用于指示发送数据包的数量信息。接收设备的信息B为上下文信息B,上下文信息B可以用于指示接收数据包的数量信息。发送设备可以在数据包中添加消息ID字段A。消息 ID字段A可以用于标识数据包。接收设备可以基于接收成功的数据包的消息ID字段A确定出消息ID字段B的值。接收设备可以在应用回执中添加消息ID字段B,消息ID字段B可以用于标识最近接收成功的数据包。其中,添加了接收成功的数据包的消息ID字段B的应用回执可以称为指示应用回执。这样,发送设备可以在发送了多个基于同一个上下文信息A的值生成的数据包时,通过指示应用回执中的消息ID 字段B确定出发送成功的数据包。

其中,终端100和卫星网络设备200可以通过蜂窝网络获取上下文信息,或者终端100可以通过中间设备获取上下文信息,或者终端100和卫星网络设备200可以预设上下文信息。其中,终端100和卫星网络设备200获取上下文信息的详细描述可以参见上述实施例,在此不再赘述。

需要说明的是,在入站过程中,成功应用回执、失败应用回执和指示应用回执可以统称为第一应用回执。在出站过程中,成功应用回执、失败应用回执和指示应用回执可以统称为第三应用回执。可以理解的是,在入站过程中,卫星网络设备200只生成成功应用回执、失败应用回执,那么成功应用回执和失败应用回执可以统称为第一应用回执。在出站过程中,终端100只生成成功应用回执、失败应用回执,那么成功应用回执和失败应用回执可以统称为第三应用回执。

图21示出了本申请实施例提供的一种传输方法的处理流程示意图。

1.发送设备基于原始数据和上下文信息A生成鉴权码A。

其中,上下文信息A为上下文信息A,上下文信息A可以用于指示发送数据包的数量信息。发送数据包的数量信息为发送设备发送成功的数据包的数量信息。在此,发送成功的数据包的数量信息可以为预设偏置值、发送设备接收到成功应用回执的数量和发送设备接收到指示应用回执的数量之和。其中,预设偏置值大于等于零。也就是说,当发送设备收到成功应用回执/指示应用回执后,可以在上下文信息A的值上增加预设值。需要说明的是,上下文信息A的增量和发送设备发送成功的数据包的数量相关。

发送设备可以基于上下文信息A和原始数据得到鉴权码A。其中,发送设备得到鉴权码A的详细描述可以参见上述图7所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备可以基于上下文信息A、指定密钥和原始数据生成鉴权码A,再基于鉴权码A和原始数据生成数据包。接收设备可以基于上下文信息B、指定密钥和数据包生成鉴权码B。这样,可以通过指定密钥验证发送设备的合法性,保证传输的安全性。

2.发送设备基于消息ID字段A、原始数据和鉴权码A得到数据包。

发送设备可以将消息ID字段A、鉴权码A和原始数据拼接在一起,得到数据包。

具体的,发送设备可以存储有消息ID,消息ID可以在上下文信息A的值未发生变化时,随着发送设备生成的数据包更新消息ID的值。即,发送设备可以在基于消息ID对应的消息ID字段A生成数据包后,更新消息ID的值。其中,当上下文信息A的值发生变化后,发送设备可以重置消息ID的值。这样,上下文信息A的值没有变化时,由于消息ID可以标识不同的数据包,发送设备和接收设备可以通过数据包的消息ID字段区分数据包。也就是说,当发送设备发送的多个数据包并且没有收到成功应用回执时,接收设备可以将最近接收成功的数据包的消息ID发送给发送设备,发送设备就可以基于消息ID的值确认多个数据包的发送情况。

示例性的,当消息ID的长度为2bit时,消息ID可以为“00”、“01”、“10”、“11”。发送设备可以在基于消息ID“00”生成包括消息ID字段A为“00”的数据包1后,将该数据包1发送给接收设备,并更新消息ID的值为“01”。当发送设备收到了接收设备的成功应用回执后,发送设备可以更新上下文信息A 的值,并将消息ID的值重置为“00”。之后,发送设备可以生成并向接收设备发送包括有消息ID字段A 为“00”的数据包2。

发送设备可以在基于消息ID“00”生成包括消息ID字段A为“00”的数据包1后,将该数据包1发送给接收设备,并更新消息ID的值为“01”。当发送设备没有收到消息ID字段A为“00”的数据包1的应用回执时,可以生成并发送包括有消息ID字段A为“01”的数据包2给接收设备,发送设备还可以更新消息ID的值为“10”。当发送设备没有收到消息ID字段A为“01”的数据包2的应用回执时,可以生成并发送包括有消息ID字段A为“10”的数据包3给接收设备,发送设备还可以更新消息ID的值为“11”。当发送设备接收到包括有消息ID字段B为“01”的指示应用回执后,发送设备可以确定出消息ID字段A 为“00”和“10”的数据包发送失败,消息ID字段A为“01”的数据包发送成功。发送设备可以更新上下文信息A的值并调整消息ID的值为“00”。

可选的,发送设备可以在拼接在一起的鉴权码A和原始数据之前添加包头信息,得到数据包。其中,包头信息可以包括消息ID字段A等等。

在一种可能的实现方式中,发送设备可以将鉴权码A和原始数据拼接在一起,得到拼接数据。发送设备再使用指定密钥通过指定算法加密拼接数据,得到加密后数据。发送设备可以在加密后数据前添加包头信息,包头信息中包括加密指示字段和消息ID字段A。加密指示字段可以用于指示发送设备使用的指定算法(例如SM3密码杂凑算法)。这样,由于发送设备将数据加密后,再发送给接收设备,可以进一步保证数据的安全。可选的,发送设备可以将消息ID字段A、鉴权码A和原始数据拼接在一起,再使用指定密钥进行加密。

发送设备可以将数据包发送给接收设备,其中,入站时发送设备发送数据包给接收设备的描述可以参见上述图2A所示实施例,出站时发送设备发送数据包给接收设备的描述可以参见上述图3A所示实施例,在此不再赘述。

在一种可能的实现方式中,发送设备为终端100时,发送设备将数据包发送给接收设备后,发送设备可以显示发送提示信息。发送提示信息可以用于提示用户发送设备已经向接收设备发送卫星消息。

3.接收设备基于数据包得到消息ID字段A、鉴权码A和原始数据。

接收设备在接收到发送设备发送的数据包后,接收设备可以从数据包中截取得到消息ID字段A、鉴权码A和原始数据。其中,入站时接收设备接收数据包的描述可以参见上述图2B所示实施例,出站时接收设备接收数据包的描述可以参见上述图3B所示实施例,在此不再赘述。

在一种可能的实现方式中,数据包中包括加密指示字段和加密后数据。接收设备可以基于加密指示字段、指定密钥解密数据包中的加密后数据,得到消息ID字段A、鉴权码A和原始数据。

4.接收设备基于上下文信息B和数据包生成鉴权码B。

接收设备可以基于上下文信息B和数据包中的原始数据通过指定算法(例如,SM3密码杂凑算法)计算得到鉴权码B。其中,接收设备的指定算法和发送设备的指定算法相同。例如,发送设备可以在数据包的包头中添加指定算法指示,指定算法指示可以用于指示发送设备使用的指定算法,接收设备可以基于收到的数据包中的指定算法指示确定发送设备使用的指定算法指示。再例如,发送设备和接收设备可以在蜂窝网络下协商使用的指定算法。

在一种可能的实现方式中,当发送设备基于原始数据、上下文信息A和指定密钥生成鉴权码A时,接收设备可以基于原始数据、上下文信息B和指定密钥生成鉴权码B。发送设备和接收设备可以预设生成鉴权码需要的参数。

5.接收设备基于鉴权码B确定数据包的接收状态。

接收设备可以通过比较鉴权码A和鉴权码B是否相同,确定数据包的接收状态。

(1)当鉴权码B和鉴权码A相同时,接收设备确定出数据包接收成功。接收设备可以针对原始数据执行相应的处理操作。具体描述可以参见图7所述实施例。

接收设备可以基于消息ID字段A的值确定出消息ID字段B的值,还可以更新上下文信息B的值。具体的,接收设备可以在上下文信息B的值上增加预设值。

接收设备还可以生成成功应用回执并将该成功应用回执发送给发送设备,成功应用回执可以用于指示接收设备接收数据包成功。

(2)当鉴权码B和鉴权码A不同时,接收设备可以基于上下文信息B得到信息C。具体的,接收设备可以在上下文信息B的值上减少预设值得到信息C。接收设备可以基于信息C和原始数据通过指定鉴权算法得到鉴权码C。接收设备可以对比鉴权码C和鉴权码A是否相同。

(3)当鉴权码A和鉴权码C相同时,接收设备可以确定接收数据包失败。接收设备还可以生成并向发送设备发送指示应用回执,指示应用回执包括有消息ID字段B,消息ID字段B可以用于标识接收设备最近接收成功的数据包。由于接收设备基于信息C生成的鉴权码C和鉴权码A相同,接收设备可以确定出发送设备没有更新上下文信息A的值,即,接收设备可以确定发送设备没有接收到用于指示最近接收成功的数据包的成功应用回执。接收设备可以生成指示最近接收成功的数据包的指示应用回执。其中,指示应用回执还可以用于指示发送设备当前数据包接收失败。

在一种可能的实现方式中,接收设备可以在确认出鉴权码A和鉴权码C相同时,接收设备可以确定接收数据包成功。接收设备可以在上下文信息B的值上增加预设值,并基于当前数据包的消息ID字段A确定消息ID字段B的值。接收设备还可以生成并向发送设备发送指示应用回执,指示应用回执可以包括有最近接收成功的数据包的消息ID字段B。指示应用回执可以用于指示发送设备当前数据包和包括有和该消息ID字段B的值相同的消息ID字段A的数据包接收成功。发送设备可以基于指示应用回执,在上下文信息A的值上增加两次预设值。

(4)当鉴权码A和鉴权码C不同时,接收设备可以确定出接收数据包失败。接收设备还可以生成并向发送设备发送失败应用回执,失败应用回执可以用于指示接收设备接收数据包失败。

示例性的,应用回执可以包括但不限于状态码。应用回执可以通过状态码指示数据包的接收状态。状态码的每一个值可以唯一对应接收设备接收数据包的一种接收状态。示例性的,应用回执的状态码和状态码对应的接收状态如表1所示:

表1:应用回执说明

例如,状态码的长度可以为4bit。当鉴权码A和鉴权码B相同时,状态码的值可以为“0000”,该状态码可以用于指示数据包接收成功,即包括有状态码“0000”的应用回执为成功应用回执。

当鉴权码A和鉴权码B不同时,接收设备可以生成鉴权码C。其中,当鉴权码A和鉴权码C不同时,状态码的值可以为“0001”,该状态码可以用于指示接收设备解密数据包失败(例如,密钥错误导致的解密失败,鉴权码错误导致的解密失败等等),即包括有状态码“0001”的应用回执为失败应用回执。

当鉴权码A和鉴权码C相同时,接收设备可以确定发送设备和接收设备的上下文信息不适配。接收设备的状态码的前两位可以为“11”,状态码的后两位可以为消息ID字段B的值。当状态码的值为“1100”时,可以用于指示接收设备接收到的消息ID字段A的值为“00”的数据包接收成功,即包括有状态码“1100”的应用回执为指示应用回执。当状态码的值为“1101”时,可以用于指示接收设备接收到的消息ID字段A 为“01”的数据包接收成功,即包括有状态码“1101”的应用回执为指示应用回执。当状态码的值为“1110”时,可以用于指示接收设备接收到的消息ID字段为“10”的数据包接收成功,即包括有状态码“1110”的应用回执为指示应用回执。当状态码的值为“1111”时,可以用于指示接收设备接收到的消息ID字段为“11”的数据包接收成功,即包括有状态码“1111”的应用回执为指示应用回执。

需要说明的是,发送设备在更新上下文信息A的值后,会将数据包关联的消息ID的值调整为“00”。当发送设备发送了消息ID指示A为“00”的数据包后,没有接收到应用回执,发送设备可以继续发送消息ID为“01”的数据包。如果发送设备仍然没有接收到应用回执,发送设备可以继续发送消息ID为“10”的数据包。当发送设备接收到成功应用回执/指示应用回执后,发送设备可以更新上下文信息A的值,并将消息ID字段的值调整为“00”,以此类推。

又例如,当接收设备解码数据包失败时,当状态码的值为“0010”时,可以用于指示接收设备解码数据包失败(例如,发送设备和接收设备之间的编码方式不一致导致的解码失败等等),即,包括有状态码“0010”的应用回执为失败应用回执。其他状态码的值可以为保留值。

需要说明的是,上述状态码的描述仅为示例,状态码还可以为其他长度的数据段,状态码的值对应的接收状态也不限于上述提及的情况。本申请对此不作限定。

6.发送设备基于应用回执确定数据包的发送状态。

发送设备可以基于应用回执确定数据包的发送状态。

(1)发送设备收到的应用回执为接收设备接收数据包成功的成功应用回执时,发送设备可以确认数据包发送成功。发送设备可以在上下文信息A的值上增加预设值。其中,发送设备和接收设备中增加的预设值相同。

在一些实施例中,当发送设备为终端100时,发送设备可以在收到成功应用回执后,显示成功提示信息,成功提示信息可以用于提示用户数据包发送成功。

(2)发送设备收到的应用回执为接收设备接收数据包失败的失败应用回执时,发送设备可以确认数据包发送失败。

可选的,发送设备可以重传该发送失败的数据包。

在一些实施例中,当发送设备为终端100时,发送设备可以在收到失败应用回执后,显示失败提示信息,失败提示信息可以用于提示用户数据包发送失败。

(3)发送设备收到的应用回执为指示应用回执时,发送设备可以确认数据包发送失败。

发送设备可以基于指示应用回执中的消息ID字段B,确认出最近发送成功的数据包。具体的,发送设备可以基于指示应用回执中的消息ID字段B,确认出最近发送成功的数据包的消息ID字段A。发送设备可以基于消息ID字段A确定出最近发送成功的数据包。

发送设备还可以在上下文信息A的值上增加预设值。由于发送设备可以基于指示应用回执确认出未收到已经发送的发送成功的数据包的成功应用回执,故而发送设备可以确认出之前有一个数据包发送成功,据此更新上下文信息A的值。

例如,发送设备接收到包括有状态码“1100”的应用回执后,发送设备可以确认出消息ID字段为“00”的数据包发送成功,发送设备可以更新上下文信息A的值。

在一些实施例中,当发送设备为终端100时,发送设备可以在收到指示应用回执后,显示成功提示信息和失败提示信息。其中,成功提示信息可以用于提示用户消息ID字段B指示的数据包发送成功。失败提示信息可以用于提示用户当前数据包发送失败。

在一种可能的实现方式中,指示应用回执可以用于指示消息IDB指示的数据包发送成功,还可以用于指示当前数据包发送成功。发送设备可以在收到指示应用回执后,在上下文信息A的至上增加两次预设值。发送设备还可以显示成功提示信息1和成功提示信息2,成功提示信息1可以用于提示用户消息ID字段指示B标识的数据包发送成功。成功提示信息2可以用于提示用户当前数据包发送成功。

接下来介绍本申请实施例提供的一种传输方法的入站流程。

终端100可以基于第一信息、指定密钥和原始数据生成第一鉴权码。其中,第一信息为第一上下文信息,可以用于指示发送数据包的数量信息。终端100可以基于第一消息ID、第一鉴权码、指定密钥和原始数据,得到第一数据包。终端100可以将第一数据包发送给卫星网络设备200。卫星网络设备200可以在接收到第一数据包后,基于第二信息、指定密钥和第一数据包生成第二鉴权码。其中,第二信息为第二上下文信息,用于指示接收数据包的数量信息。卫星网络设备200可以基于第二鉴权码确定第一数据包的接收状态。当第二鉴权码和第一鉴权码不同时,卫星网络设备200可以生成临时鉴权码。卫星网络设备200 可以在第一鉴权码和临时鉴权码相同时,生成指示应用回执,指示应用回执包括第二消息ID字段,第二消息ID字段用于指示卫星网络设备200最近接收成功的数据包。这样,接收设备不会出现重复接收同一个数据包的问题,还可以在应用回执丢失后,确定数据包的发送状态。

图22示出了本申请实施例提供的一种入站传输流程示意图。

S2201,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息。

其中,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息的描述可参见上述图11所示实施例,在此不再赘述。其中,终端100和卫星网络设备200在协商密钥后,都存储有指定密钥。其中,终端100存储有第一信息。卫星网络设备200存储有第二信息。第一信息和第二信息的初始值相同。

S2202,终端100获取原始数据。

S2203,终端100基于指定密钥、原始数据和第一信息生成第一鉴权码。

终端100可以基于存储的第一信息、指定密钥和原始数据通过指定鉴权算法(例如,SM3密码杂凑算法)计算得到第一鉴权码。

S2204,终端100可以基于第一消息ID、第一鉴权码和原始数据,得到第一数据包。

其中,终端100可以基于第一消息ID生成第一指示信息(又称为第一消息ID字段)。终端100可以拼接第一消息ID字段、第一鉴权码和原始数据,得到第一数据包。

在一种可能的实现方式中,终端100还可以使用指定密钥加密拼接在一起的第一鉴权码和原始数据,得到第一数据包。可选的,终端100可以使用指定密钥加密拼接在一起的第一消息ID字段、第一鉴权码和原始数据,得到第一数据包。

S2205,终端100向卫星网络设备200发送第一数据包,其中,第一数据包包括有第一消息ID字段。

其中,终端100可以在向卫星网络设备200发送第一数据包后,更新第一消息ID的值。例如,终端 100可以在第一消息ID的值上增加预设值,更新后的第一消息ID的值和更新前的第一消息ID的值不同。

在一种可能的实现方式中,终端100在向接收设备发送第一数据包后,可以显示发送提示信息,发送提示信息可以用于提示用户终端100已经向卫星网络设备200发送该第一数据包。

S2206,卫星网络设备200可以基于指定密钥、原始数据和第二信息生成第二鉴权码。

S2207,卫星网络设备200判断第一鉴权码和第二鉴权码是否相同。

卫星网络设备200可以通过比较第一鉴权码和第二鉴权码是否相同,确定第一数据包的接收状态。其中,当第一鉴权码和第二鉴权码相同时,卫星网络设备200可以执行步骤S2208-步骤S2210。

可选的,卫星网络设备200还可以记录第一数据包成功接收的时间或者第一消息ID,转发至蜂窝网络中的网元(例如短消息中心)。用于蜂窝网络中的网元记录入站消息的发送成功时间,便于后续在蜂窝网络中,通过向终端100发送成功传输的第一消息ID,更新终端100在卫星网络下未成功收到应用回执的信息的发送状态。

当第一鉴权码和第二鉴权码不同时,卫星网络设备200可以执行步骤S2213-步骤S2215。

S2208,卫星网络设备200更新第二信息的值,确定出第二消息ID的值。

卫星网络设备200可以在第二信息的值上增加预设值。例如,当第二信息的值为0,预设值为1时,更新后的第二信息的值为1。

卫星网络设备200还可以基于数据包的第一消息ID字段,确定出第二消息ID字段(又称为第二指示信息)的值。第二消息ID字段的值和第一消息ID字段的值相同。

S2209,卫星网络设备200将原始数据发送给蜂窝网络设备400。

S2210,卫星网络设备200给终端100发送成功应用回执。

S2211,终端100更新第一信息的值。

终端100在收到卫星网络设备200发送的成功应用回执后,可以在第一信息的值上增加预设值。其中,第一信息增加的预设值和第二信息增加的预设值相同,即,更新后的第一信息的值和更新后的第二信息的值相同。可选的,终端100还可以执行步骤S2212。

S2212,终端100显示成功提示信息。

终端100显示成功提示信息。成功提示信息用于提示用户第一数据包发送成功。

S2213,卫星网络设备200基于第二信息得到临时信息。

卫星网络设备200在确定出第一鉴权码和第二鉴权码不同后,可以在第二信息的值上减少预设值,得到临时信息。

S2214,卫星网络设备200基于指定密钥、原始数据和临时信息生成临时鉴权码。

卫星网络设备200可以基于临时信息、指定密钥和原始数据通过指定鉴权算法(例如,SM3密码杂凑算法)计算得到临时鉴权码。

S2215,卫星网络设备200判断第一鉴权码和临时鉴权码是否相同。

卫星网络设备200可以通过比较第一鉴权码和临时鉴权码是否相同,确定终端100的第一信息是否更新,即,终端100是否接收到上一个成功应用回执。其中,当第一鉴权码和临时鉴权码相同时,卫星网络设备200可以执行步骤S2216。

当第一鉴权码和临时鉴权码不同时,卫星网络设备200可以执行步骤S2219。

S2216,卫星网络设备200给终端100发送指示应用回执(包括第二消息ID字段)。

卫星网络设备200生成指示应用回执,其中,指示应用回执包括第二指示信息(又称为第二消息ID 字段),第二消息ID字段可以用于指示最近接收成功的数据包。

S2217,终端100更新第一信息的值。

终端100在收到卫星网络设备200发送的指示应用回执后,可以在第一信息的值上增加预设值。其中,更新后的第一信息的值和当前第二信息的值相同。可选的,终端100还可以执行步骤S2218。

S2218,终端100显示成功提示信息和失败提示信息。

终端100显示成功提示信息和失败提示信息。成功提示信息用于提示第二消息ID指示的数据包发送成功。失败提示信息用于指示第一消息ID指示的第一数据包发送失败。

S2219,卫星网络设备200给终端100发送失败应用回执。

可选的,终端100收到失败应用回执后,还可以执行步骤S2220。

S2220,终端100显示失败提示信息。

终端100显示失败提示信息。失败提示信息用于提示用户第一数据包发送失败。

其中,步骤S2201-步骤S2212、步骤S2216、步骤S2220的具体描述可以参见上述图12所示实施例,在此不再赘述。

接下来介绍本申请实施例提供的另一种传输方法的出站流程。

卫星网络设备200可以基于第六信息和原始数据生成第四鉴权码。其中,第六信息为第六上下文信息,用于指示发送数据包的数量信息。卫星网络设备200可以基于第四消息ID、第四鉴权码和原始数据,得到第三数据包。卫星网络设备200可以将第三数据包发送给终端100。终端100可以在接收到第三数据包后,基于第五信息和第三数据包生成第三鉴权码。其中,第五信息为第五上下文信息,用于指示接收数据包的数量信息。终端100可以基于第三鉴权码确定第三数据包的接收状态。当第三鉴权码和第四鉴权码不同时,终端100可以生成临时鉴权码。终端100可以在确定出第四鉴权码和临时鉴权码相同时,生成包括有第三消息ID字段的指示应用回执,第三消息ID字段用于指示终端100最近接收成功的数据包。这样,不会出现重复接收同一个数据包的问题,还可以在应用回执丢失后,确定数据包的发送状态。

图23示出了本申请实施例提供的一种出站传输流程示意图。

S2301,终端100、卫星网络设备200和蜂窝网络设备400协商第五信息和第六信息。

其中,终端100存储有第五信息。卫星网络设备200存储有第六信息。第五信息和第六信息的初始值相同。

S2302,卫星网络设备200接收到蜂窝网络设备400发送的原始数据。

S2303,卫星网络设备200接收到终端100发送的业务请求。

S2304,卫星网络设备200基于原始数据和第六信息生成第四鉴权码。

卫星网络设备200可以基于存储的第六信息和原始数据生成第四鉴权码。

S2305,卫星网络设备200基于第四消息ID、原始数据和第四鉴权码,得到第三数据包。

其中,第四消息ID用于指示第三数据包。卫星网络设备200可以基于第四消息ID生成第四消息ID 字段(又称为第六指示信息)。卫星网络设备200可以拼接第四消息ID字段、第四鉴权码和原始数据,得到第三数据包。

S2306,卫星网络设备200向终端100发送第三数据包,其中,第三数据包包括有第四消息ID字段。

S2307,终端100基于第三数据包、第五信息,得到第三鉴权码。

S2308,终端100判断第三鉴权码和第四鉴权码是否相同。

终端100可以通过比较第三鉴权码和第四鉴权码是否相同,确定第三数据包的接收状态。其中,当第三鉴权码和第四鉴权码相同时,终端100可以执行步骤S2309至步骤S2311。

可选的,终端100还可以记录第三数据包成功接收的时间或第四消息ID。用于后续终端100接入第二传输系统(例如蜂窝或WLAN网络)时,向卫星设备200或第二传输系统网元发送成功传输的第四消息 ID,更新卫星网络下未成功收到应用回执的信息的发送状态。以避免出现计费问题。

当第三鉴权码和第四鉴权码不同时,终端100可以执行步骤S2313至步骤S2315。

S2309,终端100显示接收提示信息。

S2310,终端100更新第五信息的值,确定出第三消息ID字段的值。

终端100在确定出第三鉴权码和第四鉴权码相同后,可以更新第五信息的值,终端100可以在第五信息的值上增加预设值。例如,当第五信息的值为0,预设值为1时,更新后的第五信息的值为1。

终端100可以基于第四消息ID字段的值,确定出第三消息ID字段(又称为第五指示信息)的值,第四消息ID字段的值和第三消息ID字段的值相同。

S2311,终端100给卫星网络设备200发送成功应用回执。

S2312,卫星网络设备200更新第六信息的值。

卫星网络设备200在收到终端100发送的成功应用回执后,可以在第六信息的值上增加预设值。其中,第六信息增加的预设值和第五信息增加的预设值相同,即,更新后的第六信息的值和更新后的第五信息的值相同。

S2313、终端100基于第二信息得到临时信息。

终端100在确定出第三鉴权码和第四鉴权码不同后,可以在第五信息的值上减少预设值,得到临时信息。

S2314,终端100基于指定密钥、原始数据和临时信息生成临时鉴权码。

终端100可以基于临时信息、指定密钥和原始数据通过指定鉴权算法(例如,SM3密码杂凑算法)计算得到临时鉴权码。

S2315,终端100判断第四鉴权码和临时鉴权码是否相同。

终端100可以通过比较第四鉴权码和临时鉴权码是否相同,确定卫星网络设备200的第六信息是否更新,即,卫星网络设备200是否接收到上一个成功应用回执。其中,当第四鉴权码和临时鉴权码相同时,终端100可以执行步骤S2316。

当第四鉴权码和临时鉴权码不同时,终端100可以执行步骤S2318。

S2316,终端100给卫星网络设备200发送指示应用回执(包括第三消息ID字段)。

终端100生成指示应用回执,其中,指示应用回执包括第三消息ID字段,第三消息ID字段用于指示最近接收成功的数据包。

S2317,卫星网络设备200更新第六信息的值。

卫星网络设备200在收到终端100发送的指示应用回执后,可以确定出第三消息ID指示的数据包发送成功。卫星网络设备200可以在第六信息的值上增加预设值。其中,更新后的第六信息的值和当前第五信息的值相同。

S2318,终端100给卫星网络设备200发送失败应用回执。

其中,步骤S2301-步骤S2312、步骤S2317、步骤S2318的具体描述可以参见上述图13所示实施例,在此不再赘述。

接下来结合场景介绍上述可能的实现方法,具体的,如图24所示:

S2401,发送设备在基于消息ID、上下文信息A和原始数据得到数据包1,上下文信息A的值为X,消息ID的值为y1。

发送设备可以基于上下文信息A生成鉴权码A。发送设备可以基于存储的消息ID,得到消息ID字段 A。发送设备可以基于消息ID字段A、原始数据和鉴权码A得到数据包1。

S2402,发送设备将数据包1发送给接收设备,其中,数据包1包括消息ID字段A和鉴权码A。

其中,发送设备将数据包1发送给接收设备后,可以更新消息ID的值为y2。其中,y1和y2不同。

例如,当消息ID的长度为2bit时,y1可以为“00”,y2可以为“01”。其中,在入站过程中,发送设备为终端100,接收设备为卫星网络设备200。终端100可以在向卫星网络设备200发送包括有消息ID字段A为“00”的数据包1后,显示如图25A所示的信息详情界面2500。其中,信息详情界面2500可以包括信息框2501和发送提示2502。其中,信息框2501可以用于显示终端100已经发送给卫星网络设备200 的卫星消息的内容。在此,信息框2501显示有“X(00)”。发送提示2502可以用于提示用户终端100已经向卫星网络设备200发送信息框2501显示的内容。信息详情界面2500的具体描述可以参见图15D所示实施例,在此不再赘述。终端100可以在基于当前消息ID字段A生成数据包后,更新消息ID的值为“01”。

S2403,接收设备基于上下文信息B和数据包1生成鉴权码B,上下文信息B的值为X。

S2404,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i,确定消息ID字段B的值为y1。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包成功。接收设备可以在信息B的值上增加i,即,更新信息B的值为X+i。

接收设备可以基于数据包1的消息ID字段A的值确定出消息ID字段B的值,即确定出消息ID字段 B的值为y1。

S2405,接收设备向发送设备发送成功应用回执失败。

S2406,发送设备更新上下文信息A的值为X+i。

其中,发送设备还可以调整消息ID的值为y1。

示例性的,在入站过程中,终端100可以在收到成功应用回执后,显示如图25B所示的成功提示2511。其中,成功提示2511可以用于提示用户终端100针对信息框2501显示的内容发送成功。信息详情界面2500 的具体描述可以参见图15D所示实施例,在此不再赘述。

S2407,发送设备在基于消息ID、上下文信息A和原始数据得到数据包2,上下文信息A的值为X+i,消息ID的值为y1。

S2408,发送设备将数据包2发送给接收设备,其中,数据包2包括消息ID字段A和鉴权码A。

其中,发送设备将数据包2发送给接收设备后,可以更新消息ID的值为y2。其中,y1和y2不同。

其中,在入站过程中,终端100可以在向卫星网络设备200发送数据包后,显示如图25C所示的信息框2521和发送提示2522。其中,信息框2521可以用于显示终端100已经发送给卫星网络设备200的卫星消息的内容。在此,信息框2521显示有“X+1(00)”。发送提示2522可以用于提示用户终端100已经向卫星网络设备200发送信息框2521显示的内容。信息详情界面2500的具体描述可以参见图15D所示实施例,在此不再赘述。

S2409,接收设备基于上下文信息B和数据包2生成鉴权码B,上下文信息B的值为X+i。

S2410,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+2i,确定消息ID字段B的值为y1。

接收设备可以基于数据包1的消息ID字段A的值确定出消息ID字段B的值,即确定出消息ID字段 B的值为y1。

S2411,接收设备向发送设备发送成功应用回执。

S2412,发送设备更新上下文信息A的值为X+2i。

其中,发送设备还可以调整消息ID的值为y1。

其中,终端100可以在收到成功应用回执后,显示如图25D所示的成功提示信息2531。其中,成功提示信息2531可以用于提示用户终端100向收件人发送信息框2521中的内容成功。其中,成功提示信息2531可以包括但不限于文字提示信息,例如,成功提示信息2531可以包括文字提示信息“发送成功”。

接下来结合场景介绍本申请实施例中可能出现的发送过程中数据丢失的情况。

1.数据包丢失的情况。

当发送设备将数据包发送给接收设备,接收设备没有收到发送设备的数据包时,不影响发送设备和接收设备之间下一个数据包的传输。如图26所示:

S2601,发送设备在基于消息ID、上下文信息A和原始数据得到数据包1,上下文信息A的值为X,消息ID的值为y1。

发送设备可以基于上下文信息A生成鉴权码A。发送设备可以基于存储的消息ID,得到消息ID字段 A。发送设备可以基于消息ID字段A、原始数据和鉴权码A得到数据包1。

S2602,发送设备将数据包1(包括有消息ID字段A和鉴权码A)发送给接收设备失败。

其中,发送设备将数据包1发送给接收设备后,可以更新消息ID的值为y2。其中,y1和y2不同。其中,消息ID的详细描述可以参见上述图21所示实施例,在此不再赘述。

其中,数据包1在发送期间丢失,接收设备未能接收到该数据包1。

S2603,发送设备在基于消息ID、上下文信息A和原始数据得到数据包2,上下文信息A的值为X,消息ID的值为y2。

其中,由于接收设备没能接收到发送设备发送的数据包1,所以没有更新接收设备的上下文信息B。并且接收设备没有向发送设备发送成功应用回执,所以发送设备的上下文信息A的值依旧为X。

S2604,发送设备将数据包2(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包2发送给接收设备后,可以更新消息ID的值为y3。其中,y3和y2不同, y3和y1不同。

其中,数据包2在发送期间丢失,接收设备未能接收到该数据包2。

S2605,发送设备在基于消息ID、上下文信息A和原始数据得到数据包3,上下文信息A的值为X,消息ID的值为y3。

其中,由于接收设备没能接收到发送设备发送的数据包2,所以没有更新接收设备的上下文信息B。并且接收设备没有向发送设备发送成功应用回执,所以发送设备的上下文信息A的值依旧为X。

S2606,发送设备将数据包3(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包3发送给接收设备后,可以更新消息ID的值为y4。其中,y4和y3、y2、y1 都不相同。

示例性的,在入站过程中,终端100可以在将数据包3发送给卫星网络设备200后,显示如图27A所示的信息详情界面2700。其中,信息详情界面2700可以包括信息框2701、信息框2703、信息框2705、发送提示2702、发送提示2704和发送提示2706。其中,信息框2701、信息框2703和信息框2705可以用于显示终端100已经发送给卫星网络设备200的卫星消息的内容。例如,信息框2701显示有用户输入的消息内容“X(00)”,信息框2703显示有用户输入的消息内容“X(01)”,信息框2705显示有用户输入的消息内容“X(10)”。

其中,发送提示2702、发送提示2704和发送提示2706可以用于提示用户终端100已经向卫星网络设备200发送信息框显示的内容。信息详情界面2700的具体描述可以参见图15D所示实施例,在此不再赘述。

S2607,接收设备基于上下文信息B和数据包3生成鉴权码B,上下文信息B的值为X。

S2608,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i,确定消息ID字段B的值为y3。

接收设备确定出鉴权码A和鉴权码B相同,确定出接收数据包3成功。接收设备可以在上下文信息B 的值上增加i,即,更新信息B的值为X+i。

其中,接收设备可以基于数据包3中的消息ID字段A的值,确定出消息ID字段B的值。

S2609,接收设备向发送设备发送成功应用回执。

S2610,发送设备更新上下文信息A的值为X+i。

其中,发送设备可以在收到成功应用回执后,调整发送设备的消息ID的值为y1。这样,发送设备可以基于上下文信息A和消息ID字段A的值共同确认唯一的数据包,可以减少消息ID的长度,节约传输使用的空口资源。

示例性的,在入站过程中,终端100可以在收到成功应用回执后,显示如图27B所示的失败提示信息 2711、失败提示信息2712、和成功提示信息2713。其中,失败提示信息2711可以用于提示用户终端100 向收件人发送信息框2701中的内容失败。失败提示信息2712可以用于提示用户终端100向收件人发送信息框2703中的内容失败。成功提示信息2713可以用于提示用户终端100向收件人发送信息框2705中的内容成功。

其中,上述步骤的具体描述可以参见上述图11所示的实施例,在此不再赘述。

这样,发送设备向接收设备发送数据包时,在发送的过程中该数据包丢失,接收设备没能收到该数据包。但由于发送设备和接收设备的上下文信息都没有更新,所以不会影响后续数据包的传输。

2.应用回执丢失的情况。

当发送设备将多个数据包发送给接收设备,接收设备成功接收该多个数据包中的某个数据包后,可以更新上下文信息B的数值。接收设备还可以基于该成功接收的数据包的消息ID字段A确定出消息ID字段B的值,并向发送设备发送成功应用回执。

接收设备给发送设备发送的成功应用回执在发送过程中丢失,发送设备没能接收到成功应用回执,未更新上下文信息A的值。发送设备将基于未更新的上下文信息A生成的包括鉴权码A的数据包给接收设备。

接收设备可以在确定出鉴权码不同时,基于上下文信息B生成鉴权码C,接收设备在确定出鉴权码A 和鉴权码C相同时,可以确定出发送设备未收到成功应用回执,接收设备可以生成包括消息ID字段B的指示应用回执(可用于指示最近接收成功的数据包),并将该指示应用回执发送给发送设备。

这样,发送设备可以基于指示应用回执确定出发送成功的数据包和发送失败的数据包,并且可以基于指示应用回执更新上下文信息A的值,不会影响后续数据包的传输。具体的,如图28所示:

S2801,发送设备在基于消息ID、上下文信息A和原始数据得到数据包1,上下文信息A的值为X,消息ID的值为y1。

S2802,发送设备将数据包1(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包1发送给接收设备后,可以更新消息ID的值为y2。其中,y1和y2不同。其中,消息ID的详细描述可以参见上述图21所示实施例,在此不再赘述。

其中,数据包1在发送期间丢失,接收设备未能接收到该数据包1。

S2803,发送设备基于消息ID、上下文信息A和原始数据得到数据包2,上下文信息A的值为X,消息ID的值为y2。

其中,由于接收设备没能接收到发送设备发送的数据包1,所以没有更新接收设备的上下文信息B。并且接收设备没有向发送设备发送成功应用回执,所以发送设备的上下文信息A的值依旧为X。

S2804,发送设备将数据包2(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包2发送给接收设备后,可以更新消息ID的值为y3。其中,y3和y2,y1均不同。

S2805,接收设备基于上下文信息B和数据包2生成鉴权码B,上下文信息B的值为X。

S2806,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i,确定消息ID字段B的值为y2。

S2807,接收设备向发送设备发送成功应用回执失败。

其中,成功应用回执在发送期间丢失,发送设备未能接收到该成功应用回执。

S2808,发送设备基于消息ID、上下文信息A和原始数据得到数据包3,上下文信息A的值为X,消息ID的值为y3。

其中,由于发送设备未能接收到接收设备发送的成功应用回执,不能确认数据包2的发送情况,不能更新上下文信息A。所以上下文信息A的值依旧为X。

S2809,发送设备将数据包3(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包3发送给接收设备后,可以更新消息ID的值为y4。其中,y4和y3、y2、y1 都不相同。

示例性的,在入站过程中,终端100可以在将数据包3发送给卫星网络设备200后,显示如图27A所示的信息详情界面2700。其中,信息详情界面2700的详细描述可以参见上述图26所示实施例,在此不再赘述。

S2810,接收设备基于上下文信息B和数据包3生成鉴权码B,上下文信息B的值为X+i。

S2811,接收设备确定出鉴权码A和鉴权码B不同,生成鉴权码C。

接收设备在确定出鉴权码A和鉴权码B不同后,可以基于上下文信息B生成上下文信息C,并基于上下文信息C生成鉴权码C。其中,上下文信息B比上下文信息C大预设值。

S2812,接收设备确定出鉴权码A和鉴权码C相同,生成指示应用回执(包括有指示ID字段B,指示ID字段B的值为y2)。

接收设备在确定出鉴权码A和鉴权码C相同后,可以确定出发送设备的上下文信息A的值和上下文信息B的值不同,接收设备可以基于消息ID字段B生成指示应用回执。其中,消息ID字段B的值为y2,消息ID字段B可以用于指示接收设备最近接收成功的数据包2。

S2813,接收设备给发送设备发送指示应用回执。

S2814,发送设备更新上下文信息A的值为X+i。

发送设备在收到指示应用回执后,可以基于指示应用回执确定出消息ID字段B指示的数据包2发送成功。发送设备可以更新上下文信息A的值为X+i。发送设备还可以将消息ID的值调整为y1。

示例性的,在入站过程中,终端100可以在收到指示应用回执后,显示如图29所示的失败提示信息 2901、成功提示信息2902和失败提示信息2903。其中,失败提示信息2901可以用于提示用户终端100向收件人发送信息框2701中的内容失败。成功提示信息2902可以用于提示用户终端100向收件人发送信息框2703中的内容成功。失败提示信息2903可以用于提示用户终端100向收件人发送信息框2705中的内容失败。

其中,上述步骤的具体描述可以参见上述图11所示的实施例,在此不再赘述。

这样,发送设备可以通过指示应用回执确定发送成功的数据包,并更新上下文信息A的值,发送设备和接收设备可以继续传输后续数据包。

但是,由于消息ID字段A的长度限制,当发送设备发送了多个基于同一个上下文信息A的值生成包括同一个消息ID字段A的数据包时,若发送设备接收到的指示应用回执中的消息ID字段B指示的数据包数据量大于1,发送设备也无法确认数据包的发送情况。如图30所示:

S3001,发送设备在基于消息ID、上下文信息A和原始数据得到数据包1,上下文信息A的值为X,消息ID的值为y1。

S3002,发送设备将数据包1(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包1发送给接收设备后,可以更新消息ID的值为y2。其中,y1和y2不同。其中,消息ID的详细描述可以参见上述图21所示实施例,在此不再赘述。

S3003,接收设备基于上下文信息B和数据包1生成鉴权码B,上下文信息B的值为X。

S3004,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i,确定消息ID字段B的值为y1。

S3005,接收设备向发送设备发送成功应用回执失败。

其中,成功应用回执在发送期间丢失,发送设备未能接收到该成功应用回执。

S3006,发送设备基于消息ID、上下文信息A和原始数据得到数据包2,上下文信息A的值为X,消息ID的值为y2。

其中,由于发送设备没有接收到成功应用回执,所以发送设备的上下文信息A的值依旧为X。

S3007,发送设备将数据包2(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包2发送给接收设备后,可以更新消息ID的值为y3。其中,y3和y2,y1均不同。

S3008,接收设备基于上下文信息B和数据包2生成鉴权码B,上下文信息B的值为X+i。

S3009,接收设备确定出鉴权码A和鉴权码B不同,生成鉴权码C。

接收设备在确定出鉴权码A和鉴权码B不同后,可以基于上下文信息B生成上下文信息C,并基于上下文信息C生成鉴权码C。其中,上下文信息B比上下文信息C大预设值,即,上下文信息C的值为 X。

S3010,接收设备确定出鉴权码A和鉴权码C相同,生成指示应用回执(包括有指示ID字段B,指示ID字段B的值为y1)。

接收设备在确定出鉴权码A和鉴权码C相同后,可以确定出发送设备的上下文信息A的值和上下文信息B的值不同,接收设备可以基于消息ID字段B生成指示应用回执。其中,消息ID字段B的值为y1,消息ID字段B可以用于指示接收设备最近接收成功的数据包1。

S3011,接收设备向发送设备发送指示应用回执失败。

其中,指示应用回执在发送期间丢失,发送设备未能接收到该指示应用回执。

S3012,发送设备基于消息ID、上下文信息A和原始数据得到数据包3,上下文信息A的值为X,消息ID的值为y3。

其中,由于发送设备未能接收到接收设备发送的指示应用回执,不能确认数据包2的发送情况,不能更新上下文信息A。所以上下文信息A的值依旧为X。

S3013,发送设备将数据包3(包括有消息ID字段A和鉴权码A)发送给接收设备失败。

其中,发送设备将数据包3发送给接收设备后,可以更新消息ID的值为y4。其中,y4和y3、y2、y1 都不相同。

其中,数据包3在发送传输过程中丢失,接收设备未能接收到数据包3。

S3014,发送设备基于消息ID、上下文信息A和原始数据得到数据包4,上下文信息A的值为X,消息ID的值为y4。

其中,由于发送设备未能接收到接收设备发送的应用回执,不能确认数据包3的发送情况,不能更新上下文信息A。所以上下文信息A的值依旧为X。

S3015,发送设备将数据包4(包括有消息ID字段A和鉴权码A)发送给接收设备失败。

其中,发送设备将数据包4发送给接收设备后,可以更新消息ID的值为y1。其中,由于发送设备只预设了消息ID的值为y1、y2、y3、y4,所以,当发送设备基于上下文信息A为X生成了大于4个数据包后,发送设备可以在生成并发送了第4个数据包后,更新消息ID字段A的值为y1。

其中,数据包4在发送传输过程中丢失,接收设备未能接收到数据包4。

S3016,发送设备基于消息ID、上下文信息A和原始数据得到数据包5,上下文信息A的值为X,消息ID的值为y1。

其中,由于发送设备未能接收到接收设备发送的应用回执,不能确认数据包4的发送情况,不能更新上下文信息A。所以上下文信息A的值依旧为X。

S3017,发送设备将数据包5(包括有消息ID字段A和鉴权码A)发送给接收设备失败。

其中,发送设备将数据包5发送给接收设备后,可以更新消息ID的值为y2。其中,由于发送设备只预设了消息ID的值为y1、y2、y3、y4,所以,当发送设备基于上下文信息A为X生成了大于4个数据包后,发送设备可以在生成并发送了第5个数据包后,更新消息ID字段A的值为y2。

其中,数据包5在发送传输过程中丢失,接收设备未能接收到数据包4。

S3018,发送设备基于消息ID、上下文信息A和原始数据得到数据包6,上下文信息A的值为X,消息ID的值为y2。

其中,由于发送设备未能接收到接收设备发送的应用回执,不能确认数据包5的发送情况,不能更新上下文信息A。所以上下文信息A的值依旧为X。

S3019,发送设备将数据包6(包括有消息ID字段A和鉴权码A)发送给接收设备。

其中,发送设备将数据包6发送给接收设备后,可以更新消息ID的值为y3。其中,由于发送设备只预设了消息ID的值为y1、y2、y3、y4,所以,当发送设备基于上下文信息A为X生成了大于4个数据包后,发送设备可以在生成并发送了第6个数据包后,更新消息ID字段A的值为y3。

示例性的,在入站过程中,终端100可以在将数据包6发送给卫星网络设备200后,显示如图31A所示的信息详情界面3100。其中,信息详情界面3100可以包括信息框3101、发送提示3102、信息框3103、发送提示3104、信息框3105、发送提示3106、信息框3107、发送提示3108、信息框3109、发送提示3110、信息框3111和发送提示3112。其中,信息框3101、信息框3103、信息框3105、信息框3107、信息框3109 和信息框3111可以用于显示终端100已经发送给卫星网络设备200的卫星消息的内容。例如,信息框3101 显示有用户输入的消息内容“X(00)”,信息框3103显示有用户输入的消息内容“X(01)”,信息框3105 显示有用户输入的消息内容“X(10)”,信息框3107显示有用户输入的消息内容“X(11)”,信息框3109 显示有用户输入的消息内容“X(00)”,信息框3111显示有用户输入的消息内容“X(01)”。

其中,发送提示3102、发送提示3104、发送提示3106、发送提示3108、发送提示3110和发送提示 3106可以用于提示用户终端100已经向卫星网络设备200发送信息框显示的内容。其中,信息详情界面 3100的详细描述可以参见上述图26所示实施例,在此不再赘述。

S3020,接收设备基于上下文信息B和数据包6生成鉴权码B,上下文信息B的值为X+i。

S3021,接收设备确定出鉴权码A和鉴权码B不同,生成鉴权码C。

接收设备在确定出鉴权码A和鉴权码B不同后,可以基于上下文信息B生成上下文信息C,并基于上下文信息C生成鉴权码C。其中,上下文信息B比上下文信息C大预设值,即,上下文信息C的值为 X。

S3022,接收设备确定出鉴权码A和鉴权码C相同,生成指示应用回执(包括有指示ID字段B,指示ID字段B的值为y1)。

接收设备在确定出鉴权码A和鉴权码C相同后,可以确定出发送设备的上下文信息A的值和上下文信息B的值不同,接收设备可以基于消息ID字段B生成指示应用回执。其中,消息ID字段B的值为y1,消息ID字段B可以用于指示接收设备最近接收成功的数据包1。

S3023,接收设备向发送设备发送指示应用回执。

S3024,发送设备更新上下文信息A的值为X+i。

发送设备在收到指示应用回执后,可以更新上下文信息A的值为X+i。

发送设备基于指示应用回执的消息ID字段B,确认出消息ID字段A为y1的数据包接收成功。但是,由于消息ID字段A为y1的数据包包括数据包1和数据包5,所以发送设备无法确定出发送成功的数据包。

示例性的,在入站过程中,终端100可以在收到指示应用回执后,显示如图31B所示的失败提示信息 3111、失败提示信息3112、失败提示信息3113和失败提示信息3114。其中,失败提示信息3111可以用于提示用户终端100向收件人发送信息框3103中的内容失败。失败提示信息3112可以用于提示用户终端100 向收件人发送信息框3105中的内容失败。失败提示信息3113可以用于提示用户终端100向收件人发送信息框3107中的内容失败。失败提示信息3114可以用于提示用户终端100向收件人发送信息框3111中的内容失败。

需要说明的是,由于发送设备无法确认数据包1和数据包5的发送情况,所以依旧显示发送提示3102 和发送提示3110。

其中,上述步骤的具体描述可以参见上述图11所示的实施例,在此不再赘述。

因此,在一种可能的实现方式中,发送设备和接收设备从卫星网络回到蜂窝网络后,接收设备可以向发送设备发送集合应用回执(又称为第二应用回执),集合应用回执可以用于指示接收设备接收成功的数据包。集合应用回执可以包括接收设备接收成功的数据包的标识信息(例如,标识信息可以包括但不限于消息ID字段、数据包的接收时间、上下文信息等等)。发送设备可以基于集合应用回执中的数据包的标识信息确定出发送成功的数据包。

不仅限于上述实施例,本申请还提供了以下实施例,需要说明的是,下述实施例可以和上述任意一个或多个实施例互相结合使用。

在一种可能的实现方式中,发送设备的信息A为上下文信息A,接收设备的信息B为上下文信息B。上下文信息A可以用于指示发送设备发送的数据包的计数值或序列号。上下文信息B可以用于指示接收设备接收的数据包的计数值或序列号。这样,当接收设备接收到重复发送的数据包后,接收的数据包的计数值或序列号改变,接收设备可以更新上下文信息B的值,由于更新后的上下文信息B的值和重复数据包中的上下文信息A的值不同,发送设备无法解析该重复数据包,不会出现重复处理、计费的问题。并且,由于发送设备基于发送的数据包的数量更新上下文信息A的值,就算没有收到接收设备的成功应用回执,也会更新上下文信息A的值,并基于更新后的上下文信息A的值生成新的数据包,不会影响接收设备解析新的数据包。

在一些实施例中,当上下文信息用于指示数据包的计数值。发送设备上下文信息A的初始值比接收设备的上下文信息B的初始值大预设值。发送设备可以基于上下文信息A生成数据包。发送设备可以在将包括有鉴权码A的数据包发送给接收设备后,在上下文信息A的值上增加预设值。接收设备可以在接收到数据包后,在上下文信息B的值上增加预设值。接收设备可以基于上下文信息B生成鉴权码B,并基于鉴权码B确定数据包的接收情况。

例如,上下文信息A和上下文信息B的长度可以为5bit。上下文信息A的初始值可以为“00001”,上下文信息B的初始值可以为“00000”,发送设备可以基于上下文信息A“00001”生成数据包1。发送设备可以在将数据包1发给接收设备后,更新上下文信息A的值为“00010”。接收设备可以在收到数据包1 后,更新上下文信息B的值为“00001”,接收设备可以基于上下文信息B“00001”生成鉴权码B。之后,发送设备可以基于上下文信息A“00010”生成数据包2,并在将数据包2发送给接收设备后,更新上下文信息A的值为“00011”。接收设备可以在收到数据包2后,更新上下文信息B的值为“00010”,接收设备可以基于上下文信息B“00010”生成鉴权码B,以此类推。

这样,接收设备不会出现重复处理的情形。

在一些实施例中,上下文信息用于指示数据包的序列号。发送设备的上下文信息A包括超帧号(hyper frame number,HFN)A和序列号(sequence number)A。发送设备可以基于序列号A生成包括有序列号字段A和鉴权码A的数据包,将数据包在第一传输系统发送至接收设备。接收设备可以基于数据包中的序列号字段A确定出超帧号B的值,并基于序列号字段A和超帧号B得到上下文信息B。接收设备可以基于上下文信息B和数据包生成鉴权码B,并基于鉴权码B确定数据包的接收情况。其中,由于序列号A 字段的数据长度有限,所以序列号字段A的值会随着更新回到初始值。当发送设备更新后的序列号A的值小于更新前的序列号A的值时,发送设备更新超帧号A的值,即,在超帧号A的值上增加预设值。当接收设备收到的序列号字段A的值小于或等于序列号B的值时,接收设备可以更新超帧号B的值,即,在超帧号B的值上增加预设值。接收设备可以在更新超帧号B的值后,更新序列号B的值为序列号字段A 的值。

例如,上下文信息A和上下文信息B的长度可以为5bit。其中,发送设备可以存储有上下文信息A,上下文信息A的初始值可以为“00000”。上下文信息A中的超帧号A为“0000”,序列号A为“0”。接收设备可以存储有上下文信息B,上下文信息B的超帧号B的初始值可以为“0000”,序列号B的初始值小于序列号A的初始值。

发送设备可以生成包括序列号字段A为“0”的数据包1。发送设备可以在向接收设备发送数据包1 后,更新上下文信息A的值为“00001”。接收设备可以在收到数据包1后,基于序列号字段A确定出超帧号B的值不变,依旧为“0000”。接收设备可以更新超帧号B的值为“0”。接收设备可以拼接超帧号B 和序列号字段A得到上下文信息B为“00000”。

之后,发送设备可以基于上下文信息A“00001”生成包括序列号字段A为“1”的数据包2。发送设备可以在向接收设备发送数据包2后,更新上下文信息A的值为“00010”。接收设备可以在收到数据包2 后,基于序列号字段A确定出超帧号B的值不变,依旧为“0000”。接收设备可以更新超帧号B的值为“1”。接收设备可以拼接超帧号B和序列号字段A得到上下文信息B为“00001”。

之后,发送设备可以基于上下文信息A“00010”生成包括序列号字段A为“0”的数据包3。发送设备可以在向接收设备发送数据包3后,更新上下文信息A的值为“00011”。接收设备可以在收到数据包3 后,由于序列号字段A的值“0”小于序列号B的值“1”,接收设备基于序列号字段A“0”确定出超帧号 B的值改变,为“0001”。接收设备可以更新超帧号B的值为“0”。接收设备可以拼接超帧号B和序列号字段A得到上下文信息B为“00010”。以此类推。

这样,当上下文信息用于指示数据包的序列号时,由于接收设备可以基于数据包中的序列号确定超帧号。如果发送设备发送的第1个数据包在发送过程中丢失,接收设备也可以基于发送设备发送的第2个数据包的序列号确定出超帧号,依旧可以成功解析出第2个数据包。

这样,当接收设备未接收到数据包2时,也可以基于数据包3的序列号A,更新超帧号B为“0001”,接收设备可以成功解析数据包3。当发送设备未接收到应用回执时,发送设备可以随着发送数据包更新上下文信息A的值,发送设备可以继续发送下一个数据包。保证接收设备不会处理重复发送的数据包,还可以在数据包丢失、应用回执丢失后,继续传输数据。

其中,终端100和卫星网络设备200获取上下文信息/超帧号的初始值的方式可以参见上述实施例,在此不再赘述。

接下来介绍本申请实施例提供的另一种传输方法的入站流程。

在一种可能的实现方式中,在入站过程中,终端100可以基于第一信息、指定密钥和原始数据生成第一鉴权码。其中,第一信息为第一上下文信息,用于指示第一数据包的序列号。终端100可以基于第一序列号、第一鉴权码、指定密钥和原始数据,得到包括有第一指示信息(又称为第一序列号字段)的第一数据包。终端100可以将第一数据包发送给卫星网络设备200。卫星网络设备200可以在接收到第一数据包后,基于第一序列号字段确定出第二信息,并基于第二信息、指定密钥和第一数据包生成第二鉴权码。其中,第二信息为第二上下文信息,用于指示第一数据包的序列号。卫星网络设备200可以基于第二鉴权码确定第一数据包的接收状态。这样,卫星网络设备200不会出现重复接收同一个数据包的问题,还可以在应用回执/数据包丢失后,继续传输下一个数据包。

图32示出了本申请实施例提供的一种入站传输流程示意图。

S3201,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息。

其中,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息的描述可参见上述图11所示实施例,在此不再赘述。其中,终端100和卫星网络设备200在协商密钥后,都存储有指定密钥。其中,终端100存储有第一信息的第一序列号和第一超帧号。卫星网络设备200存储有第二信息的第二超帧号和第二序列号。第一信息中的第一超帧号的初始值和第二超帧号的初始值相同。第一信息中的第一序列号的初始值大于第二信息中第二序列号的初始值。

S3202,终端100获取原始数据。

S3203,终端100基于指定密钥、原始数据和第一信息生成第一鉴权码。

终端100可以基于存储的第一信息、指定密钥和原始数据通过指定鉴权算法(例如,SM3密码杂凑算法)计算得到第一鉴权码。

S3204,终端100可以基于第一序列号、第一鉴权码和原始数据,得到第一数据包。

其中,终端100的第一信息包括第一超帧号和第一序列号。终端100可以基于第一序列号生成第一指示信息(又称为第一序列号字段)。其中,第一序列号字段的值和第一序列号的值相同。终端100可以拼接第一序列号字段、第一鉴权码和原始数据,得到第一数据包。

在一种可能的实现方式中,终端100还可以使用指定密钥加密拼接在一起的第一鉴权码和原始数据,得到第一数据包。可选的,终端100可以使用指定密钥加密拼接在一起的第一序列号字段、第一鉴权码和原始数据,得到第一数据包。

S3205,终端100向卫星网络设备200发送第一数据包,其中,第一数据包包括第一序列号字段。

其中,终端100可以在向卫星网络设备200发送第一数据包后,更新第一序列号的值。更新后的第一序列号的值和更新前的第一序列号的值不同。可以理解的是,当更新后的第一序列号的值小于更新前的第一序列号的值,终端100可以更新第一超帧号的值。第一信息随着第一序列号的更新而更新。

具体的,终端100可以通过更新第一序列号和第一超帧号更新第一信息的值。第一序列号的值从初始值更新至最大值后,终端100再次更新第一序列号的值为初始值。终端100可以在确定出第一序列号更新后的值小于或等于更新前的第一序列号的值后,更新第一超帧号的值,即,在第一超帧号的值上增加预设值。同理,当第一超帧号的值从初始值更新至最大值后,终端100再次更新第一超帧号的值为初始值,即,更新第一信息的值为初始值。

示例性的,第一信息的长度为5bit,第一超帧号可以为第一信息的头部的4bit,第一序列号可以为第一信息中第一超帧号后的1bit。其中,第一信息的初始值可以为“00000”,即,第一超帧号的初始值为“0000”,第一序列号的初始值为“0”。当终端100向卫星网络设备200发送了基于值为“0”第一序列号生成的第一数据包后。终端100可以更新第一序列号的值为“1”,即,更新第一信息的值为“00001”。

当终端100向卫星网络设备200发送了基于值为“1”的第一序列号生成的第一数据包后。终端100 可以更新第一序列号的值为“0”,终端100确定出第一序列号更新后的值“0”小于更新前的值“1”,更新第一超帧号的值为“0001”,即,更新第一信息的值为“00010”。当终端100向卫星网络设备200发送了基于值为“0”的第一序列号生成的第一数据包后,更新第一序列号的值为“1”,依次类推。

同理,当第一信息的长度为5bit,第一超帧号为第一信息的头部的3bit,第一序列号的长度为第一信息中第一超帧号后的2bit时。其中,第一信息的初始值可以为“00000”,即,第一超帧号的初始值为“000”,第一序列号的初始值为“00”。当终端100向卫星网络设备200发送了基于值为“00”第一序列号生成的第一数据包后。终端100可以更新第一序列号的值为“01”,即,更新第一信息的值为“00001”。

当终端100向卫星网络设备200发送了基于值为“01”的第一序列号生成的第一数据包后。终端100 可以更新第一序列号的值为“10”,即,更新第一信息的值为“00010”。

当终端100向卫星网络设备200发送了基于值为“10”的第一序列号生成的第一数据包后。终端100 可以更新第一序列号的值为“11”,即,更新第一信息的值为“00011”。

当终端100向卫星网络设备200发送了基于值为“11”的第一序列号生成的第一数据包后。终端100 可以更新第一序列号的值为“00”。终端100确定出第一序列号更新后的值“00”小于更新前的值“11”,更新第一超帧号的值为“001”即,更新第一信息的值为“00100”。

综上所述,终端100可以通过更新第一序列号,更新第一信息。

在一种可能的实现方式中,终端100在向接收设备发送第一数据包后,可以显示发送提示信息,发送提示信息可以用于提示用户终端100已经向卫星网络设备200发送该第一数据包。

S3206,卫星网络设备200可以基于第一序列号字段和第二超帧号,确定出第二信息。

其中,卫星网络设备200存储有第二序列号。第二序列号的值为卫星网络设备200接收到的上一个第一数据包的第一序列号字段的值。

在一些实施例中,当卫星网络设备200没有收到终端100的第一数据包时,第二序列号的初始值可以为空值。卫星网络设备200可以预置为判定第二序列号的初始值小于任意值。可选的,卫星网络设备200 预存的第二序列号的初始值小于终端100的第一序列号的初始值。

卫星网络设备200可以判断第一序列号字段的值是否大于第二序列号的值,当卫星网络设备200判定出第一序列号字段的值大于第二序列号的值时,卫星网络设备200可以拼接第二超帧号的值和第一序列号字段的值得到第二信息的值。

当卫星网络设备200判定出第一序列号字段的值小于或等于第二序列号的值时,卫星网络设备200可以更新第二超帧号的值,即,在第二超帧号的值上增加预设值。卫星网络设备200可以拼接更新后的第二超帧号的值和第一序列号字段的值得到第二信息的值。

卫星网络设备200可以在生成第二信息后,基于第一序列号字段的值,调整第二序列号的值。其中,调整后的第二序列号的值等于第一序列号的值。

示例性的,当卫星网络设备200的第二信息的长度为5bit,第二超帧号为第二信息的头部的4bit,第二序列号的长度为第二信息中第二超帧号后的1bit时。卫星网络设备200的第二超帧号的初始值为“0000”。当卫星网络设备200收到第一序列号字段为“0”的第一数据包后,可以确定出第二信息的值为“00000”,第二序列号的值为“0”。

当卫星网络设备200收到第一序列号字段为“1”的第一数据包后,可以基于第二序列号的值和第一序列号字段的值确定出第二信息的值为“00001”,第二序列号的值为“1”。

当卫星网络设备200收到第一序列号字段为“0”的第一数据包后,可以基于第二序列号的值和第一序列号字段的值确定出第二超帧号的值为“0001”,再确定出第二信息的值为“00010”,第二序列号的值为“0”,以此类推。

需要说明的是,若卫星网络设备200没有接收到上述第一序列号为“1”的第一数据包,卫星网络设备200接收到上述第2个第一序列号为“0”的数据包后,由于第二序列号的值等于第一序列号字段的值,卫星网络设备200可以据此确定出第二超帧号的值为“0001”,可以成功接收该第2个第一序列号为“0”的数据包。这样,即使终端100发送的某个数据包在发送过程中丢失,卫星网络设备200也可以成功获取和第一信息对应的第二信息的值。

在一种可能的实现方式中,终端100预存的第一超帧号比卫星网络设备200预存的第二超帧号大预设值,卫星网络设备200预存的第二序列号的初始值大于终端100的第一序列号的最大值。终端100将包括有第一序列号字段的第一数据包发送给卫星网络设备200后,卫星网络设备200可以基于第一序列号字段的值小于第二序列号的值,在第二超帧号的值上增加预设值,让第二超帧号的值和终端100的第一超帧号的值相同。之后,卫星网络设备200可以调整第二序列号的值和第一序列号字段的值相同。

S3207,卫星网络设备200可以基于指定密钥、原始数据和第二信息生成第二鉴权码。

S3208,卫星网络设备200判断第一鉴权码和第二鉴权码是否相同。

卫星网络设备200可以通过比较第一鉴权码和第二鉴权码是否相同,确定第一数据包的接收状态。其中,当第一鉴权码和第二鉴权码相同时,卫星网络设备200可以执行步骤S3209、步骤S3210。

当第一鉴权码和第二鉴权码不同时,卫星网络设备200可以执行步骤S3212。

S3209,卫星网络设备200将原始数据发送给蜂窝网络设备400。

S3210,卫星网络设备200给终端100发送成功应用回执。

S3211,终端100显示成功提示信息。

终端100显示成功提示信息。成功提示信息用于提示用户第一数据包发送成功。

S3212,卫星网络设备200给终端100发送失败应用回执。

可选的,终端100收到失败应用回执后,还可以执行步骤S3213。

S3213,终端100显示失败提示信息。

终端100显示失败提示信息。失败提示信息用于提示用户第一数据包发送失败。

其中,上述步骤的具体描述可以参见上述图12所示实施例,在此不再赘述。

接下来介绍本申请实施例提供的另一种传输方法的出站流程。

在一种可能的实现方式中,在出站过程中,卫星网络设备200可以基于第六信息和原始数据生成第四鉴权码。其中,第六信息为第六上下文信息,可以用于指示第三数据包的序列号。卫星网络设备200可以基于第四序列号字段、第四鉴权码和原始数据,得到包括有第四序列号字段(又称为第六指示信息)的第三数据包。卫星网络设备200可以将第三数据包发送给终端100。终端100可以在接收到第三数据包后,基于第四序列号字段确定出第五信息,并基于第五信息和第三数据包生成第三鉴权码。其中,第五信息为第五上下文信息,用于指示第三数据包的序列号。终端100可以基于第三鉴权码确定第三数据包的接收状态。这样,终端100不会出现重复接收同一个数据包的问题,终端100和卫星网络设备200还可以在应用回执/数据包丢失后,继续传输下一个数据包。

图33示出了本申请实施例提供的一种出站传输流程示意图。

S3301,终端100、卫星网络设备200和蜂窝网络设备400协商第五信息和第六信息。

其中,终端100和卫星网络设备200可以通过蜂窝网络设备400协商得到第六信息和第五信息的初始值。卫星网络设备200存储有第六信息的第四超帧号和第四序列号。终端100存储有第五信息的第三超帧号和第三序列号。第五信息的第三超帧号和第六信息的第四超帧号的初始值相同。第五信息的第三序列号的初始值小于第六信息的第四超帧号的初始值。

S3302,卫星网络设备200接收到蜂窝网络设备400发送的原始数据。

S3303,卫星网络设备200接收到终端100发送的业务请求。

S3304,卫星网络设备200基于原始数据和第六信息生成第四鉴权码。

卫星网络设备200可以基于第六信息和原始数据生成第四鉴权码。

S3305,卫星网络设备200基于第四序列号、原始数据和第四鉴权码,得到第三数据包。

其中,卫星网络设备200的第六信息包括第四序列号和第四超帧号。卫星网络设备200可以基于第四序列号生成第四序列号字段(又称为第六指示信息),第四序列号字段的值和第四序列号的值相同。卫星网络设备200可以拼接第四序列号字段、第四鉴权码和原始数据,得到第三数据包。

S3306,卫星网络设备200向终端100发送第三数据包,其中,第三数据包包括有第四序列号字段。

其中,卫星网络设备200可以在向终端100发送第三数据包后,更新第四序列号的值。更新后的第四序列号的值和更新前的第四序列号的值不同。可以理解的是,当更新后的第四序列号的值小于更新前的第四序列号的值,卫星网络设备200可以更新第四超帧号的值。第六信息随着第四序列号的更新而更新。

具体的,卫星网络设备200可以通过更新第四序列号更新第六信息的值。第四序列号的值从初始值更新至最大值后,卫星网络设备200再次更新第四序列号的值为初始值。卫星网络设备200可以在确定出第四序列号更新后的值小于或等于更新前的第四序列号的值后,更新第四超帧号的值,即,在第四超帧号的值上增加预设值。同理,当第四超帧号的值从初始值更新至最大值后,卫星网络设备200再次更新第四超帧号的值为初始值,即,更新第六信息的值为初始值。

S3307,终端100基于第四序列号字段和第三超帧号,确定出第五信息。

其中,终端100存储有第三序列号。第三序列号的值为终端100接收到的上一个第三数据包的第四序列号字段的值。

在一些实施例中,当终端100没有收到卫星网络设备200的第三数据包时,第三序列号的初始值可以为空值。终端100可以预置为判定第三序列号的初始值小于任意值。可选的,终端100预存的第三序列号的初始值小于卫星网络设备200的第四序列号的初始值。

终端100可以判断第四序列号字段的值是否大于第三序列号的值,当终端100判定出第四序列号字段的值大于第三序列号的值时,终端100可以拼接第三超帧号的值和第四序列号字段的值得到第六信息的值。

当终端100判定出第四序列号字段的值小于或等于第三序列号的值时,终端100可以更新第三超帧号的值,即,在第三超帧号的值上增加预设值。终端100可以拼接更新后的第三超帧号的值和第四序列号字段的值得到第六信息的值。

终端100可以在生成第六信息后,基于第四序列号字段的值,调整第三序列号的值。其中,调整后的第三序列号的值等于第四序列号的值。

在一种可能的实现方式中,卫星网络设备200预存的第三超帧号比终端100预存的第四超帧号大预设值,终端100预存的第三序列号的初始值大于卫星网络设备200预存的第四序列号的最大值。卫星网络设备200将包括有第四序列号字段的第三数据包发送给终端100后,终端100可以基于第四序列号字段的值和第三序列号相同,在第三超帧号的值上增加预设值,让第三超帧号的值和卫星网络设备200的第二超帧号的值相同。之后,终端100可以更新第三序列号的值为第四序列号字段的值。

S3308,终端100基于第三数据包、第五信息,得到第三鉴权码。

S3309,终端100判断第三鉴权码和第四鉴权码是否相同。

终端100可以通过比较第三鉴权码和第四鉴权码是否相同,确定第三数据包的接收状态。其中,当第三鉴权码和第四鉴权码相同时,终端100可以执行步骤S3310、步骤S3311。

当第三鉴权码和第四鉴权码不同时,终端100可以执行步骤S3312。

S3310,终端100显示接收提示信息。

S3311,终端100给卫星网络设备200发送成功应用回执。

S3312,终端100给卫星网络设备200发送失败应用回执。

其中,上述步骤具体描述可以参见上述图13所示实施例,在此不再赘述。

接下来介绍发送设备和接收设备基于序列号传输数据包的流程,具体的,如图34所示:

S3401,发送设备基于上下文信息A(包括序列号A)和原始数据得到数据包1,上下文信息A的值为X||y1,其中,||为拼接符号,序列号A的值为y1。

发送设备可以基于上下文信息A中的序列号A得到序列号字段A。发送设备可以基于上下文信息A 和原始数据生成鉴权码A。发送设备可以基于序列号字段A、鉴权码A和原始数据,得到数据包1。其中,上下文信息A包括序列号A和超帧号A。其中,超帧号A的值为X,序列号A的值为y1。上下文信息A 为超帧号A和序列号A拼接在一起的数据段。

S3402,发送设备将数据包1发送给接收设备,其中,数据包1包括序列号字段A和鉴权码A。

其中,发送设备将数据包1发送给接收设备后,可以更新序列号A的值为y2。其中,y2大于y1。也就是说,发送设备将上下文信息A的值更新为X||y2。

需要说明的是,当序列号A的值只包括y1和y2时,发送设备可以在更新序列号A的值为y2后,再次更新序列号A的值为y1时,在超帧号A的值上增加预设值。

S3403,接收设备基于序列号字段A确定出超帧号B的值后,基于超帧号B、序列号字段A和数据包 1生成鉴权码B,超帧号B的值为X。

接收设备可以基于序列号字段A的值确定超帧号B的值,具体的:接收设备可以在确定出序列号字段 A的值小于或等于序列号B的值时,在超帧号B的值上增加预设值。

其中,接收设备收到第1个发送设备的数据包时,序列号B的值为初始值,其中,序列号B的初始值小于序列号A的初始值。接收设备可以在生成上下文信息B后,更新序列号B的值为序列号A的值。当接收设备接收到发送设备发送的第2个数据包时,序列号B的值和第1个数据包的序列号字段A的值相同。

接收设备可以拼接超帧号B的值和序列号字段A的值,得到上下文信息B为X||y1。接收设备还可以在得到上下文信息B后,更新序列号B的值为序列号字段A的值。其中,具体描述可以参见上述实施例,在此不再赘述。

接收设备可以基于上下文信息B和数据包1的原始数据,生成鉴权码B。在此,超帧号B的值为X,更新后的序列号B的值为y1。更新前的序列号B的值小于y1。

S3404,接收设备确定出鉴权码A和鉴权码B相同,生成成功应用回执。

S3405,接收设备向发送设备发送成功应用回执。

S3406,发送设备基于上下文信息A(包括序列号A)和原始数据得到数据包2,上下文信息A的值为X||y2,序列号A的值为y2。

这样,发送设备和接收设备可以基于指示序列号的上下文信息,解决出现重复接收同一个数据包的问题。

接下来介绍本申请实施例中可能出现的发送过程中数据丢失的情况。

其中,发送设备和接收设备可能在传输过程中出现数据包/成功应用回执丢失的场景,具体的,如图 35所示:

S3501,发送设备基于上下文信息A(包括序列号A)得到数据包1,上下文信息A的值为X||y1,其中,||为拼接符号,序列号A的值为y1。

S3502,发送设备将数据包1发送给接收设备失败,其中,数据包1包括序列号字段A和鉴权码A。

其中,由于数据包1在传输过程中丢失,接收设备没有接收到数据包1。

其中,发送设备将数据包1发送给接收设备后,可以更新序列号A的值为y2。其中,y2大于y1。也就是说,发送设备将上下文信息A的值更新为X||y2。

S3503,发送设备基于上下文信息A(包括序列号A)得到数据包2,上下文信息A的值为X||y2,序列号A的值为y2。

S3504,发送设备将数据包2发送给接收设备,其中,数据包2包括序列号字段A和鉴权码A。

其中,发送设备将数据包2发送给接收设备后,可以更新序列号A的值为y1。由于序列号A的值再次更新为y1,发送设备可以更新超帧号A的值为X+i。也就是说,发送设备将上下文信息A的值更新为 (X+i)||y1。

S3505,接收设备基于序列号字段A确定出超帧号B的值后,基于超帧号B、序列号字段A和数据包 2生成鉴权码B,超帧号B的值为X。

接收设备可以基于序列号字段A的值确定超帧号B的值为X。接收设备可以拼接超帧号B的值和序列号字段A的值,得到上下文信息B为X||y2。接收设备可以基于上下文信息B和数据包2,生成鉴权码 B。

接收设备还可以在得到上下文信息B后,更新序列号B的值为序列号字段A的值。其中,具体描述可以参见上述实施例,在此不再赘述。在此,更新后的序列号B的值为y2。更新前的序列号B的值小于 y1。

S3506,接收设备确定出鉴权码A和鉴权码B相同,生成成功应用回执。

S3507,接收设备向发送设备发送成功应用回执失败。

其中,发送过程中可能出现数据包丢失的情况和应用回执丢失的情况。其中,当发送设备将数据包发送给接收设备,接收设备没有收到发送设备的数据包时,不影响发送设备和接收设备之间下一个数据包的传输。

S3508,发送设备基于上下文信息A(包括序列号A)和原始数据得到数据包3,上下文信息A的值为(X+i)||y1,序列号A的值为y1。

S3509,发送设备将数据包3发送给接收设备失败,其中,数据包3包括序列号字段A和鉴权码A。

其中,由于数据包3在传输过程中丢失,接收设备没有接收到数据包3。

其中,发送设备将数据包3发送给接收设备后,可以更新序列号A的值为y2。也就是说,发送设备将上下文信息A的值更新为(X+i)||y2。

S3510,发送设备基于上下文信息A(包括序列号A)和原始数据得到数据包4,上下文信息A的值为(X+i)||y2,序列号A的值为y2。

S3511,发送设备将数据包4发送给接收设备失败,其中,数据包4包括序列号字段A和鉴权码A。

其中,由于数据包4在传输过程中丢失,接收设备没有接收到数据包4。

其中,发送设备将数据包4发送给接收设备后,可以更新序列号A的值为y1。由于序列号A的值再次更新为y1,发送设备可以更新超帧号A的值为X+2i。也就是说,发送设备将上下文信息A的值更新为 (X+2i)||y1。

S3512,发送设备基于上下文信息A(包括序列号A)和原始数据得到数据包5,上下文信息A的值为(X+2i)||y1,序列号A的值为y1。

S3513,发送设备将数据包5发送给接收设备,其中,数据包5包括序列号字段A和鉴权码A。

其中,发送设备将数据包3发送给接收设备后,可以更新序列号A的值为y2。也就是说,发送设备将上下文信息A的值更新为(X+2i)||y2。

S3514,接收设备基于序列号字段A确定出超帧号B的值后,基于超帧号B、序列号字段A和数据包 5生成鉴权码B,超帧号B的值为(X+i)。

接收设备当前超帧号的值为X,序列号B的值为y2。接收设备确定出序列号字段A的值为y1,y1小于y2。接收设备更新超帧号B的值为X+i。并基于超帧号B的值和序列号字段A的值得到上下文信息B 的值为(X+i)||y1。接收设备基于上下文信息B生成鉴权码B。

当接收设备连续多次未接收到发送设备的数据包时,由于超帧号B可能和超帧号A不一致,导致接收设备之间不能成功接收发送设备的数据包。

在一种可能的实现方式中,当接收设备确认出鉴权码A和鉴权码B不同时,可以调整超帧号B和序列号B的值为初始值。并向发送设备发送失败应用回执。发送设备可以基于失败应用回执,调整上下文信息A的值为初始值。这样,发送设备和接收设备可以基于重置后的上下文信息传输数据包。

S3515,接收设备确定出鉴权码A和鉴权码B不同,重置超帧号B的值为X。

由于接收设备的上下文信息B的值为(X+i)||y1和发送设备生成数据包5使用的上下文信息A“(X+2i) ||y1”不同。所以,鉴权码A和鉴权码B不同。接收设备接收数据包5失败,接收设备可以重置超帧号B 的值为初始值,例如,初始值X。接收设备还可以重置序列号B的值为初始值。

S3516,接收设备向发送设备发送失败应用回执。

接收设备可以在确定出鉴权码A和鉴权码B不同后,生成失败应用回执。失败应用回执用于指示接收设备接收数据包5失败。接收设备将失败应用回执发送给发送设备。

S3517,发送设备重置上下文信息A的值为X||y1。

发送设备可以基于失败应用回执确定出上下文信息A的值和上下文信息B的值不同步。发送设备可以重置上下文信息A的值为初始值,例如,初始值X||y1。

其中,上述步骤的具体描述可以参见图34所示实施例,在此不再赘述。

不仅限于上述实施例,本申请还提供了以下实施例,需要说明的是,下述实施例可以和上述任意一个或多个实施例互相结合使用。

在一种可能的实现方式中,发送设备可以基于重传指示字段、信息A和原始数据,得到包括有鉴权码 A和重传指示字段的数据包。其中,信息A为发送时间信息或上下文信息A。重传指示字段用于指示数据包为重传数据包或新传数据包。接收设备可以基于信息B和数据包,得到鉴权码B。其中,信息B为接收时间信息或上下文信息B。当鉴权码A和鉴权码B不同时,当接收设备基于重传指示字段确定出数据包为新传数据包时,可以向发送设备发送失败应用回执。当接收设备基于重传指示字段确定出数据包为重传数据包时,可以生成鉴权码C。接收设备可以在鉴权码A和鉴权码C相同时,确定出该数据包为接收设备最近接收成功的数据包对应的重传数据包。接收设备给发送设备发送成功应用回执。

这样,由于接收设备在确定出鉴权码B和新传数据包的鉴权码A不同时,确认接收设备接收该新传数据包失败,直接发送失败应用回执。由于接收设备在确定出鉴权码C和重传数据包的鉴权码A相同时,接收设备可以确定出该数据包为最近接收成功的数据包对应的重传数据包,即,接收设备可以确定出发送设备未成功接收最近接收成功的数据包的成功应用回执,接收设备可以再次给发送设备发送成功应用回执。发送设备可以基于成功应用回执确定出重传数据包中的原始数据发送成功,不再执行重传操作,节约卫星网络传输资源。

接下来介绍本申请实施例提供的另一种传输方法的入站流程。

在一种可能的实现方式中,在入站过程中,终端100可以基于第一信息、指定密钥和原始数据生成第一鉴权码。其中,第一信息为发送时间信息或第一上下文信息。终端100可以基于第一重传指示字段(又称为第三指示信息)、第一鉴权码、指定密钥和原始数据,得到第一数据包。终端100可以将第一数据包在第一传输系统下发送给卫星网络设备200。卫星网络设备200可以在接收到第一数据包后,基于第二信息、指定密钥和第一数据包生成第二鉴权码。其中,第二信息为接收时间信息或第二上下文信息。当第一鉴权码和第二鉴权码不同时,卫星网络设备200可以在基于第一重传指示字段确定出第一数据包为重传数据包时,生成临时鉴权码,并在确定出第一鉴权码和临时鉴权码相同时,向终端100发送成功应用回执。这样,卫星网络设备200可以基于成功应用回执通知终端100卫星网络设备200已经成功接收该重传数据包的原始数据,不需要终端100再次重传该数据包。

图36示出了本申请实施例提供的一种入站传输流程示意图。

S3601,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二信息。

其中,终端100、卫星网络设备200和蜂窝网络设备400协商密钥、第一信息和第二超帧号的描述可参见上述图11所示实施例,在此不再赘述。其中,终端100和卫星网络设备200在协商密钥后,都存储有指定密钥。其中,终端100存储有第一信息。卫星网络设备200存储有第二信息,第一信息的初始值和第二信息的初始值相同。

S3602,终端100获取原始数据。

S3603,终端100基于指定密钥、原始数据和第一信息生成第一鉴权码。

终端100可以基于存储的第一信息、指定密钥和原始数据通过指定鉴权算法(例如,SM3密码杂凑算法)计算得到第一鉴权码。

S3604,终端100可以基于第一重传指示字段、第一鉴权码和原始数据,得到第一数据包。

其中,终端100可以拼接第一重传指示字段、第一鉴权码和原始数据,得到第一数据包。

例如,当第一重传指示字段的长度为1bit时,如果第一重传指示字段的值为“0”,该第一重传指示字段可以用于指示第一数据包为新传数据包。如果第一重传指示字段的值为“1”,该第一重传指示字段可以用于指示第一数据包为重传数据包。

在一种可能的实现方式中,终端100可以在接收到用户重发某条卫星消息的输入时,基于该卫星消息生成原始数据和第一重传指示字段。其中,第一重传指示字段用于指示基于该卫星消息的原始数据生成的数据包为重传数据包。

在一种可能的实现方式中,终端100可以检测当前的原始数据和上一个数据包的原始数据是否相同,当终端100确定出当前的原始数据和上一个数据包的原始数据相同时,生成用于指示包括有当前原始数据的数据包为重传数据包的第一重传指示字段。当终端100确定出当前的原始数据和上一个数据包的原始数据不同时,生成用于指示包括有当前原始数据的数据包为新传数据包的第一重传指示字段。

在一种可能的实现方式中,终端100还可以使用指定密钥加密拼接在一起的第一鉴权码和原始数据,得到第一数据包。可选的,终端100可以使用指定密钥加密拼接在一起的第一重传指示字段、第一鉴权码和原始数据,得到第一数据包。

S3605,终端100向卫星网络设备200发送第一数据包,其中,第一数据包包括第一重传指示字段。

在一种可能的实现方式中,终端100在向接收设备发送第一数据包后,可以显示发送提示信息,发送提示信息可以用于提示用户终端100已经向卫星网络设备200发送该第一数据包。

S3606,卫星网络设备200可以基于指定密钥、第一数据包和第二信息生成第二鉴权码。

S3607,卫星网络设备200判断第一鉴权码和第二鉴权码是否相同。

卫星网络设备200可以通过比较第一鉴权码和第二鉴权码是否相同,确定第一数据包的接收状态。其中,当第一鉴权码和第二鉴权码相同时,卫星网络设备200可以执行步骤S3608、步骤S3609。

当第一鉴权码和第二鉴权码不同时,卫星网络设备200可以执行步骤S3611。

S3608,卫星网络设备200将原始数据发送给蜂窝网络设备400。

S3609,卫星网络设备200给终端100发送成功应用回执。

可选的,终端100收到成功应用回执后,还可以执行步骤S3610。

S3610,终端100显示成功提示信息。

终端100在收到卫星网络设备200发送的成功应用回执后,还可以显示成功提示信息。成功提示信息用于提示用户第一数据包发送成功。

S3611,卫星网络设备200基于第一重传指示字段判断第一数据包是否为重传数据包。

当卫星网络设备200基于第一重传指示字段判定出第一数据包为新传数据包时,可以执行步骤S3612。

当卫星网络设备200基于第一重传指示字段判定出第一数据包为重传数据包时,可以执行步骤S3614- 步骤S3616。

S3612,卫星网络设备200给终端100发送失败应用回执。

可选的,终端100收到失败应用回执后,还可以执行步骤S3613。

S3613,终端100显示失败提示信息。

终端100显示失败提示信息。失败提示信息用于提示用户第一数据包发送失败。

S3614,卫星网络设备200基于第二信息得到临时信息。

卫星网络设备200可以在第二信息的值上减少预设值,得到临时信息。

S3615,卫星网络设备200可以基于指定密钥、第一数据包和临时信息生成临时鉴权码。

S3616,卫星网络设备200可以判断第一鉴权码和临时鉴权码是否相同。

当第一鉴权码和临时鉴权码相同时,卫星网络设备200可以执行步骤S3617。

当第一鉴权码和临时鉴权码不同时,卫星网络设备200可以执行步骤S3619。

S3617,卫星网络设备200向终端100发送成功应用回执。

卫星网络设备200确定出第一鉴权码和临时鉴权码相同时,可以确定出卫星网络设备200已经接收到该重传数据包对应的新传数据包。卫星网络设备200可以确认出终端100没有收到用于指示接收设备成功接收该重传数据包对应的新传数据包的成功应用回执,卫星网络设备200可以向终端100发送成功应用回执。该成功应用回执可以用于指示卫星网络设备200成功接收重传数据包的原始数据。

可选的,终端100收到成功应用回执后,还可以执行步骤S3618。

S3618,终端100显示成功提示信息。

终端100在收到卫星网络设备200发送的成功应用回执后,还可以显示成功提示信息。成功提示信息用于提示用户第一数据包发送成功。

S3619,卫星网络设备200给终端100发送失败应用回执。

可选的,终端100收到失败应用回执后,还可以执行步骤S3620。

S3620,终端100显示失败提示信息。

终端100显示失败提示信息。失败提示信息用于提示用户第一数据包发送失败。

其中,上述步骤的具体描述可以参见上述图12所示实施例,在此不再赘述。

接下来介绍本申请实施例提供的另一种传输方法的出站流程。

在一种可能的实现方式中,在出站过程中,卫星网络设备200可以基于第六信息和原始数据生成第四鉴权码。其中,第六信息为发送时间信息或第六上下文信息。卫星网络设备200可以基于第二重传指示字段(又称为第四指示信息)、第四鉴权码和原始数据,得到第三数据包。卫星网络设备200可以将第三数据包在第一传输系统下发送给终端100。终端100可以在接收到第三数据包后基于第五信息和第三数据包生成第三鉴权码。其中,第五信息为接收时间信息或第五上下文信息。当第三鉴权码和第四鉴权码不同时,终端100可以在基于第二重传指示字段确定出第三数据包为重传数据包时,生成临时鉴权码,并在确定出第四鉴权码和临时鉴权码相同时,向卫星网络设备200发送成功应用回执。这样,终端100可以基于成功应用回执通知卫星网络设备200终端100已经成功接收该重传数据包的原始数据,不需要卫星网络设备200 再次重传该数据包。

图37示出了本申请实施例提供的一种出站传输流程示意图。

S3701,终端100、卫星网络设备200和蜂窝网络设备400协商第五信息和第六信息。

其中,终端100和卫星网络设备200协商得到第六信息和第五信息的过程可以参见上述图11所示实施例,在此不再赘述。卫星网络设备200存储有第六信息。终端100存储有第五信息。第五信息的初始值和第六信息的初始值相同。

S3702,卫星网络设备200接收到蜂窝网络设备400发送的原始数据。

S3703,卫星网络设备200接收到终端100发送的业务请求。

S3704,卫星网络设备200基于原始数据和第六信息生成第四鉴权码。

卫星网络设备200可以基于存储的第六信息和原始数据生成第四鉴权码。

S3705,卫星网络设备200基于第二重传指示字段、原始数据和第四鉴权码,得到第三数据包。

其中,卫星网络设备200可以拼接第二重传指示字段、第四鉴权码和原始数据,得到第三数据包。

例如,当第二重传指示字段的长度为1bit时,如果第二重传指示字段的值为“0”,该第二重传指示字段可以用于指示第三数据包为新传数据包。如果第二重传指示字段的值为“1”,该第二重传指示字段可以用于指示第三数据包为重传数据包。

在一种可能的实现方式中,卫星网络设备200可以检测当前的原始数据和上一个数据包的原始数据是否相同,当卫星网络设备200确定出当前的原始数据和上一个数据包的原始数据相同时,生成用于指示包括有当前原始数据的数据包为重传数据包的第一重传指示字段。当卫星网络设备200确定出当前的原始数据和上一个数据包的原始数据不同时,生成用于指示包括有当前原始数据的数据包为新传数据包的第一重传指示字段。

S3706,卫星网络设备200向终端100发送第三数据包,其中,第三数据包包括有第二重传指示字段。

S3707,终端100基于第三数据包、第五信息,得到第三鉴权码。

S3708,终端100判断第三鉴权码和第四鉴权码是否相同。

终端100可以通过比较第三鉴权码和第四鉴权码是否相同,确定第三数据包的接收状态。其中,当第三鉴权码和第四鉴权码相同时,终端100可以执行步骤S3709、步骤S3710。

当第三鉴权码和第四鉴权码不同时,终端100可以执行步骤S3711。

S3709,终端100显示接收提示信息。

S3710,终端100给卫星网络设备200发送成功应用回执。

S3711,终端100基于第二重传指示字段判断第二数据包是否为重传数据包。

当终端100基于第二重传指示字段判定出第一数据包为新传数据包时,可以执行步骤S3712。

当终端100基于第二重传指示字段判定出第一数据包为重传数据包时,可以执行步骤S3713-步骤 S3715。

S3712,终端100给卫星网络设备200发送失败应用回执。

S3713,终端100基于第五信息得到临时信息。

终端100可以在第五信息的值上减少预设值,得到临时信息。

S3714,终端100可以基于指定密钥、第三数据包和临时信息生成临时鉴权码。

S3715,终端100可以判断第四鉴权码和临时鉴权码是否相同。

当第四鉴权码和临时鉴权码相同时,终端100可以执行步骤S3716。

当第四鉴权码和临时鉴权码不同时,终端100可以执行步骤S3717。

S3716,终端100向卫星网络设备200发送成功应用回执。

终端100确定出第四鉴权码和临时鉴权码相同时,可以确定出终端100已经接收到该重传数据包对应的新传数据包。终端100可以确认出卫星网络设备200没有收到用于指示接收设备成功接收该重传数据包对应的新传数据包的成功应用回执,终端100可以向卫星网络设备200发送成功应用回执。该成功应用回执可以用于指示终端100成功接收重传数据包的原始数据。

S3717,终端100给卫星网络设备200发送失败应用回执。

其中,上述步骤具体描述可以参见上述图13所示实施例,在此不再赘述。

接下来结合用于指示数据包的数量信息的上下文信息的方法,介绍包括重传指示字段的数据包的一种传输流程,具体的,如图38所示:

S3801,发送设备基于重传指示字段、上下文信息A和原始数据1得到数据包1,上下文信息A的值为X,重传指示字段的值为z1。

其中,发送设备基于上下文信息A和原始数据1得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据1,得到数据包1。

其中,值为z1的重传指示字段用于指示数据包1为新传数据包。

S3802,发送设备将数据包1(包括重传指示字段和鉴权码A)发送给接收设备。

S3803,接收设备基于上下文信息B和数据包1生成鉴权码B,上下文信息B的值为X。

S3804,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i。

S3805,接收设备将成功应用回执发送给发送设备。

S3806,发送设备更新上下文信息A的值为X+i。

接下来结合用于指示数据包的数量信息的上下文信息的方法,介绍包括重传指示字段的数据包的另一种传输流程,具体的,如图39所示:

S3901,发送设备基于重传指示字段、上下文信息A和原始数据1得到数据包1,上下文信息A的值为X,重传指示字段的值为z1。

其中,发送设备基于上下文信息A和原始数据1得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据1,得到数据包1。

其中,值为z1的重传指示字段用于指示数据包1为新传数据包。

S3902,发送设备将数据包1(包括重传指示字段和鉴权码A)发送给接收设备失败。

由于数据包1在传输过程中丢失,接收设备未能接收到数据包1。

S3903,发送设备基于重传指示字段、上下文信息A和原始数据1得到数据包2,上下文信息A的值为X,重传指示字段的值为z2。

其中,发送设备基于上下文信息A和原始数据1得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据2,得到数据包2。

其中,值为z2的重传指示字段用于指示数据包2为重传数据包。

S3904,发送设备将数据包2(包括重传指示字段和鉴权码A)发送给接收设备。

S3905,接收设备基于上下文信息B和数据包2生成鉴权码B,上下文信息B的值为X。

S3906,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i。

S3907,接收设备将成功应用回执发送给发送设备。

S3908,发送设备更新上下文信息A的值为X+i。

这样,数据包在传输过程中丢失,不会影响发送设备和接收设备传输下一个数据包。

接下来结合用于指示数据包的数量信息的上下文信息的方法,介绍包括重传指示字段的数据包的另一种传输流程,具体的,如图40所示:

S4001,发送设备基于重传指示字段、上下文信息A和原始数据1得到数据包1,上下文信息A的值为X,重传指示字段的值为z1。

其中,发送设备基于上下文信息A和原始数据1得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据1,得到数据包1。

其中,值为z1的重传指示字段用于指示数据包1为新传数据包。

S4002,发送设备将数据包1(包括重传指示字段和鉴权码A)发送给接收设备。

S4003,接收设备基于上下文信息B和数据包1生成鉴权码B,上下文信息B的值为X。

S4004,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i。

S4005,接收设备将成功应用回执发送给发送设备失败。

成功应用回执在传输过程中丢失,发送设备未能接收到成功应用回执。

S4006,发送设备基于重传指示字段、上下文信息A和原始数据1得到数据包2,上下文信息A的值为X,重传指示字段的值为z2。

其中,发送设备基于上下文信息A和原始数据1得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据1,得到数据包2。

其中,值为z2的重传指示字段用于指示数据包2为重传数据包。

S4007,发送设备将数据包2(包括重传指示字段和鉴权码A)发送给接收设备。

S4008,接收设备基于上下文信息B和数据包2生成鉴权码B,上下文信息B的值为X+i。

S4009,接收设备确定出鉴权码A和鉴权码B不同,并且重传指示字段的值为z2,接收设备基于上下文信息B的生成鉴权码C。

当鉴权码A和鉴权码B不同时,接收设备基于重传指示字段确定出数据包2为重传数据包,接收设备在上下文信息B的值上减少预设值,得到上下文信息C为X。接收设备基于上下文信息C生成鉴权码C。

S4010,接收设备确定出鉴权码A和鉴权码C相同,生成成功应用回执。

S4011,接收设备将成功应用回执发送给发送设备。

S4012,发送设备更新上下文信息A的值为X+i。

这样,成功应用回执在传输过程中丢失,接收设备可以在收到重传数据包后,向发送设备再次发送成功应用回执,避免发送设备再次发送该重传数据包。

接下来结合用于指示数据包的数量信息的上下文信息的方法,介绍包括重传指示字段的数据包的另一种传输流程,具体的,如图41所示:

S4101,发送设备基于重传指示字段、上下文信息A和原始数据1得到数据包1,上下文信息A的值为X,重传指示字段的值为z1。

其中,发送设备基于上下文信息A和原始数据1得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据1,得到数据包1。

其中,值为z1的重传指示字段用于指示数据包1为新传数据包。

S4102,发送设备将数据包1(包括重传指示字段和鉴权码A)发送给接收设备。

S4103,接收设备基于上下文信息B和数据包1生成鉴权码B,上下文信息B的值为X。

S4104,接收设备确定出鉴权码A和鉴权码B相同,更新上下文信息B的值为X+i。

S4105,接收设备将成功应用回执发送给发送设备失败。

成功应用回执在传输过程中丢失,发送设备未能接收到成功应用回执。

S4106,发送设备基于重传指示字段、上下文信息A和原始数据2得到数据包2,上下文信息A的值为X,重传指示字段的值为z1。

其中,发送设备基于上下文信息A和原始数据2得到鉴权码A。发送设备拼接重传指示字段、鉴权码 A和原始数据2,得到数据包2。

其中,值为z1的重传指示字段用于指示数据包2为新传数据包。

S4107,发送设备将数据包2(包括重传指示字段和鉴权码A)发送给接收设备。

S4108,接收设备基于上下文信息B和数据包2生成鉴权码B,上下文信息B的值为X+i。

S4109,接收设备确定出鉴权码A和鉴权码B不同,并且重传指示字段的值为z1,接收设备生成失败应用回执。

S4110,接收设备将失败应用回执发送给发送设备。

S4111,发送设备更新上下文信息A的值为X+i。

这样,成功应用回执在传输过程中丢失,接收设备可以在收到新传数据包后,向发送设备再次发送失败应用回执。发送设备可以基于失败应用回执更新上下文信息A的值。

不仅限于上述实施例,本申请还提供了以下实施例,需要说明的是,下述实施例可以和上述任意一个或多个实施例互相结合使用。

在一种可能的实现方式中,发送设备和接收设备从第一传输系统回到第二传输系统后,接收设备可以向发送设备发送集合应用回执,集合应用回执可以用于指示接收设备接收成功的数据包。集合应用回执可以包括接收成功的数据包的标识信息(例如,标识信息可以包括但不限于消息ID字段、数据包的接收时间、上下文信息、序列号SN等等)。发送设备可以基于数据包的标识信息确定出发送成功的数据包。

具体的,在入站过程中,终端100和卫星网络设备200回到第二传输系统后,卫星网络设备200可以生成并向终端100发送集合应用回执。其中,集合应用回执可以包括但不限于接收成功的数据包的消息ID 字段、数据包的接收时间、数据包的上下文信息、数据包的序列号等标识信息中的一种或多种。终端100 可以基于集合应用回执确定出发送成功的数据包和发送失败的数据包。终端100还可以显示发送成功的数据包对应的成功提示信息,成功提示信息可以用于提示用户该成功提示信息对应的卫星消息发送成功。终端100还可以显示发送失败的数据包对应的失败提示信息,失败提示信息可以用于提示用户该失败提示信息对应的卫星消息发送成功。在此,卫星网络设备200生成的集合应用回执又称为第二应用回执。

具体的,在出站过程中,终端100和卫星网络设备200回到第二传输系统后,终端100可以生成并向卫星网络设备200发送集合应用回执。其中,集合应用回执可以包括但不限于接收成功的数据包的消息ID 字段、数据包的接收时间、数据包的上下文信息、数据包的序列号等标识信息中的一种或多种。卫星网络设备200可以基于集合应用回执确定出发送成功的数据包和发送失败的数据包。卫星网络设备200可以删除发送成功的数据包。在此,终端100生成的集合应用回执又称为第四应用回执。

可选的,卫星网络设备200还可以通过第二传输系统重传发送失败的数据包。

不仅限于上述实施例,本申请还提供了以下实施例,需要说明的是,下述实施例可以和上述任意一个或多个实施例互相结合使用。

在一种可能的实现方式中,在入站过程中,终端100还可以在向卫星网络设备200发送第一数据包后,显示第一发送时间提示信息,第一发送时间提示信息可以用于提示用户终端100向卫星网络设备200发送该第一数据包的时间。其中,第一数据包可以包括第一信息生成的第一鉴权码,第一信息可以为发送时间信息或第一上下文信息。

示例性的,终端100可以显示如图43A所示信息详情界面4300,信息详情界面4300可以包括但不限于信息框4301、发送提示4302和发送时间提示4303。信息框4301可以用于显示终端100已经发送给卫星网络设备200的卫星消息的内容。在此,信息框4301显示有“你好”。发送提示4302可以用于提示用户终端100已经向卫星网络设备200发送信息框4301显示的内容,例如,发送提示1543可以为字符串“已发送”。发送时间提示4303可以用于显示终端100将第一数据包发送给卫星网络设备200的时间,例如,“17:23”。其中,信息详情界面4300的具体描述可以参见图15D所示实施例,在此不再赘述。

可选的,终端100还可以在收到成功应用回执后,在显示成功提示信息的同时,显示第二发送时间提示信息,第二发送时间提示信息可以用于提示用户卫星消息发送成功的时间。

示例性的,如图43B所示,终端100可以在收到成功应用回执后,显示成功提示4311和发送时间提示4312。成功提示4311可以用于提示用户终端100已经成功发送信息框4301的消息内容。发送时间提示 4312可以用于提示用户终端100发送卫星消息成功的时间。

可选的,终端100还可以在收到失败应用回执后,在显示失败提示信息的同时,显示第二发送时间提示信息,第二发送时间提示信息可以用于提示用户数据包发送失败的时间。

在一种可能的实现方式中,在出站过程中,终端100还可以在成功接收卫星网络设备200发送的第三数据包后,显示接收提示信息,并显示接收时间提示信息。接收提示信息可以用于提示用户收到一条卫星消息。接收时间提示信息可以用于提示用户收到该卫星消息的时间。

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

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

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

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

终端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的无线通信功能可以通过天线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 fidelity,Wi-Fi) 网络),蓝牙(bluetooth,BT),全球导航卫星系统(globalnavigation satellite system,GNSS),卫星通信模块,调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared, IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

其中,卫星通信模块可用于与卫星网络设备进行通信。在卫星通信系统中,卫星通信模块可以与卫星网络设备200通信,卫星通信模块的可支持与卫星网络设备200之间的数据包传输。例如,当卫星通信系统为北斗通信系统时,卫星网络设备200为北斗网络设备200,卫星通信模块可以与北斗网络设备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包括显示面板。在一些实施例中,终端100可以包括 1个或N个显示屏194,N为大于1的正整数。压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。触摸传感器180K,也称“触控面板”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。

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分离。

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

可以理解的是,以上实施例可以相互组合使用,例如,上述发送设备的信息A为上下文信息A且接收设备的信息B为上下文信息B时,当发送设备和接收设备的上下文信息A和上下文信息B不一致时,发送设备可以将信息A设置为发送时间信息,信息B设置为接收时间信息。这样,发送设备和接收设备可以继续在第一传输系统下进行通信。还需要说明的是,不限于上述提及的组合方式,本申请实施例对该组合方式不做限定。

相关技术
  • 一种基于数据传输系统的数据传输方法、装置及系统
  • 信号传输方法、相关装置及系统
  • 一种多控系统中的信息传输方法、装置及存储介质
  • 一种数据传输方法、系统、切换装置及可读存储介质
  • 用于通过头相关传输函数的线性混合生成头相关传输函数的方法及系统
  • 用于通过头相关传输函数的线性混合生成头相关传输函数的方法及系统
技术分类

06120115605785