CN108093024A - 一种基于数据频度的分类路由方法及装置 - Google Patents

一种基于数据频度的分类路由方法及装置 Download PDF

Info

Publication number
CN108093024A
CN108093024A CN201711119660.1A CN201711119660A CN108093024A CN 108093024 A CN108093024 A CN 108093024A CN 201711119660 A CN201711119660 A CN 201711119660A CN 108093024 A CN108093024 A CN 108093024A
Authority
CN
China
Prior art keywords
fingerprint
data
data block
block
frequency information
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
CN201711119660.1A
Other languages
English (en)
Other versions
CN108093024B (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.)
Northwestern Polytechnical University
Original Assignee
Northwestern Polytechnical 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 Northwestern Polytechnical University filed Critical Northwestern Polytechnical University
Priority to CN201711119660.1A priority Critical patent/CN108093024B/zh
Publication of CN108093024A publication Critical patent/CN108093024A/zh
Application granted granted Critical
Publication of CN108093024B publication Critical patent/CN108093024B/zh
Expired - Fee Related 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/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
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Abstract

本发明公开了一种基于数据频度的分类路由方法及装置,涉及通信技术领域。包括:前置机收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。

Description

一种基于数据频度的分类路由方法及装置
技术领域
本发明涉及通信技术领域,更具体的涉及一种基于数据频度的分类路由方法及装置。
背景技术
随着科技的飞速发展和社会的信息化,全世界每年产生的数据量迅速增长,存储空间尤其是企业的存储需求量也越来越大,对大数据的存储和备份需求甚至可以达到PB级别。因此,企业面临着巨大的数据存储压力,具体体现在较大的管理成本和存储开销上,如何降低存储使用量的问题已成为业界一个亟待解决的关键技术问题。
从2009年开始,以可扩展的吞吐量和容量为目标,产生了一些重复数据删除集群技术,其中最著名的是普林斯顿大学提出的重复数据删除集群,Extreme Binning和HYDRAstor等方案。具体地,普林斯顿大学基于Bloom Filter单节点重复数据删除系统提出了一种重复数据删除集群,该方法采用一种基于超块的数据路由算法,使用较大的超级块增大缓存的局部性,同时使用较小的块进行重复数据删除来获得更高的吞吐量;HYDRAstor是一个重复数据删除集群,以64KB的数据块为粒度,基于分布式哈希表将数据块路由到不同的重删服务器节点,并在节点内按照块粒度完成重复数据删除,这种技术采用块粒度可以较好的平衡去重率和计算与查询开销,但是未能充分利用集群重删系统内数据的局部性,而且数据块的粒度较大导致在节点内部进行重删时,所获得的重删率相对较低。
而在如何有效的解决集群中多节点重删的信息孤岛问题时,EMC通过利用数据局部性设计了基于超块的数据路由策略。它对数据块采用超块路由、细粒度数据块重删的方式来完成整个重删流程,这样既保证了数据的局部性和负载均衡,又保证了存储节点内的数据重删率。在这种方案中,EMC按照是否进行对已路由数据的信息查询,将数据路由策略分为有状态路由和无状态路由两类。无状态数据路由是指常规的基于分布式哈希表进行超块的数据路由,它能较好的平衡集群中的节点负载,但当集群规模比较大时数据重删率较低并且会影响到负载均衡的保证;而有状态路由中,超块在路由时需要查询其数据块与所有节点内已经存储的数据块的重复块数,然后在保证负载均衡的前提下选择重复数据块数最多的存储节点用于路由。这种方案能在保持数据分布均衡的前提下获得很高的去重率,但是花费了较大的查询和通信开销。
发明内容
本发明实施例提供一种基于数据频度的分类路由方法及装置,用以解决现有技术中存在有路由状态开销较大,影响了集群的重删性能,而无路由状态则无法保证重删率的问题。
本发明实施例提供了一种基于数据频度的分类路由方法,该方法包括:
前置机收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,所述前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;
当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;
对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。
优选地,还包括:
当所述频度信息小于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为非热点数据,将所述非热点数据所在的超块确定为第二超块,并将所述非热点数据确定为有状态路由。
优选地,所述前置机收到的客户端发送的数据块以及所述数据块对应的指纹之前,还包括:
所述客户端对待处理的数据进行超块和数据块划分,确定所述数据块的指纹以及所述超块的代表指纹,其中,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的;所述代表指纹为按照选择标准从超级块内确定的一个所述数据块对应的指纹。
优选地,所述布隆过滤器采用多个哈希函数,且每个所述哈希函数映射到的字节位的频度信息不同。
所述将所述指纹映射到所述布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位,具体包括:
通过下列公式确定所述数据块特征指纹对应的频度信息,
BF.freal(x)=min(BF.f1(x),BF.f2(x),,,BF.fn(x))
其中,BF.f(x)表示对每个所述数据块对应的所述指纹x使用哈希函数f(x)后映射到的所述布隆过滤器相应位上的频度值,下标n表示采用第n个哈希函数,BF.freal(x)表示所述数据块对应的指纹的真实频度值。本发明实施例还提供一种基于数据频度的分类路由装置,该装置包括:
第一确定单元,用于收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到所述布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;
第二确定单元,用于当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;
第三确定单元,用于对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。
优选地,所述第二确定单元还用于:
当所述频度信息小于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为非热点数据,将所述非热点数据所在的超块确定为第二超块,并将所述非热点数据确定为有状态路由。
优选地,所述第一确定单元还用于:
对待处理的数据进行超块和数据块划分,确定所述数据块的指纹以及所述超块的代表指纹,其中,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的;所述代表指纹为按照选择标准从超级块内确定的一个所述数据块对应的指纹。
优选地,所述布隆过滤器采用多个哈希函数,且每个所述哈希函数映射到的字节位的频度信息不同。
所述第一确定单元还用于:
通过下列公式确定所述数据块特征指纹对应的频度信息,
BF.freal(x)=min(BF.f1(x),BF.f2(x),,,BF.fn(x))
其中,BF.f(x)表示对每个所述数据块对应的所述指纹x使用哈希函数f(x)后映射到的所述布隆过滤器相应位上的频度值,下标n表示采用第n个哈希函数,BF.freal(x)表示所述数据块对应的指纹的真实频度值。
本发明实施例提供了一种基于数据频度的分类路由方法,该方法包括:前置机收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,所述前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。上述方法中,将客户端发送的数据块,数据块对应的指纹映射到布隆过滤器上,通过布隆过滤器将客户端发送数据块划分为热点数据和非热点数据,可以对热点数据和非热点数据分别采取不同的处理方法,从而解决了,现有技术中存在有路由状态开销较大,影响了集群的重删性能,而无路由状态则无法保证重删率的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于数据频度的分类路由方法流程示意图;
图2为本发明实施例提供的系统架构示意图;
图3为本发明实施例提供的一种基于数据频度的分类路由装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种基于数据频度的分类路由方法流程示意图,如图1所示,本发明实施例提供一种基于数据频度的分类路由方法主要包括以下步骤:
步骤101,前置机收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,所述前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;
步骤102,当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;
步骤103,对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。
图2为本发明实施例提供的系统架构示意图,如图2所示,该系统主要由客户端,前置机和集群存储节点三部分组成。
其中,客户端用于对待处理的数据进行超块和数据块级别的分块,然后计算每个数据块的指纹,将数据块和指纹发送到前置机进行处理。
前置机:维护具有数据块特征指纹信息和数据块特征指纹频度信息的字节型布隆过滤器以及一个长度为128的频度数组,判断到来的数据块是否为热点数据,分别对非热点数据实现有状态、热点数据实现无状态路由。
集群存储节点:完成重复数据删除工作,并存储重删后的数据。
以下结合图1和图2,对本发明实施例提供的一种基于数据频度的分类路由方法进行介绍:
在步骤101之前,客户端需要对待处理的数据进行超块和数据块级别的分块。具体地,在本发明实施例中,客户端按照定长分块算法,对接收到的待处理数据进行数据块划分,将划分后的成千个数据块组成为一个超块,然后根据设定标准从超块内选择一个数据块的指纹作为超块的代表指纹,在实际应用中,设定的标准可以是选择一个最新指纹作为代表指纹,可以是选择一个最大的指纹作为代表指纹,还可以是选择一个介于最大和最小之间的指纹作为代表指纹,在本发明实施例中,对超块的代表指纹的设定标准不做具体地限定。
需要说明的是,在将成千个数据块组成一个超块时,均需要计算每个数据块的指纹,在本发明实施例中,对计算数据块的指纹的时间先后顺序不做规定,即,可以在将成千个数据块组成一个超块后,计算每个数据块的指纹;也可以在确定每个数据块的指纹之后,在将成千个数据块组成一个超块。
需要说明的是,定长分块是按照预先定义好的块大小将文件分成互不重叠的大小固定的数据块。此方法具有数据块管理简单、文件划分速度快等优点,但对插入和删除数据敏感,一旦文件数据改变时,块的边界将发生变化,不利于重复数据检测。
数据指纹是数据块的本质特征,理想状态是每个唯一数据块具有唯一的数据指纹,不同的数据块具有不同的数据指纹;数据指纹通常是对数据块内容进行相关数学运算获得,从当前研究成果来看Hash函数比较接近与理想目标,比如MD5、SHA1、SHA-256、SHA-512、为one-Way、RabinHash等。另外,还有许多字符串Hash函数也可以用来计算数据块指纹。
在步骤101中,当前值机收到的客户端发送的数据块以及所述数据块对应的指纹后,需要将指纹映射到布隆过滤器上。在本发明实施例中,前值机内维护有布隆过滤器,该布隆过滤器以字节型数组的形式记录了各个不同数据块指纹的频度信息,而频度数组记录了不同频度(0~127)在字节型布隆过滤器中出现的次数。
在本发明实施例中,将指纹映射到所述布隆过滤器上,当指纹与布隆过滤器内维护的数据块特征指纹一致时,将数据块特征指纹对应的频度信息递增1位。需要说明的是,在上述指纹与布隆过滤器内维护的数据特征指纹一致时,其还可以表示为,因为布隆过滤器中使用了多个哈希函数,而每个哈希函数映射到的字节位的频度值都不同,在本发明实施例中,采用频度最小值表示该映射指纹的频度,具体如下列公式所示:
BF.freal(x)=min(BF.f1(x),BF.f2(x),,,BF.fn(x))
其中,BF.f(x)表示对每个所述数据块对应的所述指纹x使用哈希函数f(x)后映射到的所述布隆过滤器相应位上的频度值,下标n表示采用第n个哈希函数,BF.freal(x)表示所述数据块对应的指纹的真实频度值。
需要说明的是,下标n可通过布隆过滤器的位数和控制误判率来计算,BF.freal(x)表示该数据块指纹的真实频度,即选取多个哈希函数映射的结果中最小的数值作为真实频度值。
进一步地,当确定指纹与布隆过滤器内维护的数据特征块指纹一致时,会将数据特征块指纹对应的频度信息递增1位。其中,因为指纹位可以对应具体地数据块,而布隆过滤器内维护有数据特征块指纹,当指纹与数据特征块指纹一致时,可以确定客户端发送的数据块与布隆过滤器内维护的数据特征块指纹一致,而当数据特征块指纹对应的频度信息递增1位时,可以确定客户端发送的数据块的具体数量。
需要说明的是,字节型布隆过滤器中每个字节位所计数的范围是0~127(不可能为负数),所以相应的在前置机维护了一个长度为128的频度数组,用于统计整个字节型布隆过滤器的每个字节位分别是多少。初始化下标非0的数组值都为0,下标为0的数组值则为布隆过滤器的字节位的数量,在这个基础上随着布隆过滤器的更新进行同步的更新。如布隆过滤器某个字节位由100变为101,就意味着频度数组中下标为101的数组值(该频度出现的次数)要加一,同时下标为100的数组值要减去一。进一步地,字节型布隆过滤器记录的是数据块指纹值命中的频度,而频度数组记录的是字节型布隆过滤器中分别有多少个字节位出现了该频度,即频度的频度。
在步骤102中,当数据块特征指纹信息对应的频度信息大于设定的阈值时,可以将频度信息对应的数据块确定为热点数据,相应地,将数据块特征指纹信息对应的频度信息小于设定阈值的数据块确定为非热点数据。
比如,按照频度数组的频度由低到高排列,选取其中占所有频度的总次数最低的20%所包括的频度范围作为非热点数据范围,相应的高于此频度范围的部分则为热点数据范围。对于每个待处理的数据块,读取其所在字节型布隆过滤器命中的位的频度信息,看其处于哪个范围则可以判断它是否热点数据。
进一步地,将热点数据所在的超块确定为第一超块。
在步骤103中,对第一超块的代表指纹进行哈希取模,并将热点数据确定为无状态路由。
在步骤103之后,将非热点数据所在的超块确定为第二超块,并将非热点数据确定为有状态路由。
基于同一发明构思,本发明实施例提供了一种基于数据频度的分类路由装置,由于该装置解决技术问题的原理与一种基于数据频度的分类路由方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图2所示,该装置主要包括第一确定单元301,第二确定单元302和第三确定单元303。
第一确定单元301,用于收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到所述布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;
第二确定单元302,用于当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;
第三确定单元303,用于对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。
优选地,所述第二确定单元302还用于:
当所述频度信息小于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为非热点数据,将所述非热点数据所在的超块确定为第二超块,并将所述非热点数据确定为有状态路由。
优选地,所述第一确定单元301还用于:
对待处理的数据进行超块和数据块划分,确定所述数据块的指纹以及所述超块的代表指纹,其中,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的;所述代表指纹为按照选择标准从超级块内确定的一个所述数据块对应的指纹。
优选地,所述布隆过滤器采用多个哈希函数,且每个所述哈希函数映射到的字节位的频度信息不同。
所述第一确定单元301还用于:
通过下列公式确定所述数据块特征指纹对应的频度信息,
BF.freal(x)=min(BF.f1(x),BF.f2(x),,,BF.fn(x))
其中,BF.f(x)表示对每个所述数据块对应的所述指纹x使用哈希函数f(x)后映射到的所述布隆过滤器相应位上的频度值,下标n表示采用第n个哈希函数,BF.freal(x)表示所述数据块对应的指纹的真实频度值。
应当理解,以上一种基于数据频度的分类路由装置包括的单元仅为根据该设备装置实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的一种基于数据频度的分类路由装置所实现的功能与上述实施例提供的一种基于数据频度的分类路由方法一一对应,对于该装置所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于数据频度的分类路由方法,其特征在于,该方法包括:
前置机收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,所述前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;
当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;
对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述频度信息小于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为非热点数据,将所述非热点数据所在的超块确定为第二超块,并将所述非热点数据确定为有状态路由。
3.如权利要求1所述的方法,其特征在于,所述前置机收到的客户端发送的数据块以及所述数据块对应的指纹之前,还包括:
所述客户端对待处理的数据进行超块和数据块划分,确定所述数据块的指纹以及所述超块的代表指纹,其中,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的;所述代表指纹为按照选择标准从超级块内确定的一个所述数据块对应的指纹。
4.如权利要求1所述的方法,其特征在于,所述布隆过滤器采用多个哈希函数,且每个所述哈希函数映射到的字节位的频度信息不同。
所述将所述指纹映射到所述布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位,具体包括:
通过下列公式确定所述数据块特征指纹对应的频度信息,
BF.freal(x)=min(BF.f1(x),BF.f2(x),,,BF.fn(x))
其中,BF.f(x)表示对每个所述数据块对应的所述指纹x使用哈希函数f(x)后映射到的所述布隆过滤器相应位上的频度值,下标n表示采用第n个哈希函数,BF.freal(x)表示所述数据块对应的指纹的真实频度值。
5.一种基于数据频度的分类路由装置,其特征在于,该装置包括:
第一确定单元,用于收到的客户端发送的数据块以及所述数据块对应的指纹,将所述指纹映射到所述布隆过滤器上,当所述指纹与所述布隆过滤器内维护的数据块特征指纹一致时,将所述数据块特征指纹对应的频度信息递增1位;其中,前置机内设置有布隆过滤器,所述布隆过滤器由多个字节组成,且所述布隆过滤器内维护有数据块特征指纹信息和与所述数据块特征指纹信息对应的频度信息;
第二确定单元,用于当所述频度信息大于等于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为热点数据,将所述热点数据所在的超块确定为第一超块;
第三确定单元,用于对所述第一超块的代表指纹进行哈希取模,并将所述热点数据确定为无状态路由。
6.如权利要求1所述的装置,其特征在于,所述第二确定单元还用于:
当所述频度信息小于设定阈值时,将所述频度信息通过所述数据块特征指纹对应的所述数据块确定为非热点数据,将所述非热点数据所在的超块确定为第二超块,并将所述非热点数据确定为有状态路由。
7.如权利要求5所述的装置,其特征在于,所述第一确定单元还用于:
对待处理的数据进行超块和数据块划分,确定所述数据块的指纹以及所述超块的代表指纹,其中,所述超块内包括多个所述数据块,所述数据块为所述客户端对接收到的待处理数据按照定长块方式划分确定的;所述代表指纹为按照选择标准从超级块内确定的一个所述数据块对应的指纹。
8.如权利要求5所述的装置,其特征在于,所述布隆过滤器采用多个哈希函数,且每个所述哈希函数映射到的字节位的频度信息不同。
所述第一确定单元还用于:
通过下列公式确定所述数据块特征指纹对应的频度信息,
BF.freal(x)=min(BF.f1(x),BF.f2(x),,,BF.fn(x))
其中,BF.f(x)表示对每个所述数据块对应的所述指纹x使用哈希函数f(x)后映射到的所述布隆过滤器相应位上的频度值,下标n表示采用第n个哈希函数,BF.freal(x)表示所述数据块对应的指纹的真实频度值。
CN201711119660.1A 2017-11-14 2017-11-14 一种基于数据频度的分类路由方法及装置 Expired - Fee Related CN108093024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711119660.1A CN108093024B (zh) 2017-11-14 2017-11-14 一种基于数据频度的分类路由方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711119660.1A CN108093024B (zh) 2017-11-14 2017-11-14 一种基于数据频度的分类路由方法及装置

