CN108881231A - 一种集群系统中同步账户信息的方法、装置和存储介质 - Google Patents
一种集群系统中同步账户信息的方法、装置和存储介质 Download PDFInfo
- Publication number
- CN108881231A CN108881231A CN201810643630.9A CN201810643630A CN108881231A CN 108881231 A CN108881231 A CN 108881231A CN 201810643630 A CN201810643630 A CN 201810643630A CN 108881231 A CN108881231 A CN 108881231A
- Authority
- CN
- China
- Prior art keywords
- node
- group system
- account information
- information
- identification information
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种集群系统中同步账户信息的方法、装置和计算机可读存储介质,广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在目标区块中;其中,目标区块有其对应的标识信息;广播节点向集群系统的同步节点广播账户信息和标识信息,以便于同步节点可以依据账户信息和标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。集群系统中各节点存储的账户信息一致,在对用户身份进行验证时,各节点可以实现相同的功能,实现了节点的去中心化处理,避免了当前NIS服务中管理节点宕机或账户信息丢失,导致集群系统不可用情况的发生,有效提升了集群账户信息管理的健壮性和安全性。
Description
技术领域
本发明涉及集群系统技术领域,特别是涉及一种集群系统中同步账户信息的方法、装置和计算机可读存储介质。
背景技术
计算机集群在IT领域有着广泛的应用。比如在高性能计算/超级计算领域,所有的超级计算机都是由多个节点(服务器)通过网络的链接,并通过部署在其上的各种服务来协同各个节点一起完成计算任务。
在计算机集群中,有一个不可或缺的部分是用户登录认证系统。具体来说,集群系统中的每个节点都有自己的操作系统和该系统下的用户账户,对于任何一个用户来说,其能够访问(使用)某个节点的前提是该节点记录有该用户的账号信息。
对于Linux系统来说,用户的登录和认证是通过系统中的用户名和密码来实现的,具体来说,每个用户都有对应的用户名、密码、UID、GID等一系列信息,这些信息以明文的形式存储在相应的配置文件中。
对于集群系统特别是Linux集群来说,为了解决用户在各个节点上的登陆和认证问题,当前已经发展出了一些实用的方式。其中最为原始的方式就是在每个节点上分别创建该用户的账号。但是这种方式对于规模较大的集群,每个节点分别创建账号是不现实的。比如对于一个包含1000个节点的集群,完成创建一个账号就需求进行至少1000次操作。这对于集群管理是不能接受的。
对于高性能计算集群来说,现在较为通用的方式是使用网络信息服务(NetworkInformation Service,NIS)。NIS服务通过把集群中某个节点,通常是管理节点的账户信息进行同步,这样集群中同步节点上就不需要再单独创建账户,只需要通过部署NIS服务并访问管理节点上的账户信息,即可验证和授权用户登录和使用该节点。但是随着当前计算机集群的规模不断扩大,NIS服务的弊端也不断凸显。NIS服务最大的问题在于整个服务都依赖于管理节点上的ypserv服务,如果管理节点宕机,则整个集群将无法访问,服务的健壮性并不强。如果管理节点上的账户信息丢失且没有备份,则整个集群的账户信息将不可恢复,这对于一个较大规模的集群系统来说是不能接受的。
另外即使在多个节点上部署ypserv服务,但还是存在一个主ypserv服务,只有主ypserv服务正常时才能在集群系统中创建、管理用户的账户信息。由于整个集群的用户管理都依赖于NIS服务记录在管理节点上的用户信息,如果这些信息被黑客攻击或者恶意篡改,则整个集群的控制权就会丢失,会造成较大的损失。
可见,如何提升集群系统中账户信息管理的性能,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种集群系统中同步账户信息的方法、装置和计算机可读存储介质,可以提升集群系统中账户信息管理的性能。
为解决上述技术问题,本发明实施例提供一种集群系统中同步账户信息的方法,在集群系统的各节点上均部署BAM服务,所述方法包括:
广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播节点向集群系统的同步节点广播所述账户信息和所述标识信息,以便于同步节点依据所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
可选的,在所述广播节点向集群系统的同步节点广播所述账户信息和所述标识信息之前还包括:
所述广播节点向集群系统的同步节点广播所述目标区块的标识信息;
所述广播节点从所述集群系统中获取相应的响应结果,判断所述响应结果是否满足预设条件;其中,所述响应结果为同步节点将所述标识信息和自身节点中最新区块的标识信息进行比较得出的结果;
若否,所述广播节点则删除所述目标区块;
若是,所述广播节点则执行所述向集群系统的同步节点广播所述账户信息和所述标识信息的步骤。
可选的,在所述广播节点向集群系统的同步节点广播所述账户信息和所述标识信息之后还包括:
所述广播节点按照预设的周期时间向集群系统的同步节点广播验证请求和自身节点中最新区块的标识信息;
所述广播节点从所述集群系统中获取相应的验证结果,并依据预先设定的规则,执行所述验证结果相对应的操作;其中,所述验证结果为同步节点将所述标识信息和自身节点中相应区块的标识信息进行比较得出的结果。
可选的,所述依据预先设定的规则,执行所述验证结果相对应的操作包括:
所述广播节点判断所述验证结果是否满足第一预设要求;若是,则结束操作;若否,所述广播节点则判断所述验证结果是否满足第二预设要求;
当所述验证结果满足所述第二预设要求时,所述广播节点则从满足所述第二预设要求的验证结果所对应的节点中选取一个节点作为目标节点,并触发所述目标节点执行向所述集群系统的同步节点广播相应区块的账户信息和标识信息的步骤;
当所述验证结果不满足所述第二预设要求时,所述广播节点则从自身节点的区块链中删除相应的区块。
本发明实施例还提供了一种集群系统中同步账户信息的装置,在集群系统的各节点上均部署BAM服务,所述装置包括生成单元和广播单元;
所述生成单元,用于依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播单元,用于向集群系统的同步节点广播所述账户信息和所述标识信息,以便于同步节点依据所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
可选的,还包括判断单元和删除单元;
所述广播单元还用于向集群系统的同步节点广播所述目标区块的标识信息;
所述判断单元,用于从所述集群系统中获取相应的响应结果,判断所述响应结果是否满足预设条件;其中,所述响应结果为同步节点将所述标识信息和自身节点中最新区块的标识信息进行比较得出的结果;若否,则触发所述删除单元;若是,则触发所述广播单元执行所述向集群系统的同步节点广播所述账户信息和所述标识信息的步骤;
所述删除单元,用于删除所述目标区块。
可选的,还包括执行单元;
所述广播单元还用于按照预设的周期时间向集群系统的同步节点广播验证请求和自身节点中最新区块的标识信息;
所述执行单元,用于从所述集群系统中获取相应的验证结果,并依据预先设定的规则,执行所述验证结果相对应的操作;其中,所述验证结果为同步节点将所述标识信息和自身节点中相应区块的标识信息进行比较得出的结果。
可选的,所述执行单元包括第一判断子单元、第二判断子单元、选取子单元和删除子单元;
所述第一判断子单元,用于判断所述验证结果是否满足第一预设要求;若是,则结束操作;若否,则触发所述第二判断子单元;
所述第二判断子单元,用于判断所述验证结果是否满足第二预设要求;
所述选取子单元,用于当所述验证结果满足所述第二预设要求时,则从满足所述第二预设要求的验证结果所对应的节点中选取一个节点作为目标节点,并触发所述目标节点执行向所述集群系统的同步节点广播相应区块的账户信息和标识信息的步骤;
所述删除子单元,用于当所述验证结果不满足所述第二预设要求时,则从自身节点的区块链中删除相应的区块。
本发明实施例还提供了一种集群系统中同步账户信息的方法,在集群系统的各节点上均部署BAM服务,所述方法包括:
广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;向集群系统的同步节点广播所述账户信息和所述标识信息;
同步节点依据获取的所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
本发明实施例还提供了一种集群系统中同步账户信息的装置,在集群系统的各节点上均部署BAM服务,所述装置包括生成单元、广播单元和更新单元;
所述生成单元,用于依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播单元,用于向集群系统的同步节点广播所述账户信息和所述标识信息;
所述更新单元,用于依据获取的所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
本发明实施例还提供了一种集群系统中同步账户信息的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述集群系统中同步账户信息的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述集群系统中同步账户信息的方法的步骤。
由上述技术方案可以看出,广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在目标区块中;其中,目标区块有其对应的标识信息;广播节点向集群系统的同步节点广播账户信息和标识信息,以便于同步节点可以依据账户信息和标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。在该技术方案中,当某个节点上的账户信息发生变化时,则可以将该节点当作是广播节点,相应的,集群系统中除广播节点之外的剩余节点均当作是同步节点,广播节点通过向集群系统的同步节点广播账户信息和标识信息的方式,可以以便于各同步节点及时获知账户信息的变化,从而对自身节点的区块链进行更新,实现各节点账户信息的同步。集群系统中各节点存储的账户信息一致,在对用户身份进行验证时,各节点可以实现相同的功能,实现了节点的去中心化处理,避免了当前NIS服务中管理节点宕机或账户信息丢失,导致集群系统不可用情况的发生,有效提升了集群账户信息管理的健壮性和安全性。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种集群系统中同步账户信息的方法的流程图;
图2为本发明实施例提供的一种区块的区块信息结构示意图;
图3为本发明实施例提供的一种集群系统中区块链同步验证的方法的流程图;
图4为本发明实施例提供的一种集群系统中同步账户信息的装置的结构示意图;
图5为本发明实施例提供的一种集群系统中同步账户信息的装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种集群系统中同步账户信息的方法。图1为本发明实施例提供的一种集群系统中同步账户信息的方法的流程图,在集群系统的各节点上均部署BAM服务,该方法包括:
S101:广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在目标区块中;其中,目标区块有其对应的标识信息。
在集群系统的各节点上部署区块链账号管理(Blockchain Account Management,BAM)服务。每个节点上设置一个区块链,该区块链可以包括有多个区块,一个区块用于存储一个账号的相关信息。
在实际应用中,管理员可以在集群系统中的某个节点上添加、修改和删除用户的账户信息,具体的,管理员可以在节点上执行相应的指令信息,例如bamsync username命令。由于该节点上的区块链发生了变化,为了保证集群系统中各节点区块链的同步,该节点可以作为广播节点向集群系统中广播相应的信息,相应的,集群系统中除广播节点之外的其它节点则可以作为同步节点执行相应的操作。
由于区块链的特性,在区块链的之前区块中记录的用户的账户信息都不会被修改和删除,因此,当需要添加、修改或删除某用户的账户信息时,广播节点依据接收的指令信息,在自身节点的区块链上会生成一个新的区块,可以将该区块称作目标区块,在该目标区块中记录该用户的账户信息。其中,对于删除操作,会在新生成的区块中加入账户过期的标签。
账户信息可以是用于对用户登录身份进行验证的信息,可以包括用户名、密码、用户创建时间和失效时间、用户身份证明(User identification UID)、用户组身份证明(Group identification,GID)等信息。
为了便于区块的管理,每个区块都有设置相应的标识信息。
其中,标识信息可以包括区块编号即区块ID、前一个区块的哈希值(可以简称为前区块哈希值)和本区块的哈希值(可以简称为本区块哈希值)。
在实际应用中,可以采用数字表示区块编号,每生成一个新的区块,相应的区块编号增加1。例如,在一个区块链中包括有4个区块,区块编号依次为1-4,当生成第5个区块时,其对应的区块编号即为5。
不同区块的生成时间不同,在本发明实施例中可以针对每个区块设置一个时间戳。
在本发明实施例中,可以将一个区块中存储的所有信息称作区块信息,如图2所示,为一个区块的区块信息结构示意图,在该区块中可以存储有区块ID、时间戳、前区块哈希值、本区块哈希值和账户信息。
S102:广播节点向集群系统的同步节点广播账户信息和标识信息,以便于同步节点依据账户信息和标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
当广播节点上的账户信息发生变化时,为了保证各节点账户信息的同步,广播节点可以向集群系统的同步节点广播目标区块的账户信息和标识信息。
集群系统中各同步节点执行的工作类似,以一个同步节点为例,该同步节点可以依据获取的账户信息和标识信息,对自身节点的区块链进行更新。
具体的,同步节点可以依据获取的标识信息和自身节点中最新区块的标识信息进行匹配。其中,最新区块即为同步节点的区块链中生成时间最短的一个区块。
标识信息实现匹配后,同步节点则可以在自身区块的区块链中生成新的区块,并在该区块中存储获取的账户信息和标识信息。
依据上述对区块的标识信息的介绍可知,区块链上的各区块编号依据区块生成顺序依次增加,广播节点上新生成的目标区块的区块编号应该是同步节点中最新区块的区块编号加1,并且,目标区块中记录的前区块哈希值应该与同步节点中最新区块的本区块哈希值相同,当满足这两个条件时,则说明广播节点广播的标识信息与同步节点最新区块的标识信息实现了匹配,此时,同步节点可以依据获取的标识信息和账户信息,对自身节点的区块链进行更新,即在自身节点的区块链中生成新的区块,并在该区块中存储获取的账户信息和标识信息,以实现和广播节点中账户信息的同步。
需要说明的是,在本发明实施例中,集群系统中的各节点既可以向外广播信息,也可以获取集群系统中除自身节点之外的其它节点广播的信息,并执行相应的操作。
以两个节点为例,分别为节点1和节点2,节点1上的账户信息发生变化时,节点1可以向外广播相应的信息,相应的,节点2依据节点1广播的信息,实现与节点1上账户信息的同步。在该过程中,可以将节点1称作广播节点,节点2称作同步节点。同理,当节点2上的账户信息发生变化时,节点2可以向外广播相应的信息,此时节点2相当于是广播节点,相应的,节点1依据节点2广播的信息,实现与节点2上账户信息的同步,此时节点1相当于是同步节点。也即,在集群系统中每个节点既可以实现广播的功能,也可以实现同步的功能。
由上述技术方案可以看出,广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在目标区块中;其中,目标区块有其对应的标识信息;广播节点向集群系统的同步节点广播账户信息和标识信息,以便于同步节点可以依据账户信息和标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。在该技术方案中,当某个节点上的账户信息发生变化时,则可以将该节点当作是广播节点,相应的,集群系统中除广播节点之外的剩余节点均当作是同步节点,广播节点通过向集群系统的同步节点广播账户信息和标识信息的方式,可以以便于各同步节点及时获知账户信息的变化,从而对自身节点的区块链进行更新,实现各节点账户信息的同步。集群系统中各节点存储的账户信息一致,在对用户身份进行验证时,各节点可以实现相同的功能,实现了节点的去中心化处理,避免了当前NIS服务中管理节点宕机或账户信息丢失,导致集群系统不可用情况的发生,有效提升了集群账户信息管理的健壮性和安全性。
正常状态下,广播节点的账户信息发生变化后,可以直接将账户信息和存储该账户信息的区块的标识信息广播到集群系统中,以便于同步节点实现账户信息的同步。考虑到在实际应用中,广播节点上账户信息的变化可能是由于非管理人员的误操作或非法操作造成。为了保证广播的账户信息的可靠性和安全性,在本方实施例中,广播节点在生成新的目标区块后,可以先向集群系统的同步节点广播该目标区块的标识信息。
同步节点可以依据获取的标识信息和自身节点中最新区块的标识信息进行比较,并将比较得到的结果作为响应结果向集群系统中广播。
区块链上的各区块编号依据区块生成顺序依次增加,广播节点上新生成的目标区块的区块编号应该是同步节点中最新区块的区块编号加1,并且,目标区块中记录的前区块哈希值应该与同步节点中最新区块的本区块哈希值相同,当满足这两个条件时,则说明该标识信息与同步节点相应区块的标识信息相匹配,此时,同步节点可以向集群系统反馈携带有成功标识符的响应结果;相应的,当不满足这两个条件时,同步节点可以向集群系统反馈携带有失败标识符的响应结果。
在实际应用中,可以用数字“1”表示成功标识符,数字“0”表示失败标识符,当标识信息满足预设的标识要求时,同步节点可以向集群中反馈携带数字“1”的响应结果;当标识信息不满足预设的标识要求时,同步节点可以向集群中反馈携带数字“0”的响应结果。
相应的,广播节点依据获取的响应结果,判断响应结果是否满足预设条件。
集群系统中同步节点有多个,每个同步节点依据获取的标识信息,可以向集群系统反馈响应结果。相应的,广播节点获取到的响应结果有多个。结合上述响应结果的具体形式,该预设条件可以是判断所有响应结果中携带有成功标识符的响应结果是否占据多数。
在具体实现中,可以设定一个比例值,例如,可以将该比例值设定为2/3,当反馈的携带有成功标识符的响应结果的个数超过所有响应结果总数的2/3时,即响应结果满足预设条件,则说明该目标区块的账户信息和标识信息属于可靠的数据信息,此时广播节点可以执行向集群系统的同步节点广播目标区块的账户信息和标识信息的步骤。
当反馈的携带有成功标识符的响应结果的个数不超过所有响应结果总数的2/3时,也即验证结果不满足预设条件,则说明该目标区块的账户信息和标识信息属于不可靠的数据信息,此时广播节点可以删除目标区块。目标区块删除后,相应的存储在目标区块上的信息会被一并删除。
广播节点通过预先广播目标区块的标识信息,可以便于同步节点对该标识信息进行验证,保证了账户信息的安全性,可以有效避免广播节点广播错误的账户信息,对账户信息的同步造成的不良影响。并且,广播节点依据响应结果,可以将自身节点中存储的错误信息及时删除,保证了账户信息的可靠性。
当某个节点的区块链发生变化时,可以通过广播的方式,将目标区块的账户信息和标识信息广播给集群系统中的剩余节点即同步节点,由同步节点依据账户信息和标识信息,对自身节点的区块链进行更新。考虑到在实际应用中,节点可能会出现宕机或者是区块链上的信息被恶意修改又或者是节点属于新接入集群系统的节点等情况,导致该节点与集群系统中其它节点上的账户信息不同步,对此,在本发明实施例中,可以设置相应的验证过程。每个节点可以按照预设的周期时间向集群系统中广播验证请求和自身节点中最新区块的标识信息,并依据其它节点反馈的验证结果,判断自身节点的区块链是否已经同步到最新状态。接下来将以广播节点为例,对验证过程展开介绍。
S301:广播节点按照预设的周期时间向集群系统的同步节点广播验证请求和自身节点中最新区块的标识信息。
广播节点向集群系统的同步节点广播账户信息和标识信息之后,并不能确定自身节点的区块链和同步节点的区块链是否实现了同步。为了验证自身节点的区块链是否已经同步到最新状态,广播节点可以按照周期时间周期性的向集群系统的同步节点广播验证请求和自身节点中最新区块的标识信息。
其中,周期时间的具体取值可以依据实际需求进行设定,在此不做限定,当对区块链同步要求较高时,可以将周期时间设置的短一些;当对区块链同步要求较低时,可以将周期时间设置的长一些。例如,周期时间可以设置为1分钟。
为保证集群系统中各节点广播的有序性,对于各节点开始广播的时刻可以设置的不同。
同步节点获取到验证请求和标识信息后,依据该验证请求便可获知需要对广播节点的区块链和自身节点的区块链是否同步进行验证,此时,同步节点可以将获取的标识信息和自身节点最新区块的标识信息进行比较,判断标识信息与自身节点最新区块的标识信息是否一致。
当同步节点和广播节点的区块链实现了同步时,则广播节点广播的标识信息和同步节点最新区块的标识信息应该一致,此时,同步节点可以向集群系统中反馈携带有验证通过标识符的验证结果。
当同步节点和广播节点的区块链未实现同步时,则广播节点广播的标识信息和同步节点最新区块的标识信息不一致,此时,同步节点可以查询自身区块链中各区块的标识信息,判断获取的标识信息是否和自身区块链中某个时间比较久的区块的标识信息一致。
当同步节点获取的标识信息和自身区块链中某个时间比较久的区块的标识信息一致时,则说明广播节点与该同步节点中部分区块信息一致,此时,同步节点可以向集群系统中广播携带该标识信息的验证结果。
当同步节点获取的标识信息和自身区块链中各区块的标识信息都不一致时,同步节点可以向集群系统中广播携带有验证失败标识符的验证结果。
其中,标识信息不一致的原因有多种,可能是由于广播节点或该同步节点上的信息被恶意修改,或者是广播节点属于新加入集群系统的节点又或者是同步节点属于新加入集群系统的节点。
S302:广播节点从集群系统中获取相应的验证结果,并依据预先设定的规则,执行验证结果相对应的操作。
集群系统中同步节点有多个,每个同步节点依据获取的验证请求和标识信息,可以向集群系统反馈验证结果。相应的,广播节点获取到的验证结果有多个。各同步节点向集群系统中反馈的验证结果不尽相同,广播节点可以依据预先设定的规则,对所有的验证结果进行综合分析,并依据分析的结果执行相应的操作。
在具体实现中,广播节点可以先判断验证结果是否满足第一预设要求。
结合上述验证结果的具体形式,第一预设要求可以是判断所有验证结果中携带有验证通过标识符的验证结果是否占据多数。
在具体实现中,可以设定一个比例值,例如,可以将该比例值设定为2/3。为便于后续介绍,下面均以比例值设定为2/3为例展开说明。
当反馈的携带有验证通过标识符的验证结果的个数超过所有验证结果总数的2/3时,即验证结果满足第一预设要求,则说明该广播节点的区块链已经同步到最新状态,则可以结束本次操作。
当反馈的携带有验证通过标识符的验证结果的个数不超过所有验证结果总数的2/3时,也即验证结果不满足第一预设要求,此时广播节点可以进一步判断验证结果是否满足第二预设要求。
第二预设要求可以是判断所有验证结果中携带有标识信息的验证结果是否占据多数。
仍以比例值为2/3为例,具体的,可以判断同步节点反馈的携带有标识信息的验证结果的个数是否超过所有验证结果总数的2/3。
当反馈的携带有标识信息的验证结果的个数超过所有验证结果总数的2/3时,也即验证结果满足第二预设要求,则说明该广播节点可能由于宕机等原因,导致区块链信息的缺失。
为了保证广播节点与同步节点区块链的同步,此时广播节点可以从满足第二预设要求的验证结果所对应的节点中选取一个节点作为目标节点,并触发目标节点执行向集群系统的同步节点广播相应区块的账户信息和标识信息的步骤。
其中,目标节点可以向集群系统中广播该标识信息所在区块的下一个相邻区块的账户信息和标识信息。
目标节点广播账户信息和标识信息的过程可以参见S102的操作步骤,在此不再赘述。
目标节点每广播一次账户信息和标识信息,便可以执行S301-S302的操作实现对区块链同步的验证,直至各节点的区块链实现同步。
当反馈的携带有标识信息的验证结果的个数不超过所有验证结果总数的2/3时,也即验证结果不满足第二预设要求,说明该广播节点中的区块信息可能被恶意修改,或者是该广播节点属于新加入集群系统的节点,从而导致区块信息与集群中同步节点的区块信息不一致。针对该种情况,广播节点可以删除自身节点的区块链上的最新区块,然后重复执行上述S301-S302的操作,直至找到满足账户要求的同步节点,或者是该广播节点区块链上的所有区块都被删除为止。
各节点通过周期性广播的方式,可以保证节点间区块链的同步,避免了节点宕机重启后与同步节点区块链不同步的情况。并且针对于新加入集群的节点或者是被恶意修改账户信息的节点,可以及时删除不符合要求的区块信息,快速有效重建节点的区块信息,保证了各节点区块链的有效性。
图4为本发明实施例提供的一种集群系统中同步账户信息的装置的结构示意图,在集群系统的各节点上均部署BAM服务,装置包括生成单元41和广播单元42;
生成单元41,用于依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在目标区块中;其中,目标区块有其对应的标识信息;
广播单元42,用于向集群系统的同步节点广播账户信息和标识信息,以便于同步节点依据账户信息和标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
可选的,还包括判断单元和删除单元;
广播单元还用于向集群系统的同步节点广播目标区块的标识信息;
判断单元,用于从集群系统中获取相应的响应结果,判断响应结果是否满足预设条件;其中,响应结果为同步节点将标识信息和自身节点中最新区块的标识信息进行比较得出的结果;若否,则触发删除单元;若是,则触发广播单元执行向集群系统的同步节点广播账户信息和标识信息的步骤;
删除单元,用于删除目标区块。
可选的,还包括执行单元;
广播单元还用于按照预设的周期时间向集群系统的同步节点广播验证请求和自身节点中最新区块的标识信息;
执行单元,用于从集群系统中获取相应的验证结果,并依据预先设定的规则,执行验证结果相对应的操作;其中,验证结果为同步节点将标识信息和自身节点中相应区块的标识信息进行比较得出的结果。
可选的,执行单元包括第一判断子单元、第二判断子单元、选取子单元和删除子单元;
第一判断子单元,用于判断验证结果是否满足第一预设要求;若是,则结束操作;若否,则触发第二判断子单元;
第二判断子单元,用于判断验证结果是否满足第二预设要求;
选取子单元,用于当验证结果满足第二预设要求时,则从满足第二预设要求的验证结果所对应的节点中选取一个节点作为目标节点,并触发目标节点执行向集群系统的同步节点广播相应区块的账户信息和标识信息的步骤;
删除子单元,用于当验证结果不满足第二预设要求时,则从自身节点的区块链中删除相应的区块。
图4所对应实施例中特征的说明可以参见图1和图3所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在目标区块中;其中,目标区块有其对应的标识信息;广播节点向集群系统的同步节点广播账户信息和标识信息,以便于同步节点可以依据账户信息和标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。在该技术方案中,当某个节点上的账户信息发生变化时,则可以将该节点当作是广播节点,相应的,集群系统中除广播节点之外的剩余节点均当作是同步节点,广播节点通过向集群系统的同步节点广播账户信息和标识信息的方式,可以以便于各同步节点及时获知账户信息的变化,从而对自身节点的区块链进行更新,实现各节点账户信息的同步。集群系统中各节点存储的账户信息一致,在对用户身份进行验证时,各节点可以实现相同的功能,实现了节点的去中心化处理,避免了当前NIS服务中管理节点宕机或账户信息丢失,导致集群系统不可用情况的发生,有效提升了集群账户信息管理的健壮性和安全性。
本发明实施例还提供了一种集群系统中同步账户信息的装置,在集群系统的各节点上均部署BAM服务,所述装置包括生成单元、广播单元和更新单元;
所述生成单元,用于依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播单元,用于向集群系统的同步节点广播所述账户信息和所述标识信息;
所述更新单元,用于依据获取的所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
图5为本发明实施例提供的一种集群系统中同步账户信息的装置50的硬件结构示意图,包括:
存储器51,用于存储计算机程序;
处理器52,用于执行计算机程序以实现如上述集群系统中同步账户信息的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述集群系统中同步账户信息的方法的步骤。
以上对本发明实施例所提供的一种集群系统中同步账户信息的方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (10)
1.一种集群系统中同步账户信息的方法,其特征在于,在集群系统的各节点上均部署BAM服务,所述方法包括:
广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播节点向集群系统的同步节点广播所述账户信息和所述标识信息,以便于同步节点依据所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
2.根据权利要求1所述的方法,其特征在于,在所述广播节点向集群系统的同步节点广播所述账户信息和所述标识信息之前还包括:
所述广播节点向集群系统的同步节点广播所述目标区块的标识信息;
所述广播节点从所述集群系统中获取相应的响应结果,判断所述响应结果是否满足预设条件;其中,所述响应结果为同步节点将所述标识信息和自身节点中最新区块的标识信息进行比较得出的结果;
若否,所述广播节点则删除所述目标区块;
若是,所述广播节点则执行所述向集群系统的同步节点广播所述账户信息和所述标识信息的步骤。
3.根据权利要求1或2所述的方法,其特征在于,在所述广播节点向集群系统的同步节点广播所述账户信息和所述标识信息之后还包括:
所述广播节点按照预设的周期时间向集群系统的同步节点广播验证请求和自身节点中最新区块的标识信息;
所述广播节点从所述集群系统中获取相应的验证结果,并依据预先设定的规则,执行所述验证结果相对应的操作;其中,所述验证结果为同步节点将所述标识信息和自身节点中相应区块的标识信息进行比较得出的结果。
4.根据权利要求3所述的方法,其特征在于,所述依据预先设定的规则,执行所述验证结果相对应的操作包括:
所述广播节点判断所述验证结果是否满足第一预设要求;若是,则结束操作;若否,所述广播节点则判断所述验证结果是否满足第二预设要求;
当所述验证结果满足所述第二预设要求时,所述广播节点则从满足所述第二预设要求的验证结果所对应的节点中选取一个节点作为目标节点,并触发所述目标节点执行向所述集群系统的同步节点广播相应区块的账户信息和标识信息的步骤;
当所述验证结果不满足所述第二预设要求时,所述广播节点则从自身节点的区块链中删除相应的区块。
5.一种集群系统中同步账户信息的装置,其特征在于,在集群系统的各节点上均部署BAM服务,所述装置包括生成单元和广播单元;
所述生成单元,用于依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播单元,用于向集群系统的同步节点广播所述账户信息和所述标识信息,以便于同步节点依据所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
6.根据权利要求5所述的装置,其特征在于,还包括判断单元和删除单元;
所述广播单元还用于向集群系统的同步节点广播所述目标区块的标识信息;
所述判断单元,用于从所述集群系统中获取相应的响应结果,判断所述响应结果是否满足预设条件;其中,所述响应结果为同步节点将所述标识信息和自身节点中最新区块的标识信息进行比较得出的结果;若否,则触发所述删除单元;若是,则触发所述广播单元执行所述向集群系统的同步节点广播所述账户信息和所述标识信息的步骤;
所述删除单元,用于删除所述目标区块。
7.一种集群系统中同步账户信息的方法,其特征在于,在集群系统的各节点上均部署BAM服务,所述方法包括:
广播节点依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;向集群系统的同步节点广播所述账户信息和所述标识信息;
同步节点依据获取的所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
8.一种集群系统中同步账户信息的装置,其特征在于,在集群系统的各节点上均部署BAM服务,所述装置包括生成单元、广播单元和更新单元;
所述生成单元,用于依据接收的指令信息,在自身节点的区块链上生成目标区块,并将相应的账户信息存储在所述目标区块中;其中,所述目标区块有其对应的标识信息;
所述广播单元,用于向集群系统的同步节点广播所述账户信息和所述标识信息;
所述更新单元,用于依据获取的所述账户信息和所述标识信息,对自身节点的区块链进行更新,以实现账户信息的同步。
9.一种集群系统中同步账户信息的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任意一项所述集群系统中同步账户信息的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述集群系统中同步账户信息的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643630.9A CN108881231A (zh) | 2018-06-21 | 2018-06-21 | 一种集群系统中同步账户信息的方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810643630.9A CN108881231A (zh) | 2018-06-21 | 2018-06-21 | 一种集群系统中同步账户信息的方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108881231A true CN108881231A (zh) | 2018-11-23 |
Family
ID=64340050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810643630.9A Pending CN108881231A (zh) | 2018-06-21 | 2018-06-21 | 一种集群系统中同步账户信息的方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881231A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714412A (zh) * | 2018-12-25 | 2019-05-03 | 深圳前海微众银行股份有限公司 | 区块同步方法、装置、设备及计算机可读存储介质 |
CN109981739A (zh) * | 2019-02-25 | 2019-07-05 | 平安科技(深圳)有限公司 | 基于区块链的会话数据处理方法、装置、设备及介质 |
CN110300171A (zh) * | 2019-06-28 | 2019-10-01 | 深圳市元征科技股份有限公司 | 信息采集方法、系统、计算机可读存储介质及电子设备 |
CN111176837A (zh) * | 2019-12-17 | 2020-05-19 | 北京达佳互联信息技术有限公司 | 信息的展示方法、装置、电子设备及存储介质 |
WO2020151181A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
CN111800659A (zh) * | 2020-06-03 | 2020-10-20 | 深圳市灰度科技有限公司 | 节目同步的方法、装置、显示终端和存储介质 |
CN113259118A (zh) * | 2021-06-02 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 同步节点信息列表的方法 |
CN113282660A (zh) * | 2021-05-24 | 2021-08-20 | 挂号网(杭州)科技有限公司 | 集群内数据的同步方法及系统、电子设备、存储介质 |
CN115174598A (zh) * | 2022-09-01 | 2022-10-11 | 杭州趣链科技有限公司 | 区块同步方法、区块链系统、设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170053249A1 (en) * | 2015-07-30 | 2017-02-23 | NXT-ID, Inc. | Electronic Crypto-Currency Management Method and System |
CN107231351A (zh) * | 2017-05-25 | 2017-10-03 | 远光软件股份有限公司 | 电子证件的管理方法及相关设备 |
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
WO2018018992A1 (zh) * | 2016-07-25 | 2018-02-01 | 中兴通讯股份有限公司 | 一种应用区块链的方法、装置及系统 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN107833060A (zh) * | 2017-11-13 | 2018-03-23 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
CN107948192A (zh) * | 2017-12-22 | 2018-04-20 | 众安信息技术服务有限公司 | 一种区块链账户客户化识别及登录方法和系统 |
CN107993149A (zh) * | 2017-12-18 | 2018-05-04 | 深圳前海微众银行股份有限公司 | 账户信息管理方法、系统以及可读存储介质 |
-
2018
- 2018-06-21 CN CN201810643630.9A patent/CN108881231A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170053249A1 (en) * | 2015-07-30 | 2017-02-23 | NXT-ID, Inc. | Electronic Crypto-Currency Management Method and System |
WO2018018992A1 (zh) * | 2016-07-25 | 2018-02-01 | 中兴通讯股份有限公司 | 一种应用区块链的方法、装置及系统 |
CN107231351A (zh) * | 2017-05-25 | 2017-10-03 | 远光软件股份有限公司 | 电子证件的管理方法及相关设备 |
CN107332876A (zh) * | 2017-05-31 | 2017-11-07 | 深圳前海微众银行股份有限公司 | 区块链状态的同步方法及装置 |
CN107678865A (zh) * | 2017-09-20 | 2018-02-09 | 中国银行股份有限公司 | 基于交易分组的区块链的验证方法以及系统 |
CN107833060A (zh) * | 2017-11-13 | 2018-03-23 | 中国银行股份有限公司 | 一种区块链中智能合约交易的验证方法以及系统 |
CN107993149A (zh) * | 2017-12-18 | 2018-05-04 | 深圳前海微众银行股份有限公司 | 账户信息管理方法、系统以及可读存储介质 |
CN107948192A (zh) * | 2017-12-22 | 2018-04-20 | 众安信息技术服务有限公司 | 一种区块链账户客户化识别及登录方法和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109714412A (zh) * | 2018-12-25 | 2019-05-03 | 深圳前海微众银行股份有限公司 | 区块同步方法、装置、设备及计算机可读存储介质 |
WO2020151181A1 (zh) * | 2019-01-23 | 2020-07-30 | 平安科技(深圳)有限公司 | 基于区块链的跨平台数据更新方法、装置和计算机设备 |
CN109981739A (zh) * | 2019-02-25 | 2019-07-05 | 平安科技(深圳)有限公司 | 基于区块链的会话数据处理方法、装置、设备及介质 |
CN110300171B (zh) * | 2019-06-28 | 2022-04-15 | 深圳市元征科技股份有限公司 | 信息采集方法、系统、计算机可读存储介质及电子设备 |
CN110300171A (zh) * | 2019-06-28 | 2019-10-01 | 深圳市元征科技股份有限公司 | 信息采集方法、系统、计算机可读存储介质及电子设备 |
CN111176837A (zh) * | 2019-12-17 | 2020-05-19 | 北京达佳互联信息技术有限公司 | 信息的展示方法、装置、电子设备及存储介质 |
CN111800659A (zh) * | 2020-06-03 | 2020-10-20 | 深圳市灰度科技有限公司 | 节目同步的方法、装置、显示终端和存储介质 |
CN111800659B (zh) * | 2020-06-03 | 2022-05-24 | 深圳市灰度科技有限公司 | 节目同步的方法、装置、显示终端和存储介质 |
CN113282660A (zh) * | 2021-05-24 | 2021-08-20 | 挂号网(杭州)科技有限公司 | 集群内数据的同步方法及系统、电子设备、存储介质 |
CN113259118A (zh) * | 2021-06-02 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 同步节点信息列表的方法 |
CN113259118B (zh) * | 2021-06-02 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 同步节点信息列表的方法 |
CN115174598A (zh) * | 2022-09-01 | 2022-10-11 | 杭州趣链科技有限公司 | 区块同步方法、区块链系统、设备和存储介质 |
CN115174598B (zh) * | 2022-09-01 | 2022-12-27 | 杭州趣链科技有限公司 | 区块同步方法、区块链系统、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881231A (zh) | 一种集群系统中同步账户信息的方法、装置和存储介质 | |
EP3281115B1 (en) | Method and system for byzantine fault-tolerance replicating of data on a plurality of servers | |
CN110505065B (zh) | 一种可信时间戳添加方法、装置和存储介质 | |
US9705678B1 (en) | Fast CAN message authentication for vehicular systems | |
CN108696356B (zh) | 一种基于区块链的数字证书删除方法、装置及系统 | |
CN110602108B (zh) | 基于区块链网络的数据通信方法、装置、设备及存储介质 | |
CN111869178B (zh) | 近实时ip用户映射的方法和系统 | |
CN108512849B (zh) | 一种访问服务器的握手方法及系统 | |
CN110557290A (zh) | 网络加速服务的处理方法及装置 | |
CN110730081B (zh) | 基于区块链网络的证书吊销方法、相关设备及介质 | |
CN106537957A (zh) | 配置文件管理方法和服务器 | |
CN106941418B (zh) | Ssl vpn配置信息的同步方法和装置 | |
CN113505354A (zh) | 一种数据处理方法、装置及存储介质 | |
CN105099686B (zh) | 数据同步的方法、服务器、终端及系统 | |
JPH11265349A (ja) | コンピュータシステムならびに同システムに適用される機密保護方法、送受信ログ管理方法、相互の確認方法および公開鍵世代管理方法 | |
CN111026711A (zh) | 基于区块链数据存储方法、装置、计算机设备及存储介质 | |
CN114268490A (zh) | 一种设备认证方法、物联网系统、服务器及存储介质 | |
CN109981677A (zh) | 一种授信管理方法及装置 | |
CN112035810A (zh) | 一种访问控制方法、装置、介质和设备 | |
WO2022078058A1 (zh) | 解密方法、服务器及存储介质 | |
EP2472930B1 (en) | Partial failure messaging | |
Dobre et al. | Proofs of writing for robust storage | |
CN112182009A (zh) | 区块链的数据更新方法及装置、可读存储介质 | |
CN113300848A (zh) | 证书状态的确定方法和装置 | |
CN112804063A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181123 |