JP2014501995A - Elastic computing cloud system upgrade - Google Patents
Elastic computing cloud system upgrade Download PDFInfo
- Publication number
- JP2014501995A JP2014501995A JP2013548460A JP2013548460A JP2014501995A JP 2014501995 A JP2014501995 A JP 2014501995A JP 2013548460 A JP2013548460 A JP 2013548460A JP 2013548460 A JP2013548460 A JP 2013548460A JP 2014501995 A JP2014501995 A JP 2014501995A
- Authority
- JP
- Japan
- Prior art keywords
- service
- block device
- write
- data
- read request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 67
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 41
- 238000004891 communication Methods 0.000 claims description 20
- 238000012423 maintenance Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring 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)
Abstract
エラスティックコンピューティングクラウドシステムのサーバは、ブロックデバイスドライバ装置および少なくとも1つのブロックデバイスサービス装置を含む。サーバは、記憶サービスを中断することなく記憶サービスのアップグレードを行うことができるように、記憶サービスにホットデプロイメントを実施する。ブロックデバイスドライバ装置は、それぞれの記憶サービスのために、待機待ち行列および保留待ち行列を維持する。記憶サービスがアップグレードを行うという判定に応答して、ブロックデバイスドライバ装置は、サービスのために保留待ち行列内に維持されているデータの書き込み/読み取り要求の処理を停止して、保留待ち行列内で目下処理中のデータの書き込み/読み取り要求を、再ディスパッチのために待機待ち行列に戻し、それにより、記憶サービスを中断することなく、エラスティックコンピューティングクラウドシステムにおける記憶サービスのアップグレードの処理完了が実現される。The server of the elastic computing cloud system includes a block device driver device and at least one block device service device. The server performs hot deployment on the storage service so that the storage service can be upgraded without interrupting the storage service. The block device driver device maintains a waiting queue and a pending queue for each storage service. In response to the determination that the storage service is performing an upgrade, the block device driver device stops processing write / read requests for data that is maintained in the hold queue for the service and waits in the hold queue. Returning the current data write / read request back to the wait queue for redispatch, thereby completing the storage service upgrade process in the elastic computing cloud system without interrupting the storage service Is done.
Description
本開示は、ブロックデバイスに関連付けられたエラスティックコンピューティングクラウドおよび記憶サービスの技術分野に関し、具体的には、ブロックデバイスに関連付けられた記憶サービスに基づいてデータの記憶を実施する、エラスティックコンピューティングクラウドシステムをアップグレードするための装置、方法、およびシステムに関する。 The present disclosure relates to the technical field of elastic computing cloud and storage services associated with block devices, and in particular, elastic computing that implements storage of data based on storage services associated with block devices. The present invention relates to an apparatus, a method, and a system for upgrading a cloud system.
(関連出願の相互参照)
本出願は、2011年1月5日に出願された、「Apparatus,Method and System of Upgrading Elastic Computing Cloud System」という題名の中国特許出願第201110001297.X号の優先権を主張し、その全体が、参照により本明細書に組み込まれる。
(Cross-reference of related applications)
This application is filed on January 5, 2011, Chinese Patent Application 201110001297, entitled “Apparatus, Method and System of Upgrading Elastic Computing System”. Claim X priority, which is incorporated herein by reference in its entirety.
エラスティックコンピューティングクラウドは、リソース使用率を改善するため、およびコストを削減するために、仮想化技術に基づいて、ローカル物理サーバを、使用用の複数の仮想サーバとして仮想化するコンピューティングクラウドサービスである。エラスティックコンピューティングクラウド技術に基づいて仮想化された、仮想サーバ(すなわち、仮想マシン)の記憶サービスは、ブロックデバイスベースの遠隔記憶サービスであり、これは業界において、エラスティックブロック記憶と呼ばれる。 Elastic computing cloud is a computing cloud service that virtualizes local physical servers as multiple virtual servers for use based on virtualization technology to improve resource utilization and reduce costs It is. A virtual server (ie, virtual machine) storage service virtualized based on elastic computing cloud technology is a block device-based remote storage service, referred to in the industry as elastic block storage.
ブロックデバイスの遠隔記憶サービスは、ブロックデバイスドライバによって提供されるブロックレベルの記憶サービスである。ローカル物理サーバおよび/または仮想サーバは、サーバのデータを遠隔記憶リソースプール内にブロックの単位で記憶することができ、それによりローカル記憶リソースを節約する。つまり、ブロックデバイスの遠隔記憶サービスは、ローカル物理サーバおよび/または仮想サーバのデータを格納するための物理ハードドライブに類似したサービスを提供し、データフォーマットおよびファイルシステムフォーマットに制限がない。 A block device remote storage service is a block level storage service provided by a block device driver. The local physical server and / or virtual server can store the server's data in blocks in the remote storage resource pool, thereby conserving local storage resources. In other words, the remote storage service of the block device provides a service similar to a physical hard drive for storing data of a local physical server and / or virtual server, and there is no restriction on the data format and the file system format.
エラスティックコンピューティングクラウド技術の急速な発展に伴い、エラスティックブロック記憶サービスは、遠隔記憶サービスの高可用性について高い基準を有する。一般に、エラスティックコンピューティングクラウドに基づいて仮想化された仮想サーバが何万とある。これらの何万もの仮想サーバは、第三者(政府機関、従来の大企業、および中小企業、小規模および中規模のインターネットのウェブマスター、個人ユーザ、等)に使用してもらうために提供される。複数の仮想サーバから形成されるクラスタは、動作のために、ブロックデバイスの遠隔記憶サービスに依存する。遠隔記憶は、エラスティックコンピューティングクラウドシステム全体のデータを保持し、循環させる。遠隔記憶サービスの可用性は、エラスティックコンピューティングクラウドシステム全体の可用性に関連する。 With the rapid development of elastic computing cloud technology, elastic block storage services have high standards for the high availability of remote storage services. In general, there are tens of thousands of virtual servers virtualized based on the elastic computing cloud. These tens of thousands of virtual servers are provided for use by third parties (government agencies, traditional large enterprises, and small businesses, small and medium internet webmasters, individual users, etc.) The Clusters formed from multiple virtual servers rely on block device remote storage services for operation. Remote storage holds and circulates data for the entire elastic computing cloud system. The availability of the remote storage service is related to the overall availability of the elastic computing cloud system.
ブロックデバイスの遠隔記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムをアップグレードする際、既存の技術は、まずサービスのユーザに、アップグレード処理のためにサービスが一時的に使用不能となることを通知して、記憶サービスのサービスアップグレード(例えば、バグの修復または新機能の提供、等)を行うために、エラスティックコンピューティングクラウドシステム全体のそれぞれの仮想サーバのサービスを一時的に中断する必要がある。再展開されたサービスが正常に動作した後、エラスティックコンピューティングクラウドシステム全体の仮想サーバは通常の動作に戻ることができ、それによりアップグレード処理が完了する。アップグレード処理は、ユーザがエラスティックコンピューティングクラウドシステムの仮想サーバによって提供されたウェブサービスを使用するウェブページにアクセスし続けることを防止する、つまりユーザが分散コンピューティングを行うためにエラスティックコンピューティングクラウドシステムの仮想サーバを使用している場合に、ユーザに対して進行中の分散コンピューティングを終了するように強要する。 When upgrading an elastic computing cloud system that performs storage of data based on a block device remote storage service, existing technology will first inform the service user that the service is temporarily unavailable for the upgrade process. And temporarily suspend the services of each virtual server in the entire elastic computing cloud system to perform storage upgrade service upgrades (eg, fix bugs or provide new features) There is a need to. After the redeployed service operates normally, the virtual server of the entire elastic computing cloud system can return to normal operation, thereby completing the upgrade process. The upgrade process prevents the user from continuing to access web pages that use web services provided by the virtual server of the elastic computing cloud system, i.e., the elastic computing cloud for the user to perform distributed computing. When using the system's virtual server, it forces the user to terminate the ongoing distributed computing.
以上のように、ブロックデバイスの遠隔記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムを既存の技術でアップグレードする場合、関連するアップグレード処理は非常に複雑である。アップグレード処理は、比較的長い時間がかかり、一般にアップグレード作業の完了には数時間を要するため、アップグレードの効率は比較的低い。さらに、アップグレードの処理中、ユーザは進行中のトランザクションを終了するように強要される場合があるため、ユーザに対してサービスの高可用性を提供することを保障できず、ユーザの使用経験を悪化させる。 As described above, when an elastic computing cloud system that performs data storage based on a remote storage service of a block device is upgraded with existing technology, the related upgrade process is very complicated. The upgrade process takes a relatively long time and generally requires several hours to complete the upgrade operation, so the efficiency of the upgrade is relatively low. In addition, during the upgrade process, the user may be forced to terminate an ongoing transaction, so it cannot be guaranteed to provide high service availability to the user and will deteriorate the user experience. .
本開示の例示的な実施形態は、オンラインアップグレードの技法を通じてアップグレードの効率を改善し、アップグレード中に、ユーザによって目下使用されているトランザクションが終了されることに起因するユーザの悪い使用経験の問題を回避するために、ブロックデバイスの遠隔記憶に基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムをアップグレードするための装置、方法、およびシステムを提供する。 The exemplary embodiments of the present disclosure improve the efficiency of the upgrade through online upgrade techniques and address the problem of poor user experience due to the transactions currently being used by the user being terminated during the upgrade. To avoid, an apparatus, method, and system for upgrading an elastic computing cloud system that implements storage of data based on remote storage of block devices is provided.
本開示の第1の態様によると、本開示の例示的な実施形態は、ブロックデバイスの記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムのサーバを提供する。一実施形態において、サーバには、ブロックデバイスドライバ装置、および少なくとも1つのブロックデバイスサービス装置が含まれる。ブロックデバイスドライバ装置は、ブロックデバイスサービス装置に対応するデータの書き込み/読み取り要求の受信に応答して、受信したデータの書き込み/読み取り要求を、ブロックデバイスサービス装置のために事前に維持されている待機待ち行列内に置くように構成される。 According to a first aspect of the present disclosure, exemplary embodiments of the present disclosure provide a server of an elastic computing cloud system that implements data storage based on a block device storage service. In one embodiment, the server includes a block device driver device and at least one block device service device. In response to receiving the data write / read request corresponding to the block device service device, the block device driver device waits for the block device service device to receive the received data write / read request in advance. Configured to be placed in a queue.
加えて、ブロックデバイスドライバ装置はさらに、待機待ち行列からデータの書き込み/読み取り要求をフェッチして、フェッチされた要求を、ブロックデバイスサービス装置のために事前に維持されている保留待ち行列に転送し、保留待ち行列内のデータの書き込み/読み取り要求を、処理のためにブロックデバイスサービス装置に送信することができる。受信したデータの書き込み/読み取り要求についての、ブロックデバイスサービス装置からの処理結果の受信に応答して、ブロックデバイスドライバ装置は、送信されたデータの書き込み/読み取り要求を保留待ち行列から削除することができる。 In addition, the block device driver device further fetches data write / read requests from the wait queue and forwards the fetched requests to a pending queue that is maintained in advance for the block device service device. A request to write / read data in the hold queue can be sent to the block device service device for processing. In response to receiving the processing result from the block device service apparatus for the received data write / read request, the block device driver apparatus may delete the transmitted data write / read request from the pending queue. it can.
一実施形態では、ブロックデバイスドライバ装置は、ブロックデバイスサービス装置がサービスアップグレードを行うという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、処理のためにブロックデバイスサービス装置に送信することを停止することができ、サービスアップグレードが行われる、または完了したという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を待機待ち行列に転送し戻すことができる。 In one embodiment, the block device driver device sends a write / read request for data in the pending queue to the block device service device for processing in response to a determination that the block device service device performs a service upgrade. In response to a determination that a service upgrade has been or has been completed, a write / read request for data in the pending queue can be transferred back to the waiting queue.
さらに、ブロックデバイスサービス装置は、ブロックデバイスドライバ装置から送信されたデータの書き込み/読み取り要求に基づいて、ブロックデバイスの記憶リソースプールのために要求されたデータに対応する読み込みおよび書き込みの動作を行うように構成されてもよい。 Further, the block device service apparatus performs read and write operations corresponding to the data requested for the storage resource pool of the block device based on the data write / read request transmitted from the block device driver apparatus. May be configured.
本開示の第2の態様によると、本開示の例示的な実施形態は、ブロックデバイスに関連付けられた記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムをアップグレードする方法をさらに提供する。一実施形態において、本方法には、ブロックデバイスに関連付けられたサービスに対応するデータの書き込み/読み取り要求の受信に応答して、その都度、ブロックデバイスに関連付けられたサービスのために事前に維持されている待機待ち行列内に、受信したデータの書き込み/読み取り要求を置くことが含まれる。本方法はさらに、待機待ち行列からデータの書き込み/読み取り要求をフェッチして、フェッチされた要求を、ブロックデバイスに関連付けられたサービスのために事前に維持されている保留待ち行列に転送することができる。 According to a second aspect of the present disclosure, exemplary embodiments of the present disclosure further provide a method for upgrading an elastic computing cloud system that performs storage of data based on a storage service associated with a block device. To do. In one embodiment, the method is pre-maintained for a service associated with a block device each time in response to receiving a data write / read request corresponding to the service associated with the block device. Placing a write / read request for received data in a waiting queue. The method may further fetch data write / read requests from the waiting queue and forward the fetched requests to a pending queue that is pre-maintained for services associated with the block device. it can.
一実施形態において、本方法は、保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、ブロックデバイスに関連付けられたサービスに送信し、受信したデータの書き込み/読み取り要求についての、ブロックデバイスに関連付けられたサービスからの処理結果の受信に応答して、送信されたデータの書き込み/読み取り要求を保留待ち行列から削除する。いくつかの実施形態では、本方法は、ブロックデバイスに関連付けられたサービスがサービスアップグレードを行うという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、処理のためにブロックデバイスに関連付けられたサービスに送信することを停止することができ、サービスアップグレードが行われる、または完了したという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を待機待ち行列に転送し戻すことができる。 In one embodiment, the method sends a write / read request for data in the pending queue to a service associated with the block device for processing and a block for the received write / read request for data. In response to receiving a processing result from the service associated with the device, the transmitted data write / read request is deleted from the pending queue. In some embodiments, the method responds to a determination that a service associated with the block device performs a service upgrade by sending a write / read request for data in the pending queue to the block device for processing. In response to a determination that a service upgrade has occurred or has been completed, sending data write / read requests in the pending queue back to the waiting queue can stop sending to the associated service be able to.
本開示の第3の態様によると、本開示の例示的な実施形態は、ブロックデバイスに関連付けられた記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムをアップグレードするための装置をさらに提供する。一実施形態において、本装置には、ブロックデバイスに関連付けられたサービスに対応するデータの書き込み/読み取り要求の受信に応答して、その都度、受信したデータの書き込み/読み取り要求を、ブロックデバイスに関連付けられたサービスのために事前に維持されている待機待ち行列内に置くように構成される、待機待ち行列維持ユニットが含まれる。 According to a third aspect of the present disclosure, an exemplary embodiment of the present disclosure provides an apparatus for upgrading an elastic computing cloud system that performs storage of data based on a storage service associated with a block device. Provide further. In one embodiment, the apparatus associates a received data write / read request with the block device each time in response to receiving a data write / read request corresponding to a service associated with the block device. A wait queue maintenance unit is included that is configured to be placed in a wait queue that is pre-maintained for a given service.
加えて、本装置には、待機待ち行列からデータの書き込み/読み取り要求をフェッチして、フェッチされた要求を、ブロックデバイスと関連付けられたサービスのために事前に維持されている保留待ち行列に転送するように構成される、保留待ち行列維持ユニットがさらに含まれてもよい。 In addition, the device fetches data write / read requests from the standby queue and forwards the fetched requests to a pending queue that is pre-maintained for services associated with the block device. A hold queue maintenance unit may be further included that is configured to:
いくつかの実施形態において、本装置には、保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、ブロックデバイスに関連付けられたサービスに送信するように構成される、書き込み/読み取り要求処理ユニットがさらに含まれてもよい。書き込み/読み取り要求処理ユニットは、受信したデータの書き込み/読み取り要求についての、ブロックデバイスに関連付けられたサービスからの処理結果の受信に応答して、送信されたデータの書き込み/読み取り要求を保留待ち行列から削除するようにさらに構成されてもよい。一実施形態では、書き込み/読み取り要求処理ユニットは、ブロックデバイスに関連付けられたサービスが、サービスアップグレードを行うという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、処理のためにブロックデバイスに関連付けられたサービスに送信することを停止することができ、サービスアップグレードが行われる、または完了したという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、待機待ち行列に転送し戻すことができる。 In some embodiments, the apparatus includes a write / read request configured to send a write / read request for data in the pending queue to a service associated with the block device for processing. A processing unit may further be included. The write / read request processing unit is responsive to receiving a processing result from the service associated with the block device for the received data write / read request, and holds the transmitted data write / read request in a pending queue. It may be further configured to be deleted from In one embodiment, the write / read request processing unit is responsive to a determination that a service associated with the block device is performing a service upgrade to process a write / read request for data in the pending queue for processing. In response to a determination that a service upgrade has occurred or has been completed, a write / read request for data in the pending queue can be stopped from being sent to the service associated with the block device. Can be transferred back to.
本開示の第4の態様によると、本開示の例示的な実施形態は、ブロックデバイスに関連付けられた記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムをアップグレードするためのシステムをさらに提供する。一実施形態において、本システムには、ブロックデバイスに関連付けられた記憶サービスに基づいてエラスティックコンピューティングクラウドシステムのデータを記憶するように構成される、記憶リソースプールが含まれてもよい。 According to a fourth aspect of the present disclosure, an exemplary embodiment of the present disclosure provides a system for upgrading an elastic computing cloud system that performs storage of data based on a storage service associated with a block device. Provide further. In one embodiment, the system may include a storage resource pool configured to store data for the elastic computing cloud system based on a storage service associated with the block device.
加えて、本システムには、少なくとも1つの物理サーバがさらに含まれてもよい。少なくとも1つの物理サーバは、ブロックデバイスに関連付けられたサービスに対応するデータの書き込み/読み取り要求の受信に応答して、その都度、受信したデータの書き込み/読み取り要求を、ブロックデバイスに関連付けられたサービスのために、事前に維持されている待機待ち行列内に置くように構成されてもよい。 In addition, the system may further include at least one physical server. In response to receiving a data write / read request corresponding to a service associated with the block device, the at least one physical server sends the received data write / read request to the service associated with the block device each time. May be configured to be placed in a pre-maintained waiting queue.
さらに、少なくとも1つの物理サーバは、待機待ち行列からデータの書き込み/読み取り要求をフェッチして、フェッチされた要求を、ブロックデバイスに関連付けられたサービスのために、事前に維持されている保留待ち行列に転送し、保留待ち行列内のデータの書き込み/読み取り要求に基づいて、記憶リソースプールのために要求されたデータに対応する読み込みおよび書き込みの動作を行うことができる。 In addition, the at least one physical server fetches data write / read requests from the wait queue and places the fetched requests in a pending queue that is pre-maintained for services associated with the block device. And read and write operations corresponding to the requested data for the storage resource pool can be performed based on write / read requests for data in the pending queue.
いくつかの実施形態において、少なくとも1つの物理サーバは、ブロックデバイスに関連付けられたサービスが、サービスアップグレードを行うという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、処理のためにブロックデバイスに関連付けられたサービスに送信することを停止し、サービスアップグレードが行われる、または完了したという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、待機待ち行列に転送し戻すことができる。 In some embodiments, at least one physical server is responsive to a determination that a service associated with the block device performs a service upgrade to process a write / read request for data in a pending queue. In response to a determination that a service upgrade has occurred or has been completed and forwards write / read requests for data in the pending queue to the waiting queue. You can go back.
ブロックデバイスに関連付けられた記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムの物理サーバにおいて、本開示の例示的な実施形態によって提案される技術的な構想は、ブロックデバイスの各仮想化されたサービスに対して2つの待ち行列を個々に維持する。1つはデータの書き込み/読み取り要求のための待機待ち行列であり、ブロックデバイスに関連付けられたサービスに送信されて処理を待つデータの書き込み/読み取り要求を維持するために使用される。もう1つは、ブロックデバイスに関連付けられたサービスによって目下処理中であるデータの書き込み/読み取り要求を維持するために、物理サーバによって使用される、保留待ち行列である。 In a physical server of an elastic computing cloud system that implements storage of data based on a storage service associated with a block device, the technical concept proposed by the exemplary embodiment of the present disclosure is for each block device Two queues are maintained individually for virtualized services. One is a wait queue for data write / read requests and is used to maintain data write / read requests sent to the service associated with the block device and awaiting processing. The other is a pending queue used by the physical server to maintain data write / read requests that are currently being processed by services associated with the block device.
この技術的な構想は、ブロックデバイスに関連付けられたサービスがアップグレードされる必要のある時に、ブロックデバイスに関連付けられたサービスのために、保留待ち行列内に維持されているデータの書き込み/読み取り要求の処理を停止し、保留待ち行列内で目下処理中であるデータの書き込み/読み取り要求を、再ディスパッチのために待機待ち行列内に戻し、それにより、記憶サービスを中断することなく、エラスティックコンピューティングクラウドシステムにおける記憶サービスの、サービスアップグレードの処理完了が実現される。これは、サービスアップグレードの効率を向上させ、ユーザによって目下使用されているトランザクションの中断を回避し、アップグレード処理中に高可用性のサービスを提供し、それにより、ユーザの使用経験が向上される。 This technical concept is for a request to write / read data that is maintained in a pending queue for a service associated with a block device when the service associated with the block device needs to be upgraded. Elastic computing without stopping processing and returning data write / read requests that are currently being processed in the pending queue back to the wait queue for redispatching, without interrupting storage services Completion of the service upgrade processing of the storage service in the cloud system is realized. This improves the efficiency of service upgrades, avoids interruption of transactions currently used by users, and provides highly available services during the upgrade process, thereby improving the user experience.
既存の技術における、オンラインアップグレードを実現するためのホットデプロイメントの欠如に起因して、ブロックデバイスの記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムがアップグレードされる際、エラスティックコンピューティングクラウドシステムにおける各仮想サーバは、サービスアップグレードのためにシャットダウンし、アップグレードが完了した上で再起動する必要がある。記憶サービスの提供者または記憶サービスのユーザにとって、このことは、大いに、維持コストを増大させ、関連するサービスの可用性を低下させる。この問題を考慮して、本開示は、記憶サービスのオンラインアップグレードを実現するために、ブロックデバイスの記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムにおけるブロックデバイスの記憶サービスのために、ホットデプロイメントの実施を提案する。具体的には、記憶サービスのアップグレードは、記憶サービスを中断することなく行われる。したがって、サービス提供者の記憶サービスの可用性、および記憶サービスの透明性が向上し、記憶サービスのユーザが、バックエンドサービスのアップグレード処理を懸念する必要がなくなる。 When an elastic computing cloud system that performs data storage based on block device storage services is upgraded due to the lack of hot deployment to achieve online upgrades in existing technologies, Each virtual server in the cloud cloud system needs to be shut down for service upgrade, and restarted after the upgrade is completed. For storage service providers or storage service users, this greatly increases maintenance costs and reduces the availability of related services. In view of this problem, the present disclosure is for a block device storage service in an elastic computing cloud system that performs data storage based on the block device storage service to achieve an online upgrade of the storage service. In addition, we propose the implementation of hot deployment. Specifically, the storage service upgrade is performed without interrupting the storage service. Accordingly, the availability of the storage service of the service provider and the transparency of the storage service are improved, and the storage service user does not have to worry about the back-end service upgrade process.
ブロックデバイスの記憶サービスのホットデプロイメントは、ブロックデバイスのサービスのオンラインアップグレードの技法である。ブロックデバイスの記憶サービスは、ブロックデバイスドライバ技術に基づくため、エラスティックコンピューティングクラウドシステムの物理サーバには、カーネルモードのブロックデバイスドライバのサービスプログラムが含まれる。ブロックデバイスドライバのカーネルモードサービスプログラムは、データの書き込み/読み取り要求を、物理サーバに含まれるブロックデバイスのユーザモードサービスプログラムに転送する必要があり、ブロックデバイスのユーザモードサービスプログラムは、書き込み/読み取り要求を、処理のために、遠隔ネットワークの記憶リソースプール、またはローカル物理ディスクの記憶リソースプール等に転送する。ブロックデバイスドライバのカーネルモードサービスプログラムは、ブロックデバイスのユーザモードサービスプログラムに比べて、より安定している。ブロックデバイスのユーザモードサービスプログラムは、より良い品質の記憶サービスを提供するために、バージョンのアップグレードを頻繁に必要とする。本開示の例示的な実施形態において提供される技術的な構想に基づいて、オンラインアップグレードを支持することのできるブロックデバイスドライバのサービスプログラムは、記憶サービスの可用性を強化するため、およびユーザの使用経験を向上させるために、エラスティックコンピューティングクラウドシステムの物理サーバ内に提供される。 Hot deployment of block device storage services is a technique for online upgrade of block device services. Since the block device storage service is based on the block device driver technology, the physical server of the elastic computing cloud system includes a kernel mode block device driver service program. The kernel mode service program of the block device driver needs to transfer the data write / read request to the user mode service program of the block device included in the physical server, and the user mode service program of the block device Are transferred to a storage resource pool of a remote network, a storage resource pool of a local physical disk, or the like for processing. The kernel mode service program of the block device driver is more stable than the user mode service program of the block device. Block device user mode service programs frequently require version upgrades to provide better quality storage services. Based on the technical concept provided in the exemplary embodiments of the present disclosure, a block device driver service program capable of supporting an online upgrade is provided to enhance the availability of storage services and user experience Is provided within the physical server of the elastic computing cloud system.
図1は、本開示の例示的な実施形態によって提案される技術的な構想で使用される、ブロックデバイスの記憶サービスに基づいてデータの記憶を実施するエラスティックコンピューティングクラウドシステムのトポロジーを例示する構造図を示している。エラスティックコンピューティングクラウドシステムには、エラスティックコンピューティングクラウド技術に基づいてローカル物理サーバから仮想化された、複数の仮想サーバ(図1の仮想サーバ1、仮想サーバ2、仮想サーバ3、……、仮想サーバn)が含まれる。それぞれの仮想サーバは、ブロックデバイスの記憶サービス技術に基づき、遠隔記憶リソースプールまたはローカル記憶リソースプールを使用して、ローカルに提供されるデータの記憶サービスを実施する。具体的には、それぞれの仮想サーバは、遠隔記憶リソースプールまたはローカル記憶リソースプール内にローカルに格納される必要のあるデータを格納し、その後に関連データを読み取る要求が提示された時に、遠隔記憶リソースプールまたはローカル記憶リソースプールからそのデータを読み取る。このようにして、それぞれの物理サーバは、ローカル物理サーバ自体の記憶リソースを占領することなく、遠隔にまたはローカルに設定される記憶リソースプールを共有することができるため、エラスティックコンピューティングクラウドシステムのリソース使用率が改善される。
FIG. 1 illustrates the topology of an elastic computing cloud system that implements storage of data based on block device storage services used in the technical concept proposed by the exemplary embodiments of the present disclosure. A structural diagram is shown. The elastic computing cloud system includes a plurality of virtual servers (
本開示において提供される技術的な構想を実施するために、上記で説明されるエラスティックコンピューティングクラウドシステムの物理サーバの機能は、記憶サービスのためのオンラインアップグレードを行うという目的を達成するために、改善される必要がある。 In order to implement the technical concept provided in this disclosure, the physical server functionality of the elastic computing cloud system described above is to achieve the objective of performing an online upgrade for storage services. Need to be improved.
図2は、本開示の例示的な実施形態による、改善された物理サーバを例示する構造図を示し、具体的には、カーネルモードのブロックデバイスドライバ装置20,ユーザモードのクライアント装置21、および少なくとも1つのブロックデバイスサービス装置22、ならびにローカルまたは遠隔記憶リソースプール23が含まれている。ブロックデバイスドライバ装置20は、複数のブロックデバイスサービス装置22のジョブを制御することができる。それぞれの構成要素は、下記の動作原理に基づいて、記憶サービスのオンラインアップグレードを実現する。
FIG. 2 shows a structural diagram illustrating an improved physical server according to an exemplary embodiment of the present disclosure, specifically a kernel mode block
カーネルモードのブロックデバイスドライバ装置20は、物理サーバの最下層の書き込み/読み取りディスパッチ層からデータの書き込み/読み取り要求を受信し、データの書き込み/読み取り要求を、例えばTCPプロトコルを介して、ユーザモードのブロックデバイスサービス装置22に転送する。ホットデプロイメントを支持するオンラインアップグレード機能を実施するために、ブロックデバイスドライバ装置20は、物理サーバから仮想化される、それぞれのブロックデバイスサービス装置22に対して2つの待ち行列を維持し、その1つは待機待ち行列である。物理サーバの最下層の書き込み/読み取りディスパッチ層から、特定のブロックデバイスサービス装置22に対応するデータの書き込み/読み取り要求が受信されると、その都度、ブロックデバイスドライバ装置20は、受信した書き込み/読み取り要求を、後続の処理を待つように、ブロックデバイスサービス装置22のために事前に維持されている待機待ち行列内に入れる。もう1つは、保留待ち行列である。そのブロックデバイスサービス装置22の、データの書き込み/読み取り要求を処理する時に、その都度、ブロックデバイスドライバ装置20はまず、ブロックデバイスサービス装置22のために事前に維持されている待機待ち行列からデータの書き込み/読み取り要求をフェッチして、この要求を、ブロックデバイスサービス装置22のために事前に維持されている保留待ち行列に転送し、処理のために、保留待ち行列内のこの要求をブロックデバイスサービス装置22に送信する。以上から分かるように、保留待ち行列内のすべての書き込み/読み取り要求は、物理サーバによって目下処理中である書き込み/読み取り要求である。ブロックデバイスドライバ装置20から送信された、保留待ち行列の書き込み/読み取り要求が適切に完了した後、ブロックデバイスサービス装置22は、適切に処理がなされた結果をブロックデバイスドライバ装置20に送信する。適切に処理がなされた結果の受信に応答して、ブロックデバイスドライバ装置20は、送信され、かつ完全に処理された書き込み/読み取り要求を、保留待ち行列から取り除き、保留待ち行列内のその他の書き込み/読み取り要求を処理する等のことをする。その後、ブロックデバイスサービス装置22がサービスアップグレードを行うという判定に応答して、ブロックデバイスドライバ装置20は、そのブロックデバイスサービス装置22のために維持されている保留待ち行列内のデータの書き込み/読み取り要求を、そのブロックデバイスサービス装置22に送信することを停止する。さらに、サービスアップグレードが行われる、または完了したと判定されると、ブロックデバイスドライバ装置20は、ブロックデバイスサービス装置22のために事前に維持されている保留待ち行列内のデータの書き込み/読み取り要求を、後続の再ディスパッチおよび処理を待つように、ブロックデバイスサービス装置22のために事前に維持されている待機待ち行列に戻して追加する。
The block
好適には、ブロックデバイスドライバ装置20は、ブロックデバイスドライバ装置20自身とブロックデバイスサービス装置22との間のTCP通信接続が正常かどうかを検査することによって、ブロックデバイスサービス装置22がアップグレードの動作を行う、またはアップグレードを完了したかどうかを判定することができる。ブロックデバイスドライバ装置20とブロックデバイスサービス装置22との間のTCP通信接続が切断されている場合、ブロックデバイスドライバ装置20は、ブロックデバイスサービス装置22がサービスアップグレードを行うと判定することができる。ブロックデバイスドライバ装置20とブロックデバイスサービス装置22との間のTCP通信接続が、接続のために回復されている場合、ブロックデバイスドライバ装置20は、ブロックデバイスサービス装置22のサービスアップグレードが完了したと判定することができる。
Preferably, the block
ユーザモードのブロックデバイスサービス装置22は、ブロックデバイスドライバ装置20から送信されたデータの書き込み/読み取り要求を、例えば、TCPプロトコルを介して受信する。具体的には、ユーザモードのブロックデバイスサービス装置22は、ブロックデバイスドライバ装置20によって処理されたデータの書き込み/読み取り要求を、ブロックデバイスサービス装置22のために事前に維持されている保留待ち行列内に受信する。書き込み/読み取り要求を受信すると、ユーザモードのブロックデバイスサービス装置22は、書き込み/読み取り要求が正当なものであるかどうか、それが読み取り要求または書き込み要求のどちらであるか、書き込み/読み取り要求の開始位置および長さの情報、等を分析(検証を含む)することによって、要求についての分析動作を行い、分析結果に基づいて、ローカルまたは遠隔記憶リソースプール上の読み取りまたは書き込み動作を行う。要求が読み取り要求である場合、ユーザモードのブロックデバイスサービス装置22は、要求されたデータを、ローカルまたは遠隔記憶リソースプール23から読み取り、読み取ったデータおよび処理結果をカーネルモードのブロックデバイスドライバ装置20に、例えばTCPプロトコルを介して、戻す。要求が書き込み要求である場合、ユーザモードのブロックデバイスサービス装置22は、ローカルまたは遠隔記憶リソースプール23に書き込まれるように要求されたデータを格納し、書き込み要求の処理結果をカーネルモードのブロックデバイスドライバ装置20に、例えばTCPプロトコルを介して、戻す。
The block
ユーザモードのクライアント装置21は、カーネルモードのブロックデバイスドライバ装置20を介して、ジョブを開始または停止するように、それぞれのブロックデバイスサービス装置22を制御することができる。ジョブを開始するようにブロックデバイスサービス装置22を制御する場合、クライアント装置21はまず、ユーザがクライアント装置21を介してブロックデバイスのサービスの要求の作成を始めた後に、ブロックデバイスサービス装置とのTCP接続を確立し、作成されたTCPのソケットハンドルを、ioctlコマンドを通じてブロックデバイスドライバ装置20に伝送する。その後、クライアント装置21は、TCPソケットを閉じることができる。このようにして、クライアント装置21は、カーネルモードのブロックデバイスドライバ装置20とユーザモードのブロックデバイスサービス装置22との間のTCP接続を実現する。ブロックデバイスドライバ装置20に送信される、すべての後続のデータの書き込み/読み取り要求は、ブロックデバイスサービス装置22に、TCP接続を介して送信され得る。ジョブを停止するようにブロックデバイスサービス装置22を制御する場合、クライアント装置21は、ユーザがクライアント装置21を介してブロックデバイスのサービスを停止するための要求を始めた後に、停止要求を、ioctlコマンドを通じてブロックデバイスドライバ装置20に送信する。要求を受信すると、ブロックデバイスドライバ装置20はまず、停止要求をブロックデバイスサービス装置22に送信する。この要求の受信に応答して、ブロックデバイスサービス装置22はTCPソケットを閉じた上で、安全に終了する。ブロックデバイスサービス装置22から停止応答を受信した後に、ブロックデバイスドライバ装置20は、関連する保留待ち行列内の書き込み/読み取り要求の処理を停止する。結果として、ブロックデバイスサービス装置22は動作を停止する。ブロックデバイスサービス装置22がアップグレードの処理中である場合、クライアント装置21は、ブロックデバイスサービス装置22とのTCPリンクの確立を一秒ごとに試みることができる。新しいTCPリンクが首尾よく確立されると、これは、ブロックデバイスサービス装置22が首尾よくアップグレードされたことを示し、クライアント装置21は、新しく作成されたTCPのソケットハンドルを、ioctlコマンドを通じてブロックデバイスドライバ装置20に伝送する。このようにして、ブロックデバイスサービス装置22がアップグレードされた後、ブロックデバイスドライバ装置20およびブロックデバイスサービス装置22は、データの書き込み/読み取り要求を通信するための新しいTCPリンクを確立する。
The user
クライアント装置21は、本開示における物理サーバの、オプションの構成要素とすることができる。ユーザモードのブロックデバイスサービス装置22の動作モードのユーザ制御を実現するために、クライアント装置21を使用する他には、タイミング機能、イベントトリガー機能等の他のトリガーメカニズムを使用して、ユーザモードのブロックデバイスサービス装置22の動作モードを自動的に制御することができる。
The
一般に、ローカルまたは遠隔記憶リソースプール23は、分散ファイルシステムまたは類似のものの、記憶サーバである。このリソースプール23は、ローカルに、または遠隔に展開することができ、大抵の場合、遠隔に展開された記憶リソースプールである。記憶リソースプール23は、エラスティックコンピューティングクラウドシステムの、それぞれの仮想サーバのサービスのデータを格納する。具体的には、物理サーバの特定のブロックデバイスサービス装置22からデータの読み取り要求を受信した場合、記憶リソースプール23は、要求に関連するデータをそこから読み取り、読み取ったデータをブロックデバイスサービス装置22にフィードバックする。物理サーバの特定のブロックデバイスサービス装置22からデータの書き込み要求を受信した場合、記憶リソースプール23は、書き込まれるように要求されたデータをそこに格納する。
In general, the local or remote
図3は、本開示の例示的な実施形態による、ローカルまたは遠隔記憶リソースプールにおけるデータの読み取りおよび書き込みのための、改善された物理サーバの内部処理を例示する流れ図を示している。一実施形態において、データの読み取りの処理には以下が含まれてもよい。 FIG. 3 shows a flow diagram illustrating improved physical server internal processing for reading and writing data in a local or remote storage resource pool, according to an exemplary embodiment of the present disclosure. In one embodiment, the process of reading data may include:
ローカル物理サーバのファイルシステム層が、特定のブロックデバイスサービス装置のデータの読み取り要求を、汎用ブロック層および書き込み/読み取りディスパッチ層を介してブロックデバイスドライバ装置に送信した後、ブロックデバイスドライバ装置は、この要求を、後続の処理を待つように、ブロックデバイスサービス装置のために事前に維持されている待機待ち行列内に置き、その後に、データの読み取り要求を、待ち行列から、ブロックデバイスサービス装置のために事前に維持されている保留待ち行列内にフェッチして、読み取り要求を処理、すなわち、読み取り要求をブロックデバイスサービス装置に送信する。ブロックデバイスサービス装置は、読み取り要求に従って、要求に関連するデータを記憶プールから読み取り、読み取り結果を、ブロックデバイスドライバ装置に、TCP接続を介して戻す。ブロックデバイスドライバ装置は、読み取り結果を、ファイルシステム層に、汎用ブロック層および書き込み/読み取りディスパッチ層を介して伝送し、ファイルシステム層は、読み取り結果を、ディスパッチのためにシステムに戻す。 After the file system layer of the local physical server sends a read request for data of a specific block device service device to the block device driver device via the general block layer and the write / read dispatch layer, the block device driver device Place the request in a wait queue that is pre-maintained for the block device service device to wait for subsequent processing, after which a request to read data is sent from the queue to the block device service device. Fetch into a pending queue that is maintained in advance and process the read request, ie send the read request to the block device service device. The block device service device reads data related to the request from the storage pool according to the read request, and returns the read result to the block device driver device via the TCP connection. The block device driver device transmits the read result to the file system layer via the general block layer and the write / read dispatch layer, and the file system layer returns the read result to the system for dispatch.
一実施形態において、データの書き込み処理には、以下が含まれてもよい。 In one embodiment, the data writing process may include:
ローカル物理サーバは、データの書き込み要求と、システムによって呼び出される、ファイルシステム層、汎用ブロック層、および書き込み/読み取りディスパッチ層を介して、ブロックデバイスドライバ装置に書き込まれるように要求されているデータとを、格納する。ブロックデバイスドライバ装置は、書き込み要求を、後続の処理を待つように、ブロックデバイスサービス装置のために事前に維持されている待機待ち行列内に置き、その後に、待ち行列からデータの書き込み要求をフェッチして、この要求を、ブロックデバイスサービス装置のために事前に維持されている保留待ち行列に置き、書き込み要求を処理、すなわちデータの書き込み要求および書き込まれるデータを、ブロックデバイスサービス装置に送信する。ブロックデバイスサービス装置は、書き込まれるデータの、記憶リソースプール内への格納を達成するために、データの書き込み要求を分析する。 The local physical server sends the data write request and the data that is requested to be written to the block device driver device via the file system layer, general block layer, and write / read dispatch layer called by the system. ,Store. The block device driver device places the write request in a wait queue that is maintained in advance for the block device service device to wait for subsequent processing, and then fetches the write request for data from the queue. This request is then placed in a pending queue that is maintained in advance for the block device service device, and the write request is processed, ie, the data write request and the data to be written are sent to the block device service device. The block device service device analyzes the data write request to achieve storage of the data to be written in the storage resource pool.
図4は、本開示の例示的な実施形態による、改善された物理サーバにおけるブロックデバイスドライバ装置の動作の詳細を例示する流れ図を示している。ブロックデバイスドライバ装置は、それぞれのブロックデバイスサービス装置に対して、2つの待ち行列を個々に維持し、待ち行列の1つは待機待ち行列であり、送信され、かつ、対応するブロックデバイスサービス装置による処理を待つ、データの書き込み/読み取り要求を、この待機待ち行列内に置くため、およびこの要求を、処理を待つ待ち行列の状態に入らせるために、使用され、もう1つの待ち行列は保留待ち行列であり、対応するブロックデバイスサービス装置によって目下処理中である、データの書き込み/読み取り要求を、この保留待ち行列内に置くために使用される。これらの維持されている2つの待ち行列に基づく、ブロックデバイスドライバ装置の具体的な動作原理は以下の通りである。 FIG. 4 shows a flowchart illustrating details of the operation of a block device driver apparatus in an improved physical server, according to an exemplary embodiment of the present disclosure. The block device driver device maintains two queues individually for each block device service device, one of the queues being a wait queue, transmitted and by the corresponding block device service device Used to wait for processing, put a data write / read request in this wait queue, and place this request in a queue waiting for processing, the other queue is pending It is used to place in the pending queue data write / read requests that are queues and are currently being processed by the corresponding block device service device. The specific operation principle of the block device driver device based on these two maintained queues is as follows.
40において、物理サーバの最下層から、特定のブロックデバイスサービス装置に対応するデータの書き込み/読み取り要求が受信されると、その都度、ブロックデバイスドライバ装置は、受信したデータの書き込み/読み取り要求を待たせるために、そのブロックデバイスサービス装置のために事前に維持されている待機待ち行列内に置く。 In 40, each time a data write / read request corresponding to a specific block device service device is received from the lowest layer of the physical server, the block device driver device waits for the received data write / read request. Place it in a wait queue that is maintained in advance for that block device service device.
42において、ブロックデバイスサービス装置に対応するデータの書き込み/読み取り要求を処理する時に、ブロックデバイスドライバ装置はまず、待機待ち行列からデータの書き込み/読み取り要求をフェッチして、この要求を、ブロックデバイスサービス装置のために事前に維持されている保留待ち行列に転送し、保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、ユーザモードのブロックデバイスサービス装置に送信し、ブロックデバイスサービス装置からの、受信したデータの書き込み/読み取り要求の適切な処理結果の受信に応答して、送信されたデータの書き込み/読み取り要求を保留待ち行列から削除する。 At 42, when processing a data write / read request corresponding to the block device service device, the block device driver device first fetches the data write / read request from the wait queue and passes the request to the block device service device. Block device service device that forwards to a hold queue that is maintained in advance for the device, and sends write / read requests for data in the hold queue to the block device service device in user mode for processing In response to receiving an appropriate processing result of the received data write / read request from the server, the transmitted data write / read request is deleted from the pending queue.
44において、ブロックデバイスサービス装置がサービスアップグレードを行うという判定に応答して、ブロックデバイスドライバ装置は、保留待ち行列内のすべてのデータの書き込み/読み取り要求を、処理のためにブロックデバイスサービス装置に送信することを停止する。 At 44, in response to the determination that the block device service device is performing a service upgrade, the block device driver device sends a write / read request for all data in the pending queue to the block device service device for processing. To stop doing.
46において、サービスアップグレードが行われる、または完了したと判定されると、ブロックデバイスドライバ装置は、保留待ち行列内のデータの書き込み/読み取り要求を、後続の再ディスパッチおよび処理を待つように、待機待ち行列に転送し戻す。具体的には、ブロックデバイスドライバ装置は、ブロックデバイスサービス装置がサービスアップグレードを行う、またはサービスアップグレードを完了したかどうかを、ブロックデバイスドライバ装置自身とブロックデバイスサービス装置との間の通信接続の状態を検査することによって判定することができる。より具体的には、ブロックデバイスドライバ装置自身とブロックデバイスサービス装置との間の通信接続が切断されたことを検知すると、ブロックデバイスドライバ装置は、ブロックデバイスサービス装置がサービスアップグレードを行うと判定することができる。さらに、ブロックデバイスドライバ装置自身とブロックデバイスサービス装置との間の通信接続が回復されたと検知すると、ブロックデバイスドライバ装置は、ブロックデバイスサービス装置がサービスアップグレードを完了したと判定することができる。 If it is determined at 46 that a service upgrade has occurred or has been completed, the block device driver device waits for a write / read request for data in the pending queue to wait for subsequent redispatch and processing. Transfer back to the queue. Specifically, the block device driver apparatus determines whether the block device service apparatus performs a service upgrade or completes the service upgrade, and indicates the state of the communication connection between the block device driver apparatus itself and the block device service apparatus. This can be determined by inspection. More specifically, upon detecting that the communication connection between the block device driver apparatus itself and the block device service apparatus has been disconnected, the block device driver apparatus determines that the block device service apparatus performs a service upgrade. Can do. Further, when detecting that the communication connection between the block device driver apparatus itself and the block device service apparatus has been recovered, the block device driver apparatus can determine that the block device service apparatus has completed the service upgrade.
図5は、本開示の例示的な実施形態によるブロックデバイスサービス装置のサービスアップグレードの前または後に、改善された物理サーバのブロックデバイスドライバ装置が、それによって維持されている待機待ち行列および保留待ち行列のためにディスパッチを行うための処理を例示する概略図を示している。ブロックデバイスサービス装置のホットデプロイメント(すなわち、オンラインアップグレード)を支持するために、カーネルモードのブロックデバイスドライバ装置は、受信したデータの書き込み/読み取り要求を維持する必要がある。ブロックデバイスドライバ装置は、それぞれのブロックデバイスサービス装置に対して、2つの、データの読み取りおよび書き込み待ち行列を個々に使用して、書き込み/読み取り要求の状態を維持する。1つは、待機待ち行列であり、それぞれのブロックデバイスサービス装置のための物理サーバ内の書き込み/読み取りディスパッチ層から送信される、書き込み/読み取り要求を維持するために使用され、これらの要求は、ブロックデバイスドライバ装置による後続の処理を待つように、待機待ち行列内に並ぶ。もう1つは、保留待ち行列であり、それぞれのブロックデバイスサービス装置のために、ブロックデバイスドライバ装置によって目下処理中である、書き込み/読み取り要求を維持するために使用される。これらの、保留待ち行列内の書き込み/読み取り要求は、完全に処理されておらず、ブロックデバイスドライバ装置が、対応するブロックデバイスサービス装置の処理応答を待っている状況である場合がある。特定のブロックデバイスサービス装置がサービスアップグレードを行っていない場合、ブロックデバイスドライバ装置はまず、書き込み/読み取り要求を処理する際に、ブロックデバイスサービス装置のために事前に維持されている待機待ち行列の先頭から書き込み/読み取り要求をフェッチして、フェッチされた書き込み/読み取り要求を待機待ち行列から削除し、書き込み/読み取り要求を、ブロックデバイスサービス装置のために事前に維持されている保留待ち行列の先頭に置き、保留待ち行列内の各書き込み/読み取り要求を、処理のために、ブロックデバイスサービス装置に送信し、ブロックデバイスサービス装置から、受信した書き込み/読み取り要求の適切な処理結果を受信した後で、送信された書き込み/読み取り要求を、保留待ち行列から削除する。ブロックデバイスサービス装置がサービスアップグレードを必要とする時、ブロックデバイスドライバ装置は、保留待ち行列内の書き込み/読み取り要求を、処理のために、ブロックデバイスサービス装置に送信することを停止する、すなわち、新しい書き込み/読み取り要求をブロックデバイスサービス装置に送信することを停止する。ブロックデバイスサービス装置がアップグレードを行う、またはアップグレードを完了した後に、ブロックデバイスドライバ装置は、対応する保留待ち行列内のすべての書き込み/読み取り要求(図5に、1、2、3、4、5、6、……と示されている要求等)を、ブロックデバイスドライバ装置による後続の再ディスパッチのために、対応する待機待ち行列に戻して置く。 FIG. 5 illustrates a wait queue and a hold queue with which an improved physical server block device driver device is maintained before or after a service upgrade of a block device service device according to an exemplary embodiment of the present disclosure. FIG. 2 shows a schematic diagram illustrating a process for performing dispatch for the purpose of FIG. In order to support hot deployment (ie, online upgrade) of the block device service device, the kernel mode block device driver device needs to maintain write / read requests for received data. The block device driver device uses the two data read and write queues individually for each block device service device to maintain the state of the write / read request. One is a wait queue that is used to maintain write / read requests sent from the write / read dispatch layer in the physical server for each block device service device, A queue is placed in the wait queue to wait for subsequent processing by the block device driver device. The other is a pending queue that is used to maintain write / read requests that are currently being processed by the block device driver device for each block device service device. These write / read requests in the pending queue may not be completely processed and the block device driver device may be waiting for a processing response from the corresponding block device service device. If a particular block device service device is not performing a service upgrade, the block device driver device first begins the wait queue that is maintained in advance for the block device service device when processing a write / read request. Fetches the write / read request from the queue, deletes the fetched write / read request from the wait queue, and places the write / read request at the head of the pending queue that is maintained in advance for the block device service device. Each write / read request in the hold queue is sent to the block device service device for processing and after receiving the appropriate processing result of the received write / read request from the block device service device, The sent write / read request To remove from the distillate queue. When the block device service device needs a service upgrade, the block device driver device stops sending write / read requests in the pending queue to the block device service device for processing, i.e., new Stop sending the write / read request to the block device service device. After the block device service device performs an upgrade or completes the upgrade, the block device driver device will request all write / read requests in the corresponding pending queue (FIGS. 1, 2, 3, 4, 5, 6... Are put back into the corresponding wait queue for subsequent redispatch by the block device driver device.
以上のように、ブロックデバイスドライバ装置をエラスティックコンピューティングクラウドシステムの物理サーバに追加することによって、およびそれぞれのブロックデバイスサービス装置のために事前に維持されている2つの待ち行列を介して、ブロックデバイスドライバ装置によるディスパッチをすることによって、バックエンド記憶サービスのサービスアップグレードは、データ記憶のユーザに対する記憶サービスの提供を中断することなく完了することができるため、エラスティックコンピューティングクラウドシステムにおけるデータ記憶の可用性が向上する。さらに、前述の構想は、データ記憶のユーザが、記憶サービスのサービスアップグレードに起因するデータ記憶のトランザクションへのあらゆる影響をほとんど感じないように、ユーザにとって透過的であるため、ユーザの使用経験が改善される。 As described above, by adding a block device driver device to the physical server of the elastic computing cloud system and through two queues that are maintained in advance for each block device service device By dispatching the device driver device, the service upgrade of the back-end storage service can be completed without interrupting the provision of the storage service to the data storage user, so that the data storage in the elastic computing cloud system can be completed. Increases availability. In addition, the aforementioned concept is transparent to the user so that the data storage user feels almost no impact on the data storage transaction due to the service upgrade of the storage service, thus improving the user experience. Is done.
これに対応して、図6は、本開示の例示的な実施形態による、改善された物理サーバの新しいブロックデバイスドライバ装置を例示する構造図を示している。一実施形態において、本装置には、各ブロックデバイスサービス装置のために、待機待ち行列を個別に維持するために使用される、待機待ち行列維持ユニット60が含まれてもよく、この待機待ち行列内には、それぞれのブロックデバイスサービス装置のためのデータの書き込み/読み取り要求が、処理を待つ待ち行列の状態に入るように置かれる。加えて、本装置には、各ブロックデバイスサービス装置のために、別の保留待ち行列を個別に維持するために使用される、保留待ち行列維持ユニット61がさらに含まれてもよく、この別の保留待ち行列内には、それぞれのブロックデバイスサービス装置のための、目下処理中であるデータの書き込み/読み取り要求が置かれる。
Correspondingly, FIG. 6 shows a structural diagram illustrating a new block device driver apparatus for an improved physical server, according to an exemplary embodiment of the present disclosure. In one embodiment, the apparatus may include a wait
具体的には、データの書き込み/読み取り要求は、特定のブロックデバイスサービス装置のために、待機待ち行列維持ユニット60によって事前に維持されている待機待ち行列からフェッチされて、そのブロックデバイスサービス装置のために維持されている保留待ち行列に移動される。具体的には、保留待ち行列維持ユニット61は、対応する待機待ち行列の先頭から、データの書き込み/読み取り要求をフェッチして、フェッチされたデータの書き込み/読み取り要求を待機待ち行列から削除し、フェッチされたデータの書き込み/読み取り要求を、事前に維持されている対応する保留待ち行列の先頭に転送することができる。
Specifically, a data write / read request is fetched from a wait queue previously maintained by the wait
いくつかの実施形態では、本装置には、書き込み/読み取り要求処理ユニット62がさらに含まれてもよい。書き込み/読み取り要求処理ユニット62は、保留待ち行列維持ユニット61によって維持されている、対応する保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、ブロックデバイスサービス装置に送信するために使用することができる。さらに、書き込み/読み取り要求処理ユニット62は、ブロックデバイスサービス装置からの、受信したデータの書き込み/読み取り要求の適切な処理結果の受信に応答して、送信されたデータの書き込み/読み取り要求を、保留待ち行列から削除することができ、ブロックデバイスサービス装置がサービスアップグレードを行うという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、処理のためにブロックデバイスサービス装置に送信することを停止することができる。
In some embodiments, the apparatus may further include a write / read
いくつかの実施形態では、書き込み/読み取り要求処理ユニット62はさらに、サービスアップグレードが行われる、または完了したという判定に応答して、保留待ち行列内のデータの書き込み/読み取り要求を、書き込み/読み取り要求処理ユニット62によってその後に再ディスパッチされるのを待たせるために、対応する待機待ち行列に転送し戻すことができる。具体的には、書き込み/読み取り要求処理ユニット62は、ブロックデバイスドライバ装置とブロックデバイスサービス装置との間の通信接続の状態を検査することによって、通信接続の切断を検知すると、ブロックデバイスサービス装置がサービスアップグレードを行うと判定することができ、通信接続が回復されたと検知すると、ブロックデバイスサービス装置がサービスアップグレードを完了したと判定することができる。
In some embodiments, the write / read
図7は、本開示の例示的な実施形態による、サーバのサービスアップグレードを行う時に、物理サーバのブロックデバイスドライバ装置を制御する動作を例示する概略図を示している。具体的には、動作の過程には、以下が含まれる。 FIG. 7 shows a schematic diagram illustrating operations for controlling a block device driver device of a physical server when performing a service upgrade of the server according to an exemplary embodiment of the present disclosure. Specifically, the process of operation includes the following.
70において、記憶サービスのアップグレードに先立って、アップグレード保守管理者は、ioctlコマンドを、ユーザモードのクライアント装置を介して、カーネルモードのブロックデバイスドライバ装置に送信して、ブロックデバイスドライバ装置がすべての書き込み/読み取り要求を保持するように指示する。 At 70, prior to the storage service upgrade, the upgrade maintenance manager sends an ioctl command to the kernel mode block device driver device via the user mode client device, and the block device driver device writes all writes. / Instructs to hold the read request.
72において、アップグレード保守管理者はその後に、通常のアップグレードプロセスを使用して記憶サービスのためのサービスアップグレード(サービスアップグレードには、サービスを停止すること、サービスプログラムをアップグレードすること、新しいサービスを公開すること、等が含まれる)を行う。このようにして、記憶サービスに対するオンラインのサービスアップグレードを行うためのホットデプロイメントが完了する。ホットデプロイメントの処理中、ブロックデバイスドライバ装置はすべての書き込み/読み取り要求を保持する。 At 72, the upgrade maintenance manager then uses the normal upgrade process to upgrade the service for the storage service (service upgrade includes stopping the service, upgrading the service program, and publishing a new service). Is included). In this way, the hot deployment for performing an online service upgrade for the storage service is completed. During the hot deployment process, the block device driver device holds all write / read requests.
74において、デプロイメントがなされた上で、ブロックデバイスドライバ装置はすべての書き込み/読み取り要求を解放し、データの記憶サービスは処理を続ける。 At 74, upon deployment, the block device driver device releases all write / read requests and the data storage service continues processing.
本開示の例示的な実施形態は、方法、装置(デバイス)、またはコンピュータプログラム製品として提供され得ることが、当業者には理解されるべきである。したがって、本開示は、ハードウェアのみ、ソフトウェアのみ、またはハードウェアとソフトウェアとの組み合わせの単位で実施することができる。さらに、本開示は、コンピュータで実行可能な命令を含む1つまたは複数のコンピュータ記憶媒体(ディスク記憶、CD−ROM、光ディスク、その他を含むがこれらに限定されない)を有するコンピュータプログラム製品の形状で実施することができる。 It should be understood by one of ordinary skill in the art that the exemplary embodiments of the present disclosure can be provided as a method, apparatus (device), or computer program product. Accordingly, the present disclosure can be implemented in units of hardware only, software only, or a combination of hardware and software. Further, the present disclosure is implemented in the form of a computer program product having one or more computer storage media (including but not limited to disk storage, CD-ROM, optical disk, etc.) containing computer-executable instructions. can do.
本開示は、例示的な方法、装置(デバイス)およびコンピュータプログラム製品の、流れ図および/またはブロック図を参照して説明される。流れ図および/またはブロック図の、それぞれの流れおよび/またはブロック、ならびに流れおよび/またはブロックの組み合わせは、コンピュータプログラム命令によって実行されてもよいことが理解されるべきである。これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラマブルデータプロセッサによる命令の実行を通じて、流れ図の1つまたは複数の流れ内、および/またはブロック図の1つまたは複数のブロック内で指示された機能を実施する装置を作るために、一般的なコンピュータ、特化型コンピュータ、マシンを作り出すための組み込みプロセッサもしくはその他のプログラマブルデータプロセッサに提供されてもよい。 The present disclosure is described with reference to flowchart illustrations and / or block diagrams of example methods, apparatus (devices) and computer program products. It is to be understood that each flow and / or block, and combinations of flows and / or blocks in the flowchart and / or block diagram, may be performed by computer program instructions. These computer program instructions perform the functions indicated in one or more flows of the flowchart and / or in one or more blocks of the block diagram through execution of instructions by a computer or other programmable data processor. May be provided to a general computer, a specialized computer, an embedded processor to create a machine, or other programmable data processor.
これらのコンピュータプログラム命令は、代替として、コンピュータ読み取り可能な記憶域に格納された命令が、命令装置を含む製品を作り出すように、コンピュータまたはその他のプログラマブルデータプロセッサに対して特定の方式で動作するように命令することのできる、コンピュータ読み取り可能な記憶域に格納されてもよい。命令装置は、流れ図の1つもしくは複数の流れおよび/またはブロック図の1つもしくは複数のブロックにおいて指示される機能を実施する。 These computer program instructions may alternatively operate in a specific manner for a computer or other programmable data processor such that instructions stored in computer readable storage produce a product that includes an instruction device. It may be stored in a computer readable storage area that can be instructed. The instruction device performs the functions indicated in one or more flows of the flowchart and / or one or more blocks of the block diagram.
これらのコンピュータプログラム命令は、代替として、コンピュータまたはその他のプログラマブルデータプロセッサが、コンピュータによって実施される処理を作り出すための一連の動作行動をすることができるように、コンピュータまたはその他のプログラマブルデータプロセッサ内にロードされてもよい。その結果、コンピュータまたはその他のプログラマブルデータプロセッサで実行される命令は、流れ図の1つもしくは複数の流れおよび/またはブロック図の1つもしくは複数のブロックにおいて指示される機能を実施するための行動を提供することができる。 These computer program instructions may alternatively reside in a computer or other programmable data processor so that the computer or other programmable data processor can take a series of operational actions to create a computer-implemented process. May be loaded. As a result, instructions executed on a computer or other programmable data processor provide actions to implement the functions indicated in one or more flows in the flowchart and / or one or more blocks in the block diagram. can do.
例えば、図8は、上記で説明される装置のような、例示的な装置800をより詳細に示している。一実施形態において、装置800には、1つまたは複数のプロセッサ801、ネットワークインターフェース802、メモリ803、および入出力インターフェース804が含まれてもよいが、これらに限定されない。 For example, FIG. 8 shows an exemplary apparatus 800 in more detail, such as the apparatus described above. In one embodiment, the device 800 may include, but is not limited to, one or more processors 801, a network interface 802, a memory 803, and an input / output interface 804.
メモリ803には、ランダムアクセスメモリ(RAM)等のような、揮発性メモリの形状の、コンピュータ読み取り可能な媒体、および/または、リードオンリーメモリ(ROM)もしくはフラッシュRAM等のような、不揮発性メモリが含まれてもよい。メモリ803は、コンピュータ読み取り可能な媒体の一例である。 Memory 803 includes computer readable media in the form of volatile memory, such as random access memory (RAM), and / or non-volatile memory, such as read only memory (ROM) or flash RAM. May be included. The memory 803 is an example of a computer-readable medium.
コンピュータ読み取り可能な媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータ等のような情報の記憶のための、あらゆる方法もしくは技術において実装される、揮発性および不揮発性、取り外し可能なおよび取り外し不可能な媒体が含まれる。コンピュータ記憶媒体の例には、相変化メモリ(PRAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、その他のタイプのランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリもしくはその他のメモリ技術、コンパクトディスクリードオンリーメモリ(CD−ROM)、デジタル多目的ディスク(DVD)もしくはその他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくはその他の磁気記憶装置、または、コンピューティング装置によってアクセスするための情報を格納するために使用され得る、あらゆるその他の非伝送媒体が含まれるが、これらに限定されない。本明細書において定義されるように、コンピュータ読み取り可能な媒体には、変調されたデータ信号および搬送波等のような、一時的な媒体は含まれない。 Computer-readable media includes volatile and nonvolatile, implemented in any method or technique for storage of information such as computer readable instructions, data structures, program modules, or other data. Includes removable and non-removable media. Examples of computer storage media include phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), electrical Erasable Programmable Read Only Memory (EEPROM), Flash Memory or Other Memory Technology, Compact Disc Read Only Memory (CD-ROM), Digital Multipurpose Disc (DVD) or Other Optical Storage, Magnetic Cassette, Magnetic Tape, Magnetic Includes any disk storage or other magnetic storage device or any other non-transmission medium that can be used to store information for access by a computing device. But it is not limited to. As defined herein, computer-readable media does not include temporary media, such as modulated data signals and carrier waves.
メモリ803には、プログラムユニット805およびプログラムデータ806が含まれてもよい。一実施形態では、プログラムユニット805には、待機待ち行列維持ユニット807、保留待ち行列維持ユニット808、および書き込み/読み取り要求処理ユニット809が含まれてもよい。これらのプログラムユニットの詳細は、上記で説明されている前述の実施形態内に見ることができる。 The memory 803 may include a program unit 805 and program data 806. In one embodiment, the program unit 805 may include a wait queue maintenance unit 807, a hold queue maintenance unit 808, and a write / read request processing unit 809. Details of these program units can be found in the previous embodiments described above.
本開示の好ましい実施形態が説明されているが、当業者は、基本的な創造的概念を理解すればすぐに、これらの実施形態に対する追加の修正および変更を行うことが可能である。したがって、特許請求の範囲は、本開示の特許請求の範囲および好ましい実施形態の範囲に含まれる、すべての変更形態および変形形態を含むことが意図される。 While preferred embodiments of the present disclosure have been described, those skilled in the art can make additional modifications and changes to these embodiments as soon as they understand the basic creative concepts. Accordingly, the claims are intended to cover all modifications and variations that fall within the scope of the claims and the preferred embodiments of the present disclosure.
当業者は、開示される方法、システムおよび装置を多くの異なるやり方で、本開示の趣旨および範囲から逸脱することなく、修正または変更することができる。したがって、本開示は、本開示の特許請求の範囲およびそれらの均等物の範囲に含まれる、すべての変更形態および変形形態を含むことが意図される。 Those skilled in the art can modify or change the disclosed methods, systems, and devices in many different ways without departing from the spirit and scope of the disclosure. Accordingly, this disclosure is intended to embrace all such alterations and modifications that fall within the scope of the claims of this disclosure and their equivalents.
Claims (20)
前記ブロックデバイスドライバ装置は、
ブロックデバイスサービス装置に対応するデータの書き込み/読み取り要求の受信に応答して、前記ブロックデバイスサービス装置のために事前に維持されている待機待ち行列内に、受信した前記データの書き込み/読み取り要求を置き、
前記待機待ち行列からデータの書き込み/読み取り要求をフェッチして、前記フェッチされた要求を、前記ブロックデバイスサービス装置のために事前に維持されている保留待ち行列に転送し、
前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために前記ブロックデバイスサービス装置に送信し、
受信した前記データの書き込み/読み取り要求についての前記ブロックデバイスサービス装置からの処理結果の受信に応答して、前記送信されたデータの書き込み/読み取り要求を前記保留待ち行列から削除し、
前記ブロックデバイスサービス装置がサービスアップグレードを行うという判定に応答して、前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために前記ブロックデバイスサービス装置に送信することを停止し、
サービスアップグレードが行われる、または完了したという判定に応答して、前記保留待ち行列内の前記データの書き込み/読み取り要求を前記待機待ち行列に転送し戻すように構成され、
前記ブロックデバイスサービス装置は、
前記ブロックデバイスドライバ装置から送信された前記データの書き込み/読み取り要求に基づいて、ブロックデバイスの記憶リソースプールのために要求されたデータに対応する読み取りおよび書き込みの動作を行うように構成される、サーバ。 A server of an elastic computing cloud system that performs data storage based on a storage service associated with a block device, comprising a block device driver device and at least one block device service device;
The block device driver device is:
In response to receiving a data write / read request corresponding to a block device service device, the received data write / read request is placed in a wait queue that is maintained in advance for the block device service device. put,
Fetching a data write / read request from the wait queue and transferring the fetched request to a pending queue that is maintained in advance for the block device service device;
Sending data write / read requests in the hold queue to the block device service device for processing;
In response to receiving a processing result from the block device service apparatus for the received data write / read request, the transmitted data write / read request is deleted from the pending queue;
In response to a determination that the block device service device is to perform a service upgrade, stop sending data write / read requests in the pending queue to the block device service device for processing;
Responsive to a determination that a service upgrade has occurred or has been completed, configured to transfer a write / read request for the data in the pending queue back to the standby queue;
The block device service device
A server configured to perform read and write operations corresponding to data requested for a storage resource pool of a block device based on a write / read request for the data transmitted from the block device driver device .
始動時に、前記ブロックデバイスドライバ装置と、前記始動されたブロックデバイスサービス装置との間の通信接続を確立するように構成される、クライアント装置をさらに備える、請求項1に記載のサーバ。 Controlling the start of the block device service device;
The server of claim 1, further comprising a client device configured to establish a communication connection between the block device driver device and the started block device service device at startup.
前記ブロックデバイスサービス装置の停止を制御し、
停止時に、前記ブロックデバイスドライバ装置と、前記停止されたブロックデバイスサービス装置との間の前記通信接続を解除するようにさらに構成される、請求項2に記載のサーバ。 The client device is
Controlling the stop of the block device service device,
The server of claim 2, further configured to release the communication connection between the block device driver device and the stopped block device service device when stopped.
ブロックデバイスに関連付けられたサービスに対応する、データの書き込み/読み取り要求の受信に応答して、その都度、前記ブロックデバイスに関連付けられた前記サービスのために事前に維持された待機待ち行列内に、受信した前記データの書き込み/読み取り要求を置くことと、
前記待機待ち行列からデータの書き込み/読み取り要求をフェッチすること、前記フェッチされた要求を、前記ブロックデバイスに関連付けられた前記サービスのために事前に維持されている保留待ち行列に転送すること、前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために前記ブロックデバイスに関連付けられた前記サービスに送信すること、および受信した前記データの書き込み/読み取り要求についての、前記ブロックデバイスに関連付けられた前記サービスからの処理結果の受信に応答して、前記送信されたデータの書き込み/読み取り要求を前記保留待ち行列から削除することと、
前記ブロックデバイスに関連付けられた前記サービスが、サービスアップグレードを行うという判定に応答して、前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために前記ブロックデバイスに関連付けられた前記サービスに送信することを停止することと、
サービスアップグレードが行われる、または完了したという判定に応答して、前記保留待ち行列内の前記データの書き込み/読み取り要求を前記待機待ち行列に転送し戻すことと、
を含む、方法。 A method for upgrading an elastic computing cloud system that implements storage of data based on a storage service associated with a block device comprising:
In response to receiving a data write / read request corresponding to a service associated with a block device, each time in a wait queue maintained in advance for the service associated with the block device, Placing a write / read request for the received data;
Fetching data write / read requests from the waiting queue, forwarding the fetched requests to a pending queue that is pre-maintained for the service associated with the block device; Sending a write / read request for data in the pending queue to the service associated with the block device for processing and associated with the block device for the received write / read request for data In response to receiving a processing result from the service, deleting the transmitted data write / read request from the pending queue;
In response to a determination that the service associated with the block device is to perform a service upgrade, a write / read request for data in the pending queue is sent to the service associated with the block device for processing. Stop sending, and
In response to a determination that a service upgrade has been or has been completed, transferring a write / read request for the data in the pending queue back to the standby queue;
Including a method.
前記待機待ち行列の先頭から前記データの書き込み/読み取り要求をフェッチすることと、
前記フェッチされたデータの書き込み/読み取り要求を、前記待機待ち行列から削除することと、
前記フェッチされたデータの書き込み/読み取り要求を、事前に維持された前記保留待ち行列に転送することと、
を含む、請求項7に記載の方法。 Fetching a write / read request for data from the wait queue and forwarding the fetched request to a pending queue that is pre-maintained for the service associated with the block device;
Fetching the data write / read request from the head of the wait queue;
Deleting the fetched data write / read request from the waiting queue;
Forwarding the fetched data write / read request to the hold queue previously maintained;
The method of claim 7 comprising:
ブロックデバイスに関連付けられたサービスに対応する、データの書き込み/読み取り要求の受信に応答して、その都度、前記ブロックデバイスに関連付けられた前記サービスのために事前に維持された待機待ち行列内に、受信した前記データの書き込み/読み取り要求を置くように構成される、待機待ち行列維持ユニットと、
前記待機待ち行列からデータの書き込み/読み取り要求をフェッチして、前記フェッチされた要求を、前記ブロックデバイスに関連付けられた前記サービスのために事前に維持された保留待ち行列に転送するように構成される、保留待ち行列維持ユニットと、
前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、前記ブロックデバイスに関連付けられた前記サービスに送信し、
受信した前記データの書き込み/読み取り要求についての、前記ブロックデバイスに関連付けられた前記サービスからの処理結果の受信に応答して、前記送信されたデータの書き込み/読み取り要求を前記保留待ち行列から削除し、
前記ブロックデバイスに関連付けられた前記サービスが、サービスアップグレードを行うという判定に応答して、前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、前記ブロックデバイスに関連付けられた前記サービスに送信することを停止し、
サービスアップグレードが行われる、または完了したという判定に応答して、前記保留待ち行列内の前記データの書き込み/読み取り要求を、前記待機待ち行列に転送し戻す、ように構成される、書き込み/読み取り要求処理ユニットと、
を備える、装置。 An apparatus for upgrading an elastic computing cloud system for storing data based on a storage service associated with a block device, comprising:
In response to receiving a data write / read request corresponding to a service associated with a block device, each time in a wait queue maintained in advance for the service associated with the block device, A wait queue maintenance unit configured to place a write / read request for the received data;
Configured to fetch data write / read requests from the wait queue and forward the fetched requests to a pending queue previously maintained for the service associated with the block device. A hold queue maintenance unit;
Sending a write / read request for data in the pending queue to the service associated with the block device for processing;
In response to receiving a processing result from the service associated with the block device for the received data write / read request, the transmitted data write / read request is deleted from the pending queue. ,
In response to a determination that the service associated with the block device is to perform a service upgrade, a write / read request for data in the pending queue is processed for processing the service associated with the block device. Stop sending to
A write / read request configured to forward the write / read request for the data in the pending queue back to the wait queue in response to a determination that a service upgrade has occurred or has been completed. A processing unit;
An apparatus comprising:
前記ブロックデバイスに関連付けられた前記記憶サービスに基づいて、前記エラスティックコンピューティングクラウドシステムのデータを格納するように構成される、記憶リソースプールと、
ブロックデバイスに関連付けられたサービスに対応する、データの書き込み/読み取り要求の受信に応答して、その都度、前記ブロックデバイスに関連付けられた前記サービスのために、事前に維持されている待機待ち行列内に前記受信したデータの書き込み/読み取り要求を置き、
前記待機待ち行列からデータの書き込み/読み取り要求をフェッチして、前記フェッチされた要求を、前記ブロックデバイスに関連付けられた前記サービスのために、事前に維持されている保留待ち行列に転送し、
前記保留待ち行列内の前記データの書き込み/読み取り要求に基づいて、前記記憶リソースプールのために要求されたデータに対応する読み込みおよび書き込みの動作を行い、
前記ブロックデバイスに関連付けられた前記サービスが、サービスアップグレードを行うという判定に応答して、前記保留待ち行列内のデータの書き込み/読み取り要求を、処理のために、前記ブロックデバイスに関連付けられた前記サービスに送信することを停止し、
サービスアップグレードが行われる、または完了したという判定に応答して、前記保留待ち行列内の前記データの書き込み/読み取り要求を、前記待機待ち行列に転送し戻す、ように構成される、少なくとも1つの物理サーバと、
を備える、エラスティックコンピューティングクラウドシステム。 An elastic computing cloud system for storing data based on a storage service associated with a block device,
A storage resource pool configured to store data of the elastic computing cloud system based on the storage service associated with the block device;
Each time in response to receipt of a data write / read request corresponding to a service associated with a block device, in a wait queue maintained in advance for the service associated with the block device Put the request to write / read the received data in
Fetching data write / read requests from the waiting queue and forwarding the fetched requests to a pending queue that is maintained in advance for the service associated with the block device;
Performing read and write operations corresponding to the requested data for the storage resource pool based on write / read requests for the data in the pending queue;
In response to a determination that the service associated with the block device is to perform a service upgrade, a write / read request for data in the pending queue is processed for processing the service associated with the block device. Stop sending to
At least one physical configured to forward a write / read request for the data in the pending queue back to the standby queue in response to a determination that a service upgrade has been performed or has been completed Server,
An elastic computing cloud system.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110001297.X | 2011-01-05 | ||
CN201110001297.XA CN102591668B (en) | 2011-01-05 | 2011-01-05 | Device, method and system for updating elastic computing cloud system |
PCT/US2012/020055 WO2012094303A1 (en) | 2011-01-05 | 2012-01-03 | Upgrading an elastic computing cloud system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014501995A true JP2014501995A (en) | 2014-01-23 |
JP5931919B2 JP5931919B2 (en) | 2016-06-08 |
Family
ID=46457681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013548460A Active JP5931919B2 (en) | 2011-01-05 | 2012-01-03 | Elastic computing cloud system upgrade |
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)
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 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038922A (en) * | 2001-12-28 | 2004-02-05 | Network Appliance Inc | Technique for enabling a plurality of virtual filers on single filer to participate in a plurality of address spaces with overlapping network addresses |
JP2004199247A (en) * | 2002-12-17 | 2004-07-15 | Hitachi Communication Technologies Ltd | Method for updating program |
US20100199037A1 (en) * | 2009-02-04 | 2010-08-05 | Steven Michael Umbehocker | Methods and Systems for Providing Translations of Data Retrieved From a Storage System in a Cloud Computing Environment |
Family Cites Families (6)
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 |
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 |
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 |
EP2425338A1 (en) * | 2009-05-01 | 2012-03-07 | Citrix Systems, Inc. | Systems and methods for providing a virtual appliance in an application delivery fabric |
-
2011
- 2011-01-05 CN CN201110001297.XA patent/CN102591668B/en active Active
- 2011-09-09 TW TW100132627A patent/TWI518502B/en active
-
2012
- 2012-01-03 EP EP12731917.6A patent/EP2661691A4/en not_active Ceased
- 2012-01-03 JP JP2013548460A patent/JP5931919B2/en active Active
- 2012-01-03 WO PCT/US2012/020055 patent/WO2012094303A1/en active Application Filing
- 2012-10-22 HK HK12110494.6A patent/HK1169733A1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038922A (en) * | 2001-12-28 | 2004-02-05 | Network Appliance Inc | Technique for enabling a plurality of virtual filers on single filer to participate in a plurality of address spaces with overlapping network addresses |
JP2004199247A (en) * | 2002-12-17 | 2004-07-15 | Hitachi Communication Technologies Ltd | Method for updating program |
US20100199037A1 (en) * | 2009-02-04 | 2010-08-05 | Steven Michael Umbehocker | Methods and Systems for Providing Translations of Data Retrieved From a Storage System in a Cloud Computing Environment |
Also Published As
Publication number | Publication date |
---|---|
CN102591668A (en) | 2012-07-18 |
JP5931919B2 (en) | 2016-06-08 |
HK1169733A1 (en) | 2013-02-01 |
TWI518502B (en) | 2016-01-21 |
EP2661691A4 (en) | 2016-03-23 |
CN102591668B (en) | 2015-04-08 |
WO2012094303A1 (en) | 2012-07-12 |
EP2661691A1 (en) | 2013-11-13 |
TW201229750A (en) | 2012-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5931919B2 (en) | Elastic computing cloud system upgrade | |
US8447894B2 (en) | Upgrading an elastic computing cloud system | |
KR102055325B1 (en) | Efficient live-migration of remotely accessed data | |
US10275851B1 (en) | Checkpointing for GPU-as-a-service in cloud computing environment | |
US9588796B2 (en) | Live migration with pre-opened shared disks | |
US9430268B2 (en) | Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via NVMe controllers | |
US8924965B2 (en) | Memory state transfer of virtual machine-controlled peripherals during migrations of the virtual machine | |
US9336039B2 (en) | Determining status of migrating virtual machines | |
US8490088B2 (en) | On demand virtual machine image streaming | |
US8356120B2 (en) | Mechanism for memory state restoration of virtual machine (VM)-controlled peripherals at a destination host machine during migration of the VM | |
US20160055021A1 (en) | Rapid suspend/resume for virtual machines via resource sharing | |
US8863123B2 (en) | Apparatus and method for virtualizing input/output devices using shared memory in host-based mobile terminal virtualization environment | |
US10860363B1 (en) | Managing virtual machine hibernation state incompatibility with underlying host configurations | |
US8006254B2 (en) | Bequeathing privilege to a dynamically loaded module | |
US20180081674A1 (en) | Updating Machine Emulator | |
JP2015526823A (en) | Transparent host-side caching of virtual disks on shared storage | |
US9571584B2 (en) | Method for resuming process and information processing system | |
US11256533B1 (en) | Transparent disk caching for virtual machines and applications | |
US20140237479A1 (en) | Virtual Machine-to-Image Affinity on a Physical Server | |
US20170331912A1 (en) | Multi-account login and communication | |
US8156510B2 (en) | Process retext for dynamically loaded modules | |
US9760524B2 (en) | System and method to redirect UASP mass storage devices to an unsupported operating system in a VDI environment | |
US10942821B1 (en) | Method and apparatus for dynamic binding and unbinding thin logical storage volumes to snapshots of a file system | |
US11669365B1 (en) | Task pool for managed compute instances | |
US11340818B2 (en) | Migrating virtual tapes between different virtual tape storages without host involvement |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160427 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5931919 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |