中国地震  2026, Vol. 42 Issue (1): 203-216
基于分布式技术的地震波形数据文件检索服务研究
吴峥1,2, 张劭贤1, 王方建1, 吴德孟1, 张瑜1     
1. 中国地震局地球物理研究所, 北京 100081;
2. 中国地震台网中心, 北京 100045
摘要:随着地震监测台网的不断完善, 地震观测数据呈现爆炸式增长态势, 海量数据存储与高效检索成为重要挑战。本研究设计开发了一种基于分布式技术的地震波形数据文件检索服务软件, 其利用Elasticsearch分布式搜索和分析引擎的高性能索引能力, 同时引入Ceph S3分布式对象存储作为底层数据支撑, 实现对了FDSN标准元数据的毫秒级全文检索。该服务在地震科学国际数据中心的基础设施平台中完成了部署测试, 应用结果表明: 该服务在高并发环境下表现出良好的检索效率和系统稳定性, 提升了科研人员获取地震波形数据的效率, 为海量地震数据的规范化管理提供了理论和技术支撑, 也为构建新一代地震科学数据服务体系提供了实践参考。
关键词地震波形数据    文件检索服务    Elasticsearch    Ceph S3    FDSN    
The Research on Seismic Waveform Data Files Retrieval Service Based on Distributed Technology
Wu Zheng1,2, Zhang Shaoxian1, Wang Fangjian1, Wu Demeng1, Zhang Yu1     
1. Institute of Geophysics, China Earthquake Administration, Beijing 100081, China;
2. China Earthquake Network Center, Beijing 100045, China
Abstract: With the continuous expansion and refinement of seismic monitoring networks, seismic observation data have entered an era of explosive growth. As a result, the storage and efficient retrieval of massive datasets have become critical challenges. This paper proposes a seismic waveform data retrieval service based on a distributed technology architecture. the system employs the high-performance indexing capability of the Elasticsearch distributed search and analytics engine and integrates Ceph S3 distributed object storage as the underlying data infrastructure, thereby enabling millisecond-level full-text retrieval of FDSN-standard metadata. the service was deployed and tested on the infrastructure platform of the International Earthquake Science Data Center. Application results show that the service maintains high retrieval efficiency and system stability under high-concurrency conditions, significantly improving the efficiency of seismic waveform data acquisition for researchers. This study provides important technical support for the standardized management of massive seismic data and offers a valuable practical reference for the construction of next-generation seismic science data service systems.
Key words: Seismic waveform data     File retrieval service     Elasticsearch     Ceph S3     FDSN    
0 引言

上世纪90年代至今,我国历经“十五”中国地震数字地震观测网络工程、国家地震烈度速报与预警工程等重大项目,已建成由数万个台站组成的实时地震观测网络系统(赵国峰等,2022),归档了PB级地震波形数据文件,年均新增观测数据约200TB(吴峥等,2024)。面对观测数据的持续快速积累,数千万级归档文件的快速检索与海量离线数据的高效服务已成为当前全国各地震数据中心发展需面临的重要挑战。EIDA、EarthScope等机构在2025年EGU(European Geosciences Union)上指出,云存储与云端处理能力是下一代地震数据中心建设的重点方向(Quinteros et al,2025)。

目前,国内外一些地震研究机构或单位已建成相对成熟的数据检索服务平台,并在国际数字地震台网联盟(FDSN)统一数据服务接口标准下,实现了全球范围的数据交换与共享,如美国地质调查局(USGS)、地震学研究机构联合会(IRIS)、德国波茨坦地球科学研究中心(GFZ)、日本高感度地震台网(Hi-net)以及中国地震局等。中国地震台网中心作为国家地震数据中心,基于EarthScope开源软件,通过SQLite+集中式磁盘阵列+FDSN接口提供全国地震数据检索与共享服务(韩雪君等,2023)。中国地震局第二监测中心作为国家地震数据灾备中心,建设了Hadoop环境下的地震波形数据存储管理系统(王丹宁等,2016)。中国地震局地球物理研究所建设了地震科学国际数据中心,采用分布式搜索和分析引擎(Elasticsearch)+分布式对象存储(Ceph S3)+FDSN接口的建设方式,满足海量地震观测数据高效检索服务需求。

当前数据检索服务建设重点需突破海量数据的存储管理、高效索引及可靠性、扩展性等局限。本研究依托于中国地震局地球物理研究所的地震科学国际数据中心,提出了一套综合方案:基于云原生、存算分离和软件定义数据中心等建设理念,利用数据中心的信息基础设施环境级数据资源,采用Ceph分布式存储技术搭建S3对象存储系统,构建高可靠的数据存储层,显著提升系统整体鲁棒性;通过数据文件归并策略设计,满足低延时、高吞吐的业务访问需求;同时采用EC 8+2纠删码数据冗余机制,该机制在数据可恢复性上优于单一副本,在存储资源利用率上优于多副本机制。结合地震数据特点,合理设计文件索引映射数据库,优化文件索引生成流程,并集成Elasticsearch分布式搜索和分析引擎,实现数据分片、并行查询与聚合,从而提升了海量地震数据的毫秒级响应能力及大规模检索分析效率,适配标准化的FDSN服务接口,实现与众多现有业务系统的无缝对接,降低适配成本。本研究采用基于Kubernetes的微服务集群部署方式,实现资源动态调度、按需扩容及负载均衡,在无需预留高昂硬件成本的前提下,保障软件服务的高可用性。各应用间通过万兆光纤以太网进行数据交换,可满足当前业务需求。

1 数据检索系统关键技术 1.1 Elasticsearch分布式搜索和分析引擎

Elasticsearch是基于云原生架构的开源分布式搜索和分析引擎,采用文档化JSON数据模型和倒排索引机制,支持海量结构化和非结构化数据的近实时全文检索,具备自动化索引管理、同义词扩展、智能段合并等特性。相较于PostgreSQL等关系型数据库及MongoDB等分布式数据库,Elasticsearch在全文检索、查询延时及运维复杂度等方面优势显著(Fotopoulos et al,2023;Kathare et al,2022)。

1.2 Ceph S3分布式对象存储

Ceph S3是一款可部署于私有云环境的开源分布式对象存储系统,能够提供与AWS S3兼容且功能相当的服务,具备弹性扩展、去中心化架构、多副本冗余机制、扁平化目录管理等特性。相较于集中式磁盘阵列,分布式存储系统规避了机头单点故障的弊端,同时,采用通用性更强的存储介质,有效降低了系统运维成本(陈通等,2022郭凯等,2017)。相较于块存储、文件存储等存储方式,S3对象存储在存储空间利用率、数据顺序与随机读写效率等方面有明显提升(吴峥等,2023),从而为海量数据长期存储提供了安全可靠的底层支撑。

2 数据检索系统设计 2.1 总体架构

一般而言,数据中心整体由三个核心模块构成(图 1),包括数据汇集(吴峥等,2020)、数据管理(王军等,2024)和共享服务。数据汇集模块负责对接由台站仪器采集的各类异构数据源,充分利用数据交换区的大带宽分发能力,实现观测数据和状态数据的多路实时输出,为上层业务单元的应用计算、运维监控和数据归档提供基础支撑。数据管理模块作为全局数据资源的承载与调度单元,管理存储系统中存放的地震原始数据、加工处理数据及数据服务产品等,通过统一接口,满足分析平台和数据服务对实时/非实时数据的访问需求,并提供成果数据入库接口。共享服务模块则通过流式转发实现各数据中心间的数据交换,同时基于国际通用的FDSN等服务接口为用户提供标准化的数据访问,为地震科研工作者提供服务。

图 1 数据中心整体架构 注:红框内为本文主要研究部分。

