CN109726314A - 基于位图的稀疏矩阵压缩存储方法 - Google Patents
基于位图的稀疏矩阵压缩存储方法 Download PDFInfo
- Publication number
- CN109726314A CN109726314A CN201910003370.3A CN201910003370A CN109726314A CN 109726314 A CN109726314 A CN 109726314A CN 201910003370 A CN201910003370 A CN 201910003370A CN 109726314 A CN109726314 A CN 109726314A
- Authority
- CN
- China
- Prior art keywords
- rowstarts
- array
- bitmap
- turn
- offset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于位图的稀疏矩阵压缩存储方法,目的是减少存储空间,扩大图的规模,优化采用图结构的应用程序的性能。技术方案为:仅保留存储一个或者多个顶点或边的起始位置来压缩图的邻接矩阵按行压缩存储数据结构,并使用一个额外的位图来识别顶点的边信息。具体方法包括:读取图的邻接矩阵按行压缩存储数据结构,构建改进型位数组,计算偏移量,构建位图数组,由改进型位数组和位图数组压缩存储行数组全部信息。本发明建立的位图数组可以进一步压缩图的存储空间,可以将每个非零元的表示信息大小由32bit降低至1bit;可以将图数据存储空间节约近60%,可以扩大图的应用规模,优化采用图结构的应用程序的性能。
Description
技术领域
本发明涉及大数据存储方法,尤指基于位图的稀疏矩阵压缩方法。
背景技术
图结构是大数据应用中最重要的数据结构之一,在众多领域中得到广泛的应 用,如社交媒体、生物信息学、天体物理学、人工智能、数据挖掘、智能推荐、 自然灾害预测等等。这些应用的共同特点是数据量大和结构复杂,往往可以达到 数十亿条边和数万亿个节点,这导致在数据存储和计算力方面有更高的需求。超 级计算机主要用于数值计算,大多数高性能计算机的基准测试都是以计算力作为 衡量标准,如Top 500采用的HPL(HighPerformance Linpack)。在数据密集型 应用广泛兴起的大数据时代,Graph 500成为了一个新的超级计算机计算力的基 准测试程序。Graph 500作为Top500的重要补充,以每秒遍历图中的边的数量 (TEPS)来衡量超级计算机的大数据处理能力。
Graph500中图遍历采用宽度优先搜索即BFS(breadth-first search)算法。宽 度优先搜索算法可描述为:已知图G=(V,E)和一个源顶点s,宽度优先搜索将 探寻G的所有边,从而发现s所能到达的所有顶点,并计算s到所有这些顶点的 距离(最少边数),该算法同时能生成一棵根为s且包括所有可达顶点的宽度优 先树,对从s可达的任意顶点v,宽度优先树中从s到v的路径对应于图G中从s 到v的最短路径。
图G=(V,E)包含顶点集合V和边集合E,通常使用vi表示V中编号为i的顶 点,使用顶点对(vi,vj)表示顶点i到顶点j的边,(vi,vj)∈E, 0≤i≤NV-1,0≤i≤NV-10≤j≤NV-1,NV为V中顶点个数。G通常用邻接矩 阵A表示,A中的第i行Ai为邻接表。如图1所示,形如图1(a)图G可用图 1(b)的邻接矩阵A表示,A中第i行第j列的元素Aij表示边(vi,vj)。通常使用1 表示存在这样的边,0表示不存在这样的边。
大部分从现实问题抽象出来的图中,顶点的邻居数往往远小于顶点总数,即 顶点的平均度数较低,其邻接矩阵为稀疏矩阵。稀疏矩阵可以使用按行压缩 (CompressedSparse Row,CSR)的方式来存储以扩大图的测试规模。CSR使用 列数组colums和行数组rowstarts来表示邻接矩阵,colums存储按行压缩的列标 号,rowstarts存储对应行在colums中的索引位置,如图2所示。colums中的标 号邻接矩阵A对应非零元素的列标号,如:第一个数字4表示第一个非零元的列 标号为4,第二个数字5表示第二个非零元的列标号为5,第三个数字3表示第 三个非零元的列标号为3,第四个数字1表示第四个非零元的列标号为1; rowstarts中的索引位置对应A中非零元的行标号相对偏移,即对应行中非零元 的个数,如:第二个数字2和第一个数字0表示A中第0行中非零元的个数为 2-0=2个,第三个数字2和第二个数字2表示A中第1行中非零元的个数为2-2=0 个,第四个数字2和第三个数字2表示A中第2行中非零元的个数为2-2=0个, 第五个数字2和第四个数字2表示A中第3行中非零元的个数为2-2=0个,第六 个数字2和第五个数字2表示A中第4行中非零元的个数为2-2=0个,第七个数 字2和第六个数字2表示A中第5行中非零元的个数为2-2=0个,第八个数字3 和第七个数字2表示A中第6行中非零元的个数为3-2=1个,第九个数字4和第 八个数字3表示A中第7行中非零元的个数为4-3=1个。colums和rowstarts中均 使用1个整型(32个bit位)来表示索引信息,因此A的存贮空间为(4+9)×32 =416bit,而rowstarts的存贮空间为9×32=288bit。
许多采用图结构的应用程序(如Graph500)的性能主要受限于内存大小和 访存带宽,内存越大,可应用的图规模越大,性能表现越好。当内存恒定时,如 何压缩数据存储规模成为提升图结构的应用性能的重要途径,也是本领域技术人 员亟需解决的技术难题。
发明内容
本发明要解决的技术问题在于:提出一种基于位图的稀疏矩阵压缩存储方法, 可以更加紧凑地存储邻接矩阵,进一步减少存储空间,扩大图的规模,优化采用 图结构的应用程序的性能。
为了解决上述技术问题,本发明的技术方案为:通过仅保留存储一个或者多 个顶点或边的起始位置来压缩CSR的rowstarts数据结构,并使用一个额外的位 图(bitmap)来识别顶点的边信息,其中位图中每一位存储一个顶点信息。
具体技术方案为:
第一步、读取图G的邻接矩阵CSR存储数据结构,主要包含列数组colums 和行数组rowstarts[V'],V'为正整数,V'=NV+1,rowstarts[V']中的每一个元 素为int整型量,来表示对应非零元的行索引偏移,一个int类型通常包含4个 字节,每字节由8个bit位组成,即,一个int整型元素通常包含32个bit位;
第二步、简化行数组rowstarts[V'],构建改进型位数组,具体方法如下:
2.1.统计rowstarts[V']数组中不同元素的个数,记为Vb,并定义数组rowstarts'[Vb]来存放这Vb个元素;
2.2.将rowstarts[V']数组中Vb个不同元素依次分别表示为 rowstarts'[0],rowstarts'[1],…,rowstarts'[n],…,rowstarts'[Vb-1], n=0,1,2,…,Vb-1;
2.3.定义具有Vb个元素的改进型位数组CSR-rowstarts'[Vb];对 CSR-rowstarts'[Vb]进行赋值,具体方法如下:
2.3.1定义变量i'=0;
2.3.2如果i'<Vb,转2.3.3;否则,转2.3.6;
2.3.3CSR-rowstarts'[i']=rowstarts'[i'],将数组rowstarts'[Vb]中Vb个元素依次赋值给数组CSR-rowstarts'[Vb];
2.3.4i'=i'+1;
2.3.5若i'<Vb,转2.3.3;否则,转2.3.6;
2.3.6赋值完毕;
第三步、计算偏移量,具体方法如下:
3.1.定义有NV个元素的偏移数组offset[NV];
3.2.定义变量j'=0;
3.3.若j'<NV,转3.4;否则,转3.7;
3.4.offset[j']=rowstarts[j'+1]-rowstarts[j'],即计算相应的行非零元 的个数;
3.5.j'=j'+1;
3.6.若j'<NV,转3.4;否则,3.7;
3.7.偏移量计算完成,得到偏移数组offset[NV];
第四步、构建位图数组,由改进型位数组CSR-rowstarts'[Vb]和位图数组压缩 存储行数组rowstarts[V']全部信息。具体方法如下:
4.1定义有NV个元素的位图数组bitmap[NV];bitmap[NV]中的每一个 元素仅有一个bit位,用来表示两个顶点之间是否有边,1表示有 边,0表示无边;
4.2定义变量k=0;
4.3若k<NV,转4.4;否则,转4.7;
4.4若offset[k]≠0,转4.5;否则,转4.6;
4.5bitmap[k]=1,表示顶点之间有边,转4.7;
4.6bitmap[k]=0,表示顶点之间无边,转4.7;
4.7k=k+1;
4.8若k<NV,转4.4;否则,转4.9;
4.9位图数组bitmap[NV]构建完毕,也即行数组rowstarts[V']全部信息 存储完毕。通过位图数组bitmap[NV]和CSR-rowstarts'[Vb]可以还 原出CSR中的数组rowstarts[V']。
第五步、结束。
采用本发明可以达到以下技术效果:
本发明第四步建立的位图数组可以进一步压缩图的存储空间,可以将每个非 零元的表示信息大小由32bit降低至1bit;可以将图数据存储空间节约近60%, 可以扩大图的应用规模,优化采用图结构的应用程序的性能;
本发明可以广泛应用于存储受限的图计算与应用系统中,提升系统效率。
附图说明
图1为图的邻接矩阵表示;图1(a)为含8个节点的图;图1(b)是图1 (a)的邻接矩阵。
图2为图1(b)所示邻接矩阵的CSR存储示意图;左侧为邻接矩阵,右侧 是CSR存储示意。
图3为本发明总体流程图。
图4为图2所示邻接矩阵采用本发明基于位图的邻接矩阵CSR存储的示意 图;左侧为邻接矩阵,右侧是基于位图的邻接矩阵CSR存储的示意。
具体实施方式
图3为本发明总体流程图。如图3所示,本发明包括以下步骤:
第一步、读取图G的邻接矩阵CSR存储数据结构,主要包含列数组colums 和行数组rowstarts[V'];
第二步、简化行数组rowstarts[V'],具体方法如下:
2.1.统计rowstarts[V']数组中不同元素的个数,记为Vb;
2.2.将rowstarts[V']数组中Vb个不同元素依次分别表示为 rowstarts'[0],rowstarts'[1],…,rowstarts'[n],…,rowstarts'[Vb-1], n=0,1,2,…,Vb-1;
2.3.定义具有Vb个元素的改进型位数组CSR-rowstarts'[Vb];对 CSR-rowstarts'[Vb]进行赋值,具体方法如下:
2.3.1定义变量i'=0;
2.3.2如果i'<Vb,转2.3.3;否则,转2.3.6;
2.3.3CSR-rowstarts'[i']=rowstarts'[i'],将数组rowstarts'[Vb]中Vb
个元素依次赋值给数组CSR-rowstarts'[Vb];
2.3.4i'=i'+1;
2.3.5若i'<Vb,转2.3.3;否则,转2.3.6;
2.3.6赋值完毕;
第三步、计算偏移量,具体方法如下:
3.1.定义有NV个元素的偏移数组offset[NV];
3.2.定义变量j'=0;
3.3.若j'<NV,转3.4;否则,转3.7;
3.4.offset[j']=rowstarts[j'+1]-rowstarts[j'],即计算相应的行非零元 的个数;
3.5.j'=j'+1;
3.6.若j'<NV,转3.4;否则,3.7;
3.7.偏移量计算完成,得到偏移数组offset[NV];如图2所示的邻接矩 阵的CSR存储示意图,offset[NV]各元素为20000011。
第四步、构建位图数组。具体方法如下:
4.1定义有NV个元素的位图数组bitmap[NV];bitmap[NV]中的每一个 元素仅有一个bit位,用来表示两个顶点之间是否有边,1表示有 边,0表示无边;
4.2定义变量k=0;
4.3若k<NV,转4.4;否则,转4.7;
4.4若offset[k]≠0,转4.5;否则,转4.6;
4.5bitmap[k]=1,表示顶点之间有边,转4.7;
4.6bitmap[k]=0,表示顶点之间无边,转4.7;
4.7k=k+1;
4.8若k<NV,转4.4;否则,转4.9;
4.9位图数组bitmap[NV]构建完毕。如图2所示的邻接矩阵的CSR存 储示意图,bitmap[NV]各元素为10000011。
第五步、结束。
图4为将图2所示邻接矩阵的CSR存储采用本发明基于位图的邻接矩阵 CSR存储示意图。
如图4所示,基于位图的CSR存储通过引入位图数组bitmap将rowstarts用 改进行数组CSR-rowstarts'和位图数组bitmap来表示,将rowstarts中零元行标 号索引采用1个bit位来表示rowstarts中使用1个整型来表示的索引信息,最大 限度压缩了数据存储空间。bitmap中的每一位对应所在的行是否有非零元,如: 第一个数字1表示第0行有非零元,第二个数字0表示第1行没有非零元,第三 个数字0表示第2行没有非零元,第四个数字0表示第3行没有非零元,第五个 数字0表示第4行没有非零元,第六个数字0表示第5行没有非零元,第七个数 字1表示第6行有非零元,第八个数字1表示第7行有非零元;存在非零元的行 含有多少个非零元则由CSR-rowstarts'来表示,如:第0行中非零元的个数由 数组CSR-rowstarts'数组中第二个数字2和第一个数字0决定,第0行非零元 的个数为2-0=2个,第6行中非零元的个数由CSR-rowstarts'中第三个数字3 和第二个数字2决定,第6行非零元的个数为3-2=1个,第7行中非零元的个数 由CSR-rowstarts'中第四个数字4和第三个数字3决定,第7行非零元的个数 为4-3=1个。
程序中若要读取采用本发明所述方法存贮的邻接矩阵,则是先读取bitmap, 再读取CSR-rowstarts',最后读取colums。如图4所示,bitmap中的每一位对 应所在的行是否有非零元,数组bitmap中第一个数字1表示第0行有非零元,第 0行中非零元的个数为数组CSR-rowstarts'的第二数字2和第一个数字0的差值 2-0=2,该行2个非零元的列号由数组colums的第一个数字和第二个数字决定, 即该行2个非零元对应的列号为第4列和第5列;数组bitmap中第二个数字0 表示第1行没有非零元;数组bitmap中第三个数字0表示第2行没有非零元;数 组bitmap中第四个数字0表示第3行没有非零元;数组bitmap中第五个数字0 表示第4行没有非零元;数组bitmap中第六个数字0表示第5行没有非零元;数 组bitmap中第七个数字1表示第6行有非零元,第6行中非零元的个数为数组 CSR-rowstarts'的第三数字3和第二个数字2的差值3-2=1,该行1个非零元的 列号为数组colums的第三个数字3,即该行1个非零元对应的列号为第3列; 数组bitmap中第八个数字1表示第7行有非零元,第7行中非零元的个数为数组 CSR-rowstarts'的第四数字4和第三个数字3的差值4-3=1,该行1个非零元的 列号为数组colums的第四个数字1,即该行1个非零元对应的列号为第1列。可见采用本发明所述方法可以将邻接矩阵正确地压缩存储。
且将如图2所示数组rowstarts的存储空间9*32=288bit用数组CSR-rowstarts'占有4*32=128bit和bitmap占有8bit,总共128+8=136bit来存储, 存储空间节约率为53%之多。实际工程中,图的规模会非常大,节点通常是成千 上万亿个顶点,图用邻接矩阵表示时“稀疏”的特性会越明显,随着真实图遍历 中非零元的增加,采用本发明时存储空间节约率越来越大。
采用Graph500作为应用程序对本发明进行实验测试,结果表明本发明基于 位图的CSR存贮方法可以节约近60%的存储空间,进一步增大了图的测试规模, 提升了每秒遍历的边数量,优化了Graph500测试性能。
Claims (2)
1.一种基于位图的稀疏矩阵压缩存储方法,其特征在于仅保留存储一个或者多个顶点或边的起始位置来压缩图的邻接矩阵按行压缩存储数据结构,并使用一个额外的位图来识别顶点的边信息,具体包括以下步骤:
第一步、读取图G的邻接矩阵CSR存储数据结构,即按行压缩存储数据结构,包含列数组colums和行数组rowstarts[V'],V'为正整数,V'=NV+1,rowstarts[V']中的每一个元素为int整型量,表示对应非零元的行索引偏移;
第二步、简化行数组rowstarts[V'],构建改进型位数组,具体方法如下:
2.1.统计rowstarts[V']数组中不同元素的个数,记为Vb,并定义第二行数组rowstarts'[Vb]来存放这Vb个元素;
2.2.将rowstarts[V']数组中Vb个不同元素依次分别表示为rowstarts'[0],rowstarts'[1],…,rowstarts'[n],…,rowstarts'[Vb-1],n=0,1,2,…,Vb-1;
2.3.定义具有Vb个元素的改进型位数组CSR-rowstarts'[Vb],对CSR-rowstarts'[Vb]进行赋值,将数组rowstarts'[Vb]中Vb个元素依次赋值给数组CSR-rowstarts'[Vb];
第三步、计算偏移量,具体方法如下:
3.1.定义有NV个元素的偏移数组offset[NV];
3.2.定义变量j'=0;
3.3.若j'<NV,转3.4;否则,转3.7;
3.4.offset[j']=rowstarts[j'+1]-rowstarts[j'],即计算相应的行非零元的个数;
3.5.j'=j'+1;
3.6.若j'<NV,转3.4;否则,3.7;
3.7.偏移量计算完成,得到偏移数组offset[NV];
第四步、构建位图数组,由改进型位数组CSR-rowstarts'[Vb]和位图数组压缩存储行数组rowstarts[V']全部信息,具体方法如下:
4.1定义有NV个元素的位图数组bitmap[NV];bitmap[NV]中的每一个元素仅有一个bit位,用来表示两个顶点之间是否有边,1表示有边,0表示无边;
4.2定义变量k=0;
4.3若k<NV,转4.4;否则,转4.7;
4.4若offset[k]≠0,转4.5;否则,转4.6;
4.5bitmap[k]=1,表示顶点之间有边,转4.7;
4.6bitmap[k]=0,表示顶点之间无边,转4.7;
4.7k=k+1;
4.8若k<NV,转4.4;否则,转4.9;
4.9位图数组bitmap[NV]构建完毕,也即行数组rowstarts[V']全部信息存储完毕;
第五步、结束。
2.如权利要求1所述的基于位图的稀疏矩阵压缩存储方法,其特征在于2.3步对CSR-rowstarts'[Vb]进行赋值的方法是:
2.3.1定义变量i'=0;
2.3.2如果i'<Vb,转2.3.3;否则,转2.3.6;
2.3.3CSR-rowstarts'[i']=rowstarts'[i'];
2.3.4i'=i'+1;
2.3.5若i'<Vb,转2.3.3;否则,转2.3.6;
2.3.6赋值完毕。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910003370.3A CN109726314B (zh) | 2019-01-03 | 2019-01-03 | 基于位图的稀疏矩阵压缩存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910003370.3A CN109726314B (zh) | 2019-01-03 | 2019-01-03 | 基于位图的稀疏矩阵压缩存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726314A true CN109726314A (zh) | 2019-05-07 |
CN109726314B CN109726314B (zh) | 2020-09-01 |
Family
ID=66298025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910003370.3A Active CN109726314B (zh) | 2019-01-03 | 2019-01-03 | 基于位图的稀疏矩阵压缩存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726314B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377003A (zh) * | 2019-06-27 | 2019-10-25 | 浙江大学 | 一种基于稀疏化变量贡献的多回路性能诊断方法 |
CN110766136A (zh) * | 2019-10-16 | 2020-02-07 | 北京航空航天大学 | 一种稀疏矩阵与向量的压缩方法 |
CN111078957A (zh) * | 2019-12-18 | 2020-04-28 | 无锡恒鼎超级计算中心有限公司 | 基于图存储结构的存储方法 |
CN111274249A (zh) * | 2020-01-19 | 2020-06-12 | 深圳前海微众银行股份有限公司 | 用户画像数据存储优化方法、设备及可读存储介质 |
CN111291870A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 一种图深度学习中高维稀疏特征的处理方法和系统 |
CN112799635A (zh) * | 2021-02-08 | 2021-05-14 | 算筹信息科技有限公司 | 一种新型外积累加求解稠密矩阵与稀疏矩阵内积的方法 |
WO2021203741A1 (zh) * | 2020-04-09 | 2021-10-14 | 中国科学院深圳先进技术研究院 | 一种基准测试方法、系统及终端设备 |
CN113704339A (zh) * | 2021-08-30 | 2021-11-26 | 平安普惠企业管理有限公司 | 已读信息状态的记录、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630323A (zh) * | 2009-08-20 | 2010-01-20 | 中国科学院计算技术研究所 | 确定自动机的空间压缩方法 |
CN102033854A (zh) * | 2010-12-17 | 2011-04-27 | 中国科学院软件研究所 | 针对稀疏矩阵的数据存储方法及基于该方法的SpMV实现方法 |
CN102436438A (zh) * | 2011-12-13 | 2012-05-02 | 华中科技大学 | 基于gpu的稀疏矩阵数据存储方法 |
CN102521299A (zh) * | 2011-11-30 | 2012-06-27 | 华中科技大学 | 资源描述框架数据的处理方法 |
CN103336758A (zh) * | 2013-06-29 | 2013-10-02 | 中国科学院软件研究所 | 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法 |
US20180275909A1 (en) * | 2017-03-27 | 2018-09-27 | Oracle International Corporation | Memory management for sparse matrix multiplication |
-
2019
- 2019-01-03 CN CN201910003370.3A patent/CN109726314B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101630323A (zh) * | 2009-08-20 | 2010-01-20 | 中国科学院计算技术研究所 | 确定自动机的空间压缩方法 |
CN102033854A (zh) * | 2010-12-17 | 2011-04-27 | 中国科学院软件研究所 | 针对稀疏矩阵的数据存储方法及基于该方法的SpMV实现方法 |
CN102521299A (zh) * | 2011-11-30 | 2012-06-27 | 华中科技大学 | 资源描述框架数据的处理方法 |
CN102436438A (zh) * | 2011-12-13 | 2012-05-02 | 华中科技大学 | 基于gpu的稀疏矩阵数据存储方法 |
CN103336758A (zh) * | 2013-06-29 | 2013-10-02 | 中国科学院软件研究所 | 一种稀疏矩阵的存储方法CSRL及基于该方法的SpMV实现方法 |
US20180275909A1 (en) * | 2017-03-27 | 2018-09-27 | Oracle International Corporation | Memory management for sparse matrix multiplication |
Non-Patent Citations (1)
Title |
---|
张兴: "稀疏矩阵的一种存储方法", 《微计算机应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110377003A (zh) * | 2019-06-27 | 2019-10-25 | 浙江大学 | 一种基于稀疏化变量贡献的多回路性能诊断方法 |
CN110377003B (zh) * | 2019-06-27 | 2020-09-15 | 浙江大学 | 一种基于稀疏化变量贡献的多回路性能诊断方法 |
CN110766136A (zh) * | 2019-10-16 | 2020-02-07 | 北京航空航天大学 | 一种稀疏矩阵与向量的压缩方法 |
CN110766136B (zh) * | 2019-10-16 | 2022-09-09 | 北京航空航天大学 | 一种稀疏矩阵与向量的压缩方法 |
CN111078957A (zh) * | 2019-12-18 | 2020-04-28 | 无锡恒鼎超级计算中心有限公司 | 基于图存储结构的存储方法 |
CN111274249A (zh) * | 2020-01-19 | 2020-06-12 | 深圳前海微众银行股份有限公司 | 用户画像数据存储优化方法、设备及可读存储介质 |
WO2021203741A1 (zh) * | 2020-04-09 | 2021-10-14 | 中国科学院深圳先进技术研究院 | 一种基准测试方法、系统及终端设备 |
CN111291870A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 一种图深度学习中高维稀疏特征的处理方法和系统 |
CN112799635A (zh) * | 2021-02-08 | 2021-05-14 | 算筹信息科技有限公司 | 一种新型外积累加求解稠密矩阵与稀疏矩阵内积的方法 |
CN113704339A (zh) * | 2021-08-30 | 2021-11-26 | 平安普惠企业管理有限公司 | 已读信息状态的记录、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109726314B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726314A (zh) | 基于位图的稀疏矩阵压缩存储方法 | |
CN109740023A (zh) | 基于双向位图的稀疏矩阵压缩存储方法 | |
US11683053B2 (en) | Memory controller, memory system, and memory control method | |
Salikhov et al. | Using cascading Bloom filters to improve the memory usage for de Brujin graphs | |
CN111079917B (zh) | 张量数据分块存取的方法及装置 | |
CN101963944B (zh) | 对象存储方法和系统 | |
US9535940B2 (en) | Intra-block partitioning for database management | |
CN104050097A (zh) | 在具有不同的最小可寻址数据单元大小的非易失性存储器单元之间进行选择 | |
US20150058352A1 (en) | Thin database indexing | |
CN111104457A (zh) | 基于分布式数据库的海量时空数据管理方法 | |
CN104933143B (zh) | 获取推荐对象的方法及装置 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
CN103729429A (zh) | 一种基于HBase压缩方法 | |
CN105144157A (zh) | 用于压缩数据库中的数据的系统和方法 | |
RU2679960C2 (ru) | Способ и система базы данных для нахождения документов | |
CN115438114B (zh) | 存储格式转换方法、系统、装置、电子设备及存储介质 | |
CN115718819A (zh) | 一种索引构建方法、数据读取方法及索引构建装置 | |
CN102385606B (zh) | 一种分布式数据仓库的访问方法和装置 | |
CN115309333A (zh) | 一种带状稀疏矩阵的数据存储格式及其乘法加速方法 | |
CN112434085B (zh) | 基于Roaring Bitmap的用户数据统计方法 | |
CN112860818A (zh) | 字典嵌套字典数据结构的稀疏矩阵压缩存储方法 | |
Danciu et al. | Topology-based sparsification of graph annotations | |
CN111984651A (zh) | 一种基于持久性内存的列式存储方法、装置及设备 | |
CN104618715A (zh) | 一种获取最小率失真代价的方法及装置 | |
CN107992555B (zh) | 一种栅格数据的存储及读取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |