公开/公告号CN103714183A
专利类型发明专利
公开/公告日2014-04-09
原文格式PDF
申请/专利权人 浪潮(北京)电子信息产业有限公司;
申请/专利号CN201410012694.0
发明设计人 袁冬;
申请日2014-01-10
分类号G06F17/30;
代理机构北京安信方达知识产权代理有限公司;
代理人王丹
地址 100085 北京市海淀区上地信息路2号2-1号C栋1层
入库时间 2024-02-19 22:49:04
法律状态公告日
法律状态信息
法律状态
2017-02-15
授权
授权
2014-05-07
实质审查的生效 IPC(主分类):G06F17/30 申请日:20140110
实质审查的生效
2014-04-09
公开
公开
技术领域
本发明涉及元数据租约期限的获取机制,尤其涉及一种元数据租约期限 的动态获取方法和系统。
背景技术
在分布式文件系统中,为了减少客户端向元数据服务器端发送的网络请 求次数,客户端通常会将从元数据服务器端请求的元数据暂存在缓存中。为 了保证客户端缓存的元数据与元数据服务器端存储的对应数据一致,需要对 客户端缓存的元数据采用缓存期限管理机制,租约(leases)就是一种常用的 缓存期限管理机制。
租约(leases),相当于合同,即元数据服务器端给予客户端在一定期限内 对所请求的元数据控制修改的权利。客户端从元数据服务器端请求到元数据 的同时获取该元数据的租约。租约内,服务器端如果要修改元数据,需要征 求拥有该元数据租约的客户端同意;如果客户端同意了元数据服务器端的修 改请求,客户端需要清空缓存,重新接收元数据服务器端发送的修改后的数 据。租约到期后,如果客户端还需要读取缓存中的数据,需要重新向元数据 服务器端申请该元数据并获取新的租约,这个操作称为“续约”。
在租约机制中,租约期限的选择是性能的关键。租约期限过小,会加重 客户端的续约开销;租约期限过长,会造成伪共享,即拥有元数据租约的客 户端即便不需要再读取元数据,服务器端对该元数据的操作仍然需要该客户 端的同意。因此,租约的选择需要在最小化续约开销与最小化伪共享之间进 行权衡。
现有元数据服务器端通常采用静态的方法指定元数据的租约期限。元数 据服务器通过分析客户端上的应用对自身访问的频率、并发特征等信息得到 一个元数据租约期限的经验值,并将该元数据租约期限应用于所有客户端的 数据请求。
随着应用操作种类的增多,执行不同应用操作的客户端对不同元数据所 需的占用时间也不尽相同,因此上述对所有元数据均采用相同的租约期限的 方法已不再适用。
发明内容
本发明提供了一种元数据租约期限的动态获取方法和系统,以解决如何 根据客户端上的应用操作确定元数据租约期限的问题。
为解决上述技术问题,本发明提供了一种元数据租约期限的动态获取方 法,所述方法包括:
客户端从应用的操作请求中筛选出元数据请求,所述元数据请求包括元 数据节点和元数据操作类型;
客户端根据元数据操作类型统计操作元数据节点存储的数据所需的时 间;
客户端将所需的时间作为其请求的元数据的租约期限和所述元数据请 求一并发送至元数据服务器。
进一步地,所述客户端根据元数据操作类型统计操作元数据节点存储的 数据所需的时间,包括:
客户端根据元数据节点获取元数据索引节点;
客户端统计为执行该操作所述元数据索引节点从请求到释放的时间跨 度;
客户端将所述时间跨度作为操作元数据节点存储的数据所需的时间。
进一步地,所述方法包括:
当索引到元数据节点需要多个源数据索引节点时,客户端统计所有元数 据索引节点从请求到释放时间跨度的平均值;
客户端将所述时间跨度的平均值作为操作元数据节点存储的数据所需 的时间。
进一步地,所述方法还包括:
元数据服务器将请求的元数据租约期限设定为该元数据的租约期限,在 客户端从元数据节点获取元数据时将设定的元数据租约期限发送给所述客 户端。
为解决上述技术问题,本发明还提供了一种元数据租约期限的动态获取 系统,所述系统包括客户端,所述客户端包括统计模块以及元数据租约期限 请求模块,其中,
所述统计模块,用于从应用的操作请求中筛选出元数据请求,所述元数 据请求包括元数据节点和元数据操作类型,并根据元数据操作类型统计操作 元数据节点存储的数据所需的时间,将统计结果发送至元数据租约期限请求 模块;
所述元数据租约期限请求模块,用于与元数据服务器进行交互,将统计 的时间作为客户端向元数据服务器请求的元数据租约期限和所述元数据请 求一并发送至元数据服务器。
进一步地,所述统计模块,用于根据元数据的操作类型统计操作元数据 节点存储的数据所需的时间,包括:
根据元数据节点获取元数据索引节点;
统计为执行该操作所述元数据索引节点从请求到释放的时间跨度;
将所述时间跨度作为操作元数据节点存储的数据所需的时间。
进一步地,
所述统计模块,用于在索引到元数据节点需要多个源数据索引节点时, 统计所有元数据索引节点从请求到释放时间跨度的平均值,将所述时间跨度 的平均值作为操作元数据节点存储的数据所需的时间。
进一步地,所述系统还包括元数据服务器;
所述元数据服务器,用于将请求的元数据租约期限设定为该元数据的租 约期限,在客户端从元数据节点获取元数据时将设定的元数据租约期限发送 给所述客户端。
上述技术方案对元数据租约期限的获取过程基于对元数据的实际操作, 相对于现有技术给出的经验元数据租约期限,更加准确;并且,上述技术方 案给出的针对元数据操作类型的元数据租约期限,能够满足客户端在不同应 用操作下对元数据的要求。
附图说明
图1为本实施例的元数据租约期限的动态获取方法流程图;
图2为本实施例的元数据租约期限的动态获取系统组成图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图 对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申 请中的实施例及实施例中的特征可以相互任意组合。
图1为本实施例的元数据租约期限的动态获取方法流程图。
S101客户端从应用的操作请求中筛选出元数据请求,所述元数据请求包 括元数据节点和元数据操作类型;
如,应用要进行修改文件的操作,客户端从应用发送的修改文件操作请 求中筛选出打开文件操作和关闭文件操作的元数据请求;
S102客户端根据元数据操作类型统计操作元数据节点存储的数据所需 的时间;
客户端根据元数据节点获取元数据索引节点;所述元数据索引节点存储 在客户端上;客户端统计为执行该元数据操作所述元数据索引节点从请求到 释放的时间跨度;客户端将所述时间跨度作为操作元数据节点存储的数据所 需的时间;
如,客户端获取到打开文件操作和关闭文件操作的元数据请求中包含的 元数据节点后,确定索引到所述元数据节点的元数据索引节点;记录该索引 节点(记为n1)被请求的时间(记为t1),以及该索引节点n1被释放的时 间(记为t2),则时长(t2-t1)即为元数据索引节点从请求到释放的时间跨 度;
当索引到元数据节点需要多个源数据索引节点时,客户端可以统计所有 元数据索引节点从请求到释放时间跨度的平均值,将所述时间跨度的平均值 作为操作元数据节点存储的数据所需的时间;
上述统计结果可以先写入内存,然后通过后台的异步线程保存到磁盘 中,方便后续读取;
S103客户端将所需的时间作为其请求的元数据的租约期限和所述元数 据请求一并发送至元数据服务器;
元数据服务器将请求的元数据租约期限设定为该元数据的租约期限,在 客户端从元数据节点获取元数据时将设定的元数据租约期限发送给所述客 户端。
在其他实施例中,客户端确定请求的元数据租约期限时,除考虑元数据 索引节点从请求到释放的时间跨度外,还可考虑客户端和服务器间的传输时 延,以使请求的元数据租约期限更加贴近实际操作元数据节点存储的数据的 时间。
上述实施例对元数据租约期限的获取过程基于对元数据的实际操作,相 对于现有技术给出的经验元数据租约期限,更加准确;并且,上述实施例给 出了针对元数据操作类型的元数据租约期限,能够满足客户端在不同应用操 作下对元数据的要求。
图2为本实施例的元数据租约期限的动态获取系统组成图。
该系统包括客户端,所述客户端包括统计模块以及元数据租约期限请求 模块,其中,
所述统计模块,用于从应用的操作请求中筛选出元数据请求,所述元数 据请求包括元数据节点和元数据操作类型,并根据元数据操作类型统计操作 元数据节点存储的数据所需的时间,将统计结果发送至元数据租约期限请求 模块;
上述统计模块根据元数据操作类型统计操作元数据节点存储的数据所 需的时间具体包括:根据元数据节点获取元数据索引节点;统计为执行该操 作所述元数据索引节点从请求到释放的时间跨度;将所述时间跨度作为操作 元数据节点存储的数据所需的时间;
上述统计模块在索引到元数据节点需要多个源数据索引节点时,统计所 有元数据索引节点从请求到释放时间跨度的平均值,将所述时间跨度的平均 值作为操作元数据节点存储的数据所需的时间;
所述元数据租约期限请求模块,用于与元数据服务器进行交互,将统计 的时间作为客户端向元数据服务器请求的元数据租约期限和所述元数据请 求一并发送至元数据服务器。
上述元数据租约期限的动态获取系统还可包括元数据服务器,用于将请 求的元数据租约期限设定为该元数据的租约期限,在客户端从元数据节点获 取元数据时将设定的元数据租约期限发送给所述客户端。
上述实施例对元数据租约期限的获取过程基于对元数据的实际操作,相 对于现有技术给出的经验元数据租约期限,更加准确;并且,上述实施例给 出了针对元数据操作类型的元数据租约期限,能够满足客户端在不同应用操 作下对元数据的要求。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程 序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只 读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使 用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采 用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于 任何特定形式的硬件和软件的结合。
需要说明的是,本发明还可有其他多种实施例,在不背离本发明精神及 其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变 和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范 围。
机译: 一种用于从封装的比特流中获取媒体数据和元数据的方法,设备和计算机程序,其中可以动态设置操作点描述符
机译: 一种用于从封装的比特流中获取媒体数据和元数据的方法,设备和计算机程序产品,可从该封装的比特流中动态设置工作点描述符
机译: 音频再现设备,用于音频再现设备的元数据获取系统和用于音频再现设备的元数据获取方法