图状态数据管理方法及装置制造方法及图纸

技术编号:31498843 阅读:19 留言:0更新日期:2021-12-18 12:45
本说明书的实施例提供图状态数据管理方法及装置。在从图计算引擎获取批量图状态数据后,将批量图状态数据中的各个图状态数据编码为kv数据。基于kv数据的key对kv数据进行排序以形成kv列表数据,在kv列表数据中,每个key对应一个或多个value。接着,将kv列表数据的value按序写入文件存储系统中的数据文件,同时记录各个key在数据文件中的对应逻辑地址,所记录的逻辑地址包括所写入数据文件的文件ID以及对应的value在所写入数据文件中的第一文件偏移地址。然后,在图状态管理设备的内存中维护批量图状态数据的内存索引,所维护的内存索引用于反映key与对应的逻辑地址之间的索引关系。引关系。引关系。

【技术实现步骤摘要】
图状态数据管理方法及装置


[0001]本说明书实施例通常涉及图计算领域,尤其涉及图状态数据管理方法及图状态数据管理装置。

技术介绍

[0002]图计算是指面向图数据结构的复杂计算。在进行图计算时,图计算引擎将现实中的业务数据抽象为图数据结构并进行复杂计算。图数据结构是由顶点和边构成的复杂数据结构,该数据结构包括多种数据属性。
[0003]图计算引擎所执行的图计算是迭代计算。在每轮迭代计算时,图计算引擎会产生中间结果,所产生的中间结果可以称为图状态数据。在一些实时图计算应用场景下,所构建的实时图计算引擎具备流式计算和图计算融合的图计算能力。为了确保流式计算中的数据容错,需要将图状态数据存储在例如图计算引擎的内存、缓存或本地磁盘中,并对所存储的图状态数据进行管理。

技术实现思路

