CN112859166A - 地震数据处理方法及装置 - Google Patents

地震数据处理方法及装置 Download PDF

Info

Publication number
CN112859166A
CN112859166A CN201911180351.4A CN201911180351A CN112859166A CN 112859166 A CN112859166 A CN 112859166A CN 201911180351 A CN201911180351 A CN 201911180351A CN 112859166 A CN112859166 A CN 112859166A
Authority
CN
China
Prior art keywords
seismic data
computing cluster
data
seismic
tag
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.)
Pending
Application number
CN201911180351.4A
Other languages
English (en)
Inventor
赵长海
文佳敏
王增波
杜吉国
侯红军
李军茹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China National Petroleum Corp
BGP Inc
Original Assignee
China National Petroleum Corp
BGP Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China National Petroleum Corp, BGP Inc filed Critical China National Petroleum Corp
Priority to CN201911180351.4A priority Critical patent/CN112859166A/zh
Publication of CN112859166A publication Critical patent/CN112859166A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V1/00Seismology; Seismic or acoustic prospecting or detecting
    • G01V1/28Processing seismic data, e.g. for interpretation or for event detection
    • G01V1/32Transforming one recording into another or one representation into another
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V2210/00Details of seismic processing or analysis
    • G01V2210/40Transforming data representation
    • G01V2210/48Other transforms
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V2210/00Details of seismic processing or analysis
    • G01V2210/70Other details related to processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Environmental & Geological Engineering (AREA)
  • Geology (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Geophysics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种地震数据处理方法及装置,其中方法包括:计算集群接收待写入的地震数据和对应的标签;若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。本发明实施例利用计算集群和共享存储设备两种存储设备,避免了因计算集群存储空间不足而影响程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。

Description

地震数据处理方法及装置
技术领域
本发明涉及数据处理技术领域,尤其涉及地震数据处理方法及装置。
背景技术
在石油勘探过程中,科学家们采用地震勘探技术采集大量地震数据来分析地下地质结构,用以生成地质结构图像,进而有效地对潜在油藏区域进行定位。随着新的勘探技术和高精度采集技术投入使用,原始地震数据规模不断增加,当前100TB级数据规模的项目已经十分普遍,甚至已经出现了PB级数据规模的单个项目。如此庞大的数据量给地震勘探领域带来了前所未有的挑战。
根据地震数据访问特点将使用地震数据的应用程序分为数据密集型程序、计算密集型程序和交互式程序。数据密集型程序数据吞吐量比较大,而计算量相对比较小;计算密集型程序算法复杂度比较高,计算量大,一般运行在多个计算节点上,并且要求独占节点的计算资源。运行过程中的数据吞吐量也比较大;交互式程序被石油科学家用于查看其他应用程序处理的结果,其计算量和数据的吞吐量都比较小,但是用户会使用多样的查询条件对地震数据进行查询。总的来说,地震数据处理领域中对数据的访问主要具有以下四个特点:数据吞吐量大,时间局部性好,读负载比例高,顺序访问比例高。
现有技术中主要使用计算集群来存储和处理海量地震数据。集群各计算节点通过交换机互连,每个节点上都配有若干个本地存储设备,被称为分布式存储,但是随着地震数据规模持续增加,分布式存储容易出现计算集群存储空间不足的问题,影响程序运行效率和存储资源利用率。
发明内容
本发明实施例提供一种地震数据处理方法,用以高效可靠处理地震数据,避免因计算集群存储空间不足而影响程序运行效率和存储资源利用率,该方法包括:
计算集群接收待写入的地震数据和对应的标签;
若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;
计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。
本发明实施例提供一种地震数据处理装置,用以高效可靠处理地震数据,避免因计算集群存储空间不足而影响程序运行效率和存储资源利用率,该装置包括:
接收模块,用于接收待写入的地震数据和对应的标签;
判断模块,用于若计算集群中历史地震数据的数据量大于预设值,将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;
处理模块,用于根据所述待写入的地震数据和对应的标签,进行地震数据处理。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述地震数据处理方法。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述地震数据处理方法。
相对于现有技术中仅使用计算集群来存储和处理海量地震数据的方案而言,本发明实施例通过计算集群接收待写入的地震数据和对应的标签;若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。本发明实施例利用计算集群和共享存储设备两种存储设备,在写入地震数据时首先判断计算集群中历史地震数据的数据量,若计算集群中历史地震数据的数据量大于预设值,则将历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据,从而为计算集群写入新的地震数据留出存储空间,避免了因计算集群存储空间不足而影响程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
本发明实施例提供一种地震数据处理方法,用以高效可靠处理地震数据,避免因计算集群存储空间不足而影响程序运行效率和存储资源利用率,该方法包括:
向计算集群发送第一读数据指令和待读取地震数据的标签;
接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;
根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
本发明实施例提供一种地震数据处理装置,用以高效可靠处理地震数据,避免因计算集群存储空间不足而影响程序运行效率和存储资源利用率,该装置包括:
发送模块,用于向计算集群发送第一读数据指令和待读取地震数据的标签;
接收模块,用于接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;
处理模块,用于根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述地震数据处理方法。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述地震数据处理方法。
相对于现有技术中仅使用计算集群来存储和处理海量地震数据的方案而言,本发明实施例通过向计算集群发送第一读数据指令和待读取地震数据的标签;接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。本发明实施例利用计算集群和共享存储设备两种存储设备,在读取地震数据时首先根据待读取地震数据的标签判断待读取地震数据存储在计算集群还是共享存储设备中,判断的结果以计算集群信息或共享存储设备信息的形式携带在第二读数据指令中,进而根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,从而提高了程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中地震数据处理方法示意图;
图2为本发明实施例中地震数据处理装置结构图;
图3为本发明实施例中地震数据处理方法示意图;
图4为本发明实施例中地震数据处理装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
为了高效可靠处理地震数据,避免因计算集群存储空间不足而影响程序运行效率和存储资源利用率,本发明实施例提供一种地震数据处理方法,如图1所示,该方法可以包括:
步骤101、计算集群接收待写入的地震数据和对应的标签;
步骤102、若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;
步骤103、计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。
由图1所示可以得知,本发明实施例通过计算集群接收待写入的地震数据和对应的标签;若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。本发明实施例利用计算集群和共享存储设备两种存储设备,在写入地震数据时首先判断计算集群中历史地震数据的数据量,若计算集群中历史地震数据的数据量大于预设值,则将历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据,从而为计算集群写入新的地震数据留出存储空间,避免了因计算集群存储空间不足而影响程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
具体实施时,计算集群接收待写入的地震数据和对应的标签。
实施例中,所述待写入的地震数据对应的标签可以为地震数据名称。
实施例中,待写入的地震数据的粒度为数据体。发明人发现,地震应用程序都会扫描全部数据体,在一个数据体内,各个地震道的访问频度差距不大,不存在会被频繁访问的热点地震道数据,且在数据体的粒度上已经足以描述地震数据的访问特征;并且,在大规模处理集群上,计算集群的存储空间的大小会在PB或者几十PB级别,能够缓存上千亿至上万亿条地震道,如果以地震道作为存储粒度,会大大提高系统的元数据管理的复杂度,降低系统的效率。因此,本发明实施例以数据体作为待写入的地震数据粒度能够有效降低系统的复杂度。
具体实施时,若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据。
发明人发现,现有技术中主要使用计算集群来存储和处理海量地震数据。集群各计算节点通过交换机互连,每个节点上都配有若干个本地存储设备,被称为分布式存储,但是随着地震数据规模持续增加,分布式存储容易出现计算集群存储空间不足的问题,影响程序运行效率和存储资源利用率。因此,本发明实施例还设置了共享存储设备,与计算集群互联,具有方便共享、稳定性高和易于扩展等优势。利用计算集群和共享存储设备两种存储设备,在写入地震数据时首先判断计算集群中历史地震数据的数据量,若计算集群中历史地震数据的数据量大于预设值,则将历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据,从而为计算集群写入新的地震数据留出存储空间,避免了因计算集群存储空间不足而影响程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
具体实施时,计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。
实施例中,计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理,包括:将待写入的地震数据对应的标签与计算集群中的历史标签进行比对,根据比对结果在计算集群中写入所述待写入的地震数据。以地震数据名称为例,若计算集群中存在与待写入的地震数据相同的地震数据名称,则可以删除计算集群中已存在的该地震数据名称,然后再在计算集群中写入所述待写入的地震数据,也可以直接进行追加写或者截断操作。
实施例中,所述根据比对结果在计算集群中写入所述待写入的地震数据,包括:根据比对结果在计算集群中按地震道写入所述待写入的地震数据,根据比对结果在计算集群中按地震道头写入所述待写入的地震数据,或根据比对结果在计算集群中按地震道体写入所述待写入的地震数据。本实施例不限于执行写操作,还可以执行截断操作,即根据比对结果在计算集群中按地震道截断地震数据,根据比对结果在计算集群中按地震道头截断地震数据,或根据比对结果在计算集群中按地震道体截断地震数据。
实施例中,利用SeisBase的接口创建数据体。其中,利用HeadType描述道头中的各个关键字的数据类型,利用TraceType描述地震道体数据的采样点个数。这两个参数在地震数据体创建时决定了地震道的数据组织结构。对地震数据的写操作都是以顺序追加的方式执行的,以保证写操作的性能。在并行应用程序中,可能会有多个计算线程将处理结果写入到同一个数据体中。为了避免并发写时的多线程同步,SeisBase提供了地震数据体合并的接口。多个线程可以分别写到单独的数据体中,然后将结果进行合并。
基于同一发明构思,本发明实施例还提供了一种地震数据处理装置,如下面的实施例所述。由于这些解决问题的原理与地震数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图2为本发明实施例中地震数据处理装置的结构图,如图2所示,该装置包括:
接收模块201,用于接收待写入的地震数据和对应的标签;
判断模块202,用于若计算集群中历史地震数据的数据量大于预设值,将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;
处理模块203,用于根据所述待写入的地震数据和对应的标签,进行地震数据处理。
一个实施例中,所述处理模块203进一步用于:将待写入的地震数据对应的标签与计算集群中的历史标签进行比对,根据比对结果在计算集群中写入所述待写入的地震数据。
一个实施例中,所述根据比对结果在计算集群中写入所述待写入的地震数据,包括:根据比对结果在计算集群中按地震道写入所述待写入的地震数据,根据比对结果在计算集群中按地震道头写入所述待写入的地震数据,或根据比对结果在计算集群中按地震道体写入所述待写入的地震数据。
为了高效可靠处理地震数据,避免因计算集群存储空间不足而影响程序运行效率和存储资源利用率,本发明实施例提供另一种地震数据处理方法,如图3所示,该方法可以包括:
步骤301、向计算集群发送第一读数据指令和待读取地震数据的标签;
步骤302、接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;
步骤303、根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
由图3所示可以得知,本发明实施例通过向计算集群发送第一读数据指令和待读取地震数据的标签;接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。本发明实施例利用计算集群和共享存储设备两种存储设备,在读取地震数据时首先根据待读取地震数据的标签判断待读取地震数据存储在计算集群还是共享存储设备中,判断的结果以计算集群信息或共享存储设备信息的形式携带在第二读数据指令中,进而根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,从而提高了程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
具体实施时,向计算集群发送第一读数据指令和待读取地震数据的标签。
实施例中,所述待读取地震数据的标签可以为地震数据名称。
实施例中,待读取地震数据的粒度为数据体。发明人发现,地震应用程序都会扫描全部数据体,在一个数据体内,各个地震道的访问频度差距不大,不存在会被频繁访问的热点地震道数据,且在数据体的粒度上已经足以描述地震数据的访问特征;并且,在大规模处理集群上,计算集群的存储空间的大小会在PB或者几十PB级别,能够缓存上千亿至上万亿条地震道,如果以地震道作为存储粒度,会大大提高系统的元数据管理的复杂度,降低系统的效率。因此,本发明实施例以数据体作为待读取地震数据粒度能够有效降低系统的复杂度。
具体实施时,接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息。
实施例中,如果计算集群中的历史标签中不存在与待读取地震数据的标签对应的标签,则计算集群反馈的第二读数据指令中携带共享存储设备信息;如果计算集群中的历史标签中存在与待读取地震数据的标签对应的标签,则计算集群反馈的第二读数据指令中携带计算集群信息。
具体实施时,根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
实施例中,根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,包括:若所述第二读数据指令中携带共享存储设备信息,根据所述共享存储设备信息和待读取地震数据的标签,从共享存储设备中读取所述标签对应的地震数据。
实施例中,根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,包括:若所述第二读数据指令中携带计算集群信息,获取预设的CPR参数值,根据所述计算集群信息,预设的CPR参数值和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。若所述第二读数据指令中携带计算集群信息,说明计算集群中的历史标签中存在与待读取地震数据的标签对应的标签,但是也不排除共享存储设备中的历史标签中也存在与待读取地震数据的标签对应的标签。如果只有计算集群中的历史标签中存在与待读取地震数据的标签对应的标签,则直接从计算集群中读取所述标签对应的地震数据;如果计算集群和共享存储设备中的历史标签中都存在与待读取地震数据的标签对应的标签,则需要在两个之间进行选择。
本实施例中,计算集群和共享存储设备选择的方式为:根据实时的负载情况为应用程序动态地选择地震数据的来源,将地震数据的I/O负载尽可能均匀地分布在两类存储设备上。SeisBase对应用程序负载的调度是依靠一个全局参数,即计算集群与共享存储设备比例(Cache Persistence Ratio,CPR)来实现的。应用程序在读取数据时,如果检测到计算集群和共享存储设备上都有与待读取地震数据的标签对应的标签,就会根据CPR参数值随机地选择其读取数据的位置。这样在整个集群范围内,读数据负载就能够按照CPR的比例分配到两类存储设备上。CPR的初始值被设置为计算集群和共享存储设备的峰值带宽比例,但CPR的值必须能够随着存储设备的负载情况的变化随时地调整。为了描述存储设备的负载情况,可以在SeisBase的方案中选择一段时间内存储设备上的各进程的平均顺序读速度(Sequential Read Speed,SeqRS)作为性能指标。一个存储设备的SeqRS定义为一段时间内所有从该设备上顺序读取数据的进程的读速度平均值。应用程序的进程在调用SeisBase的接口读数据时,SeisBase会周期性地分析进程的读数据模式。如果在一个统计周期内该进程是以顺序读的方式访问数据,就将统计周期内的平均读速度写入该进程相应的日志文件中。集群中会启动一个守护进程cpr_daemon,周期性扫描所有的日志文件并分别计算计算集群和共享存储设备上SeqRS,如果SeqRS下降则认为设备上的负载过重。之后cpr_daemon会根据负载情况及时地调整CPR参数的数值,为负载较少的存储设备设置更高的比例。CPR的调整只能改变未来新产生的负载的分配比例,具有一定的滞后性。为了能够及时响应负载不均的情况,SeisBase会在CPR的值进行调整之后对集群中的负载进行实时转移,将一部分进程的读操作从高负载设备转移到低负载设备上,消除存储系统中已经存在的负载不均衡问题。
实施例中,利用SeisBase的接口读取地震数据的C++代码。对数据集进行扫描是地震应用程序中最常见的读数据模式,因此SeisBase提供了Next接口方便对数据集的迭代访问。应用程序可以通过RowFilter指定扫描过程中的数据过滤规则,RowFilter中可以指定某个地震道头关键字的取值范围,只有符合该规律规则的地震道才会在扫描的过程中返回给应用程序。通过设置Order参数可以保证扫描过程中返回的结果是按照某些道头关键字有序的。如果地震应用程序只对地震道头中的某几个关键字字段感兴趣,可以利用HeadFilter指定道头的过滤规则,在Next返回的结果中只包含需要的道头关键字。
实施例中,SeisBase采用HDFS分布式文件系统。
基于同一发明构思,本发明实施例还提供了一种地震数据处理装置,如下面的实施例所述。由于这些解决问题的原理与地震数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图4为本发明实施例中地震数据处理装置的结构图,如图4所示,该装置包括:
发送模块401,用于向计算集群发送第一读数据指令和待读取地震数据的标签;
接收模块402,用于接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;
处理模块403,用于根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
一个实施例中,所述处理模块403进一步用于:若所述第二读数据指令中携带共享存储设备信息,根据所述共享存储设备信息和待读取地震数据的标签,从共享存储设备中读取所述标签对应的地震数据。
一个实施例中,所述处理模块403进一步用于:若所述第二读数据指令中携带计算集群信息,获取预设的CPR参数值,根据所述计算集群信息,预设的CPR参数值和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
下面给出一个具体实施例,说明本发明实施例中地震数据处理方法的具体应用。在本具体实施例中,由于融合了计算集群和共享存储设备的两层存储结构对用户是不可见的,因此用户也不需要关心其需要写入的地震数据将会被放在什么地方以及其需要读出的地震数据来自什么地方。SeisBase为地震应用程序提供了一套接口用于访问、管理地震数据体和地震道。对地震数据体的操作包括删除,拷贝,数据名变更,以及获取数据体的一些相关信息,如地震道数、道头关键字的个数等。在SeisBase中以数据体为缓存数据的粒度,对缓存数据的载入、替换、清理以及回写等操作的对象都以数据体为单位。本例依靠实现两个类来完成数据的写入和读取功能,分别是Writer类和Reader类。
本发明利用SeisBase数据库系统提供了写地震数据的接口和方法,按如下方式对地震数据进行写入:首先根据提供的需要写的地震数据名data_name参数调用SeisCache(const std::string&data_name)函数,将这个新生成的对象命名为sc。对sc对象调用Exits()函数,判断是否已经有名为data_name的地震数据存在。如果该函数返回true,说明SeisBase地震数据库中已经存在同名的地震数据;返回false说明不存在以改名字命名的地震数据。如果名为data_name的地震数据存在,可以选择删除该数据然后再进行写操作,也可以直接进行追加写或者截断操作。对sc对象调用OpenWriter()函数生成一个writer对象,对writer对象调用Write()函数或者Truncate()函数可以直接按地震道执行写或截断操作。对sc对象调用OpenHeadWriter()函数生成一个headwriter对象,对headwriter对象调用Write()函数或者Truncate()函数可以直接按地震道头执行写或截断操作。对sc对象调用OpenTraceWriter()函数生成一个tracewriter对象,对tracewriter对象调用Write()函数或者Truncate()函数可以直接按地震道体执行写或截断操作。在写完之后调用Sync()函数确保写入的地震数据及时放入存储设备。对各writer对象调用Close()函数关闭写过程。
本例利用SeisBase数据库系统提供了读取地震数据的接口和方法,按如下方式对地震数据进行读取:首先根据提供的需要写的地震数据名data_name参数调用SeisCache(const std::string&data_name)函数,将这个新生成的对象命名为sc。对sc对象调用Exits()函数,判断是否已经有名为data_name的地震数据存在。如果该函数返回true,说明SeisBase地震数据库中已经存在同名的地震数据,可以进行读取;返回false说明不存在以改名字命名的地震数据,则无法进行地震数据读取。对sc对象调用OpenReader()函数生成一个reader对象。如果需要对道头关键字进行过滤,则根据该过滤规则对reader对象调用SetHeadFilter()函数;如果需要对读取的地震道进行行过滤,则根据过滤规则对reader对象调用SetRowFlter()函数。对sc对象调用OpenHeadReader()函数生成一个headreader对象。如果需要对道头关键字进行过滤,则根据该过滤规则对reader对象调用SetHeadFilter()函数;如果需要对读取的地震道进行行过滤,则根据过滤规则对reader对象调用SetRowFlter()函数。对sc对象调用OpenTraceReader()函数生成一个tracereader对象。如果需要对读取的地震道进行行过滤,则根据过滤规则对reader对象调用SetRowFlter()函数。在设置完各项过滤规则后,对各reader对象调用Get()函数或者Next()函数进行读操作并将读出的数据放入相应的buffer中。对各reader对象调用Close()函数关闭读过程。
综上所述,本发明实施例通过计算集群接收待写入的地震数据和对应的标签;若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。本发明实施例利用计算集群和共享存储设备两种存储设备,在写入地震数据时首先判断计算集群中历史地震数据的数据量,若计算集群中历史地震数据的数据量大于预设值,则将历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据,从而为计算集群写入新的地震数据留出存储空间,避免了因计算集群存储空间不足而影响程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
本发明实施例通过向计算集群发送第一读数据指令和待读取地震数据的标签;接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。本发明实施例利用计算集群和共享存储设备两种存储设备,在读取地震数据时首先根据待读取地震数据的标签判断待读取地震数据存储在计算集群还是共享存储设备中,判断的结果以计算集群信息或共享存储设备信息的形式携带在第二读数据指令中,进而根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,从而提高了程序运行效率和存储资源利用率,实现了高效可靠地处理地震数据。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种地震数据处理方法,其特征在于,包括:
计算集群接收待写入的地震数据和对应的标签;
若计算集群中历史地震数据的数据量大于预设值,计算集群将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;
计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理。
2.如权利要求1所述的方法,其特征在于,计算集群根据所述待写入的地震数据和对应的标签,进行地震数据处理,包括:将待写入的地震数据对应的标签与计算集群中的历史标签进行比对,根据比对结果在计算集群中写入所述待写入的地震数据。
3.如权利要求2所述的方法,其特征在于,所述根据比对结果在计算集群中写入所述待写入的地震数据,包括:根据比对结果在计算集群中按地震道写入所述待写入的地震数据,根据比对结果在计算集群中按地震道头写入所述待写入的地震数据,或根据比对结果在计算集群中按地震道体写入所述待写入的地震数据。
4.一种地震数据处理方法,其特征在于,包括:
向计算集群发送第一读数据指令和待读取地震数据的标签;
接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;
根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
5.如权利要求4所述的方法,其特征在于,根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,包括:
若所述第二读数据指令中携带共享存储设备信息,根据所述共享存储设备信息和待读取地震数据的标签,从共享存储设备中读取所述标签对应的地震数据。
6.如权利要求4所述的方法,其特征在于,根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据,包括:
若所述第二读数据指令中携带计算集群信息,获取预设的CPR参数值,根据所述计算集群信息,预设的CPR参数值和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
7.一种地震数据处理装置,其特征在于,包括:
接收模块,用于接收待写入的地震数据和对应的标签;
判断模块,用于若计算集群中历史地震数据的数据量大于预设值,将所述历史地震数据回写至共享存储设备,删除计算集群中设定数量的历史地震数据;
处理模块,用于根据所述待写入的地震数据和对应的标签,进行地震数据处理。
8.如权利要求7所述的装置,其特征在于,所述处理模块进一步用于:将待写入的地震数据对应的标签与计算集群中的历史标签进行比对,根据比对结果在计算集群中写入所述待写入的地震数据。
9.如权利要求8所述的装置,其特征在于,所述根据比对结果在计算集群中写入所述待写入的地震数据,包括:根据比对结果在计算集群中按地震道写入所述待写入的地震数据,根据比对结果在计算集群中按地震道头写入所述待写入的地震数据,或根据比对结果在计算集群中按地震道体写入所述待写入的地震数据。
10.一种地震数据处理装置,其特征在于,包括:
发送模块,用于向计算集群发送第一读数据指令和待读取地震数据的标签;
接收模块,用于接收所述计算集群根据比对结果反馈的第二读数据指令,其中所述比对结果是将待读取地震数据的标签与计算集群中的历史标签进行比对的结果,所述第二读数据指令中携带计算集群信息或共享存储设备信息;
处理模块,用于根据所述第二读数据指令中携带的信息和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
11.如权利要求10所述的装置,其特征在于,所述处理模块进一步用于:若所述第二读数据指令中携带共享存储设备信息,根据所述共享存储设备信息和待读取地震数据的标签,从共享存储设备中读取所述标签对应的地震数据。
12.如权利要求10所述的装置,其特征在于,所述处理模块进一步用于:若所述第二读数据指令中携带计算集群信息,获取预设的CPR参数值,根据所述计算集群信息,预设的CPR参数值和待读取地震数据的标签,从计算集群或共享存储设备中读取所述标签对应的地震数据。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至6任一所述方法的计算机程序。
CN201911180351.4A 2019-11-27 2019-11-27 地震数据处理方法及装置 Pending CN112859166A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911180351.4A CN112859166A (zh) 2019-11-27 2019-11-27 地震数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911180351.4A CN112859166A (zh) 2019-11-27 2019-11-27 地震数据处理方法及装置

Publications (1)

Publication Number Publication Date
CN112859166A true CN112859166A (zh) 2021-05-28

Family

ID=75985415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911180351.4A Pending CN112859166A (zh) 2019-11-27 2019-11-27 地震数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112859166A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030078946A1 (en) * 2001-06-05 2003-04-24 Laurie Costello Clustered filesystem
US20040143607A1 (en) * 2001-06-05 2004-07-22 Silicon Graphics, Inc. Recovery and relocation of a distributed name service in a cluster filesystem
CN102576088A (zh) * 2009-10-21 2012-07-11 雪佛龙美国公司 集群地震能波至以增强地下成像的系统和方法
CN102866424A (zh) * 2012-09-18 2013-01-09 中国石油天然气股份有限公司 一种基于云计算的地震资料远程处理系统
CN104570081A (zh) * 2013-10-29 2015-04-29 中国石油化工股份有限公司 一种积分法叠前时间偏移地震资料处理方法及系统
CN105389196A (zh) * 2014-09-04 2016-03-09 中国石油化工股份有限公司 利用虚拟化技术进行地震资料处理的方法
US20160266266A1 (en) * 2014-08-13 2016-09-15 Chevron U.S.A. Inc. Systems and methods employing upward beam propagation for target-oriented seismic imaging
CN107832017A (zh) * 2017-11-14 2018-03-23 中国石油集团川庆钻探工程有限公司地球物理勘探公司 一种提高地震数据存储io性能的方法及装置
CN109344135A (zh) * 2018-10-18 2019-02-15 中国海洋石油集团有限公司 一种自动负载均衡的文件锁并行地震处理作业调度方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030078946A1 (en) * 2001-06-05 2003-04-24 Laurie Costello Clustered filesystem
US20040143607A1 (en) * 2001-06-05 2004-07-22 Silicon Graphics, Inc. Recovery and relocation of a distributed name service in a cluster filesystem
CN102576088A (zh) * 2009-10-21 2012-07-11 雪佛龙美国公司 集群地震能波至以增强地下成像的系统和方法
CN102866424A (zh) * 2012-09-18 2013-01-09 中国石油天然气股份有限公司 一种基于云计算的地震资料远程处理系统
CN104570081A (zh) * 2013-10-29 2015-04-29 中国石油化工股份有限公司 一种积分法叠前时间偏移地震资料处理方法及系统
US20160266266A1 (en) * 2014-08-13 2016-09-15 Chevron U.S.A. Inc. Systems and methods employing upward beam propagation for target-oriented seismic imaging
CN105389196A (zh) * 2014-09-04 2016-03-09 中国石油化工股份有限公司 利用虚拟化技术进行地震资料处理的方法
CN107832017A (zh) * 2017-11-14 2018-03-23 中国石油集团川庆钻探工程有限公司地球物理勘探公司 一种提高地震数据存储io性能的方法及装置
CN109344135A (zh) * 2018-10-18 2019-02-15 中国海洋石油集团有限公司 一种自动负载均衡的文件锁并行地震处理作业调度方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Y.WANG 等: "HIDStore: A Hierarchical Intermediate Data Storage System for Seismic Processing Application", 2018 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING, 31 December 2018 (2018-12-31), pages 145 - 149 *
尹龙 等: "大规模计算机集群在地震勘探资料处理中的应用探讨", 计算机时代, no. 08, pages 1 - 3 *
文佳敏 等: "GeoEast海量地震数据高效处理技术", 石油工业计算机应用, vol. 24, no. 03, pages 12 - 19 *
李军茹 等: "两宽一高海量地震数据的存储与处理方案", 石油工业计算机应用, no. 1 *
杜吉国 等: "Lustre 并行文件系统在地震数据处理中的应用", 物探装备, vol. 23, no. 5, pages 294 - 299 *
赵长海 等: "面向地震数据处理的并行与分布式编程框架", 石油地球物理勘探, vol. 45, no. 01, pages 146 - 155 *

Similar Documents

Publication Publication Date Title
CN109254733B (zh) 用于存储数据的方法、装置和系统
US9367574B2 (en) Efficient query processing in columnar databases using bloom filters
US20220350819A1 (en) System and method for improved performance in a multidimensional database environment
Li et al. A platform for scalable one-pass analytics using mapreduce
US9507807B1 (en) Meta file system for big data
US9736270B2 (en) Automated client/server operation partitioning
CN104040481A (zh) 用于融合、存储和检索增量式备份数据的方法和系统
US20140258315A9 (en) Method And Process For Enabling Distributing Cache Data Sources For Query Processing And Distributed Disk Caching Of Large Data And Analysis Requests
JPH10501086A (ja) 記憶プレーン編成及びそれに基づく記憶システム
CN107665219B (zh) 一种日志管理方法及装置
US8019765B2 (en) Identifying files associated with a workflow
Merceedi et al. A comprehensive survey for hadoop distributed file system
CN107506466B (zh) 一种小文件存储方法及系统
CN111488323B (zh) 一种数据处理方法、装置及电子设备
Aggarwal et al. Small files’ problem in Hadoop: A systematic literature review
US20080270742A1 (en) System and method for storage structure reorganization
US10095738B1 (en) Dynamic assignment of logical partitions according to query predicate evaluations
CN108334532B (zh) 一种基于Spark的Eclat并行化方法、系统及装置
Marcu KerA: A Unified Ingestion and Storage System for Scalable Big Data Processing
Gu et al. Processing massive sized graphs using sector/sphere
CN112859166A (zh) 地震数据处理方法及装置
Kim et al. DSP-CC-: I/O efficient parallel computation of connected components in billion-scale networks
Ammar et al. Improved FTWeightedHashT apriori algorithm for Big Data using Hadoop-MapReduce model
CA2918472C (en) A method and process for enabling distributing cache data sources for query processing and distributed disk caching of large data and analysis requests
CN116450053B (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