CN117251140A - Multi-level dynamically extensible software processing method, system, chip and device - Google Patents

Multi-level dynamically extensible software processing method, system, chip and device Download PDF

Info

Publication number
CN117251140A
CN117251140A CN202311266112.7A CN202311266112A CN117251140A CN 117251140 A CN117251140 A CN 117251140A CN 202311266112 A CN202311266112 A CN 202311266112A CN 117251140 A CN117251140 A CN 117251140A
Authority
CN
China
Prior art keywords
plug
level
interface
data source
application 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.)
Pending
Application number
CN202311266112.7A
Other languages
Chinese (zh)
Inventor
李英哲
张敏华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Huashenghua Network Technology Co ltd
Original Assignee
Xiamen Huashenghua 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 Xiamen Huashenghua Network Technology Co ltd filed Critical Xiamen Huashenghua Network Technology Co ltd
Priority to CN202311266112.7A priority Critical patent/CN117251140A/en
Publication of CN117251140A publication Critical patent/CN117251140A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses a multi-level dynamically expandable software processing method, a system, a chip and equipment, wherein an application program is divided into a plurality of functional modules according to functions and actions, each functional module is continuously subdivided, and the divided multi-level functional modules are in a tree structure; each functional module defines interfaces according to the division standard of the functional modules and is realized in a plug-in mode to form a multi-level plug-in structure; placing the multi-level plug-ins under the corresponding paths of the installation platform of the application program; searching all plugins of corresponding types under the corresponding paths, and summarizing the plugins into a tree-shaped data structure as a plugin data source according to the hierarchical relationship of the plugins; updating corresponding plug-in data sources when installing or uninstalling plug-ins; and dynamically displaying the interface of the application program according to the change of the plug-in data source, searching the dynamic library according to the corresponding plug-in name in the plug-in data source by the functional operation on the interface, loading the dynamic library and using the function.

Description

Multi-level dynamically extensible software processing method, system, chip and device
Technical Field
The invention belongs to the technical field of computer software processing, and particularly relates to a multi-level dynamically expandable software processing method, system, chip and equipment.
Background
The software project development is a complex system engineering, high cohesion and low coupling, ensures the independence of modules and the neatness of codes, is key to the quality of the software project, and is also beneficial to the control of the overall risk of the software. However, in the actual development process, due to the problems of skill level of the developer, project emergency degree or subjective attitudes of the developer, project module division is unclear, coupling is serious, and code redundancy is large. Thus, although the development progress of the software can be ensured in the early stage of the project, the later stage is more and more huge along with the project, the code is difficult to modify, the whole body is pulled, a large amount of workload is brought to a simple demand change, the maintenance cost of the project is greatly increased, meanwhile, the reliability and the stability of a software development team can be influenced, and the management of the software project is greatly risked. While some businesses employ code review systems, this is also often limited to local codes and tends to flow to a form that wastes excessive labor and time costs.
In addition, since the software processing system generally needs to perform adaptation processing under a plurality of different platforms, if the management and multiplexing of codes cannot be performed well, a great deal of repeated development is caused, and the development and maintenance cost of enterprises is greatly increased.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a multi-level dynamically expandable software processing method, system, chip and equipment aiming at the defects in the prior art, which are used for solving the technical problems that the software project development process is difficult to manage, the code quality is low and the enterprise development cost is high.
The invention adopts the following technical scheme:
a multi-level dynamically extensible software processing method comprising the steps of:
dividing an application program into a plurality of functional modules step by step according to functions and actions, wherein the divided multi-level functional modules form a tree structure; defining interfaces according to the division standard by each functional module, and realizing the interfaces in a plug-in mode to form a multi-level plug-in structure;
placing multi-level plugins to corresponding paths of an application program installation platform, searching all plugins of corresponding types under the corresponding paths, and summarizing the plugins into a tree data structure according to the level relation of the plugins to serve as plugin data sources;
when the plug-in is installed or uninstalled, the corresponding tree data structure is updated to be used as an update plug-in data source; and the application program interface dynamically displays according to the plug-in data source.
Specifically, a parameter and a return value are reserved in an application program and are universal plug-in interfaces of any data type, plug-in type parameters are arranged in the universal plug-in interfaces, and when new functions are expanded, new functions are dynamically added by adopting plug-ins which are newly added to realize the universal plug-in interfaces.
Further, the universal plug-in interface returns the processing result in an asynchronous callback mode.
Specifically, the user operates a function in the interface specifically:
searching corresponding plug-in names in the plug-in data source, then finding corresponding dynamic libraries according to the plug-in names, loading the corresponding dynamic libraries and using corresponding functions.
Specifically, there is a dependency relationship between a parent-child-level plug-in a multi-level plug-in, a child plug-in follows an interface followed by the parent plug-in and an interface with a specific function, and child plug-ins of the same level differentially implement corresponding functions under the condition of following the same interface.
Specifically, when a function in the user operation interface enters the next interface, a subtree corresponding to the current plugin is searched from the plugin data source, and then a plugin corresponding to the next interface is searched from the subtree.
Specifically, adaptation of multiple platforms of an application handles platform types as a hierarchy of partitions
In a second aspect, the present invention provides a multi-level dynamically extensible software processing system comprising:
the function module divides the application program into a plurality of function modules step by step according to functions and actions, and the divided multi-stage function modules form a tree structure; defining interfaces according to the division standard by each functional module, and realizing the interfaces in a plug-in mode to form a multi-level plug-in structure;
the management module is used for placing the multi-level plug-ins under the corresponding paths of the application program installation platform; searching all plug-ins of corresponding types under the corresponding paths; summarizing the hierarchical relationship of the plugins into a tree data structure serving as a plugin data source; when the plug-in is installed or uninstalled, the corresponding tree data structure is updated to be used as an update plug-in data source; dynamically displaying an interface of the application program according to the plug-in data source; and an operation interface function, namely searching a corresponding plug-in name in a plug-in data source, searching a corresponding dynamic library according to the plug-in name, loading the corresponding dynamic library and using a corresponding function.
In a third aspect, a chip includes a memory, a processor, and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the multi-level dynamically scalable software processing method described above when the computer program is executed.
In a fourth aspect, an embodiment of the present invention provides an electronic device, including the chip, to implement the steps of the above-mentioned multi-level dynamically extensible software processing method.
Compared with the prior art, the invention has at least the following beneficial effects:
the multi-level dynamically extensible software processing method creates multi-level module plugins of a tree structure and builds dependency among the plugins. Compared with a single-function plug-in, the multi-level plug-in has wider application range, and larger functional modules and even whole application programs can be plugged in. The interface is dynamically displayed according to the plug-in data, and the jump of the interface can be controlled according to the dependence among the plug-ins, so that the software project structure is clear and the level is clear, the plug-in mode can standardize the developer to ensure the independence of the modules, the module plug-ins in each level can be dynamically added and unloaded, and the flexibility of the application program is ensured.
Furthermore, a universal plug-in interface is reserved, so that new functions which do not exist in the existing interfaces can be dynamically increased, the independence of newly-added functional modules is guaranteed, the switching principle is met, the modification of original codes is reduced, and the continuous independence of all modules in a project is guaranteed. And when the new function is updated, only the new function and the module plug-in of the calling party are updated, and the whole application is not required to be updated, so that the updating and the updating of the application program are more efficient.
Furthermore, when the plug-in program is operated, the situation that the process waits for the processing result can not be directly returned may exist, and the processing result can be timely returned to the calling party by adopting the asynchronous callback.
The multi-level dynamically expandable software processing system has the advantages that each functional module can be realized in a plug-in mode, so that the independence and decoupling performance of the software system modules are greatly ensured, and the development and maintenance cost of projects is reduced; the processing flow of the software system under multiple platforms is kept consistent, the difference is limited to the platform module plug-in, the code structure is tidy, the logic is clear, the error rate can be reduced, the reusability of the code under each platform is improved, the redundant development is reduced, and the development efficiency is improved.
It will be appreciated that the advantages of the second to fourth aspects may be found in the relevant description of the first aspect and are not repeated here.
In summary, the invention makes the structure of the software project clear, has distinct layers, is beneficial to the independence and decoupling of each module and the newly added module in the project and the plug-in processing of the project module, improves the quality of the software project code, and ensures the flexibility of updating and upgrading the application program due to the characteristic of dynamically installing and uninstalling the modularized plug-in. In addition, the mode suitable for multiple platforms reduces complex logic of multi-platform distinguishing processing, and improves code reusability, so that the efficiency of enterprise software development is improved.
The technical scheme of the invention is further described in detail through the drawings and the embodiments.
Drawings
FIG. 1 is a system block diagram of the present invention;
FIG. 2 is a schematic diagram of a common core module of the present invention;
FIG. 3 is a schematic diagram of a multi-stage functional module according to the present invention;
FIG. 4 is a flow chart of the operation of a plug-in data source;
FIG. 5 is a process of a multi-platform lower platform module;
FIG. 6 is a process of a generic plug-in interface add-on module;
FIG. 7 is a class diagram example of a multi-level functional module;
fig. 8 is a block diagram of a chip according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In the description of the present invention, it will be understood that the terms "comprises" and "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the invention is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations, e.g., a and/or B, may represent: a exists alone, A and B exist together, and B exists alone. In the present invention, the character "/" generally indicates that the front and rear related objects are an or relationship.
It should be understood that although the terms first, second, third, etc. may be used to describe the preset ranges, etc. in the embodiments of the present invention, these preset ranges should not be limited to these terms. These terms are only used to distinguish one preset range from another. For example, a first preset range may also be referred to as a second preset range, and similarly, a second preset range may also be referred to as a first preset range without departing from the scope of embodiments of the present invention.
Depending on the context, the word "if" as used herein may be interpreted as "at … …" or "at … …" or "in response to a determination" or "in response to detection". Similarly, the phrase "if determined" or "if detected (stated condition or event)" may be interpreted as "when determined" or "in response to determination" or "when detected (stated condition or event)" or "in response to detection (stated condition or event), depending on the context.
Various structural schematic diagrams according to the disclosed embodiments of the present invention are shown in the accompanying drawings. The figures are not drawn to scale, wherein certain details are exaggerated for clarity of presentation and may have been omitted. The shapes of the various regions, layers and their relative sizes, positional relationships shown in the drawings are merely exemplary, may in practice deviate due to manufacturing tolerances or technical limitations, and one skilled in the art may additionally design regions/layers having different shapes, sizes, relative positions as actually required.
The invention provides a multi-level dynamically extensible software processing method, which consists of multi-level tree structure modules, wherein each module is subjected to plug-in processing in a dynamic library form, the modules on each level can be dynamically installed and uninstalled, and corresponding interfaces are dynamically displayed according to plug-in data; therefore, the software project structure is clearer, and the plug-in mode can standardize the developer to ensure the independence of the modules; the design of interfaces and user operations is carried out by adopting a similar multi-level structure, so that the logic of the interfaces is clear, the user can easily understand and master the interface, the work of a UI designer is standardized to a certain extent, and the quality of a software processing system is ensured. Further, aiming at the problem that the plug-in interface which does not exist in the software processing system is dynamically increased in the later period, the invention reserves a universal plug-in interface, so that the function which does not exist in the existing interface can be dynamically increased; finally, aiming at the adaptation of the software processing system under multiple platforms, a unified architecture design flow is adopted according to the maximum set of all possible operations under all target platforms, common modules are shared, and the differentiation function is realized by the platform modules corresponding to all the platforms, so that the reusability of codes and architectures is enhanced, and the development efficiency is improved.
The invention groups the modules according to functions and actions to form a plurality of first-level functional modules, each first-level functional module is further subdivided and grouped according to functions and actions to form a plurality of second-level sub-functional modules under the first-level function, and so on, the divided functional modules form an orderly tree structure. The interfaces of the modules are defined according to the grouping standard, the modules of the same hierarchy follow the same interface, and the modules differentially realize the functions under the condition of following the same interface. For the parent-child modules, the child modules follow and implement the interfaces of their specific functions in addition to all interfaces that the parent modules follow. The modules are realized by plug-in according to the following interfaces, and the plug-in modules form a multi-level tree structure.
Referring to fig. 1, the present invention provides a multi-level dynamically expandable software processing system, which can be used to implement a multi-level dynamically expandable software processing method, and specifically, the multi-level dynamically expandable software processing system includes a host program 101, a common core module 102, functional modules 103 and a platform module 104;
referring to fig. 2, the common core module 102 includes a basic function module 201, a plug-in management module 202, and a custom component module 203.
A basic function module 201, configured to encapsulate functions such as network request and data persistence;
the plug-in management module 202 is used for realizing loading and releasing management of plug-in dynamic libraries under different platforms;
the custom component module 203 is configured to encapsulate some UI components commonly used in development, expand a basic SDK, facilitate multiplexing in later UI development, reduce repeated codes, and improve development efficiency.
The common core module 102 is necessarily present in the application.
Referring to fig. 3, the functional module 103 includes a plurality of first functional modules 301 and second functional modules 302, and each first functional module 301 may be divided into a plurality of first secondary sub-functional modules 303 and second secondary sub-functional modules 304 according to functions and actions thereof, and similarly, each secondary functional module may be divided into a plurality of tertiary sub-functional modules, and so on. For multi-level functions, each functional module needs to follow the interface defined by the level, if a parent level exists, the parent level functional module interface of the parent level, and so on, until the interface of the uppermost layer. Thus, multiple sub-functional modules belonging to the same parent function follow the same interface, with each branch of each hierarchy having its particular interface standard. Thus, the multi-level function division is clear, and the plug-in processing of the multi-level function is ensured. The corresponding data model can be organized by adopting a tree data structure, and can meet the data sources required by any form of multi-level view.
Referring to fig. 4, in still another embodiment of the present invention, a multi-level dynamically extensible software processing method of the present invention, an interface in an application system is also generally operated in a tree structure with a certain multi-level, and the interface may be dynamically displayed according to whether a corresponding multi-level module plug-in exists, including the following steps:
s401, when a user enters an interface;
s402, searching a plug-in data source of a corresponding type;
s403, if the plug-in data source does not exist, searching all plug-ins of the type from the local path of the application program, loading the plug-ins to acquire information of the plug-ins, and summarizing the information into a tree data structure according to the hierarchical relationship, namely, the plug-in data source;
s404, a user installs or uninstalls a certain plug-in;
s405, updating corresponding plug-in data sources;
s406, when a plug-in data source exists, displaying the content of the interface according to the plug-in data source, dynamically displaying the interface according to the installation condition of the plug-in, searching a corresponding plug-in name in the plug-in data source when a user operates a certain function in the interface, acquiring a corresponding dynamic library name according to the plug-in name, and searching the dynamic library under a local path, so that the dynamic library can be loaded and used. When a user operates a function in the interface to enter the next interface, the corresponding subtree is searched from the plug-in data source, and the subtrees are processed according to the same logic.
Software processing systems are often required to meet the use under multiple platforms, such as Windows, mac OS X, iOS, android, harmony OS, linux, etc. To reduce development costs, cross-platform technologies are often used to implement the development, such as Web-based cross-platform technologies, qt, flutter, and the like. The cross-platform technology can realize the adaptation of most functions of the soft processing system, so that the operation flows of the soft processing system on different platforms are consistent as a whole, but different processing processes and different implementation of the same operation step exist, so that various special processes are required to be carried out, and the project structure is disordered. The invention provides a platform module plug-in, which can be realized in a multi-level form, wherein the first level is a platform type related interface, and the other levels are divided according to functions and roles. Thus, the corresponding platform module plug-ins are loaded on different platforms according to the platform type interfaces. In addition, when designing a software system, considering the maximum set of all possible processing flows under multiple platforms, if there is an operation on platform 1 and no operation on platform 2, it is necessary to define an interface of the operation in the platform module, and the operation is included in the processing flow of the software system. The interface is specifically realized in the platform 1 module plug-in, and default realization is adopted in the platform 2 module plug-in, and the processing flow is as follows:
from step 501 to step 502 on a platform, step 504 is performed after step 502 is performed. Wherein step 502 has differentiated processing under multiple platforms. If the processing of step 502 is not needed under the current platform, the platform module 503 adopts its default implementation; if the current platform needs to perform the processing of step 502, the development platform module needs to implement 503 the subclassing of the interface corresponding to step 502.
The processing method under the platform is specifically implemented, and then the platform module plugin is put under the corresponding path, so that the platform module plugin is conveniently loaded to execute 503.
When loading the platform module library, judging whether the platform type returned in the platform type interface of the platform module plug-in is consistent with the current platform, and executing the method in the plug-in if the platform type is consistent with the current platform.
The plug-in framework usually needs a host program, the host program contains a header file with a well-defined interface specification, and the plug-in module can load the module into the host program in the form of a dynamic library so as to realize calling as long as the plug-in module realizes the defined interface. Since the interface file is located in the host program, it exists at the time of initial installation, and the host program needs to be updated when the developer later wants to add a new interface. In addition to the existing well-defined interfaces, the invention reserves a universal plug-in interface with parameters and return values of any data type in the host program. The interface returns a processing result in an asynchronous callback mode, and the interface is also provided with a plugin type parameter for distinguishing the type of plugins for realizing the interface. The specific use is as follows:
the plug-in module follows the universal plug-in interface to realize the special function, and parameters in the interface are transferred according to the requirement of the plug-in, so that the calling party of the plug-in also needs to assign values according to the type. The plug-in also needs to return a unique id indicating the type of the plug-in. So that the plug-in call facility can validate the plug-in library based on this id.
When new development requirements are met in the later period and the function is not available in the current framework flow, the plug-in for realizing the universal plug-in interface adopts the new addition to dynamically add new functions.
Referring to fig. 6, the original processing framework process is from step 601 to step 602, and a plug-in following the universal plug-in interface is developed to add a new function before step 602, the original operation process is changed to step 601 to call step 603, and then step 603 calls step 602.
In yet another embodiment of the present invention, a terminal device is provided, the terminal device including a processor and a memory, the memory for storing a computer program, the computer program including program instructions, the processor for executing the program instructions stored by the computer storage medium. The processor may be a central processing unit (Central Processing Unit, CPU), but may also be other general purpose processor, digital signal processor (Digital Signal Processor, DSP), application specific integrated circuit (Application Specific Integrated Circuit, ASIC), off-the-shelf programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc., which are the computational core and control core of the terminal adapted to implement one or more instructions, in particular to load and execute one or more instructions to implement the corresponding method flow or corresponding functions; the processor according to the embodiment of the invention can be used for the operation of a multi-level dynamically extensible software processing method, and comprises the following steps:
dividing an application program into a plurality of functional modules step by step according to functions and actions, wherein the divided multi-level functional modules form a tree structure; defining interfaces according to the division standard by each functional module, and realizing the interfaces in a plug-in mode to form a multi-level plug-in structure; placing the multi-level plug-in structure under a corresponding path of the application; after the application program is started, searching for a plug-in of a corresponding type under a corresponding path; summarizing the hierarchical relationship of the plugins into a tree data structure serving as a plugin data source; when the plug-in is installed or uninstalled, the corresponding tree data structure is updated to be used as an update plug-in data source; and the application program interface dynamically displays according to the plug-in data source.
Referring to fig. 8, the terminal device is a chip, and the chip 800 of this embodiment includes a processor 822, which may be one or more in number, and a memory 832 for storing a computer program executable by the processor 822. The computer program stored in memory 832 may include one or more modules each corresponding to a set of instructions. Further, the processor 822 may be configured to execute the computer program to perform the multi-level dynamically extensible software processing method described above.
In addition, chip 800 may also include a power supply component 826 and a communication component 850, which power supply component 826 may be configured to perform power management of chip 800, and which communication component 850 may be configured to enable communication of chip 800, such as wired or wireless communication. In addition, the chip 800 may also include an input/output (I/O) interface 858. Chip 800 may operate based on an operating system stored in memory 832.
In a further embodiment of the present invention, the present invention also provides a storage medium, in particular, a computer readable storage medium (Memory), which is a Memory device in a terminal device, for storing programs and data. It will be appreciated that the computer readable storage medium herein may include both a built-in storage medium in the terminal device and an extended storage medium supported by the terminal device. The computer-readable storage medium provides a storage space storing an operating system of the terminal. Also stored in the memory space are one or more instructions, which may be one or more computer programs (including program code), adapted to be loaded and executed by the processor. The computer readable storage medium may be a high-speed RAM Memory or a Non-Volatile Memory (Non-Volatile Memory), such as at least one magnetic disk Memory.
One or more instructions stored in a computer-readable storage medium may be loaded and executed by a processor to implement the respective steps of the method of software processing relating to multi-level dynamically extensible in the above embodiments; one or more instructions in a computer-readable storage medium are loaded by a processor and perform the steps of:
dividing an application program into a plurality of functional modules step by step according to functions and actions, wherein the divided multi-level functional modules form a tree structure; defining interfaces according to the division standard by each functional module, and realizing the interfaces in a plug-in mode to form a multi-level plug-in structure; placing the multi-level plug-in structure under a corresponding path of the application; after the application program is started, searching for a plug-in of a corresponding type under a corresponding path; summarizing the hierarchical relationship of the plugins into a tree data structure serving as a plugin data source; when the plug-in is installed or uninstalled, the corresponding tree data structure is updated to be used as an update plug-in data source; and the application program interface dynamically displays according to the plug-in data source.
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. The components of the embodiments of the present invention generally described and illustrated in the figures herein may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the invention, as presented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Application instance
Functional modules, such as digital painting materials management software, often include menu bars that provide the primary functions of the materials management software, such as materials malls, materials courses, and the like. Each functional module may further comprise a plurality of sub-functional modules, such as a material course module further comprising an image-text material course, a video material course, etc. In programming, all menu items in the menu bar belong to the first hierarchy, and all menu items of this hierarchy follow a common interface MenuInterface, 701 in FIG. 7. In plug-in traversal, the plug-in that inherits the interface is a menu bar plug-in. The Menu interface contains the type of menu, such as mall or course; the serial number of the tool can be ordered when the interface is displayed based on the plug-in data source according to the serial number; the name of the tool, meuName, and some image resources contained in the tool, such as icon iconName; the various classes of course plug-ins under the course module may follow a second interface or protocol (different languages have different implementations, e.g., c++ may be multi-inherited, while Java implements multiple interfaces), i.e., the class plug-in 703 follows the first interface menu interface to indicate that it is a menu item, and also follows the second interface plurseinterface (702) to indicate that it is a course. Therefore, when the function of the plugin is dataized, all plugins based on the first-level interface are classified into one class, the plugins which follow the same second-level interface are classified into one class under the condition of following the first-level interface, if the plugins are also classified into three-level interfaces, the plugins are analogically, a tree data structure related to the menu plugins is formed, namely, the plugin data source of the menu class, and for the content needing to be displayed in the menu column, only the first-layer sub-node of the tree is needed to be obtained, so that the content of the menu column is dynamically displayed according to the data of the first-layer sub-node. If a course exists in the first-layer child node, that is, a plugin named course exists in the MenuInterface in the plugin, the tool list acquires the Icon from the value of iconName in the MenuInterface, so that the course Icon is displayed in the tool list. When the user clicks the course icon in the menu bar, a subtree with a parent node being a CourseInterface is searched in the tree data in a middle-order traversal mode, so that the available course types of the user are dynamically displayed according to the data, and the user can select the course types to display all courses of the types. The courseIterface can be further specifically divided into a teletext course and a video course. If a tool does not have multiple forms of sub-functions, only one form of the sub-functions exists, only the MenuInterface interface is required to be followed, and then the functions of the tool are realized on the basis. For example, mall menu 704 is typically only one form, and only inherits MenuInterface to indicate that it is a menu item, and its own specific functionality adds a corresponding method to implement. If the online real-time course is added in the later period, only one plug-in class which simultaneously follows MenuInterface and CourseInterface is needed to be realized, and the operation of drawing the video stream in real time to render is realized in a load (id) method. And then the plug-in is placed at a corresponding position under the software processing system, the course type on the interface can be dynamically displayed as three items of a picture, a video and an online, and a user can click options to acquire corresponding course resources.
An existing software processing system supports both a Mac platform and a Windows platform. In the user login interface, the Mac platform needs to provide a user 'privacy protocol' confirmation function due to new auditing requirements of the apple, while the Windows platform does not need to realize the function. Whereas the online software processing system does not include the processing of this function. At this point we can dynamically add a privacy protocol processing plug-in that follows the generic plug-in interface. When developing, all relevant privacy protocol functions are packaged into a module and a plug-in, wherein the module comprises a clickable 'privacy protocol' prompt and a check box for judging whether the prompt is read or not, specific privacy protocol content loaded by the privacy protocol is clicked, and an asynchronously returned module interface value is 'whether read or not'. The plug-in also needs to return a unique id value. And when the user selects the read UI, the returned value in the plug-in is changed into YES, otherwise, the value is NO. Thus, when the user fills in other login data to click, whether the privacy protocol is read or not is directly obtained from the module, and then related login operation is carried out. When processing on Windows platform, the plug-in interface returns a "whether read" default value of YES, so that the next processing can be directly performed. And judging that the login interface is not Mac according to the platform type interface, and displaying the login interface in a mode of no privacy protocol correlation. According to the method, the added privacy protocol function only relates to the modification of the new privacy protocol plug-in and the login module plug-in, the application does not need to be upgraded, and other modules are not affected. Although the relevant processing logic can be directly added in the login module, the independence of the module and the multiplexing of codes are not facilitated, and for example, the privacy protocol function can be related to the setting module; meanwhile, if the related judging method of the privacy protocol is required to be changed in the later period, whether the privacy protocol is read or not is judged according to whether the time length for reading the specific content of the privacy protocol is enough or not. The corresponding modification is completed in the plug-in content of the privacy protocol, the influence on other modules is not required, and the whole application is not required to be updated and upgraded.
In summary, the multi-level dynamically extensible software processing method, system, chip and device provided by the invention enable the software project to be clear in structure and distinct in hierarchy, are beneficial to independence and decoupling of each module and a newly added module in the project and plug-in processing of the project module, improve the quality of software project codes, and ensure the flexibility of updating and upgrading of application programs due to the characteristic of dynamic installation and unloading of modular plug-ins. In addition, the mode suitable for multiple platforms reduces complex logic of multi-platform distinguishing processing, and improves code reusability, so that the efficiency of enterprise software development is improved.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-described division of the functional units and modules is illustrated, and in practical application, the above-described functional distribution may be performed by different functional units and modules according to needs, i.e. the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-described functions. The functional units and modules in the embodiment may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit, where the integrated units may be implemented in a form of hardware or a form of a software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working process of the units and modules in the above system may refer to the corresponding process in the foregoing method embodiment, which is not described herein again.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and in part, not described or illustrated in any particular embodiment, reference is made to the related descriptions of other embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus/terminal and method may be implemented in other manners. For example, the apparatus/terminal embodiments described above are merely illustrative, e.g., the division of the modules or units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection via interfaces, devices or units, which may be in electrical, mechanical or other forms.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present invention may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated modules/units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the present invention may implement all or part of the flow of the method of the above embodiment, or may be implemented by a computer program to instruct related hardware, where the computer program may be stored in a computer readable storage medium, and when the computer program is executed by a processor, the computer program may implement the steps of each of the method embodiments described above. Wherein the computer program comprises computer program code which may be in source code form, object code form, executable file or some intermediate form etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a U disk, a removable hard disk, a magnetic disk, an optical disk, a computer Memory, a Read-Only Memory (ROM), a random access Memory (RandomAccess Memory, RAM), an electrical carrier wave signal, a telecommunications signal, a software distribution medium, etc., it should be noted that the computer readable medium may contain content that is appropriately increased or decreased according to the requirements of jurisdictions and patent practices, such as in certain jurisdictions, according to the jurisdictions and patent practices, the computer readable medium does not contain electrical carrier wave signals and telecommunications signals.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The above is only for illustrating the technical idea of the present invention, and the protection scope of the present invention is not limited by this, and any modification made on the basis of the technical scheme according to the technical idea of the present invention falls within the protection scope of the claims of the present invention.

