用于分布式图形数据库的摄取系统的制作方法

文档序号:37089471发布日期:2024-02-20 21:46阅读:18来源:国知局
用于分布式图形数据库的摄取系统的制作方法

本公开所涉及的是用于分布式图形数据库的数据摄取。


背景技术:

1、一种分布式数据处理系统为大规模分布式存储和处理数据提供了软件框架。分布式软件框架可以跨网络上的许多不同的计算机来存储数据库的部分。分布式数据处理系统协调跨计算机网络的数据创建、读取、写入、更新和删除操作、查询操作以及计算。

2、索引被用于快速地定位数据库中的数据。就像书的索引识别打印特定词语的页面一样,数据库上下文中的索引识别被存储在数据库中的特定数据项的特定逻辑或物理存储位置。索引由执行构建过程的计算机来创建。当向数据库中添加或者从数据库删除数据,或者更新数据库中的数据时,需要相应地重新构建索引。如果数据库中的数据频繁地改变,则可能需要更频繁地重新构建索引。在分布式系统中,数据库改变和索引重新构建可以在一台计算机上执行,并且然后跨分布式系统中的计算机网络来传播。

3、存在不同类型的分布式数据库架构,包括图形架构和非图形架构。非图形架构的示例包括关系数据库和键值存储。在关系数据库中,数据是根据包括表和键的模式来组织的。表根据行和列的逻辑布置来存储数据。键用于将被存储在不同表中的数据连接在一起。结构化查询语言(sql)被用于构造和执行查询,以及创建、更新和操纵表和键。来自关系数据库的查询结果可以包括从关系数据库的不同表取回的数据。

4、图形数据库使用包括多个互连的图形图元(graph primitive)的图形数据结构来组织数据。图形图元的示例包括节点、边和谓词,其中,节点存储数据,边创建在两个节点之间的关系,并且谓词是被分配给边的语义标签,其定义或者描述在由边连接的节点之间存在的关系类型。图形数据库的节点可以对应于非图形数据库的表、表的子集或者不同表的行和列的集合。图形图元的另一示例是图形或子图形的特定部分,诸如特定的一对节点加上通过其连接节点的边。图形查询语言被用于构造和执行对图形数据库的查询,以及创建、更新和操纵图形数据库的组件。利用图形数据库,查询结果包括被存储在图形数据库中的图形的子集;例如,一个或多个图形图元。

5、可以根据针对查询吞吐量、响应时间、可靠性、可伸缩性或性能而设计的网络上的计算机的布置来组织分布式系统。例如,分布式系统可以包括多个数据中心,其中,每个数据中心驻留在不同的物理、地理位置,并且每个数据中心包含数据库的完整副本。数据中心可以通过复制过程来接收数据库的经更新的副本。每个数据中心可以包括服务器计算机的多个集群,并且每个集群或服务器计算机可以包括一台或多台机器。在分布式系统中,数据库或索引的部分可以在逻辑上被划分为碎片。不同的碎片可以被存储在分布式系统的同一机器或不同机器上。

6、在本节中所描述的方案是可以采用的方案,但是不一定是先前设想或采用的方案。因此,除非另有说明,否则不应当假定在本节中所描述的方案中的任何方案仅仅由于其包含在本节中而具有现有技术的资格。


技术实现思路

0、概述

1、基于网络的软件应用常常存储和处理大量的数据。例如,连接网络系统(诸如社交媒体应用和基于此的应用)每天可能对数十亿条数据记录进行创建、存储、查询以及执行复杂操作。

2、基于网络的软件应用常常包括搜索功能,其允许用户输入搜索查询来搜索和取回与用户搜索标准相匹配的数据记录。搜索标准的示例是关键字,诸如实体名称、职务或技能。数据记录的示例包括用户简档、职务公告、新闻馈送项和注释。在使用或者基于社交图形的应用中,可能需要执行复杂的操作来确定正确的查询结果集。例如,针对所述系统可能需要若干操作来确定实体的第一、第二或第三级连接,特别是在实体具有大量连接的情况下。作为另一示例,确定哪些实体连接匹配特定搜索查询可能需要所述系统执行复杂的操作集,特别是在所述查询包含多个搜索标准的情况下。为了改善执行这些和其他操作的效率,并且提高从数据库取回准确查询结果的速度,可以使用分布式图形数据库设计,其中,图形数据库的部分和/或其索引是跨网络上的多个不同机器来存储的。跨网络上多个机器存储数据提高了并行度和吞吐量,并且防止了瓶颈。

3、一项技术挑战是确保图形数据库索引的适当部分(或者数据输入)被恰当地配置以分配到适当的机器集。

4、用于解决该挑战的一种现有方案涉及部署计划。在该方案中,人类管理员通过编写计算机编程代码来创建部署计划,所述计算机编程代码指定在特定集群或机器上创建和更新图形数据库的部分的方式。在现有方案中,所述部署计划是使用命令式编程语言来编写的。因此,所述部署计划显式地列出必须执行的命令或步骤。针对集群的所述部署计划通常需要被传播到集群中的每台个体机器。

5、这种现有方案的缺点在于:对部署计划的更改需要手动编辑所述部署计划内的代码。由于所述代码可能相当复杂,因此在手动地编辑所述部署代码的过程期间存在错误的高风险。

6、同样地,在现有方案中,所述部署计划是特定于特定机器或集群的。因此,一旦被编辑,经更新的部署计划就需要被传播到所有适用的机器或集群。在包括大量机器(例如,数百或数千台机器)的分布式系统中,更新所述部署计划可能是非常费时并且费力的过程。

7、另外,不同的集群或机器可能具有不同的部署计划,因此为了避免错误,部署计划更改的传播需要详细并且完整地知道对其应用或不应用更改的所有机器或集群。部署计划的传播中的错误可能会导致例如将不正确的数据加载到图形数据库中,或者在特定机器或集群处构建不正确的索引。总之,现有的部署配置方案已经证明难以管理,并且受制于代价高昂错误的高风险。

8、如下文更详细描述的,所公开的技术通过利用由图形数据库的查询评估器所评估和应用的基于图形的摄取配置元数据来替换易于出错和难以维护的复杂的手动编码的部署计划,来改进现有方案。

9、根据所公开的技术,将数据从真值数据源的一个或多个源加载或更新到图形数据库的部分中可以被称为摄取。通过在图形数据库的至少一部分驻留在其上的机器、集群或者数据中心与真值数据源中的源之间建立摄取管线,可以在分布式图形数据库中消费或更新数据。摄取配置建立摄取管线并且定义摄取管线的操作方式。与被绑定到特定机器或集群的现有方案不同,所公开的技术允许独立于任何特定机器或集群来建立摄取配置。替代地,使用所公开的技术而创建的摄取配置可以与将数据写入到图形数据库的真值数据源的源的不同部分相关联。

10、根据所公开的技术,摄取配置作为图形数据被直接编码到图形数据库中,以便当图形数据库的图像被构建或传播到特定机器、集群或数据中心时,摄取配置包含在图像中,并且由此也作为图像的部分而被传播到相同的特定机器、集群或数据中心。因为所述图像包含其自己的摄取配置,所以所述图像可以被称为自描述图像。

11、在本文中针对图像所使用的另一术语是索引。在所公开的技术的上下文中,图像是促进取回被存储在一个或多个源数据存储库中的数据的索引。如在本文中所使用的图像可以包含已经从一个或多个源数据存储库摄取到图形数据库中的数据的部分。例如,能够将图像定义为摄取的集合。在图像中,根据图形数据库结构以图像驻留在其上的机器或集群部分查询的方式来布置所摄取的数据。

12、在该上下文中,由计算机执行的将真值数据的源转换为图形结构的过程可以被称为构建图像。数据的转换是必要的,因为所摄取的数据的形式可能与图形数据库不兼容。已经构建的图像能够从一个物理或逻辑存储位置复制到另一物理或逻辑存储位置。例如,图像可以从一个数据中心、集群或机器复制到另一数据中心、集群或机器。可以通过将新的图形图元写入到图形数据库,并且然后重新构建图像,来修改所述图像。如在本文中所使用的,加载可以指代将图像从非易失性存储器加载到易失性存储器中,而服务图像可以指代使加载的图像可用于通过网络业务的查询。服务图像可以涉及例如改变标志变量的值以指示图像准备好接受来自网络的查询。

13、自描述图像确保了跨机器或集群的摄取配置的可追溯性。同样地,由于能够查询所述自描述图像,因此在加载、写入或服务所述图像之前,能够容易地确定和评估所述摄取配置,以确定其是否适合于特定的数据中心、集群或机器。以这种方式,所公开的技术支持并且促进早期检测摄取配置错误和不匹配;由此防止摄取配置错误被传播到许多其他机器,包括例如用于服务实时网络业务的机器。

14、所公开的技术的实现方式提供了至少部分地根据声明性查询语言而配置的摄取配置服务。声明性查询语言允许用户表达要取回哪些数据,由此允许查询处理引擎无缝地取回所述数据。声明性查询语言以更一般的方式工作,并且涉及关于要完成什么任务给出广泛的说明,而不是关于如何完成任务的细节。声明性查询语言的示例包括prolog和sql。声明性语言的使用简化了创建、修改和维护摄取配置的过程,因为其允许根据所需结果来描述所述摄取配置,而无需显式地列出必须执行的命令或步骤。如上所述,最初可以独立于任何特定的机器或集群来创建摄取配置。在初始创建期间或者之后的时间,可以使用也在图形数据库中编码的简单的声明性语句将所述摄取配置应用于或者启用用于一个或多个特定的机器或集群。

15、如在本文中所使用的,节点可以指代图形数据库的图形中的节点或顶点,而不是指代计算机网络中的计算机。如在本文中所使用的数据中心可以指代一个或多个机器或集群的物理、地理位置。如在本文中所使用的集群可以指代数据中心内的一个或多个机器的逻辑分组,或者逻辑分组可以独立于机器的物理位置。如在本文中所使用的机器可以指代物理机器,诸如服务器计算机,或者在服务器计算机上运行的虚拟机。上文所描述的优点和益处作为示例来提供。所公开的技术并不限于这些示例,并且可以提供与上文所描述的那些相比的额外的或者不同的优点和益处。

16、示例性用例

17、可以参考在网络应用的上下文中针对分布式图形数据库的创建、修改和管理摄取配置的示例性用例来描述所公开的技术;例如,诸如专业社交网络应用的社交图形应用。

18、其他用例

19、所公开的技术并不限于社交图形应用,而是能够用于更一般地创建、修改和管理针对图形数据库的摄取配置。所公开的技术可以由许多不同类型的网络应用使用,其中,基于图形的摄取配置可以改善数据一致性、可靠性或者性能,诸如在其中可以频繁地查询和/或频繁地更新图形数据库的任意应用。

20、示例性计算系统

21、图1图示了一种在其中能够实现在本文档中所描述的特征的实施例的计算系统。在图1的实施例中,计算系统100包括用户系统110、网络120、图形数据库130、分布式数据服务140、一组源数据存储库150(它们是真值源)、查询服务160、应用软件系统170以及摄取配置服务180。

22、用户系统110包括至少一个计算设备,诸如个人计算设备、服务器、移动计算设备或者智能家电。用户系统110包括被安装在计算设备上或者计算设备能通过网络访问的至少一个软件应用,包括用户界面112。例如,用户界面112可以是或者包括应用软件系统170的前端部分。

23、用户界面112是如上文所描述的任意类型的用户界面。用户接口112可以用于输入搜索查询并且查看或者以其他方式感知包括由查询服务160取回的和/或由应用软件系统170产生的数据的输出。例如,用户界面112可以包括图形用户界面和/或会话语音/话音接口,其包括用于输入搜索查询和查看查询结果和/或其他数字内容的机构。用户界面112的示例包括web浏览器、命令行界面和移动app。如在本文中所使用的用户界面112可以包括应用编程接口(api)。

24、图形数据库130是包含可以由查询服务160取回和/或操纵以生成查询结果的数据的图形数据库。在一些实现方式中,图形数据库130的部分可以是另一系统的部分,或者由另一系统或通过另一系统访问,诸如分布式数据服务140。数据被摄取到图形数据库130中并且被存储在图形132中。图形132包括用于图形数据库130的多个客户端中的每个客户端ci的客户端ci子图形136。客户端ci子图形136包含客户端ci摄取配置元数据134。

25、客户端ci摄取配置元数据134被配置为使用在本文中所描述的方案促进将数据从一个或多个源数据存储库150摄取到图形132中。客户端ci摄取配置元数据134的示例性实现方式在下文的附图中示出,并且在下文更详细地描述。

26、如在本文中所使用的,客户端可以对应于被存储在一个或多个源数据存储库150中的数据逻辑分组。例如,客户端可以对应于特定类型的查询或者可以由查询服务160执行的查询的搜索标准,以取回要被递送到应用软件系统170的特定查询结果集。这样,客户端的对应的数据逻辑分组需要能经由图形数据库130搜索。客户端对应的数据逻辑分组包括一个或多个数据集。

27、例如,“连接”可能是客户端的名称。连接客户端可能具有多个数据集,其包括“成员到成员连接”数据集、“成员到公司连接”数据集以及“成员到跟随者连接”数据集。客户端的每个数据集可以消费来自一个或多个源数据存储库150的数据。例如,数据集可能消费仅来自离线源、仅来自近线源或者来自离线源和近线源两者的数据。分布式数据服务140以分布式方式来存储图形数据库130的部分。分布式数据服务140包括多个数据服务dn 142,其中,d表示识别特定数据服务的标记或标签,并且n是正整数。如在本文中所使用的,数据服务可以指代机器的物理、地理分组、机器的逻辑分组或者单个机器。例如,数据服务dn 142可以是数据中心、集群、集群组或机器。数据服务dn 142可以存储图形数据库130的完整副本或者仅存储图形数据库130的一个或多个部分。

