CN114880156A - 任务流量处理方法、装置及电子设备 - Google Patents

任务流量处理方法、装置及电子设备 Download PDF

Info

Publication number
CN114880156A
CN114880156A CN202210658684.9A CN202210658684A CN114880156A CN 114880156 A CN114880156 A CN 114880156A CN 202210658684 A CN202210658684 A CN 202210658684A CN 114880156 A CN114880156 A CN 114880156A
Authority
CN
China
Prior art keywords
flow
task
stage
traffic
task flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210658684.9A
Other languages
English (en)
Inventor
李景晨
徐锐波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yunsizhixue Technology Co ltd
Original Assignee
Beijing Yunsizhixue Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yunsizhixue Technology Co ltd filed Critical Beijing Yunsizhixue Technology Co ltd
Priority to CN202210658684.9A priority Critical patent/CN114880156A/zh
Publication of CN114880156A publication Critical patent/CN114880156A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种任务流量处理方法、装置、电子设备及计算机可读介质。该方法包括:实时获取任务流量和其对应的响应错误率;获取所述任务流量对应的限流阈值和多阶段限流配置;根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;根据所述流量策略将所述任务流量发送至下游服务以进行处理。本申请涉及的任务流量处理方法、装置、电子设备及计算机可读介质,能够动态调整发送给下游服务处理的任务流量,从而使得上游服务限流和放量的过程中,不会对下游服务造成冲击,保证系统安全运行。

Description

