本公开涉及卫星导航领域,尤其涉及基于区块链的北斗数据处理方法及装置。
背景技术:
卫星导航系统是重要的空间信息基础设施。2000年,我国首先建成北斗导航试验系统,使我国成为继美、俄之后的世界上第三个拥有自主卫星导航系统的国家。该系统已成功应用于测绘、电信、水利、渔业、交通运输、森林防火、减灾救灾和公共安全等诸多领域,产生显著的经济效益和社会效益。
卫星导航原理:卫星至用户间的距离测量是基于卫星信号的发射时间与到达接收机的时间之差,称为伪距。为了计算用户的三维位置和接收机时钟偏差,伪距测量要求至少接收来自多颗卫星的信号。
由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,使得民用的定位精度只有数十米量级。为提高定位精度,普遍采用差分定位技术,建立地面基准站进行卫星观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。实验表明,利用差分定位技术,定位精度可提高到米级。
在北斗系统中,也使用了地面基准站。并且颁布了《北斗地基增强系统基准站数据存储和输出要求》作为地面基准站的数据存储标准。在该标准中规定了需要存储数据的天数以及数据存储的格式,但是对于存储数据的方式并没有记载。
对于这些数据如何能够更加安全的保存并防止被篡改,现有技术中没有公开任何相关技术方案。
技术实现要素:
本公开实施例提供一种基于区块链的北斗数据处理方法及装置,能够解决如何使基准站数据更加安全保存的问题。
根据本公开实施例的第一方面,提供一种基于区块链的北斗数据处理方法,所述方法包括:获取基准站的代码,其中,所述代码用于唯一标识所述基准站;获取所述基准站需要保存的数据,并将按照所述数据的生成时间将所述数据压缩成n个数据包,其中,每个数据包中包括预定时间段中的所有数据,n为大于1的自然数;获取编号为1的第一数据包,并根据所述第一数据包生成第一验证码,其中,所述第一验证码是与所述第一数据包一一对应的;获取第二数据包,根据所述第二数据包和第一验证码生成所述第二验证码,依次类推,获取第n数据包,根据所述第n数据包和第n-1验证码生成第n验证码;按照数据包的顺序保存所述n个数据包和其对应的验证码,以生成数据链;将所述n数据包的时间段以及基准站的代码作为所述数据链的名称。
进一步地,所述方法还包括:将所述每个数据包按照时间顺序进行编号,并对所述每个数据包分别进行命名,其中,所述每个数据包的名字包括该数据包的预定时间段、所述基准站的代码以及该数据包的编号。
进一步地,所述预定时间段为天,所述每个数据包分别对应不同天的数据。
进一步地,按照所述数据的生成时间将所述数据压缩成n个数据包包括:获取所述基准站的类型;根据所述基准站的类型获取该类型的对应的基准站所需要保存数据的天数,将所述天数作为所述n值。
进一步地,所述基准站的类型为:框架基准站、监测站或区域基准站。
根据本公开实施例的第二方面,提供一种基于区块链的北斗数据处理装置,所述装置包括:获取模块,用于获取基准站的代码,其中,所述代码用于唯一标识所述基准站;第一生成模块,用于获取所述基准站需要保存的数据,并将按照所述数据的生成时间将所述数据压缩成n个数据包,其中,每个数据包中包括预定时间段中的所有数据,n为大于1的自然数;第二生成模块,用于获取编号为1的第一数据包,并根据所述第一数据包生成第一验证码,其中,所述第一验证码是与所述第一数据包一一对应的;第三生成模块,用于获取第二数据包,根据所述第二数据包和第一验证码生成所述第二验证码,依次类推,获取第n数据包,根据所述第n数据包和第n-1验证码生成第n验证码;第四生成模块,用于按照数据包的顺序保存所述n个数据包和其对应的验证码,以生成数据链;命名模块,用于将所述n数据包的时间段以及基准站的代码作为所述数据链的名称。
进一步地,所述命名模块还用于:将所述每个数据包按照时间顺序进行编号,并对所述每个数据包分别进行命名,其中,所述每个数据包的名字包括该数据包的预定时间段、所述基准站的代码以及该数据包的编号。
进一步地,所述预定时间段为天,所述每个数据包分别对应不同天的数据。
进一步地,所述第一生成模块用于:获取所述基准站的类型;根据所述基准站的类型获取该类型的对应的基准站所需要保存数据的天数,将所述天数作为所述n值。
进一步地,所述基准站的类型为:框架基准站、监测站或区域基准站。
通过上述方法和装置,采用了数据链的方式来保存基准站的数据,由于数据链中的每一个数据包均生成了验证码,每一个验证码均是基于上一个数据包的验证码生成的。这样在一个数据包的数据被篡改之后,其后的数据包的验证码均会发生错误,这种校验方式使得数据包被篡改的可能性极大降低,保证了数据存储的安全。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种基于区块链的北斗数据处理方法的流程图;
图2是本公开实施例提供的一种基于区块链的北斗数据处理装置的逻辑层结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种数据传输方法,如图1所示,该基于区块链的北斗数据处理方法包括以下步骤:
101,获取基准站的代码,其中,该代码用于唯一标识基准站;
102,获取基准站需要保存的数据,并将按照数据的生成时间将这些数据压缩成n个数据包,其中,每个数据包中包括预定时间段中的所有数据,n为大于1的自然数;
103,获取编号为1的第一数据包,并根据第一数据包生成第一验证码,其中,第一验证码是与第一数据包一一对应的;
104,获取第二数据包,根据第二数据包和第一验证码生成第二验证码,依次类推,获取第n数据包,根据第n数据包和第n-1验证码生成第n验证码;
105,按照数据包的顺序保存n个数据包和其对应的验证码,以生成数据链;
106,将n数据包的时间段以及基准站的代码作为数据链的名称。
通过上述步骤,采用了数据链的方式来保存基准站的数据,由于数据链中的每一个数据包均生成了验证码,每一个验证码均是基于上一个数据包的验证码生成的。这样在一个数据包的数据被篡改之后,其后的数据包的验证码均会发生错误,这种校验方式使得数据包被篡改的可能性极大降低,保证了数据存储的安全。
作为一个更加安全的方式,一个基准站上的数据链可以备份到多个其他基准站上。
这样,即使一个基准站的数据被篡改,由于其他基准站仍然备份有数据,就可以发现哪些数据被篡改。
例如,基准站可以通过服务器获取与自己距离在预定范围内的相邻的其他基准站,并将其自身的数据链定期通过服务器备份到其他基准站上。
或者,基准站可以通过服务器将自己的数据链备份到与自己不属于同一区域的其他基准站上,例如,备份到外省的基准站。这种处理方式会使得数据备份非常安全。例如,某个地区出现自然灾害,此时数据在其他省存在备份,这样就保证了数据的安全性。
作为一种可选的实施方式,方法还包括:将每个数据包按照时间顺序进行编号,并对每个数据包分别进行命名,其中,每个数据包的名字包括该数据包的预定时间段、基准站的代码以及该数据包的编号。
在该可选实施例中,通过对该数据包命名可以让数据包的检索更加方便。
作为一种可选的实施方式,预定时间段为天,每个数据包分别对应不同天的数据。
作为一种可选的实施方式,按照数据的生成时间将数据压缩成n个数据包包括:获取基准站的类型;根据基准站的类型获取该类型的对应的基准站所需要保存数据的天数,将天数作为n值。
例如,一个基准站要求保存数据的时间是三十天,可以将第一天的数据作为第一个数据包,将第二天的数据作为第二个数据包,依次类推,可以将第三十天的数据作为第三十个数据包。将这三十个数据包作为一个数据链。
这样一个基准站就可以保存有多个数据链,这多个数据链还可以按照一定的规律来进行保存。例如,将一年中的12个数据链,保存为更大一个数据链,生成更大数据链的方法可以包括如下步骤:
获取按照时间顺序的第一个数据链,并根据第一个数据链生成第一验证码,其中,第一验证码是与第一个数据链一一对应的;
获取第二个数据链,根据第二个数据链和第一验证码生成第二验证码,依次类推,获取第n个数据链,根据第n个数据链和第n-1验证码生成第n个数据链;
按照数据链的顺序保存n个数据链和其对应的验证码,以生成新的数据链。
这种保存方式可以是数据保存更加安全。
上述方法可以应用到北斗系统中,在北斗系统中,基准站的类型为:框架基准站、监测站或区域基准站。下面对这些基准站中保存的数据进行说明。
框架基准站
框架基准站的存储数据主要为:bds(b1/b2/b3)、gps(l1/l2/l5)、glonass(l1/l2)等导航系统的原始观测数据、站点信息、气象数据。这些数据分别包括:
a)原始观测数据:包括码伪距、信噪比、载波相位值、多普勒频移、卫星广播星历等;
b)站点信息:包括站名、坐标、天线信息等;
c)气象数据:包括气象仪的温度、湿度、气压数据、采集时间等。
监测站
存储数据主要为:bds(b1/b2/b3)、gps(l1/l2/l5)、glonass(l1/l2)等导航系统的原始观测数据、站点信息、定位结果、差分数据产品。
这些数据分别包括:
a)原始观测数据:包括码伪距、信噪比、载波相位值、多普勒频移、卫星广播星历等;
b)站点信息:包括站名、坐标、天线信息等;
c)定位结果:包括单频伪距差分、双频载波相位差分、单频载波相位差分定位结果等;
d)差分数据产品:包括广域增强数据产品、区域差分数据产品等。
区域基准站
存储数据主要为:bds(b1/b2/b3)、gps(l1/l2/l5)、glonass(l1/l2)等导航系统的原始观测数据、站点信息。这些数据分别包括:
a)原始观测数据:包括码伪距、信噪比、载波相位值、多普勒频移、卫星广播星历等;
b)站点信息:包括站名、坐标、天线信息等。
对于不同类型的基准站其保存数据量的要求可能是不同的,可以获取基准站的类型,并获取预先配置的该类型对应的需要保存数据量的要求。根据该时间要求来生成数据链。
在一个数据包中包括了多种不同类型的数据,此时可以将数据按照类型压缩成压缩包,例如,对于框架基准站,可以按照原始观测数据、站点信息、气象数据来生成三个压缩包。该数据包中就包括这三个压缩包的内容。优选地,对于每个压缩包使用哈希算法得到该压缩包的校验值,然后将三个压缩包和三个校验值一同进行哈希运算,从而得到一个数据包的验证码。
基于上述图1对应的实施例中所描述的基于区块链的北斗数据处理方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。在上述方法实施例已经描述过的内容,在此不再赘述。
本公开实施例提供一种基于区块链的北斗数据处理装置,如图2所示,该装置20包括:
获取模块201,用于获取基准站的代码,其中,代码用于唯一标识基准站;
第一生成模块202,用于获取基准站需要保存的数据,并将按照该数据的生成时间将该数据压缩成n个数据包,其中,每个数据包中包括预定时间段中的所有数据,n为大于1的自然数;
第二生成模块203,用于获取编号为1的第一数据包,并根据第一数据包生成第一验证码,其中,第一验证码是与第一数据包一一对应的;
第三生成模块204,用于获取第二数据包,根据第二数据包和第一验证码生成第二验证码,依次类推,获取第n数据包,根据第n数据包和第n-1验证码生成第n验证码;
第四生成模块205,用于按照数据包的顺序保存n个数据包和其对应的验证码,以生成数据链;
命名模块206,用于将n数据包的时间段以及基准站的代码作为数据链的名称。
作为一种可选的实施方式,命名模块206还用于:将每个数据包按照时间顺序进行编号,并对每个数据包分别进行命名,其中,每个数据包的名字包括该数据包的预定时间段、基准站的代码以及该数据包的编号。
作为一种可选的实施方式,预定时间段为天,每个数据包分别对应不同天的数据。
作为一种可选的实施方式,第一生成模块202用于:获取基准站的类型;根据基准站的类型获取该类型的对应的基准站所需要保存数据的天数,将天数作为n值。
作为一种可选的实施方式,基准站的类型为:框架基准站、监测站或区域基准站。
基于上述图1对应的实施例中所描述的方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的数据传输方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。