一种数据私有的SaaS系统及其工作方法与流程

文档序号:22621701发布日期:2020-10-23 19:27阅读:174来源:国知局
一种数据私有的SaaS系统及其工作方法与流程

本发明属于软件服务系统技术领域,具体涉及一种数据私有的saas系统及其工作方法。



背景技术:

saas,是software-as-a-service的缩写名称,意思为软件即服务,即通过网络来提供软件服务。传统上,saas厂商将软件部署在厂商自己的服务器上,用户向厂商定购后,通过网络来使用saas厂商提供的软件服务。软件部署在厂商的服务器上,绝大多数情况下,数据也是存储于saas厂商处。

在软件和数据都在saas厂商的场景下,存在着用户数据被saas厂商读取、泄露甚至篡改的数据安全风险。虽然有相关法律法规来约束saas厂商,但这种数据安全风险仍然是用户不敢在核心业务和数据上使用saas的首要原因。

为了让用户放心数据隐私,有些saas软件提供了私有化部署的方案,但这种方式存在着不便:saas软件私有化部署后升级和维护不太方便;用户无法防止saas软件服务端回传数据给厂商。



技术实现要素:

本发明旨在于至少在一定程度上解决上述技术问题之一。

为此,本发明目的在于提供一种数据私有的saas系统及其工作方法,解决了现有技术存在的saas软件私有化部署后升级和维护不太方便,用户无法防止saas软件服务端回传数据给厂商的问题。

本发明所采用的技术方案为:

一种数据私有的saas系统,包括saas容器平台和用户私有单元,saas容器平台包括saas容器平台控制模块、saas容器平台接入模块、saas容器平台对外服务模块以及容器池,用户私有单元包括文件模块、数据库以及消息队列模块;

容器池分别与saas容器平台控制模块、saas容器平台接入模块、saas容器平台对外服务模块、文件模块、数据库以及消息队列模块通信连接,外部的客户端与saas容器平台接入模块通信连接,saas容器平台对外服务模块与外部的外网服务器通信连接。

进一步地,容器池包括若干saas软件容器,若干saas软件容器均分别与文件模块、数据库以及消息队列模块通信连接。

进一步地,外部的客户端通过api接口与saas容器平台接入模块通信连接,saas容器平台对外服务模块通过api接口与外部的外网服务器通信连接。

进一步地,api接口为内部api接口,且其位于saas容器平台内部。

进一步地,saas容器平台是独立搭建的平台,其中的容器池用于保存来自saas软件厂商的saas软件,用户私有单元由用户提供,saas软件厂商无法访问。

一种数据私有的saas系统工作方法,包括以下步骤:

s1:使用saas容器平台接入模块接收客户端发送的用户请求;

s2:使用saas容器平台对用户请求进行用户认证,用户认证通过后将用户请求输入容器池,并将用户请求输入至对应的saas软件容器;

s3:根据用户请求使用对应的saas软件容器中的saas软件对用户私有单元进行读写操作;

s4:判断saas软件是否发送外部服务请求,若是则使用saas容器平台对外服务模块将外部服务请求发送至外网服务器,并结束当前任务,否则直接结束当前任务。

进一步地,步骤s4中,使用saas容器平台对外服务模块通过预设的内部api接口将外部服务请求发送至外网服务器。

进一步地,内部api接口通过saas容器平台的用户认证。

进一步地,步骤s2中,将受信任的saas软件的用户请求直接输入容器池对应的saas软件容器。

进一步地,步骤s4中,受信任的saas软件直接访问预设的外部api接口将外部服务请求发送至外网服务器,外部api接口位于saas容器平台的外部,且接口信息在saas容器平台的预设的白名单上。

本发明的有益效果为:

本发明提出一种数据私有的saas系统及其工作方法,能够让用户享受免部署免维护的便利性同时,还能够私有化的拥有自己的数据,不用担心saas厂商读取、泄露甚至篡改数据的安全风险,其具体为:

1)数据属于用户私有:存储系统是用户购买的,自然属于用户私有,saas软件能读写但saas软件厂商没法直接访问;

2)数据不会被saas软件厂商获取:通过saas容器平台的网络限制和对外服务,让saas软件能受控的运行,无法回传数据给saas软件厂商,也禁止了saas软件厂商绕开用户认证调用api来获取数据的途径;

3)相对私有化部署更便利:用户在saas容器平台上选购saas软件,平台会自动部署,在用户选择升级时,saas容器平台会执行数据备份、数据升级、saas软件容器升级等过程,用户和saas软件厂商无需过多干预,更加便利。

本发明的其他有益效果将在具体实施方式中进行详细说明。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例的系统结构框图;

图2是本发明的工作方法流程图。

具体实施方式

下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本发明公开的功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本发明阐述的实施例中。

