1.文件映射(Memory-MappedFiles)内存映射文件允许应用程序把文件映射到一个进程的虚拟地址空间,这样文件内的数据就可以用内存读写指令来访问。通过内存文件映射,应用程序不必执行文件I/O操作也无需对文件内容进行缓冲处理。内存文件映射的这种特性是非常适合于用来管理大尺寸文件的。 2.共享...
分类:
系统相关 时间:
2015-04-08 19:39:27
阅读次数:
279
平时看的书很多,了解的也很多,但不喜欢总结,这不昨天面试的时候被问到了进程间通信的方式,因为没有认真总结过,所以昨天答得不是特别好。现在将linux和windows的进程间通信方式好好总结一下。windows的进程间的通信方式有1.文件映射;2. 共享内存(是文件映射的一种特殊情况);3.邮件槽(....
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的...
分类:
数据库 时间:
2015-03-29 16:25:54
阅读次数:
301
海量日志数据,提取出某日访问百度次数最多的那个IP。首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash...
分类:
其他好文 时间:
2015-03-20 18:09:20
阅读次数:
95
hive hive是基于hadoop的一个数据仓库工具,可将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可将sql转换为MapReduce任务运行。hive不适合用于联机事务处理,也不提供实时查询,他适合应用在基于大量不可变的批处理作业。 hive架构分为四个部分: 用户接口:....
分类:
其他好文 时间:
2015-03-20 18:03:51
阅读次数:
128
进程1的数据有时需要发送给进程B,这可以通过内存映射实现。
主要用到的函数:
1.首先在一个进程里用CreateFileMapping创建一个新的文件映射内核对象。
HANDLE CreateFileMapping(
HANDLE hFile, //物理文件句柄,一般将它设...
分类:
系统相关 时间:
2015-03-17 21:52:29
阅读次数:
161
#include void *mmap(void *addr, size_t length, int prot, int flags,int fd, off_t offset); int munmap(void *addr, size_t length);mmap,存储映射,将文件映射...
分类:
其他好文 时间:
2015-03-16 15:54:30
阅读次数:
164
想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。Memeory-Mapped Files下图展示了数据库是如何跟底层系统打交道的。内存映射文件是OS通过mmap在内存中创建一个数据文件,这样就把文件映射到一个虚拟内存的区域;虚拟内存对于...
分类:
数据库 时间:
2015-03-12 23:52:50
阅读次数:
294
利用linux下的文件内存映射可以实现进程共享数据,我们可以把一个文件映射到虚拟内存中使多个进程进行共享,
到这里我们大概能想到他能应用到的领域 是很广泛的
主要涉及到 mmap munmap msync 三个函数的应用
下面贴代码
下面一段代码是为文件建立一个简单的记录存储,并且通过内存映射修改文件内容
/*******************************...
分类:
系统相关 时间:
2015-02-13 22:29:42
阅读次数:
268
文件太大,没法一次读取到内存进行操作?Windows提供了内存映射API来读取大文件,与普通文件读取相比,内存映射效率比较高。
从代码层面上看,从硬盘上将文件读入内存,都要经过文件系统进行数据拷贝,并且数据拷贝操作是由文件系统和硬件驱动实现的,理论上来说,拷贝数据的效率是一样的。但是通过内存映射的方法访问硬盘上的文件,效率要比read和write系统调用高,这是为什么呢?原因是read()是系统...
分类:
其他好文 时间:
2015-02-11 16:41:16
阅读次数:
262