專利名稱:一種向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法,特別涉及一種高效的向數(shù)據(jù)庫提 交批量數(shù)據(jù)的方法。
背景技術(shù):
隨著數(shù)據(jù)庫技術(shù)的不斷完善,現(xiàn)在的IT服務(wù)程序極少有不和數(shù)據(jù)庫打交道的情 形。可是如果對數(shù)據(jù)庫使用不當(dāng),也很可能造成數(shù)據(jù)庫I/O過多,導(dǎo)致性能低下,如果一 個應(yīng)用服務(wù)的性能有問題,有經(jīng)驗的技術(shù)人員首先都會想到是不是數(shù)據(jù)庫哪里設(shè)計的不合理。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種高效的向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法。本發(fā)明所述的一種向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法,該方法至少包括如下的步驟步驟1 將待批量提交的數(shù)據(jù)整理成對象列表;步驟2 應(yīng)用服務(wù)調(diào)用數(shù)據(jù)評估器,評估每次提交對象的最大數(shù)目。如果對象數(shù)目 過多,則需把對象列表分割,保證每次提交的對象列表在序列化后,不超過數(shù)據(jù)庫的字符串 類型的允許長度;步驟3 調(diào)用對象序列化服務(wù),將待提交的對象列表進(jìn)行XML (ExtensibIeMarkup Language,即可擴(kuò)展標(biāo)記語言)序列化;步驟4 對象序列化服務(wù)去除多余的XML標(biāo)記和屬性,這樣可以保證不把多余的標(biāo) 記傳給數(shù)據(jù)庫,也可減少數(shù)據(jù)量,同時還可以防止數(shù)據(jù)庫解析XML失?。徊襟E5 應(yīng)用服務(wù)把序列化好的數(shù)據(jù),用字符串參數(shù)類型傳遞給數(shù)據(jù)庫的存儲過 程進(jìn)行處理;本發(fā)明涉及的一種向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法,使得應(yīng)用服務(wù)向數(shù)據(jù)庫批量提 交大數(shù)據(jù)包的時候,應(yīng)用和數(shù)據(jù)庫的交互次數(shù)大大減少,同時,因為有數(shù)據(jù)評估機(jī)制,還能 保證提交數(shù)據(jù)能被數(shù)據(jù)庫正常處理。
具體實(shí)施例方式本發(fā)明的主要步驟如下步驟1 將待批量提交的數(shù)據(jù)整理成對象列表;步驟2 應(yīng)用服務(wù)調(diào)用數(shù)據(jù)評估器,評估每次提交對象的最大數(shù)目。如果對象數(shù)目 過多,則需把對象列表分割,保證每次提交的對象列表在序列化后,不超過數(shù)據(jù)庫的字符串 類型的允許長度;步驟3 調(diào)用對象序列化服務(wù),將待提交的對象列表進(jìn)行XML (ExtensibIeMarkup Language,即可擴(kuò)展標(biāo)記語言)序列化;步驟4 對象序列化服務(wù)去除多余的XML標(biāo)記和屬性,這樣可以保證不把多余的標(biāo)
3記傳給數(shù)據(jù)庫,也可減少數(shù)據(jù)量,同時還可以防止數(shù)據(jù)庫解析XML失?。徊襟E5 應(yīng)用服務(wù)把序列化好的數(shù)據(jù),用字符串參數(shù)類型傳遞給數(shù)據(jù)庫的存儲過 程進(jìn)行處理;上述的技術(shù)方案實(shí)施時,應(yīng)用服務(wù)向數(shù)據(jù)庫批量提交大數(shù)據(jù)包的時候,應(yīng)用和數(shù) 據(jù)庫的交互次數(shù)大大減少,同時,因為有數(shù)據(jù)評估機(jī)制,還能保證提交數(shù)據(jù)能被數(shù)據(jù)庫正常 處理,這種方法可以在很大程度上提高數(shù)據(jù)庫的性能。最后所應(yīng)說明的是,以上實(shí)施例僅用以說明而并非限制本發(fā)明所描述的技術(shù)方 案;因此,盡管本說明書參照上述的實(shí)施例對本發(fā)明已進(jìn)行了詳細(xì)的說明,但是,本領(lǐng)域的 普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對本發(fā)明進(jìn)行修改或者等同地替換;而一切不脫離本發(fā) 明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
一種向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法,其特征在于該方法至少包括如下的步驟步驟1將待批量提交的數(shù)據(jù)整理成對象列表。步驟2應(yīng)用服務(wù)調(diào)用數(shù)據(jù)評估器,評估每次提交對象的最大數(shù)目。如果對象數(shù)目過多,則需把對象列表分割,保證每次提交的對象列表在序列化后,不超過數(shù)據(jù)庫的字符串類型的允許長度。步驟3調(diào)用對象序列化服務(wù),將待提交的對象列表進(jìn)行XML序列化。步驟4對象序列化服務(wù)去除多余的XML標(biāo)記和屬性,這樣可以保證不把多余的標(biāo)記傳給數(shù)據(jù)庫,也可減少數(shù)據(jù)量,同時還可以防止數(shù)據(jù)庫解析XML失敗。步驟5應(yīng)用服務(wù)把序列化好的數(shù)據(jù),用字符串參數(shù)類型傳遞給數(shù)據(jù)庫的存儲過程進(jìn)行處理。
全文摘要
一種向數(shù)據(jù)庫提交批量數(shù)據(jù)的方法,首先將待批量提交的數(shù)據(jù)整理成對象列表;然后應(yīng)用服務(wù)調(diào)用數(shù)據(jù)評估器,評估每次提交對象的最大數(shù)目。調(diào)用對象序列化服務(wù),將待提交的對象列表進(jìn)行XML序列化;對象序列化服務(wù)去除多余的XML標(biāo)記和屬性,這樣可以保證不把多余的標(biāo)記傳給數(shù)據(jù)庫,也可減少數(shù)據(jù)量,同時還可以防止數(shù)據(jù)庫解析XML失?。蛔詈髴?yīng)用服務(wù)把序列化好的數(shù)據(jù),用字符串參數(shù)類型傳遞給數(shù)據(jù)庫的存儲過程進(jìn)行處理。本發(fā)明使得應(yīng)用服務(wù)向數(shù)據(jù)庫批量提交大數(shù)據(jù)包的時候,應(yīng)用和數(shù)據(jù)庫的交互次數(shù)大大減少,同時,因為有數(shù)據(jù)評估機(jī)制,還能保證提交數(shù)據(jù)能被數(shù)據(jù)庫正常處理。
文檔編號G06F17/30GK101894112SQ200910084188
公開日2010年11月24日 申請日期2009年5月20日 優(yōu)先權(quán)日2009年5月20日
發(fā)明者劉立軍, 張守文, 王磊, 陶勇勝 申請人:灰熊(北京)科技有限公司