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

      一種基于緩存的標準化數(shù)據(jù)打包方法

      文檔序號:6581549閱讀:362來源:國知局
      專利名稱:一種基于緩存的標準化數(shù)據(jù)打包方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)打包技術(shù)領(lǐng)域,具體涉及一種基于緩存的標準化數(shù)據(jù)打包方法。
      背景技術(shù)
      對于數(shù)據(jù)庫數(shù)據(jù)抓取和數(shù)據(jù)打包,一般的做法是對不同數(shù)據(jù)抓取任務編寫不同的函數(shù)來處理數(shù)據(jù)抓取,其中每個函數(shù)根據(jù)數(shù)據(jù)抓取任務,生成包括數(shù)據(jù)預處理、數(shù)據(jù)庫表和字段定義以及數(shù)據(jù)后處理的命令,驅(qū)動數(shù)據(jù)引擎對數(shù)據(jù)庫表和字段定義鎖定的數(shù)據(jù)進行抓取后,根據(jù)數(shù)據(jù)預處理命令對抓取到的數(shù)據(jù)進行包括定義sql語句、存儲過程和普通運算規(guī)則等處理,然后再進行數(shù)據(jù)庫表進行標志位設(shè)置和臨時數(shù)據(jù)刪除等數(shù)據(jù)后處理,最后通過文件數(shù)據(jù)流直接寫入內(nèi)存的文件包。這樣的處理方式會造成隨著數(shù)據(jù)抓取任務的增加,相應的處理程序也相應增加,最終會導致程序維護困難。并且,大數(shù)據(jù)量寫入文件也會導致內(nèi)存消耗過大,影響系統(tǒng)整體運行。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明提供了一種基于緩存的標準化數(shù)據(jù)打包方法,能夠通過建立一個模板函數(shù)并調(diào)用,而執(zhí)行不同的數(shù)據(jù)抓取任務并生成對應的任務文件,同時,在數(shù)據(jù)打包過程中,通過緩存將任務文件寫到內(nèi)容文件包中,從而把內(nèi)存使用的需求降到最低。本發(fā)明的一種基于緩存的標準化數(shù)據(jù)打包方法,包括如下步驟步驟1、建立模板函數(shù),具體為根據(jù)所有可能的數(shù)據(jù)抓取任務,生成對數(shù)據(jù)依次進行數(shù)據(jù)預處理、數(shù)據(jù)庫表和字段定義以及數(shù)據(jù)后處理的模板函數(shù);其中,所述數(shù)據(jù)預處理包括使用sql語句、存儲過程和普通運算規(guī)則三種處理方式對待抓取的數(shù)據(jù)進行處理;所述數(shù)據(jù)庫表和字段定義為待抓取數(shù)據(jù)所在數(shù)據(jù)庫名稱、表名稱、字段名稱以及相應的約束條件;所述數(shù)據(jù)后處理包括使用sql語句、存儲過程和普通運算規(guī)則三種處理方式對數(shù)據(jù)庫表進行標志位設(shè)置和臨時數(shù)據(jù)刪除的處理;步驟2、對數(shù)據(jù)庫中的文件進行抓取,具體為針對接收到的數(shù)據(jù)抓取任務,調(diào)用模板函數(shù)根據(jù)數(shù)據(jù)庫表和字段定義所指明的待抓取數(shù)據(jù),再根據(jù)數(shù)據(jù)抓取任務中要求的對數(shù)據(jù)進行數(shù)據(jù)預處理的項目,選擇數(shù)據(jù)預處理中的三種處理方式中的一種或多種處理方式對待抓取數(shù)據(jù)進行處理;然后再從數(shù)據(jù)庫中抓取所述待抓取數(shù)據(jù),最后,根據(jù)數(shù)據(jù)抓取任務中要求的對數(shù)據(jù)進行數(shù)據(jù)后處理的方式,選擇數(shù)據(jù)后處理中的三種處理方式中的一種或多種對已經(jīng)抓取的數(shù)據(jù)進行處理;步驟3、對抓取的數(shù)據(jù)進行數(shù)據(jù)打包,具體為S31、在內(nèi)存中創(chuàng)建緩存區(qū)域;S32、將抓取的數(shù)據(jù)按順序?qū)懭刖彺?,當緩存接收到抓取?shù)據(jù)后,再把抓取的數(shù)據(jù)寫入內(nèi)存的文件包中,同時監(jiān)測緩存接收數(shù)據(jù)的速度與從緩存向文件包寫入文件的速度的關(guān)系當前者大于后者時,且緩存容量達到最大容量時,停止向緩存寫入抓取的數(shù)據(jù);當緩存中的數(shù)據(jù)量減小到設(shè)定的下限值時,開始向緩存寫入抓取的數(shù)據(jù);步驟4、重復執(zhí)行步驟2和步驟3,由此執(zhí)行多個數(shù)據(jù)抓取任務,最終把抓取到的數(shù)據(jù)打包存儲。在所述步驟3的S32中,緩存中的數(shù)據(jù)量減小到緩存容量的70%時,開始向緩存寫入抓取的數(shù)據(jù)。本發(fā)明具有如下有益效果本發(fā)明通過建立一個模板函數(shù)并調(diào)用,而執(zhí)行不同的數(shù)據(jù)抓取任務并生成對應的任務文件,同時,在數(shù)據(jù)打包過程中,通過緩存將任務文件寫到內(nèi)容文件包中,從而把內(nèi)存使用的需求降到最低。
      具體實施例方式下面舉實施例,對本發(fā)明進行詳細描述。本發(fā)明提供了一種基于緩存的標準化數(shù)據(jù)打包方法,包括如下步驟步驟1、建立模板函數(shù),具體為根據(jù)所有可能的數(shù)據(jù)抓取任務,生成對數(shù)據(jù)依次進行數(shù)據(jù)預處理、數(shù)據(jù)庫表和字段定義以及數(shù)據(jù)后處理的模板函數(shù);其中,所述數(shù)據(jù)預處理包括對待抓取的數(shù)據(jù)進行定義sql語句、存儲過程和普通運算規(guī)則三項處理過程;所述數(shù)據(jù)庫表和字段定義為待抓取數(shù)據(jù)所在數(shù)據(jù)庫名稱以及該數(shù)據(jù)庫中字段位置;所述數(shù)據(jù)后處理包括對待抓取的數(shù)據(jù)進行定義sql語句、存儲過程、普通運算規(guī)則、數(shù)據(jù)庫表進行標志位設(shè)置和臨時數(shù)據(jù)刪除的五項處理過程;步驟2、對數(shù)據(jù)庫中的文件進行抓取,形成任務文件,具體為針對接收到的數(shù)據(jù)抓取任務,調(diào)用模板函數(shù)根據(jù)數(shù)據(jù)庫表和字段定義所指明的待抓取數(shù)據(jù),再根據(jù)數(shù)據(jù)抓取任務中要求的對數(shù)據(jù)進行數(shù)據(jù)預處理的項目,選擇數(shù)據(jù)預處理中的三項處理過程中的一項或多項處理過程對待抓取數(shù)據(jù)進行處理;然后再從數(shù)據(jù)庫中抓取所述待抓取數(shù)據(jù),最后,根據(jù)數(shù)據(jù)抓取任務中要求的對數(shù)據(jù)進行數(shù)據(jù)后處理的項目,選擇數(shù)據(jù)后處理中的五項處理過程中的一項或多項處理過程對已經(jīng)抓取的數(shù)據(jù)進行處理,最終生成該數(shù)據(jù)抓取任務對應的任務文件;步驟3、對抓取的數(shù)據(jù)進行數(shù)據(jù)打包,具體為S30、讀取抓取的數(shù)據(jù)的大小;S31、根據(jù)抓取的數(shù)據(jù)的大小在內(nèi)存中創(chuàng)建可容納抓取的數(shù)據(jù)的緩存區(qū)域;S32、將抓取的數(shù)據(jù)按順序?qū)懭刖彺?,當緩存接收到抓取?shù)據(jù)后,再把抓取的數(shù)據(jù)寫入內(nèi)存的文件包中,同時監(jiān)測緩存接收數(shù)據(jù)的速度與從緩存向文件包寫入文件的速度的關(guān)系當前者大于后者時,緩存中的數(shù)據(jù)量會持續(xù)增加,當緩存容量達到上限時,停止向緩存寫入抓取的數(shù)據(jù);緩存中的數(shù)據(jù)會繼續(xù)寫入文件,當緩存中的數(shù)據(jù)量減小到緩存容量的70%時,開始向緩存寫入抓取的數(shù)據(jù);步驟4、重復執(zhí)行步驟2和步驟3,由此執(zhí)行多個數(shù)據(jù)抓取任務,最終把包含抓取數(shù)據(jù)的任務文件打包存儲。這樣就保證了程序在并行處理多個任務或處理大數(shù)據(jù)文件時不會消耗過大的內(nèi)存。綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      1.一種基于緩存的標準化數(shù)據(jù)打包方法,其特征在于,包括如下步驟 步驟1、建立模板函數(shù),具體為 根據(jù)所有可能的數(shù)據(jù)抓取任務,生成對數(shù)據(jù)依次進行數(shù)據(jù)預處理、數(shù)據(jù)庫表和字段定義以及數(shù)據(jù)后處理的模板函數(shù);其中,所述數(shù)據(jù)預處理包括使用Sql語句、存儲過程和普通運算規(guī)則三種處理方式對待抓取的數(shù)據(jù)進行處理;所述數(shù)據(jù)庫表和字段定義為待抓取數(shù)據(jù)所在數(shù)據(jù)庫名稱、表名稱、字段名稱以及相應的約束條件;所述數(shù)據(jù)后處理包括使用sql語句、存儲過程和普通運算規(guī)則三種處理方式對數(shù)據(jù)庫表進行標志位設(shè)置和臨時數(shù)據(jù)刪除的處理; 步驟2、對數(shù)據(jù)庫中的文件進行抓取,具體為 針對接收到的數(shù)據(jù)抓取任務,調(diào)用模板函數(shù)根據(jù)數(shù)據(jù)庫表和字段定義所指明的待抓取數(shù)據(jù),再根據(jù)數(shù)據(jù)抓取任務中要求的對數(shù)據(jù)進行數(shù)據(jù)預處理的項目,選擇數(shù)據(jù)預處理中的三種處理方式中的一種或多種處理方式對待抓取數(shù)據(jù)進行處理;然后再從數(shù)據(jù)庫中抓取所述待抓取數(shù)據(jù),最后,根據(jù)數(shù)據(jù)抓取任務中要求的對數(shù)據(jù)進行數(shù)據(jù)后處理的方式,選擇數(shù)據(jù)后處理中的三種處理方式中的一種或多種對已經(jīng)抓取的數(shù)據(jù)進行處理; 步驟3、對抓取的數(shù)據(jù)進行數(shù)據(jù)打包,具體為 531、在內(nèi)存中創(chuàng)建緩存區(qū)域; 532、將抓取的數(shù)據(jù)按順序?qū)懭刖彺?,當緩存接收到抓取?shù)據(jù)后,再把抓取的數(shù)據(jù)寫入內(nèi)存的文件包中,同時監(jiān)測緩存接收數(shù)據(jù)的速度與從緩存向文件包寫入文件的速度的關(guān)系當前者大于后者時,且緩存容量達到最大容量時,停止向緩存寫入抓取的數(shù)據(jù);當緩存中的數(shù)據(jù)量減小到設(shè)定的下限值時,開始向緩存寫入抓取的數(shù)據(jù); 步驟4、重復執(zhí)行步驟2和步驟3,由此執(zhí)行多個數(shù)據(jù)抓取任務,最終把抓取到的數(shù)據(jù)打包存儲。
      2.如權(quán)利要求1所述的一種基于緩存的標準化數(shù)據(jù)打包方法,其特征在于,在所述步驟3的S32中,緩存中的數(shù)據(jù)量減小到緩存容量的70%時,開始向緩存寫入抓取的數(shù)據(jù)。
      全文摘要
      本發(fā)明公開了一種基于緩存的標準化數(shù)據(jù)打包方法,包括建立模板函數(shù)、對數(shù)據(jù)庫中的文件進行抓取和對抓取的數(shù)據(jù)進行數(shù)據(jù)打包,其中,在對文件進行抓取過程中,將抓取的數(shù)據(jù)按順序?qū)懭刖彺妫斁彺娼邮盏阶ト?shù)據(jù)后,再把抓取的數(shù)據(jù)寫入內(nèi)存的文件包中,同時監(jiān)測緩存接收數(shù)據(jù)的速度與從緩存向文件包寫入文件的速度的關(guān)系當前者大于后者時,且緩存容量達到最大容量時,停止向緩存寫入抓取的數(shù)據(jù);當緩存中的數(shù)據(jù)量減小到設(shè)定的下限值時,開始向緩存寫入抓取的數(shù)據(jù);通過建立一個模板函數(shù)并調(diào)用,而執(zhí)行不同的數(shù)據(jù)抓取任務并生成對應的任務文件,同時,在數(shù)據(jù)打包過程中,通過緩存將任務文件寫到內(nèi)容文件包中,從而把內(nèi)存使用的需求降到最低。
      文檔編號G06F17/30GK103064968SQ20121059300
      公開日2013年4月24日 申請日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
      發(fā)明者吳歌 申請人:中國電子科技集團公司第十五研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1