程序包整合系統(tǒng)及方法
【專利摘要】一種程序包整合系統(tǒng)及方法,應用于數(shù)據(jù)庫服務器中,該數(shù)據(jù)庫服務器與多個客戶端通信連接。該數(shù)據(jù)庫服務器中創(chuàng)建一整合包,用于存儲各客戶端的用戶創(chuàng)建并開發(fā)完成的程序包。當兩個或兩個以上的用戶分別通過一客戶端同時訪問所述整合包以向該整合包中寫入相應的程序包時,該系統(tǒng)在該整合包的存儲空間為每個用戶分配一存儲區(qū)。然后,將每個用戶通過客戶端寫入整合包中的程序包分別寫入為每個用戶分配的一對應存儲區(qū)中。本發(fā)明可避免多個用戶同時向數(shù)據(jù)庫服務器中寫入開發(fā)的程序包時而導致的相互覆蓋的問題。
【專利說明】程序包整合系統(tǒng)及方法
【技術領域】
[0001] 本發(fā)明涉及一種程序包整合系統(tǒng)及方法。
【背景技術】
[0002] 在大型的軟件程序開發(fā)項目中,會產(chǎn)生很多的軟件程序模塊,每個模塊都可能有 很多的過程和函數(shù),這些過程和函數(shù)放在一起,不方便查詢和維護,甚至可能導致誤刪除的 事件。過程化 SQL(Procedural Language/Structured Query Language,PL/SQL)語言為了 滿足程序模塊化的需要,除了塊(block)和子程序結構外,還引入了包(package)的構造。 通過使用包,可以實現(xiàn)過程和函數(shù)的分類管理。然而,在多個開發(fā)者共同開發(fā)一個項目時, 每個開發(fā)人員都需要創(chuàng)建一個包進行程序開發(fā)。當項目開發(fā)完成時,開發(fā)人員需要將各自 創(chuàng)建的程序包整合到一個整合包里。若兩個或兩個以上的開發(fā)人員同時將其創(chuàng)建的包放入 整合包時,可能會將其他人員的包給覆蓋掉,從而導致系統(tǒng)無法運行。因此,開發(fā)人員必須 按照先后順序將其創(chuàng)建的包依次放入整合包里,所需時間較長,且效率較低。
【發(fā)明內(nèi)容】
[0003] 鑒于以上內(nèi)容,有必要提供一種程序包整合系統(tǒng),應用于數(shù)據(jù)庫服務器中,該數(shù)據(jù) 庫服務器與多個客戶端通信連接。該系統(tǒng)包括:整合包創(chuàng)建模塊,用于在數(shù)據(jù)庫服務器中創(chuàng) 建一整合包,用于存儲各客戶端的用戶創(chuàng)建并開發(fā)完成的程序包;存儲區(qū)分配模塊,用于當 兩個或兩個以上的用戶分別通過一客戶端同時訪問所述整合包以向該整合包中寫入相應 的程序包時,在該整合包的存儲空間為每個用戶分配一存儲區(qū);及程序包寫入模塊,用于將 每個用戶通過客戶端寫入整合包中的程序包分別寫入為每個用戶分配的一對應存儲區(qū)中。
[0004] 還有必要提供一種應用與所述數(shù)據(jù)庫服務器的程序包整合方法,包括:整合包創(chuàng) 建步驟,在數(shù)據(jù)庫服務器中創(chuàng)建一整合包,用于存儲各客戶端的用戶創(chuàng)建并開發(fā)完成的程 序包;存儲區(qū)分配步驟,當兩個或兩個以上的用戶分別通過一客戶端同時訪問所述整合包 以向該整合包中寫入相應的程序包時,在該整合包的存儲空間為每個用戶分配一存儲區(qū); 及程序包寫入步驟,將每個用戶通過客戶端寫入整合包中的程序包分別寫入為每個用戶分 配的一對應存儲區(qū)中。
[0005] 相較于現(xiàn)有技術,本發(fā)明的程序包整合系統(tǒng)及方法,當多個用戶創(chuàng)建的程序包需 要整合至一整合包時,在該整合包的存儲空間中為每個用戶分配一存儲區(qū),將每個用戶的 程序包自動存儲在對應的存儲區(qū)中,避免了多個用戶同時寫入程序包而導致相互被覆蓋的 問題。
【專利附圖】
【附圖說明】
[0006] 圖1是本發(fā)明提供的數(shù)據(jù)庫服務器與多個客戶端通信的示意圖。
[0007] 圖2是所述數(shù)據(jù)庫服務器的功能架構圖。
[0008] 圖3是本發(fā)明程序包整合方法的流程圖。
[0009] 圖4是本發(fā)明較佳實施例中在一整合包的存儲空間為多個用戶分配的存儲區(qū)的 示意圖。
[0010] 主要元件符號說明
【權利要求】
1. 一種程序包整合系統(tǒng),應用于數(shù)據(jù)庫服務器中,該數(shù)據(jù)庫服務器與多個客戶端通信 連接,其特征在于,該系統(tǒng)包括: 整合包創(chuàng)建模塊,用于在數(shù)據(jù)庫服務器中創(chuàng)建一整合包,用于存儲各客戶端的用戶創(chuàng) 建并開發(fā)完成的程序包; 存儲區(qū)分配模塊,用于當兩個或兩個以上的用戶分別通過一客戶端同時訪問所述整 合包以向該整合包中寫入相應的程序包時,在該整合包的存儲空間為每個用戶分配一存儲 區(qū);及 程序包寫入模塊,用于將每個用戶通過客戶端寫入整合包中的程序包分別寫入為每個 用戶分配的一對應存儲區(qū)中。
2. 如權利要求1所述的程序包整合系統(tǒng),其特征在于,該系統(tǒng)還包括: 程序包整理模塊,當所有用戶都退出對所述整合包的訪問時,對該整合包的存儲空間 中每個存儲區(qū)中的程序包進行整理,并釋放每個存儲區(qū)的剩余存儲空間。
3. 如權利要求2所述的程序包整合系統(tǒng),其特征在于,所述程序包整理模塊通過將每 個存儲區(qū)的程序包依序存儲在所述整合包對應的地址空間中的方式對每個存儲區(qū)中的程 序進行整理。
4. 如權利要求1所述的程序包整合系統(tǒng),其特征在于,所述整合包為建立在所述數(shù)據(jù) 庫服務器的存儲器中具有一定存儲容量的數(shù)據(jù)存儲目錄。
5. 如權利要求1所述的程序包整合系統(tǒng),其特征在于,所述程序包為ORACLE?包,所述 數(shù)據(jù)庫服務器為結構化查詢語言服務器。
6. -種程序包整合方法,應用于數(shù)據(jù)庫服務器中,該數(shù)據(jù)庫服務器與多個客戶端通信 連接,其特征在于,該方法包括: 整合包創(chuàng)建步驟,在數(shù)據(jù)庫服務器中創(chuàng)建一整合包,用于存儲各客戶端的用戶創(chuàng)建并 開發(fā)完成的程序包; 存儲區(qū)分配步驟,當兩個或兩個以上的用戶分別通過一客戶端同時訪問所述整合包以 向該整合包中寫入相應的程序包時,在該整合包的存儲空間為每個用戶分配一存儲區(qū);及 程序包寫入步驟,將每個用戶通過客戶端寫入整合包中的程序包分別寫入為每個用戶 分配的一對應存儲區(qū)中。
7. 如權利要求6所述的程序包整合方法,其特征在于,該方法還包括: 程序包整理步驟,當所有用戶都退出對所述整合包的訪問時,對該整合包的存儲空間 中每個存儲區(qū)中的程序包進行整理,并釋放每個存儲區(qū)的剩余存儲空間。
8. 如權利要求7所述的程序包整合方法,其特征在于,所述程序包整理步驟通過將每 個存儲區(qū)的程序包依序存儲在所述整合包對應的地址空間中的方式對每個存儲區(qū)中的程 序進行整理。
9. 如權利要求6所述的程序包整合方法,其特征在于,所述整合包為建立在所述數(shù)據(jù) 庫服務器的存儲器中具有一定存儲容量的數(shù)據(jù)存儲目錄。
10. 如權利要求6所述的程序包整合方法,其特征在于,所述程序包為ORACLE?包,所述 數(shù)據(jù)庫服務器為結構化查詢語言服務器。
【文檔編號】G06F9/44GK104102481SQ201310127154
【公開日】2014年10月15日 申請日期:2013年4月15日 優(yōu)先權日:2013年4月15日
【發(fā)明者】吳啟迪, 劉耀華, 劉曉松, 林希, 吳云艷, 彭榮榮, 屈顯洋, 陸欣, 翁世芳 申請人:富泰華工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司