WO2020232859A1 - 分布式存储系统、数据写入方法、装置和存储介质 - Google Patents

分布式存储系统、数据写入方法、装置和存储介质 Download PDF

Info

Publication number
WO2020232859A1
WO2020232859A1 PCT/CN2019/102196 CN2019102196W WO2020232859A1 WO 2020232859 A1 WO2020232859 A1 WO 2020232859A1 CN 2019102196 W CN2019102196 W CN 2019102196W WO 2020232859 A1 WO2020232859 A1 WO 2020232859A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
information
master
standby
management
Prior art date
Application number
PCT/CN2019/102196
Other languages
English (en)
French (fr)
Inventor
齐泽青
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2020232859A1 publication Critical patent/WO2020232859A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及一种分布式存储技术,公开了一种双控架构分布式系统、电子装置、数据读取方法、装置和计算机可读存储介质。本申请采用了双节点设计的拓扑结构,其中一个节点作为主节点,另外一个作为备用节点,其他副本节点作为该双节点的二级节点。主节点负责数据传输,备用节点跟主节点保持心跳。当用户主机在给主节点发送数据失败时,不需要跟管理节点协商,备用节点可转化为主节点,从而避免了当原先的主写入节点下线时与管理节点协商重新获取主节点的过程,消除了系统的等待和抖动,进而不会影响系统的正常运行。

Description

