用于缓存数据的方法和装置制造方法及图纸

技术编号:22166077 阅读:28 留言:0更新日期:2019-09-21 10:13
本公开实施例公开了用于缓存数据的方法和装置。该方法的一具体实施方式包括:根据第一用户发送的数据操作请求生成数据操作任务;响应于确定执行数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定磁盘是否存在使用率限制;响应于确定磁盘存在使用率限制以及磁盘的磁盘空间已满标志的值为假,执行以下操作步骤:确定磁盘的剩余空间的容量是否大于溢出的内存数据的数据量;如果大于,确定磁盘的预测使用率是否大于磁盘使用率参数的取值;响应于确定磁盘的预测使用率不大于磁盘使用率参数的取值,将溢出的内存数据缓存到磁盘。该实施方式提高了数据库的稳定性。

Method and device for caching data

【技术实现步骤摘要】
用于缓存数据的方法和装置
本公开实施例涉及计算机
,具体涉及用于缓存数据的方法和装置。
技术介绍
磁盘作为最底层的存储介质,对数据库来说是非常重要的,当磁盘空间严重不足时,可能会引起数据库所执行的任务失败,更甚者会引起整个数据库宕机。传统的针对磁盘使用空间问题的解决方案是添加对磁盘使用情况的监控告警:当磁盘空间不足,使用率过高时会发出相应告警通知到运维人员,由运维人员人工介入处理。通常,引起磁盘空间不足告警的原因主要分为2类:1)真实的数据量、日志存储超限;2)涉及到聚合(aggregation)、表关联(join)、排序(sort)等操作,当内存不足时会缓存数据到磁盘导致磁盘使用率瞬间可达100%,导致整个集群宕掉。针对第一类原因引起的磁盘空间不足告警,往往是可以提前预测的,因此通过扩容、删除历史数据等操作即可避免。针对第二类原因引起的磁盘空间不足告警,往往是不可以提前预测的,因此难以得到有效解决。
技术实现思路
本公开实施例提出了用于缓存数据的方法和装置。第一方面,本公开实施例提供了一种用于缓存数据的方法,该方法包括:根据第一用户发送的数据操作请求生成数据操作任务;响应于确定执行上述数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定上述磁盘是否存在使用率限制;响应于确定上述磁盘存在使用率限制以及上述磁盘的磁盘空间已满标志的值为假,执行以下操作步骤:确定上述磁盘的剩余空间的容量是否大于溢出的内存数据的数据量;如果上述磁盘的剩余空间的容量大于溢出的内存数据的数据量,确定上述磁盘的预测使用率是否大于上述磁盘使用率参数的取值,其中,上述磁盘的预测使用率是根据溢出的内存数据的数据量以及上述磁盘的磁盘已使用空间、磁盘总空间确定的;响应于确定上述磁盘的预测使用率不大于上述磁盘使用率参数的取值,将溢出的内存数据缓存到上述磁盘。在一些实施例中,上述操作步骤还包括:响应于确定上述磁盘的预测使用率大于上述磁盘使用率参数的取值,针对上述数据操作任务执行任务回滚操作,以及将上述磁盘的磁盘空间已满标志的值设置为真。在一些实施例中,上述操作步骤还包括:如果上述磁盘的剩余空间的容量不大于溢出的内存数据的数据量,针对上述数据操作任务执行任务回滚操作。在一些实施例中,上述方法还包括:响应于确定上述磁盘存在使用率限制以及上述磁盘的磁盘空间已满标志的值为真,针对上述数据操作任务执行任务回滚操作。在一些实施例中,上述方法还包括:响应于针对上述数据操作任务执行任务回滚操作,向上述第一用户所使用的终端发送错误提示信息。在一些实施例中,上述方法还包括:接收第二用户发送的磁盘使用率参数设置请求,其中,上述磁盘使用率参数设置请求包括第二用户的用户信息和参数值;根据上述第二用户的用户信息,确定上述第二用户是否具有参数设置权限;响应于确定上述第二用户具有参数设置权限,确定上述参数值是否为有效值;响应于确定上述参数值为有效值,将上述参数值作为上述磁盘使用率参数的取值。第二方面,本公开实施例提供了一种用于缓存数据的装置,装置包括:生成单元,被配置成根据第一用户发送的数据操作请求生成数据操作任务;确定单元,被配置成响应于确定执行上述数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定上述磁盘是否存在使用率限制;执行单元,被配置成响应于确定上述磁盘存在使用率限制以及上述磁盘的磁盘空间已满标志的值为假,执行以下操作步骤:确定上述磁盘的剩余空间的容量是否大于溢出的内存数据的数据量;如果上述磁盘的剩余空间的容量大于溢出的内存数据的数据量,确定上述磁盘的预测使用率是否大于上述磁盘使用率参数的取值,其中,上述磁盘的预测使用率是根据溢出的内存数据的数据量以及上述磁盘的磁盘已使用空间、磁盘总空间确定的;响应于确定上述磁盘的预测使用率不大于上述磁盘使用率参数的取值,将溢出的内存数据缓存到上述磁盘。在一些实施例中,上述操作步骤还包括:响应于确定上述磁盘的预测使用率大于上述磁盘使用率参数的取值,针对上述数据操作任务执行任务回滚操作,以及将上述磁盘的磁盘空间已满标志的值设置为真。在一些实施例中,上述操作步骤还包括:如果上述磁盘的剩余空间的容量不大于溢出的内存数据的数据量,针对上述数据操作任务执行任务回滚操作。在一些实施例中,上述装置还包括:回滚操作执行单元,被配置成响应于确定上述磁盘存在使用率限制以及上述磁盘的磁盘空间已满标志的值为真,针对上述数据操作任务执行任务回滚操作。在一些实施例中,上述装置还包括:发送单元,被配置成响应于针对上述数据操作任务执行任务回滚操作,向上述第一用户所使用的终端发送错误提示信息。在一些实施例中,上述装置还包括:接收单元,被配置成接收第二用户发送的磁盘使用率参数设置请求,其中,上述磁盘使用率参数设置请求包括第二用户的用户信息和参数值;权限确定单元,被配置成根据上述第二用户的用户信息,确定上述第二用户是否具有参数设置权限;有效值确定单元,被配置成响应于确定上述第二用户具有参数设置权限,确定上述参数值是否为有效值;赋值单元,被配置成响应于确定上述参数值为有效值,将上述参数值作为上述磁盘使用率参数的取值。第三方面,本公开实施例提供了一种服务器,该服务器包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第一方面中任一实现方式描述的方法。第四方面,本公开实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。本公开实施例提供的用于缓存数据的方法和装置,根据第一用户发送的数据操作请求生成数据操作任务,如果确定执行数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定磁盘是否存在使用率限制。如果磁盘存在使用率限制,且磁盘的磁盘空间已满标志的值为假,则执行以下操作步骤:首先,确定磁盘的剩余空间的容量是否大于溢出的内存数据的数据量。如果磁盘的剩余空间的容量大于溢出的内存数据的数据量,则进一步确定磁盘的预测使用率是否大于磁盘使用率参数的取值。如果不大于,则将溢出的内存数据缓存到磁盘,从而通过设置磁盘使用率参数的取值,保证磁盘缓存溢出的内存数据后,磁盘的磁盘使用率也不会大于磁盘使用率参数的取值,进而避免了由于内存数据溢出导致磁盘空间不足,进而引起数据库宕机的问题,从而提高了数据库的稳定性。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:图1是本公开的一个实施例可以应用于其中的示例性系统架构图;图2是根据本公开的用于缓存数据的方法的一个实施例的流程图;图3是根据本公开的用于缓存数据的方法的一个应用场景的示意图;图4是根据本公开的用于缓存数据的方法的又一个实施例的流程图;图5是根据本公开的用于缓存数据的装置的一个实施例的结构示意图;图6是适于用来实现本公开实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术本文档来自技高网...

【技术保护点】
1.一种用于缓存数据的方法,包括:根据第一用户发送的数据操作请求生成数据操作任务;响应于确定执行所述数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定所述磁盘是否存在使用率限制;响应于确定所述磁盘存在使用率限制以及所述磁盘的磁盘空间已满标志的值为假,执行以下操作步骤:确定所述磁盘的剩余空间的容量是否大于溢出的内存数据的数据量;如果所述磁盘的剩余空间的容量大于溢出的内存数据的数据量,确定所述磁盘的预测使用率是否大于所述磁盘使用率参数的取值,其中,所述磁盘的预测使用率是根据溢出的内存数据的数据量以及所述磁盘的磁盘已使用空间、磁盘总空间确定的;响应于确定所述磁盘的预测使用率不大于所述磁盘使用率参数的取值,将溢出的内存数据缓存到所述磁盘。

【技术特征摘要】
1.一种用于缓存数据的方法,包括:根据第一用户发送的数据操作请求生成数据操作任务;响应于确定执行所述数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定所述磁盘是否存在使用率限制;响应于确定所述磁盘存在使用率限制以及所述磁盘的磁盘空间已满标志的值为假,执行以下操作步骤:确定所述磁盘的剩余空间的容量是否大于溢出的内存数据的数据量;如果所述磁盘的剩余空间的容量大于溢出的内存数据的数据量,确定所述磁盘的预测使用率是否大于所述磁盘使用率参数的取值,其中,所述磁盘的预测使用率是根据溢出的内存数据的数据量以及所述磁盘的磁盘已使用空间、磁盘总空间确定的;响应于确定所述磁盘的预测使用率不大于所述磁盘使用率参数的取值,将溢出的内存数据缓存到所述磁盘。2.根据权利要求1所述的方法,其中,所述操作步骤还包括:响应于确定所述磁盘的预测使用率大于所述磁盘使用率参数的取值,针对所述数据操作任务执行任务回滚操作,以及将所述磁盘的磁盘空间已满标志的值设置为真。3.根据权利要求1所述的方法,其中,所述操作步骤还包括:如果所述磁盘的剩余空间的容量不大于溢出的内存数据的数据量,针对所述数据操作任务执行任务回滚操作。4.根据权利要求1所述的方法,其中,所述方法还包括:响应于确定所述磁盘存在使用率限制以及所述磁盘的磁盘空间已满标志的值为真,针对所述数据操作任务执行任务回滚操作。5.根据权利要求2-4任一所述的方法,其中,所述方法还包括:响应于针对所述数据操作任务执行任务回滚操作,向所述第一用户所使用的终端发送错误提示信息。6.根据权利要求1所述的方法,其中,所述方法还包括:接收第二用户发送的磁盘使用率参数设置请求,其中,所述磁盘使用率参数设置请求包括第二用户的用户信息和参数值;根据所述第二用户的用户信息,确定所述第二用户是否具有参数设置权限;响应于确定所述第二用户具有参数设置权限,确定所述参数值是否为有效值;响应于确定所述参数值为有效值,将所述参数值作为所述磁盘使用率参数的取值。7.一种用于缓存数据的装置,包括:生成单元,被配置成根据第一用户发送的数据操作请求生成数据操作任务;确定单元,被配置成响应于确定执行所述数据操作任务的过程中内存数据溢出到作为临时空间的磁盘,根据预先设置的磁盘使用率参数的取值,确定所述磁盘是否存...

【专利技术属性】
技术研发人员:陈再妮罗兴贤
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1