一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据分享系统以及数据分享方法与流程

2022-06-18 01:59:04 来源:中国专利 TAG:


1.本发明涉及一种数据交换技术,尤其是一种数据分享系统以及数据分享方法。


背景技术:

2.在软件即服务(software as a service,saas)的软件架构下,一般用户(或租户)无需自行购入软件,并且取而代之的是依需求租用网络(web)软件功能,以进行企业运营与管理。在此模式下,企业用户无需自行建置与管理软件与其运行环境,去除了购买并维护软件与其必要运行设备的需要,因此企业可更弹性的使用所需的软件功能。然而,在大多数saas环境下,同样的服务会有来自多个租户的操作,并且不同租户之间需进行数据隔离,以避免重要数据外泄。但是在部份场景下,租户间可能存在共享特定数据的需求。
3.然而,为了满足这样的需求,在多租户saas架构下需设计对应的跨租户数据分享方法。现行跨租户数据存取方案皆基于关联式数据库设计,并以数据结构及数据间的依赖关系为基础进行规划,以使经由租户数据隔离下的各种例外情况来达到跨租户数据存取效果。换言之,例如用户在获取数据时需进行额外的关联查询,可能会破坏了原本确保数据安全的多租户数据隔离机制,并且效能也较为不稳定。并且,在现今saas环境常用的分布式微服务架构下,这些设计也使得服务的权限管理更加困难,且提高人为设定上的复杂度,进而增加整体系统发生漏洞的可能性。


技术实现要素:

4.本发明是针对一种数据分享系统以及数据分享方法,可安全且快速地分享分属于不同租户之间的数据。
5.根据本发明的实施例,本发明的数据分享系统包括存储装置以及处理器。存储装置存储多个模块。处理器耦接第一软件即服务应用程序、第二软件即服务应用程序以及存储装置,并且执行多个模块。多个模块包括互信关系服务模块以及租户管理服务模块。当第一软件即服务应用程序基于第一租户识别数据发送数据分享请求至第二软件即服务应用程序时,互信关系服务模块接收由第二软件即服务应用程序传送的确认互信关系要求,以根据互信关系数据进行互信关系确认。当互信关系确认通过时,互信关系服务模块从租户管理服务模块取得虚拟用户识别数据,并且提供虚拟用户身分数据至第二软件即服务应用程序,以使第二软件即服务应用程序基于第二租户识别数据以及虚拟用户识别数据取得数据权限,并且根据数据权限分享特定数据至第一软件即服务应用程序。
6.根据本发明的实施例,本发明的数据分享方法包括以下步骤:当第一软件即服务应用程序基于第一租户识别数据发送数据分享请求至第二软件即服务应用程序时,通过互信关系服务模块接收由第二软件即服务应用程序传送的确认互信关系要求,以根据互信关系数据进行互信关系确认;以及当互信关系确认通过时,通过互信关系服务模块从租户管理服务模块取得虚拟用户识别数据,并且提供虚拟用户身分数据至第二软件即服务应用程序,以使第二软件即服务应用程序基于第二租户识别数据以及虚拟用户识别数据取得数据
权限,并且根据数据权限分享特定数据至第一软件即服务应用程序。
7.基于上述,本发明的数据分享系统以及数据分享方法,可透过建立虚拟用户身分的方式使得租户可安全且快速地取得属于另一租户的特定数据。
8.为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
9.图1是本发明的一实施例的数据分享系统的方块图;
10.图2是本发明的一实施例的数据分享方法的流程图;
11.图3是本发明的一实施例的互信关系申请的流程图;
12.图4是本发明的一实施例的建立授权数据的流程图;
13.图5是本发明的一实施例的取得分享数据的流程图。
14.附图标记说明
15.100:数据分享系统;
16.110:处理器;
17.120:存储模块;
18.121:互信关系服务模块;
19.122:租户管理模块;
20.123:数据分享服务模块;
21.124:数据权限模务模块;
22.210:第一软件即服务应用程序;
23.220:第二软件即服务应用程序;
24.301:第一租户;
25.302:第二租户;
26.s210~s240、s301~s308、s401~s412、s501、s512:步骤。
具体实施方式
27.现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同元件符号在图式和描述中用来表示相同或相似部分。
28.图1是本发明的一实施例的数据分享系统的方块图。参考图1,数据分享系统100包括处理器110以及存储模块120。处理器110耦接存储模块120。存储模块120存储互信关系服务模块121、租户管理模块122、数据分享服务模块123以及数据权限模务模块124。处理器110还耦接第一软件即服务(software as a service,saas)应用程序(application program)210以及第二软件即服务应用程序220。在本实施例中,数据分享系统100可例如是实现在软件即服务服务器(server)中,并且所述软件即服务服务器还包括第一软件即服务应用程序210以及第二软件即服务应用程序220。在一实施例中,第一软件即服务应用程序210以及第二软件即服务应用程序220也可存储在存储模块120中。在另一实施例中,互信关系服务模块121、租户管理模块122、数据分享服务模块123以及数据权限模务模块124也分别设置在多个不同服务器中,而不限于图1所示的架构。
29.值得注意的是,在本实施例中,租户(例如企业)或用户(例如企业员工)可操作第一软件即服务应用程序210以及第二软件即服务应用程序220以实现相关企业业务管理功能,并可交换或分享业务数据,但本发明并不加以限制。在本发明的一些实施例中,以下所说明的第一软件即服务应用程序210以及第二软件即服务应用程序220可属于同一个或不同个的应用程序,其可视实际应用场景而定。在本实施例中,互信关系服务模块121、租户管理模块122、数据分享服务模块123以及数据权限模务模块124可例如是以json(javascript object notation)、可延伸标记式语言(extensible markup language,xml)或yaml等诸如此类的程序语言来实现的,但本发明也不限于此。
30.在本实施例中,处理器110可例如包括中央处理单元(central processing unit,cpu),或是其他可编程之一般用途或特殊用途的微处理器(microprocessor)、数字信号处理器(digital signal processor,dsp)、特殊应用集成电路(application specific integrated circuits,asic)、可编程逻辑器件(programmable logic device,pld)、其他类似处理电路或这些装置的组合。存储模块120可包括存储器(memory)及/或数据库(database),其中存储器可例如非易失性存储器(non-volatile memory,nvm)。存储模块120可存储有用于实现本发明各实施例的相关程序、模块、系统或算法,以供处理器110存取并执行而实现本发明各实施例所描述的相关功能及操作。
31.在本实施例中,当租户(tenant)操作第一软件即服务应用程序210,而欲取得在第二软件即服务应用程序220中的另一租户的特定数据时,第一软件即服务应用程序210可通过互信关系服务模块121、租户管理模块122、数据分享服务模块123以及数据权限模务模块124来安全且快速地取得在第二软件即服务应用程序220中的属于另一租户的特定数据,而不会破坏原始的不同租户之间的数据隔离度。
32.图2是本发明的一实施例的数据分享方法的流程图。参考图1以及图2,数据分享系统100可执行以下步骤s210~步骤s240。在本实施例中,租户可操作第一软件即服务应用程序210,并且输入第一租户识别数据,其中所述第一租户识别数据可例如包括租户身分信息。在步骤s210,当第一软件即服务应用程序210基于第一租户识别数据发送数据分享请求至第二软件即服务应用程序220时,互信关系服务模块121可接收由第二软件即服务应用程序220传送的确认互信关系要求,以根据互信关系数据进行互信关系确认。在步骤s220,当互信关系确认通过时,互信关系服务模块121可从租户管理服务模块122取得虚拟用户识别数据,并且提供虚拟用户识别数据至第二软件即服务应用程序220。所述虚拟用户识别数据为租户与另一租户相互核准而预先建立的。
33.在步骤s230,数据分享服务模块123可取得由第二软件即服务应用程序220传送的分享数据确认请求,并且回传确认信息至第二软件即服务应用程序220。在步骤s240,数据权限服务模块124可取得由第二软件即服务应用程序220传送的取得数据权限请求,并且回传授权数据至第二软件即服务应用程序220。如此一来,第二软件即服务应用程序220可根据授权数据取得数据权限,并且可基于数据权限将例如属于另一租户的特定数据提供给第一软件即服务应用程序210。本实施例的数据分享系统以及数据分享方法可使第一软件即服务应用程序210以及第二软件即服务应用程序220之间可安全且快速地交换不同租户之间的数据。
34.图3是本发明的一实施例的互信关系申请的流程图。参考图1以及图3,本实例详细
说明互信关系申请的操作流程。在步骤s301,第一租户301可输入第一租户识别数据至第一软件即服务应用程序210,并且操作第一软件即服务应用程序210发出互信关系申请。在步骤s302,第一软件即服务应用程序210发出互信关系申请请求至第二软件即服务应用程序220。在步骤s303,第二软件即服务应用程序220可通知第二租户302。在步骤s304,第二租户302可输入第二租户识别数据至第二软件即服务应用程序220,并且同意互信关系申请。在步骤s305,第二软件即服务应用程序220可将第一租户识别数据以及第二租户识别数据提供至互信关系服务模块121,以使互信关系服务模块121可根据第一租户识别数据以及第二租户识别数据建立互信关系数据。
35.在本实施例中,互信关系数据可例如包括互信关系识别数据(trustid)、第一租户识别数据(tanentid1)、第二租户识别数据(tanentid2)以及互信关系状态信息(turststatus)。互信关系状态信息例如用于表示申请中、有效、拒绝及/或失效等信息。在一实施例中,互信关系数据还可例如包括归属于第一租户301的第一方用户识别数据(userid1)、归属于第二租户302的第二方用户识别数据(userid2)以及额外描述信息(desc)。
36.在步骤s306,当互信关系服务模块121建立互信关系数据时,互信关系服务模块121传送建立虚拟用户请求至租户管理服务模块122,以使租户管理服务模块122建立虚拟用户识别数据。在步骤s307,第二软件即服务应用程序220可将互信关系建立成功信息提供至第一软件即服务应用程序210。在步骤s308,第一软件即服务应用程序210可例如透过对应的操作界面或用户界面显示互信关系建立成功信息给第一租户301。
37.如此一来,数据分享系统100可建立用于第一租户301以及第二租户302之间的互信关系数据,以及虚拟用户识别数据,以供后续建立授权数据以及取得分享数据的操作使用。
38.图4是本发明的一实施例的建立授权数据的流程图。参考图1以及图4,本实例详细说明授权数据的建立流程。在步骤s401,第一租户301可输入第一租户识别数据至第一软件即服务应用程序210,并且操作第一软件即服务应用程序210发出请求建立授权数据。在步骤s402,第一软件即服务应用程序210基于第一租户识别数据发送授权数据建立请求至第二软件即服务应用程序220。在步骤s403,第二软件即服务应用程序220可通知第二租户302。在步骤s404,第二租户302可输入第二租户识别数据至第二软件即服务应用程序220,并且同意建立授权数据。在步骤s405,数据分享服务模块123接收由第二软件即服务应用程序220传送的确认互信关系要求并进行互信关系确认。数据分享服务模块123可通过互信关系服务模块121先前建立的互信关系数据来比对第一租户识别数据以及第二租户识别数据,以判断第一租户301以及第二租户302之间是否具有互信关系。当互信关系确认通过时,在步骤s406,数据分享服务模块123要求租户管理服务模块122提供先前产生的虚拟用户识别数据。租户管理服务模块122可根据第二租户识别数据以及互信关系数据取得先前建立的虚拟用户识别数据。在步骤s407,租户管理服务模块122从数据分享服务模块123取得虚拟用户识别数据。在步骤s408,数据分享服务模块123要求数据权限服务模块124建立权限。数据权限服务模块124根据第二租户识别数据以及虚拟用户识别数据产生授权数据。授权数据用于虚拟用户使用。
39.在本实施例中,授权数据可例如包括虚拟用户识别数据(shareid)、互信关系识别
数据(trustid)、第一租户识别数据(数据分享接收方(receivertanentid))、第二租户识别数据(数据分享提供方(providertanentid))以及分享数据信息(resource)。分享数据信息可如是指欲分享的资源及/或服务等信息。在一实施例中,授权数据还可例如包括数据分享起始时间(startdate)、数据分享结束时间(enddate)以及数据分享状态(authstatus)。数据分享状态例如用于表示申请中、有效、拒绝及/或失效等信息。在另一实施例中,授权数据还可例如包括归属于第一租户301的第一方用户识别数据(数据被分享接受方用户(receiveruserid))、归属于第二租户302的第二方用户识别数据(数据分享方提供用户(provideruserid))、额外数据权限定义(datarange)以及额外描述资讯(desc)。
40.在步骤s409,数据权限服务模块124可通知数据分享服务模块123授权数据建立成功。在步骤s410,数据分享服务模块123可通知第二软件即服务应用程序220授权数据建立成功。在步骤s411,第二软件即服务应用程序220可通知第一软件即服务应用程序210授权数据建立成功。在步骤s412,第一软件即服务应用程序210可例如透过对应的操作界面或用户界面显示授权数据建立成功信息给第一租户301。
41.如此一来,数据分享系统100可建立用于第一租户301以及第二租户302之间的数据分享的授权数据,以供后续取得分享数据的操作使用。
42.图5是本发明的一实施例的取得分享数据的流程图。参考图1以及图5,本实例详细说明分享数据的取得流程。在步骤s501,第一租户301可输入第一租户识别数据至第一软件即服务应用程序210,并且操作第一软件即服务应用程序210发出请求数据分享。在步骤s502,第一软件即服务应用程序210基于第一租户识别数据发送数据分享请求至第二软件即服务应用程序220。在步骤s503,互信关系服务模块121接收由第二软件即服务应用程序220传送的确认互信关系要求,以根据互信关系数据进行互信关系确认。互信关系服务模块121可根据先前建立的互信关系数据来比对第一租户识别数据以及第二租户识别数据,以判断第一租户301以及第二租户302之间是否具有互信关系。当互信关系确认通过时,在步骤s504,互信关系服务模块121要求租户管理服务模块122提供虚拟用户识别数据。在步骤s505,互信关系服务模块121可从租户管理服务模块122取得虚拟用户识别数据。在步骤s506,互信关系服务模块121将虚拟用户识别数据提供至第二软件即服务应用程序220。
43.当第二软件即服务应用程序220取得虚拟用户识别数据时,在步骤s507,数据分享服务模块123可取得由第二软件即服务应用程序220传送的分享数据确认请求,以根据第一租户识别数据以及第二租户识别数据来确认欲分享的数据或资源存在。在步骤s508,数据分享服务模块123可回传确认信息至第二软件即服务应用程序220。
44.当第二软件即服务应用程序220取得虚拟用户识别数据以及确认信息时,在步骤s509,数据权限服务模块124可取得由第二软件即服务应用程序220传送的取得数据权限请求。在步骤s510,数据权限服务模块124可根据虚拟用户识别数据以及第二租户识别数据来取得虚拟用户的授权数据,并且回传授权数据至第二软件即服务应用程序220。在步骤s511,第二软件即服务应用程序220可根据授权数据取得对应的数据权限,并且可基于数据权限分享特定数据至第一软件即服务应用程序210。在步骤s512,第一软件即服务应用程序210可例如透过对应的操作界面或用户界面显示特定数据的相关应用信息给第一租户301。
45.如此一来,数据分享系统100可让第一租户301以及第二租户302之间安全且快速地分享分属各自的数据,而可实现便捷的数据交换功能并且可维持安全的数据隔离效果。
数据分享系统100可跨租户数据分享功能。
46.综上所述,本发明的数据分享系统以及数据分享方法,可让不同租户预先建立互信关系数据以及建立授权数据,以实现两道确认机制,并且可维持不同租户之间具有良好数据隔离性。当租户欲通过软件即服务应用程序取得另一租户及/或另一软件即服务应用程序的数据时,本发明的数据分享系统以及数据分享方法可通过互信关系确认操作以及分享数据授权操作来安全且快速地取得另一租户及/或另一软件即服务应用程序的特定数据。
47.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献