技术简介
北斗导航系统近年来建设成就非凡,已具备东南亚服务能力,并准备于2020年实现全球服务,目前已建成一期系统,系统的观测类数据、测控数据、业务信息、参数信息、指令信息以及各地面站、主控站各系统的各类数据都需汇总到主控站进行存储,这些数据总体表现为数据结构复杂、频度大,管理的数据量也比较大,数据条目更是极为庞大,从而产生了海量高频数据管理的难题。
与一般海量数据管理系统不同的是,大多数海量数据都是非结构化的文件类数据,如测绘图像、视频资料、文档资料等,而对本系统,所有的数据均为结构化数据,并且所有数据均为二进制编码打包,经由UDP协议传输到主控站存储软件形成高频海量数据流,除了要实时收取这些高频数据流,还需及时对他们进行解码处理,形成结构化数据进行入库保存,并提供快速检索、全文检索、数据服务、数据转储、数据输出、长期归档备份等能力。
由此提出海量高频数据存储管理技术,采用了多并发、多缓冲的数据入库机制和大数据集分区的数据查询手段,设计了体系化的数据存储管理方案,突破了传统数据存储管理系统的技术瓶颈,完成了主控站管控系统数据存储软件的实现,解决了上述难题,取得了良好的应用效果。
由于系统产生高频数据包的频率非常快,每秒可达近百包左右,解析处理的速度无法跟上数据流的速度,因此建立了一个高效的缓冲管理机制,通过多线程并发来保证缓冲区的处理速度,并且缓冲区能够根据数据流和处理速度进行自动伸缩,保证数据安全无丢失。
由于结构化数据类型非常多(500~1000类),数据字段更多,考虑到数据包结构异常复杂,嵌套层级较多,设计了数据实体的冗余结构,在保证存储效率同时兼顾使用效率。
针对各类数据应用服务需求,提供了快速访问能力和多种访问手段,包括服务、API(C++、Java)、Web Service、Web查询界面、数据提取界面,为满足各种需求提供最大的灵活度。
本系统技术成果采用了开放式的总线结构设计和跨平台的技术实现,可适用于各种规模的实时数据流处理和存储管理系统。
技术指标
●数据流速率:100余包/秒,合300余KB/秒
●管理数据量:≥50TB
●查询并发度:≥5
●查询时间:从1000万条记录中查询1万行记录所需时间小于6秒
技术特点
(1)多缓冲、多并发入库机制
采用了数据缓冲和多线程处理技术,将接收到的高频数据进行结构化初步处理,进入多路缓冲区进行管理,然后数据分类入库采用多线程处理,并发解析数据包、整合数据结构、批量完成数据入库存储,确保了海量数据快速、及时入库存储。
(2)大数据集分区的数据查询手段
针对数据类型众多、内容不更新、记录集庞大等特点,采用了数据表分区和表索引技术,这样就在传统的数据索引技术基础上,大大提高记录索引效率,向用户提供了快速的数据查询能力。
(3)海量数据统计分析能力
采用实时统计技术,数据一边处理一边统计,因此可高效的获取实时动态统计图表,随时掌握数据的整体状况。系统中每秒高达100个数据包,每包可含多组信息,经解码后可变为5~10条数据,个别可达30条数据,在高效处理高频数据流的同时还进行了实时统计,可随时获取实时动态统计图表,与民用领域的事后处理分析系统相比具有优势。
(4)自主化的数据存储管理能力
采用完全自主开发的海量数据管理技术,支持结构化和非结构化数据,支持多级设备迁移,拥有完全的自主知识产权。然而民用领域的海量数据管理一般采用商业软件,如IBM的TSM等,收费贵且数据安全无法保证。
(5)统一的数据访问服务能力
突破多样化的数据访问模式,满足多种数据访问需求,需要基于数据总线的数据访问中间件技术,即面向多种数据源(包括文件系统和数据库)构建对象化的数据访问引擎,形成服务化的数据访问服务容器,提供面向多种访问方式和需求的可定制选择的接口。
(6)跨平台部署实施能力
本技术成果可无缝移植到各种平台,包括win、linux、unix等平台,可与核高基的最新成果适配,在这方面本技术处于领先地位,将在未来设备和软件完全国产化应用中具有优势。
预期效益
目前海量高频实时存储管理技术成果在“XX一号卫星地面应用系统数据管理服务系统”、“全国综合XX信息共享平台数据存储管理应用系统”等项目中进行了应用,有效解决了海量数据的存储管理问题,取得了良好的应用效益。
综合该技术的解决方案和成果特点,能够体系地解决了高频、海量数据存储管理问题,重点突破了系统高并发、高实时和高性能的技术瓶颈,可推广应用至大型数据中心应用系统建设中;该技术成果中数据并发存储框架、数据备份归档工具、数据访问服务等软件产品能够直接应用到系统研制之中。
目前民用市场大数据的应用正在起步,各个行业越来越重视平时业务中产生的海量、碎片式的流式数据应用和挖掘,如何收集、管理好这些数据是前提,从而产生对本技术应用的强烈需求,初步估计经济效益可达千万元。