[发明专利]基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备有效
申请号: | 201911127994.2 | 申请日: | 2019-11-18 |
公开(公告)号: | CN112818179B | 公开(公告)日: | 2022-06-21 |
发明(设计)人: | 刘树珍;周家秀;孟金涛;魏彦杰;冯圣中 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 深圳市科进知识产权代理事务所(普通合伙) 44316 | 代理人: | 曹卫良 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hybrid 存储 格式 遍历 优化 方法 系统 电子设备 | ||
本发明涉及图计算技术领域,公开了一种基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备。该优化方法通过随机生成存储图数据的邻接矩阵AM;并对所述邻接矩阵AM进行图数据处理,生成新存储格式的矩阵hybrid;最后根据所生成的新存储格式的矩阵hybrid,进行BFS搜索完成对图的广度优先搜索。本发明是采用新存储格式的矩阵hybrid去存储图数据,有效的解决现有的各种存储图的数据结构在图遍历算法中,存在的内存消耗太大或数组溢出等问题。
技术领域
本发明涉及图计算技术领域,更具体的说,特别涉及一种基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备。
背景技术
图是一种很重要的数据结构,现实中很多问题都可以抽象规约成图计算问题后再进一步处理。实际中很少使用到全图,稠密图的应用也比较稀少,现实中大多数图都是稀疏图,尤其是大规模图计算中涉及到的图是极其稀疏的。
广度优先搜索算法(Breadth-First Search,BFS)是图计算的一种经典算法,也是一种盲目搜索的图计算方法,它不考虑结果的可能位置,是彻底的搜索整个图,目的是从某个点开始系统的展开并遍历该图中的所有顶点,直到找到结果为止。BFS是最简便的图遍历算法之一,也是许多图遍历算法的原型。现实中很多问题可以抽象成图计算问题,图计算广泛应用于通信、交通、生物医疗等行业。目前分析图形网络中的顶点数量已从数十亿增长到数百亿,边缘从数百亿增长到数千亿,需要的存储空间也越来越大。
广度优先搜索算法已经研究了近六十年,从1959年开始,Moore在研究通过迷宫寻找路径的问题时第一次发现了广度优先搜索(BFS)的并行算法。1961年,C.Y.Lee在电路板上布线的情况下独立地发现了相同的算法。从那以后,许多高校以及研究机构不断探索了各种高效BFS算法,希望通过优化算法本身或修改图的数据结构,使得广度优先搜索算法(BFS)的搜索速度更快,消耗的存储更小,使得BFS算法取得了很大的进步。比较经典的存储图的结构有邻接矩阵、邻接表、稀疏矩阵csr,但依然存在如下问题:
(1)邻接矩阵是最早用于存储图的一种经典的数据结构,可以快速的判断两个顶点之间是否存在边,方便计算顶点的度以及读取数据;可以灵活的添加和删除边,计算复杂度低,它的消耗时间是O(n)。
(2)邻接表只存储实际的边是一种数组与链表相结合的存储结构,图中顶点用一个一维数组存储,其中任一顶点v_i的所有邻接点构成一个线性表,由于邻接点的个数不定,所以用单链表存储。线性表中的每个结点包括一个data和firstedge两个域,data是数据域,存储顶点的信息;firstedge是指针域,指向边表的第一个结点,即此顶点的第一个邻接点。边表结点由adjvex和next两个域组成,adjvex是邻接点域,存储某顶点的邻接点在顶点表中的下标;next则存储指向边表中下一个结点的指针。对于一个有n个顶点e条边的有向图邻接表的时间复杂度是O(n+e),无向图的时间复杂度是O(n+2e)。邻接表在实际应用中使用相对较多,但是由于内存数据对其的原则对于一些顶点之间邻接点个数相差大的图,使用邻接表同样会浪费大量的内存空间。
(3)csr是一种压缩存储方式,它对内存的消耗是最小的,csr把二维矩阵压缩成三个一位数组,分别使用数值、列号以及行偏移。csr不是三元组,而是整体的编码方式。CSR使用三个一维数组存储图的每一条边的数据信息,是一种很好的压缩结构,但是难以切片,当边数很大的时候容易出现数据溢出的问题。
以无向图G=(V,E)为例,当边数时,考虑到邻接表中要附加链域,邻接矩阵是最好的存储方法。当边数e<<n2,稀疏矩阵csr适用于图极其稀疏的情况下,即边数时。
发明内容
本发明的目的在于针对现有技术存在的技术问题,提供一种基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备,能够有效的解决现有的各种存储图的数据结构在图遍历算法中,存在的内存消耗太大或数组溢出等问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911127994.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种传入神经元电路及机械感受系统
- 下一篇:飞机钣金拉伸精度控制机构