CN111125013B - 一种数据入库方法、装置、设备及介质 - Google Patents
一种数据入库方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111125013B CN111125013B CN201911364651.8A CN201911364651A CN111125013B CN 111125013 B CN111125013 B CN 111125013B CN 201911364651 A CN201911364651 A CN 201911364651A CN 111125013 B CN111125013 B CN 111125013B
- Authority
- CN
- China
- Prior art keywords
- data
- distributed
- stream processing
- file
- warehoused
- 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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据入库方法、装置、设备及介质。其中,数据入库方法,包括:采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。本发明实施例的技术方案,通过分布式数据库集群提供的数据加载模式进行数据入库,提高了数据入库的性能。
Description
技术领域
本发明实施例涉及数据存储技术,尤其涉及一种数据入库方法、装置、设备及介质。
背景技术
随着各种应用系统使用人数的增多,应用系统需要处理的数据量呈指数级增长,单一服务器由于处理能力的限制无法实现大量数据并行处理,因此,服务器集群应运而生,其可以利用多个计算机进行并行计算从而获得较高的计算速度,提高应用系统的数据处理效率。
服务器集群进行数据处理过程中,需要将一些数据存储到数据库中,当大规模的服务器集群,例如,集群中包括几十台或几百台计算机,同时对一个传统的关系型数据库进行数据插入操作时,海量数据写入速度慢,延迟高,网络I/O开销大,数据写入性能差,无法满足服务器集群高并发插入数据的需求。
发明内容
本发明实施例提供一种数据入库方法、装置、设备及介质,通过分布式数据库集群提供的数据加载模式进行数据入库,提高了数据入库的性能。
第一方面,本发明实施例提供了一种数据入库方法,所述方法包括:
采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
第二方面,本发明实施例还提供了一种数据入库装置,所述装置包括:
待入库数据存储模块,用于采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
数据文件生成模块,用于采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
数据文件搬运模块,用于采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
数据文件写入模块,用于通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
第三方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的数据入库方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的数据入库方法。
本发明实施例的技术方案,首先采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中,然后采用流处理框架从分布式流处理平台中读取上述待入库数据,并根据待入库数据生成设定格式的数据文件,采用搬运工具将数据文件搬运到分布式数据库集群的主节点上,最终通过分布式数据库集群启动加载程序,将数据文件写入分布式数据库集群,完成数据入库,解决了现有技术中关系型数据库无法承载服务器集群进行并发数据插入的问题,提高了数据入库的性能。
附图说明
图1是本发明实施例一中的一种数据入库方法的流程图;
图2a是本发明实施例二中的一种数据入库方法的流程图;
图2b是本发明实施例二中的Storm中的数据搬运接口示意图;
图2c是本发明实施例二中的Storm中数据接收成功统计界面示意图;
图2d是本发明实施例二中的Storm中数据接收失败统计界面示意图;
图3a是本发明实施例三中的一种数据入库方法的流程图;
图3b是本发明实施例三中的一种数据入库方法的应用场景示意图;
图4是本发明实施例四中的一种数据入库装置示意图;
图5是本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种数据入库方法的流程图,本实施例的技术方案适用于通过分布式数据库集群提供的数据加载模式进行数据入库的情况,该方法可以由数据入库装置执行,该装置可以由软件和/或硬件来实现,并可以集成在各种通用计算机设备中,具体包括如下步骤:
步骤110、采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中。
其中,分布式大数据处理系统是指分布式的、容错的数据流处理系统,可以用于在容错和水平可扩展方法中处理大量数据,示例性的,分布式大数据处理系统可以是Storm。分布式流处理平台是一种高吞吐量,可以实时处理大量数据的分布式发布订阅消息系统,由于其高吞吐量和长时间稳定存储的特点,能够作为消息中间系统进行数据接收和存储,示例性的,分布式流处理平台可以是Kafka。
本实施例中,采用分布式大数据处理系统包含的入库组件,定时将经过归并的待入库数据数据存储到分布式流处理平台,实现对服务器集群发送的大量数据的准确接收和存储。示例性的,采用Storm包含的Dpat组件将经过汇总的服务器集群发送的待入库数据存储到Kafka专门用于存储数据的topic中,实现数据准确接收和存储,防止数据丢失。
步骤120、采用流处理框架,从分布式流处理平台中读取待入库数据,并根据待入库数据,生成设定格式的数据文件。
其中,流处理框架是能够消费分布式流处理平台中存储的数据,并能够对其进行高效处理的框架,示例性的,流处理框架是Flink。
本实施例中,为了消费分布式流处理平台中存储的待入库数据,采用流处理框架读取其中包含的待入库数据,并根据这些待入库数据生成设定格式的数据文件,以方便关系型数据库读取。示例性的,为了消费Kafka专用topic中存储的待入库数据,采用Flink从Kafka的专用topic中读取待入库数据,并根据待入库数据,生成文本格式的数据文件,以方便关系型数据库进行数据读取。
步骤130、采用搬运工具将数据文件搬运到分布式数据库集群的主节点。
其中,分布式数据库集群是由多个独立的数据库服务组合成的逻辑数据库,采用Shared-Nothing架构,整个数据库集群由多个数据节点和控制节点组成,其中每个数据节点上可以运行多个数据库,即每个节点相对独立,各节点都有自己私有的CPU、内存及硬盘等,不存在共享资源,示例性的,分布式数据库集群可以是GreenPlum。搬运工具是用于对设定文件进行搬运的工具,可以将文件从一个存储位置搬运到其他设定位置进行存储,示例性的,搬运工具可以是Conveyer。
本实施例中,在生成与待入库数据对应的数据文件后,通过文件搬运工具将数据文件搬运到分布式数据库集群的主节点上,以实现数据文件中包含数据的入库操作。示例性的,在生成文本格式的数据文件后,通过搬运工具将数据文件搬运到GreenPlum的主节点上,以实现后续数据入库操作。
步骤140、通过分布式数据库集群启动加载程序,将数据文件写入分布式数据库集群。
本实施例中,在将数据文件搬运到分布式数据库集群的主节点后,通过分布式数据库集群定时启动数据加载任务,将数据文件写入分布式数据库集群。示例性的,GreenPlum的主节点预先设定定时加载任务,会定时对文本格式的数据文件进行加载操作,称为gpload操作,实现数据入库。
本发明实施例的技术方案,首先采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中,然后采用流处理框架从分布式流处理平台中读取上述待入库数据,并根据待入库数据生成设定格式的数据文件,采用搬运工具将数据文件搬运到分布式数据库集群的主节点上,最终通过分布式数据库集群启动加载程序,将数据文件写入分布式数据库集群,完成数据入库,解决了现有技术中关系型数据库无法承载服务器集群进行并发数据插入的问题,提高了数据入库的性能。
实施例二
图2a为本发明实施例二中的一种数据入库方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中,采用流处理框架,从分布式流处理平台中读取待入库数据,并根据待入库数据,生成设定格式的数据文件,以及采用搬运工具将数据文件搬运到分布式数据库集群的主节点的具体步骤。下面结合图2a对本发明实施例二提供的一种数据入库方法进行说明,包括以下步骤:
步骤210、在分布式流处理平台中设定用于统计数据的专用数据主题。
本实施例中,为了保证服务器集群发送的大量数据能够被准确接收及稳定存储,需要将待入库数据首先存储至分布式流处理平台,例如,Kafka,而Kafka中需要根据消息类别对接收到的数据按类型进行存储,因此,需要预先设置专门用来存储待入库数据的主题,即专用数据主题。
Storm中的数据搬运接口如图2b所示,接口方法包括CompressedAndSendManager类和MaintainManager_Oracle类,其中,CompressedAndSendManager类中的importSucc/importError方法,用于判断数据接收成功或失败,生成数据接收成功和失败的统计信息表,其中,数据接收成功统计界面如图2c所示,数据接收失败统计界面如图2d所示,startTimedOutput方法是全局变量定时器,用于在待入库数据不满足批量提交数量的情况下,定时提交到Storm的下一个处理Bolt环节,write方法用于收集全局日志变量,达到指定条数后,提交到下一个处理Bolt环节;MaintainManager_Oracle类中的write方法用于创建Kafka生产者对象,根据日志信息内容,分别写入不同的Topic中,count方法用于对全局日志信息做统计,并放入对应的列表中。
步骤220、采用分布式大数据处理系统包含的入库组件,将待入库数据存储至专用数据主题中。
本实施例中,采用分布式大数据处理系统包含的入库组件,对服务器集群发送的数据进行统计,并将待入库数据入库到流处理平台包含的专用数据主题中。示例性的,采用Storm包含的Dpat组件对服务器集群发送的数据进行汇总然后将这些数据存储到Kafka专门用于存储待入库数据的topic中,实现数据准确接收和存储,防止数据丢失。
步骤230、采用流处理框架,从分布式流处理平台的专用数据主题中读取待入库数据,并通过预设配置文件解析待入库数据,生成相应的临时文件。
本实施例中,在将待入库数据存储至分布式流处理平台的专用数据主题后,采用流处理框架消费专用数据主题中存储的待入库数据,并通过配置文件解析待入库数据在本地生成相应的临时文件,示例性的,临时文件可以是tmp格式,配置文件是xml格式。
步骤240、当临时文件包含的数据量超过数据量阈值后,将临时文件修改为设定格式的数据文件;
其中,设定格式为文本格式。
本实施例中,在生成临时文件后,将服务器集群发送的待入库数据持续写入该临时文件,并监控临时文件包含的数据量,当检测到临时文件包含的数据量超过设定的数据量阈值后,将上述临时文件修改为设定格式的数据文件。示例性的,当临时文件包含的数据量超过5000条或者超过1兆,则将临时文件修改为文本格式,以方便数据库对其中的数据进行读取。
步骤250、采用搬运工具将数据文件搬运到分布式数据库集群的主节点的临时目录下。
本实施例中,在生成文本格式的数据文件后,为了减少网络I/O,采用文件搬运工具将数据文件搬运到分布式数据库集群的主节点的临时目录下进行暂存,以实现在待入库数据达到设定数量时进行统一的数据入库。
步骤260、通过分布式数据库集群的主节点启动定时任务,在设定时间将临时目录下的数据文件搬运到主节点的正式目录下。
本实施例中,通过分布式数据库集群的主节点启动的定时任务,在设定时间将临时目录下的数据文件搬运到主节点的正式目录下,实现待入库数据的批量入库,节省了网络I/O。示例性的,在GreenPlum的主节点启动定时任务,定时把临时目录下存储的文本格式的数据文件搬运到主节点正式目录下,并对正式目录下的文本格式的数据文件进行入库操作。
步骤270、通过分布式数据库集群启动加载程序,将数据文件写入分布式数据库集群。
本发明实施例的技术方案,首先采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台的专用数据主题中,并采用流处理框架从专用数据主题中读取上述待入库数据,在根据待入库数据生成的临时文件包含的数据量超过数据量阈值后,将临时文件修改为设定格式的数据文件,最终采用搬运工具将数据文件搬运到分布式数据库集群的主节点的临时目录下,并通过分布式数据库集群的主节点启动定时任务,在设定时间将临时目录下的数据文件搬运到主节点的正式目录下,实现数据入库,一方面,通过将待入库数据预先存储至分布式流处理平台,可以稳定且快速的接收待入库数据,另一方面,在临时文件包含的数据总量达到设定条件,生成文本文件并搬运到分布式数据库集群的主节点,不需要复杂的解析过程,进一步提高了数据入库的效率。
实施例三
图3a为本发明实施例三中的一种数据入库方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了通过分布式数据库集群启动加载程序,将数据文件写入分布式数据库集群的具体步骤。下面结合图3a对本发明实施例三提供的一种列表生成方法进行说明,包括以下步骤:
步骤310、采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中。
步骤320、采用流处理框架,从分布式流处理平台中读取待入库数据,并根据待入库数据,生成设定格式的数据文件。
步骤330、采用搬运工具将数据文件搬运到分布式数据库集群的主节点。
可选的,分布式流处理平台为Kafka;
分布式大数据处理系统为Storm;
分布式数据库集群为GreenPlum;
流处理框架为Flink。
本可选的实施例中,提供了分布式流处理平台、分布式大数据处理系统、分布式数据库集群以及流处理框架的具体实例,其中,分布式流处理平台可以使用Kafka,分布式大数据处理系统可以使用Storm,分布式数据库集群可以使用GreenPlum,流处理框架可以使用Flink。
步骤340、采用gpload方法从GreenPlum包含的主节点的正式目录下加载数据文件。
本实施例中,提供了当分布式数据库集群为GreenPlum时,对待入库数据进行入库的具体方式,采用gpload方法从GreenPlum包含的主节点的正式目录下加载数据文件,完成数据文件中包含数据的入库操作。
根据本实施例中提供的分布式流处理平台、分布式大数据处理系统、分布式数据库集群以及流处理框架的具体实例,最终数据入库方法如图3b所示,首先由Storm包含的Dpat组件将经过汇总的服务器集群发送的待入库数据存储到Kafka专门用于存储数据的topic中,然后采用Flink从Kafka的专用topic中读取待入库数据,并根据待入库数据,生成文本格式的数据文件,采用搬运工具Conveyer将数据文件搬运到分布式数据库集群的主节点,最终GreenPlum的主节点预先设定定时加载任务,定时对文本格式的数据文件进行gpload入库操作。
可选的,在采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中之前,还包括:在服务器集群中安装Apache Storm实时流组件、ApacheKafka消息队列组件、Apache Flink流式处理框架以及GreenPlum关系型数据库组件。
本可选的实施例中,为了能够使用上述分布式流处理平台、分布式大数据处理系统、分布式数据库集群以及流处理框架完成数据入库操作,将待入库数据存储至分布式流处理平台中之前,需要在服务器集群中安装Apache Storm实时流组件、Apache Kafka消息队列组件、Apache Flink流式处理框架以及GreenPlum关系型数据库组件,以保证上述平台和架构的正常使用。
本发明实施例的技术方案,通过预先在服务器集群安装实时流组件、消息队列组件、流式处理框架以及关系型数据库组件,并采用分布式数据库集群提供的数据加载模式,进行数据写入,相对于原始的JDBC接口方式入库有较高的可靠性和入库性能,尤其是在有高并发写入需求的集群,数据入库效率高的优势更加明显。
实施例四
图4为本发明实施例四提供的一种数据入库装置的结构示意图,该数据入库装置,包括:待入库数据存储模块410、数据文件生成模块420、数据文件搬运模块430和数据文件写入模块440。
待入库数据存储模块410,用于采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
数据文件生成模块420,用于采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
数据文件搬运模块430,用于采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
数据文件写入模块440,用于通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
本发明实施例的技术方案,首先采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中,然后采用流处理框架从分布式流处理平台中读取上述待入库数据,并根据待入库数据生成设定格式的数据文件,采用搬运工具将数据文件搬运到分布式数据库集群的主节点上,最终通过分布式数据库集群启动加载程序,将数据文件写入分布式数据库集群,完成数据入库,解决了现有技术中关系型数据库无法承载服务器集群进行并发数据插入的问题,提高了数据入库的性能。
可选的,所述待入库数据存储模块410,包括:
数据主题设定单元,用于在所述分布式流处理平台中设定用于统计数据的专用数据主题;
待入库数据存储单元,用于采用所述分布式大数据处理系统包含的所述入库组件,将所述待入库数据存储至所述专用数据主题中。
可选的,所述数据文件生成模块420,包括:
临时文件生成单元,用于采用所述流处理框架,从所述分布式流处理平台的专用数据主题中读取所述待入库数据,并通过预设配置文件解析所述待入库数据,生成相应的临时文件;
数据文件生成单元,用于当所述临时文件包含的数据量超过数据量阈值后,将所述临时文件修改为设定格式的数据文件;
其中,所述设定格式为文本格式。
可选的,所述数据文件搬运模块430,包括:
第一搬运单元,用于采用搬运工具将所述数据文件搬运到所述分布式数据库集群的主节点的临时目录下;
第二搬运单元,用于通过所述分布式数据库集群的主节点启动定时任务,在设定时间将所述临时目录下的所述数据文件搬运到所述主节点的正式目录下。
可选的,所述分布式流处理平台为Kafka;
所述分布式大数据处理系统为Storm;
所述分布式数据库集群为GreenPlum;
所述流处理框架为Flink。
可选的,所述数据文件写入模块440,包括:
数据文件加载单元,用于采用gpload方法从所述GreenPlum包含的主节点的正式目录下加载所述数据文件。
可选的,所述数据入库装置,还包括:
组件安装模块,用于在采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中之前,在服务器集群中安装Apache Storm实时流组件、Apache Kafka消息队列组件、Apache Flink流式处理框架以及GreenPlum关系型数据库组件。
本发明实施例所提供的数据入库装置可执行本发明任意实施例所提供的数据入库方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种电子设备的结构示意图,如图5所示,该电子设备包括处理器50和存储器51;设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备中的处理器50和存储器51可以通过总线或其它方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种数据入库方法对应的程序指令/模块(例如,数据入库装置中的待入库数据存储模块410、数据文件生成模块420、数据文件搬运模块430和数据文件写入模块440)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据入库方法。
该方法包括:
采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其它非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例六
本发明实施例六还提供一种其上存储有计算机程序的计算机可读存储介质,所述计算机程序在由计算机处理器执行时用于执行一种数据入库方法,该方法包括:
采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种数据入库装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据入库方法,其特征在于,包括:
采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
2.根据权利要求1所述的方法,其特征在于,采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中,包括:
在所述分布式流处理平台中设定用于统计数据的专用数据主题;
采用所述分布式大数据处理系统包含的所述入库组件,将所述待入库数据存储至所述专用数据主题中。
3.根据权利要求2所述的方法,其特征在于,采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件,包括:
采用所述流处理框架,从所述分布式流处理平台的专用数据主题中读取所述待入库数据,并通过预设配置文件解析所述待入库数据,生成相应的临时文件;
当所述临时文件包含的数据量超过数据量阈值后,将所述临时文件修改为设定格式的数据文件;
其中,所述设定格式为文本格式。
4.根据权利要求3所述的方法,其特征在于,采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点,包括:
采用搬运工具将所述数据文件搬运到所述分布式数据库集群的主节点的临时目录下;
通过所述分布式数据库集群的主节点启动定时任务,在设定时间将所述临时目录下的所述数据文件搬运到所述主节点的正式目录下。
5.根据权利要求1所述的方法,其特征在于,所述分布式流处理平台为Kafka;
所述分布式大数据处理系统为Storm;
所述分布式数据库集群为GreenPlum;
所述流处理框架为Flink。
6.根据权利要求5所述的方法,其特征在于,通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群,包括:
采用gpload方法从所述GreenPlum包含的主节点的正式目录下加载所述数据文件。
7.根据权利要求1所述的方法,其特征在于,在采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中之前,还包括:
在服务器集群中安装Apache Storm实时流组件、Apache Kafka消息队列组件、ApacheFlink流式处理框架以及GreenPlum关系型数据库组件。
8.一种数据入库装置,其特征在于,包括:
待入库数据存储模块,用于采用分布式大数据处理系统包含的入库组件,将待入库数据存储至分布式流处理平台中;
数据文件生成模块,用于采用流处理框架,从所述分布式流处理平台中读取所述待入库数据,并根据所述待入库数据,生成设定格式的数据文件;
数据文件搬运模块,用于采用搬运工具将所述数据文件搬运到分布式数据库集群的主节点;
数据文件写入模块,用于通过所述分布式数据库集群启动加载程序,将所述数据文件写入所述分布式数据库集群。
9.一种电子设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的数据入库方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的数据入库方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911364651.8A CN111125013B (zh) | 2019-12-26 | 2019-12-26 | 一种数据入库方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911364651.8A CN111125013B (zh) | 2019-12-26 | 2019-12-26 | 一种数据入库方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125013A CN111125013A (zh) | 2020-05-08 |
CN111125013B true CN111125013B (zh) | 2023-03-17 |
Family
ID=70502890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911364651.8A Active CN111125013B (zh) | 2019-12-26 | 2019-12-26 | 一种数据入库方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111125013B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559445B (zh) * | 2020-12-11 | 2022-12-27 | 上海哔哩哔哩科技有限公司 | 数据写入方法及装置 |
CN112541816A (zh) * | 2020-12-21 | 2021-03-23 | 四川新网银行股份有限公司 | 互联网金融消费信贷批量业务分布式流计算处理引擎 |
CN112650625B (zh) * | 2020-12-28 | 2024-06-14 | 武汉达梦数据技术有限公司 | 一种针对数据库的流式备份还原方法、存储介质及装置 |
CN112667586B (zh) * | 2021-01-26 | 2023-04-25 | 浪潮通用软件有限公司 | 一种基于流处理的数据同步的方法、系统、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3128423A1 (en) * | 2015-08-06 | 2017-02-08 | Hewlett-Packard Enterprise Development LP | Distributed event processing |
CN106921742A (zh) * | 2017-03-09 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种K‑UX3.0操作系统上搭建storm分布式应用集群的系统及方法 |
CN106953901A (zh) * | 2017-03-10 | 2017-07-14 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
CN107480202A (zh) * | 2017-07-18 | 2017-12-15 | 湖南大学 | 一种用于多并行处理框架的数据处理方法及装置 |
CN107577717A (zh) * | 2017-08-09 | 2018-01-12 | 阿里巴巴集团控股有限公司 | 一种保障数据一致性的处理方法、装置及服务器 |
CN108255855A (zh) * | 2016-12-29 | 2018-07-06 | 北京国双科技有限公司 | 数据存储方法和装置 |
CN108256046A (zh) * | 2018-01-12 | 2018-07-06 | 福建星瑞格软件有限公司 | 大数据处理框架源数据的统一访问通道的实现方法 |
CN108718345A (zh) * | 2018-09-05 | 2018-10-30 | 电子科技大学 | 一种数字化车间工业数据网络化传输系统 |
CN108874562A (zh) * | 2018-06-21 | 2018-11-23 | 北京顺丰同城科技有限公司 | 分布式高并发消息队列推送系统 |
CN109767255A (zh) * | 2018-12-06 | 2019-05-17 | 东莞团贷网互联网科技服务有限公司 | 一种通过大数据建模实现智能运营及精准营销的方法 |
CN110471614A (zh) * | 2018-05-09 | 2019-11-19 | 杭州海康威视数字技术股份有限公司 | 一种存储数据的方法、检测终端的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017106379A1 (en) * | 2015-12-14 | 2017-06-22 | Pivotal Software, Inc. | Workload management in distributed database systems |
-
2019
- 2019-12-26 CN CN201911364651.8A patent/CN111125013B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3128423A1 (en) * | 2015-08-06 | 2017-02-08 | Hewlett-Packard Enterprise Development LP | Distributed event processing |
CN108255855A (zh) * | 2016-12-29 | 2018-07-06 | 北京国双科技有限公司 | 数据存储方法和装置 |
CN106921742A (zh) * | 2017-03-09 | 2017-07-04 | 郑州云海信息技术有限公司 | 一种K‑UX3.0操作系统上搭建storm分布式应用集群的系统及方法 |
CN106953901A (zh) * | 2017-03-10 | 2017-07-14 | 重庆邮电大学 | 一种提高消息传递性能的集群通信系统及其方法 |
CN107480202A (zh) * | 2017-07-18 | 2017-12-15 | 湖南大学 | 一种用于多并行处理框架的数据处理方法及装置 |
CN107577717A (zh) * | 2017-08-09 | 2018-01-12 | 阿里巴巴集团控股有限公司 | 一种保障数据一致性的处理方法、装置及服务器 |
CN108256046A (zh) * | 2018-01-12 | 2018-07-06 | 福建星瑞格软件有限公司 | 大数据处理框架源数据的统一访问通道的实现方法 |
CN110471614A (zh) * | 2018-05-09 | 2019-11-19 | 杭州海康威视数字技术股份有限公司 | 一种存储数据的方法、检测终端的方法及装置 |
CN108874562A (zh) * | 2018-06-21 | 2018-11-23 | 北京顺丰同城科技有限公司 | 分布式高并发消息队列推送系统 |
CN108718345A (zh) * | 2018-09-05 | 2018-10-30 | 电子科技大学 | 一种数字化车间工业数据网络化传输系统 |
CN109767255A (zh) * | 2018-12-06 | 2019-05-17 | 东莞团贷网互联网科技服务有限公司 | 一种通过大数据建模实现智能运营及精准营销的方法 |
Non-Patent Citations (5)
Title |
---|
Yanhua Sun et.al.A Distributed Real-Time Storage Method forA Distributed Real-Time Storage Method for Stream Data Stream DataA Distributed Real-Time Storage Method for Stream Data.2013,全文. * |
张楠;柴小丽;谢彬;唐鹏;.Storm流处理平台中负载均衡机制的实现.2017,(12),全文. * |
李福兴;李璐爔;.面向煤炭开采的大数据处理平台构建关键技术.2019,(S1),全文. * |
荀崇崇.分布式服务与服务集群技术研究.2018,(第undefined期),全文. * |
马越.基于MapReduce的分布式多维数据仓库数据放置与查询的研究与实现.2016,(第undefined期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111125013A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125013B (zh) | 一种数据入库方法、装置、设备及介质 | |
US9953071B2 (en) | Distributed storage of data | |
CN110941598A (zh) | 一种数据去重方法、装置、终端及存储介质 | |
US11429566B2 (en) | Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo | |
CN110750592B (zh) | 数据同步的方法、装置和终端设备 | |
CN112527879B (zh) | 基于Kafka的实时数据抽取方法及相关设备 | |
CN106569896B (zh) | 一种数据分发及并行处理方法和系统 | |
CN107346270B (zh) | 基于实时计算的基数估计的方法和系统 | |
CN107016039B (zh) | 数据库写入的方法和数据库系统 | |
CN113254445A (zh) | 实时数据存储方法、装置、计算机设备及存储介质 | |
CN111949389B (zh) | 基于Slurm的信息采集方法和装置、服务器、计算机可读存储介质 | |
CN115391361A (zh) | 一种基于分布式数据库的实时数据处理方法及其装置 | |
US20150172369A1 (en) | Method and system for iterative pipeline | |
CN116049109A (zh) | 一种基于过滤器的文件校验方法、系统、设备和介质 | |
US10552419B2 (en) | Method and system for performing an operation using map reduce | |
US9245048B1 (en) | Parallel sort with a ranged, partitioned key-value store in a high perfomance computing environment | |
CN113360576A (zh) | 一种基于Flink Streaming的电网海量数据实时处理方法及装置 | |
CN111078975B (zh) | 一种多节点增量式数据采集系统及采集方法 | |
CN112541816A (zh) | 互联网金融消费信贷批量业务分布式流计算处理引擎 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
CN103577604A (zh) | 一种用于Hadoop分布式环境的图像索引结构 | |
CN114281476A (zh) | Kubernetes云原生集群资源删除保护方法、装置、设备及存储介质 | |
CN114048228A (zh) | 状态存储的更新方法、装置、设备及存储介质 | |
CN111352897A (zh) | 一种实时数据存储方法、设备、存储介质 | |
CN111061712A (zh) | 一种数据连接操作的处理方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |