粒子系统存储和读取方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33286005 阅读:53 留言:0更新日期:2022-04-30 23:53
本发明专利技术实施例公开了一种粒子系统存储和读取方法、装置、电子设备及存储介质,所述方法包括:获取预设数量的粒子树;按照预设顺序获取每一粒子树中的每个结点对应的结点数组;将对应每个粒子树的结点数量、结点的内容数据和结点数组存储在对应的一个第一文件中;按照不同属性的实际作用域与不同数据类型的缓存之间的关系,根据结点数组的顺序将所述结点的属性依次写入不同数据类型的缓存中;将各缓存中对应一个粒子树的全部结点的属性以二进制形式存储在对应的一个第二文件中。本申请实施例中的粒子系统存储和读取方法,基于多类型数组缓存消除了小作用域数据,并将粒子结点分类型的存储在不同的文件中,从而有效节省了存储粒子系统的空间占比。子系统的空间占比。子系统的空间占比。

【技术实现步骤摘要】
粒子系统存储和读取方法、装置、电子设备及存储介质


[0001]本专利技术涉及数据存储领域,尤其涉及一种粒子系统存储和读取方法、装置、电子设备及存储介质。

技术介绍

[0002]粒子系统是由粒子对象和粒子更新策略对象所组成的树形结构,现有的技术以对象为单位,从粒子树的根结点开始,依次向下直到叶子结点为止。每个结点对自身的属性和子结点关系按二进制进行存储。
[0003]现有的粒子系统存储方法并未针对各结点之间的共性关系进行存储,而是针对每个粒子都进行相同模式的存储,从而占用了大量的存储空间,造成空间浪费。

技术实现思路

[0004]为了解决上述技术问题,本申请实施例提供了一种粒子系统存储和读取方法、装置、电子设备及存储介质,具体方案如下:
[0005]第一方面,本申请实施例提供了一种粒子系统存储方法,所述粒子系统存储方法包括:
[0006]获取待存储粒子系统集,所述待存储粒子系统集中包括预设数量的粒子树;
[0007]按照预设顺序获取每一粒子树中的每个结点对应的结点数组,其中,所述结点数组包括结点类型和父结点索引,所述结点为粒子对象或更新策略对象;
[0008]将对应每个粒子树的结点数量、结点的内容数据和结点数组存储在对应的一个第一文件中;
[0009]按照不同属性的实际作用域与不同数据类型的缓存之间的关系,根据所述结点数组的顺序将所述结点的属性依次写入不同数据类型的缓存中;
[0010]将各缓存中对应一个粒子树的全部结点的属性以二进制形式存储在对应的一个第二文件中。
[0011]根据本申请实施例的一种具体实施方式,按照预设顺序获取每一粒子树中的每个结点对应的结点数组的步骤,包括:
[0012]从粒子树的根结点开始遍历所述粒子树,并按照预设顺序为所述粒子树中的每一结点编号,所述预设顺序为从根结点到叶结点,从左边的叶结点到右边的叶结点;
[0013]获取每一结点的结点类型和父结点索引,以组合生成对应各结点的结点数组。
[0014]根据本申请实施例的一种具体实施方式,所述更新策略对象包括第一更新策略和第二更新策略,其中,所述第一更新策略为具有时间序列的更新策略,所述第二更新策略为不具有时间序列的更新策略;
[0015]按照预设顺序获取每一粒子树中的每个结点对应的结点数组的步骤之后,所述方法还包括:
[0016]将所述待存储粒子系统集的全部第一更新策略的时间序列存储在数据池中,并将
各第一更新策略的内容数据中的时间序列替换为所述数据池中对应的时间序列索引;
[0017]将所述数据池以二进制形式存储在第三文件中。
[0018]根据本申请实施例的一种具体实施方式,所述数据池基于vector容器管理所述数据池中的全部第一更新策略。
[0019]第二方面,本申请实施例提供了一种粒子系统读取方法,所述粒子系统读取方法包括:
[0020]获取待读取粒子树的识别信息;
[0021]从对应所述待读取粒子树的识别信息的第一文件中获取全部结点和具有顺序的全部结点数组;
[0022]从对应所述待读取粒子树的识别信息第二文件中获取预设数量的缓存;
[0023]按照所述结点数组的顺序从不同类型的缓存中提取对应每一结点数组的属性,以根据所述全部结点、所述具有顺序的全部结点数组和各结点数组对应的属性组成目标粒子树。
[0024]根据本申请实施例的一种具体实施方式,按照所述结点数组的顺序从不同类型的缓存中提取对应每一结点数组的属性,以根据所述全部结点、所述具有顺序的全部结点数组和各结点数组对应的属性组成目标粒子树的步骤之后,所述方法还包括:
[0025]从第三文件中获取存储有时间序列的数据池;
[0026]根据所述结点中的时间序列索引访问所述数据池中的时间序列。
[0027]第三方面,本申请实施例提供了一种粒子系统存储装置,所述粒子系统存储装置包括:
[0028]第一获取模块,用于获取待存储粒子系统集,所述待存储粒子系统集中包括预设数量的粒子树;
[0029]第二获取模块,用于按照预设顺序获取每一粒子树中的每个结点对应的结点数组,其中,所述结点数组包括结点类型和父结点索引,所述结点为粒子对象或更新策略对象;
[0030]第一存储模块,用于将对应每个粒子树的结点数量、结点的内容数据和结点数组存储在对应的一个第一文件中;
[0031]写入模块,用于按照不同属性的实际作用域与不同数据类型的缓存之间的关系,根据所述结点数组的顺序将所述结点的属性依次写入不同数据类型的缓存中;
[0032]第二存储模块,用于将各缓存中对应一个粒子树的全部结点的属性以二进制形式存储在对应的一个第二文件中。
[0033]第四方面,本申请实施例提供了一种粒子系统读取装置,所述粒子系统读取装置包括:
[0034]获取模块,用于获取待读取粒子树的识别信息;
[0035]第一读取模块,用于从对应所述待读取粒子树的识别信息的第一文件中获取全部结点和具有顺序的全部结点数组;
[0036]第二读取模块,用于从对应所述待读取粒子树的识别信息第二文件中获取预设数量的缓存;
[0037]组成模块,用于按照所述结点数组的顺序从不同类型的缓存中提取对应每一结点
数组的属性,以根据所述全部结点、所述具有顺序的全部结点数组和各结点数组对应的属性组成目标粒子树。
[0038]第五方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行第一方面所述的粒子系统存储方法和第二方面所述的粒子系统读取方法。
[0039]第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面所述的粒子系统存储方法和第二方面所述的粒子系统读取方法。
[0040]本申请实施例提供了一种粒子系统存储和读取方法、装置、电子设备及存储介质,所述粒子系统存储方法包括:获取待存储粒子系统集,所述待存储粒子系统集中包括预设数量的粒子树;按照预设顺序获取每一粒子树中的每个结点对应的结点数组,其中,所述结点数组包括结点类型和父结点索引,所述结点为粒子对象或更新策略对象;将对应每个粒子树的结点数量、结点的内容数据和结点数组存储在对应的一个第一文件中;按照不同属性的实际作用域与不同数据类型的缓存之间的关系,根据所述结点数组的顺序将所述结点的属性依次写入不同数据类型的缓存中;将各缓存中对应一个粒子树的全部结点的属性以二进制形式存储在对应的一个第二文件中。本申请实施例中的粒子系统存储和读取方法,基于多类型数组缓存消除了小作用域数据,并将粒子结点分类型的存储在不同的文件中,从而有效节省了存储粒子系统的空间占比。
附图说明
[0041]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种粒子系统存储方法,其特征在于,所述粒子系统存储方法包括:获取待存储粒子系统集,所述待存储粒子系统集中包括预设数量的粒子树;按照预设顺序获取每一粒子树中的每个结点对应的结点数组,其中,所述结点数组包括结点类型和父结点索引,所述结点为粒子对象或更新策略对象;将对应每个粒子树的结点数量、结点的内容数据和结点数组存储在对应的一个第一文件中;按照不同属性的实际作用域与不同数据类型的缓存之间的关系,根据所述结点数组的顺序将所述结点的属性依次写入不同数据类型的缓存中;将各缓存中对应一个粒子树的全部结点的属性以二进制形式存储在对应的一个第二文件中。2.根据权利要求1所述的粒子系统存储方法,其特征在于,按照预设顺序获取每一粒子树中的每个结点对应的结点数组的步骤,包括:从粒子树的根结点开始遍历所述粒子树,并按照预设顺序为所述粒子树中的每一结点编号,所述预设顺序为从根结点到叶结点,从左边的叶结点到右边的叶结点;获取每一结点的结点类型和父结点索引,以组合生成对应各结点的结点数组。3.根据权利要求1所述的粒子系统存储方法,其特征在于,所述更新策略对象包括第一更新策略和第二更新策略,其中,所述第一更新策略为具有时间序列的更新策略,所述第二更新策略为不具有时间序列的更新策略;按照预设顺序获取每一粒子树中的每个结点对应的结点数组的步骤之后,所述方法还包括:将所述待存储粒子系统集的全部第一更新策略的时间序列存储在数据池中,并将各第一更新策略的内容数据中的时间序列替换为所述数据池中对应的时间序列索引;将所述数据池以二进制形式存储在第三文件中。4.根据权利要求3所述的粒子系统存储方法,其特征在于,所述数据池基于vector容器管理所述数据池中的全部第一更新策略。5.一种粒子系统读取方法,其特征在于,所述粒子系统读取方法包括:获取待读取粒子树的识别信息;从对应所述待读取粒子树的识别信息的第一文件中获取全部结点和具有顺序的全部结点数组;从对应所述待读取粒子树的识别信息第二文件中获取预设数量的缓存;按照所述结点数组的顺序从不同类型的缓存中提取对应每一结点数组的属性,以根据所述全部结点、所述具有顺序的全部结点数组和各结点数组对应的属性组成目标粒子树。6.根据权...

【专利技术属性】
技术研发人员:乔禹之孟欣
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

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

1