一种基于北斗一代卫星短报文通信功能进行长文件传输的方法及系统与流程

文档序号:14993311发布日期:2018-07-20 22:56阅读:4273来源:国知局

本发明涉及基于卫星的通信技术领域,具体涉及基于北斗一代卫星短报文通信功能进行长文件传输的方法及系统。



背景技术:

“北斗一号”是利用地球同步卫星为用户提供快速定位、简短数字报文通信和授时服务的一种全天候、区域性的卫星定位系统。在移动通讯中断的情况下,可以利用北斗短报文系统传输简短的数字报文,广泛应用于救灾、海洋、森林防火等多个领域。但是目前的北斗短报文系统,一次只能限定传输70多个字节的内容,无法传输长报文,文档,音频,视频等文件,而且目前的北斗短报文系统,受发射设备功率,天气等的影响,短报文的发送成功率只有大约97%左右,导致可能丢失短报文的可能。



技术实现要素:

本发明要解决的技术问题是:提出一种基于北斗一代卫星短报文通信功能提升了发送成功率并可进行长文件传输的方法及系统。

本发明为解决上述技术问题提出的技术方案(一)是:一种基于北斗一代卫星短报文通信功能进行长文件传输的方法,包括以下特征步骤:

a、由发送端将待发送文件拆分成若干个小于预设长度的内容段,在每个所述内容段上加上预设数据帧头组成数据包,所述预设数据帧头包含有总包数信息和当前包号信息;

b、将所有待发送的数据包形成一组数据包待发送队列;

c、将所述数据包待发送队列通过卫星转发到接收端;

d、所述接收端在接收到所有数据包后进行拼包处理并生成文件。

进一步的,在所述步骤b中,在发送时,将所述数据包队列进行循环发送,在每发送出一个数据包后将其从所述数据包队列中删除,直至发送队列为空则为发送完毕;

将该被删除的数据包暂存在贮存器中。

进一步的,在所述步骤d中,所述接收端根据所述总包数信息和所有目前所接收到数据包的全部当前包号信息检测出尚未接收到的数据包包号,所述接收端形成一条包含有所述尚未接收到的数据包包号信息的重发请求并通过卫星回传到所述发送端,所述发送端根据所述重发请求进行数据包重发,若需重发的数据包已被删除,则从所述贮存器中提取出该数据包并放回到所述数据包待发送队列中。

进一步的,在所述步骤a中,在进行文件拆分之前还对所述待发送文件进行加密操作;

在所述步骤d中,所述接收端在进行拼包处理后进行解密并生成明文文件。

进一步的,当所述发送端接收到所述重发请求后,通过卫星向接收端反馈回一条用于表示确认收到重发请求的信息。

本发明为解决上述技术问题提出的技术方案(二)是:一种基于北斗一代卫星短报文通信功能进行长文件传输的系统,包括发送端和接收端;

所述发送端包括文件拆分模块、数据包打包模块、数据包发送模块、重发请求处理模块和暂存模块;

所述文件拆分模块适于将待发送文件拆分成若干个小于预设长度的内容段;

所述数据包打包模块适于在每个所述内容段上加上预设数据帧头组成数据包,所述预设数据帧头包含有总包数信息和当前包号信息;

所述数据包发送模块适于将所有待发送的数据包形成一组数据包待发送队列并将所述数据包待发送队列通过卫星转发到接收端,在每发送出一个数据包后将其从所述数据包队列中删除并暂存在所述暂存模块中;

接收端包括数据包接收模块、数据包漏发检测模块、数据包重发请求生成模块和拼包模块;

所述数据包括接收模块适于接收从卫星转发的数据包;

所述数据包漏发检测模块适于根据所述总包数信息和所有目前所接收到数据包的全部当前包号信息检测出尚未接收到的数据包包号信息;

所述数据包重发请求生成模块适于形成一条包含有所述尚未接收到的数据包包号信息的重发请求并通过卫星回传到所述发送端;

所述重发请求处理模块适于根据所述重发请求进行数据包重发处理,在所述数据包待发送队列中增添需重发的数据包,若需重发的数据包已被删除,则从所述贮存器中提取出该数据包并放回到所述数据包待发送队列中;

所述拼包模块适于将接收完全的数据包进行拼包处理并生成文件。

进一步的,所述发送端包括加密模块,所述接收端包括解密模块;

所述加密模块适于对待发送文件在拆分之前进行加密处理并形成密文文件;

所述解密模块适于在所述拼包完成之后进行解密并形成明文文件。

本发明的有益效果是:

本发明通过文件的拆分和整合,能够通过北斗短报文系统传输文本,语音,视频文件。主要优点如下:

1、通过自定义每次报文的数据格式,可以进行文件的拆分和组合,从而使得通过北斗短报文系统发送长文件成为可能。

2、通过包号概念的引入,再发送端和接收端加入了重传机制,客服了北斗短报文系统每次发送成功率不足100%的问题,能够完整的文件传输。

3、发送端进行加密,接收端进行对应的解密,使得文件能够安全传输,能够应用于需要安全传输的系统。

具体实施方式

实施例一

本实施例提供一种基于北斗一代卫星短报文通信功能进行长文件传输的系统,其中包括发送端和接收端。

发送端包括文件拆分模块、数据包打包模块、数据包发送模块、重发请求处理模块和暂存模块。

文件拆分模块适于将待发送文件拆分成若干个小于预设长度的内容段,在本实施例中,内容段的长度小于60个字节。

数据包打包模块适于在每个内容段上加上预设数据帧头组成数据包,预设数据帧头包含有总包数信息和当前包号信息,当然也可以包括用于表示内容有效的头部特征识别字段如“$data”和用于从帧头到内容结束的总长度的长度信息。作为优选的是:数据包的长度不超过78个字节。

数据包发送模块适于将所有待发送的数据包形成一组数据包待发送队列并将数据包待发送队列通过卫星转发到接收端,在每发送出一个数据包后将其从数据包队列中删除并暂存在暂存模块中。

接收端包括数据包接收模块、数据包漏发检测模块、数据包重发请求生成模块和拼包模块。

数据包括接收模块适于接收从卫星转发的数据包。

数据包漏发检测模块适于根据总包数信息和所有目前所接收到数据包的全部当前包号信息检测出尚未接收到的数据包包号信息。

数据包重发请求生成模块适于形成一条包含有尚未接收到的数据包包号信息的重发请求并通过卫星回传到发送端。重发请求如“$bdresend,length,未收到包号1,未收到包号2,未收到包号3,……。”

重发请求处理模块适于根据重发请求进行数据包重发处理,在数据包待发送队列中增添需重发的数据包,若需重发的数据包已被删除,则从贮存器中提取出该数据包并放回到数据包待发送队列中。

拼包模块适于将接收完全的数据包进行拼包处理并生成文件。

可以作为优选的是:发送端包括加密模块,接收端包括解密模块。

加密模块适于对待发送文件在拆分之前进行加密处理并形成密文文件。

解密模块适于在拼包完成之后进行解密并形成明文文件。

实施例二

本实施例提供了一种基于北斗一代卫星短报文通信功能进行长文件传输的方法,包括以下步骤:

a、由发送端将待发送文件拆分成若干个小于预设长度的内容段,本实施例中,内容段的长度小于60个字节。在每个内容段上加上预设数据帧头组成数据包,预设数据帧头包含有总包数信息和当前包号信息,当然也可以包括用于表示内容有效的头部特征识别字段如“$data”和用于从帧头到内容结束的总长度的长度信息。作为优选的是:数据包的长度不超过78个字节。

b、将所有待发送的数据包形成一组数据包待发送队列。

c、将数据包待发送队列通过卫星转发到接收端。

d、接收端在接收到所有数据包后进行拼包处理并生成文件。

可以作为优选的是,在步骤b中,在发送时,将数据包队列进行循环发送,在每发送出一个数据包后将其从数据包队列中删除,直至发送队列为空则为发送完毕,将该被删除的数据包暂存在贮存器中。

可以作为优选的是,在步骤d中,接收端根据总包数信息和所有目前所接收到数据包的全部当前包号信息检测出尚未接收到的数据包包号,接收端形成一条包含有尚未接收到的数据包包号信息的重发请求并通过卫星回传到发送端,重发请求如“$bdresend,length,未收到包号1,未收到包号2,未收到包号3,……。”

发送端根据重发请求进行数据包重发,若需重发的数据包已被删除,则从贮存器中提取出该数据包并放回到数据包待发送队列中。

可以作为优选的是,在步骤a中,在进行文件拆分之前还对待发送文件进行加密操作;

在步骤d中,接收端在进行拼包处理后进行解密并生成明文文件。

可以作为优选的是,当发送端接收到重发请求后,通过卫星向接收端反馈回一条用于表示确认收到重发请求的信息,如“$bdresend,ok”。

如果接收端在设定时长内不能收到该确认收到重发请求的信息,则认为该重发请求已经丢失,将再次发送该重发求。如果接收端收到$bdresend,ok的消息,证明重发请求对方已收到。这样能避免数据丢失。

本发明的不局限于上述实施例,本发明的上述各个实施例的技术方案彼此可以交叉组合形成新的技术方案,另外凡采用等同替换形成的技术方案,均落在本发明要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1