本发明涉及计算机,尤其涉及一种基于区块链的卫星导航定位基准站数据流转追溯方法及装置。
背景技术:
1、卫星导航定位基准站是在地球地面某一三维空间位置上,以每秒为间隔持续的生产当前位置对卫星产生的观测数据的设备,目前卫星导航基准站得到的观测数据往往是以明文方式发送,然而明文发送往往容易产生被篡改问题,因此,提供一种卫星导航定位基准站数据流转追溯的方案成为亟待解决的问题。
技术实现思路
1、本发明旨在提供一种克服上述问题或者至少部分地解决上述问题的基于区块链的卫星导航定位基准站数据流转追溯方法及装置。
2、为达到上述目的,本发明的技术方案具体是这样实现的:
3、本发明的一个方面提供了一种基于区块链的卫星导航定位基准站数据流转追溯方法,包括:
4、对单点定位算法软件包进行区块链存证;
5、对基准站数据流定时进行区块链存证;
6、对待使用单点定位算法软件包进行验证;
7、对待追溯源头的数据文件按照预设方式进行源头追溯。
8、其中,所述对单点定位算法软件包进行区块链存证包括:
9、获取单点定位算法软件及配置文件,对所述单点定位算法软件及配置文件进行压缩,得到第一压缩包;
10、获取精密单点定位算法软件及配置文件,对所述精密单点定位算法软件及配置文件进行压缩,得到第二压缩包;
11、对所述第一压缩包进行哈希计算,得到第一哈希值,对所述第二压缩包进行哈希计算,得到第二哈希值;
12、将所述第一哈希值和所述第二哈希值发送至区块链进行存证;
13、将所述第一压缩包和所述第二压缩包进行离线存储。
14、其中,所述对基准站数据流定时进行区块链存证包括:
15、定时循环获取实时数据流中的数据保存到文件;
16、对保存的文件进行哈希计算,得到第三哈希值;
17、将所述第三哈希值发送至所述区块链进行存证;
18、将保存的文件离线存储,并记录数据时间。
19、其中,所述对待使用单点定位算法软件包进行验证包括:
20、获取待使用单点定位算法软件压缩包和待使用精密单点定位算法软件压缩包;
21、对所述待使用单点定位算法软件压缩包进行哈希计算,得到第一验证哈希值,对所述待使用精密单点定位算法软件压缩包进行哈希计算,得到第二验证哈希值;
22、判断所述第一验证哈希值与所述第一哈希值是否一致,以及判断所述第二哈希验证值与所述第二哈希值是否一致;
23、如果判断均一致,则确定所述待使用单点定位算法软件压缩包和所述待使用精密单点定位算法软件压缩包未经篡改。
24、其中,所述对待追溯源头的数据文件按照预设方式进行源头追溯包括:
25、获取所述待追溯源头的数据文件,得到溯源数据文件;
26、根据所述溯源数据文件时间获取对应时间公共公开的广播星历数据文件;
27、判断是否有对应的广播星历数据文件;
28、如果有,则根据所述溯源数据文件时间获取对应时间离线备份存储的源数据文件;
29、判断是否有离线备份源数据文件;
30、如果有,则对所述离线备份源数据文件进行哈希计算,得到第三哈希验证值;
31、判断所述第三哈希验证值与所述区块链存证的哈希值是否一致;
32、如果一致,则使用未经篡改的所述待使用单点定位算法软件包,输入所述广播星历数据文件、所述离线备份源数据文件计算第一单点定位坐标;
33、使用未经篡改的所述待使用单点定位算法软件包,输入所述广播星历数据文件、所述溯源数据文件计算第二单点定位坐标;
34、判断所述第一单点定位坐标和所述第二单点定位坐标在误差范围内是否一致;
35、如果一致,则根据所述溯源数据文件时间获取对应时间公共公开的精密星历数据文件;
36、判断是否有对应的精密星历数据文件;
37、如果有,则使用未经篡改的所述待使用精密单点定位算法软件包,输入所述广播星历数据文件、所述精密星历数据文件、所述离线备份源数据文件计算第一精密单点定位坐标;
38、使用未经篡改的所述待使用精密单点定位算法软件包,输入所述广播星历数据文件、所述精密星历数据文件、所述溯源数据文件计算第二精密单点定位坐标;
39、判断所述第一精密单点定位坐标和所述第二精密单点定位坐标在误差范围内是否一致;
40、如果一致,则解析所述离线备份源数据文件和所述溯源数据文件;
41、判断所述离线备份源数据文件的解析结果与所述溯源数据文件的解析结果中可见卫星及卫星频率的观测数据的重合率;
42、判断所述重合率是否超过重合率阈值;
43、如果超过,则判断出所述离线备份源数据文件和所述溯源数据文件的定位重合,观测数据重合,确定所述离线备份源数据文件和所述溯源数据文件为同一数据源产生。
44、本发明的另一个方面提供了一种基于区块链的卫星导航定位基准站数据流转追溯装置,包括:
45、第一存证模块,用于对单点定位算法软件包进行区块链存证;
46、第二存证模块,用于对基准站数据流定时进行区块链存证;
47、验证模块,用于对待使用单点定位算法软件包进行验证;
48、溯源模块,用于对待追溯源头的数据文件按照预设方式进行源头追溯。
49、其中,所述第一存证模块通过如下方式对单点定位算法软件包进行区块链存证:
50、获取单点定位算法软件及配置文件,对所述单点定位算法软件及配置文件进行压缩,得到第一压缩包;
51、获取精密单点定位算法软件及配置文件,对所述精密单点定位算法软件及配置文件进行压缩,得到第二压缩包;
52、对所述第一压缩包进行哈希计算,得到第一哈希值,对所述第二压缩包进行哈希计算,得到第二哈希值;
53、将所述第一哈希值和所述第二哈希值发送至区块链进行存证;
54、将所述第一压缩包和所述第二压缩包进行离线存储。
55、其中,所述第二存证模块通过如下方式对基准站数据流定时进行区块链存证包括:
56、定时循环获取实时数据流中的数据保存到文件;
57、对保存的文件进行哈希计算,得到第三哈希值;
58、将所述第三哈希值发送至所述区块链进行存证;
59、将保存的文件离线存储,并记录数据时间。
60、其中,所述验证模块通过如下方式对待使用单点定位算法软件包进行验证包括:
61、获取待使用单点定位算法软件压缩包和待使用精密单点定位算法软件压缩包;
62、对所述待使用单点定位算法软件压缩包进行哈希计算,得到第一验证哈希值,对所述待使用精密单点定位算法软件压缩包进行哈希计算,得到第二验证哈希值;
63、判断所述第一验证哈希值与所述第一哈希值是否一致,以及判断所述第二哈希验证值与所述第二哈希值是否一致;
64、如果判断均一致,则确定所述待使用单点定位算法软件压缩包和所述待使用精密单点定位算法软件压缩包未经篡改。
65、其中,所述溯源模块通过如下方式对待追溯源头的数据文件按照预设方式进行源头追溯包括:
66、获取所述待追溯源头的数据文件,得到溯源数据文件;
67、根据所述溯源数据文件时间获取对应时间公共公开的广播星历数据文件;
68、判断是否有对应的广播星历数据文件;
69、如果有,则根据所述溯源数据文件时间获取对应时间离线备份存储的源数据文件;
70、判断是否有离线备份源数据文件;
71、如果有,则对所述离线备份源数据文件进行哈希计算,得到第三哈希验证值;
72、判断所述第三哈希验证值与所述区块链存证的哈希值是否一致;
73、如果一致,则使用未经篡改的所述待使用单点定位算法软件包,输入所述广播星历数据文件、所述离线备份源数据文件计算第一单点定位坐标;
74、使用未经篡改的所述待使用单点定位算法软件包,输入所述广播星历数据文件、所述溯源数据文件计算第二单点定位坐标;
75、判断所述第一单点定位坐标和所述第二单点定位坐标在误差范围内是否一致;
76、如果一致,则根据所述溯源数据文件时间获取对应时间公共公开的精密星历数据文件;
77、判断是否有对应的精密星历数据文件;
78、如果有,则使用未经篡改的所述待使用精密单点定位算法软件包,输入所述广播星历数据文件、所述精密星历数据文件、所述离线备份源数据文件计算第一精密单点定位坐标;
79、使用未经篡改的所述待使用精密单点定位算法软件包,输入所述广播星历数据文件、所述精密星历数据文件、所述溯源数据文件计算第二精密单点定位坐标;
80、判断所述第一精密单点定位坐标和所述第二精密单点定位坐标在误差范围内是否一致;
81、如果一致,则解析所述离线备份源数据文件和所述溯源数据文件;
82、判断所述离线备份源数据文件的解析结果与所述溯源数据文件的解析结果中可见卫星及卫星频率的观测数据的重合率;
83、判断所述重合率是否超过重合率阈值;
84、如果超过,则判断出所述离线备份源数据文件和所述溯源数据文件的定位重合,观测数据重合,确定所述离线备份源数据文件和所述溯源数据文件为同一数据源产生。
85、由此可见,通过本发明提供的基于区块链的卫星导航定位基准站数据流转追溯方法及装置,可以对卫星导航定位基准站数据流转追溯,避免数据文件的篡改。