国产精品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í)現(xiàn)數(shù)據(jù)緩存的方法

      文檔序號(hào):6521187閱讀:289來(lái)源:國(guó)知局
      一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法
      【專利摘要】本發(fā)明涉及一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,所述方法包括:(1)應(yīng)用程序通過(guò)數(shù)據(jù)中間件獲取緩存中的數(shù)據(jù)信息;(2)應(yīng)用程序修改數(shù)據(jù)時(shí),通過(guò)數(shù)據(jù)中間件寫(xiě)入數(shù)據(jù)庫(kù)中數(shù)據(jù),同時(shí)更新緩存中數(shù)據(jù);(3)數(shù)據(jù)中間件通過(guò)配置信息,獲取更新周期;(4)數(shù)據(jù)中間件根據(jù)更新周期,定時(shí)更新緩存中數(shù)據(jù),保持緩存中數(shù)據(jù)和數(shù)據(jù)庫(kù)中數(shù)據(jù)一致。本發(fā)明提高了讀取數(shù)據(jù)的響應(yīng)速度,提高了系統(tǒng)的性能,有效的解決緩存數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)一致性問(wèn)題,實(shí)現(xiàn)了在一定時(shí)間內(nèi)即保障了數(shù)據(jù)的一致性又提高了系統(tǒng)的性能,減少了系統(tǒng)調(diào)用數(shù)據(jù)庫(kù)的請(qǐng)求次數(shù),避免數(shù)據(jù)庫(kù)調(diào)用的性能開(kāi)銷。
      【專利說(shuō)明】一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于數(shù)據(jù)緩存技術(shù),具體講涉及一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法。
      【背景技術(shù)】
      [0002]隨著網(wǎng)絡(luò)的普及化,用戶經(jīng)常使用到的數(shù)據(jù)通過(guò)緩存(Cache)技術(shù)進(jìn)行管理,從而減輕服務(wù)器重新請(qǐng)求的壓力,提高網(wǎng)站的訪問(wèn)速度。緩存技術(shù)有很多,所謂的數(shù)據(jù)緩存,指的是數(shù)據(jù)庫(kù)的數(shù)據(jù)不是直接傳輸,而是將數(shù)據(jù)暫存在內(nèi)存中的一種技術(shù),數(shù)據(jù)緩存的直接目的是為了提高讀取數(shù)據(jù)的響應(yīng)速度,實(shí)現(xiàn)對(duì)數(shù)據(jù)查詢的及時(shí)響應(yīng),數(shù)據(jù)緩存的使用在大訪問(wèn)量的情況下能極大的減少對(duì)數(shù)據(jù)庫(kù)操作的次數(shù),降低系統(tǒng)負(fù)載提高系統(tǒng)性能。將數(shù)據(jù)調(diào)用到內(nèi)存,然后從內(nèi)存中讀取,從而可以大大提高讀取速度。數(shù)據(jù)緩存技術(shù)有很多的方案,這里由于開(kāi)源、高性能等特點(diǎn),降低系統(tǒng)負(fù)載提高系統(tǒng)性能。
      [0003]但現(xiàn)有技術(shù)中緩存和數(shù)據(jù)庫(kù)數(shù)據(jù)一致性功能欠缺。

      【發(fā)明內(nèi)容】

      [0004]針對(duì)現(xiàn)有技術(shù)的不足,本發(fā)明提供一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,本發(fā)明為保障數(shù)據(jù)緩存保持一致性提供兩種機(jī)制,并詳細(xì)介紹了本發(fā)明增刪改操作的流程處理方式。本發(fā)明應(yīng)用程序可為需要訪問(wèn)數(shù)據(jù)的各種應(yīng)用,數(shù)據(jù)庫(kù)也可采用Mysql,Oracle等。
      [0005]本發(fā)明的目的是采用下述技術(shù)方案實(shí)現(xiàn)的:
      [0006]一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其改進(jìn)之處在于,所述方法包括:
      [0007](I)應(yīng)用程序通過(guò)數(shù)據(jù)中間件獲取緩存中的數(shù)據(jù)信息;
      [0008](2)應(yīng)用程序修改數(shù)據(jù)時(shí),通過(guò)數(shù)據(jù)中間件寫(xiě)入數(shù)據(jù)庫(kù)中數(shù)據(jù),同時(shí)更新緩存中數(shù)據(jù);
      [0009](3)數(shù)據(jù)中間件通過(guò)配置信息,獲取更新周期;
      [0010](4)數(shù)據(jù)中間件根據(jù)更新周期,定時(shí)更新緩存中數(shù)據(jù),保持緩存中數(shù)據(jù)和數(shù)據(jù)庫(kù)中數(shù)據(jù)一致。
      [0011 ] 優(yōu)選的,所述(I)包括應(yīng)用程序查詢數(shù)據(jù)時(shí),數(shù)據(jù)中間件主進(jìn)程直接查詢緩存中數(shù)據(jù),然后返回結(jié)果數(shù)據(jù)。
      [0012]進(jìn)一步地,所述應(yīng)用程序查詢操作通過(guò)數(shù)據(jù)中間件從緩存中取數(shù)據(jù),不對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何操作。
      [0013]優(yōu)選的,所述(2)包括:
      [0014](4-1)應(yīng)用程序進(jìn)行增刪改操作;
      [0015](4-2)數(shù)據(jù)中間件主進(jìn)程對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行增刪改操作;
      [0016](4-3)更新數(shù)據(jù)庫(kù)數(shù)據(jù);
      [0017](4-4)主進(jìn)程向緩存數(shù)據(jù)維護(hù)進(jìn)程發(fā)送消息;
      [0018]( 4-5 )更新緩存數(shù)據(jù);
      [0019](4_6)結(jié)束。[0020]進(jìn)一步地,所述步驟(4-3)包括更新數(shù)據(jù)庫(kù)數(shù)據(jù)失敗則通過(guò)數(shù)據(jù)庫(kù)的事務(wù)管理機(jī)制回滾數(shù)據(jù)后結(jié)束。
      [0021]進(jìn)一步地,所述步驟(4-5)包括更新緩存數(shù)據(jù)失敗則通過(guò)數(shù)據(jù)緩存中間件的事務(wù)管理功能回滾數(shù)據(jù),包括回滾數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
      [0022]優(yōu)選的,所述步驟(3)包括數(shù)據(jù)緩存中間件緩存數(shù)據(jù)維護(hù)進(jìn)程讀取配置文件中緩存數(shù)據(jù)更新周期的值,開(kāi)啟定時(shí)更新緩存線程,定時(shí)更新數(shù)據(jù)緩存。
      [0023]進(jìn)一步地,當(dāng)修改配置文件信息后,手動(dòng)調(diào)用重載命令,緩存數(shù)據(jù)維護(hù)進(jìn)程會(huì)重新加載修改后的配置文件。
      [0024]優(yōu)選的,所述步驟(3)包括數(shù)據(jù)緩存中間件緩存數(shù)據(jù)維護(hù)進(jìn)程開(kāi)啟數(shù)據(jù)維護(hù)線程,該線程定時(shí)輪詢緩存數(shù)據(jù)是否過(guò)期,如過(guò)期,則更新緩存數(shù)據(jù);同時(shí)可修改配置文件,設(shè)置過(guò)期時(shí)間。
      [0025]優(yōu)選的,所述步驟(4)數(shù)據(jù)庫(kù)中數(shù)據(jù)有更新時(shí)間字段,記錄更新時(shí)間;當(dāng)更新周期設(shè)置很大時(shí),數(shù)據(jù)中間件會(huì)根據(jù)當(dāng)前時(shí)間和緩存中數(shù)據(jù)的修改時(shí)間做比較;當(dāng)數(shù)據(jù)過(guò)期,即當(dāng)前時(shí)間一緩存中數(shù)據(jù)修改時(shí)間 > 設(shè)置的保質(zhì)期時(shí),會(huì)進(jìn)行一次更新數(shù)據(jù)緩存的操作。
      [0026]與現(xiàn)有技術(shù)比,本發(fā)明的有益效果為:
      [0027]1、本發(fā)明提高了讀取數(shù)據(jù)的響應(yīng)速度,提高了系統(tǒng)的性能。
      [0028]2、本發(fā)明有效的解決緩存數(shù)據(jù)和數(shù)據(jù)庫(kù)數(shù)據(jù)一致性問(wèn)題。
      [0029]3、本發(fā)明實(shí)現(xiàn)了在一定時(shí)間內(nèi)即保障了數(shù)據(jù)的一致性又提高了系統(tǒng)的性能。
      [0030]4、本發(fā)明減少了系統(tǒng)調(diào)用數(shù)據(jù)庫(kù)的請(qǐng)求次數(shù),避免數(shù)據(jù)庫(kù)調(diào)用的性能開(kāi)銷。
      [0031]5、本發(fā)明實(shí)現(xiàn)了低成本的水平擴(kuò)展。
      【專利附圖】

      【附圖說(shuō)明】
      [0032]圖1為本發(fā)明提供的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法數(shù)據(jù)緩存中間體機(jī)構(gòu)圖。
      [0033]圖2為本發(fā)明提供的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法數(shù)據(jù)增刪改操作流程圖。
      [0034]圖3為本發(fā)明提供的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法數(shù)據(jù)查詢流程圖。
      [0035]圖4為本發(fā)明提供的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法數(shù)據(jù)緩存定時(shí)更新流程圖。
      [0036]圖5為本發(fā)明提供的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法緩存數(shù)據(jù)維護(hù)進(jìn)程流程圖。
      【具體實(shí)施方式】
      [0037]下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步的詳細(xì)說(shuō)明。
      [0038]如圖1數(shù)據(jù)緩存中間體架構(gòu)圖所示:
      [0039]應(yīng)用程序通過(guò)數(shù)據(jù)緩存中間件獲取緩存中的數(shù)據(jù)信息。
      [0040]應(yīng)用程序修改數(shù)據(jù)時(shí),通過(guò)數(shù)據(jù)緩存中間件寫(xiě)入數(shù)據(jù)庫(kù)中數(shù)據(jù),同時(shí)更新緩存中數(shù)據(jù)。
      [0041]數(shù)據(jù)緩存中間件通過(guò)配置信息,獲取更新周期,數(shù)據(jù)緩存中間件根據(jù)更新周期,定時(shí)更新緩存中數(shù)據(jù),保持緩存中數(shù)據(jù)和數(shù)據(jù)庫(kù)中數(shù)據(jù)一致性。
      [0042]其中,數(shù)據(jù)庫(kù)中數(shù)據(jù)有更新時(shí)間字段,記錄更新時(shí)間,當(dāng)更新周期設(shè)置很大時(shí),數(shù)據(jù)緩存中間件會(huì)根據(jù)當(dāng)前時(shí)間和緩存中數(shù)據(jù)的修改時(shí)間做比較,當(dāng)數(shù)據(jù)過(guò)期,即當(dāng)前時(shí)間-緩存中數(shù)據(jù)修改時(shí)間 > 設(shè)置的保質(zhì)期時(shí),會(huì)進(jìn)行一次更新數(shù)據(jù)緩存的操作。其中:[0043]A、增刪改操作
      [0044]應(yīng)用程序進(jìn)行增刪改操作時(shí),數(shù)據(jù)緩存中間件主進(jìn)程首先操作數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行增刪改操作,操作成功,則主進(jìn)程會(huì)向緩存數(shù)據(jù)維護(hù)進(jìn)程發(fā)送消息,緩存數(shù)據(jù)維護(hù)進(jìn)程除非更新數(shù)據(jù)緩存的操作,將改變的數(shù)據(jù)內(nèi)容更新到緩存中。
      [0045]其中,當(dāng)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行操作失敗,則通過(guò)數(shù)據(jù)庫(kù)的事務(wù)管理機(jī)制回滾數(shù)據(jù)。同樣,在對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)操作成功但是緩存更新數(shù)據(jù)操作失敗,則通過(guò)數(shù)據(jù)緩存中間件的事務(wù)管理功能回滾數(shù)據(jù),包括回滾數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
      [0046]B、查詢操作
      [0047]應(yīng)用程序查詢數(shù)據(jù)時(shí),數(shù)據(jù)緩存中間件主進(jìn)程直接查詢緩存中數(shù)據(jù),然后返回結(jié)果數(shù)據(jù)。查詢操作完全通過(guò)數(shù)據(jù)緩存中間件從緩存中取數(shù)據(jù),不對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何操作。
      [0048]C、緩存與數(shù)據(jù)庫(kù)一致性
      [0049]數(shù)據(jù)緩存中間件根據(jù)指定的規(guī)則維護(hù)數(shù)據(jù)的一致性,如圖4數(shù)據(jù)緩存定時(shí)更新流程圖所示,緩存數(shù)據(jù)維護(hù)進(jìn)程讀取配置文件中緩存數(shù)據(jù)更新周期的值,然后開(kāi)啟定時(shí)更新緩存線程,定時(shí)更新數(shù)據(jù)緩存。當(dāng)修改配置文件信息后,手動(dòng)調(diào)用重載命令,緩存數(shù)據(jù)維護(hù)進(jìn)程會(huì)重新加載修改后的配置文件。
      [0050]另外,緩存數(shù)據(jù)維護(hù)進(jìn)程還通過(guò)第二種機(jī)制來(lái)保障數(shù)據(jù)的一致性,如圖5緩存數(shù)據(jù)維護(hù)流程圖所示,緩存數(shù)據(jù)維護(hù)進(jìn)程會(huì)開(kāi)啟緩存數(shù)據(jù)維護(hù)線程,該線程定時(shí)輪詢緩存數(shù)據(jù)是否過(guò)期,如果過(guò)期,則更新緩存數(shù)據(jù)。同時(shí)可以修改配置文件,設(shè)置過(guò)期時(shí)間。
      [0051]最后應(yīng)當(dāng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非對(duì)其限制,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對(duì)本發(fā)明的【具體實(shí)施方式】進(jìn)行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
      【權(quán)利要求】
      1.一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述方法包括: (1)應(yīng)用程序通過(guò)數(shù)據(jù)中間件獲取緩存中的數(shù)據(jù)信息; (2)應(yīng)用程序修改數(shù)據(jù)時(shí),通過(guò)數(shù)據(jù)中間件寫(xiě)入數(shù)據(jù)庫(kù)中數(shù)據(jù),同時(shí)更新緩存中數(shù)據(jù); (3)數(shù)據(jù)中間件通過(guò)配置信息,獲取更新周期; (4)數(shù)據(jù)中間件根據(jù)更新周期,定時(shí)更新緩存中數(shù)據(jù),保持緩存中數(shù)據(jù)和數(shù)據(jù)庫(kù)中數(shù)據(jù)—致。
      2.如權(quán)利要求1所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述(I)包括應(yīng)用程序查詢數(shù)據(jù)時(shí),數(shù)據(jù)中間件主進(jìn)程直接查詢緩存中數(shù)據(jù),然后返回結(jié)果數(shù)據(jù)。
      3.如權(quán)利要求2所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述應(yīng)用程序查詢操作通過(guò)數(shù)據(jù)中間件從緩存中取數(shù)據(jù),不對(duì)數(shù)據(jù)庫(kù)進(jìn)行任何操作。
      4.如權(quán)利要求1所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述(2)包括: (4-1)應(yīng)用程序進(jìn)行增刪改操作; (4-2)數(shù)據(jù)中間件主進(jìn)程對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行增刪改操作; (4-3)更新數(shù)據(jù)庫(kù)數(shù)據(jù); (4-4)主進(jìn)程向緩存數(shù)據(jù)維護(hù)進(jìn)程發(fā)送消息; (4-5)更新緩存數(shù)據(jù); (4-6)結(jié)束。
      5.如權(quán)利要求4所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟(4-3)包括更新數(shù)據(jù)庫(kù)數(shù)據(jù)失敗則通過(guò)數(shù)據(jù)庫(kù)的事務(wù)管理機(jī)制回滾數(shù)據(jù)后結(jié)束。
      6.如權(quán)利要求4所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟(4-5)包括更新緩存數(shù)據(jù)失敗則通過(guò)數(shù)據(jù)緩存中間件的事務(wù)管理功能回滾數(shù)據(jù),包括回滾數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
      7.如權(quán)利要求1所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟(3)包括數(shù)據(jù)緩存中間件緩存數(shù)據(jù)維護(hù)進(jìn)程讀取配置文件中緩存數(shù)據(jù)更新周期的值,開(kāi)啟定時(shí)更新緩存線程,定時(shí)更新數(shù)據(jù)緩存。
      8.如權(quán)利要求7所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,當(dāng)修改配置文件信息后,手動(dòng)調(diào)用重載命令,緩存數(shù)據(jù)維護(hù)進(jìn)程會(huì)重新加載修改后的配置文件。
      9.如權(quán)利要求1所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟(3)包括數(shù)據(jù)緩存中間件緩存數(shù)據(jù)維護(hù)進(jìn)程開(kāi)啟數(shù)據(jù)維護(hù)線程,該線程定時(shí)輪詢緩存數(shù)據(jù)是否過(guò)期,如過(guò)期,則更新緩存數(shù)據(jù);同時(shí)可修改配置文件,設(shè)置過(guò)期時(shí)間。
      10.如權(quán)利要求1所述的一種實(shí)現(xiàn)數(shù)據(jù)緩存的方法,其特征在于,所述步驟(4)數(shù)據(jù)庫(kù)中數(shù)據(jù)有更新時(shí)間字段,記錄更新時(shí)間;當(dāng)更新周期設(shè)置很大時(shí),數(shù)據(jù)中間件會(huì)根據(jù)當(dāng)前時(shí)間和緩存中數(shù)據(jù)的修改時(shí)間做比較;當(dāng)數(shù)據(jù)過(guò)期,即當(dāng)前時(shí)間一緩存中數(shù)據(jù)修改時(shí)間 > 設(shè)置的保質(zhì)期時(shí),會(huì)進(jìn)行一次更新數(shù)據(jù)緩存的操作。
      【文檔編號(hào)】G06F12/08GK103617131SQ201310624376
      【公開(kāi)日】2014年3月5日 申請(qǐng)日期:2013年11月26日 優(yōu)先權(quán)日:2013年11月26日
      【發(fā)明者】徐學(xué)輝, 郭慶, 班軍成, 苗艷超, 劉新春, 邵宗有 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1