一种数据结构转换方法及装置的制造方法

文档序号:9524213阅读:407来源:国知局
一种数据结构转换方法及装置的制造方法
【技术领域】
[0001] 本发明涉及数据转换技术领域,特别涉及一种数据结构转换方法及装置。
【背景技术】
[0002] 数据库或文件中存储的数据记录集合中的多条数据记录被读取到内存中,通常W 数组结构的方式进行存储。W数据结构存储的数据记录是无规律的,若对数据记录中的数 据进行插入、排序、删除等操作,就必须移动大量的数据。
[0003] 为了方便对数据记录中的数据进行插入、排序、删除等操作,常需要将无规律的数 组结构的数据记录转换为有规律的树结构的数据记录。现有技术中,通常是采用递归算法 的方式将数组结构存储的数据记录转换为树结构存储的数据记录。
[0004] 采用递归算法的方式将数组结构存储的数据记录转换为树结构存储的数据记录 的过程中,系统要为每一次递归所使用的中间数据(例如:参数、返回地址、局部变量等)分 配不同的找空间来存储。例如:执行第一次递归算法所使用的局部变量为:局部变量a和局 部变量b,执行第二次递归算法所使用的局部变量同样为;局部变量a和局部变量b,则系统 为执行第一次递归算法所使用的局部变量a分配第一内存空间,系统为执行第一次递归算 法所使用的局部变量b分配第二内存空间,系统为执行第二次递归算法所使用的局部变量 a分配第Η内存空间,系统为执行第二次递归算法所使用的局部变量b分配第四内存空间。
[0005] 可W看出,递归算法所使用的内存空间较多;同时,为上述数据分配找空间需要花 费一定的时间,数据出找时也需要花费一定的时间,因此,现有采用递归算法进行数据结构 转换的方案所耗费的时间也较多。

【发明内容】

[0006] 本发明实施例的目的在于提供一种数据结构转换方法及装置,W减少转换过程中 对内存空间的占用,并减少数据结构转换所花费的时间。
[0007] 为达到上述目的,本发明实施例公开了一种数据结构转换方法,包括:
[0008] 将数据库或文件中存储的数据记录集合中的多条数据记录读取到内存中,其中, 所述数据记录在内存中W数组结构进行存储,每一条数据记录中至少包含有自身数据记录 的标识和自身数据记录的父级数据记录的标识;
[0009] 依次选择数组结构存储的数据记录中的一个数据记录作为当前数据记录,在所述 数组结构存储的数据记录中查找目标数据记录,将当前时刻查找目标数据记录所使用的 中间数据放入内存空间中,其中,不同时刻下的查找目标数据记录所使用的中间数据相同 时,相同的中间数据所放入的内存空间相同,所述目标数据记录为除所述当前数据记录外 的其他数据记录、且所述目标数据记录的父级数据记录的标识与所述当前数据记录的标识 相同,如果查找到所述目标数据记录,则确定目标数据记录和当前数据记录的父子关系,其 中,所确定的父子关系为:目标数据记录作为当前数据记录的子数据记录;
[0010] 根据所确定的父子关系,将各当前数据记录和各当前数据记录的子数据记录转换 为树结构的数据记录,其中,在转换过程中,任一当前数据记录所在节点为:该当前数据记 录的子数据记录所在节点的父节点。
[0011] 较佳的,所述每一条数据记录中还包含自身数据记录的同级顺序值,所述方法还 包括:
[0012] 获得父级数据记录标识相同的各个数据记录的同级顺序值;
[0013] 根据获得的各个数据记录的同级顺序值,对树结构中的父级数据记录标识相同的 各个数据记录进行排序。
[0014] 较佳的,所述方法还包括:
[0015] 获得数据记录的查询条件;
[0016] 按照树结构的层级关系,依次选择树结构中的一层数据记录中的一个数据记录作 为当前数据记录,判断当前数据记录是否满足所述查询条件,如果满足,则获得当前数据记 录,将所获得的当前数据记录作为查询结果输出。
[0017] 较佳的,所述方法还包括:
[0018] 获得数据记录的查询条件;
[0019] 根据预设的查询条件与数据记录在树结构中层次深度的对应关系,确定与所获得 的查询条件对应的数据记录在树结构中的层次深度;
[0020] 在树结构的所确定的层次深度的数据记录中,查找满足所获得的查询条件的数据 记录。
[0021] 较佳的,所述方法还包括:
[0022] 获得数据记录的查询条件;
[0023] 根据预设的查询条件与数据记录在树结构中路径的对应关系,确定与所获得的查 询条件对应的数据记录在树结构中的路径;
[0024]根据所确定的路径,在树结构的数据记录中,查找满足所获得的查询条件的数据 记录。
[00巧]为达到上述目的,本发明实施例公开了一种数据结构转换装置,包括:数据记录读 取模块、目标数据记录查找模块、父子关系确定模块和转换模块,
[0026] 数据记录读取模块,用于将数据库或文件中存储的数据记录集合中的多条数据记 录读取到内存中,其中,所述数据记录在内存中W数组结构进行存储,每一条数据记录中至 少包含有自身数据记录的标识和自身数据记录的父级数据记录的标识;
[0027]目标数据记录查找模块,用于依次选择数组结构存储的数据记录中的一个数据记 录作为当前数据记录,在所述数组结构存储的数据记录中查找目标数据记录,将当前时刻 查找目标数据记录所使用的中间数据放入内存空间中,其中,不同时刻下的查找目标数据 记录所使用的中间数据相同时,相同的中间数据所放入的内存空间相同,所述目标数据记 录为除所述当前数据记录外的其他数据记录、且所述目标数据记录的父级数据记录的标识 与所述当前数据记录的标识相同;
[0028] 父子关系确定模块,用于在所述目标数据记录查找模块查找到所述目标数据记录 时,确定目标数据记录和当前数据记录的父子关系,其中,所确定的父子关系为:目标数据 记录作为当前数据记录的子数据记录;
[0029] 转换模块,用于根据所述父子关系确定模块确定的父子关系,将各当前数据记录 和各当前数据记录的子数据记录转换为树结构的数据记录,其中,在转换过程中,任一当前 数据记录所在节点为:该当前数据记录的子数据记录所在节点的父节点。
[0030]较佳的,所述每一条数据记录中还包含自身数据记录的同级顺序值,所述装置还 包括:
[0031]同级顺序值获得模块,用于获得父级数据记录标识相同的各个数据记录的同级顺 序值;
[0032]排序模块,用于根据所述同级顺序值获得模块获得的各个数据记录的同级顺序 值,对树结构中的父级数据记录标识相同的各个数据记录进行排序。
[0033]较佳的,还包括;第一查询条件获得模块和第一查找模块,
[0034]第一查询条件获得模块,用于获得数据记录的查询条件;
[0035]第一查找模块,用于按照树结构的层级关系,依次选择树结构中的一层数据记录 中的一个数据记录作为当前数据记录,判断当前数据记录是否满足所述查询条件,如果满 足,则获得当前数据记录,将所获得的当前数据记录作为查询结果输出。
[0036]较佳的,还包括:第二查询条件获得模块,层次深度确定模块和第二查找模块,
[0037]第二查询条件获得模块,用于获得数据记录的查询条件;
[0038]层次深度确定模块,用于根据预设的查询条件与数据记录在树结构中层次深度的 对应关系,确定与所获得的查询条件对应的数据记录在树结构中的层次深度;
[0039]第二查找模块,用于在树结构中、层次深度确定模块所确定的层次深度的数据记 录中,查找满足所获得的查询条件的数据记录。
[0040]较佳的,还包括:第Η查询条件获得模块、路径确定模块和第Η查找模块,
[0041]第Η查询条件获得模块,用于获得数据记录的查询条件;
[0042]路径确定模块,用于根据预设的查询条件与数据记录在树结构中路径的对应关 系,确定与所获得的查询条件对应的数据记录在树结构中的路径;
[0043]第Η查找模块,用于根据路径确定模块所确定的路径,在树结构的数据记录中,查 找满足所获得的查询条件的数据记录。
[0044]由上述的技术方案可见,本发明实施例提供了一种数据结构转换方法及装置,将 数据库或文件中存储的数据记录集合中的多条数据记录读取到内存中;依次选择数组结构 存储的数据记录中的一个数据记录作为当前数据记录,在所述数组结构存储的数据记录中 查找目标数据记录,将当前时刻查找目标数据记录所使用的中间数据放入内存空间中,不 同时刻下的查找目标数据记录所使用的中间数据相同时,相同的中间数据所放入的内存空 间相同,如果查找到所述目标数据记录,则确定目标数据记录和当前数据记录的父子关系; 根据所确定的父子关系,将各当前数据记录和各当前数据记录的子数据记录转换为树结构 的数据记录。
[0045]本发明在进行数据结构转换的过程中,无需对数据进行入找操作和出找操作,节 省了时间。同时,由于本发明不同时刻下的查找目标数据记录所使用的中间数据相同时, 相同的中间数据所放入的内存空间相同,因此只需为相同的中间数据分配一块内存空间即 可,节省了内存空间的占用。
【附图说明】
[0046]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据送些附图获得其他的附图。
[0047]图1为本发明实施例提供的数据结构转换方法的第一种流程示意图;
[0048] 图2为本发明实施例提供的数据结构转换方法的第二种流程示意图;
[0049]图3为本发明实施例提供的数据结构转换方法的第Η种流程示意图;
[0050] 图4为本发明实施例提供的数据结构转换方法的第四种流程示意图;
[0051] 图5为本发明实施例提供的数据结构转换方法的第五种流程示意图;
[0052] 图6为本发明实施例提供的数据结构转换装置的第一种结构示意图;
[0053]图7为本
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1