CN102609305A - 一种服务器集群中内存共享方法 - Google Patents

一种服务器集群中内存共享方法 Download PDF

Info

Publication number
CN102609305A
CN102609305A CN 201210029141 CN201210029141A CN102609305A CN 102609305 A CN102609305 A CN 102609305A CN 201210029141 CN201210029141 CN 201210029141 CN 201210029141 A CN201210029141 A CN 201210029141A CN 102609305 A CN102609305 A CN 102609305A
Authority
CN
China
Prior art keywords
platform
server
memory address
virtual memory
application program
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
CN 201210029141
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.)
ZHONGSHAN IKER DIGITAL TECHNOLOGY Co Ltd
Original Assignee
ZHONGSHAN IKER DIGITAL TECHNOLOGY Co Ltd
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 ZHONGSHAN IKER DIGITAL TECHNOLOGY Co Ltd filed Critical ZHONGSHAN IKER DIGITAL TECHNOLOGY Co Ltd
Priority to CN 201210029141 priority Critical patent/CN102609305A/zh
Publication of CN102609305A publication Critical patent/CN102609305A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开一种服务器集群中内存共享方法,为实现在服务器集群中,服务器相互之间内存资源的共享,其特征在于:包括步骤:步骤一,来自应用服务器的应用程序获取平台服务器的平台文件读写的原始函数地址;步骤二,应用程序向平台申请代码缓冲区;步骤三,应用程序将原始函数当前指令拷贝到代码缓冲区;步骤四,平台虚拟内存管理器为应用程序分配虚拟内存地址;步骤五,根据虚拟内存地址构造重定向平台文件读写代码;步骤六,平台执行读写代码,在缓冲区指令前增加一间接跳转指令;步骤七,缓冲区指令被执行,并从虚拟内存地址所对应内存资源、获取缓冲区域内的数据。

Description

一种服务器集群中内存共享方法
技术领域
本发明涉及服务器资源管理,特别是服务器集群中内存共享。
背景技术
在计算机系统中,内存是最重要的资源之一。其容量直接影响系统的整体性能。当运行使用大量内存的“内存密集型”应用或具有大量磁盘访问的“I/O密集型”应用时,物理内存容量起到了决定性的作用。
目前,随着各领域信息化推进,产生了各种大量行业平台。这些平台发挥着数据中转,资源集中管理功能。由于行业平台往往承担着大量的各种负载,但是自身服务器内存又无法满足大量数据处理需求。所以现有服务器的内存管理方案逐渐成为了平台性能提升的瓶颈。
见图1,为面向行业综合平台的服务器集群结构图。其中平台服务器主要用于部署平台系统,而应用服务器则主要应用于部署与依赖于平台数据资源而提供各种远程服务的应用。平台服务器和应用服务器通过核心交换机连接成服务器集群。服务器集群中,服务器之间的内存普遍无法共享,同时平台服务器也无法根据应用的需求,而集中的动态分配各服务器内存资源。
发明内容
本发明的目的是满足各种行业综合平台的需要,提出一种服务器集群中内存共享方法。它可根据各应用程序需要,同时通过平台服务器集中的对服务器集群内存集中分配,进而达到内存的共享,提升整个平台的性能。
本发明通过如下方案实现:
一种服务器集群中内存共享方法,为实现在服务器集群中,服务器相互之间内存资源的共享,其特征在于:包括步骤:
步骤一,来自应用服务器的应用程序获取平台服务器的平台文件读写的原始函数地址;
步骤二,应用程序向平台申请代码缓冲区;
步骤三,应用程序将原始函数当前指令拷贝到代码缓冲区;
步骤四,平台虚拟内存管理器为应用程序分配虚拟内存地址;
步骤五,根据虚拟内存地址构造重定向平台文件读写代码;
步骤六,平台执行读写代码,在缓冲区指令前增加一间接跳转指令;
步骤七,缓冲区指令被执行,并从虚拟内存地址所对应内存资源、获取缓冲区域内的数据。
作为优化,所述步骤七中,应用服务器的应用程序以平台服务器为截获服务器,采用函数截获方法来获取其代码控制权,动态改变截获目标的系统函数的执行流程,并将截获驱动注入到虚拟内存地址所对应内存地址空间,并选择性地接收和修改来自截获驱动的信息。
更进一步,平台服务器的虚拟内存管理器通过控制本地的虚拟内存地址库中虚拟内存地址的分配,实现控制服务器集群中实际内存地址空间分配,所述的平台服务器执行缓冲区指令时,通过内核线程采用异步写入方式将缓存数据分别写入各虚拟内存地址对应的实际内存地址空间进行缓存。
综上所述,本发明方法具有如下显著特点和进步:
1)、通过平台服务器的虚拟内存管理器及虚拟技术,对服务器集群内的内存资源进行集中的统一管理和分配。
2)、应用程序获取内存资源时,通过向平台申请代码缓冲区、平台分配虚拟内存,同时采用函数截获方法,通过内核线程采用异步写入方式将缓存数据分别写入各虚拟内存地址对应的实际内存地址空间进行缓存,以提升整个平台的性能;
3)、有效解决服务器集群的内存管理和共享问题。
附图说明
图1是服务器集群架构图;
图2是平台服务器内部结构框图;
图3是本发明方法实现的核心流程图。
具体实施方式
参考图1,平台服务器主要用于部署平台系统,而应用服务器则主要应用于部署与依赖于平台数据资源而提供各种远程服务的应用。平台服务器和应用服务器通过核心交换机连接成服务器集群。
参考图2,平台服务器内部至少具有一虚拟内存管理器和虚拟内存地址库。虚拟内存管理器用于根据应用程序的需要,根据内存分配算法,从虚拟内存地址库中为应用程序分配空闲的虚拟内存。虚拟内存管理器可以通过各种编程技术编程实现。虚拟内存地址库内虚拟内存地址分别与各服务器的实际内存地址互为映射。虚拟内存管理器通过虚拟内存的管理和控制,间接实现对服务器集群的实际内存资源的管理、控制,进而实现内存共享。
参考图3,为本发明的服务器集群中内存共享方法,实施时,一次包括以下核心步骤:
S101,应用程序获取平台文件读写的原始函数地址;
S102,应用程序向平台申请代码缓冲区;
S103,将原始函数当前指令拷贝到代码缓冲区;
S104,平台虚拟内存管理器为应用程序分配虚拟内存地址;
S105,应用程序根据虚拟内存地址构造重定向平台文件读写代码;
S106,平台执行读写代码,并在缓冲区指令前增加一间接跳转指令;
S107,缓冲区指令被执行,并从虚拟内存地址所对应内存资源,及获取缓冲区域内的数据。应用服务器的应用程序以平台服务器为截获服务器,采用函数截获方法来获取其代码控制权,动态改变截获目标的系统函数的执行流程,并将截获驱动注入到虚拟内存地址所对应内存地址空间,并选择性地接收和修改来自截获驱动的信息。
另外,平台服务器的虚拟内存管理器通过控制本地的虚拟内存地址库中虚拟内存地址的分配,实现控制服务器集群中实际内存地址空间分配,所述的平台服务器执行缓冲区指令时,通过内核线程采用异步写入方式将缓存数据分别写入各虚拟内存地址对应的实际内存地址空间进行缓存。
综上所述,本发明各流程所采用算法、编程手段可以根据现有技术进行,在不脱离本方法核心步骤的等效方案应属于本发明保护范围内。

Claims (4)

1.一种服务器集群中内存共享方法,为实现在服务器集群中,服务器相互之间内存资源的共享,其特征在于:包括步骤:
步骤一,来自应用服务器的应用程序获取平台服务器的平台文件读写的原始函数地址;
步骤二,应用程序向平台申请代码缓冲区;
步骤三,应用程序将原始函数当前指令拷贝到代码缓冲区;
步骤四,平台虚拟内存管理器为应用程序分配虚拟内存地址;
步骤五,根据虚拟内存地址构造重定向平台文件读写代码;
步骤六,平台执行读写代码,在缓冲区指令前增加一间接跳转指令;
步骤七,缓冲区指令被执行,并从虚拟内存地址所对应内存资源、获取缓冲区域内的数据。
2.如权利要求1所述的服务器集群中内存共享方法,其特征在于,所述步骤七中,应用服务器的应用程序以平台服务器为截获服务器,采用函数截获方法来获取其代码控制权,动态改变截获目标的系统函数的执行流程,并将截获驱动注入到虚拟内存地址所对应内存地址空间,并选择性地接收和修改来自截获驱动的信息。
3.如权利要求2所述的服务器集群中内存共享方法,其特征在于,平台服务器的虚拟内存管理器通过控制本地的虚拟内存地址库中虚拟内存地址的分配,实现控制服务器集群中实际内存地址空间分配。
4.如权利要求3所述的服务器集群中内存共享方法,其特征在于,所述的平台服务器执行缓冲区指令时,通过内核线程采用异步写入方式将缓存数据分别写入各虚拟内存地址对应的实际内存地址空间进行缓存。
CN 201210029141 2012-02-07 2012-02-07 一种服务器集群中内存共享方法 Pending CN102609305A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201210029141 CN102609305A (zh) 2012-02-07 2012-02-07 一种服务器集群中内存共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201210029141 CN102609305A (zh) 2012-02-07 2012-02-07 一种服务器集群中内存共享方法

Publications (1)

Publication Number Publication Date
CN102609305A true CN102609305A (zh) 2012-07-25

Family

ID=46526699

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201210029141 Pending CN102609305A (zh) 2012-02-07 2012-02-07 一种服务器集群中内存共享方法

Country Status (1)

Country Link
CN (1) CN102609305A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216771A (zh) * 2013-05-30 2014-12-17 华为技术有限公司 软件程序的重启方法及装置
CN104714837A (zh) * 2013-12-11 2015-06-17 北京慧正通软科技有限公司 工作流引擎集群环境下实例并发处理的一种技术方法
CN105094997A (zh) * 2015-09-10 2015-11-25 重庆邮电大学 一种云计算主机节点间物理内存共享方法和系统
CN105094985A (zh) * 2015-07-15 2015-11-25 上海新储集成电路有限公司 一种共享内存池的低功耗数据中心及其工作方法
CN105556503A (zh) * 2014-08-11 2016-05-04 联发科技股份有限公司 动态的存储器控制方法及其系统
CN108055555A (zh) * 2017-12-08 2018-05-18 广州视源电子科技股份有限公司 一种资源共享方法、装置、服务设备及存储介质
CN109918132A (zh) * 2019-03-26 2019-06-21 龙芯中科技术有限公司 一种指令安装方法、装置、电子设备及存储介质
CN110209434A (zh) * 2019-04-23 2019-09-06 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质
CN111104067A (zh) * 2019-12-20 2020-05-05 深圳前海微众银行股份有限公司 面向列的缓存方法、装置、设备及计算机可读存储介质
CN113778695A (zh) * 2021-11-12 2021-12-10 深圳华锐金融技术股份有限公司 跨应用生命周期的内存快照管理方法、装置、设备及介质

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104216771B (zh) * 2013-05-30 2018-01-23 华为技术有限公司 软件程序的重启方法及装置
CN104216771A (zh) * 2013-05-30 2014-12-17 华为技术有限公司 软件程序的重启方法及装置
CN104714837A (zh) * 2013-12-11 2015-06-17 北京慧正通软科技有限公司 工作流引擎集群环境下实例并发处理的一种技术方法
CN105556503B (zh) * 2014-08-11 2018-08-21 联发科技股份有限公司 动态的存储器控制方法及其系统
CN105556503A (zh) * 2014-08-11 2016-05-04 联发科技股份有限公司 动态的存储器控制方法及其系统
CN105094985A (zh) * 2015-07-15 2015-11-25 上海新储集成电路有限公司 一种共享内存池的低功耗数据中心及其工作方法
CN105094997B (zh) * 2015-09-10 2018-05-04 重庆邮电大学 一种云计算主机节点间物理内存共享方法和系统
CN105094997A (zh) * 2015-09-10 2015-11-25 重庆邮电大学 一种云计算主机节点间物理内存共享方法和系统
CN108055555B (zh) * 2017-12-08 2020-11-10 广州视源电子科技股份有限公司 一种资源共享方法、装置、服务设备及存储介质
CN108055555A (zh) * 2017-12-08 2018-05-18 广州视源电子科技股份有限公司 一种资源共享方法、装置、服务设备及存储介质
CN109918132A (zh) * 2019-03-26 2019-06-21 龙芯中科技术有限公司 一种指令安装方法、装置、电子设备及存储介质
CN110209434A (zh) * 2019-04-23 2019-09-06 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质
CN110209434B (zh) * 2019-04-23 2022-04-22 努比亚技术有限公司 一种内存管理方法、装置及计算机可读存储介质
CN111104067A (zh) * 2019-12-20 2020-05-05 深圳前海微众银行股份有限公司 面向列的缓存方法、装置、设备及计算机可读存储介质
CN111104067B (zh) * 2019-12-20 2024-01-12 深圳前海微众银行股份有限公司 面向列的缓存方法、装置、设备及计算机可读存储介质
CN113778695A (zh) * 2021-11-12 2021-12-10 深圳华锐金融技术股份有限公司 跨应用生命周期的内存快照管理方法、装置、设备及介质
CN113778695B (zh) * 2021-11-12 2022-04-29 深圳华锐分布式技术股份有限公司 跨应用生命周期的内存快照管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN102609305A (zh) 一种服务器集群中内存共享方法
US9792227B2 (en) Heterogeneous unified memory
KR102077149B1 (ko) 메모리 관리 방법 및 장치
US9606741B2 (en) Memory power management and data consolidation
CN105095094A (zh) 内存管理方法和设备
CN104111897A (zh) 一种数据处理方法、装置及计算机系统
US20170364449A1 (en) Process running method and apparatus
EP2375324A2 (en) Virtualization apparatus for providing a transactional input/output interface
US9817754B2 (en) Flash memory management
CN101847096B (zh) 包含栈变量函数的优化方法
CN108701024A (zh) 用于在堆栈机器中分配虚拟寄存器堆栈的方法
CN101706788B (zh) 一种嵌入式文件系统的跨区访问方法
US8327111B2 (en) Method, system and computer program product for batched virtual memory remapping for efficient garbage collection of large object areas
US20140282537A1 (en) Virtual machine image disk usage
JP6042454B2 (ja) ユーザ生成によるデータセンターの省電力
US8782306B2 (en) Low-contention update buffer queuing for large systems
CN107220069B (zh) 一种针对非易失性内存的Shuffle方法
Chen et al. Refinery swap: An efficient swap mechanism for hybrid DRAM–NVM systems
US11900142B2 (en) Improving memory access handling for nested virtual machines
US11132128B2 (en) Systems and methods for data placement in container-based storage systems
CN114518962A (zh) 内存的管理方法及装置
KR102456017B1 (ko) 응용 프로그램간 파일 공유 장치 및 방법
US11016685B2 (en) Method and defragmentation module for defragmenting resources
CN106202262A (zh) 一种信息处理方法及电子设备
US9251100B2 (en) Bitmap locking using a nodal lock

Legal Events

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

Application publication date: 20120725