CN114491085A - 一种图数据存储方法和分布式图数据计算方法 - Google Patents
一种图数据存储方法和分布式图数据计算方法 Download PDFInfo
- Publication number
- CN114491085A CN114491085A CN202210392590.1A CN202210392590A CN114491085A CN 114491085 A CN114491085 A CN 114491085A CN 202210392590 A CN202210392590 A CN 202210392590A CN 114491085 A CN114491085 A CN 114491085A
- Authority
- CN
- China
- Prior art keywords
- entity
- node
- sub
- nodes
- entity node
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013500 data storage Methods 0.000 title claims abstract description 21
- 238000004364 calculation method Methods 0.000 title abstract description 22
- 238000005192 partition Methods 0.000 claims description 7
- 239000000126 substance Substances 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000000638 solvent extraction Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005065 mining Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 235000021168 barbecue Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/01—Customer relationship services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本说明书涉及数据处理领域,特别涉及一种图数据存储方法和分布式图数据计算方法。图数据包括节点和边,其中节点包括实体节点以及非实体节点;该图数据存储方法包括:基于图数据获取第一表和第二表;获取多个实体节点组各自对应的第一子表和第二子表;以及,将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。该分布式图数据计算方法中,所述图数据按照上述图数据存储方法分布式存储于多个计算单元上,可以由其中一个计算单元执行。
Description
技术领域
本说明书涉及数据处理领域,特别涉及一种图数据存储方法和分布式图数据计算方法。
背景技术
知识图谱是一种结构化的数据表达方式,能够高效的呈现数据所蕴含的知识信息。但知识图谱中的大量的数据需要进行存储,数据存储的方式决定后续图计算或其他进一步处理时的效果。
因此,需要一种能够实现图数据高效存储和计算的方法。
发明内容
本说明书实施例之一提供了一种图数据存储方法,所述图数据包括节点和边,其中节点包括实体节点以及非实体节点;该方法包括:基于图数据获取第一表和第二表;其中,第一表包括各实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息,第二表包括多个节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点;获取多个实体节点组各自对应的第一子表和第二子表;其中,所述多个实体节点组为对各实体节点进行划分得到的多个分组;实体节点组对应的第一子表包括该实体节点组中各实体节点在所述第一表中对应的记录,其对应的第二子表包括所述第二表中包含该实体节点组中各实体节点的节点对的信息;将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。
本说明书实施例之一提供了一种图数据存储系统,所述图数据包括节点和边,其中节点包括实体节点以及非实体节点;该系统包括:表获取模块,用于基于图数据获取第一表和第二表;其中,第一表包括各实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息,第二表包括多个节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点;分组模块,用于获取多个实体节点组各自对应的第一子表和第二子表;其中,所述多个实体节点组为对各实体节点进行划分得到的多个分组;实体节点组对应的第一子表包括该实体节点组中各实体节点在所述第一表中对应的记录,其对应的第二子表包括所述第二表中包含该实体节点组中各实体节点的节点对的信息;分发模块,用于将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。
本说明书实施例之一提供了一种图数据存储装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现上述方法。
本说明书实施例之一提供了一种分布式图数据计算方法,所述图数据按照上述图数据存储方法分布式存储于多个计算单元上;该方法可以由其中一个计算单元执行,包括:从本地的第一子表中确定属于第一类型的第一起始实体节点及其记录;从第一起始实体节点的记录中确定待匹配的非实体节点;在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第一目标实体节点。
本说明书实施例之一提供了一种分布式图数据计算系统,所述图数据按照上述图数据存储方法分布式存储于多个计算单元上;该系统布置于其中一个计算单元上,包括:第一起始节点确定模块,用于从本地的第一子表中确定属于第一类型的第一起始实体节点及其记录;非实体节点确定模块,用于从第一起始实体节点的记录中确定待匹配的非实体节点;第一目标实体节点确定模块,用于在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第一目标实体节点。
本说明书实施例之一提供了一种分布式图数据计算装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现上述方法。
本说明书实施例之一提供了一种分布式图数据存储装置,存储有图数据的第一子表和第二子表,所述图数据包括节点和边,其中节点包括实体节点以及非实体节点;其中,第一子表包括所述图数据中部分实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息;第二子表包括包含所述部分实体节点中各实体节点的节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的图数据存储方法的示例性流程图;
图2是根据本说明书一些实施例所示的第一表的示意图;
图3是根据本说明书一些实施例所示的第二表的示意图;
图4是根据本说明书一些实施例所示的分布式存储的示意图;
图5是根据本说明书一些实施例所示的分布式图数据计算方法的示例性流程图;
图6是根据本说明书一些实施例所示的分布式图数据计算的示意图;
图7是根据本说明书一些实施例所示的图数据存储系统的示例性模块图;
图8是根据本说明书一些实施例所示的分布式图数据计算系统的示例性模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
知识图谱又称为图数据,是指由节点以及边构成的知识库。在一些实施例中,节点可以对应实体。实体可以是物理世界中的有形物体,如人、汽车、商户等,也可以指无形的对象,如话语、歌曲、电影、资金、程序代码等等。实体之间可以具有关系,实体间的关系可以称之为事实关系,对应实体节点之间的边。例如商户A与商户B有业务往来、商户C是商户A的子商户、张三是商户A的管理者、张三是李四的好友等。在一些实施例中,节点还可以对应非实体,如国籍、性别、品牌、区域等抽象的概念、属性等信息。实体节点与非实体节点之间也可以具有关系,两者之间的关系可以称之为语义关系,对应实体节点和非实体节点之间的边。例如,张三(实体节点)与A品牌(非实体节点)的关系是喜好,李四(实体节点)的国籍是中国(非实体节点),王五(实体节点)的性别是男(非实体节点)。在一些实施例中,包含非实体节点的知识图谱又可以称之为语义关系图。语义关系图与只有实体节点的知识图谱相比,较为明显的特点是语义关系图中的热点较多。这是因为相对事实关系,语义关系更加稠密,或者说非实体节点一般对应的是概念或属性信息,大量的实体节点会与之连接有边,这使得非实体节点很容易成为热点。
在知识图谱存储和计算中,热点会占用大量的存储资源以及计算资源,导致计算设备出现瓶颈。即使在分布式存储场景下,热点分布不均依然会导致分布式集群中的某些计算设备出现瓶颈。
有鉴于此,本说明书一些实施例提出了一种图数据存储方法,通过将图数据分组后存储,避免热点在部分计算设备上集中分布。同时,本说明书的一些实施例还提供了一种分布式图数据计算方法,用于对通过上述图数据存储方法存储的图数据进行高效的计算。
图1是根据本说明书一些实施例所示的图数据存储方法的示例性流程图。
在一些实施例中,图数据可以是语义知识图谱,其包括实体节点以及非实体节点,可以通过流程100对图数据进行存储,在一些实施例中,流程100可以由某计算设备执行,或可以由图计算集群中的中心服务器或并行执行图计算任务的其中某个计算单元执行,其可以包括:
步骤110,基于图数据获取第一表和第二表。在一些实施例中,步骤110可由表获取模块710执行。
在一些实施例中,第一表包括各实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息。关联可以是指具有边连接。在一些实施例中,记录中的非实体节点的信息可以是非实体节点的标识或者名称。
图2示出了第一表的示例,“门店A”、“券A”等是图数据中的实体节点。券可以指优惠券、消费券等有价券。表中的一行为一个实体节点的记录。表中的第一行是实体节点“门店A”的记录,包括与该实体节点存在关联的表示业务类型的非实体节点信息“餐饮”和表示城市归属的非实体节点信息“成都”。表中的第二行是实体节点“券A”的记录,与其存在关联的非实体节点包括表示业务类型的非实体节点信息“服装”和表示城市的非实体节点信息“上海”。
在一些实施例中,第一表中还包括与实体节点类型(Label)相关的信息,如图2中“门店A”的记录中还包括其类型“门店”,“券A”的记录中包括其类型“消费券”。
在一些实施例中,第二表包括多个节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点。在一些实施例中,节点对的信息可以是节点对中两个节点(一个非实体节点和一个实体节点)的标识或名称,在一些实施例中,节点对的信息还可以包括节点对中两个节点间的关系类型(即边信息)等。示例性的,非实体节点的名称可以是成都、上海、餐饮等;标识可以是CD、SHOP、ORDER等。
图3示出了第二表的一种示例,其中一行对应一个节点对。以第一行为例,“上海”为实体节点的标识或名称,“券A”为非实体节点的标识或名称,“消费券_城市”为关系类型,以体现该节点对表示券与城市之间的关系。在一些实施例中,第二表会包含图数据中全部具有边连接的非实体节点-实体节点对。假如图数据中非实体节点“成都”与且仅与实体节点“门店A”、“券B”、“券C”分别具有边连接,那么在第二表中会包含“成都”-“门店A”、“成都”-“券B”、“成都”-“券C”三个节点对。
步骤120,获取多个实体节点组各自对应的第一子表和第二子表。在一些实施例中,步骤120可由分组模块720执行。
在一些实施例中,所述多个实体节点组为对图数据中的实体节点进行划分得到的多个分组。实体节点组的数量可以根据分布式存储图数据的计算设备的数量确定。在一些实施例中,每个分组内实体节点的数量可以是均分的或者根据实体节点组对应的第二子表中的节点对的数量确定,使得各分组对应的第二子表的节点对的数量均衡。
在一些实施例中,实体节点组对应的第一子表包括该实体节点组中各实体节点在所述第一表中对应的记录,其对应的第二子表包括所述第二表中包含该实体节点组中各实体节点的节点对的信息。
示例性的,可以将“门店A”、“券A”、“券B”划分为一个实体节点组,如图2所示,其中“门店A”、“券A”、“券B”三个实体节点在第一表中对应的记录(即第一表中1~3行)为一个实体节点组对应的第一子表;同时,如图3所示,将包括“门店A”、“券A”、“券B”三个实体节点的6组节点对的信息(即第二表中1~6行)作为该组对应的第二子表,其中,具体划分的方式可以参见后文相关描述。
在一些实施例中,为了便于后续进行分发和存储,可以给不同实体节点组中的实体节点增加组标识。继续采用前述示例,在第一表或第二表中,“门店A”、“券A”、“券B”三个实体节点前可以增加标识“1”以表示三者属于同一实体节点组;“门店B”、“券C”、“券D”三个实体节点前可以增加标识“2”以表示三者属于另一实体节点组。需要说明的是,该标识可以是顺序标识或随机标识。在一些实施例中,该标识可以称为组标识(Subject ID)。
在一些实施例中,步骤120中第一子表和第二子表的划分方式可以包括以实体节点维度进行划分或以实体节点对(第二表)维度进行划分。在一些实施例中,以实体节点维度进行划分时,步骤120可以包括:
将各实体节点等数量的划分到多个实体节点组;
对于每个实体节点组:从所述第一表中提取该实体节点组中各实体节点对应的记录,得到该实体节点组对应的第一子表;从所述第二表中提取包含该实体节点组中各实体节点的节点对的信息,得到该实体节点组对应的第二子表。
在一些实施例中,实体节点组中实体节点的数量可以通过图数据中实体节点的总数量除以实体节点组的数量确定,如控制每个实体节点组中包括50、100、200、1000或其他数量的实体节点。
示例性的,如图2所示,可以控制每个实体节点组中实体的数量包括3个,因此,将“门店A”、“券A”、“券B”三个实体节点作为一个实体节点组,可以提取三个实体节点对应记录,得到对应该实体节点组对应的第一子表。从第二表中提取包括“门店A”、“券A”、“券B”三个实体节点的节点对的信息(即第二表中第1、4、5、7、9、10行),得到该实体节点组对应的第二子表。
在一些实施例中,第二子表中的节点对的信息可以按照非实体节点有序存储。在一些实施例中,有序存储可以是按照非实体节点的属性、名称或标识进行顺序存储(如升序或降序)或按照预设规则进行存储。关于节点对的信息有序存储的更多内容,可以参见图5的相关说明。
在一些实施例中,以实体节点对(第二表)维度进行划分时,步骤120可以包括:
将第二表划分,得到多个第二子表;其中,包含同一实体节点的节点对的信息被划分到同一第二子表中,进而可以通过对第二子表的划分随附的得到多个实体节点组,且每个第二子表可以看作分别对应一个实体节点组;
对于每个第二子表,从所述第一表中提取该第二子表对应的实体节点组中各实体节点对应的记录,得到对应的第一子表。
在一些实施例中,可以对第二表进行划分,得到预设数量(如20、50、100、200或其他数量)的第二子表。所述预设数量可以根据分布式存储图数据的计算设备的数量确定,如第二子表的数量可以与计算设备的数量相等或者为计算设备数据量的倍数。在一些实施例中,在确保同一实体节点的节点对的信息在同一个第二子表中的同时,还需要兼顾第二子表中节点对的数量,以使得划分得到的多个第二子表中实体节点对的信息的数量均衡。需要说明的是,由于实际划分时,可能无法保证每个第二子表中实体节点对的信息的数量完全一致,因此,数量均衡可以是指数量相等,或者数量的差异不超过预设值等,在一些实施例中,预设值可以是20、50、100或第二子表中节点对的信息的数量的5%或10%等。
示例性的,如图3所示,可以将第二表中每6个实体节点对作为一个第二子表;易得,第二表中第1、4、5、7、9、10行中实体节点包括“门店A”、“券A”、“券B”三个实体节点,以此作为一个实体节点组。然后在第一表中提取与“门店A”、“券A”、“券B”三个实体节点对应的记录,得到第一子表。
在一些实施例中,以实体节点对(第二表)维度进行划分,可以既能保证同一实体节点的节点对信息在同一个第二子表中,又可以根据节点对的数量调整分组,使得各第二子表包含的节点对的信息的数量均衡。使得第二子表的信息量均衡可以有效避免在分布式存储语义图数据时,可以使得各计算设备上的子图数据量更加均衡,有效避免在某些计算设备上出现热点聚集的问题。
步骤130,将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。在一些实施例中,步骤130可由分发模块730执行。
在一些实施例中,计算单元可以包括各类具有信息收发功能的计算设备,如智能电话、膝上型计算机、台式计算机、服务器等。在一些实施例中,服务器可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。在一些实施例中,服务器可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
参考图4,在一些实施例中,将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元时,可以将同一实体节点组对应的第一子表和第二子表分发至同一计算单元,也可以分发到不同节点中。示例性的,对于某一计算单元,可以包括第一实体节点组对应的第一子表和第二实体节点组对应的第二子表。可以理解的,将第一表和第二表划分为多个第一子表和第二子表后分发存储,无论采用前述哪种分发方式,均可以在一定程度上减少计算单元出现热点的情况。
在一些实施例中,可以在对第一子表或第二子表划分时,控制任一子表数量与计算单元的数量的倍数相近。示例性的,假设进行存储的计算单元共7个,并以第二表维度进行实体节点组的划分,则可以在步骤120中可以将第二表划分为7个、14个、70个或350个左右的第二子表,并获取对应第一子表。
在一些实施例中,可以一次向一台计算单元发送一个第一子表或第二子表,如此将全部子表依次分发至所述多台计算单元上。如果任一子表的数量大于计算单元数量,则对剩余的子表重复执行前述分发操作,直到将剩余子表全部分发至计算单元上。
在一些场景中,需要对通过上述流程100分布式存储的图数据进行查询或计算。示例性的,如查询者希望基于图数据,确定消费券与门店之间的关系,由于门店和消费券在图数据中均属于实体节点,且包含其与非实体节点品牌和城市关系,因此,可以通过计算任务查询所有具有相同品牌和相同城市关联的门店和消费券包括哪些,以此挖掘出券与门店之间的关系以进行绑定。在一些实施例中,基于图数据还可以挖掘如用户与商家之间的关系,以对用户进行商家推荐等。具体的挖掘过程可以参见图5所述的流程。
图5是根据本说明书一些实施例所示的分布式图数据计算方法的示例性流程图。
图5中流程500提供了一种分布式图数据计算方法,图数据按照如上述流程100中的方法分布式存储于多个计算单元上。
在一些实施例中,流程500中的一个或多个步骤可以由参与分布式存储的任一计算单元执行(如图6中的计算单元1),包括:
步骤510,从本地的第一子表中确定属于第一类型的第一起始实体节点及其记录。在一些实施例中,步骤510可由第一起始节点确定模块810执行。
继续采用流程100中的示例,实体节点的类型包括门店(Shop)和消费券(Order),假设以门店为第一类型,对于图6中计算单元1,可以在其本地的第一子表中确定“门店A”作为第一起始实体节点并确定该实体节点的记录。
在一些实施例中,根据实际场景不同可以选取不同第一类型,如在挖掘如用户与商家之间的关系的场景中,第一类型还可以是商家。
步骤520,从第一起始实体节点的记录中确定待匹配的非实体节点。在一些实施例中,步骤520可由非实体节点确定模块820执行。
继续前述示例,在需要挖掘出券与门店之间的关系以进行绑定的场景中,待匹配的非实体节点的类型可以包括城市(City)和业务领域(Brand),由第一子表中“门店A”的记录可以确定待匹配的非实体节点包括“餐饮”和“成都”。需要说明的是,在一些实施例中,待匹配的非实体节点类型可以仅包括城市(City)或业务领域(Brand)。
在一些实施例中,根据实际场景不同还可以包括其他非实体节点,如在挖掘如用户与商家之间的关系的场景中,待匹配的非实体节点的类型包括可以包括城市、商品属性中的一种或多种。其中,商品属性可以是商品的类别(食中餐、西餐、川菜、粤菜、烧烤、火锅等)、颜色(红色、蓝色、黑色等)、形状等描述商品属性的信息。
步骤530,在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第一目标实体节点。在一些实施例中,步骤530可由第一目标实体节点确定模块830执行。
继续图6的示例,第二类型为与第一类型区别的实体节点类型,如可以为消费券。在本地的第二子表中确定包含“餐饮”和“成都”的节点对,其中包括“餐饮-券B”和“成都-券B”两个节点对,可以确定实体节点“券B”即为第一目标实体节点。需要说明的是,在一些实施例中,第一类型和第二类型可以互换,根据实际应用场景,第一类型和第二类型也可以相同。
如图6所示,在一些实施例中,计算单元本地的第二子表的节点对的信息按照非实体节点的类型分区存储,且在每个分区中节点对的信息按照非实体节点的名称或标识有序存储。图中将类型为城市的节点对与类型为业务领域的节点对分区存储,该存储方式在进行实际计算任务(如步骤530)时,当待匹配的非实体节点为“成都”时,无需查找第二子表中业务类型部分的节点对,提高了查找效率。在一些实施例中,分区存储可以是物理存储区域的分区,也可以是逻辑分区。
在一些实施例中,每个分区中根据非实体节点的名称或标识(如拼音首字母)有序存储。示例性的,可以将“服装”排在“餐饮”后。以在第二子表中查询“餐饮”为例,由于分区中“餐饮”集中存储,可以在获取完最后一个“餐饮”对应节点对时停止查询,进一步提高了查询效率。
在一些实施例中,由于图数据是经过分布式存储,其他计算单元本地持有的第二子表可能包括本地查询到的第一起始实体节点的待匹配的非实体节点,因此,流程500还包括:
步骤540,将所述第一起始实体节点及其记录中的待匹配的非实体节点发送给其他计算单元。
继续前述示例,即,将“门店A”以及其记录中的待匹配的非实体节点“餐饮”和“成都”发送至其他节点(如图6中的计算单元2)。其他节点可以按照步骤530获取与所述第一起始实体节点对应的第一目标实体节点。例如,图6中的计算单元2在接收来自计算单元1的发送的第一起始实体节点“门店A”以及其记录中的待匹配的非实体节点“餐饮”和“成都”后,可以在计算单元2本地确定实体节点“券C”、实体节点“券D”为第二目标实体节点。
在一些实施例中,其他节点可以按照步骤510、520获取到其他起始实体节点(如第二起始实体节点),而本地的第二子表可能包括其他起始实体节点(如第二起始实体节点)的待匹配的非实体节点的信息,因此,流程500还包括:
步骤550,接收其他计算单元发送的第二起始实体节点及其记录中的待匹配的非实体节点;
步骤560,在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第二目标实体节点。
如图6所示,计算单元1可以接收来自计算单元2发送的第二起始实体节点“门店B”及其记录中的待匹配的非实体节点“服装”和“上海”。
计算单元1在本地第二子表中确定包含所述待匹配的非实体节点的节点对“服装-券A”和“上海-券A”,进而得到第二目标实体节点“券A”。
在一些实施例中,第二起始实体节点可以包括多个,如还包括更多计算单元,如计算单元3,确定的第二起始实体节点等。
在一些实施例中,各计算单元完成一次查询后,可以将查询结果发送给中心服务器或其中某一个计算单元(如计算单元1),以便将各计算单元的结果汇总以确定最终计算结果。其中查询结果可以是计算单元在第二子表中查询得到的节点对。因此,流程500还包括:
步骤570,基于各计算单元得到节点对,确定多个实体节点对,所述实体节点对包括具有相同待匹配的非实体节点的第一类型的实体节点和第二类型的实体节点。
继续前述示例,基于计算单元1可以基于本地查询得到的节点对“餐饮-券B”、“成都-券B”、“服装-券A”、“上海-券A”以及计算单元2查询得到的节点对“成都-券C”、“餐饮-券C”、“餐饮-券D”、“上海-券D”,进行求交(假设需要找到具有相同城市和相同业务类型的实体节点对),最后得到实体节点对“门店A-券B”、“门店A-券C”,即实现了挖掘出消费券与门店之间的关系,在一些实施例中,为了将消费券与门店之间绑定,流程500还可以包括:将实体节点对中的第一类型的实体节点与第二类型的实体节点绑定。例如,将券A、券C与门店A绑定,此后,消费者可以凭借券A、券C到门店A消费。
可以看出,在进行流程500计算任务过程中,各计算单元间仅进行了一轮数据交互即完成了查询,得到实体节点对,大大降低了数据传输量和计算时间,提高了计算效率。
同理,若需要挖掘如用户与商家之间的关系,实体节点对可以包括具有相同待匹配的非实体节点(即相同的城市和商品属性)的第一类型的实体节点(用户)和第二类型的实体节点(商家),在一些实施例中,为了对用户进行推荐,分布式图数据计算方法还可以包括:将实体节点对中的第一类型的实体节点推荐给第二类型的实体节点。
应当注意的是,上述有关流程100和流程500的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程500进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,步骤540可以在步骤560后执行,或在一些场景中,部分计算单元可以不执行步骤550~570。
图7是根据本说明书一些实施例所示的图数据存储系统的示例性模块图。
如图7所示,图数据存储系统700包括表获取模块710、分组模块720和分发模块730。
表获取模块710可以用于基于图数据获取第一表和第二表;其中,第一表包括各实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息,第二表包括多个节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点。
在一些实施例中,关于第一表和第二表的更多说明可以参见步骤110相关描述,在此不再赘述。
分组模块720可以用于获取多个实体节点组各自对应的第一子表和第二子表;其中,所述多个实体节点组为对各实体节点进行划分得到的多个分组;实体节点组对应的第一子表包括该实体节点组中各实体节点在所述第一表中对应的记录,其对应的第二子表包括所述第二表中包含该实体节点组中各实体节点的节点对的信息。
在一些实施例中,关于第一子表和第二子表的更多说明可以参见步骤120相关描述,在此不再赘述。
分发模块730可以用于将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。
在一些实施例中,关于第分布式存储的更多说明可以参见步骤130相关描述,在此不再赘述。
图8是根据本说明书一些实施例所示的分布式图数据计算系统的示例性模块图。
如图8所示,分布式图数据计算系统800包括第一起始节点确定模块810、非实体节点确定模块820和第一目标实体节点确定模块830。
第一起始节点确定模块810可以用于从本地的第一子表中确定属于第一类型的第一起始实体节点及其记录。
在一些实施例中,关于第一起始实体节点及其记录的更多说明可以参见步骤510相关描述,在此不再赘述。
非实体节点确定模块820可以用于从第一起始实体节点的记录中确定待匹配的非实体节点。
在一些实施例中,关于待匹配的非实体节点的更多说明可以参见步骤520相关描述,在此不再赘述。
第一目标实体节点确定模块830可以用于在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第一目标实体节点。
在一些实施例中,关于第一目标实体节点的更多说明可以参见步骤530相关描述,在此不再赘述。
需要注意的是,以上对于系统700与系统800及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图7中披露的表获取模块710、分组模块720和分发模块730可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)通过对图数据分组后存储,避免了计算单元中出现热点的问题,进而避免后续计算中出现计算瓶颈,保证图计算效率;(2)通过将图数据转化为第一表和第二表,并将其拆分得到第一子表和第二子表分布式存储于在多个计算单元,有效降低了计算单元间的通信量。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (18)
1.一种图数据存储方法,所述图数据包括节点和边,其中节点包括实体节点以及非实体节点;该方法包括:
基于图数据获取第一表和第二表;其中,第一表包括各实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息,第二表包括多个节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点;
获取多个实体节点组各自对应的第一子表和第二子表;其中,所述多个实体节点组为对各实体节点进行划分得到的多个分组;实体节点组对应的第一子表包括该实体节点组中各实体节点在所述第一表中对应的记录,其对应的第二子表包括所述第二表中包含该实体节点组中各实体节点的节点对的信息;
将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。
2.如权利要求1所述的方法,其中:同一个实体节点组对应的第一子表和第二子表存储于同一计算单元。
3.如权利要求1所述的方法,其中,所述获取多个实体节点组各自对应的第一子表和第二子表,包括:
将各实体节点等数量的划分到多个实体节点组;
对于每个实体节点组:从所述第一表中提取该实体节点组中各实体节点对应的记录,得到该实体节点组对应的第一子表;从所述第二表中提取包含该实体节点组中各实体节点的节点对的信息,得到该实体节点组对应的第二子表。
4.如权利要求1所述的方法,其中,所述获取多个实体节点组各自对应的第一子表和第二子表,包括:
将第二表划分,得到多个第二子表;其中,包含同一实体节点的节点对的信息被划分到同一第二子表中;
对于每个第二子表,从所述第一表中提取该第二子表对应的实体节点组中各实体节点对应的记录,得到对应的第一子表。
5.如权利要求4所述的方法,其中,各第二子表包含的节点对的信息的数量均衡。
6.如权利要求1所述的方法,第二子表中的节点对的信息按照非实体节点有序存储。
7.如权利要求6所述的方法,第二子表中的节点对的信息按照非实体节点的类型分区存储,且在每个分区中节点对的信息按照非实体节点的名称或标识有序存储。
8.如权利要求1所述的方法,所述节点对的信息包括其非实体节点和实体节点的名称或标识,以及两者之间的关系类型。
9.一种图数据存储系统,所述图数据包括节点和边,其中节点包括实体节点以及非实体节点;该系统包括:
表获取模块,用于基于图数据获取第一表和第二表;其中,第一表包括各实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息,第二表包括多个节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点;
分组模块,用于获取多个实体节点组各自对应的第一子表和第二子表;其中,所述多个实体节点组为对各实体节点进行划分得到的多个分组;实体节点组对应的第一子表包括该实体节点组中各实体节点在所述第一表中对应的记录,其对应的第二子表包括所述第二表中包含该实体节点组中各实体节点的节点对的信息;
分发模块,用于将所述各实体节点组对应的第一子表和第二子表分发到多个计算单元以进行分布式存储。
10.一种图数据存储装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求1-8中任一项所述方法。
11.一种分布式图数据计算方法,所述图数据按照如权利要求1-8中任一项所述的方法分布式存储于多个计算单元上;该方法由其中一个计算单元执行,包括:
从本地的第一子表中确定属于第一类型的第一起始实体节点及其记录;
从第一起始实体节点的记录中确定待匹配的非实体节点;
在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第一目标实体节点。
12.如权利要求11所述的方法,还包括:
将所述第一起始实体节点及其记录中的待匹配的非实体节点发送给其他计算单元。
13.如权利要求11或12所述的方法,还包括:
接收其他计算单元发送的第二起始实体节点及其记录中的待匹配的非实体节点;
在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第二目标实体节点。
14.如权利要求13所述的方法,还包括:
基于各计算单元确定的节点对,确定多个实体节点对,所述实体节点对包括具有相同待匹配的非实体节点的第一类型的实体节点和第二类型的实体节点。
15.如权利要求14所述的方法,所述第一类型为门店,第二类型为消费券,待匹配的非实体节点的类型包括城市、业务领域中的一种或多种;所述方法还包括:将实体节点对中的第一类型的实体节点与第二类型的实体节点绑定;
或者,所述第一类型为商家,第二类型为用户,待匹配的非实体节点的类型包括城市、商品属性中的一种或多种;所述方法还包括:将实体节点对中的第一类型的实体节点推荐给第二类型的实体节点。
16.一种分布式图数据计算系统,所述图数据按照如权利要求1-8中任一项所述的方法分布式存储于多个计算单元上;该系统布置于其中一个计算单元上,包括:
第一起始节点确定模块,用于从本地的第一子表中确定属于第一类型的第一起始实体节点及其记录;
非实体节点确定模块,用于从第一起始实体节点的记录中确定待匹配的非实体节点;
第一目标实体节点确定模块,用于在本地的第二子表中确定包含所述待匹配的非实体节点的节点对,进而将这些节点对中的第二类型的实体节点作为第一目标实体节点。
17.一种分布式图数据计算装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求11-15中任一项所述方法。
18.一种分布式图数据存储装置,存储有图数据的第一子表和第二子表,所述图数据包括节点和边,其中节点包括实体节点以及非实体节点;其中,
第一子表包括所述图数据中部分实体节点的记录,每条实体节点的记录包括与该实体节点关联的非实体节点的信息;
第二子表包括包含所述部分实体节点中各实体节点的节点对的信息,每个节点对包括一个非实体节点以及与之关联的一个实体节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392590.1A CN114491085B (zh) | 2022-04-15 | 2022-04-15 | 一种图数据存储方法和分布式图数据计算方法 |
US18/300,812 US20230334095A1 (en) | 2022-04-15 | 2023-04-14 | Storage method for graph data and distributed computing method for graph data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392590.1A CN114491085B (zh) | 2022-04-15 | 2022-04-15 | 一种图数据存储方法和分布式图数据计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114491085A true CN114491085A (zh) | 2022-05-13 |
CN114491085B CN114491085B (zh) | 2022-08-09 |
Family
ID=81487620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210392590.1A Active CN114491085B (zh) | 2022-04-15 | 2022-04-15 | 一种图数据存储方法和分布式图数据计算方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230334095A1 (zh) |
CN (1) | CN114491085B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180232458A1 (en) * | 2017-02-10 | 2018-08-16 | Microsoft Technology Licensing, Llc | Storing parseable entity combinations |
CN109086391A (zh) * | 2018-07-27 | 2018-12-25 | 北京光年无限科技有限公司 | 一种构建知识图谱的方法及系统 |
CN110472068A (zh) * | 2019-08-20 | 2019-11-19 | 星环信息科技(上海)有限公司 | 基于异构分布式知识图谱的大数据处理方法、设备及介质 |
CN110619055A (zh) * | 2019-09-11 | 2019-12-27 | 深圳众赢维融科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110795562A (zh) * | 2019-10-29 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 图谱优化方法、装置、终端及存储介质 |
CN111241301A (zh) * | 2020-01-09 | 2020-06-05 | 天津大学 | 一种面向知识图谱表示学习的分布式框架构建方法 |
CN111460047A (zh) * | 2020-03-09 | 2020-07-28 | 平安科技(深圳)有限公司 | 基于实体关系的特征构建方法、装置、设备及存储介质 |
CN113220835A (zh) * | 2021-05-08 | 2021-08-06 | 北京百度网讯科技有限公司 | 文本信息处理方法、装置、电子设备以及存储介质 |
CN113239186A (zh) * | 2021-02-26 | 2021-08-10 | 中国科学院电子学研究所苏州研究院 | 一种基于多依存关系表示机制的图卷积网络关系抽取方法 |
CN113434737A (zh) * | 2021-07-23 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法和系统 |
CN113486187A (zh) * | 2021-03-24 | 2021-10-08 | 平安科技(深圳)有限公司 | 佛学知识图谱构建方法、装置、设备及存储介质 |
CN113961528A (zh) * | 2021-10-27 | 2022-01-21 | 上海交通大学 | 基于知识图谱的文件语义关联存储系统及方法 |
CN114282011A (zh) * | 2022-03-01 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 知识图谱的构建方法和装置、图计算方法及装置 |
CN114328905A (zh) * | 2021-09-09 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 搜索提示方法、装置、计算机设备和存储介质 |
-
2022
- 2022-04-15 CN CN202210392590.1A patent/CN114491085B/zh active Active
-
2023
- 2023-04-14 US US18/300,812 patent/US20230334095A1/en active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180232458A1 (en) * | 2017-02-10 | 2018-08-16 | Microsoft Technology Licensing, Llc | Storing parseable entity combinations |
CN109086391A (zh) * | 2018-07-27 | 2018-12-25 | 北京光年无限科技有限公司 | 一种构建知识图谱的方法及系统 |
CN110472068A (zh) * | 2019-08-20 | 2019-11-19 | 星环信息科技(上海)有限公司 | 基于异构分布式知识图谱的大数据处理方法、设备及介质 |
CN110619055A (zh) * | 2019-09-11 | 2019-12-27 | 深圳众赢维融科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110795562A (zh) * | 2019-10-29 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 图谱优化方法、装置、终端及存储介质 |
CN111241301A (zh) * | 2020-01-09 | 2020-06-05 | 天津大学 | 一种面向知识图谱表示学习的分布式框架构建方法 |
CN111460047A (zh) * | 2020-03-09 | 2020-07-28 | 平安科技(深圳)有限公司 | 基于实体关系的特征构建方法、装置、设备及存储介质 |
CN113239186A (zh) * | 2021-02-26 | 2021-08-10 | 中国科学院电子学研究所苏州研究院 | 一种基于多依存关系表示机制的图卷积网络关系抽取方法 |
CN113486187A (zh) * | 2021-03-24 | 2021-10-08 | 平安科技(深圳)有限公司 | 佛学知识图谱构建方法、装置、设备及存储介质 |
CN113220835A (zh) * | 2021-05-08 | 2021-08-06 | 北京百度网讯科技有限公司 | 文本信息处理方法、装置、电子设备以及存储介质 |
CN113434737A (zh) * | 2021-07-23 | 2021-09-24 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法和系统 |
CN114328905A (zh) * | 2021-09-09 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 搜索提示方法、装置、计算机设备和存储介质 |
CN113961528A (zh) * | 2021-10-27 | 2022-01-21 | 上海交通大学 | 基于知识图谱的文件语义关联存储系统及方法 |
CN114282011A (zh) * | 2022-03-01 | 2022-04-05 | 支付宝(杭州)信息技术有限公司 | 知识图谱的构建方法和装置、图计算方法及装置 |
Non-Patent Citations (2)
Title |
---|
DAWEI WANG ET AL.: ""Graph Compression Storage Based on Spatial Cluster Entity Optimization"", 《IEEE ACCESS》 * |
朱国丞: ""基于大数据平台的知识图谱存储访问系统的设计与实现"", 《万方数据知识服务平台》 * |
Also Published As
Publication number | Publication date |
---|---|
US20230334095A1 (en) | 2023-10-19 |
CN114491085B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034809B (zh) | 区块链的生成方法、装置、区块链节点及存储介质 | |
CN102214187B (zh) | 复合事件处理方法及装置 | |
CN110413611A (zh) | 数据存储、查询方法及装置 | |
JP6243045B2 (ja) | グラフデータクエリ方法および装置 | |
CN111046237B (zh) | 用户行为数据处理方法、装置、电子设备及可读介质 | |
CN103703467A (zh) | 存储数据的方法和装置 | |
JP6928677B2 (ja) | オンライン分析処理を行うためのデータ処理方法及び装置 | |
CN106325756B (zh) | 一种数据存储、数据计算方法和设备 | |
CN105812175B (zh) | 一种资源管理方法及资源管理设备 | |
CN109788020A (zh) | 一种坐席分配方法及相关设备 | |
CN114429364A (zh) | 业务数据管理方法和装置、存储介质及电子设备 | |
CN109977135A (zh) | 一种数据查询方法、装置及服务器 | |
CN114564571B (zh) | 一种图数据查询方法和系统 | |
CN104182546B (zh) | 数据库的数据查询方法及装置 | |
WO2016127854A1 (zh) | 一种信息处理方法及装置 | |
CN109726219A (zh) | 数据查询的方法及终端设备 | |
CN114491085B (zh) | 一种图数据存储方法和分布式图数据计算方法 | |
CN106294857B (zh) | 一种数据处理方法及数据处理设备 | |
CN107818117B (zh) | 一种数据表的建立方法、在线查询方法及相关装置 | |
CN110188140A (zh) | 数据拉取方法、装置、存储介质和计算机设备 | |
CN112015804A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN107688582B (zh) | 资源推荐模型的获取方法及装置 | |
CN114579506A (zh) | 处理器之间的通信方法、系统、存储介质以及处理器 | |
CN110781375A (zh) | 一种用户状态标识确定方法及装置 | |
CN111694682B (zh) | 多层级租户的管理方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |