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

一种航迹数据共享方法及系统

文献发布时间:2024-04-18 20:02:18


一种航迹数据共享方法及系统

技术领域

本发明属于分布式信息处理技术领域,更具体地,涉及一种航迹数据共享方法及系统。

背景技术

在海上多平台搜救、海上油井平台区域监控、海上卫星发射平台区域监控等领域,各个平台之间需要共享各自探测到的目标的态势数据。

目前通常采用部署分布式信息处理系统的方式实现各平台之间的态势航迹数据共享,但是海上环境复杂,分布式系统各节点平台由于距离过远、天气恶劣、水下节点设备信息传输困难等原因,通信经常出现时断时通的情况,且通信带宽有限,无法传输大量信息,导致整个分布式系统的信息共享效果较差。

发明内容

针对现有技术的缺陷,本发明的目的在于提供一种航迹数据共享方法及系统,旨在解决现有分布式信息处理系统在带宽有限、链路时断时通的弱通信条件下信息共享效果较差的问题。

为实现上述目的,第一方面,本发明提供了一种航迹数据共享方法,所述方法应用于数据发送方,所述方法包括:

步骤S101,获取目标的当前航迹数据;

步骤S102,查找所述目标的历史航迹数据,若查找到,则基于历史航迹数据预测目标在当前时刻的航迹数据,若目标的当前航迹数据与预测获得的航迹数据之间的距离小于预设距离阈值,则将预设编码作为航迹编码发送至数据接收方,以指示数据接收方基于目标的历史航迹数据预测获得当前航迹数据;

否则,对所述当前航迹数据进行编码处理,获得航迹编码,并将所述航迹编码发送至数据接收方,以使数据接收方基于航迹编码解码获得当前航迹数据。

在一个可选的示例中,对所述当前航迹数据进行编码处理,获得航迹编码,具体包括:

基于各个精度等级与编码位数之间的对应关系,确定数据接收方需求的航迹数据的精度等级对应的编码位数;

基于所述编码位数对所述当前航迹数据进行编码处理,获得所述航迹编码。

在一个可选的示例中,所述精度等级对应的编码位数包括精度等级对应的经度编码位数和纬度编码位数;所述经度编码位数用于控制航迹编码中经度编码的位数;所述纬度编码位数用于控制航迹编码中纬度编码的位数。

在一个可选的示例中,所述预设距离阈值基于数据接收方需求的航迹数据的精度等级对应的距离误差最大值确定。

在一个可选的示例中,所述编码处理具体采用GeoHash算法。

第二方面,本发明提供了一种航迹数据共享方法,所述方法应用于数据接收方,所述方法包括:

步骤S201,接收数据发送方发送的航迹编码;若数据发送方查找到目标的历史航迹数据,且获取到的当前航迹数据与基于历史航迹数据预测获得的当前时刻的航迹数据之间的距离小于预设距离阈值,所述航迹编码为预设编码,否则,所述航迹编码为数据发送方将获取到的目标的当前航迹数据进行编码处理后获得的;

步骤S202,判断所述航迹编码是否为预设编码,若为预设编码,则基于目标的历史航迹数据,预测目标在当前时刻的航迹数据,并将其作为当前航迹数据;否则,对所述航迹编码进行解码处理,获得目标的当前航迹数据。

在一个可选的示例中,所述编码处理是数据发送方基于数据接收方需求的航迹数据的精度等级对应的编码位数进行的;所述精度等级对应的编码位数是数据发送方基于各个精度等级与编码位数之间的对应关系确定的。

在一个可选的示例中,对所述航迹编码进行解码处理,获得目标的当前航迹数据,具体包括:

判断所述航迹编码的位数与数据接收方需求的当前精度等级对应的经度编码位数和纬度编码位数之和是否一致,若一致,则基于当前精度等级对应的经度编码位数和纬度编码位数对所述航迹编码进行解码处理,获得目标的当前经度数据和当前纬度数据;

否则,判断所述航迹编码的位数与数据接收方需求的历史精度等级对应的经度编码位数和纬度编码位数之和是否一致,若一致,则基于历史精度等级对应的经度编码位数和纬度编码位数对所述航迹编码进行解码处理,获得目标的当前经度数据和当前纬度数据。

第三方面,本发明提供了一种航迹数据共享系统,所述系统应用于数据发送方,所述系统包括:

航迹数据获取模块,用于获取目标的当前航迹数据;

航迹编码发送模块,用于查找所述目标的历史航迹数据,若查找到,则基于历史航迹数据预测目标在当前时刻的航迹数据,若目标的当前航迹数据与预测获得的航迹数据之间的距离小于预设距离阈值,则将预设编码作为航迹编码发送至数据接收方,以指示数据接收方基于目标的历史航迹数据预测获得当前航迹数据;否则,对所述当前航迹数据进行编码处理,获得航迹编码,并将所述航迹编码发送至数据接收方,以使数据接收方基于航迹编码解码获得当前航迹数据。

第四方面,本发明提供了一种航迹数据共享系统,所述系统应用于数据接收方,所述系统包括:

航迹编码接收模块,用于接收数据发送方发送的航迹编码;若数据发送方查找到目标的历史航迹数据,且获取到的当前航迹数据与基于历史航迹数据预测获得的当前时刻的航迹数据之间的距离小于预设距离阈值,所述航迹编码为预设编码,否则,所述航迹编码为数据发送方将获取到的目标的当前航迹数据进行编码处理后获得的;

航迹编码处理模块,用于判断所述航迹编码是否为预设编码,若为预设编码,则基于目标的历史航迹数据,预测目标在当前时刻的航迹数据,并将其作为当前航迹数据;否则,对所述航迹编码进行解码处理,获得目标的当前航迹数据。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:

本发明提供一种航迹数据共享方法及系统,通过采用航迹预测方法,若目标的当前航迹数据与预测获得的航迹数据之间的距离在一定范围内,数据发送方只需要将预设编码发送至数据接收方,在保证数据共享内容完整性和可靠性的情况下,减少航迹数据发送的频率,降低通信资源的消耗;采用数据编码方法,在提高数据传输的安全性的同时,降低了数据通信量;保证了弱通信条件下分布式系统下信息共享效果,提升了态势航迹数据共享的效率,实现高效利用有限的通信资源。

附图说明

图1是本发明实施例提供的航迹数据共享方法的流程示意图之一;

图2是本发明实施例提供的航迹数据共享方法的流程示意图之二;

图3是本发明实施例提供的航迹数据共享方法数据发送方流程图;

图4是本发明实施例提供的航迹数据共享方法数据接收方流程图;

图5是本发明实施例提供的航迹数据共享系统的架构图之一;

图6是本发明实施例提供的航迹数据共享系统的架构图之二。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种航迹数据共享方法,图1是本发明实施例提供的航迹数据共享方法的流程示意图之一,如图1所示,所述方法应用于数据发送方,所述方法包括:

步骤S101,获取目标的当前航迹数据;

步骤S102,查找所述目标的历史航迹数据,若查找到,则基于历史航迹数据预测目标在当前时刻的航迹数据,若目标的当前航迹数据与预测获得的航迹数据之间的距离小于预设距离阈值,则将预设编码作为航迹编码发送至数据接收方,以指示数据接收方基于目标的历史航迹数据预测获得当前航迹数据;否则,对所述当前航迹数据进行编码处理,获得航迹编码,并将所述航迹编码发送至数据接收方,以使数据接收方基于航迹编码解码获得当前航迹数据。

进一步地,本发明提供的方法可以部署在分布式系统的每一个节点上,每一个节点均可以作为数据发送方和数据接收方;数据接收方表示的是分布式系统中接收外部共享数据的节点,数据发送方表示的是分布式系统中对外提供共享数据的节点。此处,分布式系统的应用场景例如可以是海上多平台搜救、海上油井平台区域监控、海上卫星发射平台区域监控等,本发明实施例对此不作具体限定。

另外,本发明实施例仅需保证数据发送方和数据接收方采用相同的航迹预测方法即可,对于航迹预测所采用的具体方法也不作具体限定,例如可以是卡尔曼滤波、粒子滤波等算法。历史航迹数据即在当前时刻之前的历史时刻的目标的航迹数据。

需要说明的是,常用的编码方法通常有几十位编码数据需要发送,而本发明实施例通过判断获取到的目标的当前航迹数据与预测获得的航迹数据之间的距离,若在一定范围内,数据发送方只需要将预设编码发送至数据接收方,数据接收方接收到该编码之后直接根据之前保存的历史航迹数据进行航迹预测,从而极大节省了数据发送方与数据接收方之间的通信资源。

可以理解的是,预设编码不用包含航迹经纬度数据,位数可以设置较短,最多不超过十位。预设编码只是起到指示数据接收方采用航迹预测的方式进行航迹位置补点的作用,预设编码的位数越少,就越节省通信资源,因此,作为优选,预设编码的位数为一,可以取0或1。

若未查找到目标的历史航迹数据,或者目标的当前航迹数据与预测获得的航迹数据之间的距离大于或等于预设距离阈值,则对当前航迹数据进行编码处理,再将编码得到的航迹编码发送至数据接收方,从而在提高数据传输的安全性的同时,也降低了数据通信量。

本发明实施例提供的方法,通过采用航迹预测方法,若目标的当前航迹数据与预测获得的航迹数据之间的距离在一定范围内,数据发送方只需要将预设编码发送至数据接收方,在保证数据共享内容完整性和可靠性的情况下,减少航迹数据发送的频率,降低通信资源的消耗;采用数据编码方法,在提高数据传输的安全性的同时,降低了数据通信量;保证了弱通信条件下分布式系统下信息共享效果,提升了态势航迹数据共享的效率,实现高效利用有限的通信资源。

基于上述实施例,对所述当前航迹数据进行编码处理,获得航迹编码,具体包括:

基于各个精度等级与编码位数之间的对应关系,确定数据接收方需求的航迹数据的精度等级对应的编码位数;

基于所述编码位数对所述当前航迹数据进行编码处理,获得所述航迹编码。

进一步地,数据发送方和数据接收方预先配置好相同的精度等级表,包括各个精度等级与编码位数之间的对应关系,可以用于查询数据接收方需求的航迹数据的精度等级对应的编码位数;并且数据发送方和数据接收方可以设置默认精度等级,如果接收到数据接收方发送来的精度等级,则更新精度等级,如果没有接收到数据接收方发送来的精度等级,则保持默认精度等级。精度等级用于表征数据接收方所需求航迹数据的精度的高低。

需要说明的是,原来的航迹数据共享方法通常只有一个默认的精度等级,而本发明实施例考虑到某些节点不需要太高的航迹数据精度,例如警戒节点只需要获知目标的大概位置,这样就可以按照数据接收方需求的航迹数据的精度等级,降低二进制编码的位数,以节省通信资源,避免弱通信条件下通信资源不够的问题。

基于上述任一实施例,所述精度等级对应的编码位数包括精度等级对应的经度编码位数和纬度编码位数;所述经度编码位数用于控制航迹编码中经度编码的位数;所述纬度编码位数用于控制航迹编码中纬度编码的位数。

具体地,数据发送方可以根据经度编码位数先对当前航迹数据中经度数据进行编码,获得经度编码,再根据纬度编码位数对当前航迹数据中纬度数据进行编码,获得纬度编码,从而将经度编码和纬度编码组合成航迹编码。数据接收方在接收到该航迹编码后,可以先根据经度编码位数截取航迹编码中的经度编码进行解码获得经度数据,再对剩余的纬度编码进行解码获得纬度数据。

基于上述任一实施例,所述预设距离阈值基于数据接收方需求的航迹数据的精度等级对应的距离误差最大值确定。

进一步地,精度等级表还包括各个精度等级与距离误差最大值之间的对应关系,可以用于查询数据接收方需求的航迹数据的精度等级对应的距离误差最大值。航迹经纬度数据的精度要求不同,所换算出来的距离误差最大值也会不同,再乘以权重进行收敛处理,获得最终的预设距离阈值,从而保证航迹数据的准确性。

基于上述任一实施例,所述编码处理具体采用GeoHash算法。

需要说明的是,在降低数据通信量方面,数据压缩方法是一个重要手段,常用文本数据压缩方法有Huffman编码、算术编码、游程编码、LZ编码,此类压缩算法针对的都是大数据量的文本数据压缩,而分布式系统中目标态势数据传输实时性要求比较高,短时间内需要传输的数据量不多,采用上面的方法压缩效率很低。还有其它的预测编码和变化编码多用于语音、图像以及视频数据,不适用于目标态势数据的压缩。

对此,本发明实施例采用GeoHash算法对当前航迹数据进行编码处理,GeoHash算法适用于结构化的目标数据,降低了数据通信量,压缩效率也更高。

基于上述任一实施例,本发明提供一种航迹数据共享方法,图2是本发明实施例提供的航迹数据共享方法的流程示意图之二,如图2所示,所述方法应用于数据接收方,所述方法包括:

步骤S201,接收数据发送方发送的航迹编码;若数据发送方查找到目标的历史航迹数据,且获取到的当前航迹数据与基于历史航迹数据预测获得的当前时刻的航迹数据之间的距离小于预设距离阈值,所述航迹编码为预设编码,否则,所述航迹编码为数据发送方将获取到的目标的当前航迹数据进行编码处理后获得的;

步骤S202,判断所述航迹编码是否为预设编码,若为预设编码,则基于目标的历史航迹数据,预测目标在当前时刻的航迹数据,并将其作为当前航迹数据;否则,对所述航迹编码进行解码处理,获得目标的当前航迹数据。

特殊地,如果预设编码的位数为一,则可以直接通过判断航迹编码的位数是否为一,来判断航迹编码是否为预设编码。

本发明实施例提供的方法,通过采用航迹预测方法,若目标的当前航迹数据与预测获得的航迹数据之间的距离在一定范围内,数据发送方只需要将预设编码发送至数据接收方,在保证数据共享内容完整性和可靠性的情况下,减少航迹数据发送的频率,降低通信资源的消耗;采用数据编码方法,在提高数据传输的安全性的同时,降低了数据通信量;保证了弱通信条件下分布式系统下信息共享效果,提升了态势航迹数据共享的效率,实现高效利用有限的通信资源。

基于上述任一实施例,所述编码处理是数据发送方基于数据接收方需求的航迹数据的精度等级对应的编码位数进行的;所述精度等级对应的编码位数是数据发送方基于各个精度等级与编码位数之间的对应关系确定的。

基于上述任一实施例,考虑到数据接收方需求的航迹数据的精度等级如果更新了,数据接收方需要将更新的精度等级发送给数据发送方,但由于通信存在时延和时序问题,有可能数据发送方还没有接收到就已经进行了编码处理,这时编码位数可能就会存在和历史精度等级对应的编码位数一致的情况。

对此,本发明实施例中对所述航迹编码进行解码处理,获得目标的当前航迹数据,具体包括:

判断所述航迹编码的位数与数据接收方需求的当前精度等级对应的经度编码位数和纬度编码位数之和是否一致,若一致,则基于当前精度等级对应的经度编码位数和纬度编码位数对所述航迹编码进行解码处理,获得目标的当前经度数据和当前纬度数据;

否则,判断所述航迹编码的位数与数据接收方需求的历史精度等级对应的经度编码位数和纬度编码位数之和是否一致,若一致,则基于历史精度等级对应的经度编码位数和纬度编码位数对所述航迹编码进行解码处理,获得目标的当前经度数据和当前纬度数据。

基于上述任一实施例,针对现有技术的缺陷和技术需求,本发明的目的在于提供一种弱通信条件下态势数据按需共享方法,方法主要针对的共享数据为目标航迹数据的经纬度信息,根据不同的精度需求,传输不同精度的航迹经纬度数据。本发明一方面通过设计合理有效的共享数据编码方法,降低共享数据通信内容,另一方面采用航迹预测方法,在保证数据共享内容完整性和可靠性的情况下,减少目标经纬度数据发送的频率,降低通信资源的消耗。本发明不涉及数据的解析、组包、通信等接收发送流程,本发明的提到的数据输入输出模块,其负责数据的接收,解析,组包,对外发送等,为本发明提供输入数据和接收本发明输出的数据。且假设本发明待处理的目标数据已经被准备好,可以直接获取。本发明提到的经纬度单位均为度,距离误差单位均为米。

本发明方法是一种弱通信条件下态势数据按需共享方法,方法部署在分布式系统的每一个节点上。本发明提供了一种弱通信条件下态势数据按需共享方法,包括数据接收方和数据发送方两个部分。其中数据接收方表示的是分布式系统中接收外部共享数据的节点,数据发送方表示的是分布式系统中对外提供共享数据的节点。

图3是本发明实施例提供的航迹数据共享方法数据发送方流程图,如图3所示,其中数据发送方方法步骤如下:

第S1步设置精度等级表:根据GeoHash算法的精度表创建精度等级信息表M,M={(i,DisErr_i,Lon_i,Lat_i)|i=1,2,3,…,N,N≤8},其中i表示精度等级,N表示最大精度等级,建议不超过8,否则位数太高,Lon_i表示第i级精度等级对应的经度经过二进制编码后的位数,Lat_i表示第i级精度等级对应的纬度经过二进制编码后的位数,DisErr_i表示第i级精度等级对应的距离误差最大值,M的取值可以根据经纬度的编码方法来设置。M的创建与数据接收方配置保持一致。设置默认发送的精度等级z,1≤z≤N,称为精度保障等级,z主要依据分布式系统中数据发送方的融合处理结果精度的分布来设置,z设置的值与数据接收方的精度需求等级保持一致,设置当前发送数据的精度等级为k,赋值k=z。本发明中采用GeoHash中二进制编码方法实现浮点数经纬度信息到二进制编码之间的转换,M建议创建为

{(1,2400,13,12),(2,610,15,15),(3,76,18,17),

(4,19,20,20),(5,5,23,22),(6,0.6,25,25)}

N=6,z建议设置为2。

第S2步更新精度等级:如果接收到数据接收方发送来的精度等级记为u,1≤u≤N,则更新k=u。

第S3步获取待发送数据:如果获取到待发送目标TrkTgt的位置信息,包括时间记为tgt_time、经度记为tgt_lon、纬度记为tgt_lat,则执行第S4步,否则执行第S2步。

第S4步查找精度等级信息:根据精度等级k,在M查找对应的精度等级信息,记为(k,DisErr_k,Lon_k,Lat_k)。

第S5步根据航迹预测结果判定是否需要进行编码:采用基于卡尔曼滤波的航迹预测方法,利用历史的非预测点数据,预测目标TrkTgt在tgt_time时刻的经纬度信息,分别记为tgt_lon_y和tgt_lat_y,计算位置点(tgt_lon、tgt_lat)和位置点(tgt_lon_y、tgt_lat_y)之间的距离,记为Dis,如果Dis<c*DisErr

第S6步数据编码:采用GeoHash中二进制编码方法将tgt_lon转换为位数为Lon_k的二进制编码Code_Lon,将tgt_lat转换为位数为Lat_k的二进制编码Code_Lat,将Code_Lat接在Code_Lon的后面,组合成经纬度信息的二进制编码Code_Pos,其位数为Lon_k+Lat_k。

第S7步发送经纬度信息:将经纬度信息的二进制编码Code_Pos提供给数据输入输出模块,用于对外发送。返回执行第S2步。

图4是本发明实施例提供的航迹数据共享方法数据接收方流程图,如图4所示,其中数据接收方方法步骤如下:

第T1步设置精度等级表:创建精度等级信息表M,M={(i,DisErr_i,Lon_i,Lat_i)|i=1,2,3,...,NN≤8},其中i表示精度等级,N表示最大精度等级,不超过8,Lon_i表示第i级精度等级对应的经度经过二进制编码后的位数,Lat_i表示第i级精度等级对应的纬度经过二进制编码后的位数,DisErr_i表示第i级精度等级对应的距离误差最大值,M的取值可以根据经纬度的编码方法来设置,M的创建与数据发送方配置保持一致。设置默认需要的精度等级z,1≤z≤N,简称为精度需求等级,z主要依据分布式系统中数据提供节点的融合处理结果精度的分布来设置,z设置的值与数据发送方的精度保障等级保持一致。设置当前需要数据发送方发送数据的精度等级为k,赋值k=z。本发明中采用GeoHash中二进制编码方法实现浮点数经纬度信息到二进制编码之间的转换,M建议创建为

M={(1,2400,13,12),(2,610,15,15),(3,76,18,17),(4,19,20,20),(5,5,23,22),(6,0.6,25,25)}

N=6,z建议设置为2。

第T2步对外发送精度等级:记当前需要的数据发送方发送数据的精度等级为s,1≤s≤N,如果s≠k,则记录历史精度等级为k′,赋值k′=k,赋值k=s,并对外发送新的精度等级k。

第T3步接收数据:接收到目标TrkTgt的位置信息,包括时间记为tgt_time、经纬度二进制编码记为Code_Pos,Code_Pos的位数为P。

第T4步判定数据解码方式:如果P=1,则执行第T5步;否则,根据精度等级k,在M查找对应的精度等级信息,记为(k,DisErr_k,Lon_k,Lat_k),并执行第T6步。

第T5步航迹预测补点:采用基于卡尔曼滤波的航迹预测方法,利用历史非预测点数据,预测目标TrkTgt在tgt_time时刻的经纬度信息,经度记为tgt_lon、纬度记为tgt_lat,执行第T10步。

