WO2022052962A1 - 应用模块启动方法和电子设备 - Google Patents

应用模块启动方法和电子设备 Download PDF

Info

Publication number
WO2022052962A1
WO2022052962A1 PCT/CN2021/117295 CN2021117295W WO2022052962A1 WO 2022052962 A1 WO2022052962 A1 WO 2022052962A1 CN 2021117295 W CN2021117295 W CN 2021117295W WO 2022052962 A1 WO2022052962 A1 WO 2022052962A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
message
module
application module
meta
Prior art date
Application number
PCT/CN2021/117295
Other languages
English (en)
French (fr)
Inventor
刘小强
龚俊松
Original Assignee
荣耀终端有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 荣耀终端有限公司 filed Critical 荣耀终端有限公司
Priority to US18/003,871 priority Critical patent/US20230259346A1/en
Priority to EP21866015.7A priority patent/EP4145278A4/en
Priority to MX2023000588A priority patent/MX2023000588A/es
Publication of WO2022052962A1 publication Critical patent/WO2022052962A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • the present application relates to the field of electronic technologies, and in particular, to a method for starting an application module and an electronic device.
  • An application usually contains multiple functional implementations. After an application is installed on an electronic device, the user may only use part of the functions of the application, while most of the remaining functions are not used by the user, which may easily lead to a waste of the storage space of the electronic device, and the application's The installation time will also become longer, reducing the user experience.
  • the present application provides an application module startup method and electronic device, which can start an application module that is not installed in an application program through a system service in the electronic device, so that the electronic device does not need to install all the application modules in the application program, saving electronic
  • the storage space of the device enriches the function realization of the application program, and also enables the electronic device to install more application programs, providing users with a wide variety of application programs, which is conducive to improving the user's use experience.
  • the present application provides a method for starting an application module.
  • the method is applied to a first device, and the first device includes a system module.
  • the method includes: the system module receives a first message, the first message is associated with a first application module, and the first application module is a software module in the first application program.
  • the system module determines whether the first device has the first application module installed.
  • the system module sends a second message to the first server, where the second message is used to download the first application module.
  • the system module receives a third message from the first server, where the third message is a message associated with the first application module obtained by the first server in response to receiving the second message.
  • the system module downloads, installs and launches the first application module in the first device.
  • the specific implementation content of the system module can refer to the description content of the system service mentioned in this application
  • the specific implementation content of the application module can refer to the description content of the meta-capability mentioned in this application
  • the first server can refer to the HAG mentioned in this application. The description of the server is not repeated here.
  • the system module in the first device can query whether the application module is installed in the first device.
  • the system module in the first device may communicate with the first server, so that the system module in the first device may, based on the message sent from the first server,
  • the device downloads, installs and starts the first application module. Therefore, the on-demand downloading of the application module is realized, so that when the first device installs the application program for the first time, a part of the application modules in the application program can be selected, and there is no need to install all the application modules in the application program.
  • the first device installs the storage space of the application, which enriches the function realization of the application, provides users with more functions of the application, and enables the first device to install more types of applications, which is conducive to enriching Users use a wider variety of applications.
  • the method specifically includes: the system module receives a third message from the first server, where the third message carries the download address of the first application module. In response to receiving the third message, the system module downloads the first application module from the second server. The system module installs the first application module in the first device and activates the first application module.
  • the specific implementation content of the download address of the first application module can refer to the description content of the CDN download address of the meta-capability mentioned in this application, and the specific implementation content of the second server can refer to the description content of the CDN server mentioned in this application. It is not repeated here.
  • the system module in the first device can obtain the download address of the first application module from the first server.
  • the system module in the first device downloads the first application module from the second server based on the download address of the first application module.
  • the system module in the first device can install the first application module in the first device, and can activate the first application module after the installation is completed. Therefore, the download address of the application module is stored by the first server, and the application module itself is stored by the second server, so that the system module in the first device interacts with the first server and the second server separately, which is beneficial to the application module in the first device.
  • the system module successfully launches the application module that is not installed.
  • the first server may also store the first application module in advance, so that the system module in the first device can directly download the first application module from the first server.
  • the developer when the system module in the first device starts the application module that is not installed in the first device, the developer only needs to allocate the interface corresponding to the system module to receive the first message to complete the startup of the application module that is not installed. , which reduces the number of interfaces between the developer's deployment application and system services, reduces the developer's programming cost, and does not require the developer to integrate Google Play Core into the application, reducing the developer's configuration. The cost is conducive to the development of more multi-capabilities to enrich the use of users.
  • the first device further includes: a second application module, where the second application module is a software module in the second application program.
  • the method specifically includes: in response to receiving the first operation of the user, the second application module sends a first message to the system module.
  • the first application is the same as the second application. Therefore, in the first device, an installed application module in an application program can trigger the system module to start an application module that is not installed in the application program, so that the system module in the first device is downloaded, installed and installed by the first server. Starts an application module that is not installed in the application. Therefore, with the help of the mutual cooperation between different application modules in the same application program, the function realization of the application module that is not installed can be completed, the on-demand downloading of the application module is realized, and it is also beneficial for the user to be able to use an application program. Experience a variety of functions to improve the user experience.
  • the first application is different from the second application.
  • an installed application module in one application can trigger the system module to start an uninstalled application module in another application, so that the system module in the first device is downloaded and installed through the first server and start an app module that is not installed in another app. Therefore, by virtue of the mutual cooperation between the application modules in different application programs, the function realization of the application module that is not installed can be completed, the on-demand downloading of the application module is realized, and the user can experience the experience when using an application program. Another application feature that enhances the user experience.
  • the first device is in communicative connection with the second device.
  • the method specifically includes: the system module receives a first message from the second device, the first message is sent by the second device in response to the second operation of the receiving user, and the first message also carries the device identifier of the first device.
  • the second device can trigger the system module in the first device to start an application module that is not installed in an application program, so that the user is unaware of the download process of the application module, and the application module does not need to be in the application module to which the application module belongs.
  • the application is downloaded when it is installed for the first time, which realizes the on-demand download of the application module.
  • the method specifically includes: the distributed scheduling service DMS in the system module receives the first message from the distributed scheduling service DMS in the second device.
  • the method specifically includes: the distributed scheduling service DMS receives a first message, and the first message carries the first application program and the module identifier of the first application module.
  • the distributed scheduling service DMS sends a fourth message to the package management service BMS, where the fourth message carries the identifier of the first application and the module identifier of the first application module.
  • the package management service BMS determines whether the first device installs the first application module.
  • the package management service BMS In response to determining that the first application module is not installed on the first device, the package management service BMS sends a second message to the first server, where the second message carries the device identification of the first device, the identification of the first application, and the first application The module ID of the module.
  • the package management service BMS receives a third message from the first server, where the third message carries the download address of the first application module, the identifier of the first application program, and the module identifier of the first application module.
  • the package management service BMS downloads the first application module from the second server based on the download address of the first application module, and installs the first application module in the first device.
  • the package management service BMS sends a fifth message to the distributed scheduling service DMS, where the fifth message is used to notify the distributed scheduling service DMS that the first application module has been installed in the first device.
  • the distributed scheduling service DMS starts the first application module.
  • the specific implementation content of the identifier of the application can refer to the description of the package name of the application mentioned in this application, and the specific implementation content of the module identifier of the first application module can refer to the description of the meta-capability name mentioned in this application. The content will not be repeated here.
  • the system module in the first device can explicitly start the application module through the identifier of the application program and the module identifier of the application module, so that the application module that is not installed is automatically installed, and the user is unaware of the download process of the application module, the Application modules do not need to be downloaded when the application is first installed and can be downloaded on demand.
  • the method specifically includes: the distributed scheduling service DMS receives a first message, and the first message carries the information of the first application program. The identifier and the identifier of the type to which the first application module belongs.
  • the distributed scheduling service DMS sends a fourth message to the package management service BMS, where the fourth message carries the identifier of the first application and the identifier of the type to which the first application module belongs.
  • the package management service BMS determines whether the first device installs the first application module.
  • the package management service BMS In response to determining that the first application module is not installed on the first device, the package management service BMS sends a second message to the distributed scheduling service DMS, and the second message carries the device identification of the first device, the identification of the first application, and the first message. An identifier of the type to which the application module belongs.
  • the package management service BMS receives a third message from the first server, where the third message carries the download address of the first application module, the identifier of the first application program, and the identifier of the type to which the first application module belongs.
  • the package management service BMS downloads the first application module from the second server based on the download address of the first application module, and installs the first application module in the first device.
  • the package management service BMS sends a fifth message to the distributed scheduling service DMS, where the fifth message is used to notify the distributed scheduling service DMS that the first application module has been installed in the first device.
  • the distributed scheduling service DMS starts the first application module.
  • the specific implementation content of the identifier of the application program please refer to the description content of the package name of the application mentioned in this application, and the specific implementation content of the identifier of the type to which the first application module belongs may refer to the pre-defined ACTION of the meta-capability mentioned in this application. The description content will not be repeated here.
  • the system module in the first device can semi-implicitly start the application module through the identifier of the application program and the identifier of the type to which the application module belongs. That is, there is no need to rely on the identification of the application module, and the application module that is not installed is automatically installed, and the user is unaware of the download process of the application module.
  • the application module does not need to be downloaded when the application is installed for the first time and can be downloaded on demand.
  • the method specifically includes: the distributed scheduling service DMS receives a first message, and the first message carries the information to which the first application module belongs. Type ID.
  • the distributed scheduling service DMS sends a fourth message to the package management service BMS, where the fourth message carries an identifier of the type to which the first application module belongs.
  • the package management service BMS determines whether the first device installs the first application module.
  • the package management service BMS In response to determining that the first application module is not installed on the first device, the package management service BMS sends a second message to the first server, where the second message carries the device identifier of the first device and the identifier of the type to which the first application module belongs.
  • the package management service BMS receives a third message from the first server, the third message carries a first set, and each subset of the first set carries an identifier of an application, a module identifier of a software module included in the application, and The download address of the software module, and the software module corresponding to each subset belongs to the same type as the first application module.
  • the package management service BMS downloads the selected one software module from the second server based on the download address of the selected one software module in the first set, and installs the selected one software module in the first device.
  • the package management service BMS sends a fifth message to the distributed scheduling service DMS, where the fifth message is used to notify the distributed scheduling service DMS that the first application module has been installed in the first device.
  • the distributed scheduling service DMS activates the selected one software module.
  • the system module in the first device can start the application module implicitly through the identifier of the type to which the application module belongs, fully considering that the third-party application manufacturers usually do not provide the identifier of the application module to other manufacturers, that is, there is no need to rely on the application module's identification.
  • the identification also makes the application modules that are not installed to be installed automatically, and the user is unaware of the download process of the application modules, the application modules do not need to be downloaded when the application is installed for the first time, and can be downloaded on demand.
  • the method further includes: in response to receiving the third message, the package management service BMS sends a sixth message to the distributed scheduling service DMS, where the sixth message carries the first set.
  • the distributed scheduling service DMS determines the selected one software module from the first set based on preset rules. Or, in response to receiving the sixth message, the distributed scheduling service DMS displays a first window, the first window includes controls corresponding to the software modules in the first set; in response to receiving the user's selection of a software in the first window In the third operation on the control corresponding to the module, the distributed scheduling service DMS determines a selected software module.
  • the distributed scheduling service DMS sends a seventh message to the package management service BMS, where the seventh message carries the identifier of the application to which the selected software module belongs and the module identifier of the selected software module.
  • the package management service BMS determines the download address of the selected one software module from the first set based on the identification of the application to which the selected one software module belongs and the module identification of the selected one software module.
  • the identifier of the type to which the application module belongs may correspond to multiple software modules. Therefore, the distributed scheduling service DMS in the system module can determine the software module required to be activated by the first device from a plurality of software modules according to a preset rule or a user's selection.
  • the method further includes: in response to determining that the first device has installed the first application module, the system module starts the first application module. Therefore, various situations of whether the first device is installed with the application module are fully considered, and the integrity of the solution is ensured.
  • the first device is communicatively connected to the third device.
  • the method further includes: the system module sends an eighth message to the third device, where the eighth message is used to request the third device to start a third application module, the third application module is a software module in the third application program, and the third application module Not installed in the third device; the eighth message carries the device identifier of the third device, the identifier of the third application, and the module identifier of the third application module, or the eighth message carries the device identifier of the third device, The identifier of the third application program and the identifier of the type to which the third application module belongs, or the eighth message carries the device identifier of the third device and the identifier of the type to which the third application module belongs.
  • the first device can trigger the system module in the third device to start the application module not installed in the third device, so that the first device can not only start the application module not installed in itself, but also control other devices to start the application module.
  • the application module not installed in the third device adds the realization function of the first device.
  • the method specifically includes: the distributed scheduling service DMS in the system module sends an eighth message to the distributed scheduling service DMS in the third device.
  • the present application provides a method for starting an application module.
  • the method is applied to a first device, where the first device includes: a fourth application module and a system module, where the fourth application module is a software module in a fourth application program,
  • the first device is in communication connection with the fourth device.
  • the method includes: in response to receiving the fourth operation of the user, the fourth application module sends a ninth message to the system module, the ninth message is associated with the fifth application module, and the fifth application module is a software module in the fifth application program, The fourth application is different from the fifth application.
  • the system module determines whether the first device and the fourth device have the fifth application module installed.
  • the system module sends a tenth message to the first server, where the tenth message is used to download the fifth application module.
  • the system module receives an eleventh message from the first server, where the eleventh message is a message associated with the fifth application module obtained by the first server in response to receiving the tenth message.
  • the system module implements downloading, installation and launching of the fifth application module in the first device and/or the fourth device.
  • the specific implementation content of the system module can refer to the description content of the system service mentioned in this application
  • the specific implementation content of the application module can refer to the description content of the meta-capability mentioned in this application
  • the first server can refer to the HAG mentioned in this application.
  • the description of the server is not repeated here.
  • the communication connection between the first device and the fourth device may be understood as the fact that the first device and the fourth device are in the same distributed network.
  • the installed application module in the first device can trigger the system module in the first device to start the fifth application module that is not installed in the selected device in the same distributed network, and the first device
  • the system module can query whether the fifth application module is installed in all the devices in the same distributed network.
  • the system module in the first device may communicate with the first server, so that the system module in the first device is based on the data obtained from the first server.
  • the sent message can download, install and start the fifth application module in the device selected in the same distributed network.
  • the on-demand download of the application module is realized by means of the linkage between various devices in the same distributed network, so that when the device in the same distributed network installs the application program for the first time, the part of the application modules, there is no need to install all the application modules in the application program, saving the storage space for devices in the same distributed network to install the application program, and enriching the function implementation of the application program, providing users with The more functions of the application also enable devices in the same distributed network to install more types of applications, which is beneficial for enriching users to use more types of applications.
  • the method specifically includes: the system module receives an eleventh message from the first server, where the eleventh message carries a download address of the fifth application module and a download address applicable to the fifth application module Equipment type. In response to receiving the eleventh message, the system module determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device.
  • the system module downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module on the first device. In a device, and start the fifth application module in the first device.
  • the system module in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the system module sends a twelfth message to the fourth device, where the twelfth message is used to request the fourth device to activate the fifth application module , the twelfth message carries the download address of the fifth application module.
  • the system module displays a second window, and the second window includes controls corresponding to the first device and corresponding to the fourth device.
  • the control in response to receiving the user's fifth operation on the control corresponding to the first device in the second window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, and the fifth application
  • the module is installed in the first device, and the fifth application module is activated in the first device; and/or, in response to receiving the fifth operation by the user on the control corresponding to the fourth device in the second window, the system module sends a notification to the first device.
  • the fourth device sends a twelfth message, where the twelfth message is used to request the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module.
  • the specific implementation content of the download address of the fifth application module can refer to the description content of the CDN download address of the meta-capability mentioned in this application, and the specific implementation content of the second server can refer to the description content of the CDN server mentioned in this application.
  • the device type applicable to the download address of the fifth application module reference may be made to the description content of the device type applicable to the download address of the meta-capability mentioned in this application, which is not repeated here.
  • the system module in the first device can obtain the download address of the fifth application module from the first server.
  • the system module in the first device downloads the fifth application module from the second server based on the download address of the fifth application module.
  • the system module in the first device determines the device that needs to start the fifth application module from the first device and the fourth device based on the device type suitable for the download address of the fifth application module. Therefore, the system module in the first device can implement the process of starting the fifth application module by the first device and/or the fourth device.
  • the download address of the application module is stored by the first server, and the application module itself is stored by the second server, so that the system module in the first device interacts with the first server and the second server separately, which is beneficial to the The system module successfully launches the application module that is not installed.
  • the first server may also store the fifth application module in advance, so that the system module in the first device can directly download the fifth application module from the first server.
  • the method specifically includes: in response to receiving the fourth operation, the fourth application module sends a ninth to the distributed scheduling service DMS. message, the ninth message carries the identifier of the fifth application and the module identifier of the fifth application module.
  • the distributed scheduling service DMS sends a thirteenth message to the package management service BMS, where the thirteenth message carries the identifier of the fifth application and the module identifier of the fifth application module.
  • the package management service BMS determines whether the first device and the fourth device install the fifth application module.
  • the package management service BMS In response to determining that neither the first device nor the fourth device has the fifth application module installed, the package management service BMS sends a tenth message to the first server, and the tenth message carries the identifier of the fifth application and the identifier of the fifth application module. Module ID.
  • the package management service BMS receives an eleventh message from the first server, where the eleventh message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application program, and the first 5.
  • the module identification of the application module is the package management service BMS.
  • the package management service BMS sends a fourteenth message to the distributed scheduling service DMS, where the fourteenth message carries the download address of the fifth application module and the device suitable for the download address of the fifth application module type, the identification of the fifth application, and the module identification of the fifth application module.
  • the distributed scheduling service DMS determines whether the device type applicable to the fifth application module includes the first device and the fourth device.
  • the distributed scheduling service DMS In response to determining that the device type applicable to the download address of the fifth application module includes the first device, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, where the fifteenth message is used to request downloading of the fifth application module; In response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module in the first device, and sends the distributed scheduling service to the The DMS sends a sixteenth message; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device.
  • the distributed scheduling service DMS in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device, and the twelfth message uses
  • the twelfth message In response to requesting the fourth device to start the fifth application module, the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application and the module identification of the fifth application module.
  • the distributed scheduling service DMS displays a second window, and the second window includes the corresponding data of the first device.
  • the control and the control corresponding to the fourth device in response to receiving the fifth operation by the user on the control corresponding to the first device in the second window, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, the fifteenth The message is used to request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module on the fifth application module.
  • the sixteenth message is sent to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device; and/or, in response to receiving the user in For the fifth operation on the control corresponding to the fourth device in the second window, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device, and the twelfth message is used to request the fourth device to start For the fifth application module, the twelfth message carries the download address of the fifth application module, the device identifier of the fourth device, the identifier of the fifth application program, and the module identifier of the fifth application module.
  • the specific implementation content of the identifier of the application can refer to the description of the package name of the application mentioned in this application, and the specific implementation content of the module identifier of the fifth application module can refer to the description of the meta-capability name mentioned in this application. The content will not be repeated here.
  • the system module in the first device can use the identifier of the application program and the module identifier of the application module to enable the first device and/or the fourth device in the same distributed network to explicitly start the application module, so that the application modules that are not installed can be enabled.
  • the application module is automatically installed, and the user is unaware of the download process of the application module.
  • the application module does not need to be downloaded when the application is installed for the first time, and can be downloaded on demand.
  • the method specifically includes: in response to receiving the fourth operation, the fourth application module sends a ninth to the distributed scheduling service DMS. message, the ninth message carries the identifier of the fifth application and the identifier of the type to which the fifth application module belongs.
  • the distributed scheduling service DMS sends a thirteenth message to the package management service BMS, where the thirteenth message carries the identifier of the fifth application program and the identifier of the type to which the fifth application module belongs.
  • the package management service BMS determines whether the first device and the fourth device install the fifth application module.
  • the package management service BMS In response to determining that neither the first device nor the fourth device has the fifth application module installed, the package management service BMS sends a tenth message to the first server, and the tenth message carries the identifier of the fifth application and the belonging of the fifth application module.
  • Type ID The package management service BMS receives an eleventh message from the first server, where the eleventh message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, the identifier of the fifth application program, and the first 5. Identification of the type to which the application module belongs.
  • the package management service BMS sends a fourteenth message to the distributed scheduling service DMS, where the fourteenth message carries the download address of the fifth application module and the device suitable for the download address of the fifth application module type, the identifier of the fifth application program, and the identifier of the type to which the fifth application module belongs.
  • the distributed scheduling service DMS determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device.
  • the distributed scheduling service DMS In response to determining that the device type applicable to the download address of the fifth application module includes the first device, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, where the fifteenth message is used to request downloading of the fifth application module; In response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module in the first device, and sends the distributed scheduling service to the The DMS sends a sixteenth message; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device.
  • the distributed scheduling service DMS in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device, and the twelfth message uses For requesting the fourth device to start the fifth application module, the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application and the identification of the type of the fifth application module.
  • the distributed scheduling service DMS displays a second window, and the second window includes controls corresponding to the first device and the first device.
  • the control corresponding to the four devices in response to receiving the fifth operation by the user on the control corresponding to the first device in the second window, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, and the fifteenth message is used for Request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module in the first device , and send a sixteenth message to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device; and/or, in response to receiving the user's second window For the fifth operation on the control corresponding to the fourth device, the distributed scheduling service DMS send
  • the specific implementation content of the identifier of the application can refer to the description content of the package name of the application mentioned in this application, and the specific implementation content of the identifier of the type to which the fifth application module belongs can refer to the predefined ACTION of the meta-capability mentioned in this application. The description content will not be repeated here.
  • the system module in the first device can implement the first device and/or the fourth device in the same distributed network to start the application module semi-implicitly through the identifier of the application program and the identifier of the type to which the application module belongs.
  • the third-party application manufacturers usually do not provide the identification of the application module to other manufacturers, that is, there is no need to rely on the identification of the application module, and the application module that is not installed is automatically installed, and the user is unaware of the download process of the application module, the application module does not need to be installed. Downloaded when the app is first installed and can be downloaded on demand.
  • the method specifically includes: in response to receiving the fourth operation, the fourth application module sends a ninth to the distributed scheduling service DMS. message, the ninth message carries the identifier of the type to which the fifth application module belongs.
  • the distributed scheduling service DMS sends a thirteenth message to the package management service BMS, where the thirteenth message carries an identifier of the type to which the fifth application module belongs.
  • the package management service BMS determines whether the first device and the fourth device install the fifth application module.
  • the package management service BMS In response to determining that neither the first device nor the fourth device has the fifth application module installed, the package management service BMS sends a tenth message to the first server, where the tenth message carries an identifier of the type to which the fifth application module belongs.
  • the package management service BMS receives an eleventh message from the first server, the eleventh message carries the second set, and each subset of the second set carries an identifier of an application, a module of a software module included in the application
  • the device type that identifies and applies to the download address of the software module, and the software module corresponding to each subset belongs to the same type as the fifth application module.
  • the package management service BMS sends a fourteenth message to the distributed scheduling service DMS, the fourteenth message carrying the second set.
  • the distributed scheduling service DMS determines whether the device type in the second set applicable to the download address of the fifth application module includes the first device and the fourth device.
  • the distributed scheduling service DMS In response to determining that the device type in the second set applicable to the download address of the fifth application module includes the first device, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, and the fifteenth message is used to request the download of the first device.
  • Five application modules in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module in the first device, and sends the fifth application module to the first device.
  • the distributed scheduling service DMS sends a sixteenth message; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device.
  • the distributed scheduling service DMS in response to determining that the device type in the second set applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device, the first The twelfth message is used to request the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application, and the type of the fifth application module. 's identification.
  • the distributed scheduling service DMS displays a second window, and the second window includes the first device corresponding to the first device.
  • the control and the control corresponding to the fourth device in response to receiving the user's fifth operation on the control corresponding to the first device in the second window, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, and the tenth
  • the fifth message is used to request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module in the in the first device, and send a sixteenth message to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device; and/or, in response to receiving the user For the fifth operation on the control corresponding to the fourth device in the
  • the system module in the first device can implement the first device and/or the fourth device in the same distributed network to implicitly start the application module through the identifier of the type to which the application module belongs.
  • the identification of the application module will be provided to other manufacturers, that is, there is no need to rely on the identification of the application module, and the application module that is not installed will be automatically installed, and the user is unaware of the download process of the application module, and the application module does not need to be installed for the first time. Download and download on demand.
  • the method further includes: in response to determining that the fifth application module is installed in the first device and the fifth application module is not installed in the fourth device, the system module starts the fifth application module in the first device .
  • the system module in response to determining that the fifth application module is not installed on the first device and the fifth application module is installed on the fourth device, the system module sends a seventeenth message to the fourth device, where the seventeenth message is used to request the fourth device to start The fifth application module.
  • the system module displays a third window, and the third window includes controls corresponding to the first device and controls corresponding to the fourth device; in response to receiving The sixth operation by the user on the control corresponding to the first device in the third window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module on the first device , and start the fifth application module in the first device; and/or, in response to receiving the sixth operation by the user on the control corresponding to the fourth device in the third window, the system module sends a seventeenth to the fourth device message, the seventeenth message is used to request the fourth device to start the fifth application module.
  • the present application provides an electronic device, including: a memory and a processor; the memory is used to store program instructions; the processor is used to call the program instructions in the memory to enable the electronic device to execute the first aspect and any possibility of the first aspect
  • the application module startup method in the design or, the processor is used to call the program instructions in the memory to make the electronic device execute the second aspect and the application module startup method in any possible design of the second aspect.
  • the present application provides a chip system, which is applied to an electronic device including a memory, a display screen, and a sensor; the chip system includes: a processor; when the processor executes the computer instructions stored in the memory, the electronic device executes the first An application module startup method in any possible design of the first aspect and the first aspect; or, the electronic device executes the application module startup method in any possible design of the second aspect and the second aspect.
  • the present application provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to cause the electronic device to implement the first aspect and any possible design of the first aspect.
  • the present application provides a computer program product, comprising: execution instructions, the execution instructions are stored in a readable storage medium, at least one processor of an electronic device can read the execution instructions from the readable storage medium, and at least one processor Executing the execution instruction enables the electronic device to implement the first aspect and the application module startup method in any possible design of the first aspect; or, at least one processor executes the execution instruction to enable the electronic device to implement any one of the second aspect and the second aspect. App module startup methods in possible designs.
  • FIG. 1 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • FIG. 2 is a block diagram of a software structure of an electronic device provided by an embodiment of the present application.
  • 3A-3C are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • FIG. 4A is a schematic diagram of a scenario provided by an embodiment of the present application.
  • 4B-4C are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of various stages of an application program provided by an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a method for starting an application module according to an embodiment of the present application
  • FIGS. 7A-7C are schematic flowcharts of a method for starting an application module according to an embodiment of the present application.
  • FIGS. 8A-8I are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of various stages of an application program provided by an embodiment of the present application.
  • 10A-10C are schematic flowcharts of a method for starting an application module according to an embodiment of the present application.
  • FIGS. 11A-11E are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram of various stages of an application provided by an embodiment of the present application.
  • FIGS. 13A-13C are schematic flowcharts of a method for starting an application module according to an embodiment of the present application.
  • FIG. 14 is a schematic flowchart of a method for starting an application module according to an embodiment of the present application.
  • FIG. 15 is a schematic flowchart of a method for starting an application module according to an embodiment of the present application.
  • At least one means one or more
  • plural means two or more.
  • And/or which describes the association relationship of the associated objects, indicates that there can be three kinds of relationships, for example, A and/or B, which can indicate: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A, B can be singular or plural.
  • the character “/” generally indicates that the associated objects are an “or” relationship.
  • At least one item(s) below” or similar expressions thereof refer to any combination of these items, including any combination of single item(s) or plural items(s).
  • At least one (a) of a single a, a single b or a single c can mean: a single a, a single b, a single c, a combination of a and b, a combination of a and c, a combination of b and c, or a combination of a, b and c, where a, b, c can be single or multiple.
  • first and second are used for descriptive purposes only and should not be construed to indicate or imply relative importance.
  • the electronic device may be a mobile phone, a tablet computer, a wearable device, an in-vehicle device, an augmented reality (AR)/virtual reality (VR) device, a laptop, an ultra-mobile personal computer (ultra-mobile) personal computer (UMPC), netbook, personal digital assistant (PDA), smart TV, smart screen, high-definition TV, 4K TV, smart speaker, smart projector, etc.
  • AR augmented reality
  • VR virtual reality
  • UMPC ultra-mobile personal computer
  • PDA personal digital assistant
  • smart TV smart screen
  • high-definition TV 4K TV
  • 4K TV smart speaker
  • smart projector etc.
  • the electronic device involved in the present application is described below with reference to FIG. 1 , taking the electronic device as a mobile phone as an example.
  • FIG. 1 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • the electronic device 100 may include a processor 110 , an external memory interface 120 , an internal memory 121 , a universal serial bus (USB) interface 130 , a charging management module 140 , a power management module 141 , and a battery 142 , Antenna 1, Antenna 2, Mobile Communication Module 150, Wireless Communication Module 160, Audio Module 170, Speaker 170A, Receiver 170B, Microphone 170C, Headphone Interface 170D, Sensor Module 180, Key 190, Motor 191, Indicator 192, Camera 193 , a display screen 194, and a subscriber identification module (subscriber identification module, SIM) card interface 195 and the like.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and ambient light. Sensor 180L, bone conduction sensor 180M, etc.
  • the structures illustrated in this application do not constitute a specific limitation on the electronic device 100 .
  • the electronic device 100 may include more or fewer components than shown, or some components may be combined, or some components may be split, or a different arrangement of components.
  • the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, memory, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (NPU) Wait. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
  • application processor application processor, AP
  • modem processor graphics processor
  • graphics processor graphics processor
  • ISP image signal processor
  • controller memory
  • video codec digital signal processor
  • DSP digital signal processor
  • NPU neural-network processing unit
  • the controller may be the nerve center and command center of the electronic device 100 .
  • the controller can generate an operation control signal according to the instruction operation code and timing signal, and complete the control of fetching and executing instructions.
  • a memory may also be provided in the processor 110 for storing instructions and data.
  • the memory in processor 110 is cache memory. This memory may hold instructions or data that have just been used or recycled by the processor 110 . If the processor 110 needs to use the instruction or data again, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby increasing the efficiency of the system.
  • the processor 110 may include one or more interfaces.
  • the interface may include an integrated circuit (inter-integrated circuit, I2C) interface, an integrated circuit built-in audio (inter-integrated circuit sound, I2S) interface, a pulse code modulation (pulse code modulation, PCM) interface, a universal asynchronous transceiver (universal asynchronous transmitter) receiver/transmitter, UART) interface, mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, subscriber identity module (SIM) interface, and / or universal serial bus (universal serial bus, USB) interface, etc.
  • I2C integrated circuit
  • I2S integrated circuit built-in audio
  • PCM pulse code modulation
  • PCM pulse code modulation
  • UART universal asynchronous transceiver
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM subscriber identity module
  • USB universal serial bus
  • the I2C interface is a bidirectional synchronous serial bus that includes a serial data line (SDA) and a serial clock line (SCL).
  • the processor 110 may contain multiple sets of I2C buses.
  • the processor 110 can be respectively coupled to the touch sensor 180K, the charger, the flash, the camera 193 and the like through different I2C bus interfaces.
  • the processor 110 may couple the touch sensor 180K through the I2C interface, so that the processor 110 and the touch sensor 180K communicate with each other through the I2C bus interface, so as to realize the touch function of the electronic device 100 .
  • the I2S interface can be used for audio communication.
  • the processor 110 may contain multiple sets of I2S buses.
  • the processor 110 may be coupled with the audio module 170 through an I2S bus to implement communication between the processor 110 and the audio module 170 .
  • the audio module 170 can transmit audio signals to the wireless communication module 160 through the I2S interface, so as to realize the function of answering calls through a Bluetooth headset.
  • the PCM interface can also be used for audio communications, sampling, quantizing and encoding analog signals.
  • the audio module 170 and the wireless communication module 160 may be coupled through a PCM bus interface.
  • the audio module 170 can also transmit audio signals to the wireless communication module 160 through the PCM interface, so as to realize the function of answering calls through the Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
  • the UART interface is a universal serial data bus used for asynchronous communication.
  • the bus may be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication.
  • a UART interface is typically used to connect the processor 110 with the wireless communication module 160 .
  • the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function.
  • the audio module 170 can transmit audio signals to the wireless communication module 160 through the UART interface, so as to realize the function of playing music through the Bluetooth headset.
  • the MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193 .
  • MIPI interfaces include camera serial interface (CSI), display serial interface (DSI), etc.
  • the processor 110 communicates with the camera 193 through a CSI interface, so as to realize the photographing function of the electronic device 100 .
  • the processor 110 communicates with the display screen 194 through the DSI interface to implement the display function of the electronic device 100 .
  • the GPIO interface can be configured by software.
  • the GPIO interface can be configured as a control signal or as a data signal.
  • the GPIO interface may be used to connect the processor 110 with the camera 193, the display screen 194, the wireless communication module 160, the audio module 170, the sensor module 180, and the like.
  • the GPIO interface can also be configured as I2C interface, I2S interface, UART interface, MIPI interface, etc.
  • the USB interface 130 is an interface that conforms to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, and the like.
  • the USB interface 130 can be used to connect a charger to charge the electronic device 100, and can also be used to transmit data between the electronic device 100 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 AR devices.
  • the interface connection relationship between the modules illustrated in this application is only a schematic illustration, and does not constitute a structural limitation of the electronic device 100 .
  • the electronic device 100 may also adopt different interface connection manners in the foregoing embodiments, or a combination of multiple interface connection manners.
  • the charging management module 140 is used to receive charging input from the charger.
  • the charger may be a wireless charger or a wired charger.
  • the charging management module 140 may receive charging input from the wired charger through the USB interface 130 .
  • the charging management module 140 may receive wireless charging input through a wireless charging coil of the electronic device 100 . While the charging management module 140 charges the battery 142 , it can also supply power to the electronic device through the power management module 141 .
  • the power management module 141 is used for connecting the battery 142 , the charging management module 140 and the processor 110 .
  • the power management module 141 receives input from the battery 142 and/or the charging management module 140 and supplies power to the processor 110 , the internal memory 121 , the external memory, the display screen 194 , the camera 193 , and the wireless communication module 160 .
  • the power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle times, battery health status (leakage, impedance).
  • the power management module 141 may also be provided in the processor 110 .
  • the power management module 141 and the charging management module 140 may also be provided in the same device.
  • the wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, the baseband processor, and the like.
  • Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in electronic device 100 may be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
  • the antenna 1 can be multiplexed as a diversity antenna of the wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
  • the mobile communication module 150 may provide wireless communication solutions including 2G/3G/4G/5G etc. applied on the electronic device 100 .
  • the mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA) and the like.
  • the mobile communication module 150 can receive electromagnetic waves from the antenna 1, filter, amplify, etc. the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation.
  • the mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and then turn it into an electromagnetic wave for radiation through the antenna 1 .
  • at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110 .
  • at least part of the functional modules of the mobile communication module 150 may be provided in the same device as at least part of the modules of the processor 110 .
  • the modem processor may include a modulator and a demodulator.
  • the modulator is used to modulate the low frequency baseband signal to be sent into a medium and high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low frequency baseband signal. Then the demodulator transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the low frequency baseband signal is processed by the baseband processor and passed to the application processor.
  • the application processor outputs sound signals through audio devices (not limited to the speaker 170A, the receiver 170B, etc.), or displays images or videos through the display screen 194 .
  • the modem processor may be a stand-alone device.
  • the modem processor may be independent of the processor 110, and may be provided in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide applications on the electronic device 100 including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellites Wireless communication solutions such as global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared technology (IR).
  • WLAN wireless local area networks
  • BT Bluetooth
  • GNSS global navigation satellite system
  • FM frequency modulation
  • NFC near field communication
  • IR infrared technology
  • the wireless communication module 160 may be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2 , frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110 .
  • the wireless communication module 160 can also receive the signal to be sent from the processor 110 , perform frequency modulation on it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2 .
  • the antenna 1 of the electronic device 100 is coupled with the mobile communication module 150, and the antenna 2 is coupled with the wireless communication module 160, so that the electronic device 100 can communicate with the network and other devices through wireless communication technology.
  • the wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), broadband Code Division Multiple Access (WCDMA), Time Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC , FM, and/or IR technology, etc.
  • the GNSS may include global positioning system (global positioning system, GPS), global navigation satellite system (global navigation satellite system, GLONASS), Beidou navigation satellite system (beidou navigation satellite system, BDS), quasi-zenith satellite system (quasi -zenith satellite system, QZSS) and/or satellite based augmentation systems (SBAS).
  • global positioning system global positioning system, GPS
  • global navigation satellite system global navigation satellite system, GLONASS
  • Beidou navigation satellite system beidou navigation satellite system, BDS
  • quasi-zenith satellite system quadsi -zenith satellite system, QZSS
  • SBAS satellite based augmentation systems
  • the electronic device 100 implements a display function through a GPU, a display screen 194, an application processor, and the like.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 194 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
  • Display screen 194 is used to display images, videos, and the like.
  • Display screen 194 includes a display panel.
  • the display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (active-matrix organic light).
  • LED diode AMOLED
  • flexible light-emitting diode flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diode (quantum dot light emitting diodes, QLED) and so on.
  • the electronic device 100 may include one or N display screens 194 , where N is a positive integer greater than one.
  • the electronic device 100 may implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, an application processor, and the like.
  • the ISP is used to process the data fed back by the camera 193 .
  • the shutter is opened, the light is transmitted to the camera photosensitive element through the lens, the light signal is converted into an electrical signal, and the camera photosensitive element transmits the electrical signal to the ISP for processing, and converts it into an image visible to the naked eye.
  • ISP can also perform algorithm optimization on image noise, brightness, and skin tone.
  • ISP can also optimize the exposure, color temperature and other parameters of the shooting scene.
  • the ISP may be provided in the camera 193 .
  • Camera 193 is used to capture still images or video.
  • the object is projected through the lens to generate an optical image onto the photosensitive element.
  • the photosensitive element may be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the optical signal into an electrical signal, and then transmits the electrical signal to the ISP to convert it into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • DSP converts digital image signals into standard RGB, YUV and other formats of image signals.
  • the electronic device 100 may include 1 or N cameras 193 , where N is a positive integer greater than 1.
  • a digital signal processor is used to process digital signals, in addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 100 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy and so on.
  • Video codecs are used to compress or decompress digital video.
  • the electronic device 100 may support one or more video codecs.
  • the electronic device 100 can play or record videos of various encoding formats, such as: Moving Picture Experts Group (moving picture experts group, MPEG) 1, MPEG2, MPEG3, MPEG4 and so on.
  • MPEG Moving Picture Experts Group
  • MPEG2 moving picture experts group
  • MPEG3 MPEG4
  • MPEG4 Moving Picture Experts Group
  • the NPU is a neural-network (NN) computing processor.
  • NN neural-network
  • Applications such as intelligent cognition of the electronic device 100 can be implemented through the NPU, such as image recognition, face recognition, speech recognition, text understanding, and the like.
  • the external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100 .
  • the external memory card communicates with the processor 110 through the external memory interface 120 to realize the data storage function. For example to save files like music, video etc in external memory card.
  • Internal memory 121 may be used to store computer executable program code, which includes instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device 100 by executing the instructions stored in the internal memory 121 .
  • the internal memory 121 may include a storage program area and a storage data area.
  • the storage program area can store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), and the like.
  • the storage data area may store data (such as audio data, phone book, etc.) created during the use of the electronic device 100 and the like.
  • the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (UFS), and the like.
  • the electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like. Such as music playback, recording, etc.
  • the audio module 170 is used to convert digital audio information to analog audio signal output, and also to convert analog audio input to digital audio signal. Audio module 170 may also be used to encode and decode audio signals. In some embodiments, the audio module 170 may be provided in the processor 110 , or some functional modules of the audio module 170 may be provided in the processor 110 .
  • Speaker 170A also referred to as a "speaker" is used to convert audio electrical signals into sound signals.
  • the electronic device 100 can listen to music through the speaker 170A, or listen to a hands-free call.
  • the receiver 170B also referred to as "earpiece" is used to convert audio electrical signals into sound signals.
  • the voice can be answered by placing the receiver 170B close to the human ear.
  • the microphone 170C also called “microphone” or “microphone” is used to convert sound signals into electrical signals.
  • the user can make a sound by approaching the microphone 170C through a human mouth, and input the sound signal into the microphone 170C.
  • the electronic device 100 may be provided with at least one microphone 170C. In other embodiments, the electronic device 100 may be provided with two microphones 170C, which can implement a noise reduction function in addition to collecting sound signals. In other embodiments, the electronic device 100 may further be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify sound sources, and implement directional recording functions.
  • the earphone jack 170D is used to connect wired earphones.
  • the earphone interface 170D can be the USB interface 130, or can be a 3.5mm open mobile terminal platform (OMTP) standard interface, a cellular telecommunications industry association of the USA (CTIA) standard interface.
  • OMTP open mobile terminal platform
  • CTIA cellular telecommunications industry association of the USA
  • the pressure sensor 180A is used to sense pressure signals, and can convert the pressure signals into electrical signals.
  • the pressure sensor 180A may be provided on the display screen 194 .
  • the capacitive pressure sensor may be comprised of at least two parallel plates of conductive material. When a force is applied to the pressure sensor 180A, the capacitance between the electrodes changes.
  • the electronic device 100 determines the intensity of the pressure according to the change in capacitance. When a touch operation acts on the display screen 194, the electronic device 100 detects the intensity of the touch operation according to the pressure sensor 180A.
  • the electronic device 100 may also calculate the touched position according to the detection signal of the pressure sensor 180A.
  • touch operations acting on the same touch position but with different touch operation intensities may correspond to different operation instructions. For example, when a touch operation whose intensity is less than the first pressure threshold acts on the short message application icon, the instruction for viewing the short message is executed. When a touch operation with a touch operation intensity greater than or equal to the first pressure threshold acts on the short message application icon, the instruction to create a new short message is executed.
  • the gyro sensor 180B may be used to determine the motion attitude of the electronic device 100 .
  • the angular velocity of electronic device 100 about three axes ie, x, y, and z axes
  • the gyro sensor 180B can be used for image stabilization.
  • the gyro sensor 180B detects the shaking angle of the electronic device 100, calculates the distance that the lens module needs to compensate according to the angle, and allows the lens to offset the shaking of the electronic device 100 through reverse motion to achieve anti-shake.
  • the gyro sensor 180B can also be used for navigation and somatosensory game scenarios.
  • the air pressure sensor 180C is used to measure air pressure.
  • the electronic device 100 calculates the altitude through the air pressure value measured by the air pressure sensor 180C to assist in positioning and navigation.
  • the magnetic sensor 180D includes a Hall sensor.
  • the electronic device 100 can detect the opening and closing of the flip holster using the magnetic sensor 180D.
  • the electronic device 100 can detect the opening and closing of the flip according to the magnetic sensor 180D. Further, according to the detected opening and closing state of the leather case or the opening and closing state of the flip cover, characteristics such as automatic unlocking of the flip cover are set.
  • the acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in various directions (generally three axes).
  • the magnitude and direction of gravity can be detected when the electronic device 100 is stationary. It can also be used to identify the posture of electronic devices, and can be used in applications such as horizontal and vertical screen switching, pedometers, etc.
  • the electronic device 100 can measure the distance through infrared or laser. In some embodiments, when shooting a scene, the electronic device 100 can use the distance sensor 180F to measure the distance to achieve fast focusing.
  • Proximity light sensor 180G may include, for example, light emitting diodes (LEDs) and light detectors, such as photodiodes.
  • the light emitting diodes may be infrared light emitting diodes.
  • the electronic device 100 emits infrared light to the outside through the light emitting diode.
  • Electronic device 100 uses photodiodes to detect infrared reflected light from nearby objects. When sufficient reflected light is detected, it can be determined that there is an object near the electronic device 100 . When insufficient reflected light is detected, the electronic device 100 may determine that there is no object near the electronic device 100 .
  • the electronic device 100 can use the proximity light sensor 180G to detect that the user holds the electronic device 100 close to the ear to talk, so as to automatically turn off the screen to save power.
  • Proximity light sensor 180G can also be used in holster mode, pocket mode automatically unlocks and locks the screen.
  • the ambient light sensor 180L is used to sense ambient light brightness.
  • the electronic device 100 can adaptively adjust the brightness of the display screen 194 according to the perceived ambient light brightness.
  • the ambient light sensor 180L can also be used to automatically adjust the white balance when taking pictures.
  • the ambient light sensor 180L can also cooperate with the proximity light sensor 180G to detect whether the electronic device 100 is in a pocket, so as to prevent accidental touch.
  • the fingerprint sensor 180H is used to collect fingerprints.
  • the electronic device 100 can use the collected fingerprint characteristics to realize fingerprint unlocking, accessing application locks, taking pictures with fingerprints, answering incoming calls with fingerprints, and the like.
  • the temperature sensor 180J is used to detect the temperature.
  • the electronic device 100 uses the temperature detected by the temperature sensor 180J to execute a temperature processing strategy. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold value, the electronic device 100 reduces the performance of the processor located near the temperature sensor 180J in order to reduce power consumption and implement thermal protection.
  • the electronic device 100 when the temperature is lower than another threshold, the electronic device 100 heats the battery 142 to avoid abnormal shutdown of the electronic device 100 caused by the low temperature.
  • the electronic device 100 boosts the output voltage of the battery 142 to avoid abnormal shutdown caused by low temperature.
  • Touch sensor 180K also called “touch panel”.
  • the touch sensor 180K may be disposed on the display screen 194 , and the touch sensor 180K and the display screen 194 form a touch screen, also called a “touch screen”.
  • the touch sensor 180K is used to detect a touch operation on or near it.
  • the touch sensor can pass the detected touch operation to the application processor to determine the type of touch event.
  • Visual output related to touch operations may be provided through display screen 194 .
  • the touch sensor 180K may also be disposed on the surface of the electronic device 100 , which is different from the location where the display screen 194 is located.
  • the bone conduction sensor 180M can acquire vibration signals.
  • the bone conduction sensor 180M can acquire the vibration signal of the vibrating bone mass of the human voice.
  • the bone conduction sensor 180M can also contact the pulse of the human body and receive the blood pressure beating signal.
  • the bone conduction sensor 180M can also be disposed in the earphone, combined with the bone conduction earphone.
  • the audio module 170 can analyze the voice signal based on the vibration signal of the vocal vibration bone block obtained by the bone conduction sensor 180M, so as to realize the voice function.
  • the application processor can analyze the heart rate information based on the blood pressure beat signal obtained by the bone conduction sensor 180M, and realize the function of heart rate detection.
  • the keys 190 include a power-on key, a volume key, and the like. Keys 190 may be mechanical keys. It can also be a touch key.
  • the electronic device 100 may receive key inputs and generate key signal inputs related to user settings and function control of the electronic device 100 .
  • Motor 191 can generate vibrating cues.
  • the motor 191 can be used for vibrating alerts for incoming calls, and can also be used for touch vibration feedback.
  • touch operations acting on different applications can correspond to different vibration feedback effects.
  • the motor 191 can also correspond to different vibration feedback effects for touch operations on different areas of the display screen 194 .
  • Different application scenarios for example: time reminder, receiving information, alarm clock, games, etc.
  • the touch vibration feedback effect can also support customization.
  • the indicator 192 can be an indicator light, which can be used to indicate the charging state, the change of the power, and can also be used to indicate a message, a missed call, a notification, and the like.
  • the SIM card interface 195 is used to connect a SIM card.
  • the SIM card can be contacted and separated from the electronic device 100 by inserting into the SIM card interface 195 or pulling out from the SIM card interface 195 .
  • the electronic device 100 may support 1 or N SIM card interfaces, where N is a positive integer greater than 1.
  • the SIM card interface 195 can support Nano SIM card, Micro SIM card, SIM card and so on. Multiple cards can be inserted into the same SIM card interface 195 at the same time. The types of the plurality of cards may be the same or different.
  • the SIM card interface 195 can also be compatible with different types of SIM cards.
  • the SIM card interface 195 is also compatible with external memory cards.
  • the electronic device 100 interacts with the network through the SIM card to implement functions such as call and data communication.
  • the electronic device 100 employs an eSIM, ie: an embedded SIM card.
  • the eSIM card can be embedded in the electronic device 100 and cannot be separated from the electronic device 100 .
  • the software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture.
  • the Android system with a layered architecture is used as an example to illustrate the software structure of the electronic device 100 as an example.
  • this application does not limit the type of the operating system of the electronic device.
  • Android system Linux system, Windows system, iOS system, Hongmeng operating system (harmony operating system, Hongmeng OS), etc.
  • FIG. 2 is a block diagram of a software structure of an electronic device according to an embodiment of the present application.
  • the layered architecture divides the software into several layers, and each layer has a clear role and division of labor. Layers communicate with each other through software interfaces.
  • the Android system is divided into four layers, from top to bottom, they are an application layer (APP), an application framework layer (APP framework), an Android runtime (Android runtime) and a system library (libraries), And the kernel layer (kernel).
  • APP application layer
  • APP framework application framework
  • Android runtime Android runtime
  • libraries system library
  • kernel layer kernel layer
  • the application layer can include a series of application packages.
  • the application package can include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, game, chat, shopping, travel, instant messaging (such as SMS), smart home, Device control and other applications (application, APP).
  • application application, APP
  • household equipment may include lights, televisions, and air conditioners.
  • household equipment may also include anti-theft door locks, speakers, sweeping robots, sockets, body fat scales, desk lamps, air purifiers, refrigerators, washing machines, water heaters, microwave ovens, rice cookers, curtains, fans, TVs, set-top boxes, windows, etc.
  • the application package may also include: home screen (ie desktop), negative screen, control center, notification center and other applications.
  • the negative one screen also known as "-1 screen” refers to sliding the screen to the right on the main screen of the electronic device until it slides to the user interface (UI) of the leftmost split screen.
  • the negative screen can be used to place some quick service functions and notification messages, such as global search, quick entry to a certain page of the application (payment code, WeChat, etc.), instant information and reminders (courier information, expense information, commuting road conditions) , taxi travel information, schedule information, etc.) and attention to trends (football stands, basketball stands, stock information, etc.).
  • the control center is the slide-up message notification bar of the electronic device, that is, the user interface displayed by the electronic device when the user starts to perform the slide-up operation at the bottom of the electronic device.
  • the notification center is a drop-down message notification bar of the electronic device, that is, a user interface displayed by the electronic device when the user starts to perform downward operations on the top of the electronic device.
  • the application framework layer provides an application programming interface (application programming interface, API) and a programming framework for applications in the application layer.
  • the application framework layer includes some predefined functions.
  • the application framework layer may include window managers, activity managers, window managers, content providers, view systems, telephony managers, resource managers, notification managers, and the like.
  • Window manager is used to manage window programs, such as managing window state, properties, view addition, deletion, update, window order, message collection and processing, etc.
  • the window manager can get the size of the display screen, determine whether there is a status bar, lock the screen, take screenshots, etc. And, the window manager is the entry for the outside world to access the window.
  • Content providers are used to store and retrieve data and make this data accessible to applications.
  • the data may include video, images, audio, calls made and received, browsing history and bookmarks, phone book, etc.
  • the view system includes visual controls, such as controls for displaying text, controls for displaying pictures, and so on. View systems can be used to build applications.
  • a display interface can consist of one or more views.
  • the display interface including the short message notification icon may include a view for displaying text and a view for displaying pictures.
  • the phone manager is used to provide the communication function of the electronic device 100 .
  • the management of call status including connecting, hanging up, etc.).
  • the resource manager provides various resources for the application, such as localized strings, icons, pictures, user interface layout files (layout xml), video files, fonts, colors, user interface components (user interface module, UI component) identification number (identity document, ID), etc. And, the resource manager is used for unified management of the aforementioned resources.
  • the notification manager enables applications to display notification information in the status bar, which can be used to convey notification-type messages, and can disappear automatically after a brief pause without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc.
  • the notification manager can also display notifications in the status bar at the top of the system in the form of graphs or scroll bar text, such as notifications of applications running in the background, and notifications on the screen in the form of dialog windows. For example, text information is prompted in the status bar, a prompt sound is issued, the electronic device vibrates, and the indicator light flashes.
  • the Android runtime includes core libraries and a virtual machine.
  • the Android runtime is responsible for the scheduling and management of the Android system.
  • the core library consists of two parts: one is the function functions that the java language needs to call, and the other is the core library of the Android system.
  • the application layer and the application framework layer run in virtual machines.
  • the virtual machine executes the java files of the application layer and the application framework layer as binary files.
  • the virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, safety and exception management, and garbage collection.
  • a system library can include multiple functional modules. For example: surface manager (surface manager), media library (media library), 3D graphics processing library (eg: OpenGLES), 2D graphics engine (eg: SGL), etc.
  • surface manager surface manager
  • media library media library
  • 3D graphics processing library eg: OpenGLES
  • 2D graphics engine eg: SGL
  • the Surface Manager is used to manage the display subsystem and provides a fusion of 2D and 3D layers for multiple applications.
  • the media library supports playback and recording of a variety of commonly used audio and video formats, as well as still image files.
  • the media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
  • the 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
  • 2D graphics engine is a drawing engine for 2D drawing.
  • the kernel layer is the layer between hardware and software.
  • the kernel layer contains at least display drivers, camera drivers, audio drivers, and sensor drivers.
  • the software and hardware workflows of the electronic device 100 are exemplarily described below in conjunction with a scenario in which a smart speaker is used to play sound.
  • a corresponding hardware interrupt is sent to the kernel layer.
  • the kernel layer processes touch operations into raw input events (including touch coordinates, timestamps of touch operations, etc.). Raw input events are stored at the kernel layer.
  • the application framework layer obtains the original input event from the kernel layer, and identifies the control corresponding to the input event. Taking the touch operation as a touch click operation, and the control corresponding to the click operation is the control of the smart speaker icon, for example, the smart speaker application calls the interface of the application framework layer to start the smart speaker application, and then starts the audio driver by calling the kernel layer. , the audio electrical signal is converted into a sound signal through the speaker 170A.
  • the structures illustrated in this application do not constitute a specific limitation on the electronic device 100 .
  • the electronic device 100 may include more or fewer components than shown, or some components may be combined, or some components may be split, or a different arrangement of components.
  • the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
  • the electronic device is a mobile phone
  • application A is installed in the mobile phone
  • application A is an XX travel application as an example for illustration.
  • meta-capability A1 is installed and the meta-capability A2 is not installed.
  • meta-capability A1 and meta-capacity A2 are software codes.
  • Meta-capacity A1 is used to provide a page corresponding to taxi hailing and triggers the meta-capacity A1 to start application A, and meta-capacity A2 is used to provide a page corresponding to carpooling.
  • the meta-ability (abbreviated as Ability) is the smallest unit component of the electronic device that can independently run the application program.
  • An application may include one or more meta-capabilities. Different applications may include meta-capabilities for the same function, or may include meta-capabilities for different functions.
  • FIGS. 3A-3C are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • the handset may display a user interface 11 as exemplarily shown in Figure 3A.
  • the user interface 11 may be the home screen of the desktop, and the user interface 11 may include but not limited to: a status bar, a navigation bar, a calendar indicator, a weather indicator, and multiple application icons.
  • the application icon may also include: the icon 301 of the XX travel application, and may also include: such as the icon of the Huawei video application, the icon of the music application, the icon of the mobile phone housekeeper application, the icon of the setting application, the icon of the XX map application, the icon of the smart life application , the icon of the sports health application, the icon of the calling application, the icon of the SMS application, the icon of the browser application, the icon of the camera application, etc.
  • the mobile phone Since the meta-capability A1 has been installed in the mobile phone after the mobile phone has installed the XX travel application for the first time, the mobile phone detects the operation instructed by the user to start the XX travel application (for example, clicking on the XX travel application in the user interface 11 shown in FIG. 3A ) After icon 301), the meta-capability A1 is activated, and the user interface 12 exemplarily shown in FIG. 3B can be displayed, and the user interface 12 is used to display the page corresponding to the taxi.
  • the user interface 12 may include: a control 302 and a control 303, where the control 302 is used to enter a page corresponding to a taxi, and the control 303 is used to enter a page corresponding to a carpool.
  • the meta-capability A2 is not installed in the mobile phone after the XX travel application is installed on the mobile phone for the first time, and can be downloaded and installed in the mobile phone through the meta-capacity A1 in response to the user's operation, therefore, when the mobile phone detects that the user is in Figure 3B .
  • the meta-capability A1 triggers the system service in the mobile phone, and the system service in the mobile phone obtains the CDN download address of the meta-capability A2 of the XX travel application from the HAG server.
  • the system service in the mobile phone can download the meta-capability A2 of the XX travel application from the CDN server based on the CDN download address of the meta-capability A2 of the XX travel application. Further, the system service in the mobile phone can install the meta-capability A2 of the XX travel application in the mobile phone, so that the system service in the mobile phone activates the meta-capacity A2, and the user interface 13 exemplarily shown in FIG. 3C can be displayed, and the user interface 13 is used for The page corresponding to the carpool is displayed.
  • the mobile phone triggers the system service in the mobile phone through the installed meta-capabilities in an application, and can query, download and install the meta-capabilities that are not installed in the application, so as to activate the meta-capabilities that are not installed, so that the mobile phone is installed for the first time.
  • part of the meta-capabilities in the application can be selected, and there is no need to install all the meta-capabilities in the application, which saves the storage space of the mobile phone, enriches the function realization of the application, and provides users with the application. more functions.
  • the electronic device is a mobile phone
  • the meta-capability A1 of application A is installed in the mobile phone
  • the meta-capability B1 of application B is not installed in the mobile phone
  • the meta-capacity A1 of application A can trigger the startup of the application B's meta-capacity B1.
  • the meta-capability A1 of application A is the Huawei Hilink service (service) software module
  • the application B is the smart home application of XX electrical appliance manufacturer
  • the meta-capacity B1 is the meta-capacity of the rice cooker as an example to illustrate.
  • the Huawei Hilink service software module has no UI, and the Huawei Hilink service software module is used to trigger the meta-capability B1 of starting application B.
  • the meta-capacity B1 is the software code, and the meta-capacity B1 is used to adjust the working mode of the rice cooker, heating temperature, heating The page with parameters such as duration.
  • FIG. 4A is a schematic diagram of a scenario provided by an embodiment of the application
  • FIGS. 4B to 4C are schematic diagrams of a human-computer interaction interface provided by an embodiment of the application.
  • the handset may display a user interface 21 as exemplarily shown in Figure 4B.
  • the user interface 21 may be the home screen of the desktop, and the user interface 21 may include but not limited to: a status bar, a navigation bar, a calendar indicator, a weather indicator, and multiple application icons.
  • the application icon may include: the smart home application 401 of the XX electrical appliance manufacturer, and the application icon may also include: such as the icon of the Huawei video application, the icon of the music application, the icon of the mobile phone housekeeper application, the icon of the setting application, the icon of the XX map application , XX travel application icon, smart life application icon, sports health application icon, call application icon, SMS application icon, browser application icon, camera application icon, etc.
  • the mobile phone touches a Touch the rice cooker.
  • the Huawei Hilink service software module triggers the system service in the mobile phone.
  • the system service in the mobile phone determines whether the meta-capability B1 of the rice cooker of the smart home application of the XX electrical appliance manufacturer is installed.
  • the system service in the mobile phone determines that the meta-capability B1 of the rice cooker of the smart home application of the XX electrical appliance manufacturer is not installed, the system service in the mobile phone obtains the CDN download address of the meta-capacity B1 of the rice cooker of the smart home application of the XX electrical appliance manufacturer through the HAG server .
  • the system service in the mobile phone can download the meta-capability B1 of the rice cooker from the CDN server based on the CDN download address of the rice cooker's meta-capability B1.
  • the system service in the mobile phone can install the meta-capacity B1 of the electric cooker in the mobile phone, so that the system service in the mobile phone starts the meta-capacity B1 of the electric cooker, just can change from displaying the user interface 21 shown in Fig. 4B exemplarily to displaying Fig. 4C
  • the user interface 22 shown exemplarily, the user interface 22 is used to display the page corresponding to the meta-capability B1 of the electric cooker, that is, the page for adjusting parameters such as the working mode, heating temperature, and heating duration of the electric cooker. Therefore, it is convenient for the user to flexibly and quickly adjust the parameters of the rice cooker through the page corresponding to the meta-capability B1 of the rice cooker.
  • the mobile phone triggers the system service in the mobile phone through the installed meta-capabilities in one application, and can query, download and install the meta-capabilities not installed in another application, so as to activate the meta-capabilities not installed in another application. , so as to activate the uninstalled meta-capability, so that the meta-capabilities of different applications can cooperate to complete the function realization corresponding to the meta-capacity, thereby reducing the storage capacity of the mobile phone and saving the storage space of the mobile phone.
  • the electronic device not only supports the installed meta-capability in the same application to trigger the system service in the electronic device to activate the non-installed meta-capability, but also supports the installation in an application.
  • the meta-capability triggers the system service in the electronic device to activate the non-installed meta-capacity in another application, so that the electronic device does not need to install all the meta-capabilities in an application, and can also utilize the installed meta-capabilities based on user needs quickly and promptly. Downloading the uninstalled meta-capability reduces the storage capacity of the electronic device, saves the storage space of the electronic device, enriches the types of application programs installed on the electronic device, and is beneficial to the electronic device providing more functions to the user.
  • FIG. 5 is a schematic diagram of various stages of an application provided by an embodiment of the present application.
  • the life cycle process of an application can include four stages - development and debugging stage, release stage, cloud deployment and distribution stage, and terminal-side download and installation stage.
  • hap package a harmony OS ability package
  • App Pack an application package
  • multiple hap packages in an application package may be divided into one or more groups of hap packages.
  • Each group of hap packages may correspond to devices of one or more device types, and the programming languages corresponding to each hap package in each group of hap packages are the same, and the programming languages corresponding to different groups of hap packages may be the same or different.
  • the types of each set of hap packets may generally include two.
  • the first type of hap package is a deployment package containing the entry Ability of the application (ie the main module shown in Figure 5, abbreviated as Entry.hap), usually there is only one, and it consists of code, tripartite libraries, resources and configuration files. Among them, the code can be one or more capabilities, as well as dependent common codes (common codes). The third-party library can use the so library. The difference from the common codes is that the so library can be compiled independently and has no source code. Also, the first type of hap package supports free installation and is usually installed automatically when the app is first installed. In addition, the entry Ability of the application is usually the Ability corresponding to the home page/main page of the application.
  • the second type of hap package is the deployment package of other codes or resources of the application (that is, the dynamic feature module 1 and the dynamic feature module 2 shown in Libraries, resources and configuration files.
  • the code may be one or more capabilities and dependent common codes, or may only include a third-party library, or may not include any code but only resources, which is not limited in this application.
  • the resource can be a resource that the code in the hap package depends on, or a resource used by other hap packages, or the aforementioned two resources, which are not limited in this application.
  • the second type of hap package that includes Ability can support free installation, and is usually installed automatically when the application is installed for the first time.
  • the second type of hap package that does not include Ability needs to be installed through the application programming interface of the electronic device. interface, API) to download and install, usually not automatically installed when the app is first installed.
  • other codes or resources of the application are codes or resources other than the entry Ability of the application, such as the Ability corresponding to other pages of the application other than the main page.
  • hap packets are not limited to the above two types.
  • App Pack abbreviated as .app
  • App Pack the signed application package 50 (ie the main module, dynamic Both feature module 1 and dynamic feature module 2 are signed).
  • the developer uploads the application package (App Pack) 50 to the cloud server 40, such as the Huawei Market Server.
  • the cloud server 40 such as the Huawei Market Server.
  • the cloud server 40 may perform operations on the application package (App Pack) 50, such as signature verification and review, application package splitting, hap re-signature, storage, and extraction capability.
  • App Pack application package
  • the cloud server 40 may divide the application package (App Pack) 50 into multiple hap packages, and store the multiple hap packages, such as deploying them to a content distribution network (content distribution network). delivery network, CDN) server 30.
  • App Pack application package
  • CDN delivery network
  • the specific implementation process of the extraction capability operation is as follows: the cloud server 40 may extract the capabilities of the divided multiple hap packages, and establish a list of capability indexes of the divided multiple hap packages, so as to extract the divided capabilities of the multiple hap packages.
  • Ability index lists of multiple hap packages are stored in, for example, the HUAWEI ability gallery (HAG) server 20 .
  • the ability index list includes the meta-ability name of the Ability of each hap package, or the meta-ability name and predefined ACTION of the Ability of each hap package.
  • the meta-capability name refers to the unique identification of the meta-capability, such as in the form of numbers, letters, or characters.
  • the predefined ACTION is an event defined by the HAG server 20 .
  • Each predefined ACTION identifies a specific function.
  • the meta-capability supports a specific function corresponding to the predefined ACTION.
  • meta-capability 1 and meta-capability 2 registered with the same predefined ACTION, then meta-capability 1 and meta-capability 2 support the same function, that is, the specific function corresponding to the predefined ACTION. If meta-capability 1 and meta-capability 2 of different predefined ACTIONs are registered, then the functions supported by meta-capability 1 and meta-capability 2 are different.
  • the application where meta-capability 1 is located and the application where meta-capability 2 is located may be the same or different.
  • system service in the electronic device can start the meta-capability registered with the predefined ACTION through the predefined ACTION.
  • the HAG server can match the meta-capability registered with the ACTION according to the predefined ACTION.
  • the layered architecture of the device a11 is respectively an application program layer (APP) from top to bottom, an application program framework layer (APP framework), Android runtime (Android runtime, not shown in Figure 5) and system libraries (libraries), and the kernel layer (kernel).
  • APP application program layer
  • APP framework application program framework layer
  • Android runtime Android runtime, not shown in Figure 5
  • system libraries libraries
  • kernel layer kernel layer
  • the device a 11 is an electronic device.
  • the application layer includes application A, or application A and application B, and device a 11 triggers a system service in device a 11 through a meta-capability of application A to activate a meta-capability of application B.
  • the application framework layer includes distributed scheduling service (distributed schedule manager service, DMS) and package management service (bundle manager service, BMS). Both DMS and BMS are system services in electronic equipment.
  • distributed scheduling service distributed schedule manager service
  • BMS package management service
  • the DMS is used to activate a meta-capability.
  • the DMS can activate the meta-capability (referred to as explicit activation for short) after learning the meta-capability of the application installed on the electronic device based on the meta-capability name of the meta-capability and the package name of the application where the meta-capacity is located.
  • the DMS can activate the meta-capability (referred to as semi-implicit activation for short) after learning the meta-capability of the application installed on the electronic device based on the predefined ACTION of the meta-capability and the package name of the application where the meta-capacity is located.
  • the DMS may activate the meta-capability corresponding to the predefined ACTION after learning that the electronic device has installed the meta-capability corresponding to the predefined ACTION based on the predefined ACTION (referred to as implicit activation for short).
  • the BMS is used to determine whether a meta-capability is installed in the device a11, and obtain the CDN download address of the meta-capability from the HAG server 20 when a meta-capability is not installed, so that the CDN download address of the meta-capability can be downloaded from the CDN server 30 based on the CDN download address of the meta-capability. to obtain this meta-ability.
  • the system library includes a database of distributed application components.
  • the BMS is also used to store a configuration file parsed by the meta-capability in the distributed application component database when a meta-capability is installed.
  • the parsed configuration file (config.json) may include: the application package name corresponding to the meta-capability and the meta-capability name of the meta-capability, or the application package name corresponding to the meta-capability and the predefined ACTION of the meta-capability, or, The application package name corresponding to the meta-capability, the meta-capability name of the meta-capability, and the predefined ACTION of the meta-capability. That is, the package name, meta-capability name and predefined ACTION of the application corresponding to a meta-capability can be registered in the configuration file of the meta-capability.
  • the parsed configuration file may also include: the device type supported by the meta-capability, the name of the hap package corresponding to the meta-capability, the type of the hap-package corresponding to the meta-capability, and whether the meta-capability is actively installed and other information.
  • the following describes a specific implementation process for an electronic device to start a meta-capability that is not installed in an application in combination with the first scenario and the second scenario.
  • Scenario 1 describes a specific implementation process in which an electronic device triggers a system service in the electronic device to activate a meta-capability not installed in the application through an installed meta-capability in the same application.
  • the meta-capacity A2 of the application A is Capability A1 may request the DMS to initiate application A's meta-capability A2.
  • the DMS may request the BMS to query whether the meta-capability A2 is installed on the device a11.
  • the BMS may notify the DMS that the meta-capability A2 is installed. The DMS can then activate the meta-capability A2.
  • the BMS may obtain the CDN download address of the meta-capability A2 from the HAG server 20. Based on the CDN download address of the meta-capability A2, the BMS can download the meta-capacity A2 from the CDN server 30, so that the BMS installs the meta-capacity A2 in the device a11. The BMS may notify the DMS that the meta-capability A2 is installed. The DMS can then activate the meta-capability A2.
  • FIG. 3A-FIG. 3C can explain the above process.
  • the device a11 triggers the system service in the electronic device through the installed meta-capability A1 in the application A, and can activate the meta-capability A2 that is not installed in the application A.
  • the device a 11 in the embodiment of FIG. 3A-FIG. 3C to trigger the system service in the device a 11 through the installed meta-capability A1 in the application A to activate the meta-capability A2 that is not installed in the application A
  • the application A may refer to the description of the XX travel application in the embodiment of FIG. 3A-FIG. 3C
  • the meta-capability A1 may be implemented by referring to FIG. 3A-FIG. 3C.
  • the meta-capability A1 and the meta-capability A2 in the example reference may be made to the description of the meta-capability A2 in the embodiment of FIGS. 3A-3C .
  • FIG. 6 is a schematic flowchart of a method for starting an application module according to an embodiment of the present application.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A sends the package name of the application A and the meta-capability name of the meta-capability A2 to the DMS in response to the user's operation 1 .
  • the operation 1 may include, but is not limited to, operations such as click, double-click, long-press, and touch.
  • operation 1 may be an operation performed by the user in the user interface 12 shown in FIG. 3B such as clicking on the control 303.
  • operation 1 is associated with application A's meta-capability A2. That is to say, the meta-capability A1 can learn that the device a 11 needs to start the meta-capability A2 of the application A based on the operation 1. Since application A pre-stores the meta-capability name of meta-capability A2 associated with operation 1, and meta-capability A1 and meta-capability A2 are both meta-capabilities of application A, meta-capability A1 can learn the package name of application A and meta-capability A2 metacapability name. Therefore, the meta-capability A1 may request the DMS to start the meta-capability A2 of the application A, and the request carries the package name of the application A and the meta-capability name of the meta-capability A2.
  • the package name of the application A can uniquely identify the application A, and the meta-capability name of the meta-capability A2 can uniquely identify the meta-capability A2.
  • the package name of the application A and the meta-capability name of the meta-capability A2 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the package name of application A here may correspond to the identifier of the first application in step S1201, and the meta-capability name of meta-capability A2 may correspond to the module identifier of the first application module in step S1201.
  • the meta-capability A1 may carry the package name of the application A and the meta-capability name of the meta-capability A2 in a message and send it to the DMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the first message in steps S1101 and S1201.
  • the DMS sends the package name of the application A and the meta-capability name of the meta-capability A2 to the BMS.
  • the DMS may request the BMS to query whether the meta-capability A2 of the application A is installed.
  • the DMS may carry the package name of the application A and the meta-capability name of the meta-capability A2 in a message and send it to the BMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1202.
  • the BMS determines whether the meta-capability A2 of the application A is installed in the device a11.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability
  • the BMS can query whether the configuration file of the meta-capability A2 of application A exists in the distributed application component database. Thereby, it is determined whether the meta-capability A2 of the application A is installed in the device a11.
  • the BMS can determine that the meta-capability A2 of the application A is not installed in the device a 11, so that the BMS can perform steps S104-S110;
  • the BMS can determine that the meta-capability A2 of the application A is installed in the device a11, so that the BMS can perform steps S109-S110.
  • the BMS sends the ID of the device a11, the package name of the application A, and the meta-capability name of the meta-capability A2 to the HAG server 20.
  • the BMS can obtain the ID of the device a 11 through the system attribute in the device a 11, and request the HAG server 20 to download the meta-capability A2 of the application A for the device a 11.
  • the BMS can carry the ID of the device a11, the package name of the application A and the metacapability name of the metacapability A2 in a message, and send it to the HAG server 20 from the communication channel between the device a11 and the HAG server 20.
  • the specific implementation of the message is not limited.
  • the message here may correspond to the second message in steps S1103 and S1204.
  • the ID of the device a 11 is used to uniquely indicate the device a 11, indicating that the device a 11 needs to obtain the CDN download address of the meta-capability A2 from the HAG server 20.
  • this application does not limit the specific implementation of the ID of the device a11. For example, the equipment type of equipment a 11 or the fixed asset number of equipment a 11.
  • the HAG server 20 obtains the matched CDN download address of the meta-capability A2 of the application A based on the package name of the application A and the meta-capability name of the meta-capability A2.
  • the HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the meta-capabilities corresponding to each hap package, and the HAG server 20 can obtain the application package name and meta-capability name of each hap package, the HAG server 20 based on the application The package name of A and the meta-capability name of meta-capability A2 can be matched to the CDN download address corresponding to the meta-capability A2 of application A.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability A2 corresponding to the CDN download address corresponding to the meta-capability A2 matched by the HAG server 20 is usually the latest version.
  • the HAG server 20 sends the package name of the application A, the meta-capability name of the meta-capability A2, and the CDN download address of the meta-capability A2 to the BMS.
  • the HAG server 20 can carry the package name of the application A, the meta-capability name of the meta-capability A2 and the CDN download address of the meta-capacity A2 from the communication channel between the device a 11 and the HAG server 20 in a message and send it to the device a 11
  • the BMS in the message is not limited in this application.
  • the message here may correspond to the third message in steps S1104 and S1205.
  • the CDN download address of the meta-capability A2 here may correspond to the download address of the first application module in step S1205.
  • the BMS downloads the meta-capability A2 of the application A from the CDN server 30 based on the package name of the application A, the meta-capability name of the meta-capability A2, and the CDN download address of the meta-capability A2.
  • the CDN server 30 here corresponds to the second server in step S1206.
  • the BMS installs the meta-capability A2 of the application A.
  • the BMS notifies the DMS that the meta-capability A2 of the application A has been installed.
  • the notification here may correspond to the fifth message in step S1207.
  • the DMS activates the meta-capability A2 of the application A (ie, explicit activation), which corresponds to the description in step S1208.
  • the device a11 can trigger the system service in the device a11 through the meta-capability A1 of the application A, and based on the package name of the application A and the meta-capability name of the meta-capability A2, start the system service in the device a11 Apply A's meta-ability A2.
  • Scenario 2 describes a specific implementation process in which an electronic device triggers a system service in the electronic device to activate a meta-capability not installed in another application through a meta-capability installed in an application. Wherein, this application does not limit whether another application is installed on the electronic device.
  • the meta-capability A1 of the application A has been installed on the device a 11, and the meta-capacity B1 of the application B can be activated by triggering the system service in the device a 11 through the meta-capacity A1, then based on the user's wishes, the meta-capacity A1 of the application A is A meta-capability B1 for launching application B may be requested from the DMS.
  • the DMS may request the BMS to query whether the meta-capability B1 of the application B is installed on the device a 11.
  • the BMS may notify the DMS that the meta-capability B1 is installed.
  • the DMS can then activate the meta-capability B1.
  • the application layer also includes application B.
  • the BMS may obtain the CDN download address of the meta-capability B1 from the HAG server 20. Based on the CDN download address of the meta-capability B1, the BMS can download the meta-capacity B1 from the CDN server 30, so that the BMS installs the meta-capacity B1 in the device a11, and the application layer also includes the application B. The BMS may notify the DMS that the meta-capability B1 is installed. The DMS can then activate the meta-capability B1.
  • FIG. 4A-FIG. 4C can explain the above process.
  • the device a 11 triggers the system service in the device a 11 through the installed meta-capability A1 in the application A to activate the meta-capability B1 that is not installed in the application B.
  • the device a 11 in the embodiment of FIGS. 4A-4C triggers the system service in the device a 11 through the installed meta-capability A1 in the application A to start the meta-capability that is not installed in the application B.
  • the realization process of capability B1 is described in detail.
  • device a 11 please refer to the description of the mobile phone in the embodiment of FIG. 4A-FIG. 4C, for application A, refer to the description of the Huawei Hilink service software module in the embodiment of FIG. 4A-FIG. 4C, and for application B, refer to FIG. 4A -
  • the meta-capability A1 can refer to the description of the meta-capacity A1 in the embodiment of FIG. 4A-FIG. 4C
  • the meta-capacity B1 can refer to the rice cooker in the embodiment of FIG. 4A-FIG. 4C A description of the meta-capability B1.
  • FIGS. 7A-7C are schematic flowcharts of a method for starting an application module according to an embodiment of the present application.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A sends the package name of the application B and the meta-capability name of the meta-capability B1 to the DMS in response to the user's operation 2 .
  • operation 2 may include, but is not limited to, operations of types such as clicking, double-clicking, long-pressing, and touching.
  • operation 2 may be an operation performed by the user in the embodiment of FIG. 4B to touch the mobile phone with the rice cooker.
  • operation 2 is associated with application B's meta-capability B1. That is, the meta-capability A1 can learn the meta-capability B1 of the application B that the device a 11 needs to start based on the operation 2. Since application A stores the package name of application B associated with operation 2 and the meta-capability name of meta-capability B1 of application B in advance, meta-capability A1 can learn the package name of application B and the meta-capability name of meta-capability B1 . Thus, the meta-capability A1 may request the DMS to start the meta-capability B1 of the application B.
  • the package name of application B can uniquely identify application B, and the package name of application B and the meta-capability name of meta-capability B1 can uniquely identify meta-capability B1 of application B.
  • the package name of the application B and the meta-capability name of the meta-capability B1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the package name of the application B here may correspond to the identifier of the first application in step S1201, and the meta-capability name of the meta-capability B1 may correspond to the module identifier of the first application module in step S1201.
  • the meta-capability A1 may carry the package name of the application B and the meta-capability name of the meta-capability B1 in a message and send it to the DMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the first message in steps S1101 and S1201.
  • the DMS sends the package name of the application B and the meta-capability name of the meta-capability B1 to the BMS.
  • the DMS may request the BMS to query whether the meta-capability B1 of the application B has been installed.
  • the DMS may carry the package name of the application B and the meta-capability name of the meta-capability B1 in a message and send it to the BMS, and the present application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1202.
  • the BMS determines whether the meta-capability B1 of the application B is installed in the device a11.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability, the BMS can query whether the configuration file of the meta-capability B1 of application B exists in the distributed application component database, Thereby, it is determined whether the meta-capability B1 of the application B is installed in the device a 11.
  • the BMS can determine that the meta-capability B1 of the application B is not installed in the device a11, so that the BMS can perform steps S204-S210;
  • the BMS can determine that the meta-capability B1 of the application B is installed in the device a11, so that the BMS can perform steps S209-S210.
  • the BMS sends the ID of the device a11, the package name of the application B, and the meta-capability name of the meta-capability B1 to the HAG server 20.
  • the BMS can obtain the ID of the device a 11 through the system attribute in the device a 11, and request the HAG server 20 to download the meta-capability B1 of the application B for the device a 11.
  • the BMS can carry the ID of the device a 11, the package name of the application B and the meta-capability name of the meta-capability B1 in a message, and send it to the HAG server 20 from the communication channel between the device a 11 and the HAG server 20.
  • the specific implementation of the message is not limited. The message here may correspond to the second message in steps S1103 and S1204. In addition, for the specific implementation content of the ID of the device a11, reference may be made to the description of step S104, which will not be repeated here.
  • the HAG server 20 obtains the matched CDN download address of the meta-capability B1 of the application B based on the package name of the application B and the meta-capability name of the meta-capability B1.
  • the HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the meta-capabilities corresponding to each hap package, and the HAG server 20 can obtain the application package name and meta-capability name of each hap package, the HAG server 20 based on the application The package name of B and the meta-capability name of meta-capability B1 can be matched to the CDN download address corresponding to meta-capability B1 of application B.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability B1 corresponding to the CDN download address corresponding to the meta-capability B1 matched by the HAG server 20 is usually the latest version.
  • the HAG server 20 sends the package name of the application B, the meta-capability name of the meta-capability B1, and the CDN download address of the meta-capability B1 to the BMS.
  • the HAG server 20 can carry the package name of the application B, the meta-capability name of the meta-capability B1 and the CDN download address of the meta-capacity B1 from the communication channel between the device a 11 and the HAG server 20 in a message and send it to the device a 11
  • the BMS in the message is not limited in this application.
  • the message here may correspond to the third message in steps S1104 and S1205.
  • the CDN download address of the meta-capability B1 here may correspond to the download address of the first application module in step S1205.
  • the BMS downloads the meta-capability B1 of the application B from the CDN server 30 based on the package name of the application B, the meta-capability name of the meta-capability B1 , and the CDN download address of the meta-capability B1 .
  • the CDN server 30 here corresponds to the second server in step S1206.
  • the BMS installs the meta-capability B1 of the application B.
  • the BMS notifies the DMS that the meta-capability B1 of the application B has been installed.
  • the notification here may correspond to the fifth message in step S1207.
  • the DMS starts the meta-capability B1 of the application B (ie, explicitly starts), which corresponds to the description content of step S1208.
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, based on the package name of application B and the meta-capability name of meta-capability B1, start the system service in device a 11 Apply B's meta-capability B1.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A sends the package name of the application B and the predefined ACTION1 of the meta-capability B1 to the DMS in response to the user's operation 2 .
  • operation 2 may include, but is not limited to, operations of types such as clicking, double-clicking, long-pressing, and touching.
  • operation 2 may be an operation performed by the user in the embodiment of FIG. 4B to touch the mobile phone with the rice cooker.
  • operation 2 is associated with application B's meta-capability B1. That is, the meta-capability A1 can learn the meta-capability B1 of the application B that the device a 11 needs to start based on the operation 2. Since application A pre-stores the package name of application B associated with operation 2 and the predefined ACTION1 of meta-capability B1 of application B, meta-capability A1 can learn the package name of application B and the predefined ACTION1 of meta-capability B1. Thus, the meta-capability A1 may request the DMS to start the meta-capability B1 of the application B.
  • the package name of the application B can uniquely identify the application B, and the package name of the application B and the predefined ACTION1 of the meta-capability B1 can uniquely identify the meta-capability B1 of the application B.
  • the package name of the application B and the predefined ACTION1 of the meta-capability B1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the package name of the application B here may correspond to the identifier of the first application in step S1301, and the predefined ACTION1 of the meta-capability B1 may correspond to the identifier of the type of the first application module in step S1301.
  • the meta-capability A1 may carry the package name of the application B and the predefined ACTION1 of the meta-capability B1 in a message and send it to the DMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the first message in steps S1101 and S1301.
  • the DMS sends the package name of the application B and the predefined ACTION1 of the meta-capability B1 to the BMS.
  • the DMS may request the BMS to query whether the meta-capability B1 of the application B has been installed.
  • the DMS may carry the package name of the application B and the predefined ACTION1 of the meta-capability B1 in a message and send it to the BMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1302.
  • the BMS judges whether the meta-capability B1 of the application B is installed in the device a11 based on the package name of the application B and the predefined ACTION1 of the meta-capability B1.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability, the BMS can query whether the configuration file of the meta-capability B1 of application B exists in the distributed application component database, Thereby, it is determined whether the meta-capability B1 of the application B is installed in the device a 11.
  • the BMS can determine that the meta-capability B1 of the application B is not installed in the device a 11, so that the BMS can perform steps S304-S310;
  • the BMS can determine that the meta-capability B1 of the application B is installed in the device a11, so that the BMS can perform steps S309-S310.
  • the BMS sends the ID of the device a11, the package name of the application B, and the predefined ACTION1 of the meta-capability B1 to the HAG server 20.
  • the BMS can obtain the ID of the device a 11 through the system attribute in the device a 11, and request the HAG server 20 to download the meta-capability B1 of the application B for the device a 11.
  • the BMS can carry the ID of the device a 11, the package name of the application B and the predefined ACTION1 of the meta-capability B1 in a message, and send it to the HAG server 20 from the communication channel between the device a 11 and the HAG server 20.
  • the specific implementation of the message is not limited. The message here may correspond to the second message in steps S1103 and S1304. In addition, for the specific implementation content of the ID of the device a11, reference may be made to the description of step S104, which will not be repeated here.
  • the HAG server 20 obtains the matched CDN download address of the meta-capability B1 of the application B based on the package name of the application B and the predefined ACTION1 of the meta-capability B1.
  • the HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the meta-capabilities corresponding to each hap package, and the HAG server 20 can obtain the application package name, meta-capability name and predefined ACTION of each hap package, the HAG Based on the package name of the application B and the predefined ACTION1 of the meta-capability B1, the server 20 can match the CDN download address corresponding to the meta-capability B1 of the application B.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability B1 corresponding to the CDN download address corresponding to the meta-capability B1 matched by the HAG server 20 is usually the latest version.
  • the HAG server 20 sends the package name of the application B, the predefined ACTION1 of the meta-capability B1 (this parameter can replace the meta-capability name of the meta-capability B1) and the CDN download address of the meta-capability B1 to the BMS.
  • the HAG server 20 can carry the package name of the application B, the predefined ACTION1 of the meta-capability B1 and the CDN download address of the meta-capability B1 from the communication channel between the device a 11 and the HAG server 20 in a message and send it to the device a 11
  • the BMS in the message is not limited in this application.
  • the message here may correspond to the third message in steps S1104 and S1305.
  • the CDN download address of the meta-capability B1 here may correspond to the download address of the first application module in step S1305.
  • the BMS downloads the meta-capability B1 of the application B from the CDN server 30 based on the package name of the application B, the predefined ACTION1 of the meta-capability B1 , and the CDN download address of the meta-capability B1 .
  • the CDN server 30 here corresponds to the second server in step S1306.
  • the BMS installs the meta-capability B1 of the application B.
  • the BMS notifies the DMS that the meta-capability B1 of the application B has been installed.
  • the notification here may correspond to the fifth message in step S1307.
  • the DMS starts the meta-capability B1 of the application B (ie, the semi-implicit startup), which corresponds to the description content of step S1308.
  • the device a 11 can trigger the system service in the device a 11 through the meta-capability A1 of the application A, and start the system service in the device a 11 based on the package name of the application B and the predefined ACTION1 of the meta-capability B1
  • the meta-capability B1 of B it is fully considered that the third-party application vendors usually do not provide the meta-capability name of the meta-capability B1 to other vendors, that is, there is no need to rely on the meta-capability name of the meta-capability B1.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A sends a predefined ACTION1 to the DMS in response to the user's operation 2 .
  • operation 2 may include, but is not limited to, operations of types such as clicking, double-clicking, long-pressing, and touching.
  • operation 2 may be an operation performed by the user in the embodiment of FIG. 4B to touch the mobile phone with the rice cooker.
  • operation 2 is associated with the meta-capability corresponding to the predefined ACTION1. That is to say, based on operation 2, the meta-capability A1 can learn that the device a 11 needs to activate the meta-capability corresponding to the predefined ACTION1. Since the application A stores the predefined ACTION1 of the meta-capability associated with operation 2 in advance, the meta-capability A1 can learn the meta-capability corresponding to the predefined ACTION1. Therefore, the meta-capability A1 may request the DMS to activate the meta-capability corresponding to the predefined ACTION1.
  • the predefined ACTION1 can identify the meta-capability with the same function.
  • the predefined ACTION1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the predefined ACTION1 here may correspond to the identifier of the type to which the first application module belongs in step S1401.
  • the meta-capability A1 may carry the predefined ACTION1 in a message and send it to the DMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the first message in steps S1101 and S1401.
  • the DMS sends the predefined ACTION1 to the BMS. Therefore, the DMS may request the BMS to query whether the meta-capability corresponding to the predefined ACTION1 has been installed.
  • the DMS may carry the predefined ACTION1 in a message and send it to the BMS, and the present application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1402.
  • the BMS determines whether the meta-capability corresponding to the predefined ACTION1 is installed in the device a11.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability, the BMS can query the distributed application component database whether there is a pre-defined meta-capability configuration file corresponding to ACTION1 , so as to determine whether the meta-capability corresponding to the predefined ACTION1 is installed in the device a11.
  • the BMS can determine that the meta-capability corresponding to the predefined ACTION1 is not installed in the device a11, so that the BMS can perform steps S404-S414;
  • the BMS can determine that the meta-capability corresponding to the predefined ACTION1 is installed in the device a11, so that the BMS can perform steps S413-S414.
  • the BMS sends the ID of the device a11 and the predefined ACTION1 to the HAG server 20.
  • the BMS can obtain the ID of the device a 11 through the system attribute in the device a 11, and request the HAG server 20 to download the meta-capability corresponding to the predefined ACTION1 for the device a 11.
  • the BMS can carry the ID of the device a 11 and the predefined ACTION1 in a message, and send it to the HAG server 20 from the communication channel between the device a 11 and the HAG server 20, the specific implementation of the message is not limited in this application .
  • the message here may correspond to the second message in steps S1103 and S1404.
  • step S104 for the specific implementation content of the ID of the device a11, reference may be made to the description of step S104, which will not be repeated here.
  • the HAG server 20 obtains the matched meta-capability set 1 based on the predefined ACTION1, and each subset in the meta-capability set 1 carries the application name of an application and the meta-capability name of the meta-capability of the application (this parameter can be replaced The predefined ACTION for the meta-capability of the application and the CDN download address of the meta-capability.
  • the HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the meta-capabilities corresponding to each hap package, and the HAG server 20 can obtain the application package name, meta-capability name and predefined ACTION of each hap package, the HAG The server 20 can match the same meta-capability as the function identified by the predefined ACTION1, so that the HAG server 20 can match the meta-capability name of the application corresponding to the matched meta-capability, the meta-capability name of the matched meta-capability, and the corresponding meta-capability CDN download address to obtain meta-capability set 1.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability B1 corresponding to the CDN download address corresponding to the meta-capability B1 matched by the HAG server 20 is usually the latest version.
  • One or more subsets may be included in the meta-capability set 1.
  • the HAG server 20 sends the meta-capability set 1 to the BMS.
  • the HAG server 20 from the communication channel between the device a 11 and the HAG server 20 can carry the meta-capability set 1 in a message and send it to the BMS in the device a 11.
  • the message here may correspond to the third message in steps S1104 and S1405.
  • the meta-capability set 1 here may correspond to the first set in step S1405.
  • the BMS sends the meta-capability set 1 to the DMS.
  • the BMS may carry the meta-capability set 1 in a message and send it to the DMS, and the present application does not limit the specific implementation of the message.
  • the message here may correspond to the sixth message in step S1501.
  • the meta-capability set 1 here may correspond to the first set in step S1501.
  • the DMS determines whether the number of matched meta-capabilities is greater than 1 based on the meta-capability set 1.
  • the DMS can determine whether the number of subsets of meta-capability set 1 is greater than 1 to determine whether the number of matched meta-capabilities is greater than 1 .
  • the DMS may determine that the number of matched meta-capabilities is greater than 1, so that the DMS may perform steps S409-S411, so as to determine the meta-capability of the selected application based on the user's wishes and improve the User engagement and experience.
  • the DMS may determine that the number of matched meta-capabilities is equal to 1, so the DMS may perform steps S410-S411, so as to use the matched meta-capability as the meta-capability of the selected application , which is beneficial to improve the processing speed of DMS.
  • the DMS displays the window 1, and in response to the user's operation on the window 1, determines the meta-capability of the selected application.
  • the present application does not limit the size, position, color and other layout parameters of the window 1 .
  • the operation here corresponds to the third operation in step S15022
  • the window 1 corresponds to the first window in step S15022
  • the meta-capability of the selected application corresponds to a software module selected in step S15022.
  • the DMS may also select one meta-capability from the matched meta-capabilities as the meta-capability of the selected application, and does not display Window 1, which corresponds to the description content of step S15021.
  • the DMS may select based on the matched meta-capability preset priority or the meta-capability storage space, etc., which is not limited in this application.
  • S410 The DMS sends the package name of the selected application and the meta-capability name of the meta-capability of the selected application to the BMS.
  • the DMS may carry the package name of the selected application and the meta-capability name of the selected application's meta-capability in a message and send it to the BMS, and the present application does not limit the specific implementation of the message.
  • the message here may correspond to the seventh message in step S1503.
  • the message in addition to the package name of the selected application and the meta-capability name of the meta-capability of the selected application, the message also includes the CDN download address carrying the meta-capability.
  • the meta-capability of the selected application includes the meta-capability B1 of the application B, and the selected device may include device a 11.
  • the meta-capability of the selected application mentioned here is the meta-capability B1 of the application B.
  • steps S407-S410 are optional steps. That is, when the number of matched meta-capabilities is equal to 1, the BMS may use the matched meta-capability as the meta-capability of the selected application. When the number of matched meta-capabilities is greater than 1, the BMS may select one meta-capability from the matched meta-capabilities as the meta-capability of the selected application. The BMS may be selected based on a preset priority of the matched meta-capability or storage space of the meta-capability, which is not limited in this application.
  • the BMS downloads the meta-capability of the selected application from the CDN server 30 based on the CDN download address of the meta-capability of the selected application.
  • the CDN server 30 here corresponds to the second server in step S1406.
  • the BMS installs the meta-capability of the selected application.
  • Steps S411 and S412 here correspond to step S1406.
  • the BMS notifies the DMS that the meta-capability corresponding to the predefined ACTION1 has been installed.
  • the notification here may correspond to the fifth message in step S1407.
  • the DMS activates the meta-capability corresponding to the predefined ACTION1 (ie, implicit activation), which corresponds to the description content of step S1408 .
  • the device a 11 can trigger the system service in the device a 11 through the meta-capability A1 of the application A, and start the meta-capability B1 of the application B in the device a 11 based on the predefined ACTION1, fully considering Third-party application vendors usually do not provide the meta-capability name of meta-capability B1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability B1.
  • an electronic device can query the meta-capability from the HAG server through the package name of the application and the meta-capability name of the meta-capability of the application, or the package name of the application and the predefined ACTION of the meta-capability of the application, or the predefined ACTION and download the meta-capability from the CDN server based on the CDN download address of the meta-capability, so that the meta-capacity that is not installed is automatically installed, and the user is unaware of the download process of the meta-capacity, and the meta-capacity does not need to be downloaded for the first time in the application. It is downloaded during installation and can be downloaded on demand based on user needs.
  • the application calls the system query interface to query whether the dynamic feature module is installed
  • the application invokes the system startup interface to start the dynamic characteristic module.
  • the application calls the download and installation interface of the Google Play Core integrated in the application based on the module name of the dynamic feature module to realize the dynamic feature module. Download and install. The application invokes the system startup interface to start the dynamic feature module.
  • the application needs to have at least two interfaces with the system service, so that the application can start the dynamic characteristic module.
  • the application needs to have at least three interfaces with system services, and the application needs to pre-integrate Google Play Core, so that the application can start the dynamic feature module.
  • the application calls an interface of the system service, and sends the package name of the application where the meta-capacity is located and the meta-capability name of the meta-capability, or the package name of the application where the meta-capacity is located and the meta-capability name.
  • the application needs to have an interface with the system service, so that the application can activate the meta-capability.
  • the electronic devices in the same distributed network include: mobile phones, tablet computers, TVs and watches, the mobile phone is installed with the meta-capability A1 of application A, and application A is a negative one-screen application , the meta-capability A1 of application A is the software code, the meta-capacity A1 is used to provide the page of the negative one-screen application and trigger the meta-capacity C1 of the application C to start, and the mobile phone, tablet computer, TV and watch all have the meta-capacity to install the application C Capability of C1, application C is XX map application, meta-capability C1 of application C is software code, and meta-capability C1 is used to provide the main page of XX map application as an example for illustration.
  • the embodiment of the present application does not limit whether the meta-capability C
  • FIGS. 8A-8I are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • the mobile phone can display the user interface 31 as exemplarily shown in FIG. 8A , and the user interface 31 is used to display the page of the negative one-screen application (ie, start the meta-capability A1 ).
  • the user interface 31 includes: a search box 801, which is used to search for resource content such as applications, meta-capabilities, files, videos, photos, etc. in the mobile phone.
  • the mobile phone After the mobile phone detects the operation instructed by the user to search for the XX map application (such as inputting the text “XX map” in the search box 801 in the user interface 31 shown in FIG. 8A ), the mobile phone can display the user interface 32 exemplarily shown in FIG. 8B . , the user interface 32 is used to display the search page of the XX map application.
  • the user interface 32 includes: a search box 802 and a window 803 .
  • the search box 802 is used to display the search content as the text "XX map”.
  • the window 803 is used to display the search result of the text "XX map", and the search result can indicate that the mobile phone, tablet computer, TV and watch in the same distributed network are installed with the main page of the XX map application (that is, the meta page of application C). Capability C1). It should be noted that the search result can also indicate that the mobile phone, tablet computer, TV and watch in the same distributed network have the ability to provide the main page of the XX map application (ie, the meta-capability C1 of application C).
  • the window 803 may not display the text of the electronic device. and icon, or the window 803 can be grayed out to display the text and icon of the electronic device, so that the user knows that the electronic device cannot start the main page of the XX map application (ie, the meta-capability C1 of application C).
  • the mobile phone after detecting an operation instructed by the user to click on the tablet computer on the window 803, the mobile phone can display the window 804 exemplarily shown in FIG. 8C on the user interface 31, and the window 804 is used to indicate that the user instructs to open XX map app in tablet.
  • the tablet computer can download and install the XX map application, so that the tablet computer starts the XX map application.
  • the tablet starts the XX map application.
  • the tablet computer can display the user interface 33 exemplarily shown in FIG. 8D on the user interface 31, the user interface 33 is used to display the main page of the XX map application (ie, the meta-capability C1 is activated).
  • the user interface 33 may include a search box 805 for searching for a location such as a hotel, a residence, a school, a hospital, or the like.
  • the tablet computer After the tablet computer detects the operation of the search location "XX center” indicated by the user (such as inputting the text "XX center” in the search box 805 in the user interface 33 shown in FIG. 8D ), the tablet computer can display the example shown in FIG. 8E.
  • User interface 34 the user interface 34 is used to display the search page of the XX center.
  • the mobile phone after detecting an operation instructed by the user such as clicking the mobile phone on the window 803, the mobile phone can display the window 806 exemplarily shown in FIG. Open the XX Maps app in your phone.
  • the mobile phone can download and install the XX map application (the icon of the XX map application in the user interface 11 shown in FIG. 3A or the icon in the user interface 21 shown in FIG. 4B ).
  • XX map application icon the icon of the XX map application in the user interface 11 shown in FIG. 3A or the icon in the user interface 21 shown in FIG. 4B .
  • the mobile phone can display the user interface 35 exemplarily shown in FIG. 8G , the user interface 35 is used to display the main page of the XX map application (ie, the meta-capability C1 is activated).
  • the user interface 35 may include a search box 807 for searching for a location such as a hotel, a residence, a school, a hospital, or the like.
  • the mobile phone After detecting the operation of searching for the location "XX center” indicated by the user (such as entering the text "XX center” in the search box 807 in the user interface 35 shown in FIG. 8G ), the mobile phone can display the user shown in the example shown in FIG. 8H .
  • Interface 36 the user interface 36 is used to display the search page of the XX center.
  • the user can also select multiple electronic devices in the window 803 shown in FIG. 8B , so that multiple electronic devices can open the XX map
  • the main page of the application can effectively meet the actual needs of users.
  • the mobile phone can display the window 808 exemplarily shown in FIG. 8I on the user interface 31.
  • XX map app in tablet can display the window 808 exemplarily shown in FIG. 8I on the user interface 31.
  • the user can also switch the electronic device in the window 804 shown in FIG. 8C or the window 806 shown in FIG. 8F , so that the electronic device after the switching can open the main page of the XX map application (that is, start the meta-capability C1), which is beneficial to Improve user experience.
  • the mobile phone can trigger the system service in the mobile phone through another meta-capability, and can control the mobile phone, tablet computer At least one electronic device in the TV and the watch activates the same meta-capability, which is beneficial to meet the actual needs of the user and improve the user's use experience.
  • the mobile phone when at least one electronic device in the mobile phone, tablet computer, TV and watch has installed the same meta-capability, the mobile phone can control the at least one electronic device to directly activate the same meta-capability.
  • the mobile phone can control the at least one electronic device to download and install the same meta-capability first, and then activate the same meta-capability.
  • an electronic device triggers a meta-capability in the electronic device through another meta-capability in the electronic device
  • the system service can flexibly select one or more electronic devices from various electronic devices in the same distributed network based on the user's wishes or actual conditions, and control the selected electronic devices to activate the same meta-capability, so that users can use a
  • the electronic device controls other electronic devices to complete the function realization corresponding to the same meta-capability, which is beneficial to meet the actual needs of the user and improves the user's sense of use.
  • this application does not limit whether each electronic device in the same distributed network is installed with another meta-capability.
  • FIG. 9 is a schematic diagram of various stages of an application provided by an embodiment of the present application.
  • the life cycle process of an application can include four stages - development and debugging stage, release stage, cloud deployment and distribution stage, and terminal-side download and installation stage.
  • each stage may refer to the description of the embodiment in FIG. 5
  • the application C may refer to the description of the application B in the embodiment of FIG. 5 , which will not be repeated here.
  • the device b 12 is also included in FIG. 9 .
  • the layered architecture of the device b 12 reference may be made to the description of the layered architecture of the device a 11 in the embodiment of FIG. 5 .
  • each electronic device in the same distributed network includes a device a 11 and a device b 12, and the distributed application component database in the device b 12 may store a configuration file of the installed meta-capability of the device b 12.
  • the meta-capability A1 of the application A in the device a11 can request the DMS in the device a11 to start the meta-capability C1 of the application C.
  • the DMS in the device a 11 may request the BMS in the device a 11 to query whether the meta-capability C1 of the application C is installed in the device a 11 and the device b 12.
  • the BMS in the device a 11 can determine whether the device a 11 and the device b 12 are installed with the meta-capability C1 of the application C.
  • the BMS in the device a 11 can notify the DMS in the device a 11 that the meta-capability C1 of the application C has been installed. equipment.
  • the DMS in the device a 11 can activate the meta-capability C1 in the device a 11.
  • the DMS in the device a 11 can also display a window, the window is used to show the user Request whether to enable meta-capability C1 in device a 11, such as displaying the identity of device a 11.
  • the DMS in the device a11 determines to activate the meta-capability C1 in the device a11 through the user's operation on the window, the DMS in the device a11 can activate the meta-capability C1 in the device a11.
  • the user's sense of participation is enhanced through the interaction with the user.
  • the device a 11 triggers the system service in the device a 11 through the meta-capability A1 of the application A to activate the meta-capability C1 of the application C.
  • the DMS in the device a 11 displays a window, which is used to notify the user and request whether to activate the meta-capacity C1 in the device b 12, For example, the identification of the device b 12 is displayed.
  • the DMS in the device a 11 determines to activate the meta-capability C1 in the device b 12 through the user's operation on the window, the DMS in the device a 11 can notify the DMS in the device b 12 of the meta-capability C1 that activates the application C Capability C1.
  • the DMS in the device b 12 may request the BMS in the device b 12 to query whether the meta-capability C1 of the application C is installed in the device b 12.
  • the BMS in the device b 12 may notify the DMS in the device b 12 that the meta-capability C1 is installed in the device b 12.
  • the DMS in the device b 12 can activate the meta-capability C1 in the device b 12.
  • the application layer in device b 12 also includes application C.
  • the BMS in the device b 12 may notify the DMS in the device b 12 that the meta-capability C1 is not installed in the device b 12.
  • the DMS in device b 12 informs the DMS in device a 11 that meta-capability C1 is not installed in device b 12.
  • the DMS in the device b 12 may block the user's operation, or may display a window informing the user that the meta-capability C1 of the application C cannot be started. It should be noted that the foregoing contents are optional operations.
  • the device a 11 can trigger the system service in the device a 11 to start the meta-capability C1 of the application C in the device b 12 through the meta-capability A1 of the application A.
  • the DMS in device a11 can select one or more devices from device a 11 and device b 12 according to a preset policy, Alternatively, the DMS in the device a 11 may display a window to notify the user, such as displaying the identification of the device a 11 and the identification of the device b 12, so that the DMS in the device a 11 determines the user's slave device from the device through the user's operation on the window.
  • the DMS in device a 11 has confirmed that device a 11 is installed with the meta-capability C1 of application C, so the DMS in device a 11 can activate the meta-capability C1 of application C.
  • the device a 11 triggers the system service in the device a 11 through the meta-capability A1 of the application A to activate the meta-capability C1 of the application C.
  • the DMS in device a 11 notifies the DMS in device b 12 of the meta-capability C1 of starting application C.
  • the DMS in the device b 12 can request the BMS in the device b 12 to query whether the meta-capability C1 of the application C is installed in the device b 12.
  • the device that has installed the meta-capacity C1 of the application C is the device b 12. ” will not be repeated here.
  • the device a 11 can trigger the system service in the device a 11 to start the meta-capability C1 of the application C in the device b 12 through the meta-capability A1 of the application A.
  • the specific implementation process of the DMS in device a 11 can refer to the description that the selected device includes device a 11 and device b 12 respectively, which will not be repeated here.
  • the device a 11 triggers the system service in the device a 11 through the meta-capability A1 of the application A to activate the meta-capability C1 of the application C in the device a 11 and the device b 12.
  • the BMS in the device a 11 can obtain the CDN download address of the meta-capacity C1 of the application C from the HAG server 20 and the applicable meta-capability C1.
  • the number of CDN download addresses of meta-capability C1 mentioned here may be one or more, and the CDN download address of meta-capability C1 may be applicable to device a 11 and/or device b 12, or may not be applicable to device a 11 and/or device b 12. device a 11 and device b 12.
  • the present application does not limit the specific representation of the CDN download address of the meta-capability C1.
  • the number of CDN download addresses of meta-capability C1 may be one or more, and multiple CDN download addresses may correspond to meta-capacity C1 of different versions or meta-capacity C1 of different devices, and the application for CDN download of meta-capacity C1
  • the specific representation of the address is not limited.
  • the BMS in the device a 11 may send the CDN download address and the device type of the CDN download address applicable to the meta-capability C1 to the DMS in the device a 11.
  • the DMS in the device a 11 determines whether the device type of the CDN download address applicable to the meta-capability C1 includes the device type of the device a 11 and the device type of the device b 12.
  • the DMS in the device a 11 requests the BMS in the device a 11 to download the meta-capability C1 of the application C.
  • the BMS in the device a11 downloads the metacapability C1 from the CDN server 30 based on the CDN download address of the metacapability C1, and installs the metacapability C1 in the device a11.
  • the BMS in device a 11 notifies the DMS in device a 11 that meta-capability C1 is installed (so that the application layer in device a 11 also includes application C).
  • the DMS in device a 11 can activate meta-capability C1.
  • the device a 11 triggers the system service in the device a 11 through the meta-capability A1 of the application A to activate the meta-capability C1 of the application C in the device a 11.
  • the DMS in device a 11 requests the DMS in device b 12 to start the meta-capability C1 of application C, and the request may include the meta-capability C1 applicable to the application C.
  • the DMS in device b 12 may request the BMS in device b 12 to download the meta-capability C1 of application C.
  • the BMS in the device b 12 can download the meta-capability C1 from the CDN server 30, and install the meta-capacity C1 in the device b 12 (making the application in the device b 12 possible).
  • the program layer also includes the application C).
  • the BMS in device b 12 may notify the DMS in device b 12 that meta-capability C1 is installed.
  • the DMS in device b 12 can then activate meta-capability C1.
  • the device a 11 triggers the system service in the device a 11 through the meta-capability A1 of the application A to activate the meta-capability C1 of the application C in the device b 12.
  • the DMS in the device a 11 can also display a window, so that the DMS in the device a 11 determines one or more devices selected by the user from the device a 11 and the device b 12 through the user's operation on the window.
  • the specific execution process of the device a 11 can perform corresponding operations based on the descriptions in the aforementioned "1.3", which will not be repeated here.
  • the device a 11 triggers the system service in the device a 11 through the meta-capability A1 of the application A to activate the meta-capability C1 of the application C in the device a 11 and the device b 12.
  • FIG. 8A-FIG. 8I can explain the above process.
  • the BMS in the device a 11 can also determine whether the device a 11 and the device b 12 of the same distributed network have the ability to install the meta-capability C1 of the application C.
  • the BMS in the device a 11 then notifies the DMS in the device a 11 of the determination result.
  • the DMS in device a 11 selects one or more devices from device a 11 and device b 12 based on a preset policy, or the DMS in device a 11 may display a window to notify the user so that the DMS in device a 11 can pass the user Operations on this window to determine one or more devices selected by the user from device a 11 and device b 12.
  • the DMS in the device a 11 requests the BMS in the device a 11 to query whether the selected device is installed with the meta-capability C1 of the application C.
  • the BMS in the device a 11 determines whether the selected device is installed with the meta-capability C1 of the application C.
  • the DMS in the device a 11 implements the process in which the selected device starts the meta-capability C1 of the application C based on the selected device.
  • the device a 11 triggers the device a 11 by applying the meta-capability A1 of A
  • the implementation process of the meta-capability C1 of the application C in the system service startup device b12 is described in detail.
  • the device a 11 please refer to the description of the mobile phone in the embodiment of FIG. 8A-FIG. 8I
  • the device b 12 may refer to the description of the tablet computer in the embodiment of FIG. 8A-FIG. 8I
  • the application A may refer to the embodiment of FIG. 8A-FIG.
  • FIGS. 10A-10C are schematic flowcharts of a method for starting an application module according to an embodiment of the present application.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A in the device a11 sends the package name of the application C and the meta-capability name of the meta-capability C1 to the DMS in the device a11 in response to the user's operation 3.
  • the operation 3 may include, but is not limited to, operations such as clicking, double-clicking, long-pressing, and touching.
  • operation 3 may be an operation instructed by the user in the embodiment of FIG. 8A to search for the XX map application (eg, entering the text "XX map" in the search box 801 in the user interface 31 shown in FIG. 8A ).
  • Operation 3 here corresponds to the fourth operation in steps S1601 and S1801.
  • operation 3 is associated with application C's meta-capability C1. That is to say, the meta-capability A1 can learn the meta-capability C1 that needs to start the application C based on the operation 3 . Since application A stores the package name of application C associated with operation 3 and the meta-capability name of meta-capability C1 of application C in advance, meta-capability A1 can learn the package name of application C and the meta-capability name of meta-capability C1 . Thus, the meta-capability A1 may request the DMS in the device a 11 to start the meta-capability C1 of the application C.
  • the package name of the application C can uniquely identify the application C
  • the package name of the application C and the meta-capability name of the meta-capability C1 can uniquely identify the meta-capability C1.
  • the package name of the application C and the meta-capability name of the meta-capability C1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the meta-capability A1 may carry the package name of the application C and the meta-capability name of the meta-capability C1 in a message and send it to the DMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the ninth message in steps S1601 and S1801.
  • Application A here corresponds to the fourth application in steps S1601 and S1801
  • meta-capability A1 corresponds to the fourth application module in steps S1601 and S180
  • application C corresponds to the fifth application in steps S1601 and S1801
  • the meta-capability C1 corresponds to the fifth application module in steps S1601 and S1801
  • the package name of the application C corresponds to the identifier of the fifth application in step S1801
  • the meta-capability name of the meta-capacity C1 corresponds to the fifth application module in step S1801 the module ID.
  • the DMS in the device a11 sends the package name of the application C and the meta-capability name of the meta-capability C1 to the BMS in the device a11.
  • the DMS in the device a 11 may request the BMS in the device a 11 to query whether the meta-capability C1 of the application C is installed.
  • the DMS in the device a 11 can carry the package name of the application C and the meta-capability name of the meta-capability C1 in a message and send it to the BMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the thirteenth message in step S1802.
  • the BMS in the device a 11 determines whether each electronic device in the device a 11 and the device b 12 of the same distributed network (such as networking) is installed with the package name of the application C and the meta-capability name of the meta-capability C1. Apply C's meta-capability C1.
  • the BMS in device a 11 belongs to the same distributed network. It can be queried whether the meta-capability C1 of the application C in the device a 11 exists in the distributed application component database in the device a 11 and whether the meta-capability of the application C in the device b 12 exists in the distributed application component database in the device b 12. C1, thereby determining whether the meta-capability C1 of the application C is installed in the device a 11 and the device b 12.
  • the BMS in device a 11 determines that neither device a 11 nor device b 12 has the meta-capability C1 of application C installed, the BMS in device a 11 performs steps S504-S507; if the BMS in device a 11 determines that device a 11 and at least one of the devices in the device b 12 installs the meta-capability C1 of the application C, then the BMS in the device a 11 executes step S508.
  • the device a 11 When the meta-capability C1 of the application C does not exist in the distributed application component database in the device a 11 and the meta-capability C1 of the application C in the device b 12 does not exist in the distributed application component database in the device b 12, the device a 11 The BMS in the device can determine that the meta-capability C1 of the application C is not installed in the device a 11 and the device b 12, so the BMS in the device a 11 can perform steps S504-S507.
  • the meta-capability C1 of the application C in the device a 11 exists in the distributed application component database in the device a 11, or the meta-capability C1 of the application C in the device b 12 exists in the distributed application component database in the device b 12, Or when the meta-capability C1 of the application C in the device a 11 exists in the distributed application component database in the device a 11 and the meta-capability C1 of the application C in the device b 12 exists in the distributed application component database in the device b 12,
  • the BMS in the device a 11 may determine that the meta-capability C1 of the application C is installed in at least one electronic device of the device a 11 and the device b 12, so that the BMS in the device a 11 may perform step S508.
  • the BMS in the device a11 sends the package name of the application C and the meta-capability name of the meta-capability C1 to the HAG server 20.
  • the BMS in the device a 11 may request the HAG server 20 to download the meta-capability C1 of the application C.
  • the BMS in the device a 11 can carry the package name of the application C and the meta-capability name of the meta-capability C1 in a message, and send it to the HAG server 20 from the channel between the device a 11 and the HAG server 20.
  • the specific implementation is not limited.
  • the message here corresponds to the tenth message in steps S1603 and S1804.
  • the HAG server 20 here corresponds to the first server in steps S1603 and S1804.
  • the HAG server 20 Based on the package name of application C and the meta-capability name of meta-capability C1, the HAG server 20 obtains the matched CDN download address of meta-capability C1 of application C and the device type suitable for the CDN download address of meta-capability C1.
  • the HAG server 20 can obtain the application package name, meta-capability name and CDN download of the meta-capability C1 of each hap package. Therefore, based on the package name of application C and the meta-capability name of meta-capability C1, the HAG server 20 can match the CDN download address of meta-capability C1 of application C and the device type suitable for the CDN download address of meta-capability C1.
  • the CDN download address may be represented by means such as a link or an address string.
  • the number of CDN download addresses of the meta-capability C1 of application C may be one or more.
  • the device type of each CDN download address applicable to the meta-capability C1 may be represented by at least one way such as letters, characters, numbers, etc., for example, the serial number or model of the device or the networking number.
  • the device type applicable to the CDN download address of the meta-capability C1 may include device a 11 and/or device b 12, or may not include device a 11 and device b 12.
  • the meta-capability C1 corresponding to the CDN download address corresponding to the meta-capability C1 by the HAG server 20 is usually the latest version.
  • the HAG server 20 sends the package name of the application C, the meta-capability name of the meta-capability C1 (this parameter can be replaced with the predefined ACTION of the meta-capability of the application), and the CDN download address of the meta-capacity C1 to the BMS in the device a11 and the device type for the CDN download address of meta-capability C1.
  • the HAG server 20 can transfer the package name of the application C, the meta-capability name of the meta-capability C1, the CDN download address of the meta-capacity C1 and the CDN download address applicable to the meta-capacity C1 from the channel between the device a 11 and the HAG server 20.
  • the device type is carried in a message and sent to the BMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the eleventh message in step S1604, step S1701, and step S1805.
  • the BMS in the device a11 sends the package name of the application C, the metacapability name of the metacapability C1, the CDN download address of the metacapability C1 and the device that is applicable to the CDN download address of the metacapability C1 to the DMS in the device a11 Types of.
  • the BMS in the device a 11 can carry the package name of the application C, the meta-capability name of the meta-capability C1, the CDN download address of the meta-capability C1, and the device type of the CDN download address applicable to the meta-capacity C1 in a message and send it in a message.
  • this application does not limit the specific implementation of the message.
  • the message here corresponds to the fourteenth message in step S1806.
  • step S509 is executed.
  • the BMS in the device a11 notifies the DMS in the device a11 that the meta-capability C1 of the application C has been installed and the device type on which the meta-capability C1 is installed.
  • the notification here corresponds to the fourteenth message in step S1806.
  • the BMS in device a 11 notifies the DMS in device a 11 that device a 11 has installed the meta-capability C1 of application C, and the device type of device a 11.
  • the BMS in the device a 11 notifies the DMS in the device a 11 that the device b 12 has installed the meta-capability C1 of the application C, and the device type of the device b 12.
  • the BMS in device a 11 notifies the DMS in device a 11 that both device a 11 and device b 12 have installed the meta-capability C1 of application C, as well as the device type of device a 11 and the device type of device b 12.
  • the type of the device on which the meta-capability C1 is installed may be represented by at least one way such as letters, characters, numbers, etc., for example, the serial number or model of the device.
  • step S509 is executed.
  • the DMS in the device a11 determines, based on the device type sent in step S507 or step S508, the device that supports the startup meta-capability C1 in the same distributed network.
  • the DMS in the device a11 can determine the device that appears both in the device type applicable to the CDN download address of the meta-capability C1 and in the device type currently in the same distributed network as the device a11 For supporting devices that enable meta-capability C1 in the same distributed network.
  • the DMS in the device a11 can determine the device that appears in both the device type of the installed meta-capability C1 and the device type that is currently in the same distributed network as the device a11 as being in the same distributed network.
  • the type of device that is currently in the same distributed network as the device a 11 can be understood as communication between different electronic devices through Bluetooth, Wi-Fi, zigbee, account sharing and other communication methods.
  • device a 11 and device b 12 are distributed in the same Wi-Fi network environment.
  • the DMS in the device a11 displays the tag name of the device that supports the activation of the meta-capability C1 in the same distributed network in the window 2, and determines the selected device in response to the user's operation on the window 2.
  • the present application does not limit the layout parameters such as the size, position, and color of the window 2 .
  • Window 2 here corresponds to the second window in step S17033.
  • the DMS in the device a11 can also select a device as the selected device from the devices that support the startup meta-capability C1 in the same distributed networking, and does not display the window 2.
  • the DMS in the device a 11 can be selected based on parameters such as the priority set in advance by the device supporting the activation meta-capability C1 in the same distributed network, the storage space of the device, or the communication rate of the device, which is not limited in this application.
  • the present application can perform steps S511-S517.
  • the present application can perform steps S518-S523.
  • the present application may perform steps S511-S517 and steps S518-S523 respectively.
  • the operation of selection can be realized by the user in step S510, also can be realized by the DMS in the device a11, also can be realized by the user in step S510 and the DMS in the device a11 jointly, this application does not limit this.
  • the DMS in the device a11 sends the package name of the application C, the metacapability name of the metacapability C1, the metacapability C1 to the DMS in the device b12 based on the device type sent in step S507, when the selected device includes the device b12 The CDN download address and the ID of the device b 12.
  • the DMS in the device a11 sends the package name of the application C, the metacapability name of the metacapability C1 and the device b12 to the DMS in the device b12 based on the device type sent in step S508, when the selected device includes the device b12 id.
  • the DMS in the device a 11 can carry the package name of the application C, the meta-capability name of the meta-capability C1, the CDN download address of the meta-capability C1 and the ID of the device b 12 in a message and send it to the DMS in the device b 12 , or the DMS in the device a 11 can carry the package name of the application C, the meta-capability name of the meta-capability C1 and the ID of the device b 12 in a message and send it to the DMS in the device b 12, and this application specifically implements the message
  • the method is not limited.
  • the message here corresponds to the twelfth message in steps S17032, S17033, S18082, and S18083.
  • the ID of the device b 12 may be the networking identifier of the device b 12 in the same distributed network.
  • the DMS in the device b12 sends the package name of the application C, the meta-capability name of the meta-capability C1 and the CDN download address of the meta-capability C1 to the BMS in the device b12, or sends the BMS in the device b12 the information of the application C Package name and metacapability name of metacapability C1.
  • the DMS in the device b 12 can determine whether the package name of the application C, the meta capability name of the meta capability C1 and the CDN download address of the meta capability C1 sent by the device a 11 are sent to the device b 12. Thus, the DMS in the device b12 can determine that the meta-capability C1 of the application C needs to be started, and can execute step S512.
  • the DMS in the device b 12 can carry the package name of the application C, the meta-capability name of the meta-capability C1, and the CDN download address of the meta-capacity C1 in a message and send it to the BMS in the device b 12, or the device b 12.
  • the DMS can carry the package name of the application C and the meta-capability name of the meta-capability C1 in a message and send it to the BMS in the device b 12 , and this application does not limit the specific implementation of the message.
  • the BMS in the device b12 determines whether the meta-capability C1 of the application C is installed in the device b12 based on the package name of the application C and the meta-capability name of the meta-capability C1.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability
  • the BMS in the device b 12 can query whether the distributed application component database in the device b 12 exists.
  • the meta-capability C1 of the application C is used to determine whether the meta-capability C1 of the application C is installed in the device b 12.
  • the BMS in the device b 12 may determine that the meta-capability C1 of the application C is not installed in the device b 12, so that the meta-capability C1 of the device b 12 is not installed in the device b 12.
  • the BMS can be based on the received BMS in the device b 12, or based on the CDN download address of the meta-capability C1 obtained from the HAG server 20, and then perform steps S514-S517; there is a distributed application component database in the device b 12.
  • the BMS in the device b 12 can determine that the meta-capability C1 of the application C is installed in the device b 12, so that the BMS in the device b 12 can perform steps S516-S517.
  • the BMS in the device b 12 can also receive the CDN of the meta-capability C1 sent by the DMS in the device b 12. When downloading the address, it can be determined that the meta-capability C1 of the application C is not installed in the device b 12. Thus, the BMS in the device b 12 performs steps S514-S517 based on the received BMS in the device b 12.
  • the BMS in the device b12 downloads the meta-capability C1 of the application C from the CDN server 30 based on the package name of the application C, the meta-capability name of the meta-capability C1, and the CDN download address of the meta-capability C1.
  • the BMS in the device b12 installs the meta-capability C1 of the application C.
  • the BMS in the device b12 notifies the DMS in the device b12 that the meta-capability C1 of the application C has been installed.
  • the DMS in the device b12 starts the meta-capability C1 of the application C (that is, explicitly starts).
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and start the meta-capability name of application C in device b 12 based on the package name of application C and the meta-capability name of meta-capability C1 Capability C1.
  • the DMS in the device a11 judges whether the metacapability C1 of the application C is installed in the device a11 based on the package name of the application C and the metacapability name of the metacapability C1.
  • the DMS in device a 11 can query the configuration file in device a 11 through the BMS in device a 11 Whether the meta-capability C1 of the application C exists in the distributed application component database, so as to determine whether the meta-capability C1 of the application C is installed in the device a11.
  • the DMS in the device a 11 may determine that the meta-capability C1 of the application C is not installed in the device a 11, so that the meta-capability C1 of the device a 11 is not installed in the device a 11
  • the DMS can perform steps S519-S523; when the meta-capability C1 of the application C exists in the distributed application component database in the device a11, the DMS in the device a11 can determine that the meta-capability C1 of the application C is installed in the device a11, Thus the DMS in the device a11 can perform step S523.
  • the DMS in the device a11 requests the BMS in the device a11 to download the meta-capability C1 of the application C.
  • the request here corresponds to the fifteenth message in steps S18081 and S18083.
  • the BMS in the device a11 downloads the meta-capability C1 of the application C from the CDN server 30 based on the package name of the application C, the meta-capability name of the meta-capability C1, and the CDN download address of the meta-capability C1.
  • the CDN server 30 here corresponds to the second server in step S1731.
  • the BMS in the device a11 installs the meta-capability C1 of the application C.
  • the BMS in the device a11 notifies the DMS in the device a11 that the meta-capability C1 of the application C has been installed.
  • the request here corresponds to the sixteenth message in steps S18081 and S18083.
  • the DMS in the device a11 starts the meta-capability C1 of the application C (that is, explicitly starts).
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and start the meta-capability name of application C in device a 11 based on the package name of application C and the meta-capability name of meta-capability C1 Capability C1.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A in the device a11 sends the package name of the application C and the predefined ACTION2 of the meta-capability C1 to the DMS in the device a11 in response to the user's operation 3.
  • the operation 3 may include, but is not limited to, operations such as clicking, double-clicking, long-pressing, and touching.
  • operation 3 may be an operation instructed by the user in the embodiment of FIG. 8A to search for the XX map application (eg, entering the text "XX map" in the search box 801 in the user interface 31 shown in FIG. 8A ).
  • Operation 3 here corresponds to the fourth operation in steps S1601 and S1901.
  • operation 3 is associated with application C's meta-capability C1. That is to say, the meta-capability A1 can learn the meta-capability C1 that needs to start the application C based on the operation 3 . Since application A stores the package name of application C associated with operation 3 and the predefined ACTION2 of meta-capability C1 of application C in advance, meta-capability A1 can learn the package name of application C and the predefined ACTION2 of meta-capability C1 . Thus, the meta-capability A1 may request the DMS in the device a 11 to start the meta-capability C1 of the application C.
  • the package name of the application C can uniquely identify the application C
  • the predefined ACTION2 of the meta-capability C1 can uniquely identify the meta-capability C1.
  • the package name of the application C and the predefined ACTION2 of the meta-capability C1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the meta-capability A1 may carry the package name of the application C and the predefined ACTION2 of the meta-capacity C1 in a message and send it to the DMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the ninth message in steps S1601 and S1901.
  • Application A here corresponds to the fourth application in steps S1601 and S1901
  • meta-capability A1 corresponds to the fourth application module in steps S1601 and S1901
  • application C corresponds to the fifth application in steps S1601 and S1901
  • the meta-capability C1 corresponds to the fifth application module in steps S1601 and S1901
  • the package name of the application C corresponds to the identifier of the fifth application in step S1901
  • the predefined ACTION2 of the meta-capacity C1 corresponds to the fifth application module in step S1901
  • the DMS in the device a11 sends the package name of the application C and the predefined ACTION2 of the meta-capability C1 to the BMS in the device a11.
  • the DMS in the device a 11 may request the BMS in the device a 11 to query whether the meta-capability C1 of the application C is installed.
  • the DMS in the device a 11 can carry the package name of the application C and the predefined ACTION2 of the meta-capability C1 in a message and send it to the BMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the thirteenth message in step S1902.
  • the BMS in the device a 11 determines whether each electronic device in the device a 11 and the device b 12 of the same distributed network is installed with the meta capability C1 of the application C based on the package name of the application C and the predefined ACTION2 of the meta capability C1 .
  • the BMS in device a 11 belongs to the same distributed network. It can be queried whether the meta-capability C1 of the application C in the device a 11 exists in the distributed application component database in the device a 11 and whether the meta-capability of the application C in the device b 12 exists in the distributed application component database in the device b 12. C1, thereby determining whether the meta-capability C1 of the application C is installed in the device a 11 and the device b 12.
  • the BMS in the device a 11 determines that neither the device a 11 nor the device b 12 has the meta-capability C1 of the application C installed, the BMS in the device a 11 executes steps S604-S607. If the BMS in the device a 11 determines that at least one of the device a 11 and the device b 12 installs the meta-capability C1 of the application C, the BMS in the device a 11 executes step S608.
  • step S503 the specific implementation process of the BMS judgment strategy in the device a11 can refer to the description of step S503, which is not repeated here.
  • the BMS in the device a11 sends the package name of the application C and the predefined ACTION2 of the meta-capability C1 to the HAG server 20.
  • the BMS in the device a 11 may request the HAG server 20 to download the meta-capability C1 of the application C.
  • the BMS in the device a 11 can carry the package name of the application C and the predefined ACTION2 of the meta-capability C1 in a message, and send it to the HAG server 20 from the channel between the device a 11 and the HAG server 20.
  • the specific implementation is not limited.
  • the message here corresponds to the tenth message in steps S1603 and S1904.
  • the HAG server 20 here corresponds to the first server in steps S1603 and S1904.
  • the HAG server 20 obtains the matched CDN download address of the meta-capability C1 of the application C and the device type suitable for the CDN download address of the meta-capability C1 based on the package name of the application C and the predefined ACTION2 of the meta-capability C1.
  • the HAG server 20 can obtain the application package name, meta-capability name, predefined ACTION and applicable The device type of the device. Therefore, based on the package name of application C and the predefined ACTION2 of meta-capability C1, the HAG server 20 can match the CDN download address of meta-capability C1 of application C and the device type applicable to the CDN download address of meta-capability C1 .
  • CDN download address may refer to the description in step S505, which will not be repeated here.
  • the HAG server 20 sends the package name of the application C, the predefined ACTION2 of the meta-capability C1, the CDN download address of the meta-capability C1, and the device type applicable to the CDN download address of the meta-capacity C1 to the BMS in the device a11.
  • the HAG server 20 from the channel between the device a 11 and the HAG server 20, can download the package name of the application C, the predefined ACTION2 of the meta-capability C1, the CDN download address of the meta-capacity C1, and the CDN download address applicable to the meta-capacity C1.
  • the device type is carried in a message and sent to the BMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the eleventh message in step S1604, step S1701, and step S1905.
  • the BMS in the device a11 sends the package name of the application C, the predefined ACTION2 of the meta-capability C1, the CDN download address of the meta-capability C1, and the device type applicable to the CDN download address of the meta-capacity C1 to the DMS in the device a11 .
  • the BMS in the device a 11 can carry the package name of the application C, the predefined ACTION2 of the meta-capability C1, the CDN download address of the meta-capability C1, and the device type of the CDN download address applicable to the meta-capability C1 in a message and send it in a message.
  • this application does not limit the specific implementation of the message.
  • the message here corresponds to the fourteenth message in step S1906.
  • step S609 is executed.
  • the BMS in the device a11 notifies the DMS in the device a11 that the meta-capability C1 of the application C has been installed and the device type on which the meta-capability C1 is installed.
  • step S608 may refer to the description of step S508, which is not repeated here.
  • the notification here corresponds to the fourteenth message in step S1906.
  • step S609 is executed.
  • the DMS in the device a11 determines, based on the device type sent in step S607 or step S608, a device that supports enabling meta-capability C1 in the same distributed network.
  • the DMS in the device a11 can determine the device that appears both in the device type applicable to the CDN download address of the meta-capability C1 and in the device type currently in the same distributed network as the device a11 For supporting devices that enable meta-capability C1 in the same distributed network.
  • the DMS in device a11 may determine a device that appears both in the device type in which the meta-capability C1 is installed and in the device type currently in the same distributed network as device a11 as being in the same distributed network A device in the network that supports enabling meta-capability C1.
  • the type of device that is currently in the same distributed network as the device a 11 can be understood as communication between different electronic devices through Bluetooth, Wi-Fi, zigbee, account sharing and other communication methods.
  • device a 11 and device b 12 are distributed in the same Wi-Fi network environment.
  • the DMS in the device a11 displays the tag name of the device that supports the activation of the meta-capability C1 in the same distributed network in the window 3, and determines the selected device in response to the user's operation on the window 3.
  • the present application does not limit the size, position, color and other layout parameters of the window 3 .
  • Window 3 here corresponds to the second window in step S17033.
  • the DMS in the device a 11 can also select a device as the selected device from the devices that support the startup meta-capability C1 in the same distributed network, and does not display the window 3.
  • the DMS in the device a 11 can be selected based on parameters such as the priority set in advance by the device supporting the activation meta-capability C1 in the same distributed network, the storage space of the device, or the communication rate of the device, which is not limited in this application.
  • the present application can perform steps S611-S617.
  • the present application can perform steps S618-S623.
  • the present application may perform steps S611-S617 and steps S618-S623 respectively.
  • the selected operation can be realized by the user in step S610, can also be realized by the DMS in the device a11, and can also be realized by the user in step S610 and the DMS in the device a11 jointly, which is not limited in this application.
  • the DMS in the device a11 sends the package name of the application C, the predefined ACTION2 of the meta-capability C1, the meta-capability C1 to the DMS in the device b12 based on the device type sent in step S607, when the selected device includes the device b12 The CDN download address and the ID of the device b 12.
  • the DMS in the device a 11 sends the package name of the application C, the predefined ACTION2 of the meta-capability C1 and the device b to the DMS in the device b 12 based on the device type sent in step S608, when the selected device includes the device b 12 12 IDs.
  • the DMS in the device a 11 can carry the package name of the application C, the predefined ACTION2 of the meta-capability C1, the CDN download address of the meta-capability C1 and the ID of the device b 12 in a message and send it to the DMS in the device b 12 , or the DMS in the device a 11 can carry the package name of the application C, the predefined ACTION2 of the meta-capability C1 and the ID of the device b 12 in a message and send it to the DMS in the device b 12.
  • the implementation method is not limited.
  • the message here corresponds to the twelfth message in steps S17032, S17033, S19082, and S19083.
  • the ID of the device b 12 may be the networking identifier of the device b 12 in the same distributed network.
  • the DMS in the device b12 sends the package name of the application C, the predefined ACTION2 of the meta-capability C1 and the CDN download address of the meta-capability C1 to the BMS in the device b12, or sends the application C to the BMS in the device b12
  • the DMS in the device b 12 can determine whether the package name of the application C, the predefined ACTION2 of the meta-capability C1 and the CDN download address of the meta-capacity C1 sent by the device a 11 are sent to the device b 12. Therefore, the DMS in the device b12 can determine that the meta-capability C1 of the application C needs to be started, and then step S612 can be executed.
  • the DMS in the device b 12 can carry the package name of the application C, the predefined ACTION2 of the meta-capability C1 and the CDN download address of the meta-capacity C1 in a message and send it to the BMS in the device b 12, or the device b 12
  • the DMS of B can carry the package name of the application C and the predefined ACTION2 of the meta-capability C1 in a message and send it to the BMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the BMS in the device b12 determines whether the meta-capability C1 of the application C is installed in the device b12 based on the package name of the application C and the predefined ACTION2 of the meta-capability C1.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability
  • the BMS in the device b 12 can query whether the distributed application component database in the device b 12 exists.
  • the meta-capability C1 of the application C is used to determine whether the meta-capability C1 of the application C is installed in the device b 12.
  • the BMS in the device b 12 may determine that the meta-capability C1 of the application C is not installed in the device b 12, so that the meta-capability C1 of the device b 12 is not installed in the device b 12.
  • the BMS can perform steps S614-S617 based on the received BMS in the device b 12, or based on the CDN download address of the meta-capability C1 obtained from the HAG server 20; there is an application in the distributed application component database in the device b 12
  • the BMS in the device b 12 can determine that the meta-capability C1 of the application C is installed in the device b 12, so that the BMS in the device b 12 can perform steps S616-S617.
  • the BMS in the device b 12 can also receive the CDN of the meta-capability C1 sent by the DMS in the device b 12. When downloading the address, it can be determined that the meta-capability C1 of the application C is not installed in the device b 12. Thus, the BMS in the device b 12 performs steps S614-S617 based on the received BMS in the device b 12.
  • the BMS in the device b12 downloads the meta-capability C1 of the application C from the CDN server 30 based on the package name of the application C, the predefined ACTION2 of the meta-capability C1, and the CDN download address of the meta-capability C1.
  • the BMS in the device b12 installs the meta-capability C1 of the application C.
  • the BMS in the device b12 notifies the DMS in the device b12 that the meta-capability C1 of the application C has been installed.
  • the DMS in the device b12 starts the meta-capability C1 of the application C (that is, the semi-implicit start).
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and start the meta-capability of application C in device b 12 based on the package name of application C and the predefined ACTION2 of meta-capability C1 Capability C1, fully considering that third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.
  • the DMS in the device a11 judges whether the metacapability C1 of the application C is installed in the device a11 based on the package name of the application C and the predefined ACTION2 of the meta-capability C1 when the selected device includes the device a11.
  • the DMS in device a 11 can query the configuration file in device a 11 through the BMS in device a 11 Whether the meta-capability C1 of the application C exists in the distributed application component database, so as to determine whether the meta-capability C1 of the application C is installed in the device a11.
  • the DMS in the device a 11 may determine that the meta-capability C1 of the application C is not installed in the device a 11, so that the meta-capability C1 of the device a 11 is not installed in the device a 11
  • the DMS can perform steps S619-S623; when the meta-capability C1 of the application C exists in the distributed application component database in the device a11, the DMS in the device a11 can determine that the meta-capability C1 of the application C is installed in the device a11, Thus the DMS in the device a11 can perform step S623.
  • the DMS in the device a11 requests the BMS in the device a11 to download the meta-capability C1 of the application C.
  • the request here corresponds to the fifteenth message in steps S19081 and S19083.
  • the BMS in the device a11 downloads the meta-capability C1 of the application C from the CDN server 30 based on the package name of the application C, the predefined ACTION2 of the meta-capability C1, and the CDN download address of the meta-capacity C1.
  • the CDN server 30 here corresponds to the second server in step S1731.
  • the BMS in the device a11 installs the meta-capability C1 of the application C.
  • the BMS in the device a11 notifies the DMS in the device a11 that the meta-capability C1 of the application C has been installed.
  • the request here corresponds to the sixteenth message in steps S19081 and S19083.
  • the DMS in the device a11 starts the meta-capability C1 of the application C (that is, the semi-implicit start).
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and start the meta-capability of application C in device a 11 based on the package name of application C and the predefined ACTION2 of meta-capability C1 Capability C1, fully considering that third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the meta-capability A1 of the application A in the device a11 sends a predefined ACTION2 to the DMS in the device a11 in response to the user's operation 3.
  • the operation 3 may include, but is not limited to, operations such as clicking, double-clicking, long-pressing, and touching.
  • operation 3 may be an operation instructed by the user in the embodiment of FIG. 8A to search for the XX map application (eg, entering the text "XX map" in the search box 801 in the user interface 31 shown in FIG. 8A ).
  • Operation 3 here corresponds to the fourth operation in steps S1601 and S2001.
  • operation 3 is associated with the meta-capability corresponding to the predefined ACTION2. That is to say, the meta-capability A1 may learn, based on operation 3, that the meta-capability corresponding to the predefined ACTION2 needs to be activated. Since the application A stores the predefined ACTION2 of the meta-capability C1 associated with operation 3 in advance, the meta-capability A1 can learn the meta-capability corresponding to the predefined ACTION2. Thus, the meta-capability A1 may request the DMS in the device a 11 to activate the meta-capability corresponding to the predefined ACTION2.
  • the predefined ACTION2 can identify the meta-capability with the same function.
  • the predefined ACTION2 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the meta-capability A1 can carry the predefined ACTION2 in a message and send it to the DMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the ninth message in steps S1601 and S2001.
  • Application A here corresponds to the fourth application in steps S1601 and S2001
  • meta-capability A1 corresponds to the fourth application module in steps S1601 and S2001
  • application C corresponds to the fifth application in steps S1601 and S2001
  • the meta-capability C1 corresponds to the fifth application module in steps S1601 and S2001
  • the predefined ACTION2 corresponds to the identifier of the type to which the fifth application module in step S2001 belongs.
  • the DMS in the device a11 sends the predefined ACTION2 to the BMS in the device a11.
  • the DMS in the device a 11 may request the BMS in the device a 11 to query whether the meta-capability corresponding to the predefined ACTION2 has been installed.
  • the DMS in the device a 11 can carry the predefined ACTION2 in a message and send it to the BMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the thirteenth message in step S2002.
  • the BMS in the device a 11 determines, based on the predefined ACTION2, whether each electronic device in the device a 11 and the device b 12 of the same distributed network is installed with the meta-capability corresponding to the predefined ACTION2.
  • the BMS in device a 11 belongs to the same distributed network. It can be queried whether there is a meta-capability corresponding to the predefined ACTION2 in the device a 11 in the distributed application component database in the device a 11 and whether there is a predefined ACTION2 in the device b 12 in the distributed application component database in the device b 12 corresponds to , so as to determine whether the meta-capability corresponding to the predefined ACTION2 is installed in device a 11 and device b 12.
  • the BMS in the device a 11 determines that neither the device a 11 nor the device b 12 has the meta-capability C1 of the application C installed, the BMS in the device a 11 executes steps S704-S707. If the BMS in the device a 11 determines that at least one of the device a 11 and the device b 12 installs the meta-capability C1 of the application C, the BMS in the device a 11 executes step S708.
  • step S503 the specific implementation process of the BMS judgment strategy in the device a11 can refer to the description of step S503, which is not repeated here.
  • the BMS in the device a11 sends the predefined ACTION2 to the HAG server 20.
  • the BMS in the device a 11 may request the HAG server 20 to download the meta-capability corresponding to the predefined ACTION2 for the device a 11 and/or the device b 12.
  • the BMS in the device a 11 can carry the predefined ACTION2 in a message, and send it to the HAG server 20 from the channel of the device a 11 and the HAG server 20, the specific implementation of the message is not limited in this application.
  • the message here corresponds to the tenth message in steps S1603 and S2004.
  • the HAG server 20 here corresponds to the first server in steps S1603 and S2004.
  • the HAG server 20 obtains the matched meta-capability set 2 based on the predefined ACTION2, and each subset in the meta-capability set 2 carries the application name of an application and the meta-capability name of the meta-capability of the application (this parameter can be replaced
  • the HAG server 20 can obtain the application package name, meta-capability name, predefined ACTION and applicable
  • the device type of the CDN download address of the meta-capability and the HAG server 20 also pre-stores the device types supported by the meta-capability (that is, the device type of each meta-capability can be installed).
  • the meta-capability set 2 here corresponds to the second set in step S2005.
  • the HAG server 20 obtains, based on the package name of the application corresponding to the matched meta-capability, the meta-capability name of the matched meta-capability, the CDN download address of the matched meta-capability, and the matched device type suitable for the meta-capability, Meta Capability Set 2.
  • the specific implementation manner of the CDN download address may refer to the description in step S505, which will not be repeated here.
  • One or more subsets may be included in the meta-capability set 2.
  • the HAG server 20 sends the meta-capability set 2 to the BMS in the device a11.
  • the HAG server 20 from the channel between the device a 11 and the HAG server 20 can carry the meta-capability set 2 in a message and send it to the BMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the eleventh message in step S1604, step S1701, and step S2005.
  • the meta-capability set 2 here corresponds to the second set in step S2005.
  • the BMS in the device a11 sends the meta-capability set 2 to the DMS in the device a11.
  • the BMS in the device a 11 can carry the meta-capability set 2 in a message and send it to the DMS in the device a 11, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the fourteenth message in step S2006.
  • the meta-capability set 2 here corresponds to the second set in step S2006.
  • step S709 is executed.
  • the BMS in the device a11 notifies the DMS in the device a11 that the meta-capability corresponding to the predefined ACTION2 has been installed and the device type of the meta-capability corresponding to the predefined ACTION2 is installed.
  • the notification here corresponds to the fourteenth message in step S2006.
  • the BMS in the device a 11 notifies the DMS in the device a 11 that the device a 11 has installed the meta-capability corresponding to the predefined ACTION2, and the device type of the device a 11.
  • the BMS in the device a 11 notifies the DMS in the device a 11 that the device b 12 has installed the meta-capability corresponding to the predefined ACTION2, and the device type of the device b 12.
  • the BMS in the device a 11 notifies the DMS in the device a 11 that both the device a 11 and the device b 12 have installed the meta-capability corresponding to the predefined ACTION2, as well as the device type of the device a 11 and the device type of the device b 12.
  • the device type for which the meta-capability corresponding to the predefined ACTION2 is installed may be represented by at least one way such as letters, characters, numbers, etc., for example, the serial number or model of the device.
  • step S709 is executed.
  • the DMS in the device a11 determines, based on the device type of the meta-capability sent in step S707 or step S708, a device that supports starting the meta-capability corresponding to the predefined ACTION2 in the same distributed network.
  • the DMS in the device a11 may appear both in the device type applicable to the CDN download address of the meta-capability corresponding to the predefined ACTION2, and in the device type currently in the same distributed network as the device a1
  • the device in is determined to be a device that supports starting the meta-capability corresponding to the predefined ACTION2 in the same distributed network.
  • the DMS in device a11 may appear both in the device type of the CDN download address where the meta-capability corresponding to the predefined ACTION2 is installed, and in the device type currently in the same network as the device a1.
  • the device is determined to be a device that supports starting the meta-capability corresponding to the predefined ACTION2 in the same distributed network.
  • the device type that is currently in the same distributed network with the device a11 can be understood as that different electronic devices can communicate through communication methods such as Bluetooth, Wi-Fi, zigbee, and account sharing.
  • communication methods such as Bluetooth, Wi-Fi, zigbee, and account sharing.
  • device a 11 and device b 12 are distributed in the same Wi-Fi network environment.
  • the DMS in the device a11 displays the tag name of the device that supports starting the meta-capability corresponding to the predefined ACTION2 in the same distributed network in the window 4, and determines the selected application in response to the user's operation on the window 4 meta-capabilities and selected devices.
  • the present application does not limit the size, position, color and other layout parameters of the window 4 .
  • Window 4 here corresponds to the second window in step S17033.
  • the DMS in the device a 11 can also select a device as the selected device from the devices that support the meta-capability corresponding to starting the predefined ACTION2 in the same distributed network, and does not display the window 4.
  • the DMS in the device a 11 can be selected based on parameters such as the preset priority of the device that supports starting the meta-capability corresponding to the predefined ACTION2, the storage space of the device, or the communication rate of the device in the same distributed network, and this application does not do this. limited.
  • the meta-capability of the selected application includes the meta-capability C1 of the application C
  • the selected device may include device a 11 and device b 12.
  • the meta-capability of the selected application mentioned here is the meta-capability C1 of the application C.
  • the present application can perform steps S711-S717.
  • the present application can perform steps S718-S723.
  • the present application may perform steps S711-S717 and steps S718-S723 respectively.
  • the selected operation can be realized by the user in step S710, also can be realized by the DMS in the device a 11, can also be realized by the user in step S710 and the DMS in the device a 11 jointly, this application does not limit this.
  • the DMS in device a11 sends the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the selected device b12 to the DMS in device b12.
  • the DMS in device a 11 sends the package name of the selected application, the predefined ACTION2 and the selected meta-capability to the DMS in device b 12. ID of device b 12.
  • the DMS in the device a11 can download the package name of the selected application, the predefined ACTION2 of the selected meta-capability (this parameter can be replaced with the meta-capability name of the meta-capability of the application), and the CDN download address of the selected meta-capability
  • the ID of the device b 12 is carried in a message and sent to the DMS in the device b 12, or the DMS in the device a 11 can select the package name of the application, the predefined ACTION2 of the selected meta-capability (this parameter can be replaced with The meta-capability name of the application's meta-capability) and the ID of the device b 12 are carried in a message and sent to the DMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the message here corresponds to the twelfth message in steps S17032, S17033, S20082, and S20083.
  • the ID of the device b 12 may be the networking identifier of the device b 12 in the same distributed network.
  • the DMS in the device b12 sends the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability to the BMS in the device b12, or, to the BMS in the device b12 Sends the package name of the selected application and the predefined ACTION2 of the selected meta-capability.
  • the DMS in the device b 12 can determine whether the package name of the selected application sent by the device a 11, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability are sent to the device b12. .
  • the DMS in the device b12 can determine the meta-capability of the selected application that needs to be activated, and then step S712 can be executed.
  • the DMS in the device b 12 can carry the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability in a message and send it to the BMS in the device b 12, or the device
  • the DMS in b 12 can carry the package name of the selected application and the predefined ACTION2 of the selected meta-capability in a message and send it to the BMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the BMS in the device b12 judges whether the meta-capability of the selected application is installed in the device b12 based on the package name of the selected application and the predefined ACTION2 of the selected meta-capability.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability
  • the BMS in the device b 12 can query whether the distributed application component database in the device b 12 exists. The meta-capability of the selected application, thereby determining whether the meta-capability of the selected application is installed in the device b 12.
  • the BMS in the device b 12 may determine that the meta-capability of the selected application is not installed in the device b 12, so that the meta-capability of the selected application in the device b 12 is not installed in the device b 12.
  • the BMS can be based on the received BMS in the device b 12, or based on the CDN download address of the meta-capability C1 obtained from the HAG server 20, and then perform steps S714-S717; there is a distributed application component database in the device b 12.
  • the BMS in the device b 12 may determine that the meta-capability of the selected application is installed in the device b 12, so that the BMS in the device b 12 may perform steps S716-S717.
  • the BMS in the device b 12 can also receive the selected meta-capability sent by the DMS in the device b 12.
  • the CDN downloads the address it can be determined that the selected meta-capability is not installed in the device b12.
  • the BMS in the device b 12 performs steps S714-S717 based on the received BMS in the device b 12.
  • the BMS in the device b12 downloads the meta-capability of the selected application from the CDN server 30 based on the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability.
  • the BMS in the device b12 installs the meta-capability of the selected application.
  • the BMS in the device b12 notifies the DMS in the device b12 that the meta-capability of the selected application has been installed.
  • the DMS in the device b12 activates the meta-capability of the selected application (ie, implicit activation).
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and based on the predefined ACTION2, start the meta-capability of the application corresponding to the predefined ACTION2 in device b 12, fully taking into account
  • Third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.
  • the DMS in the device a11 judges whether the meta-capability of the selected application is installed in the device a11 based on the package name of the selected application and the predefined ACTION2 of the selected meta-capability.
  • the DMS in device a 11 can query the configuration file in device a 11 through the BMS in device a 11 Whether the meta-capability of the selected application exists in the distributed application component database, so as to determine whether the meta-capability of the selected application is installed in the device a11.
  • the DMS in the device a 11 may determine that the meta-capability of the selected application is not installed in the device a 11, so that the meta-capability of the selected application in the device a 11 is not installed.
  • the DMS can perform steps S719-S723; when the meta-capability of the selected application exists in the distributed application component database in the device a11, the DMS in the device a11 can determine that the meta-capability of the selected application is installed in the device a11, Thus the DMS in the device a11 can perform step S723.
  • the DMS in the device a11 requests the BMS in the device a11 to download the meta-capability of the selected application.
  • the request here corresponds to the fifteenth message in steps S20081 and S20083.
  • the BMS in the device a11 downloads the meta-capability of the selected application from the CDN server 30 based on the package name of the selected application, the predefined ACTION2 of the selected meta-capability, and the CDN download address of the selected meta-capability.
  • the CDN server 30 here corresponds to the second server in step S1731.
  • the BMS in the device a11 installs the meta-capability of the selected application.
  • the BMS in the device a11 notifies the DMS in the device a11 that the meta-capability of the selected application has been installed.
  • the request here corresponds to the sixteenth message in steps S20081 and S20083.
  • the DMS in the device a11 starts the meta-capability of the selected application (that is, the implicit start).
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and based on the predefined ACTION2, start the meta-capability of the application corresponding to the predefined ACTION2 in device a 11, fully considering Third-party application vendors usually do not provide the meta-capability name of meta-capability C1 to other vendors, that is, there is no need to rely on the meta-capability name of meta-capability C1.
  • electronic device 1 uses the package name of the application and the meta-capability name of the meta-capability of the application, or the package name of the application and the pre-defined meta-capability of the application.
  • ACTION or a predefined ACTION, can query the CDN download address of the meta-capability from the HAG server, and can control at least one electronic device in electronic device 1 and electronic device 2 to download the meta-capability CDN download address from the CDN server based on the CDN download address of the meta-capability Meta-capability, so that the uninstalled meta-capability is automatically installed, and the user is unaware of the download process of the meta-capability, the meta-capability does not need to be downloaded when the application is installed for the first time, and can be downloaded on-demand based on user needs.
  • electronic device 1 is a mobile phone
  • electronic device 2 is a watch
  • application A is downloaded in the mobile phone
  • application A is a sports health application
  • both the mobile phone and the watch have the meta-capability D1 to install application D ability as an example.
  • the electronic device 1 and the electronic device 2 are connected in communication
  • the meta-capability A1 of the application A is a software code
  • the meta-capability A1 is used to trigger the activation of the meta-capability D1 of the application D.
  • the meta-capability D1 of the application D is the software code
  • the application D is the heart rate application
  • the meta-capability D1 is used to provide the main page of the heart rate application.
  • the present application does not limit whether the watch is installed with the capability of the meta-capability D1 of the application D.
  • FIGS. 11A-11E are schematic diagrams of human-computer interaction interfaces provided by an embodiment of the present application.
  • the mobile phone can display the user interface 41 exemplarily shown in FIG. 11A , the user interface 41 is used to display the home screen of the desktop, and the user interface 41 can include but is not limited to: status bar, navigation bar, calendar indicator, weather indicator, as well as several application icons, etc.
  • the application icons may also include: the icon 1101 of the sports health application, and may also include: such as the icon of the Huawei video application, the icon of the music application, the icon of the mobile phone manager application, the icon of the setting application, the icon of the XX map application, the icon of the XX travel application , the icon of the smart life application, the icon of the calling application, the icon of the SMS application, the icon of the browser application, the icon of the camera application, etc.
  • the mobile phone After detecting the operation of opening the sports health application indicated by the user (such as the operation of clicking the icon 1101 of the sports health application in the user interface 41 shown in FIG. 11A ), the mobile phone can display the user interface 42 exemplarily shown in FIG. 11B . , the user interface 42 is used to display the main page of the sports health application.
  • the user interface 42 includes: a control 1102 and a control 1103 .
  • the control 1102 is used to enter the main page of the sports health application.
  • the control 1103 is used to enter a page that stores parameters such as exercise records, body data, step number rankings, exercise weekly reports, and shared steps.
  • the mobile phone After the mobile phone detects the operation instructed by the user to view the heart rate situation (such as the operation of clicking the control 1103 on the user interface 42), the mobile phone can display the user interface 43 exemplarily shown in FIG. A page for parameters such as exercise records, body data, step rankings, exercise weekly reports, and shared steps.
  • the user interface 43 includes a control 1104, and the control 1104 is used to enter a page that stores physical data such as steps, distance, consumption, sleep state, heart rate, pressure, blood oxygen saturation, and the like.
  • the mobile phone After detecting the operation instructed by the user to click on the control 1104 on the user interface 43, the mobile phone can display the user interface 44 exemplarily shown in FIG. A page for body data like status, heart rate, stress, oxygen saturation, etc.
  • the user interface 44 includes a control 1105, and the control 1105 is used to enter the main page corresponding to the watch center rate application.
  • the mobile phone After detecting the operation instructed by the user to click on the icon of the watch in the control 1105 on the user interface 44, the mobile phone can control the watch to start the main page of the heart rate application, for example, the watch can display the user interface 45 exemplarily shown in FIG.
  • the meta-capability D1) is activated, and the user interface 45 is used to display the heart rate of the user for the day.
  • the mobile phone when the mobile phone and the watch can be communicatively connected, the mobile phone can activate a meta-capability in the watch, which is beneficial to meet the actual needs of the user and improve the user's use experience.
  • the electronic device 1 can control the electronic device 2 to download and install a meta-capability based on the user’s wishes or actual conditions, thereby enabling the meta-capability. It enables the user to use one electronic device to control other electronic devices to realize the function corresponding to the meta-capability, which is beneficial to meet the actual needs of the user and improves the user's sense of use. Wherein, this application does not limit whether the electronic device 2 installs the meta-capability.
  • the electronic device 1 and the electronic device 2 may be pre-communicated and connected, or may be manually connected by a user, which is not limited in this embodiment of the present application.
  • FIG. 12 is a schematic diagram of various stages of an application provided by an embodiment of the present application.
  • the life cycle process of an application in the life cycle process of an application, it can include four stages - development and debugging stage, release stage, cloud deployment and distribution stage, and terminal-side download and installation stage.
  • each stage can refer to the description of the embodiment in FIG. 5
  • the application D can refer to the description of the application B in the embodiment of FIG. 5 , which is not repeated here.
  • the device b 12 is also included in FIG. 12 .
  • the meta-capability A1 of the application A has been installed in the device a 11
  • the meta-capacity A1 of the application A in the device a 11 can call the DMS in the device a 11 to request the DMS in the device b 12 to activate the device b 12.
  • the meta-capability D1 of application D The DMS in the device b 12 requests the BMS in the device b 12 to query whether the meta-capability D1 of the application D is installed in the device b 12.
  • the BMS in device b 12 may notify the DMS in device b 12 that meta-capability D1 is installed.
  • the DMS in device b12 can then activate meta-capability D1.
  • the application layer further includes application D.
  • the BMS in the device b 12 determines that the meta-capability D1 is not installed in the device b 12, the BMS in the device b 12 can obtain the CDN download address of the meta-capability D1 from the HAG server 20. Based on the CDN download address of the meta-capability D1, the BMS in the device b 12 can download the meta-capacity D1 from the CDN server 30, so that the BMS in the device b 12 installs the meta-capacity D1 in the device b 12, and the application layer also includes application D. The BMS in device b 12 may notify the DMS in device b 12 that meta-capability D1 is installed. The DMS in device b12 can then activate meta-capability D1.
  • FIG. 11A-FIG. 11E can explain the above process.
  • the device a11 triggers the system service in the device a11 through the meta-capability A1 of the application A to activate the meta-capability D1 of the application D in the device b 12 that is communicatively connected to the device a11.
  • the device a 11 in the embodiment of FIGS. 11A to 11E to trigger the system service in the device a 11 through the meta capability A1 of the application A to activate the meta capability of the application D in the device b 12
  • the realization process of D1 is described in detail.
  • device a 11 please refer to the description of the mobile phone in the embodiment of FIG. 11A-FIG. 11E
  • the device b 12 refer to the description of the watch in the embodiment of FIG. 11A-FIG. 11E
  • application A may refer to the embodiment of FIG. 11A-FIG.
  • the sports health application please refer to the description of the heart rate application in the embodiment of FIG. 11A-FIG.
  • FIGS. 13A-13C are schematic flowcharts of a method for starting an application module according to an embodiment of the present application.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the DMS in the device a 11 sends the ID of the device b 12, the package name of the application D, and the meta-capability name of the meta-capability D1 to the DMS in the device b 12 in response to the user's operation 4.
  • operation 4 may include, but is not limited to, operations such as clicking, double-clicking, long-pressing, and touching.
  • operation 4 may be an operation performed by the user clicking on the control 1105 in the embodiment of FIG. 11D .
  • operation 4 is associated with application D's meta-capability D1. That is to say, based on operation 4, the meta-capability A1 of the application A can learn that the device a 11 needs to start the meta-capability D1 of the application D in the device b 12. Since application A pre-stores the package name of application D associated with operation 4 and the meta-capability name of meta-capability D1 of application D, meta-capability A1 can learn the package name of application D and the meta-capability name of meta-capability D1.
  • the meta-capability A1 of the application A can call the DMS in the device a 11 to send the ID of the device b 12, the package name of the application D and the meta-capability name of the meta-capacity D1 to the DMS in the device b 12, i.e. request the device b 12 to start the application D's meta-capacity D1.
  • the package name of the application D can uniquely identify the application D, and the meta-capability name of the meta-capability D1 can uniquely identify the meta-capability D1.
  • the package name of the application D and the meta-capability name of the meta-capability D1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the package name of the application D here may correspond to the identifier of the first application in step S1201, and the meta-capability name of the meta-capability D1 may correspond to the module identifier of the first application module in step S1201.
  • the DMS in the device a 11 can carry the ID of the device b 12, the package name of the application D, and the meta-capability name of the meta-capability D1 in a message and send it to the DMS in the device b 12.
  • This application specifically implements the message.
  • the method is not limited.
  • the message here may correspond to the first message in steps S1101 and S1201.
  • the DMS in the device b12 sends the package name of the application D and the metacapability name of the metacapability D1 to the BMS in the device b12.
  • the DMS in the device b 12 can determine whether the package name of the application D and the meta-capability name of the meta-capability D1 sent by the device a 11 are sent to the device b 12. Thus, the DMS in the device b 12 can determine that the meta-capability D1 of the application D needs to be activated, and then step S802 can be executed, that is, the DMS in the device b 12 can request the BMS in the device b 12 to query whether the meta-capability D1 of the application D has been Install.
  • the DMS in the device b 12 can carry the package name of the application D and the meta-capability name of the meta-capability D1 in a message and send it to the BMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1202.
  • the BMS in the device b12 determines whether the meta-capability D1 of the application D is installed in the device b12 based on the package name of the application D and the meta-capability name of the meta-capability D1.
  • the BMS in the device b 12 can store the configuration file parsed by the meta-capability in the distributed application component database in the device b 12 when installing a meta-capability, the BMS in the device b 12 can query the device b 12 Whether the meta-capability D1 of the application D exists in the distributed application component database in the device b12, so as to determine whether the meta-capability D1 of the application D is installed in the device b12.
  • the BMS in the device b 12 may determine that the meta-capability D1 of the application D is not installed in the device b 12, so that the meta-capability D1 of the device b 12 is not installed in the device b 12.
  • the BMS can perform steps S804-S810; when the meta-capability D1 of the application D exists in the distributed application component database in the device b 12, the BMS in the device b 12 can determine that the meta-capability D1 of the application D is installed in the device b 12, Thus the BMS in the device b12 can perform steps S809-S810.
  • the BMS in the device b 12 sends the ID of the device b 12, the package name of the application D, and the meta-capability name of the meta-capability D1 to the HAG server 20.
  • the BMS in the device b 12 can obtain the ID of the device b 12 through the system attribute in the device b 12, and request the HAG server 20 to download the meta-capability D1 of the application D for the device b 12.
  • the BMS in the device b 12 can carry the ID of the device b 12, the package name of the application D and the meta-capability name of the meta-capability D1 in a message, and send it to the HAG from the communication channel between the device b 12 and the HAG server 20
  • the present application does not limit the specific implementation manner of the message.
  • the message here may correspond to the second message in steps S1103 and S1204.
  • the ID of the device b 12 is used to uniquely indicate the device b 12, indicating that the device b 12 needs to obtain the CDN download address of the meta-capability A2 from the HAG server 20.
  • this application does not limit the specific implementation of the ID of the device b 12. For example, the equipment type of equipment b 12 or the fixed asset number of equipment b 12.
  • the HAG server 20 obtains the matching CDN download address of the meta-capability B1 of the application B based on the package name of the application B and the meta-capability name of the meta-capability B1.
  • the HAG server 20 pre-stores multiple hap packages and the CDN download address of the meta-capability corresponding to each hap package, and the HAG server 20 can obtain the application package name and meta-capability name of each hap package, the HAG server 20 based on the application The package name of D and the meta-capability name of meta-capability D1 can be matched to the CDN download address corresponding to the meta-capability D1 of application D.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability D1 corresponding to the CDN download address corresponding to the meta-capability D1 by the HAG server 20 is usually the latest version.
  • the HAG server 20 sends the package name of the application D, the meta-capability name of the meta-capability D1, and the CDN download address of the meta-capability D1 to the BMS in the device b12.
  • the HAG server 20 can carry the package name of the application D, the meta-capability name of the meta-capability D1 and the CDN download address of the meta-capability D1 from the communication channel between the device b 12 and the HAG server 20 in a message and send it to the device b 12
  • the BMS in the message is not limited in this application.
  • the message here may correspond to the third message in steps S1104 and S1205.
  • the CDN download address of the meta-capability D1 here may correspond to the download address of the first application module in step S1205.
  • the BMS in the device b12 downloads the meta-capability D1 of the application D from the CDN server 30 based on the package name of the application D, the meta-capability name of the meta-capability D1, and the CDN download address of the meta-capability D1.
  • the CDN server 30 here corresponds to the second server in step S1206.
  • the BMS in the device b12 installs the meta-capability D1 of the application D.
  • the BMS in the device b12 notifies the DMS in the device b12 that the meta-capability D1 of the application D has been installed.
  • the notification here may correspond to the fifth message in step S1207.
  • the DMS in the device b12 starts the meta-capability D1 of the application D (that is, explicitly starts), which corresponds to the description content of step S1208.
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and based on the package name of application D and the meta-capability name of meta-capability D1, start the system service in device b 12 The meta-capability D1 of application D.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the DMS in the device a 11 sends the ID of the device b 12, the package name of the application D and the predefined ACTION3 of the meta-capability D1 to the DMS in the device b 12 in response to the user's operation 4.
  • operation 4 may include, but is not limited to, operations such as clicking, double-clicking, long-pressing, and touching.
  • operation 4 may be an operation performed by the user clicking on the control 1105 in the embodiment of FIG. 11D .
  • operation 4 is associated with application D's meta-capability D1. That is to say, based on operation 4, the meta-capability A1 of the application A can learn that the device a 11 needs to start the meta-capability D1 of the application D in the device b 12. Since application A pre-stores the package name of application D associated with operation 4 and the predefined ACTION3 of meta-capability D1 of application D, meta-capability A1 can learn the package name of application D and the predefined ACTION3 of meta-capability D1.
  • the meta-capability A1 of the application A can call the DMS in the device a 11 to send the ID of the device b 12, the package name of the application D and the predefined ACTION3 of the meta-capability D1 to the DMS in the device b 12, that is, request the device b 12 to start the application D's meta-capacity D1.
  • the package name of the application D can uniquely identify the application D, and the package name of the application D and the predefined ACTION3 of the meta-capability D1 can uniquely identify the meta-capability D1.
  • the package name of the application D and the package name of the application D of the meta-capability D1 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the package name of the application D here may correspond to the identifier of the first application in step S1301, and the predefined ACTION3 of the meta-capability D1 may correspond to the module identifier of the first application module in step S1301.
  • the DMS in the device a 11 can carry the ID of the device b 12, the package name of the application D and the package name of the application D of the meta-capability D1 in a message and send it to the DMS in the device b 12.
  • the specific implementation manner is not limited.
  • the message here may correspond to the first message in steps S1101 and S1301.
  • the DMS in the device b12 sends the package name of the application D and the predefined ACTION3 of the meta-capability D1 to the BMS in the device b12.
  • the DMS in the device b 12 can determine whether the package name of the application D sent by the device a 11 and the predefined ACTION3 of the meta-capability D1 are sent to the device b 12. Thus, the DMS in the device b 12 can determine that the meta-capability D1 of the application D needs to be activated, and then step S902 can be executed, that is, the DMS in the device b 12 can request the BMS in the device b 12 to query whether the meta-capability D1 of the application D has been Install.
  • the DMS in the device b 12 can carry the package name of the application D and the predefined ACTION3 of the meta-capability D1 in a message and send it to the BMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1302.
  • the BMS in the device b12 determines whether the metacapability D1 of the application D is installed in the device b12 based on the package name of the application D and the predefined ACTION3 of the metacapability D1.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability
  • the BMS in the device b 12 can query whether the distributed application component database in the device b 12 exists.
  • the meta-capability D1 of application D is applied, thereby determining whether the meta-capability D1 of application D is installed in the device b 12.
  • the BMS in the device b 12 may determine that the meta-capability D1 of the application D is not installed in the device b 12, so that the meta-capability D1 of the application D in the device b 12 is not installed.
  • the BMS can perform steps S904-S910; when the meta-capability D1 of the application D exists in the distributed application component database in the device b 12, the BMS in the device b 12 can determine that the meta-capability D1 of the application D is installed in the device b 12, Thus the BMS in the device b12 can perform steps S909-S910.
  • the BMS in the device b 12 sends the ID of the device b 12, the package name of the application D, and the predefined ACTION3 of the meta-capability D1 to the HAG server 20.
  • the BMS in the device b 12 can obtain the ID of the device b 12 through the system attribute in the device b 12, and request the HAG server 20 to download the meta-capability D1 of the application D for the device b 12.
  • the BMS in the device b 12 can carry the ID of the device b 12, the package name of the application D and the predefined ACTION3 of the meta-capability D1 in a message, and send it from the communication channel between the device b 12 and the HAG server 20 to the HAG server 20.
  • This application does not limit the specific implementation of the message.
  • the message here may correspond to the second message in steps S1103 and S1304.
  • step S804 for the specific implementation content of the ID of the device b 12, reference may be made to the description of step S804, which will not be repeated here.
  • the HAG server 20 obtains the matched CDN download address of the meta-capability D1 of the application D based on the package name of the application D and the predefined ACTION3 of the meta-capability D1 .
  • the HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the meta-capabilities corresponding to each hap package, and the HAG server 20 can obtain the application package name, meta-capability name and predefined ACTION of each hap package, the HAG The server 20 can match the CDN download address corresponding to the meta-capability D1 of the application D based on the package name of the application D and the predefined ACTION3 of the meta-capability D1.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability D1 corresponding to the CDN download address corresponding to the meta-capability D1 by the HAG server 20 is usually the latest version.
  • the HAG server 20 sends the package name of the application D, the predefined ACTION3 of the meta-capability D1 (this parameter can be replaced with the meta-capability name of the meta-capability D1) and the CDN download address of the meta-capability D1 to the BMS in the device b12.
  • the HAG server 20 can carry the package name of the application D, the predefined ACTION3 of the meta-capability D1 and the CDN download address of the meta-capacity D1 in a message and send it to the device b 12
  • the BMS in the message is not limited in this application.
  • the message here may correspond to the third message in steps S1104 and S1305.
  • the CDN download address of the meta-capability D1 here may correspond to the download address of the first application module in step S1305.
  • the BMS in the device b12 downloads the meta-capability D1 of the application D from the CDN server 30 based on the package name of the application D, the predefined ACTION3 of the meta-capability D1, and the CDN download address of the meta-capability D1.
  • the CDN server 30 here corresponds to the second server in step S1306.
  • the BMS in the device b12 installs the meta-capability D1 of the application D.
  • the BMS in the device b12 notifies the DMS in the device b12 that the meta-capability D1 of the application D has been installed.
  • the notification here may correspond to the fifth message in step S1307.
  • the DMS in the device b12 starts the meta-capability D1 of the application D (that is, the semi-implicit start), which corresponds to the description of step S1308.
  • device a 11 can trigger the system service in device a 11 through the meta-capability A1 of application A, and start the system service in device b 12 based on the package name of application D and the predefined ACTION3 of meta-capability D1
  • the meta-capability D1 of the application D is fully considered, and the third-party application vendors usually do not provide the meta-capability name of the meta-capability D1 to other vendors, that is, there is no need to rely on the meta-capability name of the meta-capability D1.
  • the specific implementation process of the application module startup method of the present application may include the following steps:
  • the DMS in the device a 11 sends the ID of the device b 12 and the predefined ACTION3 to the DMS in the device b 12 in response to the user's operation 4.
  • operation 4 may include, but is not limited to, operations such as clicking, double-clicking, long-pressing, and touching.
  • operation 4 may be an operation performed by the user clicking on the control 1105 in the embodiment of FIG. 11D .
  • operation 4 is associated with the meta-capability corresponding to the predefined ACTION3. That is to say, based on operation 4, the meta-capability A1 of the application A can learn that the device a 11 needs to activate the meta-capability corresponding to the predefined ACTION3 in the device b 12. Since the application A stores the predefined ACTION3 of the meta-capability associated with operation 2 in advance, the meta-capability A1 can learn the meta-capability corresponding to the predefined ACTION1.
  • the meta-capability A1 of the application A can call the DMS in the device a 11 to send the ID of the device b 12 and the predefined ACTION3 to the DMS in the device b 12, that is, request the device b 12 to start the meta-capability corresponding to the predefined ACTION3.
  • the predefined ACTION3 can identify the meta-capability with the same function.
  • the predefined ACTION3 may be represented in at least one manner such as letters, characters, numbers, and the like.
  • the predefined ACTION3 here may correspond to the identifier of the type to which the first application module belongs in step S1401.
  • the DMS in the device a 11 can carry the ID of the device b 12 and the predefined ACTION3 in a message and send it to the DMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the first message in steps S1101 and S1401.
  • the DMS in the device b12 sends a predefined ACTION1 to the BMS in the device b12.
  • the DMS may carry the predefined ACTION1 in a message and send it to the BMS, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the fourth message in step S1402.
  • the DMS in the device b 12 can determine whether the predefined ACTION3 sent by the device a 11 is sent to the device b 12. Therefore, the DMS in the device b 12 can determine that the meta-capability corresponding to the predefined ACTION3 needs to be activated, and then step S1002 can be executed, that is, the DMS in the device b 12 can request the BMS in the device b 12 to query the meta-capability corresponding to the predefined ACTION3 Is it installed.
  • the DMS in the device b 12 can carry the predefined ACTION3 in a message and send it to the BMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the BMS in the device b12 determines whether the meta-capability corresponding to the predefined ACTION3 is installed in the device b12.
  • the BMS can store the parsed configuration file of the meta-capability in the distributed application component database when installing a meta-capability
  • the BMS in the device b 12 can query whether the distributed application component database in the device b 12 exists.
  • the meta-capability corresponding to ACTION3 is predefined, so as to determine whether the meta-capability corresponding to the predefined ACTION3 is installed in the device b12.
  • the BMS in the device b 12 can determine that the meta-capability corresponding to the predefined ACTION3 is not installed in the device b 12, so that the device b 12
  • the BMS in the device b 12 can perform steps S1004-S1014; when there is a meta-capability corresponding to the predefined ACTION3 in the distributed application component database in the device b 12, the BMS in the device b 12 can determine that the meta-capability corresponding to the predefined ACTION3 is installed in the device b 12, so that the BMS in the device b 12 can perform steps S1013-S1014.
  • the BMS in the device b 12 sends the ID of the device b 12 and the predefined ACTION3 to the HAG server 20.
  • the BMS in the device b 12 can obtain the ID of the device b 12 through the system attribute in the device b 12, and request the HAG server 20 to download the meta-capability corresponding to the predefined ACTION3 for the device b 12.
  • the BMS in the device b 12 can carry the ID of the device b 12 and the predefined ACTION3 in a message, and send it to the HAG server 20 from the communication channel between the device b 12 and the HAG server 20.
  • the specific implementation manner is not limited.
  • the message here may correspond to the second message in steps S1103 and S1404.
  • step S804 for the specific implementation content of the ID of the device b 12, reference may be made to the description of step S804, which will not be repeated here.
  • the HAG server 20 obtains the matched meta-capability set 3 based on the predefined ACTION3, and each subset in the meta-capability set 3 carries the application name of an application and the meta-capability name of the meta-capability of the application (this parameter can be replaced The predefined ACTION for the meta-capability of the application and the CDN download address of the meta-capability.
  • the HAG server 20 pre-stores multiple hap packages and the CDN download addresses of the meta-capabilities corresponding to each hap package, and the HAG server 20 can obtain the application package name, meta-capability name and predefined ACTION of each hap package, the HAG The server 20 can match the CDN download address corresponding to the meta-capability with the same function identified by the predefined ACTION3, so that the HAG server 20 is based on the package name of the application corresponding to the matched meta-capability, the meta-capability name of the matched meta-capability and the matched meta-capability The CDN download address of the meta-capability is obtained, and the meta-capability set 3 is obtained.
  • the CDN download address may be represented by means such as a link or an address string.
  • the meta-capability corresponding to the CDN download address of the meta-capability matched by the HAG server 20 is usually the latest version.
  • One or more subsets may be included in the meta-capability set 3 .
  • the HAG server 20 sends the meta-capability set 3 to the BMS in the device b12.
  • the HAG server 20 from the communication channel between the device b 12 and the HAG server 20 can carry the meta-capability set 3 in a message and send it to the BMS in the device b 12.
  • the message here may correspond to the third message in steps S1104 and S1405.
  • the meta-capability set 3 here may correspond to the first set in step S1405.
  • the BMS in the device b12 sends the meta-capability set 3 to the DMS in the device b12.
  • the BMS in the device b 12 can carry the meta-capability set 3 in a message and send it to the DMS in the device b 12, and this application does not limit the specific implementation of the message.
  • the message here may correspond to the sixth message in step S1501.
  • the meta-capability set 3 here may correspond to the first set in step S1501.
  • the DMS in the device b12 determines whether the number of matched meta-capabilities is greater than 1 based on the meta-capability set 3.
  • the DMS in device b 12 can determine whether the number of subsets of meta-capability set 3 is greater than 1 to determine the matched meta-capabilities Whether the number is greater than 1.
  • the DMS in the device b 12 may determine that the number of matched meta-capabilities is greater than 1, so that the DMS in the device b 12 may perform steps S1009-S1011, so that based on the user Willingness determines the meta-capability of the selected application, which improves user engagement and experience.
  • the DMS in the device b 12 may determine that the number of matched meta-capabilities is equal to 1, so that the DMS in the device b 12 may perform steps S1010-S1011 to match the matched As the meta-capability of the selected application, it is beneficial to improve the processing speed of the DMS in the device b12.
  • the DMS in the device b12 displays the window 5, and in response to the user's operation on the window 5, determines the meta-capability of the selected application.
  • the present application does not limit the layout parameters such as the size, position, and color of the window 5 .
  • the operation here corresponds to the third operation in step S15022
  • the window 5 corresponds to the first window in step S15022
  • the meta-capability of the selected application corresponds to a software module selected in step S15022.
  • the DMS in the device b12 can also select a meta-capability from the matched meta-capabilities as the meta-capability of the selected application, and does not display the window 5, which corresponds to the description content of step S15021.
  • the DMS in the device b 12 can be selected based on the matched meta-capability preset priority or the meta-capability storage space, etc., which is not limited in this application.
  • the DMS in the device b12 sends the package name of the selected application and the meta-capability name of the meta-capability of the selected application to the BMS in the device b12.
  • the DMS in the device b 12 can carry the package name of the selected application and the meta-capability name of the meta-capability of the selected application in a message and send it to the BMS in the device b 12, and the specific implementation of the message in this application does not Do limit.
  • the message here may correspond to the seventh message in step S1503.
  • the meta-capability of the selected application includes the meta-capability B1 of the application B, and the selected devices may include device a 11 and device b 12.
  • the meta-capability of the selected application mentioned here is the meta-capability D1 of the application D.
  • steps S1007-S1010 are optional steps. That is, when the number of matched meta-capabilities is equal to 1, the BMS in the device b 12 may use the matched meta-capability as the meta-capability of the selected application. When the number of matched meta-capabilities is greater than 1, the BMS in the device b 12 may select one meta-capability from the matched meta-capabilities as the meta-capability of the selected application. Wherein, the BMS in the device b 12 may be selected based on the matched meta-capability preset priority or the meta-capability storage space, etc., which is not limited in this application.
  • the BMS in the device b12 downloads the meta-capability of the selected application from the CDN server 30 based on the CDN download address of the meta-capability of the selected application.
  • the CDN server 30 here corresponds to the second server in step S1406.
  • the BMS in the device b12 installs the meta-capability of the selected application.
  • Steps S411 and S412 here correspond to step S1406.
  • the BMS in the device b12 notifies the DMS in the device b12 that the meta-capability corresponding to the predefined ACTION3 has been installed.
  • the notification here may correspond to the fifth message in step S1407.
  • the DMS in the device b12 activates the meta-capability corresponding to the predefined ACTION3 (ie, implicit activation), which corresponds to the description content of step S1408.
  • the device a 11 can trigger the system service in the device a 11 through the meta-capability A1 of the application A, and based on the predefined ACTION3, start the meta-capability D1 of the application D in the device b 12, fully Considering that the third-party application vendors usually do not provide the meta-capability name of the meta-capability D1 to other vendors, that is, there is no need to rely on the meta-capability name of the meta-capability D1.
  • the electronic device 1 can query the meta-capability from the HAG server through the package name of the application and the meta-capability name of the meta-capability of the application, or the package name of the application and the predefined ACTION of the meta-capability of the application, or the predefined ACTION CDN download address, and through the ID of the device, at least one electronic device in the electronic device 2 can be controlled to download the meta-capability from the CDN server based on the CDN download address of the meta-capability, so that the meta-capability that is not installed is automatically installed, and the user
  • the download process of the meta-capability is unaware, the meta-capability does not need to be downloaded when the application is installed for the first time, and can be downloaded on demand based on user requirements.
  • FIG. 14 is a schematic flowchart of a method for starting an application module provided by an embodiment of the present application.
  • the execution body of the application module startup method of the present application is a first device, and the first device includes: a system module.
  • the first device may be the device a mentioned in FIGS. 3A-3C, 4A-4C, 5, 6, 7A-7C, 11A-11E, 12, 13A-13C 11 or device b 12, the specific implementation of the system module can refer to Fig. 3A-Fig. 3C, Fig. 4A-Fig. 4C, Fig. 5, Fig. 6, Fig. 7A-Fig. 7C, Fig. 11A-Fig. 11E, Fig. 12, Fig. 13A-
  • the specific implementation of the first server can refer to FIG. 3A-FIG. 3C, FIG. 4A-FIG. 4C, FIG. 5, FIG. 6, FIG. 7A-FIG. 7C, FIG.
  • the description content of the HAG server mentioned in FIG. 12 and FIG. 13A-FIG. 13C will not be repeated here.
  • the application module startup method of the present application may include:
  • the system module receives a first message, where the first message is associated with a first application module, and the first application module is a software module in the first application program.
  • the system module determines whether the first application module is installed on the first device.
  • the system module In response to determining that the first device does not have the first application module installed, the system module sends a second message to the first server, where the second message is used to download the first application module.
  • S1104 The system module receives a third message from the first server, where the third message is a message associated with the first application module obtained by the first server in response to receiving the second message.
  • the system module downloads, installs and starts the first application module in the first device.
  • the first device further includes: a second application module, where the second application module is a software module in the second application program.
  • the method in S1101 specifically includes: in response to receiving the first operation of the user, the second application module sends a first message to the system module.
  • the first application program is the same as the second application program.
  • the specific implementation of the first device can refer to the description of the device a 11 in FIG. 6
  • the specific implementation of the system module can refer to the description of the system service of the device a 11 in FIG. 6
  • the first operation can refer to FIG. 6
  • the specific implementation mode of the first message can refer to the description content of step S101 in FIG. 6
  • the specific implementation mode of the first application module can refer to the description content of meta-capability A2 in FIG. 6
  • the second The specific implementation of the application module can refer to the description of the meta-capability A1 in FIG. 6
  • the specific implementation of the first application can refer to the description of the application A in FIG.
  • step S1102 can refer to step S103 in FIG. 6
  • the specific implementation of the second message can refer to the description of step S104 in FIG. 6
  • the specific implementation of the third message can refer to the description of step S106 in FIG. 6
  • the specific implementation of step S1105 can refer to FIG. 6
  • the description content of step S107-step S110 in the above will not be repeated here.
  • the first device further includes: a second application module, where the second application module is a software module in the second application program.
  • the method in S1101 specifically includes: in response to receiving the first operation of the user, the second application module sends a first message to the system module. Wherein, the first application program is different from the second application program.
  • the specific implementation of the first device can refer to the description of the device a 11 in FIG. 7A
  • the specific implementation of the system module can refer to the description of the system service of the device a 11 in FIG. 7A
  • the first operation can refer to FIG. 6
  • the specific implementation of the first message can refer to the description of step S201 in FIG. 7A
  • the specific implementation of the first application module can refer to the description of meta-capability B1 in FIG. 7A
  • the specific implementation of the application can refer to the description of application B in FIG. 7A
  • the specific implementation of the second application can refer to the description of application A in FIG.
  • step S1102 please refer to the description of step S203 in FIG. 7A
  • step S204 in FIG. 7A for the specific implementation of the second message
  • step S204 in FIG. 7A for the specific implementation of the third message, refer to step S204 in FIG. 7A.
  • description content of S206 and the specific implementation manner of step S1105 reference may be made to the description content of step S207-step S210 in FIG. 7A , which will not be repeated here.
  • the specific implementation of the first device can refer to the description of the device a 11 in FIG. 7B
  • the specific implementation of the system module can refer to the description of the system service of the device a 11 in FIG. 7B
  • the first operation can refer to
  • the specific implementation of the first message can refer to the description of step S301 in FIG. 7B
  • the specific implementation of the first application module can refer to the description of meta-capability B1 in FIG. 7B
  • the specific implementation of the first application can refer to the description of application B in FIG. 7B
  • the specific implementation of the second application can refer to the description of application A in FIG.
  • step S1102 can refer to the description of step S303 in FIG. 7B
  • the specific implementation of the second message can refer to the description of step S304 in FIG. 7B
  • the specific implementation of the third message can refer to FIG. 7B
  • the specific implementation manner of step S1105 can refer to the description content of step S307 to step S310 in FIG. 7B , which will not be repeated here.
  • the specific implementation of the first device can refer to the description of the device a 11 in FIG. 7C
  • the specific implementation of the system module can refer to the description of the system service of the device a 11 in FIG. 7C
  • the first operation can refer to
  • the specific implementation of the first message can refer to the description of step S401 in FIG. 7C
  • the specific implementation of the first application module can refer to the description of meta-capability B1 in FIG. 7C
  • the specific implementation of the first application can refer to the description of application B in FIG. 7C
  • the specific implementation of the second application can refer to the description of application A in FIG.
  • step S1102 can refer to the description of step S403 in FIG. 7C
  • the specific implementation of the second message can refer to the description of step S404 in FIG. 7C
  • the specific implementation of the third message can refer to FIG. 7C
  • the specific implementation manner of step S1105 can refer to the description content of step S407 to step S414 in FIG. 7C , which will not be repeated here.
  • the first device is in communicative connection with the second device.
  • the method in S1101 specifically includes: the system module receives a first message from the second device, the first message is sent by the second device in response to the second operation of the receiving user, and the first message also carries the device identifier of the first device.
  • the specific implementation of the first device can refer to the description of the device b 12 in FIG. 13A
  • the specific implementation of the second device can refer to the description of the device a 11 in FIG. 13A
  • the specific implementation of the system module can refer to FIG.
  • the first operation can refer to the description content of operation 4 in step S801 in FIG. 13A
  • the specific implementation of the first message can refer to the description content of step S801 in FIG. 13A
  • the first application The specific implementation of the module can refer to the description of the meta-capability D1 in FIG. 13A
  • the specific implementation of the first application can refer to the description of the application D in FIG.
  • step S1102 can refer to the description of step S803 in FIG. 13A .
  • step S804 for the specific implementation of the second message, please refer to the description of step S804 in FIG. 13A, for the specific implementation of the third message, please refer to the description of step S806 in FIG. 13A, and for the specific implementation of step S1105, please refer to FIG. 13A.
  • the description content of step S807-step S810 will not be repeated here.
  • the specific implementation of the first device can refer to the description of the device b 12 in FIG. 13B
  • the specific implementation of the second device can refer to the description of the device a 11 in FIG. 13B
  • the specific implementation of the system module can be Referring to the description content of the system service of the device b 12 in FIG. 13B
  • the first operation can refer to the description content of operation 4 in step S901 in FIG. 13B
  • the specific implementation of the first message can refer to the description content of step S901 in FIG. 13B
  • the specific implementation of an application module please refer to the description of the meta-capability D1 in FIG. 13B
  • the specific implementation of the first application refer to the description of the application D in FIG.
  • step S1102 refers to the step in FIG. 13B
  • the specific implementation of the second message can refer to the description of step S904 in FIG. 13B
  • the specific implementation of the third message can refer to the description of step S906 in FIG. 13B
  • the specific implementation of step S1105 can refer to FIG.
  • the description content of step S907-step S910 in 13B will not be repeated here.
  • the specific implementation of the first device can refer to the description of the device b 12 in FIG. 13C
  • the specific implementation of the second device can refer to the description of the device a 11 in FIG. 13C
  • the specific implementation of the system module can be Referring to the description of the system service of the device b 12 in FIG. 13C
  • the first operation can refer to the description of operation 4 in step S1001 in FIG. 13C
  • the specific implementation of the first message can refer to the description of step S1001 in FIG. 13C
  • the specific implementation of an application module please refer to the description of the meta-capability D1 in FIG. 13C
  • the specific implementation of the first application please refer to the description of the application D in FIG.
  • step S1102 refers to the step in FIG. 13C.
  • the specific implementation of the second message can refer to the description of step S1004 in FIG. 13C
  • the specific implementation of the third message can refer to the description of step S1006 in FIG. 13C
  • the specific implementation of step S1105 can refer to FIG.
  • the description content of step S1007-step S1014 in 13C will not be repeated here.
  • the distributed scheduling service DMS in the system module receives the first message from the distributed scheduling service DMS in the second device.
  • the specific implementation process please refer to the description of step S901 in FIG. 13A , or the description of step S901 in FIG. 13B . , or the description content of step S1001 in FIG. 13C , which is not repeated here.
  • the method specifically includes: the system module receives a third message from the first server, where the third message carries the download address of the first application module; in response to receiving the third message, the system module receives a third message from the second server Download the first application module, install the first application module in the first device, and start the first application module.
  • the specific implementation of the second server may refer to the description of the CDN server, and the specific process of the above implementation may refer to the description of steps S106 to S108 in FIG. 6 , or the description of steps S206 to S208 in FIG. 7A , or The description content of step S306-step S308 in FIG. 7B, or the description content of step S406-step S412 in FIG. 7C, or the description content of step S806-step S808 in FIG. 13A, or the description content of step S906-step S908 in FIG. 13B , or the description content of step S1006 to step S1012 in FIG. 13C , which will not be repeated here.
  • the application module startup method of the present application may include steps S1201 to S1208.
  • Step S1201 The distributed scheduling service DMS receives a first message, where the first message carries the identifier of the first application and the module identifier of the first application module.
  • step S1201 can refer to the description of step S101 in FIG. 6 , or the description of step S201 in FIG. 7A , or the description of step S801 in FIG. 13A , and the identifier of the first application can be referred to in FIG. 6 .
  • the module identification of the first application module can refer to the description content of the meta-capability name of meta-capability A2 in FIG. 6, or the description of the meta-capability name in FIG. 7A
  • the description content of the meta-capability name of capability B1 is not repeated here.
  • Step S1202 In response to receiving the first message, the distributed scheduling service DMS sends a fourth message to the package management service BMS, where the fourth message carries the identifier of the first application and the module identifier of the first application module.
  • step S1202 can refer to the description of step S102 in FIG. 6 , or the description of step S202 in FIG. 7A , or the description of step S802 in FIG. 13A , which will not be repeated here.
  • Step S1203 in response to receiving the fourth message, the package management service BMS determines whether the first device has installed the first application module.
  • step S1203 may refer to the description of step S103 in FIG. 6 , or the description of step S203 in FIG. 7A , or the description of step S803 in FIG. 13A , which will not be repeated here.
  • Step S1204 In response to determining that the first application module is not installed on the first device, the package management service BMS sends a second message to the first server, and the second message carries the device identification of the first device, the identification of the first application, and The module identifier of the first application module.
  • step S1204 can refer to the description of step S104 in FIG. 6 , or the description of step S204 in FIG. 7A , or the description of step S804 in FIG. 13A , which will not be repeated here.
  • Step S1205 The package management service BMS receives a third message from the first server, where the third message carries the download address of the first application module, the identifier of the first application program, and the module identifier of the first application module.
  • the specific determination method of the third message may refer to the description content of step S105 in FIG. 6 , or the description content of step S205 in FIG. 7A , or the description content of step S805 in FIG. 13A .
  • step S1205 reference may be made to the description of step S106 in FIG. 6 , or the description of step S206 in FIG. 7A , or the description of step S806 in FIG. 13A , which will not be repeated here.
  • Step S1206 in response to receiving the third message, the package management service BMS downloads the first application module from the second server based on the download address of the first application module, and installs the first application module in the first device.
  • step S1206 may refer to the description of steps S107-S108 in FIG. 6, or the description of steps S207-S208 in FIG. 7A, or the description of steps S807-S808 in FIG. 13A, here I won't go into details.
  • Step S1207 the package management service BMS sends a fifth message to the distributed scheduling service DMS.
  • the fifth message is used to notify the distributed scheduling service DMS that the first application module has been installed in the first device.
  • step S1207 reference may be made to the description of step S109 in FIG. 6 , or the description of step S209 in FIG. 7A , or the description of step S809 in FIG. 13A , which will not be repeated here.
  • Step S1208 in response to receiving the fifth message, the distributed scheduling service DMS starts the first application module.
  • step S1208 may refer to the description of step S110 in FIG. 6 , or the description of step S210 in FIG. 7A , or the description of step S810 in FIG. 13A , which will not be repeated here.
  • the application module startup method of the present application may include steps S1301 to S1308.
  • Step S1301 The distributed scheduling service DMS receives a first message, where the first message carries the identifier of the first application and the identifier of the type to which the first application module belongs.
  • step S1301 may refer to the description content of step S301 in FIG. 7B or the description content of step S901 in FIG. 13B , which will not be repeated here.
  • Step S1302 In response to receiving the first message, the distributed scheduling service DMS sends a fourth message to the package management service BMS, where the fourth message carries the identifier of the first application and the identifier of the type to which the first application module belongs.
  • step S1302 may refer to the description content of step S302 in FIG. 7B or the description content of step S902 in FIG. 13B , which will not be repeated here.
  • Step S1303 in response to receiving the fourth message, the package management service BMS determines whether the first device has installed the first application module.
  • step S1303 may refer to the description of step S303 in FIG. 7B or the description of step S903 in FIG. 13B , which will not be repeated here.
  • Step S1304 In response to determining that the first application module is not installed on the first device, the package management service BMS sends a second message to the distributed scheduling service DMS, and the second message carries the device identifier of the first device and the information of the first application.
  • step S1304 may refer to the description content of step S304 in FIG. 7B or the description content of step S904 in FIG. 13B , which will not be repeated here.
  • Step S1305 the package management service BMS receives a third message from the first server, where the third message carries the download address of the first application module, the identifier of the first application program, and the identifier of the type to which the first application module belongs.
  • step S305 in FIG. 7B
  • step S903 in FIG. 13B
  • step S1305 may refer to the description of step S306 in FIG. 7B , or the description of FIG. 13B
  • the description content of step S906 in the above will not be repeated here.
  • Step S1306 in response to receiving the third message, the package management service BMS downloads the first application module from the second server based on the download address of the first application module, and installs the first application module in the first device.
  • step S1306 may refer to the descriptions of steps S307-S308 in FIG. 7B, or the descriptions of steps S907-A908 in FIG. 13B, which will not be repeated here.
  • Step S1307 the package management service BMS sends a fifth message to the distributed scheduling service DMS.
  • step S1307 may refer to the description content of step S309 in FIG. 7B or the description content of step S909 in FIG. 13B , which will not be repeated here.
  • Step S1308 in response to receiving the fifth message, the distributed scheduling service DMS starts the first application module.
  • step S1308 may refer to the description of step S310 in FIG. 7B or the description of step S910 in FIG. 13B , which will not be repeated here.
  • the application module startup method of the present application may include steps S1401 to S1408.
  • Step S1401 The distributed scheduling service DMS receives a first message, where the first message carries an identifier of the type to which the first application module belongs.
  • step S1401 may refer to the description of step S401 in FIG. 7C , or the description of step S1001 in FIG. 13C , which will not be repeated here.
  • Step S1402 In response to receiving the first message, the distributed scheduling service DMS sends a fourth message to the package management service BMS, where the fourth message carries an identifier of the type to which the first application module belongs.
  • step S1402 may refer to the description content of step S402 in FIG. 7C or the description content of step S1002 in FIG. 13C , which will not be repeated here.
  • Step S1403 in response to receiving the fourth message, the package management service BMS determines whether the first device has installed the first application module.
  • step S1403 may refer to the description content of step S403 in FIG. 7C or the description content of step S1003 in FIG. 13C , which will not be repeated here.
  • Step S1404 In response to determining that the first application module is not installed on the first device, the package management service BMS sends a second message to the first server, and the second message carries the device identifier of the first device and the type of the first application module. logo.
  • step S1404 may refer to the description of step S404 in FIG. 7C or the description of step S1004 in FIG. 13C , which will not be repeated here.
  • Step S1405 the package management service BMS receives a third message from the first server, the third message carries the first set, and each subset of the first set carries the identifier of an application and the identifier of the software module included in the application.
  • the module identifier and the download address of the software module, and the software module corresponding to each subset belongs to the same type as the first application module.
  • step S405 in FIG. 7C or the description content of step S1005 in FIG. 13C .
  • step S1405 reference may be made to the description of step S406 in FIG. 7C or the description of step S1006 in FIG. 13C , which will not be repeated here.
  • Step S1406 in response to receiving the third message, the package management service BMS downloads the selected software module from the second server based on the download address of the selected software module in the first set, and installs the selected software module in the first set. in the device.
  • step S1406 may refer to the description of steps S411 to S412 in FIG. 7C , or the description of steps S1011 to S1012 of FIG. 13C , which will not be repeated here.
  • Step S1407 The package management service BMS sends a fifth message to the distributed scheduling service DMS.
  • step S1407 may refer to the description content of step S413 in FIG. 7C or the description content of step S1013 in FIG. 13C , which will not be repeated here.
  • Step S1408 in response to receiving the fifth message, the distributed scheduling service DMS starts a selected software module.
  • step S1408 may refer to the description content of step S414 in FIG. 7C or the description content of step S1014 in FIG. 13C , which will not be repeated here.
  • the application module startup method of the present application may specifically include: step S1501-step S1504.
  • Step S1501 In response to receiving the third message, the package management service BMS sends a sixth message to the distributed scheduling service DMS, where the sixth message carries the first set.
  • the specific implementation of the first set can refer to the description of meta-capability set 1 in FIG. 7C or the description of meta-capability set 3 in FIG. 13C
  • the specific implementation of step S1501 can refer to the description of step S407 in FIG. 7C , or the description content of step S1007 in FIG. 13C , which is not repeated here.
  • Step S15021 in response to receiving the sixth message, the distributed scheduling service DMS determines a selected software module from the first set based on a preset rule.
  • Step S15022 in response to receiving the sixth message, the distributed scheduling service DMS displays a first window, and the first window includes controls corresponding to the software modules in the first set; In the third operation on the control corresponding to the software module, the distributed scheduling service DMS determines a selected software module.
  • the third operation may include, but is not limited to, operations of types such as click, double-click, long-press, and touch.
  • the preset rules may be set by referring to "methods such as "preset priority of meta-capability or storage space of meta-capacity" in step S409 in FIG. 7C , which is not limited in this application.
  • the specific implementation of the first window can refer to the description of window 1 in FIG. 7C, or the description of window 5 in FIG. 13C, and the specific implementation of step S15022 can refer to the description of step S409 in FIG. 7C, or step S409 in FIG. 13C.
  • the description content of S1009 is not repeated here.
  • Step S1503 The distributed scheduling service DMS sends a seventh message to the package management service BMS, where the seventh message carries the identifier of the application to which the selected software module belongs and the module identifier of the selected software module.
  • step S1503 may refer to the description of step S410 in FIG. 7C , or the description of step S1010 in FIG. 13C , which will not be repeated here.
  • Step S1504 in response to receiving the seventh message, the package management service BMS determines the download address of the selected software module from the first set based on the identification of the application to which the selected software module belongs and the module identification of the selected software module. .
  • the method further includes: in response to determining that the first device has installed the first application module, the system module starts the first application module.
  • step S109 in FIG. 6 may refer to the description of step S109 in FIG. 6 , or the description of step S209 in FIG. 7A , or the description of step S309 in FIG. 7B , or the description of step S413 in FIG. 7C , or The description content of step S809 in FIG. 13A , or the description content of step S909 in FIG. 13B , or the description content of step S1013 in FIG. 13C will not be repeated here.
  • the first device is in communicative connection with the third device.
  • the method further includes: the system module sends an eighth message to the third device, where the eighth message is used to request the third device to start a third application module, the third application module is a software module in the third application program, and the third application module Not installed in the third device; the eighth message carries the device identifier of the third device, the identifier of the third application, and the module identifier of the third application module, or the eighth message carries the device identifier of the third device, The identifier of the third application program and the identifier of the type to which the third application module belongs, or the eighth message carries the device identifier of the third device and the identifier of the type to which the third application module belongs.
  • the specific implementation of the first device can refer to the description of the device a 11 in FIG. 13A-FIG. 13C
  • the specific implementation of the third device can refer to the description of the device b 12 in FIG. 13A-FIG. 13C
  • For the specific implementation of the message please refer to the description of step S801 in FIG. 13A , step S901 in FIG. 13B , and step S1011 in FIG. 13C .
  • the description in FIG. 13A to FIG. 13C please refer to the description in FIG. 13A to FIG. 13C , which will not be repeated here. .
  • the method specifically includes: the distributed scheduling service DMS in the system module sends an eighth message to the distributed scheduling service DMS in the third device.
  • FIG. 15 is a schematic flowchart of a method for starting an application module according to an embodiment of the present application.
  • the execution subject of the application module startup method of the present application is a first device, the first device includes: a fourth application module and a system module, and the fourth application module is a software module in the fourth application program.
  • the first device is in communication connection with the fourth device.
  • the first device may be the device a11 mentioned in FIGS. 8A-8I, 9, 10A-10C
  • the fourth device may be the device a11 mentioned in FIGS. 8A-8I, 9, 10A-10C Device b 12
  • the system module can refer to the description content of the system services mentioned in Fig. 8A-Fig. 8I, Fig. 9, Fig. 10A-Fig. 10C
  • the specific implementation of the fourth application can refer to Fig. 8A-Fig. 8I, Fig.
  • the specific implementation of the fourth application module can refer to the description content of the meta-capability A1 mentioned in FIGS. 8A-8I, 9, 10A-10C, the first
  • the application module startup method of the present application may include:
  • the fourth application module In response to receiving the fourth operation of the user, the fourth application module sends a ninth message to the system module, the ninth message is associated with the fifth application module, the fifth application module is a software module in the fifth application program, and the fourth The application is different from the fifth application.
  • the system module determines whether the fifth application module is installed on the first device and the fourth device.
  • step S503 in FIG. 10A may refer to the description of step S503 in FIG. 10A , or the description of step S603 in FIG. 10B , or the description of step S703 in FIG. 10C , which will not be repeated here.
  • the system module In response to determining that neither the first device nor the fourth device has the fifth application module installed, the system module sends a tenth message to the first server, where the tenth message is used to download the fifth application module.
  • step S504 in FIG. 10A may refer to the description of step S504 in FIG. 10A , or the description of step S604 in FIG. 10B , or the description of step S704 in FIG. 10C , which will not be repeated here.
  • the system module receives an eleventh message from the first server, where the eleventh message is a message associated with the fifth application module obtained by the first server in response to receiving the tenth message.
  • step S506 in FIG. 10A or the description of step S606 in FIG. 10B , or the description of step S706 in FIG. 10C , which will not be repeated here.
  • the system module implements downloading, installing and starting the fifth application module in the first device and/or the fourth device.
  • step S507 step S509-step S523 in FIG. 10A, or the description content of step S607, step S609-step S623 in FIG. 10B, or step S707, step S709 in FIG. 10C.
  • step S723 The description content of step S723 will not be repeated here.
  • the application module startup method of the present application may specifically include: step S1701-step S17033.
  • Step S1701 the system module receives an eleventh message from the first server, where the eleventh message carries the download address of the fifth application module and the device type suitable for the download address of the fifth application module;
  • step S1701 may refer to the description of step S506 in FIG. 10A , or the description of step S606 in FIG. 10B , or the description of step S706 in FIG. 10C , which will not be repeated here.
  • Step S1702 in response to receiving the eleventh message, the system module determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device;
  • step S1702 can refer to the description of step S507, step S509-step S510 in FIG. 10A, or the description of step S607, step S609-step S610 in FIG. 10B, or step S707, step S709 in FIG. 10C. - The description content of step S710 will not be repeated here.
  • Step S17031 In response to determining that the device type applicable to the download address of the fifth application module includes the first device, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, and stores the fifth application module Installed in the first device, and start the fifth application module in the first device.
  • step S17031 may refer to the description of steps S518-S523 in FIG. 10A, or the description of steps S618-step S623 in FIG. 10B, or the description of steps S718-step S723 in FIG. 10C, here I won't go into details.
  • Step S17032 in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the system module sends a twelfth message to the fourth device, where the twelfth message is used to request the fourth device to start the fifth application module, the twelfth message carries the download address of the fifth application module;
  • step S17032 may refer to the description of step S511 in FIG. 10A , or the description of step S611 in FIG. 10B , or the description of step S711 in FIG. 10C , which will not be repeated here.
  • Step S17033 in response to determining that the device type applicable to the download address of the fifth application module includes the first device and the fourth device, the system module displays a second window, and the second window includes controls corresponding to the first device and the fourth device.
  • the corresponding control in response to receiving the fifth operation by the user on the control corresponding to the first device in the second window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, and the fifth The application module is installed in the first device, and starts the fifth application module in the first device; and/or, in response to receiving the fifth operation by the user on the control corresponding to the fourth device in the second window, the system module sends
  • the fourth device sends a twelfth message, where the twelfth message is used to request the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module.
  • the fifth operation may include, but is not limited to, click, double-click, long-press, touch and other types of operations.
  • step S17033 please refer to the description of step S520-step S523 and step S511 in FIG. 10A , or the description of step S620-step S623 and step S611 in FIG. 10B , or step S720-step S723 and step S611 in FIG. 10C .
  • the description content of S711 is not repeated here.
  • the application module startup method of the present application may include steps S1801 to S18083.
  • Step S1801 In response to receiving the fourth operation, the fourth application module sends a ninth message to the distributed scheduling service DMS, where the ninth message carries the identifier of the fifth application program and the module identifier of the fifth application module.
  • the specific implementation of the identifier of the fifth application can refer to the description of the package name of the application C in FIG. 10A
  • the specific implementation of the module identifier of the fifth application module can refer to the description of the meta-capability name of the meta-capability C1 in FIG. 10A .
  • the description please refer to the description of operation 3 of step S501 in FIG. 10A for the specific implementation of the fourth operation, and for the specific implementation of step S1801, please refer to the description of step S501 in FIG. 10A , which will not be repeated here.
  • Step S1802 In response to receiving the ninth message, the distributed scheduling service DMS sends a thirteenth message to the package management service BMS, where the thirteenth message carries the identifier of the fifth application and the module identifier of the fifth application module.
  • the specific implementation of step S1802 may refer to the description of step S502 in FIG. 10A , which will not be repeated here.
  • Step S1803 in response to receiving the thirteenth message, the package management service BMS determines whether the fifth application module is installed on the first device and the fourth device.
  • the specific implementation of step S1803 may refer to the description of step S503 in FIG. 10A , which will not be repeated here.
  • Step S1804 in response to determining that neither the first device nor the fourth device has the fifth application module installed, the package management service BMS sends a tenth message to the first server, and the tenth message carries the identifier of the fifth application and the fifth application.
  • the module ID of the application module may refer to the description of step S504 in FIG. 10A , which will not be repeated here.
  • Step S1805 the package management service BMS receives an eleventh message from the first server, where the eleventh message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, and the information of the fifth application program. ID and the module ID of the fifth application module.
  • step S505 in FIG. 10A The specific determination method of the eleventh message may refer to the description of step S505 in FIG. 10A , and the specific implementation of step S1805 may refer to the description of step S506 in FIG. 10A , which will not be repeated here.
  • Step S1806 in response to receiving the eleventh message, the package management service BMS sends a fourteenth message to the distributed scheduling service DMS, where the fourteenth message carries the download address of the fifth application module and is suitable for downloading the fifth application module.
  • the fourteenth message carries the download address of the fifth application module and is suitable for downloading the fifth application module.
  • step S1806 may refer to the description of step S507 or step S508 in FIG. 10A , which will not be repeated here.
  • Step S1807 In response to receiving the fourteenth message, the distributed scheduling service DMS determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device.
  • the specific implementation of step S1807 may refer to the description of steps S509 to S510 in FIG. 10A , which will not be repeated here.
  • Step S18081 In response to determining that the device type applicable to the download address of the fifth application module includes the first device, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, and the fifteenth message is used to request the download of the fifth application module.
  • application module in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module in the first device, and distributes the fifth application module to the distribution
  • the distributed scheduling service DMS sends a sixteenth message; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device.
  • step S18081 may refer to the description of steps S518 to S523 in FIG. 10A , which will not be repeated here.
  • Step S18082 in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device, the twelfth message For requesting the fourth device to start the fifth application module, the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application and the module identification of the fifth application module.
  • step S18082 may refer to the description of step S511 in FIG. 10A , which will not be repeated here.
  • Step S18083 in response to determining that the device type applicable to the download address of the fifth application module includes the first device and the fourth device, the distributed scheduling service DMS displays a second window, and the second window includes controls corresponding to the first device and The control corresponding to the fourth device; in response to receiving the fifth operation by the user on the control corresponding to the first device in the second window, the distributed scheduling service DMS sends the fifteenth message to the package management service BMS, and the fifteenth message uses In response to the request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module on the first device , and send a sixteenth message to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device; and/or, in response to receiving the user in the second For the fifth operation on the control corresponding to the fourth device in the window, the distributed scheduling service D
  • step S18083 may refer to the descriptions of steps S518 - S523 and S511 in FIG. 10A , which will not be repeated here.
  • the application module startup method of the present application may include steps S1901 to S19083.
  • Step S1901 In response to receiving the fourth operation, the fourth application module sends a ninth message to the distributed scheduling service DMS, where the ninth message carries the identifier of the fifth application program and the identifier of the type to which the fifth application module belongs.
  • the specific implementation of the identifier of the fifth application can refer to the description of the package name of the application C in FIG. 10B
  • the specific implementation of the identifier of the type to which the fifth application module belongs can refer to the predefined ACTION2 of the meta-capability C1 in FIG. 10B
  • the specific implementation of the fourth operation please refer to the description of operation 3 in step S601 in FIG. 10B
  • step S1901 refer to the description of step S601 in FIG. 10B , which will not be repeated here.
  • Step S1902 In response to receiving the ninth message, the distributed scheduling service DMS sends a thirteenth message to the package management service BMS, where the thirteenth message carries the identifier of the fifth application and the identifier of the type to which the fifth application module belongs.
  • the specific implementation of step S1902 may refer to the description of step S602 in FIG. 10B , which will not be repeated here.
  • Step S1903 in response to receiving the thirteenth message, the package management service BMS determines whether the fifth application module is installed on the first device and the fourth device.
  • the specific implementation of step S1903 may refer to the description of step S603 in FIG. 10B , which will not be repeated here.
  • Step S1904 in response to determining that neither the first device nor the fourth device has the fifth application module installed, the package management service BMS sends a tenth message to the first server, and the tenth message carries the identifier of the fifth application and the fifth application.
  • the specific implementation of step S1904 may refer to the description of step S604 in FIG. 10B , which will not be repeated here.
  • Step S1905 the package management service BMS receives an eleventh message from the first server, where the eleventh message carries the download address of the fifth application module, the device type applicable to the download address of the fifth application module, and the information of the fifth application program.
  • step S605 in FIG. 10B The specific determination method of the eleventh message can refer to the description of step S605 in FIG. 10B , and the specific implementation of step S1905 can refer to the description of step S606 in FIG. 10B , which will not be repeated here.
  • Step S1906 in response to receiving the eleventh message, the package management service BMS sends a fourteenth message to the distributed scheduling service DMS, where the fourteenth message carries the download address of the fifth application module and is suitable for the download of the fifth application module.
  • step S1906 may refer to the description of step S607 or step S608 in FIG. 10B , which will not be repeated here.
  • Step S1907 In response to receiving the fourteenth message, the distributed scheduling service DMS determines whether the device type applicable to the download address of the fifth application module includes the first device and the fourth device.
  • step S1907 may refer to the description of steps S609 to S610 in FIG. 10B , which will not be repeated here.
  • Step S19081 in response to determining that the device type applicable to the download address of the fifth application module includes the first device, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, and the fifteenth message is used to request the download of the fifth application module.
  • application module in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, installs the fifth application module in the first device, and distributes the fifth application module to the distribution
  • the distributed scheduling service DMS sends a sixteenth message; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device.
  • step S19081 may refer to the description of steps S618 to S623 in FIG. 10B , which will not be repeated here.
  • Step S19082 in response to determining that the device type applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device, the twelfth message For requesting the fourth device to start the fifth application module, the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application and the identification of the type to which the fifth application module belongs.
  • step S19082 may refer to the description of step S611 in FIG. 10B , which will not be repeated here.
  • Step S19083 in response to determining that the device type applicable to the download address of the fifth application module includes the first device and the fourth device, the distributed scheduling service DMS displays a second window, and the second window includes controls corresponding to the first device and The control corresponding to the fourth device; in response to receiving the fifth operation by the user on the control corresponding to the first device in the second window, the distributed scheduling service DMS sends the fifteenth message to the package management service BMS, and the fifteenth message uses In response to the request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module on the first device , and send a sixteenth message to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device; and/or, in response to receiving the user in the second For the fifth operation on the control corresponding to the fourth device in the window, the distributed scheduling service D
  • step S19083 may refer to the descriptions of steps S618 - S623 and S611 in FIG. 10B , which will not be repeated here.
  • the application module startup method of the present application may include steps S2001 to S20083.
  • Step S2001 In response to receiving the fourth operation, the fourth application module sends a ninth message to the distributed scheduling service DMS, where the ninth message carries an identifier of the type to which the fifth application module belongs.
  • the specific implementation of the identifier of the type to which the fifth application module belongs may refer to the description of the predefined ACTION2 in FIG. 10C
  • the specific implementation of the fourth operation may refer to the description of the operation 3 in step S601 in FIG. 10C , step S2001
  • the description of step S701 in FIG. 10C which will not be repeated here.
  • Step S2002 in response to receiving the ninth message, the distributed scheduling service DMS sends a thirteenth message to the package management service BMS, where the thirteenth message carries an identifier of the type to which the fifth application module belongs.
  • the thirteenth message carries an identifier of the type to which the fifth application module belongs.
  • Step S2003 in response to receiving the thirteenth message, the package management service BMS determines whether the fifth application module is installed on the first device and the fourth device.
  • the specific implementation of step S2003 may refer to the description of step S703 in FIG. 10C , which will not be repeated here.
  • Step S2004 in response to determining that neither the first device nor the fourth device has the fifth application module installed, the package management service BMS sends a tenth message to the first server, where the tenth message carries an identifier of the type to which the fifth application module belongs.
  • the specific implementation of step S2004 may refer to the description of step S704 in FIG. 10C , which will not be repeated here.
  • Step S2005 the package management service BMS receives the eleventh message from the first server, the eleventh message carries the second set, and each subset of the second set carries the identifier of an application, the software contained in the application.
  • the module identifier of the module and the device type applicable to the download address of the software module, and the software module corresponding to each subset belongs to the same type as the fifth application module.
  • step S705 in FIG. 10C The specific determination method of the eleventh message may refer to the description of step S705 in FIG. 10C , and the specific implementation of step S2005 may refer to the description of step S706 in FIG. 10C , which will not be repeated here.
  • Step S2006 in response to receiving the eleventh message, the package management service BMS sends a fourteenth message to the distributed scheduling service DMS, where the fourteenth message carries the second set.
  • the specific implementation of step S2006 may refer to the description of step S707 or step S708 in FIG. 10C , which will not be repeated here.
  • Step S2007 in response to receiving the fourteenth message, the distributed scheduling service DMS determines whether the device types in the second set applicable to the download address of the fifth application module include the first device and the fourth device.
  • the specific implementation of step S2007 may refer to the description of steps S709 to S710 in FIG. 10C , which will not be repeated here.
  • Step S20081 in response to determining that the device type in the second set applicable to the download address of the fifth application module includes the first device, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, and the fifteenth message is used to Request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module in the first device , and send a sixteenth message to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device.
  • step S20081 may refer to the description of steps S718 to S723 in FIG. 10C , which will not be repeated here.
  • Step S20082 in response to determining that the device type in the second set applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device,
  • the twelfth message is used to request the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application, and the ownership of the fifth application module.
  • Type ID in response to determining that the device type in the second set applicable to the download address of the fifth application module includes the fourth device, the distributed scheduling service DMS sends a twelfth message to the distributed scheduling service DMS in the fourth device,
  • the twelfth message is used to request the fourth device to start the fifth application module, and the twelfth message carries the download address of the fifth application module, the device identification of the fourth device, the identification of the fifth application, and the ownership of the fifth application module.
  • step S20082 may refer to the description of step S711 in FIG. 10C , which will not be repeated here.
  • Step S20083 in response to determining that the device types in the second set applicable to the download address of the fifth application module include the first device and the fourth device, the distributed scheduling service DMS displays a second window, and the second window includes the first device.
  • the corresponding control and the control corresponding to the fourth device in response to receiving the fifth operation by the user on the control corresponding to the first device in the second window, the distributed scheduling service DMS sends a fifteenth message to the package management service BMS, the first The fifteenth message is used to request to download the fifth application module; in response to receiving the fifteenth message, the package management service BMS downloads the fifth application module from the second server based on the download address of the fifth application module, and installs the fifth application module
  • a sixteenth message is sent to the distributed scheduling service DMS; in response to receiving the sixteenth message, the distributed scheduling service DMS starts a fifth application module in the first device; and/or, in response to receiving The user performs the fifth operation on the control corresponding to the fourth device in the second window, the distributed scheduling
  • step S20083 may refer to the descriptions of steps S718 - S723 and S711 in FIG. 10C , which will not be repeated here.
  • the method further includes: in response to determining that the first device has the fifth application module installed and the fourth device does not have the fifth application module installed, the system module starts the fifth application module in the first device.
  • step S508-step S509, step S518, and step S523 in FIG. 10A or the description of steps S608-step S609, step S618, and step S623 in FIG. 10B, or FIG. 10C.
  • step S708-step S709, step S718, and step S723 in the middle will not be repeated here.
  • the method further includes: in response to determining that the fifth application module is not installed on the first device and the fifth application module is installed on the fourth device, the system module sends a seventeenth message to the fourth device, a tenth Seven messages are used to request the fourth device to start the fifth application module;
  • step S711 is not repeated here.
  • the method further includes: in response to determining that the fifth application module has been installed on both the first device and the fourth device, the system module displays a third window, where the third window includes controls corresponding to the first device and the first device.
  • the control corresponding to the fourth device in response to receiving the sixth operation by the user on the control corresponding to the first device in the third window, the system module downloads the fifth application module from the second server based on the download address of the fifth application module, and converts the The fifth application module is installed in the first device, and the fifth application module is activated in the first device; and/or, in response to receiving the sixth operation by the user on the control corresponding to the fourth device in the third window, the system The module sends a seventeenth message to the fourth device, where the seventeenth message is used to request the fourth device to activate the fifth application module.
  • the sixth operation may include, but is not limited to, click, double-click, long-press, touch and other types of operations.
  • the description of Window 2 please refer to the description of Window 2, and for the specific implementation of the above process, please refer to the description of steps S508-S510, S518, S523, and S511 in FIG. 10A , or step S608 in FIG. 10B .
  • step S610, step S618, step S623, and step S611, or the description content of step S708-step S710, step S718, step S723, and step S711 in FIG. 10C, will not be repeated here.
  • the present application provides an electronic device, including: a memory and a processor; the memory is used to store program instructions; the processor is used to call the program instructions in the memory, so that the electronic device executes the application module startup method of the foregoing embodiments.
  • the present application provides a chip system, which is applied to an electronic device including a memory, a display screen and a sensor; the chip system includes: a processor; when the processor executes the application module startup method in the foregoing embodiments.
  • the present application provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to cause an electronic device to implement the method for starting an application module in the foregoing embodiment.
  • the present application provides a computer program product that, when the computer program product runs on a computer, causes the computer to execute the application module startup method of the foregoing embodiments.
  • all or part of the functions may be implemented by software, hardware, or a combination of software and hardware.
  • software When implemented in software, 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.
  • Computer instructions When the computer program instructions are loaded and executed on a computer, the procedures or functions according to the embodiments of the present application are generated in whole or in part.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • Computer instructions may be stored in a computer-readable storage medium.
  • a computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, or the like that contains one or more of the available mediums integrated.
  • Useful media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state disks (SSDs)), and
  • the process can be completed by instructing the relevant hardware by a computer program, and the program can be stored in a computer-readable storage medium.
  • the program When the program is executed , which may include the processes of the foregoing method embodiments.
  • the aforementioned storage medium includes: ROM or random storage memory RAM, magnetic disk or optical disk and other mediums that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种应用模块启动方法和电子设备。在第一设备需要启动第一设备或与第一设备通信连接的其他设备中的一个应用程序中的未安装的应用模块时,第一设备中的系统模块可查询第一设备中是否安装有该应用模块。在确定第一设备和/或其他设备中未安装该应用模块时,第一设备中的系统模块可通过与第一服务器进行通信,使得第一设备中的系统模块基于从第一服务器发送的消息,可在第一设备和/或其他设备中下载、安装并启动第一应用模块。从而,实现了应用模块的按需下载,使得设备可选择应用程序中的部分的应用模块进行首次安装,无需首次安装应用程序中的全部的应用模块,节省了设备安装应用程序的空间,使得设备可安装更多种类的应用程序。

Description

应用模块启动方法和电子设备
本申请要求于2020年09月10日提交中国专利局、申请号为202010948973.3、申请名称为“应用安装方法和设备”的中国专利申请的优先权和于2020年11月30日提交中国专利局、申请号为202011377014.7、申请名称为“应用模块启动方法和电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子技术领域,尤其涉及一种应用模块启动方法和电子设备。
背景技术
一个应用程序通常包含多个功能实现。在电子设备安装一个应用程序后,用户可能只用到该应用程序的部分功能实现,而剩余的大部分功能实现用户并不会用到,容易造成电子设备的存储空间的浪费,且应用程序的安装时长也会变长,降低了用户的使用体验。
发明内容
本申请提供一种应用模块启动方法和电子设备,可以通过电子设备中的系统服务启动一个应用程序中的未安装的应用模块,使得电子设备无需安装该应用程序中的全部应用模块,节省了电子设备的存储空间,丰富了该应用程序的功能实现,还使得电子设备可安装更多的应用程序,为用户提供了种类繁多的应用程序,有利于提高了用户的使用体验。
第一方面,本申请提供一种应用模块启动方法,该方法应用于第一设备,第一设备包括系统模块。
该方法包括:系统模块接收第一消息,第一消息与第一应用模块关联,第一应用模块为第一应用程序中的一个软件模块。响应于接收第一消息,系统模块确定第一设备是否安装第一应用模块。响应于确定第一设备未安装第一应用模块时,系统模块向第一服务器发送第二消息,第二消息用于下载第一应用模块。系统模块从第一服务器接收第三消息,第三消息为第一服务器响应于接收第二消息得到的与第一应用模块关联的消息。响应于接收第三消息,系统模块在第一设备中下载、安装并启动第一应用模块。
其中,系统模块具体实现内容可参见本申请提及的系统服务的描述内容,应用模块的具体实现内容可参见本申请提及的元能力的描述内容,第一服务器可参见本申请提及的HAG服务器的描述内容,此处不做赘述。
通过第一方面的方法,在第一设备需要启动一个应用程序中的未安装的应用模块时,第一设备中的系统模块可查询第一设备中是否安装有该应用模块。在确定第一设备中未安装该应用模块时,第一设备中的系统模块可通过与第一服务器进行通信,使得第一设备中的系统模块基于从第一服务器发送的消息,可在第一设备中下载、安装并启动第一应用模块。从而,实现了该应用模块的按需下载,使得第一设备在首次安装该应用程序时,可选 择该应用程序中的部分的应用模块,无需安装该应用程序中的全部的应用模块,节省了第一设备安装该应用程序的存储空间,且丰富了该应用程序的功能实现,为用户提供了该应用程序的更多功能,还使得第一设备可安装更多种类的应用程序,有利于丰富用户使用更多种类的应用程序。
在一种可能的设计中,该方法具体包括:系统模块从第一服务器接收第三消息,第三消息中携带有第一应用模块的下载地址。响应于接收第三消息,系统模块从第二服务器中下载第一应用模块。系统模块将第一应用模块安装在第一设备中,并启动第一应用模块。
其中,第一应用模块的下载地址的具体实现内容可参见本申请提及的元能力的CDN下载地址的描述内容,第二服务器的具体实现内容可参见本申请提及的CDN服务器的描述内容,此处不做赘述。
由此,第一设备中的系统模块可从第一服务器中获取第一应用模块的下载地址。第一设备中的系统模块基于第一应用模块的下载地址,从第二服务器下载第一应用模块。第一设备中的系统模块便可在第一设备中安装第一应用模块,且在安装结束后可启动第一应用模块。从而,由第一服务器存储应用模块的下载地址,由第二服务器存储应用模块本身,使得第一设备中的系统模块分别与第一服务器和第二服务器分开进行交互,有利于第一设备中的系统模块顺利启动未安装的应用模块。
另外,除了上述下载第一应用模块的实现方式之外,第一服务器也可事先存储有第一应用模块,使得第一设备中的系统模块可从第一服务器直接下载第一应用模块。
并且,在第一设备中的系统模块启动第一设备中的未安装的应用模块时,开发者仅需调配系统模块接收第一消息对应的接口,便可完成未安装的应用模块的启动,从而,减少了开发者调配应用与系统服务之间的接口数量,降低了开发者的编程成本,且也无需开发者将谷歌核心库(Google Play Core)集成在应用程序中,减少了开发者的配置成本,有利于开发更多元能力丰富用户的使用。
在一种可能的设计中,第一设备还包括:第二应用模块,第二应用模块为第二应用程序中的一个软件模块。该方法具体包括:响应于接收用户的第一操作,第二应用模块向系统模块发送第一消息。
在一种可能的设计中,第一应用程序与第二应用程序相同。由此,第一设备中,一个应用程序中的已安装的应用模块可触发系统模块启动该应用程序中的未安装的应用模块,使得第一设备中的系统模块通过第一服务器下载、安装并启动该应用程序中的未安装的应用模块。从而,借助同一应用程序中的不同的应用模块之间的相互配合,能够完成未安装的应用模块的功能实现,实现了该应用模块的按需下载,还有利于用户在使用一个应用程序时能够体验多种功能,提高了用户的使用体验。
在一种可能的设计中,第一应用程序与第二应用程序不同。由此,第一设备中,一个应用程序中的已安装的应用模块可触发系统模块启动另一个应用程序中的未安装的应用模块,使得第一设备中的系统模块通过第一服务器下载、安装并启动另一应用程序中的未安装的应用模块。从而,借助不同的应用程序中的应用模块之间的相互配合,能够完成未安装的应用模块的功能实现,实现了该应用模块的按需下载,还有利于用户在使用一个应用程序时能够体验另一个应用程序的功能,提高了用户的使用体验。
在一种可能的设计中,第一设备与第二设备通信连接。该方法具体包括:系统模块从 第二设备接收第一消息,第一消息是第二设备响应于接收用户的第二操作发送的,第一消息中还携带有第一设备的设备标识。
由此,第二设备可触发第一设备中的系统模块启动一个应用程序中的未安装的应用模块,使得用户对该应用模块的下载过程无感知,且该应用模块无需在该应用模块所属的应用程序首次安装时在下载,实现了该应用模块的按需下载。
在一种可能的设计中,该方法具体包括:系统模块中的分布式调度服务DMS从第二设备中的分布式调度服务DMS接收第一消息。
在一种可能的设计中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,该方法具体包括:分布式调度服务DMS接收第一消息,第一消息中携带有第一应用程序的标识以及第一应用模块的模块标识。响应于接收第一消息,分布式调度服务DMS向包管理服务BMS发送第四消息,第四消息中携带有第一应用程序的标识以及第一应用模块的模块标识。响应于接收第四消息,包管理服务BMS确定第一设备是否安装第一应用模块。响应于确定第一设备未安装第一应用模块时,包管理服务BMS向第一服务器发送第二消息,第二消息中携带有第一设备的设备标识、第一应用程序的标识以及第一应用模块的模块标识。包管理服务BMS从第一服务器接收第三消息,第三消息中携带有第一应用模块的下载地址、第一应用程序的标识以及第一应用模块的模块标识。响应于接收第三消息,包管理服务BMS基于第一应用模块的下载地址,从第二服务器中下载第一应用模块,并将第一应用模块安装在第一设备中。包管理服务BMS向分布式调度服务DMS发送第五消息,第五消息用于向分布式调度服务DMS通知第一应用模块已安装在第一设备中。响应于接收第五消息,分布式调度服务DMS启动第一应用模块。
其中,应用程序的标识的具体实现内容可参见本申请提及的应用的包名的描述内容,第一应用模块的模块标识的具体实现内容可参见本申请提及元能力的元能力名的描述内容,此处不做赘述。
由此,第一设备中的系统模块可通过应用程序的标识以及应用模块的模块标识,显式启动应用模块,使得未安装的应用模块自动安装,且用户对应用模块的下载过程无感知,该应用模块无需在应用程序首次安装时下载且可实现按需下载。
在一种可能的设计中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,方法具体包括:分布式调度服务DMS接收第一消息,第一消息中携带有第一应用程序的标识以及第一应用模块所属类型的标识。响应于接收第一消息,分布式调度服务DMS向包管理服务BMS发送第四消息,第四消息中携带有第一应用程序的标识以及第一应用模块所属类型的标识。响应于接收第四消息,包管理服务BMS确定第一设备是否安装第一应用模块。响应于确定第一设备未安装第一应用模块时,包管理服务BMS向分布式调度服务DMS发送第二消息,第二消息中携带有第一设备的设备标识、第一应用程序的标识以及第一应用模块所属类型的标识。包管理服务BMS从第一服务器接收第三消息,第三消息中携带有第一应用模块的下载地址、第一应用程序的标识以及第一应用模块所属类型的标识。响应于接收第三消息,包管理服务BMS基于第一应用模块的下载地址,从第二服务器中下载第一应用模块,并将第一应用模块安装在第一设备中。包管理服务BMS向分布式调度服务DMS发送第五消息,第五消息用于向分布式调度服务DMS通知第一应用模块已安装在第一设备中。响应于接收第五消息,分布式调度服务DMS启动第一应 用模块。
其中,应用程序的标识的具体实现内容可参见本申请提及的应用的包名的描述内容,第一应用模块所属类型的标识的具体实现内容可参见本申请提及元能力的预定义ACTION的描述内容,此处不做赘述。
由此,第一设备中的系统模块可通过应用程序的标识以及应用模块所属类型的标识,半隐式启动应用模块,充分考虑到三方应用厂商通常不会将应用模块的标识提供给其他厂商,即无需依赖应用模块的标识,还使得未安装的应用模块自动安装,且用户对应用模块的下载过程无感知,该应用模块无需在应用程序首次安装时下载且可实现按需下载。
在一种可能的设计中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,方法具体包括:分布式调度服务DMS接收第一消息,第一消息中携带有第一应用模块所属类型的标识。响应于接收第一消息,分布式调度服务DMS向包管理服务BMS发送第四消息,第四消息中携带有第一应用模块所属类型的标识。响应于接收第四消息,包管理服务BMS确定第一设备是否安装第一应用模块。响应于确定第一设备未安装第一应用模块时,包管理服务BMS向第一服务器发送第二消息,第二消息中携带有第一设备的设备标识以及第一应用模块所属类型的标识。包管理服务BMS从第一服务器接收第三消息,第三消息中携带有第一集合,第一集合的每个子集中携带有一个应用程序的标识、包含在应用程序中的软件模块的模块标识以及软件模块的下载地址,且每个子集中对应的软件模块与第一应用模块属于同一个类型。响应于接收第三消息,包管理服务BMS基于第一集合中选择的一个软件模块的下载地址从第二服务器中下载选择的一个软件模块,并将选择的一个软件模块安装在第一设备中。包管理服务BMS向分布式调度服务DMS发送第五消息,第五消息用于向分布式调度服务DMS通知第一应用模块已安装在第一设备中。响应于接收第五消息,分布式调度服务DMS启动选择的一个软件模块。
其中,第一应用模块所属类型的标识的具体实现内容可参见本申请提及预定义ACTION的描述内容,此处不做赘述。
由此,第一设备中的系统模块可通过应用模块所属类型的标识,隐式启动应用模块,充分考虑到三方应用厂商通常不会将应用模块的标识提供给其他厂商,即无需依赖应用模块的标识,还使得未安装的应用模块自动安装,且用户对应用模块的下载过程无感知,该应用模块无需在应用程序首次安装时下载且可实现按需下载。
在一种可能的设计中,该方法还包括:响应于接收第三消息,包管理服务BMS向分布式调度服务DMS发送第六消息,第六消息中携带有第一集合。
响应于接收第六消息,分布式调度服务DMS基于预设规则从第一集合中确定选择的一个软件模块。或者,响应于接收第六消息,分布式调度服务DMS显示第一窗口,第一窗口中包括与第一集合中的软件模块对应的控件;响应于接收用户在第一窗口中对选择的一个软件模块对应的控件上的第三操作,分布式调度服务DMS确定选择的一个软件模块。
分布式调度服务DMS向包管理服务BMS发送第七消息,第七消息中携带有选择的一个软件模块所属的应用程序的标识以及选择的一个软件模块的模块标识。响应于接收第七消息,包管理服务BMS基于选择的一个软件模块所属的应用程序的标识以及选择的一个软件模块的模块标识,从第一集合中确定选择的一个软件模块的下载地址。
由此,由于应用模块所属类型的标识可对应多个软件模块。因此,系统模块中的分布 式调度服务DMS可按照预设规则或者用户的选择,从多个软件模块中确定出第一设备需求启动的软件模块。
在一种可能的设计中,该方法还包括:响应于确定第一设备已安装第一应用模块时,系统模块启动第一应用模块。由此,充分考虑到第一设备是否安装应用模块的各种情况,确保了方案的完整性。
在一种可能的设计中,第一设备与第三设备通信连接。该方法还包括:系统模块向第三设备发送第八消息,第八消息用于请求第三设备启动第三应用模块,第三应用模块为第三应用程序中的一个软件模块,第三应用模块未安装在第三设备中;第八消息中携带有第三设备的设备标识、第三应用程序的标识以及第三应用模块的模块标识,或者第八消息中携带有第三设备的设备标识、第三应用程序的标识以及第三应用模块所属类型的标识,或者第八消息中携带有第三设备的设备标识以及第三应用模块所属类型的标识。
由此,第一设备可触发第三设备中的系统模块来启动第三设备中的未安装的应用模块,使得第一设备不仅能够启动自身中未安装的应用模块,还可控制其他设备启动第三设备中未安装的应用模块,增加了第一设备的实现功能。
在一种可能的设计中,该方法具体包括:系统模块中的分布式调度服务DMS向第三设备中的分布式调度服务DMS发送第八消息。
第二方面,本申请提供一种应用模块启动方法,该方法应用于第一设备,第一设备包括:第四应用模块和系统模块,第四应用模块为第四应用程序中的一个软件模块,第一设备与第四设备通信连接。
该方法包括:响应于接收用户的第四操作,第四应用模块向系统模块发送第九消息,第九消息与第五应用模块关联,第五应用模块为第五应用程序中的一个软件模块,第四应用程序与第五应用程序不同。响应于接收第九消息,系统模块确定第一设备和第四设备是否安装第五应用模块。响应于确定第一设备和第四设备均未安装第五应用模块时,系统模块向第一服务器发送第十消息,第十消息用于下载第五应用模块。系统模块从第一服务器接收第十一消息,第十一消息为第一服务器响应于接收第十消息得到的与第五应用模块关联的消息。响应于接收第十一消息,系统模块实现第一设备和/或第四设备中下载、安装并启动第五应用模块。
其中,系统模块具体实现内容可参见本申请提及的系统服务的描述内容,应用模块的具体实现内容可参见本申请提及的元能力的描述内容,第一服务器可参见本申请提及的HAG服务器的描述内容,此处不做赘述。并且,第一设备与第四设备通信连接可理解为第一设备与第四设备在同一个分布式网络中。
通过第二方面的方法,第一设备中的已安装的应用模块可触发第一设备中的系统模块启动同一个分布式网络中选择的设备中的未安装的第五应用模块,第一设备中的系统模块可查询同一个分布式网络中的全部的设备中是否安装有第五应用模块。在确定同一个分布式网络中的全部的设备中未安装第五应用模块时,第一设备中的系统模块可通过与第一服务器进行通信,使得第一设备中的系统模块基于从第一服务器发送的消息,可在同一个分布式网络中选择的设备中下载、安装并启动第五应用模块。从而,借助同一个分布式网络中的各个设备之间的联动,实现了该应用模块的按需下载,使得同一个分布式网络中的设备在首次安装该应用程序时,可选择该应用程序中的部分的应用模块,无需安装该应用程 序中的全部的应用模块,节省了同一个分布式网络中的设备安装该应用程序的存储空间,且丰富了该应用程序的功能实现,为用户提供了该应用程序的更多功能,还使得同一个分布式网络中的设备可安装更多种类的应用程序,有利于丰富用户使用更多种类的应用程序。
在一种可能的设计中,该方法具体包括:系统模块从第一服务器接收第十一消息,第十一消息中携带有第五应用模块的下载地址和适用于第五应用模块的下载地址的设备类型。响应于接收第十一消息,系统模块确定适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备。
响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备时,系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块,将第五应用模块安装在第一设备中,并在第一设备中启动第五应用模块。
或者,响应于确定适用于第五应用模块的下载地址的设备类型包括第四设备时,系统模块向第四设备发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址。
或者,响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,系统模块显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块,将第五应用模块安装在第一设备中,并在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,系统模块向第四设备发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址。
其中,第五应用模块的下载地址的具体实现内容可参见本申请提及的元能力的CDN下载地址的描述内容,第二服务器的具体实现内容可参见本申请提及的CDN服务器的描述内容,适用于第五应用模块的下载地址的设备类型可参见本申请提及的适用于元能力的下载地址的设备类型的描述内容,此处不做赘述。
由此,第一设备中的系统模块可从第一服务器中获取第五应用模块的下载地址。第一设备中的系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块。且第一设备中的系统模块基于适用于第五应用模块的下载地址的设备类型,从第一设备和第四设备中确定需要启动第五应用模块的设备。从而,第一设备中的系统模块便可实现第一设备和/或第四设备启动第五应用模块的过程。可见,由第一服务器存储应用模块的下载地址,由第二服务器存储应用模块本身,使得第一设备中的系统模块分别与第一服务器和第二服务器分开进行交互,有利于第一设备中的系统模块顺利启动未安装的应用模块。
另外,除了上述下载第五应用模块的实现方式之外,第一服务器也可事先存储有第五应用模块,使得第一设备中的系统模块可从第一服务器直接下载第五应用模块。
在一种可能的设计中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,该方法具体包括:响应于接收第四操作,第四应用模块向分布式调度服务DMS发送第九消息,第九消息中携带有第五应用程序的标识以及第五应用模块的模块标识。响应于接收第九消息,分布式调度服务DMS向包管理服务BMS发送第十三消息,第十三消息中携带有第五应用程序的标识以及第五应用模块的模块标识。响应于接收第十三消息,包管理服务BMS确定第一设备和第四设备是否安装第五应用模块。响应于确定第一设备和 第四设备均未安装第五应用模块时,包管理服务BMS向第一服务器发送第十消息,第十消息中携带有第五应用程序的标识以及第五应用模块的模块标识。包管理服务BMS从第一服务器接收第十一消息,第十一消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块的模块标识。响应于接收第十一消息,包管理服务BMS向分布式调度服务DMS发送第十四消息,第十四消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块的模块标识。响应于接收第十四消息,分布式调度服务DMS确定适用于第五应用模块的设备类型是否包括第一设备和第四设备。
响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备时,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块。
或者,响应于确定适用于第五应用模块的下载地址的设备类型包括第四设备时,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块的模块标识。
或者,响应于确定适用于第五应用模块的下载地址的下载地址的设备类型包括第一设备和第四设备时,分布式调度服务DMS显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块的模块标识。
其中,应用程序的标识的具体实现内容可参见本申请提及的应用的包名的描述内容,第五应用模块的模块标识的具体实现内容可参见本申请提及元能力的元能力名的描述内容,此处不做赘述。
由此,第一设备中的系统模块可通过应用程序的标识以及应用模块的模块标识,实现同一个分布式网络中的第一设备和/或第四设备显式启动应用模块,使得未安装的应用模块自动安装,且用户对应用模块的下载过程无感知,该应用模块无需在应用程序首次安装时下载且可实现按需下载。
在一种可能的设计中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,该方法具体包括:响应于接收第四操作,第四应用模块向分布式调度服务DMS发送 第九消息,第九消息中携带有第五应用程序的标识以及第五应用模块所属类型的标识。响应于接收第九消息,分布式调度服务DMS向包管理服务BMS发送第十三消息,第十三消息中携带有第五应用程序的标识以及第五应用模块所属类型的标识。响应于接收第十三消息,包管理服务BMS确定第一设备和第四设备是否安装第五应用模块。响应于确定第一设备和第四设备均未安装第五应用模块时,包管理服务BMS向第一服务器发送第十消息,第十消息中携带有第五应用程序的标识以及第五应用模块所属类型的标识。包管理服务BMS从第一服务器接收第十一消息,第十一消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块所属类型的标识。响应于接收第十一消息,包管理服务BMS向分布式调度服务DMS发送第十四消息,第十四消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块所属类型的标识。响应于接收第十四消息,分布式调度服务DMS确定适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备。
响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备时,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块。
或者,响应于确定适用于第五应用模块的下载地址的设备类型包括第四设备时,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
或者,响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,分布式调度服务DMS显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,应用程序的标识的具体实现内容可参见本申请提及的应用的包名的描述内容,第五应用模块所属类型的标识的具体实现内容可参见本申请提及元能力的预定义ACTION的描述内容,此处不做赘述。
由此,第一设备中的系统模块可通过应用程序的标识以及应用模块所属类型的标识,实现同一个分布式网络中的第一设备和/或第四设备半隐式启动应用模块,充分考虑到三 方应用厂商通常不会将应用模块的标识提供给其他厂商,即无需依赖应用模块的标识,还使得未安装的应用模块自动安装,且用户对应用模块的下载过程无感知,该应用模块无需在应用程序首次安装时下载且可实现按需下载。
在一种可能的设计中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,该方法具体包括:响应于接收第四操作,第四应用模块向分布式调度服务DMS发送第九消息,第九消息中携带有第五应用模块所属类型的标识。响应于接收第九消息,分布式调度服务DMS向包管理服务BMS发送第十三消息,第十三消息中携带有第五应用模块所属类型的标识。响应于接收第十三消息,包管理服务BMS确定第一设备和第四设备是否安装第五应用模块。响应于确定第一设备和第四设备均未安装第五应用模块时,包管理服务BMS向第一服务器发送第十消息,第十消息中携带有第五应用模块所属类型的标识。包管理服务BMS从第一服务器接收第十一消息,第十一消息中携带有第二集合,第二集合的每个子集中携带有一个应用程序的标识,包含在应用程序中的软件模块的模块标识以及适用于软件模块的下载地址的设备类型,且每个子集中对应的软件模块与第五应用模块同属于一个类型。响应于接收第十一消息,包管理服务BMS向分布式调度服务DMS发送第十四消息,第十四消息中携带有第二集合。响应于接收第十四消息,分布式调度服务DMS确定第二集合中适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备。
响应于确定第二集合中适用于第五应用模块的下载地址的设备类型包括第一设备时,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块。
或者,响应于确定第二集合中适用于第五应用模块的下载地址的设备类型包括第四设备时,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
或者,响应于确定第二集合中适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,分布式调度服务DMS显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,第五应用模块所属类型的标识的具体实现内容可参见本申请提及预定义ACTION的描述内容,此处不做赘述。
由此,第一设备中的系统模块可通过应用模块所属类型的标识,实现同一个分布式网络中的第一设备和/或第四设备隐式启动应用模块,充分考虑到三方应用厂商通常不会将应用模块的标识提供给其他厂商,即无需依赖应用模块的标识,还使得未安装的应用模块自动安装,且用户对应用模块的下载过程无感知,该应用模块无需在应用程序首次安装时下载且可实现按需下载。
在一种可能的设计中,该方法还包括:响应于确定第一设备已安装第五应用模块,且第四设备未安装第五应用模块时,系统模块在第一设备中启动第五应用模块。
或者,响应于确定第一设备未安装第五应用模块,且第四设备已安装第五应用模块时,系统模块向第四设备发送第十七消息,第十七消息用于请求第四设备启动第五应用模块。
或者,响应于确定第一设备和第四设备均已安装第五应用模块时,系统模块显示第三窗口,第三窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第三窗口中对第一设备对应的控件上的第六操作,系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块,将第五应用模块安装在第一设备中,并在第一设备中启动第五应用模块;和/或,响应于接收用户在第三窗口中对第四设备对应的控件上的第六操作,系统模块向第四设备发送第十七消息,第十七消息用于请求第四设备启动第五应用模块。
由此,充分考虑到第一设备和第四设备是否安装第五应用模块的各种情况,确保了方案的完整性。
第三方面,本申请提供一种电子设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令使得电子设备执行第一方面及第一方面任一种可能的设计中的应用模块启动方法;或者,处理器用于调用存储器中的程序指令使得电子设备执行第二方面及第二方面任一种可能的设计中的应用模块启动方法。
第四方面,本申请提供一种芯片系统,芯片系统应用于包括存储器、显示屏和传感器的电子设备;芯片系统包括:处理器;当处理器执行存储器中存储的计算机指令时,电子设备执行第一方面及第一方面任一种可能的设计中的应用模块启动方法;或者,电子设备执行第二方面及第二方面任一种可能的设计中的应用模块启动方法。
第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得电子设备执行时实现第一方面及第一方面任一种可能的设计中的应用模块启动方法;或者,计算机程序被处理器使得电子设备执行时实现第二方面及第二方面任一种可能的设计中的应用模块启动方法。
第六方面,本申请提供一种计算机程序产品,包括:执行指令,执行指令存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取执行指令,至少一个处理器执行执行指令使得电子设备实现第一方面及第一方面任一种可能的设计中的应用模块启动方法;或者,至少一个处理器执行执行指令使得电子设备实现第二方面及第二方面任一种可能的设计中的应用模块启动方法。
附图说明
图1为本申请一实施例提供的一种电子设备的结构示意图;
图2为本申请一实施例提供的一种电子设备的软件结构框图;
图3A-图3C为本申请一实施例提供的人机交互界面示意图;
图4A为本申请一实施例提供的一种场景示意图;
图4B-图4C为本申请一实施例提供的人机交互界面示意图;
图5为本申请一实施例提供的一个应用程序的各个阶段的示意图;
图6为本申请一实施例提供的一种应用模块启动方法的流程示意图;
图7A-图7C为本申请一实施例提供的一种应用模块启动方法的流程示意图;
图8A-图8I为本申请一实施例提供的人机交互界面示意图;
图9为本申请一实施例提供的一个应用程序的各个阶段的示意图;
图10A-图10C为本申请一实施例提供的一种应用模块启动方法的流程示意图;
图11A-图11E为本申请一实施例提供的人机交互界面示意图;
图12为本申请一实施例提供的一个应用程序的各个阶段的示意图;
图13A-图13C为本申请一实施例提供的一种应用模块启动方法的流程示意图;
图14为本申请一实施例提供的一种应用模块启动方法的流程示意图;
图15为本申请一实施例提供的一种应用模块启动方法的流程示意图。
具体实施方式
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,单独a,单独b或单独c中的至少一项(个),可以表示:单独a,单独b,单独c,组合a和b,组合a和c,组合b和c,或组合a、b和c,其中a,b,c可以是单个,也可以是多个。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本申请中,电子设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等,本申请对电子设备的具体类型不作任何限制。
下面以电子设备为手机为例,结合图1,介绍本申请涉及的电子设备。
图1为本申请一实施例提供的一种电子设备的结构示意图。如图1所示,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感 器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现电子设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。 它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(display serial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现电子设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现电子设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为电子设备100充电,也可以用于电子设备100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如AR设备等。
可以理解的是,本申请示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接 收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code division multiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled, MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入 转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测所述触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。电子设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器180G检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,电子设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请以分层架构的Android系统为例,示例性说明电子设备100的软件结构。其中,本申请对电子设备的操作系统的类型不做限定。例如,Android系统、Linux系统、Windows系统、iOS系统、鸿蒙操作系统(harmony operating system,鸿蒙OS)等。
图2为本申请一实施例提供的一种电子设备的软件结构框图。如图2所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层(APP),应用程序框架层(APP framework),安卓运行时(Android runtime)和系统库(libraries),以及内核层(kernel)。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,游戏,聊天,购物,出行,即时通信(如短信息),智能家居,设备控制等应用程序(application,APP)。
其中,智能家居应用可用于对具有联网功能的家居设备进行控制或管理。例如,家居设备可以包括电灯、电视和空调。又如,家居设备还可以包括防盗门锁、音箱、扫地机器人、插座、体脂秤、台灯、空气净化器、电冰箱、洗衣机、热水器、微波炉、电饭锅、窗帘、风扇、电视、机顶盒、门窗等。
另外,应用程序包还可以包括:主屏幕(即桌面),负一屏,控制中心,通知中心等应用程序。
其中,负一屏,又可称为“-1屏”,是指在电子设备的主屏幕向右滑动屏幕,直至滑动至最左侧分屏的用户界面(user interface,UI)。例如,负一屏可以用于放置一些快捷服务功能和通知消息,比如全局搜索、应用程序某个页面的快捷入口(付款码、微信等)、即时信息及提醒(快递信息、支出信息、通勤路况、打车出行信息、日程信息等)及关注动态(足球看台、篮球看台、股票信息等)等。控制中心为电子设备的上滑消息通知栏, 即当用户在电子设备的底部开始进行向上滑动的操作时电子设备所显示出的用户界面。通知中心为电子设备的下拉消息通知栏,即当用户在电子设备的顶部开始进行向下操作时电子设备所显示出的用户界面。
应用程序框架层为应用程序层的应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,活动管理器,窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器(window manager)用于管理窗口程序,如管理窗口状态、属性、视图(view)增加、删除、更新、窗口顺序、消息收集和处理等。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。并且,窗口管理器为外界访问窗口的入口。
内容提供器用于存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器(resource manager)为应用程序提供各种资源,比如本地化字符串,图标,图片,用户界面的布局文件(layout xml),视频文件,字体,颜色,用户界面组件(user interface module,UI组件)的身份证标识号(identity document,ID)等。并且,资源管理器用于统一管理前述资源。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
安卓运行时包括核心库和虚拟机。安卓运行时负责Android系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是Android系统的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGLES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合利用智能音箱播放声音的场景,示例性说明电子设备100的软件和硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为智能音箱图标的控件为例,智能音箱应用调用应用框架层的接口,启动智能音箱应用,进而通过调用内核层启动音频驱动,通过扬声器170A将音频电信号转换成声音信号。
可以理解的是,本申请示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
基于前述描述,本申请以下实施例将以具有图1和图2所示结构的电子设备为例,结合附图和应用场景,对本申请提供的应用模块启动方法进行详细阐述。
结合图3A-图3C,介绍电子设备启动一个应用程序中未安装的元能力的具体实现过程。为了便于说明,图3A-图3C中,以电子设备为手机,手机中安装有应用A,应用A为XX出行应用为例进行示意。
其中,在电子设备首次安装XX出行应用时安装有元能力A1且未安装有元能力A2。元能力A1和元能力A2均为软件代码,元能力A1用于提供打车对应的页面且触发启动应用A的元能力A1,元能力A2用于提供拼车对应的页面。
其中,元能力(简称Ability)为电子设备能够独立运行应用程序的最小单元组件。一个应用程序可包括一个或者多个元能力。不同的应用程序可包括相同功能的元能力,也可包括不同功能的元能力。
请参阅图3A-图3C,图3A-图3C为本申请一实施例提供的人机交互界面示意图。
手机可显示如图3A示例性所示的用户界面11。其中,用户界面11可以为桌面的主界面(Home screen),用户界面11可以包括但不限于:状态栏,导航栏,日历指示符,天气指示符,以及多个应用程序图标等。应用程序图标还可以包括:XX出行应用的图标301,也可以包括:如华为视频应用的图标、音乐应用的图标、手机管家应用的图标、设置应用的图标、XX地图应用的图标、智慧生活应用的图标、运动健康应用的图标、通话应用的图标、短信应用的图标、浏览器应用的图标、相机应用的图标等。
由于元能力A1在手机首次安装XX出行应用后已安装在手机中,因此,手机在检测到用户指示的启动XX出行应用的操作(如在图3A所示的用户界面11中点击XX出行应用的图标301)后,启动元能力A1,便可显示图3B示例性所示的用户界面12,用户界面12用于显示打车对应的页面。其中,用户界面12中可以包括:控件302和控件303,控件302用于进入到打车对应的页面,控件303用于进入到拼车对应的页面。
又由于元能力A2在手机首次安装XX出行应用后未安装在手机中,且在响应于用户的操作后通过元能力A1可下载并安装在手机中,因此,在手机检测到用户在图3B所示 的用户界面12中执行如点击控件303的操作后,元能力A1触发手机中的系统服务,手机中的系统服务向HAG服务器获取XX出行应用的元能力A2的CDN下载地址。且手机中的系统服务基于XX出行应用的元能力A2的CDN下载地址可从CDN服务器下载XX出行应用的元能力A2。进而,手机中的系统服务可在手机中安装XX出行应用的元能力A2,从而手机中的系统服务启动元能力A2,便可显示图3C示例性所示的用户界面13,用户界面13用于显示拼车对应的页面。
综上,手机通过一个应用程序中已安装的元能力触发手机中的系统服务,可查询、下载并安装该应用程序中未安装的元能力,以便启动未安装的元能力,从而手机在首次安装该应用程序时,可选择该应用程序中部分的元能力,无需安装该应用程序中全部的元能力,节省了手机的存储空间,且丰富了该应用程序的功能实现,为用户提供该应用程序的更多功能。
结合图4A-图4C,介绍电子设备启动一个应用程序中未安装的元能力的具体实现过程。为了便于说明,图4A-图4C中,以电子设备为手机,手机中安装有应用A的元能力A1,手机中未安装应用B的元能力B1,且应用A的元能力A1可触发启动应用B的元能力B1。应用A的元能力A1为华为Hilink服务(service)软件模块,应用B为XX电器厂商的智能家居应用,元能力B1为电饭煲的元能力为例进行示意。
其中,华为Hilink服务软件模块没有UI,且华为Hilink服务软件模块用于触发启动应用B的元能力B1,元能力B1为软件代码,元能力B1用于提供调节电饭煲的工作模式、加热温度、加热时长等参数的页面。
请参阅图4A,图4A为本申请一实施例提供的一种场景示意图,图4B-图4C为本申请一实施例提供的人机交互界面示意图。
手机可显示如图4B示例性所示的用户界面21。其中,用户界面21可以为桌面的主界面(Home screen),用户界面21可以包括但不限于:状态栏,导航栏,日历指示符,天气指示符,以及多个应用程序图标等。应用程序图标可以包括:XX电器厂商的智能家居应用401,应用程序图标还可以包括:如华为视频应用的图标、音乐应用的图标、手机管家应用的图标、设置应用的图标、XX地图应用的图标、XX出行应用的图标、智慧生活应用的图标、运动健康应用的图标、通话应用的图标、短信应用的图标、浏览器应用的图标、相机应用的图标等。
假设用户想要在手机上调节电饭煲的如工作模式、加热温度、加热时长等参数,且手机未安装XX电器厂商的智能家居应用的电饭煲的元能力B1,则如图4A所示,手机碰一碰电饭煲。手机在检测到用户执行如将手机与电饭煲碰一碰的操作后,华为Hilink服务软件模块触发手机中的系统服务。手机中的系统服务确定XX电器厂商的智能家居应用的电饭煲的元能力B1是否安装。在手机中的系统服务确定XX电器厂商的智能家居应用的电饭煲的元能力B1未安装时,手机中的系统服务通过HAG服务器获取XX电器厂商的智能家居应用的电饭煲的元能力B1的CDN下载地址。手机中的系统服务基于电饭煲的元能力B1的CDN下载地址可从CDN服务器中下载电饭煲的元能力B1。进而,手机中的系统服务可在手机中安装电饭煲的元能力B1,从而手机中的系统服务启动电饭煲的元能力B1,便可从显示图4B示例性所示的用户界面21变为显示图4C示例性所示的用户界面22,用户界面22用于显示电饭煲的元能力B1对应的页面,即调节电饭煲的工作模式、 加热温度、加热时长等参数的页面。从而,方便用户能够通过电饭煲的元能力B1对应的页面灵活且快速调节电饭煲的参数。
综上,手机通过一个应用程序中已安装的元能力触发手机中的系统服务,可查询、下载并安装另一个应用程序中未安装的元能力,以便启动另一个应用程序中未安装的元能力,从而启动未安装的元能力,使得不同的应用程序的元能力之间能够配合,完成元能力对应的功能实现,从而降低了手机的存储量,节省了手机的存储空间。
基于图3A-图3C以及图4A-图4C实施例的描述,电子设备不仅支持同一应用程序中已安装的元能力触发电子设备中的系统服务启动未安装的元能力,也支持一个应用中安装的元能力触发电子设备中的系统服务启动另外一个应用中的未安装元能力,从而,电子设备无需安装一个应用程序中全部的元能力,也可基于用户需求利用已安装的元能力快速且及时下载未安装的元能力,降低了电子设备的存储量,节省了电子设备的存储空间,丰富了电子设备安装应用程序的种类,有利于电子设备向用户提供更多的功能实现。
请参阅图5,图5为本申请一实施例提供的一个应用程序的各个阶段的示意图。
如图5所示,在一个应用程序的生命周期过程中,可包括四个阶段——开发调试阶段、发布上架阶段、云端部署分发阶段以及端侧下载安装阶段。
在开发调试阶段中,开发者开发一个应用,可将该应用生成元子化包(harmony OS ability package,hap包),并将一个或者多个hap包打包成应用包(App Pack,缩写为.app)。
其中,一个应用包中的多个hap包可划分为一组或者多组hap包。每组hap包可对应一个或者多个设备类型的设备,且每组hap包中的各个hap包所对应的编程语言相同,不同组hap包所对应的编程语言可相同或不同。
在一些实施例中,每组hap包的类型通常可以包括两种。
第一种类型的hap包为包含应用的入口Ability的部署包(即图5所示的主模块,缩写为Entry.hap),通常只有一个,由代码、三方库、资源以及配置文件组成。其中,代码可以是一个或者多个Ability,以及依赖的公共代码(common codes)。三方库可采用so库,与公共代码(common codes)的不同在于,so库能够独立编译且无源代码。并且,第一种类型的hap包可支持免安装,通常会随着应用首次安装而自动安装。另外,应用的入口Ability通常为该应用的首页面/主页面对应的Ability。
第二种类型的hap包为应用的其它代码或资源的部署包(即图5所示的动态特性模块1和动态特性模块2,缩写为Feature.hap),可以有多个,由代码、三方库、资源以及配置文件组成。其中,代码可以是一个或多个Ability,以及依赖的公共代码(common codes),也可以只包含三方库,也可以不包含任何代码而只包含资源,本申请对此不做限定。资源可以是该组hap包中代码所依赖的资源,也可以其他hap包所使用的资源,也可以前述两种资源,本申请对此不做限定。并且,包含Ability的第二种类型的hap包可支持免安装,通常会随着应用首次安装而自动安装,不包含Ability的第二种类型的hap包需要通过电子设备的应用程序接口(application programming interface,API)下载并安装,通常不会随着应用首次安装而自动安装。另外,应用的其它代码或资源为除了该应用的入口Ability之外的代码或资源,如该应用除了主页面之外的其他页面对应的Ability。
需要说明的是,hap包的类型不限于上述两种类型。
在开发调试阶段中,开发者对一个应用包(App Pack,缩写为.app)进行签名,得到 已签名的应用包(App Pack)50(即应用包(App Pack)50中的主模块、动态特性模块1和动态特性模块2均已签名)。
在发布上架阶段中,开发者将应用包(App Pack)50上传到云端服务器40,如华为市场服务器等。
在云端部署分发阶段中,云端服务器40可对应用包(App Pack)50执行如签名验证审核、应用包拆分、hap重签名、存储、提取Ability等操作。
在一些实施例中,存储操作的具体实现过程为:云端服务器40可将应用包(App Pack)50划分为多个hap包,并对多个hap包进行存储,如部署到内容分发网络(content delivery network,CDN)服务器30中。
在一些实施例中,提取Ability操作的具体实现过程为:云端服务器40可提取划分后的多个hap包的Ability,并建立划分后的多个hap包的Ability索引列表,便可将划分后的多个hap包的Ability索引列表存储到如华为元子化智慧平台(HUAWEI ability gallery,HAG)服务器20中。
Ability索引列表中包括每个hap包的Ability的元能力名,或者每个hap包的Ability的元能力名和预定义ACTION。
其中,元能力名指的是元能力的唯一标识,如采用数字、字母或者字符等表示形式。
其中,预定义ACTION为HAG服务器20定义的事件。每个预定义ACTION标识一个特定的功能。在一个元能力注册预定义ACTION后,该元能力支持该预定义ACTION对应的特定的功能。并且,对于注册了同一个预定义ACTION的元能力1和元能力2,那么元能力1和元能力2支持相同的功能,即该预定义ACTION对应的特定的功能。注册了不同预定义ACTION的元能力1和元能力2,那么元能力1和元能力2支持的功能不同。元能力1所在的应用和元能力2所在的应用可相同或者不同。
另外,电子设备中的系统服务可通过预定义ACTION启动注册了该预定义ACTION的元能力。HAG服务器可根据预定义ACTION匹配到注册了该ACTION的元能力。
在端侧下载安装阶段中,基于图2实施例中的Android系统的电子设备的软件结构框图,设备a 11的分层架构从上至下分别为应用程序层(APP),应用程序框架层(APP framework),安卓运行时(Android runtime,图5中未进行示意)和系统库(libraries),以及内核层(kernel)。
其中,设备a 11为一个电子设备。
应用程序层包括应用A,或者应用A和应用B,设备a 11通过应用A的一个元能力触发设备a 11中的系统服务可启动应用B的一个元能力。
应用框架层包括分布式调度服务(distributed schedule manager service,DMS)和包管理服务(bundle manager service,BMS)。DMS和BMS均为电子设备中的系统服务。
DMS用于启动一个元能力。例如,DMS在基于元能力的元能力名和元能力所在应用的包名获知电子设备已安装应用的元能力后可启动该元能力(简称为显式启动)。又如,DMS在基于元能力的预定义ACTION和元能力所在应用的包名获知电子设备已安装应用的元能力后可启动该元能力(简称为半隐式启动)。又如,DMS在基于预定义ACTION获知电子设备已安装预定义ACTION对应的元能力后可启动预定义ACTION对应的元能力(简称为隐式启动)。
BMS用于确定一个元能力是否安装在设备a 11中,并在一个元能力未安装时从HAG服务器20中获取该元能力的CDN下载地址,以便基于该元能力的CDN下载地址从CDN服务器30中获取该元能力。系统库包括分布式应用组件数据库。
BMS还用于在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中。解析后的配置文件(config.json)可以包括:该元能力对应的应用包名和该元能力的元能力名,或者,该元能力对应的应用包名及该元能力的预定义ACTION,或者,该元能力对应的应用包名、该元能力的元能力名及该元能力的预定义ACTION。即一个元能力对应的应用的包名、元能力名以及预定义ACTION均可在元能力的配置文件中进行注册。另外,解析后的配置文件(config.json)还可以包括:该元能力支持的设备类型、该元能力对应的hap包的名称、该元能力对应的hap包的类型、该元能力是否主动安装等信息。
下面,结合场景一和场景二,介绍电子设备启动一个应用程序中未安装的元能力的具体实现过程。
场景一
场景一描述的是:一个电子设备通过同一应用程序中已安装的元能力触发该电子设备中的系统服务启动该应用程序中未安装的元能力的具体实现过程。
结合图5,假设设备a 11已安装有应用A的元能力A1,且通过元能力A1触发设备a11中的系统服务可启动应用A未安装的元能力A2,那么基于用户意愿,应用A的元能力A1可向DMS请求启动应用A的元能力A2。DMS可向BMS请求查询元能力A2是否安装在设备a 11。
在BMS确定元能力A2已安装在设备a 11中时,BMS可向DMS通知元能力A2已安装。DMS便可启动元能力A2。
在BMS确定元能力A2未安装在设备a 11中时,BMS可从HAG服务器20中,获取元能力A2的CDN下载地址。BMS基于元能力A2的CDN下载地址,可从CDN服务器30中下载元能力A2,使得BMS在设备a 11中安装元能力A2。BMS可向DMS通知元能力A2已安装。DMS便可启动元能力A2。
其中,图3A-图3C示例性的内容可对上述过程进行解释说明。
综上,设备a 11通过应用A中已安装的元能力A1触发电子设备中的系统服务可启动应用A中未安装的元能力A2。
基于前述描述,结合图6,对图3A-图3C实施例中的设备a 11通过应用A中已安装的元能力A1触发设备a 11中的系统服务启动应用A中未安装的元能力A2的实现过程进行具体阐述。其中,设备a 11可参见图3A-图3C实施例中的手机的描述,应用A可参见图3A-图3C实施例中的XX出行应用的描述,元能力A1可参见图3A-图3C实施例中的元能力A1的描述,元能力A2可参见图3A-图3C实施例中的元能力A2的描述。
请参阅图6,图6为本申请一实施例提供的一种应用模块启动方法的流程示意图。
如图6所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S101、应用A的元能力A1响应于用户的操作1,向DMS发送应用A的包名和元能力A2的元能力名。
其中,操作1可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作 1可为用户在图3B所示的用户界面12中执行的如点击控件303的操作。
并且,操作1与应用A的元能力A2关联。也就是说,元能力A1基于操作1可获知设备a 11需要启动应用A的元能力A2。由于应用A预先存储有与操作1关联的元能力A2的元能力名,且元能力A1和元能力A2均为应用A的元能力,因此,元能力A1可获知应用A的包名和元能力A2的元能力名。从而,元能力A1可向DMS请求启动应用A的元能力A2,该请求中携带有应用A的包名和元能力A2的元能力名。
其中,应用A的包名可唯一标识应用A,元能力A2的元能力名可唯一标识元能力A2。应用A的包名和元能力A2的元能力名可采用如字母、字符、数字等至少一种方式进行表示。此处的应用A的包名可对应于步骤S1201中的第一应用程序的标识,元能力A2的元能力名可对应于步骤S1201中的第一应用模块的模块标识。
另外,元能力A1可将应用A的包名和元能力A2的元能力名携带在一消息中发送给DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1201中的第一消息。
S102、DMS向BMS发送应用A的包名和元能力A2的元能力名。从而,DMS可向BMS请求查询应用A的元能力A2是否已安装。
其中,DMS可将应用A的包名和元能力A2的元能力名携带在一消息中发送给BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1202中的第四消息。
S103、BMS基于应用A的包名和元能力A2的元能力名,判断应用A的元能力A2是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,BMS可查询分布式应用组件数据库中是否存在应用A的元能力A2的配置文件,从而确定应用A的元能力A2是否安装在设备a 11中。
在分布式应用组件数据库中不存在应用A的元能力A2的配置文件时,BMS可确定应用A的元能力A2未安装在设备a 11中,从而BMS可执行步骤S104-S110;在分布式应用组件数据库中存在应用A的元能力A2的配置文件时,BMS可确定应用A的元能力A2安装在设备a 11中,从而BMS可执行步骤S109-S110。
S104、BMS向HAG服务器20发送设备a 11的ID、应用A的包名和元能力A2的元能力名。从而,BMS可通过设备a 11中的系统属性获取设备a 11的ID,并向HAG服务器20请求为设备a 11下载应用A的元能力A2。
其中,BMS可将设备a 11的ID、应用A的包名和元能力A2的元能力名携带在一消息中,并从设备a 11与HAG服务器20的通信通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1204中的第二消息。
并且,设备a 11的ID用于唯一指示设备a 11,表示设备a 11需要从HAG服务器20中获取元能力A2的CDN下载地址。另外,本申请对设备a 11的ID的具体实现方式不做限定。例如,设备a 11的设备类型或者设备a 11的固定资产编号。
S105、HAG服务器20基于应用A的包名和元能力A2的元能力名,获取匹配到的应用A的元能力A2的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名和元能力名,因此,HAG服务器20基于应用A的包名和元能力A2的元能力名,可以匹配到应用A的元能力A2对应的CDN下载地址。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到元能力A2对应的CDN下载地址对应的元能力A2通常为最新版本。
S106、HAG服务器20向BMS发送应用A的包名、元能力A2的元能力名及元能力A2的CDN下载地址。其中,HAG服务器20从设备a 11与HAG服务器20的通信通道,可将应用A的包名、元能力A2的元能力名及元能力A2的CDN下载地址携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1205中的第三消息。此处的元能力A2的CDN下载地址可对应于步骤S1205中的第一应用模块的下载地址。
S107、BMS基于应用A的包名、元能力A2的元能力名及元能力A2的CDN下载地址,从CDN服务器30中下载应用A的元能力A2。此处的CDN服务器30对应于步骤S1206中的第二服务器。
S108、BMS安装应用A的元能力A2。
S109、BMS向DMS通知应用A的元能力A2已安装。此处的该通知可对应于步骤S1207中的第五消息。
S110、DMS启动应用A的元能力A2(即显式启动),对应于步骤S1208的描述内容。
综上,基于图6实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用A的包名和元能力A2的元能力名,启动设备a 11中应用A的元能力A2。
场景二
场景二描述的是:一个电子设备通过一个应用程序中安装的元能力触发该电子设备中的系统服务启动另一个应用程序中未安装的元能力的具体实现过程。其中,本申请对电子设备是否安装另一个应用程序不做限定。
结合图5,假设设备a 11已安装应用A的元能力A1,且通过元能力A1触发设备a 11中的系统服务可启动应用B的元能力B1,那么基于用户意愿,应用A的元能力A1可向DMS请求启动应用B的元能力B1。DMS可向BMS请求查询应用B的元能力B1是否安装在设备a 11。
在BMS确定元能力B1已安装在设备a 11中时,BMS可向DMS通知元能力B1已安装。DMS便可启动元能力B1。其中,应用程序层还包括应用B。
在BMS确定元能力B1未安装在设备a 11中时,BMS可从HAG服务器20中,获取元能力B1的CDN下载地址。BMS基于元能力B1的CDN下载地址,可从CDN服务器30中下载元能力B1,使得BMS在设备a 11中安装元能力B1,还使得应用程序层还包括应用B。BMS可向DMS通知元能力B1已安装。DMS便可启动元能力B1。
其中,图4A-图4C示例性的内容可对上述过程进行解释说明。
综上,设备a 11通过应用A中已安装的元能力A1触发设备a 11中的系统服务可启动应用B中未安装的元能力B1。
基于前述描述,结合图7A-图7C,对图4A-图4C实施例中的设备a 11通过应用A中已安装的元能力A1触发设备a 11中的系统服务启动应用B中未安装的元能力B1的实现过程进行具体阐述。其中,设备a 11可参见图4A-图4C实施例中的手机的描述,应用A可参见图4A-图4C实施例中的华为Hilink服务(service)软件模块的描述,应用B可参见图4A-图4C实施例中的XX厂商的智能家居应用的描述,元能力A1可参见图4A-图4C实施例中的元能力A1的描述,元能力B1可参见图4A-图4C实施例中电饭煲的元能力B1的描述。
请参阅图7A-图7C,图7A-图7C为本申请一实施例提供的一种应用模块启动方法的流程示意图。
如图7A所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S201、应用A的元能力A1响应于用户的操作2,向DMS发送应用B的包名和元能力B1的元能力名。
其中,操作2可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作2可为用户在图4B实施例中的用户执行的将手机与电饭煲碰一碰的操作。
并且,操作2与应用B的元能力B1关联。也就是说,元能力A1基于操作2可获知设备a 11需要启动应用B的元能力B1。由于应用A预先存储有与操作2关联的应用B的包名以及应用B的元能力B1的元能力名,因此,元能力A1可获知应用B的包名和元能力B1的元能力名。从而,元能力A1可向DMS请求启动应用B的元能力B1。
其中,应用B的包名可唯一标识应用B,应用B的包名和元能力B1的元能力名可唯一标识应用B的元能力B1。应用B的包名和元能力B1的元能力名可采用如字母、字符、数字等至少一种方式进行表示。此处的应用B的包名可对应于步骤S1201中的第一应用程序的标识,元能力B1的元能力名可对应于步骤S1201中的第一应用模块的模块标识。
另外,元能力A1可将应用B的包名和元能力B1的元能力名携带在一消息中发送给DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1201中的第一消息。
S202、DMS向BMS发送应用B的包名和元能力B1的元能力名。从而,DMS可向BMS请求查询应用B的元能力B1是否已安装。
其中,DMS可将应用B的包名和元能力B1的元能力名携带在一消息中发送给BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1202中的第四消息。
S203、BMS基于应用B的包名和元能力B1的元能力名,判断应用B的元能力B1是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,BMS可查询分布式应用组件数据库中是否存在应用B的元能力B1的配置文件,从而确定应用B的元能力B1是否安装在设备a 11中。
在分布式应用组件数据库中不存在应用B的元能力B1的配置文件时,BMS可确定应用B的元能力B1未安装在设备a 11中,从而BMS可执行步骤S204-S210;在分布式应用组件数据库中存在应用B的元能力B1的配置文件时,BMS可确定应用B的元能力B1安装在设备a 11中,从而BMS可执行步骤S209-S210。
S204、BMS向HAG服务器20发送设备a 11的ID、应用B的包名和元能力B1的元能力名。从而,BMS可通过设备a 11中的系统属性获取设备a 11的ID,并向HAG服务器20请求为设备a 11下载应用B的元能力B1。
其中,BMS可将设备a 11的ID、应用B的包名和元能力B1的元能力名携带在一消息中,并从设备a 11与HAG服务器20的通信通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1204中的第二消息。并且,设备a 11的ID的具体实现内容可参见步骤S104的描述,此处不做赘述。
S205、HAG服务器20基于应用B的包名和元能力B1的元能力名,获取匹配到的应用B的元能力B1的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名和元能力名,因此,HAG服务器20基于应用B的包名和元能力B1的元能力名,可以匹配到应用B的元能力B1对应的CDN下载地址。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到元能力B1对应的CDN下载地址对应的元能力B1通常为最新版本。
S206、HAG服务器20向BMS发送应用B的包名、元能力B1的元能力名及元能力B1的CDN下载地址。
其中,HAG服务器20从设备a 11与HAG服务器20的通信通道,可将应用B的包名、元能力B1的元能力名及元能力B1的CDN下载地址携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1205中的第三消息。此处的元能力B1的CDN下载地址可对应于步骤S1205中的第一应用模块的下载地址。
S207、BMS基于应用B的包名、元能力B1的元能力名及元能力B1的CDN下载地址,从CDN服务器30中下载应用B的元能力B1。此处的CDN服务器30对应于步骤S1206中的第二服务器。
S208、BMS安装应用B的元能力B1。
S209、BMS向DMS通知应用B的元能力B1已安装。此处的该通知可对应于步骤S1207中的第五消息。
S210、DMS启动应用B的元能力B1(即显式启动),对应于步骤S1208的描述内容。
综上,基于图7A实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用B的包名和元能力B1的元能力名,启动设备a 11中应用B的元能力B1。
如图7B所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S301、应用A的元能力A1响应于用户的操作2,向DMS发送应用B的包名和元能力B1的预定义ACTION1。
其中,操作2可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作2可为用户在图4B实施例中的用户执行的将手机与电饭煲碰一碰的操作。
并且,操作2与应用B的元能力B1关联。也就是说,元能力A1基于操作2可获知设备a 11需要启动应用B的元能力B1。由于应用A预先存储有与操作2关联的应用B的 包名以及应用B的元能力B1的预定义ACTION1,因此,元能力A1可获知应用B的包名和元能力B1的预定义ACTION1。从而,元能力A1可向DMS请求启动应用B的元能力B1。
其中,应用B的包名可唯一标识应用B,应用B的包名和元能力B1的预定义ACTION1可唯一标识应用B的元能力B1。应用B的包名和元能力B1的预定义ACTION1可采用如字母、字符、数字等至少一种方式进行表示。此处的应用B的包名可对应于步骤S1301中的第一应用程序的标识,元能力B1的预定义ACTION1可对应于步骤S1301中的第一应用模块所属类型的标识。
另外,元能力A1可将应用B的包名和元能力B1的预定义ACTION1携带在一消息中发送给DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1301中的第一消息。
S302、DMS向BMS发送应用B的包名和元能力B1的预定义ACTION1。从而,DMS可向BMS请求查询应用B的元能力B1是否已安装。
其中,DMS可将应用B的包名和元能力B1的预定义ACTION1携带在一消息中发送给BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1302中的第四消息。
S303、BMS基于应用B的包名和元能力B1的预定义ACTION1,判断应用B的元能力B1是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,BMS可查询分布式应用组件数据库中是否存在应用B的元能力B1的配置文件,从而确定应用B的元能力B1是否安装在设备a 11中。
在分布式应用组件数据库中不存在应用B的元能力B1的配置文件时,BMS可确定应用B的元能力B1未安装在设备a 11中,从而BMS可执行步骤S304-S310;在分布式应用组件数据库中存在应用B的元能力B1的配置文件时,BMS可确定应用B的元能力B1安装在设备a 11中,从而BMS可执行步骤S309-S310。
S304、BMS向HAG服务器20发送设备a 11的ID、应用B的包名和元能力B1的预定义ACTION1。从而,BMS可通过设备a 11中的系统属性获取设备a 11的ID,并向HAG服务器20请求为设备a 11下载应用B的元能力B1。
其中,BMS可将设备a 11的ID、应用B的包名和元能力B1的预定义ACTION1携带在一消息中,并从设备a 11与HAG服务器20的通信通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1304中的第二消息。并且,设备a 11的ID的具体实现内容可参见步骤S104的描述,此处不做赘述。
S305、HAG服务器20基于应用B的包名和元能力B1的预定义ACTION1,获取匹配到的应用B的元能力B1的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名和预定义ACTION,因此,HAG服务器20基于应用B的包名和元能力B1的预定义ACTION1,可以匹配到应用B的元能力B1对应的CDN下载地址。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到元能力B1对应的CDN下载地址对应的元能力B1通常为最新版本。
S306、HAG服务器20向BMS发送应用B的包名、元能力B1的预定义ACTION1(此参数可替换元能力B1的元能力名)及元能力B1的CDN下载地址。
其中,HAG服务器20从设备a 11与HAG服务器20的通信通道,可将应用B的包名、元能力B1的预定义ACTION1及元能力B1的CDN下载地址携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1305中的第三消息。此处的元能力B1的CDN下载地址可对应于步骤S1305中的第一应用模块的下载地址。
S307、BMS基于应用B的包名、元能力B1的预定义ACTION1及元能力B1的CDN下载地址,从CDN服务器30中下载应用B的元能力B1。此处的CDN服务器30对应于步骤S1306中的第二服务器。
S308、BMS安装应用B的元能力B1。
S309、BMS向DMS通知应用B的元能力B1已安装。此处的该通知可对应于步骤S1307中的第五消息。
S310、DMS启动应用B的元能力B1(即半隐式启动),对应于步骤S1308的描述内容。
综上,基于图7B实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用B的包名和元能力B1的预定义ACTION1,启动设备a 11中应用B的元能力B1,充分考虑到三方应用厂商通常不会将元能力B1的元能力名提供给其他厂商,即无需依赖元能力B1的元能力名。
如图7C所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S401、应用A的元能力A1响应于用户的操作2,向DMS发送预定义ACTION1。
其中,操作2可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作2可为用户在图4B实施例中的用户执行的将手机与电饭煲碰一碰的操作。
并且,操作2与预定义ACTION1对应的元能力关联。也就是说,元能力A1基于操作2可获知设备a 11需要启动预定义ACTION1对应的元能力。由于应用A预先存储有与操作2关联的元能力的预定义ACTION1,因此,元能力A1可获知预定义ACTION1对应的元能力。从而,元能力A1可向DMS请求启动预定义ACTION1对应的元能力。
其中,预定义ACTION1可标识功能相同的元能力。预定义ACTION1可采用如字母、字符、数字等至少一种方式进行表示。并且,预定义ACTION1对应的元能力可以为一个或者多个,本申请对此不做限定。此处的预定义ACTION1可对应于步骤S1401中的第一应用模块所属类型的标识。
另外,元能力A1可将预定义ACTION1携带在一消息中发送给DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1401中的第一消息。
S402、DMS向BMS发送预定义ACTION1。从而,DMS可向BMS请求查询预定义ACTION1对应的元能力是否已安装。
其中,DMS可将预定义ACTION1携带在一消息中发送给BMS,本申请对该消息的 具体实现方式不做限定。此处的该消息可对应于步骤S1402中的第四消息。
S403、BMS基于预定义ACTION1,判断预定义ACTION1对应的元能力是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,BMS可查询分布式应用组件数据库中是否存在预定义ACTION1对应的元能力的配置文件,从而确定预定义ACTION1对应的元能力是否安装在设备a 11中。
在分布式应用组件数据库中不存在预定义ACTION1对应的元能力的配置文件时,BMS可确定预定义ACTION1对应的元能力未安装在设备a 11中,从而BMS可执行步骤S404-S414;在分布式应用组件数据库中存在预定义ACTION1对应的元能力的配置文件时,BMS可确定预定义ACTION1对应的元能力安装在设备a 11中,从而BMS可执行步骤S413-S414。
S404、BMS向HAG服务器20发送设备a 11的ID和预定义ACTION1。从而,BMS可通过设备a 11中的系统属性获取设备a 11的ID,并向HAG服务器20请求为设备a 11下载预定义ACTION1对应的元能力。
其中,BMS可将设备a 11的ID和预定义ACTION1携带在一消息中,并从设备a 11与HAG服务器20的通信通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1404中的第二消息。并且,设备a 11的ID的具体实现内容可参见步骤S104的描述,此处不做赘述。
S405、HAG服务器20基于预定义ACTION1,获取匹配到的元能力集合1,元能力集合1中的每个子集携带有一个应用的应用名、该应用的元能力的元能力名(此参数可替换为该应用的元能力的预定义ACTION)及该元能力的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名和预定义ACTION,因此,HAG服务器20可以匹配到与预定义ACTION1标识的功能相同的元能力,从而HAG服务器20基于匹配到的元能力对应的应用的包名、匹配到的元能力的元能力名和匹配到的元能力对应的CDN下载地址,得到元能力集合1。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到元能力B1对应的CDN下载地址对应的元能力B1通常为最新版本。元能力集合1中可以包括一个或者多个子集。
S406、HAG服务器20向BMS发送元能力集合1。
其中,HAG服务器20从设备a 11与HAG服务器20的通信通道,可将元能力集合1携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1405中的第三消息。此处的元能力集合1可对应于步骤S1405中的第一集合。
S407、BMS向DMS发送元能力集合1。
其中,BMS可将元能力集合1携带在一消息中发送给DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1501中的第六消息。此处的元能力集合1可对应于步骤S1501中的第一集合。
S408、DMS基于元能力集合1,判断匹配到的元能力的数量是否大于1。
由于匹配到的元能力的数量与元能力集合1的子集的数量相等,因此,DMS可判断元能力集合1的子集的数量是否大于1,来确定匹配到的元能力的数量是否大于1。
在确定元能力集合1的子集的数量大于1时,DMS可确定匹配到的元能力的数量大于1,从而DMS可执行步骤S409-S411,以便基于用户意愿确定选择的应用的元能力,提升了用户的参与度和使用体验。在元能力集合1的子集的数量等于1时,DMS可确定匹配到的元能力的数量等于1,从而DMS可执行步骤S410-S411,以便将匹配到的元能力作为选择的应用的元能力,有利于提升DMS的处理速度。
S409、DMS显示窗口1,并响应于在窗口1上用户的操作,确定选择的应用的元能力。
其中,本申请对窗口1的大小、位置、颜色等布局参数均不做限定。此处的操作对应于步骤S15022中的第三操作,窗口1对应于步骤步骤S15022中的第一窗口,选择的应用的元能力对应于步骤S15022中的选择的一个软件模块。另外,DMS也可从匹配到的元能力中选择一个元能力作为选择的应用的元能力,且不显示窗口1,对应于步骤S15021的描述内容。DMS可基于匹配到的元能力预先设置的优先级或者元能力的存储空间等方式进行选择,本申请对此不做限定。
S410、DMS向BMS发送选择的应用的包名和选择的应用的元能力的元能力名。
其中,DMS可将选择的应用的包名和选择的应用的元能力的元能力名携带在一消息中发送给BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1503中的第七消息。另外,除了选择的应用的包名和选择的应用的元能力的元能力名之外,该消息中还包括携带有元能力的CDN下载地址。
其中,选择的应用的元能力包括应用B的元能力B1,选择的设备可以包括设备a 11。为了便于便于说明,此处提及的选择的应用的元能力为应用B的元能力B1。
需要说明的是,步骤S407-S410为可选的步骤。也就是说,在匹配到的元能力的数量等于1时,BMS可将匹配到的元能力作为选择的应用的元能力。在匹配到的元能力的数量大于1时,BMS可从匹配到的元能力中选择一个元能力作为选择的应用的元能力。其中,BMS可基于匹配到的元能力预先设置的优先级或者元能力的存储空间等方式进行选择,本申请对此不做限定。
S411、BMS基于选择的应用的元能力的CDN下载地址,从CDN服务器30中下载选择的应用的元能力。此处的CDN服务器30对应于步骤S1406中的第二服务器。
S412、BMS安装选择的应用的元能力。
此处的步骤S411和步骤S412对应于步骤S1406。
S413、BMS向DMS通知预定义ACTION1对应的元能力已安装。此处的该通知可对应于步骤S1407中的第五消息。
S414、DMS启动预定义ACTION1对应的元能力(即隐式启动),对应于步骤S1408的描述内容。
综上,基于图7C实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于预定义ACTION1,启动设备a 11中应用B的元能力B1,充分考虑到三方应用厂商通常不会将元能力B1的元能力名提供给其他厂商,即无需依赖元能力B1的元能力名。
需要说明的是,基于图7A-图7C实施例的描述,设备a中应用A与DMS之间只需 存在一个接口(对应于startability),即应用A与设备a的软件系统之间只需存在一个系统API即可,便可实现设备a通过应用A的元能力A1触发设备a中的系统服务启动设备a中应用B的元能力B1的过程。
从而,一个电子设备通过应用的包名以及应用的元能力的元能力名,或者,应用的包名以及应用的元能力的预定义ACTION,或者,预定义ACTION,可从HAG服务器查询到元能力的CDN下载地址,并基于元能力的CDN下载地址从CDN服务器上下载该元能力,使得未安装的元能力自动安装,且用户对该元能力的下载过程无感知,该元能力无需在应用首次安装时下载且可基于用户需求实现按需下载。
然而,如果一个应用需要启动该应用中的一个动态特性模块,且该应用需要从谷歌(Google)应用商店中下载该动态特性模块,则该应用需要执行如下步骤:
1、该应用调用系统查询接口,查询该动态特性模块是否安装;
2、在确定该动态特性模块已安装时,该应用调用系统启动接口,启动该动态特性模块。
3、在确定该动态特性模块未安装时,该应用基于该动态特性模块的模块名,调用集成在该应用中的谷歌核心库(Google Play Core)的下载和安装接口,实现该动态特性模块的下载和安装。该应用调用系统启动接口,启动该动态特性模块。
可见,在该动态特性模块已安装时,该应用需要与系统服务之间至少存在两个接口,才可使得该应用启动该动态特性模块。在该动态特性模块未安装时,该应用需要与系统服务之间至少存在三个接口,且该应用中需要预先集成谷歌核心库(Google Play Core),才可使得该应用启动该动态特性模块。
本申请中,如果一个应用启动该应用中的一个元能力,则该应用需要执行如下步骤:
1、无论该元能力是否安装,该应用调用系统服务的一个接口,发送该元能力所在应用的包名以及该元能力的元能力名,或者,该元能力所在应用的包名以及元能力的预定义ACTION,或者,预定义ACTION即可,便可由系统服务来完成该元能力的启动过程。
可见,无论该元能力是否安装,该应用需要与系统服务之间存在一个接口,便可使得该应用启动该元能力。
综上,从启动该应用中的一个动态特性模块到启动该应用中的一个元能力而言,减少了开发者调配应用与系统服务之间的接口数量,降低了开发者的编程成本,且也无需开发者将谷歌核心库(Google Play Core)集成在应用中,减少了开发者的配置成本,有利于开发更多元能力丰富用户的使用。
结合图8A-图8I,介绍启动同一个分布式网络中的至少一个电子设备的元能力的具体实现过程。为了便于说明,图8A-图8I中,以同一个分布式网络中的电子设备包括:手机、平板电脑、电视和手表,手机中安装有应用A的元能力A1,应用A为负一屏应用,应用A的元能力A1为软件代码,元能力A1用于提供负一屏应用的页面且触发启动应用C的元能力C1,且手机、平板电脑、电视和手表均具有安装应用C的元能力C1的能力,应用C为XX地图应用,应用C的元能力C1为软件代码,元能力C1用于提供XX地图应用的主页面为例进行示意。其中,本申请实施例对手机、平板电脑、电视和手表是否安装应用C的元能力C1不做限定。
请参阅图8A-图8I,图8A-图8I为本申请一实施例提供的人机交互界面示意图。
手机可显示如图8A示例性所示的用户界面31,用户界面31用于显示负一屏应用的页面(即启动元能力A1)。其中,用户界面31中包括:搜索框801,搜索框801用于搜索手机中的应用程序、元能力、文件、视频、照片等资源内容。
手机在检测到用户指示的搜索XX地图应用的操作(如在图8A所示的用户界面31中的搜索框801输入文字“XX地图”)后,可显示图8B示例性所示的用户界面32,用户界面32用于显示XX地图应用的搜索页面。
其中,用户界面32中包括:搜索框802和窗口803。搜索框802用于显示搜索内容为文字“XX地图”。窗口803用于显示文字“XX地图”的搜索结果,搜索结果可表示手机搜索到同一个分布式网络中的手机、平板电脑、电视和手表安装有XX地图应用的主页面(即应用C的元能力C1)。需要说明的是,搜索结果也可表示手机搜索到同一个分布式网络中的手机、平板电脑、电视和手表中具有提供XX地图应用的主页面(即应用C的元能力C1)的能力。
需要说明的是,若与手机属于同一个分布式网络中的一个电子设备不具有提供XX地图应用的主页面(即应用C的元能力C1)的能力,则窗口803可不显示该电子设备的文字和图标,或者,窗口803可置灰显示该电子设备的文字和图标,使得用户获知该电子设备无法启动XX地图应用的主页面(即应用C的元能力C1)。
在一些实施例中,手机在检测到用户指示的在窗口803上如点击平板电脑的操作后,可在用户界面31上显示图8C示例性所示的窗口804,窗口804用于表示用户指示打开平板电脑中的XX地图应用。
进而,在平板电脑未安装XX地图应用的主页面时,平板电脑可下载并安装XX地图应用,从而平板电脑启动XX地图应用。在平板电脑已安装XX地图应用的主页面时,平板电脑启动XX地图应用。
在XX地图应用启动后,平板电脑可在用户界面31上显示图8D示例性所示的用户界面33,用户界面33用于显示XX地图应用的主页面(即启动元能力C1)。其中,用户界面33可包括搜索框805,搜索框805用于搜索酒店、住所、学校、医院等一个位置。
平板电脑在检测到用户指示的搜索位置“XX中心”的操作(如在图8D所示的用户界面33中的搜索框805输入文字“XX中心”)后,可显示图8E示例性所示的用户界面34,用户界面34用于显示XX中心的搜索页面。
在另一些实施例中,手机在检测到用户指示的在窗口803上如点击手机的操作后,可从在用户界面31上显示图8F示例性所示的窗口806,窗口806用于表示用户指示打开手机中的XX地图应用。
进而,在手机未安装XX地图应用的主页面时,手机可下载并安装XX地图应用(如图3A所示的用户界面11中的XX地图应用的图标或者图4B所示的用户界面21中的XX地图应用的图标),从而手机启动XX地图应用。在手机已安装XX地图应用的主页面时,手机启动XX地图应用。
在XX地图应用启动后,手机可显示图8G示例性所示的用户界面35,用户界面35用于显示XX地图应用的主页面(即启动元能力C1)。其中,用户界面35可包括搜索框807,搜索框807用于搜索酒店、住所、学校、医院等一个位置。
手机在检测到用户指示的搜索位置“XX中心”的操作(如在图8G所示的用户界面35 中的搜索框807输入文字“XX中心”)后,可显示图8H示例性所示的用户界面36,用户界面36用于显示XX中心的搜索页面。
需要说明的是,除了在图8B所示的窗口803中选择一个电子设备之外,用户还可在图8B所示的窗口803中选择多个电子设备,使得多个电子设备皆可打开XX地图应用的主页面,切实满足用户的实际需求。
例如,手机在检测到用户指示的在窗口803上如点击手机和平板电脑的操作后,可在用户界面31上显示图8I示例性所示的窗口808,窗口808用于表示用户指示打开手机和平板电脑中的XX地图应用。
另外,用户还可在图8C所示的窗口804或者图8F所示的窗口806中切换电子设备,使得切换后的电子设备能够打开XX地图应用的主页面(即启动元能力C1),有利于提升用户的使用体验。
综上,在同一个分布式网络中的手机、平板电脑、电视和手表均具备安装有同一个元能力的能力时,手机通过另一个元能力触发手机中的系统服务,可控制手机、平板电脑、电视和手表中的至少一个电子设备启动该同一个元能力,有利于满足用户的实际需求,提升用户的使用体验。
其中,在手机、平板电脑、电视和手表中的至少一个电子已安装该同一个元能力时,手机可控制该至少一个电子设备直接启动该同一个元能力。在手机、平板电脑、电视和手表中的至少一个电子未安装该同一个元能力时,手机可控制该至少一个电子设备先下载、安装该同一个元能力,再启动该同一个元能力。
基于图8A-图8I实施例的描述,针对能够安装在同一个分布式网络中的各个电子设备的一个相同的元能力,一个电子设备通过该电子设备中另一个元能力触发该电子设备中的系统服务,可基于用户意愿或者实际情况,从同一个分布式网络中的各个电子设备中灵活选择一个或者多个电子设备,并控制选择的电子设备启动该相同的元能力,使得用户能够利用一个电子设备控制其他电子设备完成该相同的元能力对应的功能实现,有利于满足用户的实际需求,提升了用户的使用感。其中,本申请对同一个分布式网络中的各个电子设备是否安装另一个元能力不做限定。
请参阅图9,图9为本申请一实施例提供的一个应用程序的各个阶段的示意图。
如图9所示,在一个应用程序的生命周期过程中,可包括四个阶段——开发调试阶段、发布上架阶段、云端部署分发阶段以及端侧下载安装阶段。
其中,各个阶段的具体实现过程可参见图5实施例的描述,应用C可参见图5实施例中应用B的描述,此处不做赘述。另外,在端侧下载安装阶段中,图9中还包括设备b 12。其中,设备b 12的分层架构具体可参见图5实施例中设备a 11的分层架构的描述。并且,同一个分布式网络中的各个电子设备包括设备a 11与设备b 12,设备b 12中的分布式应用组件数据库可存储有设备b 12已安装的元能力的配置文件。
需要说明的是,本申请提及的设备a 11和设备b 12可相互互换位置。
结合图9,假设设备a 11已安装应用A的元能力A1,设备a 11中的应用A的元能力A1可向设备a 11中的DMS请求启动应用C的元能力C1。设备a 11中的DMS可向设备a 11中的BMS请求查询应用C的元能力C1是否安装在设备a 11和设备b 12中。
设备a 11中的BMS可判断设备a 11和设备b 12是否安装有应用C的元能力C1。
1、在设备a 11和设备b 12中存在有已安装有应用C的元能力C1的设备时,设备a 11中的BMS可向设备a 11中的DMS通知已安装应用C的元能力C1的设备。
1.1、如果已安装应用C的元能力C1的设备为设备a 11时,那么设备a 11中的DMS便可启动设备a 11中的元能力C1。
需要说明的是,除了上述方式之外,在设备a 11中的DMS可以在启动设备a 11中的元能力C1之前,设备a 11中的DMS还可以先显示一个窗口,该窗口用于向用户请求是否启动设备a 11中的元能力C1,例如显示设备a 11的标识。从而,在设备a 11中的DMS通过用户在该窗口上的操作确定启动设备a 11中的元能力C1时,设备a 11中的DMS便可启动设备a 11中的元能力C1。由此,通过与用户之间的交互来提高用户的参与感。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动应用C的元能力C1。
1.2、如果已安装应用C的元能力C1的设备为设备b 12时,那么设备a 11中的DMS显示一个窗口,该窗口用于向用户通知并请求是否启动设备b 12中的元能力C1,例如显示设备b 12的标识。从而,在设备a 11中的DMS通过用户在该窗口上的操作确定启动设备b 12中的元能力C1时,设备a 11中的DMS便可向设备b 12中的DMS通知启动应用C的元能力C1。设备b 12中的DMS可向设备b 12中的BMS请求查询应用C的元能力C1是否安装在设备b 12中。
当设备b 12中的BMS确定元能力C1安装在设备b 12中时,设备b 12中的BMS可向设备b 12中的DMS通知元能力C1已安装在设备b 12中。设备b 12中的DMS便可启动设备b 12中的元能力C1。其中,设备b 12中的应用程序层还包括应用C。
当设备b 12中的BMS确定元能力C1未安装在设备b 12中时,设备b 12中的BMS可向设备b 12中的DMS通知元能力C1未安装在设备b 12中。设备b 12中的DMS向设备a 11中的DMS通知元能力C1未安装在设备b 12中。设备b 12中的DMS可屏蔽用户的操作,或者,可显示一个窗口通知用户无法启动应用C的元能力C1。需要说明的是,前述内容为可选的操作。
综上,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务启动设备b 12中的应用C的元能力C1。
1.3、如果已安装应用C的元能力C1的设备包括设备a 11和和设备b 12,那么设备a11中的DMS可按照预设策略从设备a 11和设备b 12中选择一个或者多个设备,或者,设备a 11中的DMS可显示一个窗口通知用户,例如显示设备a 11的标识和设备b 12的标识,以便设备a 11中的DMS通过用户在该窗口上的操作,来确定用户从设备a 11和设备b 12中选择的一个或者多个设备。
若选择的设备包括:设备a 11,则设备a 11中的DMS已确认设备a 11安装有应用C的元能力C1,故,设备a 11中的DMS可以启动应用C的元能力C1。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动应用C的元能力C1。
若选择的设备包括:设备b 12,则设备a 11中的DMS向设备b 12中的DMS通知启动应用C的元能力C1。设备b 12中的DMS可向设备b 12中的BMS请求查询应用C的元能力C1是否安装在设备b 12中,具体实现过程可参见“已安装应用C的元能力C1的设 备为设备b 12”中的描述内容,此处不做赘述。
综上,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务启动设备b 12中的应用C的元能力C1。
若选择的设备包括:设备a 11和设备b 12,那么设备a 11中的DMS的具体实现过程可参见选择的设备分别包括设备a 11和设备b 12的描述,此处不做赘述。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动设备a 11和设备b 12中的应用C的元能力C1。
2、在设备a 11和设备b 12均未安装有应用C的元能力C1时,设备a 11中的BMS可从HAG服务器20中,获取应用C的元能力C1的CDN下载地址以及适用于元能力C1的CDN下载地址的设备类型。
其中,此处提及的元能力C1的CDN下载地址的数量可以为一个或者多个,元能力C1的CDN下载地址可以为适用于设备a 11和/或设备b 12的,也可以不适用于设备a 11和设备b 12的。且本申请对元能力C1的CDN下载地址的具体表示方式不做限定。
另外,元能力C1的CDN下载地址的数量可以为一个或者多个,多个CDN下载地址可对应于不同版本的元能力C1或者不同设备的元能力C1,且本申请对元能力C1的CDN下载地址的具体表示方式不做限定。
设备a 11中的BMS可向设备a 11中的DMS发送CDN下载地址和适用于元能力C1的CDN下载地址的设备类型。设备a 11中的DMS判断适用于元能力C1的CDN下载地址的设备类型是否包括设备a 11的设备类型和设备b 12的设备类型。
2.1、若适用于元能力C1的CDN下载地址的设备类型包括设备a 11,则设备a 11中的DMS向设备a 11中的BMS请求下载应用C的元能力C1。设备a 11中的BMS基于元能力C1的CDN下载地址,从CDN服务器30中下载元能力C1,并在设备a 11中安装元能力C1。设备a 11中的BMS向设备a 11中的DMS通知元能力C1已安装(使得设备a 11中的应用程序层还包括应用C)。设备a 11中的DMS便可启动元能力C1。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动设备a 11中的应用C的元能力C1。
2.2、若适用于元能力C1的CDN下载地址的设备类型包括设备b 12,则设备a 11中的DMS向设备b 12中的DMS请求启动应用C的元能力C1,该请求中可以包括适用于设备b 12的应用C的元能力C1的CDN下载地址。设备b 12中的DMS可向设备b 12中的BMS请求下载应用C的元能力C1。设备b 12中的BMS基于适用于设备b 12的元能力C1的CDN下载地址,可从CDN服务器30中下载元能力C1,并在设备b 12中安装元能力C1(使得设备b 12中的应用程序层还包括应用C)。设备b 12中的BMS可向设备b 12中的DMS通知元能力C1已安装。设备b 12中的DMS便可启动元能力C1。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动设备b 12中的应用C的元能力C1。
2.3、若适用于元能力C1的CDN下载地址的设备类型包括设备a 11和设备b 12,则设备a 11的具体执行过程可基于前述“2.1”和“2.2”中的描述内容执行相应的操作,此处不做赘述。
另外,设备a 11中的DMS还可显示一个窗口,以便设备a 11中的DMS通过用户在 该窗口上的操作,来确定用户从设备a 11和设备b 12中选择的一个或者多个设备。其中,设备a 11的具体执行过程可基于前述“1.3”中的描述内容执行相应的操作,此处不做赘述。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动设备a 11和设备b 12中的应用C的元能力C1。
其中,图8A-图8I示例性的内容可对上述过程进行解释说明。
需要说明的是,除了上述过程之外,设备a 11中的BMS还可确定同一个分布式网络的设备a 11和设备b 12是否具有安装应用C的元能力C1的能力。设备a 11中的BMS再将确定结果通知给设备a 11中的DMS。设备a 11中的DMS基于预设策略从设备a 11和设备b 12中选择一个或者多个设备,或者,设备a 11中的DMS可显示一个窗口通知用户,以便设备a 11中的DMS通过用户在该窗口上的操作,来确定用户从设备a 11和设备b 12中选择的一个或者多个设备。设备a 11中的DMS向设备a 11中的BMS请求查询选择的设备是否安装有应用C的元能力C1。设备a 11中的BMS判断选择的设备是否安装有应用C的元能力C1,具体实现过程可参见前述内容,此处不做赘述。从而,设备a 11中的DMS基于选择的设备,实现选择的设备启动应用C的元能力C1的过程。
基于前述描述,结合图10A-图10C,对图8A-图8I实施例中的同一个分布式网络的设备a 11和设备b 12,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务启动设备b 12中应用C的元能力C1的实现过程进行具体阐述。其中,设备a 11可参见图8A-图8I实施例中的手机的描述,设备b 12可参见图8A-图8I实施例中的平板电脑的描述,应用A可参见图8A-图8I实施例中的负一屏应用的描述,应用C可参见图8A-图8I实施例中的XX地图应用的描述,元能力A1可参见图8A-图8I实施例中的元能力A1的描述,元能力C1可参见图8A-图8I实施例中的元能力C1的描述。
请参阅图10A-图10C,图10A-图10C为本申请一实施例提供的一种应用模块启动方法的流程示意图。
如图10A所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S501、设备a 11中的应用A的元能力A1响应于用户的操作3,向设备a 11中的DMS发送应用C的包名和元能力C1的元能力名。
其中,操作3可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作3可为用户在图8A实施例中的用户指示的搜索XX地图应用的操作(如在图8A所示的用户界面31中的搜索框801输入文字“XX地图”)。此处的操作3对应于步骤S1601、步骤S1801中的第四操作。
并且,操作3与应用C的元能力C1关联。也就是说,元能力A1基于操作3可获知需要启动应用C的元能力C1。由于应用A预先存储有与操作3关联的应用C的包名以及应用C的元能力C1的元能力名,因此,元能力A1可获知应用C的包名和元能力C1的元能力名。从而,元能力A1可向设备a 11中的DMS请求启动应用C的元能力C1。
其中,应用C的包名可唯一标识应用C,应用C的包名和元能力C1的元能力名可唯一标识元能力C1。应用C的包名和元能力C1的元能力名可采用如字母、字符、数字等至少一种方式进行表示。另外,元能力A1可将应用C的包名和元能力C1的元能力名携带在一消息中发送给设备a 11中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1601、步骤S1801中的第九消息。此处的应用A对应于步骤S1601、 步骤S1801中的第四应用程序,元能力A1对应于步骤S1601、步骤S1801中的第四应用模块,应用C对应步骤S1601、步骤S1801中第五应用程序,元能力C1对应于步骤S1601、步骤S1801中的第五应用模块,应用C的包名对应步骤S1801中的第五应用程序的标识,元能力C1的元能力名对应步骤S1801中的第五应用模块的模块标识。
S502、设备a 11中的DMS向设备a 11中的BMS发送应用C的包名和元能力C1的元能力名。从而,设备a 11中的DMS可向设备a 11中的BMS请求查询应用C的元能力C1是否已安装。
其中,设备a 11中的DMS可将应用C的包名和元能力C1的元能力名携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1802中的第十三消息。
S503、设备a 11中的BMS基于应用C的包名和元能力C1的元能力名,判断同一个分布式网络(如组网)的设备a 11和设备b 12中的每个电子设备是否安装有应用C的元能力C1。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,且设备a 11和设备b 12属于同一个分布式网络,因此,设备a 11中的BMS可查询设备a 11中的分布式应用组件数据库中是否存在设备a 11中的应用C的元能力C1以及设备b 12中的分布式应用组件数据库中是否存在设备b 12中的应用C的元能力C1,从而确定应用C的元能力C1是否安装在设备a 11和设备b 12中。若设备a 11中的BMS确定设备a 11和设备b 12均未安装应用C的元能力C1,则设备a 11中的BMS执行步骤S504-步骤S507;若设备a 11中的BMS确定设备a 11和设备b 12中的至少一个设备安装应用C的元能力C1,则设备a 11中的BMS执行步骤S508。
在设备a 11中的分布式应用组件数据库中不存在应用C的元能力C1且设备b 12中的分布式应用组件数据库中不存在设备b 12中的应用C的元能力C1时,设备a 11中的BMS可确定应用C的元能力C1未安装在设备a 11和设备b12中,从而设备a 11中的BMS可执行步骤S504-步骤S507。
在设备a 11中的分布式应用组件数据库中存在设备a 11中的应用C的元能力C1,或者设备b 12中的分布式应用组件数据库中存在设备b 12中的应用C的元能力C1,或者设备a 11中的分布式应用组件数据库中存在设备a 11中的应用C的元能力C1以及设备b 12中的分布式应用组件数据库中存在设备b 12中的应用C的元能力C1时,设备a 11中的BMS可确定应用C的元能力C1安装在设备a 11和设备b 12中的至少一个电子设备中,从而设备a 11中的BMS可执行步骤S508。
S504、设备a 11中的BMS向HAG服务器20发送应用C的包名和元能力C1的元能力名。从而,设备a 11中的BMS可向HAG服务器20请求下载应用C的元能力C1。
其中,设备a 11中的BMS可将应用C的包名和元能力C1的元能力名携带在一消息中,并从设备a 11与HAG服务器20的通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1603、步骤S1804中的第十消息。此处的HAG服务器20对应于步骤S1603、步骤S1804中的第一服务器。
S505、HAG服务器20基于应用C的包名和元能力C1的元能力名,获取匹配到的应用C的元能力C1的CDN下载地址以及适用于元能力C1的CDN下载地址的设备类型。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名以及元能力C1的CDN下载地址,因此,HAG服务器20基于应用C的包名和元能力C1的元能力名,可以匹配到应用C的元能力C1的CDN下载地址以及适用于元能力C1的CDN下载地址的设备类型。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。应用C的元能力C1的CDN下载地址的数量可以为一个或者多个。每个适用于元能力C1的CDN下载地址的设备类型可采用如字母、字符、数字等至少一种方式进行表示,例如,设备的编号或型号或者组网号等。
其中,适用于元能力C1的CDN下载地址的设备类型可以包括设备a 11和/或设备b 12,也可以不包括设备a 11和设备b 12。另外,HAG服务器20匹配到元能力C1对应的CDN下载地址对应的元能力C1通常为最新版本。
S506、HAG服务器20向设备a 11中的BMS发送应用C的包名、元能力C1的元能力名(此参数可替换为该应用的元能力的预定义ACTION)、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型。
其中,HAG服务器20从设备a 11与HAG服务器20的通道,可将应用C的包名、元能力C1的元能力名、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1604、步骤S1701、步骤S1805中的第十一消息。
S507、设备a 11中的BMS向设备a 11中的DMS发送应用C的包名、元能力C1的元能力名、元能力C1的CDN下载地址及及适用于元能力C1的CDN下载地址的设备类型。
其中,设备a 11中的BMS可将应用C的包名、元能力C1的元能力名、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型携带在一消息中发送给设备a 11中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1806中的第十四消息。
需要说明的是,步骤S507执行结束完执行步骤S509。
S508、设备a 11中的BMS向设备a 11中的DMS通知应用C的元能力C1已安装及安装元能力C1的设备类型。此处的通知对应于步骤S1806中的第十四消息。
例如,设备a 11中的BMS向设备a 11中的DMS通知设备a 11已安装应用C的元能力C1,以及设备a 11的设备类型。
又如,设备a 11中的BMS向设备a 11中的DMS通知设备b 12已安装应用C的元能力C1,以及设备b 12的设备类型。
又如,设备a 11中的BMS向设备a 11中的DMS通知设备a 11和设备b 12均已安装应用C的元能力C1,以及设备a 11的设备类型和设备b 12的设备类型。
其中,安装元能力C1的设备类型可采用如字母、字符、数字等至少一种方式进行表示,例如,设备的编号或型号等。
需要说明的是,步骤S508执行结束完执行步骤S509。
S509、设备a 11中的DMS基于步骤S507或者步骤S508发送的设备类型,确定在同 一分布式网络中支持启动元能力C1的设备。
针对步骤S507而言,设备a 11中的DMS可将既出现在适用于元能力C1的CDN下载地址的设备类型中,又出现在与设备a 11当前处于同一分布式网络的设备类型中的设备确定为在同一分布式网络中支持启动元能力C1的设备。
针对步骤S508而言,设备a 11中的DMS可将既出现在安装元能力C1的设备类型中,又出现在与设备a 11当前处于同一分布式网络的设备类型中的设备确定为在同一分布式网络中支持启动元能力C1的设备。
其中,与设备a 11当前处于同一分布式网络的设备类型可以理解为不同的电子设备之间可通过蓝牙、Wi-Fi、zigbee、账号分享等通信方式进行通信。例如,通过华为账号,在同一Wi-Fi网络环境进行分布式网络的设备a 11和设备b 12。
S510、设备a 11中的DMS将在同一分布式网络中支持启动元能力C1的设备的标签名显示在窗口2中,并响应于在窗口2上用户的操作,确定选择的设备。
其中,本申请对窗口2的大小、位置、颜色等布局参数均不做限定。此处的窗口2对应于步骤S17033中的第二窗口。另外,设备a 11中的DMS也可从同一分布式组网中支持启动元能力C1的设备中选择一个设备作为选择的设备,且不显示窗口2。设备a 11中的DMS可基于同一分布式网络中支持启动元能力C1的设备预先设置的优先级、设备的存储空间或者设备的通信速率等参数进行选择,本申请对此不做限定。
需要说明的是,在选择的设备仅包括设备b 12时,本申请可执行步骤S511-S517。在选择的设备仅包括设备a 11时,本申请可执行步骤S518-S523。在选择的设备包括设备a 11和设备b 12时,本申请可分别执行步骤S511-S517和步骤S518-S523。
其中,选择的操作可由步骤S510中的用户实现,也可由设备a 11中的DMS实现,也可由步骤S510中的用户以及设备a 11中的DMS共同实现,本申请对此不做限定。
S511、设备a 11中的DMS基于步骤S507发送的设备类型,在选择的设备包括设备b12时,向设备b 12中的DMS发送应用C的包名、元能力C1的元能力名、元能力C1的CDN下载地址和设备b 12的ID。或者,设备a 11中的DMS基于步骤S508发送的设备类型,在选择的设备包括设备b 12时,向设备b 12中的DMS发送应用C的包名、元能力C1的元能力名和设备b 12的ID。
其中,设备a 11中的DMS可将应用C的包名、元能力C1的元能力名、元能力C1的CDN下载地址和设备b 12的ID携带在一消息中发送给设备b 12中的DMS,或者设备a 11中的DMS可将应用C的包名、元能力C1的元能力名和设备b 12的ID携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S17032、步骤S17033、步骤S18082、步骤S18083中的第十二消息。
另外,设备b 12的ID可以为同一个分布式网络中设备b 12的组网标识。
S512、设备b 12中的DMS向设备b 12中的BMS发送应用C的包名、元能力C1的元能力名和元能力C1的CDN下载地址,或者,向设备b 12中的BMS发送应用C的包名和元能力C1的元能力名。
设备b 12中的DMS基于设备b 12的ID,可判断出设备a 11发送的应用C的包名、元能力C1的元能力名和元能力C1的CDN下载地址是否发送给设备b 12。从而,设备b 12中的DMS可确定需求启动应用C的元能力C1,便可执行步骤S512。
其中,设备b 12中的DMS可将应用C的包名、元能力C1的元能力名和元能力C1的CDN下载地址携带在一消息中发送给设备b 12中的BMS,或者设备b 12中的DMS可将应用C的包名和元能力C1的元能力名携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。
S513、设备b 12中的BMS基于应用C的包名和元能力C1的元能力名,判断应用C的元能力C1是否安装在设备b 12中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备b 12中的BMS可查询设备b 12中的分布式应用组件数据库中是否存在应用C的元能力C1,从而确定应用C的元能力C1是否安装在设备b 12中。
在设备b 12中的分布式应用组件数据库中不存在应用C的元能力C1时,设备b 12中的BMS可确定应用C的元能力C1未安装在设备b 12中,从而设备b 12中的BMS可基于接收到的设备b 12中的BMS,或者基于从HAG服务器20获取到的元能力C1的CDN下载地址,再执行步骤S514-S517;在设备b 12中的分布式应用组件数据库中存在应用C的元能力C1时,设备b 12中的BMS可确定应用C的元能力C1安装在设备b 12中,从而设备b 12中的BMS可执行步骤S516-S517。
需要说明的是,除了上述判断应用C的元能力C1是否安装在设备b 12中的方式之外,设备b 12中的BMS也可以在接收到设备b 12中的DMS发送的元能力C1的CDN下载地址时,可确定应用C的元能力C1未安装在设备b 12中。从而,设备b 12中的BMS基于接收到的设备b 12中的BMS,执行步骤S514-S517。
S514、设备b 12中的BMS基于应用C的包名、元能力C1的元能力名及元能力C1的CDN下载地址,从CDN服务器30中下载应用C的元能力C1。
S515、设备b 12中的BMS安装应用C的元能力C1。
S516、设备b 12中的BMS向设备b 12中的DMS通知应用C的元能力C1已安装。
S517、设备b 12中的DMS启动应用C的元能力C1(即显式启动)。
综上,基于前述描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用C的包名和元能力C1的元能力名,启动设备b 12中应用C的元能力C1。
S518、设备a 11中的DMS在选择的设备包括设备a 11时,基于应用C的包名和元能力C1的元能力名,判断应用C的元能力C1是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备a 11中的DMS可通过设备a 11中的BMS可查询设备a 11中的分布式应用组件数据库中是否存在应用C的元能力C1,从而确定应用C的元能力C1是否安装在设备a 11中。
在设备a 11中的分布式应用组件数据库中不存在应用C的元能力C1时,设备a 11中的DMS可确定应用C的元能力C1未安装在设备a 11中,从而设备a 11中的DMS可执行步骤S519-S523;在设备a 11中的分布式应用组件数据库中存在应用C的元能力C1时,设备a 11中的DMS可确定应用C的元能力C1安装在设备a 11中,从而设备a 11中的DMS可执行步骤S523。
S519、设备a 11中的DMS向设备a 11中的BMS请求下载应用C的元能力C1。此处的请求对应于步骤S18081、步骤S18083中的第十五消息。
S520、设备a 11中的BMS基于应用C的包名、元能力C1的元能力名及元能力C1的CDN下载地址,从CDN服务器30中下载应用C的元能力C1。此处的CDN服务器30对应于步骤S1731中的第二服务器。
S521、设备a 11中的BMS安装应用C的元能力C1。
S522、设备a 11中的BMS向设备a 11中的DMS通知应用C的元能力C1已安装。此处的请求对应于步骤S18081、步骤S18083中的第十六消息。
S523、设备a 11中的DMS启动应用C的元能力C1(即显式启动)。
综上,基于前述描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用C的包名和元能力C1的元能力名,启动设备a 11中应用C的元能力C1。
如图10B所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S601、设备a 11中的应用A的元能力A1响应于用户的操作3,向设备a 11中的DMS发送应用C的包名和元能力C1的预定义ACTION2。
其中,操作3可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作3可为用户在图8A实施例中的用户指示的搜索XX地图应用的操作(如在图8A所示的用户界面31中的搜索框801输入文字“XX地图”)。此处的操作3对应于步骤S1601、步骤S1901中的第四操作。
并且,操作3与应用C的元能力C1关联。也就是说,元能力A1基于操作3可获知需要启动应用C的元能力C1。由于应用A预先存储有与操作3关联的应用C的包名以及应用C的元能力C1的预定义ACTION2,因此,元能力A1可获知应用C的包名和元能力C1的预定义ACTION2。从而,元能力A1可向设备a 11中的DMS请求启动应用C的元能力C1。
其中,应用C的包名可唯一标识应用C,元能力C1的预定义ACTION2可唯一标识元能力C1。应用C的包名和元能力C1的预定义ACTION2可采用如字母、字符、数字等至少一种方式进行表示。另外,元能力A1可将应用C的包名和元能力C1的预定义ACTION2携带在一消息中发送给设备a 11中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1601、步骤S1901中的第九消息。此处的应用A对应于步骤S1601、步骤S1901中的第四应用程序,元能力A1对应于步骤S1601、步骤S1901中的第四应用模块,应用C对应步骤S1601、步骤S1901中第五应用程序,元能力C1对应于步骤S1601、步骤S1901中的第五应用模块,应用C的包名对应步骤S1901中的第五应用程序的标识,元能力C1的预定义ACTION2对应步骤S1901中的第五应用模块所属类型的标识。
S602、设备a 11中的DMS向设备a 11中的BMS发送应用C的包名和元能力C1的预定义ACTION2。从而,设备a 11中的DMS可向设备a 11中的BMS请求查询应用C的元能力C1是否已安装。
其中,设备a 11中的DMS可将应用C的包名和元能力C1的预定义ACTION2携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1902中的第十三消息。
S603、设备a 11中的BMS基于应用C的包名和元能力C1的预定义ACTION2,判断同一分布式网络的设备a 11和设备b 12中的每个电子设备是否安装有应用C的元能力C1。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,且设备a 11和设备b 12属于同一个分布式网络,因此,设备a 11中的BMS可查询设备a 11中的分布式应用组件数据库中是否存在设备a 11中的应用C的元能力C1以及设备b 12中的分布式应用组件数据库中是否存在设备b 12中的应用C的元能力C1,从而确定应用C的元能力C1是否安装在设备a 11和设备b 12中。
若设备a 11中的BMS确定设备a 11和设备b 12均未安装应用C的元能力C1,则设备a 11中的BMS执行步骤S604-步骤S607。若设备a 11中的BMS确定设备a 11和设备b 12中的至少一个设备安装应用C的元能力C1时,则设备a 11中的BMS执行步骤S608。
其中,设备a 11中的BMS的判断策略的具体实现过程可参见步骤S503的描述,此处不做赘述。
S604、设备a 11中的BMS向HAG服务器20发送应用C的包名和元能力C1的预定义ACTION2。从而,设备a 11中的BMS可向HAG服务器20请求下载应用C的元能力C1。
其中,设备a 11中的BMS可将应用C的包名和元能力C1的预定义ACTION2携带在一消息中,并从设备a 11与HAG服务器20的通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1603、步骤S1904中的第十消息。此处的HAG服务器20对应于步骤S1603、步骤S1904中的第一服务器。
S605、HAG服务器20基于应用C的包名和元能力C1的预定义ACTION2,获取匹配到的应用C的元能力C1的CDN下载地址以及适用于元能力C1的CDN下载地址的设备类型。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名、预定义ACTION以及适用于设备的设备类型,因此,HAG服务器20基于应用C的包名和元能力C1的预定义ACTION2,可以匹配到应用C的元能力C1的CDN下载地址以及适用于元能力C1的CDN下载地址的设备类型。
其中,CDN下载地址的具体实现方式可参见步骤S505中的描述,此处不做赘述。
S606、HAG服务器20向设备a 11中的BMS发送应用C的包名、元能力C1的预定义ACTION2、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型。
其中,HAG服务器20从设备a 11与HAG服务器20的通道,可将应用C的包名、元能力C1的预定义ACTION2、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1604、步骤S1701、步骤S1905中的第十一消息。
S607、设备a 11中的BMS向设备a 11中的DMS发送应用C的包名、元能力C1的预定义ACTION2、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型。
其中,设备a 11中的BMS可将应用C的包名、元能力C1的预定义ACTION2、元能力C1的CDN下载地址及适用于元能力C1的CDN下载地址的设备类型携带在一消息中 发送给设备a 11中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1906中的第十四消息。
需要说明的是,步骤S607执行结束完执行步骤S609。
S608、设备a 11中的BMS向设备a 11中的DMS通知应用C的元能力C1已安装及安装元能力C1的设备类型。
其中,步骤S608的具体实现过程可参见步骤S508的描述内容,此处不做赘述。此处的通知对应于步骤S1906中的第十四消息。
需要说明的是,步骤S608执行结束完执行步骤S609。
S609、设备a 11中的DMS基于步骤S607或者步骤S608发送的设备类型,确定在同一分布式网络中支持启动元能力C1的设备。
针对步骤S607而言,设备a 11中的DMS可将既出现在适用于元能力C1的CDN下载地址的设备类型中,又出现在与设备a 11当前处于同一分布式网络的设备类型中的设备确定为在同一分布式网络中支持启动元能力C1的设备。
针对步骤S608而言,设备a 11中的DMS可将既出现在安装元能力C1的设备类型中,又出现在与设备a 11当前处于同一分布式网络的设备类型中的设备确定为在同一分布式网络中支持启动元能力C1的设备。
其中,与设备a 11当前处于同一分布式网络的设备类型可以理解为不同的电子设备之间可通过蓝牙、Wi-Fi、zigbee、账号分享等通信方式进行通信。例如,通过华为账号,在同一Wi-Fi网络环境进行分布式组网的设备a 11和设备b 12。
S610、设备a 11中的DMS将在同一分布式网络中支持启动元能力C1的设备的标签名显示在窗口3中,并响应于在窗口3上用户的操作,确定选择的设备。
其中,本申请对窗口3的大小、位置、颜色等布局参数均不做限定。此处的窗口3对应于步骤S17033中的第二窗口。另外,设备a 11中的DMS也可从同一分布式网络中支持启动元能力C1的设备中选择一个设备作为选择的设备,且不显示窗口3。设备a 11中的DMS可基于同一分布式网络中支持启动元能力C1的设备预先设置的优先级、设备的存储空间或者设备的通信速率等参数进行选择,本申请对此不做限定。
需要说明的是,在选择的设备仅包括设备b 12时,本申请可执行步骤S611-S617。在选择的设备仅包括设备a 11时,本申请可执行步骤S618-S623。在选择的设备包括设备a 11和设备b 12时,本申请可分别执行步骤S611-S617和步骤S618-S623。
其中,选择的操作可由步骤S610中的用户实现,也可由设备a 11中的DMS实现,也可由步骤S610中的用户以及设备a 11中的DMS共同实现,本申请对此不做限定。
S611、设备a 11中的DMS基于步骤S607发送的设备类型,在选择的设备包括设备b12时,向设备b 12中的DMS发送应用C的包名、元能力C1的预定义ACTION2、元能力C1的CDN下载地址和设备b 12的ID。或者,设备a 11中的DMS基于步骤S608发送的设备类型,在选择的设备包括设备b 12时,向设备b 12中的DMS发送应用C的包名、元能力C1的预定义ACTION2和设备b 12的ID。
其中,设备a 11中的DMS可将应用C的包名、元能力C1的预定义ACTION2、元能力C1的CDN下载地址和设备b 12的ID携带在一消息中发送给设备b 12中的DMS,或者设备a 11中的DMS可将应用C的包名、元能力C1的预定义ACTION2和设备b 12的 ID携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S17032、步骤S17033、步骤S19082、步骤S19083中的第十二消息。
另外,设备b 12的ID可以为同一个分布式网络中设备b 12的组网标识。
S612、设备b 12中的DMS向设备b 12中的BMS发送应用C的包名、元能力C1的预定义ACTION2和元能力C1的CDN下载地址,或者,向设备b 12中的BMS发送应用C的包名和元能力C1的预定义ACTION2。
设备b 12中的DMS基于设备b 12的ID,可判断出设备a 11发送的应用C的包名、元能力C1的预定义ACTION2和元能力C1的CDN下载地址是否发送给设备b 12。从而,设备b 12中的DMS可确定需求启动应用C的元能力C1,便可执行步骤S612。
其中,设备b 12中的DMS可将应用C的包名、元能力C1的预定义ACTION2和元能力C1的CDN下载地址携带在一消息中发送给设备b 12中的BMS,或者设备b 12中的DMS可将应用C的包名和元能力C1的预定义ACTION2携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。
S613、设备b 12中的BMS基于应用C的包名和元能力C1的预定义ACTION2,判断应用C的元能力C1是否安装在设备b 12中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备b 12中的BMS可查询设备b 12中的分布式应用组件数据库中是否存在应用C的元能力C1,从而确定应用C的元能力C1是否安装在设备b 12中。
在设备b 12中的分布式应用组件数据库中不存在应用C的元能力C1时,设备b 12中的BMS可确定应用C的元能力C1未安装在设备b 12中,从而设备b 12中的BMS可基于接收到的设备b 12中的BMS,或者基于从HAG服务器20获取到的元能力C1的CDN下载地址,执行步骤S614-S617;在设备b 12中的分布式应用组件数据库中存在应用C的元能力C1时,设备b 12中的BMS可确定应用C的元能力C1安装在设备b 12中,从而设备b 12中的BMS可执行步骤S616-S617。
需要说明的是,除了上述判断应用C的元能力C1是否安装在设备b 12中的方式之外,设备b 12中的BMS也可以在接收到设备b 12中的DMS发送的元能力C1的CDN下载地址时,可确定应用C的元能力C1未安装在设备b 12中。从而,设备b 12中的BMS基于接收到的设备b 12中的BMS,执行步骤S614-S617。
S614、设备b 12中的BMS基于应用C的包名、元能力C1的预定义ACTION2及元能力C1的CDN下载地址,从CDN服务器30中下载应用C的元能力C1。
S615、设备b 12中的BMS安装应用C的元能力C1。
S616、设备b 12中的BMS向设备b 12中的DMS通知应用C的元能力C1已安装。
S617、设备b 12中的DMS启动应用C的元能力C1(即半隐式启动)。
综上,基于前述描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用C的包名和元能力C1的预定义ACTION2,启动设备b 12中应用C的元能力C1,充分考虑到三方应用厂商通常不会将元能力C1的元能力名提供给其他厂商,即无需依赖元能力C1的元能力名。
S618、设备a 11中的DMS在选择的设备包括设备a 11时,基于应用C的包名和元 能力C1的预定义ACTION2,判断应用C的元能力C1是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备a 11中的DMS可通过设备a 11中的BMS可查询设备a 11中的分布式应用组件数据库中是否存在应用C的元能力C1,从而确定应用C的元能力C1是否安装在设备a 11中。
在设备a 11中的分布式应用组件数据库中不存在应用C的元能力C1时,设备a 11中的DMS可确定应用C的元能力C1未安装在设备a 11中,从而设备a 11中的DMS可执行步骤S619-S623;在设备a 11中的分布式应用组件数据库中存在应用C的元能力C1时,设备a 11中的DMS可确定应用C的元能力C1安装在设备a 11中,从而设备a 11中的DMS可执行步骤S623。
S619、设备a 11中的DMS向设备a 11中的BMS请求下载应用C的元能力C1。此处的请求对应于步骤S19081、步骤S19083中的第十五消息。
S620、设备a 11中的BMS基于应用C的包名、元能力C1的预定义ACTION2及元能力C1的CDN下载地址,从CDN服务器30中下载应用C的元能力C1。此处的CDN服务器30对应于步骤S1731中的第二服务器。
S621、设备a 11中的BMS安装应用C的元能力C1。
S622、设备a 11中的BMS向设备a 11中的DMS通知应用C的元能力C1已安装。此处的请求对应于步骤S19081、步骤S19083中的第十六消息。
S623、设备a 11中的DMS启动应用C的元能力C1(即半隐式启动)。
综上,基于前述描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用C的包名和元能力C1的预定义ACTION2,启动设备a 11中应用C的元能力C1,充分考虑到三方应用厂商通常不会将元能力C1的元能力名提供给其他厂商,即无需依赖元能力C1的元能力名。
如图10C所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S701、设备a 11中的应用A的元能力A1响应于用户的操作3,向设备a 11中的DMS发送预定义ACTION2。
其中,操作3可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作3可为用户在图8A实施例中的用户指示的搜索XX地图应用的操作(如在图8A所示的用户界面31中的搜索框801输入文字“XX地图”)。此处的操作3对应于步骤S1601、步骤S2001中的第四操作。
并且,操作3与预定义ACTION2对应的元能力关联。也就是说,元能力A1基于操作3可获知需要启动预定义ACTION2对应的元能力。由于应用A预先存储有与操作3关联的元能力C1的预定义ACTION2,因此,元能力A1可获知预定义ACTION2对应的元能力。从而,元能力A1可向设备a 11中的DMS请求启动预定义ACTION2对应的元能力。
其中,预定义ACTION2可标识功能相同的元能力。预定义ACTION2可采用如字母、字符、数字等至少一种方式进行表示。另外,元能力A1可将预定义ACTION2携带在一消息中发送给设备a 11中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1601、步骤S2001中的第九消息。此处的应用A对应于步骤S1601、步骤 S2001中的第四应用程序,元能力A1对应于步骤S1601、步骤S2001中的第四应用模块,应用C对应步骤S1601、步骤S2001中第五应用程序,元能力C1对应于步骤S1601、步骤S2001中的第五应用模块,预定义ACTION2对应步骤S2001中的第五应用模块所属类型的标识。
S702、设备a 11中的DMS向设备a 11中的BMS发送预定义ACTION2。从而,设备a 11中的DMS可向设备a 11中的BMS请求查询预定义ACTION2对应的元能力是否已安装。
其中,设备a 11中的DMS可将预定义ACTION2携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S2002中的第十三消息。
S703、设备a 11中的BMS基于预定义ACTION2,判断同一分布式网络的设备a 11和设备b 12中的每个电子设备是否安装有预定义ACTION2对应的元能力。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,且设备a 11和设备b 12属于同一个分布式网络,因此,设备a 11中的BMS可查询设备a 11中的分布式应用组件数据库中是否存在设备a 11中的预定义ACTION2对应的元能力以及设备b 12中的分布式应用组件数据库中是否存在设备b 12中的预定义ACTION2对应的元能力,从而确定预定义ACTION2对应的元能力是否安装在设备a 11和设备b 12中。
若设备a 11中的BMS确定设备a 11和设备b 12均未安装应用C的元能力C1,则设备a 11中的BMS执行步骤S704-步骤S707。若设备a 11中的BMS确定设备a 11和设备b 12中的至少一个设备安装应用C的元能力C1,则设备a 11中的BMS执行步骤S708。
其中,设备a 11中的BMS的判断策略的具体实现过程可参见步骤S503的描述,此处不做赘述。
S704、设备a 11中的BMS向HAG服务器20发送预定义ACTION2。从而,设备a 11中的BMS可向HAG服务器20请求为设备a 11和/或设备b 12下载预定义ACTION2对应的元能力。
其中,设备a 11中的BMS可将预定义ACTION2携带在一消息中,并从设备a 11与HAG服务器20的通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1603、步骤S2004中的第十消息。此处的HAG服务器20对应于步骤S1603、步骤S2004中的第一服务器。
S705、HAG服务器20基于预定义ACTION2,获取匹配到的元能力集合2,元能力集合2中的每个子集携带有一个应用的应用名、该应用的元能力的元能力名(此参数可替换为该应用的元能力的预定义ACTION)、该元能力的CDN下载地址及适用于元能力的CDN下载地址的设备类型。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名、预定义ACTION以及适用于元能力的CDN下载地址的设备类型,且HAG服务器20还预先存储有元能力所支持的设备类型(即可安装各个元能力的设备类型),因此,HAG服务器20基于匹配到与预定义ACTION2标识的功能相同的元能力对应的CDN下载地址,以及匹配到的适 用于元能力的CDN下载地址的设备类型。此处的元能力集合2对应于步骤S2005中的第二集合。
从而,HAG服务器20基于匹配到的元能力对应的应用的包名、匹配到的元能力的元能力名、匹配到的元能力的CDN下载地址和匹配到的适用于元能力的设备类型,得到元能力集合2。
其中,CDN下载地址的具体实现方式可参见步骤S505中的描述,此处不做赘述。元能力集合2中可以包括一个或者多个子集。
S706、HAG服务器20向设备a 11中的BMS发送元能力集合2。
其中,HAG服务器20从设备a 11与HAG服务器20的通道,可将元能力集合2携带在一消息中发送给设备a 11中的BMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S1604、步骤S1701、步骤S2005中的第十一消息。此处的元能力集合2对应于步骤S2005中的第二集合。
S707、设备a 11中的BMS向设备a 11中的DMS发送元能力集合2。
其中,设备a 11中的BMS可将元能力集合2携带在一消息中发送给设备a 11中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S2006中的第十四消息。此处的元能力集合2对应于步骤S2006中的第二集合。
需要说明的是,步骤S707执行结束完执行步骤S709。
S708、设备a 11中的BMS向设备a 11中的DMS通知预定义ACTION2对应的元能力已安装及安装预定义ACTION2对应的元能力的设备类型。此处的通知对应于步骤S2006中的第十四消息。
例如,设备a 11中的BMS向设备a 11中的DMS通知设备a 11已安装预定义ACTION2对应的元能力,以及设备a 11的设备类型。
又如,设备a 11中的BMS向设备a 11中的DMS通知设备b 12已安装预定义ACTION2对应的元能力,以及设备b 12的设备类型。
又如,设备a 11中的BMS向设备a 11中的DMS通知设备a 11和设备b 12均已安装预定义ACTION2对应的元能力,以及设备a 11的设备类型和设备b 12的设备类型。
其中,安装预定义ACTION2对应的元能力的设备类型可采用如字母、字符、数字等至少一种方式进行表示,例如,设备的编号或型号等。
需要说明的是,步骤S708执行结束完执行步骤S709。
S709、设备a 11中的DMS基于步骤S707或步骤S708发送的元能力的设备类型,确定在同一分布式网络中支持启动预定义ACTION2对应的元能力的设备。
针对步骤S707而言,设备a 11中的DMS可将既出现在适用于预定义ACTION2对应的元能力的CDN下载地址的设备类型中,又出现在与设备a 1当前处于同一分布式网络的设备类型中的设备确定为在同一分布式网络中支持启动预定义ACTION2对应的元能力的设备。
针对步骤S708而言,设备a 11中的DMS可将既出现在安装预定义ACTION2对应的元能力的CDN下载地址的设备类型中,又出现在与设备a 1当前处于同一组网的设备类型中的设备确定为在同一分布式网络中支持启动预定义ACTION2对应的元能力的设备。
其中,与设备a 11当前处于同一分布式网络的设备类型可以理解为不同的电子设备之 间可通过蓝牙、Wi-Fi、zigbee、账号分享等通信方式进行通信。例如,通过华为账号,在同一Wi-Fi网络环境进行分布式组网的设备a 11和设备b 12。
S710、设备a 11中的DMS将在同一分布式网络中支持启动预定义ACTION2对应的元能力的设备的标签名显示在窗口4中,并响应于在窗口4上用户的操作,确定选择的应用的元能力和选择的设备。
其中,本申请对窗口4的大小、位置、颜色等布局参数均不做限定。此处的窗口4对应于步骤S17033中的第二窗口。另外,设备a 11中的DMS也可从同一分布式网络中支持启动预定义ACTION2对应的元能力的设备中选择一个设备作为选择的设备,且不显示窗口4。设备a 11中的DMS可基于同一分布式网络中支持启动预定义ACTION2对应的元能力的设备预先设置的优先级、设备的存储空间或者设备的通信速率等参数进行选择,本申请对此不做限定。
其中,选择的应用的元能力包括应用C的元能力C1,选择的设备可以包括设备a 11和设备b 12。为了便于便于说明,此处提及的选择的应用的元能力为应用C的元能力C1。
需要说明的是,在选择的设备仅包括设备b 12时,本申请可执行步骤S711-S717。在选择的设备仅包括设备a 11时,本申请可执行步骤S718-S723。在选择的设备包括设备a 11和设备b 12时,本申请可分别执行步骤S711-S717和步骤S718-S723。
其中,选择的操作可由步骤S710中的用户实现,也可由设备a 11中的DMS实现,也可由步骤S710中的用户以及设备a 11中的DMS共同实现,本申请对此不做限定。
S711、设备a 11中的DMS基于步骤S707发送的设备类型,在选择的设备包括设备b12时,向设备b 12中的DMS发送选择的应用的包名、选择的元能力的预定义ACTION2、选择的元能力的CDN下载地址和设备b 12的ID。或者,设备a 11中的DMS基于步骤S708发送的设备类型,在选择的设备包括设备b 12时,向设备b 12中的DMS发送选择的应用的包名、选择的元能力的预定义ACTION2和设备b 12的ID。
其中,设备a 11中的DMS可将选择的应用的包名、选择的元能力的预定义ACTION2(此参数可替换为该应用的元能力的元能力名)、选择的元能力的CDN下载地址和设备b 12的ID携带在一消息中发送给设备b 12中的DMS,或者设备a 11中的DMS可将选择的应用的包名、选择的元能力的预定义ACTION2(此参数可替换为该应用的元能力的元能力名)和设备b 12的ID携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的消息对应于步骤S17032、步骤S17033、步骤S20082、步骤S20083中的第十二消息。
另外,设备b 12的ID可以为同一个分布式网络中设备b 12的组网标识。
S712、设备b 12中的DMS向设备b 12中的BMS发送选择的应用的包名、选择的元能力的预定义ACTION2和选择的元能力的CDN下载地址,或者,向设备b 12中的BMS发送选择的应用的包名和选择的元能力的预定义ACTION2。
设备b 12中的DMS基于设备b 12的ID,可判断出设备a 11发送的选择的应用的包名、选择的元能力的预定义ACTION2和选择的元能力的CDN下载地址是否发送给设备b12。从而,设备b 12中的DMS可确定需求启动选择的应用的元能力,便可执行步骤S712。
其中,设备b 12中的DMS可将选择的应用的包名、选择的元能力的预定义ACTION2和选择的元能力的CDN下载地址携带在一消息中发送给设备b 12中的BMS,或者设备b 12中的DMS可将选择的应用的包名和选择的元能力的预定义ACTION2携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。
S713、设备b 12中的BMS基于选择的应用的包名和选择的元能力的预定义ACTION2,判断选择的应用的元能力是否安装在设备b 12中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备b 12中的BMS可查询设备b 12中的分布式应用组件数据库中是否存在选择的应用的元能力,从而确定选择的应用的元能力是否安装在设备b 12中。
在设备b 12中的分布式应用组件数据库中不存在选择的应用的元能力时,设备b 12中的BMS可确定选择的应用的元能力未安装在设备b 12中,从而设备b 12中的BMS可基于接收到的设备b 12中的BMS,或者基于从HAG服务器20获取到的元能力C1的CDN下载地址,再执行步骤S714-S717;在设备b 12中的分布式应用组件数据库中存在选择的应用的元能力时,设备b 12中的BMS可确定选择的应用的元能力安装在设备b 12中,从而设备b 12中的BMS可执行步骤S716-S717。
需要说明的是,除了上述判断应用C的元能力C1是否安装在设备b 12中的方式之外,设备b 12中的BMS也可以在接收到设备b 12中的DMS发送的选择的元能力的CDN下载地址时,可确定选择的元能力未安装在设备b 12中。从而,设备b 12中的BMS基于接收到的设备b 12中的BMS,执行步骤S714-S717。
S714、设备b 12中的BMS基于选择的应用的包名、选择的元能力的预定义ACTION2和选择的元能力的CDN下载地址,从CDN服务器30中下载选择的应用的元能力。
S715、设备b 12中的BMS安装选择的应用的元能力。
S716、设备b 12中的BMS向设备b 12中的DMS通知选择的应用的元能力已安装。
S717、设备b 12中的DMS启动选择的应用的元能力(即隐式启动)。
综上,基于前述描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于预定义ACTION2,启动设备b 12中预定义ACTION2对应的应用的元能力,充分考虑到三方应用厂商通常不会将元能力C1的元能力名提供给其他厂商,即无需依赖元能力C1的元能力名。
S718、设备a 11中的DMS在选择的设备包括设备a 11时,基于选择的应用的包名和选择的元能力的预定义ACTION2,判断选择的应用的元能力是否安装在设备a 11中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备a 11中的DMS可通过设备a 11中的BMS可查询设备a 11中的分布式应用组件数据库中是否存在选择的应用的元能力,从而确定选择的应用的元能力是否安装在设备a 11中。
在设备a 11中的分布式应用组件数据库中不存在选择的应用的元能力时,设备a 11中的DMS可确定选择的应用的元能力未安装在设备a 11中,从而设备a 11中的DMS可执行步骤S719-S723;在设备a 11中的分布式应用组件数据库中存在选择的应用的元能力时,设备a 11中的DMS可确定选择的应用的元能力安装在设备a 11中,从而设备a 11中的DMS可执行步骤S723。
S719、设备a 11中的DMS向设备a 11中的BMS请求下载选择的应用的元能力。此处的请求对应于步骤S20081、步骤S20083中的第十五消息。
S720、设备a 11中的BMS基于选择的应用的包名、选择的元能力的预定义ACTION2及选择的元能力的CDN下载地址,从CDN服务器30中下载选择的应用的元能力。此处的CDN服务器30对应于步骤S1731中的第二服务器。
S721、设备a 11中的BMS安装选择的应用的元能力。
S722、设备a 11中的BMS向设备a 11中的DMS通知选择的应用的元能力已安装。此处的请求对应于步骤S20081、步骤S20083中的第十六消息。
S723、设备a 11中的DMS启动选择的应用的元能力(即隐式启动)。
综上,基于前述描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于预定义ACTION2,启动设备a 11中预定义ACTION2对应的应用的元能力,充分考虑到三方应用厂商通常不会将元能力C1的元能力名提供给其他厂商,即无需依赖元能力C1的元能力名。
从而,针对同一个分布式网络中的电子设备1和电子设备2,电子设备1通过应用的包名以及应用的元能力的元能力名,或者,应用的包名以及应用的元能力的预定义ACTION,或者,预定义ACTION,可从HAG服务器查询到元能力的CDN下载地址,并可控制电子设备1和电子设备2中的至少一个电子设备基于元能力的CDN下载地址从CDN服务器上下载该元能力,使得未安装的元能力自动安装,且用户对该元能力的下载过程无感知,该元能力无需在应用首次安装时下载且可基于用户需求实现按需下载。
结合图11A-图11E,介绍电子设备1启动电子设备2中的一个元能力的具体实现过程。为了便于说明,图11A-图11E中,以电子设备1为手机,电子设备2为手表,手机中下载有应用A,应用A为运动健康应用,手机和手表均具有安装应用D的元能力D1的能力为例进行示意。其中,电子设备1和电子设备2通信连接,应用A的元能力A1为软件代码,元能力A1用于触发启动应用D的元能力D1。应用D的元能力D1为软件代码,应用D为心率应用,元能力D1用于提供心率应用的主页面。另外,本申请对手表是否安装有应用D的元能力D1的能力不做限定。
请参阅图11A-图11E,图11A-图11E为本申请一实施例提供的人机交互界面示意图。
手机可显示如图11A示例性所示的用户界面41,用户界面41用于显示桌面的主界面(Home screen),用户界面41可以包括但不限于:状态栏,导航栏,日历指示符,天气指示符,以及多个应用程序图标等。应用程序图标还可以包括:运动健康应用的图标1101,也可以包括:如华为视频应用的图标、音乐应用的图标、手机管家应用的图标、设置应用的图标、XX地图应用的图标、XX出行应用的图标、智慧生活应用的图标、通话应用的图标、短信应用的图标、浏览器应用的图标、相机应用的图标等。
手机在检测到用户指示的打开运动健康应用的操作(如在图11A所示的用户界面41中执行点击运动健康应用的图标1101的操作)后,可显示图11B示例性所示的用户界面42,用户界面42用于显示运动健康应用的主页面。
其中,用户界面42中包括:控件1102和控件1103。控件1102用于进入到运动健康应用的主页面。控件1103用于进入到如存储有运动记录、身体数据、步数排行榜、运动周报、共享步数等参数的一个页面。
手机在检测到用户指示的查看心率情况的操作(如在用户界面42上如点击控件1103的操作)后,可显示图11C示例性所示的用户界面43,用户界面43用于显示如存储有运 动记录、身体数据、步数排行榜、运动周报、共享步数等参数的一个页面。其中,用户界面43中包括控件1104,控件1104用于进入到如存储有步数、距离、消耗、睡眠状态、心率、压力、血氧饱和度等身体数据的一个页面。
手机在检测到用户指示的在用户界面43上如点击控件1104的操作后,可显示图11D示例性所示的用户界面44,用户界面44用于显示如存储有步数、距离、消耗、睡眠状态、心率、压力、血氧饱和度等身体数据的一个页面。其中,用户界面44中包括控件1105,控件1105用于进入到手表中心率应用对应的主页面。
手机在检测到用户指示的在用户界面44上如点击控件1105中手表的图标的操作后,可控制手表启动心率应用的主页面,如手表可显示图11E示例性所示的用户界面45(即启动元能力D1),用户界面45用于显示用户当天的心率情况。
综上,在手机和手表可通信连接时,手机可启动手表中的一个元能力,有利于满足用户的实际需求,提升用户的使用体验。
基于图11A-图11E实施例的描述,针对可通信连接的电子设备1和电子设备2,电子设备1可基于用户意愿或者实际情况,控制电子设备2下载并安装一个元能力,从而启动该元能力,使得用户能够利用一个电子设备控制其他电子设备完成该元能力对应的功能实现,有利于满足用户的实际需求,提升了用户的使用感。其中,本申请对电子设备2是否安装该元能力不做限定。另外,电子设备1和电子设备2可预先通信连接,也可以通过用户手动通信连接,本申请实施例对此不做限定。
请参阅图12,图12为本申请一实施例提供的一个应用程序的各个阶段的示意图。
如图12所示,在一个应用程序的生命周期过程中,可包括四个阶段——开发调试阶段、发布上架阶段、云端部署分发阶段以及端侧下载安装阶段。
其中,各个阶段的具体实现过程可参见图5实施例的描述,应用D可参见图5实施例中应用B的描述,此处不做赘述。另外,在端侧下载安装阶段中,图12中还包括设备b 12。其中,设备b 12的分层架构具体可参见图5实施例中设备a 11的分层架构的描述。
结合图1,假设设备a 11已安装应用A的元能力A1,设备a 11中的应用A的元能力A1可调用设备a 11中的DMS,向设备b 12中的DMS请求启动设备b 12中的应用D的元能力D1。设备b 12中的DMS向设备b 12中的BMS请求查询应用D的元能力D1是否安装在设备b 12中。
在设备b 12中的BMS确定元能力D1已安装在设备b 12中时,设备b 12中的BMS可向设备b 12中的DMS通知元能力D1已安装。设备b 12中的DMS便可启动元能力D1。其中,应用程序层还包括应用D。
在设备b 12中的BMS确定元能力D1未安装在设备b 12中时,设备b 12中的BMS可从HAG服务器20中,获取元能力D1的CDN下载地址。设备b 12中的BMS基于元能力D1的CDN下载地址,可从CDN服务器30中下载元能力D1,使得设备b 12中的BMS在设备b 12中安装元能力D1,还使得应用程序层还包括应用D。设备b 12中的BMS可向设备b 12中的DMS通知元能力D1已安装。设备b 12中的DMS便可启动元能力D1。
其中,图11A-图11E示例性的内容可对上述过程进行解释说明。
综上,设备a 11通过应用A的元能力A1触发设备a 11中的系统服务可启动与设备a11可通信连接的设备b 12中的应用D的元能力D1。
基于前述描述,结合图13A-图13C,对图11A-图11E实施例中的设备a 11通过应用A的元能力A1触发设备a 11中的系统服务启动设备b 12中的应用D的元能力D1的实现过程进行具体阐述。其中,设备a 11可参见图11A-图11E实施例中的手机的描述,设备b 12可参见图11A-图11E实施例中的手表的描述,应用A可参见图11A-图11E实施例中的运动健康应用的描述,应用D可参见图11A-图11E实施例中的心率应用的描述,元能力A1可参见图11A-图11E实施例中的元能力A1的描述,元能力D1可参见图11A-图11E实施例中的元能力D1的描述。
请参阅图13A-图13C,图13A-图13C为本申请一实施例提供的一种应用模块启动方法的流程示意图。
如图13A所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S801、设备a 11中的DMS响应于用户的操作4,向设备b 12中的DMS发送设备b 12的ID、应用D的包名和元能力D1的元能力名。
其中,操作4可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作4可为用户在图11D实施例中的用户执行的点击控件1105的操作。
并且,操作4与应用D的元能力D1关联。也就是说,应用A的元能力A1基于操作4可获知设备a 11需要启动设备b 12中应用D的元能力D1。由于应用A预先存储有与操作4关联的应用D的包名以及应用D的元能力D1的元能力名,因此,元能力A1可获知应用D的包名和元能力D1的元能力名。从而,应用A的元能力A1可调用设备a 11中的DMS向设备b 12中的DMS发送设备b 12的ID、应用D的包名和元能力D1的元能力名,即请求设备b 12启动应用D的元能力D1。
其中,应用D的包名可唯一标识应用D,元能力D1的元能力名可唯一标识元能力D1。应用D的包名和元能力D1的元能力名可采用如字母、字符、数字等至少一种方式进行表示。此处的应用D的包名可对应于步骤S1201中的第一应用程序的标识,元能力D1的元能力名可对应于步骤S1201中的第一应用模块的模块标识。
另外,设备a 11中的DMS可将设备b 12的ID、应用D的包名和元能力D1的元能力名携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1201中的第一消息。
S802、设备b 12中的DMS向设备b 12中的BMS发送应用D的包名和元能力D1的元能力名。
设备b 12中的DMS基于设备b 12的ID,可判断出设备a 11发送的应用D的包名和元能力D1的元能力名是否发送给设备b 12。从而,设备b 12中的DMS可确定需求启动应用D的元能力D1,便可执行步骤S802,即设备b 12中的DMS可向设备b 12中的BMS请求查询应用D的元能力D1是否已安装。
其中,设备b 12中的DMS可将应用D的包名和元能力D1的元能力名携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1202中的第四消息。
S803、设备b 12中的BMS基于应用D的包名和元能力D1的元能力名,判断应用D的元能力D1是否安装在设备b 12中。
由于设备b 12中的BMS在安装一个元能力时可将该元能力解析后的配置文件存储在 设备b 12中的分布式应用组件数据库中,因此,设备b 12中的BMS可查询设备b 12中的分布式应用组件数据库中是否存在应用D的元能力D1,从而确定应用D的元能力D1是否安装在设备b 12中。
在设备b 12中的分布式应用组件数据库中不存在应用D的元能力D1时,设备b 12中的BMS可确定应用D的元能力D1未安装在设备b 12中,从而设备b 12中的BMS可执行步骤S804-S810;在设备b 12中的分布式应用组件数据库中存在应用D的元能力D1时,设备b 12中的BMS可确定应用D的元能力D1安装在设备b 12中,从而设备b 12中的BMS可执行步骤S809-S810。
S804、设备b 12中的BMS向HAG服务器20发送设备b 12的ID、应用D的包名和元能力D1的元能力名。从而,设备b 12中的BMS可通过设备b 12中的系统属性获取设备b 12的ID,并向HAG服务器20请求为设备b 12下载应用D的元能力D1。
其中,设备b 12中的BMS可将设备b 12的ID、应用D的包名和元能力D1的元能力名携带在一消息中,并从设备b 12与HAG服务器20的通信通道,发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1204中的第二消息。
并且,设备b 12的ID用于唯一指示设备b 12,表示是设备b 12需要从HAG服务器20中获取元能力A2的CDN下载地址。另外,本申请对设备b 12的ID的具体实现方式不做限定。例如,设备b 12的设备类型或者设备b 12的固定资产编号。
S805、HAG服务器20基于应用B的包名和元能力B1的元能力名,获取匹配到的应用B的元能力B1的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名和元能力名,因此,HAG服务器20基于应用D的包名和元能力D1的元能力名,可以匹配到应用D的元能力D1对应的CDN下载地址。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到元能力D1对应的CDN下载地址对应的元能力D1通常为最新版本。
S806、HAG服务器20向设备b 12中的BMS发送应用D的包名、元能力D1的元能力名及元能力D1的CDN下载地址。
其中,HAG服务器20从设备b 12与HAG服务器20的通信通道,可将应用D的包名、元能力D1的元能力名及元能力D1的CDN下载地址携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1205中的第三消息。此处的元能力D1的CDN下载地址可对应于步骤S1205中的第一应用模块的下载地址。
S807、设备b 12中的BMS基于应用D的包名、元能力D1的元能力名及元能力D1的CDN下载地址,从CDN服务器30中下载应用D的元能力D1。此处的CDN服务器30对应于步骤S1206中的第二服务器。
S808、设备b 12中的BMS安装应用D的元能力D1。
S809、设备b 12中的BMS向设备b 12中的DMS通知应用D的元能力D1已安装。此处的该通知可对应于步骤S1207中的第五消息。
S810、设备b 12中的DMS启动应用D的元能力D1(即显式启动),对应于步骤S1208的描述内容。
综上,基于图13A实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用D的包名和元能力D1的元能力名,启动设备b 12中的应用D的元能力D1。
如图13B所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S901、设备a 11中的DMS响应于用户的操作4,向设备b 12中的DMS发送设备b 12的ID、应用D的包名和元能力D1的预定义ACTION3。
其中,操作4可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作4可为用户在图11D实施例中的用户执行的点击控件1105的操作。
并且,操作4与应用D的元能力D1关联。也就是说,应用A的元能力A1基于操作4可获知设备a 11需要启动设备b 12中应用D的元能力D1。由于应用A预先存储有与操作4关联的应用D的包名以及应用D的元能力D1的预定义ACTION3,因此,元能力A1可获知应用D的包名和元能力D1的预定义ACTION3。从而,应用A的元能力A1可调用设备a 11中的DMS向设备b 12中的DMS发送设备b 12的ID、应用D的包名和元能力D1的预定义ACTION3,即请求设备b 12启动应用D的元能力D1。
其中,应用D的包名可唯一标识应用D,应用D的包名和元能力D1的预定义ACTION3可唯一标识元能力D1。应用D的包名和元能力D1的应用D的包名可采用如字母、字符、数字等至少一种方式进行表示。此处的应用D的包名可对应于步骤S1301中的第一应用程序的标识,元能力D1的预定义ACTION3可对应于步骤S1301中的第一应用模块的模块标识。
另外,设备a 11中的DMS可将设备b 12的ID、应用D的包名和元能力D1的应用D的包名携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1301中的第一消息。
S902、设备b 12中的DMS向设备b 12中的BMS发送应用D的包名和元能力D1的预定义ACTION3。
设备b 12中的DMS基于设备b 12的ID,可判断出设备a 11发送的应用D的包名和元能力D1的预定义ACTION3是否发送给设备b 12。从而,设备b 12中的DMS可确定需求启动应用D的元能力D1,便可执行步骤S902,即设备b 12中的DMS可向设备b 12中的BMS请求查询应用D的元能力D1是否已安装。
其中,设备b 12中的DMS可将应用D的包名和元能力D1的预定义ACTION3携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1302中的第四消息。
S903、设备b 12中的BMS基于应用D的包名和元能力D1的预定义ACTION3,判断应用D的元能力D1是否安装在设备b 12中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备b 12中的BMS可查询设备b 12中的分布式应用组件数据库中是否存在应用D的元能力D1,从而确定应用D的元能力D1是否安装在设备b 12中。
在设备b 12中的分布式应用组件数据库中不存在应用D的元能力D1时,设备b 12 中的BMS可确定应用D的元能力D1未安装在设备b 12中,从而设备b 12中的BMS可执行步骤S904-S910;在设备b 12中的分布式应用组件数据库中存在应用D的元能力D1时,设备b 12中的BMS可确定应用D的元能力D1安装在设备b 12中,从而设备b 12中的BMS可执行步骤S909-S910。
S904、设备b 12中的BMS向HAG服务器20发送设备b 12的ID、应用D的包名和元能力D1的预定义ACTION3。从而,设备b 12中的BMS可通过设备b 12中的系统属性获取设备b 12的ID,并向HAG服务器20请求为设备b 12下载应用D的元能力D1。
其中,设备b 12中的BMS可将设备b 12的ID、应用D的包名和元能力D1的预定义ACTION3携带在一消息中,并从设备b 12与HAG服务器20的通信通道发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1304中的第二消息。并且,设备b 12的ID的具体实现内容可参见步骤S804的描述,此处不做赘述。
S905、HAG服务器20基于应用D的包名和元能力D1的预定义ACTION3,获取匹配到的应用D的元能力D1的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名和预定义ACTION,因此,HAG服务器20基于应用D的包名和元能力D1的预定义ACTION3,可以匹配到应用D的元能力D1对应的CDN下载地址。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到元能力D1对应的CDN下载地址对应的元能力D1通常为最新版本。
S906、HAG服务器20向设备b 12中的BMS发送应用D的包名、元能力D1的预定义ACTION3(此参数可替换为元能力D1的元能力名)及元能力D1的CDN下载地址。
其中,HAG服务器20从设备b 12与HAG服务器20的通信通道,可将应用D的包名、元能力D1的预定义ACTION3及元能力D1的CDN下载地址携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1305中的第三消息。此处的元能力D1的CDN下载地址可对应于步骤S1305中的第一应用模块的下载地址。
S907、设备b 12中的BMS基于应用D的包名、元能力D1的预定义ACTION3及元能力D1的CDN下载地址,从CDN服务器30中下载应用D的元能力D1。此处的CDN服务器30对应于步骤S1306中的第二服务器。
S908、设备b 12中的BMS安装应用D的元能力D1。
S909、设备b 12中的BMS向设备b 12中的DMS通知应用D的元能力D1已安装。此处的该通知可对应于步骤S1307中的第五消息。
S910、设备b 12中的DMS启动应用D的元能力D1(即半隐式启动),对应于步骤S1308的描述内容。
综上,基于图13B实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于应用D的包名和元能力D1的预定义ACTION3,启动设备b 12中的应用D的元能力D1,充分考虑到三方应用厂商通常不会将元能力D1的元能力名提供给其他厂商,即无需依赖元能力D1的元能力名。
如图13C所示,本申请的应用模块启动方法的具体实现过程可以包括如下步骤:
S1001、设备a 11中的DMS响应于用户的操作4,向设备b 12中的DMS发送设备b 12的ID和预定义ACTION3。
其中,操作4可以包括但不限于点击、双击、长按、触碰等类型的操作。例如,操作4可为用户在图11D实施例中的用户执行的点击控件1105的操作。
并且,操作4与预定义ACTION3对应的元能力关联。也就是说,应用A的元能力A1基于操作4可获知设备a 11需要启动设备b 12中预定义ACTION3对应的元能力。由于应用A预先存储有与操作2关联的元能力的预定义ACTION3,因此,元能力A1可获知预定义ACTION1对应的元能力。从而,应用A的元能力A1可调用设备a 11中的DMS向设备b 12中的DMS发送设备b 12的ID和预定义ACTION3,即请求设备b 12启动预定义ACTION3对应的元能力。
其中,预定义ACTION3可标识功能相同的元能力。预定义ACTION3可采用如字母、字符、数字等至少一种方式进行表示。此处的预定义ACTION3可对应于步骤S1401中的第一应用模块所属类型的标识。
另外,设备a 11中的DMS可将设备b 12的ID和预定义ACTION3携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1101、步骤S1401中的第一消息。
S1002、设备b 12中的DMS向设备b 12中的BMS发送预定义ACTION1。
其中,DMS可将预定义ACTION1携带在一消息中发送给BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1402中的第四消息。
设备b 12中的DMS基于设备b 12的ID,可判断出设备a 11发送的预定义ACTION3是否发送给设备b 12。从而,设备b 12中的DMS可确定需求启动预定义ACTION3对应的元能力,便可执行步骤S1002,即设备b 12中的DMS可向设备b 12中的BMS请求查询预定义ACTION3对应的元能力是否已安装。
其中,设备b 12中的DMS可将预定义ACTION3携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。
S1003、设备b 12中的BMS基于预定义ACTION3,判断预定义ACTION3对应的元能力是否安装在设备b 12中。
由于BMS在安装一个元能力时可将该元能力解析后的配置文件存储在分布式应用组件数据库中,因此,设备b 12中的BMS可查询设备b 12中的分布式应用组件数据库中是否存在预定义ACTION3对应的元能力,从而确定预定义ACTION3对应的元能力是否安装在设备b 12中。
在设备b 12中的分布式应用组件数据库中不存在预定义ACTION3对应的元能力时,设备b 12中的BMS可确定预定义ACTION3对应的元能力未安装在设备b 12中,从而设备b 12中的BMS可执行步骤S1004-S1014;在设备b 12中的分布式应用组件数据库中存在预定义ACTION3对应的元能力时,设备b 12中的BMS可确定预定义ACTION3对应的元能力安装在设备b 12中,从而设备b 12中的BMS可执行步骤S1013-S1014。
S1004、设备b 12中的BMS向HAG服务器20发送设备b 12的ID和预定义ACTION3。从而,设备b 12中的BMS可通过设备b 12中的系统属性获取设备b 12的ID,并向HAG 服务器20请求为设备b 12下载预定义ACTION3对应的元能力。
其中,设备b 12中的BMS可将设备b 12的ID和预定义ACTION3携带在一消息中,并从设备b 12与HAG服务器20的通信通道,发送给HAG服务器20,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1103、步骤S1404中的第二消息。并且,设备b 12的ID的具体实现内容可参见步骤S804的描述,此处不做赘述。
S1005、HAG服务器20基于预定义ACTION3,获取匹配到的元能力集合3,元能力集合3中的每个子集携带有一个应用的应用名、该应用的元能力的元能力名(此参数可替换为该应用的元能力的预定义ACTION)及该元能力的CDN下载地址。
由于HAG服务器20预先存储有多个hap包以及每个hap包对应的元能力的CDN下载地址,且HAG服务器20可获取每个hap包的应用包名、元能力名和预定义ACTION,因此,HAG服务器20可以匹配到与预定义ACTION3标识的功能相同的元能力对应的CDN下载地址,从而HAG服务器20基于匹配到的元能力对应的应用的包名、匹配到的元能力的元能力名和匹配到的元能力的CDN下载地址,得到元能力集合3。
其中,CDN下载地址可采用如链接或者地址字符串等方式进行表示。另外,HAG服务器20匹配到的元能力的CDN下载地址对应的元能力通常为最新版本。元能力集合3中可以包括一个或者多个子集。
S1006、HAG服务器20向设备b 12中的BMS发送元能力集合3。
其中,HAG服务器20从设备b 12与HAG服务器20的通信通道,可将元能力集合3携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1104、步骤S1405中的第三消息。此处的元能力集合3可对应于步骤S1405中的第一集合。
S1007、设备b 12中的BMS向设备b 12中的DMS发送元能力集合3。
其中,设备b 12中的BMS可将元能力集合3携带在一消息中发送给设备b 12中的DMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1501中的第六消息。此处的元能力集合3可对应于步骤S1501中的第一集合。
S1008、设备b 12中的DMS基于元能力集合3,判断匹配到的元能力的数量是否大于1。
由于匹配到的元能力的数量与元能力集合3的子集的数量相等,因此,设备b 12中的DMS可判断元能力集合3的子集的数量是否大于1,来确定匹配到的元能力的数量是否大于1。
在确定元能力集合3的子集的数量大于1时,设备b 12中的DMS可确定匹配到的元能力的数量大于1,从而设备b 12中的DMS可执行步骤S1009-S1011,以便基于用户意愿确定选择的应用的元能力,提升了用户的参与度和使用体验。在元能力集合3的子集的数量等于1时,设备b 12中的DMS可确定匹配到的元能力的数量等于1,从而设备b 12中的DMS可执行步骤S1010-S1011,以便将匹配到的元能力作为选择的应用的元能力,有利于提升设备b 12中的DMS的处理速度。
S1009、设备b 12中的DMS显示窗口5,并响应于在窗口5上用户的操作,确定选择的应用的元能力。
其中,本申请对窗口5的大小、位置、颜色等布局参数均不做限定。此处的操作对应 于步骤S15022中的第三操作,窗口5对应于步骤步骤S15022中的第一窗口,选择的应用的元能力对应于步骤S15022中的选择的一个软件模块。另外,设备b 12中的DMS也可从匹配到的元能力中选择一个元能力作为选择的应用的元能力,且不显示窗口5,对应于步骤S15021的描述内容。设备b 12中的DMS可基于匹配到的元能力预先设置的优先级或者元能力的存储空间等方式进行选择,本申请对此不做限定。
S1010、设备b 12中的DMS向设备b 12中的BMS发送选择的应用的包名和选择的应用的元能力的元能力名。
其中,设备b 12中的DMS可将选择的应用的包名和选择的应用的元能力的元能力名携带在一消息中发送给设备b 12中的BMS,本申请对该消息的具体实现方式不做限定。此处的该消息可对应于步骤S1503中的第七消息。
其中,选择的应用的元能力包括应用B的元能力B1,选择的设备可以包括设备a 11和设备b 12。为了便于便于说明,此处提及的选择的应用的元能力为应用D的元能力D1。
需要说明的是,步骤S1007-S1010为可选的步骤。也就是说,在匹配到的元能力的数量等于1时,设备b 12中的BMS可将匹配到的元能力作为选择的应用的元能力。在匹配到的元能力的数量大于1时,设备b 12中的BMS可从匹配到的元能力中选择一个元能力作为选择的应用的元能力。其中,设备b 12中的BMS可基于匹配到的元能力预先设置的优先级或者元能力的存储空间等方式进行选择,本申请对此不做限定。
S1011、设备b 12中的BMS基于选择的应用的元能力的CDN下载地址,从CDN服务器30中下载选择的应用的元能力。此处的CDN服务器30对应于步骤S1406中的第二服务器。
S1012、设备b 12中的BMS安装选择的应用的元能力。
此处的步骤S411和步骤S412对应于步骤S1406。
S1013、设备b 12中的BMS向设备b 12中的DMS通知预定义ACTION3对应的元能力已安装。此处的该通知可对应于步骤S1407中的第五消息。
S1014、设备b 12中的DMS启动预定义ACTION3对应的元能力(即隐式启动),对应于步骤S1408的描述内容。
综上,基于图13C实施例的描述,设备a 11可通过应用A的元能力A1触发设备a 11中的系统服务,基于预定义ACTION3,启动设备b 12中的应用D的元能力D1,充分考虑到三方应用厂商通常不会将元能力D1的元能力名提供给其他厂商,即无需依赖元能力D1的元能力名。
从而,电子设备1通过应用的包名以及应用的元能力的元能力名,或者,应用的包名以及应用的元能力的预定义ACTION,或者,预定义ACTION,可从HAG服务器查询到元能力的CDN下载地址,并通过设备的ID,可控制电子设备2中的至少一个电子设备基于元能力的CDN下载地址从CDN服务器上下载该元能力,使得未安装的元能力自动安装,且用户对该元能力的下载过程无感知,该元能力无需在应用首次安装时下载且可基于用户需求实现按需下载。
基于前述的一些实施例,下面介绍本申请提供的应用模块启动方法。
示例性地,本申请提供一种应用模块启动方法。请参阅图14,图14为本申请一实施例提供的一种应用模块启动方法的流程示意图。
本申请的应用模块启动方法的执行主体为第一设备,第一设备包括:系统模块。其中,第一设备可以为图3A-图3C、图4A-图4C、图5、图6、图7A-图7C、图11A-图11E、图12、图13A-图13C提及的设备a 11或设备b 12,系统模块的具体实现方式可参见图3A-图3C、图4A-图4C、图5、图6、图7A-图7C、图11A-图11E、图12、图13A-图13C提及的系统服务的描述内容,第一服务器的具体实现方式可参见图3A-图3C、图4A-图4C、图5、图6、图7A-图7C、图11A-图11E、图12、图13A-图13C提及的HAG服务器的描述内容,此处不做赘述。
如图14所示,本申请的应用模块启动方法可以包括:
S1101、系统模块接收第一消息,第一消息与第一应用模块关联,第一应用模块为第一应用程序中的一个软件模块。
S1102、响应于接收第一消息,系统模块确定第一设备是否安装第一应用模块。
S1103、响应于确定第一设备未安装第一应用模块时,系统模块向第一服务器发送第二消息,第二消息用于下载第一应用模块。
S1104、系统模块从第一服务器接收第三消息,第三消息为第一服务器响应于接收第二消息得到的与第一应用模块关联的消息。
S1105、响应于接收第三消息,系统模块在第一设备中下载、安装并启动第一应用模块。
在一些实施例中,第一设备还包括:第二应用模块,第二应用模块为第二应用程序中的一个软件模块。S1101中方法具体包括:响应于接收用户的第一操作,第二应用模块向系统模块发送第一消息。其中,第一应用程序与第二应用程序相同。
对应的,第一设备的具体实现方式可参见图6中设备a 11的描述内容,系统模块的具体实现方式可参见图6中设备a 11的系统服务的描述内容,第一操作可参见图6中步骤S101的操作1的描述内容,第一消息的具体实现方式可参见图6中步骤S101的描述内容,第一应用模块的具体实现方式可参见图6中元能力A2的描述内容,第二应用模块的具体实现方式可参见图6中元能力A1的描述内容,第一应用程序的具体实现方式可参见图6中应用A的描述内容,步骤S1102的具体实现方式可参见图6中步骤S103的描述内容,第二消息的具体实现方式可参见图6中步骤S104的描述内容,第三消息的具体实现方式可参见图6中步骤S106的描述内容,步骤S1105的具体实现方式可参见图6中步骤S107-步骤S110的描述内容,此处不做赘述。
在另一些实施例中,第一设备还包括:第二应用模块,第二应用模块为第二应用程序中的一个软件模块。S1101中方法具体包括:响应于接收用户的第一操作,第二应用模块向系统模块发送第一消息。其中,第一应用程序与第二应用程序不同。
对应的,第一设备的具体实现方式可参见图7A中设备a 11的描述内容,系统模块的具体实现方式可参见图7A中设备a 11的系统服务的描述内容,第一操作可参见图6中步骤S101的操作2的描述内容,第一消息的具体实现方式可参见图7A中步骤S201的描述内容,第一应用模块的具体实现方式可参见图7A中元能力B1的描述内容,第一应用程序的具体实现方式可参见图7A中应用B的描述内容,第二应用程序的具体实现方式可参见图7A中应用A的描述内容,第二应用模块可参见图7A中元能力A1的描述内容,步骤S1102的具体实现方式可参见图7A中步骤S203的描述内容,第二消息的具体实现方 式可参见图7A中步骤S204的描述内容,第三消息的具体实现方式可参见图7A中步骤S206的描述内容,步骤S1105的具体实现方式可参见图7A中步骤S207-步骤S210的描述内容,此处不做赘述。
或者,对应的,第一设备的具体实现方式可参见图7B中设备a 11的描述内容,系统模块的具体实现方式可参见图7B中设备a 11的系统服务的描述内容,第一操作可参见图6中步骤S101的操作2的描述内容,第一消息的具体实现方式可参见图7B中步骤S301的描述内容,第一应用模块的具体实现方式可参见图7B中元能力B1的描述内容,第一应用程序的具体实现方式可参见图7B中应用B的描述内容,第二应用程序的具体实现方式可参见图7B中应用A的描述内容,第二应用模块可参见图7B中元能力A1的描述内容,步骤S1102的具体实现方式可参见图7B中步骤S303的描述内容,第二消息的具体实现方式可参见图7B中步骤S304的描述内容,第三消息的具体实现方式可参见图7B中步骤S306的描述内容,步骤S1105的具体实现方式可参见图7B中步骤S307-步骤S310的描述内容,此处不做赘述。
或者,对应的,第一设备的具体实现方式可参见图7C中设备a 11的描述内容,系统模块的具体实现方式可参见图7C中设备a 11的系统服务的描述内容,第一操作可参见图6中步骤S101的操作2的描述内容,第一消息的具体实现方式可参见图7C中步骤S401的描述内容,第一应用模块的具体实现方式可参见图7C中元能力B1的描述内容,第一应用程序的具体实现方式可参见图7C中应用B的描述内容,第二应用程序的具体实现方式可参见图7C中应用A的描述内容,第二应用模块可参见图7C中元能力A1的描述内容,步骤S1102的具体实现方式可参见图7C中步骤S403的描述内容,第二消息的具体实现方式可参见图7C中步骤S404的描述内容,第三消息的具体实现方式可参见图7C中步骤S406的描述内容,步骤S1105的具体实现方式可参见图7C中步骤S407-步骤S414的描述内容,此处不做赘述。
在另一些实施例中,第一设备与第二设备通信连接。S1101中方法具体包括:系统模块从第二设备接收第一消息,第一消息是第二设备响应于接收用户的第二操作发送的,第一消息中还携带有第一设备的设备标识。
对应的,第一设备的具体实现方式可参见图13A中设备b 12的描述内容,第二设备的具体实现方式可参见图13A中设备a 11的描述内容,系统模块的具体实现方式可参见图13A中设备b 12的系统服务的描述内容,第一操作可参见图13A中步骤S801的操作4的描述内容,第一消息的具体实现方式可参见图13A中步骤S801的描述内容,第一应用模块的具体实现方式可参见图13A中元能力D1的描述内容,第一应用程序的具体实现方式可参见图13A中应用D的描述内容,步骤S1102的具体实现方式可参见图13A中步骤S803的描述内容,第二消息的具体实现方式可参见图13A中步骤S804的描述内容,第三消息的具体实现方式可参见图13A中步骤S806的描述内容,步骤S1105的具体实现方式可参见图13A中步骤S807-步骤S810的描述内容,此处不做赘述。
或者,对应的,第一设备的具体实现方式可参见图13B中设备b 12的描述内容,第二设备的具体实现方式可参见图13B中设备a 11的描述内容,系统模块的具体实现方式可参见图13B中设备b 12的系统服务的描述内容,第一操作可参见图13B中步骤S901的操作4的描述内容,第一消息的具体实现方式可参见图13B中步骤S901的描述内容, 第一应用模块的具体实现方式可参见图13B中元能力D1的描述内容,第一应用程序的具体实现方式可参见图13B中应用D的描述内容,步骤S1102的具体实现方式可参见图13B中步骤S903的描述内容,第二消息的具体实现方式可参见图13B中步骤S904的描述内容,第三消息的具体实现方式可参见图13B中步骤S906的描述内容,步骤S1105的具体实现方式可参见图13B中步骤S907-步骤S910的描述内容,此处不做赘述。
或者,对应的,第一设备的具体实现方式可参见图13C中设备b 12的描述内容,第二设备的具体实现方式可参见图13C中设备a 11的描述内容,系统模块的具体实现方式可参见图13C中设备b 12的系统服务的描述内容,第一操作可参见图13C中步骤S1001的操作4的描述内容,第一消息的具体实现方式可参见图13C中步骤S1001的描述内容,第一应用模块的具体实现方式可参见图13C中元能力D1的描述内容,第一应用程序的具体实现方式可参见图13C中应用D的描述内容,步骤S1102的具体实现方式可参见图13C中步骤S1003的描述内容,第二消息的具体实现方式可参见图13C中步骤S1004的描述内容,第三消息的具体实现方式可参见图13C中步骤S1006的描述内容,步骤S1105的具体实现方式可参见图13C中步骤S1007-步骤S1014的描述内容,此处不做赘述。
其中,系统模块中的分布式调度服务DMS从第二设备中的分布式调度服务DMS接收第一消息,具体实现过程可参见图13A中步骤S901的描述内容,或者图13B中步骤S901的描述内容,或者图13C中步骤S1001的描述内容,此处不做赘述。
在一些实施例中,该方法具体包括:系统模块从第一服务器接收第三消息,第三消息中携带有第一应用模块的下载地址;响应于接收第三消息,系统模块从第二服务器中下载第一应用模块,将第一应用模块安装在第一设备中,并启动第一应用模块。
其中,第二服务器的具体实现方式可参见CDN服务器的描述内容,上述实现的具体过程可参见图6中步骤S106-步骤S108的描述内容,或者图7A中步骤S206-步骤S208的描述内容,或者图7B中步骤S306-步骤S308的描述内容,或者图7C中步骤S406-步骤S412的描述内容,或者图13A中步骤S806-步骤S808的描述内容,或者图13B中步骤S906-步骤S908的描述内容,或者图13C中步骤S1006-步骤S1012的描述内容,此处不做赘述。
在一些实施例中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,本申请的应用模块启动方法可以包括:步骤S1201-步骤S1208。
步骤S1201、分布式调度服务DMS接收第一消息,第一消息中携带有第一应用程序的标识以及第一应用模块的模块标识。
其中,步骤S1201的具体实现方式可参见图6中步骤S101的描述内容,或者图7A中步骤S201的描述内容,或者图13A中步骤S801的描述内容,第一应用程序的标识可参见图6中应用A的包名的描述内容,或者图7A中应用B的包名的描述内容,第一应用模块的模块标识可参见图6中元能力A2的元能力名的描述内容,或者图7A中元能力B1的元能力名的描述内容,此处不做赘述。
步骤S1202、响应于接收第一消息,分布式调度服务DMS向包管理服务BMS发送第四消息,第四消息中携带有第一应用程序的标识以及第一应用模块的模块标识。
其中,步骤S1202的具体实现方式可参见图6中步骤S102的描述内容,或者图7A中步骤S202的描述内容,或者图13A中步骤S802的描述内容,此处不做赘述。
步骤S1203、响应于接收第四消息,包管理服务BMS确定第一设备是否安装第一应 用模块。
其中,步骤S1203的具体实现方式可参见图6中步骤S103的描述内容,或者图7A中步骤S203的描述内容,或者图13A中步骤S803的描述内容,此处不做赘述。
步骤S1204、响应于确定第一设备未安装第一应用模块时,包管理服务BMS向第一服务器发送第二消息,第二消息中携带有第一设备的设备标识、第一应用程序的标识以及第一应用模块的模块标识。
其中,步骤S1204的具体实现方式可参见图6中步骤S104的描述内容,或者图7A中步骤S204的描述内容,或者图13A中步骤S804的描述内容,此处不做赘述。
步骤S1205、包管理服务BMS从第一服务器接收第三消息,第三消息中携带有第一应用模块的下载地址、第一应用程序的标识以及第一应用模块的模块标识。
其中,第三消息的具体确定方式可参见图6中步骤S105的描述内容,或者图7A中步骤S205的描述内容,或者图13A中步骤S805的描述内容。步骤S1205的具体实现方式可参见图6中步骤S106的描述内容,或者图7A中步骤S206的描述内容,或者图13A中步骤S806的描述内容,此处不做赘述。
步骤S1206、响应于接收第三消息,包管理服务BMS基于第一应用模块的下载地址,从第二服务器中下载第一应用模块,并将第一应用模块安装在第一设备中。
其中,步骤S1206的具体实现方式可参见图6中步骤S107-步骤S108的描述内容,或者图7A中步骤S207-步骤S208的描述内容,或者图13A中步骤S807-步骤S808的描述内容,此处不做赘述。
步骤S1207、包管理服务BMS向分布式调度服务DMS发送第五消息。
其中,第五消息用于向分布式调度服务DMS通知第一应用模块已安装在第一设备中。并且,步骤S1207的具体实现方式可参见图6中步骤S109的描述内容,或者图7A中步骤S209的描述内容,或者图13A中步骤S809的描述内容,此处不做赘述。
步骤S1208、响应于接收第五消息,分布式调度服务DMS启动第一应用模块。
其中,步骤S1208的具体实现方式可参见图6中步骤S110的描述内容,或者图7A中步骤S210的描述内容,或者图13A中步骤S810的描述内容,此处不做赘述。
在一些实施例中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,本申请的应用模块启动方法可以包括:步骤S1301-步骤S1308。
步骤S1301、分布式调度服务DMS接收第一消息,第一消息中携带有第一应用程序的标识以及第一应用模块所属类型的标识。
其中,步骤S1301的具体实现方式可参见图7B中步骤S301的描述内容,或者图13B中步骤S901的描述内容,此处不做赘述。
步骤S1302、响应于接收第一消息,分布式调度服务DMS向包管理服务BMS发送第四消息,第四消息中携带有第一应用程序的标识以及第一应用模块所属类型的标识。
其中,步骤S1302的具体实现方式可参见图7B中步骤S302的描述内容,或者图13B中步骤S902的描述内容,此处不做赘述。
步骤S1303、响应于接收第四消息,包管理服务BMS确定第一设备是否安装第一应用模块。
其中,步骤S1303的具体实现方式可参见图7B中步骤S303的描述内容,或者图13B 中步骤S903的描述内容,此处不做赘述。
步骤S1304、响应于确定第一设备未安装第一应用模块时,包管理服务BMS向分布式调度服务DMS发送第二消息,第二消息中携带有第一设备的设备标识、第一应用程序的标识以及第一应用模块所属类型的标识。
其中,步骤S1304的具体实现方式可参见图7B中步骤S304的描述内容,或者图13B中步骤S904的描述内容,此处不做赘述。
步骤S1305、包管理服务BMS从第一服务器接收第三消息,第三消息中携带有第一应用模块的下载地址、第一应用程序的标识以及第一应用模块所属类型的标识。
其中,第三消息的具体确定方式可参见图7B中步骤S305的描述内容,或者图13B中步骤S903的描述内容,步骤S1305的具体实现方式可参见图7B中步骤S306的描述内容,或者图13B中步骤S906的描述内容,此处不做赘述。
步骤S1306、响应于接收第三消息,包管理服务BMS基于第一应用模块的下载地址,从第二服务器中下载第一应用模块,并将第一应用模块安装在第一设备中。
其中,步骤S1306的具体实现方式可参见图7B中步骤步骤S307-步骤S308的描述内容,或者图13B中步骤S907-步骤A908的描述内容,此处不做赘述。
步骤S1307、包管理服务BMS向分布式调度服务DMS发送第五消息。
其中,步骤S1307的具体实现方式可参见图7B中步骤S309的描述内容,或者图13B中步骤S909的描述内容,此处不做赘述。
步骤S1308、响应于接收第五消息,分布式调度服务DMS启动第一应用模块。
其中,步骤S1308的具体实现方式可参见图7B中步骤S310的描述内容,或者图13B中步骤S910的描述内容,此处不做赘述。
在一些实施例中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,本申请的应用模块启动方法可以包括:步骤S1401-步骤S1408。
步骤S1401、分布式调度服务DMS接收第一消息,第一消息中携带有第一应用模块所属类型的标识。
其中,步骤S1401的具体实现方式可参见图7C中步骤S401的描述内容,或者图13C中步骤S1001的描述内容,此处不做赘述。
步骤S1402、响应于接收第一消息,分布式调度服务DMS向包管理服务BMS发送第四消息,第四消息中携带有第一应用模块所属类型的标识。
其中,步骤S1402的具体实现方式可参见图7C中步骤S402的描述内容,或者图13C中步骤S1002的描述内容,此处不做赘述。
步骤S1403、响应于接收第四消息,包管理服务BMS确定第一设备是否安装第一应用模块。
其中,步骤S1403的具体实现方式可参见图7C中步骤S403的描述内容,或者图13C中步骤S1003的描述内容,此处不做赘述。
步骤S1404、响应于确定第一设备未安装第一应用模块时,包管理服务BMS向第一服务器发送第二消息,第二消息中携带有第一设备的设备标识以及第一应用模块所属类型的标识。
其中,步骤S1404的具体实现方式可参见图7C中步骤S404的描述内容,或者图13C 中步骤S1004的描述内容,此处不做赘述。
步骤S1405、包管理服务BMS从第一服务器接收第三消息,第三消息中携带有第一集合,第一集合的每个子集中携带有一个应用程序的标识、包含在应用程序中的软件模块的模块标识以及软件模块的下载地址,且每个子集中对应的软件模块与第一应用模块属于同一个类型。
其中,第三消息的具体确定方式可参见图7C中步骤S405的描述内容,或者图13C中步骤S1005的描述内容。步骤S1405的具体实现方式可参见图7C中步骤S406的描述内容,或者图13C中步骤S1006的描述内容,此处不做赘述。
步骤S1406、响应于接收第三消息,包管理服务BMS基于第一集合中选择的一个软件模块的下载地址从第二服务器中下载选择的一个软件模块,并将选择的一个软件模块安装在第一设备中。
其中,步骤S1406的具体实现方式可参见图7C中步骤S411-步骤S412的描述内容,或者图13C中步骤S1011-步骤S1012的描述内容,此处不做赘述。
步骤S1407、包管理服务BMS向分布式调度服务DMS发送第五消息。
其中,步骤S1407的具体实现方式可参见图7C中步骤S413的描述内容,或者图13C中步骤S1013的描述内容,此处不做赘述。
步骤S1408、响应于接收第五消息,分布式调度服务DMS启动选择的一个软件模块。
其中,步骤S1408的具体实现方式可参见图7C中步骤S414的描述内容,或者图13C中步骤S1014的描述内容,此处不做赘述。
在一些实施例中,本申请的应用模块启动方法具体可以包括:步骤S1501-步骤S1504。
步骤S1501、响应于接收第三消息,包管理服务BMS向分布式调度服务DMS发送第六消息,第六消息中携带有第一集合。
其中,第一集合的具体实现方式可参见图7C中元能力集合1的描述内容,或者图13C中元能力集合3的描述内容,步骤S1501的具体实现方式可参见图7C中步骤S407的描述内容,或者图13C中步骤S1007的描述内容,此处不做赘述。
步骤S15021、响应于接收第六消息,分布式调度服务DMS基于预设规则从第一集合中确定选择的一个软件模块。
步骤S15022、响应于接收第六消息,分布式调度服务DMS显示第一窗口,第一窗口中包括与第一集合中的软件模块对应的控件;响应于接收用户在第一窗口中对选择的一个软件模块对应的控件上的第三操作,分布式调度服务DMS确定选择的一个软件模块。
其中,第三操作可以包括但不限于点击、双击、长按、触碰等类型的操作。预设规则可以参见图7C中步骤S409中“元能力预先设置的优先级或者元能力的存储空间等方式”进行设置,本申请对此不做限定。第一窗口的具体实现方式可参见图7C中窗口1的描述内容,或者图13C中窗口5的描述内容,步骤S15022的具体实现方式可参见图7C中步骤S409的描述内容,或者图13C中步骤S1009的描述内容,此处不做赘述。
步骤S1503、分布式调度服务DMS向包管理服务BMS发送第七消息,第七消息中携带有选择的一个软件模块所属的应用程序的标识以及选择的一个软件模块的模块标识。
其中,步骤S1503的具体实现方式可参见图7C中步骤S410的描述内容,或者图13C中步骤S1010的描述内容,此处不做赘述。
步骤S1504、响应于接收第七消息,包管理服务BMS基于选择的一个软件模块所属的应用程序的标识以及选择的一个软件模块的模块标识,从第一集合中确定选择的一个软件模块的下载地址。
在一些实施例中,该方法还包括:响应于确定第一设备已安装第一应用模块时,系统模块启动第一应用模块。
其中,上述过程的具体实现方式可参见图6中步骤S109的描述内容,或者图7A中步骤S209的描述内容,或者图7B中步骤S309的描述内容,或者图7C中步骤S413的描述内容,或者图13A中步骤S809的描述内容,或者图13B中步骤S909的描述内容,或者图13C中步骤S1013的描述内容,此处不做赘述。
在一些实施例中,第一设备与第三设备通信连接。该方法还包括:系统模块向第三设备发送第八消息,第八消息用于请求第三设备启动第三应用模块,第三应用模块为第三应用程序中的一个软件模块,第三应用模块未安装在第三设备中;第八消息中携带有第三设备的设备标识、第三应用程序的标识以及第三应用模块的模块标识,或者第八消息中携带有第三设备的设备标识、第三应用程序的标识以及第三应用模块所属类型的标识,或者第八消息中携带有第三设备的设备标识以及第三应用模块所属类型的标识。
其中,第一设备的具体实现方式可参见图13A-图13C中的设备a 11的描述内容,第三设备的具体实现方式可参见图13A-图13C中的设备b 12的描述内容,第八消息的具体实现方式可参见图13A中步骤S801、图13B中步骤S901、图13C中步骤S1011的描述内容,上述过程的具体实现方式可参见图13A-图13C的描述内容,此处不做赘述。
在一些实施例中,该方法具体包括:系统模块中的分布式调度服务DMS向第三设备中的分布式调度服务DMS发送第八消息。
示例性地,本申请提供一种应用模块启动方法。请参阅图15,图15为本申请一实施例提供的一种应用模块启动方法的流程示意图。
本申请的应用模块启动方法的执行主体为第一设备,第一设备包括:第四应用模块和系统模块,第四应用模块为第四应用程序中的一个软件模块。第一设备与第四设备通信连接。其中,第一设备可以为图8A-图8I、图9、图10A-图10C提及的设备a 11,第四设备可以为图8A-图8I、图9、图10A-图10C提及的设备b 12,系统模块可参见图8A-图8I、图9、图10A-图10C提及的系统服务的描述内容,第四应用程序的具体实现方式可参见图8A-图8I、图9、图10A-图10C提及的应用A的描述内容,第四应用模块的具体实现方式可参见图8A-图8I、图9、图10A-图10C提及的元能力A1的描述内容,第一服务器的具体实现方式可参见图8A-图8I、图9、图10A-图10C提及的HAG服务器的描述内容,此处不做赘述。
如图15所示,本申请的应用模块启动方法可以包括:
S1601、响应于接收用户的第四操作,第四应用模块向系统模块发送第九消息,第九消息与第五应用模块关联,第五应用模块为第五应用程序中的一个软件模块,第四应用程序与第五应用程序不同。
其中,第四操作可参见图10A-图10C中的操作3的描述内容,第五应用模块可参见图10A-图10C中的元能力C1的描述内容,第五应用程序可参见图10A-图10C中的应用C的描述内容,第九消息可参见图10A中步骤S501的描述内容,或者图10B中步骤S602 的描述内容,或者图10C中步骤S702的描述内容,此处不做赘述。
S1602、响应于接收第九消息,系统模块确定第一设备和第四设备是否安装第五应用模块。
其中,上述过程的具体实现方式可参见图10A中步骤S503的描述内容,或者图10B中步骤S603的描述内容,或者图10C中步骤S703的描述内容,此处不做赘述。
S1603、响应于确定第一设备和第四设备均未安装第五应用模块时,系统模块向第一服务器发送第十消息,第十消息用于下载第五应用模块。
其中,上述过程的具体实现方式可参见图10A中步骤S504的描述内容,或者图10B中步骤S604的描述内容,或者图10C中步骤S704的描述内容,此处不做赘述。
S1604、系统模块从第一服务器接收第十一消息,第十一消息为第一服务器响应于接收第十消息得到的与第五应用模块关联的消息。
其中,上述过程的具体实现方式可参见图10A中步骤S506的描述内容,或者图10B中步骤S606的描述内容,或者图10C中步骤S706的描述内容,此处不做赘述。
S1605、响应于接收第十一消息,系统模块实现第一设备和/或第四设备中下载、安装并启动第五应用模块。
其中,上述过程的具体实现方式可参见图10A中步骤S507、步骤S509-步骤S523,或者图10B中步骤S607的描述内容、步骤S609-步骤S623的描述内容,或者图10C中步骤S707、步骤S709-步骤S723的描述内容,此处不做赘述。
在一些实施例中,本申请的应用模块启动方法具体可以包括:步骤S1701-步骤S17033。
步骤S1701、系统模块从第一服务器接收第十一消息,第十一消息中携带有第五应用模块的下载地址和适用于第五应用模块的下载地址的设备类型;
其中,步骤S1701的具体实现方式可参见图10A中步骤S506的描述内容,或者图10B中步骤S606的描述内容,或者图10C中步骤S706的描述内容,此处不做赘述。
步骤S1702、响应于接收第十一消息,系统模块确定适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备;
其中,步骤S1702的具体实现方式可参见图10A中步骤S507、步骤S509-步骤S510的描述内容,或者图10B中步骤S607、步骤S609-步骤S610的描述内容,或者图10C中步骤S707、步骤S709-步骤S710的描述内容,此处不做赘述。
步骤S17031、响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备时,系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块,将第五应用模块安装在第一设备中,并在第一设备中启动第五应用模块。
其中,步骤S17031的具体实现方式可参见图10A中步骤S518-步骤S523的描述内容,或者图10B中步骤S618-步骤S623的描述内容,或者图10C中步骤S718-步骤S723的描述内容,此处不做赘述。
步骤S17032、响应于确定适用于第五应用模块的下载地址的设备类型包括第四设备时,系统模块向第四设备发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址;
其中,步骤S17032的具体实现方式可参见图10A中步骤S511的描述内容,或者图10B中步骤S611的描述内容,或者图10C中步骤S711的描述内容,此处不做赘述。
步骤S17033、响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,系统模块显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块,将第五应用模块安装在第一设备中,并在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,系统模块向第四设备发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址。
其中,第二窗口的具体实现方式可参见图10A中窗口2的描述内容,或者第二窗口的具体实现方式可参见图10B中窗口3的描述内容,或者第二窗口的具体实现方式可参见图10C中窗口4的描述内容,第五操作可以包括但不限于点击、双击、长按、触碰等类型的操作。步骤S17033的具体实现方式可参见图10A中步骤S520-步骤S523、步骤S511的描述内容,或者图10B中步骤S620-步骤S623、步骤S611的描述内容,或者图10C中步骤S720-步骤S723、步骤S711的描述内容,此处不做赘述。
在一些实施例中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,本申请的应用模块启动方法可以包括:步骤S1801-步骤S18083。
步骤S1801、响应于接收第四操作,第四应用模块向分布式调度服务DMS发送第九消息,第九消息中携带有第五应用程序的标识以及第五应用模块的模块标识。
其中,第五应用程序的标识的具体实现方式可参见图10A中应用C的包名的描述内容,第五应用模块的模块标识的具体实现方式可参见图10A中元能力C1的元能力名的描述内容,第四操作的具体实现方式可参见图10A中步骤S501的操作3的描述内容,步骤S1801的具体实现方式可参见图10A中步骤S501的描述内容,此处不做赘述。
步骤S1802、响应于接收第九消息,分布式调度服务DMS向包管理服务BMS发送第十三消息,第十三消息中携带有第五应用程序的标识以及第五应用模块的模块标识。其中,步骤S1802的具体实现方式可参见图10A中步骤S502的描述内容,此处不做赘述。
步骤S1803、响应于接收第十三消息,包管理服务BMS确定第一设备和第四设备是否安装第五应用模块。其中,步骤S1803的具体实现方式可参见图10A中步骤S503的描述内容,此处不做赘述。
步骤S1804、响应于确定第一设备和第四设备均未安装第五应用模块时,包管理服务BMS向第一服务器发送第十消息,第十消息中携带有第五应用程序的标识以及第五应用模块的模块标识。其中,步骤S1804的具体实现方式可参见图10A中步骤S504的描述内容,此处不做赘述。
步骤S1805、包管理服务BMS从第一服务器接收第十一消息,第十一消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块的模块标识。
其中,第十一消息的具体确定方式可参见图10A中步骤S505的描述内容,步骤S1805的具体实现方式可参见图10A中步骤S506的描述内容,此处不做赘述。
步骤S1806、响应于接收第十一消息,包管理服务BMS向分布式调度服务DMS发送第十四消息,第十四消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块的模块标识。
其中,步骤S1806的具体实现方式可参见图10A中步骤S507或步骤S508的描述内容,此处不做赘述。
步骤S1807、响应于接收第十四消息,分布式调度服务DMS确定适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备。其中,步骤S1807的具体实现方式可参见图10A中步骤S509-步骤S510的描述内容,此处不做赘述。
步骤S18081、响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备时,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块。
其中,步骤S18081的具体实现方式可参见图10A中步骤S518-步骤S523的描述内容,此处不做赘述。
步骤S18082、响应于确定适用于第五应用模块的下载地址的设备类型包括第四设备时,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块的模块标识。
其中,步骤S18082的具体实现方式可参见图10A中步骤S511的描述内容,此处不做赘述。
步骤S18083、响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,分布式调度服务DMS显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块的模块标识。
其中,步骤S18083的具体实现方式可参见图10A中步骤S518-步骤S523、步骤S511的描述内容,此处不做赘述。
在一些实施例中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,本申请的应用模块启动方法可以包括:步骤S1901-步骤S19083。
步骤S1901、响应于接收第四操作,第四应用模块向分布式调度服务DMS发送第九消息,第九消息中携带有第五应用程序的标识以及第五应用模块所属类型的标识。
其中,第五应用程序的标识的具体实现方式可参见图10B中应用C的包名的描述内容,第五应用模块所属类型的标识的具体实现方式可参见图10B中元能力C1的预定义 ACTION2的描述内容,第四操作的具体实现方式可参见图10B中步骤S601的操作3的描述内容,步骤S1901的具体实现方式可参见图10B中步骤S601的描述内容,此处不做赘述。
步骤S1902、响应于接收第九消息,分布式调度服务DMS向包管理服务BMS发送第十三消息,第十三消息中携带有第五应用程序的标识以及第五应用模块所属类型的标识。其中,步骤S1902的具体实现方式可参见图10B中步骤S602的描述内容,此处不做赘述。
步骤S1903、响应于接收第十三消息,包管理服务BMS确定第一设备和第四设备是否安装第五应用模块。其中,步骤S1903的具体实现方式可参见图10B中步骤S603的描述内容,此处不做赘述。
步骤S1904、响应于确定第一设备和第四设备均未安装第五应用模块时,包管理服务BMS向第一服务器发送第十消息,第十消息中携带有第五应用程序的标识以及第五应用模块所属类型的标识。其中,步骤S1904的具体实现方式可参见图10B中步骤S604的描述内容,此处不做赘述。
步骤S1905、包管理服务BMS从第一服务器接收第十一消息,第十一消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,第十一消息的具体确定方式可参见图10B中步骤S605的描述内容,步骤S1905的具体实现方式可参见图10B中步骤S606的描述内容,此处不做赘述。
步骤S1906、响应于接收第十一消息,包管理服务BMS向分布式调度服务DMS发送第十四消息,第十四消息中携带有第五应用模块的下载地址、适用于第五应用模块的下载地址的设备类型、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,步骤S1906的具体实现方式可参见图10B中步骤S607或步骤S608的描述内容,此处不做赘述。
步骤S1907、响应于接收第十四消息,分布式调度服务DMS确定适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备。
其中,步骤S1907的具体实现方式可参见图10B中步骤S609-步骤S610的描述内容,此处不做赘述。
步骤S19081、响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备时,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块。
其中,步骤S19081的具体实现方式可参见图10B中步骤S618-步骤S623的描述内容,此处不做赘述。
步骤S19082、响应于确定适用于第五应用模块的下载地址的设备类型包括第四设备时,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,步骤S19082的具体实现方式可参见图10B中步骤S611的描述内容,此处不做赘述。
步骤S19083、响应于确定适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,分布式调度服务DMS显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,步骤S19083的具体实现方式可参见图10B中步骤S618-步骤S623、步骤S611的描述内容,此处不做赘述。
在一些实施例中,在系统模块包括:分布式调度服务DMS和包管理服务BMS时,本申请的应用模块启动方法可以包括:步骤S2001-步骤S20083。
步骤S2001、响应于接收第四操作,第四应用模块向分布式调度服务DMS发送第九消息,第九消息中携带有第五应用模块所属类型的标识。
其中,第五应用模块所属类型的标识的具体实现方式可参见图10C中的预定义ACTION2的描述内容,第四操作的具体实现方式可参见图10C中步骤S601的操作3的描述内容,步骤S2001的具体实现方式可参见图10C中步骤S701的描述内容,此处不做赘述。
步骤S2002、响应于接收第九消息,分布式调度服务DMS向包管理服务BMS发送第十三消息,第十三消息中携带有第五应用模块所属类型的标识。其中,步骤S2002的具体实现方式可参见图10C中步骤S702的描述内容,此处不做赘述。
步骤S2003、响应于接收第十三消息,包管理服务BMS确定第一设备和第四设备是否安装第五应用模块。其中,步骤S2003的具体实现方式可参见图10C中步骤S703的描述内容,此处不做赘述。
步骤S2004、响应于确定第一设备和第四设备均未安装第五应用模块时,包管理服务BMS向第一服务器发送第十消息,第十消息中携带有第五应用模块所属类型的标识。其中,步骤S2004的具体实现方式可参见图10C中步骤S704的描述内容,此处不做赘述。
步骤S2005、包管理服务BMS从第一服务器接收第十一消息,第十一消息中携带有第二集合,第二集合的每个子集中携带有一个应用程序的标识,包含在应用程序中的软件模块的模块标识以及适用于软件模块的下载地址的设备类型,且每个子集中对应的软件模块与第五应用模块同属于一个类型。
其中,第十一消息的具体确定方式可参见图10C中步骤S705的描述内容,步骤S2005的具体实现方式可参见图10C中步骤S706的描述内容,此处不做赘述。
步骤S2006、响应于接收第十一消息,包管理服务BMS向分布式调度服务DMS发送第十四消息,第十四消息中携带有第二集合。其中,步骤S2006的具体实现方式可参见图10C中步骤S707或步骤S708的描述内容,此处不做赘述。
步骤S2007、响应于接收第十四消息,分布式调度服务DMS确定第二集合中适用于第五应用模块的下载地址的设备类型是否包括第一设备和第四设备。其中,步骤S2007的具体实现方式可参见图10C中步骤S709-步骤S710的描述内容,此处不做赘述。
步骤S20081、响应于确定第二集合中适用于第五应用模块的下载地址的设备类型包括第一设备时,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块。
其中,步骤S20081的具体实现方式可参见图10C中步骤S718-步骤S723的描述内容,此处不做赘述。
步骤S20082、响应于确定第二集合中适用于第五应用模块的下载地址的设备类型包括第四设备时,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,步骤S20082的具体实现方式可参见图10C中步骤S711的描述内容,此处不做赘述。
步骤S20083、响应于确定第二集合中适用于第五应用模块的下载地址的设备类型包括第一设备和第四设备时,分布式调度服务DMS显示第二窗口,第二窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第二窗口中对第一设备对应的控件上的第五操作,分布式调度服务DMS向包管理服务BMS发送第十五消息,第十五消息用于请求下载第五应用模块;响应于接收第十五消息,包管理服务BMS基于第五应用模块的下载地址,从第二服务器中下载第五应用模块,将第五应用模块安装在第一设备中,并向分布式调度服务DMS发送第十六消息;响应于接收第十六消息,分布式调度服务DMS在第一设备中启动第五应用模块;和/或,响应于接收用户在第二窗口中对第四设备对应的控件上的第五操作,分布式调度服务DMS向第四设备中的分布式调度服务DMS发送第十二消息,第十二消息用于请求第四设备启动第五应用模块,第十二消息中携带有第五应用模块的下载地址、第四设备的设备标识、第五应用程序的标识以及第五应用模块所属类型的标识。
其中,步骤S20083的具体实现方式可参见图10C中步骤S718-步骤S723、步骤S711的描述内容,此处不做赘述。
在一些实施例中,该方法还包括:响应于确定第一设备已安装第五应用模块,且第四设备未安装第五应用模块时,系统模块在第一设备中启动第五应用模块。
其中,上述过程的具体实现方式可参见图10A中步骤S508-步骤S509、步骤S518、步骤S523的描述内容,或者图10B中步骤S608-步骤S609、步骤S618、步骤S623的描 述内容,或者图10C中步骤S708-步骤S709、步骤S718、步骤S723的描述内容,此处不做赘述。
在一些实施例中,该方法还包括:响应于确定第一设备未安装第五应用模块,且第四设备已安装第五应用模块时,系统模块向第四设备发送第十七消息,第十七消息用于请求第四设备启动第五应用模块;
其中,上述过程的具体实现方式可参见图10A中步骤S508-步骤S509、步骤S511的描述内容,或者图10B中步骤S608-步骤S609、步骤S611的描述内容,或者图10C中步骤S708-步骤S709、步骤S711的描述内容,此处不做赘述。
在一些实施例中,该方法还包括:响应于确定第一设备和第四设备均已安装第五应用模块时,系统模块显示第三窗口,第三窗口中包括第一设备对应的控件和第四设备对应的控件;响应于接收用户在第三窗口中对第一设备对应的控件上的第六操作,系统模块基于第五应用模块的下载地址,从第二服务器下载第五应用模块,将第五应用模块安装在第一设备中,并在第一设备中启动第五应用模块;和/或,响应于接收用户在第三窗口中对第四设备对应的控件上的第六操作,系统模块向第四设备发送第十七消息,第十七消息用于请求第四设备启动第五应用模块。
其中,第六操作可以包括但不限于点击、双击、长按、触碰等类型的操作。第三窗口的具体实现方式可参见窗口2的描述内容,上述过程的具体实现方式可参见图10A中步骤S508-步骤S510、步骤S518、步骤S523、步骤S511的描述内容,或者图10B中步骤S608-步骤S610、步骤S618、步骤S623、步骤S611的描述内容,或者图10C中步骤S708-步骤S710、步骤S718、步骤S723、步骤S711的描述内容,此处不做赘述。
示例性地,本申请提供一种电子设备,包括:存储器和处理器;存储器用于存储程序指令;处理器用于调用存储器中的程序指令,使得电子设备执行前文实施例的应用模块启动方法。
示例性地,本申请提供一种芯片系统,芯片系统应用于包括存储器、显示屏和传感器的电子设备;芯片系统包括:处理器;当处理器执行前文实施例的应用模块启动方法。
示例性地,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器使得电子设备执行时实现前文实施例的应用模块启动方法。
示例性地,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行前文实施例的应用模块启动方法。
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序 在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

Claims (23)

  1. 一种应用模块启动方法,其特征在于,所述方法应用于第一设备,所述第一设备包括系统模块,所述方法包括:
    所述系统模块接收第一消息,所述第一消息与第一应用模块关联,所述第一应用模块为第一应用程序中的一个软件模块;
    响应于接收所述第一消息,所述系统模块确定所述第一设备是否安装所述第一应用模块;
    响应于确定所述第一设备未安装所述第一应用模块时,所述系统模块向第一服务器发送第二消息,所述第二消息用于下载所述第一应用模块;
    所述系统模块从所述第一服务器接收第三消息,所述第三消息为所述第一服务器响应于接收所述第二消息得到的与所述第一应用模块关联的消息;
    响应于接收所述第三消息,所述系统模块在所述第一设备中下载、安装并启动所述第一应用模块。
  2. 根据权利要求1所述的方法,其特征在于,所述方法具体包括:
    所述系统模块从所述第一服务器接收所述第三消息,所述第三消息中携带有所述第一应用模块的下载地址;
    响应于接收所述第三消息,所述系统模块从第二服务器中下载所述第一应用模块;
    所述系统模块将所述第一应用模块安装在所述第一设备中,并启动所述第一应用模块。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一设备还包括:第二应用模块,所述第二应用模块为第二应用程序中的一个软件模块;
    所述方法具体包括:
    响应于接收用户的第一操作,所述第二应用模块向所述系统模块发送所述第一消息。
  4. 根据权利要求3所述的方法,其特征在于,所述第一应用程序与所述第二应用程序相同或不同。
  5. 根据权利要求1或2所述的方法,其特征在于,所述第一设备与第二设备通信连接;
    所述方法具体包括:
    所述系统模块从所述第二设备接收所述第一消息,所述第一消息是所述第二设备响应于接收用户的第二操作发送的,所述第一消息中还携带有所述第一设备的设备标识。
  6. 根据权利要求5所述的方法,其特征在于,所述方法具体包括:
    所述系统模块中的分布式调度服务DMS从所述第二设备中的分布式调度服务DMS接收所述第一消息。
  7. 根据权利要求1-6任一项所述的方法,其特征在于,在所述系统模块包括:分布式调度服务DMS和包管理服务BMS时,所述方法具体包括:
    所述分布式调度服务DMS接收所述第一消息,所述第一消息中携带有所述第一应用程序的标识以及所述第一应用模块的模块标识;
    响应于接收所述第一消息,所述分布式调度服务DMS向所述包管理服务BMS发送 第四消息,所述第四消息中携带有所述第一应用程序的标识以及所述第一应用模块的模块标识;
    响应于接收所述第四消息,所述包管理服务BMS确定所述第一设备是否安装所述第一应用模块;
    响应于确定所述第一设备未安装所述第一应用模块时,所述包管理服务BMS向所述第一服务器发送所述第二消息,所述第二消息中携带有所述第一设备的设备标识、所述第一应用程序的标识以及所述第一应用模块的模块标识;
    所述包管理服务BMS从所述第一服务器接收所述第三消息,所述第三消息中携带有所述第一应用模块的下载地址、所述第一应用程序的标识以及所述第一应用模块的模块标识;
    响应于接收所述第三消息,所述包管理服务BMS基于所述第一应用模块的下载地址,从第二服务器中下载所述第一应用模块,并将所述第一应用模块安装在所述第一设备中;
    所述包管理服务BMS向所述分布式调度服务DMS发送第五消息,所述第五消息用于向所述分布式调度服务DMS通知所述第一应用模块已安装在所述第一设备中;
    响应于接收所述第五消息,所述分布式调度服务DMS启动所述第一应用模块。
  8. 根据权利要求1-6任一项所述的方法,其特征在于,在所述系统模块包括:分布式调度服务DMS和包管理服务BMS时,所述方法具体包括:
    所述分布式调度服务DMS接收所述第一消息,所述第一消息中携带有所述第一应用程序的标识以及所述第一应用模块所属类型的标识;
    响应于接收所述第一消息,所述分布式调度服务DMS向所述包管理服务BMS发送第四消息,所述第四消息中携带有所述第一应用程序的标识以及所述第一应用模块所属类型的标识;
    响应于接收所述第四消息,所述包管理服务BMS确定所述第一设备是否安装所述第一应用模块;
    响应于确定所述第一设备未安装所述第一应用模块时,所述包管理服务BMS向所述分布式调度服务DMS发送所述第二消息,所述第二消息中携带有所述第一设备的设备标识、所述第一应用程序的标识以及所述第一应用模块所属类型的标识;
    所述包管理服务BMS从所述第一服务器接收所述第三消息,所述第三消息中携带有所述第一应用模块的下载地址、所述第一应用程序的标识以及所述第一应用模块所属类型的标识;
    响应于接收所述第三消息,所述包管理服务BMS基于所述第一应用模块的下载地址,从第二服务器中下载所述第一应用模块,并将所述第一应用模块安装在所述第一设备中;
    所述包管理服务BMS向所述分布式调度服务DMS发送第五消息,所述第五消息用于向所述分布式调度服务DMS通知所述第一应用模块已安装在所述第一设备中;
    响应于接收所述第五消息,所述分布式调度服务DMS启动所述第一应用模块。
  9. 根据权利要求1-6任一项所述的方法,其特征在于,在所述系统模块包括:分布式调度服务DMS和包管理服务BMS时,所述方法具体包括:
    所述分布式调度服务DMS接收所述第一消息,所述第一消息中携带有所述第一应用模块所属类型的标识;
    响应于接收所述第一消息,所述分布式调度服务DMS向所述包管理服务BMS发送第四消息,所述第四消息中携带有所述第一应用模块所属类型的标识;
    响应于接收所述第四消息,所述包管理服务BMS确定所述第一设备是否安装所述第一应用模块;
    响应于确定所述第一设备未安装所述第一应用模块时,所述包管理服务BMS向所述第一服务器发送所述第二消息,所述第二消息中携带有所述第一设备的设备标识以及所述第一应用模块所属类型的标识;
    所述包管理服务BMS从所述第一服务器接收所述第三消息,所述第三消息中携带有第一集合,所述第一集合的每个子集中携带有一个应用程序的标识、包含在所述应用程序中的软件模块的模块标识以及所述软件模块的下载地址,且所述每个子集中对应的软件模块与所述第一应用模块属于同一个类型;
    响应于接收所述第三消息,所述包管理服务BMS基于所述第一集合中选择的一个软件模块的下载地址从第二服务器中下载所述选择的一个软件模块,并将所述选择的一个软件模块安装在所述第一设备中;
    所述包管理服务BMS向所述分布式调度服务DMS发送第五消息,所述第五消息用于向所述分布式调度服务DMS通知所述第一应用模块已安装在所述第一设备中;
    响应于接收所述第五消息,所述分布式调度服务DMS启动所述选择的一个软件模块。
  10. 根据权利要求9所述的方法,其特征在于,所述方法还包括:
    响应于接收所述第三消息,所述包管理服务BMS向所述分布式调度服务DMS发送第六消息,所述第六消息中携带有所述第一集合;
    响应于接收所述第六消息,所述分布式调度服务DMS基于预设规则从所述第一集合中确定所述选择的一个软件模块;
    或者,响应于接收所述第六消息,所述分布式调度服务DMS显示第一窗口,所述第一窗口中包括与所述第一集合中的软件模块对应的控件;响应于接收用户在所述第一窗口中对所述选择的一个软件模块对应的控件上的第三操作,所述分布式调度服务DMS确定所述选择的一个软件模块;
    所述分布式调度服务DMS向所述包管理服务BMS发送第七消息,所述第七消息中携带有所述选择的一个软件模块所属的应用程序的标识以及所述选择的一个软件模块的模块标识;
    响应于接收所述第七消息,所述包管理服务BMS基于所述选择的一个软件模块所属的应用程序的标识以及所述选择的一个软件模块的模块标识,从所述第一集合中确定所述选择的一个软件模块的下载地址。
  11. 根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
    响应于确定所述第一设备已安装所述第一应用模块时,所述系统模块启动所述第一应用模块。
  12. 根据权利要求1-11任一项所述的方法,其特征在于,所述第一设备与第三设备通信连接;所述方法还包括:
    所述系统模块向所述第三设备发送第八消息,所述第八消息用于请求所述第三设备启动第三应用模块,所述第三应用模块为第三应用程序中的一个软件模块,所述第三应用模 块未安装在所述第三设备中;所述第八消息中携带有所述第三设备的设备标识、所述第三应用程序的标识以及所述第三应用模块的模块标识,或者所述第八消息中携带有所述第三设备的设备标识、所述第三应用程序的标识以及所述第三应用模块所属类型的标识,或者所述第八消息中携带有所述第三设备的设备标识以及所述第三应用模块所属类型的标识。
  13. 根据权利要求12所述的方法,其特征在于,所述方法具体包括:
    所述系统模块中的分布式调度服务DMS向所述第三设备中的分布式调度服务DMS发送所述第八消息。
  14. 一种应用模块启动方法,其特征在于,所述方法应用于第一设备,所述第一设备包括:第四应用模块和系统模块,所述第四应用模块为第四应用程序中的一个软件模块,所述第一设备与第四设备通信连接;
    所述方法包括:
    响应于接收用户的第四操作,所述第四应用模块向所述系统模块发送第九消息,所述第九消息与第五应用模块关联,所述第五应用模块为第五应用程序中的一个软件模块,所述第四应用程序与所述第五应用程序不同;
    响应于接收所述第九消息,所述系统模块确定所述第一设备和所述第四设备是否安装所述第五应用模块;
    响应于确定所述第一设备和所述第四设备均未安装所述第五应用模块时,所述系统模块向第一服务器发送第十消息,所述第十消息用于下载所述第五应用模块;
    所述系统模块从所述第一服务器接收第十一消息,所述第十一消息为所述第一服务器响应于接收所述第十消息得到的与所述第五应用模块关联的消息;
    响应于接收所述第十一消息,所述系统模块实现所述第一设备和/或所述第四设备中下载、安装并启动所述第五应用模块。
  15. 根据权利要求14所述的方法,其特征在于,所述方法具体包括:
    所述系统模块从所述第一服务器接收所述第十一消息,所述第十一消息中携带有所述第五应用模块的下载地址和适用于所述第五应用模块的下载地址的设备类型;
    响应于接收所述第十一消息,所述系统模块确定适用于所述第五应用模块的下载地址的设备类型是否包括所述第一设备和所述第四设备;
    响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第一设备时,所述系统模块基于所述第五应用模块的下载地址,从第二服务器下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并在所述第一设备中启动所述第五应用模块;
    或者,响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第四设备时,所述系统模块向所述第四设备发送第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址;
    或者,响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第一设备和所述第四设备时,所述系统模块显示第二窗口,所述第二窗口中包括所述第一设备对应的控件和所述第四设备对应的控件;响应于接收用户在所述第二窗口中对所述第一设备对应的控件上的第五操作,所述系统模块基于所述第五应用模块的下载地址,从第二服务器下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并在所述第一设备中启动所述第五应用模块;和/或,响应于接收用户在所述第二窗口中对所述第四设备对 应的控件上的第五操作,所述系统模块向所述第四设备发送第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址。
  16. 根据权利要求14或15所述的方法,其特征在于,在所述系统模块包括:分布式调度服务DMS和包管理服务BMS时,所述方法具体包括:
    响应于接收所述第四操作,所述第四应用模块向所述分布式调度服务DMS发送所述第九消息,所述第九消息中携带有所述第五应用程序的标识以及所述第五应用模块的模块标识;
    响应于接收所述第九消息,所述分布式调度服务DMS向所述包管理服务BMS发送第十三消息,所述第十三消息中携带有所述第五应用程序的标识以及所述第五应用模块的模块标识;
    响应于接收所述第十三消息,所述包管理服务BMS确定所述第一设备和所述第四设备是否安装所述第五应用模块;
    响应于确定所述第一设备和所述第四设备均未安装所述第五应用模块时,所述包管理服务BMS向所述第一服务器发送所述第十消息,所述第十消息中携带有所述第五应用程序的标识以及所述第五应用模块的模块标识;
    所述包管理服务BMS从所述第一服务器接收所述第十一消息,所述第十一消息中携带有所述第五应用模块的下载地址、适用于所述第五应用模块的下载地址的设备类型、所述第五应用程序的标识以及所述第五应用模块的模块标识;
    响应于接收所述第十一消息,所述包管理服务BMS向所述分布式调度服务DMS发送第十四消息,所述第十四消息中携带有所述第五应用模块的下载地址、适用于所述第五应用模块的下载地址的设备类型、所述第五应用程序的标识以及所述第五应用模块的模块标识;
    响应于接收所述第十四消息,所述分布式调度服务DMS确定适用于所述第五应用模块的下载地址的设备类型是否包括所述第一设备和所述第四设备;
    响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第一设备时,所述分布式调度服务DMS向所述包管理服务BMS发送第十五消息,所述第十五消息用于请求下载所述第五应用模块;响应于接收所述第十五消息,所述包管理服务BMS基于所述第五应用模块的下载地址,从第二服务器中下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并向所述分布式调度服务DMS发送第十六消息;响应于接收所述第十六消息,所述分布式调度服务DMS在所述第一设备中启动所述第五应用模块;
    或者,响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第四设备时,所述分布式调度服务DMS向所述第四设备中的分布式调度服务DMS发送第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址、所述第四设备的设备标识、所述第五应用程序的标识以及所述第五应用模块的模块标识;
    或者,响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第一设备和所述第四设备时,所述分布式调度服务DMS显示第二窗口,所述第二窗口中包括所述第一设备对应的控件和所述第四设备对应的控件;响应于接收用户在所述第二窗口中对所 述第一设备对应的控件上的第五操作,所述分布式调度服务DMS向所述包管理服务BMS发送第十五消息,所述第十五消息用于请求下载所述第五应用模块;响应于接收所述第十五消息,所述包管理服务BMS基于所述第五应用模块的下载地址,从第二服务器中下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并向所述分布式调度服务DMS发送第十六消息;响应于接收所述第十六消息,所述分布式调度服务DMS在所述第一设备中启动所述第五应用模块;和/或,响应于接收用户在所述第二窗口中对所述第四设备对应的控件上的第五操作,所述分布式调度服务DMS向所述第四设备中的分布式调度服务DMS发送所述第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址、所述第四设备的设备标识、所述第五应用程序的标识以及所述第五应用模块的模块标识。
  17. 根据权利要求14或15所述的方法,其特征在于,在所述系统模块包括:分布式调度服务DMS和包管理服务BMS时,所述方法具体包括:
    响应于接收所述第四操作,所述第四应用模块向所述分布式调度服务DMS发送所述第九消息,所述第九消息中携带有所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    响应于接收所述第九消息,所述分布式调度服务DMS向所述包管理服务BMS发送第十三消息,所述第十三消息中携带有所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    响应于接收所述第十三消息,所述包管理服务BMS确定所述第一设备和所述第四设备是否安装所述第五应用模块;
    响应于确定所述第一设备和所述第四设备均未安装所述第五应用模块时,所述包管理服务BMS向所述第一服务器发送所述第十消息,所述第十消息中携带有所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    所述包管理服务BMS从所述第一服务器接收所述第十一消息,所述第十一消息中携带有所述第五应用模块的下载地址、适用于所述第五应用模块的下载地址的设备类型、所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    响应于接收所述第十一消息,所述包管理服务BMS向所述分布式调度服务DMS发送第十四消息,所述第十四消息中携带有所述第五应用模块的下载地址、适用于所述第五应用模块的下载地址的设备类型、所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    响应于接收所述第十四消息,所述分布式调度服务DMS确定适用于所述第五应用模块的下载地址的设备类型是否包括所述第一设备和所述第四设备;
    响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第一设备时,所述分布式调度服务DMS向所述包管理服务BMS发送第十五消息,所述第十五消息用于请求下载所述第五应用模块;响应于接收所述第十五消息,所述包管理服务BMS基于所述第五应用模块的下载地址,从第二服务器中下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并向所述分布式调度服务DMS发送第十六消息;响应于接收所述第十六消息,所述分布式调度服务DMS在所述第一设备中启动所述第五应用模块;
    或者,响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第四设备 时,所述分布式调度服务DMS向所述第四设备中的分布式调度服务DMS发送第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址、所述第四设备的设备标识、所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    或者,响应于确定适用于所述第五应用模块的下载地址的设备类型包括所述第一设备和所述第四设备时,所述分布式调度服务DMS显示第二窗口,所述第二窗口中包括所述第一设备对应的控件和所述第四设备对应的控件;响应于接收用户在所述第二窗口中对所述第一设备对应的控件上的第五操作,所述分布式调度服务DMS向所述包管理服务BMS发送第十五消息,所述第十五消息用于请求下载所述第五应用模块;响应于接收所述第十五消息,所述包管理服务BMS基于所述第五应用模块的下载地址,从第二服务器中下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并向所述分布式调度服务DMS发送第十六消息;响应于接收所述第十六消息,所述分布式调度服务DMS在所述第一设备中启动所述第五应用模块;和/或,响应于接收用户在所述第二窗口中对所述第四设备对应的控件上的第五操作,所述分布式调度服务DMS向所述第四设备中的分布式调度服务DMS发送所述第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址、所述第四设备的设备标识、所述第五应用程序的标识以及所述第五应用模块所属类型的标识。
  18. 根据权利要求14或15所述的方法,其特征在于,在所述系统模块包括:分布式调度服务DMS和包管理服务BMS时,所述方法具体包括:
    响应于接收所述第四操作,所述第四应用模块向所述分布式调度服务DMS发送所述第九消息,所述第九消息中携带有所述第五应用模块所属类型的标识;
    响应于接收所述第九消息,所述分布式调度服务DMS向所述包管理服务BMS发送第十三消息,所述第十三消息中携带有所述第五应用模块所属类型的标识;
    响应于接收所述第十三消息,所述包管理服务BMS确定所述第一设备和所述第四设备是否安装所述第五应用模块;
    响应于确定所述第一设备和所述第四设备均未安装所述第五应用模块时,所述包管理服务BMS向所述第一服务器发送所述第十消息,所述第十消息中携带有所述第五应用模块所属类型的标识;
    所述包管理服务BMS从所述第一服务器接收所述第十一消息,所述第十一消息中携带有第二集合,所述第二集合的每个子集中携带有一个应用程序的标识,包含在所述应用程序中的软件模块的模块标识以及适用于所述软件模块的下载地址的设备类型,且所述每个子集中对应的软件模块与所述第五应用模块同属于一个类型;
    响应于接收所述第十一消息,所述包管理服务BMS向所述分布式调度服务DMS发送第十四消息,所述第十四消息中携带有所述第二集合;
    响应于接收所述第十四消息,所述分布式调度服务DMS确定所述第二集合中适用于所述第五应用模块的下载地址的设备类型是否包括所述第一设备和所述第四设备;
    响应于确定所述第二集合中适用于所述第五应用模块的下载地址的设备类型包括所述第一设备时,所述分布式调度服务DMS向所述包管理服务BMS发送第十五消息,所述第十五消息用于请求下载所述第五应用模块;响应于接收所述第十五消息,所述包管理 服务BMS基于所述第五应用模块的下载地址,从第二服务器中下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并向所述分布式调度服务DMS发送第十六消息;响应于接收所述第十六消息,所述分布式调度服务DMS在所述第一设备中启动所述第五应用模块;
    或者,响应于确定所述第二集合中适用于所述第五应用模块的下载地址的设备类型包括所述第四设备时,所述分布式调度服务DMS向所述第四设备中的分布式调度服务DMS发送第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址、所述第四设备的设备标识、所述第五应用程序的标识以及所述第五应用模块所属类型的标识;
    或者,响应于确定所述第二集合中适用于所述第五应用模块的下载地址的设备类型包括所述第一设备和所述第四设备时,所述分布式调度服务DMS显示第二窗口,所述第二窗口中包括所述第一设备对应的控件和所述第四设备对应的控件;响应于接收用户在所述第二窗口中对所述第一设备对应的控件上的第五操作,所述分布式调度服务DMS向所述包管理服务BMS发送第十五消息,所述第十五消息用于请求下载所述第五应用模块;响应于接收所述第十五消息,所述包管理服务BMS基于所述第五应用模块的下载地址,从第二服务器中下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并向所述分布式调度服务DMS发送第十六消息;响应于接收所述第十六消息,所述分布式调度服务DMS在所述第一设备中启动所述第五应用模块;和/或,响应于接收用户在所述第二窗口中对所述第四设备对应的控件上的第五操作,所述分布式调度服务DMS向所述第四设备中的分布式调度服务DMS发送所述第十二消息,所述第十二消息用于请求所述第四设备启动所述第五应用模块,所述第十二消息中携带有所述第五应用模块的下载地址、所述第四设备的设备标识、所述第五应用程序的标识以及所述第五应用模块所属类型的标识。
  19. 根据权利要求14-18任一项所述的方法,其特征在于,所述方法还包括:
    响应于确定所述第一设备已安装所述第五应用模块,且所述第四设备未安装所述第五应用模块时,所述系统模块在所述第一设备中启动所述第五应用模块;
    或者,响应于确定所述第一设备未安装所述第五应用模块,且所述第四设备已安装所述第五应用模块时,所述系统模块向所述第四设备发送第十七消息,所述第十七消息用于请求所述第四设备启动所述第五应用模块;
    或者,响应于确定所述第一设备和所述第四设备均已安装所述第五应用模块时,所述系统模块显示第三窗口,所述第三窗口中包括所述第一设备对应的控件和所述第四设备对应的控件;响应于接收用户在所述第三窗口中对所述第一设备对应的控件上的第六操作,所述系统模块基于所述第五应用模块的下载地址,从第二服务器下载所述第五应用模块,将所述第五应用模块安装在所述第一设备中,并在所述第一设备中启动所述第五应用模块;和/或,响应于接收用户在所述第三窗口中对所述第四设备对应的控件上的第六操作,所述系统模块向所述第四设备发送第十七消息,所述第十七消息用于请求所述第四设备启动所述第五应用模块。
  20. 一种电子设备,其特征在于,包括:存储器和处理器;
    所述存储器用于存储程序指令;
    所述处理器用于调用所述存储器中的程序指令,使得所述电子设备执行权利要求1-13任一项所述的应用模块启动方法;或者使得所述电子设备执行权利要求14-19任一项所述的应用模块启动方法。
  21. 一种芯片系统,其特征在于,所述芯片系统应用于包括存储器、显示屏和传感器的电子设备;所述芯片系统包括:处理器;当所述处理器执行所述存储器中存储的计算机指令时,所述电子设备执行如权利要求1-13任一项所述的应用模块启动方法;或者,所述电子设备执行如权利要求14-19任一项所述的应用模块启动方法。
  22. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器使得电子设备执行时实现权利要求1-13任一项所述的应用模块启动方法;或者,所述计算机程序被处理器使得电子设备执行时实现权利要求14-19任一项所述的应用模块启动方法。
  23. 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-13任一项所述的应用模块启动方法;或者,使得所述计算机执行如权利要求14-19任一项所述的应用模块启动方法。
PCT/CN2021/117295 2020-09-10 2021-09-08 应用模块启动方法和电子设备 WO2022052962A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/003,871 US20230259346A1 (en) 2020-09-10 2021-09-08 Application Module Startup Method and Electronic Device
EP21866015.7A EP4145278A4 (en) 2020-09-10 2021-09-08 APPLICATION MODULE STARTING METHOD AND ELECTRONIC DEVICE
MX2023000588A MX2023000588A (es) 2020-09-10 2021-09-08 Metodo de inicio de un modulo de aplicacion y dispositivo electronico.

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202010948973 2020-09-10
CN202010948973.3 2020-09-10
CN202011377014.7 2020-11-30
CN202011377014.7A CN114168160A (zh) 2020-09-10 2020-11-30 应用模块启动方法和电子设备

Publications (1)

Publication Number Publication Date
WO2022052962A1 true WO2022052962A1 (zh) 2022-03-17

Family

ID=80476182

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/117295 WO2022052962A1 (zh) 2020-09-10 2021-09-08 应用模块启动方法和电子设备

Country Status (5)

Country Link
US (1) US20230259346A1 (zh)
EP (1) EP4145278A4 (zh)
CN (1) CN114168160A (zh)
MX (1) MX2023000588A (zh)
WO (1) WO2022052962A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866215A (zh) * 2005-05-20 2006-11-22 乐金电子(昆山)电脑有限公司 计算机系统及系统软件的安装方法和便携式计算机的软件安装方法
EP2341428A1 (en) * 2009-12-04 2011-07-06 Samsung Electronics Co., Ltd. Server connected to image forming apparatus and client, client, and method of remotely installing driver of image forming apparatus
EP2530950A1 (en) * 2011-06-02 2012-12-05 Samsung Electronics Co., Ltd. Display apparatus and implementation method thereof for installing applications for services
CN103699400A (zh) * 2012-09-27 2014-04-02 联想(北京)有限公司 一种控制方法和电子设备
US20180316818A1 (en) * 2017-05-01 2018-11-01 Ricoh Company, Ltd. System and method for installing application and recording medium
CN110162389A (zh) * 2019-05-15 2019-08-23 广州视源电子科技股份有限公司 应用程序的启动方法、装置和智能交互设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107408050A (zh) * 2015-04-14 2017-11-28 索尼公司 信息处理设备、信息处理方法、计算机程序以及服务器设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1866215A (zh) * 2005-05-20 2006-11-22 乐金电子(昆山)电脑有限公司 计算机系统及系统软件的安装方法和便携式计算机的软件安装方法
EP2341428A1 (en) * 2009-12-04 2011-07-06 Samsung Electronics Co., Ltd. Server connected to image forming apparatus and client, client, and method of remotely installing driver of image forming apparatus
EP2530950A1 (en) * 2011-06-02 2012-12-05 Samsung Electronics Co., Ltd. Display apparatus and implementation method thereof for installing applications for services
CN103699400A (zh) * 2012-09-27 2014-04-02 联想(北京)有限公司 一种控制方法和电子设备
US20180316818A1 (en) * 2017-05-01 2018-11-01 Ricoh Company, Ltd. System and method for installing application and recording medium
CN110162389A (zh) * 2019-05-15 2019-08-23 广州视源电子科技股份有限公司 应用程序的启动方法、装置和智能交互设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4145278A4

Also Published As

Publication number Publication date
US20230259346A1 (en) 2023-08-17
EP4145278A4 (en) 2023-11-29
MX2023000588A (es) 2023-02-13
CN114168160A (zh) 2022-03-11
EP4145278A1 (en) 2023-03-08

Similar Documents

Publication Publication Date Title
RU2766255C1 (ru) Способ голосового управления и электронное устройство
WO2020177622A1 (zh) Ui组件显示的方法及电子设备
WO2021013158A1 (zh) 显示方法及相关装置
CN109814766B (zh) 一种应用显示方法及电子设备
WO2021000804A1 (zh) 锁定状态下的显示方法及装置
WO2021036770A1 (zh) 一种分屏处理方法及终端设备
WO2020253758A1 (zh) 一种用户界面布局方法及电子设备
WO2021249087A1 (zh) 卡片分享方法、电子设备及通信系统
WO2022068483A1 (zh) 应用启动方法、装置和电子设备
WO2021253975A1 (zh) 应用程序的权限管理方法、装置和电子设备
WO2020233556A1 (zh) 一种通话内容处理方法和电子设备
WO2021175272A1 (zh) 一种应用信息的显示方法及相关设备
CN113254409A (zh) 文件共享方法、系统及相关设备
WO2020239001A1 (zh) 一种哼唱识别方法及相关设备
WO2022160991A1 (zh) 权限控制方法和电子设备
WO2022156535A1 (zh) 分布式应用的处理方法和装置
WO2022179275A1 (zh) 终端应用控制的方法、终端设备及芯片系统
CN113806105A (zh) 消息处理方法、装置、电子设备和可读存储介质
CN114124980B (zh) 一种启动应用的方法、设备、系统、终端及存储介质
CN111835904A (zh) 一种基于情景感知和用户画像开启应用的方法及电子设备
WO2022127130A1 (zh) 一种添加操作序列的方法、电子设备和系统
WO2022121445A1 (zh) 添加widget的方法、装置及计算机可读存储介质
WO2022022674A1 (zh) 应用图标布局方法及相关装置
WO2020062014A1 (zh) 一种向输入框中输入信息的方法及电子设备
WO2023138305A9 (zh) 卡片显示方法、电子设备及计算机可读存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21866015

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021866015

Country of ref document: EP

Effective date: 20221202

NENP Non-entry into the national phase

Ref country code: DE