CN105893259B - 代码检测***、方法及装置 - Google Patents

代码检测***、方法及装置 Download PDF

Info

Publication number
CN105893259B
CN105893259B CN201610196893.0A CN201610196893A CN105893259B CN 105893259 B CN105893259 B CN 105893259B CN 201610196893 A CN201610196893 A CN 201610196893A CN 105893259 B CN105893259 B CN 105893259B
Authority
CN
China
Prior art keywords
project
information
code
code detection
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610196893.0A
Other languages
English (en)
Other versions
CN105893259A (zh
Inventor
徐伟豪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201610196893.0A priority Critical patent/CN105893259B/zh
Publication of CN105893259A publication Critical patent/CN105893259A/zh
Application granted granted Critical
Publication of CN105893259B publication Critical patent/CN105893259B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种代码检测***、方法及装置,属于软件开发领域。该***包括:版本控制服务器、项目管理服务器、代码检测服务器以及数据库服务器;项目管理服务器,用于从版本控制服务器获取版本日志,版本日志中包含项目中文件的文件变更信息;对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况;项目管理服务器,还用于根据项目变更信息对数据库服务器中的历史项目信息进行更新;根据项目变更信息配置代码检测任务,向代码检测服务器下发代码检测任务;代码检测服务器,用于根据代码检测任务进行代码检测。本发明实施例解决了代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题。

Description

代码检测***、方法及装置
技术领域
本发明实施例涉及软件开发领域,特别涉及一种代码检测***、方法及装置。
背景技术
软件开发需要经历漫长的开发过程,在开发过程中,开发人员需要频繁地对代码进行修改。
为了保证修改后代码的可用性,并方便后续的代码维护,修改后的代码需要经过代码检测。相关技术中,修改后的代码以及相应的检测标准需要手动上传至代码检测服务器,由代码检测服务器根据该检测标准对代码进行检测并进行反馈。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏。
发明内容
为了解决软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题,本发明实施例提供了一种代码检测***、方法及装置。所述技术方案如下:
根据本发明实施例的第一方面,提供一种代码检测***,所述***包括:
版本控制服务器、项目管理服务器、代码检测服务器以及数据库服务器;
项目管理服务器,用于从版本控制服务器获取版本日志,版本日志中包含项目中文件的文件变更信息;对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况;
项目管理服务器,还用于根据项目变更信息对数据库服务器中的历史项目信息进行更新;根据项目变更信息配置代码检测任务,向代码检测服务器下发代码检测任务;
代码检测服务器,用于根据代码检测任务进行代码检测。
根据本发明实施例的第二方面,提供一种代码检测方法,所述方法包括:
从版本控制服务器获取版本日志,版本日志中包含项目中文件的文件变更信息;
对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况;
根据项目变更信息配置代码检测任务;
向代码检测服务器下发代码检测任务,代码检测服务器用于根据代码检测任务进行代码检测。
根据本发明实施例的第三方面,提供一种代码检测柱子,所述装置包括:
获取模块,用于从版本控制服务器获取版本日志,版本日志中包含项目中文件的文件变更信息;
生成模块,用于对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况;
配置模块,用于根据项目变更信息配置代码检测任务;
下发模块,用于向代码检测服务器下发代码检测任务,代码检测服务器用于根据代码检测任务进行代码检测。
通过项目管理服务器从版本控制服务器中获取版本日志,并根据该版本日志分析得到项目变更信息,从而进一步根据该项目变更信息为代码检测服务器配置代码检测任务,供代码检测服务器进行代码检测;解决了软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题;达到了由项目管理服务器自动根据代码的修改情况对项目信息进行更新,并进一步指示代码检测服务器进行实时的代码检测,避免产生遗漏的同时,提高了配置代码检测过程的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一个实施例提供的代码检测***的结构示意图;
图2示出了本发明一个实施例提供的代码检测方法的流程图;
图3A示出了本发明另一个实施例提供的代码检测方法的流程图;
图3B示出了本发明再一个实施例提供的代码检测方法的流程图;
图4示出了本发明一个实施例提供的代码检测装置的结构方框图;
图5示出了本发明另一个实施例提供的代码检测装置的结构方框图;
图6示出了本发明一个实施例提供的服务器的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的代码检测***的结构示意图。该代码检测***中包括版本控制服务器110、项目管理服务器120、代码检测服务器130以及数据库服务器140。
项目管理服务器120,用于从版本控制服务器110获取版本日志,版本日志中包含项目中文件的文件变更信息;对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况。
项目管理服务器120,还用于根据项目变更信息对数据库服务器140中的历史项目信息进行更新;根据项目变更信息配置代码检测任务,向代码检测服务器130下发代码检测任务。
代码检测服务器130,用于根据代码检测任务进行代码检测。
软件项目开发过程中,各个版本的项目文件均存储在版本控制服务器中。版本控制服务器按照预定时间周期获取最新版本的项目文件,并将最新版本的项目文件与上一版本的项目文件进行对比分析,分析出项目文件的文件修改信息、文件增加信息和文件删除信息等信息,并最终生成包含上述信息的版本日志,该版本日志中即包含项目中项目文件的详细变更信息。其中,文件修改信息可以包括修改文件的名称、存储地址、所在项目标识、修改人标识、修改时间和修改内容等等;相应的,文件增加(或删除)信息包含增加(或删除)文件的名称、存储地址、所在项目标识、修改人标识、增加(或删除)时间和增加(或删除)内容等等。
比如,版本控制服务器获取到最新版本的项目文件中,项目A下包含项目文件1、项目文件3和项目文件4,且上一版本的项目文件中,项目A包含项目文件1和项目文件2。版本控制服务器即对最新版本中项目文件1与上一版本中项目文件1进行分析,得到项目文件1的文件修改信息;由于最新版本与上一版本相比,增加了项目文件4并删除了项目文件3,版本控制服务器分析得到相应的文件增加信息(针对项目文件4)和文件删除信息(针对项目文件3)。进一步的,版本控制服务器以版本号为索引,生成包含上述信息的版本日志。
为了知悉项目中详细的变化情况,项目管理服务器按预定周期(比如每隔12或24小时)从版本控制服务器处获取最新的版本日志。获取到版本日志后,项目管理服务器对该版本日志进行分析,分析得到项目的变更情况,并生成相应的项目变更信息。
由于版本控制服务器重点关注项目中项目文件的变更情况,因此生成的版本日志中包含详细的项目文件变更信息;与版本日志相比,项目管理服务器则重点关注项目整体的变更情况,而非项目中具体项目文件的变更情况,因此生成的项目变更信息相较于版本日志更加间接,且偏重项目层面。
进一步的,项目管理服务器根据分析生成的项目变更信息,对数据库服务器中存储的历史项目信息进行更新,从而保证数据库服务器中存储的项目信息的实时性。
由于项目中的项目文件发生了变更,为了保证先更后项目文件的可用性,项目管理服务器根据项目变更信息配置代码检测任务,并将该代码检测任务下发至代码检测服务器,指示代码检测服务器进行针对变更项目的代码检测。
综上所述,本实施例提供的代码检测***,通过项目管理服务器从版本控制服务器中获取版本日志,并根据该版本日志分析得到项目变更信息,从而进一步根据该项目变更信息为代码检测服务器配置代码检测任务,供代码检测服务器进行代码检测;解决了软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题;达到了由项目管理服务器自动根据代码的修改情况对项目信息进行更新,并进一步指示代码检测服务器进行实时的代码检测,避免产生遗漏的同时,提高了配置代码检测过程的效率。
由于数据库服务器中存储的项目信息是针对项目层面的,且在项目整体发生变更,比如,项目存储路径发生变化、新增项目或删除项目时才需要进行进行更新,因此,项目管理服务器分析得到项目变更信息后,进一步获取数据库服务器中存储的项目信息,比较两者之间是否存在差异,并在存在差异时对数据库服务器中的项目信息进行更新。
可选的,项目管理服务器120,还用于根据文件变更信息中的项目标识,确定发生变更的项目;根据发生变更的项目生成项目变更信息;读取数据库服务器140中存储的历史项目信息;检测项目变更信息所指示的项目是否包含在历史项目信息中;若项目变更信息所指示的项目不包含在历史项目信息中,则根据项目变更信息对历史项目信息进行更新。
项目管理服务器120在生成项目变更信息时,获取版本日志中文件变更信息中包含的更新文件所在项目的项目标识,从而确定出发生变更的项目,并根据发生变更的项目生成项目变更信息。
比如,版本日志中包含项目文件1的文件修改信息、项目文件3的文件删除信息、项目文件4的文件增加信息以及项目文件6的文件增加信息,且项目文件1、项目文件3和项目文件4所在项目的项目标识为项目A,项目文件6所在项目的项目标识为项目B,项目管理服务器即确定发生变更的项目为项目A以及项目B。
项目管理服务器从数据库服务器读取存储的历史项目信息,并检测生成的项目变更信息与该历史项目信息是否存在差异,在两者存在差异时对历史项目信息进行更新。作为一种可能的实施方式,项目管理服务器检测生成的项目变更信息所指示的项目是否包含在历史项目信息中。当检测到生成的项目变更信息所指示的项目包含在历史项目信息中时,确定在项目层面未发生更新,无需对历史项目信息进行更新,并丢弃生成的项目变更信息;当检测到生成的项目变更信息所指示的项目不包含在历史项目信息中时,确定在项目层面发生了更新,并根据项目变更信息对历史项目信息进行更新。
比如,项目管理服务器生成的项目变更信息中,包含项目A和项目B的变更信息,且从数据库服务器读取到的历史项目信息中,仅包含项目A的项目信息。项目管理服务器即确定项目B为新增项目,并对该历史项目信息进行更新。
本实施例中,项目管理服务器根据版本日志中更新文件所在项目的项目标识,将发生变化的项目文件归类到具体的项目上,从而生成针对项目层面的项目变更信息,并进一步根据该项目变更信息对数据库服务器中存储的历史项目信息进行更新,保证了数据库服务器中存储的项目信息的时效性。
由于各个版本的项目文件均存储在版本控制服务器中,为了使代码检测服务器能够准确获取发生变更的项目文件,并进行代码检测,项目管理服务器生成的项目变更信息中包括发生变更的项目的项目地址。
可选的,项目管理服务器120,用于根据发生变更的项目的项目地址以及预设检测目标,配置代码检测任务,预设检测目标包括代码可行性检测和代码风格检测中的至少一种。
为方便后续的代码维护,项目管理服务器设置的代码检测任务还可以指示代码检测服务器进行代码风格检测,比如,该代码风格检测用于指示代码检测服务器检查代catch语句中是否包含日志打印相应的代码。
对应的,代码检测服务器130,用于根据代码检测任务中包含的项目地址,从版本控制服务器110处获取项目对应的代码;对获取到的代码进行代码检测。
代码检测服务器根据代码检测任务中包含的项目地址,从版本控制服务器处获取整个项目的项目文件,并进行代码检测,从而保证代码检测服务器每次使用的项目信息都是最新的,即每次检测的代码版本都是最新的。
为了方便开发人员及时知悉代码检测结果,可选的,代码检测服务器130,还用于将代码检测结果存入数据库服务器140;
和/或;
代码检测服务器130,还用于向项目管理服务器120反馈代码检测结果。
代码检测服务器检测完变更项目后,可以将相应的代码检测结果存入数据库服务器,方便开发人员后续调取查看,并进行故障排除;或者,代码检测服务器还可以将检测结果发送至项目管理服务器,项目管理服务器接收到检测结果后,及时通知开发人员进行故障定位和故障排除。
本实施例中,代码检测服务器执行完成代码检测后,将代码检测结果存入数据库服务器,或向项目管理服务器反馈代码检测结果,使得开发人员能够及时对故障进行定位并排除,提高了程序开发的效率。
需要说明的是,上述版本控制服务器110、项目管理服务器120、代码检测服务器130以及数据库服务器140,均可以是一台服务器,也可以是由若干台服务器组成的服务器集群或云计算中心,本发明实施例并不对此进行限定。
结合图1所示的代码检测***,请参考图2,其示出了本发明一个实施例提供的代码检测方法的流程图。本实施例以该代码检测方法用于图1中的项目管理服务器120为例进行说明,该方法包括:
步骤202,从版本控制服务器获取版本日志,版本日志中包含项目中文件的文件变更信息。
步骤204,对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况。
步骤206,根据项目变更信息配置代码检测任务。
步骤208,向代码检测服务器下发代码检测任务,代码检测服务器用于根据代码检测任务进行代码检测。
综上所述,本实施例提供的代码检测方法,通过项目管理服务器从版本控制服务器中获取版本日志,并根据该版本日志分析得到项目变更信息,从而进一步根据该项目变更信息为代码检测服务器配置代码检测任务,供代码检测服务器进行代码检测;解决了软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题;达到了由项目管理服务器自动根据代码的修改情况对项目信息进行更新,并进一步指示代码检测服务器进行实时的代码检测,避免产生遗漏的同时,提高了配置代码检测过程的效率。
图3A示出了本发明另一个实施例提供的代码检测方法的流程图。本实施例以该代码检测方法用于图1中的项目管理服务器120为例进行说明,该方法包括:
步骤301,从版本控制服务器获取版本日志,版本日志中包含项目中文件的文件变更信息。
项目管理服务器按预定周期(比如每隔12或24小时)从版本控制服务器处获取最新的版本日志。该版本日志中包括项目文件的文件修改信息、文件增加信息和文件删除信息等信息。
步骤302,对版本日志进行分析,生成项目变更信息,项目变更信息用于指示项目的变更情况。
项目管理服务器根据版本日志中项目文件的变更情况,将其重新归类到具体的项目上,并生成相应的项目变更信息。
作为一种可能的实施方式,如图3B所示,本步骤可以包括如下步骤。
步骤302A,根据文件变更信息中的项目标识,确定发生变更的项目。
比如,版本日志中包含项目文件1的文件修改信息、项目文件3的文件删除信息、项目文件4的文件增加信息以及项目文件6的文件增加信息,且项目文件1、项目文件3和项目文件4所在项目的项目标识为项目A,项目文件6所在项目的项目标识为项目B,项目管理服务器即确定发生变更的项目为项目A以及项目B。
步骤302B,根据发生变更的项目生成项目变更信息。
根据确定的发生变更的项目,项目管理服务器进一步生成项目变更信息。相较于版本控制服务器中的版本日志,该项目变更信息偏重于体现项目层面的信息,而非项目中具体项目文件的变更信息。
步骤303,根据项目变更信息对数据库服务器中的历史项目信息进行更新。
项目管理服务器从数据库服务器读取存储的历史项目信息,并检测生成的项目变更信息与该历史项目信息是否存在差异,在两者存在差异时对历史项目信息进行更新,从而保证数据库服务器中存储的项目信息的实时性。
作为一种可能的实施方式,如图3B所示,本步骤可以进一步包括如下步骤。
步骤303A,读取数据库服务器中存储的历史项目信息。
项目管理服务器在生成项目变更信息后,进一步读取数据库服务器中存储的历史项目信息。
步骤303B,检测项目变更信息所指示的项目是否包含在历史项目信息中。
当检测到生成的项目变更信息所指示的项目包含在历史项目信息中时,确定在项目层面未发生更新,无需对历史项目信息进行更新,并丢弃生成的项目变更信息;当检测到生成的项目变更信息所指示的项目不包含在历史项目信息中时,确定在项目层面发生了更新,并根据项目变更信息对历史项目信息进行更新(即执行步骤303C)。
步骤303C,若项目变更信息所指示的项目不包含在历史项目信息中,则根据项目变更信息对历史项目信息进行更新。
当检测到项目变更信息与历史项目信息之间存在差异时,项目管理服务器即根据该项目变更信息对历史项目信息进行更新。
步骤304,根据项目变更信息配置代码检测任务。
作为一种可能的实施方式,项目管理服务器根据发生变更的项目的项目地址以及预设检测目标,配置代码检测任务,其中,预设检测目标包括代码可行性检测和代码风格检测中的至少一种。
为方便后续的代码维护,项目管理服务器设置的代码检测任务还可以指示代码检测服务器进行代码风格检测。比如,该代码风格检测用于指示代码检测服务器检查代catch语句中是否包含日志打印相应的代码。
步骤305,向代码检测服务器下发代码检测任务,代码检测服务器用于根据代码检测任务进行代码检测。
对应的,代码检测服务器根据代码检测任务中包含的项目地址,从版本控制服务器处获取整个项目的项目文件,并进行代码检测,从而保证代码检测服务器每次使用的项目信息都是最新的,即每次检测的代码版本都是最新的。
步骤306,接收代码检测服务器反馈的检测结果。
为了方便开发人员及时知悉代码检测结果,代码检测服务器完成代码检测任务后,将检测结果反馈给项目管理服务器,方便开发人员及时进行故障定位和故障排除。
综上所述,本实施例提供的代码检测方法,通过项目管理服务器从版本控制服务器中获取版本日志,并根据该版本日志分析得到项目变更信息,从而进一步根据该项目变更信息为代码检测服务器配置代码检测任务,供代码检测服务器进行代码检测;解决了软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题;达到了由项目管理服务器自动根据代码的修改情况对项目信息进行更新,并进一步指示代码检测服务器进行实时的代码检测,避免产生遗漏的同时,提高了配置代码检测过程的效率。
本实施例中,项目管理服务器根据版本日志中更新文件所在项目的项目标识,将发生变化的项目文件归类到具体的项目上,从而生成针对项目层面的项目变更信息,并进一步根据该项目变更信息对数据库服务器中存储的历史项目信息进行更新,保证了数据库服务器中存储的项目信息的时效性。
本实施例中,代码检测服务器执行完成代码检测后,将代码检测结果存入数据库服务器,或向项目管理服务器反馈代码检测结果,使得开发人员能够及时对故障进行定位并排除,提高了程序开发的效率。
请参考图4,其示出了本发明一个实施例提供的代码检测装置的结构方框图。该代码检测装置可以通过软件、硬件或者两者的结合实现成为图1中项目管理服务器120的全部或者一部分。该代码检测装置,包括:
获取模块410,用于从版本控制服务器获取版本日志,所述版本日志中包含项目中文件的文件变更信息;
生成模块420,用于对所述版本日志进行分析,生成项目变更信息,所述项目变更信息用于指示项目的变更情况;
配置模块430,用于根据所述项目变更信息配置代码检测任务;
下发模块440,用于向代码检测服务器下发所述代码检测任务,所述代码检测服务器用于根据所述代码检测任务进行代码检测。
综上所述,本实施例提供的代码检测装置,通过项目管理服务器从版本控制服务器中获取版本日志,并根据该版本日志分析得到项目变更信息,从而进一步根据该项目变更信息为代码检测服务器配置代码检测任务,供代码检测服务器进行代码检测;解决了软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题;达到了由项目管理服务器自动根据代码的修改情况对项目信息进行更新,并进一步指示代码检测服务器进行实时的代码检测,避免产生遗漏的同时,提高了配置代码检测过程的效率。
请参考图5,其示出了本发明另一个实施例提供的代码检测装置的结构方框图。该代码检测装置可以通过软件、硬件或者两者的结合实现成为图1中项目管理服务器120的全部或者一部分。该代码检测装置,包括:
获取模块510,用于从版本控制服务器获取版本日志,所述版本日志中包含项目中文件的文件变更信息;
生成模块520,用于对所述版本日志进行分析,生成项目变更信息,所述项目变更信息用于指示项目的变更情况;
配置模块530,用于根据所述项目变更信息配置代码检测任务;
下发模块540,用于向代码检测服务器下发所述代码检测任务,所述代码检测服务器用于根据所述代码检测任务进行代码检测。
可选的,所述装置,还包括:
更新模块550,用于根据所述项目变更信息对所述数据库服务器中的历史项目信息进行更新。
可选的,所述文件变更信息中包含更新文件所在项目的项目标识,
所述生成模块520,包括:
确定单元521,用于根据所述文件变更信息中的所述项目标识,确定发生变更的项目;
生成单元522,用于根据所述发生变更的项目生成所述项目变更信息;
所述更新模块550,包括:
读取单元551,用于读取所述数据库服务器中存储的所述历史项目信息;
检测单元552,用于检测所述项目变更信息所指示的项目是否包含在所述历史项目信息中;
更新单元553,用于若所述项目变更信息所指示的项目不包含在所述历史项目信息中,则根据所述项目变更信息对所述历史项目信息进行更新。
可选的,配置模块530,用于:
根据所述发生变更的项目的项目地址以及预设检测目标,配置所述代码检测任务,所述预设检测目标包括代码可行性检测和代码风格检测中的至少一种。
综上所述,本实施例提供的代码检测装置,通过项目管理服务器从版本控制服务器中获取版本日志,并根据该版本日志分析得到项目变更信息,从而进一步根据该项目变更信息为代码检测服务器配置代码检测任务,供代码检测服务器进行代码检测;解决了软件开发过程中代码需要进行大量修改,人工配置代码检测过程效率较低且容易产生遗漏的问题;达到了由项目管理服务器自动根据代码的修改情况对项目信息进行更新,并进一步指示代码检测服务器进行实时的代码检测,避免产生遗漏的同时,提高了配置代码检测过程的效率。
本实施例中,项目管理服务器根据版本日志中更新文件所在项目的项目标识,将发生变化的项目文件归类到具体的项目上,从而生成针对项目层面的项目变更信息,并进一步根据该项目变更信息对数据库服务器中存储的历史项目信息进行更新,保证了数据库服务器中存储的项目信息的时效性。
本实施例中,代码检测服务器执行完成代码检测后,将代码检测结果存入数据库服务器,或向项目管理服务器反馈代码检测结果,使得开发人员能够及时对故障进行定位并排除,提高了程序开发的效率。
需要说明的是:上述实施例提供的代码检测装置在进行代码检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将项目管理服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的代码检测装置与代码检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6示出了本发明一个实施例提供的服务器的框图。该服务器600可以是图1所示的项目管理服务器120。具体来讲:
服务器600包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的***存储器604,以及连接***存储器604和中央处理单元601的***总线605。服务器600还包括帮助各个器件之间传输信息的基本输入/输出***(I/O***)606,和用于存储操作***613、应用程序614和其他程序模块615的大容量存储设备607。
基本输入/输出***606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中显示器608和输入设备609都通过连接到***总线605的输入输出控制器610连接到中央处理单元601。基本输入/输出***606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备607通过连接到***总线605的大容量存储控制器(未示出)连接到中央处理单元601。大容量存储设备607及其相关联的计算机可读介质为服务器600提供非易失性存储。也就是说,大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的***存储器604和大容量存储设备607可以统称为存储器。
根据本发明的各种实施例,服务器600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器600可以通过连接在***总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机***(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种代码检测***,其特征在于,所述***包括:版本控制服务器、项目管理服务器、代码检测服务器以及数据库服务器;
所述项目管理服务器,用于从所述版本控制服务器获取版本日志,所述版本日志中包含项目中文件的文件变更信息;对所述版本日志进行分析,生成项目变更信息,所述项目变更信息用于指示项目的变更情况,所述项目变更信息包括发生变更的项目的项目地址;
所述项目管理服务器,还用于根据所述项目变更信息对所述数据库服务器中的历史项目信息进行更新;根据所述发生变更的项目的项目地址以及预设检测目标配置代码检测任务,向所述代码检测服务器下发所述代码检测任务,所述预设检测目标包括代码可行性检测和代码风格检测中的至少一种;
所述代码检测服务器,用于根据所述代码检测任务进行代码检测。
2.根据权利要求1所述的***,其特征在于,所述文件变更信息中包含更新文件所在项目的项目标识;
所述项目管理服务器,还用于根据所述文件变更信息中的所述项目标识,确定发生变更的项目;
根据所述发生变更的项目生成所述项目变更信息;
读取所述数据库服务器中存储的所述历史项目信息;
检测所述项目变更信息所指示的项目是否包含在所述历史项目信息中;
若所述项目变更信息所指示的项目不包含在所述历史项目信息中,则根据所述项目变更信息对所述历史项目信息进行更新。
3.根据权利要求1或2所述的***,其特征在于,所述版本控制服务器中存储有各个版本项目对应的代码,且所述代码检测任务中包括待检测代码所在项目的项目地址;
所述代码检测服务器,用于根据所述代码检测任务中包含的所述项目地址,从所述版本控制服务器处获取所述项目对应的代码;对获取到的所述代码进行代码检测。
4.根据权利要求3所述的***,其特征在于,
所述代码检测服务器,还用于将代码检测结果存入所述数据库服务器;
和/或;
所述代码检测服务器,还用于向所述项目管理服务器反馈代码检测结果。
5.一种代码检测方法,其特征在于,所述方法包括:
从版本控制服务器获取版本日志,所述版本日志中包含项目中文件的文件变更信息;
对所述版本日志进行分析,生成项目变更信息,所述项目变更信息用于指示项目的变更情况,所述项目变更信息包括发生变更的项目的项目地址;
根据所述发生变更的项目的项目地址以及预设检测目标,配置代码检测任务,所述预设检测目标包括代码可行性检测和代码风格检测中的至少一种;
向代码检测服务器下发所述代码检测任务,所述代码检测服务器用于根据所述代码检测任务进行代码检测。
6.根据权利要求5所述的方法,其特征在于,所述对所述版本日志进行分析,生成项目变更信息之后,还包括:
根据所述项目变更信息对数据库服务器中的历史项目信息进行更新。
7.根据权利要求6所述的方法,其特征在于,所述文件变更信息中包含更新文件所在项目的项目标识,
所述对所述版本日志进行分析,生成项目变更信息,包括:
根据所述文件变更信息中的所述项目标识,确定发生变更的项目;
根据所述发生变更的项目生成所述项目变更信息;
所述根据所述项目变更信息对所述数据库服务器中的历史项目信息进行更新,包括:
读取所述数据库服务器中存储的所述历史项目信息;
检测所述项目变更信息所指示的项目是否包含在所述历史项目信息中;
若所述项目变更信息所指示的项目不包含在所述历史项目信息中,则根据所述项目变更信息对所述历史项目信息进行更新。
8.一种代码检测装置,其特征在于,所述装置包括:
获取模块,用于从版本控制服务器获取版本日志,所述版本日志中包含项目中文件的文件变更信息;
生成模块,用于对所述版本日志进行分析,生成项目变更信息,所述项目变更信息用于指示项目的变更情况,所述项目变更信息包括发生变更的项目的项目地址;
配置模块,用于根据所述发生变更的项目的项目地址以及预设检测目标,配置代码检测任务,所述预设检测目标包括代码可行性检测和代码风格检测中的至少一种;
下发模块,用于向代码检测服务器下发所述代码检测任务,所述代码检测服务器用于根据所述代码检测任务进行代码检测。
9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
更新模块,用于根据所述项目变更信息对数据库服务器中的历史项目信息进行更新。
10.根据权利要求9所述的装置,其特征在于,所述文件变更信息中包含更新文件所在项目的项目标识,
所述生成模块,包括:
确定单元,用于根据所述文件变更信息中的所述项目标识,确定发生变更的项目;
生成单元,用于根据所述发生变更的项目生成所述项目变更信息;
所述更新模块,包括:
读取单元,用于读取所述数据库服务器中存储的所述历史项目信息;
检测单元,用于检测所述项目变更信息所指示的项目是否包含在所述历史项目信息中;
更新单元,用于若所述项目变更信息所指示的项目不包含在所述历史项目信息中,则根据所述项目变更信息对所述历史项目信息进行更新。
CN201610196893.0A 2016-03-31 2016-03-31 代码检测***、方法及装置 Active CN105893259B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610196893.0A CN105893259B (zh) 2016-03-31 2016-03-31 代码检测***、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610196893.0A CN105893259B (zh) 2016-03-31 2016-03-31 代码检测***、方法及装置

Publications (2)

Publication Number Publication Date
CN105893259A CN105893259A (zh) 2016-08-24
CN105893259B true CN105893259B (zh) 2019-04-09

Family

ID=57011764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610196893.0A Active CN105893259B (zh) 2016-03-31 2016-03-31 代码检测***、方法及装置

Country Status (1)

Country Link
CN (1) CN105893259B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359028B (zh) * 2018-08-22 2024-05-03 平安科技(深圳)有限公司 代码质量监控方法、装置、计算机设备及存储介质
CN110134653B (zh) * 2019-05-17 2021-09-07 杭州安恒信息技术股份有限公司 一种利用日志辅助数据库审计方法及***
CN110262968A (zh) * 2019-06-10 2019-09-20 天翼电子商务有限公司 提升应用故障定位效率的方法、***、介质、及电子设备
CN111045723B (zh) * 2019-12-11 2024-01-26 腾讯科技(深圳)有限公司 关联***间的代码变更通知方法、装置
CN113535533B (zh) * 2020-04-15 2024-04-05 百度在线网络技术(北京)有限公司 用于测试代码的方法、装置、设备以及存储介质
CN112199276B (zh) * 2020-09-24 2023-05-30 建信金融科技有限责任公司 微服务架构的变更检测方法、装置、服务器及存储介质
CN112231327B (zh) * 2020-10-12 2024-01-23 中国民航信息网络股份有限公司 一种航班信息更新方法、装置、服务器及存储介质
CN112860564A (zh) * 2021-02-24 2021-05-28 深圳海付移通科技有限公司 代码检测方法、服务器、用户端、计算机设备和存储介质
CN113050926B (zh) * 2021-03-24 2024-03-05 中国工商银行股份有限公司 一种代码同步变更的确认方法、装置和设备
CN113342779A (zh) * 2021-06-23 2021-09-03 深圳兆日科技股份有限公司 项目更新方法、装置及计算机可读存储介质
CN115629746B (zh) * 2022-12-22 2023-03-17 西安葡萄城软件有限公司 一种低代码平台多人协同开发的方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及***
CN103353846A (zh) * 2013-06-28 2013-10-16 四川农业大学 一种项目自动部署插件
CN104298587A (zh) * 2013-07-15 2015-01-21 腾讯科技(深圳)有限公司 一种代码覆盖测试方法、装置和***
US9081595B1 (en) * 2011-12-06 2015-07-14 The Mathworks, Inc. Displaying violated coding rules in source code
CN104780076A (zh) * 2015-03-19 2015-07-15 杭州华三通信技术有限公司 一种代码检查方法和设备
CN105373384A (zh) * 2015-11-13 2016-03-02 大唐终端技术有限公司 一种软件开发方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312430B2 (en) * 2008-08-27 2012-11-13 International Business Machines Corporation Guarding code check-in with test case execution results

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081595B1 (en) * 2011-12-06 2015-07-14 The Mathworks, Inc. Displaying violated coding rules in source code
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及***
CN103353846A (zh) * 2013-06-28 2013-10-16 四川农业大学 一种项目自动部署插件
CN104298587A (zh) * 2013-07-15 2015-01-21 腾讯科技(深圳)有限公司 一种代码覆盖测试方法、装置和***
CN104780076A (zh) * 2015-03-19 2015-07-15 杭州华三通信技术有限公司 一种代码检查方法和设备
CN105373384A (zh) * 2015-11-13 2016-03-02 大唐终端技术有限公司 一种软件开发方法和装置

Also Published As

Publication number Publication date
CN105893259A (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN105893259B (zh) 代码检测***、方法及装置
US20210397541A1 (en) System and method of handling complex experiments in a distributed system
US20210133632A1 (en) Systems and methods for model monitoring
CA2937017C (en) Integrated design application
US20210342725A1 (en) Systems And Methods For Tracking And Representing Data Science Model Runs
US8396815B2 (en) Adaptive business process automation
US11086891B2 (en) Systems and methods for tracking and representing data science data runs
US20130036400A1 (en) Pre-merge conflict avoidance
US11983512B2 (en) Creation and management of data pipelines
US20100017427A1 (en) Multilevel Hierarchical Associations Between Entities in a Knowledge System
US11171835B2 (en) Automated generation of an information technology asset ontology
US20140201704A1 (en) Integration and user story generation and requirements management
KR20170040210A (ko) 분산 시스템에서 결함을 분석하기 위한 비주얼 툴
EP3314409B1 (en) Tracing dependencies between development artifacts in a software development project
US20220269504A1 (en) Client-side enrichment and transformation via dynamic logic for analytics
US20170193409A1 (en) Business resource modeling
US20190295097A1 (en) Cross-functional analytics tool for integrating web analytics data and customer relationship management data
WO2014025946A2 (en) Automatic verification of data sources
CN115185907A (zh) 一种前端资源管理方法、装置、设备以及存储介质
US10324821B2 (en) Oracle cemli analysis tool
Delias et al. Business process analytics: a dedicated methodology through a case study
Kleehaus et al. Discovery of Microservice-based IT Landscapes at Runtime: Algorithms and Visualizations.
EP3671467A1 (en) Gui application testing using bots
Kumar Software Engineering for Big Data Systems
US20240036962A1 (en) Product lifecycle management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant