一种数据存储与查询方法、装置、设备及介质制造方法及图纸

技术编号:34729473 阅读:21 留言:0更新日期:2022-08-31 18:17
本申请公开了一种数据存储与查询方法、装置、设备及介质,涉及工程建模领域,该方法包括:确定目标点的坐标数据,并利用预设哈希函数确定与坐标数据对应的哈希值;基于预设区域范围值与目标点的坐标数据确定目标点所对应的目标区域,并建立与所述目标区域对应的数据结构;按照以哈希值作为键,并将坐标数据作为值的方式构建键值对,并将键值对存储至与目标区域对应的数据结构中;当接收到目标查询点的查询请求,则确定目标查询点的坐标数据,并确定与坐标数据对应的哈希值,然后基于哈希值确定目标查询区域,从目标查询区域对应的数据结构中查询目标查询点,并返回查询结果。本发明专利技术降低能够三维布尔查找算法的时间复杂度,提高运算效率。运算效率。运算效率。

【技术实现步骤摘要】
一种数据存储与查询方法、装置、设备及介质


[0001]本专利技术涉及工程建模领域,特别涉及一种数据存储与查询方法、装置、设备及介质。

技术介绍

[0002]三维实体的布尔运算(后文简称布尔运算)是计算机辅助设计(CAD)领域的重要的操作运算。主要通过实体间的交运算、并运算、差运算等集合运算构造新的几何体。三维实体的布尔运算不但广泛应用于游戏渲染、影视建模领域,渲染精致逼真的三维模型,为游戏参与者提供良好的参与体验。而且可以应用建筑工程领域,通过搭建三维模型,使用交、并、差等布尔运算计算获得三维模型的材料工程量,再通过材料单价计算获得工程预算,为建筑行业预决算、招投标提供数据支持。然而,与建筑行业相关的CAD模型表达中,点的数据结构记做Point要由三个双精度的浮点型double数据表达空间位置,双精度浮点型数据是一个近似的包含十位以上小数点的数据,无法直接用比较进行排序,且点的位置的数据结构Point是用三个double数据表达的,这些都限制Point使用排序方法提升查找的效率。
[0003]但是,三维布尔运算的本质是一些三维的空间的点线面的位置关系的判定与操作,空间体、空间面的相互打断之后,搜索建立新面,分析新面建立体的过程。在这些操作中存在大量的查找相关的应用场景:例如新点的添加,添加前会查询是否存在此点,这种操作95%以上是O(n)的时间复杂度;例如面打断之后的面查找分析,需要分析各个边线的链接轴,对于所有的边至少要进行n次查找,外层又有n条边,时间复杂度是O(n2)的级别。
[0004]在使用这种全局查找算法时,当n较小时,时间复杂度O(n)的查找算法并不影响整体计算的效率。然而,随着布尔运算的进行,实体构件间的相互扣减之后,构件实体的点线面相应增加,即全局查找的n规模会随着布尔运算的进行而增加。当n较大时候,很大程度上会限制查找算法的速度。
[0005]由上可见,在三维布尔运算中对于点数据的查找过程中,如何避免出现由于现有的全局查找方法导致三维布尔运算查找点的时间复杂度较高,进而导致三维布尔运算的运算效率较低的情况是本领域有待解决的问题。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种数据存储与查询方法、装置、设备及介质,能够将三维布尔运算中的全局查找算法变为局部查找算法,降低三维布尔查找算法的时间复杂度,从而提高三维布尔运算的效率。其具体方案如下:
[0007]第一方面,本申请公开了一种数据存储与查询方法,包括:
[0008]确定目标点的坐标数据,并利用预设哈希函数确定与所述坐标数据对应的哈希值;
[0009]基于预设区域范围值与所述目标点的坐标数据确定所述目标点所对应的目标区域,并建立与所述目标区域对应的数据结构;所述哈希值与所述目标区域具有唯一对应关
系;
[0010]按照以所述哈希值作为键,并将所述坐标数据作为值的方式构建键值对,并将所述键值对存储至与所述目标区域对应的所述数据结构中;
[0011]当接收到目标查询点的查询请求,则确定所述目标查询点的坐标数据,并利用所述预设哈希函数确定与所述目标查询点的坐标数据对应的哈希值,然后基于所述目标查询点的哈希值确定目标查询区域,从所述目标查询区域对应的数据结构中查询目标查询点,并返回查询结果。
[0012]可选的,所述确定目标点的坐标数据,并利用预设哈希函数确定与所述坐标数据对应的哈希值,包括:
[0013]确定目标点的坐标数据,并确定预设区域范围值;
[0014]基于所述坐标数据与所述预设区域范围值,并利用预设索引值计算方法确定与所述目标点对应的索引值;
[0015]利用预设哈希函数确定与所述索引值对应的且以预设数据类型生成的哈希值。
[0016]可选的,所述利用预设哈希函数确定与所述索引值对应的且以预设数据类型生成的哈希值之前,还包括:
[0017]确定哈希值的预设数据类型;
[0018]相应的,所述将所述键值对存储至与所述目标区域对应的预设数据结构中,包括:
[0019]基于所述预设数据类型确定预设排序方法;
[0020]按照预设排序方法将所述键值对存储至与所述目标区域对应的预设数据结构中。
[0021]可选的,所述基于预设区域范围值与所述目标点的坐标数据确定所述目标点所对应的目标区域,包括:
[0022]确定所述目标点的类型;所述目标点的类型包括一维类型、二维类型以及三维类型;
[0023]基于所述目标点的类型、所述目标点的坐标数据与所述预设区域范围值确定所述目标点所对应的目标区域。
[0024]可选的,所述建立与所述目标区域对应的数据结构,包括:
[0025]建立与所述目标区域对应的map结构;
[0026]相应的,所述将所述键值对存储至与所述目标区域对应的预设数据结构中,包括:
[0027]将所述键值对存储至与所述目标区域对应的map结构中。
[0028]可选的,所述数据存储与查询方法,还包括:
[0029]通过预设区域范围值获取接口获取区域范围值更新值,并将当前区域范围值更新为所述区域范围值更新值。
[0030]可选的,所述数据存储与查询方法,还包括:
[0031]获取目标点的坐标数据误差值;
[0032]基于所述目标点的坐标数据误差值确定所述目标点的区域范围,并将落入所述区域范围内的点均确定为所述目标点。
[0033]第二方面,本申请公开了一种数据存储与查询装置,包括:
[0034]哈希值确定模块,用于确定目标点的坐标数据,并利用预设哈希函数确定与所述坐标数据对应的哈希值;
[0035]数据结构建立模块,用于基于预设区域范围值与所述目标点的坐标数据确定所述目标点所对应的目标区域,并建立与所述目标区域对应的数据结构;所述哈希值与所述目标区域具有唯一对应关系;
[0036]键值对存储模块,用于按照以所述哈希值作为键,并将所述坐标数据作为值的方式构建键值对,并将所述键值对存储至与所述目标区域对应的所述数据结构中;
[0037]目标查询点查询模块,用于当接收到目标查询点的查询请求,则确定所述目标查询点的坐标数据,并利用所述预设哈希函数确定与所述目标查询点的坐标数据对应的哈希值,然后基于所述目标查询点的哈希值确定目标查询区域,从所述目标查询区域对应的数据结构中查询目标查询点,并返回查询结果。
[0038]第三方面,本申请公开了一种电子设备,包括:
[0039]存储器,用于保存计算机程序;
[0040]处理器,用于执行所述计算机程序,以实现前述的数据存储与查询方法。
[0041]第四方面,本申请公开了一种计算机存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据存储与查询方法的步骤。
[0042]本申请先确定目标点的坐标数据,并利用预设哈希函数确定与所述坐标数据对应的哈希值;基于预设区域范围值与所述目标点的坐标数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储与查询方法,其特征在于,包括:确定目标点的坐标数据,并利用预设哈希函数确定与所述坐标数据对应的哈希值;基于预设区域范围值与所述目标点的坐标数据确定所述目标点所对应的目标区域,并建立与所述目标区域对应的数据结构;所述哈希值与所述目标区域具有唯一对应关系;按照以所述哈希值作为键,并将所述坐标数据作为值的方式构建键值对,并将所述键值对存储至与所述目标区域对应的所述数据结构中;当接收到目标查询点的查询请求,则确定所述目标查询点的坐标数据,并利用所述预设哈希函数确定与所述目标查询点的坐标数据对应的哈希值,然后基于所述目标查询点的哈希值确定目标查询区域,从所述目标查询区域对应的数据结构中查询目标查询点,并返回查询结果。2.根据权利要求1所述的数据存储与查询方法,其特征在于,所述确定目标点的坐标数据,并利用预设哈希函数确定与所述坐标数据对应的哈希值,包括:确定目标点的坐标数据,并确定预设区域范围值;基于所述坐标数据与所述预设区域范围值,并利用预设索引值计算方法确定与所述目标点对应的索引值;利用预设哈希函数确定与所述索引值对应的且以预设数据类型生成的哈希值。3.根据权利要求2所述的数据存储与查询方法,其特征在于,所述利用预设哈希函数确定与所述索引值对应的且以预设数据类型生成的哈希值之前,还包括:确定哈希值的预设数据类型;相应的,所述将所述键值对存储至与所述目标区域对应的预设数据结构中,包括:基于所述预设数据类型确定预设排序方法;按照预设排序方法将所述键值对存储至与所述目标区域对应的预设数据结构中。4.根据权利要求1所述的数据存储与查询方法,其特征在于,所述基于预设区域范围值与所述目标点的坐标数据确定所述目标点所对应的目标区域,包括:确定所述目标点的类型;所述目标点的类型包括一维类型、二维类型以及三维类型;基于所述目标点的类型、所述目标点的坐标数据与所述预设区域范围值确定所述目标点所对应的目标区域。5.根据权利要求1所...

【专利技术属性】
技术研发人员:何楠莫绪军姚靖灿庄峰毅戴闻刚李继刚王晶
申请(专利权)人:杭州品茗安控信息技术股份有限公司
类型:发明
国别省市:

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

1