亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法

文檔序號:6376525閱讀:472來源:國知局

專利名稱::可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)存儲技術(shù),特別是涉及一種可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法的技術(shù)。
背景技術(shù)
:大型數(shù)據(jù)庫系統(tǒng)應(yīng)用對數(shù)據(jù)庫容量要求及對數(shù)據(jù)庫的訪問效率要求都較高,隨著系統(tǒng)應(yīng)用的發(fā)展,系統(tǒng)中所使用的數(shù)據(jù)結(jié)構(gòu)也會不斷的擴(kuò)展,因此大型數(shù)據(jù)庫系統(tǒng)應(yīng)用對數(shù)據(jù)結(jié)構(gòu)可擴(kuò)展性要求也高,但是數(shù)據(jù)庫系統(tǒng)中所采用的數(shù)據(jù)結(jié)構(gòu)有很多,如何實現(xiàn)大容量數(shù)據(jù)庫的高效訪問和結(jié)構(gòu)可擴(kuò)展性是一個復(fù)雜的問題?,F(xiàn)有的數(shù)據(jù)結(jié)構(gòu)擴(kuò)展時,都為每一個數(shù)據(jù)結(jié)構(gòu)建立一個數(shù)據(jù)存儲表,再將數(shù)據(jù)存儲表與對應(yīng)表關(guān)聯(lián),這種數(shù)據(jù)結(jié)構(gòu)擴(kuò)展方式會增加數(shù)據(jù)庫設(shè)計的復(fù)雜性,而且隨著數(shù)據(jù)存·儲表數(shù)量的增多及數(shù)據(jù)存儲量的增加,會導(dǎo)致數(shù)據(jù)庫的訪問效率明顯降低。
發(fā)明內(nèi)容針對上述現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種數(shù)據(jù)結(jié)構(gòu)可擴(kuò)展性及數(shù)據(jù)庫訪問效率高的可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法。為了解決上述技術(shù)問題,本發(fā)明所提供的一種可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法,其特征在于,具體步驟如下1)建立一個數(shù)據(jù)庫表TabVar,并在數(shù)據(jù)庫表TabVar中建立6個字段分別為ID,index,table,fragment,tablerec,varvalue;2)為具體應(yīng)用建立n個數(shù)據(jù)結(jié)構(gòu),每個數(shù)據(jù)結(jié)構(gòu)均包含有至少一個表字段,這里n>0;為每個數(shù)據(jù)結(jié)構(gòu)分配一個唯一的表號,為每個表字段分配一個在該表字段所屬數(shù)據(jù)結(jié)構(gòu)中唯一的表字段號;3)設(shè)數(shù)據(jù)庫表TabVar的記錄為庫表記錄,數(shù)據(jù)結(jié)構(gòu)的記錄為結(jié)構(gòu)記錄,則所有結(jié)構(gòu)記錄均存儲在數(shù)據(jù)庫表TabVar中,每條結(jié)構(gòu)記錄均分配有一個在該記錄所屬數(shù)據(jù)結(jié)構(gòu)中唯一的記錄號;數(shù)據(jù)庫表TabVar中,為每條結(jié)構(gòu)記錄的每個表字段建立一條庫表記錄,每條庫表記錄中為ID字段分配一個在數(shù)據(jù)庫表TabVar中唯一的ID編號;為index字段生成一個在數(shù)據(jù)庫表TabVar中唯一的索引值;table字段的值為結(jié)構(gòu)記錄所屬數(shù)據(jù)結(jié)構(gòu)的表號;fragment字段的值為結(jié)構(gòu)記錄所屬表字段的表字段號;tablerec字段的值為結(jié)構(gòu)記錄的記錄號;varvalue字段的值為結(jié)構(gòu)記錄所屬表字段的值。進(jìn)一步的,所述步驟3中,每條庫表記錄的index字段值生成步驟如下3.I)將該條庫表記錄中的字段table,fragment,tablerec,按照數(shù)值組合成一字符串newStr,字符串newStr中每個字段占據(jù)8個字符位,不夠8個字符的補入字符“O”,以保證所生成的字符串newStr的唯一'丨生;3.2)令index字段的值為24,i=0;3.3)采用位移方式生成index字段值,其生成公式為index=((index<<kO)'(index>>kl))'newStr[i]式中,index為index字段值,newStr[i]為字符串newStr中的第i個字符,indexkO是指將index字段的二進(jìn)制值左移kO位,indexkl是指將index字段的二進(jìn)制值右移kl位,符號“~”為異或操作符,kO為左操作常數(shù),kl為右操作常數(shù),這里k0=5,kl=27;3.4)如果i值小于24,則令i遞增I后返回4.3步驟,反之則將index字段值存入庫表記錄的index字段。本發(fā)明提供的可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法,先建立6字段的數(shù)據(jù)庫表,再建立數(shù)據(jù)結(jié)構(gòu),所有的數(shù)據(jù)結(jié)構(gòu)都不需要另行建立數(shù)據(jù)存儲表,任意一種數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)都能保存在數(shù)據(jù)庫表中,因此對不同的數(shù)據(jù)結(jié)構(gòu)具有可擴(kuò)展性,僅僅需要建立一個數(shù)據(jù)庫表即可處理不同的數(shù)據(jù)結(jié)構(gòu),可以降低數(shù)據(jù)庫設(shè)計的復(fù)雜性,適應(yīng)不同可變化的應(yīng)用需求,同時采用位移算法來計算索引值,可以快速的進(jìn)行索引,保證大容量數(shù)據(jù)的高效訪問。圖I是本發(fā)明實施例的可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法的流程圖。具體實施例方式以下結(jié)合對本發(fā)明的實施例作進(jìn)一步詳細(xì)描述,但本實施例并不用于限制本發(fā)明,凡是采用本發(fā)明的相似結(jié)構(gòu)及其相似變化,均應(yīng)列入本發(fā)明的保護(hù)范圍。如圖I所示,本發(fā)明實施例所提供的一種可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法,其特征在于,具體步驟如下1)建立一個數(shù)據(jù)庫表TabVar,并在數(shù)據(jù)庫表TabVar中建立6個字段分別為ID,index,table,fragment,tablerec,varvalue;2)為具體應(yīng)用建立n個數(shù)據(jù)結(jié)構(gòu),每個數(shù)據(jù)結(jié)構(gòu)均包含有至少一個表字段,這里n>0;為每個數(shù)據(jù)結(jié)構(gòu)分配一個唯一的表號,為每個表字段分配一個在該表字段所屬數(shù)據(jù)結(jié)構(gòu)中唯一的表字段號;3)設(shè)數(shù)據(jù)庫表TabVar的記錄為庫表記錄,數(shù)據(jù)結(jié)構(gòu)的記錄為結(jié)構(gòu)記錄,則所有結(jié)構(gòu)記錄均存儲在數(shù)據(jù)庫表TabVar中,每條結(jié)構(gòu)記錄均分配有一個在該記錄所屬數(shù)據(jù)結(jié)構(gòu)中唯一的記錄號;數(shù)據(jù)庫表TabVar中,為每條結(jié)構(gòu)記錄的每個表字段建立一條庫表記錄,每條庫表記錄中為ID字段分配一個在數(shù)據(jù)庫表TabVar中唯一的ID編號;為index字段生成一個在數(shù)據(jù)庫表TabVar中唯一的索引值;table字段的值為結(jié)構(gòu)記錄所屬數(shù)據(jù)結(jié)構(gòu)的表號;fragment字段的值為結(jié)構(gòu)記錄所屬表字段的表字段號;tablerec字段的值為結(jié)構(gòu)記錄的記錄號;varvalue字段的值為結(jié)構(gòu)記錄所屬表字段的值;如,表號為Ttl的數(shù)據(jù)結(jié)構(gòu)有4個表字段,分別為ID,fragl,frag2,frag3;如果Ttl有A條結(jié)構(gòu)記錄,則將Ttl中的結(jié)構(gòu)記錄全部存入數(shù)據(jù)庫表TabVar中后,在數(shù)據(jù)庫表TabVar中會產(chǎn)生4A條數(shù)據(jù)結(jié)構(gòu)Tci的庫表記錄。本發(fā)明實施例的所述步驟3中,每條庫表記錄的index字段值生成步驟如下3.I)將該條庫表記錄中的字段table,fragment,tablerec,按照數(shù)值組合成一字符串newStr,字符串newStr中每個字段占據(jù)8個字符位,不夠8個字符的補入字符“0”,以保證所生成的字符串newStr的唯一'丨生;3.2)令index字段的值為24,i=0;3.3)采用位移方式生成index字段值,其生成公式為index=((index<<k0)'(index>>kl))'newStr[i]式中,index為index字段值,newStr[i]為字符串newStr中的第i個字符,indexk0是指將index字段的二進(jìn)制值左移k0位,indexkl是指將index字段的二進(jìn)制值右移kl位,符號“~”為異或操作符,k0為左操作常數(shù),kl為右操作常數(shù),這里k0=5,kl=27;3.4)如果i值小于24,則令i遞增I后返回4.3步驟,反之則將index字段值存入庫表記錄的index字段。本發(fā)明實施例可根據(jù)數(shù)據(jù)庫表TabVar中各庫表記錄的table字段、fragment字段、tablerec字段訪問各個數(shù)據(jù)結(jié)構(gòu),讀取各個數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)記錄;本發(fā)明實施例可根據(jù)步驟4計算出數(shù)據(jù)庫表TabVar中各庫表記錄的index字段值,再根據(jù)計算出的index字段值,從出數(shù)據(jù)庫表TabVar中快速找到對應(yīng)的庫表記錄,實現(xiàn)對數(shù)據(jù)結(jié)構(gòu)的高效訪問。權(quán)利要求1.一種可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法,其特征在于,具體步驟如下1)建立一個數(shù)據(jù)庫表TabVar,并在數(shù)據(jù)庫表TabVar中建立6個字段分別為ID,index,table,fragment,tablerec,varvalue;2)為具體應(yīng)用建立n個數(shù)據(jù)結(jié)構(gòu),每個數(shù)據(jù)結(jié)構(gòu)均包含有至少一個表字段,這里η>0;為每個數(shù)據(jù)結(jié)構(gòu)分配一個唯一的表號,為每個表字段分配一個在該表字段所屬數(shù)據(jù)結(jié)構(gòu)中唯一的表字段號;3)設(shè)數(shù)據(jù)庫表TabVar的記錄為庫表記錄,數(shù)據(jù)結(jié)構(gòu)的記錄為結(jié)構(gòu)記錄,則所有結(jié)構(gòu)記錄均存儲在數(shù)據(jù)庫表TabVar中,每條結(jié)構(gòu)記錄均分配有一個在該記錄所屬數(shù)據(jù)結(jié)構(gòu)中唯一的記錄號;數(shù)據(jù)庫表TabVar中,為每條結(jié)構(gòu)記錄的每個表字段建立一條庫表記錄,每條庫表記錄中為ID字段分配一個在數(shù)據(jù)庫表TabVar中唯一的ID編號;為index字段生成一個在數(shù)據(jù)庫表TabVar中唯一的索引值;table字段的值為結(jié)構(gòu)記錄所屬數(shù)據(jù)結(jié)構(gòu)的表號;fragment字段的值為結(jié)構(gòu)記錄所屬表字段的表字段號;tablerec字段的值為結(jié)構(gòu)記錄的記錄號;varvalue字段的值為結(jié)構(gòu)記錄所屬表字段的值。2.根據(jù)權(quán)利要求I所述的可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法,其特征在于所述步驟3中,每條庫表記錄的index字段值生成步驟如下.3.I)將該條庫表記錄中的字段table,fragment,tablerec,按照數(shù)值組合成一字符串newStr,字符串newStr中每個字段占據(jù)8個字符位,不夠8個字符的補入字符“O”,以保證所生成的字符串newStr的唯一'丨生;.3.2)令index字段的值為24,i=0;.3.3)采用位移方式生成index字段值,其生成公式為index=((index<<kO)'(index>>kl))'newStr[i]式中,index為index字段值,newStr[i]為字符串newStr中的第i個字符,indexkO是指將index字段的二進(jìn)制值左移kO位,indexkl是指將index字段的二進(jìn)制值右移kl位,符號“~”為異或操作符,kO為左操作常數(shù),kl為右操作常數(shù),這里k0=5,kl=27;.3.4)如果i值小于24,則令i遞增I后返回4.3步驟,反之則將index字段值存入庫表記錄的index字段。全文摘要一種可變數(shù)據(jù)結(jié)構(gòu)的位移存儲方法,涉及數(shù)據(jù)存儲
技術(shù)領(lǐng)域
,所解決的是提高數(shù)據(jù)結(jié)構(gòu)可擴(kuò)展性的同時,保證數(shù)據(jù)庫訪問效率的技術(shù)問題。該方法的具體步驟如下1)建立一個數(shù)據(jù)庫表,并在數(shù)據(jù)庫表中建立6個字段;2)為具體應(yīng)用建立數(shù)據(jù)結(jié)構(gòu);3)將所有數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)記錄均存儲在數(shù)據(jù)庫表中,數(shù)據(jù)庫表為每條結(jié)構(gòu)記錄的每個表字段建立一條庫表記錄,并為每條庫表記錄生成一個唯一的索引值。本發(fā)明提供的方法,數(shù)據(jù)結(jié)構(gòu)可擴(kuò)展性及數(shù)據(jù)庫訪問效率高。文檔編號G06F17/30GK102902727SQ20121032908公開日2013年1月30日申請日期2012年9月7日優(yōu)先權(quán)日2012年9月7日發(fā)明者王曼,羅昌智,李昌,張如明,高飛申請人:上海申瑞繼保電氣有限公司,四川省納溪供電有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1