[發(fā)明專利]一種基于"云計(jì)算"的出版物平臺(tái)的海量數(shù)據(jù)讀取方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201210041289.2 | 申請(qǐng)日: | 2012-02-23 |
| 公開(kāi)(公告)號(hào): | CN103294452A | 公開(kāi)(公告)日: | 2013-09-11 |
| 發(fā)明(設(shè)計(jì))人: | 楊際榮 | 申請(qǐng)(專利權(quán))人: | 鎮(zhèn)江華揚(yáng)信息科技有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 212009 江蘇省鎮(zhèn)江市鎮(zhèn)江新*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 計(jì)算 出版物 平臺(tái) 海量 數(shù)據(jù) 讀取 方法 | ||
本發(fā)明涉及一種基于云計(jì)算的出版物平臺(tái)的海量數(shù)據(jù)讀取方法,特別涉及的是基于云計(jì)算技術(shù)的圖片讀取技術(shù)。
背景技術(shù)
隨著信息技術(shù)和傳感器技術(shù)的飛速發(fā)展?,現(xiàn)代遙感數(shù)據(jù)源不斷豐富?,使得遙感影像圖的數(shù)據(jù)量從以前的幾兆、幾十兆增長(zhǎng)到現(xiàn)在的幾百兆?,甚至是幾?GB、幾十?GB。在這種情況下?,如果對(duì)圖像文件的處理仍采用傳統(tǒng)的方法?,顯然是不行的。一方面,計(jì)算機(jī)硬件環(huán)境的發(fā)展已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足圖像處理的需要;另一方面?,傳統(tǒng)的利用文件指針?lè)绞絹?lái)讀取圖像文件的方法,只能正確讀取文件前面?231?-1(約?2GB)字節(jié)?,所以不能滿足大于?2GB以上的影像文件的讀取。本文是在筆者開(kāi)發(fā)的中國(guó)海岸帶及近海衛(wèi)星遙感綜合應(yīng)用系統(tǒng)?(Max_Deskpro)過(guò)程中,結(jié)合對(duì)海量遙感影像進(jìn)行處理的要求?,根據(jù)實(shí)際提出的一種快速讀取海量圖像的方法。實(shí)現(xiàn)該方法的主要技術(shù)包括內(nèi)存映射文件技術(shù)、動(dòng)態(tài)構(gòu)建影像金字塔、緩存技術(shù)、圖像分塊技術(shù)。
發(fā)明內(nèi)容
一種基于云計(jì)算的出版物平臺(tái)的海量數(shù)據(jù)讀取方法;本方法是利用內(nèi)存映射文件,利用計(jì)算機(jī)的內(nèi)存進(jìn)行大量映射文件。內(nèi)存映射文件在對(duì)文件進(jìn)行讀寫(xiě)操作的時(shí)候?,?Win32?API和?MFC都提供了支持這些操作的函數(shù)和類?,如?Win32?API的?WriteFile(?)?,?ReadFile(?)和?MFC提供的?CFile類。這些函數(shù)在文件的數(shù)據(jù)量小于?(?231?-1)字節(jié)的時(shí)候?,在大多數(shù)場(chǎng)合是可以滿足用戶的需求。但是當(dāng)文件的數(shù)據(jù)量大于?(?231?-1)字節(jié)?(約?2GB)時(shí)候?,就不能正確地使用?Seek(?)函數(shù)定位到要讀取數(shù)據(jù)的位置?,這是因?yàn)?Seek(?LONG?Loff,?UINT?nFrom)函數(shù)提供的?Loff參數(shù)是?LONG型的?,它最多支持?(?231?-1)字節(jié)的偏移量。假如圖像文件的數(shù)據(jù)量大于?2GB的話?,就不能定位到?2GB以后的部分來(lái)讀取數(shù)據(jù)。由于內(nèi)存映射文件技術(shù)的主要函數(shù)都提供了兩個(gè)?DWORD型參數(shù)來(lái)分別表示文件大小或偏移量的低?32Bits和高?32Bits,這兩個(gè)參數(shù)加起來(lái)共?64Bits,因此它所支持的最大文件長(zhǎng)度為?16EB(?264?-1字節(jié)?),幾乎可以滿足對(duì)任何海量數(shù)據(jù)文件的處理。
下面對(duì)兩個(gè)關(guān)鍵函數(shù)進(jìn)行具體說(shuō)明?:?
HANDLE?CreateFileMapping(?HANDLE?hFile,?
LPSECURITY_ATTRIBUTES?lpFileMappingAttributes,?
DWORD?flProtect,?
DWORD?dwMaximumSizeHigh,?
DWORD?dwMaximumSizeLow,?
LPCTSTR?lpName);
該函數(shù)創(chuàng)建一個(gè)文件內(nèi)存映射對(duì)象?,以告知系統(tǒng)文件映射對(duì)象需要多大的物理存儲(chǔ)器。由于內(nèi)存映射文件的物理存儲(chǔ)器實(shí)際上是本地硬盤(pán)上的一個(gè)文件,而不是從系統(tǒng)的頁(yè)文件中分配的內(nèi)存?,所以?CreateFileMapping(?)函數(shù)不分配進(jìn)程的地址空間?,不占用內(nèi)存空間?,因此在實(shí)際應(yīng)用中通常是一次性把整個(gè)文件創(chuàng)建為內(nèi)存映射對(duì)象。如果要把文件中的數(shù)據(jù)映射到進(jìn)程的地址空間中?,則需要調(diào)用?MapViewofFile(?)函數(shù)。該函數(shù)的具體定義如下?:?
LPVOID?MapViewofFile(?
HANDLE?hFileMappingObject,?
DWORD?dwDesiredAccess,?
DWORD?dwFileoffsetHigh,?
DWORD?dwFileoffsetLow,?
DWORD?dwNumberofBytesToMap?);
調(diào)用該函數(shù)后?,訪問(wèn)文件中的數(shù)據(jù)?,就如同它位于內(nèi)存中一樣?,這樣就省去了對(duì)文件執(zhí)行I/O操作的時(shí)間?,所以它比用?CFile類和?Win32API的?WriteFile(?)?,?ReadFile(?)速度上要快得多。在使用該函數(shù)的時(shí)候?,由于它的返回值?LPVOID是一個(gè)?32Bits的指針類型?,所以在處理海量數(shù)據(jù)文件的時(shí)候?,還要進(jìn)行分塊映射?,并且一次映射到進(jìn)程地址空間的數(shù)據(jù)量要小于?231?-1字節(jié)數(shù)。文件內(nèi)存映射的開(kāi)始位置?(即文件的偏移地址)還必須滿足是操作系統(tǒng)分配粒度的整數(shù)倍?(通常操作系統(tǒng)的分配粒度是?64K)。
使用內(nèi)存映射文件的一般步驟:
(1)首先利用函數(shù)CreateFile(?)打開(kāi)一個(gè)文件內(nèi)核對(duì)象;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于鎮(zhèn)江華揚(yáng)信息科技有限公司,未經(jīng)鎮(zhèn)江華揚(yáng)信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210041289.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種電子出版物打印顯示的系統(tǒng)及其方法
- 出版物的指紋提取方法、出版物的指紋提取裝置、利用指紋的出版物識(shí)別系統(tǒng)及利用指紋的出版物識(shí)別方法
- 一種電子出版物發(fā)售方法及系統(tǒng)
- 一種電子出版物的閱讀系統(tǒng)
- 電子出版物的推薦方法及裝置
- 一種電子出版物的頁(yè)面輸出控制方法及系統(tǒng)
- 出版物處理方法和裝置
- 一種線上線下相結(jié)合的出版物管理系統(tǒng)
- 一種基于增強(qiáng)現(xiàn)實(shí)技術(shù)的智能出版物管理系統(tǒng)
- 一種基于異質(zhì)圖卷積神經(jīng)網(wǎng)絡(luò)嵌入的作者名字消歧方法





