用于调整分流策略和分流用户请求的方法、装置及系统的制作方法_3

文档序号:9814517阅读:来源:国知局
略,该过程具体包括如下 所述的步骤102-1至步骤102-2,下面结合附图2作进一步说明。
[0151] 步骤102-1 ;根据所述用户请求的相关信息,计算表征系统繁忙程度的数值。
[0152] 本步骤根据处于等待队列中的用户请求的相关信息,对系统繁忙程度进行量化, 目P :获取表征系统繁忙程度的量化数值。
[0153] 在本实施例的上述具体例子中,根据在步骤101中获取的用户请求数和每个用户 请求对应的用户等级,首先对所述用户请求数按照用户等级进行划分,计算出每个用户等 级下的用户请求数,然后采用如下所示的公式进行计算:
[015引其中,N为用户等级(N的取值为1-10),COimt(N)为用户等级N下的用户请求 数。采用上述公式进行计算,将用户请求数和用户等级都纳入考量范围,计算得到的busy_ param数值即为表征系统繁忙程度的量化数值。
[0156] 在本实施例的上述具体例子中,采用上述公式1计算表征系统繁忙程度的数值, 在其他实施方式中,可W采用不同于公式1的其他公式或者算法进行计算,只要能够根据 等待队列中的用户请求的相关信息,得到表征系统繁忙程度的数值,就同样能够实现本申 请的技术方案。
[0157] 步骤102-2 ;判断所述表征系统繁忙程度的数值是否不小于预先设定的应急阔 值;若是,执行步骤102-3,否则执行步骤102-4。
[0158] 判断步骤102-1计算得到的数值是否不小于预先设定的应急阔值;如果是,说明 当前系统比较繁忙,转到相应的处理步骤102-3执行,否则,说明当前系统相对比较空闲, 转到相应的处理步骤102-4执行。
[0159] 在本实施例的上述具体例子中,所述预先设定的应急阔值为100000。该数值仅仅 是示意性的,在其他实施方式中,可W根据具体的需求W及实际的运行状况,对所述应急阔 值的具体取值进行相应的调整和设置。
[0160] 步骤102-3 ;将所述应急策略作为所选的分流策略。
[0161] 本实施例所述的应急策略根据服务队列的处理能力对所述用户请求进行分流,能 够充分利用每个服务队列对应的服务资源的处理能力,减少用户的等待时间和服务处理时 间,因此本步骤在系统繁忙的应用场景下,将所述应急策略作为所选的分流策略。
[0162] 步骤102-4 ;将所述普通策略作为所选的分流策略。
[0163] 所述普通策略将所述用户请求依次分流到每个服务队列,采用送种分流方式简单 易行,而且可W做到对服务资源的均等利用,因此本步骤在系统相对空闲的应用场景下将 所述普通策略作为所选的分流策略。
[0164] 步骤103 ;判断当前采用的分流策略与所选的分流策略是否不同;若不同,将所述 当前采用的分流策略调整为所述所选的分流策略。
[0165] 所述当前采用的分流策略是指,负责将用户请求分流到服务队列的应用程序或者 软件模块当前所使用的分流策略。
[0166] 步骤102根据等待队列中的用户请求的相关信息,选择了与当前应用场景相适应 的分流策略,在本步骤中要进一步判断所述当前采用的分流策略与所选的分流策略是否相 同,若相同,说明当前采用的分流策略与当前的应用场景是相适应的,不用执行额外的调整 操作;否则,说明当前采用的分流策略不能满足当前应用场景的需求,应该执行调整操作, 目P ;将当前采用的分流策略调整为步骤102中所选的分流策略。
[0167] 在具体的实施中,所述调整操作可W有多种实现方式,可W将用于指示当前采用 的分流策略的变量值,设置为所选分流策略的对应值(例如:应急策略对应数值1,普通策 略对应数值2),负责分流用户请求的应用程序或者软件模块通过访问该变量可W获知应该 采用的分流策略;也可W采用消息机制通知负责分流用户请求的应用程序或者软件模块分 流策略发生了变更。
[016引考虑到用户请求的发起过程通常是随机事件,因此可能会在短时间内出现用户请 求数急剧增加的突发状况,或者是用户请求数急剧减少的突发状况,如果每次通过计算表 征系统繁忙程度的值检测到上述变化,就立刻执行调整操作,郝么在所述短时突发状况结 束后,自然还会执行调整操作恢复原来的分流模式。在上述过程中执行的两次调整操作实 际上是不必要的,不仅给系统带来额外的操作负担,而且可能会影响系统的稳定性。
[0169] 针对上述问题,本实施例提供了一种优选实施方式,即;在执行调整操作之前,引 入预先设定的迟滞时间段,从而避免执行不必要的调整操作。
[0170] 具体说,如果当前采用的分流策略为普通策略,而在步骤102中所选的分流策略 为应急策略,此时不立刻执行调整操作,而是在预先设定的第一时间段内,定期获取等待队 列中的用户请求的相关信息、并计算表征系统繁忙程度的数值,如果某次计算得到的数值 小于预先设定的应急阔值,说明系统繁忙的应急状态不是稳定状态,而是一过性的突发状 态,送种情况下结束在所述第一时间段内定期执行的上述计算和判断操作,并且不调整当 前采用的分流策略。相反,如果在预先设定的第一时间段内,每次定期计算得到的表征系统 繁忙程度的数值都不小于所述应急阔值,则说明当前出现的繁忙状态是一种相对稳定的状 态,因此在所述第一时间段结束后,立即执行调整操作,将当前采用的分流策略调整为应急 策略,从而使得用户请求能够得到及时地处理。
[0171] 在本实施例的上述具体例子中,预先设定的第一时间段为10分钟,在该时间段 内,每隔1分钟执行上述的计算和判断过程,其中前4次计算得到的表征系统繁忙程度的数 值都大于预先设定的应急阔值100000,而第5次计算得到的该数值小于100000,说明之前 检测到的系统繁忙状况仅仅是系统容量的短期波动,因此不执行本次调整操作。
[0172] 同样的道理,如果当前采用的分流策略为应急策略,而在步骤102中所选的分流 策略为普通策略,此时不立刻执行调整操作,而是在预先设定的第二时间段内,定期获取等 待队列中的用户请求的相关信息、并计算表征系统繁忙程度的数值,如果某次计算得到的 数值大于或者等于预先设定的应急阔值,则结束在所述第二时间段内定期执行的上述计算 和判断操作,并且不调整当前采用的分流策略。相反,如果在预先设定的第二时间段内,每 次定期计算得到的表征系统繁忙程度的数值都大于或者等于所述应急阔值,则在所述第一 时间段结束后,立即执行调整操作,将当前采用的分流策略调整为普通策略。
[0173] 上述预先设定的第一时间段和第二时间段就是本实施例所述的迟滞时间,通过引 入迟滞时间,能够避免短时系统容量波动对策略调整带来的不稳定影响,有效保证系统的 可靠性。请参见附图3,其为引入迟滞时间后调整分流策略的示意图。在采用普通策略的情 况下,第一次检测到需要将分流策略调整为应急策略后,经历了一段迟滞时间,在该迟滞时 间段中检测到表征系统繁忙程度的数值小于应急阔值(说明系统出现的繁忙状态是暂时 性的),因此没有执行调整操作。而第二次和第H次在迟滞时间段内检测到系统的状态并没 有发生变化(处于稳定状态),因此执行了相应的调整操作。
[0174] 本实施例中的第一时间段是从普通策略调整为应急策略的迟滞时间,第二时间段 是从应急策略调整为普通策略的迟滞时间。在本实施例的上述具体例子中,所述第一时间 段预先设定为10分钟,所述第二时间段预先设定为15分钟。
[0175] 在其他实施方式中,可W参考系统长期运行的统计数据对所述第一时间段和第二 时间段的值进行设置,既可W根据需要为送两个时间段设置相同的值,也可W设置为不同 的值。通常可W送样处理,对于系统长期比较饱和的情况(系统通常处于繁忙状态),可W 设置第一时间段的值小于第二时间段的值,也就是说系统可W相对快速地从普通策略体调 整为应急策略,从而保证系统资源的最大化利用。
[0176] 至此,本实施例描述了用于调整分流策略的方法的基本处理流程,在具体实施中, 对分流策略的调整通常不是一次性完成的,可W按照预先设定的时间间隔,定期执行上面 所述的步骤101-步骤103,从而能够相对实时地检测到系统繁忙程度的变化,并及时地进 行分流策略的调整。
[0177] 所述预先设定的时间间隔,也称为应急时间感知时延,在本实施例的上述具体例 子中,将其设置为1分钟,从而保证对系统繁忙程度变化的感知在分钟级。在其他实施方式 中,也可W根据需要为其设置不同的取值。
[0178] 在上面提供的实施例中,所述应用场景包括系统繁忙和与之对应的系统空闲送两 种状况,相应的分流策略包括;应急策略和普通策略,在其他实施方式中,可W对应用场景 作进一步细化或者从其他角度对应用场景进行划分,并针对每种应用场景设定不同的分流 策略,送些都属于【具体实施方式】的变更,都不偏离本申请的核必,都在本申请的保护范围之 内。
[0179] 综上所述,采用本申请提供的用于调整分流策略的方法,通过获取处于等待队列 中的用户请求的相关信息,根据所述相关信息选择与当前应用场景相适应的分流策略,并 相应地调整当前采用的分流策略,从而实现了在不同的应用场景下自动、及时地调整分流 策略,解决了现有技术只能固定地采用单一分流策略、W及需要人工介入才能改变分流策 略的弊端,为在不同应用场景下自动采用相应的分流策略进行用户请求的分流提供了可能 性。
[0180] 在上述的实施例中,提供了一种用于调整分流策略的方法,与之相对应的,本申请 还提供一种用于调整分流策略的装置。请参看图4,其为本申请的一种用于调整分流策略的 装置的实施例示意图。由于装置实施例基本相似于方法实施例,所W描述得比较简单,相关 之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0181] 本实施例的一种用于调整分流策略的装置,包括:等待队列信息获取单元401,用 于获取处于等待队列中的用户请求的相关信息;分流策略选择单元402,用于根据所述用 户请求的相关信息选择分流策略,所述分流策略是指,将所述等待队列中的用户请求分流 到服务队列所采用的策略;分流策略调整单元403,用于判断当前采用的分流策略与所选 的分流策略是否不同;若不同,将所述当前采用的分流策略调整为所述所选的分流策略;
[0182] 所述分流策略调整单元包括:
[0183] 策略调整判断子单元,用于判断当前采用的分流策略与所选的分流策略是否不 同;
[0184] 策略调整执行子单元,用于当所述策略调整判断子单元的输出为"不同"时,将所 述当前采用的分流策略调整为所述所选的分流策略。
[0185] 可选的,所述分流策略选择单元包括:
[0186] 参数计算子单元,用于根据所述用户请求的相关信息,计算表征系统繁忙程度的 数值;
[0187] 策略选择执行子单元,用于判断所述表征系统繁忙程度的数值是否不小于预先设 定的应急阔值;若是,将所述应急策略作为所选的分流策略;若否,将所述普通策略作为所 选的分流策略。
[018引可选的,所述分流策略调整单元还包括:
[0189] 第一调整迟滞子单元,用于当所述当前采用的分流策略为普通策略,并且所述策 略调整判断子单元的输出为"不同"时,在预先设定的第一时间段内,定期执行下述操作:根 据所述用户请求的相关信息计算表征系统繁忙程度的数值,并判断所述数值是否不小于预 先设定的应急阔值;若其中有一次所述判断结果为"否",则终止本子单元的执行,并且不触 发所述策略调整执行子单元工作,否则当所述第一时间段结束后,触发所述策略调整执行 子单元工作。
[0190] 可选的,所述分流策略调整单元还包括:
[0191] 第二调整迟滞子单元,用于当所述当前采用的分流策略为应急策略,并且所述策 略调整判断子单元的输出为"不同"时,在预先设定的第二时间段内,定期执行下述操作:根 据所述用户请求的相关信息计算表征系统繁忙程度的数值,并判断所述数值是否小于预先 设定的应急阔值;若其中有一次所述判断结果为"否",则终止本子单元的执行,并且不触发 所述策略调整执行子单元工作,否则当所述第二时间段结束后,触发所述策略调整执行子 单元工作。
[0192] 可选的,所述装置还包括:
[0193] 定期执行控制单元,用于按照预先设定的时间间隔,定期触发所述等待队列信息 获取单元、所述分流策略选择单元、W及所述分流策略调整单元工作。
[0194] 与上述的一种用于调整分流策略的方法相对应的,本申请还提供一种用于分流用 户请求的方法。请参考图5,其为本申请提供的一种用于分流用户请求的方法的实施例的流 程图,本实施例与第一实施例步骤相同的部分不再赏述,下面重点描述不同之处。本申请提 供的一种用于分流用户请求的方法包括:
[0195] 步骤501 ;获取根据等待队列的情况进行自适应调整得到的分流策略。
[0196] 本申请的技术方案,改变了现有技术中只能采用固定的分流策略对用户请求进行 分流的现状,可W根据自适应调整得到的与当前应用场景相适应的不同分流策略进行相应 的分流。为了实现上述功能,本步骤需要获取根据等待队列的情况进行自适应调整得到的 分流策略,从而为步骤502使用所述分流策略对用户请求进行分流做好准备。
[0197] 所述根据等待队列的情
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1