冗余检测的方法及装置、终端和存储介质制造方法及图纸

技术编号:23431693 阅读:30 留言:0更新日期:2020-02-25 13:06
本公开提供冗余检测的方法及装置、终端和存储介质。冗余检测的方法包括:获取多个模块及所述多个模块之间的第一依赖关系;根据所述第一依赖关系将所述多个模块建成结构图;获取工程中调用的所述多个模块的全部或部分模块;及根据所述结构图检测所述全部或部分模块中的冗余模块。本公开的冗余检测方法能够在程序开发进程中的工程编译前检查代码模块是否存在重复调用,可以取得减轻运算量和节约资源的效果。

Redundancy detection method and device, terminal and storage medium

【技术实现步骤摘要】
冗余检测的方法及装置、终端和存储介质
本公开涉及计算机
,尤其涉及一种冗余检测的方法及装置、终端和存储介质。
技术介绍
在程序开发进程中,往往需要调用大量的代码;由于数据量大,有时会出现重复调用的情况,从而造成资源浪费。
技术实现思路
为解决现有问题,本公开提供一种冗余检测的方法及装置、终端和存储介质。本公开采用以下的技术方案。在一些实施例中,本公开提供一种冗余检测的方法,包括:获取多个模块及所述多个模块之间的第一依赖关系;根据所述第一依赖关系将所述多个模块建成结构图;获取工程中调用的所述多个模块的全部或部分模块;及根据所述结构图检测所述全部或部分模块中的冗余模块。在一些实施例中,本公开提供一种冗余检测的方法,包括:获取多个模块并将所述多个模块构成有向无环图;对所述有向无环图进行拓扑排序形成顺序链;遍历所述顺序链形成所述多个模块的结构图;获取工程中调用的所述多个模块的全部或部分模块;及根据所述结构图检测所述全部或部分模块中的冗余模块。在一些实施例中,本公开提供一种冗余检测的装置,包括:获取模块,用于获取多个模块及所述多个模块之间的第一依赖关系,和工程中调用的所述多个模块的全部或部分模块;构图模块,用于根据所述第一依赖关系将所述多个模块建成结构图;及检测模块,用于根据所述结构图检测所述全部或部分模块中的冗余模块。在一些实施例中,本公开提供一种冗余检测的装置,包括:获取模块,用于获取多个模块和工程中调用的所述多个模块的全部或部分模块;处理模块,用于将所述多个模块构成有向无环图,对所述有向无环图进行拓扑排序形成顺序链和遍历所述顺序链形成所述多个模块的结构图;及检测模块,用于根据所述结构图检测所述全部或部分模块中的冗余模块。在一些实施例中,本公开提供一种终端,包括:至少一个存储器和至少一个处理器;其中,存储器用于存储程序代码,处理器用于调用所述存储器所存储的程序代码执行上述的方法。在一些实施例中,本公开提供一种存储介质,所述存储介质用于存储程序代码,所述程序代码用于执行上述的方法。本公开提供的冗余检测方法能够检查代码模块是否被重复调用,可以取得减轻运算量和节约资源的效果。附图说明结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。图1是本公开实施例的冗余检测方法的流程图。图2是本公开实施例的结构图的示意图。图3是本公开另一实施例的冗余检测方法的流程图。图4是本公开另一实施例的结构图的示意图。图5是本公开实施例的冗余检测装置的结构示意图。图6是本公开另一实施例的冗余检测装置的结构示意图。图7是本公开实施例的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。应当理解,本公开的方法实施方式中记载的各个步骤可以按和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。需要注意,本公开中提及的“一个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。以下将结合附图,对本申请实施例提供的方案进行详细描述。如图1所示,图1是本公开实施例的冗余检测方法的流程图,包括如下步骤。S100,获取多个模块及所述多个模块之间的第一依赖关系。具体地,多个模块之间可以存在相互调用的情况,特别地,一个模块既可以依赖/调用多个模块,也可以被多个模块所依赖。S200,根据所述第一依赖关系将所述多个模块建成结构图。具体地,本公开实施例可根据所述第一依赖关系将所述多个模块分级;根据所述第一依赖关系将所述多个模块排列成多个第一顺序链;统计每一所述多个第一顺序链中的模块数量,及每一所述多个模块在每个所述多个第一顺序链中的级数;及从所述多个第一顺序链中的模块数量最多的顺序链开始,以所述模块在所述至少两个第一顺序链中的不同分级为参照,建成所述结构图。其中,所述多个模块中具有存在于所述多个第一顺序链中的至少两个第一顺序链中的模块,所述模块在所述至少两个第一顺序链中的分级不同。更具体地,参见图2,图2是本公开实施例的结构图的示意图。在图2中,在水平方向上,处于最下方一行的模块可以是一级模块,在一级模块之上的模块可以依次为二级模块、三级模块等。在垂直方向上,有重叠关系的模块可以组成一个顺序链;值得注意的是,由于一些模块可同时属于多个顺序链,其在每个顺序链中的分级可以不同,例如,模块1在最右侧的顺序链中属于四级模块,而在右侧第二个顺序链中属于二级模块。同时,从图中可见每一顺序链中所包含的模块数量可相同也可不同。以图2中最右侧的顺序链为例,其包含五级模块,在本实施例中的顺序链中模块数量最多,并且,其中四级模块同时为另一顺序链中的二级模块,以此为参照排列每一顺序链的模块,最终可得到如图2所示的结构图。S300,获取工程中调用的所述多个模块的全部或部分模块。具体地,在步骤S200中获取了作为参照的结构图后,本公开实施例可以使用其作为检测工程模块调用的其中全部或部分模块中冗余的依据。此外,在步骤S300之后,本公开实施例还可以包括获取所述全部或部分模块之间的第二依赖关系;及根据所述第二依赖关系将所述全部或部分模块形成多个第二顺序链。同上述,其中全部或者部分模块之间同样存在多种依赖关系,可依据不同种依赖关系将其分为多个顺序链。S400,根据所述结构图检测所述全部或部分模块中的冗余模块。具体地,当所述第二顺序链中存在多于两个模块时,如所述多于两个模块在所述结构图的纵向上有重叠,则将所述多于两个模块中处于中间位置的模块设本文档来自技高网...

【技术保护点】
1.一种冗余检测的方法,包括:/n获取多个模块及所述多个模块之间的第一依赖关系;/n根据所述第一依赖关系将所述多个模块建成结构图;/n获取工程中调用的所述多个模块的全部或部分模块;及/n根据所述结构图检测所述全部或部分模块中的冗余模块。/n

【技术特征摘要】
1.一种冗余检测的方法,包括:
获取多个模块及所述多个模块之间的第一依赖关系;
根据所述第一依赖关系将所述多个模块建成结构图;
获取工程中调用的所述多个模块的全部或部分模块;及
根据所述结构图检测所述全部或部分模块中的冗余模块。


2.根据权利要求1所述的方法,其特征在于,所述根据所述第一依赖关系将所述多个模块建成结构图的步骤包括:
根据所述第一依赖关系将所述多个模块分级;
根据所述第一依赖关系将所述多个模块排列成多个第一顺序链;
统计每一所述多个第一顺序链中的模块数量,及每一所述多个模块在每个所述多个第一顺序链中的级数;其中,所述多个模块中具有存在于所述多个第一顺序链中的至少两个第一顺序链中的模块,所述模块在所述至少两个第一顺序链中的分级不同;及
从所述多个第一顺序链中的模块数量最多的顺序链开始,以所述模块在所述至少两个第一顺序链中的不同分级为参照,建成所述结构图。


3.根据权利要求1所述的方法,其特征在于,在获取工程中调用的所述多个模块的全部或部分模块的步骤之后,还包括:
获取所述全部或部分模块之间的第二依赖关系;及
根据所述第二依赖关系将所述全部或部分模块形成多个第二顺序链。


4.根据权利要求3所述的方法,其特征在于,所述根据所述结构图检测所述全部或部分模块中的冗余模块的步骤包括:
当所述第二顺序链中存在多于两个模块时,如所述多于两个模块在所述结构图的纵向上有重叠,则将所述多于两个模块中处于中间位置的模块设定为所述冗余模块。


5.一种冗余检测的方法,包括:
获取多个模块并将所述多个模块构成有向无环图;
对所述有向无环图进行拓扑排序形成顺序链;
遍历所述顺序链形成所述多个模块的结构图;
获取工程中调用的所述多个...

【专利技术属性】
技术研发人员:朱立军
申请(专利权)人:北京无限光场科技有限公司
类型:发明
国别省市:北京;11

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

1