System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及hadoop的回收站设计领域,尤其是一种智能隔离与异步清理的hdfs回收站的设计方法及系统。
技术介绍
1、hadoop的回收站设计虽然简单有效,但在实际应用中也存在一些弊端,尤其是在高并发、大数据量的场景下,会存在以下问题:
2、1、在高并发和大数据量的环境中,多个用户可能同时删除大量文件。每次删除操作都会在回收站目录下进行元数据更新。
3、(1)回收站元数据的频繁更新导致大量写操作,这些写操作会占用大量的namenode资源。
4、(2)多个用户同时删除文件会引发元数据锁竞争,导致系统锁等待时间增加,进一步降低操作的并发性和响应速度。
5、(3)由于namenode需要处理大量的元数据更新请求,文件删除操作的响应时间会显著增加。
6、2、在hadoop的默认设计中,所有用户的删除文件都存放在同一个/trash目录中。这种设计在高并发和大数据量的场景下会引发以下问题:
7、(1)当大量用户删除文件时,/trash目录会迅速膨胀,包含大量文件和子目录,导致目录管理的复杂度增加。恢复操作时需要扫描整个回收站,延长恢复时间。
8、(2)多个用户同时操作/trash目录,容易引发文件名冲突和操作冲突,增加系统的复杂性。
9、(3)在所有用户共用一个/trash目录的情况下,管理工具和监控系统的设计和实现难度增加。
10、(4)由于所有用户共用一个回收站目录,难以根据不同用户的需求设置不同的回收策略。
1
12、(1)当前的回收站保留时间是全局配置,无法针对不同用户或文件类型进行个性化设置,灵活性差。
13、(2)因为清理操作需要遍历和处理大量的元数据,如果清理操作触发的时间恰好在系统高峰期,会导致系统负载骤增,影响正常业务操作的性能。
14、(3)一次性定期清理操作复杂且耗时长,容易因各种原因(如系统错误、资源不足等)失败,导致过期文件无法及时清理。
技术实现思路
1、为解决hadoop回收站在高并发、大数据量场景下的性能瓶颈和管理复杂性问题,本专利技术提供一种智能隔离与异步清理的hdfs回收站的设计方法及系统,通过为不同用户设置独立的回收站目录,将文件彻底删除操作放入后台任务队列,异步清理数据,同时引入rocksdb存储回收站中的元数据,解决上述问题。
2、为设计上述目的,本专利技术采用下述技术方案:
3、在本专利技术一实施例中,提出了一种智能隔离与异步清理的hdfs回收站的设计方法,该方法包括:
4、为每个用户创建一个独立的回收站目录;每个回收站目录下维护一个元数据文件,用于记录被删除文件的相关信息;为每个回收站目录设置特定用户和系统管理员的访问权限;
5、将文件的回收站中的元数据存储在rocksdb中,rocksdb中设计两个表:表1存储用户的回收站id、文件的删除时间、自定义过期时间和文件id的组合,用于过期文件的清理;表2存储用户的回收站id、文件在被删除前的路径和文件id的组合,用于文件恢复和展示;
6、当文件被删除时,根据文件在被删除前的路径确定用户的回收站id,并将文件的回收站中的元数据插入到rocksdb中;
7、通过查询表2中的元数据,找到指定的文件并将该文件从回收站还原到原位置,并更新rocksdb以删除相关记录;
8、利用表1中自定义的过期时间,定期或按需清理回收站中的过期文件,并更新rocksdb以删除相关记录。
9、进一步地,rocksdb中表1和表2中的记录均使用组合键,表1组合键:用户的回收站id:文件的删除时间,表2组合键:用户的回收站id:文件在被删除前的路径;表1的键值对:键为用户的回收站id:文件的删除时间,值为文件id,表2的键值对:键为用户的回收站id:文件在被删除前的路径,值为文件id。
10、进一步地,将过期文件信息添加到后台gc任务队列中,由gc线程异步执行清理操作。
11、在本专利技术一实施例中,还提出了一种智能隔离与异步清理的hdfs回收站的设计系统,该系统包括:
12、回收站目录设计模块,用于为每个用户创建一个独立的回收站目录;每个回收站目录下维护一个元数据文件,用于记录被删除文件的相关信息;为每个回收站目录设置特定用户和系统管理员的访问权限;
13、元数据存储设计模块,用于将文件的回收站中的元数据存储在rocksdb中,rocksdb中设计两个表:表1存储用户的回收站id、文件的删除时间、自定义过期时间和文件id的组合,用于过期文件的清理;表2存储用户的回收站id、文件在被删除前的路径和文件id的组合,用于文件恢复和展示;
14、文件操作模块,用于当文件被删除时,根据文件在被删除前的路径确定用户的回收站id,并将文件的回收站中的元数据插入到rocksdb中;通过查询表2中的元数据,找到指定的文件并将该文件从回收站还原到原位置,并更新rocksdb以删除相关记录;
15、文件维护模块,用于利用表1中自定义的过期时间,定期或按需清理回收站中的过期文件,并更新rocksdb以删除相关记录。
16、进一步地,rocksdb中表1和表2中的记录均使用组合键,表1组合键:用户的回收站id:文件的删除时间,表2组合键:用户的回收站id:文件在被删除前的路径;表1的键值对:键为用户的回收站id:文件的删除时间,值为文件id,表2的键值对:键为用户的回收站id:文件在被删除前的路径,值为文件id。
17、进一步地,将过期文件信息添加到后台gc任务队列中,由gc线程异步执行清理操作。
18、在本专利技术一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时设计前述智能隔离与异步清理的hdfs回收站的设计方法。
19、在本专利技术一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行智能隔离与异步清理的hdfs回收站的设计方法的计算机程序。
20、有益效果:
21、1、本专利技术的独立回收站目录设计,确保了不同用户之间的回收站隔离,有效地解决了传统hadoop回收站设计中多用户共用一个目录引发的管理复杂性问题。
22、2、本专利技术利用rocksdb高效的顺序读写性能,将回收站中的元数据存储在rocksdb中。rocksdb的使用显著提升了元数据的读写性能和并发处理能力,包括高效的文件恢复操作等,相较于传统的hadoop回收站元数据管理方式,这是一个重大改进。
23、3、本专利技术引入了自定义过期时间的概念,可以为不同用户或文件类型设置不同的保留时间。定期扫描和按需清理相结合,确保系统在不同负载情况下都能高效清理过本文档来自技高网...
【技术保护点】
1.一种智能隔离与异步清理的HDFS回收站的设计方法,其特征在于,该方法包括:
2.根据权利要求1所述的智能隔离与异步清理的HDFS回收站的设计方法,其特征在于,所述RocksDB中表1和表2中的记录均使用组合键,表1组合键:用户的回收站ID:文件的删除时间,表2组合键:用户的回收站ID:文件在被删除前的路径;表1的键值对:键为用户的回收站ID:文件的删除时间,值为文件ID,表2的键值对:键为用户的回收站ID:文件在被删除前的路径,值为文件ID。
3.根据权利要求1所述的智能隔离与异步清理的HDFS回收站的设计方法,其特征在于,将过期文件信息添加到后台GC任务队列中,由GC线程异步执行清理操作。
4.一种智能隔离与异步清理的HDFS回收站的设计系统,其特征在于,该系统包括:
5.根据权利要求4所述的智能隔离与异步清理的HDFS回收站的设计系统,其特征在于,所述RocksDB中表1和表2中的记录均使用组合键,表1组合键:用户的回收站ID:文件的删除时间,表2组合键:用户的回收站ID:文件在被删除前的路径;表1的键值对:键为用户的回收站
6.根据权利要求4所述的智能隔离与异步清理的HDFS回收站的设计系统,其特征在于,将过期文件信息添加到后台GC任务队列中,由GC线程异步执行清理操作。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时设计权利要求1-3任一项所述方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-3任一项所述方法的计算机程序。
...【技术特征摘要】
1.一种智能隔离与异步清理的hdfs回收站的设计方法,其特征在于,该方法包括:
2.根据权利要求1所述的智能隔离与异步清理的hdfs回收站的设计方法,其特征在于,所述rocksdb中表1和表2中的记录均使用组合键,表1组合键:用户的回收站id:文件的删除时间,表2组合键:用户的回收站id:文件在被删除前的路径;表1的键值对:键为用户的回收站id:文件的删除时间,值为文件id,表2的键值对:键为用户的回收站id:文件在被删除前的路径,值为文件id。
3.根据权利要求1所述的智能隔离与异步清理的hdfs回收站的设计方法,其特征在于,将过期文件信息添加到后台gc任务队列中,由gc线程异步执行清理操作。
4.一种智能隔离与异步清理的hdfs回收站的设计系统,其特征在于,该系统包括:
5.根据权利要求4所述的智能隔离与异步清理的hdfs回...
【专利技术属性】
技术研发人员:张强,
申请(专利权)人:中盈优创资讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。