国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      代碼檢測系統(tǒng)、方法及裝置的制造方法

      文檔序號:10534724閱讀:399來源:國知局
      代碼檢測系統(tǒng)、方法及裝置的制造方法
      【專利摘要】本發(fā)明公開了一種代碼檢測系統(tǒng)、方法及裝置,屬于軟件開發(fā)領(lǐng)域。該系統(tǒng)包括:版本控制服務(wù)器、項目管理服務(wù)器、代碼檢測服務(wù)器以及數(shù)據(jù)庫服務(wù)器;項目管理服務(wù)器,用于從版本控制服務(wù)器獲取版本日志,版本日志中包含項目中文件的文件變更信息;對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況;項目管理服務(wù)器,還用于根據(jù)項目變更信息對數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新;根據(jù)項目變更信息配置代碼檢測任務(wù),向代碼檢測服務(wù)器下發(fā)代碼檢測任務(wù);代碼檢測服務(wù)器,用于根據(jù)代碼檢測任務(wù)進行代碼檢測。本發(fā)明實施例解決了代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題。
      【專利說明】
      代碼檢測系統(tǒng)、方法及裝置
      技術(shù)領(lǐng)域
      [0001]本發(fā)明實施例涉及軟件開發(fā)領(lǐng)域,特別涉及一種代碼檢測系統(tǒng)、方法及裝置。
      【背景技術(shù)】
      [0002]軟件開發(fā)需要經(jīng)歷漫長的開發(fā)過程,在開發(fā)過程中,開發(fā)人員需要頻繁地對代碼進行修改。
      [0003]為了保證修改后代碼的可用性,并方便后續(xù)的代碼維護,修改后的代碼需要經(jīng)過代碼檢測。相關(guān)技術(shù)中,修改后的代碼以及相應(yīng)的檢測標準需要手動上傳至代碼檢測服務(wù)器,由代碼檢測服務(wù)器根據(jù)該檢測標準對代碼進行檢測并進行反饋。
      [0004]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏。

      【發(fā)明內(nèi)容】

      [0005]為了解決軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題,本發(fā)明實施例提供了一種代碼檢測系統(tǒng)、方法及裝置。所述技術(shù)方案如下:
      [0006]根據(jù)本發(fā)明實施例的第一方面,提供一種代碼檢測系統(tǒng),所述系統(tǒng)包括:
      [0007]版本控制服務(wù)器、項目管理服務(wù)器、代碼檢測服務(wù)器以及數(shù)據(jù)庫服務(wù)器;
      [0008]項目管理服務(wù)器,用于從版本控制服務(wù)器獲取版本日志,版本日志中包含項目中文件的文件變更信息;對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況;
      [0009]項目管理服務(wù)器,還用于根據(jù)項目變更信息對數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新;根據(jù)項目變更信息配置代碼檢測任務(wù),向代碼檢測服務(wù)器下發(fā)代碼檢測任務(wù);
      [0010]代碼檢測服務(wù)器,用于根據(jù)代碼檢測任務(wù)進行代碼檢測。
      [0011]根據(jù)本發(fā)明實施例的第二方面,提供一種代碼檢測方法,所述方法包括:
      [0012]從版本控制服務(wù)器獲取版本日志,版本日志中包含項目中文件的文件變更信息;
      [0013]對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況;
      [0014]根據(jù)項目變更信息配置代碼檢測任務(wù);
      [0015]向代碼檢測服務(wù)器下發(fā)代碼檢測任務(wù),代碼檢測服務(wù)器用于根據(jù)代碼檢測任務(wù)進行代碼檢測。
      [0016]根據(jù)本發(fā)明實施例的第三方面,提供一種代碼檢測柱子,所述裝置包括:
      [0017]獲取模塊,用于從版本控制服務(wù)器獲取版本日志,版本日志中包含項目中文件的文件變更信息;
      [0018]生成模塊,用于對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況;
      [0019]配置模塊,用于根據(jù)項目變更信息配置代碼檢測任務(wù);
      [0020]下發(fā)模塊,用于向代碼檢測服務(wù)器下發(fā)代碼檢測任務(wù),代碼檢測服務(wù)器用于根據(jù)代碼檢測任務(wù)進行代碼檢測。
      [0021 ]通過項目管理服務(wù)器從版本控制服務(wù)器中獲取版本日志,并根據(jù)該版本日志分析得到項目變更信息,從而進一步根據(jù)該項目變更信息為代碼檢測服務(wù)器配置代碼檢測任務(wù),供代碼檢測服務(wù)器進行代碼檢測;解決了軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題;達到了由項目管理服務(wù)器自動根據(jù)代碼的修改情況對項目信息進行更新,并進一步指示代碼檢測服務(wù)器進行實時的代碼檢測,避免產(chǎn)生遺漏的同時,提高了配置代碼檢測過程的效率。
      【附圖說明】
      [0022]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0023]圖1示出了本發(fā)明一個實施例提供的代碼檢測系統(tǒng)的結(jié)構(gòu)示意圖;
      [0024]圖2示出了本發(fā)明一個實施例提供的代碼檢測方法的流程圖;
      [0025]圖3A示出了本發(fā)明另一個實施例提供的代碼檢測方法的流程圖;
      [0026]圖3B示出了本發(fā)明再一個實施例提供的代碼檢測方法的流程圖;
      [0027]圖4示出了本發(fā)明一個實施例提供的代碼檢測裝置的結(jié)構(gòu)方框圖;
      [0028]圖5示出了本發(fā)明另一個實施例提供的代碼檢測裝置的結(jié)構(gòu)方框圖;
      [0029]圖6示出了本發(fā)明一個實施例提供的服務(wù)器的框圖。
      【具體實施方式】
      [0030]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
      [0031]請參考圖1,其示出了本發(fā)明一個實施例提供的代碼檢測系統(tǒng)的結(jié)構(gòu)示意圖。該代碼檢測系統(tǒng)中包括版本控制服務(wù)器110、項目管理服務(wù)器120、代碼檢測服務(wù)器130以及數(shù)據(jù)庫服務(wù)器140。
      [0032]項目管理服務(wù)器120,用于從版本控制服務(wù)器110獲取版本日志,版本日志中包含項目中文件的文件變更信息;對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況。
      [0033]項目管理服務(wù)器120,還用于根據(jù)項目變更信息對數(shù)據(jù)庫服務(wù)器140中的歷史項目信息進行更新;根據(jù)項目變更信息配置代碼檢測任務(wù),向代碼檢測服務(wù)器130下發(fā)代碼檢測任務(wù)。
      [0034]代碼檢測服務(wù)器130,用于根據(jù)代碼檢測任務(wù)進行代碼檢測。
      [0035]軟件項目開發(fā)過程中,各個版本的項目文件均存儲在版本控制服務(wù)器中。版本控制服務(wù)器按照預(yù)定時間周期獲取最新版本的項目文件,并將最新版本的項目文件與上一版本的項目文件進行對比分析,分析出項目文件的文件修改信息、文件增加信息和文件刪除信息等信息,并最終生成包含上述信息的版本日志,該版本日志中即包含項目中項目文件的詳細變更信息。其中,文件修改信息可以包括修改文件的名稱、存儲地址、所在項目標識、修改人標識、修改時間和修改內(nèi)容等等;相應(yīng)的,文件增加(或刪除)信息包含增加(或刪除)文件的名稱、存儲地址、所在項目標識、修改人標識、增加(或刪除)時間和增加(或刪除)內(nèi)容等等。
      [0036]比如,版本控制服務(wù)器獲取到最新版本的項目文件中,項目A下包含項目文件1、項目文件3和項目文件4,且上一版本的項目文件中,項目A包含項目文件I和項目文件2。版本控制服務(wù)器即對最新版本中項目文件I與上一版本中項目文件I進行分析,得到項目文件I的文件修改信息;由于最新版本與上一版本相比,增加了項目文件4并刪除了項目文件3,版本控制服務(wù)器分析得到相應(yīng)的文件增加信息(針對項目文件4)和文件刪除信息(針對項目文件3)。進一步的,版本控制服務(wù)器以版本號為索引,生成包含上述信息的版本日志。
      [0037]為了知悉項目中詳細的變化情況,項目管理服務(wù)器按預(yù)定周期(比如每隔12或24小時)從版本控制服務(wù)器處獲取最新的版本日志。獲取到版本日志后,項目管理服務(wù)器對該版本日志進行分析,分析得到項目的變更情況,并生成相應(yīng)的項目變更信息。
      [0038]由于版本控制服務(wù)器重點關(guān)注項目中項目文件的變更情況,因此生成的版本日志中包含詳細的項目文件變更信息;與版本日志相比,項目管理服務(wù)器則重點關(guān)注項目整體的變更情況,而非項目中具體項目文件的變更情況,因此生成的項目變更信息相較于版本日志更加間接,且偏重項目層面。
      [0039]進一步的,項目管理服務(wù)器根據(jù)分析生成的項目變更信息,對數(shù)據(jù)庫服務(wù)器中存儲的歷史項目信息進行更新,從而保證數(shù)據(jù)庫服務(wù)器中存儲的項目信息的實時性。
      [0040]由于項目中的項目文件發(fā)生了變更,為了保證先更后項目文件的可用性,項目管理服務(wù)器根據(jù)項目變更信息配置代碼檢測任務(wù),并將該代碼檢測任務(wù)下發(fā)至代碼檢測服務(wù)器,指示代碼檢測服務(wù)器進行針對變更項目的代碼檢測。
      [0041]綜上所述,本實施例提供的代碼檢測系統(tǒng),通過項目管理服務(wù)器從版本控制服務(wù)器中獲取版本日志,并根據(jù)該版本日志分析得到項目變更信息,從而進一步根據(jù)該項目變更信息為代碼檢測服務(wù)器配置代碼檢測任務(wù),供代碼檢測服務(wù)器進行代碼檢測;解決了軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題;達到了由項目管理服務(wù)器自動根據(jù)代碼的修改情況對項目信息進行更新,并進一步指示代碼檢測服務(wù)器進行實時的代碼檢測,避免產(chǎn)生遺漏的同時,提高了配置代碼檢測過程的效率。
      [0042]由于數(shù)據(jù)庫服務(wù)器中存儲的項目信息是針對項目層面的,且在項目整體發(fā)生變更,比如,項目存儲路徑發(fā)生變化、新增項目或刪除項目時才需要進行進行更新,因此,項目管理服務(wù)器分析得到項目變更信息后,進一步獲取數(shù)據(jù)庫服務(wù)器中存儲的項目信息,比較兩者之間是否存在差異,并在存在差異時對數(shù)據(jù)庫服務(wù)器中的項目信息進行更新。
      [0043]可選的,項目管理服務(wù)器120,還用于根據(jù)文件變更信息中的項目標識,確定發(fā)生變更的項目;根據(jù)發(fā)生變更的項目生成項目變更信息;讀取數(shù)據(jù)庫服務(wù)器140中存儲的歷史項目信息;檢測項目變更信息所指示的項目是否包含在歷史項目信息中;若項目變更信息所指示的項目不包含在歷史項目信息中,則根據(jù)項目變更信息對歷史項目信息進行更新。
      [0044]項目管理服務(wù)器120在生成項目變更信息時,獲取版本日志中文件變更信息中包含的更新文件所在項目的項目標識,從而確定出發(fā)生變更的項目,并根據(jù)發(fā)生變更的項目生成項目變更信息。
      [0045]比如,版本日志中包含項目文件I的文件修改信息、項目文件3的文件刪除信息、項目文件4的文件增加信息以及項目文件6的文件增加信息,且項目文件1、項目文件3和項目文件4所在項目的項目標識為項目A,項目文件6所在項目的項目標識為項目B,項目管理服務(wù)器即確定發(fā)生變更的項目為項目A以及項目B。
      [0046]項目管理服務(wù)器從數(shù)據(jù)庫服務(wù)器讀取存儲的歷史項目信息,并檢測生成的項目變更信息與該歷史項目信息是否存在差異,在兩者存在差異時對歷史項目信息進行更新。作為一種可能的實施方式,項目管理服務(wù)器檢測生成的項目變更信息所指示的項目是否包含在歷史項目信息中。當檢測到生成的項目變更信息所指示的項目包含在歷史項目信息中時,確定在項目層面未發(fā)生更新,無需對歷史項目信息進行更新,并丟棄生成的項目變更信息;當檢測到生成的項目變更信息所指示的項目不包含在歷史項目信息中時,確定在項目層面發(fā)生了更新,并根據(jù)項目變更信息對歷史項目信息進行更新。
      [0047]比如,項目管理服務(wù)器生成的項目變更信息中,包含項目A和項目B的變更信息,且從數(shù)據(jù)庫服務(wù)器讀取到的歷史項目信息中,僅包含項目A的項目信息。項目管理服務(wù)器即確定項目B為新增項目,并對該歷史項目信息進行更新。
      [0048]本實施例中,項目管理服務(wù)器根據(jù)版本日志中更新文件所在項目的項目標識,將發(fā)生變化的項目文件歸類到具體的項目上,從而生成針對項目層面的項目變更信息,并進一步根據(jù)該項目變更信息對數(shù)據(jù)庫服務(wù)器中存儲的歷史項目信息進行更新,保證了數(shù)據(jù)庫服務(wù)器中存儲的項目信息的時效性。
      [0049]由于各個版本的項目文件均存儲在版本控制服務(wù)器中,為了使代碼檢測服務(wù)器能夠準確獲取發(fā)生變更的項目文件,并進行代碼檢測,項目管理服務(wù)器生成的項目變更信息中包括發(fā)生變更的項目的項目地址。
      [0050]可選的,項目管理服務(wù)器120,用于根據(jù)發(fā)生變更的項目的項目地址以及預(yù)設(shè)檢測目標,配置代碼檢測任務(wù),預(yù)設(shè)檢測目標包括代碼可行性檢測和代碼風格檢測中的至少一種。
      [0051]為方便后續(xù)的代碼維護,項目管理服務(wù)器設(shè)置的代碼檢測任務(wù)還可以指示代碼檢測服務(wù)器進行代碼風格檢測,比如,該代碼風格檢測用于指示代碼檢測服務(wù)器檢查代catch語句中是否包含日志打印相應(yīng)的代碼。
      [0052]對應(yīng)的,代碼檢測服務(wù)器130,用于根據(jù)代碼檢測任務(wù)中包含的項目地址,從版本控制服務(wù)器110處獲取項目對應(yīng)的代碼;對獲取到的代碼進行代碼檢測。
      [0053]代碼檢測服務(wù)器根據(jù)代碼檢測任務(wù)中包含的項目地址,從版本控制服務(wù)器處獲取整個項目的項目文件,并進行代碼檢測,從而保證代碼檢測服務(wù)器每次使用的項目信息都是最新的,即每次檢測的代碼版本都是最新的。
      [0054]為了方便開發(fā)人員及時知悉代碼檢測結(jié)果,可選的,代碼檢測服務(wù)器130,還用于將代碼檢測結(jié)果存入數(shù)據(jù)庫服務(wù)器140;
      [0055]和/或;
      [0056]代碼檢測服務(wù)器130,還用于向項目管理服務(wù)器120反饋代碼檢測結(jié)果。
      [0057]代碼檢測服務(wù)器檢測完變更項目后,可以將相應(yīng)的代碼檢測結(jié)果存入數(shù)據(jù)庫服務(wù)器,方便開發(fā)人員后續(xù)調(diào)取查看,并進行故障排除;或者,代碼檢測服務(wù)器還可以將檢測結(jié)果發(fā)送至項目管理服務(wù)器,項目管理服務(wù)器接收到檢測結(jié)果后,及時通知開發(fā)人員進行故障定位和故障排除。
      [0058]本實施例中,代碼檢測服務(wù)器執(zhí)行完成代碼檢測后,將代碼檢測結(jié)果存入數(shù)據(jù)庫服務(wù)器,或向項目管理服務(wù)器反饋代碼檢測結(jié)果,使得開發(fā)人員能夠及時對故障進行定位并排除,提高了程序開發(fā)的效率。
      [0059]需要說明的是,上述版本控制服務(wù)器110、項目管理服務(wù)器120、代碼檢測服務(wù)器130以及數(shù)據(jù)庫服務(wù)器140,均可以是一臺服務(wù)器,也可以是由若干臺服務(wù)器組成的服務(wù)器集群或云計算中心,本發(fā)明實施例并不對此進行限定。
      [0060]結(jié)合圖1所示的代碼檢測系統(tǒng),請參考圖2,其示出了本發(fā)明一個實施例提供的代碼檢測方法的流程圖。本實施例以該代碼檢測方法用于圖1中的項目管理服務(wù)器120為例進行說明,該方法包括:
      [0061 ]步驟202,從版本控制服務(wù)器獲取版本日志,版本日志中包含項目中文件的文件變更信息。
      [0062]步驟204,對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況。
      [0063]步驟206,根據(jù)項目變更信息配置代碼檢測任務(wù)。
      [0064]步驟208,向代碼檢測服務(wù)器下發(fā)代碼檢測任務(wù),代碼檢測服務(wù)器用于根據(jù)代碼檢測任務(wù)進行代碼檢測。
      [0065]綜上所述,本實施例提供的代碼檢測方法,通過項目管理服務(wù)器從版本控制服務(wù)器中獲取版本日志,并根據(jù)該版本日志分析得到項目變更信息,從而進一步根據(jù)該項目變更信息為代碼檢測服務(wù)器配置代碼檢測任務(wù),供代碼檢測服務(wù)器進行代碼檢測;解決了軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題;達到了由項目管理服務(wù)器自動根據(jù)代碼的修改情況對項目信息進行更新,并進一步指示代碼檢測服務(wù)器進行實時的代碼檢測,避免產(chǎn)生遺漏的同時,提高了配置代碼檢測過程的效率。
      [0066]圖3A示出了本發(fā)明另一個實施例提供的代碼檢測方法的流程圖。本實施例以該代碼檢測方法用于圖1中的項目管理服務(wù)器120為例進行說明,該方法包括:
      [0067]步驟301,從版本控制服務(wù)器獲取版本日志,版本日志中包含項目中文件的文件變更信息。
      [0068]項目管理服務(wù)器按預(yù)定周期(比如每隔12或24小時)從版本控制服務(wù)器處獲取最新的版本日志。該版本日志中包括項目文件的文件修改信息、文件增加信息和文件刪除信息等信息。
      [0069]步驟302,對版本日志進行分析,生成項目變更信息,項目變更信息用于指示項目的變更情況。
      [0070]項目管理服務(wù)器根據(jù)版本日志中項目文件的變更情況,將其重新歸類到具體的項目上,并生成相應(yīng)的項目變更信息。
      [0071]作為一種可能的實施方式,如圖3B所示,本步驟可以包括如下步驟。
      [0072]步驟302A,根據(jù)文件變更信息中的項目標識,確定發(fā)生變更的項目。
      [0073]比如,版本日志中包含項目文件I的文件修改信息、項目文件3的文件刪除信息、項目文件4的文件增加信息以及項目文件6的文件增加信息,且項目文件1、項目文件3和項目文件4所在項目的項目標識為項目A,項目文件6所在項目的項目標識為項目B,項目管理服務(wù)器即確定發(fā)生變更的項目為項目A以及項目B。
      [0074]步驟302B,根據(jù)發(fā)生變更的項目生成項目變更信息。
      [0075]根據(jù)確定的發(fā)生變更的項目,項目管理服務(wù)器進一步生成項目變更信息。相較于版本控制服務(wù)器中的版本日志,該項目變更信息偏重于體現(xiàn)項目層面的信息,而非項目中具體項目文件的變更信息。
      [0076]步驟303,根據(jù)項目變更信息對數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新。
      [0077]項目管理服務(wù)器從數(shù)據(jù)庫服務(wù)器讀取存儲的歷史項目信息,并檢測生成的項目變更信息與該歷史項目信息是否存在差異,在兩者存在差異時對歷史項目信息進行更新,從而保證數(shù)據(jù)庫服務(wù)器中存儲的項目信息的實時性。
      [0078]作為一種可能的實施方式,如圖3B所示,本步驟可以進一步包括如下步驟。
      [0079]步驟303A,讀取數(shù)據(jù)庫服務(wù)器中存儲的歷史項目信息。
      [0080]項目管理服務(wù)器在生成項目變更信息后,進一步讀取數(shù)據(jù)庫服務(wù)器中存儲的歷史項目信息。
      [0081 ]步驟303B,檢測項目變更信息所指示的項目是否包含在歷史項目信息中。
      [0082]當檢測到生成的項目變更信息所指示的項目包含在歷史項目信息中時,確定在項目層面未發(fā)生更新,無需對歷史項目信息進行更新,并丟棄生成的項目變更信息;當檢測到生成的項目變更信息所指示的項目不包含在歷史項目信息中時,確定在項目層面發(fā)生了更新,并根據(jù)項目變更信息對歷史項目信息進行更新(即執(zhí)行步驟303C)。
      [0083]步驟303C,若項目變更信息所指示的項目不包含在歷史項目信息中,則根據(jù)項目變更信息對歷史項目信息進行更新。
      [0084]當檢測到項目變更信息與歷史項目信息之間存在差異時,項目管理服務(wù)器即根據(jù)該項目變更信息對歷史項目信息進行更新。
      [0085]步驟304,根據(jù)項目變更信息配置代碼檢測任務(wù)。
      [0086]作為一種可能的實施方式,項目管理服務(wù)器根據(jù)發(fā)生變更的項目的項目地址以及預(yù)設(shè)檢測目標,配置代碼檢測任務(wù),其中,預(yù)設(shè)檢測目標包括代碼可行性檢測和代碼風格檢測中的至少一種。
      [0087]為方便后續(xù)的代碼維護,項目管理服務(wù)器設(shè)置的代碼檢測任務(wù)還可以指示代碼檢測服務(wù)器進行代碼風格檢測。比如,該代碼風格檢測用于指示代碼檢測服務(wù)器檢查代catch語句中是否包含日志打印相應(yīng)的代碼。
      [0088]步驟305,向代碼檢測服務(wù)器下發(fā)代碼檢測任務(wù),代碼檢測服務(wù)器用于根據(jù)代碼檢測任務(wù)進行代碼檢測。
      [0089]對應(yīng)的,代碼檢測服務(wù)器根據(jù)代碼檢測任務(wù)中包含的項目地址,從版本控制服務(wù)器處獲取整個項目的項目文件,并進行代碼檢測,從而保證代碼檢測服務(wù)器每次使用的項目信息都是最新的,即每次檢測的代碼版本都是最新的。
      [0090]步驟306,接收代碼檢測服務(wù)器反饋的檢測結(jié)果。
      [0091]為了方便開發(fā)人員及時知悉代碼檢測結(jié)果,代碼檢測服務(wù)器完成代碼檢測任務(wù)后,將檢測結(jié)果反饋給項目管理服務(wù)器,方便開發(fā)人員及時進行故障定位和故障排除。
      [0092]綜上所述,本實施例提供的代碼檢測方法,通過項目管理服務(wù)器從版本控制服務(wù)器中獲取版本日志,并根據(jù)該版本日志分析得到項目變更信息,從而進一步根據(jù)該項目變更信息為代碼檢測服務(wù)器配置代碼檢測任務(wù),供代碼檢測服務(wù)器進行代碼檢測;解決了軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題;達到了由項目管理服務(wù)器自動根據(jù)代碼的修改情況對項目信息進行更新,并進一步指示代碼檢測服務(wù)器進行實時的代碼檢測,避免產(chǎn)生遺漏的同時,提高了配置代碼檢測過程的效率。
      [0093]本實施例中,項目管理服務(wù)器根據(jù)版本日志中更新文件所在項目的項目標識,將發(fā)生變化的項目文件歸類到具體的項目上,從而生成針對項目層面的項目變更信息,并進一步根據(jù)該項目變更信息對數(shù)據(jù)庫服務(wù)器中存儲的歷史項目信息進行更新,保證了數(shù)據(jù)庫服務(wù)器中存儲的項目信息的時效性。
      [0094]本實施例中,代碼檢測服務(wù)器執(zhí)行完成代碼檢測后,將代碼檢測結(jié)果存入數(shù)據(jù)庫服務(wù)器,或向項目管理服務(wù)器反饋代碼檢測結(jié)果,使得開發(fā)人員能夠及時對故障進行定位并排除,提高了程序開發(fā)的效率。
      [0095]請參考圖4,其示出了本發(fā)明一個實施例提供的代碼檢測裝置的結(jié)構(gòu)方框圖。該代碼檢測裝置可以通過軟件、硬件或者兩者的結(jié)合實現(xiàn)成為圖1中項目管理服務(wù)器120的全部或者一部分。該代碼檢測裝置,包括:
      [0096]獲取模塊410,用于從版本控制服務(wù)器獲取版本日志,所述版本日志中包含項目中文件的文件變更信息;
      [0097]生成模塊420,用于對所述版本日志進行分析,生成項目變更信息,所述項目變更信息用于指示項目的變更情況;
      [0098]配置模塊430,用于根據(jù)所述項目變更信息配置代碼檢測任務(wù);
      [0099]下發(fā)模塊440,用于向代碼檢測服務(wù)器下發(fā)所述代碼檢測任務(wù),所述代碼檢測服務(wù)器用于根據(jù)所述代碼檢測任務(wù)進行代碼檢測。
      [0100]綜上所述,本實施例提供的代碼檢測裝置,通過項目管理服務(wù)器從版本控制服務(wù)器中獲取版本日志,并根據(jù)該版本日志分析得到項目變更信息,從而進一步根據(jù)該項目變更信息為代碼檢測服務(wù)器配置代碼檢測任務(wù),供代碼檢測服務(wù)器進行代碼檢測;解決了軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題;達到了由項目管理服務(wù)器自動根據(jù)代碼的修改情況對項目信息進行更新,并進一步指示代碼檢測服務(wù)器進行實時的代碼檢測,避免產(chǎn)生遺漏的同時,提高了配置代碼檢測過程的效率。
      [0101]請參考圖5,其示出了本發(fā)明另一個實施例提供的代碼檢測裝置的結(jié)構(gòu)方框圖。該代碼檢測裝置可以通過軟件、硬件或者兩者的結(jié)合實現(xiàn)成為圖1中項目管理服務(wù)器120的全部或者一部分。該代碼檢測裝置,包括:
      [0102]獲取模塊510,用于從版本控制服務(wù)器獲取版本日志,所述版本日志中包含項目中文件的文件變更信息;
      [0103]生成模塊520,用于對所述版本日志進行分析,生成項目變更信息,所述項目變更信息用于指示項目的變更情況;
      [0104]配置模塊530,用于根據(jù)所述項目變更信息配置代碼檢測任務(wù);
      [0105]下發(fā)模塊540,用于向代碼檢測服務(wù)器下發(fā)所述代碼檢測任務(wù),所述代碼檢測服務(wù)器用于根據(jù)所述代碼檢測任務(wù)進行代碼檢測。
      [0106]可選的,所述裝置,還包括:
      [0107]更新模塊550,用于根據(jù)所述項目變更信息對所述數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新。
      [0108]可選的,所述文件變更信息中包含更新文件所在項目的項目標識,
      [0109]所述生成模塊520,包括:
      [0110]確定單元521,用于根據(jù)所述文件變更信息中的所述項目標識,確定發(fā)生變更的項目;
      [0111]生成單元522,用于根據(jù)所述發(fā)生變更的項目生成所述項目變更信息;
      [0112]所述更新模塊550,包括:
      [0113]讀取單元551,用于讀取所述數(shù)據(jù)庫服務(wù)器中存儲的所述歷史項目信息;
      [0114]檢測單元552,用于檢測所述項目變更信息所指示的項目是否包含在所述歷史項目信息中;
      [0115]更新單元553,用于若所述項目變更信息所指示的項目不包含在所述歷史項目信息中,則根據(jù)所述項目變更信息對所述歷史項目信息進行更新。
      [0116]可選的,配置模塊530,用于:
      [0117]根據(jù)所述發(fā)生變更的項目的項目地址以及預(yù)設(shè)檢測目標,配置所述代碼檢測任務(wù),所述預(yù)設(shè)檢測目標包括代碼可行性檢測和代碼風格檢測中的至少一種。
      [0118]綜上所述,本實施例提供的代碼檢測裝置,通過項目管理服務(wù)器從版本控制服務(wù)器中獲取版本日志,并根據(jù)該版本日志分析得到項目變更信息,從而進一步根據(jù)該項目變更信息為代碼檢測服務(wù)器配置代碼檢測任務(wù),供代碼檢測服務(wù)器進行代碼檢測;解決了軟件開發(fā)過程中代碼需要進行大量修改,人工配置代碼檢測過程效率較低且容易產(chǎn)生遺漏的問題;達到了由項目管理服務(wù)器自動根據(jù)代碼的修改情況對項目信息進行更新,并進一步指示代碼檢測服務(wù)器進行實時的代碼檢測,避免產(chǎn)生遺漏的同時,提高了配置代碼檢測過程的效率。
      [0119]本實施例中,項目管理服務(wù)器根據(jù)版本日志中更新文件所在項目的項目標識,將發(fā)生變化的項目文件歸類到具體的項目上,從而生成針對項目層面的項目變更信息,并進一步根據(jù)該項目變更信息對數(shù)據(jù)庫服務(wù)器中存儲的歷史項目信息進行更新,保證了數(shù)據(jù)庫服務(wù)器中存儲的項目信息的時效性。
      [0120]本實施例中,代碼檢測服務(wù)器執(zhí)行完成代碼檢測后,將代碼檢測結(jié)果存入數(shù)據(jù)庫服務(wù)器,或向項目管理服務(wù)器反饋代碼檢測結(jié)果,使得開發(fā)人員能夠及時對故障進行定位并排除,提高了程序開發(fā)的效率。
      [0121]需要說明的是:上述實施例提供的代碼檢測裝置在進行代碼檢測時,僅以上述各功能模塊的劃分進行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將項目管理服務(wù)器的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的代碼檢測裝置與代碼檢測方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
      [0122]圖6示出了本發(fā)明一個實施例提供的服務(wù)器的框圖。該服務(wù)器600可以是圖1所示的項目管理服務(wù)器120。具體來講:
      [0123]服務(wù)器600包括中央處理單元(CPU)601、包括隨機存取存儲器(RAM)602和只讀存儲器(R0M)603的系統(tǒng)存儲器604,以及連接系統(tǒng)存儲器604和中央處理單元601的系統(tǒng)總線605。服務(wù)器600還包括幫助各個器件之間傳輸信息的基本輸入/輸出系統(tǒng)(I/O系統(tǒng))606,和用于存儲操作系統(tǒng)613、應(yīng)用程序614和其他程序模塊615的大容量存儲設(shè)備607。
      [0124]基本輸入/輸出系統(tǒng)606包括有用于顯示信息的顯示器608和用于用戶輸入信息的諸如鼠標、鍵盤之類的輸入設(shè)備609。其中顯示器608和輸入設(shè)備609都通過連接到系統(tǒng)總線605的輸入輸出控制器610連接到中央處理單元601?;据斎?輸出系統(tǒng)606還可以包括輸入輸出控制器610以用于接收和處理來自鍵盤、鼠標、或電子觸控筆等多個其他設(shè)備的輸入。類似地,輸入輸出控制器610還提供輸出到顯示屏、打印機或其他類型的輸出設(shè)備。
      [0125]大容量存儲設(shè)備607通過連接到系統(tǒng)總線605的大容量存儲控制器(未示出)連接到中央處理單元601。大容量存儲設(shè)備607及其相關(guān)聯(lián)的計算機可讀介質(zhì)為服務(wù)器600提供非易失性存儲。也就是說,大容量存儲設(shè)備607可以包括諸如硬盤或者CD-ROM驅(qū)動器之類的計算機可讀介質(zhì)(未示出)。
      [0126]不失一般性,計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括RAM、R0M、EPR0M、EEPR0M、閃存或其他固態(tài)存儲其技術(shù),CD-R0M、DVD或其他光學(xué)存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設(shè)備。當然,本領(lǐng)域技術(shù)人員可知計算機存儲介質(zhì)不局限于上述幾種。上述的系統(tǒng)存儲器604和大容量存儲設(shè)備607可以統(tǒng)稱為存儲器。
      [0127]根據(jù)本發(fā)明的各種實施例,服務(wù)器600還可以通過諸如因特網(wǎng)等網(wǎng)絡(luò)連接到網(wǎng)絡(luò)上的遠程計算機運行。也即服務(wù)器600可以通過連接在系統(tǒng)總線605上的網(wǎng)絡(luò)接口單元611連接到網(wǎng)絡(luò)612,或者說,也可以使用網(wǎng)絡(luò)接口單元611來連接到其他類型的網(wǎng)絡(luò)或遠程計算機系統(tǒng)(未示出)。
      [0128]上述存儲器還包括一個或者一個以上的程序,一個或者一個以上程序存儲于存儲器中,被配置由CPU執(zhí)行。
      [0129]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
      [0130]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
      [0131]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      【主權(quán)項】
      1.一種代碼檢測系統(tǒng),其特征在于,所述系統(tǒng)包括:版本控制服務(wù)器、項目管理服務(wù)器、代碼檢測服務(wù)器以及數(shù)據(jù)庫服務(wù)器; 所述項目管理服務(wù)器,用于從所述版本控制服務(wù)器獲取版本日志,所述版本日志中包含項目中文件的文件變更信息;對所述版本日志進行分析,生成項目變更信息,所述項目變更信息用于指示項目的變更情況; 所述項目管理服務(wù)器,還用于根據(jù)所述項目變更信息對所述數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新;根據(jù)所述項目變更信息配置代碼檢測任務(wù),向所述代碼檢測服務(wù)器下發(fā)所述代碼檢測任務(wù); 所述代碼檢測服務(wù)器,用于根據(jù)所述代碼檢測任務(wù)進行代碼檢測。2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述文件變更信息中包含更新文件所在項目的項目標識; 所述項目管理服務(wù)器,還用于根據(jù)所述文件變更信息中的所述項目標識,確定發(fā)生變更的項目; 根據(jù)所述發(fā)生變更的項目生成所述項目變更信息; 讀取所述數(shù)據(jù)庫服務(wù)器中存儲的所述歷史項目信息; 檢測所述項目變更信息所指示的項目是否包含在所述歷史項目信息中; 若所述項目變更信息所指示的項目不包含在所述歷史項目信息中,則根據(jù)所述項目變更信息對所述歷史項目信息進行更新。3.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述項目變更信息包括發(fā)生變更的項目的項目地址, 所述項目管理服務(wù)器,用于根據(jù)所述發(fā)生變更的項目的項目地址以及預(yù)設(shè)檢測目標,配置所述代碼檢測任務(wù),所述預(yù)設(shè)檢測目標包括代碼可行性檢測和代碼風格檢測中的至少一種。4.根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述版本控制服務(wù)器中存儲有各個版本項目對應(yīng)的代碼,且所述代碼檢測任務(wù)中包括待檢測代碼所在項目的項目地址; 所述代碼檢測服務(wù)器,用于根據(jù)所述代碼檢測任務(wù)中包含的所述項目地址,從所述版本控制服務(wù)器處獲取所述項目對應(yīng)的代碼;對獲取到的所述代碼進行代碼檢測。5.根據(jù)權(quán)利要求1至4任一所述的系統(tǒng),其特征在于, 所述代碼檢測服務(wù)器,還用于將代碼檢測結(jié)果存入所述數(shù)據(jù)庫服務(wù)器; 和/或; 所述代碼檢測服務(wù)器,還用于向所述項目管理服務(wù)器反饋代碼檢測結(jié)果。6.一種代碼檢測方法,其特征在于,所述方法包括: 從版本控制服務(wù)器獲取版本日志,所述版本日志中包含項目中文件的文件變更信息;對所述版本日志進行分析,生成項目變更信息,所述項目變更信息用于指示項目的變更情況; 根據(jù)所述項目變更信息配置代碼檢測任務(wù); 向代碼檢測服務(wù)器下發(fā)所述代碼檢測任務(wù),所述代碼檢測服務(wù)器用于根據(jù)所述代碼檢測任務(wù)進行代碼檢測。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述對所述版本日志進行分析,生成項目變更信息之后,還包括: 根據(jù)所述項目變更信息對所述數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新。8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述文件變更信息中包含更新文件所在項目的項目標識, 所述對所述版本日志進行分析,生成項目變更信息,包括: 根據(jù)所述文件變更信息中的所述項目標識,確定發(fā)生變更的項目; 根據(jù)所述發(fā)生變更的項目生成所述項目變更信息; 所述根據(jù)所述項目變更信息對所述數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新,包括: 讀取所述數(shù)據(jù)庫服務(wù)器中存儲的所述歷史項目信息; 檢測所述項目變更信息所指示的項目是否包含在所述歷史項目信息中; 若所述項目變更信息所指示的項目不包含在所述歷史項目信息中,則根據(jù)所述項目變更信息對所述歷史項目信息進行更新。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述項目變更信息配置代碼檢測任務(wù),包括: 根據(jù)所述發(fā)生變更的項目的項目地址以及預(yù)設(shè)檢測目標,配置所述代碼檢測任務(wù),所述預(yù)設(shè)檢測目標包括代碼可行性檢測和代碼風格檢測中的至少一種。10.一種代碼檢測裝置,其特征在于,所述裝置包括: 獲取模塊,用于從版本控制服務(wù)器獲取版本日志,所述版本日志中包含項目中文件的文件變更信息; 生成模塊,用于對所述版本日志進行分析,生成項目變更信息,所述項目變更信息用于指示項目的變更情況; 配置模塊,用于根據(jù)所述項目變更信息配置代碼檢測任務(wù); 下發(fā)模塊,用于向代碼檢測服務(wù)器下發(fā)所述代碼檢測任務(wù),所述代碼檢測服務(wù)器用于根據(jù)所述代碼檢測任務(wù)進行代碼檢測。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置,還包括: 更新模塊,用于根據(jù)所述項目變更信息對所述數(shù)據(jù)庫服務(wù)器中的歷史項目信息進行更新。12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述文件變更信息中包含更新文件所在項目的項目標識, 所述生成模塊,包括: 確定單元,用于根據(jù)所述文件變更信息中的所述項目標識,確定發(fā)生變更的項目; 生成單元,用于根據(jù)所述發(fā)生變更的項目生成所述項目變更信息; 所述更新模塊,包括: 讀取單元,用于讀取所述數(shù)據(jù)庫服務(wù)器中存儲的所述歷史項目信息; 檢測單元,用于檢測所述項目變更信息所指示的項目是否包含在所述歷史項目信息中; 更新單元,用于若所述項目變更信息所指示的項目不包含在所述歷史項目信息中,則根據(jù)所述項目變更信息對所述歷史項目信息進行更新。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述配置模塊,用于: 根據(jù)所述發(fā)生變更的項目的項目地址以及預(yù)設(shè)檢測目標,配置所述代碼檢測任務(wù),所述預(yù)設(shè)檢測目標包括代碼可行性檢測和代碼風格檢測中的至少一種。
      【文檔編號】G06F11/36GK105893259SQ201610196893
      【公開日】2016年8月24日
      【申請日】2016年3月31日
      【發(fā)明人】徐偉豪
      【申請人】廣州華多網(wǎng)絡(luò)科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1