TWI518502B - Apparatus, method and system for resilient computing cloud system - Google Patents

Apparatus, method and system for resilient computing cloud system Download PDF

Info

Publication number
TWI518502B
TWI518502B TW100132627A TW100132627A TWI518502B TW I518502 B TWI518502 B TW I518502B TW 100132627 A TW100132627 A TW 100132627A TW 100132627 A TW100132627 A TW 100132627A TW I518502 B TWI518502 B TW I518502B
Authority
TW
Taiwan
Prior art keywords
service
block device
write request
queue
data read
Prior art date
Application number
TW100132627A
Other languages
Chinese (zh)
Other versions
TW201229750A (en
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of TW201229750A publication Critical patent/TW201229750A/en
Application granted granted Critical
Publication of TWI518502B publication Critical patent/TWI518502B/en

Links

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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/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
    • 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/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

對彈性運算雲端系統升級的裝置,方法及系統Device, method and system for upgrading cloud computing cloud system

本申請係關於彈性運算雲技術領域和塊設備的儲存服務技術領域,尤其是係關於一種對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級的裝置、方法及系統。The present application relates to the field of storage computing technologies in the field of flexible computing cloud technology and block devices, and more particularly to an apparatus, method and system for upgrading an elastic computing cloud system that implements data storage based on a block device storage service.

彈性運算雲(Elastic Computing Cloud)是一種雲端運算服務,即基於虛擬化技術,將本地的實體伺服器虛擬化成多個虛擬伺服器來使用,以此來提高資源的使用率,壓縮成本。其中基於彈性運算雲技術虛擬出來的虛擬伺服器(即虛擬機)的儲存服務都是基於塊設備的遠端儲存服務,業界稱之為彈性塊儲存服務(Elastic Block Storage)。The Elastic Computing Cloud is a cloud computing service that virtualizes local physical servers into multiple virtual servers based on virtualization technology to improve resource utilization and reduce costs. The storage service of the virtual server (ie, virtual machine) virtualized based on the flexible computing cloud technology is based on the remote storage service of the block device, which is called Elastic Block Storage in the industry.

塊設備的遠端儲存服務,是基於塊設備驅動(Block Device Driver)提供的一種塊級別的儲存服務。本地的實體伺服器和/或虛擬伺服器可以將伺服器的資料基於塊的方式儲存到遠端的儲存資源池中,從而節約本地的儲存資源。簡而言之,塊設備的遠端儲存服務提供了一個類似實體裸硬碟的服務來儲存本地的實體伺服器和/或虛擬伺服器的資料,且對資料的格式、檔案系統的格式沒有任何限制。The remote storage service of the block device is a block-level storage service provided by the Block Device Driver. The local physical server and/or virtual server can store the data of the server in a block-based manner to the remote storage resource pool, thereby saving local storage resources. In short, the remote storage service of the block device provides a service similar to the physical hard disk to store the data of the local physical server and/or virtual server, and has no format for the data format and file system. limit.

隨著彈性運算雲技術的快速發展,彈性塊儲存服務對遠端儲存服務的高可用性提出了更高的要求。通常情況下,基於彈性運算雲技術虛擬出來的虛擬伺服器都數以萬計,並將虛擬出來的這數以萬計的虛擬伺服器提供給第三方使用(例如政府部門、傳統大中小型企業、互聯網中小站長、個人用戶等)。而眾多的虛擬伺服器組成的叢集都是依靠塊設備的遠端儲存服務而運轉起來的,顯然,遠端儲存服務承載並流轉著整個彈性運算雲端系統的資料,遠端儲存服務的可用性關係到整個彈性運算雲端系統的可用性。With the rapid development of flexible computing cloud technology, the elastic block storage service puts forward higher requirements for the high availability of remote storage services. Usually, virtual servers based on flexible computing cloud technology are tens of thousands of virtual servers, and the virtual servers that are virtualized are provided to third parties (such as government departments, traditional large and medium-sized enterprises). , small and medium-sized webmasters, individual users, etc.). The clusters of many virtual servers are all operated by the remote storage service of the block device. Obviously, the remote storage service carries and flows the data of the entire elastic computing cloud system, and the availability of the remote storage service is related to The availability of the entire elastic computing cloud system.

現有技術中,對基於塊設備的遠端儲存服務實現資料儲存的彈性運算雲端系統進行升級時,需要首先通知服務使用用戶因升級過程將導致服務暫停,然後將整個彈性運算雲端系統中的各個虛擬機伺服器的服務暫停,這樣才能對儲存服務進行服務升級(例如BUG的修復以及提供新的功能等),在重新部署後的服務正常工作後,再將整個彈性運算雲端系統中的虛擬機伺服器恢復正常運轉,從而完成一個升級過程。此外在升級過程中,如果用戶正在使用彈性運算雲端系統中的虛擬伺服器提供的Web服務訪問Web網頁時,就會導致用戶不能繼續訪問Web網頁,而如果用戶正在使用彈性運算雲端系統中的虛擬伺服器進行分散式運算時,也會導致用戶不得不終止當前正在進行的分散式運算。In the prior art, when an elastic computing cloud system that implements data storage based on a remote storage service of a block device is upgraded, it is necessary to first notify the service user that the service will be suspended due to the upgrade process, and then each virtual in the entire elastic computing cloud system The service of the server is suspended, so that the service upgrade of the storage service (such as the repair of the bug and the provision of new functions) can be performed. After the redeployed service works normally, the virtual machine in the entire elastic computing cloud system is served. The device resumes normal operation, completing an upgrade process. In addition, during the upgrade process, if the user is accessing the web page using the web service provided by the virtual server in the flexible computing cloud system, the user may not continue to access the web page, and if the user is using the virtual computing cloud system virtual system When the server performs decentralized operations, it also causes the user to terminate the decentralized operation currently in progress.

由此可見,現有技術中對基於塊設備的遠端儲存服務實現資料儲存的彈性運算雲端系統進行升級時,其升級過程十分繁瑣,升級過程中需要耗費較長時間,一般需要幾個小時的時間才能完成升級操作,升級效率比較低,並且還會導致用戶在升級過程中不得不中斷當前正在進行處理的業務,因此不能保證在升級過程中為用戶提供高可用的服務,降低了用戶的使用體驗。Therefore, in the prior art, when the flexible computing cloud system that implements data storage based on the remote storage service of the block device is upgraded, the upgrade process is very cumbersome, and the upgrade process takes a long time, and generally takes several hours. In order to complete the upgrade operation, the upgrade efficiency is relatively low, and the user has to interrupt the service currently being processed during the upgrade process. Therefore, it is not guaranteed to provide users with highly available services during the upgrade process, which reduces the user experience. .

本申請實施例提供一種對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級的裝置、方法及系統,以透過線上升級的方式提高升級效率,且避免升級對用戶正在使用的業務中斷所導致的用戶使用體驗差的問題。The embodiments of the present invention provide an apparatus, a method, and a system for upgrading an elastic computing cloud system that implements data storage based on a block device storage service, thereby improving upgrade efficiency through online upgrade, and avoiding upgrading the service interruption used by the user. The resulting user experience is poor.

為解決上述問題,本申請實施例提供了一種基於塊設備儲存服務實現資料儲存的彈性運算雲端系統中的伺服器,包括塊設備驅動裝置和至少一個塊設備服務裝置,其中:塊設備驅動裝置,用於在接收到對應一個塊設備服務裝置的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務裝置預先維護的等待佇列中,並從該等待佇列中提取資料讀寫請求並移置到為該塊設備服務裝置預先維護的未決佇列中,並將該未決佇列中的資料讀寫請求轉發給該塊設備服務裝置進行處理,並在接收到該塊設備服務裝置對接收到的資料讀寫請求的處理結果後,將轉發的資料讀寫請求從該未決佇列中刪除;並在確定出該塊設備服務裝置將進行業務升級時,停止將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,以及在確定出將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中;塊設備服務裝置,用於根據塊設備驅動裝置轉發來的資料讀寫請求,針對塊設備儲存資源池進行對應請求資料的讀寫操作。To solve the above problem, the embodiment of the present application provides a server in an elastic computing cloud system that implements data storage based on a block device storage service, including a block device driving device and at least one block device service device, where: a block device driving device, For receiving a data read/write request corresponding to a block device service device, placing the received data read/write request into a waiting queue pre-maintained for the block device service device, and extracting from the waiting queue The data read and write request is transferred to a pending queue pre-maintained for the block device service device, and the data read/write request in the pending queue is forwarded to the block device service device for processing, and the block is received After the device service device processes the received data read/write request, the forwarded data read/write request is deleted from the pending queue; and when it is determined that the device service device is to be upgraded, the pending The data read and write request in the queue is forwarded to the block device service for processing, and it is determined that the service upgrade or service will be performed. After the level is completed, the data read/write request in the pending queue is moved back to the waiting queue; the block device service device is configured to store the resource pool for the block device according to the data read/write request forwarded by the block device driving device. Perform read and write operations on the corresponding request data.

為解決上述問題,本申請實施例還提供了一種對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級的方法,包括在每次接收到對應一個塊設備服務的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務預先維護的等待佇列中;從該等待佇列中提取資料讀寫請求並移置到為該塊設備服務預先維護的未決佇列中,並將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,並在接收到該塊設備服務對接收到的資料讀寫請求的處理結果後,將轉發的資料讀寫請求從該未決佇列中刪除;以及在確定出該塊設備服務將進行業務升級時,停止將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理;以及在確定出將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中。In order to solve the above problem, the embodiment of the present application further provides a method for upgrading an elastic computing cloud system that implements data storage based on a block device storage service, including each time a data read/write request corresponding to a block device service is received, Placing the received data read and write request into a waiting queue pre-maintained for the block device service; extracting the data read/write request from the waiting queue and migrating to the pending queue pre-maintained for the block device service And forwarding the data read/write request in the pending queue to the block device service for processing, and after receiving the processing result of the received device read/write request by the block device service, the data read and write request to be forwarded Deleting from the pending queue; and when it is determined that the block device service is to be upgraded, the data read and write request in the pending queue is forwarded to the block device service for processing; and the service is determined to be performed After the upgrade or business upgrade is completed, the data read and write requests in the pending queue are moved back to the waiting queue.

為解決上述問題,本申請實施例還提供了一種對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級的裝置,包括等待佇列維護單元,用於在每次接收到對應一個塊設備服務的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務預先維護的等待佇列中;未決佇列維護單元,用於從該等待佇列維護單元維護的等待佇列中提取資料讀寫請求並移置到為該塊設備服務預先維護的未決佇列中;讀寫請求處理單元,用於將該未決佇列維護單元維護的未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,並在接收到該塊設備服務對接收到的資料讀寫請求的處理結果後,將轉發的資料讀寫請求從該未決佇列中刪除;並在確定出該塊設備服務將進行業務升級時,停止將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,以及在確定出將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中。In order to solve the above problem, the embodiment of the present application further provides an apparatus for upgrading an elastic computing cloud system that implements data storage based on a block device storage service, including a waiting queue maintenance unit, configured to receive a corresponding block device each time. When the service data read and write request is made, the received data read/write request is placed in the waiting queue that is pre-maintained for the block device service; the pending maintenance unit is used to wait for maintenance from the waiting queue maintenance unit. The data read and write request is extracted from the column and is placed in a pending queue that is pre-maintained for the service of the block device; the read and write request processing unit is configured to read and write the data in the pending queue maintained by the pending queue maintenance unit. Forwarding to the block device service for processing, and after receiving the processing result of the received device read/write request by the block device service, deleting the forwarded data read/write request from the pending queue; and determining the When the block device service performs a service upgrade, the data read and write request in the pending queue is stopped from being forwarded to the block device service for processing, and Fix the service after the service upgrade or update is completed, and the read data queue pending requests column displaced back to the waiting queue.

為解決上述問題,本申請實施例提供了一種基於塊設備儲存服務實現資料儲存的彈性運算雲端系統,包括儲存資源池,用於基於塊設備儲存服務方式儲存彈性運算雲端系統中的資料;和至少一個實體伺服器,用於在每次接收到對應一個塊設備服務的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務預先維護的等待佇列中,並從該等待佇列中提取資料讀寫請求並移置到為該塊設備服務預先維護的未決佇列中,並根據該未決佇列中的資料讀寫請求,針對該儲存資源池進行對應請求資料的讀寫操作;並在確定出該塊設備服務將進行業務升級時,停止對該未決佇列中的資料讀寫請求進行處理,以及在將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中。To solve the above problem, the embodiment of the present application provides an elastic computing cloud system for implementing data storage based on a block device storage service, including a storage resource pool, configured to store data in an elastic computing cloud system based on a block device storage service manner; and at least An entity server is configured to: when receiving a data read/write request corresponding to a block device service, place the received data read/write request into a waiting queue that is pre-maintained for the block device service, and from the Waiting for the data read/write request to be extracted and relocated to the pending queue for the block device service, and reading the corresponding request data for the storage resource pool according to the data read/write request in the pending queue Write operation; and when it is determined that the block device service will perform a service upgrade, stop processing the data read and write request in the pending queue, and after the service upgrade or service upgrade is completed, the pending queue is The data read and write request is moved back to the wait queue.

本申請實施例提出的技術方案,在基於塊設備儲存服務實現資料儲存的彈性運算雲端系統中的實體伺服器中,透過分別為每個虛擬出來的塊設備服務維護兩個佇列,一個是資料讀寫請求等待(Waiting)佇列,用來維護針對一個發向塊設備服務並等待其處理的資料讀寫請求,另一個是懸而未決(Pending)佇列,用來維護實體伺服器針該對塊設備服務當前正在處理的資料讀寫請求,在該塊設備服務需要進行升級時,停止對為該塊設備服務維護的Pending佇列中的資料讀寫請求進行處理,並在該塊設備服務升級完成並恢復運作後,將Pending佇列中正在處理的資料讀寫請求再次放入到Waiting佇列中重新接受調度處理,從而實現了在不中斷儲存服務的情況下完成對彈性運算雲端系統中儲存服務的業務升級處理,這提高了服務升級的效率,且避免了因升級造成用戶正在使用業務的中斷,在升級過程中能夠為用戶提供高可用的服務,進而提高了用戶的使用體驗。The technical solution proposed by the embodiment of the present application maintains two queues for each virtual block device service in the entity server in the elastic computing cloud system that implements data storage based on the block device storage service, and one is data. The Waiting and Waiting Waiting queue is used to maintain data read and write requests for a service to a block device and wait for its processing. The other is a Pending queue for maintaining the physical server pin pair. The data read/write request currently being processed by the device service stops processing the data read/write request in the Pending queue maintained for the block device service when the device service needs to be upgraded, and the service upgrade is completed in the block device service. After the operation resumes, the data read and write request being processed in the Pending queue is again put into the Waiting queue to re-accept the scheduling process, thereby realizing the completion of the storage service in the elastic computing cloud system without interrupting the storage service. Service upgrade processing, which improves the efficiency of service upgrades and avoids users being used due to upgrades. Interruption, to provide users with high availability service during the upgrade process, thereby improving the user experience.

本申請針對現有技術中,在對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級時,由於沒有熱部署實現線上升級方式,而是需要對彈性運算雲端系統中的各個虛擬伺服器停機後進行業務升級,升級完成後再啟動各個虛擬伺服器,這無論對於儲存服務提供方來說,還是對於儲存服務使用方來說,其維護成本都會大幅增加,並大大降低了服務的可用性。本申請針對此問題,提出在對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統中實現塊設備儲存服務的熱部署,以實現線上升級儲存服務,即在不中斷儲存服務的同時進行儲存服務的升級處理,以此來提升服務提供方儲存服務的可用性,並增強儲存服務的透明性,使得儲存服務的使用方不用關注後端服務的升級過程。In the prior art, when the elastic computing cloud system that implements data storage based on the block device storage service is upgraded, since there is no hot deployment to implement the online upgrade mode, the virtual server in the elastic computing cloud system needs to be shut down. After the service upgrade, the virtual server is started after the upgrade is completed, which greatly increases the maintenance cost for the storage service provider and the storage service user, and greatly reduces the service availability. To solve this problem, the present application proposes a hot deployment of a block device storage service in an elastic computing cloud system that implements data storage based on a block device storage service, so as to implement an online upgrade storage service, that is, a storage service without interrupting the storage service. The upgrade process is to improve the availability of the service provider storage service and enhance the transparency of the storage service, so that the user of the storage service does not pay attention to the upgrade process of the backend service.

所謂塊設備儲存服務的熱部署即塊設備服務的線上升級(Online Upgrade)方式,由於塊設備儲存服務是基於塊設備驅動技術的,因此彈性運算雲端系統中的實體伺服器中包含了內核態的塊設備驅動服務程式,內核態的塊設備驅動服務程式需要將資料讀寫請求轉發給實體伺服器包含的用戶態的塊設備服務程式,由用戶態的塊設備服務程式將讀寫請求轉發給遠端的網路儲存資源池或本地實體磁片儲存資源池等等來進而處理。其中,內核態的塊設備驅動服務程式相對於用戶態的塊設備服務程式而言,其更為穩定;而用戶態的塊設備服務程式需要頻繁的版本升級來提供更優質的儲存服務。按照本申請實施例提供的技術方案,其在彈性運算雲端系統中的實體伺服器中提供了一個可以支援線上升級的塊設備驅動服務程式,以提高儲存服務的可用性,並改善用戶的使用體驗。The hot deployment of the block device storage service is the online upgrade of the block device service. Since the block device storage service is based on the block device driving technology, the physical server in the elastic computing cloud system includes the kernel state. The block device driver service program, the kernel mode block device driver service program needs to forward the data read and write request to the user mode block device service program included in the entity server, and the user mode block device service program forwards the read and write request to the far The network storage resource pool or the local physical disk storage resource pool and so on are processed. Among them, the kernel mode block device driver service program is more stable than the user mode block device service program; and the user mode block device service program requires frequent version upgrades to provide better storage services. According to the technical solution provided by the embodiment of the present application, a block device driver service program that can support online upgrade is provided in a physical server in the flexible computing cloud system to improve the availability of the storage service and improve the user experience.

如圖1所示,為本申請實施例提出的技術方案所應用的基於塊設備儲存服務實現資料儲存的彈性運算雲端系統的拓撲結構圖,其中,彈性運算雲端系統中包括若干基於彈性運算雲技術將本地的實體伺服器虛擬出來的虛擬伺服器(圖中所示為虛擬伺服器1、虛擬伺服器2、虛擬伺服器3.......虛擬伺服器n),各個虛擬伺服器會將本地提供的基於塊設備儲存服務技術的資料儲存服務使用遠端的儲存資源池或本地的儲存資源池來實現,即各個虛擬伺服器會將本地需要保存的資料儲存到遠端的儲存資源池或本地設置的儲存資源池中,並在後續有讀取資料的請求時,從遠端的儲存資源池或本地設置的儲存資源池中讀取相關資料。這樣各個虛擬伺服器就可以共用遠端或本地設置的儲存資源池,而無需佔用本地實體伺服器本身的儲存資源,從而較佳地提高了彈性運算雲端系統的資源利用率。As shown in FIG. 1 , a topological structure diagram of an elastic computing cloud system based on a block device storage service implemented by a technical solution proposed by an embodiment of the present application, wherein the elastic computing cloud system includes several elastic computing cloud technologies Virtual server virtualized by the local physical server (virtual server 1, virtual server 2, virtual server 3.. virtual server n), each virtual server will The locally provided data storage service based on the block device storage service technology is implemented by using a remote storage resource pool or a local storage resource pool, that is, each virtual server stores the data that needs to be saved locally to the remote storage resource pool. Or the locally set storage resource pool, and when there is a request for reading data, the related data is read from the remote storage resource pool or the locally set storage resource pool. In this way, each virtual server can share a remote or locally set storage resource pool without occupying the storage resources of the local entity server itself, thereby improving the resource utilization of the elastic computing cloud system.

為實施本申請提出的技術方案,需要對上述介紹的彈性運算雲端系統中的實體伺服器的功能進行改進,以實現對儲存服務進行線上升級的目的。In order to implement the technical solution proposed by the present application, the function of the physical server in the flexible computing cloud system introduced above needs to be improved to achieve the purpose of online upgrade of the storage service.

如圖2所示,為本申請實施例提出的改進後的實體伺服器的組成結構示意圖,具體包括內核態的塊設備驅動裝置20、用戶態的用戶端裝置21和至少一個塊設備服務裝置22、以及本地或遠端儲存資源池23,其中塊設備驅動裝置20可以控制多個塊設備服務裝置22的工作,各組成部分透過下述工作原理來實現儲存服務的線上升級:內核態的塊設備驅動裝置20,其接收來自實體伺服器底層的讀寫調度層的資料讀寫請求,並將資料讀寫請求透過例如TCP協議等轉發給用戶態的塊設備服務裝置22。為了實現支持熱部署的線上升級功能,塊設備驅動裝置20分別為實體伺服器虛擬出來的每個塊設備服務裝置22維護了兩個佇列,其中一個為等待(Waiting)佇列,塊設備驅動裝置20每次接收到實體伺服器底層的讀寫調度層發來的對應某個塊設備服務裝置22的資料讀寫請求時,就將該接收到的讀寫請求放入到為該塊設備服務裝置22預先維護的Waiting佇列中等待後續處理;另外一個為懸而未決(Pending)佇列,塊設備驅動裝置20每次處理該塊設備服務裝置22的資料讀寫請求時,都會先從為該塊設備服務裝置22預先維護的Waiting佇列中提取資料讀寫請求並移放到為該塊設備服務裝置22預先維護的Pending佇列中,並將該Pending佇列中的請求轉發給該塊設備服務裝置22進行處理,可見Pending佇列中的讀寫請求都是實體伺服器當前正在處理的讀寫請求,當塊設備服務裝置22正確處理完塊設備驅動裝置20轉發過來的未決佇列的讀寫請求後,會向塊設備驅動裝置20發送正確處理的結果消息,塊設備驅動裝置20接收到正確處理的結果消息後,會將轉發的這些處理好的讀寫請求從未決佇列中刪除掉,接著處理懸而未決佇列中的其他讀寫請求,如此迴圈。後續當塊設備驅動裝置20確定出該塊設備服務裝置22將進行業務升級時,停止將針對該塊設備服務裝置22而預先維護的Pending佇列中的資料讀寫請求轉發給塊設備服務裝置22進行處理,以及在後續進而確定出將進行業務升級或業務升級完成後,塊設備驅動裝置20將為該塊設備服務裝置22預先維護的Pending佇列中的請求重新加入到為該塊設備服務裝置22預先維護的Waiting佇列中等待後續重新被調用並處理。As shown in FIG. 2, a schematic structural diagram of an improved physical server proposed in the embodiment of the present application includes a kernel device-based block device driving device 20, a user-mode user device 21, and at least one block device service device 22. And a local or remote storage resource pool 23, wherein the block device driver 20 can control the operation of the plurality of block device service devices 22, and each component implements an online upgrade of the storage service through the following working principle: a kernel device block device The driving device 20 receives the data read/write request from the read/write scheduling layer at the bottom of the physical server, and forwards the data read/write request to the block device service device 22 in the user state through, for example, the TCP protocol. In order to implement the online upgrade function supporting hot deployment, the block device driver 20 maintains two queues for each block device service device 22 virtualized by the physical server, one of which is a Waiting queue, and the block device driver Each time the device 20 receives the data read/write request corresponding to a certain block device service device 22 sent by the read/write scheduling layer of the underlying physical server, the device 20 puts the received read/write request into the device for the block device. The device 22 waits for the subsequent processing in the Waiting queue maintained by the device 22; the other is the Pending queue, and the block device driving device 20 firstly processes the data read and write request of the block device service device 22 from the block. The device service device 22 extracts the data read/write request from the previously maintained Waiting queue and moves it to the Pending queue pre-maintained for the block device service device 22, and forwards the request in the Pending queue to the block device service. The device 22 performs processing, and it can be seen that the read and write requests in the pending queue are the read and write requests currently being processed by the physical server, and the block device service device 22 is correctly processed. After the read/write request of the pending queue forwarded by the device driver 20, the result message of the correct processing is sent to the block device driving device 20. After the block device driving device 20 receives the result message of the correct processing, the processing will be forwarded. A good read and write request is removed from the unresolved queue, and then the other read and write requests in the pending queue are processed. Subsequently, when the block device driving device 20 determines that the block device service device 22 is to perform the service upgrade, the data read/write request in the Pending queue pre-maintained for the block device service device 22 is stopped from being forwarded to the block device service device 22. After processing, and after further determining that the service upgrade or service upgrade is to be completed, the block device driver 20 re-joins the request in the Pending queue pre-maintained by the block device service device 22 to serve the block device. 22 The pre-maintained Waiting queue waits for subsequent re-calls and processing.

較優地,塊設備驅動裝置20可以透過檢測自身與用戶態的塊設備服務裝置22之間的TCP通訊連接是否正常來判斷塊設備服務裝置22是否將進行升級操作或是已經完成升級,當在檢測到自身與塊設備服務裝置22之間的TCP通訊連接斷開後,可以確定塊設備服務裝置22將進行業務升級,在檢測到自身與塊設備服務裝置22之間的TCP通訊連接恢復連接後,可以確定塊設備服務裝置22業務升級已完畢。Preferably, the block device driving device 20 can determine whether the block device service device 22 will perform an upgrade operation or has completed the upgrade by detecting whether the TCP communication connection between the user and the user mode block device service device 22 is normal. After detecting that the TCP communication connection between itself and the block device service device 22 is disconnected, it can be determined that the block device service device 22 will perform the service upgrade, and after detecting the TCP communication connection between itself and the block device service device 22, the connection is restored. It can be determined that the service upgrade of the block device service device 22 has been completed.