28、每个数据服务dn 142包括对应的图像管理器mn 144,并且存储一个或多个自描述图像ii,n 146。图像管理器mn 144管理被存储在数据服务dn 142上的图像146。例如,图像管理器mn 144执行图像复制、构建、加载、写入、服务和删除操作。图像管理器mn 144也保持跟踪已经被复制到数据服务dn 142的图像的版本,以及在数据服务dn 142上构建、加载、写入、服务和删除的图像的版本。图像管理器mn 144本地存储关于由数据服务dn 142接收并且在数据服务dn 142上使用的图像的信息,例如作为针对数据服务dn 142的状态数据。

29、自描述图像ii,n 146是包含针对图形数据库130的i个客户端中的每个客户端的客户端ci子图形136的图像,客户端ci子图形136包括客户端ci摄取配置元数据134,其中,i是正整数。因此,自描述图像ii,n 146可以包含针对图形数据库130的每个客户端的客户端ci子图形136。替代地,自描述图像ii,n 146可以包含仅针对图形数据库130的所有客户端的子集的客户端ci子图形136。

30、源数据存储库150存储由图形数据库130消耗的真值数据的源。源数据存储库150包括一个或多个离线存储ox 152以及一个或多个近线存储154ny,其中,o和n是识别特定源数据存储库150的标记或标签,并且x和y是正整数。如在本文中所使用的,i、n、x和y中的每个可以具有相同的值或者不同的值,并且i、n、x和y中的任意一个的值可以随时间改变。

31、离线存储ox 152的示例是使用关系数据库实现的真值数据存储的源。近线存储154ny的示例是实时事件流,诸如kafka事件流。源数据存储库150中的每个源数据存储库根据与图形数据库130的图形模式不同的模式来存储数据。例如,源数据存储库150可以根据诸如关系模式的非图形模式来存储数据。

32、源数据存储库150可以驻留在至少一个持久和/或易失性存储设备上,所述存储设备可以驻留在与计算系统100的至少一个其他设备相同的本地网络内和/或在相对于计算系统100的至少一个其他设备远程的网络中。因此,尽管被描述为包含在计算系统100中,但是源数据存储库150的部分可以是计算系统100的部分或者由计算系统100通过网络(诸如网络120)访问。

33、查询服务160解释并且执行针对图形数据库130的查询。查询服务160也对图形数据库130执行各种逻辑操作。例如,查询服务160可以从图形数据库130创建、更新或删除图形图元。查询服务160的部分可以是另一系统的部分,或者由另一系统或通过另一系统访问,诸如分布式数据服务140、应用软件系统170或摄取配置服务180。查询服务160可以使用声明性查询语言来实现。

34、应用软件系统170是包括或利用由查询服务160提供的功能的任意类型的应用软件系统。应用软件系统170的示例包括但不限于连接网络软件,诸如社交媒体平台,以及可以基于或者不基于连接网络软件的系统,诸如通用搜索引擎、工作搜索软件、招聘人员搜索软件、销售辅助软件、广告软件、学习和教育软件,或者上述任何一个的任意组合。

35、摄取配置服务180是查询服务160的接口,其促进创建和修改针对一个或多个客户端ci的摄取配置,如下文更详细描述的。摄取配置服务180是api或者包括api套件。摄取配置服务180可以使用声明性编程语言来实现。

36、尽管未具体示出,但是应当理解,用户系统110、图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170和摄取配置服务180中的任意一个包括接口,所述接口被体现为存储在计算机存储器中的计算机编程代码,所述计算机编程代码当被执行时使得计算设备能够支持使用通信耦合机制与以下中的任意一项进行双向通信:用户系统110、图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170或摄取配置服务180。通信耦合机制的示例包括网络接口、进程间通信(ipc)接口和应用程序接口(api)。

37、应用软件系统170的客户端部分可以在用户系统110中操作,例如作为软件应用的图形用户界面中的插件或微件,或者作为执行用户界面112的web浏览器。在实施例中,web浏览器可以响应于通过由web应用提供并且通过web浏览器显示的用户界面接收用户输入,在网络(例如,互联网)上传输http请求。运行查询服务160的服务器和/或应用软件系统170的服务器部分可以接收输入,使用所述输入执行至少一个操作,并且使用web浏览器接收和处理的http响应来返回输出。

38、用户系统110、图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170和摄取配置服务180中的每个使用被通信地耦合到电子通信网络120的至少一个计算设备来实现。用户系统110、图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170和摄取配置服务180中的任意一个可以由网络120双向通信地耦合。用户系统100以及一个或多个不同的用户系统(未示出)可以双向通信地耦合到应用软件系统170、查询服务160或者摄取配置服务180。

39、用户系统110的典型用户可以是图形数据库130的管理员、分布式数据服务140的管理员、应用软件系统170的管理员或者应用软件系统170的终端用户。用户系统110被配置为通过网络120与图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170和摄取配置服务180中的任意一个双向通信。

40、用户系统110、图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170和摄取配置服务180的特征和功能是使用计算机软件、硬件或者软件和硬件来实现的,并且可以包括自动功能、数据结构和数字数据的组合,这些在图中示意性地表示。用户系统110、图形数据库130、分布式数据服务140、源数据存储库150、查询服务160、应用软件系统170和摄取配置服务180被示为图1中的单独元件,以便容易讨论,但是图示并不意味着需要分离这些元件。所图示的系统、服务和数据存储(或者其功能)可以被划分为包括单个物理计算机系统的任意数量的物理系统,并且能够以任何适当的方式彼此通信。

41、网络120可以在提供计算系统100的各种组件之间的数据、信号和/或指令的交换的任何介质或机构上实现。网络120的示例包括但不限于:局域网(lan)、广域网(wan)、以太网或互联网,或者至少一个地面、卫星或无线链路,或者任意数量的不同网络和/或通信链路的组合。

42、应当理解,计算系统100仅仅是在本文中所公开的技术的实现方式的一个示例。尽管描述为了便于讨论可以参考图1或“系统100”,但是可以使用硬件和软件组件的其他合适配置来实现所公开的技术。类似地,在随后的附图中示出并且在下文所描述的特定实施例仅作为示例提供,并且本公开并不限于这些示例性实施例。

43、摄取配置服务的示例性操作

44、图2a是能够执行所公开的技术的各方面的计算系统的操作和组件的实施例的简化流程图。如在图2a中所示的流200的操作能够使用被存储在计算机存储器中的处理器可执行指令来实现。为了提供明确的示例,图2a的操作被描述为由计算系统100执行,但是其他实施例可以使用其他系统、设备或实现的技术。

