数据共享控制方法和系统与流程

文档序号:28665958发布日期:2022-01-26 21:12阅读:70来源:国知局
数据共享控制方法和系统与流程
数据共享控制方法和系统
1.相关申请
2.本技术要求于2019年6月7日提交的标题为“project galileo-spark”并指定mark bailey、phillip barrett、joshua beard、jamila harbin、jeremy leshko和jared phillips为发明人[代理人案卷号no.37402-18501]的美国临时申请no.62/858,447的优先权,前述公开通过引用整体并入本文。
技术领域
[0003]
本发明总体上涉及实体之间的数据共享,更具体地,本发明涉及实体之间的实时数据共享。


背景技术:

[0004]
已知组织与其它方共享由该组织生成或保持的数据。例如,城市的警察局和同一城市的消防部门可能期望分别与城市的管理者共享关于那些方正在进行的响应的信息。提供或准许对其信息的访问的各个组织可以被描述成“贡献者”,并且接收信息或对这种信息进行访问的各个方可以被描述成“消费者”。
[0005]
然而,各个贡献者组织可能期望在不允许各个其它方(例如,各个消费者和/或各个其它贡献者)无限地、不受约束地访问所有贡献者组织的信息的情况下提供其信息。换句话说,贡献者组织需要控制(i)它将与其它方共享什么数据,以及(ii)它将与谁共享数据。此外,该控制需要实时对到来数据进行操作。


技术实现要素:

