分片调度方法、装置及分布式服务器系统的制作方法

文档序号:9581868阅读:701来源:国知局
分片调度方法、装置及分布式服务器系统的制作方法
【技术领域】
[0001]本公开涉及通信技术领域,尤其涉及一种分片调度方法、装置及分布式服务器系统。
【背景技术】
[0002]随着计算机技术和互联网技术的飞速发展,基于互联网的社交应用软件应运而生,例如,微博、微信等。社交应用软件可以为用户提供一种即时交互的平台,例如,两个用户可以通过两台安装了相同的应用软件的通信终端进行信息的分享和交流等。
[0003]由于社交应用软件通常具有海量使用用户且遍布全国各地,因此,需要服务器具有极大的处理能力,于是出现了分布式服务器系统。
[0004]目前的分布式服务器系统包括位于不同地区的服务器,并且为每个地区服务器设置相同的负载能力,但是,当某个地区出现爆炸性消息时,该地区的服务器需要处理的信息量会陡增,然而目前该地区的服务器无法有效地提供服务,甚至会出现宕机的情况。

【发明内容】

[0005]本公开实施例提供一种分片调度方法、装置及分布式服务器系统,用以解决目前分布式服务器系统无法灵活满足线上负载能力的问题。
[0006]根据本公开实施例的第一方面,提供一种分片调度方法,包括:
[0007]获得当前分布式服务器系统中每个服务器的权重;
[0008]根据所述权重为每个服务器分配对应的分片数量,并将对应的分片数量通知对应的服务器,以使所述服务器保持对应的分片数量。
[0009]在一实施例中,所述每个服务器均包含主节点和从节点;所述每个服务器通过自己的主节点保存对应数量的分片,通过从节点备份其他服务器主节点保存的分片。
[0010]在一实施例中,当所述每个服务器包含三个节点时,第一个节点为所述主节点,第二个节点为所述从节点,第三个节点为所述第二个节点的从节点。
[0011 ] 在一实施例中,所述方法还包括:
[0012]基于预设原则为所述从节点分配分片,以使所述从节点保存对应的分片;所述预设原则包括与当前服务器主节点分配到的分片保持互斥的原则以及与当前服务器主节点分配到的分片数量接近的原则。
[0013]在一实施例中,所述基于预设原则为所述从节点分配分片,包括:
[0014]基于所述预设原则获得所述从节点的所有分片分配方式,并计算所有分片分配方式对应的平衡量估计值;
[0015]从所有的平衡量估计值中找到最小平衡量估计值,并记录对应的分片分配方式,根据所述分片分配方式为所述从节点分配对应的分片。
[0016]在一实施例中,所述平衡量估计值等于所有服务器的主节点和从节点的分片数量差的平方和。
[0017]在一实施例中,所述方法还包括:
[0018]检测所述每个服务器的权重是否发生改变,若发生改变,则根据改变前后的权重获得当前每个服务器主节点的分片迀移信息;
[0019]根据计算出的当前每个服务器主节点的分片迀移信息向对应服务器主节点发送迀入或迀出指令,以使对应服务器主节点迀入或迀出对应数量的分片。
[0020]在一实施例中,所述方法还包括:
[0021]在所述向对应服务器主节点发送迀入或迀出指令之后,获得所有服务器的主节点和从节点间相同分片的数量和,并将所述数量和作为互斥量进行保存;
[0022]计算每个服务器的主节点和从节点的分片数量差,并根据所述分片数量差和所述互斥量获得每个服务器从节点的分片迀移信息;
[0023]根据每个服务器从节点的分片迀移信息向对应从节点发送迀入或迀出指令,以使所述对应从节点迀入或迀出对应的分片。
[0024]在一实施例中,所述根据改变前后的权重获得当前每个服务器主节点的分片迀移信息,包括:
[0025]根据改变前后的权重获得当前每个服务器主节点的分片迀移值;
[0026]对所述分片迀移值的整数部分按照由小到大的顺序进行排序,并基于排序后的整数部分和预设迀移方式获得主节点分片的第一迀移信息,所述预设迀移方式包括首尾迀移方式或倒序迀移方式;
[0027]对所述分片迀移值的小数部分按照由小到大的顺序进行排序,并基于排序后的小数部分和所述预设迀移方式获得主节点分片的第二迀移信息;
[0028]根据所述主节点分片的第一迀移信息和所述主节点分片的第二迀移信息获得每个服务器主节点的分片迀移信息。
[0029]在一实施例中,所述根据所述分片数量差和所述互斥量获得每个服务器从节点的分片迀移信息,包括:
[0030]对所有服务器的所述分片数量差进行排序,根据排序结果和首尾迀移方式获得从节点分片的第一迀移信息;
[0031]针对根据所述从节点分片的第一迀移信息进行迀移后的服务器,若仍存在分片数量差,则按照当前分片数量差由小到大的顺序进行排序,并根据互斥量和顺序迀移方式获得从节点分片的第二迀移信息;
[0032]根据所述从节点分片的第一迀移信息和第二迀移信息获得每个服务器从节点的分片迀移信息。
[0033]根据本公开实施例的第二方面,提供一种分片调度装置,所述装置包括:
[0034]获得模块,被配置为获得当前分布式服务器系统中每个服务器的权重;
[0035]分配通知模块,被配置为根据所述获得模块获得的所述权重为每个服务器分配对应的分片数量,并将对应的分片数量通知对应的服务器,以使所述服务器保持对应的分片数量。
[0036]在一实施例中,所述分片调度装置所在的分布式服务器系统中的每个服务器均包含主节点和从节点;所述每个服务器通过自己的主节点保存对应数量的分片,通过从节点备份其他服务器主节点保存的分片。
[0037]在一实施例中,当所述每个服务器包含三个节点时,第一个节点为所述主节点,第二个节点为所述从节点,第三个节点为所述第二个节点的从节点。
[0038]在一实施例中,所述装置还包括:
[0039]从节点分片分配模块,被配置为基于预设原则为所述从节点分配分片,以使所述从节点保存对应的分片;所述预设原则包括与当前服务器主节点分配到的分片保持互斥的原则以及与当前服务器主节点分配到的分片数量接近的原则。
[0040]在一实施例中,所述从节点分片分配模块包括:
[0041]计算子模块,被配置为基于所述预设原则获得所述从节点的所有分片分配方式,并计算所有分片分配方式对应的平衡量估计值;
[0042]记录分配子模块,被配置为从所有的平衡量估计值中找到最小平衡量估计值,并记录对应的分片分配方式,根据所述分片分配方式为所述从节点分配对应的分片。
[0043]在一实施例中,所述平衡量估计值等于所有服务器的主节点和从节点的分片数量差的平方和。
[0044]在一实施例中,所述装置还包括:
[0045]检测获得模块,被配置为检测所述每个服务器的权重是否发生改变,若发生改变,则根据改变前后的权重获得当前每个服务器主节点的分片迀移信息;
[0046]第一发送模块,被配置为根据计算出的当前每个服务器主节点的分片迀移信息向对应服务器主节点发送迀入或迀出指令,以使对应服务器主节点迀入或迀出对应数量的分片。
[0047]在一实施例中,所述装置还包括:
[0048]获得保存模块,被配置为在所述第一发送模块向对应服务器主节点发送迀入或迀出指令之后,获得所有服务器的主节点和从节点间相同分片的数量和,并将所述数量和作为互斥量进行保存;
[0049]迀移信息获得模块,被配置为计算每个服务器的主节点和从节点的分片数量差,并根据所述分片数量差和所述互斥量获得每个服务器从节点的分片迀移信息;
[0050]第二发送模块,被配置为根据每个服务器从节点的分片迀移信息向对应从节点发送迀入或迀出指令,以使所述对应从节点迀入或迀出对应的分片。
[0051 ] 在一实施例中,所述检测获得模块包括:
[0052]迀移值获得子模块,被配置为根据改变前后的权重获得当前每个服务器主节点的分片迀移值;
[0053]第一迀移信息获得子模块,被配置为对所述分片迀移值的整数部分按照由小到大的顺序进行排序,并基于排序后的整数部分和预设迀移方式获得主节点分片的第一迀移信息,所述预设迀移方式包括首尾迀移方式或倒序迀移方式;
[0054]第二迀移信息获得子模块,被配置为对所述分片迀移值的小数部分按照由小到大的顺序进行排序,并基于排序后的小数部分和所述预设迀移方式获得主节点分片的第二迀移?目息;
[0055]迀移信息获得子模块,被配置为根据所述主节点分片的第一迀移信息和所述主节点分片的第二迀移信息获得每个服务器主节点的分片迀移信息。
[0056]在一实施例中,所述迀移信息获得模块包括:
[0057]第一迀移信息获得子模块,被配置为对所有服务器的所述分片数量差进行排序,根据排序结果和首尾迀移方式获得从节点分片的第一迀移信息;
[0058]第二迀移信息获得子模块,被配置为针对根据所述从节点分片的第一迀移信息进行迀移后的服务器,若仍存在分片数量差,则按照当前分片数量差由小到大的顺序进行排序,并根据互斥量和顺序迀移方式获得从节点分片的第二迀移信息;
[0059]迀移信息获得子模块,被配置为根据所述从节点分片的第一迀移信息和第二迀移信息获得每个服务器从节点的分片迀移信息。
[0060]根据本公开实施例的第三方面,提供一种分布式服务器系统,所述系统包括控制器和多个服务器,其中:
[0061 ] 所述控制器包括上述分片调度装置;
[0062]所述多个服务器,被配置为对应保持所述控制器分配的分片数量。
[0063]根据本公开实施例的第四方面,提供一种分片调度装置,包括:
[0064]处理器;
[0065]用于存储处理器可执行指令的存储器;
[0066]其中,所述处理器被配置为:
[0067]获得当前分布式服务器系统中每个服务器的权重;
[0068]根据所述权重为每个服务器分配对应的分片数量,并将对应的分片数量通知对应的服务器,以使所述服务器保持对应的分片数量。
[0069]本公开的实施例提供的技术方案可以包括以下有益效果:通过获得每个服务器的权重,并根据权重为每个服务器分配对应的分片数
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1