CN109710600A - 数据导入方法及系统 - Google Patents
数据导入方法及系统 Download PDFInfo
- Publication number
- CN109710600A CN109710600A CN201811581188.8A CN201811581188A CN109710600A CN 109710600 A CN109710600 A CN 109710600A CN 201811581188 A CN201811581188 A CN 201811581188A CN 109710600 A CN109710600 A CN 109710600A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- storage platform
- imported
- write
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种数据导入方法及系统。所述方法包括:客户端对需要导入的数据进行预处理;客户端调用封装好的服务端的写入接口,将需要导入的数据导入存储平台,其中,所述服务端封装了所述存储平台的写入接口。本发明能够实现数据导入的高扩展以及对数据的验证与权限管理。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据导入方法及系统。
背景技术
在大数据时代,数据的量级达到了新高度,针对海量数据的分析处理方法、计算框架等层出不穷,各种技术不断涌现。ElasticSearch作为一种高性能的分布式的搜索分析引擎,正逐渐占据了日益重要的地位。在这种背景下,数据导入作为数据存储分析处理的必要前提,在大数据时代中也正发挥着日益重要的作用。
现有的针对ElasticSearch存储平台的数据导入方法主要分为两类:
1、用户自由实现数据导入功能,根据特定的需求进行相应的设计分析并实现,主要调用的是ElasticSearch的RESTful接口或者客户端接口。
2、用户将数据导入的需求交由第三方导入工具进行实现,用户配置好第三方导入工具的预置的参数,第三方导入工具调用ElasticSearch的RESTful接口或者客户端接口进行实现。
以上两种数据导入方式,都存在相应的缺陷与问题:
用户自由实现数据导入功能,用户需要根据各个数据源的接口进行独立的相关开发。比如用户需求是从oracle数据库导出数据到存储平台,就要从oracle读取数据后调用相应的RESTful或者客户端写入接口进行导入。后续如果需要从mysql数据库中导入数据到存储平台,相应地要实现读取mysql中数据后调用存储平台写入接口进行写入。这一系列导入需求的独立实现带来了很大的冗余工作量,并且每次新需求的开发都得从头开始,开发者的学习成本也很高。
用户将数据导入的需求交由第三方导入工具进行实现,用户的迁移成本最低,但是用户没法自定义,必须按照第三方的导入工具设定的相应步骤进行。第三方导入工具是针对共性导入需求的,对于一些特定的导入需求,比如实现对于某个字段的过滤导入的需求,第三方的导入工具就有点捉襟见肘了。
综上,上述两种方式都无法做到对数据的验证与权限管理。
发明内容
本发明提供的数据导入方法及系统,能够实现数据导入的高扩展以及对数据的验证与权限管理。
第一方面,本发明提供一种数据导入方法,包括:
客户端对需要导入的数据进行预处理;
客户端调用封装好的服务端的写入接口,将需要导入的数据导入存储平台,其中,所述服务端封装了所述存储平台的写入接口。
可选地,在所述客户端对需要导入的数据进行预处理之前,所述方法还包括:
客户端接收用户的不同写入需求;
客户端根据所述用户的不同写入需求,获取不同数据源的数据,作为需要导入的数据。
可选地,所述客户端对需要导入的数据进行预处理包括:按照用户设置的数据处理方式,对需要导入的数据进行预处理。
可选地,在所述将需要导入的数据导入存储平台之前,所述方法还包括:
客户端按照用户设置的数据清洗规则,对需要导入的数据中的脏数据进行删除处理。
可选地,所述存储平台为ElasticSearch存储平台。
第二方面,本发明提供一种数据导入系统,包括客户端、服务端和存储平台,所述服务端封装了所述存储平台的写入接口;
所述客户端,用于对需要导入的数据进行预处理,以及调用封装好的服务端的写入接口,将需要导入的数据导入存储平台。
可选地,所述客户端,还用于在对需要导入的数据进行预处理之前,接收用户的不同写入需求,并根据所述用户的不同写入需求,获取不同数据源的数据,作为需要导入的数据。
可选地,所述客户端,用于按照用户设置的数据处理方式,对需要导入的数据进行预处理。
可选地,所述客户端,还用于在将需要导入的数据导入存储平台之前,按照用户设置的数据清洗规则,对需要导入的数据中的脏数据进行删除处理。
可选地,所述存储平台为ElasticSearch存储平台。
本发明实施例提供的数据导入方法及系统,用户可以针对特定的需求进行定制客户端开发,实现了可扩展的数据导入方案。用户可以根据提供的客户端SDK开发出不同数据源的客户端程序如:Mysql版本客户端插件,Oracle版本客户端插件。在插件的具体实现里,用户可以自定义对于数据源的数据的处理方式,比如过滤,拼接等等。用户可以实现针对不同数据的权限控制,不同的ElasticSearch只可以看到自己拥有权限的数据。
附图说明
图1为本发明实施例提供的数据导入方法的流程图;
图2为本发明实施例提供的数据导入方法的实现框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据导入方法,如图1所示,所述方法包括:
S11、客户端对需要导入的数据进行预处理。
进一步地,在对需要导入的数据进行预处理之前,所述客户端接收用户的不同写入需求,并根据所述用户的不同写入需求,获取不同数据源的数据,作为需要导入的数据。
具体地,所述客户端可以按照用户设置的数据处理方式,对需要导入的数据进行预处理。
S12、客户端调用封装好的服务端的写入接口,将需要导入的数据导入存储平台,其中,所述服务端封装了所述存储平台的写入接口。
在将需要导入的数据导入存储平台之前,所述客户端可以按照用户设置的数据清洗规则,对需要导入的数据中的脏数据进行删除处理。
其中,所述存储平台可以为ElasticSearch存储平台,但不仅限于此。
本发明实施例提供的数据导入方法,用户可以针对特定的需求进行定制客户端开发,实现了可扩展的数据导入方案。用户可以根据提供的客户端SDK开发出不同数据源的客户端程序如:Mysql版本客户端插件,Oracle版本客户端插件。在插件的具体实现里,用户可以自定义对于数据源的数据的处理方式,比如过滤,拼接等等。用户可以实现针对不同数据的权限控制,不同的ElasticSearch只可以看到自己拥有权限的数据。
下面对本发明实施例数据导入方法进行详细说明。
如图2所示,在存储层之上,封装了一套针对存储平台的导入架构。采用客户端/服务端的架构模式。服务端封装了一系列的ElasticSearch存储平台的写入接口,这样存储平台的写入接口对于导入任务的用户就是透明的了,用户可以看到的是封装好的服务端接口。客户端负责将相应的数据进行预处理后调用服务端的写入接口进行写入即可。在这种架构之下,用户针对不同的写入需求,无须再考虑相应的存储层接口,只须将不同数据源的数据取来后调用相同的服务写入接口即可,大大地简化了开发者的工作量与复杂度。同时,可扩展性大大提升,用户可以使用客户端的SDK进行开发,实现从不同数据源抓取数据的客户端插件。在保证高可扩展性的同时,这种方案允许用户在进行数据导入的同时进行相应的数据过滤操作,实现可定制的需求。
在实现接入核心功能的基础之上,加载服务端同时可以提供权限验证以及数据清洗转换功能,这是ElasticSearch原生接口没有实现的。
本发明实现了一个高可扩展的可定制的ElasticSearch数据导入方法及系统,封装存储层接口为数据接入服务,用户可以针对特定的需求进行定制客户端开发,实现了可扩展的数据导入方案。用户可以根据提供的客户端SDK开发出不同数据源的客户端程序如:Mysql版本客户端插件,Oracle版本客户端插件。在插件的具体实现里,用户可以自定义对于数据源的数据的处理方式,比如过滤,拼接等等。用户可以实现针对不同数据的权限控制,不同的ElasticSearch只可以看到自己拥有权限的数据。
本发明实施例还提供一种数据导入系统,所述系统包括客户端、服务端和存储平台,所述服务端封装了所述存储平台的写入接口;
所述客户端,用于对需要导入的数据进行预处理,以及调用封装好的服务端的写入接口,将需要导入的数据导入存储平台。
可选地,所述客户端,还用于在对需要导入的数据进行预处理之前,接收用户的不同写入需求,并根据所述用户的不同写入需求,获取不同数据源的数据,作为需要导入的数据。
可选地,所述客户端,用于按照用户设置的数据处理方式,对需要导入的数据进行预处理。
可选地,所述客户端,还用于在将需要导入的数据导入存储平台之前,按照用户设置的数据清洗规则,对需要导入的数据中的脏数据进行删除处理。
可选地,所述存储平台为ElasticSearch存储平台。
本发明实施例提供的数据导入系统,用户可以针对特定的需求进行定制客户端开发,实现了可扩展的数据导入方案。用户可以根据提供的客户端SDK开发出不同数据源的客户端程序如:Mysql版本客户端插件,Oracle版本客户端插件。在插件的具体实现里,用户可以自定义对于数据源的数据的处理方式,比如过滤,拼接等等。用户可以实现针对不同数据的权限控制,不同的ElasticSearch只可以看到自己拥有权限的数据。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种数据导入方法,其特征在于,所述方法包括:
客户端对需要导入的数据进行预处理;
客户端调用封装好的服务端的写入接口,将需要导入的数据导入存储平台,其中,所述服务端封装了所述存储平台的写入接口。
2.根据权利要求1所述的方法,其特征在于,在所述客户端对需要导入的数据进行预处理之前,所述方法还包括:
客户端接收用户的不同写入需求;
客户端根据所述用户的不同写入需求,获取不同数据源的数据,作为需要导入的数据。
3.根据权利要求1所述的方法,其特征在于,所述客户端对需要导入的数据进行预处理包括:按照用户设置的数据处理方式,对需要导入的数据进行预处理。
4.根据权利要求1至3中任一项所述的方法,其特征在于,在所述将需要导入的数据导入存储平台之前,所述方法还包括:
客户端按照用户设置的数据清洗规则,对需要导入的数据中的脏数据进行删除处理。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述存储平台为ElasticSearch存储平台。
6.一种数据导入系统,其特征在于,所述系统包括客户端、服务端和存储平台,所述服务端封装了所述存储平台的写入接口;
所述客户端,用于对需要导入的数据进行预处理,以及调用封装好的服务端的写入接口,将需要导入的数据导入存储平台。
7.根据权利要求6所述的系统,其特征在于,所述客户端,还用于在对需要导入的数据进行预处理之前,接收用户的不同写入需求,并根据所述用户的不同写入需求,获取不同数据源的数据,作为需要导入的数据。
8.根据权利要求6所述的系统,其特征在于,所述客户端,用于按照用户设置的数据处理方式,对需要导入的数据进行预处理。
9.根据权利要求6至8中任一项所述的系统,其特征在于,所述客户端,还用于在将需要导入的数据导入存储平台之前,按照用户设置的数据清洗规则,对需要导入的数据中的脏数据进行删除处理。
10.根据权利要求6至9中任一项所述的系统,其特征在于,所述存储平台为ElasticSearch存储平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581188.8A CN109710600A (zh) | 2018-12-24 | 2018-12-24 | 数据导入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581188.8A CN109710600A (zh) | 2018-12-24 | 2018-12-24 | 数据导入方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109710600A true CN109710600A (zh) | 2019-05-03 |
Family
ID=66257422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811581188.8A Pending CN109710600A (zh) | 2018-12-24 | 2018-12-24 | 数据导入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710600A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701181A (zh) * | 2016-01-06 | 2016-06-22 | 中电科华云信息技术有限公司 | 一种动态异构元数据获取方法及系统 |
CN106126752A (zh) * | 2016-08-19 | 2016-11-16 | 广州慧睿思通信息科技有限公司 | 一种支持结构化与非结构化数据导入的装置与方法 |
US20170011087A1 (en) * | 2015-07-06 | 2017-01-12 | Oracle International Corporation | Dynamically switching between data sources |
CN106354870A (zh) * | 2016-09-18 | 2017-01-25 | 中国科学院计算技术研究所 | 一种数据加载的方法和设备 |
CN106682036A (zh) * | 2015-11-11 | 2017-05-17 | 上海汽车集团股份有限公司 | 一种数据交换系统及其交换方法 |
-
2018
- 2018-12-24 CN CN201811581188.8A patent/CN109710600A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170011087A1 (en) * | 2015-07-06 | 2017-01-12 | Oracle International Corporation | Dynamically switching between data sources |
CN106682036A (zh) * | 2015-11-11 | 2017-05-17 | 上海汽车集团股份有限公司 | 一种数据交换系统及其交换方法 |
CN105701181A (zh) * | 2016-01-06 | 2016-06-22 | 中电科华云信息技术有限公司 | 一种动态异构元数据获取方法及系统 |
CN106126752A (zh) * | 2016-08-19 | 2016-11-16 | 广州慧睿思通信息科技有限公司 | 一种支持结构化与非结构化数据导入的装置与方法 |
CN106354870A (zh) * | 2016-09-18 | 2017-01-25 | 中国科学院计算技术研究所 | 一种数据加载的方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106067080B (zh) | 提供可配置工作流能力 | |
CN106227494B (zh) | 一种应用操作方法以及终端 | |
CN111625452A (zh) | 流量回放方法和系统 | |
CN105760192B (zh) | 系统服务端业务模块的注册方法及装置 | |
CN107636666A (zh) | 用于控制对于计算设备上的应用的准许请求的方法和系统 | |
CN107133174A (zh) | 测试用例代码自动生成装置与方法 | |
CN110457258A (zh) | 一种日志管理方法、装置、设备及介质 | |
CN106126424A (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
CN110334086A (zh) | 数据去重方法、装置、计算机设备以及存储介质 | |
CN108664625B (zh) | 一种跨系统数据同步方法及装置 | |
CN111488182B (zh) | 系统配置方法、装置、设备和存储介质 | |
CN109558191A (zh) | 一种配置页面的方法、装置、存储介质及计算机设备 | |
CN106250571A (zh) | 一种etl数据处理的方法及系统 | |
CN108446326A (zh) | 一种基于容器的异构数据管理方法及系统 | |
CN109710667A (zh) | 一种基于大数据平台的多源数据融合共享实现方法及系统 | |
JP2023514688A (ja) | カスタマイズされた統合フローのテンプレート提供 | |
CN109446097A (zh) | 一种回归测试用例选择方法、装置、终端及存储介质 | |
CN110020004B (zh) | 一种数据计算方法及引擎 | |
CN109343863B (zh) | 一种hdfs权限的界面配置方法及系统 | |
CN107391272A (zh) | 多进程数据交互的方法和终端 | |
CN110515750A (zh) | 一种应用拓扑生成方法、系统及集群 | |
CN104572443A (zh) | 一种移动终端测试方法及装置 | |
CN106888264A (zh) | 一种数据交换方法和装置 | |
CN109614271A (zh) | 多个集群数据一致性的控制方法、装置、设备及存储介质 | |
DE202021102320U1 (de) | System zum Implementieren einer Unterdatenbankreplikation |
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: 20190503 |