【技术实现步骤摘要】
图数据库的数据查询方法、装置及电子设备
[0001]本专利技术涉及图数据库查询
,尤其涉及一种图数据库的数据查询方法
、
装置及电子设备
。
技术介绍
[0002]目前,随着社交
、
金融等领域的急速发展,数据分析业务发生了巨大的增幅,数据量剧增,数据关联也愈发复杂化,这些变化催生了数据库的变革和创新
。
图数据库由于提供了对关联数据最直接的表达,正处在飞速发展的阶段
。
[0003]由于图数据的查询通常是
IO
密集型,且访问的数据随机又分散,因此可以先从图数据库中提取图数据存入内存的缓存空间中,然后在缓存空间中查询数据,并返回查询结果,以加快查询的速度
。
要想让缓存空间发挥最大的作用,就需要在有限的缓存空间中存下尽量多的图数据
。
相关技术中,图数据库在将图数据载入到缓存空间时,通常会将图数据中点和边的属性信息的属性类型抽象为一个属性类型,并在其中封装该属性信息可能对应的所有实际属性类型(整数
、
浮点数
、
字符串等等)
。
以
64
位机器上的
Rust
编程语言为例,无论该属性信息的实际属性类型是什么,都需要占用缓存空间
24
字节的空间
。
即使只需要存一个
32
位整数(4字节),也需要占用
24
字节,其中有
20
字 ...
【技术保护点】
【技术特征摘要】
1.
一种图数据库的数据查询方法,其特征在于,包括:响应于查询请求,从图数据库中获取待查询的图数据;其中,所述图数据包括图元素,图元素的属性信息和图配置信息;对所述图元素的属性信息进行序列化,得到所述属性信息对应的序列化表示,并根据所述属性信息和所述序列化表示生成字节数组;将所述字节数组
、
所述图元素以及所述图配置信息存入预设的缓存空间中;根据所述图配置信息,对所述预设的缓存空间进行数据查询,并返回查询结果
。2.
根据权利要求1所述的方法,其特征在于,所述属性信息包括属性数据
、
属性名和属性类型;所述属性类型包括整数
、
浮点数或字符串;所述对所述图元素的属性信息进行序列化,得到所述属性信息对应的序列化表示,并根据所述属性信息和所述序列化表示生成字节数组,包括:针对每一属性信息,获取与所述属性信息中属性类型所关联的序列化函数,并采用所述序列化函数对所述属性信息中的属性数据进行序列化,得到所述属性信息对应的序列化表示;将属性类型为整数或者浮点数的属性信息作为第一属性信息,并获取对各所述第一属性信息中各属性名的排序结果,作为第一顺序;将属性类型为字符串的属性信息作为第二属性信息,并获取对各所述第二属性信息中各属性名的排序结果,作为第二顺序;根据各所述属性信息对应的序列化表示和所述第二顺序,确定所述第二属性信息对应的序列化表示的数组位置信息;采用第一顺序对各所述第一属性信息对应的序列化表示进行排序得到第一序列化结果,并采用所述数组位置信息对各所述第二属性信息对应的序列化表示进行排序得到第二序列化结果,并根据所述数组位置信息
、
所述第一序列化结果和所述第二序列化结果确定所述字节数组
。3.
根据权利要求2所述的方法,其特征在于,还包括:获取所述第一属性信息对应的序列化表示在所述字节数组中的第一位置信息,并将所述第一位置信息存入所述图配置信息中,以更新所述图配置信息;获取所述数组位置信息在所述字节数组中的第二位置信息,并将所述第二位置信息存入所述图配置信息中,以更新所述图配置信息
。4.
根据权利要求3所述的方法,其特征在于,所述根据所述图配置信息,对所述预设的缓存空间进行数据查询,包括:获取所述预设的缓存空间中的所述字节数组,并利用所述图配置信息,从所述字节数组中解析出图元素的属性数据;从所述图配置信息中获取所述图元素的属性名和属性类型,并根据所述图元素的属性数据
、
属性名和属性类型,确定所述图元素的属性信息;获取所述预设的缓存空间中的图元素,并将所述图元素和所述图元素的属性信息确定为所述查询结果
。5.
根据权利要求4所述的方法,其特征在于,所述利用所述图配置信息,从所述字节数组中解析出图元素的属性数据,包括:
从所述图配置信息中获取所述第一位置信息,并根据所述第一位置信息从所述字节数组中读取与所述第一属性信息对应的序列化表示;获取与所述第一属性信息中属性类型所关联的反序列化函数,并采用所述反序列化函数对所述第一...
【专利技术属性】
技术研发人员:杨娟,徐毅,杨珂,沈游人,
申请(专利权)人:北京海致星图科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。