用戶態的塊設備服務裝置22,其透過例如TCP協議等接收來自內核態的塊設備驅動裝置20轉發過來的資料讀寫請求,即接收塊設備驅動裝置20處理的對應該塊設備服務裝置22預先維護的Pending佇列中的資料讀寫請求,在接收到讀寫請求後,對該請求進行解析操作,解析包括驗證該讀寫請求是否合法、具體是讀請求還是寫請求,讀寫請求的起始位置及長度資訊等,並根據解析結果向本地或遠端的儲存資源池進行資料的讀操作或者寫操作。如果是讀請求,則從本地或遠端的儲存資源池23中將請求的資料讀取出來,並透過例如TCP協議等將讀取到的資料及處理結果返回給內核態的塊設備驅動裝置20;如果是寫請求,則將請求寫入的資料儲存到本地或遠端的儲存資源池23中,並透過例如TCP協議等將寫請求的處理結果返回給內核態的塊設備驅動裝置20。The user-mode block device service device 22 receives the data read/write request forwarded by the block device driving device 20 from the kernel state through, for example, the TCP protocol, that is, the corresponding block device service device 22 processed by the receiving block device driving device 20 is pre- The data read and write request in the maintained Pending queue, after receiving the read and write request, parses the request, and the parsing includes verifying whether the read/write request is legal, specifically a read request or a write request, and the read and write request Start position and length information, etc., and perform data read or write operations to the local or remote storage resource pool according to the analysis result. If it is a read request, the requested data is read from the local or remote storage resource pool 23, and the read data and the processing result are returned to the kernel device mode device driving device 20 through, for example, the TCP protocol. If it is a write request, the data to be written is stored in the local or remote storage resource pool 23, and the processing result of the write request is returned to the kernel device mode device driver 20 via, for example, the TCP protocol.

用戶態的用戶端裝置21,其可以透過內核態的塊設備驅動裝置20控制各個塊設備服務裝置22啟動工作或停止工作。在控制塊設備服務裝置22啟動工作時,用戶透過用戶端裝置21發起創建塊設備服務的請求後,用戶端裝置21會先與塊設備服務裝置22建立TCP連接,然後再把創建好的TCP Socket控制碼透過ioctl指令傳遞給塊設備驅動裝置20,此後用戶端裝置21就可以關閉該TCP Socket套接字,這樣用戶端裝置21就實現了在內核態的塊設備驅動裝置20與用戶態的塊設備服務裝置22之間建立起了TCP連接,後續所有發向塊設備驅動裝置20的資料讀寫請求都可以透過TCP連接轉發給塊設備服務裝置22。在控制塊設備服務裝置22停止工作時,用戶透過用戶端裝置21發起停止某個塊設備服務的請求後,用戶端裝置21會透過ioctl指令向塊設備驅動裝置20發起停止請求,塊設備驅動裝置20接收到該請求後,會先向塊設備服務裝置22發送停止請求,塊設備服務裝置22接收到該請求後關閉TCP Socket套接字後安全退出;塊設備驅動裝置20收到塊設備服務裝置22的停止反應後,停止處理Pending佇列中的讀寫請求,這樣塊設備服務裝置22就停止工作了。當塊設備服務裝置22處於升級的過程中,用戶端裝置21可每隔一秒嘗試與塊設備服務裝置22建立TCP鏈結。如果新的TCP鏈結建立成功後,即表明塊設備服務裝置22升級完成,然後用戶端裝置21將新創建好的TCP Socket控制碼透過ioctl指令傳遞給塊設備驅動裝置20。這樣塊設備服務裝置22升級完成後,塊設備驅動裝置20與塊設備服務裝置22建立了新的TCP鏈結進行資料讀寫請求的通訊處理。The user-side client device 21 can control the respective block device service device 22 to start or stop working through the kernel device driver device 20. When the control block device service device 22 starts the work, after the user initiates the request to create the block device service through the client device 21, the client device 21 first establishes a TCP connection with the block device service device 22, and then creates the created TCP Socket. The control code is passed to the block device driver 20 through the ioctl command, after which the client device 21 can close the TCP Socket socket, so that the client device 21 implements the block device driver 20 and the user mode block in the kernel mode. A TCP connection is established between the device service devices 22, and all subsequent data read and write requests to the block device drive device 20 can be forwarded to the block device service device 22 via the TCP connection. When the control block device service device 22 stops working, after the user initiates a request to stop a certain block device service through the client device 21, the client device 21 initiates a stop request to the block device driving device 20 through the ioctl command, and the block device driving device After receiving the request, the device first sends a stop request to the block device service device 22, and the block device service device 22 closes the TCP Socket socket after receiving the request and exits safely; the block device driver 20 receives the block device service device. After the stop reaction of 22, the read and write requests in the pending column are stopped, so that the block device service device 22 stops working. When the block device service device 22 is in the process of upgrading, the client device 21 may attempt to establish a TCP link with the block device service device 22 every second. If the new TCP link is successfully established, it indicates that the block device service device 22 is upgraded, and then the client device 21 transmits the newly created TCP Socket control code to the block device driving device 20 through the ioctl command. After the upgrade of the block device service device 22 is completed, the block device drive device 20 establishes a new TCP link with the block device service device 22 to perform communication processing of the data read/write request.

當然,該用戶端裝置21為本申請實體伺服器中的可選組成部分,除了使用用戶端裝置21來實現用戶對用戶態的塊設備服務裝置22的工作狀態進行控制外,還可以基於其他例如定時功能、特定事件觸發功能等觸發機制自動實現對用戶態的塊設備服務裝置22的工作狀態進行控制。Of course, the client device 21 is an optional component in the physical server of the application. In addition to using the client device 21 to implement the user to control the working state of the user device device 22, it may also be based on other devices. The triggering mechanism such as the timing function and the specific event triggering function automatically controls the working state of the user equipment block device service device 22.

本地或遠端儲存資源池23,一般情況下儲存資源池23是類似於分散式檔案系統的儲存伺服器,該資源池23既可以是本地部署也可以是遠端部署,大多數情形下都是遠端部署的儲存資源池。儲存資源池23中儲存有彈性運算雲端系統中的各個虛擬伺服器中的服務資料。具體地,在接收到實體伺服器中的某個塊設備服務裝置22的資料讀請求時,就從自身中讀取相關請求的資料,並將讀取到的資料回饋給該塊設備服務裝置22;在接收到實體伺服器中的某個塊設備服務裝置22的資料寫請求時,就將請求寫入的資料儲存到自身中。The local or remote storage resource pool 23, in general, the storage resource pool 23 is a storage server similar to the distributed file system, and the resource pool 23 can be deployed locally or remotely, in most cases A storage resource pool deployed remotely. The storage resource pool 23 stores service data in each virtual server in the elastic computing cloud system. Specifically, when receiving the data read request of a certain block device service device 22 in the physical server, the related request data is read from itself, and the read data is fed back to the block device service device 22 When a material write request of a block device service device 22 in the physical server is received, the data requested to be written is stored in itself.

如圖3所示,為本申請實施例中改進後的實體伺服器向本地或遠端儲存資源池讀寫資料的內部處理流程示意圖,其中讀取資料的具體流程為:當本地的實體伺服器中的檔案系統層將對應某個塊設備服務裝置的資料讀請求透過通用塊層、W/R調度層發送到塊設備驅動裝置後,塊設備驅動裝置會將該請求放入為該塊設備服務裝置預先維護的Waiting佇列中等待後續處理,並在後續從該Waiting佇列中提取出該資料讀請求放入到為該塊設備服務裝置預先維護的Pending佇列中並對該讀請求進行處理,即將該讀請求轉發給該塊設備服務裝置,該塊設備服務裝置會根據讀請求從儲存池中讀取相關請求的資料,並將讀取結果透過TCP連接返回給塊設備驅動裝置,塊設備驅動裝置進而將讀取結果透過W/R調度層、通用塊層轉發給檔案系統層,檔案系統層再將讀取結果返回給系統調用。As shown in FIG. 3, a schematic diagram of an internal processing flow for reading and writing data from a local or remote storage resource pool in the improved physical server in the embodiment of the present application, wherein the specific process of reading data is: when the local entity server The file system layer in the file system layer sends the data read request corresponding to a block device service device to the block device driver through the common block layer and the W/R scheduling layer, and the block device driver device puts the request into the block device service. Waiting for subsequent processing in the Waiting queue maintained by the device, and subsequently extracting the data read request from the Waiting queue into the Pending queue pre-maintained for the block device service device and processing the read request Forwarding the read request to the block device service device, the block device service device reads the related request data from the storage pool according to the read request, and returns the read result to the block device driving device through the TCP connection, the block device The driving device further forwards the reading result to the file system layer through the W/R scheduling layer and the common block layer, and the file system layer returns the reading result to the system call. .

