[发明专利]一种基于JVM的磁盘直接I/O访问的方法有效
申请号: | 201710112761.X | 申请日: | 2017-02-28 |
公开(公告)号: | CN106909441B | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 陈涛;褚一帆 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210003 江苏省南京市高新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 jvm 磁盘 直接 访问 方法 | ||
一种基于JVM的磁盘直接I/O访问方法,配置提供文件操作函数的API层、屏蔽操作系统文件系统访问差异的适配层、支持多种类编程语言转换的语言转换层、执行访问磁盘操作的直接调用I/O层,实现支持任何一种操作语言能跨越操作系统的页面高速缓存,获得直接操纵磁盘文件的能力;步骤1:调用API层的文件打开函数,传入文件操作指令中的文件路径名,返回文件句柄fd;步骤2:调用API层的文件读取函数或文件写入函数,提供传入文件句柄fd、文件偏移量等参数;步骤3:适配层读取当前运行的操作系统的配置信息,并根据配置信息判断该操作系统的类型,利用JVM的功能特性,调用预存在语言转换层中与操作系统对应的语言转换函数,使文件操作指令能在当前操作系统内执行。
技术领域
本发明隶属于系统文件输入输出的技术领域,具体涉及一种基于JVM的磁盘直接I/O访问的方法。
背景技术
一般的文件读写操作,都不可避免得使用到操作系统的文件系统的页面高速缓存(Page Cache)。Page Cache具有几个特点:首先,它是操作系统级别的全局内存空间,在所有应用程序间进行空间共享。由于物理内存有限,因此会出现资源争用情况。其次,页面高速缓存由操作系统统一管理,应用程序不能直接控制和干涉Page Cache。这在实际工作中,会带来如下问题:
第一、操作大文件时带来的系统整体性能下降。当读写大文件时,譬如当执行读、写、复制、移动、压缩大文件的操作时,系统会消耗大量的Page Cache,由于物理内存空间有限,导致系统中运行中的其它应用程序锁使用的Page Cache空间被交换出去(swappedout),以释放出足够的Cache空间供其使用。这样一来,其它程序I/O的响应性能急剧下降,甚至会出现长时间无响应的症状,直到文件操作完毕后,才会恢复正常响应。这对于响应性能要求高的服务器程序来说,是不可接受的。譬如在互联网网站的服务端,由于大文件操作过程中该服务器无法在一定时间范围内完成响应,这意味着用户浏览网站的响应时间变长,甚至超时。
第二、数据一致性问题。Cache的维护成本高,应用程序每次写完文件后,实际上是更新了位于Cache中的文件,磁盘上的文件需要等到flush操作后才会刷到磁盘上。若flush之前系统宕机,则会丢失这部分的数据更新。
第三、对底层硬件的控制力弱。传统的基于JVM的应用程序,都无法直接操纵硬件磁盘。虽然Page Cache能够帮助程序提高I/O效率,但这对自缓存(Self-Caching)程序来说却是个障碍。自缓存程序自身维护一套数据从硬件磁盘到内存间的映射关系,它的缓存一致性维护机制往往是跟自身数据的逻辑结构密切相关,与传统的操作系统Page Cache机制存在着较大差异。但是由于操作系统底层提供的Page Cache机制,横亘在自缓存程序与底层磁盘硬件之间,造成昂贵的内存资源的巨大浪费。
JVM是Java Virtual Machine(Java虚拟机)的缩写,是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM为了保证程序的可移植性,对程序员屏蔽了底层硬件访问细节。程序员只需要编写Java语法的代码,无须关心运行平台的处理器类型和操作系统。由JVM负责解释Java程序,并转换为能够在特定处理器和操作系统上运行的二进制指令。所有的底层硬件访问能力是由JVM提供的,并且JVM封装了一部分接口,通过JDK暴露出API给Java程序员。对于上述磁盘直接IO访问技术,JDK并未提供支持。JDK是Java语言的软件开发工具包,用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710112761.X/2.html,转载请声明来源钻瓜专利网。