第T6步判定是否利用当前设置精度等级解码:如果P≠Lon_k+Lat_k,则根据精度等级k′,在M查找对应的精度等级信息,记为(k′,DisErr_k′,Lon_k′,Lat_k′),并执行第T8步;否则执行第T7步。

第T7步利用当前设置精度等级解码:从Code_Pos中取出前Lon_k位作为经度的二进制编码Code_Lon,取出后Lat_k作为纬度的二进制编码Code_Lat,采用GeoHash中二进制编码反解方法算出经纬度的区间范围,计算出区间中心值作为目标TrkTgt的经纬度信息,经度记为tgt_lon、纬度记为tgt_lat,执行第T10步。

第T8步判定是否利用历史设置精度等级解码:如果P≠Lon_k′+Lat_k′,则执行第T2步;否则执行第T9步。

第T9步利用历史设置精度等级解码:从Code_Pos中取出前Lon_k′位作为经度的二进制编码Code_Lon,取出后Lat_k′作为纬度的二进制编码Code_Lat,采用GeoHash中二进制编码反解方法算出经纬度的区间范围,计算出区间中心值作为目标TrkTgt的经纬度信息,经度记为tgt_lon、纬度记为tgt_lat,执行第T10步。

第T10步输入目标经纬度信息:将经纬度信息tgt_time、tgt_lon、tgt_lat提供给数据输入输出模块使用,执行第T2步。

本发明提供的弱通信条件下态势数据按需共享方法,是一种在带宽有限、链路时断时通的弱通信条件下,采取按照位置精度需求进行编码以及航迹预测补全位置点的信息处理方法,提升弱通信条件下分布式系统下态势航迹数据共享的效率,高效利用有限的通信资源。

基于上述任一实施例,假设现有两个平台,分别记为平台A和平台B,平台A作为目标发送向平台B共享目标数据,同时假设平台A需要共享的目标航迹记为TrkShare,TrkShare的第一个点的经纬度信息为(104.0638546,30.6599157)。具体实施步骤将从平台A和平台B分别进行详细说明。

其中平台A作为数据发送方执行本发明的步骤如下:

第S1步设置精度等级表:创建精度等级信息表M和设置默认发送的精度等级z,M的创建与数据接收方配置保持一致。则M创建为

{(1,2400,13,12),(2,610,15,15),(3,76,18,17),(4,19,20,20),(5,5,23,22),(6,0.6,25,25)}

N=6,z设置为2。

第S2步更新精度等级:平台A未接收到平台B发送而来的精度等级需求,则依然保持默认的精度等级k=2。

第S3步获取待发送数据:获取待发送目标TrkShare的最新位置信息,包括时间记为tgt_time,经度104.0638546,纬度30.6599157,执行第S4步。

第S4步查找精度等级信息:根据精度等级k,在M查找对应的精度等级信息,记为(2,610,15,15)。

第S5步根据航迹预测结果判定是否需要进行编码:未找到TrkShare的历史点,无法进行航迹预测,执行第S6步。

第S6步数据编码:采用GeoHash中二进制编码方法将经度104.0638546转换为二进制编码Code_Lon:110010100000000,将纬度30.6599157转换为二进制编码Code_Lat:101010111001101,将Code_Lat接在Code_Lon的后面,组合成经纬度信息的二进制编码Code_Pos:110010100000000101010111001101,其位数为30位。

第S7步发送经纬度信息:将经纬度信息的二进制编码Code_Pos提供给数据输入输出模块,用于对外发送。返回执行第S2步。

其中平台B作为数据接收方执行本发明步骤如下:

第T1步设置精度等级表:创建精度等级信息表M和设置默认需要的精度等级z,M的创建和z设置的值与数据发送方平台A配置保持一致。则M创建为

{(1,2400,13,12),(2,610,15,15),(3,76,18,17),(4,19,20,20),(5,5,23,22),(6,0.6,25,25)}

N=6,z设置为2。

第T2步对外发送精度等级:假设当前需要的平台A发送数据的精度等级为s=2,采用默认精度等级即可,则无需对平台A发送新的精度等级。

第T3步接收数据:接收到平台A发送过来的目标TrkShare的位置信息,包括时间tgt_time、经纬度二进制编码Code_Pos:110010100000000101010111001101,Code_Pos的位数为P为30。

第T4步判定数据解码方式:因为P≠1表示不进入航迹预测补点流程,则根据精度等级为2,在M查找对应的精度等级信息,为(2,610,15,15),执行第T6步。

第T5步航迹预测补点:采用基于卡尔曼滤波的航迹预测方法,利用历史非预测点数据,预测目标TrkShare在tgt_time时刻的经纬度信息,经度记为tgt_lon、纬度记为tgt_lat,执行第T10步。

第T6步判定是否利用当前设置精度等级解码:由精度等级信息(2,610,15,15)可见P=15+15,执行第T7步。

第T7步利用当前设置精度等级解码:从Code_Pos:110010100000000101010111001101中取出前15位作为经度的二进制编码Code_Lon:110010100000000,取出后15作为纬度的二进制编码Code_Lat:101010111001101,采用GeoHash中二进制编码反解方法算出经纬度的区间范围,其中经度范围为(104.062500,104.084473),则目标TrkShare的经度取值为tgt_lon=(104.062500+104.084473)/2=104.073486;其中纬度范围为(30.651855,30.662842),则目标TrkShare的纬度取值为tgt_lat=(30.651855+30.662842)/2=30.657349;执行第T10步。

第T8步判定是否利用历史设置精度等级解码:如果P≠Lon_k′+Lat_k′,则执行第T2步;否则执行第T9步。

第T9步利用历史设置精度等级解码:从Code_Pos中取出前Lon_k′位作为经度的二进制编码Code_Lon,取出后Lat_k′作为纬度的二进制编码Code_Lat,采用GeoHash中二进制编码反解方法算出经纬度的区间范围,计算出区间中心值作为目标TrkTgt的经纬度信息,经度记为tgt_lon、纬度记为tgt_lat,执行第T10步。

第T10步输入目标经纬度信息:将TrkShare的经纬度信息tgt_time、tgt_lon、tgt_lat提供给数据输入输出模块使用,执行第T2步。

基于上述任一实施例,本发明提供了一种航迹数据共享系统,图5是本发明实施例提供的航迹数据共享系统的架构图之一,如图5所示,所述系统应用于数据发送方,所述系统包括:

航迹数据获取模块510,用于获取目标的当前航迹数据;

航迹编码发送模块520,用于查找所述目标的历史航迹数据,若查找到,则基于历史航迹数据预测目标在当前时刻的航迹数据,若目标的当前航迹数据与预测获得的航迹数据之间的距离小于预设距离阈值,则将预设编码作为航迹编码发送至数据接收方,以指示数据接收方基于目标的历史航迹数据预测获得当前航迹数据;否则,对所述当前航迹数据进行编码处理,获得航迹编码,并将所述航迹编码发送至数据接收方,以使数据接收方基于航迹编码解码获得当前航迹数据。

基于上述任一实施例,本发明提供了一种航迹数据共享系统,图6是本发明实施例提供的航迹数据共享系统的架构图之二,如图6所示,所述系统应用于数据接收方,所述系统包括:

航迹编码接收模块610,用于接收数据发送方发送的航迹编码;若数据发送方查找到目标的历史航迹数据,且获取到的当前航迹数据与基于历史航迹数据预测获得的当前时刻的航迹数据之间的距离小于预设距离阈值,所述航迹编码为预设编码,否则,所述航迹编码为数据发送方将获取到的目标的当前航迹数据进行编码处理后获得的;

航迹编码处理模块620,用于判断所述航迹编码是否为预设编码,若为预设编码,则基于目标的历史航迹数据,预测目标在当前时刻的航迹数据,并将其作为当前航迹数据;否则,对所述航迹编码进行解码处理,获得目标的当前航迹数据。

可以理解的是,上述各个模块的详细功能实现可参见前述方法实施例中的介绍,在此不做赘述。

另外,本发明实施例提供了另一种航迹数据共享装置,其包括:存储器和处理器;

所述存储器,用于存储计算机程序;

所述处理器,用于当执行所述计算机程序时,实现上述实施例中的方法。

此外,本发明还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述实施例中的方法。

基于上述实施例中的方法,本发明实施例提供了一种计算机程序产品,当计算机程序产品在处理器上运行时,使得处理器执行上述实施例中的方法。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于区块链的数据共享系统及数据共享方法
  • 一种数据治理驱动数据共享交换系统及其工作方法
  • 一种基于元数据的数据共享自订阅处理方法及系统
  • 一种多系统数据共享模型构建方法以及数据共享方法
  • 一种基于区块链的数据共享方法及数据共享系统
技术分类

06120116585859