Method and device for generating and registering UI service package and loading UI service

By generating and registering UI service packages and loading UI services using dependency graphs, the problem of UI reuse between scenario-like UI applications under the micro front-end architecture is solved, and efficient UI integration and operation efficiency improvement is achieved.

CN113849242BActive Publication Date: 2025-02-07HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202010538371.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-12
Publication Date
2025-02-07
Estimated Expiration
2040-06-12

Smart Images

  • Figure CN113849242B_ABST
    Figure CN113849242B_ABST
Patent Text Reader

Abstract

The present application discloses a method and device for generating, registering a UI service package, and loading a UI service, and relates to the field of software engineering. When a scenario-based UI application is constructed by using the UI service in the UI service package in this method, the integration efficiency is high, and the operation efficiency of the scenario-based UI application is high. The method for loading a UI service is applied to a loading device. The method includes: receiving a loading request including a reuse path of a UI service to be loaded, the loading request is used to request loading of the UI service to be loaded; determining the dependency of the UI service to be loaded according to a dependency graph; loading the UI service to be loaded and the dependency of the UI service to be loaded; wherein the reuse path of the UI service to be loaded is used to indicate the access path of the UI service to be loaded, the dependency graph indicates the dependency of at least one UI service in at least one UI service package, and indicates that any UI service in the at least one UI service package is referenced as a dependent UI service.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of software engineering, and in particular to a method and device for generating and registering a user interface (UI) service package, and loading a UI service. Background Art

[0002] The construction of traditional applications is a set of tool UIs that developers implement based on a certain process point of the user (such as a process point at work or in life) to meet the calculation needs of the process point. This tool UI set is a traditional tool application. A set of interactive operations with the UI in the tool application generated by the user according to his own scenario can enable the application to output calculation results that meet a certain scenario of the user.

[0003] With the development of artificial intelligence (AI) technology, in order to improve the user experience of using applications, developers have built applications based on AI technology: based on the above-mentioned set of user-interaction operations with the UI based on the scenario, a scenario-based UI application is built. Among them, the scenario-based UI application can provide users with a scenario UI based on the user scenario identified by AI. The user interacts with the scenario UI once, and the calculation results generated by the user and the tool UI that require multiple interactions can be output.

[0004] In the prior art, developers can develop the above-mentioned scenario-based UI applications based on the micro-frontend architecture. However, the multiple scenario-based UI applications developed through the micro-frontend architecture cannot efficiently reuse UI. Therefore, the integration of scenario-based UI applications developed according to the existing micro-frontend architecture is difficult, and the operating efficiency is poor when multiple nested integrated UI applications are used. Summary of the invention

[0005] The present application provides a method and device for generating, registering a UI service package, and loading a UI service. When a scenario-type UI application is constructed and developed through the UI service in the UI service package in this method, the integration efficiency is high, and the operation efficiency of the scenario-type UI application is high.

[0006] To achieve the above objectives, this application provides the following technical solutions:

[0007] In a first aspect, the present application provides a method for loading a UI service, and the method is applied to a loading device. The method includes: receiving a loading request. The loading request is used to request the loading of the UI service to be loaded, and the loading request includes a reuse path of the UI service to be loaded, and the reuse path of the UI service to be loaded is used to indicate the access path of the UI service to be loaded. Determine the dependency of the UI service to be loaded according to a dependency graph. The dependency graph indicates the dependency of at least one UI service in at least one UI service package, and indicates a UI service that references any UI service in at least one UI service package as a dependency. Load the UI service to be loaded and the dependency of the UI service to be loaded.

[0008] In software engineering, dependency refers to the algorithm or function required to perform a task (such as UI service). The algorithm or function can be another task, such as UI service or runtime dependency. Dependency graph is used to indicate the interdependence between multiple tasks. Runtime dependency is the dependency required to run the UI.

[0009] Through the method provided by the present application, the loading device can determine all the dependencies of the UI services to be loaded at one time in the dependency graph used to indicate the dependency relationship between UI services according to the reuse path of the UI services to be loaded. In this way, the loading device can load the UI services to be loaded and the dependencies of the UI services to be loaded according to the determined dependencies of the UI services to be loaded, thereby improving the efficiency of loading the UI services to be loaded and their dependencies, that is, improving the operating efficiency of the scene-based UI applications integrated through the UI services.

[0010] In a possible design, the reuse path of the UI service to be loaded includes an ambiguous version number of a UI service package to which the UI service to be loaded belongs.

[0011] According to this possible design, the loading device can match the latest version of the UI service package including the UI service to be loaded according to the fuzzy version number in the reuse path during the process of loading the UI service to be loaded. In this way, even if the UI service package is updated, the developer does not need to redevelop the scenario-based UI application integrated based on the UI service in the UI service package, thereby saving resources.

[0012] In another possible design manner, the dependency graph is obtained based on a dependency set of some or all of the UI service packages in at least one UI service package.

[0013] In another possible design, the dependency set includes the dependency of at least one UI service in some or all UI service packages, wherein the dependency of at least one UI service in some or all UI service packages is used to indicate the dependency of at least one UI service in some or all UI service packages.

[0014] In another possible design, the code of any UI service in the at least one UI service package includes a reuse path, wherein the reuse path in the code of any UI service is used to indicate a dependent access path of the any UI service.

[0015] In another possible design manner, the at least one UI service package is a UI service package registered in at least one UI service package registration device.

[0016] Through this possible design, the same UI service package can be registered in different registration devices, so that different developers can develop UI services for different application scenarios based on the UI services in the UI service package, thereby saving the workload of developing UI applications for different scenarios.

[0017] In another possible design, the at least one UI service package includes a first UI service package. The reuse path in the code of the first UI service in the first UI service package satisfies at least one of the following conditions: the reuse path in the code of the first UI service is used to indicate the access path of the second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, the reuse path in the code of the first UI service is used to indicate the access path of the runtime dependency, the runtime dependency is a dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device. Among them, the first UI service package is any UI service package in the at least one UI service package, and the first UI service is any UI service in the first UI service package.

[0018] Among them, runtime dependencies are dependencies required when running the UI. When the runtime dependency code is converted by the development framework, the resulting public dependency UI service package includes runtime dependencies. Runtime dependencies correspond one-to-one to runtime dependencies.

[0019] Through the above possible designs, the UI service in this application can efficiently reuse other UI services or runtime dependencies through the reuse path. In this way, the UI service that reuses other UI services or runtime dependencies has high integration efficiency when integrating scenario-based UI applications.

[0020] In another possible design manner, the above-mentioned “determining the dependencies of the UI service to be loaded according to the dependency graph” includes: determining a reuse path of the dependencies of the UI service to be loaded according to the above-mentioned dependency graph.

[0021] In this way, when the loading device determines the reuse path of the dependency of the UI service to be loaded, it can match the latest version of the UI service package including the dependency according to the fuzzy version number in the reuse path. In this way, even if the UI service package is updated, the developer does not need to redevelop the scene-based UI application integrated based on the UI service in the UI service package, thereby saving resources.

[0022] In another possible design, before the above “loading the UI service to be loaded and its dependencies”, the above method further includes: downloading the UI service to be loaded and its dependencies in parallel based on the reuse path of the UI service to be loaded and the reuse path of its dependencies. The above “loading the UI service to be loaded and its dependencies” includes: loading the downloaded UI service to be loaded and its dependencies.

[0023] In this way, since the loading device can determine all dependencies of the UI service to be loaded at one time through the dependency graph, the loading device can download the UI service to be loaded and its dependencies in parallel. Compared with the dependencies of the prior art that require serial download tasks, the method provided by the present application improves the efficiency of downloading the UI service to be loaded and its dependencies.

[0024] In another possible design, the above-mentioned “loading the downloaded UI services to be loaded and the dependencies of the UI services to be loaded” includes: loading the downloaded UI services to be loaded and the dependencies of the UI services to be loaded in sequence according to the dependency relationships indicated by the above-mentioned dependency graph.

[0025] In another possible design manner, the above method also includes: if the dependency of the above-mentioned UI service to be loaded is a runtime dependency, then in the process of loading the above-mentioned at least one UI service and the dependency of the above-mentioned UI service to be loaded, when the runtime dependency is loaded for the first time, the driver of the runtime dependency is started.

[0026] Through this possible design, compared with the prior art, which requires manual startup of a driver of at least one runtime dependency, the method provided by the present application reduces the workload when developing UI applications.

[0027] In another possible design manner, the above method further includes: updating the above dependency graph.

[0028] Through this possible design, the loading device can determine the dependencies of the UI service to be loaded in the latest dependency graph. In this way, even if the UI service package including the UI service to be loaded has been updated, the UI service to be loaded may optimize the performance or interface by reusing a UI service different from the UI service reused before the update. Through the method of the present application, the loading device can determine the latest current dependencies of the UI service to be loaded through an updated dependency graph. In this way, the scenario-type UI application including the UI service to be loaded can show the latest performance to the user without updating the version.

[0029] In another possible design, if the loading device includes a first loading device and a second loading device, the first loading device and the second loading device are isolated from each other. The first loading device and the second loading device are both used to load UI services for a software system.

[0030] In a second aspect, the present application provides a method for generating a UI service package, which is applied to a device for generating a UI service package. The method includes: obtaining the code of the UI service. The code of the UI service includes a reuse path, which is used to indicate the access path of the service dependency. The code of the UI service is converted to obtain a first UI service package. The first UI service package includes at least one UI service.

[0031] Through the method provided by the present application, the UI services in different UI service packages generated by the generating device can be efficiently reused with each other through the reuse path, so that the scene-type UI application can be efficiently integrated according to the UI service packages in different UI service packages. Furthermore, when loading the UI service in the scene-type UI application, it can be loaded through the reuse path of the UI service, which can improve the loading efficiency of the UI service, that is, improve the operating efficiency of the scene-type UI application.

[0032] In a possible design, the reuse path in the code of the first UI service in the first UI service package satisfies at least one of the following conditions: the reuse path in the code of the first UI service is used to indicate the access path of the second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, the reuse path in the code of the first UI service is used to indicate the access path of the runtime dependency, the runtime dependency is a dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device. Wherein, the first UI service is any UI service in the first UI service package.

[0033] In another possible design, the reuse path in the code of the first UI service includes an ambiguous version number, which is used to indicate a second UI service package or at least one common dependent UI service package that meets a preset version condition.

[0034] According to this possible design, in the method provided by the present application, the reuse path in the code of the UI service in the UI service package generated by the generating device includes a fuzzy version number. In this way, when the UI service is loaded, it can be matched to the latest version of the UI service package including the UI service according to the fuzzy version number in its reuse path. In this way, even if the UI service package is updated, the developer does not need to redevelop the scenario-based UI application integrated based on the UI service in the UI service package, thereby saving resources.

[0035] In another possible design, the obtained UI service code is written based on a development framework. The above "converting the UI service code to obtain a first UI service package" includes: converting the UI service code through the above development framework to obtain the first UI service package.

[0036] In another possible design manner, the second UI service package or the common dependent UI service package is obtained based on the development framework.

[0037] Through these two possible designs, developers can write UI service codes based on a unified development framework, and then the device generating the UI service package converts the UI service code through the development framework to obtain the corresponding UI service package. In this way, the unified standard for developing UI services reduces the threshold for subsequent developers to integrate UI services.

[0038] In another possible design, the above “converting the code of the UI service through the above development framework to obtain the first UI service package” includes: based on a preset configuration file, converting the code of the UI service through the above development framework to obtain the first UI service package. The configuration file is used to indicate the type of the first UI service package, and the type of the first UI service package is used to indicate the purpose of the first UI service package.

[0039] In another possible design manner, the type of the first UI service package includes at least one of the following: a business UI service package, a UI service package for implementing a loading device function, or a public dependency UI service package.

[0040] Through these two possible designs, the device for generating UI service packages can generate UI service packages for different purposes. In this way, the UI service packages generated by the device for generating UI service packages can build a complete ecosystem for developing scenario-based UI applications based on UI service packages.

[0041] In another possible design, the method further includes: publishing registration information of the first UI service package. The registration information includes the name of the first UI service package and a network address for deploying the first UI service package. The registration information is used to register the first UI service package in at least one UI service package registration device.

[0042] Through this possible design, the UI service package obtained by the method of this application can be obtained by the registration devices of different service providers. In this way, the different service providers can develop their own scenario-based UI applications based on the UI service package. In this way, the workload of the service provider in developing scenario-based UI applications is reduced. This is because the service provider does not need to develop the UI service package again, but only needs to reuse the UI services in the UI service package to develop its own scenario-based UI application.

[0043] In another possible design, the first UI service package includes a first dependency set, wherein the first dependency set includes a dependency of at least one UI service in the first UI service package, wherein the dependency is used to indicate a dependency of at least one UI service in the first UI service package.

[0044] In another possible design, the method further includes: sending the first dependency set to the at least one UI service package registration device, where the at least one UI service package registration device is used to register the first UI service package.

[0045] Through the above two possible designs, the UI service package registration device can obtain the dependency set of the UI service package generated by the device generating the UI service package. In this way, the loading device can obtain the dependency graph required when loading the UI service according to the dependency set, and the dependency graph includes the dependency relationships of the UI services in the UI service package registered in the UI service package registration device.

[0046] In this way, when loading the UI service to be loaded, the loading device can simultaneously determine the reuse paths of all dependencies of the UI service to be loaded in the dependency graph. In this way, the loading device can download the UI service to be loaded and its dependencies in parallel according to the reuse paths of the UI service to be loaded and its dependencies, and then load the UI service to be loaded and its dependencies in sequence, thereby improving the efficiency of downloading and loading the UI service and its dependencies, that is, improving the efficiency of loading the UI service to be loaded that reuses the UI service or runtime dependencies, thereby improving the running efficiency of the scene-based UI application including the UI service to be loaded.

[0047] In another possible design, the method further includes: updating the first UI service package, wherein the updated first UI service package includes a second dependency set, and the second dependency set includes a dependency of at least one UI service in the updated first UI service package.

[0048] In another possible design, the method further includes: sending a second dependency set to the at least one UI service package registration device.

[0049] Through the above two possible designs, the UI service package registration device can obtain the latest dependency set of the UI service package generated by the UI service package generating device. In this way, the loading device can obtain the latest dependency graph required for loading the UI service according to the latest dependency set.

[0050] In this way, when loading the UI service to be loaded, the loading device can simultaneously determine the reuse paths of all dependencies of the UI service to be loaded in the latest dependency graph. In this way, the loading device can download the UI service to be loaded and its dependencies in parallel according to the reuse paths of the UI service to be loaded and its dependencies, and then load the UI service to be loaded and its dependencies in sequence, thereby improving the efficiency of downloading and loading the UI service and its dependencies, that is, improving the operating efficiency of the UI service to be loaded that reuses the UI service or runtime dependencies.

[0051] In another possible design manner, all or part of the UI services in the first UI service are allowed to be referenced as dependencies.

[0052] In a third aspect, the present application provides a method for registering a UI service package, which is applied to a UI service package registration device. The method includes: obtaining registration information of a first UI service package. The registration information includes the name of the first UI service package and a network address for deploying the first UI service package. The registration information is added to a registration list of the UI service package registration device. The code of the first UI service in the first UI service package includes a reuse path, which is used to indicate an access path of the dependency of the first UI service. The first UI service is any UI service in the first UI service package.

[0053] Through this method, in the UI service packages registered in the UI service package registration device, UI services in different UI service packages can be efficiently reused with each other through reuse paths, so that scene-type UI applications can be efficiently integrated. In this way, the UI service loading device can obtain the registration information and dependency set of the UI service package registered in the UI service package registration device, and generate a dependency graph for determining the dependencies of the UI service to be loaded. In this way, the UI service loading device can simultaneously download and load all dependencies determined by the dependency graph, and load the UI service to be loaded and all its dependencies, thereby improving the loading efficiency of the UI service to be loaded, that is, improving the operating efficiency of the scene-type UI application including the UI service to be loaded.

[0054] In one possible design, the above-mentioned reuse path satisfies at least one of the following conditions: the reuse path is used to indicate the access path of the second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, the reuse path is used to indicate the access path of the runtime dependency, the runtime dependency is the dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device.

[0055] In another possible design, the method further includes: obtaining a dependency set of the first UI service package. The dependency set includes a dependency of at least one UI service in the first UI service package. The dependency of the first UI service is used to indicate a dependency of the first UI service.

[0056] In another possible design manner, the above-mentioned “obtaining the dependency set of the first UI service package” includes: based on the network address in the above-mentioned registration information, periodically obtaining the dependency set from the first UI service package.

[0057] In another possible design manner, the above-mentioned “obtaining the dependency set of the first UI service package” includes: receiving the dependency set sent by the device that generates the first UI service package.

[0058] Through the above-mentioned possible designs, the registration device for registering the UI service package can obtain the dependency set of the UI service package registered in its registration list. In this way, the loading device can obtain the dependency relationship of each UI service in the UI service package registered in the device for registering the UI service package from the UI service package registration device through interaction with the device for registering the UI service package, and then when loading the UI service to be loaded, the loading device can simultaneously determine the reuse path of all dependencies of the UI service to be loaded based on the obtained dependency relationship. In this way, the loading device can download the UI service to be loaded and its dependencies in parallel according to the reuse path of the UI service to be loaded and its dependencies, and then load the UI service to be loaded and its dependencies in sequence, thereby improving the efficiency of downloading and loading UI services and their dependencies, that is, improving the loading efficiency of the UI service to be loaded that reuses UI services or runtime dependencies, thereby improving the operating efficiency of scene-type UI applications including the UI service to be loaded.

[0059] In another possible design, the reuse path includes an ambiguous version number of the first UI service package.

[0060] According to this possible design, when the loading device is loading the UI service in the first UI service package, it can match the latest version of the first UI service package according to the fuzzy version number in the reuse path in the code of the UI service. In this way, even if the first UI service package is updated, the developer does not need to redevelop the scenario-based UI application integrated based on the UI service in the first UI service package, thereby saving resources.

[0061] In another possible design, the method further includes: generating an initial reuse path of at least one UI service in the first UI service package based on the registration information and the version number of the first UI service package. The initial reuse path includes the version number of the first UI service package.

[0062] In another possible design, the initial multiplexing path is used to determine the multiplexing path of at least one UI service in the first UI service package, wherein the initial multiplexing path and the multiplexing path are both used to indicate the access path of at least one UI service in the first UI service package.

[0063] Through the above two possible designs, developers can determine the reuse path of at least one UI service based on the initial reuse path, so that they can efficiently reuse the at least one UI service when developing new scenario-type UI applications, and the loading efficiency is high when loading UI services based on the reuse path.

[0064] In a fourth aspect, the present application provides a device for loading UI services.

[0065] In a possible design, the device for loading UI services can be used to execute any of the methods provided in the first aspect. The present application can divide the device for loading UI services into functional modules according to any of the methods provided in the first aspect. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.

[0066] Exemplarily, the present application can divide the device for loading UI services into a receiving unit, a determining unit, and a loading unit according to the functions. The description of the possible technical solutions and beneficial effects executed by each functional module divided above can refer to the technical solutions provided by the first aspect or its corresponding possible design, which will not be repeated here.

[0067] In another possible design, the device for loading UI services includes: a memory and one or more processors, the memory being used to store computer instructions, and the processor being used to call the computer instructions to execute any method provided by the first aspect and any possible design thereof.

[0068] In a fifth aspect, the present application provides a device for generating a UI service package.

[0069] In a possible design, the device for generating a UI service package can be used to execute any of the methods provided in the second aspect above. The present application can divide the device for generating a UI service package into functional modules according to any of the methods provided in the second aspect above. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module.

[0070] Exemplarily, the present application can divide the device for generating the UI service package into an acquisition unit and a conversion unit according to the function. The description of the possible technical solutions and beneficial effects executed by each functional module divided above can refer to the technical solutions provided by the above second aspect or its corresponding possible design, which will not be repeated here.

[0071] In another possible design, the device for generating a UI service package includes: a memory and one or more processors, the memory being used to store computer instructions, and the processor being used to call the computer instructions to execute any method provided in the second aspect and any possible design thereof.

[0072] In a sixth aspect, the present application provides a device for registering a UI service package.

[0073] In one possible design, the device for registering the UI service package can be used to execute any one of the methods provided in the third aspect above. The present application can divide the functional modules of the device for registering the UI service package according to any one of the methods provided in the third aspect above. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. Exemplarily, the present application can divide the device for registering the UI service package into an acquisition unit and an addition unit, etc. according to the function. The description of the possible technical solutions and beneficial effects executed by the above-mentioned divided functional modules can refer to the technical solutions provided by the third aspect or its corresponding possible design, and will not be repeated here.

[0074] In another possible design, the device for registering a UI service package includes: a memory and one or more processors, the memory being used to store computer instructions, and the processor being used to call the computer instructions to execute any method provided in the third aspect and any possible design thereof.

[0075] In a seventh aspect, the present application provides a computer-readable storage medium, such as a non-transitory computer-readable storage medium, on which a computer program (or instruction) is stored, and when the computer program (or instruction) is executed on a computer, the computer executes any method provided in any possible implementation of the first aspect, the second aspect, or the third aspect.

[0076] In an eighth aspect, the present application provides a computer program product, which, when executed on a computer, enables any method provided by any possible implementation of the first aspect, the second aspect, or the third aspect to be executed.

[0077] In a ninth aspect, the present application provides a chip system, which includes one or more interface circuits and one or more processors; the interface circuit and the processor are interconnected through a line, and the interface circuit is used to receive a signal from a memory and send a signal to the processor, and the signal includes a computer instruction stored in the memory. The processor calls the computer instruction to execute any method provided in any possible implementation of the first aspect, the second aspect, or the third aspect.

[0078] In a tenth aspect, the present application provides a software system, the software system comprising any device for loading UI services provided in any possible implementation of the fourth aspect, to load the UI service to be loaded. Alternatively, the software system comprises any device for generating UI service packages provided in any possible implementation of the fifth aspect, to generate UI service packages. Alternatively, the software system comprises any device for registering UI service packages provided in any possible implementation of the sixth aspect, to register the UI service packages in the registration list of the software system.

[0079] In an eleventh aspect, the present application provides a computer device comprising a processor and a memory; the memory stores computer instructions, and the processor is used to run the computer instructions on the memory to execute any method provided in any possible implementation of the first aspect, the second aspect or the third aspect above.

[0080] It can be understood that any of the above-mentioned devices, computer storage media, computer program products or chip systems can be applied to the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods and will not be repeated here.

[0081] In this application, the names of the device for generating a UI service package, the device for registering a UI service package, and the device for loading a UI service do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear with other names. As long as the functions of each device or functional module are similar to those of this application, they fall within the scope of the claims of this application and their equivalent technologies.

[0082] These and other aspects of the present application will become more apparent from the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0083] Figure 1 A schematic diagram of developing a scenario-based UI application based on a UI service package provided in an embodiment of the present application;

[0084] Figure 2 A schematic diagram of a network architecture provided in an embodiment of the present application Figure 1 ;

[0085] Figure 3 A schematic diagram of a network architecture provided in an embodiment of the present application Figure 2 ;

[0086] Figure 4 A schematic diagram of the hardware structure of a computer device provided in an embodiment of the present application;

[0087] Figure 5A schematic diagram of a network architecture provided in an embodiment of the present application Figure 3 ;

[0088] Figure 6 A schematic diagram of the hardware structure of a mobile phone provided in an embodiment of the present application;

[0089] Figure 7 A schematic diagram of a different type of UI service package provided in an embodiment of the present application;

[0090] Figure 8 A flowchart of a method for generating a UI service package provided in an embodiment of the present application;

[0091] Fig. 9 A flowchart of a method for registering a UI service package provided in an embodiment of the present application;

[0092] Fig.10 A flowchart of a method for loading a UI service provided in an embodiment of the present application;

[0093] Fig.11 A schematic diagram of a dependency graph provided in an embodiment of the present application;

[0094] Fig.12 A flow chart of a method for generating, registering a UI service package, and loading a UI service provided in an embodiment of the present application;

[0095] Fig.13a A method for generating, registering a UI service package, and loading a UI service provided in an embodiment of the present application is shown in FIG. Figure 1 ;

[0096] Fig.13b A method for generating, registering a UI service package, and loading a UI service provided in an embodiment of the present application is shown in FIG. Figure 2 ;

[0097] Fig.14 A schematic diagram of the structure of a device for generating a UI service package provided in an embodiment of the present application;

[0098] Fig.15 A schematic diagram of the structure of a device for registering a UI service package provided in an embodiment of the present application;

[0099] Fig.16 A schematic diagram of the structure of a loading device provided in an embodiment of the present application;

[0100] Fig.17 A schematic diagram of the structure of a chip system provided in an embodiment of the present application;

[0101] Fig.18 A schematic diagram of the structure of a computer program product provided in an embodiment of the present application. DETAILED DESCRIPTION

[0102] In order to more clearly understand the embodiments of the present application, some terms or technologies involved in the embodiments of the present application are explained below:

[0103] 1) Development framework

[0104] A development framework can also be called a scaffold. A development framework is a software development tool that provides a basic environment for software development and is used to build or compile the developed code into a software package that can be run by the framework.

[0105] The development framework is essentially a software package (or development framework software package). When developing software, developers can introduce the development framework software package through package management tools.

[0106] 2) User Interface

[0107] UI can also be called user interface, which is the medium for interaction and information exchange between software system and users. UI can be used to realize the conversion between the internal form of information and the form acceptable to humans. The forms acceptable to humans include images or audio. Therefore, the visual interface or audio used for human-computer interaction can be called UI.

[0108] Therefore, UI has a broad definition and exists in any field involving information exchange between humans and machines.

[0109] 3) Dependency

[0110] In a software system, task A refers to task B. When executing task A, task B needs to be executed first before task A can be executed. In this case, task B can be called the dependency of task A.

[0111] 4) Runtime dependency

[0112] The specific form of runtime dependency can be an algorithm. Runtime dependency is the dependency required to run the UI. For example, the controls required to run the UI, buttons on the UI, etc.

[0113] 5) Domain Model

[0114] Referring to the way humans understand different types of things in the world, people abstract the data of information systems into data models according to business types. If a group of data models with a one-to-many relationship between them is grouped together, the group can be called a domain. The data model in this domain is called a domain model.

[0115] 6) Combinatorial logic functions

[0116] The combination logic function is used to provide text data for the UI. For example, the combination logic function can convert the data flow of the domain model in the microservice into the data flow of the UI model, and provide the data flow of the UI model to the corresponding UI display.

[0117] 7) Scenario UI and scenario-based UI applications

[0118] Users generate a set of interactive operations with tool-type UIs based on their own scenarios. If developers build this set into a UI, it is a scenario UI. In this way, an application that includes this scenario UI can be called a scenario-type UI application.

[0119] The user's own scenario may be referred to as a user scenario. Generally, the relevant factors for identifying the user scenario may include at least one of the user's identity, time, or the user's geographical location, but are not limited thereto.

[0120] 8) Figure

[0121] In computer data structure theory, there are two major types of data structures: sets and graphs. For example, a graph can be a directed acyclic graph (DAG). If a directed graph cannot go back to a vertex through several edges, then the graph is called a DAG.

[0122] In an embodiment of the present application, the dependency relationship between UI services is represented by a dependency graph. Here, the dependency graph is a data structure of a graph class. Among them, the vertices in the dependency graph are used to represent UI services and runtime dependencies, and the directed edges between the vertices in the dependency graph are used to represent the dependency relationship between UI services (or between UI services and runtime dependencies).

[0123] 9) Rendering

[0124] After the terminal device processes the source code of the web page, it obtains a visualized web page. This process can be called rendering.

[0125] 10) Front, middle and back office

[0126] The front-end is a front-end platform composed of various front-end systems. Each front-end system is a user touchpoint. For example, the system that the end-users of an enterprise directly use or interact with is the intersection between the enterprise and the end-users. For example, websites and mobile applications (applications, APPs) that users directly use all belong to the front-end category.

[0127] Backstage is a backend platform composed of backstage systems. As an example, each backstage system can be used to manage a type of core resources (data + computing) of the enterprise, such as financial system, product system, customer management system, warehouse logistics management system, etc. These systems constitute the backstage of the enterprise. Infrastructure and computing platform, as the core computing resources of the enterprise, are also part of the backstage.

[0128] The middle platform is between the front-end and the back-end, and is a collection of shared middleware. Usually, the middle platform extracts data from the back-end and provides common data for different front-end systems.

[0129] 11) Other terms

[0130] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.

[0131] In the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of the present application, unless otherwise specified, "plurality" means two or more.

[0132] The term "at least one" in this application means one or more, and the term "multiple" in this application means two or more, for example, multiple second messages means two or more second messages. The terms "system" and "network" are often used interchangeably herein.

[0133] It should be understood that the terms used in the description of the various examples herein are only for describing specific examples and are not intended to be limiting. As used in the description of the various examples 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.

[0134] It should also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The term "and / or" is a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this application generally indicates that the associated objects before and after are in an "or" relationship.

[0135] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0136] It should be understood that determining B based on A does not mean determining B only based on A. B can also be determined based on A and / or other information.

[0137] It should also be understood that the term “comprise” (also known as “includes,” “including,” “comprises” and / or “comprising”) when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0138] It should also be understood that the term "if" may be interpreted to mean "when" or "upon" or "in response to determining" or "in response to detecting." Similarly, the phrase "if it is determined that ..." or "if [a stated condition or event] is detected" may be interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]" or "in response to detecting [a stated condition or event]," depending on the context.

[0139] It should be understood that the references to "one embodiment", "an embodiment", or "a possible implementation" throughout the specification mean that specific features, structures, or characteristics related to the embodiment or implementation are included in at least one embodiment of the present application. Therefore, the references to "in one embodiment" or "in an embodiment", or "a possible implementation" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0140] The embodiment of the present application provides a method for generating, registering a UI service package, and loading a UI service, wherein the method generates at least one UI service package in advance, and each UI service package in the at least one UI service package includes at least one UI service. The UI service in the at least one UI service package can reuse the UI services in other UI service packages.

[0141] Furthermore, the at least one UI service package is registered on at least one UI service package registration device. In this way, the loading device can obtain the dependency relationship of the at least one UI service package from the at least one UI service package registration device. Then, the loading device can load the UI service to be loaded from the at least one UI service package according to the dependency relationship. When the code of the UI service to be loaded is rendered by the software system, at least one UI can be obtained.

[0142] In this way, when a UI application is constructed through the UI service in the above-mentioned UI service package, the redundant code of developers when constructing the UI application can be reduced, thereby reducing resource waste. In addition, the method for loading UI services provided in the embodiment of the present application can improve the loading efficiency of UI services, thereby improving the display efficiency of UI in the UI application constructed according to the loaded UI service, thereby improving the user experience. Among them, the UI application can be a scene-based UI application, and the scene-based UI application can include at least one scene UI, and the at least one scene UI is obtained based on at least one UI service.

[0143] The specific embodiment of the above-mentioned UI service may be an algorithm. The algorithm may include a UI algorithm, and when the UI algorithm is run, a UI may be obtained. Optionally, the algorithm may also include a combination logic function, and the combination logic function is used to provide text data for the UI obtained by the UI algorithm.

[0144] Exemplary, reference Figure 1 , Figure 1 A schematic diagram of developing a scenario-based UI application based on a UI service package provided in an embodiment of the present application is shown.

[0145] like Figure 1 As shown, UI service package A, UI service package B and UI service package C can be pre-generated in the middle stations of different fields of the enterprise. For example, UI service package A can be generated in the field middle station 1, UI service package B can be generated in the field middle station 2, and UI service package C can be generated in the field middle station 3, without limitation. Among them, arrow 11 indicates that at least one UI service in UI service package A reuses at least one UI service in UI service package B, and arrow 12 indicates that at least one UI service in UI service package B reuses at least one UI service in UI service package C.

[0146] like Figure 1 As shown, when the foreground loads at least one UI service in UI service package A and at least one UI service in UI service package B through the loading device, the function of scenario-based UI application 1 can be realized. When the foreground loads at least one UI service in UI service package A, at least one UI service in UI service package B, and at least one UI service in UI service package C through the loading device, the function of scenario-based UI application 2 can be realized. When the foreground loads at least one UI service in UI service package B and at least one UI service in UI service package C through the loading device, the function of scenario-based UI application 3 can be realized. Here, scenario-based UI application 1, scenario-based UI application 2, and scenario-based UI application 3 can be scenario-based UI applications suitable for different user scenarios, respectively.

[0147] Among them, when the terminal device used by the user has an artificial intelligence (AI) function, the AI ​​of the terminal device can recognize the user's current user scenario.

[0148] As an example, AI can identify the user's current user scenario by identifying factors related to the user scenario (such as at least one of the user's identity, time, or the user's geographical location). For example, AI can obtain the user's identity information in the terminal device to determine the user's identity, for example, the user can be a student. Alternatively, AI can determine the current user scenario based on the current time, for example, the current time is working time or rest time, etc. Alternatively, AI can also determine the current user scenario based on the global positioning system (GPS) information of the terminal device, for example, the user's current geographical location is a workplace (office building, etc.) or a living place (community, etc.).

[0149] In this way, the terminal device analyzes factors related to the user scenario through AI technology to identify the current user scenario, and then can recommend scenario UI related to the user scenario to the user, thereby improving the user experience.

[0150] Of course, the above description only exemplarily lists several user scenarios and exemplarily describes several ways in which the terminal device recognizes user scenarios through AI, but is not limited to this.

[0151] The embodiment of the present application provides a device for generating a UI service package (for the sake of simplicity and convenience of description, the "device for generating a UI service package" is referred to as the "generating device" hereinafter), and the generating device can be used to execute the method for generating a UI service package provided in the embodiment of the present application. The embodiment of the present application also provides a UI service package registration device (for the sake of simplicity and convenience of description, the "UI service package registration device" is referred to as the "registration device" hereinafter), and the registration device can be used to execute the method for registering a UI service package provided in the embodiment of the present application.

[0152] It should be understood that the above-mentioned generating device and the above-mentioned registering device can be integrated on the same service node, or can be respectively set on different service nodes. Among them, the service node can be a service node implemented by a physical machine or a virtual machine. As an example, the service node can be a server or a general-purpose PC, etc. The specific form of the service node is not limited in the embodiment of the present application.

[0153] Optionally, the above service nodes may be service nodes on the same enterprise platform or service nodes on different enterprise platforms, and there is no limitation on this.

[0154] It should be understood that when the above-mentioned generating device and the above-mentioned registering device are integrated on the same service node, the generating device and the registering device can be isolated from each other by hardware or software.

[0155] When the generating device and the registering device are respectively arranged on different service nodes, the generating device and the registering device can communicate with each other by wire or wireless means. Optionally, the generating device and the registering device can also communicate with each other through a third-party platform. The generating device and the registering device can communicate with each other through wire or wireless means, respectively, and the third-party platform.

[0156] refer to Figure 2 , Figure 2 A schematic diagram of a network architecture 20 provided in an embodiment of the present application is shown, and the network architecture 20 includes a generating device 21 and a registering device 22. The generating device 21 and the registering device 22 can communicate with each other in a wired or wireless manner.

[0157] refer to Figure 3 , Figure 3 A schematic diagram of another network architecture 30 provided in an embodiment of the present application is shown, and the network architecture 30 includes a generation device 21, a registration device 22, and a third-party platform 33. The generation device 21 and the third-party platform 33 can communicate with each other by wired or wireless means. The registration device 22 and the third-party platform 33 can communicate with each other by wired or wireless means.

[0158] refer to Figure 4, Figure 4 FIG. 4 shows a hardware structure of a computer device 40 provided in an embodiment of the present application. The computer device 40 may be the above-mentioned generating device or the above-mentioned registering device. Figure 4 As shown, the computer device 40 may include a processor 41, a memory 42, a communication interface 43, and a bus 44. The processor 41, the memory 42, and the communication interface 43 may be connected via the bus 44.

[0159] The processor 41 is the control center of the computer device 40, and may be a general-purpose central processing unit (CPU) or other general-purpose processors, etc. The general-purpose processor may be a microprocessor or any conventional processor, etc.

[0160] As an example, the processor 41 may include one or more CPUs, such as Figure 4 CPU 0 and CPU 1 are shown in .

[0161] The memory 42 may be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to these.

[0162] In a possible implementation, the memory 42 may exist independently of the processor 41. The memory 42 may be connected to the processor 41 via a bus 44 and used to store data, instructions, or program codes. When the processor 41 calls and executes the instructions or program codes stored in the memory 42, the method for generating a UI service package provided in the embodiment of the present application can be implemented, or the method for registering a UI service package provided in the embodiment of the present application can be implemented.

[0163] In another possible implementation, the memory 42 may also be integrated with the processor 41 .

[0164] The communication interface 43 is used for connecting the computer device 40 to other devices (such as a device for loading a UI, etc.) through a communication network, and the communication network may be Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The communication interface 43 may include a receiving unit for receiving data and a sending unit for sending data.

[0165] The bus 44 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or a high-speed serial computer expansion (Peripheral Component Interconnect Express, PCIe) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0166] It should be pointed out that Figure 4 The structure shown in the figure does not constitute a limitation on the computer device 40, except Figure 4 In addition to the components shown, the computer device 40 may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0167] The embodiment of the present application also provides a loading device. The loading device can be used to execute the method for loading UI services provided in the embodiment of the present application. As an example, the loading device can be a loader. The loading device can be applied to a terminal device. Specifically, the terminal device can be a portable device such as a mobile phone, a tablet computer, a wearable electronic device, or a vehicle-mounted device, an intelligent robot, and an intelligent audio device. The terminal device can also be a personal computer (PC), a personal digital assistant (PDA), a netbook, a server, and other computing devices. This is not limited.

[0168] The loading device can communicate with the registration device via wired or wireless means.

[0169] refer to Figure 5 , Figure 5Another network architecture 50 provided by an embodiment of the present application is shown, and the network architecture 50 includes a loading device 51 and a registration device 22. The loading device 51 and the registration device 22 can communicate in a wired or wireless manner.

[0170] Please refer to Figure 6 , taking the above terminal device as a mobile phone as an example, Figure 6 FIG. 6 shows a hardware structure of a mobile phone 60. Figure 6 As shown, the mobile phone 60 may include a processor 610, an external memory interface 620, an internal memory 621, an antenna 630, and a display screen 640, etc.

[0171] It is to be understood that the structure illustrated in the embodiment of the present application does not constitute a specific limitation on the mobile phone 60. In other embodiments of the embodiment of the present application, the mobile phone 60 may include more or fewer components than those shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0172] The processor 610 may include one or more processing units, for example, the processor 610 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.

[0173] The controller may be the nerve center and command center of the mobile phone 60. The controller may generate an operation control signal according to the instruction operation code and the timing signal to complete the control of fetching and executing instructions.

[0174] The processor 610 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 610 is a cache memory. The memory may store instructions or data that the processor 610 has just used or cyclically used. If the processor 610 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 610, and thus improves the efficiency of the system.

[0175] In some embodiments, the processor 610 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0176] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL).

[0177] The I2S interface can be used for audio communication. The PCM interface can also be used for audio communication to sample, quantize and encode analog signals.

[0178] The UART interface is a universal serial data bus used for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication.

[0179] The MIPI interface can be used to connect the processor 610 with the display screen 640, a camera and other peripheral devices.

[0180] MIPI interfaces include camera serial interface (CSI), display serial interface (DSI), etc.

[0181] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or a data signal.

[0182] The USB interface is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface can be used to connect a charger to charge the mobile phone 60, and can also be used to transfer data between the mobile phone 60 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other electronic devices, such as augmented reality (AR) devices, etc.

[0183] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is only a schematic illustration and does not constitute a structural limitation on the mobile phone 60. In other embodiments of the present application, the mobile phone 60 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.

[0184] The external memory interface 620 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 60. The external memory card communicates with the processor 610 through the external memory interface 620 to implement a data storage function, such as storing music, video and other files in the external memory card.

[0185] The internal memory 621 may be used to store computer executable program codes, which include instructions. The processor 610 executes various functional applications and data processing of the mobile phone 60 by running the instructions stored in the internal memory 621 .

[0186] The wireless communication function of the mobile phone 60 can be realized by the antenna 630, the modem processor and the baseband processor, etc. The modem processor can include a modulator and a demodulator.

[0187] Antenna 630 is used to transmit and receive electromagnetic wave signals. Each antenna in mobile phone 60 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 630 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.

