一种服务器资源分发方法及装置与流程

文档序号:12271070阅读:192来源:国知局
本发明涉及计算机应用
技术领域
,特别是涉及一种服务器资源分发方法及装置。
背景技术
:服务器资源,是具有时效性的某项资源,如果在设定时间段内没有分发出去,则将形成资源的浪费。在现有技术中,所有服务器资源均放置于服务器节点中,当资源申请开始后,所有用户的资源申请将在同一时间段内集中达到服务器节点,由服务器节点处理所有并发的资源申请,再将处理结果分别分发给发出申请的用户,如图1所示。这样将导致服务器节点在短时间内负载压力过重。在这种情况下服务器节点的处理能力、网络通信等都极有可能达到瓶颈,导致服务器节点宕机无法正常处理用户的资源申请。技术实现要素:为解决上述技术问题,本发明提供一种服务器资源分发方法及装置。一种服务器资源分发方法,应用于服务器节点,所述服务器节点与多个前置机节点通信连接,每个所述前置机节点对应于不同的用户集,所述前置机节点的数量和所述用户集的数量相同,且一一对应;所述方法包括:确定待分发的服务器资源;根据预先确定的每个所述前置机节点的第一权重,将所述待分发的服务器资源预分发给每个所述前置机节点,以使每个所述前置机节点响应其对应用户集中用户的资源申请。在本发明的一种具体实施方式中,所述方法还包括:在达到设定的再分发时限时,回收每个所述前置机节点的剩余服务器资源;确定每个所述前置机节点的第二权重;根据每个所述前置机节点的第二权重,将回收到的剩余服务器资源再分发给每个所述前置机节点。在本发明的一种具体实施方式中,所述确定每个所述前置机节点的第二权重,包括:针对每个所述前置机节点,获得该前置机节点返回的用户申请意向信息,所述用户申请意向信息中携带资源申请数,其中,所述用户申请意向信息为预分发给该前置机节点的服务器资源被用户申请完成后,该前置机节点根据接收到的未处理的资源申请生成的信息;根据该前置机节点的资源申请数,确定该前置机节点的第二权重。在本发明的一种具体实施方式中,通过以下步骤预先确定每个所述前置机节点的第一权重:获得针对多次分发的历史分发数据;在所述历史分发数据中提取每个所述前置机节点的多个历史权重;针对每个所述前置机节点,根据该前置机节点的多个历史权重,确定该前置机节点的第一权重。在本发明的一种具体实施方式中,每次分发的历史权重为:根据该次分发过程中,每个所述前置机节点实际分发给用户的资源数确定的。一种服务器资源分发装置,应用于服务器节点,所述服务器节点与多个前置机节点通信连接,每个所述前置机节点对应于不同的用户集,所述前置机节点的数量和所述用户集的数量相同,且一一对应;所述装置包括:服务器资源确定模块,用于确定待分发的服务器资源;资源预分发模块,用于根据预先确定的每个所述前置机节点的第一权重,将所述待分发的服务器资源预分发给每个所述前置机节点,以使每个所述前置机节点响应其对应用户集中用户的资源申请。在本发明的一种具体实施方式中,所述装置还包括:资源回收模块,用于在达到设定的再分发时限时,回收每个所述前置机节点的剩余服务器资源;第二权重确定模块,用于确定每个所述前置机节点的第二权重;资源再分发模块,用于根据每个所述前置机节点的第二权重,将回收到的剩余服务器资源再分发给每个所述前置机节点。在本发明的一种具体实施方式中,所述第二权重确定模块,具体用于:针对每个所述前置机节点,获得该前置机节点返回的用户申请意向信息,所述用户申请意向信息中携带资源申请数,其中,所述用户申请意向信息为预分发给该前置机节点的服务器资源被用户申请完成后,该前置机节点根据接收到的未处理的资源申请生成的信息;根据该前置机节点的资源申请数,确定该前置机节点的第二权重。在本发明的一种具体实施方式中,所述装置还包括第一权重确定模块,用于通过以下步骤预先确定每个所述前置机节点的第一权重:获得针对多次分发的历史分发数据;在所述历史分发数据中提取每个所述前置机节点的多个历史权重;针对每个所述前置机节点,根据该前置机节点的多个历史权重,确定该前置机节点的第一权重。在本发明的一种具体实施方式中,每次分发的历史权重为:根据该次分发过程中,每个所述前置机节点实际分发给用户的资源数确定的。应用本发明实施例所提供的技术方案,服务器节点与多个前置机节点通信连接,服务器节点确定待分发的服务器资源之后,根据预先确定的每个前置机节点的第一权重,将待分发的服务器资源预分发给每个前置机节点,这样,每个前置机节点可以响应其对应用户集中用户的资源申请,有效地将服务器节点的负载压力分散到了各个前置机节点,且根据每个前置机节点的第一权重,预分发服务器资源,具有较高的公平性、合理性。附图说明为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中资源申请系统的结构示意图;图2为本发明实施例中资源申请系统的结构示意图;图3为本发明实施例中服务器资源分发方法的一种实施流程图;图4为本发明实施例中服务器资源分发方法的另一种实施流程图;图5为本发明实施例中服务器资源分发装置的一种结构示意图;图6为本发明实施例中服务器资源分发装置的另一种结构示意图。具体实施方式本发明的核心是提供一种服务器资源分发方法,该方法应用于服务器节点。如图2所示,该服务器节点与多个前置机节点通信连接,每个前置机节点对应于不同的用户集,前置机节点的数量和用户集的数量相同,且一一对应。在实际应用中,可以根据预设的规则,将用户划分到不同的用户集中,对应于每一个用户集,均配置一个前置机节点。比如,按照用户所处的地理位置划分,将服务器节点对应的区域A划分为子区域A1和子区域A2,在子区域A1中配置前置机节点A1、在子区域A2中配置前置机节点A2。每个子区域分别为一个用户集,子区域A1中用户均向前置机节点A1申请相应的服务器资源,子区域A2中用户均向前置机节点A2申请相应的服务器资源。在本发明实施例中,服务器节点将待分发的服务器资源预分发给每个前置机节点,每个前置机节点响应其对应的用户集中用户的资源申请。这样,可以在有大量集中并发的资源申请时,有效缓解服务器节点的压力,提高整个系统的可用性。为了使本
技术领域
的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图3所示,为本发明实施例所提供的一种服务器资源分发方法的实施流程图,该方法可以包括以下步骤:S110:确定待分发的服务器资源。在本发明实施例中,服务器节点要对服务器资源进行预分发时,可以先确定待分发的服务器资源。在实际应用中,服务器节点可以将当前所有的服务器资源均作为待分发的服务器资源,还可以按照设定比例预留一部分服务器资源,将除预留的服务器资源外的其他服务器资源确定为待分发的服务器资源。预留的服务器资源可以在设定时间段内使用,如在再分发时使用,或者预留给预先设定的前置机节点。服务器节点确定待分发的服务器资源之后,可以继续执行步骤S120的操作。S120:根据预先确定的每个前置机节点的第一权重,将待分发的服务器资源预分发给每个前置机节点,以使每个前置机节点响应其对应用户集中用户的资源申请。在本发明实施例中,在预分发服务器资源之初,服务器节点可以预先确定每个前置机节点的第一权重。根据每个前置机节点的第一权重,服务器节点可以将待分发的服务器资源预分发给每个前置机节点,这样,每个前置机节点都拥有了相应数量的服务器资源,可以响应其对应用户集中用户的资源申请。在实际应用中,服务器节点可以为每个前置机节点设置相同的第一权重,为每个前置机节点预分发相同数量的服务器资源。或者,服务器节点可以根据每个前置机节点对应的用户比例,确定每个前置机节点的第一权重。在本发明的一种具体实施方式中,可以通过以下步骤预先确定每个前置机节点的第一权重:步骤一:获得历史分发数据;步骤二:在历史分发数据中提取每个前置机节点的多个历史权重;步骤三:针对每个前置机节点,根据该前置机节点的多个历史权重,确定该前置机节点的第一权重。为便于描述,将上述三个步骤结合起来进行说明。在服务器节点要进行服务器资源的预分发时,可以先获得历史分发数据。历史分发数据为服务器节点在其他时间段进行服务器资源分发时的相关数据,历史分发数据中包含有每次分发所对应的每个前置机节点的历史权重。服务器节点可以在历史分发数据中提取每个前置机节点的多个历史权重。例如,服务器节点对应两个前置机节点,前置机节点1和前置机节点2,服务器节点在历史分发数据中提取到的每个前置机节点的多个历史权重如表1所示:年份前置机节点1前置机节点220125050201345552014208020154555表1针对每个前置机节点,根据该前置机节点的多个历史权重,可以确定该前置机节点的第一权重。具体的,可以通过以下几种方法确定每个前置节点的第一权重:第一种方法:均值法,即针对每个前置机节点,将该前置机节点的多个历史权重取平均,将得到的平均值确定为该前置机节点的第一权重。比如:根据表1中的历史权重,确定的前置机节点1的第一权重为:(50+45+20+45)/4=40,确定的前置机节点2的第一权重为:(50+55+80+55)/4=60。第二种方法:最近法,即按照最新数据能体现数据最新特征的原则,将上一次所设置的权重作为当前第一权重。以表1所示历史权重为例,可以将2015年前置机节点1的权重45确定为当前前置机节点1的第一权重,将2015年前置机节点2的权重55确定为当前前置机节点2的第二权重。第三种方法:剔除法,即对历史权重进行分析,剔除异常数据后再求平均。以表1所示历史权重为例,2014年数据明显异于其他年份数据,可以将该年份数据剔除,以免影响对历史权重的正常分析。对剔除异常历史权重后的历史权重求平均,获得每个前置机节点的第一权重,即:((50+45+45)/3):((50+55+55)/3)≈47:53,即前置机节点1的第一权重为47,前置机节点2的第一权重为53。第四种方法:修正法,即对异常数据进行修正,将修正后的数据求平均。仍以表1为例,可以按照前置机节点对应的用户比例修正2014年数据,该年份修正后的权重分别为:50、50,再将多个历史权重求平均,获得每个前置机节点的第一权重,即:((50+45+50+45)/4):((50+55+50+55)/4)=48:52,即前置机节点1的第一权重为48,前置机节点2的第一权重为52。应用本发明实施例所提供的方法,服务器节点与多个前置机节点通信连接,服务器节点确定待分发的服务器资源之后,根据预先确定的每个前置机节点的第一权重,将待分发的服务器资源预分发给每个前置机节点,这样,每个前置机节点可以响应其对应用户集中用户的资源申请,有效地将服务器节点的负载压力分散到了各个前置机节点,且根据每个前置机节点的第一权重,预分发服务器资源,具有较高的公平性、合理性。参见图4所示,在本发明的一个实施例中,服务器节点将服务器资源预分发给每个前置机节点之后,该方法还可以包括以下步骤:S130:在达到设定的再分发时限时,回收每个前置机节点的剩余服务器资源。在本发明实施例中,服务器节点将服务器资源预分发给每个前置机节点之后,由每个前置机节点响应其对应用户集中用户的资源申请。在达到设定的再分发时限时,如果某个或某几个前置机节点还有剩余服务器资源,即没有被其对应的用户集中用户申请完,则服务器节点可以回收相应前置机节点的剩余服务器资源。S140:确定每个前置机节点的第二权重。每个前置机节点的第二权重与该前置机节点的第一权重可以相同,还可以不同。在本发明的一种具体实施方式中,步骤S140可以包括以下步骤:第一个步骤:针对每个前置机节点,获得该前置机节点返回的用户申请意向信息,用户申请意向信息中携带资源申请数,其中,用户申请意向信息为预分发给该前置机节点的服务器资源被用户申请完成后,该前置机节点根据接收到的未处理的资源申请生成的信息;第二个步骤:根据该前置机节点的资源申请数,确定该前置机节点的第二权重。为便于描述,将上述两个步骤结合起来进行说明。在再分发时限到达前,针对每个前置机节点,如果预分发给该前置机节点的服务器资源已被相应用户集的用户申请完,但该用户集中还有用户向该前置机节点发送了资源申请,则该前置机节点可以根据接收到的未处理的资源申请生成用户申请意向信息,以便在再分发时限到达时进行服务器资源的再分发。在本发明实施例中,用户申请意向信息可以记录如表2所示内容:表2其中,意向头Header用于标记意向开始;意向内容表明意向具体信息,如资源申请数、种类等;用户信息和前置机节点信息表明申请所属的前置机节点及具体用户,便于消息回传。服务器节点根据该前置机节点的资源申请数,可以确定该前置机节点的第二权重。具体的,该第二权重可以为该前置节点的资源申请数与所有前置机节点总的资源申请数的比例。S150:根据每个前置机节点的第二权重,将回收到的剩余服务器资源再分发给每个前置机节点。根据每个前置机节点的第二权重,可以将回收到的剩余服务器资源再分发给每个前置机节点。这样,每个前置机节点可以继续响应其相应用户集中用户的资源申请,避免资源浪费。需要说明的是,针对某个前置节点而言,如果该前置机节点没有相应的用户申请意向,则可以将该前置机节点的第二权重设置为0,不为该前置节点再分发服务器资源。在实际应用中,服务器资源的再分发可以进行一次或多次,本发明实施例对此不做限制。至此,服务器节点的服务器资源经过预分发过程和再分发过程,分发到每个前置机节点上,一次服务器资源的分发包括预分发过程和再分发过程。在预分发过程中所设定的每个前置机节点的第一权重已经不能体现当前资源分发的实际情况,可以根据该次分发过程中,每个前置机节点实际分发给用户的资源数确定该次分发对应的每个前置机节点的最终权重。即S1:S2:…:Si:…:Sn=p1:p2:…:pi:…:pn,其中,p1+p2+……+pn=100,Si为前置机节点i在预分发过程和再分发过程分发给用户的总资源数,pi为前置机节点i的最终权重。确定每次分发对应的每个前置机节点的最终权重,以作为后续分发时的第一权重历史权重,为确定第一权重做参考。也就是说,每次分发的历史权重,可以是根据该次分发过程中,每个前置机节点实际分发给用户的资源数确定的。相应于上面的方法实施例,本发明实施例还提供了一种服务器资源分发装置,该装置应用于服务器节点,服务器节点与多个前置机节点通信连接,每个前置机节点对应于不同的用户集,前置机节点的数量和用户集的数量相同,且一一对应。下文描述的一种服务器资源分发装置与上文描述的一种服务器资源分发方法可相互对应参照。参见图5所示,该装置可以包括以下模块:服务器资源确定模块210,用于确定待分发的服务器资源;资源预分发模块220,用于根据预先确定的每个前置机节点的第一权重,将待分发的服务器资源预分发给每个前置机节点,以使每个前置机节点响应其对应用户集中用户的资源申请。应用本发明实施例所提供的装置,服务器节点与多个前置机节点通信连接,服务器节点确定待分发的服务器资源之后,根据预先确定的每个前置机节点的第一权重,将待分发的服务器资源预分发给每个前置机节点,这样,每个前置机节点可以响应其对应用户集中用户的资源申请,有效地将服务器节点的负载压力分散到了各个前置机节点,且根据每个前置机节点的第一权重,预分发服务器资源,具有较高的公平性、合理性。参见图6所示,在本发明的一个实施例中,该装置还可以包括以下模块:资源回收模块230,用于在达到设定的再分发时限时,回收每个前置机节点的剩余服务器资源;第二权重确定模块240,用于确定每个前置机节点的第二权重;资源再分发模块250,用于根据每个前置机节点的第二权重,将回收到的剩余服务器资源再分发给每个前置机节点。在本发明的一种具体实施方式中,第二权重确定模块240,具体用于:针对每个前置机节点,获得该前置机节点返回的用户申请意向信息,用户申请意向信息中携带资源申请数,其中,用户申请意向信息为预分发给该前置机节点的服务器资源被用户申请完成后,该前置机节点根据接收到的未处理的资源申请生成的信息;根据该前置机节点的资源申请数,确定该前置机节点的第二权重。在本发明的一种具体实施方式中,该装置还包括第一权重确定模块,用于通过以下步骤预先确定每个前置机节点的第一权重:获得针对多次分发的历史分发数据;在历史分发数据中提取每个前置机节点的多个历史权重;针对每个前置机节点,根据该前置机节点的多个历史权重,确定该前置机节点的第一权重。在本发明的一种具体实施方式中,每次分发的历史权重为:根据该次分发过程中,每个前置机节点实际分发给用户的资源数确定的。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或
技术领域
内所公知的任意其它形式的存储介质中。以上对本发明所提供的一种服务器资源分发方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1