基于运载火箭产品BOM树型数据模型试验数据同步方法与流程

未命名 08-15 阅读:273 评论:0

基于运载火箭产品bom树型数据模型试验数据同步方法
技术领域
1.本发明属于火箭试验数据管理系统技术领域,具体为一种基于运载火箭产品bom树型数据模型试验数据同步方法。


背景技术:

2.传统的火箭型号研制过程中,试验数据普遍采用基于型号-类型-试验任务的三级管理结构,试验数据作为试验任务的完成结果在系统中管理受控。但随着型号研制任务大量增加,产品迭代速度加快,传统试验数据管理结构的劣势也越来越明显,如试验数据混乱离散、试验数据与产品研发没有关联、数据分析及利用效率低下,难以实现研发-试验-验证过程的追溯和闭环等。近年来,基于产品设计bom树型数据模型对试验数据进行管理已经有诸多研究成果,如中北大学的硕士学位论文《基于bom的汽车产品数据管理系统的研究与实现》,但并没有涉及设计bom和试验bom树型数据的同步内容。通过设计bom、制造bom、成本bom、试验bom一体化平台,在火箭产品的研发制造的全生命周期中对其涉及到的数据进行有效管理,提高管理水平,实现诸如mbse等复杂系统工程功能。但设计bom和试验bom的树型数据还没有实现数据同步,亟待解决。


技术实现要素:

3.针对现有技术的缺陷和工程应用需求,获取产品数据管理系统的火箭产品bom树型数据,实时关联试验bom树型数据并同步更新,实现试验任务数据与设计bom同步。
4.本发明提供基于运载火箭产品bom树型数据模型试验数据同步方法,包括如下步骤
5.试验数据管理系统向产品数据管理系统申请bom树型数据同步;
6.确定产品数据管理系统中当前设计bom的根节点、子节点、叶节点唯一编号及父子关系;
7.将设计bom根、叶节点转化为一组树型数据,以对象嵌套的方式存储;
8.获取各节点的键值;
9.基于上述键值生成设计bom的树型数据包及版本号a;
10.产品数据管理系统向试验数据管理系统传送树型数据包和版本号a;
11.试验数据管理系统接收到设计bom的树型数据包后,遍历对象嵌套结构获取各节点父子关系;
12.解析树型各节点的键值,获取各节点初始值;
13.读取试验数据管理系统试验bom当前b版本树型数据的根节点、子节点、叶节点编号及父子关系,获取各叶节点下关联的试验任务唯一标识列表;
14.读取b版本树型数据根节点上存储的试验任务唯一标识列表,写入到a版本树型数据根节点;
15.遍历a版本树型数据所有叶节点编号,与b版本树型数据所有叶节点编号进行对
比:
16.当存在相同的编号时,将该编号对应的试验任务唯一标识列表以字典形式存储到a版本树型数据相应叶节点上;
17.当存在某一个叶节点编号在a版本树型数据中且不在b版本树型数据中,保留该叶节点编号;
18.当存在某一个叶节点编号在b版本树型数据中且不在a版本树型数据中,将该叶节点编号对应的试验任务唯一标识列表以字典形式存储到根节点上;
19.将a版本树型数据及各节点上的试验任务唯一标识列表信息展开,加载到试验数据管理系统中,完成同步。
20.进一步地,所述将设计bom根、叶节点转化为一组树型数据,以对象嵌套的方式存储,具体包括
21.构造节点对象,该类型对象包含唯一标识、父节点唯一标识、名称、和子节点属性值;
22.读取设计树型bom数据模型的每个节点对应的唯一标识、父节点唯一标识、名称、和子节点属性值,并生成节点对象实例;
23.所有对象实例按照父节点唯一标识值进行嵌套组合,生成一组树状结构数据。
24.进一步地,所述获取各节点的键值,具体包括采用预设加密算法对所有根、子、叶节点进行加密,通过哈希计算获取各节点的键值。
25.进一步地,所述解析树型各节点的键值,获取各节点初始值包括解析树型各节点的键值,采用预设解密算法获取各节点初始值。
26.进一步地,所述获取各叶节点下关联的试验任务唯一标识列表具体包括
27.通过叶节点唯一标识寻找关联的试验任务唯一标识列表,如果给出的节点不在树上,返回空列表;否则,创建一个空列表;如果任务的节点唯一标识等于给出的节点唯一标识,将任务信息添加到空列表中。
28.进一步地,所述当存在相同的编号时,将该编号对应的试验任务唯一标识列表以字典形式存储到a版本树型数据相应叶节点上,具体包括
29.寻找结构树a版本树型数据和结构树b版本树型数据相同的叶节点,并将该叶节点的信息更新到a版本树型数据上。
30.进一步地,所述将a版本树型数据及各节点上的试验任务唯一标识列表信息展开包括合并所有叶节点,按照父子关系展开,具体包括
31.合并所有叶节点的试验任务信息,若节点的父级为根节点,将该节点的试验任务列表更新到结构树a版本树型数据的根节点上;否则在结构树a版本树型数据上找到相同唯一标识的节点并更新到试验任务列表信息。
32.本实施例还提供一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述的基于运载火箭产品bom树型数据模型试验数据同步方法。
33.本实施例还提供一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述的基于运载火箭产品bom树型数据模型试验数据同步方法。
34.本发明的方法通过设计bom、制造bom、成本bom、试验bom一体化平台,在火箭产品的研发制造的全生命周期中对其涉及到的数据进行有效管理,实现设计bom和试验bom的树型数据同步,提高试验数据管理利用水平,实现诸如mbse等复杂系统工程功能。
附图说明
35.图1为本发明方法的流程示意图;
36.图2为本发明方法的树型数据示意图。
具体实施方式
37.如图1,为本发明实施例的基于运载火箭产品bom树型数据模型试验数据同步方法流程示意图。
38.本发明实施例提供一种基于运载火箭产品bom树型数据模型试验数据同步方法,包括如下步骤
39.试验数据管理系统向产品数据管理系统申请树型数据同步,申请内容中包含机器特征码、申请时间、申请人账号信息。机器特征码是一串能唯一标识主机的代码,这个代码出厂的时候就有,一般是mac码或者主机序列号。
40.确定产品数据管理系统中当前设计bom根节点、子节点、叶节点唯一编号及父子关系。
41.将设计bom根、叶节点转化为一组树型数据,以对象嵌套的方式存储,方便后续计算;转化方法具体包括
42.构造节点对象,该类型对象包含唯一标识(例如awceq01)、父节点唯一标识(例如某个节点的标识为awceq01,它的父节点唯一标识可能为awcyu05)、名称、和子节点属性值(子节点属性可以包含各种各样信息,可以添加或修改,如子节点的创建时间、创建人、或者子节点代表的产品组成等);读取设计树型bom数据模型的每个节点对应的唯一标识、父节点唯一标识、名称、和子节点属性值,并生成节点对象实例;所有对象实例按照父节点唯一标识值进行嵌套组合,生成一组树状结构数据,如图2所示,root代表根节点,然后node2,node3,node4是node1的子节点,node5是node3的子节点,node1,node6,node7是根节点的子节点,该图是用缩进(空格)来表示不同的节点父子关系的。
43.以对象嵌套的方式存储,具体方法为
44.树型数据中包含很多的节点(node)对象,这些对象按照从属关系进行嵌套,如节点1(node1)和节点3(node3)属于节点2(node2),那么认为节点1(node1)和节点3(node3)就嵌套在节点2(node2)中。例如:
45.node2
46.·
node1
47.·
node3
48.在树型数据中这节点1和3是节点2的子节点,
49.对应嵌套关系为:
50.node2(node1,node3)。
51.获取各节点的键值,即节点的唯一标识值(awceq01),可以直接获取,作为一实例
也可以采用预设加密算法对所有根、子、叶节点进行加密,通过哈希计算获取各节点的键值;具体可以采用base64加密算法,或者sha算法、haval算法都可以,处理成为一串哈希代码,保证键值唯一性并增强安全性。作为另一实例,rsa、ecc加密算法也行,这两个算法安全性更高,但是速度会慢很多。
52.基于上述键值生成设计bom树结构数据包及版本号a,产品数据管理系统向试验数据管理系统传送树型数据包和版本号a,试验数据管理系统接收到数据后返回成功消息和接收时间;
53.试验数据管理系统接收到设计bom的树型数据包后,遍历对象嵌套结构获取各节点父子关系;
54.解析树型各节点的键值,获取各节点初始值包括解析树结构各节点的键值,采用预设解密算法获取各节点初始值;
55.读取试验数据管理系统当前b版本树型数据树结构根节点、子节点、叶节点编号及父子关系,获取各叶节点下关联的试验任务唯一标识列表,具体包括叶节点下试验任务名称、唯一标识值(id)、顺序,这些信息可以列成一张表如下:
56.排序名称任务id1力学试验任务01lxsyrw01 2风洞试验任务03fdsyrw03
………
57.用伪代码表示上述过程:
58.func gettasklist(node,tree,taskset)//通过叶节点id寻找关联的试验任务id列表
59.ifnode not intree://如果给出的节点不在树上,返回空列表
60.returnnull
61.else://否则
62.tasklist=[]//创建一个空列表
[0063]
fornode in tree:
[0064]
//如果任务的节点id等于给出的节点id
[0065]
iftask.nodeid==node.id
[0066]
//将任务信息添加到空列表中
[0067]
tasklist.append([task.order,task.name,task.id])
[0068]
return tasklist。
[0069]
读取b版本树型数据结构树根节点上存储的试验任务唯一标识列表,写入到a版本树型数据结构树根节点。
[0070]
遍历a版本树型数据结构树所有叶节点编号,与b版本树型数据所有叶节点编号进行对比。当存在相同的编号时,将该编号对应的试验任务唯一标识列表以字典形式存储到a版本树型数据相应叶节点上,具体包括
[0071]
寻找结构树a版本树型数据和结构树b版本树型数据相同的叶节点,并将该叶节点的信息更新到a版本树型数据上,用伪代码表示为:
[0072]
func updatetree(tasklist,tree_a,tree_b)://寻找结构树a和结构树b相同的
叶节点,并将该叶节点的信息更新到a上
[0073]
fornode_a in tree_a:
[0074]
fornode_b in tree_b:
[0075]
ifnode_a.id==node_b.id:
[0076]
update node_a.tasklist=node_b.tasklist。
[0077]
当存在某一个叶节点编号在a版本树型数据中且不在b版本树型数据中,保留该叶节点编号;当存在某一个叶节点编号在b版本树型数据中且不在a版本树型数据中,将该叶节点编号对应的试验任务唯一标识列表以字典形式存储到根节点上。
[0078]
根节点和叶节点均可存储试验任务唯一标识列表,当上一个版本的树型数据中和当前版本树型数据中具有同一个叶节点时(相当于不需要更新),这个节点对应的试验任务唯一标识列表就存储在叶节点上;否则,当上一个版本的树型数据中的节点不在当前版本树型数据中(相当于更新后丢失了该节点),那么这个节点对应的试验任务唯一标识列表就存储在根节点上(因为找不到可以存储的叶节点了)。
[0079]
将a版本树型数据结构树信息及各节点上的试验任务唯一标识列表信息展开,加载到试验数据管理系统中,完成同步。具体包括合并所有叶节点,按照父子关系展开,具体包括
[0080]
合并所有叶节点的试验任务信息,将所有叶节点放入一个集合中,然后依次取出这个集合中的元素(也就是叶节点),用每个元素包含的信息去更新结构树。若节点的父级为根节点,将该节点的试验任务列表更新到树型数据a版本树型数据的根节点上;否则在树型数据a版本树型数据上找到相同唯一标识的节点并更新到试验任务列表信息。
[0081]
用伪代码表示为:
[0082]
func loadtree(tree_a,seta)://合并所有叶节点的试验任务信息for node in seta:
[0083]
//若节点的父级为根节点
[0084]
ifnode.parentid==tree_a.root.id:
[0085]
//将该节点的试验任务列表更新到结构树a的根节点上
[0086]
tree_a.root.tasklist.append(gettasklist(node))
[0087]
else:
[0088]
fornode_a in tree_a:
[0089]
ifnode.id==node_a.id:
[0090]
//否则在结构树a上找到相同id的节点并试验任务列表信息
[0091]
node_a.tasklist.append(gettasklist(node))
[0092]
return tree_a。
[0093]
重复上述过程实现基于产品bom的结构树实时更新,见图1。

技术特征:
1.基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于包括如下步骤试验数据管理系统向产品数据管理系统申请树型数据同步;确定产品数据管理系统中当前设计bom的根节点、子节点、叶节点唯一编号及父子关系;将设计bom根、叶节点转化为一组树型数据,以对象嵌套的方式存储;获取各节点的键值;基于上述键值生成设计bom的树型数据包及版本号a;产品数据管理系统向试验数据管理系统传送树型数据包和版本号a;试验数据管理系统接收到设计bom的树型数据包后,遍历对象嵌套结构获取各节点父子关系;解析树型各节点的键值,获取各节点初始值;读取试验数据管理系统试验bom当前b版本树型数据的根节点、子节点、叶节点编号及父子关系,获取各叶节点下关联的试验任务唯一标识列表;读取b版本树型数据根节点上存储的试验任务唯一标识列表,写入到a版本树型数据树型根节点;遍历a版本树型数据树型所有叶节点编号,与b版本树型数据树型所有叶节点编号进行对比:当存在相同的编号时,将该编号对应的试验任务唯一标识列表以字典形式存储到a版本树型数据相应叶节点上;当存在某一个叶节点编号在a版本树型数据中且不在b版本树型数据中,保留该叶节点编号;当存在某一个叶节点编号在b版本树型数据中且不在a版本树型数据中,将该叶节点编号对应的试验任务唯一标识列表以字典形式存储到根节点上;将a版本树型数据及各节点上的试验任务唯一标识列表信息展开,加载到试验数据管理系统中,完成同步。2.根据权利要求1所述的基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于,所述将设计bom根、叶节点转化为一组树型数据,以对象嵌套的方式存储,具体包括构造节点对象,该类型对象包含唯一标识、父节点唯一标识、名称、和子节点属性值;读取设计树型bom数据模型的每个节点对应的唯一标识、父节点唯一标识、名称、和子节点属性值,并生成节点对象实例;所有对象实例按照父节点唯一标识值进行嵌套组合,生成一组树状结构数据。3.根据权利要求1或2所述的基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于,所述获取各节点的键值,具体包括采用预设加密算法对所有根、子、叶节点进行加密,通过哈希计算获取各节点的键值。4.根据权利要求3所述的基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于,所述解析树结构各节点的键值,获取各节点初始值包括解析树结构各节点的键值,采用预设解密算法获取各节点初始值。5.根据权利要求1所述的基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于,所述获取各叶节点下关联的试验任务唯一标识列表具体包括
通过叶节点唯一标识寻找关联的试验任务唯一标识列表,如果给出的节点不在树上,返回空列表;否则,创建一个空列表;如果任务的节点唯一标识等于给出的节点唯一标识,将任务信息添加到空列表中。6.根据权利要求1所述的基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于,所述当存在相同的编号时,将该编号对应的试验任务唯一标识列表以字典形式存储到a版本树型数据相应叶节点上,具体包括寻找结构树a版本树型数据和结构树b版本树型数据相同的叶节点,并将该叶节点的信息更新到a版本树型数据上。7.根据权利要求1所述的基于运载火箭产品bom树型数据模型试验数据同步方法,其特征在于所述将a版本树型数据及各节点上的试验任务唯一标识列表信息展开包括合并所有叶节点,按照父子关系展开,具体包括合并所有叶节点的试验任务信息,若节点的父级为根节点,将该节点的试验任务列表更新到树型数据a版本树型数据的根节点上;否则在树型数据a版本树型数据上找到相同唯一标识的节点并更新到试验任务列表信息。8.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的基于运载火箭产品bom树型数据模型试验数据同步方法。9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的基于运载火箭产品bom树型数据模型试验数据同步方法。

技术总结
本发明涉及基于运载火箭产品BOM树型数据模型试验数据同步方法,包括试验数据管理系统向产品数据管理系统申请BOM树型数据同步;确定产品数据管理系统中当前设计BOM的根节点、子节点、叶节点唯一编号及父子关系;将设计BOM根、叶节点转化为一组树型数据,以对象嵌套的方式存储;获取各节点的键值。通过设计BOM、制造BOM、成本BOM、试验BOM一体化平台,在火箭产品的研发制造的全生命周期中对其涉及到的数据进行有效管理,实现设计BOM和试验BOM的树型数据同步,提高试验数据管理利用水平,实现诸如MBSE等复杂系统工程功能。如MBSE等复杂系统工程功能。如MBSE等复杂系统工程功能。


技术研发人员:张行 熊双武 闾三宇 龚卿青 阮彩霞
受保护的技术使用者:航天科工火箭技术有限公司
技术研发日:2022.12.28
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