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

一種處理blob類型數(shù)據(jù)的方法、裝置及智能卡的制作方法

文檔序號(hào):6336114閱讀:256來(lái)源:國(guó)知局
專利名稱:一種處理blob類型數(shù)據(jù)的方法、裝置及智能卡的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及智能卡技術(shù)領(lǐng)域,特別涉及一種處理BLOB (Binary Large Objects,二 進(jìn)制大對(duì)象)類型數(shù)據(jù)的方法、裝置及智能卡。
背景技術(shù)
BLOB (binary large object,二進(jìn)制大對(duì)象)是一個(gè)可以存儲(chǔ)二進(jìn)制文件的容器。 在計(jì)算機(jī)中,BLOB常常是數(shù)據(jù)庫(kù)中用來(lái)存儲(chǔ)二進(jìn)制文件的字段類型。因此稱BOLB中存儲(chǔ)的 數(shù)據(jù)為BLOB類型數(shù)據(jù)。隨著多媒體技術(shù)的日益普及,圖像、動(dòng)畫(huà)和聲音等需要保存的數(shù)據(jù) 越來(lái)越多,通常,使用BLOB來(lái)保存這些大型的二進(jìn)制對(duì)象,因此,BLOB是一個(gè)大文件,典型 的BLOB是一張圖片或一個(gè)聲音文件。BLOB類型數(shù)據(jù)的特點(diǎn)是數(shù)據(jù)量龐大、占用空間較多, 處理起來(lái)既費(fèi)時(shí)又費(fèi)空間。
普通數(shù)據(jù)庫(kù)一般都默認(rèn)支持BLOB類型數(shù)據(jù)的處理,在處理時(shí),直接在數(shù)據(jù)庫(kù)表的 記錄中加入BLOB類型數(shù)據(jù)即可,具體為在插入記錄時(shí),將BLOB類型數(shù)據(jù)連同其他字段數(shù)據(jù) 一并輸入給記錄插入接口,因此,普通數(shù)據(jù)庫(kù)處理BLOB類型數(shù)據(jù)的前提條件是內(nèi)存較大, 可以支持大數(shù)據(jù)量的處理。
但是,對(duì)于嵌入式數(shù)據(jù)庫(kù)來(lái)講,由于嵌入式數(shù)據(jù)庫(kù)的可用內(nèi)存資源極少,如果數(shù)據(jù) 庫(kù)表中的記錄過(guò)于龐大則會(huì)無(wú)法處理,例如,智能卡內(nèi)的數(shù)據(jù)庫(kù)目前僅支持單條記錄一次 性輸入輸出的方式,即在算法實(shí)現(xiàn)上采用事先申請(qǐng)與單條記錄的大小相匹配的內(nèi)存空間, 用于處理輸入輸出的記錄,但是,由于包含BLOB類型數(shù)據(jù)的記錄大小變化不定,且可能極 大,而智能卡內(nèi)可用內(nèi)存資源又很少。因此,一般情況下,無(wú)法支持BLOB類型數(shù)據(jù)的處理。發(fā)明內(nèi)容
本發(fā)明提供一種處理二進(jìn)制大對(duì)象(Binary Large Objects, BLOB)數(shù)據(jù)的方法、 裝置及智能卡,用以解決現(xiàn)有技術(shù)中嵌入式數(shù)據(jù)庫(kù)不支持BLOB數(shù)據(jù)的問(wèn)題。
一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的方法,包括
確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄時(shí),在創(chuàng)建的記錄中設(shè)置 BLOB字段;
將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件中,并在所述BLOB 字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息;
接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄中的BLOB字段中 存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件;
根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。
一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的裝置,包括
創(chuàng)建單元,用于確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄時(shí),在創(chuàng)建的 記錄中設(shè)置BLOB字段;
存儲(chǔ)單元,用于將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件中,并在所述BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息;
接收單元,用于接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄中 的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件;
處理單元,用于根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。
一種智能卡,包括上述一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的裝置。
本發(fā)明實(shí)施例中,通過(guò)將數(shù)據(jù)庫(kù)表記錄中的BLOB數(shù)據(jù)存儲(chǔ)為單獨(dú)的BLOB文件,僅 在數(shù)據(jù)庫(kù)表的記錄中保存相應(yīng)的BLOB文件信息,從而使得嵌入式數(shù)據(jù)庫(kù)可以支持BLOB數(shù) 據(jù)的處理。


圖1為本發(fā)明實(shí)施例中處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的方法流程圖2為本發(fā)明實(shí)施例中處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的裝置結(jié)構(gòu)圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種處理BLOB類型數(shù)據(jù)的方法、裝置及智能卡,用以解決現(xiàn) 有技術(shù)中嵌入式數(shù)據(jù)庫(kù)不支持BLOB類型數(shù)據(jù)的問(wèn)題。
本發(fā)明實(shí)施例提供了一種處理BLOB類型數(shù)據(jù)的方法,該方法可以應(yīng)用于嵌入式 數(shù)據(jù)庫(kù)管理平臺(tái)SuperDB中,嵌入式數(shù)據(jù)庫(kù)管理平臺(tái)SuperDB是基于文件分配表(File Allocation Table,FAT)文件系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)管理平臺(tái),在該數(shù)據(jù)庫(kù)管理平臺(tái)中,將數(shù) 據(jù)庫(kù)表中用戶記錄、索引信息、安全訪問(wèn)控制信息及相關(guān)的數(shù)據(jù)庫(kù)配置信息存儲(chǔ)在數(shù)據(jù)庫(kù) 文件里,當(dāng)數(shù)據(jù)庫(kù)運(yùn)行時(shí),從數(shù)據(jù)庫(kù)文件里讀取數(shù)據(jù)庫(kù)配置信息、索引信息、數(shù)據(jù)庫(kù)表中記 錄及字段等信息到內(nèi)存中,并在運(yùn)行過(guò)程中保持內(nèi)存與數(shù)據(jù)庫(kù)文件同步。
本發(fā)明實(shí)施例提供的一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的方法,如圖1所示, 包括
SlOl 確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄時(shí),在創(chuàng)建的記錄中設(shè) 置BLOB字段。
S102 將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件中,并在所述 BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息。
較佳的,所述BLOB文件對(duì)應(yīng)的信息包括BLOB文件的編號(hào)和BLOB文件的大小。
較佳的,在所述BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息時(shí),還包括將當(dāng)前最 大的BLOB文件的編號(hào)存儲(chǔ)到BLOB編號(hào)文件中;或者,將當(dāng)前所有BLOB文件的編號(hào)存儲(chǔ)到 BLOB編號(hào)文件中。通過(guò)存儲(chǔ)當(dāng)前BLOB文件的編號(hào),使得在下次創(chuàng)建BLOB文件時(shí)可以快速 根據(jù)編號(hào)信息確定正在創(chuàng)建的BLOB文件的編號(hào),以便于查找和操作。
S103 接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄中的BLOB字 段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件。
S104 根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。
較佳的,所述根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理,具體 包括當(dāng)所述處理請(qǐng)求為刪除所述創(chuàng)建的記錄的請(qǐng)求時(shí),刪除所述創(chuàng)建的記錄和根據(jù)所述 創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件;或,當(dāng)所述處理請(qǐng)求為更新所述創(chuàng)建的記錄的請(qǐng)求時(shí),更新所述創(chuàng)建的記錄和根據(jù)所述創(chuàng)建的記 錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件;或,當(dāng)所述處理 請(qǐng)求為輸出所述創(chuàng)建的記錄的請(qǐng)求時(shí),將所述創(chuàng)建的記錄和根據(jù)所述創(chuàng)建的記錄中的BLOB 字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件分別通過(guò)不同的函數(shù)接口輸 出,其中,BLOB文件對(duì)應(yīng)的函數(shù)接口支持?jǐn)?shù)據(jù)流的分包處理。
較佳的,所述根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中數(shù)據(jù)進(jìn)行處理步驟之 后,進(jìn)一步包括存儲(chǔ)所述創(chuàng)建的記錄中的BLOB字段名和所述BLOB字段名對(duì)應(yīng)的BLOB文 件的編號(hào)。
下面詳細(xì)介紹一下上述方法中的具體實(shí)現(xiàn)細(xì)節(jié)。一般情況下,數(shù)據(jù)庫(kù)文件中的用 戶記錄是通過(guò)數(shù)據(jù)庫(kù)表的形式存儲(chǔ)的,數(shù)據(jù)庫(kù)表中的記錄采用定長(zhǎng)格式存儲(chǔ),因此,在創(chuàng)建 數(shù)據(jù)庫(kù)表時(shí)要事先確定數(shù)據(jù)庫(kù)表內(nèi)的定長(zhǎng)記錄的大小,各個(gè)定長(zhǎng)記錄以順序方式存儲(chǔ)在數(shù) 據(jù)庫(kù)表中。
在本發(fā)明實(shí)施例中,為了在內(nèi)存資源極少的嵌入式數(shù)據(jù)庫(kù)中支持對(duì)于需包含BLOB 類型數(shù)據(jù)的記錄的操作,將記錄中需包含的BLOB類型數(shù)據(jù)和所述記錄分別進(jìn)行存儲(chǔ)和傳 輸,即將數(shù)據(jù)庫(kù)表記錄中所包含的BLOB類型數(shù)據(jù)單獨(dú)存儲(chǔ)為一個(gè)獨(dú)立的BLOB文件,由于數(shù) 據(jù)庫(kù)表中有多條記錄,每條記錄都可能包含一個(gè)甚至更多的BLOB文件,因此,數(shù)據(jù)庫(kù)中一 定存儲(chǔ)有多個(gè)BLOB文件,為了對(duì)多個(gè)BLOB文件進(jìn)行有效管理,需要對(duì)這些BLOB文件進(jìn)行 統(tǒng)一編號(hào),例如,可以從“00000001”開(kāi)始對(duì)BLOB文件進(jìn)行編號(hào),每增加一個(gè)BLOB文件,則 編號(hào)加一。這些BLOB文件是包含在具體的數(shù)據(jù)庫(kù)表記錄里的,在操作具體的數(shù)據(jù)庫(kù)表記錄 時(shí)需要用到這些BLOB文件。也可以說(shuō),一個(gè)BLOB文件對(duì)應(yīng)著一條數(shù)據(jù)庫(kù)表記錄,即BLOB 文件和數(shù)據(jù)庫(kù)表記錄之間存在一定的映射關(guān)系,而這種映射關(guān)系則是通過(guò)數(shù)據(jù)庫(kù)表記錄中 的相應(yīng)字段來(lái)體現(xiàn)的。在數(shù)據(jù)庫(kù)表的一條記錄中包含多個(gè)字段,為了存儲(chǔ)該記錄中包含的 BLOB類型數(shù)據(jù),在創(chuàng)建記錄時(shí),需要指定某個(gè)字段為BLOB字段,在該字段中,并不存儲(chǔ)實(shí)際 的BLOB類型數(shù)據(jù),而僅存儲(chǔ)該BLOB類型數(shù)據(jù)對(duì)應(yīng)的BLOB文件的編號(hào)以及該BLOB文件的 大小。
對(duì)該記錄進(jìn)行操作時(shí),為了讀取其中的BLOB類型數(shù)據(jù),需要根據(jù)記錄中的BLOB字 段得到BLOB文件的編號(hào)和BLOB文件的大小,根據(jù)編號(hào)信息查找數(shù)據(jù)庫(kù)中統(tǒng)一編號(hào)的BLOB 文件,并根據(jù)BLOB文件的大小以及嵌入式數(shù)據(jù)庫(kù)的內(nèi)存空間,將BLOB文件分為多個(gè)數(shù)據(jù)包 串行傳輸。數(shù)據(jù)庫(kù)表記錄以及其中包含的BLOB類型數(shù)據(jù)對(duì)應(yīng)的BLOB文件都通過(guò)個(gè)人電腦/ 智能卡(Personal Computer/SmartCard,PC/SC)接口進(jìn)行傳輸,但是,為了適應(yīng)嵌入式數(shù)據(jù) 庫(kù)內(nèi)存容量小的特點(diǎn),本發(fā)明實(shí)施例中傳輸用戶記錄時(shí),在軟件上設(shè)計(jì)了兩個(gè)函數(shù)接口,即 邏輯接口,其中,一個(gè)邏輯接口與現(xiàn)有的嵌入式數(shù)據(jù)庫(kù)傳輸記錄時(shí)的接口相同,即數(shù)據(jù)庫(kù)記 錄接口;另一個(gè)邏輯接口則是本發(fā)明新增的接口,即用于傳輸BLOB類型數(shù)據(jù)的BLOB接口。 具體傳輸時(shí),數(shù)據(jù)庫(kù)表記錄通過(guò)數(shù)據(jù)庫(kù)記錄接口進(jìn)行傳輸,而數(shù)據(jù)庫(kù)表記錄中包含的BLOB 類型數(shù)據(jù)對(duì)應(yīng)的BLOB文件,即數(shù)據(jù)庫(kù)表記錄中的BLOB字段對(duì)應(yīng)的BLOB文件則通過(guò)新增的 BLOB接口進(jìn)行傳輸。由于BLOB文件較大,所以在傳輸時(shí)可將BLOB文件分成若干數(shù)據(jù)包串 行傳輸。
下面舉例說(shuō)明本發(fā)明實(shí)施例中創(chuàng)建數(shù)據(jù)庫(kù)表的方法。在現(xiàn)有的數(shù)據(jù)庫(kù)管理平臺(tái) 中,例如,創(chuàng)建數(shù)據(jù)庫(kù)表時(shí)記錄中包含的字段格式為{ “FirStName,9”,“LastName,6”,“Sex,1”,“PostCode,8” "Photo, 12”},當(dāng)用戶需要將“Photo,12” 這一字段指定為 BLOB 類 型的字段時(shí),則“Wioto,12”這一字段的格式升級(jí)為“Wioto,12,BL0B”,即在現(xiàn)有格式的基 礎(chǔ)上加上“BLOB”并用“,”分隔。本發(fā)明實(shí)施例中支持將同一記錄中的多個(gè)字段指定為BLOB 類型。在BLOB字段中一般存儲(chǔ)有BLOB文件的編號(hào)和大小等信息,其中,BLOB文件編號(hào)和 大小等信息可以設(shè)置為隱藏屬性,即只在數(shù)據(jù)庫(kù)文件內(nèi)部維護(hù),而不對(duì)用戶顯示,因?yàn)槲募?編號(hào)等信息只是數(shù)據(jù)庫(kù)操作時(shí)所需的,而用戶并不需要知曉這些信息。通過(guò)將BLOB文件編 號(hào)和大小等與用戶無(wú)關(guān)的信息設(shè)置為隱藏屬性,即對(duì)用戶不可見(jiàn),使得用戶在操作數(shù)據(jù)庫(kù) 表時(shí)可以更加明了的看到所需信息,從而提高操作效率,避免了用戶在一堆繁雜的數(shù)據(jù)中 尋找自己需要的信息而浪費(fèi)時(shí)間。
較佳的,為了便于查找BLOB文件,可以在數(shù)據(jù)庫(kù)中額外存儲(chǔ)一個(gè)BLOB編號(hào)文件, 在該編號(hào)文件中存儲(chǔ)當(dāng)前最大的BLOB文件編號(hào)信息,即當(dāng)前BLOB文件總數(shù),并根據(jù)操作進(jìn) 行相應(yīng)的更新,通過(guò)查找該BLOB文件,可以方便的獲知當(dāng)前BLOB文件的數(shù)目以及編號(hào)信 息。當(dāng)然,如果存儲(chǔ)容量允許,也可以在該編號(hào)文件中存儲(chǔ)所有BLOB文件的編號(hào)信息,以便 于查找。
另外,還可以在數(shù)據(jù)庫(kù)中存儲(chǔ)一個(gè)字段-BLOB文件編號(hào)綁定表,在該綁定表中,存 儲(chǔ)當(dāng)前操作的、涉及到BLOB文件的記錄中包含的字段名和BLOB文件編號(hào)等信息,該綁定表 根據(jù)操作過(guò)程相應(yīng)進(jìn)行更新。通過(guò)查找該綁定表,可以更好的獲知數(shù)據(jù)庫(kù)表中的記錄和相 應(yīng)的BLOB文件的對(duì)應(yīng)關(guān)系,從而便于實(shí)現(xiàn)二者的同步。當(dāng)然,如果存儲(chǔ)容量允許,也可以在 該綁定表中存儲(chǔ)所有記錄中包含的字段名和BLOB文件編號(hào)等信息,以便于查找。
通過(guò)采用本發(fā)明實(shí)施例提供的方法,將數(shù)據(jù)庫(kù)表記錄中包含的BLOB數(shù)據(jù)和數(shù)據(jù) 庫(kù)表記錄分別存儲(chǔ),其中,數(shù)據(jù)庫(kù)表記錄可以創(chuàng)建為定長(zhǎng)格式,只在其中的BLOB字段中存 儲(chǔ)包含的BLOB數(shù)據(jù)對(duì)應(yīng)的BLOB文件編號(hào)等信息。在操作時(shí),根據(jù)數(shù)據(jù)庫(kù)表記錄中的BLOB 字段的信息獲取相應(yīng)的BLOB文件,獲取到的BLOB文件通過(guò)新增的函數(shù)接口進(jìn)行傳輸,并 且,可以將BLOB文件分為多個(gè)數(shù)據(jù)包分別傳輸,從而可以在內(nèi)存有限的嵌入式數(shù)據(jù)庫(kù)中支 持BLOB數(shù)據(jù)。
下面介紹一下采用本發(fā)明實(shí)施例提供的方法組織數(shù)據(jù)庫(kù)表中的記錄時(shí),如何進(jìn)行 插入、刪除、更新及輸出等操作。
插入記錄之前,首先,計(jì)算最新的BLOB文件編號(hào),具體計(jì)算時(shí),可以根據(jù)BLOB編號(hào) 文件直接得到當(dāng)前BLOB文件的最大編號(hào),然后,在當(dāng)前BLOB文件最大編號(hào)的基礎(chǔ)上加一, 即得到插入的記錄中包含的BLOB數(shù)據(jù)對(duì)應(yīng)的BLOB文件編號(hào),將該編號(hào)寫(xiě)入插入記錄中對(duì) 應(yīng)字段的位置,并設(shè)置為隱藏屬性。同時(shí),利用新增的函數(shù)接口將插入記錄中包含的BLOB 數(shù)據(jù)流寫(xiě)入以該編號(hào)命名的BLOB文件中。
刪除記錄之前,首先,遍歷該記錄中所有BLOB字段,根據(jù)BLOB字段中存儲(chǔ)的BLOB 文件編號(hào)信息,查找到對(duì)應(yīng)的BLOB文件,在刪除該記錄的同時(shí),刪除查找到的與該記錄相 關(guān)的所有BLOB文件。需要說(shuō)明的是,在刪除某條記錄及其包含的所有BLOB文件后,并不需 要對(duì)剩余的BLOB文件編號(hào)進(jìn)行調(diào)整,因?yàn)椋诒景l(fā)明中采用八位編號(hào),完全可以滿足BLOB 文件的數(shù)量要求,所以不需要對(duì)剩余的BLOB文件編號(hào)進(jìn)行調(diào)整以回收編號(hào)。相反,如果對(duì) 剩余的BLOB文件編號(hào)進(jìn)行調(diào)整,則勢(shì)必會(huì)涉及到多條記錄的同步更新,操作復(fù)雜且容易出講t曰ο
更新記錄之前,如果需要更新的字段包含BLOB字段,首先,根據(jù)記錄中的BLOB字 段中存儲(chǔ)的BLOB文件編號(hào)信息,查找到對(duì)應(yīng)的BLOB文件,然后,可以通過(guò)新增的函數(shù)接口 對(duì)BLOB文件進(jìn)行更新,即覆蓋原有的BLOB文件,并相應(yīng)的更新BLOB字段中的相關(guān)信息,如 文件大小等。
輸出記錄之前,首先,根據(jù)BLOB字段中存儲(chǔ)的BLOB文件編號(hào)信息,查找到對(duì)應(yīng)的 BLOB文件,然后,將該記錄通過(guò)數(shù)據(jù)庫(kù)記錄接口輸出,而將查找到的BLOB文件通過(guò)BLOB接 口輸出,該BLOB接口支持大數(shù)據(jù)流的分包處理機(jī)制,可以將BLOB大數(shù)據(jù)流進(jìn)行分包處理, 最大可支持4GB的單個(gè)數(shù)據(jù)流。通過(guò)分包處理的方式,可以將大的BLOB數(shù)據(jù)分為多個(gè)小的 數(shù)據(jù)包,這些數(shù)據(jù)包依次傳輸?shù)絻?nèi)存中進(jìn)行處理,因此,適合于在嵌入式數(shù)據(jù)庫(kù)等小容量的 設(shè)備中處理。
通過(guò)采用本發(fā)明實(shí)施例提供的方法,通過(guò)將數(shù)據(jù)庫(kù)表記錄和BLOB數(shù)據(jù)分別存儲(chǔ)、 傳輸,并在傳輸時(shí)可以對(duì)BLOB數(shù)據(jù)進(jìn)行分包處理,從而可在內(nèi)存資源極少的嵌入式數(shù)據(jù)庫(kù) 中支持BLOB數(shù)據(jù)的處理。
本發(fā)明實(shí)施例還提供了一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的裝置,如圖2所 示,包括
創(chuàng)建單元21,用于確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄,在創(chuàng)建的 記錄中設(shè)置BLOB字段;
存儲(chǔ)單元22,用于將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件 中,并在所述BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息;
接收單元23,用于接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄 中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件;
處理單元對(duì),用于根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。
通過(guò)采用本發(fā)明實(shí)施例中的裝置,將數(shù)據(jù)庫(kù)表記錄中的BLOB數(shù)據(jù)單獨(dú)存儲(chǔ),從而 可以在嵌入式數(shù)據(jù)庫(kù)等小容量存儲(chǔ)設(shè)備上支持BLOB數(shù)據(jù)的處理。
較佳的,所述處理單元對(duì),包括
刪除單元,用于當(dāng)所述處理請(qǐng)求為刪除所述創(chuàng)建的記錄請(qǐng)求時(shí),刪除所述創(chuàng)建的 記錄和根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的 BLOB文件;
更新單元,用于當(dāng)所述處理請(qǐng)求為更新所述創(chuàng)建的記錄的請(qǐng)求時(shí),更新所述創(chuàng)建 的記錄和根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的 BLOB文件;
輸出單元,用于當(dāng)所述處理請(qǐng)求為輸出所述創(chuàng)建的記錄的請(qǐng)求時(shí),將所述創(chuàng)建的 記錄和根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的 BLOB文件分別通過(guò)不同的函數(shù)接口輸出,其中,BLOB文件對(duì)應(yīng)的函數(shù)接口支持?jǐn)?shù)據(jù)流的分 包處理。
較佳的,所述存儲(chǔ)單元22,還用于將當(dāng)前最大的BLOB文件的編號(hào)存儲(chǔ)到BLOB編 號(hào)文件中;或,所述存儲(chǔ)單元,還用于將當(dāng)前所有BLOB文件的編號(hào)存儲(chǔ)到BLOB編號(hào)文件中。 通過(guò)存儲(chǔ)當(dāng)前BLOB文件的編號(hào),使得在下次創(chuàng)建BLOB文件時(shí)可以快速根據(jù)編號(hào)信息確定 正在創(chuàng)建的BLOB文件的編號(hào),以便于查找和操作。
較佳的,所述存儲(chǔ)單元22,還用于存儲(chǔ)所述創(chuàng)建的記錄中的BLOB字段名和所述 BLOB字段名對(duì)應(yīng)的BLOB文件的編號(hào),從而便于處理記錄。
本發(fā)明實(shí)施例還提供了一種智能卡,包括上述的處理二進(jìn)制大對(duì)象BLOB類型數(shù) 據(jù)的裝置。該智能卡可以支持BLOB數(shù)據(jù)的處理。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的方法,其特征在于,包括確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄時(shí),在創(chuàng)建的記錄中設(shè)置BLOB字段;將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件中,并在所述BLOB字段 中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息;接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ) 的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件;根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的 記錄中的數(shù)據(jù)進(jìn)行處理,具體包括當(dāng)所述處理請(qǐng)求為刪除所述創(chuàng)建的記錄的請(qǐng)求時(shí),刪除所述創(chuàng)建的記錄和根據(jù)所述創(chuàng) 建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件;或,當(dāng)所述處理請(qǐng)求為更新所述創(chuàng)建的記錄的請(qǐng)求時(shí),更新所述創(chuàng)建的記錄和根據(jù)所述創(chuàng) 建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件;或,當(dāng)所述處理請(qǐng)求為輸出所述創(chuàng)建的記錄的請(qǐng)求時(shí),將所述創(chuàng)建的記錄和根據(jù)所述創(chuàng)建 的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件分別通過(guò)不 同的函數(shù)接口輸出,其中,BLOB文件對(duì)應(yīng)的函數(shù)接口支持?jǐn)?shù)據(jù)流的分包處理。
3.如權(quán)利要求1所述的方法,其特征在于,所述BLOB文件對(duì)應(yīng)的信息包括BLOB文件的 編號(hào)和BLOB文件的大小。
4.如權(quán)利要求3所述的方法,其特征在于,在所述BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng) 的信息時(shí),還包括將當(dāng)前最大的BLOB文件的編號(hào)存儲(chǔ)到BLOB編號(hào)文件中;或者,將當(dāng)前所有BLOB文件 的編號(hào)存儲(chǔ)到BLOB編號(hào)文件中。
5.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的 記錄中的數(shù)據(jù)進(jìn)行處理之后,進(jìn)一步包括存儲(chǔ)所述創(chuàng)建的記錄中的BLOB字段名和所述BLOB字段名對(duì)應(yīng)的BLOB文件的編號(hào)。
6.如權(quán)利要求1所述的方法,其特征在于,將所述BLOB字段中存儲(chǔ)的BLOB文件對(duì)應(yīng)的 信息的屬性設(shè)置為隱藏。
7.—種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的裝置,其特征在于,包括創(chuàng)建單元,用于確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄時(shí),在創(chuàng)建的記錄 中設(shè)置BLOB字段;存儲(chǔ)單元,用于將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件中,并在 所述BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息;接收單元,用于接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄中的 BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件;處理單元,用于根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。
8.如權(quán)利要求7所述的裝置,其特征在于,所述處理單元,包括刪除單元,用于當(dāng)所述處理請(qǐng)求為刪除所述創(chuàng)建的記錄請(qǐng)求時(shí),刪除所述創(chuàng)建的記錄 和根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB文件;更新單元,用于當(dāng)所述處理請(qǐng)求為更新所述創(chuàng)建的記錄的請(qǐng)求時(shí),更新所述創(chuàng)建的記 錄和根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB 文件;輸出單元,用于當(dāng)所述處理請(qǐng)求為輸出所述創(chuàng)建的記錄的請(qǐng)求時(shí),將所述創(chuàng)建的記錄 和根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息查找到的BLOB 文件分別通過(guò)不同的函數(shù)接口輸出,其中,BLOB文件對(duì)應(yīng)的函數(shù)接口支持?jǐn)?shù)據(jù)流的分包處理。
9.如權(quán)利要求7所述的裝置,其特征在于,所述存儲(chǔ)單元,還用于將當(dāng)前最大的BLOB文 件的編號(hào)存儲(chǔ)到BLOB編號(hào)文件中;或,所述存儲(chǔ)單元,還用于將當(dāng)前所有BLOB文件的編號(hào) 存儲(chǔ)到BLOB編號(hào)文件中。
10.如權(quán)利要求7所述的裝置,其特征在于,所述存儲(chǔ)單元,還用于存儲(chǔ)所述創(chuàng)建的記錄中的BLOB字段名和所述BLOB字段名對(duì)應(yīng)的BLOB文件的編號(hào)。
11.一種智能卡,其特征在于,包括權(quán)利要求7-10中任一項(xiàng)所述的處理二進(jìn)制大對(duì)象 BLOB類型數(shù)據(jù)的裝置。
全文摘要
本發(fā)明公開(kāi)了一種處理二進(jìn)制大對(duì)象BLOB類型數(shù)據(jù)的方法、裝置及智能卡,該方法包括確定在數(shù)據(jù)庫(kù)表中創(chuàng)建需包含BLOB類型數(shù)據(jù)的記錄時(shí),在創(chuàng)建的記錄中設(shè)置BLOB字段;將需包含的BLOB類型數(shù)據(jù)存儲(chǔ)在獨(dú)立于數(shù)據(jù)庫(kù)表的BLOB文件中,并在所述BLOB字段中存儲(chǔ)所述BLOB文件對(duì)應(yīng)的信息;接收到對(duì)所述創(chuàng)建的記錄的處理請(qǐng)求時(shí),根據(jù)所述創(chuàng)建的記錄中的BLOB字段中存儲(chǔ)的所述BLOB文件對(duì)應(yīng)的信息,查找到所述信息對(duì)應(yīng)的BLOB文件;根據(jù)查找到的BLOB文件對(duì)所述創(chuàng)建的記錄中的數(shù)據(jù)進(jìn)行處理。通過(guò)采用本發(fā)明實(shí)施例提供的方法,可以在嵌入式數(shù)據(jù)庫(kù)等內(nèi)存容量小的數(shù)據(jù)庫(kù)中支持BLOB類型數(shù)據(jù)的處理。
文檔編號(hào)G06F17/30GK102043830SQ201010548169
公開(kāi)日2011年5月4日 申請(qǐng)日期2010年11月17日 優(yōu)先權(quán)日2010年11月17日
發(fā)明者張?zhí)炱?申請(qǐng)人:北京握奇數(shù)據(jù)系統(tǒng)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1