CN116578430A - 一种请求响应方法、装置、设备以及存储介质 - Google Patents
一种请求响应方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN116578430A CN116578430A CN202310244694.2A CN202310244694A CN116578430A CN 116578430 A CN116578430 A CN 116578430A CN 202310244694 A CN202310244694 A CN 202310244694A CN 116578430 A CN116578430 A CN 116578430A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- task request
- module
- target
- fiber
- 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
Links
- 230000004044 response Effects 0.000 title claims abstract description 136
- 238000000034 method Methods 0.000 title claims abstract description 77
- 239000000835 fiber Substances 0.000 claims abstract description 164
- 238000012545 processing Methods 0.000 claims abstract description 74
- 239000003795 chemical substances by application Substances 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- SGTNSNPWRIOYBX-UHFFFAOYSA-N 2-(3,4-dimethoxyphenyl)-5-{[2-(3,4-dimethoxyphenyl)ethyl](methyl)amino}-2-(propan-2-yl)pentanenitrile Chemical compound C1=C(OC)C(OC)=CC=C1CCN(C)CCCC(C#N)(C(C)C)C1=CC=C(OC)C(OC)=C1 SGTNSNPWRIOYBX-UHFFFAOYSA-N 0.000 claims description 9
- 239000004973 liquid crystal related substance Substances 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 17
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000006854 communication Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- FPQQSJJWHUJYPU-UHFFFAOYSA-N 3-(dimethylamino)propyliminomethylidene-ethylazanium;chloride Chemical compound Cl.CCN=C=NCCCN(C)C FPQQSJJWHUJYPU-UHFFFAOYSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009941 weaving Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007474 system interaction Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Abstract
本公开提供了一种请求响应方法、装置、设备以及存储介质,涉及人工智能技术领域,尤其涉及云计算、云存储和云数据库技术领域。具体实现方案为:接收客户端发送的任务请求;将任务请求传递至指定调度系统,以使指定调度系统按照目标调度方式,将任务请求调度至用于处理任务请求的处理端,并在处理端生成针对任务请求的响应结果后,向服务端反馈响应结果;将响应结果反馈至客户端;目标调度方式包括:多个层级的调度模块中的接收到任务请求的目标调度模块,响应于接收到任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对任务请求进行关于该目标调度模块的调度服务。可见本方案可以减少请求响应过程的资源耗费。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及云计算、云存储和云数据库技术领域,具体涉及一种请求响应方法、装置、设备以及存储介质。
背景技术
相关技术中,当客户端需要调用第三方提供的服务时,通过向第三方的服务端发送任务请求;相应的,服务端接收到任务请求后,通过调度系统,将任务请求调度至处理端,以对任务请求进行处理,从而得到响应结果。
发明内容
本公开提供了一种请求响应方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种请求响应方法,应用于服务端,所述方法包括:
接收客户端发送的任务请求;
将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
将所述响应结果反馈至所述客户端;
其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现所述目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于所述目标调度模块的调度服务。
根据本公开的另一方面,提供了一种请求响应装置,应用于服务端,所述装置包括:
接收模块,用于接收客户端发送的任务请求;
处理模块,用于将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
反馈模块,用于将所述响应结果反馈至所述客户端;
其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于该目标调度模块的调度服务。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一项所述的请求响应方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一项所述的请求响应方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一项所述的请求响应方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据相关技术中一种服务之间通信的架构图;
图2是根据本公开一种请求响应方法的流程图;
图3是根据本公开的一种基于纤程的分布式调度系统的架构图;
图4是根据本公开的一种EDAP调度系统内部的通信原理图;
图5是根据本公开一种请求响应装置的结构示意图;
图6是用来实现本公开实施例的请求响应方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图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服务的请求。但是,这种方案需要对原有系统进行大的重构,同时系统要改成异步模型。
另外,针对现有的EDAP(Easy Data Lake Management and Analysis Platform,数据湖管理与分析平台)内部的调度服务来说,利用Java(一种计算机编程语言)内部成熟的多线程和线程池管理模型,在用于接收来自客户端的请求并产生输出的网络Handler模块中,利用Netty(一种Java开源框架)及其内部的异步化框架,进行服务内部和各服务之间的网络通信和http请求响应。
虽然目前线程池加Netty异步化能够比较好的完成各服务之间的网络通信,但是依然会存在如下问题:
(1)线程池的线程分配总是有限的,过高的线程池配置会耗费大量的机器资源。
(2)当服务负载过大时会导致I/O(input/output,输入/输出)阻塞,导致大量的任务请求同步阻塞在调度系统的master(核心调度)模块上,以至于无法及时分配worker(工作)模块,或者作业节点的状态无法同步,导致作业最终hang住,即无响应。
(3)系统的复杂程度较高,难以保证高吞吐量和稳定性。
基于上述内容,为了减少请求响应过程的系统资源耗费,本公开实施例提供了一种请求响应方法、装置、设备以及存储介质。
下面,首先对本公开实施例所提供的一种请求响应方法进行介绍。
本公开实施例所提供的一种请求响应方法,可以应用于服务端,该服务端可以与客户端相通信。在实际应用中,该服务端可以接收客户端发送的任务请求,并将该请求的响应结果反馈至客户端。
具体而言,该请求响应方法的执行主体可以为请求响应装置。示例性的,当该请求响应方法应用于服务端时,该请求响应装置可以为运行于服务端中的计算机程序,该计算机程序可以用于实现对该任务请求的调度及处理,得到该任务请求的响应结果。
其中,本公开实施例所提供的一种请求响应方法,可以包括如下步骤:
接收客户端发送的任务请求;
将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
将所述响应结果反馈至所述客户端;
其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现所述目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于所述目标调度模块的调度服务。
本公开提供的方案中,通过将该任务请求传递至包括多个层级的调度模块的指定调度系统,以使该指定调度系统中接收到该任务请求的目标调度模块,可以创建至少用于实现该目标调度模块的调度服务的纤程,并利用所创建的纤程,对该任务请求进行关于该目标调度模块的调度服务,从而将该任务请求调度至该任务请求的处理端。由于指定调度系统中的目标调度模块,利用所创建的纤程对该任务请求进行调度,而纤程具有占用内存小、切换时占用CPU资源少的特点,因此,本方案相较于相关技术中,利用线程池中的线程在调度系统内部进行调度的方案而言,可以减少请求响应过程的资源耗费。另外,通过本方案,不需要额外的代理层,系统的复杂程度低。
下面结合附图,对本公开实施例所提供的请求响应方法进行介绍。
如图2所示,本公开实施例所提供的请求响应方法,应用于服务端,可以包括步骤S201-S203:
S201,接收客户端发送的任务请求;
本实施例中,该任务请求可以是提交作业、写文件、查询等http请求。示例性的,在实际应用中,该客户端可以是UI(User Interface,用户界面)、CLI(command-lineinterface,命令行界面)、console(控制台)等可以发出命令与服务端进行交互的工具。用户可以在该客户端中输入命令,将该命令通过http请求发送至服务端,服务端接收携带有该命令的http请求,即任务请求。另外,需要说明的是,该任务请求还可以是其他类型的请求,并不局限于http请求,本公开实施例对该请求的类型并不限定。
S202,将该任务请求传递至指定调度系统,以使该指定调度系统按照目标调度方式,将该任务请求调度至用于处理该任务请求的处理端,并在该处理端生成针对该任务请求的响应结果后,向该服务端反馈该响应结果;
S203,将该响应结果反馈至该客户端;
其中,该指定调度系统包括多个层级的调度模块,该目标调度方式包括:多个层级的调度模块中的接收到该任务请求的目标调度模块,响应于接收到该任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对该任务请求进行关于该目标调度模块的调度服务。
可以理解的是,服务端在接收到客户端发送的任务请求后,可以将该任务请求传递至指定调度系统,以使指定调度系统将该任务请求调度至该任务请求的处理端,从而使该处理端对任务请求进行处理,生成该任务请求的响应结果,并将响应结果反馈至服务端。从而使服务端将该响应结果反馈至客户端,以完成针对该任务请求的响应。
本实施例中,该指定调度系统中可以包括多个层级的调度模块,例如master模块、worker模块,等等。示例性的,当该指定调度系统的架构为master-workers架构(分布式调度系统中最常用的一种组织方式)时,该指定调度系统中包括master模块和worker模块。其中,master模块为该指定调度系统的核心模块,负责任务请求的存储、调度计划的生成以及分配作业执行单元;worker模块为调度作业执行单元的核心结构,负责任务请求的提交执行、状态同步和日志拉取存储。在该架构下,master模块和worker模块为两个层级的调度模块,且master模块为worker模块的上级模块,即任务请求由master模块调度至worker模块。
示例性的,基于master-workers架构,还存在一种调度系统,区别在于增加了RemoteAgent(远程代理)模块,也就是包括master模块、worker模块和RemoteAgent模块这三个层级的调度模块。并且,master模块为worker模块的上级模块,worker模块为RemoteAgent模块的上级模块,即任务请求由master模块调度至worker模块,并由worker模块调度至RemoteAgent模块。
示例性的,该指定调度系统可以是分布式调度系统,也就是该指定调度系统可以包括多组子系统,每一子系统均可以包括多个层级的调度模块,该指定调度系统可以进行横向或纵向扩展,即可扩展子系统的数量或者扩展该调度模块的层级。
另外,该目标调度方式为利用纤程在该多个层级的调度模块之间进行通信的调度方式。在实际应用中,该多个层级的调度模块中的任一接收到该任务请求的目标调度模块,响应于接收到该任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对该任务请求进行关于该目标调度模块的调度服务。可以理解的是,由于纤程不管在内存资源还是调度上都比线程轻量的多,因此,利用所创建的纤程对该任务请求进行关于该调度模块的调度服务,可以更有效的利用内存资源,从而减少请求响应过程中的资源耗费。需要说明的是,本公开在利用纤程实现调度服务时,纤程所实现的过程,可以与线程类似,并不为本公开的发明点,另外多个层级的调度模块之间的调度顺序,即各个调度模块的上下级关系,可以与现有技术相同。
可选地,在一种实现方式中,该目标调度模块所创建的纤程是基于第三方的Quasar库进行实现的。
可以理解的是,Quasar库是一个Java库,提供了高性能、轻量级线程的实现,即fiber(纤程)。fiber主要由Instrument(植入)、Continuation(继续)和Scheduler(调度)这三个部分组成。其中,Instrument用于做一些代码的植入,如park(暂停)前后的上下文的保存/恢复等;Continuation用于保存方法调用的信息,如局部变量、引用等,其可以暂停当前的计算,等隔一段时间可以继续执行;Schedule用于负责将fiber分配到具体的线程中去执行。
在本实现方式中,多个层级的调度模块可以复用同样的创建纤程的流程。即当需要创建纤程时,通过字节码修改技术在代码编译或载入时植入必要的上下文保存/恢复代码,通过抛异常来暂停,开启纤程执行调度服务,在纤程结束后根据保存的上下文,恢复方法调用栈和局部变量。可以理解的是,利用第三方的Quasar库,为基于纤程的调度服务提供了落地解决方案。
本公开提供的方案中,通过将该任务请求传递至包括多个层级的调度模块的指定调度系统,以使该指定调度系统中接收到该任务请求的目标调度模块,可以创建至少用于实现该目标调度模块的调度服务的纤程,并利用所创建的纤程,对该任务请求进行关于该目标调度模块的调度服务,从而将该任务请求调度至该任务请求的处理端。由于指定调度系统中的目标调度模块,利用所创建的纤程对该任务请求进行调度,而纤程具有占用内存小、切换时占用CPU资源少的特点,因此,本方案相较于相关技术中,利用线程池中的线程在调度系统内部进行调度的方案而言,可以减少请求响应过程的资源耗费。另外,通过本方案,不需要额外的代理层,系统的复杂程度低。
可选地,在本公开的另一实施例中,创建至少用于实现该目标调度模块的调度服务的纤程,可以包括:
创建用于实现该目标调度模块的调度服务以及结果反馈服务的纤程;其中,该结果反馈服务用于将针对该任务请求的响应结果,反馈至关于向该目标调度模块发出该任务请求的发出方;
相应地,在本实施例中,向该服务端反馈该响应结果,可以包括:
按照目标反馈方式,向该服务端反馈该响应结果;
其中,该目标反馈方式包括:该目标调度模块响应于接收到该响应结果,利用所创建的纤程,对该响应结果进行关于该目标调度模块的结果反馈服务。
本实施例中,任一调度模块接收到任务请求后,作为目标调度模块,将该任务请求调度至其他调度模块或者处理端,并将该处理端生成的响应结果,反馈至向该目标调度模块发出该任务请求的发出方。也就是,任一调度模块可以创建用于实现该调度模块的调度服务以及结果反馈服务的纤程,以使调度系统通过利用该纤程可以将服务端传递的任务请求,按照调度模块之间的调度顺序将该任务请求调度至处理端,并按照该调度顺序的逆顺序将该处理端生成的响应结果进行反馈,从而实现向服务端反馈该响应结果。
可以理解的是,由于指定调度系统中包括多个层级的调度模块,任务请求通过该多个层级的调度模块调度至处理端,因此,创建用于实现该目标调度模块的调度服务以及结果反馈服务的纤程,可以在处理端生成响应结果后,利用该纤程的结果反馈服务将该响应结果反馈至服务端。
可选地,在一种实现方式中,该目标调度模块所创建的纤程,在对该任务请求进行关于该目标调度模块的调度服务时,处于运行状态,且对该响应结果进行关于该目标调度模块的结果反馈服务后,变更为终止状态。
可以理解的是,由于目标调度模块所创建的纤程用于实现该目标调度模块的调度服务以及结果反馈服务,因此,在对该任务请求进行关于该目标调度模块的调度服务时,该纤程处于运行状态,在对该响应结果进行关于该目标调度模块的结果反馈服务后,该纤程变更为终止状态。需要说明的是,纤程在线程中进行运行,当纤程变更为终止状态后,可以调用删除纤程的函数来销毁纤程,被删除的纤程的栈将被销毁,纤程执行的上下文也会被释放。
可见,通过本方案,可以利用目标调度模块中所创建的纤程完成任务请求的调度以及响应结果的反馈,从而,大大降低通信过程中的资源消耗。
可选地,在本公开的另一实施例中,该多个层级的调度模块包括核心调度模块、工作模块以及代理模块三个层级的调度模块;
本实施例中,该多个层级的调度模块可以包括核心调度模块、工作模块以及代理模块,该三个层级的调度模块在接收到任务请求时,均作为目标调度模块。其中,核心调度模块负责任务请求的存储、调度计划的生成以及分配作业执行单元;工作模块为调度作业执行单元的核心结构,负责任务请求的提交执行、状态同步和日志拉取存储;代理模块为远程作业调度执行核心单元,负责将任务请求远程调度到对应的处理端,并将处理端生成的响应结果回传给工作模块。
可以理解的是,针对较为复杂的任务请求,工作模块不能处理,此时可以利用代理模块将该任务请求远程调度到用于处理该任务请求的处理端,使得该处理端生成该任务请求的响应结果,并向服务端反馈该响应结果。因此,可以利用包括核心调度模块、工作模块以及代理模块三个层级的调度模块,完成对复杂的任务请求的响应。
相应地,在本实施例中,上述步骤S202中指定调度系统按照目标调度方式,将该任务请求调度至用于处理该任务请求的处理端,可以包括A1-A3:
A1,指定调度系统中的核心调度模块,响应于接收到该服务端发送的任务请求,创建第一纤程,利用该第一纤程,对该任务请求进行关于该核心调度模块的调度服务,其中,该第一纤程用于确定该任务请求待传递至的目标工作模块以及将该任务请求发送至该目标工作模块;
A2,指定调度系统中的目标工作模块,响应于接收到该任务请求,创建第二纤程,利用该第二纤程,对该任务请求进行关于该目标工作模块的调度服务,其中,该第二纤程用于确定待传递至的目标代理模块以及将该任务请求发送该目标代理模块;
A3,指定调度系统中的该目标代理模块,响应于接收到该任务请求,创建第三纤程,利用该第三纤程,对该任务请求进行关于该目标代理模块的调度服务,其中,该第三纤程用于将该任务请求发送至用于处理该任务请求的处理端。
本实施例中,该目标调度方式为利用纤程在核心调度模块、目标工作模块以及目标代理模块之间进行调度的方式。即利用核心调度模块中所创建的第一纤程,将该任务请求发送至目标工作模块,目标工作模块利用所创建的第二纤程,将该任务请求发送至目标代理模块,目标代理模块利用所创建的第三纤程,将该任务请求发送至用于处理该任务请求的处理端。其中,该第一纤程、第二纤程、第三纤程的创建方式可以相同,当需要创建纤程时,通过字节码修改技术在代码编译或载入时植入必要的上下文保存/恢复代码,通过抛异常来暂停,开启纤程执行调度服务,在纤程结束后根据保存的上下文,恢复方法调用栈和局部变量。
另外,需要说明的是,该第一纤程确定该任务请求待传递至的目标工作模块的方式,可以是根据预设的负载均衡策略,选择负载最小的工作模块作为目标工作模块,或者,从负载小于预设阈值的工作模块中随机选择一工作模块作为目标工作模块,这都是合理的。本公开实施例并不对该第一纤程确定该任务请求待传递至的目标工作模块的方式进行限定,同理,也不对该第二纤程确定该任务请求待传递至的目标代理模块的方式进行限定。
可以理解的是,由于利用包括核心调度模块、工作模块以及代理模块三个层级的调度模块,可以完成对复杂的任务请求的响应,但是由于调度模块的数量增多,指定调度系统内部的网络通信量大大增加。由于纤程具有消耗小、切换快的特点,本方案通过利用纤程实现该指定调度系统内部的调度服务,可以在完成对复杂任务请求的响应的情况下,降低资源耗费及响应时间。
可见,通过本方案,可以利用包括核心调度模块、工作模块以及代理模块三个层级的调度模块,通过纤程来完成对复杂的任务请求的响应。从而,在完成对复杂任务请求的响应的情况下,降低资源耗费及响应时间。
为了更好的理解本方案,下面结合一个具体的示例对本公开实施例所提供的方法进行阐述。
相关技术中,基于云计算的分布式调度系统的网络通信模型通常采用线程池+外部Agent的架构模型。但是,会存在如下问题:
(1)线程池的线程分配总是有限的,过高的线程池配置会耗费大量的机器资源。
(2)当服务负载过大时会导致I/O(input/output,输入/输出)阻塞,导致大量的任务请求同步阻塞在调度系统的master(核心调度)模块上,以至于无法及时分配worker(工作)模块,或者作业节点的状态无法同步,导致作业最终hang住,即无响应。
(3)系统的复杂程度较高,难以保证高吞吐量和稳定性。
为了解决上述问题,本示例提供了一种基于纤程的分布式调度系统(对应于上文中的指定调度系统)。图3展示了基于纤程的分布式调度系统的架构图,如图3所示,用户可以通过在交互界面、控制命令行或控制台等客户端中输入CURD(Create Update ReadDelete,增删改查)命令,将该命令通过http请求发送至服务端,即向服务端发送任务请求。服务端将该任务请求发送至由核心调度模块、工作模块和代理模块这三个层级构成的指定调度系统,通过该指定调度系统中的各个调度模块创建用于实现调度服务以及结果反馈服务的纤程,如纤程1、纤程2,等等。通过利用纤程将该任务请求调度至用于处理该任务请求的执行引擎(对应于上文中的处理端),并将该执行引擎生成的响应结果反馈至服务端,从而通过服务端反馈至客户端。
从图3的调度系统架构图中可以看出,在一个作业提交过程中,有大量的网络层交互和I/O通信,因此系统的响应时间和吞吐率就很关键。
其中,纤程的实现基于第三方的Quasar库,主要是通过字节码修改技术在代码编译或载入时植入必要的上下文保存/恢复代码。通过抛异常来暂停,开启纤程以执行调度服务,在纤程结束后根据保存的上下文,恢复方法调用栈和局部变量。在Quasar库中,纤程的核心抽象就是fiber,其内部的纤程调度是基于ForkJoinScheduler(分叉连接调度程序)进行的,主要包括Instrument、Continuation和Scheduler这三个部分。其中,Instrument用于做一些代码的植入,如park(暂停)前后的上下文的保存/恢复等;Continuation用于保存方法调用的信息,如局部变量、引用等,其可以暂停当前的计算,等隔一段时间可以继续执行;Schedule用于负责将fiber分配到具体的线程中去执行。
在Java中,JVM(Java Virtual Machine,Java虚拟机)可以理解的代码就叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理器,只面向虚拟机。Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。在JVM的纤程模型中,其实现需要依赖字节码的装配。字节码的装配在Java代码编译时和运行时均可实现,其主要的过程分为三个步骤:
第一步,weaving(织入),即织入一些运行过程中需要依赖的命令,用于调用栈的保存和恢复,有JavaAgent(一种代码注入的方式)、AOT(Ahead of Time,提前编译)和ClassLoder(类加载)三种方式进行织入。
第二步,通过创建QuasarInstrumentor函数来处理Class的字节流,QuasarInstrumentor内部使用ASM(一个通用的Java字节码操作和分析框架)来处理Class的字节流,通过SuspendableClassifier类来判断是否需要instrument。
第三步,InstrumentClass函数继承ASM的ClassVisitor(负责对.class文件中某一部分里的信息进行修改的抽象类),对Suspendable函数前后进行织入,具体织入的指令在InstrumentMethod中处理。
图4展示了EDAP调度系统内部的通信原理图。如图4所示,核心调度模块、工作模块和代理模块可以复用同一个纤程模型,即复用相同的纤程工作流程,也可以称为复用纤程模型。该调度系统内部的通信流程如下:
(1)通过javaAgent或者AOT的方式,将核心调度模块、工作模块和代理模块的代码进行编译执行;
(2)当一个http请求打入核心调度模块时,会生成一个主控纤程(对应于上文中的第一纤程),生成纤程时会在其内部的字节码装载的代码模块中,执行Instrumentor逻辑,并且将内部的一些堆栈信息存储在Continuation的Stack(堆栈)中。随后,开启纤程,通过Scheduler将作业执行的逻辑(对应于上文的任务请求)打入Worker中,同时主控纤程变为RUNNING(运行中)状态;
(3)工作模块接收到执行请求后,会开启一个工作纤程(对应于上文中的第二纤程),纤程内部的字节码装载过程和(2)中描述相同。随后,开启纤程,通过Scheduler将作业执行的逻辑提交到代理模块上,同时工作纤程变成RUNNING状态。
(4)代理模块接收到执行请求后,会开启一个代理纤程(对应于上文中的第三纤程),其内部的字节码装载过程和(2)中描述相同。随后,开启纤程,将作业提交到对应的执行引擎,同时代理纤程的状态变为RUNNING状态。等提交过程完毕后,会将响应结果返回给工作纤程,同时代理纤程的状态变为TERMINATED(终止)状态。
(5)工作模块接收到代理模块的响应结果之后,会将对应的工作纤程的上下文从Continuation弹出,并将纤程执行所需的上下文进行切换后,将执行的结果返回给主控纤程,同时工作纤程的状态变为TERMINATED状态。
(6)核心调度模块接收到工作模块的响应结果之后,会将对应的主控纤程的上下文从Continuation弹出,并将纤程执行所需的上下文进行切换后,结束本次http请求,同时主控纤程的状态变为TERMINATED状态。
可以理解的是,对于不同的http请求,可以在一个线程中,开启多个纤程完成对应的运行逻辑,这些纤程不被操作系统所管理,一个纤程只占用400字节的内存,切换的时候占用更少的CPU(central processing unit,中央处理器)资源,这是线程池模型无法实现的。
可见,通过本方案,通过引入纤程的机制,实现了对纤程模型进行调度系统的案例,给字节码装载技术的Quasar给出应用实践落地的方案;对于调度系统本身,极大的减少了内部的I/O开销、CPU资源占用和资源耗费,能够有效的进行网络通信和交互,提升作业提交、状态同步、日志拉取和调度流转的效率和准确性;对于第三方服务依赖调度系统的模块来说,能够提升响应速率,减少网络I/O损耗,保证系统交互的稳定性和数据的准确性;能够一定程度的保证EDAP产品的稳定性和客户交付的效率。
相应上述方法的实施例,本公开实施例还提供了一种请求响应装置,应用于服务端,如图5所示,所述装置包括:
接收模块510,用于接收客户端发送的任务请求;
处理模块520,用于将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
反馈模块530,用于将所述响应结果反馈至所述客户端;
其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现所述目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于所述目标调度模块的调度服务。
可选地,所述创建至少用于实现所述目标调度模块的调度服务的纤程,包括:创建用于实现所述目标调度模块的调度服务以及结果反馈服务的纤程;其中,所述结果反馈服务用于将针对所述任务请求的响应结果,反馈至关于向所述目标调度模块发出所述任务请求的发出方;
所述向所述服务端反馈所述响应结果,包括:
按照目标反馈方式,向所述服务端反馈所述响应结果;
其中,所述目标反馈方式包括:所述目标调度模块响应于接收到所述响应结果,利用所创建的纤程,对所述响应结果进行关于所述目标调度模块的结果反馈服务。
可选地,所述多个层级的调度模块包括核心调度模块、工作模块以及代理模块三个层级的调度模块;
所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,包括:
所述指定调度系统中的核心调度模块,响应于接收到所述服务端发送的任务请求,创建第一纤程,利用所述第一纤程,对所述任务请求进行关于所述核心调度模块的调度服务,其中,所述第一纤程用于确定所述任务请求待传递至的目标工作模块以及将所述任务请求发送至所述目标工作模块;
所述指定调度系统中的目标工作模块,响应于接收到所述任务请求,创建第二纤程,利用所述第二纤程,对所述任务请求进行关于所述目标工作模块的调度服务,其中,所述第二纤程用于确定待传递至的目标代理模块以及将所述任务请求发送至所述目标代理模块;
所述指定调度系统中的所述目标代理模块,响应于接收到所述任务请求,创建第三纤程,利用所述第三纤程,对所述任务请求进行关于所述目标代理模块的调度服务,其中,所述第三纤程用于将所述任务请求发送至用于处理所述任务请求的处理端。
可选地,所述目标调度模块所创建的纤程,在对所述任务请求进行关于所述目标调度模块的调度服务时,处于运行状态,且对所述响应结果进行关于所述目标调度模块的结果反馈服务后,变更为终止状态。
可选地,所述目标调度模块所创建的纤程是基于第三方的Quasar库进行实现的。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
本公开所提供的一种电子设备,可以包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一请求响应方法。
本公开所提供的一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一请求响应的步骤。
本公开所提供的一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一请求响应方法的步骤。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如请求响应方法。例如,在一些实施例中,请求响应方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的请求响应方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行请求响应方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种请求响应方法,应用于服务端,所述方法包括:
接收客户端发送的任务请求;
将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
将所述响应结果反馈至所述客户端;
其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现所述目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于所述目标调度模块的调度服务。
2.根据权利要求1所述的方法,其中,所述创建至少用于实现所述目标调度模块的调度服务的纤程,包括:
创建用于实现所述目标调度模块的调度服务以及结果反馈服务的纤程;其中,所述结果反馈服务用于将针对所述任务请求的响应结果,反馈至关于向所述目标调度模块发出所述任务请求的发出方;
所述向所述服务端反馈所述响应结果,包括:
按照目标反馈方式,向所述服务端反馈所述响应结果;
其中,所述目标反馈方式包括:所述目标调度模块响应于接收到所述响应结果,利用所创建的纤程,对所述响应结果进行关于所述目标调度模块的结果反馈服务。
3.根据权利要求1或2所述的方法,其中,所述多个层级的调度模块包括核心调度模块、工作模块以及代理模块三个层级的调度模块;
所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,包括:
所述指定调度系统中的核心调度模块,响应于接收到所述服务端发送的任务请求,创建第一纤程,利用所述第一纤程,对所述任务请求进行关于所述核心调度模块的调度服务,其中,所述第一纤程用于确定所述任务请求待传递至的目标工作模块以及将所述任务请求发送至所述目标工作模块;
所述指定调度系统中的目标工作模块,响应于接收到所述任务请求,创建第二纤程,利用所述第二纤程,对所述任务请求进行关于所述目标工作模块的调度服务,其中,所述第二纤程用于确定待传递至的目标代理模块以及将所述任务请求发送至所述目标代理模块;
所述指定调度系统中的所述目标代理模块,响应于接收到所述任务请求,创建第三纤程,利用所述第三纤程,对所述任务请求进行关于所述目标代理模块的调度服务,其中,所述第三纤程用于将所述任务请求发送至用于处理所述任务请求的处理端。
4.根据权利要求2所述的方法,其中,所述目标调度模块所创建的纤程,在对所述任务请求进行关于所述目标调度模块的调度服务时,处于运行状态,且对所述响应结果进行关于所述目标调度模块的结果反馈服务后,变更为终止状态。
5.根据权利要求1或2所述的方法,其中,所述目标调度模块所创建的纤程是基于第三方的Quasar库进行实现的。
6.一种请求响应装置,应用于服务端,所述装置包括:
接收模块,用于接收客户端发送的任务请求;
处理模块,用于将所述任务请求传递至指定调度系统,以使所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,并在所述处理端生成针对所述任务请求的响应结果后,向所述服务端反馈所述响应结果;
反馈模块,用于将所述响应结果反馈至所述客户端;
其中,所述指定调度系统包括多个层级的调度模块,所述目标调度方式包括:多个层级的调度模块中的接收到所述任务请求的目标调度模块,响应于接收到所述任务请求,创建至少用于实现该目标调度模块的调度服务的纤程,利用所创建的纤程,对所述任务请求进行关于该目标调度模块的调度服务。
7.根据权利要求6所述的装置,其中,所述创建至少用于实现所述目标调度模块的调度服务的纤程,包括:
创建用于实现所述目标调度模块的调度服务以及结果反馈服务的纤程;其中,所述结果反馈服务用于将针对所述任务请求的响应结果,反馈至关于向所述目标调度模块发出所述任务请求的发出方;
所述向所述服务端反馈所述响应结果,包括:
按照目标反馈方式,向所述服务端反馈所述响应结果;
其中,所述目标反馈方式包括:所述目标调度模块响应于接收到所述响应结果,利用所创建的纤程,对所述响应结果进行关于所述目标调度模块的结果反馈服务。
8.根据权利要求6或7所述的装置,其中,所述多个层级的调度模块包括核心调度模块、工作模块以及代理模块三个层级的调度模块;
所述指定调度系统按照目标调度方式,将所述任务请求调度至用于处理所述任务请求的处理端,包括:
所述指定调度系统中的核心调度模块,响应于接收到所述服务端发送的任务请求,创建第一纤程,利用所述第一纤程,对所述任务请求进行关于所述核心调度模块的调度服务,其中,所述第一纤程用于确定所述任务请求待传递至的目标工作模块以及将所述任务请求发送至所述目标工作模块;
所述指定调度系统中的目标工作模块,响应于接收到所述任务请求,创建第二纤程,利用所述第二纤程,对所述任务请求进行关于所述目标工作模块的调度服务,其中,所述第二纤程用于确定待传递至的目标代理模块以及将所述任务请求发送至所述目标代理模块;
所述指定调度系统中的所述目标代理模块,响应于接收到所述任务请求,创建第三纤程,利用所述第三纤程,对所述任务请求进行关于所述目标代理模块的调度服务,其中,所述第三纤程用于将所述任务请求发送至用于处理所述任务请求的处理端。
9.根据权利要求7所述的装置,其中,所述目标调度模块所创建的纤程,在对所述任务请求进行关于所述目标调度模块的调度服务时,处于运行状态,且对所述响应结果进行关于所述目标调度模块的结果反馈服务后,变更为终止状态。
10.根据权利要求6或7所述的装置,其中,所述目标调度模块所创建的纤程是基于第三方的Quasar库进行实现的。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310244694.2A CN116578430A (zh) | 2023-03-14 | 2023-03-14 | 一种请求响应方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310244694.2A CN116578430A (zh) | 2023-03-14 | 2023-03-14 | 一种请求响应方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116578430A true CN116578430A (zh) | 2023-08-11 |
Family
ID=87544189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310244694.2A Pending CN116578430A (zh) | 2023-03-14 | 2023-03-14 | 一种请求响应方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578430A (zh) |
-
2023
- 2023-03-14 CN CN202310244694.2A patent/CN116578430A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806923B (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
US20210248469A1 (en) | Method and apparatus for scheduling deep learning reasoning engines, device, and medium | |
CN111400000B (zh) | 网络请求处理方法、装置、设备和存储介质 | |
EP3869336A1 (en) | Method and apparatus for processing development machine operation task, device and storage medium | |
CN106681820B (zh) | 基于消息组合的可扩展大数据计算方法 | |
EP4113299A2 (en) | Task processing method and device, and electronic device | |
US10437645B2 (en) | Scheduling of micro-service instances | |
JP2022084869A (ja) | 深層フレームワーク用のスケジューリング方法、スケジューリング装置、電子機器、記憶媒体及びプログラム | |
KR20220151585A (ko) | 업무 데이터 처리 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 | |
CN114840323A (zh) | 任务处理方法、装置、系统、电子设备以及存储介质 | |
CN114968567A (zh) | 用于分配计算节点的计算资源的方法、装置和介质 | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN105933136B (zh) | 一种资源调度方法及系统 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
CN111767149A (zh) | 调度方法、装置、设备及存储设备 | |
CN116578430A (zh) | 一种请求响应方法、装置、设备以及存储介质 | |
CN114416357A (zh) | 容器组的创建方法、装置、电子设备和介质 | |
CN113867920A (zh) | 任务处理方法、装置、电子设备和介质 | |
CN113760403A (zh) | 状态机联动方法和装置 | |
CN117057411B (zh) | 一种大语言模型训练方法、装置、设备及存储介质 | |
CN111158649A (zh) | 多层级参数配置的方法和装置 | |
CN116991562B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114356505A (zh) | 用于调度容器组的方法、装置、设备、介质和产品 | |
CN115061817A (zh) | 运维方法、装置、系统及计算机程序产品 | |
CN117370043A (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 |