一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于云的大数据组件部署方法、装置、设备及存储介质与流程

2022-06-29 14:02:22 来源:中国专利 TAG:


1.本技术涉及大数据运行技术领域,特别是涉及一种基于云的大数据组件部署方法、装置、设备及存储介质。


背景技术:

2.流计算是面向数据流的计算,流计算中参与计算的数据是无界的、不间断的、实时到来的,因而要求流计算系统具有很高的计算能力和很低的计算延迟。kubernetes是一个开源的linux容器(container)自动化运维平台,它消除了容器化应用程序在部署、伸缩时涉及到的许多手动操作,为基于云的软件架构的基础底座,具有自动化,以服务为中心,高可用和支持滚动更新等特点。
3.目前,各大主流的大数据组件例如kafka(由apache软件基金会开发的一个开源流处理平台,其核心是用scala和java编写的高吞吐量的分布式发布订阅消息系统)、flink(由apache软件基金会开发的开源流处理框架,其核心是用java和scala编写的分布式流数据流引擎)等,存在大量相同作用的模块,比如为了支持分布式环境高可用需要有故障检测和自动切换,分布式集群管理需要leader选举,因此多数大数据组件都具有leader选举功能,又比如为了确保可靠存储需要多副,大部分大数据组件还需要具有存储副本的功能。针对这些有部分相似的功能不同大数据组件其相同功能部分有不同的实现,例如kafka均flink具有leader选举功能,但kafka、flink均需要分别单独对leader选举功能进行编写和维护,即分布式系统中存在大量的冗余功能,不利于大数据组件的维护。


技术实现要素:

