数据结构的处理方法及系统技术方案

技术编号:2916917 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数据结构的处理方法,在该方法中,数据结构展开过程中,通过数据元素的数据元素ID和其父项数据元素的展开路径字段内容确定该数据元素的展开路径字段内容;当数据结构展开完成后,将展开得到的数据元素以该展开路径字段为主字段进行排序。本发明专利技术同时公开了一种数据结构的处理系统,该方法和系统实现简单,排序迅速,提高了系统性能。

【技术实现步骤摘要】

本专利技术涉及数据结构展开技术以及数据结构展开数据处理技术,尤其涉及一种数据结构的处理方法及系统
技术介绍
物料清单(BOM,Bill of Material)是计算机可以识别的产品结构数据文件,也是企业资源规划(ERP,Enterprise Resource Planning)的主导文件。BOM也叫产品结构或配方,用于记录物料(所述物料通常是完成品、或半成品、或部品)的组成情况,也即:物料由哪些下级物料组成,以及每一下级物料的用量、对应的属性等。每一个BOM都是一个单层的物料组织结构,由一个父项物料和多个子项物料组成。由于BOM存在父项物料和子项物料的区别,因此,BOM中包含的每个物料都存在一个层级的概念。并且,除了最顶层物料和最底层物料之外,中间层级的物料既是其父项物料的子项物料,又是其子项物料的父项物料,由此,从最顶层产品向下由众多BOM构成一个产品树,该产品树由多层级的BOM组成。BOM展开就是从最顶层物料开始,将整个产品树中的物料逐层展开的过程,往往通过一些SQL算法或存储过程来实现。以电脑为例,电脑的BOM如图1所示,根据图1所示的电脑BOM进行BOM展开所获得的电脑BOM展开表如表1所示:表1 层级物料内码物料编码物料名称父项物料内码11700C002主机2469C005机箱170037154C008电源46936539C003主板46945505C004PIC插槽6539--> 45077C009内存插槽653948183C011CPU插槽65394898C010AGP插槽653937012C016160G硬盘46934127C012P4 CPU46938289C020512内存46939628C021显卡46939081C023声卡46923054C014机箱盖板170012021C00115"液晶显示器11662C007外设27913C022USB鼠标166221177C025USB键盘166224299C018电源线1662BOM展开后,需要对得到的BOM展开表按层级和物料编码排序,在排序过程中,以层级逐层循环,判断各个物料的排列顺序。整个排序过程中需要创建多个临时表以完成排序。以下,以表1所示的BOM展开表为例进行现有技术BOM展开表按层级和物料编码排序的方法:1)创建临时表A和临时表B;从BOM展开表中获取层级为1的物料插入临时表A,并按物料编码排序,将排序后的物料插入临时表B,之后,清除临时表A。本步骤完成后,所得到的临时表B的结构如表2所示:表2 排序顺序号层级物料内码物料编码物料名称父项物料内码112021C00115"液晶显示器211700C002主机311662C007外设415484C019说明书-->2)循环依次从BOM展开表中获取临时表B中层级为1的物料的下级物料,将获取到的下级物料插入临时表A,并按物料编码排序,将排完序的物料插入到临时表B中,插入的位置为所述下级物料对应的父项物料的下一行,插入时更新临时表B中物料的[排序顺序号],清除临时表A。在本例中,获取物料“主机”的下层物料,插入临时表A中,获取方法为根据“主机”的[物料内码]和其他物料的[父项物料内码]之间的对应关系进行获取,这里不再赘述。获取到的物料“主机”的下层物料插入临时表A后,临时表A的结构如表3所示;之后,将临时表A中的内容插入到临时表B的物料“主机”的下一行,此时,临时表B的结构如表4所示,其中,表4中粗线框出的部分即为插入的临时表A的内容。同样方法处理其他位于第1层级的子项物料,例如外设、说明书等。表3 排序顺序号层级物料内码物料编码物料名称父项物料内码12469C005机箱1700223054C014机箱盖板1700表4 排序顺序号层级物料内码物料编码物料名称父项物料内码112021C00115"液晶显示器211700C002主机32469C005机箱1700423054C014机箱盖板1700511662C007外设3)使用和步骤102同样的方法,以位于第2层级的物料为父项物料循环插入位于第3层级的子项物料到临时表B中其父项物料下一行;如此循环,直到在临时表B中插入最后一层子项物料,最终得到按层级和物料编码排序的物料清单。如表5所示,为临时表B中插入“机箱”的子项物料之后的结构(所插-->入的机箱的子项物料以粗线框出):表5 排序顺序号层级物料内码物料编码物料名称父项物料内码112021C00115"液晶显示器211700C002主机32469C005机箱1700436539C003主板469537154C008电源469634127C012P4 CPU469737012C016160G硬盘469838289C020512内存469939628C021显卡4691039081C023声卡4691123054C014机箱盖板17001211662C007外设1324299C018电源线16621427913C022USB鼠标16621521177C025USB键盘1662本例中排序完毕后得到的物料清单如表6所示:表6 排序顺序号层级物料内码物料编码物料名称父项物料内码112021C00115"液晶显示器211700C002主机32469C005机箱1700436539C003主板469545505C004PIC插槽6539645077C009内存插槽653974898C010AGP插槽6539--> 848183C011CPU插槽6539937154C008电源4691034127C012P4 CPU4691137012C016160G硬盘4691238289C020512内存4691339628C021显卡4691439081C023声卡4691523054C014机箱盖板17001611662C007外设1724299C018电源线16621827913C022USB鼠标16621921177C025USB键盘1662从上述现有技术的排序方法可知,这种方法每次需要两个临时表互相作为排序和插入的目标,并且,每次将临时表A中新一批排序后的物料插入到临时表B中时,从插入位置以下的所有物料的[排序顺序号]都必须重新排序,因此,每次插入并重新排序的操作的次数最大将可能达到(N1+N2+...+Nx)次(N为每层物料数),每次插入后重新排序的数量为[(Sn+Tn)n]次(n为插入的次数,S为每次新插入的物料数,T为每次插入位置之后的物料数)。从以上分析和描述可知,上述排序方法实现复杂,且无法充分利用数据库索引,性能较差,特别是在企业存在较大结构的BOM和较多层级的物料时,性能差的问题尤其明显。
技术实现思路
有鉴于此,本专利技术要解决的技术问题是,提供一种数据结构的处理方法及系统,实现简单,排序迅速。为此,本专利技术实施例采用如下技术方案:本专利技术提供了一种数据结构的处理方法,该方法包括:-->当数据结构按层级展开时,判断当前所展开的数据元素是否为第1层级数据元素,如果是,根据该数据元素的数据元素标识码ID确定该数据元素的展开路径字段内容;否则,获取该数据元素的父项数据元素的展开路径字段内容,以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容;当本文档来自技高网
...

【技术保护点】
一种数据结构的处理方法,其特征在于,该方法包括: 当数据结构按层级展开时,判断当前所展开的数据元素是否为第1层级数据元素,如果是,根据该数据元素的数据元素标识码ID确定该数据元素的展开路径字段内容;否则,获取该数据元素的父项数据元素的展开路径字段内容,以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容; 当数据结构展开完成后,将数据结构展开表以展开路径字段为主字段进行排序。

【技术特征摘要】
1、一种数据结构的处理方法,其特征在于,该方法包括:当数据结构按层级展开时,判断当前所展开的数据元素是否为第1层级数据元素,如果是,根据该数据元素的数据元素标识码ID确定该数据元素的展开路径字段内容;否则,获取该数据元素的父项数据元素的展开路径字段内容,以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容;当数据结构展开完成后,将数据结构展开表以展开路径字段为主字段进行排序。2、根据权利要求1所述的方法,其特征在于,所述根据该数据元素的数据元素ID确定该数据元素的展开路径字段内容具体为:直接将数据元素的数据元素ID作为该数据元素的展开路径字段内容。3、根据权利要求2所述的方法,其特征在于,所述以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容具体为:直接在所述父项数据元素的展开路径字段内容后添加该数据元素的数据元素ID作为该数据元素的展开路径字段内容;或者,在所述父项数据元素的展开路径字段内容后添加设定符号,之后,再将该数据元素的数据元素ID添加于所述设定符号之后,将获得的字符串作为该数据元素的展开路径字段内容。4、根据权利要求1所述的方法,其特征在于,所述根据该数据元素的数据元素ID确定该数据元素的展开路径字段内容具体为:将该数据元素的数据元素ID以设定字符补齐为设定的最大字段长度,将得到的字符串作为该数据元素的展开路径字段内容。5、根据权利要求4所述的方法,其特征在于,所述以所述父项数据元素的展开路径字段内容以及该数据元素的数据...

【专利技术属性】
技术研发人员:王馗
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1