專利名稱:代碼插入系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種代碼插入系統(tǒng)及方法。
背景技術(shù):
隨著信息社會(huì)的高科技,商品經(jīng)濟(jì)化的高效益,計(jì)算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會(huì)生活 的各個(gè)領(lǐng)域。由于各個(gè)領(lǐng)域有各自的特別需求,因此針對(duì)不同領(lǐng)域,不同的對(duì)象需要開(kāi)發(fā)出 各種不同的軟件程序。
在軟件開(kāi)發(fā)的開(kāi)始階段,不可能做到盡善盡美,保證所開(kāi)發(fā)出來(lái)的軟件程序沒(méi)有任何差 錯(cuò)。因此,經(jīng)常需要對(duì)原有的開(kāi)發(fā)的軟件增加一種新的功能,或者對(duì)原有開(kāi)發(fā)的程序段再增 加一部分程序代碼。而傳統(tǒng)的軟件開(kāi)發(fā)過(guò)程中,在已完成開(kāi)發(fā)的軟件產(chǎn)品后,若需要插入新 的程序代碼,例如,需增加使用者登入次數(shù)統(tǒng)計(jì),往往需要重新修改原有的目標(biāo)代碼,若臨 時(shí)要取消統(tǒng)計(jì),又必須再次修改,并經(jīng)過(guò)編譯的程序。這樣,往往會(huì)增加程序編碼與編譯的 負(fù)擔(dān),而且不容易維護(hù)。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種代碼插入系統(tǒng),其可在不修改目標(biāo)代碼的情況下插入新 增加的代碼,提高了編碼的彈性。
此外,還有必要提供一種代碼插入方法,其可在不修改目標(biāo)代碼的情況下插入新增加的 代碼,提高了編碼的彈性。
一種代碼插入系統(tǒng),應(yīng)用于計(jì)算機(jī)上,所述的計(jì)算機(jī)還包括有存儲(chǔ)設(shè)備,所述的存儲(chǔ)設(shè) 備上儲(chǔ)存有控制反轉(zhuǎn)容器、目標(biāo)代碼、插入代碼及配置文件,所述的代碼插入系統(tǒng)包括載 入模塊,用于從存儲(chǔ)設(shè)備中載入控制反轉(zhuǎn)容器,以及從存儲(chǔ)設(shè)備中載入目標(biāo)代碼、插入代碼 及配置文件至所述的控制反轉(zhuǎn)容器中;設(shè)定模塊,用于通過(guò)配置文件記錄目標(biāo)代碼中的切入 點(diǎn),并通過(guò)配置文件將插入代碼的插入位置設(shè)定為該切入點(diǎn);偵測(cè)模塊,用于通過(guò)控制反轉(zhuǎn) 容器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且該目標(biāo)代碼是否已執(zhí)行到配置文件所 記錄的切入點(diǎn)位置;中斷模塊,用于在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已 執(zhí)行到配置文件所記錄的切入點(diǎn)位置時(shí),中斷目標(biāo)代碼的執(zhí)行;及插入模塊,用于根據(jù)配置 文件找到設(shè)定模塊所設(shè)定的要插入到該切入點(diǎn)位置的插入代碼,并執(zhí)行該插入代碼。
一種代碼插入方法,該方法包括如下步驟提供一個(gè)存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備上儲(chǔ)存有控
4制反轉(zhuǎn)容器、目標(biāo)代碼、插入代碼及配置文件;從存儲(chǔ)設(shè)備中載入控制反轉(zhuǎn)容器;從存儲(chǔ)設(shè) 備中載入目標(biāo)代碼、插入代碼及配置文件至所述的控制反轉(zhuǎn)容器中;通過(guò)配置文件記錄目標(biāo) 代碼中的切入點(diǎn),并通過(guò)配置文件將插入代碼的插入位置設(shè)定為該切入點(diǎn);通過(guò)控制反轉(zhuǎn)容 器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且該目標(biāo)代碼是否已執(zhí)行到配置文件所記 錄的切入點(diǎn)位置;在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已執(zhí)行到配置文件所 記錄的切入點(diǎn)位置時(shí),中斷目標(biāo)代碼的執(zhí)行;及根據(jù)配置文件找到所設(shè)定的要插入到該切入 點(diǎn)位置的插入代碼,并執(zhí)行該插入代碼。
相較于現(xiàn)有技術(shù),所述的代碼插入系統(tǒng)及方法可在不修改目標(biāo)代碼的情況下,只通過(guò)修 改配置文件就可插入新增加的代碼,提高了編碼和編譯的彈性,而且方便維護(hù)。
圖l是本發(fā)明代碼插入系統(tǒng)較佳實(shí)施例的應(yīng)用環(huán)境架構(gòu)圖。
圖2是本發(fā)明代碼插入方法較佳實(shí)施例的流程圖。
具體實(shí)施例方式
如圖1所示,是本發(fā)明代碼插入系統(tǒng)較佳實(shí)施例的應(yīng)用環(huán)境架構(gòu)圖。所述的代碼插入系 統(tǒng)10運(yùn)行于計(jì)算機(jī)1中。所述的計(jì)算機(jī)l還包括存儲(chǔ)設(shè)備ll。
所述的存儲(chǔ)設(shè)備ll,可以是如內(nèi)存等形式的內(nèi)部存儲(chǔ)器,也可以是如硬盤、光盤、軟盤 等形式的外部存儲(chǔ)器。該存儲(chǔ)設(shè)備ll用于事先儲(chǔ)存IoC (Inversion of Control,控制反轉(zhuǎn) )容器、目標(biāo)代碼、插入代碼及配置文件。所述的IoC容器用于載入所述的目標(biāo)代碼、插入 代碼和配置文件,及偵測(cè)系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼。所述的目標(biāo)代碼為需要插入代 碼的原始程序段。所述的插入代碼為即將插入至目標(biāo)代碼的程序段。其中,所述的IoC容器 在系統(tǒng)開(kāi)發(fā)過(guò)程中用于處理所設(shè)計(jì)的類與類之間的關(guān)系,而不必在類的內(nèi)部去控制所設(shè)計(jì)的 類與類之間的關(guān)系。
所述的代碼插入系統(tǒng)10包括有載入模塊110,設(shè)定模塊120,偵測(cè)模塊130,中斷模塊 140,插入模塊150及返回模塊160。
所述的載入模塊110,與所述的存儲(chǔ)設(shè)備ll相連,用于從存儲(chǔ)設(shè)備ll中載入IoC容器至所 述的代碼插入系統(tǒng)10中,以及從存儲(chǔ)設(shè)備ll中載入目標(biāo)代碼、插入代碼及配置文件至所述的 IoC容器中。
所述的設(shè)定模塊120,用于通過(guò)配置文件記錄目標(biāo)代碼中的切入點(diǎn),并通過(guò)配置文件將 插入代碼的插入位置設(shè)定為該切入點(diǎn)。
所述的偵測(cè)模塊130,用于通過(guò)IoC容器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且該目標(biāo)代碼是否已執(zhí)行到配置文件所記錄的切入點(diǎn)位置。
所述的中斷模塊140,用于在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已執(zhí)行 到配置文件所記錄的切入點(diǎn)位置時(shí),中斷目標(biāo)代碼的執(zhí)行。
所述的插入模塊150,用于根據(jù)配置文件找到設(shè)定模塊120所設(shè)定的要插入到該切入點(diǎn)位 置的插入代碼,并執(zhí)行該插入代碼。
所述的返回模塊160,用于當(dāng)執(zhí)行完所述的插入代碼后,返回至目標(biāo)代碼的切入點(diǎn)位置 繼續(xù)執(zhí)行該目標(biāo)代碼。
如圖2所示,是本發(fā)明代碼插入方法較佳實(shí)施例的流程圖。首先,步驟Sll,載入模塊 110從存儲(chǔ)設(shè)備ll中載入IoC容器至代碼插入系統(tǒng)10中。
步驟S12,載入模塊110從存儲(chǔ)設(shè)備11中載入目標(biāo)代碼、插入代碼及配置文件至所述的 IoC容器中。
步驟S13,設(shè)定模塊120通過(guò)配置文件記錄目標(biāo)代碼中的切入點(diǎn),并通過(guò)配置文件將插入 代碼的插入位置設(shè)定為該切入點(diǎn)。
步驟S14,偵測(cè)模塊130通過(guò)IoC容器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且 該目標(biāo)代碼是否已執(zhí)行到配置文件所記錄的切入點(diǎn)位置。 步驟S15,在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已執(zhí)行到配置文件所記 錄的切入點(diǎn)位置時(shí),中斷模塊140中斷目標(biāo)代碼的執(zhí)行。
步驟S16,插入模塊150根據(jù)配置文件找到設(shè)定模塊120所設(shè)定的要插入到該切入點(diǎn)位置 的插入代碼,并執(zhí)行該插入代碼。
步驟S17,執(zhí)行完所述的插入代碼后,返回模塊160返回至目標(biāo)代碼的切入點(diǎn)位置繼續(xù)執(zhí) 行該目標(biāo)代碼,并結(jié)束流程。
在步驟S14中,在當(dāng)前系統(tǒng)中執(zhí)行的代碼不為目標(biāo)代碼是,或者在系統(tǒng)中執(zhí)行的代碼為 目標(biāo)代碼但并沒(méi)有執(zhí)行到配置文件所記錄的切入點(diǎn)位置時(shí),則繼續(xù)執(zhí)行該步驟S14進(jìn)行偵測(cè)
以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照以上較佳實(shí)施例對(duì)本發(fā)明 進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或等 同替換都不應(yīng)脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
權(quán)利要求1一種代碼插入系統(tǒng),應(yīng)用于計(jì)算機(jī)上,所述的計(jì)算機(jī)還包括有存儲(chǔ)設(shè)備,其特征在于,所述的存儲(chǔ)設(shè)備上儲(chǔ)存有控制反轉(zhuǎn)容器、目標(biāo)代碼、插入代碼及配置文件,所述的代碼插入系統(tǒng)包括載入模塊,用于從存儲(chǔ)設(shè)備中載入控制反轉(zhuǎn)容器,以及從存儲(chǔ)設(shè)備中載入目標(biāo)代碼、插入代碼及配置文件至所述的控制反轉(zhuǎn)容器中;設(shè)定模塊,用于通過(guò)配置文件記錄目標(biāo)代碼中的切入點(diǎn),并通過(guò)配置文件將插入代碼的插入位置設(shè)定為該切入點(diǎn);偵測(cè)模塊,用于通過(guò)控制反轉(zhuǎn)容器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且該目標(biāo)代碼是否已執(zhí)行到配置文件所記錄的切入點(diǎn)位置;中斷模塊,用于在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已執(zhí)行到配置文件所記錄的切入點(diǎn)位置時(shí),中斷目標(biāo)代碼的執(zhí)行;及插入模塊,用于根據(jù)配置文件找到設(shè)定模塊所設(shè)定的要插入到該切入點(diǎn)位置的插入代碼,并執(zhí)行該插入代碼。
2. 如權(quán)利要求l所述的代碼插入系統(tǒng),其特征在于,該系統(tǒng)還包括返回模塊,用于當(dāng)執(zhí)行完所述的插入代碼后,返回至目標(biāo)代碼的切入點(diǎn)位置繼續(xù)執(zhí)行該目標(biāo)代碼。
3. 一種代碼插入方法,其特征在于,該方法包括如下步驟提供一個(gè)存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備上儲(chǔ)存有控制反轉(zhuǎn)容器、目標(biāo)代碼、插入代碼及配置文件;從存儲(chǔ)設(shè)備中載入控制反轉(zhuǎn)容器;從存儲(chǔ)設(shè)備中載入目標(biāo)代碼、插入代碼及配置文件至所述的控制反轉(zhuǎn)容器中;通過(guò)配置文件記錄目標(biāo)代碼中的切入點(diǎn),并通過(guò)配置文件將插入代碼的插入位置設(shè)定為該切入點(diǎn);通過(guò)控制反轉(zhuǎn)容器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且該目標(biāo)代碼是否已執(zhí)行到配置文件所記錄的切入點(diǎn)位置;在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已執(zhí)行到配置文件所記錄的切入點(diǎn)位置時(shí),中斷目標(biāo)代碼的執(zhí)行;及根據(jù)配置文件找到所設(shè)定的要插入到該切入點(diǎn)位置的插入代碼,并執(zhí)行該插入代碼。
4 如權(quán)利要求3所述的代碼插入方法,其特征在于,該方法還包括步驟在執(zhí)行該插入代碼的步驟后,返回至目標(biāo)代碼的切入點(diǎn)位置繼續(xù)執(zhí)行該目標(biāo)代碼。
全文摘要
本發(fā)明提供一種代碼插入方法,該方法包括如下步驟從存儲(chǔ)設(shè)備中載入控制反轉(zhuǎn)容器;從存儲(chǔ)設(shè)備中載入目標(biāo)代碼、插入代碼及配置文件至控制反轉(zhuǎn)容器中;通過(guò)配置文件記錄目標(biāo)代碼中的切入點(diǎn),并將插入代碼的插入位置設(shè)定為該切入點(diǎn);通過(guò)控制反轉(zhuǎn)容器偵測(cè)當(dāng)前系統(tǒng)中執(zhí)行的代碼是否為目標(biāo)代碼,并且已執(zhí)行到配置文件所記錄的切入點(diǎn)位置;在當(dāng)前系統(tǒng)中執(zhí)行的代碼為目標(biāo)代碼,且該目標(biāo)代碼已執(zhí)行到配置文件所記錄的切入點(diǎn)位置時(shí),中斷目標(biāo)代碼的執(zhí)行;及根據(jù)配置文件找到所設(shè)定的要插入到該切入點(diǎn)位置的插入代碼,并執(zhí)行該插入代碼。本發(fā)明還提供一種代碼插入系統(tǒng)。利用本發(fā)明可在不修改目標(biāo)代碼的情況下插入新增加的代碼,提高了編碼的彈性。
文檔編號(hào)G06F9/44GK101464791SQ200710203138
公開(kāi)日2009年6月24日 申請(qǐng)日期2007年12月17日 優(yōu)先權(quán)日2007年12月17日
發(fā)明者葉建發(fā), 李忠一, 林柏全 申請(qǐng)人:鴻富錦精密工業(yè)(深圳)有限公司;鴻海精密工業(yè)股份有限公司