分布式RDF数据查询方法、装置和计算机设备

文档序号:29575150发布日期:2022-04-09 05:58阅读:146来源:国知局
分布式RDF数据查询方法、装置和计算机设备
分布式rdf数据查询方法、装置和计算机设备
技术领域
1.本技术涉及图数据管理技术领域,特别是涉及一种分布式rdf数据查询方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.rdf(resource description framework),即资源管理框架,是w3c制定的,该文档定义了一个抽象语法(数据模型),用于链接所有基于rdf的语言和规范。在rdf数据管理受到广泛关注的同时,w3c定义的标准查询语言sparql的存在推动了专注于在大型rdf数据集上高效执行sparql查询的工作。随着rdf数据量的增长,索引和查询大型数据集的计算复杂性变得具有挑战性。因此对大规模rdf数据集上的sparql查询的优化研究显得意义非凡。
3.目前的sparql查询系统大多以分布式系统为主,分布式系统利用无共享计算集群,构建在分布式数据处理框架之上,或实现专有的分布式计算方法。将rdf图划分到多台机器以处理大数据集,并将查询执行并行化以减少运行时间。回答查询通常涉及处理每台机器的本地数据,并在多台机器之间需要进行数据交换。
4.然而,上述现有的分布式rdf数据查询处理系统在提高并行化以减少运行时间的同时,存在数据分区开销过大、负载平衡不均等问题,而这些问题直接影响了数据查询的效率,降低了数据查询效率。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高数据查询效率的分布式rdf数据查询方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种分布式rdf数据查询方法。所述方法包括:
7.获取rdf数据集和sparql查询语句;
8.根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系;
9.根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点;
10.接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果。
11.在其中一个实施例中,根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点之前,还包括:
12.对rdf数据集进行编码处理,得到编码后的rdf数据集以及双向字典;
13.根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点包括:
14.根据已构建的一致性哈希环,将编码后的rdf数据集划分至对应的子节点。
15.在其中一个实施例中,根据映射关系和预设的查询数据处理优先级,将sparql查询语句中的子查询语句分别发送至对应的子节点之前,还包括:
16.根据双向字典,对sparql查询语句进行编码处理,得到编码后的sparql查询语句;
17.根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点包括:
18.根据映射关系,将编码后的sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点。
19.在其中一个实施例中,根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点包括:
20.对rdf数据集中各rdf数据的主题值进行哈希计算,得到主题值的哈希值;
21.查找一致性哈希环上与主题值的哈希值对应的虚拟节点位置;
22.将各rdf数据发送至与虚拟节点位置对应的子节点。
23.在其中一个实施例中,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点包括:
24.根据预设的查询数据处理优先级,对sparql查询语句进行排序,得到排序后的sparql查询语句;
25.根据映射关系,将排序后的sparql查询语句发送至对应的子节点。
26.在其中一个实施例中,一致性哈希环基于以下方式构建:
27.为各子节点分配预设数量的虚拟节点;
28.使用哈希算法获取各虚拟节点的位置,得到一致性哈希环。
29.第二方面,本技术还提供了一种分布式rdf数据查询装置。所述装置包括:
30.数据获取模块,用于获取rdf数据集和sparql查询语句;
31.数据划分模块,用于根据已构建的一致性哈希环,将所述rdf数据集划分至对应的子节点,所述一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系;
32.查询语句发送模块,用于根据所述映射关系,将所述sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点;
33.查询结果处理模块,用于接收各子节点反馈的查询结果,并对所述查询结果进行交集操作,得到目标查询结果。
34.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
35.获取rdf数据集和sparql查询语句;
36.根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系;
37.根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点;
38.接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果。
39.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
40.获取rdf数据集和sparql查询语句;
41.根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系;
42.根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点;
43.接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果。
44.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
45.获取rdf数据集和sparql查询语句;
46.根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系;
47.根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点;
48.接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果。
49.上述分布式rdf数据查询方法、装置、计算机设备、存储介质和计算机程序产品,根据包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系的一致性哈希环,将rdf数据集划分至对应的子节点,能够将具有相同主题值的rdf数据划分到同一个节点上,使得各个节点的数据划分较为均匀,能够有效解决数据分区开销过大和负载不均的问题,进一步地,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点,能够对sparql查询进行优化,将查询数据分发到各个节点上进行分布式执行,有效地提高了数据查询的速度,综上所述,采用本方案能够有效提高数据查询的效率。
附图说明
50.图1为一个实施例中分布式rdf数据查询方法的应用环境图;
51.图2为一个实施例中分布式rdf数据查询方法的流程示意图;
52.图3为另一个实施例中分布式rdf数据查询方法的流程示意图;
53.图4为一个实施例中分布式rdf数据查询方法的数据流走向图;
54.图5为一个实施例中分布式rdf数据查询装置的结构框图;
55.图6为一个实施例中分布式rdf数据查询装置的结构框图;
56.图7为一个实施例中计算机设备的内部结构图。
具体实施方式
57.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
58.本技术实施例提供的分布式rdf数据查询方法,可以应用于如图1所示的应用环境中。其中,主节点102通过网络与子节点(也可称为工作节点)104进行通信。数据存储系统可以存储主节点102需要处理的数据。数据存储系统可以集成在主节点102上,也可以放在云上或其他网络服务器上。具体的,可以是工作人员将rdf数据集和sparql查询语句输入至主节点102,并发送数据处理指令至主节点102,主节点102响应该指令,获取rdf数据集和sparql查询语句,根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,其中,一
致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系,然后,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点,接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果,查询结果由各子节点根据接收到的子查询语句在划分得到的rdf数据中查询得到其中,主节点102和子节点104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
59.在其中一个实施例中,如图2所示,提供了一种分布式rdf数据查询方法,以该方法应用于图1中的主节点102为例进行说明,包括以下步骤:
60.步骤202,获取rdf数据集和sparql查询语句。
61.rdf数据集为包括多个rdf三元组的集合,每个rdf三元组包括主题值、属性值和对象值。sparql查询语句为包括多条子sparql查询语句的数据集合,其中,各sparql查询语句也是以三元组的形式存在。
62.如图3所示,在其中一个实施例中,步骤204之前,还包括:步骤203,对rdf数据集进行编码处理,得到编码后的rdf数据集以及双向字典。
63.在实际应用中,由于rdf数据集的数据量大且单个rdf数据的数据长度较大,数据存储和数据传输都需要花费很大的开销。为了解决这一问题,本实施例中,可以是对每个rdf三元组的顶点的边数据进行编码,编码从0开始,每个编码对应一个数据,最后得到相应的顶点字典和边字典即双向字典,以及编码后的rdf数据集。其中,可以是针对三元组的属性值。单独构建一份双向字典,针对三元组的主题值和对象值,构建一份双向字典。本实施例中,通过对rdf数据集进行编码处理能够将长字符串编码为数字,可以有效地减少存储的开销。
64.步骤204,根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系。
65.一致性哈希环包含有各rdf数据(rdf三元组)主题值的哈希值与为各子节点分配的虚拟节点的位置的映射关系,其中,每一个rdf三元组的主题值的哈希值都对应一个虚拟节点的位置。具体的,可以是基于以构建的一致性哈希环,对rdf数据集使用一致性哈希算法进行划分,将rdf数据集中的rdf数据对应划分至若干个子节点上。具体的,可以是通过mpi(multi point interface,多点接口)将每条rdf数据发送至对应的子节点上。
66.在另一个实施例中,步骤204包括:步骤224,根据已构建的一致性哈希环,将编码后的rdf数据集划分至对应的子节点。
67.具体实施时,也可以是根据已构建的一致性哈希环,将编码后的rdf数据集划分至对应的子节点。同样的,可以是通过mpi将每条编码后的rdf数据发送至对应的子节点上。本实施例中,发送编码后的rdf数据至对应的子节点,能够显著减少数据传输的开销。
68.如图3所示,在其中一个实施例中,步骤206之前,还包括:步骤205,根据双向字典,对sparql查询语句进行编码处理,得到编码后的sparql查询语句。
69.具体实施时,sparql查询语句中包含的字符串能够在双向字典中找到对应的字符串以及该字符串对应的编码,因此,为了进一步节省sparql查询语句的数据传输开销,可以根据双向字典,对sparql查询语句进行编码处理,得到编码后的sparql查询语句。具体的,
可以是遍历sparql查询语句中主题值、属性值和对象值,然后于双向字典中查找是否存在有与sparql查询语句中主题值、属性值和对象值相同的数据,若存在,则根据双向字典中的字符串与数字编码的对应关系,将sparql查询语句中主题值、属性值和/或对象值编码为对应的数字编码,如此,能够将冗长的sparql查询语句转换为简短的查询语句,大大减少了数据传输的开销。
70.步骤206,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点。
71.本实施例中,查询数据处理优先级可以是先执行主题值已知的子查询语句,再执行对象值已知的子查询语句,若主题和对象都未知,就找到子查询语句中出现频次最高的主题变量,然后执行以这个主题变量作为对象的子查询,最后执行剩下的子查询语句。具体的,可以是根据哈希值与虚拟节点位置的映射关系,将sparql查询语句的子查询语句分别发送至相应的子节点,以便子节点执行该子查询语句,反馈相应的查询结果。
72.在另一个实施例中,步骤206包括:步骤226,根据映射关系,将编码后的sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点。
73.本实施例中,同样的,可以是根据哈希值与虚拟节点位置的映射关系,将编码后的sparql查询语句的子查询语句分别发送至相应的子节点,以便子节点执行该子查询语句,反馈相应的查询结果,如此,能够大大节省数据传输的开销。
74.步骤208,接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果。
75.在实际应用中,子节点在接收到相应的子查询语句后,便执行查询任务,根据接收到的子查询语句在划分得到的rdf数据中进行查询,得到相应的查询结果,然后将查询结果反馈至主节点。由于子节点反馈的查询结果数量较多且较为庞杂,其中可能存在重复的查询结果,故,本实施例中,可以是在接收到子节点反馈的查询结果后,以每条子查询语句为基准,对其对应的查询结果进行连接操作,得到该子查询语句的目标查询结果,然后,归集各子查询语句的目标查询结果,得到最终的目标查询结果。
76.上述分布式rdf数据查询方法中,根据包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系的一致性哈希环,将rdf数据集划分至对应的子节点,能够将具有相同主题值的rdf数据划分到同一个节点上,使得各个节点的数据划分较为均匀,能够有效解决数据分区开销过大和负载不均的问题,进一步地,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点,能够对sparql查询进行优化,将查询数据分发到各个节点上进行分布式执行,有效地提高了数据查询的速度,综上所述,采用本方案能够有效提高数据查询的效率。
77.在其中一个实施例中,步骤204包括:对rdf数据集中各rdf数据的主题值进行哈希计算,得到主题值的哈希值,查找一致性哈希环上与主题值的哈希值对应的虚拟节点位置,将各rdf数据发送至与虚拟节点位置对应的子节点。
78.具体实施时,可以是对rdf数据集中各rdf三元组的主题值进行哈希计算,得到主题值的哈希值,然后,在一致性哈希环上顺时针查找与主题值的哈希值对应的虚拟节点位置,再将各rdf数据发送至与虚拟节点位置对应的子节点,如此,可使得具有相同主题值的三元组划分到同一个子节点上,使得rdf数据均匀地分配至各子节点上,解决节点负载不均
衡的问题。可以理解的是,在其他实施例中,也可以是逆时针查找虚拟节点位置,具体可视实际情况而定,在此不做限定。
79.在其中一个实施例中,一致性哈希环基于以下方式构建:为各子节点分配预设数量的虚拟节点,使用哈希算法获取各虚拟节点的位置,得到一致性哈希环。
80.在实际应用中,构建一致性哈希环可以是为每个物理子节点分配100个虚拟节点,然后使用crc32算法,计算每个虚拟节点的位置,构建一致性哈希环。具体的,可以是以虚拟节点的节点名称作为关键字进行哈希,得到每台虚拟节点在哈希环上的位置。可以理解的是,在其他实施例中,可以为每个物理子节点分配200个虚拟节点或其他数量的虚拟节点,本实施例中仅是实例性举例,在此不做限定。
81.在其中一个实施例中,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点包括:根据预设的查询数据处理优先级,对sparql查询语句进行排序,得到排序后的sparql查询语句,根据映射关系,将排序后的sparql查询语句发送至对应的子节点。
82.具体实施时,可以是先根据预设的查询数据处理优先级,对sparql查询语句进行排序优化,然后进一步根据映射关系,将排序优化后的sparql查询语句发送至相应的子节点。具体的,排序优化后的sparql查询语句发送至相应的子节点可以是:
83.步骤(1-1)首先,选取主题值已知的子查询语句(以下简称子查询),对该子查询语句的主题值进行哈希,得到哈希值,然后根据一致性哈希环包含的映射关系,找到与该哈希值对应的虚拟节点的位置,然后根据将该子查询语句发送到与查找到的虚拟节点的位置对应的子节点上执行,而不需要发送到所有节点执行,减少了通信的开销;
84.步骤(1-2)其次,选取对象值已知的子查询,先将此类子查询发送到所有节点上执行,此时,会得到各子节点反馈的子查询的主题变量的值(即主题值),在得到主题值后,返回步骤(1-1);
85.步骤(1-3)如果主题值和对象值都未知,则找到子查询中出现频次最高的主题变量,然后将以这个主题变量作为对象的子查询发送至所有子节点,此时,会得到该类子查询的主题值,在得到主题变量的值后,再返回步骤(1-1);
86.步骤(1-4)将经历步骤(1-1)和步骤(1-3)筛选后,剩下的子查询发送到所有节点上进行查询。
87.本实施例中,按照上述方式将排序优化后的sparql查询语句发送至相应的子节点,区别有现有技术中的将查询语句发送至所有的节点,能够减少通信开销且提高查询速度。
88.为了清楚地说明本技术提供的分布式rdf数据查询方法,下面结合一个具体实施例和图4进行说明:
89.主节点响应数据处理指令,获取rdf数据集和sparql查询语句,对每个rdf三元组的顶点的边数据进行编码,编码从0开始,每个编码对应一个数据,最后得到相应的顶点字典和边字典即双向字典,以及编码后的rdf数据集,根据已构建的一致性哈希环,将编码后的rdf数据集划分至对应的子节点。其中,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系,一致性哈希环的构建可以是为每个物理子节点分配100个虚拟节点,然后使用crc32算法,计算每个虚拟节点的位置,得到一致性哈希环。然后,
根据双向字典,对sparql查询语句进行编码处理,得到编码后的sparql查询语句,根据查询数据处理优先级,对编码后的sparql查询语句中的子查询语句进行排序,然后根据映射关系将排序后的sparql查询语句分别发送至对应的子节点,以便子节点执行查询任务,根据接收到的子查询语句在划分得到的rdf数据中进行查询,得到相应的查询结果,然后将查询结果反馈至主节点。
90.具体的,可以是:
91.步骤(1-1)首先,选取主题值已知的子查询语句(以下简称子查询),对该子查询语句的主题值进行哈希,得到哈希值,然后根据一致性哈希环包含的映射关系,找到与该哈希值对应的虚拟节点的位置,然后根据将该子查询语句发送到与查找到的虚拟节点的位置对应的子节点上执行,而不需要发送到所有节点执行,减少了通信的开销;
92.步骤(1-2)其次,选取对象值已知的子查询,先将此类子查询发送到所有节点上执行,此时,会得到各子节点反馈的子查询的主题变量的值(即主题值),在得到主题值后,返回步骤(1-1);
93.步骤(1-3)如果主题值和对象值都未知,则找到子查询中出现频次最高的主题变量,然后将以这个主题变量作为对象的子查询发送至所有子节点,此时,会得到该类子查询的主题值,在得到主题变量的值后,再返回步骤(1-1);
94.步骤(1-4)将经历步骤(1-1)和步骤(1-3)筛选后,剩下的子查询发送到所有节点上进行查询。
95.主节点接收子节点反馈的查询结果,由于子节点反馈的查询结果数量较多且较为庞杂,其中可能存在重复的查询结果,故,本实施例中,可以是在接收到子节点反馈的查询结果后,以每条子查询语句为基准,对其对应的查询结果进行连接操作,得到该子查询语句的目标查询结果,然后,归集各子查询语句的目标查询结果,得到最终的目标查询结果。
96.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
97.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的分布式rdf数据查询方法的分布式rdf数据查询装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个分布式rdf数据查询装置实施例中的具体限定可以参见上文中对于分布式rdf数据查询方法的限定,在此不再赘述。
98.在一个实施例中,如图5所示,提供了一种分布式rdf数据查询装置,包括:数据获取模块510、数据划分模块520、查询语句发送模块530和查询结果处理模块540,其中:
99.数据获取模块510,用于获取rdf数据集和sparql查询语句;
100.数据划分模块520,用于根据已构建的一致性哈希环,将rdf数据集划分至对应的子节点,一致性哈希环包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系;
101.查询语句发送模块530,用于根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点;
102.查询结果处理模块540,用于接收各子节点反馈的查询结果,并对查询结果进行交集操作,得到目标查询结果。
103.上述分布式rdf数据查询装置,根据包括各rdf数据主题值的哈希值与各子节点的虚拟节点位置的映射关系的一致性哈希环,将rdf数据集划分至对应的子节点,能够将具有相同主题值的rdf数据划分到同一个节点上,使得各个节点的数据划分较为均匀,能够有效解决数据分区开销过大和负载不均的问题,进一步地,根据映射关系,将sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点,能够对sparql查询进行优化,将查询数据分发到各个节点上进行分布式执行,有效地提高了数据查询的速度,综上所述,采用本装置能够有效提高数据查询的效率。
104.如图6所示,在其中一个实施例中,装置还包括rdf数据编码处理模块550,用于对rdf数据集进行编码处理,得到编码后的rdf数据集以及双向字典;数据划分模块520还用于根据已构建的一致性哈希环,将编码后的rdf数据集划分至对应的子节点。
105.如图6所示,在其中一个实施例中,装置还包括查询数据编码处理模块560,根据双向字典,对sparql查询语句进行编码处理,得到编码后的sparql查询语句;数据发送模块530还用于根据映射关系,将编码后的sparql查询语句中的子查询语句按照查询数据处理优先级分别发送至对应的子节点。
106.在其中一个实施例中,数据划分模块520还用于对rdf数据集中各rdf数据的主题值进行哈希计算,得到主题值的哈希值,查找一致性哈希环上与主题值的哈希值对应的虚拟节点位置,将各rdf数据发送至与虚拟节点位置对应的子节点。
107.在其中一个实施例中,数据发送模块530还用于根据预设的查询数据处理优先级,对sparql查询语句进行排序,得到排序后的sparql查询语句,根据映射关系,将排序后的sparql查询语句发送至对应的子节点。
108.在其中一个实施例中,装置还包括哈希环构建模块570,用于为各子节点分配预设数量的虚拟节点,使用哈希算法获取各虚拟节点的位置,得到一致性哈希环。
109.上述分布式rdf数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
110.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储rdf数据集、sparql查询语句以及一致性哈希环等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式rdf数据查询方法。
111.本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结
构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
112.在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述分布式rdf数据查询方法中的步骤。
113.在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述分布式rdf数据查询方法中的步骤。
114.在其中一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述分布式rdf数据查询方法中的步骤。
115.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
116.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
117.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
118.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1