任务流量处理方法、装置及电子设备
技术领域
本申请涉及计算机信息处理领域,具体而言,涉及一种任务流量处理方法、装置、电子设备及计算机可读介质。
背景技术
断路器(circuit breaker),也称为熔断器,是软件系统中的对下游系统延迟或错误的容错装置(Latency and Fault Tolerance System),当下游的服务或功能出现延迟增高或执行错误的情况时,断路器开启,不再请求下游的功能或服务,保护自身服务不被下游服务或功能拖垮。
如图1所示,现有断路器方案一般都包含三种状态:开启、关闭、半开。正常情况下断路器关闭,可以正常访问下游,当下游延迟增高或出现错误时,断路器开启,不再请求下游服务或功能;开启后一段时间,断路器进入半开状态,断路器放一定量的请求到下游服务或功能,进行下游服务或功能最新状况的判断,如果下游恢复正常,则断路器关闭,否则断路器继续开启。
现有断路器方案在下游发生异常后,下游流量就直接被断开,而在半开状态时,只要判断下游服务恢复,又直接将全部流量放到下游服务。对于某些下游服务,承受不了这种瞬间没有流量,瞬间又过来全量流量的情况。类似水龙头快速开关造成的水锤现象,对下游服务会造成冲击,导致下游服务再次异常。
因此,需要一种新的任务流量处理方法、装置、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本申请提供一种任务流量处理方法、装置、电子设备及计算机可读介质,能够动态调整发送给下游服务处理的任务流量,从而使得上游服务限流和放量的过程中,不会对下游服务造成冲击,保证系统安全运行。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请的一方面,提出一种任务流量处理方法,该方法包括:实时获取任务流量和其对应的响应错误率;获取所述任务流量对应的限流阈值和多阶段限流配置;根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;根据所述流量策略将所述任务流量发送至下游服务以进行处理。
可选地,实时获取任务流量和其对应的响应错误率,包括:通过滑动窗口计数器实时获取任务流量和其对应的下游服务超时响应;和/或通过滑动窗口计数器实时获取任务流量和其对应的错误代码响应;和/或通过滑动窗口计数器实时获取任务流量和其对应的目标函数的返回响应;通过下游服务超时响应和/或错误代码响应和/或返回响应生成响应错误率。
可选地,获取所述任务流量对应的限流阈值和多阶段限流配置,包括:获取所述任务流量对应的下游服务的标识;基于所述下游服务的标识提取所述限流阈值和多阶段限流配置。
可选地,根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略,包括:在所述响应率大于流量阈值时,生成逐步限流策略;基于所述逐步限流策略由所述任务流量对应的索引位置提取所述任务流量的当前阶段;将所述当前阶段和多阶段限流配置进行匹配,提取下一阶段的流量占比;根据下一阶段的流量占比生成所述逐步限流策略。
可选地,根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略,包括:在所述响应率大于流量阈值时,生成逐步放量策略;基于所述逐步放量策略由所述任务流量对应的索引位置提取所述任务流量的当前阶段;将所述当前阶段和多阶段限流配置进行匹配,提取上一阶段的流量占比;根据上一阶段的流量占比生成所述逐步放量策略。
可选地,还包括:在多阶段限流配置表格中更新所述任务流量对应的索引位置。
可选地,根据所述流量策略将所述任务流量发送至下游服务以进行处理,包括:根据所述流量策略中的流量占比提取所述任务流量中的部分任务流量;将所述部分任务流量发送至下游服务以进行处理。
根据本申请的一方面,提出一种任务流量处理装置,该装置包括:数据模块,用于实时获取任务流量和其对应的响应错误率;配置模块,用于获取所述任务流量对应的限流阈值和多阶段限流配置;策略模块,用于根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;发送模块,用于根据所述流量策略将所述任务流量发送至下游服务以进行处理。
根据本申请的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本申请的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本申请的任务流量处理方法、装置、电子设备及计算机可读介质,通过实时获取任务流量和其对应的响应错误率;获取所述任务流量对应的限流阈值和多阶段限流配置;根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;根据所述流量策略将所述任务流量发送至下游服务以进行处理的方式,能够动态调整发送给下游服务处理的任务流量,从而使得上游服务限流和放量的过程中,不会对下游服务造成冲击,保证系统安全运行。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中断路器的处理方法示意图。
图2是根据一示例性实施例示出的一种任务流量处理方法及装置的系统框图。
图3是根据一示例性实施例示出的一种任务流量处理方法的流程图。
图4是根据另一示例性实施例示出的一种任务流量处理方法的示意图。
图5是根据另一示例性实施例示出的一种任务流量处理方法的流程图。
图6是根据一示例性实施例示出的一种任务流量处理装置的框图。
图7是根据一示例性实施例示出的一种电子设备的框图。
图8是根据一示例性实施例示出的一种计算机可读介质的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
图2是根据一示例性实施例示出的一种任务流量处理方法及装置的系统框图。
如图2所示,系统架构20可以包括下游服务设备201、202、203,网络204和服务器205。网络204用以在下游服务设备201、202、203和服务器205之间提供通信链路的介质。网络204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
下游服务设备201、202、203通过网络204与服务器205交互,以接收任务流量或返回响应数据等。下游服务设备201、202、203上可以安装有各种任务处理类应用,例如数据处理类应用、互联网服务类应用、即时通信工具、邮箱客户端、社交平台软件等。
下游服务设备201、202、203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器205可以是提供各种服务的服务器,例如接收来自用户的任务流量数据,然后将任务流量数据转发给下游服务设备201、202、203进行处理。并将处理结果反馈给管理员和/或用户。
服务器205可例如实时获取任务流量和其对应的响应错误率;服务器205可例如获取所述任务流量对应的限流阈值和多阶段限流配置;服务器205可例如根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;服务器205可例如根据所述流量策略将所述任务流量发送至下游服务设备201、202、203以便其进行处理。
服务器205可以是一个实体的服务器,还可例如为上文所述的断路器,需要说明的是,本申请实施例所提供的任务流量处理方法可以由服务器205执行,相应地,任务流量处理装置可以设置于服务器205中。而提处理任务流量的任务处理端一般位于下游服务设备201、202、203中。
图3是根据一示例性实施例示出的一种任务流量处理方法的流程图。任务流量处理方法30至少包括步骤S302至S308。本申请的任务流量处理方法可应用在流量处理的断路器中。
如图3所示,在S302中,实时获取任务流量和其对应的响应错误率。
在一个实施例中,断路器可通过滑动窗口计数器实时获取任务流量和其对应的下游服务超时响应;在一个实施例中,还可通过滑动窗口计数器实时获取任务流量和其对应的错误代码响应;在一个实施例中,还可通过滑动窗口计数器实时获取任务流量和其对应的目标函数的返回响应。
在一个实施例中,可通过下游服务超时响应和/或错误代码响应和/或返回响应生成响应错误率。
更具体的,断路器可使用在服务间调用上,如果请求下游服务超时,下游服务返回错误码,等情况都认为是下游异常。断路器还可以使用在本地服务器处理的服务中,可作用于业务流程中的某个关键函数上,如果该函数返回错误,则认为是出现异常。断路器中可设置滑动窗口计数器,记录了本当前窗口期总共承载了多少流量,返回了多少响应错误。
在S304中,获取所述任务流量对应的限流阈值和多阶段限流配置。可例如,获取所述任务流量对应的下游服务的标识;基于所述下游服务的标识提取所述限流阈值和多阶段限流配置。
更具体的,不同的下游服务器或业务流程对应不同的流量处理能力,所以,不同的下游服务器或业务流程都会被设置不同的限流阈值和多阶段限流配置相关数据。
假设A服务需要对B、C、D三个下游服务做断路器保护,那么就需要增加3套配置,分别对B、C、D的访问做控制。根据下游服务的特点,设置每个服务不同的断路器配置。每个下游服务器或者业务流程对应的限流阈值和多节点限流配置可存储在本地服务器中,还可由管理员定时进行维护和更新。
在S306中,根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略。
在一个实施例中,在所述响应错误率大于限流阈值时,基于所述任务流量的当前阶段、多阶段限流配置生成逐步限流策略。可例如,由所述任务流量对应的索引位置提取所述任务流量的当前阶段;将所述当前阶段和多阶段限流配置进行匹配,提取下一阶段的流量占比;根据下一阶段的流量占比生成所述逐步限流策略。
可为每个服务器分配一个索引,该索引指向多阶段限流配置表格,显示该服务器当前对应的流量限流阶段。
在响应错误率大于阈值时,证明现阶段下游服务承载任务流量过多,应该减小任务流量以便其进行恢复,根据索引在多阶段限流配置表中提取该任务流量对应的服务器的当前阶段。然后读取下一个阶段的流量占比数据。
在一个具体的实施例中,多阶段限流配置表可为“1,2,4,8,16,32,64,100”,分别表示,现阶段的流量占比。在现阶段的流量占比为32时,说明现阶段只能接受预定流量数据的32%的流量数据进行处理。下一阶段的流量占比数据为16%,说明下一阶段只能接受预定流量数据的16%的流量数据进行处理。
在一个实施例中,在所述响应错误率小于限流阈值时,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略。可例如,由所述任务流量对应的索引位置提取所述任务流量的当前阶段;将所述当前阶段和多阶段限流配置进行匹配,提取上一阶段的流量占比;根据上一阶段的流量占比生成所述逐步放量策略。
在响应错误率小于阈值时,证明现阶段下游服务承载任务流量适宜,可以尝试增加任务流量以进行处理,可根据索引在多阶段限流配置表中提取该任务流量对应的服务器的当前阶段。然后读取上一个阶段的流量占比数据。
在一个具体的实施例中,多阶段限流配置表可为“5,10,15,20,25,30,35,,50,75,100”,分别表示,现阶段的流量占比。在现阶段的流量占比为50时,说明现阶段只能接受预定流量数据的50%的流量数据进行处理。上一阶段的流量占比数据为75%,说明上一阶段能接受预定流量数据的75%的流量数据进行处理。
在一个实施例中,还包括:在多阶段限流配置表格中更新所述任务流量对应的索引位置。在提取对应的阶段流量占比之后,将所述服务器对应的索引指向上一阶段或下一阶段。
在S308中,根据所述流量策略将所述任务流量发送至下游服务以进行处理。可根据所述流量策略中的流量占比提取所述任务流量中的部分任务流量;将所述部分任务流量发送至下游服务以进行处理。
根据本申请的任务流量处理方法,通过实时获取任务流量和其对应的响应错误率;获取所述任务流量对应的限流阈值和多阶段限流配置;根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;根据所述流量策略将所述任务流量发送至下游服务以进行处理的方式,能够动态调整发送给下游服务处理的任务流量,从而使得上游服务限流和放量的过程中,不会对下游服务造成冲击,保证系统安全运行。
应清楚地理解,本申请描述了如何形成和使用特定示例,但本申请的原理不限于这些示例的任何细节。相反,基于本申请公开的内容的教导,这些原理能够应用于许多其它实施例。
本申请的任务流量处理方法,通过增加阶梯式逐步控制功能,增加逐步限流和逐步放量两种状态,从而消除瞬间开关流量对下游服务的冲击。状态转换过程如图4所示。图4是根据另一示例性实施例示出的一种任务流量处理方法的示意图。
由图4可知,在正常情况下,断路器是关闭状态,在下游的流量处理情况出现异常时,采用逐步限流策略,阶梯式的减少发送给下游的任务流量;在逐步限流策略的执行过程中,定时进行状态判断,在下游服务的任务处理持续异常时,逐步降低发送给下游的任务流量,直至断路器开启为止。在断路器开启时,关闭发送到该下游服务器的全部任务流量。
在逐步限流策略的执行过程中,定时进行状态判断,在下游服务的任务处理未出现异常时逐步增加发送给下游服务器的流量,直至流量恢复到100%的流量为止,此时断路器关闭。
在断路器开启时,持续对下游服务器的任务流量处理情况进行判断,在任务流量异常情况有缓解时,逐步放量,增加该下游服务器的任务处理流量。
在本申请的任务流量处理方法中,增加阶梯式控制功能后,当出现异常或异常恢复,半开状态会一直持续,半开状态下的流量是根据下游服务的状态动态调整,而动态调整的幅度可以动态配置,保证限流和放量的过程中,不会对下游服务造成冲击。
图5是根据另一示例性实施例示出的一种任务流量处理方法的流程图。图5所示的流程50是对图3所示的流程的详细描述。
如图5所示,在S501中,接收任务请求。
在S502中,判断任务请求对应的任务流量是否大于限流阈值。断路器一般使用在服务间调用上,如果请求下游服务超时,下游服务返回错误码,等情况都认为是下游异常。断路器还可以使用在本服务中,作用于业务流程中的某个关键函数上,如果该函数返回错误,则认为是出现异常;断路器中设计有一个滑动窗口计数器,记录了本当前窗口的流量情况,如:总共承载了多少流量,限制访问了多少流量,失败了多少流量,当下一个请求进行限流判断。
窗口的长度可设置不同的时间,以控制限流策略的更改周期。
在S503中,断路器打开。
在S504中,逐步限流。生成逐步限流策略。
在S505中,断路器开启。
在S506中,逐步放量。生成逐步放量策略。
在S507中,正常请求。
在S508中,判断当前请求是否可以通过。当逐步放量策略中的流量占比为100%时,可将断路器关闭,对应于该服务器的流量全部放行。
在S509中,结束。
本申请的任务流量处理方法,将断路器原本直接开关的过程,分解成多个阶段,在每个阶段都可以进行状态判断,从而决定要继续放量还是限流,而每次放量或限流量可以动态配置,保证在下游服务或功能的可接受范围内,从而避免断路器的开关对下游服务或功能的冲击。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本申请提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6是根据一示例性实施例示出的一种任务流量处理装置的框图。如图6所示,任务流量处理装置60包括:数据模块602,配置模块604,策略模块606,发送模块608。
数据模块602用于实时获取任务流量和其对应的响应错误率;数据模块602还用于通过滑动窗口计数器实时获取任务流量和其对应的下游服务超时响应;和/或通过滑动窗口计数器实时获取任务流量和其对应的错误代码响应;和/或通过滑动窗口计数器实时获取任务流量和其对应的目标函数的返回响应;通过下游服务超时响应和/或错误代码响应和/或返回响应生成响应错误率。
配置模块604用于获取所述任务流量对应的限流阈值和多阶段限流配置;配置模块604还用于获取所述任务流量对应的下游服务的标识;基于所述下游服务的标识提取所述限流阈值和多阶段限流配置。
策略模块606用于根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;
策略模块606还用于在所述响应错误率大于限流阈值时,基于所述任务流量的当前阶段、多阶段限流配置生成逐步限流策略;策略模块606还用于由所述任务流量对应的索引位置提取所述任务流量的当前阶段;将所述当前阶段和多阶段限流配置进行匹配,提取下一阶段的流量占比;根据下一阶段的流量占比生成所述逐步限流策略。
策略模块606还用于在所述响应错误率小于限流阈值时,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;策略模块606还用于由所述任务流量对应的索引位置提取所述任务流量的当前阶段;将所述当前阶段和多阶段限流配置进行匹配,提取上一阶段的流量占比;根据上一阶段的流量占比生成所述逐步放量策略。
发送模块608用于根据所述流量策略将所述任务流量发送至下游服务以进行处理。发送模块608还用于根据所述流量策略中的流量占比提取所述任务流量中的部分任务流量;将所述部分任务流量发送至下游服务以进行处理。
根据本申请的任务流量处理装置,通过实时获取任务流量和其对应的响应错误率;获取所述任务流量对应的限流阈值和多阶段限流配置;根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;根据所述流量策略将所述任务流量发送至下游服务以进行处理的方式,能够动态调整发送给下游服务处理的任务流量,从而使得上游服务限流和放量的过程中,不会对下游服务造成冲击,保证系统安全运行。
图7是根据一示例性实施例示出的一种电子设备的框图。
下面参照图7来描述根据本申请的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书中的根据本申请各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图3,图5中所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备700’(例如键盘、指向设备、蓝牙设备等)通信,使得用户能与该电子设备700交互的设备通信,和/或该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,如图8所示,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本申请实施方式的上述方法。
所述软件产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:实时获取任务流量和其对应的响应错误率;获取所述任务流量对应的限流阈值和多阶段限流配置;根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;根据所述流量策略将所述任务流量发送至下游服务以进行处理。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施例的方法。
以上具体地示出和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (10)

