CN116700608A - 一种缓存方法、装置、设备及可读存储介质 - Google Patents
一种缓存方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN116700608A CN116700608A CN202310451188.0A CN202310451188A CN116700608A CN 116700608 A CN116700608 A CN 116700608A CN 202310451188 A CN202310451188 A CN 202310451188A CN 116700608 A CN116700608 A CN 116700608A
- Authority
- CN
- China
- Prior art keywords
- beegfs
- data
- beeond
- pool
- caching
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000003993 interaction Effects 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004927 fusion Effects 0.000 claims description 4
- 238000011084 recovery Methods 0.000 description 11
- 230000003139 buffering effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请在存储技术领域,具体公开了一种缓存方法、装置、设备及可读存储介质,该方法获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;基于BeeOND源码,运行BeeOND程序,以将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;利用计算节点本地SSD,创建BeeGFS集群的默认池;在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。在本申请中,将BeeOND作为BeeGFS的缓存区进行数据缓存,一方面BeeOND向BeeGFS提供高速缓存,另一方面由于BeeOND具有非易失性,使得BeeGFS缓存的数据能够掉电不丢失。
Description
技术领域
本申请涉及存储技术领域,特别是涉及一种缓存方法、装置、设备及可读存储介质。
背景技术
BeeGFS(一种分布式文件***)为一种领先的并行文件***,它的开发重点是性能,设计的目的是易于使用、安装简单和管理,它在社区中不断增长并获得显著的普及。BeeGFS已经发展成为一种具有全球价值的文件***,提供了最大的性能、可伸缩性、高灵活性和健壮性。
在实际应用中,BeeGFS作为全局存储***,一般采用成本较低的存储介质,高速缓存技术一般使用服务端内存或客户端buffered(使用小静态缓冲区池进行回写和预读)和native(使用Linux内核页面缓存)技术。
虽然,这类高速缓存技术能够满足BeeGFS的缓存需求,但是,这类高速缓存技术中存储的数据具有易失性,只能作为临时存储,无法应对掉电等情况。
综上所述,如何有效地解决BeeGFS的高速缓存数据易失性等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本申请的目的是提供一种缓存方法、装置、设备及可读存储介质,可实现BeeOND与BeeGFS统一命名空间;通过BeeOND实现BeeGFS的高速缓存,通过更少的昂贵的全闪存储介质(BeeOND),大幅提高BeeGFS性能。BeeOND缓存数据具有本地性特性,本地客户端读写减少数据访问过程中的网络延迟;BeeGFS具有全局可访问特性,计算节点可跨节点访问。BeeOND数据缓存具有非易失性,节点断电上电后,数据依然可以访问。
为解决上述技术问题,本申请提供如下技术方案:
一种缓存方法,包括:
获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,所述BeeGFS为分布式文件***,所述BeeOND为临时并行文件***实例;
基于所述BeeOND源码,运行BeeOND程序,以将所述BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;
利用所述计算节点本地SSD,创建所述BeeGFS集群的默认池;
在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据。
优选地,利用所述计算节点本地SSD,创建所述BeeGFS集群的默认池,包括:
剔除所述BeeGFS集群的原默认池;
利用所述计算节点本地SSD,创建以BeeGFS命名的池;
将所述以BeeGFS命名的池确定为所述BeeGFS集群的默认池。
优选地,还包括:
执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据。
优选地,执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据,包括:
根据用户标识符、群体身份、文件名和目录中的至少一种数据属性,将数据分为热数据和冷数据;
在所述BeeOND的存储池中存储所述热数据,在所述BeeGFS的存储池中存储所述冷数据。
优选地,还包括:
接收并解析缓存关闭请求,得到请求关闭的目标计算节点;
在执行所述目标计算节点对应的缓存关闭命令后,在所述BeeGFS进行数据交互过程中,将所述目标计算节点的数据直接写入BeeGFS存储介质。
优选地,在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据,包括:
在应用读取所述BeeGFS的目标数据时,将所述目标数据拷贝到所述默认池中。
优选地,还包括:
对所述目标数据进行访问计时;
若所述目标数据超过预设时长未被访问,则删除所述默认池中的所述目标数据。
优选地,在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据,包括:
在应用读取所述BeeGFS的目标数据时,将所述目标数据从BeeGFS中迁移到所述默认池中。
优选地,还包括:
对所述目标数据进行访问计时;
若所述目标数据超过预设时长未被访问,则将所述目标数据从所述默认池中回迁至所述BeeGFS。
优选地,还包括:
在断电重启后,从所述默认池中读取缓存数据。
一种缓存装置,包括:
代码获取模块,用于获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,所述BeeGFS为分布式文件***,所述BeeOND为临时并行文件***实例;
***融合模块,用于基于所述BeeOND源码,运行BeeOND程序,以将所述BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;
默认池创建模块,用于利用所述计算节点本地SSD,创建所述BeeGFS集群的默认池;
缓存模块,用于在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据。
一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述缓存方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述缓存方法的步骤。
应用本申请实施例所提供的方法,获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,BeeGFS为分布式文件***,BeeOND为临时并行文件***实例;基于BeeOND源码,运行BeeOND程序,以将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;利用计算节点本地SSD,创建BeeGFS集群的默认池;在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。
在本申请中,首先通过在BeeOND与BeeGFS之间共享BeeGFS元数据服务,打破BeeOND与BeeGFS之间的数据物理隔离,即实现了统一命名空间。然后,将BeeOND的计算节点SSD添加到BeeGFS集群,并基于BeeOND的计算节点SSD创建出BeeGFS集群的默认池。如此,在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。也就是说,BeeOND作为BeeGFS的缓存区进行数据缓存,一方面BeeOND向BeeGFS提供高速缓存,另一方面由于BeeOND具有非易失性,使得BeeGFS缓存的数据能够掉电不丢失。
相应地,本申请实施例还提供了与上述缓存方法相对应的缓存装置、设备和可读存储介质,具有上述技术效果,在此不再一一赘述。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种缓存方法的实施流程图;
图2为本申请实施例中一种缓存装置的结构示意图;
图3为本申请实施例中一种电子设备的结构示意图;
图4为本申请实施例中一种电子设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例中一种缓存方法的流程图,该方法包括以下步骤:
S101、获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码。
其中,BeeGFS为分布式文件***,BeeOND为临时并行文件***实例。
在本申请实施例中,在部署BeeGFS时,可以按照BeeGFS标准实施手册进行BeeGFS服务端部署,包括mgmtd管理服务,meta元数据服务,storage数据服务。
BeeGFS是一种领先的并行文件***,它的开发重点是性能,设计的目的是易于使用、安装简单和管理,它在社区中不断增长并获得显著的普及。BeeGFS已经发展成为一种具有全球价值的文件***,提供了最大的性能、可伸缩性、高灵活性和健壮性。BeeGFS最基本的概念之一是严格避免体系结构瓶颈,跨多个存储服务器划分文件内容。另一个重要特点是跨多个元数据服务器分发文件***元数据(例如,目录信息)。大型***和元数据密集型应用程序可以从后一个特性中获得很大的好处。BeeGFS构建在高效和可扩展的多线程核心组件上,并支持本机RDMA(Remote Direct Memory Access,远程直接数据存取)。文件***节点可以同时提供RDMA(InfiniBand,all-path,RoCE)和TCP/IP网络连接,并在其中任何一个失败时自动切换到冗余连接路径。
BeeGFS客户端和服务器可以在同一台机器上运行,以提高小型集群或网络的性能。BeeGFS不需要服务器上专用的文件***分区,它使用现有分区,使用任何标准Linux(一种操作***)文件***格式化,例如XFS(X File System,新一代文件***)、ext4(Linux***下的日志文件***,是ext3文件***的后继版本)或ZFS(Zettabyte File System,动态文件***,是第一个128位文件***)。对于较大的网络,也可以使用不同的配置创建几个不同的BeeGFS文件***分区。
大多数HPC(high performance computing,高性能计算)集群***使用基于专用服务器上的并行文件***的全局存储***来实现高吞吐量。计算节点通常配备(或很容易配备)内部硬盘或SSD(Solid State Disk,固态硬盘),这可以提供额外的性能优势。计算节点中的内部驱动器的问题在于,它们既没有提供跨多台计算机的单一名称空间的优势,也没有提供共享并行文件***的灵活性和性能。BeeOND的开发是为了能够动态地轻松创建一个或多个BeeGFS实例,在每个作业的基础上,在特定计算作业的所有计算节点上创建一个共享并行文件***,对计算节点内部SSD或硬盘的性能和容量进行聚合,提供额外的性能和一种非常优雅的突发缓冲方式。
由于BeeOND启动非常简单,很容易将beond与工作负载管理器集成,例如Torque(语音助理应用)或Slurm(作业调度***)。由于BeeOND只需一个命令就可以启动和停止新的BeeGFS实例,因此可以很容易地将其添加到这些脚本中,以便在计算作业启动时启动,在作业完成时停止。
BeeOND具有非易失性,但与BeeGFS是数据隔离的,因而无法在统一命名空间中,对BeeGFS提供高速缓存技术。也就是说,BeeGFS与BeeOND是物理隔离的,BeeGFS无法读写BeeOND数据,反之亦然,两者不存在交集。
为打破BeeOND与BeeGFS之间的隔离状态,在本申请实施例中,提出了基于元数据共享服务的方式,实现BeeOND与BeeGFS的统一命名空间。
具体的,即首先获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码。
即,可先修改BeeOND源码,删除原mgmtd管理服务和meta元数据服务部分,然后,BeeOND源码添加指向BeeGFS管理服务节点参数,如此,BeeOND即可对应所有的元数据服务。
S102、基于BeeOND源码,运行BeeOND程序,以将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端。
在获取到做了元数据服务共享设置的BeeOND源码之后,基于该BeeOND源码,运行BeeOND程序,即可将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端。也就是说,可以将BeeOND中的计算节点SSD融入到BeeGFS集群,使得BeeGFS集群内包括BeeOND中的计算节点SSD。挂载客户端之后,在BeeGFS集群可以使用BeeOND中的计算节点SSD。
S103、利用计算节点本地SSD,创建BeeGFS集群的默认池。
为了使得BeeOND作为BeeGFS的高速缓存,可以利用BeeOND的计算节点本地SSD创建BeeGFS集群的默认池。
也就是说,执行完步骤S101和S102的部署之后,即可打破BeeOND与BeeGFS的物理隔离(即BeeGFS可以访问BeeOND存储的数据,BeeOND也可以访问BeeGFS存储的数据),因而在本申请实施例中可以将BeeOND的全闪存储介质作为BeeGFS的默认池的组成成分,从而使得BeeGFS在使用默认池时,即使用BeeOND的全闪存储介质进行缓存。
在本申请中的一种具体实施方式中,利用计算节点本地SSD,创建BeeGFS集群的默认池,包括:
步骤一、剔除BeeGFS集群的原默认池;
步骤二、利用计算节点本地SSD,创建以BeeGFS命名的池;
步骤三、将以BeeGFS命名的池确定为BeeGFS集群的默认池。
为便于描述,下面将上述三个步骤结合起来进行说明。
BeeGFS本身即具有默认池,为避免出现两个默认池的混乱状态,在完成BeeOND与BeeGFS共享元数据服务之后,默认BeeOND与BeeGFS在同一个storagepool(存储池)中,通过调整storage pool,将原BeeGFS storage target剔除默认池,并创建以BeeGFS命名的池。调整后所有数据优先写入计算节点本地SSD组成的默认池,但不会自动落入BeeGFS存储介质,也不会实现在BeeGFS中的存储介质中进行写缓存,即BeeGFS的缓存数据直接存入到BeeOND。
S104、在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。
由于缓存是数据交换的缓冲区,而步骤S103中,已基于计算节点本地SSD组成了BeeGFS的默认池,在BeeGFS进行数据交互过程中,即有缓存需求时,则可在默认池中缓存BeeGFS的数据。即,实现了BeeOND作为BeeGFS的高速缓存。
缓冲区中,即BeeOND作为BeeGFS的高速缓存,在BeeOND存储的数据具有临时性的特点,为了保障BeeOND的空间充足,持续具有缓存能力,还可对BeeOND中的数据进行管理。即,需要对BeeOND进行空间回收,在本申请中实施例中,给出了以下回收方式,在实际应用中可以选用其中任意一种,也可以选用其他空间回收方式(如定期进行空间回收),进行存储空间回收:
回收方式1:若在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据,具体为:在应用读取BeeGFS的目标数据时,将目标数据拷贝到默认池中,则可以通过执行以下步骤进行空间回收:
步骤一、对目标数据进行访问计时;
步骤二、若目标数据超过预设时长未被访问,则删除默认池中的目标数据。
由于缓存是数据交换的缓冲区,数据具有临时性的特点,因此配置分级存储主要关注文件的修改属性。举例说明:超过30分钟(时间可调,在此不再一一列举)未访问的文件会自动迁移到BeeGFS存储介质;当应用读取数据时,将数据拷贝到BeeOND存储介质一份,当超过30分钟未访问后,将存储的临时数据从BeeOND中删除。
此外,当数据在BeeOND中被修改,可以将最新数据落盘到BeeGFS后,再将BeeOND存储的数据删除。
回收方式2:若在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据,具体包括:在应用读取BeeGFS的目标数据时,将目标数据从BeeGFS中迁移到默认池中,则可以通过执行以下步骤进行空间回收:
步骤一、对目标数据进行访问计时;
步骤二、若目标数据超过预设时长未被访问,则将目标数据从默认池中回迁至BeeGFS。
举例说明:当应用读取数据时,将数据迁移到BeeOND存储介质,当超过30分钟未访问后,将存储的临时数据从BeeOND中迁移到BeeGFS。
此外,当数据在BeeOND中被修改,在落盘回BeeGFS时,以BeeOND存储的最新数据为准。
由于BeeOND具有非易失性,因而在断电重启后,从默认池中读取缓存数据。以具有非易失性的BeeOND作为BeeGFS的缓存区,可以使得BeeGFS缓存的数据,掉电不丢失,可以有效提升数据可靠性和一致性。
即,在本申请中实施例中可实现BeeOND与BeeGFS统一命名空间;通过BeeOND实现BeeGFS的高速缓存。通过更少的昂贵的全闪存储介质(BeeOND),大幅提高BeeGFS性能。BeeOND缓存数据具有本地性特性,本地客户端读写减少数据访问过程中的网络延迟;BeeGFS具有全局可访问特性,计算节点可跨节点访问。BeeOND数据缓存具有非易失性,节点断电上电后,数据依然可以访问。
应用本申请实施例所提供的方法,获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,BeeGFS为分布式文件***,BeeOND为临时并行文件***实例;基于BeeOND源码,运行BeeOND程序,以将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;利用计算节点本地SSD,创建BeeGFS集群的默认池;在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。
在本申请中,首先通过在BeeOND与BeeGFS之间共享BeeGFS元数据服务,打破BeeOND与BeeGFS之间的数据物理隔离,即实现了统一命名空间。然后,将BeeOND的计算节点SSD添加到BeeGFS集群,并基于BeeOND的计算节点SSD创建出BeeGFS集群的默认池。如此,在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。也就是说,BeeOND作为BeeGFS的缓存区进行数据缓存,一方面BeeOND向BeeGFS提供高速缓存,另一方面由于BeeOND具有非易失性,使得BeeGFS缓存的数据能够掉电不丢失。
需要说明的是,基于上述实施例,本申请实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
在本申请中的一种具体实施方式中,考虑到BeeOND的存储介质为全闪存储介质,具有较高的响应速度,为了有效提升BeeGFS的整体IO性能,还可以执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据。
具体的,执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据,包括:
步骤一、根据用户标识符、群体身份、文件名和目录中的至少一种数据属性,将数据分为热数据和冷数据;
步骤二、在BeeOND的存储池中存储热数据,在BeeGFS的存储池中存储冷数据。
为便于描述,下面将上述两个步骤结合起来进行说明。
通过分级存储功能配置数据放置策略,可根据用户定一的UID(user identifier,用户标识符),GID(Group Identification,群体身份,指共享资源***使用者的身份),文件名,目录等属性,有选择性的将对应数据放入BeeOND存储池或者BeeGFS存储池。
在本申请中的一种具体实施方式中,还可以以计算节点为单位,进行缓存开启或关闭。具体的实施过程,包括:
步骤一、接收并解析缓存关闭请求,得到请求关闭的目标计算节点;
步骤二、在执行目标计算节点对应的缓存关闭命令后,在BeeGFS进行数据交互过程中,将目标计算节点的数据直接写入BeeGFS存储介质。
为便于描述,下面将上述两个步骤结合起来进行说明。
客户可以根据需求,对客户端进行操作,从而使得客户端发出缓存关闭请求。
在接收到缓存关闭请求之后,通过对该请求进行解析,可以明确请求关闭的目标计算节点。然后,执行目标计算节点对应的缓存关闭命令。如此,便可在BeeGFS进行数据交互过程中,将目标计算节点的数据直接写入BeeGFS存储介质。即,基于BeeOND的特性,即启动非常简单,很容易将beond与工作负载管理器集成,例如Torque或Slurm。由于BeeOND只需一个命令就可以启动和停止新的BeeGFS实例,因此可以很容易地将其添加到这些脚本中,以便在计算作业启动时启动,在作业完成时停止。
为便于本领域技术人员更好地应用本申请实施例所提供的缓存方法,下面结合具体应用场景为例,对该缓存方法的具体应用进行详细说明。
在本申请实施例中,基于BeeGFS文件***,提出基于元数据服务共享方式,实现BeeGFS与BeeOND统一命名空间。具体的实现过程,包括以下步骤:
步骤一、按照BeeGFS标准实施手册进行BeeGFS服务端部署,包括mgmtd管理服务,meta元数据服务,storage数据服务。
步骤二、修改BeeOND源码,删除原mgmtd管理服务和meta元数据服务部分。
步骤三、BeeOND源码添加指向管理服务节点参数。
步骤三、运行BeeOND程序,自动将计算节点SSD添加到原BeeGFS集群,并挂载客户端。
基于分级存储功能,提出数据自动迁移至BeeGFS存储空间,及时释放缓存空间,具体的实施过程,包括以下步骤:
步骤一、默认BeeOND与BeeGFS在同一个storagepool中,通过调整storage pool,将原BeeGFS storage target剔除默认池,并创建以BeeGFS命名的池。调整后所有数据优先写入计算节点本地SSD组成的默认池,但不会自动落入BeeGFS存储介质,也不会BeeGFS存储介质中实现写缓存。
步骤二、通过分级存储功能配置数据放置策略。
具体的,可根据用户定一的UID,GID,文件名,目录等属性,有选择性的将对应数据放入BeeOND存储池或者BeeGFS存储池。
步骤三、通过分级存储功能配置数据迁移策略。
由于缓存是数据交换的缓冲区,数据具有临时性的特点,因此配置分级存储主要关注文件的修改属性,超过30分钟(时间可调)未访问的文件会自动迁移到BeeGFS存储介质;当应用读取数据时,将数据拷贝到BeeOND存储介质一份,当超过30分钟未访问后,将存储的临时数据删除。
步骤四、若某个计算节点任务不需要BeeOND缓存,可在该节点临时关闭(可通过命令进行),数据会直接写入BeeGFS存储介质。
也就是说,应用本申请实施例所提供的缓存方法,BeeOND融合部署技术:将原BeeOND mgmtd管理服务部署指向为现有BeeGFS集群,剔除了meta元数据服务部署,从而实现了BeeOND与BeeGFS统一命名空间;BeeOND高速缓存技术:通过分级存储功能,实现BeeOND存储介质与BeeGFS存储介质之间的数据IO互通;分离部署方式:可在不通计算节点启用BeeOND高速缓存,非全局必选。
即应用本申请实施例所提供的缓存方法,可实现BeeOND与BeeGFS统一命名空间;通过BeeOND实现BeeGFS的高速缓存;通过分级存储实现数据分布与迁移策略;缓存数据具有本地性、持久性和全局访问特性。
相应于上面的方法实施例,本申请实施例还提供了一种缓存装置,下文描述的缓存装置与上文描述的缓存方法可相互对应参照。
参见图2所示,该装置包括以下模块:
代码获取模块101,用于获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,BeeGFS为分布式文件***,BeeOND为临时并行文件***实例;
***融合模块102,用于基于BeeOND源码,运行BeeOND程序,以将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;
默认池创建模块103,用于利用计算节点本地SSD,创建BeeGFS集群的默认池;
缓存模块104,用于在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。
应用本申请实施例所提供的装置,获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,BeeGFS为分布式文件***,BeeOND为临时并行文件***实例;基于BeeOND源码,运行BeeOND程序,以将BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;利用计算节点本地SSD,创建BeeGFS集群的默认池;在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。
在本申请中,首先通过在BeeOND与BeeGFS之间共享BeeGFS元数据服务,打破BeeOND与BeeGFS之间的数据物理隔离,即实现了统一命名空间。然后,将BeeOND的计算节点SSD添加到BeeGFS集群,并基于BeeOND的计算节点SSD创建出BeeGFS集群的默认池。如此,在BeeGFS进行数据交互过程中,在默认池中缓存BeeGFS的数据。也就是说,BeeOND作为BeeGFS的缓存区进行数据缓存,一方面BeeOND向BeeGFS提供高速缓存,另一方面由于BeeOND具有非易失性,使得BeeGFS缓存的数据能够掉电不丢失。
在本申请的一种具体实施方式中,默认池创建模块103,具体用于剔除BeeGFS集群的原默认池;
利用计算节点本地SSD,创建以BeeGFS命名的池;
将以BeeGFS命名的池确定为BeeGFS集群的默认池。
在本申请的一种具体实施方式中,还包括:
数据放置模块,用于执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据。
在本申请的一种具体实施方式中,数据放置模块,具体用于根据用户标识符、群体身份、文件名和目录中的至少一种数据属性,将数据分为热数据和冷数据;
在BeeOND的存储池中存储热数据,在BeeGFS的存储池中存储冷数据。
在本申请的一种具体实施方式中,还包括:缓存控制模块,用于接收并解析缓存关闭请求,得到请求关闭的目标计算节点;
在执行目标计算节点对应的缓存关闭命令后,在BeeGFS进行数据交互过程中,将目标计算节点的数据直接写入BeeGFS存储介质。
在本申请的一种具体实施方式中,缓存控制模块,具体用于在应用读取BeeGFS的目标数据时,将目标数据拷贝到默认池中。
在本申请的一种具体实施方式中,还包括:
空间回收模块1,用于对目标数据进行访问计时;
若目标数据超过预设时长未被访问,则删除默认池中的目标数据。
在本申请的一种具体实施方式中,缓存控制模块,具体用于在应用读取BeeGFS的目标数据时,将目标数据从BeeGFS中迁移到默认池中。
在本申请的一种具体实施方式中,还包括:
空间回收模块1,用于对目标数据进行访问计时;
若目标数据超过预设时长未被访问,则将目标数据从默认池中回迁至BeeGFS。
在本申请的一种具体实施方式中,还包括:
掉电恢复模块,用于在断电重启后,从默认池中读取缓存数据。
相应于上面的方法实施例,本申请实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种缓存方法可相互对应参照。
参见图3所示,该电子设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的缓存方法的步骤。
具体的,请参考图4,图4为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341。
上文所描述的缓存方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本申请实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种缓存方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的缓存方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种缓存方法,其特征在于,包括:
获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,所述BeeGFS为分布式文件***,所述BeeOND为临时并行文件***实例;
基于所述BeeOND源码,运行BeeOND程序,以将所述BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;
利用所述计算节点本地SSD,创建所述BeeGFS集群的默认池;
在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据。
2.根据权利要求1所述的缓存方法,其特征在于,利用所述计算节点本地SSD,创建所述BeeGFS集群的默认池,包括:
剔除所述BeeGFS集群的原默认池;
利用所述计算节点本地SSD,创建以BeeGFS命名的池;
将所述以BeeGFS命名的池确定为所述BeeGFS集群的默认池。
3.根据权利要求1所述的缓存方法,其特征在于,还包括:
执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据。
4.根据权利要求3所述的缓存方法,其特征在于,执行数据放置策略,基于数据属性,在BeeOND存储池和BeeGFS存储池中放置对应数据,包括:
根据用户标识符、群体身份、文件名和目录中的至少一种数据属性,将数据分为热数据和冷数据;
在所述BeeOND的存储池中存储所述热数据,在所述BeeGFS的存储池中存储所述冷数据。
5.根据权利要求1所述的缓存方法,其特征在于,还包括:
接收并解析缓存关闭请求,得到请求关闭的目标计算节点;
在执行所述目标计算节点对应的缓存关闭命令后,在所述BeeGFS进行数据交互过程中,将所述目标计算节点的数据直接写入BeeGFS存储介质。
6.根据权利要求1所述的缓存方法,其特征在于,在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据,包括:
在应用读取所述BeeGFS的目标数据时,将所述目标数据拷贝到所述默认池中。
7.根据权利要求6所述的缓存方法,其特征在于,还包括:
对所述目标数据进行访问计时;
若所述目标数据超过预设时长未被访问,则删除所述默认池中的所述目标数据。
8.根据权利要求1所述的缓存方法,其特征在于,在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据,包括:
在应用读取所述BeeGFS的目标数据时,将所述目标数据从BeeGFS中迁移到所述默认池中。
9.根据权利要求8所述的缓存方法,其特征在于,还包括:
对所述目标数据进行访问计时;
若所述目标数据超过预设时长未被访问,则将所述目标数据从所述默认池中回迁至所述BeeGFS。
10.根据权利要求1至9任一项所述的缓存方法,其特征在于,还包括:
在断电重启后,从所述默认池中读取缓存数据。
11.一种缓存装置,其特征在于,包括:
代码获取模块,用于获取删除了管理服务和元数据服务,并添加指向BeeGFS元数据服务的BeeOND源码;其中,所述BeeGFS为分布式文件***,所述BeeOND为临时并行文件***实例;
***融合模块,用于基于所述BeeOND源码,运行BeeOND程序,以将所述BeeOND中的计算节点SSD添加到BeeGFS集群,并挂载客户端;
默认池创建模块,用于利用所述计算节点本地SSD,创建所述BeeGFS集群的默认池;
缓存模块,用于在所述BeeGFS进行数据交互过程中,在所述默认池中缓存所述BeeGFS的数据。
12.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至10任一项所述缓存方法的步骤。
13.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述缓存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451188.0A CN116700608A (zh) | 2023-04-21 | 2023-04-21 | 一种缓存方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310451188.0A CN116700608A (zh) | 2023-04-21 | 2023-04-21 | 一种缓存方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116700608A true CN116700608A (zh) | 2023-09-05 |
Family
ID=87830098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310451188.0A Pending CN116700608A (zh) | 2023-04-21 | 2023-04-21 | 一种缓存方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700608A (zh) |
-
2023
- 2023-04-21 CN CN202310451188.0A patent/CN116700608A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593319B2 (en) | Virtualized data storage system architecture | |
US11068395B2 (en) | Cached volumes at storage gateways | |
US10853339B2 (en) | Peer to peer ownership negotiation | |
US9274956B1 (en) | Intelligent cache eviction at storage gateways | |
US9613064B1 (en) | Facilitating the recovery of a virtual machine using a distributed filesystem | |
US9268651B1 (en) | Efficient recovery of storage gateway cached volumes | |
US9251003B1 (en) | Database cache survivability across database failures | |
US8694469B2 (en) | Cloud synthetic backups | |
US9559889B1 (en) | Cache population optimization for storage gateways | |
KR102288503B1 (ko) | 통합 스토리지 관리 장치 및 방법 | |
US10852996B2 (en) | System and method for provisioning slave storage including copying a master reference to slave storage and updating a slave reference | |
US20050071560A1 (en) | Autonomic block-level hierarchical storage management for storage networks | |
CN107832423B (zh) | 一种用于分布式文件***的文件读写方法 | |
WO2006089479A1 (fr) | Méthode de gestion de données dans un système de stockage en réseau et système de stockage en réseau reposant sur la méthode | |
US8122182B2 (en) | Electronically addressed non-volatile memory-based kernel data cache | |
US20120159480A1 (en) | Data processing method and apparatus for remote storage system | |
US11567680B2 (en) | Method and system for dynamic storage scaling | |
Choi et al. | A write-friendly approach to manage namespace of Hadoop distributed file system by utilizing nonvolatile memory | |
CN116700608A (zh) | 一种缓存方法、装置、设备及可读存储介质 | |
US8356016B1 (en) | Forwarding filesystem-level information to a storage management system | |
US10713121B1 (en) | Dynamic migration of a cloud based distributed file system metadata server | |
Xu et al. | Cooperating with high available write cache and local read only buffer to reduces the latency of small read and write |
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 |