CN112860450A - 一种请求处理方法及装置 - Google Patents
一种请求处理方法及装置 Download PDFInfo
- Publication number
- CN112860450A CN112860450A CN202110061210.1A CN202110061210A CN112860450A CN 112860450 A CN112860450 A CN 112860450A CN 202110061210 A CN202110061210 A CN 202110061210A CN 112860450 A CN112860450 A CN 112860450A
- Authority
- CN
- China
- Prior art keywords
- target
- calling process
- function
- micro
- service request
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 188
- 230000008569 process Effects 0.000 claims abstract description 163
- 230000006870 function Effects 0.000 claims description 190
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006378 damage Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 241000412611 Consul Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种请求处理方法及装置,其中,该方法首先响应客户端的微服务请求,获取所述微服务请求对应的目标函数;然后,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;最后,在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。本公开实施例提供的请求处理方法,能够通过函数计算平台直接调用微服务请求对应的目标函数,并利用函数计算平台运行目标函数,得到微服务请求的返回结果,使得开发人员只需要开发微服务的函数,简化了微服务发布以及维护的流程。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种请求处理方法及装置。
背景技术
为了应对日益增长的网络流量,以及业务快速发展的需求,当前互联网应用的后端服务大多采用微服务的架构体系,将原来复杂且繁重的单体应用进行拆分,拆分成粒度更小的微服务,这些微服务通常部署在微服务的服务器上,在用户调用微服务时,服务器可以提供微服务对应的接口。
在创建微服务时,开发人员和运维人员需要相互协作,经过多重流程才能实现,从而使得整个过程较为繁琐,开发效率和维护效率均较低。
发明内容
本公开实施例至少提供一种请求处理方法及装置。
第一方面,本公开实施例提供了一种请求处理方法,应用于函数计算平台,包括:
响应客户端的微服务请求,获取所述微服务请求对应的目标函数;
根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;
在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述微服务请求为HTTP请求;
所述响应客户端的微服务请求,获取所述微服务请求对应的目标函数,包括:
从预设的函数数据库中查找与所述微服务请求携带的URL地址对应的所述目标函数。
一种可选的实施方式中,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,包括:
根据所述函数计算平台的调用进程信息,确定当前处于空闲状态的候选调用进程;
从所述候选调用进程中确定分配给所述目标函数的目标调用进程。
一种可选的实施方式中,所述根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,还包括:
若当前不存在处于空闲状态的候选调用进程,则生成所述目标运行环境,并在所述目标环境下建立所述目标调用进程。
一种可选的实施方式中,所述在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果,包括:
将所述目标函数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述将所述目标函数输入至所述目标运行环境,包括:
将所述目标函数以及所述微服务请求携带的调用参数输入至所述目标运行环境;
所述利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果,包括:
利用所述目标环境下的目标调用进程,以所述调用参数运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,在得到所述微服务请求的返回结果后,所述方法还包括:
当所述目标调用进程处于空闲状态的时间超过预设时长时,将所述目标调用进程以及所述目标运行环境销毁。
第二方面,本公开实施例还提供一种请求处理装置,用于函数计算平台,包括:
获取模块,用于响应客户端的微服务请求,获取所述微服务请求对应的目标函数;
分配模块,用于根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;
运行模块,用于在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述微服务请求为HTTP请求;
所述获取模块具体用于:
从预设的函数数据库中查找与所述微服务请求携带的URL地址对应的所述目标函数。
一种可选的实施方式中,所述分配模块具体用于:
根据所述函数计算平台的调用进程信息,确定当前处于空闲状态的候选调用进程;
从所述候选调用进程中确定分配给所述目标函数的目标调用进程。
一种可选的实施方式中,所述分配模块还用于:
若当前不存在处于空闲状态的候选调用进程,则生成所述目标运行环境,并在所述目标环境下建立所述目标调用进程。
一种可选的实施方式中,所述运行模块具体用于:
将所述目标函数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述运行模块具体用于:
将所述目标函数以及所述微服务请求携带的调用参数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,以所述调用参数运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述装置还包括销毁模块,用于:
当所述目标调用进程处于空闲状态的时间超过预设时长时,将所述目标调用进程以及所述目标运行环境销毁。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的请求处理方法及装置,首先响应客户端的微服务请求,获取所述微服务请求对应的目标函数;然后,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;最后,在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。本公开实施例提供的请求处理方法,能够通过函数计算平台直接调用微服务请求对应的目标函数,并利用函数计算平台运行目标函数,得到微服务请求的返回结果,使得开发人员只需要开发微服务的函数,简化了微服务发布以及维护的流程。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种函数计算平台的示意图;
图2示出了本公开实施例所提供的请求处理方法的流程图;
图3示出了本公开实施例所提供的一种请求处理装置的示意图;
图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
经研究发现,微服务通常部署在虚拟机服务器上或docker容器中,能够通过容器编排管理工具进行管理。在将单应用拆分成微服务之后,开发人员和运维人员在后端的应用服务创建,申请新应用接入,构建,部署,上线,扩容等流程中仍然存在诸多问题。例如开发人员在新需要创建一个应用时,需要提工单申请接入新的后端应用,运维人员需要在流水线管理工具中为新的应用创建流水线,然后通知开发人员流水线创建完毕,开发人员再使用流水线构建工具对流水线进行构建、部署等操作。部署微服务的整个过程较为繁琐。
基于上述研究,本公开提供了一种请求处理方法,能够通过函数计算平台直接调用微服务请求对应的目标函数,并利用函数计算平台运行目标函数,得到微服务请求的返回结果,使得开发人员只需要开发微服务的函数,简化了微服务发布以及维护的流程。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种函数计算平台进行介绍,参见图1所示,为本公开实施例提供的一种函数计算平台,包括面向用户的应用程序接口、控制器、函数数据库、负载均衡器以及进程分配器。其中,应用程序接口能够接收客户端发送的微服务请求,控制器能够对微服务请求做出响应,从函数数据库中获取微服务请求对应的函数,负载均衡器可以根据函数计算平台的运行情况,并选取一个调用进程,调用进程能够运行目标函数,进程分配器可以将目标函数配置给由负载均衡器的选出的调用进程,并由调用进程运行目标函数。函数计算平台可以与多个平台共同隶属于一个云服务器,云服务器下的平台能够共享计算资源,在需要时占用云服务器空闲的资源,在不需要时可以将多余的资源释放回云服务器。
其中,应用程序接口可为nginx的API,基于HTTP协议,遵循RESTful设计,POST/api/v1/namespaces/$userNamespace/actions/myAction。控制器会将Http请求转换为操作调用。函数数据库可为CouchDB、MongoDB等,负载均衡器可为Consul,进程分配器通常可为Kafka、RocketMQ、RabbitMQ等队列,对此不做限定。
也即,业务开发人员应用上线流程变得更加简单,只需在完成代码开发及自测后,将代码打包上传到函数计算平台,即可完成服务应用的发布上线。无需进行应用申请,流水线创建,应用镜像构建,打包,发布上线等繁琐的流程。
同时,利用函数计算底层平台的动态容器化构造的特点,根据请求流量可以非常迅速的完成扩容,从容应对流量高峰,并且做到资源的有效利用,不浪费硬件资源。
参见图2所示,为本公开实施例提供的请求处理方法的流程图,应用于函数计算平台,所述方法包括步骤S201~S203,其中:
S201:响应客户端的微服务请求,获取所述微服务请求对应的目标函数。
该步骤中,函数计算平台的应用程序接口可以接收客户端发送的微服务请求,应用程序接口可以是基于HTTP的,微服务请求则可以对应为HTTP请求,控制器能够识别HTTP请求中携带的URL地址,并从预设的函数数据库中查找到URL地址对应的目标函数。
需要说明的是,微服务请求是客户端对应的用户通过客户端向函数计算平台发送的,微服务请求中可包括请求内容、用户标识、客户端ID以及其他信息,对此不做赘述。
其中,目标函数可以是微服务对应的函数代码,可以由开发人员编译,并在编译完成后上传至函数数据库中;或者,由开发人员编译。并在编译之后进行测试,测试通过之后上传至函数数据库中。这种方式不需要进行微服务应用的申请、流水线创建等步骤,函数计算平台即可调用该目标函数。
进一步的,在确定目标函数之后,函数计算平台可以根据微服务请求中携带的用户标识,确定用户标识对应的用户是否有权限调用目标函数,若无权限,则可以向客户端返回权限不足的提示信息,若有权限,则继续执行S202。
S202:根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程。
该步骤中,函数计算平台的负载均衡器可以获取到函数计算平台当前的调用进程信息,其中,调用进程可以是一种虚拟资源,能够运行在特定的运行环境中,并能够对函数进行执行操作;调用进程信息可以是函数计算平台当前存在的调用进程的运行信息,可以包含调用进程是否在运行函数、运行函数的标识信息、运行函数的时长、调用进程本身存在的时长等。
在一种可能的实施方式中,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,包括:
根据所述函数计算平台的调用进程信息,确定当前处于空闲状态的候选调用进程;
从所述候选调用进程中确定分配给所述目标函数的目标调用进程。
其中,处于空闲状态的候选调用进程可以为当前没有运行函数的调用进程。
在确定当前处于空闲状态的候选调用进程后,可以从候选调用进程中选取一调用进程,将其作为目标函数的目标调用进程。选取方式可为随机选取,也可为顺序选取,或者根据进程的处理能力(如处理数据的大小、类型等)选取,对此不做任何限定。
进一步的,若当前不存在处于空闲状态的候选调用进程,负载均衡器可以为微服务请求对应的目标函数生成一个目标运行环境,并在目标运行环境中建立目标调用进程。
这样,在需要响应大量微服务请求时,函数计算平台能够自主生成运行环境,并建立调用进程,可以迅速应对大流量的微服务请求,使云服务器中的资源得到有效的利用。
其中,目标运行环境可以为自封装环境,可以将其称之为容器,能够基于应用容器引擎建立得到,目标调用进程可以在容器中运行,并能够执行目标函数。
S203:在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
该步骤中,在函数计算平台的负载均衡器为目标函数分配了目标调用进程之后,可以通过进程分配器,将所述目标函数输入至所述目标运行环境;然后再利用目标环境下的目标调用进程,运行目标函数,得到微服务请求的返回结果。
其中,微服务请求的返回结果可以是目标函数运行后得到产物,在得到微服务请求的返回结果后,可以将返回结果发送至客户端,还可以将返回结果存储至数据库中,以便在需要时读取。
一种可能的实施方式中,所述将所述目标函数输入至所述目标运行环境,包括:
将所述目标函数以及所述微服务请求携带的调用参数输入至所述目标运行环境;
所述利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果,包括:
利用所述目标环境下的目标调用进程,以所述调用参数运行所述目标函数,得到所述微服务请求的返回结果。
该步骤中,进程分配器可以将目标函数以及微服务请求携带的调用参数输入至目标环境中,目标调用进程能够利用调用参数,对目标函数进行变量的配置,并运行配置后的目标函数,得到微服务请求的返回结果。
这里,目标函数通常可以分为需要调用参数和不需要调用参数的函数,比如,若目标函数的功能为“获取当前的日期”,则不需要调用参数,凭借目标函数自身的代码就能够实现该功能,若目标函数的功能为“查找用户的访问记录”,则需要“用户标识”、“查找时间段”等调用参数。
进一步的,在得到为服务请求的返回结果后,当所述目标调用进程处于空闲状态的时间超过预设时长时,可以将所述目标调用进程以及所述目标运行环境销毁,进而释放调用进程及运行环境占用的资源。
本公开实施例提供的请求处理方法,首先响应客户端的微服务请求,获取所述微服务请求对应的目标函数;然后,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;最后,在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。本公开实施例提供的请求处理方法,能够通过函数计算平台直接调用微服务请求对应的目标函数,并利用函数计算平台运行目标函数,得到微服务请求的返回结果,使得开发人员只需要开发微服务的函数,简化了微服务发布以及维护的流程。
也就是说,采用本公开实施例中提及的方法,开发人员无需关心任何跟应用构建,部署相关的操作,只需要关心业务代码的开发,自测等工作。从而节省了开发人员在应用构建,部署上线的工作成本,以及该工程中与运维人员的沟通成本,使得后端服务能够自动快速扩展,减少运维成本和硬件资源成本。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与请求处理方法对应的请求处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述请求处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种请求处理装置的示意图,所述请求处理装置300包括:获取模块310、分配模块320、运行模块330;其中,
获取模块310,用于响应客户端的微服务请求,获取所述微服务请求对应的目标函数;
分配模块320,用于根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;
运行模块330,用于在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
本公开实施例能够通过函数计算平台直接调用微服务请求对应的目标函数,并利用函数计算平台运行目标函数,得到微服务请求的返回结果,使得开发人员只需要开发微服务的函数,简化了微服务发布以及维护的流程。
一种可选的实施方式中,所述微服务请求为HTTP请求;
所述获取模块310具体用于:
从预设的函数数据库中查找与所述微服务请求携带的URL地址对应的所述目标函数。
一种可选的实施方式中,所述分配模块320具体用于:
根据所述函数计算平台的调用进程信息,确定当前处于空闲状态的候选调用进程;
从所述候选调用进程中确定分配给所述目标函数的目标调用进程。
一种可选的实施方式中,所述分配模块320还用于:
若当前不存在处于空闲状态的候选调用进程,则生成所述目标运行环境,并在所述目标环境下建立所述目标调用进程。
一种可选的实施方式中,所述运行模块330具体用于:
将所述目标函数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述运行模块330具体用于:
将所述目标函数以及所述微服务请求携带的调用参数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,以所述调用参数运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述请求处理装置300还包括销毁模块340,用于:
当所述目标调用进程处于空闲状态的时间超过预设时长时,将所述目标调用进程以及所述目标运行环境销毁。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图2中的请求处理方法,本公开实施例还提供了一种计算机设备400,如图4所示,为本公开实施例提供的计算机设备400结构示意图,包括:
处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述计算机设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行以下指令:
响应客户端的微服务请求,获取所述微服务请求对应的目标函数;
根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;
在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,所述微服务请求为HTTP请求;处理器41执行的步骤中,所述响应客户端的微服务请求,获取所述微服务请求对应的目标函数,包括:
从预设的函数数据库中查找与所述微服务请求携带的URL地址对应的所述目标函数。
一种可选的实施方式中,处理器41执行的步骤中,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,包括:
根据所述函数计算平台的调用进程信息,确定当前处于空闲状态的候选调用进程;
从所述候选调用进程中确定分配给所述目标函数的目标调用进程。
一种可选的实施方式中,处理器41执行的步骤中,所述根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,还包括:
若当前不存在处于空闲状态的候选调用进程,则生成所述目标运行环境,并在所述目标环境下建立所述目标调用进程。
一种可选的实施方式中,处理器41执行的步骤中,所述在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果,包括:
将所述目标函数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,处理器41执行的步骤中,所述将所述目标函数输入至所述目标运行环境,包括:
将所述目标函数以及所述微服务请求携带的调用参数输入至所述目标运行环境;
所述利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果,包括:
利用所述目标环境下的目标调用进程,以所述调用参数运行所述目标函数,得到所述微服务请求的返回结果。
一种可选的实施方式中,处理器41执行的步骤中,在得到所述微服务请求的返回结果后,所述方法还包括:
当所述目标调用进程处于空闲状态的时间超过预设时长时,将所述目标调用进程以及所述目标运行环境销毁。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的请求调用方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的请求调用方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种请求处理方法,其特征在于,应用于函数计算平台,包括:
响应客户端的微服务请求,获取所述微服务请求对应的目标函数;
根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;
在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
2.根据权利要求1所述的方法,其特征在于,所述微服务请求为HTTP请求;
所述响应客户端的微服务请求,获取所述微服务请求对应的目标函数,包括:
从预设的函数数据库中查找与所述微服务请求携带的URL地址对应的所述目标函数。
3.根据权利要求1或2所述的方法,其特征在于,根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,包括:
根据所述函数计算平台的调用进程信息,确定当前处于空闲状态的候选调用进程;
从所述候选调用进程中确定分配给所述目标函数的目标调用进程。
4.根据权利要求3所述的方法,其特征在于,所述根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程,还包括:
若当前不存在处于空闲状态的候选调用进程,则生成所述目标运行环境,并在所述目标环境下建立所述目标调用进程。
5.根据权利要求1所述的方法,其特征在于,所述在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果,包括:
将所述目标函数输入至所述目标运行环境;
利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果。
6.根据权利要求5所述的方法,其特征在于,所述将所述目标函数输入至所述目标运行环境,包括:
将所述目标函数以及所述微服务请求携带的调用参数输入至所述目标运行环境;
所述利用所述目标环境下的目标调用进程,运行所述目标函数,得到所述微服务请求的返回结果,包括:
利用所述目标环境下的目标调用进程,以所述调用参数运行所述目标函数,得到所述微服务请求的返回结果。
7.根据权利要求1所述的方法,其特征在于,在得到所述微服务请求的返回结果后,所述方法还包括:
当所述目标调用进程处于空闲状态的时间超过预设时长时,将所述目标调用进程以及所述目标运行环境销毁。
8.一种请求处理装置,其特征在于,用于函数计算平台,包括:
获取模块,用于响应客户端的微服务请求,获取所述微服务请求对应的目标函数;
分配模块,用于根据所述函数计算平台的调用进程信息,为所述目标函数分配目标调用进程;
运行模块,用于在所述目标调用进程所在的目标运行环境下,利用所述目标调用进程运行所述目标函数,得到所述微服务请求的返回结果。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的请求处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任意一项所述的请求处理方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020114089904 | 2020-12-04 | ||
CN202011408990 | 2020-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860450A true CN112860450A (zh) | 2021-05-28 |
CN112860450B CN112860450B (zh) | 2024-04-19 |
Family
ID=76006258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110061210.1A Active CN112860450B (zh) | 2020-12-04 | 2021-01-18 | 一种请求处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860450B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656142A (zh) * | 2021-07-16 | 2021-11-16 | 华为技术有限公司 | 基于容器组pod的处理方法及相关系统、存储介质 |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
WO2023109700A1 (zh) * | 2021-12-18 | 2023-06-22 | 深圳先进技术研究院 | 基于进程寄生的无服务器计算的分支预测方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180302283A1 (en) * | 2017-04-17 | 2018-10-18 | Red Hat, Inc. | Configuration recommendation for a microservice architecture |
US20180321996A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Micro- service framework derived from third-party apps |
CN110287016A (zh) * | 2019-07-01 | 2019-09-27 | 武汉兆格信息技术有限公司 | 一种分布式流程图异构计算调度方法 |
CN110333917A (zh) * | 2019-07-19 | 2019-10-15 | 深圳前海微众银行股份有限公司 | 基于微服务的数据处理方法、装置、设备及可读存储介质 |
US20190354352A1 (en) * | 2018-05-18 | 2019-11-21 | At&T Intellectual Property I, L.P. | Facilitation of microservice user interface framework |
CN111176761A (zh) * | 2019-12-23 | 2020-05-19 | 中国联合网络通信集团有限公司 | 微服务调用方法和装置 |
CN111338646A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种微服务架构的管理方法以及相关装置 |
CN111767089A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 加载文件的方法、装置、设备以及存储介质 |
CN111767489A (zh) * | 2020-06-29 | 2020-10-13 | 百度在线网络技术(北京)有限公司 | 网页运行的加速方法、装置、设备以及存储介质 |
CN111949454A (zh) * | 2019-05-14 | 2020-11-17 | 华为技术有限公司 | 一种基于微服务组件的数据库系统及相关方法 |
-
2021
- 2021-01-18 CN CN202110061210.1A patent/CN112860450B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180302283A1 (en) * | 2017-04-17 | 2018-10-18 | Red Hat, Inc. | Configuration recommendation for a microservice architecture |
US20180321996A1 (en) * | 2017-05-04 | 2018-11-08 | Microsoft Technology Licensing, Llc | Micro- service framework derived from third-party apps |
US20190354352A1 (en) * | 2018-05-18 | 2019-11-21 | At&T Intellectual Property I, L.P. | Facilitation of microservice user interface framework |
CN111949454A (zh) * | 2019-05-14 | 2020-11-17 | 华为技术有限公司 | 一种基于微服务组件的数据库系统及相关方法 |
CN110287016A (zh) * | 2019-07-01 | 2019-09-27 | 武汉兆格信息技术有限公司 | 一种分布式流程图异构计算调度方法 |
CN110333917A (zh) * | 2019-07-19 | 2019-10-15 | 深圳前海微众银行股份有限公司 | 基于微服务的数据处理方法、装置、设备及可读存储介质 |
CN111176761A (zh) * | 2019-12-23 | 2020-05-19 | 中国联合网络通信集团有限公司 | 微服务调用方法和装置 |
CN111338646A (zh) * | 2020-05-20 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种微服务架构的管理方法以及相关装置 |
CN111767089A (zh) * | 2020-06-28 | 2020-10-13 | 北京百度网讯科技有限公司 | 加载文件的方法、装置、设备以及存储介质 |
CN111767489A (zh) * | 2020-06-29 | 2020-10-13 | 百度在线网络技术(北京)有限公司 | 网页运行的加速方法、装置、设备以及存储介质 |
Non-Patent Citations (1)
Title |
---|
崔蔚;李春阳;刘迪;杨超;金逸;: "面向微服务的统一应用开发平台", 电力信息与通信技术, no. 09, pages 1 - 5 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656142A (zh) * | 2021-07-16 | 2021-11-16 | 华为技术有限公司 | 基于容器组pod的处理方法及相关系统、存储介质 |
CN113656142B (zh) * | 2021-07-16 | 2023-10-10 | 华为技术有限公司 | 基于容器组pod的处理方法及相关系统、存储介质 |
WO2023109700A1 (zh) * | 2021-12-18 | 2023-06-22 | 深圳先进技术研究院 | 基于进程寄生的无服务器计算的分支预测方法及装置 |
US11915003B2 (en) | 2021-12-18 | 2024-02-27 | Shenzhen Institutes Of Advanced Technology | Process parasitism-based branch prediction method and device for serverless computing, electronic device, and non-transitory readable storage medium |
CN115202711A (zh) * | 2022-06-29 | 2022-10-18 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
CN115202711B (zh) * | 2022-06-29 | 2023-11-14 | 易保网络技术(上海)有限公司 | 数据发布方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112860450B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860450A (zh) | 一种请求处理方法及装置 | |
CN108023742B (zh) | 一种应用的扩容方法、装置和系统 | |
US10902030B2 (en) | User request processing method and device | |
CN109492017B (zh) | 业务信息查询处理方法、系统、计算机设备和存储介质 | |
US8117611B2 (en) | Method, system, and program product for deploying a platform dependent application in a grid environment | |
CN108021400B (zh) | 数据处理方法及装置、计算机存储介质及设备 | |
CN103365713A (zh) | 一种资源的调度和管理方法及装置 | |
Yangui et al. | Scalable service containers | |
JP7486575B2 (ja) | コンテナに対する外部操作とミューテーション・イベントとの対応関係 | |
KR101765725B1 (ko) | 대용량 방송용 빅데이터 분산 병렬처리를 위한 동적 디바이스 연결 시스템 및 방법 | |
CN110555550A (zh) | 在线预测服务的部署方法、装置及设备 | |
CN114615340A (zh) | 一种请求处理方法、装置、计算机设备和存储装置 | |
CN113296823A (zh) | 一种生成资源配置文件的方法、装置、设备及存储介质 | |
JP6796994B2 (ja) | 情報処理システム | |
Galante et al. | A programming-level approach for elasticizing parallel scientific applications | |
CN111221653A (zh) | 一种服务处理方法、装置及计算机可读存储介质 | |
CN113467931A (zh) | 算力任务的处理方法、装置及系统 | |
CN113114515A (zh) | 一种资源文件配置方法及装置 | |
CN107395663B (zh) | 数据获取方法及装置 | |
CN112788112A (zh) | 设备健康管理微服务自动发布方法、装置和平台 | |
JP2019106031A (ja) | データ処理システム及びデータ分析処理方法 | |
Park et al. | Cloud computing platform for GIS image processing in U-city | |
CN114942846A (zh) | Gpu资源调度方法、装置、设备及存储介质 | |
CN114090183A (zh) | 一种应用启动方法、装置、计算机设备和存储介质 | |
CN113900811A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |