CN115883087A - 一种基于服务器集群的密钥更新方法、装置、设备及介质 - Google Patents
一种基于服务器集群的密钥更新方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115883087A CN115883087A CN202211650604.1A CN202211650604A CN115883087A CN 115883087 A CN115883087 A CN 115883087A CN 202211650604 A CN202211650604 A CN 202211650604A CN 115883087 A CN115883087 A CN 115883087A
- Authority
- CN
- China
- Prior art keywords
- key
- server cluster
- redis database
- target
- updating
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于服务器集群的密钥更新方法、装置、设备及介质。该方法包括:接收待存储的目标密钥;将所述目标密钥存储至Redis数据库中;根据所述Redis数据库对服务器集群进行密钥更新。如此,通过将目标密钥更新在Redis数据库,作为目标密钥的主本,并通过Redis数据库对服务器集群进行密钥更新,服务器集群中的各服务器通过Redis数据库中的目标密钥进行更新,作为目标密钥的副本,保证在某个服务器未实现同步更新的情况下,可以在Redis数据库中读取到目标密钥,保证提高服务器集群的密钥同步更新的实时性和有效性,避免因未更新密钥导致的数据处理失败的问题。
Description
技术领域
本申请涉及密钥更新技术领域,特别是涉及一种基于服务器集群的密钥更新方法、装置、设备及介质。
背景技术
随着科学技术的发展,数据传输可以实现各个系统之间的信息传输和交换,但是由于传统的数据传输未进行加密,可能会导致数据泄露的问题,因此为了保证传输的数据的安全性,一般会采用密钥进行加密。
目前,以服务器集群为例,服务集群中包括多个服务器,在数据交互过程中会通过读取本地存储的密钥对接收的加密数据进行解密,从而实现数据获取,同时为了保证传输的数据的安全性,一般会定期更换密钥,但是由于服务器集群包括多个服务器,可能会导致个别服务器未进行同步更新或更新失败,也可能会由于存在服务器处于维护阶段,无法实现密钥更新,从而导致服务器的数据处理失败的问题。
基于此,如何提高服务器集群的密钥同步更新的实时性和有效性,是本领域技术人员亟待解决的技术问题。
发明内容
基于上述问题,本申请提供了一种基于服务器集群的密钥更新方法、装置、设备及介质,以提高服务器集群的密钥同步更新的实时性和有效性。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供一种基于服务器集群的密钥更新方法,所述方法包括:
接收待存储的目标密钥;
将所述目标密钥存储至Redis数据库中;
根据所述Redis数据库对服务器集群进行密钥更新。
可选地,所述将所述目标密钥存储至Redis数据库中,包括:
根据所述目标密钥确定与所述目标密钥对应的目标键;
判断所述Redis数据库中是否存在与所述目标键对应的存储密钥;
若存在,则将所述存储密钥替换为所述目标密钥;
若不存在,则将所述目标密钥作为存储密钥进行存储。
可选地,所述根据所述Redis数据库对服务器集群进行密钥更新,包括;
根据所述Redis数据库确定与所述Redis数据库对应的多个服务器子集群;
将所述Redis数据库中存储的目标密钥同步到所述多个服务器子集群;
判断所述多个服务器子集群是否同步成功;
若同步成功,则完成对所述服务器集群的密钥更新。
可选地,所述方法还包括:
按照预设时间间隔,获取新的目标密钥,并通过所述Redis数据库将所述新的目标密钥更新到所述服务器集群中。
第二方面,本申请实施例提供一种基于服务器集群的密钥更新装置,所述装置包括:
接收模块,用于接收待存储的目标密钥;
存储模块,用于将所述目标密钥存储至Redis数据库中;
更新模块,用于根据所述Redis数据库对服务器集群进行密钥更新。
可选地,所述存储模块,包括:
目标键确定模块,用于根据所述目标密钥确定与所述目标密钥对应的目标键;
第一判断模块,用于判断所述Redis数据库中是否存在与所述目标键对应的存储密钥;
存储子模块,用于若存在,则将所述存储密钥替换为所述目标密钥;若不存在,则将所述目标密钥作为存储密钥进行存储。
可选地,所述更新模块,包括;
子集群确定模块,用于根据所述Redis数据库确定与所述Redis数据库对应的多个服务器子集群;
同步模块,用于将所述Redis数据库中存储的目标密钥同步到所述多个服务器子集群;
第二判断模块,用于判断所述多个服务器子集群是否同步成功;
更新子模块,用于若同步成功,则完成对所述服务器集群的密钥更新。
可选地,所述装置还包括:
定时更新模块,用于按照预设时间间隔,获取新的目标密钥,并通过所述Redis数据库将所述新的目标密钥更新到所述服务器集群中。
第三方面,本申请实施例提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面所述的基于服务器集群的密钥更新方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如第一方面所述的基于服务器集群的密钥更新方法。
相较于现有技术,本申请具有以下有益效果:本申请通过接收待存储的目标密钥;将所述目标密钥存储至Redis数据库中;根据所述Redis数据库对服务器集群进行密钥更新。其中,通过将目标密钥更新在Redis数据库,作为目标密钥的主本,并通过Redis数据库对服务器集群进行密钥更新,服务器集群中的各服务器通过Redis数据库中的目标密钥进行更新,作为目标密钥的副本,保证在某个服务器未实现同步更新的情况下,可以在Redis数据库中读取到目标密钥,保证提高服务器集群的密钥同步更新的实时性和有效性,避免因未更新密钥导致的数据处理失败的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于服务器集群的密钥更新方法的流程图;
图2为本申请实施例提供的一种基于服务器集群的密钥更新装置的结构示意图。
具体实施方式
正如前文描述,发明人在针对密钥更新的研究中发现,目前,以服务器集群为例,服务集群中包括多个服务器,在数据交互过程中会通过读取本地存储的密钥对接收的加密数据进行解密,从而实现数据获取,同时为了保证传输的数据的安全性,一般会定期更换密钥,但是由于服务器集群包括多个服务器,可能会导致个别服务器未进行同步更新或更新失败,也可能会由于存在服务器处于维护阶段,无法实现密钥更新,从而导致服务器的数据处理失败的问题。
为了解决上述问题,本申请实施例提供一种基于服务器集群的密钥更新方法、装置、设备及介质。该方法包括:接收待存储的目标密钥;将所述目标密钥存储至Redis数据库中;根据所述Redis数据库对服务器集群进行密钥更新。
如此,通过将目标密钥更新在Redis数据库,作为目标密钥的主本,并通过Redis数据库对服务器集群进行密钥更新,服务器集群中的各服务器通过Redis数据库中的目标密钥进行更新,作为目标密钥的副本,保证在某个服务器未实现同步更新的情况下,可以在Redis数据库中读取到目标密钥,保证提高服务器集群的密钥同步更新的实时性和有效性,避免因未更新密钥导致的数据处理失败的问题。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种基于服务器集群的密钥更新方法的流程图,结合图1所示,本申请实施例所提供的基于服务器集群的密钥更新方法,可以包括:
S101:接收待存储的目标密钥。
目标密钥意指由密钥设备生成的用于对服务器集群的密钥进行更新的密钥。
S102:将所述目标密钥存储至Redis数据库中。
Redis是一个键值(key-value)存储系统,其支持存储的value类型可以包括string(字符串)、list(链表)、set(集合)、zset(sorted set,有序集合)和hash(哈希类型),其中Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
需要说明的是,将目标密钥存储进Redis数据库作为主本,并由Redis对服务器集群执行密钥更新操作,可以提高服务器集群的密钥更新的效率,同时若存在未更新的服务器,也可以从Redis中调取主本(即存储在Redis数据库中的目标密钥)对接收的数据进行解密,并更新密钥。
S103:根据所述Redis数据库对服务器集群进行密钥更新。
需要说明的是,Redis支持主从同步,数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器,也即可以通过Redis对服务器集群进行密钥更新。这使得Redis可执行单层树复制,由于完全实现了发布/订阅机制,使得从数据库在任何地方同步时,可订阅一个频道并接收主服务器完整的消息发布记录。
本申请实施例所提供的基于服务器集群的密钥更新方法,通过接收待存储的目标密钥;将所述目标密钥存储至Redis数据库中;根据所述Redis数据库对服务器集群进行密钥更新。其中,通过将目标密钥更新在Redis数据库,作为目标密钥的主本,并通过Redis数据库对服务器集群进行密钥更新,服务器集群中的各服务器通过Redis数据库中的目标密钥进行更新,作为目标密钥的副本,保证在某个服务器未实现同步更新的情况下,可以在Redis数据库中读取到目标密钥,保证提高服务器集群的密钥同步更新的实时性和有效性,避免因未更新密钥导致的数据处理失败的问题。
基于上述实施例所述的基于服务器集群的密钥更新方法,为了进一步保证密钥的可靠性,所述方法还可以包括:
按照预设时间间隔,获取新的目标密钥,并通过所述Redis数据库将所述新的目标密钥更新到所述服务器集群中。
基于上述实施例所提供的基于服务器集群的密钥更新方法,为了进一步说明目标密钥存储至Redis数据库的过程,所述步骤S102具体可以包括:
步骤11:根据所述目标密钥确定与所述目标密钥对应的目标键;
步骤12:判断所述Redis数据库中是否存在与所述目标键对应的存储密钥;
步骤13:若存在,则将所述存储密钥替换为所述目标密钥;
步骤14:若不存在,则将所述目标密钥作为存储密钥进行存储。
其中,步骤11~14的序号仅用于区分不同步骤或区分不同步骤之间的时序关系,因此并未在附图中展示。
需要说明的是,以两个系统之间的交易为例,当A系统需要B系统进行密钥更新时,A系统的密钥设备可以生成新密钥,并发起密钥更新请求,B系统接收到密钥交换请求后,对请求报文进行解析并提取出新密钥,经处理后更新到B系统的Redis中。其中,Redis采用Key-Value形式存储数据,Key值标识了密钥名称和种类(每种密钥的Key值唯一,因此Redis中只会保留1条相应的Key-Value数据),Value值是经过处理后的密钥字符串。执行密钥更新操作时,当Redis中没有相应的Key-Value数据则新增,若已有则替换相应的Value值。
基于上述实施例所提供的基于服务器集群的密钥更新方法,作为一种可实现的实施方式,为了进一步说明根据所述Redis数据库对服务器集群进行密钥更新的过程,所述步骤S103,具体可以包括;
步骤21:根据所述Redis数据库确定与所述Redis数据库对应的多个服务器子集群;
步骤22:将所述Redis数据库中存储的目标密钥同步到所述多个服务器子集群;
步骤23:判断所述多个服务器子集群是否同步成功;
步骤24:若同步成功,则完成对所述服务器集群的密钥更新。
其中,服务器子集群意指服务器集群下的服务器。
起哄,服务器集群意指由至少两个服务器组成的集。
其中,步骤21~24的序号仅用于区分不同步骤或区分不同步骤之间的时序关系,因此并未在附图中展示。
需要说明的是,本实施例中使用Redis存储密钥主本,服务器本地配置文件存储密钥副本。在实际的交易中,可以优先从Redis中读取当前密钥,如果未取到则使用内存中已装载的密钥,若内存中也未装载密钥则从本地配置文件中读取并装入内存。当未从Redis中读取到密钥,还需要将内存中已装载的密钥写入Redis中,确保后续可从Redis中读取到。
当从Redis中读取到密钥,需要与内存中已装载的密钥进行比对,若相同则直接使用内存密钥,若不同则以Redis密钥替换并装入内存,同时更新到本地配置文件中,确保Redis、内存、本地配置中的密钥保持一致。
其中,密钥主本存储在Redis中,保留密钥副本存储在配置文件中做为备用,有效提升了密钥存储和使用的安全性和可靠性。同时,通过Redis同步密钥的新方式实时性更高,密钥更新完成后,服务集群的服务器可立即从Redis读取到最新密钥,因此,密钥的更新和同步期间对业务正常运行没有影响。
基于上述实施例提供的基于服务器集群的密钥更新方法,本申请实施例还提供一种基于服务器集群的密钥更新装置,参见图2,该图为本申请实施例提供的一种基于服务器集群的密钥更新装置的结构示意图,结合图2所示,所述装置200可以包括:
接收模块201,用于接收待存储的目标密钥;
存储模块202,用于将所述目标密钥存储至Redis数据库中;
更新模块203,用于根据所述Redis数据库对服务器集群进行密钥更新。
作为一种示例,所述存储模块202,包括:
目标键确定模块,用于根据所述目标密钥确定与所述目标密钥对应的目标键;
第一判断模块,用于判断所述Redis数据库中是否存在与所述目标键对应的存储密钥;
存储子模块,用于若存在,则将所述存储密钥替换为所述目标密钥;若不存在,则将所述目标密钥作为存储密钥进行存储。
作为一种示例,所述更新模块203,包括;
子集群确定模块,用于根据所述Redis数据库确定与所述Redis数据库对应的多个服务器子集群;
同步模块,用于将所述Redis数据库中存储的目标密钥同步到所述多个服务器子集群;
第二判断模块,用于判断所述多个服务器子集群是否同步成功;
更新子模块,用于若同步成功,则完成对所述服务器集群的密钥更新。
作为一种示例,所述装置200还包括:
定时更新模块,用于按照预设时间间隔,获取新的目标密钥,并通过所述Redis数据库将所述新的目标密钥更新到所述服务器集群中。
本申请实施例提供的基于服务器集群的密钥更新装置与上述实施例提供的基于服务器集群的密钥更新方法具有相同的有益效果,因此不再赘述。
本申请实施例还提供了对应的设备以及计算机存储介质,用于实现本申请实施例提供的方案。
其中,所述设备包括存储器和处理器,所述存储器用于存储指令或代码,所述处理器用于执行所述指令或代码,以使所述设备执行本申请任一实施例所述的基于服务器集群的密钥更新方法。
所述计算机存储介质中存储有代码,当所述代码被运行时,运行所述代码的设备实现本申请任一实施例所述的基于服务器集群的密钥更新方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例所提到的“第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于服务器集群的密钥更新方法,其特征在于,所述方法包括:
接收待存储的目标密钥;
将所述目标密钥存储至Redis数据库中;
根据所述Redis数据库对服务器集群进行密钥更新。
2.根据权利要求1所述的基于服务器集群的密钥更新方法,其特征在于,所述将所述目标密钥存储至Redis数据库中,包括:
根据所述目标密钥确定与所述目标密钥对应的目标键;
判断所述Redis数据库中是否存在与所述目标键对应的存储密钥;
若存在,则将所述存储密钥替换为所述目标密钥;
若不存在,则将所述目标密钥作为存储密钥进行存储。
3.根据权利要求1所述的基于服务器集群的密钥更新方法,其特征在于,所述根据所述Redis数据库对服务器集群进行密钥更新,包括;
根据所述Redis数据库确定与所述Redis数据库对应的多个服务器子集群;
将所述Redis数据库中存储的目标密钥同步到所述多个服务器子集群;
判断所述多个服务器子集群是否同步成功;
若同步成功,则完成对所述服务器集群的密钥更新。
4.根据权利要求1所述的基于服务器集群的密钥更新方法,其特征在于,所述方法还包括:
按照预设时间间隔,获取新的目标密钥,并通过所述Redis数据库将所述新的目标密钥更新到所述服务器集群中。
5.一种基于服务器集群的密钥更新装置,其特征在于,所述装置包括:
接收模块,用于接收待存储的目标密钥;
存储模块,用于将所述目标密钥存储至Redis数据库中;
更新模块,用于根据所述Redis数据库对服务器集群进行密钥更新。
6.根据权利要求5所述的基于服务器集群的密钥更新装置,其特征在于,所述存储模块,包括:
目标键确定模块,用于根据所述目标密钥确定与所述目标密钥对应的目标键;
第一判断模块,用于判断所述Redis数据库中是否存在与所述目标键对应的存储密钥;
存储子模块,用于若存在,则将所述存储密钥替换为所述目标密钥;若不存在,则将所述目标密钥作为存储密钥进行存储。
7.根据权利要求5所述的基于服务器集群的密钥更新装置,其特征在于,所述更新模块,包括;
子集群确定模块,用于根据所述Redis数据库确定与所述Redis数据库对应的多个服务器子集群;
同步模块,用于将所述Redis数据库中存储的目标密钥同步到所述多个服务器子集群;
第二判断模块,用于判断所述多个服务器子集群是否同步成功;
更新子模块,用于若同步成功,则完成对所述服务器集群的密钥更新。
8.根据权利要求5所述的基于服务器集群的密钥更新装置,其特征在于,所述装置还包括:
定时更新模块,用于按照预设时间间隔,获取新的目标密钥,并通过所述Redis数据库将所述新的目标密钥更新到所述服务器集群中。
9.一种计算机设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4任一项所述的基于服务器集群的密钥更新方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-4任一项所述的基于服务器集群的密钥更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211650604.1A CN115883087A (zh) | 2022-12-21 | 2022-12-21 | 一种基于服务器集群的密钥更新方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211650604.1A CN115883087A (zh) | 2022-12-21 | 2022-12-21 | 一种基于服务器集群的密钥更新方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883087A true CN115883087A (zh) | 2023-03-31 |
Family
ID=85755341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211650604.1A Pending CN115883087A (zh) | 2022-12-21 | 2022-12-21 | 一种基于服务器集群的密钥更新方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883087A (zh) |
-
2022
- 2022-12-21 CN CN202211650604.1A patent/CN115883087A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110430087B (zh) | 区块链热升级的架构设计与实现 | |
CN107294729B (zh) | 区块链中不同节点之间的通信方法及装置 | |
CN110569309A (zh) | 用于实现区块链的设备、方法、系统以及介质 | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN108228814A (zh) | 数据同步方法及装置 | |
CN111698315B (zh) | 针对区块的数据处理方法、数据处理装置及计算机设备 | |
CN110888858B (zh) | 数据库的操作方法和装置、存储介质、电子装置 | |
CN111597567B (zh) | 数据处理方法、装置、节点设备及存储介质 | |
CN110597918A (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN110730081B (zh) | 基于区块链网络的证书吊销方法、相关设备及介质 | |
CN112364049B (zh) | 数据同步脚本生成方法、系统、终端及存储介质 | |
US20240220224A1 (en) | Method for upgrading blockchain system, and terminal device | |
EP4357950A1 (en) | Device management method, system and apparatus | |
CN116723239B (zh) | 区块链数据的传输方法、装置、电子设备和可读介质 | |
CN112040015A (zh) | 一种共识节点列表生成方法及相关装置 | |
CN115883087A (zh) | 一种基于服务器集群的密钥更新方法、装置、设备及介质 | |
EP4318243A1 (en) | Data backup method and system, and related device | |
CN115086355A (zh) | 基于区块链的用户信息处理方法及装置 | |
CN117010889A (zh) | 数据处理方法、装置及设备、介质、产品 | |
CN113760519B (zh) | 分布式事务处理方法、装置、系统和电子设备 | |
CN114584326A (zh) | 区块链数据处理方法、装置、电子设备及存储介质 | |
US11409700B2 (en) | Method, electronic device and computer program product for snapshot replication | |
CN112947847B (zh) | 用于存储数据的方法、设备和计算机程序产品 | |
CN104809033B (zh) | 一种备份方法及系统 | |
CN113630445A (zh) | 一种基于区块链网络的数据存储方法及装置 |
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 |