CN108062329B - 一种数据导入方法及装置 - Google Patents
一种数据导入方法及装置 Download PDFInfo
- Publication number
- CN108062329B CN108062329B CN201610982792.6A CN201610982792A CN108062329B CN 108062329 B CN108062329 B CN 108062329B CN 201610982792 A CN201610982792 A CN 201610982792A CN 108062329 B CN108062329 B CN 108062329B
- Authority
- CN
- China
- Prior art keywords
- database
- data
- imported
- search engine
- unit
- 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.)
- Active
Links
Images
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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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
本发明公开了一种数据导入方法及装置,涉及信息技术领域,解决了现有技术中数据导入效率较低的问题。本发明的主要技术方案为:获取待导入数据的关系数据库对应的数据库类型;根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;根据所述数据库程序集从所述关系数据库中获取所述待导入数据;将所述待导入数据导入到分布式搜索引擎中。本发明适用于数据的导入。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种数据导入方法及装置。
背景技术
随着信息技术的不断发展,分布式搜索引擎随之出现,如Elastic Search分布式搜索引擎。分布式搜索引擎是一种以全文检索为特长的搜索服务引擎。通过将关系数据库中的数据导入到分布式搜索引擎中并进行存储,能够实现关系数据库中数据的全文检索。
目前,在进行数据导入时,通常只能将单一类型关系数据库中的数据导入到分布式搜索引擎中。然而,关系数据库的类型较多,当需要将不同类型关系数据库中的数据导入分布式搜索引擎中时,针对每种类型的关系数据库都需要进行单独的开发工作,造成开发工作重复,从而导致数据导入的效率较低。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的数据导入方法及装置。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供了一种数据导入方法,所述方法包括:
获取待导入数据的关系数据库对应的数据库类型;
根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;
根据所述数据库程序集从所述关系数据库中获取所述待导入数据;
将所述待导入数据导入到分布式搜索引擎中。
另一方面,本发明提供了一种数据导入装置,所述装置包括:
获取单元,用于获取待导入数据的关系数据库对应的数据库类型;
所述获取单元,还用于根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;
加载单元,用于加载所述获取单元获取的所述数据库程序集;
所述获取单元,还用于根据所述加载单元加载的所述数据库程序集从所述关系数据库中获取所述待导入数据;
导入单元,用于将所述获取单元获取的所述待导入数据导入到分布式搜索引擎中。
借由上述技术方案,本发明提供的一种数据导入方法及装置。首先获取待导入数据的关系数据库对应的数据库类型;然后根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;其次根据所述数据库程序集从所述关系数据库中获取所述待导入数据;最后将所述待导入数据导入到分布式搜索引擎中。与目前只能将单一类型关系数据库中的数据导入到分布式搜索引擎中相比,本发明通过根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,实现了在关系数据库的数据库类型改变时,根据改变后的数据库类型就可以获取关系数据库的数据库程序集,并从数据库类型的关系数据库中的获取待导入数据以及将待导入数据到分布式搜索引擎中,从而实现了将不同数据库类型的关系数据库中的待导入数据导入到分布式搜索引擎中,无需单独针对某个数据库类型的关系数据库进行单独开发,减少了开发工作,进而提升了数据导入效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种数据导入方法流程图;
图2为本发明实施例提供的另一种数据导入方法流程图;
图3为本发明实施例提供的一种数据导入装置结构示意图;
图4为本发明实施例提供的另一种数据导入装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。
本发明实施例提供了一种数据导入方法,如图1所示,所述方法还包括:
101、获取待导入数据的关系数据库对应的数据库类型。
其中,待导入数据可以为需要进行全文检索的数据,通常关系数据库的全文检索能力较差,因此可以将数据导入到分布式搜索引擎中进行全文检索。不同数据库提供商提供的关系数据库不同,因此关系数据库的数据库类型不同,如MYSQL公司提供的关系数据库为MYSQL数据库、Microsoft公司提供的关系数据库为SQLSERVER数据库、ORACLE公司提供的关系数据库为ORACLE数据库、IBM公司提供的关系数据库为DB2数据库、SYBASE提供的关系数据库为SYBASE数据库。关系数据库的数据库类型包括但不限于MYSQL数据库、SQLSERVER数据库、DB2数据库、ORACLE数据库、SYBASE数据库类型。
需要说明的是,本发明的执行主体可以为ETL(Extract-Transform-Load,抽取-转换-加载)工具,ETL用于描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
102、根据数据库类型从预置映射表中获取关系数据库的数据库程序集并进行加载。
其中,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集。具体可以通过数据库适配器从预置映射表中获取关系数据库的数据库程序集并进行加载。预置映射表可以为预先设置的,预置映射表可以如表1所示:
表1
关系数据库的数据库类型 | 数据库程序集 |
MYSQL数据库 | 数据库程序集1 |
SQLSERVER数据库 | 数据库程序集2 |
ORACLE数据库 | 数据库程序集3 |
DB2数据库 | 数据库程序集4 |
SYBASE数据库 | 数据库程序集5 |
当关系数据库的数据库类型为ORACLE数据库时,从预置映射表中获取得到关系数据库的数据库程序集为数据库程序集3并进行加载;当关系数据库的数据库类型为SYBASE数据库时,从预置映射表中获取得到关系数据库的数据库程序集为数据库程序集5并进行加载。
对于本发明实施例,通过根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,实现了将不同数据库类型的关系数据库中的待导入数据导入到分布式搜索引擎中,无需单独针对某个数据库类型的关系数据库进行单独开发,减少了开发工作,进而提升了数据导入效率。
103、根据数据库程序集从关系数据库中获取待导入数据。
其中,所述数据库程序集可以包括数据库连接程序集和数据库访问程序集,所述数据连接程序集用于与关系数据库进行连接,所述数据访问程序集用于从关系数据库中读取待导入数据。
需要说明的是,在加载数据库程序集后,可以通过数据库程序集读取关系数据库的链接地址,以实现与关系数据库的连接。然后在与关系数据库连接之后,通过数据库访问程序集从关系数据库中获取待导入数据。
104、将待导入数据导入到分布式搜索引擎中。
其中,分布式搜索引擎可以为Elastic Search分布式搜索引擎。分布式搜索引擎可以基于RESTful web接口提供分布式多用户能力的全文搜索。
需要说明的是,在将待导入数据导入到分布式搜索引擎之前,还可以获取分布式搜索引擎的链接地址,然后根据链接地址连接所述分布式搜索引擎之后,将待导入数据导入到分布式搜索引擎中。例如,获取的分布式搜索引擎的链接地址可以为http:/ElasticSearch.com,然后通过http:/ElasticSearch.com连接所述分布式搜索引擎。具体地,可以通过分布式搜索引擎的操作程序集将待导入数据导入到分布式搜索引擎中。
本发明实施例提供的一种数据导入方法。首先获取待导入数据的关系数据库对应的数据库类型;然后根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;其次根据所述数据库程序集从所述关系数据库中获取所述待导入数据;最后将所述待导入数据导入到分布式搜索引擎中。与目前只能将单一类型关系数据库中的数据导入到分布式搜索引擎中相比,本发明通过根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,实现了在关系数据库的数据库类型改变时,根据改变后的数据库类型就可以获取关系数据库的数据库程序集,并从数据库类型的关系数据库中的获取待导入数据以及将待导入数据到分布式搜索引擎中,从而实现了将不同数据库类型的关系数据库中的待导入数据导入到分布式搜索引擎中,无需单独针对某个数据库类型的关系数据库进行单独开发,减少了开发工作,进而提升了数据导入效率。
本发明实施例提供了另一种数据导入方法,如图2所示,所述方法还包括:
201、获取待导入数据的关系数据库对应的数据库类型。
其中,待导入数据以及关系数据库对应的数据库类型在步骤101已详细的描述,在此不进行赘述。
202、判断预置映射表中是否存在与数据库类型对应的数据库程序集。若是,则执行步骤203;若否,则执行步骤207。
其中,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集。所述数据库程序集可以包括数据库连接程序集和数据库访问程序集。
203、根据数据库类型从预置映射表中获取关系数据库的数据库程序集。
204、根据数据库程序集从关系数据库中获取待导入数据。
205、创建分布式搜索引擎的存储索引。
对于本发明实施例,所述创建分布式搜索引擎的存储索引具体可以包括:获取所述关系数据库的数据库表结构;根据所述数据库表结构,创建所述分布式搜索引擎的存储索引。具体地,所述根据所述数据库表结构,创建所述分布式搜索引擎的存储索引的具体过程可以为:根据所述数据库表结构,创建所述分布式搜索引擎的存储索引对应的数据模型代码;动态编译所述数据模型代码,得到数据模型的动态链接库;根据所述数据模型的动态链接库,创建所述分布式搜索引擎的存储索引。
其中,数据库表结构包括数据库中数据表的字段、类型主键、外键、索引等基本的属性。通过根据关系数据库的数据库表结构,创建所述分布式搜索引擎的存储索引,提升了待导入数据导入分布式搜索引擎的准确性。
对于本发明实施例,为了保证关系数据库中待导入数据能够成功导入分布式搜索引擎中,在将待导入数据导入分布式搜索引擎的存储索引中之前,所述方法还可以包括:对所述待导入数据进行数据模型对应的实体对象化处理。具体地,可以将待导入数据中每一行数据赋予数据模型对应的实体对象,然后将得到的数据模型对应的实体对象的数据导入到分布式搜索引擎的存储索引中。
206、将待导入数据导入到分布式搜索引擎的存储索引中。
需要说明的是,可以通过分布式搜索引擎的操作程序集,将数据模型对应的实体对象的数据导入到分布式搜索引擎中。
207、获取数据库程序集。
在本发明实施例中,当预置映射表中不存在与数据库类型对应的数据库程序集时,可以输出提示信息,以提示用户不存在当前关系数据库的数据库程序集并通知用户在下载当前关系数据库的数据库程序集后,将当前关系数据库的数据库程序集放到ETL工具中。当用户成功将当前关系数据库的数据库程序集放到ETL工具时,可以获取到数据库程序集。
208、建立数据库类型与数据库程序集之间的映射关系。
209、将数据库类型、数据库程序集以及映射关系保存在预置映射表中。
例如,当前数据库类型为Access数据库,在预置映射表中不存在Access数据库的数据库程序集,可以获取数据库程序集6,然后建立Access数据库与数据库程序集6之间的映射关系并进行保存,此时预置映射表可以如表2所示:
关系数据库的数据库类型 | 数据库程序集 |
MYSQL数据库 | 数据库程序集1 |
SQLSERVER数据库 | 数据库程序集2 |
ORACLE数据库 | 数据库程序集3 |
DB2数据库 | 数据库程序集4 |
SYBASE数据库 | 数据库程序集5 |
Access数据库 | 数据库程序集6 |
对于本发明实施例,当预置映射表中不存在与数据库类型对应的数据库程序集时,通过建立数据库类型与数据库程序集之间的映射关系并进行保存,可以实现预置映射表的更新以及关系型数据库的数据库类型的扩展,从而可以实现将更多类型的关系数据库中的数据导入到分布式搜素引擎中进行全文检索。
本发明实施例提供的另一种数据导入方法。首先获取待导入数据的关系数据库对应的数据库类型;然后根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;其次根据所述数据库程序集从所述关系数据库中获取所述待导入数据;最后将所述待导入数据导入到分布式搜索引擎中。与目前只能将单一类型关系数据库中的数据导入到分布式搜索引擎中相比,本发明通过根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,实现了在关系数据库的数据库类型改变时,根据改变后的数据库类型就可以获取关系数据库的数据库程序集,并从数据库类型的关系数据库中的获取待导入数据以及将待导入数据到分布式搜索引擎中,从而实现了将不同数据库类型的关系数据库中的待导入数据导入到分布式搜索引擎中,无需单独针对某个数据库类型的关系数据库进行单独开发,减少了开发工作,进而提升了数据导入效率。进一步地,通过根据关系数据库的数据库表结构,创建所述分布式搜索引擎的存储索引,提升了待导入数据导入分布式搜索引擎的准确性。
进一步地,作为图1所述方法的具体实现,本发明实施例提供一种数据导入装置,如图3所示,所述装置包括:获取单元31、加载单元32、导入单元33。
获取单元31,可以用于获取待导入数据的关系数据库对应的数据库类型。
所述获取单元31,还可以用于根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集。
加载单元32,可以用于加载所述获取单元31获取的所述数据库程序集。
所述获取单元31,还可以用于根据所述加载单元32加载的所述数据库程序集从所述关系数据库中获取所述待导入数据。
导入单元33,可以用于将所述获取单元31获取的所述待导入数据导入到分布式搜索引擎中。
需要说明的是,本发明实施例提供的一种数据导入装置所涉及各功能单元的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的一种数据导入装置。所述装置可以包括:获取单元、加载单元和导入单元。获取单元,用于获取待导入数据的关系数据库对应的数据库类型;所述获取单元,还用于根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;加载单元,用于加载所述获取单元获取的所述数据库程序集;所述获取单元,还用于根据所述加载单元加载的所述数据库程序集从所述关系数据库中获取所述待导入数据;导入单元,用于将所述获取单元获取的所述待导入数据导入到分布式搜索引擎中。与目前只能将单一类型关系数据库中的数据导入到分布式搜索引擎中相比,本发明通过根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,实现了在关系数据库的数据库类型改变时,根据改变后的数据库类型就可以获取关系数据库的数据库程序集,并从数据库类型的关系数据库中的获取待导入数据以及将待导入数据到分布式搜索引擎中,从而实现了将不同数据库类型的关系数据库中的待导入数据导入到分布式搜索引擎中,无需单独针对某个数据库类型的关系数据库进行单独开发,减少了开发工作,进而提升了数据导入效率。
进一步地,作为图2所述方法的具体实现,本发明实施例提供另一种数据导入装置,如图4所示,所述装置包括:获取单元41、加载单元42、导入单元43。
获取单元41,可以用于获取待导入数据的关系数据库对应的数据库类型。
所述获取单元41,还可以用于根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集。
加载单元42,可以用于加载所述获取单元41获取的所述数据库程序集。
所述获取单元41,还可以用于根据所述加载单元42加载的所述数据库程序集从所述关系数据库中获取所述待导入数据。
导入单元43,可以用于将所述获取单元41获取的所述待导入数据导入到分布式搜索引擎中。
进一步,所述装置还可以包括:判断单元44。
所述判断单元44,可以用于判断所述预置映射表中是否存在与所述数据库类型对应的数据库程序集。
所述获取单元41,具体可以用于若所述判断单元44判断预置映射表中存在与所述数据库类型对应的数据库程序集,则根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集。
进一步,所述装置还可以包括:建立单元45和保存单元46。
所述获取单元41,还可以用于若所述判断单元44判断所述预置映射表中不存在与所述数据库类型对应的数据库程序集,则获取数据库程序集。
所述建立单元45,可以用于建立所述获取单元41获取的所述数据库类型与所述数据库程序集之间的映射关系。
所述保存单元46,可以用于将所述获取单元41获取的所述数据库类型、所述数据库程序集以及所述建立单元45建立的所述映射关系保存在所述预置映射表中。
进一步地,所述装置还可以包括:创建单元47。
所述创建单元47,可以用于创建所述分布式搜索引擎的存储索引。
所述导入单元43,具体可以将所述待导入数据导入到所述分布式搜索引擎的存储索引中。
进一步地,所述创建单元47还可以包括:获取模块471和创建模块472。
获取模块471,可以用于获取所述关系数据库的数据库表结构。
创建模块472,可以用于根据所述获取模块471获取的所述数据数据库表结构,创建所述分布式搜索引擎的存储索引。
进一步地,所述创建模块472可以包括:创建子模块4721、编译子模块4722。
创建子模块4721,可以用于根据所述获取模块471获取的所述数据数据库表结构,创建所述分布式搜索引擎的存储索引对应的数据模型代码。
编译子模块4722,可以用于动态编译所述数据模型代码,得到数据模型的动态链接库。
所述创建子模块4721,还可以用于根据所述编译子模块4722得到的所述数据模型的动态链接库,创建所述分布式搜索引擎的存储索引。
所述导入单元43,具体可以用于在与所述分布式搜索引擎连接后,将所述待导入数据导入到分布式搜索引擎中。
进一步地,所述装置还可以包括:处理单元48。
所述处理单元48,可以用于对所述获取单元41获取的所述待导入数据进行数据模型对应的实体对象化处理。
所述导入单元43,具体可以用于将所述处理单元48处理后的数据导入到分布式搜索引擎中。
需要说明的是,本发明实施例提供的另一种数据导入装置所涉及各功能单元的其他相应描述,可以参考图2所示方法的对应描述,在此不再赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
本发明实施例提供的另一种数据导入装置。所述装置可以包括:获取单元、加载单元和导入单元。获取单元,用于获取待导入数据的关系数据库对应的数据库类型;所述获取单元,还用于根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;加载单元,用于加载所述获取单元获取的所述数据库程序集;所述获取单元,还用于根据所述加载单元加载的所述数据库程序集从所述关系数据库中获取所述待导入数据;导入单元,用于将所述获取单元获取的所述待导入数据导入到分布式搜索引擎中。与目前只能将单一类型关系数据库中的数据导入到分布式搜索引擎中相比,本发明通过根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,实现了在关系数据库的数据库类型改变时,根据改变后的数据库类型就可以获取关系数据库的数据库程序集,并从数据库类型的关系数据库中的获取待导入数据以及将待导入数据到分布式搜索引擎中,从而实现了将不同数据库类型的关系数据库中的待导入数据导入到分布式搜索引擎中,无需单独针对某个数据库类型的关系数据库进行单独开发,减少了开发工作,进而提升了数据导入效率。进一步地,通过根据关系数据库的数据库表结构,创建所述分布式搜索引擎的存储索引,提升了待导入数据导入分布式搜索引擎的准确性。
所述数据导入装置包括处理器和存储器,上述获取单元、加载单元、导入单元、判断单元和建立单元和保存单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高数据导入的效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取待导入数据的关系数据库对应的数据库类型;根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;根据所述数据库程序集从所述关系数据库中获取所述待导入数据;将所述待导入数据导入到分布式搜索引擎中。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种数据导入方法,其特征在于,包括:
获取待导入数据的关系数据库对应的数据库类型;
根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集并进行加载,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;
根据所述数据库程序集从所述关系数据库中获取所述待导入数据;
将所述待导入数据导入到分布式搜索引擎中;
所述将所述待导入数据导入到分布式搜索引擎中之前,所述方法包括:
创建所述分布式搜索引擎的存储索引;
所述将所述待导入数据导入分布式搜索引擎中包括:
将所述待导入数据导入到所述分布式搜索引擎的存储索引中;
所述创建所述分布式搜索引擎的存储索引包括:
获取所述关系数据库的数据库表结构;
根据所述数据库表结构,创建所述分布式搜索引擎的存储索引;
所述根据所述数据库表结构,创建所述分布式搜索引擎的存储索引包括:
根据所述数据库表结构,创建所述分布式搜索引擎的存储索引对应的数据模型代码;
动态编译所述数据模型代码,得到数据模型的动态链接库;
根据所述数据模型的动态链接库,创建所述分布式搜索引擎的存储索引。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集之前,所述方法还包括:
判断所述预置映射表中是否存在与所述数据库类型对应的数据库程序集;
所述根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集包括:
若存在,则根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集。
3.根据权利要求2所述的方法,其特征在于,所述判断所述预置映射表中是否存在与所述数据库类型对应的数据库程序集之后,所述方法还包括:
若不存在,则获取数据库程序集;
建立所述数据库类型与所述数据库程序集之间的映射关系;
将所述数据库类型、所述数据库程序集以及所述映射关系保存在所述预置映射表中。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述待导入数据导入到分布式搜索引擎中之前,所述方法还包括:
对所述待导入数据进行数据模型对应的实体对象化处理;
所述将所述待导入数据导入到分布式搜索引擎中包括:
将处理后的数据导入到分布式搜索引擎中。
5.一种数据导入装置,其特征在于,包括:
获取单元,用于获取待导入数据的关系数据库对应的数据库类型;
所述获取单元,还用于根据所述数据库类型从预置映射表中获取所述关系数据库的数据库程序集,所述预置映射表中保存有不同数据库类型分别对应的数据库程序集;
加载单元,用于加载所述获取单元获取的所述数据库程序集;
所述获取单元,还用于根据所述加载单元加载的所述数据库程序集从所述关系数据库中获取所述待导入数据;
导入单元,用于将所述获取单元获取的所述待导入数据导入到分布式搜索引擎中;
所述装置还包括:创建单元;
所述创建单元,用于创建所述分布式搜索引擎的存储索引;
所述导入单元,用于将所述待导入数据导入到所述分布式搜索引擎的存储索引中;
所述创建单元还包括:获取模块和创建模块;
所述获取模块,用于获取所述关系数据库的数据库表结构;
所述创建模块,用于根据所述获取模块获取的所述数据数据库表结构,创建所述分布式搜索引擎的存储索引;
所述创建模块还包括:创建子模块和编译子模块;
所述创建子模块,用于根据所述获取模块获取的所述数据数据库表结构,创建所述分布式搜索引擎的存储索引对应的数据模型代码;
所述编译子模块,用于动态编译所述数据模型代码,得到数据模型的动态链接库;
所述创建子模块,还用于根据所述编译子模块得到的所述数据模型的动态链接库,创建所述分布式搜索引擎的存储索引。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:判断单元,
所述判断单元,用于判断所述预置映射表中是否存在与所述数据库类型对应的数据库程序集;
所述获取单元,具体用于若所述判断单元判断所述预置映射表中存在与所述数据库类型对应的数据库程序集,则根据所述数据库类型从所述预置映射表中获取所述关系数据库的数据库程序集。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:建立单元和保存单元,
所述获取单元,还用于若所述判断单元判断所述预置映射表中不存在与所述数据库类型对应的数据库程序集,则获取数据库程序集;
所述建立单元,用于建立所述数据库类型与所述获取单元获取的所述数据库程序集之间的映射关系;
所述保存单元,用于将所述数据库类型、所述数据库程序集以及所述映射关系保存在所述预置映射表中。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的数据导入方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求4中任意一项所述的数据导入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610982792.6A CN108062329B (zh) | 2016-11-08 | 2016-11-08 | 一种数据导入方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610982792.6A CN108062329B (zh) | 2016-11-08 | 2016-11-08 | 一种数据导入方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108062329A CN108062329A (zh) | 2018-05-22 |
CN108062329B true CN108062329B (zh) | 2022-04-15 |
Family
ID=62137088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610982792.6A Active CN108062329B (zh) | 2016-11-08 | 2016-11-08 | 一种数据导入方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062329B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271431B (zh) * | 2018-08-14 | 2023-11-24 | 中国平安人寿保险股份有限公司 | 数据抽取方法、装置、计算机设备及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102902777B (zh) * | 2012-09-28 | 2016-07-06 | 用友网络科技股份有限公司 | 跨数据源查询装置和跨数据源查询方法 |
CN103186730B (zh) * | 2013-03-26 | 2016-05-18 | 北京深思数盾科技股份有限公司 | 保护.net软件安全的方法和设备 |
CN104111955B (zh) * | 2013-04-22 | 2018-10-23 | 中国银联股份有限公司 | 一种面向Hbase数据库的复合查询方法 |
CN103412933A (zh) * | 2013-08-20 | 2013-11-27 | 南京物联网应用研究院有限公司 | 一种云搜索平台 |
CN103440130A (zh) * | 2013-08-26 | 2013-12-11 | 成都金山数字娱乐科技有限公司 | 一种数据处理方法以及装置 |
CN103617174A (zh) * | 2013-11-04 | 2014-03-05 | 同济大学 | 一种基于云计算的分布式搜索方法 |
CN103744960A (zh) * | 2014-01-06 | 2014-04-23 | 河海大学 | 一种基于云平台的元数据索引模型及方法 |
CN104834688B (zh) * | 2015-04-20 | 2019-10-08 | 北京奇艺世纪科技有限公司 | 一种二级索引建立方法和装置 |
CN105205687A (zh) * | 2015-08-24 | 2015-12-30 | 浪潮通用软件有限公司 | 一种海量数据采集的方法 |
CN105373599B (zh) * | 2015-10-28 | 2017-05-31 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移系统 |
CN105447156A (zh) * | 2015-11-30 | 2016-03-30 | 北京航空航天大学 | 资源描述框架分布式引擎及增量式更新方法 |
CN105956188A (zh) * | 2016-06-07 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种在不同类型数据库间导出导入二进制文件的方法 |
US10331667B2 (en) * | 2016-07-29 | 2019-06-25 | Hart, Inc. | Systems and methods for bi-directional database application programming interface, extract transform and load system, and user computing device |
CN108228606A (zh) * | 2016-12-14 | 2018-06-29 | 北京国双科技有限公司 | 数据的写入方法及装置 |
-
2016
- 2016-11-08 CN CN201610982792.6A patent/CN108062329B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108062329A (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111813805A (zh) | 一种数据处理方法及装置 | |
CN106933823B (zh) | 数据同步方法及装置 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
CN110188100A (zh) | 数据处理方法、装置及计算机存储介质 | |
CN105630475B (zh) | 一种数据标签组织系统及组织方法 | |
CN110895544B (zh) | 一种接口数据处理方法、装置、系统及存储介质 | |
CN107451204B (zh) | 一种数据查询方法、装置及设备 | |
CN107609011B (zh) | 一种数据库记录的维护方法和装置 | |
CN110888922A (zh) | 一种数据同步时目标表的创建方法及装置 | |
CN106648839A (zh) | 数据处理的方法和装置 | |
CN108959330B (zh) | 一种数据库的处理、数据查询方法及设备 | |
CN108062329B (zh) | 一种数据导入方法及装置 | |
CN108241620B (zh) | 查询脚本的生成方法及装置 | |
CN110825764A (zh) | 一种sql脚本的生成方法、系统、存储介质和处理器 | |
CN112527792A (zh) | 一种数据存储方法、装置、设备和存储介质 | |
CN108121733B (zh) | 一种数据的查询方法及装置 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN110019448B (zh) | 一种数据交互方法及装置 | |
CN110019295B (zh) | 数据库检索方法、装置、系统以及存储介质 | |
CN107562533B (zh) | 一种数据加载处理方法及装置 | |
CN111125087A (zh) | 数据的存储方法及装置 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN109299125B (zh) | 数据库更新方法及装置 | |
CN108121719B (zh) | 一种实现数据抽取转换加载etl的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |