首页> 中国专利> 大数据服务产品开发方法、装置及系统

大数据服务产品开发方法、装置及系统

摘要

本申请提供一种大数据服务产品开发方法、装置及系统,方法包括:通过第一预设界面输出至少一个可供用户选择的容器化组件,每一容器化组件封装有一项与大数据服务相关的一个功能;确定用户选择的容器化组件,以及确定用户针对所选择的容器化组件设置的依赖关系;基于依赖关系,对用户选择的容器化组件进行拼装,得到大数据服务产品。通过此种方式,用户只需执行简单的容器化组件选择操作和依赖定义,即可完成对大数据服务产品的开发,降低了大数据服务产品开发和容器化的门槛,使得一些非专业人员和初学入门人员也能够方便地进行大数据服务产品开发,使得大数据服务产品开发和容器化更易实现,并且提高了大数据服务产品开发和容器化的效率。

著录项

  • 公开/公告号CN113835705A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 北京金山云网络技术有限公司;

    申请/专利号CN202111154688.5

  • 发明设计人 王磊;张帅;

    申请日2021-09-29

  • 分类号G06F8/38(20180101);G06F8/36(20180101);G06F8/65(20180101);G06F9/50(20060101);

  • 代理机构11662 北京华夏泰和知识产权代理有限公司;

  • 代理人唐会娜;杜欣

  • 地址 100085 北京市海淀区西二旗中路33号院4号楼6层006号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本申请涉及大数据技术领域,尤其涉及一种大数据服务产品开发方法、装置及系统。

背景技术

随着全球数字化浪潮的全面加速升级,云原生技术凭借其可以充分发挥云平台的弹性和分布式优势、实现快速部署、按需伸缩、不停机交付等优点逐渐成为技术创新、业务升级的重要支柱。其中,容器技术是云原生技术的重要组成部分,因此,通过实现大数据服务产品的容器化可以有效解决大数据服务产品存在的弹性能力不足、资源利用率低等问题。

现有技术中,在实现大数据产品容器化时,需要开发人员通过Kubernetes对容器进行编排调度,从而完成大数据应用服务的开发和容器化接入。

由此可见,现有技术中为完成大数据应用服务的开发和容器化,需要开发人员既要熟悉大数据服务的相关基础组件、开源组件等,还要对Kubernetes的底层知识非常精通,这无疑提高了大数据服务产品开发和容器化的门槛,使得大数据服务产品开发和容器化的实现非常困难,且效率较低。

发明内容

本申请提供一种大数据服务产品开发方法、装置及系统,以降低大数据服务产品开发和容器化的门槛,提高大数据服务产品容器化的效率。

第一方面,本申请提供了一种大数据服务产品开发方法,包括:

通过第一预设界面输出至少一个可供用户选择的容器化组件,每一所述容器化组件封装有一项与大数据服务相关的功能;

确定用户选择的容器化组件,以及确定所述用户针对所选择的所述容器化组件设置的依赖关系;

基于所述依赖关系,对所述用户选择的所述容器化组件进行拼装,得到大数据服务产品。

作为一个可选的实现方式,所述方法还包括:

接收大数据服务产品开发指令,在第二预设界面中新建第一画布;

所述确定用户选择的容器化组件,包括:

接收用户针对所述第一预设界面输出的至少一个所述容器化组件的拖拽指令;

基于所述拖拽指令,在所述第一画布上显示至少一个所述容器化组件。

作为一个可选的实现方式,所述确定所述用户针对所选择的所述容器化组件设置的依赖关系,包括:

当检测到针对所述第一画布上显示的所述容器化组件的触发操作时,输出第三预设界面,所述第三预设界面中包括第一控件,所述第一控件用于设置所述容器化组件的被依赖方;

基于用户对所述第一控件的设置操作,确定所述用户针对所选择的所述容器化组件设置的依赖关系。

作为一个可选的实现方式,所述第三预设界面中还包括至少一个第二控件,每一所述第二控件对应一项组件参数;

所述方法还包括:

通过至少一个所述第二控件,接收用户针对所选择的所述容器化组件设置的组件参数。

作为一个可选的实现方式,所述方法还包括:

当检测到针对任一所述大数据服务产品的触发操作时,在第二预设界面中新建第二画布;

