CN117708117A - 批量数据处理方法、装置、电子装置和存储介质 - Google Patents

批量数据处理方法、装置、电子装置和存储介质 Download PDF

Info

Publication number
CN117708117A
CN117708117A CN202311462307.9A CN202311462307A CN117708117A CN 117708117 A CN117708117 A CN 117708117A CN 202311462307 A CN202311462307 A CN 202311462307A CN 117708117 A CN117708117 A CN 117708117A
Authority
CN
China
Prior art keywords
data
processed
data processing
message queue
real
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
Application number
CN202311462307.9A
Other languages
English (en)
Inventor
顾伟涛
曹彩鹏
王跃剑
周游
刘培锴
陈斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Fuyun Network Technology Co ltd
Original Assignee
Hangzhou Fuyun Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Fuyun Network Technology Co ltd filed Critical Hangzhou Fuyun Network Technology Co ltd
Priority to CN202311462307.9A priority Critical patent/CN117708117A/zh
Publication of CN117708117A publication Critical patent/CN117708117A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种批量数据处理方法、装置、电子装置和存储介质,其中,该批量数据处理方法包括:基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据;基于待处理数据的数据格式、消息队列的基本信息、待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件;基于数据导入任务文件,将待处理数据导入目标数据库中的数据表中,生成数据导入表,目标数据库为StarRocks数据库;基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。通过本申请,解决了数据库中批量数据计算的灵活性较低的问题,提高了批量数据计算的灵活性。

Description

批量数据处理方法、装置、电子装置和存储介质
技术领域
本申请涉及数据处理技术领域,特别是涉及一种批量数据处理方法、装置、电子装置和存储介质。
背景技术
许多公司的业务数据通常存储在结构化的数据库中,对于传统的结构化数据库一般只能一次性的全量采集,对于库中变更的数据没法做到实时的处理和计算,不同的业务数据存储的数据不同,例如,某化妆品公司需要统计分析自身的产品在不同消费平台的实时销售数据,进而根据实时销售数据确定不同用户对产品的消费水平。然而不同消费平台的销售数据的储存位置以及存储格式不尽相同,而且随着时间的发展,公司业务的复杂程度不断增加,实时数据分析的需求也越来越高,传统的离线计算已不能满足产品和运营的需求。
目前,针对数据库中批量数据的统计分析,通常采用离线计算的方式进行,而离线计算不仅灵活性较低,无法实现准实时计算。
针对相关技术中存在数据库中批量数据计算的灵活性较低的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种批量数据处理方法、装置、电子装置和存储介质,以解决相关技术中在数据库中批量数据计算的灵活性较低的问题。
第一个方面,在本实施例中提供了一种批量数据处理方法,包括:
基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据;
基于所述待处理数据的数据格式、所述消息队列的基本信息、所述待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件;
基于所述数据导入任务文件,将所述待处理数据导入目标数据库中的数据表中,生成数据导入表,所述目标数据库为StarRocks数据库;
基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。
在其中的一些实施例中,所述配置文件包括所述关系型数据库的加密信息以及所述消息队列的基本信息,所述基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据,包括:
对所述关系型数据库的加密信息进行解密,得到所述关系型数据库的用户名和密码;
基于所述关系型数据库的用户名和密码,获取所述关系型数据库中的实时数据;
基于所述消息队列的基本信息,将所述实时数据传输至所述消息队列中,得到消息队列中的待处理数据。
在其中的一些实施例中,所述基于所述待处理数据的数据格式、所述消息队列的基本信息、所述待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件,包括:
对所述待处理数据进行预处理,得到预处理后的待处理数据,所述预处理包括数据格式转换、字段筛选以及字段填充中是至少一种;
基于所述预处理后的待处理数据的数据格式、所述消息队列的基本信息、所述预处理后的待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件。
在其中的一些实施例中,所述数据处理脚本文件包括待处理数据导入表的标识信息,所述基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果,包括:
基于所述待处理数据导入表的标识信息,在配置中心获取所述待处理数据导入表的基本信息;
基于所述待处理数据导入表的基本信息,从所述目标数据库中获取所述待处理数据导入表中的待处理数据;
对所述待处理数据数据分析,得到实时数据处理结果。
在其中的一些实施例中,所述配置中心用于存储数据导入表的加密基本信息,所述基于所述待处理数据导入表的标识信息,在配置中心获取所述待处理数据导入表的基本信息,包括:
基于所述待处理数据导入表的标识信息,在配置中心获取所述待处理数据导入表的加密基本信息;
对所述加密基本信息进行解密,得到所述待处理数据导入表的基本信息。
在其中的一些实施例中,所述方法还包括:
基于所述数据导入表的基本信息设置监控任务;
基于所述监控任务,对所述数据导入表的导入结果进行监控。
在其中的一些实施例中,在所述基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果之后,还包括:
将所述实时数据处理结果写入结果数据库中。
第二个方面,在本实施例中提供了一种批量数据处理装置,包括:
数据传输模块,用于基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据;
文件构建模块,用于基于所述待处理数据的数据格式、所述消息队列的基本信息、所述待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件;
数据导入模块,用于基于所述数据导入任务文件,将所述待处理数据导入目标数据库中的数据表中,生成数据导入表,所述目标数据库为StarRocks数据库;
数据分析模块,用于基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。
第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的批量数据处理方法。
第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的批量数据处理方法。
与相关技术相比,在本实施例中提供的一种批量数据处理方法,根据配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据,从而可以实现将各个不同关系型数据库中的实时数据的采集,并根据消息队列中待处理数据的数据格式、消息队列的基本信息以及待处理数据在消息队列中的类别名称和分区数量,构建数据导入任务文件,进而根据数据导入任务文件可以快速地将消息队列中的数据导入目标数据库中的数据表中,从而便于大批量实时数据的任务导入,目标数据库为StarRocks数据库,基于StarRocks数据库的高性能计算,能够实现大批量的实时数据的秒级计算,进一步地,根据数据处理脚本文件对数据导入表中的数据进行数据处理,从而实现了大批量数据的准实时计算,提高了批量数据计算的灵活性。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例提供的一种批量数据处理方法的应用场景示意图;
图2是本申请实施例提供的一种批量数据处理方法的流程图;
图3是本申请实施例提供的一种批量数据处理的分析方法的实施例流程图;
图4是本申请实施例提供的一种批量数据处理装置的结构框图;
图5是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
许多公司的业务数据通常存储在结构化的数据库中,对于传统的结构化数据库一般只能一次性的全量采集,对于库中变更的数据没法做到实时的处理和计算,需要定时的对变更数据进行采集计算,造成资源的浪费,时间有延迟,不能及时处理数据,不能达到实时计算的要求。并且不同的业务数据存储的数据不同,例如,某化妆品公司需要统计分析自身的产品在不同消费平台的实时销售数据,进而根据实时销售数据确定不同用户对产品的消费水平。然而不同消费平台的销售数据的储存位置以及存储格式不尽相同,而且随着时间的发展,公司业务的复杂程度不断增加,实时数据分析的需求也越来越高,传统的离线计算已不能满足产品和运营的需求。
目前,针对数据库中批量数据的统计分析,通常采用离线计算的方式进行,而离线计算不仅灵活性较低,无法实现准实时计算。
因此,如何提高数据库中批量数据处理的灵活性,以实现批量数据的准实时计算,是一个需要解决的问题。
本申请实施例提供的一种批量数据处理方法,可以应用于如图1所示的应用环境中,如图1所示,图1是本申请实施例提供的一种批量数据处理方法的应用场景示意图。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在本实施例中提供了一种批量数据处理方法,图2是本申请实施例提供的一种批量数据处理方法的流程图,该方法的执行主体可以是电子装置,可选的,电子装置可以是服务器,也可以是终端设备,但本申请不限于此。具体的,如图2所示,该流程包括如下步骤:
步骤S201,基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据。
示例性地,在不同应用场景中,待处理数据通常存储在关系型数据库(MySQL)中,并且在实时发生更新,例如,各消费平台的消费数据实时在进行更新,并且更新的数据通常储存在MySQL数据库中,而且不同消费平台的数据通常储存在不同的MySQL数据库中,随着互联网时代的发展,不同数据库中数据的统计计算也越来越重要。
为了便于对MySQL数据库中的实时数据进行分析计算,可以根据配置文件将MySQL数据库中实时数据传输至消息队列中,得到消息队列中的待处理数据。其中,该消息队列可以是Kafka消息队列。
具体的,可以采用Maxwell工具通过配置文件设置MySQL数据库的信息,然后启动Maxwell服务,就可以实时同步MySQL数据到Kafka消息队列指定的类别topic中。
步骤S202,基于待处理数据的数据格式、消息队列的基本信息、待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件。
其中,消息队列的基本信息可以包括Kafka消息队列地址、Kafka的端口、序列化key类以及序列化value类中是至少一个。
进一步地,根据消息队列中待处理数据的数据格式、消息队列的基本信息、待处理数据的topic名称以及待处理数据的分区数量,构建sql的数据导入任务文件。
步骤S203,基于数据导入任务文件,将待处理数据导入目标数据库中的数据表中,生成数据导入表。
其中,目标数据库为StarRocks数据库。
步骤S204,基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。
进一步地,目标数据库可以为StarRocks数据库,StarRocks数据库是一款现代化面向多种数据分析场景的、兼容MySQL协议的、高性能分布式关系型分析数据库。既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数据。
在StarRocks数据库中,可以手动或者编写脚本执行sql文件,在构建sql的数据导入任务文件时,可以采用StarRocks的routine load进行数据导入,即根据Kafka消息队列地址、待处理数据的数据格式、待处理数据的topic名称、待处理数据的分区数量以及数据表StarRocks表结构,调用自动化工具,构建sql的数据导入任务文件。
进而可以在StarRocks数据库中运行创建的sql的数据导入任务文件,从而将待处理数据导入目标数据库中的数据表中,生成数据导入表,该数据导入表即为导入了待处理数据的StarRocks数据表,实现了StarRocks routine load任务的创建,通过该方式可以短时间完成大批量导入任务的创建,从而便于大批量数据的处理。
进一步地,将数据导入StarRocks数据表后,根据数据处理脚本文件对数据导入表中的数据进行数据处理,从而得到实时数据处理结果。
具体的,可以在XXL-JOB调度平台中,根据数据处理脚本文件可以获取到待处理数据的配置信息,进而根据待处理数据的配置信息调用存储在StarRocks数据表中的数据,并根据调用的数据进行数据处理,从而得到实时数据处理结果。在实时消费数据场景中,可以通过该方式将多个消费平台中的实时数据都传输至StarRocks数据表中,进而在XXL-JOB调度平台中,根据数据处理脚本文件将大批量的实时消费数据进行统计计算,从而得到各消费平台的消费数据以及用户的消费水平的计算结果。
需要说明的是,在本申请实施例中的批量数据处理方法仅以应用在实时消费数据场景中为例进行说明,在实际应用中,该批量数据处理方法也可以应用在其他批量数据处理场景中,在此不做限制。
在上述实现过程中,根据配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据,从而可以实现将各个不同关系型数据库中的实时数据的采集,并根据消息队列中待处理数据的数据格式、消息队列的基本信息以及待处理数据在消息队列中的类别名称和分区数量,构建数据导入任务文件,进而根据数据导入任务文件可以快速地将消息队列中的数据导入目标数据库中的数据表中,从而便于大批量实时数据的任务导入,目标数据库为StarRocks数据库,基于StarRocks数据库的高性能计算,能够实现大批量的实时数据的秒级计算,进一步地,根据数据处理脚本文件对数据导入表中的数据进行数据处理,从而实现了大批量数据的准实时计算,提高了批量数据计算的灵活性。
在其中的一些实施例中,配置文件包括关系型数据库的加密信息以及消息队列的基本信息,基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据,可以包括以下步骤:
步骤1:对关系型数据库的加密信息进行解密,得到关系型数据库的用户名和密码。
步骤2:基于关系型数据库的用户名和密码,获取关系型数据库中的实时数据。
步骤3:基于消息队列的基本信息,将实时数据传输至消息队列中,得到消息队列中的待处理数据。
示例性地,配置文件中包括关系型数据库的加密信息以及消息队列的基本信息,具体的,关系型数据库的加密信息可以是实时数据所在的MySQL数据库的用户名、密码、IP地址和端口的加密信息,消息队列的基本信息可以是Kafka消息队列的地址和类别名称topic。
进而可以采用Maxwell工具在配置文件中获取关系型数据库的加密信息,并对关系型数据库的加密信息进行解密,得到实时数据所在的MySQL数据库的用户名、密码、IP地址和端口等信息,进而根据MySQL数据库的用户名、密码、IP地址和端口等信息访问对应的MySQL数据库,并从访问的MySQL数据库中获取实时数据。
需要说明的是,本申请实施例仅以Maxwell工具作为数据抽取工具为例进行说明,在实际应用中,也可以采用datax工具或streamsets工具,在此不做限制。
进一步地,根据Kafka消息队列的地址和类别名称topic,将获取的实时数据传输至Kafka消息队列指定的topic中,从而得到消息队列中的待处理数据。
在上述实现过程中,在配置文件中,对关系型数据库中的基本信息进行加密,从而避免了在实时数据传输过程中导致数据库中的数据被泄露,从而提高了数据库的安全性。
在其中的一些实施例中,基于待处理数据的数据格式、消息队列的基本信息、待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件,可以包括以下步骤:
步骤1:对待处理数据进行预处理,得到预处理后的待处理数据,预处理包括数据格式转换、字段筛选以及字段填充中是至少一种。
步骤2:基于预处理后的待处理数据的数据格式、消息队列的基本信息、预处理后的待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件。
示例性地,在将消息队列中的待处理数据导入StarRocks数据表之前,还需要对消息队列中的待处理数据进行预处理。具体的,预处理可以是将待处理数据在MySQL数据库中的数据格式转换为StarRocks数据库对应的格式,也可以是根据业务需求对待处理数据的字段信息进行筛选或字段填充,也可以是其他预处理方式,在此不做限制。
在对消息队列中的待处理数据进行预处理时,可以将预处理后的待处理数据存储至消息队列中新的topic中,从而便于区分预处理前和预处理后的数据。
进一步地,根据预处理后的待处理数据的数据格式、消息队列的基本信息、预处理后的待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件。具体的,根据预处理后的待处理数据的数据格式、所在消息队列的地址、预处理后的待处理数据的topic名称、分区数据量,以及目标StarRocks数据表的表结构,构建数据导入任务文件,其中,目标StarRocks数据表为预处理后的待处理数据后续需要存储在StarRocks数据库中的数据表。
在上述实现过程中,将消息队列中的待处理数据导入目标数据库中的数据表之前,对消息队列中的待处理数据进行预处理,从而便于预处理后的待处理数据适应于目标数据表,以及便于后续的数据处理。
在其中的一些实施例中,数据处理脚本文件包括待处理数据导入表的标识信息,基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果,可以包括以下步骤:
步骤1:基于待处理数据导入表的标识信息,在配置中心获取待处理数据导入表的基本信息。
步骤2:基于待处理数据导入表的基本信息,从目标数据库中获取待处理数据导入表中的待处理数据。
步骤3:对待处理数据数据分析,得到实时数据处理结果。
示例性地,数据处理脚本文件包括待处理数据导入表的标识信息,在XXL-JOB调度平台中,可以通过shell脚本调用数据处理脚本文件,该数据处理脚本文件可以存储在XXL-JOB服务器中。
进而,shell脚本获取到数据处理脚本文件中的待处理数据导入表的标识信息,并根据该标识信息在配置中心获取到待处理数据导入表的基本信息,其中,待处理数据导入表的基本信息可以包括待处理数据导入表所在的数据库的用户名、密码、StarRocks地址和端口信息等。
进一步地,根据待处理数据导入表的基本信息,从StarRocks数据库中获取待处理数据,并根据业务需求对获取的待处理数据进行数据分析计算,从而得到实时数据处理结果。
在上述实现过程中,由于关系型数据库中的数据能够实时地传输至消息队列中,进一步地,将消息队列中的数据导入StarRocks数据表中,并在调度平台,通过数据处理脚本中待处理数据的标识信息获取待处数据导入表的基本信息,进而根据待处数据导入表的基本信息,从目标数据库中获取待处理数据导入表中的待处理数据,从而在进行大批量的数据计算时,只需简单配置数据处理脚本文件中的标识信息,即可实现大批量数据的计算,而无需对操作人员人工导入对应的数据,从而便于实现大批量的数据计算任务。
在其中的一些实施例中,配置中心用于存储数据导入表的加密基本信息,基于待处理数据导入表的标识信息,在配置中心获取待处理数据导入表的基本信息,可以包括以下步骤:
步骤1:基于待处理数据导入表的标识信息,在配置中心获取待处理数据导入表的加密基本信息。
步骤2:对加密基本信息进行解密,得到待处理数据导入表的基本信息。
示例性地,配置中心可以是分布式配置中心,用于对加密后的数据导入表的用户名、密码、StarRocks地址和端口等信息进行存储,在根据数据处理脚本文件进行数据处理时,从数据处理脚本文件中获取于待处理数据导入表的标识信息,进而根据该标识信息从配置中心获取加密后的数据导入表的用户名、密码、StarRocks地址和端口等信息。
进一步地,对加密后的数据导入表的用户名、密码、StarRocks地址和端口等信息进行解密,从而得到待处理数据导入表的基本信息,即获取到待处理数据导入表的用户名、密码、StarRocks地址和端口,便于根据待处理数据导入表的用户名、密码、StarRocks地址和端口获取对应的待处理数据。
此外,在构建数据处理脚本文件时,还可以对数据处理脚本文件进行加密编译,从而提升敏感信息的安全性。
在上述实现过程中,将数据导入表的基本信息进行加密后存储在配置中心,在获取到配置中心的加密后的数据导入表的基本信息后,对加密信息进行解密即可根据解密后的基本信息获取到对应的待处数据,提高了数据导入表中数据的安全性。
在其中的一些实施例中,该方法还可以包括以下步骤:
步骤1:基于数据导入表的基本信息设置监控任务。
步骤2:基于监控任务,对数据导入表的导入结果进行监控。
示例性地,在将消息队列中的待处数据导入目标数据库的过程中,还可以对数据导入任务进行监控,具体的,根据数据导入表的基本信息设置监控任务,其中,数据导入表的基本信息可以包括数据导入表的名称、数据导入表所在数据库的名称、数据导入表的地址以及端口等信息,即数据导入表的基本信息可以包括routine load的任务名、对应的StarRocks库名。
进一步地,根据监控任务对数据导入表的导入结果进行监控,在数据导入异常时发出预警信息。
在上述实现过程中,根据数据导入表的基本信息设置监控任务,从而可以根据监控任务对数据导入表的导入结果进行监控,从而确保了数据导入任务的顺利执行。
在其中的一些实施例中,在基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果之后,还可以包括:将实时数据处理结果写入结果数据库中。
示例性地,在得到实时数据的处理结果之后,该批量数据处理方法还可以将实时数据处理结果写入结果数据库中。其中,结果数据库可以是StarRocks数据库,也可以是开源分布式搜索引擎(Elasticsearch,es),也可以是其他数据库,在此不做限制。
具体的,若结果数据库为es,则可以采用python脚本,并在python脚本中写入es地址、端口、索引(index)名和生成实时数据处理结果的StarRocks表信息,在XXL-JOB调度平台提交shell类型的任务,调用python脚本,从而将实时数据处理结果写入es中,并且,还可以采用pyinstaller对python脚本进行加密编译,提升python脚本安全。
同时,es地址和端口信息存放在分布式配置中心,从而可以根据分布式配置中心中不同es地址和端口信息生成python脚本,进而将不同的实时数据处理结果写入结果数据库中,便于进行大批量计算任务的实时处理结果的处理。
在上述实现过程中,将实时数据处理结果写入结果数据库中,便于用户从结果数据库中查询实时数据的处理结果,也便于对数据处理结果的收集。
在其中的一些实施例中,该批量数据处理方法还可以包括:
获取调度平台的日志文件,对根据日志文件对数据处理任务以及结果处理任务进行监控,即对异常的日志文件进行预警。
具体的,在XXL-JOB调度平台执行了大量的任务,具体可以是批量数据的计算以及实时数据处理结果的处理等任务,针对这些任务执行结果,定时进行扫描分析,发出钉钉预警。同时,对XXL-JOB任务日志文件进行处理时,定时保留异常任务日志,删除正常日志文件,避免日志文件过多。
图3是本申请实施例提供的一种批量数据处理的分析方法的实施例流程图,如图3所示,该流程包括如下步骤:
步骤S301,将关系型数据库中的数据实时同步至消息队列中。
具体的,采用Maxwell工具,通过配置文件将MySQL数据库中的数据实时同步至Kafka消息队列指定的topic中。其中,配置文件包括MySQL数据库加密后的用户名、密码、IP地址和端口信息,以及待传输数据的Kafka地址和topic。
并且,可以采用shell脚本对Maxwell工具的数据抽取过程进行监控,确保数据同步的完整性。
步骤S302,对消息队列中的数据进行预处理。
具体的,可以采用python开发工具对Kafka消息队列中的数据进行预处理。并且,在python开发工具运行的python脚本中写入需要预处理的Kafka消息队列地址,topic以及预处理后的数据存储的新topic,从而使预处理后,新的topic中的数据符合格式以及字段要求。
此外,在通过python脚本进行数据预处理时,可以shell脚本对数据预处理过程进行监控,便于发现预处理过程中的问题。
步骤S303,将消息队列中的数据导入目标数据库中的数据表中,并对数据导入任务进行监控。
其中,目标数据库可以是StarRocks数据库,其中的数据表为StarRocks数据表。
具体的,可以采用StarRocks的routine load进行数据导入。可以根据消息队列消息格式、消息队列地址、topic名字、分区数量待导入数据的StarRocks表结构,调用自动化工具,得到对应的sql文件,进而在StarRocks数据库中采用shell脚本运行sql文件。从而将消息队列中的数据导入了StarRocks数据表中,通过该方式,能够快速地进行大批量的数据导入,进而便于大批量的数据处理。
同时,在进行数据导入时,对数据导入任务进行监控,可以根据StarRocks IP地址和端口创建监控任务,并采用shell脚本执行监控任务,从而自动分析获取routine load任务如下信息:routine load的库任务名以及对应的StarRocks库名,然后针对routine load任务列表,进行任务异常监控,确保及时发现数据导入问题。
步骤S304,根据数据处理脚本文件进行数据处理。
具体的,在XXL-JOB调度平台,启动shell类型的任务,利用shell脚本调用数据处理脚本文件,其中,数据处理脚本文件中包括StarRocks数据表的标识信息,各StarRocks数据表的StarRocks地址、端口、用户名以及密码等信息被加密后存放在分布式配置中心。
根据业务需求确定出参与数据技术的StarRocks数据表,以及计算类型,并根据参与计算的StarRocks数据表的标识信息从分布式配置中心中获取对应的加密后的StarRocks地址、端口、用户名以及密码等信息,并对加密信息进行解密,从而得到StarRocks地址、端口、用户名以及密码等信息。
进一步地,根据StarRocks地址、端口、用户名以及密码等信息获取对应StarRocks数据表中的数据,并根据计算类型进行数据处理,从而得到实时数据的处理结果。通过该方式,只需要在数据处理脚本文件中简单配置StarRocks数据表的标识信息,即可实现大批量数据的计算。
并且,该数据处理脚本文件可以是python脚本,在配置数据处理脚本文件时,可以采用pyinstaller方式对python脚本进行加密编译,提升敏感信息安全性。
步骤S305,将实时数据处理结果写入结果数据库中。
具体的,在大批量的实时数据计算过程中,每运行一次计算流程,则产生一个实时数据处理结果,为了便于后续对实时数据处理结果的查询,可以将实时数据处理结果实时地写入结果数据库中,该结果数据库可以是es。
可以采用python脚本进行实时数据结果的写入,该python脚本中包括待存入实时数据处理结果的es地址和端口和索引(index)名,以及生成实时数据处理结果的StarRocks数据表的基本信息。
在XXL-JOB调度平台提交shell类型的任务,调用python脚本,从而将实时数据处理结果写入结果数据库中。
步骤S306,对调度平台中的人物进行预警。
具体的,在XXL-JOB调度平台启动了数据计算任务以及实时数据处理结果任务的处理,针对这些任务执行结果,定时进行扫描分析,发出钉钉预警。同时,对XXL-JOB任务日志文件进行处理,定时保留异常任务日志,删除正常日志文件,避免日志文件过多。
在上述实现过程中,通过数据抽取工具将数据库中的数据抽取到消息队列中,并在消息队列中进行数据预处理,从而可以实现数据库实时同步到消息队列,以及业务数据的预处理,并用StarRocks routine load以及消息队列消息,实现了快速创建批量数据导入任务的方案,不需要代码开发。结合XXL-JOB调度平台特点,以及StarRocks高性能计算,实现了一种可行的秒级计算方案。并对批量数据计算的每一环节进行监控,确保了数据计算质量。并且将数据相关信息加密储存在配置中心,实现了敏感信息的加密。结合分布式配置中心储存的加密信息,在进行大批量数据处理时,只需要简单配置脚本文件中的信息即可实现大批量计算任务的修改,不需要逐个修改任务脚本,进而节约了人工成本。
需要说明的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在本实施例中还提供了一种批量数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本申请实施例提供的一种批量数据处理装置的结构框图,如图4所示,该装置包括:
数据传输模块401,用于基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据;
文件构建模块402,用于基于待处理数据的数据格式、消息队列的基本信息、待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件;
数据导入模块403,用于基于数据导入任务文件,将待处理数据导入目标数据库中的数据表中,生成数据导入表,目标数据库为StarRocks数据库;
数据分析模块404,用于基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。
在其中的一些实施例中,配置文件包括关系型数据库的加密信息以及消息队列的基本信息,数据传输模块401具体用于:
对关系型数据库的加密信息进行解密,得到关系型数据库的用户名和密码;
基于关系型数据库的用户名和密码,获取关系型数据库中的实时数据;
基于消息队列的基本信息,将实时数据传输至消息队列中,得到消息队列中的待处理数据。
在其中的一些实施例中,文件构建模块402具体用于:
对待处理数据进行预处理,得到预处理后的待处理数据,预处理包括数据格式转换、字段筛选以及字段填充中是至少一种;
基于预处理后的待处理数据的数据格式、消息队列的基本信息、预处理后的待处理数据的类别名称以及待处理数据的分区数量,构建数据导入任务文件。
在其中的一些实施例中,数据处理脚本文件包括待处理数据导入表的标识信息,数据分析模块404具体用于:
基于待处理数据导入表的标识信息,在配置中心获取待处理数据导入表的基本信息;
基于待处理数据导入表的基本信息,从目标数据库中获取待处理数据导入表中的待处理数据;
对待处理数据数据分析,得到实时数据处理结果。
在其中的一些实施例中,数据分析模块404具体用于:
基于待处理数据导入表的标识信息,在配置中心获取待处理数据导入表的加密基本信息;
对加密基本信息进行解密,得到待处理数据导入表的基本信息。
在其中的一些实施例中,数据分析模块404还用于:
基于数据导入表的基本信息设置监控任务;
基于监控任务,对数据导入表的导入结果进行监控。
在其中的一些实施例中,数据分析模块404还用于:将实时数据处理结果写入结果数据库中。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示,图5是本申请实施例提供的一种计算机设备的结构示意图。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种批量数据处理方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种批量数据处理方法,其特征在于,包括:
基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据;
基于所述待处理数据的数据格式、所述消息队列的基本信息、所述待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件;
基于所述数据导入任务文件,将所述待处理数据导入目标数据库中的数据表中,生成数据导入表,所述目标数据库为StarRocks数据库;
基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。
2.根据权利要求1所述的批量数据处理方法,其特征在于,所述配置文件包括所述关系型数据库的加密信息以及所述消息队列的基本信息,所述基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据,包括:
对所述关系型数据库的加密信息进行解密,得到所述关系型数据库的用户名和密码;
基于所述关系型数据库的用户名和密码,获取所述关系型数据库中的实时数据;
基于所述消息队列的基本信息,将所述实时数据传输至所述消息队列中,得到消息队列中的待处理数据。
3.根据权利要求1所述的批量数据处理方法,其特征在于,所述基于所述待处理数据的数据格式、所述消息队列的基本信息、所述待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件,包括:
对所述待处理数据进行预处理,得到预处理后的待处理数据,所述预处理包括数据格式转换、字段筛选以及字段填充中是至少一种;
基于所述预处理后的待处理数据的数据格式、所述消息队列的基本信息、所述预处理后的待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件。
4.根据权利要求1所述的批量数据处理方法,其特征在于,所述数据处理脚本文件包括待处理数据导入表的标识信息,所述基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果,包括:
基于所述待处理数据导入表的标识信息,在配置中心获取所述待处理数据导入表的基本信息;
基于所述待处理数据导入表的基本信息,从所述目标数据库中获取所述待处理数据导入表中的待处理数据;
对所述待处理数据数据分析,得到实时数据处理结果。
5.根据权利要求4所述的批量数据处理方法,其特征在于,所述配置中心用于存储数据导入表的加密基本信息,所述基于所述待处理数据导入表的标识信息,在配置中心获取所述待处理数据导入表的基本信息,包括:
基于所述待处理数据导入表的标识信息,在配置中心获取所述待处理数据导入表的加密基本信息;
对所述加密基本信息进行解密,得到所述待处理数据导入表的基本信息。
6.根据权利要求1所述的批量数据处理方法,其特征在于,所述方法还包括:
基于所述数据导入表的基本信息设置监控任务;
基于所述监控任务,对所述数据导入表的导入结果进行监控。
7.根据权利要求1所述的批量数据处理方法,其特征在于,在所述基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果之后,还包括:
将所述实时数据处理结果写入结果数据库中。
8.一种批量数据处理装置,其特征在于,包括:
数据传输模块,用于基于配置文件将关系型数据库中的实时数据传输至消息队列中,得到消息队列中的待处理数据;
文件构建模块,用于基于所述待处理数据的数据格式、所述消息队列的基本信息、所述待处理数据的类别名称以及所述待处理数据的分区数量,构建数据导入任务文件;
数据导入模块,用于基于所述数据导入任务文件,将所述待处理数据导入目标数据库中的数据表中,生成数据导入表,所述目标数据库为StarRocks数据库;
数据分析模块,用于基于数据处理脚本文件对数据导入表中的数据进行数据处理,得到实时数据处理结果。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的批量数据的分析方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的批量数据的分析方法的步骤。
CN202311462307.9A 2023-11-06 2023-11-06 批量数据处理方法、装置、电子装置和存储介质 Pending CN117708117A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311462307.9A CN117708117A (zh) 2023-11-06 2023-11-06 批量数据处理方法、装置、电子装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311462307.9A CN117708117A (zh) 2023-11-06 2023-11-06 批量数据处理方法、装置、电子装置和存储介质

Publications (1)

Publication Number Publication Date
CN117708117A true CN117708117A (zh) 2024-03-15

Family

ID=90161329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311462307.9A Pending CN117708117A (zh) 2023-11-06 2023-11-06 批量数据处理方法、装置、电子装置和存储介质

Country Status (1)

Country Link
CN (1) CN117708117A (zh)

Similar Documents

Publication Publication Date Title
CN115858322A (zh) 日志数据处理方法、装置和计算机设备
CN111460394A (zh) 一种版权文件的验证方法、装置及计算机可读存储介质
CN112035471A (zh) 一种事务处理方法及计算机设备
CN114547204A (zh) 数据同步方法、装置、计算机设备和存储介质
CN116644250B (zh) 页面检测方法、装置、计算机设备和存储介质
CN115658794A (zh) 数据查询方法、装置、计算机设备和存储介质
CN117708117A (zh) 批量数据处理方法、装置、电子装置和存储介质
CN116662016B (zh) 端口切换方法、装置、计算机设备、存储介质和程序产品
CN117453759B (zh) 业务数据处理方法、装置、计算机设备和存储介质
EP4451606A1 (en) Method for generating common identifier and apparatus therefor
CN115687484A (zh) 数据库的审计方法、装置、设备、存储介质和程序产品
CN116225830A (zh) 业务操作日志上报方法、装置、计算机设备和存储介质
CN117828565A (zh) 基于堡垒机的资源处理方法、装置和计算机设备
CN117155661A (zh) 风险日志数据推送方法、装置、计算机设备和存储介质
CN116866847A (zh) 消息发送方法、装置、计算机设备和存储介质
CN117349131A (zh) 系统错误信息的显示方法、装置和计算机设备
CN115718764A (zh) 业务数据处理方法、装置、计算机设备以介质
CN117376340A (zh) 文件上传方法、装置、计算机设备和存储介质
CN117271445A (zh) 日志数据处理方法、装置、服务器、存储介质和程序产品
CN118200314A (zh) 文件交互方法、装置、计算机设备和存储介质
CN118313002A (zh) 数据脱敏方法、装置、计算机设备和存储介质
CN116562608A (zh) 一种业务单据状态确定方法及相关产品
CN114756363A (zh) 一种资源配置检测方法及装置
CN118260328A (zh) 数据查询方法、装置、计算机设备、可读存储介质和产品
CN116069991A (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