一种构件式自定义产品结构树的实现方法与流程

文档序号:17082247发布日期:2019-03-09 00:24阅读:778来源:国知局
一种构件式自定义产品结构树的实现方法与流程

本发明涉及数据结构技术领域,具体涉及一种构件式自定义产品结构树的实现方法。



背景技术:

目前,产品结构树是工业软件中最常用的一种数据组织方式,一般应用于工业企业的应用系统中。pdm、erp及capp等系统均会围绕产品结构树来组织和管理工程数据,这种数据组织形式尽管常见,但是在应用中却存在四个方面的突出问题:一是产品结构树的实现机制通用性差,实现方法的可重用性不足;二是产品结构树的个性化定制能力差,在使用过程中需要对产品结构树的节点类型、属性和关系等要素进行扩展时,定制非常困难;三是目前的产品树实现技术因为无法提供个性化配置能力,无法满足多个用户同时使用的需要;四是在不同产品结构树之间共用数据困难,跨结构树的数据复用性差。

在产品结构树的实现技术方面,目前主要包括三种技术实现方式。第一种技术实现方式就是采用一定的编程技术,将产品结构管理作为一个独立的软件功能进行开发,实现从数据库设计到最终的产品结构功能,使用过程中只能将产品结构树作为“整体”使用,定制能力差;第二种技术实现方式就是在第一种方式基础上,提供一定数量的api接口,可以对产品结构的定义和管理实现少量的自定义支持能力;第三种实现方式就是在产品结构树的定义方面,开始从数据库定义、产品结构树的个性定义方面开始设置和考虑通用性和工程适用性。

就目前在产品结构树的三种实现技术方面,存在的主要缺点表现在以下三个方面。

(1)限定了产品结构的重用能力,由于对产品结构树的分析解剖程度不足,没有将产品结构树分解为更多可用的重用组件,导致在产品结构树这个层面来重用的话,重用的难度很大而且不可行;

(2)产品结构在应用中的定制能力薄弱,尽管部分产品提供了属性的定制,但是在关系、版本等方面的定制能力较弱或缺失,无法满足个性化应用要求,限制了应用的灵活性;

(3)跨产品结构的产品数据解释能力不足,因为每个产品结构树都是独立解释,没有共同的逻辑约束,导致产品结构的跨结构数据解释困难,引起数据集成困难。



技术实现要素:

为解决现有技术的不足,本发明实施例提供了一种构件式自定义产品结构树的实现方法,该方法包括:

对产品结构树的构成要素进行标准化、模块化抽取,形成静态构件和动态构件;

组合所述静态构件和所述动态构件,形成产品结构树模板;

采用基础构件层面的定制、产品结构模板层面的定制和运行时的动态定制三种定制方法,自定义定制所述产品结构模板的内容,形成产品结构树实例,可以根据业务需要定制产品结构模板所需的内容,保证产品结构个性化功能实现。

进一步地,所述方法还包括:

将所述产品结构树实例以链接方式或者寻址方式关联至所述产品结构树模板,实现了模型和实例的分离。

进一步地,所述动态构件包括策略和规则,所述策略和所述规则的格式为xml,方便跨产品结构的数据共享和使用,方便从数据层面进行产品数据的集成和重用。

本发明实施例提供的构件式自定义产品结构树的实现方法,具有以下有益效果:

通过将产品结构树的组成部分进行构件提炼,建立产品结构树的基本构件,再通过动态定义方式将这些基本构件进行组合,建立适应不同需要的产品结构模板。产品结构模板相当于产品结构的元模型,对产品结构树建立和使用中的各种逻辑约束条件进行统一管理。向产品结构添加任何子节点,或者将任何产品数据关联或挂接到产品结构树时,均受到产品结构模板的逻辑约束,保证了产品结构树的逻辑和实例一致性,提高了产品结构树的定制能力,做到针对业务需要定义产品结构的组成及产品结构之间的逻辑关系,并可以根据需要进行个性化产品结构的搭建和数据的组织管理,提高利用产品结构树组织管理数据的灵活性,以及跨产品结构树的解释数据的能力,提高了结构树的定义和实现灵活性,保证了以产品结构树方式组织数据的正确性、一致性,能够适应多种工业应用的需要。

附图说明

图1为本发明实施例提供的构件式自定义产品结构树的结构示意图;

图2为本发明实施例提供的另一种构件式自定义产品结构树的实现方法流程示意图。

具体实施方式

以下结合附图和具体实施例对本发明作具体的介绍。

术语解释

树:计算机中用来表示数据的一种数据结构。

产品结构树:描述某一产品的物料组成及各部分文件组成的层次结构树状图,将产品数据管理中的产品信息,结合各个零部件之间的层级关系,组成一种有效的属性管理结构。

对象:对客观事物的抽象表达。

类型:具有共同性质的对象的集合的抽象表达。

构件:是面向软件体系架构的可复用软件功能,是可复用的软件组成成份,可被用来构造其他软件。

属性:描述对象的性质,是一个对象区别于其他对象的特征。

关系:对象之间相互作用、相互影响的状态。

策略:作用在类型上的实现特定目标的方案集合。即特指在特定场景下使用的执行逻辑和处理活动总称。

规则:作用在对象上的特定目标的方案集合。

生命周期:对象发展演化的过程状态的集合。

生命周期状态:对象在生命周期中所处的不同阶段的描述。

版本:记录对象演化发展的一种技术手段,通过字母和数字组合表明演化历史记录。

如图1所示,本发明实施例提供的构件式自定义产品结构树包括基本构件、产品结构树模板及产品结构树实例三部分。其中,基本构件是产品结构树的基础组成部分,产品结构树模板包括根节点及其相关的属性、关系、版本、生命周期、策略、规则以及子节点集合,其中,子节点集合包括属性、关系、对象、规则以及下级子节点结合,通过层层嵌套方式形成了多级产品结构树的描述;产品结构树实例包括根节点产品a下的装配件、装配件下的零件及与零件关联的文档和模型。

作为一个具体的实施例,要实现构件式动态定义产品结构树,需要完成对基本构件、模板和实例的联动管理操作。基本构件、模板和实例之间的联动操作提供的操作命令为:从基本构件到产品结构树模板的转换,通过“发布”命令,而通过产品结构树模板返回基本构件通过“查看构件”命令。同理,产品结构树模板和产品结构树实例通过“发布”和“查看模板”操作互相切换。为了保证运行时刻可以动态处理动态构件,在产品结构树实例设计了“更新动态构件”命令,可以直接切换到基本构件的动态构件,对动态构件中包含的规则进行更新操作。

下面对基本构件、产品结构树模板及产品结构树实例做具体说明:

(1)基本构件

在产品结构树分析的基础上,将产品结构树的组成部分进行了拆分,提炼出了产品结构树的基本构件。如图1所示,本发明将基本构件又细分为静态构件和动态构件两种类型。其中静态构件包括节点、属性、关系、生命周期、版本、对象,动态构件包括策略和规则。静态构件是在建模阶段完成的自定义内容,而动态构件是可以根据实际应用要求,动态施加在静态构件上的操作集合。动态构件的策略和规则均以xml文件形式存在,支持运行时更新。构件的操作内容包括增、删、改、查操作,静态构件和动态构件在“发布”后可被产品结构树模板使用。

(2)产品结构树模板

产品结构树模板首先需要定义根节点,根节点的定义也采用建模方式。定义根节点以后,在根节点下,定义与产品结构相关的内容和与根节点相关的内容。其中,根节点相关的内容为属性集合和关系集合,与产品结构相关的内容包括版本、生命周期、策略和规则。基本构件是在已“发布”的构件中选用所需构件,选用方式包括两种,一种是直接弹出界面在已有的构件里选取,另一种是选定需要添加的构件类型后,通过下拉框方式选择。所选的动态构件和静态构件集合构成了产品结构模板的组成内容。通过产品结构树模板的定义,可以建立不同类型的产品结构树,包括简单的无版本的产品结构树、有版本的产品结构树。一个产品结构树模板可以生成多个实例对象。

(3)产品结构树实例

如图1所示,建立产品结构树模板后,执行“由模板创建”操作,就可以开始产品结构树实例操作,系统按照产品结构树模板约束,对实际的数据进行检查校验,最终将合法的数据关联或加入到产品结构树,如产品结构树实例由下层子装配件或子零件以及相关的关联对象组成,如产品a由装配件b、装配件c、零件d和零件e组成,装配件b包含零件f和零件g,而零件g关联了文档和模型。该产品结构树实例是严格受到其产品结构树模板影响。

其中,基本构件、产品结构树模板及产品结构树实例之间的工作流程包括产品结构树实例的运行时策略和规则更新、产品结构树实例的运行时动态执行及产品结构树模板和构件的导出,其中:

为了提高产品结构树对动态不确定性的处理能力,本发明实施例提供了“更新动态构件”命令,在产品结构树实例中,对产品a下的规则可以执行运行时更新,更新操作会打开产品结构树关联的动态构件,进入xml编辑页面,通过文本编辑方式编辑策略和规则,在完成编辑后,点击“保存”,系统自动保存策略和规则;

动态完成策略和规则的编辑后,本发明实施例提供了触发对动态构件的执行“按策略或规则执行”命令,点击该命令后,系统开始按照当前产品结构实例下关联的最新的动态构件为依据,开始相应的操作。例如,可以针对产品a的产品结构设置了视图转换规则,那么产品a的产品结构转为另外的产品结构视图时,就按照最新的策略和规则进行转换;

为了提供产品结构实例所管理的产品数据的重用和共享能力,本发明实施例提供了对基本构件和产品结构模板的“导出”命令,在产品结构实例中,通过执行“导出模板”命令,可以将该实例数据使用的产品实例模板导出为指定格式的输出文件,同理,产品结构树模板可以执行“导出构件”操作,将模板使用的各种构件导出,从而提高对产品结构元数据的管理能力。

如图2所示,本发明实施例提供的构件式自定义产品结构树的实现方法包括以下步骤:

101,对产品结构树的构成要素进行标准化、模块化抽取,形成静态构件和动态构件;

102,组合所述静态构件和所述动态构件,形成产品结构树模板;

103,采用基础构件层面的定制、产品结构模板层面的定制和运行时的动态定制三种定制方法,自定义定制所述产品结构模板的内容,形成产品结构树实例。

可选地,所述方法还包括:

将所述产品结构树实例以链接方式或者寻址方式关联至所述产品结构树模板。

可选地,所述动态构件包括策略和规则,所述策略和所述规则的格式为xml。

本发明实施例提供的构件式自定义产品结构树的实现方法,通过对产品结构树的构成要素进行标准化、模块化抽取,形成静态构件和动态构件,组合所述静态构件和所述动态构件,形成产品结构树模板,采用基础构件层面的定制、产品结构模板层面的定制和运行时的动态定制三种定制方法,自定义定制所述产品结构模板的内容,形成产品结构树实例,可以根据业务需要定制产品结构模板所需的内容,保证产品结构个性化功能实现,保证了产品结构树的逻辑和实例一致性,提高了产品结构树的定制能力,做到针对业务需要定义产品结构的组成及产品结构之间的逻辑关系,并可以根据需要进行个性化产品结构的搭建和数据的组织管理,提高利用产品结构树组织管理数据的灵活性,以及跨产品结构树的解释数据的能力,提高了结构树的定义和实现灵活性,保证了以产品结构树方式组织数据的正确性、一致性,能够适应多种工业应用的需要。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1