CN107193629A - 基于非易失性内存与Java虚拟机的新型数据管理方法 - Google Patents

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

Info

Publication number
CN107193629A
CN107193629A CN201710225733.9A CN201710225733A CN107193629A CN 107193629 A CN107193629 A CN 107193629A CN 201710225733 A CN201710225733 A CN 201710225733A CN 107193629 A CN107193629 A CN 107193629A
Authority
CN
China
Prior art keywords
virtual machine
java
java virtual
data
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710225733.9A
Other languages
English (en)
Inventor
吴明瑜
陈海波
陈榕
臧斌宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201710225733.9A priority Critical patent/CN107193629A/zh
Publication of CN107193629A publication Critical patent/CN107193629A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于非易失性内存与Java虚拟机的新型数据管理方法,包括数据访问步骤:通过Java应用以Java对象格式直接访问和处理数据库中的数据,消除了数据格式转化的过程;载入数据库步骤:将数据库在Java虚拟机运行的任意时刻作为Java堆的一部分载入并使用;数据管理步骤:通过Java虚拟机对数据库进行直接的内存管理。本发明利用了新型硬件非易失性内存具有的访问速度快、粒度细、持久化的特点,并结合Java虚拟机的内存管理模块以及持久化接口,对现有的数据管理技术进行了改进,在保证数据持久化存储的同时达成数据高效处理的目标。

Description

基于非易失性内存与Java虚拟机的新型数据管理方法
技术领域
本发明涉及数据管理技术领域,具体地,涉及基于非易失性内存与Java虚拟机的新型数据管理方法。
背景技术
随着信息时代的到来,人类的生活与数据变得密不可分,如何对海量的数据进行有效的管理成为了当今的技术热点。良好的数据管理技术应该包含两个特点:(1)数据的持久化管理,即数据能够存储在具有持久化能力的设备中,在***断电时不会丢失;(2)数据的高效处理,即能够快速回应应用的数据操作请求。由于传统计算机体系结构中的内存不具有持久化能力,而具备持久化性质的硬盘则存在响应速度慢、访问粒度粗等诸多不足之处,因此传统的数据管理技术分别使用硬盘和内存进行数据存储和数据处理。然而,由于硬盘和内存在存储格式、访问方法等方面存在巨大差异,传统的数据管理技术需要对硬盘和内存中的数据分别进行管理,给用户带来了沉重的管理负担。
Java是一门面向对象(object-oriented)的高级程序语言,它提出的Java虚拟机(Java Virtual Machine,JVM)这一抽象可以帮助Java应用进行内存管理、性能调优、类型检查等一系列复杂而琐碎的工作,使得用户能够专注于程序逻辑本身,减轻了用户的负担。针对传统数据管理技术中管理负担过重的问题,Java语言也提出了Java持久化接口JPA(Java Persistence API)将内存与硬盘的数据管理进行了解耦。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虚拟机启动时,可以再次向操作***请求载入该数据库实例并进行数据库操作。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (6)

1.一种基于非易失性内存与Java虚拟机的新型数据管理方法,其特征在于,包括如下步骤:
数据访问步骤:通过Java应用以Java对象格式直接访问和处理数据库中的数据,消除了数据格式转化的过程;
载入数据库步骤:将数据库在Java虚拟机运行的任意时刻作为Java堆的一部分载入并使用;
数据管理步骤:通过Java虚拟机对数据库进行直接的内存管理。
2.根据权利要求1所述的基于非易失性内存与Java虚拟机的新型数据管理方法,其特征在于,所述数据访问步骤中使用轻量级的Java持久化接口直接访问和处理数据。
3.根据权利要求1所述的基于非易失性内存与Java虚拟机的新型数据管理方法,其特征在于,所述载入数据库步骤中的数据库具有Java虚拟机兼容性,即所述数据库的格式能够被Java虚拟机载入后解析使用。
4.根据权利要求1所述的基于非易失性内存与Java虚拟机的新型数据管理方法,其特征在于,通过所述Java虚拟机能够对数据库进行内存使用监控、垃圾收集以及碎片整理。
5.根据权利要求1所述的基于非易失性内存与Java虚拟机的新型数据管理方法,其特征在于,通过所述Java虚拟机能够通过操作***提供的接口获取非易失性内存资源,并进行操作和管理。
6.一种基于非易失性内存与Java虚拟机的新型数据管理方法,其特征在于,包括如下步骤:
步骤1:运行Java应用,并启动Java虚拟机进行初始化;
步骤2:通过轻量级Java持久化接口在Java应用运行的任意时刻请求载入或新建数据库实例,Java虚拟机获取数据库实例,或者通过操作***接口向内存管理模块请求分配更多的非易失性内存;
步骤3:通过Java虚拟机对数据库的内存使用进行资源监控、垃圾回收、碎片整理管理;
步骤4:退出Java虚拟机。
CN201710225733.9A 2017-04-07 2017-04-07 基于非易失性内存与Java虚拟机的新型数据管理方法 Pending CN107193629A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710225733.9A CN107193629A (zh) 2017-04-07 2017-04-07 基于非易失性内存与Java虚拟机的新型数据管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710225733.9A CN107193629A (zh) 2017-04-07 2017-04-07 基于非易失性内存与Java虚拟机的新型数据管理方法

