[发明专利]基于Hybrid存储格式的图遍历访存优化方法、系统及电子设备有效
| 申请号: | 201911127994.2 | 申请日: | 2019-11-18 |
| 公开(公告)号: | CN112818179B | 公开(公告)日: | 2022-06-21 |
| 发明(设计)人: | 刘树珍;周家秀;孟金涛;魏彦杰;冯圣中 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
| 主分类号: | G06F16/901 | 分类号: | G06F16/901 |
| 代理公司: | 深圳市科进知识产权代理事务所(普通合伙) 44316 | 代理人: | 曹卫良 |
| 地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 hybrid 存储 格式 遍历 优化 方法 系统 电子设备 | ||
1.一种基于Hybrid存储格式的图遍历访存优化方法,其特征在于:该优化方法具体步骤如下:
步骤a:随机生成存储图数据的邻接矩阵AM;
步骤b:对所述邻接矩阵AM进行图数据处理,生成新存储格式的矩阵hybrid;
步骤c:根据所生成新存储格式的矩阵hybrid,进行BFS搜索完成对图的广度优先搜索;
所述步骤b中的具体处理过程如下:
步骤S21:对邻接矩阵AM进行按行去0化处理,只保留其中的非0元素,并生成稀疏矩阵ELLⅠ;所述稀疏矩阵ELLⅠ包括矩阵Edata和Offset;
矩阵Edata用来存储邻接矩阵AM的非0元素,矩阵Offset用来存储非0元素在邻接矩阵AM中的位置坐标;
步骤S22:选取合适的分割点并分割稀疏矩阵ELLⅠ;矩阵Edata分割成矩阵Edata-L和Edata-R,其中矩阵Edata-L内所有元素都是非零实数;矩阵Offset分割成矩阵Offset-L和Offset-R;
步骤23:根据分割后的稀疏矩阵ELLⅠ生成新存储格式的矩阵hybrid,所述矩阵hybrid包括稀疏矩阵ELLⅡ和稀疏矩阵COO,其中稀疏矩阵ELLⅡ由矩阵Edata-L和矩阵Offset-L组成,稀疏矩阵COO由矩阵Edata-R和Offset-R组成。
2.根据权利要求1所述的基于Hybrid存储格式的图遍历访存优化方法,其特征在于:所述步骤S21中具体包括如下:
步骤211:将有n个顶点的图所对应的邻接矩阵AM的规模记为n*n,分别计算出其中含非0元素最多的一行和最少一行的个数,分别记为max和min;
步骤212:取非0元素最多的一行的个数max,建立两个n*max的矩阵Edata和Offset;
步骤213:根据所述矩阵Edata和Offset生成稀疏矩阵ELLⅠ。
3.根据权利要求1所述的基于Hybrid存储格式的图遍历访存优化方法,其特征在于:所述步骤c中的具体搜索过程如下:
步骤S31:进行顶点定位,搜索起始顶点v0作为矩阵hybrid的行号,所述顶点v0的邻接点为所述矩阵Offset-R中任意一行所包含的值,所述稀疏矩阵COO的行号是所述顶点v0的三元组,所述矩阵hybrid的行号与邻接矩阵的行号一致;
步骤S32:根据所定位的顶点v0,进行BFS搜索完成对图的广度优先搜索。
4.根据权利要求3所述的基于Hybrid存储格式的图遍历访存优化方法,其特征在于:所述步骤S32的具体过程如下:
步骤S321:将所定位的顶点v0设为起始点;
步骤S322:搜索所述起始点对应的全部邻接点,并判断该起始点是否存在邻接点,如果不存在,则搜索完成;如果存在,则选择执行下一步;
步骤S323:判断该起始点的全部邻接点是否已访问完成,如果已完成,则执行下一步;如果未完成,则继续访问直至访问完成后,再执行一步;
步骤S324:选择顶点v0的一个邻接点设置为起始点,重复步骤S322-步骤S323完成操作;
步骤S325:将顶点v0的其余邻接点逐个设置为起始点,并重复步骤S322-步骤S323完成操作,直到完成对图的广度优先搜索。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911127994.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种传入神经元电路及机械感受系统
- 下一篇:飞机钣金拉伸精度控制机构





