本公开涉及计算机,具体地,涉及一种分布式锁管理方法、介质、电子设备及程序产品。
背景技术:
1、nas(network attached storage,网络附加存储)存储架构是一种专门设计用于通过网络提供文件级别数据存储访问的技术架构。在nas存储架构中,代理服务(proxy)负责解析用户的协议请求,并将解析后的协议请求发送给后端存储集群。在此过程中,代理服务需要与元数据管理服务器与文件存储服务器进行交互,其中,元数据管理服务器负责元数据服务和分布式锁服务,管理文件所有的元数据属性,文件存储服务器则负责文件的读写操作以及数据落盘。
2、在nas存储架构中,代理服务会缓存文件的元数据属性,减少与后端的交互,不同代理服务之间的缓存通过分布式锁来保证强一致。但是,每一个文件会有若干个元数据分布式锁以及众多的io分段锁(i/o segmentation locks),随着文件数量的增多,整体分布式锁的数量会越来越多,这会急剧加大代理服务和元数据管理服务器的内存压力。
技术实现思路
1、提供该
技术实现要素:
部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
2、第一方面,本公开提供一种分布式锁管理方法,由分布式文件存储系统的代理服务器执行,所述分布式文件存储系统包括代理服务器以及元数据管理服务器,所述方法包括:
3、确定目标数量个需要释放的分布式锁;
4、根据所述目标数量,从持有分布式锁的文件中确定至少一个第一目标文件,其中,所述至少一个第一目标文件包括的分布式锁的总数量与所述目标数量相匹配;
5、向所述元数据管理服务器发送携带有所述第一目标文件的标识符的第一请求,其中,所述第一请求用于使得所述元数据管理服务器根据所述第一目标文件的标识符,从所述元数据管理服务器持有的分布式锁中确定属于所述第一目标文件的目标分布式锁,并向所述代理服务器返回第一释放请求,所述第一释放请求用于指示所述代理服务器释放所述目标分布式锁;
6、响应于所述第一释放请求,释放所述目标分布式锁,并删除所述至少一个第一目标文件的记录;
7、向所述元数据管理服务器返回第一应答信息,其中,所述第一应答信息用于指示所述元数据管理服务器删除所述目标分布式锁。
8、第二方面,本公开提供一种分布式锁管理方法,由分布式文件存储系统的元数据管理服务器执行,所述分布式文件存储系统包括代理服务器以及元数据管理服务器,所述方法包括:
9、接收所述代理服务器发送的携带有第一目标文件的标识符的第一请求,其中,所述第一目标文件是所述代理服务器通过确定目标数量个需要释放的分布式锁,并根据所述目标数量从持有分布式锁的文件中确定的,所述第一目标文件包括的分布式锁的总数量与所述目标数量相匹配;
10、响应于所述第一请求,根据所述第一目标文件的标识符,从所述元数据管理服务器持有的分布式锁中确定属于所述第一目标文件的目标分布式锁;
11、向所述代理服务器返回第一释放请求,其中,所述第一释放请求用于指示所述代理服务器释放所述目标分布式锁,并删除所述至少一个第一目标文件的记录;
12、接收所述代理服务器返回的第一应答信息,其中,所述第一应答信息是所述代理服务器在完成释放所述目标分布式锁的情况下发送的;
13、响应于所述第一应答信息,删除所述目标分布式锁。
14、第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理装置执行时实现第一方面所述的方法的步骤,或者实现第二方面所述的方法的步骤。
15、第四方面,本公开提供一种电子设备,包括:
16、存储装置,其上存储有计算机程序;
17、处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面所述的方法的步骤,或者实现第二方面所述的方法的步骤。
18、第五方面,本公开提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法的步骤,或者实现第二方面所述的方法的步骤。
19、基于上述技术方案,通过代理服务器确定目标数量个需要释放的分布式锁,并根据目标数量,从持有分布式锁的文件中确定至少一个第一目标文件,以及向元数据管理服务器发送携带有第一目标文件的标识符的第一请求,并响应于元数据管理服务器发送的第一释放请求,释放目标分布式锁并删除第一目标文件的记录,然后向元数据管理服务器返回第一应答信息,以使元数据管理服务器响应于第一应答信息,删除目标分布式锁,由元数据管理服务器主动发起第一释放请求,可以同步回收元数据管理服务器以及代理服务器中无用的分布式锁,同步降低元数据管理服务器以及代理服务器的内存压力,从而有效控制随着文件数量增长而导致的分布式锁数量增加进而引发的内存增长问题。
20、本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
1.一种分布式锁管理方法,其特征在于,由分布式文件存储系统的代理服务器执行,所述分布式文件存储系统包括代理服务器以及元数据管理服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定目标数量个需要释放的分布式锁,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标数量,从持有分布式锁的文件中确定至少一个第一目标文件,包括:
4.根据权利要求1所述的方法,其特征在于,所述向所述元数据管理服务器发送携带有所述第一目标文件的标识符的第一请求,包括:
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述分布式锁包括元数据锁,所述目标数量包括所述元数据锁的第五数量;
6.根据权利要求5所述的方法,其特征在于,所述分布式锁还包括分段锁,所述方法还包括:
7.一种分布式锁管理方法,其特征在于,由分布式文件存储系统的元数据管理服务器执行,所述分布式文件存储系统包括代理服务器以及元数据管理服务器,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.根据权利要求7或8所述的方法,其特征在于,所述分布式锁包括元数据锁,所述目标数量包括所述元数据锁的第五数量,所述第一目标文件包括的所述元数据锁的总数量大于或等于所述第五数量。
10.根据权利要求9所述的方法,其特征在于,所述分布式锁还包括分段锁;所述方法还包括:
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
12.根据权利要求7所述的方法,其特征在于,所述方法还包括:
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理装置执行时实现权利要求1至6中任一项所述的方法的步骤,或者实现权利要求7至12中任一项所述的方法的步骤。
14.一种电子设备,其特征在于,包括:
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤,或者实现权利要求7至12中任一项所述的方法的步骤。
