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

在基于云的数据仓库之间共享数据的制作方法

2022-04-12 12:05:47 来源:中国专利 TAG:
在基于云的数据仓库之间共享数据的制作方法

本发明的领域是数据处理,或者更具体地说,是用于在基于云的数据仓库之间共享数据的方法、装置和产品。

背景技术

现代企业可以在基于云的数据仓库内的远程数据库中存储大量数据。可以使用数据库查询语言,例如结构化查询语言(SQL)来访问该数据。但是,某些查询响应可能包含太多数据而不能在Web应用程序中有效呈现。



技术实现要素:

用于在基于云的数据仓库之间共享数据的方法、系统和装置。在基于云的数据仓库之间共享数据包括:在第一基于云的数据仓库和第二基于云的数据仓库之间建立链接,其中所述链接有助于通过所述第一基于云的数据仓库访问存储在所述第二基于云的数据仓库中的数据;通过所述第一基于云的数据仓库接收引用存储在所述第二基于云的数据仓库中的第一数据的第一查询;通过所述第一基于云的数据仓库从所述第二基于云的数据仓库访问所述第一数据;以及基于所访问的所述第一数据发送对所述第一查询的响应。

本发明的上述和其它目的、特征和优点将从下面对本发明的示例性的实施方案的更具体的描述中变得显而易见,如附图中所示,其中相同的附图标记通常表示本发明的示例性的实施方案的相同部分。

附图说明

图1示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置用于在基于云的数据仓库之间共享数据。

图2示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置用于在基于云的数据仓库之间共享数据。

图3示出了说明根据本发明的实施方案的在基于云的数据仓库之间共享数据的示例性方法的流程图。。

图4示出了流程图,其说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法。

图5示出了流程图,其说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法。

图6示出了流程图,其说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法。

图7示出了流程图,其说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法。

具体实施方式

参考附图,从图1开始,描述了用于在根据本发明的用于在基于云的数据仓库之间共享数据的示例性方法、装置和产品。图1示出了根据本发明的实施方案的自动计算机器的框图,该自动计算机器包括被配置为用于在基于云的数据仓库之间共享数据的示例性数据访问模块计算系统(152)。图1的数据访问模块计算系统(152)包括至少一个计算机处理器(156)或“CPU”,以及通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和数据访问模块计算系统(152)的其它部件的随机存取存储器(168)(“RAM”)。

存储在RAM(168)中的是操作系统(154)。根据本发明的实施方案的被配置成用于在基于云的数据仓库之间共享数据的计算机中有用的操作系统包括UNIXTM、LinuxTM、Microsoft WindowsTM、AIXTM、IBM的iOSTM;以及本领域技术人员会想到的其它操作系统。图1的示例中的操作系统(154)在RAM(168)中示出,但是这种软件的许多组件通常也存储在非易失性存储器中,例如,存储在数据存储器(170)上,例如磁盘驱动器上。搜索模块(126)也被存储在RAM中,根据本发明的实施方案,该数据访问模块(126)是用于在基于云的数据仓库之间共享数据的模块。

图1的数据访问模块计算系统(152)包括通过扩展总线(160)和总线适配器(158)耦合到处理器(156)和数据访问模块计算系统(152)的其它部件的盘驱动器适配器(172)。盘驱动器适配器(172)以数据存储器(170)的形式将非易失性数据存储器连接到数据访问模块计算系统(152)。根据本发明的实施方案,可用于配置成用于在基于云的数据仓库之间共享数据的计算机中的盘驱动器适配器包括集成驱动器电子设备(“IDE”)适配器,小型计算机系统接口(“SCSI”)适配器,以及本领域技术人员将想到的其它适配器。如本领域技术人员可想到的,非易失性计算机存储器也可以实现为光盘驱动器,电可擦除可编程只读存储器(所谓的“EEPROM”;或“闪存”存储器),RAM驱动器等。

图1的示例性数据访问模块计算系统(152)包括一个或多个输入/输出(‘I/O’)适配器(178)。I/O适配器通过例如软件驱动器和计算机硬件实现面向用户的输入/输出,用于控制对诸如计算机显示屏之类的显示设备的输出,以及来自诸如键盘和鼠标之类的用户输入设备(181)的用户输入。图1的示例性数据访问模块计算系统(152)包括视频适配器(209),该视频适配器是专门设计用于图形输出到诸如显示屏或计算机监视器之类的显示设备(180)的I/O适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和也是高速总线的前侧总线(162)连接到处理器(156)。

图1的示例性数据访问模块计算系统(152)包括用于与其它计算机进行数据通信以及用于与数据通信网络进行数据通信的通信适配器(167)。这样的数据通信可以通过RS-232连接,通过诸如通用串行总线(“USB”)之类的外部总线,通过诸如IP数据通信网络之类的数据通信网络,以及以本领域技术人员可想到的其它方式串行地执行。通信适配器实现数据通信的硬件级别,一台计算机通过该数据通信直接或通过数据通信网络发送数据通信至另一台计算机。根据本发明的实施方案的被配置成用于在基于云的数据仓库之间共享数据的计算机中有用的通信适配器的示例包括:用于有线拨号通信的调制解调器、用于有线数据通信的以太网(IEEE 802.3)适配器、以及用于无线数据通信的802.11适配器。

通信适配器(167)通信地耦合到广域网(190),广域网(190)还包括基于云的数据仓库(192)和客户端计算系统(194)。基于云的数据仓库(192)是托管用于通过广域网(190)访问的数据库的计算系统或计算系统组。客户端计算系统(194)是通过数据访问计算系统(152)访问数据库的计算系统。

图2示出了根据本发明的实施方案的在基于云的数据仓库之间共享数据的系统的示例性框图。如图2所示,该系统包括数据访问模块计算系统(152)、基于云的数据仓库(192a)和基于云的数据仓库(192b)。数据访问模块计算系统(152)包括数据访问模块(126)。基于云的数据仓库(192a)包括数据库(206a)和链接(204)。基于云的数据仓库(192b)包括数据库(206b)。

数据访问模块(126)是硬件、软件或硬件和软件的集合,其被配置为生成数据库查询以提交给数据库(206a)。数据库(206a、206b)是存储在各基于云的数据仓库(192a、192b)和数据管理系统中的数据的集合。管理系统可以接收诸如结构查询语言(SQL)查询之类的数据库查询,并且用数据集响应查询。

链接(204)包括基于云的数据仓库(192a、192b)之间的逻辑连接。因此,链接(204)可以包括便于通过基于云的数据仓库(192a)访问存储在基于云的数据仓库(192b)中的数据的数据。基于链接(204),查询可以提交给数据库(206a),引用存储在基于云的数据仓库(192a)和/或基于云的数据仓库(192b)中的数据。例如,可以向数据库(206a)提交查询以基于存储在基于云的数据仓库(192a)和/或基于云的数据仓库(192b)中的数据来执行JOIN操作、UNION操作或其他转换。作为另一示例,可以将查询提交给数据库(206a)以选择或访问存储在基于云的数据仓库(192b)中的数据。

在这些示例中,存储在基于云的数据仓库(192b)中的数据可以用于满足(例如,通过数据库(206a))提交到该基于云的数据仓库的查询,而不需要该数据被存储在基于云的数据仓库(192a)中。链接(204)可以包括便于访问基于云的数据仓库(192b)的访问凭证(例如,用户名、密码、认证令牌)。链接(204)还可以包括统一资源定位符(URL)、互联网协议(IP)地址或其他便于访问基于云的数据仓库(192b)的标识符。链接(204)还可以包括促进到达基于云的数据仓库(192b)的门户、隧道、专用网络连接或其他连接的数据。

链接(204)还可以包括基于云的数据仓库(192a)的模式的一个或多个部分(例如,数据库(206b)的模式的一部分),其指示存储在基于云的数据仓库(192b)中的什么数据可通过链接(204)访问。例如,模式的部分可以包括指示可通过链接(204)访问的表的表模式。模式的部分还可以包括指示可通过链接(204)访问的数据的变换的视图模式。因此,模式的这些部分可以在建立链接(204)时被编码到数据库(206a)的模式中,或者被编码在数据库(206a)可访问的元数据中。因此,从访问基于云的数据仓库(192a)的计算系统(例如,数据访问计算系统(152))的角度来看,可用数据的模式将反映存储在两基于云的数据仓库(192a,192b)中的数据。

链接(204)还可以与存储在基于云的数据仓库(192b)中的数据的许可相关联。许可可以在链接(204)中指示为存储在基于云的数据仓库(192a)中。许可可以由基于云的数据仓库(192a、192b)中的任一个来强制执行。例如,许可可以指示对存储在第二基于云的数据仓库(192b)中的数据的许可访问类型(例如,只读、读写))。许可还可以指示访问受限的一个或多个表或视图。许可还可以指示资源使用阈值(例如,一时间段内的最大事务数、每个事务可访问的记录或数据的最大量、时间窗中可访问的记录或数据的最大量等)。

作为示例,假设基于云的数据仓库(192b)存储地图数据。地图数据可以存储为定义特定地理区域边界的特定顺序的一系列点(例如,纬度和经度)。每个点或系列点可以存储为表中的一行。例如,基于云的数据仓库(192b)可以包括县表、市表、州表、国家表等。由于定义单个边界需要的点数,以及定义的大量边界,结果数据集会很大。

继续本示例,假设基于云的数据仓库(192a)存储指示各个区域的总人口的人口普查数据。每个区域可以对应于它自己的表(例如,“州”表、“县”表、“市”表)。进一步假设应用程序(例如,网站、用户应用程序)被配置为生成根据人口普查数据中记录的县人口进行颜色编码的县的地图可视化。该应用程序可以被配置为使用数据访问模块(126)来查询基于云的数据仓库(192a)以获得必要的数据。在此示例中,地图可视化将需要来自与存储在基于云的数据仓库(192b)中的县地图数据连接的(JOINed)基于云的数据仓库(192a)的“县”表的人口普查数据。

数据访问模块(126)可以向基于云的数据仓库(192a)提交第一查询以获取连接的(JOINed)数据。基于云的数据仓库(192a)(例如,通过数据库(206a)或其他功能)可以基于第一查询确定需要从基于云的数据仓库(192b)访问什么数据并生成第二个查询。例如,基于云的数据仓库(192a)可以确定在第一查询中引用的适用于基于云的数据仓库(192b)的表、视图和查询条件。继续上述示例,基于云的数据仓库(192a)将确定第一查询需要存储在基于云的数据仓库(192b)的“县”表中的地图数据。

基于云的数据仓库(192a)然后可以基于链接(204)向基于云的数据仓库(192b)提交第二查询以获得所需数据。例如,基于云的数据仓库(192a)可以将第二查询提交给存储在链接(204)中的URL。基于云的数据仓库(192a)可以使用存储在链接(204)中的认证凭证来提交第二查询。

在从基于云的数据仓库(192b)接收到地图数据之后,基于云的数据仓库(192a)然后可以(例如,在“县名”栏)将“县”人口普查表与“县”地图数据连接起来以生成人口数据和对应县地图数据的数据集。然后可以将该响应提供回数据访问模块(126)。

使用这种方法,基于云的数据仓库(192a)本地不需要存储在基于云的数据仓库(192b)中的大量地图数据。这节省了与基于云的数据仓库(192a)相关的存储成本,并将更新地图数据的负担置于维护基于云的数据仓库(192b)的实体上。由于数据库(206a)的模式反映了存储在两基于云的数据仓库(192a、192b)中的数据,因此数据访问模块(126)只需要构建针对单个数据库的简单查询,而不是针对多个数据库的较复杂的查询。此外,存储在基于云的数据仓库(192b)中的地图数据可以通过使用许多链接被许多基于云的数据仓库使用。

为了进一步解释,图3示出了一流程图,该流程图说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法,该方法包括(例如,通过第一基于云的数据仓库(192a))在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204),其中链接(204)便于经由第一基于云的数据仓库(192a)访问第二基于云的数据仓库(192b)中的数据。

建立链接(204)可以包括修改第一基于云的数据仓库(192a)的模式或其他元数据以引用第二基于云的数据仓库(192b)中的数据的一个或多个表或视图。建立链接(204a)还可以包括建立到达第二基于云的数据仓库(192a)的网络连接(例如,隧道、门户、专用网络连接等)。建立链接(204a)还可以包括存储便于访问第二基于云的数据仓库(192a)的认证凭证(例如,用户名、密码、认证令牌、会话标识符)。

图3的方法还包括(例如,通过第一基于云的数据仓库(192a)从数据访问模块(126))接收(304)第一查询(305),其引用存储在第二基于云的数据仓库(192b)中的第一数据。第一查询(305)引用存储在第二基于云的数据仓库(192b)中的数据的一个或多个表和/或视图。例如,第一查询(305)可以包括访问、转换或以其他方式与存储在第二基于云的数据仓库(192b)中的数据交互的查询(例如,SELECT查询)。第一查询(305)还可以结合存储在第二基于云的数据仓库(192b)中的数据来访问、转换或与存储在第一基于云的数据仓库(192a)中的数据进行其他交互。例如,第一查询(305)可以包括对将来自第一基于云的数据仓库(192a)中的表的行与来自第二基于云的数据仓库(192b)中的另一表的行连接(JOIN)的查询。

图3的方法还包括(例如,通过第一基于云的数据仓库(192a))从第二基于云的数据仓库(192b)访问(306)第一数据(307)。访问(306)第一数据(307)可以包括确定在第一查询(305)中引用的一个或多个表、视图和/或行以及访问所引用的数据(307)。例如,第一基于云的数据仓库(192a)中的(例如,数据库(206a)的)模式可以引用存储在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)中的数据(例如表)。元数据可以指示模式的哪些表对应于存储在第二基于云的数据仓库(192b)中的数据。

可以通过链接(204)促进访问(306)第一数据(307)。例如,访问(306)第一数据(307)可以包括向第二基于云的数据仓库(192b)提供认证凭证(例如,用户名、密码、认证令牌、会话标识符等)。作为另一示例,可以经由链接(204)中引用的网络连接、隧道、门户或URL来访问第一数据(307)。

图3的方法还包括基于所访问的第一数据(307)(例如,由第一基于云的数据仓库(192a)向数据访问模块(126))发送(308)对第一查询(305)的响应(309)。发送(308)响应可以包括转换或以其他方式修改所访问的第一数据(307)。例如,所访问的第一数据(307)可以与存储在第一基于云的数据仓库(192a)中的数据组合、附加于该数据或以其他方式结合该数据进行转换以生成响应(309)。

为了进一步解释,图4示出了一流程图,该流程图说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法,该方法包括(例如,通过第一基于云的数据仓库(192a))在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204),其中链接(204)便于经由第一基于云的数据仓库(192a)访问第二基于云的数据仓库(192b)中的数据。(例如,由第一基于云的数据仓库(192a)从数据访问模块(126))接收(304)引用存储在第二基于云的数据仓库(192b)中的第一数据(307)的第一查询(305);(例如,通过第一基于云的数据仓库(192a))从第二基于云的数据仓库(192b)访问(306)第一数据(307);以及基于访问的第一数据(307)(例如,由第一基于云的数据仓库(192a)向数据访问模块(126))发送(308)对第一查询(305)的响应(309)。

图4的方法与图3的不同之处在于,在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204)包括:(例如,由第一基于云的数据仓库(192a)向第二基于云的数据仓库(192b))发送(402)请求(403)以建立链接(204)。请求(403)可以指示存储在第二基于云的数据仓库(192b)中的请求访问的一个或多个表、一个或多个视图和/或一个或多个行。请求(403)还可以包括认证凭证(例如,用户名、账户标识符和/或密码)。例如,第二基于云的数据仓库(192b)可以维护与数据的表、视图和/或行相关联的用户账户。因此,请求(403)可以指示对应于请求访问的表、视图和/或行的账户。

请求(403)还可以包括资源使用请求。资源使用请求可以包括请求由第一基于云的数据仓库(192a)通过链接使用的资源量。例如,资源使用请求可以包括:在链接的持续时间内访问的事务、记录或数据的请求总量,在时间窗内访问的事务、记录或数据的请求阈值量,或另一个度量。

图4的方法与图3的不同之处在于,在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204)包括:基于对请求(403)的响应(405)建立(404)链接(204)。例如,基于响应(405)建立(404)链接(204)可以包括存储便于访问第二基于云的数据仓库(192b)的认证令牌。响应(405)可以指示存储在第二基于云的数据仓库(192b)中的可以被访问的数据的一个或多个表、视图和/或行。因此,基于响应(405)建立(404)链接(204)可以包括:修改第一基于云的数据仓库(192a)(例如数据库(206a))的模式以包括响应(405)中指示的数据的表、视图和/或行。基于响应(405)建立(404)链接(204)还可以包括:更新元数据以指示更新模式的哪些部分对应于存储在第二基于云的数据仓库(192b)中的数据。

响应(405)还可以包括用于访问第二基于云的数据仓库(192b)中的数据的一个或多个资源使用阈值。用于访问第二基于云的数据仓库(192b)中的数据的一个或多个资源使用阈值可以与请求(403)中包括的一个或多个资源使用阈值相同或不同。因此,基于响应(405)建立(404)链接(204)还可以包括:存储一个或多个资源使用阈值的指示。

响应(405)还可以包括便于访问存储在第二基于云的数据仓库(192b)中的数据的IP地址、URL或网络地址。因此,基于响应(405)建立(404)链接(204)还可以包括:将IP地址、URL或网络地址的指示存储在链接(204)中以用于将未来查询提交给第二基于云的数据仓库(192b)。

为了进一步解释,图5示出了一流程图,该流程图说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法,该方法包括(例如,通过第一基于云的数据仓库(192a))在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204),其中链接(204)便于经由第一基于云的数据仓库(192a)访问第二基于云的数据仓库(192b)中的数据。(例如,由第一基于云的数据仓库(192a)从数据访问模块(126))接收(304)引用存储在第二基于云的数据仓库(192b)中的第一数据(307)的第一查询(305);(例如,通过第一基于云的数据仓库(192a))从第二基于云的数据仓库(192b)访问(306)第一数据(307);以及基于访问的第一数据(307)(例如,由第一基于云的数据仓库(192a)向数据访问模块(126))发送(308)对第一查询(305)的响应(309)。

图5的方法与图3的不同之处在于,从第二基于云的数据仓库(192b)访问(306)第一数据(307)包括:基于第一查询(305)生成(502)针对第一数据(307)的第二查询(503)。生成(502)第二查询(503)可以包括:识别存储在第二基于云的数据仓库(192b)中的在第一查询(305)中引用的数据的一个或多个表、视图或行。例如,元数据可以存储在第一基于云的数据仓库(192a)中,指示第一基于云的数据仓库(192a)的模式的哪些部分对应于存储在第二基于云的数据仓库(192b)中的数据。可以基于该元数据来识别存储在第二基于云的数据仓库(192b)中的在第一查询(305)中引用的数据的一个或多个表、视图或行。生成(502)第二查询(503)还可以包括:在第二查询(503)中包括来自第一查询(305)的一个或多个约束(例如,其中(WHEREIN)子句)。来自第一查询(305)的包括的约束适用于存储在第二基于云的数据仓库(192b)中并在第一查询(305)中引用的数据。

图5的方法与图3的不同之处在于,从第二基于云的数据仓库(192b)访问(306)第一数据(307)包括:使用第二个查询(503)查询(504)第二基于云的数据仓库(192b)。例如,可以通过链接(204)(例如,使用链接(204)中包含的认证证书、网络地址或其他数据)向第二基于云的数据仓库(192b)(例如,向数据库(206b))发出第二查询(504)。然后可以响应于第二查询(503)从第二基于云的数据仓库(192b)接收第一数据(307)。

