CN105468302A - 一种处理数据的方法、装置及*** - Google Patents

一种处理数据的方法、装置及*** Download PDF

Info

Publication number
CN105468302A
CN105468302A CN201510818833.3A CN201510818833A CN105468302A CN 105468302 A CN105468302 A CN 105468302A CN 201510818833 A CN201510818833 A CN 201510818833A CN 105468302 A CN105468302 A CN 105468302A
Authority
CN
China
Prior art keywords
node
data
write
memory system
distributed memory
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.)
Granted
Application number
CN201510818833.3A
Other languages
English (en)
Other versions
CN105468302B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510818833.3A priority Critical patent/CN105468302B/zh
Publication of CN105468302A publication Critical patent/CN105468302A/zh
Priority to PCT/CN2016/099590 priority patent/WO2017088572A1/zh
Application granted granted Critical
Publication of CN105468302B publication Critical patent/CN105468302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

本发明公开了一种处理数据的方法、装置及***,属于计算机技术领域。所述方法包括:向分布式存储***发送读取请求,所述分布式存储***包括N个节点,N≥2且N为整数;接收所述N个节点中的R个节点根据所述读取请求发送的数据,所述R个节点发送的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N且R、W均为整数;选择所述R个节点发送的数据中版本号最新的数据。本发明保证读取的数据是最新的,实现了数据的强一致性,为用户使用提供了方便。

Description

一种处理数据的方法、装置及***
技术领域
本发明涉及计算机技术领域,特别涉及一种处理数据的方法、装置及***。
背景技术
分布式存储***是将数据分散存储在多***立的设备上,以提高数据存储的可靠性、可用性、以及存储效率。分布式存储***包括多个存储数据的节点,各个节点存储的数据最终具有一致性。但是在数据写入的过程中,由于各个节点写入数据不同步,因此是以内存中写入数据的节点数量是否达到阈值判断数据是否成功写入分布式存储***。
基于分布式存储***中的各个节点存储的数据可能不一致,目前采用法定人数(Quorum)机制读取数据:客户端向分布式存储***中的R个节点发送读取请求,N-W<R≤N且N、W、R为整数,N为分布式存储***中的节点数量,W为判断数据是否成功写入分布式存储***的节点数量阈值;R个节点根据读取请求向客户端发送各自存储的数据;客户端选择R个节点发送的数据中版本号最新的数据。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
客户端选择R个节点发送的数据中版本号最新的数据,但是内存中写入该数据的节点数量可能小于W,即该数据并未成功写入分布式存储***,造成客户端读取数据错误,为用户造成不便。
发明内容
为了解决现有技术造成客户端读取数据错误,为用户造成不便的问题,本发明实施例提供了一种处理数据的方法、装置及***。所述技术方案如下:
第一方面,本发明实施例提供了一种处理数据的方法,所述方法包括:
向分布式存储***发送读取请求,所述分布式存储***包括N个节点,N≥2且N为整数;
接收所述N个节点中的R个节点根据所述读取请求发送的数据,所述R个节点发送的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N且R、W均为整数;
选择所述R个节点发送的数据中版本号最新的数据。
通过R个节点的数据均写入过N个节点中的至少W个节点的内存中,W为用于判断数据是否成功写入分布式存储***的节点数量阈值,从而避免了由于读取的数据未成功写入分布式存储***而造成客户端读取的数据错误的情况。而且通过获取分布式存储***中的R个节点的数据,并选择R个节点的数据中版本号最新的数据,N-W<R≤N,N为分布式存储***的节点数量,从而保证读取的数据是最新的,实现了数据的强一致性,为用户使用提供了方便。
第二方面,本发明实施例提供了一种处理数据的方法,所述方法包括:
接收第一客户端发送的读取请求;
根据所述读取请求向所述第一客户端发送分布式存储***中的R个节点的数据,所述分布式存储***包括N个节点,所述R个节点的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N、W≤N、N≥2且N、R、W均为整数。
通过R个节点的数据均写入过N个节点中的至少W个节点的内存中,W为用于判断数据是否成功写入分布式存储***的节点数量阈值,从而避免了由于读取的数据未成功写入分布式存储***而造成客户端读取的数据错误的情况。而且通过获取分布式存储***中的R个节点的数据,并选择R个节点的数据中版本号最新的数据,N-W<R≤N,N为分布式存储***的节点数量,从而保证读取的数据是最新的,实现了数据的强一致性,为用户使用提供了方便。
在第二方面一种可能的实现方式中,所述方法还包括:
接收第二客户端发送的写入请求,所述写入请求包括待写入数据;
根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中;
当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
当内存中写入待写入数据的节点数量小于W时,分布式存储***不会向第二客户端发送响应消息,第二客户端若在设定时间没有收到响应消息,则判定待写入数据未成功写入分布式存储***,重新发送写入请求和写入待写入数据直到内存中写入待写入数据的节点数量大于或等于W时接收到分布式存储***发送的响应消息,从而确保读取的数据成功写入分布式存储***中。
可选地,所述接收第二客户端发送的写入请求,包括:
所述分布式存储***中的第一节点接收所述写入请求,所述第一节点为所述分布式存储***中的一个设定节点或者所述分布式存储***中的任意一个节点。
第一节点可以为分布式存储***中的一个设定节点,也可以为分布式存储***中的任意一个节点。若第一节点为分布式存储***中的任意一个节点,则可以有效避免由于设定节点故障而无法写入待写入数据的问题。而且分布式存储***中的多个节点可以同时接收写入请求进行数据写入,与分布式存储***中只有一个设定节点可以接收写入请求进行数据写入相比,数据写入效率提升至N倍,N为分布式存储***的节点数量。
优选地,所述根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中,包括:
所述第一节点根据所述写入请求将所述待写入数据写入磁盘中,并向所述分布式存储***中的其它节点发送所述写入请求,所述其它节点为所述分布式存储***中除所述第一节点之外的所有节点,所述写入请求用于指示所述其它节点将所述待写入数据写入各自的磁盘中;
所述第一节点接收并统计所述其它节点发送的接受消息,所述接受消息是所述其它节点将所述待写入数据写入各自的磁盘后发送的;
当接收到的所述接受消息的个数大于或等于W时,所述第一节点将所述待写入数据写入内存中,并向所述其它节点发送承诺消息,所述承诺消息用于指示所述其它节点将所述待写入数据写入各自的内存中。
若节点故障,如掉电,则内存中的数据会丢失,此时内存会在故障恢复后按照磁盘中的数据进行恢复。利用该特点,先将数据写入磁盘中,从而确保无论节点是否故障,都能将数据写入内存中。
更优选地,所述当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,包括:
所述第一节点接收并统计所述其它节点发送的所述确认消息,所述确认消息是所述其它节点将所述待写入数据写入各自的内存后向所述第一节点发送的;
当接收到的所述确认消息的个数大于或等于W时,所述第一节点向所述第二客户端发送所述响应消息。
如前所述,当内存中写入待写入数据的节点数量小于W时,分布式存储***不会向第二客户端发送响应消息,第二客户端若在设定时间没有收到响应消息,则判定待写入数据未成功写入分布式存储***,重新发送写入请求和写入待写入数据直到内存中写入待写入数据的节点数量大于或等于W时接收到分布式存储***发送的响应消息,从而确保读取的数据成功写入分布式存储***中。
第三方面,本发明实施例提供了一种处理数据的方法,所述方法包括:
接收第二客户端发送的写入请求,所述写入请求包括待写入数据;
根据所述写入请求将所述待写入数据写入分布式存储***中的各个节点的内存中,所述分布式存储***包括N个节点,N≥2且N为整数;
当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,W≤N且W为正整数,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
在第三方面一种可能的实现方式中,所述接收第二客户端发送的写入请求,包括:
所述分布式存储***中的第一节点接收所述写入请求,所述第一节点为所述分布式存储***中的一个设定节点或者所述分布式存储***中的任意一个节点。
可选地,所述根据所述写入请求将所述待写入数据写入分布式存储***中的各个节点的内存中,包括:
所述第一节点根据所述写入请求将所述待写入数据写入磁盘中,并向所述分布式存储***中的其它节点发送所述写入请求,所述其它节点为所述分布式存储***中除所述第一节点之外的所有节点,所述写入请求用于指示所述其它节点将所述待写入数据写入各自的磁盘中;
所述第一节点接收并统计所述其它节点发送的接受消息,所述接受消息是所述其它节点将所述待写入数据写入各自的磁盘后发送的;
当接收到的所述接受消息的个数大于或等于W时,所述第一节点将所述待写入数据写入内存中,并向所述其它节点发送承诺消息,所述承诺消息用于指示所述其它节点将所述待写入数据写入各自的内存中。
优选地,所述当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,包括:
所述第一节点接收并统计所述其它节点发送的所述确认消息,所述确认消息是所述其它节点将所述待写入数据写入各自的内存后向所述第一节点发送的;
当接收到的所述确认消息的个数大于或等于W时,所述第一节点向所述第二客户端发送所述响应消息。
第四方面,本发明实施例提供了一种处理数据的装置,所述装置包括用于实现上述第一方面所述的方法的模块,例如读取请求发送模块、数据接收模块、数据选择模块。
第五方面,本发明实施例提供了一种处理数据的装置,所述装置用于实现上述第二方面所述的方法的模块,例如读取请求接收模块、数据发送模块。
第六方面,本发明实施例提供了一种处理数据的装置,所述装置用于实现上述第三方面所述的方法的模块,例如写入请求接收模块、数据写入模块、写入响应发送模块。
第七方面,本发明实施例提供了一种处理数据的***,所述***包括:
第一客户端,用于向分布式存储***发送读取请求,所述分布式存储***包括N个节点,N≥2且N为整数;
所述分布式存储***,用于根据所述读取请求向所述第一客户端发送分布式存储***中的R个节点的数据,所述R个节点的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N、W≤N且R、W均为整数;
所述第一客户端还用于,选择所述R个节点发送的数据中版本号最新的数据。
第八方面,本发明实施例提供了一种处理数据的***,所述***包括:
第二客户端,用于向分布式存储***发送写入请求,所述分布式存储***包括N个节点,N≥2且N为整数,所述写入请求包括待写入数据;
所述分布式存储***,用于根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中;当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,W≤N且W为整数,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
本发明实施例提供的技术方案带来的有益效果是:
通过R个节点的数据均写入过N个节点中的至少W个节点的内存中,W为用于判断数据是否成功写入分布式存储***的节点数量阈值,从而避免了由于读取的数据未成功写入分布式存储***而造成客户端读取的数据错误的情况。而且通过获取分布式存储***中的R个节点的数据,并选择R个节点的数据中版本号最新的数据,N-W<R≤N,N为分布式存储***的节点数量,从而保证读取的数据是最新的,实现了数据的强一致性,为用户使用提供了方便。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的处理数据的方法的应用场景图;
图2是本发明实施例提供的客户端的结构示意图;
图3是本发明实施例提供的分布式存储***中的节点的结构示意图;
图4是本发明实施例提供的一种处理数据的方法的流程图;
图5是本发明实施例提供的一种处理数据的装置的结构示意图;
图6是本发明实施例提供的一种处理数据的装置的结构示意图;
图7是本发明实施例提供的一种处理数据的***的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
下面先结合图1简单介绍一下本发明实施例提供的处理数据的方法的应用场景。如图1所示,分布式存储***10包括多个存储数据的节点11,各个节点11之间相互连接。至少一个客户端20与分布式存储***10连接,客户端20可以向分布式存储***10中写入数据,也可以从分布式存储***10中读取数据。
在实际应用中,分布式存储***10和客户端20可以应用于银行交易***、邮件***、广告服务***、业务查询***等。
例如,在银行交易***中将账户A中的资金转移到账户B中,账户A的用户通过客户端a登录账户A进行资金转移,分布式存储***根据客户端a的写入请求,将更新后的资金数据分别写入账户A和账户B,并将账户A更新后的资金数据反馈到客户端a,账户A的用户通过客户端a可以获知资金成功转移,此为数据写入过程。此时账户B的用户通过客户端b登录账户B进行查询,分布式存储***又根据客户端b的查询请求,将账户B之前由于转移资金而更新的资金数据反馈到客户端b,账户B的用户通过客户端b也可以获知资金成功转移,此为数据读取过程。
又如,在业务查询***中,某个用户通过客户端c查询分布式存储***b存储的业务信息,分布式存储***b根据客户端c的读取请求,将相应的业务信息反馈给客户端c,此为数据读取过程。
具体地,分布式存储***10可以为分布式数据库***、集群配置数据库(ClusterConfigDatabase,简称CCDB)、Zookeeper(分布式的、开放源码的分布式应用程序协调服务)等。客户端20可以为移动终端、平板电脑、笔记本电脑、台式电脑等。
在具体实现中,客户端20可以采用图2所示的结构,客户端20可以为手机、平板电脑、笔记本电脑、台式计算机等,如图2所示,客户端20包括存储器210、处理器220、发送器230和接收器240。本领域技术人员可以理解,图2中示出的客户端结构并不构成对客户端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器220是客户端20的控制中心,利用各种接口和线路连接整个客户端20的各个部分,通过运行或执行存储在存储器210内的软件程序和/或模块,以及调用存储在存储器210内的数据,执行客户端20的各种功能和处理数据,从而对客户端20进行整体控制。可选的,处理器220可包括一个或多个处理核心。
存储器210可用于存储各种数据,例如各种配置参数,以及存储软件程序以及模块。处理器220通过运行存储在存储器210的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器210可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作***211、读取请求发送模块212、数据接收模块213和数据选择模块214,还可存储写入请求发送模块215、写入响应接收模块216等;存储数据区可存储根据客户端20的使用所创建的数据,例如根据读取请求读取的数据等。此外,存储器210可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(StaticRandomAccessMemory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammableReadOnlyMemory,简称EPROM),可编程只读存储器(ProgrammableRead-OnlyMemory,简称PROM),只读存储器(ReadOnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。相应地,存储器210还可以包括存储器控制器,以提供处理器220对存储器210的访问。
发送器230,用于发送根据处理器220的指示,将读取请求告知分布式存储***10,从而使分布式存储***10根据读取请求读取数据,并将读取的数据发送给客户端20。可选地,发送器230还用于向分布式存储***10发送写入请求。
接收器240,用于接收分布式存储***10发送的根据读取请求读取的数据。可选地,接收器240还用于接收数据写入分布式存储***10中至少W个节点的内存后发送的响应消息。
分布式存储***中的节点10可以采用图3所示的结构,如图3所示,分布式存储***中的节点10包括存储器110、处理器120、发送器130和接收器140。图3中示出的分布式存储***10中的节点结构并不构成对分布式存储***中的节点的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器120是分布式存储***10中的节点的控制中心,利用各种接口和线路连接整个分布式存储***10中的节点的各个部分,通过运行或执行存储在存储器110内的软件程序和/或模块,以及调用存储在存储器110内的数据,执行分布式存储***10中的节点的各种功能和处理数据,从而对分布式存储***10中的节点进行整体控制。可选的,处理器120可包括一个或多个处理核心。
存储器110可用于存储各种数据,例如各种配置参数,以及存储软件程序以及模块。处理器120通过运行存储在存储器110的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器110可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作***111、读取请求接收模块112、数据发送模块113,还可存储写入请求接收模块114、数据写入模块115、写入响应发送模块116等;存储数据区可存储根据分布式存储***10中的节点的使用所创建的数据,例如根据读取请求读取的数据等。此外,存储器110可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(StaticRandomAccessMemory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasableProgrammableRead-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(ErasableProgrammableReadOnlyMemory,简称EPROM),可编程只读存储器(ProgrammableRead-OnlyMemory,简称PROM),只读存储器(ReadOnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。相应地,存储器110还可以包括存储器控制器,以提供处理器120对存储器110的访问。
接收器140,用于接收客户端20发送的读取请求。可选地,发送器130还用于接收客户端20发送的写入请求。
发送器130,用于根据处理器120的指示,向客户端20发送分布式存储***10中的R个节点的数据。可选地,发送器130还用于根据处理器120的指示,向客户端20发送数据写入分布式存储***10中至少W个节点的内存后发送的响应消息。
图4示出了本发明实施例提供的一种处理数据的方法,该方法应用于图2所示的客户端和图3所示的分布式存储***来举例说明,参见图4,该方法包括:
步骤301:第二客户端向分布式存储***发送写入请求。
在本实施例中,分布式存储***包括N个节点,N≥2且N为整数。一个节点可以为一个服务器,各个服务器之间相互独立。
写入请求包括待写入数据。可以理解地,写入请求还可以包括目的地址、源地址、以及待写入数据的标识。目的地址用于将写入请求准确发送到分布式存储***;源地址用于分布式存储***在接收到写入请求之后回应第二客户端,如发送响应消息;待写入数据的标识用于区分各个数据,分布式存储***中的节点可以根据标识确定数据的存储位置。
具体地,该步骤301可以包括:
第二客户端向分布式存储***中的第一节点发送写入请求。
在具体实现中,在配置客户端和分布式存储***时,可以在客户端和分布式存储***中存储配置文件,配置文件中包括分布式存储***中的节点数量、判断数据是否成功写入分布式集群***中的节点数量阈值、各个节点的地址等信息,第二客户端直接从配置文件中获取第一节点的地址,并按照该地址发送写入请求。
可选地,第一节点可以为分布式存储***中的一个设定节点,也可以为分布式存储***中的任意一个节点。若第一节点为分布式存储***中的一个设定节点,则第一节点可以是人为设置的,也可以是分布式存储***中的所有节点协商决定的(第一设定节点变动时会通知各个节点和客户端),本发明对此不作限制。
若第一节点为分布式存储***中的任意一个节点,则可以有效避免由于设定节点故障而无法写入待写入数据的问题。而且分布式存储***中的多个节点可以同时接收写入请求进行数据写入,与分布式存储***中只有一个设定节点可以接收写入请求进行数据写入相比,数据写入效率提升至N倍,N为分布式存储***的节点数量。
步骤302:分布式存储***根据写入请求将待写入数据写入分布式存储***中的各个节点的内存中。
需要说明的是,由于客户端是从分布式存储***中的至少一个节点的内存中读取数据,因此待写入数据需要写入分布式存储***中的各个节点的内存中。
优选地,该步骤302可以包括:
第一节点根据写入请求将待写入数据写入磁盘中,并向分布式存储***中的其它节点发送写入请求,其它节点为分布式存储***中除第一节点之外的所有节点;
其它节点根据写入请求将待写入数据写入各自的磁盘中,并向第一节点发送接受消息;
第一节点接收并统计其它节点发送的接受消息;
当接收到的接受消息的个数大于或等于W时,第一节点将待写入数据写入内存中,并向其它节点发送承诺消息;
其它节点根据承诺消息将待写入数据写入各自的内存中。
在本实施例中,W≤N且W为正整数,N为分布式存储***的节点数量,W为判断数据是否成功写入分布式存储***的节点数量阈值。
需要说明的是,若节点故障,如掉电,则内存中的数据会丢失,此时内存会在故障恢复后按照磁盘中的数据进行恢复。利用该特点,先将数据写入磁盘中,从而确保无论节点是否故障,都能将数据写入内存中。
步骤303:当内存中写入待写入数据的节点数量大于或等于W时,分布式存储***向第二客户端发送响应消息。
在本实施例中,响应消息用于表示待写入数据成功写入分布式存储***。
可以理解地,当内存中写入待写入数据的节点数量小于W时,分布式存储***不会向第二客户端发送响应消息,第二客户端若在设定时间没有收到响应消息,则判定待写入数据未成功写入分布式存储***,重新开始执行步骤301,直到内存中写入待写入数据的节点数量大于或等于W时接收到分布式存储***发送的响应消息,从而确保读取的数据成功写入分布式存储***中。
具体地,该步骤303可以包括:
其它节点将待写入数据写入各自的内存后向第一节点发送确认消息;
第一节点接收并统计其它节点发送的确认消息;
当接收到的确认消息的个数大于或等于W时,第一节点向第二客户端发送响应消息。
需要说明的是,步骤301-步骤303实现了将数据写入分布式存储***中。
步骤304:第一客户端向分布式存储***发送读取请求。
在实际应用中,第一客户端和第二客户端可以为不同的客户端。
读取请求可以包括目的地址、源地址、以及待读取数据的标识。目的地址用于将读取请求准确发送到分布式存储***;源地址用于分布式存储***在接收到读取请求之后回应第一客户端,如待读取数据;待读取数据的标识用于区分各个数据,分布式存储***中的节点可以根据标识确定数据的存储位置。
具体地,该步骤304可以包括:
第一客户端向分布式存储***中的R个节点发送读取请求。
在本实施例中,N-W<R≤N且R为整数,N为分布式存储***的节点数量,W为判断数据是否成功写入分布式存储***的节点数量阈值。
需要说明的是,分布式存储***中接收读取请求的R个节点是任意的,因此可以同时有多组R个节点分别接收不同的读取请求进行数据读取,与分布式存储***中只有一个设定节点接收读取请求进行数据读取相比,每秒查询率(QueryPerSecond,简称QPS)提升到1+(N-1)/R倍,N为分布式存储***的节点数量。
在具体应用中,在配置客户端和分布式存储***时,可以在客户端和分布式存储***中存储配置文件,配置文件中包括分布式存储***中的节点数量、判断数据是否成功写入分布式集群***中的节点数量阈值、各个节点的地址等信息,第一客户端直接从配置文件中获取R个节点的地址,并按照该地址发送写入请求。
步骤305:分布式存储***根据读取请求向第一客户端发送分布式存储***中的R个节点的数据。
在本实施例中,R个节点的数据均写入过N个节点中的至少W个节点的内存中,N-W<R≤N,N为分布式存储***的节点数量,W为判断数据是否成功写入分布式存储***的节点数量。
其中,R个节点的数据均写入过N个节点中的至少W个节点的内存中,包括R个节点中的至少一个数据写入N个节点中的至少W个节点的内存中、以及R个节点中的其它数据曾经写入过N个节点中的至少W个节点的内存中。比如,R个节点的数据包括数据A和数据B,数据B是数据A更新后的数据,在数据B写入分布式存储***之前,数据A写入N个节点中的至少W个节点的内存中;在数据B写入分布式存储***之后,数据B写入N个节点中的至少W个节点的内存中。
具体地,该步骤305可以包括:
分布式存储***中的R个节点根据读取请求向第一客户端发送各自的数据。
步骤306:第一客户端选择R个节点的数据中版本号最新的数据。
在本实施例中,版本号是在数据写入过程中用于指示数据新旧的编号。例如,版本号为V2的数据是版本号为V1的数据更新后的数据。即若第一客户端读取的数据包括版本号为V2的数据和版本号为V1的数据,则第一客户端选择版本号为V2的数据。
需要说明的是,步骤304-步骤306实现了从分布式存储***中读取数据。
上述步骤的执行可以通过客户端和分布式存储***根据前述软件模块执行。例如,步骤301由客户端根据图2中的读取请求发送模块212和分布式存储***根据图3中的读取请求接收模块112执行,步骤302由分布式存储***根据图3中的数据发送模块113和客户端根据图2中的数据接收模块213执行,步骤303由客户端根据图2中的数据选择模块214执行,步骤304由客户端根据图2中的写入请求发送模块215和分布式存储***根据图3中的写入请求接收模块114执行,步骤305由分布式存储***根据图3中的数据写入模块115执行,步骤306由分布式存储***根据图3中的写入响应发送模块116和客户端根据图2中的写入响应接收模块216执行。
参见图5,其示出了本发明实施例提供的一种处理数据的装置,该装置可以通过软件、硬件或者两者的结合实现成为客户端的全部或者一部分。该装置包括:读取请求发送模块401、数据接收模块402和数据选择模块403。
其中,读取请求发送模块401用于向分布式存储***发送读取请求,分布式存储***包括N个节点,N≥2且N为整数。数据接收模块402用于接收N个节点中的R个节点根据读取请求发送的数据,R个节点发送的数据均写入过N个节点中的至少W个节点的内存中,W为判断数据是否成功写入分布式存储***的节点数量阈值,N-W<R≤N且R、W均为整数。数据选择模块403用于选择R个节点发送的数据中版本号最新的数据。
可选地,该装置还可以包括:写入请求发送模块404和写入响应接收模块405。
其中,写入请求发送模块404用于向分布式存储***发送写入请求,写入请求包括待写入数据。写入响应接收模块405用于接收响应消息,响应消息用于表示待写入数据成功写入分布式存储***。
参见图6,其示出了本发明实施例提供的一种处理数据的装置,该装置可以通过软件、硬件或者两者的结合实现成为分布式存储***的全部或者一部分。该装置包括:读取请求接收模块501和数据发送模块502。
其中,读取请求接收模块501用于接收第一客户端发送的读取请求。数据发送模块502用于根据读取请求向第一客户端发送分布式存储***中的R个节点的数据,分布式存储***包括N个节点,R个节点的数据均写入过N个节点中的至少W个节点的内存中,W为判断数据是否成功写入分布式存储***的节点数量阈值,N-W<R≤N、W≤N、N≥2且N、R、W均为整数。
可选地,该装置还可以包括:写入请求接收模块503、数据写入模块504和写入响应发送模块505。
其中,写入请求接收模块503用于接收第二客户端发送的写入请求,写入请求包括待写入数据。数据写入模块504用于根据写入请求将待写入数据写入分布式存储***中的各个节点的内存中。写入响应发送模块505用于当内存中写入待写入数据的节点数量大于或等于W时,向第二客户端发送响应消息,响应消息用于表示待写入数据成功写入分布式存储***。
优选地,写入请求接收模块503可以用于通过分布式存储***中的第一节点接收写入请求,第一节点为分布式存储***中的一个设定节点或者分布式存储***中的任意一个节点。
更优选地,数据写入模块504可以包括:磁盘写入单元504a、接受消息统计单元504b和内存写入单元504c。
其中,磁盘写入单元504a用于根据写入请求将待写入数据写入第一节点的磁盘中,并向分布式存储***中的其它节点发送写入请求,其它节点为分布式存储***中除第一节点之外的所有节点,写入请求用于指示其它节点将待写入数据写入各自的磁盘中。接受消息统计单元504b用于接收并统计其它节点发送的接受消息,接受消息是其它节点将待写入数据写入各自的磁盘后发送的。内存写入单元504c用于当接收到的接受消息的个数大于或等于W时,将待写入数据写入第一节点的内存中,并向其它节点发送承诺消息,承诺消息用于指示其它节点将待写入数据写入各自的内存中。
进一步地,写入响应发送模块505可以包括:确认消息统计单元505a和写入响应发送单元505b。
其中,确认消息统计单元505a用于接收并统计其它节点发送的确认消息,确认消息是其它节点将待写入数据写入各自的内存后向第一节点发送的。写入响应发送单元505b用于当接收到的确认消息的个数大于或等于W时,向第二客户端发送响应消息。
参见图7,其示出了本发明实施例提供的一种处理数据的***,该***可以包括第一客户端601和分布式存储***602.。
其中,第一客户端601用于向分布式存储***602发送读取请求,分布式存储***602包括N个节点,N≥2且N为整数。分布式存储***602用于根据读取请求向第一客户端601发送分布式存储***中的R个节点的数据,R个节点的数据均写入过N个节点中的至少W个节点的内存中,W为判断数据是否成功写入分布式存储***的节点数量阈值,N-W<R≤N、W≤N且R、W均为整数。第一客户端603还用于选择R个节点发送的数据中版本号最新的数据。
可选地,该***还可以包括第二客户端603。
其中,第二客户端603用于向分布式存储***602发送写入请求,写入请求包括待写入数据。相应地,分布式存储***602用于根据写入请求将待写入数据写入分布式存储***中的各个节点的内存中;当内存中写入待写入数据的节点数量大于或等于W时,向第二客户端发送响应消息,响应消息用于表示待写入数据成功写入分布式存储***。
需要说明的是:上述实施例提供的处理数据的装置在处理数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的处理数据的装置与处理数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种处理数据的方法,其特征在于,所述方法包括:
向分布式存储***发送读取请求,所述分布式存储***包括N个节点,N≥2且N为整数;
接收所述N个节点中的R个节点根据所述读取请求发送的数据,所述R个节点发送的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N且R、W均为整数;
选择所述R个节点发送的数据中版本号最新的数据。
2.一种处理数据的方法,其特征在于,所述方法包括:
接收第一客户端发送的读取请求;
根据所述读取请求向所述第一客户端发送分布式存储***中的R个节点的数据,所述分布式存储***包括N个节点,所述R个节点的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N、W≤N、N≥2且N、R、W均为整数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收第二客户端发送的写入请求,所述写入请求包括待写入数据;
根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中;
当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
4.根据权利要求3所述的方法,其特征在于,所述接收第二客户端发送的写入请求,包括:
所述分布式存储***中的第一节点接收所述写入请求,所述第一节点为所述分布式存储***中的一个设定节点或者所述分布式存储***中的任意一个节点。
5.根据权利要求4所述的方法,其特征在于,所述根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中,包括:
所述第一节点根据所述写入请求将所述待写入数据写入磁盘中,并向所述分布式存储***中的其它节点发送所述写入请求,所述其它节点为所述分布式存储***中除所述第一节点之外的所有节点,所述写入请求用于指示所述其它节点将所述待写入数据写入各自的磁盘中;
所述第一节点接收并统计所述其它节点发送的接受消息,所述接受消息是所述其它节点将所述待写入数据写入各自的磁盘后发送的;
当接收到的所述接受消息的个数大于或等于W时,所述第一节点将所述待写入数据写入内存中,并向所述其它节点发送承诺消息,所述承诺消息用于指示所述其它节点将所述待写入数据写入各自的内存中。
6.根据权利要求5所述的方法,其特征在于,所述当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,包括:
所述第一节点接收并统计所述其它节点发送的所述确认消息,所述确认消息是所述其它节点将所述待写入数据写入各自的内存后向所述第一节点发送的;
当接收到的所述确认消息的个数大于或等于W时,所述第一节点向所述第二客户端发送所述响应消息。
7.一种处理数据的方法,其特征在于,所述方法包括:
接收第二客户端发送的写入请求,所述写入请求包括待写入数据;
根据所述写入请求将所述待写入数据写入分布式存储***中的各个节点的内存中,所述分布式存储***包括N个节点,N≥2且N为整数;
当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,W≤N且W为正整数,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
8.根据权利要求7所述的方法,其特征在于,所述接收第二客户端发送的写入请求,包括:
所述分布式存储***中的第一节点接收所述写入请求,所述第一节点为所述分布式存储***中的一个设定节点或者所述分布式存储***中的任意一个节点。
9.根据权利要求8所述的方法,其特征在于,所述根据所述写入请求将所述待写入数据写入分布式存储***中的各个节点的内存中,包括:
所述第一节点根据所述写入请求将所述待写入数据写入磁盘中,并向所述分布式存储***中的其它节点发送所述写入请求,所述其它节点为所述分布式存储***中除所述第一节点之外的所有节点,所述写入请求用于指示所述其它节点将所述待写入数据写入各自的磁盘中;
所述第一节点接收并统计所述其它节点发送的接受消息,所述接受消息是所述其它节点将所述待写入数据写入各自的磁盘后发送的;
当接收到的所述接受消息的个数大于或等于W时,所述第一节点将所述待写入数据写入内存中,并向所述其它节点发送承诺消息,所述承诺消息用于指示所述其它节点将所述待写入数据写入各自的内存中。
10.根据权利要求9所述的方法,其特征在于,所述当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,包括:
所述第一节点接收并统计所述其它节点发送的所述确认消息,所述确认消息是所述其它节点将所述待写入数据写入各自的内存后向所述第一节点发送的;
当接收到的所述确认消息的个数大于或等于W时,所述第一节点向所述第二客户端发送所述响应消息。
11.一种处理数据的装置,其特征在于,所述装置包括:
读取请求发送模块,用于向分布式存储***发送读取请求,所述分布式存储***包括N个节点,N≥2且N为整数;
数据接收模块,用于接收所述N个节点中的R个节点根据所述读取请求发送的数据,所述R个节点发送的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N且R、W均为整数;
数据选择模块,用于选择所述R个节点发送的数据中版本号最新的数据。
12.一种处理数据的装置,其特征在于,所述装置包括:
读取请求接收模块,用于接收第一客户端发送的读取请求;
数据发送模块,用于根据所述读取请求向所述第一客户端发送分布式存储***中的R个节点的数据,所述分布式存储***包括N个节点,所述R个节点的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N、W≤N、N≥2且N、R、W均为整数。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
写入请求接收模块,用于接收第二客户端发送的写入请求,所述写入请求包括待写入数据;
数据写入模块,用于根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中;
写入响应发送模块,用于当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
14.根据权利要求13所述的装置,其特征在于,所述写入请求接收模块用于,
通过所述分布式存储***中的第一节点接收所述写入请求,所述第一节点为所述分布式存储***中的一个设定节点或者所述分布式存储***中的任意一个节点。
15.根据权利要求14所述的装置,其特征在于,所述数据写入模块包括:
磁盘写入单元,用于根据所述写入请求将所述待写入数据写入所述第一节点的磁盘中,并向所述分布式存储***中的其它节点发送所述写入请求,所述其它节点为所述分布式存储***中除所述第一节点之外的所有节点,所述写入请求用于指示所述其它节点将所述待写入数据写入各自的磁盘中;
接受消息统计单元,用于接收并统计所述其它节点发送的接受消息,所述接受消息是所述其它节点将所述待写入数据写入各自的磁盘后发送的;
内存写入单元,用于当接收到的所述接受消息的个数大于或等于W时,将所述待写入数据写入所述第一节点的内存中,并向所述其它节点发送承诺消息,所述承诺消息用于指示所述其它节点将所述待写入数据写入各自的内存中。
16.根据权利要求15所述的装置,其特征在于,所述写入响应发送模块包括:
确认消息统计单元,用于接收并统计所述其它节点发送的所述确认消息,所述确认消息是所述其它节点将所述待写入数据写入各自的内存后向所述第一节点发送的;
写入响应发送单元,用于当接收到的所述确认消息的个数大于或等于W时,向所述第二客户端发送所述响应消息。
17.一种处理数据的装置,其特征在于,所述装置包括:
写入请求接收模块,用于接收第二客户端发送的写入请求,所述写入请求包括待写入数据;
数据写入模块,用于根据所述写入请求将所述待写入数据写入分布式存储***中的各个节点的内存中,所述分布式存储***包括N个节点,N≥2且N为整数;
写入响应发送模块,用于当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,W≤N且W为正整数,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
18.根据权利要求17所述的装置,其特征在于,所述写入请求接收模块用于,
通过所述分布式存储***中的第一节点接收所述写入请求,所述第一节点为所述分布式存储***中的一个设定节点或者所述分布式存储***中的任意一个节点。
19.根据权利要求18所述的装置,其特征在于,所述数据写入模块包括:
磁盘写入单元,用于根据所述写入请求将所述待写入数据写入所述第一节点的磁盘中,并向所述分布式存储***中的其它节点发送所述写入请求,所述其它节点为所述分布式存储***中除所述第一节点之外的所有节点,所述写入请求用于指示所述其它节点将所述待写入数据写入各自的磁盘中;
接受消息统计单元,用于接收并统计所述其它节点发送的接受消息,所述接受消息是所述其它节点将所述待写入数据写入各自的磁盘后发送的;
内存写入单元,用于当接收到的所述接受消息的个数大于或等于W时,将所述待写入数据写入内存中,并向所述其它节点发送承诺消息,所述承诺消息用于指示所述其它节点将所述待写入数据写入各自的内存中。
20.根据权利要求19所述的装置,其特征在于,所述写入响应发送模块包括:
确认消息统计单元,用于接收并统计所述其它节点发送的所述确认消息,所述确认消息是所述其它节点将所述待写入数据写入各自的内存后向所述第一节点发送的;
写入响应发送单元,用于当接收到的所述确认消息的个数大于或等于W时,向所述第二客户端发送所述响应消息。
21.一种处理数据的***,其特征在于,所述***包括:
第一客户端,用于向分布式存储***发送读取请求,所述分布式存储***包括N个节点,N≥2且N为整数;
所述分布式存储***,用于根据所述读取请求向所述第一客户端发送分布式存储***中的R个节点的数据,所述R个节点的数据均写入过所述N个节点中的至少W个节点的内存中,W为判断数据是否成功写入所述分布式存储***的节点数量阈值,N-W<R≤N、W≤N且R、W均为整数;
所述第一客户端还用于,选择所述R个节点发送的数据中版本号最新的数据。
22.一种处理数据的***,其特征在于,所述***包括:
第二客户端,用于向分布式存储***发送写入请求,所述分布式存储***包括N个节点,N≥2且N为整数,所述写入请求包括待写入数据;
所述分布式存储***,用于根据所述写入请求将所述待写入数据写入所述分布式存储***中的各个节点的内存中;当内存中写入所述待写入数据的节点数量大于或等于W时,向所述第二客户端发送响应消息,W≤N且W为整数,所述响应消息用于表示所述待写入数据成功写入所述分布式存储***。
CN201510818833.3A 2015-11-23 2015-11-23 一种处理数据的方法、装置及*** Active CN105468302B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510818833.3A CN105468302B (zh) 2015-11-23 2015-11-23 一种处理数据的方法、装置及***
PCT/CN2016/099590 WO2017088572A1 (zh) 2015-11-23 2016-09-21 一种处理数据的方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510818833.3A CN105468302B (zh) 2015-11-23 2015-11-23 一种处理数据的方法、装置及***

Publications (2)

Publication Number Publication Date
CN105468302A true CN105468302A (zh) 2016-04-06
CN105468302B CN105468302B (zh) 2018-10-30

Family

ID=55606055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510818833.3A Active CN105468302B (zh) 2015-11-23 2015-11-23 一种处理数据的方法、装置及***

Country Status (2)

Country Link
CN (1) CN105468302B (zh)
WO (1) WO2017088572A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088572A1 (zh) * 2015-11-23 2017-06-01 华为技术有限公司 一种处理数据的方法、装置及***
CN106888245A (zh) * 2016-06-07 2017-06-23 阿里巴巴集团控股有限公司 一种数据处理方法、装置及***
CN108572793A (zh) * 2017-10-18 2018-09-25 北京金山云网络技术有限公司 数据写入和数据恢复方法、装置、电子设备及存储介质
CN108959549A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 数据写入方法、装置、计算设备及计算机存储介质
CN109407981A (zh) * 2018-09-28 2019-03-01 深圳市茁壮网络股份有限公司 一种数据处理方法及装置
CN109691065A (zh) * 2018-08-23 2019-04-26 袁振南 分布式存储***及其数据读写方法、存储终端及存储介质
CN110825309A (zh) * 2018-08-08 2020-02-21 华为技术有限公司 数据读取方法、装置及***、分布式***

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3889752A4 (en) 2018-12-25 2021-12-01 Huawei Technologies Co., Ltd. DATA STORAGE METHOD AND DEVICE IN A DISTRIBUTED STORAGE SYSTEM AND COMPUTER PROGRAM PRODUCT
CN110083306A (zh) * 2019-03-14 2019-08-02 南京时沃信息科技有限公司 一种分布式对象存储***及存储方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014153A (zh) * 2010-10-19 2011-04-13 浪潮(北京)电子信息产业有限公司 一种数据存储***及其数据存储方法
CN103064635A (zh) * 2012-12-19 2013-04-24 华为技术有限公司 分布式存储方法和分布式存储装置
US20150156172A1 (en) * 2012-06-15 2015-06-04 Alcatel Lucent Architecture of privacy protection system for recommendation services

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468302B (zh) * 2015-11-23 2018-10-30 华为技术有限公司 一种处理数据的方法、装置及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102014153A (zh) * 2010-10-19 2011-04-13 浪潮(北京)电子信息产业有限公司 一种数据存储***及其数据存储方法
US20150156172A1 (en) * 2012-06-15 2015-06-04 Alcatel Lucent Architecture of privacy protection system for recommendation services
CN103064635A (zh) * 2012-12-19 2013-04-24 华为技术有限公司 分布式存储方法和分布式存储装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017088572A1 (zh) * 2015-11-23 2017-06-01 华为技术有限公司 一种处理数据的方法、装置及***
CN106888245A (zh) * 2016-06-07 2017-06-23 阿里巴巴集团控股有限公司 一种数据处理方法、装置及***
CN108572793A (zh) * 2017-10-18 2018-09-25 北京金山云网络技术有限公司 数据写入和数据恢复方法、装置、电子设备及存储介质
CN108572793B (zh) * 2017-10-18 2021-09-10 北京金山云网络技术有限公司 数据写入和数据恢复方法、装置、电子设备及存储介质
CN108959549A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 数据写入方法、装置、计算设备及计算机存储介质
CN110825309A (zh) * 2018-08-08 2020-02-21 华为技术有限公司 数据读取方法、装置及***、分布式***
CN110825309B (zh) * 2018-08-08 2021-06-29 华为技术有限公司 数据读取方法、装置及***、分布式***
US11455117B2 (en) 2018-08-08 2022-09-27 Huawei Technologies Co., Ltd. Data reading method, apparatus, and system, avoiding version rollback issues in distributed system
CN109691065A (zh) * 2018-08-23 2019-04-26 袁振南 分布式存储***及其数据读写方法、存储终端及存储介质
WO2020037625A1 (zh) * 2018-08-23 2020-02-27 袁振南 分布式存储***及其数据读写方法、存储终端及存储介质
CN109691065B (zh) * 2018-08-23 2021-11-09 袁振南 分布式存储***及其数据读写方法、存储终端及存储介质
CN109407981A (zh) * 2018-09-28 2019-03-01 深圳市茁壮网络股份有限公司 一种数据处理方法及装置

Also Published As

Publication number Publication date
CN105468302B (zh) 2018-10-30
WO2017088572A1 (zh) 2017-06-01

Similar Documents

Publication Publication Date Title
CN105468302A (zh) 一种处理数据的方法、装置及***
EP3605323B1 (en) Method for generating network slice template and for applying network slice template, and apparatus
CN102668516B (zh) 一种云消息服务中实现消息传递的方法和装置
US9692846B2 (en) System, device and method for providing push service using feedback message
CN107786638B (zh) 一种数据处理方法、装置及***
CN103414589A (zh) 一种管理资源信息的方法及装置
CN103440204B (zh) 一种更新文件***的方法和存储设备
CN113515531B (zh) 数据访问方法、装置、客户端及存储介质
CN111163130A (zh) 一种网络服务***及其数据传输方法
CN104461698A (zh) 虚拟磁盘动态挂载的方法、管理装置及分布式存储***
CN103152390A (zh) 分布式存储***的节点配置方法、装置、节点及***
CN110912814A (zh) 一种接口数据的分发方法及装置
CN109634912B (zh) 数据迁移方法及***
CN105242879A (zh) 一种数据存储方法以及协议服务器
CN109714430A (zh) 分布式缓存方法、装置、计算机***及存储介质
CN105187523A (zh) 一种目录访问方法及装置
CN105487937A (zh) 一种rdma实现方法和装置
CN110737548B (zh) 数据请求方法和服务器
CN111694703A (zh) 缓存区管理方法、装置和计算机设备
CN112910987A (zh) 消息推送方法、***、装置、设备及存储介质
CN113448770A (zh) 用于恢复数据的方法、电子设备和计算机程序产品
CN103746843A (zh) 一种用于处理rpc命令的方法与设备
CN112748862A (zh) 用于管理盘的方法、电子设备和计算机程序产品
CN104866245A (zh) 缓存设备和存储***之间同步快照的方法和装置
CN111651123B (zh) 一种并发io请求的处理方法、装置、设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant