WO2016197862A1 - 一种数据传输方法、装置和智能电视系统 - Google Patents
一种数据传输方法、装置和智能电视系统 Download PDFInfo
- Publication number
- WO2016197862A1 WO2016197862A1 PCT/CN2016/084599 CN2016084599W WO2016197862A1 WO 2016197862 A1 WO2016197862 A1 WO 2016197862A1 CN 2016084599 W CN2016084599 W CN 2016084599W WO 2016197862 A1 WO2016197862 A1 WO 2016197862A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input signal
- input
- client
- service providing
- providing device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
Definitions
- the present application relates to the field of Internet technologies, and in particular, to an input transmission method, a data transmission device, and a smart television system.
- the network TV box also called the smart TV box, is a device that connects the TV to the Internet.
- the TV is connected to the Internet through a network TV box to watch online TV programs. Therefore, the "network TV box” can be regarded as a "set top box” for obtaining video programs via the Internet.
- the server needs to perform a series of processing operations on the input signals of the network TV box and transmit it to the hardware for feedback.
- the processing process is cumbersome and scalable. low.
- the technical problem to be solved by the embodiments of the present application is to provide a data transmission method to implement a cloud response to user control.
- the embodiment of the present application further provides a data transmission device and a smart television system to ensure implementation and application of the foregoing method.
- the present application discloses a data transmission method, including: a service providing device generates a virtual input device after establishing a connection with a client; receives an input signal sent by the client; and writes an input signal to the virtual An input device that distributes the input signal corresponding input event by the virtual input device in response to the input signal; and feeds back response information in response to the input signal to the client.
- the method further includes: the service providing device monitors a port after starting, and receives a signal from the port to establish a long connection with the client; and the service providing device generates a virtuality after establishing a connection with the client.
- Input The device includes: after the long connection is successfully established, generating a virtual input device in the user space.
- the generating a virtual input device in the user space includes: starting an input device; adding an event type to the input device by using the driving device, and writing basic information of the virtual input device; according to the input device A virtual input device is generated within the user space.
- distributing, by the virtual input device, the input signal corresponding input event in response to the input signal comprising: the virtual input device determining an input event corresponding to the input signal; distributing the input event Respond to the upper application or operating system to generate corresponding response information.
- the method further includes: decrypting the input signal; mapping the decrypted input signal to corresponding key value information according to a preset rule; the virtual input device Determining an input event corresponding to the input signal, the virtual input device searching for an input event corresponding to the key value information.
- decrypting the input signal includes: performing symmetric decryption or asymmetric decryption on the encrypted input signal to obtain a decrypted binary input signal or decrypted key value information.
- distributing the input event to an upper layer application or an operating system for response processing, and generating corresponding response information including: distributing the input event to an upper layer application or an operating system; and obtaining, by the upper layer application or the operating system Causing a user interface for the input event; buffering the user interface to generate a corresponding transport stream as response information to display a user interface responsive to the input signal at the client.
- the data transmission method is applied to a smart television system; wherein the smart television system comprises: at least one server, at least one client, at least one service providing device; wherein the server is used to send to the client
- the terminal allocates a service providing device; the client is set in a smart TV, and the service providing device is disposed on the network side for providing an Internet service for the connected client through the network.
- the smart television system further includes at least one user data information storage device; the at least one user data information storage device includes: at least one user partition; wherein the at least one user partition is used to store different clients respectively User data corresponding to the end.
- the service providing device includes: a network set top box; the Internet service includes at least one of the following: a live television, an audio and video service, a web service, and a game service.
- the embodiment of the present application further discloses a data transmission method, including: establishing a connection between a client and a service providing device after starting; receiving an original signal, determining an input signal according to the original signal; and transmitting the input signal to the service providing device And causing the service providing device to respond to the input information; receiving response information fed back by the service providing device, and performing display processing on the response information.
- the determining the input signal according to the original signal includes: performing mapping processing on the original signal according to a preset rule to obtain a corresponding input signal, where the mapping process includes any one of the following: when detecting When the original signal does not belong to the standard input signal of the specified system, the original signal is mapped to a standard input signal of the specified system; the original signal is determined to correspond to the key value information, and the key value information is mapped into digital information as input signal.
- the method further includes: performing binarization processing on the standard input signal of the specified system to obtain a binary input signal; and performing symmetric encryption or asymmetric encryption on the binary input signal to obtain an encrypted input signal.
- the determining the key information corresponding to the original signal includes: detecting an operating system; determining, when belonging to the first operating system, determining a key value corresponding to the original signal, and acquiring the key according to the key value mapping table The key value information corresponding to the key value; when belonging to the second operating system, obtaining the key value information according to the key response by monitoring the key response of the original input signal; the method further includes: The digital information is symmetrically encrypted or asymmetrically encrypted to obtain an encrypted input signal.
- the response information includes a transport stream generated by encoding user interface data that is responsive to the input signal, and the displaying the response information includes: parsing the transport stream, and displaying, in response to the The user interface for the input signal.
- the method further includes: the client and the service providing device maintain an encrypted connection according to a heartbeat manner, and automatically perform a reconnection step after detecting that the connection is disconnected.
- the data transmission method is applied to a smart television system; wherein the smart television system comprises: at least one server, at least one client, at least one service providing device; wherein the server is used to send to the client
- the terminal allocates a service providing device; the client is set in a smart TV, and the service providing device is disposed on the network side for providing an Internet service for the connected client through the network.
- the smart television system further includes at least one user data information storage device; the at least one user data information storage device includes: at least one user partition; wherein the at least one user partition is used to store different clients respectively User data corresponding to the end.
- the service providing device includes: a network set top box; the Internet service includes at least one of the following: a live television, an audio and video service, a web service, and a game service.
- the embodiment of the present application further discloses a data transmission device, including: an input device virtual module, configured to generate a virtual input device after establishing a connection with a client; and a first communication module, configured to receive an input signal sent by the client And feeding back response information in response to the input signal to the client; a virtual response module for An input signal is written to the virtual input device, and the input signal is distributed by the virtual input device in response to the input signal.
- the first communications module is further configured to: monitor a port after booting; receive a signal from the port to establish a long connection with the client; and the input device virtual module is configured to be in the long After the connection is successfully established, a virtual input device is generated in the user space.
- the input device virtual module is configured to start an input device; add an event type to the input device by using the driving device, and write basic information of the virtual input device; according to the input device in the user space Generate a virtual input device within.
- the virtual response module includes: an event determining submodule, configured to determine, by the virtual input device, an input event corresponding to the input signal; and a distribution and response submodule, configured to distribute the input event to an upper application Or the operating system performs response processing to generate corresponding response information.
- the first communication module is further configured to decrypt the input signal;
- the virtual response module further includes: a mapping submodule, configured to map the decrypted input signal into a preset rule according to a preset rule.
- Corresponding key value information e.g., the event determining submodule, configured to: the virtual input device search for an input event corresponding to the key value information.
- the first communication module is configured to perform symmetric decryption or asymmetric decryption on the input signal to obtain a decrypted binary input signal or decrypted key value information.
- distributing and responding to the submodule for distributing the input event to an upper layer application or an operating system the upper layer application or operating system acquiring a user interface cache responsive to the input event; caching the user interface
- the encoding generates a corresponding transport stream as response information to display a user interface responsive to the input signal at the client.
- the embodiment of the present application further discloses a data transmission apparatus, including: a second communication module, configured to establish a connection with a service providing device after startup; and send an input signal to the service providing device, so that the service providing device is Responding to input information; and receiving response information fed back by the service providing device; an input receiving module for receiving an original signal; a signal processing module for determining an input signal according to the original signal; and a display module for responding to the response The information is displayed and processed.
- a second communication module configured to establish a connection with a service providing device after startup; and send an input signal to the service providing device, so that the service providing device is Responding to input information; and receiving response information fed back by the service providing device
- an input receiving module for receiving an original signal
- a signal processing module for determining an input signal according to the original signal
- a display module for responding to the response The information is displayed and processed.
- the signal processing module is configured to perform mapping processing on the original signal according to a preset rule to obtain a corresponding input signal, where the mapping process includes any one of the following: when detecting When the original signal does not belong to the standard input signal of the specified system, the original signal is mapped to a standard input signal of the specified system; the original signal is determined to correspond to the key value information, and the key value information is mapped into digital information as an input signal. .
- the signal processing module is further configured to perform binarization processing on the standard input signal of the specified system to obtain a binary input signal; and perform symmetric encryption or asymmetric encryption on the binary input signal. Get the encrypted input signal.
- the signal processing module is configured to detect an operating system; when belonging to the first operating system, determine a key value corresponding to the original signal, and obtain a key value corresponding to the key value according to the key value mapping table. Information; when belonging to the second operating system, obtaining a corresponding key value information according to the button response by intercepting a key response of the original input signal; and performing symmetric encryption or asymmetric encryption on the key value information to obtain encryption Input signal.
- the response information includes a transport stream generated by encoding user interface data in response to the input signal
- the display module is configured to parse the transport stream to display a user interface responsive to the input signal.
- the second communication module is further configured to maintain an encrypted connection with the service providing device according to a heartbeat manner, and automatically perform a reconnection step after detecting that the connection is disconnected.
- the embodiment of the present application further discloses a smart television system, including: at least one server, at least one client, and at least one service providing device; wherein the server is configured to allocate a service providing device to the client; the client The service provider is provided on the network, and the service providing device is configured to provide an Internet service for the client that establishes the connection through the network.
- the service providing device includes a data transmission device according to the embodiment of the present application.
- the client includes another data transmission device described in the embodiment of the present application.
- the method further includes: one less user data information storage device; the at least one user data information storage device includes: at least one user partition; wherein the at least one user partition is respectively configured to store user data corresponding to different clients .
- the service providing device includes: a network set top box; the Internet service includes at least one of the following: a live television, an audio and video service, a web service, and a game service.
- the embodiments of the present application include the following advantages:
- the service providing device establishes an encrypted connection with the client to ensure data transmission security for data transmission, and then generates a virtual input device to simulate various hardware input signals, and has high scalability, and thereafter services.
- Providing, by the device, an encrypted input signal sent by the client, decrypting the encrypted input signal, and then writing the decrypted input signal to the virtual input device, and inputting the input signal by the virtual input device The event is distributed in response to the input signal and the response information is fed back to the client, which has high scalability, simple processing, and fast response to the user-controlled cloud.
- FIG. 1 is a flow chart showing the steps of an embodiment of a data transmission method of the present application.
- FIG. 2 is a flow chart showing the steps of another embodiment of the data transmission method of the present application.
- FIG. 3 is a flow chart showing the steps of an embodiment of a data transmission method on the service providing device side of the present application
- FIG. 4 is a flow chart showing the steps of an embodiment of a data transmission method on the client side of the present application
- FIG. 5 is a flowchart of steps of another embodiment of a data transmission method on the client side of the present application.
- FIG. 6 is a schematic diagram of data transmission between a client and a service providing device according to the present application.
- FIG. 7 is a schematic diagram of data transmission between another client and a service providing device of the present application.
- FIG. 8 is a schematic structural diagram of a smart television system of the present application.
- FIG. 9 is a structural block diagram of an embodiment of a data transmission apparatus of the present application.
- FIG. 10 is a structural block diagram of a preferred embodiment of a data transmission apparatus of the present application.
- FIG. 11 is a structural block diagram of another embodiment of a data transmission device of the present application.
- the data transmission method of the embodiment of the present application can be applied to a system including a client and a service providing device, wherein the service providing device can provide various services to the client.
- a smart television system comprising: at least one server, at least one client, at least one service providing device; wherein the server is configured to allocate a service providing device to the client; the client The terminal is disposed in the smart TV, and the service providing device is disposed on the network side, and is configured to provide an Internet service for the connected client through the network.
- the smart television system further includes at least one user data information storage device; the at least one user data information storage device includes: at least one user partition; wherein the at least one user partition is respectively used to store users corresponding to different clients data.
- the service providing device includes: a network set top box; the internet service includes at least one of the following: a live television, an audio and video service, a web service, and a game service.
- One of the core concepts of the embodiments of the present application is to provide an input transmission method, apparatus, and smart television system to implement a cloud response to user control.
- the service providing device establishes a connection with the client for data transmission, and then generates a virtual input device to simulate input signals of various hardwares, and has high scalability, and thereafter the service providing device receives the input signal sent by the client, and Decrypting the input signal is written into the virtual input device, and the virtual input device distributes the input signal corresponding input event to respond to the input signal and feeds the response information to the client, which is highly scalable and processed
- the process is relatively simple, achieving a fast cloud response to user control.
- FIG. 1 a flow chart of steps of an embodiment of a data transmission method of the present application is shown, which may specifically include the following steps:
- Step 102 The service providing device generates a virtual input device after establishing a connection with the client.
- the service providing device and the client provide a network data service for the smart television terminal.
- the service providing device is also called a cloud terminal, and is a hardware terminal disposed on the network side, and various types required for providing the network service by the service providing device.
- Data, a presentation form of the client may be an APP (Application) installed on the smart TV terminal, and the client decodes and displays the data provided by the network.
- Each service providing device and the client may not have a unique correspondence, but temporarily allocate a service providing device to the client when the client requests the network server provided by the service providing device, and after the distribution, the service providing device and the client After the connection is established, the service providing device provides data services for the client during the connection.
- the client and the service providing device can establish an encrypted connection, for example, an encrypted connection is established through an SSL (Secure Sockets Layer) manner, thereby transmitting data through an encrypted channel between the two to ensure data transmission security.
- SSL Secure Sockets Layer
- the cache data of the user interface is stored on the service providing device side, and the corresponding UI interface is provided for the client to display.
- the service providing device obtains the UI cache from the Frame Buffer, and then encodes the UI cache according to a preset encoding format to obtain a coded UI cache, such as using h.264 encoding. Then, the encoded UI cache is used to generate a TS stream by using a Real Time Streaming Protocol (RTSP), and the TS stream is pushed to the client to display a corresponding user interface on the client.
- RTSP Real Time Streaming Protocol
- the user interface displayed on the client side is capable of serving various network services of the user, for example, the user interface may include various menu options or icons, such as: high-definition video, ultra-clear television, Software downloads, games, life services (such as payment, shopping, etc.), so that the client users can watch HD movies and TV, play somatosensory games, popular large 3D games, online shopping, pay for water and electricity, etc. on the TV for free.
- the user can continue to enter the corresponding UI interface to perform operations, such as local or network resources when playing HD video.
- the user can control through the external device of the remote controller, such as selecting a certain function and entering the next level interface, and the UI interface is displayed based on the transport stream of the service providing device. Therefore, the control response to the UI interface is also performed by the service providing device.
- the service providing device virtualizes an input device in the user space, simulates a hardware input signal through the virtual input device, and injects an input signal of the user into the system to input an event and distribute the image, thereby realizing The service provides the device's response to user control.
- Step 104 Receive an input signal sent by the client.
- the service providing device receives an input signal sent by the client, and the input signal includes a signal corresponding to a UI interface control displayed by the user on the service providing device.
- Step 106 Write an input signal to the virtual input device, and the input signal is distributed by the virtual input device in response to the input signal.
- Step 108 feeding back response information in response to the input signal to the client.
- the response signal is generated to generate corresponding response information, and then the response information is fed back to the client, so that the client performs corresponding processing on the response information, such as display.
- the service providing device establishes an encrypted connection with the client for data transmission, and then generates a virtual input device to simulate various hardware input signals, which is highly scalable, and thereafter the service providing device transmits the received client.
- the service providing device Inputting a signal, writing an input signal to the virtual input device, and distributing, by the virtual input device, the input signal corresponding input event to respond to the input signal and feeding back response information to the client, which has high scalability
- the processing process is relatively simple, achieving a fast cloud response to user control.
- FIG. 2 a flow chart of steps of another embodiment of a data transmission method of the present application is shown, which may specifically include the following steps:
- Step 202 The client establishes a connection with the service providing device after startup.
- the client After the client starts, it can request the system to allocate the service providing device, and after determining the assigned service providing device, can establish a connection with the service providing device.
- the data is provided by the service providing device to display the corresponding UI interface on the client side, so the service providing device encodes the user interface buffer and generates a transport stream (TS) to send to the client.
- the client parses the transport stream and generates corresponding parsing data, and displays the parsed data to display the corresponding user interface.
- the UI cache stored in the service providing device includes various contents displayed on the client, such as a main UI interface, various APPs displayed in the UI interface, and a corresponding UI interface after the APP is opened, that is, the client local. Display but not store the main UI interface, nor store Installed apps and other content.
- Step 204 Receive an original signal, and determine an input signal according to the original signal.
- the user can control through the external device of the remote controller, such as selecting a certain function and entering the next level interface, and the UI interface is displayed based on the transport stream of the service providing device. Therefore, the control response to the UI interface is also performed by the service providing device.
- the client can receive the original signal sent by the user through the external device, such as including a signal for controlling the UI interface change, and includes a control signal for controlling the playback switch.
- the client determines the corresponding input signal according to the original signal.
- Step 206 Send an input signal to the service providing device, so that the service providing device responds to the input information.
- the input signal is sent to the service providing device, so that the service providing device responds to the input signal, and generates corresponding response information, for example, generating a UI corresponding TS stream in response to the input signal and feeding back to the client.
- Step 208 Receive response information fed back by the service providing device, and perform display processing on the response information.
- the service providing device Receiving the response information fed back by the service providing device, and then performing display processing on the response information. If the response information is a TS stream, the corresponding UI interface is displayed.
- the service providing device establishes a connection with the client for data transmission, and the client processes the received original signal to obtain an input signal and sends the input signal to the service providing device, so that the service providing device responds to the input information, thereby the client.
- the response information is displayed and processed to achieve a fast cloud response to user control.
- this embodiment continues to discuss the data transmission method between the service providing device and the client.
- FIG. 3 a flow chart of steps of an embodiment of a data transmission method on a service providing device side of the present application is shown, which may specifically include the following steps:
- Step 302 The service providing device monitors the port after starting.
- Step 304 Receive a signal from the port to establish a long connection with the client.
- Step 306 after the long connection is successfully established, generate a virtual input device in the user space.
- the service provider After the service provider starts, it will start the SSL Socket Server to listen to the specified port, and receive a connection signal from the port to establish a long connection with the client. After the long connection is successfully established, the service providing device generates a virtual input device in the user space. For example, use Uinput to virtualize an input device /dev/input/Ali-vinput.
- the SSL Socket Server is a server application used by the service provider to receive encrypted input signals.
- Uinput is the kernel interface that linux uses to implement user-space input devices. It can be used to virtualize input devices in user space and inject input events into the system.
- the generating a virtual input device in a user space includes: starting an input device; adding an event type to the input device by using the driving device, and writing basic information of the virtual input device; The input device generates a virtual input device within the user space.
- the input device Uinput is started, and the event type is added to the Uinput by the driving device, such as a keyboard event, a mouse event, and the like, and an acceptable event value, etc., and then the basic information of the virtual input device, such as the device name, is written, and then The input device generates a virtual input device within the user space.
- the driving device such as a keyboard event, a mouse event, and the like, and an acceptable event value, etc.
- a virtual input device can be created by using an Android system as an example, using open("/dev/uinput", O_WRONLY
- fd is a file descriptor
- the file descriptor of the device is obtained to operate the device.
- fd points to the /dev/uinput device.
- Ioctl is a function that manages the input and output channels of the device in the device driver.
- the parameter &uidev is the command name, and the sizeof(uidev) is the parameter required by the command. In actual processing, the parameter can be set by sizeof(uidev), or the parameter is not set.
- the parameter through the ioctl function to the device pointed to by fd to execute the UI_SET_EVBIT command, EV_XXX is the parameter of the command, in order to add the event type.
- the Write function is used to write data to the device pointed to by fd, uidev is the first address of the data, and sizeof(uidev) is the data size.
- Step 308 Receive an encrypted input signal sent by the client, and decrypt the encrypted input signal.
- Step 310 writing the decrypted input signal to the virtual input device.
- Step 312 the virtual input device determines an input event corresponding to the decrypted input signal
- Step 314 Distribute the input event to an upper layer application or an operating system for response processing, and generate corresponding response information.
- decrypting the encrypted input signal includes: performing symmetric decryption or asymmetric decryption on the encrypted input signal to obtain a decrypted binary input signal or decrypted key value information.
- the encrypted input signal may be symmetrically decrypted or asymmetrically decrypted to obtain a decrypted binary input. Signal or decrypted key value information.
- the input signal obtained by the service providing device after decryption may exist in multiple types, such as a standard input signal of the specified system, and the mapped key value information, etc., may be set according to specific requirements, or according to requirements.
- the decrypted input signal is converted to obtain the required input information.
- the method further includes: mapping the decrypted input signal to corresponding key value information according to a preset rule; the virtual input device determines The input event corresponding to the decrypted input signal includes: the virtual input device searches for an input event corresponding to the key value information.
- the decrypted input signal can also be digital information.
- the mapping table preset by the digital information can be mapped into corresponding key value information, such as inverse mapping of the digital information into a key according to a preset protocol. Value information.
- the virtual input device can look up the input event corresponding to the key value information and then distribute the input event.
- One of the virtual input devices handles the input signal as follows: Take android as an example, which can be divided into the following steps:
- HAL Hardware Abstraction Layer
- the InputReader of the Framework layer is converted into the input event of the android platform after reading the original input event from the EventHub, and then passing the input event to the InputDispatcher;
- InputDispatcher distributes the event to the upper application or system according to the input event and the scene. For example, the Home key and the Power key are handed over to the system instead of the upper application, and the arrow keys are handed over to the application.
- the input event of the hardware input is simulated by the virtual input device, and the input event is distributed to generate corresponding response information.
- the UI interface displayed by the client is parsed and displayed according to the TS stream sent by the service providing device. Therefore, the user's control of the UI interface, such as selecting a certain function, or installing an APP in which the control operation is performed, appears to be performed on the client side, and actually sends the input information to the service providing device by the service.
- a TS stream is provided that the device performs the corresponding control and feeds back the response.
- the input event is distributed to an upper layer application or an operating system for response processing, and corresponding response information is generated, including: distributing the input event to an upper layer application or an operating system; and the upper layer application Or the operating system acquires a UI cache responsive to the input event; encoding the UI cache to generate a corresponding TS stream as response information to display a UI interface responsive to the input signal at the client.
- the virtual input device For the input signal corresponding to the input event, the virtual input device distributes the input event to the corresponding upper application or operating system, and then the upper application or the operating system acquires a UI cache in response to the input event, for example, inputting an event to select a certain function.
- the UI cache may be a cache of the interface content corresponding to the function, and if the input event is to install an APP, the APP is installed on the service providing device side, and the UI cache completes the corresponding UI cache for the APP installation.
- step 316 the service providing device feeds back the response information to the client.
- the UI cache is then encoded and streamed to generate a TS stream as feedback information for feedback to the client.
- the input signal is transmitted to the service providing device, so that the service providing device can respond to the input signal and feed back to the client, thereby implementing a cloud response to the user control.
- the method after receiving the original signal, includes: performing mapping processing on the original signal according to a preset rule to obtain a corresponding input signal. That is, the original signal received by the client may be subjected to mapping processing to obtain an input signal that can be recognized by the service providing device, wherein the type of the input signal obtained by the mapping may be various, such as a standard input signal of a specified system, such as digital information. .
- FIG. 4 a flow chart of steps of an embodiment of a data transmission method on the client side of the present application is shown.
- Step 402 The client establishes an encrypted connection with the service providing device after startup.
- the client After the client starts, it will request the server to allocate a service providing device for it, and then the client will establish a connection with the assigned service providing device, that is, start the SSL Socket Client and establish a TCP long connection with the SSL Socket Server of the service providing device.
- the SSL Socket Client is a client application used by the client to transmit an encrypted input signal to the service providing device.
- the client and the service providing device maintain an encrypted connection according to a heartbeat manner, and automatically perform a reconnection step after detecting that the connection is disconnected.
- the client and the service providing device can use the heartbeat to maintain the connection, and the client automatically reconnects after detecting that it is disconnected from the service providing device, wherein the data transmission is encrypted using SSL.
- Step 404 receiving the original signal.
- Step 406 Detect whether the original signal belongs to a standard input signal of a specified system.
- the client resolution service After the client resolution service provides the TS stream displayed by the device to display the UI interface, it can receive the original signal sent by the user through the external device, and then detect whether the original signal belongs to the standard input signal of the specified system.
- the designated system is an operating system used by the service providing device
- the standard input signal of the designated system is an input signal recognizable by the operating system of the service providing device, such as a Linux standard input signal.
- step 410 is performed.
- step 408 is performed.
- Step 408 Map the original signal to a standard input signal of a specified system.
- the original signal When the original signal does not belong to the standard input signal of the specified system, the original signal is mapped according to a preset rule, and the original signal is mapped to a standard input signal of the designated system.
- Step 410 Perform binarization on the standard input signal of the specified system to obtain a binary input signal.
- Step 412 Perform symmetric encryption or asymmetric encryption on the binary input signal to obtain an encrypted input signal.
- Step 414 the encrypted input signal is sent to the service providing device.
- the standard input signal of the specified system is binarized, that is, the standard input signal is converted into binary information to obtain a binary input signal.
- the binary input signal is then encrypted, wherein symmetric encryption or asymmetric encryption is performed according to the encryption method determined when the SSL encryption connection is established, thereby obtaining an encrypted input signal.
- the encrypted input signal is then sent to the service providing device, so that the service providing device responds to the corresponding response information, such as the TS stream corresponding to the controlled UI interface. If the client uses the SSL Socket Client to binarize the input signal and encrypt it, it is passed to the SSL Socket Server of the service provider.
- Step 416 Receive response information fed back by the service providing device.
- the client receives response information fed back by the service providing device, wherein the response information includes a transport stream generated by buffering the user interface buffer in response to the input signal.
- Step 418 parsing the transport stream to display a user interface responsive to the input signal.
- the client parses the transport stream fed back by the service providing device through the player, and displays a user interface responsive to the input signal, such as entering a UI interface corresponding to the selected function, and displaying a UI interface for successfully installing the APP.
- the existing input signal transparent transmission technology is usually implemented by the upper layer application, and has the following problems: first, poor portability, second, support for a small number of virtual devices, third, poor security, and fourth, low transmission efficiency.
- the various system platforms used by the client can transmit the input signal mapped to the input signal of the Linux to the service providing device, and the portability is good.
- the service providing device uses the virtual input device technology to directly write the input signal into the device, simulates the hardware input signal, and can simulate all known input devices, such as a touch screen, a keyboard, a remote controller, a mouse, etc., and supports a variety of virtual devices. Good scalability.
- the client and the service providing device use SSL to encrypt the transmission data, ensure the reliability of the data transmission, solve the problem that the input signal is easily hijacked by malicious persons, leak the user password, and the like, and the security is high.
- the client transmission key value information is mapped into digital information as an input signal to the service providing device, which specifically includes the following steps:
- FIG. 5 a flow chart of steps of another embodiment of a data transmission method on the client side of the present application is shown.
- Step 502 The client establishes an encrypted connection with the service providing device after startup.
- the client After the client starts, it will request the server to allocate a service providing device for it, and then the client will establish a connection with the assigned service providing device, that is, start the SSL Socket Client and establish a TCP long connection with the SSL Socket Server of the service providing device.
- the SSL Socket Client is a client application used by the client to transmit an encrypted input signal to the service providing device.
- the client and the service providing device can use the heartbeat to maintain the connection, and the client automatically reconnects after detecting that it is disconnected from the service providing device, wherein the data transmission is encrypted using SSL.
- Step 504 receiving the original signal.
- step 506 the operating system is detected.
- the client resolution service provides the TS stream displayed by the device to display the UI interface, and can receive the original signal sent by the user through the external device, and detect the operating system (OS) of the client, when the client is the first operating system.
- OS operating system
- step 410 is performed.
- the user sends an infrared key value signal through the infrared remote controller, and the client obtains the infrared signal and determines its own OS type, assuming that the first operating system is linux and the second operating system is android.
- the operating system may also be an IOS or the like, which is not limited by the embodiment of the present application.
- Step 508 Determine a key value corresponding to the original signal, and obtain key value information corresponding to the key value according to the key value mapping table.
- the key value information corresponding to the key value such as comparing the infrared key value with the map table, determines the meaning of the infrared key value, that is, the infrared key value Map into a corresponding event.
- Map can map keys to objects of values.
- Step 510 Acquire a corresponding key value information according to the button response by monitoring a button response of the original input signal.
- the button response of the original input signal is obtained by monitoring, and the corresponding key value information is obtained according to the button response, such as activating a button monitoring button response to obtain a button event, and then acquiring a button corresponding to the button event. Value information.
- Step 512 mapping the key value information into digital information as an input signal.
- Step 514 Perform symmetric encryption or asymmetric encryption on the key value information to obtain an encrypted input signal.
- Step 516 Send the encrypted input signal to the service providing device.
- the above key value information is mapped into digital information as an input signal, and then the key value information is symmetrically or asymmetrically encrypted to obtain an encrypted input signal.
- the key value information is converted into digital information according to a preset protocol, and then the digital information is encrypted into a ciphertext according to an encryption algorithm, such as encryption by a Data Encryption Standard (DES) method, to obtain an encrypted input signal.
- DES Data Encryption Standard
- the encrypted input signal is then sent to the service providing device.
- the encrypted input signal is sent to the service providing device through the IP network using the SSL Socket Client.
- Step 518 Receive response information fed back by the service providing device.
- the client receives response information fed back by the service providing device, wherein the response information includes a transport stream generated by buffering the user interface buffer in response to the input signal.
- Step 520 parsing the transport stream to display a user interface responsive to the input signal.
- the client parses the transport stream fed back by the service providing device through the player, and displays a user interface responsive to the input signal, such as entering a UI interface corresponding to the selected function, and displaying a UI interface for successfully installing the APP.
- the current UI interface of the client and the control of the interface content are all run on the client's local operating system, but the cloud-based response control of the operating system is not implemented, and for the button control of the UI, a remote controller is usually used locally. Control the implementation of a terminal device.
- the operating system is clouded by using a powerful background server, and the operating system clouding refers to that the UI corresponding to the operating system of the client is located in the service providing device of the cloud, so the control of the UI interface, such as the installation of the APP, is performed. It is implemented on the service provider side and parsed and displayed on the client side. Since the service providing device implements an operating system and corresponding control, it involves input control such as remote key operation between various types of clients and service providing devices.
- the embodiment can be compatible with the transmission of input signals such as button reporting between a plurality of existing different types of clients and service providing devices, and map the keys (targets that map keys to values) through a custom protocol. After the maximum reduction of transmission bandwidth, and the use of key-value algorithm encryption and SSL certificate authentication dual security.
- the input signal received by the client is mapped to the service providing device, and the service providing device does not need to connect other input devices, and does not need to install other input device drivers, and the virtual input device can be used for input on the virtual client. It is no different from input directly on the service provider.
- the signal transmission uses SSL encryption to ensure the security of the transmission.
- this embodiment discusses the data transmission method by way of an example of interaction between the service providing device and the client.
- FIG. 6 a schematic diagram of data transmission between a client and a service providing device of the present application is shown.
- the client establishes an encrypted connection with the service provider device after startup.
- the service providing device generates a virtual input device.
- the client receives the original signal.
- the client maps the standard input signal of the specified system.
- the client binarizes the standard input signal of the specified system to obtain a binary input signal.
- the client encrypts the binary input signal to obtain an encrypted input signal.
- the client sends the encrypted input signal to the service providing device.
- the service providing device decrypts the encrypted input signal to obtain a decrypted binary input signal.
- the service providing device writes the decrypted input signal to the virtual input device.
- the virtual input device of the service providing device determines an input event corresponding to the decrypted input signal.
- the virtual input device of the service providing device distributes the input event to an upper layer application or an operating system for response processing, and generates corresponding response information, including the responding TS stream.
- the service providing device feeds back the response TS stream to the client.
- the client parses the responding TS stream and displays a UI interface responsive to the input signal.
- a form of expression of the client is APP, and in order to make the hardware device such as the set top box with poor configuration, the service provided by the service providing device can be used (including system UI, video drama, game, education, etc.) ), the service providing device that provides the data server is put into the cloud, and the smart TV system is formed with the server and the client.
- Pushing a video signal (display information) to the client in the form of a TS stream the client parses the TS stream to display the UI, and sends a control signal (input signal) to the service providing device to implement interaction, thereby implementing the control signal
- the number (input signal) is transparently transmitted to the service providing device for cloud response.
- FIG. 7 a schematic diagram of data transmission between another client and a service providing device of the present application is shown.
- the client establishes an encrypted connection with the service provider device after startup.
- the service providing device generates a virtual input device.
- the client receives the original signal.
- the client determines key value information corresponding to the original signal.
- the client maps the key value information into digital information as an input signal.
- the client encrypts the key value information to obtain an encrypted input signal.
- the client sends the encrypted input signal to the service providing device.
- the service providing device decrypts the encrypted input signal to obtain decrypted digital information.
- the service providing device maps the decrypted digital information into key value information.
- the service providing device writes the key value information to the virtual input device.
- the virtual input device of the service providing device determines an input event corresponding to the key value information.
- the virtual input device of the service providing device distributes the input event to an upper layer application or an operating system for response processing, and generates corresponding response information, including the responding TS stream.
- the service providing device feeds back the responding TS stream to the client.
- the client parses the responding TS stream and displays a UI interface responsive to the input signal.
- the UI cache stored in the service providing device includes various contents displayed on the client, such as a main UI interface, various APPs displayed in the UI interface, and a corresponding UI interface after the APP is opened, that is, The client locally displays only the main UI interface and does not store the installed APP.
- the user After the user installs the APP in the client, the user sends an installation instruction to an APP in the UI interface displayed by the client through the external device, and the client obtains the original signal corresponding to the installation instruction through mapping, encryption, and the like.
- the encrypted input signal is sent to the service providing device, and after the service providing device processes the input signal interface, mapping, etc., the data of the APP is acquired in response to the input signal, and the corresponding APP information is installed and recorded on the service providing device, and the installation process is performed. And the TS stream that has been installed corresponding to the UI interface is fed back to the client for display as response information.
- the process of installing the APP in the client is substantially completed in the service providing device, and the client only displays the UI interface of the streaming mode pushed by the service providing device.
- the service providing device acquires the corresponding entry into the APP in response to the input signal.
- the UI cache generates a TS stream as a response message and sends it to the client for display.
- the service providing device also sends a UI buffer corresponding to the TS stream in response to the control data, and the client displays the UI in response to the user control. interface.
- the service providing device can purchase the paid resources such as games and videos in advance for each client in the system, so that the user can locally select the above resources for installation, viewing, and the like.
- the service providing device uses the TS stream to push the UI interface, the client only parses and displays, and the control data for the user through the external device is also forwarded to the service providing device, and the service providing device adjusts the UI interface to feed back the TS stream in response to the control.
- the client, the service providing device, and the like discussed in the above embodiments may employ the following smart television system.
- the smart television system can include: a client, a dispatch server, and a service providing device.
- the client is a terminal that can use the APP application provided by the service providing device, such as a set top box, a smart mobile terminal, a PAD (Portable Android Device tablet), a smart TV with a decoding function, and the like.
- the service providing device may be multiple, and is set as a server in the cloud to remotely provide services for the client.
- the scheduling server may select one of the plurality of service providing devices in the cloud to allocate to the client according to the set allocation policy.
- the service providing device may be set in the cloud as a hardware device
- the software (application) may be installed in the service providing device
- the service providing device may be a user of various applications in the cloud.
- the user interface (UI) is compression-encoded
- the client has basic decoding capability to present the user interface of the application to the user, and realize operations on various applications.
- the software (application) is no longer installed in the set top box, but is installed in the service providing device, and the user is provided through the service providing device. Provide services. Since the software is no longer required to be installed in the set top box, the set top box can no longer be set up separately.
- the smart mobile terminal (or a smart TV with decoding function) can be directly connected to the service providing device, and the user does not need to be separate.
- the purchase/setting of the set-top box saves the user's cost; at the same time, the intelligent mobile terminal (or the smart TV with decoding function) directly interacts with the service providing device, thereby improving the interaction efficiency, reducing the maintenance steps of the set-top box, and reducing the pair. The occupation of resources.
- the scheduling server may refer to a server, or may refer to a server group composed of multiple servers equivalent to the scheduling server function.
- FIG. 8 an architectural diagram of a smart television system of the present application is shown.
- the smart television system may specifically include: at least: A device server (such as the device server 801 shown in FIG. 8), at least one dispatch server (such as the dispatch server 802 shown in FIG. 8), and at least one client (such as the client 803 shown in FIG. 1).
- Each device server includes at least one service providing device (such as the service providing device 804 in the device server 801 shown in FIG. 8).
- the smart television system may further include: at least one management server (such as the management server 805 shown in FIG. 8) and at least one user data information storage device (such as the user data information storage device 806 shown in FIG. 8). ).
- the user data information storage device is configured to store user data information, one user may correspond to a dedicated user data information storage device, and multiple users may share the same user data information storage device. This is not a limitation.
- the user data information storage device may be a physical device, a logical device, or a combination of physical and logical devices.
- the user data information storage device may include at least one user partition (such as the user partition 807 shown in FIG. 8), and each user partition correspondingly stores user data information of one user.
- the client 803 may be a hardware device as described above, such as a set top box, a smart mobile terminal, a PAD, a smart TV with a decoding function, and the like.
- the client 803 may also be in the form of a smart TV terminal, which may be presented in the form of an APP (Application) installed in the smart TV terminal.
- the smart TV terminal herein may specifically include: a set top box and a mobile terminal. , smart TV, etc.
- the client 803 can be used to play a user interface parsed by a transport stream (TS) sent by the service providing device 804, and play multimedia data (such as video signals, audio signals, etc.) acquired from other network servers.
- TS transport stream
- the client 803 can be used to listen to an input message generated by the user through an input device such as a remote controller, and send the input message to the service providing device 804 or the dispatch server 802.
- an input device such as a remote controller
- the client 803 only parses and displays, and the input message controlled by the client 803 to the user interface is also forwarded to the service providing device 804 to enable It adjusts the user interface accordingly.
- the service providing device 804 is located on the network side, and each of the service providing devices may specifically include: a software module carried by the hardware board and the hardware board. It should be noted that, in this embodiment, various types of applications may be directly installed in the service providing device, and the user may perform the application in the service providing device 804 through the user interface corresponding to the application displayed by the client 803. In the operation, it is no longer necessary to separately install the application in the client 803, so that the technician can perform unified maintenance on the smart television system, thereby reducing the workload and improving the maintenance efficiency.
- the user partition 807 is located on the network side.
- each user has a user partition, and user data information of each user is saved under the corresponding user partition.
- each user partition has a unique address letter
- the address information may indicate a specific address of the corresponding user partition, and the user information may be quickly found through the address information to complete the call of the user data information.
- the dispatch server 802 (or the management server 805) can perform maintenance only on address information (small data amount) without maintaining the entire user data information (large amount of data), reducing the maintained data. The quantity reduces the resource occupation, improves the system running speed, and the data information is easy to find.
- the scheduling server 802 is located on the network side, and is mainly configured to allocate an idle, good-quality service providing device 804 to the client 803 according to the input message sent by the client 803; at the same time, the user partition corresponding to the user ID can be mounted to The assigned service providing device 804, that is, each user partition can correspond to a unique user ID, such as user partition A corresponding to user A, etc., such that user A is at client 803 with the last assigned, After the service providing device with the number 001 is disconnected, even if the service providing device numbered 002 is connected next time, the user A can still use the user partition A, and can use data such as the previous history;
- the management server 805 is located on the network side and can be used to manage all the service providing devices.
- the management may include: status reporting, heartbeat management, setting attributes, obtaining attributes, network wake-up, soft restart, hard restart, etc.; visible, management
- the server 805 can be used as a remote server to implement network wake-up of the service providing device in the wide area network by using the technical solution of the present application.
- the service providing device may also be referred to as a cloud box or an OTT set-top box, and has high-quality service capability, and can provide various functions such as high-definition video and free games for the user, wherein OTT is Over The Top, which means Provide various application services to users through the Internet.
- the service providing device with the OTT function is integrated into the device server, and the function of the service providing device is transmitted to the ordinary set top box, the smart TV and the like through the network through the video streaming technology, so that the OTT can be used without upgrading the hardware. High-end features.
- the various functions in the service providing device with high-quality service capability can be transmitted to the client installed in the ordinary low-end set-top box or the smart TV through the streaming mode, and the client displays the UI interface corresponding to the TS stream, wherein the service Features that provide devices include, but are not limited to, games, apps, movies, TV shows, education, video chat, karaoke, and more.
- the system requirements for the ordinary set-top box or smart TV for installing the client are low.
- the ordinary set-top box is required to have the ability to play the RTSP 720P video stream, and, for example, the ordinary set-top box needs to have the capability of accessing the IP network, thereby installing the client. After the end, you can upload key values and other controls.
- each piece of service providing device in the device server has strong service capabilities, including but not limited to: strong processing capability, strong graphics computing capability, large memory, and low power consumption. You can run large games and applications on the market today, playing 1080P and 2K movies.
- Ordinary set-top boxes tend to be relatively old. First, they are not smart OTT set-top boxes. Secondly, their performance is weak. It is not enough to run large games and applications. Customers often need to upgrade or replace the updated set-top boxes to meet the entertainment needs of this part. Therefore, the service providing device can solve the above problem. Large-scale games and applications are run in the cloud device server, and then transmitted to the client installed in the ordinary set-top box through RTSP video streaming, which achieves the purpose of high-end entertainment using low-end set-top boxes, and can enhance the services of ordinary set-top boxes. ability.
- the client described in the above embodiments can be applied to the smart television system based on the one shown in FIG.
- any system or server that requires a similar resource allocation can implement the resource allocation scheme of the present application by referring to the embodiments of the present application, and is not limited to the application scenario in the foregoing architecture.
- the resource allocation scheme can also be applied to a remote control system (e.g., a distance learning system) to a terminal.
- the embodiment further provides a data transmission device.
- the service providing device of this embodiment includes a data transmission device.
- FIG. 9 a structural block diagram of an embodiment of a data transmission apparatus of the present application is shown, which may specifically include the following modules:
- the input device virtual module 904 is configured to generate a virtual input device after establishing a connection with the client.
- the service providing device communication module 902 is configured to receive an input signal sent by the client, and feed back response information in response to the input signal to the client.
- the virtual response module 906 is configured to write an input signal to the virtual input device, and the input signal is distributed by the virtual input device in response to the input signal.
- the service providing device establishes a connection with the client for data transmission, and then generates a virtual input device to simulate various hardware input signals, which is highly scalable, and thereafter the service providing device receives the input sent by the client. Transmitting an input signal to the virtual input device, and distributing, by the virtual input device, the input signal corresponding input event to respond to the input signal and feeding back response information to the client, which is highly scalable.
- the processing process is relatively simple, achieving a fast cloud response to user control.
- FIG. 10 a block diagram of a preferred embodiment of a data transmission apparatus of the present application is shown, which may specifically include The following modules:
- the input device virtual module 1004 is configured to generate a virtual input device after establishing a connection with the client.
- the first communication module 1002 is configured to receive an input signal sent by the client, and feed back response information in response to the input signal to the client.
- the virtual response module 1006 is configured to write an input signal to the virtual input device, and the input signal is distributed by the virtual input device in response to the input signal.
- the first communication module 1002 is further configured to: monitor a port after startup; and receive a signal from the port to establish a long connection with the client; the input device virtual module 1004 And generating a virtual input device in the user space after the long connection is successfully established.
- the input device virtual module 1006 is configured to start an input device, add an event type to the input device by using the driving device, write basic information of the virtual input device, and generate a virtual in the user space according to the input device. input device.
- the virtual response module 1006 includes: an event determining sub-module 10062, configured to determine, by the virtual input device, an input event corresponding to the input signal; and distribute and respond to the sub-module 10064, The input event is distributed to an upper layer application or an operating system for response processing, and corresponding response information is generated.
- the first communication module 1004 is further configured to decrypt the input signal
- the virtual response module 1006 further includes: a mapping sub-module 10066, configured to follow the preset rule The decrypted input signal is mapped to corresponding key value information; the event determining sub-module 10062 is configured to search for an input event corresponding to the key value information by the virtual input device.
- the first communication module 1002 is configured to perform symmetric decryption or asymmetric decryption on the input signal to obtain a decrypted binary input signal or decrypted key value information.
- a distribution and response sub-module 10064 configured to distribute the input event to an upper layer application or an operating system; the upper layer application or operating system acquires a user interface cache responsive to the input event; and the user interface cache code generates a corresponding The transport stream is used as response information to display a user interface responsive to the input signal at the client.
- the embodiment further provides another data transmission device.
- the client of the smart television system may include the other data transmission device.
- FIG. 11 a structural block diagram of another embodiment of a data transmission apparatus of the present application is shown, which may specifically include the following modules:
- a second communication module 1102 configured to establish a connection with the service providing device after starting; send the input signal to the office The service providing device, so that the service providing device responds to the input information; and receives response information fed back by the service providing device.
- the input receiving module 1104 is configured to receive an original signal.
- the signal processing module 1106 is configured to determine an input signal according to the original signal.
- the display module 1108 is configured to perform display processing on the response information.
- the service providing device establishes a connection with the client for data transmission, and the client processes the received original signal to obtain an input signal and sends the input signal to the service providing device, so that the service providing device responds to the input information, thereby the client.
- the response information is displayed and processed to achieve a fast cloud response to user control.
- the signal processing module 1206 is configured to perform mapping processing on the original signal according to a preset rule to obtain a corresponding input signal, where the mapping process includes any one of the following: when detecting When the original signal does not belong to the standard input signal of the specified system, the original signal is mapped to a standard input signal of the specified system; the original signal is determined to correspond to the key value information, and the key value information is mapped into digital information as an input. signal.
- the signal processing module 1206 is further configured to perform binarization processing on a standard input signal of the specified system to obtain a binary input signal; symmetrically encrypting the binary input signal or Asymmetric encryption, resulting in an encrypted input signal.
- the signal processing module 1206 is configured to detect an operating system; when belonging to the first operating system, determine a key value corresponding to the original signal, and obtain a location according to the key value mapping table.
- the key value information corresponding to the key value when belonging to the second operating system, obtaining the key value information according to the button response by intercepting the key response of the original input signal; and symmetrically encrypting the key value information Or asymmetric encryption to get an encrypted input signal.
- the response information includes a transport stream generated by buffering a user interface buffer in response to the input signal
- the display module 1208 is configured to parse the transport stream and display the response in response to the The user interface of the input signal.
- the client communication module 1202 is further configured to maintain an encrypted connection with the service providing device according to a heartbeat manner, and automatically perform a reconnection step after detecting that the connection is disconnected.
- the embodiment of the present application further discloses a smart television system, including: at least one server, at least one client, and at least one service providing device; wherein the server is configured to allocate a service providing device to the client; the client The end is set in the smart TV, and the service providing device is set on the network side for establishing through the network Connected clients provide Internet services;
- the client includes the data transmission device according to the fifth embodiment, and the service providing device includes the data transmission device according to the fourth embodiment.
- the system further includes: one less user data information storage device; the at least one user data information storage device includes: at least one user partition; wherein the at least one user partition is respectively configured to store user data corresponding to different clients .
- the service providing device includes: a network set top box; the internet service includes at least one of the following: a live television, an audio and video service, a web service, and a game service.
- the smart television system is basically the same as the system described in FIG. 7 above, and therefore will not be described again.
- the various system platforms used by the client can transmit the input signal to the input signal of the Linux to the service providing device, and the portability is good.
- the service providing device uses the virtual input device technology to directly write the input signal into the device, simulates the hardware input signal, and can simulate all known input devices, such as a touch screen, a keyboard, a remote controller, a mouse, etc., and supports a variety of virtual devices. Good scalability.
- the client and the service providing device use SSL to encrypt the transmission data, ensure the reliability of the data transmission, solve the problem that the input signal is easily hijacked by malicious persons, leak the user password, and the like, and the security is high.
- the operating system is clouded by the background server, and the operating system clouding refers to that the UI corresponding to the operating system of the client is located in the service providing device of the cloud, so the control of the UI interface, such as the installation of the APP, is
- the service provider implements the device side, and the client parses and displays it. Since the service providing device implements an operating system and corresponding control, it involves input control such as remote key operation between various types of clients and service providing devices.
- the embodiment can be compatible with the transmission of input signals such as button reporting between a plurality of existing different types of clients and service providing devices, and maximizes the key map (maps the keys to the value object) by a custom protocol. Reduce transmission bandwidth, and use double-key algorithm encryption and SSL certificate authentication.
- the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
- embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, embodiments of the present application may adopt an entirely hardware embodiment, an entirely software embodiment, or a combination of soft A form of embodiment of hardware and hardware. Moreover, embodiments of the present application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- the computer device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- the memory may include non-persistent memory, random access memory (RAM), and/or non-volatile memory in a computer readable medium, such as read only memory (ROM) or flash memory.
- RAM random access memory
- ROM read only memory
- Memory is an example of a computer readable medium.
- Computer readable media includes both permanent and non-persistent, removable and non-removable media.
- Information storage can be implemented by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory. (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, Magnetic tape cartridges, magnetic tape storage or other magnetic storage devices or any other non-transportable media can be used to store information that can be accessed by a computing device.
- computer readable media does not include non-persistent computer readable media, such as modulated data signals and carrier waves.
- Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, client devices (systems), and computer program products according to embodiments of the present application. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
- These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing client device to produce a machine for execution by a processor of a computer or other programmable data processing client device
- the instructions produce means for implementing the functions specified in one or more flows of the flowchart or in a block or blocks of the flowchart.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing client device to operate in a particular manner, such that instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the instruction means implements the functions specified in one or more blocks of the flow or in a flow or block diagram of the flowchart.
- These computer program instructions can also be loaded onto a computer or other programmable data processing client device, such that a series of operational steps are performed on a computer or other programmable client device to produce computer-implemented processing, thereby being computer or otherwise programmable
- the instructions executed on the client device provide steps for implementing the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Cardiology (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种数据传输方法、装置和智能电视系统,以实现对用户控制的云端响应。所述的方法包括:服务提供设备在与客户端建立连接后生成虚拟输入设备;接收所述客户端发送的输入信号,将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号;将响应于所述输入信号的响应信息反馈给所述客户端。可扩展性较高,处理过程比较简单,实现快速的对用户控制的云端响应。
Description
本申请要求2015年06月11日递交的申请号为201510319957.7、发明名称为“一种数据传输方法、装置和智能电视系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及互联网技术领域,特别是涉及一种输入传输方法、一种数据传输装置和一种智能电视系统。
随着智能操作系统的越来越普及化,网络电视盒也逐渐走进了千家万户,游戏,音乐,视频,设备互联等新的内容和技术给用户带来了越来越好的客厅娱乐体验。网络电视盒,也叫智能电视盒,是一个连接电视机与互联网的设备。电视机通过网络电视盒连接互联网,收看网络电视节目。因此,“网络电视盒”可以看成是一个通过互联网获得视频节目的“机顶盒”。
网络电视盒在为用户提供数据服务时,有时需要与云端的服务器配合,但是服务器对网络电视盒的输入信号要进行一系列的处理操作传输给硬件进行反馈,处理过程比较繁琐,可扩展性比较低。
发明内容
本申请实施例所要解决的技术问题是提供一种数据传输方法,以实现对用户控制的云端响应。
相应的,本申请实施例还提供了一种数据传输装置和一种智能电视系统,用以保证上述方法的实现及应用。
为了解决上述问题,本申请公开了一种数据传输方法,包括:服务提供设备在与客户端建立连接后生成虚拟输入设备;接收所述客户端发送的输入信号;将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号;将响应于所述输入信号的响应信息反馈给所述客户端。
可选的,还包括:所述服务提供设备在启动后对端口进行监听;从所述端口接收信号与所述客户端建立长连接;则所述服务提供设备在与客户端建立连接后生成虚拟输入
设备,包括:在所述长连接建立成功后,在用户空间内生成虚拟输入设备。
可选的,所述在用户空间内生成虚拟输入设备,包括:启动输入设备;通过驱动设备向所述输入设备添加事件类型,写入所述虚拟输入设备的基本信息;依据所述输入设备在所述用户空间内生成虚拟输入设备。
可选的,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号,包括:所述虚拟输入设备确定所述输入信号对应的输入事件;将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
可选的,接收所述客户端发送的输入信号之后,还包括:对所述输入信号进行解密;按照预置规则将所述解密的输入信号映射成相应的键值信息;所述虚拟输入设备确定所述输入信号对应的输入事件,包括:所述虚拟输入设备查找所述键值信息对应的输入事件。
可选的,对所述输入信号进行解密,包括:对所述加密的输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
可选的,将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,包括:将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的用户界面缓存;将所述用户界面缓存编码生成对应的传送流作为响应信息,以在所述客户端显示响应于输入信号的用户界面。
可选的,所述数据传输方法应用于智能电视系统;其中,所述智能电视系统包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。
可选的,所述智能电视系统,还包括至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
可选的,所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
本申请实施例还公开了一种数据传输方法,包括:客户端在启动后与服务提供设备建立连接;接收原始信号,依据所述原始信号确定输入信号;将输入信号发送给所述服务提供设备,以使服务提供设备对所述输入信息进行响应;接收所述服务提供设备反馈的响应信息,并对所述响应信息进行显示处理。
可选的,所述依据所述原始信号确定输入信号,包括:按照预置规则对所述原始信号进行映射处理,得到对应的输入信号,其中,所述映射处理包括以下任一项:当检测到所述原始信号不属于指定系统的标准输入信号时,将所述原始信号映射成指定系统的标准输入信号;确定所述原始信号对应键值信息,将所述键值信息映射成数字信息作为输入信号。
可选的,还包括:将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号;将所述二进制的输入信号进行对称加密或非对称加密,得到加密的输入信号。
可选的,所述确定所述原始信号对应键值信息,包括:对操作系统进行检测;当属于第一操作系统时,确定所述原始信号对应的键值,按照键值映射表获取所述键值对应的键值信息;当属于第二操作系统时,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息;所述的方法还包括:将所述数字信息进行对称加密或非对称加密,得到加密的输入信号。
可选的,所述响应信息包括对响应于输入信号的用户界面数据编码生成的传送流,所述对所述响应信息进行显示处理,包括:对所述传送流进行解析,显示响应于所述输入信号的用户界面。
可选的,还包括:所述客户端与所述服务提供设备按照心跳方式维持加密连接,在检测到连接断开后自动执行重连步骤。
可选的,所述数据传输方法应用于智能电视系统;其中,所述智能电视系统包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。
可选的,所述智能电视系统,还包括至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
可选的,所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
本申请实施例还公开了一种数据传输装置,包括:输入设备虚拟模块,用于在与客户端建立连接后生成虚拟输入设备;第一通信模块,用于接收所述客户端发送的输入信号;以及将响应于所述输入信号的响应信息反馈给所述客户端;虚拟响应模块,用于将
输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号。
可选的,所述第一通信模块,还用于在启动后对端口进行监听;从所述端口接收信号与所述客户端建立长连接;所述输入设备虚拟模块,用于在所述长连接建立成功后,在用户空间内生成虚拟输入设备。
可选的,所述输入设备虚拟模块,用于启动输入设备;通过驱动设备向所述输入设备添加事件类型,写入所述虚拟输入设备的基本信息;依据所述输入设备在所述用户空间内生成虚拟输入设备。
可选的,虚拟响应模块,包括:事件确定子模块,用于由所述虚拟输入设备确定所述输入信号对应的输入事件;分发并响应子模块,用于将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
可选的,所述第一通信模块,还用于对所述输入信号进行解密;所述虚拟响应模块,还包括:映射子模块,用于按照预置规则将所述解密的输入信号映射成相应的键值信息;所述事件确定子模块,用于所述虚拟输入设备查找所述键值信息对应的输入事件。
可选的,第一通信模块,用于对所述输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
可选的,分发并响应子模块,用于将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的用户界面缓存;将所述用户界面缓存编码生成对应的传送流作为响应信息,以在所述客户端显示响应于输入信号的用户界面。
本申请实施例还公开了一种数据传输装置,包括:第二通信模块,用于在启动后与服务提供设备建立连接;将输入信号发送给所述服务提供设备,以使服务提供设备对所述输入信息进行响应;以及接收所述服务提供设备反馈的响应信息;输入接收模块,用于接收原始信号;信号处理模块,用于依据原始信号确定输入信号;显示模块,用于对所述响应信息进行显示处理。
可选的,还包括:所述信号处理模块,用于按照预置规则对所述原始信号进行映射处理,得到对应的输入信号,其中,所述映射处理包括以下任一项:当检测到所述原始信号不属于指定系统的标准输入信号时,将所述原始信号映射成指定系统的标准输入信号;确定所述原始信号对应键值信息,将所述键值信息映射成数字信息作为输入信号。
可选的,所述信号处理模块,还用于将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号;将所述二进制的输入信号进行对称加密或非对称加密,
得到加密的输入信号。
可选的,所述信号处理模块,用于对操作系统进行检测;当属于第一操作系统时,确定所述原始信号对应的键值,按照键值映射表获取所述键值对应的键值信息;当属于第二操作系统时,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息;将所述键值信息进行对称加密或非对称加密,得到加密的输入信号。
可选的,所述响应信息包括对响应于输入信号的用户界面数据编码生成的传送流,所述显示模块,用于对所述传送流进行解析,显示响应于所述输入信号的用户界面。
可选的,所述第二通信模块,还用于与所述服务提供设备按照心跳方式维持加密连接,在检测到连接断开后自动执行重连步骤。
本申请实施例还公开了一种智能电视系统,包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务;所述服务提供设备包括本申请实施例所述的一种数据传输装置,所述客户端包括本申请实施例所述的另一种数据传输装置。
可选的,还包括:少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
可选的,所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例中,服务提供设备在与客户端建立加密连接以保证数据传输的安全性进行数据传输,而后生成虚拟输入设备以模拟各种硬件的输入信号,可扩展性较高,此后服务提供设备在接收客户端发送的加密的输入信号,对所述加密的输入信号进行解密,然后将解密的输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号并将响应信息反馈给客户端,可扩展性较高,处理过程比较简单,实现快速的对用户控制的云端响应。
图1是本申请的一种数据传输方法实施例的步骤流程图;
图2是本申请的另一种数据传输方法实施例的步骤流程图;
图3是本申请的一种服务提供设备侧的数据传输方法实施例的步骤流程图;
图4是本申请的一种客户端侧的数据传输方法实施例的步骤流程图;
图5是本申请的另一种客户端侧的数据传输方法实施例的步骤流程图;
图6是本申请的一种客户端和服务提供设备间数据传输示意图;
图7是本申请的另一种客户端和服务提供设备间数据传输示意图;
图8是本申请的一种智能电视系统的结构示意图;
图9是本申请一种数据传输装置实施例的结构框图;
图10是本申请一种数据传输装置优选实施例的结构框图;
图11是本申请另一种数据传输装置实施例的结构框图。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的数据传输方法可以应用于包括客户端以及服务提供设备的系统中,其中,服务提供设备可以向客户端提供各类服务。例如,智能电视系统;其中,所述智能电视系统包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。
所述智能电视系统,还包括至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
本申请实施例的核心构思之一在于,提供一种输入传输方法、装置和智能电视系统,以实现对用户控制的云端响应。其中,服务提供设备在与客户端建立连接以进行数据传输,而后生成虚拟输入设备以模拟各种硬件的输入信号,可扩展性较高,此后服务提供设备在接收客户端发送的输入信号,将解密的输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号并将响应信息反馈给客户端,可扩展性较高,处理过程比较简单,实现快速的对用户控制的云端响应。
实施例一
参照图1,示出了本申请的一种数据传输方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102,服务提供设备在与客户端建立连接后生成虚拟输入设备。
本实施例采用服务提供设备和客户端为智能电视终端提供网络数据服务,其中,服务提供设备也称云终端,是设置在网络侧的硬件终端,由服务提供设备提供网络服务所需的各种数据,客户端的一种呈现形式可以是安装于智能电视终端的APP(应用程序,Application),客户端对网络提供的数据进行解码并显示。其中,每个服务提供设备和客户端可以不具有唯一的对应关系,而是在客户端请求由服务提供设备提供网络服务器时为客户端临时分配一个服务提供设备,在分配后服务提供设备与客户端建立连接后,在连接期间服务提供设备为该客户端提供数据服务。其中,客户端和服务提供设备可以建立加密连接,例如通过SSL(Secure Sockets Layer,安全套接层)方式建立加密连接,从而通过两者之间的加密通道传输数据,保证数据传输的安全性。
本实施例中,在服务提供设备侧存储用户界面(User Interface,UI)的缓存数据,为该客户端提供相应的UI界面以显示。服务提供设备从帧缓冲设备(Frame Buffer)中获取UI缓存,然后对UI缓存按照预置的编码格式进行编码,得到编码后的UI缓存,如采用h.264编码。再采用所述编码后的UI缓存通过实时流传输协议(Real Time Streaming Protocol,RTSP)采用流化方式生成TS流,将TS流推送给客户端以在所述客户端显示相应的用户界面。
本申请实施例中,客户端侧所显示的用户界面是能够为用户各种网络服务,例如在用户界面上可以包括各种菜单选项或图标等服务功能,例如包括:高清视频,超清电视、软件下载、游戏、生活服务(如缴费、购物等)等,从而通过该客户端用户可在电视上免费观看高清电影电视、玩体感游戏、热门大型3D游戏、网络购物、支付水电煤费用等等功能。在用户选择某一功能的图标或菜单后,可以继续进入相应的UI界面执行操作,例如播放高清视频时可以选择本地或网络资源等。
针对客户端所显示的UI界面,用户可以通过遥控器的外置设备进行控制,如选择某个功能,进入下一级界面等,而由于UI界面是基于服务提供设备的传送流解析显示的,因此对UI界面的控制响应也由服务提供设备执行。本实施例中服务提供设备在与客户端建立连接后,预先在用户空间虚拟一输入设备,通过该虚拟输入设备模拟硬件输入信号,在系统注入用户的输入信号对应输入事件并进行分发,从而实现服务提供设备对用户控制的响应。
步骤104,接收所述客户端发送的输入信号。
服务提供设备接收客户端发送的输入信号,该输入信号包括用户对服务提供设备显示的UI界面控制对应的信号。
步骤106,将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号。
将输入信号写入所述虚拟输入设备确定对应的输入事件,而后通过虚拟输入设备对输入信号对应输入事件进行分发,例如将输入事件分发给系统或应用等进行处理,从而对输入信号进行响应,如获取相应的UI缓存编码生成TS流反馈给客户端,实现对用户控制的云端响应。
步骤108,将响应于所述输入信号的响应信息反馈给所述客户端。
对输入信号进行响应生成对应的响应信息,然后将响应信息反馈给客户端,以使客户端对响应信息进行对应的处理如显示等。
综上所述,服务提供设备在与客户端建立加密连接以进行数据传输,而后生成虚拟输入设备以模拟各种硬件的输入信号,可扩展性较高,此后服务提供设备在接收客户端发送的输入信号,将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号并将响应信息反馈给客户端,可扩展性较高,处理过程比较简单,实现快速的对用户控制的云端响应。
上述论述了数据传输过程中服务提供设备对用户控制的响应处理,下面论述客户端侧的输入信号的传输控制步骤。
参照图2,示出了本申请的另一种数据传输方法实施例的步骤流程图,具体可以包括如下步骤:
步骤202,客户端在启动后与服务提供设备建立连接。
客户端在启动后可以向系统请求分配服务提供设备,在确定分配的服务提供设备后可以与服务提供设备建立连接。
在客户端与服务提供设备连接后由服务提供设备提供数据以在客户端侧显示相应的UI界面,因此服务提供设备会将用户界面缓存进行编码后生成传送流(Transport Stream,TS)发送给客户端,客户端在接收到传送流后会对该传送流进行解析而后生成相应的解析数据,对解析数据进行显示从而显示相应的用户界面。其中,服务提供设备中存储的UI缓存包括在客户端上显示的各种内容,如主UI界面,UI界面中所显示的各种APP、以及APP开启后相应的UI界面等,即客户端本地显示但并不存储主UI界面,也不存储
安装的APP等内容。
步骤204,接收原始信号,依据原始信号确定输入信号。
针对客户端所显示的UI界面,用户可以通过遥控器的外置设备进行控制,如选择某个功能,进入下一级界面等,而由于UI界面是基于服务提供设备的传送流解析显示的,因此对UI界面的控制响应也由服务提供设备执行。
因此客户端可以接收用户通过外置设备发送的原始信号,如包括用于控制UI界面变化的信号,又如包括用于控制播放切换的控制信号等。客户端依据该原始信号确定对应的输入信号。
步骤206,将输入信号发送给所述服务提供设备,以使服务提供设备对所述输入信息进行响应。
将该输入信号发送给服务提供设备,使得服务提供设备对该输入信号进行响应,生成相应的响应信息,例如生成响应于该输入信号的UI对应TS流反馈给客户端。
步骤208,接收所述服务提供设备反馈的响应信息,并对所述响应信息进行显示处理。
接收服务提供设备反馈的响应信息,然后对该响应信息进行显示处理,如该响应信息为TS流,则显示相应的UI界面。
综上所述,服务提供设备在与客户端建立连接以进行数据传输,客户端对接收的原始信号进行处理得到输入信号发送给服务提供设备,使服务提供设备对该输入信息进行响应从而客户端对响应信息进行显示处理,实现快速的对用户控制的云端响应。
实施例二
在上述实施例的基础上,本实施例继续论述服务提供设备和客户端之间的数据传输方法。
参照图3,示出了本申请的一种服务提供设备侧的数据传输方法实施例的步骤流程图,具体可以包括如下步骤:
步骤302,服务提供设备在启动后对端口进行监听。
步骤304,从所述端口接收信号与所述客户端建立长连接。
步骤306,在所述长连接建立成功后,在用户空间内生成虚拟输入设备。
服务提供设备在启动后会启动SSL Socket Server监听指定端口,从该端口接收连接信号与该客户端建立长连接。在长连接建立成功后,服务提供设备在用户空间内生成虚拟输入设备。例如,采用Uinput虚拟一个输入设备/dev/input/Ali-vinput。
其中,SSL Socket Server为服务提供设备用来接收加密输入信号的服务器应用。Uinput是linux用来实现用户空间输入设备的内核接口,利用它可以在用户空间虚拟输入设备,向系统中注入输入事件。
本申请一个可选实施例中,所述在用户空间内生成虚拟输入设备,包括:启动输入设备;通过驱动设备向所述输入设备添加事件类型,写入所述虚拟输入设备的基本信息;依据所述输入设备在所述用户空间内生成虚拟输入设备。
首先启动输入设备Uinput,通过驱动设备向Uinput添加事件类型,如键盘事件、鼠标事件等,以及可接受的事件值等,再写入所述虚拟输入设备的基本信息,如设备名称等,然后依据所述输入设备在所述用户空间内生成虚拟输入设备。
例如,虚拟输入设备可以采用如下方法创建:以Android系统为例,使用open("/dev/uinput",O_WRONLY|O_NONBLOCK)打开/dev/uinput设备获取fd;再使用ioctl(fd,UI_SET_EVBIT,EV_XXX)添加事件类型,包括同步事件、键盘事件、鼠标事件、触摸事件等;注册可接受的事件的值,包括键盘的键值、鼠标和触摸事件的x和y坐标等;初始化uinput_user_dev类型的变量uidev,该变量中保存待虚拟的设备的基本信息,包括设备名和总线类型等;使用write(fd,&uidev,sizeof(uidev))将待虚拟的设备信息写入/dev/uinput设备;使用ioctl(fd,UI_DEV_CREATE)生成虚拟设备。
其中,fd是指文件描述符,获取设备的文件描述符才能操作设备,本实施例中fd指向/dev/uinput设备。ioctl是设备驱动程序中对设备的输入输出通道进行管理的函数,参数&uidev为命令名,sizeof(uidev)为命令所需参数,实际处理中可以sizeof(uidev)设置该参数,也可以不设置该参数,通过该ioctl函数对fd所指向的设备执行UI_SET_EVBIT命令,EV_XXX是命令的参数,以此来添加事件类型。Write函数用来向fd所指向的设备写入数据,uidev为数据的首地址,sizeof(uidev)为数据大小。
步骤308,接收所述客户端发送的加密的输入信号,对所述加密的输入信号进行解密。
步骤310,将解密的输入信号写入所述虚拟输入设备。
步骤312,所述虚拟输入设备确定所述解密的输入信号对应的输入事件;
步骤314,将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
接收所述客户端发送的加密的输入信号,对所述加密的输入信号进行解密,然后将解密的输入信号写入虚拟输入设备。通过该虚拟输入设备确定所述解密的输入信号对应
的输入事件,并对输入事件进行分发,可以输入事件的类型、应用场景等信息将输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
本申请一个可选实施例中,对所述加密的输入信号进行解密,包括:对所述加密的输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
接收所述客户端发送的加密的输入信号,对所述加密的输入信号进行解密,其中按照预置加解密方式,可以对该加密的输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
本实施例中,服务提供设备解密后得到的输入信号可以存在多种类型,如为指定系统的标准输入信号,又如为映射后的键值信息等,可以依据具体需求设定,或者依据需求对解密后的输入信号进行转换,得到所需的输入信息。
本申请另一个可选实施例中,对所述加密的输入信号进行解密之后,还包括:按照预置规则将所述解密的输入信号映射成相应的键值信息;所述虚拟输入设备确定所述解密的输入信号对应的输入事件,包括:所述虚拟输入设备查找所述键值信息对应的输入事件。
本实施例中,对于解密的输入信号还能是数字信息,此时可以将该数字信息预设的映射表将其映射成相应的键值信息,如按照预置协议将数字信息反Map成键值信息。当输入信号表现为键值信息的形式时,虚拟输入设备可以查找所述键值信息对应的输入事件,而后对输入事件进行分发。
其中一种虚拟输入设备对输入信号的处理过程如下:以android为例,可分为以下几步:
1、硬件抽象层(Hardware Abstraction Layer,HAL)的EventHub通过epoll机制监听/dev/input/目录下的所有设备文件描述符的变化,一旦有输入事件写入设备,EventHub就能读取到该事件;
2、Framework层的InputReader从EventHub读入原始输入事件后转化为android平台的输入事件,再将输入事件传递给InputDispatcher;
3、InputDispatcher根据输入事件以及场景的不同将事件分发给上层应用或系统,例如Home键和Power键会交由系统处理而不是上层应用,方向键等会交由应用处理。
从而通过虚拟输入设备模拟硬件输入的输入事件,对输入事件进行分发从而生成相应的响应信息。
本实施例中,由于客户端显示的UI界面是依据服务提供设备发送的TS流解析显示
的,因而用户对UI界面的控制,如选择某一功能,或者在其中安装APP等控制操作,看似是在客户端侧执行的,实际上均是将输入信息发送给服务提供设备,由服务提供设备执行相应的控制并反馈响应的TS流。
本申请一个可选实施例中,将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,包括:将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的UI缓存;将所述UI缓存编码生成对应的TS流作为响应信息,以在所述客户端显示响应于输入信号的UI界面。
针对输入信号对应输入事件,虚拟输入设备会将该输入事件分发给对应的上层应用或操作系统,而后上层应用或操作系统获取响应于所述输入事件的UI缓存,例如输入事件为选择某一功能,则UI缓存可以为该功能对应的界面内容的缓存,又如输入事件为安装一APP,则在服务提供设备侧安装该APP,UI缓存为该APP安装完成对应的UI缓存。
步骤316,服务提供设备将响应信息反馈给客户端。
然后对该UI缓存进行编码以及流化处理生成TS流作为响应信息反馈给客户端。从而通过输入信号传输给服务提供设备,使得服务提供设备能够对该输入信号进行响应并反馈给客户端,从而实现对用户控制的云端响应。
上述论述了服务提供设备侧对用户控制的响应步骤,通过实施例继续论述对客户端侧的数据传输方法。
本申请一个可选实施例中,所述接收原始信号之后,包括:按照预置规则对所述原始信号进行映射处理,得到对应的输入信号。即对于客户端接收的原始信号可以通过映射处理得到能够被服务提供设备识别的输入信号,其中,映射得到的输入信号的类型可以有多种,如指定系统的标准输入信号,又如数字信息等。
以客户端传输指定系统的标准输入信号给服务提供设备为例,具体包括如下步骤:
参照图4,示出了本申请的一种客户端侧的数据传输方法实施例的步骤流程图。
步骤402,客户端在启动后与服务提供设备建立加密连接。
客户端启动后会请求服务器为其分配服务提供设备,而后客户端会与分配的服务提供设备建立连接,即启动SSL Socket Client,与服务提供设备的SSL Socket Server建立TCP长连接。其中,SSL Socket Client为客户端用来向服务提供设备传输加密输入信号的客户端应用。
本申请一个可选实施例中,客户端与所述服务提供设备按照心跳方式维持加密连接,在检测到连接断开后自动执行重连步骤。
客户端和服务提供设备可以使用心跳维持连接,客户端检测到与服务提供设备断连后会自动重连,其中数据传输使用SSL加密。
步骤404,接收原始信号。
步骤406,检测所述原始信号是否属于指定系统的标准输入信号。
客户端解析服务提供设备传输的TS流显示UI界面后,可以接收用户通过外置设备发出的原始信号,再检测该原始信号是否属于指定系统的标准输入信号。
其中,该指定系统为服务提供设备所采用的操作系统,则指定系统的标准输入信号即为服务提供设备的操作系统能够识别的输入信号,如为Linux标准输入信号等。
若是,即该原始信号属于指定系统的标准输入信号,执行步骤410。
若否,即该原始信号不属于指定系统的标准输入信号,执行步骤408。
步骤408,将所述原始信号映射成指定系统的标准输入信号。
该原始信号不属于指定系统的标准输入信号时,按照预置规则对所述原始信号进行映射处理,将所述原始信号映射成指定系统的标准输入信号。
步骤410,将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号。
步骤412,将所述二进制的输入信号进行对称加密或非对称加密,得到加密的输入信号。
步骤414,将加密的输入信号发送给所述服务提供设备。
将所述指定系统的标准输入信号进行二进制化处理,即将该标准输入信号转换成二进制信息得到二进制的输入信号。再对该二进制的输入信号进行加密处理,其中按照SSL加密连接建立时确定的加密方式进行对称加密或非对称加密,从而得到加密的输入信号。然后将该加密的输入信号发送给服务提供设备,使服务提供设备对其进行响应反馈对应的响应信息,如响应于控制的UI界面对应TS流。如客户端采用SSL Socket Client将输入信号进行二进制化后加密,传递给服务提供设备的SSL Socket Server。
步骤416,接收所述服务提供设备反馈的响应信息。
客户端接收服务提供设备反馈的响应信息,其中,所述响应信息包括对响应于输入信号的用户界面缓存编码生成的传送流。
步骤418,对所述传送流进行解析,显示响应于所述输入信号的用户界面。
客户端通过播放器对服务提供设备反馈的传送流进行解析,显示响应于所述输入信号的用户界面,如进入选择的功能对应UI界面,又如显示安装APP成功的UI界面等。
现有的输入信号透传技术通常是通过上层应用实现的,存在以下问题:一是可移植性差,二是支持虚拟设备种类少,三是安全性差,四是传输效率低。
而本申请实施例中,首先对客户端所采用的各种系统平台,可以将输入信号映射为Linux的输入信号传递至服务提供设备即可,可移植性较好。其次服务提供设备使用虚拟输入设备技术,直接将输入信号写入设备中,模拟硬件输入信号,可以模拟已知的所有输入设备,如触摸屏、键盘、遥控器、鼠标等,支持虚拟设备种类多,可扩展性较好。再次,客户端和服务提供设备间使用SSL对传输数据进行加密,保证数据传输的可靠性,解决了输入信号容易被恶意劫持,泄露用户密码等问题,安全性较高。再次,在使用字符串传输信号时,以“128”为例,使用字符串需要3个字节,而本申请采用二进制传输信号需要1个字节,大大提高传输效率,即使在网络状况不佳的情况下也能正常工作。
以客户端传输键值信息映射成数字信息作为输入信号给服务提供设备为例,具体包括如下步骤:
参照图5,示出了本申请的另一种客户端侧的数据传输方法实施例的步骤流程图。
步骤502,客户端在启动后与服务提供设备建立加密连接。
客户端启动后会请求服务器为其分配服务提供设备,而后客户端会与分配的服务提供设备建立连接,即启动SSL Socket Client,与服务提供设备的SSL Socket Server建立TCP长连接。其中,SSL Socket Client为客户端用来向服务提供设备传输加密输入信号的客户端应用。客户端和服务提供设备可以使用心跳维持连接,客户端检测到与服务提供设备断连后会自动重连,其中数据传输使用SSL加密。
步骤504,接收原始信号。
步骤506,对操作系统进行检测。
客户端解析服务提供设备传输的TS流显示UI界面后,可以接收用户通过外置设备发出的原始信号,并对客户端的操作系统(Operating System,OS)进行检测,当客户端为第一操作系统时,执行步骤408;当客户端为第二操作系统时,执行步骤410。
例如,用户通过红外遥控器发出红外键值信号,客户端获取红外信号并判断自身OS类型,假设第一操作系统为linux,第二操作系统为android。当然操作系统还可以为IOS等,本申请实施例对此不作限定。
步骤508,确定所述原始信号对应的键值,按照键值映射表获取所述键值对应的键值信息。
当属于第一操作系统时,确定所述原始信号对应的键值,按照键值映射表获取所述
键值对应的键值信息,如将红外键值与map表进行比较,确定红外键值代表的含义,即将红外键值Map成对应事件。其中,Map可以将键映射到值的对象。
步骤510,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息。
当属于第二操作系统时,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息,如启动按键监听按键响应获取按键事件,然后获取该按键事件对应的键值信息。
步骤512,将所述键值信息映射成数字信息作为输入信号。
步骤514,将所述键值信息进行对称加密或非对称加密,得到加密的输入信号。
步骤516,将加密的输入信号发送给所述服务提供设备。
将上述键值信息映射成数字信息作为输入信号,然后对键值信息进行对称加密或非对称加密,得到加密的输入信号。例如,将键值信息按照预设协议Map成数字信息,然后将数字信息按照加密算法加密成密文,如通过数据加密标准(Data Encryption Standard,DES)方式进行加密,得到加密的输入信号。然后将加密的输入信号发送给所述服务提供设备。如,将加密的输入信号通过IP网络采用SSL Socket Client发送给服务提供设备。
步骤518,接收所述服务提供设备反馈的响应信息。
客户端接收服务提供设备反馈的响应信息,其中,所述响应信息包括对响应于输入信号的用户界面缓存编码生成的传送流。
步骤520,对所述传送流进行解析,显示响应于所述输入信号的用户界面。
客户端通过播放器对服务提供设备反馈的传送流进行解析,显示响应于所述输入信号的用户界面,如进入选择的功能对应UI界面,又如显示安装APP成功的UI界面等。
当前客户端的UI界面以及对界面内容的控制均是在客户端本地的操作系统上运行,而没有实现对操作系统的云端化响应控制,而且对于UI的按键控制,通常也是在本地采用一个遥控器控制一种终端设备的实现方式。
本实施例采用强大的后台服务器将操作系统云端化,该操作系统云端化指的是客户端所显示的UI对应操作系统位于云端的服务提供设备中,因此对于UI界面的控制如APP的安装均是在服务提供设备侧实现的,而在客户端解析、显示。由于是服务提供设备实现操作系统及相应的控制,因此涉及到各种类型客户端和服务提供设备之间的远程按键操作等输入控制。本实施例可以兼容多种现有的不同类型的客户端和服务提供设备之间的按键上报等输入信号的传输,并且通过自定义协议将按键map(将键映射到值的对象)
后最大限度的减少传输带宽,并且采用键值算法加密和SSL证书认证双重安全保障。
综上,将客户端接收到的输入信号进行映射之后传递至服务提供设备,服务提供设备无需连接其他输入设备,也无需安装其他输入设备驱动,使用虚拟输入设备即可虚拟客户端上的输入,与直接在服务提供设备上输入无异,信号传输使用SSL加密,确保传输的安全性。
实施例三
在上述实施例的基础上,本实施例结合服务提供设备和客户端的交互举例论述该数据传输方法。
1、对指定操作系统的标准输入信号的传输。
参照图6,示出了本申请的一种客户端和服务提供设备间数据传输示意图。
6.02、客户端在启动后与服务提供设备建立加密连接。
6.04、服务提供设备生成虚拟输入设备。
6.06、客户端接收原始信号。
6.08、客户端映射得到指定系统的标准输入信号。
6.10、客户端将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号。
6.12、客户端将所述二进制的输入信号进行加密处理,得到加密的输入信号。
6.14、客户端将加密的输入信号发送给所述服务提供设备。
6.16、服务提供设备对所述加密的输入信号进行解密,获取解密的二进制输入信号。
6.18、服务提供设备将解密的输入信号写入所述虚拟输入设备。
6.20、服务提供设备的虚拟输入设备确定所述解密的输入信号对应的输入事件。
6.22、服务提供设备的虚拟输入设备将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,包括响应的TS流。
6.24、服务提供设备将响应的TS流反馈给客户端。
6.26、客户端对响应的TS流进行解析,显示响应于所述输入信号的UI界面。
本实施例中,客户端的一种表现形式为APP,则为了使配置较为差的机顶盒等硬件设备,能够使用服务提供设备提供的优质服务(包括系统UI,影视剧,游戏,教育等各种资源),将提供数据服务器的服务提供设备放入云端,与服务器、客户端等构成智能电视系统。通过TS流的形式向客户端推送视频信号(显示信息),客户端解析TS流展示UI,并且发送控制信号(输入信号)到服务提供设备实现交互,从而实现了将控制信
号(输入信号)透传到服务提供设备进行云端响应。
2、键值信息作为输入信号的传输
参照图7,示出了本申请的另一种客户端和服务提供设备间数据传输示意图。
7.02、客户端在启动后与服务提供设备建立加密连接。
7.04、服务提供设备生成虚拟输入设备。
7.06、客户端接收原始信号。
7.08、客户端确定所述原始信号对应的键值信息。
7.10、客户端将所述键值信息映射成数字信息作为输入信号。
7.12、客户端将所述键值信息进行加密处理,得到加密的输入信号。
7.14、客户端将加密的输入信号发送给所述服务提供设备。
7.16、服务提供设备对所述加密的输入信号进行解密,获取解密的数字信息。
7.18、服务提供设备将解密的数字信息映射成键值信息。
7.20、服务提供设备将键值信息写入所述虚拟输入设备。
7.22、服务提供设备的虚拟输入设备确定所述键值信息对应的输入事件。
7.24、服务提供设备的虚拟输入设备将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,包括响应的TS流。
7.26、服务提供设备将响应的TS流反馈给客户端。
7.28、客户端对响应的TS流进行解析,显示响应于所述输入信号的UI界面。
本实施例中,服务提供设备中存储的UI缓存包括在客户端上显示的各种内容,如主UI界面,UI界面中所显示的各种APP、以及APP开启后相应的UI界面等,即客户端本地仅显示而并不存储主UI界面,也不存储安装的APP等内容。
以用户在客户端中安装APP为例,用户通过外置设备发出对客户端显示的UI界面中的某一APP的安装指令后,客户端会获取该安装指令对应原始信号通过映射、加密等生成加密的输入信号发送给服务提供设备,服务提供设备对输入信号界面、映射等处理后,响应于该输入信号获取该APP的数据在服务提供设备端安装并记录相应的APP信息,并将安装过程以及安装完毕对应UI界面的TS流作为响应信息反馈给客户端进行显示。从而看似在客户端中安装APP的过程实质上是在服务提供设备中完成的,而客户端仅显示了服务提供设备推送的流化方式的UI界面。
又如用户通过外置设备选择开启已安装的某一游戏APP后,将对应加密的输入信号发送给服务提供设备后,服务提供设备响应于该输入信号会获取启动进入APP相应的
UI缓存生成TS流作为响应信息发送给客户端显示,后续对于客户端发送的各种控制数据,服务提供设备也会发送响应控制数据的UI缓存对应TS流,客户端显示响应于用户控制的UI界面。
因而,服务提供设备可以预先购买游戏、视频等付费资源供系统中各客户端使用,从而用户可以客户端本地免费选择上述资源进行安装、观看等。
从而通过服务提供设备采用TS流推送UI界面,客户端仅解析并显示,对于用户通过外置设备的控制数据也要转发给服务提供设备,由服务提供设备响应该控制调整UI界面反馈TS流。
上述各实施例所论述的客户端以及服务提供设备等,可以采用如下的智能电视系统。该智能电视系统可以包括:客户端、调度服务器和服务提供设备。其中,客户端是一种可以使用服务提供设备提供的APP应用程序的终端,如,机顶盒、智能移动终端、PAD(Portable Android Device平板电脑)、具有解码功能的智能电视等。所述服务提供设备可以是多个,作为服务端设置在云端,远程为所述客户端提供服务。调度服务器在接收到客户端申请服务提供设备的请求之后,可以根据设定分配策略从云端的多个服务提供设备中选择一个服务提供设备分配给所述客户端。
这里需要说明的是,在本申请的方案中,服务提供设备可以作为硬件设备设置在云端,软件(应用程序)可以安装在服务提供设备中,服务提供设备可以在云端将各类应用程序的用户界面(User Interface,UI)进行压缩编码,客户端有基本解码能力即可向用户展现应用程序的用户界面,实现对各类应用程序的操作。换而言之,与传统的智能电视系统所不同的是,在本申请的方案中,软件(应用程序)不再安装在机顶盒中,而是安装在服务提供设备中,通过服务提供设备为用户提供服务。由于不再需要将软件安装在机顶盒中,故可以不再单独设置机顶盒。例如,若所述客户端为智能移动终端、或具有解码功能的智能电视时,则可以直接将智能移动终端(或具有解码功能的智能电视)与所述服务提供设备进行连接,用户不需要单独购买/设置机顶盒,节约了用户成本;同时,智能移动终端(或具有解码功能的智能电视)与所述服务提供设备直接进行交互,提高了交互效率,减少了对机顶盒的维护步骤,降低了对资源的占用。当然,对现有具有基本解码能力的机顶盒本申请的方案也仍然适用。进一步地,所述调度服务器可以是指一个服务器,也可以是指等同于所述调度服务器功能的多个服务器组成的服务器群组。
本申请中,一种优选的智能电视系统的架构如图8所示,参照图8,示出了本申请的一种智能电视系统的架构图。在本实施例中,所述智能电视系统具体可以包括:至少
一个设备服务器(如图8所示的设备服务器801)、至少一个调度服务器(如图8所示的调度服务器802)和至少一个客户端(如图1所示的客户端803)。其中,每个设备服务器中包括至少一个服务提供设备(如图8所示的设备服务器801中的服务提供设备804)。
此外,优选地,所述智能电视系统还可以包括:至少一个管理服务器(如图8所示的管理服务器805)和至少一个用户数据信息存储设备(如图8所示的用户数据信息存储设备806)。需要说明的是,所述用户数据信息存储设备用于存储用户数据信息,一个用户可以对应一个专用的用户数据信息存储设备,多个用户也可以共有同一个用户数据信息存储设备,本实施例对此不作限制。其中,所述用户数据信息存储设备可以是物理设备,也可以是逻辑设备,还可以是物理和逻辑相结合的设备。例如,所述用户数据信息存储设备中可以包括至少一个用户分区(如图8所示的用户分区807),每个用户分区对应存储一个用户的用户数据信息。
在本实施例中,客户端803可以是如上所述的硬件设备,如,机顶盒、智能移动终端、PAD、具有解码功能的智能电视等。优选地,所述客户端803也可以是位于智能电视终端侧,其可以呈现为智能电视终端中装载的APP(应用程序,Application)的形式,这里的智能电视终端具体可以包括:机顶盒、移动终端、智能电视机等。一方面,客户端803可用于播放服务提供设备804发送的传送流(Transport Stream,TS)所解析出的用户界面,以及播放从其他网络服务器中获取的多媒体数据(如视频信号、音频信号等);另一方面,客户端803可用于监听用户通过遥控器等输入装置产生的输入消息,并将该输入消息发送给服务提供设备804或者调度服务器802。从而客户端803所显示的用户界面由服务提供设备804推送,客户端803仅解析并显示,且客户端803所接收的用户对用户界面控制的输入消息,也会转发给服务提供设备804以使其据此调整用户界面。
服务提供设备804位于网络侧,其中,每个服务提供设备具体可以包括:硬件板卡和硬件板卡所承载的软件模块。需要说明的是,在本实施例中,各类应用程序可以直接安装在服务提供设备中,用户可以通过客户端803展现的应用程序对应的用户界面,对服务提供设备804中的应用程序进行各项操作,不再需要在客户端803中单独安装应用程序,便于技术人员对所述智能电视系统进行统一维护,减少了工作量,提高了维护效率。
用户分区807位于网络侧,一般地,每个用户对应有一个用户分区,各个用户的用户数据信息被保存在对应的用户分区下。进一步地,每个用户分区具有唯一一个地址信
息,所述地址信息可以指示对应的用户分区的具体地址,通过所述地址信息可以快速查找到用户分区,完成用户数据信息的调用。换而言之,调度服务器802(或,管理服务器805)可以仅对地址信息(数据量较小)进行维护,而不用对整个用户数据信息(数据量较大)进行维护,降低了维护的数据量,减少了资源占用,提高了系统运行速度,且,数据信息便于查找。
调度服务器802位于网络侧,主要用于依据客户端803发送的输入消息,分配一个空闲的、状态良好的服务提供设备804与客户端803对接;同时,可以将用户ID对应的用户分区挂载到所分配的服务提供设备804上,也即,每个用户分区可以与唯一的用户ID相对应,如用户分区A对应用户A等等,这样,用户A在客户端803在与上次分配的、编号为001的服务提供设备断开连接后,即使下次连接的是编号为002的服务提供设备,用户A仍然可以使用用户分区A,并且可以使用之前的历史记录等数据;
管理服务器805位于网络侧,可用于对所有的服务提供设备进行管理,所述管理具体可以包括:状态上报、心跳管理、设置属性、获取属性、网络唤醒、软重启、硬重启等;可见,管理服务器805可以作为远程服务器,采用本申请的技术方案在广域网实现对服务提供设备的网络唤醒。
本申请实施例中,服务提供设备也可以称为云盒或OTT机顶盒,具有优质的服务能力,能够为用户提供各种功能如高清视频、免费游戏等,其中,OTT即Over The Top,是指通过互联网向用户提供各种应用服务。将具有OTT功能的服务提供设备集成为设备服务器,通过视频流化技术,将服务提供设备的功能通过网络传输到普通机顶盒、智能电视等设备上,使其可以在不升级硬件的情况下使用OTT的高端功能。
可以将具有优质服务能力的服务提供设备中的各种功能,通过流化方式传输给安装于普通低端机顶盒或智能电视中的客户端上,客户端显示TS流对应的UI界面,其中,服务提供设备的功能包括但不限于:游戏、应用、电影、电视剧、教育、视频聊天、K歌等。
其中,对于安装客户端的普通机顶盒或智能电视的系统要求较低,例如,要求普通机顶盒具备播放RTSP 720P视频流的能力,又如,要求普通机顶盒需要具备访问IP网络的能力,从而在安装了客户端后可以上传键值等进行控制。
本实施例中,设备服务器中的每一片服务提供设备,具备较强的服务能力,这些服务能力包括但不限于:较强的处理能力、较强的图形计算能力、大内存、低功耗。可以运行目前市面上的大型游戏和应用,播放1080P以及2K的电影等。
而普通的机顶盒往往较为陈旧,首先其并非是智能的OTT机顶盒,其次其性能也比较弱,不足以运行大型游戏和应用,客户往往需要升级或者替换更新的机顶盒才能满足这部分的娱乐需求。因此,服务提供设备能够解决上述问题。大型的游戏和应用都在云端的设备服务器中运行,再通过RTSP视频流传输给普通的机顶盒中安装的客户端进行播放,达到了使用低端机顶盒进行高端娱乐的目的,能够增强普通机顶盒的服务能力。
上述各实施例所述的客户端可以应用于基于图8中所示的智能电视系统中。但本领域技术人员应当明了,任意需要类似资源分配的系统或服务器,均可参照本申请实施例实现本申请的资源分配方案,而不仅限于上述架构下的应用场景。例如,所述资源分配方案还可以应用于对终端的远程控制系统(如,远程教学系统)等。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
实施例四
在上述实施例的基础上,本实施例还提供了一种数据传输装置,本实施例的服务提供设备包括数据传输装置。
参照图9,示出了本申请一种数据传输装置实施例的结构框图,具体可以包括如下模块:
输入设备虚拟模块904,用于在与客户端建立连接后生成虚拟输入设备。
服务提供设备通信模块902,用于接收所述客户端发送的输入信号,将响应于所述输入信号的响应信息反馈给所述客户端。
虚拟响应模块906,用于将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号。
综上所述,服务提供设备在与客户端建立连接以进行数据传输,而后生成虚拟输入设备以模拟各种硬件的输入信号,可扩展性较高,此后服务提供设备在接收客户端发送的输入信号,将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号并将响应信息反馈给客户端,可扩展性较高,处理过程比较简单,实现快速的对用户控制的云端响应。
参照图10,示出了本申请一种数据传输装置优选实施例的结构框图,具体可以包括
如下模块:
输入设备虚拟模块1004,用于在与客户端建立连接后生成虚拟输入设备。
第一通信模块1002,用于接收所述客户端发送的输入信号,将响应于所述输入信号的响应信息反馈给所述客户端。
虚拟响应模块1006,用于将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号。
本申请一个可选实施例中,所述第一通信模块1002,还用于在启动后对端口进行监听;从所述端口接收信号与所述客户端建立长连接;所述输入设备虚拟模块1004,用于在所述长连接建立成功后,在用户空间内生成虚拟输入设备。
所述输入设备虚拟模块1006,用于启动输入设备;通过驱动设备向所述输入设备添加事件类型,写入所述虚拟输入设备的基本信息;依据所述输入设备在所述用户空间内生成虚拟输入设备。
本申请另一个可选实施例中,虚拟响应模块1006,包括:事件确定子模块10062,用于由所述虚拟输入设备确定所述输入信号对应的输入事件;分发并响应子模块10064,用于将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
本申请另一个可选实施例中,所述第一通信模块1004,还用于对所述输入信号进行解密;虚拟响应模块1006,还包括:映射子模块10066,用于按照预置规则将所述解密的输入信号映射成相应的键值信息;所述事件确定子模块10062,用于虚拟输入设备查找所述键值信息对应的输入事件。
本申请另一个可选实施例中,第一通信模块1002,用于对所述输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
分发并响应子模块10064,用于将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的用户界面缓存;将所述用户界面缓存编码生成对应的传送流作为响应信息,以在所述客户端显示响应于输入信号的用户界面。
实施例五
在上述实施例的基础上,本实施例还提供了另一种数据传输装置,本实施例中上述智能电视系统的客户端可以包括该另一种数据传输装置。
参照图11,示出了本申请另一种数据传输装置实施例的结构框图,具体可以包括如下模块:
第二通信模块1102,用于在启动后与服务提供设备建立连接;将输入信号发送给所
述服务提供设备,以使服务提供设备对所述输入信息进行响应;以及接收所述服务提供设备反馈的响应信息。
输入接收模块1104,用于接收原始信号。
信号处理模块1106,用于依据所述原始信号确定输入信号。
显示模块1108,用于对所述响应信息进行显示处理。
综上所述,服务提供设备在与客户端建立连接以进行数据传输,客户端对接收的原始信号进行处理得到输入信号发送给服务提供设备,使服务提供设备对该输入信息进行响应从而客户端对响应信息进行显示处理,实现快速的对用户控制的云端响应。
本申请一个可选实施例中,信号处理模块1206,用于按照预置规则对所述原始信号进行映射处理,得到对应的输入信号,其中,所述映射处理包括以下任一项:当检测到所述原始信号不属于指定系统的标准输入信号时,将所述原始信号映射成指定系统的标准输入信号;确定所述原始信号对应键值信息,将所述键值信息映射成数字信息作为输入信号。
本申请一个可选实施例中,所述信号处理模块1206,还用于将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号;将所述二进制的输入信号进行对称加密或非对称加密,得到加密的输入信号。
本申请另一个可选实施例中,所述信号处理模块1206,用于对操作系统进行检测;当属于第一操作系统时,确定所述原始信号对应的键值,按照键值映射表获取所述键值对应的键值信息;当属于第二操作系统时,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息;将所述键值信息进行对称加密或非对称加密,得到加密的输入信号。
本申请另一个可选实施例中,所述响应信息包括对响应于输入信号的用户界面缓存编码生成的传送流,所述显示模块1208,用于对所述传送流进行解析,显示响应于所述输入信号的用户界面。
本申请另一个可选实施例中,所述客户端通信模块1202,还用于与所述服务提供设备按照心跳方式维持加密连接,在检测到连接断开后自动执行重连步骤。
实施例六
本申请实施例还公开了一种智能电视系统,包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立
连接的客户端提供互联网服务;
所述客户端包括上述实施例五所述的数据传输装置,所述服务提供设备包括上述实施例四所述的数据传输装置。
所述的系统还包括:少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
其中,该智能电视系统与上述图7所述的系统基本一致,因此不再赘述。
本申请实施例中,首先对客户端所采用的各种系统平台,可以将输入信号映射为Linux的输入信号传递至服务提供设备即可,可移植性较好。其次服务提供设备使用虚拟输入设备技术,直接将输入信号写入设备中,模拟硬件输入信号,可以模拟已知的所有输入设备,如触摸屏、键盘、遥控器、鼠标等,支持虚拟设备种类多,可扩展性较好。再次,客户端和服务提供设备间使用SSL对传输数据进行加密,保证数据传输的可靠性,解决了输入信号容易被恶意劫持,泄露用户密码等问题,安全性较高。再次,在使用字符串传输信号时,以“128”为例,使用字符串需要3个字节,而本申请采用二进制传输信号需要1个字节,大大提高传输效率,即使在网络状况不佳的情况下也能正常工作。
本实施例采用后台服务器将操作系统云端化,该操作系统云端化指的是客户端所显示的UI对应操作系统位于云端的服务提供设备中,因此对于UI界面的控制如APP的安装均是在服务提供设备侧实现的,而客户端进行解析、显示。由于是服务提供设备实现操作系统及相应的控制,因此涉及到各种类型客户端和服务提供设备之间的远程按键操作等输入控制。本实施例可以兼容多种现有的不同类型的客户端和服务提供设备之间的按键上报等输入信号的传输,并且通过自定义协议将按键map(将键映射到值的对象)后最大限度的减少传输带宽,并且采用键值算法加密和SSL证书认证双重安全保障。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软
件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、客户端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理客户端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理客户端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理客户端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理客户端设备上,使得在计算机或其他可编程客户端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程客户端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者客户端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者客户端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者客户端设备中还存在另外的相同要素。
以上对本申请所提供的一种输入传输方法、一种输入传输装置和一种智能电视系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (35)
- 一种数据传输方法,其特征在于,包括:服务提供设备在与客户端建立连接后生成虚拟输入设备;接收所述客户端发送的输入信号;将所述输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号;将响应于所述输入信号的响应信息反馈给所述客户端。
- 根据权利要求1所述的方法,其特征在于,还包括:所述服务提供设备在启动后对端口进行监听;从所述端口接收信号与所述客户端建立长连接;则所述服务提供设备在与客户端建立连接后生成虚拟输入设备,包括:在所述长连接建立成功后,在用户空间内生成虚拟输入设备。
- 根据权利要求2所述的方法,其特征在于,所述在用户空间内生成虚拟输入设备,包括:启动输入设备;通过驱动设备向所述输入设备添加事件类型,写入所述虚拟输入设备的基本信息;依据所述输入设备在所述用户空间内生成虚拟输入设备。
- 根据权利要求1所述的方法,其特征在于,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号,包括:所述虚拟输入设备确定所述输入信号对应的输入事件;将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
- 根据权利要求4所述的方法,其特征在于,接收所述客户端发送的输入信号之后,还包括:对所述输入信号进行解密;按照预置规则将所述解密的输入信号映射成相应的键值信息;所述虚拟输入设备确定所述输入信号对应的输入事件,包括:所述虚拟输入设备查找所述键值信息对应的输入事件。
- 根据权利要求5所述的方法,其特征在于,对所述输入信号进行解密,包括:对所述加密的输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
- 根据权利要求4所述的方法,其特征在于,将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,包括:将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的用户界面缓存;将所述用户界面缓存编码生成对应的传送流作为响应信息,以在所述客户端显示响应于输入信号的用户界面。
- 根据权利要求1-7任一权利要求所述的方法,其特征在于,所述数据传输方法应用于智能电视系统;其中,所述智能电视系统包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。
- 根据权利要求8所述的方法,其特征在于,所述智能电视系统,还包括至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
- 根据权利要求8所述的方法,其特征在于,所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
- 一种数据传输方法,其特征在于,包括:客户端在启动后与服务提供设备建立连接;接收原始信号,依据所述原始信号确定输入信号;将所述输入信号发送给所述服务提供设备,以使服务提供设备对所述输入信息进行响应;接收所述服务提供设备反馈的响应信息,并对所述响应信息进行显示处理。
- 根据权利要求11所述的方法,其特征在于,所述依据所述原始信号确定输入信号,包括:按照预置规则对所述原始信号进行映射处理,得到对应的输入信号,其中,所述映射处理包括以下任一项:当检测到所述原始信号不属于指定系统的标准输入信号时,将所述原始信号映射成指定系统的标准输入信号;确定所述原始信号对应键值信息,将所述键值信息映射成数字信息作为输入信号。
- 根据权利要求12所述的方法,其特征在于,还包括:将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号;将所述二进制的输入信号进行对称加密或非对称加密,得到加密的输入信号。
- 根据权利要求12所述的方法,其特征在于,所述确定所述原始信号对应键值信息,包括:对操作系统进行检测;当属于第一操作系统时,确定所述原始信号对应的键值,按照键值映射表获取所述键值对应的键值信息;当属于第二操作系统时,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息;所述的方法还包括:将所述数字信息进行对称加密或非对称加密,得到加密的输入信号。
- 根据权利要求11所述的方法,其特征在于,所述响应信息包括对响应于输入信号的用户界面数据编码生成的传送流,所述对所述响应信息进行显示处理,包括:对所述传送流进行解析,显示响应于所述输入信号的用户界面。
- 根据权利要求11所述的方法,其特征在于,还包括:所述客户端与所述服务提供设备按照心跳方式维持加密连接,在检测到连接断开后自动执行重连步骤。
- 根据权利要求11-16任一权利要求所述的方法,其特征在于,所述数据传输方法应用于智能电视系统;其中,所述智能电视系统包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。
- 根据权利要求17所述的方法,其特征在于,所述智能电视系统,还包括至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
- 根据权利要求17所述的方法,其特征在于,所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
- 一种数据传输装置,其特征在于,包括:输入设备虚拟模块,用于在与客户端建立连接后生成虚拟输入设备;第一通信模块,用于接收所述客户端发送的输入信号;以及将响应于所述输入信号的响应信息反馈给所述客户端;虚拟响应模块,用于将输入信号写入所述虚拟输入设备,由所述虚拟输入设备对所述输入信号对应输入事件进行分发以响应所述输入信号。
- 根据权利要求20所述的装置,其特征在于,所述第一通信模块,还用于在启动后对端口进行监听;从所述端口接收信号与所述客户端建立长连接;所述输入设备虚拟模块,用于在所述长连接建立成功后,在用户空间内生成虚拟输入设备。
- 根据权利要求21所述的装置,其特征在于,所述输入设备虚拟模块,用于启动输入设备;通过驱动设备向所述输入设备添加事件类型,写入所述虚拟输入设备的基本信息;依据所述输入设备在所述用户空间内生成虚拟输入设备。
- 根据权利要求20所述的装置,其特征在于,虚拟响应模块,包括:事件确定子模块,用于由所述虚拟输入设备确定所述输入信号对应的输入事件;分发并响应子模块,用于将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息。
- 根据权利要求23所述的装置,其特征在于,所述第一通信模块,还用于对所述输入信号进行解密;虚拟响应模块,还包括:映射子模块,用于按照预置规则将所述解密的输入信号映射成相应的键值信息;所述事件确定子模块,用于所述虚拟输入设备查找所述键值信息对应的输入事件。
- 根据权利要求24所述的装置,其特征在于,所述第一通信模块,用于对所述输入信号进行对称解密或非对称解密,获取解密的二进制输入信号或解密的键值信息。
- 根据权利要求23所述的装置,其特征在于,分发并响应子模块,用于将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的用户界面缓存;将所述用户界面缓存编码生成对应的传送流作为响应信息,以在所述客户端显示响应于输入信号的用户界面。
- 一种数据传输装置,其特征在于,包括:第二通信模块,用于在启动后与服务提供设备建立连接;将输入信号发送给所述服务提供设备,以使服务提供设备对所述输入信息进行响应;以及接收所述服务提供设备反馈的响应信息;输入接收模块,用于接收原始信号;信号处理模块,用于依据所述原始信号确定输入信号;显示模块,用于对所述响应信息进行显示处理。
- 根据权利要求27所述的装置,其特征在于,所述信号处理模块,用于按照预置规则对所述原始信号进行映射处理,得到对应的输入信号,其中,所述映射处理包括以下任一项:当检测到所述原始信号不属于指定系统的标准输入信号时,将所述原始信号映射成指定系统的标准输入信号;确定所述原始信号对应键值信息,将所述键值信息映射成数字信息作为输入信号。
- 根据权利要求28所述的装置,其特征在于,所述信号处理模块,还用于将所述指定系统的标准输入信号进行二进制化处理,得到二进制的输入信号;将所述二进制的输入信号进行对称加密或非对称加密,得到加密的输入信号。
- 根据权利要求28所述的装置,其特征在于,所述信号处理模块,用于对操作系统进行检测;当属于第一操作系统时,确定所述原始信号对应的键值,按照键值映射表获取所述键值对应的键值信息;当属于第二操作系统时,通过监听获取所述原始输入信号的按键响应,依据所述按键响应获取对应的键值信息;将所述键值信息进行对称加密或非对称加密,得到加密的输入信号。
- 根据权利要求27所述的装置,其特征在于,所述响应信息包括对响应于输入信号的用户界面数据编码生成的传送流,所述显示模块,用于对所述传送流进行解析,显示响应于所述输入信号的用户界面。
- 根据权利要求27所述的装置,其特征在于,所述第二通信模块,还用于与所述服务提供设备按照心跳方式维持加密连接,在检测到连接断开后自动执行重连步骤。
- 一种智能电视系统,其特征在于,包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接 的客户端提供互联网服务;所述客户端包括上述权利要求20-26任一所述的数据传输装置,所述服务提供设备包括上述权利要求27-32任一所述的数据传输装置。
- 根据权利要求33所述的系统,其特征在于,还包括:至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。
- 根据权利要求33所述的系统,其特征在于,所述服务提供设备包括:网络机顶盒;所述互联网服务,包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510319957.7A CN106302366B (zh) | 2015-06-11 | 2015-06-11 | 一种数据传输方法、装置和智能电视系统 |
CN201510319957.7 | 2015-06-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016197862A1 true WO2016197862A1 (zh) | 2016-12-15 |
Family
ID=57502898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/084599 WO2016197862A1 (zh) | 2015-06-11 | 2016-06-03 | 一种数据传输方法、装置和智能电视系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106302366B (zh) |
WO (1) | WO2016197862A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976697A (zh) * | 2017-12-28 | 2019-07-05 | 深圳市优必选科技有限公司 | 获取音频数据的方法及装置、设备、计算机可读存储介质 |
CN112152888A (zh) * | 2019-06-28 | 2020-12-29 | 广东美的制冷设备有限公司 | 家电设备的信息写入方法、装置及设备 |
CN113473186A (zh) * | 2021-05-21 | 2021-10-01 | 华数传媒网络有限公司 | 一种跨终端的机顶盒app运行系统和方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632306B (zh) * | 2017-03-17 | 2021-03-23 | 华为技术有限公司 | 安全保活的方法、设备以及系统 |
CN110324139B (zh) * | 2018-03-31 | 2022-09-23 | 广州智丰设计研发有限公司 | 一种智能家居的数据广播方法 |
CN109395372B (zh) * | 2018-12-07 | 2021-02-26 | 上海达龙信息科技有限公司 | 实现游戏手柄远程操控电脑游戏的方法、系统与电子设备 |
CN110266660A (zh) * | 2019-06-03 | 2019-09-20 | 上海金大师网络科技有限公司 | 基于epoll模型的jctp实现系统、方法及介质 |
CN111782713A (zh) * | 2019-09-24 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 用于转换数据的方法和装置 |
CN111478782B (zh) * | 2020-04-09 | 2022-06-17 | 北京字节跳动网络技术有限公司 | 一种聊天室控制方法、服务器、电子设备和存储介质 |
CN111565150B (zh) * | 2020-04-27 | 2022-03-22 | 上海众链科技有限公司 | 数据传输系统及方法 |
CN112099643A (zh) * | 2020-08-31 | 2020-12-18 | 北京爱奇艺科技有限公司 | 云端输入方法、系统、装置、电子设备和存储介质 |
CN113791875A (zh) * | 2021-11-18 | 2021-12-14 | 北京鲸鲮信息系统技术有限公司 | 输入设备虚拟化的方法、装置、电子设备和存储介质 |
CN116112695A (zh) * | 2022-12-28 | 2023-05-12 | 安胜(天津)飞行模拟系统有限公司 | 一种分布式飞行模拟训练回放系统及方法 |
CN116328290A (zh) * | 2023-05-22 | 2023-06-27 | 安徽海马云科技股份有限公司 | 实现云游戏联机对战的方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158474A (zh) * | 2010-01-15 | 2011-08-17 | iBAHN综合控股公司 | 虚拟用户接口 |
US20120296963A1 (en) * | 2011-03-30 | 2012-11-22 | Dexi Lu | Open wireless architecture (owa) mobile cloud infrastructure and method |
CN103379372A (zh) * | 2012-04-20 | 2013-10-30 | 鸿富锦精密工业(深圳)有限公司 | 智能电视及其控制系统与控制方法 |
CN103516418A (zh) * | 2012-06-29 | 2014-01-15 | 深圳市快播科技有限公司 | 一种多媒体互动通信系统、方法及接收设备 |
CN103796058A (zh) * | 2014-01-21 | 2014-05-14 | 四川长虹电器股份有限公司 | 一种基于虚拟输入设备实现对Android智能电视操控的方法 |
CN104202417A (zh) * | 2014-09-16 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 基于云计算的信息处理方法、客户端、云服务器及系统 |
-
2015
- 2015-06-11 CN CN201510319957.7A patent/CN106302366B/zh active Active
-
2016
- 2016-06-03 WO PCT/CN2016/084599 patent/WO2016197862A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158474A (zh) * | 2010-01-15 | 2011-08-17 | iBAHN综合控股公司 | 虚拟用户接口 |
US20120296963A1 (en) * | 2011-03-30 | 2012-11-22 | Dexi Lu | Open wireless architecture (owa) mobile cloud infrastructure and method |
CN103379372A (zh) * | 2012-04-20 | 2013-10-30 | 鸿富锦精密工业(深圳)有限公司 | 智能电视及其控制系统与控制方法 |
CN103516418A (zh) * | 2012-06-29 | 2014-01-15 | 深圳市快播科技有限公司 | 一种多媒体互动通信系统、方法及接收设备 |
CN103796058A (zh) * | 2014-01-21 | 2014-05-14 | 四川长虹电器股份有限公司 | 一种基于虚拟输入设备实现对Android智能电视操控的方法 |
CN104202417A (zh) * | 2014-09-16 | 2014-12-10 | 腾讯科技(深圳)有限公司 | 基于云计算的信息处理方法、客户端、云服务器及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109976697A (zh) * | 2017-12-28 | 2019-07-05 | 深圳市优必选科技有限公司 | 获取音频数据的方法及装置、设备、计算机可读存储介质 |
CN112152888A (zh) * | 2019-06-28 | 2020-12-29 | 广东美的制冷设备有限公司 | 家电设备的信息写入方法、装置及设备 |
CN112152888B (zh) * | 2019-06-28 | 2022-09-09 | 广东美的制冷设备有限公司 | 家电设备的信息写入方法、装置及设备 |
CN113473186A (zh) * | 2021-05-21 | 2021-10-01 | 华数传媒网络有限公司 | 一种跨终端的机顶盒app运行系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106302366B (zh) | 2019-08-27 |
CN106302366A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016197862A1 (zh) | 一种数据传输方法、装置和智能电视系统 | |
US10298721B2 (en) | Method and system to determine a work distribution model for an application deployed on a cloud | |
US8621069B1 (en) | Provisioning a computing application executing on a cloud to a client device | |
US11082490B2 (en) | Method and apparatus for execution of applications in a cloud system | |
WO2016197875A1 (zh) | 应用于服务提供设备的数据处理方法和设备 | |
WO2016197865A1 (zh) | 数据传输方法、装置和智能电视系统 | |
US8732749B2 (en) | Virtual desktop services | |
US9237188B1 (en) | Virtual machine based content processing | |
WO2016197863A1 (zh) | 一种客户端、智能电视系统和相应的数据传输方法 | |
US9532103B2 (en) | Multi-user support for set top boxes and game consoles | |
WO2017124860A1 (zh) | 分布式无线多屏虚拟机服务系统 | |
US20230006985A1 (en) | Systems and methods for connecting private devices to public devices according to connection parameters | |
CN109104416B (zh) | 一种基于pon局域网的多设备协作云服务平台 | |
US10921948B1 (en) | Dynamic resource management for cloud-based services | |
WO2016202200A1 (zh) | 数据校验方法、装置和智能电视系统 | |
WO2017075956A1 (zh) | 内容投射方法及移动终端 | |
WO2015196590A1 (zh) | 桌面云视频的播放处理方法及装置 | |
Lee et al. | FLUID-XP: Flexible user interface distribution for cross-platform experience | |
WO2016202202A1 (zh) | 设备连接的方法和装置、以及智能电视系统 | |
CN110677693A (zh) | 基于安卓系统的加密视频离线播放方法及装置、电子设备 | |
CN112134855A (zh) | Cookie加密方法和显示设备 | |
CN106331775B (zh) | 设备连接方法、装置和智能电视系统 | |
CN103618968A (zh) | 一种面向云环境下的网络电视播放方法及系统 | |
KR20160081767A (ko) | 클라우드 가상화 기반 스마트 tv 서비스를 제공하기 위한 가상화 서버 및 클라이언트 | |
CN117812387A (zh) | 一种显示设备及流媒体播放方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16806760 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16806760 Country of ref document: EP Kind code of ref document: A1 |