在数据检索业务中(图 2),Elasticsearch分布式搜索和分析引擎建立数据索引映射的数据库,数据共享服务通过分析用户FDSN指令(通常包括Network、Station、Location、Channel,简称NSLC,以及starttime/endtime时窗参数)进行模糊匹配、短语查询、信息关联等,确定目标数据的基础信息及其在分布式存储中的逻辑索引路径。当查询范围扩大到多学科、多路径时,Elasticsearch可以通过查询事件快速关联匹配相关信息,其优势将更加明显。分布式对象存储系统则根据Elasticsearch的索引路径,调度工作节点进行遍历查询,成功查询则下载数据,若全部遍历后依旧未找到目标数据,则反馈数据查询失败的信息。

图 2 数据检索系统业务流

从关键技术栈方面分析(图 3),将检索服务容器化部署于Kubernetes集群中,满足高并发、高可用和弹性伸缩需求。利用Reactor模式重构基于阻塞式I/O的服务接口,利用事件驱动与多路复用技术,实现非阻塞式调度,以降低线程资源消耗,支撑高并发数据连接,提高检索服务效能。同时,通过负载均衡增强系统抗压能力,并集成服务网格技术加强微服务间的通信与安全管理。

图 3 数据检索系统技术栈
2.2 分布式搜索和分析引擎 2.2.1 索引映射数据库设计

索引映射数据库用于承载地震观测数据的全量元数据,其数据库表设计的优劣直接决定Elasticsearch的索引效率与检索性能。本研究从MiniSEED文件中提取关键基础信息,计算解析出相关重要信息,共同组成了索引映射数据库,如 表 1所示。其中,sourceID用于确保数据文件标识唯一,遵循常规的MiniSEED文件格式,显示“台网. 台站. 位置. 通道. 年份. 年积日.mseed”,如AH.TOL.00.BHN.2021.163.mseed;日期字段采用严格的ISO 8601格式记录;classification用于标识不同学科的数据,如测震、强震动等;grade用于区分数据加工程度,根据数据的加工逻辑和生产流程,编码0~3分别表示原始数据、标准化数据、初级产品和服务产品;format、version、hash、filename与qualityIdentity等关键元数据用于版本管理与完整性校验,而geo_location以geo_point格式存储台站经纬度坐标,配合倒排索引与BKD树结构,能够在分布式环境中实现对海量地震波形数据的毫秒级全文检索、时序查询、聚合统计与地理围栏分析等。通过解析用户指令,生成对应的key和sourceID值,传递到分布式对象存储系统中,可唯一确定目标数据的索引路径及文件名。

表 1 Elasticsearch索引映射数据库表结构设计
2.2.2 文件索引生成流程

本研究采用逐块解析-聚合机制构建MiniSEED文件索引。通过BufferedInputStream指定某一区块的字节,循环读取输入流:每次首先读取MiniSEED文件头部,根据头信息中的长度字段计算出本区块实际数据块大小,再一次性读取剩余的数据字节,并将头与体合并,实时更新整个文件的SHA-256摘要。使用解析器从文件头部提取出精确的起始时间戳及NSLC等信息,同时计算出结束时间戳,并将这些连续同源记录一并归入一个会话对象(Section)中,详细流程如 图 4所示。

图 4 文件索引生成流程

在每个Section中,计算该区段的最早和最晚时间、字节偏移(起始与结束)、采样率、质量标志、数据断记(容差为1个采样点的时长)、完整率等,并使用MD5摘要对段内数据进行二次校验。同时,以小时为粒度维护用于快速跳转的时间索引链表,以及用于计算数据断记情况和优化查询的连续数据段。若在读取过程中检测到新的NSLC组合,当前Section会被结束并加入到MseedFile列表中,之后启动新的Section并初始化上述所有索引与摘要。对于非指定格式的区块,则直接跳过等长字节,但仍会将该部分的偏移量加入到整体偏移量的计算中。文件流读取结束后,再一次性计算并设置文件级别的最终SHA-256值以及整个文件的最早和最晚时间戳、扫描时间等元数据,最后,产出包含所有Section及其详细索引信息的MseedFile对象,供后续查询或存储使用。

2.2.3 大文件索引路径优化

针对大规模MiniSEED波形文件的高效随机访问,可在传统扁平字段索引中引入嵌套的timeindex结构(表 2)。该结构在每个文档内按小时或分钟粒度存储timestamp(毫秒级UNIX时间戳)和offset(对应字节偏移量),使查询引擎能够直接定位到所需时段的起始字节,同时结合文档级的字节偏移量精准读取任意长度的数据片段,无需下载或扫描整片大块数据。但由于timeindex字段是nested类型数据,会增加文档体积与查询开销,对中小文件收益不大,因此应在架构设计中综合权衡,针对大文件启用嵌套的timeindex结构(表 2)以换取随机读取性能,对中小文件则保持扁平索引或采用更轻量的方案,从而在存储成本与查询时延之间实现最优平衡。

表 2 嵌套的timeindex结构
2.3 分布式对象存储系统 2.3.1 索引路径

分布式对象存储系统中的索引路径与Elasticsearch数据库中的索引存在映射关系。Elasticsearch数据库中的key和sourceID值组成了数据文件在Ceph S3中的索引路径,其通用格式为“桶名/学科/分级数据格式台网/年/年积日/文件名”。其中,“桶名”是在分布式存储系统中创建对象存储桶时命名的,用于逻辑隔离不同项目,“桶名/学科/分级数据格式台网/年/年积日”对应了key值,而“文件名”与sourceID值对应,由此组合成唯一标识每个数据流的StreamID。

2.3.2 文件归并粒度

文件的定期归并及归并粒度的选取对数据存储和检索效能有重要影响(图 5)。一般情况,测震观测仪器每分钟产生约30KB的MiniSEED小文件,若直接写入Ceph S3,不但因百万级文件带来海量元数据压力,还因对象存储块远大于单个小文件而导致OSD(Object Storage Daemon,对象存储服务)“空洞化”及写入吞吐率下降。Ceph S3在写入对象时,会将其切分为固定大小的数据块(通常为4~64MB,可自定义),并通过CRUSH算法将各数据块均衡分布到不同OSD,以保障负载均衡和并行读写。若按照小时来归并文件,上述弊端缓解不足;若按照年来归并成较大的GB级文件,则会带来较高的重试成本、局部恢复效率低、OSD负载不均衡等诸多其他弊端。基于此,将波形数据按天汇总为7~10MB文件,则恰好落在自定义的单块容量范围内,能够较好地平衡系统性能与可维护性。

图 5 数据归并粒度差异
2.3.3 数据归并存储方案

基于上述分析,可采用“实时缓存—定期归并—对象存储”三阶段归并方案(图 6):利用Flink流处理引擎实时消费Pulsar数据交换区中的数据,并按分钟粒度将其持久化写入HBase表中,在每日凌晨由Spark作业将当日每个通道的所有分钟文件汇总合并成一个文件,再将所有仪器通道的汇总文件批量上传至Ceph S3;应急场景下则可直接从HBase缓存层快速获取当日分钟级波形数据。该方案充分填充了每个数据块,降低跨块读取的额外I/O开销,减少对象存储的元数据条目,提升了系统整体吞吐能力和资源利用率。

图 6 分钟级小文件归并存储方案
2.4 FDSN服务接口适配

为了与ObsPy(Python库)等客户端工具无缝对接,数据检索系统对外暴露了FDSN服务接口。按照FDSN Data Select规范,接口基于RESTful架构和HTTP传输协议设计,支持按照“NSLC+时窗”检索波形数据,并返回MiniSEED格式的数据流,确保与主流地震处理软件兼容。

3 数据检索能力验证

本研究通过控制数据规模(4TB/22TB)、集群实例数(单/双节点)及并发用户数(10~500)等变量,定量评估系统在高并发访问、多维度检索及大规模统计场景下的鲁棒性与可扩展性,系统评估与验证数据检索服务的综合能力。其中,数据检索效率聚焦Elasticsearch引擎的索引查询性能,端到端服务性能涵盖FDSN接口解析、Elasticsearch检索至Ceph S3数据下载的全链路耗时,聚合统计效率检验Elasticsearch近实时全文分析能力。

3.1 环境搭建

基于地震科学国际数据中心信息基础设施的网络、计算与存储资源搭建本次实验环境。虚拟化平台及分布式存储系统通过双链路万兆光纤以太网络相连。虚拟化平台基于KVM技术建设,虚拟机之间通过25GE的网络环境进行数据交换与传输。本次实验新建6台虚拟机(32核CPU/ 64GB内存/500GB存储/Ubuntu24.04操作系统),其中2台虚拟机部署FDSN接口服务集群,3台部署Elasticsearch引擎集群(设置分片数为3,副本数为1),1台作为测试终端。分布式存储系统基于Ceph技术建设,采用EC 8+2纠删码冗余机制,确保数据安全,系统内部通过双链路25GE光纤以太网络进行节点间数据同步等。本次实验新建1个对象存储桶用于存放待检索数据,并与生产环境隔离。

3.2 数据资源

选用地震科学国际数据中心的部分固定台站和流动台站的地震观测波形数据,总数据量约22TB(2166590个MiniSEED文件,单文件约10MB),按照“台网/台站/测点/通道/年/年积日”层级拆分。

3.3 方法验证 3.3.1 数据检索效率验证

模拟并发用户数(10~200)同时访问,测试不同时窗(时/天/月/年)与数据量(4TB/22TB)下的Elasticsearch数据索引延时表现,评估系统检索索引路径的能力。

3.3.2 端到端服务性能验证

模拟不同并发用户数(10~500)同时通过FDSN接口检索下载1h数据的应用场景,统计系统从“FDSN接口收到用户指令”、到“Elasticsearch引擎检索索引路径”、再到“从Ceph S3存储系统下载数据”的全链路耗时情况,并对比单、双节点集群工作模式下的性能差异,直观展示系统多节点的并发处理能力。同时,在单节点工作模式下,当并发用户数固定为10时,验证使用Obspy FDSN Client检索并下载不同时窗数据(1h~7天)的耗时情况。

3.3.3 数据聚合统计效率验证

利用Terms+Sum聚合方法,模拟不同并发用户数(10~500)同时统计不同时窗(1月~1年)与不同数据量(4TB/22TB)的耗时情况,评估系统的数据统计分析能力,可用于生成报表和进一步数据分析与平台管理。

3.4 验证标准

计算平均耗时和完成90%、95%和99%需要的时间,分别用平均时延、P90时延、P95时延和P99时延表示(图 7)。其中,平均耗时反映了系统响应的典型时间,可评估系统的整体性能和普适性表现,后三个分位延时不同程度反映了系统性能表现的稳定性。

图 7 数据总量分别为4TB(a)和22TB(b)时Elasticsearch数据检索时延与用户并发数的关系
3.5 实验结果与讨论 3.5.1 数据检索效率

图 7结果可知,查询延时与并发用户数成正比,保持毫秒级响应,体现了系统较好的吞吐能力和稳定性。当数据规模增大时,单位数据的查询时间缩短,但未随数据量的增大而线性增加。同时,数据量从4TB增至22TB,Elasticsearch的查询延迟也仅在高并发场景下平稳微增,且仍低于300ms。由此可见,Elasticsearch对大规模MiniSEED数据的检索具有良好的性能表现。

3.5.2 端到端服务性能

