System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种文件存储网关优化大文件读写的方法和系统技术方案_技高网

一种文件存储网关优化大文件读写的方法和系统技术方案

技术编号:40980119 阅读:2 留言:0更新日期:2024-04-18 21:26
本发明专利技术公开了一种文件存储网关优化大文件读写的方法和系统,属于文件存储技术领域,包括,POS IX语义层:暴露标准POS IX文件语义,元数据层:为辅助及加速文件对象读写性能,引入两张辅助记录表,数据缓存及映射层:网关中的文件与云端对象存储的对象一一映射。记录对象与本地缓存文件映射,记录数据块修改状况;使用对象存储分段拷贝技术,未被修改的数据块只需要上传分片元数据,已修改数据块上传数据,减少写数据写放大问题,提高大对象修改写性能,区分小文件网关存在或不存在缓存文件、大文件创建写、大文件修改写三种场景,减少写放大,减少数据传输,决定数据从网关本地缓存读还是从云端对象读,减少读数据传输。

【技术实现步骤摘要】

本专利技术涉及文件存储,具体为一种文件存储网关优化大文件读写的方法和系统


技术介绍

1、文件存储网关(cloud storage gateway,csg)是一种混合云存储服务。它使得用户可以通过标准文件共享协议访问位于对象存储cos中的数据,实现数据的实时共享和冷热分层。它可以根据业务需求灵活地部署在云上或者本地,使得用户更轻松地进行数据的云上处理、备份归档以及灾难恢复。

2、大文件的读写可以采用以下方式:

3、分段读取:将大文件分割成若干小文件处理,处理完每个小文件后释放该部分内存。这种方式可以避免一次性读取整个文件导致内存溢出的问题。

4、逐行读取:使用readline()函数逐行读取文件内容,每次只处理一行数据,这种方式可以减少内存占用,但读取速度相对较慢。

5、一次读取多行:使用readlines()函数将文本文件中所有行读到一个list中,文本文件每一行是list的一个元素。这种方式可以一次性读取整个文件,但会占用较多的内存。

6、使用文件句柄进行读取:通过使用文件句柄进行读取,可以一次性读取大文件的部分内容,从而避免一次性读取整个文件导致内存溢出的问题。可以使用seek()函数来定位文件指针的位置,然后使用read()函数读取指定长度的数据。

7、在写入大文件时,也可以采用类似的方式:

8、逐行写入:使用write()函数逐行写入数据到文件中。

9、一次性写入多行:使用writelines()函数将一个包含多行数据的list一次性写入到文件中。

10、使用文件句柄进行写入:通过使用文件句柄进行写入,可以一次性写入大文件的部分内容,从而避免一次性写入整个文件导致内存溢出的问题。可以使用seek()函数来定位文件指针的位置,然后使用write()函数写入指定长度的数据。

11、需要注意的是,在读写大文件时,需要合理控制内存使用,避免因内存占用过多导致系统崩溃或程序异常退出等问题。同时,也需要根据实际需求选择合适的读写方式,以提高程序的效率和性能。

12、在虚拟化技术是云计算的核心技术之一,在宿主机上被虚拟出来的服务器称为虚拟机(virtual machine),用户可以购买符合自己配置需求的虚拟机,云计算场景下,宿主机的cpu资源进行超分,并且多采用numa架构,多个共享型虚拟机共享同一个numa node下的cpu资源,如果多个cpu密集型的虚拟机分配在同一个numa node下,可能发生此numanode下cpu资源严重过载,从而产生cpu热点问题。

13、而cpu热点问题会造成虚拟机不满足相关的sla指标,sla是服务提供商与客户之间就衡量服务的指标达成的一致性承诺,包括不限于虚拟机的性能水平,长此以往造成多个租户的sla违例。

14、要想解决cpu热点问题首先要识别cpu热点,以往的cpu热点识别是以宿主机维度进行的,而实际情况下多个numa node的负载是不均衡的,例如一台宿主机有两个numanode,云计算管理组件将所有的虚拟机都分配到了numa node 0下,numa node 0成为了一个热点的numa node,而numa node 1下资源空闲,当前热点判断一般采用宿主机的所有cpu的平均利用率这个指标,而从这个指标来讲宿主机利用率在50%左右,此宿主机并没有cpu热点,但实际上numa node 0存在热点问题,这种情况下会造成热点误判。


技术实现思路

1、本专利技术提供的专利技术目的在于提供一种文件存储网关优化大文件读写的方法和系统,针对上面的问题,优化大文件对象语义转换读写性能衰减,大文件修改写时,使用文件状态表和文件数据块跟踪表,记录对象与本地缓存文件映射,记录数据块修改状况;使用对象存储分段拷贝技术,未被修改的数据块只需要上传分片元数据,已修改数据块上传数据,减少写数据写放大问题,提高大对象修改写性能,大文件写场景差异化处理。根据文件阈值大小和文件状态表,区分小文件网关存在或不存在缓存文件、大文件创建写、大文件修改写三种场景,减少写放大,减少数据传输,大文件读场景差异化处理。根据文件数据块跟踪表,决定数据从网关本地缓存读还是从云端对象读,减少读数据传输。

