基于非易失性内存与Java虚拟机的新型数据管理方法与流程

文档序号:11285930阅读:471来源:国知局

本发明涉及数据管理技术领域,具体地,涉及基于非易失性内存与java虚拟机的新型数据管理方法。



背景技术:

随着信息时代的到来,人类的生活与数据变得密不可分,如何对海量的数据进行有效的管理成为了当今的技术热点。良好的数据管理技术应该包含两个特点:(1)数据的持久化管理,即数据能够存储在具有持久化能力的设备中,在系统断电时不会丢失;(2)数据的高效处理,即能够快速回应应用的数据操作请求。由于传统计算机体系结构中的内存不具有持久化能力,而具备持久化性质的硬盘则存在响应速度慢、访问粒度粗等诸多不足之处,因此传统的数据管理技术分别使用硬盘和内存进行数据存储和数据处理。然而,由于硬盘和内存在存储格式、访问方法等方面存在巨大差异,传统的数据管理技术需要对硬盘和内存中的数据分别进行管理,给用户带来了沉重的管理负担。

java是一门面向对象(object-oriented)的高级程序语言,它提出的java虚拟机(javavirtualmachine,jvm)这一抽象可以帮助java应用进行内存管理、性能调优、类型检查等一系列复杂而琐碎的工作,使得用户能够专注于程序逻辑本身,减轻了用户的负担。针对传统数据管理技术中管理负担过重的问题,java语言也提出了java持久化接口jpa(javapersistenceapi)将内存与硬盘的数据管理进行了解耦。jpa一方面将持久化数据转化为java对象格式放入内存中,使用户能够使用熟悉的面向对象的方式进行数据处理;另一方面则提供了从java对象到sql语句的转化,并使用sql语句操作和管理持久化的数据。jpa的提出消除了用户管理持久化数据的负担,但内存与硬盘之间数据格式转化的开销却造成了数据处理的性能损失。

非易失性内存这一新型硬件的出现,使得内存在保留原有的高速访问、细粒度读写特点的基础上,增加了持久化数据的能力,为数据管理技术的发展带来了全新的机遇,基于非易失性内存的技术方兴未艾。相比基于c/c++语言的数据管理技术,基于java虚拟机的数据管理技术可以直接利用java虚拟机成熟的内存管理功能以及java持久化接口来降低数据管理的开销。然而,目前的java虚拟机缺乏对易失性内存的支持,其持久化接口jpa也不能很好地利用非易失性内存的持久化特性。因此,如何针对java虚拟机以及非易失性内存的特点,开发全新的数据管理技术,从而充分发挥两者的优势,同时达成数据的持久化管理和高效处理两个目标,已成为亟待解决的技术难题。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于非易失性内存与java虚拟机的新型数据管理方法。

根据本发明提供的基于非易失性内存与java虚拟机的新型数据管理方法,包括如下步骤:

数据访问步骤:通过java应用以java对象格式直接访问和处理数据库中的数据,消除了数据格式转化的过程;

载入数据库步骤:将数据库在java虚拟机运行的任意时刻作为java堆的一部分载入并使用;

数据管理步骤:通过java虚拟机对数据库进行直接的内存管理。

优选地,所述数据访问步骤中使用轻量级的java持久化接口直接访问和处理数据。

优选地,所述载入数据库步骤中的数据库具有java虚拟机兼容性,即所述数据库的格式能够被java虚拟机载入后解析使用。

优选地,通过所述java虚拟机能够对数据库进行内存使用监控、垃圾收集以及碎片整理。

优选地,通过所述java虚拟机能够通过操作系统提供的接口获取非易失性内存资源,并进行操作和管理。

根据本发明提供的基于非易失性内存与java虚拟机的新型数据管理方法,包括如下步骤:

步骤1:运行java应用,并启动java虚拟机进行初始化;

步骤2:通过轻量级java持久化接口在java应用运行的任意时刻请求载入或新建数据库实例,java虚拟机获取数据库实例,或者通过操作系统接口向内存管理模块请求分配更多的非易失性内存;

步骤3:通过java虚拟机对数据库的内存使用进行资源监控、垃圾回收、碎片整理管理;

步骤4:退出java虚拟机。

与现有技术相比,本发明具有如下的有益效果:

1、本发明充分利用了非易失性内存访问速度快,粒度细,以及持久化的特点,使数据管理的整体性能得到提升;

2、本发明充分利用了java虚拟机成熟的内存管理功能和持久化接口,进一步降低了数据持久化管理的开销;

3、本发明在保持原有语义的情况下,提供了更加轻量级的java持久化接口实现,消除了复杂的数据格式转化过程,进一步提升数据处理的性能。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明提供的方法的原理框图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

根据本发明提供的基于非易失性内存与java虚拟机的新型数据管理方法,包括如下步骤:

数据访问步骤:通过java应用以java对象格式直接访问和处理数据库中的数据,消除了数据格式转化的过程;

载入数据库步骤:将数据库在java虚拟机运行的任意时刻作为java堆的一部分载入并使用;

数据管理步骤:通过java虚拟机对数据库进行直接的内存管理。

所述数据访问步骤中使用轻量级的java持久化接口直接访问和处理数据。

所述载入数据库步骤中的数据库具有java虚拟机兼容性,即所述数据库的格式能够被java虚拟机载入后解析使用。

所述java虚拟机能够对数据库进行内存使用监控、垃圾收集以及碎片整理。

所述java虚拟机能够通过操作系统提供的接口获取非易失性内存资源,并进行操作和管理。

下面结合具体实施例对本发明的技术方案做更加详细的说明。

基于非易失性内存与java虚拟机的新型数据管理技术的具体运行流程包括:java虚拟机启动、载入或新建数据库实例、数据库操作、java虚拟机退出四个阶段。以下将通过具体实施示例来详细描述本发明。

本发明的示例具体步骤如下:

步骤s1:用户运行java应用,java虚拟机启动,进行初始化。

步骤s2:java应用可在运行的任意时刻通过修改过的轻量级java持久化接口(图中的jpa’)请求载入或新建数据库实例,java虚拟机根据请求获取之前已经持久化的数据库实例,也可以通过操作系统接口向内存管理模块请求分配更多的非易失性内存。

步骤s3:用户可通过jpa’进行增删改查等数据库操作。由于目前的数据以java对象格式存储在java虚拟机之中,省去了之前的数据转化开销,从而提升了数据处理的性能。同时,java虚拟机也会对数据库的内存使用进行资源监控、垃圾回收、碎片整理等管理。

步骤s4:当java程序退出时,java虚拟机也随之退出,但数据库实例由于存储在非易失性内存之中,数据并不会因此丢失。当新的java虚拟机启动时,可以再次向操作系统请求载入该数据库实例并进行数据库操作。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1