房灵国 薛力群 孟 飞 姜 抒 陈 光 李世萌
(中铁云网信息科技有限公司,北京 101318)
北斗基准站指建设在地面上的位置固定的观测站[1]。北斗基准站利用接收端多数据源的数据为用户提供导航或定位服务,北斗基准站的多数据源并发控制对北斗基准站的通信性能影响巨大。北斗基准站的设置推动了我国精细化导航技术以及高精度技术的发展。北斗基准站的通信性能受很多因素的影响[2-3],北斗基准站的通信性能决定了其对用户的服务水平。
目前,已有很多研究学者针对通信网络的并发传输控制进行研究。赵夙等[4]以满足用户需求为目标,聚合带宽资源,利用自适应网络编码,根据信道状态确定编码分组大小,避免通信过程中存在数据包乱序的情况,以提高用户通信的传输速率。童钊等[5]针对移动边缘计算数据量大、数据安全需求高的特点设定了多约束条件,利用深度强化学习算法实现通信资源分配的目标。该方法在提高数据通信的任务成功执行率的同时还能降低通信能耗。虽然以上2 种方法可以实现数据通信的并发控制,但是并未考虑通信过程中带宽对通信的影响。针对以上2 种方法在数据并发控制中存在的问题,该文着手研究带宽约束下北斗基准站多数据源并发控制方法。
该文利用非均等错误保护方法,在考虑带宽约束条件的情况下,完成北斗基准站通信信道的带宽分配任务。经过带宽分配策略ξ分配后的通信数据如公式(1)所示。
式中:B(Li)为第i个北斗基准站Li的通信数据;Li为北斗基准站。
通过前向冗余纠错方式处理北斗基准站多数据源内包括的冗余数据,如公式(2)所示。
式中:BF(Li)为第i个北斗基准站Li的冗余数据。
在北斗基准站的传输带宽约束下,多数据源的并发通信应该满足公式(3)。
式中:B'为固定时间范围内北斗基准站的可用带宽。
用D表示北斗基准站接收端的数据质量衡量指标,选择最优的带宽分配策略ξ*,令北斗基准站通信中满足带宽约束条件下的D值最高。构建北斗基准站多数据源带宽分配的目标函数,如公式(4)所示。
设多数据源传送时被划分为M个数据包,所划分的每个数据包中包括的增强层数量为N,将每个增强层划分为大小为M×N的块。在带宽约束下,应满足M×N≤B'的条件。用ξ=ξ1,ξ2,…,ξN表示带宽分配策略,根据优先等级差异[6],带宽分配策略应满足ξ1≥ξ2≥…≥ξN的条件。对增强层l来说,利用带宽分配策略为其分配的冗余块用ξl表示,待传送的数据用M(l,ξ)=M-ξl表示。利用带宽分配策略r分配后的N个增强层数据块数量用M=[M(1,ξ),M(2,ξ),…,M(N,ξ)]表示。
设M个多数据源的数据包在传送过程中丢失的数据包数量为q。当待传输的北斗基准站多数据源冗余数据包数量大于q时,利用前向冗余纠错的解码算法对传输的北斗基准站多数据源进行解码恢复[7],此时北斗基准站信道中的最高增强层为g(q)={maxq|ξi≥q},在北斗基准站信道中,首个增强层至g(q)个增强层内的多数据源可以完全恢复。由于前向冗余纠错算法存在错误恢复的情况,因此北斗基准站接收端的实际多数据源传输速率如公式(5)所示。
根据北斗基准站多数据源存在数据丢失情况下的数据质量衡量指标D,当获取分配策略为ξ时,北斗基准站接收端数质量的期望值如公式(6)所示。
式中:P(q,M)为北斗基准站多数据源中M个数据包发送错误的概率。
通过搜寻最优的带宽分配策略,令北斗基准站接收端多数据源的数据质量最高。采用递归迭代下降算法,通过迭代寻优过程搜寻北斗基准站在带宽约束下的最优带宽分配策略。利用所搜寻的最优带宽分配策略传输多数据源,为北斗基准站多数据源并发控制奠定良好的基础。
根据1.1 的带宽分配策略为北斗基准站的通信信道分配带宽,在此基础上,利用任务序列重建算法实现北斗基准站的多数据源并发控制功能。当北斗基准站进行多数据源并发通信时,容易出现相同数据对象的读写冲突以及写写冲突。当北斗基准站数据进行写入操作时,容易导致数据并发执行出现问题。通过北斗基准站多数据源并发控制,避免北斗基准站因访问冲突而导致出现读操作与写操作数据不一致的问题。
利用基于可变周期的任务序列重建的并发控制算法实现北斗基准站的多数据源并发控制功能。将不同数据源提供单表操作的网格服务设置为原子,当用户提出请求时,根据用户提交的Web 服务名,在北斗基准站注册中心搜寻用户提交服务的具体位置,在北斗基准站数据库中存放任务队列信息的表中插入记录。在存放任务队列信息的表格中,当存放的服务内容为多表操作时,将多表操作内容划分为单表原子操作,将完成分解的子服务插入存放分解后子服务的表中。北斗基准站多数据源的并发程序扫描存放分解后子服务的表,分析该表中标记为未完成的任务,判断造成该任务未完成的原因,判断该任务是否存在读写冲突。当该服务存在读写冲突时,分析造成读写冲突的原因是否为多表操作,将该任务划分为多个子服务,将完成分解的子服务插入存放分解后子服务的表A 中。当任务不存在读写冲突时,将其划分为多个子服务,插入存放分解后子服务的表B 中。存放分解后子任务的表A 和表B中包括待执行的全部任务。通过上述过程,完成多数据源并发传输的先期操作,完成先期操作后,利用调度程度来调度北斗基准站多数据源并发传输的任务序列,实现北斗基准站的多数据源并发传输控制功能。
北斗基准站多数据源并发控制的流程如图1 所示。由图1 可知,利用任务序列重建方法实现多数据源并发控制的执行过程如下:分析北斗基准站用户提交的服务请求,将相应Web 服务插入存放任务队列信息的表,将任务队列信息表内的任务分解为原子,将其插入存放子任务的表。判断存放子任务表中的任务是否存在读写冲突,将存在读写冲突的任务再次分解后插入表A 中,将不冲突的任务插入表B 中。表A 中分解后的子任务根据先写后读的操作执行任务,并行执行表B 中北斗基准站多数据源并发传输任务。通过上述过程完成重建任务序列的任务,通过重建后的任务序列完成北斗基准站的多数据源并发控制任务。
图1 北斗基准站多数据源并发控制流程图
在利用并发控制算法完成北斗基准站的多数据源并发控制任务后,利用服务一致法维护北斗基准站多数据源的数据一致性。根据条件函数依赖规则,从北斗基准站传输的多数据源中搜寻给定的条件函数依赖规则的最大一致子集,根据最大一致子集占全部北斗基准站多源数据集的比例确定北斗基准站多数据源的数据一致性。
用θi={θi1,θi2,…,θiL}表示北斗基准站多数据源的数据流内与北斗基准站用户所需服务相应比较数列间的相似度集合。定义北斗基准站多数据源并发传输的条件函数依赖规则如下:在北斗基准站多数据源内,用户所需要的数据类别相应的比较数列间的相似度应大于所设定阈值,北斗基准站多数据源内数据与用户所需数据的相似性函数f(θij)=1。在北斗基准站多数据源内的数据一致性如公式(7)所示。
式中:A为多数据源的数据流数量。
利用局部敏感Hash 算法求解北斗基准站多数据源间的元祖相似度。设用户请求的服务数据为m维的向量a,对北斗基准站多数据源内的随机m维向量b来说,其敏感Hash函数如公式(8)所示。
为了提高一致性度量过程中Hash 函数的准确率,从北斗基准站多数据源中随机选取m维的向量B={b1,b1,…,bm},对向量a与向量B利用Hash 函数,获取0/1 值,利用Hash 函数将向量a转化至长度为w的0/1 串。定义向量a与向量b相似度如公式(9)所示。
式中:s(a,b)为向量a与向量b间的汉明距离。
北斗基准站观测数据具有较高的实时性,北斗基准站观测数据不断到达,实时更新。为了提高一致性度量的实时性,利用数据质量增量方法实现北斗基准站对用户的服务一致。将当前时刻北斗基准站观测数据的一致性[8]作为下一时刻数据一致性的计算依据。当时间为T+1 且北斗基准站观测数据rT+1到达时,计算其数据一致性θ(riT+1),利用数据一致性计算结果获取时间为T+1 时,北斗基准站多数据源数据的一致性,如公式(10)所示。
利用上述过程,通过增量计算方法获取不同时刻北斗基准站的数据一致性。
设置北斗基准站数据的一致性阈值,利用Bernoulli 均匀抽样算法对北斗基准站整体观测数据的多源数据集内的数据一致性进行近似处理。将北斗基准站多数据源的数据划分为Φ个区域,计算满足所设定一致性需求的抽样概率p,选择pΦ个数据源应用于北斗基准站的数据传输。通过上述过程,在保证数据一致性的同时,节省北斗基准站多数据源并发传输的网络资源。根据所确定的抽样概率,北斗基准站在划分的Φ个分区中进行Bernoulli 均匀抽样,在所划分的每个子区域生成1 个位于[0,1]的随机数,当该随机数小于或等于抽样概率时,表示该区域内的数据通过一致性检验,将该区域的北斗基准站观测数据传送至用户端;否则,该区域的北斗观测数据不进行数据传输。
在北斗基准站多数据源的数据通过一致性检验后,对通过一致性检验的数据实施服务跟踪法,维护用户端显示的信息与数据源数据的一致性。利用状态更新估计方法实现北斗基准站的多数据源服务跟踪功能。
设在数据ηi(k)出现的条件下,北斗基准站多数据源内数据的状态更新估计如公式(11)所示。
式中:E为状态更新期望值。
引入全概率公式,将公式(11)转化为公式(12)。
式中:αi(k)为关联概率。
根据1~(k-1)时间段内的观测数据预测时间为k时的观测数据(k|k-1)。当不存在正确观测数据时,i=0,如公式(13)所示。
北斗基准站多数据源的数据目标状态更新估计如公式(14)所示。
式中:K(k)为增益。
从上述过程可以看出,利用状态更新估计方法实现北斗基准站的多数据源数据服务跟踪全面考虑了北斗基准站跟踪门内的全部观测数据,更新观测数据目标状态,保证为用户提供的数据与数据源一致。
为了验证所研究方法对北斗基准站多数据源并发控制的有效性,将该方法应用于某地区的北斗定位导航系统中,该系统设置了148 座北斗基准站。北斗基准站利用北斗卫星观测数据、数据处理中心的数据以及服务数据等多数据源为系统用户提供定位导航服务,北斗定位导航系统利用北斗基准站为周围1 256 km 范围内的用户提供全域覆盖服务以及毫米级的高精度定位和导航服务。
采用该文提出的方法对北斗基准站多数据源的通信信道进行带宽分配,带宽分配结果如图2 所示。
图2 北斗基准站带宽分配
在采用该文提出的方法对北斗基准站的通信信道进行带宽分配前,北斗基准站7个通信信道的通信带宽共为1 400 Kbps。在采用该文提出的方法对北斗基准站通信带宽进行分配后,北斗基准站7 个通信信道带宽总量仍为1 400 Kbps,但是各信道带宽有所变化。由图2 可知,采用该文提出的方法对北斗基准站的多数据源进行并发控制是满足带宽约束条件的。根据北斗基准站的带宽约束设定北斗基准站通信的传输带宽,通过调整并发通信多信道带宽来对北斗基准站多数据源并发控制带宽进行弹性调整。该文提出的方法对通信需求较高的通信信道设置较高的带宽,对带宽需求较低的通信信道就缩减其通信信道,通过带宽约束来满足用户对北斗基准站服务质量的需求。
北斗卫星采集的观测数据从高空传送至地面的北斗基准站,北斗基准站的接收机需要同时接收卫星发射的直接信号以及反射体反射的间接信号,存在多路径效应,易造成多路径偏差值。通过北斗基准站多数据源并发控制方法消除北斗卫星传送观测数据时造成的多路径效应。北斗基准站L1波段以及L2 波段的多路径偏差值需要低于0.4 m。随机从148 座北斗基准站中选取7 座北斗基准站,统计当采用该文提出的方法控制北斗基准站多数据源并发传输时各基准站由多路径效应造成的多路径误差,统计结果如图3 所示。
图3 北斗基准站多路径效应控制结
由图3 可知,当采用该文提出的方法控制北斗基准站多数据源并发传输时,各北斗基准站L1 波段以及L2 波段的多路径效应有所消除,多路径误差均低于0.4 m,可以满足北斗基准站的数据传输需求。采用该文提出的方法对北斗基准站进行多数据源并发控制,北斗基准站的数据质量较高,可以为用户提供高质量的观测数据,从而利用高质量的观测数据来提高北斗定位导航系统用户的服务满意度。
统计采用该文提出的方法对北斗基准站进行多数据源并发控制的数据信息(并发用户数量为500 个的服务结果),随机选取10 个并发用户,服务结果见表1。
表1 北斗基准站服务结果
由表1 可知,当并发用户为500 个时,北斗基准站采用该文提出的方法可以为用户提供所需的定位数据,为用户提供服务的实时性良好。该文提出的方法采用多数据源并发控制技术,当并发用户数量很多时,仍然可以为用户提供高精度的定位服务,满足用户对定位导航的高精度、实时性需求。该文提出的方法可以满足北斗基准站数据源动态可扩展的需求,为北斗定位导航系统用户提供统一的访问接口,服务集成性、可适应性高。通过带宽约束降低数据传输开销,从而满足用户高实时性的定位导航需求。
该文研究了带宽约束下的北斗基准站多数据源并发控制方法,充分考虑带宽约束对北斗基准站通信的影响,利用多数据源并发控制方法提高北斗基准站的通信性能。通过试验验证,当利用该方法控制北斗基准站多数据源并发通信时,北斗基准站的观测数据通信质量较高,多路径误差低,满足北斗基准站的数据质量动态监测需求。