CN108270851B - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN108270851B CN108270851B CN201711499260.8A CN201711499260A CN108270851B CN 108270851 B CN108270851 B CN 108270851B CN 201711499260 A CN201711499260 A CN 201711499260A CN 108270851 B CN108270851 B CN 108270851B
- Authority
- CN
- China
- Prior art keywords
- slave node
- node
- slave
- data
- selecting
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种数据存储方法及装置,该方法包括:在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点;获取从节点在网络拓扑结构中到主节点的网络距离,以及从节点当前存储的数据副本量;根据网络距离和数据副本量,计算从节点的调度评价值;根据调度评价值,选取从节点用于存储数据。本发明既能缓解海量小文件对数据节点带来的内存空间的压力,又能实现数据存放的负载均衡,还能实现良好的数据传输性。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种数据存储方法及装置。
背景技术
随着互联网的高速发展,当今社会所产生的数据量在急速增长。在互联网中的信息数据大多是以高频率的小文件形式表现出来的,且在一般用户的信息存储访问中对小文件的存储访问的操作相对较多。
在云存储系统中,海量的数据存储、高性能、高扩展性是其主要特点,但是当小文件的数量达到一定程度之后,存储海量小文件会对数据节点带来巨大的内存空间的压力,对海量小文件的频繁且重复的访问也会给数据节点带来性能及负载均衡方面的影响。在云存储系统中,小文件的存放位置至关重要,当云存储系统中存在海量小文件时,客户端对小文件的访问与小文件的存储位置关系密切。
发明内容
本发明提供一种数据存储方法及装置,以解决现有技术中海量小文件在存储时会带来较大的内存空间压力,以及在访问时会带来性能及负载均衡方面影响的问题。
第一方面,本发明实施例提供一种数据存储方法,包括:
在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点;
获取所述从节点在网络拓扑结构中到所述主节点的网络距离,以及所述从节点当前存储的数据副本量;
根据所述网络距离和所述数据副本量,计算所述从节点的调度评价值;
根据所述调度评价值,选取所述从节点用于存储数据。
作为本发明第一方面的优选方式,计算所述从节点的调度评价值的计算式如下:
f(dL,d)=AL+(1-A)×d,
其中,d为距离系数,反比于所述从节点到所述主节点的网络距离;L为节点负载系数,反比于所述从节点当前存储的数据副本量;A为平衡因子,指示距离系数d和节点负载系数L在评价中的比重,其中A∈[0,1]。
作为本发明第一方面的优选方式,所述根据所述调度评价值,依次选取所述从节点用于存储数据包括:
按照所述调度评价值从高到低的顺序,对所述从节点进行排序,形成从节点队列;
从所述从节点队列中,选取排在首位的所述从节点用于存储数据。
第二方面,本发明实施例提供一种数据存储装置,包括:
选取单元,用于在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点;
获取单元,用于获取所述从节点在网络拓扑结构中到所述主节点的网络距离,以及所述从节点当前存储的数据副本量;
计算单元,用于根据所述网络距离和所述数据副本量,计算所述从节点的调度评价值;
存储单元,用于根据所述调度评价值,选取所述从节点用于存储数据。
作为本发明第二方面的优选方式,所述计算单元中用于计算所述从节点的调度评价值的计算式如下:
f(dL,d)=AL+(1-A)×d,
其中,d为距离系数,反比于所述从节点到所述主节点的网络距离;L为节点负载系数,反比于所述从节点当前存储的数据副本量;A为平衡因子,指示距离系数d和节点负载系数L在评价中的比重,其中A∈[0,1]。
作为本发明第二方面的优选方式,所述存储单元具体用于:
按照所述调度评价值从高到低的顺序,对所述从节点进行排序,形成从节点队列;
从所述从节点队列中,选取排在首位的所述从节点用于存储数据。
本发明提供的一种数据存储方法及装置,对于每个可供选择的从节点,通过综合主节点与从节点的网络距离以及从节点的数据负载两方面的因素,得出每个从节点的调度评价值,并将该调度评价值作为选择数据存储节点的依据,从中选出一个最佳的远程节点来放置数据副本。这样,既能缓解海量小文件对数据节点带来的内存空间的压力,又能实现数据存放的负载均衡,还能实现良好的数据传输性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储方法的流程示意图;
图2为本发明实施例提供的一种数据存储方法的另一流程示意图;
图3为本发明实施例提供的一种数据存储装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参照图1所示,本发明实施例公开了一种数据存储方法,包括:
101、在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点。
本实施例中,在云存储系统中,当客户端提交数据存储请求后,接收该请求的主节点会随机选取一定数量的分布于不同机架上的从节点。
选取的从节点的数量一般根据云存储系统的规模大小以及请求存储的数据量来确定,本发明实施例中对从节点选取的数量和选取的方式不做限定。
102、获取所述从节点在网络拓扑结构中到所述主节点的网络距离,以及所述从节点当前存储的数据副本量。
本实施例中,选取到一定数量的从节点后,分别获取在网络拓扑结构中各个从节点到主节点的网络距离,以及各个从节点当前存储的数据副本量。
103、根据所述网络距离和所述数据副本量,计算所述从节点的调度评价值。
本实施例中,根据上述步骤获取的各个从节点到主节点的网络距离,以及各个从节点当前存储的数据副本量,来确定各个从节点的调度评价值。由于该调度评价值综合了主节点与从节点的网络距离以及从节点的数据负载两方面的因素,评价更为客观。
具体地,在一种可能的实施方式中,计算从节点的调度评价值的计算式如下:
f(dL,d)=AL+(1-A)×d,
其中,d为距离系数,反比于从节点到主节点的网络距离;L为节点负载系数,反比于从节点当前存储的数据副本量;A为平衡因子,指示距离系数d和节点负载系数L在评价中的比重,其中A∈[0,1]。
104、根据所述调度评价值,选取所述从节点用于存储数据。
本实施例中,根据上述步骤计算出的各个从节点的调度评价值,来选取数据存储的节点。
将该调度评价值作为选择数据存储节点的依据,从中选出一个最佳的远程节点来放置数据副本。
在一种可能的实施方式中,步骤104可按照如下步骤具体实现:
1041、按照调度评价值从高到低的顺序,对从节点进行排序,形成从节点队列;
1042、从该从节点队列中,选取排在首位的所述从节点用于存储数据。
依据从高到低的顺序对各个从节点进行排序,并最终选取排在首位的从节点作为数据存储的节点。这样,既能缓解海量小文件对数据节点带来的内存空间的压力,又能实现数据存放的负载均衡,还能实现良好的数据传输性。
参照图2所示,本发明实施例提供一种数据存储方法,包括:
201、在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点。
202、获取从节点在网络拓扑结构中到主节点的网络距离,以及从节点当前存储的数据副本量。
203、根据网络距离和数据副本量,计算从节点的调度评价值。
204、按照调度评价值从高到低的顺序,对从节点进行排序,形成从节点队列;
205、从该从节点队列中,选取排在首位的从节点用于存储数据。
需要说明的是,本发明实施例提供的数据存储方法,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。
参照图3所示,本发明实施例提供一种数据存储装置,包括:
选取单元31,用于在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点;
获取单元32,用于获取所述从节点在网络拓扑结构中到所述主节点的网络距离,以及所述从节点当前存储的数据副本量;
计算单元33,用于根据所述网络距离和所述数据副本量,计算所述从节点的调度评价值;
存储单元34,用于根据所述调度评价值,选取所述从节点用于存储数据。
优选地,计算单元33中用于计算从节点的调度评价值的计算式如下:
f(dL,d)=AL+(1-A)×d,
其中,d为距离系数,反比于所述从节点到所述主节点的网络距离;L为节点负载系数,反比于所述从节点当前存储的数据副本量;A为平衡因子,指示距离系数d和节点负载系数L在评价中的比重,其中A∈[0,1]。
优选地,存储单元34具体用于:
按照所述调度评价值从高到低的顺序,对所述从节点进行排序,形成从节点队列;
从所述从节点队列中,选取排在首位的所述从节点用于存储数据。
需要说明的是,本发明实施例提供的数据存储装置与前述实施例所述的数据存储方法属于相同的技术构思,其具体实施过程可参照前述实施例中对方法步骤的说明,在此不再赘述。
本发明提供的一种数据存储方法及装置,对于每个可供选择的从节点,通过综合主节点与从节点的网络距离以及从节点的数据负载两方面的因素,得出每个从节点的调度评价值,并将该调度评价值作为选择数据存储节点的依据,从中选出一个最佳的远程节点来放置数据副本。这样,既能缓解海量小文件对数据节点带来的内存空间的压力,又能实现数据存放的负载均衡,还能实现良好的数据传输性。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种数据存储方法,其特征在于,包括:
在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点;
获取所述从节点在网络拓扑结构中到所述主节点的网络距离,以及所述从节点当前存储的数据副本量;
根据所述网络距离和所述数据副本量,计算所述从节点的调度评价值;计算所述从节点的调度评价值的计算式如下:
f(dL,d)=AL+(1-A)×d,
其中,d为距离系数,反比于所述从节点到所述主节点的网络距离;L为节点负载系数,反比于所述从节点当前存储的数据副本量;A为平衡因子,指示距离系数d和节点负载系数L在评价中的比重,其中A∈[0,1];
根据所述调度评价值,选取所述从节点用于存储数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述调度评价值,依次选取所述从节点用于存储数据包括:
按照所述调度评价值从高到低的顺序,对所述从节点进行排序,形成从节点队列;
从所述从节点队列中,选取排在首位的所述从节点用于存储数据。
3.一种数据存储装置,其特征在于,包括:
选取单元,用于在客户端向主节点提交数据存储请求后,选取至少一个分布于不同机架上的从节点;
获取单元,用于获取所述从节点在网络拓扑结构中到所述主节点的网络距离,以及所述从节点当前存储的数据副本量;
计算单元,用于根据所述网络距离和所述数据副本量,计算所述从节点的调度评价值;计算所述从节点的调度评价值的计算式如下:
f(dL,d)=AL+(1-A)×d,
其中,d为距离系数,反比于所述从节点到所述主节点的网络距离;L为节点负载系数,反比于所述从节点当前存储的数据副本量;A为平衡因子,指示距离系数d和节点负载系数L在评价中的比重,其中A∈[0,1];
存储单元,用于根据所述调度评价值,选取所述从节点用于存储数据。
4.根据权利要求3所述的装置,其特征在于,所述存储单元具体用于:
按照所述调度评价值从高到低的顺序,对所述从节点进行排序,形成从节点队列;
从所述从节点队列中,选取排在首位的所述从节点用于存储数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711499260.8A CN108270851B (zh) | 2017-12-29 | 2017-12-29 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711499260.8A CN108270851B (zh) | 2017-12-29 | 2017-12-29 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108270851A CN108270851A (zh) | 2018-07-10 |
CN108270851B true CN108270851B (zh) | 2021-06-18 |
Family
ID=62773227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711499260.8A Expired - Fee Related CN108270851B (zh) | 2017-12-29 | 2017-12-29 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108270851B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082832A (zh) * | 2011-01-24 | 2011-06-01 | 中国人民解放军国防科学技术大学 | 一种分布式文件系统中的数据存储方法和装置 |
CN103139302A (zh) * | 2013-02-07 | 2013-06-05 | 浙江大学 | 考虑负载均衡的实时副本调度方法 |
CN103414761A (zh) * | 2013-07-23 | 2013-11-27 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
WO2014101044A1 (zh) * | 2012-12-27 | 2014-07-03 | 华为技术有限公司 | 分布式存储系统中的分区平衡方法、装置及服务器 |
CN104715044A (zh) * | 2011-12-28 | 2015-06-17 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
-
2017
- 2017-12-29 CN CN201711499260.8A patent/CN108270851B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082832A (zh) * | 2011-01-24 | 2011-06-01 | 中国人民解放军国防科学技术大学 | 一种分布式文件系统中的数据存储方法和装置 |
CN104715044A (zh) * | 2011-12-28 | 2015-06-17 | 北京奇虎科技有限公司 | 一种分布式系统及其数据操作方法 |
WO2014101044A1 (zh) * | 2012-12-27 | 2014-07-03 | 华为技术有限公司 | 分布式存储系统中的分区平衡方法、装置及服务器 |
CN103139302A (zh) * | 2013-02-07 | 2013-06-05 | 浙江大学 | 考虑负载均衡的实时副本调度方法 |
CN103414761A (zh) * | 2013-07-23 | 2013-11-27 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108270851A (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255427B (zh) | 一种数据存储和动态迁移方法及装置 | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN102457571B (zh) | 一种云存储中数据均衡分布方法 | |
CN107426332B (zh) | 一种web服务器集群的负载均衡方法及系统 | |
CN109408590B (zh) | 分布式数据库的扩容方法、装置、设备及存储介质 | |
JP5943430B2 (ja) | 分散記憶システムおよび分散記憶方法 | |
WO2017016423A1 (zh) | 一种实时新增数据更新方法和装置 | |
CN108363553A (zh) | 一种数据处理方法、装置及系统 | |
CN108009260A (zh) | 一种大数据存储下结合节点负载和距离的副本放置方法 | |
CN108241539B (zh) | 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备 | |
CN108804383B (zh) | 基于度量空间的支撑点并行枚举方法及装置 | |
CN111159219B (zh) | 一种数据管理方法、装置、服务器及存储介质 | |
CN101226542A (zh) | 一种报表缓存的方法 | |
CN108347459A (zh) | 一种云端数据快速存储方法及装置 | |
CN110674569A (zh) | 基于决策树的充电剩余时间估算方法及系统 | |
CN113835823A (zh) | 资源调度方法和装置、电子设备、计算机可读存储介质 | |
CN108270851B (zh) | 一种数据存储方法及装置 | |
KR102060198B1 (ko) | 고-중첩 추정에 민감한 스케치들 생성 | |
CN110633053B (zh) | 存储容量均衡方法、对象存储方法及装置 | |
CN115174582B (zh) | 数据调度方法及相关装置 | |
CN113064554B (zh) | 基于分布式存储的最优存储节点匹配方法、装置及介质 | |
CN113822768B (zh) | 社区网络的处理方法、装置、设备及存储介质 | |
CN113688115A (zh) | 一种基于Hadoop的档案大数据分布式存储系统 | |
CN112910988A (zh) | 一种资源获取方法及资源调度装置 | |
CN114328604B (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: 20210618 Termination date: 20211229 |