面向海外数据库的一种通用数据录入方法的研究
2021-03-16曹伟
曹伟
[摘 要]新疆油田公司勘探开发研究院常年承担大量海外油气勘探、开发等领域的相关业务,各类专业数据与日俱增。海外业务的技术标准、管理方式等各不相同,出现了数据语言多样化、完整性参差不齐等问题。为了使海外数据以更加规范化、标准化录入数据库,科研人员在海外已有数据库的基础上,提出建立一种全新的通用数据录入平台设计思想,来适应不同国家或地区的不同油气田在数据格式和数据单位等方面的差异,从而提高海外数据录入的效率,减少人为因素引入错误数据的风险。
[关键词]海外;数据库;数据录入
doi:10.3969/j.issn.1673 - 0194.2021.04.091
[中图分类号]TP311.13[文献标识码]A[文章编号]1673-0194(2021)04-0-02
0 引 言
新疆油田公司勘探开发研究院承担海外油气业务并由此产生了大量的业务数据。海外科研人员经常需要分析使用这些数据,为其下一步研究工作提供指导。由于工作环境和人员配备等因素,现有的软件工具很难整理,录入数据工作量大,工作效率较低。同时,随着海外业务的扩张,即使数据库层面能适应海外业务数据的变化,数据录入软件层面也并不一定能够适应业务的变化,甚至需要调整、修改软件功能来录入数据。此外,海外数据存在单位不统一,完整性参差不齐,不同地域数据格式各异的问题,且在录入数据时很难实现灵活多变的数据校验。
因此,油田公司急需一个通用且灵活的数据录入平台,在适应海外业务变化的同时,也能适应不同国家地区数据的特性和数据校验的个性化需求。
1 设计思想
传统的数据录入软件平台往往针对固定格式的原始数据而开发,并不适应海外数据。即使不考虑海外业务变化和扩张导致数据库调整从而增加或修改表字段的问题,甚至不考虑增加数据库表的情况,仅不同国家地区之间原始数据格式的差异,就很难进行统一。如果定制一套统一的数据格式标准来整理原始数据,会大大增加数据录入人员的工作量,而且工作效率也不尽人意。
所以,需要打破传统的以数据库为中心的数据录入方法,以原始数据为中心,使数据录入平台能够适应不同国家地区原始数据格式和数据单位等之间的差异,以实现可定制的个性化数据录入。
以下笔者将按照从总体到局部和数据录入流程,介绍这种新的数据录入方法的思想。
1.1 功能架构
数据录入平台以国际化模块为基础,实现数据字典、模板和数据录入等系统功能和界面的多语言功能(见图1)。数据字典即海外数据库的元数据信息,包括表、字段、约束等。模板以数据字典为基础,用户可根据不同的原始数据格式自己设计模板,然后导入数据。数据模板可在个人或单位之间共享,其间必须对模板设计权限加以限制,从而避免错误的设计或修改模板而导致数据录入错误等一系列问题。由于实现了数据录入功能和数据库表结构之间的解耦,需要数据映射和校验模块对原始数据的数据类型和阈值等进行匹配和校验,以保证数据的正确性。
海外数据库和模板数据库分别存储海外业务数据和模板数据。
1.2 实体
①数据库实体部分主要包含数据库对象(数据库表、数据库字段、数据库字段约束)以及表和字段的国际化信息。②数据库表、数据库字段和数据库字段约束来源于海外数据库,可通过数据字典管理模块从数据库中提取。③数据库实体部分是相对固定的,底层数据库发生改变时,可通过数據同步操作清除冗余数据或重新从海外数据库中提取数据库对象的信息。④模板实体部分主要包含与数据库实体对应的模板表、模板列及其国际化信息。⑤列表达式用于阈值校验和单位换算。根据数据库字段创建模板列时,可指定与数据库字段不同的计量单位,设置相应的换算系数生成列表达式。导入数据时,根据具体的数值计算列表达式,从而实现单位制转换和阈值校验等功能。此外,可从数据库的Check约束中获取必要的信息,从而提前校验数据是否满足必要条件。⑥非数值字段创建列表达式,需要应用程序根据对应的数据类型进行数据校验。⑦一个数据模板中可包含多个模板表。根据不同的国家或地区,不同的油气田的原始数据,用户可自定义所使用的模板列、模板列的显示顺序和列表达式等。
1.3 设计模板
模板设计工作相对复杂,需要对数据库和油气藏方面的知识有足够深入的了解。由于数据模板对后续数据导入有重大影响,所以,模板的设计和管理工作需要专人负责。
模板创建过程如图2所示。①分析原始数据所涉及的专业分类及对应的数据库表。②根据对应数据字典创建相应的模板表。③每个模板表对应一个数据库表,每个模板列对应一个数据库表字段。用户可根据实际应用场景或习惯用语等,自定义模板表、模板列的名称,描述信息及模板列的约束条件。数据模板由一个或多个模板表构成。在实际应用过程中,用户根据实际使用场景选择需要的模板列,隐藏不需要的列,必填项数据列不能隐藏,以确保数据的完整性。
1.4 数据导入
导入数据时,用户根据原始数据文件选择对应的数据模板。当用户选择错误的模板时,导入模板无法与原始数据文件匹配,程序会给出提示。导入过程如下:①根据数据文件选择模板。②客户端校验数据类型,并根据列表达式校验数据是否合法。③在客户端完成数据预处理之后传输到服务端。服务端根据数据库表和字段对原始数据进行拆分组合,实现原始数据和数据库之间的映射。④后台生成对应数据,并分批或逐条导入数据库。后台分批提交时,后台程序性能较高,逐行提交时,交互性更好。如何取舍应根据实际数据量或应用场景而定。应用程序可提供选择分批导入或逐行导入的接口,供用户自主选择。导入数据时,服务端仅需记录导入的操作及数据库表和数据的通用唯一识别码( Universally Unique Identifier,UUID)即可。
2 结 语
随着大数据时代的到来,数据作为油田业务金字塔基础的组成部分,其重要性不言而喻。如何高效地利用数据,挖掘数据潜力以指导科研生产成为行业热点。本文提出一种新的面向海外数据库的数据录入方法,构建一种适应性强、统一灵活的数据录入平台,以解决传统的数据录入平台不能适应海外数据复杂多变的问题,从而为开展海外业务提供更强大的支撑。