国产精品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>

      一種軟件源代碼的更新方法及裝置的制作方法

      文檔序號:6467960閱讀:107來源:國知局

      專利名稱::一種軟件源代碼的更新方法及裝置的制作方法
      技術(shù)領(lǐng)域
      :本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種軟件源代碼的更新方法及裝置。
      背景技術(shù)
      :系統(tǒng)中運(yùn)行的軟件需要定期進(jìn)行更新升級,以適合日益豐富的客戶需求,目前,針對數(shù)據(jù)庫中的數(shù)據(jù)抽取、轉(zhuǎn)換、裝載(ExtractTransformLoad,ETL)流程,每當(dāng)執(zhí)行這一流程的ETL模塊的源代碼更新完畢后,需要管理人員手動將更新后的源代碼在服務(wù)器上進(jìn)行備份。手動上傳更新后的源代碼會浪費(fèi)大量的工作時間,同時,也存在著一定的錯誤率,例如,管理人員忘記對更新后的源代碼進(jìn)行備份,而ETL服務(wù)器由于誤操作而刪除了正在執(zhí)行的源代碼,那么,在沒有備份源代碼的情況下,整個ETL模塊的源代碼就需要重新編寫,這在很大程度上降低了工作效率。
      發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種軟件源代碼的更新方法及裝置,用以提高軟件更新的效率,減少錯誤率。本發(fā)明實(shí)施例4是供的具體技術(shù)方案如下一種軟件源代碼的更新方法,包括獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼;對所述第一源代碼與第二源代碼進(jìn)行比較,并獲得比較結(jié)果;根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。一種軟件代碼的更新裝置,包括4存儲單元,用于保存源代碼;獲取單元,獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼;比較單元,用于對所述第一源代碼和第二源代碼進(jìn)行比較,并獲得比較結(jié)果;更新單元,用于根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。本發(fā)明實(shí)施例中,獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼,并對所述第一源代碼與第二源代碼進(jìn)行比較以獲得比較結(jié)果,以及根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。這樣,便避免了對源代碼進(jìn)行手動備份的繁瑣,同時也保證了的備份的源代碼的準(zhǔn)確性,使ETL模塊在運(yùn)行出錯時,可以及時根據(jù)備份的源代碼恢復(fù)運(yùn)行,從而減少了軟件運(yùn)行過程中的錯誤率,也在一定程度上提升了工作效率。圖1為本發(fā)明實(shí)施例中處理裝置功能結(jié)構(gòu)示意圖2為本發(fā)明實(shí)施例中處理裝置根據(jù)ETL模塊的源代碼更新情況對相應(yīng)的源代碼備份進(jìn)行更新的第一種方法流程圖3為本發(fā)明實(shí)施例中處理裝置根據(jù)ETL模塊的源代碼更新情況對相應(yīng)的源代碼備階進(jìn)行更新的第二種方法流程圖。具體實(shí)施例方式為了提高數(shù)據(jù)抽取、轉(zhuǎn)換、裝載(ExtractTransformLoad,ETL)模塊源代碼的更新效率,減少錯誤率。本發(fā)明實(shí)施例中,獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼;對所述第一源代碼與第二源代碼進(jìn)行比較,并獲得比較結(jié)果;根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。下面結(jié)合附圖對本發(fā)明優(yōu)選的實(shí)施方式進(jìn)^^詳細(xì)說明。參閱圖1所示,本發(fā)明實(shí)施例中,用于監(jiān)測ETL模塊源代碼的版本,并對其進(jìn)行更新的處理裝置包括存儲單元IO、獲取單元ll、比較單元12和更新單元13,其中,存儲單元IO,用于保存源代碼;獲取單元ll,獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL才莫塊最近一次進(jìn)行備份的第二源代碼;比較單元12,用于對所述第一源代碼與第二源代碼進(jìn)行比較,并獲得比較結(jié)果;更新單元13,用于在根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。表l<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>在上述處理裝置中,存儲單元10將源代碼保存在預(yù)設(shè)的兩張維表內(nèi),以下分別稱為A表和B表,其中,A表,用于記錄每一個ETL模塊的最新版本的源代碼,例如,某個ETL模塊的源代碼內(nèi)容如表l所示。B表,用于對各ETL模塊的源代碼進(jìn)行備份,即處理裝置在每次對A表進(jìn)行更新時,需要把最新版本的源代碼在B表中進(jìn)行相應(yīng)備份,如表2所示,B表中的表項(xiàng)包括每個ETL模塊的用戶名(SCHEMA),模塊類型(OBJECT_TYPE),模塊名稱(OBJECT—NAME),模塊源代碼初始添加到本維表中的時間(CREATE—TIME),才莫塊源代碼(OBJECT—TEXT)和模塊源代碼最新被修改的時間(DDL—TIME)?;谏鲜鱿到y(tǒng)架構(gòu),本實(shí)施例中,以模塊l為例進(jìn)行介紹,假設(shè)將模塊l當(dāng)前保存在A表中的最新版本的源代碼稱為源代碼I,而將模塊1在B表中最近一次備份的源代碼稱為源代碼II,那么參閱圖2所示,本實(shí)施例中,處理裝置定期對A表和B表中針對模塊1的相關(guān)內(nèi)容進(jìn)行比較,并根據(jù)比較結(jié)果確定是否對B表進(jìn)行更新的第一種方法的詳細(xì)流程如下步驟200:在A表中獲取^^塊1當(dāng)前執(zhí)行的源代碼(以下稱為源代碼I)。步驟210:在B表中獲取最近一次備份的模塊1的源代碼(以下稱為源代碼II)。步驟220:判斷源代碼I和源代碼II包含的數(shù)據(jù)內(nèi)容是否一致?若是,則進(jìn)行步驟240;否則,進(jìn)行步驟230。在實(shí)際應(yīng)用中,判斷源代碼I和源代碼II包含的數(shù)據(jù)內(nèi)容是否一致有很多種方法,包含^f旦不限于以下舉例1、在源代碼I和源代碼II中的相同位置,在第一源代碼和第二源代碼中的相同位置,分別獲取相同長度的數(shù)據(jù)(例如,2000字節(jié)),并對其包含的字節(jié)逐個進(jìn)行比較,如,源代碼I中從第一個字節(jié)開始,前2000個字節(jié)為"ooioioiioo……",而源代碼n中從第一個字節(jié)開始,前2ooo個字節(jié)為"ooioioiioo……",則對上述字節(jié)進(jìn)行比較后,若源代碼i和源代碼n各自的前2000個字節(jié)內(nèi)每一個對應(yīng)位置的字節(jié)均相同,則說明源代碼I和源代碼II中這一部分的數(shù)據(jù)內(nèi)容相同,那么,應(yīng)繼續(xù)讀取后續(xù)位置的字節(jié)并使用相同方法進(jìn)行比較,直到將源代碼I和源代碼II包含的字節(jié)全部比較完畢。在這個過程中,若確定存在至少一個對應(yīng)位置的字節(jié)不同,則說明源代碼I和源代碼II的數(shù)據(jù)內(nèi)容不同,那么,無需再讀取后續(xù)位置的字節(jié),而應(yīng)直接根據(jù)源代碼I對源代碼II進(jìn)行更新。2、根據(jù)預(yù)設(shè)的哈希函數(shù)分別對源代碼I和源代碼II進(jìn)行哈希變換,并判斷得到的哈希變換結(jié)果是否相同,若是,則說明源代碼i和源代碼n包含的數(shù)據(jù)內(nèi)容相同;否則,說明源代碼i和源代碼n包含的數(shù)據(jù)內(nèi)容不同。步驟230:根據(jù)A表中的源代碼I的數(shù)據(jù)內(nèi)容對B表中源代碼II的數(shù)據(jù)內(nèi)容進(jìn)行更新,接著,進(jìn)行步驟240。步驟240:等待設(shè)定時長后,返回步驟200。本實(shí)施例中,設(shè)置的最優(yōu)等待時長為l小時?;谏鲜鰧?shí)施,在另一種情況下,處理裝置也可以先對源代碼I和源代碼II的數(shù)據(jù)長度進(jìn)行比較,并在確定兩者長度不一致時,直接根據(jù)源代碼I對源代碼II的數(shù)據(jù)內(nèi)容進(jìn)行更新,這樣,便可以在一定程度上節(jié)省更新操作所占用的時間,參閱圖3所示,本實(shí)施例中,處理裝置定期對A表和B表中針對模塊1的相關(guān)內(nèi)容進(jìn)行比較,并根據(jù)比較結(jié)果確定是否對B表進(jìn)行更新的第二種方法的詳細(xì)流禾呈如下步驟300:在A表中獲取模塊1當(dāng)前執(zhí)行的源代碼I。步驟310:在B表中獲取最近一次備份的模塊1的源代碼II。步驟320:將源代碼I的數(shù)碼長度與源代碼II的數(shù)據(jù)長度進(jìn)行比較,判斷其數(shù)據(jù)長度是否一致?若是,則進(jìn)行步驟330;否則,進(jìn)行步驟340。步驟330:判斷源代碼I和源代碼II包含的數(shù)據(jù)內(nèi)容是否一致?若是,則進(jìn)行步驟350;否則,進(jìn)行步驟340。步驟340:根據(jù)A表中的源代碼I的數(shù)據(jù)內(nèi)容對B表中源代碼II的數(shù)據(jù)內(nèi)容進(jìn)行更新,接著,進(jìn)行步驟350。步驟350:等待設(shè)定時長后,返回步驟200。綜上所述,本發(fā)明實(shí)施例中,處理裝置獲取ETL模塊當(dāng)前執(zhí)行的源代碼I,以及針對該ETL模塊最近一次進(jìn)行備份的源代碼II,并對源代碼I與源代碼II進(jìn)行比較以獲得比較結(jié)果,以及根據(jù)所述比較結(jié)果確定源代碼I和源代碼II不一致時,根據(jù)源代碼I的數(shù)據(jù)內(nèi)容對源代碼II的數(shù)據(jù)內(nèi)容進(jìn)行更新,這樣,便避免了對源代碼II進(jìn)行手動備份的繁瑣,同時也保證了備份的源代碼II的準(zhǔn)確性,使ETL模塊在運(yùn)行出錯時,可以及時根據(jù)備份的源代碼II恢復(fù)運(yùn)行,從而減少了軟件運(yùn)行過程中的錯誤率,也在一定程度上提升了工作效率。不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明實(shí)施例中的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明中的實(shí)施例也意圖包含這些改動和變型在內(nèi)。權(quán)利要求1、一種軟件源代碼的更新方法,其特征在于,包括獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼;對所述第一源代碼與第二源代碼的進(jìn)行比較,并獲得比較結(jié)果;根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。2、如權(quán)利要求1所述的方法,其特征在于,對第一源代碼與第二源代碼進(jìn)行比較包括對兩者包含的數(shù)據(jù)內(nèi)容進(jìn)行比較。3、如權(quán)利要求2所述的方法,其特征在于,在比較所述第一源代碼與第二源代碼之前,先對所述第一源代碼與第二源代碼的數(shù)據(jù)長度進(jìn)行比較,并在確定兩者的數(shù)據(jù)長度一致時,對兩者的數(shù)據(jù)內(nèi)容進(jìn)行比較。4、如權(quán)利要求3所述的方法,其特征在于,確定所述第一源代碼與第二源代碼的數(shù)據(jù)長度不一致時,直接根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。5、如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,對所述第一源代碼和第二源代碼的凄t據(jù)內(nèi)容進(jìn)行比較時,在第一源代碼和第二源代碼中的相同位置,分別獲取相同長度的數(shù)據(jù),并對其包含的字節(jié)逐個進(jìn)行比較。6、如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,對所述第一源代碼和第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行比較時,根據(jù)預(yù)設(shè)的哈希函數(shù)分別對所述第一源代碼和第二源代碼進(jìn)行哈希變換,并將得到的哈希變換結(jié)果進(jìn)行比較。7、如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,按照設(shè)定周期對所述第一源代碼和第二源代碼進(jìn)行比較。8、一種軟件源代碼的更新裝置,包括存儲單元,用于保存源代碼;獲取單元,獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼;比較單元,用于對所述第一源代碼和第二源代碼進(jìn)行比較,并獲得比較結(jié)果;更新單元,用于根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。9、如權(quán)利要求8所述的裝置,其特征在于,所述比較單元對第一源代碼與第二源代碼進(jìn)行比較時,將兩者包含的數(shù)據(jù)內(nèi)容進(jìn)行比較。10、如權(quán)利要求9所述的裝置,其特征在于,所述比較單元在比較所述第一源代碼與第二源代碼的數(shù)據(jù)內(nèi)容之前,先對所述第一源代碼與第二源代碼的數(shù)據(jù)長度進(jìn)行比較,并在確定兩者的數(shù)據(jù)長度一致時,對兩者的數(shù)據(jù)內(nèi)容進(jìn)行比較。11、如權(quán)利要求10所述的裝置,其特征在于,所述比較單元確定所述第一源代碼與第二源代碼的數(shù)據(jù)長度不一致時,通知所述更新單元直接根據(jù)所述.第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。12、如權(quán)利要求8-ll任一項(xiàng)所述的裝置,其特征在于,所述比較單元對所述第一源代碼和第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行比較時,在第一源代碼和第二源代碼中的相同位置,分別獲取相同長度的數(shù)據(jù),并對其包含的字節(jié)逐個進(jìn)行比較。13、如權(quán)利要求8-ll任一項(xiàng)所述的裝置,其特征在于,所述比較單元對所述第一源代碼和第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行比較時,根據(jù)預(yù)設(shè)的哈希函數(shù)分別對所述第一源代碼和第二源代碼進(jìn)行哈希變換,并將得到的哈希變換結(jié)果進(jìn)行比較。14、如權(quán)利要求8-ll任一項(xiàng)所述的裝置,其特征在于,所述第一比較單元按照設(shè)定周期對所述第一源代碼和第二源代碼的數(shù)據(jù)內(nèi)容進(jìn)行比較。全文摘要本發(fā)明公開了一種軟件源代碼的更新方法,該方法為獲取ETL模塊當(dāng)前執(zhí)行的第一源代碼,以及針對該ETL模塊最近一次進(jìn)行備份的第二源代碼;對所述第一源代碼與第二源代碼進(jìn)行比較,并獲得比較結(jié)果;根據(jù)所述比較結(jié)果確定所述第一源代碼和第二源代碼不一致時,根據(jù)所述第一源代碼的數(shù)據(jù)內(nèi)容對所述第二源源代碼的數(shù)據(jù)內(nèi)容進(jìn)行更新。這樣,便避免了對源代碼進(jìn)行手動備份的繁瑣,同時也保證了的備份的源代碼的準(zhǔn)確性,使ETL模塊在運(yùn)行出錯時,可以及時根據(jù)備份的源代碼恢復(fù)運(yùn)行,從而減少了軟件運(yùn)行過程中的錯誤率,也在一定程度上提升了工作效率。本發(fā)明同時公開了一種通信裝置。文檔編號G06F11/14GK101425078SQ20081017654公開日2009年5月6日申請日期2008年11月17日優(yōu)先權(quán)日2008年11月17日發(fā)明者林正華申請人:阿里巴巴集團(tuán)控股有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1