说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211039323.2 (22)申请日 2022.08.29 (71)申请人 奇安信科技 集团股份有限公司 地址 100088 北京市西城区新 街口外大街 28号102号楼3层3 32号 申请人 奇安信安全技 术 (珠海) 有限公司 (72)发明人 薛仟浩 付旻  (74)专利代理 机构 北京汇鑫君达知识产权代理 有限公司 1 1769 专利代理师 李辰 (51)Int.Cl. G06F 16/25(2019.01) G06F 16/22(2019.01) G06F 16/2455(2019.01) G06F 9/50(2006.01) (54)发明名称 多叉树信息序列化和反序列化方法、 设备和 计算机可读存 储介质 (57)摘要 本申请涉及一种多叉树信息序列化和反序 列化方法、 装置和计算机可读存储介质。 该方法 包括: 获取目标多叉树的属性信息; 申请与目标 多叉树的属性信息相符的内存; 依次 向内存写入 目标多叉树各节点序列化后序列化结果所需缓 存大小和目标多叉树的总节点数; 以预设遍历方 式遍历目标多叉树各节点, 并按照遍历顺序向内 存的剩余存储空间写入目标多叉树各节点自身 数据。 本申请的技术方案可以对多叉树信息进行 高效处理。 权利要求书4页 说明书12页 附图4页 CN 115408462 A 2022.11.29 CN 115408462 A 1.一种多叉树信息序列化方法, 其特 征在于, 所述方法包括: 获取目标多叉树的属性信 息, 所述属性信 息包括所述目标多叉树各节点自身数据的长 度、 所述目标多 叉树的总节点数以及所述目标多 叉树各节点序列化后序列化结果所需缓存 大小; 申请与所述目标多叉树的属性信息相符的内存; 依次向所述内存写入所述目标多叉树各节点序列化后序列化结果所需缓存大小和所 述目标多叉树的总节点数; 以预设遍历方式遍历所述目标多叉树各节点, 并按照遍历顺序向所述内存的剩余存储 空间写入所述目标多叉树各节点自身数据。 2.根据权利要求1所述的多叉树信 息序列化方法, 其特征在于, 所述申请与 所述目标多 叉树的属性信息相符的内存, 包括: 计算目标存储空间大小, 所述目标存储空间大小为第一预设存储空间、 第二预设存储 空间以及所述目标多 叉树所有节点自身数据的长度之和, 所述第一预设存储空间包括为存 储所述目标多 叉树各节点序列化后序列化结果所需缓存大小 预先分配的内存空间, 第二预 设存储空间包括 为存储所述目标多叉树的总节点数 预先分配的内存空间; 以所述第一预设存储空间的首地址为所述内存的首地址, 申请存储空间为不小于所述 目标存储空间大小的内存。 3.根据权利要求1所述的多叉树信 息序列化方法, 其特征在于, 所述目标多叉树各节点 自身数据包括所述目标多 叉树各节点的定长数据和变长数据, 所述按照遍历顺序向所述内 存的剩余存 储空间写入所述目标多叉树各节点自身数据, 包括: 按照所述遍历顺序, 依次向所述内存的第 一剩余存储空间写入所述目标多叉树各节点 的定长数据, 所述第一剩余存储空间为依次向所述内存写入所述目标多 叉树各节点序列化 后序列化结果所需缓存大小和所述目标多叉树的总节点数之后所述内存剩余的存 储空间; 按照所述遍历顺序, 依次向所述内存的第 二剩余存储空间写入所述目标多叉树各节点 的变长数据, 所述第二剩余存储空间为依次向所述内存的第一剩余存储空间写入所述目标 多叉树所有节点的定 长数据之后所述内存剩余的存 储空间。 4.根据权利要求3所述的多叉树信息序列化方法, 其特征在于, 所述按照所述遍历顺 序, 依次向所述内存的第一剩余存 储空间写入所述目标多叉树各节点的定 长数据, 包括: 向所述第一剩余存储空间的首地址对应存储空间写入所述目标多叉树的根节点的定 长数据; 和/或, 若所述根节点存在子节点, 则在写入所述目标多叉树的根节点的定长数据之后的存储 空间, 按照所述遍历顺序向所述内存写入所述子节点的定 长数据; 和/或, 若所述子节点存在子节点, 则在写入所述子节点的定长数据之后的存储空间, 按照所 述遍历顺序向所述内存写入所述子节点的子节点的定 长数据。 5.根据权利要求4所述的多叉树信 息序列化方法, 其特征在于, 所述向所述第 一剩余存 储空间的首地址对应存 储空间写入所述目标多叉树的根节点的定 长数据, 包括: 向所述第一剩余存储空间的首地址对应存储空间写入基础数据, 所述基础数据包括所 述根节点的节点标识、 所述根节点的父节点的标识、 所述根节点的创建时间和所述根节点 是否为活动态;权 利 要 求 书 1/4 页 2 CN 115408462 A 2在写入所述基础数据之后, 向所述第一剩余存储空间剩余的存储空间写入偏移数据, 所述偏移数据包括所述根节点的存放路径的偏移地址、 所述根节点的存放路径的长度、 所 述根节点的父节点的偏移地址、 所述根节点的子节点偏移地址数组的偏移 地址以及所述根 节点的子节点个数; 和/或, 若所述根节点存在子节点, 则在写入所述目标多叉树的根节点的定长数据之后的存储 空间, 按照所述遍历顺序向所述内存写入所述子节点的定长数据, 包括: 在写入 所述目标多 叉树的根节点的定长数据之后的存储空间, 按照所述遍历顺序向所述内存写入所述子节点 的基础数据, 所述子节点的基础数据包括所述子节点的节点标识、 所述子节点的父节点的 标识、 所述子节点的创建时间和所述子节点是否为活动态; 在写入所述子节点的基础数据 之后, 向所述内存剩余的存储空间写入所述子节点的偏移数据, 所述子节点的偏移数据包 括所述子节点的存放路径的偏移地址、 所述子节点的存放路径的长度、 所述子节点的父节 点的偏移地址、 所述子节点的子节点偏移地址数 组的偏移地址以及所述子节点的子节点个 数; 和/或, 若所述子节点存在子节点, 则在写入所述子节点的定长数据之后的存储空间, 按照所 述遍历顺序向所述内存写入所述子节点的子节点的定长数据, 包括: 在写入所述子节点的 定长数据之后的存储空间, 按照所述遍历顺序向所述内存写入所述子节点的子节点的基础 数据, 所述子节点的子节点的基础数据包括所述子节点的子节点的节点标识、 所述子节点 的子节点的父节点的标识、 所述子节点的子节点的创建时间和所述子节点的子节点是否为 活动态; 在写入所述子节点的子节点的基础数据之后, 向所述内存剩余的存储空间写入所 述子节点的子节点的偏移数据, 所述子节点的子节点的偏移数据包括所述子节点的子节点 的存放路径的偏移地址、 所述子节点的子节点的存放路径的长度、 所述子节点的子节点的 父节点的偏移地址、 所述子节点的子节点的子节 点偏移地址数组的偏移 地址以及所述子节 点的子节点的子节点个数。 6.根据权利要求3所述的多叉树信息序列化方法, 其特征在于, 所述按照所述遍历顺 序, 依次向所述内存的第二剩余存 储空间写入所述目标多叉树各节点的变长数据, 包括: 向所述第二剩余存储空间的首地址对应存储空间写入所述目标多叉树根节点的存放 路径; 若所述根节点存在子节点, 则在写入所述目标多叉树根节点的存放路径之后, 按照所 述遍历顺序向所述第二剩余存储空间剩余的存储空间依 次写入所述根节点的各子节点的 偏移地址; 在写入所述根节点的各子节点的偏移地址之后, 按照所述遍历顺序向所述第 二剩余存 储空间剩余的存 储空间依次写入所述各子节点的子节点的存放路径和偏移地址 。 7.一种多叉树信息反序列化方法, 其特 征在于, 所述方法包括: 获取内存首地址, 所述内存为序列化目标多叉树各节点 时申请的与 所述目标多叉树的 属性信息相符的内存, 所述属 性信息包括所述 目标多叉树各节点自身数据的长度、 所述 目 标多叉树的总节点数以及所述目标多叉树各节点序列化后序列化结果所需缓存大小; 根据所述内存首地址、 所述目标多叉树的总节点数预设存储空间以及所述目标多叉树 各节点序列化后序列化结果所需缓存大小, 计算所述目标多叉树的根节点 地址; 根据所述目标多叉树的根节点地址和所述目标多叉树的各节点自身数据的长度, 获取权 利 要 求 书 2/4 页 3 CN 115408462 A 3

.PDF文档 专利 多叉树信息序列化和反序列化方法、设备和计算机可读存储介质

文档预览
中文文档 21 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共21页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 多叉树信息序列化和反序列化方法、设备和计算机可读存储介质 第 1 页 专利 多叉树信息序列化和反序列化方法、设备和计算机可读存储介质 第 2 页 专利 多叉树信息序列化和反序列化方法、设备和计算机可读存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:13:26上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。