应当理解,本发明使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若术语“包括”、“包括了”、“包含”和/或“包含了”在本发明中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。

应当理解,还应当注意到在一些备选实施例中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。

应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以不必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。

实施例1

如图1所示,本实施例提供一种数据私有的saas系统,包括saas容器平台和用户私有单元,saas容器平台包括saas容器平台控制模块、saas容器平台接入模块、saas容器平台对外服务模块以及容器池,用户私有单元包括文件模块、数据库以及消息队列模块;

容器池分别与saas容器平台控制模块、saas容器平台接入模块、saas容器平台对外服务模块、文件模块、数据库以及消息队列模块通信连接,外部的客户端与saas容器平台接入模块通信连接,saas容器平台对外服务模块与外部的外网服务器通信连接;saas容器平台是独立搭建的平台,其中的容器池用于保存来自saas软件厂商的saas软件,用户私有单元由用户提供,saas软件厂商无法访问。

在saas厂商之外搭建了一个saas容器平台,用户在这个saas容器平台上选购saas软件后,saas容器平台会自动使用容器技术来部署和配置saas软件,至于saas软件存放或缓存数据所用的数据库、缓存、文件系统等存储系统,用户可以直接在saas容器平台选购,也可以自己在云厂商选购,还可以自己私有部署,在saas容器平台上配置好这些存储系统,saas软件就能正常运行了,本发明的数据私有方案为:

1)用户的存储系统是用户自己选购或搭建的,saas厂商无法直接登录访问用户的存储系统,本发明使用用户私有单元实现了文件、数据库以及消息队列等数据的私有化;

saas软件厂商只能上传saas软件的容器镜像,容器部署在何处是由saas容器平台来控制的,saas软件厂商无法登录到saas容器平台的云服务器,自然也不能像容器那样访问数据库,数据库是用户私有的,用户只需给saas容器平台开通权限,让saas软件容器能访问就能满足需求,不需要给saas软件厂商开通数据库权限,能尽最大可能保护自己的数据隐私,避免saas软件厂商登录数据库;

2)saas软件能读写存储系统,但saas软件无法主动访问外部,也就无法主动泄露数据,本发明使用saas容器平台对外服务模块控制对外请求;

saas软件由saas容器平台来容器化部署,所以能控制这些容器只能访问指定的地址,例如指定的数据库、文件系统,所以saas软件无法把数据回传给厂商;

3)saas软件对外的api除了saas软件自身要做认证外,saas容器平台还也会做一次使用者的身份认证,这样saas厂商就无法通过直接访问saas软件api的方式来窃取用户数据了;本发明对输入的用户请求以及api接口进行用户认证;

用户使用saas软件时,软件的web端/客户端/app端一般都是通过api与saas软件服务端进行交互,可能存在一种漏洞是,saas软件厂商通过saas软件服务端的api来获取数据,为了解决这种问题,saas容器平台规定saas软件服务端的api需要额外由saas容器平台来做用户认证。

作为优选,容器池包括若干saas软件容器,若干saas软件容器均分别与文件模块、数据库以及消息队列模块通信连接。

作为优选,外部的客户端通过api接口与saas容器平台接入模块通信连接,saas容器平台对外服务模块通过api接口与外部的外网服务器通信连接。

作为优选,api接口为内部api接口,且其位于saas容器平台内部。

一种数据私有的saas系统工作方法,如图2所示,包括以下步骤:

s1:使用saas容器平台接入模块接收客户端发送的用户请求;

s2:使用saas容器平台对用户请求进行用户认证,用户认证通过后将用户请求输入容器池,并将用户请求输入至对应的saas软件容器;

s3:根据用户请求使用对应的saas软件容器中的saas软件对用户私有单元进行读写操作;

s4:判断saas软件是否发送外部服务请求,若是则使用saas容器平台对外服务模块将外部服务请求发送至外网服务器,并结束当前任务,否则直接结束当前任务;

使用saas容器平台对外服务模块通过预设的内部api接口将外部服务请求发送至外网服务器,内部api接口通过saas容器平台的用户认证。

作为优选,步骤s2中,将受信任的saas软件的用户请求直接输入容器池对应的saas软件容器,而不必经过saas容器平台对用户请求进行用户认证。

作为优选,步骤s3中,用户私有单元除了文件模块、数据库以及消息队列模块外,还包括缓存类型的数据存储模块。

作为优选,步骤s4中,受信任的saas软件直接访问预设的外部api接口将外部服务请求发送至外网服务器,而不必通过saas容器平台对外服务模块,外部api接口位于saas容器平台的外部,且其ip或域名在saas容器平台的预设的白名单上。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所描述的实施例仅仅是示意性的,若涉及到作为分离部件说明的单元,其可以是或者也可以不是物理上分开的;若涉及到作为单元显示的部件,其可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

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