[0188] As an example, the antenna 630 may be used to receive data of the UI service to be loaded in a UI service package deployed on a preset network address when the loading device downloads the UI service to be loaded.

[0189] The mobile phone 60 implements the display function through a GPU, a display screen 640, and an application processor. The GPU is a microprocessor for image processing, which is connected to the display screen 640 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 610 may include one or more GPUs, which execute program instructions to generate or change display information. The display screen 640 is used to display images, videos, etc. Exemplarily, the UI service loaded by the method for loading UI services provided in an embodiment of the present application can be displayed on the display screen 640 after being rendered. The display screen 640 includes a display panel.

[0190] NPU is a neural network (NN) computing processor. It can quickly process input information and continuously self-learn by drawing on the structure of biological neural networks, such as the transmission mode between neurons in the human brain. NPU can realize applications such as intelligent cognition of mobile phones, such as image recognition, face recognition, voice recognition, and text understanding.

[0191] It should be pointed out that Figure 6 The structure shown in the figure does not constitute a limitation on the terminal device 60, except Figure 6 In addition to the components shown, the terminal device 60 may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0192] The types of UI service packages provided in the embodiments of the present application are described below.

[0193] In the embodiment of the present application, according to the purpose of the UI service package, the UI service package can be divided into the following types of UI service packages:

[0194] Type 1: Business UI Service Package

[0195] After the UI services in the business UI service package are loaded and rendered, at least one UI can be obtained. The business UI service package can include a domain UI service package and a scene UI service package.

[0196] A domain UI service package may include at least one UI service. In a domain UI service package, the UI services in the domain UI service package may be UI services in the same domain. Different domain UI service packages may include UI services in different domains. As an example, UI services in different domains may be legal-related UI services, contract-related UI services, product UI services, etc.

[0197] Exemplarily, the service provider can divide the data in the enterprise resource planning (ERP) system into UI services in different fields by field. In this way, the generating device can generate a domain UI service package corresponding to the field based on the UI services in the same field. For example, the generating device can generate a product-related domain UI service package based on the UI services in the product field in the ERP system, or the generating device can generate a quotation-related domain UI service package based on the UI services in the quotation field.

[0198] Among them, UI services in different domain UI service packages can be reused. For example, UI services in the product domain UI service package can reuse UI services in the quotation domain UI service package. UI services in the quotation domain UI service package can also reuse UI services in the product domain UI service package, and there is no limitation on this.

[0199] The scene UI service package may include at least one scene UI service, and one scene UI service may be obtained based on at least two UI services in the domain UI service package. Here, the at least two UI services may come from the same domain UI service package or from different domain UI service packages, which is not limited.

[0200] When the at least two UI services mentioned above come from different domain service packages, for example, the at least two UI services may come from domain service package 1 and domain service package 2, respectively. Domain service package 1 and domain service package 2 may be domain service packages generated by a generation device on the same service provider's middle platform, or may be domain service packages generated by generation devices on different service providers' middle platforms. For example, domain service package 1 may be a domain service package generated by a generation device on the middle platform of service provider 1, and domain service package 2 may be a domain service package generated by a generation device on the middle platform of service provider 2, without limitation.

[0201] It can be understood that the above-mentioned scene UI service package, as well as the domain UI service package to which the UI service reused by the UI service in the scene UI service package belongs, can be a UI service package generated by a generation device on the same service provider's middle platform, or can be a UI service package generated by a generation device on a different service provider's middle platform, and there is no limitation on this.

[0202] It can be understood that different scenario UI service packages can provide UI services for different application scenarios.

[0203] Exemplarily, based on the UI services in the product domain UI service package and the UI services in the quotation domain UI service package, a scenario UI service for the quotation of a communication operator can be obtained, or a scenario UI service for the quotation of an enterprise can be obtained, or a scenario UI service for providing a device quotation can be obtained, or a scenario UI service for providing a service quotation can be obtained, etc. Correspondingly, in the middle station of the enterprise, the generation device can generate a quotation scenario UI service package for communication operators, a quotation scenario UI service package for enterprises, a quotation scenario UI service package for equipment quotation, or a quotation scenario UI service package for service quotation, etc. In this way, the enterprise can provide users with UI services for different application scenarios.

[0204] It can be understood that the UI services in the scenario UI service package reuse the UI services in the domain UI service package, and the UI services in different scenario UI service packages can also reuse each other. For example, the scenario UI services in the quotation scenario UI service package for communication operators can reuse the scenario UI services in the quotation scenario UI service package for equipment quotation.

[0205] It should be noted that the UI services in the domain UI service package and the UI services in the scene UI service package can reuse the runtime dependencies in the common dependency UI service package. For the specific description of the common dependency UI service package, please refer to the description in S102 below, which will not be repeated here.

[0206] refer to Figure 7 , Figure 7 The following is an exemplary diagram showing the relationship between the domain UI service package and the scenario UI service package in the business UI service package. Figure 7 As shown, Figure 7 UI 311 and UI 312 are two UIs corresponding to the UI services in the domain UI service package, and UI 32 may be a UI corresponding to the UI service in the scene UI service package.

[0207] It should be noted that the above-mentioned business UI service package can be a business UI service package generated based on different software systems. Among them, the software system can be a software APP, computer operating system or cloud platform built based on the same user authorization, the same runtime or the same user experience. Exemplarily, the software system can be an APP such as a browser or WeChat. Alternatively, the software system can be an Android operating system or an IOS operating system used by a mobile device, or a Microsoft (Windows) operating system or an IOS operating system used by a computer. Alternatively, the software system can be a cloud platform such as Huawei Cloud. It is understandable that the above-mentioned software system can also be a plug-in introduced by the above-mentioned APP or computer operating system, such as a patch plug-in introduced by operating system A.

[0208] As an example, the generation device provided in the embodiment of the present application can generate a business UI service package suitable for Huawei's Hongmeng operating system based on Huawei's Hongmeng operating system.

[0209] It can be understood that at least one business UI service package in the embodiments of the present application can constitute a tool UI application that implements a certain function, or constitute a scenario UI application suitable for a certain user scenario. After any UI service in the at least one business UI service package is rendered, a UI in the tool UI application or the scenario UI application is obtained. Here, the tool UI application can be a tool app, such as Taobao or Weibo APP, which is not limited to this. The scenario UI application can be a scenario APP.

[0210] It should be understood that the formats of UI display are different in different software systems. Therefore, in different software systems, the business UI service packages that constitute UI applications with the same functions are business UI service packages generated based on different software systems. For example, business UI service package 1 generated based on operating system A can be used to obtain UI application 1 applicable to operating system A, and business UI service package 2 generated based on operating system B can be used to obtain UI application 2 applicable to operating system B. Among them, the functional purposes achieved by UI application 1 and UI application 2 are the same.

[0211] Type 2: UI service package that implements the loading device function

[0212] Here, the loading device may be used to load at least one UI service in at least one business UI service package, and the dependency of the at least one UI service.

[0213] In an embodiment of the present application, the generating device may generate a UI service package that implements the function of the loading device and deploy it in the network. In this way, the software system may download the UI service package in advance and pre-set the UI service package in the software system. Alternatively, the software system downloads the UI service package when it starts. Then, the software system may implement the function of the loading device through the UI service in the UI service package, and load the UI service to be loaded and the dependency of the UI service to be loaded through the loading device.

[0214] In addition, the UI service package for realizing the function of the loading device includes not only the UI service for realizing the function of the loading device, but also UI services related to the loading device.

[0215] Type 3: Public dependency UI service package

[0216] The common dependency UI service package may include at least one runtime dependency. The at least one runtime dependency may be used to be referenced as a dependency by the UI services in the UI service packages of the above-mentioned type one, type two, and type three. In other words, the UI services in the other types of UI service packages may reuse at least one runtime dependency in the common dependency UI service package. Here, the other types of UI service packages may be business UI service packages or UI service packages that implement the loading device function, which are not limited.

[0217] It should be noted that one common dependency UI service package may correspond to one loading device, and one loading device may correspond to multiple common dependency UI service packages. A common dependency UI service package may provide runtime dependencies for all UI services that can be loaded by its corresponding loading device.

[0218] It should be understood that different IT service providers can generate the above-mentioned business UI service package, the UI service package that implements the function of the loading device, and the common dependency UI service package on their own middle platform according to their areas of expertise through the generation device provided in the embodiment of the present application and according to the method of the UI service package provided in the embodiment of the present application. Specifically, the process of the generation device generating the above-mentioned business UI service package, the UI service package that implements the function of the loading device, and the common dependency UI service package can refer to the description of S101 to S108 below, which will not be repeated here.

[0219] It should also be noted that the software system can load at least one UI service in the business UI service package through the loading device implemented by the UI service package that implements the loading device function. After the at least one UI service is rendered by the software system, at least one UI can be obtained.

[0220] The following describes the method for generating, registering a UI service package, and loading a UI service provided in an embodiment of the present application in conjunction with the accompanying drawings.

[0221] refer to Figure 8 , Figure 8 A flow chart of a method for generating a UI service package provided in an embodiment of the present application is shown. The method is applied to a generating device, and the method comprises the following steps:

[0222] S101, a generating device obtains a development framework.

[0223] S102: The generating device obtains a code of a UI service, where the code of the UI service is written based on the above development framework.

[0224] The code of the UI service includes a reuse path, and the reuse path is used to indicate an access path of the dependency of the UI service.

[0225] S103: The generating device converts the obtained UI service code through the obtained development framework to obtain a first UI service package, wherein the first UI service package also includes a first dependency set.

[0226] The first UI service package includes at least one UI service.

[0227] The first dependency set includes a dependency of at least one UI service in the first UI service package, and the dependency is used to indicate a dependency of the at least one UI service.

[0228] S104: The generating device deploys the first UI service package in a preset physical space.

[0229] S105 (optional): The generating device publishes registration information of the first UI service package, where the registration information is used to register the first UI service package in at least one registration device.

[0230] S106 (optional): the generating device sends the first dependency set to the at least one registration device, where the at least one registration device is used to register the first UI service package.

[0231] S107 (optional): the generating device updates the first UI service package, and the updated first UI service package includes a second dependency set.

[0232] S108 (optional): the generating device sends a second dependency set to the at least one registering device.

[0233] Through the method for generating a UI service package provided in the embodiment of the present application, different UI service packages can efficiently reuse UI services through the reuse path in the reuse code.

[0234] Moreover, through the method for generating a UI service package provided in an embodiment of the present application, the generating device can obtain the above-mentioned UI service package based on a unified development framework. When the UI application is integrated through the UI service in the UI service package, the threshold for subsequent developers to integrate UI services can be lowered.

[0235] In addition, in the method for generating a UI service package provided by an embodiment of the present application, the UI service package obtained by developing a framework conversion code also includes the dependencies of each UI service in the UI service package (for example, a first dependency set and a second dependency set). In this way, the loading device can obtain the dependency sets of all UI service packages registered in the registration device from the registration device. In this way, the loading device can determine the reuse path of all dependencies of the UI service to be loaded based on all the dependency sets obtained, and then can download the UI service to be loaded and its dependencies in parallel according to the reuse path of the UI service to be loaded and its dependencies, and load the UI service to be loaded and its dependencies in sequence, thereby improving the efficiency of loading UI services, that is, improving the operating efficiency of the UI service to be loaded that reuses UI services or runtime dependencies.

[0236] Next, the above steps S101 to S108 are described in detail.

[0237] In S101, the development framework acquired by the generating device is used to convert the code of the UI service into a UI service package. Here, the code of the UI service can be a code written in any high-level computer language suitable for the development framework.

[0238] The generating device may obtain the above development framework from the code repository based on the software package configuration file.

[0239] Among them, the software package configuration file is used to instruct the obtained development framework to convert the UI service code into the obtained UI service package, and does not include the runtime dependency referenced by the code. In other words, the development framework obtained in the embodiment of the present application is a development state dependent development framework, and the development state dependent development framework is only used to convert the UI service code to obtain the UI service package. The development state dependent development framework does not participate in the operation of the UI service package.

[0240] In addition, the development framework obtained by the embodiment of the present application may be a development framework with a version. In this way, when the generating device obtains the development framework, it may obtain the development framework with the latest version based on the version number of the development framework.

[0241] Specifically, the generating device may obtain the above development framework from the code repository through a code repository tool based on the software package configuration file.

[0242] The code repository tool may be a package manager (node ​​package manager, npm) tool, or the code repository tool may be an integrated development environment (integrated development environment, IDE) plug-in, etc., without limitation.

[0243] In a possible implementation, the npm tool may send instructions to the processor of the generating device through a manually input command line command, so that after the processor of the generating device receives the instruction, it obtains the development framework from the code repository.

[0244] Exemplarily, the step of the generating device obtaining the development framework through the npm tool may be:

[0245] Step 1. Add a configuration item to the npm configuration file:

[0246] "devDependencies": {

[0247] "@turboui / turbo-ui-c1i-service":"^3.0.0"

[0248] }

[0249] Step 2. Run the command: npm install.

[0250] Among them, "devDependencies" is used to indicate that the development framework to be obtained is a development-dependent development framework. "@turboui / turbo-ui-c1i-service" indicates the path to obtain the development framework, and "3.0.0" indicates the version number of the development framework to be obtained.

[0251] In another possible implementation, the IDE plug-in may send instructions to the processor of the generation device through UI interaction, so that the processor of the generation device obtains the development framework from the code repository after receiving the instructions.

[0252] In another possible implementation, the IDE plug-in can use the instructions issued through UI interaction as command line commands input to the npm tool. Further, the npm tool sends instructions to the processor of the generation device through the command line command, so that the processor of the generation device obtains the development framework from the code repository after receiving the instructions.

[0253] In S102, specifically, the code of the UI service acquired by the generating device may be written by a developer based on the development framework acquired in step S101.

[0254] In the embodiment of the present application, it is taken as an example that the code of the UI service includes the codes of m UI services, where m is a positive integer. Here, the codes of the m UI services may correspond to m UI services, and the m UI services include a first UI service, which is any one of the m UI services. The code of the first UI service includes a reuse code, and the reuse code includes a reuse path, which is used to indicate the dependency of the first UI service. The reuse path in the code of the first UI service satisfies at least one of the following conditions:

[0255] Condition 1: The reuse path is used to indicate that the dependency of the first UI service is the second UI service, and the second UI service is any UI service in the second UI service package.

[0256] Here, the second UI service package can be any UI service package generated based on the method for generating a UI service package provided in the embodiment of the present application, and the second UI service package is a UI service package different from the first UI service package. It can be seen that the first UI service reuses the UI service in the second UI service package by reusing the code.

[0257] Condition 2: The reuse path is used to indicate that the dependency of the first UI service is a runtime dependency, and the runtime dependency is any runtime dependency in the common dependency UI service package. Here, the common dependency UI service package may include at least one runtime dependency,

[0258] Specifically, the common dependency UI service package can be a common dependency UI service package generated according to at least one runtime dependent code based on the method for generating a UI service package provided in an embodiment of the present application. After the development framework converts at least one runtime dependent code into a common dependency UI service package, the common dependency UI service package includes at least one runtime dependency, and one UI runtime dependency corresponds to one runtime dependent code.

[0259] It should be noted that the common dependent UI service package can be used to provide dependencies for UI services in at least one UI service package registered in the registration device, where the number of the registration device is at least one. The relevant description of the registration device can refer to S201 to S204 below, which will not be repeated here.

[0260] In this way, in the method for generating a UI service package provided in an embodiment of the present application, the UI service in the first UI service package reuses the UI service in another UI service package and at least one of the runtime dependencies in the common dependent UI service package through the reuse path in the reuse code, thereby reducing the redundant code in the developed first UI service package.

[0261] The reuse path in the code of the above-mentioned first UI service is used to indicate the access path of the second UI service or runtime dependency, and the reuse path can be determined based on the initial reuse path of the second UI service. Here, the initial reuse path of the UI service may include the name of the UI service package and the version number of the UI service package. Optionally, the initial reuse path of the UI service package may also include the name of the loading device, the index directory name of the UI service in the UI service package, and the UI service name. Among them, the specific description of the initial reuse path can be referred to the description of S204 below, which will not be repeated here.

[0262] It should be understood that if the UI service is a runtime dependency, the above initial reuse path includes: the name of the runtime dependency. This is because, usually, the common dependency UI service package including the runtime dependency is usually deployed on a preset network address and is globally unique UI service package, and the preset network address is the default of the loading device. Among them, global refers to all UI service packages registered in the registration device corresponding to the loading device. The correspondence between the loading device and the registration device can be referred to the description of S103 below, which will not be repeated here.

[0263] In actual applications, developers can determine the reuse path of the UI service in the reused code based on the initial reuse path of the UI service mentioned above. The reuse path of the UI service may include the name of the UI service package and the version number of the UI service package. Optionally, the reuse path may also include the name of the loading device, the index directory name of the UI service in the UI service package, and the name of the UI service. Among them, the version number of the UI service package may be a fuzzy version number. If the UI service is a runtime dependency, the reuse path is the same as the initial path, that is, the name of the runtime dependency.

[0264] Among them, the name of the loading device in the reuse path, the name of the UI service package, the name of the index directory of the UI service in the UI service package, and the name of the UI service, that is, the name of the loading device in the initial reuse path, the name of the UI service package, the name of the index directory of the UI service in the UI service package, and the name of the UI service, are not repeated here.

[0265] The fuzzy version number of the UI service package in the reuse path of the above-mentioned UI service is used to indicate the UI service package that meets the preset version condition. If the version number of the UI service package is represented by m digits, then the preset condition may be that the first n digits of the version number of the UI service package are the same. At this time, the last mn digits in the fuzzy version number of the UI service package can be represented by "x", and "x" indicates that the last mn digits in the version number of the UI service package are to be determined. Among them, m and n are both positive integers, and m>n.

[0266] Exemplarily, if the version number in the initial reuse path of the UI service is 1.1.3, then m is 3. If n is 2, then the fuzzy version number of the UI service package that meets the preset version condition is 1.1.x, and 1.1.x is used to indicate that the first two digits of all versions of the UI service package are 1. If n is 1, then the fuzzy version number of the UI service package that meets the preset condition is 1.xx, and 1.xx is used to indicate that the first digit of all versions of the UI service package is 1.

[0267] In this case, when the loading device loads a UI service (e.g., a second UI service) in a reused UI service package, the reused UI service can be downloaded from the latest version of the second UI service package according to the fuzzy version number of the second UI service package in the reuse path of the second UI service. The process of the loading device downloading the reused UI service from the latest version of the second UI service package can be referred to the description of S303 below, which will not be repeated here.

[0268] Specifically, the above reused code can be implemented in the form of keyword reference reuse path.

[0269] The standard format of the reuse path may be: "$loading device name / UI service package name@UI service package version number / index directory name of UI service in UI service package / UI service name".

[0270] Among them, "Name of loading device" can be left blank, which means the current loading device is used by default. "Name of index directory of UI service in UI service package" can be left blank, which means there is only one index directory in the UI service package. "UI service name" can be left blank, which means the entry of the UI service is the default entry (such as the default application programming interface (API)).

[0271] In a possible implementation, the reused code can be implemented in the form of referencing the reused path through the import keyword, or the reused code can be implemented in the form of referencing the reused path through the import key function. Here, both the import keyword and the import key function comply with the scripting language specification (ecmascript, ES) defined in the standard ECMA-262.

[0272] In this implementation, after the UI service corresponding to the reuse path is loaded by the loading device of the software system, the rendering mode adopted by the software system is the virtual UI object rendering mode.

[0273] Exemplarily, the reuse code may be:

[0274] import cpqcpartlist from "$ / test-component@1.0.x";

[0275] import{test1}from"$ / test-component@1.0.x / package1";

[0276] Among them, import "" is the format of the import keyword. "$ / test-component@1.0.x" represents a reuse path, wherein the reuse path includes the UI service package name "test-component" and the fuzzy version number "1.0.x" of the UI service package.

[0277] In another exemplary embodiment, the reuse code may be:

[0278] ()=>import(“$ / test-component@1.0.x / turbovuep”);

[0279] Among them, ()=>import("") is the format of the import key function. "$ / test-component@1.0.x / turbovuep" represents the reuse path, wherein the reuse path includes the UI service package name "test-component", the fuzzy version number of the UI service package "1.0.x", and the name of the UI service "turbovuep".

[0280] Another possible implementation method is that in a software system that executes non-ES standards, the reused code can be implemented in the form of referencing the reuse path through the $turbo keyword.

[0281] Optionally, the reused code can be referenced by the $turbo keyword in the form of a reuse path.

[0282] In this implementation, after the UI service corresponding to the reuse path is loaded by the loading device of the software system, the rendering mode adopted is the combined rendering mode in the real UI rendering mode. In addition, the software system inserts and displays the UI rendered based on the UI service corresponding to the reuse path into the UI currently displayed by the software system.

[0283] It can be understood that the software system inserts the UI into the UI currently displayed by the software system, changing the layout, page, or length of the UI originally displayed by the software system.

[0284] Exemplarily, the reuse code may be:

[0285] const component=await$turbo("#container", "$ / test-component@1.0.x", options);

[0286] Among them, $turbo() represents the format of the $turbo keyword, and "$ / test-component@1.0.x" represents the reuse path.

[0287] Optionally, the reused code can be referenced via the $turbo.iframe keyword in the form of a reused path.

[0288] In this implementation, after the UI service corresponding to the reuse path is loaded by the loading device of the software system, the rendering mode adopted is the floating frame mode in the real UI rendering mode. In addition, the software system displays the UI rendered by the UI service corresponding to the reuse path on top of the UI currently displayed by the software system.

[0289] It can be understood that the software system superimposes and displays the UI before the UI currently displayed by the software system, and will not change the layout, page, or length of the UI originally displayed by the software system.

[0290] Exemplarily, the reuse code may be:

[0291] const component=await$turbo.iframe("#container", "$ / test-component@1.0.x", options);

[0292] Among them, $turbo.iframe() represents the format of the keyword, and "$ / test-component@1.0.x" represents the reuse path.

[0293] Optionally, reused code can be referenced via the $turbo.vue keyword in the form of a reused path.

[0294] In this implementation, after the UI service corresponding to the reuse path is loaded by the loading device of the software system, the rendering mode adopted is the virtual UI object rendering mode.

[0295] Exemplarily, the reuse code may be:

[0296] TestComponent: ()=>$turbo.vue(“$ / test-component@1.0.x”, vue);

[0297] Among them, "$turbo.vue()" represents the format of the keyword, and "$ / test-component@1.0.x" represents the reuse path. "vue" is a variable that represents an object. In addition, "vue" is an optional parameter that can be filled in or not. If it is not filled in, it means the vue object in the current loading device, and if it is filled in, it means the vue object of the current software system itself.

[0298] Optionally, reused code can be referenced via the $turbo.react keyword in the form of a reuse path.

[0299] In this implementation, after the UI service corresponding to the reuse path is loaded by the loading device of the software system, the rendering mode adopted is the virtual UI object rendering mode.

[0300] Exemplarily, the reuse code may be:

[0301] TestComponent: ()=>$turbo.react(“$ / test-component@1.0.x”, react);

[0302] Among them, "$turbo.react()" represents the format of the keyword, and "$ / test-component@1.0.x" represents the reuse path. "react" is a variable that represents an object. In addition, "react" is an optional parameter that can be filled in or not. If it is not filled in, it means the react object in the current loading device. If it is filled in, it means the react object of the current software system itself.

[0303] In addition, in the method for generating a UI service package provided in the embodiment of the present application, the UI services in the first UI service package can reuse the UI services in the second UI service package. When the type of the first UI service package is a business UI service package, in this case, after the first UI service package is generated, the UI services in the first UI service package can also be reused by the UI services in at least one other UI service package.

[0304] Optionally, all UI services in the first UI service package may be reused by UI services in at least one other UI service package.

[0305] Optionally, the UI services in the first UI service package may be partially reused by UI services in at least one other UI service package.

[0306] In a specific implementation, the generating device can derive a list of reusable UI services through keywords in the code file composed of the codes of the m UI services, based on the entry file, and the list can be used as the configuration file of the first UI service package. Through this design, subsequent developers can reuse the reusable UI services in the first UI service package according to development requirements when writing code.

[0307] The entry file may be an index.ts file, and the keyword may be an export keyword. For example, based on the entry file index.ts, the code for exporting a reusable UI service through the export keyword may be:

[0308] packages>test-component>src>ts index.ts

[0309] 1 export{default}from "components / cpart-list / index.vue";

[0310] 2 export{default as networktest}from "components / netw-test.vue"

[0311] 3 export{default as testapp}from "app / index.vue";

[0312] Among them, the codes marked with numbers "1 to 3" are used to represent the three exported UI services. "default" means that the entry of the UI service to be exported is the default entry. "default as networktest" means that the entry name of the UI service to be exported is "networktest", "default as testapp" means that the entry name of the UI service to be exported is "testapp", and "components / cpart-list / index.vue", "components / netw-test.vue", and "app / index.vue" all represent the code path of the UI service to be exported in the UI service package to which the UI service belongs.

[0313] It is understandable that the generating device may first obtain the development framework, and then receive the codes of the m UI services input by the developer through the input and output interface. The codes of the m UI services are written based on the development framework obtained by the generating device. In this case, the generating device may first execute S101, and then execute S102.

[0314] Of course, the generating device may also obtain the codes of the m UI services from other devices, where the codes of the m UI services are the codes of the m UI services input by the developer after the other device obtains the development framework through the input / output interface. The codes of the m UI services are written based on the development framework obtained by the other device. In this case, the generating device may first execute S102 and then execute S101.

[0315] It is understandable that if the UI service package to be generated by the generating device is a common dependency UI service package, the m UI service codes may be m runtime dependency codes. After the m runtime dependency codes are converted by the development framework obtained in step S101, a common dependency UI service package can be obtained.

[0316] Among the m runtime-dependent codes, at least one runtime-dependent code can be associated with the driver code. Here, the driver code is used to implement the driver function. After the generating device generates a common dependency UI service package based on the m runtime-dependent codes, at least one runtime dependency item corresponding to the at least one runtime-dependent code associated with the driver code can be associated with the driver implemented by the driver code, and the driver is used to initialize the runtime dependency item.

[0317] In S103, the first UI service package obtained by converting the m UI service codes through the acquired development framework can be any one of a business UI service package, a UI service package for implementing a loading device function, or a public dependency UI service package.

[0318] Specifically, the generating device can convert the codes of the m UI services obtained in step S102 based on the first configuration file (corresponding to the preset configuration file in the embodiment of the present application) through the development framework obtained in step S101, thereby obtaining a first UI service package. The first UI service package includes m UI services and a first dependency set.

[0319] The first configuration file may be pre-configured by the generating device according to the standard of the development framework, or may be obtained in advance by the generating device from other devices, which is not limited.

[0320] The first configuration file is used to indicate the type of the first UI service package, which is used to indicate the purpose of the first UI service package. For example, the first UI service package can be any of the above-mentioned business UI service packages, UI service packages that implement the loading device function, or public dependency UI service packages.

[0321] For example, in the first configuration file, "portal" can be used to represent the UI service package that implements the loading device function, "component" can be used to represent the business UI service package, and "runtime" can be used to represent the common dependency UI service package. In this case, when the first configuration file includes "portal", the first UI service package generated by the generating device based on the first configuration file is the UI service package that implements the loading device function.

[0322] When the first configuration file includes "component", the first UI service package generated by the generating device based on the first configuration file is a business UI service package. When the first configuration file includes "runtime", the first UI service package generated by the generating device based on the first configuration file is a public dependency UI service package.

[0323] When the first configuration file indicates that the type of the first UI service package is a UI service package that implements the loading device function, in this case, the generating device is also pre-configured with a second configuration file.

[0324] In this case, the generating device can convert the m UI service codes obtained in step S102 through the development framework obtained in step S101 based on the first configuration file, thereby obtaining a first UI service package, which also includes the second configuration file. The first UI service package is a UI service package that implements the function of the loading device.

[0325] The second configuration file includes the network address of at least one registered device. In this way, the loading device implemented by the first UI service package corresponds to the registered device corresponding to the network address of the at least one registered device. In addition, the loading device can communicate with the at least one registered device and load the UI services in all UI service packages registered in the at least one registered device.

[0326] It can be seen that one loading device can correspond to at least one registration device. It should be noted that one registration device can also correspond to at least one loading device. In other words, the network address of a registration device can be configured in the second configuration file used to generate the UI service package for implementing different loading device functions.

[0327] Here, the relevant description of the registration device can refer to S201 to S204 below, which will not be repeated here.

[0328] Specifically, the above development framework can obtain the first UI service package in any of the following ways:

[0329] In a possible implementation, the development framework can convert the codes of the m UI services into another type of code different from the current code type based on the first configuration file, thereby obtaining a UI service package. It should be understood that the other type of code can be recognized by the software system.

[0330] In a possible implementation, the development framework can compile the codes of the m UI services into a first UI service package based on the first configuration file, wherein compiling refers to the process of converting a high-level computer language into a binary language recognizable by a computer.

[0331] The first dependency set may be obtained by performing dependency detection and analysis on the reused codes in the m UI service codes when the development framework obtained in step S101 converts the m UI service codes. The development framework also packages the first dependency set in the first UI service package.

[0332] It should be noted that the first dependency set may include the dependency of at least one UI service in the first UI service package, and the dependency is used to indicate the dependency of the at least one UI service. In the following description of the embodiments of the present application, the first dependency set includes the dependency of each UI service in the first UI service package as an example for explanation.

[0333] Specifically, the generating device can detect keywords in the code of m UI services through the full text to determine the reuse paths in the code of m UI services. Among them, a reuse path is used to indicate the access path of the dependency of the UI service including the reuse path in the code. Then, the generating device determines the dependency of the UI service including the reuse path in the code based on the determined reuse path.

[0334] For the description of the multiplexing path, reference may be made to the description of the multiplexing path in S102 above, which will not be repeated here.

[0335] Specifically, the first dependency relationship set includes m dependency relationships, and each of the m dependency relationships is used to indicate the dependency of each UI service in the m UI services in the first UI service package.

[0336] For example, the dependency of the first UI service is used to indicate the dependency of the first UI service. The dependency of the first UI service may be at least one of a UI service different from the first UI service and a runtime dependency. Here, the UI service different from the first UI service may be a UI service in the first UI service package, or a UI service in another UI service package (such as a second UI service package) different from the first UI service package, without limitation.

[0337] Exemplarily, if the first UI service package includes UI service 1 and UI service 2, the dependency of UI service 1 may be UI service 3, and the dependency of UI service 2 may be UI service 4 and runtime dependency 1. Here, UI service 3 and UI service 4 may be UI services in the first UI service package, or may be UI services in other UI service packages (such as the second UI service package) different from the first UI service package.

[0338] The first dependency set mentioned above can be embodied in the form of a table. Of course, the first dependency set mentioned above can also be embodied in any form that can describe the dependency of the UI service, and this is not limited.

[0339] Referring to Table 1, Table 1 shows the first dependency set in a table form. As shown in Table 1, the first dependency set includes two dependencies, and the two dependencies include a dependency of UI service 1 and a dependency of UI service 2.

[0340] The dependency relationship of UI service 1 indicates that the dependency of UI service 1 includes UI service 3 , and the dependency relationship of UI service 2 indicates that the dependency of UI service 2 includes UI service 4 and runtime dependency 1 .

[0341] Table 1

[0342]

[0343] In S104, the generating device may deploy the first UI service package obtained in step S103 on the physical space corresponding to the preset network address according to the preset network address.

[0344] Specifically, the generating device can be Figure 4 The communication interface shown sends or uploads the first UI service package to the physical space corresponding to the network address.

[0345] In S105 , the registration information of the first UI service package includes the name of the first UI service package and a network address for deploying the first UI service package.

[0346] Specifically, the generating device can be Figure 4 The communication interface shown publishes registration information of the first UI service package. The registration information is used to register the first UI service package in at least one registration device.

[0347] Optionally, the above registration information may also include the version number of the first UI service package.

[0348] Optionally, the generating device may send the registration information of the first UI service package to the at least one registration device, so that the at least one registration device adds the registration information of the first UI service package to the registration list of the at least one registration device.

[0349] Optionally, the generating device may also publish the registration information of the first UI service package on Figure 3 In this way, the at least one registration device can obtain the registration information of the first UI service package from the third-party platform and add the registration information of the first UI service package to its own registration list. This is not limited.

[0350] In S106, the generating device can Figure 4 The communication interface shown sends the first dependency set in the first UI service package obtained in step S103 to the at least one registration device.

[0351] In this way, after the first UI service package is registered in the at least one registration device, the at least one registration device obtains the first dependency set by receiving the first dependency set.

[0352] In S107, in actual application, the first UI service package can be updated at any time. The process of updating the first UI service package can refer to the process of S101 to S104, which will not be repeated here.

[0353] It can be understood that the updated first UI service package may include a second dependency set, and the second dependency set includes the dependency of at least one UI service in the updated first UI service package.

[0354] Exemplarily, if any UI service in the updated first UI service package is a third UI service, the dependency relationship of the third UI service is used to indicate the dependency of the third UI service.

[0355] It is understandable that after the generation device updates the first UI service package, the updated UI service package does not change its name, version number, and the network address to which it is deployed. At this time, the generation device executes step S108 to send the second dependency set to the at least one registration device, so that the at least one registration device updates the first dependency set to the second dependency set.

[0356] When the generating device updates the first UI service package, at least one of the name, version number, and network address used to deploy the updated UI service package changes, such as the version number is updated. In this case, the generating device will publish the registration information of the updated first UI service package, which includes the name of the updated first UI service package and the network address used to deploy the updated first UI service package. The registration information is used to register the updated first UI service package in at least one registration device.

[0357] Optionally, the registration information of the updated first UI service package may further include a version number of the updated first UI service package.

[0358] The above describes the method for generating a UI service package provided in an embodiment of the present application. Through this method, different UI service packages can efficiently reuse UI services through reuse paths in reuse codes.

[0359] Furthermore, through this method, the generating device can obtain the above-mentioned UI service package based on a unified development framework. When the UI application is integrated through the UI service in the UI service package, the threshold for subsequent developers to integrate UI services can be lowered.

[0360] In addition, in the method for generating a UI service package provided by an embodiment of the present application, the UI service package obtained by developing a framework conversion code also includes the dependency relationships of each UI service in the UI service package (e.g., a first dependency set and a second dependency set). In this way, the loading device can obtain the dependency sets of all UI service packages registered in the registration device from the registration device. In this way, the loading device can determine the reuse path of all dependencies of the UI service to be loaded based on all the dependency sets obtained, and then can download the UI service to be loaded and its dependencies in parallel based on the reuse path of the UI service to be loaded and its dependencies, and load the UI service to be loaded and its dependencies, thereby improving the efficiency of loading UI services, that is, improving the operating efficiency of the UI service to be loaded that reuses the UI service or the runtime dependency.

[0361] The following is a description of the method for registering a UI service package provided in an embodiment of the present application.

[0362] refer to Fig. 9 , Fig. 9 A flow chart of a method for registering a UI service package provided in an embodiment of the present application is shown. The method is applied to a registration device and includes the following steps:

[0363] S201. A registration device obtains registration information of a first UI service package, where the first UI service package includes at least one UI service.

[0364] The registration information of the first UI service package includes the name of the first UI service package and a network address for deploying the first UI service package. Here, the first UI service package may be the first UI service package obtained through the above steps S101 to S103.

[0365] Optionally, the registration information may also include a version number of the first UI service package.

[0366] In a possible implementation, the registration device can Figure 4 The communication interface shown receives registration information of the first UI service package sent by the generating device.

[0367] In another possible implementation, the registration device may obtain the registration information of the first UI service package from a third-party platform, wherein the generation device pre-publishes the registration information of the first UI service package on the third-party platform, which may be a public service platform, etc., without limitation.

[0368] In another possible implementation, the developer may input (or import) the registration information of the first UI service package to the registration device through the input and output interface of the registration device. Accordingly, the registration device may obtain the registration information, which is not limited thereto.

[0369] Optionally, the registration device may send a request to the third-party platform to obtain registration information. In response, the third-party platform sends the registration information of the first UI service package to the registration device. In this way, the registration device can obtain the registration information of the first UI service package.

[0370] S202: The registration device adds the above registration information to the registration list of the registration device.

[0371] Specifically, the registration device adds the acquired registration information of the first UI service package to the registration list of the registration device, so that the registration of the first UI service package in the registration device is realized.

[0372] The registration list of the registered device includes registration information of at least one UI service package. The at least one UI service package can be a business UI service package, a UI service package that implements the function of the loading device, or a public dependent UI service package, which is not limited to this.

[0373] Exemplarily, the code for adding the registration information of the first UI service package to the registration list may be as follows:

[0374]

[0375] Among them, "name" indicates that the information type is the name of the UI service package, "acc-component" indicates the name of the first UI service package, "version" indicates that the information type is the version number of the UI service package, "1.0.0" indicates the version number of the first UI service package, "rootUrl" indicates that the information type is the network address used to deploy the UI service package, and " / / r-beta.hw3static.com / s / acc-uiaas / lst" indicates the network address used to deploy the first UI service package.

[0376] S203 (optional): the registration device obtains a dependency set of the first UI service package.

[0377] The description of the dependency set of the first UI service package may refer to the related description of the first dependency set in S103 above, which will not be repeated here.

[0378] It is understandable that if the registration device obtains the dependency set of the first UI service package for the first time (such as the first dependency set described in step S103), the dependency set can be stored in the registration device. It is understandable that the dependency set corresponds to the registration information of the first UI service package in the registration list.

[0379] Optionally, the registration device may add the acquired dependency set as a registration information of the first UI service package to the registration list, so that the dependency set corresponds to the registration information of the first UI service package in the registration list.

[0380] If the registration device does not obtain the dependency set of the first UI service package for the first time, the registration device updates the previously saved dependency set.

[0381] For example, the registration device replaces the previously saved dependency set (eg, the first dependency set described in step S103 ) with the most recently acquired dependency set (eg, the second dependency set described in step S107 ).

[0382] Specifically, the registration device may obtain the dependency set of the first UI service package through any of the following possible implementation methods.

[0383] In a possible implementation, the registration device receives a dependency set of the first UI service package sent by the generation device.

[0384] It should be understood that the first time the registration device receives the dependency set, it may be received when receiving the registration information of the first UI service package sent by the generating device. Here, the dependency set may be received by the registration device as one piece of information together with the registration information (for example, the registration information includes the first dependency set). Of course, the dependency set may also be received by the registration device as two pieces of information together with the registration information, and this is not limited to this.

[0385] In another possible implementation manner, the registration device may obtain the dependency set of the first UI service package from the first UI service package according to the network address used to deploy the first UI service package in the registration information of the first UI service package.

[0386] Specifically, the registration device may obtain the dependency set of the first UI service package from the physical space corresponding to the network address according to the network address.

[0387] Since the first UI service package can be updated at any time, the dependency set of the first UI service package deployed at the network address may be different at different times. In this case, the registration device can periodically obtain the dependency set of the first UI service package from the physical space corresponding to the network address based on the network address.

[0388] It is easy to understand that the registration device obtains the first dependency set from the first UI service package according to the network address used to deploy the first UI service package in the registration information of the first UI service package, which can be regarded as a process in which the registration device discovers the dependency of the UI service in the first UI service package according to the network address. In this way, through the method for registering a UI service package provided by the present application, the registration device can automatically discover the dependency of the UI service in the first UI service package.

[0389] That is, the registration device can automatically discover the dependency relationship of each UI service in each UI service package registered with itself. In this way, when the loading device corresponding to the registration device loads the UI service, all UI services and their dependencies to be loaded can be determined according to the dependency relationship of each UI service in each UI service package registered with the registration device, and all UI services and their dependencies can be loaded, thereby improving the loading speed.

[0390] Exemplarily, the code of the first dependency set in the first UI service package obtained by the registration device according to the network address used to deploy the first UI service package may be as follows:

[0391] "dep": [

[0392] "@aurora / ui",

[0393] "$ / test-component@1.0.x",

[0394] ],

[0395] Among them, "dep" indicates that the information type is dependency, and the content in the brackets "[]" indicates the reuse path of the dependency. "$ / test-component@1.0.x" indicates the reuse path of the UI service, and "@aurora / ui" indicates the reuse path of the runtime dependency, which is not limited.

[0396] In another possible implementation, the developer may input (or import) the dependency set of the first UI service package to the registration device through the input and output interface of the registration device. Accordingly, the registration device may obtain the dependency set, which is not limited.

[0397] Optionally, the registration device may also generate an initial dependency graph based on the dependency set (e.g., dependency set 1 of UI service package 1 and dependency set 2 of UI service package 2) of at least one UI service package (e.g., UI service package 1 and UI service package 2) obtained and registered in the registration device. The initial dependency graph includes the dependencies included in dependency set 1 and dependency set 2, and also includes the association relationship between dependency set 1 and dependency set 2.

[0398] For a detailed description of the initial dependency graph, reference may be made to the description of the dependency graph in S302 below, which will not be repeated here.

[0399] S204 (optional): The registration device generates an initial multiplexing path for at least one UI service in the first UI service package.

[0400] Specifically, the registration device may generate an initial reuse path for at least one UI service in the first UI service package according to the registration information of the first UI service package, wherein the registration information of the first UI service package includes the name of the first UI service package, the network address for deploying the first UI service package, and the version number of the first UI service package.

[0401] It is understandable that if the registration information of the first UI service package does not include the version number of the first UI service package, the registration device can obtain the version number of the first UI service package through the network address used to deploy the first UI service package. In this case, the registration device can generate an initial reuse path for at least one UI service in the first UI service package based on the registration information of the first UI service package and the version number of the first UI service package.

[0402] In this way, when a developer is developing and writing the code for a new UI service, he or she can determine the reuse path for reusing the UI service based on the initial reuse path of the reusable UI service in the first UI service package. The initial reuse path and the reuse path are both used to indicate the access path of at least one UI service. The reuse path includes the fuzzy version number of the first UI service package.

[0403] For the relevant description of the ambiguous version number of the first UI service package, reference may be made to the relevant description of the ambiguous version number of the UI service package in S102 above, which will not be repeated here.

[0404] Here, the initial reuse path of the UI service may include the name of the UI service package and the version number of the UI service package. Optionally, the initial reuse path of the UI service may also include the loading device name, the index directory name of the UI service in the UI service package, and the name of the UI service.

[0405] Among them, the UI service package generated by the generating device to implement the loading device function includes a second configuration file, which is configured with the network address of at least one registration device. Therefore, the loading device name can be the name of the loading device configured with the above-mentioned registration device network address.

[0406] The name of the UI service package and the version number of the UI service package, i.e., the name of the UI service package to which the above-mentioned UI service belongs and the version number of the UI service package, i.e., the name of the UI service package and the version number of the UI service package in the registration information of the UI service package to which the above-mentioned UI service belongs.

[0407] The index directory name of the UI service in the UI service package can be used to represent the set name (or combined name) of different UI service sets in the UI service package. A UI service set includes at least one UI service. If the UI service package includes m UI services, the m UI services can be divided into at least one UI service set.

[0408] Exemplarily, the UI services in a UI service set may be UI services of the same interface type. The present application does not limit the basis for dividing different UI service sets.

[0409] The name of the UI service indicates the entry point of the UI service. Exemplarily, the entry point may be an API.

[0410] Similarly, the registration device may also generate an initial reuse path of at least one runtime dependency item in the common dependency UI service package according to the registration information of the common dependency UI service package, which will not be described in detail here.

[0411] In this way, the developer can determine the reuse path of the UI service or runtime dependency through the initial reuse path of the UI service or runtime dependency. In this way, when the generating device generates a UI service package that reuses the UI service or runtime dependency, it can obtain the dependency relationship of the UI service in the first UI service package based on the reuse path analysis.

[0412] Furthermore, the loading device may download and load the reused UI service or runtime dependency based on the dependency relationship and the reuse path.

[0413] Optionally, the registration device may publish the generated initial reuse path of at least one UI service in the above-mentioned first UI service package to the public service platform, so that when developers develop new UI service packages, they can determine the reuse path for reusing the UI service based on the initial reuse path of the reusable UI service in the above-mentioned first UI service package, thereby realizing that UI services in different UI service packages can be reused with each other.

[0414] Of course, the registration device may also publish the initial reuse path of at least one runtime dependency in the common dependency UI service package registered in the registration device to the public service platform, so that when a developer develops a new UI service package, he or she may determine the reuse path of at least one runtime dependency according to the initial reuse path of at least one runtime dependency.

[0415] In this way, through the method for registering a UI service package provided in an embodiment of the present application, the first UI service package can be registered in the registration device. The registration device can further obtain the dependency relationship (e.g., the first dependency relationship set) of at least one UI service in the first UI service package. In this way, the loading device can obtain the dependency relationship sets of all UI service packages registered in the registration device from the registration device.

[0416] In this way, the loading device can determine the reuse path of all dependencies of the UI service to be loaded based on all the dependency sets obtained, and then can download the UI service to be loaded and its dependencies in parallel according to the reuse path of the UI service to be loaded and its dependencies, and load the UI service to be loaded and its dependencies, thereby improving the efficiency of loading the UI service, that is, improving the operating efficiency of the UI service to be loaded that reuses the UI service or runtime dependencies.

[0417] It should be noted that the above method for registering a UI service package may also be executed by the loading device provided in the embodiment of the present application, in which case the loading device and the above registration device are the same device.

[0418] It is understandable that the above-mentioned method flow of generating UI service package and registering UI service package are all development state flow of UI service. Here, development state flow means the method flow of developing UI service. Next, the running state flow of UI service is described. Here, running state flow means the method flow of running UI service (or loading UI service).

[0419] refer to Fig.10 , Fig.10 A flow chart of a method for loading a UI service provided in an embodiment of the present application is shown, and the method is applied to a loading device.

[0420] Here, the loading device is used to load UI services for the software system. The loading device includes a dependency graph, which indicates the dependency of at least one UI service in at least one UI service package, and indicates that any UI service in the at least one UI service package is referenced as a dependent UI service. The at least one UI service package is a UI service package registered in at least one registration device. Here, the at least one registration device can be a registration device corresponding to the network address of the registration device configured by the generating device in the second configuration file.

[0421] like Fig.10 As shown, the method for loading the UI service includes the following steps:

[0422] S301: A loading device receives a loading request, where the loading request is used to request loading of a UI service to be loaded.

[0423] Specifically, the loading device may receive a loading request issued by the software system, where the loading request is used to request loading of the UI service to be loaded. The loading request may include a multiplexing path for indicating the UI service to be loaded.

[0424] The description of the multiplexing path may refer to the description of the multiplexing path in S102 above, which will not be repeated here.

[0425] The UI service to be loaded may include at least one UI service. When the UI service to be loaded includes multiple UI services, the loading request may include a multiplexing path for indicating each UI service in the multiple UI services.

[0426] Here, after the loading device loads the above-mentioned UI service to be loaded, the software system can render the loaded UI service to be loaded into at least one UI. The at least one UI can be a UI in a tool-type UI application constructed based on the UI service package in the embodiment of the present application, or a UI in a scene-type UI application constructed based on the UI service package in the embodiment of the present application, and there is no limitation on this.

