当前位置: 首页 > 专利查询>武汉大学专利>正文

一种复制式协同CAD系统中的并发控制方法技术方案

技术编号:10637267 阅读:223 留言:0更新日期:2014-11-12 12:31
本发明专利技术公开了一种复制式协同CAD系统中的并发控制方法,方法通过构建拓扑元素结构树,基于拓扑元素结构树记录了边界模型上拓扑元素的最新状态,拓扑元素被分裂、合并以及删除的历史以及导致拓扑元素被删除的操作集合。通过对拓扑元素引用意图的分析以及获得拓扑元素结构树中记录的拓扑元素状态和变化历史,可以实现协同CAD环境中并发操作情况下造型操作的正确执行以及协同系统的一致性维护。本发明专利技术与已有技术相比较,效果是积极且明显的:首先,本方法最大程度地保证了造型操作基于当前边界模型执行;同时,本方法是在多用户协同编辑环境中进行,维护了各协同站点上边界模型在并发操作情况下的一致性。

【技术实现步骤摘要】
一种复制式协同CAD系统中的并发控制方法
本专利技术属于CSCW领域,涉及一种复制式协同CAD系统中的并发控制方法。
技术介绍
在复制式协同CAD系统中,各个用户之间需要通过协作来完成共同的设计任务,一致性维护和并发控制是CSCW系统中的一个具有挑战性的问题。对于三维协同建模系统,一致性维护的目的在于采用合适的并发控制机制,保证造型操作在各协同站点的正确执行。基于历史的参数化特征造型技术已成为了三维CAD系统的主流造型技术。三维模型的拓扑结构不仅依赖于几何,也依赖于造型历史顺序,这是因为在基于历史的特征设计过程中,特征的不断添加引起了拓扑元素的不断变化。在三维协同建模系统中,操作的并发产生使得造型操作命令中引用的拓扑元素在远端站点被改变。这将导致造型操作在远端站点执行时无法满足拓扑元素引用意图保持这一一致性条件,各协同站点的造型结果不一致情况无法避免。关键之一在于快速访问并获取CAD的模型信息。在三维协同建模环境中,造型操作在远端站点上访问拓扑元素信息时,需考虑到拓扑元素被改变时的拓扑元素访问。现有的并发控制方法包括:(1)非静默上下文状态下的拓扑元素对应方法。该方法定义了操作定义上下文DC(DefinitionContext)与操作执行上下文EC(ExecutionContext),通过为造型操作附加状态向量判断操作的DC和EC是否一致。使用Undo/Do/Redo方法直接将模型恢复至操作的定义上下文以保证上下文敏感型操作在远端站点执行时的拓扑元素引用意图保持;通过关联引用模型方法保证了非上下文敏感型操作在远端站点执行时的拓扑元素的引用意图保持。仅凭DC(O)≠EC(O)无法准确地判定操作O中引用的拓扑元素在远端站点被改变,这是因为远端站点在接收操作O之前执行的O的并发操作不一定会改变O中引用的拓扑元素。(2)拓扑元素名字演化方法。使用名字演化图(NamePropagationGraph)记录建模过程中拓扑元素在合并、分裂、删除和未改变时的名字演化历史。在拓扑元素原始名字的基础上附加顺序号seq和序号num分别表示拓扑元素被分裂或者合并的次数以及由同一拓扑元素分裂后获得拓扑元素的拓扑元素的编号。但是这种方法仅在单机环境下提出,无法解决协同CAD系统中由并发操作导致的拓扑元素变化时的引用意图保持问题。(3)参数模型中拓扑元素变化追踪的方法。方法将模型参数与拓扑元素结构变化相关联。方法对于平面、圆柱、圆等简单几何形状进行了讨论。不足之处在于只是通过临界值给出了判断拓扑元素结构变化的可能性,并未对拓扑元素变化结果进行精确的判断和记录。(4)记录拓扑元素父子关系。研究了单机CAD环境中造型操作执行前后的模型拓扑元素间的父子关系以记录拓扑元素的变化历史和变化结果,并将对应结果存储在一个二维链表的数据结构中。不足之处在于方法计算量大且仅适用于单机环境。
技术实现思路
本专利技术的目的是针对上述关于复制式协同CAD系统中并发控制方法研究的空白之处,提出了在复制式协同CAD系统中的并发控制方法,该方法能够在多用户协同编辑的环境中各协同站点上边界模型状态的一致性。本专利技术所采用的技术方案是:一种复制式协同CAD系统中的并发控制方法,其特征在于,包括以下步骤:步骤1:协同站点Si发出造型操作O后,依据本地站点保存的拓扑元素结构树获得被引用拓扑元素的ID信息,将造型操作O逐一发送到各个远端协同站点;步骤2:协同站点Sj接收到Si发出的造型操作O后,对造型操作O对应的高级造型命令文本进行解析,分别获得几何引用的拓扑元素集GeoRefEntityList和拓扑引用的拓扑元素集TopRefEntityList;步骤3:在站点Sj的拓扑元素结构树中逐一定位被几何引用的拓扑元素,判断被几何引用拓扑元素在协同站点Sj上是否被分裂、合并或者删除,获得拓扑元素分裂后的任一新拓扑元素及合并后拓扑元素,获得导致拓扑元素被删除的造型操作,放入造型操作O的影响操作集EOS(O)中;步骤4:在站点Sj的拓扑元素结构树中逐一定位被拓扑引用的拓扑元素,判断被拓扑引用拓扑元素在协同站点Sj上是否被分裂、合并或者删除,获得拓扑元素分裂后生成的所有拓扑元素,放入分裂拓扑元素集SplitEntityList(O)中,获得导致拓扑元素被删除或合并的影响操作集EOS(O);步骤5:当EOS(O)不为空时,交换造型操作O和影响操作集EOS(O)的执行顺序,并将每一步的造型结果记录到模型状态流中,完成造型操作的执行;当SplitEntityList(O)不为空时,对其中的每一个拓扑元素执行造型操作,并在针对最后一个拓扑元素的造型操作执行完毕后,将造型结果记录到模型状态流中,造型操作O执行完毕。作为优选,步骤1中所述的拓扑元素结构树是一种记录边界模型上拓扑元素状态及变化历史的层次化结构,拓扑元素结构树的根节点为空,所有原始拓扑元素节点都位于第二层,同一层的拓扑元素节点为兄弟节点并通过NEXT指针连接,对任意节点P,若其Split指针不为空,则表示该节点对应的拓扑元素被分裂;若其状态为INACTIVE且Merge_Next指针不为空,则节点P对应的拓扑元素合并入Merge_Next指向节点对应的拓扑元素;若其状态为MERGED且Merge_Next指针为空但Merge_Prev指针不为空,则节点P对应于合并后拓扑元素,随着各协同站点对边界模型的连续修改,拓扑元素的状态也在不断发生变化,拓扑元素结构树在各协同站点上不一定是一致的。作为优选,步骤1中所述的依据本地站点保存的拓扑元素结构树获得被引用拓扑元素的ID信息,其具体实现包括如下子步骤:步骤1.1:根据用户交互过程中获得引用拓扑元素在本站点地址空间的指针信息,对拓扑元素结构树进行遍历,满足节点的pointer分量值与指针值相等的节点即为拓扑元素对应节点;步骤1.2:对节点状态进行判断;若节点状态为ACTIVE,且Merge_Prev指针为空,则被引用拓扑元素的ID信息即为节点的ID分量值;若节点状态为ACTIVE,且Merge_Prev指针不为空,则执行步骤1.3被引用拓扑元素的ID信息;步骤1.3:将节点的ID分量值放入被引用拓扑元素的ID信息中,Merge_Prev指针指向节点为CurrentNode,并将其ID分量值放入被引用拓扑元素的ID信息中,若CurrentNode的Merge_Prev指针不为空,则回转执行步骤1.3继续遍历;若为空,则结束遍历。作为优选,步骤1中所述的将造型操作O逐一发送到各个远端协同站点,其具体实现是:将造型操作O的站点标识、操作在站点产生的顺序号、以字符串的形式记录造型操作名称、被几何引用的拓扑元素的ID信息列表、几何引用参数列表、被拓扑引用的拓扑元素的ID信息列表、拓扑引用参数列表、造型操作到达任一协同站点的顺序号以及造型操作在任一协同站点执行的顺序号的造型操作发送至各远端站点。作为优选,步骤3中所述的在站点Sj的拓扑元素结构树中逐一定位被几何引用的拓扑元素,其具体实现过程包括如下子步骤:步骤3.1.1:得到GeoRefEntityList中包含的第一个拓扑元素的ID信息;步骤3.1.2:对ID字符串进行解析,并判断若ID长度为1,则直接根据ID信息直接在拓扑元素结构树中定位对应节本文档来自技高网
...
一种复制式协同CAD系统中的并发控制方法

【技术保护点】
一种复制式协同CAD系统中的并发控制方法,其特征在于,包括以下步骤:步骤1:协同站点Si 发出造型操作O后,依据本地站点保存的拓扑元素结构树获得被引用拓扑元素的ID信息,将造型操作O逐一发送到各个远端协同站点;步骤2:协同站点Sj 接收到Si 发出的造型操作O后,对造型操作O对应的高级造型命令文本进行解析,分别获得几何引用的拓扑元素集GeoRefEntityList和拓扑引用的拓扑元素集TopRefEntityList; 步骤3:在站点Sj的拓扑元素结构树中逐一定位被几何引用的拓扑元素,判断被几何引用拓扑元素在协同站点Sj上是否被分裂、合并或者删除,获得拓扑元素分裂后的任一新拓扑元素及合并后拓扑元素,获得导致拓扑元素被删除的造型操作,放入造型操作O的影响操作集EOS(O)中;步骤4:在站点Sj的拓扑元素结构树中逐一定位被拓扑引用的拓扑元素,判断被拓扑引用拓扑元素在协同站点Sj上是否被分裂、合并或者删除,获得拓扑元素分裂后生成的所有拓扑元素,放入分裂拓扑元素集SplitEntityList(O)中,获得导致拓扑元素被删除或合并的影响操作集EOS(O);步骤5:当EOS(O)不为空时,交换造型操作O和影响操作集EOS(O)的执行顺序,并将每一步的造型结果记录到模型状态流中,完成造型操作的执行;当 SplitEntityList(O)不为空时,对其中的每一个拓扑元素执行造型操作,并在针对最后一个拓扑元素的造型操作执行完毕后,将造型结果记录到模型状态流中,造型操作O执行完毕。...

【技术特征摘要】
1.一种复制式协同CAD系统中的并发控制方法,其特征在于,包括以下步骤:步骤1:协同站点Si发出造型操作O后,依据本地站点保存的拓扑元素结构树获得被引用拓扑元素的ID信息,将造型操作O逐一发送到各个远端协同站点;步骤2:协同站点Sj接收到Si发出的造型操作O后,对造型操作O对应的高级造型命令文本进行解析,分别获得几何引用的拓扑元素集GeoRefEntityList和拓扑引用的拓扑元素集TopRefEntityList;步骤3:在站点Sj的拓扑元素结构树中逐一定位被几何引用的拓扑元素,判断被几何引用拓扑元素在协同站点Sj上是否被分裂、合并或者删除,获得拓扑元素分裂后的任一新拓扑元素及合并后拓扑元素,获得导致拓扑元素被删除的造型操作,放入造型操作O的影响操作集EOS(O)中;步骤4:在站点Sj的拓扑元素结构树中逐一定位被拓扑引用的拓扑元素,判断被拓扑引用拓扑元素在协同站点Sj上是否被分裂、合并或者删除,获得拓扑元素分裂后生成的所有拓扑元素,放入分裂拓扑元素集SplitEntityList(O)中,获得导致拓扑元素被删除或合并的影响操作集EOS(O);步骤5:当EOS(O)不为空时,交换造型操作O和影响操作集EOS(O)的执行顺序,并将每一步的造型结果记录到模型状态流中,完成造型操作O的执行;当SplitEntityList(O)不为空时,对其中的每一个拓扑元素执行造型操作O,并在针对最后一个拓扑元素的造型操作O执行完毕后,将造型结果记录到模型状态流中,造型操作O执行完毕。2.根据权利要求1所述的复制式协同CAD系统中的并发控制方法,其特征在于:步骤1中所述的拓扑元素结构树是一种记录边界模型上拓扑元素状态及变化历史的层次化结构,拓扑元素结构树的根节点为空,所有原始拓扑元素节点都位于第二层,同一层的拓扑元素节点为兄弟节点并通过NEXT指针连接,对任意节点P,若其Split指针不为空,则表示该节点对应的拓扑元素被分裂;若其状态为INACTIVE且Merge_Next指针不为空,则节点P对应的拓扑元素合并入Merge_Next指向节点对应的拓扑元素;若其状态为MERGED且Merge_Next指针为空但Merge_Prev指针不为空,则节点P对应于合并后拓扑元素,随着各协同站点对边界模型的连续修改,拓扑元素的状态也在不断发生变化。3.根据权利要求1或2所述的复制式协同CAD系统中的并发控制方法,其特征在于:步骤1中所述的依据本地站点保存的拓扑元素结构树获得被引用拓扑元素的ID信息,其具体实现包括如下子步骤:步骤1.1:根据用户交互过程中获得引用拓扑元素在本站点地址空间的指针信息,对拓扑元素结构树进行遍历,满足节点的pointer分量值与指针值相等的节点即为拓扑元素对应节点;步骤1.2:对节点状态进行判断;若节点状态为ACTIVE,且Merge_Prev指针为空,则被引用拓扑元素的ID信息即为节点的ID分量值;若节点状态为ACTIVE,且Merge_Prev指针不为空,则执行步骤1.3被引用拓扑元素的ID信息;步骤1.3:将节点的ID分量值放入被引用拓扑元素的ID信息中,Merge_Prev指针指向节点为CurrentNode,并将其ID分量值放入被引用拓扑元素的ID信息中,若CurrentNode的Merge_Prev指针不为空,则回转执行步骤1.3继续遍历;若为空,则结束遍历。4.根据权利要求1所述的复制式协同CAD系统中的并发控制方法,其特征在于:步骤1中所述的将造型操作O逐一发送到各个远端协同站点,其具体实现是:将造型操作O的站点标识、操作在站点产生的顺序号、以字符串的形式记录造型操作名称、被几何引用的拓扑元素的ID信息列表、几何引用参数列表、被拓扑引用的拓扑元素的ID信息列表、拓扑引用参数列表、造型操作O到达任一协同站点的顺序号以及造型操作O在任一协同站点执行的顺序号的造型操作发送至各远端站点。5.根据权利要求1所述的复制式协同CAD系统中的并发控制方法,其特征在于:步骤3中所述的在站点Sj的拓扑元素结构树中逐一定位被几何引用的拓扑元素,其具体实现过程包括如下子步骤:步骤3.1.1:得到GeoRefEntityList中包含的第一个拓扑元素的ID信息;步骤3.1.2:对ID字符串进行解析,并判断若ID长度为1,则直接根据ID信息直接在拓扑元素结构树中定位对应节点;若ID长度大于1,则根据ID信息中的第一个分量在拓扑元素结构树中定位节点。6.根据权利要求1所述的复制式协同CAD系统中的并发控制方法,其特征在于:步骤3中所述判断被引用拓扑元素在...

【专利技术属性】
技术研发人员:何发智程媛吴亦奇蔡维纬
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

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

1