寫入資料的具體流程為:本地的實體伺服器將資料寫請求和請求寫入的資料透過系統調用中的檔案系統層、通用塊層、W/R調度層儲存到塊設備驅動裝置,塊設備驅動裝置會將該寫請求放入為該塊設備服務裝置預先維護的Waiting佇列中等待後續處理,並在後續從該Waiting佇列中提取出該資料寫請求放入到為該塊設備服務裝置預先維護的Pending佇列中並對該寫請求進行處理,即將該資料寫請求和待寫入的資料轉發給該塊設備服務裝置,該塊設備服務裝置透過解析資料寫請求實現將待寫入的資料保存到儲存資源池中。The specific process of writing data is: the local entity server stores the data write request and the requested data through the file system layer, the common block layer, and the W/R scheduling layer in the system call to the block device driving device, and the block device. The driving device puts the write request into the Waiting queue pre-maintained by the block device service device, and waits for subsequent processing, and subsequently extracts the data write request from the Waiting queue into the service device for the block device. The pre-maintained Pending queue processes the write request, that is, forwards the data write request and the data to be written to the block device service device, and the block device service device implements the write request by parsing the data write request. The data is saved to the storage resource pool.

如圖4所示,為本申請實施例改進後的實體伺服器中的塊設備驅動裝置的具體工作原理流程圖,其中,該塊設備驅動裝置會分別為每個塊設備服務裝置預先維護兩個佇列,一個佇列為Waiting佇列,用於放入每次發向對應塊設備服務裝置並等待其處理的資料讀寫請求,使其進入等待處理排隊狀態,另一個佇列為Pending佇列,用於放入針對對應塊設備服務裝置當前正在處理的資料讀寫請求,基於維護的該兩個佇列,塊設備驅動裝置的具體工作原理如下:步驟40、塊設備驅動裝置在每次接收到實體伺服器底層發來的針對某個塊設備服務裝置的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務裝置預先維護的Waiting佇列中進行等待;步驟42,塊設備驅動裝置在處理對應該塊設備服務裝置的資料讀寫請求時,先從該Waiting佇列中提取資料讀寫請求並移置到為該塊設備服務裝置預先維護的Pending佇列中,並將該Pending佇列中的資料讀寫請求轉發給用戶態的該塊設備服務裝置進行處理,以及在接收到該塊設備服務裝置對接收到的資料讀寫請求正確處理的結果後,將轉發的資料讀寫請求從Pending佇列中刪除;步驟44,塊設備驅動裝置在確定出該塊設備服務裝置將進行業務升級時,停止將該Pending佇列中的所有資料讀寫請求轉發給塊設備服務裝置進行處理;步驟46,塊設備驅動裝置在確定出將進行業務升級或業務升級完成後,將該Pending佇列中的資料讀寫請求再移置回該Waiting佇列中繼續等待後續被再次調用並被處理。具體地,塊設備驅動裝置可以透過檢測自身與該塊設備服務裝置之間的通訊連接狀態,來判斷該塊設備服務裝置將進行業務升級還是已經升級結束。更具體地在檢測到自身與該塊設備服務裝置之間的通訊連接斷開後,可以確定該塊設備服務裝置將進行業務升級,以及在檢測到自身與該塊設備服務裝置之間的通訊連接恢復連接後,可以確定該塊設備服務裝置已經完成業務升級。As shown in FIG. 4, it is a flowchart of a specific working principle of a block device driving device in an improved physical server according to an embodiment of the present application, wherein the block device driving device separately pre-maintains two for each block device service device. The queue is a Waiting queue, which is used to place a data read and write request sent to the corresponding block device service device and wait for its processing, so that it enters the waiting queue, and the other queue For placing data read and write requests currently being processed for the corresponding block device service device, based on the two queues of maintenance, the specific working principle of the block device driving device is as follows: Step 40: The block device driving device receives each time When the data read/write request for a block device service device is sent to the bottom of the physical server, the received data read/write request is placed in the Waiting queue pre-maintained for the block device service device; step 42 When the block device driver processes the data read/write request corresponding to the block device service device, first extracts the data read/write request from the Waiting queue and moves Going to the Pending queue pre-maintained for the block device service device, and forwarding the data read/write request in the Pending queue to the device service device in the user mode for processing, and receiving the block device service device pair After the received data read/write request is correctly processed, the forwarded data read/write request is deleted from the Pending queue; in step 44, the block device driver stops when the device service device is to be upgraded. All data read and write requests in the Pending queue are forwarded to the block device service device for processing; in step 46, after the block device driver determines that the service upgrade or service upgrade is completed, the data in the Pending queue is read and written. The request is then relocated back to the Waiting queue to continue waiting for subsequent calls to be called and processed. Specifically, the block device driving device may determine whether the block device service device will perform a service upgrade or an upgrade end by detecting a communication connection state between itself and the block device service device. More specifically, after detecting that the communication connection between the user and the block device service device is disconnected, it may be determined that the block device service device will perform a service upgrade, and detects a communication connection between itself and the block device service device. After the connection is restored, it can be determined that the block device service device has completed the service upgrade.

如圖5所示,為本申請實施例改進後的實體伺服器中的塊設備驅動裝置在塊塊設備服務裝置進行業務升級前後對維護的Waiting佇列、Pending佇列進行調度的處理示意圖。內核態的塊設備驅動裝置為了支援塊設備服務裝置的熱部署(即線上升級),需要對接收到的資料讀寫請求的狀態進行維護。在塊設備驅動裝置中,分別針對每個塊設備服務裝置採用兩個資料讀寫佇列來維護讀寫請求的狀態,一個是等待佇列(Waiting Queue),用來為每個塊設備服務裝置維護實體伺服器中的W/R調度層下發下來的W/R請求,這些請求在Waiting佇列中排隊等待塊設備驅動裝置進行後續處理;另一個是懸而未決佇列(Pending Queue),用來維護塊設備驅動裝置針對每個塊設備服務裝置當前正在處理的W/R請求,Pending佇列中的這些W/R請求沒有處理完成,可能處於塊設備驅動裝置正等待對應塊設備服務裝置的處理應答狀態。其中,在某個塊設備服務裝置未進行業務升級期間,塊設備驅動裝置在處理W/R請求時,會先從為該塊設備服務裝置預先維護的Waiting佇列的頭部取出一個W/R請求,並將該取出的W/R請求從該Waiting佇列中刪除掉,然後將該W/R請求加入到為該塊設備服務裝置預先維護的Pending佇列的頭部,並將該Pending佇列中的各個W/R請求轉發給塊設備服務裝置進行處理,並在接收到該塊設備服務裝置對接收到的資料讀寫請求正確處理的結果後,將轉發的資料讀寫請求從Pending佇列中刪除。當該塊設備服務裝置需要業務升級時,塊設備驅動裝置將停止將對應Pending佇列中的各個W/R請求轉發給該塊設備服務裝置進行處理,即不再向該塊設備服務裝置發送新的W/R請求。當該塊設備服務裝置將進行升級或者升級完畢後,塊設備驅動裝置將對應的Pending佇列中的所有W/R請求(如圖5中所示的請求1、2、3、4、5、6....)重新加入到對應的Waiting佇列中,以在後續重新接收塊設備驅動裝置的再次調度處理。As shown in FIG. 5, the block device driving device in the physical server improved in the embodiment of the present invention performs a process of scheduling the maintenance of the Waiting queue and the Pending queue before and after the service upgrade of the block device service device. In order to support the hot deployment (ie, online upgrade) of the block device service device, the kernel device device driver needs to maintain the status of the received data read/write request. In the block device driving device, two data read/write queues are respectively used for each block device service device to maintain the state of the read/write request, and one is a Waiting Queue for serving each block device. Maintain W/R requests sent by the W/R scheduling layer in the physical server. These requests are queued in the Waiting queue for subsequent processing by the block device driver; the other is the pending Pending Queue. Maintaining the block device driver for each W/R request that the block device service device is currently processing, the W/R requests in the pending queue are not processed, and may be in the block device driver waiting for the processing of the corresponding block device service device. Response status. When a block device service device does not perform a service upgrade, the block device driver first takes a W/R from the head of the Waiting queue that is pre-maintained for the block device service device when processing the W/R request. Requesting, and deleting the fetched W/R request from the Waiting queue, and then adding the W/R request to the head of the Pending queue pre-maintained for the block device service device, and the Pending伫Each W/R request in the column is forwarded to the block device service device for processing, and after receiving the result that the block device service device correctly processes the received data read/write request, the forwarded data read/write request is sent from Pending伫Deleted in the column. When the device service device of the device needs to be upgraded, the block device driver stops forwarding the W/R request in the corresponding Pending queue to the block device service device for processing, that is, no new device is sent to the block device service device. W/R request. After the block device service device is upgraded or upgraded, the block device driver will respond to all W/R requests in the corresponding Pending queue (as shown in Figure 5, requests 1, 2, 3, 4, 5, 6....) Rejoin the corresponding Waiting queue to re-receive the rescheduling process of the block device driver.