Claims (10)

1. The multi-level dynamically extensible software processing method is characterized by comprising the following steps:
dividing an application program into a plurality of functional modules step by step according to functions and actions, wherein the divided multi-level functional modules form a tree structure; defining interfaces according to the division standard by each functional module, and realizing the interfaces in a plug-in mode to form a multi-level plug-in structure;
placing multi-level plugins to corresponding paths of an application program installation platform, searching all plugins of corresponding types under the corresponding paths, and summarizing the plugins into a tree data structure according to the level relation of the plugins to serve as plugin data sources;
when the plug-in is installed or uninstalled, the corresponding tree data structure is updated to be used as an update plug-in data source; and the application program interface dynamically displays according to the plug-in data source.
2. The method for processing multi-level dynamically extensible software according to claim 1, wherein a generic plug-in interface with a parameter and a return value of any data type is reserved in an application program, and a plug-in type parameter is provided in the generic plug-in interface, and when a new function is extended, a new function is dynamically added by adopting a plug-in for realizing the generic plug-in interface.
3. The method for processing the multi-level dynamically extensible software according to claim 2, wherein the universal plug-in interface returns the processing result in an asynchronous callback manner.
4. The multi-level dynamically extensible software processing method of claim 1, wherein the user operates a function in the interface specifically:
searching corresponding plug-in names in the plug-in data source, then finding corresponding dynamic libraries according to the plug-in names, loading the corresponding dynamic libraries and using corresponding functions.
5. The multi-level dynamically extensible software processing method according to claim 1, wherein a dependency relationship exists between parent-child level plug-ins in the multi-level plug-ins, child plug-ins follow interfaces followed by the parent plug-ins and interfaces with specific functions, and child plug-ins of the same level differentially implement corresponding functions while following the same interfaces.
6. The method for processing multi-level dynamically extensible software according to claim 1, wherein when a function in the user operation interface enters a next-level interface, a subtree corresponding to a current plug-in is searched from the plug-in data source, and then a plug-in corresponding to the next-level interface is searched from the subtree.
7. The multi-level dynamically extensible software processing method of claim 1, wherein the adaptation of the application multi-platform handles the platform type as a hierarchy partition.
8. A multi-level dynamically extensible software processing system, comprising:
the function module divides the application program into a plurality of function modules step by step according to functions and actions, and the divided multi-stage function modules form a tree structure; defining interfaces according to the division standard by each functional module, and realizing the interfaces in a plug-in mode to form a multi-level plug-in structure;
the management module is used for placing the multi-level plug-ins under the corresponding paths of the application program installation platform; searching all plug-ins of corresponding types under the corresponding paths; summarizing the hierarchical relationship of the plugins into a tree data structure serving as a plugin data source; when the plug-in is installed or uninstalled, the corresponding tree data structure is updated to be used as an update plug-in data source; dynamically displaying an interface of the application program according to the plug-in data source; and an operation interface function, namely searching a corresponding plug-in name in a plug-in data source, searching a corresponding dynamic library according to the plug-in name, loading the corresponding dynamic library and using a corresponding function.
9. A chip is characterized in that,
a memory having a computer program stored thereon;
a processor for executing the computer program in the memory to implement the steps of the method of any one of claims 1-6.
10. An electronic device, characterized in that,
comprising a chip as claimed in claim 9.
CN202311266112.7A 2023-09-28 2023-09-28 Multi-level dynamically extensible software processing method, system, chip and device Pending CN117251140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311266112.7A CN117251140A (en) 2023-09-28 2023-09-28 Multi-level dynamically extensible software processing method, system, chip and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311266112.7A CN117251140A (en) 2023-09-28 2023-09-28 Multi-level dynamically extensible software processing method, system, chip and device

Publications (1)

Publication Number Publication Date
CN117251140A true CN117251140A (en) 2023-12-19

Family

ID=89136518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311266112.7A Pending CN117251140A (en) 2023-09-28 2023-09-28 Multi-level dynamically extensible software processing method, system, chip and device

Country Status (1)

Country Link
CN (1) CN117251140A (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937353A (en) * 2010-09-20 2011-01-05 中兴通讯股份有限公司 Method and device for deploying and loading plug-in unit
CN102722368A (en) * 2012-05-21 2012-10-10 北京广利核系统工程有限公司 Plug-in software designing method based on document tree and message pump
CN103856396A (en) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 Message transmission method between plugins and system thereof and proxy plugin
CN105183458A (en) * 2015-08-14 2015-12-23 深圳联友科技有限公司 Software platform development method and apparatus
CN112235639A (en) * 2020-08-31 2021-01-15 福州智象信息技术有限公司 Extensible Linux smart television operating system easy to upgrade
CN115048382A (en) * 2022-06-23 2022-09-13 深圳壹账通科技服务有限公司 Hierarchical data searching method, device, equipment and storage medium based on binary tree

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101937353A (en) * 2010-09-20 2011-01-05 中兴通讯股份有限公司 Method and device for deploying and loading plug-in unit
CN102722368A (en) * 2012-05-21 2012-10-10 北京广利核系统工程有限公司 Plug-in software designing method based on document tree and message pump
CN103856396A (en) * 2012-11-30 2014-06-11 中兴通讯股份有限公司 Message transmission method between plugins and system thereof and proxy plugin
CN105183458A (en) * 2015-08-14 2015-12-23 深圳联友科技有限公司 Software platform development method and apparatus
CN112235639A (en) * 2020-08-31 2021-01-15 福州智象信息技术有限公司 Extensible Linux smart television operating system easy to upgrade
CN115048382A (en) * 2022-06-23 2022-09-13 深圳壹账通科技服务有限公司 Hierarchical data searching method, device, equipment and storage medium based on binary tree

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曾青松;: "一种基于插件的管理信息系统框架的实现", 番禺职业技术学院学报, no. 03, 20 September 2008 (2008-09-20) *

Similar Documents

Publication Publication Date Title
US8312060B2 (en) Methods and apparatus for accessing process control data
US9465590B2 (en) Code generation framework for application program interface for model
US8307379B2 (en) Determining an extension to use to process an input object to a call in a program
US5519866A (en) Method and apparatus of incrementally linking components of a modeled computer program
CN108319460B (en) Method and device for generating application program installation package, electronic equipment and storage medium
US20040268298A1 (en) Generation of configuration instructions using an abstraction technique
US7810102B2 (en) Service adaptation of the enterprise services framework
US8869100B1 (en) Data objects for model-based design
US10666744B2 (en) Managing discovery and selection of service interface specifications
EP4009162A1 (en) Code change method and device
US10831171B2 (en) Auto binding of templates into existing systems
CN113094028B (en) Windows desktop program development system, method and related components
CN115480801A (en) Multi-project development, deployment and operation method and system based on Vue framework
US20070233717A1 (en) Generic product configuration framework for building product specific installers
US9141352B2 (en) Dynamically building locale objects at run-time
CN112685040B (en) Method, device, equipment and storage medium for generating interface file in android system
CN117251140A (en) Multi-level dynamically extensible software processing method, system, chip and device
CN111651160B (en) Plug-in construction and webpage design method and device
CN112068895B (en) Code configuration method, device, video playing equipment and storage medium
CN114201174A (en) Construction method and device of hybrid mobile application, electronic equipment and storage medium
US20100299619A1 (en) Model for Reusable User Interface and Logic for Software Wizards
CN113971019B (en) Data type creation method, device, server and medium
CN112751687B (en) Cluster creation method and device
CN109905475B (en) Method for outputting cloud computing monitoring data in specified format based on SQL
US20050108279A1 (en) Method and dynamic system for the mangement and production of technical documentation in a database

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