一种基于数据库Druid的地震数据流存储与检测方法及系统

专利2025-05-02  26


本发明涉及地震检测,具体涉及一种基于数据库druid的地震数据流检测方法及系统。


背景技术:

1、随着中国地震测震台站的增加,用于数据采集的地震观测仪器数量将会不断增长,并随着物联网的发展,将会接入更多采集仪器进行地震数据分析,导致了海量地震观测数据的产生,现有地震解决方案中数据存储方式多为oracle为代表的关系型数据库,随着海量数据的产生,现有解决方案存在对海量数据的处理效率较低、并发性能较差以及难以应对复杂的地震数据结构,并且采用传统的单一集中式磁盘存储数据,当数据需要高效读取时会出现读取速度慢、读取效率低等问题,基于传统关系数据库的解决方案已经难以满足地震处理业务中日益增长的快速数据处理需求。

2、公开号为cn107544090a的中国发明专利申请提供了一种基于mapreduce的地震数据解析存储方法,该方法高度依赖hadoop的分布式计算,有些任务并不是很容易分解成map和reduce阶段,或者存在数据倾斜等问题,导致性能瓶颈。mapreduce通常适用于离线批处理任务,而不太适用于地震数据处理中需要实时响应的场景。该方法依赖于hbase和phoenix等技术栈,如果这些组件发生变化或者出现问题,可能会对整个数据处理流程产生影响。

3、地震观测数据融合存储技术研究表明了基于hbase分布式数据库方案相比于关系型数据库针对地震数据存储与查询具有更好的性能表现,但是hbase存储的数据通常会占用更多的存储空间,对于某些场景,可能会带来存储成本的增加。hbase在进行数据存储前,需要对hbase的表进行较为复杂的创建与调优。在进行hbase地震数据查询时,所建立连接为重量级连接,建立连接所耗费的时间长,同时hbase摄取数据时需要与hadoop进行交互,这无疑增加了地震数据摄取所耗费的时间。

4、公开号为cn110542920a的中国发明专利申请提供了一种地震数据处理防范及系统,其所涉及到的kafka与hbase之间的连接中,需要有一定编程基础编写相应的代码来实现kafka数据存储到hbase中。此系统涉及多个分布式框架组件,运行这样一个分布式系统可能需要大量的计算资源、存储资源和网络资源。这可能增加了系统的成本,并对部署环境提出了一些要求。一些特殊的业务需求或者数据处理算法可能需要额外的定制化和适配,这增加了开发和维护的难度。同时从hbase进行数据获取并进行算法处理时,所耗费的时间也会有所增加。


技术实现思路

1、本发明的目的在于,提出一种基于数据库druid的地震数据流存储与检测方法及系统,其提高了地震数据存储与处理效率,使地震数据趋向于实时处理而不依赖离线处理。

2、根据本公开实施例的第一个方面,提供了一种基于数据库druid的地震数据流存储与检测方法,包括以下步骤:

3、获取地震数据并进行解析;

4、采用数据库druid存储解析后的地震数据;

5、对地震数据进行检测。

6、进一步地,获取地震数据并进行解析,具体为:

7、通过数据解析库(例如libmseed库)对地震数据进行初步解析,将得到的台网台站基本信息写入到缓存模块(例如redis)中;

8、对初步解析后的地震数据进行连续解析,得到每个台网台站通道下所记录的各时间的地震数据信息;

9、获取消息队列中的地震数据,得到连续地震数据的台站三分量数据,对连续数据进行预处理进一步地,采用数据库druid存储解析后的地震数据,具体为:

10、利用数据库druid对消息队列(例如:kafka)中的地震数据进行流式摄取;

11、通过数据库druid的网页交互界面对流式摄取的地震数据按照属性进行转换并进行相应配置;

12、对配置后的地震数据执行分区分块操作。

13、进一步地,通过数据库druid的网页交互界面对流式摄取的地震数据按照属性进行转换并进行相应配置,具体为:

14、将地震数据中的记录时间作为时间列;将地震数据中的台网台站数据描述信息作为维度列;将地震数据中的测量值作为指标列;

15、依据上述转换,地震数据配置为<timestamp>、<network>、<station>、<channel>、<location>和<value>,其中<timestamp>作为地震数据源时间列,<network>、<station>、<channel>、<location>作为地震数据数据源维度列,<value>则作为地震数据源指标列。

16、进一步地,对配置后的地震数据执行分区分块操作,具体为:

17、将地震数据源时间列进行预聚合并按时间戳进行分区,基于hour分段粒度方式进行分块处理。

18、更进一步地,所述数据库druid在partition模块指定分区策略,将地震数据均匀地分布到不同的存储分片,且在数据库druid中配置compaction参数来控制周期性合并最小几个存储分片的行为。

19、更进一步地,所述数据库druid的压缩方式包括uncompressed、lzf、lz4。

20、更进一步地,在数据库druid的supervisors模块对地震数据读取任务进行查看,且读取任务的运行状态在tasks模块进行查看,segments模块对地震数据分段摄取情况进行查看,datasources模块对摄取任务所创建的时序数据库进行查看。

21、更进一步地,对地震数据进行检测,具体为:

22、通过数据库druid获取预处理后的数据,根据处理后的数据信息从缓存模块(例如redis)中获取通道号,调用震相检测算法(例如gpd算法、filterpicker算法)检测连续地震数据中是否存在地震波信号,并输出检测后的结果。

23、根据本公开实施例的第二个方面,提供一种基于数据库druid的地震数据流存储与检测系统,包括:

24、解析模块,获取地震数据并进行解析;

25、存储模块,采用数据库druid存储解析后的地震数据;

26、检测模块,对地震数据进行检测。

27、本发明采用的以上技术方案,与现有技术相比,具有的优点是:

28、(1)本发明利用消息队列(例如:kafka)的实时数据处理特性与druid流式数据摄取能力,提高了数据处理的效率,实现了对地震数据的实时处理。

29、(2)本发明通过druid对摄取后的地震数据进行转换、聚合等操作,实现了对地震数据的高效摄取与快速查询的效果,同时对地震数据进行分区、压缩等操作,对地震数据高效存储,优化了存储空间利用率。

30、(3)本发明主要基于druid来进行系统设计,没有过多技术框架的组合,同时各个模块设计简洁清晰,减少了系统的耦合,优化了系统资源利用,同时druid的界面化操作也减少了学习曲线难度,更易于操作。


技术特征:

1.一种基于数据库druid的地震数据流存储与检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,获取地震数据并进行解析,具体为:

3.根据权利要求1所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,采用数据库druid存储解析后的地震数据,具体为:

4.根据权利要求3所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,通过数据库druid的网页交互界面对流式摄取的地震数据按照属性进行转换并进行相应配置,具体为:

5.根据权利要求4所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,对配置后的地震数据执行分区分块操作,具体为:将地震数据源时间列进行预聚合并按时间戳进行分区,基于所选分段粒度方式进行分块处理。

6.根据权利要求1所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,所述数据库druid在partition模块指定分区策略,将地震数据均匀地分布到不同的存储分片,且在数据库druid中配置compaction参数来控制周期性合并最小几个存储分片的行为。

7.根据权利要求1所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,所述数据库druid的压缩方式包括uncompressed、lzf、lz4。

8.根据权利要求1所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,在数据库druid的supervisors模块对地震数据读取任务进行查看,且读取任务的运行状态在tasks模块进行查看,segments模块对地震数据分段摄取情况进行查看,datasources模块对摄取任务所创建的时序数据库进行查看。

9.根据权利要求1所述一种基于数据库druid的地震数据流存储与检测方法,其特征在于,对地震数据进行检测,具体为:

10.一种基于数据库druid的地震数据流存储与检测方法,其特征在于,包括:


技术总结
本发明公开了一种基于数据库Druid的地震数据流存储与检测方法及系统,其方法包括:采用解析方式和预处理程序结合消息队列(例如:Kafka)对地震数据进行数据处理;利用Druid对地震数据进行摄取,转换配置,分区压缩等操作;利用检测算法从Druid中高效读取数据进行地震数据检测。本发明所构建的方案实现了实时处理需求,有效提高了地震数据处理效率,确保了地震数据能够及时而迅速地被系统处理;还实现了高效的数据存储和查询,相比于传统方式中存在的空间利用问题,提升了系统性能;本发明通过简洁而有效的系统设计,减少了操作复杂性,提高了系统资源的利用率。

技术研发人员:高兵,李浩,邹启杰,汪祖民,刘瑞
受保护的技术使用者:大连大学
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/index.php/read-1819480.html

最新回复(0)