一种基于确认方式的北斗数据传输方法
技术领域
本发明涉及一种北斗数据传输方法,属于北斗通信技术领域。
背景技术
北斗卫星系统最初被设计用来进行导航定位服务,但是该系统还包含了一定的数据通信功能,由于传输时延小,通信费用相对其它卫星系统低,北斗卫星已广泛应用于山洪灾害监测预警、水情自动测报、自动气象监测、海洋监测预警等实时信息遥测系统中。这些遥测系统一般由多个负责信息采集的遥测站和一个数据接收中心站组成,遥测站包含的数据采集终端定时采集信息,并通过北斗通信终端发送信息到中心站,由中心站接收后对数据进行统一处理和分析。这些遥测系统的通信网络结构一般如图1所示。北斗通信终端有两种类型,一种是普通型终端,只能进行点对点通信;另一种是指挥型终端,可以下辖最多500个普通型终端,可以进行点对点通信,也可以对下辖终端发送广播(所有下辖终端只要开机,就可以接收到广播数据),以下简称通播。由于指挥型终端的数据处理能力较普通型终端要强,在遥测站点超过50个的系统中,一般遥测站采用普通型终端即可,而中心站会采用指挥型终端,以应付大量的并发数据接收。
在一些采用北斗通信方式的遥测系统中,如果系统中部分或者所有站点的数据对于系统运行非常重要,为确保数据传输的可靠性,往往在遥测站增加另外一套其它类型的通信设备,以便在遥测站通过北斗发送数据失败后通过备用的通信设备重新传输,这就要求中心站在接收到遥测站通过北斗发送的数据后,发送确认给遥测站,以便使遥测站判断是否该启用备用通信设备进行数据重传。
如果系统中需要中心站确认的遥测站点数量较少,可以采用点对点的确认方式,即中心站收到遥测站通过北斗发送的数据后,立即发送一条确认数据给对应的遥测站。但如果系统中需要中心站确认的遥测站点数量较多,采用点对点的方式延时就会很大,并且大大增加通信费用。
北斗卫星主要是设计为军方服务的,目前这些采用北斗卫星通信的遥测系统都归属民用级别,对于民用系统,北斗通信终端的发信频度是受限的,一般普通型终端允许的最大发信频度为每分钟一次,指挥型终端允许的最大发信频度为每十秒一次。即使中心站采用指挥型终端,在一个包含100个遥测站的系统中,如果每个遥测站都要求接收中心站确认,那么采用点对点方式,发送100条确认数据至少需要1000秒。这要求遥测站在发信完毕后不能马上关闭北斗终端电源,而是要等待相当长的时间以接收中心站确认,这样会大大增加遥测站的功耗,降低遥测站电源系统的寿命。此外,北斗通信费用是按报文的条数收取的,由于每条确认数据都是一条单独的报文,因此中心站采用点对点方式发送确认会导致通信费用大幅增加。
发明内容
本发明所要解决的技术问题是在民用北斗通信系统中因通信终端发信频度受限而无法在短时间内对所有遥测终端发送确认的问题,降低通信费用。
为解决上述技术问题,本发明提供一种基于确认方式的北斗数据传输方法,其特征在于,包括以下步骤:
1)在一个由负责数据采集的若干遥测站和一个数据接收中心站组成的信息采集系统中,遥测站和数据接收中心通过北斗卫星进行数据传输,其中数据接收中心采用北斗指挥型终端,而遥测站采用北斗普通型终端,数据接收中心的接收程序采用指挥型终端包含的通播指令(即对所有遥测站北斗终端发送广播)对遥测站发送的数据进行确认;
2)为步骤1)所述的信息采集系统中的每个使用北斗通信终端的遥测站分配一个唯一的通播地址,地址序号从1开始,最大序号为通播报文允许的最大字节数乘以8,也就是说,系统中遥测站的数量不能超过通播报文允许的最大字节数乘以8;
3)中心站接收程序对每个遥测站自报数据的确认状态用一个二进制位表示,1表示接收正确,0表示未接收到自报数据或数据不正确,通播报文数据域总共能容纳的确认状态位等于通播报文数据域允许的最大字节数乘以8,每个遥测站的确认状态位都在通播报文数据域中有相应的位置;
4)中心站对单个遥测站的确认状态位在通播报文数据域中的位置由这个遥测站的通播地址序号决定,具体的计算步骤如下:
假设P1为某遥测站对应的确认状态位在通播报文数据域中的字节位置,P2为该遥测站对应的确认状态位在该字节中位置,N为这个遥测站的通播地址序号,那么
P1=INT((N-1)/8)+1 式(1)
P2=(N-1)mod8 式(2)
式(1)中,INT((N-1)/8)表示先将N-1的值除以8,其结果进行取整后再乘以8,(N-1)mod8表示用N-1的值对8取模;
5)系统中所有的遥测站都采用统一的基准参考时间Ts通过北斗终端自报采集的数据,各遥测站自报的间隔时间可以不同,最小间隔为1分钟;
6)中心站北斗接收程序以遥测站自报的基准参考时间Ts为基准,加上一定的偏置时间To后,按照系统中最小的遥测站自报间隔,扫描所有遥测站最近一次的自报数据情况;如果某遥测站最近一次的自报数据时间和中心站接收计算机当前时间相差超过最小的遥测站自报间隔,则该遥测站对应的确认状态位应置为0,表示中心站未收到该遥测站数据,否则确认状态位置为1;
7)如果中心站接收程序在一次扫描过程中未发现有遥测站自报数据确认状态位置为1,则不发送通播确认,节省通信费用;若扫描过程中发现至少有一个遥测站确认状态位置为1,则发送通播;
8)遥测站在发送完采集数据后,等待中心站发出的通播报文,等待的时间至少大于中心站扫描的偏置时间To;
9)遥测站接收到中心站发出的通播后,根据自身的通播地址,查询通播报文数据域中对应的确认状态位的值,如果为1,遥测站认为自报数据已被中心站成功接收;如果为0,遥测站认为自报数据未被中心站正确接收,启用备用信道重发数据或记录本次发信失败。
本发明所达到的有益效果:
最大限度的节省通信费用:点对点确认方式需要为每一条自报数据发送一条确认,而本专利提出的数据编码方法和时序控制方法实现了在一条北斗报文中由中心站对遥测系统所有的遥测站自报数据的确认,由于北斗通信费用是按通信条数计费的,明显采用本专利提出的方法要比点对点方式更节省通信费用,特别是在系统中多个遥测站进行数据并发时节省的费用更是可观。
消除了民用系统北斗终端发信频度受限的因素:点对点确认方式需要为每一条自报数据发送一条确认,但由于民用系统北斗终端的发信频度受限(最短也需要10秒),因此如果系统中需要等待确认的遥测站数量多,那么中心站发送完所有的确认会消耗很长时间,而遥测站也必须等待足够长的时间以接收中心站的确认,这会增大自身电源消耗。而本专利提出的方法只用一条报文即实现了对所有的遥测站自报数据的确认,因此从本质上避免了发送多条确认所造成的时间消耗以及增大遥测站电源消耗的问题。
附图说明
图1为遥测系统北斗通信网络结构图。
图2为北斗通播报文格式图。
图3为遥测站自报与中心站扫描时序控制图。
具体实施方式
下面结合附图对本发明做进一步说明。
本发明采用一种特殊的数据编码方法和通信时序控制,结合北斗指挥型终端包含的通播功能,在一条北斗数据报文中实现对系统中所有遥测站的自报数据进行确认,以避免点对点确认方式造成的延时过大导致增大遥测站电源功耗的问题,并可以极大节省通信费用。
一种基于确认方式的北斗数据传输方法,包括以下步骤:
1)在一个由负责数据采集的若干遥测站和一个数据接收中心站组成的信息采集系统中,遥测站和数据接收中心通过北斗卫星进行数据传输(图1所示),其中数据接收中心采用北斗指挥型终端,而遥测站采用北斗普通型终端,数据接收中心的接收程序采用指挥型终端包含的通播指令(即对所有遥测站北斗终端发送广播)对遥测站发送的数据进行确认;
2)为1)所述的信息采集系统中的每个使用北斗通信终端的遥测站分配一个唯一的通播地址,地址序号从1开始,最大序号为通播报文允许的最大字节数乘以8(不同厂家北斗指挥型终端的通播报文允许的最大字节数不同,例如国星的YZH-02-01型指挥型终端的最大允许字节数为98,那么系统中通播地址的最大序号为784),也就是说,系统中遥测站的数量不能超过通播报文允许的最大字节数乘以8;
3)中心站接收程序对每个遥测站自报数据的确认状态用一个二进制位表示,1表示接收正确,0表示未接收到自报数据或数据不正确,通播报文数据域总共能容纳的确认状态位等于通播报文数据域允许的最大字节数乘以8,每个遥测站的确认状态位都在通播报文数据域中有相应的位置;
4)中心站对单个遥测站的确认状态位在通播报文数据域中的位置由这个遥测站的通播地址序号决定,具体的计算步骤如下:
假设P1为某遥测站对应的确认状态位在通播报文数据域中的字节位置,P2为该遥测站对应的确认状态位在该字节中位置,N为这个遥测站的通播地址序号,那么
P1=INT((N-1)/8)+1 式(1)
P2=(N-1)mod8 式(2)
式(1)中,INT((N-1)/8)表示先将N-1的值除以8,其结果进行取整后再乘以8,(N-1)mod8表示用N-1的值对8取模,例如N等于15,经过式(1)和式(2)计算后结果为P1等于2,P2等于6,那么该遥测站确认状态位在通播报文数据域中的位置是第2个字节的BIT6;
5)系统中所有的遥测站都采用统一的基准参考时间Ts通过北斗终端自报采集的数据,各遥测站自报的间隔时间可以不同,最小间隔为1分钟;例如遥测站自报数据的基准参考时间设为08:00:00,自报间隔为5分钟,那么遥测站每次自报的时间分别为08:00:00、08:05:00、08:10:00……;
6)中心站北斗接收程序以遥测站自报的基准参考时间Ts为基准,加上一定的偏置时间To后,按照系统中最小的遥测站自报间隔,扫描所有遥测站最近一次的自报数据情况;例如遥测站自报的基准时间为08:00:00,系统中遥测站的最小自报间隔为5分钟,偏置时间设为30秒,那么中心站北斗接收程序每次扫描的时间发生在08:00:30、08:05:30、08:10:30……;如果某遥测站最近一次的自报数据时间和中心站接收计算机当前时间相差超过最小的遥测站自报间隔,则该遥测站对应的确认状态位应置为0,表示中心站未收到该遥测站数据;反之确认状态位应置为1。偏置时间To可根据系统中站点数量进行调整,一般对于一个包含100个遥测站的系统,To不应超过30秒。遥测站自报与中心站扫描时序控制如图3所示。
7)如果中心站接收程序在一次扫描过程中未发现有遥测站自报数据确认状态位应置为1,则不发送通播确认,这样可以节省通信费用;反之若扫描过程中发现至少有一个遥测站确认状态位置为1,则发送通播;
8)遥测站在发送完采集数据后,等待中心站发出的通播报文,等待的时间至少大于中心站扫描的偏置时间To,考虑到中心站计算机处理以及通播传输的延时,等待的时间一般不应超过To+10秒,以节省遥测站的功耗。
9)遥测站接收到中心站发出的通播后,根据自身的通播地址,查询通播报文数据域中对应的确认状态位的值,如果为1,遥测站认为自报数据已被中心站成功接收;如果为0,遥测站认为自报数据未被中心站正确接收,可启用备用信道重发数据或记录本次发信失败。
系统中的所有遥测站和中心站时间同步,遥测站和中心站都分别利用自身包含的普通型终端和指挥型终端进行对时工作。
以上已以较佳实施例公开了本发明,然其并非用以限制本发明,凡采用等同替换或者等效变换方式所获得的技术方案,均落在本发明的保护范围之内。