CN114745443A - 服务调用方法、装置、计算机设备、存储介质和程序产品 - Google Patents
服务调用方法、装置、计算机设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN114745443A CN114745443A CN202210496374.1A CN202210496374A CN114745443A CN 114745443 A CN114745443 A CN 114745443A CN 202210496374 A CN202210496374 A CN 202210496374A CN 114745443 A CN114745443 A CN 114745443A
- Authority
- CN
- China
- Prior art keywords
- tenant
- service
- target
- identification
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Abstract
本申请涉及一种服务调用方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:响应于至少一个租户的服务请求,获取租户的租户标识,并根据租户的租户标识,确定租户的服务分组,并根据服务分组中的候选服务和服务请求中所携带的租户所需调用的目标服务的标识信息,确定租户的目标服务,进而调用租户的目标服务获取租户所需的服务数据。其中,不同租户的服务分组之间相互隔离,即不同租户配备有相应的服务分组,针对性实现对应租户所要进行的服务调用,通过服务隔离的方式提高服务调用过程中的数据隔离效果,避免使用公共服务组件所造成的服务数据获取错乱,提高多租户之间数据的隔离性,避免了信息外泄,提高了安全性。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种服务调用方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
软件即服务(Software as a Service,SaaS)是随着互联网技术的发展和应用软件的成熟,兴起的一种软件应用模式。其实质是通过互联网为租户提供软件服务,租户则按需租用,通常一个软件可以同时服务多个租户,多个租户共享软硬件资源,提高了资源利用率。
传统技术中,为确保不同租户之间数据的安全隔离,服务提供方为每一租户提供独立的数据库,通过服务组件在不同的数据库中获取服务所需数据,实现相应服务的调用。
然而,传统技术中服务调用的实现过程中租户间的数据隔离效果差,安全性低。
发明内容
基于此,有必要针对上述技术问题,提供一种服务调用方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种服务调用方法,包括:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
调用租户的目标服务获取租户所需的服务数据。
在其中一个实施例中,根据所的租户标识,确定租户的服务分组,包括:
根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型;
根据目标租户类型确定租户的服务分组。
在其中一个实施例中,根据目标租户类型确定租户的服务分组,包括:
若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;
若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组。
在其中一个实施例中,调用租户的目标服务获取租户所需的服务数据,包括:
根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库;
根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据,包括:
若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据;
若目标租户类型为非独立租户,则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据,包括:
若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据;
若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
在其中一个实施例中,上述方法还包括:
接收至少一个租户的访问请求;其中,访问请求中携带有域名信息;
根据域名信息确定租户的租户类型和租户标识;
将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存。
第二方面,本申请还提供了一种服务调用装置,包括:
标识获取模块,用于响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
服务分组模块,用于根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
服务确定模块,用于根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
服务调用模块,用于调用租户的目标服务获取租户所需的服务数据。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
调用租户的目标服务获取租户所需的服务数据。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
调用租户的目标服务获取租户所需的服务数据。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
调用租户的目标服务获取租户所需的服务数据。
上述服务调用方法、装置、计算机设备、存储介质和计算机程序产品,通过响应于至少一个租户的服务请求,获取租户的租户标识,并根据租户的租户标识,确定租户的服务分组,并根据服务分组中的候选服务和服务请求中所携带的租户所需调用的目标服务的标识信息,确定租户的目标服务,进而调用租户的目标服务获取租户所需的服务数据。其中,不同租户的服务分组之间相互隔离,即不同租户配备有相应的服务分组,针对性实现对应租户所要进行的服务调用,通过服务隔离的方式提高服务调用过程中的数据隔离效果,避免使用公共服务组件所造成的服务数据获取错乱,提高多租户之间数据的隔离性,避免了信息外泄,提高了安全性。
附图说明
图1为一个实施例中服务调用方法的应用环境图;
图2为一个实施例中服务调用方法的流程示意图;
图3为一个实施例中确定租户的服务分组的流程示意图;
图4为一个实施例中获取租户所需的服务数据的流程示意图;
图5为另一个实施例中获取租户所需的服务数据的流程示意图;
图6为另一个实施例中服务调用方法的流程示意图;
图7为另一个实施例中服务调用方法的流程示意图;
图8为一个实施例中服务调用装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的服务调用方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。服务器104用于实现面向多租户的SaaS软件应用模式,多租户均可通过注册得到的域名信息登录该服务器104。至少一个租户通过终端102输入域名信息即可登录服务器104,以向服务器104发起携带有租户所需调用的目标服务的标识信息的服务请求。服务器104响应于该服务请求,获取租户的租户标识,并根据租户的租户标识确定租户的服务分组,进而根据服务分组中的候选服务和租户所需调用的目标服务的标识信息确定租户的目标服务,以调用租户的目标服务获取租户所需的服务数据。其中,服务分组中包括多个候选服务,并且,不同租户的服务分组之间相互隔离。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种服务调用方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S210、响应于至少一个租户的服务请求,获取租户的租户标识。
其中,服务请求中携带租户所需调用的目标服务的标识信息。服务的标识信息用于表征服务的具体内容,每一服务的标识信息对应一服务的具体内容。租户标识用户表征租户的身份信息,每一租户标识对应一租户。可选地,租户标识是租户名称,也可以是租户编号,可用于唯一表征对应租户即可。
可选地,在租户通过域名信息登录服务器后,服务器即可根据该域名信息确定租户身份,即得到租户的租户标识,并将该租户标识保存,以便后续响应于租户的服务请求而直接调取;也可以根据响应于租户的服务请求,获取租户所登录的域名信息实时获取租户的租户标识。
S220、根据租户的租户标识,确定租户的服务分组。
其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离。服务分组即为用户实现其所包括的候选服务的服务组件集合,每一服务组件相应实现一种服务。每一租户所要调用的服务由该租户所对应的服务分组实现。
可选地,每一组服务分组对应一服务标识,每一服务标识可唯一表征一组服务分组。服务器可根据预设的租户标识与服务标识之间的对应关系确定租户的租户标识所对应的服务标识,并确定该服务标识所表征的服务分组为该租户的服务分组。
可选地,设计服务组件的服务标识时,可直接采用租户标识作为服务标识,同一租户的租户标识和所对应的服务组件的服务标识相同。服务器根据租户的租户标识,即可确定服务标识与租户的租户标识相同的服务组件即为该租户的服务组件。
S230、根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务。
可选地,每一组服务组件中包括多个候选服务,每一候选服务采用相应的候选标识表征,每一候选标识相应表征一候选服务。
具体地,服务器提取出服务请求中所携带的目标服务的标识信息,并将该标识信息与租户的租户标识对应的服务分组中每一候选服务的候选标识进行比对,并确定候选标识与目标服务的标识信息相同的候选服务为租户的目标服务。例如,服务请求中所携带的目标服务的标识信息为11,根据租户的租户标识所确定的服务分组10中包括候选服务A的候选标识为11,候选服务B的候选标识为12,候选服务C的候选标识为13,服务器比对后确认候选服务A的候选标识11与目标服务的标识信息11相同,服务分组10中的候选服务A即为该租户的目标服务。
需要说明的是,目标服务可以是一个服务,也可以是多个服务。在目标服务为多个服务时,服务器可将租户的租户标识添加至线程绑定变量或者服务接口的公共入参中,以便每一服务确定租户标识。
S240、调用租户的目标服务获取租户所需的服务数据。
可选地,不同的服务可对应不同的数据库,服务器在确定了目标服务后,即可根据预设的服务路由关系将该目标服务路由至对应数据库,以获取主所需的服务数据。
本实施例中,服务器响应于至少一个租户的服务请求,获取租户的租户标识,并根据租户的租户标识,确定租户的服务分组,并根据服务分组中的候选服务和服务请求中所携带的租户所需调用的目标服务的标识信息,确定租户的目标服务,进而调用租户的目标服务获取租户所需的服务数据。其中,不同租户的服务分组之间相互隔离,即不同租户配备有相应的服务分组,针对性实现对应租户所要进行的服务调用,通过服务隔离的方式提高服务调用过程中的数据隔离效果,避免使用公共服务组件所造成的服务数据获取错乱,提高多租户之间数据的隔离性,避免了信息外泄,提高了安全性。
实际应用中,租户类型多种多样,对应不同类型的租户需采用相应地方式确定对应租户的服务分组,如图3所示,上述S220、根据租户的租户标识,确定租户的服务分组,则包括:
S310、根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型。
需要说明的是,不同的租户出于租赁成本、自身数据保密性的考虑,会在注册时,选择不同的共享模式,如是是否共享域名,是否服务共享,是否数据库共享。服务器基于租户对于共享模式的选择,将租户划分至相应地的租户类型,即可得到上述租户标识与租户类型的对应关系。
可选地,租户类型包括域名、服务和数据库均独立的独立租户,域名共享、服务共享和数据独立的半共享租户,以及域名共享、服务共享和数据库共享的共享租户。
具体地,服务器根据预先确定的租户标识与租户类型的对应关系获取前述所获取的租户标识所对应的租户类型,并确定目标租户类型。例如,前述所获取到的租户标识为001,基于租户标识与租户类型的对应关系确定该租户标识001所对应的租户类型为域名独立、服务独立、数据库独立的独立用户。
S320、根据目标租户类型确定租户的服务分组。
其中,若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组。
可选地,服务器内每一独立租户配备有相应的服务分组,每一独立租户对应一组服务分组,该服务分组用于实现对应独立租户的服务调用。不同独立租户对应不同的服务分组。例如,独立租户1对应服务分组A,独立租户2对应服务分组B…服务器内半共享租户也配备有相应的服务分组,所有半共享租户对应一组服务分组,该服务分组用于实现对应半共享租户的服务调用。例如,半共享租户3和4对应服务分组C,…服务器内共享租户也配备有相应的服务分组,所有共享租户对应一组服务分组,该服务分组用于实现对应全部/指定共享租户的服务调用。例如,共享租户5、6、7对应服务分组D,…
具体地,服务器根据前述所确定的目标租户类型是否为独立租户来确定对应该租户的服务分组。其中,若该目标租户类型为独立租户,服务器则根据租户的租户标识从众多的服务分组中确定服务标识与该租户的租户标识所匹配的服务分组为对应该租户的服务分组;若该目标租户类型为非独立租户,如半共享租户,或者共享租户,服务器则根据目标租户类型从众多的服务分组中确定服务标识与目标租户类型所匹配的服务分组为对应该租户的服务分组。
需要说明的是,服务器内所有半共享租户可配备一个服务分组,也可以是所有半共享租户配备多个服务分组,即部分半共享租户对应一个服务分组;同理,服务器内所有共享租户可配备一个服务分组,也可以是所有共享租户配备多个服务分组,即部分共享租户对应一个服务分组。可选地,在非独立租户对应多个服务分组时,即采用租户类型可确定出多个服务分组时,可采用下一级标识进行区别,应用时服务器即可根据该下一级标识确定服务分组。
本实施例中,服务器根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型,并根据目标租户类型确定租户的服务分组,具体在目标租户类型为独立租户的情况下,确定与租户的租户标识匹配的服务分组为租户的服务分组;在目标租户类型为非独立用户的情况下,确定与目标租户类型匹配的服务分组为租户的服务分组。通过上述方式实现对于不同类型的租户采用不同方式确定对应的服务分组,便于实现对于不同类型租户的服务调用,满足了不同类型租户的服务调用,扩展了应用范围。
在其中一个实施例中,获取到服务所需的服务数据即实现服务调用,因前述不同类型的租户对于数据库的共享模式不同,如图4所示,上述S240、调用租户的目标服务获取租户所需的服务数据,则包括:
S410、根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库。
其中,每一服务分组对应一路由路径,通过该路由路径即可路由至对应数据库,即可确定服务分组与数据库的对应关系。
可选地,服务器根据预设的服务分组与数据库的对应关系,确定前述所确定的租户的服务分组所对应的数据库为目标数据库。例如,预设的服务分组和数据库的对应关系包括:上述服务分组A对应数据库S1,上述服务分组B对应数据库S2,上述服务分组C对应数据库S3和S4,上述服务分组D对应数据库S5。若前述所确定的租户的服务分组为A,数据库S1即为目标数据库;若前述所确定的租户的服务分组为C,数据库S3和S4即为目标数据库。
S420、根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据。
可选地,若目标租户类型为独立租户,服务器则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据。例如,继续上述举例,服务器确定租户标识1对应的目标租户类型为独立租户,服务器则直接调用该租户所确定的服务分组A中的目标服务,以在服务分组A所对应的目标数据库S1中获取租户A所需的服务数据。
可选地,若目标租户类型为非独立租户,服务器则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。
具体地,如图5所示,获取服务数据的具体过程如下:
S510、若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据。
其中,服务共享租户即前述半共享租户,域名和服务共享,数据库不共享。服务器中为每一服务共享租户配备有对应的数据库,并采用租户标识标记对应的数据库。如上举例,半共享租户3和4对应服务分组C,服务分组C对应数据库S3和S4,其中,半共享租户3对应数据库S3,半共享租户4对应数据库S4。
具体地,服务器再确定目标租户类型为服务共享租户后,即可在该目标租户类型所对应的目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务从中获取租户所需的服务数据。例如,继续上述举例,半共享租户类型对应的目标数据库为数据库S3和S4,其中,与租户标识3所匹配的数据库即数据库S3,服务器则调用租户的目标服务从数据库S3中获取租户所需的服务数据。
S520、若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
其中,数据库共享租户即前述共享租户,域名、服务以及数据库均共享。服务器中为所有数据库共享租户配备有对应的数据库,并采用租户标识标记对应的服务数据。如上举例,共享租户5、6、7对应服务分组D,服务分组D对应数据库S5,数据库S5中部分服务数据D1标记为5,部分数据D2标记为6,部分数据D3标记为7。
具体地,服务器再确定目标租户类型为数据库共享租户后,即可在该目标租户类型所对应的目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务从中获取租户所需的服务数据。例如,继续上述举例,共享租户类型对应的目标数据库为数据库S5,其中,与租户标识6所匹配的服务数据即标记为6的部分服务数据D2,服务器则调用租户的目标服务从部分服务数据D2中获取租户所需的服务数据。
本实施例中,服务器根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库,若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据,若目标租户类型为非独立租户,则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。服务器中为不同类型的租户配置有对应的服务分组,针对于不同类型的租户采用相应的服务分组实现服务调用,各个服务分组仅负责对应租户的服务调用,不仅可同时实现对于不同类型租户的服务调用,服务分组之间的相互隔离,还提高了各租户之间的数据隔离效果。
在其中一个实施例中,服务器可在租户通过域名信息登录时,确定租户的租户标识,并将该租户标识保存下来,以便后续直接获取,如图6所示,上述方法还包括:
S610、接收至少一个租户的访问请求。
其中,访问请求中携带有域名信息。该域名信息中包括访问域名和上下文根。
具体地,至少一个租户可在终端的浏览器界面的网址输入栏输入上述域名信息,终端则生成携带有域名信息的访问请求并将该访问请求发送至服务器。服务器则接收该访问请求。
S620、根据域名信息确定租户的租户类型和租户标识。
具体地,服务器可根据注册时得到的域名信息与租户类型、租户标识之间的对应关系(如下表1所示)确定该域名信息所对应的租户类型。
表1域名信息与租户类型、租户标识之间的对应关系
S630、将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存。
具体地,服务器将访问请求所对应的租户的域名信息、租户类型以及租户标识对应关联,并将该租户的租户标识存储至指定内存,如session,可防止租户标识被篡改,提高安全性。
本实施例中,服务器接收至少一个租户携带有域名信息的访问请求,并根据域名信息确定租户的租户类型和租户标识,进而将该租户的域名信息、租户类型和租户标识对应关联,同时将租户的租户标识存储至指定内存。以便后续直接获取该租户的租户标识,并将于上述关联关系确定该租户标识所对应的租户类型或者域名信息,为后续服务调用做好数据准备,以提高服务调用效率。
为了便于本领域技术人员的理解,以下对本申请提供的闪电数据的分析方法进行详细介绍,如图7所示,该方法可以包括:
S701、接收至少一个租户的访问请求;其中,访问请求中携带有域名信息
S702、根据域名信息确定租户的租户类型和租户标识;
S703、将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存;
S704、响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
S705、根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型;
S706、若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;
S707、若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组;
S708、根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
S709、根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库;
S710、若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据;
S711、若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据;
S712、若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
需要说明的是,针对上述S701-S712中的描述可以参见上述实施例中相关的描述,且其效果类似,本实施例在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种服务调用装置,包括:标识获取模块801、服务分组模块802、服务确定模块803以及服务调用模块804,其中:
标识获取模块801用于响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;
服务分组模块802用于根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
服务确定模块803用于根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;
服务调用模块804用于调用租户的目标服务获取租户所需的服务数据。
在其中一个实施例中,服务分组模块802具体用于:
根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型;根据目标租户类型确定租户的服务分组。
在其中一个实施例中,服务分组模块802具体用于:
若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组。
在其中一个实施例中,服务调用模块804具体用于:
根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库;根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,服务调用模块804具体用于:
若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据;若目标租户类型为非独立租户,则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,服务调用模块804具体用于:
若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据;若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
在其中一个实施例中,上述装置还标识确定模块,具体用于:
接收至少一个租户的访问请求;其中,访问请求中携带有域名信息;根据域名信息确定租户的租户类型和租户标识;将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存。
上述服务调用装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储服务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种服务调用方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;调用租户的目标服务获取租户所需的服务数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型;根据目标租户类型确定租户的服务分组。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库;根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据;若目标租户类型为非独立租户,则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据;若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收至少一个租户的访问请求;其中,访问请求中携带有域名信息;根据域名信息确定租户的租户类型和租户标识;将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;调用租户的目标服务获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型;根据目标租户类型确定租户的服务分组。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库;根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据;若目标租户类型为非独立租户,则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据;若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收至少一个租户的访问请求;其中,访问请求中携带有域名信息;根据域名信息确定租户的租户类型和租户标识;将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于至少一个租户的服务请求,获取租户的租户标识;其中,服务请求中携带租户所需调用的目标服务的标识信息;根据租户的租户标识,确定租户的服务分组;其中,服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;根据服务分组中的候选服务和租户所需调用的目标服务的标识信息,确定租户的目标服务;调用租户的目标服务获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据租户标识与租户类型的对应关系确定租户的租户标识所对应的目标租户类型;根据目标租户类型确定租户的服务分组。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标租户类型为独立租户,则确定与租户的租户标识匹配的服务分组为租户的服务分组;若目标租户类型为非独立用户,则确定与目标租户类型匹配的服务分组为租户的服务分组。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据服务分组与数据库的对应关系确定租户的服务分组所对应的目标数据库;根据目标租户类型调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标租户类型为独立租户,则直接调用租户的目标服务在目标数据库中获取租户所需的服务数据;若目标租户类型为非独立租户,则根据租户标识调用租户的目标服务在目标数据库中获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标租户类型为服务共享租户,则在目标数据库中确定与租户标识匹配的数据库,并调用租户的目标服务在与租户标识匹配的数据库中获取租户所需的服务数据;若目标租户类型为数据库共享用户,则在目标数据库中确定与租户标识匹配的服务数据,并调用租户的目标服务在与租户标识匹配的服务数据中获取租户所需的服务数据。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收至少一个租户的访问请求;其中,访问请求中携带有域名信息;根据域名信息确定租户的租户类型和租户标识;将租户的域名信息、租户类型和租户标识对应关联,并将租户的租户标识存储至指定内存。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种服务调用方法,其特征在于,所述方法包括:
响应于至少一个租户的服务请求,获取所述租户的租户标识;其中,所述服务请求中携带租户所需调用的目标服务的标识信息;
根据所述租户的租户标识,确定所述租户的服务分组;其中,所述服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
根据所述服务分组中的候选服务和所述租户所需调用的目标服务的标识信息,确定所述租户的目标服务;
调用所述租户的目标服务获取所述租户所需的服务数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述租户的租户标识,确定所述租户的服务分组,包括:
根据租户标识与租户类型的对应关系确定所述租户的租户标识所对应的目标租户类型;
根据所述目标租户类型确定所述租户的服务分组。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标租户类型确定所述租户的服务分组,包括:
若所述目标租户类型为独立租户,则确定与所述租户的租户标识匹配的服务分组为所述租户的服务分组;
若所述目标租户类型为非独立用户,则确定与所述目标租户类型匹配的服务分组为所述租户的服务分组。
4.根据权利要求2所述的方法,其特征在于,所述调用所述租户的目标服务获取所述租户所需的服务数据,包括:
根据服务分组与数据库的对应关系确定所述租户的服务分组所对应的目标数据库;
根据所述目标租户类型调用所述租户的目标服务在所述目标数据库中获取租户所需的服务数据。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标租户类型调用所述租户的目标服务在所述目标数据库中获取租户所需的服务数据,包括:
若所述目标租户类型为独立租户,则直接调用所述租户的目标服务在所述目标数据库中获取租户所需的服务数据;
若所述目标租户类型为非独立租户,则根据所述租户标识调用所述租户的目标服务在所述目标数据库中获取租户所需的服务数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述租户标识调用所述租户的目标服务在所述目标数据库中获取租户所需的服务数据,包括:
若所述目标租户类型为服务共享租户,则在所述目标数据库中确定与所述租户标识匹配的数据库,并调用所述租户的目标服务在所述与所述租户标识匹配的数据库中获取租户所需的服务数据;
若所述目标租户类型为数据库共享用户,则在所述目标数据库中确定与所述租户标识匹配的服务数据,并调用所述租户的目标服务在所述与所述租户标识匹配的服务数据中获取租户所需的服务数据。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述至少一个租户的访问请求;其中,所述访问请求中携带有域名信息;
根据所述域名信息确定所述租户的租户类型和租户标识;
将所述租户的域名信息、租户类型和租户标识对应关联,并将所述租户的租户标识存储至指定内存。
8.一种服务调用装置,其特征在于,所述装置包括:
标识获取模块,用于响应于至少一个租户的服务请求,获取所述租户的租户标识;其中,所述服务请求中携带租户所需调用的目标服务的标识信息;
服务分组模块,用于根据所述租户的租户标识,确定所述租户的服务分组;其中,所述服务分组中包括多个候选服务,且不同租户的服务分组之间相互隔离;
服务确定模块,用于根据所述服务分组中的候选服务和所述租户所需调用的目标服务的标识信息,确定所述租户的目标服务;
服务调用模块,用于调用所述租户的目标服务获取所述租户所需的服务数据。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210496374.1A CN114745443A (zh) | 2022-05-09 | 2022-05-09 | 服务调用方法、装置、计算机设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210496374.1A CN114745443A (zh) | 2022-05-09 | 2022-05-09 | 服务调用方法、装置、计算机设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114745443A true CN114745443A (zh) | 2022-07-12 |
Family
ID=82285282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210496374.1A Pending CN114745443A (zh) | 2022-05-09 | 2022-05-09 | 服务调用方法、装置、计算机设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745443A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
CN111582773A (zh) * | 2020-06-22 | 2020-08-25 | 南京德睿能源研究院有限公司 | 一种基于多租户技术的微电网能量云模型控制方法及系统 |
CN112596857A (zh) * | 2020-12-25 | 2021-04-02 | 北京知因智慧科技有限公司 | 一种SaaS多租户数据隔离的方法、装置、设备及介质 |
CN112653665A (zh) * | 2020-11-25 | 2021-04-13 | 航天信息股份有限公司广州航天软件分公司 | 一种基于云服务的数据隔离交互方法及系统 |
CN114189525A (zh) * | 2021-12-02 | 2022-03-15 | 建信金融科技有限责任公司 | 服务请求方法、装置和电子设备 |
-
2022
- 2022-05-09 CN CN202210496374.1A patent/CN114745443A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
CN111582773A (zh) * | 2020-06-22 | 2020-08-25 | 南京德睿能源研究院有限公司 | 一种基于多租户技术的微电网能量云模型控制方法及系统 |
CN112653665A (zh) * | 2020-11-25 | 2021-04-13 | 航天信息股份有限公司广州航天软件分公司 | 一种基于云服务的数据隔离交互方法及系统 |
CN112596857A (zh) * | 2020-12-25 | 2021-04-02 | 北京知因智慧科技有限公司 | 一种SaaS多租户数据隔离的方法、装置、设备及介质 |
CN114189525A (zh) * | 2021-12-02 | 2022-03-15 | 建信金融科技有限责任公司 | 服务请求方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN106933871B (zh) | 短链接处理方法、装置及短链接服务器 | |
CN110213392B (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
US20160323188A1 (en) | Managing state for updates to load balancers of an auto scaling group | |
US20210303633A1 (en) | Shard hashing | |
WO2020257993A1 (zh) | 内容推送方法、装置、服务端及存储介质 | |
WO2019136987A1 (zh) | 网络爬虫识别方法、装置、计算机设备和存储介质 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN111209061B (zh) | 用户信息的填写方法、装置、计算机设备和存储介质 | |
CN113467855B (zh) | 网页请求处理方法、装置、电子设备及存储介质 | |
CN116776030A (zh) | 灰度发布方法、装置、计算机设备、存储介质 | |
CN114745443A (zh) | 服务调用方法、装置、计算机设备、存储介质和程序产品 | |
CN114745173A (zh) | 登陆验证方法、装置、计算机设备、存储介质和程序产品 | |
CN114860806A (zh) | 区块链的数据查询方法、装置、计算机设备和存储介质 | |
CN113778996A (zh) | 一种大数据流数据处理方法、装置、电子设备及存储介质 | |
CN110677353B (zh) | 数据访问方法及系统 | |
CN111382200A (zh) | 信息加载方法、装置、服务器及存储介质 | |
CN107609093B (zh) | 一种数据库表监控方法、装置、设备和存储介质 | |
CN115632816A (zh) | 反向代理方法、装置、身份认证方法、装置、系统、产品 | |
US20240028346A1 (en) | Linking kubernetes resources with underlying cloud infrastructure | |
CN115905340A (zh) | 用户画像验证方法、装置、计算机设备和存储介质 | |
CN114925087A (zh) | 数据获取方法、装置、计算机设备和存储介质 | |
CN117170844A (zh) | 分布式锁的离线传播方法、装置、计算机设备及存储介质 | |
CN114240683A (zh) | 群组创建方法、装置、计算机设备和存储介质 | |
CN114185949A (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 |