KR20200135715A - 데이터 처리 방법, 장치, 기기 및 매체 - Google Patents

데이터 처리 방법, 장치, 기기 및 매체 Download PDF

Info

Publication number
KR20200135715A
KR20200135715A KR1020200003530A KR20200003530A KR20200135715A KR 20200135715 A KR20200135715 A KR 20200135715A KR 1020200003530 A KR1020200003530 A KR 1020200003530A KR 20200003530 A KR20200003530 A KR 20200003530A KR 20200135715 A KR20200135715 A KR 20200135715A
Authority
KR
South Korea
Prior art keywords
virtual
address
physical memory
memory
block
Prior art date
Application number
KR1020200003530A
Other languages
English (en)
Other versions
KR102326280B1 (ko
Inventor
용지 시에
웬 차이
유 장
Original Assignee
베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
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 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. filed Critical 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20200135715A publication Critical patent/KR20200135715A/ko
Application granted granted Critical
Publication of KR102326280B1 publication Critical patent/KR102326280B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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
    • 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/45591Monitoring or debugging support

Abstract

본 개시의 실시예에 의하면, 데이터 처리 방법, 장치, 기기 및 컴퓨터 판독 가능한 저장 매체를 제공하며, 클라우드 컴퓨팅 기술 분야에 관한 것이다. 데이터 처리 방법은, 데이터 블록을 가상 머신의 가상 메모리로부터 가상 머신의 가상 디스크로 저장하기 위한 요청을 수신하되, 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 단계를 포함한다. 해당 방법은, 가상 메모리 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내의 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하는 단계를 더 포함한다. 해당 방법은, 가상 디스크 주소와 물리적 메모리 주소를 상호 연관되게 저장하는 단계를 더 포함한다. 가상 디스크 내의 데이터 블록의 저장 주소와 물리적 메모리의 저장 주소의 매핑 관계를 생성하여 데이터를 가상 디스크에 저장하는 것을 실현함으로써, 데이터 이출 조작 중의 데이터 복제를 감소시키고, 데이터 처리의 효율을 향상시킨다.

Description

데이터 처리 방법, 장치, 기기 및 매체{METHOD, APPARATUS, DEVICE AND MEDIUM FOR PROCESSING DATA}
본 개시의 실시예는 주로 컴퓨터 기술 분야에 관한 것으로, 보다 구체적으로는 데이터 처리 방법, 장치, 기기 및 컴퓨터 판독 가능한 저장 매체에 관한 것이다.
컴퓨터가 발전함에 따라, 가상 머신의 적용 범위도 점점 커지고 있다. 예를 들어, 보다 많은 인터넷 서비스들이 클라우드에 배포되는 것으로 선택되고 있다. 서비스들을 클라우드에 배포한 이후, 사용자는 클라우드 상에서 운행하는 가상 머신을 통해 배포된 이러한 서비스들을 운행한다. 가상 머신을 이용함으로써, 사용자가 서비스를 처리하는 효율을 대대적으로 향상시킬 수 있다.
또한, 가상 머신으로 각종의 서비스를 운행할 경우, 가상 머신 상에서 각종의 상이한 데이터를 처리할 수 있다. 서비스를 운행하는 과정에 있어서, 가상 머신은 그가 처리한 데이터도 저장하게 된다. 가상 머신으로 서비스를 운행함으로써, 동일한 플랫폼 또는 동일한 호스트 상에서 상이한 운영 체제를 운행할 수 있으므로, 호스트 기기와 상이한 운영 체제의 호환성을 향상시킨다. 그러나, 가상 머신을 사용하는 과정에는 여전히 해결하여야 할 각종의 문제점들이 존재하고 있다.
본 개시의 예시적 실시예에 의하면, 데이터 처리를 위한 방안을 제공한다.
본 개시의 제1 양태에 있어서, 데이터 처리 방법을 제공한다. 해당 방법은, 데이터 블록을 가상 머신의 가상 메모리로부터 가상 머신의 가상 디스크로 저장하기 위한 요청을 수신하되, 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 단계와, 가상 메모리 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내의 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하는 단계와, 가상 디스크 주소와 물리적 메모리 주소를 상호 연관되게 저장하는 단계를 포함한다.
본 개시의 제2 양태에 있어서, 데이터 처리 방법을 제공한다. 해당 방법은, 데이터 블록을 가상 머신의 가상 디스크로부터 가상 머신의 가상 메모리로 저장하기 위한 요청을 수신하되, 해당 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 단계와, 가상 디스크 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내에서 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하는 단계와, 가상 메모리 주소와 물리적 메모리 주소를 연관되게 저장하는 단계를 포함한다.
본 개시의 제3 양태에 있어서, 데이터 처리 장치를 제공한다. 해당 장치는, 데이터 블록을 가상 머신의 가상 메모리로부터 가상 머신의 가상 디스크로 저장하기 위한 요청을 수신하도록 구성되되, 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 제1 수신 모듈과, 가상 메모리 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내의 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하도록 구성된 제1 물리적 메모리 주소 확정 모듈과, 가상 디스크 주소와 물리적 메모리 주소를 상호 연관되게 저장하도록 구성된 제1 주소 저장 모듈을 포함한다.
본 개시의 제4 양태에 있어서, 데이터 처리 장치를 제공한다. 해당 장치는, 데이터 블록을 가상 머신의 가상 디스크로부터 가상 머신의 가상 메모리로 저장하기 위한 요청을 수신하도록 구성되되, 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 제2 수신 모듈과, 가상 디스크 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내에서 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하도록 구성된 제2 물리적 메모리 주소 확정 모듈과, 가상 메모리 주소와 물리적 메모리 주소를 연관되게 저장하도록 구성된 제2 주소 저장 모듈을 포함한다.
본 개시의 제5 양태에 있어서, 전자 기기를 제공하며, 해당 전자 기기는 하나 또는 다수의 프로세서와, 하나 또는 다수의 프로그램을 저장하기 위한 메모리를 포함하되, 하나 또는 다수의 프로그램이 하나 또는 다수의 프로세서에 의해 실행될 경우, 하나 또는 다수의 프로세서가 본 개시의 제1 양태에 따른 방법을 구현하도록 한다.
본 개시의 제6 양태에 있어서, 전자 기기를 제공하며, 해당 전자 기기는 하나 또는 다수의 프로세서와, 하나 또는 다수의 프로그램을 저장하기 위한 메모리를 포함하되, 하나 또는 다수의 프로그램이 하나 또는 다수의 프로세서에 의해 실행될 경우, 하나 또는 다수의 프로세서가 본 개시의 제2 양태에 따른 방법을 구현하도록 한다.
본 개시의 제7 양태에 있어서, 컴퓨터 판독 가능한 저장 매체를 제공하며, 해당 컴퓨터 판독 가능한 저장 매체에는 컴퓨터 프로그램이 저장되고, 해당 프로그램이 프로세서에 의해 실행될 경우 본 개시의 제1 양태에 따른 방법이 구현되도록 한다.
본 개시의 제8 양태에 있어서, 컴퓨터 판독 가능한 저장 매체를 제공하며, 해당 컴퓨터 판독 가능한 저장 매체에는 컴퓨터 프로그램이 저장되고, 해당 프로그램이 프로세서에 의해 실행될 경우 본 개시의 제2 양태에 따른 방법이 구현되도록 한다.
발명의 내용 부분에 설명된 내용은 본 개시의 실시예의 관건적인 특징 또는 중요한 특징을 한정하기 위한 것이 아니며, 본 개시의 범위를 한정하기 위한 것이 아님을 이해하여야 한다. 아래의 설명을 통해, 본 개시의 기타의 특징은 용이하게 이해할 수 있을 것이다.
첨부된 도면을 결부하여 아래의 상세한 설명을 참조하면, 본 개시의 각 실시예의 상술한 및 기타의 특징, 장점 및 발명은 보다 명확해질 것이다. 첨부된 도면에 있어서, 동일하거나 유사한 도면 부호는 동일하거나 유사한 구성요소를 나타낸다.
도1은 본 개시의 실시예에 따른 데이터 처리를 위한 예시적 환경(100)의 개략도를 나타낸다.
도2는 본 개시의 실시예에 따른 데이터 처리 방법(200)의 흐름도를 나타낸다.
도3은 본 개시의 실시예에 따른 데이터 처리 방법(300)의 흐름도를 나타낸다.
도4는 본 개시의 실시예에 따른 데이터 처리를 위한 예시적 환경(400)의 개략도를 나타낸다.
도5는 본 개시의 실시예에 따른 데이터 처리 장치(500)의 개략적 블록도를 나타낸다.
도6은 본 개시의 실시예에 따른 데이터 처리 장치(600)의 개략적 블록도를 나타낸다.
도7은 본 개시의 다수의 실시예를 실시 가능한 컴퓨팅 기기(700)의 블록도를 나타낸다.
아래에 첨부된 도면을 참조하여 본 개시의 실시예에 대한 보다 상세한 설명을 진행하기로 한다. 비록 첨부된 도면에 본 개시의 일부의 실시예가 도시되었으나, 본 개시는 각종의 형식으로 구현될 수 있으나, 본원에 기재된 실시예에 한정되는 것으로 해석되어서는 아니됨을 이해하여야 한다. 반대로, 이러한 실시예는 본 개시를 보다 확실하고 완전하게 이해하기 위해 제공된다. 본 개시의 첨부된 도면 및 실시예는 단지 예시적인 작용으로 이용될 뿐, 본 개시의 보호 범위를 한정하기 위한 것이 아님을 이해하여야 한다.
본 개시의 실시예의 설명에 있어서, 용어 "포함" 및 이와 유사한 용어는 개방적인 포함으로 이해하여야 하며, 즉, "포함하나, 이에 한정되지 않는다"로 이해하여야 한다. 용어 "기반으로"는 "적어도 부분적으로 기반으로"로 이해하여야 한다. 용어 "일 실시예" 또는 "해당 실시예"는 "적어도 하나의 실시예"로 이해하여야 한다. 용어 "제1", "제2" 등은 상이하거나 동일한 대상물을 지칭할 수 있다. 아래의 설명에는 기타의 명시적인 정의 및 암시적인 정의가 포함될 수도 있다.
통상적으로, 컴퓨팅 기기에 있어서, 메모리가 부족할 경우, 프로세서는 스왑 아웃 조작을 실행하여, 일부 자주 쓰이지 않는 메모리 내의 데이터를 자기 디스크로 저장함으로써, 메모리의 압력을 완화시킨다. 이러한 데이터가 필요할 경우, 프로세서는 다시 스왑 인 조작을 실행하여, 자기 디스크로부터 해당 데이터를 판독한다. 클라우드 컴퓨팅이 보급됨에 따라, 가상 머신 시스템도 자주 이러한 스왑 인/스왑 아웃 메커니즘을 사용하게 된다. 가상 머신으로 실행하는 스왑 아웃 조작은 가상 메모리 중의 데이터를 가상 디스크에 저장하는 것이다. 가상 디스크가 실제로 물리적 머신 상의 디스크 파일을 통해 시뮬레이션된 것이므로, 즉, 가상 디스크는 물리적 머신의 물리적 디스크 상의 기정 저장 공간에 대응된다. 따라서, 스왑 아웃 조작은 실제로 가상 메모리의 데이터를 물리적 디스크 상에 기입하는 것이다. 이에 대응하여, 스왑 인 조작은 필요한 데이터를 가상 디스크로부터 가상 메모리로 판독하며, 실제로 물리적 디스크로부터 상응한 데이터를 판독하여 가상 메모리에 기입한다.
가상 머신에서 스왑 인 또는 스왑 아웃 조작을 실행할 경우, 물리적 디스크에 대한 액세스는 데이터 처리 효율에 영향을 미치게 된다. 물리적 디스크의 액세서 조작은 버퍼링 I/O 모드 및 직접 I/O 모드와 같은 2가지 방식이 존재한다. 버퍼링 I/O 모드는 메모리 내의 버퍼링 페이지를 직접적으로 액세스하는 것이며, 버퍼링 페이지는 적장한 시기에 디스크 파일과 동기화를 진행한다. 직접 I/O 모드는 디스크에 대해 직접적으로 액세스 조작을 진행하는 것이다. 그러나, 직접 I/O 모드에 있어서, 디스크에 대해 I/O 조작을 진행하므로, 속도가 상대적으로 느리게 되며, 따라서 효율이 상대적으로 낮게 된다. 버퍼링 I/O 모드에 있어서, 가상 메모리에 대응되는 물리적 메모리 내의 데이터를 버퍼링 페이지에 직접적으로 복제하는 메모리 내의 데이터 복제이므로, 스왑 아웃을 진행할 경우 직접 I/O 모드보다 훌륭하다. 그러나 스왑 인 조작에 있어서, 버퍼링 페이지가 이미 소각되었을 경우, 버퍼링 I/O 모드는 먼저 데이터를 물리적 디스크로부터 버퍼링 페이지로 판독한 이후, 다시 버퍼링 페이지 중의 데이터를 가상 메모리에 대응되는 물리적 메모리 내에 복제하여야 한다. 이때, 버퍼링 I/O 모드의 성능은 직접 I/O 모드보다 못하게 된다. 또한, 이입 조작 또는 이출 조작에 있어서, 2가지 방식은 모두 메모리 내에서 데이터 복제 조작을 진행하여야 하므로, 대량의 시간을 소모하게 되며, 데이터 처리의 효율을 저감시킨다.
본 개시의 실시예에 의하면, 개선된 데이터 처리를 위한 방안을 제출한다. 해당 방안에 있어서, 데이터 블록을 가상 메모리로부터 가상 디스크로 저장하기 위한 요청을 획득하고, 해당 요청이 지시하는 가상 메모리 주소를 통해 대응되는 물리적 메모리 주소를 확정하고, 이어서 물리적 메모리 주소와 요청이 지시하는 가상 디스크 중 데이터를 저장하기 위한 가상 디스크 주소를 연관되게 저장함으로써, 데이터 블록을 가상 디스크에 저장하는 것을 실현한다. 데이터가 가상 디스크로부터 가상 메모리에 저장될 경우에도 유사한 조작을 이용한다. 데이터 블록의 저장 주소의 매핑 관계를 수정함으로써, 데이터 블록의 이동을 실현하고, 데이터 블록을 가상 디스크에 저장하거나 가상 메모리에 저장하는 과정에서의 데이터의 복제를 감소시키고, 데이터 처리의 효율을 향상시킨다.
도1은 본 개시의 실시예에 따른 데이터 처리를 위한 예시적 환경(100)의 개략도를 나타낸다. 예시적 환경(100)은 컴퓨팅 기기, 예컨대, 가상 머신(102)의 운행을 관리하기 위한 관리 장치(101)를 포함한다. 관리 장치(101)는 데이터 블록을 가상 머신(102)의 가상 메모리(104)로부터 가상 머신(102)의 가상 디스크(105)에 저장하거나, 또는 데이터 블록을 가상 디스크(105)로부터 가상 메모리(104)에 저장하도록, 가상 머신(102)을 관리할 수 있다. 관리 장치(101)는 독립적인 컴퓨팅 기기일 수 있으며, 해당 가상 머신(102)과 연관된 저장 시스템 중의 제어 장치일 수도 있으며, 가상 머신(102)의 운행을 관리할 수 있는 임의의 기타 적당한 기기일 수도 있다. 상술한 예시는 단지 본 개시의 실시예를 설명하기 위한 것일 뿐, 본 개시를 구체적으로 한정하기 위한 것이 아니다.
도1 중의 가상 머신(102)은 단지 예시일 뿐, 본 개시를 구체적으로 한정하기 위한 것이 아님을 이해하여야 한다. 당해 기술 분야의 당업자는 수요에 따라 관리 장치(101)로 임의의 적당한 수량의 가상 머신에 대해 관리를 진행하도록 할 수 있다.
가상 머신(102)은 특정된 응용 프로그램으로 물리적 기계의 하드웨어 플랫폼 상에서 구축한 응용 실행 환경을 가리키고, 사용자는 물리적 기계를 사용하듯이 해당 환경을 통해 응용 프로그램을 운행하고 이와 상호 작용할 수 있다. 하나의 가상 머신이 구축될 경우, 일반적으로 관리 장치(101)를 통해 해당 가상 머신을 호스팅하는 호스트 시스템으로부터 가상 머신(102)이 조작에서 사용하도록 일정한 수량의 자원을 배정 받아야 한다. 해당 자원은 가상 머신을 운행하기 위한 임의의 이용 가능한 자원일 수 있으며, 예컨대, 컴퓨팅 자원(예컨대, CPU, GPU, FPGA 등), 저장 자원(예컨대, 메모리, 저장 디스크 등), 네트워크 자원(예컨대, 네트워크 카드 등) 등일 수 있다.
가상 머신(102)은 가상 메모리(104)와 가상 디스크(105)를 포함한다. 가상 메모리(104)에 저장된 데이터 블록은 가상 메모리(104)에 대응되는 물리적 메모리(103) 상에 저장된다. 일부의 실시예에 있어서, 가상 메모리(104) 상의 데이터 블록의 저장 주소와 물리적 메모리(103) 상의 해당 데이터 블록의 저장 주소 사이에는 매핑 관계가 존재한다. 대안으로 또는 추가적으로, 이러한 매핑 관계는 데이터 항목으로서 매핑 목록에 저장된다. 예를 들어, 해당 매핑 목록은 새도우 페이지 목록 또는 확장 페이지 목록일 수 있다. 가상 메모리(104) 중의 데이터 블록의 저장 주소를 기반으로, 관리 장치(101)는 해당 매핑 목록을 통해 그에 대응되는 물리적 메모리 중의 저장 주소를 찾을 수 있다. 이상의 예시는 단지 본 개시의 실시예를 설명하기 위한 것일 뿐, 본 개시에 대한 구체적인 한정이 아니다.
가상 디스크(105)에 저장된 데이터 블록은 가상 디스크(105)에 대응되는 물리적 메모리(103) 상에 저장되거나 호스트의 물리적 디스크 상에 저장된다. 가상 디스크(105) 상의 데이터 블록이 물리적 메모리(103)에 존재할 경우, 가상 디스크(105)상의 데이터 블록의 주소와 물리적 메모리(103) 상의 데이터 블록의 주소 사이에는 매핑 관계가 존재한다. 일부의 실시예에 있어서, 해당 매핑 관계는 데이터 항목으로서 호스트 페이지 목록에 저장된다. 가상 디스크(105) 상의 데이터 블록이 물리적 메모리 상에 존재하지 않을 경우, 가상 디스크(105) 상의 데이터 블록을 물리적 디스크 상에 저장한다. 추가적으로, 가상 디스크(105) 상의 데이터 블록의 주소와 물리적 디스크 상의 데이터 블록의 주소에는 매핑 관계가 존재한다. 해당 매핑 관계는 기정의 파일로 구현된다. 예를 들어, 가상 디스크와 물리적 디스크의 매핑 관계를 구현하기 위한 호스트 파일로 구현된다. 이상의 예시는 단지 본 개시의 실시예를 설명하기 위한 것일 뿐, 본 개시에 대한 구체적인 한정이 아니다.
물리적 메모리(103)는 가상 메모리(104) 상의 데이터와 가상 디스크(105) 중의 일부의 데이터를 저장하기 위한 것이다. 일부의 실시예에 있어서, 물리적 메모리(103) 중의 가상 디스크(105)에 저장된 데이터 블록은 정기적으로 물리적 디스크에 플래시된다. 일부의 실시예에 있어서, 물리적 메모리(103) 중의 가상 디스크(105)에 저장된 데이터 량이 기정의 량보다 클 경우, 물리적 메모리(103) 중의 가상 디스크(105)에 관한 데이터 블록을 물리적 디스크 상에 플래시하게 된다. 이상의 예시는 단지 본 개시의 실시예를 설명하기 위한 것일 뿐, 본 개시에 대한 구체적인 한정이 아니다.
앞서 도1을 결부하여 본 개시의 실시예에 따른 데이터 처리를 위한 예시적 환경(100)의 개략도를 설명하였고, 아래에 도2를 결부하여 본 개시의 실시예에 따른 데이터 처리 방법(200)의 흐름도를 설명하기로 한다. 방법(200)은 도1 중의 관리 장치(101)로 구현될 수 있다. 토론의 편리를 위하여, 도1을 참조하여 방법(200)을 설명하기로 한다. 비록 특정된 순서로 도시되었으나, 방법(200) 중의 일부의 단계는 도시된 순서와 상이한 순서로 실행되거나 병렬로 실행될 수 있음을 이해하여야 한다. 본 개시의 실시예는 이러한 방면에 있어서 한정되지 않는다. 또한, 도1을 결부하여 설명한 방법(200)은 단지 예시일 뿐, 방법(200)을 구체적으로 한정하기 위한 것이 아니다.
블록(202)에서, 관리 장치(101)로 데이터 블록을 가상 머신(102)의 가상 메모리(104)로부터 가상 머신(102)의 가상 디스크(105)로 저장하기 위한 요청을 수신하되, 해당 요청은 가상 메모리(104) 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크(105) 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시한다. 가상 머신(102)으로 가상 메모리(104) 중의 데이터에 대해 이출 조작을 실행할 경우, 가상 메모리(104) 중의 데이터를 가상 디스크(105)에 저장한다. 따라서, 가상 머신(102)은 관리 장치(101)에 데이터 이출하는 요청을 송신하고, 해당 요청에는 가상 메모리(104) 중 이출될 데이터 블록의 저장 주소 및 가상 디스크(105) 중 데이터 블록을 저장하기 위한 저장 주소가 포함된다.
블록(204)에서, 관리 장치(101)로 가상 메모리 주소를 기반으로, 가상 머신(102)에 연관된 물리적 메모리(103) 내의 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정한다. 관리 장치(101)로 가상 머신(102)에서 송신한 데이터 이출 요청이 수신된 이후, 요청 중의 가상 메모리 주소를 통해 해당 데이터 블록이 실제로 위치하는 물리적 메모리 내의 주소를 확정한다. 일부의 실시예에 있어서, 가상 메모리(104) 중의 데이터 블록의 저장 주소와 데이터 블록이 위치하는 물리적 메모리(103) 중의 저장 주소는 매핑 관계를 구비한다. 일부의 실시예에 있어서, 해당 매핑 관계는 데이터 항목으로서 제1 매핑 목록에 저장되고, 해당 제1 매핑 목록은 예컨대 새도우 페이지 목록 또는 확장 페이지 목록일 수 있다. 따라서, 관리 장치(101)는 제1 매핑 목록을 통해 가상 메모리(104) 중의 데이터 블록이 위치하는 물리적 메모리 주소를 찾을 수 있다.
블록(206)에서, 관리 장치(101)로 가상 디스크 주소와 물리적 메모리 주소를 상호 연관되게 저장한다. 일부의 실시예에 있어서, 관리 장치(101)로 획득한 데이터 블록이 위치하는 물리적 메모리 주소와 데이터 블록을 저장하기 위한 가상 디스크 주소를 연관되게 저장한다. 예를 들어, 물리적 메모리 주소와 가상 디스크 주소의 매핑 관계를 하나의 데이터로서 제2 매핑 목록에 저장하며, 해당 제2 매칭 목록은 가상 디스크(105) 중의 데이터 블록의 주소와 물리적 메모리(103) 중의 데이터 블록의 주소의 매핑 관계를 저장하기 위한 것이다. 예를 들어, 해당 제2 매핑 목록은 호스트 페이지 목록일 수 있다. 데이터 블록이 위치하는 물리적 메모리 주소와 가상 디스크(105) 주소에는 매핑 관계가 존재하므로, 데이터 블록이 가상 디스크(105) 상에 저장되었음을 표시한다.
가상 메모리 중의 데이터를 가상 디스크에 저장하는 과정에 있어서, 단지 데이터 블록이 위치하는 물리적 메모리와 가상 디스크 사이의 매핑 관계를 수정하기만 하면, 데이터의 이출 조작을 실현하며, 이로써 데이터 블록의 복제량을 감소시키고, 이출의 효율을 향상시킨다.
또한, 가상 메모리(104) 중의 데이터 블록을 가상 디스크(105)로 이출한 이후, 가상 메모리(104) 중 해당 데이터 블록을 저장하는 가상 메모리 블록을 물리적 메모리(103) 중 하나의 새로운 물리적 메모리 블록에 매핑하여, 해당 가상 메모리 블록으로 새로운 데이터를 저장할 수 있도록 하여야 한다. 이때, 관리 장치(101)는 물리적 메모리(103)에서 가상 메모리(104)를 위해 새로운 물리적 메모리 블록을 배정하게 된다. 이어서, 관리 장치(101)는 배정된 새로운 물리적 메모리 블록의 주소와 해당 가상 메모리 주소를 연관되게 저장하며, 예컨대, 가상 메모리(104)와 물리적 메모리(103) 사이의 매핑 목록에 저장한다.
관리 장치(101)로 가상 디스크 주소와 물리적 메모리 주소를 상호 연관되게 저장할 경우, 가상 디스크 주소를 기반으로, 물리적 메모리(103)에 데이터 블록을 저장하기 위한 가상 디스크 메모리 블록에 대응되는 제1 물리적 메모리 블록이 존재하는지 여부를 확정하여야 한다. 해당 제1 물리적 메모리 블록이 존재하면, 제1 물리적 메모리 블록을 확보한다.
상술한 조작을 완료한 이후, 관리 장치(101)로 가상 머신(102)에 응답을 송신하여, 데이터 블록이 이미 가상 디스크(105)에 저장되었음을 지시한다.
제1 물리적 메모리 블록이 존재하는 것이 확정될 경우, 해당 제1 물리적 메모리 블록을 확보함으로써, 물리적 메모리의 저장 공간이 제때에 기타의 데이터를 저장하도록 할 수 있으며, 물리적 메모리의 사용 효율을 향상시킨다.
앞서 도2를 결부하여 본 개시의 실시예에 따른 데이터 처리 방법(200)의 흐름도를 설명하였고, 아래에 도3을 결부하여 본 개시의 실시예에 따른 데이터 처리 방법(300)의 흐름도를 설명하기로 한다. 방법(300)은 데이터 블록을 가상 디스크로부터 가상 메모리에 저장하기 위한 것이며, 도1 중의 관리 장치(101)로 구현될 수 있다. 토론의 편리를 위하여, 도1을 참조하여 방법(300)을 설명하기로 한다. 비록 특정된 순서로 도시되었으나, 방법(300) 중의 일부의 단계는 도시된 순서와 상이한 순서로 실행되거나 병렬로 실행될 수 있음을 이해하여야 한다. 본 개시의 실시예는 이러한 방면에 있어서 한정되지 않는다. 또한, 도1을 결부하여 설명한 방법(300)은 단지 예시일 뿐, 방법(300)을 구체적으로 한정하기 위한 것이 아니다.
블록(302)에서, 관리 장치(101)로 데이터 블록을 가상 머신(102)의 가상 디스크(105)로부터 가상 머신(102)의 가상 메모리(104)로 저장하기 위한 요청을 수신하되, 해당 요청은 가상 메모리(104) 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크(105) 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시한다. 가상 머신(102)으로 가상 디스크(105)의 데이터를 판독할 경우, 가상 디스크(105) 중의 데이터를 가상 메모리(104)에 저장한다. 따라서, 가상 머신(102)은 관리 장치(101)에 요청을 송신하게 되며, 해당 요청에는 가상 디스크(105) 중의 데이터 블록의 저장 주소 및 가상 메모리(104) 중 데이터 블록을 저장하기 위한 저장 주소가 포함된다.
블록(304)에서, 관리 장치(101)로 가상 디스크 주소를 기반으로, 가상 머신(102)에 연관된 물리적 메모리(103) 내의 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정한다.
일부의 실시예에 있어서, 관리 장치(101)로 가상 디스크 주소를 기반으로, 물리적 메모리 주소가 존재하는지 여부를 확정한다. 물리적 메모리 주소가 존재하지 않을 경우, 관리 장치(101)로 물리적 메모리(103)로부터 새로운 물리적 메모리 블록을 배정한다. 관리 장치(101)는 이어서 데이터 블록을 가상 디스크(105)에 연관된 물리적 디스크로부터 해당 새로운 배정된 물리적 메모리 블록으로 판독한다. 관리 장치(101)는 해당 새로운 배정된 물리적 메모리 블록의 주소를 물리적 메모리 주소로 확정한다.
블록(306)에서, 관리 장치(101)로 가상 메모리 주소와 물리적 메모리 주소를 연관되게 저장한다. 저장이 완료된 이후, 가상 머신(102)은 가상 메모리 주소를 통해 상응한 데이터 블록을 찾을 수 있다. 따라서, 데이터 블록은 가상 메모리(104)에 저장된다.
가상 디스크 중의 데이터를 가상 메모리에 저장하는 과정에 있어서, 단지 데이터 블록이 위치하는 물리적 메모리 주소와 가상 메모리 주소 사이의 매핑 관계를 수정하기만 하면, 데이터 블록을 가상 디스크로부터 가상 메모리로 저장하는 실현하고, 데이터 블록의 복제율을 감소시키며, 데이터 이동의 효율을 향상시킨다.
또한, 가상 디스크(105) 중의 데이터 블록을 가상 메모리(104)에 저장할 경우, 관리 장치(101)는 가상 메모리 주소를 기반으로, 물리적 메모리(103) 중 가상 메모리 중의 메모리 블록에 대응되는 이전의 물리적 메모리 블록을 확정하기도 한다. 관리 장치(101)로 해당 이전의 물리적 메모리 블록을 확정한 이후, 해당 이전의 물리적 메모리 블록을 확보한다. 일부의 실시예에 있어서, 관리 장치(101)는 가상 메모리(104)와 물리적 메모리(103) 사이의 매핑 목록을 기반으로 가상 메모리 주소에 대응되는 물리적 메모리 블록을 찾으며, 이어서, 해당 물리적 메모리 블록이 점용하는 저장 공간을 확보한다. 상술한 예시는 단지 본 개시의 실시예를 설명하기 위한 것일 뿐, 본 개시에 대해 구체적인 한정을 진행하기 위한 것이 아니다.
상술한 조작을 완료한 이후, 관리 장치(101)로 가상 머신(102)에 응답을 송신하여, 데이터 블록이 이미 가상 메모리(104)에 저장되었음을 지시한다.
물리적 메모리 중의 가상 메모리 메모리 블록에 대응되는 물리적 메모리 블록을 확정하고 그에 대응되는 저장 공간을 확보함으로써, 물리적 메모리의 저장 공간이 기타의 데이터에 이용되도록 할 수 있으며, 이로써 물리적 메모리의 사용 효율을 향상시킨다.
도4는 본 개시의 실시예에 따른 데이터 처리를 위한 예시적 환경(400)의 개략도를 나타낸다. 예시적 환경(400)은, 물리적 메모리(103), 가상 머신(102) 및 물리적 디스크(403)를 포함한다. 가상 머신(102)은 가상 메모리(104) 및 가상 디스크(105)를 포함한다. 물리적 메모리(103)는 가상 메모리(104) 중의 데이터 블록을 저장하도록 이용된다. 따라서, 제1 매핑 목록(404)에는 물리적 메모리(103) 중 데이터 블록을 저장하기 위한 물리적 블록의 주소 또는 데이터 블록의 주소와 가상 메모리(104) 중 데이터를 저장하기 위한 데이터 블록의 메모리 블록의 주소 또는 데이터 블록의 주소 사이의 매핑 관계가 저장된다. 예를 들어, 제1 매핑 목록(404)은 새도우 페이지 목록 또는 확장 페이지 목록일 수 있다. 제1 메모리 블록(401)과 제2 메모리 블록(406)의 매핑 관계는 제1 매핑 목록(404)에 저장된다.
가상 디스크(105)와 물리적 메모리(103) 사이에는 제2 매핑 목록(405)이 존재한다. 제2 매핑 목록(405)은 가상 디스크(105) 중의 데이터 블록이 위치하는 메모리 블록 주소 또는 데이터 블록의 주소와 물리적 메모리(103) 중의 데이터 블록이 위치하는 메모리 블록 주소 또는 데이터 블록 주소 사이의 매핑 관계를 저장한다. 가상 디스크(105) 중의 제4 메모리 블록(407)의 주소와 물리적 메모리(103) 중의 제3 메모리 블록(402)의 주소 사이의 매핑 관계는 제2 매핑 목록(405)에 저장된다. 일 예시에 있어서, 제2 매핑 목록(405)은 호스트 페이지 목록이다. 또한, 가상 디스크(105)의 데이터 블록의 주소 또는 데이터 블록이 위치하는 메모리 블록의 주소가 제2 매핑 목록(405)에서 대응되는 매핑 관계가 존재하지 않을 경우, 가상 디스크(105) 중의 해당 데이터 블록이 물리적 디스크(403) 상에 존재함을 표시한다. 추가적으로, 가상 디스크(105)와 물리적 디스크(403) 사이에는 데이터 블록 또는 메모리 블록의 대응 관계를 반영하기 위한 파일이 존재한다. 일 예시에 있어서, 해당 파일은 호스트 파일이다.
일부의 실시예에 있어서, 가상 메모리(104) 중의 제2 메모리 블록(406) 중의 데이터 블록을 가상 디스크(105)의 제4 메모리 블록(407)에 저장할 경우, 관리 장치(101)는 제2 메모리 블록(406)과 제4 메모리 블록(407)의 주소를 수신한다. 관리 장치(101)는 제2 메모리 블록(406) 중의 주소를 기반으로 제1 매핑 목록(404)에서 제1 메모리 블록(401)의 주소를 찾는다. 관리 장치(101)는 이어서 제2 매핑 목록(405)에서 제4 메모리 블록(407)의 매핑 관계를 찾으며, 없을 경우, 제2 매핑 목록(405)에 제1 메모리 블록(401)의 주소와 제4 메모리 블록(407)의 주소를 저장한다. 따라서, 가상 디스크(105) 중의 주소를 통해 해당 데이터 블록을 찾을 수 있으며, 이는 블록이 가상 디스크(105) 상에 저장되었음을 표시한다. 제2 매핑 목록(405)에 제4 메모리 블록(407)의 주소에 관한 매핑 관계가 존재할 경우, 해당 매핑 관계를 제1 메모리 블록(401)의 주소와 제4 메모리 블록(407)의 주소의 매핑 관계로 수정한다. 또한, 관리 장치(101)는 제4 메모리 블록(407)에 대응되는 제3 메모리 블록(402)이 점용한 저장 공간을 확보한다.
또한, 제1 메모리 블록(401)이 가상 디스크(105) 중의 주소에 대응되므로, 물리적 메모리(103)에서 다시 제2 메모리 블록(406)을 위해 대응되는 메모리 블록을 배정하고, 이들 사이의 매핑 관계를 제1 매핑 목록(404)에 저장하여야 한다. 상술한 조작을 완료한 이후, 관리 장치(101)는 가상 머신(102)에 데이터 이출 조작이 완료된 응답을 송신한다.
일부의 실시예에 있어서, 가상 디스크(105) 중의 제4 메모리 블록(407) 중의 데이터 블록을 가상 메모리(104)의 제2 메모리 블록(406)에 저장할 경우, 관리 장치(101)는 제4 메모리 블록(407)의 주소와 제2 메모리 블록(406)의 주소를 수신한다. 관리 장치(101)는 제4 메모리 블록(407)의 주소를 기반으로 제2 매핑 목록(405)에서 대응되는 매핑 관계가 존재하는지 여부를 찾는다. 대응되는 매핑 관계가 존재할 경우, 물리적 메모리(103)에는 제4 메모리 블록(407)에 대응되는 제3 메모리 블록(402)이 구비되는 것을 표시한다. 제2 매핑 목록(405)에 대응되는 매핑 관계가 존재하지 않을 경우, 제4 메모리 블록(407) 중의 데이터가 물리적 디스크(403)에 저장되는 것을 표시한다. 관리 장치(101)는 이어서 가상 디스크(105)와 물리적 디스크(403) 사이의 매핑 관계를 통해 물리적 디스크(403)에서 제4 메모리 블록(407)에 대응되는 데이터 블록를 찾은 후, 물리적 메모리(103)에서 제3 메모리 블록(402)을 배정하고 데이터 블록을 제3 메모리 블록(402)으로 판독한다. 관리 장치(101)는 이어서 제3 메모리 블록(402)의 주소와 제2 메모리 블록(406)의 주소의 매핑 관계를 제1 매핑 목록(404)에 저장한다. 따라서, 가상 머신(102)은 가상 메모리(104) 중의 주소를 통해 해당 데이터 블록을 찾을 수 있으며, 이는 해당 데이터 블록이 가상 메모리(104)에 저장되었음을 표시한다.
또한, 제2 메모리 블록(406)에 대응되는 제1 메모리 블록(401)을 확보하여야 한다. 상술한 조작을 완료한 이후, 관리 장치는 가상 머신(102)에 데이터를 가상 메모리(104)에 저장하는 것이 완료된 응답을 송신한다.
도5는 본 개시의 실시예에 따른 데이터 처리 장치(500)의 개략적 블록도를 나타낸다. 장치(500)는 도1의 관리 장치(101)에 포함되거나, 관리 장치(101)로 구현될 수 있다. 도5에 도시된 바와 같이, 장치(500)는, 데이터 블록을 가상 머신의 가상 메모리로부터 가상 머신의 가상 디스크로 저장하기 위한 요청을 수신하도록 구성되되, 해당 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 제1 수신 모듈(502)을 포함한다. 장치(500)는, 가상 메모리 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내의 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하도록 구성된 제1 물리적 메모리 주소 확정 모듈(504)을 더 포함한다. 장치(500)는, 가상 디스크 주소와 물리적 메모리 주소를 상호 연관되게 저장하도록 구성된 제1 주소 저장 모듈(506)을 더 포함한다.
일부의 실시예에 있어서, 장치(500)는, 가상 디스크 주소를 기반으로, 물리적 메모리 중에 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 메모리 블록에 대응되는 제1 물리적 메모리 블록이 존재하는지 여부를 확정하도록 구성된 제1 물리적 메모리 블록 확정 모듈과, 제1 물리적 메모리 블록이 존재함에 응답하여, 제1 물리적 메모리 블록을 확보하도록 구성된 제1 확보 모듈을 더 포함한다.
일부의 실시예에 있어서, 장치(500)는, 물리적 메모리에서 가상 메모리를 위해 제2 물리적 메모리 블록을 배정하도록 구성된 제1 배정 모듈과, 배정된 제2 물리적 메모리 블록의 주소와 가상 메모리 주소를 연관되게 저장하도록 구성된 가상 메모리 주소 저장 모듈을 더 포함한다.
일부의 실시예에 있어서, 장치(500)는, 가상 머신에 요청을 상대로 하는 응답을 송신하여, 데이터 블록이 이미 가상 디스크에 저장되었음을 지시하도록 구성된 제1 송신 모듈을 더 포함한다.
도6은 본 개시의 실시예에 따른 데이터 처리 장치(600)의 개략적 블록도를 나타낸다. 장치(600)는 도1의 관리 장치(101)에 포함되거나, 관리 장치(101)로 구현될 수 있다. 도6에 도시된 바와 같이, 장치(600)는, 데이터 블록을 가상 머신의 가상 디스크로부터 가상 머신의 가상 메모리로 저장하기 위한 요청을 수신하도록 구성되되, 요청은 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 주소 및 가상 디스크 중 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 제2 수신 모듈(602)을 포함한다. 장치(600)는, 가상 디스크 주소를 기반으로, 가상 머신에 연관된 물리적 메모리 내에서 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하도록 구성된 제2 물리적 메모리 주소 확정 모듈(604)을 더 포함한다. 장치(600)는, 가상 메모리 주소와 물리적 메모리 주소를 연관되게 저장하도록 구성된 제2 주소 저장 모듈(606)을 더 포함한다.
일부의 실시예에 있어서, 제2 물리적 메모리 주소 확정 모듈(604)은, 가상 디스크 주소를 기반으로, 물리적 메모리 주소가 존재하는지 여부를 확정하도록 구성된 판단 모듈과, 물리적 메모리 주소가 존재하지 않음에 응답하여, 물리적 메모리로부터 제1 물리적 메모리 블록을 배정하도록 구성된 제2 배정 모듈과, 데이터 블록을 가상 디스크에 연관된 물리적 디스크로부터 제1 물리적 메모리 블록으로 저장하도록 구성된 데이터 블록 저장 모듈과, 제1 물리적 블록의 주소를 물리적 메모리 주소로 확정하도록 구성된 제3 물리적 메모리 주소 확정 모듈을 포함한다.
일부의 실시예에 있어서, 장치(600)는, 가상 메모리 주소를 기반으로, 물리적 메모리 중의 가상 메모리 중 데이터 블록을 저장하기 위한 가상 메모리 메모리 블록에 대응되는 제2 물리적 메모리 블록을 확정하도록 구성된 제2 물리적 메모리 블록 확정 모듈과, 제2 물리적 메모리 블록을 확보하도록 구성된 제2 확보 모듈을 더 포함한다.
일부의 실시예에 있어서, 장치(600)는, 가상 머신에 요청을 상대로 하는 응답을 송신하여, 데이터 블록이 이미 가상 메모리에 저장되었음을 지시하도록 구성된 제2 송신 모듈을 더 포함한다.
도7은 본 개시의 실시예을 실시 가능한 전자 기기(700)의 개략적 블록도를 나타낸다. 기기(700)는 도1의 관리 장치(101)를 구현하도록 이용될 수 있다. 도시된 바와 같이, 기기(700)는, 판독 전용 메모리(702; ROM)에 저장된 컴퓨터 프로그램 명령 또는 저장 유닛(708)에서 랜덤 액세스 메모리(703; RAM)에 로딩된 컴퓨터 프로그램 명령에 따라 각종의 적당한 작동 및 처리를 실행할 수 있는 컴퓨팅 유닛(701)을 포함한다. RAM(703)에는 기기(700)의 조작에 필요한 각종의 프로그램 및 데이터가 저장될 수도 있다. 컴퓨팅 유닛(701), ROM(702) 및 RAM(703)은 버스(704)를 통해 서로 연결된다. 입력/출력(I/O) 인터페이스(705)도 버스(704)에 연결된다.
기기(700) 중의 I/O 인터페이스(705)에 연결된 다수의 부재로서, 예컨대 키보드, 마우스 등과 같은 입력 유닛(706)과, 예컨대 각종의 유형의 표시 장치, 스프커 등과 같은 출력 유닛(707)과, 예컨대 자기 디스크, 광 디스크 등과 같은 저장 유닛(708)과, 예컨대 네트워크 카드, 모뎀, 무선 통신 송수신기 등과 같은 통신 유닛(709)을 포함한다. 통신 유닛(709)은 기기(700)가 인터넷과 같은 컴퓨터 네트워크 및/또는 각종의 통신 네트워크를 통해 기타의 기기와 정보/데이터를 교환하는 것을 허용한다.
컴퓨팅 유닛(701)은 처리 및 컴퓨팅 능력을 구비하는 각종의 범용 및/또는 특정 용도 처리 소자일 수 있다. 컴퓨팅 유닛(701)의 일부의 예시는 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 각종의 특정 용도 인공 지능(AI) 컴퓨팅 칩, 기계 학습 모델 알고리즘을 운행하는 각종의 컴퓨팅 유닛, 디지털 신호 프로세서(DSP), 및 임의의 적당한 프로세서, 제어 장치, 마이크로 제어 장치 등을 포함하나, 이에 한정되지 않는다. 컴퓨팅 유닛(701)은 앞서 설명한 각 방법 및 처리, 예컨대 방법(200) 및 방법(300)을 실행한다. 예를 들어, 일부의 실시예에 있어서, 방법(200) 및 방법(300)은 기계 판독 가능한 매체(예컨대, 저장 유닛(708))에 유형적으로 포함되는 컴퓨터 소프트웨어 프로그램으로 구현될 수 있다. 일부의 실시예에 있어서, 컴퓨터 프로그램의 일부 또는 전부는 ROM(702) 및/또는 통신 유닛(709)을 경유하여 기기(700)에 로딩되거나 및/또는 설치될 수 있다. 컴퓨터 프로그램이 RAM(703)에 로딩되고 컴퓨팅 유닛(701)에 의해 실행될 경우, 앞서 설명한 방법(200) 및 방법(300)의 하나 또는 다수의 단계가 실행될 수 있다. 대안으로, 기타의 실시예에 있어서, 컴퓨팅 유닛(701)은 기타의 임의의 적당한 방식을 통해(예컨대, 펌웨어에 의존하여) 방법(200, 300)을 실행하도록 구성될 수 있다.
본원에서 앞서 설명한 기능은 적어도 부분적으로 하나 또는 다수의 하드웨어 로직 부재로 실행될 수 있다. 예들 들어, 사용 가능한 예시적 유형의 하드웨어 로직 부재는, 필드 프로그램 가능한 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 특정 용도 표준 제품(ASSP), 시스템 온 칩 시스템(SOC), 복합 프로그램 가능한 로직 소자(CPLD) 등을 포함하나, 이에 한정되지 않는다.
본 개시의 방법을 실시하기 위한 프로그램 코드는 하나 또는 다수의 프로그래밍 언어의 임의의 조합을 이용하여 작성할 수 있다. 이러한 프로그램 코드는 범용의 컴퓨터, 특정 용도 컴퓨터, 또는 기타의 프로그램 가능한 데이터 처리 장치의 프로세서 또는 제어 장치에 제공될 수 있으며, 이로써 프로그램 코드가 프로세서 또는 제어 장치에 의해 실행될 경우, 흐름도 및/또는 블록도에 규정된 기능/조작이 실시되도록 한다. 프로그램 코드는 완전히 기계 상에서 실행되거나, 부분적으로 기계상에서 실행되거나, 독립적인 소프트웨어로서 부분적으로 기계 상에서 실행되고 부분적으로 원격 기계 상에서 실행되거나, 또는 완전히 원격 기계 또는 서버 상에서 실행된다.
본 개시의 맥락에 있어서, 기계 판독 가능한 매체는 명령 실행 시스템, 장치 또는 기기가 사용하거나 또는 명령 실행 시스템, 장치 또는 기기와 결부하여 사용되는 프로그램을 포함하거나 저장할 수 있는 유형의 매체일 수 있다. 기계 판독 가능한 매체는 기계 판독 가능한 신호 매체 또는 기계 판독 가능한 저장 매체일 수 있다. 기계 판독 가능한 매체는 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치 또는 기기, 또는 상술한 내용의 임의의 적합한 조합을 포함할 수 있으나, 이에 한정되지 않는다. 기계 판독 가능한 저장 매체의 보다 구체적인 예시는 하나 또는 다수의 선을 기반으로 하는 전기적 연결, 휴대용 컴퓨터 디스크, 하드 드라이버, 랜덤 액세서 메모리(RAM), 판독 전용 메모리(ROM), 소거 및 프로그램 가능한 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 콤팩트 디스크 판독 전용 메모리(CD-ROM), 광학 저장 소자, 자기 저장 소자, 또는 상술한 내용의 임의의 적합한 조합을 포함한다.
또한, 특정의 순서를 각 조작을 설명하였으나, 도시된 특정의 순서 또는 순차적인 순서로 이러한 조작을 실행하는 것을 요구하거나, 원하는 결과를 취득하기 위하여 도시된 모든 조작을 실행하여야 되는 것을 요구하는 것으로 이해하여서는 아니된다. 일정한 환경에서, 다중 태스크 및 병행 처리는 유리할 수 있다. 마찬가지로, 앞서 진행한 토론에는 여러개의 구체적인 구현 세부 사항이 포함되었으나, 이러한 구현 세부 사항은 본 개시의 범위에 대한 한정으로 해석하여서는 아니된다. 별개의 실시예의 맥락에서 설명된 일부의 특징은 단일의 구현에 조합되어 구현될 수도 있다. 반대로, 단일의 구현의 맥락에서 설명된 각종의 특징은 단독으로 또는 임의의 적합한 서브 조합의 방식으로 다수의 구현에 구현될 수도 있다.
이미 구조 특징 및/또는 방법 로직 동작에 특정된 언어를 이용하여 본 과제에 대한 설명을 진행하였으나, 첨부된 특허청구범위에 한정된 과제는 앞서 설명한 특정의 특징 또는 동작에 반드시 한정되는 것이 아님을 이해하여야 한다. 반대로, 앞서 설명한 특정의 특징 또는 동작은 단지 특허청구범위를 구현하는 예시적 형식이다.

Claims (20)

  1. 데이터 블록을 가상 머신의 가상 메모리로부터 상기 가상 머신의 가상 디스크로 저장하기 위한 요청을 수신하되, 상기 요청은 상기 가상 메모리 중 상기 데이터 블록을 저장하기 위한 가상 메모리 주소 및 상기 가상 디스크 중 상기 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 단계와,
    상기 가상 메모리 주소를 기반으로, 상기 가상 머신에 연관된 물리적 메모리 내에서 상기 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하는 단계와,
    상기 가상 디스크 주소와 상기 물리적 메모리 주소를 상호 연관되게 저장하는 단계를 포함하는 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 가상 디스크 주소를 기반으로, 상기 가상 디스크 중 상기 데이터 블록을 저장하기 위한 가상 디스크 메모리 블록에 대응되는 제1 물리적 메모리 블록이 상기 물리적 메모리 중에 존재하는지 여부를 확정하는 단계와,
    상기 제1 물리적 메모리 블록이 존재함에 응답하여, 상기 제1 물리적 메모리 블록을 확보하는 단계를 더 포함하는 데이터 처리 방법.
  3. 제1항에 있어서,
    상기 물리적 메모리에서 상기 가상 메모리를 위해 제2 물리적 메모리 블록을 배정하는 단계와,
    배정된 상기 제2 물리적 메모리 블록의 주소와 상기 가상 메모리 주소를 연관되게 저장하는 단계를 더 포함하는 데이터 처리 방법.
  4. 제1항에 있어서,
    상기 가상 머신으로 상기 요청에 대한 응답을 송신하여, 상기 데이터 블록이 이미 상기 가상 디스크에 저장되었음을 지시하는 단계를 더 포함하는 데이터 처리 방법.
  5. 데이터 블록을 가상 머신의 가상 디스크로부터 상기 가상 머신의 가상 메모리로 저장하기 위한 요청을 수신하되, 상기 요청은 상기 가상 메모리 중 상기 데이터 블록을 저장하기 위한 가상 메모리 주소 및 상기 가상 디스크 중 상기 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 단계와,
    상기 가상 디스크 주소를 기반으로, 상기 가상 머신에 연관된 물리적 메모리 내에서 상기 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하는 단계와,
    상기 가상 메모리 주소와 상기 물리적 메모리 주소를 연관되게 저장하는 단계를 포함하는 데이터 처리 방법.
  6. 제5항에 있어서,
    상기 가상 머신에 연관된 물리적 메모리 내에서 상기 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하는 단계는,
    상기 가상 디스크 주소를 기반으로, 상기 물리적 메모리 주소가 존재하는지 여부를 확정하는 단계와,
    상기 물리적 메모리 주소가 존재하지 않음에 응답하여, 상기 물리적 메모리로부터 제1 물리적 메모리 블록을 배정하는 단계와,
    상기 데이터 블록을 상기 가상 디스크에 연관된 물리적 디스크로부터 상기 제1 물리적 메모리 블록으로 저장하는 단계와,
    상기 제1 물리적 블록의 주소를 상기 물리적 메모리 주소로 확정하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.
  7. 제5항에 있어서,
    상기 가상 메모리 주소를 기반으로, 상기 물리적 메모리 중의 상기 가상 메모리 중 상기 데이터 블록을 저장하기 위한 가상 메모리 메모리 블록에 대응되는 제2 물리적 메모리 블록을 확정하는 단계와,
    상기 제2 물리적 메모리 블록을 확보하는 단계를 더 포함하는 데이터 처리 방법.
  8. 제5항에 있어서,
    상기 가상 머신으로 상기 요청에 대한 응답을 송신하여, 상기 데이터 블록이 이미 상기 가상 메모리에 저장되었음을 지시하는 단계를 더 포함하는 데이터 처리 방법.
  9. 데이터 블록을 가상 머신의 가상 메모리로부터 상기 가상 머신의 가상 디스크로 저장하기 위한 요청을 수신하도록 구성되되, 상기 요청은 상기 가상 메모리 중 상기 데이터 블록을 저장하기 위한 가상 메모리 주소 및 상기 가상 디스크 중 상기 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 제1 수신 모듈과,
    상기 가상 메모리 주소를 기반으로, 상기 가상 머신에 연관된 물리적 메모리 내에서 상기 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하도록 구성된 제1 물리적 메모리 주소 확정 모듈과,
    상기 가상 디스크 주소와 상기 물리적 메모리 주소를 상호 연관되게 저장하도록 구성된 제1 주소 저장 모듈을 포함하는 데이터 처리 장치.
  10. 제9항에 있어서,
    상기 가상 디스크 주소를 기반으로, 상기 가상 디스크 중 상기 데이터 블록을 저장하기 위한 가상 디스크 메모리 블록에 대응되는 제1 물리적 메모리 블록이 상기 물리적 메모리 중에 존재하는지 여부를 확정하도록 구성된 제1 물리적 메모리 블록 확정 모듈과,
    상기 제1 물리적 메모리 블록이 존재함에 응답하여, 상기 제1 물리적 메모리 블록을 확보하도록 구성된 제1 확보 모듈을 더 포함하는 데이터 처리 장치.
  11. 제9항에 있어서,
    상기 물리적 메모리에서 상기 가상 메모리를 위해 제2 물리적 메모리 블록을 배정하도록 구성된 제1 배정 모듈과,
    배정된 상기 제2 물리적 메모리 블록의 주소와 상기 가상 메모리 주소를 연관되게 저장하도록 구성된 가상 메모리 주소 저장 모듈을 더 포함하는 데이터 처리 장치.
  12. 제9항에 있어서,
    상기 가상 머신으로 상기 요청에 대한 응답을 송신하여, 상기 데이터 블록이 이미 상기 가상 디스크에 저장되었음을 지시하도록 구성된 제1 송신 모듈을 더 포함하는 데이터 처리 장치.
  13. 데이터 블록을 가상 머신의 가상 디스크로부터 상기 가상 머신의 가상 메모리로 저장하기 위한 요청을 수신하도록 구성되되, 상기 요청은 상기 가상 메모리 중 상기 데이터 블록을 저장하기 위한 가상 메모리 주소 및 상기 가상 디스크 중 상기 데이터 블록을 저장하기 위한 가상 디스크 주소를 지시하는 제2 수신 모듈과,
    상기 가상 디스크 주소를 기반으로, 상기 가상 머신에 연관된 물리적 메모리 내에서 상기 데이터 블록을 저장하기 위한 물리적 메모리 주소를 확정하도록 구성된 제2 물리적 메모리 주소 확정 모듈과,
    상기 가상 메모리 주소와 상기 물리적 메모리 주소를 연관되게 저장하도록 구성된 제2 주소 저장 모듈을 포함하는 데이터 처리 장치.
  14. 제13항에 있어서,
    상기 제2 물리적 메모리 주소 확정 모듈은,
    상기 가상 디스크 주소를 기반으로, 상기 물리적 메모리 주소가 존재하는지 여부를 확정하도록 구성된 판단 모듈과,
    상기 물리적 메모리 주소가 존재하지 않음에 응답하여, 상기 물리적 메모리로부터 제1 물리적 메모리 블록을 배정하도록 구성된 제2 배정 모듈과,
    상기 데이터 블록을 상기 가상 디스크에 연관된 물리적 디스크로부터 상기 제1 물리적 메모리 블록으로 저장하도록 구성된 데이터 블록 저장 모듈과,
    상기 제1 물리적 블록의 주소를 상기 물리적 메모리 주소로 확정하도록 구성된 제3 물리적 메모리 주소 확정 모듈을 포함하는 것을 특징으로 하는 데이터 처리 장치.
  15. 제13항에 있어서,
    상기 가상 메모리 주소를 기반으로, 상기 물리적 메모리 중의 상기 가상 메모리 중 상기 데이터 블록을 저장하기 위한 가상 메모리 메모리 블록에 대응되는 제2 물리적 메모리 블록을 확정하도록 구성된 제2 물리적 메모리 블록 확정 모듈과,
    상기 제2 물리적 메모리 블록을 확보하도록 구성된 제2 확보 모듈을 더 포함하는 데이터 처리 장치.
  16. 제13항에 있어서,
    상기 가상 머신으로 상기 요청에 대한 응답을 송신하여, 상기 데이터 블록이 이미 상기 가상 메모리에 저장되었음을 지시하도록 구성된 제2 송신 모듈을 더 포함하는 데이터 처리 장치.
  17. 하나 또는 다수의 프로세서와,
    하나 또는 다수의 프로그램을 저장하기 위한 메모리를 포함하는 전자 기기에 있어서,
    상기 하나 또는 다수의 프로그램이 상기 하나 또는 다수의 프로세서에 의해 실행될 경우, 상기 하나 또는 다수의 프로세서가 제1항 내지 제4항 중의 어느 한 항의 방법을 구현하도록 하는 전자 기기.
  18. 하나 또는 다수의 프로세서와,
    하나 또는 다수의 프로그램을 저장하기 위한 메모리를 포함하는 전자 기기에 있어서,
    상기 하나 또는 다수의 프로그램이 상기 하나 또는 다수의 프로세서에 의해 실행될 경우, 상기 하나 또는 다수의 프로세서가 제5항 내지 제8항 중의 어느 한 항의 방법을 구현하도록 하는 전자 기기.
  19. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 저장 매체에 있어서,
    상기 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제4항 중의 어느 한 항의 방법이 구현되도록 하는 컴퓨터 판독 가능한 저장 매체.
  20. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 저장 매체에 있어서,
    상기 프로그램이 프로세서에 의해 실행될 경우, 제5항 내지 제8항 중의 어느 한 항의 방법이 구현되도록 하는 컴퓨터 판독 가능한 저장 매체.
KR1020200003530A 2019-05-24 2020-01-10 데이터 처리 방법, 장치, 기기 및 매체 KR102326280B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910438970.2 2019-05-24
CN201910438970.2A CN110209354B (zh) 2019-05-24 2019-05-24 用于处理数据的方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
KR20200135715A true KR20200135715A (ko) 2020-12-03
KR102326280B1 KR102326280B1 (ko) 2021-11-16

Family

ID=67788566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003530A KR102326280B1 (ko) 2019-05-24 2020-01-10 데이터 처리 방법, 장치, 기기 및 매체

Country Status (4)

Country Link
US (1) US20200371827A1 (ko)
JP (1) JP6974510B2 (ko)
KR (1) KR102326280B1 (ko)
CN (1) CN110209354B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102562160B1 (ko) * 2022-11-22 2023-08-01 쿤텍 주식회사 인메모리를 이용한 가상 머신 시스템 및 그 동작 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112261075A (zh) * 2020-09-07 2021-01-22 上海泛微软件有限公司 网络请求处理方法、装置、设备及计算机可读存储介质
CN117707437A (zh) * 2024-02-06 2024-03-15 济南浪潮数据技术有限公司 基于分布式存储系统的虚拟磁盘存储方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010035845A (ko) * 1999-10-04 2001-05-07 윤종용 메모리 모듈을 이용하여 컴퓨터 시스템의 가상 메모리를 확장하기 위한 장치 및 방법
KR20060047639A (ko) * 2004-04-30 2006-05-18 마이크로소프트 코포레이션 가상 환경으로부터 하드웨어로의 직접적인 액세스를제공하는 컴퓨터 판독가능 매체
KR20090122936A (ko) * 2007-06-27 2009-12-01 인터내셔널 비지네스 머신즈 코포레이션 가상 머신의 메모리를 관리하기 위한 시스템, 방법 및 프로그램
KR20140092493A (ko) * 2012-12-31 2014-07-24 고려대학교 산학협력단 가상화 시스템에서의 메모리 관리 방법
KR20160033689A (ko) * 2013-07-17 2016-03-28 비트데펜더 아이피알 매니지먼트 엘티디 스왑 아웃된 메모리 페이지의 가상 머신 가상화된 메모리로의 맵핑을 위한 가상 머신에서의 페이지 오류 삽입
KR20170029583A (ko) * 2014-09-12 2017-03-15 인텔 코포레이션 가상 컴퓨팅 환경에서의 메모리 및 자원 관리

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5918249A (en) * 1996-12-19 1999-06-29 Ncr Corporation Promoting local memory accessing and data migration in non-uniform memory access system architectures
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
JP5471677B2 (ja) * 2010-03-23 2014-04-16 日本電気株式会社 仮想ディスク制御システム、方法及びプログラム
US9146765B2 (en) * 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
US8725782B2 (en) * 2011-04-25 2014-05-13 Microsoft Corporation Virtual disk storage techniques
US9223502B2 (en) * 2011-08-01 2015-12-29 Infinidat Ltd. Method of migrating stored data and system thereof
JP5733136B2 (ja) * 2011-09-26 2015-06-10 富士通株式会社 情報処理装置の制御方法、制御プログラム及び情報処理装置
US10474369B2 (en) * 2012-02-06 2019-11-12 Vmware, Inc. Mapping guest pages to disk blocks to improve virtual machine management processes
US9311140B2 (en) * 2013-08-13 2016-04-12 Vmware, Inc. Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses
US9183093B2 (en) * 2013-12-05 2015-11-10 Vmware, Inc. Virtual machine crash management
JP6336090B2 (ja) * 2014-01-02 2018-06-06 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データベースシステムにおけるオンライン分析処理のためのデータを維持する方法および装置
US9495191B2 (en) * 2014-01-28 2016-11-15 Red Hat Israel, Ltd. Using virtual disk in virtual machine live migration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010035845A (ko) * 1999-10-04 2001-05-07 윤종용 메모리 모듈을 이용하여 컴퓨터 시스템의 가상 메모리를 확장하기 위한 장치 및 방법
KR20060047639A (ko) * 2004-04-30 2006-05-18 마이크로소프트 코포레이션 가상 환경으로부터 하드웨어로의 직접적인 액세스를제공하는 컴퓨터 판독가능 매체
KR20090122936A (ko) * 2007-06-27 2009-12-01 인터내셔널 비지네스 머신즈 코포레이션 가상 머신의 메모리를 관리하기 위한 시스템, 방법 및 프로그램
KR20140092493A (ko) * 2012-12-31 2014-07-24 고려대학교 산학협력단 가상화 시스템에서의 메모리 관리 방법
KR20160033689A (ko) * 2013-07-17 2016-03-28 비트데펜더 아이피알 매니지먼트 엘티디 스왑 아웃된 메모리 페이지의 가상 머신 가상화된 메모리로의 맵핑을 위한 가상 머신에서의 페이지 오류 삽입
KR20170029583A (ko) * 2014-09-12 2017-03-15 인텔 코포레이션 가상 컴퓨팅 환경에서의 메모리 및 자원 관리

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102562160B1 (ko) * 2022-11-22 2023-08-01 쿤텍 주식회사 인메모리를 이용한 가상 머신 시스템 및 그 동작 방법

Also Published As

Publication number Publication date
JP2020194522A (ja) 2020-12-03
US20200371827A1 (en) 2020-11-26
CN110209354B (zh) 2022-04-19
JP6974510B2 (ja) 2021-12-01
KR102326280B1 (ko) 2021-11-16
CN110209354A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
WO2017066944A1 (zh) 一种存储设备访问方法、装置和系统
KR102326280B1 (ko) 데이터 처리 방법, 장치, 기기 및 매체
US8943294B2 (en) Software architecture for service of collective memory and method for providing service of collective memory using the same
US9189271B2 (en) Operation transfer from an origin virtual machine to a destination virtual machine while continue the execution of the operation on the origin virtual machine
US11048447B2 (en) Providing direct data access between accelerators and storage in a computing environment, wherein the direct data access is independent of host CPU and the host CPU transfers object map identifying object of the data
CN111309649B (zh) 一种数据传输和任务处理方法、装置及设备
US10346317B2 (en) Determining cores to assign to cache hostile tasks
CN110119304B (zh) 一种中断处理方法、装置及服务器
CN110058946B (zh) 设备虚拟化方法、装置、设备及存储介质
US20200348873A1 (en) Virtual Machine Migration System
WO2011064616A1 (en) Method and system for enabling access to functionality provided by resources outside of an operating system environment
CN112612623A (zh) 一种共享内存管理的方法和设备
CN113678104A (zh) 设备内符号数据移动系统
US10339065B2 (en) Optimizing memory mapping(s) associated with network nodes
CN115562871A (zh) 内存分配管理的方法和装置
US10936219B2 (en) Controller-based inter-device notational data movement system
US11003378B2 (en) Memory-fabric-based data-mover-enabled memory tiering system
US9529721B2 (en) Control device, and storage system
US11281612B2 (en) Switch-based inter-device notational data movement system
CN113448897B (zh) 适用于纯用户态远端直接内存访问的优化方法
JP2003316589A (ja) 実記憶利用方法
US20230401160A1 (en) Address translation prefetching for input/output devices
US11106543B2 (en) Application image cloning system
WO2023241655A1 (zh) 数据处理方法、装置、电子设备以及计算机可读存储介质
CN115756742A (zh) 直通i/o虚拟化的性能优化设计方法、系统、介质及设备

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant