CN114416891B - 在知识图谱中进行数据处理的方法、***、装置和介质 - Google Patents
在知识图谱中进行数据处理的方法、***、装置和介质 Download PDFInfo
- Publication number
- CN114416891B CN114416891B CN202210308478.5A CN202210308478A CN114416891B CN 114416891 B CN114416891 B CN 114416891B CN 202210308478 A CN202210308478 A CN 202210308478A CN 114416891 B CN114416891 B CN 114416891B
- Authority
- CN
- China
- Prior art keywords
- data
- time
- knowledge
- graph
- version
- 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
Links
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- 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/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种在知识图谱中进行数据处理的方法,包括:获取原始数据,包括获取实体和/或关系的时变属性值的历史明细数据;将该时变属性值的历史明细数据存储在在线多版本数据库中,该多版本数据库中该时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;使用该多版本数据库,计算该时变属性值的指定统计指标值;生成或更新知识图谱。还公开了分析用户对功能或服务的行为的方法;还公开了相应的***、装置和介质。本申请的方案能够高效、灵活地计算知识图谱中的属性值的统计指标值。
Description
技术领域
本申请涉及知识图谱,尤其涉及用于在知识图谱中进行数据处理的方法、***、装置和介质。
背景技术
如今,知识图谱已经得到了广泛的利用。例如,知识图谱已被应用于用户行为理解、智能客服、信贷理财等等各种应用场景。知识图谱通常由顶点和边组成,其中顶点和边分别表示实体和实体间的关系。一些实体和边可能具有属性。
在一些应用场景中,一些实体和/或边的属性的值(简称“属性值”)可能随时间而变化。例如,在用户行为分析场景中,用户和用户所使用的服务可能作为实体,而用户对服务所做的动作可以是这两类实体间的关系。例如,假设用户“张三”对某一服务(例如“滴滴出行”)执行了点击动作。在此情形下,用户“张三”可作为起点实体,服务“滴滴出行”可作为终点实体,而动作“点击(click)”可作为关系,而“点击”这一关系可具有属性值,即“点击数”。随着时间增长,用户可能多次点击服务,从而导致该关系“点击”的属性值发生变化(例如,总点击次数增加)。
为了更深入地理解用户对服务的点击关系,可能需要获得属性值的一种或多种统计指标。因此,存在高效、灵活、甚至实时地在知识图谱中获得属性值的统计指标的需求。
发明内容
为了克服现有技术的缺陷,本说明书的一个或多个实施例通过使用多版本数据库以及数据流有状态计算引擎并结合新颖方法实现了能够高效、灵活的获得知识图谱中的属性值的统计指标的方案。
本说明书的一个或多个实施例通过以下技术方案来实现其上述目的。
在一个方面中,提供了一种在知识图谱中进行数据处理的方法,包括:获取用于知识图谱的原始数据,该原始数据包括涉及多个实体和/或该多个实体间的多个关系的属性值,其中一个或多个属性值为时变属性值,其中获取该原始数据包括获取该时变属性值的历史明细数据;使用数据流有状态计算引擎的批执行模式将该时变属性值的历史明细数据存储在多版本数据库中,该多版本数据库具有在线多版本能力,其中该多版本数据库中该时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;使用该多版本数据库,基于该时变属性值的历史明细数据计算该时变属性值的指定统计指标值;生成或更新知识图谱,其中该多个实体为该知识图谱中的顶点,该多个关系为该知识图谱中的边,且该指定统计指标值作为与该实体相对应的顶点的属性值或与该关系相对应的边的属性值。
优选地,该方法进一步包括:实时或准实时地获取新原始数据,该新原始数据包括新属性值;以及使用数据流有状态计算引擎的流执行模式将该新属性值存储在该多版本数据库中。
优选地,该方法进一步包括:至少部分地基于该新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及将该经更新的统计属性更新到该知识图谱。
优选地,其中一个或多个属性值为非时变属性值,且其中该非时变属性值按照无版本或单版本的方式保存在该多版本数据库中。
优选地,不计算该非时变属性值的统计指标值,和/或不在该知识图谱中更新该非时变属性值的统计指标值。
优选地,其中该数据流有状态计算引擎为Blink引擎或Flink引擎。
优选地,其中该多版本数据库为Geabase数据库和/或HBase数据库。
优选地,其中该指定统计指标值为在任意指定时间段上计算的指定类别的统计指标的值。
优选地,该方法进一步包括:接收来自用户的输入;以及该指定统计指标值基于该来自用户的输入。
优选地,该方法进一步包括:使用该数据流有状态计算引擎的流执行模式来对该新原始数据执行检查点处理。
在另一方面,提供了一种分析用户对功能或服务的行为的方法,包括:接收用户对功能或服务的行为的历史数据,其中该历史数据包括涉及用户、功能、服务或行为的属性值,其中一个或多个属性值为时变属性值;使用数据流有状态计算引擎的批执行模式将该时变属性值的历史明细数据存储在多版本数据库中,该多版本数据库具有在线多版本能力,其中该多版本数据库中该时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;使用该多版本数据库,基于该时变属性值的历史明细数据计算该时变属性值的指定统计指标值;生成或更新知识图谱,其中该用户和功能或服务与该知识图谱中的顶点相对应,该行为与该知识图谱中的边相对应,且该指定统计指标值作为相应顶点或边的属性值。
优选地,该方法进一步包括:实时或准实时地获取新用户行为数据,该新用户行为数据包括新属性值;以及使用数据流有状态计算引擎的流执行模式将该新属性值存储在该多版本数据库中。
优选地,该方法进一步包括:至少部分地基于该新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及将该经更新的统计属性更新到该知识图谱。
在又一方面,提供了一种在知识图谱中进行数据处理的***,包括:数据获取模块,用于获取用于知识图谱的原始数据,该原始数据包括涉及多个实体和/或该多个实体间的多个关系的属性值,其中一个或多个属性值为时变属性值,其中获取该原始数据包括获取该时变属性值的历史明细数据;多版本数据库,该多版本数据库具有在线多版本能力;数据流有状态计算引擎,用于利用批执行模式将该时变属性值的历史明细数据存储在该多版本数据库中,其中该多版本数据库中该时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;以及知识图谱更新模块,用于使用该多版本数据库,基于该时变属性值的历史明细数据计算该时变属性值的指定统计指标值;以及生成或更新知识图谱,其中该多个实体为该知识图谱中的顶点,该多个关系为该知识图谱中的边,且该指定统计指标值作为与该实体相对应的顶点的属性值或与该关系相对应的边的属性值。
优选地,该数据获取模块进一步用于实时或准实时地获取新原始数据,该新原始数据包括新属性值;以及该数据流有状态计算引擎进一步用于利用流执行模式将该新属性值存储在该多版本数据库中。
优选地,该知识图谱更新模块进一步用于:至少部分地基于该新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及将该经更新的统计属性更新到该知识图谱。
在又另一方面中,提供了一种在知识图谱中进行数据处理的装置,包括:存储器;以及处理器,该处理器被配置成执行如上文任一项所述的方法。
在又另一方面中,提供了一种分析用户对功能或服务的行为的装置,包括:存储器;以及处理器,所述处理器被配置成执行如上文任一项所述的方法。
在又另一方面中,提供了一种存储指令的计算机可读存储介质,该指令当被计算机执行时,使所述计算机执行上述方法。
与现有技术相比,本说明书的一个或多个实施例能够实现以下技术效果中的一者或多者:
能够在知识图谱中高效地计算统计指标;
能够灵活地定制统计指标而无需重构;
能够实时或准实时地计算统计指标。
附图说明
以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1示出根据本说明书实施例的可用于构建知识图谱的历史明细数据的一部分的示例。
图2示出根据本说明书实施例的包括历史明细数据的知识图谱的一部分的示例。
图3示出根据本说明书实施例的基于图2中的知识图谱进行聚合查询的示例。
图4示出根据本说明实施例的概括数据处理过程的示意图。
图5示出根据本说明实施例的图4的示意图的各阶段的具体数据示例的示意图。
图6示出根据本说明书实施例的用于在知识图谱中进行数据处理的示例方法的示意流程图。
图7示出根据本说明书实施例的用于在知识图谱中进行数据处理的示例过程的示意流程图。
图8示出其示出根据本说明实施例的进行实时或准实时处理的过程中的数据流的示意图。
图9示出根据本说明书实施例的用于在知识图谱中进行数据处理的另一示例方法的示意流程图。
图10示出根据本说明书实施例的用于在知识图谱中进行数据处理的另一示例过程的示意流程图。
图11示出根据本说明书一实施例的用于分析用户对功能或服务的行为的示例方法的示意流程图。
图12示出根据本说明书实施例的用于在知识图谱中进行数据处理的示例***的框图。
图13示出用于实现根据本说明书一个或多个实施例的***的装置的示意框图。
具体实施方式
以下具体实施方式的内容足以使任何本领域技术人员了解本说明书的一个或多个实施例的技术内容并据以实施,且根据本说明书所揭露的说明书、权利要求及附图,本领域技术人员可轻易地理解本说明书的一个或多个实施例相关的目的及优点。
如今,知识图谱已经得到了广泛的利用。例如,知识图谱被广泛应用于用户行为理解、智能客服、信贷理财等等。知识图谱通常由顶点和边组成,其中顶点和边可分别表示实体和实体间的关系。一些实体和边可能具有属性。
在一些应用场景中,一些实体和/或边的属性值可能随时间而变化。为了更深入地理解用户对服务的点击关系,可能需要获得属性值的一种或多种统计指标。因此,存在高效、灵活、甚至实时地在知识图谱中获得属性值的统计指标的需求。
例如,在电子商务场景中,用户(例如其可作为起点实体)和应用、商户、品牌、门店(例如其可作为终点实体)之间可能分别存在点击、消费、搜索点击、推荐点击等关系。在此场景下,可能存在按时间段(例如3天、5天、一周、一月)等条件针对每种关系上的属性值获得一种或多种类型的统计指标的需求。例如,可存在对最近3天用户A点击应用B的总次数、用户C在最近一周在商户D的总消费金额、用户E在最近一个月内搜索点击品牌F的日最大次数等等需求。在其它应用场景中,同样存在类似需求。
为解决上述问题,申请人意识到可存在以下方案,即“先统计后构建”方案,也就是说,在构建知识图谱之前首先基于时变属性值的历史明细数据(例如在T+1天获得先前的全部历史明细数据)对某个统计指标进行计算,然后将计算得到的统计指标在构建知识图谱时填充到知识图谱中,并将其存储到数据库或其他存储(例如磁盘或其它介质等)中。
上述方案尽管能够解决部分问题,但并非不存在缺点。例如,假设原指定统计指标是最近3天的某统计指标(例如总数),则上述方案将仅生成并存储最近3天的统计指标作为属性值的知识图谱。如果出现用户需求的变化,例如如果用户改为想要查看最近5天的统计指标,那么需要重新计算统计指标并对整个知识图谱的执行完整重构(甚至可能需要开发者手动修改代码)。知识图谱的完整重构不仅复杂,而且需要消耗大量资源(例如时间资源、计算资源、IO资源、存储资源等)的。因此,这种方案无法灵活地改变统计指标,更加无法对统计指标进行任意定制,因此灵活性较差,而且对资源的消耗较大。
此外,上述方案还存在一个问题,即无法实现实时或准实时的统计数据。由于知识图谱重构所需要的大量时间,因此至多仅能查看前一时间周期(例如昨天)的统计指标,而无法将当天新生成的数据统计在内。也就是说,上述方案的实时性较差。
在本说明书的一个或多个实施例中,通过采用在线多版本数据库,能够在避免重构的情况下灵活地获得各种定制统计指标。在本说明书的一个或多个进一步优选实施例中,通过采用数据流有状态计算引擎,能够极大地提升统计指标计算的效率,从而甚至能够实现实时或准实时的统计指标生成。
在下文中,将以电子商务场景为例来解说本说明书的一个或多个实施例。但应领会,本说明书的实施例适用于任何使用实体或关系的属性值可能随时间变化的知识图谱应用。
参考图1,其示出根据本说明书实施例的可用于构建知识图谱的历史明细数据100的一部分的示例。该示例仅显示了大量数据的一部分,在实际应用中可能存在多得多的数据。可以领会,电子商务领域这一应用场景仅是示例性的,本领域技术人员可以容易地构想其它应用场景。
图1中示出了多个实体以及该多个实体间的多个关系。在电子商务领域,“实体”可以为用户、功能、服务等;“关系”可以为上述实体间的交互关系。具体而言,在图1中,用户“User张三”为起点实体,“充值中心”、“滴滴出行”、“橙饭堂”等功能或服务为终点实体,而用户对相关功能或服务的操作或行为,如“点击(click)”、“消费(consume)”等为起点实体与终点实体的关系。
一个或多个关系可具有属性值。例如,“点击”关系可具有点击次数值作为其属性值,而“消费”可具有“消费额”作为其属性值。在一些示例中,同一关系可具有多个属性值,而不是一个属性值。例如,“消费”除可具有“消费额”之外,还可具有“消费次数”这一属性值。
在图1所示的示例中,一个或多个关系具有随时间变化的属性值。具体而言,图1示出了一用户“User张三”分别在2021年的6月3日、6月4日和6月5日在某电子商务服务中的一部分行为。例如,在2021年6月3日,该用户分别在早晨、中午、晚上点击(即“click”)充值中心1次、2次和1次,点击滴滴出行2次、0次和3次,在橙饭堂消费0元、0元和18元。类似地,图1还示出了用户“User张三”在2021年6月4日和6月5日的行为数据。
也就是说,图1示出了一个或多个实体和/或关系的属性值的历史明细数据。
应当领会,虽然在图1中没有示出,但实体也可具有属性值。例如,“User张三”可具有“消费额”、“对服务(如单个服务、服务集合、或全部服务等)的点击次数”、“在线时间”等等本领域技术人员可构想的属性值。在一个或多个实体也具有随时间变化的属性值的情况下,还可获取该一个或多个实体的该属性值的历史明细数据。
虽然在图1中示出了一个或多个实体和/或关系具有时变属性值,但应领会,一个或多个实体和/或关系也可具有非时变属性值。例如,对于“用户”这一类型的实体而言,其可具有用户的名称或ID等属性值,这些属性值通常不会变化。类似地,对于“消费”这一类型的关系而言,其可具有“消费所使用的币种”等属性值,这些属性值通常也不会变化。
该历史明细数据可从原始数据获得。例如,在电子商务场景中,该历史明细数据可从用户的历史交易数据(和其它历史行为数据)中获得。
参见图2,其示出根据本说明书实施例的包括历史明细数据的知识图谱200的一部分的示例。该知识图谱并非最终返回的知识图谱,而是尚未计算统计指标的知识图谱。该知识图谱反应了在本说明书的实施例中版本化数据在多版本数据库中存储的形式。
如图2所示,该知识图谱200中包括多个顶点和连接该多个顶点的多条边,其中顶点表示实体,而边表示实体间的关系。相应地,顶点和边可具有属性值。在本说明书中,“关系的属性值”也可被称为知识图谱的“边的属性值”,而“实体的属性值”也可被称为知识图谱的“顶点的属性值”。
在图2的示例中,关系的属性值被显示在知识图谱的边上。例如,在顶点起点实体“User张三”与顶点终点实体“充值中心”之间的边上,显示了关系“Click”的属性值;在顶点起点实体“User张三”与顶点终点实体“橙饭堂”之间的边上,显示了关系“Consume”的属性值;如此等等。
需要注意,虽然在图2中未显示实体的属性值,但实体也可存在相关联的属性值。在此情况下,可在对应的顶点上显示其属性值。
值得注意的是,如图2中所示,在每个顶点起点实体和每个顶点终点实体之间,存在三条边,其中每条边具有其版本号。例如,在起点实体“User张三”与终点实体“充值中心”之间,存在三条边,其分别具有版本号:20210603、20210604、20210605。可以看出,版本号为20210603的边的属性值,对应于该关系在2021年6月3日的属性值;版本号为20210604的边的属性值,对应于该关系在2021年6月4日的属性值;版本号为20210605的边的属性值,对应于该关系在2021年6月5日的属性值;如此等等。也就是说,属性值的历史明细数据具有版本,且版本与该条历史明细数据的时间相关联。
在本说明书的实施例中,历史明细数据的版本可按各种方式与时间相关联。例如,可基于历史明细数据的以指定时间周期表示的值来确定其版本。在图2的示例中,该时间周期为一天。具体而言,该版本与历史明细数据的日期相对应。还存在其它的将版本与日期相对应的方式。例如,版本号可等于某起始日期(例如1970年1月1日)起的天的计数等等。
此外,还可采用其它时间周期。例如,该时间周期可以是秒、分钟、小时、2天、3天、一周、一月等等。例如,可采用Unix时间戳作为其版本号。可基于具体需求来指定时间周期。
上述版本化的历史明细数据可被存储在多版本数据库中。例如,可使用数据流有状态计算引擎来处理,以便执行上述存储操作,如在下文中更详细地描述的。
参见图3,其示出根据本说明书实施例的基于图2中的知识图谱进行聚合查询300的示例。在本说明书中,聚合查询是指计算指定统计指标的操作,且可基于所要计算的统计指标来执行相应的聚合算子。
在图3中示出了两个聚合查询的示例,在上半部分示出的是sum聚合算子,其用于对相应的属性值进行求和,即计算总数量这一统计指标;在下半部分示出的示例max聚合算子,其用于求相应的属性值的最大值,即计算最大值这一统计指标。
如图3中上半部分所示,在执行sum聚合算子时,由于属性值已经基于时间按照版本来存储,所以可以灵活地基于要执行求和的时间段来选择相应的属性值来执行求和操作。如在图3的示例中,如要计算用户“User张三”在最近三天(即2021年6月3日到5日)这一时间段内在晚上对“充值中心”的总点击次数这一统计指标,可选择20210603、20210604和20210605三个版本的历史明细数据中的“User张三”对“充值中心”的点击次数1、2和0进行求和即可得到其查询结果,即1+2+0 = 3。
如果需求发生变化,要统计的是最近2天而不是最近3天的总点击次数,则仅需要选择20210604和20210605两个版本的历史明细数据中的“User张三”对“充值中心”的点击次数2和0进行求和即可得到其查询结果,即2+0 = 2。
类似地,如图3中下半部分所示,在执行Max聚合算子时,如要计算用户“User张三”在2021年6月3日到4日这两天在晚上在“橙饭堂”的消费额的最大值的这一统计指标,可选择20210603、20210604两个版本的历史明细数据中的“User张三”对“橙饭堂”的消费额18和20并取其最大值即可得到其查询结果,即max(18, 20) = 20。
假设需求发生变化,不是统计2021年6月3日到4日这两天在晚上在“橙饭堂”的消费额的最大值,而是要统计2021年6月3日到5日这三天在晚上在“橙饭堂”的消费额的最大值,则可选择20210603、20210604和20210605三个版本的历史明细数据中的“User张三”对“橙饭堂”的消费额18、20和0并取其最大值即可得到其查询结果,即max(18, 20, 0) = 20。
在得到统计指标之后,可将该统计指标作为对应的实体和/或边的属性。例如,在上文中执行sum聚合算子得到的统计指标(例如“3”)可被存储为“User张三”和“充值中心”之间的边“点击”的属性值。在该示例中,通过对统计指标计算得到的统计指标值可被称为聚合指标值,或更具体地称为sum聚合指标值、最近3天总点击数聚合指标值等。因为这些聚合指标值也可被称为统计属性。
又例如,可将上文中执行max聚合算子的所得到的统计指标值存储为“User张三”与“橙饭堂”之间的边的聚合指标值。
类似地,在需要时,也可将对实体执行的统计指标作为对应顶点的聚合指标值。
通过上述操作,可以得到包括统计指标值的知识图谱。在该知识图谱中,聚合指标值作为与实体相对应的顶点的属性值或与关系相对应的边的属性值。这样的知识图谱可称为经过知识聚合的知识图谱。
可以看出,通过本说明书的实施例,借助于多版本数据库,能够灵活地实现定制聚合,即能够灵活地定制要计算的统计指标,而无需对知识图谱进行重构,从而节省了大量资源,提升了效率。
参见图4,其示出根据本说明实施例的概括数据处理过程400的示意图。
如图4所示,首先,可获取实体和关系的数据。如果实体和/或关系具有随时间变化的属性值,可获取该属性值的历史明细数据402。
随后,可将属性值的历史明细数据存储在多版本数据库404中。例如,可使用数据流有状态计算引擎(例如使用其批执行模式,或者还可同时使用其流执行模式)来执行该存储过程。
随后,可基于该历史明细数据来计算指定统计指标,并将其填充到知识图谱的对应的顶点或边,从而得到包括统计指标的知识图谱406。
参见图5,其示出根据本说明实施例的图4的示意图的各阶段的具体数据示例的示意图。
如图5的框502所示,历史明细数据(图4中的属性值的历史明细数据402的具体数据示例)可包括所涉及的实体(如“张三”、“我的快递”)、关系(如“Click”)以及各种附加信息(例如该关系所代表的事件“点击事件”、该事件的发生日期“20210606”以及发生时间“08:12”)等等。取决于具体应用,该历史明细数据402可包括更多、更少以及不同的信息。需要指出,图5中所示出的仅仅是历史明细数据402的一个条目,该历史明细数据402可包括多个条目。
如图5的框504所示,该历史明细数据可被存储到多版本数据库(图4的多版本数据库404的具体数据示例)中。多版本数据库是具有多版本能力的数据库。多版本能力是指具有版本化的数据,能够对数据的不同版本进行存储和查询的能力。优选地,多版本数据库通常支持对指定版本的查询和对版本范围的查询。
优选地,该多版本数据库具有在线多版本能力。在线多版本能力是指能够随机、实时地对多版本数据库中的版本化数据进行读写的能力。例如,该多版本数据库可以是HBase数据库或Geabase数据库等。Geabase数据库是特别适用于知识图谱的数据库,其在执行与知识图谱相关的任务(如存储、查询、分析等)时效率较高,但其通常仅具有边处理能力。HBase数据库具有边处理能力和顶点处理能力。
该多版本数据库可包括实体属性和/或关系属性的历史明细数据的多个版本。在图5的示例中,每个版本与该条历史明细数据的日期相对应。例如图5中的每一行可表示实体属性或关系属性的一个版本,该版本与各属性值在对应日期的数据相对应。如上文所解释的,根据具体情形,版本可对应于其它时间周期。
然后,使用多版本数据库中的历史明细数据的多个版本,可计算一个或多个指定统计指标值(或聚合指标值)。
如图5的框506中所示,填充到知识图谱(图4中的知识图谱406的具体数据示例)中的指定统计指标例如可包括单日总数、3日总数、4日总数等等。随后,可将该一个或多个统计指标填充到知识图谱。具体而言,可将统计指标填充到知识图谱中的顶点或边。
例如,该统计指标可与相应元数据一起被填充到知识图谱中的顶点或边。如在图5中的“User张三”与“我的快递”之间的“点击”关系的边上,填充了关系的性质或名称:Click、关系相关联的日期(如关系的起始计算日期或关系的生成日期等)20210603、关系的其它元数据(早晨、中午、晚上等)、指定统计指标(如sum(1)、sum(3)、sum(4)等)以及与该指标相关联的计算的统计指标值(如与sum(1)相对应的3、与sum(3)相对应的5、与sum(4)相对应的7等)。
参见图6,其示出根据本说明书实施例的用于在知识图谱中进行数据处理的示例方法600的示意流程图。
如图6所示,方法600可包括:在操作602,可获取用于知识图谱的原始数据。
例如,对于电子商务场景而言,原始数据可以指原始的用户行为数据、历史交易数据等等。
可从各种数据源获取原始数据。这样的数据源可包括数据库(包括本地数据库、集中式服务器数据库、分布式服务器数据库等或其组合等)以及存储(包括本地存储、集中式服务器存储、分布式存储等或其组合)等。
例如,该原始数据可包括涉及多个实体和该多个实体间的多个关系的属性值。例如,该原始数据可包括多个实体以及该多个实体间的多个关系。实体的示例如用户、商户、品牌等等,关系的示例如点击、消费、登录等等。
每个实体和/或关系可具有一个或多个属性值。例如,用户可具有用户ID、用户名称等属性值。“消费”关系可具有消费次数、消费金额等属性值等等。
如上文所述,一个或多个属性值可以是时变属性值。在本说明书实施例中,获取原始数据可包括获取一个或多个时变属性值的历史明细数据。
在此处描述的实施例中,优选地,所获取的历史明细数据为T+1数据,即最迟为前一时间周期的数据。例如,该数据可以不包括当前时间周期新产生的数据。在仅采用T+1数据的情况下,可以在后文中采用数据流有状态计算引擎的批执行模式(也可称为“批量计算模式”、“批处理模式”、“批量分析模式”、“批量查询模式”等)来处理所获取的数据。数据流有状态计算引擎的批执行模式是一种批量化、较高时延地执行大量数据处理的模式,并且可以根据业务需要灵活地修改所要执行的数据处理任务并再次提交数据处理任务。该批执行模式能够高效地执行对大量有界(bounded)数据的处理,因此特别适合用来处理T+1数据,而且能够在需要时灵活高效改变所要进行的处理(例如计算不同的统计指标)。
如上文所述,一个或多个属性值可以是非时变属性值。此外,虽然有些属性值的确有可能随时间变化,但根据具体情形可能不关心该属性值。在本说明书实施例中,这样的属性值也可作为非时变属性值。
在优选实施例中,对于非时变属性值,可仅获取一次该属性值,而无需获取其历史明细数据,从而在后续处理过程中无需处理此类属性值,从而节省***资源并提高处理效率。替代地,对于非时变属性值,也可获取其历史明细数据(其值不会变化),这种方式可以省略判断属性值是否随时间变化等步骤。通过这种方式,能够减少获取相应数据所需的资源,且可在后续处理中简化对相应数据的处理。
当然,本说明书实施例也可获取多次非时变属性值。在此情况下,可不对数据是否随时间变化加以区分,从而减少确定数据是否随时间变化的步骤。
如图6所示,方法600可包括:在操作604,可使用数据流有状态计算引擎的批执行模式将该时变属性值的历史明细数据存储在多版本数据库中。优选地,该多版本数据库具有在线多版本能力,如上文所定义的。此操作的一些具体细节可参考下文对图7的描述。
该多版本数据库中该属性值的历史明细数据的版本与该历史明细数据的时间相关联。该多版本数据库为Geabase数据库和/或HBase数据库。该数据流有状态计算引擎为Blink引擎或Flink引擎。
对于非时变属性值,可按照无版本或单版本的方式存储在该多版本数据库中。例如,可通过设置该多版本数据库来针对该非时变属性值仅存储一份数据。
方法600可包括:在操作606,可使用该多版本数据库,基于该时变属性值的历史明细数据计算该时变属性值的指定统计指标值。该指定统计指标值也可称为聚合指标值。
具体而言,可基于指定的时间段来获取该多版本数据库中相应版本(或版本范围)的属性值,并利用与指定的统计指标类别相关联的算子来对所获取的版本(或版本范围)的属性值进行计算,来得到该指定统计指标值,如上文参考图2和图3所例示的。
优选地,对于该非时变属性值,可不计算该属性值的统计指标值。优选地,对于非时变属性值,可不在知识图谱中对该属性值的统计指标值执行更新。
在优选实施例中,指定统计指标为在任意指定时间段上计算的任何类别的统计指标。例如,用户可指定以该时间周期(例如以天)为时间单位的任意时间段,例如1天、2天、3天、7天等等。
统计指标的类别的示例可包括但不限于:求计数、求总和、求最大值、求最小值、求中位值、求平均值、求众值等等。可根据需求设计其它统计指标类别。
在一些示例中,该统计指标可以是预先指定的。例如,业务管理人员可预先指定所要统计的时间段(例如最近3天、从大前天到前天、已经过去的周一到周五、上周末等等)以及要在所指定的时间段上计算的统计指标的类别(例如求和、求最大值、求均值等等)。
在另一些优选实施例中,可接收来自用户的输入,并基于来自用户的输入来确定该指定统计指标。例如,用户(例如业务管理人员)可通过本服务所提供的图形用户界面或其它用户接口来指定要执行统计的时间段以及统计指标的类别。通过这种方式,允许用户灵活地定制统计指标。
而且,受益于根据本说明的实施例的在线多版本数据库以及数据流有状态计算引擎的特点,能够高效地计算出用户所自定义的统计指标,而无需对整个知识图谱进行完整重构。
方法600还可包括:在操作608,可生成或更新知识图谱,其中实体为知识图谱中的顶点,实体间的关系为知识图谱中的边,且所计算的指定统计指标值作为与该实体相对应的顶点的属性值或与该关系相对应的边的属性值。例如,通过将所计算的指定统计指标值填充到相应的顶点或边,可以获得包括指定统计值的知识图谱,如上文参考图4和图5所例示的。
可选地,方法600还可包括:在操作610,可存储和/或显示所生成或更新的知识图谱。通过存储填充了聚合指标值的知识图谱,当用户想要查看条件完全相同(例如时间段和统计指标类型)的知识图谱时,可无需再次执行上面所述的操作,而是直接可获取已存储的知识图谱。
可选地,方法600还可包括:在操作612,可存储和/或显示查询结果。例如,可直接将查询结果存储,以备后续使用,或直接显示给用户。
参见图7,其示出根据本说明书实施例的用于在知识图谱中进行数据处理的示例过程700的示意流程图。该过程700是如图6中所示的方法的一种具体实现,其各个步骤例如可对应于相应的算法步骤。但应领会,可采用与图7中的过程700不同的过程来实现图6的方法600。
如图7所示,过程700可包括:在操作702,可获取原始数据。如上文所述,该原始数据可从多种数据源(例如数据库、本地存储等)获取。该原始数据例如可包括时变属性值的历史明细数据。
过程700还可包括:在操作704,可构建调度。所谓构建调度,是指执行相关联的调度过程以准备构建知识图谱。在构建调度期间,可执行对任务的启、停、状态控制等调度逻辑。具体而言,例如可判断应该什么时候拉起批执行任务或流执行任务,对拉起的任务进行状态的检查等等,其可用于管理整个构建任务的生命周期。
过程700还可包括:在操作706,可使用数据流有状态计算引擎的批执行模式来执行处理。在批执行模式中,可以通过单任务对一批有界数据集进行处理。具体而言,可使用该数据流有状态计算引擎的批执行模式来执行各种数据处理、分析和存储任务。
过程700还可包括:在操作708,可执行知识映射。通过知识映射,可以从上述原始数据中确定实体、关系以及对应的属性。执行知识映射的具体过程可按本领域技术人员可构想的任何方式来实现,此处不再赘述。
过程700还可包括:在操作710,可确定实体/关系的属性是否为随时间变化的属性(即时变属性)。例如,可提取出原始数据中的经知识映射得到的属性,并逐个属性地确定该属性是否为时变属性。如上文所述,在一些示例中,可省略此操作,而将所有属性默认为时变属性。可基于具体的数据特点以及需求来选择是否执行此操作。
过程700还可包括:如果在操作710确定该属性不是时变属性,则可在操作712执行PIPILINE逻辑处理。在此操作中,可执行知识图谱的一些自定义处理逻辑,如有向无环图(ADG)处理逻辑。具体而言,可执行Schema Check、算子执行框架、召回、链指、标化、融合等。
过程700还可包括:如果在操作710确定该属性是时变属性,则可在操作714获取该时变属性的多版本数据。例如,可从多版本数据库中提取出该特定时变属性的多版本数据。在一些示例中,在某些特定的场景下,可能需要将当前的多版本数据和历史的多版本数据进行一些聚合计算,对计算的结果再存入到在线图存储介质(例如在线多版本数据库)中。
过程700还可包括:在操作716,可基于所获得的多版本数据来计算统计指标。
过程700还可包括:可选地,在操作718,可更新多版本数据库。例如,可将经更新的多版本数据存储到多版本数据库中。
过程700还可包括:在操作720,可将所计算的统计指标填充到知识图谱。此操作的具体过程可参考上文针对框506的描述。
在操作720之后,同样可在操作712执行PIPELINE逻辑处理。
过程700还可包括:在执行PIPELINE逻辑处理之后,可在操作722,将数据输出到知识图谱。
应当领会,虽然在上文中以特定次序描写了各个操作,但这并非意味着这些操作必须按该特定次序执行。相反,上述操作可按不同执行执行、可并行执行、可交织地执行,或者一操作可包括其它操作中的部分步骤,等等。本领域技术人员可根据具体需求设计不同的具体实现。
上文介绍了在处理有界(bounded)数据时的情形。在实际应用中,经常需要实时或准实时地处理数据并获取相应的统计指标值。例如,随着用户的新的行为(例如交易活动)的发生,新的数据在当前周期被产生,这种新数据可能被需要纳入分析,以便更及时地发现有价值信息。因此,需要无界(unbounded)数据处理能力。在本文中,“准实时”是指在当前的时间周期内(例如在当天),而不是在T+1时间周期。
在本说明书实施例中,利用数据流有状态计算引擎的流执行模式来处理无界数据,从而实时或准实时地获取期望的统计指标值并将其输出/更新到知识图谱。
参见图8,其示出其示出根据本说明实施例的进行实时或准实时处理的过程中的数据流的示意图。图8的下半部分可参考上文中对图5的描述,在此不在赘述。
如图8的框802所示,新原始数据可被实时或准实时地获取,该新原始数据可包括实体和/或关系的一个或多个新属性值。
对新属性值的获取例如可以是由事件流驱动的。例如,每当用户(如“User张三”)点击一次“我的快递”,将产生一份事件数据,该事件数据可被接收。
替代地,可周期性地获取数据流。例如,可在每天的上午11点接收“User张三”当天早晨对“我的快递”的点击次数。
优选地,可使用例如SLS服务(日志服务)等专用事件流处理服务来实时或准实时地获取相应的原始数据并对该原始数据进行预处理。通过专用事件流处理服务,能够提升实时或准实时数据的获取和处理的效率。
如框804所示,在获取到新属性值之后,可将该新原始数据通过数据流有状态计算引擎的流执行模式来执行处理。数据流有状态计算引擎(如BLINK和FLINK等)的流执行模式能够高效地分析和处理无界数据,并提供检查点处理和数据回滚等能力。因此,可使用数据流有状态计算引擎的流执行模式来对新原始数据执行检查点处理。在必要时,可执行数据回滚。
具体而言,如框806所示,通过知识图谱PIPELINE(流水线)逻辑处理对该新原始数据进行处理。
该处理例如可包括确定新原始数据中的新属性值是否为聚合属性值。在本说明书的示例中,将“时变属性”作为聚合属性。但在实际场景中,该聚合属性还可取决于各种因素。例如,可基于属性的重要程度来确定是否该属性为聚合属性。例如,如果一属性是时变属性但并非用户关心的属性,则可将该属性作为非聚合属性。对于不同的应用场景,聚合属性的具体选择可不同。
因此,虽然在本说明书实施例中使用的是“时变属性”,但应领会,该“时变属性”与“聚合属性”可以互换使用,且可根据具体情形定义不同的“聚合属性”。
如果该属性值不是聚合属性值,则如框808所示,直接采用构建链路来对该新原始数据进行处理。该构建链路例如可包括对该新原始数据(尤其是新属性值)进行处理以使其能够被纳入知识图谱。可采用本领域技术人员所知的任何适当方式来实现上述构建链路,在此不再赘述。
如果该属性值是聚合属性值,则如框810所示,在使用构建链路进行处理之前,可首先采用数据流有状态计算引擎的流执行模式对该新属性值执行状态处理。
例如,可使用数据流有状态计算引擎可执行来对执行自定义聚合算子,以便计算自定义的统计指标值。此处的统计指标例如可仅涉及当前时间周期的统计指标。替代地,此处的统计指标可涉及任意时间段的统计指标。
为计算期望的统计指标值,该数据流有状态计算引擎的流执行模式可从多版本数据库获取版本化的历史明细数据,将历史明细数据与实时或准实时地获取的新原始数据一起来计算期望的统计指标。
此外,在优选实施例中,该数据流有状态计算引擎的流执行模式还可执行shard一致性处理,以保证数据的一致性。
在计算出统计指标值之后,该数据流有状态计算引擎的流执行模式可将统计指标值输出。
如在框820处所示,在本说明书的优选实施例中,还可利用该数据流有状态计算引擎的流执行模式的执行检查点处理(checkpointing)。在必要时,还可执行数据回滚。利用数据流有状态计算引擎的流执行模式的检查点机制,本发明能够提升处理的可靠性。
经处理的时变属性值可在框808使用构建链路进行处理,如上文所述。
随后,经处理的数据可被执行后续处理,实现对新原始数据的磁盘存储。例如,可在框814用ODPS(开放数据处理服务)进行进一步分析,在框812用知识图谱写入模块将数据写入知识图谱,以便提供给其他服务,如框816(例如Geabase数据库)和框818(例如搜索服务,如Ha3等)所示。
此外,该数据流有状态计算引擎的流执行模式还将经处理的新属性值返回给多版本数据库,以便对该新属性值执行版本化存储并用于后续计算。
参见图9,其示出根据本说明书实施例的用于在知识图谱中进行数据处理的另一示例方法900的示意流程图。
图9中所示的方法900的操作902、904、906、908、910、912的操作可参考对图6的方法600的操作602、604、606、608、610、612的描述。
与图6相比,在图9中,方法900还可包括:在操作914实时或准实时地获取原始数据,如上文参考框802所述。
方法900还可包括:在操作916使用数据流有状态计算引擎的流执行模式对该新原始数据执行处理并将该新属性值存储在该多版本数据库中。
当然,在操作906中,与在操作606中仅使用历史明细数据不同,还可至少部分地基于该新属性值,计算经更新的指定统计指标值作为经更新的统计属性。例如,在如图8中从框804到框504的箭头所示,使用数据流有状态计算引擎的流执行模式将新属性值返回给多版本数据库后,该多版本数据可至少部分地基于该新属性值(根据具体情形,通常还基于属性值的历史明细数据)来计算经更新的统计属性。当然,根据具体情形,可执行或不执行操作606中的操作。
随后,可在操作908将该经更新的统计属性更新到该知识图谱。
此外,还可通常批执行模式来执行其它处理,如上文针对图6所述,在此不再赘述。
参见图10,其示出根据本说明书实施例的用于在知识图谱中进行数据处理的另一示例过程1000的示意流程图。
图10中所示的方法1000的操作1002、1004、1006、1008、1010、1012、1014、1016、1018、1020、1022的操作可参考对图7的方法700的操作702、704、706、707、710、712、714、716、717、720、722的描述。
与图7相比,在图10中,方法1000还可包括:在操作1024实时或准实时地获取新原始数据并对该新原始数据执行处理,如上文参考框914和916所述。
相应地,统计指标值的计算不仅基于历史原始数据(历史明细数据),还基于新原始数据。
参见图11,其示出根据本说明书一实施例的用于分析用户对功能或服务的行为的示例方法1100的示意流程图。方法1100对应于上面描述的方法在电子商务或其它用户行为分析领域的具体应用。
如图11所示,方法1100可包括:在操作1102,可接收用户对功能或服务的行为的历史数据。历史数据例如可包括涉及用户、功能、服务或行为的属性值。如在上文所示的示例中,历史数据可包括用户(例如“User张三”等)对功能或服务(例如“充值中心”、“滴滴出行”、“橙饭堂”等)的行为(例如“点击”、“消费”)等。一个或多个属性值为时变属性值,例如点击次数。优选地,一个或多个属性值为非时变属性值,例如消费币种。此步骤的具体细节可参考上文针对操作602的描述。
方法1100还可包括:在操作1104,可使用数据流有状态计算引擎的批执行模式将该时变属性值的历史明细数据存储在多版本数据库中,该多版本数据库具有在线多版本能力,其中该多版本数据库中该时变属性值的历史明细数据的版本与该历史明细数据的时间相关联。此操作的细节可参考上文针对操作604的描述。
方法1100还可包括:在操作1106,可使用该多版本数据库,基于该时变属性值的历史明细数据计算该时变属性值的指定统计指标值。此操作的细节可参考上文对操作606的描述。
方法1100还可包括:在操作1108,可生成或更新知识图谱,其中该用户和功能或服务与该知识图谱中的顶点相对应,该行为与该知识图谱中的边相对应,且该指定统计指标值作为相应顶点或边的属性值。此操作的一些细节可参考上文对操作608的描述。
优选地,方法1100还可包括(图11中未示出):可实时或准实时地获取新用户行为数据,该新用户行为数据包括新属性值,以及使用数据流有状态计算引擎的流执行模式将该新属性值存储在该多版本数据库中。
优选地,方法1100还可包括(图11中未示出):可至少部分地基于该新属性值,计算经更新的指定统计指标值作为经更新的统计属性,以及将该经更新的统计属性更新到该知识图谱。
可以领会,上文针对方法600、700、900、1000所描述的细节可被应用于方法1100,在此不再赘述。
参见图12,其示出根据本说明书实施例的用于在知识图谱中进行数据处理的示例***1200的框图。
如图12所示,***1200可包括数据获取模块1202。该数据获取模块1202可用于获取用于知识图谱的原始数据。如上所述,该原始数据包括涉及多个实体和/或该多个实体间的多个关系的属性值,其中一个或多个属性值为时变属性值,其中获取该原始数据包括获取该时变属性值的历史明细数据。
数据获取模块1202还可用于实时或准实时地获取新原始数据,该新原始数据包括新属性值。例如,可通过如SLS模块来执行实时或准实时的数据获取。
数据获取模块1202还可用于任何获取数据或对所获取的数据执行必要的预处理的操作。
***1200还可包括多版本数据库1204,该多版本数据库具有在线多版本能力。如上文所述,该多版本数据库可以是HBase数据库和/或Geabase数据库。
***1200还可包括数据流有状态计算引擎1206,其可用于利用批执行模式将该时变属性值的历史明细数据存储在该多版本数据库中,其中该多版本数据库中该时变属性值的历史明细数据的版本与该历史明细数据的时间相关联。如上文所述,该数据流有状态计算引擎可以是Blink引擎或Flink引擎,其可具有批执行模式以及流执行模式。
数据流有状态计算引擎1206还可用于利用流执行模式将该新属性值存储在该多版本数据库中。
***1200还可包括知识图谱更新模块1208,其可用于使用该多版本数据库,基于该时变属性值的历史明细数据计算该时变属性值的指定统计指标值;以及生成或更新知识图谱,其中该多个实体为该知识图谱中的顶点,该多个关系为该知识图谱中的边,且该指定统计指标值作为与该实体相对应的顶点的属性值或与该关系相对应的边的属性值。
知识图谱更新模块1208可进一步用于至少部分地基于该新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及将该经更新的统计属性更新到该知识图谱。
上文针对各方法所描述的操作都可由***1200的各个模块来执行。
此外,***1200或另一类似***可被用于执行上文参考图11所述的方法,在此不再赘述。
图13示出用于实现根据本说明书一个或多个实施例的***或方法的装置1300的示意框图。该装置可包括处理器1310以及存储器1015,该处理器被配置成执行如上所述的任何方法。该存储器可存储各种数据,例如原始数据、新数据、中间处理结果、知识图谱、统计指标等等。
该装置1300可包括网络连接元件1325,例如可包括通过有线连接或无线连接来连接到其它设备的网络连接设备。该无线连接例如可以为WiFi连接、蓝牙连接、3G/4G/5G网络连接等。例如,可通过该网络连接元件连接到网络以获取原始数据及其它各种数据。还可经由网络连接元件接收用户从其它设备所进行的输入或者将数据传送到其它设备以供显示。
该装置还可选地包括其它***元件1320,例如输入装置(如键盘、鼠标)、输出装置(如显示器)等。例如,在基于用户输入的方法中,用户可经由输入装置执行输入操作。还可经由输出装置向用户输出相应的信息。
这些模块中的每一者可彼此直接或间接通信,例如,经由一条或多条总线(例如总线1305)。
而且,本申请还公开了一种包括存储于其上的计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实施例的方法。
此外,本申请还公开了一种装置,该装置包括处理器以及存储有计算机可执行指令的存储器,所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实施例的方法。
此外,本申请还公开了一种***,该***包括用于实现本文所述的各实施例的方法的装置。
可以理解,根据本说明书的一个或多个实施例的方法可以用软件、固件或其组合来实现。
应该理解,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。
应该理解,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
应该理解,本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元件的数量限于一个。此外,本文中被描述或示出为分开的模块或元件可被组合为单个模块或元件,且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
还应理解,本文采用的术语和表述方式只是用于描述,本说明书的一个或多个实施例并不应局限于这些术语和表述。使用这些术语和表述并不意味着排除任何示意和描述(或其中部分)的等效特征,应认识到可能存在的各种修改也应包含在权利要求范围内。其他修改、变化和替换也可能存在。相应的,权利要求应视为覆盖所有这些等效物。
同样,需要指出的是,虽然已参考当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本说明书的一个或多个实施例,在没有脱离本发明精神的情况下还可做出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。
Claims (15)
1.一种在知识图谱中进行数据处理的方法,包括:
获取用于知识图谱的原始数据,所述原始数据包括涉及多个实体和/或所述多个实体间的多个关系的属性值,其中一个或多个属性值为时变属性值,其中获取所述原始数据包括获取所述时变属性值的历史明细数据;
使用数据流有状态计算引擎的批执行模式将所述时变属性值的历史明细数据存储在多版本数据库中,所述多版本数据库具有在线多版本能力,其中所述多版本数据库中所述时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;
使用所述多版本数据库,基于所述时变属性值的历史明细数据计算所述时变属性值的指定统计指标值;
生成或更新知识图谱,其中所述多个实体为所述知识图谱中的顶点,所述多个关系为所述知识图谱中的边,且所述指定统计指标值作为与所述实体相对应的顶点的属性值或与所述关系相对应的边的属性值;
实时或准实时地获取新原始数据,所述新原始数据包括新属性值;以及
使用数据流有状态计算引擎的流执行模式将所述新属性值存储在所述多版本数据库中。
2. 如权利要求1所述的方法,进一步包括:
至少部分地基于所述新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及
将所述经更新的统计属性更新到所述知识图谱。
3.如权利要求1所述的方法,其中一个或多个属性值为非时变属性值,且其中所述非时变属性值按照无版本或单版本的方式保存在所述多版本数据库中。
4.如权利要求3所述的方法,不计算所述非时变属性值的统计指标值,和/或不在所述知识图谱中更新所述非时变属性值的统计指标值。
5.如权利要求1所述的方法,其中所述数据流有状态计算引擎为Blink引擎或Flink引擎。
6.如权利要求1所述的方法,其中所述多版本数据库为Geabase数据库和/或HBase数据库。
7.如权利要求1所述的方法,其中所述指定统计指标值为在任意指定时间段上计算的指定类别的统计指标的值。
8. 如权利要求7所述的方法,进一步包括:
接收来自用户的输入;以及
所述指定统计指标值基于所述来自用户的输入。
9.如权利要求1所述的方法,进一步包括:
使用所述数据流有状态计算引擎的流执行模式来对所述新原始数据执行检查点处理。
10.一种分析用户对功能或服务的行为的方法,包括:
接收用户对功能或服务的行为的历史数据,其中所述历史数据包括涉及用户、功能、服务或行为的属性值,其中一个或多个属性值为时变属性值;
使用数据流有状态计算引擎的批执行模式将所述时变属性值的历史明细数据存储在多版本数据库中,所述多版本数据库具有在线多版本能力,其中所述多版本数据库中所述时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;
使用所述多版本数据库,基于所述时变属性值的历史明细数据计算所述时变属性值的指定统计指标值;
生成或更新知识图谱,其中所述用户和功能或服务与所述知识图谱中的顶点相对应,所述行为与所述知识图谱中的边相对应,且所述指定统计指标值作为相应顶点或边的属性值;实时或准实时地获取新用户行为数据,所述新用户行为数据包括新属性值;以及
使用数据流有状态计算引擎的流执行模式将所述新属性值存储在所述多版本数据库中。
11. 如权利要求10所述的方法,进一步包括:
至少部分地基于所述新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及
将所述经更新的统计属性更新到所述知识图谱。
12.一种在知识图谱中进行数据处理的***,包括:
数据获取模块,用于获取用于知识图谱的原始数据,所述原始数据包括涉及多个实体和/或所述多个实体间的多个关系的属性值,其中一个或多个属性值为时变属性值,其中获取所述原始数据包括获取所述时变属性值的历史明细数据;
多版本数据库,所述多版本数据库具有在线多版本能力;
数据流有状态计算引擎,用于利用批执行模式将所述时变属性值的历史明细数据存储在所述多版本数据库中,其中所述多版本数据库中所述时变属性值的历史明细数据的版本与该历史明细数据的时间相关联;以及
知识图谱更新模块,用于使用所述多版本数据库,基于所述时变属性值的历史明细数据计算所述时变属性值的指定统计指标值;以及生成或更新知识图谱,其中所述多个实体为所述知识图谱中的顶点,所述多个关系为所述知识图谱中的边,且所述指定统计指标值作为与所述实体相对应的顶点的属性值或与所述关系相对应的边的属性值,其中:
所述数据获取模块进一步用于实时或准实时地获取新原始数据,所述新原始数据包括新属性值;以及
所述数据流有状态计算引擎进一步用于利用流执行模式将所述新属性值存储在所述多版本数据库中。
13. 如权利要求12所述的***,所述知识图谱更新模块进一步用于:
至少部分地基于所述新属性值,计算经更新的指定统计指标值作为经更新的统计属性;以及
将所述经更新的统计属性更新到所述知识图谱。
14. 一种用于在知识图谱中进行数据处理的装置,包括:
存储器;以及
处理器,所述处理器被配置成执行如权利要求1-11中任一项所述的方法。
15.一种存储指令的计算机可读存储介质,所述指令当被计算机执行时,使所述计算机执行如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210308478.5A CN114416891B (zh) | 2022-03-28 | 2022-03-28 | 在知识图谱中进行数据处理的方法、***、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210308478.5A CN114416891B (zh) | 2022-03-28 | 2022-03-28 | 在知识图谱中进行数据处理的方法、***、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114416891A CN114416891A (zh) | 2022-04-29 |
CN114416891B true CN114416891B (zh) | 2022-07-15 |
Family
ID=81263679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210308478.5A Active CN114416891B (zh) | 2022-03-28 | 2022-03-28 | 在知识图谱中进行数据处理的方法、***、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416891B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114721833B (zh) * | 2022-05-17 | 2022-08-23 | 中诚华隆计算机技术有限公司 | 一种基于平台业务类型的智能云端协调方法和装置 |
CN117076484B (zh) * | 2023-09-04 | 2024-04-19 | 北京大学 | 基于时序知识图谱的人力资源数据分析方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109145121A (zh) * | 2018-07-16 | 2019-01-04 | 浙江大学 | 一种时变图数据的快速存储查询方法 |
CN109766445A (zh) * | 2018-12-13 | 2019-05-17 | 平安科技(深圳)有限公司 | 一种知识图谱构建方法及数据处理装置 |
CN109923568A (zh) * | 2016-11-08 | 2019-06-21 | 微软技术许可有限责任公司 | 用于数据分析的移动数据洞察平台 |
CN112328857A (zh) * | 2020-10-30 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 一种产品知识聚合方法、装置、计算机设备及存储介质 |
CN113094511A (zh) * | 2021-04-02 | 2021-07-09 | 国电南瑞科技股份有限公司 | 一种面向电网事故分析的监控信息知识图谱构建方法及*** |
CN113535966A (zh) * | 2020-04-13 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 知识图谱的创建方法、信息获取的方法、装置和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11250958B2 (en) * | 2016-10-21 | 2022-02-15 | International Business Machines Corporation | Systems and techniques for recommending personalized health care based on demographics |
CN110928471B (zh) * | 2018-09-19 | 2023-12-26 | 阿里健康信息技术有限公司 | 一种数据显示方法和设备终端 |
CN110795417A (zh) * | 2019-10-30 | 2020-02-14 | 北京明略软件***有限公司 | 一种知识图谱的存储***及方法 |
CN113347170B (zh) * | 2021-05-27 | 2023-04-18 | 北京计算机技术及应用研究所 | 一种基于大数据框架的智能分析平台设计方法 |
-
2022
- 2022-03-28 CN CN202210308478.5A patent/CN114416891B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109923568A (zh) * | 2016-11-08 | 2019-06-21 | 微软技术许可有限责任公司 | 用于数据分析的移动数据洞察平台 |
CN109145121A (zh) * | 2018-07-16 | 2019-01-04 | 浙江大学 | 一种时变图数据的快速存储查询方法 |
CN109766445A (zh) * | 2018-12-13 | 2019-05-17 | 平安科技(深圳)有限公司 | 一种知识图谱构建方法及数据处理装置 |
CN113535966A (zh) * | 2020-04-13 | 2021-10-22 | 阿里巴巴集团控股有限公司 | 知识图谱的创建方法、信息获取的方法、装置和设备 |
CN112328857A (zh) * | 2020-10-30 | 2021-02-05 | 中国平安人寿保险股份有限公司 | 一种产品知识聚合方法、装置、计算机设备及存储介质 |
CN113094511A (zh) * | 2021-04-02 | 2021-07-09 | 国电南瑞科技股份有限公司 | 一种面向电网事故分析的监控信息知识图谱构建方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN114416891A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7507602B2 (ja) | データ品質分析 | |
US10956422B2 (en) | Integrating event processing with map-reduce | |
CN114416891B (zh) | 在知识图谱中进行数据处理的方法、***、装置和介质 | |
CN105917315B (zh) | 一种用于生成数据记录的内容的方法和计算*** | |
CN111339073A (zh) | 实时数据处理方法、装置、电子设备及可读存储介质 | |
US20180189871A1 (en) | Systems and methods for cross-platform batch data processing | |
US20070260611A1 (en) | Method for providing the appearance of a single data repository for queries initiated in a system incorporating distributed member server groups | |
CN103714133A (zh) | 数据运维管理方法及装置 | |
US11573930B2 (en) | Self-healing data synchronization | |
CN112926858A (zh) | 电力营销业务运营指标设计方法及装置 | |
US10701213B2 (en) | Dynamically generating an aggregation routine | |
CN108573348B (zh) | 金融指标分布式计算方法及其*** | |
US11947613B2 (en) | System and method for efficiently querying data using temporal granularities | |
CN115408381A (zh) | 数据处理方法及相关设备 | |
CN114090608A (zh) | 数据报表的生成方法及装置 | |
CN112084262A (zh) | 数据信息筛选方法、装置、计算机设备及存储介质 | |
US20190370720A1 (en) | Systems and methods for providing tiered subscription data storage in a multi-tenant system | |
CN115984022A (zh) | 分布式支付***统一对账方法和装置 | |
US11347768B2 (en) | Parallel data synchronization of hierarchical data | |
CN112199930A (zh) | 一种根据报表配置自动生成报表的方法和*** | |
CN114036174B (zh) | 数据更新方法、装置、设备及存储介质 | |
CN114254918A (zh) | 指标数据的计算方法、装置、可读介质及电子设备 | |
US20220327634A1 (en) | Generating relevant attribute data for benchmark comparison | |
US20230021962A1 (en) | Subscription metric generation from storage-efficient subscription charge segment change logs | |
CN117893235A (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 |