CN114385088B - 一种对分布式存储系统中数据关联性分析后的布局方法 - Google Patents
一种对分布式存储系统中数据关联性分析后的布局方法 Download PDFInfo
- Publication number
- CN114385088B CN114385088B CN202210058211.5A CN202210058211A CN114385088B CN 114385088 B CN114385088 B CN 114385088B CN 202210058211 A CN202210058211 A CN 202210058211A CN 114385088 B CN114385088 B CN 114385088B
- Authority
- CN
- China
- Prior art keywords
- data
- load
- data blocks
- similarity
- blocks
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对分布式存储系统中数据关联性分析后的布局方法,所述方法包括在块层面对块之间的关联性进行发掘,根据每个数据块近期的读写情况计算数据块之间的相似度,在相似度较高的数据块之间建边从而得到数据块所组成的相似度网络;再采用稠密子图算法将相似度网络划分为多个稠密子图,从而实现对数据块依据关联性进行分组;最后通过分别对每个分组中的数据块进行放置的同时考虑分组之间的关系从而得到最终的数据布局策略。该方法能够提出有效的数据布局策略,保证分布式存储系统保持I/O、存储负载均衡,提高用户体验。
Description
技术领域
本发明属于分布式存储系统的性能优化领域,具体涉及一种对分布式存储系统中数据关联性分析后的布局方法。
背景技术
存储作为信息基础设施的三大基石之一,随着计算机技术的发展已经成为支持信息系统运行的核心。以计算为核心的信息系统逐步向以数据为核心转变,当前数据存储已经呈现服务化趋势,数据与存储实体之间、数据使用者和资源所有者之间开始分离,这种趋势带来了分布式数据存储技术的出现。数据的访问性能是衡量分布式数据存储性能优劣的主要指标,而提升分布式存储数据存储性能的方法有硬件纵向提升和系统规模横向提升。但是纵向提升具有局限性,以及横向提升效果随着的扩大性能加速比逐渐降低,且实现复杂,代价比较高。因此从分布式存储技术层面进行优化是提升分布式数据存储访问性能的必要手段。
为了提升分布式存储系统的性能,研究人员提出了众多优化分布式存储系统访问性能的方法和策略。在这些方法中,优化分布式数据存储中的数据布局是十分有效的方法。
根据数据布局更新的频次可将数据布局策略划分为两类:动态数据布局和静态数据布局。其中,动态数据布局策略在每次数据请求之后都可能更新现有的数据布局。当数据量较少时,明显动态数据布局是有效的。但是,对于分布式存储系统中庞大的数据量,频繁更新数据布局策略所产生的系统开销巨大。
静态数据布局策略也并非是绝对静态的。而是假设在一段时间内数据访问是持续不变的,也就是所提出的数据布局策略可以在一段时间内保持有效。当数据布局明显存在不合适时,通过数据迁移的方式实现整体调整。比如由静态数据布局策略SP和PB,能够最小化服务时间的方差,实现分布式存储集群的负载均衡。但是这两种策略都假设数据访问之间是独立的,这是不合理的,因为协同访问普遍存在数据密集型应用中,数据之间存在各种各样的相关性,这在数据布局时不容忽视。另外SP策略和PB策略会分离存储大文件和小文件从而导致小文件的集中存放,引起一些存储节点面临严峻的海量小文件I/O问题。BitDew策略中讲数据相关性定义为数据的一个属性,并由用户预定义。然而,在分布式存储系统中,用户通常无法获知数据的具体位置以及存储系统结构等信息,由用户来定义数据相关性显然是不可行的。而在基于Hadoop、Spark等框架的分布式存储系统中,如附图1所示,用户的数据通常划分为多个固定大小的分块存储在数据节点中,块的大小通常是128M。在块层面提出数据布局策略不需要考虑块大小。HDFS的默认数据块放置策略只能保证每个数据节点存储均衡,并不能保证I/O负载均衡,从而导致一系列相关的数据块可能放置于同一个节点引起I/O负载过高。DRAW和CLUST等算法则通过分析分布式存储系统的日志挖掘每个任务对数据块的访问日志,生成任务与数据块之间的依赖图,并根据类似Apriori关联规则挖掘算法计算数据块之间的依赖度从而生成数据块依赖矩阵,通过对该依赖矩阵进行分组聚类从而得到数据块的分组,再根据数据分组提出布局策略即可。不过这两种算法的缺点也十分明显:需要对庞大的日志进行遍历,时间开销巨大。同时分布式存储系统中的数据块数量是庞大的,数据块依赖矩阵会占用极大的空间开销,算法效率也较低。另外,还一些算法采用K-Means的方法进行聚类,但是该种方法确定合适的K值是十分困难的,同时K-Means不能够识别孤立点或者异常点的现象,而这在分布式存储系统中广泛存在。
发明内容
鉴于现有技术的缺陷,本发明提供了一种对分布式存储系统中数据关联性分析后的布局方法,该方法能够提出有效的数据布局策略,保证分布式存储系统保持I/O、存储负载均衡,提高用户体验。
为了实现上述目的,本发明采用的技术方案如下:
一种对分布式存储系统中数据关联性分析后的布局方法,、所述方法包括在块层面对块之间的关联性进行发掘,根据每个数据块近期的读写情况计算数据块之间的相似度,在相似度较高的数据块之间建边从而得到数据块所组成的相似度网络;再采用稠密子图算法将相似度网络划分为多个稠密子图,从而实现对数据块依据关联性进行分组;最后通过分别对每个分组中的数据块进行放置的同时考虑分组之间的关系从而得到最终的数据布局策略。
需要说明的是,所述系统块之间相似度计算包括:
只记录每个块在每个T时间间隔上所发生的读写负载的总和;如系统中两个数据块从t0时刻开始nT时间内的I/O负载情况,每个数据块在该观测窗口中都对应一个长度为n的读写负载向量;当两个块所对应的读写负载向量更接近时,说明这两个数据块更具相似性;将两个数据块的读写负载向量分别表示为X=(x1,x2,...,xn)和Y=(y1,y2,...,yn),用这两个向量之间的距离或者相关系数来表示数据块之间的相似程度;
若分布式存储系统中存在读写负载不平衡,用α和β分别表示存储系统或者所分析的存储节点所构成的整体中读和写负载的比例。通过以下公式计算得到最终块之间的相似度;
Similary(X,Y)=α×Similaryread(X,Y)+β×Similarywrite(X,Y)。
需要说明的是,相似度网络的构建以及稠密子图相关性分组,将得到不同负载区间内的数据块间相似度,在相似度较高的数据块之间建边表示这两个数据块之间具有相似性;在皮尔森相关系数中,p>0.4表示两个数据块中等程度相似,通过控制p可以对不同相似程度的数据块进行分析。通过建边得到块所组成的相似度网络。
需要说明的是,基于稠密子图分组的数据布局策略,按照Truss结构所对应的K值从大到小进行处理;首先对K值最大的Truss结构进行处理,如果存在多个,则将具有重叠的同K值Truss结构进行合并后得到互不重叠的Truss结构;每个Truss结构最终需要得到一个对应的布局子序列。
需要说明的是,基于数据布局的分布式存储系统I/O负载均衡策略,能够实时计算集群中节点的I/O负载情况:
其中,上式表示观测窗口内中每个时刻所有节点I/O负载的标准差与平均值比值累计后的平均值。
需要说明的是,若集群中I/O负载均衡,则该值应该略大于等于1;因此当发现该值持续远大于1时,说明但前集群中的数据布局需要进行调整;若集群中只是部分节点偏离平均值时,则只针对这部分节点上的数据块进行相关性分析;首先根据负载大小进行分层,然后对负载较高区间内的块进行相关性分析后得到布局策略,按照布局策略实施之后若能够使得这些节点满足负载均衡条件则不需要对其他负载区间进行分析;若不能满足则继续对其他负载区间重复上述过程直到I/O负载情况的结果均衡。
需要说明的是,当无法通过调节部分节点来达到均衡的目的时,说明需要对整个分布式存储系统的数据布局重新调整;此时需要对整个系统中的数据块进行相关性分析并提出数据布局策略。
需要说明的是,由于只对部分数据块进行新的数据布局,因此调整后的存储节点上可能存在存储负载不均衡,可以通过将存储数据量较多的节点上负载小的数据块移动到存储数据量较少的节点上来进行平衡。
本发明的有益效果在于:
1、时间与空间开销小。在进行相关性分析的过程中,只需要记录每个数据块在每个时间间隔T内的读写负载大小,并且只对读写负载较高的数据块进行相关性分析,进一步减少时间开销。相比起其他很多方法是基于相似度矩阵的基础上进行分组,本发明使用网络结构大大减少空间开销,能够支持超大规模的数据块量分析。
2、具有灵活性。当集群I/O负载不均衡时,先对大负载区间内的块重新布局,当仍不均衡时才对下一个负载区间重新布局。尽可能减少数据迁移次数的同时达到负载均衡目的。
3、数据布局策略考虑全面。不仅考虑各个稠密子图中数据块的放置策略,还考虑不同稠密子图之间的互相影响。进一步减少数据块之间的耦合性。
附图说明
图1数据分块与数据布局;
图2数据块I/O曲线与相似度;
图3 I/O负载与块数量的分布图;
图4数据块之间的网络图;
图5图4对应的K-Truss分解后的网络图;
图6数据之间相关性发现和布局策略;
图7分布式存储系统I/O负载均衡策略。
具体实施方式
以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本发明为一种对分布式存储系统中数据关联性分析后的布局方法,包括:
1、系统块之间相似度计算
分布式存储系统中,由于用户不断的数据读写,每个块上不断发生着读写负载。分布式存储系统会将每个读写行为记录下来,常见的数据布局算法会对这种类型的日志进行分析,这种方式工作量巨大,同时日志中连续访问的多个块上的读写负载并不一定是相近的。在此发明中,只需要记录每个块在每个T时间间隔上所发生的读写负载的总和,从而减少了大量的分析日志开销。如附图2所示为系统中两个数据块从t0时刻开始nT时间内的I/O负载情况,每个数据块在该观测窗口中都对应一个长度为n的读写负载向量。当两个块所对应的读写负载向量更接近时,说明这两个数据块更具相似性。将两个数据块的读写负载向量分别表示为X=(x1,x2,...,xn)和Y=(y1,y2,...,yn),用这两个向量之间的距离或者相关系数来表示数据块之间的相似程度。皮尔森相关系数是一种常见的用于反映两个向量的线性相关程度的方法。两个向量之间的相关程度可以通过公式(1)计算两个块的皮尔森系数p。p的大小在-1到1之间,当p大于0时,说明两个向量存在正相关,数值越大则相似度越高。
如果对存储系统中所有的数据块之间两两计算相似度,则需要大量的时间开销。另外,存储系统中I/O不均衡的现象通常是由负载较高的数据块分布不均匀所导致的。如附图3所示,存储系统中块负载程度与对应的块数量也存在2-8定律的现象,大多数读写负载集中于少部分数据块上,因此可以只对具有高负载的数据块进行相似度计算。另外可以根据负载的数量级划分为多个不同量级的负载层次,只有在同个层次内的数据块才相互计算相似度。在附图3中,可以只分析I/O负载大于104的数据块,同时按照(104,105)、(105,106)、(106,∞)划分为三个区间并分别计算各自区间内的数据块相似度,这大大较少了计算量。
另外分布式存储系统中往往存在读写负载不平衡的现象,因此用α和β分别表示存储系统或者所分析的存储节点所构成的整体中读和写负载的比例。通过公式2计算得到最终块之间的相似度。通过公式2可以达到综合考虑数据块之间读写相似度的目的。
Similary(X,Y)=α×Similaryread(X,Y)+β×Similarywrite(X,Y) (2)
2、相似度网络的构建以及稠密子图相关性分组
通过步骤1可以得到不同负载区间内的数据块间相似度,在相似度较高的数据块之间建边表示这两个数据块之间具有相似性。在皮尔森相关系数中,p>0.4表示两个数据块中等程度相似,通过控制p可以对不同相似程度的数据块进行分析。通过建边得到块所组成的相似度网络。如附图4为例为13个块根据相似度所建立的相似度网络。很明显可以看到该网络的密度并不均匀。如b9,b10,b11和b12之间是一个完全图,都存在边相连。这相比起b6,b11,b12和b13所构成的结构更加紧凑。在块布局策略中需要将具有相关性的分组作为一个整体进行布局。
稠密子图发掘算法就是一类基于密度的聚类算法,能较好地划分网络中不同密度的模块。常见的稠密子图算法有K-Clique、K-Core、K-Truss等等。其中,K-Truss由于定义的结构性质与算法时间复杂度较好而被很多研究者应用于各种复杂网络中。因此本文以K-Truss为例说明稠密子图发掘相似度网络图中的数据块间相关性。一个K-Truss结构指的是:该结构中每一条边在原网络中参与构成的三角形数量都大于等于K-2。K值越大,该子结构的密度越大,即关联性越强。如附图5所示为附图4相似度网络图经过K-Truss分解算法所发现的不同K值分组。其中C1是4-Truss结构,该子网络中每一条边都至少参与构成2个三角形。同理,C2是3-Truss结构,C3是4-Truss结构。另外可以发现有一部分数据块参与构成多个不同的Truss结构,因此在数据放置策略中可以通过稠密子图之间的联系考虑分组之间的影响。
3、基于稠密子图分组的数据布局策略
按照Truss结构所对应的K值从大到小进行处理。首先对K值最大的Truss结构进行处理,如果存在多个,则将具有重叠的同K值Truss结构进行合并后得到互不重叠的Truss结构。每个Truss结构最终需要得到一个对应的布局子序列。
以下是对单个Truss结构进行处理。C1与C3都是4-Truss结构,并且互不重叠。先选择C1进行分析,该结构中度最大的点为b1和b2,度都是4。随机选择其中一个作为起点并使用BFS(广度优先)遍历后即可得到一个子序列,注意在BFS遍历过程中同一层被访问的节点需要按照度的大小降序排列。将b1作为起点,第一层遍历访问的有b2b3b5b6。去除b1以及相关的边后,第一层访问的每个点所对应度分别是3、2、2、2,满足降序不需要调整。按照第一层的序列顺序进行第二层遍历可以得到b4,与之前遍历结果合并之后得到总的布局子序列为b1b2b3b5b6b4。假如总共有5个存储节点,则按照布局子序列依次放置块,每次放置一个新块时,先挑选存储量最少的存储节点进行放置,以保证存储节点之间存储负载均衡。因此可以得到每个节点上所放置的数据分别是b1b4、b2、b3、b5、b6。同理可得到C3的子序列为b9b10b11b12,由于存在边b2b9和b6b11,所以在放置对应的数据块时应该避开具有边关系的数据块所在的节点,因此得到数据布局为b1b4、b2b10、b3b9、b5b11、b6b12。
放置完4-Truss结构后,需要对K值第二大的Truss结构放置。C2是3-Truss结构,C2与C1存在重叠部分,只需要对C2剩余部分按照单个Truss结构的处理方式得到该结构的布局子序列为b7b8,由于存在边与其他Truss相连,所以b7和b8不能与b5和b6以及对方在同一个存储节点上,同理对b13进行类似考虑,得到最终数据布局策略如附图1所示为b1b4b7、b2b10b8、b3b9b13、b5b11、b6b12。不难发现每个节点上数据块都不存在边相连,说明布局策略合理。
4、基于数据布局的分布式存储系统I/O负载均衡策略
可以通过公式(3)能够实时计算集群中节点的I/O负载情况,该公式的含义是观测窗口内中每个时刻所有节点I/O负载的标准差与平均值比值累计后的平均值。如果集群中I/O负载均衡,则该值应该略大于等于1。因此当发现该值持续远大于1时,说明但前集群中的数据布局需要进行调整。如果集群中只是部分节点偏离平均值时,则只针对这部分节点(包括I/O负载过重和过轻)上的数据块进行相关性分析。首先根据负载大小进行分层,然后对负载较高区间内的块进行相关性分析后得到布局策略,按照布局策略实施之后如果能够使得这些节点满足负载均衡条件则不需要对其他负载区间进行分析。如果不能满足则继续对其他负载区间重复上述过程直到公式(3)的结果均衡。
当无法通过调节部分节点来达到均衡的目的时,说明需要对整个分布式存储系统的数据布局重新调整。此时需要对整个系统中的数据块进行相关性分析并提出数据布局策略。
另外,由于只对部分数据块进行新的数据布局,因此调整后的存储节点上可能存在存储负载不均衡,可以通过将存储数据量较多的节点上负载小的数据块移动到存储数据量较少的节点上来进行平衡。
实施例
下面结合附图6对本发明中数据块相关性发现以及数据布局策略进行详细说明。
第1步:记录存储系统中每个数据块每隔T时间段内的读写负载;
第2步:当观测时间达到nT时,得到每个数据块对应长度为n的负载向量;
第3步:只对负载较大的数据块进行相似度分析,同时按照负载数量级划分不同层次;
第4步:对分层中某一层采用皮尔森等向量相似度算法计算块向量之间的相似度,并采用公式(2)综合考虑读写负载占比得到最后的相似度结果;
第5步:判断数据块之间的相似度是否较高,如果相似度较低,则不处理。否则,跳转步骤6;
第6步:使用边来表示两个数据块存在相似性,构建相似度网络;
第7步:采用稠密子图算法对相似度网络进行分解,得到多个稠密子图。按照稠密程度从大到小进行处理;
第8步:挑选子图中度最大的数据块作为起始块并采用BFS遍历得到子序列。注意同一层遍历的数据块按照度大小降序排序;
第9步:根据子序列顺序依次挑选集群中存储负载最小的节点进行放置,如果当前待放置块存在边与节点中已放置的其他稠密子图块相连,则选择其他的节点放置;
第10步:判断是否所有稠密子图均已处理。若是则跳转步骤11,否则跳转步骤8;
第11步:判断是否所有的负载分层均已处理。若是则结束数据布局,否则跳转步骤4。
分布式存储系统I/O负载均衡策略
下面结合附图7对本发明中分布式存储系统I/O负载均衡策略进行详细说明。
第1步:根据公式(3)实时计算集群中节点的I/O负载情况,当远大于1时,说明负载不均衡。跳转步骤2;
第2步:选择其中不均衡的节点,对节点中的数据块根据负载划分为不同层,按照负载量从大到小处理;
第3步:判断是否所有分层数据块均已分析,是则跳转步骤2并对整个存储系统中所有节点进行分析。否则跳转步骤4;
第4步:选择其中一层负载区间中数据块进行分析相关性并提出数据布局策略,按照这些数据布局策略进行数据放置;
第5步:判断这些节点是否能够达到均衡条件,若不能则跳转步骤3,否则跳转步骤6;
第6步:判断是否所有的节点达到存储负载平衡,如果是则结束,否则跳转步骤7;
第7步:将存储负载较高的节点上I/O负载较低的数据块迁移到存储负载较低的节点。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变,而所有的这些改变,都应该包括在本发明权利要求的保护范围之内。
Claims (5)
1.一种对分布式存储系统中数据关联性分析后的布局方法,其特征在于,所述方法包括在块层面对块之间的关联性进行发掘,根据每个数据块近期的读写情况计算数据块之间的相似度,在相似度较高的数据块之间建边从而得到数据块所组成的相似度网络;再采用稠密子图算法将相似度网络划分为多个稠密子图,从而实现对数据块依据关联性进行分组;最后通过分别对每个分组中的数据块进行放置的同时考虑分组之间的关系从而得到最终的数据布局策略;
所述数据块之间相似度计算包括:
只记录每个块在每个T时间间隔上所发生的读写负载的总和;对于系统中两个数据块从t0时刻开始nT时间内的I/O负载情况,每个数据块在该观测窗口中都对应一个长度为n的读写负载向量;当两个块所对应的读写负载向量更接近时,说明这两个数据块更具相似性;将两个数据块的读写负载向量分别表示为X=(x1,x2,...,xn)和Y=(y1,y2,...,yn),用这两个向量之间的距离或者相关系数来表示数据块之间的相似程度;
若分布式存储系统中存在读写负载不平衡,用α和β分别表示存储系统或者所分析的存储节点所构成的整体中读和写负载的比例;通过以下公式计算得到最终块之间的相似度;
Similary(X,Y)=α×Similaryread(X,Y)+β×Similarywrite(X,Y);
相似度网络的构建以及稠密子图相关性分组,将得到不同负载区间内的数据块间相似度,在相似度较高的数据块之间建边表示这两个数据块之间具有相似性;在皮尔森相关系数中,p>0.4表示两个数据块中等程度相似,通过控制p可以对不同相似程度的数据块进行分析;通过建边得到块所组成的相似度网络;
基于稠密子图分组的数据布局策略,按照Truss结构所对应的K值从大到小进行处理;首先对K值最大的Truss结构进行处理,如果存在多个,则将具有重叠的同K值Truss结构进行合并后得到互不重叠的Truss结构;每个Truss结构最终需要得到一个对应的布局子序列。
2.根据权利要求1所述的对分布式存储系统中数据关联性分析后的布局方法,其特征在于,基于数据布局的分布式存储系统I/O负载均衡策略,能够实时计算集群中节点的I/O负载情况:
其中,上式表示观测窗口内中每个时刻所有节点I/O负载的标准差与平均值比值累计后的平均值。
3.根据权利要求2所述的对分布式存储系统中数据关联性分析后的布局方法,其特征在于,若集群中I/O负载均衡,则该值应该略大于等于1;因此当发现该值持续远大于1时,说明当前集群中的数据布局需要进行调整;若集群中只是部分节点偏离平均值时,则只针对这部分节点上的数据块进行相关性分析;首先根据负载大小进行分层,然后对负载较高区间内的块进行相关性分析后得到布局策略,按照布局策略实施之后若能够使得这些节点满足负载均衡条件则不需要对其他负载区间进行分析;若不能满足则继续对其他负载区间重复上述过程直到I/O负载情况的结果均衡。
4.根据权利要求3所述的对分布式存储系统中数据关联性分析后的布局方法,其特征在于,当无法通过调节部分节点来达到均衡的目的时,说明需要对整个分布式存储系统的数据布局重新调整;此时需要对整个系统中的数据块进行相关性分析并提出数据布局策略。
5.根据权利要求4所述的对分布式存储系统中数据关联性分析后的布局方法,其特征在于,由于只对部分数据块进行新的数据布局,因此调整后的存储节点上可能存在存储负载不均衡,可以通过将存储数据量较多的节点上负载小的数据块移动到存储数据量较少的节点上来进行平衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210058211.5A CN114385088B (zh) | 2022-01-19 | 2022-01-19 | 一种对分布式存储系统中数据关联性分析后的布局方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210058211.5A CN114385088B (zh) | 2022-01-19 | 2022-01-19 | 一种对分布式存储系统中数据关联性分析后的布局方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114385088A CN114385088A (zh) | 2022-04-22 |
CN114385088B true CN114385088B (zh) | 2023-09-01 |
Family
ID=81203316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210058211.5A Active CN114385088B (zh) | 2022-01-19 | 2022-01-19 | 一种对分布式存储系统中数据关联性分析后的布局方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385088B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657087A (zh) * | 2015-02-04 | 2015-05-27 | 杭州华为数字技术有限公司 | 一种虚拟磁盘映射的方法、装置及系统 |
CN107145307A (zh) * | 2017-04-27 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于分布式存储的动态元数据优化方法和系统 |
CN108255427A (zh) * | 2017-12-29 | 2018-07-06 | 广东南华工商职业学院 | 一种数据存储和动态迁移方法及装置 |
CN111723105A (zh) * | 2020-06-15 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 计算数据相似性的方法和装置 |
WO2021073083A1 (zh) * | 2019-10-15 | 2021-04-22 | 南京莱斯网信技术研究院有限公司 | 一种基于节点负载的数据动态分区系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291503B2 (en) * | 2013-09-26 | 2019-05-14 | Taiwan Semiconductor Manufacturing Co., Ltd. | File block placement in a distributed network |
-
2022
- 2022-01-19 CN CN202210058211.5A patent/CN114385088B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657087A (zh) * | 2015-02-04 | 2015-05-27 | 杭州华为数字技术有限公司 | 一种虚拟磁盘映射的方法、装置及系统 |
CN107145307A (zh) * | 2017-04-27 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种基于分布式存储的动态元数据优化方法和系统 |
CN108255427A (zh) * | 2017-12-29 | 2018-07-06 | 广东南华工商职业学院 | 一种数据存储和动态迁移方法及装置 |
JP2019121334A (ja) * | 2017-12-29 | 2019-07-22 | 広東技術師範学院 | データストレージとダイナミックマイグレーション方法及びデータストレージとダイナミックマイグレーション装置 |
WO2021073083A1 (zh) * | 2019-10-15 | 2021-04-22 | 南京莱斯网信技术研究院有限公司 | 一种基于节点负载的数据动态分区系统 |
CN111723105A (zh) * | 2020-06-15 | 2020-09-29 | 腾讯科技(深圳)有限公司 | 计算数据相似性的方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于数据关联性聚类的数据布局算法;董微 等;《计算机工程与应用》(3);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114385088A (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Patwary et al. | Window-based streaming graph partitioning algorithm | |
Heintz et al. | MESH: A flexible distributed hypergraph processing system | |
Jaiyeoba et al. | Graphtinker: A high performance data structure for dynamic graph processing | |
CN111382320A (zh) | 一种面向知识图谱的大规模数据增量处理方法 | |
Ji et al. | Local graph edge partitioning | |
Liu et al. | Gnnsampler: Bridging the gap between sampling algorithms of gnn and hardware | |
CN104580518A (zh) | 一种用于存储系统的负载均衡控制方法 | |
CN111475837A (zh) | 一种网络大数据隐私保护方法 | |
CN114385088B (zh) | 一种对分布式存储系统中数据关联性分析后的布局方法 | |
CN114048186A (zh) | 一种基于海量数据的数据迁移方法及系统 | |
CN110222055B (zh) | 一种动态图下多边更新的单轮核值维护方法 | |
Chen et al. | Declustering databases on heterogeneous disk systems | |
Tatarnikova et al. | Algorithms for placing files in tiered storage using Kohonen map | |
CN111723089A (zh) | 一种基于列式存储格式处理数据的方法和装置 | |
CN112817982B (zh) | 一种基于lsm树的动态幂律图存储方法 | |
Spivak et al. | Storage tier-aware replicative data reorganization with prioritization for efficient workload processing | |
CN108256694A (zh) | 基于重复遗传算法的模糊时间序列预测系统、方法及装置 | |
KR102054068B1 (ko) | 그래프 스트림에 대한 실시간 분산 저장을 위한 분할 방법 및 분할 장치 | |
Abubaker et al. | Minimizing staleness and communication overhead in distributed SGD for collaborative filtering | |
Ding et al. | Efficient k-dominant skyline query over incomplete data using MapReduce | |
El Moussawi et al. | Sampling-based label propagation for balanced graph partitioning | |
CN112612422B (zh) | 移动边缘计算中副本的动态一致性维护方法 | |
Li et al. | 3-D partitioning for large-scale graph processing | |
US20230359602A1 (en) | K-d tree balanced splitting | |
Turk et al. | Query-log aware replicated declustering |
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 |