一种软件即服务平台租户数据隔离与共享的方法及系统与流程

文档序号:14444824阅读:178来源:国知局
一种软件即服务平台租户数据隔离与共享的方法及系统与流程

本发明涉及互联网软件领域,尤其涉及一种软件即服务平台租户数据隔离与共享的方法及系统。



背景技术:

软件即服务。简称saas,它是一种通过internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。

当前众多saas软件即服务平台没有实现绝对的数据隔离,平台与租户所有信息存储在同一数据库中,并且所有租户的管理信息也是存储在同一数据库中,安全漏洞危险性很高,系统需要非常高的安全质量,任何一个漏洞都有可能导致所有租户信息的泄露,同时,庞大的租户群体和业务记录会导致数据库快速膨胀,影响数据处理的速度,加重服务器的负担。

公开号为cn103617161a的专利公开了一种针对saas模式的数据存储方法和装置。本发明实施方法包括:将实时产生的数据,以及指定的从当前时刻开始的一段时间内产生的数据存储在生产数据库中;将所述指定的从当前时刻开始的一段时间之前的数据,存储到历史数据库中。该发明将不同的数据分别存储在生产数据库和历史数据库中,减轻了系统实时负担,但不能区分不同租户的数据信息,所有租户的数据信息存储在一起容易导致信息泄露。



技术实现要素:

本发明要解决的技术问题目的在于提供一种软件即服务平台租户数据隔离与共享的方法及系统,用以解决当前saas平台数据信息存放在同一数据库安全系数较低、数据库庞大导致的操作性能低下和单一机器负载过大的问题。为了实现上述目的,本发明采用的技术方案为:

一种软件即服务平台租户数据隔离与共享的方法,包括步骤:

s1:获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的二级域名;

s2:接收租户发送的软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务;

s3:判断是否接收到获取预设服务软件的请求信号,若是,则获取所述租户的数据库信息以进行信息共享。

进一步的,所述步骤s1还包括步骤:

获取软件即服务平台的软件服务入口ip地址;

根据所述ip地址及所述租户注册信息生成对应的二级域名。

进一步的,还包括步骤:

接收预设公共数据信息;

将所述预设公共信息存储至预设公共数据库;

接收预设公共信息获取请求信号,将所述预设公共信息共享至对应租户。

进一步的,所述步骤s3还包括步骤:

设置预设服务软件及对应的中心服务器;

获取租户对应的域名信息,判断所述域名是否与预设域名匹配;

若是,则通过预设数据交互方式获取所述租户数据库信息,共享至所述中心服务器。

进一步的,还包括步骤:

设置预设的更新软件;

通过所述预设的更新软件对租户数据库及相应的服务软件数据进行更新。

一种软件即服务平台租户数据隔离与共享系统,包括:

数据隔离模块:用于获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的二级域名;

域名匹配模块:用于接收租户发送的软件服务请求信号,获取所述域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务;

数据共享模块:用于判断是否接收到获取预设软件的服务请求信号,若是,则获取所述租户的数据库信息以进行信息共享。

进一步的,所述数据隔离模块还包括:

ip地址获取单元:用于获取软件即服务平台的软件服务入口ip地址;

域名隔离单元:用于根据所述ip地址及所述租户注册信息生成对应的二级域名。

进一步的,还包括:

公共信息获取模块:用于接收预设公共数据信息;

公共信息存储模块:用于将所述预设公共信息存储至预设公共数据库;

公共信息共享模块:用于接收预设公共信息获取请求信号,将所述预设公共信息共享至对应租户。

进一步的,所述数据共享模块还包括:

服务软件设置单元:用于设置预设服务软件及对应的中心服务器;

判断匹配单元:用于获取租户对应的域名信息,判断所述域名是否与预设域名匹配;

数据共享单元:用于若是,则通过预设数据交互方式获取所述租户数据库信息,共享至所述中心服务器。

进一步的,还包括:

更新软件设置模块:用于设置预设的更新软件;

数据更新模块:用于通过所述预设的更新软件对租户数据库及相应的服务软件数据进行更新。

采用本发明,通过将租户数据进行隔离,租户只能访问个人数据库信息,从而防止了由于安全漏洞导致所有租户信息泄露的问题,提高了数据的安全性,同时也可以为不同租户提供个性化的软件服务。

附图说明

图1是本发明提供的一种软件即服务平台租户数据隔离与共享的方法流程图;

图2是本发明提供的一种软件即服务平台租户数据隔离与共享的系统结构图;

图3是本发明提供的另一种软件即服务平台租户数据隔离与共享的方法流程图;

图4是本发明提供的另一种软件即服务平台租户数据隔离与共享的系统结构图。

具体实施方式

以下是本发明的具体实施例并结合附图,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。

实施例一

本实施例提供了一种软件即服务平台租户数据隔离与共享的方法,如图1所示,包括步骤:

s11:获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的二级域名;

s12:接收租户发送的软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务;

s13:判断是否接收到获取预设软件的服务请求信号,若是,则获取所述租户的数据库信息以进行信息共享。

本实施例中,采用数据库schema层级隔离,不同的租户数据信息,使用独立的schema进行保存,具备更高的安全性同时也就降低了服务器性能的消耗。

本实施例中,租户的数据信息包括租户的注册信息以及租户运营服务软件的管理信息等。

本实施例中,步骤s11为获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的域名。

具体地,

租户创建运营管理平台后,saas服务运营平台会根据租户注册名称在指定数据库下创建一个schema,例如租户名称是lcola,则平台会协助生成lcolaschema。lcola租户的信息都保存在自己的数据库schema下,租户的数据按schema隔离后,不同租户之间只能访问个人的数据信息。

lcola租户创建后,软件即服务平台会根据注册名称分配一个二级域名例如lcola.tenant.com,该域名指向软件服务入口的ip地址。

本实施例中,步骤s12为接收租户发送的软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务。

具体地,

当发送软件服务请求至软件即服务平台时,平台会拦截该请求,通过获取服务请求内容中的域名信息,为对应租户的数据库提供软件服务。

本实施例中,步骤s13为判断是否接收到获取预设软件的服务请求信号,若是,则获取所述租户的数据库信息以进行信息共享。

saas服务运营平台会提供一些公共的软件服务,例如,它会提供一个中心的app充电服务和客服服务软件,租户想要享受该软件服务时,需要发送请求信号,将租户个人信息共享到app充电服务软件和客服服务软件中,在这个大量数据的实时交互的工程中,可以通过messagequeue来进行服务间的数据通讯交互,以达到较高的数据通讯性能。

本实施例还提供了一种软件即服务平台租户数据隔离与共享的系统,如图2所示,包括:

数据隔离模块21:用于获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的域名;

域名匹配模块22:用于接收租户发送的软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务;

数据共享模块23:用于判断是否接收到获取预设软件的服务请求信号,若是,则获取所述租户的数据库信息以进行信息共享。

本实施例中,多租户saas系统有saas服务运营平台与租户运营管理平台构成,saas服务运营平台提供一些租户运营平台的构建、基础信息的维护以及中心服务,租户运营管理平台则负责发布相关数据信息,如电站租户运营平台负责发布站桩信息。

本实施例中,随着平台系统的不断迭代升级,其中也包含了软件升级和数据库结构升级,在升级隔离式数据库schema时,需要对所有租户的数据库schema进行修改更新,需要使用flywaydb、rakemigration等方案进行升级更新。

本实施例中,数据隔离模块21用于获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的域名。

具体地,

租户在saas服务运营平台进行注册时,saas服务运营平台会根据租户的注册名称在指定数据库下创建一个schema,例如,租户的名称是lcola,则平台会协助生成lcolaschema。lcola租户的信息都保存在自己数据库schema下,同时还会分配租户一个二级域名,该域名指向软件服务入口ip地址,通过访问域名获取saas服务运营平台的软件服务。

本实施例中,域名匹配模块22:用于接收租户发送的软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务。

具体地,

saas服务运营平台根据租户提供的域名信息,直接将软件服务提供给租户对应的数据库中,租户也可以在个人数据库中查询和存储数据信息,不同的租户通过不同的域名信息,匹配对应的个人数据库,从而将各个租户的数据信息隔离。

本实施例中,数据共享模块23:用于判断是否接收到获取预设软件的服务请求信号,若是,则获取所述租户的数据库信息以进行信息共享。

具体地,

在将租户数据进行隔离时,saas服务运营平台还提供一些公共的软件服务,例如app充电服务和客服服务等,租户需要享受这个公共服务时,需要将租户的个人信息共享到app充电服务和客户服务中。

通过将租户的数据采用独立的schema进行保存,提高了数据的安全性,防止安全漏洞导致所有租户的数据信息泄露。

实施例二

本实施例提供了另一种软件即服务平台租户数据共享与隔离的方法,如图3所示,包括步骤:

s31:获取软件即服务平台的软件服务入口ip地址;

s32:根据所述ip地址及所述租户注册信息生成对应的二级域名;

s33:获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的二级域名;

s34:接收软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务;

s35:设置预设服务软件及对应的中心服务器;

s36:获取租户对应的域名信息,判断所述域名是否与预设域名匹配;

s37:若是,则通过预设数据交互方式获取所述租户数据库信息,共享至所述中心服务器;

s38:通过所述预设的更新软件对租户数据库及相应的服务软件数据进行更新。

本实施例与实施例一不同之处在于,还包括步骤s31、步骤s32、步骤s35、步骤s36、步骤s37、步骤s38。

本实施例中,步骤s32中saas平台会根据租户的注册名称分配一个二级域名,通过该域名指向软件即服务平台的入口ip地址,软件即服务平台将通过域名直接为对应的租户数据库提供软件服务。

本实施例中,步骤s35为设置预设服务软件及对应的中心服务器。

具体地,

对于租户之间需要进行共享信息的,需要构建中心服务器,构建租户集合。

本实施例中,步骤s36为获取租户对应的域名信息,判断所述域名是否与预设域名匹配。

具体地,

对于租户之间想要公用一个软件服务时,通过建立中心服务器来共享多租户之间的数据信息,此时,需要对租户的域名进行识别判断,防止其他租户通过共用同一服务软件获取租户的数据信息。

本实施例中,步骤s37为若是,则通过预设数据交互方式获取所述租户数据库信息,共享至所述中心服务器。

具体地,

预设数据交互方式包括通过mq/openhttpapi获取和存储需要共享的信息。

本实施例中,步骤s38中,随着saas平台系统的迭代升级,其中包括软件升级和数据库结构升级,对于数据库schema隔离式的升级,由于升级时需要对所有运营商数据schema进行修改,工程量庞大,可以使用flywaydb、rakemigration等方案进行升级。

本实施例还提供了另一种软件即服务平台租户数据隔离与共享的系统,如图4所示,包括:

数据隔离模块41:用于获取租户注册信息,根据所述租户注册信息建立对应的租户数据库并分配对应的二级域名;

域名匹配模块42:用于接收软件服务请求信号,获取域名信息,通过所述域名信息匹配对应的租户数据库以提供软件服务;

公共信息获取模块43:用于接收预设公共数据信息;

公共信息存储模块44:用于将所述预设公共信息存储至预设公共数据库;

公共信息共享模块45:用于接收预设公共信息获取请求信号,将所述预设公共信息共享至对应租户

数据共享模块46:用于判断是否接收到获取预设软件的服务请求信号,若是,则获取所述租户的数据库信息以进行信息共享;

更新软件设置模块47:用于设置预设的更新软件;

数据更新模块48:用于通过所述预设的更新软件对租户数据库及相应的服务软件数据进行更新。

本实施例中,数据隔离模块41还包括ip地址获取单元411,用于获取软件即服务平台的软件服务入口ip地址;

域名隔离单元412,用于获取软件服务平台的入口ip地址,通过所述域名标记所述软件服务平台的入口。

本实施例中,数据共享模块46还包括

服务软件设置单元461,用于设置预设服务软件及对应的中心服务器;

判断匹配单元462,用于获取租户对应的域名信息,判断所述域名是否与预设域名匹配;

数据共享单元463,用于若是,则通过预设数据交互方式获取所述租户数据库信息,共享至所述中心服务器。

通过增加公共软件服务,租户在获取公共软件服务时,需要提供个人数据信息进行共享,从而达到了租户主动的实现数据共享的目的,同时通过数据库schema层级隔离,也保证了租户个人数据的隔离,实现共享的同时也提高了安全性。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1