数据处理方法和装置与流程

文档序号:12668204阅读:212来源:国知局
数据处理方法和装置与流程

本申请涉及地质建模技术领域,特别涉及一种数据处理方法和装置。



背景技术:

在进行地质建模的过程中,往往需要先将地质资料导入建模软件的项目工区。例如,使用地质建模软件Petrel2014进行地质建模时,常常需要多种专业数据的协同分析,尤其需要以地质分层数据作为支撑。其中,上述Petrel2014是利用地质静态基础资料(地质数据)进行地质建模的一种专业工具。通过Petrel2014能够完成构造、储层、沉积相等地质建模工作,进而可以根据模型结果反映油藏储层的地质构造和几何形态,是油藏开发阶段进行精细油藏描述和生产措施部署的重要手段。上述地质分层数据作为一项成果数据,一般保存在项目数据库中。具体实施时,往往需要将存储在项目数据库中的地质分层数据从项目数据库中导入至地质建模软件Petrel2014的建模项目工区中。

但是,现有的数据处理方法在将待导入数据导入预设工区的过程中尚未形成一套统一的处理规则和处理流程。具体实施时,由于对地质认识理解的差异,在对地质数据处理的过程和将数据分层导入的过程可能不完全相同,进而导致导入时会产生输入误差。例如,同一个区域的同一地质数据,由于使用不同的数据处理方法导入,或者在不同阶段采用同一种数据处理方法导入,最后均可能会产生一套或者多套不同的分层数据。并且,现有方法的整个处理过程极其繁琐,耗时较长。此外,由于没有一套统一的处理规则和处理流程,导入数据的准确性也得不到保障。因此,现有的数据处理方法具体实施时,往往存在操作繁琐、处理效率低和准确性差的技术问题。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种数据处理方法和装置,以解决现有的数据处理方法中存在的操作繁琐、处理效率低和准确性差的技术问题。

本申请实施例提供了一种数据处理方法,包括:

接收数据请求包,其中,所述数据请求包包括待导入的地质数据的第一信息,所述第一信息包括:待导入的地质数据的名称和待导入的地质数据的分层数据的名称;

根据所述待导入的地质数据的名称,从数据库中确定与所述待导入的地质数据对应的地质分层数据集,其中,所述地质分层数据集中包括多个分层数据;

获取目标分层数据标识;

根据所述目标分层数据标识,从所述地质分层数据集中选择一个或多个分层数据,作为分层数据集合;

对所述分层数据集合进行封装处理,生成分层数据结构体数据包;

将所述分层数据结构体数据包导入预设项目工区,以进行地质建模处理。

一个实施方式中,根据所述待导入的地质数据的名称,从数据库中确定与所述待导入的地质数据对应的地质分层数据集,包括:

解析所述数据请求包,得到所述待导入的地质数据的第一信息;

将所述第一信息进行格式转换,得到预设格式的第一信息;

从所述预设格式的第一信息中读取出所述待导入的地质数据的名称;

根据所述待导入的地质数据的名称,从数据库中确定与所述地质数据对应的地质分层数据集。

一个实施方式中,所述预设格式的第一信息为结构化查询语言格式的信息。

一个实施方式中,根据所述目标分层数据标识,从所述地质分层数据集中选择一个或多个分层数据,作为分层数据集合,包括:

根据所述待导入的地质数据的分层数据的名称,通过窗口的形式,生成所述地质分层数据集的地质分层数据列表;

根据所述目标分层数据标识,从所述地质分层数据列表中确定一个或多个分层数据,作为所述分层数据集合,其中,所述一个或多个分层数据满足所述预设项目工区的建模条件。

一个实施方式中,所述分层数据结构体数据包包括:所述分层数据集合中各个分层数据中的井名、各个分层数据的地层序号、各个分层数据中的地层名称和各个分层数据中的地层深度。

一个实施方式中,将所述分层数据结构体数据包导入预设项目工区,包括:

确定在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称是否不相同,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号是否相同;

如果所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称不相同,且所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号相同,则将所述分层数据结构体数据包导入所述预设项目工区。

一个实施方式中,在确定在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称是否不相同,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号是否相同之后,所述方法还包括:

如果所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称相同,或者,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号不相同,则生成错误提示消息。

基于相同的发明构思,本申请实施例还提供了一种数据处理装置,包括:

请求接收模块,用于接收数据请求包,其中,所述数据请求包包括待导入的地质数据的第一信息,所述第一信息包括:待导入的地质数据的名称和待导入的地质数据的分层数据的名称;

数据确定模块,用于根据所述待导入的地质数据的名称,从数据库中确定与所述待导入的地质数据对应的地质分层数据集,其中,所述地质分层数据集中包括多个分层数据;

标识获取模块,用于获取目标分层数据标识;

数据选择模块,用于根据所述目标分层数据标识,从所述地质分层数据集中选择一个或多个分层数据,作为分层数据集合;

数据封装模块,用于对所述分层数据集合进行封装处理,生成分层数据结构体数据包;

数据导入模块,用于将所述分层数据结构体数据包导入预设项目工区,以进行地质建模处理。

一个实施方式中,所述数据确定模块包括:

解包单元,用于解析所述数据请求包,得到所述待导入的地质数据的第一信息;

格式转换单元,用于将所述第一信息进行格式转换,得到预设格式的第一信息;

第一确定单元,用于根据所述预设格式的第一信息,确定所述待导入的地质数据的名称;

第二确定单元,用于从所述预设格式的第一信息中读取出所述待导入的地质数据的名称。

一个实施方式中,所述数据选择模块包括:

列表生成单元,用于根据所述待导入的地质数据的分层数据的名称,通过窗口的形式,生成所述地质分层数据集的地质分层数据列表;

选择单元,用于根据所述目标分层数据标识,从所述地质分层数据列表中确定一个或多个分层数据,作为所述分层数据集合,其中,所述一个或多个分层数据满足所述预设项目工区的建模条件。

一个实施方式中,所述分层数据结构体数据包包括:所述多个分层数据结构体数据包中各个分层数据中的井名、各个分层数据的地层序号、各个分层数据中的地层名称和各个分层数据中的地层深度。

一个实施方式中,所述数据导入模块包括:

判断单元,用于确定在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称是否不相同,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号是否相同;

第一处理单元,用于在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称不相同,且所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号相同的情况下,将所述分层数据结构体数据包导入所述预设项目工区。

一个实施方式中,所述数据导入模块还包括:

第二处理单元,用于在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称相同,或者,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号不相同的情况下,生成错误提示消息。

在本申请实施例中,通过统一的导入规则,将地质数据先进行整理和甄别,再分层导入至预设项目工区中。从而,解决了现有的数据处理方法中存在的操作繁琐、准确性低、输入误差大的技术问题,达到了提高数据处理效率和减少数据处理误差的技术效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请实施例的数据处理方法的处理流程图;

图2是根据本申请实施例的数据处理装置的组成结构图;

图3是应用本申请实施例提供的数据处理方法设计的Petrel2014项目工区地质分层数据获取装置的结构示意图;

图4是应用本申请实施例提供的数据处理方法设计的Petrel2014项目工区地质分层数据获取装置的使用流程图;

图5是应用本申请实施例提供的数据处理方法设计的Petrel2014项目工区地质分层数据获取装置的用户交互模块的工作流程图;

图6是应用本申请实施例提供的数据处理方法设计的Petrel2014项目工区地质分层数据获取装置的数据封装模块的工作流程图;

图7是应用本申请实施例提供的数据处理方法设计的Petrel2014项目工区地质分层数据获取装置的数据写入模块的工作流程图;

图8是应用本申请实施例提供的数据处理方法设计的Petrel2014项目工区地质分层数据获取装置所涉及的自定义的分层数据结构体格式示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

考虑到现有数据处理方法,在具体导入数据时,由于没有形成统一的处理规则,导致在使用不同的数据处理方法,或者在不同的阶段使用相同的处理方法,对同样的数据进行处理时,会因为对地质数据认识和理解的差异,得到处理结果往往存在差异。甚至会出现同一个区域的同一地质数据,由于使用不同的数据处理方法导入,可能会产生多套不同的分层数据的情况,进而对后续的建模处理的精度产生影响。此外,现有的数据处理方法,当数据量非常庞大(例如,地质数据)时,往往还会存在操作过程繁琐、效率低的技术问题。针对产生上述技术问题的根本原因,本申请考虑可以统一处理规则,通过统一的处理规则,按照预设要求先对地质数据进行整理和甄别,再将地质数据准确地分层导入至对应的预设项目工区中。从而,可以解决现有的数据处理方法中存在的操作繁琐、准确性低、输入误差大的技术问题,达到了提高数据处理效率和减少数据处理误差的技术效果。

基于上述思考思路,本申请提供了一种数据处理方法。请参阅图1。本申请提供的数据处理方法,具体可以包括以下步骤(步骤101至步骤106)。

步骤101:接收数据请求包,其中,所述数据请求包包括待导入的地质数据的第一信息,所述第一信息包括:待导入的地质数据的名称和待导入的地质数据的分层数据的名称。

在一个实施方式中,为了后续能够搜索确定地质数据对应的地质数据分层数据集,所述地质数据的基本信息可以包括:待导入的地质数据的名称和待导入的地质数据的分层数据的名称。除此以外还可以包括以下至少之一:预设项目工区的编号、待导入的地质数据的分层模式和所述待导入的地质数据的井号列表。需要说明的是,这里所列举的地质数据的基本信息只是为了更好地说明本实施方式所使用的示意性说明。具体实施时可以以上述列举的一种或多种基本信息作为所述地质数据的基本信息,当然也可以根据具体情况和施工要求,选择其他的相关数据作为所述地质数据的基本信息。对此,本申请不作限定。

步骤102:根据所述待导入的地质数据的名称,从数据库中确定与所述待导入的地质数据对应的地质分层数据集,其中,所述地质分层数据集中包括多个分层数据。

在一个实施方式中,为了从项目数据库中搜索并确定对应的地质分层数据集,具体实施时,可以按照以下步骤执行。

S1:解析所述数据请求包,得到所述待导入的地质数据的第一信息。

S2:将所述第一信息进行格式转换,得到预设格式的第一信息。

S3:根据所述预设格式的第一信息,确定所述待导入的地质数据的名称。

S4:根据所述待导入的地质数据的名称,从数据库中确定与所述地质数据对应的地质分层数据集。

在一个实施方式中,为了将所述地质数据的第一信息转换成可执行的语句,具体实施时,可以将所述地质数据的第一信息数据转换成预设格式的第一信息数据,其中,所述预设格式的第一信息可以是结构化查询语言形式的第一信息。需要说明的是,所述结构化查询语言(Structured Query Language,简称SQL),是一种特殊目的的编程语言,可以用于数据库查询和程序设计,也可以用于存取数据以及查询、更新和管理关系数据库系统,还可以用作数据库脚本文件的扩展名。当然,上述所列举的结构化查询语言格式只是为了更好地说明本申请实施例,具体实施时,还可以根据具体情况或者实际需要,选择其他合适的语言格式作为所述预设格式。对此,本申请不作限定。

步骤103:获取目标分层数据标识。

在一个实施方式中,所述目标分层数据标识可以是根据后续在预设项目工区建模的具体要求,从所述多个分层数据中选出建模需要且符合建模条件的分层数据的指示信息。例如,分层数据集中包括有第一数据、第二数据、第三数据和第四数据。而根据施工要求,在预设项目工区中建模只需要导入其中的第一数据和第三数据。则所述目标分层数据标识具体可以是第一数据和第三数据所对应的指示标识。具体实施时,可以根据上述目标分层数据标识从多个分层数据中选择第一数据和第二数据进行导入。

步骤104:根据所述目标分层数据标识,从所述地质分层数据集中选择一个或多个分层数据,作为分层数据集合。

在一个实施方式中,为了根据施工需要或者用户要求,从所述地质分层数据集中确定多个符合预设要求的分层数据,具体实施可以包括:

S1:根据所述待导入的地质数据的分层数据的名称,通过窗口的形式,生成所述地质分层数据集的地质分层数据列表;

S2:根据所述目标分层数据标识,从所述地质分层数据列表中确定一个或多个分层数据,作为所述分层数据集合,其中,所述一个或多个分层数据满足所述预设项目工区的建模条件。

