一种租户映射信息获取方法及装置
技术领域
本说明书实施例涉及多租户技术领域,尤其涉及一种租户映射信息获取方法及装置。
背景技术
多租户技术(multi-tenancy technology)可以实现多个租户之间共享相同的系统,同时又可以确保各租户之间数据的隔离性。例如若干个租户可以共享同一个系统,在该系统内,使用相同的租户模型来表述这若干个租户所包含的租户信息,而对于不同的系统而言,可能使用不同的租户模型来表述租户所包含的租户信息,其中租户信息可以是租户ID、租户地理位置、租户名称等。
当前对于特定的系统而言,经常会遇到需要跟一个或多个租户模型不一致的系统对接交互,并利用对接的系统中的租户信息进行运算的场景。例如,信息安全业务相关的系统A经常会遇到需要跟多个租户模型不一致的系统(如系统B、系统C、系统D)对接交互,并利用系统B、系统C、系统D中的租户信息进行运算的场景,其中为了便于表述,可以将系统B、系统C、系统D等一类系统称为对接发起系统,系统A等一类系统称为对接响应系统。
在这种场景下,对接响应系统直接与对接发起系统进行对接,以获取对接发起系统中的租户信息,后续对接响应系统可以利用对接发起系统中的租户信息进行运算。由于对接发起系统的多样性,导致对接响应系统需要建立多套对接逻辑来对接不同租户模型的对接发起系统,以获取对接发起系统中的租户信息,且对接发起系统相互独立,对接响应系统获取的租户信息可能存在冲突,例如获取的不同租户模型的对接系统中租户ID相同。
发明内容
针对上述技术问题,本说明书实施例提供一种租户映射信息获取方法及装置,技术方案如下:
一种租户映射信息获取方法,应用于多系统集群,所述多系统集群包括对接发起系统、对接代理以及对接响应系统,所述对接代理分别与所述对接发起系统、对接响应系统连接,该方法包括:
对接代理调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
对接代理从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
对接代理从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
对接代理利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
对接代理将经过替换的对接请求发送至对接响应系统;
对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
一种租户映射信息获取方法,应用于对接代理,该方法包括:
调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
将经过替换的对接请求发送至对接响应系统,以使对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
一种租户映射信息获取方法,应用于对接响应系统,该方法包括:
接收对接请求;
从所述对接请求中解析出租户映射信息,以获取租户映射信息,所述租户映射信息对应于对接发起系统标识和租户信息的合集。
一种基于映射的多系统集群,该多系统集群包括:对接发起系统、对接代理以及对接响应系统;
对接代理调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
对接代理从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
对接代理从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
对接代理利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
对接代理将经过替换的对接请求发送至对接响应系统;
对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
一种租户映射信息获取装置,应用于对接代理,该装置包括:
请求拦截模块,用于调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
信息解析模块,用于从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
信息查询模块,用于从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
信息替换模块,用于利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
请求发送模块,用于将经过替换的对接请求发送至对接响应系统,以使对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
一种租户映射信息获取装置,应用于对接响应系统,该装置包括:
请求接收模块,用于接收对接请求;
请求解析模块,用于从所述对接请求中解析出租户映射信息,以获取租户映射信息,所述租户映射信息对应于对接发起系统标识和租户信息的合集。
本说明书实施例所提供的技术方案,基于预设的映射算法,将不同系统中的租户信息映射到同一个租户映射集合中,以使对接响应系统获取租户映射信息。对于对接响应系统而言,仅仅需要建立一套对接逻辑即可,而且在多系统集群内,租户映射信息可以看作是原始的租户信息的一个唯一标识,获取的租户映射信息不会存在冲突。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是现有技术中多系统之间的连接示意图;
图2是本说明书实施例的多系统之间的连接示意图;
图3是本说明书实施例的租户映射信息获取方法的流程交互图;
图4是本说明书实施例的应用于对接代理的租户映射信息获取装置的结构示意图;
图5是本说明书实施例的应用于对接响应系统的租户映射信息获取装置的结构示意图;
图6是用于配置本说明书实施例装置的一种设备的结构示意图。
具体实施方式
如背景技术中所描述的场景:对于特定的对接响应系统而言,经常会遇到需要跟一个或多个租户模型不一致的对接发起系统对接交互,并利用对接发起系统中的租户信息进行运算,例如系统A与系统B、系统C、系统D对接交互,并利用系统B、系统C、系统D中的租户信息进行运算,系统B中的b1租户、系统C中的c1租户、系统D中的d1租户各自向系统A发送对接请求,对接请求中携带各自对应的租户信息(b1租户的租户信息、c1租户的租户信息、d1租户的租户信息),系统A分别解析对接请求以获取b1租户的租户信息、c1租户的租户信息、d1租户的租户信息,后续系统A利用b1租户的租户信息、c1租户的租户信息、d1租户的租户信息进行运算,其连接示意图如图1所示。
在这种情况下,由于系统B、系统C、系统D的租户模型不一致,导致系统A需要建立3套对接逻辑来分别对接系统B、系统C、系统D,以获取b1租户的租户信息、c1租户的租户信息、d1租户的租户信息,而且系统B、系统C、系统D互相独立,导致系统A获取的租户信息可能存在冲突,例如系统B、系统C、系统D中租户的租户ID可能相同,导致系统A获取的b1租户的租户ID、c1租户的租户ID、d1租户的租户ID冲突。
针对上述技术问题,本说明书实施例提供一种技术方案,提供对接代理,基于预设的映射算法,对接代理将不同系统中的租户信息映射到同一个租户映射集合中,以使对接响应系统获取租户映射信息,后续利用租户映射信息进行运算。对于对接响应系统而言,仅仅需要建立一套对接逻辑来对接提供的对接代理即可,而且在多系统集群内,租户映射信息可以看作是原始的租户信息的一个唯一标识,获取的租户映射信息不会存在冲突。
具体的,本说明书实施例提供的技术方案如下:
对接代理调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;对接代理从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;对接代理从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;对接代理利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;对接代理将经过替换的对接请求发送至对接响应系统;对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
本说明书实施例中的多系统集群,包括对接响应系统:一种可以从对接请求中解析出租户映射信息,后续可以利用租户映射信息进行运算的系统,例如对应于上述的系统A,对接发起系统:系统中租户可以发出对接请求,该对接请求中携带租户自身的租户信息以及对接发起系统标识,例如对应于上述的系统B、系统C、系统D,对于系统B、系统C、系统D中的任一系统都可以看作是对接发起系统,对接代理:对接响应系统与对接发起系统两者通过对接代理进行对接,对接代理通过替换对接请求中的租户信息以及对接发起系统标识,以使对接响应系统解析经过替换的对接请求以获取租户映射信息,其连接示意图如图2所示。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
如图3所示,为本说明书实施例提供的租户映射信息获取方法的流程示意图,该方法可以包括以下步骤:
S301,对接代理调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
对接代理调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求,该租户可以是对接发起系统中的任一租户,该对接请求中携带与租户自身对应的租户信息以及对接发起系统标识。
例如该租户是系统B中的b1租户、系统C中的c1租户、系统D中的d1租户,对接代理调用预设的请求拦截器,分别拦截b1租户向对接响应系统发送的对接请求1、c1租户向对接响应系统发送的对接请求2以及d1租户向对接响应系统发送的对接请求3,对接请求1中携带与租户b1自身对应的租户标识、租户地理位置、租户名称等信息,以及对接发起系统标识B,对接请求2中携带与租户c1自身对应的租户标识、租户地理位置、租户名称等信息,以及对接发起系统标识C,对接请求3中携带与租户d1自身对应的租户标识、租户地理位置、租户名称等信息,以及对接发起系统标识D。
S302,对接代理从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
针对S301中调用预设的请求拦截器所拦截的对接请求,对接代理从对接请求中,解析出对接发起系统标识和与对接请求的发起者对应的租户信息。其中对于对接请求而言,一般预先约定好拼接规则,根据约定好的拼接规则,对接代理可以解析出对接发起系统标识以及与对接请求的发起者对应的租户信息。
例如,针对S301中调用预设的请求拦截器所拦截的对接请求,对接代理依据预先约定好的拼接规则,解析出对接发起系统标识为B,租户信息为b1。
S303,对接代理从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
在解析出对接发起系统标识以及租户信息之后,对接代理从预设的租户映射集合中确定与租户信息对应的租户的映射关系是否存在,若存在,查询与对接发起系统标识和租户信息的合集所对应的租户映射信息。
例如,在解析出对接发起系统标识B以及租户信息b1之后,对接代理从预设的租户映射集合中确定与租户信息b1对应的租户b1的映射关系是否存在,若存在,查询与对接发起系统标识B以及租户信息b1的合集所对应的租户映射信息。
若预设的租户映射集合中与租户信息对应的租户的映射关系不存在,对接代理利用预设的映射算法对对接发起系统标识以及租户信息进行联合映射,具体的联合映射为:根据预设的组合规则,对接代理将对接发起系统标识和租户信息进行组合,由对接发起系统标识与租户信息组成一个组合,对接代理利用预设的映射算法对该组合进行联合映射。其中组合规则可以是对接发起系统标识在前,租户信息在后,或者租户信息在前,对接发起系统标识在后,又或者对接发起系统标识、租户信息与预设的字符串等信息进行组合,具体的组合规则形式多种多样,本说明书实施例在此不再一一赘述。
另外,将映射结果存储至预设的租户映射集合中,即将租户映射信息存储至预设的租户映射集合中,在此基础之上,预设的租户映射集合中还存储与租户映射信息对应的对接发起系统标识和租户信息,如下表1所示:
对接发起系统标识 |
租户信息 |
映射结果 |
B |
b1 |
857950…… |
C |
c1 |
03E220…… |
D |
d1 |
01A120…… |
表1
其中存储租户映射信息以及对接发起系统标识以及租户信息,一方面为了后续该租户发出对接请求时,从预设的租户映射集合中可以确定该租户的映射关系已存在,不必再次进行映射计算,提升性能,另一方面为了解映射,即映射的逆运算,将映射值转换为原始值。一般地由于映射算法的不可逆性,导致解映射非常困难,存储租户映射信息以及对接发起系统标识以及租户信息为了方便后续的解映射。
本说明书实施例中,预设的映射算法可以是MD5映射算法,由于MD5映射算法本身的一些特性,使得映射结果长度可控,有利于优化存储空间,当然也可以是其它的映射算法。
S304,对接代理利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
针对S303中得到的租户映射信息,对接代理利用其替换对接请求中的对接发起系统标识和租户信息。由于租户映射信息与对接发起系统标识和租户信息的合集对应,因此由租户映射信息直接替换对接请求中的对接发起系统标识和租户信息即可,也就是说经过替换后的对接请求中携带的是租户映射信息。
例如,一天对接请求为“对接发起系统标识B-租户信息b1-……”,经过替换操作之后的对接请求为“租户映射信息857950……-……”。
S305,对接代理将经过替换的对接请求发送至对接响应系统;
对接代理在利用租户映射信息替换对接请求中的对接发起系统标识和租户信息之后,将经过替换的对接请求发送至对接响应系统,以使对接响应系统获取租户映射信息。
S306,对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
对接响应系统在接收到经过替换的对接请求之后,对经过替换的对接请求进行解析,解析出经过替换的对接请求中携带的租户映射信息,以获取租户映射信息。对接响应系统在获取到租户映射信息之后,可以利用租户映射信息进行后续的处理,如利用租户映射信息来替换租户信息进行运算。其中在获取到租户映射信息之后,可以按照预设的规则截取部分租户映射信息,例如截取租户映射信息的前半部分,利用截取的部分租户映射信息进行后续的处理。
通过上述对本说明书实施例提供的技术方案的描述,提供对接代理,基于预设的映射算法,对接代理将租户模型不一致的系统中的租户信息映射到同一个租户映射集合中,以使对接响应系统获取租户映射信息,后续利用租户映射信息进行运算。对于对接响应系统而言,仅仅需要建立一套对接逻辑来对接提供的对接代理即可,而且在多系统集群内,租户映射信息可以看作是原始的租户信息的一个唯一标识,获取的租户映射信息不会存在冲突。
为了更清楚地说明本说明书实施例的方案,下面分别再从单侧的角度,对执行的方法进行说明:
对于对接代理,需要执行的任务主要如下:
调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
将经过替换的对接请求发送至对接响应系统。
对于对接响应系统,需要执行的任务主要如下:
对所述经过替换的对接请求进行解析以获取租户映射信息。
关于对接代理、对接响应系统的单侧执行方法细节,可以参见前面实施例的描述,这里不再赘述。
相对于上述方法实施例,本说明书实施例还提供一种租户映射信息获取装置,应用于对接代理,参见图4所示,可以包括:请求拦截模块410、信息解析模块420、信息查询模块430、信息替换模块440、请求发送模块450。
请求拦截模块410,用于调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
信息解析模块420,用于从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
信息查询模块430,用于从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
信息替换模块440,用于利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
请求发送模块450,用于将经过替换的对接请求发送至对接响应系统,以使对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
本说明书实施例还提供一种租户映射信息获取装置,应用于对接响应系统,参见图5所示,包括:请求接收模块510、请求解析模块520。
请求接收模块510,用于接收对接请求;
请求解析模块520,用于从所述对接请求中解析出租户映射信息,以获取租户映射信息,所述租户映射信息对应于对接发起系统标识和租户信息的合集。
本说明书实施例还提供一种基于映射的多系统集群,该多系统集群包括:对接发起系统、对接代理以及对接响应系统;
对接代理调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
对接代理从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
对接代理从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
对接代理利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
对接代理将经过替换的对接请求发送至对接响应系统;
对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
通过上述对本说明书实施例提供的技术方案的描述,提供对接代理,基于预设的映射算法,对接代理将租户模型不一致的系统中的租户信息映射到同一个租户映射集合中,以使对接响应系统获取租户映射信息,后续利用租户映射信息进行运算。对于对接响应系统而言,仅仅需要建立一套对接逻辑来对接提供的对接代理即可,而且在多系统集群内,租户映射信息可以看作是原始的租户信息的一个唯一标识,获取的租户映射信息不会存在冲突。
本说明书实施例还提供一种计算机设备,如图6所示,该设备可以包括:处理器610、存储器620、输入/输出接口630、通信接口640和总线650。其中处理器610、存储器620、输入/输出接口630和通信接口640通过总线650实现彼此之间在设备内部的通信连接。
处理器610可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器620可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器620可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器620中,并由处理器610来调用执行。
输入/输出接口630用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口640用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线650包括一通路,在设备的各个组件(例如处理器610、存储器620、输入/输出接口630和通信接口640)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器610、存储器620、输入/输出接口630、通信接口640以及总线650,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的租户映射信息获取方法。该方法至少包括:
一种租户映射信息获取方法,应用于对接代理,该方法包括:
调用预设的请求拦截器拦截对接发起系统中租户向对接响应系统发送的对接请求;
从所述对接请求中,解析出对接发起系统标识和所述租户对应的租户信息;
从预设的租户映射集合中查询与所述对接发起系统标识和所述租户信息的合集所对应的租户映射信息;
利用所述租户映射信息替换所述对接请求中的对接发起系统标识和租户信息;
将经过替换的对接请求发送至对接响应系统,以使对接响应系统对所述经过替换的对接请求进行解析以获取租户映射信息。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的租户映射信息获取方法。该方法至少包括:
一种租户映射信息获取方法,应用于对接响应系统,该方法包括:
接收对接请求;
从所述对接请求中解析出租户映射信息,以获取租户映射信息,所述租户映射信息对应于对接发起系统标识和租户信息的合集。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。