APP下载

基于预处理方式的数据文件快速录入方法

2017-03-02柯广恒王洁茹

地理空间信息 2017年2期
关键词:批量字典预处理

伍 莉,柯广恒,王洁茹

(1.长江航道测量中心,湖北 武汉 430010)

基于预处理方式的数据文件快速录入方法

伍 莉1,柯广恒1,王洁茹1

(1.长江航道测量中心,湖北 武汉 430010)

通过研究逐条数据录入方式的不足,提出了先对需要填报的数据条目进行预处理,再通过解析读取预处理后的信息实现批量导入数据库。实验证明,该方法具有易操作、稳定性好、效率高等优点,同时还可有效检验数据资料填报的完整性,提高了成果录入过程中的信息化和智能化水平。

预处理;批量导入;快速录入

近年来,长江航道局高度重视信息化发展,全面推进数字航道与智能航道建设。经过多年的积累,目前已经形成了大量的航道地形、水文记录、报告文档、影像录音等数字资料。这些数字资料正日益增长,呈现“井喷”状态。如何将这些海量的航道信息资源快速、准确地录入到数字资料管理系统之中,为更进一步数字资源共享和应用集成服务提供数据支撑,是数据管理过程中面临的一个重要研究课题。

1 研究的必要性

目前,数字资料管理系统的信息维护工作由专职文件录入人员完成。文件录入人员逐个文件填报上传,期间需要填写与文件相关的各种元数据信息,包括文件种类、制作时间、使用用途等几十项内容,填写中还要对各元数据的相关信息进行综合审核。经过一段时间使用,发现操作过程中存在以下缺点:①元数据填写时主观因素较大,难以进行完整性和有效性的综合检查,可能造成填报标准不统一;②在同一批次数据录入过程中,大量元数据信息是重复的,但逐条录入的方式无法应用这一规律,造成重复录入,降低了工作效率。

针对上述问题,有必要研究一种新的数据文件录入方法,既能提高编辑填报操作中的便捷性,又能加强对录入质量的控制,从而大幅提高工作效率。

2 总体方案

本研究采用了一种基于预处理方式的数据录入方案,从而同时实现了易于填报审核和批量快速录入两大要求。

整个快速录入流程设计为填报信息预处理、预处理信息检验、批量录入这3个步骤。首先,在预处理环境下,录入人员批量填报、编辑需要上传的各种数字资料包含元数据信息;接着,利用检验程序逐条分析录入信息的各元数据,审核其完整性和有效性,并形成预处理后的成果;最后,通过导入程序读取预处理成果,直接将数据批量存入数据库并完成写入校验。快速录入流程如图1所示。

图1 快速录入流程

3 功能设计

3.1 预处理平台

预处理平台供录入人员使用,实现对每一条待上传文件的元数据编辑。因此对这一平台有3点主要要求:一是使用简单,容易上手;二是编辑功能强大,能对多条数据的相同元数据进行复制,能对多条数据的规律性变化元数据自动生成,能同时预览多条数据及其元数据;三是具备强大的审核功能,能实现较为复杂的元数据完整性和有效性检验。

经过分析,开发一套独立的预处理平台虽然可以较好地实现上述功能,但耗时耗力更多。因此,最终采用基于微软Excel作为基础平台,经过二次开发来实现预处理平台。Excel的优势在于,操作界面和方法一般办公人员都很熟悉,且具备强大的基础编辑功能和良好的二次开发接口。本研究将基于Excel,通过二次开发实现研发预处理编辑平台。

1)填报模板设计。在XLS文件中,建立多张Sheet。其中,第一张Sheet用于录入人员填报信息,该Sheet的每一列记录一条待录入的数据,每一列记录该数据的一个元数据信息;其他Sheet用于存放元数据字典。

数据字典用于对元数据值进行枚举定义和描述,若元数据值在数据字典中存在定义,则判定该值有效,否则判定为无效或错误。因此,在模板的设计阶段需要进行细致的资料收集和整理工作,确保每一个可能出现的元数据值记录在数据字典中。表1描述的就是水道地形图资料对应的数据字典,它包含了水道名、水道位置、坐标系统、高程系统、比例尺等定义好的枚举模板。

表1 数据字典示例

2)录入信息检验设计。在数据字典建立完成后,利用Excel自带的数据有效性验证及函数(如vlookup等),可以方便地将单元格的数据来源设置为数据字典中对应属性的列名,并对选择或录入的元数据进行关联和约束验证。如图2所示,“水道名称”单元格的数据来源为数据字典表中的名称为“全部水道”一列单元格中的数据项,即当输入的水道名称为数据字典中所列出的水道名称时,模版判断属性值输入正确。

图2 枚举型数据填报设计

对于更加复杂的填报信息检验,通过Excel的公式和脚本不能完全满足需求。例如,元数据A若填报了某值,元数据B就不能填报某值这类多个元数据间有复杂逻辑关联的值。对于这种类型的信息检验,通过Excel的VBA接口进行编程开发来实现。

录入人员通过预处理编辑平台完成编辑和检验后,将文件保存形成.xls文件即可转入下一步数据导入工作。

3.2 批量导入程序

批量导入程序的作用是,读取预处理编辑平台的xls成果文件,将数字资料批量自动写入数据库并进行入库校验。因此对这一程序有3点主要要求:一是自动化程度高,除了填写必要的数据库访问验证信息外,基本不需要其他操作;二是运行稳定、速度快,能够支持大批量数据的快速录入;三是容错处理强,在出现批量导入过程中网络断开、数据库写入失败等异常情况发生后,能通过数据库回退等技术保证数据库内容的完整性。

经过分析,研发一个独立的批量导入程序来实现上述要求较为合适。最终,选择采用C#来进行开发。

这是因为C#作为一种面向对象托管语言,具有安全、稳定、高效的特点,对于Excel和Oracle的访问也有强大的接口。

1)xls读取接口设计。对于xls文件的访问,一般有OleDb、COM组件或者第三方访问组件这几种方式。OleDb方式读取数据的时候不太灵活,对于含有表头的Sheet不易处理,对于含有公式的单位格读取也存在问题。COM组件是通过调用Excel主程序来对xls文件进行访问,缺点在于Excel 版本众多,编辑环境和导入环境不易统一,且外部调用Excel Application难以完成Excel进程,可能造成程序的死锁或崩溃。

经过研究发现第三方开源组件NPOI对于Excel文件的读取有以下优点:①基于.NET类库,更容易和C#融合使用;②直接支持访问标准的Excel格式文件,独立性强;③经过大量用户的使用检验,稳定性和兼容性较好。综合以上因素,选取NPOI组件来进行Excel读写开发。

2)数据库写入接口设计。数字资料管理系统使用了Oracle数据库,对其访问即可使用.NET自带的ADO.Net组件,也可以使用System.Data.OracleClient接口访问,也可以使用Oracle提供的Oracle.DataAccess接口。考虑到Oracle自带的接口能提供的功能、效率、稳定性更优,因此采用此接口完成数据库写入操作。在写入操作完成后,还要对写入的数据进行一次核查,防止写入失败或者未完全写入。通过引入OracleTransaction事务操作机制,可以在检测到异常时完全撤销所有的写入操作,保障了数据入库的正确性、完整性。

4 应用效果

以一个批次的水道地形图为例,表2以及图3、4演示了整个批量录入过程:

1) 在基于Excel的预处理环境中编辑好相关元数据信息,并保存为xls文件。

表2 填写预处理信息

2)通过批量导入程序登录数字资料管理系统数据库。

图3 数据库连接

3) 将需要录入的数据批量导数据库并进行校验。

图4 批量导入及校验

实验结果显示,上传过程中有异常会进行提示和操作回滚,能自动将表格中的内容准确无误地上传至数据库相关记录表,并在成果资料管理系统中正确使用。

5 结 语

本研究提出的基于预处理方式的数据文件快速录入方法具有易操作、稳定性好、效率高等特点,除了批量操作多项数据外,可有效检验数据的完整性,提高了成果录入过程中的信息化和智能化水平,为海量航道信息资源管理下的信息快速录入提供了有效的解决思路。

[1] 祝昕刚.用Excel VBA编制变形监测数据处理程序[J].地理空间信息, 2011, 9(3):170-172

[2] 闫宗梅. Excel公式与函数的教学研究与探讨[J].学园:学者的精神家园, 2013,(5):166-167

[3] 李雁敏.并发访问ORACLE数据库的数据死锁分析和解决措施[J].内蒙古科技与经济,2012,(13):79-80

[4] 崔赛英. Excel函数学习方法与技巧[J].电脑知识与技术, 2012, 8(18):4 428-4 431

[5] 曾实. ORACLE数据库优化技术研究[J].科技信息, 2011(27):62

[6] 昌兆文,刘湖平,曾绍军.基于NPOI导出Excel文件的研究与实现[J].中国管理信息化, 2013(15):93

[7] 刘惠祥.测绘资料档案管理系统[J].江西测绘, 2010(3):61

P208

B

1672-4623(2017)02-0047-03

10.3969/j.issn.1672-4623.2017.02.015

2015-03-24。

伍莉,工程师,研究方向为测绘数据管理及应用。

猜你喜欢

批量字典预处理
批量提交在配置分发中的应用
字典的由来
基于预处理MUSIC算法的分布式阵列DOA估计
我是小字典
正版字典
浅谈PLC在预处理生产线自动化改造中的应用
络合萃取法预处理H酸废水
在数控车床上批量钻铰孔类工件的实践
基于自适应预处理的改进CPF-GMRES算法
基于AUTOIT3和VBA的POWERPOINT操作题自动批量批改