CN112235639B - Extensible Linux smart television operating system easy to upgrade - Google Patents

Extensible Linux smart television operating system easy to upgrade Download PDF

Info

Publication number
CN112235639B
CN112235639B CN202010896821.3A CN202010896821A CN112235639B CN 112235639 B CN112235639 B CN 112235639B CN 202010896821 A CN202010896821 A CN 202010896821A CN 112235639 B CN112235639 B CN 112235639B
Authority
CN
China
Prior art keywords
plug
library
module
function
main program
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
CN202010896821.3A
Other languages
Chinese (zh)
Other versions
CN112235639A (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.)
Beijing Zhixiang Information Technology Co ltd
Original Assignee
Beijing Zhixiang Information 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 Beijing Zhixiang Information Technology Co ltd filed Critical Beijing Zhixiang Information Technology Co ltd
Priority to CN202010896821.3A priority Critical patent/CN112235639B/en
Publication of CN112235639A publication Critical patent/CN112235639A/en
Application granted granted Critical
Publication of CN112235639B publication Critical patent/CN112235639B/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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • H04N21/4431OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention provides an easily-upgraded extensible Linux smart television operating system which comprises: the system comprises a UI, a main program, a plug-in set, a platform abstraction layer library and a basic platform function library; traversing module plug-in directories in the plug-in set by the main program, loading all module plug-ins contained in the module plug-in directories one by one in a dynamic loading mode, informing all supported module plug-ins to a UI by the main program after traversing is completed, and displaying a corresponding UI interface according to the currently supported module plug-ins after the UI receives the notice of the main program; each plug-in module calls a basic platform function library through a platform abstraction layer library to realize the calling of a function interface; the coupling of each layer of codes of the software is reduced, so that the software is more flexible and convenient to compile and run.

Description

Extensible Linux smart television operating system easy to upgrade
Technical Field
The invention relates to an easily-upgraded extensible Linux smart television operating system.
Background
The existing television system at least comprises a plurality of functional modules, such as a network module, a bluetooth module, a television channel searching module, an intelligent APP functional module and the like, and a television manufacturer can often make a plurality of televisions with different models, such as: a television manufacturer may produce an intelligent television which comprises an intelligent APP function module, and another non-intelligent television which does not comprise the intelligent APP function module; another example is: a television manufacturer may produce a high-end brand product that includes a bluetooth module and another low-end brand product that does not include a bluetooth module. These brands may have most of the functional modules identical, but the individual functional modules differ. If the codes of each brand and model are written separately, a lot of repeated writing work is available, and if one module finds the BUG, the BUG of all the brand and model codes needs to be modified, so that the workload is huge, and the codes are not easy to maintain synchronously; in order to avoid the problem of the situation, some companies share a set of codes with common parts, and the difference part controls the compiled difference part codes through a compiling script; if one of the modules needs to be updated, then if all modules of the TV system are compiled together into one software, the whole TV system needs to be recompiled, and at the same time, the whole software needs to be upgraded. Many brands of TV systems support online network upgrading, and the size and the network speed of the system affect the upgrading speed. If the interface API of a functional module is called directly by the upper layer, the code of the calling part needs to be modified if the module needs to be removed.
The disadvantages of the method are:
1. all modules are integrated in one software, and when one module is changed, all modules need to be compiled, so that the compiling time is long;
2. if all the functional modules are compiled into a TV system, the upgrading needs to be carried out on the whole software, including upgrading modules without updates, the upgrading file is large, the upgrading time is long, and even the problem of unsuccessful upgrading can occur in a place with poor network;
3. the module can not be disassembled, and the software needs to be recompiled when the module is removed or added.
Disclosure of Invention
The technical problem to be solved by the invention is to provide an easily upgraded and extensible Linux smart television operating system, which reduces the coupling of each layer code of software and enables the software to be compiled and run more flexibly and conveniently.
The invention is realized by the following steps: an easily upgraded and extensible Linux smart television operating system, comprising: the system comprises a UI, a main program, a plug-in set, a platform abstraction layer library and a basic platform function library;
traversing module plug-in directories in the plug-in set by the main program, loading all module plug-ins contained in the module plug-in directories one by one in a dynamic loading mode, informing all supported module plug-ins to a UI by the main program after traversing is completed, and displaying a corresponding UI interface according to the currently supported module plug-ins after the UI receives the notice of the main program;
and each plug-in module calls a basic platform function library through the platform abstraction layer library to realize the calling of the function interface.
Further, the traversing of the module plug-in directory in the plug-in set by the main program, and the loading of all module plug-ins included in the module plug-in directory one by one in a dynamic loading manner further specifically includes: and traversing the module plug-in directory in the plug-in set by the main program, and loading all the module plug-ins contained in the module plug-in directory one by using a dlopenAPI of a dl library through a dynamic library loading mechanism.
Further, each module plug-in needs to implement 3 function methods, including: plug _ Load, plug _ Execute and Server _ PublishNotification _ Callback; the main program calls each module plug-in function method by using dlsymAPI loading of a dl library;
the main program acquires an interface command provided by each module plug-in by calling a Plugin _ Load function method;
the main program executes an interface command of a corresponding module plug-in by calling a plug-in _ Execute function method to acquire related data or Execute related function actions;
the main program registers a Callback interface function to the module plug-in by calling a Server _ Publish Notification _ Callback function method, so that the plug-in module informs the main program of relevant event notification through the registered interface Callback function.
Further, the platform abstraction layer library calls a basic platform function library provided by a board card manufacturer to realize the calling of the function interface.
Further, the module plug-in and platform abstraction layer library are in the form of a shared library or a dynamically linked library.
The invention has the following advantages:
1. the coupling of each layer of codes of the software is reduced, so that the software is more flexible and convenient to compile and run;
2. if only one functional module is updated, only the module plug-in is compiled, and the module plug-in is upgraded, so that the compiling time and the upgrading time are saved;
3. when the television system supports online network upgrade, if only individual function modules are upgraded, the method reduces the size of software to be downloaded, thus improving the success rate of upgrading the software in some areas with poor networks and being more convenient for updating the TV system;
4. the dependence and the coupling of the television system and the bottom layer board card are reduced, and the compatibility and the portability of software are improved; .
Drawings
The invention will be further described with reference to the following examples and figures.
FIG. 1 is a schematic block diagram of the system of the present invention;
FIG. 2 is a diagram of a plug-in directory of the plug-in set according to the present invention.
Detailed Description
As shown in fig. 1, the easily upgraded and extensible Linux smart television operating system of the present invention includes: the system comprises a UI, a main program, a plug-in set, a platform abstraction layer library and a basic platform function library;
traversing module plug-in directories in the plug-in set by the main program, loading all module plug-ins contained in the module plug-in directories one by using a dlopenAPI of a dl library through a dynamic library loading mechanism, informing all supported module plug-ins to a UI (user interface) by the main program after traversing is finished, and displaying a corresponding UI interface according to the currently supported module plug-ins after the UI receives an announcement of the main program;
each plug-in module calls a basic platform function library through a platform abstraction layer library to realize the calling of a function interface;
the platform abstraction layer library calls a basic platform function library provided by a board card manufacturer to realize the calling of a function interface, and the module plug-in and the platform abstraction layer library exist in a shared library or dynamic link library mode.
Each module plug-in needs to implement 3 function methods, including: plug _ Load, plug _ Execute and Server _ PublishNotification _ Callback; the main program calls each module plug-in function method by using dlsymAPI loading of a dl library;
the main program acquires an interface command provided by each module plug-in by calling a Plugin _ Load function method;
the main program executes an interface command of a corresponding module plug-in by calling a plug-in _ Execute function method to acquire related data or Execute related function actions;
the main program registers a Callback interface function to the module plug-in by calling a Server _ Publish Notification _ Callback function method, so that the plug-in module informs the main program of relevant event notification through the registered interface Callback function.
One specific embodiment of the present invention:
1. as shown in fig. 1, the present solution splits system software into five layers, i.e., a UI, a main program, a module plug-in, a platform abstraction layer library and a base platform function library (including hardware drivers);
2. the interactive communication mode of the UI and the main program can be in various modes according to different implementation modes of the UI, for example, if the UI is native UI written by using C/C + +, the API interface provided by the main program can be called by directly calling the API interface, the interactive mode of the UI and the main program is not the core key point of the invention, in the implementation process of the scheme, the UI uses WebUI, and the UI and the main program interact in a mode of carrying out http message communication by using websocket.
3. As shown in FIG. 2, the core focus of the present invention is the interactive design of three layers of main program, functional plug-in, and platform abstraction layer library. The method comprises the steps of firstly separating function modules from a main program, splitting each function module into an independent shared library (link dynamic library) (also called module plugins herein), placing all module plugins under a folder, such as rpc _ plugins, placing each module plugin under a directory independently, placing a Bluetooth module plugin under a bluetooth folder, placing a network plugin module under a network folder, and the like.
4. After the TV system is started, the main program traverses a module plug-in directory (rpc _ plugins), all module plug-ins contained in the directory are loaded one by using a dlopenAPI of a dl library through a dynamic library loading mechanism, after the traversal is completed, the main program informs all module plug-ins supported by the system to a UI, and the UI displays a corresponding UI interface according to the module plug-ins supported by the current system after receiving the notice of the main program.
5. Each module plug-in needs to implement 3 function methods: plug _ Load, plug _ Execute, server _ PublishNotification _ Callback. The main program calls these 3 function methods of each module plug-in using the dlsymAPI load of the dl library. The main program obtains the interface command provided by each module plug-in by calling the plug _ Load function method,
the main program executes the interface command of the corresponding module plug-in to acquire related data or Execute related function actions by calling a plug-in _ Execute function method, and registers a Callback interface function to the module plug-in by calling a Server _ publishing notification _ Callback function method, so that the plug-in module can inform the main program of related event notification through the registered interface Callback function.
6. And each module plug-in unit realizes the calling of the functional interface by directly calling the API interface of the platform abstraction layer library. The platform abstraction layer library is in the form of a shared library (dynamic link library) mainly because it needs to be called by multiple module plug-ins.
7. The platform abstraction layer library realizes the calling of the function interface by directly calling the basic platform function library, so that the addition of the platform abstraction layer library between the module plug-in layer and the basic platform function library is mainly used for abstracting the function of the platform and stripping the coupling relation between the plug-in module and the basic platform function library, so that the platform is changed more easily to improve the expansion compatibility. For example, if a card manufacturer of novatek currently provides a base platform function library, then a TV system manufacturer wants to replace a card with an mstar card, and only needs to replace the mstar card with an abstract platform layer library supporting the base platform function library provided by mstar, and the above layers do not need to be modified. Similarly, if the interface of the basic platform function library provided by the board card manufacturer is updated and adjusted, the function upgrade of the TV system can be realized without modifying the upper layer code only by updating and adjusting the abstract platform layer library.
Although specific embodiments of the invention have been described above, it will be understood by those skilled in the art that the specific embodiments described are illustrative only and are not limiting upon the scope of the invention, and that equivalent modifications and variations can be made by those skilled in the art without departing from the spirit of the invention, which is to be limited only by the appended claims.

Claims (3)

1. An extensible Linux smart television operating system easy to upgrade is characterized in that: the method comprises the following steps: the system comprises a UI, a main program, a plug-in set, a platform abstraction layer library and a basic platform function library;
traversing the module plug-in directories in the plug-in set by the main program, loading all module plug-ins contained in the module plug-in directories one by using a dlopen API of a dl library through a dynamic library loading mechanism, informing all supported module plug-ins to a UI (user interface) by the main program after traversing is completed, and displaying a corresponding UI interface according to the currently supported module plug-ins after the UI receives an announcement of the main program;
each plug-in module calls a basic platform function library through a platform abstraction layer library to realize the calling of a function interface; each of the module plug-ins needs to implement 3 function methods, including: plug _ Load, plug _ Execute and Server _ PublishNotification _ Callback; the main program loads and calls each module plug-in function method by using a dlsym API of a dl library;
the main program acquires an interface command provided by each module plug-in by calling a plug _ Load function method;
the main program executes an interface command of a corresponding module plug-in by calling a plug-in _ Execute function method to acquire related data or Execute related function actions;
the main program registers a Callback interface function to the module plug-in by calling a Server _ Publish Notification _ Callback function method, so that the plug-in module informs the main program of relevant event notification through the registered interface Callback function.
2. The easily upgradeable and extensible Linux smart television operating system of claim 1, wherein: and the platform abstraction layer library calls a basic platform function library provided by a board card manufacturer to realize the calling of the function interface.
3. The easily upgradeable and extensible Linux smart television operating system of claim 1, wherein: the module plug-in and the platform abstraction layer library exist in a shared library or a dynamic link library.
CN202010896821.3A 2020-08-31 2020-08-31 Extensible Linux smart television operating system easy to upgrade Active CN112235639B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010896821.3A CN112235639B (en) 2020-08-31 2020-08-31 Extensible Linux smart television operating system easy to upgrade

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010896821.3A CN112235639B (en) 2020-08-31 2020-08-31 Extensible Linux smart television operating system easy to upgrade

Publications (2)

Publication Number Publication Date
CN112235639A CN112235639A (en) 2021-01-15
CN112235639B true CN112235639B (en) 2023-04-14

Family

ID=74115765

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010896821.3A Active CN112235639B (en) 2020-08-31 2020-08-31 Extensible Linux smart television operating system easy to upgrade

Country Status (1)

Country Link
CN (1) CN112235639B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867840B (en) * 2021-09-29 2023-06-13 四川长虹电器股份有限公司 Smart television WEB NATIVE plug-in frame and construction method
CN114546538B (en) * 2022-04-27 2022-08-02 季华实验室 OSgi-based virtual simulation platform construction method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164239A (en) * 2012-12-11 2013-06-19 广东电网公司电力科学研究院 Plug-in implement method based on micro network visual platform

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478395B2 (en) * 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
CN102375729A (en) * 2010-08-20 2012-03-14 希姆通信息技术(上海)有限公司 Method for designing laminated framework based on ARENA platform high-rise service software
CN101950255A (en) * 2010-09-16 2011-01-19 深圳市迎风传讯科技有限公司 Plug-in management method, plug-in manager and set top box
CN104427388A (en) * 2013-09-10 2015-03-18 国家广播电影电视总局广播科学研究院 Operating system of intelligent television
CN103645901A (en) * 2013-12-16 2014-03-19 上海证券交易所 Event chain based user interface plugin interaction method
CN104333808B (en) * 2014-11-14 2017-10-10 复旦大学 For the universal player on Android and Linux smart television machine
CN105183458A (en) * 2015-08-14 2015-12-23 深圳联友科技有限公司 Software platform development method and apparatus
US10819581B2 (en) * 2018-04-05 2020-10-27 Servicenow, Inc. Performance analytics content gallery
CN110673844A (en) * 2019-09-26 2020-01-10 苏州中科全象智能科技有限公司 Image processing software development method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164239A (en) * 2012-12-11 2013-06-19 广东电网公司电力科学研究院 Plug-in implement method based on micro network visual platform

Also Published As

Publication number Publication date
CN112235639A (en) 2021-01-15

Similar Documents

Publication Publication Date Title
CN109451472B (en) Dynamic management method for multiple Bluetooth chips on Android intelligent device
CN112235639B (en) Extensible Linux smart television operating system easy to upgrade
CN102880498B (en) The method of virtual SD card on the device of Android system
CN105159788B (en) Method and system for dynamically sharing resources between Android applications
CN107305553B (en) Method and system for dynamically jumping Hybrid page based on Hybrid App
CN107741844B (en) Method and device for generating application installation package
CN103246529A (en) Method, equipment and system for updating and pushing navigation bar
CN102830989B (en) Reader provides method, reader and the terminal of service
CN106686200B (en) Mobile application program updating method, mobile terminal and updating system
CN101667131A (en) Mobile terminal and updating method of configuration information thereof
CN102833350A (en) Processing method and processing device of WebApp updating
CN102750176A (en) Software upgrading method and device for network TV
CN111459539A (en) Continuous integration pipeline operation method and device based on mirror layering
CN105808278A (en) Client version upgrading method and device
CN110968331A (en) Method and device for running application program
CN108874412A (en) For updating the method, apparatus, equipment and system of interface layout
CN103634393A (en) IVR (interactive voice response) and realization method thereof
CN113360211A (en) Loading display method based on control and related equipment
CN107193565B (en) Method for developing native APP (application) across mobile terminals
CN113656005B (en) Application component library construction method, application component configuration method and related devices
CN110413292B (en) Light application installation method of application program, mobile terminal and storage medium
CN108733399A (en) The method and apparatus that dynamic updates configuration data
CN101551746A (en) UI interface configuration method of mobile communication terminal
CN112035129A (en) Method and device for driver installation and upgrade and computer equipment
CN104581695A (en) Mobile terminal configuration method and system

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230403

Address after: Room 305, building 2, No. 15, Wanyuan street, Beijing Economic and Technological Development Zone, Daxing District, Beijing 102600

Applicant after: Beijing Zhixiang Information Technology Co.,Ltd.

Address before: 350000 room 2-17z, building 1, No. 27 Huli Road, Mawei District, Fuzhou City, Fujian Province (in the pilot Free Trade Zone)

Applicant before: Fuzhou Zhixiang Information Technology Co.,Ltd.