[发明专利]快速导入DBF文件的方法、装置、设备及可读存储介质有效
申请号: | 201910749690.3 | 申请日: | 2019-08-14 |
公开(公告)号: | CN110597771B | 公开(公告)日: | 2023-09-05 |
发明(设计)人: | 袁彪;张要伟 | 申请(专利权)人: | 平安证券股份有限公司 |
主分类号: | G06F16/172 | 分类号: | G06F16/172;G06F16/13 |
代理公司: | 深圳市明日今典知识产权代理事务所(普通合伙) 44343 | 代理人: | 王杰辉 |
地址: | 518000 广东省深圳市福田*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 快速 导入 dbf 文件 方法 装置 设备 可读 存储 介质 | ||
1.一种快速导入DBF文件的方法,其特征在于,包括:
根据预设配置项中的数据表名以及DBF字段编号,组成SQL INSERT INTO 语句,并根据所述SQL INSERT INTO 语句生成SQL文件;其中,所述DBF字段编号为DBF字段在DBF文件中的排列顺序,每个所述DBF文件包括多个不同的所述DBF字段;每个所述SQL INSERT INTO语句包括所述数据表名和所述DBF字段编号两部分内容,所述SQL文件中包括多个SQLINSERT INTO 语句;
执行所述SQL文件中的所述SQL INSERT INTO 语句时,根据所述DBF字段编号从所述DBF文件中获取相应的所述DBF字段,并将所述DBF字段导入与所述数据表名对应的数据表中进行保存;
所述执行所述SQL文件中的所述SQL INSERT INTO 语句时,根据所述DBF字段编号从所述DBF文件中获取相应的所述DBF字段的步骤,包括:
执行所述SQL INSERT INTO 语句,以根据所述DBF字段编号,从DBF字段属性记录中获取所述DBF字段的字段格式,所述字段格式包括所述DBF字段的字段数据类型和字段存储位置;
根据所述字段格式,从所述DBF文件中获取相应的所述DBF字段;
所述根据预设配置项中的数据表名以及DBF字段编号,组成SQL INSERT INTO 语句,并根据所述SQL INSERT INTO 语句生成SQL文件的步骤,包括:
根据所述预设配置项中的所述数据表名以及所述DBF字段编号,按照SQL语句标准组成所述SQL INSERT INTO 语句;
判断组成的所述SQL INSERT INTO 语句的行数是否达到预设行数,一个所述SQLINSERT INTO 语句的行数为一行;
若所述行数达到所述预设行数,则将所述预设行数的所述SQL INSERT INTO 语句进行导出,并按照SQL文件标准进行打包,生成所述SQL文件。
2.根据权利要求1所述的快速导入DBF文件的方法,其特征在于,所述SQL文件具有多个时,将所有所述SQL文件存储在同一目录中;所述执行所述SQL文件中的所述SQL INSERTINTO 语句的步骤,包括:
在所述目录中遍历所有所述SQL文件,并统计所述SQL文件的数量;
为每一所述SQL文件分配一个进程,并行执行所述SQL文件中的所述SQL INSERT INTO语句。
3.根据权利要求1所述的快速导入DBF文件的方法,其特征在于,在所述根据预设配置项中的数据表名以及DBF字段编号,生成SQL文件的步骤之前,还包括:
根据DBF字段属性记录,获取所述DBF文件中所述DBF字段的具体数量;
根据预设编号规则赋予每个所述DBF字段对应的所述DBF字段编号;
根据配置指令接收输入的所述数据表名及所述数据表名对应的所述DBF字段编号、所述SQL文件的文件名以及所述SQL文件行数的预设阈值,生成所述预设配置项。
4.根据权利要求1所述的快速导入DBF文件的方法,其特征在于,在所述根据预设配置项中的数据表名以及DBF字段编号,生成SQL文件的步骤之前,还包括:
根据所述DBF文件的文件头信息,获取所述DBF文件中行数据的大小;
截取掉所述文件头信息,并将所述DBF文件按照预设分块大小逐块映射到linux内存中;
根据所述行数据的大小从所述linux内存中逐行读取并解析所述DBF文件。
5.根据权利要求4所述的快速导入DBF文件的方法,其特征在于,所述预设分块包括头部数据和尾部数据;所述将所述DBF文件按照预设分块大小逐块映射到linux内存中的步骤,包括:
检测所述尾部数据中是否含有不足所述行数据大小的DBF数据;
若含有,则将不足一行的所述DBF数据并入下一块所述预设分块的所述头部数据中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安证券股份有限公司,未经平安证券股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910749690.3/1.html,转载请声明来源钻瓜专利网。