45、在图2a中,在应用软件系统170与查询服务160之间交换事件业务202。事件业务202能够包括通过网络的数据和/或指令的在线、离线和/或近线通信。例如,事件业务202能够包括数据记录更新、活动日志、查询和/或查询结果。查询服务160将从应用软件系统170接收的事件业务202转换为能够由图形数据库130读取和处理的格式(即,事件业务204),并且将从图形数据库130接收的事件业务204转换为能够由应用软件系统170读取和处理的格式(即,事件业务202)。

46、针对图形数据库130的数据存储是跨分布式数据服务140分布的。查询服务160管理从源数据存储库150到分布式数据服务140的数据摄取。在这样做时,查询服务160将由摄取配置服务180创建的摄取配置编码到图形数据库130中。图2a图示了针对特定客户端ci的摄取配置的创建和修改以及将包含该摄取配置的图像传输到分布式数据服务140的特定数据服务dn 142的示例。尽管摄取配置的创建和修改应当在加载时间期间发生,但是这样的创建和修改能够在查询服务160处理事件业务202、204的同时发生,或者在其他时间发生。

47、为了创建针对客户端ci的摄取配置,摄取配置服务180从用户系统110接收客户端ci api调用208(在图2a中的步骤1)。客户端ci api调用208可以由人类管理员或者由自动化过程或机构发出。客户端ci api调用208包含指示所需的摄取配置的一个或多个变元。可以包含在客户端ci api调用208中的变元的示例包括独有客户端标识符以及包含摄取配置和针对离线ox存储152和近线存储154ny的信息的文件的存储位置的路径名称。离线ox存储152的示例是离线数据文件(要被摄取)所在的hadoop dfs路径。这些“离线数据文件”是主要真值源关系数据库表的快照。近线存储154ny的示例是kafka主题的名称,近线存储154ny从kafka主题接收实时更新流。摄取配置服务180将客户端ci api调用208所请求的摄取配置读取到ci摄取配置210,并且将ci摄取配置210传输到查询服务160(图2a的步骤2)。

48、摄取配置是元数据,针对特定客户端ci,所述元数据包括识别一个或多个源数据存储库的数据、用于连接到识别出的(一个或多个)源数据存储库150的指令、转换逻辑和元数据。包含在摄取配置中的转换逻辑提供用于根据源数据存储库150的模式224将被存储在源数据存储库150中的输入数据216转换为能够存储在图形数据库130中的客户端ci子图形136的指令。

49、摄取配置也可以包括识别摄取配置所应用到的一个或多个数据服务dn的一个或多个标记或标签。例如,摄取配置可以指定特定离线配置应仅应用于特定数据服务dn,而不应用于其他数据服务。以这种方式,摄取配置服务180允许管理员选择性地定制针对不同数据服务的摄取配置,而不必编写显式代码来实现定制的摄取配置。例如,生产集群和测试机器各自可以具有针对相同客户端ci的不同摄取配置,并且这些差异能够在ci摄取配置210中指示并且在图形数据库130中编码。

50、摄取配置包括例如指示多个源数据存储库中的摄取优先级顺序的优先级数据。优先级数据可以指定例如从离线数据存储的摄取应当先于从近线数据存储的摄取,或者从第一近线数据存储的摄取应当先于从第二近线数据存储的摄取。可以包含在摄取配置中的元数据的另一示例是历史日期/时间戳,其指示从近线源消费输入数据的起点(例如,从该日期/时间戳向前回到从前并且消费近线更新,以便确保数据一致性)。可以包含在摄取配置中的元数据的又一示例是促进收集和聚合度量的标志名称。摄取配置的额外示例在图3a和图3b中示出,如下文所描述的。

51、查询服务160读取ci摄取配置210,将ci摄取配置210转换为一个或多个ci图形图元212,并且将一个或多个ci图形图元212存储在客户端ci子图形136中(图2a的步骤3)。在图3a中示出了ci图形图元212的示例,如下文所描述的。

52、同时或稍后,摄取配置服务180接收数据服务dn api调用218(图2a的步骤4)。数据服务dn api调用218可以由人类管理员或者由自动化过程或机构发出。数据服务dn api调用218包含指示针对特定数据服务dn启用特定ci摄取配置210的一个或多个变元。下文参考图2b描述了能适用的摄取与启用的摄取之间的差异。包含在数据服务dn api调用218中的变元的示例包括数据服务dn标识符和客户端标识符ci。摄取配置服务180将数据服务dn api调用218所请求的摄取配置修改读取到启用dn的摄取配置220中,并且将启用dn的摄取配置220传输到查询服务160(图2a的步骤5)。

53、查询服务160读取启用dn的摄取配置220,将启用dn的摄取配置220转换为一个或多个dn图形图元212,并且将所述一个或多个dn图形图元212存储在客户端ci子图形136中(图2a的步骤6)。dn图形图元212的示例在图3b中示出,如下文所描述的。

54、在摄取期间,查询服务160从一个或多个源数据存储库150读取输入数据216和模式224,并且将输入数据216转换为输入数据216的图形表示,并且将输入数据216的图形表示存储在图形数据库130中。

55、由于摄取配置被编码在图形数据库130中,因此当针对数据服务dn构建图像时,摄取配置被包含在图像中。因此,当针对数据服务dn构建图像时,能够从图像中查询和提取摄取配置以及识别其相关联图像和(一个或多个)客户端的数据,并且将其在数据服务dn处本地存储在状态数据222中。这允许数据服务dn相对状态数据222来评估其可能从其他源接收的图像。

56、例如,如果图像从另一位置复制到数据服务dn,则数据服务dn能够查询并且提取针对该图像的摄取配置,并且将其与自己的状态数据222进行比较。如果针对所述图像的摄取配置与状态数据222不匹配,则数据服务dn能够确定下一适当动作,所述下一适当动作可以是拒绝所述图像,或者可以是确定所述图像是可接受的,并且能够由数据服务dn以零个或多个修改来服务。

57、能适用和启用的摄取配置的示例

58、客户端ci可以针对不同的数据服务具有不同的配置,或者可以具有应用于严格的服务子集的配置。“适用于”图元建立了这种关系。例如,cix是适用于服务d1和d2的客户端ci的配置,而ciy是仅适用于服务d3的客户端ci的配置。然而,cix可能实际上不在d1和d2两者上启用。“启用”图元跟踪实际打开适用配置的服务。针对客户端配置的“启用”服务集合是针对客户端配置的“适用于”服务集合的子集。例如,尽管配置cix适用于服务d1和d2,但是cix可能仅在d1上启用。

59、图2b图示了可以由图1的计算系统的一部分创建或评估的选择性可调整摄取配置250的示例。配置250包括针对三个标记中的每个标记的可应用和启用的摄取:标记1、标记2和标记3。标记1、2和3中的每个标记对应于机器的物理、地理和/或逻辑分组。例如,标记1、标记2和标记3中的任意标记可以对应于数据中心、集群、集群的分组或机器。配置250仅包括3个标记作为示例;任何配置都可以具有任意数量的标记。