Publications (1)

Publication Number Publication Date
CN107193629A true CN107193629A (zh) 2017-09-22

Family

ID=59871403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710225733.9A Pending CN107193629A (zh) 2017-04-07 2017-04-07 基于非易失性内存与Java虚拟机的新型数据管理方法

Country Status (1)

Country Link
CN (1) CN107193629A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955488A (zh) * 2019-09-10 2020-04-03 中兴通讯股份有限公司 一种持久性内存的虚拟化方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1040409B1 (en) * 1997-12-16 2003-04-16 Microsoft Corporation Combining multiple class files into run-time image
CN102455902A (zh) * 2010-10-29 2012-05-16 国际商业机器公司 用于对象持久化的方法以及计算机***
CN102681866A (zh) * 2011-11-22 2012-09-19 飞天诚信科技股份有限公司 一种运行Java程序的方法和装置
CN103810112A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失性内存***及其管理方法
CN106406748A (zh) * 2015-07-30 2017-02-15 伊姆西公司 存储器中心数据库架构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1040409B1 (en) * 1997-12-16 2003-04-16 Microsoft Corporation Combining multiple class files into run-time image
CN102455902A (zh) * 2010-10-29 2012-05-16 国际商业机器公司 用于对象持久化的方法以及计算机***
CN102681866A (zh) * 2011-11-22 2012-09-19 飞天诚信科技股份有限公司 一种运行Java程序的方法和装置
CN103810112A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失性内存***及其管理方法
CN106406748A (zh) * 2015-07-30 2017-02-15 伊姆西公司 存储器中心数据库架构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIDEAKI KIMURA: "FOEDUS: OLTP Engine for a Thousand Cores and NVRAM", 《ACM》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955488A (zh) * 2019-09-10 2020-04-03 中兴通讯股份有限公司 一种持久性内存的虚拟化方法及***

Similar Documents

Publication Publication Date Title
US7937419B2 (en) Garbage collection via multiobjects
US8037112B2 (en) Efficient access of flash databases
CN102722432B (zh) 追踪内存访问的方法和装置
US7072919B2 (en) Method for performing data migration
US6529919B1 (en) Incremental class unloading in a train-algorithm-based garbage collector
US7035884B2 (en) Placement of allocation trains in the train algorithm
US6928460B2 (en) Method and apparatus for performing generational garbage collection in a segmented heap
US7249235B2 (en) Architecture for a scalable and user-extensible heap dump analysis tool
US8694562B2 (en) Generational garbage collection for a pool-based heap
US6105040A (en) Method and apparatus for managing stored objects
CN106406748B (zh) 存储器中心数据库架构
GB2345160A (en) Virtual machine memory management
CN111309310B (zh) 面向非易失性内存的JavaScript对象持久化框架
US8024374B2 (en) Computer object conversion using an intermediate object
US8447793B2 (en) Efficient remembered set for region-based garbage collectors
Iwabuchi et al. Metall: A persistent memory allocator enabling graph processing
Srisa-an et al. Active memory processor: A hardware garbage collector for real-time java embedded devices
CN103020077A (zh) 一种电力***实时数据库内存管理方法
CN107193629A (zh) 基于非易失性内存与Java虚拟机的新型数据管理方法
US7237085B2 (en) Architecture for a scalable heap analysis tool
CN110362505A (zh) 一种使用缓存***进行读写缓存的方法
Wang et al. scList: A PCRAM-based Hybrid Memory Management Scheme
GB2428321A (en) Versioning objects in a virtual machine
Xu et al. Jsnvm: supporting data persistence in javascript using non-volatile memory
Venstermans et al. Java object header elimination for reduced memory consumption in 64-bit virtual machines

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170922

RJ01 Rejection of invention patent application after publication