[发明专利]一种快速向数据库加载数据的方法在审
申请号: | 201210566075.7 | 申请日: | 2012-12-23 |
公开(公告)号: | CN103049533A | 公开(公告)日: | 2013-04-17 |
发明(设计)人: | 张树杰;王颖泽;冯玉;李祥凯;任永杰;王珊 | 申请(专利权)人: | 北京人大金仓信息技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京汲智翼成知识产权代理事务所(普通合伙) 11381 | 代理人: | 陈曦;郭亚芳 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 数据库 加载 数据 方法 | ||
技术领域
本发明涉及一种向数据库中快速加载数据文件的方法,属于数据库技术领域。
背景技术
随着互联网应用的广泛普及,海量数据的访问和存储成为数据库系统设计的瓶颈问题。传统数据库的数据写入接口大多采用单线程工作方式,在写入海量数据时效率较低。而现有的数据库服务器普遍使用多核CPU,单线程的数据写入方式会造成巨大的CPU资源浪费。另外,在外部数据通过数据写入接口写入数据库的过程中,数据库系统通常会执行多项事务检查。这些事务检查也会降低数据文件的写入效率。
在申请号为200910080927.X的中国专利申请中,公开了一种将数据批量导入数据库的方法及系统。在该技术方案中,分析数据文件中数据的过程和将分析后数据写入数据库的过程并行;数据经过分析后存入缓存,直到分析完毕;当缓存中的数据达到预设数据量时,将该数据一次性写入数据库,并将该数据从缓存中删除;当分析完毕后,将缓存中的所有数据一次性写入数据库。采用该技术方案,数据分析和写入的速度快,尤其适用于将大量数据导入到数据库中。
另外,马礼等人在论文《一种基于多核环境的海量数据快速读取方法》(刊载于《2010年第16届全国信息存储技术大会(I S T2010)论文集》)中指出:随着多核计算机的发展,多核PC机已经可以完成许多大规模计算任务,然而面对海量数据的处理,存储器与辅助存储器内的数据读取往往会成为提高应用程序运行速度的瓶颈,从而不能很好运用多核系统带来的优越硬件性能。该论文提出了一种基于多核环境的海量数据快速提取方法,以内存映射文件方法为基础并运用基于视图映射粒度的划分方式和动态与静态结合的负载均衡策略,实现了在多核平台下针对海量数据的高速并行提取。
发明内容
本发明所要解决的技术问题在于提供一种快速向数据库加载数据的方法。该方法通过并行线程和数据直接写入等技术手段,可以显著提高数据文件的加载效率。
为实现上述的发明目的,本发明采用下述的技术方案:
一种快速向数据库加载数据的方法,在数据文件写入数据库的过程中,采用并行方式加载数据文件;在加载过程中采用直接写入方式,在生成元组后直接将元组写入数据库的数据文件中。
其中较优地,在加载所述数据文件之前,首先制作配置文件,在所述配置文件中根据数据库服务器的硬件条件设置并行线程的数量。
其中较优地,在数据文件写入数据库的过程中,实时维护数据库表的索引或者待数据加载结束后重新生成数据库表的索引。
其中较优地,在数据库管理系统解析所述配置文件并创建加载环境后,首先解析所述数据文件,依照所述数据文件的类型由读取线程读取符合数据库表的一条数据,将该条数据写入数据槽内,并将该数据槽传输给解析线程;所述解析线程将数据解析为数据库识别的基本类型并放入数据槽中,合成线程从所述数据槽中读取数据并合成元组;在合成元组之后,根据所述配置文件中的写入方式以及索引处理方式对元组进行写入操作。
其中较优地,在所述数据文件加载过程中如果出现异常情况,根据所述配置文件判断是否忽略该异常,若忽略该异常则读取线程跳过该条数据继续加载下一条数据,如果不忽略该异常则退出数据加载过程。
其中较优地,在退出数据加载过程后,如果不保留已经加载的数据,则对数据库表进行操作,使已经加载的数据不可见。
本发明所提供的数据库数据快速加载方法通过并行线程的方式提高CPU的利用率,并且通过配置数据直接写入方式,免去数据文件写入时的各种事务检查,可以有效提高数据文件的写入效率。
附图说明
图1为本发明所提供的数据库数据快速加载方法的整体架构示意图;
图2为配置文件的解析过程示意图;
图3为数据文件的写入过程示意图。
具体实施方式
本发明所采用的技术思路在于通过并行线程以及数据直接写入等技术手段,提高数据文件的加载效率。在具体实施过程中,一方面通过配置文件指定并行加载数据的方式,并指定并行线程的数量;另一方面,指定直接写入(Direct)的方式,免去数据文件写入过程中的层层检查。通过上述的技术手段,有效提高数据文件的加载速度。下面结合附图展开详细的说明。
如图1所示,在数据库启动后,如果需要将数据文件快速写入到数据库中,首先根据数据文件自身情况、数据库表以及硬件条件制作数据文件写入过程的配置文件。通过该配置文件可以配置并行度、写入方式、写入目标、数据文件的地址、索引支持、日志支持以及对加载过程中出现的异常进行处理的方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京人大金仓信息技术股份有限公司,未经北京人大金仓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210566075.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可自动调节干式光纤松套管外径的充气装置
- 下一篇:气体阻隔装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置