60、出于例示说明的目的,假设标记1、标记2和标记3中的每个标记对应于不同的数据中心。在配置250中,每个数据中心具有不同集合的能适用的摄取,但是在其他配置中,一些或所有数据中心可以具有相同集合的能适用的摄取。每个能适用的摄取对应于不同的客户端ci。例如,每个能适用的摄取252、254、256、258指定针对特定客户端ci的摄取配置,并且指定所述摄取配置适用于与标记1相关联的所有机器。

61、例如,通过将“适用于”图形图元添加到ci图形图元212,能够使摄取配置适用于特定标记。适用于信息能够被包含在摄取配置的初始版本中,例如作为ci摄取配置210的部分,或者能够稍后例如添加为启用dn的摄取配置220。可以将适用于所有标记的ci摄取配置210称为基本配置。一旦用于所有能适用的标记的基本配置被编码在图形数据库130中,将“能适用”信息包括在该基本配置中使所述基本配置的灵活性最大化。例如,如果在以后管理员希望在特定机器上启用摄取,则他们能够通过简单地构建或复制包括基本配置的图像,并且经由摄取配置服务180添加指示要针对其启用摄取的机器的启用图形图元来做到这一点。

62、在配置250中,已经针对标记1启用了摄取252、254和258。结果,当图像被写入标记1时,仅有摄取252、254、258将被包含在图像中。类似地,尽管摄取260、262、264、266已经被包含在针对标记2的能适用的摄取集合中,但是仅有摄取262和264被包含在启用的摄取集合中。对于标记3,摄取268、270、272和274被包含在能适用的摄取集合中,但是仅摄取268和274被包含在启用的摄取集合中。

63、如在图2b中所示的,仅有启用的摄取被写入图像中以用于特定标记。因此,针对标记1而构建的图像仅包括摄取252、254、258。如果试图将针对标记1而构建的图像复制到标记3,则存在不匹配,因为尚未针对标记3启用摄取252、254、258。类似地,如果试图将针对标记2而构建的图像复制到标记1,则存在不匹配,因为尚未针对标记1启用摄取262和264。例如,标记3可以是实验节点,而摄取268、274可以是较大数据集的小样本。如果标记1是需要完整数据集的生产节点,那么使用针对标记3而构建的图像将导致生产系统具有不完整的数据集。以这种方式,所公开的技术能够帮助确保数据一致性并且防止代价高昂的摄取错误。

64、基于图形的摄取配置示例

65、图3a和图3b是图示了可以由图1的计算系统的一部分创建或评估的摄取配置的示例的框图。

66、如上所述,所公开的技术能够将摄取配置表示为图形数据库的至少一部分的逻辑图形。摄取配置数据的图形表示针对图形数据库的客户端包括用于将数据从至少一个源数据存储库摄取到图形数据库中的规范。

67、如在图3a和图3b中所示的,摄取配置数据的图形表示包括至少两个节点、至少一个边以及至少一个谓词。至少两个节点至少包括离线配置节点和/或近线配置节点。边指示两个节点之间的逻辑关系。谓词包括针对两个节点之间逻辑关系的标签。所述标签涉及用于将数据从至少一个源数据存储库摄取到图形数据库中的规范。

68、用于将数据从至少一个源数据存储库摄取到图形数据库中的规范包括针对客户端的一个或多个离线数据源的摄取配置数据和/或针对客户端的一个或多个近线数据源的摄取配置数据。

69、针对离线数据源或近线数据源的摄取配置数据包括识别针对客户端的至少一个源数据存储库的物理或逻辑位置的位置数据,诸如路径名称或kafka主题名称、元数据和转换逻辑。元数据可以指定用于针对客户端将数据写入图形数据库的优先级顺序。转换逻辑可以包括用于将被存储在一个或多个源数据存储库中的输入数据转换为输入数据的图形表示的指令。摄取配置数据以声明形式写入。

70、摄取配置数据的图形表示还可以包括识别摄取配置数据能适用的至少一个数据服务的能适用的数据服务数据、识别针对其启用摄取配置数据的至少一个数据服务的启用数据服务数据。当针对数据服务而构建图像时,逻辑图形被包含在图像中,使得摄取配置的图形表示被包含在存储在数据服务处的图像中。这就是使图像自我描述的原因。

71、图3a和图3b图示了摄取配置的图形表示,其可以由查询服务160在图形数据库130中创建和编码。

72、图3a图示了摄取配置300。摄取配置300包括四个节点:摄取配置302、离线配置304、近线配置306和数据服务dn 308。摄取配置300包括三个边:在摄取配置302与离线配置304之间的第一边、在摄取配置302与近线配置306之间的第二边、以及在摄取配置302与数据服务dn 308之间的第三边。每个边具有描述在两个连接的边之间关系的谓词:在摄取配置302与离线配置304之间包括310,在摄取配置302与近线配置306之间包括312,以及在摄取配置302和数据服务dn 308之间的applicable_to(能适用于)。能够通过例如移除离线配置304、移除近线配置306、移除数据服务dn 308或者添加类似于数据服务dn 308但是用于不同数据服务的另一节点以及applicable_to边来修改摄取配置302。这些修改是利用声明性语言所描述的状态,并且图形数据库的查询评估器对302进行修改。

73、图3b图示了摄取配置350。除了摄取配置350包括额外节点和边之外,摄取配置350与摄取配置300相同。更具体而言,摄取配置350已经添加了新节点、数据子服务dm 318和启用的新边316。在图3b的示例中,数据子服务dm是数据服务dn的子集。这指示摄取配置302仅针对数据子服务dm中的(一个或多个)机器启用,而不是针对数据服务dn中的所有机器启用。

74、用于创建摄取配置的示例性过程

75、图4是可以用于实现图1的计算系统的一部分的过程的流程图。更具体而言,流程400是可以由例如与摄取配置服务180协调的查询服务160使用的过程的示例,以创建摄取配置并且将摄取配置编码到图形数据库中。

76、在操作402中,流程400读取针对图形数据库的客户端集合中的客户端的摄取配置数据。为此,操作402可以读取api调用的一个或多个变元。读取摄取配置数据可以包括读取针对客户端的离线数据源的摄取配置数据和/或针对客户端的近线数据源的摄取配置数据的声明性表示。

77、读取摄取配置数据可以包括读取识别针对客户端的数据源的物理或逻辑位置的位置数据、指定用于针对客户端将数据写入到图形数据库的优先级顺序的元数据、用于将被存储在数据源中的输入数据转换为输入数据的图形表示的转换逻辑中的任何一项的任意组合的声明性表示。读取摄取配置数据可以包括读取识别摄取配置数据能适用于的至少一个数据服务的能适用的数据服务数据和/或识别针对其启用摄取配置数据的至少一个数据服务的启用的数据服务数据的声明性表示。

