一种基于中间件的数据处理方法、系统和存储介质与流程

文档序号:26588715发布日期:2021-09-10 20:10阅读:87来源:国知局
一种基于中间件的数据处理方法、系统和存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种基于中间件的数据处理方法、系统和存储介质。


背景技术:

2.软件即服务(software as a service,saas)是一种新的软件应用模式,saas服务通过为每个租户分配一个客户端和独立的数据库,在为多个租户提供相同的服务的同时,还可以支持不同租户之间的数据相互隔离。
3.然而,在现有的saas服务下,由saas服务中每个客户端独立的处理对应的数据库中的数据。在此过程中,客户端需要耗费大量时间进行数据源的切换、事务处理和数据聚合等操作,这提高了客户端访问对应的数据库的复杂度,进而降低了数据库的运行效率。


技术实现要素:

4.本发明的主要目的在于提供了一种基于中间件的数据处理方法、系统和存储介质,旨在解决现有的基于saas服务的数据处理过程较为复杂,进而降低了数据库的运行效率的技术问题。
5.为实现上述目的,本发明提供了一种基于中间件的数据处理方法,应用于基于中间件的数据处理系统,所述基于中间件的数据处理系统包括服务端、中间件、数据库和n个客户端,所述客户端与所述服务端之间通信连接,所述服务端与所述中间件之间通信连接,所述中间件与所述数据库之间通信连接,n为大于1的正整数;所述基于中间件的数据处理方法包括以下步骤:所述中间件接收所述服务端发送的第二请求;所述第二请求由所述服务端基于所述客户端发送的第一请求生成,所述第二请求包括租户标识和操作指令;所述中间件基于预设的租户列表对所述第二请求中的租户标识进行验证;在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信息的情况下,所述中间件从所述连接池中提取所述租户标识对应的连接信息;所述连接信息用于指示所述租户标识对应的客户端在所述数据库中对应的物理地址;所述中间件根据所述连接信息连接所述数据库,并将所述操作指令发送至所述数据库,使得所述数据库执行所述操作指令对应的操作。
6.可选地,所述中间件包括租户列表,所述租户列表存储有所有已与所述服务端建立通信连接的客户端对应的租户标识;所述中间件基于预设的租户列表对所述第二请求中的租户标识进行验证包括:在所述租户列表包括所述租户标识的情况下,所述中间件确定所述第二请求验证成功;在所述租户列表不包括所述租户标识的情况下,所述中间件确定所述第二请求验证失败。
7.可选地,所述将所述操作指令发送至所述数据库之后,所述方法包括:所述中间件获取每个租户的活跃度;所述中间件从所述中间件连接池中删除目标租户的连接信息,所述目标租户的活跃度低于预设阈值。
8.可选地,所述中间件接收所述服务端发送的第二请求之前,所述方法包括:在所述服务端接收所述客户端发送的第一请求的情况下,所述服务端对所述第一请求进行解密,得到租户标识和操作指令;所述第一请求基于所述客户端对所述租户标识和所述操作指令加密生成;所述服务端根据所述租户标识和所述操作指令生成第二请求,并将所述第二请求发送至所述中间件。
9.可选地,所述对所述第一请求进行解密之前,所述方法包括:在所述客户端与所述服务端建立通信连接的情况下,所述服务端向所述客户端发送公钥;所述客户端使用所述公钥对用户输入的操作指令和预设的租户标识进行加密,得到所述第一请求;所述对所述第一请求进行解密包括:所述服务端使用所述公钥对应的私钥对所述第一请求进行解密,得到所述租户标识和所述操作指令。
10.此外,为实现上述目的,本发明还提供一种基于中间件的数据处理系统,所述基于中间件的数据处理系统包括服务端、中间件、数据库和n个客户端,所述客户端与所述服务端之间通信连接,所述服务端与所述中间件之间通信连接,所述中间件与所述数据库之间通信连接,n为大于1的正整数;所述中间件包括接收模块、验证模块、提取模块和发送模块;所述接收模块,用于接收所述服务端发送的第二请求;所述第二请求由所述服务端基于所述客户端发送的第一请求生成,所述第二请求包括租户标识和操作指令;所述验证模块,用于基于预设的租户列表对所述第二请求中的租户标识进行验证;所述提取模块,用于在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信息的情况下,从所述连接池中提取所述租户标识对应的连接信息;所述连接信息用于指示所述租户标识对应的客户端在所述数据库中对应的物理地址;所述发送模块,用于根据所述连接信息连接所述数据库,并将所述操作指令发送至所述数据库,使得所述数据库执行所述操作指令对应的操作。
11.可选地,所述中间件包括租户列表,所述租户列表存储有所有已与所述服务端建立通信连接的客户端对应的租户标识;所述验证模块,具体用于在所述租户列表包括所述租户标识的情况下,确定所述第二请求验证成功;在所述租户列表不包括所述租户标识的情况下,确定所述第二请求验证失败。
12.可选地,所述中间件还包括回收模块;所述回收模块,用于从所述中间件连接池中删除目标租户的连接信息,所述目标
租户的活跃度低于预设阈值。
13.可选地,所述服务端,用于在接收所述客户端发送的第一请求的情况下,对所述第一请求进行解密,得到租户标识和操作指令;所述第一请求基于所述客户端对所述租户标识和所述操作指令加密生成;根据所述租户标识和所述操作指令生成第二请求,并将所述第二请求发送至所述中间件。
14.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述基于中间件的数据处理方法的步骤。
15.本发明提供了一种基于中间件的数据处理方法、系统和存储介质,该基于中间件的数据处理方法应用于基于中间件的数据处理系统,基于中间件的数据处理系统包括服务端、中间件、数据库和n个客户端,客户端与服务端之间通信连接,服务端与中间件之间通信连接,中间件与数据库之间通信连接,n为大于1的正整数。该基于中间件的数据处理方法包括:中间件接收服务端发送的第二请求;第二请求由服务端基于客户端发送的第一请求生成,第二请求包括租户标识和操作指令;中间件基于预设的租户列表对第二请求中的租户标识进行验证;在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信息的情况下,中间件从所述连接池中提取租户标识对应的连接信息;中间件根据连接信息连接所述数据库,并将操作指令发送至数据库,使得数据库执行操作指令对应的操作。上述数据处理过程中,由中间件与数据库进行通信交互,客户端不再与数据库进行直接的通信交互,有效的降低了客户端访问数据库的复杂度,从而提高数据库的运行效率。
附图说明
16.图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;图2是本发明实施例提供的基于中间件的数据处理方法的流程示意图;图3是本发明实施例提供的基于中间件的数据处理系统的结构示意图。
17.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
18.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
19.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
20.本发明终端是一种可移动设备,该终端还可以其他具有存储功能的终端设备。
21.如图1所示,该终端可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选地用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选地可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non

volatile memory),例如磁盘存储器。存储器1005可选地还可以是独立于前述处理器
1001的存储装置。
22.可选地,终端还可以包括摄像头、wi

fi模块等等,在此不再赘述。
23.本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
24.在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要包括输入单元比如键盘,键盘包括无线键盘和有线键盘,用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序,并执行以下操作:接收所述服务端发送的第二请求;基于预设的租户列表对所述第二请求中的租户标识进行验证;在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信息的情况下,从所述连接池中提取所述租户标识对应的连接信息;根据所述连接信息连接所述数据库,并将操作指令发送至所述数据库,使得所述数据库执行所述操作指令对应的操作。
25.进一步的,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:在所述租户列表包括所述租户标识的情况下,确定所述第二请求验证成功;在所述租户列表不包括所述租户标识的情况下,确定所述第二请求验证失败。
26.进一步的,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:所述中间件获取每个租户对应的活跃度;所述中间件从所述中间件连接池中删除目标租户的连接信息。
27.进一步的,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:在接收所述客户端发送的第一请求的情况下,对所述第一请求进行解密,得到租户标识和操作指令;根据所述租户标识和所述操作指令生成第二请求,并将所述第二请求发送至所述中间件。
28.进一步的,处理器1001可以调用存储器1005中存储的数据处理程序,还执行以下操作:在所述客户端与所述服务端建立通信连接的情况下,向所述客户端发送公钥;使用所述公钥对用户输入的操作指令和预设的租户标识进行加密,得到所述第一请求;使用所述公钥对应的私钥对所述第一请求进行解密,得到所述租户标识和所述操作指令。
29.本终端的具体实施例与下述基于中间件的数据处理方法各实施例基本相同,在此不作赘述。
30.请参阅图2,图2是本发明实施例提供的基于中间件的数据处理方法的流程示意图。本实施例提供的基于中间件的数据处理方法应用于基于中间件的数据处理系统,所述
基于中间件的数据处理系统包括服务端、中间件、数据库和n个客户端,所述客户端与所述服务端之间通信连接,所述服务端与所述中间件之间通信连接,所述中间件与所述数据库之间通信连接,n为大于1的正整数。
31.为便于理解后续方案,在此对本发明实施例可能应用的场景进行解释:本发明实施例提供的基于中间件的数据处理方法应用于支持多租户的基于中间件的数据处理系统,以该基于中间件的数据处理系统支持saas服务为例进行阐述。
32.该基于中间件的数据处理系统包括服务端、中间件、数据库和n个客户端。其中,n为大于1的正整数,一个客户端对应一个参与到saas服务中的租户,租户是指被赋予了saas服务使用权的用户。其中,服务端、中间件、数据库和n个客户端之间进行单向通信,即在本发明实施例中,客户端与服务端之间通信连接,服务端与中间件之间通信连接,中间件与数据库之间通信连接。
33.上述客户端可以理解为参与到saas服务中的租户所使用的终端,上述客户端可以是应用客户端或者终端页面。
34.上述服务端是指saas服务中与客户端通信的服务器。
35.服务端是指一种软件框架,提供一个应用程序运行的环境,用于为应用程序提供安全、数据、事务支持、负载平衡大型分布式系统管理等服务。
36.上述中间件是指saas服务中可以对数据库发送操作指令的中间件,在此不对中间件进行具体限制。
37.上述数据库是指saas服务中的多租户数据库,该数据库支持多个租户使用,且为每个租户分配各自独立的存储空间,实现了多个租户之间的数据隔离。其中,该数据库支持mysql、oracle和postgresql等多种主流数据库的应用。
38.所述基于中间件的数据处理方法包括如下步骤:s110,中间件接收服务端发送的第二请求。
39.上述第二请求由服务端基于客户端发送的第一请求生成,关于第二请求具体的生成方式请参阅后续实施例,应理解,该第二情况包括租户标识和操作指令。
40.上述租户标识与客户端一一对应,即每个客户端只具备唯一的租户标识;上述操作指令由用户发出,其中,上述操作指令指当前租户对数据库进行增、删、改、查等操作所对应的指令。
41.s120,所述中间件基于预设的租户列表对所述第二请求中的租户标识进行验证。
42.本步骤中,中间件预先存储有租户列表,租户列表存储有所有已与服务端建立通信连接的客户端对应的租户标识。
43.应理解,若一个租户想参与至saas服务中,则该租户需要向saas服务发送开通请求,其中,开通请求携带有该租户的租户信息。在对该租户信息进行审核通过后,saas服务采用平台即服务(platform as a service,paas)技术,初始化该租户所需数据库实例,随机生成安全的账号密码以及正常访问系统的资源,并将该租户对应的租户标识存储至该租户列表中,租户标识包括租户编码、租户名称、租户账号等信息中的一种或多种。
44.本步骤中,中间件对第二请求中的租户标识进行验证,具体的验证方式请参阅后续实施例。
45.s130,在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信
息的情况下,所述中间件从所述连接池中提取所述租户标识对应的连接信息。
46.上述中间件还包括连接池,上述连接池又称连接池缓存,连接池中存储有预设的加密数据表,该加密数据表用于记录连接信息,连接信息用于指示租户标识对应的客户端在数据库中对应的物理地址。
47.其中,每个客户端对应的连接池的大小由该客户端向saas服务发送开通请求时确定。在一些实施例中,中间件可以根据租户的活跃程度、活跃时间和峰值自动优化调整连接池大小,以此充分合理利用资源。
48.其中,中间件系统中还包括监听模块,监听模块在监听到用户配置信息变化时,即用户发送相关指令调整连接池大小,更新中间件中租户对应的配置信息,并更新租户在连接池中对应的连接信息。
49.本步骤中,中间件将租户标识输入至连接池进行查询,基于存储的租户标识与连接信息之间的映射关系,得到该租户标识对应的连接信息。
50.具体为,若当前租户有连接信息,则该租户的数据库连接信息会从加密数据表中缓存到多租户数据库中间件连接池中;若当前租户没有连接信息,则创建数据库连接,并通过该租户数据库连接信息创建连接池放入缓存中,连接池的大小由租户开通申请时设置;多租户数据库中间件根据租户活跃程度、活跃时间、峰值自动优化调整连接池大小,充分合理利用服务器资源;多租户数据库中间件的监听模块监听租户配置信息变化,更新租户配置信息,并更新租户连接池缓存中的连接。
51.中间件通过连接信息确定客户端在数据库中对应的物理地址,并与数据库通信连接;将操作指令发送至数据库。数据库在接收到操作指令后,执行该操作指令对应的操作,数据库执行的操作包括但不限于对存储数据进行增、删、改、查等操作。
52.应理解,在数据库执行对应的操作之后,中间件通过服务器向客户端发送操作结果。本步骤中,在数据处理系统中新增中间件,由中间件与数据库进行通信交互,客户端不再与数据库进行直接的通信交互,客户端不再考虑与数据库的连接实现方式,而只专注于业务应用的逻辑,以此提高数据库的运行效率。
53.s140,所述中间件根据所述连接信息连接所述数据库,并将所述操作指令发送至所述数据库,使得所述数据库执行所述操作指令对应的操作。
54.本步骤中,在中间件通过连接信息与数据库通信连接的情况下,中间件将第二请求中的操作指令发送至数据库,数据库在接收到操作指令之后,执行该操作指令对应的操作。
55.本实施例提供了一种基于中间件的数据处理方法应用于基于中间件的数据处理系统,基于中间件的数据处理系统包括服务端、中间件、数据库和n个客户端,客户端与服务端之间通信连接,服务端与中间件之间通信连接,中间件与数据库之间通信连接,n为大于1的正整数。该基于中间件的数据处理方法包括:中间件接收服务端发送的第二请求;第二请求由服务端基于客户端发送的第一请求生成,第二请求包括租户标识和操作指令;中间件基于预设的租户列表对第二请求中的租户标识进行验证;在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信息的情况下,中间件从预设的加密数据表中提取租户标识对应的连接信息;中间件根据连接信息连接所述数据库,并将操作指令发送至数据库,使得数据库执行操作指令对应的操作。上述数据处理过程中,由中间件与数据库进行
通信交互,客户端不再与数据库进行直接的通信交互,有效的降低了客户端访问数据库的复杂度,从而提高数据库的运行效率。
56.可选地,所述中间件包括租户列表,所述租户列表存储有所有已与所述服务端建立通信连接的客户端对应的租户标识;所述中间件基于预设的租户列表对所述第二请求中的租户标识进行验证包括:在所述租户列表包括所述租户标识的情况下,所述中间件确定所述第二请求验证成功;在所述租户列表不包括所述租户标识的情况下,所述中间件确定所述第二请求验证失败。
57.本实施例中,中间件包括租户列表,租户列表存储有所有已与服务端建立通信连接的客户端对应的租户标识。上述租户标识也可以理解为参与到saas服务中的客户端的标识信息。
58.中间件将租户标识输入至租户列表中查询,若租户列表包括租户标识,表示saas服务支持该租户标识对应的客户端,则中间件确定第二请求验证成功。
59.若租户列表不包括租户标识,表示saas服务不支持该租户标识对应的客户端,则中间件确定第二请求验证失败。
60.应理解,在第二请求验证失败的情况下,中间件通过服务端向客户端反馈通知信息,该通知信息用于提示用户该客户端无权限访问数据库。
61.本实施例中,对租户标识进行验证,以确定客户端是否具备权限对数据库进行操作,以此提高了数据处理过程中的安全性。在为租户分配各自独立的存储空间,实现多个租户之间的数据隔离的同时,通过设置中间件对用户标识进行识别并验证,可以在不修改数据操作指令的情况下,能准备识别租户标识,实现完全代理转发数据操作指令,支持mysql、oracle、postgresql等多种主流数据库的应用。
62.可选地,所述将所述操作指令发送至所述数据库之后,所述方法包括:所述中间件获取每个租户对应的活跃度;所述中间件从所述中间件连接池中删除目标租户的连接信息,所述目标租户的活跃度低于预设阈值。
63.本实施例中,中间件可以实时或定时获取每个租户对应的活跃度,确定目标租户,应理解,上述租户与客户端一一对应。其中,上述活跃度与以下至少一项相关:客户端与数据库的最近连接时间、客户端与数据库的连接活跃时间段以及客户端与数据库的连接总时长。
64.进一步的,本实施例还设置有一个预设阈值,将活跃度低于预设阈值的租户确定为目标租户,并在连接池中删除目标租户对应的租户标识,以此动态配置连接池,优化数据库效率。
65.通过回收连接,根据特定规则判断租户活跃度,回收非活跃租户的连接信息,优化数据库效率。
66.特定规则具体包括该连接距离上次使用的间隔时间、该连接活跃时间段、该连接使用总时长;针对非活跃租户,若该租户再次发送数据操作请求,则中间件重新创建数据库连接。通过设置回收连接能够动态配置连接池信息,并使规则组合可视化、语义化。
67.在一些实施例中,若一目标客户端向服务端发送第一请求,则中间件重新创建与该目标租户的通信连接。
68.本实施例中,中间件将租户标识输入至连接池中进行查询,连接池基于存储的租户标识与连接信息之间的映射关系,得到该租户标识对应的连接信息。
69.中间件通过连接信息确定客户端在数据库中对应的物理地址,并与数据库通信连接;将操作指令发送至数据库。数据库在接收到操作指令后,执行该操作指令对应的操作,如上所述,数据库执行的操作包括但不限于对存储数据进行增、删、改、查等操作。
70.应理解,在数据库执行对应的操作之后,中间件通过服务器向客户端发送操作结果。本实施例中,在数据处理系统中新增中间件,由中间件与数据库进行通信交互,客户端不再与数据库进行直接的通信交互,客户端不再考虑与数据库的连接实现方式,而只专注于业务应用的逻辑,以此提高数据库的运行效率。
71.可选地,所述中间件接收所述服务端发送的第二请求之前,所述方法包括:在所述服务端接收所述客户端发送的第一请求的情况下,所述服务端对所述第一请求进行解密,得到租户标识和操作指令;所述服务端根据所述租户标识和所述操作指令生成第二请求,并将所述第二请求发送至所述中间件。
72.本实施例中,客户端向服务端发送第一请求,其中,上述第一请求为加密请求,上述第一请求基于客户端对租户标识和操作指令加密生成。服务端在接收第一请求后,对第一请求进行解密,得到租户标识和操作指令。这里,客户端生成第一请求的具体方式,以及服务端解密第一请求的具体方式请参阅后续实施例。
73.一种可选的实施方式为,服务端将租户标识以注释的方式写入操作指令的头部,以此生成第二请求,并将第二请求发送至中间件。需要说明的是,在另一些实施方式中,服务端也可以通过其他方式生成包括租户标识和操作指令的第二请求。
74.本实施例中,客户端对租户标识和操作指令进行加密,服务端对第一请求进行解码,在数据处理过程中加入上述加解密步骤,提高数据处理过程中的数据安全性。
75.可选地,所述对所述第一请求进行解密之前,所述方法包括:在所述客户端与所述服务端建立通信连接的情况下,所述服务端向所述客户端发送公钥;所述客户端使用所述公钥对用户输入的操作指令和预设的租户标识进行加密,得到所述第一请求;所述对所述第一请求进行解密包括:所述服务端使用所述公钥对应的私钥对所述第一请求进行解密,得到所述租户标识和所述操作指令。
76.在客户端与服务端建立通信连接的情况下,服务端向客户端发送数字证书,数字证书中携带有公钥。其中,上述客户端与服务端建立通信连接可以理解为saas服务通过了客户端发送的开通请求,该客户端为saas服务支持的客户端。其中,服务端也可以通过其他方式向客户端发送公钥,在此不做具体限制。
77.其中,公钥是与私钥一起使用的密钥对的非秘密一半。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。公钥和私钥是通过一种算法得到
的一个密钥对,其中的一个向外界公开,称为公钥;另一个不向外界公开,称为私钥。
78.客户端在接收到用户输入的操作指令后,使用该公钥对操作指令进行加密,并基于加密后的操作指令和该客户端对应的租户标识得到第一请求。
79.一种可选的实施方式为,客户端在接收到用户输入的操作指令后,使用该公钥对操作指令和该客户端对应的租户标识加密,得到第一请求。
80.对于服务端而言,该服务端存储有该公钥对应的私钥,服务端在接收到第一请求后,使用该私钥对第一请求进行解密,得到租户标识和操作指令。
81.另一种可选的实施方式为,客户端在接收到用户输入的操作指令后,直接将该操作指令和该客户端对应的租户标识发送至服务端,并不对操作指令进行加密,上述实施方式也是本技术所支持的。
82.此外,本发明实施例还提出一种基于中间件的数据处理系统,请参阅图3,图3是本发明实施例提供的基于中间件的数据处理系统的结构示意图。如图3所示,基于中间件的数据处理系统200包括客户端210、服务端220、中间件230和数据库240,所述客户端210与所述服务端220之间通信连接,所述服务端220与所述中间件230之间通信连接,所述中间件230与所述数据库240之间通信连接.所述中间件230包括接收模块、验证模块、提取模块和发送模块;所述接收模块,用于接收所述服务端220发送的第二请求;所述验证模块,用于基于预设的租户列表对所述第二请求中的租户标识进行验证;所述提取模块,用于在验证成功,且预设的中间件连接池中存储有所述租户标识对应的连接信息的情况下,从所述连接池中提取所述租户标识对应的连接信息;所述发送模块,用于根据所述连接信息连接所述数据库,并将操作指令发送至所述数据库240,使得所述数据库240执行所述操作指令对应的操作。
83.可选地,所述中间件230包括租户列表,所述租户列表存储有所有已与所述服务端220建立通信连接的客户端210对应的租户标识;所述验证模块,具体用于在所述租户列表包括所述租户标识的情况下,确定所述第二请求验证成功;在所述租户列表不包括所述租户标识的情况下,确定所述第二请求验证失败。
84.可选地,所述中间件230还包括回收模块;所述回收模块,用于从所述中间件连接池中删除目标租户的连接信息,所述目标租户的活跃度低于预设阈值。
85.可选地,所述服务端220,用于在接收所述客户端210发送的第一请求的情况下,对所述第一请求进行解密,得到租户标识和操作指令;根据所述租户标识和所述操作指令生成第二请求,并将所述第二请求发送至所述中间件230。
86.可选地,所述服务端220,还用于在于所述客户端210建立通信连接的情况下,向所述客户端210发送公钥;所述客户端210,还用于使用所述公钥对用户输入的操作指令和预设的租户标识进行加密,得到所述第一请求;
所述服务端220,具体用于使用所述公钥对应的私钥对所述第一请求进行解密,得到所述租户标识和所述操作指令。
87.基于中间件的数据处理系统200能够实现本发明实施例中图2方法实施例的各个过程,提出了一种轻量级的多租户数据库中间件技术,能有效解决基于saas平台多租户独立数据库的开发难点,让业务应用不考虑底层数据库的连接实现方式,而只专注于业务应用的逻辑,业务应用将多租户数据库中间件作为一个数据库;本发明提出的多租户数据库中间件技术,在不修改数据操作指令的情况下,能准确识别租户标识,实现完全代理转发数据操作指令,支持mysql、oracle、postgresql等多种主流数据库的应用;本发明提出的多租户数据库中间件技术,能有效降低多租户独立数据库应用的复杂度,提升多租户独立数据库的运行效率。
88.此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述基于中间件的数据处理方法中的各个步骤,在此不作重复阐述。
89.本发明计算机可读存储介质的具体实施例与上述基于中间件的数据处理方法各实施例基本相同,在此不作赘述。
90.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
91.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
92.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光 盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
93.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1