CN109033137B - 动态rinex数据存储方法及装置 - Google Patents
动态rinex数据存储方法及装置 Download PDFInfo
- Publication number
- CN109033137B CN109033137B CN201810577089.6A CN201810577089A CN109033137B CN 109033137 B CN109033137 B CN 109033137B CN 201810577089 A CN201810577089 A CN 201810577089A CN 109033137 B CN109033137 B CN 109033137B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- rinex
- observation data
- intermediate file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种动态RINEX数据存储方法及装置,所述方法包括以下步骤:从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;将观测数据以一种中间格式实时写入中间文件;每写完一个历元的观测数据后,判断所述中间文件是否要分片:如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;将所述RINEX文件进行压缩后上传到云端。本发明使既可以得到存储准确频点数据的RINEX文件,又不会并发占用大量的存储。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一一种动态RINEX数据存储方法及装置。
背景技术
随着卫星定位技术、通讯技术及计算机网络技术的发展和普及,公众对位置服务的需求越来越重要。差分定位作为一种便捷的显著提高定位精度的方法,已经被大众广泛的接受。差分定位需要存储大量的离线观测数据,用作算法调优、离线解算等。
离线观测数据一般以RINEX标准存储,该标准以纯文本方式存储,在文件头要写明本文件所包含的所有卫星***的频点定义,后续文件内容则完全依据文件头进行排版,所以文件头是否正确,即决定了该文件存储的观测数据是否准确。
现有的技术方案有两种:第一种是使用固定的RINEX文件头,即使用固定的频点定义;第二种是接收部分历元的观测数据,解析这些数据中共包含哪些频点,以此为依据,生成RINEX文件头。
现有技术方案存在的问题如下:
1、会造成频点丢失。因为每个卫星发送的信号类型是可变的,不论使用固定的频点定义,或是接收部分历元的数据后生成RIENX文件头,终究不能覆盖所有的历元信息,结果导致存储的数据不完整。
2、使用固定的频点定义,可能在文件头中写入实际不存在的频点,造成算法使用的困扰。
3、如果接收全部历元后再解析生成RINEX文件,会造成临时存储占用巨大。如果要生成1天或者2天的数据,临时存储会占用几百MB,无法适用于大规模存储中。
发明内容
本发明要解决的问题是提供一个准确存储RINEX观测数据的方法,以期望存储的RINEX数据中既包含全量的频点类型,也不会包含不存在的频点。基于此,本发明采用的技术方案如下:
一种动态RINEX数据存储方法,包括以下步骤:
从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
将观测数据以一种中间格式实时写入中间文件;
每写完一个历元(同一时间点的观测数据内容的集合)的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点(一个卫星***的频率与码的组合,表示一个唯一信号类型)的全集,生成准确的RINEX文件;
将所述RINEX文件进行压缩后上传到云端。
进一步地,所述数据源为一个接收机终端,所述观测数据是接收机终端在一个时刻所观测到的卫星数据。
进一步地,所述观测数据包括接收机终端所观测到的卫星的全集,每颗卫星通过不同的频点标示。
进一步地,所述中间格式自由定义,包括JSON序列化或者二进制。
进一步地,分片的时间间隔根据需求自行设置。
进一步地,通过中间文件的频点的全集,生成RINEX文件头,保证中间文件的频点准确,再依据RINEX文件头,继续填充RINEX文件内容,生成准确的RINEX文件。
进一步地,RINEX文件通过ZIP工具或者RNXCPM工具进行压缩。
进一步地,所述云端包括公有云或者私有云。
本发明还提供了一种RINEX数据使用方法,用户使用的RINEX数据采用所述动态RINEX数据存储方法,用户使用时根据时间段需求把所需的RINEX数据下载下来合并使用。
本发明还提供了一种动态RINEX数据存储装置,包括:
数据接收单元,用于从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
数据写入单元,用于将观测数据以一种中间格式实时写入中间文件;
分片判断与处理单元,用于在每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
文件压缩与上传单元,用于将所述RINEX文件进行压缩后上传到云端。
本发明还提供了一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:
从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
将观测数据以一种中间格式实时写入中间文件;
每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
将所述RINEX文件进行压缩后上传到云端。
本发明的有益效果如下:
1、本发明是使用该分片文件的全部数据生成RINEX文件头的,所以不会存在频点丢失的问题。
2、本发明是使用该分片文件的全部数据生成RINEX文件头的,所以不会存在写入实际不存在频点的问题。
3、本发明是采用可配置的文件分片间隔,满足分片间隔后进行文件分片,所以不会造成临时存储占用巨大。
附图说明
图1为本发明动态RINEX数据存储流程图;
图2为本发明动态RINEX数据存储装置结构图。
具体实施方式
本发明是使用文件分片与实时写入中间文件相结合的方式,使得既可以得到存储准确频点数据的RINEX(Receiver Independent Exchange Format,接收机无关的数据交换格式)文件,又不会并发占用大量的存储,提供并发大规模存储RINEX观测数据的效率与准确性。下文中,结合附图和实施例对本发明作进一步阐述。
实施例一:
图1是本发明的动态RINEX数据存储流程图,具体步骤如下:
步骤1,从数据源接收观测数据。数据源可以是一个接收机终端,观测数据是终端发送的频率最高的一类数据,表示该终端在指定时间点所观测到的卫星数据,即一个历元的观测数据。
一个时刻的观测数据包含终端在该时刻观测到的卫星的全集,且每个卫星会有不同的频点标示,比如GPS***的第1颗卫星,会有L1、L2、L5三个频段,L2频段会有C、W、X等不同的码,频段与码组合为一个唯一的频点。但不同终端因自己的处理策略,发送的数据不尽相同,有的终端可能只发送L1和L2的数据,有的终端可能也会发生L5数据。
卫星是快速绕地球运动的,所以不同时刻,终端观测到的卫星会有差别,对应观测的所有卫星的频点集合也会有差别。所以单纯依靠一个时刻的数据,不能准确的分析出所有频点集合。
步骤2,观测数据以一种中间格式实时写入中间文件。该中间格式可由使用方自由定义,比如JSON序列化、二进制等,本发明不限制中间格式的选择。
步骤3,每写完一个历元的观测数据后,会判断该文件是否要分片。使用文件分片,可解决临时存储占用巨大的问题。分片的间隔可自行设置,比如15分钟,半小时等,此分片间隔文件仅几MB大小,可并发存储大量文件。如果本次不需要分片,则返回,等待下一个历元数据到来时,再执行步骤2;如果要分片了,则执行步骤3。
步骤4,把该段中间格式的数据文件全部读入到内存,并分析出该文件的频点的全集。使用该频点的全集,可以生成准确的RINEX文件头,保证中间文件的频点准确,即不会缺失频点,也不会存在多余的频点,之后依据该RINEX文件头,继续填充RINEX文件内容。
RINEX是一种国际通用的存储观测数据的文本文件格式,该文件的特性是在文件头定义了一个卫星***的频点全集,后续内容全部依赖文件头生成。所以文件头的正确性至关重要。
许多算法工具均直接支持该格式的解析,本发明最终仍然使用RINEX存储观测数据,以保持各个算法工具的通用性。
步骤5,将该段RINEX文件进行压缩。RINEX本身是一个文本文件,本身有巨大的压缩空间,压缩后再上传可以明显减少存储空间的占用。
压缩方式可由使用方自己选择,可单纯的是有ZIP压缩,或者使用RNXCPM工具,这是一个通用的压缩RINEX数据的工具,为压缩RINEX观测数据而设计,有较高的压缩率。
步骤6,将该压缩后的RINEX文件上传到云端。最终各个分片的文件,存储到云端,公有云或私有云都可,以解决大量文件存储的问题。
步骤7,用户使用时,根据时间段需求把所需数据下载下来,合并使用即可。
实施例二:
本发明还提供了一种动态RINEX数据存储装置,如图2所示,包括:
数据接收单元,用于从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
数据写入单元,用于将观测数据以一种中间格式实时写入中间文件;
分片判断与处理单元,用于在每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
文件压缩与上传单元,用于将所述RINEX文件进行压缩后上传到云端。
实施例三:
本发明还提供了一种存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行如下步骤:
从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
将观测数据以一种中间格式实时写入中间文件;
每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
将所述RINEX文件进行压缩后上传到云端。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。
Claims (11)
1.一种动态RINEX数据存储方法,其特征在于,所述方法包括以下步骤:
从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
将观测数据以一种中间格式实时写入中间文件;
每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
将所述RINEX文件进行压缩后上传到云端。
2.如权利要求1所述的一种动态RINEX数据存储方法,其特征在于,所述数据源为一个接收机终端,所述观测数据是接收机终端在一个时刻所观测到的卫星数据。
3.如权利要求2所述的一种动态RINEX数据存储方法,其特征在于,所述观测数据包括接收机终端所观测到的卫星的全集,每颗卫星通过不同的频点标示。
4.如权利要求1所述的一种动态RINEX数据存储方法,其特征在于,所述中间格式自由定义,包括JSON序列化或者二进制。
5.如权利要求1所述的一种动态RINEX数据存储方法,其特征在于,分片的时间间隔根据需求自行设置。
6.如权利要求1所述的一种动态RINEX数据存储方法,其特征在于,通过中间文件的频点的全集,生成RINEX文件头,保证中间文件的频点准确,再依据RINEX文件头,继续填充RINEX文件内容,生成准确的RINEX文件。
7.如权利要求1所述的一种动态RINEX数据存储方法,其特征在于,RINEX文件通过ZIP工具进行压缩。
8.如权利要求1所述的一种动态RINEX数据存储方法,其特征在于,所述云端包括公有云或者私有云。
9.一种RINEX数据使用方法,其特征在于,用户使用的RINEX数据采用如权利要求1-8中任一权利要求所述的数据存储方法,用户使用时根据时间段需求把所需的RINEX数据下载下来合并使用。
10.一种动态RINEX数据存储装置,其特征在于,所述装置包括:
数据接收单元,用于从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
数据写入单元,用于将观测数据以一种中间格式实时写入中间文件;
分片判断与处理单元,用于在每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
文件压缩与上传单元,用于将所述RINEX文件进行压缩后上传到云端。
11.一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:
从数据源接收观测数据,所述观测数据是数据源发送的频率最高的一类数据;
将观测数据以一种中间格式实时写入中间文件;
每写完一个历元的观测数据后,判断所述中间文件是否要分片:
如果中间文件不需要分片,则返回,等待下一个历元的观测数据到来,再将观测数据实时写入中间文件;
如果中间文件需要分片,将所述中间文件全部读入到内存,并分析出所述中间文件的频点的全集,生成准确的RINEX文件;
将所述RINEX文件进行压缩后上传到云端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810577089.6A CN109033137B (zh) | 2018-06-06 | 2018-06-06 | 动态rinex数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810577089.6A CN109033137B (zh) | 2018-06-06 | 2018-06-06 | 动态rinex数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033137A CN109033137A (zh) | 2018-12-18 |
CN109033137B true CN109033137B (zh) | 2021-11-05 |
Family
ID=64612301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810577089.6A Active CN109033137B (zh) | 2018-06-06 | 2018-06-06 | 动态rinex数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033137B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475463B (zh) * | 2020-04-01 | 2023-02-24 | 中国人民解放***箭军工程大学 | 一种gnss观测数据的数字化关系存储方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156719A (zh) * | 2011-03-28 | 2011-08-17 | 武汉大学 | 全球导航***的观测值文件编解码方法 |
US8396944B2 (en) * | 2000-01-27 | 2013-03-12 | Marger Johnson & Mccollom, P.C. | Rich media file format and delivery methods |
WO2014046917A1 (en) * | 2012-09-20 | 2014-03-27 | California Institute Of Technology | Enhanced broadcast ephemeris for high accuracy assisted gps positioning |
CN104765876A (zh) * | 2015-04-24 | 2015-07-08 | 中国人民解放军信息工程大学 | 海量gnss小文件云存储方法 |
CN105843933A (zh) * | 2016-03-30 | 2016-08-10 | 电子科技大学 | 分布式内存列式数据库的索引建立方法 |
CN106951475A (zh) * | 2017-03-07 | 2017-07-14 | 郑州铁路职业技术学院 | 基于云计算的大数据分布式处理方法及*** |
CN107704504A (zh) * | 2017-08-29 | 2018-02-16 | 中国科学院光电研究院 | 一种rinex文件溯源信息提取方法及*** |
CN107707629A (zh) * | 2017-09-12 | 2018-02-16 | 千寻位置网络有限公司 | Gnss消息转换验证的方法 |
-
2018
- 2018-06-06 CN CN201810577089.6A patent/CN109033137B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396944B2 (en) * | 2000-01-27 | 2013-03-12 | Marger Johnson & Mccollom, P.C. | Rich media file format and delivery methods |
CN102156719A (zh) * | 2011-03-28 | 2011-08-17 | 武汉大学 | 全球导航***的观测值文件编解码方法 |
WO2014046917A1 (en) * | 2012-09-20 | 2014-03-27 | California Institute Of Technology | Enhanced broadcast ephemeris for high accuracy assisted gps positioning |
CN104765876A (zh) * | 2015-04-24 | 2015-07-08 | 中国人民解放军信息工程大学 | 海量gnss小文件云存储方法 |
CN105843933A (zh) * | 2016-03-30 | 2016-08-10 | 电子科技大学 | 分布式内存列式数据库的索引建立方法 |
CN106951475A (zh) * | 2017-03-07 | 2017-07-14 | 郑州铁路职业技术学院 | 基于云计算的大数据分布式处理方法及*** |
CN107704504A (zh) * | 2017-08-29 | 2018-02-16 | 中国科学院光电研究院 | 一种rinex文件溯源信息提取方法及*** |
CN107707629A (zh) * | 2017-09-12 | 2018-02-16 | 千寻位置网络有限公司 | Gnss消息转换验证的方法 |
Non-Patent Citations (2)
Title |
---|
"Dual-frequency Multi-constellation SBAS Simulator";Doubek, J et al,;《 28th International Technical Meeting of The Satellite-Division-of-the-Institute-of-Navigation》;20150918;第1775-1782页 * |
"基于粒计算的数据分片算法";吴润秀 等;《计算机应用》;20070630;第27卷(第6期);第1388-1391页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109033137A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321387B (zh) | 数据同步方法、设备及终端设备 | |
CN103930792B (zh) | 压缩用于空中传输的无线电装置设备位置数据的方法和*** | |
EP2975555A1 (en) | Method and apparatus for displaying point of interest | |
US20220035045A1 (en) | Ephemeris data processing method, electronic device and storage medium | |
CN111314392B (zh) | 卫星导航定位辅助星历数据压缩及传输方法 | |
CN112822260B (zh) | 文件传输方法及装置、电子设备、存储介质 | |
CN109656797B (zh) | 日志数据的关联方法及装置 | |
CN109033137B (zh) | 动态rinex数据存储方法及装置 | |
CN114091409A (zh) | 分布式异步解析Excel的方法、***、设备及存储介质 | |
CN115794934A (zh) | 一种生产设施监测数据与数字孪生模型集成***及方法 | |
CN114328348A (zh) | 一种fpga加速板卡及其行情数据处理方法 | |
EP4042307A1 (en) | Method, system, electronic device, and storage medium for storing and collecting temperature data | |
CN112636808B (zh) | 一种基于北斗短报文的望远镜远程数据传输与控制方法 | |
CN104104568A (zh) | 用于从通信总线采集数据的方法、装置及*** | |
CN111628956A (zh) | 一种网络请求传输数据的格式转换方法、装置和*** | |
CN101957820A (zh) | 一种生成门牌信息库的方法和装置 | |
CN115002196B (zh) | 一种数据处理方法、装置、车端采集设备 | |
CN111858093B (zh) | 一种消息处理的方法、装置、设备及存储介质 | |
US12019172B2 (en) | Mobile delivery device methods and systems | |
CN102611716A (zh) | 一种传输媒体文件的方法及装置 | |
CN102761613A (zh) | 移动终端及其器件信息获取方法、***及服务器 | |
CN103078905A (zh) | 一种gps终端的通讯管理方法 | |
KR100721556B1 (ko) | 저궤도 위성 덤프 데이터 처리 방법 | |
CN114578400A (zh) | 多基站星历合并方法 | |
CN109738920B (zh) | 一种通用的导航电文提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |