CN102685196A - Method and virtual application system for improving user experience in virtual application environment - Google Patents

Method and virtual application system for improving user experience in virtual application environment Download PDF

Info

Publication number
CN102685196A
CN102685196A CN2011104351520A CN201110435152A CN102685196A CN 102685196 A CN102685196 A CN 102685196A CN 2011104351520 A CN2011104351520 A CN 2011104351520A CN 201110435152 A CN201110435152 A CN 201110435152A CN 102685196 A CN102685196 A CN 102685196A
Authority
CN
China
Prior art keywords
client
server
virtual
peripheral
instruction
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
CN2011104351520A
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.)
Beijing Chnfuture Information Tech Co Ltd
Original Assignee
Beijing Chnfuture Information Tech 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 Beijing Chnfuture Information Tech Co Ltd filed Critical Beijing Chnfuture Information Tech Co Ltd
Priority to CN2011104351520A priority Critical patent/CN102685196A/en
Publication of CN102685196A publication Critical patent/CN102685196A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

The invention discloses a method and a virtual system for improving user experience in a virtual application environment, which are applied to a virtual application system comprising a client and a server, wherein the method comprises the following steps: inputting characters at the client by a user, and intercepting the characters by the client; the client caches the character, and a user display interface of the client displays the character in real time; the client sends all the characters cached by the user input at this time to the server through a virtual channel between the client and the server; the server generates updating information of a user display interface according to the received characters, and the updating information is sent to the client; and the client side updates the user display interface according to the updating information. The technical scheme can reduce the echo delay after the virtual application program inputs the text, and brings convenience to the application of the user in the virtual environment so as to achieve the operation experience close to the local application program in the virtual application environment.

Description

Under virtual application environment, improve the method and the virtual application system of user experience
Technical field
The present invention relates to technical field of virtualization, particularly relate to a kind of method and virtual application system thereof that under virtual application environment, improves user experience.
Background technology
In recent years, Intel Virtualization Technology surges forward, and has occurred that server virtualization technology, desktop virtual are technological, applying virtualization technology, storage virtualization technology and network virtualization technology etc.Current; The advantage of Intel Virtualization Technology has obtained the generally approval of industry; The raising resource utilization that Intel Virtualization Technology possessed and the characteristic of energy-conserving and environment-protective have also obtained more and more high-performance computer users' favor, and the universal and popularization of Intel Virtualization Technology becomes the inexorable trend of informationization technology development.
The basic conception of applying virtualization can be traced back to main frame and dumb terminal or thin-client epoch.Should be used for showing their " logical view " (being exactly using user interface in typical case) by a kind of very little thin-client of virtualized applications exploiting, this thin-client is applied on a variety of operating systems and the hardware and moves." the physics end " of this application used the data center that is hosted in enterprise.
According to the simplest mode, connect through network, the unique data of between the client device of virtual application system and server end, being transmitted is screen, keyboard and the mouse moving of client.
Applying virtualization is the abstract that end user device is used.That is to say, thoroughly from the subscriber equipment of client, remove, move at server end with using.Briefly, this means does not have application program or data need load or be stored in PC, notebook computer or mobile device etc. because applying virtualization make these application can be pellucidly from a concentrated server or the place of concentrating move.
Based on the principle of virtual application technology, the basic procedure through virtual application system operation application program the time is following:
Steps A: the user inputs information such as user name, password and submits to the server end of virtual application system on the client of virtual application system;
Step B: the server end of virtual application system is transmitted to customer certification system with logging request;
Step C: if validated user, the server end of virtual application system is set up user conversation for this user, and the virtual application information that this user has the right to visit is returned to the user;
Step D: the user selects the virtual applications that will visit, option and parameter when consulting to start virtual application with the virtual application system server terminal, and for example resolution, colour bits are dark etc.;
Step e: the server end of virtual application system starts the virtual applications of " physics " in the session space of the isolation of opening up for this user;
That is, in fact the virtual applications that the user calls runs on server end, particularly runs on the session space of the isolation of opening up for this user, that is to say that server end has moved by virtual application program;
Step F: after virtual applications starts, mail to the client of virtual application system with the image information compression of its user interface or after converting drawing for order to;
Step G: the client of virtual application system with user interface information with the employed operating system of the client of virtual application system accessible drawing for order on user terminal, draw out the user interface of virtual application;
Step H: the user is through mouse, keyboard operation virtual applications;
Step I: the client of virtual application system sends to the mouse event of current generation and coordinate information and keyboard scancode the server end of virtual application system in real time;
Step J: the server end of virtual application system receives mouse, the keypad information that the client of virtual application system sends, and this information translation is the accessible information of server end place server OS of virtual application system;
Step K: the server end of virtual application system sends to mouse, KeyEvent and coordinate information etc. the virtual applications of " physics " in the session space of user isolation;
Step L: the virtual applications of " physics " is handled mouse, the KeyEvent that sends, and makes corresponding reaction, and for example click is to button, and button produces sagging animation effect etc.;
That is, the instruction that the user sends in client, control be the operation of the virtual applications of server end;
Step M: the server end of virtual application system detects the situation of change of user interface; Re-send to the client of virtual application system with the user interface after changing or after just the certain customers interface of zonal variation being handled through the described processing mode of step F, and repeat the process of step F to step M;
Step N: if the user closes virtual applications, the server end of virtual application system then is closed in the virtual applications of " physics " in the user-isolated environment, the login of nullifying this user, and the client bolt down procedure of notice virtual application system.
The virtual application technology has solved the input and output logic (Application Program Interface) of application program and the problem of computational logic instruction isolation; As long as make the user possess network condition; Just can obtain on the different terminal with by virtual application program by its mode actual motion originally after consistent user interface and mode of operation, but the technological defective of virtual application also is very tangible.
Virtual application all need keep network to connect all the time; Any operation on virtual applications all needs earlier the information of operation to be sent to the server end of virtual application system, and the user interface that repaints out variation after the server-side processes through the virtual application system returns to user after the client of virtual application system again could obtain the real response of operating just now.For example; When keying in certain character in the text input frame of user on user interface; On the virtual application interface of seeing on the client of virtual application system the character that the user keyed in just now can not appear immediately; Wait until that this KeyEvent sends to the server end of virtual application system, completion virtual applications user interface just can be seen the character that the user keyed in just now after redrawing and return to the virtual application system client.In case network quality drops to the network service that can not normally accomplish between virtual application system server terminal and the virtual application system client; To be parked on the last painting face in the user interface of seeing on the virtual application system client; If the user is just in logging data; Then the timely data imported of explicit user of user interface then can't continue operation.Simultaneously, character of the every key entry of user, client all is sent to server end with this character immediately, then when the user imports more character, need carry out repeatedly network service successively.Even network communication quality is good, this repeatedly network service also will seriously reduce the speed of user interface character display.
Therefore, obtained user interface, but but be difficult to obtain the operating experience the same with local application as local application through the applying virtual technical user.
In addition; Also there is following problem in Intel Virtualization Technology: in the enterprise application scene; Application program often need be supported different peripheral hardwares; With the banking terminal applies is example, and application program need connect finger-print recognising instrument, cooperates usemame/password information to come the operation system operating personnel are carried out authentication; Need to connect the fiscard card reader with identification client's bank card and accomplish the required financial business of client; Need to connect the China second-generation identity card card reader with the identification client identity authentication; Need to connect printer with printing of accomplishing business paper or the like.Being supported in of these peripheral hardwares do not have any problem in the local application; As long as corresponding driving program and development interface are arranged; Local application can be realized its business function through programming to development interface; But these peripheral hardwares are put into when using in the applying virtual environment, and problem has just been come: be actually installations, dispose and operate in the server end of virtual application system by virtual application program, and the peripheral hardware of reality is to be connected on the client of long-range virtual application system; From the operating system at its place, can't be enumerated these external equipments by virtual application program at all; That is to say the existence that at all is unaware of these peripheral hardwares by virtual application program, therefore also just can't normally accomplish the corresponding business function, make the user feel inconvenience.
In addition, Intel Virtualization Technology also need be considered the visit to the local resource of client.For example; Enterprise's address book service function is arranged in the enterprise application, listed employee's telephone number above, so very natural; Corporate client can propose the business function of " click behind employee's telephone number just can to this phone number dial "; Same, corporate client can expect using the inherent feature of portable terminal to be used as replenishing of enterprise application system user user's ID authentication information and reinforcement naturally, for example; Each mobile phone of producing all has a unique mobile device identifier in the whole world, promptly IMEI (International Mobile Equipment Identity) number; SIM (the Subscriber Identity Module) card of every mobile phone use all has unique custom IC; It is IMSI (International Mobile Subscriber Identity) number; If the local application of portable terminal; Can realize this function through the API that portable terminal provides; And in the applying virtual environment; Actual motion is by the corresponding API that is possessed on the local not portable terminal of the virtual application system server of virtual application program, has on the portable terminal of corresponding API and do not have actual application program operation again, and the operation that has embodied virtual application so once more can not obtain the operating experience as the local application.
Summary of the invention
The technical problem that the present invention solves is, a kind of method and virtual application system thereof that under virtual application environment, improves user experience is provided, and is used to reduce the echo time delay behind the virtual applications input text.
Further, realize of the visit of virtual application system client to local resource.
Further, realization virtual application system client is uploaded the speed of local resource.
Further, be implemented in its client peripheral hardware of client support that application layer realizes the virtual application system.
Further, be implemented in its client peripheral hardware of client support that Drive Layer realizes the virtual application system.
The invention discloses a kind of method of under virtual application environment, improving user experience; Be used to reduce the echo time delay behind the virtual applications input text; Be applied to comprise the virtual application system of client and server end; This method comprises the steps: step 1, and the user is at this client input character, and this client is tackled this character; Step 2, this character of this client-cache, and user's display interface of this client shows this character in real time; Step 3, this client is sent to this server end with all characters that the user this time imports institute's buffer memory through the tunnel between client and server end; Step 4, this server end is according to the lastest imformation of the character generation user display interface that receives, and this lastest imformation is sent to this client; Step 5, this client is upgraded user's display interface according to this lastest imformation.
The invention also discloses a kind of virtual application system; Comprise client, server end and the tunnel that connects client and server end; Be used to reduce the echo time delay behind the virtual applications input text; This client further comprises: blocking module is used to tackle the character of user in this client input; Cache module is used for the character that this blocking module of buffer memory is tackled; Display module is used for the character that this blocking module is tackled is shown in real time; This tunnel is used to transmit all characters that the user this time imports institute's buffer memory to this server end, and, transmit a lastest imformation that this server end produces to this client; This server end produces this lastest imformation according to the character that receives, and this lastest imformation is the foundation that this client is upgraded user's display interface of this display module.
The invention also discloses a kind of method of under virtual application environment, improving user experience; Be used to realize of the visit of virtual application system client to local resource; This method is applied to comprise the virtual application system of client and server end; This method comprises the steps: step 1, and the operational order that local resource produced that client will be called client is sent to this server end through the tunnel between client and server end; Step 2, the virtual resource control manager of being called this server end by virtual application program according to this operational order of this server end; Step 3, this virtual resource control manager converts this operational order the instruction of into client terminal local resource request, and it is sent to this client through this tunnel; Step 4, the local resource control manager of this client be according to this client terminal local resource request instruction calls local resource, and will call the result and return this server end.
The invention also discloses a kind of virtual application system; Comprise client, server end and the tunnel that connects client and server end; Be used to realize of the visit of virtual application system client to local resource; This server end is loaded with by virtual application program, and is provided with the virtual resource control manager; This by virtual application program receive through this tunnel send call the operational order that the client terminal local resource produced the time; Call this virtual resource control manager; This virtual resource control manager converts this operational order the instruction of into client terminal local resource request, and it is sent to this client through this tunnel; This client has the local resource control manager, is used for the local resource according to this client terminal local resource request instruction calls client, and will calls the result and return this server end.
The invention also discloses a kind of method of under virtual application environment, improving user experience; Be used for realizing its client peripheral hardware of client support of virtual application system in Drive Layer; This method is applied to comprise the virtual application system of client and server end; Comprise: step 1, this client is sent to this server end with the peripheral hardware information of all peripheral hardwares that it connected; Step 2, this client is sent to this server end with the operational order that a peripheral hardware of user's operated client is produced through the tunnel between client and server end; Step 3, this server end produce the I/O request data package of calling this peripheral hardware according to this operational order; Step 4, this server end judges according to this peripheral hardware information whether this I/O request data package is used to call the peripheral hardware of this client, and the I/O request data package of the peripheral hardware that calls this client is tackled, and forwards it to this client through this tunnel; Step 5, this client drives this peripheral hardware according to this I/O request data package.
The invention also discloses a kind of virtual application system; Comprise client, server end and the tunnel that connects client and server end; Be used for realizing its client peripheral hardware of client support of virtual application system in Drive Layer; This client comprises the editing equipment management device, and this editing equipment management device is sent to this server end with the peripheral hardware information of all peripheral hardwares that this client connected; This server end comprises virtual unit control manager and virtual unit bus driver, and this virtual unit control manager receives this peripheral hardware information, and this virtual unit bus driver is used for the instruction relevant with this peripheral hardware according to this peripheral hardware information intercepting; The operating system of this server end is operated the operational order that a peripheral hardware of this client is produced according to the user who is sent to this server end, produces the I/O request data package of calling this peripheral hardware; Wherein, This virtual unit bus driver judges according to this peripheral hardware information whether this I/O request data package is used to call the peripheral hardware of this client; I/O request data package to the peripheral hardware that calls this client is tackled; Through this tunnel this I/O request data package is forwarded to this client, supplies this client, drive this peripheral hardware according to this I/O request data package.
Can effectively improve user experience through technique scheme; The function of enriching under the virtualized environment is used; Echo time delay behind the reduction virtual applications input text realizes the visit of virtual application system client to local resource, has accelerated the speed of client upload local resource.Be implemented in its client peripheral hardware of client support that application layer realizes the virtual application system; Be implemented in its client peripheral hardware of client support that Drive Layer realizes the virtual application system; Under virtualized environment for user's application offers convenience, to be implemented under the virtual application environment operating experience that obtains to approach local application.
Description of drawings
Figure 1A is depicted as the flow chart that under virtual application environment, improves the method for user experience of the present invention;
Figure 1B is depicted as the structural representation of virtual application of the present invention system;
Fig. 2 A is depicted as a kind of flow chart that under virtual application environment, improves the method for user experience;
Fig. 2 B is depicted as the structural representation of virtual application of the present invention system;
Fig. 2 C is depicted as a kind of flow chart that under virtual application environment, improves data transmission bauds;
Fig. 3 A is depicted as a kind of flow chart that under virtual application environment, improves the method for user experience;
Fig. 3 B is depicted as the structural representation of virtual application of the present invention system;
Fig. 4 A is depicted as a kind of flow chart that under virtual application environment, improves the method for user experience;
Fig. 4 B is depicted as the structural representation of virtual application of the present invention system;
The sketch map that is connected into network for client shown in Figure 5;
Shown in Figure 6 is the structural representation of virtual application of the present invention system.
Embodiment
The present invention is used under virtual application environment, more applications being provided, and improves operational efficiency, further improves user experience.This virtual application environment can comprise: the applying virtual environment of Citrix and Microsoft.
The invention discloses a kind of method of under virtual application environment, improving user experience; What be specifically related to is a kind of method that shows time delay behind the virtual applications input text that reduces; Be used for solving prior art; Owing to the demonstration hysteresis of the client that all needs first Connection Service device end to bring at character of the every input of the user interface of client, reduce the problem of satisfaction of users.
See also Figure 1A and be depicted as a kind of flow chart that under virtual application environment, improves the method for user experience.
Step 101, when the user at this client input character, this character of this client interception;
Step 102, this character of this client-cache, and user's display interface of this client shows this character in real time;
Step 103, this client is sent to this server end with all characters that the user this time imports institute's buffer memory through the tunnel between client and server end;
Step 104, this server end is according to the lastest imformation of the character generation user display interface that receives, and this lastest imformation is sent to this client;
Step 105, this client is upgraded user's display interface according to this lastest imformation.
See also the structural representation, particularly character input operation that Figure 1B is depicted as virtual application of the present invention system and experience the structural representation of localized subsystem, be used to carry out said method.
Virtual application system 10 has client 1 and server end 2.The application layer of client 1 is loaded with virtual applications 11, blocking module 12, cache module 13 and localized exchange channels manager 14.Be provided with keyboard drive 15 in the Drive Layer of client 1.Server end 2 can be arranged in the application server.Be provided with localized exchange channels service module 21 in the application layer of server end 2, by virtual application program 22 and server-side processes unit 23.
Localization exchange channels manager 14 is used with localized exchange channels service module 21, to realize the tunnel of 2 of client 1 and server ends.
Server end 2 is loaded with this by virtual application program 22; Can know according to prior art; Sent to the virtual applications 11 of client 1 by the user interface of virtual application program 22, draw and show by the user interface of virtual application program 22 by virtual applications 11.The user can operate input character in this user interface.
Specifically introduce the implementation procedure of said method below in conjunction with Figure 1B.
Server end 2 loads by virtual application program 22; To be sent to the virtual applications 11 of client by the user interface of virtual application program 22; Draw and in display module, show by virtual applications 11, comprise a text input frame in this user interface by the user interface of virtual application program 22.
Step 101 specifically comprises: the user is input character in the text input frame of client 1, and the keyboard that the input of this character can be through knocking client or the mode of virtual soft dish realize.Keyboard is knocked the back and is produced hardware interrupts, and keyboard drive 15 obtains the keyboard scancode of corresponding institute input character.
This client is called blocking module 12 behind the pairing keyboard scancode of the input action of receiving the user, these blocking module 12 these keyboard scancodes of interception are avoided according to the mode of prior art it directly being sent to this server end.That is, avoid every input one word all to carry out primary network and communicate by letter with server end, thus the number of times of reduction network service, and then reduce the wait that time delay is brought.
This blocking module 12 can pass through implemented in many forms, that is, can realize at application layer or keyboard drive layer or the mode through hardware interrupts.For example this blocking module 12 is a keyboard HOOK, after keyboard drive 15 obtains keyboard scancode, calls this keyboard scancode of keyboard HOOK interception.
Step 102 specifically comprises: this blocking module 12 is put into cache module 13 with the character of intercepting (keyboard scancode just); Utilize localized exchange channels manager 14 that the character of intercepting is sent to virtual applications 11 simultaneously, this virtual applications 11 utilizes its local interface program that this character is presented on the display module (not shown) of client in real time.
Circulation execution in step 101,102, when the user imports completion and sends submiting command, execution in step 103.Client is taken out all characters of this input institute buffer memory from cache module 13, send to this server end in the lump through tunnel.
Step 104 specifically comprises: this server end 2 in its user's display interface, inserted all characters of being received by virtual application program 22; This this variation that is taken place by user's display interface of virtual application program of server end monitoring, thus the lastest imformation that the interface delta data obtains user's display interface calculated.
That is, server end 2 is converted into character string with it after receiving keyboard scancode, and structure keyboard message, sends to by virtual application program 22.Received the go forward side by side line program operation of keyboard message by virtual application program 22, thus in the corresponding text input frame the disposable character string of being received of inserting, and demonstrate character string through user interface.Server-side processes unit 23 monitors by the user interface of virtual application program 22 and changes, and calculates the interface and changes residual quantity, generates user interface updating information and mails to client 1.
Simultaneously, can this character string be shown with the specific character display format when moving that server-side processes unit 23 will monitor the display format variation of this character like this, thereby in lastest imformation, increase the character display format information by virtual application program 22.This character display format can comprise font, font size, font, color, spacing, whether underscore, character special efficacy etc.
Step 105 specifically comprises: the virtual applications 11 of client 1 is received user interface updating information, and the interface region of appointment in the lastest imformation demonstrates all character strings of having imported.
This client can be and moves or non-moving terminal, comprises PC, smart mobile phone, personal digital assistant, panel computer, the computer with wireless communication module, vehicle-mounted mobile communication equipment.For the connection network mode of portable terminal, can the SIM online through operator realize and being connected of the Internet, also possibly be to connect into the Internet, or other modes insert the Internet and are connected with server through WIFI.For panel computer, it adopts dummy keyboard to realize the character input, the capturing operation of on the HOOK mode, using soft keyboard hook mode to carry out the character input.
The invention also discloses a kind of method of under virtual application environment, improving user experience, what be specifically related to is a kind of method of virtual application system client to the visit of local resource that be used to realize.Be used for solving in the prior art, the client in the virtual application system can't be visited local resource, the problem that satisfaction of users is low.
Be depicted as a kind of flow chart that under virtual application environment, improves the method for user experience like Fig. 2 A.
Step 201, the operational order that local resource produced that client will be called client is sent to this server end through the tunnel between client and server end;
Step 202, the virtual resource control manager of being called this server end by virtual application program according to this operational order of this server end;
Step 203, this virtual resource control manager converts this operational order the instruction of into client terminal local resource request, and it is sent to this client through this tunnel;
Step 204, the local resource control manager of this client be according to this client terminal local resource request instruction calls local resource, and will call the result and return this server end.
See also the structural representation that Fig. 2 B is depicted as virtual application of the present invention system, particularly local system resource access and support the structural representation of subsystem, be used to carry out said method.
Virtual application system 10 has client 1 and server end 2.The application layer of client 1 is loaded with virtual applications 11, localized exchange channels manager 14 and local resource control manager 16, and local resource control manager 16 is used to carry out the visit to local resource.Server end 2 can be arranged in the application server.Server end 2 has localized exchange channels service module 21, by virtual application program 22 and virtual resource control manager 24.Virtual resource control manager 24 is used for fictionalizing and the identical virtual resource of client terminal local resource response characteristic at server end, is provided at the calling interface of the client terminal local resource under the virtual application system.
Localization exchange channels manager 14 is used with localized exchange channels service module 21, to realize the tunnel of 2 of client 1 and server ends.
Specifically introduce the implementation procedure of said method below in conjunction with Fig. 2 B.
Server end 2 loads by virtual application program 22; To be sent to the virtual applications 11 of client by the user interface of virtual application program 22, and draw and in the display module of client, show by the user interface of virtual application program 22 by virtual applications 11.
Step 201 specifically comprises: the user manipulates the business function of the local resource of client on the user interface of virtual applications 11, and this local resource comprises and obtains yellow pages, checks photo, calls, sends note etc.
After receiving that the user operates the input signal of local resource (for example opening yellow pages), the corresponding operational order that produces this local resource of operation of client.Client sends to this server end through this tunnel with this operational order.
Step 202 specifically comprises: the localized exchange channels service module 21 of server end 2 is sent to this by virtual application program 22 with this operational order, is moved according to this operational order by virtual application program 22, calls virtual resource control manager 24.
Step 203 specifically comprises: judging these operational orders when this virtual resource control manager 24 is not during to the local resource of server end but to the operational order of the local resource of client; Convert operational order the local resource request instruction of client to, and this local resource request instruction is forwarded to the local resource control manager 16 on the client through localized exchange channels service 21, localized exchange channels manager 14.
Promptly; Judging these operational orders when this virtual resource control manager 24 is not during to the local resource of server end but to the operational order of the local resource of client; This virtual resource control manager 24 sends one according to this operational order can be by 16 local resource request instructions of directly carrying out of the local resource control manager on the client, to realize calling the client terminal local resource.
Step 204 specifically comprises: local resource control manager 16 is called actual client terminal local resource (open yellow pages, show phone number list) according to the local resource request instruction of client.Local resource control manager 16 is called the result through localized exchange channels service 21, localized exchange channels manager 14 and virtual resource control manager 24 with the local resource of client and is returned to by virtual application program 22.
This will call that the step that the result returns this server end can be returned through calling, the mode of process communication, event notice realizes.
Be presented on the user interface by the local resource (for example phone number list) of virtual application program 22, and it is sent to client through tunnel shows the client that has access to.
In visit execution above-mentioned steps capable of circulation during local resource, for example, open yellow pages after, the detail record content that also can further check a telephone number, the content of editing telephone number etc.When the content of input telephone number, can adopt the said method of Figure 1A, reduce the demonstration time delay.In addition, the end that also can the picture of client be uploaded onto the server.
In addition, because the data resource of client terminal local can be sent to server end, so also can use this local data resource at server end.
This client can be and moves or non-moving terminal, comprises PC, smart mobile phone, personal digital assistant, panel computer, the computer with wireless communication module, vehicle-mounted mobile communication equipment.For the connection network mode of portable terminal, can the SIM online through operator realize and being connected of the Internet, also possibly be to connect into the Internet, or other modes insert the Internet and are connected with server through WIFI.
Further, in the virtual application operating process, the data of required transmission generally are merely mouse and the KeyEvent and the coordinate information of client of interface information and virtual application system of the server of virtual application system.In this case, the volume of transmitted data of the client of the server of virtual application system and virtual application system seldom that is to say that the required bandwidth of virtual application is very little.
; In case the client of virtual application system is carried out uploading of local resource according to Fig. 2 A, 2B mode; For example the server to the virtual application system carries out a large amount of pictures or mass file transmission, and the packet amount that is produced will increase hundreds of times, and the interactive response drawback of virtual application this moment will be very obvious; That is: interactive transmission causes data packet number multiplication, original insufficient bandwidth; And because descending priority principle is worked as data packet collision, the upstream data bag will be offset by downlink data packet.Confusion takes place in sending order easily.
The procotol of the standard that virtual application is supported comprises: TCP/IP, SPX, IPX, NETBEUI, NWLINK, through test, generally use TCP/IP in the transfer of data of reality.Data transmission bauds is merely 10-100k/s under virtualized environment.This speed can't be accepted the user that need transmit a large amount of pictures and file.So the present invention proposes a kind of data upload method of velocity that under virtual application environment, improves.The present invention guarantees the correctness of transfer of data through the mode of packet being carried out verification.In addition, under the prerequisite that guarantees correctness, can improve data transmission bauds through improving data transmission frequency.
This step 203 comprises that further this client terminal local resource request instruction is packed as N director data bag Server by server end n, n=1,2 ... N, this server end sends this director data bag Server according to a frequency to this client successively n
That is each director data bag Server, nPart in the local resource of corresponding requests destination client, all director data bag Server nThe part of being asked is common forms a complete destination client local resource.And each director data bag Server nIn include the id information of the order of indicating the local resource of being asked.The size of each packet is followed the restriction of virtual application system, for example 5k.This frequency can be provided with higherly, to improve transmission speed, for example under the environment of the network speed of common 10m/s, can not establish this director data bag of transmission successively of any delay, if each bag 5k, then this frequency is (10m/s)/5k.This step 204 further comprises: this client is successively to each this director data bag Server that receives n,, and respectively this client terminal local resource is packaged into should director data bag Server respectively according to the corresponding client terminal local resource of each this client terminal local resource request instruction fetch nResponse data packet Client n, n=1,2 ... N sends to this server end;
That is, client is according to director data bag Server 1The content of request is extracted corresponding local resource, is encapsulated as Client 1, by that analogy.Client is received this director data bag Server nOrder maybe be different with the order of its original transmission.Client is according to receiving this director data bag Server nOrder send this response data packet Client more successively nClient can still be sent this response data packet Client according to this frequency n
Further comprise after the step 204:
Step 205, this response data packet Client of this server end to receiving nCarry out verification, with the response data packet Client of check errors NAbandon;
This server end can carry out verification successively according to the order of this response data packet that receives.
This server end multithreading capable of using is receiving that response data packet and director data bag send under the situation about finishing fully, continues the transmission of director data bag simultaneously and to the verification of response data packet start, thereby has practiced thrift the whole time of transfer of data.
Step 206, this server end resends the response data packet Client that abandons with this NCorresponding director data bag Server NTo this client, redirect execution in step 204 is up to all response data packet Client nAll verification is correct;
Data in all response data packet that step 207, this server end will receive are extracted, and combine after the ordering.
Because each response data packet is corresponding with each director data bag, so also can embody this id information in each response data packet.This server end sorts to the data of from each response data packet, extracting based on this id information; Thereby restore the original order of this local resource; And then it is combined, make the local resource of being asked realize from the transmission of client to server end.
In said process,,,, also can recover original appearance even order is upset fully so reduced sequence requirement to the packet in the upload procedure because server end can be resequenced to the local resource that receives.In addition,, and can resend, to improve the correctness of transfer of data erroneous packets because server end of the present invention is with upper frequency move instruction packet, and can handle the raising data processing speed to the response data packet of being received simultaneously.Make that the speed of transfer of data is improved under the prerequisite that guarantees correctness.
After the method raising transmission speed through the application, in the environment of 10m/s, on the client of common low server of joining and same configuration, the data upload actual speed can reach 7.7m/s.
For improving uploading speed, the present invention also discloses another embodiment.
Step 203 further comprises: this server end sends a total director data bag to this client, comprising all information that this client terminal local resource request instruction is arranged;
That is this time be not to transmit the instruction of this client terminal local resource request respectively, but by whole a transmission of total director data bag,, with that avoid bringing and higher collision probability upstream data as far as possible by a plurality of downlink data packet by a plurality of director data bags.Improve the overall data uploading speed.
Step 204 further comprises:
Step 401, this client is based on the corresponding client terminal local resource of the corresponding extraction of this client terminal local resource request instruction;
Step 402, this client is encapsulated as at least one response data packet Client with this local resource n, n=1,2 ... N is sent to this server end successively;
Wherein, include the id information of the order of indicating entrained local resource in each response data packet.
Further comprise after the step 204:
Step 205, all this response data packet Client of this server end to receiving nCarry out verification, with the response data packet Client of check errors NAbandon;
This server end can carry out verification successively according to the order of this response data packet that receives.
Step 206, this server end resends the response data packet Client that abandons with this NCorresponding director data bag Server NTo this client, redirect execution in step 204 is up to all response data packet Client nAll verification is correct;
More concrete, the id information in this server end basis response data packet that abandons is confirmed the local resource information of required extraction, generates client terminal local resource request instruction, thereby regenerates this corresponding director data bag Server NWhat this step 206 was specifically carried out is that this server resends the response data packet Client with this check errors NCorresponding director data bag Server NTo client, this client is extracted the local resource of response according to this director data bag, is packaged into a response data packet Client once more N, be sent to this server end and carry out verification again, like check errors still, this step that circulates,, carry out subsequent step if terminal check is correct.
Data in all response data packet that step 207, this server end will receive are extracted, and combine after the ordering.
Because this server end sends a total director data bag to this client, thereby avoid conflicting of downlink data packet and upstream data bag as much as possible, improved speed.In addition; Because server end of the present invention is with upper frequency move instruction packet; And can handle the raising data processing speed to the response data packet of being received simultaneously, and can resend erroneous packets, the overall rate of transfer of data is improved and has guaranteed correctness.
For improving uploading speed, the present invention also discloses another embodiment.See also shown in Fig. 2 C.
Step 203 further comprises: this server end sends a total director data bag Server to this client, comprising all information that this client terminal local resource request instruction is arranged;
That is this time be not to transmit the instruction of this client terminal local resource request respectively, but by whole a transmission of total director data bag,, with that avoid bringing and higher collision probability upstream data as far as possible by a plurality of downlink data packet by a plurality of director data bags.
Step 204 further comprises:
Step 401 ', this client is based on the corresponding client terminal local resource of the corresponding extraction of this client terminal local resource request instruction in this total director data bag;
Step 402 ', this client is encapsulated as response data packet with this client terminal local resource partly, is sent to this server end;
Because the limited size system of each packet under the virtual application system is so generally can not be placed on all local resources in the response data packet.This client is chosen first and is encapsulated as response data packet from the client terminal local resource that extracts, and adds the id information of indicating the order of local resource in all local resources in this response data packet therein.
Step 403 ', this client terminal local triggers a director data bag Server n, n=2 ... N, and according to this director data bag Server nThis local resource of encapsulation another part is response data packet Client n, being sent to this server end, n adds 1, and repeated execution of steps 403 ' all is sent to this server end until this all local resources;
Because the first of local resource is packed and send the then current director data bag that needs to trigger the local resource that is directed against further part.So this moment is from Server 2Beginning, a director data bag of the corresponding a part of local resource of every triggering, corresponding encapsulation is also sent this part local resource
This step 403 ' be to send first response data packet Client 1After, client is for continuing to send follow-up local resource, so at this moment, the transmission of autonomous triggering following action is from Server in this locality 2Beginning, the local resource with various piece initiatively sends successively, that is, and Server of every triggering N, Client of corresponding transmission N, sending a Client NAfter, trigger next Server N, up to this transmission of whole local resource.
Further comprise after the step 204:
Step 205, this response data packet Client of this server end to receiving nCarry out verification, with the response data packet Client of check errors NAbandon;
This server end carries out verification successively according to the order of this response data packet that receives.
Step 206, this server end will be to response data packet Client that should check errors NThe client terminal local resource request instruction of entrained data is encapsulated as director data bag Server N, being sent to this client, client is extracted corresponding local resource and is encapsulated as Client again N, redirect execution in step 205 is up to all response data packet Client nAll verification is correct;
Data in all response data packet that step 207, this server end will receive are extracted, and combine after the ordering.
The effect that realizes through this autonomous mode that triggers is: because this server end sends a total director data bag to this client, thereby avoided conflicting of downlink data packet and upstream data bag as much as possible.Improved speed.
The invention also discloses a kind of method of under virtual application environment, improving user experience, can realize that the client of virtual application system is supported its client peripheral hardware.Be used for solving in the prior art, the client in the virtual application system can't be visited the peripheral hardware of its connection, the problem that satisfaction of users is low.Support pattern comprises two kinds: a kind of is in the application layer support, and a kind of is in the Drive Layer support.In application layer, realize support, can significantly reduce information interaction times, improve the performance of visit peripheral hardware, but need customize according to concrete application program by virtual to the client peripheral hardware.Though the Drive Layer support can not reduce information interaction times, have mutual versatility, once customization can be supported one type of peripheral hardware.
Below specify a kind of method that realizes its client peripheral hardware of client support of virtual application system in application layer.
Be depicted as a kind of flow chart that under virtual application environment, improves the method for user experience like Fig. 3 A.
Step 301, client is sent to this server end with the operational order that peripheral hardware produced of access client through the tunnel between client and server end;
Step 302, the API Calls instruction of being called this peripheral hardware of visit according to this operational order of this server end by virtual application program;
Step 303, this this API Calls of server end interception instructs and it is sent to this client through the tunnel between client and server end;
Step 304, this client are resolved this API Calls instruction, are packaged into the API Calls that the operating system of this client can discern and instruct;
Step 305, the API Calls instruction that this client can be discerned based on this operating system is visited corresponding peripheral hardware in application layer.
See also structural representation, particularly peripheral hardware that Fig. 3 B is depicted as virtual application of the present invention system and support the structural representation of localized subsystem, be used to carry out said method.
Virtual application system 10 has client 1 and server end 2.The application layer of client 1 is loaded with virtual applications 11, editing equipment management device 17, device drives 18, device bus driving 19, device controller 110 and localized exchange channels manager 14.Server end 2 can be arranged in the application server.Be provided with localized exchange channels service module 21 in the application layer of server end 2, by virtual application program 22 and blocking module 25.
Localization exchange channels manager 14 is used with localized exchange channels service module 21, to realize the tunnel of 2 of client 1 and server ends.
Specifically introduce the implementation procedure of said method below in conjunction with Fig. 3 B.This peripheral hardware for example is the bluetooth printer.
Server end 2 loads this by virtual application program 22, is sent to the virtual applications 11 of client 1 by the user interface of virtual application program 22, is drawn and is shown by the user interface of virtual application program 22 by virtual applications 11.
Step 301 specifically comprises: the user manipulates the business function of peripheral hardware on the user interface of virtual applications 11; This client produces an instruction corresponding after receiving user's input signal, this operational order sends to server end 2 through the tunnel of virtual application system.
Step 302 specifically comprises: the localized exchange channels service module 21 of server end 2 is sent to this by virtual application program 22 with this operational order, is moved according to this operational order by virtual application program 22, calls the API Calls instruction of this peripheral hardware of visit.This API Calls instruction comprises used API Name and the call parameters of visit peripheral hardware.
That is, the step of calling the API Calls instruction of step 302 can be considered application layer and is calling Peripheral Interface.The API Calls command visible is a Peripheral Interface.Because in fact the user moves at server end in the application program that client is used, just server end moves this by virtual application program.Thereby, when the peripheral hardware of user capture client, in fact need the peripheral hardware that connected by virtual application access client by this, that is, the peripheral hardware of client is redirected to server end.Therefore, server end is provided with the driver (for example a virtual printer drives) and relevant application program of this peripheral hardware in advance, realizes the visit to peripheral hardware to cooperate this API Calls instruction.Be equal in the prior art under the non-virtualized environment application program of client to the API Calls instruction of client peripheral hardware by the virtual application program 22 API Calls instruction concrete according to this operational order called.
Step 303 specifically comprises: this API Calls instruction triggers blocking module 25 when being called, and these blocking module 25 these API Calls of interception instruct, and are not sent to the device drives of this server end.
In one embodiment, for example for using HOOK, it is customized to and is associated by virtual application program 22 this blocking module 25 in advance.That is, this API Calls instruction triggers the Hook Function of using HOOK when being called, and the API Calls instruction is tackled, and does not send to the device drives of server end.
In one embodiment, this server end instructs at the API Calls of the inner Intercept Interview peripheral hardware of application layer, perhaps, and in the API Calls instruction of the outside Intercept Interview peripheral hardware of application layer.That is, call Peripheral Interface in the inner or outside interception of application layer.
In the present invention, blocking module 25 interception application layer transfer Peripheral Interfaces comprise dual mode, first: the blocking module 25 of application layer oneself encapsulates the interface that calls peripheral hardware, can be called the inside of application layer.That is, server end is provided with Peripheral Interface for realizing to the visit of peripheral apparatus in advance, this Peripheral Interface can be install in the lump in the erection unit driving process or according to the general standard setting of operating system.The original Peripheral Interface that provides of server end application layer this server end of replacement is packaged into the Peripheral Interface that can directly pass through the tunnel access client with it.Second: the mode of the blocking module 25 invoking server end operating system API Hook Functions of application layer encapsulates the Peripheral Interface that peripheral hardware provides; That is: application layer is not replaced the Peripheral Interface that server end provides; Only be to use the mode of API Hook Function, the interface that this Peripheral Interface of HOOK provides replaces with the execution command that is provided with in advance; Can be so that this Peripheral Interface is packaged into directly through the Peripheral Interface of tunnel access client, this situation can be expressed as the outside of application layer.For first kind of situation; These Peripheral Interfaces possibly all can be used by this application of calling this peripheral hardware; Therefore blocking module need be tackled all API Calls instructions, and for second kind of situation, blocking module will only be tackled in the Peripheral Interface and called API Calls instruction partly by this operational order.
In addition, blocking module 25 is pressed invoked this API Calls instruction of tunnel protocol encapsulation, and it is sent to localized exchange channels manager 14 through localized exchange channels service 21.The mode of said encapsulation comprises according to calling api function statement former state encapsulation or according to the extended formatting of being convenient to the client far call that those skilled in the art can infer changes the back encapsulation.
Step 304 specifically comprises: localized exchange channels manager 14 is sealed off the API Calls instruction of encapsulation; And the form that can discern according to the operating system of client is packaged into the API Calls instruction of the operating system access peripheral hardware that is applicable to client again with the API Calls instruction of sealing off, and is forwarded to editing equipment management device 17 then.This encapsulates again exactly reduction of data is become API and parameter of equal value under the client operating system.
Step 305 specifically comprises: the API Calls instruction that this operating system can be discerned is sent out the operating system toward client; Produce the I/O request; This I/O request is sent out toward driving with this peripheral hardware corresponding equipment; This device drives invocation facility bus driver produces the peripheral hardware control instruction and sends to device controller, and this device controller is accomplished calling this peripheral hardware based on this peripheral hardware control instruction.
The detailed implementation of this step 305 is following:
Owing to be the application layer support, editing equipment management device 17 mails to the API Calls instruction operating system of client.Can know that based on prior art instruction produces the I/O request to client based on this API Calls, through the mapping relations of peripheral hardware and driving, the I/O request is sent to peripheral hardware corresponding equipment driving 18, calls the peripheral hardware driver of the reality that client installs.Device drives 18 is invocation facility bus driver 19 thereupon, produces the peripheral hardware control command, sends to device controller 110 then.Device controller 110 and peripheral communication, the operation peripheral hardware is accomplished business function, for example prints etc.
Mode through this application layer support can realize the visit of client to peripheral hardware, and simultaneously, information interaction times is less, and the performance of visit peripheral hardware is higher.
Below specify a kind of method that realizes its client peripheral hardware of client support of virtual application system in Drive Layer.Through directly producing the mode of calling the I/O request msg of peripheral hardware and being sent to client, realize the peripheral hardware support of Drive Layer at server end.
Consult Fig. 4 A and be depicted as a kind of flow chart that under virtual application environment, improves the method for user experience.
Step 401, this client is sent to this server end with the peripheral hardware information of all peripheral hardwares that it connected;
Step 402, this client is sent to this server end with the operational order that a peripheral hardware of user's operated client is produced through the tunnel between client and server end;
Step 403, this server end produce the I/O request data package of calling this peripheral hardware according to this operational order;
Step 404, this server end judges according to this peripheral hardware information whether this I/O request data package is used to call the peripheral hardware of this client, and the I/O request data package of the peripheral hardware that calls this client is tackled, and forwards it to this client through this tunnel;
Step 405, this client drives this peripheral hardware according to this I/O request data package.
See also the structural representation that Fig. 4 B is depicted as virtual application of the present invention system, particularly the peripheral hardware of another is supported the structural representation of localized subsystem, is used to carry out said method.
Virtual application system 10 has client 1 and server end 2.The application layer of client 1 is loaded with virtual applications 11, editing equipment management device 17, virtual unit driving 111, device drives 18, device bus driving 19, device controller 110 and localized exchange channels manager 14.Server end 2 can be arranged in the application server.Be provided with localized exchange channels service module 21 in the application layer of server end 2, by virtual application program 22, virtual unit control manager 26 and virtual unit bus driver 27.Virtual unit control manager 26 is used to manage the visit by 22 pairs of peripheral hardwares of virtual application program, record and forwarding unit control command and communication data.The I/O request of sending when virtual unit bus driver 27 is used to tackle by virtual applications visit peripheral hardware.Server end has also been installed the driver and the application program of using this peripheral hardware of this peripheral hardware.Virtual unit bus driver 27 be used to load peripheral hardware driver, the unloading peripheral hardware driver, fictionalize the virtual unit identical and/or enumerate virtual unit with actual peripheral hardware response characteristic.When this virtual unit is redirected to server end for the peripheral hardware with client; The virtual unit identical that this server end is created with this peripheral hardware of client; It is connected on the virtual bus, all can be sent to the visit that client is carried out physical device through tunnel by virtual application program to the visit of virtual unit.The user closes application or cancels when being redirected, and this virtual unit is cancelled.
Localization exchange channels manager 14 is used with localized exchange channels service module 21, to realize the tunnel of 2 of client 1 and server ends.
Specifically introduce the implementation procedure of said method below in conjunction with Fig. 4 B.
Step 401 specifically comprises:
The virtual unit that step 4011, the editing equipment management device of this client load all peripheral hardwares that the user selects to connect drives;
Step 4012; This peripheral hardware information of all peripheral hardwares that the editing equipment management device of this client is selected the user is sent to the virtual unit control manager of this server end, and this virtual unit control manager is notified the virtual unit bus driver interception instruction relevant with this peripheral hardware of this server end.
More know clearly it, step 401 realizes that through following mode behind client terminal start-up, the editing equipment management device 17 of this client enumerates the peripheral hardware at terminal.The peripheral hardware that user's selection will be supported.According to user's selection, the virtual unit that editing equipment management device 17 loads corresponding peripheral hardware drives 111.What the peripheral hardware that editing equipment management device 17 specifically will be supported through localized exchange channels manager 14, localized exchange channels service 21 notice virtual unit control manager 26 is.Virtual unit control manager 26 notice virtual unit bus driver 27 are prepared interception all communications relevant with this peripheral hardware.
Server end 2 loads this by virtual application program 22; After client 2 and server end connect; Sent to the virtual applications 11 of client 1 by the user interface of virtual application program 22, draw and show by the user interface of virtual application program 22 by virtual applications 11.
Step 402 realizes through following mode; The user manipulates the business function of peripheral hardware on the user interface of virtual applications 11; Thereby produce an operational order, this operational order sends to virtual application system server terminal 2 through the tunnel of virtual application system.This is moved according to this operational order by virtual application program 22.
Step 403 realizes through following mode, is called the API Calls instruction of visit peripheral hardware by virtual application program 22.Under the pattern that the Drive Layer peripheral hardware is supported, can not trigger the Hook Function of blocking module 25, need not be to being tackled by any API Calls instruction of virtual application program.The API Calls instruction is converted to corresponding I/O request data package by the operating system of server end, is sent straight on the device drives.Device drives is called virtual unit bus driver 27.
Optimize in the execution mode one, this I/O request data package can comprise the communication data of the bottom of I/O request, like the URB packet of USB device etc.
In addition; Because the present invention can be directly changed into the I/O request data package with the API Calls instruction; So a kind of API Calls of disposable in advance customization instructs pairing I/O request data package, then can support one type of peripheral hardware; Need not according to concrete being changed, thereby have good versatility by the variation of virtual application program.
Step 404 realizes through following mode; What virtual unit bus driver 27 detected that current I/O request data package is directed against according to this peripheral hardware information is the peripheral hardware (virtual unit) of wanting calling party selected; So tackle these I/O request data package; Do not send to the local device controller of server end, but be forwarded to the editing equipment management device 17 on the client through virtual unit control manager 26, localized exchange channels service 21, localized exchange channels manager 14.Editing equipment management device 17 is used for the accessing operation to peripheral hardware actual on the administrative client.
This virtual unit bus driver 27 is perhaps tackled with the mode of filtration drive through interception on the virtual unit bus.The mode of filtration drive is a known technology.For the interception of virtual unit bus, because bus driver is the lower floor that is in device drives, all can pass through bus to the visit of device drives, just arrive equipment afterwards, thereby on bus, also can realize interception.
At last, step 405 realizes that through following mode editing equipment management device 17 calls corresponding virtual unit and drives 111.Virtual unit driving 111 sends to actual device bus with the I/O request data package and drives 19.Device bus drives 19 and produces the peripheral hardware control command, sends to device controller 110 then.Device controller 110 and peripheral communication, the operation peripheral hardware is accomplished business function.
That is, virtual unit drives 111 according to this I/O request data package, accordings to the step of the device drives of existing peripheral hardware and carries out the driving to equipment.
After the User Interface by virtual with server end is redirected to client, do not use the original device drives of client in client, the present invention is provided with virtual unit in client and drives 111.Virtual unit drives 111 and is used to fictionalize and the behavior of the original driver identical operations of peripheral hardware; Because server end has produced the I/O request data package that is used to call peripheral hardware; Therefore; This virtual unit drive 111 be responsible for will actual invocation facility the I/O request data package be issued to equipment, and pass the information that equipment returns back server end through network, not responsible concrete generation driving data.It is thus clear that client can not be provided with entity device and drive.
Also comprise after this step 405: this client is passed the operation result of this peripheral hardware the virtual unit bus driver of this server end back through this tunnel, this virtual unit bus driver will move result feed back to server end by virtual application program 22.According to above-mentioned steps virtual unit is conducted interviews according to this operation result by virtual application program 22, access result sends to the visit that client is carried out physical device through tunnel once more, finishes visit up to the user.
More than this client described in each technical scheme can be and move or non-moving terminal, comprise PC, smart mobile phone, personal digital assistant, panel computer, computer, vehicle-mounted mobile communication equipment etc. with wireless communication module.See also the sketch map that is connected into network for client shown in Figure 5.
Client can connect into the Internet through its network equipment, and then through the web server, is connected to the application server that is provided with the virtual application system server terminal.
For the connection network mode of portable terminal, can the SIM online through operator realize and being connected of the Internet, also possibly be to connect into the Internet, or other modes insert the Internet and are connected with server through WIFI.To realize that client is connected with the initial of virtual application system server terminal.
Be illustrated in figure 6 as the structural representation of virtual application of the present invention system.It can comprise simultaneously that localized subsystem is experienced in the character input operation, the local system resource access supports subsystem and two kinds of peripheral hardwares to support localized subsystem.That is, virtual application of the present invention system can solve above-mentioned three kinds of problems that subsystem solves respectively in the lump.
Based on shown in Figure 6, localized exchange channels manager 14 is used to resolve and processing server is transmitted by between virtual application program 22 and the local resource control manager 16, by between virtual application program 22 and the blocking module 12 perhaps by the communication data between virtual application program 22 and the editing equipment management device 17.
Localization exchange channels service module 21 is used to transmit the communication data of virtual application system server terminal, virtual resource control manager 24, virtual unit control manager 26, blocking module 25 and each module of client
Can effectively improve user experience through technique scheme, the function of enriching under the virtualized environment is used, and the echo time delay behind the reduction virtual applications input text realizes the visit of virtual application system client to local resource.Be implemented in its client peripheral hardware of client support that application layer realizes the virtual application system; Be implemented in its client peripheral hardware of client support that Drive Layer realizes the virtual application system; Under virtualized environment for user's application offers convenience, to be implemented under the virtual application environment operating experience that obtains to approach local application.

Claims (43)

1.一种在虚拟应用环境下改善用户体验的方法,用于降低虚拟应用程序输入文本后的回显时延,其特征在于,应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:1. A method for improving user experience in a virtual application environment, used to reduce the echo delay after virtual application program input text, it is characterized in that, being applied to a virtual application system comprising a client and a server, the method comprises the following step: 步骤1,用户在该客户端输入字符,该客户端拦截该字符;Step 1, the user inputs characters on the client, and the client intercepts the characters; 步骤2,该客户端缓存该字符,并且,该客户端的用户显示界面实时显示该字符;Step 2, the client caches the character, and the user display interface of the client displays the character in real time; 步骤3,该客户端将用户此次输入所缓存的所有字符通过客户端与服务器端间的虚拟通道发送至该服务器端;Step 3, the client sends all the characters cached by the user input this time to the server through the virtual channel between the client and the server; 步骤4,该服务器端根据接收到的字符产生用户显示界面的更新信息,该更新信息被发送至该客户端;Step 4, the server generates update information of the user display interface according to the received characters, and the update information is sent to the client; 步骤5,该客户端根据该更新信息更新用户显示界面。Step 5, the client updates the user display interface according to the update information. 2.如权利要求1所述的方法,其特征在于,该客户端拦截该字符的步骤进一步包括:在应用层或键盘驱动层或通过硬件中断方式拦截该字符。2. The method according to claim 1, wherein the step of intercepting the character by the client further comprises: intercepting the character at the application layer or the keyboard driver layer or through a hardware interrupt. 3.如权利要求1所述的方法,其特征在于,该客户端拦截该字符的步骤进一步包括:3. The method according to claim 1, wherein the step of intercepting the character by the client further comprises: 该客户端在收到用户的输入动作所对应的键盘扫描码后,调用键盘HOOK,该键盘HOOK拦截该键盘扫描码,避免将其直接发送到该服务器端。After receiving the keyboard scan code corresponding to the user's input action, the client calls the keyboard HOOK, and the keyboard HOOK intercepts the keyboard scan code to avoid sending it directly to the server. 4.如权利要求1所述的方法,其特征在于,当用户持续输入字符时,循环执行步骤1、2,当该客户端收到用户发出的提交命令时,执行步骤3。4. The method according to claim 1, wherein when the user continues to input characters, steps 1 and 2 are executed cyclically, and when the client receives a submission command from the user, step 3 is executed. 5.如权利要求1、2、3或4所述的方法,其特征在于,步骤4进一步包括:5. The method according to claim 1, 2, 3 or 4, wherein step 4 further comprises: 该服务器端的被虚拟的应用程序在其用户显示界面中填入所收到的所有字符,该服务器端监测该被虚拟的应用程序的用户显示界面发生的变化,计算界面变化数据从而得到用户显示界面的更新信息。The virtualized application program on the server side fills in all the received characters in its user display interface, the server side monitors the changes in the user display interface of the virtualized application program, and calculates the interface change data to obtain the user display interface update information. 6.如权利要求1、2、3或4所述的方法,其特征在于,该客户端包括移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。6. The method according to claim 1, 2, 3 or 4, wherein the client includes a mobile terminal, and the mobile terminal includes a smart phone, a personal digital assistant, a tablet computer, a computer with a wireless communication module, a vehicle-mounted mobile communication equipment. 7.如权利要求5所述的方法,其特征在于,步骤5进一步包括:该更新信息中包括字符显示格式信息,该客户端根据该字符显示格式信息显示字符。7. The method according to claim 5, wherein step 5 further comprises: the update information includes character display format information, and the client displays characters according to the character display format information. 8.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于降低虚拟应用程序输入文本后的回显时延,其特征在于,8. A virtual application system, comprising a client, a server and a virtual channel connecting the client and the server, for reducing the echo delay after the virtual application input text, characterized in that, 该客户端进一步包括:The client further includes: 拦截模块,用于拦截用户在该客户端输入的字符;An interception module, configured to intercept characters entered by the user at the client; 缓存模块,用于缓存该拦截模块所拦截的字符;A cache module, for caching the characters intercepted by the interception module; 显示模块,用于对该拦截模块所拦截的字符进行实时显示;A display module, configured to display in real time the characters intercepted by the interception module; 该虚拟通道用于传送用户此次输入所缓存的所有字符至该服务器端,以及,传送该服务器端产生的一更新信息至该客户端;The virtual channel is used to transmit all characters buffered by the user input this time to the server, and transmit an update message generated by the server to the client; 该服务器端根据接收到的字符产生该更新信息,该更新信息是该客户端更新该显示模块的用户显示界面的依据。The server generates the update information according to the received characters, and the update information is the basis for the client to update the user display interface of the display module. 9.如权利要求8所述的系统,其特征在于,该拦截模块为键盘HOOK,该键盘HOOK拦截该客户端收到的该字符所对应的键盘扫描码,避免将其直接发送到该服务器端。9. The system according to claim 8, wherein the interception module is a keyboard HOOK, and the keyboard HOOK intercepts the keyboard scan code corresponding to the character received by the client to avoid sending it directly to the server . 10.如权利要求8所述的系统,其特征在于,该客户端包括移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。10. The system according to claim 8, wherein the client includes a mobile terminal, and the mobile terminal includes a smart phone, a personal digital assistant, a tablet computer, a computer with a wireless communication module, and a vehicle-mounted mobile communication device. 11.如权利要求8所述的系统,其特征在于,该更新信息中包括字符显示格式信息,该客户端根据该字符显示格式信息显示字符。11. The system according to claim 8, wherein the update information includes character display format information, and the client displays characters according to the character display format information. 12.一种在虚拟应用环境下改善用户体验的方法,用于实现虚拟应用系统客户端对本地资源的访问,其特征在于,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:12. A method for improving user experience in a virtual application environment, used to realize the access of a virtual application system client to local resources, characterized in that the method is applied to a virtual application system including a client and a server, and the method includes Follow the steps below: 步骤1,客户端将调用客户端的本地资源所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;Step 1, the client sends the operation instruction generated by invoking the local resources of the client to the server through the virtual channel between the client and the server; 步骤2,该服务器端的被虚拟的应用程序根据该操作指令调用该服务器端的虚拟资源控制管理器;Step 2, the virtualized application program on the server side invokes the virtual resource control manager on the server side according to the operation instruction; 步骤3,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;Step 3, the virtual resource control manager converts the operation instruction into a client local resource request instruction, and sends it to the client through the virtual channel; 步骤4,该客户端的本地资源控制管理器根据该客户端本地资源请求指令调用本地资源,并将调用结果返回该服务器端。Step 4, the local resource control manager of the client invokes the local resource according to the local resource request instruction of the client, and returns the calling result to the server. 13.如权利要求12所述的方法,其特征在于,该将调用结果返回该服务器端的步骤可通过调用返回、进程通信、事件通知的方式实现。13. The method according to claim 12, characterized in that, the step of returning the call result to the server can be realized by means of call return, process communication, and event notification. 14.如权利要求12或13所述的方法,其特征在于,该客户端包括移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。14. The method according to claim 12 or 13, wherein the client includes a mobile terminal, and the mobile terminal includes a smart phone, a personal digital assistant, a tablet computer, a computer with a wireless communication module, and a vehicle-mounted mobile communication device. 15.如权利要求12所述的方法,其特征在于,步骤3进一步包括:15. The method of claim 12, wherein step 3 further comprises: 该服务器端依照一频率向该客户端依次发送指令数据包Servern,n=1,2,……N,该指令数据包Servern携带有该客户端本地资源请求指令;The server sends command data packets to the client sequentially according to a frequency, Server n , n=1, 2, ... N, and the command data packets Server n carry the client's local resource request command; 步骤4进一步包括:该客户端依次针对接收到的每个该指令数据包Servern,分别依据每个该客户端本地资源请求指令提取相应的客户端本地资源,并分别将该客户端本地资源封装成对应该指令数据包Servern的响应数据包Clientn,n=1,2,……N,发送给该服务器端;Step 4 further includes: the client sequentially extracts corresponding client local resources according to each client local resource request instruction for each received instruction packet Server n respectively, and encapsulates the client local resources respectively The response data packet Client n corresponding to the command data packet Server n , n=1, 2, ... N, is sent to the server end; 步骤4之后还包括:After step 4 also include: 步骤5,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;Step 5, the server side checks the received response data packet Client n , and discards the response data packet Client N with a verification error; 步骤6,该服务器端重新发送与该丢弃的响应数据包ClientN对应的指令数据包ServerN至该客户端,跳转执行步骤4,直到所有响应数据包Clientn都校验正确;Step 6, the server resends the command data packet Server N corresponding to the discarded response data packet Client N to the client, and jumps to step 4 until all the response data packets Client n are verified correctly; 步骤7,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。In step 7, the server side extracts the data in all the received response data packets, sorts and integrates them together. 16.如权利要求12所述的方法,其特征在于,步骤3进一步包括:该服务器端向该客户端发送一总指令数据包,其中包括有该客户端本地资源请求指令的所有信息;16. The method according to claim 12, wherein step 3 further comprises: the server sends a general command packet to the client, including all information of the client's local resource request command; 步骤4进一步包括:Step 4 further includes: 步骤401,该客户端根据该客户端本地资源请求指令对应提取相应的客户端本地资源;Step 401, the client correspondingly extracts the corresponding client local resource according to the client local resource request instruction; 步骤402,该客户端将该本地资源封装为至少一个响应数据包Clientn,n=1,2,……N,依次发送至该服务器端;Step 402, the client encapsulates the local resource into at least one response data packet Client n , n=1, 2, ... N, and sends them to the server in turn; 步骤4之后进一步包括:After step 4, further include: 步骤51,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;Step 51, the server side checks the received response data packet Client n , and discards the response data packet Client N with a verification error; 步骤61,该服务器端将对应该校验错误的响应数据包ClientN所携带的数据的客户端本地资源请求指令,封装为指令数据包ServerN,发送至该客户端,跳转执行步骤401,直到所有响应数据包Clientn都校验正确;Step 61, the server encapsulates the client local resource request instruction corresponding to the data carried by the response data packet Client N that should be verified incorrectly into an instruction data packet Server N , sends it to the client, and jumps to step 401, Until all response packets Client n are verified correctly; 步骤71,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。Step 71, the server side extracts the data in all the received response data packets, sorts and integrates them together. 17.如权利要求12所述的方法,其特征在于,步骤3进一步包括:该服务器端向该客户端发送一总指令数据包Server,其中包括有该客户端本地资源请求指令的所有信息;17. The method according to claim 12, wherein step 3 further comprises: the server sends a general command packet Server to the client, which includes all information of the client's local resource request command; 步骤4进一步包括:Step 4 further includes: 步骤401’,该客户端根据该客户端本地资源请求指令对应提取相应的客户端本地资源;Step 401', the client correspondingly extracts the corresponding client local resource according to the client local resource request instruction; 步骤402’,该客户端将该客户端本地资源的一部分封装为响应数据包,发送至该服务器端;例如把本地资源的第一部分封装起来并发送。Step 402', the client encapsulates a part of the client's local resources into a response packet and sends it to the server; for example, the first part of the local resource is encapsulated and sent. 步骤403’,该客户端本地触发一指令数据包Servern,n=2,……N,并根据该指令数据包封装另一部分的该本地资源为响应数据包Clientn,发送至该服务器端,n加1,重复执行步骤403’,直至所有的该本地资源均发送至该服务器端;Step 403', the client locally triggers an instruction packet Server n , n=2, ... N, and encapsulates another part of the local resource as a response packet Client n according to the instruction packet, and sends it to the server, n is increased by 1, and step 403' is repeatedly executed until all the local resources are sent to the server; 步骤4之后进一步包括:After step 4, further include: 步骤51,该服务器端对接收到的该响应数据包Clientn进行校验,将校验错误的响应数据包ClientN丢弃;Step 51, the server side checks the received response data packet Client n , and discards the response data packet Client N with a verification error; 步骤61,该服务器端将对应该校验错误的响应数据包ClientN所携带的数据的客户端本地资源请求指令,封装为指令数据包ServerN,发送至该客户端,客户端提取对应的本地资源重新封装为ClientN,发送至服务器端,跳转执行步骤51,直到所有响应数据包Clientn都校验正确;Step 61, the server encapsulates the client local resource request instruction corresponding to the data carried by the response data packet Client N that should be verified incorrectly into an instruction data packet Server N , and sends it to the client, and the client extracts the corresponding local resource request instruction. The resource is repackaged as Client N , sent to the server, and jumps to step 51 until all response data packets Client n are verified correctly; 步骤71,该服务器端将接收到的所有响应数据包中的数据进行提取,排序后整合在一起。Step 71, the server side extracts the data in all the received response data packets, sorts and integrates them together. 18.如权利要求15、16或17所述的方法,其特征在于,该步骤5或51中,该服务器端依据接收到的该响应数据包的顺序,依次进行校验。18. The method according to claim 15, 16 or 17, characterized in that, in step 5 or 51, the server side performs verification in sequence according to the order of the response data packets received. 19.如权利要求15所述的方法,其特征在于,如果该服务器端在该步骤3未完全执行完毕时收到了该响应数据包,则同时执行步骤5和步骤3。19. The method according to claim 15, wherein if the server receives the response data packet before step 3 is completely executed, step 5 and step 3 are executed simultaneously. 20.如权利要求15所述的方法,其特征在于,该步骤4中,该客户端依照该频率发送该响应数据包至该服务器端。20. The method according to claim 15, wherein in step 4, the client sends the response packet to the server according to the frequency. 21.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于实现虚拟应用系统客户端对本地资源的访问,其特征在于,21. A virtual application system, comprising a client, a server and a virtual channel connecting the client and the server, for realizing the virtual application system client access to local resources, characterized in that, 该服务器端加载有被虚拟的应用程序,并且设置有虚拟资源控制管理器;The server end is loaded with a virtualized application program, and is provided with a virtual resource control manager; 该被虚拟的应用程序在收到通过该虚拟通道传送来的调用客户端本地资源所产生的操作指令时,调用该虚拟资源控制管理器,该虚拟资源控制管理器将该操作指令转换为客户端本地资源请求指令,并将其通过该虚拟通道发送至该客户端;When the virtualized application program receives the operation instruction generated by invoking the local resources of the client transmitted through the virtual channel, it calls the virtual resource control manager, and the virtual resource control manager converts the operation instruction into the client A local resource request command is sent to the client through the virtual channel; 该客户端具有本地资源控制管理器,用于根据该客户端本地资源请求指令调用客户端的本地资源,并将调用结果返回该服务器端。The client has a local resource control manager, which is used to call the local resources of the client according to the client's local resource request instruction, and return the calling result to the server. 22.如权利要求21所述的系统,其特征在于,该客户端通过调用返回、进程通信、事件通知的方式将调用结果返回该服务器端。22. The system according to claim 21, wherein the client returns the call result to the server by means of call return, process communication, and event notification. 23.如权利要求21或22所述的系统,其特征在于,该客户端包括移动终端,该移动终端包括智能手机、个人数字助理、平板电脑、具有无线通信模块的计算机、车载移动通信设备。23. The system according to claim 21 or 22, wherein the client includes a mobile terminal, and the mobile terminal includes a smart phone, a personal digital assistant, a tablet computer, a computer with a wireless communication module, and a vehicle-mounted mobile communication device. 24.一种在虚拟应用环境下改善用户体验的方法,用于在应用层实现虚拟应用系统的客户端支持其客户端外设,其特征在于,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:24. A method for improving user experience in a virtual application environment, which is used to implement the client of the virtual application system at the application layer to support its client peripherals, characterized in that the method is applied to virtual applications including the client and the server system, the method includes the steps of: 步骤1,客户端将访问客户端的外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;Step 1, the client sends the operation instructions generated by accessing the peripherals of the client to the server through the virtual channel between the client and the server; 步骤2,该服务器端的被虚拟的应用程序根据该操作指令调用访问该外设的API调用指令;Step 2, the virtualized application program on the server side invokes an API call instruction to access the peripheral device according to the operation instruction; 步骤3,该服务器端拦截该API调用指令并将其通过客户端与服务器端间的虚拟通道发送至该客户端;Step 3, the server intercepts the API call instruction and sends it to the client through the virtual channel between the client and the server; 步骤4,该客户端解析该API调用指令,封装成该客户端的操作系统所能识别的API调用指令;Step 4, the client parses the API call command, and encapsulates it into an API call command that can be recognized by the client's operating system; 步骤5,该客户端根据该操作系统所能识别的API调用指令在应用层访问相应的外设。Step 5, the client accesses the corresponding peripherals at the application layer according to the API calling instructions recognized by the operating system. 25.如权利要求24所述的方法,其特征在于,该步骤3进一步包括:该API调用指令被调用时触发该服务器端的应用HOOK,该应用HOOK拦截该API调用指令,不发送至该服务器端的设备驱动。25. The method according to claim 24, characterized in that step 3 further comprises: when the API call instruction is invoked, an application HOOK on the server is triggered, and the application HOOK intercepts the API call instruction and does not send it to the server-side device driver. 26.如权利要求24所述的方法,其特征在于,该API调用指令包括访问外设所用的API名称及调用参数。26. The method according to claim 24, wherein the API calling instruction includes an API name and calling parameters used to access the peripheral. 27.如权利要求24所述的方法,其特征在于,该步骤3进一步包括:该服务器端在应用层内部或者外部拦截该API调用指令。27. The method according to claim 24, wherein the step 3 further comprises: the server side intercepts the API call instruction inside or outside the application layer. 28.如权利要求24所述的方法,其特征在于,该步骤5进一步包括:该操作系统所能识别的API调用指令被发送往客户端的操作系统,据以产生I/O请求,该I/O请求被发送往与该外设对应的客户端的设备驱动,该设备驱动调用客户端的设备总线驱动,以产生外设控制指令并发送到客户端的设备控制器,该设备控制器根据该外设控制指令完成对该外设的调用。28. The method according to claim 24, characterized in that, step 5 further comprises: the API call instruction recognized by the operating system is sent to the operating system of the client, so as to generate an I/O request, the I/O The O request is sent to the device driver of the client corresponding to the peripheral, and the device driver calls the device bus driver of the client to generate a peripheral control command and send it to the device controller of the client. instruction completes the call to the peripheral. 29.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于在应用层实现虚拟应用系统的客户端可支持其客户端外设,其特征在于,包括:29. A virtual application system, comprising a client, a server and a virtual channel connecting the client and the server, the client for implementing the virtual application system at the application layer can support its client peripherals, characterized in that it includes: 该服务器端设置有被虚拟的应用程序以及拦截模块,该被虚拟的应用程序根据该服务器端所接收到的访问客户端的外设所产生的操作指令调用访问该外设的API调用指令,该拦截模块拦截该API调用指令并将其通过客户端与服务器端间的虚拟通道发送至该客户端;The server is provided with a virtualized application program and an interception module, and the virtualized application program invokes an API call instruction for accessing the peripheral device according to the operation instruction generated by the server-side for accessing the peripheral device of the client, and the intercepted The module intercepts the API call command and sends it to the client through the virtual channel between the client and the server; 该客户端设置有设备控制管理器,该设备控制管理器解析该API调用指令,封装成该客户端的操作系统所能识别的API调用指令,借以在应用层访问相应的外设。The client is provided with a device control manager. The device control manager parses the API call command and encapsulates it into an API call command that can be recognized by the client's operating system, so as to access the corresponding peripherals at the application layer. 30.如权利要求29所述的系统,其特征在于,该拦截模块为应用HOOK,该API调用指令被发出时触发应用HOOK,该应用HOOK拦截该API调用指令,不发送至该服务器端的设备驱动。30. The system according to claim 29, wherein the interception module is an application HOOK, and the application HOOK is triggered when the API call command is issued, and the application HOOK intercepts the API call command and does not send it to the device driver on the server side . 31.如权利要求29所述的系统,其特征在于,该API调用指令包括访问外设所用的API名称及调用参数。31. The system according to claim 29, wherein the API calling instruction includes an API name and calling parameters used to access the peripheral. 32.如权利要求29所述的系统,其特征在于,该客户端还包括设备驱动、设备总线驱动以及设备控制器,该操作系统所能识别的API调用指令被发送往客户端的操作系统,产生I/O请求,该I/O请求被发送往与该外设对应的设备驱动,该设备驱动调用设备总线驱动,产生外设控制指令并发送到设备控制器,该设备控制器根据该外设控制指令完成对该外设的调用。32. The system according to claim 29, wherein the client further comprises a device driver, a device bus driver, and a device controller, and the API call command that the operating system can recognize is sent to the operating system of the client to generate I/O request, the I/O request is sent to the device driver corresponding to the peripheral, the device driver calls the device bus driver, generates a peripheral control command and sends it to the device controller, and the device controller The control instruction completes the call to the peripheral. 33.如权利要求29所述的系统,其特征在于,该服务器端安装有该外设的驱动程序和使用该外设的应用程序。33. The system according to claim 29, wherein the server is installed with a driver for the peripheral and an application for using the peripheral. 34.一种在虚拟应用环境下改善用户体验的方法,用于在驱动层实现虚拟应用系统的客户端支持其客户端外设,其特征在于,该方法应用于包括客户端与服务器端的虚拟应用系统,该方法包括如下步骤:34. A method for improving user experience in a virtual application environment, which is used to support the client peripherals of the virtual application system at the driver layer, characterized in that the method is applied to virtual applications including the client and the server system, the method includes the steps of: 步骤1,该客户端将其所连接的所有外设的外设信息发送至该服务器端;Step 1, the client sends the peripheral information of all the peripherals it is connected to the server; 步骤2,该客户端将用户操作客户端的一外设所产生的操作指令通过客户端与服务器端间的虚拟通道发送至该服务器端;Step 2, the client sends an operation instruction generated by the user operating a peripheral device of the client to the server through the virtual channel between the client and the server; 步骤3,该服务器端根据该操作指令产生调用该外设的I/O请求数据包;Step 3, the server generates an I/O request packet for calling the peripheral according to the operation instruction; 步骤4,该服务器端根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将其转发至该客户端;Step 4, the server judges whether the I/O request packet is used to call the client's peripheral according to the peripheral information, intercepts the I/O request packet that calls the client's peripheral, and passes through the virtual channel forward it to that client; 步骤5,该客户端依据该I/O请求数据包,驱动该外设。Step 5, the client drives the peripheral device according to the I/O request data packet. 35.如权利要求34所述的方法,其特征在于,该步骤1进一步包括:35. The method of claim 34, wherein step 1 further comprises: 步骤11,该客户端的设备控制管理器加载用户选择的所有外设的虚拟设备驱动;Step 11, the device control manager of the client loads the virtual device drivers of all peripherals selected by the user; 步骤12,该客户端的设备控制管理器将用户选择的所有外设的该外设信息发送至该服务器端的虚拟设备控制管理器,该虚拟设备控制管理器通知该服务器端的虚拟设备总线驱动拦截与该外设有关的指令。Step 12, the device control manager of the client sends the peripheral information of all the peripherals selected by the user to the virtual device control manager of the server, and the virtual device control manager notifies the virtual device bus driver of the server to intercept and communicate with the Peripheral related instructions. 36.如权利要求35所述的方法,其特征在于,该步骤3进一步包括:36. The method of claim 35, wherein step 3 further comprises: 该服务器端根据该操作指令发出访问外设的API调用指令,将该API调用指令转换为I/O请求数据包,发送该I/O请求数据包至服务器端的设备驱动,该设备驱动调用该虚拟设备总线驱动。The server sends an API call command to access the peripheral according to the operation command, converts the API call command into an I/O request packet, sends the I/O request packet to the device driver on the server side, and the device driver calls the virtual Device bus driver. 37.如权利要求36所述的方法,其特征在于,该步骤5进一步包括:37. The method of claim 36, wherein step 5 further comprises: 该客户端的设备控制管理器接收该I/O请求数据包并调用该客户端的虚拟设备驱动,该虚拟设备驱动将该I/O请求数据包发送到该客户端的设备总线驱动,该设备总线驱动产生外设控制命令并发送到客户端的设备控制器,该设备控制器根据该外设控制命令驱动该外设。The device control manager of the client receives the I/O request packet and invokes the virtual device driver of the client, and the virtual device driver sends the I/O request packet to the device bus driver of the client, and the device bus driver generates The peripheral device control command is sent to the device controller of the client, and the device controller drives the peripheral device according to the peripheral device control command. 38.如权利要求34所述的方法,其特征在于,该步骤4在的拦截步骤包括在虚拟设备总线上拦截或者以过滤驱动的方式拦截。38. The method according to claim 34, characterized in that the intercepting step in step 4 includes intercepting on the virtual device bus or intercepting in a filter-driven manner. 39.如权利要求34所述的方法,其特征在于,该步骤5之后还包括:该客户端将该外设的运行处理结果通过该虚拟通道传回该服务器端的虚拟设备总线驱动,该虚拟设备总线驱动将该运行处理结果反馈给服务器端的被虚拟的应用程序。39. The method according to claim 34, further comprising: after the step 5, the client sends the operation processing result of the peripheral device back to the server-side virtual device bus driver through the virtual channel, and the virtual device The bus driver feeds back the running processing result to the virtualized application program on the server side. 40.一种虚拟应用系统,包括客户端、服务器端以及连接客户端与服务器端的虚拟通道,用于在驱动层实现虚拟应用系统的客户端支持其客户端外设,其特征在于,40. A virtual application system, comprising a client, a server, and a virtual channel connecting the client and the server, used to support the client peripherals of the virtual application system at the driver layer, characterized in that, 该客户端包括设备控制管理器,该设备控制管理器将该客户端所连接的所有外设的外设信息发送至该服务器端;The client includes a device control manager, and the device control manager sends peripheral information of all peripheral devices connected to the client to the server; 该服务器端包括虚拟设备控制管理器以及虚拟设备总线驱动,该虚拟设备控制管理器接收该外设信息,该虚拟设备总线驱动用于根据该外设信息拦截与该外设有关的指令;The server side includes a virtual device control manager and a virtual device bus driver, the virtual device control manager receives the peripheral information, and the virtual device bus driver is used to intercept instructions related to the peripheral according to the peripheral information; 该服务器端的操作系统根据传送到该服务器端的用户操作该客户端的一外设所产生的操作指令,产生调用该外设的I/O请求数据包;The operating system at the server side generates an I/O request packet for calling the peripheral device according to an operation instruction generated by the user operating a peripheral device of the client terminal transmitted to the server end; 其中,该虚拟设备总线驱动根据该外设信息判断该I/O请求数据包是否用于调用该客户端的外设,对调用该客户端的外设的I/O请求数据包进行拦截,通过该虚拟通道将该I/O请求数据包转发至该客户端,供该客户端依据该I/O请求数据包,驱动该外设。Wherein, the virtual device bus driver judges whether the I/O request packet is used to call the client's peripheral according to the peripheral information, intercepts the I/O request packet calling the client's peripheral, and passes the virtual The channel forwards the I/O request data packet to the client for the client to drive the peripheral device according to the I/O request data packet. 41.如权利要求40所述的系统,其特征在于,该客户端还包括虚拟设备驱动、设备总线驱动、设备控制器,该客户端的设备控制管理器接收该I/O请求数据包并调用该客户端的虚拟设备驱动,该虚拟设备驱动将该I/O请求数据包发送到该客户端的设备总线驱动,该设备总线驱动产生外设控制命令并发送到客户端的设备控制器,该设备控制器根据该外设控制命令驱动该外设。41. The system according to claim 40, wherein the client further comprises a virtual device driver, a device bus driver, and a device controller, and the device control manager of the client receives the I/O request packet and calls the The client's virtual device driver, the virtual device driver sends the I/O request packet to the client's device bus driver, the device bus driver generates peripheral control commands and sends them to the client's device controller, the device controller according to The peripheral control command drives the peripheral. 42.如权利要求40所述的系统,其特征在于,该虚拟设备总线驱动通过在虚拟设备总线上拦截或者过滤驱动的方式进行拦截。42. The system according to claim 40, wherein the virtual device bus driver is intercepted by intercepting or filtering the driver on the virtual device bus. 43.如权利要求40所述的系统,其特征在于,该服务器端安装有该外设的驱动程序和使用该外设的应用程序。43. The system according to claim 40, wherein the server is installed with a driver for the peripheral and an application for using the peripheral.
CN2011104351520A 2010-12-22 2011-12-22 Method and virtual application system for improving user experience in virtual application environment Pending CN102685196A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104351520A CN102685196A (en) 2010-12-22 2011-12-22 Method and virtual application system for improving user experience in virtual application environment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201010601581.6 2010-12-22
CN201010601581 2010-12-22
CN2011104351520A CN102685196A (en) 2010-12-22 2011-12-22 Method and virtual application system for improving user experience in virtual application environment

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410216436.4A Division CN104038535A (en) 2010-12-22 2011-12-22 Method for improving user experience in virtual application environment and virtual application system

Publications (1)

Publication Number Publication Date
CN102685196A true CN102685196A (en) 2012-09-19

Family

ID=46816555

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2011104351520A Pending CN102685196A (en) 2010-12-22 2011-12-22 Method and virtual application system for improving user experience in virtual application environment
CN201410216436.4A Pending CN104038535A (en) 2010-12-22 2011-12-22 Method for improving user experience in virtual application environment and virtual application system

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201410216436.4A Pending CN104038535A (en) 2010-12-22 2011-12-22 Method for improving user experience in virtual application environment and virtual application system

Country Status (1)

Country Link
CN (2) CN102685196A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051695A (en) * 2012-12-13 2013-04-17 广东好帮手电子科技股份有限公司 Method and system for inputting information to vehicle-mounted application software by utilizing mobile phone
CN103186405A (en) * 2013-02-25 2013-07-03 北京网御星云信息技术有限公司 Method and device for implementing unified control of equipment
CN103218321A (en) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 Port mapping method based on all-in-one machine
CN103269370A (en) * 2013-05-22 2013-08-28 北京奇虎科技有限公司 Display method, client terminal, server and system for extending and recommending browser
CN103390141A (en) * 2013-06-28 2013-11-13 无锡华御信息技术有限公司 Secret divulging prevention method for preventing shooting screen
CN103886198A (en) * 2014-03-17 2014-06-25 腾讯科技(深圳)有限公司 Data processing method, terminal, server and system
CN104202119A (en) * 2014-08-26 2014-12-10 联想(北京)有限公司 Data sending method, data sending system and electronic device
CN104639636A (en) * 2015-02-06 2015-05-20 黎建军 Mobile vehicle-based intelligent information management system
CN105846863A (en) * 2016-05-31 2016-08-10 青岛海信电器股份有限公司 Bluetooth based operation method and device
CN106970717A (en) * 2017-03-24 2017-07-21 海马云(天津)信息技术有限公司 The method and apparatus of server text information input
CN107432050A (en) * 2015-03-27 2017-12-01 华为技术有限公司 A kind of mobile terminal, base station, system and the method for operation application
CN108038729A (en) * 2017-12-18 2018-05-15 广东欧珀移动通信有限公司 Reward distribution method, device and server
CN108199926A (en) * 2018-01-31 2018-06-22 维沃移动通信有限公司 A kind of building method, relevant device and the system of mobile terminal virtual system
CN108197976A (en) * 2017-12-18 2018-06-22 广东欧珀移动通信有限公司 Reward distribution method, device and server
CN111324216A (en) * 2020-02-19 2020-06-23 北京视博云信息技术有限公司 Character input method, device and system for cloud application
CN111818085A (en) * 2020-07-24 2020-10-23 广州彩熠灯光股份有限公司 Ethernet graphic display system, processing and display method, server and client
CN112748831A (en) * 2020-12-23 2021-05-04 湖南麒麟信安科技股份有限公司 Method, device and medium for opening virtual application through desktop shortcut
CN119127094A (en) * 2024-11-14 2024-12-13 苏州元脑智能科技有限公司 Data access method, heterogeneous system, electronic device, medium and program product

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461731B (en) * 2014-10-23 2018-06-15 新华三技术有限公司 Resources of virtual machine recovery method and device in a kind of dynamic resource extension
CN105653936A (en) * 2014-11-12 2016-06-08 江苏威盾网络科技有限公司 Desktop virtualization system and method based on web sandbox technology
US9690525B2 (en) * 2015-05-06 2017-06-27 Citrix Systems, Inc. Availability of devices based on location
CN107291460B (en) * 2017-06-06 2021-02-05 深圳Tcl新技术有限公司 Television terminal, compiling server code control method and storage medium
CN110297976A (en) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 Recommended method, device, equipment and readable storage medium storing program for executing based on cloud retrieval
CN110769048B (en) * 2019-10-17 2022-04-05 山东乾云启创信息科技股份有限公司 Method and system for seamless connection between local and remote virtual desktops
CN110865870B (en) * 2019-11-14 2022-08-12 北京西山居互动娱乐科技有限公司 Application calling method and device based on hook technology
CN111569417A (en) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 Peripheral data transmission method and system for cloud games
CN115268955B (en) * 2022-08-02 2026-07-28 北京蔚领时代科技有限公司 Method and device for dynamically deleting man-machine interface equipment applied to cloud game

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1410909A (en) * 2001-09-27 2003-04-16 因特国风网络软件有限公司 Internet keyword analysis method and system
CN1495602A (en) * 2002-07-26 2004-05-12 株式会社理光 Imaging apparatus, information processing apparatus, program execution method, and program generation method
CN1949715A (en) * 2005-10-12 2007-04-18 腾讯科技(深圳)有限公司 Method for limiting browser access network address
WO2007145678A1 (en) * 2006-06-06 2007-12-21 Microsoft Corporation Remoting sub-pixel resolved characters
WO2009082872A1 (en) * 2007-12-26 2009-07-09 Prospective Group International Co., Limited Distribution method,operation method and system of application system in mobile communication network
WO2010122741A1 (en) * 2009-04-21 2010-10-28 株式会社デジタル Server device, server-client system, server program, and recording medium with same recorded thereon

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040039304A (en) * 2001-08-22 2004-05-10 피어리스 시스템즈 코퍼레이션 Output management system and method for enabling access to private network resources
CN100473070C (en) * 2005-03-04 2009-03-25 联想(北京)有限公司 A mapping method of USB device with storage function on network computer
CN100374999C (en) * 2005-03-28 2008-03-12 联想(北京)有限公司 A method for remote monitoring of network computer
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
CN101841761B (en) * 2010-02-09 2013-01-30 北京华夏未来信息技术有限公司 WWW content publishing method, operation method and system for mobile communication network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1410909A (en) * 2001-09-27 2003-04-16 因特国风网络软件有限公司 Internet keyword analysis method and system
CN1495602A (en) * 2002-07-26 2004-05-12 株式会社理光 Imaging apparatus, information processing apparatus, program execution method, and program generation method
CN1949715A (en) * 2005-10-12 2007-04-18 腾讯科技(深圳)有限公司 Method for limiting browser access network address
WO2007145678A1 (en) * 2006-06-06 2007-12-21 Microsoft Corporation Remoting sub-pixel resolved characters
WO2009082872A1 (en) * 2007-12-26 2009-07-09 Prospective Group International Co., Limited Distribution method,operation method and system of application system in mobile communication network
WO2010122741A1 (en) * 2009-04-21 2010-10-28 株式会社デジタル Server device, server-client system, server program, and recording medium with same recorded thereon

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103051695A (en) * 2012-12-13 2013-04-17 广东好帮手电子科技股份有限公司 Method and system for inputting information to vehicle-mounted application software by utilizing mobile phone
CN103186405B (en) * 2013-02-25 2016-05-11 北京网御星云信息技术有限公司 A kind of unified control method and device of realizing equipment
CN103186405A (en) * 2013-02-25 2013-07-03 北京网御星云信息技术有限公司 Method and device for implementing unified control of equipment
CN103218321A (en) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 Port mapping method based on all-in-one machine
CN103269370A (en) * 2013-05-22 2013-08-28 北京奇虎科技有限公司 Display method, client terminal, server and system for extending and recommending browser
CN103390141A (en) * 2013-06-28 2013-11-13 无锡华御信息技术有限公司 Secret divulging prevention method for preventing shooting screen
US10173135B2 (en) 2014-03-17 2019-01-08 Tencent Technology (Shenzhen) Company Limited Data processing method, terminal and server
CN103886198B (en) * 2014-03-17 2016-12-07 腾讯科技(深圳)有限公司 Method, terminal, server and the system that a kind of data process
US9737806B2 (en) 2014-03-17 2017-08-22 Tencent Technology (Shenzhen) Company Limited Data processing method, terminal and server
CN103886198A (en) * 2014-03-17 2014-06-25 腾讯科技(深圳)有限公司 Data processing method, terminal, server and system
CN104202119A (en) * 2014-08-26 2014-12-10 联想(北京)有限公司 Data sending method, data sending system and electronic device
CN104202119B (en) * 2014-08-26 2018-04-27 联想(北京)有限公司 A kind of data transmission method for uplink, system and electronic equipment
CN104639636A (en) * 2015-02-06 2015-05-20 黎建军 Mobile vehicle-based intelligent information management system
CN107432050A (en) * 2015-03-27 2017-12-01 华为技术有限公司 A kind of mobile terminal, base station, system and the method for operation application
CN105846863A (en) * 2016-05-31 2016-08-10 青岛海信电器股份有限公司 Bluetooth based operation method and device
CN105846863B (en) * 2016-05-31 2019-07-05 青岛海信电器股份有限公司 A kind of operating method and equipment based on bluetooth
CN106970717A (en) * 2017-03-24 2017-07-21 海马云(天津)信息技术有限公司 The method and apparatus of server text information input
CN108197976A (en) * 2017-12-18 2018-06-22 广东欧珀移动通信有限公司 Reward distribution method, device and server
CN108038729A (en) * 2017-12-18 2018-05-15 广东欧珀移动通信有限公司 Reward distribution method, device and server
CN108197976B (en) * 2017-12-18 2022-03-18 Oppo广东移动通信有限公司 Reward issuing method, device and server
CN108199926A (en) * 2018-01-31 2018-06-22 维沃移动通信有限公司 A kind of building method, relevant device and the system of mobile terminal virtual system
CN111324216A (en) * 2020-02-19 2020-06-23 北京视博云信息技术有限公司 Character input method, device and system for cloud application
CN111324216B (en) * 2020-02-19 2024-05-14 北京视博云信息技术有限公司 Character input method, device and system for cloud application
CN111818085A (en) * 2020-07-24 2020-10-23 广州彩熠灯光股份有限公司 Ethernet graphic display system, processing and display method, server and client
CN112748831A (en) * 2020-12-23 2021-05-04 湖南麒麟信安科技股份有限公司 Method, device and medium for opening virtual application through desktop shortcut
CN119127094A (en) * 2024-11-14 2024-12-13 苏州元脑智能科技有限公司 Data access method, heterogeneous system, electronic device, medium and program product
CN119127094B (en) * 2024-11-14 2025-02-25 苏州元脑智能科技有限公司 Data access method, heterogeneous system, electronic device, medium and program product

Also Published As

Publication number Publication date
CN104038535A (en) 2014-09-10

Similar Documents

Publication Publication Date Title
CN104038535A (en) Method for improving user experience in virtual application environment and virtual application system
US8396992B2 (en) System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable media with processing capability
CN101889427B (en) Application system release method and system for mobile communication network
CN108829528B (en) Content sharing method and device, message processing method and device
CN107040543B (en) Single sign-on method, terminal and storage medium
US8681811B2 (en) System and method for obtaining cross compatibility with a plurality of thin-client platforms
CN103460670A (en) Method and system for conducting a remote desktop session using an HTTP handler and a remote desktop client common interface
WO2021036940A1 (en) Method for multiple displays to access cloud desktop, system, cloud desktop client and cloud desktop server
CN102447720A (en) Method for remotely controlling PC (personal computer) by mobile phone
CN101909061A (en) Creation and application method of dynamic virtual channel based on remote display protocol
CN105827725A (en) Application operating and controlling method and apparatus, and application remote operating and controlling method and apparatus
CN103176834A (en) Method and device for calling expansion interface
CN103838375B (en) Terminal input method and terminal
WO2019119280A1 (en) Service processing method, cloud server, and terminal device
CN111078104A (en) Redirection method of multi-point touch equipment on cloud desktop and computer equipment
CN103513858A (en) Remote assistance method and device
CN112688915A (en) Cross-protocol communication method, device and server
CN111078429A (en) Method for calling local input method of web browser by cloud mobile phone
WO2023070834A1 (en) Method and system for communication between applet and webpage, and related device
CN109299331A (en) Air shows the method and device of the hypertext markup language HTML5 page
CN111314442B (en) Terminal control method, device, terminal and computer equipment based on time-sharing control
US7827329B2 (en) Character interactive input/output
CN111163455A (en) User identification number migration method, device, terminal and storage medium
CN104270336B (en) The migration method, apparatus and system of remote applications running terminal
CN101478561B (en) Method for routing user inputs between applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100085 room B, block B307, No. 9, 3rd Street, Beijing, Haidian District

Applicant after: Beijing Huaxia future information technology Limited by Share Ltd

Address before: 100085 room B, block B307, No. 9, 3rd Street, Beijing, Haidian District

Applicant before: Beijing ChinaFuture Information Technology Inc.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: BEIJING CHINAFUTURE INFORMATION TECHNOLOGY INC. TO: BEIJING CHNFUTURE INFORMATION TECHNOLOGY CO., LTD.

C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120919