[发明专利]层级数据管理方法、层级数据管理系统及即时通信系统有效
申请号: | 201610680284.2 | 申请日: | 2016-08-17 |
公开(公告)号: | CN107766355B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 王家彬;周海发;杨磊 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F16/28 | 分类号: | G06F16/28 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;贾允 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 层级 数据管理 方法 系统 即时 通信 | ||
1.一种层级数据管理方法,其特征在于,包括:
以键值对的形式将第一层级数据存储于非关系型数据库中,所述第一层级数据为树型结构数据;在所述非关系型数据库中,一个键值对表示一棵树,树的根节点作为键,树的所有节点以及节点之间的层级关系以邻接表的方式存储于键对应的值;
将所述第一层级数据读入内存,并在内存中对所述第一层级数据进行重新组织,生成第二层级数据;
在内存中创建缓存,将所述第二层级数据存储于所述缓存,并使用缓存淘汰算法对所述第二层级数据进行管理。
2.根据权利要求1所述的一种层级数据管理方法,其特征在于,通过关联容器对所述第二层级数据进行重新组织。
3.根据权利要求2所述的一种层级数据管理方法,其特征在于,通过映射表和多重映射表对所述第二层级数据进行组织,所述映射表和所述多重映射表底层依托于平衡树存储数据,所述映射表中存储的是子节点到父节点的映射关系,所述多重映射表存储的是父节点到子节点的多重映射关系。
4.根据权利要求2所述的一种层级数据管理方法,其特征在于,通过无序映射表和无序多重映射表对所述第二层级数据进行组织;所述无序映射表和所述无序多重映射表底层依托于散列表存储数据,所述无序映射表中存储的是子节点到父节点的映射关系,所述无序多重映射表存储的是父节点到子节点的多重映射关系。
5.根据权利要求1所述的一种层级数据管理方法,其特征在于,通过最近最久未使用算法对缓存中的第二层级数据进行管理。
6.根据权利要求1-5中任意一项所述的一种层级数据管理方法,其特征在于,对所述层级数据的查询方法包括:
对第二层级数据进行查询:若获得查询结果,则输出查询结果;否则,
对第一层级数据进行查询:若获得查询结果,则输出查询结果,构建所述查询结果对应的第二层级数据,并根据构建的结果对缓存中的第二层级数据进行更新;否则,查询失败。
7.根据权利要求1-5中任意一项所述的一种层级数据管理方法,其特征在于,对所述层级数据的变更方法包括:
获取待变更的第一层级数据;
对所述第一层级数据进行变更,并将变更后的第一层级数据写入所述非关系型数据库;
对变更后的第一层级数据进行重新组织,构建与变更后的第一层级数据对应的第二层级数据,并根据构建的结果对缓存中的第二层级数据进行更新。
8.一种层级数据管理系统,其特征在于,包括:
第一层级数据管理模块,用于以键值对的形式将第一层级数据存储在非关系型数据库中;在所述非关系型数据库中,一个键值对表示一棵树,树的根节点作为键,树的所有节点以及节点之间的层级关系以邻接表的方式存储于键对应的值;
第二层级数据构建模块,用于将所述第一层级数据读入内存,并在内存中对所述第一层级数据进行重新组织,生成第二层级数据;
缓存管理模块,用于在内存中创建缓存,将所述第二层级数据存储于所述缓存,并使用缓存淘汰算法对所述第二层级数据进行管理。
9.根据权利要求8所述的一种层级数据管理系统,其特征在于,还包括接口模块,所述接口模块包括用于进行层级数据管理的相关接口。
10.根据权利要求9所述的一种层级数据管理系统,其特征在于,所述接口模块包括查询接口、删除接口和/或插入接口。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610680284.2/1.html,转载请声明来源钻瓜专利网。