CN112612751B - 一种异步目录操作方法、装置、设备和系统 - Google Patents
一种异步目录操作方法、装置、设备和系统 Download PDFInfo
- Publication number
- CN112612751B CN112612751B CN202011568284.6A CN202011568284A CN112612751B CN 112612751 B CN112612751 B CN 112612751B CN 202011568284 A CN202011568284 A CN 202011568284A CN 112612751 B CN112612751 B CN 112612751B
- Authority
- CN
- China
- Prior art keywords
- index node
- metadata server
- directory
- asynchronous
- linked list
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000000903 blocking effect Effects 0.000 claims abstract description 18
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 abstract description 14
- 238000012217 deletion Methods 0.000 description 19
- 230000037430 deletion Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种异步目录操作方法、装置、设备和系统,该方法包括:从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作;阻塞索引节点的元数据操作,且当元数据服务器的目录操作完成后,解除阻塞。本申请中元数据服务器提供给客户端设备一个预分配的索引节点链表,客户端设备通过该索引节点链表获取父目录的操作权限,当客户端设备向元数据服务器发起异步操作请求时,不等待元数据服务器的应答,直接执行目录操作,等待元数据服务器响应的目录操作完成,解除索引节点的元数据操作的阻塞,减少了目录操作的时间开销,提高了目录操作的效率。
Description
技术领域
本申请涉及目录操作技术领域,特别涉及一种异步目录操作方法、装置、设备和系统。
背景技术
在许多领域,尤其在数据存储的视频监控和卫星应用(地图切片)等应用中,需要进行大量的文件创建或删除。在以往的分布式文件系统中文件创建和删除都需要向元数据服务器发起操作请求,然后等待元数据服务器处返回的应答才会进行下一步操作或者流程,效率低下。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种异步目录操作方法、装置、设备和系统,极大地减少了目录操作时的时间开销,提高了系统的目录操作的效率。其具体方案如下:
本申请提供了一种异步目录操作方法,应用于客户端设备,包括:
从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;
发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作;
阻塞所述索引节点的元数据操作,且当所述元数据服务器的所述目录操作完成后,解除阻塞。
优选地,所述从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息之前,还包括:
判断所述索引节点链表是否为空;
若所述索引节点链表不为空,则执行所述从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息的步骤;
若所述索引节点链表为空,则发送同步创建请求至所述元数据服务器,以使所述元数据服务器预分配多个索引节点,并将所述多个索引节点放入与所述客户端通信的session的链表结构中,完成创建,并发送对应的所述索引节点链表至所述客户端;
接收到所述索引节点链表。
优选地,所述发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作,包括:
判断所述索引节点信息是否满足预设条件;
若所述索引节点信息满足所述预设条件,则执行所述发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作的步骤;
若所述索引节点信息不满足所述预设条件,则执行所述发送同步创建请求至所述元数据服务器的步骤,以便更新所述索引节点链表。
优选地,所述判断所述索引节点链表是否为空之前,还包括:
设置异步处理标记。
优选地,所述异步操作请求包括异步创建请求、异步删除请求。
优选地,所述当所述元数据服务器的所述目录操作完成后,解除阻塞,包括:
当接收到所述元数据服务器发送的所述目录操作的操作成功信息后,解除阻塞。
本申请提供了一种异步目录操作装置,包括:
获取模块,用于从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;
异步操作请求发送模块,用于发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作;
阻塞处理模块,用于阻塞所述索引节点的元数据操作,且当所述元数据服务器的所述目录操作完成后,解除阻塞。
本申请提供了一种客户端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述异步目录操作方法的步骤。
本申请提供了一种异步目录操作系统,包括:
如上所述的客户端设备;
元数据服务器,用于预分配索引节点链表至所述客户端设备,根据异步操作请求执行目录操作。
优选地,所述元数据服务器用于:对于同一目录的异步目录创建,采用相同的分布式锁。
本申请提供了一种异步目录操作方法,应用于客户端设备,包括:从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作;阻塞索引节点的元数据操作,且当元数据服务器的目录操作完成后,解除阻塞。
可见,本申请中元数据服务器提供给客户端设备一个预分配的索引节点链表,客户端设备通过该索引节点链表获取父目录的操作权限,当客户端设备向元数据服务器发起异步操作请求时,不等待元数据服务器的应答,直接执行目录操作,等待元数据服务器响应的目录操作完成,解除索引节点的元数据操作的阻塞,减少了目录操作的时间开销,提高了目录操作的效率。
本申请同时还提供了一种异步目录操作装置、客户端设备和系统,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种异步目录操作方法的流程图;
图2为本申请实施例提供的一种预创建的流程示意图;
图3为本申请实施例提供的一种具体的异步目录操作方法的流程示意图;
图4为本申请实施例提供的一种异步目录操作装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在许多领域,尤其在数据存储的视频监控和卫星应用(地图切片)等应用中,需要进行大量的文件创建或删除。在以往的分布式文件系统中文件创建和删除都需要向元数据服务器发起操作请求,然后等待元数据服务器处返回的应答才会进行下一步操作或者流程,效率低下。
基于上述技术问题,本实施例提供一种异步目录操作方法,本申请中元数据服务器提供给客户端设备一个预分配的索引节点链表,客户端设备通过该索引节点链表获取父目录的操作权限,当客户端设备向元数据服务器发起异步操作请求时,不等待元数据服务器的应答,直接执行目录操作,等待元数据服务器响应的目录操作完成,解除索引节点的元数据操作的阻塞,减少了目录操作的时间开销,提高了目录操作的效率。
具体请参考图1,图1为本申请实施例提供的一种异步目录操作方法的流程图,具体包括:
S101、从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;
元数据服务器提供给客户端一个预分配inode链表即索引节点链表,对于索引节点链表中的索引节点的数量,元数据服务器可按一定计算方式得到,本实施例不再进行限定,只要是能够实现本实施例的目的即可。提供该索引节点链表的目的是,元数据服务器提供给客户端设备的父目录操作权限。
其中,索引节点链表中包括多个索引节点信息,其中,索引节点信息包括:目录信息、inode、文件布局信息。其中,目录信息包括但是不限定于创建时间、元数据大小、索引编号等。索引编号即inode编号,当用户搜索或者访问一个文件时,通过inode表查找正确的inode编号,在找到inode编号之后,相关的命令才可以访问该inode该索引节点,并对其进行适当的更改。文件布局信息为父目录布局信息。
S102、发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作;
客户端设备发送异步操作请求至元数据服务器,元数据服务器接收到该异步操作请求后,会执行对应的目录操作,此时,客户端设备不需要等待元数据服务器的应答,直接根据索引节点信息执行目录操作。也就是说,客户端设备通过预创建流程后直接从索引节点链表中获取了inode的必要信息即索引节点信息,然后向元数据服务器发起异步操作请求,请求发送成功后,直接生成客户端设备侧的inode结构并完成必要信息填充也就是完成相应的目录操作,返回上层应用,同时元数据服务器侧也异步的完成inode的目录操作流程。
S103、阻塞索引节点的元数据操作,且当元数据服务器的目录操作完成后,解除阻塞。
内核客户端设备向元数据服务器发起异步操作请求后不等待应答,完成客户端设备的流程直接返回上层应用,以及客户端设备进行其他元数据操作向元数据服务器发起请求时阻塞,等待元数据服务器侧相应inode的目录操作完毕应答。元数据服务器处理完毕请求,客户端设备处理应答,回调create_complete处理函数,完成信息更新实现了阻塞的解除。可见,本实施例通过在内核更改文件目录操作请求对应的目录创建请求或目录删除请的申请方式为异步模式以及预申请得到的索引节点链表机制,与元数据服务器配合,来达到异步目录操作的功能实现,有效提升文件目录创建效率。
基于上述技术方案,本实施例中元数据服务器提供给客户端设备一个预分配的索引节点链表,客户端设备通过该索引节点链表获取父目录的操作权限,当客户端设备向元数据服务器发起异步操作请求时,不等待元数据服务器的应答,直接执行目录操作,等待元数据服务器响应的目录操作完成,解除索引节点的元数据操作的阻塞,减少了目录操作的时间开销,提高了目录操作的效率。
优选地,从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息之前,还包括预创建部分,具体请参考图2,图2为本申请实施例提供的一种预创建的流程示意图,包括:
S201、判断索引节点链表是否为空;
若索引节点链表不为空,则执行步骤S202;若索引节点链表为空,则执行步骤S203。
S202、执行从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息的步骤;
当索引节点链表不为空,则表明具有父目录操作权限,可执行目录操作。
S203、发送同步创建请求至元数据服务器,以使元数据服务器预分配多个索引节点,并将多个索引节点放入与客户端通信的session的链表结构中,完成创建,并发送对应的索引节点链表至客户端;
当索引节点链表为空,存在两种情况,一种情况是不存在索引节点链表,需要进行预创建,另一种是索引节点链表中的索引编号使用完毕,需要再次进行创建填充。然后,客户端设备通过预创建操作得到索引节点链表,最终获取父目录操作权限,根据索引节点链表得到索引节点信息,该信息包括目录信息、inode、文件布局信息。取inode号和父目录布局信息。可以理解的是,当索引节点中的信息存在一个没有满足,则取消异步流程,进行同步创建,得到满足条件的索引节点链表。
S204、接收到索引节点链表。
优选地,S102,包括:
S1021、判断索引节点信息是否满足预设条件;
其中,预设条件可以为:是否同时包括目录信息、inode、文件布局信息。
以布局信息为例,当客户端设备第一次进行预创建时检测客户端设备的i_cached_layout(布局变量)无效,则取消异步创建,进行同步创建请求流程,当同步创建完成从元数据服务器获取到inode的i_cached_layout,存入父目录对应的客户端索引节点中的i_cached_layout,当下次预创建的时候从当前目录的客户端节点中取到i_cached_layout。
S1022、若索引节点信息满足预设条件,则执行发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作的步骤;
如果满足预设条件,则发送异步操作请求至元数据服务器,以便客户端设备和元数据服务器执行异步目录操作。
S1023、若索引节点信息不满足预设条件,则执行发送同步创建请求至元数据服务器的步骤,以便更新索引节点链表。
若索引节点信息不满足预设条件,也就是说,索引节点链表中不存在索引节点信息满足预设条件的情况,此时执行发送同步创建请求至元数据服务器,以使元数据服务器预分配多个inode,并将inode放入与客户端通信的session的链表结构中,完成创建,并发送对应的索引节点链表至客户端。以便更新索引节点链表,得到满足预设条件的索引节点信息。
优选地,判断索引节点链表是否为空之前,还包括:
设置异步处理标记。客户端异步处理时会置异步处理标记,然后判断预分配inode链表是否为空,若为空则进入同步创建。
也就是说,在客户端设备处理时,会置异步处理标记,同一目录下创建,第一次申请为同步创建请求,标记位为异步处理,会激活元数据服务器预分配元数据等信息,接下来的创建为异步申请,发送完请求不等待应答,完成客户端流程,返回上层应用。
本实施例中,设置异步处理标记,然后再判断索引节点链表是否为空,如果为空,则取消异步创建,进行同步创建请求流程。客户端设备向元数据服务器发起创建请求(即同步创建请求),等待元数据服务器创建分配多个inode,因为异步创建标记存在,元数据服务器会进行预分配inode,得到索引节点链表。具体的,当同步创建请求到达元数据服务器,元数据服务器则会预分配一定数量的inode,放入与元数据服务器通信的session的链表结构中,完成创建请求到客户端。当客户端再次预创建时则直接从预分配inode链表中获取一个inode号,当预分配inode链表中的inode号使用完毕,则再次进行同步创建填充。
进一步地,异步操作请求包括异步创建请求、异步删除请求。
在一种可实现的实施方式中,当异步操作请求包括异步创建请求时,发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作,包括:发送异步创建请求至元数据服务器,以使元数据服务器进行目录创建;同时根据索引节点信息生成索引数据结构和索引信息填充,完成目录创建。
客户端设备通过预创建流程后直接获取了索引节点信息,然后向元数据服务器发起异步创建请求,异步创建请求发送成功后,客户端设备直接生成客户端inode结构并完成信息填充,返回上层应用,同时元数据服务器侧异步的完成inode的创建流程。
元数据服务器处理完毕请求,客户端设备处理应答,回调create_complete处理函数,完成信息更新。其中,客户端设备进行异步目录操作完毕时,若客户端对此文件进行元数据操作时会阻塞此inode等待,直到元数据服务器完成此inode的异步创建应答到客户端设备,客户端设备回调函数进行唤醒阻塞,元数据操作收到唤醒继续执行。
在另一种可实现的实施方式中,当异步操作请求包括异步删除请求时,发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作,包括:发送异步删除请至元数据服务器,以使元数据服务器进行目录删除;同时根据索引节点信息执行目录删除的操作。
客户端设备进行文件目录删除时向元数据服务器发起删除请求,此时获取相应inode的删除权限,获取成功,向元数据服务器发起异步删除请求,然后客户端设备侧完成inode的删除,元数据服务器异步进行inode的删除处理,接着解除inode的使用阻塞,同样省去了同步等待请求的时间。
可以理解的是,异步删除和异步创建一样都会阻塞对应inode的元数据操作,等待元数据服务器处理完毕,再进行该inode的元数据操作,避免出现客户端设备和元数据服务器数据不同步的情况的发生。
本实施例在内核态实现分布式文件系统客户端侧的异步目录创建和删除机制,在元数据服务器侧做异步目录操作的缓存元数据支持,客户端设备向元数据服务器发送完毕创建/删除请求后无需等待应答,直接和元数据服务器分别异步进行创建和删除。本实施例通过内核客户端设备和元数据服务器实现异步目录创建和删除机制,大大减少目录创建和删除的时间开销,提升了性能。
在一种可实现的实施方式中,当元数据服务器的目录操作完成后,解除阻塞,包括:当接收到元数据服务器发送的目录操作的操作成功信息后,解除阻塞。
在另一种可实现的实施方式中,当元数据服务器的目录操作完成后,解除阻塞,包括:客户端设备获取元数据服务器的操作信息;将操作信息与本身的操作信息进行对比,对比成功后,则解除阻塞。
预申请机制,在进行创建申请前从元数据服务器的预分配inode链表中获取inode号和父目录布局信息。
元数据服务器的预分配inode以及分布式锁的缓存等。
请参考图3,图3为本申请实施例提供的一种具体的异步目录操作方法的流程示意图,包括:
客户端设备在进行目录操作时,判断是否能够读取元数据服务器预分配的inode信息即索引节点信息;
当读取成功后,发起异步请求,使元数据服务器执行对应的操作。且当与分配的inode不足时,则可以重新预分配并进行inode信息的创建。同时,客户端设备填充inode信息等,完成创建。
当读取失败后,则发起同步创建请求至元数据服务器,以便元数据服务器进行预分配,当完成后,客户端设备得到应答,并存储。
下面对本申请实施例提供的一种异步目录操作装置进行介绍,下文描述的装置与上文描述的方法可相互对应参照,相关模块均设置于客户端设备中,参考图4,图4为本申请实施例提供的一种异步目录操作装置的结构示意图,包括:
获取模块401,用于从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;
异步操作请求发送模块402,用于发送异步操作请求至元数据服务器,同时根据索引节点信息执行目录操作;
阻塞处理模块403,用于阻塞索引节点的元数据操作,且当元数据服务器的目录操作完成后,解除阻塞。
优选地,还包括:预建立模块,用于:
判断索引节点链表是否为空;
若索引节点链表不为空,则执行从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息的步骤;
若索引节点链表为空,则发送同步创建请求至元数据服务器,以使元数据服务器预分配多个inode,并将inode放入与客户端通信的session的链表结构中,完成创建,并发送对应的索引节点链表至客户端;
接收到索引节点链表。
优选地,还包括:标记模块,用于:
设置异步处理标记。
优选地,异步操作请求包括异步创建请求、异步删除请求。
优选地,阻塞处理模块403,包括:
解除单元,用于当接收到元数据服务器发送的目录操作的操作成功信息后,解除阻塞。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种客户端设备进行介绍,下文描述的客户端设备与上文描述的方法可相互对应参照。
本申请提供了一种客户端设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上异步目录操作方法的步骤。
由于客户端设备部分的实施例与方法部分的实施例相互对应,因此客户端设备部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种异步目录操作系统进行介绍,下文描述的异步目录操作系统与上文描述的方法可相互对应参照。
本申请提供了一种异步目录操作系统,包括:
如上的客户端设备;
元数据服务器,用于预分配索引节点链表至客户端设备,根据异步操作请求执行目录操作。
优选地,元数据服务器用于:对于同一目录的异步目录创建,采用相同的分布式锁。
其中,在每次进行目录创建时元数据服务器需要进行分布式锁的添加,对于同一目录的文件目录创建场景,分布式锁是一样的,无需重新分配释放。这样共享的机制减少了大量分配释放时间开销。
由于异步目录操作系统部分的实施例与方法部分的实施例相互对应,因此异步目录操作系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的方法可相互对应参照。
本申请提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如权上异步目录操作方法的步骤。
由于计算机可读存储介质部分的实施例与方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种异步目录操作方法、装置、客户端设备、介质和系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (9)
1.一种异步目录操作方法,其特征在于,应用于客户端设备,包括:
从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;其中,所述元数据服务器通过所述索引节点链表提供给所述客户端设备父目录操作权限;所述索引节点信息包括目录信息、inode、文件布局信息;
发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作;
阻塞所述索引节点的元数据操作,且当所述元数据服务器的所述目录操作完成后,解除阻塞;
其中,所述从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息之前,还包括:
判断所述索引节点链表是否为空;
若所述索引节点链表不为空,则执行所述从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息的步骤;
若所述索引节点链表为空,则发送同步创建请求至所述元数据服务器,以使所述元数据服务器预分配多个索引节点,并将所述多个索引节点放入与所述客户端通信的session的链表结构中,完成创建,并发送对应的所述索引节点链表至所述客户端;
接收到所述索引节点链表。
2.根据权利要求1所述的异步目录操作方法,其特征在于,所述发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作,包括:
判断所述索引节点信息是否满足预设条件;
若所述索引节点信息满足所述预设条件,则执行所述发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作的步骤;
若所述索引节点信息不满足所述预设条件,则执行所述发送同步创建请求至所述元数据服务器的步骤,以便更新所述索引节点链表。
3.根据权利要求1所述的异步目录操作方法,其特征在于,所述判断所述索引节点链表是否为空之前,还包括:
设置异步处理标记。
4.根据权利要求1所述的异步目录操作方法,其特征在于,所述异步操作请求包括异步创建请求、异步删除请求。
5.根据权利要求1所述的异步目录操作方法,其特征在于,所述当所述元数据服务器的所述目录操作完成后,解除阻塞,包括:
当接收到所述元数据服务器发送的所述目录操作的操作成功信息后,解除阻塞。
6.一种异步目录操作装置,其特征在于,包括:
获取模块,用于从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息;其中,所述元数据服务器通过所述索引节点链表提供给客户端设备父目录操作权限;所述索引节点信息包括目录信息、inode、文件布局信息;
异步操作请求发送模块,用于发送异步操作请求至所述元数据服务器,同时根据所述索引节点信息执行目录操作;
阻塞处理模块,用于阻塞所述索引节点的元数据操作,且当所述元数据服务器的所述目录操作完成后,解除阻塞;
其中,所述异步目录操作装置,具体用于:
从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息之前,判断所述索引节点链表是否为空;
若所述索引节点链表不为空,则执行所述从元数据服务器预分配的索引节点链表中获取索引节点对应的索引节点信息的步骤;
若所述索引节点链表为空,则发送同步创建请求至所述元数据服务器,以使所述元数据服务器预分配多个索引节点,并将所述多个索引节点放入与所述客户端通信的session的链表结构中,完成创建,并发送对应的所述索引节点链表至所述客户端;
接收到所述索引节点链表。
7.一种客户端设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述异步目录操作方法的步骤。
8.一种异步目录操作系统,其特征在于,包括:
如权利要求7所述的客户端设备;
元数据服务器,用于预分配索引节点链表至所述客户端设备,根据异步操作请求执行目录操作。
9.根据权利要求8所述的异步目录操作系统,其特征在于,所述元数据服务器用于:对于同一目录的异步目录创建,采用相同的分布式锁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011568284.6A CN112612751B (zh) | 2020-12-25 | 2020-12-25 | 一种异步目录操作方法、装置、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011568284.6A CN112612751B (zh) | 2020-12-25 | 2020-12-25 | 一种异步目录操作方法、装置、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112612751A CN112612751A (zh) | 2021-04-06 |
CN112612751B true CN112612751B (zh) | 2024-08-13 |
Family
ID=75247854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011568284.6A Active CN112612751B (zh) | 2020-12-25 | 2020-12-25 | 一种异步目录操作方法、装置、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612751B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111034B (zh) * | 2021-04-07 | 2023-08-04 | 山东英信计算机技术有限公司 | 一种索引预分配的方法及装置 |
CN113836143B (zh) * | 2021-09-28 | 2024-02-27 | 新华三大数据技术有限公司 | 一种索引创建方法及装置 |
CN114254923B (zh) * | 2021-12-22 | 2023-01-17 | 中国长江三峡集团有限公司 | 基于opcua的plc控制流程生成方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
CN103942262A (zh) * | 2014-03-26 | 2014-07-23 | 浪潮电子信息产业股份有限公司 | 一种视频存储系统中元数据的优化分配方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8479268B2 (en) * | 2009-12-15 | 2013-07-02 | International Business Machines Corporation | Securing asynchronous client server transactions |
CN103916467B (zh) * | 2014-03-25 | 2017-02-08 | 中国科学院计算技术研究所 | 一种元数据集群中负载转移方法及系统 |
CN104021137B (zh) * | 2014-04-21 | 2017-06-09 | 中国科学院计算技术研究所 | 一种基于目录授权的客户端本地开闭文件的方法及系统 |
CN105740334A (zh) * | 2016-01-22 | 2016-07-06 | 中国科学院计算技术研究所 | 一种文件系统中异步批量创建文件的系统及方法 |
EP3519993A1 (en) * | 2016-09-29 | 2019-08-07 | Veritas Technologies LLC | Tracking access pattern of inodes and pre-fetching inodes |
CN110941591A (zh) * | 2019-11-22 | 2020-03-31 | 浪潮电子信息产业股份有限公司 | 一种文件删除方法、装置、设备及可读存储介质 |
-
2020
- 2020-12-25 CN CN202011568284.6A patent/CN112612751B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
CN103942262A (zh) * | 2014-03-26 | 2014-07-23 | 浪潮电子信息产业股份有限公司 | 一种视频存储系统中元数据的优化分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112612751A (zh) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612751B (zh) | 一种异步目录操作方法、装置、设备和系统 | |
US11080260B2 (en) | Concurrent reads and inserts into a data structure without latching or waiting by readers | |
US8321389B2 (en) | Method, apparatus and computer program product for maintaining file system client directory caches with parallel directory writes | |
CN106599111B (zh) | 一种数据管理方法及存储系统 | |
US11372681B2 (en) | Slab memory allocator with dynamic buffer resizing | |
US9075722B2 (en) | Clustered and highly-available wide-area write-through file system cache | |
CN105095489A (zh) | 一种分布式文件删除方法、装置和系统 | |
CN109766318B (zh) | 文件读取方法及装置 | |
KR20160031973A (ko) | 데이터 아이템들을 캐시하기 위한 방법들, 장치들, 및 시스템들 | |
US20160191652A1 (en) | Data storage method and apparatus | |
US7818749B2 (en) | Data processing method, data processing apparatus, and data processing program | |
US10838875B2 (en) | System and method for managing memory for large keys and values | |
US20140324925A1 (en) | Efficient Rename in a Lock-Coupled Traversal of B+Tree | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 | |
CN108319634B (zh) | 分布式文件系统的目录访问方法和装置 | |
CN113885780A (zh) | 数据同步方法、装置、电子设备、系统和存储介质 | |
CN110162395B (zh) | 一种内存分配的方法及装置 | |
EP4031986B1 (en) | Rdma-enabled key-value store | |
CN108121514B (zh) | 元信息更新方法、装置、计算设备及计算机存储介质 | |
CN111061719B (zh) | 数据收集方法、装置、设备和存储介质 | |
CN113760532A (zh) | 数据处理方法、装置、电子设备、系统和存储介质 | |
CN116821058B (zh) | 元数据访问方法、装置、设备及存储介质 | |
KR102714987B1 (ko) | 분산 파일 시스템의 동작 방법 | |
US10795875B2 (en) | Data storing method using multi-version based data structure | |
CN113111034B (zh) | 一种索引预分配的方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |