[发明专利]一种基于"云计算"的出版物平台的海量数据读取方法无效

专利信息
申请号: 201210041289.2 申请日: 2012-02-23
公开(公告)号: CN103294452A 公开(公告)日: 2013-09-11
发明(设计)人: 杨际荣 申请(专利权)人: 镇江华扬信息科技有限公司
主分类号: G06F9/44 分类号: G06F9/44
代理公司: 暂无信息 代理人: 暂无信息
地址: 212009 江苏省镇江市镇江新*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 计算 出版物 平台 海量 数据 读取 方法
【说明书】:

发明涉及一种基于云计算的出版物平台的海量数据读取方法,特别涉及的是基于云计算技术的图片读取技术。

背景技术

随着信息技术和传感器技术的飞速发展 ,现代遥感数据源不断丰富 ,使得遥感影像图的数据量从以前的几兆、几十兆增长到现在的几百兆 ,甚至是几 GB、几十 GB。在这种情况下 ,如果对图像文件的处理仍采用传统的方法 ,显然是不行的。一方面,计算机硬件环境的发展已经远远不能满足图像处理的需要;另一方面 ,传统的利用文件指针方式来读取图像文件的方法,只能正确读取文件前面 231 -1(约 2GB)字节 ,所以不能满足大于 2GB以上的影像文件的读取。本文是在笔者开发的中国海岸带及近海卫星遥感综合应用系统 (Max_Deskpro)过程中,结合对海量遥感影像进行处理的要求 ,根据实际提出的一种快速读取海量图像的方法。实现该方法的主要技术包括内存映射文件技术、动态构建影像金字塔、缓存技术、图像分块技术。

发明内容

一种基于云计算的出版物平台的海量数据读取方法;本方法是利用内存映射文件,利用计算机的内存进行大量映射文件。内存映射文件在对文件进行读写操作的时候 , Win32 API和 MFC都提供了支持这些操作的函数和类 ,如 Win32 API的 WriteFile( ) , ReadFile( )和 MFC提供的 CFile类。这些函数在文件的数据量小于 ( 231 -1)字节的时候 ,在大多数场合是可以满足用户的需求。但是当文件的数据量大于 ( 231 -1)字节 (约 2GB)时候 ,就不能正确地使用 Seek( )函数定位到要读取数据的位置 ,这是因为 Seek( LONG Loff, UINT nFrom)函数提供的 Loff参数是 LONG型的 ,它最多支持 ( 231 -1)字节的偏移量。假如图像文件的数据量大于 2GB的话 ,就不能定位到 2GB以后的部分来读取数据。由于内存映射文件技术的主要函数都提供了两个 DWORD型参数来分别表示文件大小或偏移量的低 32Bits和高 32Bits,这两个参数加起来共 64Bits,因此它所支持的最大文件长度为 16EB( 264 -1字节 ),几乎可以满足对任何海量数据文件的处理。

下面对两个关键函数进行具体说明 : 

HANDLE CreateFileMapping( HANDLE hFile, 

LPSECURITY_ATTRIBUTES lpFileMappingAttributes, 

DWORD flProtect, 

DWORD dwMaximumSizeHigh, 

DWORD dwMaximumSizeLow, 

LPCTSTR lpName);

该函数创建一个文件内存映射对象 ,以告知系统文件映射对象需要多大的物理存储器。由于内存映射文件的物理存储器实际上是本地硬盘上的一个文件,而不是从系统的页文件中分配的内存 ,所以 CreateFileMapping( )函数不分配进程的地址空间 ,不占用内存空间 ,因此在实际应用中通常是一次性把整个文件创建为内存映射对象。如果要把文件中的数据映射到进程的地址空间中 ,则需要调用 MapViewofFile( )函数。该函数的具体定义如下 : 

LPVOID MapViewofFile( 

HANDLE hFileMappingObject, 

DWORD dwDesiredAccess, 

DWORD dwFileoffsetHigh, 

DWORD dwFileoffsetLow, 

DWORD dwNumberofBytesToMap );

调用该函数后 ,访问文件中的数据 ,就如同它位于内存中一样 ,这样就省去了对文件执行I/O操作的时间 ,所以它比用 CFile类和 Win32API的 WriteFile( ) , ReadFile( )速度上要快得多。在使用该函数的时候 ,由于它的返回值 LPVOID是一个 32Bits的指针类型 ,所以在处理海量数据文件的时候 ,还要进行分块映射 ,并且一次映射到进程地址空间的数据量要小于 231 -1字节数。文件内存映射的开始位置 (即文件的偏移地址)还必须满足是操作系统分配粒度的整数倍 (通常操作系统的分配粒度是 64K)。

使用内存映射文件的一般步骤:

(1)首先利用函数CreateFile( )打开一个文件内核对象;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江华扬信息科技有限公司,未经镇江华扬信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210041289.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top