为了进一步解释,图6示出了一流程图,该流程图说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法,该方法包括(例如,通过第一基于云的数据仓库(192a))在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204),其中链接(204)便于经由第一基于云的数据仓库(192a)访问第二基于云的数据仓库(192b)中的数据。(例如,由第一基于云的数据仓库(192a)从数据访问模块(126))接收(304)引用存储在第二基于云的数据仓库(192b)中的第一数据(307)的第一查询(305);(例如,通过第一基于云的数据仓库(192a))从第二基于云的数据仓库(192b)访问(306)第一数据(307);以及基于访问的第一数据(307)(例如,由第一基于云的数据仓库(192a)向数据访问模块(126))发送(308)对第一查询(305)的响应(309)。

图6的方法与图3的不同之处在于,在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204)包括:在第一基于云的数据仓库(192a)的模式中包括(602)第二基于云的数据仓库(192b)的模式的至少一部分。例如,存储在第二基于云的数据仓库(192b)中的数据的一个或多个表或视图可以由第一基于云的数据仓库(192a)访问。这些一个或多个表或视图可以被添加到第一基于云的数据仓库(192a)(例如,数据库(206a))的模式中。所得到的模式引用存储在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)中的数据。因此,仅存储在第二基于云的数据仓库(192b)中的数据的模式被存储在第一基于云的数据仓库(192a)中,而不是数据本身的本地副本。

在第一基于云的数据仓库(192a)的模式中包括(602)第二基于云的数据仓库(192b)的模式的至少一部分还可以包括更新(例如,链接(204)、数据库(206a)或其他数据的)元数据以指示与存储在第二基于云的数据仓库(192b)中的数据相对应的模式部分。这有助于稍后确定传入查询(例如,第一查询(305))是否引用存储在第一基于云的数据仓库(192a)或第二基于云的数据仓库(192b)中的数据。

为了进一步解释,图7示出了一流程图,该流程图说明了根据本发明的实施方案的用于在基于云的数据仓库之间共享数据的示例性方法,该方法包括(例如,通过第一基于云的数据仓库(192a))在第一基于云的数据仓库(192a)和第二基于云的数据仓库(192b)之间建立(302)链接(204),其中链接(204)便于经由第一基于云的数据仓库(192a)访问第二基于云的数据仓库(192b)中的数据。(例如,由第一基于云的数据仓库(192a)从数据访问模块(126))接收(304)引用存储在第二基于云的数据仓库(192b)中的第一数据(307)的第一查询(305);(例如,通过第一基于云的数据仓库(192a))从第二基于云的数据仓库(192b)访问(306)第一数据(307);以及基于访问的第一数据(307)(例如,由第一基于云的数据仓库(192a)向数据访问模块(126))发送(308)对第一查询(305)的响应(309)。

图7的方法与图3的不同之处在于,图7的方法还包括从第一基于云的数据仓库(192a)访问(702)在第一查询(305)中引用的第二数据(703)。例如,假设第一基于云的数据仓库(192a)将每个县的人口普查数据存储在第一表中,并且第二基于云的数据仓库将每个县的地图数据存储在第二表中。进一步假设第一查询(305)包括对将(存储在第一基于云的数据仓库(192a)中的)第一表与(存储在第二基于云的数据仓库(192a)中的)第二表连接(JOIN)的查询。使用该示例,从第一基于云的数据仓库(192a)访问(702)在第一查询(305)中引用的第二数据(703)将包括访问作为第二数据(703)的存储在第一基于云的数据仓库(192a)的每个县人口普查数据。继续这个示例,第一数据(307)将包括存储在第二基于云的数据仓库(192b)中的每个县的地图数据。

图7的方法与图3的不同之处在于,基于访问的第一数据(307)发送(308)对第一查询(305)的响应(309)包括:基于访问的第一数据(307)和访问的第二数据(703)发送(704)对第一查询(305)的响应(309)。例如,发送(308)响应可以包括:对第一数据(307)和第二数据(703)执行变换、组合或其他操作以生成响应(309)。继续上面的示例,发送(704)响应(309)将包括:对存储在第一数据(307)中的地图数据和存储在第二数据(703)中的人口普查数据执行连接(JOIN)操作。因此,所得到的响应(309)基于存储在不同的基于云的数据仓库(192a、192b)中并且响应于对单个第一基于云的数据仓库(192a)的查询而生成的数据。

鉴于上述解释,读者将认识到根据本发明的实施方案在基于云的数据仓库之间共享数据的好处包括:

·通过在单个基于云的数据仓库中维护可由任意数量的其他基于云的数据仓库访问的单个通用数据源,以提高整体存储效率,从而改进计算系统的操作。

·通过维护可以在单个基于云的数据仓库中更新的单个通用数据源,以允许其他基于云的数据仓库访问通用数据源以接收最新的数据,从而改进计算系统的操作。

·通过允许使用针对单个基于云的数据仓库的查询来访问存储在多个基于云的数据仓库上的数据,从而改进计算系统的操作。

本发明的示例性的实施方案主要在用于在基于云的数据仓库之间共享数据的全功能计算机系统的背景中描述。然而,本领域的技术人员将认识到,本发明也可以体现在设置在计算机可读存储介质上的计算机程序产品中,以与任何合适的数据处理系统一起使用。这样的计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁性介质、光学介质或其它合适的介质。这样的介质的示例包括硬盘驱动器中的磁盘或软盘,用于光驱的光盘,磁带,以及本领域技术人员所想到的其它介质。本领域技术人员将立即认识到,具有适当编程装置的任何计算机系统将能够执行体现在计算机程序产品中的本发明的方法的步骤。本领域的技术人员还将认识到,尽管本说明书中描述的一些示例性的实施方案是针对在计算机硬件上安装和执行的软件,然而,实现为固件或硬件的替代的实施方案也完全在本发明的范围之内。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。

计算机可读存储介质可以是有形设备,其可以保留和存储由指令执行设备使用的指令。所述计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述设备的任何适当组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD),存储棒、软盘、例如在其上记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码设备、以及上述的任何适当组合。如本文所使用的,计算机可读存储介质,不应被解释为本身是瞬时信号,例如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过导线传输的电信号。

这里描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。

用于执行本发明操作的计算机可读程序指令可以是汇编器指令,指令集体系结构(ISA)指令,机器指令,机器相关指令,微码,固件指令,状态设置数据,或者用一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk,C 等)和常规过程编程语言(例如,“C”编程语言或类似编程语言)的任意组合来编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在用户的计算机上且部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以进行到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。在一些实施方案中,包括(例如)可编程逻辑电路,现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)在内的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使电子电路个性化,从而执行本发明的各个方面。

参考根据本发明的实施方案的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框,以及流程图图示和/或框图中的框的组合,可以通过计算机可读程序指令来实现。

这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其它可编程数据处理装置,以产生机器,使得经由计算机的处理器或其它可编程数据处理装置执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令也可以被存储在能够引导计算机、可编程数据处理设备和/或以特定方式工作的其它设备的计算机可读存储介质中,使得其中存储有指令的计算机可读存储介质包括制造的产品,该制造的产品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。

计算机可读程序指令也可以加载到计算机,其它可编程数据处理装置,或使一系列操作步骤在计算机上执行的其它设备,用于产生计算机实现的过程的其它可编程设备或其它装置上,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或框图的一或多个框中指定的功能/动作。

图中的流程图和框图示出了根据本发明的各种的实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代的实现方式中,框中指出的功能可以不按照图中指出的顺序发生。例如,实际上根据所涉及的功能,连续示出的两个框可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示的每个框,以及框图和/或流程图图示中的框的组合,可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。

从前面的描述中应当理解,在不偏离本发明的真实精神的情况下,可以在本发明的各种实施方案中进行修改和改变。本说明书中的描述仅是为了说明的目的,而不应被解释为限制性的。本发明的范围仅由所附权利要求的语言限定。

再多了解一些

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

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

相关文献