CN111124291A - 分布式存储***的数据存储处理方法、装置、电子设备 - Google Patents

分布式存储***的数据存储处理方法、装置、电子设备 Download PDF

Info

Publication number
CN111124291A
CN111124291A CN201911252196.2A CN201911252196A CN111124291A CN 111124291 A CN111124291 A CN 111124291A CN 201911252196 A CN201911252196 A CN 201911252196A CN 111124291 A CN111124291 A CN 111124291A
Authority
CN
China
Prior art keywords
data
storage space
storage
data type
threshold corresponding
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
CN201911252196.2A
Other languages
English (en)
Other versions
CN111124291B (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911252196.2A priority Critical patent/CN111124291B/zh
Publication of CN111124291A publication Critical patent/CN111124291A/zh
Application granted granted Critical
Publication of CN111124291B publication Critical patent/CN111124291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0608Saving storage space on storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (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、当多个数据副本所在存储服务器的剩余空间不一致时,如何决定再申请多少存储空间接收原数据或者进行数据转换面临着一定的困难。总之,现有技术的相关手段也未能解决存储空间死锁的问题。
发明内容
本发明的目的在于提供一种用于分布式存储***的数据存储处理方法、装置、电子设备及计算机可读存储介质,以在简化空间管理流程的前提下解决空间死锁的问题。
根据本发明的第一方面,提供了一种用于分布式存储***的数据存储处理方法,所述分布式存储***包括至少一个存储服务器,所述方法应用于存储服务器,所述方法包括:
判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
当所述已用存储空间超过第一数据类型对应的存储空间阈值时,停止接收第一数据类型的数据;
判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
当所述已用存储空间超过第二数据类型对应的存储空间阈值时,停止接收第二数据类型的数据;
将接收到的至少部分的第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应的存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第二数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
可选的,所述方法还包括:
将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据后,将转换得到的至少部分第二数据类型的数据发送给其他存储服务器。
可选的,所述判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值,包括:
当接收到第一数据类型的数据的写入请求时,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
或者,
按照预先设置的第一判断周期,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值。
可选的,所述判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值,包括:
当停止接收第一数据类型的数据之后,在接收到第二数据类型的数据的写入请求时,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
或者,
当停止接收第一数据类型的数据之后,按照预先设置的第二判断周期,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值。
可选的,所述方法还包括:
接收客户端的数据修改请求;
基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本。
可选的,所述在接收客户端的数据修改请求之后,所述基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本之前,所述方法还包括:
确定所述存储服务器的可用存储空间是否大于第一存储阈值;
所述基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本包括:
如果所述存储服务器的可用存储空间大于第一存储阈值,则基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本;
以及,所述方法还包括:
在存储所述原始数据的修改版数据副本后,删除所述原始数据。
可选的,所述方法还包括:
确定所述存储服务器的可用存储空间是否小于第二存储阈值;
如果所述存储服务器的可用存储空间小于第二存储阈值,则在本地执行所述数据回收服务,以删除所述修改版数据副本对应的原始数据,释放存储空间。
根据本发明的第二方面,提供了一种用于分布式存储***的数据存储处理方法,所述分布式存储***包括至少一个存储服务器,所述方法应用于存储服务器,所述方法包括:
判断所述存储服务器的可用存储空间是否小于第一数据类型对应的存储空间阈值;
当所述可用存储空间小于第一数据类型对应的存储空间阈值时,停止接收第一数据类型的数据;
判断所述存储服务器的可用存储空间是否小于第二数据类型对应的存储空间阈值;
当所述可用存储空间小于第二数据类型对应的存储空间阈值时,停止接收第二数据类型的数据;
将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第一数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
根据本发明的第三方面,提供了一种用于分布式存储***的数据存储处理装置,所述分布式存储***包括至少一个存储服务器,所述装置应用于存储服务器,所述装置包括:
第一判断模块,用于判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
第一停止模块,用于当所述已用存储空间超过第一数据类型对应的存储空间阈值时,所述第一停止模块停止接收第一数据类型的数据;
第二判断模块,用于判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
第二停止模块,用于当所述已用存储空间超过第二数据类型对应的存储空间阈值时,所述第二停止模块停止接收第二数据类型的数据;
转换模块,用于将接收到的至少部分的第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应的存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第二数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
可选的,所述装置还包括:
发送模块,用于将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据后,将转换得到的至少部分第二数据类型的数据发送给其他存储服务器。
可选的,所述第一判断模块包括:
第一判断单元,用于当接收到第一数据类型的数据的写入请求时,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
或者,
第二判断单元,用于按照预先设置的第一判断周期,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值。
可选的,所述第二判断模块包括:
第三判断单元,用于当停止接收第一数据类型的数据之后,在接收到第二数据类型的数据的写入请求时,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
或者,
第四判断单元,用于当停止接收第一数据类型的数据之后,按照预先设置的第二判断周期,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值。
可选的,所述装置还包括:
接收模块,用于接收客户端的数据修改请求;
存储模块,所述存储模块基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本。
可选的,所述装置还包括:
第一确定模块,用于确定所述存储服务器的可用存储空间是否大于第一存储阈值;
所述存储模块包括:
存储单元,用于如果所述存储服务器的可用存储空间大于第一存储阈值,则基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本;
以及,所述装置还包括:
删除模块,用于在存储所述原始数据的修改版数据副本后,删除所述原始数据。
可选的,所述装置还包括:
第二确定模块,用于确定所述存储服务器的可用存储空间是否小于第二存储阈值;
回收模块,如果所述存储服务器的可用存储空间小于第二存储阈值,则所述回收模块在本地执行所述数据回收服务,以删除所述修改版数据副本对应的原始数据,释放存储空间。
根据本发明的第四方面,提供了一种用于分布式存储***的数据存储处理装置,所述分布式存储***包括至少一个存储服务器,所述装置应用于存储服务器,所述装置包括:
第一判断模块,用于判断所述存储服务器的可用存储空间是否小于第一数据类型对应的存储空间阈值;
第一停止模块,用于当所述可用存储空间小于第一数据类型对应的存储空间阈值时,所述第一停止模块停止接收第一数据类型的数据;
第二判断模块,用于判断所述存储服务器的可用存储空间是否小于第二数据类型对应的存储空间阈值;
第二停止模块,用于当所述可用存储空间小于第二数据类型对应的存储空间阈值时,所述第二停止模块停止接收第二数据类型的数据;
转换模块,将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第一数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
根据本发明的第五方面,提供了一种电子设备,此电子设备包括:
根据本发明第三方面所述或第四方面所述的用于分布式存储***的数据存储处理装置;或者,
处理器和存储器,存储器用于存储可执行的指令,所述指令用于控制处理器执行根据本发明第一方面或第二方面所述的用于分布式存储***的数据存储处理方法。
根据本发明的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面或第二方面所述的用于分布式存储***的数据存储处理方法。
根据本发明,在存储服务器中针对接收的不同数据类型提供不同的存储空间阈值,在不同存储空间阈值范围内执行相应数据服务。这样,可以避免在可用存储空间不足的情况下,不同数据服务争夺有限的剩余空间资源而导致存储空间死锁的问题。以及,通过将占用存储空间较大的数据转换成占用存储空间较小的数据,以释放存储空间,使得存储服务器能够自适应地控制可用存储空间或者减少已用存储空间,提高存储空间利用率,避免存储空间死锁。
通过本发明,存储服务器自适应地控制可用存储空间或者减少已用存储空间,还可以降低数据存储时存储空间预分配流程的复杂度,简化空闲空间管理,减少异常分支,而存储服务器本端进行存储空间的分配和管理,无需通过元数据服务器申请额外存储空间,减少数据存储时不同服务器之间(例如,元数据服务器和存储服务器之间)网络通信的次数,提高数据存储的效率和数据存储的及时性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为可用于实现本发明实施例的服务器的硬件配置结构方框图。
图2为本发明实施例的用于分布式存储***的数据存储处理方法流程图。
图3为本发明第一实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
图4为本发明第二实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
图5为本发明第三实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
图6为本发明第四实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
图7为本发明第一实施例的用于分布式存储***的数据存储处理装置的具体结构方框图。
图8为本发明第二实施例的用于分布式存储***的数据存储处理装置的具体结构方框图。
图9为本发明实施例的电子设备的结构方框图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出可以实现本发明的实施例的服务器1000的硬件配置的框图。服务器1000可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,分布式***的存储服务器、云数据库服务器、云计算服务器、云管理服务器、网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交互服务器、存储服务器、数据库服务器或代理服务器等。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
如图1所示,服务器1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400,或者还可以包括显示装置1500、输入装置1600等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等,用于执行计算机程序。该计算机程序可以采用比如x86、Arm、RISC、MIPS、SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如包括USB接口、耳机接口等。通信装置1400例如能够利用光纤或电缆进行有线通信,或者无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏、键盘、体感输入等。
图1所示的服务器仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,服务器1000例如可以为本发明实施例的存储服务器,其可以包括存储器1200和处理器1100,存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项用于分布式存储***的数据存储处理方法。本领域技术人员应当理解,尽管在图1中对服务器1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如服务器1000可以只涉及处理器1100和存储器1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
在本发明一个实施例中,提供了一种用于分布式存储***的数据存储处理方法,所述分布式存储***包括至少一个存储服务器,本方法应用于存储服务器。
请参考图2,该图为本发明实施例的用于分布式存储***的数据存储处理方法流程图。用于分布式存储***的数据存储处理方法可以是由服务器实施,该服务器例如可以是如图1所示的服务器1000。
如图2所示,本发明实施例的用于分布式存储***的数据存储处理方法包括以下步骤:
步骤102,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值。
在本步骤中,第一数据类型的数据可以是原数据,例如,可以是客户端产生的数据。存储服务器与客户端建立相应的通信连接,通过该通信连接来接收来自客户端的第一数据类型的数据。
在本发明实施例中,存储服务器包括有对应第一数据类型的存储空间阈值,且该存储空间阈值可以是小于存储服务器的总存储空间的。在本步骤中,存储服务器可以比较已用的存储空间阈值和第一数据类型对应的存储空间阈值的大小,从而判断出已用存储空间是否超过第一数据类型对应的存储空间阈值。例如,存储服务器的存储空间为100T,已用存储空间为60T,第一数据类型对应的存储空间阈值为50T,则可以确定已用存储空间已超过了第一数据类型对应的存储空间阈值。
其中,第一数据类型对应的存储空间阈值可以是技术工程师根据经验设置在存储服务器中的,也可以是根据第一数据类型的数据的历史存储空间记录确定的,还可以是根据第一数据类型的数据对应的用户针对该类型的数据对存储空间的历史申请记录/使用记录确定的。在此不再一一赘述,且本发明对第一数据类型对应的存储空间阈值的确定方式不做限定。
步骤104,当所述已用存储空间超过第一数据类型对应的存储空间阈值时,停止接收第一数据类型的数据,即停止接收原数据。
在本步骤中,当已用存储空间超过第一数据类型对应的存储空间阈值时,存储服务器将不再接受第一数据类型的数据,或者不再提供第一数据类型对应的数据服务。避免因存储服务器的存储空间有限的情况下,第一数据类型的数据服务进程一直运行以申请数据服务,然而该进程无法完成服务,剩余的存储空间又被该进程一直占用无法提供给其他进程,造成存储空间死锁的问题。步骤106,判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值。
在本步骤中,第二数据类型可以是转换数据,转换数据可以来自其他存储服务器发送的数据。
在本发明实施例中,存储服务器中包括该第二数据类型对应的存储空间阈值。第二数据类型的数据所占用的存储空间会较第一数据类型的数据所占用的存储空间小,因此,第二数据类型对应的存储空间阈值较第一数据类型的存储空间阈值小。第二数据类型例如可以为压缩数据、纠删码数据等,在此不做限定。
其中,第二数据类型对应的存储空间阈值可以是技术工程师根据经验设置在存储服务器中的,也可以是根据第二数据类型的数据的历史存储空间记录确定的,还可以是根据第一数据类型的数据对应的用户针对该类型的数据对存储空间的历史申请记录/使用记录确定的。在此不再一一赘述,且本发明对第二数据类型对应的存储空间阈值的确定方式不做限定。
步骤108,当所述已用存储空间超过第二数据类型对应的存储空间阈值时,停止接收第二数据类型的数据,即停止接收转换数据。
在已用存储空间超过第二数据类型的对应存储空间阈值时,存储服务器的可用存储空间可能已较小,如果继续接收第二数据类型的数据,可能导致存储服务器的剩余可用存储空间被死锁,以及存储服务器内无法再进行数据备份、数据回收等本地服务。在本步骤中,当确定已用存储空间超过第二数据类型对应的存储空间阈值后,将不再接收第二数据类型的数据。
可以理解的是,在分布式存储***中,存储服务器为了保证数据的可靠性,会在本地将客户端的发送的数据(原数据)转换成第二数据类型的数据,即转换数据,再将转换数据发送给其他的存储服务器。在本步骤中,该存储服务器将停止接收其他存储服务器发送的第二数据类型的数据。
步骤110,将接收到的至少部分的第一数据类型的数据转换为第二数据类型的数据。
在本步骤中,存储服务器可以按照预设的规则将第一数据类型的数据转换为第二数据类型的数据。例如,可以对第二数据类型的数据进行批次划分,然后按批次进行数据转换,或者,可以按接收到第二数据类型的数据的时间顺序,将存储时间超过设定的时间阈值的第二数据类型的数据进行数据转换,在此不做限定。进行数据转换后,可以释放第一数据类型的数据占用的至少部分存储空间,使得存储服务器的存储空间可以自适应性调整。
需要说明的是,本步骤与前述步骤102-108中的所有步骤可以不具有先后执行顺序的限制,只要存储服务器中包括第一数据类型的数据即可执行本步骤。
其中,所述第一数据类型对应的存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第二数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小,即原数据经转换后,所占的存储空间会减少。
在一个示例中,如图2所示,上述方法还可以在步骤110之后,将转换得到的至少部分第二数据类型的数据(转换数据)发送给其他存储服务器(步骤112)。
然而,需要指出的是,图2所示的步骤110中转换数据可以与前述步骤102到108同步操作,步骤110与步骤102到108没有时间先后的顺序。
在步骤102中,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值,包括:
当接收到第一数据类型的数据的写入请求时,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;或者,按照预先设置的第一判断周期,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值。
在步骤106中,判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值,包括:当停止接收第一数据类型的数据之后,在接收到第二数据类型的数据的写入请求时,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;或者,当停止接收第一数据类型的数据之后,按照预先设置的第二判断周期,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值。
上述分布式***中存储服务器进行数据接收和存储时执行各种进程,数据类型包括例如原数据和转换数据,其中原数据转换处理后的数据占用的存储空间比原数据空间占用更少。
下面将结合图3到图4的实施例,对本发明的数据存储处理方法展开说明,其中,图3为本发明第一实施例的用于分布式存储***的数据存储处理方法具体步骤流程图,图4为本发明第二实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
如图3所示,用于分布式存储***的数据存储处理方法包括:
步骤202,接收第一数据类型的数据(原数据)和第二数据类型的数据(转换数据),其中原数据对应的第一存储空间阈值为H1、转换数据对应的第二存储空间阈值为H2,存储服务器的总存储空间为HZ,H1<H2<HZ。
步骤204,判断存储服务器的已用存储空间是否超出第一存储空间阈值,即Ht≥H1?
换言之,判断执行数据接收服务时存储服务器的当前已用存储空间Ht是否超过原数据接收对应的第一存储空间阈值H1。
步骤206,当Ht未超过第一存储空间阈值H1时,继续接收原数据和接收转换数据。并在接收过程中,持续返回到步骤204继续进行阈值判断。
步骤208,当Ht超过第一存储空间阈值H1时,停止接收原数据,但仍继续接收转换数据。
由于第二存储空间阈值H2大于第一存储空间阈值H1,因此在接收转换数据的过程中,需要进一步判断存储服务器当前已用存储空间Ht是否超过转换数据接收对应的第二存储空间阈值H2(步骤210)。
步骤212,当Ht未超过第二存储空间阈值H2时,继续接收转换数据。并在接收操作执行过程中,持续返回到步骤210继续进行阈值判断。
即,存在H1<Ht<H2时,则该存储服务器不再接收原数据,但是可以继续接收转换数据。
步骤214,当Ht超过针对第二存储空间阈值H2时,则停止接收转换数据。
步骤216中,可以对接收到存储服务器的至少部分原数据进行转换,得到转换数据。步骤216可以与步骤202的数据接收及后续存储空间阈值判断同步进行,不区分时间先后顺序。
下面参考图4,图4的实施例与图3的区别在于,图3是根据已用存储空间Ht与对应的存储空间阈值H1、H2进行比对和判断,而图4是基于可用存储空间Hs与对应的存储空间阈值H1、H2进行比对和判断,其中已用存储空间Ht与可用存储空间Hs之和为存储服务器的总存储空间HZ。
如图4所示,本实施例的用于分布式存储***的数据存储处理方法包括:
步骤222,接收第一数据类型的数据(原数据)和第二数据类型的数据(转换数据),其中原数据对应的第一存储空间阈值为H1、转换数据对应的第二存储空间阈值为H2,存储服务器的总存储空间为HZ,H1<H2<HZ。
步骤224,判断存储服务器的可用存储空间是否小于第一存储空间阈值,即Hs<H1?
换言之,判断执行数据接收服务时存储服务器的当前可用存储空间Ht是否小于原数据接收对应的第一存储空间阈值H1。
步骤226,当Hs不小于第一存储空间阈值H1时,继续接收原数据和接收转换数据。并在接收过程中,持续返回到步骤224继续进行阈值判断。
步骤228,当Hs小于第一存储空间阈值H1时,停止接收原数据,但仍继续接收转换数据。
由于第二存储空间阈值H2大于第一存储空间阈值H1,因此在接收转换数据的过程中,需要进一步判断存储服务器当前可用存储空间Hs是否小于转换数据接收对应的第二存储空间阈值H2(步骤230)。
步骤232,当Hs不小于第二存储空间阈值H2时,继续接收转换数据。并在接收操作执行过程中,持续返回到步骤230继续进行阈值判断。
即,存在H1>Hs>H2时,则该存储服务器不再接收原数据,但是可以继续接收转换数据。
步骤234,当Ht小于第二存储空间阈值H2时,则停止接收转换数据。
步骤236中,可以对接收到存储服务器的至少部分原数据进行转换,得到转换数据。步骤236可以与步骤222的数据接收及后续存储空间阈值判断同步进行,不区分时间先后顺序。
本发明用于分布式存储***的数据存储处理方法在存储服务器中针对不同数据类型提供不同的存储空间阈值,在不同存储空间阈值范围内执行相应数据服务。这样,可以避免在可用存储空间不足的情况下,不同数据服务争夺有限的剩余空间资源而导致存储空间死锁的问题。以及,由于新接收的原数据可以不断变为转换后空间占用更小的转换数据,本发明利用转换后的数据空间比原数据空间占用更小的特点,通过将占用存储空间较大的数据转换成占用存储空间较小的数据,以释放存储空间,使得存储服务器能够自适应地控制可用存储空间或者减少已用存储空间,提高存储空间利用率,避免存储空间死锁。
同时通过本发明,存储服务器自适应地控制可用存储空间或者减少已用存储空间,还可以降低数据存储时存储空间预分配流程的复杂度,简化空闲空间管理,减少异常分支,而无需通过元数据服务器申请额外存储空间,减少数据存储时不同服务器之间(例如,元数据服务器和存储服务器之间)网络通信的次数,提高数据存储的效率和数据存储的及时性。
在一个示例中,本发明的用于分布式存储***的数据存储处理方法还可以执行数据回收的操作,以删除原始数据,释放原始数据占用的存储空间。这里,原始数据可以是接收的原数据,也可以是转换数据,数据回收可执行在客户端对存储服务器内存储的数据进行访问操作的情况下。下面,将结合图5和图6的实施例进行展开说明。
首先,参考图5的实施例,该图为本发明第三实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
如图5所示,该实施例的用于分布式存储***的数据存储处理方法包括以下步骤:
步骤302,接收客户端的数据修改请求;
步骤304,确定所述存储服务器的可用存储空间Hs是否大于存储阈值H3;这里存储空间阈值可以是数据回收时设定的空间阈值,由于数据回收会占用一部分临时空间,因此H3的设置通常要大于前述的第二存储空间阈值H2。
步骤306,如果所述存储服务器的可用存储空间Hs不大于存储阈值H3,则对客户端发送的该数据修改请求返回请求失败,不允许对存储服务器的该请求对应的原始数据执行修改操作;
步骤308,如果所述存储服务器的可用存储空间Hs大于存储阈值H3,则基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本;
步骤310,在存储所述原始数据的修改版数据副本后,删除所述原始数据。
如此,通过删除原始数据,对数据进行回收从而释放存储服务器的部分存储空间。
下面参考图6,图6为本发明第四实施例的用于分布式存储***的数据存储处理方法具体步骤流程图。
步骤322,接收客户端的数据修改请求;
步骤324,基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本;
步骤326,存储修改版数据副本之后,可进一步确定所述存储服务器的可用存储空间Hs是否小于存储阈值H3;
步骤328,如果所述存储服务器的可用存储空间Hs小于存储阈值H3,则在本地执行所述数据回收服务,以删除所述修改版数据副本对应的原始数据,释放存储空间;否则,返回步骤326。
在本发明的上述实施例中,可以在接收到客户端向存储服务器的数据修改请求时,将请求对应的原始数据修改版数据副本存储之后,将对应的原始数据删除掉,执行数据回收,从而使得原始数据所占用的空间释放出来。
通过原始数据回收释放存储空间,最大限度地腾出存储空间,还同时避免了回收过程中不同服务之间的存储空间死锁。因此,本发明不用通过向元数据服务器申请额外空间的过程,存储服务器即可自行进行数据转换并且保证不存在空间死锁的问题。
根据本发明的另一个实施例,还提供一种用于分布式存储***的数据存储处理装置,其中图7为本发明第一实施例的用于分布式存储***的数据存储处理装置的具体结构方框图,图8为本发明第二实施例的用于分布式存储***的数据存储处理装置的具体结构方框图。其中,分布式存储***包括至少一个存储服务器,本发明实施例的用于分布式存储***的数据存储处理装置应用于存储服务器。
如图7所示,数据存储处理装置2000包括第一判断模块2200、第一停止模块2400、第二判断模块2600、第二停止模块2800以及转换模块2900。
第一判断模块2200,用于判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
第一停止模2400,用于当所述已用存储空间超过第一数据类型对应的存储空间阈值时,所述第一停止模块停止接收第一数据类型的数据;
第二判断模块2600,用于判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
第二停止模块2800,用于当所述已用存储空间超过第二数据类型对应的存储空间阈值时,所述第二停止模块停止接收第二数据类型的数据;
转换模块2900,用于将接收到的至少部分的第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应的存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第二数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
在一个示例中,第一数据类型为原数据,第二数据类型为经原数据转换处理后相比原数据占用更小存储空间的转换数据。
在一个示例中,数据存储处理装置2000还包括:
发送模块(图中未示出),用于将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据后,将转换得到的至少部分第二数据类型的数据发送给其他存储服务器。
在一个示例中,所述第一判断模块2200判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值,包括:当接收到第一数据类型的数据的写入请求时,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;或者,按照预先设置的第一判断周期,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值。
在一个示例中,所述第二判断模块2600判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值,包括:当停止接收第一数据类型的数据之后,在接收到第二数据类型的数据的写入请求时,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;或者,当停止接收第一数据类型的数据之后,按照预先设置的第二判断周期,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值。
在一个示例中,数据存储处理装置2000还包括:
接收模块(图中未示出),用于接收客户端的数据修改请求;以及存储模块(图中未示出),所述存储模块基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本。
在一个示例中,所述数据存储处理装置2000还包括:
第一确定模块(图中未示出),用于确定所述存储服务器的可用存储空间是否大于第一存储阈值;
所述存储模块基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本包括:如果所述存储服务器的可用存储空间大于第一存储阈值,则基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本;
以及,所述数据存储处理装置2000还包括:
删除模块(图中未示出),用于在存储所述原始数据的修改版数据副本后,删除所述原始数据。
在一个示例中,所述装置2000还包括:
第二确定模块(图中未示出),用于确定所述存储服务器的可用存储空间是否小于第二存储阈值;
回收模块(图中未示出),如果所述存储服务器的可用存储空间小于第二存储阈值,则所述回收模块在本地执行所述数据回收服务,以删除所述修改版数据副本对应的原始数据,释放存储空间。
现在参考图8,图8实施例的数据存储处理装置3000与图7实施例的数据存储处理装置2000区别在于,数据存储处理装置2000是根据已用存储空间Ht与第一、第二数据类型数据对应的存储空间阈值H1、H2进行比对和判断,而数据存储处理装置3000是基于可用存储空间Hs与第一、第二数据类型数据对应的存储空间阈值H1、H2进行比对和判断。
如图8所示,数据存储处理装置3000包括第一判断模块3200、第一停止模块3400、第二判断模块3600、第二停止模块3800以及转换模块3900。
第一判断模块3200,用于判断所述存储服务器的可用存储空间是否小于第一数据类型对应的存储空间阈值;
第一停止模块3400,用于当所述可用存储空间小于第一数据类型对应的存储空间阈值时,所述第一停止模块停止接收第一数据类型的数据;
第二判断模块3600,用于判断所述存储服务器的可用存储空间是否小于第二数据类型对应的存储空间阈值;
第二停止模块3800,用于当所述可用存储空间小于第二数据类型对应的存储空间阈值时,所述第二停止模块停止接收第二数据类型的数据;
转换模块3900,将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第一数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
在一个示例中,第一数据类型为原数据,第二数据类型为经原数据转换处理后相比原数据占用更小存储空间的转换数据。
根据本发明的又一个实施例,还提供了一种电子设备,该电子设备4000可以是图1所示的服务器1000。图9为本发明实施例的电子设备的结构方框图。
一方面,该电子设备4000可以包括前述的用于分布式存储***的数据存储处理装置2000或3000,用于实施本发明任意实施例的用于分布式存储***的数据存储处理方法。
另一方面,如图9所示,电子设备4000可以包括存储器4200和处理器4400,存储器4200用于存储可执行的指令;该指令用于控制处理器4400执行前述的用于分布式存储***空间管理方法。
在本实施例中,电子设备4000可以是图1中的服务器1000,也可以是其他终端设备,在此不做限定。
最后,在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例所述的用于分布式存储***的数据存储处理方法。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (12)

1.一种用于分布式存储***的数据存储处理方法,所述分布式存储***包括至少一个存储服务器,所述方法应用于存储服务器,其特征在于,所述方法包括:
判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
当所述已用存储空间超过第一数据类型对应的存储空间阈值时,停止接收第一数据类型的数据;
判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
当所述已用存储空间超过第二数据类型对应的存储空间阈值时,停止接收第二数据类型的数据;
将接收到的至少部分的第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应的存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第二数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据后,将转换得到的至少部分第二数据类型的数据发送给其他存储服务器。
3.根据权利要求1所述的方法,其特征在于,所述判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值,包括:
当接收到第一数据类型的数据的写入请求时,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
或者,
按照预先设置的第一判断周期,判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值。
4.根据权利要求1所述的方法,其特征在于,所述判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值,包括:
当停止接收第一数据类型的数据之后,在接收到第二数据类型的数据的写入请求时,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
或者,
当停止接收第一数据类型的数据之后,按照预先设置的第二判断周期,判断存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收客户端的数据修改请求;
基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本。
6.根据权利要求5所述的方法,其特征在于,所述在接收客户端的数据修改请求之后,所述基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本之前,所述方法还包括:
确定所述存储服务器的可用存储空间是否大于第一存储阈值;
所述基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本包括:
如果所述存储服务器的可用存储空间大于第一存储阈值,则基于预先存储的与所述数据修改请求对应的原始数据,获取并存储所述原始数据的修改版数据副本;
以及,所述方法还包括:
在存储所述原始数据的修改版数据副本后,删除所述原始数据。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
确定所述存储服务器的可用存储空间是否小于第二存储阈值;
如果所述存储服务器的可用存储空间小于第二存储阈值,则在本地执行所述数据回收服务,以删除所述修改版数据副本对应的原始数据,释放存储空间。
8.一种用于分布式存储***的数据存储处理方法,所述分布式存储***包括至少一个存储服务器,所述方法应用于存储服务器,其特征在于,所述方法包括:
判断所述存储服务器的可用存储空间是否小于第一数据类型对应的存储空间阈值;
当所述可用存储空间小于第一数据类型对应的存储空间阈值时,停止接收第一数据类型的数据;
判断所述存储服务器的可用存储空间是否小于第二数据类型对应的存储空间阈值;
当所述可用存储空间小于第二数据类型对应的存储空间阈值时,停止接收第二数据类型的数据;
将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第一数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
9.一种用于分布式存储***的数据存储处理装置,所述分布式存储***包括至少一个存储服务器,所述装置应用于存储服务器,其特征在于,所述装置包括:
第一判断模块,用于判断所述存储服务器的已用存储空间是否超过第一数据类型对应的存储空间阈值;
第一停止模块,用于当所述已用存储空间超过第一数据类型对应的存储空间阈值时,所述第一停止模块停止接收第一数据类型的数据;
第二判断模块,用于判断所述存储服务器的已用存储空间是否超过第二数据类型对应的存储空间阈值;
第二停止模块,用于当所述已用存储空间超过第二数据类型对应的存储空间阈值时,所述第二停止模块停止接收第二数据类型的数据;
转换模块,用于将接收到的至少部分的第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应的存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第二数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
10.一种用于分布式存储***的数据存储处理装置,所述分布式存储***包括至少一个存储服务器,所述装置应用于存储服务器,其特征在于,所述装置包括:
第一判断模块,用于判断所述存储服务器的可用存储空间是否小于第一数据类型对应的存储空间阈值;
第一停止模块,用于当所述可用存储空间小于第一数据类型对应的存储空间阈值时,所述第一停止模块停止接收第一数据类型的数据;
第二判断模块,用于判断所述存储服务器的可用存储空间是否小于第二数据类型对应的存储空间阈值;
第二停止模块,用于当所述可用存储空间小于第二数据类型对应的存储空间阈值时,所述第二停止模块停止接收第二数据类型的数据;
转换模块,将接收到的至少部分第一数据类型的数据转换为第二数据类型的数据;
其中,所述第一数据类型对应存储空间阈值小于所述第二数据类型对应的存储空间阈值,所述第一数据类型对应的存储空间阈值小于所述存储服务器的总存储空间,第一数据类型的数据转换为第二数据类型的数据后,所占用的存储空间减小。
11.一种电子设备,其特征在于,包括:
根据权利要求9或10所述的用于分布式存储***的数据存储处理装置;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1至8中任一权利要求所述的用于分布式存储***的数据存储处理方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至8中任一权利要求所述的用于分布式存储***的数据存储处理方法。
CN201911252196.2A 2019-12-09 2019-12-09 分布式存储***的数据存储处理方法、装置、电子设备 Active CN111124291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911252196.2A CN111124291B (zh) 2019-12-09 2019-12-09 分布式存储***的数据存储处理方法、装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911252196.2A CN111124291B (zh) 2019-12-09 2019-12-09 分布式存储***的数据存储处理方法、装置、电子设备

Publications (2)

Publication Number Publication Date
CN111124291A true CN111124291A (zh) 2020-05-08
CN111124291B CN111124291B (zh) 2023-05-30

Family

ID=70497957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911252196.2A Active CN111124291B (zh) 2019-12-09 2019-12-09 分布式存储***的数据存储处理方法、装置、电子设备

Country Status (1)

Country Link
CN (1) CN111124291B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699124A (zh) * 2020-12-30 2021-04-23 罗普特科技集团股份有限公司 一种基于分布式多存储服务的循环存储方法和***
CN112737977A (zh) * 2020-12-28 2021-04-30 苏州浪潮智能科技有限公司 一种数据包处理方法以及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161148A1 (en) * 2013-12-11 2015-06-11 Jdsu Uk Limited Method and apparatus for managing data
US20160055097A1 (en) * 2014-08-19 2016-02-25 Yang Seok KI Heterogeneous unified memory
CN108256087A (zh) * 2018-01-22 2018-07-06 北京腾云天下科技有限公司 一种基于位图结构的数据导入、查询及处理方法
CN109085999A (zh) * 2018-06-15 2018-12-25 华为技术有限公司 数据处理方法及处理***
CN109213745A (zh) * 2018-08-27 2019-01-15 郑州云海信息技术有限公司 一种分布式文件存储方法、装置、处理器及存储介质
CN109284073A (zh) * 2018-09-30 2019-01-29 北京金山云网络技术有限公司 数据存储方法、装置、***、服务器、控制节点及介质
CN109753227A (zh) * 2017-11-08 2019-05-14 北京嘀嘀无限科技发展有限公司 存储方法、装置、移动终端、服务器和可读存储介质
CN110471614A (zh) * 2018-05-09 2019-11-19 杭州海康威视数字技术股份有限公司 一种存储数据的方法、检测终端的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150161148A1 (en) * 2013-12-11 2015-06-11 Jdsu Uk Limited Method and apparatus for managing data
US20160055097A1 (en) * 2014-08-19 2016-02-25 Yang Seok KI Heterogeneous unified memory
CN109753227A (zh) * 2017-11-08 2019-05-14 北京嘀嘀无限科技发展有限公司 存储方法、装置、移动终端、服务器和可读存储介质
CN108256087A (zh) * 2018-01-22 2018-07-06 北京腾云天下科技有限公司 一种基于位图结构的数据导入、查询及处理方法
CN110471614A (zh) * 2018-05-09 2019-11-19 杭州海康威视数字技术股份有限公司 一种存储数据的方法、检测终端的方法及装置
CN109085999A (zh) * 2018-06-15 2018-12-25 华为技术有限公司 数据处理方法及处理***
CN109213745A (zh) * 2018-08-27 2019-01-15 郑州云海信息技术有限公司 一种分布式文件存储方法、装置、处理器及存储介质
CN109284073A (zh) * 2018-09-30 2019-01-29 北京金山云网络技术有限公司 数据存储方法、装置、***、服务器、控制节点及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吴程熙: "混合型分布式存储***中的存储策略研究与实现" *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737977A (zh) * 2020-12-28 2021-04-30 苏州浪潮智能科技有限公司 一种数据包处理方法以及装置
CN112699124A (zh) * 2020-12-30 2021-04-23 罗普特科技集团股份有限公司 一种基于分布式多存储服务的循环存储方法和***
CN112699124B (zh) * 2020-12-30 2022-05-17 罗普特科技集团股份有限公司 一种基于分布式多存储服务的循环存储方法和***

Also Published As

Publication number Publication date
CN111124291B (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN109274731B (zh) 基于多租户技术的web服务的部署、调用方法和装置
CN109213611B (zh) 跨进程通讯方法、装置、终端及存储介质
CN111782365B (zh) 定时任务处理方法、装置、设备及存储介质
CN109218356B (zh) 管理服务器上有状态应用的方法和设备
CN111880967A (zh) 云场景下的文件备份方法、装置、介质和电子设备
CN111124291B (zh) 分布式存储***的数据存储处理方法、装置、电子设备
CN111290871A (zh) 获取应用程序崩溃信息的方法和装置
CN111586177B (zh) 集群会话防丢失方法及***
CN115904761A (zh) 片上***、车辆及视频处理单元虚拟化方法
CN115220876A (zh) 虚拟资源创建方法、装置、程序产品、介质及电子设备
US10884818B2 (en) Increasing processing capacity of virtual machines
CN112925796A (zh) 一种写一致性控制方法、装置、设备及存储介质
CN113656193A (zh) 一种应用通信方法、***、电子设备及存储介质
US11303587B2 (en) Chatbot information processing
CN116521639A (zh) 一种日志数据的处理方法、电子设备和计算机可读介质
CN113076175B (zh) 用于虚拟机的内存共享方法及装置
CN113779122B (zh) 导出数据的方法和装置
US11386043B2 (en) Method, device, and computer program product for managing snapshot in application environment
CN111091899B (zh) 权限分配方法及装置、电子设备和计算机可读存储介质
CN114070889A (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN113919310A (zh) 短信内容确定方法、装置、电子设备及存储介质
CN106886373B (zh) 物理机的磁盘操作方法、装置和物理机
CN113448960A (zh) 一种导入表格文件的方法和装置
CN112559001A (zh) 更新应用的方法和装置
CN114996169B (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