CN106802911A - 一种周期性自动全量提取数据库数据的方法 - Google Patents
一种周期性自动全量提取数据库数据的方法 Download PDFInfo
- Publication number
- CN106802911A CN106802911A CN201611088878.0A CN201611088878A CN106802911A CN 106802911 A CN106802911 A CN 106802911A CN 201611088878 A CN201611088878 A CN 201611088878A CN 106802911 A CN106802911 A CN 106802911A
- Authority
- CN
- China
- Prior art keywords
- data
- record
- extraction
- field
- major key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种周期性自动全量提取数据库数据的方法。本方法为:1)从关系型数据库系统的数据表中选取若干字段,将选取的每一字段的字段值左补若干位;选取的若干字段为能够唯一标识一条记录的若干字段;2)将选取的字段组合作为该关系型数据库系统的提取主键,将补齐后的值按字符串拼接在一起作为提取主键的值;3)周期性从该关系型数据库系统的数据表中进行数据提取:每次提取n条记录并记录本次提取的最后一条记录的提取主键值,下次提取时通过比对提取主键值获取后面n条记录,直至完成数据表中记录的全量提取。本发明不需要对已有系统进行改造,就能够周期性全量提取数据,大大提高了数据提取效率。
Description
技术领域
本发明属于互联网开发技术领域,具体的说提供了一种周期性自动全量提取数据库数据的方法。
背景技术
在国内,许多中小企业发展的局限性在于发展初期资金不足,IT基础薄弱甚至忽略IT,仅随着市场发展才逐渐引入信息化管理体系;其次,由于信息系统分散搭建,各部门之间互相孤立,信息不能有效沟通,使得企业发展大受掣肘;即便是有些企业意识到了整合信息系统的重要性,但是碍于巨大的投资压力,所以并不敢轻易尝试。最终,许多企业因此走入了“信息孤岛”的困境,信息管理混乱,影响企业进一步发展。
随着大数据时代来临,信息管理对中小企业生存的重要作用逐渐凸显出来,企业往往希望将各个孤立系统的数据整合到一个集中管理系统中。这就涉及到从孤立系统全量抽取数据到集中管理系统的问题。
对这些孤立系统的数据提取,要求不影响现有系统的运行,采用传统的ETL(Extract-Transform-Load)工具,一般要求已有系统的数据表中有数值递增的索引字段,根据递增索引字段进行增量抽取,这一点往往无法保证,因此ETL工具一般只能一次性抽取全量数据,以后新增数据无法处理了。
本发明提供了一种对传统关系型数据进行周期性自动全量数据提取的方法,在不对现有系统进行改造的前提下,能够将现有系统中的数据周期性自动全量提取到集中管理系统中。
发明内容:
针对现有技术中存在的技术问题,本发明的目的在于提供一种周期性自动全量提取数据库数据的方法。
本发明针对关系型数据库,对需要抽取的数据表字段自定义了数据库提取主键,使用提取主键周期性的从数据库中提取数据,并实时记录下已提取记录标识。在下个运行周期启动时,从提取记录标识开始继续提取,从而达到全量提取数据的目的。
本发明的技术方案为:
一种周期性自动全量提取数据库数据的方法,其步骤为:
1)从关系型数据库系统的数据表中选取若干字段,将选取的每一字段的字段值左补若干位;选取的若干字段为能够唯一标识一条记录的若干字段;
2)将选取的字段组合作为该关系型数据库系统的提取主键,将补齐后的值按字符串拼接在一起作为提取主键的值;
3)周期性从该关系型数据库系统的数据表中进行数据提取:每次提取n条记录并记录本次提取的最后一条记录的提取主键值,下次提取时通过比对提取主键值获取后面n条记录,直至完成数据表中记录的全量提取。
进一步的,左补的若干位均为0;左补若干位后的每一字段的长度均相同。
进一步的,左补若干位后的每一字段的长度均为20。
进一步的,选取的字段包括姓名、性别和生日字段。
进一步的,步骤3)中,每次提取记录时,先根据提取主键的字段对记录进行排序,然后提取n条记录。
进一步的,对该关系型数据库系统中单一数据表进行全量提取。
进一步的,将该关系型数据库系统中多个数据表通过sql语句建立动态视图,然后对该多个数据表进行全量提取。
进一步的,对提取出来的记录进行定制化的转换后存储到一数据管理系统。
与现有技术相比,本发明的积极效果为:
本发明不要求已有系统的数据表定义数值自增的主键,也不需要对已有系统进行改造,就能够周期性全量提取数据。
附图说明
图1是本发明实施例一提供的数据库数据提取和标准化的流程图。
具体实现方式
下面结合附图和实施例对本发明做进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的数据提取方法的流程图。本实施例可适用于提取各种关系型数据库系统中的数据,具体包括如下步骤:
步骤101:定义数据库提取主键
因为现有系统的数据库表往往没有数值自增字段,需要自定义提取主键。
自定义提取主键从数据表中任意选择几个可以唯一标识一条记录的字段。将每个字段的值左补‘0’,使字段总长度至N位(N缺省为20位,举例来说,字段值为ABC,左补17个‘0’,使字段值为‘00000000000000000ABC’),然后将补齐后的字段值按字符串拼接在一起作为提取主键的值。
举例来说,如果有下面员工信息表(employee)和数据,如表1:
表1为员工信息表
分析这个表的数据,通过姓名,性别和生日可以唯一确定一条记录,那么用这3个字段来构造提取主键,每条记录的提取主键的值分别为:
000000000000000000张三0000000000000000000男00000000000019850810
000000000000000000王飞0000000000000000000男00000000000019890110
000000000000000000王飞0000000000000000000女00000000000019900704
000000000000000000王飞0000000000000000000男00000000000019850321
步骤102:提取数据:
提取数据按批次提取,可以针对单一数据表提取,也可以将多个表的数据通过sql语句建立动态视图进行提取。
每次提取,先根据提取主键的字段对记录进行排序,然后提取n条,完成n条记录的提取后,记录最后一条记录的提取主键值,下次提取通过比对提取主键的值,获取后面n条记录,周期往复完成表数据的全量提取。
举例来说,提取表1中的数据,将n设置为3,第一次提取前3条记录,并记录最后提取的的记录主键值为“000000000000000000王飞0000000000000000000女00000000000019900704”,下一次提取时,计算表中记录的主键值,将主键值大于“000000000000000000王飞0000000000000000000女00000000000019900704”的后n条记录提取出来。
通过上面方法提取出来的记录保存成集中管理系统要求的数据格式(见步骤103),并将最后一条记录的提取主键值记录下来(见步骤104)。
步骤103:转换提取数据为集中管理系统数据格式。
将第102步查询到的数据转换成集中管理系统要求的格式,在本发明的例子中,假设集中管理系统要求性别使用字典码(男用0表示,女用1表示),生日必须是YYYY-MM-DD格式(这里仅仅是举例,实际情况比较复杂,可能要关联补充其他信息,比如需要从B表中关联出工作岗位和工资标准,那么需要通过SQL关联查询语句构造出动态视图,然后针对动态视图进行提取,而不是简单的格式转换),那么可以针对提取出来的记录进行定制化的转换,转换后的数据供集中管理系统使用。如下是转换后的数据:
张三0 1985-08-10西城区xx小区A楼1708室信息化部
王飞0 1989-01-10海淀区xx小区B楼1001室运维部
王飞1 1990-07-04东城区xx小区C楼2001室财务部
步骤104:记录提取数据位置。
将第2步提取出来的最后一条记录的提取主键值记录下来,比如:
EMPLOYEE_datasource=000000000000000000王飞0000000000000000000女00000000000019900704
步骤105:周期提取
设置一个提取周期,比如每10分钟启动一次提取,下次提取时比对上次提取到的最后一条记录的主键值,获取后面的n条记录,从而实现周期性抽取数据。
代码示例:
通过配置文件配置抽取策略:
属性说明如表2所示:
表2为属性说明表
Claims (8)
1.一种周期性自动全量提取数据库数据的方法,其步骤为:
1)从关系型数据库系统的数据表中选取若干字段,将选取的每一字段的字段值左补若干位;选取的若干字段为能够唯一标识一条记录的若干字段;
2)将选取的字段组合作为该关系型数据库系统的提取主键,将补齐后的值按字符串拼接在一起作为提取主键的值;
3)周期性从该关系型数据库系统的数据表中进行数据提取:每次提取n条记录并记录本次提取的最后一条记录的提取主键值,下次提取时通过比对提取主键值获取后面n条记录,直至完成数据表中记录的全量提取。
2.如权利要求1所述的方法,其特征在于,左补的若干位均为0;左补若干位后的每一字段的长度均相同。
3.如权利要求2所述的方法,其特征在于,左补若干位后的每一字段的长度均为20。
4.如权利要求1或2或3所述的方法,其特征在于,选取的字段包括姓名、性别和生日字段。
5.如权利要求1或2或3所述的方法,其特征在于,步骤3)中,每次提取记录时,先根据提取主键的字段对记录进行排序,然后提取n条记录。
6.如权利要求1所述的方法,其特征在于,对该关系型数据库系统中单一数据表进行全量提取。
7.权利要求1所述的方法,其特征在于,将该关系型数据库系统中多个数据表通过sql语句建立动态视图,然后对该多个数据表进行全量提取。
8.如权利要求1所述的方法,其特征在于,对提取出来的记录进行定制化的转换后存储到一数据管理系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611088878.0A CN106802911A (zh) | 2016-11-30 | 2016-11-30 | 一种周期性自动全量提取数据库数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611088878.0A CN106802911A (zh) | 2016-11-30 | 2016-11-30 | 一种周期性自动全量提取数据库数据的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106802911A true CN106802911A (zh) | 2017-06-06 |
Family
ID=58984963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611088878.0A Pending CN106802911A (zh) | 2016-11-30 | 2016-11-30 | 一种周期性自动全量提取数据库数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106802911A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113592039A (zh) * | 2021-09-02 | 2021-11-02 | 北京沃东天骏信息技术有限公司 | 一种模型主键的预测方法和装置 |
CN113761185A (zh) * | 2021-01-06 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 主键提取方法、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1019851A1 (en) * | 1997-08-14 | 2000-07-19 | Aoraki Corporation Limited | Relational database coexistence in object oriented environments |
CN201465108U (zh) * | 2009-03-18 | 2010-05-12 | 中国工商银行股份有限公司 | 对全量源数据进行抽取转换加载的装置 |
CN101923566A (zh) * | 2010-06-24 | 2010-12-22 | 浙江协同数据系统有限公司 | 一种基于触发器的数据增量抽取方法 |
CN102419754A (zh) * | 2010-09-27 | 2012-04-18 | 金蝶软件(中国)有限公司 | Etl中数据主键号的生成方法及计数器 |
CN103678392A (zh) * | 2012-09-20 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 一种数据增量合并的方法及其装置 |
CN104915414A (zh) * | 2015-06-04 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 数据抽取方法及装置 |
CN105550314A (zh) * | 2015-12-14 | 2016-05-04 | Tcl集团股份有限公司 | 基于联合主键的数据统计方法、装置及系统 |
CN105843935A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种数据采集方法以及etl组件 |
CN106126612A (zh) * | 2016-06-22 | 2016-11-16 | 重庆秒银科技有限公司 | 一种大数据etl动态划分时间片的数据抽取方法 |
-
2016
- 2016-11-30 CN CN201611088878.0A patent/CN106802911A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1019851A1 (en) * | 1997-08-14 | 2000-07-19 | Aoraki Corporation Limited | Relational database coexistence in object oriented environments |
CN201465108U (zh) * | 2009-03-18 | 2010-05-12 | 中国工商银行股份有限公司 | 对全量源数据进行抽取转换加载的装置 |
CN101923566A (zh) * | 2010-06-24 | 2010-12-22 | 浙江协同数据系统有限公司 | 一种基于触发器的数据增量抽取方法 |
CN102419754A (zh) * | 2010-09-27 | 2012-04-18 | 金蝶软件(中国)有限公司 | Etl中数据主键号的生成方法及计数器 |
CN103678392A (zh) * | 2012-09-20 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 一种数据增量合并的方法及其装置 |
CN104915414A (zh) * | 2015-06-04 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 数据抽取方法及装置 |
CN105550314A (zh) * | 2015-12-14 | 2016-05-04 | Tcl集团股份有限公司 | 基于联合主键的数据统计方法、装置及系统 |
CN105843935A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种数据采集方法以及etl组件 |
CN106126612A (zh) * | 2016-06-22 | 2016-11-16 | 重庆秒银科技有限公司 | 一种大数据etl动态划分时间片的数据抽取方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761185A (zh) * | 2021-01-06 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 主键提取方法、设备及存储介质 |
CN113592039A (zh) * | 2021-09-02 | 2021-11-02 | 北京沃东天骏信息技术有限公司 | 一种模型主键的预测方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7287034B2 (en) | On-demand multi-version data dictionary to support distributed applications | |
US20180039692A1 (en) | Information Query Method And Device | |
CN108182972A (zh) | 基于分词网络的中文疾病诊断的智能编码方法及系统 | |
CN104866593A (zh) | 一种基于知识图谱的数据库搜索方法 | |
CN108182207A (zh) | 基于分词网络的中文手术操作的智能编码方法及系统 | |
AR047362A1 (es) | Sistemas, metodos, interfases y software para recoleccion automatizada e integracion de datos de entidades en bases de datos y directorios profesionales en linea. | |
CN110597870A (zh) | 一种企业关系挖掘方法 | |
CN103970666A (zh) | 一种软件重复缺陷报告检测的方法 | |
CN105095436B (zh) | 数据源数据自动建模方法 | |
CN103838837A (zh) | 基于语义模板的遥感元数据集成方法 | |
CN102789464A (zh) | 基于语意识别的自然语言处理方法、装置和系统 | |
CN105045847A (zh) | 一种从文本信息中提取中文机构单位名称的方法 | |
CN110532358A (zh) | 一种面向知识库问答的模板自动生成方法 | |
CN106802911A (zh) | 一种周期性自动全量提取数据库数据的方法 | |
CN101697164B (zh) | 一种传统药物专利文献的信息提取方法、系统和装置 | |
US20070282804A1 (en) | Apparatus and method for extracting database information from a report | |
CN103838794A (zh) | 一种适用于专业搜索引擎的分词方法 | |
CN103853830B (zh) | 一种支持多成本对象类型的成本资料开放数据源的设计方法 | |
WO2012091539A1 (en) | A semantic similarity matching system and a method thereof | |
EP2806363A3 (en) | Data conversion and search systems | |
CN104778253B (zh) | 一种提供数据的方法和装置 | |
CN109815297A (zh) | 一种不依赖关系数据库的树状结构存取运算系统 | |
WO2016059505A1 (en) | A system and a method for recognition of aerospace parts in unstructured text | |
CN111597775A (zh) | 基于html的信息智能提取技术的方法 | |
CN107704602B (zh) | 基于agrovoc的大规模农业语义本体匹配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170606 |