在所述第二画布中显示目标大数据服务产品包含的容器化组件以及所述容器化组件之间的依赖关系,所述目标大数据服务产品为所述触发操作对应的所述大数据服务产品;

当检测到针对所述第二画布上显示的所述容器化组件和/或所述容器化组件之间依赖关系的编辑操作时,更新所述目标大数据服务产品。

作为一个可选的实现方式,所述方法还包括:

接收大数据服务产品测试指令,确定一个当前处于可用状态的测试空间;

基于确定的所述测试空间对所述大数据服务产品进行测试;

在测试通过后,将所述大数据服务产品进行发布。

作为一个可选的实现方式,所述确定一个当前处于可用状态的测试空间,包括:

从已创建的测试空间中确定出一个当前处于可用状态的测试空间;

或,

接收测试空间创建指令,输出第四预设界面,所述第四预设界面包括至少一个第三控件,每一所述第三控件对应一项测试空间参数;

通过至少一个所述第三控件,接收用户设置的测试空间参数;

根据所述用户设置的测试空间参数,创建测试空间。

作为一个可选的实现方式,所述容器化组件通过以下方式创建:

接收组件开发指令,输出第五预设界面,所述第五预设界面上包括至少一个组件配置项和镜像输入控件;

确定用户针对至少一个所述组件配置项配置的配置信息,以及确定用户通过所述镜像输入控件输入的镜像文件;

基于所述配置信息和所述镜像文件生成所述容器化组件。

第二方面,本申请实施例还提供了一种大数据服务产品开发装置,包括:

输出模块,用于通过第一预设界面输出至少一个可供用户选择的容器化组件,每一所述容器化组件封装有一项与大数据服务相关的功能;

组件设置模块,用于确定用户选择的容器化组件,以及确定所述用户针对所选择的所述容器化组件设置的依赖关系;

拼接模块,用于基于所述依赖关系,对所述用户选择的所述容器化组件进行拼装,得到大数据服务产品。

第三方面,本申请实施例还提供了一种大数据服务产品开发系统,包括:基础设施管理模块、应用管理模块和产品管理模块;

所述基础设施管理模块,纳管容器资源,并为所述应用管理模块和所述产品管理模块提供容器资源;

所述应用管理模块,管理多个容器化组件,每个所述容器化组件封装有大数据服务相关的一个功能;

所述产品管理模块,基于所述应用管理模块中的所述容器化组件构建大数据服务产品。

作为一个可选的实现方式,所述应用管理模块包括基础组件管理子模块和组件开发子模块;

所述基础组件管理子模块,管理预置的容器化组件;

所述组件开发子模块,包括镜像输入控件和至少一个预置的组件配置项,所述组件配置项基于容器化定义标准设置;

所述组件开发子模块,根据用户通过所述镜像输入控件输入的镜像文件和所述用户基于至少一个所述组件配置项输入的配置信息生成容器化组件。

作为一个可选的实现方式,所述组件配置项包括定义负载类型配置项、依赖关系配置项、镜像名称与标签配置项、资源配置项、存储配置项、启动配置项、端口设置项和健康检查项中的至少一种。

作为一个可选的实现方式,所述基础设施管理模块包括:第一资源管理子模块、第二资源管理子模块、第三资源管理子模块和第四资源管理子模块;

所述第一资源管理子模块,注册容器编排引擎集群资源,并对所述容器编排引擎集群资源进行纳管;

所述第二资源管理子模块,注册镜像仓库资源,并对所述镜像仓库资源进行纳管;

所述第三资源管理子模块,注册文件存储资源,并对所述文件存储资源进行纳管;

所述第四资源管理子模块,注册对象存储资源,并对所述对象存储资源进行纳管。

作为一个可选的实现方式,所述产品管理模块包括画布新建子模块、拖拽子模块、依赖定义子模块和拼装子模块;

所述画布新建子模块,新建画布;

所述拖拽子模块,根据用户的拖拽指令在所述画布上新增或删除容器化组件;

所述依赖定义子模块,定义所述画布上的各所述容器化组件之间的依赖关系;

所述拼装子模块,根据所述画布上的各所述容器化组件之间的依赖关系将所述画布上的所述容器化组件拼装成大数据服务产品。

作为一个可选的实现方式,所述产品管理模块还包括产品复制子模块;

所述产品复制子模块,将任一大数据服务产品包含的容器化组件以及所述容器化组件之间的依赖关系在画布上显示输出。

作为一个可选的实现方式,所述系统还包括:空间管理模块;

所述空间管理模块,根据用户的操作创建空间,并对创建的空间进行管理,所述空间为存储空间、产品部署空间或测试空间;

一个所述存储空间存储一个所述容器化组件或一个所述大数据服务产品;

一个所述产品部署空间部署一个大数据服务产品的实例;

一个所述测试空间运行一个所述容器化组件的实例或一个所述大数据服务产品的实例。

作为一个可选的实现方式,所述系统还包括:运维管理模块;

所述运维管理模块,对部署后的所述大数据服务产品的实例进行全生命周期的维护;

所述全生命周期包括大数据服务产品的部署阶段、启动阶段、停止阶段、重启阶段、升级阶段、回滚阶段、配置热更新阶段和灰度发布阶段。本申请实施例提供的上述技术方案与现有技术相比具有如下优点:

本申请实施例提供的一种大数据服务产品开发方法,包括:通过第一预设界面输出至少一个可供用户选择的容器化组件,每一容器化组件封装有一项与大数据服务相关的一个功能;确定用户选择的容器化组件,以及确定用户针对所选择的容器化组件设置的依赖关系;基于依赖关系,对用户选择的容器化组件进行拼装,得到大数据服务产品。通过此种方式,用户只需执行简单的选择操作和依赖定义,即可完成对大数据服务产品的开发,降低了大数据服务产品开发和容器化的门槛,使得一些非专业人员和初学入门人员也能够方便地进行大数据服务产品开发,使得大数据服务产品开发和容器化更易实现,提高了大数据服务产品开发和容器化的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请实施例示出的一种大数据服务产品开发系统的示意图。

图2是根据一示例性实施例示出的一种数据服务产品开发方法的流程图。

图3是根据一示例性实施例示出的一种第一预设界面的示意图。

图4是根据一示例性实施例示出的一种第二预设界面的示意图。

图5是根据一示例性实施例示出的一种第三预设界面的示意图。

图6是根据一示例性实施例示出的一种第二预设界面的示意图。

图7是根据一示例性实施例示出的一种第五预设界面的示意图。

图8是根据一示例性实施例示出的一种大数据服务产品开发装置的示意图。

图9是根据一示例性实施例示出的一种电子设备的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

随着云原生产业进程的加速,从基于裸的Kubernetes集群进行容器的编排调度逐渐演变为采用以Rancher为代表的容器管理平台进行容器的编排调度。以Rancher为代表的容器管理平台是基于Kubernetes和Docker的全栈化容器部署与管理平台,主要以CI/CD、微服务治理为主,其应用开发以Helm包管理工具的标准进行定义。

虽然采用上述方式,提高了开发人员对裸Kubernetes、Swarm等集群的应用效率,但是依然对开发人员的容器化技术要求门槛较高,并且没有对作为云原生产业应用维度的大数据应用这一细分领域进行场景化支持,开发者需要提前定义好如MySQL等基础组件,还需要花费大量精力定义和维护Hive、HBase、Spark等大数据开源组件,才能更好的开发大数据服务组件,使得大数据服务产品的开发、测试、运维效率较低。

为了进一步提高大数据服务产品开发和容器化的效率,降低大数据服务产品开发和容器化的门槛,本申请实施例提供了一种用于对大数据服务产品容器化的开发、测试、部署、运维管理等全生命周期进行管理的大数据服务产品开发系统,以及大数据服务产品开发方法。

参见图1,为本申请实施例提供的一种大数据服务产品开发系统的示意图,如图1所示,该系统可以包括:基础设施管理模块101、应用管理模块102、产品管理模块103、空间管理模块104和运维管理模块105。

其中,基础设施管理模块101主要用于注册和纳管容器集群,并将容器集群提供给应用管理模块102、产品管理模块103、空间管理模块104和运维管理模块105等模块,以供大数据服务产品的开发、测试、部署使用。

作为一个实施例,基础设施管理模块101包括多个子模块,不同的子模块用于对不同的容器资源进行注册和纳管。

以图1为例,基础设施管理模块101包括第一资源管理子模块1011、第二资源管理子模块1012、第三资源管理子模块1013和第四资源管理子模块1014四个子模块。

其中,第一资源管理子模块1011,用于注册容器编排引擎集群资源,并对容器编排引擎集群资源进行纳管。作为一个实施例,容器编排引擎集群资源可以为Kubernetes集群资源,Kubernetes集群资源可以通过管理员导入CA证书注册到第一资源管理子模块1011进行纳管。

第二资源管理子模块1012,用于注册镜像仓库资源,并对所述镜像仓库资源进行纳管。作为一个实施例,镜像仓库资源为Docker镜像仓库,通过仓库用户名与密码注册到第二资源管理子模块1012进行纳管。

第三资源管理子模块1013,用于注册文件存储资源,并对文件存储资源进行纳管。作为一个实施例,文件存储资源为NFS文件存储资源,通过资源绑定的方式注册到第三资源管理子模块1013中进行纳管。

第四资源管理子模块1014,用于注册对象存储资源,并对对象存储资源进行纳管。作为一个实施例,对象存储资源通过资源绑定的方式注册到第四资源管理子模块1014中进行纳管。

应用管理模块102,用于管理多个容器化组件,每个容器化组件封装有大数据服务相关的一个功能。

作为一个实施例,应用管理模块102中的容器化组件包括大数据服务所依赖的容器化后的基础组件、大数据开源组件、大数据服务组件等。

作为一个实施例,应用管理模块102主要包括基础组件管理子模块1021和组件开发子模块1022。其中,基础组件管理子模块1021用于管理系统内置的比较通用的容器化组件,比如通用的基础组件、大数据开源组件、大数据服务组件,这些组件通常不需更改,直接开箱即用,可以直接在后面的产品管理模块使用。例如基础组件包括MySQL、Redis、RocketMQ、MongoDB等大数据服务所依赖的基础关系型数据库、中间件等组件,大数据开源组件包括Hive、HBase、Spark、Kafka、Flink、Zookeeper、Flume等查询分析引擎、计算引擎、消息队列相关的大数据开源生态组件,大数据服务组件包括数据采集、数据集成、数据管理、流计算、BI等大数据开发服务类的组件。组件开发子模块1022则用于根据用户的需求接入自定义的容器化组件。

作为一个实施例,组件开发子模块1022,包括多个预置的组件配置项和镜像输入控件,其中,组件配置项基于Kubernetes的容器化定义标准设置,例如组件配置项包括定义负载类型配置项、依赖关系配置项、镜像名称与标签配置项、资源配置项、存储配置项、启动配置项、端口设置项和健康检查项中的一个或多个。组件开发子模块1022基于组件配置项和镜像输入控件采用向导式的方式,引导用户进行容器化组件接入,用户基于镜像输入控件输入镜像文件,并基于组件配置项输入相应的配置信息,然后组件开发子模块1022根据用户输入的镜像文件和配置信息生成容器化组件,其中镜像文件可以是线下构建好的。

作为一个实施例,组件开发子模块1022还支持对容器化组件进行二次开发,如基于原有的Spark组件,对已有容器化组件进行二次开发,升级为服务用户业务场景下的高版本组件。在对容器化组件进行二次开发时,用户输入的镜像文件可以是对从系统中下载的需要进行二次开发的容器化组件的镜像文件,然后对镜像文件根据需求进行重构后,生成的新的镜像文件,将新的镜像文件通过镜像输入控件进行输入,从而使组件开发子模块1022基于新的镜像文件对容器化组件进行二次开发。

产品管理模块103,用于基于应用管理模块102中的容器化组件构建大数据服务产品。主要为根据不同的产品版本、不同的需求场景将基础组件、大数据开源组件、大数据服务组件等灵活的组装为特定的产品形态。比如针对大数据批处理场景创建的大数据服务产品需要大数据服务组件中的数据采集、数据集成、数据管理、数据服务和可视化BI组件,大数据开源组件中的Hive、Spark、Elasticsearch、Zookeeper等组件,以及基础组件的MySQL、Redis等组件,所以在针对大数据批处理场景进行大数据服务产品开发时,基于产品管理模块103的画布新建子模块1031、拖拽子模块1032、依赖定义子模块1033和拼装子模块1034,应用本申请实施例提供的大数据服务产品开发方法,将以上容器化组件拼装,从而生成一款应用于大数据批处理场景的,容器化的大数据服务产品。进一步的,对拼装好的大数据服务产品进行产品联调测试,待测试通过后发布到产品管理模块103的产品中心。

作为一个实施例,产品管理模块103可以采用下述方式构建大数据服务产品:通过画布新建子模块1031新建画布,通过拖拽子模块1032将用户选取的容器化组件新增到画布中,通过依赖定义子模块1033为画布中的容器化组件定义依赖关系,然后通过拼装子模块1034基于容器化组件的依赖关系对画布中的容器化组件进行拼装。

进一步的,产品管理模块103还可以对已有大数据服务产品的版本进行升级,对已有大数据服务产品进行升级时,可以通过产品管理模块103中的产品复制子模块1035自动新建一个显示有待升级的大数据服务产品包含的容器化组件以及容器化组件之间的依赖关系的画布,然后通过拖拽子模块1032根据用户的操作在画布中新增或删除容器化组件,通过依赖定义子模块1033为画布中的容器化组件定义新的依赖关系,通过拼装子模块1034对画布中的容器化组件重新进行拼装,生成新的大数据服务产品。在新的大数据服务产品通过测试后,将其发布为高版本产品,至此完成对大数据服务产品的升级。进一步的,还可以为新的大数据服务产品定义新版本号,以便于对产品进行区分。

空间管理模块104,主要负责根据用户的操作创建空间,并对创建的空间进行管理,从而解决应用管理模块102、产品管理模块103中的容器化组件、产品的运行态实例运行在哪个环境下的问题。其中空间可以为存储空间、产品部署空间、生产空间或测试空间等。所谓空间即逻辑上隔离的资源主体,用来分别调度运行各种实例。本系统中的空间通过既定规则管理容器化组件或大数据服务产品的运行实例分别运行在不同的空间下,既定规则主要遵循容器化组件或大数据服务产品在生产环境下使用生产空间、在测试环境使用测试空间等,每个环境下设子空间,每个子空间每次运行一个实例,保证各个子空间下的各个应用资源隔离,弹性伸缩。空间管理模块104可以灵活地对大数据服务产品使用的资源进行灵活管理,以做到资源隔离。

运维管理模块105,主要用于对部署后的大数据服务产品的实例进行全生命周期的维护,以解决产品安装部署后运行态的各种大数据服务的全生命周期管理。这里,管理维度从产品维度下沉到Kubernetes的每个运行的最小实例维度,全生命周期包括部署、启动、停止、重启、升级、回滚、配置热更新、灰度发布。

在实践中,运维管理模块105中首先会通过部署功能以容器化组件、大数据服务产品为单位进行测试环境部署、生产环境部署,并且部署的时候可以与空间管理模块104进行联动,将资源灵活部署到对应的资源空间下面。

其次容器服务管理的启停、重启、升级、回滚、灰度发布都以组件、产品维度进行管理,用户基于本系统进行灵活便捷的操作即可实现。

再次大数据服务产品在运行过程中,随着业务量的不断变化,需要大量的配置调优工作,而本系统的热更新配置能够将容器化组件定义时的参数抽象到系统中进行统一管理,继而实现热更新。

本申请实施例提供的大数据服务产品开发系统面向大数据服务,结合云原生Kubernetes集群,定义了从容器生态的基础设施管理功能到容器化组件定义功能,再通过自由拼装形成大数据服务产品以及产品部署上线后的运维管理功能,从而解决大数据服务产品基于云原生场景的优势,实现了内置容器化组件可以开箱即用,自定义容器化组件接入简单,容器化组件和大数据服务产品进行版本化管理,并提供部署运维管理功能。

参见图2,为本申请实施例提供的一种大数据服务产品开发方法的流程图,该方法可以应用于图1所示的系统,如图2所示,该方法包括如下步骤:

S21.通过第一预设界面输出至少一个可供用户选择的容器化组件,每一容器化组件封装有一项与大数据服务相关的功能。

通过上述描述可知,容器化组件存储于应用管理模块中,每一容器化组件封装有一项与大数据服务相关的功能。

作为一个实施例,系统可以输出一个第一预设界面,第一预设界面上可以包括应用管理模块中的多个容器化组件的标识(比如名称),例如图3所示,为第一预设界面的示意图。其中包括基础组件、大数据开源组件、大数据服务组件。进一步的,基础组件包括但不限于MySQL、Redis、RocketMQ、MongoDB等大数据服务所依赖的基础关系型数据库、中间件等组件,大数据开源组件包括但不限于Hive、HBase、Spark、Kafka等查询分析引擎、计算引擎、消息队列相关的大数据开源生态组件,大数据服务组件包括但不限于数据采集、数据集成、数据管理等大数据开发服务类的组件。

作为一个实施例,容器化组件可由用户基于图1所示系统中应用管理模块的组件开发子模块开发得到。至于具体是如何开发的,在下文中说明,这里先不详述。

S22.确定用户选择的容器化组件,以及确定用户针对所选择的容器化组件设置的依赖关系。

作为一个实施例,在执行S22之前,可以先接收大数据服务产品开发指令,在接收到大数据服务产品开发指令后,系统输出第二预设界面,其中第二预设界面可以与第一预设界面并排展示,例如图4所示,为第二预设界面的示意图。基于图1所示例的系统,第二预设界面的功能可基于产品管理模块实现。

作为一个实施例,产品管理模块中设置有用于新建画布的画布新建子模块。在该实施例中,作为一个可选的实现方式,第二预设界面中可以设置有与画布新建子模块对应的画布新建按钮,用户可以通过点击该画布新建按钮来实现调用画布新建子模块,从而实现新建第一画布。这也就是说,当检测到画布新建按钮被触发时,确定接收到大数据服务开发指令,从而在第二预设界面中新建第一画布。优选的第一画布为空白画布。

作为一个实施例,产品管理模块中还设置有拖拽子模块,因此,用户可以根据需求通过拖拽第一预设界面中一个或多个容器化组件的标识来选择容器化组件。基于此,确定用户选择的容器化组件包括:接收用户针对第一预设界面输出的至少一个容器化组件的拖拽指令,基于拖拽指令,在第一画布上显示至少一个容器化组件,其中,拖拽指令对应的容器化组件即为用户选择的容器化组件。

进一步的,产品管理模块中还设置有依赖定义子模块。

作为一个实施例,第二预设界面包含与依赖定义子模块对应的子界面(下称第三预设界面),第三预设界面被设置为当画布中的容器化组件被选中后显示,并且,第三预设界面中包括第一控件,第一控件用于设置所选择的容器化组件的被依赖方。

作为一个实施例,第一控件可以为输入控件、选择控件(例如带下拉菜单的选择控件)。

其中,若第一控件为选择控件,则可以包括至少一个选项,这里,选项对应第一画布中除所选择的容器化组件之外的其他容器化组件。用户可以通过点选其中至少一个选项来选择所选容器化组件的被依赖方。基于此,当检测到第一控件中的选项被触发时,将被触发的选项确定为所选容器化组件的被依赖方。

基于上述描述,本发明实施例中,当检测到针对第一画布上显示的容器化组件的触发操作时,输出第三预设界面,基于用户对第一控件的设置操作,确定用户针对所选择的容器化组件设置的依赖关系。

作为一个实施例,第三预设界面可以在第二预设界面中悬浮显示,例如图5所示,第一画布中设置有数据管理、数据集成和数据采集三个容器化组件,当选中数据集成这一容器化组件后,在第二预设界面上悬浮显示第三预设界面,第三预设界面的第一控件中,包括数据管理和数据采集两个选项,通过用户对第一控件中选项的点选操作设置数据集成这一容器化组件的被依赖方。

进一步的,在确定容器化组件的依赖关系后,可以在第一画布中创建具有依赖关系的容器化组件之间的连线,连线的箭头端指向被依赖方,无箭头端指向依赖方,例如图6所示,第一画布中包括数据管理、数据集成和数据采集三个容器化组件,其中,数据集成和数据采集这两个容器化组件均为依赖方,均依赖数据管理这一容器化组件,也即数据管理这一容器化组件为数据集成和数据采集这两个容器化组件的被依赖方。

作为另一个实施例,第三预设界面中还包括至少一个第二控件,每一第二控件对应一项组件参数。通过至少一个第二控件,可接收用户针对所选择的容器化组件设置的组件参数。其中组件参数包括但不限于容器化组件版本号、大数据服务产品名称、网络参数(比如路由方式、路径、端口、租户标识、项目标识、资源限制)等。由此可见,通过第二控件,用户可将容器化组件设置的更符合实际需求。

S23.基于依赖关系,对用户选择的容器化组件进行拼装,得到大数据服务产品。

作为一个实施例,产品管理模块中还包括拼装子模块。基于此,可以通过拼装子模块基于依赖关系对第一画布中的容器化组件进行拼装,从而得到大数据服务产品。

此外,作为一个实施例,在得到大数据服务产品之后,还可以对大数据服务产品进行测试。在测试通过后,再将大数据服务产品进行发布。

作为一个实施例,系统中的空间管理模块用于对空间进行管理。为了实现资源隔离,在对大数据服务产品进行测试时,可以从空间管理模块中选择一个空闲的测试空间对大数据服务产品进行测试。

基于上述描述,作为一个可选的实现方式,第二预设界面中可以设置测试按钮,用户可以通过点击测试按钮来触发大数据服务产品测试流程。这也就是说,当检测到测试按钮被触发后,确定接收到大数据服务产品测试指令,然后基于测试指令从空间管理模块中确定一个当前处于可用状态的测试空间,然后基于确定的测试空间对大数据服务产品进行测试,在测试通过后,将大数据服务产品进行发布。

作为一个实施例,在确定一个当前处于可用状态的测试空间时,可以从已创建的测试空间中确定出一个当前处于可用状态的测试空间,也可以通过第四预设界面中新建一个测试空间。

作为一个实施例,第二预设界面中可以设置有空间新建按钮,在空间新建按钮被触发后确定接收到测试空间创建指令,此时输出第四预设界面,第四预设界面包括至少一个第三控件,每一第三控件对应一项测试空间参数,通过至少一个第三控件,接收用户设置的测试空间参数,根据用户设置的测试空间参数,创建测试空间。其中测试空间参数可以包括空间名称等参数。

本申请实施例提供的大数据服务产品开发方法,通过第一预设界面输出至少一个可供用户选择的容器化组件,每一容器化组件封装有一项与大数据服务相关的功能,确定用户选择的容器化组件,以及确定用户针对所选择的容器化组件设置的依赖关系,基于依赖关系,对用户选择的容器化组件进行拼装,得到大数据服务产品。通过此种方式,用户只需执行简单的选择操作和依赖定义,即可完成对大数据服务产品的开发,降低了大数据服务产品开发和容器化的门槛,使得一些非专业人员和初学入门人员也能够方便地进行大数据服务产品开发,使得大数据服务产品开发和容器化更易实现,提高了大数据服务产品开发和容器化的效率。

在本申请另一实施例中,在上述实施例的基础上,大数据服务产品开发方法还包括:开发容器化组件。

作为一个实施例,可以采用下述方式开发容器化组件:

接收组件开发指令,输出第五预设界面,第五预设界面上包括至少一个组件配置项和镜像输入控件,确定用户针对至少一个组件配置项配置的配置信息,以及确定用户通过所述镜像输入控件输入的镜像文件,基于配置信息和镜像文件生成容器化组件。

其中,组件配置项可以包括资源配置项、存储配置项、启动配置项、应用配置项、端口设置项、健康检查项等,例如图7所示,第五预设界面中设置有镜像输入控件、资源配置项、存储配置项、启动配置项、应用配置项、端口设置项和健康检查项。

其中,开发容器化组件可以为新创建容器化组件,也可以为对已有容器化组件进行更新。若是新创建容器化组件,则用户输入的镜像文件可以是用户根据实际需求在线下新构建的镜像;若是对已有容器化组件进行更新,则用户输入的镜像文件可以采用下述方式设置镜像文件:从系统中现在需要更新的容器化组件的镜像文件,根据实际需求对下载的镜像文件进行修改,从而得到新的镜像文件,然后将新的镜像文件通过镜像输入控件进行上传。

本实施例可以对容器化组件进行自定义,以便可以构建符合用户需求的大数据服务产品。

在本申请又一实施例中,在上述任一实施例的基础上,大数据服务产品开发方法还包括:对已有大数据服务产品进行更新。

具体的,作为一个可选的实现方式,当检测到针对任一已有大数据服务产品的触发操作时,在第二预设界面中新建第二画布,在第二画布中显示目标大数据服务产品包含的容器化组件以及容器化组件之间的依赖关系,目标大数据服务产品为所述触发操作对应的大数据服务产品,当检测到针对第二画布上显示的容器化组件和/或容器化组件之间依赖关系的编辑操作时,更新目标大数据服务产品。

其中,对第二画布中的容器化组件和/或容器化组件之间依赖关系的编辑操作,与在第一画布中新建大数据服务产品的方式类似,此处不再赘述。

本实施例通过对已有大数据服务产品进行更新,避免了从头新建大数据服务产品,提高大数据服务产品开发的效率。

参见图8,为本申请实施例提供的一种大数据服务产品开发装置的示意图,如图8所示,该装置可以包括:

输出模块801,用于通过第一预设界面输出至少一个可供用户选择的容器化组件,每一容器化组件封装有一项与大数据服务相关的功能;

组件设置模块802,用于确定用户选择的容器化组件,以及确定用户针对所选择的容器化组件设置的依赖关系;

拼装模块803,用于基于依赖关系,对用户选择的容器化组件进行拼装,得到大数据服务产品。

作为一个实施例,上述装置还可以包括(图8中未示出):

画布新建模块,用于接收大数据服务产品开发指令,在第二预设界面中新建第一画布;

组件设置模块802,具体用于:

接收用户针对第一预设界面输出的至少一个容器化组件的拖拽指令;

基于拖拽指令,在第一画布上显示至少一个容器化组件。

作为一个实施例,组件设置模块802,具体用于:

当检测到针对第一画布上显示的容器化组件的触发操作时,输出第三预设界面,第三预设界面中包括第一控件,第一控件用于设置容器化组件的被依赖方;

基于用户对第一控件的设置操作,确定用户针对所选择的容器化组件设置的依赖关系。

作为一个实施例,第三预设界面中还包括至少一个第二控件,每一第二控件对应一项组件参数;

上述装置还可以包括(图8中未示出):

组件设置模块,用于通过至少一个第二控件,接收用户针对所选择的容器化组件设置的组件参数。

作为一个实施例,上述装置还可以包括(图8中未示出):

产品升级模块,用于当检测到针对任一大数据服务产品的触发操作时,在第二预设界面中新建第二画布;

在第二画布中显示目标大数据服务产品包含的容器化组件以及容器化组件之间的依赖关系,目标大数据服务产品为触发操作对应的大数据服务产品;

当检测到针对第二画布上显示的容器化组件和/或容器化组件之间依赖关系的编辑操作时,更新目标大数据服务产品。

作为一个实施例,上述装置还可以包括(图8中未示出):

测试模块,用于接收大数据服务产品测试指令,确定一个当前处于可用状态的测试空间;基于确定的测试空间对大数据服务产品进行测试;在测试通过后,将大数据服务产品进行发布。

作为一个实施例,确定一个当前处于可用状态的测试空间,包括:

从已创建的测试空间中确定出一个当前处于可用状态的测试空间;

或,

接收测试空间创建指令,输出第四预设界面,第四预设界面包括至少一个第三控件,每一第三控件对应一项测试空间参数,通过至少一个第三控件,接收用户设置的测试空间参数;根据用户设置的测试空间参数,创建测试空间。

作为一个实施例,上述装置还可以包括(图8中未示出):

组件开发模块,用于接收组件开发指令,输出第五预设界面,第五预设界面上包括至少一个组件配置项和镜像输入控件,确定用户针对至少一个组件配置项配置的配置信息,以及确定用户通过镜像输入控件输入的镜像文件,基于配置信息和镜像文件生成容器化组件。

请参阅图9,图9是本申请的另一实施例提供的一种电子设备的结构示意图。

如图9所示,电子设备90包括至少一个处理器901、以及与处理器连接的至少一个存储器902、总线903;其中,处理器901、存储器902通过总线903完成相互间的通信;处理器901用于调用存储器902中的程序指令,以执行上述的大数据服务产品开发方法。本文中的电子设备90可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

通过第一预设界面输出至少一个可供用户选择的容器化组件,每一所述容器化组件封装有一项与大数据服务相关的功能;

确定用户选择的容器化组件,以及确定所述用户针对所选择的所述容器化组件设置的依赖关系;

基于所述依赖关系,对所述用户选择的所述容器化组件进行拼装,得到大数据服务产品。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号