本发明涉及计算机 ,尤其涉及一种实体拓扑图保存方法、装置、设备及存储介质。
背景技术:
1、b-rep(boundary representation)是一种用于描述实体几何形状的计算机辅助设计(cad)和计算机图形学中常用的表示方法。在b-rep中,实体的几何形状由其边界和拓扑信息来描述。这种表示方法包含了实体的几何信息和拓扑结构,使得对实体进行建模、分析和操作更为方便和精确。
2、现有技术,将b-rep实体保存为文件的常规方案是将b-rep实体的拓扑图转换为特定的文件格式,这些格式能够支持b-rep数据的存储和交换。
3、然而随着制造业,尤其是高端制造业例如飞机船舶行业的发展,cad软件所处理的模型规模越来越大,这对于三维几何建模引擎处理大规模数据的效率提出了更高的要求。并且由于实体保存算法在几何建模中的特殊性,用户无法在实体保存的同时进行建模操作,因此用户对于实体保存算法的运行时间十分敏感。
4、因此,本领域亟需一种的运行效率高,保存成文件所需的运行时间短的实体保存方法。
技术实现思路
1、本发明提供一种实体拓扑图保存方法、装置、设备及存储介质,提高了对实体拓扑图进行序列化的效率,加快了实体拓扑图的文件保存速度。
2、本发明提供一种实体拓扑图保存方法,包括如下步骤:在获取实体拓扑图对应的节点顺序的情况下,并行获取所述实体拓扑图中各节点的序列化数据,所述节点顺序用于指示各节点被访问的先后次序,所述各节点的序列化数据是将所述拓扑图中各节点的信息进行格式转换得到的;根据所述节点顺序保存所述各节点的序列化数据,得到所述实体拓扑图对应的保存文件。
3、根据本发明提供的一种实体拓扑图保存方法,所述获取实体拓扑图对应的节点顺序,包括:将所述实体拓扑图的起始节点写入节点队列;当所述节点队列不为空时,执行以下循环:从所述节点队列头部取出目标节点,访问所述目标节点并将所述目标节点对应的所有未访问过的邻居节点加入所述节点队列的尾部,标记所述目标节点为已访问,重复所述循环,直到所述节点队列为空;采用顺序数据结构保存各节点的加入顺序,得到所述节点顺序,所述各节点的加入顺序用于指示所述各节点加入所述节点队列的顺序。
4、根据本发明提供的一种实体拓扑图保存方法,在所述访问所述目标节点并将所述目标节点对应的所有未访问过的邻居节点加入所述节点队列的尾部之前,所述方法还包括:确定所述目标节点是否与元组保存的任一个节点相同;所述访问所述目标节点并将所述目标节点对应的所有未访问过的邻居节点加入所述节点队列的尾部,包括:在所述目标节点与所述元组保存的任一个节点不相同的情况下,访问所述目标节点并将所述目标节点对应的所有未访问过的邻居节点加入所述节点队列的尾部。
5、根据本发明提供的一种实体拓扑图保存方法,所述获取所述实体拓扑图中各节点的序列化数据,包括: 根据目标调用策略调用线程池中的线程,确定目标线程,所述目标调用策略包括争抢策略、线程绑定策略和时间统计预测策略中的至少一种;使用所述目标线程对所述实体拓扑图中的各节点进行序列化,得到所述各节点的序列化数据。
6、根据本发明提供的一种实体拓扑图保存方法,所述根据所述节点顺序保存所述各节点的序列化数据,得到所述实体拓扑图对应的保存文件,包括:将所述实体拓扑图的基础信息写入模型文件的文件头;依据所述节点顺序将所述各节点的序列化数据写入所述模型文件;写入所述模型文件的文件尾后,关闭所述模型文件,得到所述实体拓扑图对应的保存文件。
7、根据本发明提供的一种实体拓扑图保存方法,所述方法还包括:依据所述各节点对应的被引用次数,将所述各节点的序列化数据存储在分级缓存区中,其中,所述节点对应的引用次数越多,其所存储的缓存分区的访问速度越快,所述缓存分区是所述分级缓存区中的存储区域。
8、根据本发明提供的一种实体拓扑图保存方法,所述方法还包括:在所述分级缓存区中,依据所述各节点的序列化数据对应的时间差与预设时间差阈值之间的大小关系,确定是否删除所述各节点的序列化数据,所述各节点对应的时间差是根据所述各节点的序列化数据对应的最近访问时间与当前时间计算的;或者,在所有节点的序列化数据对应的总访问次数达到预设第一次数阈值的情况下,根据所述各节点的序列化数据对应的访问次数与预设第二次数阈值之间的大小关系,确定是否删除所述各节点的序列化数据。
9、本发明还提供一种实体拓扑图保存装置,包括如下模块:序列化模块,用于在获取实体拓扑图对应的节点顺序的情况下,并行获取所述实体拓扑图中各节点的序列化数据,所述节点顺序用于指示各节点被访问的先后次序,所述各节点的序列化数据是将所述拓扑图中各节点的信息进行格式转换得到的;存储模块,用于根据所述节点顺序保存所述各节点的序列化数据,得到所述实体拓扑图对应的保存文件。
10、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述实体拓扑图保存方法。
11、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述实体拓扑图保存方法。
12、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述实体拓扑图保存方法。
13、本发明提供的实体拓扑图保存方法、装置、设备及存储介质,对节点的遍历和序列化同时进行,从而提高了对实体拓扑图进行序列化的效率,加快了实体拓扑图的文件保存速度,并且还使用节点的遍历顺序进行文件保存,保证了序列化数据写入的逻辑顺序。。
1.一种实体拓扑图保存方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取实体拓扑图对应的节点顺序,包括:
3.根据权利要求2所述的方法,其特征在于, 在所述访问所述目标节点并将所述目标节点对应的所有未访问过的邻居节点加入所述节点队列的尾部之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述获取所述实体拓扑图中各节点的序列化数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述节点顺序保存所述各节点的序列化数据,得到所述实体拓扑图对应的保存文件,包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
8.一种实体拓扑图保存装置,其特征在于,所述装置包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述实体拓扑图保存方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述实体拓扑图保存方法。
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述实体拓扑图保存方法。