CN110347488A - 一种服务处理方法、装置、终端设备及存储介质 - Google Patents

一种服务处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN110347488A
CN110347488A CN201910611407.0A CN201910611407A CN110347488A CN 110347488 A CN110347488 A CN 110347488A CN 201910611407 A CN201910611407 A CN 201910611407A CN 110347488 A CN110347488 A CN 110347488A
Authority
CN
China
Prior art keywords
service
destination service
destination
working condition
video
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
CN201910611407.0A
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 ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network 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 ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN201910611407.0A priority Critical patent/CN110347488A/zh
Publication of CN110347488A publication Critical patent/CN110347488A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开实施例公开了一种服务处理方法、装置、终端设备及存储介质,所述方法包括:监测目标服务的工作状态;若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。通过本公开实施例的技术方案,避免了因目标服务异常造成的雪崩效应,提升了***的稳定性。

Description

一种服务处理方法、装置、终端设备及存储介质
技术领域
本公开实施例涉及应用软件数据处理技术,尤其涉及一种服务处理方法、装置、终端设备及存储介质。
背景技术
随着智能终端的广泛使用,各种应用软件不断推陈出新。其中,列表页(通常称为Feed页)是现有应用软件客户端中一种比较常见的界面呈现形式。由于一些应用软件客户端的Feed页呈现内容的趣味性以及内容推荐的准确性,完美地迎合了每个用户的兴趣爱好,吸引了大量的粉丝用户,使得粉丝用户刷起来爱不释手。如此,导致一些应用软件客户端的Feed页需要承载巨大的日活数据。
可见,应用软件客户端的Feed页承载了每个应用软件开发商的大部分广告收入,一次小的Feed事故可能会给开发商带来巨大的经济损失,同时还会影响客户体验。因此,应用软件客户端Feed页的稳定性非常重要。
在Feed框架的设计中,部署了非常多的服务程序,这些服务程序被称为实现特定Feed功能的依赖服务。例如用于获取视频ID(Identification,标识)列表的服务程序,用于获取视频基础信息的服务程序或者用于获取视频背景音乐的服务程序等。同时各服务程序之间可能还存在相互依赖关系,例如用于获取视频基础信息的服务程序需要依赖用于获取视频ID列表的服务程序,用于获取视频基础信息的服务程序需要依赖用于获取视频ID列表服务程序的返回结果来获取相关视频的基础信息。各服务程序之间存在链式调用的情况,然而,在各服务程序实际工作过程中,某个或者某几个服务程序可能因为一些原因无法正常工作而失去响应,如此会导致依赖该服务程序(指无法正常工作的服务程序)的其他服务程序因无法及时获得响应信息,而出现服务请求积压的情况,严重时则会造成雪崩效应,导致与该服务程序(指无法正常工作的服务程序)存在依赖关系的其他服务程序不可用,最终导致整个框架的崩溃。
发明内容
本公开实施例提供一种服务处理方法、装置、终端设备及存储介质,以避免因目标服务异常造成的雪崩效应,提升***的稳定性。
第一方面,本公开实施例提供了一种服务处理方法,包括:
监测目标服务的工作状态;
若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;
当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;
其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。
进一步的,所述监测目标服务的工作状态包括:
统计所述目标服务被调用时,出现错误的错误率;
对应的,若所述目标服务的工作状态符合触发条件,则触发熔断机制,包括:
若所述目标服务被调用时,出现错误的错误率达到设定阈值,则触发熔断机制。
进一步的,所述监测目标服务的工作状态包括:
统计所述目标服务被调用时产生的CPU(Central Processing Unit,中央处理单元)负载;
对应的,若所述目标服务的工作状态符合触发条件,则触发熔断机制,包括:
若所述目标服务被调用时产生的CPU负载达到设定阈值,则触发熔断机制。
进一步的,当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务包括:调用所述目标服务的备份服务;
其中,所述目标服务的备份服务与所述目标服务具备相同的服务功能。
进一步的,当所述目标服务包括用于获取视频ID列表的Sati服务时,所述调用所述目标服务的备份服务包括:
调用Rankedlist服务,以从Rankedlist服务的数据库读取视频ID列表;
其中,所述Rankedlist服务为所述Sati服务的备份服务;
所述Rankedlist服务的数据库中的视频ID列表通过推荐服务写入,所述推荐服务用于实现视频信息采集功能。
进一步的,所述方法还包括:触发熔断机制时,开始计时,并在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问。
进一步的,所述方法还包括:统计所述目标服务在第二预设时长内被关闭的次数,若所述次数达到阈值,则将所述目标服务下线。
第二方面,本公开实施例还提供了一种服务处理装置,该装置包括:
监测模块,用于监测目标服务的工作状态;
熔断模块,用于若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;
调用模块,用于当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;
其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。
进一步的,所述监测模块包括:
统计单元,用于统计所述目标服务被调用时,出现错误的错误率;
对应的,所述熔断模块具体用于:
若所述目标服务被调用时,出现错误的错误率达到设定阈值,则触发熔断机制。
进一步的,所述统计单元还用于:统计所述目标服务被调用时产生的CPU负载;
对应的,所述熔断模块具体用于:
若所述目标服务被调用时产生的CPU负载达到设定阈值,则触发熔断机制。
进一步的,所述调用模块具体用于:调用所述目标服务的备份服务;
其中,所述目标服务的备份服务与所述目标服务具备相同的服务功能。
进一步的,当所述目标服务包括用于获取视频ID列表的Sati服务时,所述调用模块具体用于当接收到Sati服务的访问请求时,调用Rankedlist服务,以从Rankedlist服务的数据库读取视频ID列表;其中,所述Rankedlist服务为所述Sati服务的备份服务;
所述Rankedlist服务的数据库中的视频ID列表通过推荐服务写入,所述推荐服务用于实现视频信息采集功能。
进一步的,所述装置还包括:计时模块,用于在触发熔断机制时,开始计时,并在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问。
进一步的,所述装置还包括:统计模块,用于统计所述目标服务在第二预设时长内被关闭的次数,若所述次数达到阈值,则将所述目标服务下线。
第三方面,本公开实施例还提供了一种终端设备,该设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开实施例所述的服务处理方法。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开实施例所述的服务处理方法。
本公开实施例提供的服务处理方法,通过在目标服务的工作状态符合触发条件时,触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问,当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务,其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务,实现了当目标服务异常时,跳过该目标服务的目的,从而避免了因目标服务异常造成的雪崩效应,提升了***的稳定性。
附图说明
图1是本公开实施例一提供的一种服务处理方法的流程示意图;
图2是本公开实施例二提供的一种服务处理方法的流程示意图;
图3是本公开实施例三提供的一种服务处理方法的流程示意图;
图4是本公开实施例四提供的一种服务处理装置的结构示意图;
图5是本公开实施例五提供的一种终端设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
实施例一
图1为本公开实施例一提供的一种服务处理方法的流程示意图。该方法可适用于当***依赖的服务出现异常时,对所述服务进行处理以避免***雪崩效应的情况,该方法可以由服务处理装置执行,该装置可由软件和/或硬件实现,并通常集成于终端,例如服务器。具体参见图1所示,所述服务处理方法包括如下步骤:
步骤110、监测目标服务的工作状态。
其中,所述目标服务包括实现***功能所依赖的服务,以Feed***为例,所述目标服务包括实现Feed流各项功能的服务,例如获取视频ID列表的Sati服务,获取各视频展示信息的条款Item服务、获取音乐等的RPC(Remote Procedure Call,远程过程调用)服务或者用于打包各视频相关信息的打包Pack服务等。
示例性的,监测目标服务的工作状态,包括:
统计所述目标服务被调用时,出现错误的错误率;
具体的,以10s为一个滑动窗口,在窗口期内,统计所述目标服务被调用时的调用结果分别出现的次数,其中,调用结果包括成功(表示返回正确的信息)、失败(表示返回错误的信息)和超时(表示设定时长内无返回信息)。目标服务被调用时,出现错误的错误率(窗口期内)=sum(fail+timeout)/调用总数(窗口期内),即窗口期内调用结果“失败”出现的次数与“超时”出现的次数和与调用目标服务总次数的比值。
或者,还可以通过统计所述目标服务被调用时产生的CPU负载的方式监测目标服务的工作状态。
所述CPU负载具体指所述目标服务运行时占用的CPU内存率。
步骤120、若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问。
其中,所述触发条件包括:错误率达到设定阈值,或者,目标服务被调用时产生的CPU负载达到设定阈值。具体的,若所述目标服务被调用时,出现错误的错误率达到设定阈值,则触发熔断机制;或者,若所述目标服务被调用时产生的CPU负载达到设定阈值,则触发熔断机制。
所述熔断机制具体是将所述目标服务关闭的机制,其目的是禁止所述目标服务被访问,以防大量的访问请求积压在该目标服务节点从而造成***的雪崩效应。具体的,可通过设置软开关实现对所述目标服务的关闭,即自动控制或者人工控制软开关打开,切断所述目标服务被访问的路径,从而实现禁止所述目标服务被访问。或者,通过设置物理开关实现对所述目标服务的关闭,例如将承载所述目标服务的业务机关闭或者断电等。
步骤130、当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务。
其中,所述除所述目标服务之外的服务包括实现***功能所依赖的服务,以Feed***为例,假设所述目标服务为获取视频音乐的服务,则除所述目标服务之外的服务可以是用于打包各视频相关信息的打包Pack服务。进一步的,除所述目标服务之外的服务具体还可以是所述目标服务的下游服务。所述下游服务具体是指:在实现特定的***功能时,执行完所述目标服务之后,才执行的服务。
如下结合具体场景说明上述服务处理方法的过程:
以Feed***为例,现要实现视频的展示功能,具体实现过程为:通过调用Sati服务获取高热视频的ID列表,所述高热视频指浏览量较高的视频,然后基于Item服务获取所述高热视频ID列表中各视频的展示信息(例如视频的简介、帧率或者码率信息),再基于音乐服务获取高热视频ID列表中各视频的背景音乐,最后通过打包Pack服务将所述视频的ID列表、各视频的展示信息以及各视频的背景音乐打包成客户端可以识别的Json格式的文件。假设所述目标服务为音乐服务,当音乐服务的工作工作状态符合触发条件时,则触发熔断机制,将所述音乐服务关闭,当接收到音乐服务的访问请求时,跳过音乐服务,直接调用打包Pack服务将所述视频的ID列表、各视频的展示信息打包成客户端可以识别的Json格式的文件。通过在所述音乐服务出现问题时及时将其关闭,在确保基本的***功能的前提下,避免了因大量的音乐服务请求积压在音乐服务节点,从而导致的雪崩效应,提升了整个Feed***的稳定性。
本实施例的技术方案,通过在目标服务的工作状态符合触发条件时,触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问,当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务,其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务,实现了当目标服务异常时,跳过该目标服务的目的,从而避免了因目标服务异常造成的雪崩效应,提升了***的稳定性。
实施例二
图2为本公开实施例二提供的一种服务处理方法的流程示意图。本实施例以上述实施例中各个可选方案为基础进行具体化,提供了可选的服务处理方法,具体是在触发熔断机制后,当接收到目标服务的访问请求时,优先调用所述目标服务的备份服务,以在避免雪崩效应的同时确保***具有较好的服务功能。参见图2所示,所述服务处理方法具体包括如下步骤:
步骤210、监测目标服务的工作状态。
步骤220、若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问。
步骤230、当接收到所述目标服务的访问请求时,调用所述目标服务的备份服务。
其中,所述目标服务的备份服务也可被称为所述目标服务的兜底服务,指与所述目标服务具备相同服务功能的服务。具体的,当接收到所述目标服务的访问请求时,将当前进程自动切换至所述目标服务的备份服务。
以Feed***为例,假设所述目标服务为用于获取高热视频ID列表的Sati服务,该Sati服务为Feed***中非常重要的服务,因为后续的用于获取ID列表中各视频展示信息的Item服务以及用于获取ID列表中各视频音乐信息的音乐服务均依赖该Sati服务的返回结果,若Sati服务异常,则后续依赖Sati服务的其他服务也无法正常工作,如此,整个Feed***的视频展示功能则无法实现。因此,当***核心服务异常时,为了确保***的基本服务功能,本实施例提出了当目标服务异常时,自动切换到目标服务的备份服务的方案,即当Sati服务被熔断之后,若接收到Sati服务的访问请求,则调用Sati服务的备份服务获取高热视频ID列表,所述Sati服务的备份服务例如是从本地文件读取视频ID列表的服务,本地文件中视频ID列表的生成过程为:在历史调用Sati服务成功时,将返回的视频ID列表缓存至本地文件。
进一步的,调用Sati服务的备份服务还可以是:
调用Rankedlist服务,以从Rankedlist服务的数据库读取视频ID列表;
其中,所述Rankedlist服务为所述Sati服务的备份服务;所述Rankedlist服务的数据库中的视频ID列表通过推荐服务写入,所述推荐服务用于实现视频信息采集功能。推荐服务将筛选出的高热视频的ID列表实时地写入Sati服务的数据库,因此,Sati服务可获取到实时性最高的视频ID列表。为了尽量减少服务器的工作量,设定推荐服务将筛选出的高热视频的ID列表定期写入Rankedlist服务的数据库,故Rankedlist服务获取的视频ID列表的实时性低于Sati服务获取到的视频ID列表的实时性,但是通过业务实践得知两者相差并不大,因此在Sati服务异常被熔断时,可基于Rankedlist服务获取设定数量的视频ID列表,从而保证Feed***基本的服务功能。
如此,当目标服务异常时,可通过切换至目标服务的备份服务确保***基本的服务功能,进而确保基本的用户体验,从而实现了提高***稳定性的目的。
步骤240、继续调用所述目标服务的下游服务。
继续使用上述举例,假设所述目标服务为用于获取高热视频ID列表的Sati服务,则所述目标服务的下游服务包括用于获取ID列表中各视频的基础信息的Item服务以及用于获取ID列表中各视频的音乐信息的音乐服务等。
本实施例的技术方案,在上述实施例的基础上,当目标服务异常被熔断之后,通过自动切换至目标服务的备份服务,实现了当***的核心服务异常时,避免雪崩效应的同时确保***基本服务功能的目的,提高了***的稳定性,提升了用户体验。
实施例三
图3为本公开实施例三提供的一种服务处理方法的流程示意图。本实施例以上述实施例中各个可选方案为基础进行具体化,提供了可选的服务处理方法,具体是在触发熔断机制时,开始计时,并在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问,以应对目标服务因不明原因而短暂异常的情况。参见图3所示,所述服务处理方法具体包括如下步骤:
步骤310、监测目标服务的工作状态。
步骤320、若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问,并开始计时。
步骤330、当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务。
步骤340、在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问。
其中,所述第一设定时长可根据业务经验进行设定。例如,在实际的业务处理过程中,当一个服务因不确定原因(例如业务机重启时)而无法正常工作时,通常多长时间后可自行恢复,则可将所述第一设定时长设置为多长。
进一步的,为了提升***的稳定性,所述服务处理方法还包括:统计所述目标服务在第二预设时长内被关闭的次数,若所述次数达到阈值,则将所述目标服务下线,所述第二预设时长通常大于所述第一设定时长,旨在考核所述目标服务的稳定性,若所述目标服务经常出现异常,则表明所述目标服务已经不能适应当前***,需要被改进,故将所述目标服务下线。
本实施例的技术方案,在上述实施例的基础上,当目标服务异常触发熔断机制时,开始计时,并在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问,以应对目标服务因不明原因而短暂异常的情况,且统计所述目标服务在第二预设时长内被关闭的次数,若所述次数达到阈值,则将所述目标服务下线,实现了避免雪崩效应的同时,提升各目标服务稳定性的目的,进而提高了***的稳定性。
实施例四
图4为本公开实施例四提供的一种服务处理装置的结构示意图。参见图4所示,服务处理装置包括:监测模块410、熔断模块420以及调用模块430;
其中,监测模块410,用于监测目标服务的工作状态;熔断模块420,用于若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;调用模块430,用于当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。
进一步的,监测模块410包括:
统计单元,用于统计所述目标服务被调用时,出现错误的错误率;
对应的,熔断模块420具体用于:
若所述目标服务被调用时,出现错误的错误率达到设定阈值,则触发熔断机制。
进一步的,所述统计单元还用于:统计所述目标服务被调用时产生的CPU负载;
对应的,所述熔断模块420具体用于:
若所述目标服务被调用时产生的CPU负载达到设定阈值,则触发熔断机制。
进一步的,调用模块430具体用于:调用所述目标服务的备份服务;
其中,所述目标服务的备份服务与所述目标服务具备相同的服务功能。
进一步的,当所述目标服务包括用于获取视频ID列表的Sati服务时,所述调用模块430具体用于当接收到Sati服务的访问请求时,调用Rankedlist服务,以从Rankedlist服务的数据库读取视频ID列表;
其中,所述Rankedlist服务为所述Sati服务的备份服务;所述Rankedlist服务的数据库中的视频ID列表通过推荐服务写入,所述推荐服务用于实现视频信息采集功能。
进一步的,所述装置还包括:计时模块,用于在触发熔断机制时,开始计时,并在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问。
进一步的,所述装置还包括:统计模块,用于统计所述目标服务在第二预设时长内被关闭的次数,若所述次数达到阈值,则将所述目标服务下线。
本实施例的技术方案,通过在目标服务的工作状态符合触发条件时,触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问,当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务,其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务,实现了当目标服务异常时,跳过该目标服务的目的,从而避免了因目标服务异常造成的雪崩效应,提升了***的稳定性。
上述产品可执行本公开任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
下面参考图5,其示出了适于用来实现本公开实施例的终端设备400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的终端设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,终端设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有终端设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许终端设备400与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的终端设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述终端设备中所包含的;也可以是单独存在,而未装配入该终端设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备:监测目标服务的工作状态;若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或业务服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该模块或单元本身的限定。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
注意,上述仅为本公开的较佳实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。

