CN115277847A - 服务处理方法、装置、设备、平台、介质及程序产品 - Google Patents

服务处理方法、装置、设备、平台、介质及程序产品 Download PDF

Info

Publication number
CN115277847A
CN115277847A CN202210894063.0A CN202210894063A CN115277847A CN 115277847 A CN115277847 A CN 115277847A CN 202210894063 A CN202210894063 A CN 202210894063A CN 115277847 A CN115277847 A CN 115277847A
Authority
CN
China
Prior art keywords
service
node
request
service request
failure
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
CN202210894063.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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210894063.0A priority Critical patent/CN115277847A/zh
Publication of CN115277847A publication Critical patent/CN115277847A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本申请提供一种服务处理方法、装置、设备、平台、介质及程序产品。方法包括:提供第一服务的第一节点接收第一服务的服务请求;第一节点在第一服务依赖于第二服务时,确定是否存在第二服务请求失败的记录;若第一节点确定存在第二服务请求失败的记录,则确定第二服务请求失败的累计时长是否大于或等于第一预设时长;若该第一节点确定上述累计时长大于或等于第一预设时长,则不向第二节点发送第二服务的服务请求,并输出第一服务的第一请求结果。本申请提高了服务处理的稳定性。

Description

服务处理方法、装置、设备、平台、介质及程序产品
技术领域
本申请涉及数据处理技术,尤其涉及一种服务处理方法、装置、设备、平台、介质及程序产品。
背景技术
用户可以通过用户终端触发服务请求。用于处理该服务请求的节点,可以响应该服务请求,为用户提供服务。在现有的服务请求处理过程中,该服务可以依赖下游服务。对于存在依赖关系的服务,若该下游服务出现异常,将导致该服务也出现异常。因此,现有的服务处理方法存在稳定性较差的问题。
发明内容
本申请提供一种服务处理方法、装置、设备、平台、介质及程序产品,以提高服务处理的稳定性。
第一方面,本申请提供一种服务处理方法,所述方法应用于提供第一服务的第一节点,所述方法包括:
接收所述第一服务的服务请求;
若所述第一服务依赖于第二服务,则确定是否存在所述第二服务请求失败的记录;
若确定存在所述第二服务请求失败的记录,则确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长;
若确定所述累计时长大于或等于第一预设时长,则不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果。
可选的,所述若确定所述累计时长大于或等于第一预设时长,则不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果,包括:
若确定所述累计时长大于或等于第一预设时长,则确定是否满足再次请求第二服务的触发条件;
若确定不满足所述触发条件,则不向所述第二节点发送所述第二服务的服务请求,并输出所述第一请求结果。
可选的,所述确定是否满足再次请求第二服务的触发条件之后,所述方法还包括:
若确定满足所述触发条件,则向所述第二节点发送所述第二服务的服务请求;
若所述第二服务请求失败,则输出所述第一请求结果;
若所述第二服务请求成功,则输出所述第一服务的第二请求结果,并清除所述第二服务请求失败的记录;其中,所述第二请求结果包括:所述第二服务的请求结果。
可选的,所述触发条件包括:为所述第一服务的服务请求分配的随机数小于预设阈值;
或者,距离上次请求所述第二服务的时长大于或等于第二预设时长,所述第二预设时长小于所述第一预设时长;
或者,所述第二节点恢复所述第二服务的服务请求的处理。
可选的,所述触发条件包括:为所述第一服务的服务请求分配的随机数小于预设阈值;
所述确定是否满足再次请求第二服务的触发条件之前,还包括:
为所述第一服务的服务请求分配随机数。
可选的,所述预设阈值和/或所述第一预设时长与所述第二节点的服务请求频率相关。
可选的,所述方法还包括:
接收配置信息,所述配置信息用于配置所述预设阈值和/或所述第一预设时长。
可选的,所述确定是否存在所述第二服务请求失败的记录之后,所述方法还包括:
若确定不存在所述第二服务请求失败的记录,则向所述第二节点发送所述第二服务的服务请求;
若所述第二服务请求失败,则输出所述第一请求结果,并添加所述第二服务请求失败的记录;
若所述第二服务请求成功,则输出所述第一服务的第二请求结果;其中,所述第二请求结果包括:所述第二服务的请求结果。
可选的,所述确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长之后,所述方法还包括:
若确定所述累计时长小于所述第一预设时长,则向所述第二节点发送所述第二服务的服务请求;
若所述第二服务请求失败,则输出所述第一请求结果;
若所述第二服务请求成功,则输出所述第一服务的第二请求结果,并清除所述第二服务请求失败的记录;其中,所述第二请求结果包括:所述第二服务的请求结果。
第二方面,本申请提供一种服务处理装置,所述装置应用于提供第一服务的第一节点,所述装置包括:
接收模块,用于接收所述第一服务的服务请求;
确定模块,用于在所述第一服务依赖于第二服务时,确定是否存在所述第二服务请求失败的记录;以及,在确定存在所述第二服务请求失败的记录时,确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长;
处理模块,用于在所述确定模块确定所述累计时长大于或等于第一预设时长时,不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果。
第三方面,本申请提供一种电子设备,包括:处理器、以及存储器;所述处理器与所述存储器通信连接;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
第四方面,本申请提供一种服务处理平台,包括:用于提供第一服务的第一节点,以及,用于提供第二服务的第二节点,所述第一服务依赖于所述第二服务;
所述第一节点用于执行如第一方面任一项所述的方法。
第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的服务处理方法。
第六方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所述的服务处理方法。
本申请提供的服务处理方法、装置、设备、平台、介质及程序产品,第一节点在接收第一服务的服务请求之后,在第一服务依赖于第二服务时,通过先确定是否存在第二服务请求失败的记录,避免了第一节点直接向可能存在异常的第二节点发送第一服务的服务请求,提高了第一节点输出第一请求结果的效率。在存在第二服务请求失败的记录时,通过确定第二服务请求失败的累计时长是否大于或等于第一预设时长,确定了第二节点存在异常。在第二服务请求失败的累计时长大于或等于第一预设时长,也就是第二节点存在异常时,不向第二节点发送第二服务的服务请求,减少了向第二节点发送服务请求的次数,进而减少了第二节点所需响应的请求的数量,提高了第二节点恢复正常状态的效率,从而使得第二节点可以尽快为第一节点提供服务,因此提高了服务处理的稳定性。通过在第二服务请求失败的累计时长大于或等于第一预设时长时,输出第一服务的第一请求结果,使得第一节点的下游节点出现异常时,可以截断对该出现异常的下游节点的请求,提高了第一节点响应第一服务的服务请求的效率,进一步提高了服务处理的稳定性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为服务处理方法的一种应用场景示意图;
图2为本申请提供的一种第一节点和第二节点的应用场景示意图;
图3为本申请提供的一种第一节点的应用场景示意图;
图4为部署有第一节点的电子设备10的硬件结构示意图;
图5为本申请提供的一种任务处理方法的流程示意图;
图6为本申请提供的另一种任务处理方法的流程示意图;
图7为本申请提供的又一种任务处理方法的流程示意图;
图8为本申请提供的一种服务处理装置的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面首先对本申请涉及到的部分名词概念进行解释:
每秒查询率(Queries per second,QPS):QPS可以用于表征服务器在预设时间内能够处理流量的多少。通常,QPS越大,说明该服务器性能越好,该服务器预设时间内能够处理的流量越多。QPS越小,说明该服务器性能越差,该服务器预设时间内能够处理的流量越少。
下游服务:以服务A依赖于服务B为例,则服务B为服务A的下游服务。其中,此处所说的服务A依赖于服务B指的是:基于服务B提供的数据,提供服务A。
函数即服务(Function as a service,FaaS):FaaS指的是通过函数或代码块实现一项功能的技术。通过FaaS可以提高前端设备提供服务的效率。
随着科学技术的发展,通过一个应用程序可以提供的服务越来越多。以安装有地图导航类应用程序的手机或者平板电脑为例,图1为服务处理方法的一种应用场景示意图。如图1所示,该地图导航类应用程序,除了可以为用户提供地图数据,还可以提供例如打车、订票、订酒店等服务。
用户可以通过终端设备触发使用上述任一服务的服务请求。示例性的,如图1所示,用户可以通过点击打车服务对应的控件,通过该终端设备触发打车服务请求。该终端设备可以响应于该打车服务请求,与打车服务对应节点进行交互,以获取提供该打车服务所需的相关数据。如图1所示,打车服务对应节点可以获取打车平台A对应的节点所提供打车平台A的车辆信息,以及,打车平台B对应的节点所提供打车平台B的车辆信息。终端设备例如可以通过该地图导航应用程序对应节点,与打车服务对应节点进行交互,以获取上述打车平台A的车辆信息,以及,打车平台B的车辆信息,并显示。
在现有的服务处理方法中,上述打车服务对应节点,需要在获取到提供该打车服务所需的所有数据之后,再向地图导航应用程序对应节点反馈车辆信息。也就是说,打车服务对应节点需要在获取到打车平台A对应节点所提供打车平台A的车辆信息,且获取到打车平台B对应的节点所提供打车平台B的车辆信息之后,才能向地图导航应用程序对应节点反馈车辆信息。
然而,在使用现有的服务处理方法处理用户的服务请求时,若上述打车平台A对应节点,或者,打车平台B对应的节点处于繁忙或者故障等异常状态,而无法及时向打车服务对应节点提供车辆信息时,将导致打车服务对应节点无法向地图导航应用程序对应节点反馈任何车辆信息,进而导致地图导航应用程序对应节点无法向终端设备提供打车服务。
因此,现有的服务处理方法存在稳定性较差的问题。
考虑到现有的服务处理方法存在上述问题的原因是任一下游服务节点(例如上述打车平台A对应节点,或者,打车平台B对应节点)出现异常,上游服务节点(例如打车服务对应节点)便无法提供服务,本申请提出了一种在下游服务节点异常时,上游服务也可以输出服务请求结果的方法,以提高服务处理的稳定性。
本申请提供的服务处理方法的执行主体可以为提供第一服务的第一节点。该第一服务所依赖的第二服务(也就是第一服务的下游服务)对应的节点可以为第二节点。示例性的,以该第一服务为上述打车服务为例,该第一节点可以为打车服务对应的节点,该第二服务可以为提供打车平台A的车辆信息和提供打车平台B的车辆信息,该第二节点可以为例打车平台A对应节点和打车平台B对应节点。应理解,前述示例中的打车服务、地图导航服务等仅是本申请提供的一种可能的实现方式,本申请对该第一服务和第二服务的具体内容并不进行限定。
此外,应理解,本申请对上述第一节点,以及,第二节点的形式也不进行限定。在一些实施例中,上述第一节点和第二节点也可以是部署在云环境中。图2为本申请提供的一种第一节点和第二节点的应用场景示意图,如图2所示,在一种实施例中,第一节点和第二节点可全部部署在云环境中。云环境是云计算模式下利用基础资源向用户提供云服务的实体。云环境包括云数据中心和云服务平台,所述云数据中心包括云服务提供商拥有的大量基础资源(包括计算资源、存储资源和网络资源),云数据中心包括的计算资源可以是大量的电子设备(例如服务器)。例如,以云数据中心包括的计算资源是运行有虚拟机的服务器为例,第一节点和第二节点可以分别独立地部署在云数据中心中的服务器或虚拟机上,第一节点和第二节点也可以分别分布式地部署在云数据中心中的多台服务器上、或者分布式地部署在云数据中心中的多台虚拟机上、再或者分布式地部署在云数据中心中的服务器和虚拟机上。如图2所示,云环境可以利用部署在云数据中心的第一节点向用户提供第一服务,通过第二节点向用户提供第二服务。
以第一节点为例,图3为本申请提供的一种第一节点的应用场景示意图。本申请提供的第一节点和第二节点的部署较为灵活,在另一种实施例中,本申请提供的第一节点或第二节点还可以分布式地部署在不同的环境中。本申请提供的第一节点或者第二节点可以在逻辑上分成多个部分,每个部分具有不同的功能。示例性的,以第一节点为例,如图3所示,第一节点中的各部分可以分别部署在终端电子设备(位于用户侧)、边缘环境和云环境中的任意两个或三个中。位于用户侧的终端电子设备例如可以包括下述至少一种:终端服务器、智能手机、笔记本电脑、平板电脑、个人台式电脑等。边缘环境为包括距离终端电子设备较近的边缘电子设备集合的环境,边缘电子设备包括:边缘服务器、拥有计算力的边缘小站等。部署在不同环境或设备的第一节点的各个部分协同实现为用户提供第一服务。应理解,本申请不对第一节点的哪些部分部署具体部署在什么环境进行限制性的划分,实际应用时可根据终端电子设备的计算能力、边缘环境和云环境的资源占有情况或具体应用需求进行适应性的部署。图3是以第一节点分别部署在边缘环境和云环境为例的应用场景示意图。
第一节点和第二节点也可以单独部署在任意环境中的一个电子设备上(例如:单独部署在边缘环境的一个边缘服务器上)。示例性的,仍然以第一节点为例,图4为部署有第一节点的电子设备10的硬件结构示意图,图4所示的电子设备10包括存储器11、处理器12、通信接口13。存储器11、处理器12、通信接口13之间彼此通信连接。例如,存储器11、处理器12、通信接口13之间可以采用网络连接的方式,实现通信连接。或者,上述电子设备10还可以包括总线14。存储器11、处理器12、通信接口13通过总线14实现彼此之间的通信连接。图4是以存储器11、处理器12、通信接口13通过总线14实现彼此之间的通信连接的电子设备10。
存储器11可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器11可以存储程序(也就是计算机执行指令),当存储器11中存储的程序被处理器12执行时,处理器12和通信接口13用于执行本申请所提供的服务处理方法。也就是说,处理器12执行存储器11存储的计算机执行指令,以实现本申请所提供的服务处理方法。
处理器12可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路。
处理器12还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的第一节点的功能可以通过处理器12中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器12还可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请下文实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请下文实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器11,处理器12读取存储器11中的信息,结合其硬件完成本申请的第一节点的功能。
通信接口13使用例如但不限于收发器一类的收发模块,来实现电子设备10与其他设备或通信网络之间的通信。例如,可以通过通信接口13获取数据集。
当上述电子设备10包括总线14时,总线14可包括在电子设备10各个部件(例如,存储器11、处理器12、通信接口13)之间传送信息的通路。
下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图5为本申请提供的一种任务处理方法的流程示意图。如图5所示,该方法包括以下步骤:
S101、接收第一服务的服务请求。
示例性的,以用户通过手机、电脑等用户终端触发该第一服务请求为例,则第一节点可接收来自用户终端的服务请求。在一些实施例中,以智能驾驶场景为例,第一节点还可以接收来自智能驾驶状态的车辆的服务请求。在一些实施例中,该第一节点例如还可以接收来自该第一节点的上游节点(也就是基于该第一节点提供服务的节点)的服务请求。
S102、若第一服务依赖于第二服务,则确定是否存在第二服务请求失败的记录。
可选的,上述第二服务请求失败的记录可以为第一节点在之前向第二节点请求第二服务失败时记录的。或者,第二节点可以在响应第二服务请求失败时,向该第一节点反馈第二服务请求失败的信息,进而该第一节点可以基于该信息生成第二服务请求失败的记录。
应理解,本申请对第一服务依赖的第二服务的数量并不进行限定。以第一服务依赖于多个第二服务为例,可选的,该第一节点中例如可以存储有第一服务依赖的每个第二服务的标识。第一节点可以在接收到第一服务的服务请求之后,根据各第二服务的标识,以及,存在服务请求失败记录的第二服务的标识,确定各第二服务是否存在第二服务请求失败的记录。
若第一服务不依赖于第二服务,可选的,第一节点例如可以直接根据第一服务的服务请求,获取提供第一服务所需的数据,并基于该数据提供第一服务。示例性的,该提供第一服务所需的数据例如为存储在该第一节点中,或者存储在数据库中的。
S103、若确定存在第二服务请求失败的记录,则确定第二服务请求失败的累计时长是否大于或等于第一预设时长。
若第一节点确定存在第二服务请求失败的记录,说明第二节点在此之前可能存在异常导致第二服务请求失败。则第一节点可以确定第二服务请求失败的累计时长是否大于或等于第一预设时长,以进一步确定该第二节点是否存在异常。
可选的,第一节点例如可以通过最近一次确定第二服务请求失败的时间,与,首次确定第二服务请求失败的时间差,得到第二服务请求失败的累计时长。
示例性的,上述第一预设时长例如可以为用户预先存储在该第一节点中的。
S104、在累计时长大于或等于第一预设时长时,不向第二节点发送第二服务的服务请求,并输出第一服务的第一请求结果。
若第一节点确定上述累计时长大于或等于该第一预设时长,说明该第二节点存在异常。因此,第一节点可以不向该第二节点发送第二服务的服务请求。通过上述方法,可以减少向第二节点发送服务请求的次数,进而减少了第二节点所需响应的请求的数量,提高了第二节点恢复正常状态的效率。
示例性的,以第一服务依赖于多个第二服务为例,上述第一请求结果中,例如可以包括下述至少一项:不存在第二服务请求失败记录的第二节点所提供的数据、第二服务请求失败的累计时长小于第一预设时长的第二节点所提供的数据,以及,第一节点针对该第一服务服务请求所提供的数据等。以该第一服务依赖于一个第二服务为例,上述第一请求结果中,例如可以包括第一节点针对该第一服务服务请求所提供的数据。在一些实施例中,上述第一请求结果例如还可以包括:用于表征第二服务请求失败的提示信息。
以用户通过手机、电脑等用户终端触发前述第一服务的服务请求为例,第一节点可以向该用户终端输出第一请求结果。以第一节点接收来自智能驾驶状态的车辆的第一服务的服务请求为例,第一节点可以向该智能驾驶状态的车辆输出第一请求结果。以第一节点接收来自该第一节点的上游节点的第一服务的服务请求为例,第一节点可以向该上游节点输出第一请求结果。
在本实施例中,第一节点在接收第一服务的服务请求之后,在第一服务依赖于第二服务时,通过先确定是否存在第二服务请求失败的记录,避免了第一节点直接向可能存在异常的第二节点发送第一服务的服务请求,提高了第一节点输出第一请求结果的效率。在存在第二服务请求失败的记录时,通过确定第二服务请求失败的累计时长是否大于或等于第一预设时长,确定了第二节点存在异常。在第二服务请求失败的累计时长大于或等于第一预设时长,也就是第二节点存在异常时,不向第二节点发送第二服务的服务请求,减少了向第二节点发送服务请求的次数,进而减少了第二节点所需响应的请求的数量,提高了第二节点恢复正常状态的效率,从而使得第二节点可以尽快为第一节点提供服务,因此提高了服务处理的稳定性。通过在第二服务请求失败的累计时长大于或等于第一预设时长时,输出第一服务的第一请求结果,使得第一节点的下游节点出现异常时,可以截断对该出现异常的下游节点的请求,提高了第一节点响应第一服务的服务请求的效率,进一步提高了服务处理的稳定性。
在上述步骤S102之后,若第一节点确定不存在第二服务请求失败的记录,说明第二节点在此之前不存在异常,可以正常向第一节点提供服务。因此,可选的,第一节点可以向该第二节点发送第二服务的服务请求。通过上述方法,第一节点可以向第二节点发送第二服务的服务请求,以尝试获取第二节点提供的数据。
在第一节点向第二节点发送第二服务的服务请求之后,若第二服务请求失败,可选的,第一节点可以输出上述第一请求结果,并添加第二服务请求失败的记录。通过输出上述第一请求结果,可以提高第一节点响应第一服务的服务请求的效率,进一步提高了服务处理的稳定性。通过添加第二服务请求失败的记录,使得第一节点在下一次接收到第一服务的服务请求之后,可以基于该第二服务请求失败的记录,确定是否向第二节点发送第二服务的服务请求,进一步提高了服务处理的稳定性。
若第二服务请求成功,则第一节点可以输出第一服务的第二请求结果。其中,该第二请求结果可以包括:第二服务的请求结果。可选的,第一节点可以在获取到第二服务的请求结果之后,直接将该第二服务的请求结果作为第一服务的第二请求结果并输出。或者,第一节点还可以在获取到第二服务的请求结果之后,对该第二服务的请求结果中的数据进行处理,以获取第一服务的第二请求结果。
在上述步骤S103之后,若第一节点确定第二服务请求失败的累计时长小于上述第一预设时长,说明该第二节点可能并不存在异常。上述第二服务请求失败的记录例如可以是因为第一节点与第二节点之间的网络波动影响。因此,可选的,第一节点可以向该第二节点发送第二服务的服务请求。
在第一节点向第二节点发送第二服务的服务请求之后,若第二服务请求失败,可选的,第一节点可以输出上述第一请求结果。通过输出上述第一请求结果,可以提高第一节点响应第一服务的服务请求的效率,进一步提高了服务处理的稳定性。此外,第一节点还可以记录本次第二服务请求失败的时间,以使第一节点在下一次接收到第一服务的服务请求之后,可以基于本次第二服务请求失败的时间,确定第二服务请求失败的累计时长。
若第二服务请求成功,说明第二节点并无异常或者异常已经解除,则第一节点可以输出第一服务的第二请求结果,并清除第二服务请求失败的记录。其中,该第二请求结果可以包括:第二服务的请求结果。在一些实施例中,通过清除第二服务请求失败的记录,使得第一节点在之后可以确定不存在第二服务请求失败的记录,进而可以直接向该第二节点发送第二服务的服务请求,因此提高了第一节点获取第二服务的请求结果的效率,进而提高了输出第一服务的第二请求结果的效率。
在本实施例中,通过在第二服务请求失败的累计时长小于上述第一预设时长时,向第二节点发送第二服务的服务请求,使得第一节点可以在第二服务请求成功时,获取到第二服务的请求结果并输出。通过上述方法,使得第一节点可以输出包括第二服务的请求结果的第一服务的第二请求结果,提高了第一节点响应第一服务的服务请求的准确性,且提高了服务处理的智能化。
下面对第一节点如何在第二服务请求失败的累计时长大于或等于第一预设时长时,不向第二节点发送第二服务的服务请求,并输出第一服务的第一请求结果,进行详细说明:
作为一种可能的实现方式,在第一节点确定累计时长大于或等于第一预设时长时,第一节点可以先确定是否满足再次请求第二服务的触发条件。然后,若第一节点确定不满足该触发条件,则不向第二节点发送第二服务的服务请求,并输出第一请求结果。
在该实现方式下,通过在不满足触发条件时,不向第二节点发送第二服务的服务请求,进一步减少了向第二节点发送服务请求的次数,进而减少了第二节点所需响应的请求的数量,也就是减小了第二节点进行数据处理的压力,从而可以提高第二节点恢复正常状态的效率,以使第二节点可以尽快为第一节点提供服务,因此进一步提高了服务处理的稳定性。
若第一节点确定满足上述触发条件,可选的,第一节点可以向第二节点发送第二服务的服务请求。若第二服务请求失败,则第一节点可以输出第一请求结果。若第二服务请求成功,则第一节点可以输出第一服务的“包括第二服务的请求结果”的第二请求结果,并清除第二服务请求失败的记录。该实现方式的技术效果与前述实施例所述的输出第一服务的第二请求结果的技术效果类似,在此不再赘述。
下面对上述触发条件进行示例性说明:
作为第一种可能的实现方式,上述触发条件可以包括:为第一服务的服务请求分配的随机数小于预设阈值。
可选的,第一节点可以在该随机数小于预设阈值1时,确定满足再次请求第二服务的触发条件;在随机数大于或等于预设阈值1时,确定不满足再次请求第二服务的触发条件。示例性的,以上述随机数的范围为0-1为例,该预设阈值1的取值例如可以为0.1。此时,第一节点有0.1的概率满足再次请求第二服务的触发条件。
可选的,上述为第一服务的服务请求分配的随机数,可以为除了该第一节点之外的其他设备生成并发送给该第一节点的。或者,第一节点还可以在确定是否满足再次请求第二服务的触发条件之前,为第一服务的服务请求分配随机数。通过第一节点自身为第一服务的服务请求分配随机数,提高了第一节点基于该随机数决策是否向第二节点发送第二服务的服务请求的效率。
可选的,上述预设阈值例如可以为用户预先存储在该第一节点中的。或者,第一节点还可以接收配置信息。其中,该配置信息可以用于配置预设阈值,或者,第一预设时长,或者,用于配置预设阈值和第一预设时长。应理解,本申请对第一节点如何接收该配置信息并不进行限定。示例性的,该第一节点例如可以通过图形用户界面(Graphical UserInterface,GUI)或者,应用程序接口(Application Programming Interface,API)等接收用户输入的上述配置信息。
在一些实施例中,上述预设阈值和/或第一预设时长可以与第二节点的服务请求频率相关。其中,此处所说的第二节点的服务请求频率例如通过第二节点的QPS表征。以预设阈值与第二节点的服务请求频率相关为例,因为QPS越大的节点在预设时间内能够处理的流量越多,因此,上述预设阈值可以与第二节点的服务请求频率正相关。以第一预设时长与第二节点的服务请求频率相关为例,因为QPS越大的节点在预设时间内能够处理的流量越多,因此,第一预设时长可以与第二节点的服务请求频率负相关。
在该实现方式中,基于与第二节点的服务请求频率相关的预设阈值和/或第一预设时长,确定向第二节点发送第二服务的服务请求的时机,实现了根据第二节点的性能,向第二节点发送第二服务的服务请求。也就是说,向第二节点发送第二服务的服务请求的次数与第二节点的性能相关,降低了第二节点出现异常的概率,因此进一步提高了服务处理的稳定性。
在一些实施例中,第一节点也可以在该随机数大于或等于预设阈值2时,确定满足再次请求第二服务的触发条件;在随机数小于预设阈值2时,确定不满足再次请求第二服务的触发条件。示例性的,仍然以上述随机数的范围为0-1为例,假定该预设阈值2的取值为0.9,此时,第一节点有0.1的概率满足再次请求第二服务的触发条件。
作为第二种可能的实现方式,上述触发条件可以包括:距离上次请求第二服务的时长大于或等于第二预设时长。其中,该第二预设时长小于前述第一预设时长。
在该实现方式下,第一节点可以每隔第二预设时长,满足一次触发条件。因此,第一节点可以每隔第二预设时长,向第二节点发送第二服务的服务请求。其中,该第二预设时长可以为用户预先存储在该第一节点中的。或者,上述配置信息例如还可以用于配置该第二预设时长。在一些实施例中,该第二预设时长也可以与第二节点的QPS相关。
作为第三种可能的实现方式,上述触发条件可以包括:第二节点恢复第二服务的服务请求的处理。
可选的,第一节点例如可以在确定前述累计时长大于或等于第一预设时长之后,周期性的向该第二节点发送健康检测请求。可选的,该健康检测请求可以用于请求第二节点反馈当前第二节点是否恢复了第二服务的服务请求的处理的反馈信息。可选的,该健康检测请求为一段内容较少的数据,以减小第二节点响应该健康检测请求的压力。
示例性的,若第一节点确定该第二节点的反馈信息用于表征当前恢复了第二服务的服务请求的处理,则第一节点可以确定满足触发条件。若第一节点确定该第二节点的反馈信息用于表征当前未恢复第二服务的服务请求的处理,则第一节点可以确定不满足触发条件。
在本实施例中,通过上述各种实现方式下的触发条件,使得第一节点在不满足上述触发条件时,不向第二节点发送第二服务的服务请求。通过上述方法,减少了第一节点向第二节点发送第二服务的服务请求的次数,进而减轻了第二节点的处理压力。通过在第二节点出现异常时,减轻第二节点的处理压力,提高了第二节点恢复第二服务的服务请求的处理的效率,进一步提高了服务处理的稳定性。
示例性的,以将第一节点与第二节点之间的交互过程分为监测态和工作态为例,图6为本申请提供的另一种任务处理方法的流程示意图。如图6所示,其中,服务(Service)A作为第一节点提供的第一服务,服务B为第一服务所依赖的第二服务。
在监测态中,用户可以通过用户(User)终端向第一节点发送第一服务的服务请求。第一节点在接收到该第一服务的服务请求之后,可以向第二节点发送第二服务的服务请求。若请求超时,则第二节点可以反馈第二服务请求失败的信息,进而第一节点可以建立第二服务请求失败的记录,以及,向用户终端反馈第一服务的第一请求结果。
然后,第一节点可以在确定第二服务请求失败的累计时长大于或等于第一预设时长时,进入工作态。
在工作态中,第一节点可以在生成的随机数小于预设阈值(例如预设百分比)时,向第二节点发送第二服务的服务请求。若第二服务请求仍然失败,则第一节点可以向用户终端输出第一请求结果,并继续执行判断随机数是否小于预设百分比的操作,并在随机数小于预设百分比时,向第二节点发送第二服务的服务请求,直到第二服务请求成功。
以上述触发条件包括:为第一服务的服务请求分配的随机数Z小于预设阈值Y为例,图7为本申请提供的又一种任务处理方法的流程示意图。如图7所示,该方法包括以下步骤:
步骤1、第一节点接收第一服务的服务请求。
步骤2、在第一服务依赖于第二服务时,确定是否存在第二服务请求失败的记录。
若存在,则执行步骤3。若不存在,则执行步骤6,以向第二节点发送第二服务的服务请求。
步骤3、确定第二服务请求失败的累计时长X是否大于或等于第一预设时长。
其中,上述累积时长X的单位可以为秒。
若累计时长大于或等于第一预设时长,则执行步骤4。若累计时长小于第一预设时长,则执行步骤6,以向第二节点发送第二服务的服务请求。
步骤4、获取随机数Z。
步骤5、判断随机数Z是否小于预设阈值Y。
其中,以随机数Z的范围为0-1为例,则Y可以为预设百分比,例如0.1(也就是10%)。
若随机数Z小于预设阈值Y,则执行步骤6。若随机数Z大于预设阈值Y,则不向第二节点发送第二服务的服务请求(也可以称为截断下游请求),并输出第一服务的第一请求结果。
步骤6、向第二节点发送第二服务的服务请求。
步骤7、确定第二服务请求是否成功。
若成功则执行步骤8。若失败则执行步骤9。
步骤8、输出第一服务的第二请求结果,并清除第二服务请求失败的记录。
其中,该第二请求结果可以包括:第二服务的请求结果。
步骤9、添加第二服务请求失败的记录。
在本实施例中,第一节点在下游节点(也就是上述第二节点)出现异常时,也能够输出第一服务的第一请求结果。通过上述对出现异常的第二节点进行截断处理,使得第一节点能够快速响应第一服务的服务请求,提高了服务处理的稳定性。在第二节点出现异常时,第一节点通过随机数与预设阈值的大小关系,确定是否向第二节点发送第二服务的服务请求,提高了服务处理的智能化,减轻了第二节点的处理压力。
图8为本申请提供的一种服务处理装置的结构示意图。如图8所示,该装置包括:接收模块21、确定模块22,以及,处理模块23。其中,
接收模块21,用于接收所述第一服务的服务请求;
确定模块22,用于在所述第一服务依赖于第二服务时,确定是否存在所述第二服务请求失败的记录,以及,在确定存在所述第二服务请求失败的记录时,确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长。
处理模块23,用于在确定所述累计时长大于或等于第一预设时长时,不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果。
可选的,处理模块23,具体用于在确定所述累计时长大于或等于第一预设时长时,确定是否满足再次请求第二服务的触发条件;在确定不满足所述触发条件时,不向所述第二节点发送所述第二服务的服务请求,并输出所述第一请求结果。
可选的,该装置还可以包括发送模块24,用于在确定是否满足再次请求第二服务的触发条件之后,在确定满足所述触发条件时,向所述第二节点发送所述第二服务的服务请求;可选的,处理模块23,还用于在所述第二服务请求失败时,输出所述第一请求结果;在所述第二服务请求成功时,输出所述第一服务的第二请求结果,并清除所述第二服务请求失败的记录。其中,所述第二请求结果包括:所述第二服务的请求结果。
可选的,所述触发条件包括:为所述第一服务的服务请求分配的随机数小于预设阈值;或者,距离上次请求所述第二服务的时长大于或等于第二预设时长,所述第二预设时长小于所述第一预设时长;或者,所述第二节点恢复所述第二服务的服务请求的处理。
可选的,以所述触发条件包括:为所述第一服务的服务请求分配的随机数小于预设阈值为例,可选的,处理模块23,还用于在所述确定是否满足再次请求第二服务的触发条件之前,为所述第一服务的服务请求分配随机数。
可选的,所述预设阈值和/或所述第一预设时长与所述第二节点的服务请求频率相关。
可选的,接收模块21,还用于接收配置信息。其中,所述配置信息用于配置所述预设阈值和/或所述第一预设时长。
可选的,发送模块24,还用于在所述确定是否存在所述第二服务请求失败的记录之后,在确定不存在所述第二服务请求失败的记录时,向所述第二节点发送所述第二服务的服务请求。可选的,处理模块23,还用于在所述第二服务请求失败时,输出所述第一请求结果,并添加所述第二服务请求失败的记录;在所述第二服务请求成功时,输出所述第一服务的第二请求结果。其中,所述第二请求结果包括:所述第二服务的请求结果。
可选的,发送模块24,还用于在所述确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长之后,在确定所述累计时长小于所述第一预设时长时,向所述第二节点发送所述第二服务的服务请求。可选的,处理模块23,还用于在所述第二服务请求失败时,输出所述第一请求结果;在所述第二服务请求成功时,输出所述第一服务的第二请求结果,并清除所述第二服务请求失败的记录。其中,所述第二请求结果包括:所述第二服务的请求结果。
本申请提供的服务处理装置,用于执行前述服务处理方法实施例,其实现原理与技术效果类似,对此不再赘述。
本申请还提供一种如图4所示的电子设备10,电子设备10中的处理器12读取存储器11存储的一组计算机指令,以执行前述服务处理方法。
本申请还提供了一种服务处理平台。该服务处理平台可以包括:用于提供第一服务的第一节点,以及,用于提供第二服务的第二节点。其中,如前述所说,该第一服务依赖于第二服务。该第一节点可以用于执行前述任一实施例所述的方法。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。
本申请还提供一种计算机程序产品,该程序产品包括计算机程序,该计算机程序可以存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得电子设备实施上述的各种实施方式提供的服务处理方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (14)

1.一种服务处理方法,其特征在于,所述方法应用于提供第一服务的第一节点,所述方法包括:
接收所述第一服务的服务请求;
若所述第一服务依赖于第二服务,则确定是否存在所述第二服务请求失败的记录;
若确定存在所述第二服务请求失败的记录,则确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长;
若确定所述累计时长大于或等于第一预设时长,则不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果。
2.根据权利要求1所述的方法,其特征在于,所述若确定所述累计时长大于或等于第一预设时长,则不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果,包括:
若确定所述累计时长大于或等于第一预设时长,则确定是否满足再次请求第二服务的触发条件;
若确定不满足所述触发条件,则不向所述第二节点发送所述第二服务的服务请求,并输出所述第一请求结果。
3.根据权利要求2所述的方法,其特征在于,所述确定是否满足再次请求第二服务的触发条件之后,所述方法还包括:
若确定满足所述触发条件,则向所述第二节点发送所述第二服务的服务请求;
若所述第二服务请求失败,则输出所述第一请求结果;
若所述第二服务请求成功,则输出所述第一服务的第二请求结果,并清除所述第二服务请求失败的记录;其中,所述第二请求结果包括:所述第二服务的请求结果。
4.根据权利要求2所述的方法,其特征在于,所述触发条件包括:为所述第一服务的服务请求分配的随机数小于预设阈值;
或者,距离上次请求所述第二服务的时长大于或等于第二预设时长,所述第二预设时长小于所述第一预设时长;
或者,所述第二节点恢复所述第二服务的服务请求的处理。
5.根据权利要求4所述的方法,其特征在于,所述触发条件包括:为所述第一服务的服务请求分配的随机数小于预设阈值;
所述确定是否满足再次请求第二服务的触发条件之前,还包括:
为所述第一服务的服务请求分配随机数。
6.根据权利要求4或5所述的方法,其特征在于,所述预设阈值和/或所述第一预设时长与所述第二节点的服务请求频率相关。
7.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
接收配置信息,所述配置信息用于配置所述预设阈值和/或所述第一预设时长。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述确定是否存在所述第二服务请求失败的记录之后,所述方法还包括:
若确定不存在所述第二服务请求失败的记录,则向所述第二节点发送所述第二服务的服务请求;
若所述第二服务请求失败,则输出所述第一请求结果,并添加所述第二服务请求失败的记录;
若所述第二服务请求成功,则输出所述第一服务的第二请求结果;其中,所述第二请求结果包括:所述第二服务的请求结果。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长之后,所述方法还包括:
若确定所述累计时长小于所述第一预设时长,则向所述第二节点发送所述第二服务的服务请求;
若所述第二服务请求失败,则输出所述第一请求结果;
若所述第二服务请求成功,则输出所述第一服务的第二请求结果,并清除所述第二服务请求失败的记录;其中,所述第二请求结果包括:所述第二服务的请求结果。
10.一种服务处理装置,其特征在于,所述装置应用于提供第一服务的第一节点,所述装置包括:
接收模块,用于接收所述第一服务的服务请求;
确定模块,用于在所述第一服务依赖于第二服务时,确定是否存在所述第二服务请求失败的记录;以及,在确定存在所述第二服务请求失败的记录时,确定所述第二服务请求失败的累计时长是否大于或等于第一预设时长;
处理模块,用于在所述确定模块确定所述累计时长大于或等于第一预设时长时,不向第二节点发送所述第二服务的服务请求,并输出所述第一服务的第一请求结果。
11.一种电子设备,其特征在于,包括:处理器、以及存储器;所述处理器与所述存储器通信连接;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至9中任一项所述的方法。
12.一种服务处理平台,其特征在于,包括:用于提供第一服务的第一节点,以及,用于提供第二服务的第二节点,所述第一服务依赖于所述第二服务;
所述第一节点用于执行如权利要求1-9任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至9任一项所述的服务处理方法。
14.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至9任一项所述的服务处理方法。
CN202210894063.0A 2022-07-27 2022-07-27 服务处理方法、装置、设备、平台、介质及程序产品 Pending CN115277847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210894063.0A CN115277847A (zh) 2022-07-27 2022-07-27 服务处理方法、装置、设备、平台、介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210894063.0A CN115277847A (zh) 2022-07-27 2022-07-27 服务处理方法、装置、设备、平台、介质及程序产品

Publications (1)

Publication Number Publication Date
CN115277847A true CN115277847A (zh) 2022-11-01

Family

ID=83770463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210894063.0A Pending CN115277847A (zh) 2022-07-27 2022-07-27 服务处理方法、装置、设备、平台、介质及程序产品

Country Status (1)

Country Link
CN (1) CN115277847A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119307A (zh) * 2007-08-14 2008-02-06 北京航空航天大学 一种路由方法
US20120260322A1 (en) * 2011-04-08 2012-10-11 Microsoft Corporation Flexible authentication for online services with unreliable identity providers
WO2017097130A1 (zh) * 2015-12-08 2017-06-15 阿里巴巴集团控股有限公司 一种分布式存储系统的服务节点切换方法和装置
CN110764963A (zh) * 2018-07-28 2020-02-07 阿里巴巴集团控股有限公司 一种服务异常处理方法、装置及设备
CN110995780A (zh) * 2019-10-30 2020-04-10 北京文渊佳科技有限公司 Api调用方法、装置、存储介质及电子设备
CN112433872A (zh) * 2020-10-23 2021-03-02 深圳点猫科技有限公司 一种接口请求超时提醒方法、系统及存储介质
CN113055987A (zh) * 2021-02-02 2021-06-29 海能达通信股份有限公司 节点通信方法、设备和存储介质
US20210336839A1 (en) * 2017-05-24 2021-10-28 3S International, Llc. Method of scaling reliability of computing network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119307A (zh) * 2007-08-14 2008-02-06 北京航空航天大学 一种路由方法
US20120260322A1 (en) * 2011-04-08 2012-10-11 Microsoft Corporation Flexible authentication for online services with unreliable identity providers
WO2017097130A1 (zh) * 2015-12-08 2017-06-15 阿里巴巴集团控股有限公司 一种分布式存储系统的服务节点切换方法和装置
US20210336839A1 (en) * 2017-05-24 2021-10-28 3S International, Llc. Method of scaling reliability of computing network
CN110764963A (zh) * 2018-07-28 2020-02-07 阿里巴巴集团控股有限公司 一种服务异常处理方法、装置及设备
CN110995780A (zh) * 2019-10-30 2020-04-10 北京文渊佳科技有限公司 Api调用方法、装置、存储介质及电子设备
CN112433872A (zh) * 2020-10-23 2021-03-02 深圳点猫科技有限公司 一种接口请求超时提醒方法、系统及存储介质
CN113055987A (zh) * 2021-02-02 2021-06-29 海能达通信股份有限公司 节点通信方法、设备和存储介质