由此可見,透過在彈性運算雲端系統中的實體伺服器中增加塊設備驅動裝置,並透過該塊設備驅動裝置對為每個塊設備服務裝置預先維護的兩個佇列進行調度,可以實現在不中斷為資料儲存使用者提供儲存服務的同時,完成後臺的儲存服務業務升級處理,從而提高了彈性運算雲端系統中資料儲存的可用性。此外,上述方案對於使用者而言也是透明的,使資料儲存使用者幾乎感知不到儲存服務業務升級對於自己使用資料儲存業務所造成的影響,從而提高了用戶的使用體驗。It can be seen that by adding a block device driving device to the physical server in the elastic computing cloud system, and scheduling the two queues pre-maintained for each block device service device through the block device driving device, The storage service of the background storage service is upgraded while the storage service is provided for the data storage user, thereby improving the availability of data storage in the flexible computing cloud system. In addition, the above solution is transparent to the user, so that the data storage user can hardly perceive the impact of the upgrade of the storage service service on the data storage service, thereby improving the user experience.

相應地,如圖6所示,為本申請實施例中改進的實體伺服器中新增的塊設備驅動裝置的具體組成結構示意圖,具體包括等待佇列維護單元60,用於分別為每個塊設備服務裝置預先維護一個Waiting佇列,用於放入每次接收到的針對相應塊設備服務裝置的資料讀寫請求,使其進入等待處理排隊狀態;未決佇列維護單元61,用於分別為每個塊設備服務裝置預先維護另一個Pending佇列,用於放入針對相應塊設備服務裝置當前正在處理的資料讀寫請求;具體地,從Waiting佇列維護單元60為某個塊設備服務裝置維護的Waiting佇列中提取資料讀寫請求並移置到為該塊設備服務裝置預先維護的Pending佇列中;具體地,未決佇列維護單元61可以從對應的Waiting佇列的佇列頭中提取資料讀寫請求,並在該Waiting佇列中將提取出的資料讀寫請求刪除掉,進而將提取出的資料讀寫請求移置到對應預先維護的Pending佇列的佇列頭中。讀寫請求處理單元62,用於將Pending佇列維護單元61維護的對應Pending佇列中的資料讀寫請求轉發給塊設備服務裝置進行處理,並在接收到該塊設備服務裝置對接收到的資料讀寫請求正確處理的結果後,將轉發的資料讀寫請求從Pending佇列中刪除;並在確定出彈性運算雲端系統中的塊設備服務裝置將進行業務升級時,停止將Pending佇列中的資料讀寫請求轉發給塊設備服務裝置進行處理,以及在確定出將進行業務升級或者業務升級完成後,將對應的Pending佇列中的資料讀寫請求移置回對應的Waiting佇列中繼續等待後續再次被讀寫請求處理單元62的調度處理。具體地讀寫請求處理單元62具體可以透過檢測塊設備驅動裝置與塊設備服務裝置之間的通訊連接狀態,在檢測到該通訊連接斷開後,可以確定塊設備服務裝置將進行業務升級,以及在檢測到該通訊連接恢復連接後,可以確定塊設備服務裝置業務升級完成。Correspondingly, as shown in FIG. 6, a specific structural diagram of a block device driving device added to the physical server improved in the embodiment of the present application, specifically includes a waiting queue maintenance unit 60, which is used for each block respectively. The device service device pre-maintains a Waiting queue for placing each received data read/write request for the corresponding block device service device to enter a waiting queue state; the pending queue maintenance unit 61 is configured to Each block device service device pre-maintains another Pending queue for placing a data read/write request currently being processed for the corresponding block device service device; specifically, a service device for a block device from the Waiting queue maintenance unit 60 Extracting the data read/write request from the maintained Waiting queue and migrating it to the Pending queue pre-maintained for the block device service device; specifically, the pending queue maintenance unit 61 may be from the corresponding Waiting queue Extracting the data read/write request, and deleting the extracted data read/write request in the Waiting queue, and then shifting the extracted data read/write request Go to the header of the Pending queue that corresponds to the pre-maintenance. The read/write request processing unit 62 is configured to forward the data read/write request in the corresponding pending queue maintained by the Pending queue maintenance unit 61 to the block device service device for processing, and receive the received by the block device service device. After the data read and write request is correctly processed, the forwarded data read and write request is deleted from the Pending queue; and when it is determined that the block device service device in the elastic computing cloud system will perform the service upgrade, the Pending queue is stopped. The data read/write request is forwarded to the block device service device for processing, and after determining that the service upgrade or the service upgrade is completed, the data read/write request in the corresponding Pending queue is moved back to the corresponding Waiting queue to continue. It is awaiting subsequent scheduling processing by the read/write request processing unit 62. Specifically, the read/write request processing unit 62 may specifically detect a communication connection state between the block device driving device and the block device service device, and after detecting that the communication connection is disconnected, determine that the block device service device performs a service upgrade, and After detecting that the communication connection is restored, it can be determined that the service upgrade of the block device service device is completed.

如圖7所示,為本申請實施例中在進行伺服器業務升級時,控制實體伺服器中的塊設備驅動裝置的操作示意圖,其操作流程具體如下:步驟70,在儲存服務升級之前,升級維護人員透過用戶態的用戶端裝置向內核態的塊設備驅動裝置發出ioctl指令,指示塊設備驅動裝置維持(Hold)所有的W/R請求。As shown in FIG. 7 , in the embodiment of the present application, when the server service is upgraded, the operation of the block device driving device in the physical server is controlled. The operation process is as follows: Step 70: Before the storage service upgrade, upgrade The maintenance personnel issues an ioctl command to the kernel mode block device driver through the user mode client device, instructing the block device driver to hold all W/R requests.

步驟72,接下來,升級維護人員就按照正常的升級流程對儲存服務進行業務升級(業務升級包括停止服務,升級服務程式,發佈新的服務等)。這樣就完成了一次線上對儲存服務進行業務升級的熱部署,而在熱部署的過程中,塊設備驅動裝置會將維持(Hold)所有的W/R請求。In step 72, the upgrade maintenance personnel perform service upgrades on the storage service according to the normal upgrade process (service upgrade includes stopping the service, upgrading the service program, releasing a new service, etc.). This completes a hot deployment of online service upgrades to the storage service, and during the hot deployment process, the block device driver will hold all W/R requests.

步驟74,當部署好後,塊設備驅動裝置再將所有的W/R請求放開,資料儲存服務將被繼續處理。In step 74, when deployed, the block device driver releases all W/R requests and the data storage service will continue to be processed.

本領域的技術人員應明白,本申請的實施例可提供為方法、裝置(設備)、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, apparatus (device), or computer program product. Thus, the present application can take the form of a fully hardware embodiment, a fully software embodiment, or an embodiment combining the software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer usable code therein. .

本申請是參照根據本申請實施例的方法、裝置(設備)和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可編程資料處理設備的處理器以產生一個機器,使得透過電腦或其他可編程資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus, and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, a special purpose computer, an embedded processor or other programmable data processing device to produce a machine for generating instructions for execution by a processor of a computer or other programmable data processing device. Means for implementing the functions specified in one or more of the flow or in a block or blocks of the flow chart.

這些電腦程式指令也可儲存在能引導電腦或其他可編程資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can boot a computer or other programmable data processing device to operate in a particular manner, such that instructions stored in the computer readable memory produce an article of manufacture including the instruction device. The instruction means implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.

這些電腦程式指令也可裝載到電腦或其他可編程資料處理設備上,使得在電腦或其他可編程設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。These computer program instructions can also be loaded onto a computer or other programmable data processing device to perform a series of operational steps on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. The instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

儘管已描述了本申請的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例作出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括較佳實施例以及落入本申請範圍的所有變更和修改。Although the preferred embodiment of the present application has been described, those skilled in the art can make additional changes and modifications to the embodiments once they are aware of the basic inventive concept. Therefore, the scope of the appended claims is intended to be construed as a

顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請之申請專利範圍及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。It will be apparent to those skilled in the art that various modifications and changes can be made in the present application without departing from the spirit and scope of the application. Thus, it is intended that the present invention cover the modifications and variations of the present invention.

20...塊設備驅動裝置20. . . Block device driver

21...用戶端裝置twenty one. . . Client device

22...塊設備服務裝置twenty two. . . Block device service device

23...本地或遠端儲存資源池twenty three. . . Local or remote storage resource pool

60...等待佇列維護單元60. . . Waiting for the maintenance unit

61...未決佇列維護單元61. . . Pending maintenance unit

