一种请求响应方法、装置、设备以及存储介质制造方法及图纸

技术编号:38487116 阅读:11 留言:0更新日期:2023-08-15 17:02
本公开提供了一种请求响应方法、装置、设备以及存储介质,涉及人工智能技术领域,尤其涉及云计算、云存储和云数据库技术领域。具体实现方案为:接收客户端发送的任务请求;将任务请求传递至指定调度系统,以使指定调度系统按照目标调度方式,将任务请求调度至用于处理任务请求的处理端,并在处理端生成针对任务请求的响应结果后,向服务端反馈响应结果;将响应结果反馈至客户端;目标调度方式包括:多个层级的调度模块中的接收到任务请求的目标调度模块,响应于接收到任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对任务请求进行关于该目标调度模块的调度服务。可见本方案可以减少请求响应过程的资源耗费。程的资源耗费。程的资源耗费。

【技术实现步骤摘要】
一种请求响应方法、装置、设备以及存储介质


[0001]本公开涉及人工智能
,尤其涉及云计算、云存储和云数据库
,具体涉及一种请求响应方法、装置、设备以及存储介质。

技术介绍

[0002]相关技术中,当客户端需要调用第三方提供的服务时,通过向第三方的服务端发送任务请求;相应的,服务端接收到任务请求后,通过调度系统,将任务请求调度至处理端,以对任务请求进行处理,从而得到响应结果。

技术实现思路

[0003]本公开提供了一种请求响应方法、装置、设备以及存储介质。
[0004]根据本公开的一方面,提供了一种请求响应方法,应用于服务端,所述方法包括:
[0005]接收客户端发送的任务请求;
[0006]将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
[0007]将所述响应结果反馈至所述客户端;
[0008]其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现所述目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于所述目标调度模块的调度服务。
[0009]根据本公开的另一方面,提供了一种请求响应装置,应用于服务端,所述装置包括:
[0010]接收模块,用于接收客户端发送的任务请求;
[0011]处理模块,用于将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
[0012]反馈模块,用于将所述响应结果反馈至所述客户端;
[0013]其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于该目标调度模块的调度服务。
[0014]根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的请求响应方法。
[0015]根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一项所述的请求响应方法。
[0016]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一项所述的请求响应方法。
[0017]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0018]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0019]图1是根据相关技术中一种服务之间通信的架构图;
[0020]图2是根据本公开一种请求响应方法的流程图;
[0021]图3是根据本公开的一种基于纤程的分布式调度系统的架构图;
[0022]图4是根据本公开的一种EDAP调度系统内部的通信原理图;
[0023]图5是根据本公开一种请求响应装置的结构示意图;
[0024]图6是用来实现本公开实施例的请求响应方法的电子设备的框图。
具体实施方式
[0025]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0026]图1展示了相关技术中服务之间通信的架构图。如图1所示,服务A是自研的系统,它的业务逻辑需要调用第三方提供的B、C、D服务,此时服务A作为B、C、D服务的客户端,通过向提供B、C、D服务的服务端发送http请求访问B、C、D服务。由于B、C、D服务是第三方提供的,不能保证它的响应时间,服务的延迟较长,导致整个业务处理都很慢,即使使用线程池模型,每个线程还是会阻塞在B、C、D的调用上,因此,为了提供更好的性能,相关技术中,通常借助其它语言的优势,例如Go语言,利用Go语言实现Agent(代理),来完成和B、C、D服务的请求。但是,这种方案需要对原有系统进行大的重构,同时系统要改成异步模型。
[0027]另外,针对现有的EDAP(Easy Data Lake Management and Analysis Platform,数据湖管理与分析平台)内部的调度服务来说,利用Java(一种计算机编程语言)内部成熟的多线程和线程池管理模型,在用于接收来自客户端的请求并产生输出的网络Handler模块中,利用Netty(一种Java开源框架)及其内部的异步化框架,进行服务内部和各服务之间的网络通信和http请求响应。
[0028]虽然目前线程池加Netty异步化能够比较好的完成各服务之间的网络通信,但是依然会存在如下问题:
[0029](1)线程池的线程分配总是有限的,过高的线程池配置会耗费大量的机器资源。
[0030](2)当服务负载过大时会导致I/O(input/output,输入/输出)阻塞,导致大量的任务请求同步阻塞在调度系统的master(核心调度)模块上,以至于无法及时分配worker(工作)模块,或者作业节点的状态无法同步,导致作业最终hang住,即无响应。
[0031](3)系统的复杂程度较高,难以保证高吞吐量和稳定性。
[0032]基于上述内容,为了减少请求响应过程的系统资源耗费,本公开实施例提供了一种请求响应方法、装置、设备以及存储介质。
[0033]下面,首先对本公开实施例所提供的一种请求响应方法进行介绍。
[0034]本公开实施例所提供的一种请求响应方法,可以应用于服务端,该服务端可以与客户端相通信。在实际应用中,该服务端可以接收客户端发送的任务请求,并将该请求的响应结果反馈至客户端。
[0035]具体而言,该请求响应方法的执行主体可以为请求响应装置。示例性的,当该请求响应方法应用于服务端时,该请求响应装置可以为运行于服务端中的计算机程序,该计算机程序可以用于实现对该任务请求的调度及处理,得到该任务请求的响应结果。
[0036]其中,本公开实施例所提供的一种请求响应方法,可以包括如下步骤:
[0037]接收客户端发送的任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种请求响应方法,应用于服务端,所述方法包括:接收客户端发送的任务请求;将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;将所述响应结果反馈至所述客户端;其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现所述目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于所述目标调度模块的调度服务。2.根据权利要求1所述的方法,其中,所述创建至少用于实现所述目标调度模块的调度服务的纤程,包括:创建用于实现所述目标调度模块的调度服务以及结果反馈服务的纤程;其中,所述结果反馈服务用于将针对所述任务请求的响应结果,反馈至关于向所述目标调度模块发出所述任务请求的发出方;所述向所述服务端反馈所述响应结果,包括:按照目标反馈方式,向所述服务端反馈所述响应结果;其中,所述目标反馈方式包括:所述目标调度模块响应于接收到所述响应结果,利用所创建的纤程,对所述响应结果进行关于所述目标调度模块的结果反馈服务。3.根据权利要求1或2所述的方法,其中,所述多个层级的调度模块包括核心调度模块、工作模块以及代理模块三个层级的调度模块;所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,包括:所述指定调度系统中的核心调度模块,响应于接收到所述服务端发送的任务请求,创建第一纤程,利用所述第一纤程,对所述任务请求进行关于所述核心调度模块的调度服务,其中,所述第一纤程用于确定所述任务请求待传递至的目标工作模块以及将所述任务请求发送至所述目标工作模块;所述指定调度系统中的目标工作模块,响应于接收到所述任务请求,创建第二纤程,利用所述第二纤程,对所述任务请求进行关于所述目标工作模块的调度服务,其中,所述第二纤程用于确定待传递至的目标代理模块以及将所述任务请求发送至所述目标代理模块;所述指定调度系统中的所述目标代理模块,响应于接收到所述任务请求,创建第三纤程,利用所述第三纤程,对所述任务请求进行关于所述目标代理模块的调度服务,其中,所述第三纤程用于将所述任务请求发送至用于处理所述任务请求的处理端。4.根据权利要求2所述的方法,其中,所述目标调度模块所创建的纤程,在对所述任务请求进行关于所述目标调度模块的调度服务时,处于运行状态,且对所述响应结果进行关于所述目标调度模块的结果反馈服务后,变更为终止状态。5.根据权利要求1或2所述的方法,其中,所述目标调度模块所创建的纤程是基于第三方的Quasar库进行实现的。6.一种请求响应装置,应用于服务端,所述装置包括:
接收模块,用于接收客户端发送的任务请求;处理模块,用于将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;反馈模...

【专利技术属性】
技术研发人员:陈伟旭
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1