一种OSDMap缓存容器的更新方法、装置及终端制造方法及图纸

技术编号:19933637 阅读:18 留言:0更新日期:2018-12-29 04:21
本发明专利技术公开了一种OSDMap缓存容器的更新方法,包括:当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号;利用机器学习算法对该版本号进行分析,得到预判版本号;查询OSDMap缓存容器中是否存在预判版本号;若否,则生成预判版本号对应的OSDMap并将OSDMap插入到OSDMap缓存容器中;该方法能够主动预测用户所需版本的OSDMap,并提前将对应的OSDMap插入到OSDMap缓存容器中,进而避免用户在需要使用时进行查询、构造、反序列化等操作,大幅度提高运行效率。本发明专利技术还公开了一种OSDMap缓存容器的更新装置、终端及计算机可读存储介质,同样具有上述有益效果。

【技术实现步骤摘要】
一种OSDMap缓存容器的更新方法、装置及终端
本专利技术涉及分布式文件系统领域,特别涉及一种OSDMap缓存容器的更新方法、装置、终端及计算机可读存储介质。
技术介绍
分布式文件系统中的OSD模块简称OSD,其中,OSD(Object-basedStorageDevice,对象存储设备)。OSD在处理PG(PlacementGroup,归置组可以理解为数据分布的一种逻辑单元)相关业务以及其他OSD的请求时需要获取OSDMap。OSDMap可以理解为一个数据结构,其包括Pool集合(可以理解为对象池),副本数,PG数量,OSD集合和OSD状态等信息。现有技术中OSD获取OSDMap的方式是从存储OSDMap的一个作为缓存的容器(map_cache可以称之为OSDMap缓存容器)中得到的。该数据结构是一个指定大小的、特殊的Map结构,该Map的key为版本号,value为对应版本的OSDMap。目前,该Map配置大小为200,即最多存储200个版本的OSDMap。当OSD想获取某个版本的OSDMap,当该版本OSDMap并不存在于OSDMap缓存容器中时,就会从本地数据库中查询该版本OSDMap,在从数据库中查询到该版本OSDMap以后就会构造一个OSDMap结构,并根据数据库中的数据对新构造的OSDMap结构进行反序列化,这样就得到一个OSD所需要版本的OSDMap了,该OSDMap最终会被插入到OSDMap缓存容器中。由于本地数据库是存储在物理磁盘中,因此查询数据库得到对应版本OSDMap的过程会比较慢,并且反序列化过程也比较慢。所以当OSD需要获取某个不在OSDMap缓存容器中的OSDMap时就会影响执行效率。
技术实现思路
本专利技术的目的是提供一种OSDMap缓存容器的更新方法、装置、终端及计算机可读存储介质,能够省掉了查询数据库、构造以及反序列化消耗的时间,提高系统运行效率。为解决上述技术问题,本专利技术提供一种OSDMap缓存容器的更新方法,包括:当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号;利用机器学习算法对所述历史访问OSDMap的版本号进行分析,得到预判版本号;查询所述OSDMap缓存容器中是否存在所述预判版本号;若否,则生成所述预判版本号对应的OSDMap并将所述OSDMap插入到所述OSDMap缓存容器中。可选的,所述更新方法还包括:通过确定启动定时器中的数值为预设值来检测所述预设事件。可选的,所述历史访问OSDMap的版本号的生成方式,包括:对每次用户访问的OSDMap的版本号进行统计,形成所述历史访问OSDMap的版本号。可选的,所述利用机器学习算法对所述版本号进行分析,得到预判版本号,包括:利用机器学习的线性回归算法对所述版本号进行分析,得到预判版本号。可选的,生成所述预判版本号对应的OSDMap,包括:利用本地数据库构造所述预判版本号对应的OSDMap结构;对所述OSDMap结构进行反序列化生成OSDMap所述预判版本号对应的OSDMap。本专利技术还提供一种OSDMap缓存容器的更新装置,包括:数据获取模块,用于当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号;预判断模块,用于利用机器学习算法对所述历史访问OSDMap的版本号进行分析,得到预判版本号;查询模块,用于查询所述OSDMap缓存容器中是否存在所述预判版本号;更新模块,用于若所述OSDMap缓存容器中不存在所述预判版本号,则生成所述预判版本号对应的OSDMap并将所述OSDMap插入到所述OSDMap缓存容器中。可选的,所述更新装置还包括:预设事件检测模块,用于通过确定启动定时器中的数值为预设值来检测所述预设事件。可选的,所述预判断模块具体为利用机器学习的线性回归算法对所述版本号进行分析,得到预判版本号的模块。本专利技术还提供一种终端,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述任一项所述的OSDMap缓存容器的更新方法的步骤。本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的OSDMap缓存容器的更新方法的步骤。本专利技术所提供的一种OSDMap缓存容器的更新方法,包括:当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号;利用机器学习算法对历史访问OSDMap的版本号进行分析,得到预判版本号;查询OSDMap缓存容器中是否存在预判版本号;若否,则生成预判版本号对应的OSDMap并将OSDMap插入到OSDMap缓存容器中。可见,该方法通过机器学习算法能够主动预测用户所需版本的OSDMap,并在OSDMap缓存容器中不存在该预判版本号时,提前将对应的OSDMap插入到OSDMap缓存容器中,进而避免用户在需要使用该预判版本对应的OSDMap时才进行查询、构造、反序列化等操作,大幅度提高运行效率。本专利技术还提供了一种OSDMap缓存容器的更新装置、终端及计算机可读存储介质,同样具有上述有益效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例所提供的OSDMap缓存容器的更新方法的流程图;图2为本专利技术实施例所提供的OSDMap缓存容器的更新装置的结构框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本实施例中为了避免现有技术中当OSDMap缓存容器中不存在用户所需要版本的OSDMap时,需要在OSDMap缓存容器中插入对应版本的OSDMap过程中存在的查询、构造以及反序列化过程,而这一过程速度较慢,因此会影响执行效率。本实施例中通过机器学习算法及时更新OSDMap缓存容器中的OSDMap,使得用户未来可能使用到的版本的OSDMap提前插入到OSDMap缓存容器中,进而避免在使用时才进行插入的过程,进而克服现有技术中的缺点。具体请参考图1,图1为本专利技术实施例所提供的OSDMap缓存容器的更新方法的流程图;该更新方法可以包括:S101:当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号。具体的,本实施例中并不对预设事件的具体内容进行限定。例如可以是接收到触发更新操作的信号;也可以是通过计时器等设置预设周期的脚本来触发更新操作;也可以是在历史访问OSDMap的版本号更新时触发更新操作;当然也可以是它们之间的结合,例如在历史访问OSDMap的版本号更新时启动器,在预设周期后执行后续操作,实现对OSDMap缓存容器的更新。对应的本实施例中也不对检测到触发更新操作的预设事件的方式进行限定,其需要与对应的预设事件的具体内容相对应。例如当预设事件为接收到触发更新操作的信号本文档来自技高网
...

【技术保护点】
1.一种OSDMap缓存容器的更新方法,其特征在于,包括:当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号;利用机器学习算法对所述历史访问OSDMap的版本号进行分析,得到预判版本号;查询所述OSDMap缓存容器中是否存在所述预判版本号;若否,则生成所述预判版本号对应的OSDMap并将所述OSDMap插入到所述OSDMap缓存容器中。

【技术特征摘要】
1.一种OSDMap缓存容器的更新方法,其特征在于,包括:当检测到触发更新操作的预设事件时,获取历史访问OSDMap的版本号;利用机器学习算法对所述历史访问OSDMap的版本号进行分析,得到预判版本号;查询所述OSDMap缓存容器中是否存在所述预判版本号;若否,则生成所述预判版本号对应的OSDMap并将所述OSDMap插入到所述OSDMap缓存容器中。2.根据权利要求1所述的OSDMap缓存容器的更新方法,其特征在于,还包括:通过确定启动定时器中的数值为预设值来检测所述预设事件。3.根据权利要求1所述的OSDMap缓存容器的更新方法,其特征在于,所述历史访问OSDMap的版本号的生成方式,包括:对每次用户访问的OSDMap的版本号进行统计,形成所述历史访问OSDMap的版本号。4.根据权利要求1至3任一项所述的OSDMap缓存容器的更新方法,其特征在于,所述利用机器学习算法对所述版本号进行分析,得到预判版本号,包括:利用机器学习的线性回归算法对所述版本号进行分析,得到预判版本号。5.根据权利要求4所述的OSDMap缓存容器的更新方法,其特征在于,生成所述预判版本号对应的OSDMap,包括:利用本地数据库构造所述预判版本号对应的OSDMap结构;对所述OSDMap结构进行反序列化生成OSDMap所述预判版本号对应的...

【专利技术属性】
技术研发人员:王庆海
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1