[0427] In practical applications, the software system can receive input and output from the user through the input and output interface (such as keyboard, mouse or Figure 6 The software system then starts the loading device and sends a loading request to the loading device, which is used to request the loading of the UI service to be loaded. After the UI service to be loaded is rendered by the software system, the UI requested to be loaded by the user can be obtained.

[0428] Exemplarily, taking the software system as a browser, the user can enter the network address in the address bar of the browser (or the user clicks an icon or button on the browser, and the browser automatically imports the network address). In this way, the browser receives the user's request to load the UI, for example, the UI can be the homepage of the browser. Then, the browser starts the loading device and sends a loading request to the loading device, the loading request is used to request to load the UI service to be loaded, and the UI service to be loaded can obtain the homepage UI of the browser after being rendered by the browser.

[0429] Optionally, after receiving a user's request to load a UI, the software system may start at least one preset loading device.

[0430] Optionally, after receiving a user's request to load the UI, the software system may download at least one loading device, and then start the at least one loading device.

[0431] Exemplarily, the software system can download at least one loading device (e.g., download the first loading device and the second loading device) through an entry file or a bridge. Taking the software system as a browser as an example, the code for the browser to download two loading devices through an entry file can be as follows:

[0432] <script type="text javascript”src="http: kweweb-rhs1.huawei.com isales index loader.js?ns=isales”>< / script>

[0433] <script type="text javascript”src="http: kweweb-rhs1.huawei.com isales cpq index loader.js?ns=cpq”>< / script>

[0434] Among them, "http: / / kweweb-rhs1.huawei.com / isales / index / loader.js?ns=isales" represents the network address of the first loading device, "isales" represents the name of the first loading device, "http: / / kweweb-rhs1.huawei.com / isales / cpq / index / loader.js?ns=cpq" represents the network address of the second loading device, and "cpq" represents the name of the second loading device.

[0435] It should be noted that the network address of the first loading device may be a network address for deploying a UI service package that implements the function of the first loading device, and the network address of the second loading device may be a network address for deploying a UI service package that implements the function of the second loading device. The network address of the first loading device and the network address of the second loading device may be configured in the browser by the developer.

[0436] In this case, the code of the software system also includes a code for instructing to load the UI service through the first loading device and the second loading device, and the code may be:

[0437] $turbo.$isales(“$ / test-component@1.0.x”)

[0438] $turbo.$cpq(“$ / test-component@1.0.x”)

[0439] Among them, the code “$turbo.$isales(“$ / test-component@1.0.x”)” indicates that the first loading device “isales” can be used to load the UI service indicated by the reuse path “$ / test-component@1.0.x”. The code “$turbo.$cpq(“$ / / test-component@1.0.x”) indicates that the second loading device “cpq” can be used to load the UI service indicated by the reuse path “$ / test-component@1.0.x”.

[0440] Optionally, the software system can also introduce a third loading device through an already running loading device (such as the first loading device). The third loading device can also load UI services for the software system by executing the method of S301 to S304. The number of the third loading device is at least one.

[0441] Specifically, the first loading device can introduce the third loading device through a second configuration file in a UI service package that implements the function of the first loading device. The second configuration file includes a code for introducing the third loading device.

[0442] As an example, the code for introducing the third loading device in the second configuration file may be as follows:

[0443]

[0444]

[0445] Here, the above code indicates that two third loading devices are introduced, including loading device 'cpq' and loading device 'isales', wherein the network address of the third loading device 'cpq' is "http: / / cpq.huawei.com / ", and the network address of the third loading device 'isales' is http: / / isales.huawei.com / .

[0446] In this case, the code of the UI service package that implements the function of the first loading device also includes a code for instructing to load the UI service through the two third loading devices.

[0447] As an example, under the es standard, when using the import keyword, the code can be:

[0448] import TestComponent1 from "$cpq / test-component@1.0.x"

[0449] import TestComponent2 from$isales / test-component@1.0.x

[0450] Under the es standard, when using the import key function, the code can be:

[0451] ()=>import($cpq / test-component@1.0.x);

[0452] ()=>import($isales / test-component@1.0.x);

[0453] For the description of the import keyword and import key functions, please refer to the above text and will not be repeated here.

[0454] In non-ES standards, the code can be:

[0455] $turbo(“$cpq / test-component@1.0.x”)

[0456] $turbo(“$isales / test-component@1.0.x”)

[0457] Among them, under the above two standards, the loader name in the reuse path "$cpq / test-component@1.0.x" is the third loader "cpq", and the loader name in the reuse path "$isales / test-component@1.0.x" is the third loader "isales".

[0458] In this way, when the software system receives the UI service indicated by the loading reuse path "$cpq / test-component@1.0.x", it can download the third loading device according to the network address of the third loading device in the code for introducing the third loading device in the above-mentioned second configuration file, and load the UI service indicated by the reuse path "$cpq / test-component@1.0.x" through the third loading device.

[0459] It should be understood that if the software system loads the UI service through at least two loading devices (e.g., the first loading device and the second loading device), the at least two loading devices are isolated from each other, that is, the first loading device and the second loading device are isolated from each other. In this way, when the same UI service is loaded and run through the first loading device and loaded and run through the second loading device, they do not affect each other, that is, they are isolated from each other.

[0460] In addition, since the UI service package implementing the loading device function includes at least one UI service related to the loading device in addition to the UI service implementing the loading device function, in this case, when the loading request sent by the software system received by the loading device includes a request to load the UI service related to the loading device in the UI service package implementing the loading device function, the loading device can directly load these UI services related to the loading device without executing the subsequent S302 to S304.

[0461] S302: The loading device determines the dependency of the UI service to be loaded according to the dependency graph.

[0462] Specifically, the loading device may determine the reuse path of the dependency of the UI service to be loaded according to the dependency graph.

[0463] The dependency graph is obtained based on a dependency set of some or all UI service packages in at least one UI service package, and the dependency set includes a dependency of at least one UI service in the part or all UI service packages.

[0464] The dependency relationship of at least one UI service in the partial or entire UI service package is used to indicate the dependency of at least one UI service in the partial or entire UI service package.

[0465] For the description of the dependency set, reference may be made to the description of the first dependency set in S103 above, which will not be repeated here.

[0466] Optionally, the dependency graph in the loading device may be generated by the loading device based on the dependency set of at least one UI service package registered in the registration device, or may be generated by the loading device based on an initial dependency graph generated by a registration device received in advance. The dependency graph can be used to indicate the dependency of at least one UI service in at least one UI service package in the registration device, and to reference the UI service as a dependent UI service. Here, the registration device is a registration device corresponding to the loading device, and the number of the registration devices is at least one. The correspondence between the loading device and the registration device can refer to the description of step S103 above, which will not be repeated here.

[0467] Exemplary, reference Fig.11 , Fig.11 A dependency graph 110 is shown.

[0468] like Fig.11 As shown, the dependency graph 110 includes three dependency relationships, among which the dependency relationship of UI service a includes: UI service a is a dependency of UI service b, UI service a depends on UI service c, and UI service a depends on runtime dependency a (i.e., the dependency of UI service a includes UI service c and runtime dependency a). The dependency relationship of UI service b includes: UI service b depends on UI service a, and UI service b depends on runtime dependency b (i.e., the dependency of UI service b includes UI service a and runtime dependency b). The dependency relationship of UI service c includes: UI service c is a dependency of UI service a, and UI service c depends on runtime dependency c (i.e., the dependency of UI service c is runtime dependency c).

[0469] It should be understood that the above dependency graph can also be represented by two sets. The two sets can be a set of UI services and a set of relationships, respectively. Among them, the relationship can include the relationship between a UI service and its dependencies, the relationship between different UI services, and the relationship between the dependencies of different UI services.

[0470] It is understandable that the above dependency graph may include a reuse path of UI services and runtime dependencies of at least one of the above partial or all UI service packages.

[0471] The description of the multiplexing path may refer to the description of the multiplexing path in S102 above, which will not be repeated here.

[0472] Furthermore, the loading device may determine the reuse path of the dependency of the UI service to be loaded in the dependency graph according to the reuse path in the loading request, wherein the UI service to be loaded may include at least one dependency.

[0473] It should be understood that if the dependency of the UI service to be loaded is called the first-level dependency, then for the first-level dependency, the dependency of the first-level dependency can be called the second-level dependency of the UI service to be loaded. Similarly, the dependency of the second-level dependency can be called the third-level dependency of the UI service to be loaded, and the dependency of the third-level dependency can be called the fourth-level dependency of the UI service to be loaded, and so on.

[0474] That is to say, the dependency of the y-th level dependency can be called the (y+1)-th level dependency of the UI service to be loaded. Among them, the y-th level dependency and the (y+1)-th level dependency can both include at least one of the UI service and the runtime dependency. It should be noted that when the y-th level dependency only includes runtime dependencies, the y-th level dependency does not have a next-level dependency, that is, the y-th level dependency is the last-level dependency of the UI service to be loaded. At this time, the dependency of the UI service to be loaded includes y-level dependencies. Among them, y is a positive integer.

[0475] For example, if the UI service to be loaded is Fig.11 As shown in the UI service b, the first level dependency of UI service b includes UI service a and runtime dependency b. Since the dependency of UI service a includes UI service c and runtime dependency a, the second level dependency of UI service b includes UI service c and runtime dependency a. Since the dependency of UI service c is runtime dependency c, the third level dependency of UI service b includes runtime dependency c. In other words, the dependency of UI service b includes 3 levels of dependencies.

[0476] It should be understood that since the above-mentioned dependency graph can intuitively reflect the dependency relationship between UI services, or between UI services and runtime dependencies, the loading device can determine the reuse path of each level of dependency in the y-level dependency of the UI service to be loaded in the above-mentioned dependency graph according to the reuse path in the above-mentioned loading request.

[0477] The following description will be made by taking the example that the dependency graph is generated based on the dependency relationship set of all UI service packages registered in the registration device.

[0478] In this case, the loading device may generate the above dependency graph according to the dependency set of each UI service package registered in the registration device obtained in advance. The following describes the process of the loading device obtaining the dependency set of each UI service package registered in the registration device in advance.

[0479] Specifically, the loading device may send a dependency acquisition request to the registration device according to the network address of at least one registration device configured in the second configuration file (refer to the second configuration file described in S103).

[0480] The acquisition request is used to request the registration list in the registration device, or to request the dependency set of each UI service package registered in the registration device, or to obtain the initial dependency graph generated by the registration device. The registration list includes at least one of the dependency set of each UI service package registered in the registration device or the initial dependency graph generated by the registration device.

[0481] Optionally, the loading device may send the above dependency acquisition request to the registration device according to the network address of at least one registration device configured in the second configuration file during runtime.

[0482] Based on the dependency acquisition request, the registering device sends a dependency set of each UI service package registered with itself to the loading device, or sends an initial dependency graph to the loading device.

[0483] In this way, the loading device can generate the above dependency graph according to the received dependency set of each UI service package registered in the registration device, or the initial dependency graph of the registration device.

[0484] In addition, it can be known from the above description that the dependency set of the UI service package (eg, the first UI service package) registered in the registration device can be updated periodically.

[0485] Therefore, optionally, the loading device may send the above dependency acquisition request to the registration device according to the network address of at least one registration device configured in the second configuration file during operation. Based on the dependency acquisition request, the registration device may periodically send the dependency set of each UI service package registered with itself to the loading device, or periodically send the initial dependency graph to the loading device.

[0486] Optionally, since the dependency set of the UI service package (e.g., the first UI service package) registered in the registration device can be updated periodically, the loading device can periodically send the above dependency acquisition request to the registration device according to the network address of at least one registration device configured in the second configuration file after running.

[0487] Accordingly, the registering device periodically sends the dependency set of each UI service package registered with itself to the loading device, or periodically sends the initial dependency graph to the loading device.

[0488] In this way, the loading device can update the above dependency graph according to the dependency set of each UI service package registered with the registration device that is periodically received, or according to the initial dependency graph of the registration device that is periodically received.

[0489] S303 (optional): the loading device downloads the UI service to be loaded and the above-determined dependency of the UI service to be loaded based on the reuse path of the UI service to be loaded and the reuse path of the dependency of the UI service to be loaded.

[0490] Downloading the UI service to be loaded refers to the process of downloading the UI service to be loaded from the device or physical space storing the UI service to be loaded to the local device running the software system. Downloading the dependency of the UI service to be loaded refers to the process of downloading the dependency of the UI service to be loaded from the device or physical space storing the dependency of the UI service to be loaded to the local device running the software system.

[0491] It is understandable that if the UI service to be loaded and / or the dependency of the UI service to be loaded are stored in the local device running the software system, there is no need to perform the downloading step described in S303.

[0492] Specifically, the loading device can download the UI service to be loaded and its dependency in parallel according to the reuse path of the UI service to be loaded in the loading request and the reuse path of the dependency of the UI service to be loaded determined in step S302. Here, the dependency of the UI service to be loaded includes the y-level dependency of the UI service to be loaded.

[0493] Specifically, the loading device may synchronously or asynchronously download the UI service to be loaded and its dependency in parallel according to the reuse path of the UI service to be loaded and the reuse path of its dependency, which is not limited to this.

[0494] In this way, by downloading the UI service to be loaded and its dependencies in parallel, the efficiency of the loading device in downloading the UI service to be loaded and its dependencies can be improved, thereby improving the efficiency of the loading device in loading the UI service to be loaded and its dependencies.

[0495] The following takes the example of the loading device downloading the UI service to be loaded according to the reuse path of the UI service to be loaded as an example to illustrate the process of the downloader downloading the UI service to be loaded and the dependency of the UI service to be loaded.

[0496] For the convenience of description, in the description after step S303, the "reuse path of the UI service to be loaded" is referred to as the "above-mentioned reuse path" for short.

[0497] In a possible implementation, if the loading device obtains the registration list of the registration device, then the loading device can determine the latest version of the target UI service package in the obtained registration list according to the name of the UI service package in the reuse path and the fuzzy version number of the UI service package, and the target UI service package includes the UI service to be loaded. Then, the loading device determines the network address for deploying the target UI service package based on the registration information of the target UI service package in the registration list.

[0498] In this way, the loading device can download the UI service to be loaded in the target UI service package from the device or physical space corresponding to the network address according to the determined network address and the index directory name and name of the UI service in the UI service package in the above-mentioned reuse path.

[0499] In another possible implementation, the loading device sends a request to the registration device to determine the UI service to be loaded, and the request includes the name of the UI service package in the reuse path and the fuzzy version number of the UI service package. In this way, the registration device can determine the latest version of the target UI service package in the registration list according to the name of the UI service package in the reuse path and the fuzzy version number of the UI service package, and the target UI service package includes the UI service to be loaded.

[0500] Then, the registration device determines a network address for deploying the target UI service package based on the registration information of the target UI service package in the registration list.

[0501] Next, the registration device sends the determined network address for deploying the target UI service package to the loading device. Correspondingly, the loading device receives the network address for deploying the target UI service package.

[0502] In this way, the loading device can download the UI service to be loaded in the target UI service package from the device or physical space corresponding to the network address according to the network address, the index directory name of the UI service in the UI service package in the above-mentioned reuse path, and the name of the UI service.

[0503] The following is an example of a process in which the loading device or the registering device searches and determines the latest version of the target UI service package in the registration list based on the name of the UI service package in the reuse path and the fuzzy version number of the UI service package.

[0504] Exemplarily, if the name of the UI service package in the above-mentioned reuse path is aaa, the fuzzy version number of the UI service package in the above-mentioned reuse path is 1.1.x. If the UI service packages included in the registration list include 3 UI service packages named aaa, among which the version number of the first UI service package named aaa is 1.1.1, the version number of the second UI service package named aaa is 1.1.3, and the version number of the third UI service package named aaa is 1.1.5. If the version number definition rule agreed upon by the registration device and the generation device is: the larger the value of the version number, the newer the version. In this way, the loading device or the registration device can determine that in the registration list, the UI service package named aaa and the version number 1.1.5 is the latest version of the UI service package. That is, the loading device or the registration device determines the UI service package as the target UI service package.

[0505] That is, through the name of the UI service package in the reuse path and the fuzzy version number of the UI service package, the loading device or the registration device can match the dependency of the UI service to be loaded to the latest version of the UI service package. In this way, the loading device can download the dependency of the UI service to be loaded from the latest version of the UI service package.

[0506] Therefore, even if the dependency of the UI service to be loaded and the UI service package to which the dependency belongs have updated versions, the UI application constructed by the UI service package in the embodiment of the present application does not need to be upgraded, thereby saving resources.

[0507] S304: The loading device loads the downloaded UI service to be loaded and the dependency of the UI service to be loaded.

[0508] Specifically, the loading device may sequentially load the downloaded UI service to be loaded and the dependency of the UI service to be loaded according to the dependency graph described in step S302. That is, the loading device may sequentially load the UI service to be loaded and the dependency of the UI service to be loaded downloaded to the local device into the memory of the running software system according to the dependency graph. The local device is a local device running the software system.

[0509] In actual application. When the loading device downloads the UI service to be loaded and the dependency of the UI service to be loaded in parallel through step S303, due to network factors such as network speed and bandwidth, at least one UI service in the UI service to be loaded and at least one dependency included in the at least one UI service will not be downloaded at the same time. In this way, the loading device can load the downloaded UI services and dependencies in sequence according to the UI services and dependencies that have been downloaded locally and according to the order of the dependency relationships indicated by the above dependency graph. The order can be to load the dependency first and then load the UI service that references the dependency.

[0510] Exemplarily, the UI service to be loaded is Fig.11 Take the UI service b shown in as an example. Since the first-level dependency of UI service b includes UI service a and runtime dependency b, the second-level dependency of UI service b includes UI service c and runtime dependency a, and the third-level dependency of UI service b includes runtime dependency c. In this case, the order in which the loading device loads UI services or runtime dependencies can be runtime dependency c→UI service c / runtime dependency a→UI service a / runtime dependency b→UI service b.

[0511] Optionally, the loading device can determine whether the UI service or the dependency is an item that needs to be loaded currently according to the order of the dependency relationship indicated by the dependency graph when each UI service in the UI service to be loaded is downloaded and each dependency in the dependency of the UI service to be loaded is downloaded. If so, the UI service or the dependency is loaded; if not, the UI service or the dependency is loaded when it is an item that needs to be loaded currently.

[0512] In this way, the loading device realizes downloading UI services or dependencies while loading UI services or dependencies, thereby improving loading efficiency.

[0513] It is understandable that after the loading device completes loading the UI service to be loaded and the dependencies of the UI service to be loaded, the software system can render the UI service to be loaded and the dependencies of the UI service to be loaded into at least one UI and display the at least one UI. Figure 6 The display screen 640 shown in FIG. 6 displays the at least one UI.

[0514] Optionally, if the dependency of the UI service to be loaded is a runtime dependency, and the runtime dependency is associated with a driver, the loading device starts the driver of the runtime dependency when loading the runtime dependency for the first time to initialize the runtime dependency.

[0515] This is because the runtime dependency may be reused multiple times by the UI services to be loaded. In this process, the runtime dependency only needs to be initialized once by its associated driver without repeated initialization. The relevant description of the driver can refer to the relevant description of the driver in S102 above, which will not be repeated here.

[0516] Through such a design, the loading device can globally (i.e., the entire process of loading the UI service to be loaded) start the driver associated with the runtime dependency once, so that the runtime dependency is globally initialized once. In this way, compared with the prior art in which developers need to manually start the driver of the runtime dependency to initialize the runtime dependency, the method provided by the embodiment of the present application reduces the development threshold for starting the runtime dependency and improves the development efficiency of the UI service.

[0517] It is understandable that if the registration device and the loading device provided in the embodiment of the present application are one device, there is no need to perform the interaction between the registration device and the loading device in S301 to S304.

[0518] In this way, through the method for loading UI services provided by the embodiment of the present application, since the loading device can pre-acquire the dependency sets of all UI service packages registered in the registration device, the loading device can determine the reuse paths of all dependencies of the UI service to be loaded based on all the acquired dependency sets. In this way, the loading device can download the UI service to be loaded and its dependencies in parallel according to the reuse paths of the UI service to be loaded and its dependencies, and load the UI service to be loaded and its dependencies, thereby improving the efficiency of loading the UI service to be loaded, that is, improving the operating efficiency of the UI service to be loaded that reuses the UI service or runtime dependencies.

[0519] Among them, the UI obtained after the above-mentioned UI service to be loaded is rendered can be any UI in the tool-type UI application constructed using the UI service package provided in the embodiment of the present application, or it can be any UI in the scene-type UI application constructed using the UI service package provided in the embodiment of the present application, without limitation.

[0520] In the application ecosystem for mass users, when the UI obtained after the above-mentioned UI service to be loaded is rendered is any UI in the scene-based UI application constructed by the UI service package provided in the embodiment of the present application, the user builds a decentralized APP (i.e., scene-based UI application) belonging to the user by using different UI services in multiple centralized APPs (i.e., tool-based APPs). In this way, all the content created by the user using the different UI services can be presented to the user through one application entrance, thereby improving the user experience.

[0521] The different UI services provided by the multiple centralized APPs may be UI services in different UI service packages generated by the generation devices in the different field mid-stages described above. Here, the different field mid-stages may be the mid-stages of the service providers of the multiple centralized APPs.

[0522] In this way, user A can build application A belonging to user A through the UI services in different UI service packages generated by the generating device of the different field platforms. In this way, users can watch all the contents created by user A based on the UI services in different UI service packages generated by different field platforms through the entrance of application A, thereby improving the user experience.

[0523] In the application ecology of enterprise digitalization, through the method provided in the embodiment of the present application, the user can provide the user with a scenario-based UI application. In this way, the user can interact with the scenario-based UI application once, and the user can interact with the tool-based UI application multiple times, thereby improving the user experience.

[0524] In this way, through the method provided in the embodiment of the present application, scenario-based UI applications are constructed by reusing UI services, thereby making maximum use of the large traffic brought by the fifth generation mobile communication technology (5th generation mobile network, 5G) and the scene recognition capabilities brought by AI technology, thereby improving the user experience when using mass applications or enterprise digital applications.

[0525] In order to more clearly describe the method provided in the embodiment of the present application, the method provided in the embodiment of the present application is further explained below by taking the enterprise IT system on Huawei Cloud as an example, as well as the method in which a registration device executes a registration UI service package and the method in which a loading device only executes a loading UI service as an example.

[0526] refer to Fig.12 , Fig.12 A flowchart of a method for generating, registering a UI service package, and loading a UI service provided in an embodiment of the present application is shown. The method may include the following steps:

[0527] S401: A generating device generates a first UI service package, and deploys the first UI service package on a preset network address.

[0528] Among them, the first UI service package can be a UI service package generated by a generation device set on a different middle platform.

[0529] Here is the first UI service package, which can be used with Figure 8 The first UI service package in the flowchart shown is the same UI service package, or it can be different from Figure 8 The first UI service package in the flowchart shown is not limited to this.

[0530] Exemplary, reference Fig.13a The generating device set in the backbone transaction platform 131 of Huawei IT can generate the first UI service package by executing steps S101 to S103 above.

[0531] Then, the generating device deploys the first UI service package on a preset network address, which will not be described in detail here.

[0532] refer to Fig.13a , Fig.13a The diagram shows a generation device provided in the backbone transaction platform 131 of Huawei IT, which generates a first UI service package by executing steps S101 to S103 above.

[0533] The first UI service package may be any one of UI service package a, UI service package b, UI service package c, UI service package d, and UI service package e. UI service package a may be used to provide UI services for quoting to operators, UI service package b may be used to provide UI services for quoting to enterprises, UI service package c may be used to provide UI services for products, UI service package d may be used to provide UI services for quotations, and UI service package e may be used to provide UI services for commodity services.

[0534] Among them, UI service package a and UI service package b can be scene UI service packages, UI service package c, UI service package d and UI service package e can be domain UI service packages, and the UI services in UI service package c reuse the UI services in UI service package d, and UI service package e reuses the UI services in UI service package d.

[0535] Among them, the scene UI service package and domain UI service package can refer to the description in the previous article and will not be repeated here.

[0536] S402: The generating device sends registration information of the first UI service package to the registering device.

[0537] Specifically, the generating device set in the backbone transaction platform 131 of Huawei IT can send the registration information of the first UI service package to the registering device set in the backbone transaction platform 131 of Huawei IT according to the description in step S105 above, which will not be repeated here.

[0538] The registration information may include the name and version number of the first UI service package and a network address for deploying the first UI service package.

[0539] S403: The registration device registers the first UI service package in the registration device based on the received registration information of the first UI service package. The registration device obtains a dependency set of the first UI service package.

[0540] Specifically, the registration device registers the first UI service package in the registration device based on the received registration information of the first UI service package. Please refer to the description of steps S201 to S204 above, which will not be repeated here.

[0541] The registration device may obtain the dependency set of the first UI service package by referring to the description in S203 above, which will not be described in detail here.

[0542] Exemplarily, the registration device may be provided at Fig.13a The registration device of the main trading platform 131 shown in FIG. Fig.13a The registration device 1 shown in .

[0543] S404: The loading device obtains a registration list in the registration device.

[0544] The registration list is a registration list in the registration device.

[0545] Specifically, the description of the loading device acquiring the registration list in the registration device may refer to the description of the loading device requesting to acquire the registration list in the registration device in S302 above, which will not be repeated here.

[0546] S405: The loading device determines the reuse path of the dependency of the UI service to be loaded according to the dependency graph based on the reuse path of the UI service to be loaded in the loading request, wherein the dependency graph is obtained based on the dependency relationship set of at least one UI service package registered in the registration device or the initial dependency graph generated by the registration device.

[0547] Specifically, the loading device determines the reuse path of the dependency of the UI service to be loaded according to the dependency graph based on the reuse path of the UI service to be loaded in the loading request. Please refer to the description of step S302 above, which will not be repeated here.

[0548] S406: The loading device determines a target UI service package in the registration list based on the reuse path of the UI service to be loaded and the reuse path of the dependency of the UI service to be loaded, and determines a network address for deploying the target UI service package.

[0549] The number of target UI service packages is at least one, and the target UI service package includes the UI service to be loaded and the dependency of the UI service to be loaded.

[0550] Specifically, S406 can refer to the description in the above step S303, where the loading device determines the latest version of the target UI service package in the acquired registration list, and determines the network address for deploying the target UI service package, which will not be repeated here.

[0551] S407: The loading device downloads and loads the UI services to be loaded and the dependencies of the UI services to be loaded in the target UI service package based on the network address used to deploy the target UI service package.

[0552] Specifically, S407 may refer to the description of steps S302 to S303 above, which will not be repeated here.

[0553] Similarly, through the method provided in the embodiment of the present application, Fig.13a The sales digital middle platform 132 shown in generates UI service package A, UI service package B, UI service package C, UI service package D and UI service package E.

[0554] In this way, by executing the above-mentioned methods S401 to S407, the registration device 2 in the sales digital middle platform 132 registers UI service package A, UI service package B, UI service package C, UI service package D and UI service package E in the registration list of the registration device 2.

[0555] Then, the software system may render the UI services in the UI service package A, UI service package B, UI service package C, UI service package D and UI service package E downloaded and loaded by the loading device 133. No further details will be given here.

[0556] refer to Fig.13a , Fig.13a The loading device 133 shown can correspond to both the registration device 1 and the registration device 2. In other words, Fig.13a The network addresses of the registration device 1 and the registration device 2 shown in are both configured in the second configuration file generated for implementing the UI service package of the loading device 133 function.

[0557] certainly, Fig.13a The registration device 1 and the registration device 2 shown in the figure may also correspond to different loading devices, for example, the registration device 1 may correspond to the loading device 133, and the registration device 2 may correspond to the loading device 134. That is, the network address of the registration device 1 is configured in the second configuration file generated for implementing the UI service package of the loading device 133 function, and the network address of the registration device 2 is configured in the second configuration file generated for implementing the UI service package of the loading device 134 function. This is not limited.

[0558] Thus, when the generating device is Fig.13aAfter the backbone transaction middle platform 131 and the sales digital middle platform 132 shown in generate different domain UI service packages and scene UI service packages, the registration device registers them. In this way, developers can develop scenario-based UI applications suitable for different user scenarios based on the UI services in the different domain UI service packages and scene UI service packages. When the software system receives a request to load any UI in the scenario-based UI application, the UI service corresponding to any UI can be loaded through the loading device provided in the embodiment of the present application, so that after the loaded UI service is rendered, the any UI is obtained.

[0559] Below, the ecosystem constructed by the method for generating a UI service package, the method for registering a UI service package, and the method for loading a UI service provided by the embodiments of the present application is briefly described.

[0560] Specifically, refer to Fig.13b At the UI service provider level, UI service providers can generate business UI service packages in their respective areas of expertise on their respective middle platforms.

[0561] The UI service provider may be the service provider described above. Fig.13b As shown, provider 1 can generate business UI service package 1 in the field of provider 1's expertise on its own platform, provider 2 can generate business service package 2 in the field of provider 2's expertise on its own platform, and provider 3 can generate business service package 3 in the field of provider 3's expertise on its own platform. Among them, the number of business UI service package 1, business UI service package 2, and business UI service package 3 is at least one. Among them, business UI service package 1, business UI service package 2, and business UI service package 3 can be a domain UI service package or a scenario UI service package.

[0562] Among them, the process of providers generating their own business UI service packages in their respective middle platforms can refer to the description of generating UI service packages above, which will not be repeated here.

[0563] It is understandable that providers can publish the registration information of the business UI service packages generated on their respective middle platforms on their respective websites, or on other public platforms (such as the application store of the operating system, etc.), so that integrators of scene UI applications can obtain relevant information of the business UI service packages provided by the UI service providers, such as the registration information of the business UI service packages, the initial reuse path of the UI services in the business UI service packages, etc.

[0564] At the UI service integrator level, the UI service integrator can reuse the UI services provided by the UI service provider based on the relevant information of the business UI service package provided by the UI service provider obtained from the UI service provider's website or other public platforms to develop and generate its own scenario UI service package, thereby obtaining a scenario UI application. Fig.13b As shown, integrator 1 can develop its own scenario UI service package 1 by reusing the UI services provided by UI service providers 1, 2, and 3, thereby obtaining scenario UI application 1 of integrator 1, such as a UI application for a financial scenario. Integrator 2 can develop its own scenario UI service package 2 by reusing the UI services provided by UI service providers 1, 2, and 3, thereby obtaining scenario UI application 2 of integrator 2, such as a UI application for a real estate scenario. Among them, the number of scenario UI service package 1 and scenario UI service package 2 is at least one.

[0565] Among them, the process of the integrator generating its own scenario UI service package by reusing the UI service package of the UI service provider can refer to the process of generating the UI service package above, which will not be repeated here.

[0566] Among them, the integrator of UI services can be Fig.13b The UI service provider at the UI service provider level shown may also be the user of building a decentralized APP as described above, without limitation.

[0567] Optionally, the integrator can register the scene UI service package generated by the development in the integrator's own registration device, or register it in the registration center of the software system (for example, a module or unit with the registration device function mentioned above). If the integrator registers the scene UI service package generated by the development in its own registration device, the integrator also presets the network address of its own registration device in the configuration file of its own loading device, or presets it in the configuration file of the loading device of the software system. Among them, the configuration file of the loading device can be the second configuration file described above.

[0568] The integrator registers the developed scene UI service package in its own registration device, or registers it in the registration center of the software system. For relevant instructions, please refer to the description of registering the UI service package above, which will not be repeated here.

[0569] In this way, at the user level, the software system can load the UI services in the scene UI service package registered in the registration center of the software system through its own loading device, so that the UI obtained by rendering the loaded UI services is displayed to the user on the display interface of the terminal device running the software system. Alternatively, the software system can load the UI services in the scene UI service package registered on the registration device of the integrator by introducing the loading device of the integrator, and then display the UI obtained by rendering the loaded UI services to the user on the display interface of the terminal device running the software system.

[0570] For the description of the loading device of the integrator introduced into the software system and the loading device loading the UI service, please refer to the description of the method of loading the UI service above, which will not be repeated here.

[0571] like Fig.13b As shown, the software system 130 may be an operating system of a terminal device, for example, the software system may be a Hongmeng operating system. The terminal device may be a mobile device or a computing device, or the terminal device may also be a large-screen device, without limitation. The software system 130 may be configured with a loading device 1 and a loading device 2.

[0572] Among them, loading device 1 is associated with registration device 1, and loading device 2 is associated with registration device 2. Among them, registration device 1 can be the registration device of integrator 1, or it can be the registration center of the software system. Registration device 2 can be the registration device of integrator 2, or it can be the registration center of the software system, and there is no limitation on this. If registration device 1 is the registration center of the software system, the interface of the registration center is preset in the configuration file of the loading device 1 of the software system. If registration device 1 is the registration device of the integrator, the network address of registration device 1 is preset in the configuration file of the loading device 1 of the software system. Similarly, if registration device 2 is the registration center of the software system, the interface of the registration center is preset in the configuration file of the loading device 2 of the software system. If registration device 2 is the registration device of the integrator, the network address of registration device 2 is preset in the configuration file of the loading device 2 of the software system.

[0573] like Fig.13b As shown, the business UI service package generated by the UI service provider can also be registered in the registration device 1 and / or the registration device 2. In this way, for any UI service provider, after the UI service provider builds a tool UI application or a scenario UI application through the business UI service package generated by the UI service provider on the middle platform, the UI service in the tool UI application or the scenario UI application can also be loaded through the loading device 1 corresponding to the registration device 1, or loaded through the loading device 2 corresponding to the registration device 2.

[0574] Understandably, Fig.13bAny of the UI service providers shown in . For example, for provider 1, the process of provider 1 generating a UI service package on its own platform, registering the UI service package, and loading the UI service through the loading device can be similar to Fig.13a The process of generating a UI service package, registering a UI service package, and loading a UI service as described in .

[0575] Understandably, Fig.13b All UI service packages shown in are based on Fig.13b The UI service package generated by the software system 130 is shown. After any UI service in the UI service package is loaded and rendered, a UI that can be displayed on the display interface of the terminal device running the software system can be obtained.

[0576] In summary, the example of this application provides a method for generating, registering UI service packages, and loading UI services. Through this method, different UI service packages can efficiently reuse UI services through the reuse path in the reuse code.

[0577] Moreover, through the method for generating a UI service package provided in an embodiment of the present application, the generating device can obtain the above-mentioned UI service package based on a unified development framework. When the UI application is integrated through the UI service in the UI service package, the threshold for subsequent developers to integrate UI services can be lowered.

[0578] In addition, through this method, the UI service package obtained by developing the framework conversion code also includes the dependency relationships of each UI service in the UI service package. In this way, after the UI service package is registered in the registration device, the registration device can obtain the dependency relationship of the UI in the UI service package. In this way, the loading device can obtain the dependency relationship from the registration device, and can determine the reuse path of all dependencies of the UI service to be loaded based on the dependency relationship, and then can download the UI service to be loaded and its dependencies in parallel according to the reuse path of the UI service to be loaded and its dependencies, and load the UI service to be loaded and its dependencies, thereby improving the efficiency of loading UI services, that is, improving the operating efficiency of the UI service to be loaded that reuses UI services or runtime dependencies.

[0579] In actual applications, in the existing application ecosystem for mass users, users can use multiple centralized apps (i.e. tool-like capabilities) to create content for users (i.e., the final consumers who watch the content). At the same time, users need to go through the entrances of these multiple centralized apps to watch the content created by the users.

[0580] For example, user A can create different content for user A through the capabilities of APP 1 and APP 2. In this way, user A needs to watch the content created by the user through APP 1 through the entrance of APP 1, and watch the content created by the user through APP 2 through the entrance of APP 2.

[0581] Through the method provided in the embodiment of the present application, the user can utilize different UI services in multiple centralized APPs to build his own decentralized APP (i.e., scenario-based UI application), and present all the content created by the user using the different UI services to the user through an application portal, thereby improving the user experience.

[0582] In the application ecology of enterprise digitalization, through the method provided in the embodiment of the present application, the user can provide the user with a scenario-based UI application. In this way, the user can interact with the scenario-based UI application once, and the user can interact with the tool-based UI application multiple times, thereby improving the user experience.

[0583] In this way, through the method provided in the embodiment of the present application, the UI is constructed by reusing UI services, and the large traffic brought by the fifth generation mobile communication technology (5th generation mobile network, 5G) and the scene recognition capabilities brought by AI technology are maximized, thereby improving the user experience when using mass applications or enterprise digital applications.

[0584] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. In order to realize the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0585] The embodiment of the present application can divide the functional modules of the generating device, the registering device and the loading device according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. There may be other division methods in actual implementation.

[0586] like Fig.14 As shown, Fig.14 A schematic diagram of the structure of the generating device 140 provided in an embodiment of the present application is shown.

[0587] The generating device 140 is used to execute the above-mentioned method for generating a UI service package, for example, to execute Figure 8 The method shown in the figure. The generating device 140 may include an acquiring unit 141 and a converting unit 142.

[0588] The acquisition unit 141 is used to acquire the code of the UI service; the code of the UI service includes a reuse path, and the reuse path is used to indicate the dependent access path of the service. The conversion unit 142 is used to convert the code of the UI service acquired by the acquisition unit 141 to obtain a first UI service package, and the first UI service package includes at least one UI service.

[0589] As an example, combining Figure 8 , the acquisition unit 141 can be used to execute S102, and the conversion unit 142 can be used to execute S103.

[0590] Optionally, the reuse path in the code of the first UI service in the first UI service package satisfies at least one of the following conditions:

[0591] The reuse path in the code of the first UI service is used to indicate the access path of the second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package. Or,

[0592] The reuse path in the code of the first UI service is used to indicate an access path of a runtime dependency, the runtime dependency is a dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide a dependency for a UI service in at least one UI service package registered in at least one UI service package registration device. The first UI service is any UI service in the first UI service package.

[0593] Optionally, the reuse path in the code of the first UI service includes a fuzzy version number, and the fuzzy version number is used to indicate a second UI service package or at least one common dependent UI service package that meets a preset version condition.

[0594] Optionally, the code of the UI service acquired by the acquisition unit 141 is written based on a development framework. The conversion unit 142 is specifically configured to convert the code of the UI service acquired by the acquisition unit 141 through the development framework to obtain a first UI service package.

[0595] As an example, combining Figure 8 , the conversion unit 142 can be used to execute S103.

[0596] Optionally, the second UI service package or the common dependency UI service package is obtained based on the development framework.

[0597] Optionally, the conversion unit 142 is specifically configured to convert the UI service code obtained by the acquisition unit 141 through the development framework based on a preset configuration file to obtain a first UI service package. The configuration file is used to indicate the type of the first UI service package, and the type of the first UI service package is used to indicate the purpose of the first UI service package.

[0598] As an example, combining Figure 8 , the conversion unit 142 can be used to execute S103.

[0599] Optionally, the type of the first UI service package includes at least one of the following: a business UI service package, a UI service package for implementing a loading device function, or a public dependency UI service package.

[0600] Optionally, the generating device 140 further includes: a sending unit 143, configured to publish registration information of the first UI service package, wherein the registration information includes the name of the first UI service package and a network address for deploying the first UI service package, and the registration information is used to register the first UI service package in at least one UI service package registration device.

[0601] As an example, combining Figure 8 , the sending unit 143 can be used to execute S105.

[0602] Optionally, the first UI service package includes a first dependency set, wherein the first dependency set includes a dependency of at least one UI service in the first UI service package, wherein the dependency is used to indicate a dependency of at least one UI service in the first UI service package.

[0603] Optionally, the sending unit 143 is further used to send the first dependency set to at least one UI service package registration device, and the at least one UI service package registration device is used to register the first UI service package.

[0604] As an example, combining Figure 8 , the sending unit 143 can be used to execute S106.

[0605] Optionally, the generating device 140 further includes: an updating unit 144, configured to update the first UI service package, wherein the updated first UI service package includes a second dependency set, and the second dependency set includes a dependency of at least one UI service in the updated first UI service package.

[0606] As an example, combining Figure 8 , the updating unit 144 can be used to execute S107.

[0607] Optionally, the sending unit 143 is further configured to send a second dependency set to the at least one UI service package registration device.

[0608] As an example, combining Figure 8 , the sending unit 143 can be used to execute S108.

[0609] Optionally, all or part of the UI services in the first UI service are allowed to be referenced as dependencies.

[0610] For the specific description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation of any of the above generation devices 140 and the description of the beneficial effects can refer to the above corresponding method embodiments, which will not be repeated here.

[0611] As an example, combining Figure 4 , the generating device 140 can be Figure 4 The computer device 40 is implemented in.

[0612] Specifically, the functions implemented by the acquisition unit 141, the conversion unit 142, and the update unit 144 in the generation device 140 can be Figure 4 Processor 41 in the execution Figure 4 The functions implemented by the sending unit 143 can be implemented by the program code in the memory 42 in the memory 42. Figure 4 The communication interface 43 in is implemented.

[0613] like Fig.15 As shown, Fig.15 A schematic diagram of the structure of a registration device 150 provided in an embodiment of the present application is shown.

[0614] The registration device 150 is used to execute the above-mentioned method for registering a UI service package, for example, to execute Fig. 9 The registration device 150 may include an acquisition unit 151 and an adding unit 152.

[0615] The acquisition unit 151 is used to acquire the registration information of the first UI service package, and the registration information includes the name of the first UI service package and the network address used to deploy the first UI service package. The adding unit 152 is used to add the registration information acquired by the acquisition unit 151 to the registration list of the registration device 150. The code of the first UI service in the first UI service package includes a reuse path, and the reuse path is used to indicate the dependent access path of the first UI service. The first UI service is any UI service in the first UI service package.

[0616] As an example, combining Fig. 9 , the acquiring unit 151 can be used to execute S201, and the adding unit 152 can be used to execute S202.

[0617] Optionally, the multiplexing path satisfies at least one of the following conditions:

[0618] The multiplexing path is used to indicate the access path of the second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package. Or,

[0619] The reuse path is used to indicate an access path of a runtime dependency, where the runtime dependency is a dependency of a first UI service, and the runtime dependency is any runtime dependency in at least one common dependency UI service package, where the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide dependencies for UI services in at least one UI service package registered in at least one UI service package registration device.

[0620] Optionally, the reuse path includes an ambiguous version number of the first UI service package.

[0621] Optionally, the acquisition unit 151 is further configured to acquire a dependency set of the first UI service package. The dependency set includes a dependency of at least one UI service in the first UI service package. The dependency of the first UI service is used to indicate a dependency of the first UI service.

[0622] As an example, combining Fig. 9 , the acquisition unit 151 can be used to execute S203.

[0623] Optionally, the acquisition unit 151 is specifically configured to periodically acquire a dependency set from the first UI service package based on the network address in the registration information.

[0624] As an example, combining Fig. 9 , the acquisition unit 151 can be used to execute S203.

[0625] Optionally, the acquiring unit 151 is specifically configured to receive a dependency set sent by a device for generating the first UI service package.

[0626] As an example, combining Fig. 9 , the acquisition unit 151 can be used to execute S203.

[0627] Optionally, the registration device 150 further includes: a generating unit 153, configured to generate an initial reuse path of at least one UI service in the first UI service package based on the registration information acquired by the acquiring unit 151 and the version number of the first UI service package. The initial reuse path includes the version number of the first UI service package.

[0628] As an example, combining Fig. 9 , the generating unit 153 can be used to execute S204.

[0629] Optionally, the initial multiplexing path is used to determine a multiplexing path of at least one UI service in the first UI service package, wherein both the initial multiplexing path and the multiplexing path are used to indicate an access path of at least one UI service in the first UI service package.

[0630] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation of any registration device 150 provided above and the description of its beneficial effects can refer to the above corresponding method embodiments, which will not be repeated here.

[0631] As an example, combining Figure 4 , the registration device 150 can be Figure 4 The computer device 40 is implemented in.

[0632] Specifically, the functions implemented by the acquisition unit 151, the adding unit 152, and the generating unit 153 in the registration device 150 can be Figure 4 Processor 41 in the execution Figure 4 The program code in the memory 42 is implemented.

[0633] like Fig.16 As shown, Fig.16 A schematic structural diagram of a loading device 160 provided in an embodiment of the present application is shown.

[0634] The loading device 160 is used to execute the above-mentioned method for loading UI services, for example, to execute Fig.10 The loading device 160 may include a receiving unit 161 , a determining unit 162 and a loading unit 163 .

[0635] The receiving unit 161 is used to receive a loading request. The loading request is used to request the loading of the UI service to be loaded, and the loading request includes a reuse path of the UI service to be loaded. The reuse path of the UI service to be loaded is used to indicate the access path of the UI service to be loaded. The determining unit 162 is used to determine the dependency of the UI service to be loaded according to the dependency graph. The dependency graph indicates the dependency of at least one UI service in at least one UI service package, and indicates a UI service that references any UI service in at least one UI service package as a dependency. The loading unit 163 is used to load the UI service to be loaded and the dependency of the UI service to be loaded.

[0636] As an example, combining Fig.10 , the receiving unit 161 can be used to execute S301, the determining unit 162 can be used to execute S302, and the loading unit 163 can be used to execute S304.

[0637] Optionally, the reuse path of the UI service to be loaded includes an ambiguous version number of a UI service package to which the UI service to be loaded belongs.

[0638] Optionally, the above dependency graph is obtained based on a dependency set of some or all UI service packages in at least one UI service package.

[0639] Optionally, the dependency set includes the dependency of at least one UI service in some or all of the UI service packages, wherein the dependency of at least one UI service in some or all of the UI service packages is used to indicate the dependency of at least one UI service in some or all of the UI service packages.

[0640] Optionally, the code of any UI service in the at least one UI service package includes a reuse path. The reuse path in the code of any UI service is used to indicate a dependent access path of any UI service.

[0641] Optionally, the at least one UI service package is a UI service package registered in at least one UI service package registration device.

[0642] Optionally, the at least one UI service package includes a first UI service package, and a reuse path in a code of a first UI service in the first UI service package satisfies at least one of the following conditions:

[0643] The reuse path in the code of the first UI service is used to indicate the access path of the second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package. Or,

[0644] The reuse path in the code of the first UI service is used to indicate the access path of the runtime dependency, the runtime dependency is the dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device. The first UI service package is any UI service package in the at least one UI service package, and the first UI service is any UI service in the first UI service package.

[0645] Optionally, the determining unit 162 is specifically configured to determine a reuse path of dependencies of the UI service to be loaded according to the dependency graph.

[0646] As an example, combining Fig.10 , the determination unit 162 can be used to execute S302.

[0647] Optionally, the loading device 160 further includes: a downloading unit 164, which is used to download the UI service to be loaded and the dependency of the UI service to be loaded in parallel based on the reuse path of the UI service to be loaded and the reuse path of the dependency of the UI service to be loaded determined by the determining unit 162 before the loading unit 163 loads the UI service to be loaded and the dependency of the UI service to be loaded. The loading unit 163 is specifically used to load the UI service to be loaded and the dependency of the UI service to be loaded downloaded by the downloading unit 164.

[0648] As an example, combining Fig.10 , the downloading unit 164 can be used to execute S303.

[0649] Optionally, the loading unit 163 is further specifically configured to sequentially load the UI services to be loaded and the dependencies of the UI services to be loaded that have been downloaded by the downloading unit 164 according to the dependency relationship indicated by the dependency graph.

[0650] As an example, combining Fig.10 , loading unit 163, can be used to execute S304.

[0651] Optionally, the loading device 160 further includes: a starting unit 165, which is used to start the driver of the runtime dependency when the runtime dependency is loaded for the first time during the process of the loading unit 163 loading at least one UI service and the dependency if the dependency is a runtime dependency.

[0652] Optionally, the loading device 160 further includes: an updating unit 166, configured to update the dependency graph.

[0653] Optionally, if the loading device 160 includes a first loading device and a second loading device, the first loading device and the second loading device are isolated from each other. The first loading device and the second loading device are both used to load UI services for a software system.

[0654] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation of any loading device 160 provided above and the description of the beneficial effects can refer to the above corresponding method embodiments, which will not be repeated here.

[0655] As an example, combining Figure 6 , the loading device 160 can be Figure 6 60 is implemented in mobile phones.

[0656] Specifically, the functions implemented by the determination unit 162, the loading unit 163, the updating unit 166 and the starting unit 165 in the loading device 160 can be Figure 6 The processor 610 executes Figure 6 The functions implemented by the receiving unit 161 and the downloading unit 164 can be realized by Figure 6 It is implemented by the mobile communication module 650 or the wireless communication module 660.

[0657] The present application also provides a software system, which includes the above-mentioned Fig.16 The loading device is shown to load the UI service to be loaded.

[0658] Alternatively, the software system includes the above Fig.14 The generating device shown is used to generate a UI service package.

[0659] Alternatively, the software system includes the above Fig.15 The registration device shown is used to register the UI service package into the registration list of the software system.

[0660] The present application also provides a chip system, such as Fig.17 As shown, the chip system 170 includes at least one processor and at least one interface circuit.

[0661] As an example, when the chip system 170 includes a processor and an interface circuit, the processor may be Fig.17 The processor 171 shown in the solid line frame (or the processor 171 shown in the dotted line frame) may be Fig.17 The interface circuit 172 shown in the solid line frame (or the interface circuit 172 shown in the dotted line frame). When the chip system 170 includes two processors and two interface circuits, the two processors include Fig.17The processor 171 shown in the solid line frame and the processor 171 shown in the dotted line frame, the two interface circuits include Fig.17 The interface circuit 172 shown in the solid line frame and the interface circuit 172 shown in the dotted line frame are not limited to this.

[0662] The processor 171 and the interface circuit 172 may be interconnected via a line. For example, the interface circuit 172 may be used to receive signals from other devices (e.g., a memory of a generating device or a registering device). For another example, the interface circuit 172 may be used to send signals to other devices (e.g., the processor 171).

[0663] Exemplarily, the interface circuit 172 can read the instruction stored in the memory and send the instruction to the processor 171. When the processor 171 calls the instruction, the execution Figure 8 , Fig. 9 or Fig.10 Of course, the chip system may also include other discrete devices, which is not specifically limited in the embodiments of the present application.

[0664] Another embodiment of the present application also provides a computer-readable storage medium, which stores instructions. When the instructions are run on a generating device, a registering device or a loading device, the generating device, the registering device or the loading device executes each step performed by the generating device, the registering device or the loading device in the method flow shown in the above method embodiment.

[0665] In some embodiments, the disclosed methods may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or on other non-transitory media or articles of manufacture.

[0666] Fig.18 A conceptual partial view of a computer program product provided by an embodiment of the present application is schematically shown, wherein the computer program product includes a computer program for executing a computer process on a computing device.

[0667] In one embodiment, the computer program product is provided using a signal bearing medium 180. The signal bearing medium 180 may include one or more program instructions that, when executed by one or more processors, may provide the above-described Figure 8 , Fig. 9 or Fig.10 Describes the functionality or part of the functionality.

[0668] So, for example, reference Figure 8 S101~S108, or refer to Fig. 9 S201~S204, or refer to Fig.10One or more features in S301 to S304 may be undertaken by one or more instructions associated with the signal bearing medium 180. In addition, Fig.18 The program instructions in also describe example instructions.

[0669] In some examples, signal bearing medium 180 may include computer readable medium 181, such as, but not limited to, a hard drive, a compact disk (CD), a digital video disk (DVD), a digital tape, a memory, a read-only memory (ROM), or a random access memory (RAM), and the like.

[0670] In some implementations, signal bearing medium 180 may include computer recordable medium 182 such as, but not limited to, memory, read / write (R / W) CD, R / W DVD, and the like.

[0671] In some implementations, signal bearing medium 180 may include communication medium 183 such as, but not limited to, digital and / or analog communication media (eg, fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).

[0672] The signal bearing medium 180 may be communicated by a wireless form of communication medium 183 (eg, a wireless communication medium conforming to the IEEE 802.11 standard or other transmission protocol). The one or more program instructions may be, for example, computer executable instructions or logic implemented instructions.

[0673] In some examples, such as for Figure 8 , Fig. 9 or Fig.10 The described generating means, registering means or loading means may be configured to provide various operations, functions, or actions in response to one or more program instructions in the computer-readable medium 181 , the computer-recordable medium 182 , and / or the communication medium 183 .

[0674] It should be understood that the arrangement described here is only for illustrative purposes. Thus, it will be appreciated by those skilled in the art that other arrangements and other elements (e.g., machines, interfaces, functions, sequences, and functional groups, etc.) can be used instead, and some elements can be omitted together according to the desired result. In addition, many of the described elements can be implemented as discrete or distributed components, or in any appropriate combination and position to combine other components to implement functional entities.

[0675] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using a software program, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loading and executing computer execution instructions on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. Computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server, data center, etc. that contains one or more servers that can be integrated with a medium. The available medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (eg, a solid state disk (SSD)).

[0676] The above is only a specific implementation of the present application. Those skilled in the art may conceive of changes or substitutions based on the specific implementation provided by the present application, which should all be included in the protection scope of the present application.

Claims

1. A method for loading a user interface UI service, characterized in that: Applied to a loading device; the method comprises: receiving a loading request, the loading request being used to request loading of a UI service to be loaded, the loading request including a multiplexing path of the UI service to be loaded, the multiplexing path of the UI service to be loaded being used to indicate an access path of the UI service to be loaded; Determine the dependency of the UI service to be loaded according to a dependency graph, the dependency graph indicates the dependency of at least one UI service in at least one UI service package, and indicates that any UI service in the at least one UI service package is referenced as a dependent UI service, the dependency graph is generated by the loading device included in the software system based on the dependency set of at least one UI service package registered in the registration device, or based on the initial dependency graph generated by the registration device; the dependency set includes the dependency of at least one UI service in the at least one UI service package; the initial dependency graph is generated by the registration device based on the dependency set of the registered UI service package; the software system includes a browser; Loading the UI service to be loaded and the dependency of the UI service to be loaded; The determining the dependency of the UI service to be loaded according to the dependency graph includes: The loading device determines, in the dependency graph, a reuse path of a dependency of the UI service to be loaded based on the reuse path of the UI service to be loaded; The reuse path of the dependency of the UI service to be loaded includes the name of another UI service package or a common dependency UI service package, the fuzzy version number of the another UI service package or the common dependency UI service package, and the name of the runtime dependency in the another UI service package or the common dependency UI service package; The reuse path is used to indicate that the dependency of the UI service to be loaded is at least one of the UI service in the other UI service package and the runtime dependency in at least one common dependency UI service package; the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device.

