一种分布式系统及其数据操作方法_3

文档序号:8395964阅读:来源:国知局
存储节点。如果第一个副本所在的存储节点和第二个副本所在的存储节点在同一个机架上,则在第一个副本所在的存储节点所在的不同机架上,应用副本位置选择策略选择一个存储节点。否则,在和第二个副本所在的存储节点所在的机架上应用副本位置选择策略选择一个节点。
[0067]进一步的,对更多副本的存储节点选择,直接在全集群范围内应用副本位置选择策略选择存储节点。
[0068]在选择存储副本的存储节点时考虑计算节点计算任务的本地性、计算节点计算任务的负载,以及存储节点的容量负载后,理论上可从一定程度上优化计算效率,因为将新数据放置在计算任务的本地性差、计算负载低的机器上,计算主节点优先将以这些数据作为输入源的计算调度在这些存储节点所在机器的计算节点上进行。这样可以增加集群整体计算任务本地性特征,以及使得集群整体的计算负载更加均匀。另外,存储节点的选择策略考虑了存储节点的容量负载情况,可以使得集群中所有存储节点的容量负载更加均衡。
[0069]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0070]以上对本发明所提供的副本位置获取的方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种分布式系统,其特征在于,包括: 客户端,用于向主节点发送数据操作请求; 主节点,用于响应于客户端的请求获取存储节点列表,并将存储节点列表发送给客户端; 多个存储节点,用于存储客户端所请求操作的数据; 多个计算节点,用于执行由主节点基于用户的数据操作请求分配的计算任务; 其中,主节点在获取存储节点列表时,应用副本位置选择策略,来选择数据副本所对应的存储节点; 所述副本位置选择策略包括下述方式的至少一种:选择容量负载小的存储节点;选择计算负载小的计算节点;以及选择本地性差的存储节点。
2.根据权利要求1所述的系统,其特征在于,所述主节点在获取存储节点列表时,基于主节点中保存的分布式系统的元数据信息来应用副本位置选择策略。
3.根据权利要求2所述的系统,其特征在于,所述分布式系统的元数据信息包括存储节点的状态信息和/或计算节点的状态信息。
4.根据权利要求1所述的系统,其特征在于,所述存储节点列表包括至少一个副本位置信息。
5.根据权利要求4所述的系统,其特征在于,所述至少一个副本位置信息包括第一个副本位置信息,该第一个副本位置信息通过如下方式获得: 首先判断客户端是否在集群中,如果不在集群中,则在全局范围内应用副本位置选择策略选择一个存储节点;如果在集群中,则选择客户端所在的存储节点。
6.根据权利要求5所述的系统,其特征在于,在选择客户端所在的存储节点之前,还考虑该存储节点的容量负载,如果该存储节点不合适,则应用副本位置选择策略选择和客户端在同一个机架下的存储节点。
7.根据权利要求5所述的系统,其特征在于,所述至少一个副本位置信息还包括第二个副本位置信息,该第二个副本位置信息通过如下方式获得: 应用副本位置选择策略选择同第一个副本所在的存储节点所在的不同机架上的存储节点,如果选择不出来,则在和第一个副本所在存储节点所在的机架,应用副本位置选择策略选择一个存储节点。
8.根据权利要求7所述的系统,其特征在于,所述至少一个副本位置信息还包括第三个副本位置信息,该第三个副本位置信息通过如下方式获得:如果第一个副本所在的存储节点和第二个副本所在的存储节点在同一个机架上,则在第一个副本所在的存储节点所在的不同机架上,应用副本位置选择策略选择一个存储节点;否则,在和第二个副本所在的存储节点所在的机架上应用副本位置选择策略选择一个存储节点。
9.根据权利要求8所述的系统,其特征在于,所述至少一个副本位置信息还包括三个以上的副本位置信息,该三个以上的副本位置信息通过如下方式获得:在全集群范围内应用副本位置选择策略选择存储节点。
10.根据权利要求1所述的系统,所述存储节点和计算节点分开放置,或者以一对一的方式放置在一个机器中。
11.一种分布式系统的数据操作方法,其特征在于,包括: 客户端向主节点发送数据操作的请求; 主节点响应于客户端的请求获取存储节点列表,并将存储节点列表发送给客户端; 其中,主节点在获取存储节点列表时,应用副本位置选择策略,来选择数据副本所对应的存储节点; 所述副本位置选择策略包括下述方式的至少一种:选择容量负载小的存储节点;选择计算负载小的计算节点;以及选择本地性差的存储节点。
12.根据权利要求11所述的方法,其特征在于,所述主节点在获取存储节点列表时,基于主节点中保存的分布式系统的元数据信息来应用副本位置选择策略。
13.根据权利要求12所述的方法,其特征在于,所述分布式系统的元数据信息包括存储节点的状态信息和/或计算节点的状态信息。
14.根据权利要求11所述的方法,其特征在于,所述存储节点列表包括至少一个副本位置信息。
15.根据权利要求14所述的方法,其特征在于,所述至少一个副本位置信息包括第一个副本位置信息,该第一个副本位置信息通过如下方式获得: 首先判断客户端是否在集群中,如果不在集群中,则在全局范围内应用副本位置选择策略选择一个存储节点;如果在集群中,则选择客户端所在的存储节点。
16.根据权利要求15所述的方法,其特征在于,在选择客户端所在的存储节点之前,还考虑该存储节点的容量负载,如果该存储节点不合适,则应用副本位置选择策略选择和客户端在同一个机架下的存储节点。
17.根据权利要求15所述的方法,其特征在于,所述至少一个副本位置信息还包括第二个副本位置信息,该第二个副本位置信息通过如下方式获得: 应用副本位置选择策略选择同第一个副本所在的存储节点所在的不同机架上的存储节点,如果选择不出来,则在和第一个副本所在存储节点所在的机架,应用副本位置选择策略选择一个存储节点。
18.根据权利要求17所述的方法,其特征在于,所述至少一个副本位置信息还包括第三个副本位置信息,该第三个副本位置信息通过如下方式获得:如果第一个副本所在的存储节点和第二个副本所在的存储节点在同一个机架上,则在第一个副本所在的存储节点所在的不同机架上,应用副本位置选择策略选择一个存储节点;否则,在和第二个副本所在的存储节点所在的机架上应用副本位置选择策略选择一个存储节点。
19.根据权利要求18所述的方法,其特征在于,所述至少一个副本位置信息还包括三个以上的副本位置信息,该三个以上的副本位置信息通过如下方式获得:在全集群范围内应用副本位置选择策略选择存储节点。
【专利摘要】本发明公开了一种分布式系统及其数据操作方法,该系统包括客户端、主节点、多个存储节点和多个计算节点。其中,客户端用于向主节点发送数据操作请求;主节点,用于响应于客户端的请求获取存储节点列表,并将存储节点列表发送给客户端;多个存储节点,用于存储客户端所请求操作的数据;多个计算节点,用于执行由主节点基于用户的数据操作请求分配的计算任务;其中,主节点在获取存储节点列表时,应用副本位置选择策略,来选择数据副本所对应的存储节点;所述副本位置选择策略包括下述方式的至少一种:选择容量负载小的存储节点;选择计算负载小的计算节点;以及选择本地性差的存储节点。
【IPC分类】G06F17-30, G06F3-06
【公开号】CN104715044
【申请号】CN201510134387
【发明人】赵健博, 王志强
【申请人】北京奇虎科技有限公司, 奇智软件(北京)有限公司
【公开日】2015年6月17日
【申请日】2011年12月28日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1