分布式存储系统、数据写入方法、装置和存储介质
本申请要求于2019年5月20日提交中国专利局,申请号为201910418974.4、发明名称为“分布式存储系统、数据写入方法、装置和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及分布式存储技术领域,特别涉及一种分布式存储系统、电子装置、数据写入方法、装置和计算机可读存储介质。
背景技术
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),安全数字(Secure Digital,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 (20)

  1. 一种电子装置,其特征在于,所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证的信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置包括存储器和处理器,所述存储器上存储有所述预设信息和数据写入程序,所述数据写入程序被所述处理器执行时实现如下步骤:
    检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
    转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
    写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点后,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
  2. 如权利要求1所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
  3. 如权利要求1所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述转化步骤时,还实现以下步骤:
    将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
    所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
    所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
    将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
  4. 如权利要求2所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述转化步骤时,还实现以下步骤:
    将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
    所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
    所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
    将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
  5. 如权利要求1所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述转化步骤之后,还实现以下步骤:将所述第二多副本节点群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证的信息后,保存所述新备用节点信息和新授权验证的信息。
  6. 如权利要求2所述的电子装置,其特征在于,所述数据写入程序被所述处理器执行时,在所述转化步骤之后,还实现以下步骤:将所述第二多副本节点群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证的信息后,保存所述新备用节点信息和新授权验证的信息。
  7. 一种数据写入方法,适用于电子装置,其特征在于,所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置存储预设信息,该方法包括步骤:
    检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
    转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
    写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点后,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
  8. 如权利要求7所述的数据写入方法,其特征在于,在所述检测步骤之后,还实现以下步骤:当第一主节点掉线时,接收到掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
  9. 如权利要求7所述的数据写入方法,其特征在于,在所述转化步骤时,还实现以下步骤:
    将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
    所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
    所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证 通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
    将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
  10. 如权利要求8所述的数据写入方法,其特征在于,在所述转化步骤时,还实现以下步骤:
    将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
    所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
    所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
    将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
  11. 如权利要求7所述的数据写入方法,其特征在于,在所述转化步骤之后,还实现以下步骤:将所述第二多副本群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
  12. 如权利要求8所述的数据写入方法,其特征在于,在所述转化步骤之后,还实现以下步骤:将所述第二多副本群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
  13. 一种分布式存储系统,其特征在于,所述分布式存储系统包括电子装置、多个一级节点群、多个二级节点群和多个管理节点,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,所述电子装置包括存储器和处理器,所述存储器上存储有所述预设信息和数据写入程序,所述数据写入程序被所述处理器执行时实现如下步骤:
    检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
    转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
    写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
  14. 如权利要求13所述的分布式存储系统,其特征在于,在所述检测步 骤之后,还实现以下步骤:当第一主节点掉线时,接收到掉线信息后,将第一多副本节点群的结构替换为第二多副本节点群。
  15. 如权利要求13所述的分布式存储系统,其特征在于,在所述转化步骤时,还实现以下步骤:
    将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
    所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
    所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
    将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
  16. 如权利要求14所述的分布式存储系统,其特征在于,在所述转化步骤时,还实现以下步骤:
    将所述第二多副本节点群的结构信息、所述授权验证信息和所述对象数据发送至所述备用节点,
    所述备用节点经所述授权验证信息验证通过后,将所述授权验证信息发送至所述副本节点和所述管理节点,
    所述副本节点和所述管理节点经所述授权验证信息验证通过后,将验证通过的信息返回至所述备用节点,将所述备用节点转化为第二主节点,
    将所述第二多副本节点群的结构替换为包括所述第二主节点和所述二级节点。
  17. 如权利要求13所述的分布式存储系统,其特征在于,在所述转化步骤之后,还实现以下步骤:将所述第二多副本群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
  18. 如权利要求14所述的分布式存储系统,其特征在于,在所述转化步骤之后,还实现以下步骤:将所述第二多副本群的结构替换的信息发送至所述管理节点后,所述管理节点预设新备用节点信息和新授权验证信息后,保存所述新备用节点信息和新授权验证信息。
  19. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有所述预设信息和数据写入程序,所述预设信息和数据写入程序可被电子装置的处理器执行,所述电子装置分别与分布式系统中多个一级节点群通信连接,同一所述一级节点群包括第一主节点和一备用节点,所述分布式系统还具有多个二级节点群和管理节点,同一所述二级节点群包括至少一二级节点,所述管理节点发布预设的所述备用节点信息和授权验证的信息,其中,预设第一多副本节点群包括所述第一主节点和所述二级节点,第二多副本节点群包括所述备用节点和所述二级节点,其中,当所述数据写入程序被至少所述处理器执行时,可实现如下步骤:
    检测步骤:实时,或者,定时,或者,当第一主节点接收到对象数据的写入请求后,检测所述第一主节点的状态是否可以写入所述对象数据,
    转化步骤:当所述第一主节点掉线无法写入所述对象数据时,将第一多副本节点群的结构替换为第二多副本节点群,经所述验证授权信息验证通过后,将所述备用节点转化为第二主节点,并通知所述管理节点,
    写入步骤:所述备用节点转化为第二主节点后,将所述对象数据写入所述第二主节点后,所述第二主节点与所述二级节点通讯,将所述对象数据写入所述二级节点。
  20. 如权利要求19所述的计算机可读存储介质,其特征在于,所述数据写入程序被所述处理器执行时,还实现如上述权2-权6所述的步骤。
PCT/CN2019/102196 2019-05-20 2019-08-23 分布式存储系统、数据写入方法、装置和存储介质 WO2020232859A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910418974.4A CN110287151B (zh) 2019-05-20 2019-05-20 分布式存储系统、数据写入方法、装置和存储介质
CN201910418974.4 2019-05-20

Publications (1)

Publication Number Publication Date
WO2020232859A1 true WO2020232859A1 (zh) 2020-11-26

Family

ID=68002368

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/102196 WO2020232859A1 (zh) 2019-05-20 2019-08-23 分布式存储系统、数据写入方法、装置和存储介质

Country Status (2)

Country Link
CN (1) CN110287151B (zh)
WO (1) WO2020232859A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112558875A (zh) * 2020-12-14 2021-03-26 北京百度网讯科技有限公司 数据校验方法、装置、电子设备及存储介质
CN112883106A (zh) * 2020-12-31 2021-06-01 北京百度网讯科技有限公司 一种区块链的出块节点确定方法、装置、设备和介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110943998B (zh) * 2019-12-04 2022-02-01 腾讯科技(深圳)有限公司 一种信号传输方法、装置、设备及介质
CN112492030B (zh) * 2020-11-27 2024-03-15 北京青云科技股份有限公司 数据存储方法、装置、计算机设备和存储介质
CN113204530B (zh) * 2021-04-22 2023-06-30 平安消费金融有限公司 分布式文件系统的数据写入方法、装置、设备以及介质
CN113626165A (zh) * 2021-07-30 2021-11-09 北京达佳互联信息技术有限公司 一种打包队列的管理方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729436A (zh) * 2013-12-27 2014-04-16 中国科学院信息工程研究所 一种分布式元数据管理方法及系统
CN107295080A (zh) * 2017-06-19 2017-10-24 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器
US20170329798A1 (en) * 2010-06-19 2017-11-16 Mapr Technologies, Inc. Map-Reduce Ready Distributed File System
CN108134706A (zh) * 2018-01-02 2018-06-08 中国工商银行股份有限公司 区块链多活高可用系统、计算机设备以及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106878388B (zh) * 2017-01-04 2019-12-03 北京百度网讯科技有限公司 对分布式存储系统中慢节点的检测
CN109104348B (zh) * 2017-06-21 2020-09-15 比亚迪股份有限公司 基于CANopen协议的列车网络数据传输方法、系统及其装置
CN109104351B (zh) * 2017-06-21 2020-08-25 比亚迪股份有限公司 列车网络节点和基于CANopen协议的列车网络节点监测方法
CN109669822B (zh) * 2018-11-28 2023-06-06 平安科技(深圳)有限公司 电子装置、备用存储池的创建方法和计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170329798A1 (en) * 2010-06-19 2017-11-16 Mapr Technologies, Inc. Map-Reduce Ready Distributed File System
CN103729436A (zh) * 2013-12-27 2014-04-16 中国科学院信息工程研究所 一种分布式元数据管理方法及系统
CN107295080A (zh) * 2017-06-19 2017-10-24 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器
CN108134706A (zh) * 2018-01-02 2018-06-08 中国工商银行股份有限公司 区块链多活高可用系统、计算机设备以及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112558875A (zh) * 2020-12-14 2021-03-26 北京百度网讯科技有限公司 数据校验方法、装置、电子设备及存储介质
CN112883106A (zh) * 2020-12-31 2021-06-01 北京百度网讯科技有限公司 一种区块链的出块节点确定方法、装置、设备和介质
CN112883106B (zh) * 2020-12-31 2024-02-13 北京百度网讯科技有限公司 一种区块链的出块节点确定方法、装置、设备和介质

Also Published As

Publication number Publication date
CN110287151B (zh) 2023-08-22
CN110287151A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
WO2020232859A1 (zh) 分布式存储系统、数据写入方法、装置和存储介质
US7636868B2 (en) Data replication in a distributed system
US10108630B2 (en) Cluster unique identifier
US6804703B1 (en) System and method for establishing persistent reserves to nonvolatile storage in a clustered computer environment
CN111183625A (zh) 用于在区块链网络中删除节点的系统和方法
US10127124B1 (en) Performing fencing operations in multi-node distributed storage systems
CN111314125A (zh) 用于容错通信的系统和方法
JP4309354B2 (ja) ストレージネットワークにおける書き込みオペレーション制御
US20100228960A1 (en) Virtual memory over baseboard management controller
US9680930B2 (en) Data communication system for a storage management system and communication method thereof
US20230039521A1 (en) Input/output system applied to network security defense system
JP5801482B2 (ja) キーバリューストレージに対するデータの保存および読み出しを行う方法およびシステム
EP4213038A1 (en) Data processing method and apparatus based on distributed storage, device, and medium
US7228352B1 (en) Data access management system in distributed processing system
US7792977B1 (en) Method for fencing shared resources from cluster nodes
CN111290711A (zh) 一种raid系统的io处理方法及相关装置
WO2020233001A1 (zh) 双控构架分布式存储系统、数据读取方法、装置和存储介质
CN106815094B (zh) 一种用于实现主备同步模式下事务提交的方法与设备
CN111338857A (zh) 一种拜占庭容错共识协议
WO2021052237A1 (zh) 事务处理方法、装置、设备、存储介质、数据库
Camargos et al. Multicoordinated paxos
TW202211065A (zh) 在包括網路鍵值客戶端及網路鍵值目標的網路鍵值儲存體中對鎖定請求進行協調的系統與方法以及包含指令的非暫時性電腦可讀取媒體
CN116232893A (zh) 分布式系统的共识方法、装置、电子设备及存储介质
WO2023065788A1 (zh) 升级区块链系统的方法、装置及终端设备
US8671307B2 (en) Task relay system, apparatus, and recording medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19929879

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19929879

Country of ref document: EP

Kind code of ref document: A1