国产精品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ù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng)的制作方法

      文檔序號(hào):10553029閱讀:681來源:國(guó)知局
      一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng),其中,數(shù)據(jù)存儲(chǔ)方法包括:在DDL框架層定義分庫(kù)分表規(guī)則;在DDL框架層按照定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,并將分庫(kù)分表后的子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中;每一個(gè)主數(shù)據(jù)庫(kù)將自身的子數(shù)據(jù)塊同步至該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中;其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。通過本發(fā)明,能夠?qū)Υ笈康臄?shù)據(jù)按照一定的規(guī)則進(jìn)行分庫(kù)分表,減輕了數(shù)據(jù)庫(kù)的壓力,也能夠?qū)崿F(xiàn)數(shù)據(jù)的讀寫分離功能。
      【專利說明】
      一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng)
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng)。
      【背景技術(shù)】
      [0002]目前J2EE應(yīng)用開發(fā)很多使用Spring+Mybatis框架進(jìn)行開發(fā),但是Spring+Mybatis本身無法實(shí)現(xiàn)分庫(kù)分表與讀寫分離的功能,也無法實(shí)現(xiàn)動(dòng)態(tài)的切換數(shù)據(jù)源。當(dāng)應(yīng)用系統(tǒng)有大規(guī)模的數(shù)據(jù)時(shí),需要根據(jù)一定的規(guī)則對(duì)數(shù)據(jù)分庫(kù)分表,減輕數(shù)據(jù)庫(kù)壓力。同時(shí)也需要能夠同時(shí)連接多個(gè)異構(gòu)數(shù)據(jù)庫(kù),來實(shí)現(xiàn)一定的業(yè)務(wù)流程。

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

      [0003]本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng),能夠解決現(xiàn)有技術(shù)的不足。
      [0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:
      [0005]—方面,本發(fā)明提供了一種數(shù)據(jù)存儲(chǔ)方法,包括:
      [0006]Sla、在DDL框架層定義分庫(kù)分表規(guī)則;
      [0007]S2a、在DDL框架層按照定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,形成多個(gè)子數(shù)據(jù)快,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中;
      [0008]S3a、每一個(gè)主數(shù)據(jù)庫(kù)將自身的子數(shù)據(jù)塊同步至該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中;
      [0009]其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。
      [0010]另一方面,本發(fā)明提供了一種數(shù)據(jù)讀取方法,包括:
      [0011 ] Slb、在DDL框架層定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則;
      [0012]S2b、當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù);
      [0013]S3b、根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0014]再一方面,本發(fā)明提供了一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括:
      [0015]第一規(guī)則定義單元,用于在DDL框架層定義分庫(kù)分表規(guī)則;
      [0016]分庫(kù)存儲(chǔ)單元,用于在DDL框架層按照定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,形成多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中;
      [0017]數(shù)據(jù)同步單元,用于將每一個(gè)主數(shù)據(jù)庫(kù)中的子數(shù)據(jù)塊同步至對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中;
      [0018]其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。
      [0019]又一方面,本發(fā)明提供了一種數(shù)據(jù)讀取系統(tǒng),包括:
      [0020]第二規(guī)則定義單元,用于在DDL框架層定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則;
      [0021 ]第一查找單元,用于當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù);
      [0022]第二查找單元,用于根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0023]本發(fā)明提供的一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng),對(duì)大批量的數(shù)據(jù)按照一定的分庫(kù)分表規(guī)則進(jìn)行分庫(kù)形成多個(gè)子數(shù)據(jù)塊,并將子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中,且每一個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)有多個(gè)從數(shù)據(jù)庫(kù),每一個(gè)主數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步至多個(gè)從數(shù)據(jù)庫(kù)中,將主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),將多個(gè)從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù),在實(shí)現(xiàn)數(shù)據(jù)讀取時(shí),首先定位到主數(shù)據(jù)庫(kù),在按照一定的查詢路由規(guī)則從從數(shù)據(jù)庫(kù)中查找對(duì)應(yīng)的數(shù)據(jù),實(shí)現(xiàn)讀寫分離的功能。
      【附圖說明】
      [0024]圖1為本發(fā)明實(shí)施例一的一種數(shù)據(jù)存儲(chǔ)方法流程圖;
      [0025]圖2為在DDL框架中定義數(shù)據(jù)存儲(chǔ)規(guī)則示意圖;
      [0026]圖3為數(shù)據(jù)存儲(chǔ)流程圖;
      [0027]圖4為本發(fā)明實(shí)施例二的一種數(shù)據(jù)讀取方法流程圖;
      [0028]圖5為本發(fā)明實(shí)施例三的一種數(shù)據(jù)存儲(chǔ)系統(tǒng)示意圖;
      [0029]圖6為本發(fā)明實(shí)施例四的一種數(shù)據(jù)讀取系統(tǒng)示意圖。
      【具體實(shí)施方式】
      [0030]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
      [0031]實(shí)施例一、一種數(shù)據(jù)存儲(chǔ)方法。下面結(jié)合圖1-圖3對(duì)本實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法進(jìn)行說明。
      [0032]參見圖1,本實(shí)施例提供的數(shù)據(jù)存儲(chǔ)方法包括:Sla、在DDL框架層定義分庫(kù)分表規(guī)則。
      [0033]S2a、在DDL框架層按照定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,形成多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中。
      [0034]S3a、每一個(gè)主數(shù)據(jù)庫(kù)將自身的子數(shù)據(jù)塊同步至對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中;
      [0035]其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。
      [0036]具體的,當(dāng)有大量數(shù)據(jù)需要存儲(chǔ)時(shí),應(yīng)用程序在DDL(Distributed Data Layer,分布式數(shù)據(jù)層)框架層定義數(shù)據(jù)的分庫(kù)分表規(guī)則,具體主要是定義源數(shù)據(jù)的數(shù)據(jù)劃分規(guī)則以及將源數(shù)據(jù)劃分后形成的每一個(gè)子數(shù)據(jù)塊對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)庫(kù)類型,比如,哪些子數(shù)據(jù)塊存儲(chǔ)在Oracle數(shù)據(jù)庫(kù)中,哪些子數(shù)據(jù)塊存戶在Mysql數(shù)據(jù)庫(kù)中。
      [0037]在DDL框架層,按照定義的劃分規(guī)則,將源數(shù)據(jù)劃分為多個(gè)子數(shù)據(jù)塊,并且按照定義的每一個(gè)子數(shù)據(jù)塊對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)庫(kù)類型,將多個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)類型數(shù)據(jù)庫(kù)的主數(shù)據(jù)庫(kù)中。其中,可參見圖2,J2EE應(yīng)用層的Web層將源數(shù)據(jù)發(fā)送給服務(wù)層,服務(wù)層又將源數(shù)據(jù)發(fā)送給DDL框架層的分布式數(shù)據(jù)層(Distributed Data Layer),分布式數(shù)據(jù)層定義源數(shù)據(jù)的分庫(kù)分表規(guī)則,將分庫(kù)分表后的每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中,每一個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)有多個(gè)從數(shù)據(jù)庫(kù),每一個(gè)主數(shù)據(jù)庫(kù)將存儲(chǔ)在自身的子數(shù)據(jù)塊同步存儲(chǔ)至該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中,即每一個(gè)從數(shù)據(jù)庫(kù)中的數(shù)據(jù)與主數(shù)據(jù)庫(kù)中的數(shù)據(jù)一致。參見圖3,J2EE層將源數(shù)據(jù)發(fā)送給DDL框架層,在DDL框架層定義源數(shù)據(jù)的分庫(kù)分表規(guī)則以及每一個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,按照分庫(kù)分表規(guī)則將源數(shù)據(jù)劃分為多個(gè)子數(shù)據(jù)塊,將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有對(duì)應(yīng)的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù),因此,將主數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步至從數(shù)據(jù)庫(kù)之后,將所有的從數(shù)據(jù)庫(kù)的屬性設(shè)置為read-only(只讀)屬性。比如,現(xiàn)需要將各個(gè)省市的身份證信息存儲(chǔ)于數(shù)據(jù)庫(kù)中,可以按照身份證所屬省市進(jìn)行劃分,并將劃分后的各個(gè)省市的身份證信息存儲(chǔ)至對(duì)應(yīng)類型的主數(shù)據(jù)庫(kù)中,例如,北京地區(qū)的身份證信息存儲(chǔ)于Orale數(shù)據(jù)的主數(shù)據(jù)庫(kù)中,上海地區(qū)的身份證信息存儲(chǔ)于Mysql數(shù)據(jù)庫(kù)的主數(shù)據(jù)庫(kù)中。每一個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)多個(gè)從數(shù)據(jù)庫(kù),將每一個(gè)主數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步至對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中,主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),多個(gè)從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。
      [0038]另外,數(shù)據(jù)分庫(kù)分表規(guī)則是可以動(dòng)態(tài)調(diào)整變化的,本實(shí)施例可使用注解ShardingRule的方式能動(dòng)態(tài)改變分庫(kù)分表規(guī)則。
      [0039]實(shí)施例二、一種數(shù)據(jù)讀取方法。下面結(jié)合圖4對(duì)本實(shí)施例提供的數(shù)據(jù)讀取方法進(jìn)行描述。
      [0040]參見圖4,本實(shí)施例提供的數(shù)據(jù)讀取方法包括:Slb、在DDL框架層定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則。
      [0041 ] S2b、當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù)。
      [0042]S3b、根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0043]具體的,上述實(shí)施例一將大批量的數(shù)據(jù)分庫(kù)分表存儲(chǔ)至對(duì)應(yīng)的數(shù)據(jù)庫(kù)中后,應(yīng)用程序可以在DDL框架中定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,即在同一個(gè)主數(shù)據(jù)庫(kù)下,查詢每一個(gè)從數(shù)據(jù)庫(kù)的順序,具體可以為輪詢查詢,也可以為每一個(gè)從數(shù)據(jù)庫(kù)設(shè)置優(yōu)先級(jí),先查詢優(yōu)先級(jí)高的從數(shù)據(jù)庫(kù),再查詢優(yōu)先級(jí)低的從數(shù)據(jù)庫(kù)。
      [0044]當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),首先根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù),比如,數(shù)據(jù)讀取請(qǐng)求中請(qǐng)求讀取上海的身份證信息時(shí),先查找對(duì)應(yīng)存儲(chǔ)上海身份證信息的主數(shù)據(jù)庫(kù),然后根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0045]實(shí)施例三、一種數(shù)據(jù)存儲(chǔ)系統(tǒng)。下面結(jié)合圖5對(duì)本實(shí)施例提供的數(shù)據(jù)存儲(chǔ)系統(tǒng)進(jìn)行說明。
      [0046]參見圖5,本實(shí)施例提供的數(shù)據(jù)存儲(chǔ)系統(tǒng)包括第一規(guī)則定義單元51、分庫(kù)存儲(chǔ)單元52、數(shù)據(jù)同步單元53和屬性設(shè)置單元54。
      [0047]其中,第一規(guī)則定義單元51,主要用于在DDL框架層定義分庫(kù)分表規(guī)則。
      [0048]分庫(kù)存儲(chǔ)單元52,主要用于在DDL框架層按照第一規(guī)則定義單元51定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,形成多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中。
      [0049]數(shù)據(jù)同步單元53,主要用于將每一個(gè)主數(shù)據(jù)庫(kù)中的子數(shù)據(jù)塊同步至對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中,其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。
      [0050]其中,第一規(guī)則定義單元51具體用于:
      [0051]在DDL框架層定義源數(shù)據(jù)的分庫(kù)分表規(guī)則以及劃分后的每一子數(shù)據(jù)塊對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)庫(kù)類型;
      [0052]分庫(kù)存儲(chǔ)單元52具體用于:
      [0053]在DDL框架層按照定義的數(shù)據(jù)源的分庫(kù)分表規(guī)則,將源數(shù)據(jù)劃分為多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)類型數(shù)據(jù)庫(kù)的主數(shù)據(jù)庫(kù)中。
      [0054]本實(shí)施例提供的數(shù)據(jù)存儲(chǔ)系統(tǒng)還包括屬性設(shè)置單元54,主要用于將所有的從數(shù)據(jù)庫(kù)的屬性設(shè)置為read-only屬性。
      [0055]實(shí)施例四、一種數(shù)據(jù)讀取系統(tǒng)。下面結(jié)合圖6對(duì)本實(shí)施例提供的數(shù)據(jù)讀取系統(tǒng)進(jìn)行描述。
      [0056]參見圖6,本實(shí)施例提供的數(shù)據(jù)讀取系統(tǒng)包括第二規(guī)則定義單元61、第一查找單元62和第二查找單元63。
      [0057]其中,第二規(guī)則定義單元61,主要用于用于在DDL框架層定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則。
      [0058]第一查找單元62,主要用于當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù)。
      [0059]第二查找單元63,主要用于根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      [0060]本發(fā)明提供的一種數(shù)據(jù)存儲(chǔ)方法、數(shù)據(jù)讀取方法及其對(duì)應(yīng)的系統(tǒng),對(duì)大批量的數(shù)據(jù)按照一定的分庫(kù)分表規(guī)則進(jìn)行分庫(kù)形成多個(gè)子數(shù)據(jù)塊,并將子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中,且每一個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)有多個(gè)從數(shù)據(jù)庫(kù),每一個(gè)主數(shù)據(jù)庫(kù)中的數(shù)據(jù)同步至多個(gè)從數(shù)據(jù)庫(kù)中,將主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),將多個(gè)從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù),在實(shí)現(xiàn)數(shù)據(jù)讀取時(shí),首先定位到主數(shù)據(jù)庫(kù),在按照一定的查詢路由規(guī)則從從數(shù)據(jù)庫(kù)中查找對(duì)應(yīng)的數(shù)據(jù),實(shí)現(xiàn)讀寫分離的功能;另外,多個(gè)主數(shù)據(jù)庫(kù)可能會(huì)屬于異構(gòu)數(shù)據(jù)庫(kù),只需要在DDL框架層定義好分庫(kù)分表的路由規(guī)則即可將分庫(kù)分表后的數(shù)據(jù)存儲(chǔ)至對(duì)應(yīng)類型的主數(shù)據(jù)庫(kù)中,實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫(kù)之間的同時(shí)使用。
      [0061]在本說明書的描述中,參考術(shù)語“實(shí)施例一”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體方法、裝置或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、方法、裝置或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
      [0062]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      【主權(quán)項(xiàng)】
      1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括: Sla、在DDL框架層定義分庫(kù)分表規(guī)則; S2a、在DDL框架層按照定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,形成多個(gè)子數(shù)據(jù)快,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中; S3a、每一個(gè)主數(shù)據(jù)庫(kù)將自身的子數(shù)據(jù)塊同步至該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中; 其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。2.如權(quán)利要求1所述的一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述步驟Sla具體包括: 在DDL框架層定義源數(shù)據(jù)的分庫(kù)分表規(guī)則以及劃分后的每一個(gè)子數(shù)據(jù)塊對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)庫(kù)類型; 所述步驟S2a具體包括: 在DDL框架層按照定義的數(shù)據(jù)源的分庫(kù)分表規(guī)則,將源數(shù)據(jù)劃分為多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)類型數(shù)據(jù)庫(kù)的主數(shù)據(jù)庫(kù)中。3.如權(quán)利要求1所述的一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,將所有的從數(shù)據(jù)庫(kù)的屬性設(shè)置為只讀read-only屬性。4.如權(quán)利要求2所述的一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,使用注解ShardingRule的方式動(dòng)態(tài)定義分庫(kù)分表規(guī)則。5.一種數(shù)據(jù)讀取方法,其特征在于,包括: Slb、在DDL框架層定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則; S2b、當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù); S3b、根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。6.如權(quán)利要求5所述的一種數(shù)據(jù)讀取方法,其特征在于,使用注解ShardingRule的方式動(dòng)態(tài)定義每一個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則。7.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于,包括: 第一規(guī)則定義單元,用于在DDL框架層定義分庫(kù)分表規(guī)則; 分庫(kù)存儲(chǔ)單元,用于在DDL框架層按照定義的分庫(kù)分表規(guī)則將源數(shù)據(jù)進(jìn)行分庫(kù)分表,形成多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)的主數(shù)據(jù)庫(kù)中; 數(shù)據(jù)同步單元,用于將每一個(gè)主數(shù)據(jù)庫(kù)中的子數(shù)據(jù)塊同步至對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)中;其中,所有的主數(shù)據(jù)庫(kù)作為寫數(shù)據(jù)庫(kù),所有的從數(shù)據(jù)庫(kù)作為讀數(shù)據(jù)庫(kù)。8.如權(quán)利要求7所述的一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于,所述第一規(guī)則定義單元具體用于: 在DDL框架層定義源數(shù)據(jù)的分庫(kù)分表規(guī)則以及劃分后的每一個(gè)子數(shù)據(jù)塊對(duì)應(yīng)存儲(chǔ)的數(shù)據(jù)庫(kù)類型; 所述分庫(kù)存儲(chǔ)單元具體用于: 在DDL框架層按照定義的數(shù)據(jù)源的分庫(kù)分表規(guī)則,將源數(shù)據(jù)劃分為多個(gè)子數(shù)據(jù)塊,并將每一個(gè)子數(shù)據(jù)塊存儲(chǔ)至對(duì)應(yīng)類型數(shù)據(jù)庫(kù)的主數(shù)據(jù)庫(kù)中。9.如權(quán)利要求7所述的一種數(shù)據(jù)存儲(chǔ)系統(tǒng),其特征在于,還包括: 屬性設(shè)置單元,用于將所有的從數(shù)據(jù)庫(kù)的屬性設(shè)置為只讀read-only屬性。10.一種數(shù)據(jù)讀取系統(tǒng),其特征在于,包括: 第二規(guī)則定義單元,用于在DDL框架層定義每個(gè)主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則; 第一查找單元,用于當(dāng)接收到數(shù)據(jù)讀取請(qǐng)求時(shí),根據(jù)數(shù)據(jù)讀取請(qǐng)求中的請(qǐng)求數(shù)據(jù)標(biāo)識(shí),查找對(duì)應(yīng)的主數(shù)據(jù)庫(kù); 第二查找單元,用于根據(jù)該主數(shù)據(jù)庫(kù)對(duì)應(yīng)的多個(gè)從數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢路由規(guī)則,從從數(shù)據(jù)庫(kù)中查找與數(shù)據(jù)讀取請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)。
      【文檔編號(hào)】G06F17/30GK105912678SQ201610228439
      【公開日】2016年8月31日
      【申請(qǐng)日】2016年4月13日
      【發(fā)明人】張少峰
      【申請(qǐng)人】北京思特奇信息技術(shù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1