通用测震数据获取软件包设计与实现.docxVIP

通用测震数据获取软件包设计与实现.docx

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

通用测震数据获取软件包设计与实现

0引言

随着“九五”和“十五”项目的建设完成,中国地震局推广的地震监测系统JOPENS在地震日常工作及大震速报方面发挥了重要作用。随着我国社会经济的发展,政府和民众对地震行业提出了更高的要求,快速、实时利用数字地震波形开展地震学相关学科的研究、地震预警、震源参数反演、“新参数地震目录”的产生等工作已提上日程。但JOPENS没有提供二次开发的接口,地震科技工作者在获取地震数据时面临很多难题,尤其是测震数据存在多数据源的情况,如JOPENS/SSS实时测震流数据、来自JOPENS数据库的连续波形数据和事件波形数据、SEED波形文件等,并且这些数据的格式繁多复杂,需要了解这些数据的存储方式、格式等。针对这些问题,本研究开发的软件包将提供一个简单、可靠、统一的方案,可读取不同数据源的测震数据,从而方便后期数据的处理。

1总体结构

本软件包的主要功能是为应用程序提供一个统一的获取测震数据的平台。根据数据源的不同,本软件包分为3个独立的模块,总体模块图如图1所示,分别为:SSS流数据处理模块、JOPENS数据库处理模块、SEED文件处理模块。SSS流数据处理模块用来读取SSS服务器的实时测震数据,JOPENS数据库处理模块用于处理JOPENS数据库中的连续波形和事件波形数据,SEED文件处理模块用于读取SEED波形文件。这些模块分别将不同的数据转换为统一数据格式,最终为应用程序提供指定台站、通道、采样率的测震数据。本软件包基于。平台,采用C#语言开发,具有使用简单、完全面向对象、层次清晰、效率高等优点。

2统一数据接口

为了能够提供统一的数据接口,本软件包自行定义了对外的统一数据接口S_data。三大模块将获取到的原始数据转换为统一的格式,最后由S_data统一提供给应用程序。下面是统一数据接口S_data相关数据结构的定义。图2为统一数据接口类的结构图。

类S_data用来存放多个台站的测震数据。stations_name用来存储台站名称的数组,stations是存放台站所有数据的数组。本软件包对外提供的所有测震数据都通过这个类来提供。

类S_Sation_data用来存放单个台站数据。channels_name是存储该台站中所有通道名称的数组,channels是存放该台站所有通道原始数据的数组。

方法getData_Time[KG0]和getStreamData_Time[KG0]根据指定台站名、通道名和采样率获取测震数据。当前测震数据的采样率通常为100Hz,数据量很大,同一台站同一通道一天记录的数据达到8640000个,存在计算量大的困难,用户可能需要不同采样率的数据来满足不同的需求,因此本软件包提供了自行设定采样率的功能。方法getStreamData_Time[KG0]用于获取流数据。方法getData_Time[KG0]应用于读取数据库和SEED文件数据。

3流数据处理模块

/IP流服务协议

目前“十五”项目测震台网采用SSS流服务器来负责接收和分发近实时波形数据,该服务遵守NetSeis/IP流服务协议,默认采用5000端口提供实时地震数据流。NetSeis/IP协议类似FTP协议,主要参考了美国AlbuquerqueSeismologicalLaboratory的LISS协议和TCP/IP协议,用于传送实时地震波形数据。

设计思路

本模块共有两个线程——控制线程和接收数据线程。控制线程负责初始化SSS服务器连接、获取数据端口和创建接收数据线程;接收数据线程负责创建数据连接、接收数据、处理解压缩数据并将其转换为统一格式供应用程序使用。

当控制线程连接到SSS服务器时,服务器将验证用户名和密码,通过身份验证后控制线程发送PASVRT命令,SSS服务器收到命令后,动态分配一个数据端口。接收数据线程连接到此端口上,再发送RETR命令,SSS服务器收到命令后,验证请求的台站数据可被下载后,通过该数据端口将请求的台站波形数据发送给接收数据线程。本模块的程序流程图见图3。接收数据线程从SSS服务器上接收的数据实际上是大小为512字节的纯数据SEED卷。该卷包含有固定头段部分和数据部分,总长度512个字节,主要记录台站名、通道名、记录起始时间、样本数目、测震数据等。每次接收的纯数据SEED帧中的样本数目并不完全一致,大约在500左右,也就是说在采样率为100的情况下,该帧记录了同一台站同一通道约5s左右的测震数据,同一台站同一通道的前后数据帧间隔5s左右。

4JOPENS数据库处理模块

JOPENS系统使用数据库存储系统接收和产出的各种数据。JOPENS系统使用的数据库为开源数据库MySQL,当前使用的版本为。

平台

文档评论(0)

180****1080 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档