78、可以使用至少部分地根据声明性查询语言而配置的应用编程接口(api)来执行针对客户端的摄取配置数据的读取。在操作404中,流程400创建在操作402中读取的摄取配置的图形表示。为此,操作402可以将摄取配置数据解析为图形图元。

79、针对客户端来创建摄取配置数据的图形表示可以包括将摄取配置数据转换为图形图元,所述图形图元包括至少两个节点、至少一个边以及至少一个谓词;其中,所述至少一个边中的边指示至少两个节点中的两个节点之间的逻辑关系,所述至少一个谓词中的谓词包括针对两个节点之间的逻辑关系的标签,并且所述标签涉及摄取配置,并且所述摄取配置包括用于将输入数据从非图形数据源摄取到图形数据库中的规范。

80、在操作406中,流程400将由操作404创建的摄取配置数据的图形表示存储在图形数据库中。为此,操作406可以在图形数据库的客户端子图形中对摄取配置的图形表示进行编码。

81、在操作408中,流程400修改摄取配置数据的图形表示以包括启用数据服务。为此,操作408可以向摄取配置数据的图形表示添加新边,并且将摄取配置数据的修改后的图形表示存储在图形数据库中。操作408可以包括修改摄取配置数据的图形表示以指示摄取配置数据被启用以用于至少一个数据服务,或者修改摄取配置数据的图形表示以指示摄取配置数据未被启用用于至少一个数据服务。

82、在操作408之后,流程400可以向数据服务提供针对客户端的摄取配置数据的图形表示;例如,响应于来自数据服务的请求。在操作408之后,数据服务可以创建包含针对客户端的摄取配置数据的图形表示的图像。

83、流程400可以包括从至少一个第一设备接收摄取配置数据,使用至少一个第二设备创建图形表示,以及使得图形表示被存储在至少一个第三设备上的图形数据库中。

84、用于检测摄取配置不匹配的示例性过程

85、图5是可以用于实现图1的计算系统的一部分的过程的流程图。更具体而言,流程500是可以由数据服务执行以在数据服务处构建、加载、写入或服务图像之前评估摄取配置数据的过程的示例。

86、在操作502中,流程500查询图形数据库以确定针对客户端的摄取配置。操作502可以包括查询图形数据库的图像,以针对图形数据库的多个客户端中的客户端来确定能适用于服务所述图形数据库的多个数据服务中的数据服务的摄取配置数据,其中,所述客户端可以对应于根据非图形或图形模式而布置的至少一个数据集。

87、在操作504中,流程500读取针对数据服务的状态数据,以针对客户端来确定针对数据服务的启用的摄取配置数据。操作504可以包括读取针对先前已经在数据服务上构建、加载、写入或服务的图像的本地存储的摄取配置数据。

88、在操作506中,流程500将在操作504中确定的针对数据服务启用的摄取配置数据与在操作502中确定的适用于数据服务的摄取配置数据进行比较。操作506可以包括针对客户端的离线数据源评估摄取配置数据和/或针对客户端的近线数据源评估摄取配置数据。

89、例如,操作506可以包括将适用的离线配置数据与启用的离线配置数据进行比较和/或将适用的近线配置数据与启用的近线配置数据进行比较。作为另一示例,操作506可以包括评估识别针对客户端的非图形数据源的物理或逻辑位置的位置数据和/或评估指定用于针对客户端将数据写入到图形数据库的优先级顺序的元数据。

90、在操作508中,流程500确定在针对数据服务启用的摄取配置数据与能适用于数据服务的摄取配置数据之间是否存在不匹配。不匹配的示例包括适用于数据服务但是未针对数据服务而启用的离线配置和/或适用于数据服务但是未针对数据服务而启用的近线配置。

91、检测针对数据服务启用的摄取配置数据与能适用于数据服务的摄取配置数据之间的不匹配可以包括确定离线摄取能适用于数据服务但是未针对数据服务启用,或者近线摄取能适用于数据服务但是未针对数据服务启用,或者针对数据服务启用的摄取配置数据中包含的元数据与能适用于数据服务的摄取配置数据中包含的元数据不匹配,或者前述任何一种的组合。

92、如果操作508检测到不匹配,则流程500进行到操作510。在操作510中,流程500基于检测到的不匹配来修改数据服务的操作。基于检测到的不匹配来修改数据服务的操作可以包括在数据服务上构建图像、将图像写入到网络可访问的存储位置、从数据服务中删除图像、从另一存储位置将图像复制到数据服务、或者前述任何一个的任意组合。

93、如果操作508没有检测到不匹配,则流程500进行到操作512。在操作512中,流程500继续进行用于数据服务的操作,而不修改该操作。例如,流程500可以继续加载、写入或服务包含在操作502中确定的摄取配置数据的图像。

94、示例性硬件架构

95、根据一个实施例,在本文中所描述的技术由至少一个专用计算设备实现。专用计算设备可以是硬连线的以执行所述技术,或者可以包括数字电子设备,例如被持久编程以执行所述技术的至少一个专用集成电路(asic)或现场可编程门阵列(fpga),或者可以包括被编程以根据固件、存储器、其他存储设备或组合中的程序指令执行所述技术的至少一个通用硬件处理器。这样的专用计算设备还可以将定制的硬连线逻辑、asic或fpga与定制的编程相结合来实现这些技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、移动计算设备、可穿戴设备、联网设备或并入硬连线和/或程序逻辑以实现所述技术的任何其他设备。

96、例如,图6是示出可以在其上实现本发明的实施例的计算机系统600的框图。计算机系统600包括用于通信信息的总线602或其他通信机制,以及与总线602耦合用于处理信息的硬件处理器604。硬件处理器604可以是例如通用微处理器。

97、计算机系统600还包括主存储器606,例如随机存取存储器(ram)或其他动态存储设备,耦合到总线602,用于存储要由处理器604执行的信息和指令。主存储器606还可以用于在执行将由处理器604执行的指令期间存储临时变量或其他中间信息。当这样的指令存储在处理器604可访问的非暂时计算机可读存储介质中时,将计算机系统600渲染为被定制为执行指令中指定的操作的专用机器。

98、计算机系统600还包括与总线602耦合的只读存储器(rom)608或其他静态存储设备,用于存储用于处理器604的静态信息和指令。存储设备610(例如,磁盘或光盘)被提供并耦合到总线602,用于存储信息和指令。

99、计算机系统600可以经由总线602耦合到输出设备612,例如显示器,诸如液晶显示器(lcd)或触摸屏显示器,用于向计算机用户显示信息,或扬声器、触觉设备或另一形式的输出设备。包括字母数字和其他键的输入设备614耦合到总线602,用于将信息和命令选择通信给处理器604。另一类型的用户输入设备是光标控件616,例如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择通信给处理器604并用于控制显示器612上的光标移动。该输入设备通常在两个轴上具有两个自由度,第一轴(例如,x)和第二轴(例如,y),这允许设备指定平面中的位置。