[0006]
根据第一例示性实施方式,计算机实现的系统(其可以被称为“连接器系统(connector system)”)被配置成与消费者租户(tenant)的集合中的每一者可控地共享由贡献者租户的集合中的每一者提供的数据。在各种实施方式中,该系统可以是基于云的,和/或数据共享可以是实时数据共享。
[0007]
该连接器系统包括多个业务能力模块。各个业务能力模块具有相关联的主题以及用于仅存储具有该主题的数据集的对应存储器。
[0008]
该连接器系统还包括具有数据存储部的核心服务模块,以接收并存储由贡献者提供的共享规则。这种共享规则指定能够如何与消费者的集合中的各个消费者共享由该贡献者提供的各个数据集。
[0009]
该连接器系统还包括能力服务模块。能力服务模块被配置成(i)从消费者(请求租户)接收对从系统向请求租户提供所请求的数据集的请求;(ii)从核心服务模块请求并接收数据访问信息,该数据访问信息基于由所请求的数据集的贡献者提供的共享规则来定义能够如何与请求租户共享所请求的数据集;(iii)依据数据访问信息来产生受约束的响应数据;并且(iv)向请求租户提供受约束的响应数据。
[0010]
在一些实施方式中,所述连接器系统还包括:网关门户,所述网关门户被配置成与
所述能力服务模块进行数据通信,以从多个贡献者接收多个数据集,各个数据集具有对应的主题;以及用户接口,所述用户接口与所述核心服务模块进行数据通信,以从所述多个贡献者中的各个贡献者的对应操作者接收并向所述核心服务模块提供:(a)要由该贡献者贡献的一个或更多个数据集的指定;和(b)单独地对应于各个数据集的共享规则的定义。在一些实施方式中,所述用户接口还与所述能力服务模块进行数据通信,以从请求租户接收来自请求租户的从所述系统向所述请求租户提供所请求的数据集的请求,并向所述能力服务模块提供来自请求租户的从所述系统向所述请求租户提供所请求的数据集的请求。
[0011]
在一些实施方式中,由贡献者提供的指定能够如何与其它租户共享由该贡献者提供的各个数据集的共享规则包括限制哪些其它租户可以查看该数据集的规则;并且所述能力服务模块被配置成拒绝来自请求租户的对所请求的数据集的请求,该请求租户未被对应的共享规则授权查看所请求的数据集。
[0012]
在一些实施方式中,由贡献者提供的指定能够如何与其它租户共享各个数据集的共享规则包括将所述受约束的响应数据限制为经编辑的数据集的规则;并且所述能力服务模块被配置成产生所述经编辑的数据集作为所述受约束的响应数据。
[0013]
另一实施方式包括一种用于与多个附属租户中的每一者可控制地共享由多个贡献者中的每一者提供的实时数据的计算机实现的系统。在这种实施方式中,所述系统包括:第一贡献者,所述第一贡献者具有第一数据集;第二贡献者,所述第二贡献者具有第二数据集;消费者的集合,所述消费者的集合期望访问所述第一数据集和所述第二数据集;以及连接器系统210的组件的集群,所述集群远离所述第一贡献者和所述第二贡献者中的每一者,并且与所述第一贡献者和所述第二贡献者中的每一者进行数据通信。
[0014]
所述集群包括:多个业务能力,各个业务能力具有相关联的主题,并且具有用于存储具有该主题的数据集的对应存储器;核心服务模块,所述核心服务模块具有数据存储部,以接收并存储由贡献者提供的指定能够如何与消费者的集合共享各个数据集的共享规则;以及能力服务模块,所述能力服务模块被配置成:(i)从消费者(请求租户)的集合中的消费者接收对从系统向请求租户提供所请求的数据集的请求;(ii)从核心服务模块请求并接收数据访问信息,该数据访问信息基于由所请求的数据集的贡献者提供的共享规则来定义能够如何与请求租户共享所请求的数据集;(iii)依据数据访问信息来产生受约束的响应数据;并且(iv)向请求租户提供受约束的响应数据。
[0015]
一些这种实施方式还包括:网关门户,所述网关门户被配置成与所述能力服务模块进行数据通信,以从多个贡献者接收多个数据集,各个数据集具有对应的主题;以及用户接口,所述用户接口与所述核心服务模块进行数据通信,以从所述多个贡献者中的各个贡献者的对应操作者接收并向所述核心服务模块提供:(a)要由该贡献者贡献的一个或更多个数据集的指定;和(b)单独地对应于各个数据集的共享规则的定义。在一些这种实施方式中,所述用户接口还与所述能力服务模块进行数据通信,以接收来自请求租户的从所述系统向所述请求租户提供所请求的数据集的请求,并向所述能力服务模块提供来自请求租户的从所述系统向所述请求租户提供所请求的数据集的请求。
[0016]
在一些实施方式中,由贡献者提供的指定由能够如何与其它租户共享该贡献者提供的各个数据集的共享规则包括限制哪些其它租户可以查看该数据集的规则;并且所述能力服务模块被配置成拒绝来自请求租户的对所请求的数据集的请求,该请求租户未被对应
的共享规则授权查看所请求的数据集。
[0017]
在一些实施方式中,由贡献者提供的指定能够如何与其它租户共享各个数据集的共享规则包括将所述受约束的响应数据限制为经编辑的数据集的规则;并且所述能力服务模块被配置成产生所述经编辑的数据集作为所述受约束的响应数据。
[0018]
在一些实施方式中,所述第一贡献者包括:网关(或“现场网关”),所述网关与网关门户进行数据通信,所述网关和所述网关门户被配置成将所述第一数据集从所述第一贡献者传送到所述集群。
[0019]
在一些实施方式中,所述第一贡献者包括租户,并且所述租户包括:贡献者用户接口门户(或“查看器”),所述贡献者用户接口门户与集群用户接口进行数据通信,以向所述能力服务模块传送:(i)由所述租户在其作为贡献者的能力内提供的共享规则;和(ii)对从所述系统向作为请求租户的所述租户提供所请求的数据集的请求。
[0020]
另一实施方式包括一种在多个租户之间交换数据集的方法。所述方法包括:提供连接器系统210的组件的集群,所述集群远离第一贡献者和消费者中的每一者,并且与第一贡献者和消费者中的每一者进行数据通信。所述集群包括:多个业务能力模块,各个业务能力具有相关联的主题,并且具有用于存储具有该主题的数据集的对应存储器;核心服务模块,所述核心服务模块具有数据存储部,以接收并存储由贡献者提供的指定能够如何与消费者的集合共享各个数据集的共享规则;以及能力服务模块,所述能力服务模块被配置成:(i)从消费者(请求租户)的集合中的消费者接收对从系统向请求租户提供所请求的数据集的请求;(ii)从核心服务模块请求并接收数据访问信息,该数据访问信息基于由所请求的数据集的贡献者提供的共享规则来定义能够如何与请求租户共享所请求的数据集;(iii)依据数据访问信息来产生受约束的响应数据;以及(iv)向请求租户提供受约束的响应数据。
[0021]
该方法还包括从所述第一贡献者接收:(a)具有主题的第一数据集;(b)数据共享规则的第一集合;将所述第一数据集存储在第一业务能力模块中;以及将所述数据共享规则的第一集合存储在所述核心服务模块中;以及从所述第一数据集产生第一受约束的数据;以及响应于来自所述消费者的请求,向所述消费者提供所述受约束的数据集。
[0022]
在一些实施方式中,产生第一受约束的数据的步骤包括根据所述第一数据集编辑数据的子集。
附图说明
[0023]
本领域的技术人员应根据以下参考附图讨论的以下“具体实施方式”更全面地理解本发明的各种实施方式的优点,附图概述如下。
[0024]
图1a示意性地例示了期望在彼此之间共享数据的一组实体的实施方式;
[0025]
图1b示意性地例示了消费者的用户接口的实施方式,该用户接口显示由消费者从连接器系统获得的多个数据集,所有数据集与同一事故有关;
[0026]
图2a示意性地例示了被设置成实现实体之间的数据共享的连接器系统的实施方式;
[0027]
图2b示意性地例示了与连接器系统的实施方式通信的租户的实施方式;
[0028]
图2c示意性地例示了与连接器系统的实施方式通信的多个租户的实施方式;
[0029]
图2d示意性地例示了连接器系统的实施方式;
[0030]
图2e示意性地例示了连接器系统的另选实施方式;
[0031]
图3a是例示了在连接器系统处从租户接收元数据的方法的实施方式的流程图;
[0032]
图3b是例示了在连接器系统处从租户接收数据集的方法的实施方式的流程图;
[0033]
图3c例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0034]
图3d例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0035]
图3e例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0036]
图3f例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0037]
图3g例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0038]
图3h例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0039]
图3i例示了在租户的用户接口中显示的图形用户接口的实施方式;
[0040]
图4a示意性地例示了在消费者租户的实施方式与连接器系统的实施方式之间的数据流,以及在连接器系统的实施方式内的数据流。
[0041]
图4b是例示了连接器系统的实施方式的操作方法的实施方式的流程图。
具体实施方式
[0042]
例示性实施方式公开了用于在一组消费者之间共享由贡献者提供的数据的系统。
[0043]
例示性实施方式提供了系统和方法,通过该系统和方法,时间敏感数据的贡献者可以经由用户接口选择性地并可控地提供对该数据的访问。例如,一些例示性实施方式提供了具有作为数据贡献者和数据消费者的租户的基于云的系统。系统从各个贡献者接收指示可以共享什么数据以及与谁(哪个消费者或哪些消费者)共享数据的数据和共享规则,并且然后根据共享规则向这个消费者或这些消费者提供数据。
[0044]
各种实施方式增强组织与其它组织共享时间敏感数据的能力。一些实施方式非常适合于从正在进行的事故开发数据的实时分发,并且可以是有用的,例如,对于紧急管理来说。
[0045]
定义:如在本说明书和所附权利要求中所使用的,除非上下文另有要求,否则以下术语应当具有所指示的含义。
[0046]“贡献者”是愿意在其控制下与消费者共享数据的租户。在例示性实施方式中,贡献者也可以是另一方或组织提供的数据的消费者。
[0047]“消费者”是期望访问由贡献者提供的数据的租户。在例示性实施方式中,消费者还可以是在其控制下的数据的贡献者。
[0048]“集合”包括至少一个成员。
[0049]“租户”是系统的用户。租户可以是贡献者、消费者或两者。
[0050]
图1a示意性地例示了多个100实体110、120、130和140的实施方式,实体110、120、130和140中的每一者安全地保持其相应的数据和/或期望访问由实体110、120、130和140中的另一者保持的数据。在一些实施方式中,多个实体110、120、130和140是父组织101的各个子组织。作为示例,在一些实施方式中,父组织101是市政当局(例如,州、县、城市或城镇,仅举几个示例)或者用于这种市政当局的紧急响应机构,并且各个实体110、120、130和140是附属公共安全实体,诸如,警察局、消防部门、救援部门,仅举了几个公共事业单位的示例。
[0051]
在发生警报(例如,包含指示值得注意的状况的数据的信号,例如响应于一些事件)时和期间,租户110、120、130和140中的一者或更多者可以分析警报以评估是否将警报提升到事故(例如,值得监测和/或响应的事件)。各个实体110、120、130和140可以产生和/或收集与警报或事故以及正在进行的事故的发展有关的数据。例如,警察局可以通过向事故的现场派遣警察小队(police units)(例如,警官和/或警察装备)来对事故作出响应;消防部门可以通过向事故的现场派遣消防小队(例如,卡车)来进行响应;救援部门可以通过向事故的现场派遣ems小队(例如,救护车)来进行响应,并且公共工程部门可以从靠近事故的现场的视频摄像头(视频摄像头是“设备”的示例)提供视频。响应警官可以产生与事故的现场的位置和观察有关的数据;响应消防员可以产生描述其到达事故的现场处的估计时间的数据;并且响应救护车可以产生描述其到达事故的现场处的估计时间的数据。
[0052]
各个租户110、120、130和140可以将其相应数据中的至少一些数据提供给另一租户,和/或在其作为数据的消费者的能力内的父组织101。通常,各个消费者期望实时地接收这种数据(例如,在其变得对相应租户可用时),例如以向消费者提供对事故的情境感知和与事故有关的正在进行的发展。
[0053]
数据共享的可能另选方法
[0054]
存在多个可能方式,其中,实体可以与一个或更多个其它实体共享其数据,但是各个这种可能方式具有不期望的缺点。
[0055]
例如,一种方法可能是在贡献者与各个消费者之间创建单独的连接。由于该架构,这可以被认为是“点对点”方法。这种方法需要点对点接口驻留在各个单独的贡献者处,并且要求各个消费者开发并维持其自己的接口。因此,这种方法要求各个贡献者和各个消费者参与并且可能保持在操作团队中,要求熟练的技术人员开发和维护各个接口。此外,随着点对点接口的网络增长以包括更多的消费者,这种方法的复杂性以及创建和维护它的成本将很快变得过高。
[0056]
另一方法可能是在贡献者是发布者并且消费者是订阅者的发布/订阅者架构中在贡献者与各个消费者之间施加中介。中介基本上像交警一样,使用路由逻辑来将来自贡献者的数据引导到消费者,例如通过互连贡献者和消费者的网络。在中介中定义路由逻辑是通常由it或其他技术人员执行的技术练习,因为它处理较低级别的细节(通常在消息级别)而不是较高的业务相关级别。这种方法将不期望地引入系统的复杂性水平,因为它需要使用中介。另外,贡献者(发布者)和各个消费者(订阅者)将必须建立并维护其自己的到中介的接口,具有随之而来的缺点。
[0057]
另一方法可能是给予各个贡献者和各个消费者对共享数据库的访问。这种方法有点类似于中介方法,因为它需要设置在贡献者与各个消费者之间的第三方(在这种情况下,共享数据库)。除了通过要求这种共享数据库来引入复杂性水平,并且具有中介方法的许多缺点之外,共享数据库方法还将不期望地要求将共享数据从贡献者复制和移动到共享数据库,并且还将在将贡献者的数据存储在该共享数据库中不期望地引入失去贡献者的控制和相关风险。
[0058]
相对于另选可能的一些优点
[0059]
例示性实施方式提供了相对于可能另选方法的一个或更多个优点。
[0060]
例如,一些例示性实施方式提供点对点架构的数据安全和安全控制,而没有创建
和维护贡献者与各个消费者之间的单独接口的复杂性和成本,并且没有使用中介的方法的复杂性和成本,并且没有复杂性、成本、数据安全性的损失和共享数据库方法的伴随风险。
[0061]
例示性实施方式使得贡献者能够向消费者提供实况数据。这是重要的,例如,当数据是来自在事故现场处的响应者的流传输视频时,因为这种数据的值如果没有被破坏,则会因其发送和消费者的接收中的滞后而减少。例示性实施方式通过使用现场网关提供实时填充的域特定数据存储部(例如,每个贡献者存储其自己的数据并从其自己的数据存储部发送其数据)来实现实况数据共享。此外,例示性实施方式的用户接口是多租户的,其便于共享数据。
[0062]
此外,例示性实施方式增强了数据访问的一致性,因为贡献者和消费者访问同一实况数据。如果现有技术的系统和解决方案能够完全提供数据访问的一致性,则现有技术的系统和解决方案不期望地将延迟引入到共享数据。例示性实施方式提供了一种基础设施,其可以通过为所有关注方(贡献者和消费者)提供单个位置来提供对最新数据的快速访问,以取回期望的域特定数据。
[0063]
例示性实施方式实现由贡献者和消费者并发访问共享数据。例示性实施方式包括云本地架构,该云本地架构易于缩放并且被配备成处理对共享数据的大量并发访问。
[0064]
例示性实施方式实现一对一、一对多和多对多共享关系。现有技术的数据共享技术不能提供一对一、一对多和多对多的数据共享关系模型,因为这些技术在添加越来越多的接口的负载下崩溃。一些现有技术的数据共享技术随着越来越多的接口被添加而成为资源瓶颈。例示性实施方式的每个架构层处的多租户设计提供支持所需关系模型的能力。
[0065]
例示性实施方式还实现对来自被配置成由非技术用户使用的用户接口的集合的数据访问的集中控制。现有技术的数据共享技术不提供允许非技术用户控制数据访问的用户接口。相反,如果现有技术的数据共享技术完全包括用户接口,则它们要求贡献者将定制用户接口构建为额外的应用,或者提供要求在数据库级别定义访问规则的用户接口。相反,例示性实施方式提供了管理接口,该管理接口允许基于组织元数据、数据共享网络和角色来创建数据共享标准。
[0066]
例示性实施方式实现对数据的访问的粒度控制(granular control)。例如,贡献者可能期望与消费者共享数据子集,但是拒绝该消费者对该数据的其它部分的访问。如果现有技术完全允许粒度访问控制,则它们需要在数据库级别进行设定,这在很多时候需要特定的专业知识来设定。相比之下,例示性实施方式提供了简单、易于使用的用户接口,其被配置成由非技术用户使用以基于域特定元数据来定义编辑和过滤规则。
[0067]
例示性实施方式使得灵活性能够扩展到大量并发用户。可以递增地添加新的数据源,并且当准备好时,数据共享标准被配置成使数据立即可用。
[0068]
例示性实施方式实现与数据共享分离的数据源的管理。可以使新数据源联机,并且当其准备好时,可以设定数据共享规则以允许立即访问。
[0069]
例示性实施方式实现对共享数据的安全和受控访问。仅贡献者组织内的授权用户被允许设定用于与其它组织共享数据的规则。为此,例示性实施方式提供了用于设定数据共享标准的简单用户接口。相比之下,现有技术的数据共享技术通常需要数据访问规则和逻辑被编码到各个应用接口中,使得难以访问共享标准。数据共享通常由具有必要技能的技术人员设定以定义共享标准。不仅需要比典型用户更高的技术专业知识水平,这种技术
员并不总是组织的拥有数据的成员,从而不期望地要求来自外部资源的参与来设定数据共享。
[0070]
与需要在中央数据存储部中存储共享数据的一些现有技术相比,例示性实施方式提供共享数据的基于主题的存储。
[0071]
一些实施方式提供了用于为具体定义为满足组织的需要的各个业务能力定义数据共享标准的中央能力。这在管理数据时提供业务和组织自主性,但同时,通过集中式数据共享特征促进对整个数据共享环境的可见性。
[0072]
例示性实施方式提供了域特定过滤逻辑。一些现有技术的数据共享技术需要各个数据贡献者处的接口来跟踪其与每个消费者共享的数据和格式。相应的接口在各个这种消费者处通常是不同的,这会成倍地增加复杂性,并且可以变得不可管理。例示性实施方式提供了一种简单的管理用户接口,其可以被非技术人员用于针对数据共享定义过滤规则。在一些这种实施方式中,过滤规则是针对各个业务域项定义的,并且可以在租户级别上推翻。
[0073]
例示性实施方式提供了松耦合架构。在例示性实施方式中,各个业务能力被实现成微前端和微服务的独立集合。这允许各个业务能力独立地缩放,并且可以与系统的其余部分分开地管理。
[0074]
图2a示意性地例示了系统200的实施方式,其中,多个租户110、120、130和140中的每一者是与中央集群(或“集线器(hub)”)210通信的贡献者和/或消费者。
[0075]
各个这种贡献者可控制地将其相应的数据提供给中央集群210。在一些实施方式中,各个贡献者限制其相应信息到其它实体中的每一者的可用性。
[0076]
例如,警察局可以通过事故实体来产生事故数据(例如,事故的概要,包括事故的性质及其位置)和警报数据(例如,由与事故相关联的状况的发生触发的通知)二者。事故数据可以被保持在警察子实体内的事故业务实体的控制下,并且警报数据可以被保持在警察子实体内的警报业务实体的控制下,并且那些业务实体中的每一者可以独立地控制什么数据被共享,以及与谁共享。换句话说,事故数据和警报数据不仅仅因为它们属于相同的子实体(即,警察局)就经受相同的控制,而是可以由它们各自的业务实体独立地控制。
[0077]
图2b示意性地例示了租户110的例示性实施方式和连接器系统210(其可以被称为“集群”)的实施方式。图2c示意性地例示了连接器系统210的另一实施方式。
[0078]
租户110具有至少一个数据生成设备或装置的集合。图2b的例示性实施方式包括具有多个数据生成装置113、114的集合112。各个数据生成装置至少生成数据的数据集。例如,数据生成装置可以是警报器,诸如电影院的后出口处的警报器,或联接到银行保险库的门或视频摄像头的警报器,仅举几个例示性示例。
[0079]
例如,租户110在其作为贡献者的能力内可能期望与一个或更多个其它租户120和/或130和/或140共享那些生成的数据集中的一个或更多个数据集。为此,租户110包括与数据生成设备中的各个数据生成设备进行通信的连接网关(或“现场网关”)115。连接网关是被配置成与如下所述的集群系统210中的连接门户联接的通信设备。
[0080]
租户110在其作为贡献者的能力中还可能期望限制允许其数据如何以及与谁(例如,与哪个其它租户或租户120、130和/或140)共享。为此,租户110包括租户ui查看器111,该租户ui查看器111被配置成与集群210中的对应的ui app 211进行通信。租户查看器111可以是例如显示由集群210中的ui app 211产生的用户接口的网络浏览器。为此,在一些实
施方式中,租户查看器111被配置成与集群210中的ui app 211进行双向通信。在一些实施方式中,租户查看器111的内容和格式由ui app 211生成并且被传送到租户以在租户110处显示给操作者。在例示性实施方式中,租户110在租户的处所处执行软件以运行和/或显示查看器111的内容和格式。
[0081]
在例示性实施方式中,当租户110作为贡献者工作时,租户110处的使用查看器111的操作者针对从各个相应的数据生成器(例如,113、114)提供给集群210的数据分别指定共享规则。查看器111经由ui app 211向集群210提供这样定义的共享规则。
[0082]
在例示性实施方式中,当租户110作为消费者工作时,租户110可能期望从连接器系统210请求数据。这种请求数据可以包括由租户110自身提供给连接器系统210的数据(例如,如果租户110处的操作者想要监测由该租户向连接器系统210提供的数据)和/或由一个或更多个其它租户120、130、140提供给连接器系统210的数据。
[0083]
为此,租户查看器111被配置成从操作者接收要请求的数据的规范,并且经由ui app 211向连接器系统210提交所请求的数据的规范。这种请求可以被称为“操作”。
[0084]
图2b中示意性地例示的连接器系统210可以在单个强大的计算机中实现,或者可以使用云中的资源来实现。
[0085]
连接器系统210包括ui app 211,该ui app 211优选地与租户110的租户查看器111进行通信。ui app 211与共享规则数据存储部212进行数据通信。租户的查看器111接收来自租户110的共享规则并向共享规则数据存储部212提供来自租户110的共享规则。共享规则数据存储部212的例示性实施方式将各个租户(例如,110、120、130)分别与由该租户110、120、130提供的共享规则(分别由图2b中的“a”、“b”和“c”表示)相关联。
[0086]
连接器系统210还包括网关门户221,该网关门户221分别与各个租户110和各个其它租户120、130处的连接网关115(或“现场网关”)进行通信。在例示性实施方式中,网关门户221被设置在连接器系统210与各个租户110、120、130、140之间,如图2b中示意性地例示的。例如,网关门户221可以被设置在云中。在一些实施方式中,网关门户可以被认为作为连接器系统210的一部分,即使它可以单独实现。
[0087]
在例示性实施方式中,网关门户221与多个应用程序接口(其中的每一者可以被称为“rest api”)中的每一者进行数据通信,一个这种api用于各个对应的服务模块(例如,服务模块222和服务模块223)。网关门户221基于该数据的主题来分发从对应的连接网关接收的数据。从租户110接收的各个数据集具有相关联的主题。例如,由警报系统113产生的数据集的主题是“警报”数据,并且由事故系统114产生的数据集的主题是“事故数据”。数据集按其相应的主题分开,并存储在单独的存储器中。
[0088]
为此,在例示性实施方式中,连接器系统210包括服务模块(或简称为“服务”)的集合,各个服务模块被分配以存储具有对应主题的数据。例如,(例如,来自租户110处的警报系统113的)警报数据从网关门户221被引导到警报服务模块222。类似地,(例如,来自租户110处的事故系统114的)事故数据从网关门户221被引导到事故服务模块223。
[0089]
应当注意,在一些实施方式中,流传输视频数据(诸如,由摄像头产生的数据)不被存储在服务模块中。在服务模块中存储这种视频数据将不期望地延迟与消费者共享视频数据。在一些这种实施方式中,关于视频数据的元数据(例如,产生视频流的摄像头的标识符;产生视频流的摄像头的位置;产生视频流的视频摄像头的取向;产生视频流的视频摄像头
的技术细节,仅举几个示例)可以由租户110提供给连接器系统210,并且被存储在指定用于存储来自贡献者的此类视频元数据的服务模块中。当视频流本身被提供给消费者时,视频流本身通过连接器系统210直接从贡献者流传输到消费者。
[0090]
还应当注意,在优选实施方式中,各个服务模块(例如,222、223)存储来自所有租户的数据,该数据具有与服务模块相关联的主题。例如,警报服务模块222存储来自所有租户110、120、130的所有警报数据。
[0091]
还应当注意,在优选实施方式中,各个服务模块(例如,222、223)单独地存储这种数据。换句话说,即使当服务模块存储来自多个贡献者的多个数据集时,各个数据集被独立地存储并且可以独立地从服务模块取回。
[0092]
如在图2b中示意性地例示的,来自各个贡献者的针对由该贡献者提供的各个数据集的共享规则与该数据集被存储的相应服务模块相关联。例如,如果警报服务模块222仅存储来自租户b的警报数据,则由该租户提供并存储在数据存储212中的共享规则与警报服务模块222相关联。
[0093]
图2d示意性地例示了连接器系统210的实施方式。系统210包括通过系统总线219彼此进行通信的多个模块。系统210包括ui app 211、共享规则数据存储部212、网关门户221、核心服务模块251(该模块也可以被称为“公共服务”)、业务能力模块的集合252(业务能力模块也可以被称为“能力服务”)和能力服务模块253。
[0094]
核心服务模块251被配置成与租户(诸如期望从连接器系统210请求数据集的消费者)进行接口连接。在例示性实施方式中,核心服务模块还存储由各个数据集的贡献者针对该数据集提供的共享规则。
[0095]
业务能力模块252包括存储从贡献者接收的数据集的服务模块。业务能力模块252与能力服务模块253进行数据通信。
[0096]
在一些实施方式中(包括在图2d和图2e的实施方式中),业务能力模块是能力服务模块253的一部分。在优选实施方式中,业务能力模块252是能力服务模块253的一部分,以保持数据集靠近服务模块253,以便于由服务模块253对数据集的快速、容易且安全的访问。
[0097]
能力服务模块253被配置成从请求租户(例如,经由ui app 211)接收针对“操作”(例如,响应于请求准备并向请求租户发送数据集的过程)的请求,并且准备并向请求租户提供对来自请求租户的请求的响应。
[0098]
图2e示意性地例示了连接器系统210的另选实施方式。该实施方式可以被称为“集群”,因为其组件(211、212、221、251、252和253)被布置在云中,并且组件不被总线联接(如在图2d中),而是替代地通过云进行通信。在图2e的实施方式中,网关门户221与ui app 211、业务能力模块252、能力服务模块253和核心服务模块251进行数据通信。核心服务模块251又与共享规则数据存储部212进行数据通信,即使共享规则数据存储部212不与网关门户直接进行通信。
[0099]
在任何情况下,连接器系统210(无论是如图2d中的系统还是如图2e中的集群)可以被称为“集线器”,因为其与多个租户中的各个租户进行通信。
[0100]
图3a是例示了在连接器系统210处从租户接收元数据的方法310的实施方式的流程图。方法310包括:在步骤311,在连接器系统处从贡献者(例如,租户110)接收包括要由贡献者110提供给连接器系统210的一个或更多个数据集(例如,警报数据、事故数据)的标识
符的元数据。
[0101]
在步骤312,该方法包括为在步骤312识别的数据集分配存储位置。如上所述,各个数据集具有相关联的主题,并且各个数据集根据其相应的主题被分配给服务模块。
[0102]
在步骤313,方法310包括在连接器系统处从同一贡献者110接收包括针对在步骤311识别的各个数据集的共享规则的元数据。共享规则针对各个这种数据集指定该数据集中的什么数据可以被共享,以及与谁(即,哪个消费者)共享。
[0103]
在步骤314,共享规则被存储在共享规则数据存储部212中。
[0104]
图3b是例示了在连接器系统处从租户接收数据集的方法320的实施方式的流程图。
[0105]
在步骤321,方法320包括从贡献者接收数据集。各个这种数据集具有相关联的主题。
[0106]
在步骤322,方法320包括将各个这种数据集存储在根据主题被分配以存储这种数据集的服务模块(例如,222、223等)中。
[0107]
图3c、图3d、图3e、图3f、图3g和图3h各自公开了在租户的处所处由租户的查看器111显示的图形用户接口的实施方式。
[0108]
图3c例示了图形用户接口330,该图形用户接口330被配置为允许贡献者110处的操作者指定可以与谁共享贡献者的数据,以及可以共享贡献者的数据中的哪个数据。在该例示性实施方式中,贡献者具有由主题定义的多个数据集332:警报数据、资产数据、设备数据、事故数据、单位数据(units data)和视频数据。操作者已经给予连接器系统210许可,以与三个消费者租户(在该例示性实施方式中,scottsford警察局、bushdale警察局、以及命名为safecities.xyz的租户)中的每一者共享所有数据,该消费者租户定义了贡献者的数据共享网络331。该许可定义针对来自贡献者110的所指示的数据的数据共享规则的至少一部分。操作者可以通过取消勾选租户的名称来撤销对任何这种消费者租户的许可,并且可以通过不选数据集的图标来撤销对任何数据集的许可。这为贡献者110提供了对什么数据被共享以及与谁共享的粒度控制。
[0109]
图3d例示了被配置成从其数据共享网络添加或移除消费者租户的图形用户接口340。为此,图形用户接口340呈现消费者租户的菜单341,贡献者的操作者可以从该菜单对贡献者110愿意共享至少一些贡献者数据的消费者的列表进行选择和添加。
[0110]
图3e、图3f和图3g各自呈现图形用户接口,该图形用户接口允许贡献者定义关于什么贡献者数据可以由连接器系统210共享的共享规则,而不必以粒度级别指定该数据(尽管该选项如在图3c的实施方式中保持可用)。
[0111]
图3e例示了“低”过滤器的集合的图形用户接口350。低过滤器指示所有贡献者的数据可以由连接器系统210共享。
[0112]
图3f例示了“中”过滤器的集合的图形用户接口360。中过滤器可以由操作者在贡献者处使用图形用户接口360来配置,以约束共享一些数据的许可。例如,在图3f的实施方式中,操作者已经指示连接器系统210可以不共享“设备当前位置(devicecurrent location)”数据,该“设备当前位置”数据是“设备(devices)”数据类型(即,具有“设备(devices)”主题的数据集)的一部分,但是可以共享“设备描述数据(devicedescription data)”和“设备遥测(device telemetry)”数据。这种特定规则可以向连接器系统210指示
当连接器系统210与消费者共享指定的数据集时,连接器系统必须编辑来自该数据集的某些数据。
[0113]
图3g例示了“高”过滤器的集合的图形用户接口370。高过滤器可以由贡献者处的操作者使用图形用户接口370来配置,以指定在什么条件下连接器系统210应该抑制数据(即,整个数据集被滤除并且不被发送到请求租户120)。这种特定过滤器向连接器系统210指示连接器系统210应该何时与消费者共享指定的数据集时。在图3g的示例中,贡献者处的操作者已经使用图形用户接口370来指定连接器系统210何时共享警报数据,当任何数据集中的“警报名称(alarm name)”等于“警报测试6(alarm test 6)”时,连接器系统必须移除(换句话说,不与请求租户共享)那些数据集。
[0114]
图3h例示了图形用户接口380,该图形用户接口380被配置成向贡献者处的操作者提供由贡献者110指定的当前共享规则。
[0115]
图3i示出了图形用户接口390,通过该图形用户接口390,充当消费者租户120的操作者可以从连接器系统210请求数据。为此,图3i的图形用户接口390的实施方式包括单选按钮的集合391,单选按钮的集合391允许操作者通过分别选择“是”和“否”单选按钮来选择加入从连接器系统接收数据,或者选择退出接收这种数据。
[0116]
图3i的图形用户接口390的实施方式还包括复选框的集合392,其中,存储在连接器系统内的数据集的各个类型(其中,类型分别由各个数据集的主题定义)具有一个复选框。通过检查对应于数据集的复选框,充当贡献者的操作者向连接器系统210指示贡献者愿意与消费者共享这种数据集。通过不选这种复选框(或拒绝勾选这种复选框),贡献者指示连接器系统应当从消费者抑制由贡献者提供的这种数据集。
[0117]
因此,贡献者通过连接器系统210具有对其数据中的什么数据(如果有的话)对于消费者可用的粒度控制。
[0118]
图4a示意性地例示了在消费者租户的实施方式与连接器系统的实施方式之间的数据流,以及在连接器系统的实施方式内的数据流。图4b是例示了连接器系统的实施方式的操作方法的实施方式的流程图。图4a和图4b例示了连接器系统210响应于来自消费者的对数据的请求的操作。
[0119]
图4a示意性地例示了在租户的处所处的租户查看器111以及作为连接器系统210的实施方式的一部分的核心服务模块251和能力服务模块252。出于例示性目的,请求租户将是租户120。
[0120]
在步骤411,请求租户120经由租户查看器111向连接器系统251的核心服务模块251发送租户的登录凭证411。
[0121]
在步骤412,核心服务模块251将租户的登录凭证转发到标识符提供者255,该标识符提供者255对租户的登录凭证进行认证以验证租户120被授权访问连接器系统210。在成功认证的情况下,在步骤413,标识符提供者255然后经由租户的查看器111将授权代码发送到请求租户120。
[0122]
在步骤414,租户经由查看器111将该授权代码发送到核心服务模块251。
[0123]
响应于接收到转发的授权代码,核心服务模块251在步骤415创建数据访问信息。数据访问信息定义允许请求租户120访问什么数据集。数据访问信息是基于由各个这种数据集的贡献者针对该特定的请求租户120定义的共享规则的。为此,核心服务模块251与共
享规则数据存储部212进行数据通信。在一些实施方式中,共享规则数据存储部212是核心服务模块251的一部分。
[0124]
随后,在步骤416,核心服务模块251创建访问令牌,并且在步骤417将访问令牌转发到请求租户120。
[0125]
为了发起获得对由连接器系统210保持的一个或更多个数据集的访问,请求租户120向连接器系统210的能力服务模块252发送请求,并且能力服务模块接收该请求,所有这些都在步骤421处。该请求可以被称为“操作”,因为它请求连接器系统210执行向请求租户提供一个或更多个数据集的步骤。该请求包括访问令牌。
[0126]
在步骤422,响应于接收到操作(和访问令牌),能力服务模块252从核心服务模块251请求数据访问信息。在步骤423,核心服务模块251通过发送对由连接器系统210向请求租户120提供所请求数据集的标识限制的约束(如果有的话)来进行响应,并且能力服务模块252接收这些标识限制的约束。
[0127]
在接收到约束后,能力服务模块252在步骤424处执行操作以准备对来自请求租户120的请求的响应。这种操作可以包括例如从数据集所存储的模块服务取回数据集。在一些实施方式中,数据集(例如,第一数据集)具有第一格式,并且产生受约束的数据(第一受约束的数据)的步骤包括将第一数据集重新格式化为第一格式的较新或受约束的版本。在一些实施方式中,第一数据集具有第一格式,并且产生第一受约束的数据的步骤包括将第一数据集重新格式化为第二格式,该第二格式不同于第一格式。
[0128]
在步骤425,能力服务模块252依据共享规则对数据集应用约束,以产生“受约束的响应”。在一些实施方式中,例如,步骤425可以包括编辑来自数据集的某些信息。例如,当数据集包括数据集的贡献者不想与请求租户共享的信息时,这可能是期望的。作为非限制性例示,数据集可以包括关于对事件或犯罪受害者的目击者的个人可识别信息,并且贡献者可能期望不向请求租户120公开该个人可识别信息。在这种场景中,来自数据集的贡献者的共享规则可以指定来自数据集的个人可识别信息一定不能与请求租户120共享,并且因此在步骤425处,能力服务模块252编辑(例如,移除或使其难以辨认)来自数据集的个人可识别信息。
[0129]
随后,在步骤426,能力服务模块252向请求租户120发送或以其它方式提供对受约束的响应的访问。
[0130]
在接收到一个或更多个受约束的数据响应时,消费者120处的租户的用户接口可以显示受约束的数据响应。例如,图1b示意性地例示了消费者的用户接口150的实施方式,该用户接口显示由消费者从连接器系统获得的多个数据集,所有数据集与同一事故有关。
[0131]
前述描述和描述参考的附图公开了一种用于与消费者租户的集合中的每一者可控地共享由贡献者租户的集合中的每一者提供的数据的计算机实现系统。在各种实施方式中,该系统可以是基于云的,和/或数据共享可以是实时数据共享。
[0132]
这种系统的例示性实施方式包括多个业务能力模块(例如,模块222、223、224、225、226和227)。各个业务能力模块具有相关联的主题以及用于存储具有该主题的数据集的对应存储器。在例示性实施方式中,存储在业务能力模块中的各个数据集被存储为可单独识别的数据项的相关集合(例如,数据字符串的集合)。例如,包括人的名字的实例的数据集将在可单独识别的数据字符串中存储该人的名字数据,使得该数据集可以基于该数据字
符串被过滤,和/或人的名字可以基于数据集来从响应数据中编辑。
[0133]
这种系统的例示性实施方式还包括具有数据存储部的核心服务模块,以接收并存储由贡献者提供的共享规则。这种共享规则指定可以如何与消费者的集合中的各个消费者共享由该贡献者提供的各个数据集。
[0134]
这种系统的例示性实施方式还包括能力服务模块。能力服务模块被配置成(i)从消费者(请求租户)接收对从系统向请求租户提供所请求的数据集的请求;(ii)从核心服务模块请求并接收数据访问信息,该数据访问信息基于由所请求的数据集的贡献者提供的共享规则来定义能够如何与请求租户共享所请求的数据集;(iii)依据数据访问信息来产生受约束的响应数据;以及(iv)向请求租户提供受约束的响应数据。
[0135]
下面给出了某些附图标记的列表。
[0136]
100:组织;
[0137]
110:第一租户;
[0138]
111:租户ui查看器;
[0139]
112:数据生成器设备的集合;
[0140]
113:第一数据集生成器;
[0141]
114:第二数据集生成器;
[0142]
115:连接网关(或“现场网关”)
[0143]
119:通信接口;
[0144]
120:第二租户;
[0145]
130:第三租户;
[0146]
140:第四租户;
[0147]
210:连接器系统;
[0148]
211:用户接口应用(或ui app);
[0149]
212:共享规则数据存储部;
[0150]
219:系统总线;
[0151]
221:网关门户;
[0152]
222:警报服务模块;
[0153]
223:事故服务模块;
[0154]
224:单位服务模块;
[0155]
225:视频服务模块;
[0156]
226:设备服务模块;
[0157]
227:资产服务模块;
[0158]
251:核心服务模块(也可以被称为“公共”服务模块);
[0159]
252:业务能力模块;
[0160]
253:能力服务模块;
[0161]
255:标识符提供者。
[0162]
各种实施方式可以由在本段落之后的段落中列出(并且在本技术的结尾处提供的实际权利要求之前)的可能权利要求表征。这些可能权利要求构成本技术的书面描述的一部分。因此,以下可能权利要求的主题可以在涉及本技术的后续程序或基于本技术要求优
先权的任何申请中呈现为实际的权利要求。包含此类可能权利要求不应被解释为意味着实际权利要求不覆盖可能权利要求的主题。因此,在后续程序中不呈现这些可能权利要求的决定不应该被解释为向公众提供主题。
[0163]
在没有限制的情况下,可以要求保护的可能主题(以字母“p”开头,以便避免与下面呈现的实际权利要求混淆)包括:
[0164]
p1.一种基于云的计算机实现的系统,所述系统与消费者租户的集合中的每一者可控制地共享由贡献者租户的集合中的每一者提供的实时数据,所述系统包括:多个业务能力模块,各个业务能力模块具有相关联的主题,并且具有存储具有该主题的数据集的对应存储器;核心服务模块,所述核心服务模块具有数据存储部,以接收并存储由贡献者提供的指定能够如何与消费者的集合共享各个数据集的共享规则;以及能力服务模块,所述能力服务模块被配置成:(i)从消费者(请求租户)接收对从系统向请求租户提供所请求的数据集的请求;(ii)从核心服务模块请求并接收数据访问信息,该数据访问信息基于由所请求的数据集的贡献者提供的共享规则来定义能够如何与请求租户共享所请求的数据集;(iii)依据数据访问信息来产生受约束的响应数据;以及(iv)向请求租户提供受约束的响应数据。
[0165]
p2.根据p1所述的系统,所述系统还包括:网关门户,所述网关门户被配置成与所述能力服务模块进行数据通信,以从多个贡献者接收多个数据集,各个数据集具有对应的主题;以及用户接口,所述用户接口与所述核心服务模块进行数据通信,以从所述多个贡献者中的各个贡献者的对应操作者接收并向所述核心服务模块提供:(a)要由该贡献者贡献的一个或更多个数据集的指定;和(b)单独地与各个数据集相对应的共享规则的定义。
[0166]
p3.根据p1所述的系统,其中,所述用户接口还与所述能力服务模块进行数据通信,以接收来自请求租户的从所述系统向所述请求租户提供所请求的数据集的请求,并向所述能力服务模块提供来自请求租户的从所述系统向所述请求租户提供所请求的数据集的请求。
[0167]
p4.根据p1至p3中任一项所述的系统,其中:由贡献者提供的指定能够如何与其它租户共享由该贡献者提供的各个数据集的共享规则包括限制哪些其它租户可以查看该数据集的规则;并且其中,所述能力服务模块被配置成拒绝来自请求租户的对所请求的数据集的请求,该请求租户未被对应的共享规则授权查看所请求的数据集。
[0168]
p5.根据p1至p4所述的系统,其中:由贡献者提供的指定能够如何与其它租户共享各个数据集的共享规则包括将所述受约束的响应数据限制为经编辑的数据集的规则;并且其中,所述能力服务模块被配置成产生所述经编辑的数据集作为所述受约束的响应数据。
[0169]
应当注意,各种系统、它们的组件和模块可以在电子电路、执行可执行代码的可编程(和编程的)计算机处理器电路、或这些电子电路和可编程(和编程的)计算机处理器电路的组合中实现。
[0170]
本发明的各种实施方式可以至少部分地以任何常规计算机编程语言来实现。例如,一些实施方式可以以过程式编程语言(例如,“c”)或以面向对象的编程语言(例如,“c++”)来实现。本发明的其它实施方式可以被实现成预编程的硬件元件(例如,专用集成电路、fpga和数字信号处理器)或其它相关组件。
[0171]
在另选实施方式中,所公开的装置和方法可以被实现成用于与计算机系统一起使
用的计算机程序产品。此类实现方式可以包含固定在有形媒体(诸如,非暂时性计算机可读媒体(例如,磁盘、cd-rom、rom、闪速存储器或固定磁盘))上的一系列计算机指令。所述一系列计算机指令可以实施本文先前关于系统所描述的功能性的全部或部分。
[0172]
本领域技术人员应当理解,这种计算机指令可以用多种编程语言来编写,以便与许多计算机架构或操作系统一起使用。此外,这种指令可以被存储在任何存储设备(诸如,半导体、磁性、光学或其它存储器设备)中,并且可以使用任何通信技术(诸如,光学、红外线、微波或其它传输技术)来传输。
[0173]
以其它方式,这种计算机程序产品可以作为具有伴随的打印或电子文档(例如,收缩包装软件)的可移动介质、用计算机系统(例如,在系统rom或固定磁盘上)预加载、或者通过网络(例如,互联网或万维网)从服务器或电子公告板分发。当然,本发明的一些实施方式可以被实现成软件(例如,计算机程序产品)和硬件二者的组合。本发明的其它实施方式被实现成完全硬件或完全软件。
[0174]
实现本文中先前描述的功能性的全部或部分的计算机程序逻辑可以在单个处理器上(例如,并发地)在不同时间执行,或可以在多个处理器上在相同或不同时间执行,且可在单个操作系统进程/线程下或在不同操作系统进程/线程下运行。因此,术语“计算机进程”通常指的是计算机程序指令的集合的执行,而不管不同的计算机进程是在相同或不同的处理器上执行的,并且不管不同的计算机进程在相同的操作系统进程/线程还是不同的操作系统进程/线程下运行。
[0175]
以上描述的本发明的实施方式旨在仅是示例性的;许多变化和修改对于本领域技术人员将是显而易见的。所有这些变化和修改旨在在如在任何所附权利要求中限定的本发明的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1