CN111654753B - Application program starting method and display device - Google Patents

Application program starting method and display device Download PDF

Info

Publication number
CN111654753B
CN111654753B CN202010443712.6A CN202010443712A CN111654753B CN 111654753 B CN111654753 B CN 111654753B CN 202010443712 A CN202010443712 A CN 202010443712A CN 111654753 B CN111654753 B CN 111654753B
Authority
CN
China
Prior art keywords
application
mobile terminal
target application
application program
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010443712.6A
Other languages
Chinese (zh)
Other versions
CN111654753A (en
Inventor
朱子鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vidaa Netherlands International Holdings BV
Original Assignee
Qingdao Hisense Media Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Hisense Media Network Technology Co Ltd filed Critical Qingdao Hisense Media Network Technology Co Ltd
Priority to CN202010443712.6A priority Critical patent/CN111654753B/en
Publication of CN111654753A publication Critical patent/CN111654753A/en
Application granted granted Critical
Publication of CN111654753B publication Critical patent/CN111654753B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • 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
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/4222Remote control device emulator integrated into a non-television apparatus, e.g. a PDA, media center or smart toy
    • 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
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data

Abstract

The application discloses an application program starting method and display equipment, which are used for accurately starting a target application to be started by a mobile terminal when an HTTP message from the mobile terminal is received. The display device includes: a display; a controller coupled to the display, the controller provided with a discover and launch DIAL server module to: receiving an HTTP message from a mobile terminal; analyzing a target application which needs to be started and controlled by the mobile terminal from the HTTP message; and if the target application is determined to be the legally controlled application of the mobile terminal, calling a target application module corresponding to the target application to process the target application.

Description

Application program starting method and display device
Technical Field
The present application relates to the field of communications technologies, and in particular, to an application starting method and a display device.
Background
Discovery and Launch (DIAL) protocol, which is used primarily to enable DIAL client devices within the same local area network to discover and Launch applications on DIAL server devices. Here, DIAL client devices are typically smaller screen devices, such as smartphones, tablets, etc.; DIAL server devices are typically larger screen devices such as televisions and the like.
After the DIAL client device discovers the DIAL server devices in the same lan based on the DIAL protocol, it may send application start instructions to the DIAL server devices in order to start the applications on the DIAL server devices, but at present, the DIAL protocol does not describe how the DIAL server devices specifically identify which application the application start instructions indicate which application to start.
Disclosure of Invention
The embodiment of the application program starting method and the display device are used for accurately starting a target application which needs to be started by a mobile terminal when an HTTP message from the mobile terminal is received.
In a first aspect, there is provided a display device comprising:
a display;
a controller coupled to the display, the controller provided with a discover and launch DIAL server module for:
receiving an HTTP message from a mobile terminal;
analyzing a target application which needs to be started and controlled by the mobile terminal from the HTTP message;
and if the target application is determined to be the legally controlled application of the mobile terminal, calling a target application module corresponding to the target application to process the target application.
In a second aspect, an application program starting method is provided, including:
receiving an HTTP message from a mobile terminal;
analyzing a target application which needs to be started and controlled by the mobile terminal from the HTTP message;
and if the target application is determined to be the legally controlled application of the mobile terminal, calling a target application module corresponding to the target application to process the target application.
In the above embodiment, the display device may analyze the HTTP message to determine the target application that the mobile terminal needs to start after receiving the HTTP message from the mobile terminal, and further start the target application; further, the display device can determine whether the target application is an application legally controlled by the mobile terminal, so that the target application is started under the condition that the target application is the application legally controlled by the mobile terminal.
Drawings
Fig. 1A is a schematic diagram illustrating an operation scenario between the display device 200 and the control apparatus 100;
fig. 1B is a block diagram schematically illustrating a configuration of the control apparatus 100 in fig. 1A;
fig. 1C is a block diagram schematically illustrating a configuration of the display device 200 in fig. 1A;
a block diagram of the architectural configuration of the operating system in the memory of the display device 200 is illustrated in fig. 1D.
2A-2C illustrate an interaction process of a mobile terminal and a display device based on DIAL protocol;
FIGS. 3A-3C are flow diagrams illustrating an application launch method;
a schematic diagram of the DIAL service side module is shown in fig. 4 by way of example.
Detailed Description
To make the objects, technical solutions and advantages of the exemplary embodiments of the present application clearer, the technical solutions in the exemplary embodiments of the present application will be clearly and completely described below with reference to the drawings in the exemplary embodiments of the present application, and it is obvious that the described exemplary embodiments are only a part of the embodiments of the present application, but not all the embodiments.
All other embodiments, which can be derived by a person skilled in the art from the exemplary embodiments shown in the present application without inventive effort, shall fall within the scope of protection of the present application. Moreover, while the disclosure herein has been presented in terms of exemplary one or more examples, it is to be understood that each aspect of the disclosure can be utilized independently and separately from other aspects of the disclosure to provide a complete disclosure.
The terms "comprises" and "comprising," and any variations thereof, as used herein, are intended to cover a non-exclusive inclusion, such that a product or device that comprises a list of elements is not necessarily limited to those elements explicitly listed, but may include other elements not expressly listed or inherent to such product or device.
The term "module," as used herein, refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and/or software code that is capable of performing the functionality associated with that element.
The term "gesture" as used in this application refers to a user's behavior through a change in hand shape or an action such as hand motion to convey a desired idea, action, purpose, or result.
The primary purpose of the present application is to enable the DIAL server device to parse the target application initiated as indicated by the HTTP request message from the DIAL client device and to initiate the target application. For the convenience of understanding of the present application, the structure of the display device and the control device, and the interaction between the display device and the control device will be described first with reference to fig. 1A to 1D:
fig. 1A is a schematic diagram illustrating an operation scenario between the display device 200 and the control apparatus 100. As shown in fig. 1A, the control apparatus 100 and the display device 200 may communicate with each other in a wired or wireless manner.
Among them, the control apparatus 100 is configured to control the display device 200, which may receive an operation instruction input by a user and convert the operation instruction into an instruction recognizable and responsive by the display device 200, serving as an intermediary for interaction between the user and the display device 200. Such as: the user operates the channel up/down key on the control device 100, and the display device 200 responds to the channel up/down operation.
The control device 100 may be a remote controller 100A, which includes infrared protocol communication or bluetooth protocol communication, and other short-distance communication methods, etc. to control the display apparatus 200 in a wireless or other wired manner. The user may input a user command through a key on a remote controller, a voice input, a control panel input, etc. to control the display apparatus 200. Such as: the user can input a corresponding control command through a volume up/down key, a channel control key, up/down/left/right moving keys, a voice input key, a menu key, a power on/off key, etc. on the remote controller, to implement the function of controlling the display device 200.
The control device 100 may also be an intelligent device, such as a mobile terminal 100B, a tablet computer, a notebook computer, and the like. For example, the display device 200 is controlled using an application program running on the smart device. The application program may provide various controls to a user through an intuitive User Interface (UI) on a screen associated with the smart device through configuration.
For example, the mobile terminal 100B may install a software application with the display device 200 to implement connection communication through a network communication protocol for the purpose of one-to-one control operation and data communication. Such as: the mobile terminal 100B may be caused to establish a control instruction protocol with the display device 200 to implement the functions of the physical keys as arranged in the remote control 100A by operating various function keys or virtual buttons of the user interface provided on the mobile terminal 100B. The audio and video content displayed on the mobile terminal 100B may also be transmitted to the display device 200, so as to implement a synchronous display function.
The display apparatus 200 may be implemented as a television, and may provide an intelligent network television function of a broadcast receiving television function as well as a computer support function. Examples of the display device include a digital television, a web television, a smart television, an Internet Protocol Television (IPTV), and the like.
The display device 200 may be a liquid crystal display, an organic light emitting display, a projection display device. The specific display device type, size, resolution, etc. are not limited.
The display apparatus 200 also performs data communication with the server 300 through various communication means. Here, the display apparatus 200 may be allowed to be communicatively connected through a Local Area Network (LAN), a Wireless Local Area Network (WLAN), and other networks. The server 300 may provide various contents and interactions to the display apparatus 200. By way of example, the display device 200 may send and receive information such as: receiving Electronic Program Guide (EPG) data, receiving software program updates, or accessing a remotely stored digital media library. The servers 300 may be a group or groups, and may be one or more types of servers. Other web service contents such as a video on demand and an advertisement service are provided through the server 300.
Fig. 1B is a block diagram illustrating the configuration of the control device 100. As shown in fig. 1B, the control device 100 includes a controller 110, a memory 120, a communicator 130, a user input interface 140, an output interface 150, and a power supply 160.
The controller 110 includes a Random Access Memory (RAM)111, a Read Only Memory (ROM)112, a processor 113, a communication interface, and a communication bus. The controller 110 is used to control the operation of the control device 100, as well as the internal components of the communication cooperation, external and internal data processing functions.
Illustratively, when an interaction of a user pressing a key disposed on the remote controller 100A or an interaction of touching a touch panel disposed on the remote controller 100A is detected, the controller 110 may control to generate a signal corresponding to the detected interaction and transmit the signal to the display device 200.
And a memory 120 for storing various operation programs, data and applications for driving and controlling the control apparatus 100 under the control of the controller 110. The memory 120 may store various control signal commands input by a user.
The communicator 130 enables communication of control signals and data signals with the display apparatus 200 under the control of the controller 110. Such as: the control apparatus 100 transmits a control signal (e.g., a touch signal or a button signal) to the display device 200 via the communicator 130, and the control apparatus 100 may receive the signal transmitted by the display device 200 via the communicator 130. The communicator 130 may include an infrared signal interface 131 and a radio frequency signal interface 132. For example: when the infrared signal interface is used, the user input instruction needs to be converted into an infrared control signal according to an infrared control protocol, and the infrared control signal is sent to the display device 200 through the infrared sending module. The following steps are repeated: when the rf signal interface is used, a user input command needs to be converted into a digital signal, and then the digital signal is modulated according to the rf control signal modulation protocol and then transmitted to the display device 200 through the rf transmitting terminal.
The user input interface 140 may include at least one of a microphone 141, a touch pad 142, a sensor 143, a key 144, and the like, so that a user can input a user instruction regarding control of the display apparatus 200 to the control device 100 through voice, touch, gesture, pressing, and the like.
The output interface 150 outputs a user instruction received by the user input interface 140 to the display apparatus 200, or outputs an image or voice signal received by the display apparatus 200. Here, the output interface 150 may include an LED interface 151, a vibration interface 152 generating vibration, a sound output interface 153 outputting sound, a display 154 outputting an image, and the like. For example, the remote controller 100A may receive an output signal such as audio, video, or data from the output interface 150, and display the output signal in the form of an image on the display 154, in the form of audio on the sound output interface 153, or in the form of vibration on the vibration interface 152.
And a power supply 160 for providing operation power support for each element of the control device 100 under the control of the controller 110. In the form of a battery and associated control circuitry.
A hardware configuration block diagram of the display device 200 is exemplarily illustrated in fig. 1C. As shown in fig. 1C, the display apparatus 200 may further include a tuner demodulator 210, a communicator 220, a detector 230, an external device interface 240, a controller 250, a memory 260, a user interface 265, a video processor 270, a display 275, an audio processor 280, an audio input interface 285, and a power supply 290.
The tuner demodulator 210 receives the broadcast television signal in a wired or wireless manner, may perform modulation and demodulation processing such as amplification, mixing, and resonance, and is configured to demodulate, from a plurality of wireless or wired broadcast television signals, an audio/video signal carried in a frequency of a television channel selected by a user, and additional information (e.g., EPG data).
The tuner demodulator 210 is responsive to the user selected frequency of the television channel and the television signal carried by the frequency, as selected by the user and controlled by the controller 250.
The tuner demodulator 210 can receive a television signal in various ways according to the broadcasting system of the television signal, such as: terrestrial broadcasting, cable broadcasting, satellite broadcasting, internet broadcasting, or the like; and according to different modulation types, a digital modulation mode or an analog modulation mode can be adopted; and can demodulate the analog signal and the digital signal according to the different kinds of the received television signals.
In other exemplary embodiments, the tuning demodulator 210 may also be in an external device, such as an external set-top box. In this way, the set-top box outputs a television signal after modulation and demodulation, and inputs the television signal into the display apparatus 200 through the external device interface 240.
The communicator 220 is a component for communicating with an external device or an external server according to various communication protocol types. For example, the display apparatus 200 may transmit content data to an external apparatus connected via the communicator 220, or browse and download content data from an external apparatus connected via the communicator 220. The communicator 220 may include a network communication protocol module or a near field communication protocol module, such as a WIFI module 221, a bluetooth communication protocol module 222, and a wired ethernet communication protocol module 223, so that the communicator 220 may receive a control signal of the control device 100 according to the control of the controller 250 and implement the control signal as a WIFI signal, a bluetooth signal, a radio frequency signal, and the like.
The detector 230 is a component of the display apparatus 200 for collecting signals of an external environment or interaction with the outside. The detector 230 may include an image collector 231, such as a camera, a video camera, etc., which may be used to collect external environment scenes to adaptively change the display parameters of the display device 200; and the function of acquiring the attribute of the user or interacting gestures with the user so as to realize the interaction between the display equipment and the user. A light receiver 232 may also be included to collect ambient light intensity to adapt to changes in display parameters of the display device 200, etc.
In other exemplary embodiments, the detector 230 may further include a temperature sensor, such as by sensing an ambient temperature, and the display device 200 may adaptively adjust a display color temperature of the image. For example, when the temperature is higher, the display apparatus 200 may be adjusted to display a color temperature of an image that is cooler; when the temperature is lower, the display device 200 may be adjusted to display a warmer color temperature of the image.
In some other exemplary embodiments, the detector 230, which may further include a sound collector, such as a microphone, may be configured to receive a sound of a user, such as a voice signal of a control instruction of the user to control the display device 200; alternatively, ambient sounds may be collected that identify the type of ambient scene, enabling the display device 200 to adapt to ambient noise.
The external device interface 240 is a component for providing the controller 210 to control data transmission between the display apparatus 200 and an external apparatus. The external device interface 240 may be connected with an external apparatus such as a set-top box, a game device, a notebook computer, etc. in a wired/wireless manner, and may receive data such as a video signal (e.g., moving image), an audio signal (e.g., music), additional information (e.g., EPG), etc. of the external apparatus.
The external device interface 240 may include: a High Definition Multimedia Interface (HDMI) terminal 241, a Composite Video Blanking Sync (CVBS) terminal 242, an analog or digital Component terminal 243, a Universal Serial Bus (USB) terminal 244, a Component terminal (not shown), a red, green, blue (RGB) terminal (not shown), and the like.
The controller 250 controls the operation of the display device 200 and responds to the operation of the user by running various software control programs (such as an operating system and various application programs) stored on the memory 260.
As shown in fig. 1C, the controller 250 includes a Random Access Memory (RAM)251, a Read Only Memory (ROM)252, a graphics processor 253, a CPU processor 254, a communication interface 255, and a communication bus 256. The RAM251, the ROM252, the graphic processor 253, and the CPU processor 254 are connected to each other through a communication bus 256 through a communication interface 255.
The ROM252 stores various system startup instructions. When the display apparatus 200 starts power-on upon receiving the power-on signal, the CPU processor 254 executes a system boot instruction in the ROM252, copies the operating system stored in the memory 260 to the RAM251, and starts running the boot operating system. After the start of the operating system is completed, the CPU processor 254 copies the various application programs in the memory 260 to the RAM251 and then starts running and starting the various application programs.
A graphic processor 253 for generating screen images of various graphic objects such as icons, images, and operation menus. The graphic processor 253 may include an operator for performing an operation by receiving various interactive instructions input by a user, and further displaying various objects according to display attributes; and a renderer for generating various objects based on the operator and displaying the rendered result on the display 275.
A CPU processor 254 for executing operating system and application program instructions stored in memory 260. And according to the received user input instruction, processing of various application programs, data and contents is executed so as to finally display and play various audio-video contents.
In some example embodiments, the CPU processor 254 may comprise a plurality of processors. The plurality of processors may include one main processor and a plurality of or one sub-processor. A main processor for performing some initialization operations of the display apparatus 200 in the display apparatus preload mode and/or operations of displaying a screen in the normal mode. A plurality of or one sub-processor for performing an operation in a state of a display device standby mode or the like.
The communication interface 255 may include a first interface to an nth interface. These interfaces may be network interfaces that are connected to external devices via a network.
The controller 250 may control the overall operation of the display apparatus 200. For example: in response to receiving a user input command for selecting a GUI object displayed on the display 275, the controller 250 may perform an operation related to the object selected by the user input command.
Where the object may be any one of the selectable objects, such as a hyperlink or an icon. The operation related to the selected object is, for example, an operation of displaying a link to a hyperlink page, document, image, or the like, or an operation of executing a program corresponding to an icon. The user input command for selecting the GUI object may be a command input through various input means (e.g., a mouse, a keyboard, a touch panel, etc.) connected to the display apparatus 200 or a voice command corresponding to a user uttering voice.
A memory 260 for storing various types of data, software programs, or applications for driving and controlling the operation of the display device 200. The memory 260 may include volatile and/or nonvolatile memory. And the term "memory" includes the memory 260, the RAM251 and the ROM252 of the controller 250, or a memory card in the display device 200.
In some embodiments, the memory 260 is specifically used for storing an operating program for driving the controller 250 of the display device 200; storing various application programs built in the display apparatus 200 and downloaded by a user from an external apparatus; data such as visual effect images for configuring various GUIs provided by the display 275, various objects related to the GUIs, and selectors for selecting the GUI objects are stored.
In some embodiments, the memory 260 is specifically configured to store drivers and related data for the tuner demodulator 210, the communicator 220, the detector 230, the external device interface 240, the video processor 270, the display 275, the audio processor 280, and the like, external data (e.g., audio-visual data) received from the external device interface, or user data (e.g., key information, voice information, touch information, and the like) received from the user interface.
In some embodiments, memory 260 specifically stores software and/or programs representing an Operating System (OS), which may include, for example: a kernel, middleware, an Application Programming Interface (API), and/or an application program. Illustratively, the kernel may control or manage system resources, as well as functions implemented by other programs (e.g., the middleware, APIs, or applications); at the same time, the kernel may provide an interface to allow middleware, APIs, or applications to access the controller to enable control or management of system resources.
A block diagram of the architectural configuration of the operating system in the memory of the display device 200 is illustrated in fig. 1D. The operating system architecture comprises an application layer, a middleware layer and a kernel layer from top to bottom.
The application layer, the application programs built in the system and the non-system-level application programs belong to the application layer and are responsible for direct interaction with users. The application layer may include a plurality of applications such as NETFLIX applications, setup applications, media center applications, and the like. These applications may be implemented as Web applications that execute based on a WebKit engine, and in particular may be developed and executed based on HTML, Cascading Style Sheets (CSS), and JavaScript.
Here, HTML, which is called HyperText Markup Language (HyperText Markup Language), is a standard Markup Language for creating web pages, and describes the web pages by Markup tags, where the HTML tags are used to describe characters, graphics, animation, sound, tables, links, etc., and a browser reads an HTML document, interprets the content of the tags in the document, and displays the content in the form of web pages.
CSS, known as Cascading Style Sheets (Cascading Style Sheets), is a computer language used to represent the Style of HTML documents, and may be used to define Style structures, such as fonts, colors, locations, etc. The CSS style can be directly stored in the HTML webpage or a separate style file, so that the style in the webpage can be controlled.
JavaScript, a language applied to Web page programming, can be inserted into an HTML page and interpreted and executed by a browser. The interaction logic of the Web application is realized by JavaScript. The JavaScript can package a JavaScript extension interface through a browser, realize the communication with the kernel layer,
the middleware layer may provide some standardized interfaces to support the operation of various environments and systems. For example, the middleware layer may be implemented as multimedia and hypermedia information coding experts group (MHEG) middleware related to data broadcasting, DLNA middleware which is middleware related to communication with an external device, middleware which provides a browser environment in which each application program in the display device operates, and the like.
The kernel layer provides core system services, such as: file management, memory management, process management, network management, system security authority management and the like. The kernel layer may be implemented as a kernel based on various operating systems, for example, a kernel based on the Linux operating system.
The kernel layer also provides communication between system software and hardware, and provides device driver services for various hardware, such as: provide display driver for the display, provide camera driver for the camera, provide button driver for the remote controller, provide wiFi driver for the WIFI module, provide audio driver for audio output interface, provide power management drive for Power Management (PM) module etc..
A user interface 265 receives various user interactions. Specifically, it is used to transmit an input signal of a user to the controller 250 or transmit an output signal from the controller 250 to the user. For example, the remote controller 100A may transmit an input signal, such as a power switch signal, a channel selection signal, a volume adjustment signal, etc., input by the user to the user interface 265, and then the input signal is transferred to the controller 250 through the user interface 265; alternatively, the remote controller 100A may receive an output signal such as audio, video, or data output from the user interface 265 via the controller 250, and display the received output signal or output the received output signal in audio or vibration form.
In some embodiments, a user may enter user commands on a Graphical User Interface (GUI) displayed on the display 275, and the user interface 265 receives the user input commands through the GUI. Specifically, the user interface 265 may receive user input commands for controlling the position of a selector in the GUI to select different objects or items.
Alternatively, the user may input a user command by inputting a specific sound or gesture, and the user interface 265 receives the user input command by recognizing the sound or gesture through the sensor.
The video processor 270 is configured to receive an external video signal, and perform video data processing such as decompression, decoding, scaling, noise reduction, frame rate conversion, resolution conversion, and image synthesis according to a standard codec protocol of the input signal, so as to obtain a video signal that is directly displayed or played on the display 275.
Illustratively, the video processor 270 includes a demultiplexing module, a video decoding module, an image synthesizing module, a frame rate conversion module, a display formatting module, and the like.
The demultiplexing module is configured to demultiplex an input audio/video data stream, where, for example, an input MPEG-2 stream (based on a compression standard of a digital storage media moving image and voice), the demultiplexing module demultiplexes the input audio/video data stream into a video signal and an audio signal.
And the video decoding module is used for processing the video signal after demultiplexing, including decoding, scaling and the like.
And the image synthesis module is used for carrying out superposition mixing processing on the GUI signal input by the user or generated by the user and the video image after the zooming processing by the graphic generator so as to generate an image signal for display.
The frame rate conversion module is configured to convert a frame rate of an input video, for example, convert a frame rate of an input 60Hz video into a frame rate of 120Hz or 240Hz, where a common format is implemented by using, for example, an interpolation frame method.
And a display formatting module for converting the signal output by the frame rate conversion module into a signal conforming to a display format of a display, such as converting the format of the signal output by the frame rate conversion module to output an RGB data signal.
And a display 275 for receiving the image signal from the output of the video processor 270 and displaying the video, image and menu manipulation interface. For example, the display may display video from a broadcast signal received by the tuner demodulator 210, may display video input from the communicator 220 or the external device interface 240, and may display an image stored in the memory 260. The display 275, while displaying a user manipulation interface UI generated in the display apparatus 200 and used to control the display apparatus 200.
And, the display 275 may include a display screen assembly for presenting a picture and a driving assembly for driving the display of an image. Alternatively, a projection device and projection screen may be included, provided display 275 is a projection display.
The audio processor 280 is configured to receive an external audio signal, decompress and decode the received audio signal according to a standard codec protocol of the input signal, and perform audio data processing such as noise reduction, digital-to-analog conversion, and amplification processing to obtain an audio signal that can be played by the speaker 286.
Illustratively, audio processor 280 may support various audio formats. Such as MPEG-2, MPEG-4, Advanced Audio Coding (AAC), high efficiency AAC (HE-AAC), and the like.
Audio output interface 285 receives audio signals from the output of audio processor 280. For example, the audio output interface may output audio in a broadcast signal received via the tuner demodulator 210, may output audio input via the communicator 220 or the external device interface 240, and may output audio stored in the memory 260. The audio output interface 285 may include a speaker 286, or an external audio output terminal 287, such as an earphone output terminal, that outputs to a generating device of an external device.
In other exemplary embodiments, video processor 270 may comprise one or more chips. Audio processor 280 may also comprise one or more chips.
And, in other exemplary embodiments, the video processor 270 and the audio processor 280 may be separate chips or may be integrated with the controller 250 in one or more chips.
And a power supply 290 for supplying power supply support to the display apparatus 200 from the power input from the external power source under the control of the controller 250. The power supply 290 may be a built-in power supply circuit installed inside the display apparatus 200 or may be a power supply installed outside the display apparatus 200.
Based on the DIAL protocol, applications on DIAL client devices within the same local area network may discover and launch the same applications on DIAL server devices. Taking the example where the application on the DIAL client device is application a, application a may discover the DIAL server device within the same local area network and launch application a on the DIAL server device if application a is also installed on the DIAL server device.
In one embodiment, the DIAL client device is a smaller screen device integrated with the DIAL client module, such as a mobile terminal like a smart phone, tablet, etc. integrated with the DIAL client module; the DIAL server device is a device with a large screen integrated with the DIAL server module, such as a display device of a smart television integrated with the DIAL server module.
For ease of understanding, the following description will be made with the DIAL client device being a DIAL client module integrated mobile terminal and the DIAL server device being a DIAL server module integrated display device. In practical applications, the mobile terminal 100B may interact with the display device 200 in combination with the configuration block diagrams of the control apparatus and the display device shown in fig. 1A to 1D.
In one example, the diall protocol based interaction process for mobile terminals and display devices under the same lan may include two phases: a device lookup phase and an application query/start/stop phase. The interaction process of the mobile terminal and the display device based on the DIAL protocol is exemplarily shown in fig. 2A-2C, and the two phases are described below in connection with fig. 2A-2C, respectively:
1. and (3) equipment searching:
in the device search stage, in one example, the mobile terminal may search for a display device having a DIAL server module in a local area network, and obtain device information of the searched display device, such as a name, a model, a MAC address, an IP address, a communication port, and the like.
Fig. 2A illustrates an interaction process of a mobile terminal and a display device in a device finding phase, as shown in fig. 2A, in the device finding phase, the interaction process of the mobile terminal and the display device in the same local area network may include the following steps:
step a1, the mobile terminal sends a SEARCH command (M-SEARCH) to other devices in the local area network.
In one embodiment, the mobile terminal may send the M-SEARCH to a designated multicast address port so that the M-SEARCH may be sent to other devices within the local area network.
Step a2, in response to the M-SEARCH sent by the mobile terminal, the display device sends an M-SEARCH response to the mobile terminal.
In one embodiment, the M-SEARCH response may include the name of the display device, the MAC address, and the like. The name of the display equipment is used for enabling the mobile terminal to distinguish the display equipment from other display equipment which may exist, and the name can be set by a user or set according to a preset rule; the MAC address is used to Wake up the display device in the standby or sleep mode based on the MAC address, and specifically, if the display device is in the standby or sleep mode, the network card of the display device is still in a power-on state capable of receiving the data packet, so that the mobile terminal may Wake up the display device based on the MAC address by using a WOW (Wake on WLAN) or WOL (Wake on LAN) method. More specifically, the mobile terminal may send a wakeup data packet (or referred to as a magic data packet) to the display device based on the obtained MAC address, and the network card of the display device wakes up the display device after receiving the wakeup data packet.
Step a3, the mobile terminal sends a device description information request to the display device based on the received M-SEARCH response from the display device.
Receiving the M-SEARCH response indicates that there is a device with a DIAL server module integrated in the local area network, and in one embodiment, in order to facilitate subsequent interaction with an application on the device, the mobile terminal needs to obtain more device information of the device, such as: IP address, communication port, model of device, etc. Accordingly, upon receiving an M-SEARCH response from a display device, the mobile terminal may transmit a device description information request to the display device to acquire designated device information of the display device.
Step a4, in response to the device description information request from the mobile terminal, the display device sends a device description information response carrying the specified device information to the mobile terminal, where the specified device information may include information such as an IP address and a communication port.
In one embodiment, when receiving a device description information response from a display device, the mobile terminal may record device information of the display device carried in the device information response, so as to interact with an application program on the display device based on the device information in the following.
So far, the description of the interaction process of the mobile terminal and the display device in the device searching stage is completed. In the above steps a 1-a 4, the information interaction between the mobile terminal and the display device, such as the transmission and reception of the M-SEARCH, can be performed by the DIAL client module in the mobile terminal and the DIAL server module in the display device. In one embodiment, the mobile terminal enters the next stage after receiving the device description information response from the display device.
2. Application query/launch/exit phases
In this stage, the mobile terminal may start the target application program on the display device found in the previous stage, and control the target application program to execute operations such as playing a media file, and fig. 2B exemplarily shows an interaction process between the mobile terminal and the display device in this stage, and as shown in fig. 2B, the process may include:
step b1, the mobile terminal sends an application status acquisition request to the display device to acquire the current status of the target application program in the display device.
Specifically, an application status acquisition request may be sent by the DIAL client module in the mobile terminal to the display device, and the display device receives the application status acquisition request through the DIAL server module. Further, after receiving the application state acquisition request, the DIAL server module of the display device may request the system module of the display device to acquire the current state of the target application program, and send the current state of the target application program replied by the system module to the mobile terminal.
The current state may include a stopped state (not started state), a hidden state (background running state), and a running state (foreground running state).
In one embodiment, if the target application program is not installed in the display device, the display device returns a request result of failure of the request to the mobile terminal.
Through this step b1, the mobile terminal can determine whether the target application exists in the display device and the current status of the target application in the display device.
Step b2, the mobile terminal sends an application start instruction to the display device to start the target application program.
In one embodiment, the application launch instruction is implemented via an HTTP request message. Fig. 2C is a schematic diagram illustrating the interaction between the display device and the mobile terminal in step b 2. As shown in fig. 2C, any application in the system module of the mobile terminal sends an application start instruction to the display device through the DIAL client module, and the DIAL server module in the display device communicates with the system module of the display device after receiving the application start instruction, so that the system module starts the target application. Further, after the target application is started, the display device may send the start result to the mobile terminal.
As an embodiment, if the target application is in a stopped state or a hidden state, the mobile terminal may send an application start instruction to the display device to start the target application, so that the target application is switched to a running state; if the target application program is in running state, the mobile terminal can directly push information to the target application program without sending an application starting instruction to the display device to control the target application program to execute corresponding operation, for example, the mobile terminal can push a media file to the target application program for playing the media file, so that the target application program plays the pushed media file. The media files herein may include video, audio, images, and the like.
In another embodiment, the mobile terminal may directly send the application start instruction to the display device, and if the target application program is in a running state, the display device does not need to perform a start operation on the target application program. Further, the application start instruction may include push information for controlling the target application program to perform a corresponding operation. After the display device receives the push information from the mobile terminal, if the display device checks that the target application program is in a stopped state or a hidden state, starting the target application program and enabling the target application program to execute corresponding operation according to the push information from the mobile terminal; and if the target application program is in a running state, directly enabling the target application program to execute corresponding operation according to the push information from the mobile terminal.
As a simple example, if the same designated application related to media playing is installed in the mobile terminal and the display device, respectively, the designated application on the mobile terminal may push a media file playable by the designated application to the display device, so as to play the media file through the designated application on the display device.
How to implement step b2 is specifically described in the following with reference to the application program starting method provided by the present application, which is not described herein again.
And step b3, when the mobile terminal no longer needs to interact with the application program in the display device, sending an application quit instruction to the display device to quit the target application program.
In one embodiment, exiting the target application refers to terminating the running of the target application or transitioning the target application to a background running. Specifically, after receiving an application exit instruction from the mobile terminal, the DIAL server module in the display device communicates with the system module of the display device, so that the system module terminates the operation of the target application program, or converts the target application program into a background operation. Further, after successfully logging out the target application, the display device may send the result of this logging out to the mobile terminal via the DIAL server module.
So far, the description of the interactive process between the mobile terminal and the display device in the application program query/start/exit stage is completed.
No specific description is given in the DIAL protocol as to how the display device determines which application is instructed to be started by the application start instruction after receiving the application start instruction in the above-described application inquiry/start/exit phase. Therefore, the application program starting method is provided, so that the display equipment can analyze the received application starting instruction from the mobile terminal, and the target application program started by the application starting instruction is accurately started.
Fig. 3A-3C are flow diagrams illustrating an application launching method. In one example, the method may be applied to a display device integrated with a DIAL server module, the structure of which may be as shown in FIG. 1C, in particular, the DIAL server module is provided in a controller of the display device. Referring to fig. 3A, the method includes the following steps:
in step S41, the DIAL server module receives the HTTP message from the mobile terminal.
In one example, the HTTP message from the mobile terminal in step S41 includes an HTTP request message. In order to facilitate understanding of this step S41 and subsequent steps, the structure of the HTTP request message will be briefly described. Fig. 3B exemplarily shows a structure of the HTTP request message, and as shown in fig. 3B, the structure includes:
request line 51: three fields are typically included: request method, URL (Uniform Resource Locator) and protocol version.
The request method indicates the type of operation performed on the target resource, and may include GET (GET), POST (push), DELETE (DELETE), and so on. As an embodiment, the GET request method herein is used for requesting to obtain a resource indicated by a URL from a server, the POST request method is used for submitting data to the resource indicated by the URL, and the DELETE request method is used for requesting to DELETE the resource indicated by the URL from the server. For convenience of description, in some embodiments below, according to a request method of an HTTP request message, the HTTP request message is respectively denoted as a GET request message, a POST request message, and a DELETE request message.
The GET request message is mainly used for requesting the DIAL server to obtain the application state, for example, the application state obtaining request in step b1 is the GET request message; the POST request message is mainly used for requesting the DIAL server to start an application program, for example, the application start instruction in step b2 is implemented by the POST request message; the DELETE request message is mainly used for requesting the DIAL server to exit the application, for example, the application exit instruction in step b3 is implemented by the DELETE request message.
The URL in the request line 51 indicates the location of the target resource, and the protocol version indicates the HTTP protocol version, typically HTTP/1.1 or HTTP/1.0, to which the request message belongs.
Request header 52: the HTTP request message and some information of the client sending the request message are used to inform the server of additional information, where the additional information refers to some information of the HTTP request message and the client itself, except information included in the message body, and specifically may include: the byte length of the request message request body, the system type of the client device, the version of the application program in the client device for sending the HTTP request message, and the like. In one embodiment, the additional information herein is represented in header fields, each header field comprising a pair of key values, the contents of the keys in the header fields being referred to hereinafter as the names of the header fields. Taking the header field "Content-Length: 75" as an example, the header field indicates that the Length of data carried in the HTTP request message is 75 (default unit is byte), specifically, indicates that the Length of the request body of the HTTP request message is 75, and records it as a Content-Length header field according to the Content of the header field key.
The requester 53: used for recording the data submitted to the server. Taking a POST request message for pushing a media file to a server as an example, the request body may include a URL of the media file.
Thus, the description of the structure of the HTTP request message is completed.
In one example, the HTTP message in step S41 is a POST request message, and the URL field in the request line of the POST request message is the URL of the target application that the mobile terminal wants to start. The HTTP request message is used to instruct the display device to start a target application program that the mobile terminal needs to start, that is, the application start instruction in step b 2. In one embodiment, the URL of the target application here consists of a dialrest (Representational State Transfer) Service URL provided by the display device and an application identification of the target application, separated by "/" in the middle. Taking the URL of the target application as "/apps/YouTube" as an example, where "/apps" is the DIAL REST Service URL provided by the display device, and "YouTube" is the application identifier of the target application. The DIAL REST Service URL is included in a device description information response transmitted by the display device in response to the device description information request of the mobile terminal.
As an embodiment, the HTTP message in step S41 may be a POST request message with an empty request body. As another embodiment, the request body of the HTTP message in step S41 may include information to be pushed to the target application, such as URL information of the media file.
In step S42, the DIAL server module parses the target application that needs to be started by the mobile terminal from the received HTTP message.
In one example, the DIAL server module may parse a target application that the mobile terminal needs to start from a specified field of the HTTP message, and specifically, the specified field may be a first header field in the HTTP request message.
As an embodiment, the first header field may be a Request URI (Uniform Resource Identifier) header field, where the Request URI header field includes a URI of a Resource requested by the HTTP Request message. For an HTTP Request message sent by a mobile terminal when a target application program needs to be started, a Request URI header field of the HTTP Request message contains a URI of the target application program which needs to be started, and an application program identifier of the target application program can be obtained by analyzing the URI of the target application program. The DIAL server module may parse the Request URI header field to obtain the application identification of the target application.
In another embodiment, the first header field may be an Origin header field, where the header field indicates an installation package name of an application program (called an originating application for short) that originates the HTTP request message, and an application program identifier of the originating application may be obtained by parsing from the installation package name of the originating application program. For an HTTP request message sent by a mobile terminal when a target application program needs to be started, an initiating application and the target application program needing to be started are the same application program, and application program identifiers of the initiating application and the target application program are the same. The DIAL server module can analyze the application program identifier of the initiating application of the HTTP message from the Origin header field, and the application program identifier is used as the application program identifier of the target application program.
To facilitate understanding the process of parsing the header field to obtain the application identifier of the target application in step S42, the following description will be given by way of example, and details are not repeated herein.
As an embodiment, the Request URI header field and the Origin header field may be respectively parsed, and if the parsing results of the two header fields are consistent, the same application identifier is obtained, and the same application identifier is used as the application identifier of the target application; if the analysis results of the two header fields are inconsistent, the application program identifier obtained by analyzing the Origin header field is preferentially selected as the application program identifier of the target application program.
In another embodiment, the first header field may be a URL field in the request line, from which the application id of the target application can be parsed. However, it should be noted that, in actual application, two different applications with similar application identifiers may be obtained when the URL field is parsed. In order to start the application program as correctly as possible, as an embodiment, the URL in the request line of the HTTP message and the Origin header field in the request header may be respectively analyzed, and if the obtained analysis results are consistent, the consistent analysis result is used as the application program identifier of the target application program; and if the obtained analysis results are inconsistent, preferentially selecting the analysis result of the Origin header field as the application program identifier of the target application program.
After the application identifier of the target application is obtained through analysis, in an embodiment, the target application may be determined according to a pre-configured correspondence between the application identifier and the application.
In step S43, when the DIAL server module determines that the target application is an application legally controlled by the mobile terminal, the DIAL server module calls the target application module corresponding to the target application to start the target application.
In actual application, there are various implementation manners in the step S43, which are shown in the following examples and will not be described herein again for the sake of brevity.
If the target application program is determined to be the application program legally controlled by the mobile terminal, the DIAL server module may call a target application processing module corresponding to the target application program to process the target application. In one embodiment, the target application processing module may be configured in the DIAL server module, and the target application processing module is pre-configured with a callback function of the target application, and the DIAL server module may launch the target application by calling the callback function. The following describes the present embodiment with reference to fig. 4, and details thereof are not repeated herein.
After the target application is started, in one embodiment, if the request body of the HTTP request message is not empty, but contains information such as the URL of the media file, the DIAL server module may further send the information in the HTTP request message request body to the target application. For example, if the HTTP request message includes a URL of a video file and instructs the target application program to play the video file, the target application program may obtain the video file stored in the web server based on the URL and play the video file.
Thus, the flow shown in fig. 3A is completed.
Through the process shown in fig. 3A, when the display device receives the HTTP message from the mobile terminal, the display device obtains the target application program that needs to be started by the mobile terminal by analyzing the HTTP message, so as to start the target application program more accurately. Further, the display device may start the target application program in a case where it is determined that the target application program is not an application program legally manipulated by the mobile terminal. In one embodiment, the application identifier may be an application name.
In practical application, some mobile terminals may maliciously and mistakenly push information to the display device, which may cause adverse effects such as that a user cannot normally use the display device. To avoid this, in one embodiment, the DIAL server module may determine whether the target application is an application legally manipulated by the mobile terminal sending the HTTP message before starting the target application according to the received HTTP message. The following describes an implementation process of this embodiment with reference to fig. 3C:
fig. 3C is a flowchart illustrating an example of determining that the target application is an application legally manipulated by the mobile terminal. As shown in fig. 3C, the process includes the following steps:
step S61, the HTTP message from the mobile terminal is analyzed to obtain the determination information.
Step S62, if the determination information meets the predetermined determination condition, determining that the target application program started by the HTTP message indicates a legally controlled application program of the mobile terminal.
As an embodiment, if the determination information does not meet the preset determination condition, it is determined that the target application program started by the HTTP message is not an application program legally controlled by the mobile terminal.
In one example, the DIAL server module may parse a target application that the mobile terminal needs to start from a specified field of the HTTP message, and specifically, the specified field may be a second header field in the HTTP request message. The second header field is named for distinguishing from the first header field in the above step S42, and is not intended to limit the present application. The second header field may be the same as or different from the first header field.
As an embodiment, the second header field may be a Content-Length header field in the HTTP request message, where the header field indicates a byte Length of data carried in a request body of the HTTP request message. The DIAL server module can analyze the byte Length indicated by the Content-Length header field from the Content-Length header field as judgment information, and compare whether the byte Length is consistent with the byte Length of data actually carried by the request body, if not, the information in the HTTP message request body may have errors such as loss, change and the like.
In this embodiment, the determination information in the step S61 is the byte Length indicated by the Content-Length header field, and the determination condition in the step S62 is that the byte Length indicated by the Content-Length header field is consistent with the byte Length actually carried with the data in the HTTP request packet request body, according to the step S62, if the byte Length indicated by the Content-Length header field is consistent with the byte Length actually carried with the data in the HTTP request packet request body, it is determined that the target application program is an application program legally controlled by the mobile terminal.
As another embodiment, the second header field may be a User-Agent header field in the HTTP request message, where the header field is used to indicate device information of the mobile terminal that sends the HTTP request message, and the device information may include: device system type, device system version, device model, etc. The DIAL server module may parse the device information of the mobile terminal from the User-Agent header field.
In this embodiment, the determination information in the step S61 is the specified device information indicated by the User-Agent header field, and the determination condition in the step S62 is that the specified device information indicated by the User-Agent header field meets a preset allowable control condition, then according to the step S62, if the specified device information indicated by the User-Agent header field meets the preset allowable control condition, it is determined that the target application program is an application legally controlled by the mobile terminal.
The preset allowable control conditions in this embodiment can be set by the user according to actual requirements, so as to limit different mobile terminals from controlling the application programs on the display device. Taking the example that the allowed control condition is an android device system type of the mobile terminal, if the device system type analyzed by the DIAL server module from the User-Agent header field of the HTTP request message is IOS and not android, it may be determined that the device information does not satisfy the allowed control condition, and it is determined that the target application program is not the application program legally controlled by the mobile terminal.
As another embodiment, the second header field may be a Content-Type header field, where the Content-Type header field is used to indicate a transmission format of data carried in the HTTP request message, and based on the transmission format, the data carried in the HTTP request message may be quickly parsed. In this embodiment, the determination information in the step S61 is the transport format indicated by the Content-Type header field, and the determination condition in the step S62 is that the transport format indicated by the Content-Type header field is the transport format supported by the target application. The transport formats supported by the target application here may be pre-configured in the DIAL server module.
As another example, the second header field may be the first header field used for parsing the application id of the target application in step S42. In this embodiment, the determination information in step S61 is the application identifier of the target application, and the determination condition in step S62 is that the application identifier of the target application exists in the DIAL registry, and according to step S62, if the application identifier of the target application exists in the DIAL registry, it is determined that the target application is an application that is legally controlled by the mobile terminal. Thereby preventing the mobile terminal from launching applications not recorded in the DIAL registry.
In one embodiment, the DIAL registry is recorded with application identifiers, which mainly ensures that each registered application identifier can be correctly distinguished without naming conflicts, and thus, in order to use the DIAL protocol properly, an application needs to register its own application identifier in the DIAL registry. If the application identifier for the target application does not exist in the DIAL registry, it indicates that the target application has not registered an application identifier with the DIAL registry, where the reasons for not registering may include that the target application is not suitable for the DIAL protocol, that the application identifier for the target application is easily confused with a registered application identifier, and so on.
It should be noted that the above-mentioned embodiments are only examples and are not intended to limit the present application. The present step S62 can be executed according to one or a combination of the above embodiments. In order to understand how to parse the second header field in step S62, the following description is given by way of example and will not be repeated herein.
This completes the description of the flow shown in fig. 3C.
The description of how to determine that the target application is the application legally manipulated by the mobile terminal is completed through the flow shown in fig. 3C. It should be noted that the flow shown in fig. 3C is only an example, and other determination methods may exist in practical application, and are not illustrated here.
In one example, the DIAL server module may contain a plurality of sub-modules, and a schematic diagram of the DIAL server module is schematically illustrated in FIG. 4. As shown in FIG. 4, the DIAL server module may include the following four sub-modules:
the listening module 71: the HTTP message receiving device is used for receiving the HTTP message from the mobile terminal. In particular, the listening module 71 may be implemented by a mongoose framework.
The analysis module 72: the HTTP message processing module is configured to parse the HTTP message received by the monitoring module 71 to obtain a target application program that the mobile terminal needs to start to operate, and when determining that the target application program is an application program that the mobile terminal legally operates, allocate the HTTP message to a target application program processing module corresponding to the target application program for processing.
As shown in fig. 4, the application processing module may include an application a processing module 731 and an application B processing module 732, and specifically, if the target application determined from the HTTP message is application a, the HTTP message is allocated to the application a processing module 731 for processing; if the target application program determined according to the HTTP message is application program B, the HTTP message is distributed to the application B processing module 732 for processing. It should be noted that processing modules for other various applications may be configured according to the application adapted to the DIAL protocol actually installed in the display device, and the processing modules for application a and application B are shown here by way of example only.
Application a processing module 731 and order B processing module 732: for processing HTTP messages distributed by the parsing module 72. Specifically, the application a processing module 731 is configured to process an HTTP message for the application a, and the application B processing module 732 is configured to process an HTTP message for the application B. Here, the processing may include: controlling an application program to execute operations such as starting and exiting according to the HTTP message; and extracting parameters and the like which need to be transmitted to the application program in the request body of the HTTP message. The control of the operations of the application program such as starting and exiting can be realized by calling a callback function of the application program.
To facilitate understanding of the callback function of the calling application, the application a processing module 731 is described as an example below: the application a processing module 731 has a callback function of the application a registered in advance, and when receiving an HTTP message indicating to start the application a, the application a processing module 731 may call the callback function of the application a and issue a start instruction to the application a to start the application a.
As an embodiment, the application a processing module 731 and the application B processing module 732 may perform different processing on information transmitted by different mobile terminals according to the system type and system version of the mobile terminal.
The system docking module 74: the display equipment is used for being in butt joint with a system module of the display equipment, and information interaction between the system module and the DIAL server module is achieved. Specifically, the system docking module 74 may send the information to be delivered to the application program, which is processed by the application a processing module 731 and the application B processing module 732, to an application program manager in the system module.
This completes the description of the DIAL server module shown in FIG. 4.
In the following, a description is given of how to specifically analyze a code analysis process in the flows shown in fig. 3A and 3C, in combination with a request header example of an HTTP request message from a mobile terminal, where the request header example is as follows:
Figure BDA0002504888320000251
Figure BDA0002504888320000261
wherein "\ r" is a carriage return symbol and "\ n" is a line feed symbol, which does not belong to a component of the header field.
When the header field is analyzed, different types of header fields and different analysis results to be obtained by analyzing the header field are desired, and thus different analysis methods can be selected for different header fields. The following is described by way of example in connection with the header fields referred to in the above steps:
in the above request header example, two types of first header fields involved in step S42 of the flow shown in fig. 3A are as follows:
origin header field: "Origin: package: com. google. android. youtube";
request URI header field: "Request URI:/apps/YouTube".
When the two types of first header fields are analyzed, in one example, an application identification list is preset in the display device, and each application identification in the application identification list corresponds to one or more keywords, so that the first header fields can be analyzed based on the application identification list. The parsing process in this embodiment may include: checking whether the first header field contains any keyword in the application program identification list; if yes, determining that the application program identifier of the target application program is the application program identifier corresponding to the keyword; if not, determining that the application program identifier of the target application program is not the application program identifier corresponding to the keyword. Table 1 illustrates an example application identification list:
Figure BDA0002504888320000262
Figure BDA0002504888320000271
TABLE 1
For ease of understanding, the above parsing process is briefly described below based on the application identification list shown in table 1 and the Origin header field in the above request header example: in the process of analyzing the Origin header field, when checking whether the Origin header field contains the keyword "YouTube" with "YouTube" as the keyword, it can be found that the keyword "YouTube" is contained in the Origin header field "Origin: package: com.
In one embodiment, the application identification list may be set based on application identifications of installed applications on the display device. In another embodiment, the list of application identifications may be set based on the application identifications in the DIAL registry.
In the actual application program, the application program identifier of the target application program contained in the first header field may also be resolved in other ways, which is not described here by way of example.
In the above request header example, the three second header fields involved in steps S61-S62 of the above flow shown in fig. 3C are as follows:
Content-Length header field: "Content-Length 75";
Content-Type header field: "Content-Type text/plane; charset ═ utf-8 ";
User-Agent header field: "User-Agent: com. google. Android. youtube/14.22.54 (Linux; U; Android 9; zh _ CN _ # Hans; CLT-AL00 Build/HUAWEICLT-AL00) gzip"
As an embodiment, when the Content-Length header field of the above three second header fields is parsed, the value of the header field may be directly obtained as the parsing result. Taking the Content-Length header field "Content-Length: 75" in the above request header example as an example, the value of the header field "75" is taken as the parsing result, i.e., as the byte Length of the request body.
As an embodiment, when the Content-Type header field of the three second header fields is parsed, the transmission format of the data in the request body may be determined according to the format flag in the value of the Content-Type header field. Text/play in the Content-Type header field "Content-Type" in the request header example above; for example, "text/play" in the value of the header field indicates a plain text format, and thus the format of data in the request body from which the application start instruction can be obtained is a plain text format.
In one embodiment, the User-Agent header field of the three second header fields has a plurality of components, each of the components is used to represent different device information, and when the User-Agent header field is parsed, the parsing may be performed based on contents represented by each of the components. Taking the User-Agent header field in the request header example as an example, the Linux in the values of the header field indicates that the operating system type is Linux, and the Android9 in the values of the header field indicates that the operating system version is Android9, so that the operating system type of the mobile terminal that sends the application start instruction is Linux, and the operating system version is Android 9.
In other embodiments, the display device may further parse a Connection header field in the received application start instruction to determine whether the Connection established with the mobile terminal that sent the application start instruction is a long Connection, and if the Connection is a long Connection, maintain the currently established Connection. At the time of parsing, it may be determined whether or not it is a long Connection according to the value of the Connection header field. Taking the Connection header field "Connection: keep-alive" in the above request header example as an example, the value "keep-alive" of the header field indicates a long Connection, so that it can be determined that the Connection established with the mobile terminal that sent the application start instruction is a long Connection.
So far, the description of the application program starting method provided by the present application is completed.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (8)

1. A display device, comprising:
a display;
a controller coupled to the display, the controller provided with a discover and launch DIAL server module for:
receiving an HTTP message from a mobile terminal integrated with a DIAL client module;
analyzing a transmitted Request URI field and an Origin field from the HTTP message, analyzing a first application program identifier from the Request URI field, analyzing a second application program identifier from the Origin field, and determining a target application which needs to be started and controlled by the mobile terminal according to the analyzed first application program identifier or second application program identifier if the first application program identifier is consistent with the second application program identifier; if the first application program identifier is inconsistent with the second application program identifier, determining the second application program identifier as a target application which needs to be started and controlled by the mobile terminal; the HTTP message comprises: a Request uniform resource identifier, Request URI, field and an Origin, field; the Request URI field is used for indicating the mobile terminal to start the controlled target application; the Origin field is used for indicating the mobile terminal to initiate the initiating application of the HTTP message;
and if the target application is determined to be the legally controlled application of the mobile terminal, calling a target application module corresponding to the target application to process the target application.
2. The display device according to claim 1, wherein the HTTP message comprises: a Content Length-Length field; the Content-Length field is used for indicating the byte Length of data carried in the HTTP message;
the DIAL server module checks whether the byte Length indicated by the Content-Length field is consistent with the byte Length of data actually carried by the HTTP message; and if the target application is consistent with the mobile terminal legally controlled application, determining that the target application is the mobile terminal legally controlled application, otherwise, determining that the target application is the mobile terminal illegally controlled application.
3. The display device of claim 1, wherein the HTTP message comprises: the User Agent User-Agent field is used for indicating equipment information of the mobile terminal for sending the HTTP message, and the equipment information at least comprises the system type and the system version of the mobile terminal;
the DIAL server module analyzes the equipment information of the mobile terminal from the User-Agent field and judges whether the analyzed equipment information meets a preset allowable control condition; and if so, determining the target application as the application legally controlled by the mobile terminal, otherwise, determining the target application as the application illegally controlled by the mobile terminal.
4. The display device according to claim 1, wherein the DIAL server module checks whether an application identifier corresponding to the target application exists in a recorded DIAL registry, and when the application identifier corresponding to the target application exists in the DIAL registry, the target application is determined to be a legally-manipulated application of the mobile terminal, otherwise, the target application is determined to be an illegally-manipulated application of the mobile terminal.
5. An application program starting method, comprising:
receiving an HTTP message from a mobile terminal integrated with a DIAL client module;
analyzing a transmitted Request URI field and an Origin field from the HTTP message, analyzing a first application program identifier from the Request URI field, analyzing a second application program identifier from the Origin field, and determining a target application which needs to be started and controlled by the mobile terminal according to the analyzed first application program identifier or second application program identifier if the first application program identifier is consistent with the second application program identifier; if the first application program identifier is inconsistent with the second application program identifier, determining the second application program identifier as a target application which needs to be started and controlled by the mobile terminal; the HTTP message comprises: a Request uniform resource identifier, Request URI, field and an Origin, field; the Request URI field is used for indicating the mobile terminal to start the controlled target application; the Origin field is used for indicating the mobile terminal to initiate the initiating application of the HTTP message;
and if the target application is determined to be the legally controlled application of the mobile terminal, calling a target application module corresponding to the target application to process the target application.
6. The method of claim 5, wherein the HTTP message comprises: a Content Length-Length field; the Content-Length field is used for indicating the byte Length of data carried in the HTTP message;
the target application is an application legally controlled by the mobile terminal and is determined through the following steps:
checking whether the byte Length indicated by the Content-Length field is consistent with the byte Length of data actually carried by the HTTP message; and if so, determining that the target application is the legally controlled application of the mobile terminal.
7. The method of claim 5, wherein the HTTP message comprises: the User Agent User-Agent field is used for indicating equipment information of the mobile terminal for sending the HTTP message, and the equipment information at least comprises the system type and the system version of the mobile terminal;
the target application is an application legally controlled by the mobile terminal and is determined through the following steps:
analyzing the equipment information of the mobile terminal from the User-Agent field, and judging whether the analyzed equipment information meets preset allowable control conditions; and if so, determining the target application as the legally controlled application of the mobile terminal.
8. The method according to claim 5, wherein the target application is an application legally manipulated by the mobile terminal, and is determined by the following steps:
and checking whether the recorded DIAL registry has an application program identifier corresponding to the target application, and determining that the target application is an application legally controlled by the mobile terminal when the application program identifier corresponding to the target application exists in the DIAL registry.
CN202010443712.6A 2020-05-22 2020-05-22 Application program starting method and display device Active CN111654753B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010443712.6A CN111654753B (en) 2020-05-22 2020-05-22 Application program starting method and display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010443712.6A CN111654753B (en) 2020-05-22 2020-05-22 Application program starting method and display device

Publications (2)

Publication Number Publication Date
CN111654753A CN111654753A (en) 2020-09-11
CN111654753B true CN111654753B (en) 2022-06-03

Family

ID=72345798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010443712.6A Active CN111654753B (en) 2020-05-22 2020-05-22 Application program starting method and display device

Country Status (1)

Country Link
CN (1) CN111654753B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256449A (en) * 2020-10-16 2021-01-22 Vidaa美国公司 Interface calling method of webpage application program, display equipment and server

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1883202A (en) * 2003-11-17 2006-12-20 三星电子株式会社 Method for updating software of a target device using an extended identifier in digital broadcasting
CN103517110A (en) * 2012-06-29 2014-01-15 深圳市快播科技有限公司 Multi-screen interaction communication system and method
CN105579995A (en) * 2013-09-23 2016-05-11 三星电子株式会社 Method and apparatus for executing application in wireless communication system
CN105611363A (en) * 2016-02-26 2016-05-25 四川长虹电器股份有限公司 Multi-screen coordination control method based on YouTube
CN106331009A (en) * 2015-06-26 2017-01-11 广州市动景计算机科技有限公司 Application program downloading method, device and system
CN110999310A (en) * 2017-08-23 2020-04-10 三星电子株式会社 Client device, companion screen device, and operating method thereof

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9154942B2 (en) * 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
JP5296221B2 (en) * 2008-12-29 2013-09-25 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method for installing application in NFC-compatible device, NFC-compatible device, server node, computer-readable medium, and computer program
US9760867B2 (en) * 2011-03-31 2017-09-12 Loment, Inc. Management for information communicated among end user communication devices
US8839302B2 (en) * 2011-07-14 2014-09-16 Samsung Electronics Co., Ltd. Launching an application from a broadcast receiving apparatus
US10931735B2 (en) * 2012-06-28 2021-02-23 Netflix, Inc. Application discovery
US10075348B2 (en) * 2014-07-25 2018-09-11 Cable Television Laboratories, Inc. Network service discovery
EP3104577A1 (en) * 2015-06-09 2016-12-14 Thomson Licensing Method for launching a remote application, and corresponding communication device, system, computer readable program product and computer readable storage medium
CN107222369A (en) * 2017-07-07 2017-09-29 北京小米移动软件有限公司 Recognition methods, device, switch and the storage medium of application program
WO2019039748A1 (en) * 2017-08-23 2019-02-28 삼성전자 주식회사 Client device, companion screen device, and operation method therefor

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1883202A (en) * 2003-11-17 2006-12-20 三星电子株式会社 Method for updating software of a target device using an extended identifier in digital broadcasting
CN103517110A (en) * 2012-06-29 2014-01-15 深圳市快播科技有限公司 Multi-screen interaction communication system and method
CN105579995A (en) * 2013-09-23 2016-05-11 三星电子株式会社 Method and apparatus for executing application in wireless communication system
CN106331009A (en) * 2015-06-26 2017-01-11 广州市动景计算机科技有限公司 Application program downloading method, device and system
CN105611363A (en) * 2016-02-26 2016-05-25 四川长虹电器股份有限公司 Multi-screen coordination control method based on YouTube
CN110999310A (en) * 2017-08-23 2020-04-10 三星电子株式会社 Client device, companion screen device, and operating method thereof

Also Published As

Publication number Publication date
CN111654753A (en) 2020-09-11

Similar Documents

Publication Publication Date Title
WO2021109487A1 (en) Control method for audio data stream output and display device
CN111464844A (en) Screen projection display method and display equipment
WO2021232506A1 (en) Picture quality adjustment method and display device
CN111601149B (en) Operation guide display method and display equipment
CN111601142B (en) Subtitle display method and display equipment
CN111726673B (en) Channel switching method and display device
CN111726664A (en) Method for controlling function operation of display device through mobile terminal and display device
CN111639281A (en) Page resource display method and display equipment
CN113225838A (en) Microphone control method, audio receiving equipment and audio collecting equipment
WO2021232914A1 (en) Display method and display device
CN111654729B (en) Account login state updating method and display device
CN111897641B (en) Micro-service monitoring and scheduling method and display device
WO2021139045A1 (en) Method for playing back media project and display device
CN112004125A (en) Media resource playing method and display equipment
CN111654753B (en) Application program starting method and display device
CN111405367A (en) Method for network sharing of system component based on multi-network switching scene and display equipment
CN111726674B (en) HbbTV application starting method and display equipment
CN111343498B (en) Mute control method and device and smart television
CN113382291A (en) Display device and streaming media playing method
CN113438296B (en) Upgrade package downloading method and display device
CN111901677B (en) Method for uniformly controlling process starting and display equipment
CN111756413B (en) Method for adjusting Bluetooth mode on display device and display device
CN111901686B (en) Method for keeping normal display of user interface stack and display equipment
WO2021253575A1 (en) Method for selecting audio output device, and display device
WO2022078166A1 (en) Class of bluetooth device switching method and display device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20221101

Address after: 83 Intekte Street, Devon, Netherlands

Patentee after: VIDAA (Netherlands) International Holdings Ltd.

Address before: 266061 room 131, 248 Hong Kong East Road, Laoshan District, Qingdao City, Shandong Province

Patentee before: QINGDAO HISENSE MEDIA NETWORKS Ltd.

TR01 Transfer of patent right