CN117421103A - 一种基于BI-Server的分布式计算系统及其应用方法 - Google Patents
一种基于BI-Server的分布式计算系统及其应用方法 Download PDFInfo
- Publication number
- CN117421103A CN117421103A CN202311476029.2A CN202311476029A CN117421103A CN 117421103 A CN117421103 A CN 117421103A CN 202311476029 A CN202311476029 A CN 202311476029A CN 117421103 A CN117421103 A CN 117421103A
- Authority
- CN
- China
- Prior art keywords
- spark
- data
- distributed
- storage
- distributed computing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000003860 storage Methods 0.000 claims abstract description 74
- 238000012423 maintenance Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000013500 data storage Methods 0.000 claims abstract description 22
- 238000004364 calculation method Methods 0.000 claims description 29
- 238000007726 management method Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 12
- 238000013515 script Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000012805 post-processing Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000013079 data visualisation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于BI‑Server的分布式计算系统及其应用方法,BI后台可以对直连数据进行数据请求和查询数据,当发现存在非直连数据查询任务以及ETL任务之时,Job Control Tower从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行相应的调度任务,使得本系统具备处理直连数据查询、非直连数据查询以及ETL任务的扩展处理功能,BI能力更加强大。除了BI后台的元数据库和Cassandra缓存服务,还设有分布式存储系统,实现Spark任务执行和运维的分布式缓存,扩展BI系统对数据处理的运行和存储能力,采用分布式对象存储引擎,为数据质量与数据存储提供保障。
Description
技术领域
本公开涉及BI服务技术领域,尤其涉及一种基于BI-Server的分布式计算系统及其应用方法和电子设备。
背景技术
BI(Business Inteligence)是一种主要由数据仓库、数据分析、查询报表、数据可视化等组成的数据类技术解决方案。在企业中BI可以打破ERP、OA、CRM、自研软件等形成的数据孤岛,有效的整合归纳企业的大量数据,行程高质量的数据资产,并在后续通过数据可视化制作可以满足不同人员对于数据查询、数据分析、数据可视化需求的各种报表,为企业的业务和管理人员提供足够的信息支撑。
如附图1所示的BI后台(服务器)---BI Backend Server,通常负责元数据管理、认证权限、任务调度、引擎计算和数据存储,通常采用元数据库MySQL、Cassandra缓存服务,实现BI数据的计算缓存和数据存储。
但是,作为智能商业服务系统,一般不仅仅只有BI后台(服务器),还具有其对应的前端比如BI Web Server,BI运维系统,等等。
智能商业服务系统,需要BI Web Server对接来自前端用户的数据并转发至BI后台;需要BI运维系统负责BI运维。元数据库MySQL需要对应管理元数据,Cassandra缓存服务需要提供专门的数据缓存,便于前端进行SQL查询之时,及时由BI后台从元数据库MySQL、Cassandra缓存服务中查询并调用相应的数据。
因此,单台BI服务器并没有足够的存储空间,来作为BI Web Server和BI运维系统的运行、储存空间,无法使得BI系统的运行能力得到有效扩增,实现大数据的处理和应用。
发明内容
为了解决上述问题,本申请提出一种基于BI-Server的分布式计算系统、装置和电子设备。
本申请一方面,提出一种基于BI-Server的分布式计算系统,包括:
BI后台,用于对前端发起的BI数据进行后处理,以及当发现非直连数据之时,向Job Control Tower下达任务调度指令;
Job Control Tower,用于响应所述任务调度指令,从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行调度任务;
运维系统,用于负责BI系统的运维工作;
分布式储存系统,用于对所述Job Control Tower和所述分布式计算引擎Spark的执行结果进行分布式储存;
所述BI后台和所述Job Control Tower通信连接;所述Job Control Tower和所述分布式计算引擎Spark通信连接;所述分布式计算引擎Spark和所述运维系统,分别与所述分布式储存系统通信连接。
作为本申请的一可选实施方案,可选地,所述分布式计算引擎Spark,包括:
基于Spark的ETL计算引擎(Spark Job Engine for ETL),用于处理执行ETL任务,将源数据集转换为目标数据集;
基于Spark的非直连数据计算引擎(Spark Job Engine),用于处理非直连数据的数据计算任务调度,进行Spark任务脚本计算,生成对应的Spark任务脚本;
其中,
基于Spark的ETL计算引擎(Spark Job Engine for ETL)以及基于Spark的非直连数据计算引擎(Spark Job Engine)的数量,均至少设置有一个,且呈分布式部署于所述BI后台上。
作为本申请的一可选实施方案,可选地,所述分布式储存系统,包括:
若干支持Delta Lake存储格式的分布式files,用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录。
作为本申请的一可选实施方案,可选地,所述分布式储存系统,包括:
Minio,用于支持所述运维系统的数据存储;
所述Minio中包含若干存储文件File,用于为所述运维系统中的各个运维子系统提供数据分布式存储。
作为本申请的一可选实施方案,可选地,所述分布式储存系统,采用Minio+Deltalake的分布式对象存储结构,包括:
若干支持Delta Lake存储格式的分布式files,用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录;
一个Minio,用于支持所述运维系统的数据存储;其中,所述Minio中包含若干存储文件File,用于为所述运维系统中的各个运维子系统提供数据分布式存储。
作为本申请的一可选实施方案,可选地,所述分布式计算系统采用Docker虚拟机,分别实现所述BI后台、所述分布式计算引擎Spark、所述Delta Lake和所述Minio的独立运行;
其中,各个Docker虚拟机按照预设的运行节点,部署在K8s集群系统中。
作为本申请的一可选实施方案,可选地,所述运维系统,包括:
Kubernetes,用于进行各个所述Docker虚拟机的部署、扩展与维护管理;
监控运维系统,用于实现系统任务执行的分布式追踪、日志管理和监控报警。
本申请另一方面,提出一种基于BI-Server的分布式计算系统的应用方法,包括如下步骤:
获取前端通过BI Backend Server发起的BI数据请求,并转发至BI后台进行后处理;
当BI后台发现非直连数据之时,向Job Control Tower下达任务调度指令;
Job Control Tower响应所述任务调度指令,从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行调度任务,并将Spark任务执行结果发送至分布式储存系统进行存储;
运维系统负责BI系统的运维工作。
本申请另一方面,还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现所述的应用方法。
本发明的技术效果:
本申请当发现存在非直连数据查询任务以及ETL任务之时,通过BI后台向JobControl Tower下达任务调度指令,Job Control Tower从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行相应的调度任务,使得本系统可以同时具备处理直连数据查询、非直连数据查询以及ETL任务的扩展处理功能,系统的BI数据能力更加强大。除了BI后台的元数据库和Cassandra缓存服务,本系统还设有分布式存储系统,实现Spark任务执行结果和运维结果的分布式缓存,扩展了BI系统对数据处理的运行和存储能力,采用Minio+DeltaLake分布式对象存储引擎,为数据质量与数据存储提供保障。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出为BI后台对前端数据请求的BI后处理系统示意图;
图2示出为本发明的应用系统示意图;
图3示出为本发明一个具体BI系统的运行脚骨示意图;
图4示出为本发明采用Kubernetes管理Docker的应用示意图;
图5示出为本发明电子设备的应用示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
如图2所示,本申请一方面,提出一种基于BI-Server的分布式计算系统,包括:
BI后台,用于对前端发起的BI数据进行后处理,以及当发现非直连数据之时,向Job Control Tower下达任务调度指令;
Job Control Tower,用于响应所述任务调度指令,从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行调度任务;
运维系统,用于负责BI系统的运维工作;
分布式储存系统,用于对所述Job Control Tower和所述分布式计算引擎Spark的执行结果进行分布式储存;
所述BI后台和所述Job Control Tower通信连接;所述Job Control Tower和所述分布式计算引擎Spark通信连接;所述分布式计算引擎Spark和所述运维系统,分别与所述分布式储存系统通信连接。
本系统BI后台可以对直连数据进行数据请求和查询数据,当发现存在非直连数据查询任务以及ETL任务之时,通过BI后台向Job Control Tower下达任务调度指令,JobControl Tower从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行相应的调度任务,使得本系统可以同时具备处理直连数据查询、非直连数据查询以及ETL任务的扩展处理功能,系统的BI数据能力更加强大。除了BI后台的元数据库和Cassandra缓存服务,本系统还设有分布式存储系统,实现Spark任务执行结果和运维结果的分布式缓存,扩展了BI系统对数据处理的运行和存储能力,采用Minio+Delta Lake分布式对象存储引擎,为数据质量与数据存储提供保障。
结合附图3所示的具体应用部署系统,本系统主要包括:
1、BI后台(BI Backend Server),执行对应BI数据计算,下达BI数据的查询/处理等任务。包括元数据管理和直连数据的查询处理等等。
2、Job Control Tower进行任务调度;依据任务类型,将数据计算任务通过JobControl Tower进行调度,下推至数据库或者Spark去计算。
3、Spark是专为大规模数据处理而设计的快速通用的分布式计算引擎,通过SparkJob Engine分布式部署,实现大数据的高性能内存计算。
主要包括:
3.1、基于Spark的ETL计算引擎。ETL,主要指的是数据转换,通过执行ETL任务,将源数据集转换为目标数据集。用户可以使用ETL模块提供的低代码方式,通过拖拽一些视图化的算子来构建一个计算过程,实现输入数据集到目标输出数据集的数据转换。算子图由1个或多个输入算子和至少一个输出算子构成,用户可以导出、导入、删除、保存或者修改算子图,以及管理算子图的计算时机,如级联触发、定时触发等等方式。
通过ETL模块提供的界面,选择需要转换的数据集,并通过拖拽算子的方式构建一个算子图,来实现数据转换的过程。算子图可以包含多个算子,每个算子都代表了一种数据转换操作,例如过滤、排序、聚合等等。用户可以根据自己的需求选择合适的算子来构建自己的算子图。详见(基于低代码开发的ETL模块进行数据转换的方法)
3.2、基于Spark的非直连数据计算引擎:
非直连数据计算以及Smart ETL的计算都是通过Spark Job Engine来进行处理的。
本系统,BI后台中,对于直连数据库引擎:
当前数据查询为直连模式,所述Cassandra缓存服务中存在与所述SQL查询语句相匹配的缓存数据;通过所述SQL查询语句到Cassandra缓存服务中进行数据查询,查询得到相应的所述缓存数据,并反馈至BI Server。
在直连数据时,主要通过JOOQ来支持各种数据库的方言转换。JOOQ是基于Java访问关系型数据库的商业化工具包,具备轻量、简单、足够灵活的特点,可以轻松地使用Java面向对象语法来实现各种复杂的SQL。
当前数据查询为直连模式,所述Cassandra缓存服务中存在与所述SQL查询语句相匹配的缓存数据;通过所述SQL查询语句到Cassandra缓存服务中进行数据查询,查询得到相应的所述缓存数据,并反馈至BI Server。
在直连数据时,主要通过JOOQ来支持各种数据库的方言转换。JOOQ是基于Java访问关系型数据库的商业化工具包,具备轻量、简单、足够灵活的特点,可以轻松地使用Java面向对象语法来实现各种复杂的SQL。
4、数据存储层主要采用Minio+Delta lake的分布式对象存储。
Minio,是基于Golang编写的开源对象存储套件。其兼容亚马逊S3云存储服务接口,非常适合于存储大容量数据。
Minio作为一个非常轻量的数据存储服务,可以很简单的和其他应用的结合,具备高性能、可扩容、云原生、可对接后端存储、SDK支持等特点。
Delta Lake,是一个数据存储层,与Spark紧密配合,为保证数据质量,减少垃圾数据、增强处理性能提供有力保障。与一般大数据存储格式相比,Delta Lake具备多个优点:解决读写不可靠问题提高数据质量,提高数据处理性能,解决数据更新困难问题等。
Delta Lake存储格式,可以用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录,可以支持文件的快速变更。
作为本申请的一可选实施方案,可选地,所述分布式计算引擎Spark,包括:
基于Spark的ETL计算引擎(Spark Job Engine for ETL),用于处理执行ETL任务,将源数据集转换为目标数据集;
基于Spark的非直连数据计算引擎(Spark Job Engine),用于处理非直连数据的数据计算任务调度,进行Spark任务脚本计算,生成对应的Spark任务脚本;
其中,
基于Spark的ETL计算引擎(Spark Job Engine for ETL)以及基于Spark的非直连数据计算引擎(Spark Job Engine)的数量,均至少设置有一个,且呈分布式部署于所述BI后台上。
结合附图2所示,本处Spark Job Engine和Spark Job Engine for ETL,均部署有2个。
作为本申请的一可选实施方案,可选地,所述分布式储存系统,包括:
若干支持Delta Lake存储格式的分布式files,用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录。
若是存在多个任务,则可以采用同样的方式,通过检索、查询Delta Lake中存储文件File的工作状态,找到处于空闲的存储文件File,为各个任务进行存储空间的分配即可,以此实现Spark任务执行结果的分布式存储。
而对于各个存储文件File的工作状态的管理,将由运维系统的Kubernetes负责监管。
作为本申请的一可选实施方案,可选地,所述分布式储存系统,包括:
Minio,用于支持所述运维系统的数据存储;
所述Minio中包含若干存储文件File,用于为所述运维系统中的各个运维子系统提供数据分布式存储。
Minio的分布式存储,可以参考上述Delta Lake的存储和管理方式。
作为本申请的一可选实施方案,可选地,所述分布式储存系统,采用Minio+Deltalake的分布式对象存储结构,包括:
若干支持Delta Lake存储格式的分布式files,用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录;
一个Minio,用于支持所述运维系统的数据存储;其中,所述Minio中包含若干存储文件File,用于为所述运维系统中的各个运维子系统提供数据分布式存储。
本实施例,优选采用Minio+Delta lake的分布式对象存储结构。具体结合上述描述进行理解。
系统的主要流程如下:
(1)前端发起一个卡片数据请求,发送至BI Server;
(2)BI Server向元数据库MySQL查询该数据请求相对应的数据集、页面卡片的定义信息,同时获取到数据集上相应的数据行列权限信息;
(3)由SQL Engine生成相应SQL查询语句(直连数据库场景下)或Spark任务脚本(非直连场景下)
(4)依据任务脚本/数据集版本等信息查询缓存,若命中缓存,则拿到缓存数据,直接跳转至“数据转换”;
(5)若无可用缓存,则会依据任务类型,将数据计算任务通过Job Control Tower进行调度,下推至数据库或者Spark去计算。
(6)拿到计算结果后,一方面会把查询结果缓存在缓存层,另一方面返回至BIServer层。
(7)数据转换,BI Server需要对拿到的结果数据进行一次数据转换
(8)针对前端不同类型的数据应用,再做进一步数据准备,封装成满足前端要求的数据格式,前端进行数据可视化的展示或者导出等。
根据BI Server工作流程,前端发起数据查询请求后,SQL Engine生成相应SQL语句或Spark执行脚本,BI Server向Cassandra缓存服务发起缓存查询此时:
若有可用缓存命中,则直接获得缓存数据,并进行相应加工处理,最后返回给前端展示或导出。
若无可用缓存,则向数据库或Spark发起任务请求任务处理后,将结果数据返回给BI server,随后经由相关处理,再返回给前端展示或导出。
同时,该结果数据也会存储到Cassandra中作为缓存数据,供下一次相同数据请求所用。为保证缓存数据不过于庞大,系统会在每天凌晨定时清理Cassandra中长期未被命中的缓存,一般为10天。除此之外,当相关数据集更新时,相应的缓存则会失效。
作为本申请的一可选实施方案,可选地,所述分布式计算系统采用Docker虚拟机,分别实现所述BI后台、所述分布式计算引擎Spark、所述Delta Lake和所述Minio的独立运行;
其中,各个Docker虚拟机按照预设的运行节点,部署在K8s集群系统中。
作为本申请的一可选实施方案,可选地,所述运维系统,包括:
Kubernetes,用于进行各个所述Docker虚拟机的部署、扩展与维护管理;
监控运维系统,用于实现系统任务执行的分布式追踪、日志管理和监控报警。
如图2所示,所有容器化的组件在K8s内都可以在任物理节点上部署。比如用户可以把BI Web Server部署在A机器上,BI Backend Server部署在B机器上,然后文把Spark集群部署在完全不同的其他机器上。但是一方面客户的机器通常有限,另一方面为了方便运维,因此对于单机部署,优先把所有组件全部部署在一个物理节点上。而在集群化部署的时候,仅仅是把计算压力特别大的Spark Worker节点进行横向扩展到了其他物理节点上,以此实现集中部署,分布式运行。
如附图4所示,本系统并非直接部署在某个机器或某个云上,无需在服务器上进行安装程序+调环境变量之类的操作,部署方式是:基于Docker+Kubernetes(k8s)的容器化部署。通过Docker进行容器化部署,同时采用Kubernetes来管理Docker。
Docker,是一个开源的应用容器引擎,在开发中使用Docker可以打包应用以及依赖包到一个可移植的镜像中,然后发布到主流Linux版本操作系统上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker可以通俗地理解为一种容器的运行和调度工具,可以作为一种没有内核的、轻量级的虚拟机。其可以快速、自动化部署应用,每个容器之间可以提供相对隔离的环境,具备轻量、容易搭建等优点,在不同操作系统、云上的转移和部署是一致的,因此非常方便,有利于实现快速部署与快速迭代。
系统的BI后台等,皆可以采用Docker进行虚拟部署,采用Kubernetes进行统一运维、管理。
采用Kubernetes来进行Docker的部署、扩展与维护等管理。Kuberetes可以为Docker的跨节点的通信、访问与管理提供便利。在集群环境下,如何去进行Docker容器之间的相互访问与容器的分布,是有一定挑战的。随着时间的推移,过去的策略可能会不再适合,通过Kuberetes可以对集群环境进行监测可以实现不同情况的自适应,以应对管理Docker的挑战。具体而言,在Master节点,监控所有node的健康状况,服务运行的情况等,在发生异常的时候,实现快速应对与处理,比如某些node失去响应的时候,可以快速调整与响应,在某些故障发生的时候可以迅速重启,以快速恢复。同时,还可以扩展更多的节点加入其中。
显然,本领域的技术人员应该明白,实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制的实施例的流程。本领域技术人员可以理解,实现上述实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
实施例2
基于实施例1的实施原理,本申请另一方面,提出一种基于BI-Server的分布式计算系统的应用方法,包括如下步骤:
获取前端通过BI Backend Server发起的BI数据请求,并转发至BI后台进行后处理;
当BI后台发现非直连数据之时,向Job Control Tower下达任务调度指令;
Job Control Tower响应所述任务调度指令,从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行调度任务,并将Spark任务执行结果发送至分布式储存系统进行存储;
运维系统负责BI系统的运维工作。
上述具体步骤,请参考实施例1的描述。
上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实施例3
如附图5所示,更进一步地,本申请另一方面,还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现所述的一种基于BI-Server的分布式计算系统。
本公开实施例来电子设备包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的一种基于BI-Server的分布式计算系统。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的电子设备中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的一种基于BI-Server的分布式计算系统所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行电子设备的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种基于BI-Server的分布式计算系统,其特征在于,包括:
BI后台,用于对前端发起的BI数据进行后处理,以及当发现非直连数据之时,向JobControl Tower下达任务调度指令;
Job Control Tower,用于响应所述任务调度指令,从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行调度任务;
运维系统,用于负责BI系统的运维工作;
分布式储存系统,用于对所述Job Control Tower和所述分布式计算引擎Spark的执行结果进行分布式储存;
所述BI后台和所述Job Control Tower通信连接;所述Job Control Tower和所述分布式计算引擎Spark通信连接;所述分布式计算引擎Spark和所述运维系统,分别与所述分布式储存系统通信连接。
2.根据权利要求1所述的一种基于BI-Server的分布式计算系统,其特征在于,所述分布式计算引擎Spark,包括:
基于Spark的ETL计算引擎(Spark Job Engine for ETL),用于处理执行ETL任务,将源数据集转换为目标数据集;
基于Spark的非直连数据计算引擎(Spark Job Engine),用于处理非直连数据的数据计算任务调度,进行Spark任务脚本计算,生成对应的Spark任务脚本;
其中,
基于Spark的ETL计算引擎(Spark Job Engine for ETL)以及基于Spark的非直连数据计算引擎(Spark Job Engine)的数量,均至少设置有一个,且呈分布式部署于所述BI后台上。
3.根据权利要求2所述的一种基于BI-Server的分布式计算系统,其特征在于,所述分布式储存系统,包括:
若干支持Delta Lake存储格式的分布式files,用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录。
4.根据权利要求2所述的一种基于BI-Server的分布式计算系统,其特征在于,所述分布式储存系统,包括:
Minio,用于支持所述运维系统的数据存储;
所述Minio中包含若干存储文件File,用于为所述运维系统中的各个运维子系统提供数据分布式存储。
5.根据权利要求2所述的一种基于BI-Server的分布式计算系统,其特征在于,所述分布式储存系统,采用Minio+Delta lake的分布式对象存储结构,包括:
若干支持Delta Lake存储格式的分布式files,用于支持所述分布式计算引擎Spark的数据存储,包含数据修改记录;
一个Minio,用于支持所述运维系统的数据存储;其中,所述Minio中包含若干存储文件File,用于为所述运维系统中的各个运维子系统提供数据分布式存储。
6.根据权利要求5所述的一种基于BI-Server的分布式计算系统,其特征在于,所述分布式计算系统采用Docker虚拟机,分别实现所述BI后台、所述分布式计算引擎Spark、所述Delta Lake和所述Minio的独立运行;
其中,各个Docker虚拟机按照预设的运行节点,部署在K8s集群系统中。
7.根据权利要求6所述的一种基于BI-Server的分布式计算系统,其特征在于,所述运维系统,包括:
Kubernetes,用于进行各个所述Docker虚拟机的部署、扩展与维护管理;
监控运维系统,用于实现系统任务执行的分布式追踪、日志管理和监控报警。
8.一种基于BI-Server的分布式计算系统的应用方法,其特征在于,包括如下步骤:
获取前端通过BI Backend Server发起的BI数据请求,并转发至BI后台进行后处理;
当BI后台发现非直连数据之时,向Job Control Tower下达任务调度指令;
Job Control Tower响应所述任务调度指令,从分布式计算引擎Spark中,调用对应的Spark计算引擎,执行调度任务,并将Spark任务执行结果发送至分布式储存系统进行存储;
运维系统负责BI系统的运维工作。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求9所述的应用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311476029.2A CN117421103A (zh) | 2023-11-08 | 2023-11-08 | 一种基于BI-Server的分布式计算系统及其应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311476029.2A CN117421103A (zh) | 2023-11-08 | 2023-11-08 | 一种基于BI-Server的分布式计算系统及其应用方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117421103A true CN117421103A (zh) | 2024-01-19 |
Family
ID=89526288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311476029.2A Pending CN117421103A (zh) | 2023-11-08 | 2023-11-08 | 一种基于BI-Server的分布式计算系统及其应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117421103A (zh) |
-
2023
- 2023-11-08 CN CN202311476029.2A patent/CN117421103A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6117378B2 (ja) | 分散型データベースクエリ・エンジン用のシステムおよび方法 | |
CN105653425B (zh) | 基于复杂事件处理引擎的监控系统 | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
US11036608B2 (en) | Identifying differences in resource usage across different versions of a software application | |
US10956990B2 (en) | Methods and apparatuses for adjusting the distribution of partitioned data | |
US11928089B2 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
CN105243155A (zh) | 一种大数据抽取和交换系统 | |
US11669427B2 (en) | Query-attempt processing in a database environment | |
US11971799B2 (en) | Automated query retry using a database platform | |
CN104270412A (zh) | 一种基于Hadoop分布式文件系统的三级缓存方法 | |
US10673730B2 (en) | Method and apparatus to manage it infrastructure based on application characteristics | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
US20240061712A1 (en) | Method, apparatus, and system for creating training task on ai training platform, and medium | |
US11874824B2 (en) | Identifying software regressions based on query retry attempts in a database environment | |
CN113468111A (zh) | 一种容器云的日志监控管理系统及方法 | |
CN111488323B (zh) | 一种数据处理方法、装置及电子设备 | |
US10210013B1 (en) | Systems and methods for making snapshots available | |
CN117421103A (zh) | 一种基于BI-Server的分布式计算系统及其应用方法 | |
CN111694868A (zh) | 数据缓存方法、装置、电子设备及存储介质 | |
US10803030B2 (en) | Asynchronous SQL execution tool for zero downtime and migration to HANA | |
CN110633274B (zh) | 一种告警管理方法和装置 | |
CN102902825B (zh) | 一种数据库优化方法及装置 | |
US20200065158A1 (en) | Workload performance improvement using data locality and workload placement | |
CN114817338A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN116126793A (zh) | 基于SpringBoot项目融合查询HDFS分布式文件系统 |
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 |