在一个实施方式中,为了确定多个符合预设要求的分层数据(例如进行某个具体建模所需要的某几个地质分层数据),可以根据所述地质分层数据集,统计所述地质分层数据集中的各个分层数据,得到地质分层数据集列表以窗口的形式提供给用户选择。用户可以根据具体情况和实际施工要求,选择地质分层数据集列表中复核预设要求的分层数据,即发出目标分层数据标识,其中,所述符合预设要求的分层数据可以是后续在预设项目工区内建模所需要,且满足建模条件的分层数据。具体实施,可以在窗口的地质分层数据集列表中复选框内勾选复核预设要求的一个或多个分层数据,记发出了目标分层数据标识。根据用户的在地质分层数据集列表的勾选情况(目标分层数据标识),确定一个或多个符合预设要求的分层数据。从而,可以接收用户指示,根据用户指示确定多个符合预设要求的分层数据,实现与用户的友好交互,提升用户体验度。当然,具体实施时还可以通过其他方式显示地质分层数据集列表,接收用户指示。对此,本申请不作限定。

在一个实施方式中,当确定了所述多个符合预设要求的分层数据后,为了提高数据的传输效率,可以以分层数据对象流的方式,将所述符合预设要求的分层数据从项目数据库中传输出去。其中,所述分层数据对象流一般针对数据量比较大的情况进行数据传输。例如,在本实施方式中,待导入数据是地质数据,对应一口井,有多个符合预设要求的分层数据,可以将所述多个符合预设要求的分层数据以分层数据对象流的方式从项目数据库中导出。

步骤105:对所述分层数据集合进行封装处理,生成分层数据结构体数据包。

在一个实施方式中,为了便于后续处理,可以先对分层数据集合的名称进行修改,再将修改后的分层数据集合封装生成分层数据结构体数据包。例如,分层数据集合中某层位的名称为“显生宇|Kz|R|E|S|S4上|油页岩顶”,具体施工时,这样的显示名称很长,当Petrel软件中井位比较密集的时候,不容易分辨,所以在此处,用户可以根据自身需要,修改该层位名称,如上所提到的层位名称可以重新修改为“|S4上|油页岩顶”,以便于后续的显示辨认。再将修改后的分层数据集合进行封装,得到对应的分层数据结构体数据包。当然,需要说明的是为了便于后续的处理,此处也可以根据具体情况对分层数据集合进行其他方面的修改。对此,本申请不作限定。

在一个实施方式中,为了便于后续具体导入时的甄别筛选,所述分层数据结构体数据包,具体可以包括:所述多个分层数据结构体数据包中各个分层数据中的井名、各个分层数据的地层序号、各个分层数据中的地层名称和各个分层数据中的地层深度。当然。上述所列举的几个数据只是为了更好地说明本发明实施例,具体实施时,还可以根据具体情况,包括其他相关的数据。对此,本申请不作限定。

步骤106:将所述分层数据结构体数据包导入预设项目工区,以进行地质建模处理。

在一个实施方式中,为了避免与预设项目工区内已有的分层数据重叠,将分层数据结构体数据包准确导入到对应的预设项目工区内,具体可以按照以下方法执行:

S1:确定在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称是否不相同,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号是否相同;

S2:如果所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称不相同,且所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号相同,则将所述分层数据结构体数据包导入所述预设项目工区。

在一个实施方式中,为了保证导入数据的准确,避免导入有问题的数据,具体实施时还可以包括:

如果所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称相同,或者,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号不相同,则生成错误提示消息。

在本申请实施例中,通过统一处理规则,并按照统一的处理规则对地质数据进行处理(整理和甄别);再按照预设要求将地质数据分层导入至对应的项目工区中。从而解决了现有的数据处理方法中存在的操作繁琐、准确性低、输入误差大的技术问题,达到了提高数据处理效率和减少数据处理误差的技术效果。

基于同一发明构思,本发明实施例中还提供了一种数据处理装置,如下面的实施例所述。由于数据处理装置解决问题的原理与数据处理方法相似,因此,数据处理装置的实施可以参见数据处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。请参阅图2,是本发明实施例的数据处理装置的一种组成结构图,该装置可以包括:请求接收模块201、数据确定模块202、标识获取模块203、数据选择模块204、数据封装模块205和数据导入模块206,下面对该结构进行具体说明。

请求接收模块201,可以用于接收数据请求包,其中,所述数据请求包包括待导入的地质数据的第一信息,所述第一信息包括:待导入的地质数据的名称和待导入的地质数据的分层数据的名称。

数据确定模块202,可以用于根据所述待导入的地质数据的名称,从数据库中确定与所述待导入的地质数据对应的地质分层数据集,其中,所述地质分层数据集中包括多个分层数据。

标识获取模块203,可以用于获取目标分层数据标识。

数据选择模块204,可以用于根据所述目标分层数据标识,从所述地质分层数据集中选择一个或多个分层数据,作为分层数据集合。

数据封装模块205,可以用于对所述分层数据集合进行封装处理,生成分层数据结构体数据包。

数据导入模块206,可以用于将所述分层数据结构体数据包导入预设项目工区,以进行地质建模处理。

在一个实施方式中,为了从数据库中确定对应的地质分层数据集,所述数据确定模块202具体可以包括:

解包单元,可以用于解析所述数据请求包,得到所述待导入的地质数据的第一信息;

格式转换单元,可以用于将所述第一信息进行格式转换,得到预设格式的第一信息;

第一确定单元,可以用于从所述预设格式的第一信息中读取出所述待导入的地质数据的名称;

第二确定单元,可以用于根据所述待导入的地质数据的名称,从数据库中确定与所述地质数据对应的地质分层数据集。

在一个实施方式中,所述预设格式的基本信息数据具体可以是结构化查询语言形式的基本信息数据。需要说明的是,结构化查询语言(Structured Query Language,简称SQL),是一种特殊目的的编程语言,可以用于数据库查询和程序设计,也可以用于存取数据以及查询、更新和管理关系数据库系统,还可以用作数据库脚本文件的扩展名。当然,上述所列举的结构化查询语言格式只是为了更好地说明本申请实施例,具体实施时还可以根据具体情况或者实际需要,选择合适的语言格式作为所述预设格式。对此,本申请不作限定。

在一个实施方式中,为了从所述地质分层数据集中选择可以用于后续建模的一个或多个相关的分层数据,所述数据选择模块204具体可以包括:

列表生成单元,可以用于根据所述待导入的地质数据的分层数据的名称,通过窗口的形式,生成所述地质分层数据集的地质分层数据列表;

选择单元,可以用于根据所述目标分层数据标识,从所述地质分层数据列表中确定一个或多个分层数据,作为所述分层数据集合,其中,所述一个或多个分层数据满足所述预设项目工区的建模条件。

在一个实施方式中,为了确定多个符合预设要求的分层数据,具体可以通过列表生成单元,根据所述地质分层数据集,统计所述地质分层数据集中的各个分层数据,得到地质分层数据集列表以窗口的形式提供给用户选择。用户可以根据具体情况和实际施工要求,发出目标分层数据标识。进而可以通过选择单元根据目标分层数据标识,从地质分层数据集列表中选择符合预设要求的分层数据,其中,所述符合预设要求的分层数据可以是后续在预设项目工区内建模所需要,且满足建模条件的分层数据。具体实施,可以在窗口的地质分层数据集列表中复选框内勾选复核预设要求的一个或多个分层数据,作为目标分层数据标识。选择单元,可以根据用户的在地质分层数据集列表的勾选情况,即根据目标分层数据标识,确定一个或多个符合预设要求的分层数据。从而,可以通过数据选择模块204接收用户指示,根据用户指示确定多个符合预设要求的分层数据,实现与用户的友好交互,提升用户体验度。

在一个实施方式中,为了提高数据传输效率,保证数据传输稳定,所述数据选择模块204还可以包括:发送单元,用于通过分层数据对象流的方式,将所述分层数据集合发送至所述数据封装模块205。其中,所述分层数据对象流一般针对数据量比较大的情况进行数据传输。例如,在本实施方式中,待导入数据是地质数据,对应一口井,有多个符合预设要求的分层数据,可以将所述多个符合预设要求的分层数据以分层数据对象流的方式从项目数据库中导出。

在一个实施方式中,为了使得得到分层数据结构体数据包便于辨识,所述数据封装模块205具体可以包括:

重定义单元,可以用于根据用户要求,重新定义所述分层数据集合的名称。

封装单元,可以用过将所述重定义后的分层数据集合封装得到分层数据结构体数据包。

在一个实施方式中,为了为后续导入提供甄别和筛选的依据,所述分层数据结构体数据包具体可以包括:所述多个分层数据结构体数据包中各个分层数据中的井名、各个分层数据的地层序号、各个分层数据中的地层名称和各个分层数据中的地层深度。当然。上述所列举的几个数据只是为了更好地说明本发明实施例,具体实施时,还可以根据具体情况,包括其他相关的数据。对此,本申请不作限定。

在一个实施方式中,为了将分层数据结构体数据包里的数据准确地导入所述预设项目工区,所述导入模块206具体可以包括:

判断单元,可以用于确定在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称是否不相同,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号是否相同。

第一处理单元,可以用于在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称不相同,且所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号相同的情况下,将所述分层数据结构体数据包导入所述预设项目工区。

第二处理单元,可以用于在所述分层数据结构体数据包中各个分层数据的分层模式的名称与所述预设项目工区内存在的各个分层数据的分层模式的名称相同,或者,所述预设项目工区内存在井号与所述分层数据结构体数据包中的井号不相同的情况下,生成错误提示消息。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,在本说明书中,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

此外,在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。

从以上的描述中,可以看出,本申请实施例提供的数据处理方法和装置。通过统一处理规则,并按照统一的处理规则对地质数据进行处理(整理和甄别);再根据预设要求将地质数据分层导入对应的项目工区中,从而解决了现有的数据处理方法中存在的操作繁琐、准确性低、输入误差大的技术问题,达到了提高数据处理效率和减少数据处理误差的技术效果;又通过以分层数据对象流的方式传输待导入数据,达到了保证数据传输稳定和提高传输效率的技术效果;还通过以窗口的形式提供用户选择的界面,达到了与用户友好交互,并获取目标分层数据标识的技术效果;最后还通过判断数据是否可以导入,达到避免错误导入,减少输入误差的技术效果。

在一个具体实施场景,应用本申请提供数据处理方法设计了一套Petrel2014项目工区地质分层数据获取装置。下面就对该套Petrel2014项目工区地质分层数据获取装置的组成结构和使用方法分别进行具体说明。

(1)关于Petrel2014项目工区地质分层数据获取装置组成结构:

具体请参阅图3,所述Petrel2014项目工区地质分层数据获取装置可以包括用户交互模块、请求解析模块、数据读取模块、数据封装模块、数据写入模块。其中:

用户交互模块301:用于打开本装置,选择Petrel项目工区,登录项目数据库,选择需要导入分层数据的井,并选取项目数据库中的分层模式,将这些数据封装成数据请求包传递给请求解析模块。

请求解析模块302:用于接收并解析用户交互装置传递过来的数据请求包,解析请求并构建可执行的SQL语句传递给数据读取模块。

数据读取模块303:接收请求解析模块传递的SQL语句,利用该SQL语句,从项目数据库中查询得到用户所需的地质分层数据集,以窗口形式展示给用户,通过分层数据对象流方式传递给数据封装模块。

数据封装模块304:接收数据读取模块传递的分层数据对象流,进行解析形成分层数据集合,用户可对将要导入的分层数据层位名称信息根据需求重新定义。定义分层数据结构体以完整标识每一层的分层信息,结构体由序号、井名、地层序号、地层名称、深度组成。按照结构体定义要求,将用户处理后的分层数据封装形成分层数据结构体数据包,将这些数据包传递给数据写入模块。

数据写入模块305:接收数据封装模块传递的分层数据结构体数据包,判断当前Petrel项目工区是否有重名的分层模式数据,并判断分层数据集合中的井号与Petrel项目工区中井号是否一致,如果当前Petrel项目工区中分层模式无重名,且井号能够匹配,则导入该井在当前分层模式下的分层数据,并写入到Petrel项目工区底层的二进制文件中。

(2)关于Petrel2014项目工区地质分层数据获取装置的使用方法:

具体可以参阅图4,本申请实施例中使用Petrel2014项目工区地质分层数据获取装置获取项目分层数据的整体流程图。具体实施可以包括以下步骤(步骤S401至步骤S405)。

步骤S401:打开本装置,登录项目数据库,在项目数据库中,选择需要向Petrel项目工区导入分层数据的井,并选取要导入的分层模式数据,生成导入请求数据包;

为了生成用户请求信息包,具体可以参阅图5。给出了图4中步骤S401用户交互模块的工作流程,以从本装置的初始化并生成Petrel项目工区分层数据导入请求消息包。具体地,步骤S401可以包括以下步骤:

步骤S501:初始化本装置,登录项目数据库;

步骤S502:选择需要导入分层数据的井;

步骤S503:读取项目数据库中的分层模式信息;

