首页 / 专利分类库 / 电通信技术 / 基于中间件的集群服务部署方法、装置和计算机设备

基于中间件的集群服务部署方法、装置和计算机设备

申请号 CN202410414062.0 申请日 2024-04-08 公开(公告)号 CN118018552A 公开(公告)日 2024-05-10
申请人 深圳竹云科技股份有限公司; 发明人 杨军; 曾强; 何涛; 谢坚; 曾明; 史晓婧; 吴世锋;
摘要 本 申请 涉及一种基于 中间件 的集群服务部署方法、装置、计算机设备、存储介质和 计算机程序 产品。所述方法包括:获取待部署的业务服务的业务服务数据,以及获取集群 服务器 ;集群服务器包括至少一个独立服务器;业务服务数据包括业务服务信息和业务服务部署数据包;根据业务服务部署数据包,将业务服务部署至集群服务器中;根据业务服务信息,分配部署至集群服务器中的各个业务服务的虚拟连接地址;确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系。采用本方法能够提高集群服务器的资源利用率。
权利要求

1.一种基于中间件的集群服务部署方法,其特征在于,所述方法包括:
获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
2.根据权利要求1所述的方法,其特征在于,在获取集群服务器之后,还包括:
获取每个独立服务器的服务器信息;
根据所述服务器信息,确定所述每个独立服务器的调用权重。
3.根据权利要求2所述的方法,其特征在于,所述根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中,包括:
针对任一业务服务,根据所述任一业务服务的业务服务信息,确定所述任一业务服务所需的服务器需求;
根据所述服务器需求,从所述集群服务器的独立服务器中,确定出目标独立服务器;
根据所述业务服务部署数据包,将所述业务服务部署至所述目标独立服务器中。
4.根据权利要求3所述的方法,其特征在于,在确定各个所述虚拟连接地址与对应业务服务的服务调用关系之后,还包括:
响应于对虚拟连接地址的访问需求,根据所述服务调用关系,确定所述虚拟连接地址对应的目标业务服务;
根据所述地址映射关系,确定所述目标业务服务对应的目标独立服务器;
根据所述调用权重,从所述目标独立服务器中确定出一个目标独立服务器,并将所述访问需求的访问信息转发至所述一个目标独立服务器中,使得所述一个目标独立服务器根据所述访问信息提供目标业务服务。
5.根据权利要求1所述的方法,其特征在于,所述获取待部署的业务服务的业务服务数据,包括:
获取待部署的业务服务的校验信息;
根据预设校验方式,对所述校验信息进行安全校验;
在所述安全校验通过的情况下,获取待部署的业务服务的业务服务数据。
6.根据权利要求1所述的方法,其特征在于,所述获取待部署的业务服务的业务服务数据,包括:
根据预设周期,从预设的业务服务库中,周期性获取所有业务服务的业务服务数据;
根据所述所有业务服务的业务服务数据,确定出待部署的业务服务;
从预设的业务服务库中,获取所述待部署的业务服务的业务服务数据。
7.一种基于中间件的集群服务部署装置,其特征在于,所述装置包括:
数据获取模,用于获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
服务部署模块,用于根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
地址分配模块,用于根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
关系确定模块,用于确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。

说明书全文

基于中间件的集群服务部署方法、装置和计算机设备

技术领域

[0001] 本申请涉及集群服务技术领域,特别是涉及一种基于中间件的集群服务部署方法、装置、计算机设备、存储介质和计算机程序产品。

背景技术

[0002] 软件研发和测试的过程,产品涉及多个服务时,为了进行功能的验证,需要对这些服务进行集群的部署验证。
[0003] 然而,常规的集群部署需要在各自独立的资源上进行部署,对资源的需求较大,对于中小团队或资源有限的团队来说较为困难。发明内容
[0004] 基于此,有必要针对上述技术问题,提供一种能够提高资源利用率的基于中间件的集群服务部署方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0005] 第一方面,本申请提供了一种基于中间件的集群服务部署方法,包括:
[0006] 获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
[0007] 根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
[0008] 根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
[0009] 确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
[0010] 在其中一个实施例中,在获取集群服务器之后,还包括:
[0011] 获取每个独立服务器的服务器信息;
[0012] 根据所述服务器信息,确定所述每个独立服务器的调用权重。
[0013] 在其中一个实施例中,所述根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中,包括:
[0014] 针对任一业务服务,根据所述任一业务服务的业务服务信息,确定所述任一业务服务所需的服务器需求;
[0015] 根据所述服务器需求,从所述集群服务器的独立服务器中,确定出目标独立服务器;
[0016] 根据所述业务服务部署数据包,将所述业务服务部署至所述目标独立服务器中。
[0017] 在其中一个实施例中,在确定各个所述虚拟连接地址与对应业务服务的服务调用关系之后,还包括:
[0018] 响应于对虚拟连接地址的访问需求,根据所述服务调用关系,确定所述虚拟连接地址对应的目标业务服务;
[0019] 根据所述地址映射关系,确定所述目标业务服务对应的目标独立服务器;
[0020] 根据所述调用权重,从所述目标独立服务器中确定出一个目标独立服务器,并将所述访问需求的访问信息转发至所述一个目标独立服务器中,使得所述一个目标独立服务器根据所述访问信息提供目标业务服务。
[0021] 在其中一个实施例中,所述获取待部署的业务服务的业务服务数据,包括:
[0022] 获取待部署的业务服务的校验信息;
[0023] 根据预设校验方式,对所述校验信息进行安全校验;
[0024] 在所述安全校验通过的情况下,获取待部署的业务服务的业务服务数据。
[0025] 在其中一个实施例中,所述获取待部署的业务服务的业务服务数据,包括:
[0026] 根据预设周期,从预设的业务服务库中,周期性获取所有业务服务的业务服务数据;
[0027] 根据所述所有业务服务的业务服务数据,确定出待部署的业务服务;
[0028] 从预设的业务服务库中,获取所述待部署的业务服务的业务服务数据。
[0029] 第二方面,本申请还提供了一种基于中间件的集群服务部署装置,包括:
[0030] 数据获取模,用于获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
[0031] 服务部署模块,用于根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
[0032] 地址分配模块,用于根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
[0033] 关系确定模块,用于确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
[0034] 第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0035] 获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
[0036] 根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
[0037] 根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
[0038] 确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
[0039] 第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0040] 获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
[0041] 根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
[0042] 根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
[0043] 确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
[0044] 第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0045] 获取待部署的业务服务的业务服务数据,以及获取集群服务器;所述集群服务器包括至少一个独立服务器;所述业务服务数据包括业务服务信息和业务服务部署数据包;
[0046] 根据所述业务服务部署数据包,将所述业务服务部署至所述集群服务器中;
[0047] 根据所述业务服务信息,分配部署至所述集群服务器中的各个所述业务服务的虚拟连接地址;
[0048] 确定各个所述虚拟连接地址与所述独立服务器的地址映射关系,以及确定各个所述虚拟连接地址与对应业务服务的服务调用关系。
[0049] 上述基于中间件的集群服务部署方法、装置、计算机设备、存储介质和计算机程序产品,首先,获取待部署的业务服务的业务服务数据,以及获取集群服务器,其中,集群服务器包括至少一个独立服务器,业务服务数据包括业务服务信息和业务服务部署数据包,通过获取业务服务和集群服务器的必要信息,能够了解待部署的业务服务的详细信息以及可用的集群服务器;然后,根据业务服务部署数据包,将业务服务部署至集群服务器中,通过在至少一个独立服务器上部署多个业务服务,提高了资源利用率,同时实现对业务服务的高效部署;接着,根据业务服务信息,分配部署至集群服务器中的各个业务服务的虚拟连接地址,使得外部访问每个业务服务是通过对应的虚拟连接地址完成,而不是直接连接至集群服务器中,给集群服务器的负载均衡提供前置的访问分发处理,提高对集群服务器的资源利用率;最后,确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系,通过确定地址映射关系和服务调用关系,确保了对业务服务的访问请求能够正确地路由到相应的集群服务器,以提高集群服务器的利用率和负载均衡效果。上述方法中,通过在至少一个独立服务器上部署多个业务服务,有效提高了集群服务器的资源利用率。然后,通过分配虚拟连接地址、建立地址映射关系和确定服务调用关系,优化了整体负载均衡效果,确保了请求能够被正确分发到不同的业务服务上。附图说明
[0050] 为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051] 图1为一个实施例中基于中间件的集群服务部署方法的应用环境图;
[0052] 图2为一个实施例中基于中间件的集群服务部署方法的流程示意图;
[0053] 图3为另一个实施例中基于中间件的集群服务部署方法的流程示意图;
[0054] 图4为一个实施例中基于中间件的集群服务部署装置的结构框图
[0055] 图5为一个实施例中计算机设备的内部结构图。

具体实施方式

[0056] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0057] 本申请实施例提供的基于中间件的集群服务部署方法,可以应用于如图1所示的应用环境中。其中,中间件102通过网络与集群服务器104进行通信。数据存储系统可以存储集群服务器104需要处理的数据。数据存储系统可以集成在集群服务器104上,也可以放在上或其他网络服务器上。中间件102获取待部署的业务服务的业务服务数据,以及获取集群服务器104,其中,集群服务器包括至少一个独立服务器,业务服务数据包括业务服务信息和业务服务部署数据包;然后,中间件102根据业务服务部署数据包,将业务服务部署至集群服务器104中;中间件102根据业务服务信息,分配部署至集群服务器104中的各个业务服务的虚拟连接地址;中间件102确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系。其中,中间件102可以是一种终端,也可以是一种服务器,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0058] 在一个示例性的实施例中,如图2所示,提供了一种基于中间件的集群服务部署方法,以该方法应用于图1中的中间件102为例进行说明,该方法包括以下步骤:
[0059] 步骤S201,获取待部署的业务服务的业务服务数据,以及获取集群服务器。
[0060] 其中,集群服务器包括至少一个独立服务器;业务服务数据包括业务服务信息和业务服务部署数据包。
[0061] 示例性地,中间件102通过读取业务服务的配置文件、元数据或从版本控制系统中获取有关待部署的业务服务的基本信息,包括业务服务信息和业务服务部署数据包,业务服务信息包含服务名称、版本号、依赖关系等,业务服务部署数据包包含启动脚本、配置文件、依赖库等。然后,中间件102通过用户预先配置的信息中,获取集群服务器104的基本信息,包括服务器地址、操作系统、可用资源等。并通过服务器地址,与集群服务器104建立通信连接。其中,业务服务可以包括不同的业务软件提供的服务,以及业务软件的不同功能。
[0062] 步骤S202,根据业务服务部署数据包,将业务服务部署至集群服务器中。
[0063] 示例性地,中间件102将业务服务部署数据包解压至集群服务器104的指定目录,准备部署所需的文件和目录结构。中间件102根据业务服务的运行要求,配置集群服务器104的环境,包括设置环境变量、安装依赖库、调整系统配置等。然后,中间件102启动在集群服务器104上已配置的业务服务,确保服务正常运行。后续,中间件102实时监测业务服务的运行状况,确保业务服务在部署后处于健康状态,并在发现异常情况时,进行容错处理。
[0064] 步骤S203,根据业务服务信息,分配部署至集群服务器中的各个业务服务的虚拟连接地址。
[0065] 示例性地,中间件102获取用户预设的虚拟连接地址分配范围,然后中间件102给每个已部署的业务服务分配各自对应的虚拟连接地址,其中包括虚拟IP地址和端口号。通过虚拟IP地址和端口号的组合,可以共同确定唯一对应的业务服务。后续外部环境可以通过虚拟连接地址,访问到对应的业务服务中。
[0066] 步骤S204,确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系。
[0067] 示例性地,中间件102建立虚拟连接地址与独立服务器地址的映射关系表,确保每个虚拟连接地址都有对应的物理服务器,具体可以通过配置文件、服务注册中心等方式进行管理。中间件102还建立虚拟连接地址与对应业务服务的服务调用关系表,确保每个虚拟连接地址都正确指向相应的业务服务。使得中间件102可以在运行时根据集群服务器的实时状态,分配对业务服务的访问需求。
[0068] 上述基于中间件的集群服务部署方法中,首先,获取待部署的业务服务的业务服务数据,以及获取集群服务器,其中,集群服务器包括至少一个独立服务器,业务服务数据包括业务服务信息和业务服务部署数据包,通过获取业务服务和集群服务器的必要信息,能够了解待部署的业务服务的详细信息以及可用的集群服务器;然后,根据业务服务部署数据包,将业务服务部署至集群服务器中,通过在至少一个独立服务器上部署多个业务服务,提高了资源利用率,同时实现对业务服务的高效部署;接着,根据业务服务信息,分配部署至集群服务器中的各个业务服务的虚拟连接地址,使得外部访问每个业务服务是通过对应的虚拟连接地址完成,而不是直接连接至集群服务器中,给集群服务器的负载均衡提供前置的访问分发处理,提高对集群服务器的资源利用率;最后,确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系,通过确定地址映射关系和服务调用关系,确保了对业务服务的访问请求能够正确地路由到相应的集群服务器,以提高集群服务器的利用率和负载均衡效果。上述方法中,通过在至少一个独立服务器上部署多个业务服务,有效提高了集群服务器的资源利用率。然后,通过分配虚拟连接地址、建立地址映射关系和确定服务调用关系,优化了整体负载均衡效果,确保了请求能够被正确分发到不同的业务服务上。
[0069] 在一个示例性的实施例中,在上述步骤S201获取集群服务器之后,还包括:获取每个独立服务器的服务器信息;根据服务器信息,确定每个独立服务器的调用权重。
[0070] 示例性地,中间件在获取集群服务器的基础上,进一步获取每个独立服务器的详细信息,具体包括服务器的硬件配置、可用资源等。然后,中间件根据获取的服务器信息,确定每个独立服务器的调用权重,以反映服务器的性能和负载情况,具体可以制定权重计算规则,可以基于硬件指标的百分比、服务器的响应时间等来确定调用权重。后续中间件在对业务服务进行独立服务器的分配处理时,可以基于调用权重进行动态分配。
[0071] 本实施例中,通过获取详细的服务器信息,能够全面了解每个独立服务器的硬件配置和可用资源,并进一步确定每个独立服务器的调用权重,从而能够根据服务器的性能,优化负载均衡处理,提高集群服务器在不同负载下的稳定性和可用性。
[0072] 在一个示例性的实施例中,上述步骤S202根据业务服务部署数据包,将业务服务部署至集群服务器中,还包括:针对任一业务服务,根据任一业务服务的业务服务信息,确定任一业务服务所需的服务器需求;根据服务器需求,从集群服务器的独立服务器中,确定出目标独立服务器;根据业务服务部署数据包,将业务服务部署至目标独立服务器中。
[0073] 示例性地,针对任一业务服务,中间件根据该业务服务的业务服务信息,确定其所需的服务器资源,包括但不限于CPU、内存、存储等。可以是通过解析业务服务信息中的配置项,确定业务服务对服务器资源的需求,形成服务器需求规格,或者用户直接预设每个业务服务所部署的独立服务器数量。然后,中间件根据业务服务的服务器需求,在集群服务器的独立服务器中选择符合条件的目标独立服务器,以确保满足业务服务的性能和资源需求。接着,中间件根据业务服务部署数据包,将业务服务部署至之前确定的目标独立服务器中,确保业务服务在集群中的正确运行,并启动业务服务。
[0074] 本实施例中,通过确定业务服务的服务器需求,能够更精确地匹配目标独立服务器,能够更好地分配业务服务,优化了资源利用率,提高了负载均衡的效果和性能。
[0075] 在一个示例性的实施例中,在上述步骤S204确定各个虚拟连接地址与对应业务服务的服务调用关系之后,还包括:响应于对虚拟连接地址的访问需求,根据服务调用关系,确定虚拟连接地址对应的目标业务服务;根据地址映射关系,确定目标业务服务对应的目标独立服务器;根据调用权重,从目标独立服务器中确定出一个目标独立服务器,并将访问需求的访问信息转发至一个目标独立服务器中,使得一个目标独立服务器根据访问信息提供目标业务服务。
[0076] 示例性地,中间件响应用户终端对虚拟连接地址的访问需求,中间件根据服务调用关系,确定虚拟连接地址对应的目标业务服务,即找到需要处理该请求的具体业务服务。然后,中间件利用地址映射关系,确定目标业务服务对应的目标独立服务器,即业务服务所在的物理节点。最后,中间件根据独立服务器的调用权重,从目标独立服务器中选择一个合适的服务器,并将访问需求的访问信息转发至该服务器。在目标独立服务器接收到访问需求后,根据访问信息确定所需的目标业务服务,提供对应的目标业务服务。举例说明对于调用权重的使用:每个业务服务均部署在全部独立服务器中,包括独立服务器1、独立服务器2和独立服务器3中,且三个独立服务器之间的调用权重分别是1、2和3;那么,中间件将任一访问需求转发至每个独立服务器的频率应该符合对应的权重,即每6次访问需求,1次被转发至独立服务器1,2次被转发至独立服务器2,3次被转发至独立服务器3。
[0077] 本实施例中,通过地址映射关系和服务调用关系,确保了能够准确路由请求到正确的目标业务服务和独立服务器。通过调用权重的考量,能够更合理地分配请求负载,提高了负载均衡的效果和性能,从而提高了整体的服务可用性,保障了业务服务的稳定运行。
[0078] 在一个示例性的实施例中,上述步骤S201获取待部署的业务服务的业务服务数据,还包括:获取待部署的业务服务的校验信息;根据预设校验方式,对校验信息进行安全校验;在安全校验通过的情况下,获取待部署的业务服务的业务服务数据。
[0079] 示例性地,用户在上传业务数据时,还会上传针对于业务数据的校验信息。中间件在获取业务服务数据的同时,首先获取业务服务的校验信息,包括数字签名、哈希值等用于验证配置文件完整性的信息。中间件根据预设的校验方式或预设的密钥,对获取到的校验信息进行安全校验,以验证业务服务数据的完整性和安全性。只有在安全校验通过的情况下,中间件才继续获取业务服务的详细数据。
[0080] 本实施例中,通过获取校验信息和进行安全校验,能够确保待部署的业务服务数据在传输过程中的完整性,确保了业务服务的数据文件未被篡改,提高了业务服务的安全性和可靠性。
[0081] 在一个示例性的实施例中,上述步骤S201获取待部署的业务服务的业务服务数据,还包括:根据预设周期,从预设的业务服务库中,周期性获取所有业务服务的业务服务数据;根据所有业务服务的业务服务数据,确定出待部署的业务服务;从预设的业务服务库中,获取待部署的业务服务的业务服务数据。
[0082] 示例性地,中间件根据预设的周期性任务,定期从预设的业务服务库中获取所有业务服务的最新数据。然后,根据获取到的所有业务服务的最新数据,筛选出符合部署条件的业务服务,即未部署的业务服务。在确定了待部署的业务服务后,中间件再次从预设的业务服务库中获取这些待部署的业务服务的详细数据。
[0083] 本实施例中,通过周期性获取所有业务服务的最新数据,能够保持对业务服务库中数据的及时更新,确保了获取的数据的时效性和准确性。通过根据最新数据确定出需要进行部署的业务服务,提高了对业务服务变更的敏感度,能够及时响应和处理变更。
[0084] 在另一个示例性的实施例中,如图3所示,本申请还提供了另一种基于中间件的集群服务部署方法,该方法包括以下步骤:
[0085] 步骤S301,根据预设周期,从预设的业务服务库中,周期性获取所有业务服务的业务服务数据。
[0086] 其中,业务服务数据包括业务服务信息和业务服务部署数据包。
[0087] 步骤S302,根据所有业务服务的业务服务数据,确定出待部署的业务服务。
[0088] 步骤S303,从预设的业务服务库中,获取待部署的业务服务的校验信息,并根据预设校验方式,对校验信息进行安全校验。
[0089] 步骤S304,在安全校验通过的情况下,从预设的业务服务库中,获取待部署的业务服务的业务服务数据。
[0090] 步骤S305,获取集群服务器以及每个独立服务器的服务器信息。
[0091] 其中,集群服务器包括至少一个独立服务器。
[0092] 步骤S306,根据服务器信息,确定每个独立服务器的调用权重。
[0093] 步骤S307,针对任一业务服务,根据任一业务服务的业务服务信息,确定任一业务服务所需的服务器需求。
[0094] 步骤S308,根据服务器需求,从集群服务器的独立服务器中,确定出目标独立服务器。
[0095] 步骤S309,根据业务服务部署数据包,将业务服务部署至目标独立服务器中。
[0096] 步骤S310,根据业务服务信息,分配部署至集群服务器中的各个业务服务的虚拟连接地址。
[0097] 步骤S311,确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系。
[0098] 步骤S312,响应于对虚拟连接地址的访问需求,根据服务调用关系,确定虚拟连接地址对应的目标业务服务。
[0099] 步骤S313,根据地址映射关系,确定目标业务服务对应的目标独立服务器。
[0100] 步骤S314,根据调用权重,从目标独立服务器中确定出一个目标独立服务器,并将访问需求的访问信息转发至一个目标独立服务器中,使得一个目标独立服务器根据访问信息提供目标业务服务。
[0101] 本实施例中,在任意资源场景下,特别是受限资源的开发场景下,可以部署多个的业务服务,减少了传统方式中一个业务服务对应一个服务器的硬件资源消耗,并且业务服务的部署发布可以快速安全的自动进行,节省集群建立的时间。
[0102] 应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0103] 基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的基于中间件的集群服务部署方法的基于中间件的集群服务部署装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于中间件的集群服务部署装置实施例中的具体限定可以参见上文中对于基于中间件的集群服务部署方法的限定,在此不再赘述。
[0104] 在一个示例性的实施例中,如图4所示,提供了一种基于中间件的集群服务部署装置,包括:数据获取模块401、服务部署模块402、地址分配模块403和关系确定模块404,其中:
[0105] 数据获取模块401,用于获取待部署的业务服务的业务服务数据,以及获取集群服务器;集群服务器包括至少一个独立服务器;业务服务数据包括业务服务信息和业务服务部署数据包;
[0106] 服务部署模块402,用于根据业务服务部署数据包,将业务服务部署至集群服务器中;
[0107] 地址分配模块403,用于根据业务服务信息,分配部署至集群服务器中的各个业务服务的虚拟连接地址;
[0108] 关系确定模块404,用于确定各个虚拟连接地址与独立服务器的地址映射关系,以及确定各个虚拟连接地址与对应业务服务的服务调用关系。
[0109] 在其中一个实施例中,上述基于中间件的集群服务部署装置还包括权重确定模块,用于获取每个独立服务器的服务器信息;根据服务器信息,确定每个独立服务器的调用权重。
[0110] 在其中一个实施例中,上述服务部署模块402,还用于针对任一业务服务,根据任一业务服务的业务服务信息,确定任一业务服务所需的服务器需求;根据服务器需求,从集群服务器的独立服务器中,确定出目标独立服务器;根据业务服务部署数据包,将业务服务部署至目标独立服务器中。
[0111] 在其中一个实施例中,上述基于中间件的集群服务部署装置还包括需求响应模块,用于响应于对虚拟连接地址的访问需求,根据服务调用关系,确定虚拟连接地址对应的目标业务服务;根据地址映射关系,确定目标业务服务对应的目标独立服务器;根据调用权重,从目标独立服务器中确定出一个目标独立服务器,并将访问需求的访问信息转发至一个目标独立服务器中,使得一个目标独立服务器根据访问信息提供目标业务服务。
[0112] 在其中一个实施例中,上述数据获取模块401,还用于获取待部署的业务服务的校验信息;根据预设校验方式,对校验信息进行安全校验;在安全校验通过的情况下,获取待部署的业务服务的业务服务数据。
[0113] 在其中一个实施例中,上述数据获取模块401,还用于根据预设周期,从预设的业务服务库中,周期性获取所有业务服务的业务服务数据;根据所有业务服务的业务服务数据,确定出待部署的业务服务;从预设的业务服务库中,获取待部署的业务服务的业务服务数据。
[0114] 上述基于中间件的集群服务部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0115] 在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于中间件的集群服务部署方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0116] 本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0117] 在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0118] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0119] 在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0120] 需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
[0121] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read‑Only Memory,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 Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算数据处理逻辑器等,不限于此。
[0122] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0123] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
QQ群二维码
意见反馈