- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工业自动化数据通讯中的超大数据文件处理
第 40卷 第 6期 有 色金属加 工 Vo1.40 No.6
2011年 12月 NONFERROUSMETALSPROCESSlNG December2011
工业 自动化数据通讯中的超大数据文件处理
张 宏
(洛阳有色金属加工设计研究院,河南 洛阳471039)
摘 要 :本文给 出了一种方便实用 的解决工业 自动化数据通讯 中超大数据文件 的读取、存储等处理方法 ,并
结合相关程序代码对具体 的实现过程进行 了介绍 。
关键词:数据采集与存储;超大数据文件操作;内存映射文件;高速数据 I/O
中图分类号 :TP317 文献标识码 :A 文章编号:1671—6795(2011)06—0059—03
在洛阳某铝加工企业开发二级计算机管理系统 位置通告给操作系统后 ,只指定 了映像文件 的路径 ,
过程中,数据采集时必须要处理超大数据文件。实际 映像的长度还没有指定 。
上在工业 自动化数据采集 、分析中,数据 的存储 、提取 文件
虚拟内存
操作是最为基本 的功能,Windows操作系统提供 的编
程接 口Win32API和微软公司提供的c++编程类库 内痒页裘
MFC均提供有支持文件处理 的函数和类 ,常用 的有
Win32API的 CreateFile()、WriteFile()、ReadFile()和
MFC提供的CFile类以及最常使用的CRuntime中的
fopen、fread、fwrite等 。一般来说 ,以上这些函数可 以
满足大多数场合的要求 ,但是对于某些特殊应用领域
所需要的动辄几十 GB、几百 GB、乃至几 TB的海量存 图 1
储 ,以通常的文件处理方法进行处理显然是行不通
的。本文将针对 内存映射文件这种大文件 的操作的 为了指定文件映射对象需要多大 的物理存储空
Windows核心编程技术展开讨论。 间还需要通过 createFileMapping()函数来创建一个文
件映射内核对象以告诉系统文件 的尺寸 以及访问文
l 内存映射文件 件的方式。在创建了文件 映射对象后 ,还必须为文件
数据保留一个地址空间区域,并把文件数据作为映射
内存映射文件并不是简单的文件 I/O操作,实际 到该区域的物理存储器进行提交(见示意图1)。
用到了Windows的核心编程技术 一一内存管理 。所 由MapViewOfFile()函数负责通过系统 的管理而
以,如果想对 内存映射文件有更深刻的认识,必须对 将文件映射对象的全部或部分映射到进程地址空间。
Windows操作系统的内存管理机制有清楚的认识 ,内 此时,对内存映射文件 的使用和处理 同通常加载到 内
存管理的相关知识非常复杂,超 出了本文 的讨论范 存 中的文件数据的处理方式基本一样。
畴,在此就不再赘述 ,感兴趣 的读者可 以参 阅其他相 在完成 了对 内存映射文件的使用时,还要通过一
关书籍。下面给出使用 内存映射文件的一般方法。 系列的操作完成对其 的清除和使用过资源 的释放。
在操作一个内存映射文件对象之前 ,首先要通过 这部分相对 比较简单 ,可 以通过 UnmapViewOfFile()
CreateFile()函数来创建或打开一个磁盘文
文档评论(0)