CN106407151A - Information processing method and device - Google Patents

Information processing method and device Download PDF

Info

Publication number
CN106407151A
CN106407151A CN201610801050.9A CN201610801050A CN106407151A CN 106407151 A CN106407151 A CN 106407151A CN 201610801050 A CN201610801050 A CN 201610801050A CN 106407151 A CN106407151 A CN 106407151A
Authority
CN
China
Prior art keywords
request
usb
result
data
csw
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610801050.9A
Other languages
Chinese (zh)
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
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610801050.9A priority Critical patent/CN106407151A/en
Publication of CN106407151A publication Critical patent/CN106407151A/en
Priority to PCT/CN2017/085355 priority patent/WO2018040622A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Abstract

Embodiments of the invention provide an information processing method and device, and aims at decreasing the frequency of interaction between a USB server and a USB client and improving the information processing speed of USB storage equipment. The method comprises the following steps of: receiving a first request sent by a USB storage driver by the USB server; generating a predicted processing result of the first request by the USB server according to the first request, wherein the predicted processing result of the first request indicates processing success; sending the predicted processing result of the first request to the USB storage driver by the USB server; receiving a second request sent by the USB storage driver according to the predicted processing result of the first request by the USB server; and sending the first request and the second request to the USB client by the USB server.

Description

Information processing method and device
Technical field
The present embodiments relate to computer realm, more particularly, to the information processing method in computer realm and Device.
Background technology
With the rise of cloud computing technology, conventional desktop working way is gradually being replaced by desktop cloud mode, that is, virtual Desktop infrastructure (Virtual Desktop Infrastructure, referred to as " VDI ").Original conventional desktop individual calculus The upper normal peripheral hardware connecting use of machine (Personal Computer, referred to as " PC "), in desktop cloud scene, can only connect To in local thin terminal (Thin Client, referred to as " TC ").If remote virtual desktop needs using local terminal side Peripheral hardware, generally requiring remote desktop access protocol provides support.To support USB (universal serial bus) (Universal Serial Bus, referred to as " USB ") as a example storage device, some desktop access protocols of current main flow provide USB and redirect mode, interior Put USB tunnel, be that use in desktop cloud scene for the USB storage device provides support.
Redirect in realization in existing USB, the USB service end of remote desktop side is responsible for issuing to from USB storage driving USB request block (USB Request Block, referred to as " URB ") request intercepted and packed, via USB tunnel It is forwarded to the USB client of end side, is unpacked by USB client, be then forwarded to USB storage device and processed, and Result backtracking to USB storage driving.Additionally, the processing procedure of different URB requests must serial execution.For normal The Large Copacity USB storage device (as USB flash disk, USB hard disk, USB read-write CD-ROM drive etc.) seen, how using BOT (Bulk-Only Transport) agreement.
At least three times interactions can be produced because BOT agreement regulation completes a read/write operation, and carry out file operation and can produce Raw substantial amounts of read/write, also will produce more substantial interaction.Especially in the case that network quality is poor, network delay is relatively Long, the speed of read/write will be slower, and the time completing needed for a file operation can be longer.Therefore, the URB of prior art please In the processing mode asked, the interaction times between USB service end and USB client are excessive, lead to the speed of information processing slower.
Content of the invention
In view of this, embodiments provide a kind of information processing method and device, can reduce USB service end with The interaction times of USB client, improve the information processing rate of USB storage device.
A kind of first aspect, there is provided information processing method, including:USB service end receives that USB storage driving sends One request;This USB service end according to this first request, generate this first request estimated result, this first request pre- Meter result represents and processes successfully;This USB service end sends the estimated process knot of this first request to this USB storage driving Really;This USB service end receives the second request that this USB storage driving sends according to the estimated result of this first request;Should USB service end sends this first request and this second request to USB client.
It should be understood that the first request and the second request are serial execution, USB service end, in order to obtain the second request, needs First generate the estimated result of this first request according to the first request, and the estimated result of this first request is returned to USB storage device, so, this USB storage device just can be sent out to this USB service end after determining this first request process success Send the second request.
The information processing method of the embodiment of the present invention, generates the estimated result of the first request, root by USB service end According to this first request estimated result first obtain the second request, retransmit this first request and this second ask to USB visitor This first request and this second request are respectively sent to USB storage device and are processed by USB client, can subtract by family end Few USB service end and the interaction times of USB client, improve the information processing rate of USB storage device, thus improving user's body Test.
It should be understood that in embodiments of the present invention, it is related to the change functionally of USB service end and USB client, sending out Before sending URB request, USB service end needs to carry out capability negotiation with USB client, also supports this optimization in USB client In the case of, USB service end just can enable this acceleration function, otherwise can only process by original mode it is ensured that compatibility.
Additionally, it is provided that management configuration policy mechanism in implementing, to carry out the overall situation and to be uniformly controlled or be directed to The Partial controll of property.When for example, for there is multiple USB storage device on main frame, can be as needed to portion therein USB storage device is divided to open the optimization function of the embodiment of the present invention, other processing modes still adopting prior art, the present invention Embodiment is not construed as limiting to this.
In the first possible implementation of first aspect, this first ask for command block wrapper CBW request or Write data DATA-out request, wherein, when this first ask ask for this CBW when, this second ask for read data DATA-in ask Ask, this DATA-out request or coomand mode wrapper CSW request, when this first ask to ask for this DATA-out when, this Two ask to ask for this CSW.
It should be understood that in BOT agreement, if USB storage driving needs to carry out the operation of a no data, CBW request and CSW asks to ask for one group of URB, and CBW asks formerly, and rear, therefore, above-mentioned first request can be asked for CBW for CSW request Ask, the second request can be asked for CSW;If USB storage driving needs to carry out the read/write operation of a secondary data, CBW request, DATA request (DATA-in or DATA-out) and CSW asks to ask for one group of URB, and CBW asks formerly, next to that DATA please Ask, be finally CSW request, therefore, in this case, the first above-mentioned request can be CBW request or DATA- Out ask, if first ask for CBW ask, second ask for DATA request (can for DATA-in ask or DATA-out asks), if first asks to ask for DATA-out, second asks to ask for CSW.
It should be noted that above-mentioned first request cannot be DATA-in request, because this request is read data request, Need to read corresponding data from USB storage device, for USB service end, be cannot to generate for DATA-in request Estimated result.
So, in embodiments of the present invention, add up to send CBW request, DATA request and CSW request by USB service end In at least two, decrease the interaction times of USB service end and USB client.
In conjunction with the above-mentioned possible implementation of first aspect, in the possible implementation of the second of first aspect, This first ask for this CBW ask, this second ask be this DATA-in request or this DATA-out request, in this USB service end After sending this first request and this second request to USB client, the method also includes:This USB service end receives this USB visitor The result of this second request and the result of CSW request corresponding with this CBW request that family end sends;This USB services Hold the result sending this second request to this USB storage driving.
Specifically, because CBW request and CSW request are one-to-one relations, USB client is receiving CBW request Afterwards, just corresponding CSW request can be constructed it is not necessary to the CSW obtaining is asked by USB service end according to this CBW request It is then forwarded to USB client, thus reducing the interaction times of USB service end and USB client.
In conjunction with the above-mentioned possible implementation of first aspect, in the third possible implementation of first aspect, The method also includes:This USB service end receives this CSW that this USB storage driving sends according to the result of this second request Request;This USB service end sends the result of this CSW request to this USB storage driving.
After USB service end receives the CSW request of USB storage driving transmission, USB service end need not be sent out to USB client Give this CSW to ask, but directly the result of good for advanced processing CSW request can be sent to this USB storage driving, thus Reduce the interaction times of USB service end and USB client to a greater extent.
Second aspect, there is provided another kind of information processing method, including:USB client receives that USB service end sends One request and the second request;This USB client sends this first request to USB storage device;This USB client receives this USB The result of this first request that storage device sends;In the case of the result of this first request is successful, this USB Client sends this second request to USB storage device;This USB client receive this USB storage device transmission this second please The result asked.
In the first possible implementation of second aspect, this first ask for command block wrapper CBW request or Write data DATA-out request, wherein, when this first ask ask for this CBW when, this second ask for read data DATA-in ask Ask, this DATA-out request or coomand mode wrapper CSW request, when this first ask to ask for this DATA-out when, this Two ask to ask for this CSW.
In conjunction with the above-mentioned possible implementation of second aspect, in the possible implementation of the second of second aspect, This first ask for this CBW ask, this second ask be this DATA-in request or this DATA-out request, in this USB client After receiving the result of this second request of this USB storage device transmission, the method also includes:If the place of this second request Reason result represents and processes successfully, then this USB client construction asks corresponding CSW to ask with this CBW;This USB client is to this USB storage device sends this CSW request;This USB client receives the process knot of this CSW request of this USB storage device transmission Really;This USB client sends the result of this second request and the result of this CSW request to this USB service end.
It should be understood that in the case that the result of this second request represents processing failure, this USB client is directly passed through This USB service end returns unsuccessfully to this USB storage driving, then this group URB request process terminates.
The third aspect, there is provided another kind of information processing method, including:USB service end receives what USB storage driving sent First request;This USB service end sends this first request to USB client;This USB service end receive this USB client according to The result of this first request and the result of second request corresponding with this first request that this first request sends.
It should be understood that the first request and the second request are serial execution, in order to send the result of the first request together With the result of the second request, USB client can construct the second request according to the first request, and the second request is shifted to an earlier date Processed, the result of the result of the first request and the second request is sent to USB service end, so, this USB is taken Business end directly can return this second request to this USB storage driving after the second request receiving the transmission of USB storage driving Result.
The information processing method of the embodiment of the present invention, is receiving the first of USB storage device transmission by USB client After the result of request, construction second request corresponding with this first request, this second request is sent to this USB storage Equipment is processed, and obtains the result of the second request, and the place by the result of the first request and the second request in advance Reason result sends jointly to USB service end, can reduce the interaction times of USB service end and USB client, improves USB storage The information processing rate of equipment, thus improve Consumer's Experience.
In the first possible implementation of the third aspect, this first ask for command block wrapper CBW request, read Data DATA-in ask or write data DATA-out request, wherein, when this first ask ask for this CBW when, this second ask For this DATA-in request, this DATA-out request or coomand mode wrapper CSW request, when this first is asked as this DATA-in Ask or be somebody's turn to do
DATA-out request when, this second ask for this CSW ask.
It should be understood that in BOT agreement, if USB storage driving needs to carry out the operation of a no data, CBW request and CSW asks to ask for one group of URB, and CBW asks formerly, and rear, therefore, above-mentioned first request can be asked for CBW for CSW request Ask, the second request can be asked for CSW;If USB storage driving needs to carry out the read/write operation of a secondary data, CBW request, DATA request (DATA-in or DATA-out) and CSW asks to ask for one group of URB, and CBW asks formerly, next to that DATA please Ask, be finally CSW request, therefore, in this case, the first above-mentioned request can be CBW request or DATA please Ask, if first ask for CBW ask, second ask for DATA ask, if first ask for DATA ask, second ask be CSW asks.
In conjunction with the above-mentioned possible implementation of the third aspect, in the possible implementation of the second of the third aspect, The method also includes the result that this USB service end sends this first request to this USB storage driving;This USB service termination Receive this second request that this USB storage driving sends according to the result of this first request;This USB service end is deposited to this USB Storage drives the result sending this second request.
Specifically, receive this second request of USB storage driving transmission in this USB service end after, this USB service end need not Send this second request to USB client, directly the result of the second good for advanced processing request is sent to this USB storage Drive, thus reducing the interaction times of USB service end and USB client.
In conjunction with the above-mentioned possible implementation of the third aspect, in the third possible implementation of the third aspect, This first asks to ask for this CBW, and this second asks to ask for this DATA-in, and this USB service end receives this USB client root The result of this first request sending according to this first request and the process knot of second request corresponding with this first request Really, including:This USB service end receives the result of this CBW request of this USB client transmission, the place of this DATA-in request Reason result and the result of this CSW request.
In embodiments of the present invention, USB client can first ask to process successful result according to CBW, constructs DATA- In asks, and this DATA-in request is sent to USB storage device and is processed, and from this USB storage device to this USB client End returns the result of DATA-in request, and in the case that this DATA-in asks to process success, this USB client continues structure Make CSW request, and be sent to USB storage device and processed, the result that CSW asks is sent by this USB storage device again To USB client, the place of result, the result of DATA-in request and CSW request that CBW is asked by this USB client Reason result sends together to USB service end, so, only needs once to interact, significantly carry between USB service end and USB client The high speed of information processing.
In conjunction with the above-mentioned possible implementation of the third aspect, in the 4th kind of possible implementation of the third aspect, The method also includes:This USB service end sends the result of this CBW request to this USB storage driving;This USB service termination Receive this DATA-in request that this USB storage driving sends according to the result that this CBW asks;This USB service end is to this USB Storage driving sends the result of this DATA-in request;This USB service end receives this USB storage driving according to this DATA-in This CSW request that the result of request sends;This USB service end sends the process knot of this CSW request to this USB storage driving Really.
Fourth aspect, there is provided another kind of information processing method, including:USB client receives that USB service end sends One request;This USB client sends this first request to USB storage device;This USB client receives this USB storage device and sends out The result of this first request sent;In the case of the result of this first request is successful, this USB client constructs Second request corresponding with this first request;This USB client sends this second request to this USB storage device;This USB client End receives the result of this second request that this USB storage device sends;This USB client to USB service end send this The result of one request and the result of this second request.
In the first possible implementation of fourth aspect, this first ask for command block wrapper CBW request, read Data DATA-in ask or write data DATA-out request, wherein, when this first ask ask for this CBW when, this second ask For this DATA-in request, this DATA-out request or coomand mode wrapper CSW request, when this first is asked as this DATA-in Request or this DATA-out request when, this second ask for this CSW ask.
In conjunction with the above-mentioned possible implementation of fourth aspect, in the possible implementation of the second of fourth aspect, This first ask for this CBW ask, this second ask for this DATA-in ask, this USB client to USB service end send Before the result of the result of this first request and this second request, the method also includes:In this DATA-in request In the case of result is successful, this CSW request corresponding with this DATA-in request of this USB client construction;This USB visitor Family end sends this CSW request to this USB storage device;This USB client receives this CSW request of this USB storage device transmission Result;This USB client sends the result of this first request and the process knot of this second request to USB service end Really, including:This USB client sends the result of the result of this CBW request, this DATA-in request to USB service end And the result of this CSW request.
It should be understood that in the case of being unsuccessfully in the result that this DATA-in asks, this USB client is directly passed through should USB service end returns unsuccessfully to this USB storage driving, then this group URB request process terminates.
A kind of 5th aspect, there is provided information processor, for executing any of above-mentioned first aspect or first aspect Method in possible implementation.Specifically, this device is included for executing any of above-mentioned first aspect or first aspect The unit of the method in possible implementation.
A kind of 6th aspect, there is provided information processor, for executing any of above-mentioned second aspect or second aspect Method in possible implementation.Specifically, this device is included for executing any of above-mentioned second aspect or second aspect The unit of the method in possible implementation.
A kind of 7th aspect, there is provided information processor, for executing any of the above-mentioned third aspect or the third aspect Method in possible implementation.Specifically, this device is included for executing any of the above-mentioned third aspect or the third aspect The unit of the method in possible implementation.
A kind of eighth aspect, there is provided information processor, for executing any of above-mentioned fourth aspect or fourth aspect Method in possible implementation.Specifically, this device is included for executing any of above-mentioned fourth aspect or fourth aspect The unit of the method in possible implementation.
A kind of 9th aspect, there is provided information processor, this device includes:At least one processor, memorizer and logical Letter interface.Wherein, this at least one processor, this memorizer and this communication interface are all connected by bus, and this memorizer is used for Storage computer executed instructions, this at least one processor be used for execute this memory storage computer executed instructions so that This device can carry out data interaction by this communication interface and other devices and execute any of first aspect or first aspect Method in possible implementation.
A kind of tenth aspect, there is provided information processor, this device includes:At least one processor, memorizer and logical Letter interface.Wherein, this at least one processor, this memorizer and this communication interface are all connected by bus, and this memorizer is used for Storage computer executed instructions, this at least one processor be used for execute this memory storage computer executed instructions so that This device can carry out data interaction by this communication interface and other devices and execute any of second aspect or second aspect Method in possible implementation.
A kind of 11st aspect, there is provided information processor, this device includes:At least one processor, memorizer and Communication interface.Wherein, this at least one processor, this memorizer and this communication interface are all connected by bus, and this memorizer is used In storage computer executed instructions, this at least one processor is used for executing the computer executed instructions of this memory storage, makes Obtain this device and can carry out data interaction by this communication interface and other devices and execute appointing of the third aspect or the third aspect The method anticipated in possible implementation.
A kind of 12nd aspect, there is provided information processor, this device includes:At least one processor, memorizer and Communication interface.Wherein, this at least one processor, this memorizer and this communication interface are all connected by bus, and this memorizer is used In storage computer executed instructions, this at least one processor is used for executing the computer executed instructions of this memory storage, makes Obtain this device and can carry out data interaction by this communication interface and other devices and execute appointing of fourth aspect or fourth aspect The method anticipated in possible implementation.
A kind of 13rd aspect, there is provided information processing system, this system includes above-mentioned 5th aspect or the 5th aspect Device in any one possible implementation of device in any one possible implementation and the 6th aspect or the 6th aspect; Or
This system includes the device and the 8th in above-mentioned 7th aspect or any one possible implementation of the 7th aspect The device in any one possible implementation in aspect or eighth aspect;Or
This system includes the device and the tenth in above-mentioned 9th aspect or any one possible implementation of the 9th aspect The device in any one possible implementation in aspect or the tenth aspect;Or
This system include above-mentioned 11st aspect or the 11st aspect any one may device in implementation and The device in any one possible implementation in 12nd aspect or the 12nd aspect.
A kind of fourteenth aspect, there is provided computer-readable medium, for storing computer program, this computer program bag Include for execute first aspect or first aspect arbitrarily possible implementation in method instruction.
A kind of 15th aspect, there is provided computer-readable medium, for storing computer program, this computer program bag Include for execute second aspect or second aspect arbitrarily possible implementation in method instruction.
A kind of 16th aspect, there is provided computer-readable medium, for storing computer program, this computer program bag Include for execute the third aspect or the third aspect arbitrarily possible implementation in method instruction.
A kind of 17th aspect, there is provided computer-readable medium, for storing computer program, this computer program bag Include for execute fourth aspect or fourth aspect arbitrarily possible implementation in method instruction.
Brief description
In order to be illustrated more clearly that the technical scheme of the embodiment of the present invention, will make to required in the embodiment of the present invention below Accompanying drawing be briefly described it should be apparent that, drawings described below is only some embodiments of the present invention, for For those of ordinary skill in the art, on the premise of not paying creative work, other can also be obtained according to these accompanying drawings Accompanying drawing.
Fig. 1 is the schematic diagram of the application scenarios of the embodiment of the present invention.
Fig. 2 is the indicative flowchart of information processing method provided in an embodiment of the present invention.
Fig. 3 is the indicative flowchart of another information processing method provided in an embodiment of the present invention.
Fig. 4 is the indicative flowchart of another information processing method provided in an embodiment of the present invention.
Fig. 5 is the indicative flowchart of another information processing method provided in an embodiment of the present invention.
Fig. 6 is the indicative flowchart of another information processing method provided in an embodiment of the present invention.
Fig. 7 is the indicative flowchart of another information processing method provided in an embodiment of the present invention.
Fig. 8 is the indicative flowchart of another information processing method provided in an embodiment of the present invention.
Fig. 9 is the schematic block diagram of information processor provided in an embodiment of the present invention.
Figure 10 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Figure 11 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Figure 12 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Figure 13 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Figure 14 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Figure 15 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Figure 16 is the schematic block diagram of another information processor provided in an embodiment of the present invention.
Specific 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 describes it is clear that described embodiment is a part of embodiment of the present invention, rather than whole embodiments.Based on this Embodiment in bright, the every other reality that those of ordinary skill in the art are obtained on the premise of not making creative work Apply example, all should belong to the scope of protection of the invention.
In order to make it easy to understand, being first introduced to the relational language in the embodiment of the present invention below.
Virtual machine (Virtual Machine):I.e. virtual machine, in the architecture in computer science, refers to A kind of special software, can create a kind of environment between computer platform and terminal use, and terminal use is then based on The environment that this software is created is operating software.In computer science, virtual machine refers to transport as real machine The software of the computer of line program is realized.Therefore, virtual machine can be understood as a computer in logic.
Remote virtual desktop:Refer to calculate and storage resource concentrates on remote server (generally data center), pass through RDP is by the interface delivery of remote virtual desktop to local various terminals (such as thin terminal TC, Desktop PC, portable PC, Mobile portable formula equipment (Portable Device, referred to as " PAD "), smart mobile phone etc.) on show;Meanwhile, far Journey virtual desktop can be the various input-output equipment of local terminal (outside keyboard, mouse, USB storage device, serial paralled interface If, earphone and mike etc.) be mapped to remote server.
General remote virtual desktop system includes remote server and local terminal, wherein, remote server collection Suffer server resource and storage resource, multiple virtual machines have been fictionalized or without Intel Virtualization Technology by Intel Virtualization Technology Directly use physical computer, on these virtual machines or physical computer installation operation system (such as Linux, Windows and Unix etc.), and by RDP, the interface delivery of remote virtual desktop is shown on local terminal Come, the input-output equipment on local terminal is mapped to the server end of remote virtual desktop simultaneously.
The system architecture of remote virtual desktop is by terminal (include various input-output equipment), desktop management system and long-range Virtual desktop computer three part forms.Wherein, desktop management system is mainly management remote virtual desktop computer and terminal Registration and User logs in remote virtual desktop management.RDP is made up of client and service end, internal root It is divided into different services according to difference in functionality to realize, for example, reflecting of various peripheral hardwares is realized in USB client and the interaction of USB service end Penetrate redirection;Display service client and service end interaction are realized remote virtual desktop and are delivered to terminal display;Audio service Two way audio mapping is realized in client and service end interaction;Multimedia service is realized in multimedia service client and service end interaction Broadcasting and recording;Key mouse service client and service end realize keyboard with mouse mappings to remote virtual desktop, etc., herein Will not enumerate.
Fig. 1 shows the application scenarios 100 of the embodiment of the present invention.This application scenarios 100 uses USB for virtual long desktop The scene of storage device, this application scenarios 100 is divided into remote desktop side and local terminal side, and remote desktop side includes USB storage Drive 110 and USB service ends 120, local terminal side includes USB client 130 and USB storage device 140.
Wherein, USB storage device 140:It is the external storage being connected with local computer by USB interface, such as U Disk, USB hard disk, USB read-write CD-ROM drive etc..
USB storage driving 110:It is USB to drive or USB storage device driving.Driving can be understood as one section of driving journey Sequence, driver is the little block code of be added in operating system one, wherein comprises the information about hardware device.There is this letter Breath, computer just can be communicated with equipment.Driver is the configuration file that hardware vendor writes according to operating system, can To say not having driver, the hardware in computer just cannot work.Therefore, because in computer install operating system Hold problem, using generally requiring during USB storage device 140 to install corresponding USB storage driving 110, when upper-layer service or should When needing to interact with this USB storage device 140 with program, can be by calling USB storage driving 110 to execute.
USB service end 120:In the virtual machine or physical computer of remote desktop side, in virtual machine or In physical computer, operating system is installed, and USB storage is installed when this USB storage device 140 is connected to local computer Drive 110;The data that this USB service end 120 is responsible for obtaining USB storage driving 110 forwards a packet to USB client 130, Yi Jijie The data receiving the response of this USB client 130 forwards a packet to USB storage driving 110.
USB client 130:Can be the computer of local terminal side, above-mentioned USB storage device 140 can be by corresponding Interface is connected with this USB client 130, and therefore, this USB client 130 can be responsible for finding and disconnect USB storage device 140, the data receiving USB service end 120 transmission forwards a packet to USB storage device 140, and obtains USB storage device 140 Data forwards a packet to USB service end 120.
It should be understood that when upper-layer service or application program will be written and read to USB storage device, being required for storing through USB Drive 110 that is to say, that USB storage driving 110 is between upper-layer service or application program and USB storage device 140 Bridge, can be upper-layer service upwards or application program provides service it is also possible to drive downwards USB storage device 140 to carry out work Make.
It should also be understood that because remote virtual desktop needs the peripheral hardware using local terminal side, generally requiring remote desktop and connect Entering agreement provides support.Taking support USB storage device as a example, some desktop access protocols such as HDP (Huawei of current main flow Desktop Protocol), ICA (Independent Computing Architecture) agreement etc., both provide USB weight Oriented approach, built-in USB tunnel, is that use in desktop cloud scene for the USB storage device provides support.In addition There are some softwares, such as USB over Network, support in end side by way of shared USB storage device, for virtual table Surface side remotely accesses the ability of USB storage device, and its principle falls within USB and redirects category, and the embodiment of the present invention is not made to this Limit.
For common Large Copacity USB storage device (as USB flash disk, USB hard disk, USB read-write CD-ROM drive etc.), how using BOT (Bulk-Only Transport) agreement.BOT agreement is current in Large Copacity USB storage class (Mass Storage Class) Using a kind of most storage transportation protocol.Typically can identify that this USB deposits by reading the interface descriptor of USB storage device Whether storage equipment is using BOT agreement.If " bInterfaceClass " is " 08h " in its interface descriptor, and " bInterfaceProtocol " is 50h ", then show that this USB storage device is the use of the Large Copacity USB storage of BOT agreement Equipment.It should be understood that the USB storage device such as common USB flash disk, USB hard disk, USB CD-ROM drive, it is substantially all and belongs to such.
BOT agreement works in the upper strata of USB general transmission protocol.When upper-layer service or application program are stored by USB and drive Dynamic when carrying out a data read/write using BOT agreement and operating, all can construct command block wrapper (Command Block successively Wrapper, referred to as " CBW ") request, DATA request or coomand mode wrapper (Command Status Wrapper, referred to as For " CSW ") request, these requests are individually enclosed in USB request block (USB Request Block, referred to as " URB "), And processed by lower floor's usb protocol.
Specifically, when BOT agreement works, if upper-layer service or application program need to carry out a data read/write operation, Then with CBW, DATA, CSW for one group, different URB requests can be sent by USB storage driving;If upper-layer service or application need Carry out the operation of a no data, then can send different URB requests with CBW, CSW for one group.It should be understood that above-mentioned no data Operation, refers to the read/write operation of non-data, such as status poll, heart beating is shaken hands, and the embodiment of the present invention is not construed as limiting to this. Additionally, in whole BOT agreement, different URB requests are work in series, if there is process error centre, can be resetted Recover it is ensured that every group of URB request can closed loop, next group URB request can be restarted and process.
The working condition of USB storage device can include the free time, CBW process, DATA-out (set to USB storage from main frame Standby transmission data), DATA-in (from USB storage device to main frame transmission data), CSW process five kinds of states.Wherein, this USB deposits The packet that storage equipment receives in an idle state is CBW bag;The packet receiving under DATA-out state is main frame Expect to write the data of this USB storage device;Under DATA-in state, host request reads data from this USB storage device, Equipment will send these packets to main frame;Under CSW process state, this USB storage device encapsulates and sends CSW bag with to master Machine returns status information.It should be understood that any URB request is all to send CBW bag with main frame to USB storage device and attempt to set up phase The data transfer answered starts.USB storage device receives this CBW bag, it is checked and is processed it is intended to meet main frame Require, and status information is returned to main frame by CSW bag.
CBW, DATA and CSW tri- kind packets are described in detail below.
1st, CBW is the packet of the information comprising a command block and association, by Bulk-Out (from main frame to equipment Data transfer) end points is transmitted, and the length of each CBW is 31 bytes, and it is defined as follows shown in table:
dCBWSignature:The mark of CBW, is fixed value 43425355h;
dCBWTag:The order block identification that main frame sends, equipment needs to return in CSW, is mainly used in associating CSW Corresponding CBW;
dCBWDataTransferLength:The byte number that this CBW order request transmits between order and response;As Fruit is 0 then it represents that not transmission data;
bmCBWFlags:The direction of reflection data transfer, 0x00 represents from main frame, and 0x80 represents transmission to main frame;
bCBWLUN:For the equipment having multiple LUN (Logical Unit Number, referred to as " LUN "), It is used for selecting objectives, without multiple LUN, then write 0;
bCBWCBLength:The length of order, scope is 0~16;
CBWCB:The specific instructions of transmission, meet the ordering norms defined in bInterfaceSubClass, are herein SCSI command collection.
2nd, DATA is the packet comprising a data block, is divided into two kinds of DATA-out and DATA-in.
DATA-out:It is transmitted by Bulk-Out (data transfer from main frame to equipment) end points, set toward USB storage For writing data, carry data to be written in packet, its data length to be written depends in corresponding CBW The value of dCBWDataTransferLength.
DATA-in:It is transmitted by Bulk-In (data transfer from equipment to main frame) end points, from USB storage device Read data, carry enough data spaces in packet for depositing the data that continues, its data length that continues depends on corresponding CBW The value of middle dCBWDataTransferLength.
It should be understood that upper-layer service or application can be using the transmission side datas indicated by bmCBWFlags in corresponding CBW To the DATA mode matching;When bmCBWFlags is for 0x00, DATA-out mode can be used;When bmCBWFlags is 0x80 When, DATA-in mode can be used.
3rd, CSW is the packet comprising an order bulk state, by Bulk-In (data transfer from equipment to main frame) End points is transmitted, and its length is 13 bytes, for representing the state of CBW transmission.It is defined as follows shown in table:
dCSWSignature:The mark of CSW, is fixed value 53425355h;
dCSWTag:It is identical with the dCBWTag in CBW that this mark is set;
dCSWDataResidue:Represent the data also needing to transmit, this data dCBWDataTransfer Length subtracts The data going this communicated obtains;
bCSWStatus:Indicate the execution state of CBW order, if order is correct executed;
BCSWStatus returns 0, incorrect then return 1, mistake then return 2 (when main frame receive this wrong when need to USB Storage device is resetted).
The method that the virtual long desktop of prior art uses USB storage device, USB storage driving can construct different URB asks, and is issued, and when USB redirects, USB service end can intercept the URB request that this USB storage driving issues, and passes through Tunnel is sent to USB client, and this USB client forwards this URB to ask to USB storage device, by this USB storage device This USB request is processed, backtracking result more afterwards, USB storage driving receives the result of this URB request Afterwards, just may proceed to send next URB request in the case that this URB asks to process success.
For the USB mass-memory unit using BOT agreement, taking one group of URB message as a example, USB storage driving first to USB service end sends CBW request, and USB service end receives this CBW request, this CBW request is transmitted to USB client, this USB Client receives this CBW request, and this CBW request is transmitted to USB storage device, and this USB storage device receives this CBW request, And this CBW request is processed, by result backtracking to this USB storage driving;This USB storage driving receives should The result of CBW request, in the case that this CBW asks to process success, sends DATA request to USB service end, this USB takes Business end receives this DATA request, and this DATA request is transmitted to USB client, and this USB client receives this DATA request, should DATA request is transmitted to USB storage device, and this USB storage device receives this DATA request, and this DATA request is processed, By result backtracking to this USB storage driving;This USB storage driving receives the result of this DATA request, at this In the case that DATA request processes success, send CSW request to USB service end, this USB service end receives this CSW request, should CSW request is transmitted to USB client, and this USB client receives this CSW request, and this CSW request is transmitted to USB storage device, This USB storage device receives this CSW request, and this CSW request is processed, and result backtracking is deposited to this USB Storage drives.So far, complete the read/write operation of a USB storage device.
It should be understood that DATA request can be divided into DATA-out request and DATA-in request, the presence or absence of DATA request depends on DCBWDataTransferLength value in CBW request, if dCBWDataTransferLength value for 0 then it represents that upper strata Business or application need not carry out the read/write operation of data.
If carry out the read/write operation of a USB storage device using BOT agreement, CBW request, DATA request can be generated Ask three URB requests for a group with CSW, must be former after each URB request being processed due to USB storage device Road returns its result, can carry out three network interactions.If no data read/write, CBW request and CSW request can be generated Two URB requests for one group, can carry out network interaction twice.And primary network interaction, can introduce and be twice in network delay Duration.That is, completing a read/write operation, its duration consuming six times of network delays more.For example, if network delay For 1ms, then once interact duration up to 2ms, complete a read/write operation, take and can be more than 6ms;If network delay is 50ms, Then once interact duration up to 100ms, complete a read/write operation, take and can be more than 300ms.When user passes through operating system Or upper layer application is when carrying out a file operation (such as opening file, copied files etc.), can trigger USB storage driving produce a large amount of Read/write operation, and then produce and be three times in the network interaction of read/write operation.When network delay is longer, network quality is poorer, read/ Writing rate is slower, and the time completing this document operation is naturally also longer, and Consumer's Experience certainly will be poorer, even can not bear It is subject to.Therefore, the processing mode network interaction number of times of the URB request of prior art is more, leads to the speed of information processing slower.
Fig. 2 shows the indicative flowchart of the information processing method 200 of the embodiment of the present invention.The method 200 can be answered For the application scenarios 100 in Fig. 1, but embodiment of the present invention not limited to this.The method 200 includes:
S201, USB storage driving sends the first request to USB service end;
S202, this USB service end receives this first request, and generates this first estimated result asked, and this first The estimated result of request is to process successfully;
S203, this USB service end sends the estimated result of this first request to this USB storage driving;
S204, this USB storage driving sends second according to the estimated result of this first request to this USB service end please Ask;
S205, this USB service end receive this second request, and to USB client send this first request and this second please Ask;
S206, this USB client receive this first request and this second request, and to USB storage device send this first Request;
S207, this USB storage device receives this first request, and processes this first request, thus obtaining this first request Result;
S208, this USB storage device sends the result of this first request to this USB client;
S209, this USB client receives the result of this first request, is successfully in the result of this first request In the case of, send this second request to this USB storage device;
S210, this USB storage device receives this second request, and processes this second request, thus obtaining this second request Result;
S211, this USB storage device sends the result of this second request to this USB client.
Specifically, USB storage driving to USB service end send first request, this first request can be upper-layer service or Application program passes through the triggering of this USB storage driving, and this USB service end receives this first request, generates this first request and processes Successfully it is expected result and the estimated result of this first request is returned to this USB storage driving, this USB storage is driven Move once it is determined that this first request processes successfully, the second request will be sent to this USB server, this USB service end receives is somebody's turn to do Second request, and send this first request and this second request to USB client, this USB client sends to USB storage device This first request, this USB storage device receives and processes this first request, returns to the place of this first request to this USB client Reason result, this USB client once it is determined that this first request processes successfully, will to this USB storage device send this second ask Ask, received and processed by USB storage device the second request, the result of this second request is returned to this USB client.
The information processing method of the embodiment of the present invention, generates the estimated result of the first request, root by USB service end According to this first request estimated result first obtain the second request, retransmit this first request and this second ask to USB visitor This first request and this second request are respectively sent to USB storage device and are processed by USB client, can subtract by family end Few USB service end and the interaction times of USB client, improve the information processing rate of USB storage device, thus improving user's body Test.
As an optional embodiment, this first ask for command block wrapper CBW request or write data DATA-out Request, wherein, when this first ask ask for this CBW when, this second ask for read data DATA-in ask, this DATA-out Request or coomand mode wrapper CSW request, when this first ask to ask for this DATA-out when, this second is asked as this CSW Request.
It should be understood that in BOT agreement, if USB storage driving needs to carry out the operation of a no data, CBW request and CSW asks to ask for one group of URB, and CBW asks formerly, and rear, therefore, above-mentioned first request can be asked for CBW for CSW request Ask, the second request can be asked for CSW;If USB storage driving needs to carry out the read/write operation of a secondary data, CBW request, DATA request (DATA-in or DATA-out) and CSW asks to ask for one group of URB, and CBW asks formerly, next to that DATA please Ask, be finally CSW request, therefore, in this case, the first above-mentioned request can be CBW request or DATA- Out ask, if first ask for CBW ask, second ask for DATA request (can for DATA-in ask or DATA-out asks), if first asks to ask for DATA-out, second asks to ask for CSW.
It should be noted that above-mentioned first request cannot be DATA-in request, because this request is read data request, Need to read corresponding data from USB storage device, for USB service end, be cannot to generate for DATA-in request Estimated result.
So, in embodiments of the present invention, add up to send CBW request, DATA request and CSW request by USB service end In at least two, decrease the interaction times of USB service end and USB client.
As an optional embodiment, this first ask for this CBW ask, this second ask for this DATA-in ask Or this DATA-out request, this USB client receive this USB storage device transmission this second request result it Afterwards, the method also includes:If the result of this second request represents processing successfully, this USB client construction and this CBW please Ask corresponding CSW request;This USB client sends this CSW request to this USB storage device;This USB storage device receives should CSW asks, and this CSW request is processed and returns to this USB client with the result of this CSW request;This USB client Receive the result of this CSW request, and send result and this CSW request of this second request to this USB service end Result;This USB service end receives the result of this second request and this USB client structure of this USB client transmission Produce the result of this CSW request corresponding with this CBW request;This USB service end to this USB storage driving send this second The result of request.
Alternatively, this USB service end can preserve the result of this CSW request.
Specifically, because CBW request and CSW request are one-to-one relations, USB client is receiving CBW request Afterwards, CSW request corresponding with this CBW request can just be constructed it is not necessary to the CSW request of acquisition is retransmited by USB service end To USB client, thus reducing the interaction times of USB service end and USB client.
It should be understood that in the case of being unsuccessfully in this second result asked, this USB client directly passes through this USB Service end returns unsuccessfully to this USB storage driving, then this group URB request process terminates.
As an optional embodiment, the method also includes:This USB service end receives this USB storage driving according to this This CSW request that the result of the second request sends;This USB service end sends, to this USB storage driving, this CSW preserving please The result asked.
After USB service end receives the CSW request of USB storage driving transmission, USB service end need not be sent out to USB client Give this CSW to ask, but can directly the result of the CSW request being saved in USB service end good for advanced processing be sent To this USB storage driving, thus reducing the interaction times of USB service end and USB client to a greater extent.
It should be understood that in embodiments of the present invention, it is related to the change functionally of USB service end and USB client, sending out Before sending URB request, USB service end needs to carry out capability negotiation with USB client, also supports this optimization in USB client In the case of, USB service end just can enable this acceleration function, otherwise can only process by original mode it is ensured that compatibility.
Additionally, it is provided that management configuration policy mechanism in implementing, to carry out the overall situation and to be uniformly controlled or be directed to The Partial controll of property.When for example, for there is multiple USB storage device on main frame, can be as needed to portion therein USB storage device is divided to open the optimization function of the embodiment of the present invention, other processing modes still adopting prior art, the present invention Embodiment is not construed as limiting to this.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Fig. 3 shows the indicative flowchart of another information processing method 300 of the embodiment of the present invention.The method 300 can With the application scenarios 100 being applied in Fig. 1, but embodiment of the present invention not limited to this.The method 300 includes:
S301, USB storage driving sends the first request to USB service end;
S302, this USB service end receives this first request, and sends this first request to USB client;
S303, this USB client receives this first request, and sends this first request to USB storage device;
S304, this USB storage device receives this first request, and processes this first request, thus obtaining this first request Result;
S305, this USB storage device sends the result of this first request to this USB client;
S306, this USB client receives the result of this first request, is successfully in the result of this first request In the case of, construction second request corresponding with this first request;
S307, this USB client sends this second request to this USB storage device;
S308, this USB storage device receives this second request, and processes this second request, thus obtaining this second request Result;
S309, this USB storage device sends the result of this second request to this USB client;
S310, this USB client receive this second request result, and to this USB service end send this first please The result asked and the result of this second request.
Specifically, USB storage driving sends the first request to USB service end, and this USB service end receives this first request simultaneously This first request is transmitted to USB client, this USB client receives this first request and this first request is transmitted to USB Storage device, this USB storage device receives and processes this first request, and the result of this first request is back to this USB Client, in the case of being to process success in the result of this first request, it is right with the first request that this USB client constructs Answer second request, and by this second request be sent to this USB storage device, this USB storage device receive and process this second Request, the result of this second request is back to this USB client, and this USB client receives the process of this second request As a result, the result of this first request and the result of this second request and is sent to this USB service end.
The information processing method of the embodiment of the present invention, is receiving the first of USB storage device transmission by USB client After the result of request, construct second request corresponding with the first request, this second request is sent to this USB storage Equipment is processed, and obtains the result of the second request, and the place by the result of the first request and the second request in advance Reason result sends jointly to USB service end, can reduce the interaction times of USB service end and USB client, improves USB storage The information processing rate of equipment, thus improve Consumer's Experience.
As an optional embodiment, this first ask for command block wrapper CBW request, read data DATA-in please Ask or write data DATA-out request, wherein, when this first ask ask for this CBW when, this second ask for this DATA-in ask Ask, this DATA-out request or coomand mode wrapper CSW request, when this first ask for this DATA-in request or this DATA- Out request when, this second ask for this CSW ask.
It should be understood that in BOT agreement, if USB storage driving needs to carry out the operation of a no data, CBW request and CSW asks to ask for one group of URB, and CBW asks formerly, and rear, therefore, above-mentioned first request can be asked for CBW for CSW request Ask, the second request can be asked for CSW;If USB storage driving needs to carry out the read/write operation of a secondary data, CBW request, DATA request (DATA-in or DATA-out) and CSW asks to ask for one group of URB, and CBW asks formerly, next to that DATA please Ask, be finally CSW request, therefore, in this case, the first above-mentioned request can be CBW request or DATA please Ask, if first ask for CBW ask, second ask for DATA ask, if first ask for DATA ask, second ask be CSW asks.
As an optional embodiment, the method also includes:This USB service end to this USB storage driving send this The result of one request;This USB service end receives this USB storage driving according to being somebody's turn to do that the result of this first request sends Second request;This USB service end sends the result of this second request to this USB storage driving.
Alternatively, this USB service end can preserve the result of this second request.
Specifically, USB service end can preserve the result of the second request, receives USB storage driving in USB service end After this second request sending, USB service end need not send this second request to USB client, directly that advanced processing is good The result being saved in the second request of USB service end is sent to this USB storage driving, thus reducing USB service end and USB The interaction times of client.
As an optional embodiment, this first ask for this CBW ask, this second ask for this DATA-in ask, Send the result of this first request and the result of this second request to USB service end in this USB client before, should Method also includes:In the case of the result of this DATA-in request is successful, this USB client constructs and this DATA-in Ask corresponding CSW request;This USB client sends this CSW request to this USB storage device;This USB client receives should The result of this CSW request that USB storage device sends;This USB client sends the place of this first request to USB service end Reason result and the result of this second request, including:This USB client sends the process knot of this CBW request to USB service end Really, the result of the result of this DATA-in request and this CSW request;This USB service end receives this USB client The result of this first request being sent according to this first request and the process of second request corresponding with this first request As a result, including:This USB service end receives the result of this CBW request of this USB client transmission, this DATA-in asks Result and the result of this CSW request.
In embodiments of the present invention, USB client can first ask to process successful result according to CBW, constructs DATA- In asks, and this DATA-in request is sent to USB storage device and is processed, and from this USB storage device to this USB client End returns the result of DATA-in request, and in the case that this DATA-in asks to process success, this USB client continues structure Make CSW request, and be sent to USB storage device and processed, the result that CSW asks is sent by this USB storage device again To USB client, the place of result, the result of DATA-in request and CSW request that CBW is asked by this USB client Reason result sends together to USB service end, so, only needs once to interact, significantly carry between USB service end and USB client The high speed of information processing.
It should be understood that in the case of being unsuccessfully in the result that this DATA-in asks, this USB client is directly passed through should USB service end returns unsuccessfully to this USB storage driving, then this group URB request process terminates.
As an optional embodiment, the method also includes:This USB service end sends this CBW to this USB storage driving The result of request;This USB service end receives this USB storage driving according to being somebody's turn to do that the result that this CBW asks sends DATA-in asks;This USB service end sends the result of this DATA-in request to this USB storage driving;This USB service end Receive this CSW request that this USB storage driving sends according to the result that this DATA-in asks;This USB service end is to this USB storage driving sends the result of this CSW request.
Alternatively, this USB service end can preserve the result of this DATA-in request and the process knot of this CSW request Really.
It should be understood that in embodiments of the present invention, it is related to the change functionally of USB service end and USB client, sending out Before sending URB request, USB service end needs to carry out capability negotiation with USB client, also supports this optimization in USB client In the case of, USB service end just can enable this acceleration function, otherwise can only process by original mode it is ensured that compatibility.
Additionally, it is provided that management configuration policy mechanism in implementing, to carry out the overall situation and to be uniformly controlled or be directed to The Partial controll of property.When for example, for there is multiple USB storage device on main frame, can be as needed to portion therein USB storage device is divided to open the optimization function of the embodiment of the present invention, other processing modes still adopting prior art, the present invention Embodiment is not construed as limiting to this.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Fig. 4 shows the indicative flowchart of another information processing method 400 of the embodiment of the present invention.The method 400 can With the application scenarios 100 being applied in Fig. 1, but embodiment of the present invention not limited to this.
In S401, USB storage driving sends CBW request to USB service end;
In S402, this USB service end receives this CBW request, and sends this CBW request to USB client;
In S403, this USB client receives this CBW request, and sends this CBW request to USB storage device;
In S404, this USB storage device receives this CBW request, and processes this CBW request, thus obtaining this CBW request Result;
In S405, this USB storage device sends the result of this CBW request to this USB client;
In S406, this USB client receives the result of this CBW request, is in the result of this CBW request In the case of work(, construction CSW request corresponding with this CBW request;
In S407, this USB client sends this CSW request to this USB storage device;
In S408, this USB storage device receives this CSW request, and processes this CSW request, thus obtaining this CSW request Result;
In S409, this USB storage device sends the result of this CSW request to this USB client;
In S410, this USB client sends result and this CSW request of this CBW request to this USB service end Result
In S411, this USB service end receives the result of this CBW request and the result of this CSW request, and protects Deposit the result of this CSW request;
In S412, this USB service end sends the result of this CBW request to this USB storage driving;
In S413, this USB storage driving receives the result of this CBW request, and the process knot according to this CBW request Fruit sends this CSW request;
In S414, this USB service end receives this CSW request, directly sends the result of this CSW preserving request To this USB storage driving.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Fig. 5 shows the indicative flowchart of another information processing method 500 of the embodiment of the present invention.The method 500 can With the application scenarios 100 being applied in Fig. 1, but embodiment of the present invention not limited to this.
In S501, USB storage driving sends CBW request to USB service end;
In S502, this USB service end receives this CBW request, and generates the estimated result that this CBW asks, this CBW The estimated result of request is successfully;
In S503, this USB service end sends the estimated result of this CBW request to this USB storage driving;
In S504, this USB storage driving receives the estimated result of this CBW request of this USB service end transmission, and According to the estimated result of this CBW request, send DATA request;
This DATA request can be DATA-in request or DATA-out request, and the embodiment of the present invention is not made to this Limit.
In S505, this USB service end receives this DATA request, and sends this CBW request and this DATA to USB client Request;
In S506, this USB client receives this CBW request and this DATA request, and should to USB storage device transmission CBW asks;
In S507, this USB storage device receives this CBW request, and processes this CBW request, thus obtaining this CBW request Result;
In S508, this USB storage device sends the result of this CBW request to this USB client;
In S509, this USB client receives the result of this CBW request, is in the result of this CBW request In the case of work(, this USB client sends this DATA request to this USB storage device;
In S510, this USB storage device receives this DATA request, and processes this DATA request, thus obtaining this DATA The result of request;
In S511, this USB storage device sends the result of this DATA request to this USB client;
In S512, this USB client receives the result of this DATA request, in the result of this DATA request is In the case of successfully, according to this CBW request and this DATA request, construction CSW request;
In S513, this USB client sends this CSW request to this USB storage device;
In S514, this USB storage device receives this CSW request, and processes this CSW request, thus obtaining this CSW request Result;
In S515, this USB storage device sends the result of this CSW request to this USB client;
In S516, this USB client receives the result of this CSW request, and sends this DATA to this USB service end The result of request and the result of this CSW request;
In S517, this USB service end receives the result of this DATA request and the result of this CSW request, and Preserve the result of this CSW request;
In S518, this USB service end sends the result of this DATA request to this USB storage driving;
In S519, this USB storage driving receives the result of this DATA request, and the process according to this DATA request Result sends this CSW request;
In S520, this USB service end receives this CSW request, directly sends the result of this CSW preserving request To this USB storage driving.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Fig. 6 shows the indicative flowchart of another information processing method 600 of the embodiment of the present invention.The method 600 can With the application scenarios 100 being applied in Fig. 1, but embodiment of the present invention not limited to this.
In S601, USB storage driving sends CBW request to USB service end;
In S602, this USB service end receives this CBW request, and generates the estimated result that this CBW asks, this CBW The estimated result of request is successfully;
In S603, this USB service end sends the estimated result of this CBW request to this USB storage driving;
In S604, this USB storage driving receives the estimated result of this CBW request of this USB service end transmission, and According to the estimated result of this CBW request, send CSW request;
In S605, this USB service end receive this CSW request, and to USB client send this CBW request and this CSW please Ask;
In S606, this USB client receives this CBW request and this CSW request, and sends this CBW to USB storage device Request;
In S607, this USB storage device receives this CBW request, and processes this CBW request, thus obtaining this CBW request Result;
In S608, this USB storage device sends the result of this CBW request to this USB client;
In S609, this USB client receives the result of this CBW request, is in the result of this CBW request In the case of work(, this USB client sends this CSW request to this USB storage device;
In S610, this USB storage device receives this CSW request, and processes this CSW request, thus obtaining this CSW request Result;
In S611, this USB storage device sends the result of this CSW request to this USB client;
In S612, this USB client receives the result of this CSW request, and sends this CSW to this USB service end The result of request;
In S613, this USB service end receives the result of this CSW request, and should to the transmission of this USB storage driving The result of CSW request.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Fig. 7 shows the indicative flowchart of another information processing method 700 of the embodiment of the present invention.The method 700 can With the application scenarios 100 being applied in Fig. 1, but embodiment of the present invention not limited to this.
In S701, USB storage driving sends CBW request to USB service end;
In S702, this USB service end receives this CBW request, and sends this CBW request to USB client;
In S703, this USB client receives this CBW request, and sends this CBW request to USB storage device;
In S704, this USB storage device receives this CBW request, and processes this CBW request, thus obtaining this CBW request Result;
In S705, this USB storage device sends the result of this CBW request to this USB client;
In S706, this USB client receives the result of this CBW request, is in the result of this CBW request In the case of work(, construction and this CBW request corresponding reading data DATA-in are asked;
In S707, this USB client sends this DATA-in request to this USB storage device;
In S708, this USB storage device receives this DATA-in request, and processes this DATA-in request, thus obtaining The result of this DATA-in request;
In S709, this USB storage device sends the result of this DATA-in request to this USB client;
In S710, this USB client receives the result of this DATA-in request, in the process of this DATA-in request In the case of result is successful, according to this CBW request and this DATA-in request, construction CSW request;
In S711, this USB client sends this CSW request to this USB storage device;
In S712, this USB storage device receives this CSW request, and processes this CSW request, thus obtaining this CSW request Result;
In S713, this USB storage device sends the result of this CSW request to this USB client;
In S714, this USB client receives the result of this CSW request, and sends this CBW to this USB service end The result of the result of request, the result of this DATA-in request and this CSW request;
In S715, this USB service end receive this CBW request result, this DATA-in request result with And the result of this CSW request, and preserve the result of this DATA-in request and the result of this CSW request;
In S716, this USB service end sends the result of this CBW request to this USB storage driving;
In S717, this USB storage driving receives the result of this CBW request, and the process knot according to this CBW request Fruit sends this DATA-in request to this USB service end;
In S718, this USB service end receives this DATA-in request, and directly sends preservation to this USB storage driving The result of this DATA-in request;
In S719, this USB storage driving receives the result of this DATA-in request, and is asked according to this DATA-in Result to this USB service end send this CSW request;
In S720, this USB service end receives this CSW request, and directly sends being somebody's turn to do of preservation to this USB storage driving The result of CSW request.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Fig. 8 shows the indicative flowchart of another information processing method 800 of the embodiment of the present invention.The method 800 can With the application scenarios 100 being applied in Fig. 1, but embodiment of the present invention not limited to this.
In S801, USB storage driving sends CBW request to USB service end;
In S802, this USB service end receives this CBW request, and sends this CBW request to USB client;
In S803, this USB client receives this CBW request, and sends this CBW request to USB storage device;
In S804, this USB storage device receives this CBW request, and processes this CBW request, thus obtaining this CBW request Result;
In S805, this USB storage device sends the result of this CBW request to this USB client;
In S806, this USB client receives the result of this CBW request, and sends this CBW to this USB service end The result of request;
In S807, this USB service end receives the result of this CBW request, and should to the transmission of this USB storage driving The result of CBW request;
In S808, this USB storage driving receives the result of this CBW request, and the process knot according to this CBW request Really, send to this USB service end and write the request of data DATA-out;
In S809, this USB service end receives this DATA-out request, and generates the estimated process of this DATA-out request As a result, the estimated result of this DATA-out request is successfully;
In S810, this USB service end sends the estimated result of this DATA-out request to this USB storage driving;
In S811, this USB storage driving receives the estimated result of this DATA-out request, and according to this DATA- The estimated result of out request, sends CSW request to this USB service end;
In S812, this USB service end receive this CSW request, and to this USB client send this DATA-out request and This CSW asks;
In S813, this USB client receives this DATA-out request and this CSW request, and sends out to this USB storage device This DATA-out is given to ask;
In S814, this USB storage device receives this DATA-out request, and processes this DATA-out request, thus obtaining Obtain the result of this DATA-out request;
In S815, this USB storage device sends the result of this DATA-out request to this USB client;
In S816, this USB client receives the result of this DATA-out request, and in this DATA-out request In the case of result is successful, send this CSW request to this USB storage device;
In S817, this USB storage device receives this CSW request, and processes this CSW request, thus obtaining this CSW request Result;
In S818, this USB storage device sends the result of this CSW request to this USB client;
In S819, this USB client receives the result of this CSW request, and sends this CSW to this USB service end The result of request;
In S820, this USB service end receives the result of this CSW request, and should to the transmission of this USB storage driving The result of CSW request.
It should be understood that the size of the sequence number of above-mentioned each process is not meant to the priority of execution sequence, the execution of each process is suitable Sequence should be determined with its function and internal logic, and should not constitute any restriction to the implementation process of the embodiment of the present invention.
Above in conjunction with Fig. 1 to Fig. 8, describe information processing method according to embodiments of the present invention in detail, will tie below Close Fig. 9 to Figure 16, describe information processor according to embodiments of the present invention in detail.
Fig. 9 shows information processor 900 provided in an embodiment of the present invention, and this device 900 includes:
Receiving unit 910, for receiving the first request of USB storage driving transmission;
Signal generating unit 920, for according to this first request, generate this first request estimated result, this first please The estimated result asked represents and processes successfully;
Transmitting element 930, for sending the estimated result of this first request to this USB storage driving;
This receiving unit 910 is additionally operable to:Receive this USB storage driving to be sent according to the estimated result of this first request Second request;
This transmitting element 930 is additionally operable to:Send this first request and this second request to USB client.
The information processor of the embodiment of the present invention, generates the estimated result of the first request, root by USB service end According to this first request estimated result first obtain the second request, retransmit this first request and this second ask to USB visitor This first request and this second request are respectively sent to USB storage device and are processed by USB client, can subtract by family end Few USB service end and the interaction times of USB client, improve the information processing rate of USB storage device, thus improving user's body Test.
Alternatively, this first ask for command block wrapper CBW request or write data DATA-out request, wherein, when this First when asking to ask for this CBW, and this second is asked as reading the request of data DATA-in, this DATA-out request or coomand mode Wrapper CSW ask, when this first ask ask for this DATA-out when, this second ask for this CSW request.
Alternatively, this first ask for this CBW ask, this second ask be this DATA-in request or this DATA-out please Ask, this receiving unit 910 is additionally operable to:After this sends this first request and this second request to USB client, receiving should The result of this second request and the result of this CSW request corresponding with this CBW request that USB client sends;Should Device also includes:This transmitting element 930 is additionally operable to:Send the result of this second request to this USB storage driving.
Alternatively, this receiving unit 910 is additionally operable to:Receive the result according to this second request for this USB storage driving This CSW request sending;This transmitting element 930 is additionally operable to:Send the result of this CSW request to this USB storage driving.
It should be understood that device 900 here is embodied in the form of functional unit.Here it is special that term " unit " can refer to application There are integrated circuit (Application Specific Integrated Circuit, ASIC), electronic circuit, be used for execution one The processor (such as shared processor, proprietary processor or group processor etc.) of individual or multiple software or firmware program and storage Device, merging logic circuit and/or other suitable assembly supporting described function.In an optional example, this area skill Art personnel are appreciated that device 900 can be specially the USB service end in above-described embodiment, and device 900 can be used in execution State each flow process corresponding with this USB service end and/or step in embodiment of the method, for avoiding repeating, will not be described here.
Figure 10 shows another information processor 1000 provided in an embodiment of the present invention, and this device 1000 includes:
Receiving unit 1010, for receiving the first request and second request of the transmission of USB service end;
Transmitting element 1020, for sending this first request to USB storage device;
This receiving unit 1010 is additionally operable to:Receive the result of this first request of this USB storage device transmission;
This transmitting element 1020 is additionally operable to:In the case of the result of this first request is successful, set to USB storage Preparation gives this second request;
This receiving unit 1010 is additionally operable to:Receive the result of this second request of this USB storage device transmission.
The information processor of the embodiment of the present invention, is receiving the first of USB storage device transmission by USB client After the result of request, directly the second request is constructed according to the first request, this second request is sent to this USB storage Equipment is processed, and obtains the result of the second request, and the place by the result of the first request and the second request in advance Reason result sends jointly to USB service end, can reduce the interaction times of USB service end and USB client, improves USB storage The information processing rate of equipment, thus improve Consumer's Experience.
Alternatively, this first ask for command block wrapper CBW request or write data DATA-out request, wherein, when this First when asking to ask for this CBW, and this second is asked as reading the request of data DATA-in, this DATA-out request or coomand mode Wrapper CSW ask, when this first ask ask for this DATA-out when, this second ask for this CSW request.
Alternatively, this first ask for this CBW ask, this second ask be this DATA-in request or this DATA-out please Ask, this device also includes:Structural unit, the result of this second request for sending in this USB storage device of this reception Afterwards, process successfully if the result of this second request represents, construction this CSW request corresponding with this CBW request;This Unit is sent to be additionally operable to:Send this CSW request to this USB storage device;This receiving unit is additionally operable to:Receive this USB storage device The result of this CSW request sending;This transmitting element 1020 is additionally operable to:Send this second request to this USB service end Result and the result of this CSW request.
It should be understood that device 1000 here is embodied in the form of functional unit.Here term " unit " can refer to apply Peculiar integrated circuit (Application Specific Integrated Circuit, ASIC), electronic circuit, it is used for executing The processor (such as shared processor, proprietary processor or group processor etc.) of one or more softwares or firmware program and storage Device, merging logic circuit and/or other suitable assembly supporting described function.In an optional example, this area skill Art personnel are appreciated that the USB client that device 1000 can be specially in above-described embodiment, and device 1000 can be used for executing Each flow process corresponding with this USB client and/or step in said method embodiment, for avoiding repeating, will not be described here.
Figure 11 shows another information processor 1100 provided in an embodiment of the present invention, and this device 1100 includes:
Receiving unit 1110, for receiving the first request of USB storage driving transmission;
Transmitting element 1120, for sending this first request to USB client;
This receiving unit 1110 is additionally operable to:Receive this first request that this USB client sends according to this first request Result and the result of second request corresponding with this first request.
Alternatively, this first ask for command block wrapper CBW request, read data DATA-in request or write data DATA- Out ask, wherein, when this first ask ask for this CBW when, this second ask for this DATA-in request, this DATA-out ask Ask or coomand mode wrapper CSW request, when this first ask ask for this DATA-out when, this second ask for this CSW ask Ask.
Alternatively, this device also includes:This transmitting element 1120 is additionally operable to:To this USB storage driving send this first please The result asked;This receiving unit 1110 is additionally operable to:Receive this USB storage driving to be sent out according to the result of this first request This second request sent;This transmitting element 1120 is additionally operable to:Send the result of this second request to this USB storage driving.
Alternatively, this first ask for this CBW ask, this second ask for this DATA-in ask, this receiving unit 1110 Specifically for:Receive this USB client transmission this CBW request result, this DATA-in request result and The result of this CSW request.
Alternatively, this transmitting element 1120 is additionally operable to:Send the result of this CBW request to this USB storage driving;Should Receiving unit 1110 is additionally operable to:Receiving this USB storage driving please according to this DATA-in that the result that this CBW asks sends Ask;This transmitting element 1120 is additionally operable to:Send the result of this DATA-in request to this USB storage driving;This receiving unit 1110 are additionally operable to:Receive this CSW request that this USB storage driving sends according to the result that this DATA-in asks;This transmission Unit 1120 is additionally operable to:Send the result of this CSW request to this USB storage driving.
It should be understood that device 1100 here is embodied in the form of functional unit.Here term " unit " can refer to apply Peculiar integrated circuit (Application Specific Integrated Circuit, ASIC), electronic circuit, it is used for executing The processor (such as shared processor, proprietary processor or group processor etc.) of one or more softwares or firmware program and storage Device, merging logic circuit and/or other suitable assembly supporting described function.In an optional example, this area skill Art personnel are appreciated that device 1100 can be specially the USB service end in above-described embodiment, and device 1100 can be used for executing Each flow process corresponding with this USB service end and/or step in said method embodiment, for avoiding repeating, will not be described here.
Figure 12 shows another information processor 1200 provided in an embodiment of the present invention, and this device 1200 includes:
Receiving unit 1210, for receiving the first request of USB service end transmission;
Transmitting element 1220, for sending this first request to USB storage device;
This receiving unit 1210 is additionally operable to:Receive the result of this first request of this USB storage device transmission;
Structural unit 1230, for the result in this first request be successfully in the case of, construction first please with this Ask corresponding second request;
This transmitting element 1220 is additionally operable to:Send this second request to this USB storage device;
This receiving unit 1210 is additionally operable to:Receive the result of this second request of this USB storage device transmission;
This transmitting element 1220 is additionally operable to:Send result and this second request of this first request to USB service end Result.
Alternatively, this first ask for command block wrapper CBW request, read data DATA-in request or write data DATA- Out ask, wherein, when this first ask ask for this CBW when, this second ask for this DATA-in request, this DATA-out ask Ask or coomand mode wrapper CSW request, when this first ask ask for this DATA-out when, this second ask for this CSW ask Ask.
Alternatively, this first asks to ask for this CBW, and this second asks to ask for this DATA-in, and this structural unit also uses In:Before this sends the result of this first request and the result of this second request to USB service end, at this In the case of the result of DATA-in request is successful, construction this CSW request corresponding with this DATA-in request;This transmission Unit 1220 is additionally operable to:Send this CSW request to this USB storage device;This receiving unit 1210 is additionally operable to:Receive this USB to deposit The result of this CSW request that storage equipment sends;This transmitting element 1220 specifically for:Sending this CBW to USB service end please The result of the result, the result of this DATA-in request and this CSW request asked.
It should be understood that device 1200 here is embodied in the form of functional unit.Here term " unit " can refer to apply Peculiar integrated circuit (Application Specific Integrated Circuit, ASIC), electronic circuit, it is used for executing The processor (such as shared processor, proprietary processor or group processor etc.) of one or more softwares or firmware program and storage Device, merging logic circuit and/or other suitable assembly supporting described function.In an optional example, this area skill Art personnel are appreciated that the USB client that device 1200 can be specially in above-described embodiment, and device 1200 can be used for executing Each flow process corresponding with this USB client and/or step in said method embodiment, for avoiding repeating, will not be described here.
Figure 13 shows another information processor 1300 provided in an embodiment of the present invention.This device 1300 includes at least one Individual processor 1301, memorizer 1302 and communication interface 1303;At least one processor 1301 described, described memorizer 1302 and Described communication interface 1303 is all connected by bus 1304;
Described memorizer 1302, for storing computer executed instructions;
At least one processor 1301 described, for executing the computer executed instructions of described memorizer 1302 storage, makes Described device 1300 can carry out data interaction by described communication interface 1303 and other devices to execute said method real The information processing method of example offer is provided.
Wherein, this at least one processor 1301 is used for executing following operation:
The first request that USB storage driving sends is received by this communication interface 1303;
According to this first request, generate the estimated result of this first request, the estimated result of this first request Represent and process successfully;
Send the estimated result of this first request by this communication interface 1303 to this USB storage driving;
Receive what this USB storage driving sent according to the estimated result of this first request by this communication interface 1303 Second request;
This first request and this second request are sent to USB client by this communication interface 1303.
Alternatively, this first ask for command block wrapper CBW request or write data DATA-out request, wherein, when this First when asking to ask for this CBW, and this second is asked as reading the request of data DATA-in, this DATA-out request or coomand mode Wrapper CSW ask, when this first ask ask for this DATA-out when, this second ask for this CSW request.
Alternatively, this first ask for this CBW ask, this second ask be this DATA-in request or this DATA-out please Ask, this at least one processor 1301 is additionally operable to:After this sends this first request and this second request to USB client, Receive the result of this second request of this USB client transmission and this USB client asks construct to be somebody's turn to do according to this CBW The result of CSW request;Send the result of this second request to this USB storage driving.
Alternatively, at least one processor 1301 is additionally operable to:Receive the process according to this second request for this USB storage driving This CSW request that result sends;Send the result of this CSW request to this USB storage driving.
It should be understood that device 1300 can be specially the USB service end in above-described embodiment, and can be used for executing above-mentioned Each step corresponding with USB service end and/or flow process in embodiment of the method.
Figure 14 shows another information processor 1400 provided in an embodiment of the present invention.This device 1400 includes at least one Individual processor 1401, memorizer 1402 and communication interface 1403;At least one processor 1401 described, described memorizer 1402 and Described communication interface 1403 is all connected by bus 1404;
Described memorizer 1402, for storing computer executed instructions;
At least one processor 1401 described, for executing the computer executed instructions of described memorizer 1402 storage, makes Described device 1400 can carry out data interaction by described communication interface 1403 and other devices to execute said method real The information processing method of example offer is provided.
Wherein, this at least one processor 1401 is used for executing following operation:
The first request and the second request that USB service end sends is received by this communication interface 1403;
This first request is sent to USB storage device by this communication interface 1403;
Receive the result of this first request that this USB storage device sends by this communication interface 1403;
By this communication interface 1403 in the case of the result of this first request is successful, to USB storage device Send this second request;
Receive the result of this second request that this USB storage device sends by this communication interface 1403.
Alternatively, this first ask for command block wrapper CBW request or write data DATA-out request, wherein, when this First when asking to ask for this CBW, and this second is asked as reading the request of data DATA-in, this DATA-out request or coomand mode Wrapper CSW ask, when this first ask ask for this DATA-out when, this second ask for this CSW request.
Alternatively, this first ask for this CBW ask, this second ask be this DATA-in request or this DATA-out please Ask, this at least one processor 1401 is used for:This USB storage device of this reception send this second request result it Afterwards, process successfully if the result of this second request represents, asked according to this CBW, construct this CSW request;Deposit to this USB Storage equipment sends this CSW request;Receive the result of this CSW request of this USB storage device transmission;To this USB service end Send the result of this second request and the result of this CSW request.
It should be understood that device 1400 can be specially the USB client in above-described embodiment, and can be used for executing above-mentioned Each step corresponding with USB client and/or flow process in embodiment of the method.
Figure 15 shows another information processor 1500 provided in an embodiment of the present invention.This device 1500 includes at least one Individual processor 1501, memorizer 1502 and communication interface 1503;At least one processor 1501 described, described memorizer 1502 and Described communication interface 1503 is all connected by bus 1504;
Described memorizer 1502, for storing computer executed instructions;
At least one processor 1501 described, for executing the computer executed instructions of described memorizer 1502 storage, makes Described device 1500 can carry out data interaction by described communication interface 1503 and other devices to execute said method real The information processing method of example offer is provided.
Wherein, this at least one processor 1501 is used for executing following operation:
The first request that USB storage driving sends is received by this communication interface 1503;
This first request is sent to USB client by this communication interface 1503;
Receive the process of this first request that this USB client sends according to this first request by this communication interface 1503 Result and the result of second request corresponding with this first request.
Alternatively, this first ask for command block wrapper CBW request, read data DATA-in request or write data DATA- Out ask, wherein, when this first ask ask for this CBW when, this second ask for this DATA-in request, this DATA-out ask Ask or coomand mode wrapper CSW request, when this first ask ask for this DATA-out when, this second ask for this CSW ask Ask.
Alternatively, this at least one processor 1501 is used for:Send the process knot of this first request to this USB storage driving Really;Receive this second request that this USB storage driving sends according to the result of this first request;To this USB storage driving Send the result of this second request.
Alternatively, this first asks to ask for this CBW, and this second asks to ask for this DATA-in, this at least one process Device 1501 specifically for:Receive the result of this CBW request of this USB client transmission, the process knot of this DATA-in request Fruit and the result of this CSW request.
Alternatively, this at least one processor 1501 is additionally operable to:Send the process of this CBW request to this USB storage driving Result;Receive this DATA-in request that this USB storage driving sends according to the result that this CBW asks;To this USB storage Drive the result sending this DATA-in request;Receive the result that this USB storage driving is asked according to this DATA-in This CSW request sending;Send the result of this CSW request to this USB storage driving.
It should be understood that device 1500 can be specially the USB service end in above-described embodiment, and can be used for executing above-mentioned Each step corresponding with USB service end and/or flow process in embodiment of the method.
Figure 16 shows another information processor 1600 provided in an embodiment of the present invention.This device 1600 includes at least one Individual processor 1601, memorizer 1602 and communication interface 1603;At least one processor 1601 described, described memorizer 1602 and Described communication interface 1603 is all connected by bus 1604;
Described memorizer 1602, for storing computer executed instructions;
At least one processor 1601 described, for executing the computer executed instructions of described memorizer 1602 storage, makes Described device 1600 can carry out data interaction by described communication interface 1603 and other devices to execute said method real The information processing method of example offer is provided.
Wherein, this at least one processor 1601 is used for executing following operation:
The first request that USB service end sends is received by this communication interface 1603;
This first request is sent to USB storage device by this communication interface 1603;
Receive the result of this first request that this USB storage device sends by this communication interface 1603;
In the case of the result of this first request is successful, construction second request corresponding with this first request;
This second request is sent to this USB storage device by this communication interface 1603;
Receive the result of this second request that this USB storage device sends by this communication interface 1603;
Send the result of this first request and the place of this second request by this communication interface 1603 to USB service end Reason result.
Alternatively, this first ask for command block wrapper CBW request, read data DATA-in request or write data DATA- Out ask, wherein, when this first ask ask for this CBW when, this second ask for this DATA-in request, this DATA-out ask Ask or coomand mode wrapper CSW request, when this first ask ask for this DATA-out when, this second ask for this CSW ask Ask.
Alternatively, this first asks to ask for this CBW, and this second asks to ask for this DATA-in, this at least one process Device 1601 is additionally operable to:This to USB service end send this first request result and this second request result it Before, in the case of the result of this DATA-in request is successful, asked according to this DATA-in, construct this CSW request;To This USB storage device sends this CSW request;Receive the result of this CSW request of this USB storage device transmission;To USB clothes Business end sends the result of the result of this CBW request, the result of this DATA-in request and this CSW request.
It should be understood that device 1600 can be specially the USB client in above-described embodiment, and can be used for executing above-mentioned Each step corresponding with USB client and/or flow process in embodiment of the method.
It should be understood that in embodiments of the present invention, at least one processor can include different types of processor, or bag Include the processor of same type;Processor can be following any one:Central processing unit (Central Processing Unit, referred to as " CPU "), arm processor, field programmable gate array (Field Programmable Gate Array, letter Referred to as " FPGA "), application specific processor etc. has the device calculating disposal ability.A kind of optional embodiment, this at least one at Reason device can also be integrated into many-core processor.
Memorizer can be following any one or any one combination:Random access memory (Random Access Memory, referred to as " RAM "), read only memory (read only memory, referred to as " ROM "), nonvolatile memory (non-volatile memory, referred to as " NVM "), solid state hard disc (Solid State Drives, referred to as " SSD "), machine The storage mediums such as tool hard disk, disk, disk permutation.
Communication interface is used for the data interaction between this device and other equipment.Communication interface can be following any one Or any one combination:Network interface (such as Ethernet interface), wireless network card etc. have the device of network access facility.
This bus can include address bus, data/address bus, controlling bus etc., for ease of representing, in Figure 13 to Figure 16 Represent this bus with a thick line.Bus can be following any one or any one combination:Industry standard architecture (Industry Standard Architecture, referred to as " ISA ") bus, peripheral component interconnection (Peripheral Component Interconnect, referred to as " PCI ") bus, EISA (Extended Industry Standard Architecture, referred to as " EISA ") wired data transfer such as bus device.
During realizing, each step of said method can by the integrated logic circuit of hardware in processor or The instruction of software form completes.Step in conjunction with the method disclosed in the embodiment of the present invention can be embodied directly in hardware processor Execution completes, or is completed with the hardware in processor and software module combination execution.Software module may be located at random storage Device, flash memory, read only memory, this area such as programmable read only memory or electrically erasable programmable memory, depositor becomes In ripe storage medium.This storage medium is located at memorizer, the instruction in computing device memorizer, completes in conjunction with its hardware The step stating method.For avoiding repeating, it is not detailed herein.
It should be understood that the terms "and/or", a kind of only incidence relation of description affiliated partner, expression can be deposited In three kinds of relations, for example, A and/or B, can represent:, there are A and B, these three situations of individualism B in individualism A simultaneously. In addition, character "/" herein, typically represent forward-backward correlation to as if a kind of relation of "or".
Those of ordinary skill in the art are it is to be appreciated that combine the list of each example of the embodiments described herein description Unit and algorithm steps, can be with electronic hardware, computer software or the two be implemented in combination in, in order to clearly demonstrate hardware With the interchangeability of software, generally describe composition and the step of each example in the above description according to function.This A little functions to be executed with hardware or software mode actually, the application-specific depending on technical scheme and design constraint.Specially Industry technical staff can use different methods to each specific application realize described function, but this realization is not It is considered as beyond the scope of this invention.
Those skilled in the art can be understood that, for convenience and simplicity of description, the system of foregoing description, Device and the specific work process of unit, may be referred to the corresponding process in preceding method embodiment, will not be described here.
It should be understood that disclosed system, apparatus and method in several embodiments provided herein, permissible Realize by another way.For example, device embodiment described above is only schematically, for example, described unit A kind of segmentation, only logic function segmentation, actual can have other partitioning scheme when realizing, for example multiple units or assembly Can in conjunction with or be desirably integrated into another system, or some features can be ignored, or does not execute.Another, shown or The coupling each other discussing or direct-coupling or communication connection can be by some interfaces, the indirect coupling of device or unit Close or communicate to connect, can be electrical, mechanical or other forms.
The described unit illustrating as separating component can be or may not be physically separate, show as unit The part showing can be or may not be physical location, you can with positioned at a place, or can also be distributed to multiple On NE.The mesh to realize this embodiment scheme for some or all of unit therein can be selected according to the actual needs 's.
In addition, can be integrated in a processing unit in each functional unit in each embodiment of the present invention it is also possible to It is that unit is individually physically present it is also possible to two or more units are integrated in a unit.Above-mentioned integrated list Unit both can be to be realized in the form of hardware, it would however also be possible to employ the form of SFU software functional unit is realized.
If described integrated unit is realized and as independent production marketing or use using in the form of SFU software functional unit When, can be stored in a computer read/write memory medium.Based on such understanding, technical scheme is substantially The part in other words prior art being contributed or all or part of this technical scheme can be in the form of software products Embody, this computer software product is stored in a storage medium, including some instructions with so that a computer Equipment (can be personal computer, server, or network equipment etc.) executes the complete of each embodiment methods described of the present invention Portion or part steps.And aforesaid storage medium includes:USB flash disk, portable hard drive, read only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disc or CD etc. are various can store journey The medium of sequence code.
The above, the only specific embodiment of the present invention, but protection scope of the present invention is not limited thereto, and any Those familiar with the art the invention discloses technical scope in, change or replacement can be readily occurred in, all should contain Cover within protection scope of the present invention.Therefore, protection scope of the present invention should described be defined by scope of the claims.

Claims (22)

1. a kind of information processing method is it is characterised in that include:
USB service end receives the first request that USB storage driving sends;
Described USB service end, according to the described first request, generates the estimated result of described first request, described first request Estimated result represent and process successfully;
Described USB service end sends the estimated result of described first request to described USB storage driving;
Described USB service end receives second that described USB storage driving sends according to the estimated result of the described first request Request;
Described USB service end sends described first request and described second request to USB client.
2. method according to claim 1 it is characterised in that described first ask for CBW ask, described second ask be DATA-in request or DATA-out request,
After described USB service end sends described first request and described second request to USB client, methods described is also wrapped Include:
Described USB service end is received the result of described second request of described USB client transmission and is asked with described CBW The result of corresponding CSW request;
Described USB service end sends the result of described second request to described USB storage driving.
3. method according to claim 2 is it is characterised in that methods described also includes:
Described USB service end receives described USB storage driving please according to the described CSW that the result of the described second request sends Ask;
Described USB service end sends the result of described CSW request to described USB storage driving.
4. a kind of information processing method is it is characterised in that include:
USB client receives the first request and the second request that USB service end sends;
Described USB client sends described first request to USB storage device;
Described USB client receives the result of described first request that described USB storage device sends;
In the case of the result of the described first request is successful, described USB client sends described to USB storage device Second request;
Described USB client receives the result of described second request that described USB storage device sends.
5. method according to claim 4 it is characterised in that described first ask for CBW ask, described second ask be DATA-in request or DATA-out request,
After described USB client receives the result of described second request that described USB storage device sends, described side Method also includes:
If the result of described second request represents processing successfully, described USB client construction is corresponding with described CBW request CSW request;
Described USB client sends described CSW request to described USB storage device;
Described USB client receives the result of the described CSW request that described USB storage device sends;
Described USB client sends the result of described second request and the process of described CSW request to described USB service end Result.
6. a kind of information processing method is it is characterised in that include:
USB service end receives the first request that USB storage driving sends;
Described USB service end sends described first request to USB client;
Described USB service end receives the process knot of described first request that described USB client sends according to the described first request Fruit and the result of second request corresponding with the described first request.
7. method according to claim 6 is it is characterised in that methods described also includes:
Described USB service end sends the result of described first request to described USB storage driving;
Described USB service end receives described second that described USB storage driving sends according to the result of the described first request Request;
Described USB service end sends the result of described second request to described USB storage driving.
8. method according to claim 6 it is characterised in that described first ask for CBW ask, described second ask be DATA-in asks,
Described USB service end receives the process knot of described first request that described USB client sends according to the described first request Fruit and the result of second request corresponding with the described first request, including:
Described USB service end receives the result of described CBW request, the described DATA-in request that described USB client sends Result and the result with described CBW request corresponding CSW request.
9. method according to claim 8 is it is characterised in that methods described also includes:
Described USB service end sends the result of described CBW request to described USB storage driving;
Described USB service end receives the described DATA- that described USB storage driving sends according to the result that described CBW asks In asks;
Described USB service end sends the result of described DATA-in request to described USB storage driving;
Described USB service end receives described USB storage driving according to the result that described DATA-in asks sends CSW asks;
Described USB service end sends the result of described CSW request to described USB storage driving.
10. a kind of information processing method is it is characterised in that include:
USB client receives the first request that USB service end sends;
Described USB client sends described first request to USB storage device;
Described USB client receives the result of described first request that described USB storage device sends;
In the case of the result of the described first request is successful, described USB client construction is right with the described first request The second request answered;
Described USB client sends described second request to described USB storage device;
Described USB client receives the result of described second request that described USB storage device sends;
Described USB client sends the result of described first request and the process knot of described second request to USB service end Really.
It is characterised in that described first asks to ask for CBW, described second asks 11. methods according to claim 10 Ask for DATA-in,
Send the result of described first request and the process of described second request in described USB client to USB service end Before result, methods described also includes:
In the case of the result of described DATA-in request is successful, described USB client constructs and described DATA-in Ask corresponding CSW request;
Described USB client sends described CSW request to described USB storage device;
Described USB client receives the result of the described CSW request that described USB storage device sends;
Described USB client sends the result of described first request and the process knot of described second request to USB service end Really, including:
Described USB client sends the result of described CBW request, the process knot of described DATA-in request to USB service end Fruit and the result of described CSW request.
A kind of 12. information processors are it is characterised in that include:
Receiving unit, for receiving the first request of USB storage driving transmission;
Signal generating unit, for according to the described first request, generating the estimated result of described first request, described first request Estimated result represent and process successfully;
Transmitting element, for sending the estimated result of described first request to described USB storage driving;
Described receiving unit is additionally operable to:Receive described USB storage driving to be sent according to the estimated result of the described first request Second request;
Described transmitting element is additionally operable to:Send described first request and described second request to USB client.
It is characterised in that described first asks to ask for CBW, described second asks 13. devices according to claim 12 It is that DATA-in asks or DATA-out request,
Described receiving unit is additionally operable to:Described to after described first request of USB client transmission and described second request, connect Receive the described USB client result of described second request sending and the process asking corresponding CSW request with described CBW Result;
Described transmitting element is additionally operable to:Send the result of described second request to described USB storage driving.
14. devices according to claim 13 are it is characterised in that described receiving unit is additionally operable to:
Receive the described CSW request that described USB storage driving sends according to the result of the described second request;
Described transmitting element is additionally operable to:Send the result of described CSW request to described USB storage driving.
A kind of 15. information processors are it is characterised in that include:
Receiving unit, for receiving the first request and second request of the transmission of USB service end;
Transmitting element, for sending described first request to USB storage device;
Described receiving unit is additionally operable to:Receive the result of described first request that described USB storage device sends;
Described transmitting element is additionally operable to:In the case of the result of the described first request is successful, send out to USB storage device Send described second request;
Described receiving unit is additionally operable to:Receive the result of described second request that described USB storage device sends.
It is characterised in that described first asks to ask for CBW, described second asks 16. devices according to claim 15 It is that DATA-in asks or DATA-out request,
Described device also includes:
Structural unit, for after the described result receiving described second request that described USB storage device sends, if The result of described second request represents and processes successfully, then construction asks corresponding CSW to ask with described CBW;
Described transmitting element is additionally operable to:Send described CSW request to described USB storage device;
Described receiving unit is additionally operable to:Receive the result of the described CSW request that described USB storage device sends;
Described transmitting element is additionally operable to:Send result and the described CSW request of described second request to described USB service end Result.
A kind of 17. information processors are it is characterised in that include:
Receiving unit, for receiving the first request of USB storage driving transmission;
Transmitting element, for sending described first request to USB client;
Described receiving unit is additionally operable to:Receive described first request that described USB client sends according to the described first request Result and the result of second request corresponding with the described first request.
18. devices according to claim 17 are it is characterised in that described transmitting element is additionally operable to:Store to described USB and drive The dynamic result sending described first request;
Described receiving unit is additionally operable to:Receive the institute that described USB storage driving sends according to the result of the described first request State the second request;
Described transmitting element is additionally operable to:Send the result of described second request to described USB storage driving.
It is characterised in that described first asks to ask for CBW, described second asks 19. devices according to claim 17 Ask for DATA-in,
Described receiving unit specifically for:Receive the result of described CBW request that described USB client sends, described The result of DATA-in request and the result of CSW request corresponding with described CBW request.
20. devices according to claim 19 are it is characterised in that described transmitting element is additionally operable to:Store to described USB and drive The dynamic result sending described CBW request;
Described receiving unit is additionally operable to:Receive described USB storage driving according to the result that described CBW asks sends DATA-in asks;
Described transmitting element is additionally operable to:Send the result of described DATA-in request to described USB storage driving;
Described receiving unit is additionally operable to:Receive what described USB storage driving sent according to the result that described DATA-in asks Described CSW request;
Described transmitting element is additionally operable to:Send the result of described CSW request to described USB storage driving.
A kind of 21. information processors are it is characterised in that include:
Receiving unit, for receiving the first request of USB service end transmission;
Transmitting element, for sending described first request to USB storage device;
Described receiving unit is additionally operable to:Receive the result of described first request that described USB storage device sends;
Structural unit, in the case of being successful for the result in the described first request, construction is right with the described first request The second request answered;
Described transmitting element is additionally operable to:Send described second request to described USB storage device;
Described receiving unit is additionally operable to:Receive the result of described second request that described USB storage device sends;
Described transmitting element is additionally operable to:The result and described second sending described first request to USB service end is asked Result.
It is characterised in that described first asks to ask for CBW, described second asks 22. devices according to claim 21 Ask for DATA-in,
Described structural unit is additionally operable to:In the described result and described second sending described first request to USB service end Before the result of request, in the case of the result of described DATA-in request is successful, construct and described DATA- In request corresponding CSW request;
Described transmitting element is additionally operable to:Send described CSW request to described USB storage device;
Described receiving unit is additionally operable to:Receive the result of the described CSW request that described USB storage device sends;
Described transmitting element specifically for:Send result, the described DATA-in request of described CBW request to USB service end Result and described CSW request result.
CN201610801050.9A 2016-09-05 2016-09-05 Information processing method and device Pending CN106407151A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610801050.9A CN106407151A (en) 2016-09-05 2016-09-05 Information processing method and device
PCT/CN2017/085355 WO2018040622A1 (en) 2016-09-05 2017-05-22 Method and apparatus for information processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610801050.9A CN106407151A (en) 2016-09-05 2016-09-05 Information processing method and device

Publications (1)

Publication Number Publication Date
CN106407151A true CN106407151A (en) 2017-02-15

Family

ID=57999592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610801050.9A Pending CN106407151A (en) 2016-09-05 2016-09-05 Information processing method and device

Country Status (2)

Country Link
CN (1) CN106407151A (en)
WO (1) WO2018040622A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018040622A1 (en) * 2016-09-05 2018-03-08 华为技术有限公司 Method and apparatus for information processing
CN111723042A (en) * 2020-07-02 2020-09-29 宏远智控科技(北京)有限公司 Remote high-speed USB transparent transmission method, device and equipment
CN111784936A (en) * 2020-07-22 2020-10-16 南京奥拓电子科技有限公司 Method for weighing, inspecting, storing and sending out packages and express cabinet device
CN111913781A (en) * 2020-07-28 2020-11-10 中国人民解放军陆军工程大学 System and method for operating virtual equipment in cloud environment by using terminal equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169071A1 (en) * 2008-10-30 2010-07-01 Simtone Corporation (F/K/A Xds, Inc.) Universal serial bus (usb) network transport methods and apparatus
CN103631741A (en) * 2012-08-23 2014-03-12 瑞昱半导体股份有限公司 Usb control device and control method thereof
US20140164648A1 (en) * 2012-12-11 2014-06-12 Vmware, Inc. Systems and methods for improving performance of remote usb storage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7159065B1 (en) * 2002-06-20 2007-01-02 Cypress Semiconductor Corporation Method for issuing vendor specific requests for accessing ASIC configuration and descriptor memory while still using a mass storage class driver
CN101303685B (en) * 2007-05-09 2010-10-13 瑞昱半导体股份有限公司 Method for improving read-write data speed of all-purpose sequence bus storage equipment
TW200844841A (en) * 2007-05-10 2008-11-16 Realtek Semiconductor Corp Method for expediting data access of universal serial bus stoarage device
CN106407151A (en) * 2016-09-05 2017-02-15 华为技术有限公司 Information processing method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169071A1 (en) * 2008-10-30 2010-07-01 Simtone Corporation (F/K/A Xds, Inc.) Universal serial bus (usb) network transport methods and apparatus
CN103631741A (en) * 2012-08-23 2014-03-12 瑞昱半导体股份有限公司 Usb control device and control method thereof
US20140164648A1 (en) * 2012-12-11 2014-06-12 Vmware, Inc. Systems and methods for improving performance of remote usb storage

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018040622A1 (en) * 2016-09-05 2018-03-08 华为技术有限公司 Method and apparatus for information processing
CN111723042A (en) * 2020-07-02 2020-09-29 宏远智控科技(北京)有限公司 Remote high-speed USB transparent transmission method, device and equipment
CN111723042B (en) * 2020-07-02 2022-05-10 宏远智控科技(北京)有限公司 Remote high-speed USB transparent transmission method, device and equipment
CN111784936A (en) * 2020-07-22 2020-10-16 南京奥拓电子科技有限公司 Method for weighing, inspecting, storing and sending out packages and express cabinet device
CN111913781A (en) * 2020-07-28 2020-11-10 中国人民解放军陆军工程大学 System and method for operating virtual equipment in cloud environment by using terminal equipment

Also Published As

Publication number Publication date
WO2018040622A1 (en) 2018-03-08

Similar Documents

Publication Publication Date Title
US10152441B2 (en) Host bus access by add-on devices via a network interface controller
CN105531685B (en) The port general PCI EXPRESS
US7458075B2 (en) Virtual USB port system and method
JP4347247B2 (en) Method, system, and program for executing a data transfer request
CN105518611B (en) A kind of remote direct data access method, equipment and system
CN106407151A (en) Information processing method and device
WO2017066944A1 (en) Method, apparatus and system for accessing storage device
CN109445905B (en) Virtual machine data communication method and system and virtual machine configuration method and device
US7200641B1 (en) Method and system for encoding SCSI requests for transmission using TCP/IP
CN1316337C (en) Method and device for simulating iSCSI facility on logic roll administrator
EP3273347A1 (en) System and method for storage access input/output operations in a virtualized environment
CN108701004A (en) A kind of system of data processing, method and corresponding intrument
JPH01502708A (en) Information transmission methods and devices
CN105007329B (en) A kind of network share storage system and its storage method based on PCIe
CN104461716B (en) The access method and multi-core heterogeneous system of a kind of multi-core heterogeneous system
CN107707622A (en) A kind of method, apparatus and desktop cloud controller for accessing desktop cloud virtual machine
CN109983438B (en) Use of Direct Memory Access (DMA) re-establishment mapping to accelerate paravirtualized network interfaces
CN114201268B (en) Data processing method, device and equipment and readable storage medium
CN101237445A (en) Buffer management for wireless USB synchronization at end point
WO2005046146A1 (en) Method, system, and program for constructing a packet
CN114416630A (en) Communication method and device based on PCIE, computer equipment and readable storage medium
CN107506324A (en) Interconnecting device, telecommunication system, data transmission method and device
CN109478171A (en) Improve the handling capacity in OPENFABRICS environment
TW200406682A (en) Method, system and program for configuring components on a bus for input/output operations
CN107168909A (en) Interconnecting device, telecommunication system, data transmission method and device

Legal Events

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

Application publication date: 20170215

RJ01 Rejection of invention patent application after publication