CN112424766B - 数据交换 - Google Patents

数据交换 Download PDF

Info

Publication number
CN112424766B
CN112424766B CN202080003955.6A CN202080003955A CN112424766B CN 112424766 B CN112424766 B CN 112424766B CN 202080003955 A CN202080003955 A CN 202080003955A CN 112424766 B CN112424766 B CN 112424766B
Authority
CN
China
Prior art keywords
database
user
data
list
data warehouse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080003955.6A
Other languages
English (en)
Other versions
CN112424766A (zh
Inventor
朱培基
本诺特·戴奇维勒
马修·J·格利克曼
克里斯蒂安·克雷纳尔曼
普拉桑纳·克里希南
贾斯汀·朗塞斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Snowflake Inc
Original Assignee
Snowflake Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Snowflake Inc filed Critical Snowflake Inc
Publication of CN112424766A publication Critical patent/CN112424766A/zh
Application granted granted Critical
Publication of CN112424766B publication Critical patent/CN112424766B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

存储用于多个用户的数据库的数据仓库可以实现数据交换,该多个用户包括为数据仓库的其他用户托管数据的服务提供者。数据提供者在交换中创建包括元数据的列表。消费者浏览元数据并选择列表以添加到消费者的消费共享。可以过滤浏览以实现私有交换。数据的添加可能会受到需要验证消费者身份的访问控制限制。可以过滤添加的数据以仅包括与消费者有关的数据。共享可以是双向的,使得添加提供者的第一数据的列表的请求也可以引用消费者的第二数据,使得第一数据被添加到消费者的消费共享,并且第二数据被添加到提供者的消费共享。

Description

数据交换
相关申请
本申请根据35 U.S.C.§119(e)要求于2019年5月31日提交的美国专利申请第16/428,592号的权益,其全部内容特此通过引用并入本文。
技术领域
本公开涉及管理数据存储和计算资源的资源管理***和方法。
背景
每天产生的数据量是惊人的。在由许多服务提供者、商家、顾客(customer)、数据存储库和其他实体组成的多样化生态***(ecosystem)中,存在许多数据源。数据科学应用和机器学习技术能够使用数据来提供见解,检测异常并执行其它有用的功能。然而,这些技术受限制于可用数据量和可用数据所代表的主题领域。
改进在此类应用中使用的数据的可用性将是本领域的进步。
附图简述
参考以下附图描述了本公开的非限制性和非穷举性实施例,其中,除非另外指明,否则贯穿各个附图,相同的附图标记表示相同的部分。
图1是描绘其中可以实现本文公开的方法的示例计算环境的框图。
图2是根据本发明的实施例的可用于实现数据交换的数据的示意性框图。
图3是根据本发明的实施例的用于实现数据交换的组件的示意性框图。
图4A是根据本发明的实施例的用于在数据交换中的实体之间控制数据共享的方法的过程流程图。
图4B是示出根据本发明的实施例的用于实现数据的私有共享的数据的图。
图4C是示出根据本发明的实施例的用于实现数据的私有共享的安全视图的图。
图5是根据本发明的实施例的用于在数据交换中的实体之间公共共享数据的方法的过程流程图。
图6是根据本发明的实施例的用于在数据交换中执行双向共享的方法的过程流程图。
图7是根据本发明的实施例的用于在数据交换中提供丰富的数据的方法的过程流程图。
图8是描绘示例计算设备的框图。
详细描述
在下面的描述中,参考形成说明书的一部分的附图,并且在附图中通过图示的方式示出了可以实践本公开的特定示例性实施例。足够详细地描述了这些实施例,以使本领域技术人员能够实践本文公开的概念,并且应当理解,在不脱离本公开的范围的情况下,可以对各种公开的实施例进行修改,并且可以利用其它实施例。因此,以下详细描述不应被视为限制性的。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的引用是指结合该实施例或示例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指的是同一实施例或示例。另外,应当理解,随此提供的附图是出于对本领域普通技术人员的解释的目的,并且附图不一定按比例绘制。
根据本公开的实施例可以体现为装置、方法或计算机程序产品。因此,本公开可以采取完全包括硬件的实施例、完全包括软件的实施例(包括固件、常驻软件、微代码等)或结合了在本文中通常都可以统称为“电路”、“模块”或“***”的软件和硬件方面的实施例。此外,本公开的实施例可以采取计算机程序产品的形式,计算机程序产品体现在任何有形表达介质中,具有嵌入该介质中的计算机可用程序代码。
可以利用一种或更多种计算机可用或计算机可读介质的任何组合。例如,计算机可读介质可以包括便携式计算机磁盘、硬盘、随机存取存储器(RAM)设备、只读存储器(ROM)设备、可擦可编程只读存储器(EPROM或闪存)设备、便携式光盘只读存储器(CDROM)、光学存储设备和磁性存储设备中的一种或更多种。可以以一种或更多种编程语言的任何组合来编写用于执行本公开的操作的计算机程序代码。可以将此类代码从源代码编译为适合于将在其上执行代码的设备或计算机的计算机可读汇编语言或机器代码。
实施例也可以在云计算环境中实现。在本说明书和所附权利要求中,“云计算”可以被定义为用于使得能够对可配置计算资源(例如,网络、服务器、存储装置、应用和服务)的共享池进行普遍、方便、按需的网络访问的模型,其可以经由虚拟化被快速配置并以最小的管理工作量或服务提供者交互来发布(released),并且然后相应地进行扩展。云模型可以由各种特征(例如,按需自助服务、广泛的网络访问、资源池化(resource pooling)、快速弹性和可衡量的服务)、服务模型(例如,软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础架构即服务(“IaaS”))以及部署模型(例如,私有云、社区云、公共云和混合云)组成。
附图中的流程图和框图示出了根据本公开的各种实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。就这一点而言,流程图或框图中的每个框可以表示代码的模块、段或部分,其包括用于实现指定的逻辑功能的一个或更多个可执行指令。还应注意,框图或流程图的每个框以及框图或流程图中的框的组合,可以通过执行指定功能或动作的基于专用硬件的***或专用硬件和计算机指令的组合来实现。这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指导计算机或其它可编程数据处理装置以特定方式运行,使得存储在计算机可读介质中的指令产生包括指令装置的制品,该指令装置实现在流程图和/或一个或更多个流程图框中指定的功能/动作。
本文描述的***和方法使用新的数据处理平台提供了灵活且可扩展的数据仓库(warehouse)。在一些实施例中,所描述的***和方法利用支持基于云的存储资源,计算资源等的云基础设施。示例的基于云的存储资源以低成本提供了按需可用的大存储容量。此外,这些基于云的存储资源可能是容错的并且高度可扩展,这在私有数据存储***中实现可能会很昂贵。示例的基于云的计算资源是按需可用的,并且可以基于资源的实际使用水平来定价。通常,以快速方式动态部署、重新配置和停用(decommission)云基础设施。
在所描述的***和方法中,数据存储***利用基于SQL(结构化查询语言)的关系数据库。然而,这些***和方法适用于使用任何数据存储架构和使用任何语言在数据存储和检索平台内存储和检索数据的任何类型的数据库以及任何类型的数据存储和检索平台。本文描述的***和方法进一步提供了多租户(multi-tenant)***,该多租户***支持隔离不同顾客/客户端(client)之间以及同一顾客/客户端内的不同用户之间的计算资源和数据。
图1是其中可以实现本文公开的***和方法的示例计算环境100的框图。特别地,可以实现云计算平台102,诸如亚马逊网络服务(AMAZON WEB SERVICES,AWS)、微软天蓝色(MICROSOFT AZURE)、谷歌云(GOOGLE CLOUD)等等。如本领域中已知的,云计算平台102提供可以被获取(购买)并且被配置为执行应用和存储数据的计算资源和存储资源。
云计算平台102可以执行数据仓库模块104,该数据仓库模块104提供数据存储(例如数据管理和访问)以及分析功能(例如SQL查询、分析和其它计算能力)二者。例如,数据仓库模块104可以是由SNOWFLAKE实现的数据仓库。数据仓库模块104可以在云计算平台102、不同的云计算平台或与云计算平台102对接的不同服务器上执行以在云计算平台上执行数据仓库功能。
注意,可能存在在多个云计算平台102上执行的数据仓库模块104的实例。数据仓库模块104的这些实例可以彼此通信以便根据本文公开的方法跨多个云计算平台协调数据交换。
数据仓库模块104可以托管或访问交换管理模块106,该交换管理模块106促进不同用户之间的数据共享。例如,数据仓库模块104可以管理数据库108的存储和访问,该数据库108针对不同用户(例如不同的企业或个人)存储用户数据110的各种实例。用户数据可以包括由该用户存储和访问的数据的用户数据库112。
用户数据库112可以受到访问控制,使得仅在使用数据仓库模块104进行认证后,才允许数据所有者改变和访问数据库112。例如,可以对数据库112中的数据进行加密使得仅能够使用数据所有者拥有的解密信息对它进行解密。使用交换管理模块106,可以根据本文公开的方法以受控的方式与其他用户共享来自用户数据库112的受制于这些访问控制的特定数据。特别地,用户可以指定可以以不受控制的方式与公众共享或如上所述以受控的方式与特定其他用户共享的共享114。用户数据110还可指定消费共享116,该消费共享116是该用户已获得访问权的其他用户的共享114。
注意,当第一用户向第一用户的消费共享116添加数据时,消费共享116的数据不被复制到第一用户的用户数据110。取而代之,消费共享116是对第二用户的用户数据110中的共享数据的引用,然后根据第二用户施加的控制,如第一用户所请求对其进行访问。如果由第二用户改变了消费共享116所引用的数据,则第一用户将能够访问该修改的数据(受任何访问控制限制),因为两个用户都使用相同版本的数据。
然后,共享数据可用于处理SQL查询,诸如连接、聚合或其它分析。在一些情况下,第二用户可以定义共享114,使得仅允许关于共享数据执行“安全连接”。可以执行安全连接,使得可以关于共享数据执行分析,但是实际共享数据不能由第一用户访问。可以在2019年3月18日提交并且题为SECURE DATAJOINS in A MULTIPLE TENENT DATABASE SYSTEM(代理人案卷号SNOW-04100)的美国申请序列号16/368,339中所述执行安全连接,该申请的全部内容特此通过引用并入本文。
云计算平台102可以实现服务模块118,诸如软件即服务(SaaS)平台(例如SALESFORCE)。服务模块118可以独立于数据仓库模块104例如由不同的实体操作。因此,服务模块118可以是数据仓库模块104的用户。服务模块118可以定义各种界面,服务模块118的用户可以通过这些界面来访问它。例如,认证界面120可以使用户能够关于服务模块118进行认证,诸如借助于登录信息(用户名和密码)、证书、令牌或其它认证信息。
服务模块118可以创建和/或访问服务数据库128,该服务数据库128存储由用户根据由服务模块118实现的功能生成和使用的用户数据130。因此,用户数据130可以由特定用户拥有,使得仅当通过认证界面120进行认证后,服务模块118才允许访问特定用户的数据130。
在一些实施例中,服务数据库128由数据仓库模块104实现和管理,使得通过由数据仓库模块104定义的界面来执行对数据库128的数据读取和写入。
在所示的配置中,服务模块118和数据仓库模块104驻留在同一云计算平台102中。在其它实施例中,服务模块118在不同的云计算平台上或在单独的服务器***上执行。
诸如膝上型计算机、台式计算机、移动电话、平板计算机或其它计算设备的用户设备126可以用于通过诸如互联网的网络127来访问数据仓库模块104或服务模块118。
在下面的描述中,将动作归因于用户,特别是消费者和提供者。应当理解此类动作是关于由此类用户操作的设备126执行的。例如,对用户的通知可以被理解为是发送到设备126的通知,可以理解是通过用户的设备126接收来自用户的输入或指令,并且用户与界面的交互应该被理解为与用户设备126上的界面的交互。此外,归因于用户(消费者或提供者)的数据库操作(连接、聚合、分析等)应被理解为包括由数据仓库模块104响应于来自该用户的指令执行此类动作。
参考图2,交换管理模块106可以关于一些或全部所示交换数据200进行操作,该数据可以存储在执行交换管理模块106的平台(例如,云计算平台102)上或某个其它位置处。
交换数据200可以包括描述由第一用户(“提供者”)共享的数据的多个列表202。列表202可以包括描述共享数据的元数据204。元数据204可以包括以下一些或全部信息:
·共享数据的共享者的标识符
·共享数据的共享者的统一资源定位符(URL)
·共享的名称
·表的名称(可包括共享表的模式和模式视图)
·共享数据所属的类别
·共享数据的更新频率
·表的目录
·列数和行数
·列或行的名称
·示例表(例如,表的行和列的样本)
·可以针对表运行的示例查询
·表的示例视图
·基于表中数据的示例曲线图、可视化图或仪表板
·供商业智能工具(诸如查找器块)使用的元数据
·表中包含的数据的文本(散文)描述
·描述该表的关键字列表,以便于搜索
·指向与共享数据有关的文档的链接(例如URL)
·刷新间隔,指示共享数据多久更新
·数据最后更新的日期。
列表202可以包括访问控制206。例如,访问控制206可以指示共享数据不受限制地可供公众使用(如本文其它地方使用的“任何共享”)。访问控制206可以指定被允许访问数据的用户类别(特定组或组织的成员)。访问控制206可以指定“点对点”共享(参见图4A的讨论),其中用户可以请求访问,但是仅在提供者的批准下才被允许访问。访问控制206可以指定被排除在能够访问由列表202所引用的数据之外的用户的一组用户标识符。
注意,一些列表202可以被不具有认证或访问许可的用户发现,而只有在随后的认证步骤之后才允许实际访问(参见图4A和图6的讨论)。访问控制206可以指定列表202仅可由特定用户或用户类别发现。
还应注意,列表202的默认功能是共享所引用的数据不可由消费者导出。可替代地,访问控制206可以指定不允许这样做。例如,访问控制206可以指定仅可以关于共享数据执行安全操作(如下所讨论的安全连接和安全函数),使得不允许查看和导出共享数据。
在一些实施例中,一旦关于列表202认证了用户,则对该用户的引用(例如,该用户在数据仓库模块104中的账户的用户标识符)被添加到访问控制206,使得该用户随后将无需进一步认证就可以访问列表202引用的数据。
列表202可以定义一个更或多个过滤器208。例如,过滤器208可以定义在浏览目录220时可以查看对列表202的引用的用户的特定用户标识符214。过滤器208可以定义在浏览目录220时可以查看对列表202的引用的用户类别(特定行业的用户,与特定公司或组织相关联的用户,特定地理区域或国家内的用户)。以该方式,可以由交换管理模块106使用相同的组件来实现私有交换。在一些实施例中,被排除访问列表202(即,将列表202添加到被排除用户的消费共享116)的被排除用户在浏览目录220时仍可以被允许查看列表的表示,并且可以进一步被允许请求访问列表202,如下所讨论的。可以在呈现给列表202的提供者的界面中列出由此类被排除用户和其他用户访问列表的请求。列表202的提供者然后可以查看对列表的访问的需求并选择扩展过滤器208以允许被排除的用户或被排除的用户类别(例如,被排除的地理区域或国家中的用户)的访问权。
过滤器208可以进一步定义用户可以查看哪些数据。特别地,过滤器208可以指示选择列表202以添加到该用户的消费共享116的用户被允许访问该列表所引用的、但仅仅是过滤版本的数据,该过滤版本仅包括与该用户的标识符214相关联、与该用户的组织相关联或特定于用户的某个其它分类的数据。在一些实施例中,私有交换是通过邀请进行的:在传递接受从提供者接收到的邀请后,由提供者邀请以查看私有交换的列表202的用户被允许通过交换管理模块进行私有交换。
在一些实施例中,列表202可以被寻址到单个用户。因此,对列表202的引用可以被添加到用户可查看的一组“待定共享”。在用户将批准传递给交换管理模块106后,该列表202被添加到用户的消费共享116。
列表202可以进一步包括使用数据210。例如,数据仓库模块104可以实现积分***,其中积分由用户购买,并且每次用户运行查询,存储数据或使用由数据仓库模块104实现的其它服务时都将消费积分。因此,使用数据210可以记录通过访问共享数据而消费的积分。使用数据210可以包括其它数据,诸如查询次数、针对共享数据执行的多种类型中的每种类型的聚合次数、或其它使用统计信息。在一些实施例中,用于用户的一个列表202或多个列表202的使用数据以共享数据库的形式被提供给用户(即,交换管理模块106将对包括使用数据的数据库的引用添加到用户的消费共享116)。
交换数据200可以进一步包括用户记录212。用户记录212可以包括识别与用户记录212相关联的用户的数据,例如,具有由数据仓库模块104管理的用户数据110的用户的标识符(例如,仓库标识符)。
用户记录212可以列出用户的共享114,例如,由用户创建的引用列表202。用户记录212可以列出用户消费共享116,例如由另一个用户创建并已根据本文描述的方法与用户的账户相关联的引用列表202。例如,列表202可以具有标识符,该标识符将用于在用户记录212的共享114或消费共享116中引用列表202。
交换数据200可以进一步包括目录220。目录220可以包括所有可用列表202的列表,并且可以包括来自元数据204的数据的索引,以便于根据本文描述的方法进行浏览和搜索。在一些实施例中,列表202以JavaScript对象符号(JSON)对象的形式存储在目录中。
注意,在不同的云计算平台上存在数据仓库模块104的多个实例的情况下,数据仓库模块104的一个实例的目录220可以在一个或更多个其它云计算平台102上存储来自其它实例的列表或对列表的引用。因此,每个列表202可以是全局唯一的(例如,被分配了跨数据仓库模块104的所有实例的全局唯一的标识符)。例如,数据仓库模块104的实例可以同步其目录220的副本,使得每个副本指示可从数据仓库模块104的所有实例获得的列表202。在一些实例中,列表202的提供者可以指定它只能在指定的一个或更多个计算平台102上可用。
在一些实施例中,目录220在互联网上可用,使得其可由诸如BING或GOOGLE的搜索引擎搜索。该目录可能受搜索引擎优化(SEO)算法支配,以提高其可见性。潜在的消费者因此可以从任何网络浏览器浏览目录220。交换管理模块106可以公开链接到每个列表202的统一资源定位符(URL)。该URL可以是可搜索的,可以在由交换管理模块106实现的任何界面之外共享。例如,列表202的提供者可以发布其列表202的URL,以便促进其列表202及其品牌的使用。
图3示出交换管理模块106中可以包括的各种组件300-310。创建模块300可以提供用于创建列表202的界面。例如,数据仓库模块104的网页界面使用户能够在设备126上选择数据,例如用户的用户数据110中的特定表,用于共享并输入定义一些或全部元数据204、访问控制206和过滤器208的值。在一些实施例中,创建可以由用户通过在云计算平台102上执行并通过用户设备126上的网页界面访问的SQL解释器中的SQL命令来执行。
确认模块302可以确认由提供者在尝试创建列表202时提供的信息。注意,在一些实施例中,归因于确认模块302的动作可以由人回顾提供者提供的信息来执行。在其它实施例中,这些动作是自动执行的。确认模块302可以执行或有助于人类操作员执行以下动作中的一些或全部:
·验证元数据204是一致的,例如引用的共享数据与描述共享数据的任何其它信息是一致的。
·验证元数据204引用的共享数据不是盗版数据、个人识别信息(PII)、个人健康信息(PHI)或不希望共享或非法的其它数据。
·验证数据是否新鲜并在合理的时间段内(例如至少每天)更新。
·验证数据不是静态的(即,无法从其它静态公共源获得)。
·验证数据不只是样本,即数据足够完整进而有用的。例如,地理上受限制的数据可能是不希望的,而在其他方面没有限制的数据的聚合可以仍然是有用的。
交换管理模块106可以包括搜索模块304。搜索模块304可以实现可由用户在用户设备126上访问的网页界面,以便关于目录220中的元数据调用对搜索字符串的搜索,接收对搜索的响应,并选择对搜索结果中列表202的引用,以将其添加到执行搜索的用户的用户记录212的消费共享116中。在一些实施例中,搜索可以由用户通过在云计算平台102上执行并通过用户设备126上的网页界面访问的SQL解释器中的SQL命令来执行。例如,可以通过针对下面讨论的SQL引擎310内的目录220的SQL查询来执行共享的搜索。
搜索模块304可以进一步实现推荐算法。例如,推荐算法可以基于用户的消费共享116中或先前在用户的消费共享中的其它列表来为用户推荐其它列表202。推荐可以基于逻辑相似性:一种天气数据来源导致第二天气数据来源的推荐。可以基于不同点进行推荐:一个列表用于一个域(地理区域、技术领域等)中的数据,结果导致不同域(不同地理区域、相关技术领域等)中的列表,以便于用户分析的完整覆盖。
交换管理模块106可以包括访问管理模块306。如上所述,用户可以添加列表202。这可能需要关于列表202的提供者的认证。一旦列表202被添加到用户的用户记录212的消费共享116,用户可以(a)每次访问列表202引用的数据时都需要认证,或者(b)一旦添加了列表202就自动认证并被允许访问数据。访问管理模块306可以管理对用户的消费共享116中的数据的后续访问的自动认证,以便提供对共享数据的无缝访问,就好像它是该用户的用户数据110的一部分一样。为此,访问管理模块306可以访问列表202的访问控制206、证书、令牌或其它认证材料,以便在执行对共享数据的访问时对用户进行认证。
交换管理模块106可以包括连接模块308。连接模块308管理由用户的消费共享116引用的共享数据(即来自不同提供者的共享数据)彼此以及与用户拥有的数据的用户数据库112的集成。特别地,连接模块308可以管理关于这些各种数据来源的查询和其它计算功能的执行,使得它们的访问对用户是透明的。连接模块308可以进一步管理数据的访问以对共享数据实施限制,例如使得可以执行分析并显示分析结果,而不会将基础数据暴露给数据消费者(其中该限制由列表202的访问控制206指示)。
交换管理模块106可进一步包括标准查询语言(SQL)引擎310,该SQL引擎被编程为从用户接收查询并关于查询所引用的数据执行查询,该数据可以包括用户的消费共享116和用户拥有的用户数据112。SQL引擎310可以执行本领域中已知的任何查询处理功能。SQL引擎310可以另外地或可替代地包括本领域中已知的任何其它数据库管理工具或数据分析工具。SQL引擎310可以定义在云计算平台102上执行的网页界面,通过该网页界面输入SQL查询并呈现对SQL查询的响应。
参考图4A,所示的方法400可以由交换管理模块106执行,以便实现第一用户(“提供者402”)和第二用户(“消费者404”)之间的点对点共享。
方法400可以包括提供者输入406元数据。这可以包括提供者的设备126上的用户将元数据输入到由交换管理模块106提供的网页中的表格的字段中。在一些实施例中,可以通过SQL引擎310使用SQL命令来输入406元数据。元数据项可以包括以上关于列表202的元数据204所讨论的那些项中的一些或全部。步骤406可以包括接收用于列表202的其它数据,诸如访问控制206和定义过滤器208的参数。
提供者402然后可以在设备126上调用表格和输入数据的提交。
交换管理模块106然后可以验证408元数据并确认410由元数据引用的数据。这可以包括执行归因于确认模块302的一些或全部动作。
如果元数据和共享数据没有被成功验证408和确认410,则交换管理模块106可以诸如借助于通过网络界面的通知来通知提供者402,在步骤406通过该网络界面提交元数据。
如果元数据和共享数据没有被成功验证408和确认410,则交换管理模块106可以诸如通过在步骤406通过其提交元数据的网络界面来通知提供者402。
交换管理模块106可以进一步创建412包括在步骤406提交的数据的列表202,并且可以进一步在目录220中创建条目。例如,元数据中的关键字、描述性文本和其它信息项可以被索引以便于搜索。
注意,步骤406-412可以借助于提供给提供者402的界面来执行。此类界面可以包括诸如:
·界面元素,用于输入列表202的数据(元素204-210中的一些或全部),并调用列表202向目录220的添加。
·调用取消发布列表202(例如,使其他用户不可查看)的界面元素。
·编辑列表的元数据204并改变为元数据204的较新版本或回滚到先前版本。
·用于查看列表202的再现(就像它将呈现给消费者404的那样)的界面元素。
·添加列表202的待定请求列表以及用于调用添加列表202的请求的批准、拒绝添加列表202的请求的界面元素。
·界面元素,用于调用向消费者404添加列表202的权限的撤销,该权限先前已被批准以添加列表,或向所有消费者404删除对列表202的所有访问。
·已经添加了提供者402的列表202的消费者404的编号(number)和身份的表示。
·该列表202的所有消费者404或特定消费者404对列表202引用的数据的使用模式的表示。
然后,充当消费者404的另一用户可以浏览414目录。这可以包括访问提供目录搜索界面的可公开访问的网页。该网页可以在数据仓库模块104的外部,即可以由未登录数据仓库模块104的用户访问。在其它实施例中,只有登录到数据仓库模块104的用户才能够访问搜索界面。如上所述,可以使用对引用目录220的SQL引擎310的查询来执行目录220的浏览。例如,用户设备126可以具有到SQL引擎310的基于网络的界面,通过该界面针对目录220的查询由消费者404输入并被发送到SQL引擎310。
响应于消费者的浏览活动,交换管理模块106可以显示目录并关于该目录执行416搜索,以识别具有与消费者404提交的查询或搜索字符串相对应的元数据的列表202。执行该搜索的方式可以根据本领域中已知的任何搜索算法。在SQL查询的情况下,可以根据本领域中已知的用于处理SQL查询的任何方法来处理查询。
交换管理模块106可以将搜索字符串或SQL查询的结果返回给消费者404的设备126,诸如以对根据搜索算法或处理SQL查询所识别的列表202的引用列表的形式。该列表可以包括元数据项或消费者404可以选择以调用元数据显示的链接。特别地,列表202的元数据204的任何项可以显示在列表中或通过列表中与搜索记录202相对应的条目链接。
注意,图4A中引用的交换可以是私有交换或公共交换。特别地,在浏览414期间被显示和搜索416并且消费者404可以查看的那些列表202可以限于具有过滤器208的那些列表,该过滤器208指示该列表202可以被消费者404、消费者的组织或消费者404所属的某个其它分类查看。在交换是公开的情况下,则在一些实施例中,消费者404不需要满足任何过滤标准。
方法400可以包括消费者404请求418访问与列表202相对应的数据。例如,通过在消费者404的设备126上选择列表中的条目,这调用到交换管理模块106的请求的传输,以将与该条目相对应的列表202添加到消费者404的用户记录212中的消费共享116中。
在所示的示例中,所选条目的列表202具有访问控制206。因此,交换管理模块106可以将请求连同消费者404的标识符一起转发420至提供者402。消费者404和提供者402然后可以交互以执行以下两者之一或两者:(a)关于提供者402认证422(登录424)消费者404;以及(b)处理422用于访问列表202所引用的数据的支付。该交互可以根据任何登录或认证或本领域已知的方法。同样地,可以实现用于处理各方之间的支付的任何方法。在一些实施例中,由于在访问提供者的共享数据时消费者404消费的积分,数据仓库模块可以向提供者402提供折扣。积分可以是由用户购买的使用单位,然后响应于消费者404所使用的数据仓库模块104的服务(例如,对由数据仓库模块104托管的数据执行的查询和其它分析)而被消费。交互可以直接在消费者404的设备126与提供者402之间进行,或可以通过交换管理模块106执行。在一些实施例中,交换管理模块106使用访问控制信息206来认证消费者404,使得不需要与提供者402的交互。同样,列表202可以定义支付条款,使得交换管理模块106无需与提供者402交互就可以处理支付。一旦提供者402确定消费者404被认证并被授权访问列表202所引用的数据,则提供者402可以向交换管理模块106通知426消费者404可以访问列表202所引用的数据。作为响应,交换管理模块将对列表202的引用添加428到消费者404的用户记录212中的消费共享116。
注意,在一些情况下,列表202没有列出特定数据,而是引用了特定服务模块118,例如服务的品牌名称或公司名称。因此,访问列表202的请求是访问发出请求的消费者的用户数据130的请求。因此,步骤422、424、426包括关于认证界面120对消费者404进行认证,使得服务模块118可以验证消费者404的身份并向交换管理模块106通知哪些数据要与消费者404共享。并指示消费者404被授权访问该数据。
在一些实施例中,这可以使用“单点登入”方法来实现,其中,消费者404关于服务模块118进行一次认证(登录),并且然后使其能够访问服务数据库128中的消费者404数据。例如,交换管理模块106可以在消费者404的设备126上向服务模块118呈现界面。消费者404将认证信息(用户名和密码、证书、令牌等)输入到界面中,并且该信息被转发到服务模块118的认证界面120。认证界面120处理认证信息,并且,如果该信息对应于用户账户,则向交换管理模块106通知关于该用户账户认证了消费者404。交换管理模块106然后可以识别该用户账户的用户数据130并创建引用该用户数据130的数据库。然后,对该数据库的引用将被添加到消费者404的消费共享116。
在一些实施例中,关于数据仓库模块104的用户认证足以关于服务模块118认证用户,使得鉴于消费者404的先前认证,省略了步骤422、424。例如,消费者404可以将数据仓库模块104指示给服务模块118以被授权验证消费者404的身份。
在一些实施例中,交换管理模块106使用访问控制信息206来认证消费者404,使得不需要与提供者402的交互。同样,列表202可以定义支付条款,使得交换管理模块106无需与提供者的402交互就可以处理支付。因此,在此类实施例中,步骤422由交换管理模块106执行,并且步骤426被省略。一旦消费者404被认证和/或被提供所需的支付,则交换管理模块106然后执行步骤428。
在一些实施例中,将列表202添加到消费者404的消费共享中可以进一步包括:从消费者404接收对呈现给消费者404的条款的认同。在一些实施例中,在消费者404已经根据本文所述的方法400或其它方法添加了列表202之后,由提供者402改变协议的条款的情况下,交换管理模块106可以要求消费者404同意改变的条款,然后再允许其继续访问列表202引用的数据。
添加428列表202引用的数据可以包括创建引用数据的数据库。然后可以将对该数据库的引用添加到消费共享116,并且然后可以将该数据库用于处理引用共享记录所引用的数据的查询。添加428数据可以包括添加根据过滤器208过滤的数据。例如,列表202所引用并且与消费者404、消费者404的组织或消费者404的某个其它分类相关联的数据(例如,数据的过滤视图)。
在一些实施例中,将列表202添加到用户记录212可以包括改变列表202的访问控制206以引用消费者404的身份数据214,使得访问列表202所引用的数据的尝试将由交换管理模块106允许并执行。
消费者404然后可以通过消费者的设备126将查询输入430到SQL引擎310。该查询可以引用在步骤428处添加的列表202中引用的数据以及在用户数据库112和消费共享116中引用的其它数据。然后,SQL引擎310使用在步骤428处创建的数据库处理432查询,并将结果返回给消费者404,或者创建视图,实例化视图或用户可以访问或分析的其它数据。如上所述,由查询操作的消费共享的数据可能先前已被过滤以仅包括与消费者404有关的数据。因此,将相同列表202添加到其消费共享116的不同消费者404将会看到列表202所引用的数据库的不同版本。
参考图4B,在一些实施例中,可以使用所示的数据结构来实现根据消费者404的身份的数据的私有共享和数据过滤。例如,提供者402的服务数据库128可以包括顾客映射434,该顾客映射434包括由提供者402提供的服务(例如,由服务器的服务模块118实现的服务)的用户的顾客标识符436的条目,以及作为用于采用认证界面120进行认证的标识符的顾客标识符436的条目。顾客映射434可以将每个顾客标识符436映射到仓库标识符438,即用户用于向仓库模块104进行认证的用户标识符,使得同一用户对应于两个标识符436、438。可以通过如上所述认证(例如,上述单点登入方法)来执行标识符436和438之间的映射。
顾客映射434可进一步包括对权利表442的引用440,该权利表442可以是多个权利表442中的一个权利表。每个权利表442定义可以采用映射到其的顾客ID 436访问提供者402的一个或更多个表444中的哪个表。权利表442可以进一步定义可以采用顾客ID 436访问的表444的列。权利表442可进一步定义可采用顾客ID 436来访问的表444的行。权利表442可以进一步定义可采用顾客ID 436来访问的表444的模式。
因此,表444的列表202可以指定如由顾客映射434定义的那样执行对数据表444的访问。例如,参考图4C,当消费者404请求为根据顾客映射为其定义访问的数据库添加列表202时,交换管理模块126可以根据映射到消费者404的仓库标识符438的顾客标识符436和权利表442来创建安全视图446。安全视图可以通过执行根据顾客标识符436过滤的,在权利表442中指定的数据库的数据表444(或如在权利表442中指定的数据的一部分)的安全连接而生成,使得连接结果仅包括特定顾客标识符436的数据,并且仅包括在权利表442中指定的数据库的那些部分(表444和/或表444的部分)。生成安全视图的方式可以如2018年8月6日提交和题为“SECURE DATA SHARING IN A MULTI-TENANT DATABASE(代理人案卷号SNOW-02800)”的美国申请序列号16/055,824和2019年1月7日提交和题为“SECURE DATA SHARINGIN A MULTI-TENANT DATABASE(代理人案卷号SNOW-02801)”的美国申请序列号16/241,463中所述,这两个申请特此通过引用全部并入本文。
图5示出用于共享数据的替代方法500,该替代方法500可以在消费者请求418添加对公众可用的列表202时执行。在该情况下,交换管理模块106将对列表202的引用添加428到消费者404的消费共享116,并且省略认证或支付步骤。可以如上所述执行步骤428,除了不执行对访问控制206的改变之外。同样,如上所述,可以关于共享数据执行步骤430和432。图5的交换可以是上面关于图4A所述的公共交换或私有交换。图5示出如果列表202可查看的情况(即,如上所述,过滤标准允许消费者404查看),消费者404可以将列表202添加到消费者404的消费共享116中,而无需进一步的认证或支付。
注意,当根据本文公开的任何方法将列表202添加到用户的消费共享116中时,当列表202所引用的数据被更新时,交换管理模块106可以向消费者通知列表202。
参考图6,在一些实施例中,方法600可以包括消费者404从交换管理模块106浏览目录并如本文所述的其它方法(例如参见图4A和图5)所描述的那样选择列表202,关于列表所引用的数据(“共享数据”)的双向共享以及用户数据库112中的附加数据(“用户数据”)。注意,在一些实施例中,提供者402的列表202不引用任何特定数据(例如,特定表或数据库),而是关于消费者404提供的数据提供执行服务。因此,在此类情况下,如下所讨论的,“共享数据”可以被理解为用“所提供的服务”代替。
响应于该请求,交换管理模块106关于消费者404和提供者402实现604共享数据的点对点共享。这可以如以上关于图4A所描述地执行,例如包括对消费者404的认证,并且可能过滤共享数据以仅包括与消费者404相关联的数据,如上所述。交换管理模块106可以进一步如关于图4A所述关于提供者402实现用户数据的点对点共享,除了:(a)消费者404充当提供者,而提供者402充当用户数据的消费者,并且用户的数据被添加到提供者402的消费共享116中,并且(b)消费者404无需创建用于用户数据的列表202,并且用户数据也无需在目录220中列出。
在步骤606之后,消费者404或提供者402都可以访问共享数据和用户数据。然后,可以针对这两者运行查询,连接它们,对连接的数据执行聚合,或关于多个数据库执行本领域已知的任何其它动作。
在一些实施例中,双向共享可以包括或由消费者404请求包括,提供者402还连接608共享数据和用户数据以获得连接数据,并且采用将连接数据的引用添加612到消费者404的消费共享116的请求(交换管理模块106所做),将连接数据的引用返回610给交换管理模块106。
因此,消费者404现在将有权访问连接的数据。步骤608可以进一步包括在连接之前或之后对用户数据和共享数据执行其它动作(聚合、分析)。数据仓库模块104可以响应于来自消费者404的这样做的请求来执行步骤608。
注意,连接结果可以是(a)作为连接结果的新数据库,或者(b)定义共享数据和用户数据的连接的连接数据库视图。
来自步骤608(连接,聚合,分析等)的结果可以可替代地被添加到在步骤606、608处执行的原始共享,例如,定义在步骤608处执行的操作的视图(实例化或非实例化)。
数据仓库模块104也可以响应于来自消费者404或提供者402的这样做的请求而独立于在步骤602处所做出的请求,来执行步骤608-612。
注意,在许多情况下,有许多消费者404尝试关于提供者402执行双向共享,并且这些消费者404可能关于其用户数据寻求双向共享,该用户数据可能采用许多不同的格式(模式),该格式(模式)可能与提供者402的共享数据所使用的模式不同。因此,步骤608可以包括变换步骤。变换步骤将用户数据的源模式映射到共享数据的目标模式。该变换可以是由人类操作员提供的静态变换。该变换可以根据将源模式的列标签映射到目标模式的对应列标签的算法。该算法可以包括被训练以执行变换的机器学习或人工智能模型。例如,多个训练数据条目可以由人类注释者指定,每个条目都包括作为输入的源模式,而作为输出包括源模式和目标模式之间的映射。然后,这些条目可用于训练机器学习或人工智能算法,以针对给定输入源模式输出到目标模式的映射。
添加到消费者404和提供者402所消费的共享的数据然后可以分别由消费者404和提供者402操作,诸如通过针对数据执行查询,聚合数据,分析数据或执行本文描述为关于添加到用户的消费共享116的共享执行的任何其它动作。
参考图7,如本文所述的共享和消费数据的方法使得能够丰富数据并将该丰富的数据返回到交换。例如,提供者A可以以与本文描述的其它方法相同的方式请求702与交换共享数据(共享1)。交换管理模块106验证、确认并将共享1添加704到目录220。
然后,第二提供者B可以浏览目录220并将共享1添加706到其消费共享116。提供者B可以对共享数据执行708操作,诸如将其与其它数据连接,执行聚合,和/或执行关于共享1的其它分析,导致修改的数据(共享2)。然后,提供者B可以请求710与本文所述的交换来共享共享2。注意,步骤708的连接可以包括连接任何数量的数据库,诸如基于任何数量的其他用户的任何数量的列表的任何数量的共享。因此,可以将许多用户对步骤702-710的迭代视为一种层次结构,其中,基于来自大量列表202的数据,将多个用户的大量列表202缩小为较小数量的列表202。
交换管理模块106验证、确认并将共享2添加712到目录220。随着提供者A、提供者B或不同的提供者添加共享2,基于它生成修改的数据,并且以相同的方式将结果添加回目录,可以关于共享2重复714该过程。以该方式,可以使用户获得丰富的数据和分析生态***。根据方法700的共享可以是根据本文公开的方法的任何共享、点对点共享、私有交换共享或双向交换共享。
注意,存在提供者可以关于基于列表202的列表202执行步骤708和710的可能性。例如,提供者B使用提供者A的列表L1来创建列表L2,提供者C使用该列表L2来创建列表L3,提供者A使用该列表L3来定义列表L1。此类回路可以包括任何数量的步骤。这在一些情况(使得鉴于从L1派生L3,不允许将列表L1修改为引用L3)下可能是不可取的。在其它情况下,如果刷新每个列表引用的数据时存在时间延迟,则允许此类循环。例如,L1可以引用L3,前提是L3直到刷新L1之后的某个时间才会被刷新,并且因此循环引用不会无限期地导致L1和L3的连续更新。
在步骤712处创建的列表(共享2)可以(a)包括在步骤708之后剩余的,来自共享1的数据副本,并如根据步骤708修改,或者(b)包括视图,该视图引用共享1(例如,数据库,其根据本文公开的方法基于共享1的列表202创建),并定义在步骤708处执行的操作,而没有包括来自共享1或从共享1派生的实际数据。因此,如上所述的层次结构可以是视图的层次结构,该视图引用作为根据方法700创建的视图的列表202或根据本文公开的任何方法来自一个或更多个提供者的数据的列表202中的一个或二者。
在本文公开的方法中,公开了用于创建共享(列表202)和用于添加共享的方法。以类似的方式,消费者404可以指示交换管理模块106删除添加的共享。提供者402可以指示交换管理模块106停止共享某些列表202。在一些实施例中,这可以伴随有避免干扰那些列表202的消费者404的动作。诸如通过通知这些消费者404并仅在通知后的指定时间段之后或在所有消费者404从其消费共享116中删除对列表202的引用之后,才停止共享列表202。
用例
在第一用例中,公司根据上述方法实现私有交换。特别地,公司的列表202仅由与公司相关联的消费者404(员工、管理人员、投资者等)可查看。同样,仅允许与公司相关联的人员添加列表202。当将列表202添加到消费共享116时,可以基于添加该列表的消费者的身份,即与该消费者在公司中的角色有关的数据来对其进行过滤。
在第二用例中,提供者402为尚未成为数据仓库模块104用户的消费者404创建读取器或读取器/写入器账户。该账户可与该消费者的账户数据相关联(参见以上讨论的图4B的消费者映射)。然后,消费者404可以登录到该账户,并且然后访问提供者的列表以访问由提供者402管理的消费者数据404(例如,参见图4A的讨论)。
在第五用例中,消费者404添加私有的共享(例如,由于消费者404的身份,根据上述方法可访问),以及公共的共享。然后,消费者404可以将这些共享连接,并用于处理查询。
在第六用例中,可以基于订阅(例如,每月)共享列表202,或者可以基于每个查询的价格或积分提升乘数来访问列表202。因此,交换管理模块106可以管理支付和访问的处理,使得消费者404被允许访问受定价模型支配的数据(订阅、每个查询等)。
在第七用例中,交换管理模块实现可用于处理私有数据的安全函数和安全机器学习模型(训练和评分二者),使得允许消费者404使用该函数或机器学习模型的结果,但无权访问由该函数或机器学习模型处理的原始数据。同样,不允许共享数据的消费者导出共享数据。尽管如此,允许消费者关于共享数据执行复杂的分析功能。例如,可以实现以下安全函数以使得能够以安全方式查看顾客购物数据:
选择6139作为input_item,ss_item_sk作为basket_Item,从udf_demo.public.sales中对baskets计数(不同的ss_ticket_number),其中ss_ticket_numberin(select ss_ticket_number from udf_demo.public.sales where ss_item_sk=6139)group by ss_item_sk order by 3desc,2;
安全函数还可以包括关于共享数据执行的分析功能。例如,可以关于共享数据执行下面概述的安全函数1、函数2和函数3。
函数1:
创建或替换安全函数
UDF_DEMO.PUBLIC.get_market_basket(input_item_sk number(38))返回表(input_item NUMBER(38,0),basket_item_sk NUMBER(38,0),num_baskets NUMBER(38,0))
作为
'select input_item_sk,ss_item_sk basket_Item,count(distinct ss_ticket_number)baskets from udf_demo.public.sales where ss_ticket_number in(select ss_ticket_number from udf_demo.public.sales where ss_item_sk=input_item_sk)group by ss_item_sk order by 3desc,2';
函数2:
使用数据库UDF_DEMO;
如果不存在,则创建共享UDF_DEMO_SHARE;
授权对数据库UDF_DEMO的使用以共享UDF_DEMO_SHARE;
授权对UDF_DEMO.PUBLIC模式的使用以共享UDF_DEMO_SHARE;
授权对UDF_DEMO.PUBLIC.get_market_basket(number)函数的使用以共享UDF_DEMO_SHARE;
更改共享UDF_DEMO_SHARE添加账户=<消费者账户id>;
函数3:
使用角色accountadmin;
从共享<provider_account>.UDF_DEMO_SHARE创建数据库UDF_TEST;
向角色PUBLIC授权数据库UDF_TEST的导入特权;
使用数据库UDF_TEST;
从表(UDF_TEST.PUBLIC.get_market_basket(6139))中选择*;
INPUT_ITEM BASKET_ITEM_SK NUM_BASKETS
在第八用例中,交换管理模块106可以将一个或更多个消费者404对列表202的使用统计信息(例如查询、使用的积分、扫描的表、命中的表等)提供给列表的提供者402。
在第九用例中,本文公开的***和方法用于特定于行业的应用。例如:
1.网络安全
a.允许共享风险矢量、不良行为者、IP白名单/黑名单、正在进行的实时攻击、已知的好/坏电子邮件程序等。
2.医疗保健
a.安全共享患者/结果/费用等信息
b.保护多医院数据库,使患者可以将信息共享给多个提供者(例如,如果我前往佛罗里达州并去急诊室,则他们可以从不同的医院和提供者那里访问我的记录)。
根据本文公开的***和方法,其它行业也可以从数据的私有或公共共享中受益。诸如金融服务业、电信业、媒体和广告业、政府机构、军队和情报机构。
在第十用例中,第一用户为第二用户提供营销服务,因此,第二用户与第一用户共享顾客列表。第一用户向第二用户共享关于营销活动的数据,诸如活动元数据、当前用户事件(特定用户的会话开始/结束,特定用户的购买等)。这可以使用图6的双向共享来实现。可以连接该数据(来自第一用户的顾客列表+顾客事件),以便更好地了解特定用户或一组用户的事件。如上所述,可以在不创建副本或传送数据的情况下执行数据交换-每个用户访问共享数据的相同副本。由于没有数据传送,因此在发生顾客事件时可以几乎实时地访问数据。
例如,第二用户可以共享没有个人识别信息(PII)但包括非PII顾客数据的行和列的顾客概况表,该非PII顾客数据可以包括包含密钥/值阵列的一个或更多个列。交换管理模块106可以将该数据转换为JSON更新流,并诸如通过第一用户的API与第一用户共享这些。例如,更新的形式可以为{成员ID,时间戳,新属性/更改属性的JSON}。在一些实施例中,交换管理模块可以绘制引用架构或基于共享数据定义输出表以供第一用户使用。
图8是描绘示例计算设备800的框图。在一些实施例中,计算设备800用于实现本文所讨论的***和组件中的一个或更多个,诸如云计算平台102和用户设备126。计算设备800可以用于执行各种过程和任务,诸如本文所讨论的那些。计算设备800可以用作服务器、客户端或任何其它计算实体。计算设备800可以是多种计算设备中的任何一种,诸如台式计算机、笔记本计算机、服务器计算机、手持式计算机、平板计算机等。
计算设备800包括一个或更多个处理器802、一个或更多个存储器设备804、一个或更多个界面806、一个或多个大容量存储设备808(硬盘驱动器824、远程存储装置826等),以及一个或更多个输入/输出(I/O)设备810,所有这些都耦合到总线812。处理器802包括一个或更多个处理器或控制器,它们执行存储在存储器设备804和/或大容量存储设备808中的指令。处理器802还可以包括各种类型的计算机可读介质,诸如高速缓冲存储器。
存储器设备804包括各种计算机可读介质,诸如易失性存储器(例如,随机存取存储器(RAM)814)和/或非易失性存储器(例如,只读存储器(ROM))。存储器设备804还可以包括可重写ROM 816,诸如闪存。
大容量存储设备808包括各种计算机可读介质,诸如磁带、磁盘、光盘、固态存储器(例如闪存)等。大容量存储设备808中还可包括各种驱动器,以使得能够从各种计算机可读介质读取和/或写入各种计算机可读介质。大容量存储设备808包括可移除介质和/或不可移除介质。
I/O设备810包括允许将数据和/或其它信息输入到计算设备800或从计算设备800检索的各种设备。示例I/O设备810包括光标控制设备、键盘、小键盘、麦克风、监视器或其它显示设备830、扬声器、打印机、网络接口卡、调制解调器、镜头、CCD或其它图像捕获设备等。
界面806包括允许计算设备800与其它***、设备或计算环境交互的各种界面。示例界面806包括用户界面818或任何数量的不同网络界面820,诸如到局域网(LAN)、广域网(WAN)、无线网络和互联网的界面。界面806可以进一步包括到***设备的界面822。
总线812允许处理器802、存储器设备804、界面806、大容量存储设备808和I/O设备810彼此以及与耦合到总线812的其它设备或组件通信。总线812代表几种类型的总线结构中的一种或更多种,诸如***总线、PCI总线、IEEE 1394总线、USB总线等。
为了说明的目的,程序和其它可执行程序组件在本文中被示为分立的块,但是应当理解,此类程序和组件可以在各种时间驻留在计算设备800的不同存储组件中,并且由处理器802执行。可替代地,本文所述的***和过程可以以硬件或硬件、软件和/或固件的组合来实现。例如,可以对一个或更多个专用集成电路(ASIC)进行编程以执行本文所述的***或过程中的一个或更多个。
尽管根据某些优选实施例描述了本公开,但是鉴于本公开的益处,其它实施例对于本领域普通技术人员将是显而易见的,包括未提供本文阐述的所有益处和特征的实施例,它们也在本公开的范围内。应该理解,在不脱离本公开的范围的情况下,可以利用其它实施例。

Claims (23)

1.一种方法,包括:
提供在云计算平台上执行的数据仓库,所述数据仓库管理多个数据库,所述多个数据库中的每个数据库具有所有者,所述数据仓库针对所述多个数据库中的每个数据库的所有者实施访问控制;
由所述数据仓库执行来自是所述多个数据库中的第一数据库的所有者的第一用户的第一指令,以在交换中创建列表,所述列表引用所述第一数据库并指定所述第一数据库的基于私有身份的共享;
由所述数据仓库接收来自第二用户的第二指令,所述第二指令引用所述列表,并指示所述数据仓库将所述列表添加到能够由所述第二用户访问的一组消费数据共享;
响应于所述第二指令,(i)由所述数据仓库验证所述第二用户的身份,(ii)由所述数据仓库根据所述第一数据库的所述基于私有身份的共享来验证所述第二用户的身份被允许,以及(iii)将对所述列表的引用添加到能够由所述第二用户访问的一组消费数据共享,而不创建所述第一数据库的第二副本;
由所述数据仓库接收来自所述第二用户的第三指令,以执行关于所述第一数据库的数据库操作;以及
响应于所述第三指令,由所述数据仓库执行关于所述第一数据库的所述第三指令。
2.根据权利要求1所述的方法,其中,(ii)包括:
由所述数据仓库从与所述第一用户相对应的服务模块接收对以下内容的验证:已经关于所述服务模块验证了所述第二用户的身份。
3.根据权利要求1所述的方法,其中,(iii)包括:
创建包括所述第一数据库与映射到所述第二用户的标识符的权利表的连接的视图,所述权利表指示所述第一数据库的能够由所述第二用户访问的部分;
将对所述视图的引用添加到所述第二用户的所述一组消费数据共享。
4.根据权利要求1所述的方法,其中,(ii)包括:
由所述数据仓库向所述第二用户呈现界面以提供认证信息;
由所述数据仓库通过所述界面从所述第二用户接收所述认证信息;
由所述数据仓库将所述认证信息转发给与所述第一数据库相对应的服务模块,所述服务模块在所述数据仓库的外部;
由所述数据仓库从所述服务模块接收对以下内容的验证:已经关于所述服务模块验证了所述第二用户的身份。
5.根据权利要求4所述的方法,其中,所述服务模块是软件即服务(SaaS)模块。
6.根据权利要求1所述的方法,其中,(iii)包括:
过滤所述第一数据库以获得所述第一数据库的与所述第二用户相对应的部分;以及
将对所述第一数据库的所述部分的引用添加到能够由所述第二用户访问的所述一组消费数据共享。
7.根据权利要求1所述的方法,其中,所述第一指令还定义用于所述列表的视图过滤器,所述方法包括:
由所述数据仓库接收来自所述第二用户的浏览所述交换的请求;
(a)由所述数据仓库验证根据所述视图过滤器所述第二用户被允许查看所述列表;以及
响应于(a),向所述第二用户呈现所述列表的表示。
8.根据权利要求7所述的方法,进一步包括:
由所述数据仓库接收用于所述列表的元数据,所述元数据描述所述第一数据库;
其中,呈现所述列表的表示包括显示所述元数据的至少一部分。
9.根据权利要求8所述的方法,进一步包括:
在将对所述列表的引用添加到所述交换之前,由所述数据仓库验证所述元数据相对于所述第一数据库是准确的。
10.根据权利要求8所述的方法,进一步包括:
在将对所述列表的引用添加到所述交换之前,由所述数据仓库验证所述第一数据库不包含私有标识信息或私有健康信息。
11.根据权利要求1所述的方法,其中,所述数据仓库和所述多个数据库位于云计算平台内。
12.根据权利要求1所述的方法,进一步包括:
由所述数据仓库向所述第一用户提供所述第二用户对所述第一数据库的使用情况报告。
13.一种方法,包括:
提供在云计算平台上执行的数据仓库,所述数据仓库管理多个数据库,所述多个数据库中的每个数据库具有所有者,所述数据仓库针对所述多个数据库中的每个数据库的所有者实施访问控制;
由所述数据仓库执行来自是所述多个数据库中的第一数据库的所有者的第一用户的第一指令,以在交换中创建列表,所述列表引用所述第一数据库并指定所述第一数据库的基于私有身份的共享;
由所述数据仓库接收来自第二用户的第二指令,所述第二指令引用所述列表和所述多个数据库中的第二数据库,所述第二用户是所述第二数据库的所有者,所述第二指令指示所述数据仓库执行关于所述第二数据库和所述第一数据库的双向共享;
响应于所述第二指令,由所述数据仓库执行以下二者:
将所述第一数据库添加到所述第二用户的一组消费共享;
将所述第二数据库添加到所述第一用户的一组消费共享。
14.根据权利要求13所述的方法,进一步包括:响应于所述第二指令,由所述数据仓库执行:
连接所述第一数据库和所述第二数据库以获得结果;以及
将所述结果添加到所述第一用户的所述一组消费共享;
其中,所述结果是所述第一数据库和所述第二数据库的连接数据库视图和通过连接所述第一数据库和所述第二数据库获得的第三数据库中的至少一个。
15.根据权利要求14所述的方法,其中,连接所述第一数据库和所述第二数据库以获得第三数据库包括:
变换所述第二数据库以获得具有所述第一数据库的模式的变换的数据库;以及
连接所述变换的数据库和所述第一数据库以获得所述第三数据库。
16.根据权利要求14所述的方法,进一步包括:
由所述数据仓库接收来自所述第二用户的第三指令,以执行关于所述结果的数据库操作;以及
响应于所述第三指令,由所述数据仓库执行关于所述结果的所述第三指令。
17.根据权利要求14所述的方法,进一步包括:
由所述数据仓库接收来自所述第一用户的第三指令,以执行关于所述结果的数据库操作;以及
响应于所述第三指令,由所述数据仓库执行关于所述结果的所述第三指令。
18.根据权利要求17所述的方法,进一步包括:
由所述数据仓库将对所述结果的引用添加到所述第二用户的所述一组消费共享。
19.根据权利要求13所述的方法,其中,所述交换不包括在接收到所述第二指令之前引用所述第二数据库的列表。
20.根据权利要求13所述的方法,其中,所述数据仓库和所述多个数据库位于云计算平台内。
21.一种方法,包括:
提供在云计算平台上执行的数据仓库,所述数据仓库管理多个数据库,所述多个数据库中的每个数据库具有所有者,所述数据仓库针对所述多个数据库中的每个数据库的所有者实施访问控制;
由所述数据仓库执行:
执行来自是所述多个数据库中的第一数据库的所有者的第一用户的第一指令,以在交换中创建第一列表,所述第一列表引用所述第一数据库并指定所述第一数据库的基于私有身份的共享;
执行来自是所述多个数据库中的第二数据库的所有者的第二用户的第二指令,以将所述第一列表添加到能够由所述第二用户访问的一组消费数据共享;
执行来自所述第二用户的第三指令,以执行包括将所述第一数据库与所述第二数据库连接以获得结果的数据库操作;以及
执行来自所述第二用户的第四指令,以在所述交换中创建第二列表,所述第二列表引用所述结果。
22.根据权利要求21所述的方法,其中,所述第三指令进一步包括将所述第一数据库和所述第二数据库连接到一个或更多个附加数据库的指令。
23.根据权利要求21所述的方法,其中,所述第三指令进一步包括关于所述第一数据库、所述第二数据库和所述结果中的任何一个执行聚合和分析中的至少一者的指令。
CN202080003955.6A 2019-05-31 2020-05-06 数据交换 Active CN112424766B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/428,592 US10977268B2 (en) 2019-05-31 2019-05-31 Data exchange
US16/428,592 2019-05-31
PCT/US2020/031709 WO2020242739A1 (en) 2019-05-31 2020-05-06 Data exchange

Publications (2)

Publication Number Publication Date
CN112424766A CN112424766A (zh) 2021-02-26
CN112424766B true CN112424766B (zh) 2024-05-17

Family

ID=70461486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080003955.6A Active CN112424766B (zh) 2019-05-31 2020-05-06 数据交换

Country Status (4)

Country Link
US (9) US10977268B2 (zh)
CN (1) CN112424766B (zh)
DE (1) DE202020106393U1 (zh)
WO (1) WO2020242739A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977268B2 (en) 2019-05-31 2021-04-13 Snowflake Inc. Data exchange
US11586739B2 (en) * 2019-12-31 2023-02-21 Proofpoint, Inc. System and method for identifying cyberthreats from unstructured social media content
US11488162B2 (en) * 2020-02-26 2022-11-01 Salesforce.Com, Inc. Automatically storing metrics relating to payments in a blockchain
WO2021226494A1 (en) 2020-05-07 2021-11-11 Schlumberger Technology Corporation Secure platform for the dissemination of data
GB2611695A (en) 2020-07-14 2023-04-12 Affinio Inc Method and system for secure distributed software-service
CN112988808B (zh) * 2021-02-04 2022-01-25 航天广通科技(深圳)有限公司 一种数据资源共享方法及数据资源共享平台
US20220310276A1 (en) * 2021-03-23 2022-09-29 The Government of the United States of America, as represented by the Secretary of Homeland Security Platform for collobarative analysis of electronic records
WO2022226545A1 (en) * 2021-04-23 2022-10-27 Videoamp, Inc. Electronic multi-tenant data management systems and clean rooms
US11570245B2 (en) * 2021-04-30 2023-01-31 Snowflake Inc. Sharing of data share metrics to customers
US11461351B1 (en) * 2021-05-31 2022-10-04 Snowflake Inc. Semi-structured data storage and processing functionality to store sparse feature sets
US11366920B1 (en) * 2021-08-26 2022-06-21 Snowflake Inc. Fine-grained access control via database roles
US12066982B2 (en) 2022-03-28 2024-08-20 Palantir Technologies Inc. Data asset sharing
US11809922B1 (en) * 2022-08-17 2023-11-07 Snowflake Inc. Sharing events and other metrics in native applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438544B1 (en) * 1998-10-02 2002-08-20 Ncr Corporation Method and apparatus for dynamic discovery of data model allowing customization of consumer applications accessing privacy data
CN103078894A (zh) * 2011-09-09 2013-05-01 微软公司 共享项目帐户选择
CN103780700A (zh) * 2014-01-26 2014-05-07 长沙裕邦软件开发有限公司 一种实现多源异构***之间兼容与共享的应用***和方法

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US7349907B2 (en) * 1998-10-01 2008-03-25 Onepin, Inc. Method and apparatus for storing and retrieving business contact information in a computer system
US6480850B1 (en) 1998-10-02 2002-11-12 Ncr Corporation System and method for managing data privacy in a database management system including a dependently connected privacy data mart
AU5273100A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US6580860B1 (en) 2000-02-29 2003-06-17 3M Innovative Properties Company Method for making shaped highly birefringent optical fibers
US8060389B2 (en) * 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US20030120822A1 (en) * 2001-04-19 2003-06-26 Langrind Nicholas A. Isolated control plane addressing
WO2002078286A2 (en) * 2001-03-27 2002-10-03 Bea Systems, Inc. System and method for managing objects and resources with access rights embedded in nodes within a hierarchical tree structure
US6898593B1 (en) * 2001-07-10 2005-05-24 I2 Technologies Us, Inc. Sorted-paged retrieval of hierarchical data from relational databases
WO2003036489A1 (en) * 2001-10-24 2003-05-01 Bea Systems, Inc. System and method for portal rendering
US20030130857A1 (en) * 2002-01-04 2003-07-10 Masanobu Matsuo Systems, methods and computer program products for utilizing an information exchange framework
US20030130856A1 (en) * 2002-01-04 2003-07-10 Masanobu Matsuo System, method and computer program product for obtaining information in an information exchange framework
AU2003225542A1 (en) * 2002-02-01 2003-09-02 John Fairweather A system and method for managing knowledge
US6901401B2 (en) * 2002-03-21 2005-05-31 International Business Machines Corporation System and method for database integrity via local database lockout
US7149737B1 (en) * 2002-04-04 2006-12-12 Ncr Corp. Locking mechanism using a predefined lock for materialized views in a database system
US20040122849A1 (en) * 2002-12-24 2004-06-24 International Business Machines Corporation Assignment of documents to a user domain
JP3873975B2 (ja) * 2004-01-23 2007-01-31 日本電信電話株式会社 ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
US20140019352A1 (en) * 2011-02-22 2014-01-16 Visa International Service Association Multi-purpose virtual card transaction apparatuses, methods and systems
US7421740B2 (en) * 2004-06-10 2008-09-02 Sap Ag Managing user authorizations for analytical reporting based on operational authorizations
US7403945B2 (en) 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US8347088B2 (en) * 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US8050406B2 (en) * 2005-06-07 2011-11-01 Sony Corporation Key table and authorization table management
US20060288009A1 (en) * 2005-06-20 2006-12-21 Tobid Pieper Method and apparatus for restricting access to an electronic product release within an electronic software delivery system
US20170005972A1 (en) * 2005-07-22 2017-01-05 Proximity Grid, Inc. Geotag
US20070256059A1 (en) * 2005-09-30 2007-11-01 Sullivan Suzanne J Abstract platform to facilitate the interoperability of information
US8601162B1 (en) * 2006-07-27 2013-12-03 Aol Inc. Sharing network addresses
US20080313730A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Extensible authentication management
US9110967B2 (en) 2007-08-29 2015-08-18 International Business Machines Corporation Data lineage in data warehousing environments
US8285748B2 (en) * 2008-05-28 2012-10-09 Oracle International Corporation Proactive information security management
US8655826B1 (en) * 2008-08-01 2014-02-18 Motion Picture Laboratories, Inc. Processing and acting on rules for content recognition systems
WO2010128358A1 (en) * 2009-05-06 2010-11-11 Grigory Levit Permissions verification method and system
US20110099164A1 (en) * 2009-10-23 2011-04-28 Haim Zvi Melman Apparatus and method for search and retrieval of documents and advertising targeting
US8499148B2 (en) * 2009-11-02 2013-07-30 Chi Eng System and method for virtual team collaboration in a secure environment
JP5488088B2 (ja) * 2010-03-17 2014-05-14 株式会社リコー 画面制御システム、サーバ、及び画面制御方法
DE202011105224U1 (de) * 2010-09-01 2012-05-07 Google Inc. Preisbildungsmodelle für benutzerbezogene Daten
US9262462B2 (en) * 2012-07-26 2016-02-16 Mongodb, Inc. Aggregation framework system architecture and method
US9141983B2 (en) * 2011-02-01 2015-09-22 Salesforce.Com, Inc. Shared data sets combined with user-specific purchased data sets
US20130054678A1 (en) * 2011-02-20 2013-02-28 David Kevin Williams Data collection form authoring system with remote client data collection and management system
US9280535B2 (en) * 2011-03-31 2016-03-08 Infosys Limited Natural language querying with cascaded conditional random fields
WO2012151132A1 (en) * 2011-04-30 2012-11-08 Vmware, Inc. Dynamic management of groups for entitlement and provisioning of computer resources
US9009794B2 (en) * 2011-12-30 2015-04-14 Rovi Guides, Inc. Systems and methods for temporary assignment and exchange of digital access rights
US20130185750A1 (en) * 2012-01-17 2013-07-18 General Instrument Corporation Context based correlative targeted advertising
US9374359B2 (en) * 2012-05-23 2016-06-21 Red Hat, Inc. Generating a data display in view of user activities
US10146955B2 (en) * 2012-07-12 2018-12-04 Salesforce.Com, Inc. System and method for access control for data of heterogeneous origin
US20140040580A1 (en) * 2012-07-31 2014-02-06 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US10319022B2 (en) * 2013-02-28 2019-06-11 Lg Electronics Inc. Apparatus and method for processing a multimedia commerce service
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
US9111104B2 (en) * 2013-03-29 2015-08-18 Jive Software, Inc. Entitlements determination via access control lists
US9069987B2 (en) * 2013-06-21 2015-06-30 International Business Machines Corporation Secure data access using SQL query rewrites
US9536065B2 (en) 2013-08-23 2017-01-03 Morphotrust Usa, Llc System and method for identity management
WO2015042012A1 (en) * 2013-09-17 2015-03-26 Iex Group, Inc. Techniques for facilitating electronic trading
US20150142765A1 (en) * 2013-11-17 2015-05-21 Zhen-Chao HONG System and method for enabling remote file access via a reference file stored at a local device that references the content of the file
US20150227890A1 (en) * 2014-02-07 2015-08-13 Kristin Kaye Bednarek Communications system and smart device apps supporting segmented order distributed distribution system
CN104166812B (zh) * 2014-06-25 2017-05-24 中国航天科工集团第二研究院七〇六所 一种基于独立授权的数据库安全访问控制方法
US9690792B2 (en) * 2014-08-26 2017-06-27 International Business Machines Corporation Access control for unprotected data storage system endpoints
US20160092959A1 (en) * 2014-09-26 2016-03-31 Real Data Guru, Inc. Tag Based Property Platform & Method
US20160098573A1 (en) * 2014-10-03 2016-04-07 Zettaset, Inc. Securing a Distributed File System
US9928277B2 (en) * 2014-11-10 2018-03-27 International Business Machines Corporation Materialized query tables with shared data
US10565534B2 (en) * 2014-11-11 2020-02-18 Amazon Technologies, Inc. Constraints and constraint sharing in a catalog service platform
EP3057007B1 (en) * 2015-02-13 2021-08-11 Hasso-Plattner-Institut für Softwaresystemtechnik GmbH Cloud-based hardware architecture
US20200204527A1 (en) * 2015-03-12 2020-06-25 Mine Zero Gmbh Secure telecommunications and transactional platform
US10241960B2 (en) * 2015-05-14 2019-03-26 Deephaven Data Labs Llc Historical data replay utilizing a computer system
US10462637B1 (en) * 2015-06-02 2019-10-29 David Lifschultz Information exchanging system
US11295300B2 (en) * 2015-06-10 2022-04-05 Digital Candy, Inc. Online image retention, indexing, search technology with integrated image licensing marketplace and a digital rights management platform
US10554700B2 (en) * 2015-08-04 2020-02-04 At&T Intellectual Property I, L.P. Method and apparatus for management of communication conferencing
CN108351853B (zh) * 2015-10-06 2021-10-15 卡斯布有限责任公司 多级受约束通信***
US10846665B2 (en) * 2015-11-23 2020-11-24 Switch, Inc. Management of remotely stored data
US10354066B2 (en) * 2016-02-26 2019-07-16 Cylance Inc. Retention and accessibility of data characterizing events on an endpoint computer
US20180011461A1 (en) * 2016-07-07 2018-01-11 Tyco Fire & Security Gmbh Building Asset Management System
US10263947B2 (en) * 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10853364B2 (en) * 2016-09-28 2020-12-01 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
US10250572B2 (en) * 2016-09-29 2019-04-02 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
EP3563545B1 (en) * 2016-12-30 2024-07-17 INTEL Corporation Blockchains for securing iot devices
US10592681B2 (en) 2017-01-10 2020-03-17 Snowflake Inc. Data sharing in a multi-tenant database system
US20180218053A1 (en) * 2017-02-01 2018-08-02 Anvizent Analytics Pvt., LTD. Big Data Analytical Platform Tools And Methods Of Use
US11089105B1 (en) * 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US11032350B2 (en) * 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US10749698B2 (en) * 2017-05-18 2020-08-18 Vmware, Inc. Feature-aware software usage metering
US20180375762A1 (en) * 2017-06-21 2018-12-27 Microsoft Technology Licensing, Llc System and method for limiting access to cloud-based resources including transmission between l3 and l7 layers using ipv6 packet with embedded ipv4 addresses and metadata
US10742435B2 (en) * 2017-06-29 2020-08-11 Google Llc Proactive provision of new content to group chat participants
US11216539B2 (en) * 2018-10-19 2022-01-04 Oracle International Corporation Authorization proxy platform
US10740315B2 (en) * 2017-10-26 2020-08-11 Sap Se Transitioning between system sharing types in multi-tenancy database systems
US10482080B2 (en) * 2017-10-26 2019-11-19 Sap Se Exchanging shared containers and adapting tenants in multi-tenancy database systems
US10452646B2 (en) * 2017-10-26 2019-10-22 Sap Se Deploying changes in a multi-tenancy database system
US10733168B2 (en) * 2017-10-26 2020-08-04 Sap Se Deploying changes to key patterns in multi-tenancy database systems
CN111480154B (zh) * 2017-11-27 2022-02-11 斯诺弗雷克公司 批量数据摄取的方法、***和介质
US10609511B2 (en) * 2017-12-08 2020-03-31 Facebook, Inc. Techniques for providing meeting location suggestions
US10795927B2 (en) * 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US11139955B1 (en) * 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US11698979B2 (en) * 2018-03-27 2023-07-11 Workday, Inc. Digital credentials for access to sensitive data
US11218324B2 (en) * 2018-04-05 2022-01-04 Ares Technologies, Inc. Systems and methods authenticating a digitally signed assertion using verified evaluators
EP3776440A4 (en) * 2018-04-13 2022-01-26 Plaid Inc. SECURE AUTHORIZATION OF ACCESS TO USER ACCOUNTS, INCLUDING SECURE DISTRIBUTION OF AGGREGATED USER ACCOUNT DATA
US11151568B2 (en) * 2018-05-09 2021-10-19 Capital One Services, Llc Real-time selection of authentication procedures based on risk assessment
US10410016B1 (en) * 2018-07-05 2019-09-10 Capital One Services, Llc Cloud-based system for protecting sensitive information in shared content
US10705860B2 (en) * 2018-07-27 2020-07-07 Salesforce.Com, Inc. Method and system for declarative configuration of user self-registration and log in pages and processes for a service provider and automatic deployment of the same
US10917389B2 (en) * 2018-07-31 2021-02-09 Splunk Inc. Trusted tunnel bridge
US11048815B2 (en) * 2018-08-06 2021-06-29 Snowflake Inc. Secure data sharing in a multi-tenant database system
US11029818B2 (en) * 2018-09-24 2021-06-08 Salesforce.Com, Inc. Graphical user interface management for different applications
US10936640B2 (en) * 2018-10-09 2021-03-02 International Business Machines Corporation Intelligent visualization of unstructured data in column-oriented data tables
US11328081B2 (en) * 2018-10-16 2022-05-10 Sap Se Consent-based data privacy management system
US11336509B2 (en) * 2018-10-31 2022-05-17 EMC IP Holding Company LLC Detecting single points of failure on a storage system
US20200184094A1 (en) * 2018-12-05 2020-06-11 Servicenow, Inc. Efficient user authentication and correlation of user-related records in an information technology system
CN109905496A (zh) * 2019-02-26 2019-06-18 上海浪潮云计算服务有限公司 一种基于用户策略的dns智能调度方法
US10510465B1 (en) * 2019-03-19 2019-12-17 Global Broadband Solutions, LLC Methods and systems for securely accessing and managing aggregated submarine cable system information
US10873586B2 (en) * 2019-03-19 2020-12-22 Capital One Services, Llc Systems and methods for secure data access control
US20200311785A1 (en) * 2019-03-29 2020-10-01 Sony Interactive Entertainment LLC Automated virtual asset catalog for computer applications
US10977268B2 (en) 2019-05-31 2021-04-13 Snowflake Inc. Data exchange
CN113452683A (zh) * 2021-06-15 2021-09-28 郑州云智信安安全技术有限公司 一种数据库行列级权限控制的方法和***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438544B1 (en) * 1998-10-02 2002-08-20 Ncr Corporation Method and apparatus for dynamic discovery of data model allowing customization of consumer applications accessing privacy data
CN103078894A (zh) * 2011-09-09 2013-05-01 微软公司 共享项目帐户选择
CN103780700A (zh) * 2014-01-26 2014-05-07 长沙裕邦软件开发有限公司 一种实现多源异构***之间兼容与共享的应用***和方法

Also Published As

Publication number Publication date
US20200380008A1 (en) 2020-12-03
US20220309071A1 (en) 2022-09-29
US10642856B1 (en) 2020-05-05
CN112424766A (zh) 2021-02-26
US11599550B2 (en) 2023-03-07
US11308116B2 (en) 2022-04-19
WO2020242739A1 (en) 2020-12-03
US20200409968A1 (en) 2020-12-31
US10803082B1 (en) 2020-10-13
US20200380007A1 (en) 2020-12-03
US10977268B2 (en) 2021-04-13
US20220215033A1 (en) 2022-07-07
US12032588B2 (en) 2024-07-09
US20230169087A1 (en) 2023-06-01
US11531681B2 (en) 2022-12-20
US20210224290A1 (en) 2021-07-22
US11360995B2 (en) 2022-06-14
DE202020106393U1 (de) 2021-02-08

Similar Documents

Publication Publication Date Title
CN112424766B (zh) 数据交换
US11810089B2 (en) Data exchange-based platform
KR20220130728A (ko) 글로벌 데이터 공유를 위한 시스템 및 방법
US11838293B2 (en) Private data exchange metrics sharing
US11334604B2 (en) Private data exchange

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Montana

Applicant after: SNOWFLAKE COMPUTING Inc.

Address before: California, USA

Applicant before: SNOWFLAKE COMPUTING Inc.

CB02 Change of applicant information
CB02 Change of applicant information

Country or region after: U.S.A.

Address after: Montana

Applicant after: Snowflake Co.

Address before: Montana

Applicant before: SNOWFLAKE COMPUTING Inc.

Country or region before: U.S.A.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant