软件系统的接口比对方法和装置制造方法及图纸

技术编号:22166129 阅读:28 留言:0更新日期:2019-09-21 10:15
本发明专利技术实施例适用于信息技术领域,提供了一种软件系统的接口比对方法和装置,所述方法包括:提取两个不同版本的软件系统各个接口的接口信息,该接口信息包括接口名称和接口参数;针对任一接口名称,判断该接口名称对应的接口是否同时存在于软件系统的两个不同版本中;若否,则识别该接口为已变更接口;若是,则对该接口的接口参数进行识别,以确定该接口为已变更接口或未变更接口;根据识别结果,生成软件系统的两个不同版本的接口比对信息。本实施例可以准确和高效地对比出不同版本下或不同代码分支上的接口的差异,减少可能出现的重复比对的情况,提高分析结果的可信度,方便相关人员分析接口兼容性、评估系统升级对用户的影响。

Interface Comparison Method and Device of Software System

【技术实现步骤摘要】
软件系统的接口比对方法和装置
本专利技术属于信息
,特别是涉及一种软件系统的接口比对方法、一种软件系统的接口比对装置、一种终端设备及一种计算机可读存储介质。
技术介绍
敏捷开发(AgileDevelopment)是一种以用户的需求进化为核心,采用迭代、循序渐进的方法进行的软件开发方式。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,敏捷开发就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。在互联网敏捷开发流程下,用户的需求变化越来越多,软件版本之间的迭代速度也越来越快。在此背景下,在各个软件系统进行升级、重构和多版本多地部署时,开发人员通常需要分析相对于某个基线,系统的各个接口是否发生了变化以及发生了何种变化,从而确定发生变化的接口是否具有向下兼容的能力,以此保证接口的变化不会引起用户用旧的方式调用该接口而产生异常。目前,针对系统接口的变化情况进行分析主要是通过人工处理的方式来进行的,由开发人员对各个接口在不同版本下的代码进行比较分析,从而得出分析结果。但是,人工处理的方式需要花费较多的时间,耗费较多的人力成本,不仅容易引入重复的工作量,出现误分析,导致分析结果的可信度低;而且,由于系统版本迭代速度快,这种分析方式根本无法满足版本快速迭代的要求,效率十分低下。
技术实现思路
有鉴于此,本专利技术实施例提供了一种软件系统的接口比对方法和装置,以解决现有技术中人工比对接口变化情况效率较低的问题。本专利技术实施例的第一方面提供了一种软件系统的接口比对方法,包括:提取两个不同版本的软件系统各个接口的接口信息,所述接口信息包括所述各个接口的接口名称和接口参数;针对任一接口名称,判断所述接口名称对应的接口是否同时存在于所述软件系统的两个不同版本中;若所述接口名称对应的接口未同时存在于所述软件系统的两个不同版本中,则识别所述接口为已变更接口;若所述接口名称对应的接口同时存在于所述软件系统的两个不同版本中,则对所述接口的接口参数进行识别,以确定所述接口为已变更接口或未变更接口;根据所述接口的已变更接口或未变更接口的识别结果,生成所述软件系统的两个不同版本的接口比对信息。本专利技术实施例的第二方面提供了一种软件系统的接口比对装置,包括:提取模块,用于提取两个不同版本的软件系统各个接口的接口信息,所述接口信息包括所述各个接口的接口名称和接口参数;判断模块,用于针对任一接口名称,判断所述接口名称对应的接口是否同时存在于所述软件系统的两个不同版本中;第一识别模块,用于若所述接口名称对应的接口未同时存在于所述软件系统的两个不同版本中,则识别所述接口为已变更接口;第二识别模块,用于若所述接口名称对应的接口同时存在于所述软件系统的两个不同版本中,则对所述接口的接口参数进行识别,以确定所述接口为已变更接口或未变更接口;生成模块,用于根据所述接口的已变更接口或未变更接口的识别结果,生成所述软件系统的两个不同版本的接口比对信息。本专利技术实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述软件系统的接口比对方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述软件系统的接口比对方法的步骤。与现有技术相比,本专利技术实施例包括以下优点:本专利技术实施例,通过提取两个不同版本的软件系统各个接口的接口信息,然后针对接口信息中的任一接口名称,判断该接口名称对应的接口是否同时存在于软件系统的两个不同版本中,从而可以识别出已变更接口和未变更接口,并生成接口比对信息进行可视化展示。本实施例在自动分析接口变化情况时,首先对接口名称进行关联分析,然后再进一步对各个接口的参数及类型等信息进行关联分析,可以十分准确和高效地对比出不同版本下接口或不同代码分支上的接口的差异,减少了可能出现的重复比对的情况,提高了分析结果的可信度;通过对接口比对信息进行可视化展示,方便了相关人员更直观地了解各个接口的变化情况,从而帮助其管理接口变化信息、分析接口兼容性、评估系统升级对用户的影响。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一个实施例的一种软件系统的接口比对方法的步骤流程示意图;图2是本专利技术一个实施例的接口比对工具的架构图;图3是本专利技术一个实施例的提取软件系统各个接口的接口信息的示意图;图4是本专利技术一个实施例的接口名称关联分析示意图;图5是本专利技术一个实施例的接口参数分析比较示意图;图6是本专利技术一个实施例的接口比对信息可视化展示示意图;图7是本专利技术一个实施例的一种软件系统的接口比对装置的示意图;图8是本专利技术一个实施例的一种终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域技术人员应当清楚,在没有这些具体细节的其他实施例中也可以实现本专利技术。在其他情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。下面通过具体实施例来说明本专利技术的技术方案。参照图1,示出了本专利技术一个实施例的一种软件系统的接口比对方法的步骤流程示意图,具体可以包括如下步骤:S101、提取两个不同版本的软件系统各个接口的接口信息,所述接口信息包括所述各个接口的接口名称和接口参数;需要说明的是,采用本实施例提供的方法可以针对部署于云平台中的各个软件系统的接口变化情况进行比较和分析,也可以针对部署于其他服务器中的各个软件系统的接口变化情况进行比较和分析,本实施例对软件系统的类型及部署环境等均不作限定。在本专利技术实施例中,上述软件系统的接口可以是指API(ApplicationProgrammingInterface,应用程序编程接口)。通常,API接口可以包括两大类,即服务之间调用的内部接口和面向用户开放的外部接口。其中,面向用户开放的接口是指软件系统对用户开放,允许用户通过OPENAPI或者二次开发的方式,调用软件系统的接口,并在此基础上定制化用户自己的应用。这种类型的接口通常要求在接口变化后具有向下兼容的能力,以保证接口的变化不会引起用户用旧的方式调用该接口而产生异常。服务之间调用的接口是指软件系统为了完成用户的请求,不同服务之间相互配合和调用来完成一系列工作的请求,这种请求通常对用户端而言是无感的。由于服务间调用的接口主要面向开发人员,而对外开放的接口则主要面向用户,接口的变化对开发人员和用户的影响很大,所以在做接口更改时,需要做到向下兼容,以降低由于接口更改对软件系统造成的影响。在本专利技术实施例中,可以通过一接口比对工具对软件系统的接口变化情况分析。上述接口比对工具可以是采用编程的方式、基于JAVA语言开发的可运行程序,能够自动提取两个不同版本的软件代码进本文档来自技高网...