[0004]鉴于上述,本说明书实施例提供图状态数据管理方法及装置。利用该图状态数据管理方法及装置,可以把图状态管理从图计算中解耦,实现计算存储分离,并且可以实现更大规模的图状态数据管理。
[0005]根据本说明书实施例的一个方面,提供一种应用于图状态管理设备的图状态数据管理方法,包括:批量获取图计算引擎在图计算时得到的图状态数据,所述图状态数据包括顶点数据和/或边数据;将所述图状态数据中的各个图状态数据编码为kv数据,其中,顶点数据中的顶点ID和/或边数据中的起点ID被编码为key,以及顶点数据中的非顶点ID数据和/或边数据中的非起点ID数据被编码为value;基于kv数据的key对所述列表进行排序以形成kv列表数据,在所述kv列表数据中,每个key对应一个或多个value;将所述kv列表数据的value按序写入文件存储系统中的数据文件并记录各个key在数据文件中的对应逻辑地址,所述逻辑地址包括与key对应的value所写入数据文件的文件ID以及所述对应的value在所写入数据文件中的第一文件偏移地址;以及在所述图状态管理设备的内存中维护所述图状态数据的内存索引,所述内存索引用于反映key与对应的逻辑地址之间的索引关系。
[0006]可选地,在上述方面的一个示例中,所述图状态管理设备的内存中维护可变数据表和不可变数据表。在基于kv数据的key对所述kv数据进行排序之前,所述图状态数据管理方法还可以包括:将所述kv列表数据写入可变数据表;以及判断写入kv数据的可变数据表的数据大小是否达到阈值。相应地,基于kv数据的key对所述kv数据进行排序可以包括:响应于写入kv数据的可变数据表的数据大小达到阈值,基于kv数据的key来对写入该可变数据表中的kv数据进行排序以形成kv列表数据。将所述kv列表数据的value按序写入文件存储系统中的数据文件可以包括:将排序后的可变数据表转换为不可变数据表;以及将不可变数据表的value按序写入文件存储系统中的数据文件,每个不可变数据表对应一个数据
文件。
[0007]可选地,在上述方面的一个示例中,将所述kv列表数据的value按序写入文件存储系统中的数据文件可以包括:将所述kv列表数据的value构建为多个具有第一数据大小的有序数据块;对所构建的有序数据块进行数据压缩;以及将经过数据压缩后的有序数据块按序写入文件存储系统中的数据文件,所述数据文件包括各个经过数据压缩后的有序数据块以及元数据块,所述元数据块中的元数据记录key所对应的第一文件偏移地址与压缩后的有序数据块在数据文件中的第二文件偏移地址之间的映射关系。
[0008]可选地,在上述方面的一个示例中,所述图状态数据管理方法还可以包括:响应于从图计算引擎接收到图状态数据读取请求,将图状态数据读取请求中的数据ID编码为目标key,所述数据ID包括顶点ID和/或边的起点ID;基于所述目标key在所述内存索引中查询对应的逻辑地址;根据所述逻辑地址获取与所述目标key对应的value;对所获取的value进行解码以得到目标图状态数据;以及将所得到的目标图状态数据提供给图计算引擎。
[0009]可选地,在上述方面的一个示例中,根据所述逻辑地址获取与所述目标key对应的value可以包括:响应于查询到对应的逻辑地址,向所述文件存储系统发起数据获取请求,所述数据获取请求包括所述对应的逻辑地址;以及从所述文件存储系统接收响应于所述图状态数据获取请求而返回的value,所返回的value由所述文件存储系统根据所述对应的逻辑地址在所述文件存储系统的数据文件中获取。
[0010]可选地,在上述方面的一个示例中,所述图状态管理设备的内存中维护数据LRU缓存,所述数据LRU缓存用于与key的对应逻辑地址相关联地缓存先前获取的value。在向所述文件存储系统发起数据获取请求之前,根据所述逻辑地址获取与所述目标key对应的value还可以包括:根据所述逻辑地址判断所述数据LRU缓存中是否缓存有与所述目标key对应的value;以及在所述数据LRU缓存中缓存有与所述目标key对应的value时,从所述数据LRU缓存中获取对应的value。
[0011]可选地,在上述方面的一个示例中,所述图状态数据的value被构建为多个具有第一数据大小的有序数据块并经过数据压缩后写入到所述文件存储系统的数据文件中,所述数据文件包括各个经过数据压缩后的有序数据块以及元数据块,所述元数据块中的元数据记录key所对应的第一文件偏移地址与压缩后的有序数据块在数据文件中的第二文件偏移地址之间的映射关系。相应地,根据所述逻辑地址获取与所述目标key对应的value可以包括:响应于查询到对应的逻辑地址,向所述文件存储系统发起数据块获取请求,所述数据块获取请求包括所述对应的逻辑地址;从所述文件存储系统接收响应于所述数据块获取请求而返回的压缩数据块,所述压缩数据块由所述文件存储系统根据所述第一文件偏移地址在所述文件存储系统的数据文件中获取;对所得到的压缩数据块进行解压缩;基于所述逻辑地址中的第一文件偏移地址以及所述第一数据大小,确定与所述目标key对应的value在所述解压后的数据块中的第三偏移地址;以及根据所述第三偏移地址,从所述解压后的数据块中获取与所述目标key对应的value。
[0012]可选地,在上述方面的一个示例中,所述图状态管理设备的内存中维护数据块LRU缓存,所述数据块LRU缓存用于与key的对应逻辑地址相关联地缓存先前获取的数据块。在向所述文件存储系统发起数据块获取请求之前,根据所述逻辑地址获取与所述目标key对应的value还可以包括:根据所述逻辑地址,判断所述数据块LRU缓存中是否缓存有与所述
目标key对应的压缩数据块;以及在所述数据块LRU缓存中缓存有与所述目标key对应的压缩数据块时,从所述数据块LRU缓存中获取对应的压缩数据块。
[0013]可选地,在上述方面的一个示例中,将所得到的图状态数据提供给图计算引擎之前,所述图状态数据管理方法还可以包括:使用给定数据过滤策略,对所得到的图状态数据进行数据过滤。
[0014]可选地,在上述方面的一个示例中,在将所述kv列表数据的value按序写入文件存储系统中的数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于图状态管理设备的图状态数据管理方法,包括:批量获取图计算引擎在图计算时得到的图状态数据,所述图状态数据包括顶点数据和/或边数据;将所述图状态数据中的各个图状态数据编码为kv数据,其中,顶点数据中的顶点ID和/或边数据中的起点ID被编码为key,以及顶点数据中的非顶点ID数据和/或边数据中的非起点ID数据被编码为value;基于kv数据的key对所述kv数据进行排序,以形成kv列表数据,在所述kv列表数据中,每个key对应一个或多个value;将所述kv列表数据的value按序写入文件存储系统中的数据文件并记录各个key在数据文件中的对应逻辑地址,所述逻辑地址包括与key对应的value所写入数据文件的文件ID以及所述对应的value在所写入数据文件中的第一文件偏移地址;以及在所述图状态管理设备的内存中维护所述图状态数据的内存索引,所述内存索引用于反映key与对应的逻辑地址之间的索引关系。2.如权利要求1所述的图状态数据管理方法,其中,所述图状态管理设备的内存中维护可变数据表和不可变数据表,在基于kv数据的key对所述kv数据进行排序之前,所述图状态数据管理方法还包括:将所述kv数据写入可变数据表;以及判断写入kv数据的可变数据表的数据大小是否达到阈值,基于kv数据的key对所述kv数据进行排序包括:响应于写入kv数据的可变数据表的数据大小达到阈值,基于kv数据的key来对写入该可变数据表中的kv数据进行排序,将所述kv列表数据的value按序写入文件存储系统中的数据文件包括:将排序后的可变数据表转换为不可变数据表;以及将不可变数据表的value按序写入文件存储系统中的数据文件,每个不可变数据表对应一个数据文件。3.如权利要求1所述的图状态数据管理方法,其中,将所述kv列表数据的value按序写入文件存储系统中的数据文件包括:将所述kv列表数据的value构建为多个具有第一数据大小的有序数据块;对所构建的有序数据块进行数据压缩;以及将经过数据压缩后的有序数据块按序写入文件存储系统中的数据文件,所述数据文件包括各个经过数据压缩后的有序数据块以及元数据块,所述元数据块中的元数据记录key所对应的第一文件偏移地址与压缩后的有序数据块在数据文件中的第二文件偏移地址之间的映射关系。4.如权利要求1所述的图状态数据管理方法,还包括:响应于从图计算引擎接收到图状态数据读取请求,将图状态数据读取请求中的数据ID编码为目标key,所述数据ID包括顶点ID和/或边的起点ID;基于所述目标key在所述内存索引中查询对应的逻辑地址;根据所述逻辑地址获取与所述目标key对应的value;对所获取的value进行解码,以得到目标图状态数据;以及
将所得到的目标图状态数据提供给图计算引擎。5.如权利要求4所述的图状态数据管理方法,其中,根据所述逻辑地址获取与所述目标key对应的value包括:响应于查询到对应的逻辑地址,向所述文件存储系统发起数据获取请求,所述数据获取请求包括所述对应的逻辑地址;以及从所述文件存储系统接收响应于所述数据获取请求而返回的value,所述返回的value由所述文件存储系统根据所述对应的逻辑地址在所述文件存储系统的数据文件中获取。6.如权利要求5所述的图状态数据管理方法,其中,所述图状态管理设备的内存中维护数据LRU缓存,所述数据LRU缓存用于与key的对应逻辑地址相关联地缓存先前获取的value,在向所述文件存储系统发起数据获取请求之前,根据所述逻辑地址获取与所述目标key对应的value还包括:根据所述逻辑地址,判断所述数据LRU缓存中是否缓存有与所述目标key对应的value;以及在所述数据LRU缓存中缓存有与所述目标key对应的value时,从所述数据LRU缓存中获取对应的value。7.如权利要求4所述的图状态数据管理方法,其中,所述图状态数据的value被构建为多个具有第一数据大小的有序数据块并经过数据压缩后写入到所述文件存储系统的数据文件中,所述数据文件包括各个经过数据压缩后的有序数据块以及元数据块,所述元数据块中的元数据记录key所对应的第一文件偏移地址与压缩后的有序数据块在数据文件中的第二文件偏移地址之间的映射关系,根据所述逻辑地址获取与所述目标key对应的value包括:响应于查询到对应的逻辑地址,向所述文件存储系统发起数据块获取请求,所述数据块获取请求包括所述对应的逻辑地址;从所述文件存储系统接收响应于所述数据块获取请求而返回的压缩数据块,所述压缩数据块由所述文件存储系统根据所述第一文件偏移地址在所述文件存储系统的数据文件中获取;对所得到的压缩数据块进行解压缩;基于所述逻辑地址中的第一文件偏移地址以及所述第一数据大小,确定与所述目标key对应的value在解压后的数据块中的第三偏移地址;以及根据所述第三偏移地址,从所述解压后的数据块中获取与所述目标key对应的value。8.如权利要求7所述的图状态数据管理方法,其中,所述图状态管理设备的内存中维护数据块LRU缓存,所述数据块LRU缓存用于与key的对应逻辑地址相关联地缓存先前获取的数据块,在向所述文件存储系统发起数据块获取请求之前,根据所述逻辑地址获取与所述目标key对应的value还包括:根据所述逻辑地址,判断所述数据块LRU缓存中是否缓存有与所述目标key对应的压缩数据块;以及在所述数据块LRU缓存中缓存有与所述目标key对应的压缩数据块时,从所述数据块
LRU缓存中获取对应的压缩数据块。9.如权利要求4所述的图状态数据管理方法,其中,将所得到的图状态数据提供给图计算引擎之前,所述图状态数据管理方法还包括:使用给定数据过滤策略,对所得到的图状态数据进行数据过滤。10.如权利要求1所述的图状态数据管理方法,其中,在将所述kv列表数据的value按序写入文件存储系统中的数据文件并记录各个key在数据文件中的对应逻辑地址后,所述图状态数据管理方法还包括:判断是否需要进行内存索引更新;以及响应于判断为需要进行内存索引更新,使用所记录的各个key的逻辑地址对内存索引中的对应逻辑地址进行增量逻辑地址更新。11.如权利要求1所述的图状态数据管理方法,还包括:响应于满足数据聚合条件,使用给定数据聚合策略对所述文件存储系统的数据文件中存储的value进行数据聚合。12.一种应用于图状态管理设备的图状态数据管理装置,包括:图状态数据获取单元,批量获取图计算引擎在图计算时得到的图状态数据,所述图状态数据包括顶点数据和/或边数据;第一数据编码单元,将所述图状态数据中的各个图状态数据编码为kv数据,其中,顶点数据中的顶点ID和/或边数据中的起点ID被编码为key,以及顶点数据中的非顶点ID数据和/或边数据中的非起点ID数据被编码为value;数据排序单元,基...

【专利技术属性】
技术研发人员:唐浩栋潘臻轩
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1