一种自动判断关联数据技术状态一致性的版本管理系统技术方案

技术编号:13191360 阅读:52 留言:0更新日期:2016-05-11 19:09
本发明专利技术涉及一种自动判断关联数据技术状态一致性的版本管理系统,包括版本库、版本管理器、技术状态一致性检查器和技术状态通知生成器,本系统可以根据工程设计数据具有明确上下游关系的特点,对工程设计数据定义数据包及其“上下游”关系,在文件提交时进行提交合法性检查,对上下游数据的技术状态一致性进行自动判断,发现潜在的技术状态不一致问题,并向相关设计人员提供技术动态变更通知,提醒相关设计人员及时更新过时数据,本系统不仅能控制版本状态还可以降低状态不一致的工程数据被误用的可能性,减少工程质量问题,避免经济损失,提高工作效率。

【技术实现步骤摘要】

本专利技术涉及一种自动判断关联数据技术状态一致性的版本管理系统,属于工程设计数据管理

技术介绍
工程数据之间的关联关系往往呈现“上下游”形式的相关,即依据相对固化的计算过程,以“上游数据”数据为计算输入,计算生成“下游数据” ο在此种关系下,上游数据发生更改后,下游数据必须相应更改,否则将导致工程项目数据的不一致。复杂产品设计过程产生的数据项目众多,数据项目之间的上下游关系极为复杂。容易出现上游数据变化后,相关设计人员未发现或未收到通知,没有及时更新下游数据,使项目数据的技术状态不一致。而且,由于上下游关联关系十分复杂,也难以依靠人工手段,判断数据整体上的状态一致性。当这种状态不一致的工程数据被误用后,往往导致工程质量问题,带来经济损失。目前市面上存在多种版本管理系统,能够实现记录数据变化历史的记录功能,并能够支持多人对数据的协同修改。但是,现有的版本管理系统没有考虑到工程数据具有“上下游”形式的关系,不对更改数据所依赖的上游数据进行合法性检查,也不具备自动判断上下游技术状态一致性的功能。市面上还存在一些流程管理软件,这些流程管理软件往往要求管理人员事先定义设计流程,以确定上下游传递关系,但流程的定义繁琐且经常变化,且采用这种流程管理软件管理工程设计之间的设计流程将导致各专业组难以灵活调整协同流程,工作效率低。
技术实现思路
本专利技术的技术解决问题是:克服现有技术的不足,针对复杂产品多专业工程设计数据设计特点,提供一种自动判断关联数据技术状态一致性的版本管理系统,保证上下游数据的一致性,降低状态不一致的工程数据被误用的可能性。本专利技术的技术方案是:一种自动判断关联数据技术状态一致性的版本管理系统,包括版本库、版本管理器、技术状态一致性检查器和技术状态通知生成器,其中:版本管理器,新建或导入工程数据,所述工程数据分项目存储,一个项目从项目根目录开始,包括根目录、子目录和文件名称及内容;将工程数据中指定的子目录定义为数据包,确定数据包“上下游”的关系,生成数据包“上下游”关系表和数据包“上下游”顺序表;为每个数据包定义用户权限,形成用户权限信息表;判断客户端文件提交合法性,将合法性判断结果发送给客户端;响应客户端文件提交申请,为变化或增加的文件及其各级父目录按照单调递增的原则分配新的版本号进行标识,更新工程数据版本;数据包状态表、数据包“上下游”关系表、数据包“上下游”顺序表、用户权限信息表和各个版本的工程数据均存入版本库;技术状态一致性检查器,读取工程数据所有文件和目录版本,创建所有数据包版本快照;根据数据包“上下游”关系及数据包版本快照中的数据包版本号进行技术状态一致性检查,更新数据包状态表中的数据包状态,存入版本库;技术状态通知生成器,读取版本库中的数据包状态信息、数据包“上下游”关系信息、用户权限信息,生成技术状态变化消息,根据用户权限信息,提供给与消息对应的数据包相关联的客户端。数据包“上下游”关系表中记录各数据包的所有直接上游数据包,所述直接上游数据包定义为与该数据包存在“上下游”关系的所有数据包中与该数据包最近的上游数据包,其他各数据包均为间接上游数据包,直接上游数据包和间接上游数据包合为该数据包的上游数据包。数据包状态表中存储每个数据包的状态,所述数据包状态依据以下原则分为“无需更新”、“已过时”和“待更新”三类:当本数据包的最新版本号大于其所有上游数据包的最新版本号时,本数据包为“无需更新”状态;当本数据包的版本号小于其至少一个直接或间接上游数据包,本数据包为“已过时”状态;当一个“已过时”数据包的所有上游数据包都是“无需更新”状态时,本数据包为“待更新”状态。技术状态一致性检查器进行技术状态一致性检查的工作流程为:(I)将所有数据包置为“无需更新”状态;(2)遍历所有的数据包,对每个数据包进行“已过时”状态检查,即检查每个数据包的所有直接上游数据包的状态和版本,如果存在一个以上直接上游数据包为“已过时”状态或者存在一个以上直接上游数据包的版本号大于该数据包,则将该数据包更新为“已过时”状态,进入步骤(3 ),如果该数据包的所有直接上游数据包均为“无需更新”状态且所有直接上游数据包的版本号均不大于该数据包,则保留本数据包的“无需更新”状态,进入步骤(3);(3)遍历所有“已过时”状态的数据包的每一个数据包的所有直接上游数据包,如果上游数据包均为“无需更新”状态,将该数据包改为“待更新”状态,直到所有“已过时”状态的数据包处理完毕。技术状态一致性检查器工作流程中的步骤(2)中所述遍历所有数据包,对每个数据包进行“已过时”状态检查的一种方法为轮循遍历法:(I)选取任意一个数据包,对该数据包进行“已过时”状态检查;(2)选取工程数据中下一个数据包,重复进行“已过时”状态检查,直到所有的数据包都检查完毕,完成全部数据包的一轮“已过时”状态检查;(3)重复执行步骤(I)?步骤(2),循环对所有数据包进行新一轮“已过时”状态检查,直到本轮检测没有新增的数据包被更新为“已过时”状态为止。技术状态一致性检查器工作流程中的步骤(2)中所述遍历所有数据包,对每个数据包进行“已过时”状态检查的另一种具体方法为排序遍历法:(I)读取数据包“上下游”顺序表,所述数据包“上下游”顺序表中按照从上游至下游的顺序排列项目中所有的数据包;(2)依次从数据包“上下游”顺序表中取出每个数据包,进行“已过时”状态检查,直到所有数据包检查完毕。版本管理器创建数据包“上下游”顺序表的具体步骤为:(I)新建一个空白列表:数据包“上下游”顺序表;(2)新建一个数据包的列表A,将项目中所有的数据包以任意顺序放入列表A中;(3)从列表A中的第一个数据包开始,依次针对每个数据包重复执行步骤(4),直至列表A中的最后一个数据包处理完毕后,进入步骤(5);(4)如果该数据包没有上游数据包或其所有上游数据包都已在数据包“上下游”顺序表中,则将该数据包从列表A中移除,放置在一个临时的列表B中;(5)将列表B中的所有数据包依次放置到数据包“上下游”顺序表最后一个元素之后,如果数据包“上下游”顺序表为空,则从头开始放置,进入步骤(6);(6)清空列表B;(7)重复执行步骤(3)?步骤(6),直到列表A为空,即其中所有数据包都已被转移至数据包“上下游”顺序表中。版本管理器判断客户端文件提交合法性,将合法性判断结果发送给用户的工作流程为:(I)用户需要修改工程数据时,将版本库中的工程数据下载到本地工作目录时,在本地工作目录中记录所有数据包当前版本记为下载时版本号;(2)在客户端发起提交请求时,将上述下载时版本号同时提交至版本管理器,版本管理器判断本次更改涉及哪些数据包,选择每个已更改数据包,依次执行步骤(3)和步骤(4);(3)如果该数据包的直接或间接上游数据包的最新版本号大于“下载时版本号”,则报告“上游数据包已在上次下载后发生更改,请下载最新数据”的信息;(4)如果该数据包为“已过时”状态,提示“上游数据包尚未完成更改,请等待直接上游数据包更改后再更改”;(5)如果在步骤3和/或步骤4中报告了相应的提示信息,视为提交合法性检查失败,拒绝用户的此次提交。版本管理器更新工程数据版本的具体工作流程为:(I)响应客户端文件提交申请,将本文档来自技高网...