【技术保护点】
1.一种软件系统的接口比对方法,其特征在于,包括:提取两个不同版本的软件系统各个接口的接口信息,所述接口信息包括所述各个接口的接口名称和接口参数;针对任一接口名称,判断所述接口名称对应的接口是否同时存在于所述软件系统的两个不同版本中;若所述接口名称对应的接口未同时存在于所述软件系统的两个不同版本中,则识别所述接口为已变更接口;若所述接口名称对应的接口同时存在于所述软件系统的两个不同版本中,则对所述接口的接口参数进行识别,以确定所述接口为已变更接口或未变更接口;根据所述接口的已变更接口或未变更接口的识别结果,生成所述软件系统的两个不同版本的接口比对信息。

【技术特征摘要】
1.一种软件系统的接口比对方法,其特征在于,包括:提取两个不同版本的软件系统各个接口的接口信息,所述接口信息包括所述各个接口的接口名称和接口参数;针对任一接口名称,判断所述接口名称对应的接口是否同时存在于所述软件系统的两个不同版本中;若所述接口名称对应的接口未同时存在于所述软件系统的两个不同版本中,则识别所述接口为已变更接口;若所述接口名称对应的接口同时存在于所述软件系统的两个不同版本中,则对所述接口的接口参数进行识别,以确定所述接口为已变更接口或未变更接口;根据所述接口的已变更接口或未变更接口的识别结果,生成所述软件系统的两个不同版本的接口比对信息。2.根据权利要求1所述的方法,其特征在于,所述提取两个不同版本的软件系统各个接口的接口信息的步骤包括:分别获取所述两个不同版本的软件系统的指定分支代码,所述指定分支代码包括特定接口的源代码信息;对所述源代码信息进行编译,获得所述指定分支代码下的多个类;分别提取所述多个类中各个接口的接口信息。3.根据权利要求2所述的方法,其特征在于,在所述分别提取所述多个类中各个接口的接口信息的步骤后,还包括:采用结构化的方式对所述各个接口的接口信息进行存储。4.根据权利要求1所述的方法,其特征在于,所述两个不同版本包括新版本和旧版本,所述针对任一接口名称,判断所述接口名称对应的接口是否同时存在于所述软件系统的两个不同版本中的步骤包括:分别确定新版本软件系统和旧版本软件系统中各个接口的接口名称;对所述新版本软件系统和旧版本软件系统中具有相同的接口名称的接口进行关联;通过识别各个接口名称在所述新版本软件系统和旧版本软件系统中是否被关联,判断所述各个接口名称对应的接口是否同时存在于所述新版本软件系统和旧版本软件系统中;其中,已关联的各个接口名称对应的接口为同时存在于所述新版本软件系统和旧版本软件系统中的接口,未被关联的各个接口名称对应的接口为未同时存在于所述新版本软件系统和旧版本软件系统中的接口。5.根据权利要求4所述的方法,其特征在于,所述已变更接口包括新版本已删除接口或新版本新增接口,所述若所述接口名称对应的接口未同时存在于所述软件系统的两个不同版本中,则识别所述接口为已变更接口的步骤包括:识别所述新版本软件系统中未被关联的接口名称对应的接口为新版本新增接口,识别所述旧版本软件...

【专利技术属性】
技术研发人员:薛雷
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1