国产精品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ù)庫入庫方法

      文檔序號:7970193閱讀:273來源:國知局
      專利名稱:數(shù)據(jù)庫入庫方法
      技術(shù)領(lǐng)域
      本發(fā)明提供一種數(shù)據(jù)庫入庫方法,尤其是大型關(guān)系型數(shù)據(jù)庫應(yīng)用系統(tǒng)中入庫效率的方法。 背錄技術(shù)
      在通信領(lǐng)域中,通過網(wǎng)管來統(tǒng)一管理網(wǎng)元。隨著業(yè)務(wù)的增長及功能多樣化,網(wǎng)管管理的 網(wǎng)元越來越多,而且網(wǎng)元中管理的單板也越來越多。這就對網(wǎng)管的響應(yīng)速度、資源的利用率 提出了較髙的要求。
      性能管理是網(wǎng)管的幾大功能之一,也是實(shí)時(shí)性最強(qiáng)的功能之一。以傳輸網(wǎng)的SDH設(shè)備告 警、性能為例,各個(gè)單板每隔15分鐘就要向網(wǎng)管上報(bào)大量的15分鐘性能,管理的單板越多, 上報(bào)的15分鐘性能越多,而且各個(gè)單板不是在同一時(shí)間上報(bào),而是在每隔15分鐘前后,各 自通過NCP、 Manager向網(wǎng)管上報(bào)。在數(shù)據(jù)板較少時(shí),使用傳統(tǒng)的方法,雖然入庫效率低, 但由于上報(bào)的15分鐘性能不是太多,故占用數(shù)據(jù)庫資源不大。隨便數(shù)據(jù)板的增多,上報(bào)的 15分鐘性能成倍的增加,如果還是使用原來傳統(tǒng)的入庫方法,不光入庫效率低,而且導(dǎo)致數(shù) 據(jù)庫線程占用70%-90%多的CPU,從而導(dǎo)致整個(gè)網(wǎng)管的效率低下。

      發(fā)明內(nèi)容
      針對現(xiàn)有技術(shù)存在的缺陷和不足,本發(fā)明提供一種數(shù)據(jù)庫入庫方法,通過設(shè)立臨時(shí)存儲 入庫數(shù)據(jù)的內(nèi)存緩沖區(qū)減少向數(shù)據(jù)庫發(fā)送入庫數(shù)據(jù)的頻率。
      為了達(dá)到上述發(fā)明目的,本發(fā)明數(shù)據(jù)庫入庫方法,包括以下步驟
      (1) 在空閑內(nèi)存中開辟一個(gè)用于臨時(shí)存儲入庫數(shù)據(jù)的內(nèi)存緩沖區(qū);
      (2) 先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),再將這些入庫數(shù)據(jù)集中發(fā)送 給數(shù)據(jù)庫。
      上述的數(shù)據(jù)庫入庫方法中,步驟(1)具體為在空閑內(nèi)存中分配的內(nèi)存緩沖區(qū),用以保 存入庫數(shù)據(jù)的字段值,同時(shí)在內(nèi)存緩沖區(qū)頭增加字節(jié),用以保存入庫數(shù)據(jù)進(jìn)入內(nèi)存緩沖區(qū)的 起始時(shí)間和終止時(shí)間。
      上述的數(shù)據(jù)庫入庫方法中,步驟(2)具體為先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述
      內(nèi)存緩沖區(qū),當(dāng)內(nèi)存緩沖區(qū)中的入庫數(shù)據(jù)量達(dá)到或超過內(nèi)存緩沖區(qū)容量時(shí),再將這些入庫數(shù) 據(jù)集中發(fā)送給數(shù)據(jù)庫。
      上述的數(shù)據(jù)庫入庫方法中,步驟(2)具體為先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述 內(nèi)存緩沖區(qū),再定時(shí)將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。
      上述的數(shù)據(jù)庫入庫方法中,步驟(2)具體為先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述 內(nèi)存緩沖區(qū),當(dāng)數(shù)據(jù)庫査詢到內(nèi)存緩沖區(qū)內(nèi)的入庫數(shù)據(jù)時(shí),再將這些入庫數(shù)據(jù)集中發(fā)送給數(shù) 據(jù)庫。
      上述的數(shù)據(jù)庫入庫方法中,步驟(2)進(jìn)一步包括以下步驟
      (21) 數(shù)據(jù)庫收到各設(shè)備的新的入庫數(shù)據(jù);
      (22) 數(shù)據(jù)庫判斷內(nèi)存緩沖區(qū)是否巳滿,如果內(nèi)存緩沖區(qū)已滿,則先把內(nèi)存緩沖區(qū)中已 有的入庫數(shù)據(jù)一次性的發(fā)送給數(shù)據(jù)庫,再向內(nèi)存緩沖區(qū)中存入新的入庫數(shù)據(jù);如果內(nèi)存緩沖 區(qū)未滿,直接向內(nèi)存緩沖區(qū)中存入新的入庫數(shù)據(jù)。
      上述的數(shù)據(jù)庫入庫方法中,步驟(2)進(jìn)一步具體為先將不定時(shí)接到的多批入庫數(shù)據(jù)存 入所述內(nèi)存緩沖區(qū),當(dāng)數(shù)據(jù)庫査詢?nèi)霂鞌?shù)據(jù)時(shí),判斷査詢時(shí)間是否在緩沖區(qū)時(shí)間段內(nèi),如果 在,先將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫,再從數(shù)據(jù)庫中査詢?nèi)绻麞嗽儠r(shí)間不在緩沖區(qū)時(shí) 間段內(nèi),則直接從數(shù)據(jù)庫中査詢。
      本發(fā)明數(shù)據(jù)庫入庫方法改善了網(wǎng)管的性能,使數(shù)據(jù)入庫效率大幅提髙,數(shù)據(jù)庫資源占用 率明顯降低。


      圖l為本發(fā)明實(shí)施案例的類圖; 圖2為緩存區(qū)滿入庫流程示意圖; 圖3為定時(shí)入庫流程示意圖; 圖4為査詢?nèi)霂炝鞒淌疽鈭D。
      具體實(shí)施例方式
      下面結(jié)合附圖對本發(fā)明作進(jìn)一步的詳細(xì)說明
      本發(fā)明的目的是克服上述大量、分散數(shù)輝入庫效率低,導(dǎo)致網(wǎng)管的整體性能差的特點(diǎn),
      充分利用髙速的內(nèi)存,提供一種非常簡單的高效的入庫方法。本發(fā)明具有以下特點(diǎn)l)緩沖 區(qū)大小根據(jù)手工配置及表的結(jié)構(gòu)來確定;2)緩沖區(qū)數(shù)據(jù)通過三種方式刷新管理。3)內(nèi)存緩 沖區(qū)中,增加起始時(shí)間和終止時(shí)間。4)充分利用數(shù)據(jù)庫提供的底層批量入庫接口,提高緩沖 區(qū)的利用率及入庫效率。
      本發(fā)明的思路是根據(jù)用戶的設(shè)置,在內(nèi)存中開劈一個(gè)大小適當(dāng)?shù)膮^(qū)域,用于數(shù)據(jù)的緩 存,當(dāng)數(shù)據(jù)量較少時(shí),數(shù)據(jù)直接存在內(nèi)存中,當(dāng)數(shù)據(jù)累積到一定量時(shí),接近或超過內(nèi)存緩沖 區(qū)時(shí),才一次性的入庫,減少入庫的次數(shù),從而提高入庫的效率。
      本發(fā)明的技術(shù)方案包括如下內(nèi)容
      步驟l、內(nèi)存緩沖區(qū)的組織
      在空閑內(nèi)存中分配緩沖區(qū)域,用以保存入庫表的字段值,同時(shí)在緩沖區(qū)頭增加N個(gè)字節(jié), 用以保存起始時(shí)間和終止時(shí)間。緩沖區(qū)只保存字段值,不保存字段名,從而提高了緩沖區(qū)使 用效率,同時(shí)也提髙了入庫的效率。以上這些得益于充分利用數(shù)據(jù)庫提供的底層批量入庫接m。
      歩驟2、內(nèi)存緩沖區(qū)的管理
      緩沖區(qū)刷新的3個(gè)條件 一、按時(shí)間定時(shí)批量入庫;二、按緩沖區(qū)域的實(shí)際容量;三、 査詢時(shí),先判斷査詢時(shí)間是否在緩沖區(qū)時(shí)間段內(nèi),如果在,先刷新緩沖區(qū)域,再從數(shù)據(jù)庫査 詢?nèi)绻辉?,則不用刷新緩沖區(qū),直接從數(shù)據(jù)庫査詢?nèi)齻€(gè)條件可以同時(shí)起作用。
      在步驟2中,內(nèi)存緩沖區(qū)以3種方式進(jìn)行管理
      方式一、如圖3所示,先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),再定時(shí)將 這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。按時(shí)間定時(shí)批量入庫,可以保證內(nèi)存緩沖區(qū)數(shù)據(jù)及時(shí)入庫, 同時(shí)也可以避開大量數(shù)據(jù)插入緩沖區(qū)的時(shí)刻,避免造成資源等待及死鎖。
      方式二、如圖2所示,首先,數(shù)據(jù)庫收到各設(shè)備的新的入庫數(shù)據(jù)然后,數(shù)據(jù)庫判斷內(nèi) 存緩沖區(qū)是否已滿,如果內(nèi)存緩沖區(qū)己滿,則先把內(nèi)存緩沖區(qū)中己有的入庫數(shù)據(jù)一次性的發(fā) 送給數(shù)據(jù)庫,再向內(nèi)存緩沖區(qū)中存入新的入庫數(shù)據(jù);如果內(nèi)存緩沖區(qū)未滿,直接向內(nèi)存緩沖 區(qū)中存入新的入庫數(shù)據(jù)。按緩沖區(qū)域的實(shí)際容量,數(shù)據(jù)庫收到各設(shè)備的報(bào)文后,先判斷內(nèi)存 緩沖區(qū)是否己滿如果滿,則先把緩沖區(qū)的數(shù)據(jù)一次性的入庫后,再向內(nèi)存緩沖區(qū)中插入記 錄如果未滿,直接向內(nèi)存緩沖區(qū)中插入記錄。這樣可以最大限度的減少內(nèi)存緩沖區(qū)向數(shù)據(jù) 庫發(fā)送數(shù)據(jù)的頻率。
      方式三、如圖4所示,先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),當(dāng)數(shù)據(jù)庫 査詢?nèi)霂鞌?shù)據(jù)時(shí),判斷査詢時(shí)間是否在緩沖區(qū)時(shí)間段內(nèi),如果在,先將這些入庫數(shù)據(jù)集中發(fā) 送給數(shù)據(jù)庫,再從數(shù)據(jù)庫中査詢;如果査詢時(shí)間不在緩沖區(qū)時(shí)間段內(nèi),則直接從數(shù)據(jù)庫中査 詢。這樣可以提高內(nèi)存緩沖區(qū)向數(shù)據(jù)庫發(fā)送數(shù)據(jù)的有效性。
      下面結(jié)合具體實(shí)施對本發(fā)明作進(jìn)一步的說明。實(shí)施例子是以sybase數(shù)據(jù)庫為基礎(chǔ),詳細(xì) 說明本發(fā)明的過程。
      為了方便、快捷使用此功能,此功能已模塊化,對外提供接口,調(diào)用者只需要調(diào)用接口 即可。
      一、 接口
      init函數(shù),用于初始化內(nèi)存緩沖區(qū)。共有4個(gè)參數(shù),第l個(gè)參數(shù)為void+,用于指向服 務(wù)器的指針;第2個(gè)參數(shù)為charis用于指向具體的數(shù)據(jù)庫的指針第3個(gè)參數(shù)為char*,用 于指定具體的表,第4個(gè)參數(shù)為默認(rèn)int,用于默認(rèn)批刷新的大小。
      addNew函數(shù),用以增加新的記錄。共有2個(gè)參數(shù),第1個(gè)參數(shù)為void *,用以指向服務(wù) 器的指針;第2個(gè)參數(shù)為int,用以指定數(shù)據(jù)以何種方式新增。
      setField函數(shù),用以設(shè)置不同字段的值。此函數(shù)有多個(gè)重載函數(shù),用以設(shè)定int、 char 等類型的值。
      flush函數(shù),用以刷新內(nèi)存緩沖區(qū)的內(nèi)容。
      二、 繼承關(guān)系
      不同的數(shù)據(jù)庫在接口的基礎(chǔ)上實(shí)現(xiàn)具體的功能,圖1顯示了不同數(shù)據(jù)庫繼承關(guān)系的類圖。
      三、 實(shí)現(xiàn)方式
      1、 首先調(diào)用init()初始化內(nèi)存。內(nèi)存的大小可以是默認(rèn)的,也可以在此函數(shù)中設(shè)定(可 以從配置文件中讀取手工配置的數(shù)據(jù))。
      2、 收到記錄時(shí),通過調(diào)用addNew ()后,使用setField()函數(shù)給各個(gè)字段賦值。
      3、 當(dāng)記錄達(dá)到規(guī)定的記錄大小時(shí), 一次性的調(diào)用flush()函數(shù),調(diào)用sybase提供的底 層入庫接口,刷新內(nèi)存的記錄入庫。見圖2
      4、 按設(shè)定的時(shí)間,定時(shí)刷新緩沖區(qū)數(shù)據(jù)。見圖3。 5、 如果界面下發(fā)査詢此表的命令時(shí),先判斷命令中時(shí)間參數(shù)是否在緩沖區(qū)時(shí)間內(nèi),如果 在,則先刷新緩沖區(qū),再査詢;如果不在,直接從數(shù)據(jù)庫査詢。見圖4。
      6、 重復(fù)步驟3、 4,達(dá)到批量入庫的目的,從而減少入庫的次數(shù)。
      使用傳統(tǒng)的入庫方法,數(shù)據(jù)庫資源占用率較髙,嚴(yán)重影響網(wǎng)管的整體性能。改用本發(fā)明 實(shí)施方案后,入庫效率明顯提高了。數(shù)據(jù)庫資源占用率達(dá)到正常,從而改善了網(wǎng)管的性能。
      以上為本發(fā)明的較佳實(shí)施案例,并不用以限制本發(fā)明的保護(hù)范圍。
      權(quán)利要求
      1、一種數(shù)據(jù)庫入庫方法,其特征在于包括以下步驟(1)在空閑內(nèi)存中開辟一個(gè)用于臨時(shí)存儲入庫數(shù)據(jù)的內(nèi)存緩沖區(qū);(2)先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),再將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。
      2、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫入庫方法,其特征在于步驟(1)具體為在空閑內(nèi) 存中分配的內(nèi)存緩沖區(qū),用以保存入庫數(shù)據(jù)的字段值,同時(shí)在內(nèi)存緩沖區(qū)頭增加字節(jié),用以 保存入庫數(shù)據(jù)進(jìn)入內(nèi)存緩沖區(qū)的起始時(shí)間和終止時(shí)間。
      3、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫入庫方法,其特征在于步驟(2)具體為先將不定 時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),當(dāng)內(nèi)存緩沖區(qū)中的入庫數(shù)據(jù)量達(dá)到或超過內(nèi)存 緩沖區(qū)容量時(shí),再將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。
      4、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫入庫方法,其特征在于歩驟(2)具體為先將不定 時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),再定時(shí)將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。
      5、 根據(jù)權(quán)利要求1所述的數(shù)據(jù)庫入庫方法,其特征在于歩驟(2)具體為先將不定 時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),當(dāng)數(shù)據(jù)庫査詢到內(nèi)存緩沖區(qū)內(nèi)的入庫數(shù)據(jù)時(shí), 再將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。
      6、 根據(jù)權(quán)利要求3所述的數(shù)據(jù)庫入庫方法,其特征在于步驟(2)進(jìn)一步包括以下歩驟(21) 數(shù)據(jù)庫收到各設(shè)備的新的入庫數(shù)據(jù);(22) 數(shù)據(jù)庫判斷內(nèi)存緩沖區(qū)是否己滿,如果內(nèi)存緩沖區(qū)已滿,則先把內(nèi)存緩沖區(qū)中已 有的入庫數(shù)據(jù)一次性的發(fā)送給數(shù)據(jù)庫,再向內(nèi)存緩沖區(qū)中存入新的入庫數(shù)據(jù);如果內(nèi)存緩沖 區(qū)未滿,直接向內(nèi)存緩沖區(qū)中存入新的入庫數(shù)據(jù)。
      7、 根據(jù)權(quán)利要求5所述的數(shù)據(jù)庫入庫方法,其特征在于步驟(2)進(jìn)一步具體為先 將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),當(dāng)數(shù)據(jù)庫査詢?nèi)霂鞌?shù)據(jù)時(shí),判斷査詢時(shí) 間是否在緩沖區(qū)時(shí)間段內(nèi),如果在,先將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫,再從數(shù)據(jù)庫中査 詢;如果査詢時(shí)間不在緩沖區(qū)時(shí)間段內(nèi),則直接從數(shù)據(jù)庫中査詢。
      全文摘要
      本發(fā)明公開了一種數(shù)據(jù)庫入庫方法?,F(xiàn)有的數(shù)據(jù)入庫方法是大量、分散數(shù)據(jù)入庫,效率低、耗費(fèi)資源、網(wǎng)管整體性能差。為解決上述問題,本發(fā)明包括以下步驟(1)在空閑內(nèi)存中開辟一個(gè)用于臨時(shí)存儲入庫數(shù)據(jù)的內(nèi)存緩沖區(qū);(2)先將不定時(shí)接到的多批入庫數(shù)據(jù)存入所述內(nèi)存緩沖區(qū),再將這些入庫數(shù)據(jù)集中發(fā)送給數(shù)據(jù)庫。本發(fā)明改善了網(wǎng)管的性能,使數(shù)據(jù)入庫效率大幅提高,數(shù)據(jù)庫資源占用率明顯降低,適用于各種數(shù)據(jù)庫系統(tǒng)。
      文檔編號H04L12/24GK101170433SQ20061014098
      公開日2008年4月30日 申請日期2006年10月25日 優(yōu)先權(quán)日2006年10月25日
      發(fā)明者王雪懷, 鄭循茂, 郭文君 申請人:中興通訊股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1