固定数据规模不同并发用户数、固定并发用户数不同数据规模时数据检索系统服务效能检测结果见 图 8,结果显示,端到端的全链路检索与下载耗时随并发用户数线性平稳增长。单、双节点工作模式的对比中,并发用户数小于50时性能相近,表明此时系统能够满足并发需求;并发用户数超过100时,双节点耗时基本减半,多节点运行的优势逐渐凸显。当并发用户数固定为10时,检索时窗从1h扩至7天,系统的平均耗时由0.27s增至5.33s,且三个分位延时变化平滑、分布集中,表明查询性能随时间范围扩展呈现良好的线性增长特性。整体而言,该方案既能在大时间跨度下保持较低的查询延迟,又能在短时间范围内实现毫秒级响应,充分体现了系统在高并发、多窗口检索场景下的可扩展性和可靠性。

图 8 固定数据规模不同并发用户数(a)、固定并发用户数不同数据规模(b)时数据检索系统服务效能检测
3.5.3 数据聚合统计效率

数据总量分别为4TB和22TB时的数据聚合统计效率验证见 图 9,结果展示了数据总量分别为4TB(图 9(a))和22TB(图 9(b))的时延统计。结果显示,数据统计用时与并发用户数正相关,分位延时稳定。同时,不同时窗及不同数据规模相对应的统计用时接近,表明数据聚合统计效率对数据规模不敏感。由此可见,Elasticsearch能够提供毫秒级的统计查询服务。

图 9 数据总量4TB(a)和22TB(b)时的数据聚合统计效率验证
4 总结

本文基于分布式技术,利用Elasticsearch搜索和分析引擎及Ceph S3存储系统,设计实现了一种适用于海量地震数据的快速检索和准确定位的地震波形数据文件检索服务,并通过实验验证了该方案的可行性及服务效能。得出如下结论:①分布式技术具备良好的弹性扩容能力,能够有效保障服务连续性和可靠性,在极端情况下仍可保持较低的尾部延迟、负载均衡和故障容忍,可以有效缓解因数据时间跨度大而带来的高时延响应问题;②分布式技术能够较好地应对海量地震观测数据的存储和检索需求,在数据量爆炸式增长的当下,该技术切实可行,具有良好的应用前景。

参考文献
陈通、韩雪君、马延路, 2022, 时序数据库在海量地震波形数据分布式存储与处理中的应用初探, 中国地震, 38(4): 799-809.
郭凯、黄金刚、彭克银等, 2017, 大数据技术在海量测震数据中的研究应用, 地震研究, 40(2): 317-323.
韩雪君、陈宏峰、赵国峰等, 2023, 中国地震台网波形数据整理及服务平台建设, 中国地震, 39(2): 412-424.
王丹宁、柴旭超、王文青, 2016, Hadoop平台下的地震波形数据存储与应用规划, 软件工程, 19(1): 48~49, 31.
王军、余丹、黄经国等, 2024, 基于大数据架构的地球物理观测数据管理系统, 中国地震, 40(1): 144-159.
吴峥、董翔、李杰飞等, 2024, 地震数据分布式存储系统建设模式与服务效能研究, 中国地震, 40(1): 251-259.
吴峥、王方建、董翔等, 2023, 地震观测数据融合存储技术研究, 地震地磁观测与研究, 44(1): 115-119.
吴峥、王方建、丁艳青等, 2020, 地震实时波形数据汇聚系统设计与实现, 中国地震, 36(3): 639-646.
赵国峰、高楠、杨大克, 2022, 国家地震烈度速报与预警工程建设进展, 地震地磁观测与研究, 43(3): 165-171.
Kathare N, Reddy O V, Prabhu V, 2022, A comprehensive study of elastic search, J Res Sci Eng, 4(11): 34-38.
Quinteros J, Carter J, Cauzzi C, et al. 2025. the future of seismological data centers: Recent advances and vision for the next-generation data services. In: EGU General Assembly 2025. Vienna, Austria: EGU.