【技术实现步骤摘要】
一种基于数字对象的标识解析数据缓存方法与装置
[0001]本申请涉及数据存储领域,特别是涉及一种基于数字对象的标识解析数据缓存方法与装置。
技术介绍
[0002]数字对象架构(Digital Object Architecture,DOA)是一种技术和标准体系。数字对象架构包括一个基本的数据模型,两个标准协议以及三个核心子系统:注册表、仓库和标识解析系统。数字对象架构中,将现有互联网中不同系统的异构数据,统一建模抽象成数字对象,作为数字对象体系中的基本元素。数字对象由标识、元数据、数据实体三个部分组成,标识是数字对象的唯一身份标记;元数据表示数字对象和应用、分类、业务相关的描述信息,用于根据应用需求检索所需数字对象;数字对象实体则代表了数据资源实际的内容。
[0003]在数字对象架构中,用户不能直接访问数字对象的实体,而是需要通过数字对象的全网唯一标识,从数字对象的管理者处获取该数字对象的状态信息,进而通过状态信息访问该数字对象的实体。在没有缓存的情况下,当数字对象的标识被大量重复地请求解析时,会造成网络资源浪费严重、用户访问延迟高的问题。
[0004]目前的标识解析系统大都设置专门的缓存节点对网络中的标识解析数据进行集中管理,但是,当大量的解析数据需要缓存时,缓存节点会收到大量数据包,而当大量的用户发起标识解析请求时,缓存节点会收到大量的请求信息,在这种情况下解析节点的网络负荷巨大,极易发生拥堵甚至宕机。因此,需要找到一种能够避免网络拥堵,降低用户访问的延迟,并且能够减少网络资源浪费的标识解析数据的 ...
【技术保护点】
【技术特征摘要】
1.一种基于数字对象的标识解析数据缓存方法,其特征在于,包括:设置树状层级结构的标识解析系统,包括端节点、域节点以及根节点;所述根节点与其下属的域节点直接通信;所述域节点与其上级的根节点直接通信,还与其下属的端节点直接通信;所述端节点对数字对象的标识进行管理,并与用户直接通信;根据提供者上传的数据资源的状态信息,在端节点中为所述数据资源分配全网唯一的标识,作为解析数据的对应信息;所述解析数据为用户对所述标识进行解析得到的所述状态信息;所述状态信息包括:所述数字对象的本体数据的存储位置、访问方式、所有者、时间戳以及访问相关的信息;所述标识为所述提供者自定的标识或随机生成的标识;将所述标识作为所述状态信息中的字段,与所述状态信息绑定生成键值对,并持久化存储至数据库中;将所述状态信息作为与所述标识对应的解析数据,缓存在所述端节点中;当用户第一次发送所述标识的解析请求时,将所述解析请求路由至所述端节点处命中缓存,从所述命中缓存的节点的缓存中获取所述解析数据,并按照所述解析请求的路径返回给用户;将所述解析数据缓存在返回路径上当前命中缓存的节点的下一跳节点中;当用户再次发送所述标识的解析请求时,将所述解析请求路由至所述下一跳节点处命中缓存,从所述命中缓存的节点向用户返回所述解析数据,并将所述解析数据缓存到所述返回路径上当前命中缓存的节点的下一跳节点中;根据用户每一次发送的对所述标识的解析请求,在所述返回路径上的节点中依次缓存所述解析数据,直到离用户最近的端节点中缓存有所述解析数据。2.根据权利要求1所述的基于数字对象的标识解析数据缓存方法,其特征在于,还包括:当所述解析数据缓存到当前命中缓存的节点的下一跳节点中时,删除所述当前命中缓存的节点的缓存中的所述解析数据。3.根据权利要求2所述的基于数字对象的标识解析数据缓存方法,其特征在于,还包括:当任一节点的缓存中,所述解析数据的存在时间超过设定的生存时间时,从所述端节点中重新获取所述标识对应的最新解析数据,并更新所述节点的缓存。4.根据权利要求2所述的基于数字对象的标识解析数据缓存方法,其特征在于,还包括:在任一节点的缓存中,按照解析数据中的时间戳对所有解析数据进行排序;所述时间戳表示所述解析数据最近被访问的时间;当所述节点的缓存容量被占满后,用新加入缓存的解析数据替换当前的缓存中时间戳最早的解析数据。5.根据权利要求1所述的基于数字对象的标识解析数据缓存方法,其特征在于,在端节点中为所述数据资源分配全网唯一的标识,作为解析数据的对应信息,包括:判断所述状态信息中是否包含用户自定标识,若不包含,则随机生成一个标识,并判断所述标识是否已被其他数字对象使用;若所述标识已被其他数字对象使用,则重新随机生成一个标识;
若所述标识未被其他数字对象使用,则将所述标识分配给所述数字对象;若所述状态信息中包含用户自定标识,判断所述用户自定标识是否已被其他数字对象使用,若所述用户自定标识已被其他数字对象使用,则向用户分配随机生成的标识;若所述用户自定标识未被其他数字对象使用,则将所述用户自定标识作...
【专利技术属性】
技术研发人员:景翔,黄罡,杨婧如,马郓,蔡华谦,
申请(专利权)人:北京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。