数据存储的监控方法、装置和电子设备与流程

文档序号:25213315发布日期:2021-05-28 14:09阅读:66来源:国知局
数据存储的监控方法、装置和电子设备与流程

本公开涉及人工智能技术领域,尤其涉及云计算技术领域,具体涉及数据存储的监控方法、装置和电子设备。



背景技术:

分布式文件存储系统在互联网(internettechnology,it)企业和云计算等领域得到了广泛应用。

随着互联网技术的快速发展,人们对信息存储的需求也越来越大,分布式文件系统可以用于存储数据,满足人们对信息存储的需求,然而,分布式文件系统的存储资源有限,若不加以限制,就会存在过度使用的危险。



技术实现要素:

本公开提供了一种数据存储的监控方法、装置和电子设备,实现了针对用户级别设置对应的用户配额,以实现用户级别的存储管理。

根据本公开的一方面,提供了一种数据存储的监控方法,该方法包括:

监测用于创建目录的创建操作;

响应于监测到所述创建操作的情况下,确定所述创建操作对应的用户对象;

在所述用户对象关联的第一对象映射图中,添加所述创建操作所创建的目录;

响应于所述第一对象映射图中目录的总容量大于或等于用户配额时,向所述目标用户端发送写操作失败的提示信息

根据本公开的另一方面,提供了一种数据存储的监控装置,包括:

监测模块,用于监测用于创建目录的创建操作;

查询模块,用于响应于监测到所述创建操作的情况下,确定所述创建操作对应的用户对象;

添加模块,用于在所述用户对象关联的第一对象映射图中,添加所述创建操作所创建的目录;

提示模块,用于响应于所述第一对象映射图中目录的总容量大于或等于用户配额时,向所述目标用户端发送写操作失败的提示信息。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1为本公开实施例提供的一种数据存储的监控方法的流程示意图;

图2为本公开实施例提供的另一种数据存储的监控方法的流程示意图

图3为本公开实施例提供的另一种数据存储的监控方法的流程示意图;

图4为本公开实施例提供的一种数据存储的监控装置的结构示意图;

图5为本公开实施例提供的示例电子设备800的示意性框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

下面参考附图描述本公开实施例的数据存储的监控方法、装置和电子设备。

图1为本公开实施例提供的一种数据存储的监控方法的流程示意图。

如图1所示,该方法包括以下步骤:

步骤101,监测用于创建目录的创建操作。

其中,目录用于指示目标用户端存储的文件,包含文件的名称、大小、创建的时间等。该目录,具体为挂载目录,挂载目录可以导出供执行创建操作的目标用户端挂载使用。

步骤102,响应于监测到创建操作的情况下,确定创建操作对应的用户对象。

其中,创建操作是目标用户端执行的,其中,目标用户端为为用户提供相应服务的应用程序,用户端和用户对象,具有对应关系,用户对象为对象存储中的基本单元,作为一种实现方式,用户对象的对象名和目标用户端对应的用户标识相同,用户对象的对象名即为目标用户端对应的用户的用户标识,该用户标识可用于唯一标识该用户对象。

作为一种可能的实现方式,目标用户端和用户对象间的对应关系是预先建立的,在分布式存储中,用户对象可以为rados(reliable,autoznomicdistributedobjectstorage,可靠、自治、分布式对象存储)对象,是存储池数据组织的基本单元。

步骤103,在用户对象关联的第一对象映射图中,添加创建操作所创建的目录。

其中,第一对象映射图中,可以添加多个创建操作所创建的目录。

作为一种实现方式,可在第一对象映射图中,添加创建操作所创建的目录的标识,其中,第一对象映射图中,可包含多个键值对,其中,第一映射图中的键表示相应目录的标识,值表示相应目录创建的时间。不同的目录供对应的目标用户端挂载使用,以实现数据的隔离,同时便于数据的查找。

步骤104,响应于第一对象映射图中目录的总容量大于或等于用户配额时,向目标用户端发送写操作失败的提示信息。

本实施例中,每一个用户对象都设置有对应的用户配额,用户配额指示了相应的目标用户端可使用的最大容量,在确定统计得到的总容量大于或等于用户配额时,向目标用户端发送写操作失败的提示信息,实现了基于设置的目标用户端对应的用户配额,和周期性统计得到的目录中的总容量,以实现相应目标用户端写入的控制。

本公开实施例的数据存储的监控方法中,监测用于创建目录的创建操作,响应于监测到创建操作的情况下,确定创建操作对应的用户对象,在用户对象关联的第一对象映射图中,添加创建操作所创建的目录,响应于第一对象映射图中目录的总容量大于或等于用户配额时,向所述目标用户端发送写操作失败的提示信息,实现了针对用户级别设置对应的用户配额,以实现用户级别的存储管理。

基于上述实施例,本实施例提供了另一种数据存储的监控方法,如图2所示,该方法包含以下步骤:

步骤201,获取目标用户端的用户标识。

其中,目标用户端,是指执行创建用户对象的用户端。用户标识为在目标用户端登录的用户的用户标识,以用于唯一标识该目标用户端,例如,为用户名,昵称、手机号码或电子邮箱等。

步骤202,创建以用户标识命名的用户对象。

本实施例中,在分布式对象存储服务rados中创建一个新的用户对象,该用户对象和目标用户端具有对应关系,作为一种实现方式,将目标用户端的用户标识命名用户对象,以建立用户对象和目标用户端的对应关系。用户对象创建成功后,可以进行更新和删除。其中,用户对象中包括用户配额,以及具有关联的第一对象映射图,总数据量、总文件数。在用户对象刚创建时,总数据量和总文件数均为零。需要说明的是,每一个用户对象,具有对应的第一对象映射图,作为一种可能的实现方式,第一对象映射图可以通过rocksdb实现。第一对象映射图用于存储创建的各个目录的标识。

本实施例中,通过创建以用户标识命名的用户对象,其中,用户对应中包含了用户配额和关联的第一对象映射图,由于用户对象和用户端具有对应关系,从而可确定对应的用户端的用户配额,以实现对用户端可使用容量的限制。

步骤203,监测用于创建目录的创建操作。

步骤204,响应于监测到创建操作的情况下,确定创建操作对应的用户对象。

步骤205,在用户对象关联的第一对象映射图中,添加创建操作所创建的目录。

其中,步骤203至步骤205,可参照上一实施例中的解释说明,此处不再赘述。

步骤206,周期性统计第一对象映射图中目录的总容量。

本实施中,目录中存储的内容包含对应的目标用户端已使用容量、已写入文件数和创建时间。作为一种实现方式,可通过分布式管理系统ceph的元数据管理服务(metadataserver,mds)获取用户对象关联的第一对象映射图中所有目录的总容量。

本实施例中,为了提高总容量确定的准确性,通过周期性统计用户对象关联的第一对象映射图中目录的总容量,可以基于确定的周期,不断的更新目标用户端当前已使用的总容量,提高了目标用户端当前已使用的总容量统计的准确性。

例如,设定周期为10秒,则每10秒统计第一对象映射图中所有目录求和对应的总容量。

步骤207,将第一对象映射图中目录的总容量,存储至用户对象。

本实施例中,将周期性统计得到的第一对象映射图中目录的总容量,存储至用户对象中,实现了对用户对象中存储的总容量的更新。

其中,总容量包括总数据量和总文件数中的至少一项。

在一种场景下,总容量为总数据量,将第一对象映射图中目录的总数据量,存储至用户对象,实现了对用户对象中已使用的总数据量的更新。

在另一种场景下,总容量为总文件数,将第一对象映射图中目录的总文件数,存储至用户对象,实现了对用户对象中已使用的总文件数的更新。

在又一种场景下,总容量包括总数据量和总文件数,将第一对象映射图中目录的总数据量和总文件数,存储至用户对象,实现了对用户对象中已使用的总文件数和总数据量的更新。

步骤208,响应于查询操作,导出第一对象映射图中的目录、用户对象中存储的总容量和用户配额中的至少一个。

进而,本实施例中,可基于用户对象存储的内容,提供查询操作,即响应于查询操作,从用户对象中导出第一对象映射图中的目录、用户对象中存储的总容量和用户配额中的至少一个,以满足目标用户端的不同的查询需求。

步骤209,在总容量大于或等于设定阈值时,向目标用户端发送提示信息。

其中,设定阈值是用户配额与设定系数的乘积。其中,设定系数小于1。

例如,设定配额为a,设定系数为0.95,则设定阈值为0.95a。

在本实施例的一种实现方式中,总容量为总数据量,则在用户对象中,将用户对象中更新得到的总数据量与设定阈值比较,在总数据量大于或等于设定阈值时,向目标用户端发送提示信息,以提示用户剩余的可用于存储数据的总数据量不足。

在本公开实施例的另一种实现方式中,总容量为总文件数,则在用户对象中,将用户对象中更新得到的总文件数与设定阈值比较,在总文件数大于或等于设定阈值时,向目标用户端发送提示信息,以提示用户剩余的可用文件数数量不足,即将达到上限。

需要说明的是,设定阈值和总容量的类型对应,例如,总容量为总数据量,例如,总数据量为20g,设定阈值则为0.95*20g=19g的数据量;总容量为总文件数,例如,当前已用的总文件数为50个,设定阈值对应的总文件数为0.95*600g=57个。

步骤210,响应于第一对象映射图中目录的总容量大于或等于用户配额时,向目标用户端发送写操作失败的提示信息。

本实施例中,作为一种实现方式,响应于第一对象映射图中目录的总容量大于或等于数据量的用户配额时,向目标用户端发送写操作失败的提示信息,避免了对应用户的超配额使用,提高了配额分配的合理性。

作为另一种实现方式,响应于第一对象映射图中目录的总文件数大于或等于文件数的用户配额时,向目标用户端发送写操作失败的提示信息,以避免了超配额使用,提高了配额分配的合理性。

需要说明的是,向目标用户端发送写操作失败的提示信息时,提示信息中可包含写操作识别的原因,即总文件数或者是总数据量超过用户配额,无法执行写操作的提示,进而,可实现对云端存储容量使用的计费管理。

本实施例的数据存储的监控方法中,监测用于创建目录的创建操作,每当监测到创建操作的情况下,对执行创建操作的目标用户端查询对应的用户对象,在用户对象关联的第一对象映射图中,添加创建操作所创建的目录,周期性统计第一对象映射图中目录的总容量,响应于总容量大于或等于设定阈值时,向目标用户端发送提示信息,在总容量大于或等于用户配额时,向目标用户端发送写操作失败的提示信息,实现了针对用户级别设置对应的用户配额,以根据对应的用户配额,实现用户级别的容量统计和写入管理。

基于上述实施例,本实施例提供了一种实现方式,图3为本公开实施例提供的另一种数据存储的监控方法的流程示意图,如图3所示,该方法包含以下步骤:

步骤301,在预先创建的全局对象关联的第二对象映射图中,添加目标用户端的用户标识。

其中,第二对象映射图中包括多个键值对,至少一个键值对中的键表示目标用户端的用户标识,值表示目标用户端的用户标识的创建时间。

步骤302,响应于管理客户端的操作,导出第二对象映射图中各键值对表示的用户标识,或者,导出第二对象映射图中各键值对表示的用户标识和创建时间。

本实施例中,预先建立全局对象关联的第二对象映射图,对于每一个新增加的用户对象对应的用户端,将用户端的用户标识添加至第二对象映射图中,并以键值对的方式存储,其中,键表示相应的用户标识,值表示相应的用户标识创建的时间。从而每一个用户端的用户标识和用户标识创建的时间,则以键值对的方式存储至第二对象映射图中。

进而,管理客户端需要查看所有用户端对应的用户标识和用户标识创建的时间时,响应于管理客户端的操作,可导出第二对象映射图中各键值对表示的用户标识,或者,导出第二对象映射图中各键值对表示的用户标识和创建时间,实现了对所有用户端的列举,以便于基于各个客户端的用户标识,查找对应的用户对象关联的第一对象映射图中目录的总容量和对应的用户配额,提高了对客户端的管理效率。

本实施例的数据存储的监控方法中,基于预设的第二对象映射图中存储的各键值对,实现了对所有用户端的列举,以便于基于各个客户端的用户标识,查找对应的用户对象关联的第一对象映射图中目录的总容量和对应的用户配额,提高了管理客户端的管理效率。

为了实现上述实施例,本实施例提供了一种数据存储的监控装置。

图4为本公开实施例提供的一种数据存储的监控装置的结构示意图。

如图4所示,该装置包含:监测模块41、查询模块42、添加模块43和提示模块44。

监测模块41,用于监测用于创建目录的创建操作。

查询模块42,用于响应于监测到所述创建操作的情况下,确定所述创建操作对应的用户对象。

添加模块43,用于在所述用户对象关联的第一对象映射图中,添加所述创建操作所创建的目录。

提示模块44,用于响应于所述第一对象映射图中目录的总容量大于或等于用户配额时,向所述目标用户端发送写操作失败的提示信息。

进一步,在本公开实施例的一种可能的实现方式中,该装置,还包括:

获取模块,用于获取所述目标用户端的用户标识。

创建模块,用于创建以所述用户标识命名的所述用户对象,其中,所述用户对象中包括所述用户配额,以及具有关联的所述第一对象映射图。

在本公开实施例的一种可能的实现方式中,该装置,还包括:

上述添加模块43,用于在预先创建的全局对象关联的第二对象映射图中,添加所述用户标识;其中,所述第二对象映射图中包括多个键值对,至少一个键值对中的键表示所述用户标识,值表示所述用户标识的创建时间。

导出模块,用于响应于管理客户端的操作,导出所述第二对象映射图中各键值对表示的用户标识,或者,导出所述第二对象映射图中各键值对表示的所述用户标识和所述创建时间。

在本公开实施例的一种可能的实现方式中,该装置,还包括:

统计模块,用于周期性统计所述第一对象映射图中目录的总容量。

存储模块,用于将所述第一对象映射图中目录的总容量,存储至所述用户对象。

上述导出模块,还用于响应于查询操作,导出所述第一对象映射图中的目录、所述用户对象中存储的总容量和用户配额中的至少一个。

在本公开实施例的一种可能的实现方式中,其中,总容量包括总数据量和总文件数中至少一项;上述提示模块44,具体用于:

响应于所述总数据量大于或等于数据量的用户配额时,或者,所述总文件数大于或等于文件数的用户配额时,向所述目标用户端发送写操作失败的提示信息。

在本公开实施例的一种可能的实现方式中,

上述提示模块44,还用于在所述总容量大于或等于设定阈值时,向所述目标用户端发送提示信息;其中,所述设定阈值是所述用户配额与设定系数的乘积。

需要说明的是,前述对方法实施例的解释说明,也适用于该实施例的装置,原理相同,此处不再赘述。

本公开实施例的数据存储的监控装置中,监测用于创建目录的创建操作,响应于监测到创建操作的情况下,确定创建操作对应的用户对象,在用户对象关联的第一对象映射图中,添加创建操作所创建的目录,响应于第一对象映射图中目录的总容量大于或等于用户配额时,向所述目标用户端发送写操作失败的提示信息,实现了针对用户级别设置对应的用户配额,以实现用户级别的容量统计和存储管理。

为了实现上述实施例,本实施例提供了一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例所述的数据存储的监控方法。

为了实现上述实施例,本实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述方法实施例所述的数据存储的监控方法。

为了实现上述实施例,本实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现前述方法实施例所述的数据存储的监控方法。

图5为本公开实施例提供的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图5所示,设备800包括计算单元801,其可以根据存储在rom(read-onlymemory,只读存储器)802中的计算机程序或者从存储单元808加载到ram(randomaccessmemory,随机访问/存取存储器)803中的计算机程序,来执行各种适当的动作和处理。在ram803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom802以及ram803通过总线804彼此相连。i/o(input/output,输入/输出)接口805也连接至总线804。

设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于cpu(centralprocessingunit,中央处理单元)、gpu(graphicprocessingunits,图形处理单元)、各种专用的ai(artificialintelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、dsp(digitalsignalprocessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据存储的监控方法。例如,在一些实施例中,数据存储的监控方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram803并由计算单元801执行时,可以执行上文描述的数据存储的监控方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述的数据存储的监控方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、fpga(fieldprogrammablegatearray,现场可编程门阵列)、asic(application-specificintegratedcircuit,专用集成电路)、assp(applicationspecificstandardproduct,专用标准产品)、soc(systemonchip,芯片上系统的系统)、cpld(complexprogrammablelogicdevice,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、ram、rom、eprom(electricallyprogrammableread-only-memory,可擦除可编程只读存储器)或快闪存储器、光纤、cd-rom(compactdiscread-onlymemory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(cathode-raytube,阴极射线管)或者lcd(liquidcrystaldisplay,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:lan(localareanetwork,局域网)、wan(wideareanetwork,广域网)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtualprivateserver",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1