CN111352897A - 一种实时数据存储方法、设备、存储介质 - Google Patents
一种实时数据存储方法、设备、存储介质 Download PDFInfo
- Publication number
- CN111352897A CN111352897A CN202010135560.3A CN202010135560A CN111352897A CN 111352897 A CN111352897 A CN 111352897A CN 202010135560 A CN202010135560 A CN 202010135560A CN 111352897 A CN111352897 A CN 111352897A
- Authority
- CN
- China
- Prior art keywords
- data
- real
- small files
- time
- files
- 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
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
- G06F16/116—Details of conversion of file system types or formats
-
- 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种实时数据存储的方法、存储介质、设备,包括以下步骤:S1、实时读取外部流式数据源数据,并保存至大数据平台,生成多个小文件;S2、定时启动合并程序,合并所述小文件;S3、通过多线程读取所述小文件,将所述小文件多线程合并成预设大小的数据文件;S4、自动删除大数据平台中的小文件。本发明所提供实时数据存储的方法、存储介质、设备,实现高效实时文件存储,降低数据文件占用的空间,提高计算引擎的计算速度。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种实时数据存储方法、设备、存储介质。
背景技术
随着大数据技术的发展,计算引擎不断优化和更新已经基本解决引擎的瓶颈。但随着数据量的增加,数据如何高效存储也是一个重要话题,数据实时和高效存储也显得非常重要。数据抽取工具也有很多,例如:sqoop、dataX等;可供选择的文件结构的有parquet、orc、txt、csv等,其中parquet是业界比较公认大数据文件结构,压缩比高,存储快。如果采用流式(实时)计算存储数据时,把数据可以存储为parquet文件,能很快的存储到数据仓库,但是同时会形成非常多小文件,基本是一条记录生成一条小文件,导致数据文件占用空间大、计算引擎的计算速度大幅度减慢,降低了数据存储的效率。
发明内容
为了克服现有技术的不足,本发明的目的在于提供一种实时数据存储方法、设备及其存储介质,实现高效实时文件存储,降低数据文件占用的空间,提高计算引擎的计算速度。
本发明的目的之一采用如下技术方案实现:
一种实时数据存储的方法,包括以下步骤:
S1、实时读取外部流式数据源数据,并保存至大数据平台,生成多个小文件;
S2、定时启动合并程序,合并所述小文件;
S3、通过多线程读取所述小文件,将所述小文件多线程合并成预设大小的数据文件;
S4、自动删除大数据平台中的小文件。
进一步地,所述外部流式数据源为Kafka集群。
进一步地,所述小文件为parquet文件结构。
进一步地,S3中,将所述小文件分批合并至64M。
进一步地,S2中每个小时启动合并程序。
进一步地,S1中通过sparkStreaming流式并发实时读取数据源数据。
进一步地,所述数据源为外部流式数据源。
进一步地,所述大数据平台每秒读取外部流式数据源数据。
本发明的目的之二采用如下技术方案实现:
一种设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的一种实时数据存储的方法。
本发明的目的之三采用如下技术方案实现:
一种存储介质,其上存储有计算机程序,所述计算机程序被执行时实现权利要求如上所述的一种实时数据存储的方法。
相比现有技术,本发明的有益效果在于:
本发明提供了一种实时数据存储的方法、设备、存储介质,在大数据分析处理过程中,实时读取外部数据源的数据,将外部数据源生成多个小文件,将小文件合并且定时清除,提高计算速率,为数据分析提供了较好的数据环境,缩短数据处理周期,降低数据文件占用的空间。
附图说明
图1为本发明所提供实施例一的流程示意图;
图2为本发明所提供实施例一的示意图;
图3为本发明所提供实施例二的结构示意图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
如图1所示,本发明提供了一种实时数据存储的方法,包括以下步骤:S1、实时读取外部流式数据源,并保存至大数据平台,生成多个小文件;
S2、定期启动合并程序,合并所述小文件;
S3、通过多线程读取所述小文件,将所述小文件定时合并成预设大小的数据文件;
S4、自动删除大数据平台中的小文件。
本申请提供实时数据存储的方法,在大数据分析处理过程中,实时读取外部数据源的数据,将外部数据源生成多个小文件,将小文件合并且定时清除,提高计算速率,为数据分析提供了较好的数据环境,缩短数据处理周期,降低数据文件占用的空间。
具体的,该方法是基于Kafka平台,Kafka是一种高吞吐量的分布式发布订阅消息***,它可以处理消费者在网站中的所有动作流数据,统一线上和离线的消息处理,通过集群提供实时消息。在Kafka平台集群上通过spark Streaming读取外部流式数据源数据,并保存至大数据平台中。Spark Streaming是Spark生态***当中一个重要的框架,它建立在Spark Core之上,Spark Streaming是Spark Core的扩展应用,它具有可扩展,高吞吐量,对于流数据的可容错性等特点。可以监控来自Kafka平台等数据,通过复杂的算法以及一系列的计算分析数据,并且可以将分析结果存入到HDFS文件***,数据库以及前端页面中,。在本申请中,使用其流式读取数据源,低延迟,可以在秒级别上对数据进行处理,达到秒级读取。完成数据读取后,保存至大数据平台,生成多个小文件。在本实施例中,所述小文件为parquet文件结构。
如图2所示,为本申请实施例应用的示意图。企业服务端,即为消息的生产者推送数据至Kafka平台的代理,即kafka-broker进行数据的缓存。ZooKeeper对kafka-broker进行管理,当Kafka平台中新增了代理或某个代理失效时,Zookeeper服务将通知消息生产者和消息消费者。消息生产者与消息消费者据此开始与其他代理协调工作。消息消费者程序从kafka-broker拉取企业服务端产生的数据至大数据平台,由大数据平台读取、保存,在上述过程中会累积大量小文件,占用数据的存储空间,因此需要定时启动合并程序,合并小文件,将小文件分批合并成预设大小的数据文件。若是没有定时合并,则会累积多个的小文件,后期需要占用大量资源进行合并。每个小时多线程合读取所述小文件,分批合并至64M大小的数据文件,保持数据文件内的内容与小文件的内容不变,但合并后的文件所需存储空间远小于合并前小文件所需的存储空间,不影响整个大数据的分析和计算。合并后的数据文件比这样可整个大数据处理提速,缩短数据处理的周期,避免后期占用过多资源。合并完成后,自动删除大数据平台中的小文件,仅保存合并后的数据文件,降低所需的存储空间。
另外,本发明还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述一种实时数据存储的方法的步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、计算机存储器(磁盘)、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)以及分布式文件***HDFS等。需要说明的是,计算机可议介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本发明可用于众多通用或专用的计算***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器***、基于微处理器的***、机顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等,如实施例二。
实施例二
一种设备,如图3所示,包括存储器、处理器以及存储在存储器中的程序,所述程序被配置成由处理器执行,处理器执行所述程序时实现上述一种实时数据存储的方法步骤。
处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是智能门锁的控制中心,利用各种接口和线路连接述一种智能锁的设置方法的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现一种实时数据存储的方法。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所倡的应用程序(比如声音播放功能、图像播放功能等)等;存储据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash-Card)至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明可用于众多通用或专用的云计算环境和大数据环境中。例如:大数据平台、服务器集群环境、大数据分析计算,用户高并发、集群计算等场景中得到应用。
Claims (9)
1.一种实时数据存储的方法,其特征在于,包括以下步骤:
S1、实时读取外部流式数据源数据,并保存至大数据平台,生成多个小文件;
S2、定时启动合并程序,合并所述小文件;
S3、通过多线程读取所述小文件,将所述小文件多线程合并成预设大小的数据文件;
S4、自动删除大数据平台中的小文件。
2.如权利要求1所述的一种实时数据存储的方法,其特征在于,所述外部流式数据源为Kafka集群。
3.如权利要求1所述的一种实时数据存储的方法,其特征在于,所述小文件为parquet文件结构。
4.如权利要求1所述的一种实时数据存储的方法,其特征在于,步骤S3中,将所述小文件分批合并至64M。
5.如权利要求1所述的一种实时数据存储的方法,其特征在于,步骤S2中每个小时启动合并程序。
6.如权利要求1所述的一种实时数据存储的方法,其特征在于,步骤S1中通过sparkStreaming流式并发实时读取数据源数据。
7.如权利要求6所述的一种实时数据存储的方法,其特征在于,所述数据源为外部流式数据源。
8.如权利要求7所述的一种实时数据存储的方法,其特征在于,所述大数据平台每秒读取外部流式数据源数据。
9.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时实现权利要求1~8任意一项所述的一种实时数据存储的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010135560.3A CN111352897A (zh) | 2020-03-02 | 2020-03-02 | 一种实时数据存储方法、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010135560.3A CN111352897A (zh) | 2020-03-02 | 2020-03-02 | 一种实时数据存储方法、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111352897A true CN111352897A (zh) | 2020-06-30 |
Family
ID=71197199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010135560.3A Pending CN111352897A (zh) | 2020-03-02 | 2020-03-02 | 一种实时数据存储方法、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352897A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181920A (zh) * | 2020-09-24 | 2021-01-05 | 陕西天行健车联网信息技术有限公司 | 一种车联网大数据高性能压缩存储方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107045422A (zh) * | 2016-02-06 | 2017-08-15 | 华为技术有限公司 | 分布式存储方法和设备 |
CN107391280A (zh) * | 2017-07-31 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种小文件的接收和存储方法及装置 |
CN107577809A (zh) * | 2017-09-27 | 2018-01-12 | 北京锐安科技有限公司 | 离线小文件处理方法及装置 |
CN109446165A (zh) * | 2018-10-11 | 2019-03-08 | 中盈优创资讯科技有限公司 | 大数据平台的文件合并方法及装置 |
-
2020
- 2020-03-02 CN CN202010135560.3A patent/CN111352897A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107045422A (zh) * | 2016-02-06 | 2017-08-15 | 华为技术有限公司 | 分布式存储方法和设备 |
CN107391280A (zh) * | 2017-07-31 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种小文件的接收和存储方法及装置 |
CN107577809A (zh) * | 2017-09-27 | 2018-01-12 | 北京锐安科技有限公司 | 离线小文件处理方法及装置 |
CN109446165A (zh) * | 2018-10-11 | 2019-03-08 | 中盈优创资讯科技有限公司 | 大数据平台的文件合并方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181920A (zh) * | 2020-09-24 | 2021-01-05 | 陕西天行健车联网信息技术有限公司 | 一种车联网大数据高性能压缩存储方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209352B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
US8725684B1 (en) | Synchronizing data stores | |
US9836516B2 (en) | Parallel scanners for log based replication | |
CN109992469B (zh) | 一种合并日志的方法及装置 | |
CN111125013B (zh) | 一种数据入库方法、装置、设备及介质 | |
CN111897493B (zh) | 存储空间管理方法、装置及电子设备、存储介质 | |
CN112506950A (zh) | 数据聚合处理方法、计算节点、计算集群及存储介质 | |
CN112988741A (zh) | 实时业务数据合并方法、装置及电子设备 | |
CN112416654A (zh) | 一种数据库日志重演方法、装置、设备及存储介质 | |
US9760576B1 (en) | System and method for performing object-modifying commands in an unstructured storage service | |
CN113468196B (zh) | 用于处理数据的方法、装置、***、服务器和介质 | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN111259066A (zh) | 服务器集群数据同步方法及装置 | |
CN111352897A (zh) | 一种实时数据存储方法、设备、存储介质 | |
US9405786B2 (en) | System and method for database flow management | |
CN110941597B (zh) | 解压缩文件的清理方法、装置、计算设备及计算机存储介质 | |
CN112860720B (zh) | 一种存储容量的更新方法以及装置 | |
CN104317820A (zh) | 报表的统计方法和装置 | |
CN111367750A (zh) | 一种异常处理方法、装置及其设备 | |
CN111459931A (zh) | 数据查重方法和数据查重装置 | |
CN117435367B (zh) | 用户行为处理方法、装置、设备、存储介质和程序产品 | |
CN111414162B (zh) | 一种数据处理方法、装置及其设备 | |
CN114238419B (zh) | 基于多租户SaaS应用***的数据缓存方法及装置 | |
CN114003760A (zh) | 一种海量短语音存储调用方法、***、装置及存储介质 | |
CN116126797A (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 |