欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多數(shù)據(jù)源動態(tài)隔離訪問方法

文檔序號:6591547閱讀:282來源:國知局
專利名稱:多數(shù)據(jù)源動態(tài)隔離訪問方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機數(shù)據(jù)訪問與管理技術(shù)領(lǐng)域,具體涉及一種多數(shù)據(jù)源動態(tài)隔離訪問方法。
背景技術(shù)
隨著云計算和互聯(lián)網(wǎng)絡(luò)的蓬勃發(fā)展,許多系統(tǒng)和平臺都將面臨海量數(shù)據(jù),而且這些數(shù)據(jù)量都以爆炸式的速度遞增,這直接導致許多軟件架構(gòu)越來越龐大,處理能力也越來越強,而支撐這些軟件運行,為用戶提供服務(wù)的基礎(chǔ)正是這些龐大的海量數(shù)據(jù),對于軟件服務(wù)而言,不僅需要面臨大量的數(shù)據(jù),還面臨著來自不同數(shù)據(jù)源的數(shù)據(jù),包括來自不同數(shù)據(jù)庫服務(wù)器、不同數(shù)據(jù)結(jié)構(gòu)、分布式數(shù)據(jù)存儲等環(huán)境。目前,對于來自單一數(shù)據(jù)源的海量數(shù)據(jù),許多數(shù)據(jù)庫服務(wù)都提供了強大的處理能力,但由于數(shù)據(jù)庫廠商都只是存儲和訪問本廠商的數(shù)據(jù),并不提供其它廠商的數(shù)據(jù)源訪問方法,而對于復雜的軟件系統(tǒng)而言,往往需要同時處理來自不同數(shù)據(jù)庫的數(shù)據(jù),這就需要提供一種高效的多數(shù)據(jù)源訪問方法,同時需要保住在訪問過程中,這些不同的數(shù)據(jù)源相互隔離,互不影響,保證數(shù)據(jù)的安全性和完整性。針對目前軟件系統(tǒng)日趨龐大,數(shù)據(jù)結(jié)構(gòu)越來越復雜,特別是云計算技術(shù)的發(fā)展,使得軟件需要處理的數(shù)據(jù)來源不再是單一的目標數(shù)據(jù)庫,而可能是多個不同的數(shù)據(jù)源,傳統(tǒng)的數(shù)據(jù)庫訪問技術(shù)僅能在一個軟件系統(tǒng)中操作一個數(shù)據(jù)源,雖然有一些改進技術(shù)可以通過配置實現(xiàn)多個數(shù)據(jù)源的訪問,但這些技術(shù)實質(zhì)上只是對單一訪問技術(shù)的簡單擴展,需要事先指定需要訪問的數(shù)據(jù)源位置和個數(shù),也就是說,必須事先設(shè)置目標數(shù)據(jù)庫的參數(shù),不能動態(tài)地根據(jù)需要自動擴展,這并不符合多數(shù)據(jù)庫訪問的要求。綜上所述,對多數(shù)據(jù)源中的數(shù)據(jù)訪問包括兩個方面:一是數(shù)據(jù)操作,即動態(tài)連接數(shù)據(jù)源,對所需數(shù)據(jù)的各項操作,并通過事務(wù)處理存儲回數(shù)據(jù)庫中;二是數(shù)據(jù)查詢,即在多個數(shù)據(jù)源的海量數(shù)據(jù)庫中查詢目標數(shù)據(jù),要求快速和準確。

發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)的不足,提供了一種多數(shù)據(jù)源動態(tài)隔離訪問方法,利用動態(tài)數(shù)據(jù)庫連接、訪問與多事務(wù)處理技術(shù),實現(xiàn)多數(shù)據(jù)源動態(tài)隔離訪問,可根據(jù)軟件系統(tǒng)的需要動態(tài)擴展數(shù)據(jù)源。本發(fā)明采用的技術(shù)方案是:一種多數(shù)據(jù)源動態(tài)隔離訪問方法,包括以下步驟:第一步:生成多數(shù)據(jù)源動態(tài)連接;第二步:生成多數(shù)據(jù)源動態(tài)查詢;第三步:將多數(shù)據(jù)源進行隔離存儲。作為優(yōu)選:第一步包括以下步驟:I)根據(jù)數(shù)據(jù)庫和軟件系統(tǒng)需要選擇合適的數(shù)據(jù)庫連接組件C,并記錄唯一標識該連接的ID號、代表該連接的字符串CS和組件對象CO,其中,CO中包括一個以CS為參數(shù)的構(gòu)造函數(shù),并封裝了對所連接數(shù)據(jù)庫的操作方法,包括連接的創(chuàng)建與銷毀;2)在內(nèi)存中申請一段空間M,包括三個組成部分,分別存儲ID、CS和CO,該段空間以連續(xù)方式存儲,以ID為索引,可根據(jù)ID迅速找到對應(yīng)的數(shù)據(jù)庫C ;3)為C創(chuàng)建數(shù)據(jù)庫連接池;4)將該連接組件加入到M中:5)當需要動態(tài)連接數(shù)據(jù)庫時,需要事先給定連接組件ID。作為優(yōu)選:第二步包括以下步驟:I)建立Hibernate環(huán)境,初始化Hibernate必要參數(shù),使之正常運行,運行成功后,生成基本配置信息;2)將第一步得到的數(shù)據(jù)庫連接C注入基本配置信息,生成與該連接組件唯一對應(yīng)的配置信息,并由配置信息生成ORM工廠,ORM工廠將自動完成ORM轉(zhuǎn)換,將數(shù)據(jù)源轉(zhuǎn)化為數(shù)據(jù)對象X,并生成包含對X進行操作的會話;3)遍歷第一步生成的M,獲取所有數(shù)據(jù)連接C,重復上一步,得到全部會話隊列,由于會話與C的唯一對應(yīng)關(guān)系,可根據(jù)C唯一匹配得到對應(yīng)的會話;4)給定查詢關(guān)鍵字W,在全部數(shù)據(jù)源中查詢匹配W的數(shù)據(jù)記錄;5)如果找到包含W的數(shù)據(jù)源,根據(jù)該數(shù)據(jù)源連接C獲得其對應(yīng)的會話,由該會話生成ORM對象X,該過程由Hibernate完成;X的屬性值中包含了 W,軟件程序可利用X,修改或更新數(shù)據(jù)值;

6)若未能找到包含W的數(shù)據(jù)源,則返回空值(NULL)。作為優(yōu)選:第一步的第4)步按以下步驟進行:(I)采用先進先出FIFO方式,在M的最后找到可用的存儲空間,置標記K,若內(nèi)存空間不足,則錯誤退出;(2)為K置鎖定標識L,以保證K為C所獨占,使得在此其它的連接組件不會強占K位置,導致分配錯誤;(3)將C的ID、CS和CO分別放入K的相對應(yīng)位置;(4)撤銷鎖定標記L。作為優(yōu)選:第一步的第5)步按以下步驟進行:(I)在M的ID空間中索引給定ID,若不存在,則錯誤退出;(2)找到給定ID后,查找其對應(yīng)的CS和CO,并將CS注入CO的構(gòu)造函數(shù),實例化CO ;(3)調(diào)用CO的數(shù)據(jù)庫連接方法,到數(shù)據(jù)庫連接池中取出一個可用連接,連接到給定ID指定的數(shù)據(jù)庫。作為優(yōu)選:第二步的第4)步設(shè)數(shù)據(jù)庫數(shù)目為N,查詢的約束為K,按以下基于概率統(tǒng)計和目標探測方法確定包含W的數(shù)據(jù)源:(I)定義探測函數(shù)b (j,z)為對第j個數(shù)據(jù)源分配時間片Zj進行查詢的條件下匹配W成功的概率,定義如下:b{j,z) = 1-(I)其中0〈α j〈l,是事先根據(jù)數(shù)據(jù)源j給出的與該數(shù)據(jù)源訪問速度相關(guān)的參數(shù),計算過程為:給定數(shù)據(jù)源j的連接Cp訪問IKB的數(shù)據(jù)量,從發(fā)送查詢請求到獲得指定數(shù)據(jù)的時間為tj,其中建立網(wǎng)絡(luò)連接和數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)臅r間為Λ tj,則A; b (j,z)指出
了在第j個數(shù)據(jù)源中,分配時間片Zj進行查詢,能成功匹配W的可能性,其中Zj的最優(yōu)取值<確定按下面的步驟進行;(2)設(shè)關(guān)鍵字W在數(shù)據(jù)源j中的先驗概率為P (j),P (j)的取值可事先根據(jù)經(jīng)驗或其它環(huán)境條件進行預估;對N個數(shù)據(jù)源進行編號,使得滿足:
權(quán)利要求
1.一種多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:包括以下步驟: 第一步:生成多數(shù)據(jù)源動態(tài)連接; 第二步:生成多數(shù)據(jù)源動態(tài)查詢; 第三步:將多數(shù)據(jù)源進行隔離存儲。
2.根據(jù)權(quán)利要求1所述的多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:第一步包括以下步驟: 1)根據(jù)數(shù)據(jù)庫和軟件系統(tǒng)需要選擇合適的數(shù)據(jù)庫連接組件C,并記錄唯一標識該連接的ID號、代表該連接的字符串CS和組件對象CO,其中,CO中包括一個以CS為參數(shù)的構(gòu)造函數(shù),并封裝了對所連接數(shù)據(jù)庫的操作方法,包括連接的創(chuàng)建與銷毀; 2)在內(nèi)存中申請一段空間M,包括三個組成部分,分別存儲ID、CS和CO,該段空間以連續(xù)方式存儲,以ID為索引,可根據(jù)ID迅速找到對應(yīng)的數(shù)據(jù)庫C ; 3)為C創(chuàng)建數(shù)據(jù)庫連接池; 4)將該連接組件加入到M中: 5)當需要動態(tài)連接數(shù)據(jù)庫時,需要事先給定連接組件ID。
3.根據(jù)權(quán)利要求2所述的一種多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:第二步包括以下步驟: 1)建立Hibernate環(huán)境,初始化Hibernate必要參數(shù),使之正常運行,運行成功后,生成基本配置信息; 2)將第一步得到的數(shù)據(jù)庫連接C注入基本配置信息,生成與該連接組件唯一對應(yīng)的配置信息,并由配置信息生成ORM工廠,ORM工廠將自動完成ORM轉(zhuǎn)換,將數(shù)據(jù)源轉(zhuǎn)化為數(shù)據(jù)對象X,并生成包含對X進行操作的會話; 3)遍歷第一步生成的M,獲取所有數(shù)據(jù)連接C,重復上一步,得到全部會話隊列,由于會話與C的唯一對應(yīng)關(guān)系,可根據(jù)C唯一匹配得到對應(yīng)的會話; 4)給定查詢關(guān)鍵字W,在全部數(shù)據(jù)源中查詢匹配W的數(shù)據(jù)記錄; 5)如果找到包含W的數(shù)據(jù)源,根據(jù)該數(shù)據(jù)源連接C獲得其對應(yīng)的會話,由該會話生成ORM對象X,該過程由Hibernate完成;X的屬性值中包含了 W,軟件程序可利用X,修改或更新數(shù)據(jù)值; 6)若未能找到包含W的數(shù)據(jù)源,則返回空值NULL。
4.根據(jù)權(quán)利要求3所述的多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:第一步的第4)步按以下步驟進行: (1)采用先進先出FIFO方式,在M的最后找到可用的存儲空間,置標記K,若內(nèi)存空間不足,則錯誤退出; (2)為K置鎖定標識L,以保證K為C所獨占,使得在此其它的連接組件不會強占K位置,導致分配錯誤; (3)將C的ID、CS和CO分別放入K的相對應(yīng)位置; (4)撤銷鎖定標記L。
5.根據(jù)權(quán)利要求4所述的多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:第一步的第5)步按以下步驟進行: (I)在M的ID空間中索引給定ID, 若不存在,則錯誤退出;(2)找到給定ID后,查找其對應(yīng)的CS和CO,并將CS注入CO的構(gòu)造函數(shù),實例化CO; (3)調(diào)用CO的數(shù)據(jù)庫連接方法,到數(shù)據(jù)庫連接池中取出一個可用連接,連接到給定ID指定的數(shù)據(jù)庫。
6.根據(jù)權(quán)利要求5所述的多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:第二步的第4)步設(shè)數(shù)據(jù)庫數(shù)目為N,查詢的約束為K,按以下基于概率統(tǒng)計和目標探測方法確定包含W的數(shù)據(jù)源: (O定義探測函數(shù)b(j,z)為對第j個數(shù)據(jù)源分配時間片Zj進行查詢的條件下匹配W成功的概率,定義如下:
7.根據(jù)權(quán)利要求3或4或5或6所述的多數(shù)據(jù)源動態(tài)隔離訪問方法,其特征在于:第三步包括以下步驟: 1)根據(jù)該數(shù)據(jù)源連接組件C,在任務(wù)隊列中查詢得到C對應(yīng)的會話; 2)調(diào)用會話的開始事務(wù)方法獲取對應(yīng)的事務(wù)T; 3)使用T的隔離屬性,實現(xiàn)C與其它數(shù)據(jù)源連接的隔離; 4)執(zhí)行存儲操作,該操作可以是增加新數(shù)據(jù)、刪除舊數(shù)據(jù)或修改現(xiàn)有數(shù)據(jù); 5)提交存儲操作,如果操作成功,則完成存儲會話;如果操作失敗,則回滾,將數(shù)據(jù)庫重置為提交之前的狀態(tài),此時,可再次嘗試提交操作。
全文摘要
本發(fā)明公開了一種多數(shù)據(jù)源動態(tài)隔離訪問方法,該方法針對多數(shù)據(jù)源動態(tài)訪問的要求,利用動態(tài)數(shù)據(jù)庫連接、訪問與多事務(wù)處理技術(shù),通過多數(shù)據(jù)源動態(tài)連接、多數(shù)據(jù)源動態(tài)查詢和多數(shù)據(jù)源隔離存儲三個階段實現(xiàn)多數(shù)據(jù)源動態(tài)隔離訪問。本發(fā)明可同時完成對多個(不限數(shù)量)數(shù)據(jù)源的高速訪問與管理,并通過數(shù)據(jù)隔離技術(shù),保證多數(shù)據(jù)源數(shù)據(jù)傳輸互不干擾,安全高速,從而克服傳統(tǒng)軟件對數(shù)據(jù)源操作的單一性和低效性,可廣泛應(yīng)用于需要同時訪問不同數(shù)據(jù)源數(shù)據(jù)的軟件開發(fā)環(huán)境,特別是云計算領(lǐng)域中的軟件即服務(wù)(Softwareasa Service,SaaS)和平臺即服務(wù)(PlatformasaService,PaaS)環(huán)境。
文檔編號G06F17/30GK103207908SQ20131010805
公開日2013年7月17日 申請日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者唐雪飛, 陳科 申請人:成都康賽電子科大信息技術(shù)有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
庆云县| 洪泽县| 六盘水市| 凤翔县| 深泽县| 延吉市| 华安县| 东乡族自治县| 忻城县| 会泽县| 新丰县| 新竹市| 墨玉县| 宜川县| 黄陵县| 临邑县| 浮山县| 大竹县| 东乌珠穆沁旗| 黎川县| 凌云县| 东海县| 深水埗区| 保康县| 孟津县| 蒲江县| 台南市| 定安县| 山东省| 阳泉市| 玛纳斯县| 同心县| 四川省| 金乡县| 襄汾县| 讷河市| 饶阳县| 牟定县| 田东县| 涞水县| 西乌|