Publications (2)

Publication Number Publication Date
CN108093024A true CN108093024A (zh) 2018-05-29
CN108093024B CN108093024B (zh) 2020-08-04

Family

ID=62172150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711119660.1A Expired - Fee Related CN108093024B (zh) 2017-11-14 2017-11-14 一种基于数据频度的分类路由方法及装置

Country Status (1)

Country Link
CN (1) CN108093024B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134331A (zh) * 2019-04-26 2019-08-16 重庆大学 路由路径规划方法、系统及可读存储介质
CN110677348A (zh) * 2019-09-17 2020-01-10 阿里巴巴集团控股有限公司 基于缓存集群路由的数据分发方法、访问方法及各自装置
CN111352938A (zh) * 2020-02-26 2020-06-30 深圳市网心科技有限公司 数据处理方法、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080186974A1 (en) * 2006-10-23 2008-08-07 Sumeet Singh System and method to process data packets in a network using stateful decision trees
US20080249994A1 (en) * 2006-11-28 2008-10-09 Calder Group, Inc. System and process for server side stateless data interchange
CN103631933A (zh) * 2013-12-06 2014-03-12 中国科学院计算技术研究所 一种面向分布式去重系统的数据路由方法
CN105450767A (zh) * 2015-12-04 2016-03-30 珠海迈科智能科技股份有限公司 一种智能设备的网络连接方法、装置及智能设备
CN105897921A (zh) * 2016-05-27 2016-08-24 重庆大学 一种结合指纹抽样和减少数据碎片的数据块路由方法
CN106201771A (zh) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 数据存储系统和数据读写方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080186974A1 (en) * 2006-10-23 2008-08-07 Sumeet Singh System and method to process data packets in a network using stateful decision trees
US20080249994A1 (en) * 2006-11-28 2008-10-09 Calder Group, Inc. System and process for server side stateless data interchange
CN103631933A (zh) * 2013-12-06 2014-03-12 中国科学院计算技术研究所 一种面向分布式去重系统的数据路由方法
CN106201771A (zh) * 2015-05-06 2016-12-07 阿里巴巴集团控股有限公司 数据存储系统和数据读写方法
CN105450767A (zh) * 2015-12-04 2016-03-30 珠海迈科智能科技股份有限公司 一种智能设备的网络连接方法、装置及智能设备
CN105897921A (zh) * 2016-05-27 2016-08-24 重庆大学 一种结合指纹抽样和减少数据碎片的数据块路由方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘厚贵等: "一种支持海量数据备份的可扩展分布式重复数据删除系统", 《计算机研究与发展》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134331A (zh) * 2019-04-26 2019-08-16 重庆大学 路由路径规划方法、系统及可读存储介质
CN110134331B (zh) * 2019-04-26 2020-06-05 重庆大学 路由路径规划方法、系统及可读存储介质
CN110677348A (zh) * 2019-09-17 2020-01-10 阿里巴巴集团控股有限公司 基于缓存集群路由的数据分发方法、访问方法及各自装置
CN110677348B (zh) * 2019-09-17 2021-07-27 创新先进技术有限公司 基于缓存集群路由的数据分发方法、访问方法及各自装置
CN111352938A (zh) * 2020-02-26 2020-06-30 深圳市网心科技有限公司 数据处理方法、计算机设备及存储介质
CN111352938B (zh) * 2020-02-26 2023-07-18 深圳市迅雷网络技术有限公司 数据处理方法、计算机设备及存储介质

Also Published As

Publication number Publication date
CN108093024B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
US9965483B2 (en) File system
CA2766231C (en) Namespace file system accessing an object store
CN105045877B (zh) 数据库数据分片存储方法和装置、数据查询方法和装置
CN103902632B (zh) 键值存储系统中构建文件系统的方法、装置及电子设备
US8793227B2 (en) Storage system for eliminating duplicated data
US8266136B1 (en) Mechanism for performing fast directory lookup in a server system
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
US8229968B2 (en) Data caching for distributed execution computing
US20060259728A1 (en) Storing information on storage devices having different performance capabilities within a storage system
US10394452B2 (en) Selecting pages implementing leaf nodes and internal nodes of a data set index for reuse
CN107798130A (zh) 一种分布式存储的快照方法
CN108089816A (zh) 一种基于负载均衡的查询式重复数据删除方法及装置
CN108093024A (zh) 一种基于数据频度的分类路由方法及装置
CN104054071A (zh) 访问存储设备的方法和存储设备
CN106570113A (zh) 一种海量矢量切片数据云存储方法及系统
CN109583861B (zh) key-value数据库中的数据压缩方法、访问方法和系统
CN110399333A (zh) 删除快照的方法、设备和计算机程序产品
CN109086462A (zh) 一种分布式文件系统中元数据的管理方法
CN110187834A (zh) 重删副本的数据处理方法、装置、电子设备
CN104537023B (zh) 一种反向索引记录的存储方法及装置
CN103348653A (zh) 扩容的方法和设备、以及访问数据的方法和设备
CN103036796B (zh) 路由信息更新方法及装置
CN106663052A (zh) 文件系统、数据重复排除方法以及用于文件系统的程序
JP6006740B2 (ja) インデックス管理装置
CN110832473B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200804

Termination date: 20211114