步骤S504:判断选择的井列表在项目数据库中是否存在分层数据信息,如是则执行S505,否则执行S506;

步骤S505:获取当前分层模式信息;

步骤S506:判断是否重新选择需要导入的分层模式,如是则执行S303,否则结束;

步骤S507:生成用户请求信息包。

步骤S402:接收并解析用户交互装置传递过来的数据请求包,构建可执行的SQL语句;

步骤S403:建立数据库连接,根据请求解析模块发送的SQL语句在项目数据库中查询得到地质分层数据集合并生成分层数据对象流;

步骤S404:解析当前获得的分层数据,将要导入的分层数据层位名称信息按照用户需求重新定义,并将新生成的分层数据信息按照定义的结构体的格式重新组合、封装;

具体实施步骤S404,可以参阅图6。给出了图4中步骤S404数据封装模块的工作流程,以实现对从数据读取模块得到的地质分层数据集合解析、重新组合封装传递给数据写入模块。具体地,步骤S404可以包括以下步骤:

步骤S601:接收数据读取模块传递过来的分层数据集合;

步骤S602:解析得到的分层数据集合,按照分层数据中每口井的地层序号次序依次读取分层数据信息;

步骤S603:判断是否将全部分层信息读取完成,如是则执行S404,否则执行S402;

步骤S604:判断是否需要重新定义将要导入Petrel项目工区中的层位名称,如是则执行S605,否则执行S606;

步骤S605:按照用户需求重新定义将要导入Petrel项目工区中的层位名称;

步骤S606:按照自定义数据体格式,将分层数据重新组合并封装;

步骤S607:传递给数据写入模块。

步骤S405:按照结构体顺序读取每口井的分层数据信息,判断分层数据集合中的井号信息与Petrel项目工区中的井信息是否一致,如一致则将当前井号下的分层数据信息写入到Petrel项目工区对应井号的底层二进制数据文件中。循环直至井列表中所有井号全部导入完成。需要说明的是,此处的结构体和分层数据结构体与本申请出现的分层数据结构体数据包均是同一种数据。

为了将分层数据准确导入项目工区中,可以参阅图7。给出了图4中步骤S405数据写入模块的工作流程,以实现将从数据封装模块封装好的分层数据写入到Petrel项目工区底层的二进制文件中。具体地,步骤S405可以包括以下步骤:

步骤S701:接收数据封装模块传递的重构后的分层数据集合;

步骤S702:判断当前Petrel项目工区中是否存在相同的分层模式,如是则执行S503,否则执行S506;

步骤S703:判断是否需要更改将要导入到Petrel项目工区中的分层模式名称,如果是,则执行步骤S704,否则,执行S705;

步骤S704:按用户需求更改分层模式名称;

步骤S705:返回用户交互模块,重新选择分层模式信息;

步骤S706:解析分层数据集合,按照解析出的信息提取每一条分层数据信息;

步骤S707:判断读取的井号是否与Petrel项目工区中已有的井号对应,如是则执行S708,否则执行S706,读取新的分层数据信息;

步骤S708:将分层数据信息写入至当前的Petrel项目工区中,并保存至底层的二进制文件;

步骤S709:判断用户交互模块所选择的井列表中的井是否全部导入完成,如是则结束,否则执行S706继续导入。

在上述实施方式中,需要说明的是,可以参阅图8。所述导入Petrel项目工区中分层数据结构体是含有n个数据项的分层数据结构体的构成格式。其中,具体地,每个数据项分为五位,分别是序号、井号、地层序号、地层名称和深度字段。这五位数据组成一个数据项,每二十个数据项组成一组数据,以此类推,直至所有数据读取完成。

根据上述具体的实施例可以验证,通过这种Petrel2014项目工区分层数据获取装置确实可以将项目数据库中的分层数据资料一键式写入到指定的Petrel项目工区中,极大地缩短地质开发研究人员整理、甄别、录入分层数据的前期准备时间,提升了数据写入的准确性。应用本申请提供的方法或装置后,Petrel2014项目工区分层数据获取工作确实可以方便快捷地完成。同时,也验证该方法或装置确实解决了现有的数据处理方法中存在的操作繁琐、准确性低的技术问题,达到了提高数据处理效率和减少数据处理误差的技术效果。

尽管本申请内容中提到不同的数据处理方法或装置,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据导入、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。

虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。

上述实施例阐明的装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1