环路检测方法及系统技术方案

技术编号:9740078 阅读:261 留言:0更新日期:2014-03-06 23:28
本发明专利技术涉及一种对软件系统和/或硬件系统中存在的循环环路进行检测的方法及系统,更具体地涉及一种环路检测方法及采用该方法的系统。该方法通过软件系统和/或硬件系统中的入口节点的数量与出入口节点的数量之间的关系来确定软件系统和/或硬件系统中是否存在循环环路。另外,本发明专利技术还提供了采用上述方法的系统以支持对软件系统和/或硬件系统的检测。通过采用上述的技术方案,本发明专利技术提供了一种环路检测方法及采用该方法的系统,其能够方便检测软件系统和/或硬件系统中是否存在环路,工作过程简单,提高了效率,而且还能大幅度的提高性能。

【技术实现步骤摘要】
环路检测方法及系统
本专利技术涉及一种对软件系统和/或硬件系统中存在的循环环路进行检测的方法及系统,更具体地涉及一种环路检测方法及采用该方法的系统。
技术介绍
在现在的软件系统和/或硬件系统的创建过程中,有时会出现不需要的循环设计出现,导致系统出现缺陷。而现有的解决方案是创建例如流程图、结构图等的图表来描述完整的软件系统和/或硬件系统的整个过程或结构,该图表由两个以上步骤或模块组成,即两个以上节点组成。而判断该图表中是否存在环路的方式就是遍历各个节点,即从起点出发经过所有节点到达终点执行结束。随着软件系统和/或硬件系统在各行各行业工作中的深入应用,提供各种可自定义的工作流程和系统结构成为软件系统和/或硬件系统中很常见的功能。然而,在用户定制的工作流程和系统结构中,可能由于各种原因出现不需要环路,即已经执行的节点经过若干条件或步骤后回到当前已经执行的节点形成环路,无法跳出循环。因此,为了避免软件系统和/或硬件系统中出现环路,系统需要在用户定制工作流程或系统结构时或者执行流程或实现系统结构前,检测软件系统和/或硬件系统中是否存在环路,以对应地进行修正。现有技术虽然已经能解决软件系统和/或硬件系统中的环路检测的问题,但是当软件系统和/或硬件系统中的节点和路径过多,而且关系很复杂时,遍历软件系统和/或硬件系统的做法会导致逻辑复杂,而且工作消耗量巨大,尤其是当软件系统和/或硬件系统本身非常复杂时,性能问题将更突出。
技术实现思路
基于上述现有技术的缺点,本专利技术的专利技术目的在于提供一种环路检测方法及采用该方法的系统,其能够方便检测软件系统和/或硬件系统中是否存在环路,工作过程简单,提闻了效率,而且还能大幅度的提闻性能。为了实现上述的专利技术目的,本专利技术采用如下的技术方案:一种环路检测方法,所述方法包括:I)确定检测对象,确定所述检测对象的节点,并为所述节点创建入口节点和出口节点的结对关系;2)计算当前所述结对关系的所述入口节点的数量,相同的所述入口节点不重复计数;3)判断所述入口节点的数量是否大于零,如果为是,则执行下一步;如果为否,则转到步骤9)输出结果后结束;4)判断既是所述出口节点又是所述入口节点的节点并标记为出入口节点,相同的所述出入口节点不重复计数,记录所述出入口节点的数量;5)判断所述入口节点的数量是否大于所述出入口节点的数量,如果为是,则执行下一步;如果为否,则转到步骤8)输出结果并结束;6)将未在所述出口节点中出现过的所述入口节点对应的结对关系移除;7)然后针对当前剩下的所述结对关系,返回步骤2)开始依次执行;8)如果判断结果为否,则表示存在所述环路,检测结束;9)如果所述入口节点数量为零,则表示不存在所述环路,检测结束。具体地,在步骤I)中,为了确定所述检测对象的节点,在执行步骤I)之前根据所述检测对象的工作原理和/或电气关系和/或结构特征制作所述检测对象的流程图、线路图、结构示意图中的至少一种。进一步地,所述节点为所述流程图中的一个步骤或所述线路图中的一个组件或所述结构示意图中的一个模块。另外,所述结对关系包括分别具有入口功能和出口功能的相邻节点之间的映射关系,其中具有出口功能的节点包括虚拟的节点。所述相邻节点之间存在上下游关系。一种采用如上所述的方法的环路检测系统,所述系统包括:结对关系创建模块,其用于根据节点之间的关系创建入口节点和出口节点的结对关系数据结构;入口节点数运算模块,其用于计算所述结对关系中的入口节点的数量;出入口节点数运算模块,其用于计算当前所述结对关系中既是入口节点又是出口节点的出入口节点的数量;判断模块,其用于根据所述入口节点数运算模块的计算结果和所述出入口节点数运算模块的计算结果判断是否存在环路;结对关系移除模块,其用于移除或屏蔽所述结对关系;所述结对关系创建模块、所述入口节点数运算模块、所述出入口节点数运算模块、所述判断模块和所述结对关系移除模块彼此数据连通。具体地,在所述结对关系创建模块中,所述节点之间的关系为相邻节点之间的上下游关系。优选地,所述结对关系移除模块移除或屏蔽的所述结对关系是未作为所述出口节点出现的所述入口节点对应的结对关系。更具体地,所述判断模块为比较器,所述比较器至少在预定阈值时间内存储所述入口节点数运算模块的计算结果和所述出入口节点数运算模块的计算结果,并进行比较,根据比较后的结果输出是否有环路的判断结果。另外,所述系统还包括与其它模块连通的用于控制的控制模块,所述控制模块至少具有用于统一协调其它模块工作的总线时钟以及控制其它模块工作的控制器。需要具体说明的是,在为检测对象即现有的软件系统和/或硬件系统制作流程图、线路图、结构示意图时可以采用任何已知方法以方便并且准确地完成,而在流程图中的步骤、线路图中的电气元件或组件或其它系统和结构示意图中的模块或单元等均可以是本专利技术所提到的节点;术语“虚拟的节点”表示在图表中的结束位置只有入口节点而没有对应的出口节点,对应的结对关系则对应表现为只有入口节点的对应关系。通过采用上述的技术方案,本专利技术提供了一种环路检测方法及采用该方法的系统,其能够方便检测软件系统和/或硬件系统中是否存在环路,工作过程简单,提高了效率,而且还能大幅度的提高性能。【附图说明】图1中示出的是本专利技术所采用的环路检测方法的流程图;图2中示出的是应用图1中所示的环路检测方法的第一示例的检测对象(即软件系统)的流程图;图3中示出的是应用图1中所示的环路检测方法的第二示例的检测对象(即硬件系统)的连接结构示意图;图4中示出的是采用如图1中的方法的系统的连接结构示意图。【具体实施方式】本专利技术在于提供一种环路检测方法及采用该方法的系统,其能够方便检测软件系统和/或硬件系统中是否存在环路,其工作过程简单,提高了效率,而且还能大幅度地提高性能。下面结合说明书附图并采用【具体实施方式】的形式对本专利技术进行了详细地说明。图1中示出的是本专利技术所采用的环路检测方法的流程图。本专利技术提供了一种简单、高效的检测软件系统和/或硬件系统中是否存在环路的方法。该方法的具体方案如下:I)确定检测对象,确定检测对象的节点,并为节点创建入口节点和出口节点的结对关系;2)计算当前结对关系的入口节点的数量,相同的入口节点不重复计数;3)判断入口节点的数量是否大于零,如果为是,则执行下一步;如果为否,则转到步骤9)输出结果后结束;4 )判断既是出口节点又是入口节点的节点并标记为出入口节点,相同的出入口节点不重复计数,记录出入口节点的数量;5)判断入口节点的数量是否大于出入口节点的数量,如果为是,则执行下一步;如果为否,则转到步骤8)输出结果并结束;6)将未在出口节点中出现过的入口节点对应的结对关系移除;7)然后针对当前剩下的结对关系,返回步骤2)开始依次执行;8)如果判断结果为否,则表不存在环路,检测结束;9)如果入口节点数量为零,则表示不存在环路,检测结束。为了使本专利技术的内容更清楚明了,下面结合具体的示例进一步描述本专利技术的方法的具体实施过程。实施例1:检测简单流程图环路图2中示出的是应用图1中所示的环路检测方法的第一示例的检测对象(即软件系统)的流程图。I)根据该软件系统的流程图、创建入口节点和出口节点的结对关系;在本实例中,针对图2,可创建如下表所示的结对关系。本文档来自技高网...

【技术保护点】
一种环路检测方法,其特征在于,所述方法包括:1)确定检测对象,确定所述检测对象的节点,并为所述节点创建入口节点和出口节点的结对关系;2)计算当前所述结对关系的所述入口节点的数量,相同的所述入口节点不重复计数;3)判断所述入口节点的数量是否大于零,如果为是,则执行下一步;如果为否,则转到步骤9)输出结果后结束;4)判断既是所述出口节点又是所述入口节点的节点并标记为出入口节点,相同的所述出入口节点不重复计数,记录所述出入口节点的数量;5)判断所述入口节点的数量是否大于所述出入口节点的数量,如果为是,则执行下一步;如果为否,则转到步骤8)输出结果并结束;6)将未在所述出口节点中出现过的所述入口节点对应的结对关系移除;7)然后针对当前剩下的所述结对关系,返回步骤2)开始依次执行;8)如果判断结果为否,则表示存在所述环路,检测结束;9)如果所述入口节点数量为零,则表示不存在所述环路,检测结束。

【技术特征摘要】
1.一种环路检测方法,其特征在于,所述方法包括: 1)确定检测对象,确定所述检测对象的节点,并为所述节点创建入口节点和出口节点的结对关系; 2)计算当前所述结对关系的所述入口节点的数量,相同的所述入口节点不重复计数; 3)判断所述入口节点的数量是否大于零,如果为是,则执行下一步;如果为否,则转到步骤9)输出结果后结束; 4)判断既是所述出口节点又是所述入口节点的节点并标记为出入口节点,相同的所述出入口节点不重复计数,记录所述出入口节点的数量; 5)判断所述入口节点的数量是否大于所述出入口节点的数量,如果为是,则执行下一步;如果为否,则转到步骤8)输出结果并结束; 6)将未在所述出口节点中出现过的所述入口节点对应的结对关系移除; 7)然后针对当前剩下的所述结对关系,返回步骤2)开始依次执行; 8)如果判断结果为否,则表示存在所述环路,检测结束; 9)如果所述入口节点数量为零,则表示不存在所述环路,检测结束。2.根据权利要求1所述的方法,其特征在于,在步骤I)中,为了确定所述检测对象的节点,在执行所述步骤I)之前根据所述检测对象的工作原理和/或电气关系和/或结构特征制作所述检测对象的流程图、线路图、结构示意图中的至少一种。3.根据权利要求2所述的方法,其特征在于,所述节点为所述流程图中的一个步骤或所述线路图中的一个组件或所述结构示意图中的一个模块。4.根据权利要求1所述的方法,其特征在于,所述结对关系包括分别具有入口功能和出口功能的相邻节点之间的映射关系,其中具有出口功能的节点包括虚拟的节点。5.根据...

【专利技术属性】
技术研发人员:陈继娟
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:

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

1