一种集群的加密方法及装置与流程

文档序号:28274304发布日期:2021-12-31 20:27阅读:56来源:国知局
一种集群的加密方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及一种集群的加密方法及装置。


背景技术:

2.目前一些传统的数据库比如mysql数据库,都是支持多账号多密钥的,但是也存在一些数据库比如redis数据库是不支持账号,只支持一个密钥的。redis是一个高性能的开源的内存型key

value数据库,有着较高的读写性能,支持多种数据类型。由于redis的内存和每秒查询率(queries

per

second,qps)都是有限的,所以目前提出采用codis将redis集群化。集群化之后,codis集群可以支持更多的业务。但是由于redis加密机制中只支持一个密钥,导致redis加密之后,codis集群中的管理组件也需要配置redis的密钥,才能使得业务通过管理组件正常访问redis。并且redis加密之后,每一个连接redis的业务也都需要重新启动之后才能够继续访问redis数据库。所以redis加密之后,不仅需要codis集群自身配置密钥,还需要每一个连接的业务进行重启,耗时较长,影响集群正常提供服务。


技术实现要素:

3.本技术实施例提供了一种集群的加密方法及装置,用以解决相关技术中,集群加密后需要重启集群,重启时间较长影响用户使用的问题。
4.第一方面,本技术实施例提供的了一种集群的加密方法,包括:
5.在启动针对第一数据库集群的业务访问的密钥机制时,根据第一配置文件创建支持所述业务访问的第二数据库集群的管理组件,所述第一配置文件包括用于执行所述业务访问的密钥;
6.通过所述管理组件在所述第二数据库集群中创建第一数据库,所述第一数据库的访问密钥为所述密钥,所述第一数据库在所述第二数据库集群中的地址与所述第一数据库集群中备份数据库的地址相同;
7.将所述第一数据库集群中备份数据库的数据迁移至所述第一数据库;
8.将所述第一数据库集群的多个业务访问服务逐个进行升级,其中,完成升级的业务访问服务支持访问所述第一数据库,未完成升级的业务访问服务支持访问所述第一数据库集群中的主数据库;
9.在完成所述多个业务访问服务的升级后,将所述第一数据库作为主数据库,并在所述第二数据库集群创建所述第一数据库的备份数据库;所述第一数据库的备份数据库的访问密钥为所述密钥,所述第二数据库集群中的备份数据库与所述第一数据库集群中的主数据库的地址相同。
10.基于上述方案,在需要对第一数据库集群进行加密时,会进行创建第二数据库集群,第二数据库集群的主数据库的地址与第一数据库集群的备份数据库的地址相同,第二数据库集群的备份数据库的地址与第一数据库集群的主数据库的地址相同。所以并不需要新的存储地址,而是还利用原有的存储地址,避免了新建数据库集群带来的资源浪费。并且
在创建新的数据库集群的过程中为其中的管理组件和数据库都配置上了访问密钥,不再需要配置密钥后重启数据库集群,缩短了时间。另外,相对于现有技术逐个为访问业务配置密钥,所有业务都配置完成后才能够重新访问数据库集群的方案,本技术中采用业务升级的方式,升级完的业务通过配置的密钥访问新创建的数据库,未升级的业务访问旧的数据库,这样所有的业务都有可以访问的数据库,即使业务之间是串行的,也不会影响各项业务正常提供服务。
11.在一些实施例中,将所述第一数据库集群的多个业务访问服务逐个进行升级,包括:
12.根据第二配置文件创建第一业务访问服务;所述第二配置文件中包括所述密钥,所述第二配置文件中包括的所述第一业务访问服务的访问地址为所述第一数据库的地址;
13.其中,所述第一业务访问服务为所述多个业务访问服务中的任一个,所述第二配置文件中包括的所述密钥用于第一业务访问服务访问所述第一数据库。
14.基于上述方案,在业务升级的过程中为业务配置密钥,相比于现有技术中为业务配置密钥后重启的过程能够节省时间。
15.在一些实施例中,在通过所述管理组件在所述第二数据库集群中创建第一数据库之后,所述方法还包括:
16.将所述第一数据库的状态配置为可写状态;
17.在所述第二数据库集群创建所述第一数据库的备份数据库之后,所述方法还包括:
18.将所述第一数据库的备份数据库的状态配置为只读状态。
19.基于上述方案,创建第一数据库之后,将第一数据库配置可写,这样第一数据库就可以正常提供访问服务了。
20.在一些实施例中,在启动针对第一数据库集群的业务访问的密钥机制之前,所述方法还包括:
21.停止监控所述第一数据库集群的主数据库的访问状态,所述访问状态包括支持访问或者不支持访问;
22.在所述第二数据库集群创建所述第一数据库的备份数据库之后,所述方法还包括:
23.启动监控所述第一数据库的访问状态。
24.基于上述方案,在完成创建第二数据库集群之后,启动监控第一数据库的状态,这样在第一数据库出现故障无法正常提供访问服务时,可以由第一数据库的备份数据库代替第一数据库提供服务。
25.在一些实施例中,在将所述第一数据库集群中备份数据库的数据迁移至所述第一数据库之后,所述方法还包括:
26.将所述第一数据库集群中备份数据库删除;
27.在所述第二数据库集群创建所述第一数据库的备份数据库之后,所述方法还包括:
28.将所述第一数据库集群删除。
29.第二方面,本技术实施例提供了一种集群加密装置,
30.控制器,用于在启动针对第一数据库集群的业务访问的密钥机制时,根据第一配置文件创建支持所述业务访问的第二数据库集群的管理组件,所述第一配置文件包括用于执行所述业务访问的密钥;
31.所述管理组件,用于在所述第二数据库集群中创建第一数据库,所述第一数据库的访问密钥为所述密钥,所述第一数据库在所述第二数据库集群中的地址与所述第一数据库集群中备份数据库的地址相同;
32.所述管理组件,还用于将所述第一数据库集群中备份数据库的数据迁移至所述第一数据库;
33.所述控制器,还用于将所述第一数据库集群的多个业务访问服务逐个进行升级,其中,完成升级的业务访问服务支持访问所述第一数据库,未完成升级的业务访问服务支持访问所述第一数据库集群中的主数据库;
34.所述控制器,还用于在完成所述多个业务访问服务的升级后,将所述第一数据库作为主数据库;
35.所述管理组件,还用于在所述第二数据库集群创建所述第一数据库的备份数据库;所述第一数据库的备份数据库的访问密钥为所述密钥,所述第二数据库集群中的备份数据库与所述第一数据库集群中的主数据库的地址相同。
36.在一些实施例中,所述控制器,具体用于:
37.根据第二配置文件创建第一业务访问服务;所述第二配置文件中包括所述密钥,所述第二配置文件中包括的所述第一业务访问服务的访问地址为所述第一数据库的地址;
38.其中,所述第一业务访问服务为所述多个业务访问服务中的任一个,所述第二配置文件中包括的所述密钥用于第一业务访问服务访问所述第一数据库。
39.在一些实施例中,在所述管理组件创建第一数据库之后,所述控制器,还用于将所述第一数据库的状态配置为可写状态;
40.在所述管理组件创建所述第一数据库的备份数据库之后,所述控制器,还用于将所述第一数据库的备份数据库的状态配置为只读状态。
41.在一些实施例中,在启动针对第一数据库集群的业务访问的密钥机制之前,所述管理组件还用于:
42.停止监控所述第一数据库集群的主数据库的访问状态,所述访问状态包括支持访问或者不支持访问;
43.在创建所述第一数据库的备份数据库之后,所述管理组件,还用于:
44.启动监控所述第一数据库的访问状态。
45.在一些实施例中,在所述管理组件将所述第一数据库集群中备份数据库的数据迁移至所述第一数据库之后,所述控制器,还用于:
46.将所述第一数据库集群中备份数据库删除;
47.在所述管理组件创建所述第一数据库的备份数据库之后,所述控制器,还用于:
48.将所述第一数据库集群删除。
49.第三方面,本技术实施例提供了另一种集群加密装置,包括存储器以及处理器;
50.存储器,用于存储程序指令;
51.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面
的任一实现方式中的方法。
52.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述方法。
53.另外,第二方面至第四方面中任一种实现方式所带来的技术效果可参见第一方面不同实现方式所带来的技术效果,此处不再赘述。
附图说明
54.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
55.图1为本技术实施例提供的一种用于集群加密的系统的架构示意图;
56.图2为本技术实施例提供的一种codis集群的架构示意图;
57.图3为本技术实施例提供的一种集群的加密方法流程示意图;
58.图4为本技术实施例提供的一种用于显示sentinel组件的显示界面示意图;
59.图5为本技术实施例提供的一种用于创建数据库的显示界面示意图;
60.图6为本技术实施例提供的一种第一数据库创建完成后的显示界面示意图;
61.图7为本技术实施例提供的一种用于迁移数据的显示界面示意图;
62.图8为本技术实施例提供的一种第二数据库集群的显示界面示意图;
63.图9为本技术实施例提供的另一种集群的加密方法流程示意图;
64.图10为本技术实施例提供的一种用于实现集群加密的装置的结构示意图;
65.图11为本技术实施例提供的另一种用于实现集群加密的装置的结构示意图。
具体实施方式
66.为使本技术的目的、实施方式和优点更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
67.基于本技术描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术所附权利要求保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
68.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
69.现有的一些数据库集群无法支持动态配置密钥,需要运维人员手动配置密钥后重新启动后才能正常提供服务,并且访问该数据库集群的服务也需要被配置集群的访问密钥后重新访问集群,比较浪费时间。本技术提供了一种集群的加密方法,通过采用类似集群和访问集群的服务升级的方式来配置密钥,由此缩短了集群加密重启耗费的时间。需要说明的是,本技术提出的集群加密方案可以应用于多种不支持动态加密的集群中,后续为了便
于描述,以codis集群为例进行介绍。
70.首先,对本技术涉及的数据库和数据库集群进行介绍:
71.redis是一个开源的、高性能的键值对(key

value)数据库,有着非常高的读写能力。redis可以支持内存型存储,即将数据暂时存储到内存储器中。redis还可以支持持久化存储,即将数据存储到硬盘中,以防止数据丢失。由于单个redis的内存有限,无法存储更多的数据,所以相关技术中提出了将redis进行集群化,使得集群化后的redis可以存储更多的数据。
72.codis是一种redis的集群化方案,即codis为一个数据库集群,其中可以包含多个用于存储数据的redis。codis集群可以将用户需要存储的数据进行切分,存储到集群中包括的多个redis中。
73.为了便于理解申请的方案,可以参见图1,为本技术实施例提供的一种用于集群加密的系统架构示意图。
74.图1中示出的客户端,也可以称之为终端设备、移动台(mobile station,ms)、移动终端(mobile terminal,mt)等,是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,mid)、可穿戴设备,虚拟现实(virtual reality,vr)设备、增强现实(augmented reality,ar)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
75.图1中示出的服务端用于为客户端提供各种服务,服务端的功能可以由一个服务器来实现,也可以由服务器集群来实现。服务端可以包括用于接收客户端服务的业务层,还可以包括存储用于实现客户端请求的数据的存储集群(后续均以codis集群为例)。业务层可以接收来自客户端的请求,并根据请求的内容访问codis集群为客户端提供相应的服务。后续为了便于表述,将服务端中用于访问业务的各项服务简称为服务端业务。可选地,服务端业务可以直接访问codis集群,也可以通过linux虚拟服务器(linux virtual server,lvs)进行访问codis集群。
76.为了便于理解,参见图2,提供了一种codis集群的架构示意图。可选地,图2示出的codis集群可以部署在服务端的服务器中,或者也可以部署在与服务端的服务器相连接的服务器中。可选地,codis集群部署的服务器可以连接有显示屏,用于显示codis集群的管理界面,便于运维人员对codis集群进行管理。图2示出的codis集群中包括:
77.主数据库和备份数据库,可以理解为部署在codis集群中的redis。redis可以是以组(group)的形式部署于codis集群中,每个group中包括的主数据库和备份数据库的数量可以是相同的。为了实现codis集群的高可用性以及节约codis集群的资源,每一个group中可以包括一个主数据库和一个备份数据库。当然,一个group中也可以包括一个主数据库和多个备份数据库,本技术对此不作具体限定,并且本技术对于codis集群中包括的group的数量也不作具体限定。主数据库用于为服务端业务提供读写服务,当有数据写入主数据库中时,主数据库可以自动将写入的数据同步到备份数据库中。一般情况下,主数据库和备份
数据库中存储的数据是相同的。备份数据库的状态一般为只读状态,作为主数据库的一个备份,可以在主数据库出现故障无法提供访问服务时,将备份数据库的状态配置为可写状态代替主数据库提供访问服务。
78.代理(proxy)组件,用于接收待写入codis集群的数据,可以将数据进行切分后存储到上述多个group包括的多个主数据库中。一些实施例中,proxy组件可以根据不同的group的主数据库的存储资源来确定如何将切分后的数据进行存储,使得各个主数据库的负载均衡。比如,在codis集群第一次写入数据时,proxy可以根据待写入的数据的键值对中的键(key)将待写入数据划分为多个槽位(slot),比如可以采用crc32算法将对接收到的key进行计算,然后对1024取模,将得到的余数即为slot的数量。然后还可以进一步根据codis集群中包括的各个主数据库的存储空间将slot与多个主数据库建立映射关系,比如有1024个slot,其中前300分配到第一个主数据库中,300

600分配至第二个主数据库中
……
以此类推,在首次存储数据时为codis集群中的多个主数据库分配slot,并可以将slot和各个主数据库的映射关系进行存储,例如可以存储至codis集群的管理组件所在的服务器中。进一步地,proxy组件可以在后续存储数据时,根据上述映射关系,将切分后的数据存储到对应的slot中。
79.管理组件(dashboard):用于添加或者删除proxy组件、主数据库或者备份数据库。管理组件所在的服务器用于存储slot与codis集群中的各个主数据库之间的映射关系。管理组件还可以用于codis集群中数据的迁移。
80.可选地,一个codis集群中可以包括多个proxy组件,每个proxy组件在存储数据时,可以都采用管理组件所存储的映射关系。
81.codis管理界面(fe),用于提供codis集群的管理界面。可选地,多个codis集群可以共用一个管理界面。
82.哨兵(sentinel)组件,用于监控codis集群中的主数据库,在codis集群的主数据库发生故障,无法正常提供访问服务时,将与发生故障的主数据库对应的一个备份数据库升级为主数据库。即,将与发生故障的主数据库对应的备份数据库的状态配置为可写状态,代替发生故障的主数据库提供访问服务。
83.在一些实施例中,本技术实施例还为codis集群提供了一种外部存储,用于存储codis集群的元数据。例如可以提供一个独立于上述的codis集群的存储空间,该存储空间可以位于codis集群部署的服务器上。可选地,可以采用zookeeper、etcd或者fs提供该外部存储功能。
84.下面,对本技术实施例提供的集群加密方法进行介绍,该方法可以应用于图1示出的系统架构图的服务端的服务器中。后续将执行本技术提出的集群加密方法的服务端的服务器简称为服务端。由于本技术涉及的集群,比如codis集群是用于存储数据的,所以后续为了便于表述,将本技术涉及的集群称为数据库集群。另外,为了便于描述,后续以数据库集群中包括一对主数据库和备份数据库为例进行介绍,需要知道的是,数据库集群中可以包括多对主数据库和备份数据库。具体地,参见图3,为本技术实施例提供的一种集群的加密方法流程,包括:
85.301,服务端在启动针对第一数据库集群的业务访问的密钥机制时,创建支持业务访问的第二数据库集群的管理组件。
86.其中,在创建第二数据库集群的管理组件时,可以采用配置文件进行创建,为了便于区分,后续将用于创建第二数据库集群的管理组件的配置文件称为第一配置文件。需要说明是的,第一配置文件中包括用于执行业务访问的密钥。即,服务端业务在通过第二数据库集群的管理组件访问第二数据库集群时,需要上述第一配置文件中的密钥才可以进行访问。
87.作为一种举例,第一数据库集群的配置文件中可以不包括密钥,也就是说,服务端业务在访问第一数据库集群时不需要密钥就可以进行访问。作为另一种举例,第一数据库集群的配置文件中包括的密钥与第一配置文件中的密钥不相同,服务端业务在访问第一数据库集群和第二数据库集群时需要不同密钥。在这两种情况下,服务端都会启动创建支持业务访问的第二数据库集群。
88.302,服务端通过第二数据库集群的管理组件创建第一数据库。
89.其中,第一数据库的地址与第一数据库集群中的备份数据库的地址相同。服务端在创建第一数据库时,可以为第一数据库配置访问密钥,可选地,第一数据库的访问密钥与第二数据库集群中的管理组件的访问密钥可以是相同的。即,服务端业务在进行访问第一数据库时,需要通过密钥进行访问。
90.303,服务端将第一数据库集群中备份数据库的数据迁移至第一数据库。
91.可选地,服务端在创建与第一数据库集群的备份数据库地址相同的第一数据库之后,可以进一步将第一数据库集群的备份数据库中存储的数据迁移至第一数据库中。
92.304,服务端将访问第一数据库集群的多个服务端业务逐个进行升级。
93.作为一种举例,以多个服务端业务中的一个服务端业务为例介绍业务升级的过程。服务端可以首先通过配置文件创建新的服务端业务,后续为了便于描述,将该新的服务端业务称为第一服务端业务,将用于创建第一服务端业务的配置文件简称为第二配置文件。第二配置文件中包括的第一服务端业务的访问地址为第一数据库的地址。可选地,第二配置文件中包括第一数据库的访问密钥,用于第一服务端业务可以根据该密钥进行访问第一数据库。一种可能的情况下,与第一服务端业务对应的旧的服务端业务的配置文件中包括的访问地址可以为第一数据库集群中的主数据库的地址,并且,该旧的服务端业务的配置文件中不包括访问密钥,因为访问第一数据库集群的主数据库不需要密钥。
94.可选地,升级后的服务端业务就可以通过密钥进行访问第一数据库。由于多个服务端业务的升级是依次进行的,所以完成升级的服务端业务就可以进行访问第一数据库,未完成升级的服务端业务就可以进行访问第一数据库集群的主数据库。
95.305,在完成多个服务端业务的升级之后,服务端将第一数据库作为第二数据库集群的主数据库,并创建第一数据库的备份数据库。
96.可选地,服务端创建的第一数据库的备份数据的地址可以与第二数据库集群的备份数据库的地址相同。第一数据库的备份数据库的访问密钥与第一数据库的访问密钥可以是相同的。
97.由此,服务端完成了创建第二数据库集群,第二数据库集群的主数据库的地址与第一数据库集群的备份数据库的地址相同。第二数据库集群的备份数据库的地址与第一数据库集群的主数据库的地址相同。服务端并不需要新的存储地址,而是还利用原有的存储地址,避免了新建数据库集群带来的资源浪费。并且在创建新的数据库集群的过程中为其
中的管理组件和数据库都配置上了访问密钥,不再需要配置密钥后重启数据库集群,缩短了时间。另外,相对于现有技术逐个为服务端业务配置密钥,所有服务端业务都配置完成后才能够重新访问数据库集群的方案,本技术中采用服务端业务升级的方式,升级完的服务端业务通过配置的密钥访问新创建的数据库,未升级的服务端业务访问旧的数据库,这样所有的服务端业务都有可以访问的数据库,即使服务端业务之间是串行的,也不会有任何影响。
98.在一些实施例中,服务端在进行创建第二数据库的管理组件之前,可以先停止监控第一数据库集群的主数据库的访问状态。即停止监控第一数据库集群的主数据库是否发生故障,发生故障的数据库无法提供访问服务。可选地,可以是服务端的第一数据库集群的管理组件关闭用于监控第一数据库集群的主数据库的访问状态的sentinel组件。作为一种举例,第一数据库集群可以提供如图4所示的显示界面,图4所示的显示界面中包括了用于监控第一数据库集群的主数据库的sentinel组件,还包含控件401。第一数据库集群的管理组件可以响应于用户对于控件401的点选操作,关闭第一数据库集群的sentinel组件,使得sentinel组件不再监控第一数据库集群的主数据库的访问状态。
99.可选地,服务端在停止监控第一数据库集群的主数据库之后,可以启动创建第二数据库集群的管理组件、proxy组件和第一数据库。其中,创建管理组件和proxy组件可以是通过配置文件进行创建,具体可以参见上述图3中的步骤301。创建第一数据库的操作也可以是由第二数据库的管理组件来执行的。作为一种举例,第二数据库集群可以提供如图5所示的显示界面,图5所示的显示界面用于添加新的数据库到第二数据库集群中。界面中显示的group为第二数据库集群中的group,需要说明是的,group是一个虚拟的概念,第二数据库集群中的一对主数据库和备份数据库即为一个group。第二数据库集群的管理组件可以响应于用户在如图5所示的显示界面中输入第一数据库集群的备份数据库的地址的操作,将与第一数据库集群的备份数据库地址相同的第一数据库添加至第二数据库集群中。本技术对于具体将第一数据库添加至第二数据库集群中的哪一个group中不做限定,在图5中,以将第一数据库添加至group1为例。第二数据库集群的管理组件在将第一数据库添加至第二数据库集群中之后,还可以进一步在显示界面中显示如图6所示的显示界面。此时,由于新创建的第一数据库与第一数据库集群的备份数据库的地址相同,所以第一数据库与第一数据库集群的主数据库之间存在主从关系,所以可以从图6中看到第一数据库对应的主数据库的地址为第一数据库集群的主数据库的地址。
100.在一些实施例中,服务端在创建第一数据库之后,还可以将第一数据库集群的备份数据库中存储的数据迁移至第一数据库中。可选地,执行数据迁移操作的也可以是第二数据库集群的管理组件。作为一种举例,第二数据库集群可以提供如图7所示的显示界面。需要说明的是,slot是一个虚拟的概念,第一数据库集群的备份数据库可以包含多个slot,每个slot中存储有一部分数据。在执行数据迁移时,可以以slot为单位进行迁移,图7所示的显示界面就是用于迁移第一数据库集群的备份数据库中的slot。可选地,第二数据库集群的管理组件可以响应于用户在图7所示的显示界面中输入待迁移的slot,以及第一数据库集群所在的group的标识,例如group1,就可以将输入的slot迁移至第一数据库中。在一些实施例中,服务端在将第一数据库集群的备份数据库的数据迁移至第一数据库之后,还可以将第一数据库集群的备份数据库删除。
101.作为一种可选的方式,服务端在将第一数据库集群的备份数据库的数据迁移至第一数据库之后,还可以将第一数据库的状态配置为可写状态。由于第一数据库的地址和第一数据库集群的备份数据库的地址相同,而备份数据库的状态一般为只读状态,那么创建完成的第一数据库的状态可能为只读状态,所以在完成数据迁移之后,可以将第一数据库的状态配置为可写状态。可选地,在配置第一数据库的可写状态之后,还可以通过proxy组件进行简单的试写,例如运维人员可以向proxy下发一个存储指令,确定proxy可以将存储指令中包含的数据写入第一数据库。
102.在一些实施例中,服务端在将第一数据库的状态配置为可写状态之后,可以将访问第一数据库集群的多个服务端业务逐个进行升级,升级完成的服务端业务可以通过密钥访问第一数据库,未升级完成的服务端业务继续访问第一数据库集群的主数据库。可选地,在业务升级完成之后,服务端还可以断开第一数据库与第一数据库集群的主数据库之间的主从关系,并将第一数据库配置为第二数据库集群的主数据库。进一步地,服务端还可以为作为第二数据库集群的主数据库的第一数据库创建备份数据库,并为第一数据库的备份数据库配置访问密钥。可选地,第一数据库的备份数据的访问密钥和第一数据库的访问密钥可以相同。第一数据库的备份数据的地址与第一数据库集群的主数据库的地址相同,服务端还可以将第一数据库的备份数据库的状态配置为只读状态。在一些实施例中,服务端还可以将第一数据库中的数据复制到第一数据库的备份数据库中,以保证第一数据库与其备份数据库的数据相同,在第一数据库发生故障时,第一数据库的备份数据库可以代替第一数据库提供访问服务。至此,第二数据库集群创建完成。服务端还可以在第二数据库集群创建完成之后为第二数据库集群配置显示界面,例如可以参见图8所示的显示界面。需要说明的是,图8所示的显示界面是以第二数据库集群包括一个group,也就是一个主数据库和一个备份数据库为例进行介绍的。本技术对于第二数据库集群包括的group的数量不作具体限定。
103.在一些情况下,服务端完成创建第二数据库集群以及完成服务端业务的升级之后,可以将第一数据库集群删除。服务端还可以在创建第二数据库集群之后,为第二数据库集群配置sentinel组件,用于监控第二数据库集群的主数据库的访问状态,还用于在确定第二数据库集群的主数据库无法提供访问服务的情况下通过第二数据库集群的备份数据库提供访问服务。
104.下面,为了更进一步理解本技术的方案,参见图9,为本技术实施例提供的一种集群的加密方法流程图,包括:
105.901,在启动第一数据库集群的业务访问的密钥机制时,服务端停止监控第一数据库集群的主数据库的访问状态。
106.可选地,服务端可以关闭第一数据库集群的sentinel组件。
107.902,服务端创建第二数据库集群的管理组件。
108.可选地,服务端可以通过配置文件创建第二数据库集群的管理组件,配置文件中包括用于访问第二数据库集群的管理组件的密钥。
109.903,服务端创建第一数据库,并为第一数据库匹配值访问密钥。
110.第一数据库的地址与第一数据库集群的备份数据库的地址相同,第一数据库的访问密钥与第二数据集群的管理组件访问密钥相同。
111.904,服务端将第一数据库集群的备份数据库的数据迁移至第一数据库。
112.具体的是数据迁移过程可以参见上述实施例中的介绍,在此不再进行详述。
113.905,服务端将第一数据库的状态配置为可写状态。
114.906,服务端删除第一数据库集群的备份数据库。
115.907,服务端将访问第一数据集群的多个服务端业务逐个进行升级。
116.其中,升级完成的服务端业务访问第一数据库,未升级完成的服务端业务访问第一数据库集群的主数据库。
117.908,在服务端业务升级完成之后,服务端将第一数据库配置文件第二数据库集群的主数据库,为第一数据库创建备份数据库,并为创建的备份数据库配置访问密钥。
118.第一数据库的备份数据库的地址与第一数据集群的主数据库的地址相同,第一数据库的备份数据库的访问密钥与第一数据库的访问密钥相同。可选地,服务端还可以将第一数据库的备份数据库的状态配置为只读状态。
119.909,服务端将第一数据库中的数据复制到第一数据库的备份数据库中。
120.910,服务端将第一数据库集群删除。
121.911,服务端启动监控第二数据库集群的主数据库。
122.基于与上述方法的同一构思,参见图10,本技术实施例提供了一种用于实现集群加密的装置1000。装置1000能够执行上述方法中的各个步骤,为了避免重复,在此不再详述。装置1000包括控制器1001和管理组件1002:
123.控制器1001,用于在启动针对第一数据库集群的业务访问的密钥机制时,根据第一配置文件创建支持所述业务访问的第二数据库集群的管理组件1002,所述第一配置文件包括用于执行所述业务访问的密钥;
124.所述管理组件1002,用于在所述第二数据库集群中创建第一数据库,所述第一数据库的访问密钥为所述密钥,所述第一数据库在所述第二数据库集群中的地址与所述第一数据库集群中备份数据库的地址相同;
125.所述管理组件1002,还用于将所述第一数据库集群中备份数据库的数据迁移至所述第一数据库;
126.所述控制器1001,还用于将所述第一数据库集群的多个业务访问服务逐个进行升级,其中,完成升级的业务访问服务支持访问所述第一数据库,未完成升级的业务访问服务支持访问所述第一数据库集群中的主数据库;
127.所述控制器1001,还用于在完成所述多个业务访问服务的升级后,将所述第一数据库作为主数据库;
128.所述管理组件1002,还用于在所述第二数据库集群创建所述第一数据库的备份数据库;所述第一数据库的备份数据库的访问密钥为所述密钥,所述第二数据库集群中的备份数据库与所述第一数据库集群中的主数据库的地址相同。
129.在一些实施例中,所述控制器1001,具体用于:
130.根据第二配置文件创建第一业务访问服务;所述第二配置文件中包括所述密钥,所述第二配置文件中包括的所述第一业务访问服务的访问地址为所述第一数据库的地址;
131.其中,所述第一业务访问服务为所述多个业务访问服务中的任一个,所述第二配置文件中包括的所述密钥用于第一业务访问服务访问所述第一数据库。
132.在一些实施例中,在所述管理组件1002创建第一数据库之后,所述控制器1001,还用于将所述第一数据库的状态配置为可写状态;
133.在所述管理组件1002创建所述第一数据库的备份数据库之后,所述控制器1001,还用于将所述第一数据库的备份数据库的状态配置为只读状态。
134.在一些实施例中,在启动针对第一数据库集群的业务访问的密钥机制之前,所述管理组件1002还用于:
135.停止监控所述第一数据库集群的主数据库的访问状态,所述访问状态包括支持访问或者不支持访问;
136.在创建所述第一数据库的备份数据库之后,所述管理组件1002,还用于:
137.启动监控所述第一数据库的访问状态。
138.在一些实施例中,在所述管理组件1002将所述第一数据库集群中备份数据库的数据迁移至所述第一数据库之后,所述控制器1001,还用于:
139.将所述第一数据库集群中备份数据库删除;
140.在所述管理组件1002创建所述第一数据库的备份数据库之后,所述控制器1001,还用于:
141.将所述第一数据库集群删除。
142.本技术实施例还提供另一种用于集群加密的装置1100,参见图11所示,包括:
143.存储器1101以及处理器1102;
144.其中,存储器1101,用于存储程序指令。处理器1102,用于调用所述存储器1101中存储的程序指令,按照获得的程序执行上述实施例中提出的任一方法。例如,处理器1102可以用于实现上述图10中的控制器以及管理组件所实现的功能。
145.本技术实施例中不限定上述存储器1101和处理器1102之间的具体连接介质,比如总线,总线可以分为地址总线、数据总线、控制总线等。
146.在本技术实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
147.在本技术实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid

state drive,ssd)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random

access memory,ram)。存储器还可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
148.本技术实施例还提供一种计算机可读存储介质,包括程序代码,当程序代码在计算机上运行时,程序代码用于使计算机执行上述本技术实施例上述提供的方法的步骤。
149.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
150.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
151.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
152.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1