1.一种任务流量处理方法,其特征在于,包括:
实时获取任务流量和其对应的响应错误率;
获取所述任务流量对应的限流阈值和多阶段限流配置;
根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;
根据所述流量策略将所述任务流量发送至下游服务以进行处理。
2.如权利要求1所述的方法,其特征在于,实时获取任务流量和其对应的响应错误率,包括:
通过滑动窗口计数器实时获取任务流量和其对应的下游服务超时响应;和/或
通过滑动窗口计数器实时获取任务流量和其对应的错误代码响应;和/或
通过滑动窗口计数器实时获取任务流量和其对应的目标函数的返回响应;
通过下游服务超时响应和/或错误代码响应和/或返回响应生成响应错误率。
3.如权利要求1所述的方法,其特征在于,获取所述任务流量对应的限流阈值和多阶段限流配置,包括:
获取所述任务流量对应的下游服务的标识;
基于所述下游服务的标识提取所述限流阈值和多阶段限流配置。
4.如权利要求1所述的方法,其特征在于,根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略,包括:
在所述响应率大于流量阈值时,生成逐步限流策略;
基于所述逐步限流策略由所述任务流量对应的索引位置提取所述任务流量的当前阶段;
将所述当前阶段和多阶段限流配置进行匹配,提取下一阶段的流量占比;
根据下一阶段的流量占比生成所述逐步限流策略。
5.如权利要求1所述的方法,其特征在于,根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略,包括:
在所述响应率大于流量阈值时,生成逐步放量策略;
基于所述逐步放量策略由所述任务流量对应的索引位置提取所述任务流量的当前阶段;
将所述当前阶段和多阶段限流配置进行匹配,提取上一阶段的流量占比;
根据上一阶段的流量占比生成所述逐步放量策略。
6.如权利要求4或5所述的方法,其特征在于,还包括:
在多阶段限流配置表格中更新所述任务流量对应的索引位置。
7.如权利要求1所述的方法,其特征在于,根据所述流量策略将所述任务流量发送至下游服务以进行处理,包括:
根据所述流量策略中的流量占比提取所述任务流量中的部分任务流量;
将所述部分任务流量发送至下游服务以进行处理。
8.一种任务流量处理装置,其特征在于,包括:
数据模块,用于实时获取任务流量和其对应的响应错误率;
配置模块,用于获取所述任务流量对应的限流阈值和多阶段限流配置;
策略模块,用于根据所述响应错误率与限流阈值的大小关系,基于所述任务流量的当前阶段、多阶段限流配置生成流量策略;
发送模块,用于根据所述流量策略将所述任务流量发送至下游服务以进行处理。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202210658684.9A 2022-06-12 2022-06-12 任务流量处理方法、装置及电子设备 Pending CN114880156A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210658684.9A CN114880156A (zh) 2022-06-12 2022-06-12 任务流量处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210658684.9A CN114880156A (zh) 2022-06-12 2022-06-12 任务流量处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN114880156A true CN114880156A (zh) 2022-08-09

