好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

数据结构的处理方法及系统的制作方法.docx

4页
  • 卖家[上传人]:ting****789
  • 文档编号:315060623
  • 上传时间:2022-06-20
  • 文档格式:DOCX
  • 文档大小:20.10KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据结构的处理方法及系统的制作方法专利名称::数据结构的处理方法及系统的制作方法技术领域::本发明涉及数据结构展开技术以及数据结构展开数据处理技术,尤其涉及一种数据结构的处理方法及系统背景技术::物料清单(BOM,BillofMaterial)是计算机可以识别的产品结构数据文件,也是企业资源规划(ERP,EnterpriseResourcePlanning)的主导文4牛BOM也叫产品结构或配方,用于记录物料(所述物料通常是完成品、或半成品、或部品)的组成情况,也即物料由哪些下级物料组成,以及每一下级物料的用量、对应的属性等每一个BOM都是一个单层的物料组织结构,由一个父项物料和多个子项物料组成由于BOM存在父项物料和子项物料的区别,因此,BOM中包含的每个物料都存在一个层级的概念并且,除了最顶层物料和最底层物料之外,中间层级的物料既是其父项物料的子项物料,又是其子项物料的父项物料,由此,从最顶层产品向下由众多BOM构成一个产品树,该产品树由多层级的BOM组成BOM展开就是从最顶层物料开始,将整个产品树中的物料逐层展开的过程,往往通过一些SQL算法或存储过程来实现以电脑为例,电脑的BOM如图l所示,根据图l所示的电脑BOM进行BOM展开所获得的电脑BOM展开表如表1所示表1tableseeoriginaldocumentpage4tableseeoriginaldocumentpage5BOM展开后,需要对得到的BOM展开表按层级和物料编码排序,在排序过程中,以层级逐层循环,判断各个物料的排列顺序。

      整个排序过程中需要创建多个临时表以完成排序以下,以表l所示的BOM展开表为例进行现有技术BOM展开表按层级和物料编码排序的方法1)创建临时表A和临时表B;从BOM展开表中获取层级为1的物料插入临时表A,并按物料编码排序,将排序后的物料插入临时表B,之后,清除临时表A本步骤完成后,所得到的临时表B的结构如表2所示表2tableseeoriginaldocumentpage52)循环依次从BOM展开表中获取临时表B中层级为1的物料的下级物料,将获取到的下级物料插入临时表A,并按物料编码排序,将排完序的物料插入到临时表B中,插入的位置为所述下级物料对应的父项物料的下一行,插入时更新临时表B中物料的[排序顺序号],清除临时表A在本例中,获取物料"主机"的下层物料,插入临时表A中,获取方法为根据"主机"的[物料内码]和其他物料的[父项物料内码]之间的对应关系进行获取,这里不再赘述获取到的物料"主机"的下层物料插入临时表A后,临时表A的结构如表3所示;之后,将临时表A中的内容插入到临时表B的物料"主机"的下一行,此时,临时表B的结构如表4所示,其中,表4中粗线框出的部分即为插入的临时表A的内容同样方法处理其他位于第1层级的子项物料,例如外设、说明书等。

      表3tableseeoriginaldocumentpage63)使用和步骤102同样的方法,以位于第2层级的物料为父项物料循环插入位于第3层级的子项物料到临时表B中其父项物料下一行;如此循环,直到在临时表B中插入最后一层子项物料,最终得到按层级和物料编码排序的物料清单如表5所示,为临时表B中插入"机箱"的子项物料之后的结构(所插入的机箱的子项物料以粗线框出)表5tableseeoriginaldocumentpage7本例中排序完毕后得到的物料清单如表6所示:表6tableseeoriginaldocumentpage7tableseeoriginaldocumentpage8从上述现有技术的排序方法可知,这种方法每次需要两个临时表互相作为排序和插入的目标,并且,每次将临时表A中新一批排序后的物料插入到临时表B中时,从插入位置以下的所有物料的[排序顺序号]都必须重新排序,因此,每次插入并重新排序的才乘作的次数最大将可能达到(N1+N2+...+Nx)次(N为每层物料数),每次插入后重新排序的数量为[(Sn+Tn)n]次(n为插入的次数,S为每次新插入的物料数,T为每次插入位置之后的物料数)。

      从以上分析和描述可知,上述排序方法实现复杂,且无法充分利用数据库索引,性能较差,特别是在企业存在较大结构的BOM和较多层级的物料时,性能差的问题尤其明显发明内容有鉴于此,本发明要解决的技术问题是,提供一种数据结构的处理方法及系统,实现简单,排序迅速为此,本发明实施例采用如下技术方案本发明提供了一种数据结构的处理方法,该方法包括当数据结构按层级展开时,判断当前所展开的数据元素是否为第1层级数据元素,如果是,根据该数据元素的数据元素标识码ID确定该数据元素的展开路径字段内容;否则,获取该数据元素的父项数据元素的展开路径字段内容,以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容;当数据结构展开完成后,将数据结构展开表以展开路径字段为主字段进行排序其中,所述根据该数据元素的数据元素ID确定该数据元素的展开路径字段内容具体为直接将数据元素的数据元素ID作为该数据元素的展开路径字段内容所述以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容具体为直接在所述父项数据元素的展开路径字段内容后添加该数据元素的数据元素ID作为该数据元素的展开路径字段内容;或者,在所述父项数据元素的展开路径字段内容后添加设定符号,之后,再将该数据元素的数据元素ID添加于所述设定符号之后,将获得的字符串作为该数据元素的展开路径字段内容。

      —.......______—.'—_______—.,—■_T|具体为将该数据元素的数据元素ID以设定字符补齐为设定的最大字段长度,将得到的字符串作为该数据元素的展开路径字段内容所述以所述父项数据元素的展开路径字段内容以及该数据元素的数据元素ID确定该数据元素的展开路径字段内容具体为在父项数据元素的展开路径字段内容后添加该数据元素的以设定字符补齐为最大字段长度后的数据元素ID,将获得的字符串作为该数据元素的展开路径字段内容;或者,在父项数据元素的展开路径字段内容后添加设定符号,之后,再将该数据元素的以设定字符补齐为最大字段长度后的数据元素ID添加于所述设定符号之后,将获得的字符串作为该数据元素的展开路径字段内容所述数据元素为物料,所述数据元素ID为物料编码或物料内码本发明同时提供了一种数据结构的处理系统,该系统包括数据结构展开模块、数据元素属性确定模块、数据元素属性管理模块、以及排序模块;其中,数据结构展开模块,用于对具有层级结构的数据结构进行展开处理;数据元素属性确定模块,用于在BOM展开模块对BOM展开的过程中确定数据元素的包括展开路径在内的各个属性信息,并将确定的各个数据元素的属性信息发送给数据元素属性管理^f莫块;数据元素属性管理模块,用于对数据元素属性确定模块中确定的各个数据元素的属性信息进行管理;排序模块,用于对数据元素属性管理模块中管理的数据元素的属性信息以数据元素的展开路径字段为主字段进行排序。

      其中,数据元素属性确定模块进一步包括展开路径确定模块,用于根据数据元素的数据元素ID,或者,数据元素ID和该数据元素对应的父项数据元素的展开路径字段内容,确定该数据元素的展开路径字段内容;其他属性信息确定模块,用于确定数据元素的除展开路径之外的其他属性信息对于上述技术方案的技术效果分析如下根据数据元素的数据元素ID和其父项数据元素的展开路径字段内容确定该数据元素的展开路径字段内容;当数据结构展开完成后,将获得的数据元素以展开路径字段为主字段进行排序,过程简单,排序过程中无需建立多个临时表,避免了复杂的SQL操作,提高了系统性能图1为现有技术电脑BOM结构示例图2为本发明BOM的处理方法流程示意图3为本发明自行车BOM的处理方法流程示意图4为本发明BOM的处理系统结构示意图具体实施例方式本发明的基本思想是在数据结构展开表中增加展开路径字段,并在展开过程中通过每个数据元素的数据元素ID(例如数据元素编码和数据元素内码等)和其父项数据元素的展开路径字段内容确定该数据元素的展开路径字段内容;当数据结构展开完成后,将数据元素以展开路径字段为主字段进行排序以下,通过具体实施例结合附图详细说明本发明数据结构的处理方法和系统的实现。

      在下述实施例中,将本发明所述数据结构的处理方法应用于物料的BOM展开中所述物料的BOM对应本发明的数据结构;所述物料对应本发明中的数据元素;所述物料的BOM展开对应所述数据结构展开同样的,本发明的凄t据结构的处理方法也可以应用于其他的业务或领域,只要该业务或领域中所包含的数据元素之间存在父项和子项的层级关系即可图2为本发明BOM的处理方法流程示意图,如图2所示,该方法包括步骤201:为BOM展开表增加展开路径字段所述展开路径字段用于描述对应物料的展开路径信息在实际应用中,为展开路径字段设置的长度可以通过以下公式确定字段的最小长度=((物料ID的最大长度+1)x最大的BOM层级数)-1例如,设所使用的物料ID为物料编码,物料编码最大长度为6,BOM层级最大支持50层,则层级数为50,展开路径字段的最小长度就可以设定为((6+1)x50)-1=349字段设置最小长度的限制是为了保证所有可能的情况下,BOM进行展开的展开路径信息都可以完整的保存,而不会出现由于长度限制,导致展开路径被截断,进而导致出现重复路径的可能展开路径字段名称可以改变,这里并不限制步骤202:当BOM展开时,判断当前所展开的物料是否为第1层级物料,如果是,执行步骤203;否则,执行步骤204。

      步骤203:根据该物料的物料ID确定该物料对应的展开路径字段的内容,并获取该物料的其他属性信息,执行步骤205其中,在实际应用中,物料ID可以取物料内码、以及物料编码等,只要可以标识物料的唯一性即可可以将物料内码或者物料编码直接作为该物料的展开路径字段的内容,或者,经过一定处理,例如,根据物料ID的最大长度,通过在物料ID之前添加设定的字符例如"0"对物料ID进行位数的补足,之后,再作为展开路径字段的内容此时,在步骤204中,在物料的父项物料之后添加该物料的物料ID时,也需对该物料的物料ID进行相同处理步骤204:获取当前所展开的物料的父项物料的展开路径字段内容,以该字段内容以及该当前所展开物料的物料ID确定当前物料的展开路径字段内容;并且,获取当前物料的其他属性信息;执行步骤205本步骤中所述确定可以为直接将当前所展开物料的父项物料的展开路径字段内容之后添加所述当前所展开物料的物料ID;或者,所述父项物料的展开路径字段内容之后添加例如逗号、分隔符等字符进行分隔,之后,再添加当前所展开物料的物料ID所述确定方法在图3所示的实例中也进行了说明步骤205:确定当前所展开物料是否为BOM展开的最后一个物料,如果是,4丸行步骤206;否则,返回步骤202。

      字段进行排序,当前处理流程结束在步骤206完成后,所得到的BOM展开表即为按照层级和物料ID排序之后的BOM展开表及物料管^等以下,取物料ID为物料编码,以图1所示的电脑BOM结构实例,对本发明数据结构的处理方法进行进一步的说明图3为本发明电脑BOM的处理方法流程示意图,如图3所示,该方法包括步骤301:为BOM展开表增加展开路径字段步骤302:当BOM展开时,判断当前所展开的物料是否为第1层级物料,如果是,执行步骤303;否则,执行步骤304在以下步骤中,分别以物料"主机"和其子项物料"机箱"为例而在本步骤中,当当前所展开的物料为"主机"时,"主机,,为第l层级物料,则执行步骤303;当当前所展开的物料"机箱"时,"机箱,,不为第l层级物料,则执行步骤304步骤303:将当前所展开物料的物料编码作为该物料的展开路径字段内容;确定该物料的—乂他属性信息表7tableseeoriginaldocumentpage13如表7所示,物料"主机"位于第1层级,其[展开路径]取"00C0。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.