100、计算机系统600可以使用定制的硬连线逻辑、至少一个asic或fpga、固件和/或程序逻辑(其与计算机系统结合使计算机系统600或称为将其编程成为专用机器)来实现在本文中所描述的技术。根据一个实施例,计算机系统600响应于处理器604执行包含在主存储器606中的至少一个指令序列来执行本文的技术。这样的指令可以从诸如存储设备610的另一存储介质读入主存储器606。主存储器606中包含的指令序列的执行使得处理器604执行在本文中所描述的处理步骤。在替代实施例中,可以使用硬连线电路来代替软件指令或与软件指令结合使用。

101、在本文中所使用的术语“存储介质”指代存储数据和/或指令的任何非暂时性介质,所述数据和/或指令导致机器以特定方式操作。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,例如存储设备610。易失性介质包括动态存储器,例如主存储器606。常见形式的存储介质包括例如,硬盘、固态驱动器、闪存驱动器、磁数据存储介质、任何光学或物理数据存储介质、存储芯片等。

102、存储介质不同于传输介质,但是可以与传输介质结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,包括具有总线602的电线。传输介质也可以采取声波或光波的形式,例如在无线电波和红外数据通信中产生的声波或光波。

103、各种形式的介质可涉及将至少一个指令序列传送到处理器604以供执行。例如,指令最初可能被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统600本地的调制解调器可以接收电话线上的数据,并使用红外发射机将数据转换为红外信号。红外检测器可以接收红外信号中携带的数据,并且适当的电路可以将数据放置在总线602上。总线602将数据传送到主存储器606,处理器604从其取回并且执行指令。主存储器606接收的指令可选地在处理器604执行之前或之后存储在存储设备610上。

104、计算机系统600还包括耦合到总线602的通信接口618。通信接口618提供到连接到本地网络622的网络链路620的双向数据通信耦合。例如,通信接口618可以是综合业务数字网络(isdn)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供到对应类型的电话线的数据通信连接。作为另一示例,通信接口618可以是局域网(lan)卡,以提供到兼容lan的数据通信连接。还可以实现无线链路。在任何这样的实现方式中,通信接口618发送和接收携带表示各种类型信息的数字数据流的电、电磁或光信号。

105、网络链路620通常通过至少一个网络向其他数据设备提供数据通信。例如,网络链路620可以通过本地网络622提供到主机计算机624或到由互联网服务提供商(isp)626操作的数据设备的连接。isp 626又通过通常称为“互联网”628的全球分组数据通信网络提供数据通信服务。本地网络622和互联网628都使用携带数字数据流的电、电磁或光信号。将数字数据传送到计算机系统600和从计算机系统600传送数字数据的通过各种网络的信号以及在网络链路620上和通过通信接口618的信号是传输介质的示例性形式。

106、计算机系统600可以通过网络、网络链路620和通信接口618发送消息和接收数据,包括程序代码。在互联网示例中,服务器530可以通过互联网628、isp 626、本地网络622和通信接口618传输应用程序的请求代码。接收到的代码可以在接收到时由处理器604执行,和/或存储在存储设备610或其他非易失性存储设备中以供以后执行。

107、附加示例

108、下文提供在本文中所公开的技术的说明性示例。所述技术的实施例可以包括以下所述的任意示例或组合。

109、在示例1中,一种方法包括:读取针对图形数据库的多个客户端中的客户端的摄取配置数据;将针对所述客户端的所述摄取配置数据从声明性表示转换为针对所述客户端的所述摄取配置数据的图形表示;将针对所述客户端的所述摄取配置数据的所述图形表示存储在所述图形数据库中;向至少一个数据服务提供针对所述客户端的所述摄取配置数据的所述图形表示;其中,所述至少一个数据服务包括以下中的一项或多项:(i)被配置为存储所述图形数据库的至少一部分的至少一个计算设备的物理分组,(ii)被配置为存储所述图形数据库的至少一部分的至少一个计算设备的逻辑分组,或者(iii)(i)和(ii)的组合。

110、在包括示例1的主题的示例2中,其中,读取摄取配置数据包括读取以下中的一项或多项的声明性表示:(i)针对所述客户端的离线数据源的摄取配置数据,或者(ii)针对所述客户端的近线数据源的摄取配置数据,或者(iii)(i)和(ii)的组合。在包括示例2或示例1的主题的示例3中,其中,读取摄取配置数据包括读取以下中的一项或多项的声明性表示:(i)识别针对所述客户端的数据源的物理或逻辑位置的位置数据,(ii)指定用于针对所述客户端将数据写入到所述图形数据库的优先级顺序的元数据,或者(iii)用于将被存储在所述数据源中的输入数据转换为所述输入数据的图形表示的转换逻辑,或者(iv)(i)、(ii)和(iii)中的至少两项的组合。在包括示例1-3中的任一项的主题的示例4中,其中,读取摄取配置数据包括读取以下中的一项或多项的声明性表示:(i)能适用的数据服务数据,其识别摄取配置数据能适用于的至少一个数据服务,(ii)启用的数据服务数据,其识别至少一个数据服务,针对所述至少一个数据服务启用摄取配置数据,或者(iii)(i)和(ii)的组合。在包括示例1-4中的任一项的主题的示例5中,其中,针对所述客户端创建所述摄取配置数据的所述图形表示包括:将所述摄取配置数据转换为图形图元,所述图形图元包括至少两个节点、至少一个边以及至少一个谓词;其中,所述至少一个边中的边指示所述至少两个节点中的两个节点之间的逻辑关系。

111、在包括示例5的主题的示例6中,其中,所述至少一个谓词中的谓词包括针对在所述两个节点之间的逻辑关系的标签,并且所述标签涉及摄取配置,并且所述摄取配置包括针对将输入数据从非图形数据源摄取到所述图形数据库中的规范。

112、在包括示例1-6中的任一项的主题的示例7中,还包括:使用至少部分地根据声明性查询语言而配置的应用编程接口(api)读取针对所述客户端的摄取配置数据。在包括示例1-7中的任一项的主题的示例8中,还包括:(i)修改所述摄取配置数据的所述图形表示以指示所述摄取配置数据被启用用于所述至少一个数据服务,或者(ii)修改所述摄取配置数据的所述图形表示以指示所述摄取配置数据未被启用用于所述至少一个数据服务。

113、在示例9中,一种用于评估图形数据库的图像的方法,包括:查询所述图形数据库的所述图像,以针对所述图形数据库的多个客户端中的客户端来确定能适用于服务所述图形数据库的多个数据服务中的数据服务的摄取配置数据;其中,所述客户端对应于根据非图形模式而布置的至少一个数据集;读取针对数据服务的状态数据,以针对所述客户端来确定针对所述数据服务而启用的摄取配置数据;将针对所述数据服务启用的所述摄取配置数据与能适用于所述数据服务的所述摄取配置数据进行比较;检测在针对所述数据服务启用的所述摄取配置数据与能适用于所述数据服务的所述摄取配置数据之间的不匹配;基于检测到的不匹配来修改所述数据服务的操作;其中,所述数据服务包括以下中的一项或多项:(i)被配置为存储所述图形数据库的至少一部分的至少一个计算设备的物理分组,(ii)被配置为存储所述图形数据库的至少一部分的至少一个计算设备的逻辑分组,或者(iii)(i)和(ii)的组合。

114、在包括示例9的主题的示例10中,其中,将针对所述数据服务启用的所述摄取配置数据与能适用于所述数据服务的所述摄取配置数据进行比较包括以下中的一项或多项:(i)评估针对所述客户端的离线数据源的摄取配置数据,(ii)评估针对所述客户端的近线数据源的摄取配置数据,或者(iii)(i)和(ii)的组合。

115、在包括示例9-10中的任一项的主题的示例11中,其中,将针对所述数据服务启用的所述摄取配置数据与能适用于所述数据服务的所述摄取配置数据进行比较包括以下中的一项或多项:(i)评估识别针对所述客户端的非图形数据源的物理或逻辑位置的位置数据,(ii)评估指定用于针对所述客户端将数据写入到所述图形数据库的优先级顺序的元数据,或者(iii)(i)和(ii)的组合。

116、在包括示例9-11中的任一项的主题的示例12,其中,检测针对所述数据服务启用的所述摄取配置数据与能适用于所述数据服务的所述摄取配置数据之间的不匹配包括:确定以下中的一项或多项(i)离线摄取能适用于所述数据服务但是未针对所述数据服务启用,(ii)近线摄取能适用于所述数据服务但是未针对所述数据服务启用,(iii)包含在针对所述数据服务启用的所述摄取配置数据中的元数据与包含在能适用于所述数据服务的所述摄取配置数据中的元数据不匹配,或者(iv)(i)、(ii)和(iii)中的至少两项。

117、在包括示例9-12中的任一项的主题的示例13中,其中,基于检测到的不用匹配来修改所述数据服务的操作包括以下中的一项或多项:(i)在所述数据服务上构建图像,(ii)将图像写入到网络可访问的存储位置,(iii)从所述数据服务中删除图像,(iv)从另一存储位置将图像复制到所述数据服务,或者(v)(i)、(ii)、(iii)和(iv)中的至少两项。

118、在示例14中,一种系统,包括:至少一个处理器;以及至少一个计算机存储器,其被可操作地耦合到所述至少一个处理器;其中,根据图形数据库的至少一部分的逻辑图形来配置所述至少一个计算机存储器;所述逻辑图形包括摄取配置数据的图形表示;所述图形表示包括:针对所述图形数据库的多个客户端中的客户端,用于将数据从至少一个源数据存储库摄取到所述图形数据库中的规范。

119、在包括示例14的主题的示例15中,其中,所述摄取配置数据的所述图形表示包括至少两个节点、至少一个边以及至少一个谓词,并且所述至少两个节点包括以下中的一项或多项:(i)离线配置节点,(ii)近线配置节点,或者(iii)(i)和(ii)的组合。

120、在包括示例14-15中的任一项的主题的示例16中,其中,所述摄取配置数据的所述图形表示包括至少两个节点、至少一个边以及至少一个谓词;其中,所述至少一个边中的边指示所述至少两个节点中的两个节点之间的逻辑关系,所述至少一个谓词中的谓词包括针对所述两个节点之间的所述逻辑关系的标签,并且所述标签涉及用于将数据从所述至少一个源数据存储库摄取到所述图形数据库中的规范。

121、在包括示例14-16中的任一项的主题的示例17中,其中,所述摄取配置数据的所述图形表示包括以下中的一项或多项:(i)针对所述客户端的离线数据源的摄取配置数据,(ii)针对所述客户端的近线数据源的摄取配置数据,或者(iii)(i)和(ii)的组合。

122、在包括示例14-17中的任一项的主题的示例18中,其中,所述摄取配置数据的所述图形表示包括以下中的一项或多项:(i)识别针对所述客户端的所述至少一个源数据存储库的物理或逻辑位置的位置数据,(ii)指定用于针对所述客户端将数据写入到所述图形数据库的优先级顺序的元数据,(iii)用于将被存储在所述至少一个源数据存储库中的输入数据转换为所述输入数据的图形表示的转换逻辑,或者(iv)(i)、(ii)、(iii)中的至少两项。

123、在包括示例14-18中的任一项的主题的示例19中,其中,所述摄取配置数据的所述图形表示包括以下中的一项或多项:(i)能适用的数据服务数据,其识别所述摄取配置数据能适用于的至少一个数据服务,(ii)启用的数据服务数据,其识别至少一个数据服务,针对所述至少一个数据服务启用所述摄取配置数据,或者(iii)(i)和(ii)的组合。

124、在包括示例19的主题的示例20中,其中,所述逻辑图形被包含在所述图形数据库的至少一部分的图像中,并且所述图像被存储在所述至少一个数据服务的数据服务中。

125、在前述说明书中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可能因实现方式而异。因此,说明书和附图被视为说明性的而不是限制性的。本发明范围的唯一和排他性指示物以及申请人希望成为本发明范围的事物是由本技术发出的权利要求集的字面和等效范围,这些权利要求以特定形式发出,包括任何随后的更正。在本文中对权利要求中包含的术语提出的任何定义可以支配权利要求中使用的这些术语的含义。权利要求中未明确叙述的任何限制、要素、特性、特征、优点或属性不应当以任何方式限制权利要求的范围。本说明书和附图应被视为说明性的,而不是限制性的。

126、在本文中可使用的诸如“计算机生成的”和“计算机选择的”等术语可以指代由例如服务器计算机、服务器计算机网络、客户端计算机或客户端计算机和服务器计算机的组合的一个或多个处理器执行一个或多个计算机程序指令的结果。

127、如在本文中所使用的,“在线”可以指基于连接网络的系统的特定特性。例如,许多基于连接网络的系统可通过到公共网络(如互联网)的连接对用户可访问。但是,当“在线”系统处于离线状态时,可能会执行某些操作。因此,将系统称为“在线”系统并不意味着这样的系统总是在线的,或者该系统需要在线才能使所公开的技术可操作。

128、如在本文中所使用的,术语“包括(include)”和“包含(comprise)”(以及这些术语的变体,诸如“包括(including)”、“包括(includes)”、“包含(comprising)”、“包含(comprises)”、“包含(comprised)”等)旨在包括,而不是旨在排除其他特征、组件、整数或步骤。

129、已经使用过程步骤描述了本公开的各种特征。给定过程步骤的功能/处理可能可以以不同的方式和由不同的系统或系统模块来执行。此外,可以将给定的过程步骤划分为多个步骤和/或将多个步骤组合为单个步骤。此外,在不背离本公开的范围的情况下,可以改变步骤的顺序。

130、将理解,在本说明书中公开和定义的实施例扩展到从文本或附图中提到或明显的各个特征的可选组合。这些不同的组合构成实施例的各种替代方面。

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