一种智能北斗路由器的制造方法

文档序号:9250954阅读:764来源:国知局
一种智能北斗路由器的制造方法
【技术领域】
[0001]本发明涉及一种智能北斗路由器。
【背景技术】
[0002]北斗卫星导航定位系统是中国自行研制的全球卫星导航系统,相比与其它卫星导航定位系统(如GPS,GLONASS, GALILEO),除了导航、定位、授时功能外,北斗卫星导航定位系统还具有双向的短报文通信功能。因此,利用北斗卫星导航定位系统可以在没有手机信号的区域为人们提供通信及信息服务。
[0003]由于带有短报文通信功能的北斗模块相对普通通信设备价格昂贵,对于个人用户很难进行广泛推广。因此,允许多个用户同时共用一个北斗模块是一个有效的解决方案,在产品实现上我们把它称为“北斗路由器”(类比3G路由器)。另外,民用北斗的短报文通信功能有很大的限制,比如每分钟只能发送一次,一次最多只能发送100多个字节的数据。因此,在多用户情景中有必要对北斗的短报文通信进行优化,使其具备一定的“智能”优化功會K。

【发明内容】

[0004]本发明所要解决的技术问题是针对上述现有技术提供一种智能北斗路由器,该智能北斗路由器能实现北斗信号和局域网信号之间的转换,同时允许多个用户同时通过局域网使用北斗短报文通信功能。
[0005]本发明解决上述技术问题所采用的技术方案为:一种智能北斗路由器,包括能与北斗卫星进行数据通信的北斗收发模块;其特征在于:还包括与北斗收发模块连接的中心控制模块,与中心控制模块连接的至少能支持AP模式WIFI模块和局域网模块,局域网模块提供有LAN接口,其中中心控制模块能完成长度超过北斗收发模块能发送的短报文长度的长报文的发送和接收。
[0006]所述中心控制模块完成长度超过北斗收发模块能发送的短报文长度的长报文的发送和接收的具体方式为:
[0007]发送端的智能北斗路由器将长报文分割成能够用北斗收发模块和北斗短报文协议发送的多条分包数据,然后再将分解后的多条分包数据通过北斗短报文协议发送给接收端的智能北斗路由器;所述分包数据包括包头和数据正文两部分,其中包头包含的内容有:
[0008]分包标识:用来标识本分包数据为某长报文中的一个分包,不是独立的数据包;
[0009]末包标识:用来标识本分包数据是否是长报文的最后一个分包;
[0010]分包ID:用来指定本分包数据在原长报文所有分包数据中的唯一 ID ;
[0011]所属长报文ID:标明本分包数据属于哪个长报文;
[0012]接收端对收到的分包数据进行缓存,待接收端收到包含有末包标识的分包数据后,根据每个分包数据中的分包ID来确定分包数据的顺序,然后对属于同一个长报文的所有分包数据进行合并;最后根据合并的结果,给发送端返回一条“接收成功”反馈信息或“补包请求”反馈消息,“补包请求”反馈消息包含所属长报文ID、丢失的分包ID ;
[0013]发送端根据收到的反馈消息,如为“补包请求”反馈消息,则将丢失的相应长报文的相应分包数据重新发送给接收端。
[0014]作为改进,发送端和接收端通过通信地址和长报文ID来维护长报文通信链路,保证不同链路的数据不会相互混淆,这里的通信地址为发送端或接收端的ID。
[0015]作为改进,接收端根据分包ID和所属长报文ID来判定是否收到重复的分包数据,如果收到了重复的分包数据,则把重复的分包数据丢弃;发送端与接收端在分包数据传输过程中出现丢包情况有五种:
[0016]第一种,接收端有其它分包数据没有收到,但包含末包标识的分包数据收到,发送端收到接收端发来的“补包请求”反馈消息;
[0017]第二种情况:发送给接收端的包含末包标识的分包数据丢失;
[0018]第三种情况:接收端所有分包数据全部收到,但接收端发送给发送端的反馈消息丢失,发送端没有收到接收端的反馈消息;
[0019]第四种情况:接收端有其它分包数据丢失,但包含末包标识的分包数据收到,接收端给发送端收发送的“补包请求”反馈消息丢失;
[0020]第五种情况:发送端发给接收端的补包数据全部丢失,即发送端发送了补包数据,但接收端一个也没收到;
[0021]针对上述五种丢包情况,通过如下补包机制进行处理:
[0022]针对第一种情况,接收端收到包含末包标识的分包数据后,由此判断发送端针对某一长报文所有的分包数据均发送结束,接收端按照分包合并后的反馈规则,给发送端返回一条反馈消息,反馈消息包含所属长报文ID和丢失的分包ID,发送端收到反馈消息后,根据反馈消息的发送地址(其实是根据这三个keys确定丢失分包。请在另个相应专利说明中做修改。)及其中的所属长报文ID和丢失的分包ID找到该长报文中相应丢失的分包数据,然后再根据反馈消息所在的短报文的发送地址将丢失的分包数据重新发送给接收端;
[0023]针对第二种情况,由于接收端没有收到包含末包标识的分包数据,因此无法判断发送端是否发送结束,也就无法启动分包合并操作,因此不会向发送端发送反馈消息,此时,发送端和接收端会进入互相等待的“死锁”状态,即一一接收端等待发送端的包含末包标识的分包数据,发送端等待接收端的反馈消息,为避免这种死锁状态,在发送端设置定时器解锁机制,即:设置一个60?70秒的定时器,在一个长报文的所有分包数据发送结束后,启动定时器,如果定时器计时结束还没有收到接收端发来的反馈消息,则认为反馈消息在传输中丢失,此时发送端向接收端补发一次包含末包标识的分包数据,然后重新启动定时器,为避免无限循环,定时器重新启动的次数不超过3次;三次重启的定时器计时结束后还没有收到接收端发来的反馈消息时,释放发送端与接收端之间的链路资源,本次通信失败;
[0024]针对第三种情况,发送端针对某一长报文的所有分包数据实际上已经成功传输,但“成功接收”的反馈消息丢失,由于发送端的定时器解锁机制,定时器计时结束后会重发包含末包标识的分包数据,对此,接收端接收到包含末包标识的分包数据后,根据所属长报文ID判定此长报文已接收完毕,则丢弃该分包数据,并发送“成功接收”的反馈消息给发送端;
[0025]针对第四种情况:接收端等待发送端的补包,发送端等待接收端的反馈消息,双方会进入互相等待的“死锁”状态,此时同样通过发送端的定时器解锁机制解决;
[0026]针对第五种情况:接收端一直等待发送端的补包,发送端等待接收端的再次反馈消息,也会进入“死锁”状态,此时同样通过发送端的定时器解锁机制解决。
[0027]再改进,针对第一种情况,接收端设置有超时机制:反复发送3次“补包请求”反馈消息后仍没有收到相应丢失分包数据,则放弃接收该分包数据。
[0028]再改进,针对第三种情况,接收端记录最后一次成功接收到的分包数据中的所属长报文ID,以此判断当前收到的分包数据是否属于最后一次传输的长报文。
[0029]再改进,发送端向某一接收端发送一长报文时,需要临时建立一条长报文传输链路,不同的发送端能同时与同一个接收端之间建立长报文传输链路,即:同一个接收端
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1