CN113810472A - 请求处理方法、装置、电子设备和存储介质 - Google Patents
请求处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113810472A CN113810472A CN202110998218.0A CN202110998218A CN113810472A CN 113810472 A CN113810472 A CN 113810472A CN 202110998218 A CN202110998218 A CN 202110998218A CN 113810472 A CN113810472 A CN 113810472A
- Authority
- CN
- China
- Prior art keywords
- target
- extended application
- tenant
- application
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000008569 process Effects 0.000 claims abstract description 53
- 230000000977 initiatory effect Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 description 27
- 238000011161 development Methods 0.000 description 8
- 230000018109 developmental process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012827 research and development Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000011165 process development Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000007246 mechanism 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
- 230000008520 organization Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- 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]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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
-
- 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/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
Abstract
本说明书一个或多个实施例提供一种请求处理方法、装置、电子设备和存储介质,所述中台系统中部署有基础应用,基于所述基础应用实现的扩展应用部署于所述中台系统或所述中台系统所服务的租户处,且所述中台系统提供对自身部署的基础应用和扩展应用的调用服务,所述方法包括:根据请求方发起的目标请求,确定目标请求涉及的第一扩展应用;在第一扩展应用部署于目标租户处的情况下,向目标租户发起远程调用,以由第一扩展应用对所述目标请求进行处理;将目标租户返回的处理结果反馈至所述请求方。本说明书通过中台系统与目标租户的配合,共同完成对请求的处理,缓解了中台系统的处理压力,同时使目标租户可以自行管控扩展应用使用的机器资源。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种请求处理方法、装置、电子设备和存储介质。
背景技术
中台体系是由一系列执行标准、运行机制、配置管理和执行系统以及运营服务团队构成的体系,提供各参与方快速、低成本创新的能力。中台体系建立后,研发体系从“集中式开发,提升自己的研发效率”转变为“分布式开发,保障全局吞吐量,提升参与方研发效率”,大大提升了参与方的创新效率。但随着各个参与方所需的个性化需求越来越多,参与方需要通过中台系统实现上述个性化需求,管理、操作难度较大。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种请求处理方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种请求处理方法,应用于中台系统,所述中台系统中部署有基础应用,基于所述基础应用实现的扩展应用部署于所述中台系统或所述中台系统所服务的租户处,且所述中台系统提供对自身部署的基础应用和扩展应用的调用服务,所述方法包括:
根据请求方发起的目标请求,确定所述目标请求涉及的第一扩展应用;
在所述第一扩展应用部署于目标租户处的情况下,向所述目标租户发起远程调用,以由所述第一扩展应用对所述目标请求进行处理;
将所述目标租户返回的处理结果反馈至所述请求方。
根据本说明书一个或多个实施例的第二方面,提出了一种请求处理方法,应用于目标租户,包括:
接收中台系统针对所述目标租户处部署的第一扩展应用发起的远程调用,所述远程调用由所述中台系统在接收到请求方发起的目标请求且所述目标请求涉及的所述第一扩展应用部署于所述目标租户处的情况下发起;
通过所述第一扩展应用处理所述目标请求,并将对应的处理结果返回至所述中台系统,以由所述中台系统进一步反馈至所述请求方。
根据本说明书一个或多个实施例的第三方面,提出了一种请求处理装置,应用于中台系统,所述中台系统中部署有基础应用,基于所述基础应用实现的扩展应用部署于所述中台系统或所述中台系统所服务的租户处,且所述中台系统提供对自身部署的基础应用和扩展应用的调用服务,所述装置包括:
确定单元,用于根据请求方发起的目标请求,确定所述目标请求涉及的第一扩展应用;
远程调用单元,用于在所述第一扩展应用部署于目标租户处的情况下,向所述目标租户发起远程调用,以由所述第一扩展应用对所述目标请求进行处理;
反馈单元,用于将所述目标租户返回的处理结果反馈至所述请求方。
根据本说明书一个或多个实施例的第四方面,提出了一种请求处理装置,应用于目标租户,包括:
接收单元,用于接收中台系统针对所述目标租户处部署的第一扩展应用发起的远程调用,所述远程调用由所述中台系统在接收到请求方发起的目标请求且所述目标请求涉及的所述第一扩展应用部署于所述目标租户处的情况下发起;
返回单元,通过所述第一扩展应用处理所述目标请求,并将对应的处理结果返回至所述中台系统,以由所述中台系统进一步反馈至所述请求方。
根据本申请实施例的第五方面,提供一种设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述第一方面的实施例中所述的方法。
根据本申请实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述第一方面的实施例中所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种请求处理方法适用的网络架构图。
图2是一示例性实施例提供的一种请求处理方法的流程图
图3是一示例性实施例提供的另一种请求处理方法的流程图。
图4是一示例性实施例提供的一种请求处理方法的多方交互图。
图5是一示例性实施例提供的一种设备的结构示意图。
图6是一示例性实施例提供的一种请求处理装置的框图。
图7是一示例性实施例提供的另一种请求处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
前台包括各种和用户交互的界面,比如web页面、手机app等;也包括服务端各种实时响应用户请求的功能,比如商品查询、订单系统等。后台是并不直接面向用户,而是面向运营人员的配置管理系统,比如商品管理、物流管理、结算管理等。在传统的前台-后台架构中,各个参与方相互独立,每个参与方的开发人员各自负责自身参与方的开发工作。但是,各个参与方存在需要实现的相同功能,传统架构导致每个参与方均要针对相同的功能进行重复的开发工作,造成了开发资源的浪费。为了提升开发效率,需要整合出一个中间平台,为各个参与方提供一些公共的资源,这个中间平台被称作中台系统。中台系统可以被理解为前台的支撑系统,其不仅拥有各个参与方需要使用的公共资源,还可以对接收到的处理请求进行响应。
图1是一示例性实施例提供的一种请求处理方法适用的网络架构图。中台系统11中部署有基础应用以及至少一部分扩展应用,中台系统11可以与若干个租户对接,租户13~15处也可以部署部分扩展应用。企业可能拥有多个团队分别处理不同领域的开发工作,每个团队可以被称作参与方,参与方可以申请租户,图1中的租户13~15存在各自对应的参与方。而图1中的请求方12可以向中台系统11发送处理请求,中台系统11响应于上述处理请求调用基础应用以及相关的扩展应用对上述处理请求进行处理。在一些情况下,上述请求方12也可以为租户对应的参与方,本说明书不限制请求方的类型。
本说明书中的扩展应用可以借助扩展点(Expansion Joints)的概念进行理解,扩展点是一类在系统开发时预留的特殊接口,系统在运行时会动态寻找,装载和执行这类接口的实现。通过扩展点,开发人员可以在不修改源码的情况下,通过在扩展点处部署的扩展应用来实现对指定功能的扩展,且不需要对已有源码做任何修改。换言之,扩展应用部署成功后,中台系统11可以通过调用扩展应用所对应的代码实现上述功能。
但是,扩展应用所对应功能的实现往往需要依赖于基础应用。具体而言,调用基础应用实现的功能称为基础功能,上述基础功能往往是各个参与方需要实现的相同的功能,而调用扩展应用实现的功能可以称为个性化功能,是参与方根据自身特点以及需求定制的一类功能。中台系统11响应处理请求的流程,可以涉及调用基础应用以及扩展应用,而调用扩展应用的流程往往依附于调用基础应用的流程存在,例如,调用基础应用所实现的功能为下单,那么,调用扩展应用实现的功能为在下单界面显示特定组件,下单功能是显示特定组件功能实现的基础。在技术层面上,中台系统调用基础应用/扩展应用的过程可以具体为:中台系统通过加载上述基础应用/扩展应用的代码实现基础应用/扩展应用的功能。
图2是一示例性实施例提供的一种请求处理方法的流程图,该方法应用于中台系统,可以包括以下步骤:
步骤202:根据请求方发起的目标请求,确定所述目标请求涉及的第一扩展应用。
在一实施例中,基于所采用的架构,请求方向中台系统发起目标请求的方式存在一定差异。例如,在C/S架构(Client/Server,客户端/服务器架构)中,请求方可以通过客户端向中台系统发起上述目标请求。再例如,在B/S架构(Browser/Server,浏览器/服务器架构)中,请求方可以由浏览器向中台系统发起。中台系统可以调配服务器资源对上述目标请求进行处理,此处的服务器资源可以为单独的实体服务器或包含多个实体服务器的服务器集群,也可以为虚拟服务器或者虚拟服务器集群。当然,上述请求方向中台系统发起目标请求的方式仅为示例性的,本说明书不限制目标请求的请求方。
在一实施例中,中台系统可以解析目标请求,根据解析结果确认上述目标请求对应处理流程、处理流程涉及的的参与方、参与方使用的租户,上述处理流程中可以包含利用中台系统的基础能力实现的基础功能,以及涉及到参与方个性化功能的若干个扩展应用。
步骤204:在所述第一扩展应用部署于目标租户处的情况下,向所述目标租户发起远程调用,以由所述第一扩展应用对所述目标请求进行处理。
上文中提到,企业可能拥有多个团队分别处理不同领域的开发工作,同属于一个团队的各类组织可以作为一个参与方共同申请一个租户,每个租户享有供自身独立使用的运算、存储等机器资源,参与方中的各类组织共享其所属租户申请的机器资源。租户处部署有若干个扩展应用,参与方可以将用于实现自身个性化功能的扩展应用部署在自身使用的租户处。中台系统执行处理目标请求时,如果涉及某个部署于目标租户处的扩展应用所实现的个性化功能,中台系统可以向此扩展应用所在的目标租户发起远程调用,使部署于目标租户处的扩展应用加载此扩展应用的代码,通过执行上述代码实现个性化功能。
在本说明书中,中台系统和租户均支持部署对应于个性化功能的扩展应用,相比于相关技术中仅支持将扩展应用部署于中台系统本地,参与方可以使用租户管理、控制部署于租户处的扩展应用,并且利用租户管控扩展应用运行时使用的机器资源。
那么,对于步骤202中涉及的请求方发起的目标请求,中台系统与租户可以通过下述方式相互配合,以完成目标请求的处理过程:中台系统接收到目标请求后,解析目标请求,根据解析结果确定处理上述目标请求需要使用的处理流程。处理流程确定后,中台系统按照处理流程所指示的步骤执行。当执行到处理流程涉及的某个目标扩展应用时,需要判断上述目标扩展应用的部署位置。
在一实施例中,各个租户可以预先将部署于自身处的扩展应用信息发送至中台系统处,中台系统依据各个租户同步的扩展应用信息,形成预先记录的部署信息。在处理流程的执行过程中,中台系统可以通过查询预先记录的部署信息确定目标扩展应用的部署位置。上述部署信息中至少记录了各个扩展应用与其各自的部署位置之间的对应关系,并且,当扩展应用部署于租户应用处时,部署位置不仅表明了扩展应用部署于中台系统本地还是租户处,同样表明了扩展应用所在的租户具体为众多租户中的哪个租户应用。在形成扩展应用与其部署位置之间的对应关系时,可以使用扩展应用ID(Identity document,身份标识号)表征扩展应用,即每个扩展应用存在唯一的扩展应用ID,各个扩展应用的ID各不相同,以将每个扩展应用ID与其相应的部署位置形成一组对应关系,进而由各组对应关系形成上述的部署信息。
在一实施例中,部署信息可以由中台系统以表格、键值对等形式进行维护。例如,上述部署信息可以形成一份记录有全部扩展应用的部署位置的总部署信息表,中台系统查询扩展应用的部署位置时,可以提取处理流程中涉及的扩展应用ID,将提取出的扩展应用ID与上述总部署信息表中记录的扩展应用ID与部署位置的对应关系相匹配,进而确定扩展应用的部署位置。或者,也可以根据部署位置将上述部署信息分类,即部署于中台系统处的扩展应用形成一份部署信息表、部署于每个租户应用处的扩展应用分别各自另外形成一份部署信息表,中台系统查询扩展应用的部署信息时,可以同时或者依次查询不同的表格,直到确认出扩展应用的位置信息。将部署信息拆分为多个部署信息表进行维护,中台系统可以仅通过查询部分表格就确定扩展应用的部署位置,有助于中台系统提升查询效率,减少资源的消耗。
经过上述的查询过程,如果中台系统确认上述目标扩展应用的部署位置为某个租户,那么可以将此租户确定为目标租户,本说明书将此时的目标扩展应用称为第一扩展应用。中台系统可以远程调用部署于目标租户应用处的第一扩展应用处理目标请求,具体而言,中台系统可以将待处理数据发送至目标租户处,目标租户使用自身的计算资源调用第一扩展应用对待处理数据进行处理并得到第一扩展应用的执行结果,进而实现第一扩展应用对应的个性化功能。目标租户将第一扩展应用的执行结果返回至中台系统处,便于中台系统继续执行后续的处理流程。
在一实施例中,中台系统向所述目标租户发起远程调用的过程可以具体为:中台系统确认所述目标租户对应的目标远程调用协议并基于上述目标远程调用协议向目标租户应用中部署的第一扩展应用发起远程调用,其中,目标远程调用协议为目标租户建立时根据RPC(Remote Procedure Call,远程过程调用)技术选择的远程调用时应用的协议,上述远程调用协议用于对目标租户应用的远程调用过程,本说明书不限制可选的远程调用协议的具体类型。上述远程调用的过程可以进一步具体为:中台系统预先与需要调用的目标租户之间建立TCP(Transmission Control Protocol,传输控制协议)连接或其他形式的连接,远程调用过程中所有交换的数据都在上述连接中传输,上述连接可以是按需连接,即每调用一个扩展应用结束后断开上述连接,下次调用时重新建立连接;上述连接也可以是长连接,即多次对扩展应用的远程调用过程共享同一个连接。
建立连接完成后,中台系统可以依据目标租户选择的远程调用协议,确定目标租户的地址、端口,进而中台系统将目标扩展应用的处理请求利用上述连接传输至确定出的目标租户的地址以及端口处。目标租户接收到上述针对目标扩展应用的处理请求后,调用上述目标扩展应用对上述处理请求进行处理,并通过上述连接将上述处理结果返回至中台系统处。
部署于租户处的扩展应用可以仅存在单个版本,那么中台系统在远程调用时无需关注版本差异的问题。但是,在实际应用中,扩展应用可能会存在多个不同的版本,在这种情况下,中台系统可以将目标版本的信息发送至目标租户处,以由对应于目标版本的第一扩展应用对上述目标请求进行处理。具体而言,对于同一个处理流程,其中可能涉及多个扩展应用,并且各个扩展应用对应的开发包中记载的代码可能存在依赖关系,因此,在扩展应用存在多个版本的情况下,需要保证此次处理流程中使用的每个扩展应用的版本相同,否则,在处理流程的进行过程中,可能导致不同扩展应用之间的依赖关系出现错误,甚至导致处理流程无法正常进行。
中台系统可以从扩展应用的全部版本中确定需要选用的目标版本,并在远程调用目标租户时,将选用的目标版本信息发送至目标租户,目标租户选用和目标版本信息相匹配版本的扩展应用对目标请求进行处理;或者,上述目标版本也可以由目标租户确定,目标租户将确定出的目标版本信息发送至中台系统处。例如,中台系统在处理目标请求的过程中,当中台系统执行到对应处理流程的第一个扩展应用时,可以根据第一个扩展应用的部署位置决定全部扩展应用使用的目标版本是由中台系统还是目标租户进行指定:如果第一个扩展应用部署于中台系统处,可以由中台系统在扩展应用的不同版本中随机指定目标版本,作为此次处理流程选用的目标版本;如果第一个扩展应用部署于目标租户处,可以由目标租户在扩展应用的不同版本中随即指定目标版本,作为此次处理流程选用的目标版本。
无论目标版本由中台系统指定或由目标租户指定,执行处理流程中的其他扩展应用时,需要保证选用的其他扩展应用的版本与之前已经执行的扩展应用对应的版本相同,在上述目标请求对应的处理流程执行完毕时,上述处理流程涉及的全部扩展应用选用的版本相同。
经过上述的查询过程,如果中台系统确认上述目标扩展应用的部署位置为中台系统,说明此目标扩展应用对应的代码部署于中台系统本地,本说明书将此时的目标扩展应用称为第二扩展应用。中台系统可以对第二扩展应用发起本地调用,利用中台系统自身的计算资源对待处理数据进行处理并得到第二扩展应用的执行结果。
需要指出的是,对于上述的第一扩展应用而言,中台系统在首次执行该第一扩展应用时必然需要对该扩展应用进行远程调用。而在实现该远程调用的过程中或完成后,中台系统可以确认第一扩展应用与目标请求涉及的其他扩展应用是否存在依赖关系;如果上述第一扩展应用与其他扩展应用不存在依赖关系,说明第一扩展应用可以脱离其他扩展应用独立执行。对于可以独立执行的第一扩展应用,中台系统可以将其对应的代码缓存至中台系统的本地。当后续再次执行到此第一扩展应用时,中台系统可以无需远程调用目标租户,直接使用上述已经缓存至本地的代码对目标请求进行处理,以提升处理效率,减少数据传输资源。因此,中台系统在调用第一扩展应用处理目标请求时,实际的处理逻辑可以为:首先确认第一扩展应用对应的代码是否已经在中台系统本地缓存,如果已经存在第一扩展应用的代码,那么可以无需远程调用部署于目标租户应用处的第一扩展应用,而选择直接调用中台系统本地缓存的第一扩展应用的代码处理目标请求;如果第一扩展应用的代码尚未被缓存至中台系统本地,中台系统再选择远程调用模式执行第一扩展应用。
步骤106:将所述目标租户返回的处理结果反馈至所述请求方。
在一实施例中,完成处理目标请求的处理流程不仅需要调用扩展应用,还需要调用基础应用。当处理流程中的基础应用以及全部扩展应用均调用完毕时,生成的处理结果为目标请求的处理结果。此时,中台系统可以将目标请求的处理结果返回至请求方,以完成对此次目标请求的响应过程。或者,在处理流程中可以独立执行的部分可以在执行完毕后直接返回处理结果,而无需在处理流程的整体执行完毕后再共同返回处理结果。
如果将全部扩展应用都部署于中台系统处,那么扩展应用使用的机器资源均由中台系统分配,并且扩展应用的发布过程也由中台系统掌控,参与方方无法控制扩展应用使用的机器资源以及扩展应用的发布过程。由上述实施例可知,本说明书将部分扩展应用部署于租户处,当请求方发起目标请求时,中台系统可以根据扩展应用的部署信息选择本地调用或是远程调用,通过中台系统与租户的配合完成对目标请求的处理。将部分扩展应用部署于租户处,可以方便使用租户的参与方快速实现扩展应用对应代码的开发以及发布,方便扩展应用的维护和更新,同时也可以减轻中台系统对扩展应用的维护压力。此外,参与方还可以通过租户自行调配扩展应用使用的存储资源、计算资源等机器资源,更加自由地管理控制自身的扩展应用。
图3是一示例性实施例提供的另一种请求处理方法的流程图,上述请求处理方法应用于目标租户,下面对另一种请求处理方法的具体步骤进行详细描述:
步骤302:接收中台系统针对所述目标租户处部署的第一扩展应用发起的远程调用,所述远程调用由所述中台系统在接收到请求方发起的目标请求且所述目标请求涉及的所述第一扩展应用部署于所述目标租户处的情况下发起。
步骤304:通过所述第一扩展应用处理所述目标请求,并将对应的处理结果返回至所述中台系统,以由所述中台系统进一步反馈至所述请求方。
上述步骤所对应的扩展实施例可以参考上文中对图2所示的一种请求处理方法的详细描述,本说明书在此不再赘述。
图4是一示例性实施例提供的一种请求处理方法的交互图,下面对一种请求处理方法交互的具体步骤进行详细描述:
步骤402:目标租户将部署于自身的扩展应用信息同步至中台系统处。
在一实施例中,中台系统可以分别对接多个租户应用,本实施例中以目标租户为例进行说明。一个或多个具有关联的参与方可以共同管理、使用一个租户应用,例如,同时使用、管理目标租户应用的参与方可能存在参与方A、参与方B、参与方C等多个参与方,不同参与方的管理的处理流程不同,上述多个参与方以目标租户为单位申请机器资源,上述参与方共用目标租户对应的机器资源。目标租户中的各个参与方可以分别或者共同管控若干个扩展应用,上述若干扩展应用部署于目标租户处。在步骤302中,目标租户可以将部署于自身处的扩展应用的信息同步至中台系统处,例如,目标租户可以将部署于自身处的各个扩展应用的ID同步至中台系统处。
步骤404:中台系统利用扩展应用信息形成部署信息。
在一实施例中,处理流程中涉及的扩展应用既可以部署于目标租户处,也可以部署于中台系统处,对于部署于中台系统处的扩展应用,中台系统可以通过本地调用执行。在本说明书中,在处理流程的执行过程中,中台系统需要与租户应用相互配合,具体而言,中台系统在执行处理流程的过程中需要判断扩展应用的部署位置,以确定调用扩展应用时需要用到远程调用模式或是本地调用模式。为了在执行处理流程的过程中查询到扩展应用的部署位置,中台系统可以预先形成部署信息,部署信息中记录有扩展应用与其部署位置的对应关系。例如,在步骤402中,各个租户可以将自身部署的扩展应用ID以及各个扩展应用与参与方的对应关系同步至中台系统处。中台系统可以根据进行同步操作的租户信息,将各个租户同步的扩展应用ID与租户相互关联,结合中台系统本地的扩展应用信息,形成记录有全部扩展应用的部署位置的部署信息,部署信息记录有扩展应用ID、此扩展应用的部署位置位于中台系统本地还是某个租户应用处以及调用此扩展应用需要用到的接口信息。中台系统还可以进一步按照扩展应用的部署位置将部署信息分为多份,即部署于中台系统本地的扩展应用形成一份本地部署信息,部署于各个租户应用处的扩展应用分别形成多份远程部署信息,中台系统还可以按照参与方将每份远程部署信息进一步分类,以提升查询时的效率。本说明书仅对部署信息的一种组织形式进行举例,部署信息也可以依照其他方式进行组织,本说明书不进行限制。
步骤406:请求方向中台系统发送目标请求。
步骤408:中台系统确认参与方身份。
在一实施例中,中台系统在接收到请求方发送的目标请求后,可以通过解析目标请求获得处理上述目标请求时所涉及的参与方以及参与方所在的租户,即确认参与方身份。在中台系统将远程部署信息根据参与方的不同进行分类的情况下,中台系统在查询扩展应用的部署位置时,可以利用参与方的信息快速从部署信息中筛选出相应的扩展应用的部署位置。
步骤410:中台系统执行处理流程。
在一实施例中,中台系统可以解析目标请求,从解析结果中确认处理目标请求所需要执行的处理流程,上述处理流程可以涉及中台系统调用基础应用实现的基础功能,也可以包含各个扩展应用对应的个性化功能。中台系统可以根据处理流程中记录的顺序依次执行各类逻辑。
步骤412:确认扩展应用的部署位置。
在一实施例中,中台系统在执行处理流程的过程中,当执行到某个扩展应用时,可以依据步骤304中形成的部署信息,查询此扩展应用的部署位置。具体而言,中台系统可以确认此扩展应用对应的扩展应用ID,首先查询本地部署信息,如果本地部署信息中记录了此扩展应用的ID,可以确认此扩展应用的部署位置为中台系统本地,中台系统可以直接通过本地调用此扩展应用的代码处理目标请求,即步骤414;如果本地部署信息中不包含此扩展应用的ID,中台系统可以利用参与方身份中包含的租户信息确定此租户对应的远程部署信息,并进一步根据参与方信息,从此份远程部署信息中筛选出此参与方管控的若干扩展应用,进而根据此扩展应用ID筛选出调用此扩展应用的接口信息。
在步骤416中,中台系统可以根据上述步骤中确定出的此扩展应用的部署位置,向目标租户的特定接口发起远程调用。在远程调用的过程中,目标租户建立时,可以根据RPC技术选择远程调用时应用的协议。当中台系统需要调用目标租户利用第一扩展应用对目标请求进行处理时,可以依据目标租户对应的远程调用协议进行远程调用过程。
步骤418:目标租户执行部署于目标租户应用处的扩展应用。
在一实施例中,目标租户响应于中台系统向目标租户处的特定接口发起的远程调用,利用部署于特定接口处的扩展应用对目标请求进行处理,即目标租户通过执行此扩展应用的代码对目标请求进行处理,并将此扩展应用执行完成后生成的执行结果返回至中台系统处。
步骤420:目标租户将扩展应用的执行结果返回至中台系统处。
步骤422,中台系统执行处理流程完毕。
在一实施例中,对应于目标请求的处理流程中可能包含多个需要执行的扩展应用,对于每个扩展应用,中台系统均需要对其的部署位置进行确认,进而选择本地调用模式或是远程调用模式。当中台系统按照处理流程记录的顺序将处理流程涉及的基础应用以及各个扩展应用均调用完毕后,可以生成上述目标请求对应的处理结果。在处理流程执行完毕并且生成处理结果的情况下,中台系统可以将处理结果返回至请求方处。即步骤424,以完成此次的目标请求处理过程。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,请求处理装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,所述装置应用于中台系统,所述中台系统中部署有基础应用,基于所述基础应用实现的扩展应用部署于所述中台系统或所述中台系统所服务的租户处,且所述中台系统提供对自身部署的基础应用和扩展应用的调用服务,该请求处理装置可以包括:
确定单元602,用于根据请求方发起的目标请求,确定所述目标请求涉及的第一扩展应用;
远程调用单元604:在所述第一扩展应用部署于目标租户处的情况下,向所述目标租户发起远程调用,以由所述第一扩展应用对所述目标请求进行处理;
反馈单元606,用于将所述目标租户返回的处理结果反馈至所述请求方。
可选的,上述请求处理装置还可以包括,查询单元608,用于根据预先记录的各个扩展应用在中台系统和各个租户处的部署信息,确定所述目标请求涉及的扩展应用是否部署在所述中台系统或所述目标租户处。
可选的,所述向所述目标租户发起远程调用,包括:
确认所述目标租户对应的目标远程调用协议;
基于所述目标远程调用协议向所述目标租户发起远程调用。
可选的,上述请求处理装置还可以包括,版本发送单元610:
用于将目标版本的信息发送至所述目标租户,以由对应于所述目标版本的第一扩展应用对所述目标请求进行处理。
可选的,所述目标请求涉及的全部扩展应用对应的版本信息相同。
可选的,所述目标版本由所述中台系统或所述目标租户随机指定。
可选的,上述请求处理装置还可以包括,缓存单元612:
用于确认所述第一扩展应用与所述目标请求涉及的其他扩展应用是否存在依赖关系;
在所述第一扩展应用与所述其他扩展应用不存在依赖关系的情况下,将所述第一扩展应用对应的代码缓存至所述中台系统的本地,以使所述中台系统从本地调用所述第一扩展应用的代码。
可选的,在所述目标请求还涉及第二扩展应用,且所述第二扩展应用部署在所述中台系统处的情况下,上述请求处理装置还可以包括,本地调用单元614:
向所述第二扩展应用发起本地调用,以由所述第二扩展应用对所述目标请求进行处理,并将处理结果反馈至所述请求方。
参考图7,请求处理装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。
其中,该请求处理装置应用于目标租户,所述装置可以包括:
接收单元702:用于接收中台系统针对所述目标租户处部署的第一扩展应用发起的远程调用,所述远程调用由所述中台系统在接收到请求方发起的目标请求且所述目标请求涉及的所述第一扩展应用部署于所述目标租户处的情况下发起;
返回单元704,通过所述第一扩展应用处理所述目标请求,并将对应的处理结果返回至所述中台系统,以由所述中台系统进一步反馈至所述请求方。
可选的,上述请求处理装置还可以包括,版本确定单元606:
用于接收所述中台系统发送的目标版本的信息;
通过对应于所述目标版本的第一扩展应用对所述目标请求进行处理。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (10)
1.一种请求处理方法,应用于中台系统,所述中台系统中部署有基础应用,基于所述基础应用实现的扩展应用部署于所述中台系统或所述中台系统所服务的租户处,且所述中台系统提供对自身部署的基础应用和扩展应用的调用服务;所述方法包括:
根据请求方发起的目标请求,确定所述目标请求涉及的第一扩展应用;
在所述第一扩展应用部署于目标租户处的情况下,向所述目标租户发起远程调用,以由所述第一扩展应用对所述目标请求进行处理;
将所述目标租户返回的处理结果反馈至所述请求方。
2.根据权利要求1所述的方法,还包括:
根据预先记录的扩展应用在中台系统和各个租户处的部署信息,确定所述目标请求涉及的扩展应用是否部署在所述中台系统或所述目标租户处。
3.根据权利要求1所述的方法,所述向所述目标租户发起远程调用,包括:
确认所述目标租户对应的目标远程调用协议;
基于所述目标远程调用协议向所述目标租户发起远程调用。
4.根据权利要求1所述的方法,还包括:
确认所述第一扩展应用与所述目标请求涉及的其他扩展应用是否存在依赖关系;
在所述第一扩展应用与所述其他扩展应用不存在依赖关系的情况下,将所述第一扩展应用对应的代码缓存至所述中台系统的本地,以使所述中台系统从本地调用所述第一扩展应用的代码。
5.根据权利要求1所述的方法,在所述目标请求还涉及第二扩展应用,且所述第二扩展应用部署在所述中台系统处的情况下,还包括:
向所述第二扩展应用发起本地调用,以由所述第二扩展应用对所述目标请求进行处理,并将处理结果反馈至所述请求方。
6.一种请求处理方法,应用于目标租户,包括:
接收中台系统针对所述目标租户处部署的第一扩展应用发起的远程调用,所述远程调用由所述中台系统在接收到请求方发起的目标请求且所述目标请求涉及的所述第一扩展应用部署于所述目标租户处的情况下发起;
通过所述第一扩展应用处理所述目标请求,并将对应的处理结果返回至所述中台系统,以由所述中台系统进一步反馈至所述请求方。
7.一种请求处理装置,应用于中台系统,所述中台系统中部署有基础应用,基于所述基础应用实现的扩展应用部署于所述中台系统或所述中台系统所服务的租户处,且所述中台系统提供对自身部署的基础应用和扩展应用的调用服务,所述装置包括:
确定单元,用于根据请求方发起的目标请求,确定所述目标请求涉及的第一扩展应用;
远程调用单元,用于在所述第一扩展应用部署于目标租户处的情况下,向所述目标租户发起远程调用,以由所述第一扩展应用对所述目标请求进行处理;
反馈单元,用于将所述目标租户返回的处理结果反馈至所述请求方。
8.一种请求处理装置,应用于目标租户,包括:
接收单元,用于接收中台系统针对所述目标租户处部署的第一扩展应用发起的远程调用,所述远程调用由所述中台系统在接收到请求方发起的目标请求且所述目标请求涉及的所述第一扩展应用部署于所述目标租户处的情况下发起;
返回单元,通过所述第一扩展应用处理所述目标请求,并将对应的处理结果返回至所述中台系统,以由所述中台系统进一步反馈至所述请求方。
9.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998218.0A CN113810472A (zh) | 2021-08-27 | 2021-08-27 | 请求处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998218.0A CN113810472A (zh) | 2021-08-27 | 2021-08-27 | 请求处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113810472A true CN113810472A (zh) | 2021-12-17 |
Family
ID=78894262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998218.0A Pending CN113810472A (zh) | 2021-08-27 | 2021-08-27 | 请求处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113810472A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114020444A (zh) * | 2022-01-05 | 2022-02-08 | 阿里云计算有限公司 | 一种企业数字中台中资源服务应用的调用系统和方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270459A1 (en) * | 2007-04-26 | 2008-10-30 | Microsoft Corporation | Hosted multi-tenant application with per-tenant unshared private databases |
US20160283275A1 (en) * | 2015-03-27 | 2016-09-29 | International Business Machines Corporation | Dynamic workload deployment for data integration services |
US20160335113A1 (en) * | 2015-05-15 | 2016-11-17 | John Gorst | Automated virtual desktop provisioning |
US9733921B1 (en) * | 2014-01-23 | 2017-08-15 | NetSuite Inc. | System and methods for management of cloud application extensions |
CN110300025A (zh) * | 2019-06-28 | 2019-10-01 | 湖南御家科技有限公司 | 一种业务中台服务扩展方法及系统 |
US20190325058A1 (en) * | 2018-04-18 | 2019-10-24 | Sap Se | Classification and distribution of extension objects in multitenant environments |
CN110414252A (zh) * | 2019-08-02 | 2019-11-05 | 湖南御家科技有限公司 | 一种业务处理方法、系统及电子设备和存储介质 |
CN110457142A (zh) * | 2019-07-10 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 业务处理方法、系统、机房、架构及电子设备 |
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
-
2021
- 2021-08-27 CN CN202110998218.0A patent/CN113810472A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270459A1 (en) * | 2007-04-26 | 2008-10-30 | Microsoft Corporation | Hosted multi-tenant application with per-tenant unshared private databases |
US9733921B1 (en) * | 2014-01-23 | 2017-08-15 | NetSuite Inc. | System and methods for management of cloud application extensions |
US20160283275A1 (en) * | 2015-03-27 | 2016-09-29 | International Business Machines Corporation | Dynamic workload deployment for data integration services |
US20160335113A1 (en) * | 2015-05-15 | 2016-11-17 | John Gorst | Automated virtual desktop provisioning |
US20190325058A1 (en) * | 2018-04-18 | 2019-10-24 | Sap Se | Classification and distribution of extension objects in multitenant environments |
CN110389829A (zh) * | 2018-04-18 | 2019-10-29 | Sap欧洲公司 | 多租户环境中扩展对象的分类与分发 |
CN110300025A (zh) * | 2019-06-28 | 2019-10-01 | 湖南御家科技有限公司 | 一种业务中台服务扩展方法及系统 |
CN110457142A (zh) * | 2019-07-10 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 业务处理方法、系统、机房、架构及电子设备 |
CN110414252A (zh) * | 2019-08-02 | 2019-11-05 | 湖南御家科技有限公司 | 一种业务处理方法、系统及电子设备和存储介质 |
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114020444A (zh) * | 2022-01-05 | 2022-02-08 | 阿里云计算有限公司 | 一种企业数字中台中资源服务应用的调用系统和方法 |
CN114020444B (zh) * | 2022-01-05 | 2022-05-10 | 阿里云计算有限公司 | 一种企业数字中台中资源服务应用的调用系统和方法 |
WO2023130978A1 (zh) * | 2022-01-05 | 2023-07-13 | 阿里云计算有限公司 | 一种企业数字中台中资源服务应用的调用系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157304B2 (en) | System for peering container clusters running on different container orchestration systems | |
US10831549B1 (en) | Multi-region request-driven code execution system | |
US9344494B2 (en) | Failover data replication with colocation of session state data | |
JP2020096357A (ja) | コンテナオーケストレーションサービスを使用した動的ルーティング | |
US10838769B2 (en) | Application program interface based service lookup in a service architecture | |
US20160301758A1 (en) | Generic cloud enabling of stateful applications | |
CN111124589B (zh) | 一种服务发现系统、方法、装置及设备 | |
CN106933550B (zh) | 全局信息获取、处理及更新方法、装置和系统 | |
CN110442610A (zh) | 负载均衡的方法、装置、计算设备以及介质 | |
CN110703980A (zh) | 一种文件传输方法及装置 | |
CN111970359B (zh) | 基于Node.js服务器的前端无服务架构系统及建立方法 | |
US9292279B2 (en) | Method and system for creating and managing a dynamic route topography for service oriented software environments | |
CN112291298A (zh) | 异构系统的数据传输方法、装置、计算机设备和存储介质 | |
CN105516086A (zh) | 业务处理方法及装置 | |
CN109873839A (zh) | 数据访问的方法、服务器与分布式系统 | |
CN114040020A (zh) | 跨集群服务调用的方法及系统 | |
CN109618187B (zh) | 一种视频数据的获取方法及装置 | |
CN113810472A (zh) | 请求处理方法、装置、电子设备和存储介质 | |
CN114884962A (zh) | 负载均衡方法及装置和电子设备 | |
EP3672203A1 (en) | Distribution method for distributed data computing, device, server and storage medium | |
US8938480B2 (en) | Techniques for fast loading of data from an external distributed file system to a database management system | |
WO2021017969A1 (zh) | 数据导流方法、装置、设备及介质 | |
US11943316B1 (en) | Database connection multiplexing for prepared statements | |
CN112073449B (zh) | 基于Kubernetes的环境切换处理方法和设备 | |
CN111736960B (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 |