CN111343277B - 分布式数据存储方法、系统、计算机设备和存储介质 - Google Patents

分布式数据存储方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN111343277B
CN111343277B CN202010142640.1A CN202010142640A CN111343277B CN 111343277 B CN111343277 B CN 111343277B CN 202010142640 A CN202010142640 A CN 202010142640A CN 111343277 B CN111343277 B CN 111343277B
Authority
CN
China
Prior art keywords
data
stored
storage server
main storage
slave
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
Application number
CN202010142640.1A
Other languages
English (en)
Other versions
CN111343277A (zh
Inventor
康师亮
曾楚伟
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010142640.1A priority Critical patent/CN111343277B/zh
Publication of CN111343277A publication Critical patent/CN111343277A/zh
Application granted granted Critical
Publication of CN111343277B publication Critical patent/CN111343277B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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
    • G06F16/273Asynchronous replication or reconciliation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种分布式数据存储方法、系统、计算机设备和存储介质。所述方法包括:获取终端发送的数据写入请求,数据写入请求携带待存储数据;将数据写入请求发送至主存储集群中进行一致性校验;当一致性校验通过后,将待存储数据同步存储至主存储集群中的各个主存储服务器;当待存储数据成功写入主存储集群中的各个主存储服务器后,利用待存储数据生成数据同步指令;将数据同步指令发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器。采用本方法能够有效提高数据存储效率并且保持数据的一致性。

Description

分布式数据存储方法、系统、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种分布式数据存储方法、系统、计算机设备和存储介质。
背景技术
随着计算机技术的迅速发展,产生的数据量也不断增长。例如随着企业业务的发展,需要存储的数据不断增加,数据存储的压力越来越大。传统的方式中,将待存储的数据存储到一台主存储服务器中,并复制到一台或多台从存储服务器进行存储。主存储服务器复制数据到从存储服务器包括主从同步复制和异步复制。然而,主从同步复制的方式性能较低,主从异步复制的数据一致性不高。因此,在分布式数据存储中如何有效提高数据存储效率并且保持数据的一致性成为目前需要解决的一个技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够数据的存储效率和有效保证数据一致性的分布式数据存储方法、系统、计算机设备和存储介质。
一种分布式数据存储方法,所述方法包括:
获取终端发送的数据写入请求,所述数据写入请求携带待存储数据;
将所述数据写入请求发送至主存储集群中进行一致性校验;当所述一致性校验通过后,将所述待存储数据同步存储至所述主存储集群中的各个主存储服务器;
当所述待存储数据成功写入所述主存储集群中的各个主存储服务器后,利用所述待存储数据生成数据同步指令;
将所述数据同步指令发送至从存储集群,根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器。
一种分布式数据存储系统,所述系统包括:
终端,用于发起数据写入请求,所述数据写入请求携带待存储数据;
主存储集群,所述主存储集群包括主存储服务器,所述主存储服务器用于获取终端发送的数据写入请求;将所述数据写入请求发送至主存储集群中进行验证;验证通过后将所述待存储数据同步存储至所述主存储集群中的各个主存储服务器;当所述待存储数据成功写入所述主存储集群中的各个主存储服务器后,利用所述待存储数据生成数据同步指令;将所述数据同步指令发送至从存储集群,根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器;
从存储集群,所述从存储集群包括从存储服务器,用于接收所述主存储服务器发送的数据同步指令,根据所述数据同步指令对所述待存储数据进行存储。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取终端发送的数据写入请求,所述数据写入请求携带待存储数据;
将所述数据写入请求发送至主存储集群中进行一致性校验;当所述一致性校验通过后,将所述待存储数据同步存储至所述主存储集群中的各个主存储服务器;
当所述待存储数据成功写入所述主存储集群中的各个主存储服务器后,利用所述待存储数据生成数据同步指令;
将所述数据同步指令发送至从存储集群,根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取终端发送的数据写入请求,所述数据写入请求携带待存储数据;
将所述数据写入请求发送至主存储集群中进行一致性校验;当所述一致性校验通过后,将所述待存储数据同步存储至所述主存储集群中的各个主存储服务器;
当所述待存储数据成功写入所述主存储集群中的各个主存储服务器后,利用所述待存储数据生成数据同步指令;
将所述数据同步指令发送至从存储集群,根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器。
上述分布式数据存储方法、系统、计算机设备和存储介质,主存储服务器获取终端发送的数据写入请求后,将数据写入请求发送至主存储集群,使得主存储集群中的各个主存储服务器对数据写入请求对应的待存储数据进行一致性验证,校验通过后再将待存储数据同步存储至主存储集群中的各个主存储服务器,从而能够有效保证主存储集群中存储的数据的强一致性。当待存储数据成功写入主存储集群中的各个主存储服务器后,将待存储数据打包生成数据同步指令并发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器,从而能够有效将待存储数据异步存储至从存储集群的所有从存储服务器中。通过将待存储数据进行验证后同步存储至主存储集群中的各个主存储服务器,再将待存储数据异步存储至从存储集群的所有从存储服务器,由此能够在主存储集群和从存储集群中达成数据的强一致性和最终一致性,从而有效保证了数据存储的效率和数据一致性。
附图说明
图1为一个实施例中分布式数据存储方法的应用环境图;
图2为一个实施例中分布式数据存储方法的流程示意图;
图3为一个实施例中分布式数据存储系统的系统架构示意图;
图4为一个实施例中分布式数据存储方法的时序交互图;
图5为一个实施例中对待存储数据进行存储的过程的示意图;
图6为一个实施例中将待存储数据同步至从存储服务器的示意图;
图7为一个实施例中数据读取过程的时序交互图;
图8为另一个实施例中分布式数据存储方法的流程示意图;
图9为一个具体的实施例中分布式数据存储方法的流程示意图;
图10为一个实施例中分布式数据存储系统的的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的分布式数据存储方法,可以应用于如图1所示的应用环境中。该分布式数据存储方法可以应用于分布式数据存储系统。该系统包括终端102、主存储集群104和从存储集群106。其中,主存储集群104中包括多台主存储服务器1042,从存储集群中包括多台从存储服务器1062。终端102通过网络与主存储集群的主存储服务器1042进行通信,主存储服务器1042通过网络与从存储集群的从存储服务器1062进行通信。终端102可以将数据写入请求发送至主存储集群的主存储服务器1042,主存储服务器1042获取终端发送的数据写入请求后,将数据写入请求发送至主存储集群,使得主存储集群104中的各个主存储服务器1042对数据写入请求对应的待存储数据进行一致性验证,校验通过后再将待存储数据同步存储至主存储集群中的各个主存储服务器1042。当待存储数据成功写入主存储集群中的各个主存储服务器1042后,将待存储数据打包生成数据同步指令并发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器1062。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,主存储服务器1042和从存储服务器1062可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种分布式数据存储方法,以该方法应用于图1中的主存储服务器为例进行说明,包括以下步骤:
步骤S202,获取终端发送的数据写入请求,数据写入请求携带待存储数据。
其中,数据写入请求可以为操作请求中的一种请求类型,操作请求可以包括以下任意一种或多种类型的操作:数据写入、数据读取、数据更新。数据写入请求可以是终端基于需要存储的数据发起的操作请求,数据写入请求中携带了需要存储的待存储数据。例如,对于企业业务而言,待存储数据可以为企业数据或业务数据等。
终端可以直接向主存储服务器发起操作请求,主存储服务器接收用户终端发送的操作请求后,识别操作请求的类型。若操作请求的类型为数据写入操作,主存储服务器则获取基于该操作请求对应的数据写入请求。
在其中一个实施例中,终端可以首先发送操作请求至代理服务器,代理服务器根据操作请求的类别对操作请求进行转发。若操作请求为数据写入请求,代理服务器则将该数据写入请求转发至主存储集群中的主存储服务器,使得主存储服务器对该数据写入请求进行处理。例如,终端可以在业务系统中发起操作请求,业务系统可以包括连接用户终端的代理层,代理层可以包括代理服务器,若终端发送的操作请求为数据写入请求时,代理服务器则将数据写入请求转发至主存储服务器。
步骤S204,将数据写入请求发送至主存储集群中进行一致性校验;校验通过后将待存储数据同步存储至主存储集群中的各个主存储服务器。
其中,同步存储可以指采用同步复制的方式对待存储数据进行存储。采用同步存储方式,主存储集群中的每个主存储服务器将待存储数据写入成功后,返回对应的写入成功信息,从而保证主存储集群中的数据一致。例如主存储服务器的I/O将待存储数据写入主磁盘阵列后(写入Cache中),主磁盘阵列将利用自身的机制(如EMC的SRDF/S)同时将写I/O写入后备磁盘阵列,后备磁盘阵列确认后,主中心磁盘阵列才返回应用的写操作完成信息。采用同步存储方式,使得后备磁盘阵列中的数据总是与主磁盘阵列中的数据同步,因此当生产数据中心发生灾难事件时,不会造成数据丢失。
主存储服务器可以直接获取用户终端发起的数据写入请求,主存储服务器获取数据写入请求后,将数据写入请求发送至主存储集群中的各个主存储服务器,使得主存储集群中的各个主存储服务器根据一致性协议对该数据写入请求进行一致性校验。
具体地,数据写入请求包括请求标识,请求标识可以包括用户终端对应的账户标识和业务标识等信息。主存储服务器将数据写入请求在主存储集群中进行广播,主存储集群中的每台主存储服务器根据请求标识对该数据写入请求携带的待存储数据进行校验。主存储集群可以采用一致性协议对数据写入请求进行一致性校验。例如,可以采用paxos协议或raft协议对数据写入请求进行一致性校验。
在其中一个实施例中,主存储集群中包括至少三个主存储服务器,主存储服务器的数量为奇数。基于投票过半通过原则,将主存储集群中的主存储服务器部署为奇数台,由此主存储集群根据一致性协议对数据写入请求进行一致性校验时,能够快速有效地对数据写入请求进行校验。
若主存储集群中的大于一半的主存储服务器接受该数据写入请求,则确定对该数据写入请求的一致性校验通过。校验通过后,将待存储数据同步存储至主存储集群中的各个主存储服务器,使得主存储集群中的每个主存储服务器都对待存储数据进行存储。其中,主存储集群中的各个主存储服务器采用同步存储的方式对待存储数据进行存储,即各个主存储服务器将待存储数据在本地写入成功后,向接收数据写入请求的主存储服务器反馈数据写入成功的反馈消息,以确保待存储数据在主存储集群中存储成功。通过对待存储数据进行一致性校验后,同步存储在主存储集群中,由此能够确保待存储数据的最终一致性,从而有效保障了主存储集群中存储的数据的强一致性。
步骤S206,当待存储数据成功写入主存储集群中的各个主存储服务器后,利用待存储数据生成数据同步指令。
主存储集群中的各个主存储服务器均将待存储数据成功写入后,进一步将待存储数据同步至从存储集群中进行存储。具体地,主存储服务器将待存储数据打包并生成数据同步指令。其中,从存储集群中包括多台从存储服务器,主存储服务器生成数据同步指令后,将数据同步指令发送到从存储集群中的各个从存储服务器。
在一个实施例中,当待存储数据成功写入主存储集群中的各个主存储服务器后,生成待存储数据对应的反馈信息;将反馈信息返回至终端。
其中,获取数据写入请求的主存储服务器确定其他各个主存储服务器均成功写入待存储数据后,将待存储数据保存在本地。此时主存储集群中的各个主存储服务器均已成功保存了待存储数据,该主存储服务器则向终端返回写入成功的响应信息。主存储服务器将待存储数据写入主存储集群后,向终端反馈数据同步成功的消息,终端则可以确定数据同步操作成功,终端则可以进行下一步操作,由此能够有效保证主存储集群中存储的数据的强一致性。
步骤S208,将数据同步指令发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器。
其中,异步存储可以指采用异步复制的方式将对待存储数据发送至从存储集群中进行存储。采用异步存储方式,主存储服务器将待存储数据发送至从存储服务器后,从存储服务器不需要向主存储服务器返回相应的操作结果信息。例如,异步复制方式是在应用系统的I/O写入主磁盘阵列后(写入Cache中),主磁盘阵列立即返回给主机应用系统“写完成”信息,主机应用可以继续进行读、写I/O操作。同时,主中心磁盘阵列将利用自身的机制(如EMC的SRDF/A)将写I/O写入后备磁盘阵列,实现数据保护。
主存储服务器将待存储数据打包并生成数据同步指令后,将数据同步指令分别发送至从存储集群中的每个从存储服务器。
具体地,主存储服务器可以采用流式传输的方式将数据同步指令分别发送至从存储集群中的每个从存储服务器。每个从存储服务器接收到数据同步指令后,根据数据同步指令生成对应的内存队列,使得从存储服务器根据内存队列对待存储数据进行存储,从而使得从存储集群中的各个从存储服务器对待存储数据进行有效存储。主存储服务器不需要等待从存储服务器反馈数据同步成功的消息,主存储服务器即可默认数据同步操作成功,由此能够使得终端不需要等待从存储服务器同步成功就可以进行下一步操作,从而能够在有效保证数据存储的一致性的同时降低系统的容灾风险,从而有效保证了数据存储的效率和数据一致性。
参考图3,图3出示了一个实施例中分布式数据存储系统的系统架构示意图。如图3所示,分布式数据存储系统包括主存储集群和从存储集群。其中,主存储集群中包括至少三个主存储服务器,从存储集群中包括多个从存储服务器,具体可以为两个或两个以上的从存储服务器。其中,主存储集群中的任意一台主存储服务器都可以接收终端发送的数据写入请求。主存储服务器获取终端发送的数据写入请求后,主存储集群中的各个主存储服务器根据一致性协议对待存储数据进行一致性验证,校验通过后将待存储数据同步存储至主存储集群中的各个主存储服务器。主存储集群中的各个主存储服务器成功写入待存储数据后,将待存储数据同步至从存储集群中的各个从存储服务器中,从而将待存储数据异步存储至从存储集群的所有从存储服务器中。参考图4,图4为一个实施例中分布式数据存储方法的时序交互图。
上述分布式数据存储方法中,主存储服务器获取终端发送的数据写入请求后,将数据写入请求发送至主存储集群,使得主存储集群中的各个主存储服务器对数据写入请求对应的待存储数据进行一致性验证,校验通过后再将待存储数据同步存储至主存储集群中的各个主存储服务器,从而能够有效保证主存储集群中存储的数据的强一致性。当待存储数据成功写入主存储集群中的各个主存储服务器后,将待存储数据打包生成数据同步指令并发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器,从而能够有效将待存储数据异步存储至从存储集群的所有从存储服务器中。通过将待存储数据进行验证后同步存储至主存储集群中的各个主存储服务器,再将待存储数据异步存储至从存储集群的所有从存储服务器,由此能够在主存储集群和从存储集群中达成数据的强一致性和最终一致性,从而有效保证了数据存储的效率和数据一致性。
在一个实施例中,将数据写入请求发送至主存储集群中进行一致性校验包括:将所述数据写入请求在主存储集群中进行广播;使主存储集群中的各个主存储服务器对数据写入请求进行验证;接收主存储集群中的各个主存储服务器返回的验证反馈信息;当验证反馈信息表示所述数据写入请求被主存储集群中超过半数的主存储服务器接受时,确定一致性校验通过。
主存储集群中的主存储服务器获取终端发送数据写入请求后,主存储服务器将数据写入请求在主存储集群中进行广播,主存储集群中的每台主存储服务器根据请求标识对该数据写入请求携带的待存储数据进行校验。具体地,接收该数据写入请求的主存储服务器可以为第一主存储服务器,第一主存储服务器获取数据写入请求后,首先将该数据写入请求分发给主存储集群中的所有主存储器,各个主存储服务器根据一致性协议分别对该数据写入请求进行验证。
主存储集群中的各个主存储服务器对该数据写入请求进行验证后,反馈各自的验证反馈信息,第一主存储服务器根据验证反馈信息判断该数据写入请求是否被主存储集群中的大多数主存储服务器接受。当验证反馈信息表示数据写入请求被主存储集群中超过半数的主存储服务器接受时,则可以确定主存储集群对该数据写入请求的一致性校验通过。
当一致性校验通过后,第一主存储服务器通知各个主存储服务器可以写入数据,各个主存储服务器则将该数据写入请求的待存储数据分别进行存储,各个主存储服务器将待存储数据写入成功后,向第一主存储服务器返回写入成功的反馈消息。第一主存储服务器均获取到其他各个主存储服务器返回的反馈消息后,进而将待存储数据进行存储。主存储集群中的各个主存储服务器均将待存储数据成功写入后,进一步利用待存储数据生成数据同步指令发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器。从而使得从存储集群中的各个从存储服务器对待存储数据进行有效存储。
如图5所示,图5为主存储集群对待存储数据进行存储的过程的示意图。以主存储集群中包括三台主存储服务器为例,主存储集群对待存储数据进行存储的过程可以如下:
(1)主存储服务器1获取数据写入请求;
(2)主存储服务器1获取数据写入请求后,将该数据写入请求分发给主存储服务器2和主存储服务器3,并在主存储集群中执行一致性协议进行一致性校验;
(3)当一致性校验通过后,通知主存储服务器2和主存储服务器3对待存储数据进行存储,并向主存储服务器返回存储成功的响应消息;
(4)主存储服务器1接收主存储服务器2和主存储服务器3返回的响应消息后,将待存储消息进行存储。
在一个具体的实施例中,以一致性协议为paxos协议例子进行说明。paxos协议是一种基于消息传递的一致性算法。在利用paxos协议进行一致性校验的过程中,确定一个提议者和两个以上的接受者。其中,一致性校验过程由一个提议者主导,提议者可以为主存储集群中接收数据写入请求的第一主存储器,接受者为主存储集群中的各个主存储器。提议者根据数据写入请求的待存储数据确定一个提议序号,提议序号可以根据消息时间戳和请求标识生成。提议者首先向主存储集群中的各个接受者发送准备请求,请求消息中携带了提议序号。接受者收到准备请求后,根据提议序号向提议者返回相应的响应消息。提议者获取大多数接受者返回的响应消息后,检查是否有被接受的提议返回。如果有接受者返回已被接受的提议,就会用其中提议序号最高的提议更新为提议的当前值。如果没有接受者返回已被接受的提议,就利用该提议的初始值作为提议的当前值继续后面的计算。
提议者进一步向主存储集群中的所有接受者广播接受请求。广播消息中包括提议的当前值对应的提议序号。当各个接受者接收到接受请求后,将接受请求的提议序号和自己保存的提议序号进行比较,如果接收到的提议序号比保存的序号低,则拒绝这个接受请求;否则,就会接受这个提议记录该接受请求的提议序号和对应的值,并更新当前的提议序号。各个接受者向提议者返回各自当前的提议序号。
提议者接收到各个接受者的响应后,提议者进一步根据各个接受者返回的返回值和提议序号来判断接受请求是否被接受。如果接受请求被拒绝了,则进行下一轮提议,直到协议结束;否则,就表明所有接受者都接受了该提议请求,此时提议值被选定,协议结束执行。由此则可以确定主存储集群中的各个主存储服务器对该数据写入请求达成了共识,确定主存储集群对该数据写入请求的一致性校验通过。
本实施例中,通过利用一致性协议在主存储集群中对数据写入请求进行一致性校验,能够达到主存储集群中数据存储的强一致性。待存储数据成功写入主存储集群中的各个主存储服务器后,将待存储数据异步存储至从存储集群中的各个从存储服务器,从而有效保证了数据在从存储集群中最终一致。通过在主存储集群一致性校验并同步存储后,将数据异步存储至从存储集群,由此能够实现主存储集群数据的强一致性和从存储集群数据的最终一致性相结合,从而有效保证了数据存储的效率和数据一致性。
在一个实施例中,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器包括:利用待存储数据针对从存储集群中的各个从存储服务器生成对应的数据同步指令;根据数据同步指令分别创建每个数据同步指令对应的线程队列;根据线程队列分别将数据同步指令发送至从存储集群中的各个从存储服务器;从存储服务器用于根据数据同步指令对待存储数据进行异步存储。
其中,线程是操作系统能够进行运算调度的最小单位,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。多线程是指从软件或者硬件上实现多个线程并发执行的技术。采用多线程方式能够在同一时间执行多于一个线程,从而能够提升整体处理性能。队列是一种线性表数据结构,当有较多线程需要处理时,可以采用线程队列的方式通过线程对相应的请求进行处理。
例如,在异步存储数据的过程中,可以分别设置两个线程队列,一个线程队列用于传输待存储数据,另一个线程队列用于反馈响应消息,另有一些值守线程负责任务派发和超时监控等工作。由此主存储服务器能够有效对资源消耗始进行负载均衡,从而有效保证数据处理效率。
主存储集群中的各个主存储服务器均成功写入待存储数据后,获取数据写入请求的主存储服务器进而将待存储数据同步至从存储集群中的所有从存储服务器。具体地,主存储服务器利用待存储数据针对从存储集群中的各个从存储服务器生成对应的数据同步指令,例如可以根据每个从存储服务器的地址标识生成各个从存储服务器对应的数据同步指令。主存储服务器进而创建每个数据同步指令对应的线程队列,并根据线程队列分别将数据同步指令发送至从存储集群中的各个从存储服务器。如图6所示,为一个实施例中将待存储数据同步至从存储服务器的示意图。主存储服务器发送数据同步请求至各个从存储服务器后,各个从存储服务器创建待存储数据对应的内存队列,并按照待存储数据的数据标识和序列按照内存队列依次进行存储。
从存储集群中的每个从存储服务器获取数据同步指令后,均根据内存队列对待存储数据进行存储。通过创建多线程队列对数据同步指令进行分发,能够及时有效地对数据同步任务进行处理,从而能够高效地将待存储数据同步至从存储集群的各个从存储服务器中。
在一个实施例中,待存储数据包括数据标识;根据线程队列分别将数据同步指令发送至从存储集群中的各个从存储服务器包括:根据线程队列按照预设频率将待存储数据发送至从存储集群中的各个从存储服务器;从存储服务器用于根据数据同步指令和待存储数据生成对应的内存队列,根据内存队列和已接收的待存储数据的数据标识生成同步进度表,根据线程队列将同步进度表返回至主存储服务器。
其中,主存储服务器将待存储数据同步至从存储服务器的过程中,可以按照预设数据量和预设频次进行数据传输。具体地,主存储服务器通过线程队列将数据同步指令发送至每个从存储服务器后,可以按照预设数据量和预设频次发起数据同步,例如主存储服务器可以按照每N个数据和固定时间,发起一次带响应的数据同步以进行数据传输。每个从存储服务器获取到数据同步指令后,根据数据同步指令生成待存储数据对应的内存队列,从存储服务器则根据内存队列对接收的数据进行存储。每个从存储服务器还可以根据内存队列和已接收的待存储数据的数据标识生成同步进度表,例如可以根据已经同步的数据标识和需要重传的数据标识生成同步进度表。从存储服务器进而根据线程队列将同步进度表返回至主存储服务器,以向主存储服务器反馈数据传输进度。在数据同步过程中,通过向主存储服务器相应数据传输进度,能够有效获取数据的传输状态,由此在发生数据传输失败时能够及时进行数据重传,从而能够有效避免数据丢失,有效保证了存储数据的一致性和有效性。
在一个实施例中,该方法还包括:获取从存储服务器反馈的同步进度表,根据同步进度表监测数据同步状态;当监测到同步进度表中存在重传指令时,根据重传指令对应的数据标识将未传输的待存储数据生成待重传数据;根据同步进度表将待重传数据重传至对应的从存储服务器。
从存储服务器根据内存队列对接收的数据进行存储的过程中,根据内存队列和已接收的待存储数据的数据标识生成同步进度表,例如可以根据已经同步的数据标识和需要重传的数据标识生成同步进度表。从存储服务器进而根据线程队列将同步进度表返回至主存储服务器,主存储服务器则可以根据同步进度表监测数据传输进度和数据同步状态。
从存储服务器根据内存队列对接收的数据进行存储时,通过内存队列对接收的数据进行数据去重检测和数据连续性检测。具体地,可以根据数据标识的序列和内存队列的序列对内存队列中的数据行数据去重和数据连续性检测。若数据去重和数据连续性检测通过,则存储相应的数据。若内存队列中存在重复的数据,则丢弃对应的数据同步指令。若检测到存在丢失的数据,从存储服务器则根据需要重传的数据标识向主存储服务器返回待重传的同步进度表,主存储服务器则根据待重传的数据标识开始,按照同步进度表进行数据重传。通过同步进度表能够有效监测数据的传输状态,由此在数据丢失时能够即时有效地进行数据重传,从而有效保证了将待存储数据存储至从存储集群的数据一致性和完整性。
在一个实施例中,该方法还包括:获取终端发送的数据读取请求,数据读取请求包括待读取数据的数据标识;将数据读取请求在主存储集群中进行广播;使主存储集群中的各个主存储服务器对数据读取请求对应的待读取数据进行状态验证;确认待读取数据的状态;当待读取数据的状态验证通过时,获取数据标识对应的待读取数据,将待读取数据返回至终端。
主存储服务器将数据写入请求对应的待存储数据广播至主存储集群中的各个主存储服务器,主存储集群对数据写入请求进行一致性验证后同步存储至主存储集群中的各个主存储服务器。当待存储数据成功写入主存储集群中的各个主存储服务器后,将待存储数据异步存储至从存储集群中的各个从存储服务器。
分布式数据存储系统对待存储数据进行存储后,终端还可以向分布式数据存储系统发起数据读取请求,以获取分布式数据存储系统中存储的数据。
具体地,终端可以向主存储集群中的主存储服务器发送数据读取请求,数据读取请求携带了数据标识。其中,终端可以向指定的主存储服务器发送数据读取请求,也可以向主存储集群中的任意一个主存储服务器发送数据读取请求。主存储服务器获取终端发送的数据读取请求后,将数据读取请求在主存储集群中进行广播,主存储集群中的各个主存储服务器根据一致性协议对数据读取请求进行校验。具体地,主存储集群中的各个主存储服务器对待读取数据的存储状态进行状态验证,以确认待读取数据的状态。
当待读取数据的状态验证通过时,该主存储服务器则获取数据标识对应的待读取数据,并将待读取数据返回给终端。参考图7,图7为一个实施例中数据读取过程的时序交互图。由于主存储集群中均存储了一致的数据,终端发送数据读取请求后,主存储集群通过一致性协议对待读取数据的状态进行一致性校验后,再返回给终端,由此能够有效保证待读取数据的有效性。
在一个实施例中,如图8所示,提供了一种分布式数据存储方法,具体包括以下步骤:
步骤S802,获取终端发送的数据读取请求,数据读取请求包括待读取数据的数据标识。
步骤S804,将数据读取请求在主存储集群中进行广播;使主存储集群中的各个主存储服务器对所述数据读取请求对应的待读取数据进行状态验证;确认待读取数据的状态。
步骤S806,当待读取数据的状态验证通过时,获取数据标识对应的待读取数据,将待读取数据返回至终端。
步骤S808,当数据读取请求校验未通过时,将数据读取请求转发至从存储集群中的从存储服务器;使从存储服务器获取数据标识对应的待读取数据,将待读取数据返回至终端。
主存储服务器获取终端发送的数据读取请求后,将数据读取请求在主存储集群中进行广播,主存储集群中的各个主存储服务器根据一致性协议对数据读取请求进行校验,以确认待读取数据的状态。当待读取数据的状态验证通过时,该主存储服务器则获取数据标识对应的待读取数据,并将待读取数据返回给终端。
进一步地,若校验未通过,则表示数据不存在或数据异常,此时主存储服务器已经无法获取终端请求的待读取数据。主存储服务器进而将终端发送的数据读取请求转发至从存储集群。从存储集群中的从存储集群获取数据读取请求后,获取数据标识对应的待读取数据,并将待读取数据返回至终端。在主从存储服务器中存储的数据存在异常的情况下,终端还可以在从存储服务器中获取所需要的数据,由此能够有效保证数据读取的有效性。
在其中一个实施例中,分布式数据存储系统中可以预先部署访问策略,防问策略中配置了各个主存储服务器和各个从存储服务器的地址标识集合,以及预设的访问控制算法。例如,可以将各个主存储服务器和各个从存储服务器的ip地址标识生成一个数组,根据待读取数据的数据key通过hash算法计算出数组的下标,将得到的下表确定为待访问的存储服务器。终端发起数据读取请求后,获取预先配置的访问策略,根据数据读取请求携带的数据标识利用预设的访问控制算法计算对应的访问节点标识。终端则将数据读取请求发送至访问节点标识对应的存储服务器。该存储服务器则为主存储服务器或从存储服务器。该存储服务器获取数据读取请求后,根据数据标识获取对应的待读取数据并返回给终端。通过配置访问策略,终端可以向主存储服务器或从存储服务器获取数据,由此在大量请求访问时能够对大量请求进行均衡,从而能够对终端发起的请求进行高效处理。
如图9所示,在一个具体的实施例中,分布式数据存储方法包括以下步骤:
步骤S902,获取终端发送的数据写入请求,数据写入请求携带待存储数据。
步骤S904,将数据写入请求在主存储集群中进行广播;使主存储集群中的各个主存储服务器对数据写入请求进行验证。
步骤S906,接收主存储集群中的各个主存储服务器返回的验证反馈信息;当验证反馈信息表示数据写入请求被主存储集群中超过半数的主存储服务器接受时,确定一致性校验通过。
步骤S908,将待存储数据同步存储至主存储集群中的各个主存储服务器。
步骤S910,当待存储数据成功写入主存储集群中的各个主存储服务器后,生成待存储数据对应的反馈信息;将反馈信息返回至终端。
步骤S912,利用待存储数据针对从存储集群中的各个从存储服务器生成对应的数据同步指令。
步骤S914,根据数据同步指令分别创建每个数据同步指令对应的线程队列。
步骤S916,根据线程队列按照预设频率将待存储数据发送至从存储集群中的各个从存储服务器;从存储服务器用于根据数据同步指令和待存储数据生成对应的内存队列,根据内存队列和已接收的待存储数据的数据标识生成同步进度表。
步骤S918,获取从存储服务器反馈的同步进度表,根据同步进度表监测数据同步状态。
步骤S920,当监测到同步进度表中存在重传指令时,根据重传指令对应的数据标识将未传输的待存储数据生成待重传数据。
步骤S922,根据同步进度表将待重传数据重传至对应的从存储服务器。
上述分布式数据存储方法中,主存储服务器获取终端发送的数据写入请求后,将数据写入请求发送至主存储集群对数据写入请求对应的待存储数据进行一致性验证,校验通过后再将待存储数据同步存储至主存储集群中的各个主存储服务器,从而能够有效保证主存储集群中存储的数据的强一致性。当待存储数据成功写入主存储集群中的各个主存储服务器后,将待存储数据打包生成数据同步指令并发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器,从而能够有效将待存储数据异步存储至从存储集群的所有从存储服务器中。通过将待存储数据进行验证后同步存储至主存储集群中的各个主存储服务器,再将待存储数据异步存储至从存储集群的所有从存储服务器,由此能够在主存储集群和从存储集群中达成数据的强一致性和最终一致性,从而有效保证了数据存储的效率和数据一致性。
应该理解的是,虽然图2、8、9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、8、9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种分布式数据存储系统,该系统可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该系统具体包括:终端1002、主存储集群1004和从存储集群1006,其中:
终端1002,用于发起数据写入请求,数据写入请求携带待存储数据;
主存储集群1004,主存储集群包括主存储服务器10041,主存储服务器用于获取终端发送的数据写入请求;将数据写入请求发送至主存储集群中进行验证;验证通过后将待存储数据同步存储至主存储集群中的各个主存储服务器;当待存储数据成功写入主存储集群中的各个主存储服务器后,利用待存储数据生成数据同步指令;将数据同步指令发送至从存储集群,根据数据同步指令将待存储数据异步存储至从存储集群中的各个从存储服务器;
从存储集群1006,从存储集群包括从存储服务器10061,用于接收主存储服务器发送的数据同步指令,根据数据同步指令对待存储数据进行存储。
在一个实施例中,主存储服务器10041还用于将数据写入请求在主存储集群中进行广播;使主存储集群中的各个主存储服务器对数据写入请求进行验证;接收主存储集群中的各个主存储服务器返回的验证反馈信息;当验证反馈信息表示数据写入请求被主存储集群中超过半数的主存储服务器接受时,确定一致性校验通过。
在一个实施例中,主存储服务器10041还用于利用待存储数据针对从存储集群中的各个从存储服务器生成对应的数据同步指令;根据数据同步指令分别创建每个数据同步指令对应的线程队列;根据线程队列分别将数据同步指令发送至从存储集群中的各个从存储服务器;从存储服务器用于根据数据同步指令对待存储数据进行异步存储。
在一个实施例中,主存储服务器10041还用于根据线程队列按照预设频率将待存储数据发送至从存储集群中的各个从存储服务器;从存储服务器10061用于根据数据同步指令和待存储数据生成对应的内存队列,根据内存队列和已接收的待存储数据的数据标识生成同步进度表,根据线程队列将同步进度表返回至主存储服务器。
在一个实施例中,主存储服务器10041还用于获取从存储服务器反馈的同步进度表,根据同步进度表监测数据同步状态;当监测到同步进度表中存在重传指令时,根据重传指令对应的数据标识将未传输的待存储数据生成待重传数据;根据同步进度表将待重传数据重传至对应的从存储服务器。
在一个实施例中,主存储集群中包括至少三个主存储服务器10041,主存储服务器的数量为奇数。
在一个实施例中,主存储服务器10041还用于当待存储数据成功写入主存储集群中的各个主存储服务器10041后,生成待存储数据对应的反馈信息;将反馈信息返回至终端。
在一个实施例中,主存储服务器10041还用于获取终端发送的数据读取请求,数据读取请求包括待读取数据的数据标识;将数据读取请求在主存储集群中进行广播;使主存储集群中的各个主存储服务器对数据读取请求对应的待读取数据进行状态验证;确认待读取数据的状态;当待读取数据的状态验证通过时,获取数据标识对应的待读取数据,将待读取数据返回至终端。
在一个实施例中,主存储服务器10041还用于当数据读取请求校验未通过时,将数据读取请求转发至从存储集群中的从存储服务器;使从存储服务器获取数据标识对应的待读取数据,将待读取数据返回至终端。
在一个实施例中,终端1002还用于发起数据读取请求;根据数据读取请求获取访问策略,根据访问策略计算数据读取请求对应的访问节点标识,根据访问节点标识将所述数据读取请求发送至相应的存储服务器。
关于分布式数据存储系统的具体限定可以参见上文中对于分布式数据存储方法的限定,在此不再赘述。上述分布式数据存储系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是主存储服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式数据存储方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(RandomAccessMemory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccessMemory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种分布式数据存储方法,其特征在于,所述方法包括:
在主存储集群中的第一主存储服务器获取终端发送的数据写入请求后,通过所述第一主存储服务器将所述数据写入请求发送至主存储集群中的、且除所述第一主存储器之外的各个主存储服务器,使各所述主存储服务器分别对所述数据写入请求携带的待存储数据进行一致性校验;
通过所述第一主存储服务器接收所述各个主存储服务器各自返回的验证反馈信息;所述验证反馈信息用于表征所述数据写入请求是否被接受;
当根据所述验证反馈信息确定所述数据写入请求被所述主存储集群中超过半数的主存储服务器接受时,所述第一主存储服务器则判定所述一致性校验通过;
当所述一致性校验通过后,通过所述第一主存储服务器通知所述各个主存储服务器写入所述待存储数据;所述主存储集群中所存储的数据,用于为数据读取请求提供对应的待读取数据;
在接收到所述各个主存储服务器返回的写入成功的反馈消息后,在所述第一主存储服务器中存储所述待存储数据;
在所述待存储数据成功写入所述主存储集群中的每个主存储服务器后,向所述终端返回与所述待存储数据对应的反馈信息;
基于所述待存储数据向从存储集群发送数据同步指令,根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器;所述从存储集群所存储的数据,用于当所述主存储集群中与数据读取请求对应的待读取数据存在异常时,为所述数据读取请求提供对应的待读取数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器包括:
利用所述待存储数据针对所述从存储集群中的各个从存储服务器生成对应的数据同步指令;
根据所述数据同步指令分别创建每个数据同步指令对应的线程队列;
根据所述线程队列分别将数据同步指令发送至所述从存储集群中的各个从存储服务器;所述从存储服务器用于根据所述数据同步指令对所述待存储数据进行异步存储。
3.根据权利要求2所述的方法,其特征在于,所述待存储数据包括数据标识;所述根据所述线程队列分别将数据同步指令发送至所述从存储集群中的各个从存储服务器包括:
根据所述线程队列按照预设频率将所述待存储数据发送至所述从存储集群中的各个从存储服务器;所述从存储服务器用于根据所述数据同步指令和所述待存储数据生成对应的内存队列,根据所述内存队列和已接收的待存储数据的数据标识生成同步进度表,根据所述线程队列将所述同步进度表返回至主存储服务器。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述从存储服务器反馈的同步进度表,根据所述同步进度表监测数据同步状态;
当监测到所述同步进度表中存在重传指令时,根据所述重传指令对应的数据标识将未传输的待存储数据生成待重传数据;
根据所述同步进度表将所述待重传数据重传至对应的从存储服务器。
5.根据权利要求1所述的方法,其特征在于,所述主存储集群中包括至少三个主存储服务器,所述主存储服务器的数量为奇数。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述待存储数据成功写入所述主存储集群中的各个主存储服务器后,生成所述待存储数据对应的反馈信息;
将所述反馈信息返回至所述终端。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
获取所述终端发送的数据读取请求,所述数据读取请求包括待读取数据的数据标识;
将所述数据读取请求在所述主存储集群中进行广播;使所述主存储集群中的各个主存储服务器对所述数据读取请求对应的待读取数据进行状态验证;确认待读取数据的状态;
当所述待读取数据的状态验证通过时,获取所述数据标识对应的待读取数据,将所述待读取数据返回至所述终端。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述数据读取请求校验未通过时,将所述数据读取请求转发至所述从存储集群中的从存储服务器;使所述从存储服务器获取所述数据标识对应的待读取数据,将所述待读取数据返回至所述终端。
9.一种分布式数据存储系统,其特征在于,所述系统包括:
终端,用于发起数据写入请求,所述数据写入请求携带待存储数据;
主存储集群,所述主存储集群包括第一主存储服务器和除第一主存储器之外的各个主存储服务器,所述第一主存储服务器用于获取终端发送的数据写入请求;将所述数据写入请求数据写入请求发送至主存储集群中的、且除所述第一主存储器之外的各个主存储服务器,使各所述主存储服务器分别对所述待存储数据进行一致性校验;所述第一主存储服务器还用于接收所述各个主存储服务器各自返回的验证反馈信息;所述验证反馈信息用于表征所述数据写入请求是否被接受;当根据所述验证反馈信息确定所述数据写入请求被所述主存储集群中超过半数的主存储服务器接受时,则判定所述一致性校验通过;当所述一致性校验通过后,所述第一主存储服务器还用于通知所述各个主存储服务器写入所述待存储数据;在接收到所述各个主存储服务器返回的写入成功的反馈消息后,在所述第一主存储服务器中存储所述待存储数据;所述主存储集群中所存储的数据,用于为数据读取请求提供对应的待读取数据;所述第一主存储服务器还用于在所述待存储数据成功写入所述主存储集群中的每个主存储服务器后,向所述终端返回与所述待存储数据对应的反馈信息;基于所述待存储数据向从存储集群发送数据同步指令,根据所述数据同步指令将所述待存储数据异步存储至所述从存储集群中的各个从存储服务器;所述从存储集群所存储的数据,用于当所述主存储集群中与数据读取请求对应的待读取数据存在异常时,为所述数据读取请求提供对应的待读取数据;
从存储集群,所述从存储集群包括从存储服务器,用于接收所述主存储服务器发送的数据同步指令,根据所述数据同步指令对所述待存储数据进行存储。
10.根据权利要求9所述的系统,其特征在于,所述终端还用于发起数据读取请求;根据所述数据读取请求获取访问策略,根据所述访问策略计算所述数据读取请求对应的访问节点标识,根据所述访问节点标识将所述数据读取请求发送至相应的存储服务器。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202010142640.1A 2020-03-04 2020-03-04 分布式数据存储方法、系统、计算机设备和存储介质 Active CN111343277B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010142640.1A CN111343277B (zh) 2020-03-04 2020-03-04 分布式数据存储方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010142640.1A CN111343277B (zh) 2020-03-04 2020-03-04 分布式数据存储方法、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111343277A CN111343277A (zh) 2020-06-26
CN111343277B true CN111343277B (zh) 2021-12-14

Family

ID=71185825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010142640.1A Active CN111343277B (zh) 2020-03-04 2020-03-04 分布式数据存储方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111343277B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901389B (zh) * 2020-07-03 2023-07-04 北京达佳互联信息技术有限公司 数据更新方法、装置、服务器及存储介质
CN112000733B (zh) * 2020-07-17 2024-08-09 杭州海康威视数字技术股份有限公司 图数据存储的方法和装置
CN112818054B (zh) * 2020-10-15 2022-05-06 广州南天电脑系统有限公司 数据同步方法、装置、计算机设备和存储介质
CN112380183B (zh) * 2020-11-13 2024-05-24 深圳市和讯华谷信息技术有限公司 分布式文件的同步方法、装置、计算机设备及存储介质
CN112866406B (zh) * 2021-02-04 2023-03-24 中国建设银行股份有限公司 一种数据存储方法、系统、装置、设备及存储介质
CN113010498B (zh) * 2021-03-25 2023-08-08 腾讯科技(深圳)有限公司 一种数据同步方法、装置、计算机设备及存储介质
CN116266152A (zh) * 2021-12-16 2023-06-20 中移(苏州)软件技术有限公司 一种信息处理方法及装置、存储介质
CN114442959B (zh) * 2022-01-29 2024-08-13 北京百度网讯科技有限公司 多地域存储系统的数据写入方法、装置及系统
CN114625573A (zh) * 2022-03-28 2022-06-14 阿里巴巴(中国)有限公司 容灾系统、实现全局服务组件的方法以及装置
CN114785662B (zh) * 2022-03-30 2023-06-13 新华三信息技术有限公司 一种存储管理方法、装置、设备及机器可读存储介质
CN114415984B (zh) * 2022-03-31 2022-08-16 阿里云计算有限公司 数据处理方法及装置
CN114979180B (zh) * 2022-05-24 2024-05-17 超聚变数字技术有限公司 数据同步方法、系统及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484187B1 (en) * 2000-04-28 2002-11-19 International Business Machines Corporation Coordinating remote copy status changes across multiple logical sessions to maintain consistency
CN103530362A (zh) * 2013-10-12 2014-01-22 清华大学 一种用于多副本分布式系统的计算机数据读写方法
CN103548010A (zh) * 2011-05-23 2014-01-29 微软公司 分布式存储环境中的同步复制
CN105407117A (zh) * 2014-09-10 2016-03-16 腾讯科技(深圳)有限公司 分布式备份数据的方法、装置和系统
CN107295080A (zh) * 2017-06-19 2017-10-24 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器
CN108123976A (zh) * 2016-11-30 2018-06-05 阿里巴巴集团控股有限公司 集群间的数据备份方法、装置及系统
CN110795503A (zh) * 2019-10-18 2020-02-14 北京达佳互联信息技术有限公司 分布式存储系统的多集群数据同步方法及相关装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090222B (zh) * 2018-01-05 2020-07-07 中国科学院计算技术研究所 一种数据库集群节点间数据同步系统
CN109165261A (zh) * 2018-10-10 2019-01-08 深圳市欧瑞博科技有限公司 数据同步方法、装置、服务器及计算机存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6484187B1 (en) * 2000-04-28 2002-11-19 International Business Machines Corporation Coordinating remote copy status changes across multiple logical sessions to maintain consistency
CN103548010A (zh) * 2011-05-23 2014-01-29 微软公司 分布式存储环境中的同步复制
CN103530362A (zh) * 2013-10-12 2014-01-22 清华大学 一种用于多副本分布式系统的计算机数据读写方法
CN105407117A (zh) * 2014-09-10 2016-03-16 腾讯科技(深圳)有限公司 分布式备份数据的方法、装置和系统
CN108123976A (zh) * 2016-11-30 2018-06-05 阿里巴巴集团控股有限公司 集群间的数据备份方法、装置及系统
CN107295080A (zh) * 2017-06-19 2017-10-24 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器
CN110795503A (zh) * 2019-10-18 2020-02-14 北京达佳互联信息技术有限公司 分布式存储系统的多集群数据同步方法及相关装置

Also Published As

Publication number Publication date
CN111343277A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111343277B (zh) 分布式数据存储方法、系统、计算机设备和存储介质
US10666778B1 (en) System and method for ending view change protocol
CN107295080B (zh) 应用于分布式服务器集群的数据存储方法和服务器
CN114338651B (zh) 文件传输方法、装置、电子设备及可读存储介质
US10877829B2 (en) System and method for ending view change protocol
US10749954B2 (en) Cross-data center hierarchical consensus scheme with geo-aware leader election
US9798639B2 (en) Failover system and method replicating client message to backup server from primary server
US9917884B2 (en) File transmission method, apparatus, and distributed cluster file system
WO2019100598A1 (zh) 交易处理方法、装置、计算机设备及存储介质
CN113612614B (zh) 基于区块链网络的共识容灾方法、装置、设备和存储介质
KR20050071358A (ko) 간략화된 팩소스 알고리즘을 이용한 분산 컴퓨팅 시스템의동작 방법, 컴퓨터 판독가능 매체 및 컴퓨팅 장치
US20220027970A1 (en) Method and apparatus for agreement of block in blockchain network
CN113703954A (zh) 一种消息备份方法、装置、电子设备及计算机存储介质
CN108418859B (zh) 写数据的方法和装置
KR102447063B1 (ko) 개선된 pbft 기반의 블록체인 관리 방법, 블록체인 시스템 및 노드 장치
CN118193238A (zh) 一种业务信息的处理方法、装置、设备及存储介质
CN111813795B (zh) 在区块链网络中确认交易的方法及装置
CN112819592B (zh) 业务请求处理方法、系统、计算机设备和存储介质
CN111314393B (zh) 基于区块链的数据处理方法、装置及设备
US10489239B2 (en) Multiplexing system, multiplexing method, and computer program product
US20190075194A1 (en) Fault Tolerant Communication in a Distributed System
CN117555493B (zh) 数据处理方法、系统、装置、存储介质及电子设备
AU2019101575A4 (en) System and method for ending view change protocol
CN118540302A (zh) 映射规则分配方法、装置、计算机设备和存储介质
CN116760849A (zh) 一种基于Netty框架的分布式存储方法及系统

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40023647

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant