服务调用的处理方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:21453668 阅读:16 留言:0更新日期:2019-06-26 04:41
本发明专利技术提供了一种服务调用的处理方法、装置、电子设备及可读存储介质,所述方法包括:获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级;根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求;根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。可以通过内核线程和非内核线程分别处理不同服务等级的调用方、被调用方的服务请求,有助于提高服务请求的处理速度,避免排队堵塞。

【技术实现步骤摘要】
服务调用的处理方法、装置、电子设备及可读存储介质
本专利技术实施例涉及网络领域,尤其涉及一种服务调用的处理方法、装置、电子设备及可读存储介质。
技术介绍
面向服务的系统是一种组件模型,包括:服务提供者、服务消费者、注册中心,而在系统初始化或服务提供者信息发生变化时,服务消费者需要从注册中心中获取服务提供者信息。现有技术中,采用总控队列进行获取请求的决策和仲裁。主要步骤包括:在服务消费者和服务提供者之间增加总控队列,暂时存储消息及其相关信息,使服务消费者和服务提供者解耦;设计JMS消息的相关属性信息;根据消息到达时间和系统当前时间对消息的优先级进行调整,并在调整后的优先级高于线程优先级的情况下,将消息发送至服务提供者。然而,在线程资源紧张的情况下,上述方案仍存在线程资源分配不均衡,导致排队堵塞。
技术实现思路
本专利技术提供一种服务调用的处理方法、装置、电子设备及可读存储介质,以解决现有技术服务调用时存在的上述问题。根据本专利技术的第一方面,提供了一种服务调用的处理方法,所述方法包括:获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级;根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求;根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。根据本专利技术的第二方面,提供了一种服务调用的处理装置,所述装置包括:服务器等级确定模块,用于获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级;请求队列确定模块,用于根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求;请求队列添加模块,用于根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。根据本专利技术的第三方面,提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述服务调用的处理方法。根据本专利技术的第四方面,提供了一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述服务调用的处理方法。本专利技术实施例提供了一种服务调用的处理方法、装置、电子设备及可读存储介质,所述方法包括:获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级;根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求;根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。可以通过内核线程和非内核线程分别处理不同服务等级的调用方、被调用方的服务请求,有助于提高服务请求的处理速度,避免排队堵塞。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的系统架构下的一种服务调用的处理方法具体步骤流程图;图2(A、B、C)分别是三种服务调用请求的示意图;图3是本专利技术实施例提供的一种服务调用的处理流程图;图4是本专利技术实施例提供的系统架构下的另一种服务调用的处理方法具体步骤流程图;图5是本专利技术实施例提供的一种服务调用请求拆分的示意图;图6是本专利技术实施例提供的一种服务调用的处理装置的结构图;图7是本专利技术实施例提供的另一种服务调用的处理装置的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例一参照图1,其示出了一种服务调用的处理方法的步骤流程图,包括:步骤101,获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级。其中,调用方和被调用方是相对的两个服务方,每个服务方通过一个或多个节点提供服务,服务内容根据业务场景不同而不同。可以理解,服务方A在服务调用请求B中可以作为调用方,但在服务调用请求C中可以作为被调用方。如图2(A)所示,一个服务调用请求包含调用方和被调用方,如图2(B)所示,服务调用请求1和服务调用请求2的被调用方相同,调用方分别为调用方1和调用方2;如图2(C)所示,服务调用请求1和2的调用方相同,被调用方分别为被调用方1和被调用方2。服务等级用于确定服务方提供的服务重要程度和紧急程度。服务重要程度越高,紧急程度越高,则服务等级越高,服务方具有优先处理的优先权;服务重要程度越低,紧急程度越低,则服务等级越低,服务方不具有优先处理的优先权。在实际应用中,服务调用请求入口用于获取服务调用请求,如图4所示,周期性触发、变更触发、服务触发的三种服务调用请求均输入至服务调用请求入口,该入口将服务调用请求发送至决策模块,确定服务调用请求中调用方、被调用方的服务等级,并根据服务等级确定对应的请求队列、步骤102,根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求。其中,内核线程相对于非内核线程响应速度较快,处理效率较高。具体地,当调用方或被调用方的服务等级较高时,将服务调用请求添加至第一请求队列,从而采用内核线程处理该请求,可以保证该类请求的高效处理;当调用方和被调用方的服务等级均较低时,将服务调用请求添加至第二请求队列,从而采用非内核线程处理该请求。此外,当同一个服务方同时作为至少两个服务调用请求的调用方或被调用方时,需要根据服务等级决策处理顺序。例如,如图2(B)所示,若调用方1的服务等级高于调用方2的服务等级,则优先处理服务调用请求1,然后处理服务调用请求2;若调用方1的服务等级低于调用方2的服务等级,则优先处理服务调用请求2,然后处理服务调用请求1;若调用方1和2的服务等级相同,则轮询处理服务调用请求1和2。同理,如图2(C)所示。若被调用方1的服务等级高于被调用方2的服务等级,则优先处理服务调用请求1,然后处理服务调用请求2;若被调用方1的服务等级低于被调用方2的服务等级,则优先处理服务调用请求2,然后处理服务调用请求1;若被调用方1和2的服务等级相同,则轮询处理服务调用请求1和2。步骤103,根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。可以理解,由于第一请求队列和第二请求队列存在多个,从而在确定了请求队列之后,还需本文档来自技高网...

【技术保护点】
1.一种服务调用的处理方法,其特征在于,所述方法包括:获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级;根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求;根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。

【技术特征摘要】
1.一种服务调用的处理方法,其特征在于,所述方法包括:获取服务调用请求集,并确定每个服务调用请求的调用方和被调用方的服务等级;根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列,所述请求队列为多个第一请求队列或多个第二请求队列,所述第一请求队列采用内核线程执行所述服务调用请求,所述第二请求队列采用非内核线程执行服务调用请求;根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中。2.根据权利要求1所述的方法,其特征在于,所述根据所述调用方和被调用方的服务等级,确定所述服务调用请求对应的请求队列的步骤,包括:确定所述调用方和被调用方的服务等级是否高于预设服务等级;在所述调用方和被调用方的服务等级均高于预设服务等级的情况下,确定所述服务调用请求对应第一请求队列;在所述调用方和被调用方其中至少一方的服务等级低于或等于预设服务等级的情况下,确定所述服务调用请求对应第二请求队列。3.根据权利要求1所述的方法,其特征在于,所述根据所述被调用方提供服务的节点总数目将所述服务调用请求添加至所述请求队列中的步骤,包括:获取所述请求队列的队列数目,以及,被调用方提供服务的节点总数目;根据所述队列数目和节点总数目确定每个请求队列对应的节点数目;针对每个请求队列,按照所述请求队列对应的节点数目,将所述服务调用请求拆分为服务调用子请求,并添加至所述请求队列中。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收针对所述服务调用子请求对应的结果数据;将所述服务调用子请求对应的结果数据合并为所述服务调用请求的结果数据。5.根据权利要求1所述的方法,其特征在于,所述确定每个服务调用请求的调用方和被调用方的服务等级的步骤,包括:针对每个服务调用请求,获取所述服务调用请求的请求类型;在所述请求类型为周期性触发的情况下,确定所述调用方、被调用方的服务等级为第一服务等级;在所述请求类型为服务触发的情况下,确定所述调用方、被调用方的服务等级为第四服务等级;在所述请求类型为变更触发的情况下,针对所述调用方、被调用方中的每个服务方,统计所述服务方提供服务的节点数目,以及,获取所述服务方对应...

【专利技术属性】
技术研发人员:郑小富舒超吴湘
申请(专利权)人:北京三快在线科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1