62...讀寫請求處理單元62. . . Read and write request processing unit

圖1為本申請實施例提出的技術方案所應用的基於塊設備儲存服務實現資料儲存的彈性運算雲端系統的拓撲結構圖;FIG. 1 is a topological structural diagram of an elastic computing cloud system for implementing data storage based on a block device storage service according to a technical solution provided by an embodiment of the present application;

圖2為本申請實施例提出的改進後的實體伺服器的組成結構示意圖;2 is a schematic structural diagram of a structure of an improved physical server according to an embodiment of the present application;

圖3為本申請實施例中改進後的實體伺服器向本地或遠端儲存資源池讀寫資料的內部處理流程示意圖;3 is a schematic diagram of an internal processing flow of an improved physical server reading and writing data to a local or remote storage resource pool in the embodiment of the present application;

圖4為本申請實施例改進後的實體伺服器中的塊設備驅動裝置的具體工作原理流程圖;4 is a flowchart of a specific working principle of a block device driving device in an improved physical server according to an embodiment of the present application;

圖5為本申請實施例改進後的實體伺服器中的塊設備驅動裝置在塊設備服務裝置進行業務升級前後對維護的Waiting佇列、Pending佇列進行調度的處理示意圖;FIG. 5 is a schematic diagram of processing of scheduling a maintained Waiting queue and a Pending queue before and after a service upgrade of a block device service device according to an embodiment of the present invention;

圖6為本申請實施例中改進的實體伺服器中新增的塊設備驅動裝置的具體組成結構示意圖;6 is a schematic structural diagram of a specific block device driving device in an improved physical server according to an embodiment of the present application;

圖7為本申請實施例中在進行伺服器業務升級時,控制實體伺服器中的塊設備驅動裝置的操作示意圖。FIG. 7 is a schematic diagram of the operation of the block device driving device in the control entity server when the server service is upgraded in the embodiment of the present application.

Claims (10)

一種基於塊設備儲存服務實現資料儲存的彈性運算雲端系統中的伺服器,其特徵在於,包括塊設備驅動裝置和至少一個塊設備服務裝置,其中:塊設備驅動裝置,用於在接收到對應一個塊設備服務裝置的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務裝置預先維護的等待佇列中,並從該等待佇列中提取資料讀寫請求並移置到為該塊設備服務裝置預先維護的未決佇列中,並將該未決佇列中的資料讀寫請求轉發給該塊設備服務裝置進行處理,並在接收到該塊設備服務裝置對接收到的資料讀寫請求的處理結果後,將轉發的資料讀寫請求從該未決佇列中刪除;並在確定出該塊設備服務裝置將進行業務升級時,停止將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,以及在確定出將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中;塊設備服務裝置,用於根據塊設備驅動裝置轉發來的資料讀寫請求,針對塊設備儲存資源池進行對應請求資料的讀寫操作。A server in an elastic computing cloud system for implementing data storage based on a block device storage service, comprising: a block device driving device and at least one block device service device, wherein: the block device driving device is configured to receive a corresponding one When the block device service device reads and writes a data request, the received data read/write request is placed in a waiting queue pre-maintained for the block device service device, and the data read/write request is extracted and displaced from the waiting queue. Going to the pending queue pre-maintained for the block device service device, and forwarding the data read/write request in the pending queue to the block device service device for processing, and receiving the block device service device to receive the received After the processing result of the data read/write request, the forwarded data read/write request is deleted from the pending queue; and when it is determined that the device service device is to be upgraded, the reading and reading of the data in the pending queue is stopped. Request to forward to the block device service for processing, and after determining that the service upgrade or service upgrade is completed, the pending The data read and write requests displaced back to the waiting queue; block device service apparatus, for forwarding to the data read or write request block device driver apparatus according to the corresponding request data read and write operations for a block storage device resource pool. 如申請專利範圍第1項所述的伺服器,其中,還包括用戶端裝置,用於控制塊設備服務裝置啟動,並在啟動後建立該塊設備驅動裝置與啟動的該塊設備服務裝置之間的通訊連接;以及控制塊設備驅動裝置停止,並在停止後拆除該塊設備驅動裝置與該塊設備服務裝置之間的通訊連接。The server of claim 1, further comprising a client device for controlling the startup of the block device service device, and establishing between the device driver device and the activated device device after startup The communication connection; and the control block device drive stop, and after the stop, the communication connection between the block device drive and the block device service device is removed. 如申請專利範圍第1項所述的伺服器,其中,該塊設備驅動裝置具體透過檢測自身與該塊設備服務裝置之間的通訊連接,並在檢測到自身與該塊設備服務裝置之間的通訊連接斷開後,確定該塊設備服務裝置將進行業務升級,以及在檢測到自身與該塊設備服務裝置之間的通訊連接恢復連接後,確定該塊設備服務裝置業務升級完成。The server of claim 1, wherein the block device driving device specifically detects a communication connection between itself and the block device service device, and detects between itself and the block device service device. After the communication connection is disconnected, it is determined that the device service device of the device is to be upgraded, and after detecting the communication connection between the device and the device device, the service upgrade of the device service device is completed. 一種對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級的方法,其特徵在於,包括:在每次接收到對應一個塊設備服務的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務預先維護的等待佇列中;從該等待佇列中提取資料讀寫請求並移置到為該塊設備服務預先維護的未決佇列中,並將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,並在接收到該塊設備服務對接收到的資料讀寫請求的處理結果後,將轉發的資料讀寫請求從該未決佇列中刪除;以及在確定出該塊設備服務將進行業務升級時,停止將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理;以及在確定出將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中。A method for upgrading an elastic computing cloud system for implementing data storage based on a block device storage service, comprising: reading and receiving received data each time a data read/write request corresponding to a block device service is received Requesting to be placed in a wait queue pre-maintained for the block device service; extracting data read and write requests from the wait queue and migrating to a pending queue pre-maintained for the block device service, and placing the pending queue The data read/write request is forwarded to the block device service for processing, and after receiving the processing result of the received device read/write request by the block device service, the forwarded data read/write request is deleted from the pending queue And when it is determined that the device service is to be upgraded, the data read and write request in the pending queue is forwarded to the block device service for processing; and after it is determined that the service upgrade or service upgrade is completed, The data read and write request in the pending queue is moved back to the wait queue. 如申請專利範圍第4項所述的方法,其中,確定出該塊設備服務將進行業務升級、及業務升級完成,具體包括:檢測與該塊設備服務之間的通訊連接;在檢測到與該塊設備服務之間的通訊連接斷開後,確定該塊設備服務將進行業務升級;以及在檢測到與該塊設備服務之間的通訊連接恢復連接後,確定該塊設備服務業務升級完成。The method of claim 4, wherein the device service is determined to be upgraded and the service upgrade is completed, and the method includes: detecting a communication connection with the device service; After the communication connection between the block device services is disconnected, it is determined that the block device service will perform a service upgrade; and after detecting the communication connection with the block device service to restore the connection, it is determined that the block device service service upgrade is completed. 如申請專利範圍第4項所述的方法,其中,從該等待佇列中提取資料讀寫請求並移置到預先維護的未決佇列中,具體包括:從該等待佇列的佇列頭中提取資料讀寫請求;並在該等待佇列中將提取出的資料讀寫請求刪除;將提取出的資料讀寫請求移置到預先維護的未決佇列的佇列頭中。The method of claim 4, wherein the data read/write request is extracted from the waiting queue and moved to a pre-maintained pending queue, specifically: from the queue header of the waiting queue Extracting the data read/write request; deleting the extracted data read/write request in the waiting queue; and shifting the extracted data read/write request into the pre-maintained pending queue header. 一種對基於塊設備儲存服務實現資料儲存的彈性運算雲端系統進行升級的裝置,其特徵在於,包括:等待佇列維護單元,用於在每次接收到對應一個塊設備服務的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務預先維護的等待佇列中;未決佇列維護單元,用於從該等待佇列維護單元維護的等待佇列中提取資料讀寫請求並移置到為該塊設備服務預先維護的未決佇列中;讀寫請求處理單元,用於將該未決佇列維護單元維護的未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,並在接收到該塊設備服務對接收到的資料讀寫請求的處理結果後,將轉發的資料讀寫請求從該未決佇列中刪除;並在確定出該塊設備服務將進行業務升級時,停止將該未決佇列中的資料讀寫請求轉發給該塊設備服務進行處理,以及在確定出將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中。An apparatus for upgrading an elastic computing cloud system that implements data storage based on a block device storage service, comprising: waiting for a queue maintenance unit, configured to receive a data read/write request corresponding to a block device service each time And the received data read/write request is placed in a waiting queue that is pre-maintained for the block device service; the pending queue maintenance unit is configured to extract the data read/write request from the waiting queue maintained by the waiting queue maintenance unit. And being moved to a pending queue that is pre-maintained for the service of the block device; the read/write request processing unit is configured to forward the data read/write request in the pending queue maintained by the pending queue maintenance unit to the block device service. Processing, and after receiving the processing result of the received device read/write request by the block device service, deleting the forwarded data read/write request from the pending queue; and determining that the block device service will perform service upgrade Stopping the data read and write request in the pending queue to the block device service for processing, and determining that the service upgrade will be performed or After the service upgrade is complete, the column read and write data queue pending request displaced back to the waiting queue. 如申請專利範圍第7項所述的裝置,其中,該讀寫請求處理單元具體透過檢測該裝置與該塊設備服務之間的通訊連接,並在檢測到該通訊連接斷開後,確定該塊設備服務將進行業務升級,以及在檢測到該通訊連接恢復連接後,確定該塊設備服務業務升級完成。The device of claim 7, wherein the read/write request processing unit specifically determines a communication connection between the device and the block device service, and after detecting that the communication connection is disconnected, determining the block. The device service will perform a service upgrade, and after detecting that the communication connection is restored, it is determined that the service upgrade of the device service is completed. 如申請專利範圍第7項所述的裝置,其中,該未決佇列維護單元具體從該等待佇列的佇列頭中提取資料讀寫請求,並在該等待佇列中將提取出的資料讀寫請求刪除,以及將提取出的資料讀寫請求移置到預先維護的未決佇列的佇列頭中。The device of claim 7, wherein the pending queue maintenance unit specifically extracts a data read/write request from the queue header of the waiting queue, and reads the extracted data in the waiting queue The write request is deleted, and the extracted data read and write request is moved to the header of the pre-maintained pending queue. 一種基於塊設備儲存服務實現資料儲存的彈性運算雲端系統,其特徵在於,包括:儲存資源池,用於基於塊設備儲存服務方式儲存彈性運算雲端系統中的資料;和至少一個實體伺服器,用於在每次接收到對應一個塊設備服務的資料讀寫請求時,將接收到的資料讀寫請求放置到為該塊設備服務預先維護的等待佇列中,並從該等待佇列中提取資料讀寫請求並移置到為該塊設備服務預先維護的未決佇列中,並根據該未決佇列中的資料讀寫請求,針對該儲存資源池進行對應請求資料的讀寫操作;並在確定出該塊設備服務將進行業務升級時,停止對該未決佇列中的資料讀寫請求進行處理,以及在將進行業務升級或者業務升級完成後,將該未決佇列中的資料讀寫請求移置回該等待佇列中。An elastic computing cloud system for implementing data storage based on a block device storage service, comprising: a storage resource pool, configured to store data in an elastic computing cloud system based on a block device storage service manner; and at least one physical server, Each time a data read/write request corresponding to a block device service is received, the received data read/write request is placed in a waiting queue pre-maintained for the block device service, and data is extracted from the waiting queue. Read and write the request and move it to the pending queue that is pre-maintained for the block device service, and according to the data read and write request in the pending queue, perform read and write operations on the corresponding request data for the storage resource pool; When the device service is upgraded, the data read/write request in the pending queue is stopped, and the data read/write request in the pending queue is moved after the service upgrade or the service upgrade is completed. Set back to the wait queue.
TW100132627A 2011-01-05 2011-09-09 Apparatus, method and system for resilient computing cloud system TWI518502B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110001297.XA CN102591668B (en) 2011-01-05 2011-01-05 Device, method and system for updating elastic computing cloud system

