CN103902348B - The reading/writing method of user data, system and physical machine under a kind of virtualized environment - Google Patents

The reading/writing method of user data, system and physical machine under a kind of virtualized environment Download PDF

Info

Publication number
CN103902348B
CN103902348B CN201210572237.8A CN201210572237A CN103902348B CN 103902348 B CN103902348 B CN 103902348B CN 201210572237 A CN201210572237 A CN 201210572237A CN 103902348 B CN103902348 B CN 103902348B
Authority
CN
China
Prior art keywords
request
write
read
address
queue
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.)
Expired - Fee Related
Application number
CN201210572237.8A
Other languages
Chinese (zh)
Other versions
CN103902348A (en
Inventor
马久跃
姜继
陈克平
熊劲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201210572237.8A priority Critical patent/CN103902348B/en
Publication of CN103902348A publication Critical patent/CN103902348A/en
Application granted granted Critical
Publication of CN103902348B publication Critical patent/CN103902348B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the present invention provides reading/writing method, system and the physical machine of user data under a kind of virtualized environment, and wherein method includes:Detect that each virtual machine whether there is user data read-write requests;Collect the user data read-write requests of each virtual machine, read request is added in read request queue, write request is added in write request queue;Work as the first request address in read request queue, and/or write request queue and when meeting preparatory condition to response of the second request address, according to request queue method of adjustment corresponding with preparatory condition, request queue corresponding to the first request address is adjusted;Transfer in priority high request queue relatively in preceding request, send transferred request to the server of storage user data.The embodiment of the present invention greatly reduces the read-write pressure of the communication interface of physical machine and the server of storage user data, improves the read-write efficiency of user data.

Description

The reading/writing method of user data, system and physical machine under a kind of virtualized environment
Technical field
The present invention relates to Intel Virtualization Technology, more specifically to a kind of read-write side of user data under virtualized environment Method, system and physical machine.
Background technology
Current Intel Virtualization Technology is received by increasing user, and virtualization referred herein is included towards end user Desktop virtualization and service oriented computing virtualization;Intel Virtualization Technology can expand the capacity of hardware, simplify software Re-configuration process, can be by single CPU by Intel Virtualization Technology(Processor)It is modeled to multi -CPU parallel, it is allowed to which a platform is same The multiple operating systems of Shi Yunhang, such as simulate two or many virtual computers on a physical computer(It is i.e. virtual Machine).
Two distinct types of data are primarily present in virtualization applications scene:System data and user data.System Data refer to operating system in virtual machine, the data of software, and user data refers to that user is produced when using virtualization system Raw data, this typically separate storage of two classes data.A kind of typical user data storage mode is to incite somebody to action in the prior art User data is stored on the server different from physical machine where virtual machine, and user data such as is stored in into a kind of network file In system;By the installation data read-write client in virtual machine, NFS client is installed such as in virtual machine, When needing to carry out user data read-write, virtual machine is communicated between the server with storing user data, realizes user data Read-write, Fig. 1 carries out the schematic diagram of user data read-write for virtual machine in the prior art, can together reference.
In virtualization applications scene, virtual machine can be connect when carrying out user data read-write by the communication of physical machine Mouth is communicated with storing the server of user data, due to the uncertainty of scheduling virtual machine, causes each virtual machine to logical The use for believing interface is inequitable, and this results in competition of many virtual machines to the communication interface of physical machine, and this causes physics There is larger read-write pressure in the server of the communication interface of machine and storage user data so that the read-write efficiency of user data compared with It is low.
The content of the invention
In view of this, the embodiment of the present invention provides reading/writing method, system and the thing of user data under a kind of virtualized environment Reason machine, to solve the competition due to many virtual machines to the communication interface of physical machine, and causes the communication interface of physical machine and deposits There is larger read-write pressure in the server of storage user data, cause the problem of read-write efficiency of user data is relatively low.
To achieve the above object, the embodiment of the present invention provides following technical scheme:
In a first aspect, the embodiment of the present invention provides a kind of reading/writing method of user data under virtualized environment, including:
Detect that each virtual machine whether there is user data read-write requests;
When virtual machine has user data read-write requests, collect the user data read-write requests of each virtual machine, will read please Ask and be added in read request queue, write request is added in write request queue;
Work as being accorded with to response for the first request address in read request queue, and/or write request queue and the second request address When closing preparatory condition, according to request queue method of adjustment corresponding with preparatory condition, request team corresponding to the first request address Row are adjusted, and first request address is the corresponding request of request for just adding read request queue, and/or write request queue Address, second request address is the request that has just added in the corresponding request address of preceding request;
Detection read request queue transfers priority, and write request queue transfers priority, transfers priority relatively high Request queue in preceding request, send transferred request to the server of storage user data.
With reference in a first aspect, in the first possible implementation of first aspect,
The read request queue, and/or the first request address in write request queue and the second request address to response When meeting preparatory condition, according to request queue method of adjustment corresponding with preparatory condition, request corresponding to the first request address Queue be adjusted including:
The reading data address that the read request just added in read request queue is asked, with the reading asked in preceding read request According to address to response, when meeting default first condition, adjusted according to preset read request queue corresponding with default first condition Adjusting method, is adjusted to read request queue;And/or,
What the write request just added in write request queue was asked writes data address, with asked in preceding write request write number According to address to response, when meeting default second condition, adjusted according to preset write request queue corresponding with default second condition Adjusting method, is adjusted to write request queue.
With reference to the first possible implementation of first aspect, in second of possible implementation,
The reading data address that the read request just added is asked, with the reading data address asked in preceding read request To response, meeting default first condition includes:
The reading data address that the read request just added is asked, it is identical with the reading data address asked in preceding read request, Or it is mutually continuous, or belong to a file address, the corresponding file in the file address carries multiple data;
It is described according to preset read request queue method of adjustment corresponding with default first condition, read request queue is carried out Adjustment includes:
It is identical with the reading data address asked in preceding read request when the reading data address that the read request just added is asked When, the read request just added is merged into described in preceding read request, same request of the formation with identical reading data address; Or,
It is continuous with the reading data address asked in preceding read request when the reading data address that the read request just added is asked When, the reading data address and the reading data address asked in preceding read request that the read request just added is asked, according to The consecutive order of address is overlapped, and the read request just added and described be merged into preceding read request are had into asking for superposition address Ask;Or,
When the reading data address that the read request just added is asked, belonged to together with the reading data address asked in preceding read request When a file address, rearrangement is entered to read request queue, the sequence of the read request just added is adjusted into described reads preceding After request so that the sequence that the read request of a file address is belonged in the read request queue is continuous.
With reference to the first possible implementation of first aspect, in the third possible implementation,
What the write request just added was asked write data address, with asked in preceding write request write data address To response, meeting default second condition includes:
What the write request just added was asked writes data address, with asked in preceding write request to write data address identical, Or it is mutually continuous, or belong to a file address, the corresponding file in the file address carries multiple data;
It is described according to preset write request queue method of adjustment corresponding with default second condition, write request queue is carried out Adjustment includes:
Write data address when what the write request just added was asked, with asked in preceding write request to write data address identical When, the write request just added is merged into described in preceding write request, formed with the identical same request for writing data address; Or,
Write data address when what the write request just added was asked, with asked in preceding write request to write data address continuous When, the data address of writing that the write request just added is asked what preceding write request was asked is write into data address with described, according to The consecutive order of address is overlapped, and the write request just added and described be merged into preceding write request are had into asking for superposition address Ask;Or,
Data address is write when what the write request just added was asked, is belonged to together with the data address of writing asked in preceding write request When a file address, rearrangement is entered to write request queue, the sequence of the write request just added is adjusted into described writes preceding After request so that the sequence that the write request of a file address is belonged in the write request queue is continuous.
Second aspect, the embodiment of the present invention provides a kind of read-write system of user data under virtualized environment, including:
Request detection module, for detecting that each virtual machine whether there is user data read-write requests;
Collection module is asked, for when virtual machine has user data read-write requests, collecting the number of users of each virtual machine According to read-write requests;
Module is lined up in request, for the read request in user data read-write requests to be added in read request queue, will be write Request is added in write request queue;
Request queue adjusting module, for the first request address in read request queue, and/or write request queue and When meeting preparatory condition to response of two request address, according to request queue method of adjustment corresponding with preparatory condition, to first The corresponding request queue of request address is adjusted, and first request address is just addition read request queue, and/or write request The corresponding request address of request of queue, second request address be just added request it is preceding request it is corresponding request ground Location;
Module is transferred in request, priority of transferring for detecting read request queue, and write request queue transfers priority, Transfer in priority high request queue relatively in preceding request, sent to the server of storage user data transferred please Ask.
The third aspect, the embodiment of the present invention provides a kind of physical machine, including:Processor, communication interface, memory and communication Bus;
Wherein described processor, the communication interface, the memory complete mutual lead to by the communication bus Letter;
The communication interface, for obtaining the user data read-write requests that the processor is transferred, to storage user data Server send the read-write requests;
The processor, for configuration processor;
The memory, for depositing program;
Its Program is used for:
Detect that each virtual machine whether there is user data read-write requests;
When virtual machine has user data read-write requests, collect the user data read-write requests of each virtual machine, will read please Ask and be added in read request queue, write request is added in write request queue;
Work as being accorded with to response for the first request address in read request queue, and/or write request queue and the second request address When closing preparatory condition, according to request queue method of adjustment corresponding with preparatory condition, request team corresponding to the first request address Row are adjusted, and first request address is the corresponding request of request for just adding read request queue, and/or write request queue Address, second request address is the request that has just added in the corresponding request address of preceding request;
Detection read request queue transfers priority, and write request queue transfers priority, transfers priority relatively high Request queue in preceding request, send transferred request to the server of storage user data.
Based on above-mentioned technical proposal, the reading/writing method of user data under virtualized environment provided in an embodiment of the present invention, when When detecting virtual machine and there are user data read-write requests, the user data read-write requests of each virtual machine will be collected, by read request Be added in preset read request queue, write request be added in preset write request queue, and to read request queue and/or Write request queue is adjusted, the clothes that storage user data is sent in preceding request in the queue high by priority is currently transferred Business device, realizes the read-write of user data under virtualized environment;Compared with prior art, the virtualization that the embodiment of the present invention is provided The reading/writing method of user data under environment, the user data read-write requests of virtual machine simultaneously are not directed through communication interface and are sent to deposit The server of user data is stored up, but is the read-write that virtual machine carries out user data after the read-write requests of user data are intercepted and captured The agency of request, by read request queue, write request queue, the adjustment of read request queue and/or write request queue and transfers excellent In the high queue of first level in preceding request, be sent in preceding request to the server of storage user data so that be adjusted to communication interface User data read-write requests become orderly, the read-write of user data will be realized by agency between virtual machine, and no longer carry out The competition of the communication interface of physical machine, greatly reduces the read-write of the communication interface of physical machine and the server of storage user data Pressure, improves the read-write efficiency of user data.
Brief description of the drawings
In order to illustrate more clearly about the embodiment of the present invention or technical scheme of the prior art, below will be to embodiment or existing The accompanying drawing to be used needed for having technology description is briefly described, it should be apparent that, drawings in the following description are only this Some embodiments of invention, for those of ordinary skill in the art, on the premise of not paying creative work, can be with Other accompanying drawings are obtained according to these accompanying drawings.
Fig. 1 carries out the schematic diagram of user data read-write for virtual machine in the prior art;
Fig. 2 be virtualized environment provided in an embodiment of the present invention under user data reading/writing method flow chart;
Fig. 3 be virtualized environment provided in an embodiment of the present invention under user data reading/writing method another flow chart;
Fig. 4 is the flow chart that read request queue provided in an embodiment of the present invention is adjusted;
Fig. 5 is the schematic diagram that read request provided in an embodiment of the present invention merges;
Fig. 6 is another flow chart that read request queue provided in an embodiment of the present invention is adjusted;
Fig. 7 is another schematic diagram that read request provided in an embodiment of the present invention merges;
Fig. 8 is the another flow chart that read request queue provided in an embodiment of the present invention is adjusted;
Fig. 9 is the schematic diagram that read request queue provided in an embodiment of the present invention is reset;
Figure 10 is the method flow diagram that read-write requests provided in an embodiment of the present invention are transferred;
Figure 11 be virtualized environment provided in an embodiment of the present invention under user data reading/writing method another flow chart;
Figure 12 be virtualized environment provided in an embodiment of the present invention under user data read-write system structured flowchart;
Figure 13 sets signal for the module of the read-write system of user data under virtualized environment provided in an embodiment of the present invention Figure;
Figure 14 is the structured flowchart of request queue adjusting module provided in an embodiment of the present invention;
Figure 15 is the structured flowchart of read request queue adjustment unit provided in an embodiment of the present invention;
Figure 16 is the structured flowchart of write request queue adjustment unit provided in an embodiment of the present invention;
Figure 17 is the structured flowchart provided in an embodiment of the present invention for asking to line up module;
Figure 18 is the structured flowchart provided in an embodiment of the present invention for asking to transfer module;
Figure 19 is another structured flowchart provided in an embodiment of the present invention for asking to transfer module;
Figure 20 be virtualized environment provided in an embodiment of the present invention under user data read-write system another structured flowchart;
Figure 21 is the structured flowchart of physical machine provided in an embodiment of the present invention.
Embodiment
Below in conjunction with the accompanying drawing in the embodiment of the present invention, the technical scheme in the embodiment of the present invention is carried out clear, complete Site preparation is described, it is clear that described embodiment is only a part of embodiment of the invention, rather than whole embodiments.It is based on Embodiment in the present invention, it is every other that those of ordinary skill in the art are obtained under the premise of creative work is not made Embodiment, belongs to the scope of protection of the invention.
Fig. 2 is the flow chart of the reading/writing method of user data under virtualized environment provided in an embodiment of the present invention, this method Have applied to simulation in the physical machine of many virtual machines, reference picture 2, this method can include step:
Step S10, each virtual machine of detection whether there is user data read-write requests;
The detection means of virtual machine read-write requests has a variety of, can be selected in the operating system of each virtual machine and load driving journey Sequence, so as to realize that virtual machine whether there is the detection of user data read-write requests.
Step S11, when there are user data read-write requests in virtual machine, collect each virtual machine user data read-write please Ask, read request is added in read request queue, write request is added in write request queue;
In the prior art, the read-write requests of the user data of each virtual machine will be by installed in the respective operating system of virtual machine On reading and writing data client, the communication interface of physical machine is forwarded directly to, so as to be used by the communication interface of physical machine with storage The server of user data is communicated;And in the embodiment of the present invention, the read-write requests of the user data of each virtual machine will not be direct Communication interface is sent to, when detecting virtual machine and there are user data read-write requests, the user data read-write requests will be intercepted and captured, will The user data read-write requests of each virtual machine are collected.Optionally, can be by loading in the operating system of each virtual machine Driver, realizes the intercepting and capturing of user data read-write requests, so that the user data read-write requests of each virtual machine be collected.
The embodiment of the present invention is provided with read request queue and write request queue, read request queue by several read requests according to Constituted after certain ordering rule sequence, write request queue is by several write requests according to group after certain ordering rule sequence Into.The embodiment of the present invention is after user data read-write requests have been converged, by according to the user data read-write requests collected Type, read request is added in read request queue, and write request is added in write request queue;Optionally, being added to reading please Ask the read request in queue to be first placed on the last position of read request queue, for the read request in read request queue, sort preceding Read request transferred to the highest priority of communication interface, the posterior read request that sorts is transferred to the priority of communication interface Minimum, the write request situation in write request queue is similar with read request;Obviously, the embodiment of the present invention also can by user specify come The distribution of Request Priority is realized, such as user can customize the priority level of the posterior request of lifting sequence so that sequence exists Request afterwards is preferentially brought to communication interface.
Step S12, work as the first request address in read request queue, and/or write request queue and the second request address When meeting preparatory condition to response, according to request queue method of adjustment corresponding with preparatory condition, to the first request address correspondence Request queue be adjusted;
In the embodiment of the present invention, the first request address is the request pair for just adding read request queue, and/or write request queue The request address answered, the second request address is the request that has just added in the corresponding request address of preceding request;The request just added Corresponding request address is the storage address of the server pointed by request, and the server storage has user data;For reading to ask Ask for queue, the request just added in read request queue is read request, corresponding request address reads data to read data address Address refers mainly to ask storage location of the user data read in the server of storage user data, i.e., the first request ground Location and the second request address can be reading according to address;For write request queue, the request just added in write request queue For write request, corresponding request address writes the server that data address refers mainly to treat write data requests write-in to write data address Storage location, i.e. the first request address and the second request address can be to write data address.It is worth noting that, just added Read request is also read request in preceding request, and the write request just added is similar, i.e. the first request address and the second request address pair The request type answered is identical.
In the embodiment of the present invention, the corresponding request address of request just added, with the firm addition request in preceding request pair The request address answered is referred mainly to response, and whether the corresponding request address of request just added and the request address in preceding request Correlation, i.e., the request address just added is directly associated with whether there is in preceding request, or indirect association, and direct correlation is main Finger can export next request address at once by the request address of one of them, such as two or more request address Between there is identical or serial relation, that is, in the server for storing user data, two or more request address pair The data space answered is identical or continuous;Indirect association refers mainly to the request address by one of them and can not stood The next request address of export is carved, but there is common file attribute between the two request address, by being subordinated to same text Request address under part, the then request address that can be achieved therefrom exports another request address, such as two request address Correspondence identical file address, but two request address are another discontinuous or identical.It is worth noting that, may be deposited between request address In incoherent situation.
For the request address of the request just added, with the request address in preceding request to response, the embodiment of the present invention Preparatory condition is provided with, preparatory condition is mainly used in weighing the request address of the request just added, with the request in preceding request Whether location related, i.e., whether direct correlation or indirect association.
Corresponding, the embodiment of the present invention is additionally provided with request queue method of adjustment corresponding with preparatory condition, is added just Request request address, with the request address in preceding read request to response, when meeting preparatory condition, will according to default bar The corresponding request queue method of adjustment of part, is adjusted to just adding the corresponding request queue of request;Optionally, asked for multiple The situation of address direct correlation is sought, the corresponding request in the multi-request address can be merged, it is indirect for multiple request address The situation of association, can enter rearrangement by request queue so that the sequence that there is the request address of indirect association is mutually continuous, for asking The visual concrete application situation of specific method of adjustment of queue is asked to change, above-mentioned optional mode should not turn into its limitation.
Obviously, the embodiment of the present invention can only consider the corresponding reading data address of read request in read request queue, and preceding The reading data address of read request to response, so as to be only adjusted to read request queue;Also only it is contemplated that write request is corresponding Write data address, with preceding write request write data address to response, so as to be only adjusted to write request queue;Obviously The corresponding request address of request just added in read request queue and write request queue can be considered simultaneously, with the firm addition request In the corresponding request address of preceding request to response, so as to be adjusted respectively to read request queue and write request queue.
Step S13, detection read request queue transfer priority, and write request queue transfers priority, transfers preferential In level high request queue relatively in preceding request, to the transferred request of the server transmission of storage user data.
The embodiment of the present invention can be set the priority of transferring of a variety of read request queues, and write request queue transfers priority Determination method, read request queue after the cycle that crosses, transferred priority by such as settable rotational cycle for transferring priority Be set to height, by write request queue transfer priority be set to it is low, or by read request queue transfer priority be set to it is low, The priority of transferring of write request queue is set to height;Also read request queue and the difference of the request number of write request queue can be passed through Priority is transferred in value determination, when the number of such as read request is more than the number of write request, and set read request queue transfers priority Be set to it is low, write request queue transfer priority be set to it is high.The tune of read request queue and write request queue is being determined Take after priority, transfer it is current transfer in the high queue of priority in preceding request, by the communication interface of physical machine to storage The server of user data sends transferred request.
, there is use when detecting virtual machine in the reading/writing method of user data under virtualized environment provided in an embodiment of the present invention During user data read-write requests, the user data read-write requests of each virtual machine will be collected, read request is added to preset read request In queue, write request is added in preset write request queue, and read request queue and/or write request queue are adjusted Whole, the server that storage user data is sent in preceding request in the queue high by priority is currently transferred is realized virtual Change the read-write of user data under environment;Compared with prior art, user data under the virtualized environment that the embodiment of the present invention is provided Reading/writing method, the user data read-write requests of virtual machine simultaneously be not directed through communication interface be sent to storage user data clothes Business device, but after the read-write requests of user data are intercepted and captured, be the agency for the read-write requests that virtual machine carries out user data, pass through The adjustment of read request queue, write request queue, read request queue and/or write request queue and transfer in the high queue of priority In preceding request, be sent in preceding request to the server of storage user data so that be adjusted to the user data read-write of communication interface Request becomes orderly, will realize the read-write of user data between virtual machine by agency, and the communication for no longer carrying out physical machine connects The competition of mouth, greatly reduces the read-write pressure of the communication interface of physical machine and the server of storage user data, improves use The read-write efficiency of user data.
Described above, step S12 can consider the adjustment of read request queue and the adjustment of write request queue simultaneously, and Fig. 3 shows The reading/writing method of corresponding user data is gone out, Fig. 3 is the reading of user data under virtualized environment provided in an embodiment of the present invention Another flow chart of write method, this method, which is applied to simulation, to be had in the physical machine of many virtual machines, reference picture 3, and this method can be with Including step:
Step S100, each virtual machine of detection whether there is user data read-write requests;
Step S110, when there are user data read-write requests in virtual machine, collect each virtual machine user data read-write please Ask, read request is added in read request queue, write request is added in write request queue;
Step S120, the reading data address asked when the read request just added, with the reading asked in preceding read request According to address to response, when meeting default first condition, adjusted according to preset read request queue corresponding with default first condition Adjusting method, is adjusted to read request queue;
The embodiment of the present invention is provided with default first condition, and default first condition is mainly used in weighing the read request just added The reading data address asked, it is whether related to the reading data address asked in preceding read request, i.e., whether direct correlation or Connect association.
Corresponding, the embodiment of the present invention is additionally provided with read request queue method of adjustment corresponding with presetting first condition, The reading data address that the read request just added is asked, with the reading data address asked in preceding read request to response, meets During default first condition, read request queue will be carried out according to read request queue method of adjustment corresponding with default first condition Adjustment;Optionally, when multiple reading data address direct correlation, the plurality of reading data address can be merged, it is right In the situation of multiple reading data address indirect associations, read request queue can be entered rearrangement so that there is the reading of indirect association Mutually continuous according to the sequence of address, the visual concrete application situation of specific method of adjustment for read request queue changes, above-mentioned optional Mode should not turn into its limitation.
Step S130, when what the write request just added was asked write data address, with asked in preceding write request write number According to address to response, when meeting default second condition, adjusted according to preset write request queue corresponding with default second condition Adjusting method, is adjusted to write request queue;
The embodiment of the present invention is provided with default second condition, and default second condition is mainly used in weighing the read request just added The reading data address asked, it is whether related to the reading data address asked in preceding read request, i.e., whether direct correlation or Connect association.
Corresponding, the embodiment of the present invention is additionally provided with write request queue method of adjustment corresponding with presetting second condition, The reading data address that the write request just added is asked, with preceding write request asked write data address to response, meet During default second condition, write request queue will be carried out according to write request queue method of adjustment corresponding with default second condition Adjustment;Optionally, for it is multiple write data address direct correlation in the case of, the plurality of data address of writing can be merged, it is right In multiple situations for writing data address indirect association, write request queue can be entered rearrangement so that there is indirect association writes number Mutually continuous according to the sequence of address, the visual concrete application situation of specific method of adjustment for write request queue changes, above-mentioned optional Mode should not turn into its limitation.
It is worth noting that, step S120 and step S130 is respectively for read request queue and write in the embodiment of the present invention The processing that request queue is done, is not present the sequencing of step between step S120 and step S130.
Step S140, detection read request queue transfer priority, and write request queue transfers priority, in read request Queue transfers priority more than when transferring priority of write request queue, transfer in read request queue in preceding read request, to The server for storing user data sends transferred read request;Priority is transferred less than write request queue in read request queue When transferring priority, transfer in write request queue in preceding write request, send and transferred to the server of storage user data Write request.
It is already described above, in the embodiment of the present invention, read there may be direct association, or indirect pass between data address Connection;For direct correlation, the reading data address for being chosen as reading to be asked between data address is identical or mutually continuous;For indirect Association, the reading data address for being chosen as reading to be asked between data address belongs to a file address;For ease of understanding this hair The adjustment that bright embodiment is carried out for read request queue, below will be identical to read data address, or consecutive direct correlation, Read to be described exemplified by data address belongs to the indirect association of a file address;It is worth noting that, following examples are only The embodiment of the present invention reads the optional mode of data address direct correlation and indirect association, and it should not turn into the limit of the embodiment of the present invention System.
Optionally, default first condition can be, the reading data address that the read request just added is asked, and please in preceding reading Ask asked reading data address identical.Fig. 4 is the flow chart that read request queue provided in an embodiment of the present invention is adjusted, reference picture 4, the flow can include:
The reading data address that the read request that step S1201, judgement have just been added is asked, with being read in read request queue preceding Whether the asked reading data address of request is identical, if so, performing step S1202;
Step S1202, the read request just added is merged into it is described in preceding read request;
The read request just added is incorporated into preceding request, forms the same request with identical reading data address, this Place can be regarded as cancelling the read request just added, be retained in preceding read request, and Fig. 5 is the schematic diagram that read request merges, and can together be joined According to.
Multiple read requests for same reading data address are merged, the number of read request can be greatly decreased, reduces Read request number of times so that the read-write pressure of the server of communication interface and storage user data significantly reduces.
Optionally, default first condition can be, the reading data address that the read request just added is asked, and please in preceding reading Ask asked reading data address mutually continuous.Fig. 6 is another flow chart that read request queue provided in an embodiment of the present invention is adjusted, Reference picture 6, the flow can include:
The reading data address that the read request that step S1211, judgement have just been added is asked, with being read in read request queue preceding Whether the asked reading data address of request is continuous, if so, performing step S1212;
Step S1212, the reading data address for being asked the read request just added are asked with described in preceding read request Data address is read, is overlapped according to the consecutive order of address, described is closed the read request just added and in preceding read request And.
The read request just added is incorporated into described in preceding request, asking as asking with superposition address after merging Ask, Fig. 7 is another schematic diagram that read request merges, can together reference.
The continuous multiple read requests of data address will be read to merge, the number of read request can be greatly decreased, reduces and reads to ask Seek number of times so that the read-write pressure of the server of communication interface and storage user data significantly reduces.
Optionally, default first condition can be, the reading data address that the read request just added is asked, and please in preceding reading Asked reading data address is asked to belong to a file address.Fig. 8 adjusts for read request queue provided in an embodiment of the present invention Another flow chart, reference picture 8, the flow can include:
The reading data address that the read request that step S1221, judgement have just been added is asked, with the reading asked in preceding read request Data address, if belong to a file address, if so, performing step S1222;
Step S1222, rearrangement is entered to read request queue, the sequence of the read request just added is adjusted into described reads preceding After request so that the sequence that the read request of a file address is belonged in the read request queue is continuous.
The embodiment of the present invention will make it that the sequence for the read request of identical file connects by the adjustment of read request queue Continuous, Fig. 9 is the schematic diagram that read request queue is reset, can together reference.
The multiple read requests for belonging to a file are continuously sorted, may be such that the access to same file can be continuous Perform, so that the read-write pressure of the server of storage user data significantly reduces.
It is already described above, in the embodiment of the present invention, write between data address and there is directly association, or indirect association;It is right In direct correlation, be chosen as writing asked between data address to write data address identical or mutually continuous;For indirect association, It is chosen as writing the data address of writing asked between data address and belongs to a file address;For ease of understanding that the present invention is implemented The adjustment that example is carried out for write request queue, below will be identical to write data address, or consecutive direct correlation, write data Address is described exemplified by belonging to the indirect association of a file address;It is worth noting that, following examples are only the present invention Embodiment writes the optional mode of data address direct correlation and indirect association, and it should not turn into the limitation of the embodiment of the present invention.
Optionally, default second condition can be that what the write request just added was asked writes data address, with preceding write please Ask asked to write data address identical.In the case, the implementation of write request queue adjustment can be:Judge just to add Write request asked write data address, with asked in preceding write request whether write data address identical;If so, then will be firm The write request of addition is merged into described in preceding write request, is formed with the identical same request for writing data address.It is of the invention real Apply the write request union operation that example carried out and merge similar with read request shown in Fig. 5, both can be cross-referenced.
Optionally, default second condition can be that what the write request just added was asked writes data address, with preceding write please Ask that is asked to write data address mutually continuously, in the case, the implementation of write request queue adjustment can be:Judge just to add What the write request entered was asked writes data address, with asked in preceding write request whether write data address mutually continuous;If so, then The data address of writing that the write request just added is asked what preceding write request was asked writes data address with described, according to address Consecutive order be overlapped, the write request just added is merged into described in preceding write request, is merged into superposition address Request.The write request union operation that the embodiment of the present invention is carried out merges similar with read request shown in Fig. 7, and both can be mutual Reference.
The identical or continuous multiple write requests of data address will be write to merge, the number of read request can be greatly decreased, subtracts Few read request number of times so that the read-write pressure of the server of communication interface and storage user data significantly reduces.
Optionally, default second condition can be that what the write request just added was asked writes data address, with preceding write please The data address of writing asked is asked to belong to a file address;In the case, the implementation of write request queue adjustment can To be:Judge that what the write request that has just added asked writes data address, with asked in preceding write request write data address, if Belong to a file address;If so, entering rearrangement to write request queue, the sequence of the write request just added is adjusted to described After preceding write request so that the sequence that the write request of a file address is belonged in the write request queue is continuous.This hair The write request reordering operations that bright embodiment is carried out and the rearrangement of read request shown in Fig. 9 are similar, and both can be cross-referenced.
The multiple write requests for belonging to a file are continuously sorted, may be such that the access to same file can be continuous Perform, so that the read-write pressure of the server of storage user data significantly reduces.
Optionally, the embodiment of the present invention can also be cached in advance, and/or, in the server that storage user data is transferred in advance User data so that the data for asking to read in the read request collected, with caching in advance and/or the number of users transferred in advance According to it is corresponding when, directly transfer and cache in advance and/or the user data transferred in advance, complete the read operation of user data.Tool Body, can detect the data that collected read request asks to read, with caching in advance and/or the user data transferred in advance whether It is corresponding;The user data for asking to read in the read request collected, with the user data phase for caching and/or transferring in advance in advance Read request is returned to corresponding virtual machine during to correspondence to complete to respond, transfer cache in advance and/or the corresponding data transferred in advance to Corresponding virtual machine.
Wherein it is possible to by conventional user data read request, analyze user data and read the most frequently data, will User data transfers number of times and reaches that the user data of predetermined number carries out advance caching, optionally, can be advance by user data It is buffered in NVM(Nonvolatile memory, nonvolatile memory)In;For transferring in advance for user data, then it can lead to Cross and analyze conventional data read request, following most possibly transferred is analyzed and the current user data do not transferred, by this portion Divided data progress is advance to be transferred, and the data transferred in advance may be alternatively stored in NVM.
It is already described above, determine that the priority of transferring of read request queue, and the mode for transferring priority of write request queue have It is a variety of, for the embodiment of the present invention, read request can be preferentially transferred, write request is transferred in delay, as that first can carry out read request Transfer, until read request all transferred, read request be all sent to storage user data server after, then transfer write please Ask.But in order to take into account write request, the embodiments of the invention provide the implementation that a kind of read-write requests are transferred, Figure 10 is this The method flow diagram that the read-write requests that inventive embodiments are provided are transferred, reference picture 10, this method can include:
Step S141, detect read request queue read request number, and write request queue write request number;
Step S142, it is more than write request number when read request number, and difference is when being not more than preset first threshold value, it is determined that reading The priority of transferring of request queue transfers priority more than write request queue, transfer in read request queue in preceding read request, Transferred read request is sent to the server of storage user data;
The visual practical application request of preset first threshold value is set.
Step S143, when read request number be less than write request number when, determine that the priority of transferring of read request queue is more than Write request queue transfers priority, transfer in read request queue in preceding read request, sent out to the server of storage user data Send transferred read request;
Step S144, when read request number be more than write request number, and difference be more than preset first threshold value when, it is determined that read please Ask the priority of transferring of queue to transfer priority less than write request queue, transfer in write request queue in preceding write request, to The server for storing user data sends transferred write request.
Because the pressure that write request can reduce the server of communication interface and storage user data, therefore this are transferred in delay Inventive embodiments transfer read request for transferring for read-write requests also in compliance with preferential, and the principle of write request, but this hair are transferred in delay Bright embodiment is also provided with first threshold so that be less than read request number in write request number, and when differing larger, entering row write please That asks transfers, in case the write request number of never call is excessive.
By the write request in the read-write requests of each virtual machine collected had both contained data to be written, contain again to be written Data write data address, therefore when the read-write requests of the virtual machine collected are write request, the embodiment of the present invention will be cached The corresponding data to be written of write request, will be added to write request queue comprising the corresponding write request for writing data address of data to be written In;It is corresponding, write request is being transferred, when sending transferred write request to the server of storage user data, will transferred simultaneously The data to be written cached, send to the server of storage user data, include the data to be written and the data pair to be written That answers writes the write request of data address.Optionally, data buffer storage to be written can be entered in NVM.
The embodiment of the present invention, is cached by the corresponding data to be written of write request, the write request for writing data address is added Enter to after write request queue, you can send write request to the corresponding virtual machine of the write request and complete response, so that the void Plan machine quickly can write link into next user data.
Optionally, the completion for read request is responded, and time limit read request response time can be set in the embodiment of the present invention (deadline), when the read request number in read request queue is more than default Second Threshold, i.e., when read request number is excessive, then According to preset time limit read request response time, the read request for postponing the read request of predetermined number in read request queue completes to ring Should, so that the user data that virtual machine delay enters next time reads link;The visual practical situations of Second Threshold are set.
Optionally, after the user data read-write requests of virtual machine are summarized, read request is added to read request queue, Step is may also include before write request is added into write request queue:To the access right for the read-write requests of user data collected Limit is verified, for having no right to terminate the read-write requests that the server for storing user data conducts interviews, for having the right Follow-up operation will be proceeded to the read-write requests that the server for storing user data conducts interviews;Specifically, can cache each The access rights of virtual machine, if the user data read-write requests that the virtual machine collected is sent, the visit with each virtual machine of caching Ask that authority is not corresponded to(Including not there is the virtual machine list in caching, though or have a virtual machine list, access qualification with it is current Request is not corresponded to), then judge that current virtual machine sends user data read-write requests without the server for accessing storage user data Authority, can terminate read-write requests, end operation, also can to storage user data server request access rights, and holding The caching for the authority that conducted interviews in the physical machine for carrying virtual machine;If the user data read-write requests that the virtual machine collected is sent, Access rights with each virtual machine of caching are corresponding, then perform follow-up operation.
Figure 11 is the another flow chart of the reading/writing method of user data under virtualized environment provided in an embodiment of the present invention, figure 11 show the flow of the reading/writing method of the user data of refinement, and it is only flow shown in Fig. 3 to refine mode for some of which The optional implementation of middle correspondence step, reference picture 11, this method can include:
Step S200, each virtual machine of detection whether there is user data read-write requests;
Step S210, when there are user data read-write requests in virtual machine, collect each virtual machine user data read-write please Ask, judge in cached access rights, if with the access rights for the user data read-write requests of each virtual machine collected Correspondence, if it is not, step S220 or step S230 is performed, if so, performing step S240
Herein, access rights are the server for storage user data, such as visit of each virtual machine to NFS Ask authority.
Step S220, end flow;
Step S230, the server request access rights to storage user data, and the cache access authority in the machine, are returned Return step S210;
Step S240, the type for judging user data read-write requests, if read request, then perform step S250, if writing Request, performs step S310;
Step S250, judge in NVM whether to cache in advance and/or transfer user data corresponding with read request in advance, If so, step S260 is performed, if it is not, performing step S270;
Step S260, to correspondence virtual machine return user data, complete read request;
Step S270, read request is added in read request queue;
Step S280, the reading data address asked when the read request just added, with the reading asked in preceding read request According to address it is identical when, the read request just added is merged into described in preceding read request;
Step S290, the reading data address asked when the read request just added, with the reading asked in preceding read request According to address consecutive hours, the reading data address that the read request just added is asked and the reading data asked in preceding read request Address is superimposed, the read request just added is merged into described in preceding read request;
Step S300, the reading data address asked when the read request just added, with the reading asked in preceding read request When belonging to a file address according to address, rearrangement is entered to read request queue, the sequence of the read request just added is adjusted to It is described after preceding read request so that the sequence that the read request of a file address is belonged in the read request queue is continuous;
Step S310, the corresponding data buffer storage to be written of write request entered in NVM, data will be write comprising data to be written are corresponding The write request of address is added in write request queue;
Step S320, when what the write request just added was asked write data address, with asked in preceding write request write number According to address it is identical when, the write request just added is merged into described in preceding write request;
Step S330, when what the write request just added was asked write data address, with asked in preceding write request write number According to address consecutive hours, the data address of writing that the write request just added is asked what preceding write request was asked is write into data with described Address, is overlapped according to the consecutive order of address, the write request just added is merged into described in preceding write request;
Step S340, when what the write request just added was asked write data address, with asked in preceding write request write number When belonging to a file address according to address, rearrangement is entered to write request queue, the sequence of the write request just added is adjusted to It is described after preceding write request so that the sequence that the write request of a file address is belonged in the write request queue is continuous;
Step S350, detection read request queue transfer priority, and write request queue transfers priority;
Step S360, in read request queue priority is transferred more than when transferring priority of write request queue, transfer reading In request queue in preceding read request, send transferred read request to the server of storage user data;
Step S370, in read request queue priority is transferred less than when transferring priority of write request queue, transfer and write In request queue in preceding write request, while transfer the data to be written cached, sent to the server of storage user data, bag Containing the data to be written and the corresponding write request for writing data address of the data to be written.
Method shown in Figure 11 is the reading/writing method of the user data under preferred virtualized environment, and it can significantly reduce logical Believe the user data read-write pressure of the server of interface and storage user data.
The read-write system of user data under virtualized environment provided in an embodiment of the present invention is described below, hereafter retouched The system stated is corresponding with method as described above, and both can be cross-referenced.
Figure 12 is the structured flowchart of the read-write system of user data under virtualized environment provided in an embodiment of the present invention, and this is System is arranged in the physical machine for loading virtual machine, and reference picture 12, the system can include:
Request detection module 100, for detecting that each virtual machine whether there is user data read-write requests;
The driving of detection user data read-write requests can be installed on each virtual machine, the driving is regarded as of the invention real Apply in the request detection module 100 of example offer, each virtual machine of the embodiment of the present invention and be provided with request detection module 100, Optionally, it can realize the semantic compatible Virtual File Systems of a POSIX, catch the user data read-write for intercepting and capturing each virtual machine Request, is interacted by intra-node communication mode with request collection module 200.
Collection module 200 is asked, for when virtual machine has user data read-write requests, collecting the user of each virtual machine Reading and writing data is asked;
The user data read-write requests of each virtual machine collected can be mounted in the request detection on each virtual machine Module 100 is forwarded to request collection module 200 after user data read-write requests are intercepted and captured.
Module 300 is lined up in request, for the read request in user data read-write requests to be added in read request queue, will Write request is added in write request queue;
The embodiment of the present invention is provided with two queues of read request queue and write request queue.
Request queue adjusting module 400, for the first request address in read request queue, and/or write request queue It is right according to request queue method of adjustment corresponding with preparatory condition with the second request address when meeting preparatory condition to response The corresponding request queue of first request address is adjusted;
Wherein, the first request address for just add read request queue, and/or write request queue request it is corresponding request ground Location, the second request address is the request that has just added in the corresponding request address of preceding request.
Module 500 is transferred in request, the priority of transferring for detecting read request queue, and write request queue transfer it is preferential Level, transfer in priority high request queue relatively in preceding request, transferred to the server transmission of storage user data Request.
Request is transferred module 500 and communicated with communication interface, and module 500 is transferred in request can be by communication interface to storing user The server of data, such as NFS, send transferred request.
Optionally, except request detection module 100 may be disposed on virtual machine, collection module 200 is asked, mould is lined up in request Block 300, request queue adjusting module 400, request is transferred module 500 and may be disposed on virtual machine monitor, specific set-up mode Can be as shown in figure 13.
Figure 14 shows the structure of request queue adjusting module, and request queue adjusting module 400 can include:
Read request queue adjustment unit 410, for the reading data address asked in the read request just added, with being read preceding The asked reading data address of request to response, when meeting default first condition, according to preset with default first condition pair The read request queue method of adjustment answered, is adjusted to read request queue;
Write request queue adjustment unit 420, writes data address, with being write preceding for what is asked in the write request just added Asked write data address to response, when meeting default second condition, according to preset with default second condition pair The write request queue method of adjustment answered, is adjusted to write request queue;
Obviously, request queue adjusting module 400 may also comprise read request queue adjusting module 410, or write request queue is adjusted Mould preparation block 420.
Figure 15 shows the structure of read request queue adjustment unit provided in an embodiment of the present invention, reference picture 15, read request Regulator unit 410 can include:
Default first condition judgment sub-unit 411, the reading data address that the read request for judging just to have added is asked, with Whether whether the reading data address asked in preceding read request is identical, or mutually continuous, or whether belongs to a file address, institute State the corresponding file in file address and carry multiple data;
First read request merges subelement 412, for the reading for judging just to have added in default first condition judgment sub-unit 411 The asked reading data address of request, and when the reading data address that preceding read request is asked is identical, by the read request just added It is merged into described in preceding read request, same request of the formation with identical reading data address;
Second read request merges subelement 413, for the reading for judging just to have added in default first condition judgment sub-unit 411 The asked reading data address of request, and the reading data address consecutive hours asked in preceding read request, by the read request just added The reading data address asked and the reading data address asked in preceding read request, are folded according to the consecutive order of address Plus, the read request just added and described be merged into preceding read request are had into the request for being superimposed address;
Read request resets subelement 414, for the read request for judging just to have added in default first condition judgment sub-unit 411 The reading data address asked, with when the reading data address that preceding read request is asked belongs to a file address, being asked to reading Ask queue to enter rearrangement, the sequence of the read request just added is adjusted to described after preceding read request so that the read request The sequence that the read request of a file address is belonged in queue is continuous.
Obviously, read request queue adjustment unit 410 also can only set the first read request to merge subelement 412, and second reads to ask Merging subelement 413 is sought, read request resets at least one in subelement 414, corresponding, presets first condition judgment sub-unit 411 Rule of judgment is adjusted correspondingly.
Figure 16 is the structured flowchart of write request queue adjustment unit provided in an embodiment of the present invention, reference picture 16, write request Regulator unit 420 can include:
Default second condition judgment sub-unit 421, what the write request for judging just to have added was asked writes data address, with Preceding write request asked whether whether write data address identical or mutually continuous, or whether belong to a file address, institute State the corresponding file in file address and carry multiple data;
First write request merges subelement 422, for judging that what is just added writes in default second condition judgment sub-unit 421 That is asked writes data address, with preceding write request asked write data address it is identical when, by the write request just added Described in being merged into preceding write request, formed with the identical same request for writing data address;
Second write request merges subelement 423, for judging that what is just added writes in default second condition judgment sub-unit 421 That is asked writes data address, with asked in preceding write request write data address consecutive hours, by the write request just added The data address of writing asked writes data address with described what preceding write request was asked, is folded according to the consecutive order of address Plus, the write request just added and described be merged into preceding write request are had into the request for being superimposed address;
Write request resets subelement 424, for the write request for judging just to have added in default second condition judgment sub-unit 421 That is asked writes data address, please to writing with being asked in preceding write request when writing data address and belonging to a file address Ask queue to enter rearrangement, the sequence of the write request just added is adjusted to described after preceding write request so that the write request The sequence that the write request of a file address is belonged in queue is continuous.
Obviously, write request queue adjusting module 420 also can only set first write request merge subelement 422, second write please Merging subelement 423 is sought, write request resets at least one in subelement 424, corresponding, presets second condition judgment sub-unit 421 Rule of judgment is adjusted correspondingly.
Figure 17 shows that the structure of module is lined up in request, reference picture 17, and module 300 is lined up in request to be included:
Data buffer storage unit 301 to be written, for caching the corresponding data to be written of write request;
Data to be written can be buffered in NVM.
Write request adds unit 302, is write for will be added to comprising the corresponding write request for writing data address of data to be written In request queue.
Corresponding, on the basis of module is lined up in request shown in Figure 17, Figure 18 shows that the structure of module is transferred in request, ginseng According to Figure 18, module 500 is transferred in request to be included:
Data to be written transfer unit 501, the data to be written cached for transferring;
Write request transmitting element 502, sends for the server to storage user data, includes the data to be written and institute State the corresponding write request for writing data address of data to be written.
It is corresponding, line up module in request shown in Figure 17, request shown in Figure 18 is transferred on the basis of module, and the present invention is implemented The read-write system of user data can also include under the virtualized environment that example is provided:
Write request completes respond module(It is not shown), for corresponding in data buffer storage unit 301 to be written caching write request Data to be written, write request, which adds unit 302, to be added to write request comprising the corresponding write request for writing data address of data to be written After queue, return to write request to the corresponding virtual machine of write request and complete to respond.
Figure 19 shows that another structure of module is transferred in request, reference picture 19, and module 500 is transferred in request to be included:
Writing for number detection unit 511, the read request number for detecting read request queue, and write request queue is asked to be asked Seek number;
First transfers determining unit 512, and for being more than write request number when read request number, and difference is not more than default the During one threshold value, or read request number, when being less than write request number, determine read request queue transfers priority more than write request team What is arranged transfers priority;
First transfers unit 513, for first transfer determining unit 512 determine read request queue to transfer priority big In write request queue when transferring priority, transfer in read request queue in preceding read request, to the service of storage user data Device sends transferred read request;
Second transfers determining unit 514, and for being more than write request number when read request number, and difference is more than default first During threshold value, determine that the priority of transferring of read request queue transfers priority less than write request queue;
Second transfers unit 515, for second transfer determining unit 514 determine read request queue to transfer priority small In write request queue when transferring priority, transfer in write request queue in preceding write request, to the service of storage user data Device sends transferred write request.
Figure 20 be virtualized environment provided in an embodiment of the present invention under user data read-write system another structured flowchart, With reference to shown in Figure 12 and Figure 20, system shown in Figure 20 also includes:
It is pre- it is slow take data detection module 600, for after the user data read-write requests of each virtual machine are collected, detecting institute Whether the read request collected asks the data read, corresponding with the user data for caching and/or transferring in advance in advance;
The user data for caching and/or transferring in advance in advance is storable in NVM.
User data transfers module 700, for being asked in the pre- slow read request for taking the detection of data detection module 600 collected The data of reading are sought, when corresponding with the user data for caching and/or transferring in advance in advance, read request is returned to corresponding virtual machine Response is completed, the corresponding data for caching and/or transferring in advance in advance is transferred to corresponding virtual machine;
Read request number detection module 800, for detecting the read request number in read request queue;
Module 900 is postponed in read request response, for when read request number is more than default Second Threshold, according to preset reading In the request response time time limit, postpone the read request for returning to the read request of predetermined number in read request queue to virtual machine and complete to ring Should.
Optionally, the read-write system of user data can also include under virtualized environment provided in an embodiment of the present invention:
Configuration module(It is not shown), the ginseng for each modular unit in the read-write system for user data under virtualized environment Number is configured, and is such as generated Agent ID for each virtual machine and is accessed key, carry request detection module, matches somebody with somebody on a virtual machine A set of software U/I interface or WebUI interfaces can be provided by putting module.
The read-write system of user data under virtualized environment provided in an embodiment of the present invention, the user data read-write of virtual machine The server that communication interface is sent to storage user data is asked and be not directed through, but the read-write requests of user data are cut After obtaining, it is the agency for the read-write requests that virtual machine carries out user data, passes through read request queue, write request queue, read request team The adjustment of row and write request queue and transfer in the high queue of priority in preceding request, to the server for storing user data It is sent in preceding request so that being adjusted to the user data read-write requests of communication interface becomes orderly, agency will be passed through between virtual machine The read-write of user data is realized, and no longer carries out the competition of the communication interface of physical machine, the communication for greatly reducing physical machine connects The read-write pressure of the server of mouth and storage user data, improves the read-write efficiency of user data.
Figure 21 is the structured flowchart of physical machine provided in an embodiment of the present invention, and reference picture 21, the physical machine can include:Place Manage device 1, communication interface 2, memory 3 and communication bus 4;
Wherein processor 1, communication interface 2, memory 3 complete mutual communication by communication bus 4;
Communication interface 2, for obtaining the user data read-write requests that processor 1 is transferred, to the service of storage user data Device sends the read-write requests;
Optionally, communication interface 2 can be network card interface;
Processor 1, for configuration processor;
Memory 3, for depositing program;
Program can include program code, and described program code includes computer-managed instruction.
Processor 1 is probably a central processor CPU, or specific integrated circuit ASIC(Application Specific Integrated Circuit), or it is arranged to implement one or more integrated electricity of the embodiment of the present invention Road.
Memory 3 may include high-speed RAM memory, it is also possible to also including nonvolatile memory(non-volatile memory), for example, at least one magnetic disk storage.
Wherein, program can be specifically for:
Detect that each virtual machine whether there is user data read-write requests;
When virtual machine has user data read-write requests, collect the user data read-write requests of each virtual machine, will read please Ask and be added in read request queue, write request is added in write request queue;
Work as being accorded with to response for the first request address in read request queue, and/or write request queue and the second request address When closing preparatory condition, according to request queue method of adjustment corresponding with preparatory condition, request team corresponding to the first request address Row are adjusted, and first request address is the corresponding request of request for just adding read request queue, and/or write request queue Address, second request address is the request that has just added in the corresponding request address of preceding request;
Detection read request queue transfers priority, and write request queue transfers priority, transfers priority relatively high Request queue in preceding request, send transferred request to the server of storage user data.
Optionally, program can include the functional module shown in Figure 12 to Figure 20.
The embodiment of each in this specification is described by the way of progressive, and what each embodiment was stressed is and other Between the difference of embodiment, each embodiment identical similar portion mutually referring to.For device disclosed in embodiment For, because it is corresponded to the method disclosed in Example, so description is fairly simple, related part is said referring to method part It is bright.
Professional further appreciates that, with reference to the unit of each example of the embodiments described herein description And algorithm steps, can be realized with electronic hardware, computer software or the combination of the two, in order to clearly demonstrate hardware and The interchangeability of software, generally describes the composition and step of each example according to function in the above description.These Function is performed with hardware or software mode actually, depending on the application-specific and design constraint of technical scheme.Specialty Technical staff can realize described function to each specific application using distinct methods, but this realization should not Think beyond the scope of this invention.
Directly it can be held with reference to the step of the method or algorithm that the embodiments described herein is described with hardware, processor Capable software module, or the two combination are implemented.Software module can be placed in random access memory(RAM), internal memory, read-only deposit Reservoir(ROM), electrically programmable ROM, electrically erasable ROM, register, hard disk, moveable magnetic disc, CD-ROM or technology In any other form of storage medium well known in field.
The foregoing description of the disclosed embodiments, enables professional and technical personnel in the field to realize or using the present invention. A variety of modifications to these embodiments will be apparent for those skilled in the art, as defined herein General Principle can be realized in other embodiments without departing from the spirit or scope of the present invention.Therefore, it is of the invention The embodiments shown herein is not intended to be limited to, and is to fit to and principles disclosed herein and features of novelty phase one The most wide scope caused.

Claims (15)

1. the reading/writing method of user data under a kind of virtualized environment, it is characterised in that including:
Detect that each virtual machine whether there is user data read-write requests;
When virtual machine has user data read-write requests, collect the user data read-write requests of each virtual machine, by read request plus Enter into read request queue, write request is added in write request queue;
The first request address worked as in read request queue, and/or write request queue meets pre- with the second request address to response If during condition, according to request queue method of adjustment corresponding with preparatory condition, request queue corresponding to the first request address is entered Row adjustment, first request address for just add read request queue, and/or write request queue request it is corresponding request ground Location, second request address is the request that has just added in the corresponding request address of preceding request;
Detection read request queue transfers priority, and write request queue transfers priority, transfers the high request team of priority In row in preceding request, send transferred request to the server of storage user data;
Wherein, the read request queue, and/or the first request address in write request queue and the second request address to response When meeting preparatory condition, according to request queue method of adjustment corresponding with preparatory condition, request corresponding to the first request address Queue be adjusted including:
The reading data address that the read request just added in read request queue is asked, with the reading data asked in preceding read request Location to response, when meeting default first condition, according to preset read request queue adjustment side corresponding with default first condition Method, is adjusted to read request queue;And/or,
What the write request just added in write request queue was asked writes data address, with preceding write request asked with writing data Location to response, when meeting default second condition, according to preset write request queue adjustment side corresponding with default second condition Method, is adjusted to write request queue;
Wherein, the reading data address that the read request just added is asked, with the reading data address asked in preceding read request To response, meeting default first condition includes:
The reading data address that the read request just added is asked, it is identical with the reading data address asked in preceding read request, or phase Continuously, or a file address is belonged to, the corresponding file in the file address carries multiple data;
It is described according to preset read request queue method of adjustment corresponding with default first condition, read request queue is adjusted Specifically include:
When the reading data address that the read request just added is asked, and when the reading data address that preceding read request is asked is identical, The read request just added is merged into described in preceding read request, same request of the formation with identical reading data address;Or,
When the reading data address that the read request just added is asked, and the reading data address consecutive hours asked in preceding read request, The reading data address that the read request just added is asked and the reading data address asked in preceding read request, according to address Consecutive order be overlapped, by the read request just added and it is described preceding read request be merged into superposition address request; Or,
When the reading data address that the read request just added is asked, one is belonged to the reading data address asked in preceding read request During individual file address, rearrangement is entered to read request queue, the sequence of the read request just added is adjusted to described in preceding read request Afterwards so that the sequence that the read request of a file address is belonged in the read request queue is continuous.
2. according to the method described in claim 1, it is characterised in that the write request just added asked with writing data Location, with preceding write request asked write data address to response, meeting default second condition includes:
What the write request just added was asked writes data address, with asked in preceding write request to write data address identical, or phase Continuously, or a file address is belonged to, the corresponding file in the file address carries multiple data;
It is described according to preset write request queue method of adjustment corresponding with default second condition, write request queue is adjusted Specifically include:
Write data address when what the write request just added was asked, with preceding write request asked write data address it is identical when, The write request just added is merged into described in preceding write request, formed with the identical same request for writing data address;Or,
Write data address when what the write request just added was asked, with asked in preceding write request write data address consecutive hours, The data address of writing that the write request just added is asked what preceding write request was asked writes data address with described, according to address Consecutive order be overlapped, by the write request just added and it is described preceding write request be merged into superposition address request; Or,
Data address is write when what the write request just added was asked, one is belonged to the data address of writing asked in preceding write request During individual file address, rearrangement is entered to write request queue, the sequence of the write request just added is adjusted to described in preceding write request Afterwards so that the sequence that the write request of a file address is belonged in the write request queue is continuous.
3. the method according to any one of claim 1 to 2, it is characterised in that described that write request is added to write request team Row include:
The corresponding data to be written of write request are cached, will be added to write comprising the corresponding write request for writing data address of data to be written and ask Ask in queue;
The server to storage user data sends transferred write request and specifically included:
The data to be written cached are transferred, are sent to the server of storage user data, comprising the data to be written and described are treated Write the corresponding write request for writing data address of data.
4. method according to claim 3, it is characterised in that methods described also includes:
In the corresponding data to be written of caching write request, write being added to comprising the corresponding write request for writing data address of data to be written After request queue, return to write request to the corresponding virtual machine of write request and complete to respond.
5. the method according to any one of claim 1 to 2, it is characterised in that read in the user data for collecting each virtual machine After write request, also include:
The collected read request of detection asks the data read, with caching in advance and/or the user data transferred in advance whether phase Correspondence;
The user data for asking to read in the read request collected is relative with the user data for caching and/or transferring in advance in advance At once, read request is returned to corresponding virtual machine to complete to respond, transfer cache in advance and/or the corresponding data transferred in advance to pair The virtual machine answered.
6. according to the method described in claim 1, it is characterised in that the detection read request queue transfers priority, and writes The priority of transferring of request queue includes:
Detect read request queue read request number, and write request queue write request number;
When read request number is more than write request number, and difference is when being not more than preset first threshold value, or read request number is less than and write When asking number, determine that the priority of transferring of read request queue transfers priority more than write request queue;
When read request number is more than preset first threshold value more than write request number, and difference, transferring for read request queue is determined Priority transfers priority less than write request queue;
It is described transfer in priority high request queue relatively in preceding request, send and adjusted to the server of storage user data The request taken includes:
Transfer priority more than when transferring priority of write request queue in read request queue, transfer in read request queue Preceding read request, transferred read request is sent to the server of storage user data;
Transfer priority less than when transferring priority of write request queue in read request queue, transfer in write request queue Preceding write request, transferred write request is sent to the server of storage user data.
7. the method according to claim 1,2,4 or 6, it is characterised in that also include:
Detect the read request number in read request queue;
If read request number is more than default Second Threshold, according to preset time limit read request response time, postpone to virtual machine The read request for returning to the read request of predetermined number in read request queue completes response.
8. the read-write system of user data under a kind of virtualized environment, it is characterised in that including:
Request detection module, for detecting that each virtual machine whether there is user data read-write requests;
Collection module is asked, the user data for when virtual machine has user data read-write requests, collecting each virtual machine is read Write request;
Module is lined up in request, for the read request in user data read-write requests to be added in read request queue, by write request It is added in write request queue;
Request queue adjusting module, please for the first request address in read request queue, and/or write request queue and second When meeting preparatory condition to response of address is asked, according to request queue method of adjustment corresponding with preparatory condition, is asked first The corresponding request queue in address is adjusted, and first request address is just addition read request queue, and/or write request queue The corresponding request address of request, second request address is the request that has just added in the corresponding request address of preceding request;
Module is transferred in request, priority of transferring for detecting read request queue, and write request queue transfers priority, transfers In priority high request queue relatively in preceding request, send transferred request to the server of storage user data;
Wherein, the request queue adjusting module includes:
Read request queue adjustment unit, for the reading data address asked in the read request just added, and in preceding read request institute The reading data address of request to response, when meeting default first condition, according to it is preset it is corresponding with default first condition read Request queue method of adjustment, is adjusted to read request queue;And/or,
Write request queue adjustment unit, data address is write for what is asked in the write request just added, and in preceding write request institute Request write data address to response, when meeting default second condition, corresponding with default second condition write according to preset Request queue method of adjustment, is adjusted to write request queue;
Wherein, the read request queue adjustment unit includes:
Default first condition judgment sub-unit, the reading data address that the read request for judging just to have added is asked, with being read preceding Whether whether the asked reading data address of request is identical, or mutually continuous, or whether belongs to a file address, the file The corresponding file in address carries multiple data;
First read request merges subelement, for the read request institute for judging just to have added in the default first condition judgment sub-unit The reading data address of request, with when the reading data address that preceding read request is asked is identical, the read request just added is merged into It is described in preceding read request, formed with it is identical reading data address same request;Or,
Second read request merges subelement, for the read request institute for judging just to have added in the default first condition judgment sub-unit The reading data address of request, with the reading data address consecutive hours asked in preceding read request, the read request just added is asked Reading data address and the reading data address asked in preceding read request, be overlapped according to the consecutive order of address, will The read request and described be merged into preceding read request just added has the request for being superimposed address;Or,
Read request resets subelement, for judging that the read request just added is asked in the default first condition judgment sub-unit Reading data address, and when the reading data address that preceding read request is asked belongs to a file address, to read request queue Enter rearrangement, the sequence of the read request just added is adjusted to described after preceding read request so that in the read request queue The sequence for belonging to the read request of a file address is continuous.
9. system according to claim 8, it is characterised in that the write request queue adjustment unit includes:
Default second condition judgment sub-unit, what the write request for judging just to have added was asked writes data address, with being write preceding Asked whether whether write data address identical or mutually continuous, or whether belong to a file address, the file The corresponding file in address carries multiple data;
First write request merges subelement, for the write request institute for judging just to have added in the default second condition judgment sub-unit Request write data address, with preceding write request asked write data address it is identical when, the write request just added is merged into It is described in preceding write request, formed with the identical same request for writing data address;
Second write request merges subelement, for the write request institute for judging just to have added in the default second condition judgment sub-unit Request write data address, with asked in preceding write request write data address consecutive hours, the write request just added is asked Write data address with it is described write data address what preceding write request was asked, be overlapped according to the consecutive order of address, will The write request and described be merged into preceding write request just added has the request for being superimposed address;
Write request resets subelement, for judging that the write request just added is asked in the default second condition judgment sub-unit Write data address, with being asked in preceding write request when writing data address and belonging to a file address, to write request queue Enter rearrangement, the sequence of the write request just added is adjusted to described after preceding write request so that in the write request queue The sequence for belonging to the write request of a file address is continuous.
10. the system according to any one of claim 8 to 9, it is characterised in that module is lined up in the request to be included:
Data buffer storage unit to be written, for caching the corresponding data to be written of write request;
Write request adds unit, for will be added to write request queue comprising the corresponding write request for writing data address of data to be written In;
Module is transferred in the request to be included:
Data to be written transfer unit, and priority is transferred more than read request queue for the priority of transferring in write request queue When, transfer the data to be written cached;
Write request transmitting element, sends for the server to storage user data, comprising data to be written and described to be written The corresponding write request for writing data address of data.
11. system according to claim 10, it is characterised in that also include:
Write request completes respond module, for caching the corresponding data to be written of write request, institute in the data buffer storage unit to be written Stating write request addition unit will be added to after write request queue comprising the corresponding write request for writing data address of data to be written, to The corresponding virtual machine of write request returns to write request and completes response.
12. the system according to any one of claim 8 to 9, it is characterised in that also include:
It is pre- it is slow take data detection module, for after the user data read-write requests of each virtual machine are collected, what detection was collected Whether read request asks the data read, corresponding with the user data for caching and/or transferring in advance in advance;
User data transfers module, for asking what is read in the pre- slow read request for taking data detection module detection collected Data, when corresponding with the user data for caching and/or transferring in advance in advance, return to read request to corresponding virtual machine and complete to ring Should, the corresponding data for caching and/or transferring in advance in advance is transferred to corresponding virtual machine.
13. system according to claim 8, it is characterised in that module is transferred in the request to be included:
Ask the write request number of number detection unit, the read request number for detecting read request queue, and write request queue;
First transfers determining unit, and for being more than write request number when read request number, and difference is not more than preset first threshold value When, or read request number be less than write request number when, determine read request queue transfer priority be more than write request queue tune Take priority;
First transfers unit, for described first transfer determining unit determine read request queue transfer priority be more than write please Ask when transferring priority of queue, transfer in read request queue in preceding read request, sent to the server of storage user data The read request transferred;
Second transfers determining unit, for when read request number be more than write request number, and difference be more than preset first threshold value when, Determine that the priority of transferring of read request queue transfers priority less than write request queue;
Second transfers unit, for described second transfer determining unit determine read request queue transfer priority be less than write please Ask when transferring priority of queue, transfer in write request queue in preceding write request, sent to the server of storage user data The write request transferred.
14. the system according to claim 8,9,11 or 13, it is characterised in that also include:
Read request number detection module, for detecting the read request number in read request queue;
Module is postponed in read request response, for when read request number is more than default Second Threshold, being rung according to preset read request Time limit is answered, the read request for returning to the read request of predetermined number in read request queue to virtual machine is postponed and completes response.
15. a kind of physical machine, it is characterised in that including:Processor, communication interface, memory and communication bus;
Wherein described processor, the communication interface, the memory complete mutual communication by the communication bus;
The communication interface, for obtaining the user data read-write requests that the processor is transferred, to the clothes of storage user data Business device sends the read-write requests;
The processor, for configuration processor;
The memory, for depositing program;
Its Program is used for:
Detect that each virtual machine whether there is user data read-write requests;
When virtual machine has user data read-write requests, collect the user data read-write requests of each virtual machine, by read request plus Enter into read request queue, write request is added in write request queue;
The first request address worked as in read request queue, and/or write request queue meets pre- with the second request address to response If during condition, according to request queue method of adjustment corresponding with preparatory condition, request queue corresponding to the first request address is entered Row adjustment, first request address for just add read request queue, and/or write request queue request it is corresponding request ground Location, second request address is the request that has just added in the corresponding request address of preceding request;
Detection read request queue transfers priority, and write request queue transfers priority, and transferring that priority is relatively high please Ask in queue in preceding request, send transferred request to the server of storage user data;
Wherein, the read request queue, and/or the first request address in write request queue and the second request address to response When meeting preparatory condition, according to request queue method of adjustment corresponding with preparatory condition, request corresponding to the first request address Queue be adjusted including:
The reading data address that the read request just added in read request queue is asked, with the reading data asked in preceding read request Location to response, when meeting default first condition, according to preset read request queue adjustment side corresponding with default first condition Method, is adjusted to read request queue;And/or,
What the write request just added in write request queue was asked writes data address, with preceding write request asked with writing data Location to response, when meeting default second condition, according to preset write request queue adjustment side corresponding with default second condition Method, is adjusted to write request queue;
Wherein, the reading data address that the read request just added is asked, with the reading data address asked in preceding read request To response, meeting default first condition includes:
The reading data address that the read request just added is asked, it is identical with the reading data address asked in preceding read request, or phase Continuously, or a file address is belonged to, the corresponding file in the file address carries multiple data;
It is described according to preset read request queue method of adjustment corresponding with default first condition, read request queue is adjusted Specifically include:
When the reading data address that the read request just added is asked, and when the reading data address that preceding read request is asked is identical, The read request just added is merged into described in preceding read request, same request of the formation with identical reading data address;Or,
When the reading data address that the read request just added is asked, and the reading data address consecutive hours asked in preceding read request, The reading data address that the read request just added is asked and the reading data address asked in preceding read request, according to address Consecutive order be overlapped, by the read request just added and it is described preceding read request be merged into superposition address request; Or,
When the reading data address that the read request just added is asked, one is belonged to the reading data address asked in preceding read request During individual file address, rearrangement is entered to read request queue, the sequence of the read request just added is adjusted to described in preceding read request Afterwards so that the sequence that the read request of a file address is belonged in the read request queue is continuous.
CN201210572237.8A 2012-12-25 2012-12-25 The reading/writing method of user data, system and physical machine under a kind of virtualized environment Expired - Fee Related CN103902348B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210572237.8A CN103902348B (en) 2012-12-25 2012-12-25 The reading/writing method of user data, system and physical machine under a kind of virtualized environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210572237.8A CN103902348B (en) 2012-12-25 2012-12-25 The reading/writing method of user data, system and physical machine under a kind of virtualized environment

Publications (2)

Publication Number Publication Date
CN103902348A CN103902348A (en) 2014-07-02
CN103902348B true CN103902348B (en) 2017-07-14

Family

ID=50993687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210572237.8A Expired - Fee Related CN103902348B (en) 2012-12-25 2012-12-25 The reading/writing method of user data, system and physical machine under a kind of virtualized environment

Country Status (1)

Country Link
CN (1) CN103902348B (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812321B (en) * 2014-12-30 2019-03-19 沈阳高精数控智能技术股份有限公司 A kind of Network File System and processing method based on subscriber information management file resource
US9891945B2 (en) * 2016-03-21 2018-02-13 Qualcomm Incorporated Storage resource management in virtualized environments
CN106527989A (en) * 2016-10-28 2017-03-22 郑州云海信息技术有限公司 SCSI (Small Computer System Interface) command control method and system for storage system
CN106941461A (en) * 2017-02-23 2017-07-11 江苏徐工信息技术股份有限公司 A kind of method that utilization message queue optimizes server processing requests
CN108628775B (en) * 2017-03-22 2021-02-12 华为技术有限公司 Resource management method and device
CN107888687B (en) * 2017-11-15 2020-06-16 长沙证通云计算有限公司 Proxy client storage acceleration method and system based on distributed storage system
CN107908368A (en) * 2017-11-16 2018-04-13 郑州云海信息技术有限公司 A kind of single input storage organization and method with priority
CN110597451B (en) 2018-06-12 2021-02-23 华为技术有限公司 Method for realizing virtualized cache and physical machine
CN110865769B (en) * 2018-08-28 2023-06-20 阿里巴巴集团控股有限公司 Method for processing read/write request, network storage system and electronic equipment
CN109684236A (en) * 2018-12-25 2019-04-26 广东浪潮大数据研究有限公司 A kind of data write buffer control method, device, electronic equipment and storage medium
CN110489353A (en) * 2019-07-19 2019-11-22 苏州浪潮智能科技有限公司 A kind of raising solid state hard disk bandwidth reading performance method and device
CN111600943B (en) * 2020-05-09 2023-05-30 上海云轴信息科技有限公司 Method and equipment for acquiring target data
CN111752486B (en) * 2020-06-18 2023-05-05 杭州雾联科技有限公司 Method for reducing read delay of write-back data of diskless workstation based on IO scheduling strategy
CN115348222B (en) * 2022-08-17 2023-11-17 北京蔚领时代科技有限公司 Message distribution method, device, server side and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667161A (en) * 2008-09-02 2010-03-10 联想(北京)有限公司 Method and device for protecting data of storage device and computer system
CN102467408A (en) * 2010-11-12 2012-05-23 阿里巴巴集团控股有限公司 Method and device for accessing data of virtual machine
CN102521016A (en) * 2011-12-08 2012-06-27 中兴通讯股份有限公司 Method and system for operating multiple virtual machines
CN102693162A (en) * 2011-12-29 2012-09-26 中国科学技术大学苏州研究院 Method for process communication among multiple virtual machines on multi-core platform based on shared memory and intercore interruption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667161A (en) * 2008-09-02 2010-03-10 联想(北京)有限公司 Method and device for protecting data of storage device and computer system
CN102467408A (en) * 2010-11-12 2012-05-23 阿里巴巴集团控股有限公司 Method and device for accessing data of virtual machine
CN102521016A (en) * 2011-12-08 2012-06-27 中兴通讯股份有限公司 Method and system for operating multiple virtual machines
CN102693162A (en) * 2011-12-29 2012-09-26 中国科学技术大学苏州研究院 Method for process communication among multiple virtual machines on multi-core platform based on shared memory and intercore interruption

Also Published As

Publication number Publication date
CN103902348A (en) 2014-07-02

Similar Documents

Publication Publication Date Title
CN103902348B (en) The reading/writing method of user data, system and physical machine under a kind of virtualized environment
CN103856567B (en) Small file storage method based on Hadoop distributed file system
CN108829344A (en) Date storage method, device and storage medium
CN102882983A (en) Rapid data memory method for improving concurrent visiting performance in cloud memory system
CN101290604A (en) Information processing apparatus and method, and program
CN108183947A (en) Distributed caching method and system
CN102918515B (en) Store data in the multiple impact dampers in Memory Controller any in
WO2023050712A1 (en) Task scheduling method for deep learning service, and related apparatus
US10713162B1 (en) System and method for computer data garbage collection acceleration using peer to peer data transfers
CN106293497B (en) Watt record filesystem-aware in junk data recovery method and device
CN107493329A (en) A kind of remote document access method of distributed memory file system
CN106899643A (en) A kind of user journal storage method and equipment
US20140075086A1 (en) Durable transactions with storage-class memory
CN109656895A (en) Distributed memory system, method for writing data, device and storage medium
CN115543938A (en) Data processing method and device, electronic equipment and storage medium
CN111324303A (en) SSD garbage recycling method and device, computer equipment and storage medium
CN107122130A (en) A kind of data delete method and device again
CN113835616A (en) Data management method and system of application and computer equipment
CN106021566A (en) Method, device and system for improving concurrent processing capacity of single database
CN106201918B (en) A kind of method and system based on big data quantity and extensive caching quick release
CN108664214A (en) The power down process method and apparatus of distributed caching for solid storage device
CN108733584B (en) Method and apparatus for optimizing data caching
CN106557277A (en) The reading method and device of disk array
US20050216615A1 (en) Input/output device, computer, computer system, input/output control program, OS, page management program, and page management method
CN108616571A (en) Behavioral cache processing method for client interception request

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170714

Termination date: 20201225