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

一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法和裝置的制作方法

文檔序號(hào):6330758閱讀:227來源:國(guó)知局
專利名稱:一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法和裝置。
背景技術(shù)
在網(wǎng)絡(luò)通信及應(yīng)用中,需要將大量數(shù)據(jù)保存在數(shù)據(jù)庫中,通常對(duì)數(shù)據(jù)庫的操作包括將數(shù)據(jù)寫入數(shù)據(jù)庫和從數(shù)據(jù)庫中讀取數(shù)據(jù)。隨著數(shù)據(jù)量和訪問需求的急劇增加,諸如RDBMS等傳統(tǒng)的數(shù)據(jù)庫承擔(dān)越來越大的負(fù)擔(dān),性能和延時(shí)越來越成為系統(tǒng)瓶頸。這樣, NO-SQL數(shù)據(jù)庫技術(shù)開始廣泛流行起來,例如memcached、redis等項(xiàng)目,這些項(xiàng)目大多采用關(guān)鍵詞-數(shù)值(key-value)技術(shù),即為每一個(gè)value分配一個(gè)key,通過該key快速存取 Value0現(xiàn)有的key-value技術(shù)可以粗略地分為兩種一種不區(qū)分value類型,例如 memcached數(shù)據(jù)庫,其對(duì)value數(shù)據(jù)的理解和操作完全由應(yīng)用程序本身執(zhí)行;另一種提供內(nèi)置類型,例如redis數(shù)據(jù)庫,其采用固定的數(shù)據(jù)類型。然而,在現(xiàn)有技術(shù)中,為每一個(gè)value數(shù)據(jù)塊分配唯一的key值,對(duì)數(shù)據(jù)庫進(jìn)行的數(shù)據(jù)操作僅能夠?qū)?shù)據(jù)塊進(jìn)行整體處理,而不能對(duì)數(shù)據(jù)塊中的字段分別進(jìn)行處理,顯然對(duì) value的操作不夠靈活。以C語言為例,如下所示struct my_struct mystruct{int a ;int b ;struct c {int d ;};
};mystruct. c. d = 1 ;//修改其中一個(gè)字段的值;使用Redis存儲(chǔ)數(shù)據(jù)H使用Credis lib,并做擴(kuò)展struct my_struct tmp ;credis_get(redis, "mystruct”,&tmp,sizeof (tmp));tmp. c. d = 1 ;credis_set(redis, "mystruct”,&tmp,sizeof(tmp));執(zhí)行上述程序?qū)?yīng)的操作后,將tmp作為key對(duì)應(yīng)的整個(gè)數(shù)據(jù)塊進(jìn)行覆蓋,而無法對(duì)tmp對(duì)應(yīng)的數(shù)據(jù)塊中某一個(gè)字段進(jìn)行修改,顯然,處理效率較低且不夠靈活。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法和裝置,以便于利用key-value技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)塊的靈活處理,提高處理效率。一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法,應(yīng)用于采用關(guān)鍵詞key-數(shù)值value技術(shù)的非結(jié)構(gòu)化查詢語言NO-SQL數(shù)據(jù)庫,根據(jù)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)塊以及數(shù)據(jù)塊的各字段進(jìn)行的類型配置,生成類型配置表,并對(duì)所述數(shù)據(jù)塊指定key ;所述類型配置表中包含數(shù)據(jù)塊的類型、數(shù)據(jù)塊的各字段的類型和地址偏移信息;該方法包括A、接收到對(duì)所述數(shù)據(jù)庫的訪問請(qǐng)求后,對(duì)訪問請(qǐng)求進(jìn)行訪問對(duì)象的解析,確定解析結(jié)果中key對(duì)應(yīng)的起始地址信息,利用解析結(jié)果中的字段名稱查找類型配置表,確定該字段名稱對(duì)應(yīng)的地址偏移信息,然后確定訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息;B、根據(jù)所述訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息,對(duì)訪問對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)處理。一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的裝置,應(yīng)用于采用關(guān)鍵詞key-數(shù)值value技術(shù)的數(shù)據(jù)庫,該裝置包括配置單元,用于根據(jù)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)塊以及數(shù)據(jù)塊的各字段進(jìn)行的類型配置, 生成類型配置表,并對(duì)所述數(shù)據(jù)塊指定key ;所述類型配置表中包含數(shù)據(jù)塊的類型、數(shù)據(jù)塊的各字段的類型和地址偏移信息;請(qǐng)求接收單元,用于接收對(duì)所述數(shù)據(jù)庫的訪問請(qǐng)求;地址確定單元,用于對(duì)所述訪問請(qǐng)求進(jìn)行訪問對(duì)象的解析,確定解析結(jié)果中key 對(duì)應(yīng)的起始地址信息,利用解析結(jié)果中的字段名稱查找類型配置表,確定該字段名稱對(duì)應(yīng)的地址偏移信息,然后確定訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息;數(shù)據(jù)處理單元,用于根據(jù)所述訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息,對(duì)訪問對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)處理。由以上技術(shù)方案可以看出,本發(fā)明提供的方法和裝置中,對(duì)數(shù)據(jù)庫中的數(shù)據(jù)塊以及數(shù)據(jù)塊的各字段都進(jìn)行類型配置,以生成包含數(shù)據(jù)塊類型、數(shù)據(jù)塊的各字段的類型和地址偏移信息的類型配置表,在接收到對(duì)數(shù)據(jù)庫的訪問請(qǐng)求后,即便訪問對(duì)象為數(shù)據(jù)塊中的具體字段,也能夠通過查找類型配置表確定該字段在數(shù)據(jù)庫中的地址信息,從而對(duì)該具體字段進(jìn)行相應(yīng)的數(shù)據(jù)處理。也就是說,通過本發(fā)明能夠?qū)?shù)據(jù)塊中的某一個(gè)字段進(jìn)行數(shù)據(jù)處理,而不必對(duì)整個(gè)數(shù)據(jù)塊進(jìn)行數(shù)據(jù)處理,提高了處理效率,實(shí)現(xiàn)更加靈活。


圖1為本發(fā)明提供的主要方法流程圖;圖2為本發(fā)明實(shí)施例中提供的訪問對(duì)象解析的方法流程圖;圖3為本發(fā)明提供的裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明提供的主要方法可以如圖1所示,可以包括以下步驟步驟101 根據(jù)對(duì)數(shù)據(jù)庫中的value數(shù)據(jù)塊以及value數(shù)據(jù)塊的各字段進(jìn)行的類型配置,生成類型配置表;該類型配置表中包含value數(shù)據(jù)塊的類型、value數(shù)據(jù)塊的各字段的類型和地址偏移信息。步驟102 根據(jù)步驟101中的類型配置,對(duì)value數(shù)據(jù)塊指定key。步驟103 接收到對(duì)數(shù)據(jù)庫的訪問請(qǐng)求后,對(duì)訪問請(qǐng)求進(jìn)行訪問對(duì)象的解析,確定解析結(jié)果中key對(duì)應(yīng)的起始地址信息,并且利用解析結(jié)果中的字段名稱查找類型配置表, 確定該字段名稱對(duì)應(yīng)的地址偏移信息,然后確定訪問對(duì)象的地址信息。步驟104 根據(jù)訪問對(duì)象的地址信息,對(duì)訪問對(duì)象進(jìn)行相應(yīng)的處理。本步驟中,對(duì)訪問對(duì)象進(jìn)行的處理可以包括寫入數(shù)據(jù)、讀取數(shù)據(jù)或者更新數(shù)據(jù)等,具體處理可以根據(jù)訪問請(qǐng)求的處理類型確定。下面結(jié)合具體實(shí)施例分別對(duì)上述方法的各步驟進(jìn)行詳細(xì)描述。上述步驟101實(shí)際上是對(duì)數(shù)據(jù)庫進(jìn)行結(jié)構(gòu)化的模板定義,其中,不僅對(duì)value數(shù)據(jù)塊進(jìn)行類型配置,也對(duì)value數(shù)據(jù)塊中的各字段進(jìn)行類型配置。其中,各字段可以僅存在一級(jí)結(jié)構(gòu),也可以存在多級(jí)結(jié)構(gòu)即存在子字段,如果存在子字段,則可以分別對(duì)各子字段進(jìn)行類型配置。下面以C語言為例,舉一個(gè)類型配置的例子,其中,對(duì)字段的類型配置的語法采用=Define Type (結(jié)構(gòu)類型,字段名稱,字段類型,字段長(zhǎng)度),其中字段長(zhǎng)度可以采用字段包含的單元個(gè)數(shù)表示。struct my_struct{ int a ; int b[10];struct my_sub_struct{char c[20];};};使用DefineType定義如下DefineType ( "my_sub_struct", c, CHAR, 20);DefineType ( "my_struct,,,a, INT, 1);DefineType ( "my_struct,,,b, INT, 10);DefineType ( "my_struct", "my_sub_struct"my_sub_struct1)。根據(jù)上述類型配置后,可以生成如下類型配置表,該類型配置表中可以包含value 數(shù)據(jù)塊和各字段的名稱、類型和地址偏移信息,另外,如果需要實(shí)現(xiàn)訪問字段中的具體單元,則該類型配置表可以進(jìn)一步包含各字段的單元個(gè)數(shù),具體如表1所示,表1中名稱以變量名的形式表示,本發(fā)明中變量名也采用結(jié)構(gòu)化的形式,表示出該變量名所屬的value數(shù)據(jù)塊和字段名稱,還可以進(jìn)一步表示出具體的單元信息,其中,value數(shù)據(jù)塊和字段之間的隔離符可以采用點(diǎn)號(hào)‘‘.”來表示,如果字段中包含兩級(jí)以上結(jié)構(gòu),也就是說字段中可能包含子字段,則可以在各級(jí)字段之間同樣采用點(diǎn)號(hào)作為隔離符;具體的單元信息可以采用方括號(hào)“[]”來表示,例如my_Struct. b [5]可以表示value數(shù)據(jù)塊為my_Struct中的b字段的第5個(gè)單元。表 1
權(quán)利要求
1.一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法,應(yīng)用于采用關(guān)鍵詞key-數(shù)值value技術(shù)的非結(jié)構(gòu)化查詢語言NO-SQL數(shù)據(jù)庫,其特征在于,根據(jù)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)塊以及數(shù)據(jù)塊的各字段進(jìn)行的類型配置,生成類型配置表,并對(duì)所述數(shù)據(jù)塊指定key ;所述類型配置表中包含數(shù)據(jù)塊的類型、數(shù)據(jù)塊的各字段的類型和地址偏移信息;該方法包括A、接收到對(duì)所述數(shù)據(jù)庫的訪問請(qǐng)求后,對(duì)訪問請(qǐng)求進(jìn)行訪問對(duì)象的解析,確定解析結(jié)果中key對(duì)應(yīng)的起始地址信息,利用解析結(jié)果中的字段名稱查找類型配置表,確定該字段名稱對(duì)應(yīng)的地址偏移信息,然后確定訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息;B、根據(jù)所述訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息,對(duì)訪問對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述訪問請(qǐng)求包含的訪問對(duì)象信息中數(shù)據(jù)塊的key和字段名稱之間存在隔離符;如果字段中存在兩級(jí)以上結(jié)構(gòu),則所述字段名稱包括兩級(jí)以上字段名稱,且各級(jí)字段名稱之間存在隔離符;如果訪問對(duì)象信息中還包含單元信息,則字段名稱之后存在單元標(biāo)識(shí)符。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A具體包括Al、從所述訪問請(qǐng)求中解析出訪問對(duì)象的key ;A2、確定解析出的key對(duì)應(yīng)的數(shù)據(jù)塊在數(shù)據(jù)庫中的起始地址;A3、從所述訪問請(qǐng)求中解析出訪問對(duì)象的字段名稱,查找類型配置表確定解析出的字段名稱對(duì)應(yīng)的地址偏移;A4、將步驟A2確定的起始地址加上步驟A3確定的地址偏移得到所述訪問對(duì)象在數(shù)據(jù)庫中的地址信息;所述步驟B具體為從步驟A4確定的地址信息開始,對(duì)解析出的字段名稱標(biāo)識(shí)的整個(gè)字段進(jìn)行相應(yīng)的數(shù)據(jù)處理。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述步驟A2和A3之間還包括判斷解析出的key之后訪問對(duì)象信息是否結(jié)束,如果否,繼續(xù)執(zhí)行所述步驟A3 ;如果是,則執(zhí)行步驟A5 ;A5、將步驟A2確定的起始地址確定為所述訪問對(duì)象在數(shù)據(jù)庫中的地址信息,執(zhí)行步驟B ;所述步驟B具體為從步驟A5確定的地址信息開始,對(duì)解析出的key對(duì)應(yīng)的整個(gè)數(shù)據(jù)塊進(jìn)行相應(yīng)的數(shù)據(jù)處理。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,在所述步驟A3和A4之間還包括判斷解析出的字段名稱之后訪問對(duì)象信息是否結(jié)束,如果是,繼續(xù)執(zhí)行所述步驟A4;否則,執(zhí)行以下步驟A6、從訪問請(qǐng)求中解析出字段名稱之后的單元信息,利用該單元信息以及該單元信息標(biāo)識(shí)的單元所屬的字段類型,確定該單元相對(duì)于所屬字段的地址偏移;A7、將步驟A2確定的起始地址加上步驟A3確定的地址偏移,再加上步驟A5確定的地址偏移,得到所述訪問對(duì)象在數(shù)據(jù)庫中的地址信息,執(zhí)行步驟B ;所述步驟B具體為從步驟A7確定的地址信息開始,對(duì)所述單元進(jìn)行相應(yīng)的數(shù)據(jù)處理。
6.根據(jù)權(quán)利要求1至4任一權(quán)項(xiàng)所述的方法,其特征在于,所述數(shù)據(jù)處理包括寫入數(shù)據(jù)、讀取數(shù)據(jù)或更新數(shù)據(jù)。
7.—種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的裝置,應(yīng)用于采用關(guān)鍵詞key-數(shù)值value技術(shù)的數(shù)據(jù)庫,其特征在于,該裝置包括配置單元,用于根據(jù)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)塊以及數(shù)據(jù)塊的各字段進(jìn)行的類型配置,生成類型配置表,并對(duì)所述數(shù)據(jù)塊指定key ;所述類型配置表中包含數(shù)據(jù)塊的類型、數(shù)據(jù)塊的各字段的類型和地址偏移信息;請(qǐng)求接收單元,用于接收對(duì)所述數(shù)據(jù)庫的訪問請(qǐng)求;地址確定單元,用于對(duì)所述訪問請(qǐng)求進(jìn)行訪問對(duì)象的解析,確定解析結(jié)果中key對(duì)應(yīng)的起始地址信息,利用解析結(jié)果中的字段名稱查找類型配置表,確定該字段名稱對(duì)應(yīng)的地址偏移信息,然后確定訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息;數(shù)據(jù)處理單元,用于根據(jù)所述訪問對(duì)象在所述數(shù)據(jù)庫中的地址信息,對(duì)訪問對(duì)象進(jìn)行相應(yīng)的數(shù)據(jù)處理。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述訪問請(qǐng)求包含的訪問對(duì)象信息中數(shù)據(jù)塊的key和字段名稱之間存在隔離符;如果字段中存在兩級(jí)以上結(jié)構(gòu),則所述字段名稱包括兩級(jí)以上字段名稱,且各級(jí)字段名稱之間存在隔離符;如果訪問對(duì)象信息中還包含單元信息,則字段名稱之后存在單元標(biāo)識(shí)符。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述地址確定單元具體包括 解析處理子單元,用于從所述訪問請(qǐng)求中解析出訪問對(duì)象的key和字段名稱;起始地址確定子單元,用于確定所述解析子單元解析出的key對(duì)應(yīng)的數(shù)據(jù)塊在數(shù)據(jù)庫中的起始地址,并提供給地址整合子單元;偏移地址確定子單元,用于查找類型配置表,確定所述解析子單元解析出的字段名稱對(duì)應(yīng)的地址偏移,并提供給地址整合子單元;地址整合子單元,用于將接收到的起始地址加上接收到的地址偏移得到所述訪問對(duì)象在數(shù)據(jù)庫中的地址信息;所述數(shù)據(jù)處理單元確定所述解析處理子單元解析出key和字段名稱時(shí),從所述地址整合子單元確定的地址信息開始,對(duì)解析出的字段名稱標(biāo)識(shí)的整個(gè)字段進(jìn)行相應(yīng)的數(shù)據(jù)處理。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,如果所述解析處理子單元僅解析出訪問對(duì)象的key,則所述地址整合子單元將所述起始地址確定子單元提供的起始地址確定為所述訪問對(duì)象在數(shù)據(jù)庫中的地址信息;所述數(shù)據(jù)處理單元確定所述解析處理子單元僅解析出訪問對(duì)象的key時(shí),從所述地址整合子單元確定的地址信息開始,對(duì)解析出的key對(duì)應(yīng)的整個(gè)數(shù)據(jù)塊進(jìn)行相應(yīng)的數(shù)據(jù)處理。
11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,如果所述解析處理子單元除了解析出訪問對(duì)象的key和字段名稱之外,還解析出單元信息,所述偏移地址確定子單元還用于利用所述單元信息以及所述單元信息標(biāo)識(shí)的單元所屬的字段類型,確定該單元相對(duì)于所屬字段的地址偏移,將該地址偏移信息提供給所述地址整合子單元;所述數(shù)據(jù)處理單元確定所述解析處理子單元還解析出單元信息時(shí),從所述地址整合子單元確定的地址信息開始,對(duì)解析出的單元信息所標(biāo)識(shí)的單元進(jìn)行相應(yīng)的數(shù)據(jù)處理。
全文摘要
本發(fā)明提供了一種對(duì)數(shù)據(jù)庫進(jìn)行數(shù)據(jù)處理的方法和裝置,通過對(duì)數(shù)據(jù)庫中的數(shù)據(jù)塊以及數(shù)據(jù)塊的各字段進(jìn)行類型配置,以生成包含數(shù)據(jù)塊類型、數(shù)據(jù)塊的各字段的類型和地址偏移信息的類型配置表,在接收到數(shù)據(jù)庫的訪問請(qǐng)求后,即便訪問對(duì)象為數(shù)據(jù)塊中的具體字段,也能夠通過查找類型配置表確定該字段在數(shù)據(jù)庫中的地址信息,從而對(duì)具體字段進(jìn)行相應(yīng)的數(shù)據(jù)處理。本發(fā)明能夠利用key-value技術(shù)實(shí)現(xiàn)對(duì)數(shù)據(jù)塊的靈活處理,提高處理效率。
文檔編號(hào)G06F17/30GK102375854SQ20101026126
公開日2012年3月14日 申請(qǐng)日期2010年8月23日 優(yōu)先權(quán)日2010年8月23日
發(fā)明者胡小龍 申請(qǐng)人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1