数据读写方法、装置、电子设备及机器可读存储介质制造方法及图纸

技术编号:24167463 阅读:21 留言:0更新日期:2020-05-16 01:53
本申请提供一种数据读写方法、装置、电子设备及机器可读存储介质。在本申请中,创建与所述第一数据卷的容量相同的第二数据卷,并将所述第一数据卷中数据初始同步至所述第二数据卷;生成所述第一数据卷与所述第二数据卷的数据差异表;接收并响应于针对所述第一数据卷中数据的随机写请求,将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中;针对所述第一数据卷中数据的顺序读请求,基于所述数据差异表从所述第一数据卷或所述第二数据卷中进行数据读取,同时提高了启用了ROW快照的数据卷的数据随机写和顺序读的性能。

【技术实现步骤摘要】
数据读写方法、装置、电子设备及机器可读存储介质
本申请涉及存储
,尤其涉及数据读写方法、装置、电子设备及机器可读存储介质。
技术介绍
机械硬盘是指传统普通硬盘,其主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成;通过磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作;由此,数据通过离磁性表面很近的磁头,由电磁流来改变极性方式被电磁流写到机械硬盘上,数据可以通过相反的方式读取。在大数据时代,数据量越来越大,数据也越来越重要,把数据保存在专门的存储设备中,并通过存储设备的数据保护特性提高数据可靠性已经成为主流方式。快照是存储设备的数据保护特性之一,也是应对“软灾难”的常用方案。软灾难,故名思议,指“软”的灾难,通常指由于误操作、软件Bug、病毒等导致生产数据逻辑上损坏或者不能读取。通过快照技术,在写入新数据前,可以把旧数据备份起来,这样当数据发生软灾难时,可以采用之前备份的旧数据来恢复,使数据回滚到一个可用的时间平面。
技术实现思路
本申请提供一种数据读写方法,所述方法应用于存储设备;所述存储设备预设有第一数据卷;所述第一数据卷已启用ROW快照模式,所述方法包括:创建与所述第一数据卷的容量相同的第二数据卷,并将所述第一数据卷中数据初始同步至所述第二数据卷;生成所述第一数据卷与所述第二数据卷的数据差异表;其中,所述数据差异表用于指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异;接收并响应于针对所述第一数据卷中数据的随机写请求,将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中。可选的,所述数据差异表为指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异的Bitmap;其中,所述Bitmap中的每个bit位指示所述第一数据卷与所述第二数据卷的预设容量的对应数据块是否存在数据差异,每个bit位默认指示所述第一数据卷与所述第二数据卷的预设容量的对应数据块不存在数据差异;所述将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中,包括:将所述随机写请求携带的数据顺序写入至与所述第一数据卷对应的ROW快照空间,并返回针对所述随机写请求的写回应;确定出与所述随机写请求携带的数据对应的所述第一数据卷与所述第二数据卷的存在数据差异的数据块;将所述数据差异表中与所述存在数据差异的数据块对应的bit位更新为存在数据差异。可选的,当接收到针对所述第一数据卷中数据的顺序读请求时,还包括:响应于所述顺序读请求,在所述数据差异表中确定与所述顺序读请求对应的待读取的数据块的bit位;如果所述待读取的数据块的bit位为指示存在数据差异的第一取值,则从所述第一数据卷及所述ROW快照空间中,读取与所述顺序读请求对应的待读取数据;如果所述待读取的数据块的bit位为指示不存在数据差异的第二取值,则从所述第二数据卷中,读取与所述顺序读请求对应的待读取数据。可选的,当接收到针对所述第一数据卷中数据与所述第二数据卷中数据进行同步的指令时,还包括:将与所述数据差异表中的为第一取值的bit位对应的所述第一数据卷中数据块中数据,同步至与所述第二数据卷对应的数据块中;在数据同步完成后,将所述为第一取值的bit位的取值更新为第二取值。本申请还提供一种数据读写装置,所述装置应用于存储设备;所述存储设备预设有第一数据卷;所述第一数据卷已启用ROW快照模式,所述装置包括:创建模块,创建与所述第一数据卷的容量相同的第二数据卷,并将所述第一数据卷中数据初始同步至所述第二数据卷;生成模块,生成所述第一数据卷与所述第二数据卷的数据差异表;其中,所述数据差异表用于指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异;读写模块,接收并响应于针对所述第一数据卷中数据的随机写请求,将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中。可选的,所述数据差异表为指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异的Bitmap;其中,所述Bitmap中的每个bit位指示所述第一数据卷与所述第二数据卷的预设容量的对应数据块是否存在数据差异,每个bit位默认指示所述第一数据卷与所述第二数据卷的预设容量的对应数据块不存在数据差异;所述读写模块进一步:将所述随机写请求携带的数据顺序写入至与所述第一数据卷对应的ROW快照空间,并返回针对所述随机写请求的写回应;确定出与所述随机写请求携带的数据对应的所述第一数据卷与所述第二数据卷的存在数据差异的数据块;将所述数据差异表中与所述存在数据差异的数据块对应的bit位更新为存在数据差异。可选的,当接收到针对所述第一数据卷中数据的顺序读请求时,还包括:读写模块,响应于所述顺序读请求,在所述数据差异表中确定与所述顺序读请求对应的待读取的数据块的bit位;所述读写模块进一步,如果所述待读取的数据块的bit位为指示存在数据差异的第一取值,则从所述第一数据卷及所述ROW快照空间中,读取与所述顺序读请求对应的待读取数据;如果所述待读取的数据块的bit位为指示不存在数据差异的第二取值,则从所述第二数据卷中,读取与所述顺序读请求对应的待读取数据。可选的,当接收到针对所述第一数据卷中数据与所述第二数据卷中数据进行同步的指令时,所述生成模块进一步:将与所述数据差异表中的为第一取值的bit位对应的所述第一数据卷中数据块中数据,同步至与所述第二数据卷对应的数据块中;在数据同步完成后,将所述为第一取值的bit位的取值更新为第二取值。本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。通过以上实施例,基于创建与第一数据卷容量相同的第二数据卷并进行数据初始同步;以及,生成指示所述第一数据卷与所述第二数据卷的数据差异的数据差异表,针对所述第一数据卷中数据的随机写请求顺序写入至所述第一数据卷对应的ROW快照;针对所述第一数据卷中数据的顺序读请求,基于所述数据差异表从所述第一数据卷或所述第二数据卷中进行数据读取,同时提高了启用了ROW快照的数据卷的数据随机写和顺序读的性能。附图说明图1是一示例性实施例提供的一种数据卷的数据分布的示意图;图2是一示例性实施例提供的另一种数据卷的数据分布的示意图;图3是一本文档来自技高网...

【技术保护点】
1.一种数据读写方法,其特征在于,所述方法应用于存储设备;所述存储设备预设有第一数据卷;所述第一数据卷已启用ROW快照模式,所述方法包括:/n创建与所述第一数据卷的容量相同的第二数据卷,并将所述第一数据卷中数据初始同步至所述第二数据卷;/n生成所述第一数据卷与所述第二数据卷的数据差异表;其中,所述数据差异表用于指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异;/n接收并响应于针对所述第一数据卷中数据的随机写请求,将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中。/n

【技术特征摘要】
1.一种数据读写方法,其特征在于,所述方法应用于存储设备;所述存储设备预设有第一数据卷;所述第一数据卷已启用ROW快照模式,所述方法包括:
创建与所述第一数据卷的容量相同的第二数据卷,并将所述第一数据卷中数据初始同步至所述第二数据卷;
生成所述第一数据卷与所述第二数据卷的数据差异表;其中,所述数据差异表用于指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异;
接收并响应于针对所述第一数据卷中数据的随机写请求,将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中。


2.根据权利要求1所述的方法,其特征在于,所述数据差异表为指示所述第一数据卷的物理空间中的数据与对应的所述第二数据卷的物理空间中的数据的数据差异的Bitmap;其中,所述Bitmap中的每个bit位指示所述第一数据卷与所述第二数据卷的预设容量的对应数据块是否存在数据差异,每个bit位默认指示所述第一数据卷与所述第二数据卷的预设容量的对应数据块不存在数据差异;
所述将所述随机写请求携带的数据顺序写入至所述第一数据卷的对应ROW快照的快照空间中,包括:
将所述随机写请求携带的数据顺序写入至与所述第一数据卷对应的ROW快照空间,并返回针对所述随机写请求的写回应;
确定出与所述随机写请求携带的数据对应的所述第一数据卷与所述第二数据卷的存在数据差异的数据块;
将所述数据差异表中与所述存在数据差异的数据块对应的bit位更新为存在数据差异。


3.根据权利要求2所述的方法,其特征在于,当接收到针对所述第一数据卷中数据的顺序读请求时,还包括:
响应于所述顺序读请求,在所述数据差异表中确定与所述顺序读请求对应的待读取的数据块的bit位;
如果所述待读取的数据块的bit位为指示存在数据差异的第一取值,则从所述第一数据卷及所述ROW快照空间中,读取与所述顺序读请求对应的待读取数据;
如果所述待读取的数据块的bit位为指示不存在数据差异的第二取值,则从所述第二数据卷中,读取与所述顺序读请求对应的待读取数据。


4.根据权利要求3所述的方法,其特征在于,当接收到针对所述第一数据卷中数据与所述第二数据卷中数据进行同步的指令时,还包括:
将与所述数据差异表中的为第一取值的bit位对应的所述第一数据卷中数据块中数据,同步至与所述第二数据卷对应的数据块中;
在数据同步完成后,将所述为第一取值的bit位的取值更新为第二取值。


5.一种数据读写装置,其特征在于,所述装置应用于存储设备;所述存储设备预设有第一数据卷;所述第一数据卷已启用ROW快照模式,所述装置包括:
创建模块,创建与所述第一数据卷的容量相同的第二数据卷,并将所述...

【专利技术属性】
技术研发人员:罗薇
申请(专利权)人:杭州宏杉科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1