[发明专利]将数据流转换为阵列有效
申请号: | 201580083404.4 | 申请日: | 2015-10-09 |
公开(公告)号: | CN108139967B | 公开(公告)日: | 2021-07-20 |
发明(设计)人: | 亚历山大·弗拉基米罗维奇·斯莱萨连科;维克多·弗拉基米罗维奇·斯米尔诺夫;张洪波 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据流 转换 阵列 | ||
提供了一种数据存储设备(10),包括存储器模块(100)和存储器管理模块(110)。所述存储器管理模块(110)用于:将所述存储器模块(100)的存储空间(200)分配给存储块(210);将所述存储块分配给阵列(220),其中,所述阵列(220)包括至少一个阵元(230)。所述存储器管理模块(110)用于:在第一步骤中将存储块k分配给所述阵列,以存储阵元;在存储块k的所述存储空间满时,在第二步骤中将存储块k+1分配给所述阵列,以存储阵元。所述存储器管理模块(110)用于在所述第二步骤中分配的所述额外阵元存储在存储块k+1中时,将所述第一步骤中分配的所述阵元保留在存储块k中,其中,存储块k+1的尺寸是存储块k尺寸的两倍。
技术领域
本发明涉及数据处理领域。特别地,本发明涉及一种数据存储设备以及一种用于管理数据存储设备中数据的方法。
背景技术
在线流处理是大数据处理的一部分。通常,它应该与批量数据并行处理(流的分块处理)进行交互操作。在批量处理之前,应将流转换为类似阵列的数据结构(数据块)。
在很多情况下,块的尺寸并不是事先知道的。这意味着阵列应该是“可附加的”,即,应该能够非常快速地增长,换句话说,可以动态扩展。
在并行数据处理场景中,可以通过不同的方式访问阵列:
(a)定期访问,这与减少标量、阵列映射、过滤等有关。
(b)许多场景中的不定期访问,如子阵列切片、排列、其他索引访问;稀疏数据结构(如稀疏向量);使用基于块的阵列处理进行并行数据处理。
存在几种现有的分配阵列的方法。其中一种方法是基于并使用系统调用,例如Malloc/Memcpy/Free。另一种方法可能被称为优化的Realloc系统调用,实现了相比以前更高的性能,是一种使用动态阵列的流行方式。
现有的方法可以概括如下:Realloc试图在堆中的数据块之后复用可用的空间,即可用的存储空间。如果没有空间可用,那么Realloc通过分配/复制/释放存储块这种简单且非高效的方式进行操作。因此,可能在具有零碎存储器的系统中造成显着的开销。Realloc不是一种通用的方法。例如,Java VM没有Realloc对等物。此外,通过平坦、连续的方式分配阵列会对分配阵列的尺寸造成实际限制。
在一些现有技术方法中,当对阵列进行动态地扩展(从原始阵列的原始尺寸到扩展阵列的扩展尺寸)时,原始阵列的内容从一个存储器位置复制到另一个存储器位置,该位置提供足够的物理存储空间,以避免阵列的物理残片,即避免阵列碎片化,碎片存储在物理存储器的不同物理位置。原始阵列的这种复制过程可以称为存储器复制。
发明内容
可见,本发明的目标在于在管理动态可扩展阵列时减少数据处理的开销。该说明书提出了一种将数据流有效转换成阵列的方法。它基于在物理存储器中分配阵列的特定规则。
根据本发明的第一方面,提供了一种数据存储设备,包括存储器模块和存储器管理模块。所述存储器管理模块用于:将所述存储器模块的存储空间分配给存储块;将所述存储块分配给阵列,其中,所述阵列包括至少一个阵元。所述存储器管理模块还用于:在第一步骤中将存储块k分配给所述阵列,以存储阵元;在存储块k的所述存储空间满时,在第二步骤中将存储块k+1分配给所述阵列,以存储阵元。所述存储器管理模块用于在所述第二步骤中分配的所述额外阵元存储在存储块k+1中时,将所述第一步骤中分配的所述阵元保留在存储块k中,其中,存储块k+1的尺寸是存储块k尺寸的两倍。
上文和下文中提及的存储器模块涉及用于存储数据的任一存储器模块,例如,随机存取存储器(random access memory,简称RAM)或任一其他数据存储组件,其用于动态存储数据,即在数据处理装置的操作期间存储数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580083404.4/2.html,转载请声明来源钻瓜专利网。