CN108021585A - 分布式数据存储方法和装置 - Google Patents

分布式数据存储方法和装置 Download PDF

Info

Publication number
CN108021585A
CN108021585A CN201610966877.5A CN201610966877A CN108021585A CN 108021585 A CN108021585 A CN 108021585A CN 201610966877 A CN201610966877 A CN 201610966877A CN 108021585 A CN108021585 A CN 108021585A
Authority
CN
China
Prior art keywords
data
storage system
major key
request
processing
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
CN201610966877.5A
Other languages
English (en)
Other versions
CN108021585B (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 CN201610966877.5A priority Critical patent/CN108021585B/zh
Publication of CN108021585A publication Critical patent/CN108021585A/zh
Application granted granted Critical
Publication of CN108021585B publication Critical patent/CN108021585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种分布式数据存储方法和装置,该方法包括:获取存储的数据的上一次处理时间;根据数据的上一次处理时间确定数据是否达到预设的数据向下迁移条件;若是,将数据发送至下一级存储系统,由下一级存储系统存储。或接收上一级存储系统发送的处理请求,处理请求携带有数据的主键;当存储有主键对应的数据时,根据处理请求,对数据进行处理,并记录数据的处理时间;根据记录的数据的处理时间确定数据是否达到预设的数据向上迁移条件;若是,将数据发送至上一级存储系统存储。上述的分布式数据存储方法,通过预设设置数据向上迁移条件或数据向下迁移条件,实现数据自动向上一级存储系统迁移,或自动向上一级存储系统迁移,处理效率高。

Description

分布式数据存储方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种分布式数据存储方法和装置。
背景技术
对于计算机设备,通常配备了内部存储器和外部存储器。内部存储器的存取速度大、容量小、价格贵,外部存储器的存取速度慢、容量大,价格低。
内部存储器和外部存储器是独立的,考虑到性能与成本,在接入存储系统之前,需要先评估业务的数据容量和负载情况,提供给运维人员以选择合适的存储介质。一个业务的数据只能存储在内部存储器或者外部存储器中,运维人员根据线上业务的数据容量和负载,手动的将业务在内部存储器或外部存储器之间进行迁移,以便达到优化成本的目的。例如,在线上业务的数据容量和负载较大时,将一些数据存储在外部存储器中;在线上业务的数据容量和负载较小时,将外部存储器的数据迁移至内部存储器中。
手动地进行数据迁移的方式处理效率低。
发明内容
基于此,本发明提供一种高效的分布式存储方法和装置。
为达到上述目的,本发明实施例采用以下技术方案:
一种分布式数据存储方法,包括:
获取存储的数据的上一次处理时间;
根据所述数据的上一次处理时间确定所述数据是否达到预设的数据向下迁移条件;
若是,将所述数据发送至下一级存储系统,由下一级存储系统存储;
接收上一级存储系统发送的处理请求,所述处理请求携带有所述数据的主键;所述处理请求包括数据读写和数据更新的任意一种;
当存储有所述主键对应的数据时,根据所述处理请求,对所述数据进行处理,并记录所述数据的处理时间;
根据记录的所述数据的处理时间确定所述数据是否达到预设的数据向上迁移条件;
若是,将所述数据发送至所述上一级存储系统存储。
一种分布式数据存储装置,包括:获取模块、第一判断模块和第一处理模块;
所述获取模块,用于获取存储的数据的上一次处理时间;
所述第一判断模块,根据所述数据的上一次处理时间确定所述数据是否达到预设的数据向下迁移条件;
所述第一处理模块,用于在第一判断模块的判断结果为是时,将所述数据发送至下一级存储系统,由下一级存储系统存储;
和/或包括:第一接收模块、请求处理模块、第二判断模块和第二处理模块;
所述第一接收模块,用于接收上一级存储系统发送的处理请求,所述处理请求携带有所述数据的主键;所述处理请求包括数据读写和数据更新的任意一种;
所述请求处理模块,用于当存储有所述主键对应的数据时,根据所述处理请求,对所述数据进行处理,并记录所述数据的处理时间;
所述第二判断模块,用于根据记录的所述数据的处理时间确定所述数据是否达到预设的数据向上迁移条件;
所述第二处理模块,用于在所述第二判断模块的判断结果为是时,将所述数据发送至所述上一级存储系统存储。
上述的分布式数据存储方法和装置,通过预设设置数据向下迁移条件,在确定数据达到预设的数据向下迁移条件后,将数据迁移至下一级存储系统,由下一级存储系统存储,实现数据自动向下一级存储系统迁移,处理效率高,或在接收到上一级存储系统发送的处理请求后,若存储有对应数据,则对数据进行处理,并记录数据的处理时间,根据数据处理时间确定是否达到预设的数据向上迁移条件,通过预设设置数据向上迁移条件,在确定数据达到预设的数据向上迁移条件后,将数据迁移至上一级存储系统,由上一级存储系统存储,实现数据自动向上一级存储系统迁移,处理效率高。
附图说明
图1为一个实施例的本发明实施例方案的应用环境示意图;
图2为一个实施例的服务器的内部结构示意图;
图3为一个实施例的分布式数据存储方法的流程图;
图4为另一个实施例的分布式数据存储方法的流程图;
图5为一个实施例的降热处理的数据迁移过程的时序说明示意图;
图6为一个实施例的升热处理的分布式数据存储方法的时序说明示意图;
图7为另一个实施例的分布式数据存储方法的时序说明示意图;
图8为又一个实施例的分布式数据存储方法的时序说明示意图;
图9为一个实施例的分布式数据存储方法的时序说明示意图;
图10为一个实施例的分布式数据存储装置的结构示意图;
图11为另一个实施例的分布式数据存储装置的结构示意图;
图12为又一个实施例的分布式数据存储装置的结构示意图;
图13为再一个实施例的分布式数据存储装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
图1为一个实施例中本发明实施例方案的应用环境示意图。如图1所示,该应用环境包括请求端110、内部存储系统120和外部存储系统130。用户110向内部存储系统发送处理数据,处理请求包括读取数据请求和更新数据请求,若内部存储系统120中存储有对应的数据,则直接向请求端110返回对应数据。若内部存储系统120中未存储有对应的数据,则将处理请求转发至外部存储系统130,由外部存储器对数据进行相应处理。当数据在初次写入时,新增数据请求被发送至内部存储系统120,由内部存储系统发送至外部存储系统130,在外部存储系统130内进行存储,即初次写入的数据都存储在外部存储系统130中。
内部存储系统120和外部存储系统130之间能够进行数据的迁移。本实施例中,将存储在内部存储系统120的数据称为热数据,存储在外部存储系统130的数据称为冷数据。当外部存储系统130的冷数据处理频率高于预设处理频率时,对数据进行升热处理,将数据迁移至内部存储系统120进行存储。当内部存储系统120的热数据长时间不被访问,对数据进行降冷处理,将数据迁移至外部存储系统130进行存储。由此,通过将使用频率较高的数据存储在性能好、成本高的内部存储系统120中,将长时间不被使用的数据存储在容量大、价格低的外部存储系统130中,并且根据数据的使用频率自动实现数据在内部存储系统120和外部存储系统130的迁移,节省了人力成本,能够快速响应业务突变的情况。
上述的内部存储系统和外部存储系统为可作为服务器或终端的存储介质。图2为一个实施例中服务器的内部结构示意图。如图2所示,该服务器包括通过系统总线连接的处理器、存储介质(外存)、内存和网络接口。其中,服务器的存储介质存储有操作系统,还包括一种分布式数据存储装置,该分布式数据存储装置用于实现一种分布式数据存储方法。该处理器用于提供计算和控制能力,支撑整个服务器的运行。服务器中的内存存储有操作系统,还包括一种分布式数据存储装置,该分布式数据存储装置用于实施一种分布式数据存储方法。网络接口用于与客户端进行网络通信,如接收客户端发送的处理请求,将客户端所要读取的数据发送至客户端。本领域技术人员可以理解,图2中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为一个实施例的分布式数据存储方法的流程图。该分布式数据存储方法运行于内部存储系统中,本实施例中,内部存储系统的存储介质为内存,内部存储系统的下一级存储系统为外部存储系统,该实施例的方法包括以下步骤:
S302:获取存储的数据的上一次处理时间。
内部存储系统定时扫描或实时扫描所存储的数据的上一次处理时间。内部存储系统对所存储的数据进行处理时后,记录数据的主键的最后访问时间,定时扫描或实时扫描记录的所有的主键的最后访问时间,即数据的上一次处理时间。
S304:根据数据的上一次处理时间确定数据是否达到预设的数据向下迁移条件。若是,则执行步骤S306。
S306:将数据发送至下一级存储系统,由下一级存储系统存储。
本实施例中,存储在内部存储系统的数据被称为热数据,即使用频繁访问的数据。内部存储系统预先设置数据向下迁移条件,当根据数据的上一次处理时间确定数据达到预设的数据向下迁移条件时,将数据发送至下一级存储系统,由下一级存储系统进行存储。本实施例中的下一级存储系统为外部存储系统,外部存储系统的存储介质为SSD(SolidState Drives,固态硬盘),外部存储系统用于存储长期不访问或访问频率低的数据。
在另一个实施例中,上述的分布式数据存储方法还可运行于外部存储系统中。在该实施例中,包括两个或多个外部存储系统,例如,第一级外部存储系统和第二级外部存储系统,其中,第一级外部存储系统相对于第二级外部存储系统的性能好,容量小,成本高。第一级外部存储系统的存储介质为SSD,第二级外部存储系统的存储介质为普通硬盘。上述的方法可用于第一级外部存储系统中,第一级外部存储系统的下一级存储系统为第二级存储系统。第一级外部存储系统存储的数据相对于第二级外部存储系统存储的数据使用频率高。当第一级外部存储系统中根据数据的上一次处理时间确定数据达到预设的数据向下迁移条件时,将数据发送至第二级外部存储系统进行存储。
上述的分布式数据存储方法,通过预设设置数据向下迁移条件,在确定数据达到预设的数据向下迁移条件后,将数据迁移至下一级存储系统,由下一级存储系统存储,实现数据由自动向下一级存储系统迁移,处理效率高。
在另一个实施例如,如图4所示,步骤S306包括以下步骤:
S308:接收下一级存储系统发送的第一删除指令。第一删除指令携带有数据的主键。
当数据迁移至下一级存储系统后,下一级存储系统向当前存储系统发送第一删除指令,通过当前存储系统删除存储对应的数据。当前存储系统可以为内部存储系统或级别较高的外部存储系统,例如,第一级外部存储系统。
S310:根据第一删除指令,判断迁移前的数据和迁移后的数据是否一致。若不一致,则执行步骤S312,若一致,则执行步骤S314。
数据迁移可能与数据处理同时进行,二者的冲突将导致数据读写错误。将数据发送至下一级存储系统时,暂未删除保存在当前存储系统中的数据。若将数据迁移至下一级存储系统的过程中,当前存储系统接收到数据的处理请求并对数据进行处理,则可能导致当前存储系统和下一级存储系统中的数据不一致。为了解决这个问题,在接收到第一删除指令后,根据第一删除指令携带的数据的主键,判断迁移前的数据和迁移后的数据是否一致。若存储在当前存储系统的数据在数据迁移过程中有更新,则迁移前的数据和迁移后的数据不一致。
S312:向下一级存储系统发送第二删除指令。
第二删除指令携带有数据的主键,由下一级存储系统根据第二删除指令,删除主键对应的数据,即取消本次迁移,数据仍然存储在当前存储系统中。由于数据在迁移过程中有更新,为确保迁移过程中当前存储系统和下一级存储系统中数据的一致性,删除外部存储系统的数据,保留内部存储系统的数据。
S314:根据第一删除指令,删除主键对应的数据。
若迁移前的数据和迁移后的数据一致时,说明迁移过程中当前存储系统和下一级存储系统中数据是一致的,在数据迁移过程中数据无变化,则在当前存储系统中删除主键对应的数据,完成将原来存储在当前存储系统中的热数据迁移至下一级存储系统,对数据进行降冷处理。
上述的分布式数据存储方法,通过判断迁移前的数据和迁移后的数据是否一致,在二者一致时,才删除保存在当前存储系统中的数据,否则,删除迁移至下一级存储系统中的数据,以确保数据在迁移过程中的一致性。
在另一个实施例中,如图5所示,在步骤306之前,还包括:计算数据迁移前的摘要。
在数据达到预设的数据向下迁移条件时,计算数据迁移前的摘要。数据摘要的计算方法可采用MD5(Message-Digest Algorithm 5,消息摘要算法版本5)、CRC(CyclicRedundancy Check,循环冗余校验)算法等。在一个具体的实施例中,采用MD5算法,计算数据迁移前的MD5值。
步骤S310包括:根据第一删除指令,计算主键对应的数据迁移后的摘要,判断数据的迁移前的摘要和迁移后的摘要是否一致。
本实施例中,通过计算数据迁移前的摘要和迁移后的摘要判断迁移前的数据和迁移后的数据是否一致,在数据迁移前的摘要和迁移后的摘要一致时,判定迁移前的数据和迁移后的数据一致。
在一个实施例中,预设的数据向下迁移条件包括:数据的上一次处理时间与当前时间的时间差超过预设值。一个具体的实施方式中,预设值为7天。本实施例中,7天内未被访问过的数据为冷数据,通过对7天内未被访问过的数据进行降冷处理,由当前存储系统迁移至下一级存储系统,实现根据数据的冷热属性进行分级存储,确保频率较低的数据由下一级存储系统存储,降低数据的存储成本。
数据的迁移还包括将当前存储系统中使用频率较高的数据升热至上一级存储系统进行存储。另一个实施例的分布式数据存储方法如图6所示,还包括以下步骤1至步骤5。
步骤1:接收下一级存储系统发送的升热请求,升热请求携带有数据的主键。
步骤2:根据升热请求,将数据的主键加锁。
内部存储系统在接收到升热请求后,将数据的主键加锁。
步骤3:向下一级存储系统发送数据迁移请求,数据迁移请求携带有数据的主键。
步骤4:接收并存储下一级存储系统根据数据迁移请求发送的与主键对应的数据,并将数据的主键解锁。
步骤5:向下一级存储系统发送第三删除指令;第三删除指令携带有数据的主键,由下一级存储系统根据第三删除指令,删除主键对应的数据。
下一级的外部存储器在其存储的数据达到预设的数据向上迁移条件时,向当前存储系统发送升热请求。当前存储系统在接收到升热请求后,对数据的主键加锁,加锁后的主键对应的数据不进行读写等数据操作。加锁后,向下一级存储系统发送数据迁移请求,下一级存储系统根据数据迁移请求将数据发送至当前存储系统。当前存储系统接收到数据后,将数据的主键解锁,并向下一级存储系统发送第三删除指令,下一级存储系统根据第三删除指令删除数据完成数据由下一级存储系统向当前存储系统的迁移。在一种实施方式中,当前存储系统为内部存储系统,下一级存储系统为外部存储系统。在另一种实施方式中,当前存储系统为第一级外部存储系统,下一级存储系统为第二级外部存储系统。
上述的分布式数据存储方法,实现数据从外部存储系统向内部存储系统的迁移,或将数据由级别低的外部存储系统向级别高的外部存储系统迁移。在数据迁移过程中,当前存储系统通过对请求迁移的数据的主键加锁,在数据迁移成功后释放锁,避免在数据迁移过程中对数据进行处理而导致迁移后当前存储系统和下一级存储系统的数据不一致。
又一个实施例的分布式数据存储方法如图7所示,包括以下步骤1至步骤4:
步骤1:接收请求端或上一级存储系统发送的处理请求,处理请求携带有数据的主键,处理请求包括数据读写请求和数据更新请求的任意一种。
本实施例中,请求端的对数据的处理请求发送至内部存储系统。处理请求包括数据读写请求和数据更新请求。其中,数据删除本质上为数据更新。
步骤2:当未存储有与主键对应的数据时,判断数据的主键是否加锁。若是,则执行步骤3,若否,则执行步骤4。
步骤3:将处理请求加入到待处理队列,并返回判断数据的主键是否加锁的步骤。
步骤4:将处理请求发送至下一级存储系统。
当内部存储系统存储与有主键对应的数据时,由内部存储系统对处理请求进行处理。当内部存储系统未存储有与主键对应的数据时,在数据的主键不加锁时,将处理请求发送至下一级存储系统,在数据的主键加锁时,将处理请求加入队列,进行等待,在锁被释放后,再对队列的处理请求进行处理,从而避免在数据迁移过程中对数据进行处理而导致迁移过程中内部存储系统和外部存储系统的数据不一致。
又一个实施例的分布式数据存储方法如图8所示,包括以下步骤:
接收请求端或上一级存储系统发送的新增数据请求,并将新增数据请求发送至下一级存储系统,在下一级存储系统为最后一级存储系统时,由下一级存储系统根据新增数据请求,对数据进行写入处理生成对应的主键并保存。
本实施例中,请求端发送的数据的新增数据请求,即数据的初次写入请求,通过内部存储系统发送至外部存储系统。本实施例中,外部存储系统可以为多个,多个外部存储系统分级设置。在一个具体的实施方式中,包括一个外部存储系统,则外部存储系统接收到新增数据请求后,对数据进行写入处理生成对应的主键并保存。
在另一个具体的实施方式中,包括两个外部存储系统,第一级外部存储系统和第二级外部存储系统,其中,第一级外部存储系统相对于第二级外部存储系统的性能好,容量小,成本高。例如,第一级外部存储系统的存储介质为SSD,第二级外部存储系统的存储介质为普通磁盘。内部存储系统将接收到的新增数据请求发送至第一级外部存储系统,第一级外部存储系统再将新增数据请求发送至第二级外部存储系统。第二级外部存储系统作为服务器或终端的最后一级存储系统,对新增数据请求进行处理生成对应的主键并保存。
上述的分布式数据存储方法,对于数据的初次写入都在外部存储系统进行处理,即新增的数据在内部存储系统是不存在的,全部存储在外部存储系统中作为冷数据。在数据的使用频率达到预设的数据向上迁移条件时,可升热迁移至内部存储系统中。同时,内部存储系统内的数据在达到预设的数据向下迁移条件时,将数据发送至下一级存储系统,即外部存储系统进行存储。通过根据数据的使用频率区分数据的冷热属性,根据数据的冷热属性将数据进行分级存储,将内存的高性能和SSD的低成本的优势结合在一起,在保证系统性能的同时降低了成本。数据分级存储自动完成,能够快速响应业务突变,节省了人力成本。
图9为一个实施例的分布式数据存储方法的时序说明图,该分布式数据存储方法运行于如图1所示的外部存储系统130中,该实施例的方法包括以下步骤:
S902:接收上一级存储系统发送的处理请求,处理请求携带有数据的主键;处理请求包括数据读写和数据更新的任意一种。
S904:当存储有主键对应的数据时,根据处理请求,对数据进行处理,并记录数据的处理时间。
本实施例中,外部存储系统根据需要可设置多个,各外部存储系统根据存储介质的性能和成本依次设置。具体的,第一级外部存储系统至最后一级外部存储系统的存储性能和成本依次降低。在另一个具体的实施方式中,包括两个外部存储系统,第一级外部存储系统和第二级外部存储系统,其中,第一级外部存储系统相对于第二级外部存储系统的性能好,容量小,成本高。
第一级外部存储系统在接收到内部存储系统发送的处理请求时,判断是否存储有主键对应的数据,若有,则根据处理请求,对数据进行处理,并记录数据的处理时间。具体的,记录主键的访问时间。
当未存储有主键对应的数据时,将处理请求发送至下一级存储系统。
S906:根据记录的数据的处理时间确定数据是否达到预设的数据向上迁移条件。若是,则执行步骤S908。
S908:将数据发送至上一级存储系统存储。
具体的,在确定数据达至预设的数据向上迁移条件时,将数据发送至上一级存储系统存储。
本实施例中,外部存储系统为冷系统,用来存储使用频率较低的数据。上一级存储系统的处理性能和成本相对较高,用于存储使用频率相对较高的数据。预设的数据向上迁移条件包括数据的处理频率低于预设频率。通过根据数据的处理时间可确定数据的处理频率,例如,当数据在一段时间内主键的访问次数超过预设值时,对数据进行升热处理,将数据发送至上一级存储系统进行处理。本实施例中的上一级存储系统可能为内部存储系统,也有可能为级别相对高的上一级外部存储系统。
在其它的实施方式中,步骤S906中,根据数据的处理时间和处理类型确定数据是否达到预设的数据向上迁移条件。本实施例中的处理类型包括读取数据和更新数据。对不同的处理类型的数据,可配置不同的数据向上迁移条件。例如,一分钟内达到2次数据更新操作就进行升热,五分钟内达到2次读取数据就进行升热,一小时内达到5次数据更新和数据读操作进行升热。通过配置多种升热策略,提供相对应的数据向上迁移条件,在达到预设的数据向上迁移条件时,将数据迁移至上一级存储系统进行存储。
上述的分布式数据存储方法,在接收到上一级存储系统发送的处理请求后,若存储有对应数据,则对数据进行处理,并记录数据的处理时间,根据数据处理时间确定是否达到预设的数据向上迁移条件,通过预设设置数据向上迁移条件,在确定数据达到预设的数据向上迁移条件后,将数据迁移至上一级存储系统,由上一级存储系统存储,实现数据自动向上一级存储系统迁移,处理效率高。
一个实施例中,如图6所示,步骤S906包括以下步骤1至步骤5:
步骤1:向上一级存储系统发送升热请求,升热请求携带有数据的主键,由上一级存储系统根据升热请求,将数据的主键加锁。
步骤2:接收上一级存储系统发送的数据迁移请求,数据迁移请求携带有数据的主键。
步骤3:根据数据迁移请求,将主键对应的数据发送至上一级存储系统,由上一级存储系统存储数据,将数据的主键解锁。
步骤4:接收上一级存储系统发送的第四删除指令。
步骤5:根据第四删除指令,删除主键对应的数据。
下一级的外部存储器在其存储的数据达到预设的数据向上迁移条件时,向内部存储系统发送升热请求。内部存储系统在接收到升热请求后,对数据的主键加锁,加锁后的主键对应的数据不进行读写等数据操作。加锁后,向外部存储系统发送数据迁移请求,外部存储系统根据数据迁移请求将数据发送至内部存储系统。内部存储系统接收到数据后,将数据的主键解锁,并向外部存储系统发送第四删除指令,外部存储系统根据第四删除指令删除数据完成数据由外部存储系统向内部存储系统的迁移。
上述的分布式数据存储方法,实现数据由外部存储系统向内部存储系统的迁移。在数据迁移过程中,级别较高的内部存储系统通过对请求迁移的数据的主键加锁,在数据迁移成功后释放锁,避免在数据迁移过程中对数据进行处理而导致迁移过程中内部存储系统和外部存储系统的数据不一致。
又一个实施例的分布式数据存储方法如图5所示,包括以下步骤1至步骤4:
步骤1:接收上一级存储系统发送的数据,数据由上一级存储系统扫描到数据达到预设的数据向下迁移条件后发送。
本实施例中的上一级存储系统可能为内部存储系统或级别较高的外部存储系统。以上一级存储系统为内部存储系统为例,内部存储系统中所存储的数据为热数据,热数据的处理频率高。外部存储系统中所存储的数据为冷数据,冷数据的处理频率低。当热数据达到预设的数据向下迁移条件时,对热数据进行降冷处理,将数据发送至外部存储系统,由外部存储系统进行存储。在数据达到预设的数据向下迁移条件时,向上一级存储系统发送数据。
步骤2:存储数据。
步骤3:向上一级存储系统发送第五删除指令;第五删除指令携带有数据的主键。
步骤4:根据上一级存储系统根据第五删除指令判断迁移前的数据和迁移后的数据不一致时发送的第六删除指令,删除主键对应的数据。
具体的,上一级存储系统根据数据迁移前的摘要和迁移后的摘要判断迁移前的数据和迁移后的数据是否一致。数据摘要的计算方法可采用MD5(Message-Digest Algorithm5,消息摘要算法版本5)、CRC(Cyclic Redundancy Check,循环冗余校验)算法等。在一个具体的实施例中,采用MD5算法,计算数据迁移前的MD5值。
数据迁移可能与数据处理同时进行,二者的冲突将导致数据读写错误。内部存储系统将数据发送至外部存储系统,暂未删除保存在内部存储系统中的数据。若将数据迁移至外部存储系统的过程中,内部存储系统接收到数据的处理请求并对数据进行处理,则可能导致内部存储系统和外部存储系统中的数据不一致。为了解决这个问题,外部存储系统在接收到数据时,向内部存储系统发送第五删除指令,内部存储系统根据第五删除指令携带的数据的主键,计算主键对应的数据在迁移后的摘要。若存储在内部存储系统的数据在数据迁移过程中有更新,则计算的数据迁移后的摘要与迁移前的摘要不同。此时,内部存储系统向外部存储系统发送第六删除指令,第六删除指令携带有数据的主键,由外部存储系统根据第六删除指令,删除主键对应的数据,即取消本次迁移,数据仍然存储在内部存储系统中。由于数据在迁移过程中有更新,为确保迁移过程中内部存储系统和外部存储系统中数据的一致性,删除外部存储系统的数据,保留内部存储系统的数据。
若迁移前的摘要和迁移后的摘要一致时,说明迁移过程中内部存储系统和外部存储系统中数据是一致的,在数据迁移过程中数据无变化,则在内部存储系统中根据第五删除指令删除主键对应的数据,完成将原来存储在内部存储系统中的热数据迁移至外部存储系统,对数据进行降冷处理。
上述的分布式数据存储方法,上述的分布式数据存储方法,通过判断迁移前的数据和迁移后的数据是否一致,在二者一致时,才删除保存在当前存储系统中的数据,否则,删除迁移至下一级存储系统中的数据,以确保数据在迁移过程中的一致性。
又一个实施例的分布式数据存储方法如图8所示,包括以下步骤:
接收上一级存储系统发送的新增数据请求,将新增数据请求发送至下一级存储系统,在下一级存储系统为最后一级存储系统时,由下一级存储系统对数据进行写入处理生成对应的主键并保存。
本实施例中,请求端发送的数据的新增数据请求,通过内部存储系统发送至外部存储系统。本实施例中,外部存储系统可以为多个,多个外部存储系统分级设置。在一个具体的实施方式中,包括一个外部存储系统,则外部存储系统接收到新增数据请求后,对数据进行写入处理生成对应的主键并保存。
在另一个具体的实施方式中,包括两个外部存储系统,第一级外部存储系统和第二级外部存储系统,其中,第一级外部存储系统相对于第二级外部存储系统的性能好,容量小,成本高。例如,第一级外部存储系统的存储介质为SSD,第二级外部存储系统的存储介质为普通磁盘。内部存储系统将接收到的新增数据请求发送至第一级外部存储系统,第一级外部存储系统再将新增数据请求发送至第二级外部存储系统。第二级外部存储系统作为服务器或终端的最后一级存储系统,对新增数据请求进行处理生成对应的主键并保存。
上述的分布式数据存储方法,对于数据的初次写入都在外部存储系统进行处理,即新增的数据在内部存储系统是不存在的,全部存储在外部存储系统中作为冷数据。在数据的使用频率达到预设的迁移条件时,可升热迁移至内部存储系统中。同时,内部存储系统内的数据在达到预设的数据向下迁移条件时,将数据发送至下一级存储系统,即外部存储系统进行存储。
又一个实施例的分布式数据存储方法,包括以下步骤:
获取存储的数据的上一次处理时间,根据数据的上一次处理时间确定数据是否达到预设的数据向下迁移条件,若是,将数据发送至下一级存储系统,由下一级存储系统存储。
接收上一级存储系统发送的处理请求,处理请求携带有数据的主键;处理请求包括数据读写和数据更新的任意一种,当存储有主键对应的数据时,根据处理请求,对数据进行处理,并记录数据的处理时间,根据记录的数据的处理时间确定数据是否达到预设的数据向上迁移条件,若是,将数据发送至上一级存储系统存储。
本实施例的分布式数据存储适应于存在多个外部存储系统的情况,运行在级别较高的外部存储系统中。此时,级别较高的外部存储系统既可以将使用频率较高的数据升热至上一级存储系统进行存储,也可以将使用频率较低的数据降冷至下一级存储系统进行存储。通过根据数据的使用频率区分数据的冷热属性,根据数据的冷热属性将数据进行分级存储,将内存的高性能和SSD的低成本的优势结合在一起,在保证系统性能的同时降低了成本。数据分级存储自动完成,能够快速响应业务突变,节省了人力成本。
下面提供一种具体的实施方式的分布式数据存储方法,在该实施方式中,设置有内部存储系统和外部存储系统,其中,内部存储系统的存储介质为内存,外部存储系统的存储介质为SSD。对于数据的初次写入请求,内部存储系统接收请求端发送的新增数据请求,并将新增数据请求发送至外部存储系统,由外部存储系统对数据进行写入处理生成对应的主键并保存。即初次写入的数据全都保存在外部存储系统中。通过内部存储系统和外部存储系统之间的数据迁移机制,当外部存储系统中的数据的使用频率超过预设频率时,外部存储系统的数据迁移至内部存储系统进行存储。具体的,外部存储系统的数据升热迁移至内部存储系统包括以下步骤:
步骤1:内部存储系统接收请求端发送的对数据的处理请求,处理请求携带有数据的主键。处理请求包括数据读写请求和数据更新请求。
步骤2:判断是否存储有主键对应的数据。若是,则执行步骤3,若否,则执行步骤4。
步骤3:根据数据请求,对主键对应的数据进行处理。
步骤4:判断数据的主键是否加锁。若是,则执行步骤5,若否,则执行步骤6。
步骤5:将处理请求加入到待处理队列,并返回步骤4。
步骤6:将处理请求发送至外部存储系统。
步骤7:外部存储系统根据处理请求对数据进行处理,并记录述数据的处理时间。
步骤8:外部存储系统根据数据的处理时间计算数据的频率,判断是否超过预设频率。若是,则执行步骤9。
步骤9:外部存储系统向内部存储系统发送升热请求,升热请求携带有数据的主键。
步骤10:内部存储系统根据升热请求,将数据的主键加锁,并向外部存储系统发送数据迁移请求,数据迁移请求携带有数据的主键。
步骤11:外部存储系统根据数据迁移请求,将主键对应的数据发送至内部存储系统。
步骤12:内部存储系统存储数据,将数据的主键解锁,并向外部存储系统发送第一删除指令。
步骤13:外部存储系统根据第一删除指令,删除对应的数据。
对于内部存储系统的数据,若长期间不被访问,则将降冷迁移至外部存储系统,根据数据迁移的机制,使内部存储系统用来存储使用频率较高的数据,外部存储系统用来存储使用频率较低的数据。实现根据数据的冷热属性进行分级存储,确保内部存储系统中存储的数据为使用频率较高的数据,降低数据的存储成本。
数据由内部存储系统降冷迁移至外部存储系统包括以下步骤:
步骤1:内部存储系统实时对数据的主键的上一次访问时间进行扫描。
步骤2:当与当前时间的时间超过预设值时,内部存储系统计算数据迁移前的MD5值。
步骤3:内部存储系统将数据发送至外部存储系统。
步骤4:外部存储系统接收数据,并向内部存储系统发送第二删除指令。
步骤5:内部存储系统根据第二删除指令,计算数据迁移后的MD5值。
步骤6:内部存储系统判断数据迁移后的MD5值和迁移前的MD5值是否一致。若是,则执行步骤7,若否,则执行步骤8。
步骤7:内部存储系统根据第二删除指令,删除对应的数据。
步骤8:内部存储系统向外部存储器发送第三删除指令。
步骤9:外部存储系统根据第三删除指令,删除对应的数据。
上述的分布式数据存储方法,通过根据数据的使用频率区分数据的冷热属性,根据数据的冷热属性将数据进行分级存储,将内存的高性能和SSD的低成本的优势结合在一起,在保证系统性能的同时降低了成本。数据分级存储自动完成,能够快速响应业务突变,节省了人力成本。
在一个实施例中,提供一种分布式数据存储装置,设于图1所示的内部存储系统102中,如图10所示,包括:获取模块201、第一判断模块201和第一处理模块203。
获取模块201,用于获取存储的数据的上一次处理时间。
第一判断模块202,根据数据的上一次处理时间确定数据是否达到预设的数据向下迁移条件。
第一处理模块203,用于在第一判断模块202的判断结果为是时,将数据发送至下一级存储系统,由下一级存储系统存储。
上述的分布式数据存储装置,通过预设设置数据向下迁移条件,在确定数据达到预设的数据向下迁移条件后,将数据迁移至下一级存储系统,由下一级存储系统存储,实现数据自动向下一级存储系统迁移,处理效率高。
在另一个实施例中,如图11所示,分布式数据处理装置还包括:第二接收模块204、第三判断模块205、第二发送模块206和第一删除处理模块207。
第二接收模块204,用于接收下一级存储系统发送的第一删除指令;第一删除指令携带有数据的主键。
第三判断模块205,用于根据第一删除指令,判断迁移前的数据和迁移后的数据是否一致。
第二发送模块206,用于在第三判断模块的判断结果为否时,向下一级存储系统发送第二删除指令,第二删除指令携带有数据的主键,由下一级存储系统根据第二删除指令,删除主键对应的数据。
第一删除处理模块207,用于在第三判断模块的判断结果为是时,根据第一删除指令,删除主键对应的数据。
通过判断迁移前的数据和迁移后的数据是否一致,在二者一致时,才删除保存在当前存储系统中的数据,否则,删除迁移至下一级存储系统中的数据,以确保数据在迁移过程中的一致性。
在另一个实施例中,分布式数据处理装置还包括计算模块208,用于计算数据迁移前的摘要。
第三判断模块205,用于根据第一删除指令,计算主键对应的数据迁移后的摘要,并判断数据的迁移前的摘要和迁移后的摘要是否一致。
本实施例中,通过计算数据迁移前的摘要和迁移后的摘要判断迁移前的数据和迁移后的数据是否一致,在数据迁移前的摘要和迁移后的摘要一致时,判定迁移前的数据和迁移后的数据一致。
在又一实施例中,请继续参阅图11,分布式数据存储装置还包括接收处理模块209和锁处理模块210。
接收处理模块209,用于接收下一级存储系统发送的升热请求,升热请求携带有数据的主键。
锁处理模块210,用于根据升热请求,将数据的主键加锁,还用于将数据的主键解锁。
第一处理模203,还向下一级存储系统发送数据迁移请求,数据迁移请求携带有数据的主键。
接收处理模块209,用于接收并存储下一级存储系统根据数据迁移请求发送的与主键对应的数据。
第一处理模块203,还向下一级存储系统发送第三删除指令;第三删除指令携带有数据的主键,由下一级存储系统根据第三删除指令,删除主键对应的数据。
上述的分布式数据存储装置,实现数据从外部存储系统向内部存储系统的迁移,或将数据由级别低的外部存储系统向级别高的外部存储系统迁移。在数据迁移过程中,当前存储系统通过对请求迁移的数据的主键加锁,在数据迁移成功后释放锁,避免在数据迁移过程中对数据进行处理而导致迁移后当前存储系统和下一级存储系统的数据不一致。
在又一个实施例中,请继续参阅图11,分布式数据存储装置还包括处理接收模块211、第四判断模块212和队列处理模块213。
处理接收模块211,还接收请求端或上一级存储系统发送的处理请求;处理请求携带有数据的主键;处理请求包括数据读写请求和数据更新请求的任意一种。
第四判断模块212,用于在当未存储有与主键对应的数据时,判断数据的主键是否加锁。
队列处理模块213,用于在判断处理模块的判断结果为是时,则将处理请求加入到待处理队列。
第一处理模块203,还用于将处理请求发送至下一级存储系统。
当内部存储系统存储与有主键对应的数据时,由内部存储系统对处理请求进行处理。当内部存储系统未存储有与主键对应的数据时,在数据的主键不加锁时,将处理请求发送至下一级存储系统,在数据的主键加锁时,将处理请求加入队列,进行等待,在锁被释放后,再对队列的处理请求进行处理,从而避免在数据迁移过程中对数据进行处理而导致迁移过程中内部存储系统和外部存储系统的数据不一致。
在又一个实施例中,第一处理模块203还接收请求端或上一级存储系统发送的新增数据请求,并将新增数据请求发送至下一级存储系统,在下一级存储系统为最后一级存储系统时,由下一级存储系统根据新增数据请求,对数据进行写入处理生成对应的主键并保存。
上述的分布式数据存储装置,对于数据的初次写入都在外部存储系统进行处理,即新增的数据在内部存储系统是不存在的,全部存储在外部存储系统中作为冷数据。在数据的使用频率达到预设的迁移条件时,可升热迁移至内部存储系统中。同时,内部存储系统内的数据在达到预设的数据向下迁移条件时,将数据发送至下一级存储系统,即外部存储系统进行存储。通过根据数据的使用频率区分数据的冷热属性,根据数据的冷热属性将数据进行分级存储,将内存的高性能和SSD的低成本的优势结合在一起,在保证系统性能的同时降低了成本。数据分级存储自动完成,能够快速响应业务突变,节省了人力成本。
在一个实施例中,提供一种分布式数据存储装置,该分布式数据存储装置设置在如图1所示的外部存储系统中。如图12所示,包括:第一接收模块301、请求处理模块302、第二判断模块303和第二处理模块304。
第一接收模块301,用于接收上一级存储系统发送的处理请求,处理请求携带有数据的主键;处理请求包括数据读写和数据更新的任意一种。
请求处理模块302,用于当存储有主键对应的数据时,根据处理请求,对数据进行处理,并记录数据的处理时间。
第二判断模块303,用于根据记录的数据的处理时间确定数据是否达到预设的数据向下迁移条件。
第二处理模块304,用于在判断模块的判断结果为是时,将数据发送至上一级存储系统存储。
上述的分布式数据存储装置,在接收到上一级存储系统发送的处理请求后,若存储有对应数据,则对数据进行处理,并记录数据的处理时间,根据数据处理时间确定是否达到预设的数据向上迁移条件,通过预设设置数据向上迁移条件,在确定数据达到预设的数据向上迁移条件后,将数据迁移至上一级存储系统,由上一级存储系统存储,实现数据自动向上一级存储系统迁移,处理效率高。
在又一个实施例中,如图13所示,第二处理模块304包括:第三发送模块3041、第三接收模块3042和第二删除模块3043。
第三发送模块3041,用于向上一级存储系统发送升热请求,升热请求携带有数据的主键,由上一级存储系统根据升热请求,将数据的主键加锁。
第三接收模块3042,用于接收上一级存储系统发送的数据迁移请求,数据迁移请求携带有数据的主键。
第二发送模块3041,还根据数据迁移请求,将主键对应的数据发送至上一级存储系统,由上一级存储系统存储数据,将数据的主键解锁。
第三接收模块3042,还接收上一级存储系统发送的第四删除指令。
第二删除模块3043,用于根据第四删除指令,删除主键对应的数据。
上述的分布式数据存储装置,实现数据由外部存储系统向内部存储系统的迁移。在数据迁移过程中,级别较高的内部存储系统通过对请求迁移的数据的主键加锁,在数据迁移成功后释放锁,避免在数据迁移过程中对数据进行处理而导致迁移过程中内部存储系统和外部存储系统的数据不一致。
在一个实施例中,第一接收模块301,还接收上一级存储系统发送的数据,并存储,数据由上一级存储系统扫描到数据达到预设的数据向下迁移条件后发送。
第二处理模块304,还向上一级存储系统发送第五删除指令;第五删除指令携带有数据的主键。
第二处理模块304,还根据上一级存储系统根据第五删除指令计算出的主键对应的数据的迁移后的摘要与迁移前的摘要不一致时发送的第六删除指令,删除主键对应的数据,第六删除指令携带有数据的主键。
上述的分布式数据存储装置,通过计算在内部存储系统中数据在迁移前和迁移后的摘要,并将迁移前和迁移后的摘要进行对比,在二者一致时,才删除保存在内部存储系统中的数据,否则,删除迁移至外部存储系统中的数据,以确保数据在迁移过程中的一致性。
第二处理模块304,还在未存储有主键对应的数据时,将处理请求发送至下一级存储系统。
上述的分布式数据存储装置,对于数据的初次写入都在外部存储系统进行处理,即新增的数据在内部存储系统是不存在的,全部存储在外部存储系统中作为冷数据。在数据的使用频率达到预设的迁移条件时,可升热迁移至内部存储系统中。同时,内部存储系统内的数据在达到预设的数据向下迁移条件时,将数据发送至下一级存储系统,即外部存储系统进行存储。
在再一个实施例中,提供一种分布式数据存储装置,该分布式数据存储装置设置在级别较高的外部存储系统中。该分布式存储装置包括:获取模块、第一判断模块和第一处理模块以及第一接收模块、请求处理模块、第二判断模块和第二处理模块。
获取模块,用于获取存储的数据的上一次处理时间。
第一判断模块,根据数据的上一次处理时间确定数据是否达到预设的数据向下迁移条件。
第一处理模块,用于在第一判断模块的判断结果为是时,将数据发送至下一级存储系统,由下一级存储系统存储。
第一接收模块,用于接收上一级存储系统发送的处理请求,处理请求携带有数据的主键;处理请求包括数据读写和数据更新的任意一种。
请求处理模块,用于当存储有主键对应的数据时,根据处理请求,对数据进行处理,并记录数据的处理时间。
第二判断模块,用于根据记录的数据的处理时间确定数据是否达到预设的数据向上迁移条件。
第二处理模块,用于在第二判断模块的判断结果为是时,将数据发送至上一级存储系统存储。
本实施例的分布式数据存储适应于存在多个外部存储系统的情况,此时,级别较高的外部存储系统既可以将使用频率较高的数据升热至上一级存储系统进行存储,也可以将使用频率较低的数据降冷至下一级存储系统进行存储。通过根据数据的使用频率区分数据的冷热属性,根据数据的冷热属性将数据进行分级存储,将内存的高性能和SSD的低成本的优势结合在一起,在保证系统性能的同时降低了成本。数据分级存储自动完成,能够快速响应业务突变,节省了人力成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (20)

1.一种分布式数据存储方法,其特征在于,包括:
获取存储的数据的上一次处理时间;
根据所述数据的上一次处理时间确定所述数据是否达到预设的数据向下迁移条件;
若是,将所述数据发送至下一级存储系统,由下一级存储系统存储;
接收上一级存储系统发送的处理请求,所述处理请求携带有所述数据的主键;所述处理请求包括数据读写和数据更新的任意一种;
当存储有所述主键对应的数据时,根据所述处理请求,对所述数据进行处理,并记录所述数据的处理时间;
根据记录的所述数据的处理时间确定所述数据是否达到预设的数据向上迁移条件;
若是,将所述数据发送至所述上一级存储系统存储。
2.根据权利要求1所述的方法,其特征在于,在所述将所述数据发送至下一级存储系统,由下一级存储系统存储的步骤之后,还包括:
接收所述下一级存储系统发送的第一删除指令;所述第一删除指令携带有所述数据的主键;
根据所述第一删除指令,判断迁移前的数据和迁移后的数据是否一致;
若不一致,则向所述下一级存储系统发送第二删除指令,所述第二删除指令携带有所述数据的主键,由所述下一级存储系统根据所述第二删除指令,删除所述主键对应的数据;
若一致,则根据所述第一删除指令,删除所述主键对应的数据。
3.根据权利要求2所述的方法,其特征在于:
在所述将所述数据发送至下一级存储系统,由下一级存储系统存储的步骤之前,还包括:计算所述数据迁移前的摘要;
所述根据所述第一删除指令,判断迁移前的数据和迁移后的数据是否一致的步骤包括:根据所述第一删除指令,计算所述主键对应的数据迁移后的摘要;判断所述数据的迁移前的摘要和迁移后的摘要是否一致。
4.根据权利要求1所述的方法,其特征在于,所述预设的数据向下迁移条件包括:所述数据的上一次处理时间与当前时间的时间差超过预设值。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收所述下一级存储系统发送的升热请求,所述升热请求携带有所述数据的主键;
根据所述升热请求,将所述数据的主键加锁;
向所述下一级存储系统发送数据迁移请求,所述数据迁移请求携带有所述数据的主键;
接收并存储所述下一级存储系统根据所述数据迁移请求发送的与所述主键对应的数据,并将所述数据的主键解锁;
向所述下一级存储系统发送第三删除指令;所述第三删除指令携带有所述数据的主键,由所述下一级存储系统根据所述第三删除指令,删除所述主键对应的所述数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
接收请求端或上一级存储系统发送的处理请求;所述处理请求携带有所述数据的主键;所述处理请求包括数据读写请求和数据更新请求的任意一种;
当未存储有与所述主键对应的数据时,判断所述数据的主键是否加锁;
若是,则将所述处理请求加入到待处理队列,并返回所述判断所述数据的主键是否加锁的步骤;
若否,则将所述处理请求发送至所述下一级存储系统。
7.根据权利要求1所述的方法,其特征在于,还包括:
接收请求端或上一级存储系统发送的新增数据请求,并将所述新增数据请求发送至下一级存储系统,在下一级存储系统为最后一级存储系统时,由所述下一级存储系统根据所述新增数据请求,对所述数据进行写入处理生成对应的主键并保存。
8.根据权利要求1所述的方法,其特征在于,所述将所述数据发送至所述上一级存储系统存储的步骤包括:
向所述上一级存储系统发送升热请求,所述升热请求携带有所述数据的主键,由所述上一级存储系统根据所述升热请求,将所述数据的主键加锁;
接收所述上一级存储系统发送的数据迁移请求,所述数据迁移请求携带有所述数据的主键;
根据所述数据迁移请求,将所述主键对应的所述数据发送至上一级存储系统,由所述上一级存储系统存储所述数据,将所述数据的主键解锁;
接收所述上一级存储系统发送的第四删除指令;
根据所述第四删除指令,删除所述主键对应的所述数据。
9.根据权利要求1所述的方法,其特征在于,还包括:
接收所述上一级存储系统发送的数据,所述数据由所述上一级存储系统扫描到所述数据达到预设的数据向下迁移条件后发送;
存储所述数据;
向所述上一级存储系统发送第五删除指令;所述第五删除指令携带有所述数据的主键;
根据所述上一级存储系统根据所述第五删除指令判断迁移前的数据和迁移后的数据不一致时发送的第六删除指令,删除所述主键对应的数据。
10.根据权利要求1所述的方法,其特征在于,还包括:
当未存储有所述主键对应的数据时,将所述处理请求发送至下一级存储系统。
11.一种分布式数据存储装置,其特征在于,包括:获取模块、第一判断模块和第一处理模块;
所述获取模块,用于获取存储的数据的上一次处理时间;
所述第一判断模块,根据所述数据的上一次处理时间确定所述数据是否达到预设的数据向下迁移条件;
所述第一处理模块,用于在所述第一判断模块的判断结果为是时,将所述数据发送至下一级存储系统,由下一级存储系统存储;
和/或包括:第一接收模块、请求处理模块、第二判断模块和第二处理模块;
所述第一接收模块,用于接收上一级存储系统发送的处理请求,所述处理请求携带有所述数据的主键;所述处理请求包括数据读写和数据更新的任意一种;
所述请求处理模块,用于当存储有所述主键对应的数据时,根据所述处理请求,对所述数据进行处理,并记录所述数据的处理时间;
所述第二判断模块,用于根据记录的所述数据的处理时间确定所述数据是否达到预设的数据向上迁移条件;
所述第二处理模块,用于在所述第二判断模块的判断结果为是时,将所述数据发送至所述上一级存储系统存储。
12.根据权利要求11所述的装置,其特征在于,还包括第二接收模块、第三判断模块、第二发送模块和第一删除处理模块;
所述第二接收模块,用于接收所述下一级存储系统发送的第一删除指令;所述第一删除指令携带有所述数据的主键;
第三判断模块,用于根据所述第一删除指令,判断迁移前的数据和迁移后的数据是否一致;
所述第二发送模块,用于在所述第三判断模块的判断结果为否时,向所述下一级存储系统发送第二删除指令,所述第二删除指令携带有所述数据的主键,由所述下一级存储系统根据所述第二删除指令,删除所述主键对应的数据;
第一删除处理模块,用于在所述第三判断模块的判断结果为是时,根据所述第一删除指令,删除所述主键对应的数据。
13.根据权利要求12所述的装置,其特征在于,还包括:计算模块,用于计算所述数据迁移前的摘要;
所述第三判断模块,用于根据所述第一删除指令,计算所述主键对应的数据迁移后的摘要,并判断所述数据的迁移前的摘要和迁移后的摘要是否一致。
14.根据权利要求11所述的装置,其特征在于,所述预设的数据向下迁移条件包括:所述数据的上一次处理时间与当前时间的时间差超过预设值。
15.根据权利要求11所述的装置,其特征在于,还包括:接收处理模块和锁处理模块;
所述接收处理模块,用于接收所述下一级存储系统发送的升热请求,所述升热请求携带有所述数据的主键;
所述锁处理模块,用于根据所述升热请求,将所述数据的主键加锁,还用于将所述数据的主键解锁;
所述第一处理模块,还向所述下一级存储系统发送数据迁移请求,所述数据迁移请求携带有所述数据的主键;
所述接收处理模块,还用于接收并存储所述下一级存储系统根据所述数据迁移请求发送的与所述主键对应的数据;
所述第一处理模块,还向所述下一级存储系统发送第三删除指令;所述第三删除指令携带有所述数据的主键,由所述下一级存储系统根据所述第三删除指令,删除所述主键对应的所述数据。
16.根据权利要求15所述的装置,其特征在于,还包括处理接收模块、第四判断模块、队列处理模块;
所述处理接收模块,用于接收请求端或上一级存储系统发送的处理请求;所述处理请求携带有所述数据的主键;所述处理请求包括数据读写请求和数据更新请求的任意一种;
所述第四判断模块,用于在当未存储有与所述主键对应的数据时,判断所述数据的主键是否加锁;
所述队列处理模块,用于在所述判断处理模块的判断结果为是时,则将所述处理请求加入到待处理队列;
所述第一处理模块,还用于将所述处理请求发送至所述下一级存储系统。
17.根据权利要求11所述的装置,其特征在于,所述第一接收模块,还接收请求端或上一级存储系统发送的新增数据请求,并将所述新增数据请求发送至下一级存储系统,在下一级存储系统为最后一级存储系统时,由所述下一级存储系统根据所述新增数据请求,对所述数据进行写入处理生成对应的主键并保存。
18.根据权利要求11所述的装置,其特征在于,所述第二处理模块包括:第三发送模块、第三接收模块和第二删除处理模块;
所述第三发送模块,用于向所述上一级存储系统发送升热请求,所述升热请求携带有所述数据的主键,由所述上一级存储系统根据所述升热请求,将所述数据的主键加锁;
所述第三接收模块,用于接收所述上一级存储系统发送的数据迁移请求,所述数据迁移请求携带有所述数据的主键;
所述第三发送模块,还根据所述数据迁移请求,将所述主键对应的所述数据发送至上一级存储系统,由所述上一级存储系统存储所述数据,将所述数据的主键解锁;
所述第三接收模块,还接收所述上一级存储系统发送的第四删除指令;
所述第二删除处理模块,用于根据所述第四删除指令,删除所述主键对应的所述数据。
19.根据权利要求11所述的装置,其特征在于,所述第一接收模块,还接收所述上一级存储系统发送的数据,并存储,所述数据由所述上一级存储系统扫描到所述数据达到预设的数据向下迁移条件后发送;
所述第二处理模块,还向所述上一级存储系统发送第五删除指令;所述第五删除指令携带有所述数据的主键;
所述第二处理模块,还根据所述上一级存储系统根据所述第五删除指令判断迁移前的数据和迁移后的数据不一致时发送的第六删除指令,删除所述主键对应的数据。
20.根据权利要求11所述的装置,其特征在于,所述第二处理模块,还在未存储有所述主键对应的数据时,将所述处理请求发送至下一级存储系统。
CN201610966877.5A 2016-10-28 2016-10-28 分布式数据存储方法和装置 Active CN108021585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610966877.5A CN108021585B (zh) 2016-10-28 2016-10-28 分布式数据存储方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610966877.5A CN108021585B (zh) 2016-10-28 2016-10-28 分布式数据存储方法和装置

Publications (2)

Publication Number Publication Date
CN108021585A true CN108021585A (zh) 2018-05-11
CN108021585B CN108021585B (zh) 2022-01-18

Family

ID=62084567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610966877.5A Active CN108021585B (zh) 2016-10-28 2016-10-28 分布式数据存储方法和装置

Country Status (1)

Country Link
CN (1) CN108021585B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033360A (zh) * 2018-07-26 2018-12-18 腾讯科技(深圳)有限公司 一种数据查询方法、装置、服务器及存储介质
CN109688070A (zh) * 2018-12-13 2019-04-26 迈普通信技术股份有限公司 一种数据调度方法、网络设备及转发单元
CN113703675A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 一种在客户端实现分级存储的方法及装置
CN113760854A (zh) * 2021-09-10 2021-12-07 北京金山云网络技术有限公司 Hdfs内存中数据的识别方法及相关设备
CN113760855A (zh) * 2021-09-10 2021-12-07 北京金山云网络技术有限公司 数据的存储方法、装置、电子设备和存储介质
CN113867645A (zh) * 2021-09-30 2021-12-31 苏州浪潮智能科技有限公司 数据迁移和数据读写方法、装置、计算机设备及存储介质
CN113918098A (zh) * 2021-10-28 2022-01-11 北京金山云网络技术有限公司 一种数据处理方法、装置、设备及介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156738A (zh) * 2011-04-13 2011-08-17 成都市华为赛门铁克科技有限公司 数据块处理方法、数据块存储设备及系统
CN102331993A (zh) * 2011-06-23 2012-01-25 北京新媒传信科技有限公司 分布式数据库的数据迁移方法和分布式数据库迁移系统
JP2013232025A (ja) * 2012-04-27 2013-11-14 Ntt Docomo Inc データ移行支援装置及びデータ移行支援方法
CN103685359A (zh) * 2012-09-06 2014-03-26 中兴通讯股份有限公司 数据处理方法及装置
CN104239493A (zh) * 2014-09-09 2014-12-24 北京京东尚科信息技术有限公司 跨集群数据迁移方法和系统
CN104461380A (zh) * 2014-11-17 2015-03-25 华为技术有限公司 数据存储方法及装置
CN104917788A (zh) * 2014-03-11 2015-09-16 中国移动通信集团公司 一种数据存储方法及装置
CN105117308A (zh) * 2015-09-29 2015-12-02 联想(北京)有限公司 一种数据处理方法、装置和系统
CN105183852A (zh) * 2015-09-08 2015-12-23 网易(杭州)网络有限公司 一种数据库迁移方法和装置
CN105528368A (zh) * 2014-09-30 2016-04-27 北京金山云网络技术有限公司 一种数据库迁移方法及装置
CN105653642A (zh) * 2015-12-25 2016-06-08 曙光信息产业股份有限公司 分布式文件系统的数据管理方法和装置
CN105991769A (zh) * 2016-04-12 2016-10-05 上海帝联信息科技股份有限公司 数据迁移方法及装置、边缘节点服务器
US20160294549A1 (en) * 2015-03-31 2016-10-06 Here Global B.V. Method and apparatus for migrating encrypted data

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156738A (zh) * 2011-04-13 2011-08-17 成都市华为赛门铁克科技有限公司 数据块处理方法、数据块存储设备及系统
CN102331993A (zh) * 2011-06-23 2012-01-25 北京新媒传信科技有限公司 分布式数据库的数据迁移方法和分布式数据库迁移系统
JP2013232025A (ja) * 2012-04-27 2013-11-14 Ntt Docomo Inc データ移行支援装置及びデータ移行支援方法
CN103685359A (zh) * 2012-09-06 2014-03-26 中兴通讯股份有限公司 数据处理方法及装置
CN104917788A (zh) * 2014-03-11 2015-09-16 中国移动通信集团公司 一种数据存储方法及装置
CN104239493A (zh) * 2014-09-09 2014-12-24 北京京东尚科信息技术有限公司 跨集群数据迁移方法和系统
CN105528368A (zh) * 2014-09-30 2016-04-27 北京金山云网络技术有限公司 一种数据库迁移方法及装置
CN104461380A (zh) * 2014-11-17 2015-03-25 华为技术有限公司 数据存储方法及装置
US20160294549A1 (en) * 2015-03-31 2016-10-06 Here Global B.V. Method and apparatus for migrating encrypted data
CN105183852A (zh) * 2015-09-08 2015-12-23 网易(杭州)网络有限公司 一种数据库迁移方法和装置
CN105117308A (zh) * 2015-09-29 2015-12-02 联想(北京)有限公司 一种数据处理方法、装置和系统
CN105653642A (zh) * 2015-12-25 2016-06-08 曙光信息产业股份有限公司 分布式文件系统的数据管理方法和装置
CN105991769A (zh) * 2016-04-12 2016-10-05 上海帝联信息科技股份有限公司 数据迁移方法及装置、边缘节点服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁建华 等: "存储系统数据迁移技术与实现", 《电脑开发与应用》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033360A (zh) * 2018-07-26 2018-12-18 腾讯科技(深圳)有限公司 一种数据查询方法、装置、服务器及存储介质
CN109033360B (zh) * 2018-07-26 2020-11-17 腾讯科技(深圳)有限公司 一种数据查询方法、装置、服务器及存储介质
CN109688070A (zh) * 2018-12-13 2019-04-26 迈普通信技术股份有限公司 一种数据调度方法、网络设备及转发单元
CN113703675A (zh) * 2021-07-30 2021-11-26 济南浪潮数据技术有限公司 一种在客户端实现分级存储的方法及装置
CN113703675B (zh) * 2021-07-30 2023-12-22 济南浪潮数据技术有限公司 一种在客户端实现分级存储的方法及装置
CN113760854A (zh) * 2021-09-10 2021-12-07 北京金山云网络技术有限公司 Hdfs内存中数据的识别方法及相关设备
CN113760855A (zh) * 2021-09-10 2021-12-07 北京金山云网络技术有限公司 数据的存储方法、装置、电子设备和存储介质
CN113867645A (zh) * 2021-09-30 2021-12-31 苏州浪潮智能科技有限公司 数据迁移和数据读写方法、装置、计算机设备及存储介质
CN113867645B (zh) * 2021-09-30 2023-08-18 苏州浪潮智能科技有限公司 数据迁移和数据读写方法、装置、计算机设备及存储介质
CN113918098A (zh) * 2021-10-28 2022-01-11 北京金山云网络技术有限公司 一种数据处理方法、装置、设备及介质

Also Published As

Publication number Publication date
CN108021585B (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
CN108021585A (zh) 分布式数据存储方法和装置
CN103392167B (zh) 分布式存储系统的缓存方法、节点
CN103136243B (zh) 基于云存储的文件系统去重方法及装置
CN101673192B (zh) 时序化的数据处理方法、装置及系统
CN109428913B (zh) 一种存储扩容方法及装置
CN103020255A (zh) 分级存储方法和装置
CN107704203A (zh) 聚合大文件的删除方法、装置、设备及计算机存储介质
CN111177143B (zh) 键值数据存储方法、装置、存储介质与电子设备
CN105550246B (zh) Android平台下加载网络图片的系统及方法
CN104035925B (zh) 数据存储方法、装置和存储系统
CN103270499A (zh) 日志存储方法及系统
CN106649467A (zh) 一种蓝光光盘库归档管理方法及系统
US20240104059A1 (en) Method for Service Processing and System, Device, and Medium
CN104078071A (zh) 数据存档系统以及品质检查方法
CN111737331B (zh) 一种数据库与对象存储的事务一致性处理方法及系统
CN116069261A (zh) 一种数据处理方法、系统、设备以及存储介质
CN107704507A (zh) 数据库处理方法和设备
CN115167778A (zh) 存储的管理方法、系统及服务器
CN114995759A (zh) 桶分片处理方法、装置、设备及介质
JP2003296152A (ja) Hsmシステムおよび同システムのマイグレーション制御方法
US20220171872A1 (en) Data generalization apparatus, data generalization method, and program
CN103714059B (zh) 一种更新数据的方法及装置
CN112711564B (zh) 合并处理方法以及相关设备
CN115878625A (zh) 数据处理方法和装置及电子设备
CN114253950B (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
TG01 Patent term adjustment