Publications (2)

Publication Number Publication Date
TW201229750A TW201229750A (en) 2012-07-16
TWI518502B true TWI518502B (en) 2016-01-21

Family

ID=46457681

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100132627A TWI518502B (en) 2011-01-05 2011-09-09 Apparatus, method and system for resilient computing cloud system

Country Status (6)

Country Link
EP (1) EP2661691A4 (en)
JP (1) JP5931919B2 (en)
CN (1) CN102591668B (en)
HK (1) HK1169733A1 (en)
TW (1) TWI518502B (en)
WO (1) WO2012094303A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201561B (en) * 2015-04-30 2019-08-23 阿里巴巴集团控股有限公司 The upgrade method and equipment of distributed caching cluster
CN105183399A (en) * 2015-09-30 2015-12-23 北京奇艺世纪科技有限公司 Data writing and reading method and device based on elastic block storage
US10152351B2 (en) * 2016-02-01 2018-12-11 Microsoft Technology Licensing, Llc Proxy object system
CN108021408B (en) * 2016-11-01 2021-01-29 阿里巴巴集团控股有限公司 Upgrading method and device
CN108021378A (en) * 2016-11-03 2018-05-11 阿里巴巴集团控股有限公司 Upgrade-system, the upgrade method based on virtual machine and device
CN108156208B (en) * 2016-12-02 2022-02-25 阿里巴巴集团控股有限公司 Method, device and system for publishing application program data
CN109002254A (en) * 2017-06-07 2018-12-14 华为技术有限公司 Storage processing method, device and relevant device
CN111143250B (en) * 2019-12-20 2022-03-22 苏州浪潮智能科技有限公司 Method, device and medium for accessing FPGA storage unit based on AXI-ST interface
JP7122718B2 (en) 2020-06-25 2022-08-22 株式会社エジソンラボ wallet
CN111859420A (en) * 2020-07-01 2020-10-30 深圳市中网信安技术有限公司 Data encryption method and device, data decryption method and device and storage medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
JP2001100935A (en) 1999-09-28 2001-04-13 Internatl Business Mach Corp <Ibm> Disk device and its control method
US6895429B2 (en) * 2001-12-28 2005-05-17 Network Appliance, Inc. Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses
US6925526B2 (en) * 2002-10-31 2005-08-02 International Business Machines Corporation Method and apparatus for servicing mixed block size data access operations in a disk drive data storage device
JP2004199247A (en) * 2002-12-17 2004-07-15 Hitachi Communication Technologies Ltd Method for updating program
US7305537B1 (en) * 2005-03-01 2007-12-04 Sun Microsystems, Inc. Method and system for I/O scheduler activations
US8145806B2 (en) 2008-09-19 2012-03-27 Oracle International Corporation Storage-side storage request management
US9344401B2 (en) * 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US8868724B2 (en) * 2009-05-01 2014-10-21 Citrix Systems, Inc. Systems and methods for providing a virtual appliance in an application delivery fabric

Also Published As

Publication number Publication date
CN102591668A (en) 2012-07-18
JP5931919B2 (en) 2016-06-08
EP2661691A4 (en) 2016-03-23
JP2014501995A (en) 2014-01-23
EP2661691A1 (en) 2013-11-13
CN102591668B (en) 2015-04-08
HK1169733A1 (en) 2013-02-01
TW201229750A (en) 2012-07-16
WO2012094303A1 (en) 2012-07-12

Similar Documents

Publication Publication Date Title
TWI518502B (en) Apparatus, method and system for resilient computing cloud system
US8447894B2 (en) Upgrading an elastic computing cloud system
US9965304B2 (en) Delayed hardware upgrades in virtualization systems
US8694828B2 (en) Using virtual machine cloning to create a backup virtual machine in a fault tolerant system
US9547513B2 (en) Provisioning virtual desktops with stub virtual disks
US8863123B2 (en) Apparatus and method for virtualizing input/output devices using shared memory in host-based mobile terminal virtualization environment
JP2011100431A (en) Device and method for controlling virtual machine
US9830181B2 (en) Method and system for gracefully shutdown virtual system
US8909912B2 (en) Apparatus and method for configuring a target machine with captured operational state comprising a static machine profile and a dynamic machine state to continue operations of a source machine
CN102307208B (en) Cloud-computing-based virtual machine running control device and running control method thereof
JP2012078893A (en) Computer system and management computer
WO2021018267A1 (en) Live migration method for virtual machine and communication device
JP2019049818A (en) Information processing apparatus, information processing system, control method of information processing system and live migration control program
WO2022041507A1 (en) 3d rendering method and system
WO2019028682A1 (en) Multi-system shared memory management method and device
JP2016110183A (en) Information processing system and control method thereof
CN112328365A (en) Virtual machine migration method, device, equipment and storage medium
WO2020157599A1 (en) Engine pre-emption and restoration
JP2011044110A (en) Software program execution device, software program execution method and program
US8826264B1 (en) Non-disruptive upgrade of applications
US11263039B2 (en) High performance attachable writeable volumes in VDI desktops
US10942821B1 (en) Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system
CN109308232B (en) Method, device and system for rollback after virtual machine live migration fault
US11755765B2 (en) Optimized directory enumeration and data copy for client drive redirection in virtual desktops
WO2019119438A1 (en) Method and apparatus for screen locking of operating system, and electronic device