Family

ID=82681010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210658684.9A Pending CN114880156A (zh) 2022-06-12 2022-06-12 任务流量处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN114880156A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361339A (zh) * 2022-08-15 2022-11-18 中国工商银行股份有限公司 流量控制方法、装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361339A (zh) * 2022-08-15 2022-11-18 中国工商银行股份有限公司 流量控制方法、装置、电子设备和存储介质
CN115361339B (zh) * 2022-08-15 2024-03-01 中国工商银行股份有限公司 流量控制方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN107632842B (zh) 规则配置和发布方法、系统、设备及存储介质
CN109272348B (zh) 活跃用户数量确定方法及装置、存储介质和电子设备
CN110599335A (zh) 一种基于多模型的用户金融风险评估方法和装置
CN111161085B (zh) 业务请求处理方法、装置、电子设备及计算机可读介质
CN111611514B (zh) 一种基于用户登录信息的页面展示方法、装置和电子设备
CN111954240A (zh) 网络故障处理方法、装置及电子设备
CN114880156A (zh) 任务流量处理方法、装置及电子设备
US20210157683A1 (en) Method, device and computer program product for managing data backup
CN111949906A (zh) 页面展示方法、装置及电子设备
US10169398B2 (en) Identifying corrupted text segments
CN113411267B (zh) 报文转发方法及装置
CN112994934B (zh) 数据交互方法、装置及系统
CN112015590B (zh) 一种多层级灾备方法、装置及电子设备
CN112800006B (zh) 用于网络设备的日志存储方法及装置
CN111209018B (zh) 一种应用升级提示信息处理的方法、装置和电子设备
CN114827157A (zh) 集群任务处理方法、装置、系统、电子设备及可读介质
CN110928940B (zh) 基于kafka集群的数据写入方法、装置、电子设备、存储介质
CN113485917A (zh) 一种接口管理方法、装置、电子设备及存储介质
CN113687971B (zh) 内存映象文件的生成方法及装置
CN113760589A (zh) 一种基于实时流处理框架的服务熔断方法和装置
CN111582648A (zh) 用户策略生成方法、装置及电子设备
CN114124360B (zh) 加密装置及方法、设备和介质
CN113347116B (zh) QoS调度延迟抖动处理方法及装置
CN111682991B (zh) 总线错误消息的处理方法及装置
US10831493B2 (en) Hardware apparatus to measure memory locality

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination