WO2016197875A1 - Data processing method and device applicable to service-providing device - Google Patents

Data processing method and device applicable to service-providing device Download PDF

Info

Publication number
WO2016197875A1
WO2016197875A1 PCT/CN2016/084629 CN2016084629W WO2016197875A1 WO 2016197875 A1 WO2016197875 A1 WO 2016197875A1 CN 2016084629 W CN2016084629 W CN 2016084629W WO 2016197875 A1 WO2016197875 A1 WO 2016197875A1
Authority
WO
WIPO (PCT)
Prior art keywords
service providing
providing device
user
server
client
Prior art date
Application number
PCT/CN2016/084629
Other languages
French (fr)
Chinese (zh)
Inventor
宋丹峰
罗金华
米杨
徐晶
杨金锋
谭建国
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2016197875A1 publication Critical patent/WO2016197875A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client 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 communications technologies, and in particular, to a service providing device, a data processing method applied to the service providing device, and a smart television system.
  • STB Digital Video Converter Box, also known as Set Top Box
  • STB Digital Video Converter Box, also known as Set Top Box
  • the set-top box converts the compressed digital signal into TV content and displays it on the TV.
  • the digital signals can come from cable, satellite antennas, broadband networks, terrestrial broadcasts, and the like.
  • the set top box can also receive digital content, such as television program guides, Internet web pages, emails, and the like. Enables users to watch digital TV shows on existing TV sets and interactive digital entertainment, education and online shopping through the web.
  • the technical problem to be solved by the embodiments of the present application is to provide a service providing device, a data processing method applied to the service providing device, and a smart television system, which can reduce the requirement of the smart TV service on hardware resources, and can save the user.
  • the cost of purchasing or updating a set-top box is to provide a service providing device, a data processing method applied to the service providing device, and a smart television system, which can reduce the requirement of the smart TV service on hardware resources, and can save the user.
  • a service providing device including:
  • a stream processing module configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
  • a message processing module configured to receive an input message from the client, and perform phase according to the input message The message processing should be performed; wherein the message processing comprises: updating the user interface.
  • the present application discloses a data processing method applied to a service providing device, including:
  • the present application discloses a smart television system, including: the foregoing service providing device.
  • the embodiments of the present application include the following advantages:
  • the service providing device may push the transport stream corresponding to the user interface to the connected client, so that the client may display the user interface that is parsed according to the transport stream; and the service providing device may also Receiving an input message generated by the user from the input device of the user through a remote controller, a mouse, etc., and updating the user interface of the service providing device according to the input message; since the service providing device is responsible for obtaining the current input information corresponding to the user interface
  • the client is only responsible for the resolution of the transport stream and the display of the user interface. Therefore, the present embodiment can directly provide the smart TV service to the client through the service providing device, which reduces the performance requirement for the set top box, thereby reducing the requirement for the set top box. Maintenance operations reduce the hardware resource requirements of smart TV services while saving the cost of purchasing or updating a set-top box.
  • FIG. 1 is a schematic structural diagram of a smart television system of the present application
  • Embodiment 1 of a service providing device of the present application
  • FIG. 3 is a structural block diagram of a third embodiment of a service providing device according to the present application.
  • Embodiment 4 is a structural block diagram of Embodiment 4 of a service providing device of the present application.
  • Embodiment 5 is a structural block diagram of Embodiment 5 of a service providing device of the present application.
  • Embodiment 6 is a structural block diagram of Embodiment 6 of a service providing device of the present application.
  • Embodiment 7 is a structural block diagram of Embodiment 7 of a service providing device of the present application.
  • FIG. 8 is a flowchart of a method for communication between a client and a service providing device according to the present application.
  • FIG. 9 is a flowchart of another method for communication between a client and a service providing device of the present application.
  • FIG. 10 is a flow chart showing the steps of a first embodiment of a data processing method applied to a service providing device according to the present application;
  • FIG. 11 is a flow chart showing the steps of a second embodiment of a data processing method applied to a service providing device according to the present application;
  • Figure 12 is a flow chart showing the steps of the third embodiment of the data processing method applied to the service providing device of the present application.
  • FIG. 13 is a flow chart showing the steps of the fourth embodiment of the data processing method applied to the service providing device of the present application.
  • the present application provides a smart television system, which may include: 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 can be 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 server may select one service providing device from the plurality of service providing devices in the cloud to allocate to the client according to the set allocation policy.
  • the smart television system may further include at least one user data information storage device; the at least one user data information storage device may specifically include: at least one user partition; wherein At least one user partition is respectively used to store user data corresponding to different clients.
  • the service providing device may specifically include: a network set top box; the Internet service may specifically include at least one of the following: a live television, an audio and video service, a web service, and a game service. .
  • the OTT (OverThe Top) network set-top box with strong performance can be integrated into the cloud device server, and the performance of the OTT set-top box is transmitted to the weak performance through the network through the video streaming technology.
  • the ordinary set-top box can use the high-end function without upgrading the hardware.
  • all the function data in the OTT set-top box (such as the Tmall Magic Box) with strong performance can be streamed and provided to the common set-top box.
  • the above functions include but are not limited to: games, applications, movies, TV series, education, video. Chat, K songs, etc.
  • the performance of each network set-top box in the device server includes, but is not limited to, processing performance, graphics computing performance, large memory, low power consumption, etc., and those skilled in the art can quantify the performance indicators according to actual needs.
  • processing performance graphics computing performance
  • large memory large memory
  • low power consumption etc.
  • those skilled in the art can quantify the performance indicators according to actual needs.
  • play movies of 1080P and 2K specifications In order to run large-scale games and applications currently on the market on the network set-top box, play movies of 1080P and 2K specifications.
  • a normal set-top box For a normal set-top box, it can have the performance of playing a video stream, and has the performance of accessing an IP (Internet Protocol) network.
  • IP Internet Protocol
  • the format of the video stream can be RTSP (real-time streaming). Protocol, Real Time Streaming Protocol) 720P and so on.
  • RTSP real-time streaming
  • Protocol Real Time Streaming Protocol
  • 720P Real Time Streaming Protocol
  • the function data of large games and applications can be run in the cloud device server. These data can be transmitted to the ordinary set-top box for playback in the form of RTSP video stream, thus enabling the use of a common set-top box for high-end entertainment.
  • the embodiments of the present application can be applied to telecommunication/station operators to enhance the performance of existing common set top boxes of these operators.
  • the service providing device can be set in the cloud as a hardware device
  • the software (application) can be installed in the service providing device
  • the service providing device can display the UI of various applications in the cloud.
  • the client can have basic decoding performance to present the user interface of the application to the user, and realize the operation of various applications.
  • the software (application) can be installed in the service providing device, and the service is provided to the user through the service providing device, which can be applied to an existing common set top box, or is suitable for common use.
  • the set top box has an equivalent smart terminal that plays the performance of the video stream and accesses the performance of the IP network.
  • the smart terminal can be directly connected to the service providing device through the client, and the user does not need to separately purchase/update the set top box, thereby saving user cost; at the same time, the smart terminal and the service providing device can directly interact with each other. Improves interaction efficiency, reduces maintenance steps for set-top boxes, and reduces resource usage.
  • the server may refer to a server, or may refer to a server group composed of a plurality of servers equivalent to the functions of the scheduling server.
  • FIG. 1 is a schematic structural diagram of a smart television system of the present application, which may specifically include: at least one client (such as the client 101 shown in FIG. 1) and at least one device server (as shown in FIG. 1).
  • Each device server 101 includes at least one service providing device (such as the service providing device 121 in the device server 102 shown in FIG. 1).
  • the smart television system may further include: at least one management server (such as the management server 104 shown in FIG. 1) and at least one user data information storage device (such as the user data information storage device 105 shown in FIG. 1). ).
  • 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 The device can also be 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 151 shown in FIG. 1), and each user partition correspondingly stores user data information of one user.
  • the client 101 is located on the smart terminal side, and can be presented in the form of an APP loaded in the smart terminal.
  • the client 101 can be used to play the TS (Transport Stream) sent by the service providing device 121.
  • UI and playing multimedia data (such as video signals, audio signals, etc.) acquired from other network servers;
  • the client 101 can be used to monitor an input message generated by a user through an input device such as a remote controller, and input the input message.
  • the data is sent to the service providing device 121 or the dispatching server 103; thus, the client 101 can receive data related to the user interface (such as a user interface of various applications such as a game application, a video application, etc.) pushed by the service providing device 121, and the received user
  • the interface-related data is parsed and displayed; and the client 101 can further forward the input message controlled by the user to the user interface to the service providing device 121 to update the user interface accordingly;
  • the service providing device 121 is located on the network side, and the number of the service providing devices 121 may be set according to system requirements.
  • Each service providing device 121 may specifically include: a software module carried by a hardware board and a hardware board; and the software module may be operated based on Android.
  • the system in this way, each service providing device 121 can install a plurality of applications (such as game applications, video applications, etc.) through the operating system, and transmit the information of the installed applications to the client 101 through the TS stream for the client 101.
  • the selected application is selected from a plurality of installed applications.
  • Android is only an example of an operating system used by the service providing device 121.
  • the specific operating system used by the service providing device 121 is not used in the embodiment of the present application. limit;
  • the user partition 151 is located on the network side, and the number thereof may be determined according to the information of the registered user.
  • the data partition 105 may have a one-to-one correspondence with the registered user. Generally, after completing registration of a new user, the user partition may be established for the corresponding new user.
  • the device 121 does not have a mounting relationship;
  • the scheduling server 103 is located on the network side, and is mainly used to complete the login of the corresponding user of the client 101 according to the input message sent by the client 101, and allocate an idle, good-quality service providing device 121 to connect with the client 102;
  • the user partition 151 corresponding to the login user may be determined according to the ID of the login user (identity), and the address information of the user partition 151 is sent to the service providing device 121, so that the service providing device 121 partitions the user.
  • 151 is mounted on the assigned service providing device 121; it can be seen that each user partition 151 can correspond to a unique user, such as user partition A corresponding to user A, etc., so that user A is present.
  • the user A can still use the user partition A to store the generated user data. , so you can view all historical data by accessing user partition A;
  • the management server 104 is located on the network side and can be used to manage all the service providing devices 121.
  • the management may include: status reporting, heartbeat management, setting attributes, acquiring attributes, network wake-up, soft restart, hard restart, and the like.
  • Embodiment 1 of a service providing device of the present application may specifically include the following modules:
  • the interface encoding module 201 is configured to encode the user interface
  • the stream processing module 202 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
  • the message processing module 203 is configured to receive an input message from the client, and perform corresponding message processing according to the input message.
  • the message processing may include: updating the user interface.
  • the service providing device of the present application can be used in a smart television system similar to that of FIG. 1.
  • the embodiment of the present application does not limit the smart television system corresponding to the service providing device.
  • the service providing device may be an operating system such as Android, Linux, or Windows.
  • the interface encoding module 201, the stream processing module 202, and the message processing module 203 in this embodiment may be run under the support of the operating system.
  • the application embodiment is mainly described by taking Android as an example, and other operating systems can refer to each other.
  • the interface encoding module 201 may encode the user interface of the service providing device after the service providing device establishes a connection with the client.
  • a process is provided for the service providing device to establish a connection with the client: after the user inputs the username and password through the client, the client sends the username and password to the scheduling server, and the scheduling server allocates a service providing device to connect with the client. And sending the IP address of the service providing device to the client, after receiving the IP address of the service providing device, the client initiates a connection request to the service providing device; the service providing device can contact the client after receiving the connection request establish connection.
  • the initial user interface of the service providing device may be the user interface A for displaying all installed applications, or the initial user interface of the service providing device may also be used to display all installed applications.
  • the first-level user interface B and the like; and the user interface of the service providing device may be a user interface updated according to the input message from the client (for example, the secondary user interface corresponding to the first-level user interface B and the third-level user) Interface, etc.). For example, after the user displays the user interface A, if the user receives an installation instruction for an application C in the user interface A by using an input device such as a remote controller or a mouse, the client may send the installation instruction to the installation instruction.
  • the service providing device obtains the installation process of the application C and the interface corresponding to the installation according to the installation instruction, and uses the obtained interface as the current user interface of the service providing device.
  • the response processing for the above input message (such as the installation of the application C) is substantially completed in the service providing device, and the client only displays the user interface of the streaming mode pushed by the service providing device.
  • user interface data of all or part of the installed application may be put into a frame buffer device in advance, so that when message processing is performed
  • the module 203 may search for the matched user interface data in the frame buffer device according to the input message, and if the input message carries the information of the application A and the installation instruction, The user interface information corresponding to the installation instruction of the application A can be found in the frame buffer device.
  • the interface encoding module 201 may encode the user interface of the service providing device according to the preset encoding format, and the preset encoding format may specifically include: H.264, etc., and the specific embodiment of the present application
  • the encoding format is not limited.
  • the stream processing module 202 may generate a TS stream corresponding to the coding result of the user interface by using a Real Time Streaming Protocol (RTSP) in a streaming manner, and push the TS stream to the client.
  • RTSP Real Time Streaming Protocol
  • the foregoing manner of generating the TS stream by using the RTSP is only an example, and is not to be understood as an application limitation of the embodiment of the present application. The method is not limited.
  • the service providing device may push the transport stream corresponding to the user interface to the connected client, so that the client may display the user interface that is parsed according to the transport stream; and, the service providing device And receiving an input message generated by the user from the input device of the client through a remote controller, a mouse, or the like, and updating the user interface of the service providing device according to the input message; the service providing device is responsible for the current input information corresponding to the user interface.
  • the acquisition is only responsible for the resolution of the transport stream and the display of the user interface.
  • the present embodiment can provide the smart TV service directly to the client through the service providing device, which reduces the performance requirement for the set top box, thus reducing the The maintenance operation of the set-top box reduces the hardware resource requirements of the smart TV service, and at the same time saves the cost for the user to purchase or update the set-top box.
  • the service providing device of this embodiment may further include the following optional technical solutions on the basis of the foregoing Embodiment 1.
  • the stream processing module 202 is further configured to obtain corresponding multimedia play information according to the multimedia play request of the client, and feed back the multimedia play information to the client.
  • the user interface currently displayed by the client can provide a multimedia play interface for multimedia resources such as video and audio, and the user can trigger a corresponding multimedia play request through the multimedia play interface, that is, the multimedia play request is a request generated by triggering the user interface.
  • multimedia resources especially the high-density multimedia resources, such as the definition and the quality of the multimedia resources, tend to be relatively large, the method of using the TS stream to transmit the multimedia resources has a higher bandwidth requirement, and if the bandwidth of the client corresponding to the smart terminal is relatively low, There may be problems such as a decline in the playback quality of multimedia resources.
  • the service providing device may not transmit the multimedia resource in the form of the transport stream, but acquire the corresponding multimedia play information according to the multimedia play request of the client, and feed back the multimedia play information to the client.
  • the client requests and plays the corresponding multimedia resource according to the multimedia play information, so that problems such as degradation of the playback quality of the multimedia resource caused by the low bandwidth can be avoided.
  • the service providing device may query the multimedia play information corresponding to the multimedia play request from the network.
  • the service providing device may acquire the multimedia resource corresponding to the multimedia play request from the CDN (Content Delivery Network) server.
  • the address such as a URL (Uniform Resource Locator) feeds the URL back to the client as multimedia playback information.
  • URL Uniform Resource Locator
  • the above URL is only an application example of multimedia playback information, and is not understood as an application limitation of multimedia playback information. In fact, other multimedia playback information such as the name of the multimedia resource is also feasible.
  • the stream processing module 202 is further configured to pause to push the transport stream for the client after receiving the transfer stop command sent by the client.
  • the client may provide the device to the service in order to avoid conflict between the user interface and the multimedia resource.
  • a transfer stop command is sent, which can be used to inform the service providing device to suspend the push of the TS stream. After receiving the transfer stop command, the service providing device may suspend pushing the TS stream to the client.
  • the stream processing module 202 is further configured to re-push the transport stream to the client after receiving the restart instruction sent by the client.
  • the service providing device may retain the user interface of the client before playing, such as a breakpoint record, so that after receiving the restart instruction, the user interface may be pushed to the client from the breakpoint record. Corresponding TS stream.
  • the service providing device pushes the user interface to the client in the form of a TS stream, and sends the multimedia play information to the client, so that the client obtains the corresponding multimedia resource according to the multimedia play information, for the client. Since the user interface and the multimedia resource are acquired in different manners, the conflict between the user interface and the multimedia resource can be avoided, thereby ensuring the display quality of the user interface and the playback quality of the multimedia resource.
  • FIG. 3 a structural block diagram of a third embodiment of a service providing device of the present application is shown, which may specifically include the following modules:
  • An interface encoding module 301 configured to encode a user interface
  • the stream processing module 302 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
  • the message processing module 303 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
  • the partition operation module 304 is configured to mount the user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition.
  • the user partition corresponding to the user may be specifically used to store the user data generated by the user.
  • the user partitions are independent of the storage space of the service providing device, and for each user partition, corresponding to After the user logs in, it can be mounted on the service providing device, and when the corresponding user is not logged in, it can not have a mounting relationship with the service providing device; since each user partition can correspond to the user, so that the user passes the client.
  • Which service providing device is connected to the terminal, and the connected service providing device can use the user partition corresponding to the user to store the user data used by the user, that is, the user partition can store all historical data generated by the user, thereby enabling Satisfying the user's access requirement for all historical data; assuming that the user partition A corresponds to the user A, the user A disconnects the service providing device 002 after the client disconnects from the last assigned service providing device 001.
  • User A always uses user partition A to store the generated user data, so A partition by accessing the user to view all historic data.
  • the mounting may be used to indicate that the storage device or the disk partition is attached to an existing directory.
  • the mounting may be used to attach the user partition to an existing local device in the service providing device.
  • the mounted user partition can be used to indicate the user partition that has been attached to the local directory of the service providing device. When the local directory is opened locally by the service providing device, the number of the user partitions attached thereto can be directly accessed. According to the document.
  • the user network partition can be implemented by using a storage network technology, which separates the memory from the application server for centralized management, and thus has the advantages of uniformity, easy expansion, and the like.
  • the storage network technology may specifically include technologies such as NAS (Network-Attached Storage) and SAN (Storage Area Network); among them, users of NAS technology can pass TCP/IP (Transmission Control Protocol/Internet) Protocol, Transmission Control Protocol/Internet Protocol) access data, using NFS (Network File System), HTTP (Hypertext transfer protocol), CIFS (Common Internet File System) and other standards File sharing protocols are shared; users of SAN technology can access data through dedicated Fibre Channel switches, using SCSI (small computer system interface), FC-AL (Fibre Channel Arbitration Loop, FIBRE CHANNEL ARBITRATED LOOP) And other interfaces.
  • the embodiment of the present application mainly uses NAS technology as an example to describe the user partition and its mounting process.
  • the user partitions of other storage network technologies and their mounting processes can be cross-reference
  • the NAS storage device may specifically include: a disk array, a CD/DVD drive, a tape drive, or a removable storage medium, etc.; a plurality of directories may be divided on one disk, and each of the directories One user partition may be corresponding, that is, the user partition has a one-to-one correspondence with a directory in the network attached storage NAS storage device.
  • the process of the partition operation module 304 for mounting the user partition corresponding to the login user of the client to the local device may include: receiving the user partition corresponding to the login user sent by the server.
  • Address information The user partition corresponding to the login user of the client is mounted locally according to the address information of the user partition corresponding to the login user.
  • the process of the partition operation module 304 receiving the address information of the user partition corresponding to the login user sent by the server may include: receiving address information of the user partition corresponding to the login user pushed by the server; or sending to the server a mount request, where the mount request carries information of the login user, and receives address information of a user partition corresponding to the login user returned by the server according to the mount request.
  • the server since the server has logged in to the server through the user ID or the like before the server dispatches and allocates the service providing device for the client, the server has already obtained the information of the logged-in user of the client before the client connects to the service providing device ( For example, the user ID), the server can determine the address information of the user partition corresponding to the login user according to the ID (identity of the login user); on the other hand, since the service providing device connected by the client is scheduled by the server, The server is known before the client connects to the service provider device. The address information (such as the IP address information) of the service providing device is forwarded; therefore, the server can push the address information of the user partition corresponding to the login user to the corresponding service providing device according to the address information of the service providing device.
  • the server since the server has logged in to the server through the user ID or the like before the server dispatches and allocates the service providing device for the client, the server has already obtained the information of the logged-in user of the client before the client connects to the
  • the server may pre-establish and maintain a mapping relationship between the user and the user partition.
  • the user ID is a mapping relationship between the address information of the user partition, so that the mapping relationship may be searched according to the ID of the login user.
  • the address information of the user partition that matches the ID of the logged in user.
  • the mounting of the user partition can be implemented by using the NFS technology.
  • the service providing device can implement an NFS client, and the server can implement an NFS server, so that the service providing device can receive the address information of the user partition corresponding to the login user sent by the NFS server of the server through the NFS client.
  • the address information of the user partition corresponding to the login user may specifically include: a network address of the server and a directory address of the user partition, for example, address information of the user partition corresponding to the received login user. It is http://10.10.88.69/nfs/001, where 10.10.88.69 represents the IP address of the server, and nfs/001 represents the disk directory of the user partition corresponding to the login user on the server.
  • the user partition corresponding to the login user of the client may be mounted to a local user partition directory, where the user partition directory may be preset, or the service providing device receives the login user.
  • the address information of the corresponding user partition is temporarily created.
  • the user partition corresponding to the login user of the client is mounted to a local user partition directory, such as a service providing device/data, so that when the service providing device opens the user partition directory, the remote user can directly access the login user.
  • the user partition is downloaded without downloading the user partition corresponding to the login user, which makes the service providing device no longer limited by the storage capacity.
  • the mount command can be used.
  • the user partition nfs/001 corresponding to the logged-in user is mounted to the local user partition directory-service providing device/data, so that when the directory service providing device/data is opened locally, the data under nfs/001 can be directly accessed. file.
  • the embodiment of the present application realizes the function of the user partition for exclusively storing user data generated by the user by writing the user data generated by the login user to the mounted user partition instead of writing to other directories of the service providing device.
  • the mounted user partition can also support other access modes such as read access and delete access, for example, the user partition can be requested from the client according to the query request of the client. The user data is read and returned to the user end, etc., and the specific access to the user partition after the mounting is performed in the embodiment of the present application. Ask no restrictions.
  • the user partition is used to store the user data generated by the user by writing the user data generated by the login user to the mounted user partition instead of writing to other directories of the service providing device.
  • the connected service providing device is mounted and uses the user partition corresponding to the logged-in user to store the user data used by the logged-in user, so that the user The partition can store all historical data generated by the user, so that the user partition can satisfy the user's access requirements for all historical data.
  • the user data generated by the login user does not need to be written into the service providing device, so that the storage space of the service providing device can also be saved.
  • Embodiment 4 of a service providing device of the present application may specifically include the following modules:
  • An interface encoding module 401 configured to encode a user interface
  • the stream processing module 402 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
  • the message processing module 403 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
  • a partition operation module 404 configured to mount a user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition;
  • the partition operation module 404 may specifically include:
  • the first detecting sub-module 441 is configured to detect whether a data file of the installed application exists in the user partition after the mounting;
  • a file writing sub-module 442 configured to write the data file of the installed application to the mounted user partition when the data file of the installed application does not exist in the mounted user partition .
  • the user interface of the service providing device can be a user interface for all or part of the installed applications, and each user is likely to use each installed application and generate corresponding user data during use, it is necessary to implement each The installed applications are reused for each user partition to meet the need to use user partitions to store user data generated by users during each application.
  • the embodiment may detect, after each mounting of the user partition, whether there is a data file of the installed application in the mounted user partition, and After mounting When the data file of the installed application does not exist in the user partition, the data file of the installed application is written into the mounted user partition; the user partition after detecting the mount and the installed application are The data file is written into the user partition after the mounting, and the data file of the application in the user partition can be consistent with the application in the service providing device, and the user in the mounted user partition can be ensured to exist in the service providing device.
  • the data file of the installed application is installed, and the data file of an installed application can be used to store the user data generated by the user during the use of the installed application, so that the user partition storage user is used in the process of using each application. User data requirements.
  • the data file of the installed application may be placed in the first temporary storage area, so that the existing user partition does not exist in the mounted user partition.
  • the data file of the installed application may be read from the first temporary storage area, and the read content is written to the mounted user partition.
  • the data file matching the information of the installed application may be searched in the mounted user partition, and if found, the data file of the installed application exists in the mounted user partition. If not found, the data file of the installed application does not exist in the mounted user partition.
  • the installed application may specifically include: all installed applications, or applications installed in a first preset time; wherein the installed application indicates that all installed applications need to be mounted In the subsequent user partition, it is required to spend more time cost to find the data file matching the information of all installed applications; and when the installed application indicates the application installed in the first preset time, it is required The data file matching the information of some installed applications is found in the mounted user partition, so the time cost is small.
  • the behavior of installing the application may be monitored, and when the behavior of installing the application is monitored, the installed application is used as an installed application, and information of the installed application is recorded;
  • the information of the installed application may specifically include one or more of the following information: folder information of the installed application and data file information of the installed application.
  • management of the application may be performed if the service providing device is not connected to the client.
  • the server can trigger the management of the application on all service providing devices to ensure that different service providing devices provide the same service to the client.
  • the server can install the installation package, and the service providing device sends the installation package to the service providing device. Install the corresponding application according to the installation package.
  • the information of the installed application may further include: installation time information of the installed application, so that The application installed in the first preset time is determined according to the installation time information of the installed application.
  • the preset time may be the most recent maintenance period (the server manages the application period, such as 1 hour or 24 hours); or the first preset time may also be the last time the current user partition is mounted. The time period between the current time and the like, because each time the user partition is mounted, the data file of the application in the user partition is consistent with the application in the service providing device, so the current user partition can be ignored.
  • the installed application before the time is loaded can be understood that a specific maintenance period or a first preset time can be determined by a person skilled in the art according to actual needs.
  • the embodiment of the present application does not limit the specific maintenance period or the first preset time. .
  • Embodiment 5 of a service providing device of the present application is shown, which may specifically include the following modules:
  • An interface encoding module 501 configured to encode a user interface
  • the stream processing module 502 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
  • the message processing module 503 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
  • a partition operation module 504 configured to mount a user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition;
  • the partition operation module 504 may specifically include:
  • the partition operation module 504 may specifically include:
  • a second detecting submodule 541, configured to detect whether a data file of the uninstalled application exists in the user partition after the mounting
  • the deleting sub-module 542 is configured to delete the data file of the uninstalled application in the mounted user partition when the data file of the uninstalled application exists in the mounted user partition.
  • the embodiment may detect whether the data file of the uninstalled application exists in the mounted user partition after each mounting of the user partition, and Deleting the data file of the uninstalled application in the mounted user partition when the data file of the uninstalled application exists in the mounted user partition; detecting the user partition and deleting after the mounting
  • the operation of the data file of the uninstalled application in the mounted user partition can achieve consistency between the data file of the application in the user partition and the application in the service providing device, and can ensure that the user partition after the mount does not exist.
  • Service provided in the device The application data file is uninstalled, so that the user partition can be used to store the user data generated by the user in using each application process while saving the storage space of the user partition.
  • the data file matching the information of the uninstalled application may be searched in the mounted user partition, and if found, the data file of the uninstalled application exists in the mounted user partition. If not found, the data file of the uninstalled application does not exist in the mounted user partition.
  • the uninstalled application may specifically include: all applications that have been uninstalled, or applications that are uninstalled within a second preset time; wherein, when the uninstalled application indicates all applications that have been uninstalled, it needs to be mounted.
  • the data file in the subsequent user partition that matches the information of all the applications that have been uninstalled requires a lot of time cost; and when the uninstalled application indicates an application that is uninstalled in the second preset time, it is required
  • the data file matching the information of the partially uninstalled application is searched in the mounted user partition, and therefore, the time cost is small.
  • the second preset time may be the last maintenance period (the server manages the application period, such as 1 hour or 24 hours); or the second preset time may also be the last time the current user partition is mounted.
  • the time period between the current time and the like because each time the user partition is mounted, the data file of the application in the user partition is consistent with the application in the service providing device, so the current user partition can be ignored.
  • the unloaded application before the time is loaded; it can be understood that a specific maintenance period or a second preset time can be determined by a person skilled in the art according to actual needs.
  • the embodiment of the present application does not limit the specific maintenance period or the second preset time. .
  • Embodiment 6 of a service providing device of the present application is shown, which may specifically include the following modules:
  • the stream processing module 602 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
  • the message processing module 603 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
  • the remote management module 604 is configured to cooperate with the server to complete remote management of the service providing device by the server.
  • the service providing device of the embodiment may further include: a remote management module 604, which may remotely communicate with the server to cooperate with the server to complete remote management of the service providing device by the server, thereby enabling
  • the service providing device provides a consistent, normal and timely smart TV service to the client.
  • the service provider device may not be connected to the client. In the case of the above remote management.
  • the remote management of the service providing device by the server may include: application management of the server to the service providing device, process cleaning of the server to the service providing device, and heartbeat of the server to the service providing device. At least one of management.
  • the application management of the service providing device by the server may further include installing an application, uninstalling the application, and the like.
  • the fourth embodiment and the fifth embodiment have been introduced, and are not described herein again.
  • the process of cleaning the process of the service providing device by the server may include: killing a process, etc., assuming that there is a malicious application running in the background in the service providing device, the server may send a killing process instruction to the service providing device, so that the service providing device kills Kill the malicious application;
  • the heartbeat management of the service providing device by the server may be used to determine the working state of the service providing device.
  • the service providing device may send heartbeat information to the server according to a period, and the server may perform heartbeat detection on the service providing device when the service providing device
  • the service providing device may be considered to be in an abnormal state, and send a soft restart instruction to the service providing device; for example, the number of times the soft restart command is continuously sent to the service providing device exceeds the number of times
  • the service providing device may be considered to have a crash, so that a hard restart command may be sent to the management device corresponding to the service providing device to implement the service providing device.
  • the hard restart of the preset may include: the heartbeat information of the service providing device is not received within the preset time, and the preset time is 5 minutes, if the service providing device is not received within 5 minutes Heartbeat information, then the Service providing device in an abnormal state, the present application example of the embodiment of the preset time is not particularly limited thereto.
  • the preset abnormal condition may include: the hardware resource information of the service providing device carried in the heartbeat information exceeds a corresponding preset threshold, and/or the state information of the service providing device carried in the heartbeat information is abnormal;
  • the preset threshold indicates a limit value at which the hardware resource of the service providing device fails.
  • the service providing device and the server can perform heartbeat communication based on the TR069 protocol.
  • the specific communication manner between the service providing device and the server and the specific heartbeat management manner are not limited in the embodiment of the present application.
  • the remote management module 604 may be specifically configured to perform remote management of the service providing device by the server in cooperation with the server by using a daemon process.
  • the structure of the Android system may specifically include: a Natvie layer, a framework layer, an application layer, and the like, wherein a general software module (such as the interface encoding module 601-remote management module 604 described above) generally runs on the application layer.
  • a general software module such as the interface encoding module 601-remote management module 604 described above
  • the application layer is more difficult to obtain system permissions; while the Daemon (daemon process) resident in the Natvie layer has root privileges, it can perform operations that the application layer does not have permission to perform, such as killing process operations, etc.
  • Process coordination The server completes remote management of the service providing device by the server.
  • the remote management of the service providing device by the server may be the application management of the service providing device by the server, and the remote management module 604 may specifically include:
  • An application update submodule configured to: after receiving an update instruction from the server, update an application in the service providing device according to the to-be-updated application information carried in the update instruction; where the application information to be updated is The server is determined according to an installed application in the service providing device.
  • the server may determine the application information to be updated according to the installed application in the service providing device, and then notify the service providing device to update the application according to the application information to be updated, and determine that the application in the service providing device is successful.
  • the service providing device version number is reallocated for the service providing device after the successful update; thus, the server can allocate the service providing device to the client according to the updated service providing device version number.
  • the server may select the service providing device with the highest device version number of the service providing device, and assign the selected service providing device with the highest service version number to the client; the service providing device with the highest version number of the service providing device is successfully updated and installed. All applications can meet the various needs of the client.
  • the process of determining, by the server, the application information to be updated according to the installed application in the service providing device may include: receiving the installed application list reported by the service providing device; obtaining, from a plurality of application lists maintained by the server Setting the application list; wherein the application list version number corresponding to the setting application list is not less than an application list version number of other application lists maintained by the server; according to the installed application list and the setting application list And the application information of the application that is installed in the service providing device may be specifically included in the list of the installed applications; the setting application list may specifically include: the current time App information for all apps that have been updated.
  • the above-mentioned setting application list is continuously updated. After each update, the application list version number of the application list is also updated, and the commonly used application list version number is updated.
  • the application list version number is incremented by one on the basis of the previous application list version number, and is of course not limited thereto.
  • the server can delete the list of settings before maintenance, and only keep the list of settings after maintenance; of course, in order to be applicable to various situations that may exist in the actual application, the server can also apply the list of settings for multiple versions. Both are saved to be called according to different invocation requests.
  • the server may call the saved corresponding to the old version.
  • the installation of the old version of the application A is performed by applying the old version of the application list of A.
  • the version number (including the application list version number, the service providing device version number, and the like) described in this embodiment is relative to the application list or the update time of the service providing device, and is not limited to the version.
  • the size of this letter in the sense of size For example, the service providing device version number of the service providing device after the second update on 2015.2.1 may be considered to be higher than the service providing device version number of the service providing device after the first update on 2015.2.1.
  • the remote management module 604 is further configured to report the status of the server to the server, where the status may include: an idle state, a busy state, and the like, where the client is connected.
  • the state of the service providing device may be a busy state. After disconnecting from the client, the state of the service providing device may be updated to an idle state, and the reported idle state and busy state may be allocated as the server for the foregoing server. An effective basis for service delivery equipment.
  • the foregoing state may further include a dormant state, such that when the service providing device is allocated to the client, the server may first wake up the service providing device in the dormant state, and then allocate the device. Give the corresponding client.
  • Embodiment 7 of a service providing device of the present application is shown, which may specifically include the following modules:
  • the connection module 701 is configured to generate a virtual input device after establishing an encrypted connection with the client;
  • the stream processing module 703 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
  • the message processing module 704 is configured to receive an input message from the client, and perform corresponding message processing according to the input message.
  • the message processing may include: updating the user interface;
  • the message processing module 704 may specifically include:
  • the decryption sub-module 741 is configured to receive an encrypted input message sent by the client, and decrypt the encrypted input message
  • the virtual response sub-module 742 is configured to write the decrypted input message to the virtual input device, and the virtual input device distributes the input event corresponding to the input message to obtain response information of the input message.
  • the service providing device can establish an encrypted connection with the client to ensure the security of data transmission, and then generate a virtual input device to simulate input messages of various hardware, and the service providing device receives the client. After the encrypted input message is sent, the encrypted input message is decrypted, and then the decrypted input message is written into the virtual input device, and the virtual input device inputs the input message to the input message. The distribution is performed in response to the input message and the response information is fed back to the client, which is more scalable, simpler in processing, and capable of achieving a fast and secure response to the input message through the service providing device.
  • the service providing device can establish an encrypted connection with the client through SSL (Secure Sockets Layer), etc., thereby transmitting data through an encrypted channel between the two to ensure data transmission security.
  • SSL Secure Sockets Layer
  • the service providing device may virtualize an input device in the user space in advance, and simulate the input message of the hardware through the virtual input device, and input the event input and distribute the input message of the user in the system. , thereby implementing the response of the service providing device to the input message.
  • connection module 701 can listen to the port after startup, receive a signal from the port to establish an encrypted long connection with the client, and after the encrypted long connection is successfully established. , generating 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.
  • Open device/uinput, O_WRONLY
  • Add event types including synchronization events, keyboard events, mouse events, touch events, etc.; register acceptable event values, including keyboard key values, mouse and touch event x and y coordinates, etc.
  • fd refers to a file descriptor, and the device can be operated in the case of acquiring a file descriptor of 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.
  • Write function 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.
  • the above input message may be a message input through an input device such as a remote controller, a mouse, a keyboard, etc.; the main purpose of the decryption process performed by the decryption sub-module 741 is to recover the original input message from the encrypted input message.
  • the process of decrypting the encrypted input message may specifically include performing symmetric decryption or asymmetric decryption on the encrypted input message to obtain a decrypted binary input message or a decrypted key. Value information.
  • the input message obtained by the service providing device after decryption may exist in multiple types, such as a standard input message for the specified system, and the mapped key value information, etc., may be set according to specific requirements, or may be decrypted according to requirements.
  • the input message is converted to get the required input information.
  • the virtual response sub-module 742 may distribute the input event to a system or an application or the like for processing, thereby responding to the input message, such as updating the user interface according to the input event, etc., Achieve quick response to incoming messages.
  • the decrypted input message after decrypting the encrypted input message, may also be mapped into corresponding key value information according to a preset rule; the virtual input device determines The input event corresponding to the decrypted input message may specifically include: the virtual input device searching for an input event corresponding to the key value information.
  • the decrypted input message may be digital information.
  • the mapping table preset by the digital information may be mapped into corresponding key value information, such as inverse mapping of the digital information into a key value according to a preset protocol. information.
  • the virtual input device can look up the input event corresponding to the key value information and then distribute the input event.
  • a process of processing an input message by a virtual input device may specifically include:
  • 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 user interface displayed by the client is parsed according to the TS stream sent by the service providing device.
  • the user's control of the user interface such as selecting a function, or installing an application such as an APP therein, appears to be performed on the client side, and actually sends the input information to the service providing device.
  • the service providing device performs corresponding message processing and feeds back the responding TS stream.
  • the input event is distributed to an upper layer application or an operating system for response processing, and the corresponding response information is generated, which may include: distributing the input event to an upper layer application or an operating system; The upper layer application or operating system acquires a user interface responsive to the input event; encoding the user interface to generate a corresponding TS stream as response information to display a user interface responsive to the input message at the client.
  • the virtual input device may distribute the input event to the corresponding upper application or operating system, and then the upper application or the operating system acquires a user interface responsive to the input event, for example, inputting an event to select a certain function.
  • the user interface may be a user interface corresponding to the function; and if the input event is to install an APP, the user interface is the user installation interface and the corresponding user interface of the installation completion.
  • the client may parse the TS stream and display the corresponding user interface, and send a standard control message of the specified operating system to the service providing device, and the service providing device responds to the standard control message.
  • FIG. 8 a flowchart of a method for communication between a client and a service providing device according to the present application is shown, which may specifically include:
  • the client establishes an encrypted connection with the service providing device after startup
  • the service providing device generates a virtual input device
  • the client mapping obtains the standard input message of the specified system
  • the client binarizes the standard input message of the specified system to obtain a binary input message.
  • the client encrypts the binary input message to obtain an encrypted input message.
  • the client sends the encrypted input message to the service providing device.
  • the service providing device decrypts the encrypted input message to obtain a decrypted binary input message.
  • the service providing device writes the decrypted input message to the virtual input device.
  • the virtual input device of the service providing device determines an input event corresponding to the decrypted input message
  • the virtual input device of the service providing device distributes the input event to an upper application or an operating system.
  • Line response processing generating corresponding response information, including the TS stream of the response;
  • the service providing device feeds back the responding TS stream to the client;
  • the client parses the responding TS stream and displays a user interface responsive to the input message.
  • Key value information is used as the transmission of the input message.
  • FIG. 9 a flow chart of another method of communication between a client and a service providing device of the present application is shown.
  • the client establishes an encrypted connection with the service providing device after startup;
  • the service providing device generates a virtual input device
  • the client receives the original message
  • the client determines key value information corresponding to the original message.
  • the client maps the key value information into digital information as an input message.
  • the client encrypts the key value information to obtain an encrypted input message.
  • the client sends the encrypted input message to the service providing device.
  • the service providing device decrypts the encrypted input message to obtain decrypted digital information.
  • the service providing device maps the decrypted digital information into key value information
  • the service providing device writes 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 message.
  • the user interface of the service providing device may be a user interface regarding all or part of the installed applications.
  • the client obtains the original message corresponding to the installation instruction and generates encryption through mapping, encryption, and the like.
  • the input message is sent to the service providing device, and after the service providing device processes the input message interface, mapping, etc., the data of the APP is acquired in response to the input message, and the corresponding APP information is installed and recorded on the service providing device, and the installation process and the The TS stream corresponding to the UI interface is installed and sent back to the client for display.
  • the service providing device obtains the UI cache generated by the corresponding APP in response to the input message to generate the TS.
  • the stream is sent as a response message to the client for display, and subsequent to the various control data sent by the client,
  • the service providing device also sends a UI cache corresponding to the TS stream in response to the control data, and the client displays a UI interface responsive to the user control.
  • the smart television system of the present application can pre-purchase an application of a paid resource such as a game or a video, and install it in the service providing device, and the service providing device provides the service of the paid resource to the client, so that the user can freely try the client through the client.
  • paid resources such as a game or a video
  • FIG. 10 a flow chart of the steps of the first embodiment of the data processing method applied to the service providing device of the present application is shown, which may specifically include the following steps:
  • Step 1001 encoding a user interface
  • Step 1002 Generate a corresponding transport stream according to the coding result of the user interface, and push the transport stream to the connected client.
  • Step 1003 Receive an input message from the client, and perform corresponding message processing according to the input message.
  • the message processing may include: updating the user interface.
  • the service providing device may push the transport stream corresponding to the user interface to the connected client, so that the client may display the user interface that is parsed according to the transport stream; and the service providing device may also receive An input message generated by the user from the input device of the user through a remote controller, a mouse, or the like, and updating the user interface of the service providing device according to the input message; since the service providing device is responsible for obtaining the current input information corresponding to the user interface, The client is only responsible for the resolution of the transport stream and the display of the user interface. Therefore, the present embodiment can directly provide the smart TV service to the client through the service providing device, which reduces the performance requirement for the set top box, thereby reducing the maintenance of the set top box. The operation reduces the hardware resource requirements of the smart TV service and saves the cost for the user to purchase or update the set top box.
  • the method may further include: acquiring corresponding multimedia play information according to the multimedia play request of the client, and feeding back the multimedia play information to the client.
  • the service providing device pushes the user interface to the client in the form of a TS stream, and sends the multimedia play information to the client, so that the client obtains the corresponding multimedia resource according to the multimedia play information.
  • the user interface and multimedia resources are obtained in different ways, so that conflicts between the user interface and the multimedia resources can be avoided, thereby ensuring the display quality of the user interface and the playback quality of the multimedia resources.
  • the flow chart may specifically include the following steps:
  • Step 1101 encoding a user interface
  • Step 1102 Generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
  • Step 1103 Receive an input message from the client, and perform corresponding message processing according to the input message.
  • the message processing may include: updating the user interface;
  • Step 1104 Mount the user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition.
  • the user partition corresponding to the user may be used to specifically store the user data generated by the user.
  • the user partitions are independent of the storage space of the service providing device.
  • the corresponding user may be mounted after logging in. It is above the service providing device, and it can not have a mounting relationship with the service providing device when its corresponding user is not logged in; since each user partition can correspond to the user, so that no matter which service providing device is connected by the user through the client
  • the connected service providing device may use the user partition corresponding to the user to store the user data used by the user, that is, the user partition may store all historical data generated by the user, thereby satisfying the user for all historical data. Access requirements.
  • the method may further include: detecting whether a data file of the installed application exists in the mounted user partition; and the existing user partition does not exist in the mounted user partition.
  • the data file of the installed application is written to the mounted user partition.
  • the preferred embodiment can satisfy the need to use user partitions to store user data generated by the user during use of each application.
  • the method may further include: detecting whether a data file of the uninstalled application exists in the mounted user partition; and the user after the mounting
  • the data file of the uninstalled application in the mounted user partition is deleted.
  • the operation of detecting the mounted user partition and deleting the data file of the uninstalled application in the mounted user partition can achieve consistency between the data file applied in the user partition and the application in the service providing device, and can It is ensured that the data file of the uninstalled application in the service providing device does not exist in the user partition after the mounting. Therefore, the preferred embodiment can satisfy the use of the user partition storage user in the premise of saving the storage space of the user partition. The need for user data generated during each application process.
  • FIG. 12 a flow chart of the steps of the third embodiment of the data processing method applied to the service providing device of the present application is shown, which may specifically include the following steps:
  • Step 1201 encoding a user interface
  • Step 1202 Generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
  • Step 1203 Receive an input message from the client, and perform corresponding message processing according to the input message.
  • the message processing may include: updating the user interface;
  • Step 1204 cooperate with the server to complete remote management of the service providing device by the server.
  • the remote management of the service providing device by the server may include: application management of the server to the service providing device, process cleaning of the server to the service providing device, and heartbeat of the server to the service providing device. At least one of management.
  • the step of the cooperation server completing the remote management of the service providing device by the server may specifically be: using a daemon process to complete the remote connection of the server to the service providing device by using the server management.
  • the remote management of the service providing device by the server is application management of the server to the service providing device
  • the method may further include: receiving the from the server Updating the application in the service providing device according to the to-be-updated application information carried in the update instruction, where the application information to be updated is determined by the server according to the installed application in the service providing device .
  • FIG. 13 a flow chart of the steps of the fourth embodiment of the data processing method applied to the service providing device of the present application is shown, which may specifically include the following steps:
  • Step 1301 Generate a virtual input device after establishing an encrypted connection with the client;
  • Step 1302 encode a user interface.
  • Step 1303 Generate a corresponding transport stream according to the coding result of the user interface, and push the transport stream to the connected client.
  • Step 1304 Receive an input message from the client, and perform corresponding message processing according to the input message.
  • the message processing may include: updating the user interface;
  • the step 1204 of performing the corresponding message processing according to the input message may specifically include:
  • Step 1341 Receive an encrypted input message sent by the client, and decrypt the encrypted input message.
  • Step 1342 Write the decrypted input message to the virtual input device, and the virtual input device distributes the input event corresponding to the input message to obtain response information of the input message.
  • the service providing device may establish an encrypted connection with the client to ensure the security of data transmission, and then generate a virtual input device to simulate input messages of various hardware, and the service providing device receives the encrypted input sent by the client. After the message, the encrypted input message is decrypted, and then the decrypted input message is written to the virtual input device, and the input message is distributed by the virtual input device in response to the input message and The response information is fed back to the client, which has high scalability, simple processing, and fast and secure response to input messages through the service providing device.
  • the description is relatively simple, and the relevant parts can be referred to the description of the embodiment of the service providing device.
  • embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software 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-permanent Pervasive, removable, and non-removable media can be stored by any method or technique.
  • 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 service providing 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 flowcharts and/or block diagrams of methods, terminal 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 terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
  • Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction device implements 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Embodiments of the present application provide a data processing method and device applicable to a service-providing device. The device specifically comprises: an interface encoding module, for encoding a user interface; a stream processing module, for generating a corresponding transport stream according to an encoding result of the user interface, and pushing the transport stream to a connected client; and a message processing module, for receiving an input message from the client, and performing corresponding message processing according to the input message. The message processing comprises: updating the user interface. The embodiments of the present application can reduce requirements of a smart television service on hardware resources, and can save the costs required for a user to purchase or replace a set-top box.

Description

应用于服务提供设备的数据处理方法和设备Data processing method and device applied to service providing device
本申请要求2015年06月11日递交的申请号为201510320190.X、发明名称为“应用于服务提供设备的数据处理方法和设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims the priority of the Chinese Patent Application No. 201510320190.X filed on Jun. 11, 2015, entitled "Data Processing Method and Apparatus for Service Providing Equipment", the entire contents of which are incorporated herein by reference. In the application.
技术领域Technical field
本申请涉及通信技术领域,特别是涉及一种服务提供设备、一种应用于服务提供设备的数据处理方法和一种智能电视系统。The present application relates to the field of communications technologies, and in particular, to a service providing device, a data processing method applied to the service providing device, and a smart television system.
背景技术Background technique
随着互联网技术的发展,智能电视、数字视频变换盒的出现,使得电视节目系统也越来越智能化,除了传统的电视节目的播出之外,还可以进行互联网活动。With the development of Internet technology, the emergence of smart TV and digital video converter boxes has made the TV program system more and more intelligent. In addition to the broadcast of traditional TV programs, Internet activities can also be carried out.
STB(数字视频变换盒,Set Top Box)又称机顶盒,是一个连接电视机与外部信号源的设备。机顶盒可以将压缩的数字信号转成电视内容,并在电视机上显示出来。所述数字信号可以来自有线电缆、卫星天线、宽带网络以及地面广播等等。机顶盒除了可以接收上述可以转换为电视内容的数字信号之外,还可以接收数字内容,例如,电视节目指南、因特网网页、电子邮件等等。使用户能在现有电视机上观看数字电视节目,并可以通过网络进行交互式数字化娱乐、教育和网络购物等活动。STB (Digital Video Converter Box, also known as Set Top Box) is a set-top box that is a device that connects a TV to an external signal source. The set-top box converts the compressed digital signal into TV content and displays it on the TV. The digital signals can come from cable, satellite antennas, broadband networks, terrestrial broadcasts, and the like. In addition to receiving the digital signals that can be converted to television content, the set top box can also receive digital content, such as television program guides, Internet web pages, emails, and the like. Enables users to watch digital TV shows on existing TV sets and interactive digital entertainment, education and online shopping through the web.
由上可见,上述数字电视节目的播出、交互式数字化娱乐、教育和网络购物等活动都需要通过所述机顶盒(或智能电视)实现。而互联网技术的发展是日新月异的、是不断地在更新变化的,机顶盒要满足这一发展和变化,则需要不断地进行更新。然而,所述机顶盒的更新需要丢弃旧的机顶盒,这造成了资源的浪费。It can be seen from the above that the above-mentioned digital television program broadcast, interactive digital entertainment, education and online shopping activities need to be realized by the set top box (or smart TV). The development of Internet technology is changing with each passing day. It is constantly changing and changing. To meet this development and change, set-top boxes need to be constantly updated. However, the update of the set top box requires the old set top box to be discarded, which results in wasted resources.
发明内容Summary of the invention
本申请实施例所要解决的技术问题是提供一种服务提供设备、一种应用于服务提供设备的数据处理方法和一种智能电视系统,能够降低智能电视服务对硬件资源的要求,且能够节约用户购买或更新机顶盒所花费的成本。The technical problem to be solved by the embodiments of the present application is to provide a service providing device, a data processing method applied to the service providing device, and a smart television system, which can reduce the requirement of the smart TV service on hardware resources, and can save the user. The cost of purchasing or updating a set-top box.
为了解决上述问题,本申请公开了一种服务提供设备,包括:In order to solve the above problems, the present application discloses a service providing device, including:
界面编码模块,用于对用户界面进行编码;An interface coding module for encoding a user interface;
流处理模块,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;及a stream processing module, configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client; and
消息处理模块,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相 应的消息处理;其中,所述消息处理包括:对所述用户界面进行更新。a message processing module, configured to receive an input message from the client, and perform phase according to the input message The message processing should be performed; wherein the message processing comprises: updating the user interface.
另一方面,本申请公开了一种应用于服务提供设备的数据处理方法,包括:In another aspect, the present application discloses a data processing method applied to a service providing device, including:
对用户界面进行编码;Encoding the user interface;
依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;Generating a corresponding transport stream according to the encoded result of the user interface, and pushing the transport stream to the connected client;
接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理包括:对所述用户界面进行更新。Receiving an input message from the client, and performing corresponding message processing according to the input message; wherein the message processing comprises: updating the user interface.
再一方面,本申请公开了一种智能电视系统,包括:前述的服务提供设备。In still another aspect, the present application discloses a smart television system, including: the foregoing service providing device.
与现有技术相比,本申请实施例包括以下优点:Compared with the prior art, the embodiments of the present application include the following advantages:
本申请实施例中,服务提供设备可以向所连接的客户端推送用户界面对应的传输流,这使得客户端可以对依据所述传输流解析得到的用户界面进行显示;并且,服务提供设备还可以接收来自所述客户端的、用户通过遥控器、鼠标等输入装置产生的输入消息,并依据所述输入消息对服务提供设备的用户界面进行更新;由于服务提供设备负责当前输入信息对应用户界面的获取,而客户端仅仅负责传输流的解析和用户界面的显示,因此,本实施例可以通过服务提供设备直接为客户端提供智能电视服务,这降低了对于机顶盒的性能要求,因此减少了对于机顶盒的维护操作,降低了智能电视服务对硬件资源的要求,同时节约了用户购买或更新机顶盒所花费的成本。In the embodiment of the present application, the service providing device may push the transport stream corresponding to the user interface to the connected client, so that the client may display the user interface that is parsed according to the transport stream; and the service providing device may also Receiving an input message generated by the user from the input device of the user through a remote controller, a mouse, etc., and updating the user interface of the service providing device according to the input message; since the service providing device is responsible for obtaining the current input information corresponding to the user interface The client is only responsible for the resolution of the transport stream and the display of the user interface. Therefore, the present embodiment can directly provide the smart TV service to the client through the service providing device, which reduces the performance requirement for the set top box, thereby reducing the requirement for the set top box. Maintenance operations reduce the hardware resource requirements of smart TV services while saving the cost of purchasing or updating a set-top box.
附图说明DRAWINGS
图1是本申请的一种智能电视系统的结构示意图;1 is a schematic structural diagram of a smart television system of the present application;
图2是本申请的一种服务提供设备实施例一的结构框图;2 is a structural block diagram of Embodiment 1 of a service providing device of the present application;
图3是本申请的一种服务提供设备实施例三的结构框图;3 is a structural block diagram of a third embodiment of a service providing device according to the present application;
图4是本申请的一种服务提供设备实施例四的结构框图;4 is a structural block diagram of Embodiment 4 of a service providing device of the present application;
图5是本申请的一种服务提供设备实施例五的结构框图;5 is a structural block diagram of Embodiment 5 of a service providing device of the present application;
图6是本申请的一种服务提供设备实施例六的结构框图;6 is a structural block diagram of Embodiment 6 of a service providing device of the present application;
图7是本申请的一种服务提供设备实施例七的结构框图;7 is a structural block diagram of Embodiment 7 of a service providing device of the present application;
图8本申请的一种客户端和服务提供设备间通信方法的流程图;FIG. 8 is a flowchart of a method for communication between a client and a service providing device according to the present application; FIG.
图9是本申请的另一种客户端和服务提供设备间通信方法的流程图;9 is a flowchart of another method for communication between a client and a service providing device of the present application;
图10是本申请的一种应用于服务提供设备的数据处理方法实施例一的步骤流程图;10 is a flow chart showing the steps of a first embodiment of a data processing method applied to a service providing device according to the present application;
图11是本申请的一种应用于服务提供设备的数据处理方法实施例二的步骤流程图; 11 is a flow chart showing the steps of a second embodiment of a data processing method applied to a service providing device according to the present application;
图12本申请的一种应用于服务提供设备的数据处理方法实施例三的步骤流程图;以及Figure 12 is a flow chart showing the steps of the third embodiment of the data processing method applied to the service providing device of the present application;
图13本申请的一种应用于服务提供设备的数据处理方法实施例四的步骤流程图。FIG. 13 is a flow chart showing the steps of the fourth embodiment of the data processing method applied to the service providing device of the present application.
具体实施方式detailed description
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。The above described objects, features and advantages of the present application will become more apparent and understood.
本申请提供了一种智能电视系统,该智能电视系统可以包括:至少一个服务器、至少一个客户端、至少一个服务提供设备;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端可以设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。服务器在接收到客户端的登录请求之后,可以根据设定分配策略从云端的多个服务提供设备中选择一个服务提供设备分配给所述客户端。The present application provides a smart television system, which may include: 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 can be 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. After receiving the login request of the client, the server may select one service providing device from the plurality of service providing devices in the cloud to allocate to the client according to the set allocation policy.
在本申请的一种优选实施例中,所述智能电视系统,还可以包括至少一个用户数据信息存储设备;所述至少一个用户数据信息存储设备具体可以包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。In a preferred embodiment of the present application, the smart television system may further include at least one user data information storage device; the at least one user data information storage device may specifically include: at least one user partition; wherein At least one user partition is respectively used to store user data corresponding to different clients.
在本申请的另一种优选实施例中,所述服务提供设备具体可以包括:网络机顶盒;所述互联网服务,具体可以包括如下中的至少一个:电视直播、音视频服务、网页服务、游戏服务。In another preferred embodiment of the present application, the service providing device may specifically include: a network set top box; the Internet service may specifically include at least one of the following: a live television, an audio and video service, a web service, and a game service. .
传统方案中,普通机顶盒往往较为陈旧,性能也比较弱,不足以运行大型游戏和应用,用户往往需要升级或者替换更新的机顶盒以满足大型游戏和应用等娱乐需求。In traditional solutions, common set-top boxes tend to be older and have lower performance, which is not enough to run large games and applications. Users often need to upgrade or replace newer set-top boxes to meet the entertainment needs of large games and applications.
而本申请实施例可以将性能较强的OTT(过顶传球,OverTheTop)网络机顶盒集成至云端的设备服务器上,并通过视频流化技术,将OTT机顶盒的性能通过网络传输到性能较弱的上述客户端对应的普通机顶盒上,使普通机顶盒可以在不升级硬件的情况下使用高端功能。在具体实现中,可以将性能较强的OTT机顶盒(如天猫魔盒)中的所有功能数据流化后提供给普通机顶盒,上述功能包括但不限于:游戏、应用、电影、电视剧、教育、视频聊天、K歌等。In the embodiment of the present application, the OTT (OverThe Top) network set-top box with strong performance can be integrated into the cloud device server, and the performance of the OTT set-top box is transmitted to the weak performance through the network through the video streaming technology. On the common set-top box corresponding to the above client, the ordinary set-top box can use the high-end function without upgrading the hardware. In a specific implementation, all the function data in the OTT set-top box (such as the Tmall Magic Box) with strong performance can be streamed and provided to the common set-top box. The above functions include but are not limited to: games, applications, movies, TV series, education, video. Chat, K songs, etc.
在具体实现中,设备服务器中的每一片网络机顶盒具备的性能包括但不限于:处理性能、图形计算性能、大内存、低功耗等等,本领域技术人员可以根据实际需要量化这些性能的指标,以实现在网络机顶盒上运行目前市面上的大型游戏和应用,播放1080P以及2K等规格的电影。 In a specific implementation, the performance of each network set-top box in the device server includes, but is not limited to, processing performance, graphics computing performance, large memory, low power consumption, etc., and those skilled in the art can quantify the performance indicators according to actual needs. In order to run large-scale games and applications currently on the market on the network set-top box, play movies of 1080P and 2K specifications.
对于普通机顶盒而言,其可以具备播放视频流的性能,以及具备访问IP(网络之间互联的协议,Internet Protocol)网络的性能即可,其中,上述视频流的格式可以为RTSP(实时流传输协议,Real Time Streaming Protocol)720P等等。对于具备上述性能的普通机顶盒而言,其在安装了网络机顶盒对应的客户端后,就可以通过该客户端上传键值指令,接收并播放来自网络机顶盒的传输流,For a normal set-top box, it can have the performance of playing a video stream, and has the performance of accessing an IP (Internet Protocol) network. The format of the video stream can be RTSP (real-time streaming). Protocol, Real Time Streaming Protocol) 720P and so on. For a common set-top box with the above performance, after installing the client corresponding to the network set-top box, the client can upload and play the transport stream from the network set-top box through the client uploading the key value command.
综上,大型的游戏和应用的功能数据可以在云端的设备服务器中运行,这些数据可以RTSP视频流的形式传输到普通机顶盒上进行播放,因此能够实现使用普通机顶盒进行高端娱乐的目的。并且,本申请实施例可以适用于电信/广电运营商,以增强这些运营商的已有的普通机顶盒的性能。In summary, the function data of large games and applications can be run in the cloud device server. These data can be transmitted to the ordinary set-top box for playback in the form of RTSP video stream, thus enabling the use of a common set-top box for high-end entertainment. Moreover, the embodiments of the present application can be applied to telecommunication/station operators to enhance the performance of existing common set top boxes of these operators.
这里需要说明的是,在本申请的方案中,服务提供设备可以作为硬件设备设置在云端,软件(应用程序)可以安装在服务提供设备中,服务提供设备可以在云端将各类应用程序的UI(用户界面,User Interface)进行编码,客户端可以具有基本解码性能以向用户展现应用程序的用户界面,实现对各类应用程序的操作。换而言之,在本申请的方案中,可以将软件(应用程序)安装在服务提供设备中,通过服务提供设备为用户提供服务,其可以适用于已有的普通机顶盒、或者适用于与普通机顶盒具有等同的播放视频流的性能和访问IP网络的性能的智能终端。例如,可以直接通过所述客户端将智能终端与所述服务提供设备进行连接,用户不需要单独购买/更新机顶盒,节约了用户成本;同时,智能终端与所述服务提供设备可以直接进行交互,提高了交互效率,减少了对机顶盒的维护步骤,降低了对资源的占用。进一步地,所述服务器可以是指一个服务器,也可以是指等同于所述调度服务器功能的多个服务器组成的服务器群组。It should be noted that, in the solution of the present application, the service providing device can be set in the cloud as a hardware device, the software (application) can be installed in the service providing device, and the service providing device can display the UI of various applications in the cloud. (User Interface), the client can have basic decoding performance to present the user interface of the application to the user, and realize the operation of various applications. In other words, in the solution of the present application, the software (application) can be installed in the service providing device, and the service is provided to the user through the service providing device, which can be applied to an existing common set top box, or is suitable for common use. The set top box has an equivalent smart terminal that plays the performance of the video stream and accesses the performance of the IP network. For example, the smart terminal can be directly connected to the service providing device through the client, and the user does not need to separately purchase/update the set top box, thereby saving user cost; at the same time, the smart terminal and the service providing device can directly interact with each other. Improves interaction efficiency, reduces maintenance steps for set-top boxes, and reduces resource usage. Further, the server may refer to a server, or may refer to a server group composed of a plurality of servers equivalent to the functions of the scheduling server.
参照图1,示出了本申请的一种智能电视系统的结构示意图,具体可以包括:至少一个客户端(如图1所示的客户端101)、至少一个设备服务器(如图1所示的设备服务器102)和至少一个调度服务器(如图1所示的调度服务器103)。其中,每个设备服务器101中包括至少一个服务提供设备(如图1所示的设备服务器102中的服务提供设备121)。1 is a schematic structural diagram of a smart television system of the present application, which may specifically include: at least one client (such as the client 101 shown in FIG. 1) and at least one device server (as shown in FIG. 1). The device server 102) and at least one scheduling server (such as the scheduling server 103 shown in FIG. 1). Each device server 101 includes at least one service providing device (such as the service providing device 121 in the device server 102 shown in FIG. 1).
此外,优选地,所述智能电视系统还可以包括:至少一个管理服务器(如图1所示的管理服务器104)和至少一个用户数据信息存储设备(如图1所示的用户数据信息存储设备105)。需要说明的是,所述用户数据信息存储设备用于存储用户数据信息,一个用户可以对应一个专用的用户数据信息存储设备,多个用户也可以共有同一个用户数据信息存储设备,本实施例对此不作限制。其中,所述用户数据信息存储设备可以是物 理设备,也可以是逻辑设备,还可以是物理和逻辑相结合的设备。例如,所述用户数据信息存储设备中可以包括至少一个用户分区(如图1所示的用户分区151),每个用户分区对应存储一个用户的用户数据信息。Moreover, preferably, the smart television system may further include: at least one management server (such as the management server 104 shown in FIG. 1) and at least one user data information storage device (such as the user data information storage device 105 shown in FIG. 1). ). It should be noted that 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 The device can also be a logical device or a combination of physical and logical devices. For example, the user data information storage device may include at least one user partition (such as the user partition 151 shown in FIG. 1), and each user partition correspondingly stores user data information of one user.
其中,客户端101位于智能终端侧,其可以呈现为智能终端中装载的APP的形式;一方面,客户端101可用于播放服务提供设备121发送的TS(传输流,Transport Stream)所解析出的UI,以及播放从其他网络服务器中获取的多媒体数据(如视频信号、音频信号等);另一方面,客户端101可用于监听用户通过遥控器等输入装置产生的输入消息,并将该输入消息发送给服务提供设备121或者调度服务器103;从而客户端101可以接收服务提供设备121推送的用户界面(如游戏类应用、视频类应用等各种应用的用户界面)相关数据,对所接收的用户界面相关数据进行解析并显示即可;并且,客户端101还可以将所接收的用户对用户界面控制的输入消息,转发给服务提供设备121以使其据此更新用户界面;The client 101 is located on the smart terminal side, and can be presented in the form of an APP loaded in the smart terminal. On the one hand, the client 101 can be used to play the TS (Transport Stream) sent by the service providing device 121. UI, and playing multimedia data (such as video signals, audio signals, etc.) acquired from other network servers; on the other hand, the client 101 can be used to monitor an input message generated by a user through an input device such as a remote controller, and input the input message. The data is sent to the service providing device 121 or the dispatching server 103; thus, the client 101 can receive data related to the user interface (such as a user interface of various applications such as a game application, a video application, etc.) pushed by the service providing device 121, and the received user The interface-related data is parsed and displayed; and the client 101 can further forward the input message controlled by the user to the user interface to the service providing device 121 to update the user interface accordingly;
服务提供设备121位于网络侧,其数量可以依据系统需求设定,其中,每个服务提供设备121具体可以包括:硬件板卡和硬件板卡所承载的软件模块;其软件模块可以基于安卓等操作系统,这样,每个服务提供设备121中可以通过该操作系统安装众多应用(如游戏类应用、视频类应用等),并通过TS流向客户端101传输已安装应用的信息,以供客户端101从众多已安装应用中选择所需的应用;需要说明的是,安卓只是作为服务提供设备121所使用操作系统的一种示例,本申请实施例对服务提供设备121所使用的具体操作系统不加以限制;The service providing device 121 is located on the network side, and the number of the service providing devices 121 may be set according to system requirements. Each service providing device 121 may specifically include: a software module carried by a hardware board and a hardware board; and the software module may be operated based on Android. The system, in this way, each service providing device 121 can install a plurality of applications (such as game applications, video applications, etc.) through the operating system, and transmit the information of the installed applications to the client 101 through the TS stream for the client 101. The selected application is selected from a plurality of installed applications. It should be noted that Android is only an example of an operating system used by the service providing device 121. The specific operating system used by the service providing device 121 is not used in the embodiment of the present application. limit;
用户分区151位于网络侧,其数量可以依据注册用户的信息确定,数据分区105与注册用户可以具有一对一的对应关系,通常可以在完成一个新用户的注册后,可以为对应的新用户建立相应的一个或多个用户分区151;对于每个用户分区151而言,在其对应用户登录后可以被挂载到服务提供设备121之上,而在其对应用户未登录时其可以与服务提供设备121不具备挂载关系;The user partition 151 is located on the network side, and the number thereof may be determined according to the information of the registered user. The data partition 105 may have a one-to-one correspondence with the registered user. Generally, after completing registration of a new user, the user partition may be established for the corresponding new user. Corresponding one or more user partitions 151; for each user partition 151, it can be mounted on the service providing device 121 after its corresponding user logs in, and can be provided with the service when its corresponding user is not logged in. The device 121 does not have a mounting relationship;
调度服务器103位于网络侧,主要用于依据客户端101发送的输入消息,完成客户端101对应用户的登录,并分配一个空闲的、状态良好的服务提供设备121与客户端102对接;同时,还可以依据登录用户的ID(标识,Identity)确定登录用户对应的用户分区151,并将所述用户分区151的地址信息发送给服务提供设备121,以使所述服务提供设备121将所述用户分区151挂载到所分配的服务提供设备121上;可见,每个用户分区151可以与唯一的用户相对应,如用户分区A对应用户A等等,这样,用户A在客 户端101与上次分配的、编号为001的服务提供设备121断开连接后,即使下次连接的是编号为002的服务提供设备121,用户A仍然可以使用用户分区A存储产生的用户数据,因此可以通过访问用户分区A查看所有的历史数据;The scheduling server 103 is located on the network side, and is mainly used to complete the login of the corresponding user of the client 101 according to the input message sent by the client 101, and allocate an idle, good-quality service providing device 121 to connect with the client 102; The user partition 151 corresponding to the login user may be determined according to the ID of the login user (identity), and the address information of the user partition 151 is sent to the service providing device 121, so that the service providing device 121 partitions the user. 151 is mounted on the assigned service providing device 121; it can be seen that each user partition 151 can correspond to a unique user, such as user partition A corresponding to user A, etc., so that user A is present. After the client 101 is disconnected from the previously assigned service providing device 121 numbered 001, even if the service providing device 121 numbered 002 is connected next time, the user A can still use the user partition A to store the generated user data. , so you can view all historical data by accessing user partition A;
管理服务器104位于网络侧,可用于对所有的服务提供设备121进行管理,所述管理具体可以包括:状态上报、心跳管理、设置属性、获取属性、网络唤醒、软重启、硬重启等。The management server 104 is located on the network side and can be used to manage all the service providing devices 121. The management may include: status reporting, heartbeat management, setting attributes, acquiring attributes, network wake-up, soft restart, hard restart, and the like.
实施例一Embodiment 1
参照图2,示出了本申请的一种服务提供设备实施例一的结构框图,具体可以包括如下模块:Referring to FIG. 2, a structural block diagram of Embodiment 1 of a service providing device of the present application is shown, which may specifically include the following modules:
界面编码模块201,用于对用户界面进行编码;The interface encoding module 201 is configured to encode the user interface;
流处理模块202,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;及The stream processing module 202 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client; and
消息处理模块203,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新。The message processing module 203 is configured to receive an input message from the client, and perform corresponding message processing according to the input message. The message processing may include: updating the user interface.
本申请的服务提供设备可用于类似图1的智能电视系统,本申请实施例对服务提供设备所对应的智能电视系统不加以限制。The service providing device of the present application can be used in a smart television system similar to that of FIG. 1. The embodiment of the present application does not limit the smart television system corresponding to the service providing device.
在实际应用中,服务提供设备可以采用安卓、Linux、Windows等操作系统,本实施例的上述界面编码模块201、流处理模块202和消息处理模块203则可以在上述操作系统的支持下运行,本申请实施例主要以安卓为例进行说明,其它操作系统相互参照即可。In an actual application, the service providing device may be an operating system such as Android, Linux, or Windows. The interface encoding module 201, the stream processing module 202, and the message processing module 203 in this embodiment may be run under the support of the operating system. The application embodiment is mainly described by taking Android as an example, and other operating systems can refer to each other.
在具体实现中,界面编码模块201可以在服务提供设备与客户端建立连接后,对服务提供设备的用户界面进行编码。在此提供一种服务提供设备与客户端建立连接的过程:在用户通过客户端输入用户名和密码后,客户端发送用户名和密码给调度服务器,调度服务器会分配一个服务提供设备与该客户端对接,并发送该服务提供设备的IP地址给该客户端,客户端收到该服务提供设备的IP地址后对该服务提供设备发起连接请求;服务提供设备收到该连接请求后可以与该客户端建立连接。In a specific implementation, the interface encoding module 201 may encode the user interface of the service providing device after the service providing device establishes a connection with the client. Here, a process is provided for the service providing device to establish a connection with the client: after the user inputs the username and password through the client, the client sends the username and password to the scheduling server, and the scheduling server allocates a service providing device to connect with the client. And sending the IP address of the service providing device to the client, after receiving the IP address of the service providing device, the client initiates a connection request to the service providing device; the service providing device can contact the client after receiving the connection request establish connection.
在本申请的一种应用示例中,服务提供设备初始的用户界面可以为用于展示所有已安装应用的用户界面A,或者,服务提供设备初始的用户界面还可以为用于展示所有已安装应用的一级用户界面B等等;而服务提供设备后续的用户界面可以为依据来自客户端的输入消息更新得到的用户界面(如一级用户界面B对应的二级用户界面和三级用户 界面等等)。例如,客户端在对用户界面A进行显示后,若接收到用户通过遥控器、鼠标等输入装置发出的、对用户界面A中的某一应用C的安装指令,则可以将该安装指令发送给服务提供设备,由服务提供设备依据该安装指令获取该应用C的安装过程以及安装完毕对应的界面,并将获取的界面作为服务提供设备当前的用户界面。从而对于上述输入消息的响应处理(如应用C的安装)实质上是在服务提供设备中完成的,而客户端仅显示了服务提供设备推送的流化方式的用户界面。In an application example of the present application, the initial user interface of the service providing device may be the user interface A for displaying all installed applications, or the initial user interface of the service providing device may also be used to display all installed applications. The first-level user interface B and the like; and the user interface of the service providing device may be a user interface updated according to the input message from the client (for example, the secondary user interface corresponding to the first-level user interface B and the third-level user) Interface, etc.). For example, after the user displays the user interface A, if the user receives an installation instruction for an application C in the user interface A by using an input device such as a remote controller or a mouse, the client may send the installation instruction to the installation instruction. The service providing device obtains the installation process of the application C and the interface corresponding to the installation according to the installation instruction, and uses the obtained interface as the current user interface of the service providing device. Thus, the response processing for the above input message (such as the installation of the application C) is substantially completed in the service providing device, and the client only displays the user interface of the streaming mode pushed by the service providing device.
在本申请的一种优选实施例中,为了提高对用户界面进行更新的速度,可以预先将全部或部分已安装应用的用户界面数据放至帧缓冲设备(Frame Buffer)中,这样,当消息处理模块203在接收到来自所述客户端的输入消息后,可以依据该输入消息在上述帧缓冲设备中查找得到相匹配的用户界面数据,假设该输入消息中携带有应用A和安装指令的信息,则可以在上述帧缓冲设备中查找得到应用A的安装指令对应的用户界面信息。In a preferred embodiment of the present application, in order to improve the speed of updating the user interface, user interface data of all or part of the installed application may be put into a frame buffer device in advance, so that when message processing is performed After receiving the input message from the client, the module 203 may search for the matched user interface data in the frame buffer device according to the input message, and if the input message carries the information of the application A and the installation instruction, The user interface information corresponding to the installation instruction of the application A can be found in the frame buffer device.
在具体实现中,界面编码模块201可以按照预置的编码格式对服务提供设备的用户界面进行编码,所述预置的编码格式具体可以包括:H.264等等,本申请实施例对具体的编码格式不加以限制。In a specific implementation, the interface encoding module 201 may encode the user interface of the service providing device according to the preset encoding format, and the preset encoding format may specifically include: H.264, etc., and the specific embodiment of the present application The encoding format is not limited.
在本申请的一种应用示例中,流处理模块202可以采用流化方式通过RTSP(实时流传输协议,Real Time Streaming Protocol)生成用户界面的编码结果对应的TS流,并将TS流推送给客户端以在所述客户端显示相应的用户界面;可以理解,上述通过RTSP生成TS流的方式只是作为示例,而不理解为本申请实施例的应用限制,本申请实施例对TS流的具体生成方式不加以限制。In an application example of the present application, the stream processing module 202 may generate a TS stream corresponding to the coding result of the user interface by using a Real Time Streaming Protocol (RTSP) in a streaming manner, and push the TS stream to the client. In order to display the corresponding user interface on the client, it can be understood that the foregoing manner of generating the TS stream by using the RTSP is only an example, and is not to be understood as an application limitation of the embodiment of the present application. The method is not limited.
综上,本实施例中,服务提供设备可以向所连接的客户端推送用户界面对应的传输流,这使得客户端可以对依据所述传输流解析得到的用户界面进行显示;并且,服务提供设备还可以接收来自所述客户端的、用户通过遥控器、鼠标等输入装置产生的输入消息,并依据所述输入消息对服务提供设备的用户界面进行更新;由于服务提供设备负责当前输入信息对应用户界面的获取,而客户端仅仅负责传输流的解析和用户界面的显示,因此,本实施例可以通过服务提供设备直接为客户端提供智能电视服务,这降低了对于机顶盒的性能要求,因此减少了对于机顶盒的维护操作,降低了智能电视服务对硬件资源的要求,同时节约了用户购买或更新机顶盒所花费的成本。In summary, in this embodiment, the service providing device may push the transport stream corresponding to the user interface to the connected client, so that the client may display the user interface that is parsed according to the transport stream; and, the service providing device And receiving an input message generated by the user from the input device of the client through a remote controller, a mouse, or the like, and updating the user interface of the service providing device according to the input message; the service providing device is responsible for the current input information corresponding to the user interface. The acquisition is only responsible for the resolution of the transport stream and the display of the user interface. Therefore, the present embodiment can provide the smart TV service directly to the client through the service providing device, which reduces the performance requirement for the set top box, thus reducing the The maintenance operation of the set-top box reduces the hardware resource requirements of the smart TV service, and at the same time saves the cost for the user to purchase or update the set-top box.
实施例二 Embodiment 2
本实施例的服务提供设备在上述实施例一的基础上,进一步还可以包括如下可选技术方案。The service providing device of this embodiment may further include the following optional technical solutions on the basis of the foregoing Embodiment 1.
本实施例中,所述流处理模块202,还可用于依据所述客户端的多媒体播放请求获取相应的多媒体播放信息,并将所述多媒体播放信息反馈给所述客户端。In this embodiment, the stream processing module 202 is further configured to obtain corresponding multimedia play information according to the multimedia play request of the client, and feed back the multimedia play information to the client.
客户端当前显示的用户界面可以提供视频、音频等多媒体资源的多媒体播放接口,用户可以通过该多媒体播放接口触发相应的多媒体播放请求,也即,上述多媒体播放请求为通过触发上述用户界面产生的请求。然而,由于多媒体资源特别是清晰度、质量等要求较高的多媒体资源的数据量往往比较大,故采用TS流传输多媒体资源的方式对带宽要求较高,若客户端对应智能终端的带宽较低则有可能出现多媒体资源的播放质量下降等问题。The user interface currently displayed by the client can provide a multimedia play interface for multimedia resources such as video and audio, and the user can trigger a corresponding multimedia play request through the multimedia play interface, that is, the multimedia play request is a request generated by triggering the user interface. . However, since the multimedia resources, especially the high-density multimedia resources, such as the definition and the quality of the multimedia resources, tend to be relatively large, the method of using the TS stream to transmit the multimedia resources has a higher bandwidth requirement, and if the bandwidth of the client corresponding to the smart terminal is relatively low, There may be problems such as a decline in the playback quality of multimedia resources.
本实施例中,服务提供设备可以不采用传输流的形式传输多媒体资源,而是依据所述客户端的多媒体播放请求获取相应的多媒体播放信息,并将所述多媒体播放信息反馈给所述客户端,由所述客户端依据所述多媒体播放信息请求并播放对应的多媒体资源,因此,能够避免带宽较低导致的多媒体资源的播放质量下降等问题。In this embodiment, the service providing device may not transmit the multimedia resource in the form of the transport stream, but acquire the corresponding multimedia play information according to the multimedia play request of the client, and feed back the multimedia play information to the client. The client requests and plays the corresponding multimedia resource according to the multimedia play information, so that problems such as degradation of the playback quality of the multimedia resource caused by the low bandwidth can be avoided.
在具体实现中,服务提供设备可以从网络查询该多媒体播放请求对应的多媒体播放信息,例如,服务提供设备可以从CDN(内容分发网络,Content Delivery Network)服务器获取该多媒体播放请求对应多媒体资源的播放地址,如URL(统一资源定位符,Uniform Resource Locator),将该URL作为多媒体播放信息反馈给客户端。当然,上述URL只是作为多媒体播放信息的应用示例,而不理解为多媒体播放信息的应用限制,实际上,多媒体资源的名称等其它多媒体播放信息也是可行的。In a specific implementation, the service providing device may query the multimedia play information corresponding to the multimedia play request from the network. For example, the service providing device may acquire the multimedia resource corresponding to the multimedia play request from the CDN (Content Delivery Network) server. The address, such as a URL (Uniform Resource Locator), feeds the URL back to the client as multimedia playback information. Of course, the above URL is only an application example of multimedia playback information, and is not understood as an application limitation of multimedia playback information. In fact, other multimedia playback information such as the name of the multimedia resource is also feasible.
在本申请的一种优选实施例中,所述流处理模块202,还可用于在接收到所述客户端发送的传送停止指令后,暂停为所述客户端推送传送流。当客户端确定要播放多媒体资源时,由于客户端侧显示的用户界面是由服务提供设备推送的TS流解析显示的,因此,为了避免用户界面与多媒体资源的冲突,客户端可以向服务提供设备发送传送停止指令,该传送停止指令可用于告知服务提供设备暂停对TS流的推送。而服务提供设备在接收到该传送停止指令后,可以暂停向该客户端推送TS流。In a preferred embodiment of the present application, the stream processing module 202 is further configured to pause to push the transport stream for the client after receiving the transfer stop command sent by the client. When the client determines that the multimedia resource is to be played, since the user interface displayed on the client side is parsed and displayed by the TS stream pushed by the service providing device, the client may provide the device to the service in order to avoid conflict between the user interface and the multimedia resource. A transfer stop command is sent, which can be used to inform the service providing device to suspend the push of the TS stream. After receiving the transfer stop command, the service providing device may suspend pushing the TS stream to the client.
在本申请的另一种优选实施例中,所述流处理模块202,还可用于在接收到所述客户端发送的重新开始指令后,重新向所述客户端推送所述传输流。在具体实现中,服务提供设备可以断点记录等形式保留该客户端在播放前的用户界面,这样,在接收到重新开始指令后,可以从该断点记录开始继续向该客户端推送用户界面对应的TS流。 In another preferred embodiment of the present application, the stream processing module 202 is further configured to re-push the transport stream to the client after receiving the restart instruction sent by the client. In a specific implementation, the service providing device may retain the user interface of the client before playing, such as a breakpoint record, so that after receiving the restart instruction, the user interface may be pushed to the client from the breakpoint record. Corresponding TS stream.
综上,本实施例中,服务提供设备采用TS流的形式向客户端推送用户界面,而向客户端发送多媒体播放信息使得客户端依据该多媒体播放信息获取对应的多媒体资源,对于客户端而言,由于采用不同的方式获取用户界面和多媒体资源,因此能够避免用户界面和多媒体资源的冲突,从而能够保证用户界面的显示质量和多媒体资源的播放质量。In summary, in this embodiment, the service providing device pushes the user interface to the client in the form of a TS stream, and sends the multimedia play information to the client, so that the client obtains the corresponding multimedia resource according to the multimedia play information, for the client. Since the user interface and the multimedia resource are acquired in different manners, the conflict between the user interface and the multimedia resource can be avoided, thereby ensuring the display quality of the user interface and the playback quality of the multimedia resource.
实施例三Embodiment 3
参照图3,示出了本申请的一种服务提供设备实施例三的结构框图,具体可以包括如下模块:Referring to FIG. 3, a structural block diagram of a third embodiment of a service providing device of the present application is shown, which may specifically include the following modules:
界面编码模块301,用于对用户界面进行编码;An interface encoding module 301, configured to encode a user interface;
流处理模块302,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;The stream processing module 302 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
消息处理模块303,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;及The message processing module 303 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
分区操作模块304,用于将所述客户端的登录用户对应的用户分区挂载到本地,并将所述登录用户产生的用户数据写入挂载后的用户分区。The partition operation module 304 is configured to mount the user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition.
相对于实施例一,本实施例还可以采用与用户对应的用户分区来专门存储用户产生的用户数据,这些用户分区独立于服务提供设备的存储空间,对于每个用户分区而言,在其对应用户登录后可以被挂载到服务提供设备之上,而在其对应用户未登录时其可以与服务提供设备不具备挂载关系;由于每个用户分区可以与用户对应,这样,无论用户通过客户端连接了哪个服务提供设备,连接的该个服务提供设备均可采用该用户对应的用户分区来存储该用户采用的用户数据,也即该用户分区可以存储该用户产生的所有历史数据,从而能够满足该用户对于所有历史数据的访问需求;假设用户分区A对应用户A,则用户A在客户端与上次分配的、服务提供设备001断开连接后,即使下次连接的是服务提供设备002,用户A一直使用用户分区A存储产生的用户数据,因此可以通过访问用户分区A查看所有历史数据。With respect to the first embodiment, the user partition corresponding to the user may be specifically used to store the user data generated by the user. The user partitions are independent of the storage space of the service providing device, and for each user partition, corresponding to After the user logs in, it can be mounted on the service providing device, and when the corresponding user is not logged in, it can not have a mounting relationship with the service providing device; since each user partition can correspond to the user, so that the user passes the client. Which service providing device is connected to the terminal, and the connected service providing device can use the user partition corresponding to the user to store the user data used by the user, that is, the user partition can store all historical data generated by the user, thereby enabling Satisfying the user's access requirement for all historical data; assuming that the user partition A corresponds to the user A, the user A disconnects the service providing device 002 after the client disconnects from the last assigned service providing device 001. User A always uses user partition A to store the generated user data, so A partition by accessing the user to view all historic data.
挂载可用于表示将存储设备或者磁盘分区挂接到一个已存在的目录上的操作,具体到本申请实施例,挂载可用于表示将用户分区挂接到服务提供设备中一个已存在的本地目录上。则挂载后的用户分区可用于表示已经与服务提供设备的本地目录挂接的用户分区,在服务提供设备本地打开该本地目录时,就可以直接访问其挂接的用户分区下的数 据文件。The mounting may be used to indicate that the storage device or the disk partition is attached to an existing directory. In the embodiment of the present application, the mounting may be used to attach the user partition to an existing local device in the service providing device. On the catalog. The mounted user partition can be used to indicate the user partition that has been attached to the local directory of the service providing device. When the local directory is opened locally by the service providing device, the number of the user partitions attached thereto can be directly accessed. According to the document.
在具体实现中,可以采用存储网络(Storage Network)技术来实现所述用户分区,该存储网络技术将存储器从应用服务器中分离出来进行集中管理,因此具有统一性、容易扩充等优点。该存储网络技术具体可以包括:NAS(网络附属存储,Network-Attached Storage)和SAN(存储区域网络,Storage Area Network)等技术;其中,NAS技术的用户可以通过TCP/IP(传输控制协议/网际协议,Transmission Control Protocol/Internet Protocol)访问数据,采用NFS(网络文件系统,Network File System)、HTTP(超文本传送协议,Hypertext transfer protocol)、CIFS(网络文件共享系统,Common Internet File System)等标准文件共享协议实现共享;而SAN技术的用户可以通过专用光纤通道交换机访问数据,可以采用SCSI(small computer system interface,小型计算机系统接口)、FC-AL(光纤通道仲裁环路,FIBRE CHANNEL ARBITRATED LOOP)等接口。本申请实施例主要以NAS技术为例对用户分区及其挂载过程进行说明,其它存储网络技术的用户分区及其挂载过程相互参照即可。In a specific implementation, the user network partition can be implemented by using a storage network technology, which separates the memory from the application server for centralized management, and thus has the advantages of uniformity, easy expansion, and the like. The storage network technology may specifically include technologies such as NAS (Network-Attached Storage) and SAN (Storage Area Network); among them, users of NAS technology can pass TCP/IP (Transmission Control Protocol/Internet) Protocol, Transmission Control Protocol/Internet Protocol) access data, using NFS (Network File System), HTTP (Hypertext transfer protocol), CIFS (Common Internet File System) and other standards File sharing protocols are shared; users of SAN technology can access data through dedicated Fibre Channel switches, using SCSI (small computer system interface), FC-AL (Fibre Channel Arbitration Loop, FIBRE CHANNEL ARBITRATED LOOP) And other interfaces. The embodiment of the present application mainly uses NAS technology as an example to describe the user partition and its mounting process. The user partitions of other storage network technologies and their mounting processes can be cross-referenced.
在本申请的一种应用示例中,NAS存储器件具体可以包括:磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质等;可以在一个磁盘上划分多个目录,其中的每个目录可以对应一个用户分区,也即,用户分区与网络附属存储NAS存储器件中的目录一一对应。In an application example of the present application, the NAS storage device may specifically include: a disk array, a CD/DVD drive, a tape drive, or a removable storage medium, etc.; a plurality of directories may be divided on one disk, and each of the directories One user partition may be corresponding, that is, the user partition has a one-to-one correspondence with a directory in the network attached storage NAS storage device.
在本申请的一种优选实施例中,所述分区操作模块304将所述客户端的登录用户对应的用户分区挂载到本地的过程,具体可以包括:接收服务器发送的登录用户对应的用户分区的地址信息;依据所述登录用户对应的用户分区的地址信息,将所述客户端的登录用户对应的用户分区挂载到本地。In a preferred embodiment of the present application, the process of the partition operation module 304 for mounting the user partition corresponding to the login user of the client to the local device may include: receiving the user partition corresponding to the login user sent by the server. Address information: The user partition corresponding to the login user of the client is mounted locally according to the address information of the user partition corresponding to the login user.
在具体实现中,所述分区操作模块304接收服务器发送的登录用户对应的用户分区的地址信息的过程,具体可以包括:接收服务器推送的登录用户对应的用户分区的地址信息;或者,向服务器发送挂载请求,其中,所述挂载请求中携带所述登录用户的信息,并接收所述服务器依据所述挂载请求返回的所述登录用户对应的用户分区的地址信息。In a specific implementation, the process of the partition operation module 304 receiving the address information of the user partition corresponding to the login user sent by the server may include: receiving address information of the user partition corresponding to the login user pushed by the server; or sending to the server a mount request, where the mount request carries information of the login user, and receives address information of a user partition corresponding to the login user returned by the server according to the mount request.
一方面,由于服务器在为客户端调度并分配服务提供设备之前,客户端已经通过用户ID等方式登录到服务器,因此,服务器在客户端连接服务提供设备前已经获知了客户端的登录用户的信息(如用户ID),从而,服务器可以依据登录用户的ID(标识,Identity)确定登录用户对应的用户分区的地址信息;另一方面,由于客户端连接的服务提供设备是由服务器调度得到的,因此服务器在客户端连接服务提供设备前已经获知 了服务提供设备的地址信息(如IP地址信息);因此,服务器可以依据服务提供设备的地址信息将所述登录用户对应的用户分区的地址信息推送给对应服务提供设备。On the one hand, since the server has logged in to the server through the user ID or the like before the server dispatches and allocates the service providing device for the client, the server has already obtained the information of the logged-in user of the client before the client connects to the service providing device ( For example, the user ID), the server can determine the address information of the user partition corresponding to the login user according to the ID (identity of the login user); on the other hand, since the service providing device connected by the client is scheduled by the server, The server is known before the client connects to the service provider device. The address information (such as the IP address information) of the service providing device is forwarded; therefore, the server can push the address information of the user partition corresponding to the login user to the corresponding service providing device according to the address information of the service providing device.
在实际应用中,服务器可以预先建立并维护用户与用户分区之间映射关系,如用户ID为用户分区的地址信息之间的映射关系,这样,可以依据登录用户的ID,在该映射关系中查找与登录用户的ID相匹配的用户分区的地址信息。In a practical application, the server may pre-establish and maintain a mapping relationship between the user and the user partition. For example, the user ID is a mapping relationship between the address information of the user partition, so that the mapping relationship may be searched according to the ID of the login user. The address information of the user partition that matches the ID of the logged in user.
在本申请的一种应用示例中,可以利用NFS技术实现用户分区的挂载。具体地,服务提供设备可以实现一个NFS客户端,服务器可以实现一个NFS服务端,这样,服务提供设备可以通过NFS客户端接收服务器的NFS服务端发送的登录用户对应的用户分区的地址信息。In an application example of the present application, the mounting of the user partition can be implemented by using the NFS technology. Specifically, the service providing device can implement an NFS client, and the server can implement an NFS server, so that the service providing device can receive the address information of the user partition corresponding to the login user sent by the NFS server of the server through the NFS client.
在本申请的应用实例中,所述登录用户对应的用户分区的地址信息具体可以包括:服务器的网络地址和所述用户分区的目录地址,例如,接收到的登录用户对应的用户分区的地址信息为http://10.10.88.69/nfs/001,其中,10.10.88.69表示服务器的IP地址,nfs/001表示登录用户对应的用户分区在服务器上的磁盘目录。In the application example of the application, the address information of the user partition corresponding to the login user may specifically include: a network address of the server and a directory address of the user partition, for example, address information of the user partition corresponding to the received login user. It is http://10.10.88.69/nfs/001, where 10.10.88.69 represents the IP address of the server, and nfs/001 represents the disk directory of the user partition corresponding to the login user on the server.
在具体实现中,可以将所述客户端的登录用户对应的用户分区挂载到本地的用户分区目录,这里的用户分区目录可以是预先设置的,也可以是服务提供设备在接收到所述登录用户对应的用户分区的地址信息后临时创建的。由于将所述客户端的登录用户对应的用户分区挂载到本地的用户分区目录,如服务提供设备/data,从而在服务提供设备打开用户分区目录时,可以直接访问远程的、所述登录用户对应的用户分区,而无需将所述登录用户对应的用户分区下载到本地,这使得服务提供设备将不再受到存储容量的限制。In a specific implementation, the user partition corresponding to the login user of the client may be mounted to a local user partition directory, where the user partition directory may be preset, or the service providing device receives the login user. The address information of the corresponding user partition is temporarily created. The user partition corresponding to the login user of the client is mounted to a local user partition directory, such as a service providing device/data, so that when the service providing device opens the user partition directory, the remote user can directly access the login user. The user partition is downloaded without downloading the user partition corresponding to the login user, which makes the service providing device no longer limited by the storage capacity.
假设接收到的登录用户对应的用户分区的地址信息为http://10.10.88.69/nfs/001,本地的用户分区目录为服务提供设备/data,服务提供设备采用安卓系统,则可以通过mount命令将所收登录用户对应的用户分区nfs/001挂载到本地的用户分区目录—服务提供设备/data,从而,在本地打开目录服务提供设备/data时,就可以直接访问nfs/001下的数据文件。Assume that the address information of the user partition corresponding to the received login user is http://10.10.88.69/nfs/001, the local user partition directory is the service providing device/data, and the service providing device adopts the Android system, then the mount command can be used. The user partition nfs/001 corresponding to the logged-in user is mounted to the local user partition directory-service providing device/data, so that when the directory service providing device/data is opened locally, the data under nfs/001 can be directly accessed. file.
本申请实施例通过将所述登录用户产生的用户数据写入挂载后的用户分区、而非写入服务提供设备的其它目录的方式,实现用户分区用于专门存储用户产生的用户数据的功能。需要说明的是,除了写入访问外,所述挂载后的用户分区还可以支持读取访问和删除访问等其它访问方式,例如,可以依据客户端的查询请求从所述挂载后的用户分区中读取用户数据并返回给用户端等等,本申请实施例对所述挂载后的用户分区的具体访 问不加以限制。The embodiment of the present application realizes the function of the user partition for exclusively storing user data generated by the user by writing the user data generated by the login user to the mounted user partition instead of writing to other directories of the service providing device. . It should be noted that, in addition to the write access, the mounted user partition can also support other access modes such as read access and delete access, for example, the user partition can be requested from the client according to the query request of the client. The user data is read and returned to the user end, etc., and the specific access to the user partition after the mounting is performed in the embodiment of the present application. Ask no restrictions.
综上,本实施例通过将所述登录用户产生的用户数据写入挂载后的用户分区、而非写入服务提供设备的其它目录的方式,实现用户分区用于专门存储用户产生的用户数据的功能;这样,无论登录用户通过客户端连接了哪个服务提供设备,连接的该个服务提供设备均挂载并采用该登录用户对应的用户分区来存储该登录用户采用的用户数据,使得该用户分区可以存储该用户产生的所有历史数据,从而使得该用户分区能够满足该用户对于所有历史数据的访问需求。并且,本实施例无需将所述登录用户产生的用户数据写入服务提供设备,因此还能够节省服务提供设备的存储空间。In summary, in this embodiment, the user partition is used to store the user data generated by the user by writing the user data generated by the login user to the mounted user partition instead of writing to other directories of the service providing device. In this way, regardless of which service providing device is connected to the logged-in user through the client, the connected service providing device is mounted and uses the user partition corresponding to the logged-in user to store the user data used by the logged-in user, so that the user The partition can store all historical data generated by the user, so that the user partition can satisfy the user's access requirements for all historical data. Moreover, in this embodiment, the user data generated by the login user does not need to be written into the service providing device, so that the storage space of the service providing device can also be saved.
实施例四Embodiment 4
参照图4,示出了本申请的一种服务提供设备实施例四的结构框图,具体可以包括如下模块:Referring to FIG. 4, a structural block diagram of Embodiment 4 of a service providing device of the present application is shown, which may specifically include the following modules:
界面编码模块401,用于对用户界面进行编码;An interface encoding module 401, configured to encode a user interface;
流处理模块402,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;The stream processing module 402 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
消息处理模块403,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;及The message processing module 403 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
分区操作模块404,用于将所述客户端的登录用户对应的用户分区挂载到本地,并将所述登录用户产生的用户数据写入挂载后的用户分区;a partition operation module 404, configured to mount a user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition;
其中,所述分区操作模块404具体可以包括:The partition operation module 404 may specifically include:
第一检测子模块441,用于检测挂载后的用户分区中是否存在已安装应用的数据文件;及The first detecting sub-module 441 is configured to detect whether a data file of the installed application exists in the user partition after the mounting; and
文件写入子模块442,用于在所述挂载后的用户分区中不存在所述已安装应用的数据文件时,将所述已安装应用的数据文件写入所述挂载后的用户分区。a file writing sub-module 442, configured to write the data file of the installed application to the mounted user partition when the data file of the installed application does not exist in the mounted user partition .
由于服务提供设备的用户界面可以为关于所有或部分已安装应用的用户界面,并且每个用户都有可能使用每个已安装应用并在使用过程中产生对应的用户数据,因此,需要实现将每个已安装应用复用于每个用户分区,以满足采用用户分区存储用户在使用每个应用程序过程中产生的用户数据的需求。Since the user interface of the service providing device can be a user interface for all or part of the installed applications, and each user is likely to use each installed application and generate corresponding user data during use, it is necessary to implement each The installed applications are reused for each user partition to meet the need to use user partitions to store user data generated by users during each application.
为了实现将每个已安装应用复用于每个用户分区,本实施例可以在每次挂载用户分区后,检测挂载后的用户分区中是否存在已安装应用的数据文件,并在所述挂载后的用 户分区中不存在所述已安装应用的数据文件时,将所述已安装应用的数据文件写入所述挂载后的用户分区;上述检测挂载后的用户分区和将所述已安装应用的数据文件写入所述挂载后的用户分区的操作,能够实现用户分区中应用的数据文件与服务提供设备中应用的一致性,能够确保挂载后的用户分区中存在服务提供设备中所有已安装应用的数据文件,而某已安装应用的数据文件可用于存储用户在使用该已安装应用过程中产生的用户数据,因此可以满足采用用户分区存储用户在使用每个应用程序过程中产生的用户数据的需求。In order to implement the application of each installed application to each user partition, the embodiment may detect, after each mounting of the user partition, whether there is a data file of the installed application in the mounted user partition, and After mounting When the data file of the installed application does not exist in the user partition, the data file of the installed application is written into the mounted user partition; the user partition after detecting the mount and the installed application are The data file is written into the user partition after the mounting, and the data file of the application in the user partition can be consistent with the application in the service providing device, and the user in the mounted user partition can be ensured to exist in the service providing device. The data file of the installed application is installed, and the data file of an installed application can be used to store the user data generated by the user during the use of the installed application, so that the user partition storage user is used in the process of using each application. User data requirements.
在实际应用中,可以在每个已安装应用安装完成后,可以将这个已安装应用的数据文件放至第一临时存储区,这样,在所述挂载后的用户分区中不存在所述已安装应用的数据文件时,可以从所述第一临时存储区读取所述已安装应用的数据文件,并将读取内容写入到所述挂载后的用户分区。In an actual application, after the installation of each installed application is completed, the data file of the installed application may be placed in the first temporary storage area, so that the existing user partition does not exist in the mounted user partition. When the data file of the application is installed, the data file of the installed application may be read from the first temporary storage area, and the read content is written to the mounted user partition.
在具体实现中,可以在挂载后的用户分区中查找与已安装应用的信息相匹配的数据文件,若查找到,则所述挂载后的用户分区中存在所述已安装应用的数据文件,若未查找到,则所述挂载后的用户分区中不存在所述已安装应用的数据文件。In a specific implementation, the data file matching the information of the installed application may be searched in the mounted user partition, and if found, the data file of the installed application exists in the mounted user partition. If not found, the data file of the installed application does not exist in the mounted user partition.
进一步,所述已安装应用具体可以包括:已安装的所有应用、或者在第一预置时间内被安装的应用;其中,在所述已安装应用表示已安装的所有应用时,需要在挂载后的用户分区中查找与已安装的所有应用的信息相匹配的数据文件,需要花费较多的时间成本;而在所述被安装应用表示在第一预置时间内被安装的应用时,需要在挂载后的用户分区中查找与已安装的部分应用的信息相匹配的数据文件,因此,花费的时间成本较少。Further, the installed application may specifically include: all installed applications, or applications installed in a first preset time; wherein the installed application indicates that all installed applications need to be mounted In the subsequent user partition, it is required to spend more time cost to find the data file matching the information of all installed applications; and when the installed application indicates the application installed in the first preset time, it is required The data file matching the information of some installed applications is found in the mounted user partition, so the time cost is small.
在本申请的一种实施例中,可以监控安装应用的行为,并在监控到安装应用的行为时,将所安装应用作为已安装应用,并记录所述已安装应用的信息;其中,所述已安装应用的信息具体可以包括如下信息中的一种或多种:所述已安装应用的文件夹信息和所述已安装应用的数据文件信息。In an embodiment of the present application, the behavior of installing the application may be monitored, and when the behavior of installing the application is monitored, the installed application is used as an installed application, and information of the installed application is recorded; The information of the installed application may specifically include one or more of the following information: folder information of the installed application and data file information of the installed application.
在本申请的一种优选实施例中,为了避免应用管理影响到客户端的访问效率,可以在服务提供设备未连接客户端的情况下进行应用的管理,如安装和/或卸载和/或升级应用等等,具体地,服务器可以在所有服务提供设备上触发应用的管理以保证不同服务提供设备向客户端提供相同的服务,以安装应用为例,服务器可以向服务提供设备发送安装包,服务提供设备依据该安装包进行对应应用的安装。In a preferred embodiment of the present application, in order to prevent application management from affecting the access efficiency of the client, management of the application, such as installing and/or uninstalling and/or upgrading the application, may be performed if the service providing device is not connected to the client. In particular, the server can trigger the management of the application on all service providing devices to ensure that different service providing devices provide the same service to the client. For example, the server can install the installation package, and the service providing device sends the installation package to the service providing device. Install the corresponding application according to the installation package.
在实际应用中,除了所述已安装应用的文件夹信息和所述已安装应用的数据文件信息外,所述已安装应用的信息还可以包括:已安装应用的安装时间信息,这样,可以依 据已安装应用的安装时间信息确定所述在第一预置时间内被安装的应用。例如,所述预置时间可以为最近一个维护周期(服务器对于应用的管理周期,如1小时或者24小时);或者,所述第一预置时间还可以为从当前用户分区上次被挂载的时间到当前时间之间的时间段等等,由于每次挂载用户分区后都会实现用户分区中应用的数据文件与服务提供设备中应用的一致性,故可以忽略当前用户分区上次被挂载的时间之前的已安装应用;可以理解,本领域技术人员可以根据实际需求确定具体的维护周期或者第一预置时间,本申请实施例对具体的维护周期或第一预置时间不加以限制。In an actual application, in addition to the folder information of the installed application and the data file information of the installed application, the information of the installed application may further include: installation time information of the installed application, so that The application installed in the first preset time is determined according to the installation time information of the installed application. For example, the preset time may be the most recent maintenance period (the server manages the application period, such as 1 hour or 24 hours); or the first preset time may also be the last time the current user partition is mounted. The time period between the current time and the like, because each time the user partition is mounted, the data file of the application in the user partition is consistent with the application in the service providing device, so the current user partition can be ignored. The installed application before the time is loaded; it can be understood that a specific maintenance period or a first preset time can be determined by a person skilled in the art according to actual needs. The embodiment of the present application does not limit the specific maintenance period or the first preset time. .
实施例五Embodiment 5
参照图5,示出了本申请的一种服务提供设备实施例五的结构框图,具体可以包括如下模块:Referring to FIG. 5, a structural block diagram of Embodiment 5 of a service providing device of the present application is shown, which may specifically include the following modules:
界面编码模块501,用于对用户界面进行编码;An interface encoding module 501, configured to encode a user interface;
流处理模块502,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;The stream processing module 502 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client;
消息处理模块503,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;及The message processing module 503 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
分区操作模块504,用于将所述客户端的登录用户对应的用户分区挂载到本地,并将所述登录用户产生的用户数据写入挂载后的用户分区;a partition operation module 504, configured to mount a user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition;
其中,所述分区操作模块504具体可以包括:The partition operation module 504 may specifically include:
其中,所述分区操作模块504具体可以包括:The partition operation module 504 may specifically include:
第二检测子模块541,用于检测挂载后的用户分区中是否存在已卸载应用的数据文件;a second detecting submodule 541, configured to detect whether a data file of the uninstalled application exists in the user partition after the mounting;
删除子模块542,用于在所述挂载后的用户分区中存在所述已卸载应用的数据文件时,删除所述挂载后的用户分区中所述已卸载应用的数据文件。The deleting sub-module 542 is configured to delete the data file of the uninstalled application in the mounted user partition when the data file of the uninstalled application exists in the mounted user partition.
为了实现用户分区中应用的数据文件与服务提供设备中应用的一致性,本实施例可以在每次挂载用户分区后,检测挂载后的用户分区中是否存在已卸载应用的数据文件,并在所述挂载后的用户分区中存在所述已卸载应用的数据文件时,删除所述挂载后的用户分区中所述已卸载应用的数据文件;上述检测挂载后的用户分区和删除所述挂载后的用户分区中所述已卸载应用的数据文件的操作,能够实现用户分区中应用的数据文件与服务提供设备中应用的一致性,能够确保挂载后的用户分区中不存在服务提供设备中已 卸载应用的数据文件,因此可以在节省用户分区的存储空间的前提下,满足采用用户分区存储用户在使用每个应用程序过程中产生的用户数据的需求。In order to achieve the consistency between the data file of the application in the user partition and the application in the service providing device, the embodiment may detect whether the data file of the uninstalled application exists in the mounted user partition after each mounting of the user partition, and Deleting the data file of the uninstalled application in the mounted user partition when the data file of the uninstalled application exists in the mounted user partition; detecting the user partition and deleting after the mounting The operation of the data file of the uninstalled application in the mounted user partition can achieve consistency between the data file of the application in the user partition and the application in the service providing device, and can ensure that the user partition after the mount does not exist. Service provided in the device The application data file is uninstalled, so that the user partition can be used to store the user data generated by the user in using each application process while saving the storage space of the user partition.
在具体实现中,可以在挂载后的用户分区中查找与已卸载应用的信息相匹配的数据文件,若查找到,则所述挂载后的用户分区中存在所述已卸载应用的数据文件,若未查找到,则所述挂载后的用户分区中不存在所述已卸载应用的数据文件。In a specific implementation, the data file matching the information of the uninstalled application may be searched in the mounted user partition, and if found, the data file of the uninstalled application exists in the mounted user partition. If not found, the data file of the uninstalled application does not exist in the mounted user partition.
进一步,所述已卸载应用具体可以包括:已卸载的所有应用、或者在第二预置时间内被卸载的应用;其中,在所述已卸载应用表示已卸载的所有应用时,需要在挂载后的用户分区中查找与已卸载的所有应用的信息相匹配的数据文件,需要花费较多的时间成本;而在所述被卸载应用表示在第二预置时间内被卸载的应用时,需要在挂载后的用户分区中查找与已卸载的部分应用的信息相匹配的数据文件,因此,花费的时间成本较少。Further, the uninstalled application may specifically include: all applications that have been uninstalled, or applications that are uninstalled within a second preset time; wherein, when the uninstalled application indicates all applications that have been uninstalled, it needs to be mounted. The data file in the subsequent user partition that matches the information of all the applications that have been uninstalled requires a lot of time cost; and when the uninstalled application indicates an application that is uninstalled in the second preset time, it is required The data file matching the information of the partially uninstalled application is searched in the mounted user partition, and therefore, the time cost is small.
所述第二预置时间可以为最近一个维护周期(服务器对于应用的管理周期,如1小时或者24小时);或者,所述第二预置时间还可以为从当前用户分区上次被挂载的时间到当前时间之间的时间段等等,由于每次挂载用户分区后都会实现用户分区中应用的数据文件与服务提供设备中应用的一致性,故可以忽略当前用户分区上次被挂载的时间之前的已卸载应用;可以理解,本领域技术人员可以根据实际需求确定具体的维护周期或者第二预置时间,本申请实施例对具体的维护周期或第二预置时间不加以限制。The second preset time may be the last maintenance period (the server manages the application period, such as 1 hour or 24 hours); or the second preset time may also be the last time the current user partition is mounted. The time period between the current time and the like, because each time the user partition is mounted, the data file of the application in the user partition is consistent with the application in the service providing device, so the current user partition can be ignored. The unloaded application before the time is loaded; it can be understood that a specific maintenance period or a second preset time can be determined by a person skilled in the art according to actual needs. The embodiment of the present application does not limit the specific maintenance period or the second preset time. .
实施例六Embodiment 6
参照图6,示出了本申请的一种服务提供设备实施例六的结构框图,具体可以包括如下模块:Referring to FIG. 6, a structural block diagram of Embodiment 6 of a service providing device of the present application is shown, which may specifically include the following modules:
界面编码模块601,用于对用户界面进行编码;An interface encoding module 601, configured to encode a user interface;
流处理模块602,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;The stream processing module 602 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
消息处理模块603,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;及The message processing module 603 is configured to receive an input message from the client, and perform corresponding message processing according to the input message, where the message processing may include: updating the user interface;
远程管理模块604,用于配合服务器完成所述服务器对于服务提供设备的远程管理。The remote management module 604 is configured to cooperate with the server to complete remote management of the service providing device by the server.
相对于实施例一,本实施例的服务提供设备还可以包括:远程管理模块604,远程管理模块604可以与服务器远程通信,以配合该服务器完成该服务器对于服务提供设备的远程管理,从而可以使得服务提供设备向客户端提供一致、正常和及时的智能电视服务。为了避免远程管理影响到客户端的访问效率,可以在服务提供设备未连接客户端的 情况下进行上述远程管理。The service providing device of the embodiment may further include: a remote management module 604, which may remotely communicate with the server to cooperate with the server to complete remote management of the service providing device by the server, thereby enabling The service providing device provides a consistent, normal and timely smart TV service to the client. In order to avoid remote management affecting the access efficiency of the client, the service provider device may not be connected to the client. In the case of the above remote management.
在具体实现中,所述服务器对服务提供设备的远程管理具体可以包括:所述服务器对服务提供设备的应用管理、所述服务器对服务提供设备的进程清理和所述服务器对服务提供设备的心跳管理中的至少一种。In a specific implementation, the remote management of the service providing device by the server may include: application management of the server to the service providing device, process cleaning of the server to the service providing device, and heartbeat of the server to the service providing device. At least one of management.
其中,所述服务器对服务提供设备的应用管理可以进一步包括安装应用、卸载应用等,实施例四和实施例五已经有所介绍,在此不作赘述,相互参照即可;The application management of the service providing device by the server may further include installing an application, uninstalling the application, and the like. The fourth embodiment and the fifth embodiment have been introduced, and are not described herein again.
所述服务器对服务提供设备的进程清理具体可以包括:杀进程等,假设服务提供设备中存在后台运行的恶意应用,则服务器可以向该服务提供设备发送杀进程指令,以使该服务提供设备杀死该恶意应用;The process of cleaning the process of the service providing device by the server may include: killing a process, etc., assuming that there is a malicious application running in the background in the service providing device, the server may send a killing process instruction to the service providing device, so that the service providing device kills Kill the malicious application;
所述服务器对服务提供设备的心跳管理可用于确定服务提供设备的工作状态,例如,服务提供设备可以按照周期向服务器发送心跳信息,而服务器可以对服务提供设备进行心跳检测,当服务提供设备的心跳检测结果符合预置的异常条件时,可认为该服务提供设备处于异常状态,并向该服务提供设备发送软重启指令;又如,当软重启指令被连续发送给服务提供设备的次数超出次数阈值、且服务提供设备的心跳检测结果符合预置的异常条件时,可以认为该服务提供设备出现死机故障,因此可以向该服务提供设备对应的管理设备发送硬重启指令,以实现该服务提供设备的硬重启;其中,上述预置的异常条件具体可以包括:在预置时间内未收到服务提供设备的心跳信息,假设预置时间为5分钟,如果在5分钟内未收到服务提供设备的心跳信息,则可判定所述服务提供设备处于异常状态,本申请实施例对具体的预置时间不加以限制。所述预置的异常条件具体可以包括:心跳信息中携带的服务提供设备的硬件资源信息超出对应的预设阈值,和/或,心跳信息中携带的服务提供设备状态信息为异常;其中,所述预设阈值表示服务提供设备的硬件资源出现故障的极限值。服务提供设备和服务器可以基于TR069协议进行心跳通信,当然,本申请实施例对服务提供设备和服务器之间的具体通信方式及具体的心跳管理方式不加以限制。The heartbeat management of the service providing device by the server may be used to determine the working state of the service providing device. For example, the service providing device may send heartbeat information to the server according to a period, and the server may perform heartbeat detection on the service providing device when the service providing device When the heartbeat detection result meets the preset abnormal condition, the service providing device may be considered to be in an abnormal state, and send a soft restart instruction to the service providing device; for example, the number of times the soft restart command is continuously sent to the service providing device exceeds the number of times If the threshold of the service and the heartbeat detection result of the service providing device meet the preset abnormal condition, the service providing device may be considered to have a crash, so that a hard restart command may be sent to the management device corresponding to the service providing device to implement the service providing device. The hard restart of the preset may include: the heartbeat information of the service providing device is not received within the preset time, and the preset time is 5 minutes, if the service providing device is not received within 5 minutes Heartbeat information, then the Service providing device in an abnormal state, the present application example of the embodiment of the preset time is not particularly limited thereto. The preset abnormal condition may include: the hardware resource information of the service providing device carried in the heartbeat information exceeds a corresponding preset threshold, and/or the state information of the service providing device carried in the heartbeat information is abnormal; The preset threshold indicates a limit value at which the hardware resource of the service providing device fails. The service providing device and the server can perform heartbeat communication based on the TR069 protocol. Of course, the specific communication manner between the service providing device and the server and the specific heartbeat management manner are not limited in the embodiment of the present application.
在本申请的一种优选实施例中,所述远程管理模块604,可具体用于利用守护进程,配合所述服务器完成所述服务器对于服务提供设备的远程管理。例如,安卓系统的结构具体可以包括:Natvie(驱动)层、Framework(框架)层和应用层等,其中,通常的软件模块(如上述界面编码模块601-远程管理模块604)通常运行于应用层,然而应用层获取系统权限的难度较大;而常驻在Natvie层的Daemon(守护进程)带有Root权限,可以执行应用层没有权限执行的操作,如杀进程操作等等,故可以利用守护进程配合所 述服务器完成所述服务器对于服务提供设备的远程管理。In a preferred embodiment of the present application, the remote management module 604 may be specifically configured to perform remote management of the service providing device by the server in cooperation with the server by using a daemon process. For example, the structure of the Android system may specifically include: a Natvie layer, a framework layer, an application layer, and the like, wherein a general software module (such as the interface encoding module 601-remote management module 604 described above) generally runs on the application layer. However, the application layer is more difficult to obtain system permissions; while the Daemon (daemon process) resident in the Natvie layer has root privileges, it can perform operations that the application layer does not have permission to perform, such as killing process operations, etc. Process coordination The server completes remote management of the service providing device by the server.
在本申请的另一种优选实施例中,所述服务器对服务提供设备的远程管理可以为所述服务器对服务提供设备的应用管理,则所述远程管理模块604具体可以包括:In another preferred embodiment of the present application, the remote management of the service providing device by the server may be the application management of the service providing device by the server, and the remote management module 604 may specifically include:
应用更新子模块,用于在接收到来自所述服务器的更新指令后,依据所述更新指令中携带的待更新应用信息更新服务提供设备中的应用;其中,所述待更新应用信息是由所述服务器依据所述服务提供设备中已安装的应用确定的。An application update submodule, configured to: after receiving an update instruction from the server, update an application in the service providing device according to the to-be-updated application information carried in the update instruction; where the application information to be updated is The server is determined according to an installed application in the service providing device.
本优选实施例中,服务器可以根据服务提供设备中已安装的应用确定待更新应用信息,然后通知服务提供设备根据待更新应用信息进行应用的更新,并在确定所述服务提供设备中的应用成功更新之后,为所述成功更新之后的服务提供设备重新分配服务提供设备版本号;这样,服务器可以根据更新后的服务提供设备版本号为客户端分配服务提供设备。例如,服务器可以选择服务提供设备版本号最高的服务提供设备,并将选择的服务提供设备版本号最高的服务提供设备分配给客户端;由于服务提供设备版本号最高的服务提供设备中成功更新安装所有应用,故可以满足客户端的各类需求。In the preferred embodiment, the server may determine the application information to be updated according to the installed application in the service providing device, and then notify the service providing device to update the application according to the application information to be updated, and determine that the application in the service providing device is successful. After the update, the service providing device version number is reallocated for the service providing device after the successful update; thus, the server can allocate the service providing device to the client according to the updated service providing device version number. For example, the server may select the service providing device with the highest device version number of the service providing device, and assign the selected service providing device with the highest service version number to the client; the service providing device with the highest version number of the service providing device is successfully updated and installed. All applications can meet the various needs of the client.
其中,服务器根据服务提供设备中已安装的应用确定待更新应用信息的过程具体可以包括:接收服务提供设备上报的所述已安装应用列表;从由所述服务器维护的多个应用列表中,获取所述设定应用列表;其中,所述设定应用列表对应的应用列表版本号不小于由所述服务器维护的其他应用列表的应用列表版本号;根据所述已安装应用列表与设定应用列表的比较结果,确定所述待更新应用信息;其中,所述已安装应用列表中具体可以包括服务提供设备中已安装的全部应用的应用信息;所述设定应用列表中具体可以包括:当前时刻已更新的所有应用的应用信息。The process of determining, by the server, the application information to be updated according to the installed application in the service providing device may include: receiving the installed application list reported by the service providing device; obtaining, from a plurality of application lists maintained by the server Setting the application list; wherein the application list version number corresponding to the setting application list is not less than an application list version number of other application lists maintained by the server; according to the installed application list and the setting application list And the application information of the application that is installed in the service providing device may be specifically included in the list of the installed applications; the setting application list may specifically include: the current time App information for all apps that have been updated.
本领域技术人员应当明了的是,上述设定应用列表是不断更新的,每次更新之后,设定应用列表的应用列表版本号也随之更新,常用的应用列表版本号的更新方式是,当前应用列表版本号在前一应用列表版本号的基础上计数加一,当然不仅限于此。服务器可以将维护前的设定应用列表删除,仅保留维护后的设定应用列表;当然,为了适用于实际应用中可能存在的多种情况,服务器中也可以对多个版本的设定应用列表均进行保存,以根据不同的调用请求进行调用,例如,用户若请求安装旧版本的应用A(相对于应用的当前最新版本而言),则所述服务器可以调用保存的对应所述旧版本的应用A的旧版本的应用列表进行所述旧版本的应用A的安装。It should be apparent to those skilled in the art that the above-mentioned setting application list is continuously updated. After each update, the application list version number of the application list is also updated, and the commonly used application list version number is updated. The application list version number is incremented by one on the basis of the previous application list version number, and is of course not limited thereto. The server can delete the list of settings before maintenance, and only keep the list of settings after maintenance; of course, in order to be applicable to various situations that may exist in the actual application, the server can also apply the list of settings for multiple versions. Both are saved to be called according to different invocation requests. For example, if the user requests to install an old version of the application A (relative to the current latest version of the application), the server may call the saved corresponding to the old version. The installation of the old version of the application A is performed by applying the old version of the application list of A.
这里需要说明的是,本实施例所述的版本号(包括:应用列表版本号、服务提供设备版本号等)的高低是相对于应用列表或服务提供设备的更新时间而言,并不仅限于版 本号文字意义上的大小。例如,2015.2.1日第二次更新后的服务提供设备的服务提供设备版本号,可以认为是高于2015.2.1日第一次更新后的服务提供设备的服务提供设备版本号。It should be noted that the version number (including the application list version number, the service providing device version number, and the like) described in this embodiment is relative to the application list or the update time of the service providing device, and is not limited to the version. The size of this letter in the sense of size. For example, the service providing device version number of the service providing device after the second update on 2015.2.1 may be considered to be higher than the service providing device version number of the service providing device after the first update on 2015.2.1.
在本申请的一种优选实施例中,所述远程管理模块604,还可用于向所述服务器上报自身的状态,其中,上述状态具体可以包括:空闲状态和忙碌状态等,其中,在连接客户端的情况下,服务提供设备的状态可以为忙碌状态,在与客户端断开连接后,服务提供设备的状态可以更新为空闲状态,上报的上述空闲状态和忙碌状态可以作为上述服务器为客户端分配服务提供设备的有效依据。In a preferred embodiment of the present application, the remote management module 604 is further configured to report the status of the server to the server, where the status may include: an idle state, a busy state, and the like, where the client is connected. In the case of the terminal, the state of the service providing device may be a busy state. After disconnecting from the client, the state of the service providing device may be updated to an idle state, and the reported idle state and busy state may be allocated as the server for the foregoing server. An effective basis for service delivery equipment.
在本申请的另一种优选实施例中,上述状态还可以包括休眠状态,这样,在为客户端分配服务提供设备时,上述服务器可以首先将处于休眠状态的服务提供设备唤醒,然后将其分配给对应的客户端。In another preferred embodiment of the present application, the foregoing state may further include a dormant state, such that when the service providing device is allocated to the client, the server may first wake up the service providing device in the dormant state, and then allocate the device. Give the corresponding client.
实施例七Example 7
参照图7,示出了本申请的一种服务提供设备实施例七的结构框图,具体可以包括如下模块:Referring to FIG. 7, a structural block diagram of Embodiment 7 of a service providing device of the present application is shown, which may specifically include the following modules:
连接模块701,用于在与客户端建立加密连接后生成虚拟输入设备;The connection module 701 is configured to generate a virtual input device after establishing an encrypted connection with the client;
界面编码模块702,用于对用户界面进行编码;An interface encoding module 702, configured to encode a user interface;
流处理模块703,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;及The stream processing module 703 is configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client; and
消息处理模块704,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;The message processing module 704 is configured to receive an input message from the client, and perform corresponding message processing according to the input message. The message processing may include: updating the user interface;
其中,所述消息处理模块704,具体可以包括:The message processing module 704 may specifically include:
解密子模块741,用于接收所述客户端发送的加密的输入消息,对所述加密的输入消息进行解密;及The decryption sub-module 741 is configured to receive an encrypted input message sent by the client, and decrypt the encrypted input message; and
虚拟响应子模块742,用于将解密的输入消息写入所述虚拟输入设备,由所述虚拟输入设备对所述输入消息对应输入事件进行分发,得到所述输入消息的响应信息。The virtual response sub-module 742 is configured to write the decrypted input message to the virtual input device, and the virtual input device distributes the input event corresponding to the input message to obtain response information of the input message.
相对于实施例一,本实施例中,服务提供设备可以与客户端建立加密连接以保证数据传输的安全性,而后生成虚拟输入设备以模拟各种硬件的输入消息,并且服务提供设备在接收客户端发送的加密的输入消息后,对所述加密的输入消息进行解密,然后将解密的输入消息写入所述虚拟输入设备,由所述虚拟输入设备对所述输入消息对应输入事 件进行分发以响应所述输入消息并将响应信息反馈给客户端,可扩展性较高,处理过程比较简单,且能够通过服务提供设备实现快速、安全的对于输入消息的响应。Compared with the first embodiment, in this embodiment, the service providing device can establish an encrypted connection with the client to ensure the security of data transmission, and then generate a virtual input device to simulate input messages of various hardware, and the service providing device receives the client. After the encrypted input message is sent, the encrypted input message is decrypted, and then the decrypted input message is written into the virtual input device, and the virtual input device inputs the input message to the input message. The distribution is performed in response to the input message and the response information is fed back to the client, which is more scalable, simpler in processing, and capable of achieving a fast and secure response to the input message through the service providing device.
连接模块701 Connection module 701
在具体实现中,服务提供设备可以通过SSL(安全套接层,Secure Sockets Layer)等方式与客户端建立加密连接,从而通过两者之间的加密通道传输数据,保证数据传输的安全性。In a specific implementation, the service providing device can establish an encrypted connection with the client through SSL (Secure Sockets Layer), etc., thereby transmitting data through an encrypted channel between the two to ensure data transmission security.
本实施例中服务提供设备在与客户端建立加密连接后,可以预先在用户空间虚拟一输入设备,通过该虚拟输入设备模拟硬件的输入消息,在系统注入用户的输入消息对应输入事件并进行分发,从而实现服务提供设备对输入消息的响应。In this embodiment, after establishing an encrypted connection with the client, the service providing device may virtualize an input device in the user space in advance, and simulate the input message of the hardware through the virtual input device, and input the event input and distribute the input message of the user in the system. , thereby implementing the response of the service providing device to the input message.
在本申请的一种应用示例中,连接模块701可以在启动后对端口进行监听,从所述端口接收信号与所述客户端建立加密的长连接,并在所述加密的长连接建立成功后,在用户空间内生成虚拟输入设备。In an application example of the present application, the connection module 701 can listen to the port after startup, receive a signal from the port to establish an encrypted long connection with the client, and after the encrypted long connection is successfully established. , generating a virtual input device in the user space.
服务提供设备在启动后会启动SSL Socket Server监听指定端口,从该端口接收连接信号与该客户端建立长连接。在长连接建立成功后,服务提供设备在用户空间内生成虚拟输入设备。例如,采用Uinput虚拟一个输入设备/dev/input/Ali-vinput。其中,SSL Socket Server为服务提供设备用来接收加密输入信号的服务器应用。Uinput是linux用来实现用户空间输入设备的内核接口,利用它可以在用户空间虚拟输入设备,向系统中注入输入事件。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.
例如,可以采用如下方法创建虚拟输入设备:以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)为数据大小。For example, you can create a virtual input device by using the Android system as an example. Open (dev/uinput, O_WRONLY|O_NONBLOCK) to open the /dev/uinput device to get fd; then use ioctl(fd, UI_SET_EVBIT, EV_XXX) Add event types, including synchronization events, keyboard events, mouse events, touch events, etc.; register acceptable event values, including keyboard key values, mouse and touch event x and y coordinates, etc.; initialize uinput_user_dev type variable uidev, This variable holds the basic information of the device to be virtualized, including the device name and bus type; write the device information to be virtualized to the /dev/uinput device using write(fd,&uidev,sizeof(uidev)); use ioctl(fd, UI_DEV_CREATE) Generates a virtual device. Wherein, fd refers to a file descriptor, and the device can be operated in the case of acquiring a file descriptor of the device. In this embodiment, 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. Write function 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.
解密子模块741 Decryption sub-module 741
上述输入消息可以为通过遥控器、鼠标、键盘等输入装置输入的消息;解密子模块741所进行解密处理的主要目的是从加密的输入消息中恢复出原始的输入消息。The above input message may be a message input through an input device such as a remote controller, a mouse, a keyboard, etc.; the main purpose of the decryption process performed by the decryption sub-module 741 is to recover the original input message from the encrypted input message.
在本申请的一个优选实施例中,对所述加密的输入消息进行解密的过程具体可以包括:对所述加密的输入消息进行对称解密或非对称解密,获取解密的二进制输入消息或解密的键值信息。其中,服务提供设备解密后得到的输入消息可以存在多种类型,如为指定系统的标准输入消息,又如为映射后的键值信息等,可以依据具体需求设定,或者依据需求对解密后的输入消息进行转换,得到所需的输入信息。In a preferred embodiment of the present application, the process of decrypting the encrypted input message may specifically include performing symmetric decryption or asymmetric decryption on the encrypted input message to obtain a decrypted binary input message or a decrypted key. Value information. The input message obtained by the service providing device after decryption may exist in multiple types, such as a standard input message for the specified system, and the mapped key value information, etc., may be set according to specific requirements, or may be decrypted according to requirements. The input message is converted to get the required input information.
虚拟响应子模块742 Virtual response sub-module 742
在本申请的一种应用示例中,虚拟响应子模块742可以将输入事件分发给系统或应用等进行处理,从而对输入消息进行响应,如依据所述输入事件对用户界面进行更新等等,以实现对输入消息的快速响应。In an application example of the present application, the virtual response sub-module 742 may distribute the input event to a system or an application or the like for processing, thereby responding to the input message, such as updating the user interface according to the input event, etc., Achieve quick response to incoming messages.
在本申请的另一个优选实施例中,在对所述加密的输入消息进行解密之后,还可以按照预置规则将所述解密的输入消息映射成相应的键值信息;所述虚拟输入设备确定所述解密的输入消息对应的输入事件,具体可以包括:所述虚拟输入设备查找所述键值信息对应的输入事件。In another preferred embodiment of the present application, after decrypting the encrypted input message, the decrypted input message may also be mapped into corresponding key value information according to a preset rule; the virtual input device determines The input event corresponding to the decrypted input message may specifically include: the virtual input device searching for an input event corresponding to the key value information.
本实施例中,对于解密的输入消息可能是数字信息,此时可以将该数字信息预设的映射表将其映射成相应的键值信息,如按照预置协议将数字信息反Map成键值信息。当输入消息表现为键值信息的形式时,虚拟输入设备可以查找所述键值信息对应的输入事件,而后对输入事件进行分发。In this embodiment, the decrypted input message may be digital information. In this case, the mapping table preset by the digital information may be mapped into corresponding key value information, such as inverse mapping of the digital information into a key value according to a preset protocol. information. When the input message appears in the form of key value information, the virtual input device can look up the input event corresponding to the key value information and then distribute the input event.
以安卓系统为例,一种虚拟输入设备对输入消息的处理过程具体可以包括:Taking the Android system as an example, a process of processing an input message by a virtual input device may specifically include:
1、硬件抽象层(Hardware Abstraction Layer,HAL)的EventHub通过epoll机制监听/dev/input/目录下的所有设备文件描述符的变化,一旦有输入事件写入设备,EventHub就能读取到该事件;1. The Hardware Abstraction Layer (HAL) EventHub listens to changes in all device file descriptors in the /dev/input/ directory through the epoll mechanism. Once an input event is written to the device, EventHub can read the event. ;
2、Framework层的InputReader从EventHub读入原始输入事件后转化为android平台的输入事件,再将输入事件传递给InputDispatcher;2. 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;
3、InputDispatcher根据输入事件以及场景的不同将事件分发给上层应用或系统,例如Home键和Power键会交由系统处理而不是上层应用,方向键等会交由应用处理。3. 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.
本实施例中,由于客户端显示的用户界面是依据服务提供设备发送的TS流解析显 示的,因而用户对用户界面的控制,如选择某一功能,或者在其中安装APP等控制操作,看似是在客户端侧执行的,实际上均是将输入信息发送给服务提供设备,由服务提供设备执行相应的消息处理并反馈响应的TS流。In this embodiment, the user interface displayed by the client is parsed according to the TS stream sent by the service providing device. As shown, the user's control of the user interface, such as selecting a function, or installing an application such as an APP therein, appears to be performed on the client side, and actually sends the input information to the service providing device. The service providing device performs corresponding message processing and feeds back the responding TS stream.
在本申请的另一优选实施例中,将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,具体可以包括:将所述输入事件分发给上层应用或操作系统;所述上层应用或操作系统获取响应于所述输入事件的用户界面;将所述用户界面编码生成对应的TS流作为响应信息,以在所述客户端显示响应于输入消息的用户界面。In another preferred embodiment of the present application, the input event is distributed to an upper layer application or an operating system for response processing, and the corresponding response information is generated, which may include: distributing the input event to an upper layer application or an operating system; The upper layer application or operating system acquires a user interface responsive to the input event; encoding the user interface to generate a corresponding TS stream as response information to display a user interface responsive to the input message at the client.
针对输入消息对应输入事件,虚拟输入设备会将该输入事件分发给对应的上层应用或操作系统,而后上层应用或操作系统获取响应于所述输入事件的用户界面,例如输入事件为选择某一功能,则用户界面可以为该功能对应的用户界面;又如输入事件为安装一APP,则用户界面为该APP安装过程及安装完成对应的用户界面等等。The virtual input device may distribute the input event to the corresponding upper application or operating system, and then the upper application or the operating system acquires a user interface responsive to the input event, for example, inputting an event to select a certain function. The user interface may be a user interface corresponding to the function; and if the input event is to install an APP, the user interface is the user installation interface and the corresponding user interface of the installation completion.
为使本领域技术人员更好地理解本申请,下面结合服务提供设备和客户端的交互流程说明上述对输入消息进行响应的过程。In order to enable the person skilled in the art to better understand the present application, the above process of responding to an input message is described below in conjunction with the interaction process of the service providing device and the client.
1、对指定操作系统的标准输入消息的传输。1. Transmission of standard input messages to a specified operating system.
本实施例中,客户端可以解析TS流和显示对应的用户界面,并且发送指定操作系统的标准控制消息到服务提供设备,由服务提供设备对该标准控制消息进行响应处理。In this embodiment, the client may parse the TS stream and display the corresponding user interface, and send a standard control message of the specified operating system to the service providing device, and the service providing device responds to the standard control message.
参照图8,示出了本申请的一种客户端和服务提供设备间通信方法的流程图,具体可以包括:Referring to FIG. 8, a flowchart of a method for communication between a client and a service providing device according to the present application is shown, which may specifically include:
8.02、客户端在启动后与服务提供设备建立加密连接;8.02, the client establishes an encrypted connection with the service providing device after startup;
8.04、服务提供设备生成虚拟输入设备;8.04. The service providing device generates a virtual input device;
8.06、客户端接收原始消息;8.06, the client receives the original message;
8.08、客户端映射得到指定系统的标准输入消息;8.08, the client mapping obtains the standard input message of the specified system;
8.10、客户端将所述指定系统的标准输入消息进行二进制化处理,得到二进制的输入消息;8.10. The client binarizes the standard input message of the specified system to obtain a binary input message.
8.12、客户端将所述二进制的输入消息进行加密处理,得到加密的输入消息;8.12. The client encrypts the binary input message to obtain an encrypted input message.
8.14、客户端将加密的输入消息发送给所述服务提供设备;8.14. The client sends the encrypted input message to the service providing device.
8.16、服务提供设备对所述加密的输入消息进行解密,获取解密的二进制输入消息;8.16. The service providing device decrypts the encrypted input message to obtain a decrypted binary input message.
8.18、服务提供设备将解密的输入消息写入所述虚拟输入设备;8.18. The service providing device writes the decrypted input message to the virtual input device.
8.20、服务提供设备的虚拟输入设备确定所述解密的输入消息对应的输入事件;8.20. The virtual input device of the service providing device determines an input event corresponding to the decrypted input message;
8.22、服务提供设备的虚拟输入设备将所述输入事件分发给上层应用或操作系统进 行响应处理,生成对应的响应信息,包括响应的TS流;8.22. The virtual input device of the service providing device distributes the input event to an upper application or an operating system. Line response processing, generating corresponding response information, including the TS stream of the response;
8.24、服务提供设备将响应的TS流反馈给客户端;8.24. The service providing device feeds back the responding TS stream to the client;
8.26、客户端对响应的TS流进行解析,显示响应于所述输入消息的用户界面。8.26. The client parses the responding TS stream and displays a user interface responsive to the input message.
2、键值信息作为输入消息的传输。2. Key value information is used as the transmission of the input message.
参照图9,示出了本申请的另一种客户端和服务提供设备间通信方法的流程图。Referring to FIG. 9, a flow chart of another method of communication between a client and a service providing device of the present application is shown.
9.02、客户端在启动后与服务提供设备建立加密连接;9.02. The client establishes an encrypted connection with the service providing device after startup;
9.04、服务提供设备生成虚拟输入设备;9.04. The service providing device generates a virtual input device;
9.06、客户端接收原始消息;9.06, the client receives the original message;
9.08、客户端确定所述原始消息对应的键值信息;9.08. The client determines key value information corresponding to the original message.
9.10、客户端将所述键值信息映射成数字信息作为输入消息;9.10. The client maps the key value information into digital information as an input message.
9.12、客户端将所述键值信息进行加密处理,得到加密的输入消息;9.12. The client encrypts the key value information to obtain an encrypted input message.
9.14、客户端将加密的输入消息发送给所述服务提供设备;9.14. The client sends the encrypted input message to the service providing device.
9.16、服务提供设备对所述加密的输入消息进行解密,获取解密的数字信息;9.16. The service providing device decrypts the encrypted input message to obtain decrypted digital information.
9.18、服务提供设备将解密的数字信息映射成键值信息;9.18. The service providing device maps the decrypted digital information into key value information;
9.20、服务提供设备将键值信息写入所述虚拟输入设备;9.20. The service providing device writes key value information to the virtual input device.
9.22、服务提供设备的虚拟输入设备确定所述键值信息对应的输入事件;9.22. The virtual input device of the service providing device determines an input event corresponding to the key value information;
9.24、服务提供设备的虚拟输入设备将所述输入事件分发给上层应用或操作系统进行响应处理,生成对应的响应信息,包括响应的TS流;9.24. 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;
9.26、服务提供设备将响应的TS流反馈给客户端;9.26. The service providing device feeds back the responding TS stream to the client;
9.28、客户端对响应的TS流进行解析,显示响应于所述输入消息的UI界面。9.28. The client parses the responding TS stream and displays a UI interface responsive to the input message.
本实施例中,服务提供设备的用户界面可以为关于所有或部分已安装应用的用户界面。In this embodiment, the user interface of the service providing device may be a user interface regarding all or part of the installed applications.
以用户在客户端中安装APP为例,用户通过输入设备发出对客户端显示的用户界面中的某一APP的安装指令后,客户端会获取该安装指令对应原始消息通过映射、加密等生成加密的输入消息发送给服务提供设备,服务提供设备对输入消息界面、映射等处理后,响应于该输入消息获取该APP的数据在服务提供设备端安装并记录相应的APP信息,并将安装过程以及安装完成对应UI界面的TS流作为响应信息反馈给客户端进行显示。For example, after the user installs the APP in the client, after the user sends an installation instruction to an APP in the user interface displayed by the client, the client obtains the original message corresponding to the installation instruction and generates encryption through mapping, encryption, and the like. The input message is sent to the service providing device, and after the service providing device processes the input message interface, mapping, etc., the data of the APP is acquired in response to the input message, and the corresponding APP information is installed and recorded on the service providing device, and the installation process and the The TS stream corresponding to the UI interface is installed and sent back to the client for display.
又如用户通过外置设备选择开启已安装的某一游戏APP后,将对应加密的输入消息发送给服务提供设备后,服务提供设备响应于该输入消息会获取启动进入APP相应的UI缓存生成TS流作为响应信息发送给客户端显示,后续对于客户端发送的各种控制数据, 服务提供设备也会发送响应控制数据的UI缓存对应TS流,客户端显示响应于用户控制的UI界面。For example, after the user selects and opens an installed game app through the external device, and sends the corresponding encrypted input message to the service providing device, the service providing device obtains the UI cache generated by the corresponding APP in response to the input message to generate the TS. The stream is sent as a response message to the client for display, and subsequent to the various control data sent by the client, The service providing device also sends a UI cache corresponding to the TS stream in response to the control data, and the client displays a UI interface responsive to the user control.
因而,本申请的智能电视系统可以预先购买游戏、视频等付费资源的应用,并安装在服务提供设备中,由服务提供设备向客户端提供这些付费资源的服务,从而用户可以通过客户端免费试用这些付费资源。Therefore, the smart television system of the present application can pre-purchase an application of a paid resource such as a game or a video, and install it in the service providing device, and the service providing device provides the service of the paid resource to the client, so that the user can freely try the client through the client. These paid resources.
方法实施例Method embodiment
参照图10,示出了本申请的一种应用于服务提供设备的数据处理方法实施例一的步骤流程图,具体可以包括如下步骤:Referring to FIG. 10, a flow chart of the steps of the first embodiment of the data processing method applied to the service providing device of the present application is shown, which may specifically include the following steps:
步骤1001、对用户界面进行编码;Step 1001: encoding a user interface;
步骤1002、依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;Step 1002: Generate a corresponding transport stream according to the coding result of the user interface, and push the transport stream to the connected client.
步骤1003、接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新。Step 1003: Receive an input message from the client, and perform corresponding message processing according to the input message. The message processing may include: updating the user interface.
本实施例中,服务提供设备可以向所连接的客户端推送用户界面对应的传输流,这使得客户端可以对依据所述传输流解析得到的用户界面进行显示;并且,服务提供设备还可以接收来自所述客户端的、用户通过遥控器、鼠标等输入装置产生的输入消息,并依据所述输入消息对服务提供设备的用户界面进行更新;由于服务提供设备负责当前输入信息对应用户界面的获取,而客户端仅仅负责传输流的解析和用户界面的显示,因此,本实施例可以通过服务提供设备直接为客户端提供智能电视服务,这降低了对于机顶盒的性能要求,因此减少了对于机顶盒的维护操作,降低了智能电视服务对硬件资源的要求,同时节约了用户购买或更新机顶盒所花费的成本。In this embodiment, the service providing device may push the transport stream corresponding to the user interface to the connected client, so that the client may display the user interface that is parsed according to the transport stream; and the service providing device may also receive An input message generated by the user from the input device of the user through a remote controller, a mouse, or the like, and updating the user interface of the service providing device according to the input message; since the service providing device is responsible for obtaining the current input information corresponding to the user interface, The client is only responsible for the resolution of the transport stream and the display of the user interface. Therefore, the present embodiment can directly provide the smart TV service to the client through the service providing device, which reduces the performance requirement for the set top box, thereby reducing the maintenance of the set top box. The operation reduces the hardware resource requirements of the smart TV service and saves the cost for the user to purchase or update the set top box.
在本申请的一种优选实施例中,所述方法还可以包括:依据所述客户端的多媒体播放请求获取相应的多媒体播放信息,并将所述多媒体播放信息反馈给所述客户端。本优选实施例中,服务提供设备采用TS流的形式向客户端推送用户界面,而向客户端发送多媒体播放信息使得客户端依据该多媒体播放信息获取对应的多媒体资源,对于客户端而言,由于采用不同的方式获取用户界面和多媒体资源,因此能够避免用户界面和多媒体资源的冲突,从而能够保证用户界面的显示质量和多媒体资源的播放质量。In a preferred embodiment of the present application, the method may further include: acquiring corresponding multimedia play information according to the multimedia play request of the client, and feeding back the multimedia play information to the client. In the preferred embodiment, the service providing device pushes the user interface to the client in the form of a TS stream, and sends the multimedia play information to the client, so that the client obtains the corresponding multimedia resource according to the multimedia play information. The user interface and multimedia resources are obtained in different ways, so that conflicts between the user interface and the multimedia resources can be avoided, thereby ensuring the display quality of the user interface and the playback quality of the multimedia resources.
参照图11,示出了本申请的一种应用于服务提供设备的数据处理方法实施例二的步 骤流程图,具体可以包括如下步骤:Referring to FIG. 11, a step of the second embodiment of the data processing method applied to the service providing device of the present application is shown. The flow chart may specifically include the following steps:
步骤1101、对用户界面进行编码;Step 1101: encoding a user interface;
步骤1102、依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;Step 1102: Generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
步骤1103、接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;Step 1103: Receive an input message from the client, and perform corresponding message processing according to the input message. The message processing may include: updating the user interface;
步骤1104、将所述客户端的登录用户对应的用户分区挂载到本地,并将所述登录用户产生的用户数据写入挂载后的用户分区。Step 1104: Mount the user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition.
本实施例可以采用与用户对应的用户分区来专门存储用户产生的用户数据,这些用户分区独立于服务提供设备的存储空间,对于每个用户分区而言,在其对应用户登录后可以被挂载到服务提供设备之上,而在其对应用户未登录时其可以与服务提供设备不具备挂载关系;由于每个用户分区可以与用户对应,这样,无论用户通过客户端连接了哪个服务提供设备,连接的该个服务提供设备均可采用该用户对应的用户分区来存储该用户采用的用户数据,也即该用户分区可以存储该用户产生的所有历史数据,从而能够满足该用户对于所有历史数据的访问需求。In this embodiment, the user partition corresponding to the user may be used to specifically store the user data generated by the user. The user partitions are independent of the storage space of the service providing device. For each user partition, the corresponding user may be mounted after logging in. It is above the service providing device, and it can not have a mounting relationship with the service providing device when its corresponding user is not logged in; since each user partition can correspond to the user, so that no matter which service providing device is connected by the user through the client The connected service providing device may use the user partition corresponding to the user to store the user data used by the user, that is, the user partition may store all historical data generated by the user, thereby satisfying the user for all historical data. Access requirements.
在本申请的一种优选实施例中,所述方法还可以包括:检测挂载后的用户分区中是否存在已安装应用的数据文件;在所述挂载后的用户分区中不存在所述已安装应用的数据文件时,将所述已安装应用的数据文件写入所述挂载后的用户分区。上述检测挂载后的用户分区和将所述已安装应用的数据文件写入所述挂载后的用户分区的操作,能够实现用户分区中应用的数据文件与服务提供设备中应用的一致性,能够确保挂载后的用户分区中存在服务提供设备中所有已安装应用的数据文件,而某已安装应用的数据文件可用于存储用户在使用该已安装应用过程中产生的用户数据,因此,本优选实施例可以满足采用用户分区存储用户在使用每个应用程序过程中产生的用户数据的需求。In a preferred embodiment of the present application, the method may further include: detecting whether a data file of the installed application exists in the mounted user partition; and the existing user partition does not exist in the mounted user partition. When the application's data file is installed, the data file of the installed application is written to the mounted user partition. The foregoing detecting the mounted user partition and writing the data file of the installed application to the mounted user partition can achieve consistency between the data file applied in the user partition and the application in the service providing device. It can ensure that the data files of all installed applications in the service providing device exist in the user partition after the mounting, and the data file of an installed application can be used to store the user data generated by the user during the use of the installed application, therefore, The preferred embodiment can satisfy the need to use user partitions to store user data generated by the user during use of each application.
在本申请的另一种优选实施例中,所述方法还可以包括:所述方法还包括:检测挂载后的用户分区中是否存在已卸载应用的数据文件;在所述挂载后的用户分区中存在所述已卸载应用的数据文件时,删除所述挂载后的用户分区中所述已卸载应用的数据文件。上述检测挂载后的用户分区和删除所述挂载后的用户分区中所述已卸载应用的数据文件的操作,能够实现用户分区中应用的数据文件与服务提供设备中应用的一致性,能够确保挂载后的用户分区中不存在服务提供设备中已卸载应用的数据文件,因此,本优选实施例可以在节省用户分区的存储空间的前提下,满足采用用户分区存储用户在使用 每个应用程序过程中产生的用户数据的需求。In another preferred embodiment of the present application, the method may further include: detecting whether a data file of the uninstalled application exists in the mounted user partition; and the user after the mounting When the data file of the uninstalled application exists in the partition, the data file of the uninstalled application in the mounted user partition is deleted. The operation of detecting the mounted user partition and deleting the data file of the uninstalled application in the mounted user partition can achieve consistency between the data file applied in the user partition and the application in the service providing device, and can It is ensured that the data file of the uninstalled application in the service providing device does not exist in the user partition after the mounting. Therefore, the preferred embodiment can satisfy the use of the user partition storage user in the premise of saving the storage space of the user partition. The need for user data generated during each application process.
参照图12,示出了本申请的一种应用于服务提供设备的数据处理方法实施例三的步骤流程图,具体可以包括如下步骤:Referring to FIG. 12, a flow chart of the steps of the third embodiment of the data processing method applied to the service providing device of the present application is shown, which may specifically include the following steps:
步骤1201、对用户界面进行编码;Step 1201: encoding a user interface;
步骤1202、依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;Step 1202: Generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client.
步骤1203、接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新;Step 1203: Receive an input message from the client, and perform corresponding message processing according to the input message. The message processing may include: updating the user interface;
步骤1204、配合服务器完成所述服务器对于服务提供设备的远程管理。Step 1204: cooperate with the server to complete remote management of the service providing device by the server.
在具体实现中,所述服务器对服务提供设备的远程管理具体可以包括:所述服务器对服务提供设备的应用管理、所述服务器对服务提供设备的进程清理和所述服务器对服务提供设备的心跳管理中的至少一种。In a specific implementation, the remote management of the service providing device by the server may include: application management of the server to the service providing device, process cleaning of the server to the service providing device, and heartbeat of the server to the service providing device. At least one of management.
在本申请的一种优选实施例中,所述配合服务器完成所述服务器对于服务提供设备的远程管理的步骤具体可以为,利用守护进程,配合所述服务器完成所述服务器对于服务提供设备的远程管理。In a preferred embodiment of the present application, the step of the cooperation server completing the remote management of the service providing device by the server may specifically be: using a daemon process to complete the remote connection of the server to the service providing device by using the server management.
在本申请的另一种优选实施例中,所述服务器对服务提供设备的远程管理为所述服务器对服务提供设备的应用管理,则所述方法还可以包括:在接收到来自所述服务器的更新指令后,依据所述更新指令中携带的待更新应用信息更新服务提供设备中的应用;其中,所述待更新应用信息是由所述服务器依据所述服务提供设备中已安装的应用确定的。In another preferred embodiment of the present application, the remote management of the service providing device by the server is application management of the server to the service providing device, and the method may further include: receiving the from the server Updating the application in the service providing device according to the to-be-updated application information carried in the update instruction, where the application information to be updated is determined by the server according to the installed application in the service providing device .
参照图13,示出了本申请的一种应用于服务提供设备的数据处理方法实施例四的步骤流程图,具体可以包括如下步骤:Referring to FIG. 13, a flow chart of the steps of the fourth embodiment of the data processing method applied to the service providing device of the present application is shown, which may specifically include the following steps:
步骤1301、在与客户端建立加密连接后生成虚拟输入设备;Step 1301: Generate a virtual input device after establishing an encrypted connection with the client;
步骤1302、对用户界面进行编码;Step 1302: encode a user interface.
步骤1303、依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;Step 1303: Generate a corresponding transport stream according to the coding result of the user interface, and push the transport stream to the connected client.
步骤1304、接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理具体可以包括:对所述用户界面进行更新; Step 1304: Receive an input message from the client, and perform corresponding message processing according to the input message. The message processing may include: updating the user interface;
所述依据所述输入消息进行相应的消息处理的步骤1204具体可以包括:The step 1204 of performing the corresponding message processing according to the input message may specifically include:
步骤1341、接收所述客户端发送的加密的输入消息,对所述加密的输入消息进行解密;Step 1341: Receive an encrypted input message sent by the client, and decrypt the encrypted input message.
步骤1342、将解密的输入消息写入所述虚拟输入设备,由所述虚拟输入设备对所述输入消息对应输入事件进行分发,得到所述输入消息的响应信息。Step 1342: Write the decrypted input message to the virtual input device, and the virtual input device distributes the input event corresponding to the input message to obtain response information of the input message.
本实施例中,服务提供设备可以与客户端建立加密连接以保证数据传输的安全性,而后生成虚拟输入设备以模拟各种硬件的输入消息,并且服务提供设备在接收客户端发送的加密的输入消息后,对所述加密的输入消息进行解密,然后将解密的输入消息写入所述虚拟输入设备,由所述虚拟输入设备对所述输入消息对应输入事件进行分发以响应所述输入消息并将响应信息反馈给客户端,可扩展性较高,处理过程比较简单,且能够通过服务提供设备实现快速、安全的对于输入消息的响应。In this embodiment, the service providing device may establish an encrypted connection with the client to ensure the security of data transmission, and then generate a virtual input device to simulate input messages of various hardware, and the service providing device receives the encrypted input sent by the client. After the message, the encrypted input message is decrypted, and then the decrypted input message is written to the virtual input device, and the input message is distributed by the virtual input device in response to the input message and The response information is fed back to the client, which has high scalability, simple processing, and fast and secure response to input messages through the service providing device.
对于方法实施例而言,由于其与服务提供设备实施例基本相似,所以描述的比较简单,相关之处参见服务提供设备实施例的部分说明即可。For the method embodiment, since it is basically similar to the service providing device embodiment, the description is relatively simple, and the relevant parts can be referred to the description of the embodiment of the service providing device.
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。It should be noted that, for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations, but those skilled in the art should understand that the embodiments of the present application are not limited by the described action sequence, because In accordance with embodiments of the present application, certain steps may be performed in other sequences or concurrently. In the following, those skilled in the art should also understand that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required in the embodiments of the present application.
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。The various embodiments in the present specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments can be referred to each other.
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the embodiments of the present application can be provided as a method, apparatus, or computer program product. Therefore, the embodiments of the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software 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.
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永 久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被服务提供设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。In a typical configuration, 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. Memory is an example of a computer readable medium. Computer readable media includes both permanent and non-permanent Pervasive, removable, and non-removable media can be stored by any method or technique. 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 service providing device. As defined herein, 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 flowcharts and/or block diagrams of methods, terminal 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 terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device such that a series of operational steps are performed on the computer or other programmable terminal device to produce computer-implemented processing, such that the computer or other programmable terminal device The instructions executed above provide steps for implementing the functions specified in one or more blocks of the flowchart or in a block or blocks of the flowchart.
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。While a preferred embodiment of the embodiments of the present application has been described, those skilled in the art can make further changes and modifications to the embodiments once they are aware of the basic inventive concept. Therefore, the appended claims are intended to be interpreted as including all the modifications and the modifications
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何 其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。Finally, it should also be noted that in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities. There is any such actual relationship or order between operations. Moreover, the terms "including", "comprising" or any of them Other variations are intended to encompass non-exclusive inclusions, such that a process, method, article, or terminal device that comprises a plurality of elements includes not only those elements but also other elements not specifically listed or included The elements inherent in methods, articles, or terminal equipment. An element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that comprises the element, without further limitation.
以上对本申请所提供的一种服务提供设备、一种应用于服务提供设备的数据处理方法和一种智能电视系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。 The above provides a detailed description of a service providing device, a data processing method applied to the service providing device, and a smart television system provided by the present application. In this paper, a specific example is applied to implement the principle and implementation manner of the present application. It is to be noted that the description of the above embodiments is only for helping to understand the method of the present application and its core ideas; at the same time, for those of ordinary skill in the art, according to the idea of the present application, there will be changes in specific embodiments and applications. In the above, the contents of the present specification should not be construed as limiting the present application.

Claims (23)

  1. 一种服务提供设备,其特征在于,包括:A service providing device, comprising:
    界面编码模块,用于对用户界面进行编码;An interface coding module for encoding a user interface;
    流处理模块,用于依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;及a stream processing module, configured to generate a corresponding transport stream according to the encoded result of the user interface, and push the transport stream to the connected client; and
    消息处理模块,用于接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理包括:对所述用户界面进行更新。a message processing module, configured to receive an input message from the client, and perform corresponding message processing according to the input message; wherein the message processing comprises: updating the user interface.
  2. 根据权利要求1所述的服务提供设备,其特征在于,所述流处理模块,还用于依据所述客户端的多媒体播放请求获取相应的多媒体播放信息,并将所述多媒体播放信息反馈给所述客户端。The service providing device according to claim 1, wherein the stream processing module is further configured to acquire corresponding multimedia play information according to the multimedia play request of the client, and feed back the multimedia play information to the Client.
  3. 根据权利要求1所述的服务提供设备,其特征在于,所述服务提供设备还包括:The service providing device according to claim 1, wherein the service providing device further comprises:
    分区操作模块,用于将所述客户端的登录用户对应的用户分区挂载到本地,并将所述登录用户产生的用户数据写入挂载后的用户分区。The partition operation module is configured to mount the user partition corresponding to the login user of the client to the local, and write the user data generated by the login user to the mounted user partition.
  4. 根据权利要求3所述的服务提供设备,其特征在于,所述分区操作模块包括:The service providing device according to claim 3, wherein the partition operation module comprises:
    第一检测子模块,用于检测挂载后的用户分区中是否存在已安装应用的数据文件;The first detecting submodule is configured to detect whether a data file of the installed application exists in the user partition after the mounting;
    文件写入子模块,用于在所述挂载后的用户分区中不存在所述已安装应用的数据文件时,将所述已安装应用的数据文件写入所述挂载后的用户分区。And a file writing submodule, configured to write the data file of the installed application to the mounted user partition when the data file of the installed application does not exist in the mounted user partition.
  5. 根据权利要求3所述的服务提供设备,其特征在于,所述分区操作模块包括:The service providing device according to claim 3, wherein the partition operation module comprises:
    第二检测子模块,用于检测挂载后的用户分区中是否存在已卸载应用的数据文件;a second detecting submodule, configured to detect whether a data file of the uninstalled application exists in the user partition after the mounting;
    删除子模块,用于在所述挂载后的用户分区中存在所述已卸载应用的数据文件时,删除所述挂载后的用户分区中所述已卸载应用的数据文件。And deleting a sub-module, configured to delete the data file of the uninstalled application in the mounted user partition when the data file of the uninstalled application exists in the mounted user partition.
  6. 根据权利要求1所述的服务提供设备,其特征在于,所述服务提供设备还包括:The service providing device according to claim 1, wherein the service providing device further comprises:
    远程管理模块,用于配合服务器完成所述服务器对于服务提供设备的远程管理。The remote management module is configured to cooperate with the server to complete remote management of the service providing device by the server.
  7. 根据权利要求6所述的服务提供设备,其特征在于,所述服务器对服务提供设备的远程管理包括:所述服务器对服务提供设备的应用管理、所述服务器对服务提供设备的进程清理和所述服务器对服务提供设备的心跳管理中的至少一种。The service providing device according to claim 6, wherein the remote management of the service providing device by the server comprises: application management of the server by the server, process cleaning of the server by the server, and At least one of the server's heartbeat management of the service providing device.
  8. 根据权利要求7所述的服务提供设备,其特征在于,所述服务器对服务提供设备的远程管理为所述服务器对服务提供设备的应用管理,则所述远程管理模块包括:The service providing device according to claim 7, wherein the remote management of the service providing device by the server is the application management of the server to the service providing device, and the remote management module comprises:
    应用更新子模块,用于在接收到来自所述服务器的更新指令后,依据所述更新指令中携带的待更新应用信息更新服务提供设备中的应用;其中,所述待更新应用信息是由 所述服务器依据所述服务提供设备中已安装的应用确定的。An application update submodule, configured to: after receiving an update instruction from the server, update an application in the service providing device according to the to-be-updated application information carried in the update instruction; where the application information to be updated is The server is determined according to an installed application in the service providing device.
  9. 根据权利要求6或7所述的服务提供设备,其特征在于,所述远程管理模块,具体用于利用守护进程,配合所述服务器完成所述服务器对于服务提供设备的远程管理。The service providing device according to claim 6 or 7, wherein the remote management module is specifically configured to cooperate with the server to complete remote management of the service providing device by the server by using a daemon process.
  10. 根据权利要求1所述的服务提供设备,其特征在于,所述服务提供设备还包括:The service providing device according to claim 1, wherein the service providing device further comprises:
    连接模块,用于在与客户端建立加密连接后生成虚拟输入设备;a connection module, configured to generate a virtual input device after establishing an encrypted connection with the client;
    则所述消息处理模块,包括:The message processing module includes:
    解密子模块,用于接收所述客户端发送的加密的输入消息,对所述加密的输入消息进行解密;及a decryption submodule, configured to receive an encrypted input message sent by the client, and decrypt the encrypted input message; and
    虚拟响应子模块,用于将解密的输入消息写入所述虚拟输入设备,由所述虚拟输入设备对所述输入消息对应输入事件进行分发,得到所述输入消息的响应信息。a virtual response sub-module, configured to write the decrypted input message to the virtual input device, and the virtual input device distributes the input event corresponding to the input message to obtain response information of the input message.
  11. 一种应用于服务提供设备的数据处理方法,其特征在于,包括:A data processing method applied to a service providing device, comprising:
    对用户界面进行编码;Encoding the user interface;
    依据所述用户界面的编码结果生成对应的传输流,并向所连接的客户端推送所述传输流;Generating a corresponding transport stream according to the encoded result of the user interface, and pushing the transport stream to the connected client;
    接收来自所述客户端的输入消息,并依据所述输入消息进行相应的消息处理;其中,所述消息处理包括:对所述用户界面进行更新。Receiving an input message from the client, and performing corresponding message processing according to the input message; wherein the message processing comprises: updating the user interface.
  12. 根据权利要求11所述的方法,其特征在于,所述方法还包括:依据所述客户端的多媒体播放请求获取相应的多媒体播放信息,并将所述多媒体播放信息反馈给所述客户端。The method according to claim 11, wherein the method further comprises: acquiring corresponding multimedia play information according to the multimedia play request of the client, and feeding back the multimedia play information to the client.
  13. 根据权利要求11所述的方法,其特征在于,所述方法还包括:The method of claim 11 wherein the method further comprises:
    将所述客户端的登录用户对应的用户分区挂载到本地,并将所述登录用户产生的用户数据写入挂载后的用户分区。The user partition corresponding to the login user of the client is mounted locally, and the user data generated by the login user is written into the mounted user partition.
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:The method of claim 13 wherein the method further comprises:
    检测挂载后的用户分区中是否存在已安装应用的数据文件;Detect whether there is a data file of the installed application in the user partition after the mount;
    在所述挂载后的用户分区中不存在所述已安装应用的数据文件时,将所述已安装应用的数据文件写入所述挂载后的用户分区。When the data file of the installed application does not exist in the mounted user partition, the data file of the installed application is written into the mounted user partition.
  15. 根据权利要求13所述的方法,其特征在于,所述方法还包括: The method of claim 13 wherein the method further comprises:
    检测挂载后的用户分区中是否存在已卸载应用的数据文件;Detect whether there is a data file of the uninstalled application in the user partition after the mount;
    在所述挂载后的用户分区中存在所述已卸载应用的数据文件时,删除所述挂载后的用户分区中所述已卸载应用的数据文件。And deleting, when the data file of the uninstalled application exists in the mounted user partition, deleting the data file of the uninstalled application in the mounted user partition.
  16. 根据权利要求11所述的方法,其特征在于,所述方法还包括:The method of claim 11 wherein the method further comprises:
    配合服务器完成所述服务器对于服务提供设备的远程管理。The remote management of the service providing device by the server is completed in cooperation with the server.
  17. 根据权利要求16所述的方法,其特征在于,所述服务器对服务提供设备的远程管理包括:所述服务器对服务提供设备的应用管理、所述服务器对服务提供设备的进程清理和所述服务器对服务提供设备的心跳管理中的至少一种。The method according to claim 16, wherein the remote management of the service providing device by the server comprises: application management of the server by the server, process cleaning of the server to the service providing device, and the server At least one of heartbeat management of the service providing device.
  18. 根据权利要求17所述的方法,其特征在于,所述服务器对服务提供设备的远程管理为所述服务器对服务提供设备的应用管理,则所述方法还包括:The method according to claim 17, wherein the remote management of the service providing device by the server is the application management of the server to the service providing device, and the method further includes:
    在接收到来自所述服务器的更新指令后,依据所述更新指令中携带的待更新应用信息更新服务提供设备中的应用;其中,所述待更新应用信息是由所述服务器依据所述服务提供设备中已安装的应用确定的。After receiving the update instruction from the server, updating the application in the service providing device according to the to-be-updated application information carried in the update instruction; wherein the to-be-updated application information is provided by the server according to the service The application installed in the device is determined.
  19. 根据权利要求16或17所述的方法,其特征在于,所述配合服务器完成所述服务器对于服务提供设备的远程管理的步骤,包括:利用守护进程,配合所述服务器完成所述服务器对于服务提供设备的远程管理。The method according to claim 16 or 17, wherein the step of completing the remote management of the service providing device by the server comprises: using a daemon process, and completing the server to provide service for the server Remote management of the device.
  20. 根据权利要求11所述的方法,其特征在于,所述方法还包括:The method of claim 11 wherein the method further comprises:
    在与客户端建立加密连接后生成虚拟输入设备;Generating a virtual input device after establishing an encrypted connection with the client;
    则所述依据所述输入消息进行相应的消息处理的步骤,包括:Then, the step of performing corresponding message processing according to the input message includes:
    接收所述客户端发送的加密的输入消息,对所述加密的输入消息进行解密;Receiving an encrypted input message sent by the client, and decrypting the encrypted input message;
    将解密的输入消息写入所述虚拟输入设备,由所述虚拟输入设备对所述输入消息对应输入事件进行分发,得到所述输入消息的响应信息。Write the decrypted input message to the virtual input device, and the virtual input device distributes the input event corresponding to the input message to obtain response information of the input message.
  21. 一种智能电视系统,其特征在于,包括:前述权利要求1至10中任一所述的服务提供设备。A smart television system, comprising: the service providing device according to any one of claims 1 to 10.
  22. 根据权利要求21所述的系统,其特征在于,所述智能电视系统还包括:至少一个服务器和至少一个客户端;其中,所述服务器用于向所述客户端分配服务提供设备;所述客户端设置在智能电视中,所述服务提供设备设置在网络侧,用于通过网络为建立连接的客户端提供互联网服务。The system of claim 21, wherein the smart television system further comprises: at least one server and at least one client; 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.
  23. 根据权利要求22所述的系统,其特征在于,所述智能电视系统还包括:至少 一个用户数据信息存储设备;所述至少一个用户数据信息存储设备包括:至少一个用户分区;其中,所述至少一个用户分区分别用于存储不同客户端对应的用户数据。 The system of claim 22 wherein said smart television system further comprises: at least a 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.
PCT/CN2016/084629 2015-06-11 2016-06-03 Data processing method and device applicable to service-providing device WO2016197875A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510320190.X 2015-06-11
CN201510320190.XA CN106301865B (en) 2015-06-11 2015-06-11 Data processing method and device applied to service providing device

Publications (1)

Publication Number Publication Date
WO2016197875A1 true WO2016197875A1 (en) 2016-12-15

Family

ID=57503119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/084629 WO2016197875A1 (en) 2015-06-11 2016-06-03 Data processing method and device applicable to service-providing device

Country Status (2)

Country Link
CN (1) CN106301865B (en)
WO (1) WO2016197875A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296758A (en) * 2021-03-15 2021-08-24 上海爱数信息技术股份有限公司 Front-end component library construction method and device and storage medium
CN115097905A (en) * 2022-08-25 2022-09-23 中关村科学城城市大脑股份有限公司 Module detachable terminal device and module application installation method
CN115150642A (en) * 2021-03-31 2022-10-04 阿里巴巴新加坡控股有限公司 Communication method, server, electronic device, and storage medium

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200170B (en) * 2018-01-02 2020-01-03 武汉斗鱼网络科技有限公司 Message processing method and device and readable storage medium
CN108133151B (en) * 2018-02-08 2020-07-28 北京指掌易科技有限公司 File encryption device, file processing method and mobile terminal equipment
CN108833551A (en) * 2018-06-21 2018-11-16 中国联合网络通信集团有限公司 The operation method and server of virtual set-top box on cloud
CN111314799A (en) * 2018-12-11 2020-06-19 中兴通讯股份有限公司 Terminal system architecture, communication system, communication method, and storage medium
CN109977083B (en) * 2019-03-27 2021-04-06 深圳市瑞云科技有限公司 File transmission system based on file system hanging disc technology
CN110083417B (en) * 2019-04-04 2022-05-06 天津字节跳动科技有限公司 User interface response method and device
CN110248235B (en) * 2019-06-26 2022-06-17 深圳市轱辘车联数据技术有限公司 Software teaching method, device, terminal equipment and medium
CN112217850B (en) * 2019-07-11 2022-06-28 腾讯科技(深圳)有限公司 Remote control processing method, device, equipment, server and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918799A (en) * 2010-06-04 2013-02-06 三星电子株式会社 Remote user interface cooperative application
US20130040633A1 (en) * 2011-08-09 2013-02-14 Michael Leeder Methods, systems, and computer readable media for managing associations between users in multiple over-the-top service platforms
US20130160064A1 (en) * 2011-12-15 2013-06-20 Echostar Global B.V. Distributed System Architecture for Control of a Set Top Box
CN103269453A (en) * 2013-05-29 2013-08-28 河南有线电视网络集团有限公司 Set top box user interface updating method, front-end device and system and set top box
CN204013943U (en) * 2014-08-06 2014-12-10 哈尔滨工业大学深圳研究生院 A kind of device that carries out video intercepting and process on OTT box
CN104301800A (en) * 2014-09-30 2015-01-21 深圳市同洲电子股份有限公司 Cloud service achieving method, device and system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457567B (en) * 2010-11-08 2015-01-21 中标软件有限公司 Mirror image backup/recovery method and tool of web management mode
CN103516418B (en) * 2012-06-29 2016-06-08 深圳市快播科技有限公司 A kind of multimedia interaction communication system, method and the equipment of reception
CN103067785A (en) * 2012-12-25 2013-04-24 深圳国微技术有限公司 Achieving method of graph user interface and conditional access module
US10275128B2 (en) * 2013-03-15 2019-04-30 Activevideo Networks, Inc. Multiple-mode system and method for providing user selectable video content
CN104519386B (en) * 2013-09-27 2018-03-27 思科技术公司 Media request is realized by one-way set-top box
CN103605535B (en) * 2013-11-01 2018-07-27 Tcl集团股份有限公司 Intelligent display device operating method, system and intelligent display device, mobile device
CN103731508A (en) * 2014-01-23 2014-04-16 易桂先 Cloud-storage-based network hard disk device and management method thereof
CN103970590A (en) * 2014-05-15 2014-08-06 南京云思维软件科技有限公司 Dynamic virtual machine delivery method and system based on virtualization platform
CN104202417A (en) * 2014-09-16 2014-12-10 腾讯科技(深圳)有限公司 Cloud computing based information processing method, client, cloud server and cloud computing based information processing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102918799A (en) * 2010-06-04 2013-02-06 三星电子株式会社 Remote user interface cooperative application
US20130040633A1 (en) * 2011-08-09 2013-02-14 Michael Leeder Methods, systems, and computer readable media for managing associations between users in multiple over-the-top service platforms
US20130160064A1 (en) * 2011-12-15 2013-06-20 Echostar Global B.V. Distributed System Architecture for Control of a Set Top Box
CN103269453A (en) * 2013-05-29 2013-08-28 河南有线电视网络集团有限公司 Set top box user interface updating method, front-end device and system and set top box
CN204013943U (en) * 2014-08-06 2014-12-10 哈尔滨工业大学深圳研究生院 A kind of device that carries out video intercepting and process on OTT box
CN104301800A (en) * 2014-09-30 2015-01-21 深圳市同洲电子股份有限公司 Cloud service achieving method, device and system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296758A (en) * 2021-03-15 2021-08-24 上海爱数信息技术股份有限公司 Front-end component library construction method and device and storage medium
CN113296758B (en) * 2021-03-15 2022-11-25 上海爱数信息技术股份有限公司 Front-end component library construction method and device and storage medium
CN115150642A (en) * 2021-03-31 2022-10-04 阿里巴巴新加坡控股有限公司 Communication method, server, electronic device, and storage medium
CN115150642B (en) * 2021-03-31 2023-09-22 阿里巴巴新加坡控股有限公司 Communication method, server, electronic device, and storage medium
CN115097905A (en) * 2022-08-25 2022-09-23 中关村科学城城市大脑股份有限公司 Module detachable terminal device and module application installation method
CN115097905B (en) * 2022-08-25 2022-12-02 中关村科学城城市大脑股份有限公司 Module-detachable terminal device and module application installation method

Also Published As

Publication number Publication date
CN106301865A (en) 2017-01-04
CN106301865B (en) 2020-08-04

Similar Documents

Publication Publication Date Title
WO2016197875A1 (en) Data processing method and device applicable to service-providing device
US10298721B2 (en) Method and system to determine a work distribution model for an application deployed on a cloud
WO2016197862A1 (en) Data transmission method and apparatus, and intelligent television system
CN108881944B (en) Method and system for accelerating release of streaming media
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
US9386331B2 (en) Optimizing video clarity
EP2626808B1 (en) Drm service providing method and device
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
CN108449633B (en) Set top box cloud system based on NFV and service implementation method
WO2016197865A1 (en) Data transmission method and apparatus, and smart television system
WO2016202200A1 (en) Data verification method and apparatus, and smart television system
CN103002274A (en) Mobile multimedia real-time transcoding play system and method based on offline download
JP2011527479A (en) Proxy function
WO2015196590A1 (en) Method and apparatus for playing desktop cloud video
CA3145582C (en) Extension for targeted invalidation of cached assets
WO2016197863A1 (en) Client, smart television system, and corresponding data transmission method
WO2016062081A1 (en) System, device and method for implementing hls channel playback service, and storage medium
CN103607452A (en) Method, device and system for acquiring virtual machine terminal data
US9807450B2 (en) Apparatus and method for media play in home network
US20190069016A1 (en) System and method for storing multimedia files using an archive file format
US20220086253A1 (en) Configurable access-based cache policy control
WO2016202202A1 (en) Device connection method and apparatus, and smart television system
WO2012041039A1 (en) Method, correlative equipment and system for digital tv terminal accessing internet video
WO2016165596A1 (en) Multimedia file control method and system
CN103729766A (en) Group television operation service platform

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: 16806773

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: 16806773

Country of ref document: EP

Kind code of ref document: A1