一种服务器集群的服务器部署方法及系统的制作方法

文档序号:10538871阅读:334来源:国知局
一种服务器集群的服务器部署方法及系统的制作方法
【专利摘要】本发明提供一种服务器集群的服务器部署的方法,其中包括:确定单机在满足预设时延要求时能够处理的最大请求数量;根据预设待处理的访问请求的数量和最大请求数量确定服务器集群所需要的单机数量;根据确定的所述单机数量部署所述服务器集群。本发明还提供一种服务器集群的服务器部署的系统。通过本发明所提供的服务器集群的服务器部署方法及系统,使得网络运营商在部署服务器集群时,可以根据为服务器集群预设的服务处理能力和用户体验最佳的响应时延确定服务器集群下的服务器数量,实现了在部署服务器集群的过程中既不浪费服务器资源,并且也保证了用户体验。
【专利说明】
一种服务器集群的服务器部署方法及系统
技术领域
[0001] 本发明实施例涉及服务器集群的技术领域,特别是涉及一种服务器集群的服务器 部署方法及系统。
【背景技术】
[0002] 目前,各类大型企业、大型网站都采用服务器集群进行资源管理。所谓服务器集 群,就是指将多台服务器集中起来进行同一种服务,在客户端看来就像是只有一个服务器。 集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做 备份,即使其中一个机器出现故障,整个搜索服务器集群仍然能正常运行。
[0003] 每个服务器集群有自己的服务极限,在面临超出自己服务能力的流量时,会导致 搜索服务器集群进入部分不可服务状态,甚至完全不可服务状态。例如,搜索服务器集群资 源耗尽,将导致所有的请求都不能完成或者全部超时;搜索服务器集群被迫随机或者根据 优先级抛弃部分请求。然而,在一些大型网站的应用中,用户数量众多,在商品搜索的过程 中,面对超过服务能力的突发流量时,如果突然发生服务中断,将严重影响用户体验。
[0004] 现有技术中,对于超过服务能力的突发流量时,一般采用丢弃部分请求的方式,具 体为随机丢弃请求,或者根据来源、查询模式按照配置的优先级逐步丢弃不重要的请求,尽 量确保重要的请求。但这种方式总是会导致服务的部分不可用。
[0005] 现有技术的另一种应对超过服务能力的突发流量的方式是在集群中添加服务器, 然而这种方式的缺点是反应慢,尤其是因为突发超过服务能力的流量一般来说是非正常的 增长,在添加机器时,机器的准备以及数据的同步都需要时间,在这段时间内可能导致搜索 服务器集群进入部分服务不可用的状态;再者,在机器添加过程中还需要人工介入,不够智 能,反应滞后,不能快速应对突发的流量尖峰;进一步地,随着集群中并发的访问请求数量 的不断增多,服务器集群的响应延时逐渐延长,通过人工部署为集群添加新服务器时,可能 因为新服务器部署的数量过多而导致服务器集群的服务器资源的浪费,或者由于新服务器 部署的数量不足而导致服务器集群的响应时延不能满足市场需求,严重影响了用户体验, 给服务器运营商带来重大损失。

【发明内容】

[0006] 本发明实施例提供一种服务器集群的服务器部署方法及系统,用以解决上述现有 技术中所阐述的至少一个技术问题。
[0007] -方面,本发明实施例提供一种服务器集群的服务器部署方法,其中包括:
[0008] 确定单机在满足预设时延要求时能够处理的最大请求数量;
[0009] 根据预设待处理的访问请求的数量和最大请求数量确定服务器集群所需要的单 机数量;
[0010] 根据确定的所述单机数量部署所述服务器集群。
[0011] 另一方面,本发明实施例还提供一种服务器集群的服务器部署系统,其中包括:
[0012]最大请求数量确定单元,用于确定单机在满足预设时延要求时能够处理的最大请 求数量;
[0013 ]单机数量确定单元,用于根据预设待处理的访问请求的数量和最大请求数量确定 服务器集群所需要的单机数量;
[0014]服务器集群部署单元,用于根据确定的所述单机数量部署所述服务器集群。
[0015] 通过本发明实施例所提供的服务器集群的服务器部署方法及系统,使得网络运营 商在部署服务器集群时,可以根据为服务器集群预设的服务处理能力和用户体验最佳的响 应时延确定服务器集群下的服务器数量,实现了在部署服务器的过程中不浪费服务器资 源,并且保证了用户体验。
【附图说明】
[0016] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。
[0017] 图1示出的是本发明一实施例的服务器集群的服务器部署方法的流程图;
[0018] 图2示出的是本发明一实施例的服务器集群的服务器部署系统的结构示意图。
【具体实施方式】
[0019] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0020] 需要说明的是,在不冲突的情况下,本申请中的实施方式及实施方式中的特征可 以相互组合。
[0021] 本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务 器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶 盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的 分布式计算环境等等。
[0022] 本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序 模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组 件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由 通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以 位于包括存储设备在内的本地和远程计算机存储介质中。
[0023] 参见图1示出的是本发明一实施例的一种服务器集群的服务器部署方法,其特征 在于,包括:
[0024] S11:确定单机在满足预设时延要求时能够处理的最大请求数量;
[0025] S12:根据预设待处理的访问请求的数量和最大请求数量确定服务器集群所需要 的单机数量;
[0026] S13:根据确定的单机数量部署所述服务器集群。
[0027] 通过本发明实施例所提供的服务器集群的服务器部署方法,使得网络运营商在部 署服务器集群时,可以根据为服务器集群预设的服务处理能力和用户体验最佳的响应时延 确定服务器集群下的服务器数量,实现了在部署服务器的过程中不浪费服务器资源,并且 保证了用户体验;相比于现有技术中在发现服务器集群的处理能力不足以满足用户体验时 再往服务器集群中添加服务器,通过本发明实施例实现了在处理一定数量的访问请求时, 可以预知系统延时和集群下的服务器数量的对应关系,进而使得服务器运营商可以根据系 统延时布置服务器集群下服务器的数量。
[0028] 作为本发明实施例方法的一种优选实施例,所述确定单机在满足预设时延时能够 处理的最大请求数量包括:
[0029]确定单机能够处理的极限请求数量;
[0030] 根据所述极限请求数量和所述预设时延确定所述最大请求数量。
[0031] 应当解释的是,上述单机能够处理的极限请求数量指代的是单机服务器每秒所能 处理的访问请求的最大数量。
[0032] 在本发明实施例方法中,通过综合考虑服务器集群中单机的极限请求数量和预设 时延确定单机相对应于预设时延下的最大请求数量,获取在理论上单机满足预设时延的最 大请求数量。
[0033] 作为本发明实施例方法的一种优选实施例,所述确定单机能够处理的极限请求数 量为:
[0034] 模拟访问请求以对所述单机进行压力测试,确定所述单机每秒所能处理的访问请 求数为极限请求数量,所述访问请求符合泊松分布。
[0035] 应当解释的是,压力测试是指通过应用很大的工作负载来使软件超负荷运转,从 而达到测试目的的测试方法,通过压力测试经常能够发现许多隐蔽的错误,如内存泄漏、死 锁及同步问题,而采用一般的功能测试和单元测试的方法,通常发现不了这些错误,由于在 实际工作中,针对服务器的访问请求符合泊松分布,
[0036] 关于本发明实施例方法,更具体地,可以包括:将单机和压力测试设备配置在同一 个虚拟局域网中,并将伪造 IP的路由插入到单机的路由表中;压力测试设备发送源地址为 伪造 IP的数据包,向单机发起tcp连接请求;单机接收压力测试设备所发送的具有伪造 IP的 数据包,并根据单机的路由表将返回包发送给压力测试设备;压力测试设备侦听所有到达 的数据包,完成tcp连接。其中,上述压力测试设备向单机发送的数据包的数量和测试时间 符合泊松分布;上述压力测试设备统计所有到达的数据包的数量,并根据测试时间和上述 数据包的数量确定单机的极限请求数量。
[0037] 通过本发明实施例方法,模拟单机在工作环境下的工作状态,确定单机的能够处 理的极限请求数量,能保证这样压力测试所确定的极限请求数量的精确性更高。
[0038] 作为本发明实施例方法的一种优选实施例,所述最大请求数量由以下公式确定:
[0039] λ, =μ-[1/Γ 1,
[0040] 其中,λ'为最大请求数量,μ为极限请求数量,Τ '为预设时延。
[0041 ]关于本具体实施例方法的执行,利用了延时请求量确定模型,
[0042]关于单机的延时请求量确定模型主要部署的原理是:
[0043] Τ=(1/μ)Χ[1/(1_λ'/μ)]
[0044] 其中,τ为平均延时。令τ=τ',则λ' =μ-「1/Γ 1,其中|?/Γ 1表示针对1/Τ'的 向上取整。
[0045] 在本发明实施例方法中,通过建立延时请求量确定模型在理论上确定对应于单机 在一定时延下的所能处理的最大访问请求数量。
[0046] 作为本发明实施例方法的一种优选实施例,所述服务器集群下的所述单机数量为 Ν=κχ[λ/λ「|,其中κ为大于1的正数,λ为预设待处理的访问请求的数量。
[0047] 通过本发明实施例方法,在理论上是服务器集群的预设待处理的访问请求的数量 λ和λ'的比值即可确定服务器集群下的服务器数量,但是由于在实际工作的过程中存在网 络波动等情况,故应为服务器集群预留更多数量的服务器以保证服务器集群的处理能力。
[0048] 作为进一步的优化,Ν=:3χμ/λ1。
[0049] 在本发明实施例方法的实际应用中,将服务器集群下的所部署的单机数量确定为 理论所得丨λ/λ'1的3倍,能够应对服务器集群的并发访问请求数量激增的突发情况。
[0050] 关于本发明实施例方法更具体的应用,更具体地,在一种情况下,当服务器运营商 需要部署服务器集群时,首先确定服务器集群预处理的访问请求数量和服务器集群所要求 的响应时延,利用本发明实施例系统确定服务器数量,进而部署相应的服务器的数量;相比 于现有技术中凭个人估算服务器的响应能力去预估服务器集群下应该布置的服务器的台 数,本发明实施例系统通过建立关于延时值和最大请求量之间对应关系的延时请求量确定 模型,能消除因个人主观因素所造成的误差,能够较精准和客观地确定一个服务器集群下 所应该部署的单机服务器数量;通过本发明所提供的服务器集群的服务器部署方法,使得 网络运营商在部署服务器集群时,可以根据为服务器集群预设的服务处理能力和用户体验 最佳的响应时延确定服务器集群下的服务器数量,实现了在部署服务器集群的过程中既不 浪费服务器资源,并且也保证了用户体验。
[0051] 参见图2示出的是本发明一实施例的一种服务器集群的服务器部署系统,其特征 在于,包括:
[0052]最大请求数量确定单元,用于确定单机在满足预设时延要求时能够处理的最大请 求数量;
[0053] 单机数量确定单元,用于根据预设待处理的访问请求的数量和最大请求数量确定 服务器集群所需要的单机数量;
[0054] 服务器集群部署单元,用于根据确定的所述单机数量部署所述服务器集群。
[0055] 通过本发明实施例所提供的服务器集群的服务器部署方法及系统,使得网络运营 商在部署服务器集群时,可以根据为服务器集群预设的服务处理能力和用户体验最佳的响 应时延确定服务器集群下的服务器数量,实现了在部署服务器的过程中不浪费服务器资 源,并且也保证了用户体验。
[0056] 作为本发明实施例系统的一种优选实施例,所述最大请求数量确定单元包括:
[0057] 极限请求数量确定模块,用于确定单机能够处理的极限请求数量;
[0058] 换算单元,用于根据所述极限请求数量和所述预设时延确定所述最大请求数量。
[0059] 应当解释的是,上述单机能够处理的极限请求数量指代的是单机服务器每秒所能 处理的访问请求的最大数量。
[0060] 在本发明实施例系统中,通过综合考虑服务器集群中单机的极限请求数量和预设 时延确定单机相对应于预设时延下的最大请求数量,获取在理论上单机满足预设时延的最 大请求数量。
[0061] 作为本发明实施例系统的一种优选实施例,所述最大请求数量确定单元包括:
[0062] 所述极限请求数量确定模块用于模拟访问请求以对所述单机进行压力测试,确定 所述单机每秒所能处理的访问请求数为极限请求数量,所述访问请求符合泊松分布。
[0063] 应当解释的是,压力测试是指通过应用很大的工作负载来使软件超负荷运转,从 而达到测试目的的测试方法,通过压力测试经常能够发现许多隐蔽的错误,如内存泄漏、死 锁及同步问题,而采用一般的功能测试和单元测试的方法,通常发现不了这些错误,由于在 实际工作中,针对服务器的访问请求符合泊松分布,
[0064] 关于本发明实施例系统,更具体地,可以包括:将单机和压力测试设备配置在同一 个虚拟局域网中,并将伪造 IP的路由插入到单机的路由表中;压力测试设备发送源地址为 伪造 IP的数据包,向单机发起tcp连接请求;单机接收压力测试设备所发送的具有伪造 IP的 数据包,并根据单机的路由表将返回包发送给压力测试设备;压力测试设备侦听所有到达 的数据包,完成tcp连接。其中,上述压力测试设备向单机发送的数据包的数量和测试时间 符合泊松分布;上述压力测试设备统计所有到达的数据包的数量,并根据测试时间和上述 数据包的数量确定单机的极限请求数量。
[0065] 通过本发明实施例系统,模拟单机在工作环境下的工作状态,确定单机的能够处 理的极限请求数量,能保证这样压力测试所确定的极限请求数量的精确性更高。
[0066] 作为本发明实施例系统的一种优选实施例,所述最大请求数量由以下公式确定:
[0067] λ ' =μ-|1/Τ ],
[0068]其中,λ '为最大请求数量,μ为极限请求数量,Τ '为预设时延。
[0069] 通过本发明实施例系统,实现了可以根据单机所能处理的极限处理数量确定理论 上与预设时延相对应的最大访问请求量。
[0070] 作为本发明实施例系统的一种优选实施例,所述服务器集群下的所述单机数量为 1^=[<:><丨入/入'1,其中1(为大于1的正数彳为预设待处理的访问请求的数量。
[0071] 通过本发明实施例系统,在理论上是服务器集群的预设待处理的访问请求的数量 λ和λ'的比值即可确定服务器集群下的服务器数量,但是由于在实际工作的过程中存在网 络波动等情况,故应为服务器集群预留更多数量的服务器以保证服务器集群的处理能力。
[0072] 作为进一步的优化,Ν=3χ[λ/λ'1。
[0073] 在本发明实施例系统的实际应用中,将服务器集群下的所部署的单机数量确定为 理论所得[λ/λ 1的3倍,能够应对服务器集群的并发访问请求数量激增突发情况。
[0074] 关于本发明实施例系统更具体的应用,更具体地,在一种情况下,当服务器运营商 需要部署服务器集群时,首先确定服务器集群预处理的访问请求数量和服务器集群所要求 的响应时延,利用本发明实施例系统确定服务器数量,进而部署相应的服务器的数量;相比 于现有技术中凭个人估算服务器的响应能力去预估服务器集群下应该布置的服务器的台 数,本发明实施例系统通过建立关于延时值和最大请求量之间对应关系的延时请求量确定 模型,能消除因个人主观因素所造成的误差,能够较精准和客观地确定一个服务器集群下 所应该部署的单机服务器数量;通过本发明所提供的服务器集群的服务器部署系统,使得 网络运营商在部署服务器集群时,可以根据为服务器集群预设的服务处理能力和用户体验 最佳的响应时延确定服务器集群下的服务器数量,实现了在部署服务器集群的过程中既不 浪费服务器资源,并且也保证了用户体验。
[0075] 本发明实施例中可以通过硬件处理器来实现相关功能模块和单元。
[0076] 在本发明实施例系统一方面的应用上,本发明实施例系统可以搭建在网络运营商 所部署内容分发网络的中心调度服务器中;当应用在上述中心调度服务器中时,实现了对 内容分发网络全网的关于业务的带宽分配,从而避免了次重要的业务抢占重要业务的带 宽,保障网络运营商所部署的重要业务的带宽充足。
[0077]以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是 或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即 可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的 部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳 动的情况下,即可以理解并实施。
[0078]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可 借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上 述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该 计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施 例或者实施例的某些部分所述的方法。
[0079]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可 以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和 范围。
【主权项】
1. 一种服务器集群的服务器部署的方法,其中包括: 确定单机在满足预设时延要求时能够处理的最大请求数量; 根据预设待处理的访问请求的数量和最大请求数量确定服务器集群所需要的单机数 量; 根据确定的所述单机数量部署所述服务器集群。2. 根据权利要求1所述的方法,其中,所述确定单机在满足预设时延时能够处理的最大 请求数量包括: 确定单机能够处理的极限请求数量; 根据所述极限请求数量和所述预设时延确定所述最大请求数量。3. 根据权利要求2所述的方法,其中,所述确定单机能够处理的极限请求数量为: 模拟访问请求以对所述单机进行压力测试,确定所述单机每秒所能处理的访问请求数 为极限请求数量,所述访问请求符合泊松分布。4. 根据权利要求2或3所述的方法,I中,所i术昜女请龙教量由以下公式确定:其中,λ '为最大请求数量,μ为极限请求数量,T '为预设时延。5. 根据权利要求4所述的方法,其中,所述服务器集群下的所述单机数量为 Ν=κχμ/λη,其中K为大于1的正数,λ为预设待处理的访问请求的数量。6. -种服务器集群的服务器部署系统,其中,包括: 最大请求数量确定单元,用于确定单机在满足预设时延要求时能够处理的最大请求数 量; 单机数量确定单元,用于根据预设待处理的访问请求的数量和最大请求数量确定服务 器集群所需要的单机数量; 服务器集群部署单元,用于根据确定的所述单机数量部署所述服务器集群。7. 根据权利要求6所述的系统,其中,所述最大请求数量确定单元包括: 极限请求数量确定模块,用于确定单机能够处理的极限请求数量; 换算单元,用于根据所述极限请求数量和所述预设时延确定所述最大请求数量。8. 根据权利要求7所述的系统,其中,所述极限请求数量确定模块用于模拟访问请求以 对所述单机进行压力测试,确定所述单机每秒所能处理的访问请求数为极限请求数量,所 述访问请求符合泊松分布。9. 根据权利要求7或8所述的系统,其中,所述最大请求数量由以下公式确定: λ, =μ-Γ1/Τ?], 其中,λ '为最大请求数量,μ为极限请求数量,T '为预设时延。10. 根据权利要求9所述的系统,其中,所述服务器集群下的所述单机数量为 Ν=Κχ[λ/λ'1,其中κ为大于1的正数,λ为预设待处理的访问请求的数量。
【文档编号】H04L29/08GK105897861SQ201610183488
【公开日】2016年8月24日
【申请日】2016年3月28日
【发明人】李洪福, 刘斌
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1