CN110287151B - 分布式存储系统、数据写入方法、装置和存储介质 - Google Patents
分布式存储系统、数据写入方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110287151B CN110287151B CN201910418974.4A CN201910418974A CN110287151B CN 110287151 B CN110287151 B CN 110287151B CN 201910418974 A CN201910418974 A CN 201910418974A CN 110287151 B CN110287151 B CN 110287151B
- Authority
- CN
- China
- Prior art keywords
- node
- standby
- information
- main
- management
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种分布式存储技术,公开了一种双控架构分布式系统、电子装置、数据读取方法、装置和计算机可读存储介质。本发明采用了双节点设计的拓扑结构,其中一个节点作为主节点,另外一个作为备用节点,其他副本节点作为该双节点的二级节点。主节点负责数据传输,备用节点跟主节点保持心跳。当用户主机在给主节点发送数据失败时,不需要跟管理节点协商,备用节点可转化为主节点,从而避免了当原先的主写入节点下线时与管理节点协商重新获取主节点的过程,消除了系统的等待和抖动,进而不会影响系统的正常运行。
Description
技术领域
本发明涉及分布式存储技术领域,特别涉及一种分布式存储系统、电子装置、数据写入方法、装置和计算机可读存储介质。
背景技术
CEPH分布式文件系统是一种容量大、性能高、可靠性强的分布式存储系统。现有的CEPH分布式系统里面,设置有多个存储节点并且可实现数据的多副本存储。
采用这种分布式结构的系统中,以一个多副本集群为例,当从用户主机(或客户端)把数据写入集群时,一般都是先写入其中一个节点(通常为指定的主写入节点),然后再由该节点写入集群中其他节点(通常称为副本节点)。而当该主写入节点下线时,则需要再次选出一个新的主写入节点,来接替当前下线节点的工作,系统才能恢复正常并重新开始写入数据的程序。在选出新的节点的过程中,需要跟系统集群的管理节点协商,而这种协商过程会造成系统性能的抖动。
因此,如何免除因协商选出新节点导致的系统抖动的影响,成为一个亟待解决的问题。
发明内容
本发明的主要目的是提供一种分布式存储系统、电子装置、数据写入方法、装置和计算机可读存储介质,旨在消除因节点下线,在选出新节点的过程中对分布式存储系统可能产生的抖动的影响。
为实现上述目的,本发明提出一种电子装置,
所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置包括存储器和处理器,所述存储器上存储有所述预设信息和数据写入程序,所述数据写入程序被所述处理器执行时实现如下步骤:
检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
优选地,所述数据写入程序被所述处理器执行时,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收到掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
优选地,所述数据写入程序被所述处理器执行时,在所述转化步骤时,还实现以下步骤:
将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
优选地,所述数据写入程序被所述处理器执行时,在所述转化步骤之后,还实现以下步骤:将所述第二多副本群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
此外,为实现上述目的,本发明还提出一种数据写入方法,适用于电子装置,
所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置存储预设信息,该方法包括步骤:
检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
优选地,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收到掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
优选地,在所述转化步骤时,还实现以下步骤:
将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
优选地,在所述转化步骤之后,还实现以下步骤:将所述第二多副本群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
此外,为实现上述目的,本发明还提出一种分布式存储系统,
所述分布式存储系统包括电子装置、多个一级节点群、多个二级节点群和多个管理节点,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置包括存储器和处理器,所述存储器上存储有所述预设信息和数据写入程序,所述数据写入程序被所述处理器执行时实现如下步骤:
检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有数据写入程序,所述数据写入程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述任一项所述的数据写入方法的步骤。
相较于现有技术,本发明提出的一种双控架构分布式存储系统、电子装置及计算机可读存储介质,采用了一种新的拓扑结构,该拓扑结构包括双节点设计,即通过选用双节点直接跟用户主机通讯。其中一个节点作为主节点,另外一个作为备用节点,其他副本节点作为该双节点的二级节点。主节点负责数据传输,备用节点跟主节点保持心跳。当用户主机在给主节点发送数据失败时,不需要跟管理节点协商,用户主机可直接跟备用节点通讯,用户主机通过携带一个递增ID加校验码或证书校验的形式给备用节点传输数据。备用节点接收到数据后校验其合法性。当校验通过后,则将同样校验传输给各其他节点及集群管理节点,让各节点校验通讯的合法性。当所有节点校验成功后,备用节点即转化为主节点,并向其他节点及集群管理节点广播。无论原来主节点是否在线,各节点只要校验成功,即承认其主节点地位,从而避免了当原先的主写入节点下线时与管理节点协商重新获取主节点的过程,消除了系统的等待和抖动,从而不会影响系统的正常运行。也就是说,集群中的任意数据节点掉线,都不会影响性能,单个节点掉线对系统影响只是一次读写的消耗。只要不是同时主备节点掉线,一次通讯最多两次即可完成。既不需要等待,也不需要状态转换协商。而当掉线的节点再次上线时,则需要跟集群管理节点协商,由管理节点确认其地位,管理节点可根据承认其主写入节点地位与否,从而决定是否需要相应变更拓扑结构。当原先的主写入节点掉线并且备用节点完成状态转换后,管理节点将再次选出备用节点和新的验证信息并保存至用户主机,从而重新设定一主一备的拓扑结构。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明分布式存储系统第一实施例的系统架构示意图;
图2为本发明分布式存储系统第一实施例的分布关系示意图;
图3为本发明数据写入程序第一实施例的运行环境示意图;
图4为本发明数据写入程序第一实施例的程序模块图;
图5为本发明数据写入方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
参阅图1所示,是本发明分布式存储系统第一实施例的系统构架示意图。
在本实施例中,分布式存储系统包括至少一个具有多副本节点的集群3。
在一些应用场景中,分布式存储系统中还设置有电子装置1,该电子装置与各个分布式节点之间通讯连接(例如,通过网络2通讯连接)。
在一些应用场景中,上述电子装置1独立于分布式存储系统设置,且与分布式存储系统通讯连接(例如,通过网络2通信连接)。
在本实施例中,电子装置1与具有多副本节点的集群3通过网络2通讯连接。
下面,将基于上述分布式系统和相关设备,提出本发明的各个实施例。
本发明提出一种数据读取程序。
请参阅图3,是本发明数据写入程序10第一实施例的运行环境示意图。
在本实施例中,数据写入程序10安装并运行于电子装置1中。电子装置1可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备(如用户主机1)。该电子装置1可包括,但不仅限于,通过程序总线相互通信的存储器11及处理器12。图3仅示出了具有组件11、12的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
存储器11在一些实施例中可以是电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。存储器11在另一些实施例中也可以是电子装置1的外部存储设备,例如电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括电子装置1的内部存储单元也包括外部存储设备。存储器11用于存储安装于电子装置1的应用软件及各类数据,例如数据写入程序10的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。所述存储器上存储有管理节点预设的信息(包括备用节点和授权验证的信息)。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据写入程序10等。
请参阅图4,是数据读取程序10第一实施例的程序模块图。在本实施例中,数据读取程序10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。例如,在图4中,数据读取程序10可以被分割成初始访问模块101、状态转换模块102及数据读取模块103。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述数据读取程序10在电子装置1中的执行过程,其中:
检测模块:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据。
在本实施例中,优选地,所述处理器执行所述数据写入程序,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
请参阅图2,为分布式存储系统第一实施例的分布关系示意图。
如图2所示,本实施例的的CEPH双控架构分布式系统中,分布式存储系统包括一级节点群、二级节点群和管理节点。原始拓扑结构包含一级节点群和二级节点群,一级节点群是一个双节点结构,即一个主写入节点和一个备用节点,双节点都可直接跟用户主机通讯,其他副本节点作为该双节点的二级节点,组成二级节点群。主写入节点负责与用户主机进行数据传输,备用节点则跟主节点保持心跳。
管理节点可设定待写入数据的多副本节点群Set X,其结构包括第一主节点和至少一个二级节点(在本实施方式中为节点一、节点二、节点三,其中,节点一为第一主节点,节点二和节点三为待写入副本数据的二级节点,即副本节点),并设定备用节点(节点四)并保存至用户主机;节点一作为第一主节点负责数据传输写入,节点四与节点一保持心跳。
在本实施方式的上述设定中,节点一、节点四即为本发明中的“双节点”,节点二、节点三作为双节点的二级节点。
管理节点还可设定备用节点的授权验证信息,该验证信息用于验证所述备用节点已获得所述管理节点的授权(校验合法性)。
另外,管理节点中预设的第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点。
管理节点与所述用户主机通讯,并向所述用户主机发送上述预设的信息。
在本实施例中,第一多副本节点群为Set X,Set X+1的结构则包含第一多副本节点群以及备用节点,设定第二多副本节点群为Set Y。具体而言:
Set X,其结构依次包含第一主写入节点(本实施例中即节点一)和至少一个副本节点(本实施例中为节点二、节点三),所述主写入节点(节点一)用于写入数据,与所述用户主机直接通讯,所述副本节点(节点二、节点三)与所述第一主写入节点(节点一)通讯,并写入副本数据;
Set X+1,其结构包括上述的Set X以及备用节点(本实施例中为节点四),其中,备用节点(节点四)与所述用户主机直接通讯,备用节点(节点四)用于当所述第一主写入节点(节点一)下线时,替换所述第一主写入节点(节点一)成为第二主写入节点(节点四),并与所述副本节点(节点二、节点三)通讯。
用户主机与所述管理节点实时连接并保持通讯,以获得上述第一多副本节点群(Set X)及备用节点信息。
转化模块:当所述第一主节点掉线时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点。
在本实施例中,当用户主机在给第一主节点(节点二)发送数据失败时,用户主机将第一多副本节点群Set X的结构替换为第二多副本节点群Set Y,并直接跟备用节点(节点四)通讯。第二多副本节点群Set Y的结构即包含原先设定的副本节点(节点二、节点三),以及预先设定的备用节点(节点四)。
用户主机将第二多副本节点群结构信息(节点二、节点三、节点四)、所述授权验证信息和所述对象数据发送至所述备用节点(节点四),优选地,在本实施例中,用户主机通过从管理节点获取的携带一个递增ID加校验码或证书校验的形式给备用节点(节点四)传输数据。备用节点(节点四)接收到数据后校验其授权合法性。
所述备用节点(节点四)经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点(节点二、节点三)和所述管理节点,让各节点同样校验通讯的合法性。
所述副本节点(节点二、节点三)和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点(节点四)。当所有节点都校验成功后,将所述备用节点(节点四)转化为第二主节点(节点四),并将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点(节点四、节点二、节点三)。
优选地,在本实施例中,所述备用节点(节点四)转化为第二主节点(节点四),将上述第二多副本节点群结构替换的信息发送至所述管理节点。无论原来的第一主节点(节点一)是否在线,只要其他各节点(节点二、节点三、节点四、管理节点)经授权校验成功,即承认备用节点(节点四)转化而来的主节点(第二主节点)地位。当第一主节点(节点一)掉线并且第二主节点(节点四)完成状态转换后,所述管理节点将预设选出新备用节点和新授权验证的信息,重新构成一主一备的拓扑结构。用户主机将再次保存所述新备用节点信息和新授权验证的信息。
此外,本数据写入程序还包括上线模块(图中未示出),可执行以下步骤:
当掉线的第一主节点(节点一)再次上线时,可与管理节点直接通讯,管理节点可根据实际需要重新确认节点一的主写入节点地位,进而重新设定新拓扑结构。
具体的,当掉线的第一主节点(节点一)再次上线时,需要跟集群管理节点协商,由管理节点确认其地位。管理节点可重新确认其地位为主写入节点,也可不确认其主写入节点的地位。当管理节点确认其为主写入节点时,管理节点需重新设定当前的拓扑结构。当管理节点不确认其主写入节点的地位时,则不需要替换当前已完成状态转换的拓扑结构。
写入模块:将所述对象数据写入所述第二主节点后,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
优选的,在本实施例中,将所述对象数据写入所述第二主节点(节点四)后,所述第二主节点(节点四)与所述二级节点(节点二、节点三)通讯,将所述对象数据写入二级副本节点。
优选的,本实施例中,该程序还包括监控模块(图中未示出),用于执行所述状态转换步骤时还实现以下步骤:
状态监测步骤:所述监控模块根据第一主节点(节点一)的写入状态检测其是否处于下线状态。
在本实施例中,Ceph分布式系统中具有的监控模块可以检测第一主节点(节点一)是否处于下线状态,当运行数据写入程序而第一主节点(节点一)处于下线状态时,可通知用户主机,进而将第一多副本节点群的结构替换为第二多副本节点群。
此外,为实现上述目的,本发明还提出一种数据写入方法。
如图5所示,图5为本发明数据读取方法第一实施例的流程示意图。
本实施例的数据读取方法适用于电子装置,所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置存储预设信息,该数据写入方法方法包括步骤:
检测步骤S10:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据。
在本实施例中,优选地,当第一主节点掉线时,接收掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
设定第一多副本节点群为Set X,Set X+1的结构则包含第一多副本节点群以及备用节点,设定第二多副本节点群为Set Y。具体而言:
Set X,其结构依次包含第一主写入节点(本实施例中即节点一)和至少一个副本节点(本实施例中为节点二、节点三),所述主写入节点(节点一)用于写入数据,与所述用户主机直接通讯,所述副本节点(节点二、节点三)与所述第一主写入节点(节点一)通讯,并写入副本数据;
Set X+1,其结构包括上述的Set X以及备用节点(本实施例中为节点四),其中,备用节点(节点四)与所述用户主机直接通讯,备用节点(节点四)用于当所述第一主写入节点(节点一)下线时,替换所述第一主写入节点(节点一)成为第二主写入节点(节点四),并与所述副本节点(节点二、节点三)通讯。
用户主机与所述管理节点实时连接并保持通讯,以获得上述第一多副本节点群(Set X)及备用节点信息。
转换步骤S20:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点。
在本实施例中,当用户主机在给第一主节点(节点二)发送数据失败时,用户主机将第一多副本节点群Set X的结构替换为第二多副本节点群Set Y,并直接跟备用节点(节点四)通讯。第二多副本节点群Set Y的结构即包含原先设定的副本节点(节点二、节点三),以及预先设定的备用节点(节点四)。
用户主机将第二多副本节点群结构信息(节点二、节点三、节点四)、所述授权验证信息和所述对象数据发送至所述备用节点(节点四),优选地,在本实施例中,用户主机通过从管理节点获取的携带一个递增ID加校验码或证书校验的形式给备用节点(节点四)传输数据。备用节点(节点四)接收到数据后校验其授权合法性。
所述备用节点(节点四)经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点(节点二、节点三)和所述管理节点,让各节点同样校验通讯的合法性。
所述副本节点(节点二、节点三)和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点(节点四)。当所有节点都校验成功后,将所述备用节点(节点四)转化为第二主节点(节点四),并将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点(节点四、节点二、节点三)。
在本实施例中,所述备用节点(节点四)转化为第二主节点(节点四),将上述第二多副本节点群结构替换的信息发送至所述管理节点。无论原来的第一主节点(节点一)是否在线,只要其他各节点(节点二、节点三、节点四、管理节点)经授权校验成功,即承认备用节点(节点四)转化而来的主节点(第二主节点)地位。当第一主节点(节点一)掉线并且第二主节点(节点四)完成状态转换后,所述管理节点将预设选出新备用节点和新授权验证的信息,重新构成一主一备的拓扑结构。
优选地,在所述转化步骤之后,还实现以下步骤:将所述结构替换的信息发送至所述管理节点,所述管理节点预设新备用节点和新授权验证的信息后,保存所述新备用节点和新授权验证的信息。
写入步骤S30:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有数据写入程序,所述数据写入程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述任一项所述的数据写入方法的步骤。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
与现有技术相比,本实施例的本发明提出的一种双控架构分布式存储系统、电子装置及计算机可读存储介质,采用了一种新的拓扑结构,该拓扑结构包括双节点设计,即通过选用双节点直接跟用户主机通讯。其中一个节点作为主节点,另外一个作为备用节点,其他副本节点作为该双节点的二级节点。主节点负责数据传输,备用节点跟主节点保持心跳。当用户主机在给主节点发送数据失败时,不需要跟管理节点协商,用户主机可直接跟备用节点通讯,用户主机通过携带一个递增ID加校验码或证书校验的形式给备用节点传输数据。备用节点接收到数据后校验其合法性。当校验通过后,则将同样校验传输给各其他节点及集群管理节点,让各节点校验通讯的合法性。当所有节点校验成功后,备用节点即转化为主节点,并向其他节点及集群管理节点广播。无论原来主节点是否在线,各节点只要校验成功,即承认其主节点地位,从而避免了当原先的主写入节点下线时与管理节点协商重新获取主节点的过程,消除了系统的等待和抖动,从而不会影响系统的正常运行。也就是说,集群中的任意数据节点掉线,都不会影响性能,单个节点掉线对系统影响只是一次读写的消耗。只要不是同时主备节点掉线,一次通讯最多两次即可完成。既不需要等待,也不需要状态转换协商。而当掉线的节点再次上线时,则需要跟集群管理节点协商,由管理节点确认其地位,管理节点可根据承认其主写入节点地位与否,从而决定是否需要相应变更拓扑结构。当原先的主写入节点掉线并且备用节点完成状态转换后,管理节点将再次选出备用节点和新的验证信息并保存至用户主机,从而重新设定一主一备的拓扑结构
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子装置,其特征在于,所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证的信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置包括存储器和处理器,所述存储器上存储有预设信息和数据写入程序,所述数据写入程序被所述处理器执行时实现如下步骤:
检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点后,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
2.如权利要求1所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
3.如权利要求1所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述转化步骤时,还实现以下步骤:
将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
4.如权利要求1所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述转化步骤之后,还实现以下步骤:将所述第二多副本节点群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证的信息后,保存所述新备用节点信息和新授权验证的信息。
5.一种数据写入方法,适用于电子装置,其特征在于,所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置存储预设信息,该方法包括步骤:
检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点后,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
6.如权利要求5所述的数据写入方法,其特征在于,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收到掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
7.如权利要求5或6所述的数据写入方法,其特征在于,在所述转化步骤时,还实现以下步骤:
将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
8.如权利要求5或6所述的数据写入方法,其特征在于,在所述转化步骤之后,还实现以下步骤:将所述第二多副本节点群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
9.一种分布式存储系统,其特征在于,所述分布式存储系统包括电子装置、多个一级节点群、多个二级节点群和多个管理节点,同一所述一级节点群包括第一主节点和一备用节点,所述分布式存储系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置包括存储器和处理器,所述存储器上存储有预设信息和数据写入程序,所述数据写入程序被所述处理器执行时实现如下步骤:
检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有数据写入程序,所述数据写入程序可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求5-8中的任一项所述的数据写入方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418974.4A CN110287151B (zh) | 2019-05-20 | 2019-05-20 | 分布式存储系统、数据写入方法、装置和存储介质 |
PCT/CN2019/102196 WO2020232859A1 (zh) | 2019-05-20 | 2019-08-23 | 分布式存储系统、数据写入方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910418974.4A CN110287151B (zh) | 2019-05-20 | 2019-05-20 | 分布式存储系统、数据写入方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287151A CN110287151A (zh) | 2019-09-27 |
CN110287151B true CN110287151B (zh) | 2023-08-22 |
Family
ID=68002368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910418974.4A Active CN110287151B (zh) | 2019-05-20 | 2019-05-20 | 分布式存储系统、数据写入方法、装置和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110287151B (zh) |
WO (1) | WO2020232859A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110943998B (zh) * | 2019-12-04 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种信号传输方法、装置、设备及介质 |
CN112492030B (zh) * | 2020-11-27 | 2024-03-15 | 北京青云科技股份有限公司 | 数据存储方法、装置、计算机设备和存储介质 |
CN112558875B (zh) * | 2020-12-14 | 2024-07-23 | 北京百度网讯科技有限公司 | 数据校验方法、装置、电子设备及存储介质 |
CN112883106B (zh) * | 2020-12-31 | 2024-02-13 | 北京百度网讯科技有限公司 | 一种区块链的出块节点确定方法、装置、设备和介质 |
CN113204530B (zh) * | 2021-04-22 | 2023-06-30 | 平安消费金融有限公司 | 分布式文件系统的数据写入方法、装置、设备以及介质 |
CN113626165A (zh) * | 2021-07-30 | 2021-11-09 | 北京达佳互联信息技术有限公司 | 一种打包队列的管理方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878388A (zh) * | 2017-01-04 | 2017-06-20 | 北京百度网讯科技有限公司 | 对分布式存储系统中慢节点的检测 |
CN109104348A (zh) * | 2017-06-21 | 2018-12-28 | 比亚迪股份有限公司 | 基于CANopen协议的列车网络数据传输方法、系统及其装置 |
CN109104351A (zh) * | 2017-06-21 | 2018-12-28 | 比亚迪股份有限公司 | 列车网络节点和基于CANopen协议的列车网络节点监测方法 |
CN109669822A (zh) * | 2018-11-28 | 2019-04-23 | 平安科技(深圳)有限公司 | 电子装置、备用存储池的创建方法和计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323775B2 (en) * | 2010-06-19 | 2016-04-26 | Mapr Technologies, Inc. | Map-reduce ready distributed file system |
CN103729436A (zh) * | 2013-12-27 | 2014-04-16 | 中国科学院信息工程研究所 | 一种分布式元数据管理方法及系统 |
CN107295080B (zh) * | 2017-06-19 | 2020-12-18 | 北京百度网讯科技有限公司 | 应用于分布式服务器集群的数据存储方法和服务器 |
CN108134706B (zh) * | 2018-01-02 | 2020-08-18 | 中国工商银行股份有限公司 | 区块链多活高可用系统、计算机设备以及方法 |
-
2019
- 2019-05-20 CN CN201910418974.4A patent/CN110287151B/zh active Active
- 2019-08-23 WO PCT/CN2019/102196 patent/WO2020232859A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878388A (zh) * | 2017-01-04 | 2017-06-20 | 北京百度网讯科技有限公司 | 对分布式存储系统中慢节点的检测 |
CN109104348A (zh) * | 2017-06-21 | 2018-12-28 | 比亚迪股份有限公司 | 基于CANopen协议的列车网络数据传输方法、系统及其装置 |
CN109104351A (zh) * | 2017-06-21 | 2018-12-28 | 比亚迪股份有限公司 | 列车网络节点和基于CANopen协议的列车网络节点监测方法 |
CN109669822A (zh) * | 2018-11-28 | 2019-04-23 | 平安科技(深圳)有限公司 | 电子装置、备用存储池的创建方法和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110287151A (zh) | 2019-09-27 |
WO2020232859A1 (zh) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287151B (zh) | 分布式存储系统、数据写入方法、装置和存储介质 | |
US11614867B2 (en) | Distributed storage system-based data processing method and storage device | |
CN109951331B (zh) | 用于发送信息的方法、装置和计算集群 | |
US8301600B1 (en) | Failover recovery in a distributed data store | |
US20140380088A1 (en) | Locally generated simple erasure codes | |
US20170315886A1 (en) | Locality based quorum eligibility | |
US9680930B2 (en) | Data communication system for a storage management system and communication method thereof | |
CN111314125A (zh) | 用于容错通信的系统和方法 | |
CN106789249B (zh) | 热更新方法、客户端及服务器 | |
CN109558260B (zh) | Kubernetes故障排除系统、方法、设备及介质 | |
CN111400777B (zh) | 一种网络存储系统、用户认证方法、装置及设备 | |
CN111258976A (zh) | 分布式锁实现方法、系统、设备及存储介质 | |
WO2021052237A1 (zh) | 事务处理方法、装置、设备、存储介质、数据库 | |
CN110121694B (zh) | 一种日志管理方法、服务器和数据库系统 | |
CN103503388B (zh) | 一种分布式队列消息读取方法及设备、系统 | |
CN115454333A (zh) | 云计算平台与存储系统的对接方法及装置 | |
CN107967265B (zh) | 文件的访问方法、数据服务器和文件访问系统 | |
US11386153B1 (en) | Flexible tagging and searching system | |
JP2008021198A (ja) | 計算機システム、管理計算機、及び計算機選択方法 | |
US8671307B2 (en) | Task relay system, apparatus, and recording medium | |
US20130318040A1 (en) | Data replication apparatus and method using hierarchical organization of data servers | |
CN113032477A (zh) | 基于gtid的长距离数据同步方法、装置及计算设备 | |
CN113407200B (zh) | 轨道交通远程输入输出模块的软件部署方法及装置 | |
CN113568710B (zh) | 一种虚拟机高可用实现方法、装置和设备 | |
CN102868761B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |