CN106817406A - 一种应用于RCFile存储模型的预分配的自适应压缩方法 - Google Patents

一种应用于RCFile存储模型的预分配的自适应压缩方法 Download PDF

Info

Publication number
CN106817406A
CN106817406A CN201611199323.3A CN201611199323A CN106817406A CN 106817406 A CN106817406 A CN 106817406A CN 201611199323 A CN201611199323 A CN 201611199323A CN 106817406 A CN106817406 A CN 106817406A
Authority
CN
China
Prior art keywords
data
node
server
compression
client
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
Application number
CN201611199323.3A
Other languages
English (en)
Other versions
CN106817406B (zh
Inventor
陈珊珊
何海洋
韦立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201611199323.3A priority Critical patent/CN106817406B/zh
Publication of CN106817406A publication Critical patent/CN106817406A/zh
Application granted granted Critical
Publication of CN106817406B publication Critical patent/CN106817406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种应用于RCFile存储模型的预分配的自适应压缩方法。首先在客户端建立数据向量分配算法PPDA以确定数据向量属于哪一个服务器数据节点,实现相同或者相似数据的聚集在同一个服务器数据存储节点,提高同一服务器节点的数据冗余度;然后在服务器数据节点端,针对RCFile行组特点,建立基于代价的压缩算法CCA为行组的不同行选择最优的轻量级压缩算法。本发明能够增加同一服务器数据节点的数据冗余度,能够为行组的每一行选择高效的压缩算法进行数据压缩,节约系统资源,提高系统存储能力。

Description

一种应用于RCFile存储模型的预分配的自适应压缩方法
技术领域
本发明是一种应用于RCFile存储模型的预分配的自适应压缩方法。主要用于提高使用RCFile作为其存储格式的存储系统的存储能力,节约系统资源,属于数据压缩与存储技术领域。
背景技术
随着电子信息技术的飞速发展,特别是云计算、物联网、社交媒体和社交网络的迅速发展,数据量正在以前所未有的速度增长。如此大的数据量,对传统的行存储模式提出了挑战.为了提高系统综合性能,Facebook公司提出的RCFile存储结构,是一种高效的存储结构,该存储结构遵循的是“先水平划分,再垂直划分”的设计理念,集行存储和列存储的优点于一身,在MapReduce环境下的大规模数据分析中扮演着重要角色。
大数据环境下需要处理的数据量往往是是非常庞大的,这造成查询时大量的I/O,由于CPU处理与磁盘访问发展的不平衡,使得I/O成为了查询的瓶颈。因此,减少I/O的次数能显著提高查询的效率,而数据压缩则能在一定程度上减少I/O的次数,因此,数据压缩成为解决大数据问题的一个研究热点。研究如何针对特定的存储模型采取恰当的压缩策略是十分有意义的。数据的可压缩性取决于数据冗余度。在大数据环境下,数据的来源是复杂的。以电商交易平台为例,不同的客户端产生相同的订单数据或者相似的订单数据可能被分配到不同的服务器数据节点进行存储,这导致在同一个服务器数据节点所存储的数据冗余度较低,从而导致数据压缩效率较低。
发明内容
本发明的目的是提供一种应用于RCFile存储模型的预分配的自适应压缩方法,该方法能够增加同一服务器数据节点的数据冗余度,能够为行组的每一行选择高效的压缩算法进行数据压缩,节约系统资源,提高系统存储能力。
为达到上述目的,本发明提出的技术方案是一种应用于RCFile存储模型的预分配的自适应压缩方法,包括以下步骤:
S1:在客户端使用轻量级数据向量预分配算法,将相同或相似的数据向量分配到相应的服务器数据节点,增加同一个服务器数据节点的数据可压缩性;
S2:在服务器数据节点端,使用基于代价的压缩算法,对同一服务器节点数据进行自适应压缩。
进一步,步骤S1中,所述在客户端使用轻量级预分配算法,对客户端数据进行分配的过程具体如下:
S11:根据服务器节点历史数据抽样,建立映射至二维第一象限的标准向量空间;
S12:获取任意一个客户端的数据向量,将该数据向量的特征向量与客户端定义的标准向量求得余弦相似值,根据相似值判断该客户端数据向量隶属于哪一个服务器数据节点,记录该服务器数据节点编号Nodenum,并向服务器控制节点发送该数据以及其请求的服务器数据节点编号;
S13:服务器控制节点接收到S12中数据向量和其请求编号Nodenum时,根据设定存储阀值以及实时状态判定其请求编号为Nodenum服务器节点是否可存储数据,如果可以,那么在服务器数据节点直接存储该客户端数据向量;如果不可以,那么根据预先定义的标准向量空间,将客户端数据存储到满足条件的邻近服务器数据节点,并且记录客户端数据实际存储的服务器数据节点编号Node'num
S14:将S13中服务器数据节点编号Node'num返回给控制节点,更新控制节点中该客户端数据向量存储服务器数据节点编号,再执行S12。
进一步,步骤S2中,所述的使用基于代价的压缩算法CCA(Compress-CostedAlgorithm),对同一服务器节点数据进行自适应压缩具体包括:
S21:获取一个满足压缩条件的服务器数据节点,假设每个服务器数据节点包含m个行组,记录每个行组每行的元素个数为j;
S22:以行组第一行为例,从前m-1个行组第一行随机抽取k个元素(j/m=λk,λ=2,4,8,...,2n),从剩下的行组,也就是第m个行组第一行中选取r个元素(j mod m=λr,λ=2,4,8,...,2n);
S23:合并S22中抽取的数据,形成新的纪录,记NewRow;
S24:对NewRow进行压缩代价分析,对NewRow并发执行多种轻量级压缩算法,记录每一种压缩算法的压缩时间与压缩率,根据压缩时间与压缩率确定压缩代价;
S25:为行组每一行选择代价最小的压缩算法压缩服务器数据节点,再执行S21。
本发明的有益效果在于:
1)在客户端建立轻量级预分配算法PPDA将相同或相似的数据分配到相应的服务器数据节点,增加同一个服务器数据节点冗余,为后续高效压缩奠定基础。
2)根据RCFile存储模型特点,针对同一服务器数据节点的行组的不同行进行属性分析,使用基于代价的压缩算法CCA对同一服务器节点数据自适应压缩,由于根据行组各行元素特点有针对性的使用轻量级压缩算法,能够在节约压缩时间的同时有效的提高数据压缩率,从而提高系统存储能力。
附图说明
图1是本发明方法客户端的标准向量空间模型示意图。
图2是本发明确定任意客户端向量分配节点号的模型示意图。
图3是本发明方法服务器数据节点的压缩代价流程示意图。
图4是本发明提出的应用于RCFile存储模型的预分配的自适应压缩方法的流程图。
具体实施方式
现结合附图及实施例,对本发明做进一步详细说明。应当理解,此处所描述的实例仅用于解释本发明,并不用于限制此发明。
本发明针对大数据环境下相同服务器数据来源复杂,同一服务器数据节点数据之间相似度较低而不能获取好的压缩效果问题,提出了一种新的应用于RCFile存储模型的预分配的自适应压缩方法。该方法首先在客户端建立轻量级数据向量分配算法PPDA(Pre-processing Distribution Algorithm),以确定客户端数据向量属于哪一个服务器数据节点,实现相同或者相似数据的聚集在同一个服务器数据存储节点,提高同一服务器节点的数据冗余度,为后续高效压缩奠定基础;在服务器数据节点端,针对RCFile行组特点,建立基于代价的压缩算法CCA(Compress-Costed Algorithm)为行组的不同行选择最优的轻量级压缩算法,能够有效的节约系统资源和提高系统存储能力。
从体系结构的角度分析,本发明是将过若干个相同客户端节点、服务器控制节点和服务器数据节点组成一个数据分配与存储的体系结构。客户端节点负责产生数据向量,再对产生的数据与标准向量做相似度分析,确定待分配至的服务器数据节点编号,上传客户端数据与节点编号。控制节点主要记录服务器数据节点状态与更新客户端存储信息。服务器数据节点主要负责存储来自客户端的数据,同时对满足压缩条件的数据节点使用基于代价的压缩算法CCA进行压缩处理,减少数据压缩时间,节省存储空间。
从方法流程的角度分析,本发明在整个设计方法中,主要分为两部分:首先在客户端定义标准向量空间,建立轻量级预分配算法PPDA用于判定客户端产生的数据向量属于哪一个服务器数据节点,如图4的上半部分所示;继而设计一套基于代价的数据压缩算法CCA用于压缩算法的选择,如图4的下半部分所示。
其中,进一步,上述轻量级预分配算法PPDA对客户端数据进行分配过程具体如下:
步骤11.根据服务器节点历史数据抽样,建立映射至二维第一象限的标准向量空间。
步骤12.获取任意一个客户端的数据向量,将该数据向量的特征向量与客户端定义的标准向量求得余弦相似值,根据相似值判断该客户端数据向量隶属于哪一个服务器数据节点,记录该服务器数据节点编号Nodenum,并向服务器控制节点发送该数据以及其请求的服务器数据节点编号Nodenum
步骤13.服务器控制节点接收到步骤12中数据向量和其请求编号Nodenum时,根据设定存储阀值以及实时状态判定其请求编号为Nodenum服务器节点是否可存储数据。如果可以,那么在服务器数据节点直接存储该客户端数据向量。如果不可以,那么根据预先定义的标准向量空间,将客户端数据存储到满足条件的邻近服务器数据节点,并且记录客户端数据实际存储的服务器数据节点编号Node'num
步骤14.将步骤13中服务器数据节点编号Node'num返回给控制节点,更新控制节点中该客户端数据向量存储服务器数据节点编号,再执行步骤12。
所述的使用基于代价的数据压缩算法CCA对同一服务器节点数据自适应压缩具体如下:
步骤21.获取一个满足压缩条件的服务器数据节点,假设每个服务器数据节点包含m个行组,记录每个行组每行的元素个数为j。
步骤22.以行组第一行为例,从前m-1个行组第一行随机抽取k个元素(j/m=λk,λ=2,4,8,...,2n),从剩下的行组,也就是第m个行组第一行中选取r个元素(j mod m=λr,λ=2,4,8,...,2n)。
步骤23.合并步骤22)中抽取的数据,形成新的纪录,记NewRow.
步骤24.对NewRow进行压缩代价分析,对NewRow并发执行多种轻量级压缩算法,记录每一种压缩算法的压缩时间与压缩率,根据压缩时间与压缩率确定压缩代价。
步骤25.为行组每一行选择代价最小的压缩算法压缩服务器数据节点,再执行步骤21。
现对PPDA算法的流程给予说明,如下:
假设有若干个数据样本(x,y)(x>0,y>0),且均匀分布于第一象限。则所述的轻量级预分配算法PPDA执行流程如下:
步骤31.首先定义一组标准向量集,用于划分n个相似空间,如图1所示,关于标准向量集中的每一个向量做如下约束:
通过公式(1)的约束,我们可以得到以任意标准向量为中心的θ域,如图2所示,为一个相似空间,一共n个相似空间,其中每一个相似空间对应服务器的一个数据节点。
步骤32.获取任意一个客户端的数据向量将该数据向量与客户端定义的标准向量求得余弦相似值其中SV由公式(2)决定。根据公式(3)计算出该客户端数据向量隶属于服务器数据节点号Nodenum,并向服务器控制节点发送该数据以及其请求的服务器数据节点编号Nodenum
步骤33.服务器控制节点接收到步骤32中数据向量和其请求编号Nodenum时,根据设定存储阀值Q(当存储量小于Q时,该服务器节点可存储数据)以及实时状态判定其请求编号为Nodenum服务器节点是否可存储数据。如果可以,那么在服务器数据节点直接存储该客户端数据向量。如果不可以,那么根据预先定义的标准向量空间,将客户端数据存储到满足条件的邻近服务器数据节点,并且记录客户端数据实际存储的服务器数据节点编号Node'num
步骤34.将步骤33中服务器数据节点编号Node'num返回给控制节点,更新控制节点中该客户端数据向量存储服务器数据节点编号,再执行步骤32。
在PPDA部署完成的情况下,对于满足压缩条件的服务器数据节点,我们需要通过基于代价的压缩算法CCA为每个服务器节点中的行组不同行选取最佳的压缩算法,CCA执行流程具体如下:
步骤41.获取一个满足压缩条件的服务器数据节点,如图3所示,假设每个服务器数据节点包含m个行组,每个行组具有i行,每行的元素个数为j。
步骤42.以行组第一行为例,从前m-1个行组第一行随机抽取k个元素(j/m=λk,λ=2,4,8,...,2n),从剩下的行组,也就是第m个行组第一行中选取r个元素(j mod m=λr,λ=2,4,8,...,2n)。
步骤43.重组步骤42中抽取的数据,形成新的纪录,记NewRow(1).
步骤44.对NewRow(1)进行压缩代价分析,对NewRow(1)并发执行多种轻量级压缩算法,记录每一种压缩算法的压缩时间与压缩率,根据压缩时间与压缩率确定压缩代价。
步骤45.为NewRow(1)选择代价最小的压缩算法Alg1,行组的其余行与第一行处理过程一致,再执行步骤41。

Claims (3)

1.一种应用于RCFile存储模型的预分配的自适应压缩方法,其特征在于包括以下步骤:
S1:在客户端使用轻量级数据向量预分配算法,将相同或相似的数据向量分配到相应的服务器数据节点,增加同一个服务器数据节点的数据可压缩性;
S2:在服务器数据节点端,使用基于代价的压缩算法,对同一服务器节点数据进行自适应压缩。
2.根据权利要求1所述的应用于RCFile存储模型的预分配的自适应压缩方法,其特征在于,S1中所述在客户端使用轻量级预分配算法,对客户端数据进行分配的过程具体如下:
S11:根据服务器节点历史数据抽样,建立映射至二维第一象限的标准向量空间;
S12:获取任意一个客户端的数据向量,将该数据向量的特征向量与客户端定义的标准向量求得余弦相似值,根据相似值判断该客户端数据向量隶属于哪一个服务器数据节点,记录该服务器数据节点编号Nodenum,并向服务器控制节点发送该数据以及其请求的服务器数据节点编号;
S13:服务器控制节点接收到S12中数据向量和其请求编号Nodenum时,根据设定存储阀值以及实时状态判定其请求编号为Nodenum服务器节点是否可存储数据,如果可以,那么在服务器数据节点直接存储该客户端数据向量;如果不可以,那么根据预先定义的标准向量空间,将客户端数据存储到满足条件的邻近服务器数据节点,并且记录客户端数据实际存储的服务器数据节点编号Node'num
S14:将S13中服务器数据节点编号Node'num返回给控制节点,更新控制节点中该客户端数据向量存储服务器数据节点编号,再执行S12。
3.根据权利要求1所述的应用于RCFile存储模型的预分配的自适应压缩方法,其特征在于,S2中所述的使用基于代价的压缩算法CCA,对同一服务器节点数据进行自适应压缩具体包括:
S21:获取一个满足压缩条件的服务器数据节点,假设每个服务器数据节点包含m个行组,记录每个行组每行的元素个数为j;
S22:以行组第一行为例,从前m-1个行组第一行随机抽取k个元素(j/m=λk,λ=2,4,8,...,2n),从剩下的行组,也就是第m个行组第一行中选取r个元素(j mod m=λr,λ=2,4,8,...,2n);
S23:合并S22中抽取的数据,形成新的纪录,记NewRow;
S24:对NewRow进行压缩代价分析,对NewRow并发执行多种轻量级压缩算法,记录每一种压缩算法的压缩时间与压缩率,根据压缩时间与压缩率确定压缩代价;
S25:为行组每一行选择代价最小的压缩算法压缩服务器数据节点,再执行S21。
CN201611199323.3A 2016-12-22 2016-12-22 一种应用于RCFile存储模型的预分配的自适应压缩方法 Active CN106817406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611199323.3A CN106817406B (zh) 2016-12-22 2016-12-22 一种应用于RCFile存储模型的预分配的自适应压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611199323.3A CN106817406B (zh) 2016-12-22 2016-12-22 一种应用于RCFile存储模型的预分配的自适应压缩方法

Publications (2)

Publication Number Publication Date
CN106817406A true CN106817406A (zh) 2017-06-09
CN106817406B CN106817406B (zh) 2020-05-26

Family

ID=59110009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611199323.3A Active CN106817406B (zh) 2016-12-22 2016-12-22 一种应用于RCFile存储模型的预分配的自适应压缩方法

Country Status (1)

Country Link
CN (1) CN106817406B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124466A1 (en) * 2011-11-14 2013-05-16 Siddartha Naidu Data Processing Service
CN105022741A (zh) * 2014-04-23 2015-11-04 苏宁云商集团股份有限公司 压缩方法和系统以及云存储方法和系统
CN105592313A (zh) * 2014-10-21 2016-05-18 广东中星电子有限公司 一种分组自适应熵编码压缩方法
CN106066896A (zh) * 2016-07-15 2016-11-02 中国人民解放军理工大学 一种应用感知的大数据重复删除存储系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124466A1 (en) * 2011-11-14 2013-05-16 Siddartha Naidu Data Processing Service
CN105022741A (zh) * 2014-04-23 2015-11-04 苏宁云商集团股份有限公司 压缩方法和系统以及云存储方法和系统
CN105592313A (zh) * 2014-10-21 2016-05-18 广东中星电子有限公司 一种分组自适应熵编码压缩方法
CN106066896A (zh) * 2016-07-15 2016-11-02 中国人民解放军理工大学 一种应用感知的大数据重复删除存储系统及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
闵林 等: "基于RCFile的无线传感器网络数据存储策略研究", 《计算机科学》 *

