一种数据写入方法和服务端技术

技术编号:23343233 阅读:41 留言:0更新日期:2020-02-15 03:50
本申请提供一种数据写入方法和服务端。本申请中,通过将元数据与一般数据进行区分,将区分出的元数据长久保存至缓存区,将区分出的一般数据按写入块设备,可以避免元数据和一般数据混合刷写,导致磁头在块设备的一般数据存储位置和元数据存储位置之间的频繁移动,提高数据的读写性能。

A data writing method and server

【技术实现步骤摘要】
一种数据写入方法和服务端
本申请涉及计算机
,尤其涉及一种数据写入方法和服务端。
技术介绍
块设备是指可以从设备的任意位置读取一定长度数据的设备,包括硬盘、磁盘、U盘和闪存等。它利用一块系统内存作为缓存区,操作系统在收到待存储的数据时,可以先将数据保存至缓存区,之后再根据已有的淘汰算法将缓存区中的部分数据写入块设备保存。操作系统中负责管理和存储文件信息的软件机构称为文件系统,文件系统中的数据包括一般数据和元数据。其中,一般数据是指普通文件中的实际数据,而元数据是用来描述一个文件的特征的系统数据,如访问权限、文件拥有者以及文件数据块的分布信息(如Inode)等。理想情况下,将元数据和部分热门的一般数据保存在缓存区更能加速块设备的读写操作。但由于块设备一般是以安装文件系统的方式使用的,当块设备已经格式化为文件系统时,数据到达块设备后是没有任何文件属性信息的,操作系统无法准确区分收到的数据是一般数据还是元数据,这样可能导致将重要的元数据从缓存区淘汰。
技术实现思路
有鉴于此,本申请提供一种数据写入方法和服务端,用以将元数据与一般数据进行区分,并将区分出的元数据写入缓存区,以优化块设备的读写性能。具体地,本申请是通过如下技术方案实现的:本申请实施例第一方面,提供了一种数据写入方法,所述方法应用于服务端,包括:接收客户端发送的第一待存储数据和所述第一待存储数据在块设备中的写入位置;将所述第一待存储数据的写入位置与已生成的多个文件系统的区域位置信息进行比对;所述多个文件系统的区域位置信息根据所述客户端使用的块设备的存储空间大小生成,每个文件系统的区域位置信息包括该文件系统的元数据区和一般数据区的位置信息;在确定所述第一待存储数据的写入位置位于第一文件系统的元数据区内时,将所述第一待存储数据写入本服务端的缓存区。本申请实施例第二方面,提供了一种服务端,具有实现上述第一方面提供的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。一种实现方式中,所述服务端可以包括:接收单元,用于接收客户端发送的第一待存储数据和所述第一待存储数据在块设备中的写入位置;比对单元,用于将所述第一待存储数据的写入位置与已生成的多个文件系统的区域位置信息进行比对;所述多个文件系统的区域位置信息根据所述客户端使用的块设备的存储空间大小生成,每个文件系统的区域位置信息包括该文件系统的元数据区和一般数据区的位置信息;写数据单元,用于在所述比对单元确定所述第一待存储数据的写入位置位于第一文件系统的元数据区内时,将所述第一待存储数据写入本服务端的缓存区。另一种实现方式中,所述服务端包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线相互连接;所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令执行本申请实施例第一方面提供的方法。本申请实施例将元数据与一般数据进行区分,将区分出的元数据长久保存至缓存区,将区分出的一般数据按写入块设备,可以避免元数据和一般数据混合刷写,导致磁头在块设备的一般数据存储位置和元数据存储位置之间的频繁移动,提高数据的读写性能。附图说明图1是本申请实施例提供的架构示意图;图2是本申请实施例提供的方法流程图;图3是本申请实施例提供的EXT2系统中块设备的分区示意图;图4是本申请实施例提供的EXT2系统中块组的逻辑结构示意图;图5a、图5b、图5c和图5d是本申请实施例提供的反查操作的示意图;图6是本申请实施例提供的服务端的模块框图;图7是本申请实施例提供的服务端的硬件结构图。具体实施方式以下,首先对本申请实施例中涉及的部分用语进行解释说明。元数据:包括管理整个文件系统的数据结构,管理空间分配的数据结构,文件的属性和指针,目录的属性及内容。以EXT2文件系统为例,超级块、块组描述符、数据块位图、Inode节点位图、Inode表、目录项页面都属于文件系统的元数据。一般数据:指的是文件的内容。以EXT2文件系统为例,文件系统的一般数据是存放在数据区的文件内容。元数据区(matadataarea):指的是在内存中分配的一段内存地址连续的空间。其用于缓存超级块、块组描述符、Inode节点位图、数据位图以及拷贝目录和压缩文件解压操作过程中创建的Inode节点信息。一般数据区(dataarea):指的是在内存中分配的一段内存地址连续的空间。其用于缓存拷贝目录和压缩文件解压操作过程中创建的数据信息。下面结合说明书附图和各实施例对本申请技术方案进行说明。请参考图1所示,其为本申请实施例的总体架构图。本申请实施例中包括客户端和服务端,服务端连接于多个块设备,并且服务端连接于客户端和块设备之间;服务端与客户端以及服务端与块设备之间的连接可以是网络连接或者电连接。服务端可以为这多个块设备设置一个缓存区,并在客户端创建与块设备对应的虚拟设备。客户端把数据保存到虚拟设备的过程,相当于向服务端发送写指令,由服务端将该写指令携带的数据写入缓存区或块设备;客户端从虚拟设备提取数据的过程,相当于向服务端发送读指令,由服务端根据读指令的访问地址向块设备或缓存区提取相应的数据并返回给客户端。为改善块设备的读写性能,本申请主要对写数据的过程作了改进,表现于服务端对待存储的数据进行分离和识别,区分出元数据和一般数据,并将区分出的元数据长久保存至缓存区。参见图2所示,其为本申请提供的数据写入方法的运作流程示意图。针对每个客户端,当服务端第一次从该客户端收到待存储的数据时,执行以下步骤:步骤201:服务端接收客户端发送的第一待存储数据和第一待存储数据在块设备中的写入位置。本申请实施例中,第一待存储数据在块设备中的写入位置通过以下信息表示:第一待存储数据在块设备中的开始写入位置和第一待存储数据的数据大小。结合第一待存储数据的开始写入位置和数据大小,可以确定第一待存储数据在块设备中的开始写入位置和结束写入位置。步骤202:服务端将第一待存储数据的写入位置与已生成的多个文件系统的区域位置信息进行比对;该多个文件系统的区域位置信息根据客户端使用的块设备的存储空间大小生成,每个文件系统的区域位置信息包括该文件系统的元数据区和一般数据区的位置信息。在步骤201之前,客户端预先向服务端申请使用块设备,该客户端能够使用的块设备存储空间大小可以由客户端主动申请,或者也可以由服务端统一分配。服务端接受客户端的块设备使用申请后,在自身连接的多个块设备中确定出供该客户端使用的块设备,以及在客户端上创建虚拟设备。在客户端上创建虚拟设备,相当于将块设备挂载到了客户端,该虚拟设备可以视为块设备的映射,例如客户端对虚拟设备进行格式化,相当于向服务端发送格式化指令,由服务端对分配给该客户端使用的块设备进行格式化;客户端将数据保本文档来自技高网...

【技术保护点】
1.一种数据写入方法,其特征在于,所述方法应用于服务端,包括:/n接收客户端发送的第一待存储数据和所述第一待存储数据在块设备中的写入位置;/n将所述第一待存储数据的写入位置与已生成的多个文件系统的区域位置信息进行比对;所述多个文件系统的区域位置信息根据所述客户端使用的块设备的存储空间大小生成,每个文件系统的区域位置信息包括该文件系统的元数据区和一般数据区的位置信息;/n在确定所述第一待存储数据的写入位置位于第一文件系统的元数据区内时,将所述第一待存储数据写入本服务端的缓存区。/n

【技术特征摘要】
1.一种数据写入方法,其特征在于,所述方法应用于服务端,包括:
接收客户端发送的第一待存储数据和所述第一待存储数据在块设备中的写入位置;
将所述第一待存储数据的写入位置与已生成的多个文件系统的区域位置信息进行比对;所述多个文件系统的区域位置信息根据所述客户端使用的块设备的存储空间大小生成,每个文件系统的区域位置信息包括该文件系统的元数据区和一般数据区的位置信息;
在确定所述第一待存储数据的写入位置位于第一文件系统的元数据区内时,将所述第一待存储数据写入本服务端的缓存区。


2.如权利要求1所述的方法,其特征在于,每个文件系统的元数据区包括多个子元数据区,所述第一待存储数据在块设备中的写入位置用于指示所述第一待存储数据在块设备中的开始写入位置和结束写入位置;所述确定所述第一待存储数据的写入位置位于第一文件系统的元数据区内,包括:
如果所述第一待存储数据的开始写入位置和结束写入位置位于所述第一文件系统的同一个子元数据区内,则确定所述第一待存储数据的写入位置位于第一文件系统的元数据区内。


3.如权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的第二待存储数据和所述第二待存储数据在块设备中的写入位置;所述第二待存储数据在块设备中的写入位置用于指示所述第二待存储数据在块设备中的开始写入位置和结束写入位置;
将所述第二待存储数据的写入位置与所述第一文件系统的区域位置信息进行比对;
如果所述第二待存储数据的开始写入位置和结束写入位置位于所述第一文件系统的不同子元数据区内,或者所述第二待存储数据的开始写入位置位于所述第一文件系统的元数据区内且所述第二待存储数据的结束写入位置位于所述第一文件系统的元数据区外,则将所述第二待存储数据的写入位置与所述已生成的多个文件系统中的其它文件系统的区域位置信息进行比对;
在确定所述第二待存储数据的开始写入位置和结束写入位置位于第二文件系统的同一个子元数据区内时,将所述第二待存储数据写入本服务端的缓存区。


4.如权利要求3所述的方法,其特征在于,在确定所述第二待存储数据的开始写入位置和结束写入位置位于第二文件系统的同一个子元数据区内之后,所述方法还包括:
如果所述第一文件系统的元数据区范围[x1,y1]包含所述第二文件系统的元数据区范围[x2,y2],则将保存在本服务端缓存区中的开始写入位置和/或结束写入位置位于[x1,x2]内的数据、以及开始写入位置和/或结束写入位置位于[y2,y1]内的数据写入本服务端的块设备。


5.如权利要求3所述的方法,其特征在于,在确定所述第二待存储数据的开始写入位置和结束写入位置位于第二文件系统的同一个子元数据区内之后,所述方法还包括:
如果所述第一文件系统的元数据区范围[x1,y1]与所述第二文件系统的元数据区范围[x2,y2]存在交集且x1>x2,y1>y2,则将保存...

【专利技术属性】
技术研发人员:陈伟汪渭春
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:浙江;33

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

1