Similar Documents

Publication Publication Date Title
US20200137151A1 (en) Load balancing engine, client, distributed computing system, and load balancing method
US10158541B2 (en) Group server performance correction via actions to server subset
US10904112B2 (en) Automatic capture of detailed analysis information based on remote server analysis
CN110401720B (zh) 信息处理方法、装置、系统、应用服务器和介质
CN110753131A (zh) 微服务分布式限流方法及装置、存储介质和电子设备
US10452469B2 (en) Server performance correction using remote server actions
US10404568B2 (en) Agent manager for distributed transaction monitoring system
CN113067875A (zh) 基于微服务网关动态流控的访问方法和装置以及设备
CN112650575A (zh) 资源调度方法、装置和云端服务系统
CN111866101A (zh) 访问请求处理方法及装置、存储介质和电子设备
US20210304102A1 (en) Automatically allocating network infrastructure resource usage with key performance indicator
CN113742389A (zh) 一种业务处理方法和装置
US10616081B2 (en) Application aware cluster monitoring
CN109308219B (zh) 任务处理方法、装置及分布式计算机系统
CN114363414A (zh) 一种调度计算实例的方法、装置及系统
CN115277847A (zh) 服务处理方法、装置、设备、平台、介质及程序产品
CN115576782A (zh) 基于监听机制的交易处理方法及装置
CN114816583A (zh) 基于Flink的数据自动化处理方法、装置和电子设备
CN110058866B (zh) 集群组件安装方法及设备
CN114513469A (zh) 分布式系统的流量整形方法、装置和存储介质
CN110928679B (zh) 一种资源分配方法及装置
CN113568706A (zh) 针对业务的容器调整方法、装置、电子设备和存储介质
CN114049065A (zh) 一种数据处理方法、装置及系统
CN113965563A (zh) 基于模型的业务处理方法及装置、服务器
CN113127191A (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