CN113704190A - 一种数据写入方法以及装置 - Google Patents

一种数据写入方法以及装置 Download PDF

Info

Publication number
CN113704190A
CN113704190A CN202110815226.7A CN202110815226A CN113704190A CN 113704190 A CN113704190 A CN 113704190A CN 202110815226 A CN202110815226 A CN 202110815226A CN 113704190 A CN113704190 A CN 113704190A
Authority
CN
China
Prior art keywords
disk
linked list
data block
residual space
target
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.)
Pending
Application number
CN202110815226.7A
Other languages
English (en)
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.)
New H3C Technologies Co Ltd Chengdu Branch
Original Assignee
New H3C Technologies Co Ltd Chengdu Branch
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 New H3C Technologies Co Ltd Chengdu Branch filed Critical New H3C Technologies Co Ltd Chengdu Branch
Priority to CN202110815226.7A priority Critical patent/CN113704190A/zh
Publication of CN113704190A publication Critical patent/CN113704190A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Landscapes

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

Abstract

本说明书提供一种数据写入方法及装置,涉及通信技术领域。一种数据写入方法,应用于节点设备,包括:若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块;创建磁盘的剩余空间链表,其中,剩余空间链表中记录有空闲数据块的比特位的索引;根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块;将写入请求中所携带的待写入数据写入到目标数据块。通过上述方法能够提升节点设备的写入效率。

Description

一种数据写入方法以及装置
技术领域
本说明书涉及通信技术领域,尤其涉及一种数据写入方法以及装置。
背景技术
随高清视频、图像处理、视频监控等技术的发展,用户需要存储的数据正变得越来越大,而且用户对数据的读写性能的要求也在同步增加。
在适用于文件系统的节点设备,磁盘的最小可操作单位为数据块,可以通过比特(bit)位图的方式对应标记每一个数据块的占用情况,比如当比特位图中的某一位被标记为“0”时,则表明该比特位所对应的数据块处于空闲状态,当比特位图中的某一位被标记为“1”时,则表明该比特位所对应的数据块处于占用状态。在磁盘较少被占用时,节点设备能够快速地从磁盘中查找到空闲的数据块并完成写入,若磁盘较多被占用,节点设备需要消耗大量的时间进行在比特位图中查找空闲的数据块,从而降低了节点设备对数据进行写入的效率。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种数据写入方法以及装置。
结合本说明书实施方式的第一方面,本申请提供了一种数据写入方法,应用于节点设备,包括:
若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块;
创建磁盘的剩余空间链表,其中,剩余空间链表中记录有空闲数据块的比特位的索引;
根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块;
将写入请求中所携带的待写入数据写入到目标数据块。
可选的,在将写入请求中所携带的待写入数据写入到目标数据块之后,还包括:
根据剩余空间链表,在目标磁盘所对应的比特位图中,将目标数据块所对应的比特位置为占用状态;
在剩余空间链表中删除目标数据块所对应的比特位的索引。
可选的,在创建磁盘的剩余空间链表之后,还包括:
对磁盘进行扫描,更新该磁盘所对应的剩余空间链表。
可选的,在创建磁盘的剩余空间链表之后,还包括:
若磁盘的剩余空间不小于预设比例且剩余空间列表中不存在空闲数据块的比特位的索引,则删除剩余空间链表,并切换至树形结构对比特位图进行管理。
可选的,根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块,包括:
根据客户端所发送的写入请求中所携带的文件名进行散列运算,基于运算结果从自身所部署的磁盘中选择目标磁盘;
根据写入请求中所携带的数据长度,从目标磁盘所对应的剩余空间链表中确定出对应数量的空闲数据块作为目标数据块。
结合本说明书实施方式的第二方面,本申请提供了一种数据写入装置,应用于节点设备,包括:
扫描单元,用于若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块;
创建单元,用于创建磁盘的剩余空间链表,其中,剩余空间链表中记录有空闲数据块的比特位的索引;
确定单元,用于根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块;
写入单元,用于将写入请求中所携带的待写入数据写入到目标数据块。
可选的,该装置,还包括:
标记单元,用于根据剩余空间链表,在目标磁盘所对应的比特位图中,将目标数据块所对应的比特位置为占用状态;
删除单元,用于在剩余空间链表中删除目标数据块所对应的比特位的索引。
可选的,该装置,还包括:
更新单元,用于对磁盘进行扫描,更新该磁盘所对应的剩余空间链表。
可选的,该装置,还包括:
切换单元,用于若磁盘的剩余空间不小于预设比例且剩余空间列表中不存在空闲数据块的比特位的索引,则删除剩余空间链表,并切换至树形结构对比特位图进行管理。
可选的,确定单元,包括:
运算模块,用于根据客户端所发送的写入请求中所携带的文件名进行散列运算,基于运算结果从自身所部署的磁盘中选择目标磁盘;
确定模块,用于根据写入请求中所携带的数据长度,从目标磁盘所对应的剩余空间链表中确定出对应数量的空闲数据块作为目标数据块。
本说明书的实施方式提供的技术方案可以包括以下有益效果:
本说明书实施方式中,在节点设备中的某一个磁盘的剩余空间小于预设空间时,对管理该磁盘中存储空间的比特位图进行扫描,从而查找出磁盘中未被占用的空闲数据块,创建剩余空间链表,在该表中记录查找到的空闲数据块在比特位图中的索引,当接收到写入请求后,通过查找该剩余空间链表确定出目标数据块,并将这些目标数据块分配给该写入请求以完成针对写入请求的数据写入,加快了获取空闲数据块的速度,从而提升了节点设备数据写入的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施方式,并与说明书一起用于解释本说明书的原理。
图1是本申请所涉及的一种数据写入方法的流程图;
图2是本申请的实施方式所涉及的分布式文件系统的网络架构图;
图3、4是本申请的实施方式所涉及的AVL树的结构示意图;
图5是本申请的实施方式所涉及的剩余空间链表与比特位图之间对应关系的示意图;
图6是本申请的另一实施方式所涉及的剩余空间链表与比特位图之间对应关系的示意图;
图7是本申请所涉及的一种数据写入装置的结构示意图。
具体实施方式
这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。
本申请提供了一种数据写入方法,应用于节点设备,如图1所示,包括:
S100、若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块。
分布式文件系统1的结构,如图2所示,可以包括若干节点设备和交换设备,客户端通过网络或直连的方式通信连接到分布式文件系统。具体的,以分布式文件系统1包含有两台节点设备2为例进行描述,分别为节点设备20、21,节点设备2之间可以设置有多台交换设备以实现不同的功能,比如可以包含有管理交换机3、互联交换机4和网络交换机5。其中,管理交换机3可以连接到一台服务器(或个人电脑等)对分布式文件系统1中的节点设备2进行管理和控制,互联交换机4分别连接不同的节点设备2可以用于实现节点设备2之间的数据交互,网络交换机5连接客户端6用于实现数据的写入和读取等操作。该节点设备2可以是设置有多块磁盘7,可以是包含有多块磁盘7的服务器,也可以是专门设置的存储设备,本方案对此不做限制。在图2中,节点设备20中可以设置有两块磁盘70、71。
在一块硬盘中,最小的可操作单位被称为扇区,为了能够提高数据读写的效率,可以将多个扇区形成一个数据块进行数据写入和读取的操作。为了实现对磁盘的存储空间进行管理,可以通过比特位图的形式来标记每一个数据块的使用状态,被置于1的比特位表示其对应的数据块处于占用状态,被置于0的比特位表示其对应的数据块处于空闲状态。假设将磁盘70的存储空间划分为N个数据块,被记为数据块0~数据块N,那么,在比特位图中可以设置与N个数据块相对应的比特位,每一个比特位可以建立有与对应的数据块的对应关系。比如,每一个比特位可以对应于一个数据块的相对于存储空间起始位置的偏移量,基于起始位置和偏移量既可以确定该一个数据块的具体位置。该起始位置和偏移量可以认为是一个数据块的位置信息。
在一个数据块被写入数据后,节点设备2会在比特位图中将对应的比特位置于占用状态(即置为1),在该数据块中的数据被清除后,会重新将该比特位置于空闲状态(即置为0),以进行资源的回收,并在下一次写入时重新利用。由于被清除的数据并不一定是连续的数据块,此时,在比特位图中将呈现为0和1交替出现的情况。在此情况下,在数据写入时,为了能够更快地查找到空闲数据块,可以通过构建数据结构加快查询速度,比如,树形结构。
如图3所示,以AVL树(Adelson-Velsky and Landis Tree,自平衡二叉查找树)为例,AVL树的根节点可以记录该AVL树所管理的比特位图中处于空闲状态的数据块(后续可称为空闲数据块)的数量,AVL树的子节点中可以记录该子节点下所管理的部分比特位图中处于空闲状态的数据块的数量,叶子节点指向比特位图中的一个比特位,比如叶子节点存储有一个比特位的索引。
在进行空闲数据块的查找时,节点设备20引导至AVL树启动查找,可以根据AVL树进行逐层级的查找。如图3所示的情况下,AVL树包含3个级别,基于写入请求确认需要申请3个空闲数据块。如针对一个磁盘划分出100个数据块,通过AVL树对该磁盘进行管理,在工作过程中,80个数据块被占用,20个数据块未被占用。
在AVL树的第一级的节点1中可以确定其所管理的空闲数据块的数量为20个,跳转至第二级;在左侧的节点2记录有8个空闲数据块,右侧的节点3记录有12个空闲数据块,由于节点2和节点3都可以满足3个空闲数据块的需求,优先选择左侧的节点2,跳转至第三级;在第三级中,节点2管理有节点5和节点6,节点5记录有2个空闲数据块,节点6记录有6个空闲数据块,可以确定节点5所管理的空闲数据块数量不足以满足写入请求的申请数量,而节点6所管理的空闲数据块可以满足写入请求的申请数量,因此,选择节点6。此时,由于第三级的节点为AVL树的叶子节点,则可以直接从节点6中所管理的空闲数据块中选择3个空闲数据块的位置信息返回给节点设备20,以供写入请求写入数据,在写入后将申请的数据块在比特位图中的比特位置为1,标记为占用状态,如图4被标记为黑色的数据块所示,并根据比特位图中新的标记更新每一个节点所记录的空闲数据块的数量。需要说明的是,每一级中的节点个数不限于图示数量,可以更多或更少。
其中,在选择节点时,可以设置有预设策略,比如当节点记录的空闲数据块的数量满足写入请求的数量需求时,从左侧节点开始逐一选择,以避免随机选择导致空闲数据块分布零散而增加查找AVL树的耗时。当然,预设策略也可以不限于此,根据实际需求设计即可。
在节点设备20正常工作的过程中,磁盘被持续地写入和清除,比特位图也随之更新。在节点设备20中,还可以针对每一块磁盘配置有一预设比例,该预设比例用于表示一块磁盘的剩余空间的比例,或者也可以用于表示磁盘的空间被占用的比例,后续以表示剩余空间的比例为例进行描述。举例而言,将磁盘70的预设比例设置为30%,即表示当磁盘70的剩余空间小于30%的情况下,需要通过剩余空间链表的方式对空闲数据块进行管理。此时,节点设备20可以针对到达预设比例的磁盘进行扫描,确定该磁盘中剩余的空闲数据块以及在比特位图中所对应的比特位等信息。对应的比特位等信息,可以包含有位置信息。
S101、创建磁盘的剩余空间链表,其中,剩余空间链表中记录有空闲数据块的比特位的索引。
节点设备20创建剩余空间链表,该剩余空间链表可以设定为对应固定数量的空闲数据块,比如设定有30个表项,如图5所示,每一个表项可以存储一个比特位图中被标记为空闲状态的比特位的索引,通过该索引可以快速地查找到处于空闲状态的比特位,进而根据该比特位确定出与该与之对应的空闲数据块的位置信息。
并且,在创建剩余空间链表后,可以在接收到写入请求且确定需要向磁盘70写入数据时,引导至剩余空间链表以查找空闲数据块,替代AVL树的查找。下面以比特位图中标记有30个比特位被标记为空闲状态,即包含30个空闲数据块为例进行描述。需要说明的是,每一块磁盘可以设定有自己的查找空闲数据块的方式,并不一定需要所有的磁盘都应用该方式,根据实际需求设置即可。
S102、根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块。
可选的,步骤S102、根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块,包括:
S102A、根据客户端所发送的写入请求中所携带的文件名进行散列运算,基于运算结果从自身所部署的磁盘中选择目标磁盘。
S102B、根据写入请求中所携带的数据长度,从目标磁盘所对应的剩余空间链表中确定出对应数量的空闲数据块作为目标数据块。
在接收到客户端所发送的写入请求时,对该写入请求进行解析。根据该写入请求中所包含的报文信息,比如可以根据写入请求中所携带的文件名进行散列运算,确定出该写入请求所对应的磁盘(磁盘70可称为目标磁盘)。该散列运算可以为哈希运算,当然除了文件名之外,还可以是根据写入请求中所携带的五元组等报文信息,对此不做限制。
之后,节点设备20可以获取该写入请求中要求写入的数据长度,根据该数据长度确定出需要的数据块数量,比如为5个。此时,节点设备20从剩余空间链表的表头开始查找,申请表项1~表项5这5个作为本次写入的对象。节点设备20根据确定出的5个表项中所对应的索引在对应的比特位图中确定出对应的比特位,并基于该比特位所对应的位置信息,确定出空闲数据块作为目标数据块。
S103、将写入请求中所携带的待写入数据写入到目标数据块。
在确定出目标数据块的位置信息后,节点设备20将写入请求中所包含的待写入数据写入到这些数据块中,从而完成针对本次写入请求的处理。
本说明书实施方式中,在节点设备中的某一个磁盘的剩余空间小于预设空间时,对管理该磁盘中存储空间的比特位图进行扫描,从而查找出磁盘中未被占用的空闲数据块,创建剩余空间链表,在该表中记录查找到的空闲数据块在比特位图中的索引,当接收到写入请求后,通过查找该剩余空间链表确定出目标数据块,并将这些目标数据块分配给该写入请求以完成针对写入请求的数据写入,加快了获取空闲数据块的速度,从而提升了节点设备数据写入的效率。
由于磁盘中的数据是随时更新的,比特位图中各比特位中的标记也被实时更新,因此,如采用剩余空间链表,同样需要能够尽快地更新剩余空间链表中所记录的索引,以避免重复的写入导致写入的数据被覆盖。可选的,在步骤S103、将写入请求中所携带的待写入数据写入到目标数据块之后,还包括:
S104、根据剩余空间链表,在目标磁盘所对应的比特位图中,将目标数据块所对应的比特位置为占用状态。
在待写入数据被写入到选出的目标数据块后,基于剩余空间链表与比特位图的对应关系,将目标数据块对应的比特位置于占用状态,即将比特位置为“1”,从而在比特位图中标记本次被写入的数据块已处于被占用的状态。
S105、在剩余空间链表中删除目标数据块所对应的比特位的索引。
在待写入数据被写入后,从剩余空间链表中清除对应的表项,即上述的表项1~表项5。这里所说的清除对应的表项指删除该表项中所记录的比特位的索引,仅保留空的表项。此时,在节点设备20无法从剩余空间链表中的一个表项中获取到比特位的索引时,则会顺次查找下一个表项,直至选出符合写入请求需求数量的数据块。
通过上述方式,可以实现剩余空间链表的实时更新,避免数据块中所存储的数据被后续的待写入数据所覆盖。
由于节点设备创建的剩余空间链表具有设定的大小,可能无法覆盖所有的空闲数据块,因此,当针对写入请求根据剩余空间链表选出空闲数据块后,这部分剩余空间链表中所存储的索引即会被清除,从而空出了部分剩余空间链表,这样会降低后续查找目标数据块的效率。可选的,在步骤S101、创建磁盘的剩余空间链表之后,还包括:
S106、对磁盘进行扫描,更新该磁盘所对应的剩余空间链表。
假设所创建的剩余空间链表中包含有20个表项,在磁盘71中划分出100个数据块。根据所配置的预设比例(30%),在70个数据块被占用后,节点设备20会为磁盘71创建出剩余空间链表替代AVL树进行比特位图的管理。
此时,节点设备20对磁盘71进行扫描,从为磁盘71生成的比特位图中选出20个被置为空闲状态的比特位,将这些比特位的索引写入到剩余空间链表中。
之后,节点设备20持续的接收写入请求,并从剩余空间链表中选出对应数量的目标数据块完成待写入数据的写入,比如,选出了8个目标数据块分配给写入请求,这些目标数据块对应剩余空间链表的表项1~表项8。这时,这8个表项所对应的比特位被置为“1”。
节点设备20实时地对磁盘71中所记录的比特位图进行扫描,从中选出8个处于空闲状态的比特位,并将该比特位的索引写入到剩余空间链表的表项1~表项8,如图6所示索引71~索引78,从而使得剩余空间链表中可以尽量保持较高的可选择性,即从剩余空间链表的起始位置选出目标数据块写入数据。这样一来,节点设备20在执行针对写入请求申请空闲数据块时,就可以进一步地取得更高地申请效率。
可选的,在步骤S101、创建磁盘的剩余空间链表之后,还包括:
S107、若磁盘的剩余空间不小于预设比例且剩余空间列表中不存在空闲数据块的比特位的索引,则删除剩余空间链表,并切换至树形结构对比特位图进行管理。
在节点设备20运行的过程中,磁盘中所存储的数据也可能从数据块中清除,从而使得磁盘的数据块被还原至空闲状态。也就是说,磁盘中所包含的剩余空间的比例可能等于或大于预设比例,此时,选用原有的AVL树进行空闲数据块的查找的效率可能更高。
那么,在节点设备20确定某一个磁盘的剩余空间不小于预设比例时,则可以重新将空闲数据块的查找引导至AVL树的起始位置,也既是解除剩余空闲链表与空闲数据块的查找之间的引导关系(比如索引等方式),并删除所创建的剩余空间链表。
另外,由于在小于预设比例时,节点设备20已经创建了剩余空间链表,此时在剩余空间链表中还可以用于快速地查找空闲数据块,因此,节点设备20可以在剩余空间不小于预设比例的情况下,不立刻断开剩余空间链表和空闲数据块查找之间的引导关系,而是停止对于剩余空间链表中所存储的索引的更新,直至剩余空间链表中所能确定出的空闲数据块不足以满足一个写入请求所需求的数据块数量的情况下,再将断开剩余空间链表和空闲数据块之间的引导关系,从而提升一次创建剩余空间链表的效率,避免重复地创建和删除剩余空间链表所消耗的资源。
相对应的,本申请提供了一种数据写入装置,应用于节点设备,如图7所示,包括:
扫描单元,用于若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块;
创建单元,用于创建磁盘的剩余空间链表,其中,剩余空间链表中记录有空闲数据块的比特位的索引;
确定单元,用于根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块;
写入单元,用于将写入请求中所携带的待写入数据写入到目标数据块。
可选的,该装置,还包括:
标记单元,用于根据剩余空间链表,在目标磁盘所对应的比特位图中,将目标数据块所对应的比特位置为占用状态;
删除单元,用于在剩余空间链表中删除目标数据块所对应的比特位的索引。
可选的,该装置,还包括:
更新单元,用于对磁盘进行扫描,更新该磁盘所对应的剩余空间链表。
可选的,该装置,还包括:
切换单元,用于若磁盘的剩余空间不小于预设比例且剩余空间列表中不存在空闲数据块的比特位的索引,则删除剩余空间链表,并切换至树形结构对比特位图进行管理。
可选的,确定单元,包括:
运算模块,用于根据客户端所发送的写入请求中所携带的文件名进行散列运算,基于运算结果从自身所部署的磁盘中选择目标磁盘;
确定模块,用于根据写入请求中所携带的数据长度,从目标磁盘所对应的剩余空间链表中确定出对应数量的空闲数据块作为目标数据块。
本说明书的实施方式提供的技术方案可以包括以下有益效果:
本说明书实施方式中,在节点设备中的某一个磁盘的剩余空间小于预设空间时,对管理该磁盘中存储空间的比特位图进行扫描,从而查找出磁盘中未被占用的空闲数据块,创建剩余空间链表,在该表中记录查找到的空闲数据块在比特位图中的索引,当接收到写入请求后,通过查找该剩余空间链表确定出目标数据块,并将这些目标数据块分配给该写入请求以完成针对写入请求的数据写入,加快了获取空闲数据块的速度,从而提升了节点设备数据写入的效率。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种数据写入方法,其特征在于,应用于节点设备,包括:
若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块;
创建磁盘的剩余空间链表,其中,所述剩余空间链表中记录有所述空闲数据块的比特位的索引;
根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块;
将所述写入请求中所携带的待写入数据写入到所述目标数据块。
2.根据权利要求1所述的方法,其特征在于,在将所述写入请求中所携带的待写入数据写入到所述目标数据块之后,还包括:
根据所述剩余空间链表,在所述目标磁盘所对应的比特位图中,将所述目标数据块所对应的比特位置为占用状态;
在所述剩余空间链表中删除所述目标数据块所对应的比特位的索引。
3.根据权利要求1所述的方法,其特征在于,在所述创建磁盘的剩余空间链表之后,还包括:
对磁盘进行扫描,更新该磁盘所对应的剩余空间链表。
4.根据权利要求1所述的方法,其特征在于,在所述创建磁盘的剩余空间链表之后,还包括:
若磁盘的剩余空间不小于预设比例且所述剩余空间列表中不存在所述空闲数据块的比特位的索引,则删除所述剩余空间链表,并切换至树形结构对所述比特位图进行管理。
5.根据权利要求1所述的方法,其特征在于,所述根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块,包括:
根据客户端所发送的写入请求中所携带的文件名进行散列运算,基于运算结果从自身所部署的磁盘中选择目标磁盘;
根据所述写入请求中所携带的数据长度,从所述目标磁盘所对应的剩余空间链表中确定出对应数量的空闲数据块作为目标数据块。
6.一种数据写入装置,其特征在于,应用于节点设备,包括:
扫描单元,用于若磁盘的剩余空间小于预设比例,则根据该磁盘所对应的比特位图确定处于空闲状态的空闲数据块;
创建单元,用于创建磁盘的剩余空间链表,其中,所述剩余空间链表中记录有所述空闲数据块的比特位的索引;
确定单元,用于根据客户端所发送的写入请求,从目标磁盘对应的剩余空间链表中确定目标数据块;
写入单元,用于将所述写入请求中所携带的待写入数据写入到所述目标数据块。
7.根据权利要求6所述的装置,其特征在于,还包括:
标记单元,用于根据所述剩余空间链表,在所述目标磁盘所对应的比特位图中,将所述目标数据块所对应的比特位置为占用状态;
删除单元,用于在所述剩余空间链表中删除所述目标数据块所对应的比特位的索引。
8.根据权利要求6所述的装置,其特征在于,还包括:
更新单元,用于对磁盘进行扫描,更新该磁盘所对应的剩余空间链表。
9.根据权利要求6所述的装置,其特征在于,还包括:
切换单元,用于若磁盘的剩余空间不小于预设比例且所述剩余空间列表中不存在所述空闲数据块的比特位的索引,则删除所述剩余空间链表,并切换至树形结构对所述比特位图进行管理。
10.根据权利要求6所述的装置,其特征在于,所述确定单元,包括:
运算模块,用于根据客户端所发送的写入请求中所携带的文件名进行散列运算,基于运算结果从自身所部署的磁盘中选择目标磁盘;
确定模块,用于根据所述写入请求中所携带的数据长度,从所述目标磁盘所对应的剩余空间链表中确定出对应数量的空闲数据块作为目标数据块。
CN202110815226.7A 2021-07-19 2021-07-19 一种数据写入方法以及装置 Pending CN113704190A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110815226.7A CN113704190A (zh) 2021-07-19 2021-07-19 一种数据写入方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110815226.7A CN113704190A (zh) 2021-07-19 2021-07-19 一种数据写入方法以及装置

Publications (1)

Publication Number Publication Date
CN113704190A true CN113704190A (zh) 2021-11-26

Family

ID=78648950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110815226.7A Pending CN113704190A (zh) 2021-07-19 2021-07-19 一种数据写入方法以及装置

Country Status (1)

Country Link
CN (1) CN113704190A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489508A (zh) * 2022-01-26 2022-05-13 重庆紫光华山智安科技有限公司 数据管理方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489508A (zh) * 2022-01-26 2022-05-13 重庆紫光华山智安科技有限公司 数据管理方法、装置、设备及介质
CN114489508B (zh) * 2022-01-26 2023-09-01 重庆紫光华山智安科技有限公司 数据管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN110321301B (zh) 一种数据处理的方法及装置
US7849282B2 (en) Filesystem building method
US20050231765A1 (en) Information recording medium, data processing apparatus and data processing method
CN108614837B (zh) 文件存储和检索的方法及装置
CN110888837B (zh) 对象存储小文件归并方法及装置
CN103546380A (zh) 一种基于策略路由的报文转发方法和装置
CN107153512A (zh) 一种数据迁移方法和装置
CN112328549A (zh) 小文件的存储方法、电子设备及存储介质
CN113704190A (zh) 一种数据写入方法以及装置
CN115617264A (zh) 分布式存储方法及装置
CN102724301B (zh) 云数据库系统以及云数据读写处理方法、设备
US20070162707A1 (en) Information recording medium data processing apparatus and data recording method
CN108304144B (zh) 数据写入、读取方法与系统、数据读写系统
JP4792335B2 (ja) Raid装置、raid制御プログラムおよびキャッシュ管理方法
CN115599711B (zh) 缓存数据处理方法、系统、装置、设备及计算机存储介质
CN115904263B (zh) 一种数据迁移方法、系统、设备及计算机可读存储介质
US20120317130A1 (en) Computer product, search method, search apparatus, and node
CN114879910B (zh) 分布式块存储底层读写系统及方法
CN115878625A (zh) 数据处理方法和装置及电子设备
US20130061011A1 (en) Method of managing memory and image forming apparatus to perform the same
CN114185849A (zh) 文件操作方法、文件操作系统、电子设备及存储介质
CN113296700A (zh) 一种存储空间的管理方法、装置以及服务器
CN114115699A (zh) 一种数据处理方法、装置及系统
CN112379833A (zh) 文件缓存装置、文件缓存、闲置空间回收及故障恢复方法
JP2009266026A (ja) データ処理装置、記憶装置、及びコンピュータプログラム

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