4.有鉴于此,有必要针对以上技术问题,提供一种基于云的大数据组件部署方法、装置、设备及存储介质。
5.根据本发明的第一方面,提供了一种基于云的大数据组件部署方法,所述方法包括:
6.定义具有不同功能的若干预设辅助功能模块;
7.将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
8.为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
9.从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
10.创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
11.在一些实施例中,若干预设辅助功能模块均采用标准调用接口,所述方法还包括:
12.在业务逻辑模块的原调用接口和所述标准调用接口之间添加适配器层,并将所述适配器层配置为将所述原调用接口转换成标准调用接口。
13.在一些实施例中,所述业务逻辑模块的镜像文件和若干预设辅助功能模块的镜像文件采用不同的编程语言编写,且每个镜像均采用protobuf协议。
14.在一些实施例中,所述待部署大数据组件为分布式发布订阅消息系统或分布式流数据流引擎,若干预设辅助功能模块对应的功能包括以下至少一种:协调服务、leader选举、日志采集、故障检测、存储分片以及存储副本。
15.根据本发明的第二方面,提供了一种基于云的大数据组件部署装置,所述装置包括:
16.定义模块,配置用于定义具有不同功能的若干预设辅助功能模块;
17.拆解模块,配置用于将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
18.镜像编写模块,配置用于为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
19.匹配模块,配置用于从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
20.部署模块,配置用于创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
21.在一些实施例中,若干预设辅助功能模块均采用标准调用接口,所述装置还包括:
22.转换模块,配置用于在业务逻辑模块的原调用接口和所述标准调用接口之间添加适配器层,并将所述适配器层配置为将所述原调用接口转换成标准调用接口。
23.在一些实施例中,所述业务逻辑模块的镜像文件和若干预设辅助功能模块的镜像文件采用不同的编程语言编写,且每个镜像均采用protobuf协议。
24.在一些实施例中,所述待部署大数据组件为分布式发布订阅消息系统或分布式流数据流引擎,若干预设辅助功能模块对应的功能包括以下至少一种:协调服务、leader选举、日志采集、故障检测、存储分片以及存储副本。
25.根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
26.至少一个处理器;以及
27.存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的基于云的大数据组件部署方法,所述方法包括以下步骤:
28.定义具有不同功能的若干预设辅助功能模块;
29.将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
30.为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
31.从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
32.创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
33.根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的基于云的大数据组件部署方法,所述方法包括以下步骤:
34.定义具有不同功能的若干预设辅助功能模块;
35.将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
36.为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
37.从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
38.创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
39.上述一种基于云的大数据组件部署方法,通过将大数据组件各个功能模块识别统一化和拆解,将各大数据组件的功能相似的辅助模块独立封装为镜像,从而实现辅助功能模块的组合使用,极大程度上降低了大数据组件开发的复杂度,不同的大数据组件无需再去实现功能相同的辅助模块,使得研发人员可以更专注于大数据组件的业务逻辑,同时实现了辅助功能模块复用,即同一个辅助模块可以让不同的大数据组件使用,提升了辅助模块的可复用能力,极大的方便了辅助功能模块的统一管理、统一缺陷修复和版本升级。
40.此外,本发明还提供了一种基于云的大数据组件部署装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
42.图1为本发明一个实施例提供的一种基于云的大数据组件部署方法100的流程示意图;
43.图2为本发明另一个实施例提供的大数据组件辅助模块拆解示意图;
44.图3为本发明另一个实施例提供的辅助模块接口统一化流程示意图;
45.图4为本发明另一个实施例提供的大数据组件在容器组中部署的示意图;
46.图5为本发明又一个实施例提供的一种基于云的大数据组件部署装置200的结构示意图;
47.图6为本发明又一个实施例中计算机设备的内部结构图。
具体实施方式
48.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
49.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
50.在一个实施例中,请参照图1所示,本发明提供了一种基于云的大数据组件部署方法100,具体来说,所述方法包括以下步骤:
51.步骤101,定义具有不同功能的若干预设辅助功能模块;
52.步骤102,将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
53.步骤103,为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
54.步骤104,从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
55.步骤105,创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
56.其中,容器组即为pod,pod为kubernetes最小的管理单位,对于大数据组件而言,一个pod通常包含大数据组件在通常分布式模式运行下一个节点所包含的各个功能模块。大数据组件常规分布式模式的调度以节点为单位,那么在kubernetes云环境,对应的就以pod为单位,pod可以包含多个container,为功能的解耦、复用和组合奠定了基础。
57.上述一种基于云的大数据组件部署方法,通过将大数据组件各个功能模块识别统一化和拆解,将各大数据组件的功能相似的辅助模块独立封装为镜像,从而实现辅助功能模块的组合使用,极大程度上降低了大数据组件开发的复杂度,不同的大数据组件无需再去实现功能相同的辅助模块,使得研发人员可以更专注于大数据组件的业务逻辑,同时实现了辅助功能模块复用,即同一个辅助模块可以让不同的大数据组件使用,提升了辅助模块的可复用能力,极大的方便了辅助功能模块的统一管理、统一缺陷修复和版本升级。
58.在一些实施例中,若干预设辅助功能模块均采用标准调用接口,所述方法还包括:
59.在业务逻辑模块的原调用接口和所述标准调用接口之间添加适配器层,并将所述适配器层配置为将所述原调用接口转换成标准调用接口。
60.在一些是实施例中,所述业务逻辑模块的镜像文件和若干预设辅助功能模块的镜像文件采用不同的编程语言编写,且每个镜像均采用protobuf协议。
61.在一些实施例中,所述待部署大数据组件为分布式发布订阅消息系统或分布式流数据流引擎,若干预设辅助功能模块对应的功能包括以下至少一种:协调服务、leader选举、日志采集、故障检测、存储分片以及存储副本。
62.在又一个实施例中,为了便于理解本发明的技术方案,下面以应用于在分布式环境为例,需要部署某个大数据组件时可以参考如下步骤实施:
63.第一步:大数据组件辅助模块拆解;请参照图2所示,此步骤需要对主流大数据组件的功能模块进行分析,抽象出这些大数据组件共用的辅助功能模块。例如前面所述的协调服务,leader选举等。专门编写这些辅助模块的实现方式。本发明中不同的辅助模块运行于不同的container中,他们的实现是互不依赖的。因此为了效率更高的实现这些功能模块,本发明带来的优点是这些功能模块可以使用不同的编程语言实现。例如业务逻辑模块使用java编写,leader选举使用go编写,可以很好的组合编程语言优点和辅助模块的功能,极大的提高了功能实现的灵活性。
64.第二步:辅助模块接口统一化;请参照图3所示,目前不同的大数据组件由于各个辅助模块都是自己实现的,虽然功能相近但是实现方式完全不同。这导致的问题是上一步把各个模块拆解出来之后功能实现,无法很好的配合不同的大数据组件使用。这些大数据组件和辅助模块的调用接口是不同的。因此,在这个步骤中需要对这些辅助模块制定统一
的接口。辅助模块接口统一化后存在以下两个问题:第一,业务逻辑模块对辅助功能模块调用接口的改造问题;第二,不同编程语言间相互调用问题。针对第一个问题,本实施例采用用适配器的方式,即将大数据组件原有的调用接口和统一的辅助模块接口之间添加适配器层,从而将原有调用方式转换为统一调用接口。这样的好处是最小化原有组件代码的修改,使得以后的升级操作变得简单易行。对于第二个问题,在本实施例中业务逻辑模块和辅助模块通信中使用protobuf协议,由于protobuf是一种高效的结构化数据存储格式,语言无关和平台无关,这样可以解决业务逻辑模块和辅助模块实现的编程语言不同时的通信问题。
65.第三步,构建镜像;kubernetes容器组中的container运行的是镜像。在此步骤本实施例将各个大数据组件的辅助模块封装为镜像,将业务逻辑模块封装为镜像。这些镜像可独立运行,也可以作为sidecar(sidecar是同一个pod中除了应用主要的container外其他的起辅助作用的container,sidecar部署方式主要是将主应用与外围辅助服务进行解耦,提供更灵活的应用部署形式)和大数据组件主要逻辑部分配合运行(作为不同的container运行在同一个pod内)。与此同时,将这些不同辅助模块的镜像分别命名,并规定版本号。此步骤实现了辅助模块的统一管理。同时也确保了辅助模块和大数据组件的解耦,辅助模块镜像是独立于具体某个大数据组件的,因此它可以配合任意大数据组件的业务逻辑模块一起运行。
66.第四步,组合业务逻辑和辅助模块运行;经过上面步骤,大数据组件模块化运行环境已准备就绪。在这个步骤需要将大数据组件和辅助模块组合到一个pod内一起运行。在kubernetes中,一个pod内包含哪些container是在pod的配置文件中指定。不同的大数据组件拥有不同的pod配置文件,从而实现了辅助模块和大数据组件业务逻辑模块自由组合。这些pod配置文件同样可以纳入统一管理,从而灵活控制版本更迭。请参照图4所示,原本一个大数据组件的复杂实现已经完全被模块化。原来一个大数据组件完整功能对应现在一个pod,原先大数据组件内各个功能模块对应现在pod内不同的container。这些container对应的镜像是可以组合和复用的。
67.本实施例的基于云的大数据组件部署方法具备以下有益技术效果:将大数据组件分割为业务逻辑和各个辅助模块,将不同大数据组件中的功能相似的辅助模块的实现统一化和标准化,使得他们可以兼容各个大数据组件,同时利用kubernetes灵活的部署运行方式,实现了将大数据组件的业务逻辑模块和辅助模块的灵活组合部署。
68.在又一个实施例中,请参照图5所示,本实施例提供了一种基于云的大数据组件部署装置200,所述装置包括:
69.定义模块201,配置用于定义具有不同功能的若干预设辅助功能模块;
70.拆解模块202,配置用于将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
71.镜像编写模块203,配置用于为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
72.匹配模块204,配置用于从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
73.部署模块205,配置用于创建容器组并在所述容器组件中部署并运行所述业务逻
辑模块的镜像文件、以及待部署辅助模块的镜像文件。
74.上述一种基于云的大数据组件部署装置,通过将大数据组件各个功能模块识别统一化和拆解,将各大数据组件的功能相似的辅助模块独立封装为镜像,从而实现辅助功能模块的组合使用,极大程度上降低了大数据组件开发的复杂度,不同的大数据组件无需再去实现功能相同的辅助模块,使得研发人员可以更专注于大数据组件的业务逻辑,同时实现了辅助功能模块复用,即同一个辅助模块可以让不同的大数据组件使用,提升了辅助模块的可复用能力,极大的方便了辅助功能模块的统一管理、统一缺陷修复和版本升级。
75.在一些实施例中,若干预设辅助功能模块均采用标准调用接口,所述装置还包括:
76.转换模块,配置用于在业务逻辑模块的原调用接口和所述标准调用接口之间添加适配器层,并将所述适配器层配置为将所述原调用接口转换成标准调用接口。
77.在一些实施例中,所述业务逻辑模块的镜像文件和若干预设辅助功能模块的镜像文件采用不同的编程语言编写,且每个镜像均采用protobuf协议。
78.在一些实施例中,所述待部署大数据组件为分布式发布订阅消息系统或分布式流数据流引擎,若干预设辅助功能模块对应的功能包括以下至少一种:协调服务、leader选举、日志采集、故障检测、存储分片以及存储副本。
79.需要说明的是,关于基于云的大数据组件部署装置的具体限定可以参见上文中对基于云的大数据组件部署方法的限定,在此不再赘述。上述基于云的大数据组件部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
80.根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的基于云的大数据组件部署方法,具体来说,所述方法包括以下步骤:
81.定义具有不同功能的若干预设辅助功能模块;
82.将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
83.为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
84.从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
85.创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
86.在一些实施例中,若干预设辅助功能模块均采用标准调用接口,所述方法还包括:
87.在业务逻辑模块的原调用接口和所述标准调用接口之间添加适配器层,并将所述适配器层配置为将所述原调用接口转换成标准调用接口。
88.在一些实施例中,所述业务逻辑模块的镜像文件和若干预设辅助功能模块的镜像文件采用不同的编程语言编写,且每个镜像均采用protobuf协议。
89.在一些实施例中,所述待部署大数据组件为分布式发布订阅消息系统或分布式流数据流引擎,若干预设辅助功能模块对应的功能包括以下至少一种:协调服务、leader选举、日志采集、故障检测、存储分片以及存储副本。
90.根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的基于云的大数据组件部署方法,具体来说,包括执行以下步骤:
91.定义具有不同功能的若干预设辅助功能模块;
92.将待部署大数据组件拆解以得到待部署大数据组件对应的业务逻辑模块和若干辅助功能模块;
93.为每个预设辅助功能模块和所述业务逻辑模块分别编写镜像文件;
94.从若干预设辅助功能模块中为每个辅助功能模块匹配具有相同功能的预设辅助功能模块作为待部署辅助模块;
95.创建容器组并在所述容器组件中部署并运行所述业务逻辑模块的镜像文件、以及待部署辅助模块的镜像文件。
96.在一些实施例中,若干预设辅助功能模块均采用标准调用接口,所述方法还包括:
97.在业务逻辑模块的原调用接口和所述标准调用接口之间添加适配器层,并将所述适配器层配置为将所述原调用接口转换成标准调用接口。
98.在一些实施例中,所述业务逻辑模块的镜像文件和若干预设辅助功能模块的镜像文件采用不同的编程语言编写,且每个镜像均采用protobuf协议。
99.在一些实施例中,所述待部署大数据组件为分布式发布订阅消息系统或分布式流数据流引擎,若干预设辅助功能模块对应的功能包括以下至少一种:协调服务、leader选举、日志采集、故障检测、存储分片以及存储副本。
100.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
101.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
102.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来
说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献