Also Published As

Publication number Publication date
CN106817406B (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
CN105005617B (zh) 一种时间序列数据的存储方法及装置
CN103577440B (zh) 一种非关系型数据库中的数据处理方法和装置
US9736043B2 (en) Optimization of resource utilization in a collection of devices
CN104424229B (zh) 一种多维度拆分的计算方法及系统
CN103577602A (zh) 一种二次聚类方法及系统
CN106095807B (zh) 一种分布式文件系统纠删码缓存装置及其缓存方法
CN104408163B (zh) 一种数据分级存储方法和装置
CN107040422A (zh) 一种基于物化缓存的网络大数据可视化方法
CN104348490A (zh) 一种基于效果优选的组合数据压缩算法
CN105989129A (zh) 实时数据统计方法和装置
CN107436738A (zh) 一种数据存储方法及系统
CN111737393B (zh) 一种web环境下矢量数据自适管理方法及系统
CN104486777B (zh) 一种实现数据处理的方法及装置
CN102938790A (zh) 云计算系统中的资源分配方法
CN104572505A (zh) 一种保证海量数据缓存最终一致性的系统及方法
CN107220348A (zh) 一种基于Flume与Alluxio的数据收集方法
CN104376109A (zh) 一种基于数据分布库的多维度数据分布方法
CN103455555A (zh) 基于移动终端相似度的推荐方法及推荐装置
JP2023543004A (ja) ヒルベルト曲線に基づくr木インデックスのマージ更新方法、装置及び媒体
CN105915595A (zh) 一种集群存储系统存取数据的方法以及集群存储系统
CN106817406A (zh) 一种应用于RCFile存储模型的预分配的自适应压缩方法
JP2019204475A (ja) Hadoopに基づいて、複数の2MB以下のファイルをキャッシュする方法
CN107016050A (zh) 数据处理方法及装置
CN115052008B (zh) 基于云存储的区块链数据链下存储方法
CN106161056B (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