存储空间预警方法和系统的制作方法

文档序号:6398162阅读:271来源:国知局
专利名称:存储空间预警方法和系统的制作方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种存储空间预警方法和系统。
背景技术
自动精简配置存储方案能够给操作系统提供大容量的虚拟驱动器。这种技术的核心是“欺骗”。如图1所示,简单的说,实际的物理存储设备可能并没有这么多,而让操作系统认为有这么大的存储空间。因此,如果不能实时监测存储空间容量,当存储空间不足时,将会影响用户的正常使用。自动精简配置位于块设备驱动层(Iinux分层架构中),其中空间预警涉及两个层面,一个是内核空间,一个是用户空间。这其中有两个重要的问题,一个是存储空间容量的监测,如何实时的检测存储空间容量是否达到预警值;另一个是如何实现内核空间和用户空间之间的通信。而这其中,内核空间与用户空间的实时通信是重中之重、难中之难。Linux系统将自身划分为两部分,一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。用户空间中的代码运行在较低的特权级别上,只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,也不能直接访问内核空间和硬件设备,以及其他一些具体的使用限制。如图2所示,用户空间与自动精简配置所在的块设备驱动层之间,还隔着文件系统层,块I/O子系统中通用块层、块I/O子系统中I/O调度层等。由此可见,两者之间跨越很多层,“沟通”十分困难,预警效率低下。

发明内容
本发明提供了一种存储空间预警方法和系统,解决了现有预警方式预警效率低下的问题。一种存储空间预警方法,包括:在自动精简配置分配空间时,检测内核空间的存储空间容量;在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。优选的,上述存储空间预警方法还包括:在用户空间监听预警事件。优选的,存储空间预警方法还包括:在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为池空间预警触发类型DM_UEVENT_P00L_L0ff_WATER_TRIGGERED,行为为 KOBJ_CHANGE,名称为 P00L_L0W_WATER_TRIGGERED ;在用户空间存储所述预警事件及其type、行为和名称。优选的,所述内核空间向用户空间发送预警事件具体为:
所述内核空间通过Netlink套接字向用户空间发送所述预警事件。优选的,在用户空间监听预警事件具体为:利用一个系统后台服务监听Netlink套接字。优选的,上述存储空间预警方法还包括:在用户空间监听到有消息到来时,提取该消息的type、行为和名称;在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。本发明还提供了一种存储空间预警系统,包括:内核存储空间容量检测模块,用于在自动精简配置分配空间时,检测内核空间的存储空间容量;存储空间报警模块,用于在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。优选的,所述存储空间报警模块,还用于在内核空间构建uevent内核事件作为预警事件,定义该事件的 type 为 DM_UEVENT_P00L_L0W_WATER_TRIGGERED,行为为 KOBJ_CHANGE,名称为 P00L_L0W_WATER_TRIGGERED。优选的,上述存储空间预警系统还包括:预警监听模块,用于在用户空间监听预警事件,具体为利用一个系统后台服务监听Netlink套接字。优选的,所述预警监听模块,还用于在用户空间监听到有消息到来时,提取该消息的type、行为和名称,在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。本发明提供了一种存储空间预警方法和系统,在自动精简配置分配空间时,检测内核空间的存储空间容量,在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件,提高空间预警的准确性,解决了现有预警方式预警效率低下的问题。


图1为自动精简配置存储方案的系统结构示意图;图2为Linux块设备驱动层的分层架构;图3为本发明的实施例一提供的一种存储空间预警方法的流程图;图4为本发明的实施例一提供的一种存储空间预警方法中用户空间操作流程图;图5为本发明的实施例二提供的一种存储空间预警系统的结构示意图。
具体实施例方式Linux系统将自身划分为两部分,一部分为核心软件,即是kernel,也称作内核空间,另一部分为普通应用程序,这部分称为用户空间。用户空间中的代码运行在较低的特权级别上,只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,也不能直接访问内核空间和硬件设备,以及其他一些具体的使用限制。如图2所示,用户空间与自动精简配置所在的块设备驱动层之间,还隔着文件系统层,块I/O子系统中通用块层、块I/O子系统中I/O调度层等。由此可见,两者之间跨越很多层,“沟通”十分困难,预警效率低下。为了解决上述问题,本发明的实施例提供了一种存储空间预警方法和系统。下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。首先结合附图,对本发明的实施例一进行说明。本发明实施例提供了一种存储空间预警系统,通过利用Linux内核中Kobj_uevent提供的uevent机制和Netl ink套接字来实现内核空间与用户空间的通信,使用该方法完成内核空间向用户空间进行预警的流程如图3所示,包括:步骤301、在内核空间构建uevent内核事件作为预警事件;本步骤中,构建一用于发出存储空间预警的预警事件,具体的在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为DM_UEVENT_P00L_L0W_WATER_TRIGGERED,行为为K0BJ_CHANGE,名称为 P00L_L0W_WATER_TRIGGERED。优选的,还可将该事件及其type、行为和名称存储于用户空间。步骤302、在自动精简配置分配空间时,检测内核空间的存储空间容量;本步骤中,可以利用自动精简配置写时分配的特点,在自动精简配置分配空间的时候,检测存储空间容量是否达到了预警阀值。步骤303、在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件;本步骤中,在监测到存储空间的容量达到了预置的预警阀值时,所述内核空间通过Net I ink套接字向用户空间发送所述预警事件,具体的,内核空间通过Netlink套接字向用户空间发送所述预警事件。同时,用户空间也对内核空间发出的预警事件进行监测,具体步骤如图4所示,包括:步骤401、在用户空间监听预警事件;优选的,本步骤中可利用一个系统后台服务监听Netlink套接字。步骤402、在用户空间监听到有消息到来时,提取该消息的type、行为和名称;步骤403、在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储
空间预警。 下面结合附图,对本发明的实施例二进行说明。本发明实施例提供了一种存储空间预警系统,该系统的结构如图5所示,包括:内核存储空间容量检测模块501,用于在自动精简配置分配空间时,检测内核空间的存储空间容量;存储空间报警模块502,用于在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。优选的,所述存储空间报警模块502,还用于在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为DM_UEVENT_P00L_L0W_WATER_TRIGGERED,行为为K0BJ_CHANGE,名称为 P00L_L0W_WATER_TRIGGERED。优选的,上述存储空间预警系统还包括:
预警监听模块503,用于在用户空间监听预警事件,具体为利用一个系统后台服务监听Netlink套接字。优选的,所述预警监听模块503,还用于在用户空间监听到有消息到来时,提取该消息的type、行为和名称,在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。本发明实施例提供的存储空间预警系统能够与本发明实施例一中提供的存储空间预警方法相结合,通过利用Linux内核中Kobj_uevent提供的uevent机制和Netlink套接字来实现内核空间与用户空间的通信,以及利用自动精简配置写时分配的特性实现空间容量的实时监测。内核存储空间容量检测模块501,为内核空间模块,利用自动精简配置写时分配的特点,在自动精简配置分配空间的时候,检测存储空间容量是否达到了预警阀值。 存储空间报警模块502,为内核空间模块,会利用uevent机制提供的操作和接口。首先创建一个 uevent 内核事件,type 为 DM_UEVENT_P00L_L0W_WATER_TRIGGERED,行为为K0BJ_CHANGE,名称为P00L_L0W_WATER_TRIGGERED ;然后通过Netlink套接字由内核空间发送该uevent内核事件到用户空间。预警监听模块503,为用户空间模块,利用一个系统后台服务用于监听Netlink套接字。根据内核存储空间容量检测模块501,当监测到存储空间容量达到了预警阀值时,就会启动存储空间报警模块502发送预警信息。根据预警监听模块503,当监听到有消息到来,判断其行为为KOBJ_CHANGE,type为 DM_UEVENT_P00L_L0W_WATER_TRIGGERED,名称为 P00L_L0W_WATER_TRIGGERED 的消息后,
会立即在用户空间向管理员报警。本发明的实施例提供了一种存储空间预警方法和系统,在自动精简配置分配空间时,检测内核空间的存储空间容量,在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件,提高空间预警的准确性,解决了现有预警方式预警效率低下的问题。每次检测存储空间容量是否达到预警阀值都会在自动精简配置分配空间的时候进行,保证检测的准确性,一旦存储空间容量达到预警阀值,会立即发送uevent内核事件,因为是通过Netlink套接字发送该内核事件,所以只需要在用户空间监听该套接字(类似于网络编程监听socket),当该套接字有消息到来,判断其中消息内容,一旦是预警信息,便可立即向管理员报警,从而保证预警的实时性。相比其他解决方案,比如使用脚本采用轮询空间容量的方式,本发明的实施例所提供的技术方案可以大大提高空间预警的准确性,同时也能够减轻管理员的工作负担(包括编写脚本,平衡轮询的频率等工作),从而实时准确的进行自动精简配置存储空间容量的预警。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之
一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种存储空间预警方法,其特征在于,包括: 在自动精简配置分配空间时,检测内核空间的存储空间容量; 在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
2.根据权利要求1所述的存储空间预警方法,其特征在于,该方法还包括: 在用户空间监听预警事件。
3.根据权利要求1或2所述的存储空间预警方法,其特征在于,该方法还包括: 在内核空间构建uevent内核事件作为预警事件,定义该事件的类型(type)为池空间预警触发类型 DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为 KOBJ_CHANGE,名称为 POOL_L0ff_WATER_TRIGGERED ; 在用户空间存储所述预警事件及其type、行为和名称。
4.根据权利要求3所述的存储空间预警方法,其特征在于,所述内核空间向用户空间发送预警事件具体为: 所述内核空间通过Netlink套接字向用户空间发送所述预警事件。
5.根据权利要求4所述的存储空间预警方法,其特征在于,在用户空间监听预警事件具体为: 利用一个系统后台服务监听Netlink套接字。
6.根据权利要求5所述的存储空间预警方法,其特征在于,该方法还包括: 在用户空间监听到有消息到来时,提取该消息的type、行为和名称; 在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
7.一种存储空间预警系统,其特征在于,包括: 内核存储空间容量检测模块,用于在自动精简配置分配空间时,检测内核空间的存储空间容量; 存储空间报警模块,用于在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。
8.根据权利要求7所述的存储空间预警系统,其特征在于, 所述存储空间报警模块,还用于在内核空间构建uevent内核事件作为预警事件,定义该事件的 type 为 DM_UEVENT_POOL_LOW_WATER_TRIGGERED,行为为 KOBJ_CHANGE,名称为P00L_L0ff_WATER_TRIGGERED。
9.根据权利要求8所述的存储空间预警系统,其特征在于,该系统还包括: 预警监听模块,用于在用户空间监听预警事件,具体为利用一个系统后台服务监听Netlink套接字。
10.根据权利要求9所述的存储空间预警系统,其特征在于, 所述预警监听模块,还用于在用户空间监听到有消息到来时,提取该消息的type、行为和名称,在提取的type、行为和名称与预存的预警事件相符合时,判定发生存储空间预警。
全文摘要
本发明提供了一种存储空间预警方法和系统。涉及计算机应用领域;解决了现有预警方式预警效率低下的问题。该方法包括在自动精简配置分配空间时,检测内核空间的存储空间容量;在监测到存储空间的容量达到了预置的预警阀值时,内核空间向用户空间发送预警事件。本发明提供的技术方案适用于自动精简配置,实现了高准确性的空间预警。
文档编号G06F11/00GK103197981SQ201310022070
公开日2013年7月10日 申请日期2013年1月21日 优先权日2013年1月21日
发明者温源, 张宇 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1