2、为了实现上述效果,本专利技术提供如下技术方案:一种文件存储网关优化大文件读写的系统,包括,

3、posix语义层:暴露标准posix文件语义。

4、元数据层:为辅助及加速文件对象读写性能,引入两张辅助记录表。

5、数据缓存及映射层:网关中的文件与云端对象存储的对象一一映射。

6、所述posix语义层与文件对象网关之间信号连接,所述元数据层与posix语义层之间信号连接,所述元数据层与数据缓存及映射层之间信号连接。

7、进一步的,所述posix语义层应用程序可使用posix文件接口访问文件对象网关。

8、进一步的,所述辅助记录表包括文件状态表与文件读写块。

9、进一步的,所述元数据层的文件状态表用于记录哪些小对象已经以文件的形式缓存在网关本地。

10、进一步的,所述元数据层的文件读写块用于记录大对象哪些块已经以文件的形式缓存在网关文档,网关本地哪些大文件数据块已经被应用程序修改。

11、进一步的,云端对象以文件形式缓存在网关本地文件系统中。

12、进一步的,所述数据缓存及映射层通过网关本地缓存文件方式提高对象访问性能,避免应用程序操作对象每次都需要访问云端对象存储。

13、一种文件存储网关优化大文件读写的方法,应用于上述中任意一项所述的一种文件存储网关优化大文件读写的系统,包括,

14、所述方法包括大文件创建写流程、大文件修改写流程与大文件读流程,

15、所述大文件创建写流程包括如下步骤:

16、s101、应用调用系统调用打开文件。

17、s102、网关打开本地缓存文件。

18、s103、应用调用系统调用写入数据。

19、s104、应用程序调用系统调用刷新数据,网关判断时大文件,启动分配上传任务。

20、s105、网关对数据块进行切分,对于没有修改数据块使用分片拷贝上传,对于修改的数据块使用分片上传,分片拷贝只需传输分片元数据,分片上传需传输分片数据,使用分片拷贝上传减少数据传输量,效率高。

21、s106、网关调用合并分段结束上传接口,对象存储后端进行分片合并,完成大对象修改写流程。

22、所述大文件修改写流程包括如下步骤:

23、s201、应用调用系统调用打开文件。

24、s202、网关打开本地缓存文件。

25、s203、应用调用系统调用写入数据。

26、s204、应用程序调用系统调用刷新数据,网关判断时大文件,启动分配上传任务。

27、s205、网关对数据块进行切本文档来自技高网...

【技术保护点】

1.一种文件存储网关优化大文件读写的系统,其特征在于,包括,

2.根据权利要求1所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述POSIX语义层应用程序可使用POSIX文件接口访问文件对象网关。

3.根据权利要求2所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述辅助记录表包括文件状态表与文件读写块。

4.根据权利要求3所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述元数据层的文件状态表用于记录哪些小对象已经以文件的形式缓存在网关本地。

5.根据权利要求4所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述元数据层的文件读写块用于记录大对象哪些块已经以文件的形式缓存在网关文档,网关本地哪些大文件数据块已经被应用程序修改。

6.根据权利要求5所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,云端对象以文件形式缓存在网关本地文件系统中。

7.根据权利要求6所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述数据缓存及映射层通过网关本地缓存文件方式提高对象访问性能,避免应用程序操作对象每次都需要访问云端对象存储。

8.一种文件存储网关优化大文件读写的方法,其特征在于,应用于权利要求1-7中任意一项所述的一种文件存储网关优化大文件读写的系统,包括,

9.根据权利要求7所述的一种文件存储网关优化大文件读写的方法,其特征在于,包括以下步骤:根据S203中的操作步骤,

10.根据权利要求7所述的一种文件存储网关优化大文件读写的方法,其特征在于,包括以下步骤:根据S302中的操作步骤,

...

【技术特征摘要】

1.一种文件存储网关优化大文件读写的系统,其特征在于,包括,

2.根据权利要求1所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述posix语义层应用程序可使用posix文件接口访问文件对象网关。

3.根据权利要求2所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述辅助记录表包括文件状态表与文件读写块。

4.根据权利要求3所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述元数据层的文件状态表用于记录哪些小对象已经以文件的形式缓存在网关本地。

5.根据权利要求4所述的一种文件存储网关优化大文件读写的系统,其特征在于,包括,所述元数据层的文件读写块用于记录大对象哪些块已经以文件的形式缓存在网关文档,网关本地哪些大文件数据块已经被应用程序修改。

【专利技术属性】
技术研发人员:吴晶
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1