Claims (10)

1.一种服务处理方法,其特征在于,包括:
监测目标服务的工作状态;
若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;
当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;
其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。
2.根据权利要求1所述的方法,其特征在于,所述监测目标服务的工作状态包括:
统计所述目标服务被调用时,出现错误的错误率;
对应的,若所述目标服务的工作状态符合触发条件,则触发熔断机制,包括:
若所述目标服务被调用时,出现错误的错误率达到设定阈值,则触发熔断机制。
3.根据权利要求1所述的方法,其特征在于,所述监测目标服务的工作状态包括:
统计所述目标服务被调用时产生的中央处理单元CPU负载;
对应的,若所述目标服务的工作状态符合触发条件,则触发熔断机制,包括:
若所述目标服务被调用时产生的CPU负载达到设定阈值,则触发熔断机制。
4.根据权利要求1-3任一项所述的方法,其特征在于,当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务包括:调用所述目标服务的备份服务;
其中,所述目标服务的备份服务与所述目标服务具备相同的服务功能。
5.根据权利要求4所述的方法,其特征在于,当所述目标服务包括用于获取视频标识ID列表的Sati服务时,所述调用所述目标服务的备份服务包括:
调用排名列表Rankedlist服务,以从Rankedlist服务的数据库读取视频ID列表;
其中,所述Rankedlist服务为所述Sati服务的备份服务;所述Rankedlist服务的数据库中的视频ID列表通过推荐服务写入,所述推荐服务用于实现视频信息采集功能。
6.根据权利要求1-3任一项所述的方法,其特征在于,还包括:触发熔断机制时,开始计时,并在第一设定时长后关闭熔断机制,以将所述目标服务打开,允许所述目标服务被访问。
7.根据权利要求1-3任一项所述的方法,其特征在于,还包括:统计所述目标服务在第二预设时长内被关闭的次数,若所述次数达到阈值,则将所述目标服务下线。
8.一种服务处理装置,其特征在于,包括:
监测模块,用于监测目标服务的工作状态;
熔断模块,用于若所述目标服务的工作状态符合触发条件,则触发熔断机制,以将所述目标服务关闭,禁止所述目标服务被访问;
调用模块,用于当接收到所述目标服务的访问请求时,调用除所述目标服务之外的服务;
其中,所述目标服务以及除所述目标服务之外的服务包括实现***功能所依赖的服务。
9.一种终端设备,其特征在于,所述设备包括:
一个或多个处理装置;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-7中任一所述的服务处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现如权利要求1-7中任一所述的服务处理方法。
CN201910611407.0A 2019-07-08 2019-07-08 一种服务处理方法、装置、终端设备及存储介质 Pending CN110347488A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910611407.0A CN110347488A (zh) 2019-07-08 2019-07-08 一种服务处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910611407.0A CN110347488A (zh) 2019-07-08 2019-07-08 一种服务处理方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN110347488A true CN110347488A (zh) 2019-10-18

Family

ID=68178440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910611407.0A Pending CN110347488A (zh) 2019-07-08 2019-07-08 一种服务处理方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN110347488A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143069A (zh) * 2019-12-27 2020-05-12 杭州数梦工场科技有限公司 服务管理方法、装置、电子设备、存储介质
CN111178888A (zh) * 2019-12-30 2020-05-19 中国银行股份有限公司 一种支付服务的管理方法及***
CN111770134A (zh) * 2020-05-25 2020-10-13 国电南瑞科技股份有限公司 一种基于服务质量的服务熔断方法
CN111882067A (zh) * 2020-07-24 2020-11-03 北京睿知图远科技有限公司 一种基于数据统计的动态熔断算法及电子设备
CN112000394A (zh) * 2020-08-27 2020-11-27 北京百度网讯科技有限公司 用于访问小程序的方法、装置、设备以及存储介质
CN113676434A (zh) * 2020-05-13 2021-11-19 华为技术有限公司 网络资源的熔断方法、装置、电子设备及存储介质
CN113760589A (zh) * 2021-02-05 2021-12-07 北京京东振世信息技术有限公司 一种基于实时流处理框架的服务熔断方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1943090A (zh) * 2004-04-13 2007-04-04 C.&E.泛音有限公司 串励电动机及其控制方法
JP2012164116A (ja) * 2011-02-07 2012-08-30 Hitachi Systems Ltd メールサーバ保護システム及びメールサーバ保護方法
CN107171828A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种应对远程调用依赖的超时熔断方法和***
CN107819797A (zh) * 2016-09-12 2018-03-20 平安科技(深圳)有限公司 访问请求处理方法和装置
CN108427581A (zh) * 2018-02-07 2018-08-21 平安普惠企业管理有限公司 ***微服务化方法及终端设备
CN108429812A (zh) * 2018-03-21 2018-08-21 上海艾融软件股份有限公司 一种传统金融***微服务实施的ip固化方法
CN108712309A (zh) * 2018-06-11 2018-10-26 郑州云海信息技术有限公司 一种微服务架构下的微服务节点防护方法和***
CN109032783A (zh) * 2018-08-01 2018-12-18 杭州朗和科技有限公司 信息交互方法、介质、装置和计算设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1943090A (zh) * 2004-04-13 2007-04-04 C.&E.泛音有限公司 串励电动机及其控制方法
JP2012164116A (ja) * 2011-02-07 2012-08-30 Hitachi Systems Ltd メールサーバ保護システム及びメールサーバ保護方法
CN107819797A (zh) * 2016-09-12 2018-03-20 平安科技(深圳)有限公司 访问请求处理方法和装置
CN107171828A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种应对远程调用依赖的超时熔断方法和***
CN108427581A (zh) * 2018-02-07 2018-08-21 平安普惠企业管理有限公司 ***微服务化方法及终端设备
CN108429812A (zh) * 2018-03-21 2018-08-21 上海艾融软件股份有限公司 一种传统金融***微服务实施的ip固化方法
CN108712309A (zh) * 2018-06-11 2018-10-26 郑州云海信息技术有限公司 一种微服务架构下的微服务节点防护方法和***
CN109032783A (zh) * 2018-08-01 2018-12-18 杭州朗和科技有限公司 信息交互方法、介质、装置和计算设备

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143069A (zh) * 2019-12-27 2020-05-12 杭州数梦工场科技有限公司 服务管理方法、装置、电子设备、存储介质
CN111178888A (zh) * 2019-12-30 2020-05-19 中国银行股份有限公司 一种支付服务的管理方法及***
CN113676434A (zh) * 2020-05-13 2021-11-19 华为技术有限公司 网络资源的熔断方法、装置、电子设备及存储介质
CN113676434B (zh) * 2020-05-13 2023-03-24 华为技术有限公司 网络资源的熔断方法、装置、电子设备及存储介质
CN111770134A (zh) * 2020-05-25 2020-10-13 国电南瑞科技股份有限公司 一种基于服务质量的服务熔断方法
CN111770134B (zh) * 2020-05-25 2024-03-29 国电南瑞科技股份有限公司 一种基于服务质量的服务熔断方法
CN111882067A (zh) * 2020-07-24 2020-11-03 北京睿知图远科技有限公司 一种基于数据统计的动态熔断算法及电子设备
CN112000394A (zh) * 2020-08-27 2020-11-27 北京百度网讯科技有限公司 用于访问小程序的方法、装置、设备以及存储介质
CN112000394B (zh) * 2020-08-27 2024-01-09 北京百度网讯科技有限公司 用于访问小程序的方法、装置、设备以及存储介质
CN113760589A (zh) * 2021-02-05 2021-12-07 北京京东振世信息技术有限公司 一种基于实时流处理框架的服务熔断方法和装置

Similar Documents

Publication Publication Date Title
CN110347488A (zh) 一种服务处理方法、装置、终端设备及存储介质
US9143625B2 (en) Selection of wireless devices and service plans
US20150178657A1 (en) Systems and methods for incident queue assignment and prioritization
CN105991694B (zh) 一种实现分布式服务调用的方法与设备
US20230244541A1 (en) Cloud Resource Management Method and Apparatus, Computer Device, and Storage Medium
CN110022227A (zh) 业务处理方法、装置、设备及存储介质
CN108737132A (zh) 一种告警信息处理方法及装置
CN107239987A (zh) 订单处理方法及装置
CN108536578A (zh) 一种测试方法及装置
CN108734317A (zh) 网约车订单信息处理方法及装置
CN109428977A (zh) 互动式语音应答交互方法和装置
CN112770145B (zh) 一种用于视频监控平台的调度方法和***
US10382977B2 (en) Apparatus and method for monitoring operations in a satellite communication system
CN110427304A (zh) 用于银行***的运维方法、装置、电子设备以及介质
CN109814863A (zh) 一种请求返回数据的处理方法、装置、计算机设备及计算机存储介质
CN105930249B (zh) 应用监控方法和装置
CN108153795A (zh) 一种电子红包的数据处理方法、***和装置
CN112799824A (zh) 一种限流方法、装置、设备和存储介质
CN109933508A (zh) 用于发送信息的方法和装置
CN110347467A (zh) 一种数据请求处理方法、装置、终端设备及存储介质
CN107438097A (zh) 网络请求处理方法及装置
CN110489392A (zh) 多租户间的数据访问方法、装置、***、存储介质及设备
CN106528733A (zh) 网页页面展现方法及装置
CN110489263A (zh) 进程调用的异常识别方法及装置
CN109740307A (zh) 一种权限管理方法及设备

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