【技术保护点】
一种自动判断关联数据技术状态一致性的版本管理系统,其特征在于包括版本库、版本管理器、技术状态一致性检查器和技术状态通知生成器,其中:版本管理器,新建或导入工程数据,所述工程数据分项目存储,一个项目从项目根目录开始,包括根目录、子目录和文件名称及内容;将工程数据中指定的子目录定义为数据包,确定数据包“上下游”的关系,生成数据包“上下游”关系表和数据包“上下游”顺序表;为每个数据包定义用户权限,形成用户权限信息表;判断客户端文件提交合法性,将合法性判断结果发送给客户端;响应客户端文件提交申请,为变化或增加的文件及其各级父目录按照单调递增的原则分配新的版本号进行标识,更新工程数据版本;数据包状态表、数据包“上下游”关系表、数据包“上下游”顺序表、用户权限信息表和各个版本的工程数据均存入版本库;技术状态一致性检查器,读取工程数据所有文件和目录版本,创建所有数据包版本快照;根据数据包“上下游”关系及数据包版本快照中的数据包版本号进行技术状态一致性检查,更新数据包状态表中的数据包状态,存入版本库;技术状态通知生成器,读取版本库中的数据包状态信息、数据包“上下游”关系信息、用户权限信息,生成技术状态变化消息,根据用户权限信息,提供给与消息对应的数据包相关联的客户端。...

【技术特征摘要】

【专利技术属性】
技术研发人员:马苏宏杜可君完颜振海肖进孙树森杨亮徐嘉梁磊聂蓉梅吴魁
申请(专利权)人:北京宇航系统工程研究所中国运载火箭技术研究院
类型:发明
国别省市:北京;11

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

1