2. The method according to claim 1, characterized in that The reuse path of the UI service to be loaded includes the fuzzy version number of the UI service package to which the UI service to be loaded belongs.

3. The method according to claim 1, characterized in that The dependency set includes dependencies of at least one UI service in part or all of the UI service packages; wherein, the dependencies of at least one UI service in part or all of the UI service packages are used to indicate dependencies of at least one UI service in part or all of the UI service packages.

4. The method according to claim 1, characterized in that: The code of any one UI service in the at least one UI service package includes a reuse path; the reuse path in the code of any one UI service is used to indicate a dependent access path of any one UI service.

5. The method according to claim 1, characterized in that The at least one UI service package is a UI service package registered in the at least one UI service package registration device.

6. The method according to claim 5, characterized in that The at least one UI service package includes a first UI service package, and a reuse path in the code of a first UI service in the first UI service package satisfies at least one of the following conditions: the reuse path in the code of the first UI service is used to indicate an access path of a second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in a second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, a reuse path in the code of the first UI service, used to indicate an access path of a runtime dependency, the runtime dependency is a dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide a dependency for a UI service in at least one UI service package registered in the at least one UI service package registration device; The first UI service package is any one of the at least one UI service package, and the first UI service is any one of the UI services in the first UI service package.

7. The method according to claim 1, characterized in that Before loading the UI service to be loaded and the dependency of the UI service to be loaded, the method further includes: Downloading the UI service to be loaded and the dependency of the UI service to be loaded in parallel based on the reuse path of the UI service to be loaded and the reuse path of the dependency of the UI service to be loaded; The loading of the UI service to be loaded and the dependency of the UI service to be loaded include: Load the downloaded UI service to be loaded and the dependency of the UI service to be loaded.

8. The method according to claim 7, characterized in that The loading of the downloaded UI service to be loaded and the dependency of the UI service to be loaded includes: According to the dependency relationship indicated by the dependency graph, the downloaded UI service to be loaded and the dependency of the UI service to be loaded are loaded in sequence.

9. The method according to any one of claims 6 to 8, characterized in that The method further comprises: If the dependency of the UI service to be loaded is a runtime dependency, in the process of loading the at least one UI service and the dependency of the UI service to be loaded, when the runtime dependency is loaded for the first time, a driver of the runtime dependency is started.

10. The method according to claim 1, characterized in that The method further comprises: The dependency graph is updated.

11. The method according to claim 1, characterized in that: If the loading device includes a first loading device and a second loading device, the first loading device and the second loading device are isolated from each other, and both the first loading device and the second loading device are used to load UI services for a software system.

12. A method for generating a user interface UI service package, characterized in that: A device for generating a UI service package; the method comprising: Obtaining a code of a UI service; the code of the UI service includes a reuse path, the reuse path is used to indicate an access path of a dependency of the UI service; the access path is used to reuse the dependency of the UI service; the code of the UI service is written based on a development framework; The code of the UI service is transformed through the development framework to obtain a first UI service package, wherein the first UI service package includes at least one UI service; wherein the first UI service package includes a first dependency set, the first dependency set includes the dependency of at least one UI service in the first UI service package, and the dependency is used to indicate the dependency of at least one UI service in the first UI service package; the first dependency set is obtained by performing dependency detection analysis on the reused code in the code of the UI service; the reuse path includes the name of another UI service package or a common dependent UI service package, the fuzzy version number of the other UI service package or the common dependent UI service package, and the name of the runtime dependency in the other UI service or the common dependent UI service package; the reuse path in the code of the first UI service in the first UI service package is used to indicate: at least one of the runtime dependencies of the UI service in another UI service package or at least one common dependent UI service package on which the first UI service depends; the at least one common dependent UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device.

13. The method according to claim 12, characterized in that The reuse path in the code of the first UI service in the first UI service package satisfies at least one of the following conditions: the reuse path in the code of the first UI service is used to indicate an access path of a second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, The reuse path in the code of the first UI service is used to indicate an access path of a runtime dependency, where the runtime dependency is a dependency of the first UI service, and the runtime dependency is any runtime dependency in at least one common dependency UI service package, and the at least one common dependency UI service package includes at least one runtime dependency; wherein the first UI service is any UI service in the first UI service package.

14. The method according to claim 13, characterized in that The reuse path in the code of the first UI service includes an ambiguous version number, where the ambiguous version number is used to indicate the second UI service package or the at least one common dependent UI service package that meets a preset version condition.

15. The method according to claim 13 or 14, characterized in that The second UI service package or the common dependency UI service package is obtained based on the development framework.

16. The method according to claim 15, characterized in that The converting the UI service code through the development framework to obtain a first UI service package includes: Based on a preset configuration file, the code of the UI service is converted through the development framework to obtain the first UI service package; wherein the configuration file is used to indicate the type of the first UI service package, and the type is used to indicate the purpose of the first UI service package.

17. The method according to claim 16, characterized in that The type of the first UI service package includes at least one of the following: a business UI service package, a UI service package for implementing a loading device function, or a public dependency UI service package.

18. The method according to claim 12, characterized in that The method further comprises: Publishing registration information of the first UI service package, the registration information including the name of the first UI service package and a network address for deploying the first UI service package, the registration information being used to register the first UI service package in the at least one UI service package registration device.

19. The method according to claim 12, characterized in that The method further comprises: The first dependency set is sent to the at least one UI service package registration device, and the at least one UI service package registration device is used to register the first UI service package.

20. The method according to claim 12, characterized in that The method further comprises: The first UI service package is updated; wherein the updated first UI service package includes a second dependency set, and the second dependency set includes a dependency of at least one UI service in the updated first UI service package.

21. The method according to claim 20, characterized in that The method further comprises: The second dependency set is sent to the at least one UI service package registration device.

22. The method according to claim 12, characterized in that All or part of the UI services in the first UI service are allowed to be referenced as dependencies.

23. A method for registering a user interface UI service package, characterized in that: Applied to a UI service package registration device, the method comprises: Acquire registration information of a first UI service package, where the registration information includes a name of the first UI service package and a network address for deploying the first UI service package; Adding the registration information to the registration list of the UI service package registration device; Wherein, the code of the first UI service in the first UI service package includes a reuse path, and the reuse path includes the name of another UI service package or a common dependent UI service package, the fuzzy version number of the other UI service package or the common dependent UI service package, and the name of the runtime dependency in the other UI service or the common dependent UI service package; the registration list is used for the loading device to obtain the registration information of the first UI service package from the registration list according to the reuse path; the registration information is used for the loading device to determine the network address of the first UI service package; the reuse path is used to indicate that the dependency of the UI service to be loaded is at least one of the runtime dependencies of the UI service in another UI service package or at least one common dependent UI service package; the at least one common dependent UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device; the code of the UI service is written based on the development framework; The first UI service package is obtained by converting the code of the first UI service by the development framework; the first UI service is any UI service in the first UI service package; The method also includes: obtaining a dependency set of the first UI service package, the dependency set including the dependency of at least one UI service in the first UI service package; wherein the dependency of the first UI service is used to indicate the dependency of the first UI service; and the dependency set of the first UI service package is obtained by performing dependency detection analysis on reused code in the code of the UI service.

24. The method according to claim 23, characterized in that The multiplexing path satisfies at least one of the following conditions: the multiplexing path is used to indicate an access path of a second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in a second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, The reuse path is used to indicate an access path of a runtime dependency, where the runtime dependency is a dependency of the first UI service, and the runtime dependency is any runtime dependency in at least one common dependency UI service package, where the at least one common dependency UI service package includes at least one runtime dependency.

25. The method according to claim 23 or 24, characterized in that The reuse path includes an ambiguous version number of the first UI service package.

26. The method according to claim 23, characterized in that The obtaining of the dependency set of the first UI service package includes: Based on the network address, the dependency set is periodically obtained from the first UI service package.

27. The method according to claim 23, characterized in that The obtaining of the dependency set of the first UI service package includes: Receive a dependency set sent by a device that generates the first UI service package.

28. The method according to claim 23, characterized in that The method further comprises: Based on the registration information and the version number of the first UI service package, an initial multiplexing path of at least one UI service in the first UI service package is generated, where the initial multiplexing path includes the version number of the first UI service package.

29. The method according to claim 28, characterized in that The initial multiplexing path is used to determine a multiplexing path of at least one UI service in the first UI service package, and both the initial multiplexing path and the multiplexing path are used to indicate an access path of at least one UI service in the first UI service package.

30. A device for loading a user interface UI service, characterized in that: The device comprises: A receiving unit, configured to receive a loading request, wherein the loading request is used to request loading of a UI service to be loaded, wherein the loading request includes a multiplexing path of the UI service to be loaded, and the multiplexing path of the UI service to be loaded is used to indicate an access path of the UI service to be loaded; a determining unit, configured to determine the dependency of the UI service to be loaded according to a dependency graph, wherein the dependency graph indicates the dependency of at least one UI service in at least one UI service package, and indicates that any UI service in the at least one UI service package is referenced as a dependent UI service, wherein the dependency graph is generated by the device included in the software system based on a dependency set of at least one UI service package registered in a device for registering a user interface UI service package, or based on an initial dependency graph generated by a registration device; the dependency set includes the dependency of at least one UI service in the at least one UI service package; the initial dependency graph is generated by the registration device based on the dependency set of registered UI service packages; the software system includes a browser; The determining the dependency of the UI service to be loaded according to the dependency graph includes: Based on the reuse path of the UI service to be loaded, determining the reuse path of the dependency of the UI service to be loaded in the dependency graph; the reuse path of the dependency of the UI service to be loaded is used to indicate the access path of the dependency of the UI service to be loaded; A loading unit, used to load the UI service to be loaded and the dependency of the UI service to be loaded; The reuse path of the dependency of the UI service to be loaded includes the name of another UI service package or a common dependency UI service package, the fuzzy version number of the another UI service package or the common dependency UI service package, and the name of the runtime dependency in the another UI service package or the common dependency UI service package; The reuse path is used to indicate that the dependency of the UI service to be loaded is at least one of the UI service in the other UI service package and the runtime dependency in at least one common dependency UI service package; the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device.

31. The device according to claim 30, characterized in that The reuse path of the UI service to be loaded includes the fuzzy version number of the UI service package to which the UI service to be loaded belongs.

32. The device according to claim 30, characterized in that The dependency set includes dependencies of at least one UI service in part or all of the UI service packages; wherein, the dependencies of at least one UI service in part or all of the UI service packages are used to indicate dependencies of at least one UI service in part or all of the UI service packages.

33. The device according to claim 30, characterized in that The code of any one UI service in the at least one UI service package includes a reuse path; the reuse path in the code of any one UI service is used to indicate a dependent access path of any one UI service.

34. The device according to claim 30, characterized in that The at least one UI service package is a UI service package registered in at least one UI service package registration device.

35. The device according to claim 34, characterized in that The at least one UI service package includes a first UI service package, and a reuse path in the code of a first UI service in the first UI service package satisfies at least one of the following conditions: the reuse path in the code of the first UI service is used to indicate an access path of a second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in a second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, a reuse path in the code of the first UI service, used to indicate an access path of a runtime dependency, the runtime dependency is a dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide a dependency for a UI service in at least one UI service package registered in the at least one UI service package registration device; The first UI service package is any one of the at least one UI service package, and the first UI service is any one of the UI services in the first UI service package.

36. The device according to claim 30, characterized in that The device also includes: a downloading unit, configured to download the UI service to be loaded and the dependency of the UI service to be loaded in parallel based on a reuse path of the UI service to be loaded and a reuse path of the dependency of the UI service to be loaded determined by the determining unit before the loading unit loads the UI service to be loaded and the dependency of the UI service to be loaded; The loading unit is specifically used to load the UI service to be loaded and the dependency of the UI service to be loaded that has been downloaded by the downloading unit.

37. The device according to claim 36, characterized in that The loading unit is further specifically configured to sequentially load the UI service to be loaded and the dependency of the UI service to be loaded that has been downloaded by the downloading unit according to the dependency relationship indicated by the dependency graph.

38. The device according to claim 35, characterized in that The device also includes: A starting unit is used for starting a driver of the runtime dependency when the runtime dependency is loaded for the first time during the process of the loading unit loading the at least one UI service and the dependency if the dependency is a runtime dependency.

39. The device according to claim 30, characterized in that The device also includes: An updating unit is used to update the dependency graph.

40. The device according to claim 30, characterized in that If the device includes a first loading device and a second loading device, the first loading device and the second loading device are isolated from each other, and both the first loading device and the second loading device are used to load UI services for a software system.

41. A device for generating a user interface UI service package, characterized in that: The device comprises: An acquisition unit, used for acquiring a code of a UI service; the code of the UI service includes a reuse path, and the reuse path is used for indicating an access path of a dependency of the service; the code of the UI service is written based on a development framework; A conversion unit, used to convert the code of the UI service obtained by the acquisition unit through the development framework to obtain a first UI service package, wherein the first UI service package includes at least one UI service; wherein the first UI service package includes a first dependency set, the first dependency set includes the dependency of at least one UI service in the first UI service package, and the dependency is used to indicate the dependency of at least one UI service in the first UI service package; the first dependency set is obtained by performing dependency detection analysis on the reused code in the code of the UI service; the reuse path includes the name of another UI service package or a common dependency UI service package, the fuzzy version number of the other UI service package or the common dependency UI service package, and the name of the runtime dependency in the other UI service or the common dependency UI service package; the reuse path in the code of the first UI service in the first UI service package is used to indicate: at least one of the runtime dependencies of the UI service in another UI service package or at least one common dependency UI service package on which the first UI service depends; the at least one common dependency UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device.

42. The device according to claim 41, characterized in that The reuse path in the code of the first UI service in the first UI service package satisfies at least one of the following conditions: the reuse path in the code of the first UI service is used to indicate an access path of a second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in the second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, The reuse path in the code of the first UI service is used to indicate an access path of a runtime dependency, the runtime dependency is a dependency of the first UI service, the runtime dependency is any runtime dependency in at least one common dependency UI service package, the at least one common dependency UI service package includes at least one runtime dependency, and the at least one common dependency UI service package is used to provide a dependency for a UI service in at least one UI service package registered in at least one UI service package registration device; The first UI service is any UI service in the first UI service package.

43. The device according to claim 42, characterized in that The reuse path in the code of the first UI service includes an ambiguous version number, where the ambiguous version number is used to indicate the second UI service package or the at least one common dependent UI service package that meets a preset version condition.

44. The device according to claim 42 or 43, characterized in that The second UI service package or the common dependency UI service package is obtained based on the development framework.

45. The device according to claim 44, characterized in that The conversion unit is specifically used to convert the code of the UI service obtained by the acquisition unit through the development framework based on a preset configuration file to obtain the first UI service package; wherein the configuration file is used to indicate the type of the first UI service package, and the type is used to indicate the purpose of the first UI service package.

46. ​​The device according to claim 45, characterized in that The type of the first UI service package includes at least one of the following: a business UI service package, a UI service package for implementing a loading device function, or a public dependency UI service package.

47. The device according to claim 41, characterized in that The device also includes: A sending unit is used to publish registration information of the first UI service package, wherein the registration information includes the name of the first UI service package and a network address for deploying the first UI service package, and the registration information is used to register the first UI service package in at least one UI service package registration device.

48. The device according to claim 47, characterized in that The sending unit is further used to send the first dependency set to the at least one UI service package registration device, and the at least one UI service package registration device is used to register the first UI service package.

49. The device according to claim 48, characterized in that The device also includes: An updating unit, configured to update the first UI service package; wherein the updated first UI service package includes a second dependency set, and the second dependency set includes a dependency of at least one UI service in the updated first UI service package.

50. The device according to claim 49, characterized in that The sending unit is further used to send the second dependency set to the at least one UI service package registration device.

51. The device according to any one of claims 41 to 50, characterized in that All or part of the UI services in the first UI service are allowed to be referenced as dependencies.

52. A device for registering a user interface UI service package, characterized in that: The device comprises: an acquiring unit, configured to acquire registration information of a first UI service package, wherein the registration information includes a name of the first UI service package and a network address for deploying the first UI service package; an adding unit, configured to add the registration information acquired by the acquiring unit to a registration list of the device; Wherein, the code of the first UI service in the first UI service package includes a reuse path, and the reuse path includes the name of another UI service package or a common dependent UI service package, the fuzzy version number of the other UI service package or the common dependent UI service package, and the name of the runtime dependency in the other UI service or the common dependent UI service package; the registration list is used for the loading device to obtain the registration information of the first UI service package from the registration list according to the reuse path; the registration information is used for the loading device to determine the network address of the first UI service package; the reuse path is used to indicate that the dependency of the UI service to be loaded is at least one of the runtime dependencies of the UI service in another UI service package or at least one common dependent UI service package; the at least one common dependent UI service package is used to provide dependency for the UI service in at least one UI service package registered in at least one UI service package registration device; the code of the UI service is written based on the development framework; The first UI service package is obtained by converting the code of the first UI service by the development framework; the first UI service is any UI service in the first UI service package; The acquisition unit is also used to acquire a dependency set of the first UI service package, the dependency set including the dependency of at least one UI service in the first UI service package; wherein the dependency of the first UI service is used to indicate the dependency of the first UI service; the dependency set of the first UI service package is obtained by performing dependency detection analysis on reused code in the code of the UI service.

53. The device according to claim 52, characterized in that The multiplexing path satisfies at least one of the following conditions: the multiplexing path is used to indicate an access path of a second UI service, the second UI service is a dependency of the first UI service, the second UI service is any UI service in a second UI service package, and the second UI service package is a UI service package different from the first UI service package; or, The reuse path is used to indicate an access path of a runtime dependency, where the runtime dependency is a dependency of the first UI service, and the runtime dependency is any runtime dependency in at least one common dependency UI service package, where the at least one common dependency UI service package includes at least one runtime dependency.

54. The device according to claim 52 or 53, characterized in that The reuse path includes an ambiguous version number of the first UI service package.

55. The device according to claim 52, characterized in that The acquisition unit is specifically configured to periodically acquire the dependency set from the first UI service package based on the network address.

56. The device according to claim 52, characterized in that The acquisition unit is specifically configured to receive a dependency set sent by a device for generating the first UI service package.

57. The device according to claim 52, characterized in that The device also includes: A generating unit is used to generate an initial reuse path of at least one UI service in the first UI service package based on the registration information obtained by the obtaining unit and the version number of the first UI service package, wherein the initial reuse path includes the version number of the first UI service package.

58. The device according to claim 57, characterized in that The initial multiplexing path is used to determine a multiplexing path of at least one UI service in the first UI service package, and both the initial multiplexing path and the multiplexing path are used to indicate an access path of at least one UI service in the first UI service package.

59. A software system, characterized in that: The software system comprises a loading device as claimed in any one of claims 1 to 11, for loading a UI service to be loaded; or, The software system comprises a device for generating a UI service package as claimed in any one of claims 12 to 22, so as to generate a UI service package; or, The software system comprises a device for registering a UI service package as claimed in any one of claims 23 to 29, so as to register the UI service package into a registration list of the software system.

60. A chip system, characterized in that: The chip system includes one or more interface circuits and one or more processors; The interface circuit and the processor are interconnected via a line; the interface circuit is used to receive a signal from a memory and send the signal to the processor, the signal including a computer instruction stored in the memory; the processor calls the computer instruction to execute the method as described in any one of claims 1 to 29.

61. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program; when the computer program is executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 29.

62. A computer device, characterized in that: including a processor and a memory; The memory stores computer instructions, and the processor is configured to execute the computer instructions in the memory to perform the method according to any one of claims 1 to 29.

Citation Information

Patent Citations

  • Method and device for optimizing webpage pre-loading

    CN105701113A

  • Registration method and device of service modules of system server side

    CN105760192A

  • Javascript module loading method, pre-processing method and device thereof, and computer device

    CN108804159A