[发明专利]图数据库缓存方法、装置、电子设备和可读存储介质有效
| 申请号: | 202210781029.2 | 申请日: | 2022-07-05 |
| 公开(公告)号: | CN114860783B | 公开(公告)日: | 2022-09-27 |
| 发明(设计)人: | 高昆仑;陈国宝;赵保华;乔贵邠;张亮;周飞;林剑超 | 申请(专利权)人: | 国网智能电网研究院有限公司;方图数据(北京)软件股份有限公司 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F3/06 |
| 代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 马永芬 |
| 地址: | 102209 北京*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 缓存 方法 装置 电子设备 可读 存储 介质 | ||
1.一种图数据库缓存方法,其特征在于,所述方法包括:
获取多个采样得到的采样点对象和采样边对象;
获取每一所述采样点对象和所述采样边对象的内存空间占用;
计算所述采样点对象的平均内存空间占用和所述采样边对象的平均内存空间占用;
基于所述采样点对象的平均内存空间占用和所述采样边对象的平均内存空间占用以及缓存空间的大小,确定所述缓存空间中可容纳的最大点对象数目和最大边对象数目;
基于所述最大点对象数目和所述最大边对象数目进行缓存;
其中,所述基于所述最大点对象数目和所述最大边对象数目进行缓存,包括:
选取度数最大的第一点对象;
获取所述第一点对象的边对象、所述第一点对象的N层邻居节点以及所述N层邻居节点的边对象,并进行缓存,N为正整数;
判断已经缓存的点对象、边对象是否达到所述最大点对象数目、所述最大边对象数目;
若尚未达到,则获取第二点对象、所述第二点对象的边对象、所述第二点对象的M层邻居节点以及所述M层邻居节点的边对象,并进行缓存;其中,M为正整数,所述第二点对象为尚未缓存的点对象中度数最大的点对象或者除所述第一点对象外的全部点对象中度数最大的点对象。
2.根据权利要求1所述的方法,其特征在于,所述获取每一所述采样点对象和所述采样边对象的内存空间占用,包括:
针对每一采样对象,获取以下至少之一项的内存空间占用,并合计得到所述采样对象的内存空间占用:
所采样对象在内存中对象的头部分;
所述采样对象在内存中的标识;
所述采样对象的引用;
所述采样对象的对齐空间;
所述采样对象的属性;
其中,所述采样对象包括所述采样点对象和所述采样边对象。
3.根据权利要求1所述的方法,其特征在于,所述基于所述最大点对象数目和所述最大边对象数目进行缓存之前,还包括:
在点对象和/或边对象发生变更时,根据变更所涉及的点对象在变更后的度数调整变更所涉及的点对象的度数索引;
其中,所述变更包括加入、修改和删除。
4.根据权利要求1所述的方法,其特征在于,所述基于所述最大点对象数目和所述最大边对象数目进行缓存之后,还包括以下至少之一:
每次读、写操作所针对的第一数据对象若未缓存,则对读、写操作后的所述第一数据对象进行缓存;
若读、写操作所针对的第二数据对象不存在,则在缓存空间进行标识以指示所述第二数据对象不存在;
其中,所述第一数据对象和所述第二数据对象包括点对象、边对象。
5.根据权利要求1所述的方法,其特征在于,点对象和边对象分别对应一个热数据缓存序列和一个冷数据缓存序列;
所述方法还包括以下至少之一:
对于刚缓存的点对象或边对象,加入对应的所述冷数据缓存序列;
对于所述冷数据缓存序列中的点对象或边对象,若被访问,则移入对应的所述热数据缓存序列;
所述热数据缓存序列中的点对象或边对象按照第一预设规则出列后,移入对应的所述冷数据缓存序列;
所述冷数据缓存序列中的点对象或边对象按照第二预设规则出列后,移出缓存;
对于所述冷数据缓存序列中的点对象,若存在处于所述热数据缓存序列的邻接边对象,则在对应的所述冷数据缓存序列中前移位置;
对于所述冷数据缓存序列中的边对象,若存在处于所述热数据缓存序列的邻接点对象,则在对应的所述冷数据缓存序列中前移位置。
6.根据权利要求5所述的方法,其特征在于,所述第一预设规则和所述第二预设规则为最近最少使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网智能电网研究院有限公司;方图数据(北京)软件股份有限公司,未经国网智能电网研究院有限公司;方图数据(北京)软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210781029.2/1.html,转载请声明来源钻瓜专利网。





