WO2024083114A1 - Procédé de distribution de logiciel, dispositif électronique et système - Google Patents

Procédé de distribution de logiciel, dispositif électronique et système Download PDF

Info

Publication number
WO2024083114A1
WO2024083114A1 PCT/CN2023/124946 CN2023124946W WO2024083114A1 WO 2024083114 A1 WO2024083114 A1 WO 2024083114A1 CN 2023124946 W CN2023124946 W CN 2023124946W WO 2024083114 A1 WO2024083114 A1 WO 2024083114A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
capability set
capability
electronic device
installation file
Prior art date
Application number
PCT/CN2023/124946
Other languages
English (en)
Chinese (zh)
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 华为技术有限公司
Publication of WO2024083114A1 publication Critical patent/WO2024083114A1/fr

Links

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
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • the present application relates to the field of computer technology, and in particular to a software distribution method, electronic device and system.
  • Software available to users on the terminal can be distributed to the terminal by the server.
  • software distribution is based on the device types supported by the software.
  • the device types supported by software 1 include mobile phones and tablets. Therefore, mobile phones and tablets can be distributed with software 1, but large screens cannot be distributed.
  • This distribution method has great limitations. For example, there are many devices released by different manufacturers. It is possible that the software developer cannot obtain the type field of some devices supported by the software, resulting in the inability to distribute the software to these devices. It is not flexible and intelligent enough.
  • the present application discloses a software distribution method, electronic device and system, which can provide a more flexible and intelligent software distribution mechanism, is independent of the device type, and expands the range of devices to which software can be distributed.
  • the present application provides a software distribution method, applied to a first device, the method comprising: sending a first message to a network device, the first message being used to request acquisition of a first software, the first message comprising first information for indicating a capability set of the first device, the capability set of the first device comprising hardware capabilities and software capabilities supported by the first device; when the capability set of the first device matches the capability set corresponding to the first software, receiving an installation file of the first software sent by the network device or a download method of the installation file of the first software, the capability set corresponding to the first software comprising hardware capabilities and software capabilities that a device that can run the first software needs to support; and displaying a first interface of the first software according to the installation file of the first software or the download method of the installation file of the first software.
  • the first device can request the network device to obtain the first software.
  • the capability set of the first device matches the capability set corresponding to the first software
  • the first software can be distributed by the network device.
  • This method implements the software distribution function based on the device capability set and the capability set required by the software, and does not depend on the device type. This avoids the situation where some devices have the ability to run the first software but cannot be distributed the first software because the device type is not the device type supported by the first software. This expands the range of devices that can be distributed the first software and makes the application scenarios of the software distribution function more extensive.
  • sending the first message to the network device includes: when it is determined to be in a preset scenario, sending the first message to the network device, and the first software is related to the preset scenario.
  • the first device when it is determined that the first device is in the preset scenario, the first device can request the network device to distribute the first software related to the preset scenario, that is, the distributed software meets the current usage scenario/current user needs.
  • the software distributed in different scenarios can be different, which can meet the different needs of different users in different scenarios, making the software distribution function more flexible and intelligent, and improving the user experience.
  • the capability set of the first device matches the capability set corresponding to the first software, including at least one of the following situations: the capability set of the first device includes capabilities in the capability set corresponding to the first software; the capability set of the first device includes capabilities that are strongly dependent on the capability set corresponding to the first software, and the strongly dependent capabilities are capabilities required by the device to which the first software is distributed; the capability set of the first device includes the parent capability of the capabilities that are strongly dependent on the capabilities in the capability set corresponding to the first software.
  • the capability set corresponding to the first software may include strongly dependent capabilities and weakly dependent capabilities.
  • the strongly dependent capabilities are capabilities that the device to which the first software is distributed is required to have, and the weakly dependent capabilities are capabilities that the device to which the first software is distributed may not have.
  • a parent capability may correspond to at least one child capability.
  • the parent capability is a strongly dependent capability
  • the corresponding child capabilities are all strongly dependent capabilities
  • the parent capability is a strongly dependent capability.
  • the capability set of the first device matches the capability set corresponding to the first software.
  • the capability set of the first device includes all capabilities in the capability set corresponding to the first software, which can be understood as a situation where the requirements for the distributed device are higher.
  • the capability set of the first device includes strongly dependent capabilities in the capability set corresponding to the first software or the parent capabilities of the strongly dependent capabilities, which can be understood as a situation where the requirements for the distributed device are lower, thereby broadening the application scenarios of software distribution.
  • the first software includes multiple versions, and the capability sets corresponding to different versions of the first software are the same. Or different, when the capability set of the first device matches the capability set corresponding to the first software, the installation file of the first software sent by the network device is received or the installation file of the first software is downloaded, including: when the capability set of the first device matches the capability set corresponding to the first version of the first software, the installation file of the first version of the first software sent by the network device is received or the installation file of the first version of the first software is downloaded.
  • the first device when the capability set of the first device matches the capability set corresponding to the first software of any one of multiple versions, the first device can be distributed with the first software of that version, thereby avoiding the situation where the capability set of the first device does not match the capability set corresponding to some versions of the first software, resulting in the first device being unable to be distributed with the first software, thereby expanding the range of devices to which the first software can be distributed.
  • the first software includes multiple versions, and the capability sets corresponding to different versions of the first software are the same or different.
  • the method also includes: when the capability set of the first device matches the capability set corresponding to the second version of the first software, and the capability set corresponding to the third version of the first software matches, receiving the installation file of the second version of the first software sent by the network device or the download method of the installation file of the second version of the first software, wherein the second version is newer than the third version.
  • the first device when the capability set of the first device matches the capability sets corresponding to multiple versions of the first software, the first device can be distributed with the updated version of the first software.
  • the software distribution method is more refined and more in line with user needs, thereby improving the user experience.
  • displaying the first interface of the first software according to the installation file of the first software or the downloading method of the installation file of the first software includes: installing the first software according to the installation file of the first software; displaying the first interface of the first software; or, downloading the installation file of the first software according to the downloading method of the installation file of the first software; installing the first software according to the installation file of the first software; and displaying the first interface of the first software.
  • the installation of the first software is a silent installation, for example, a user interface and installation progress prompting the user to install are not displayed.
  • the first device after the first device receives the installation file of the first software, it can automatically install the first software, or after the first device receives the download address of the installation file of the first software, it can automatically download the installation file and then automatically install the first software, without the need for manual operation by the user, which is more convenient for users to use.
  • the method also includes: obtaining a capability set of the second device; sending a second message to the network device, the second message being used to request distribution of second software to the second device, the second message including second information indicating the capability set of the second device, the second device being used to receive the installation file of the second software or the download method of the installation file of the second software when the capability set of the second device matches the capability set corresponding to the second software, the installation file of the second software or the download method of the installation file of the second software being used by the second device to display a second interface of the second software.
  • the first device can request the network device to distribute the second software to the second device.
  • the second device can be distributed the second software.
  • This software distribution method not only does not depend on the device type, but also does not require the second device to which the software is distributed to request the network device on its own. Even if the second device cannot communicate with the network device (for example, it does not have the corresponding communication capability, has not obtained the address information of the network device, etc.), it can still be distributed the second software, further expanding the range of devices to which the software can be distributed and making the application scenarios of the software distribution function more extensive.
  • obtaining the capability set of the second device includes: sending a third message to the second device, where the third message is used to request obtaining the capability set of the second device; and receiving the capability set of the second device sent by the second device.
  • the first interface includes a flow control; and obtaining the capability set of the second device includes: receiving a first operation for the flow control; and obtaining the capability set of the second device.
  • the first operation can trigger the process of distributing the second software to the second device, that is, the timing of software distribution is determined according to the user operation, which is more in line with user needs and improves user experience.
  • the method further includes: receiving a third message sent by the network device, the third message being used to instruct distribution of the second software to the second device; and sending the installation file of the second software or the download method of the installation file of the second software to the second device.
  • the first device can distribute the second software (which can be called cross-device flow software) to the second device according to the third message sent by the network device. Even if the network device cannot communicate with the second device, the second software can be distributed to the second device normally, making the application scenarios of the software distribution function more extensive.
  • the second software which can be called cross-device flow software
  • the method further includes: receiving a fourth message sent by the network device, the fourth message being used to indicate that the second software is not distributed to the second device; and displaying a prompt message, the prompt message indicating that the second device does not have the ability to run the second software.
  • the first device can prompt the user that the second device does not have the ability to run the second software based on the fourth message sent by the network device, so that the user can obtain the reason for the failure of software distribution, which is more in line with user needs and improves user experience.
  • the first software is related to the preset scene, including: the first software is related to the preset scene It is related to at least one of the location, time, user portrait, and user operation.
  • the first software related to the preset scene is an atomic service for travel ticket booking.
  • the first software can be determined according to at least one of the location, time, user portrait, and user operation in the preset scenario.
  • the first software can be determined according to the user operation, or even if the user does not perform the user operation, the user portrait and other information can be automatically identified to determine the first software. This can meet the software distribution needs of users in different preset scenarios, making the software distribution function more flexible and intelligent, and improving the user experience.
  • the second device is a device discovered and/or connected to the first device through a distributed communication manner.
  • the present application provides another software distribution method, which is applied to a second device, and the method includes: receiving a first message sent by a first device; sending a capability set of the second device to the first device according to the first message, the capability set of the second device including hardware capabilities and software capabilities supported by the second device, and the capability set of the second device is used to determine whether to distribute the first software to the second device; when the capability set of the second device matches the capability set corresponding to the first software, receiving the installation file of the first software sent by the first device or the download method of the installation file of the first software, or receiving the installation file of the first software sent by a network device or the download method of the installation file of the first software; and displaying the interface of the first software according to the installation file of the first software or the download method of the installation file of the first software.
  • the second device can send the capability set of the second device to the first device, so that the network device can determine whether to distribute the first software to the second device.
  • the second device can be distributed the first software and display the interface of the first software.
  • This method of software distribution not only does not depend on the device type, but also does not require the second device to request the network device on its own. Even if the second device cannot communicate with the network device (for example, it does not have the corresponding communication capability, has not obtained the address information of the network device, etc.), it can be distributed the second software, which further expands the range of devices that can be distributed with software and makes the application scenarios of the software distribution function more extensive.
  • displaying the interface of the first software according to the installation file of the first software or the downloading method of the installation file of the first software includes: installing the first software according to the installation file of the first software; displaying the interface of the first software; or, downloading the installation file of the first software according to the downloading method of the installation file of the first software; installing the first software according to the installation file of the first software; and displaying the interface of the first software.
  • the installation of the first software is a silent installation, for example, a user interface and installation progress prompting the user to install are not displayed.
  • the second device after the second device receives the installation file of the first software, it can automatically install the first software, or, after the second device receives the download address of the installation file of the first software, it can automatically download the installation file and then automatically install the first software, without the need for manual operation by the user, which is more convenient for users to use.
  • the present application provides another software distribution method, which is applied to a network device, and the method includes: receiving a first message sent by a first device, the first message is used to request acquisition of a first software, the first message includes first information used to indicate a capability set of the first device, the capability set of the first device includes hardware capabilities and software capabilities supported by the first device; judging whether the capability set of the first device and the capability set corresponding to the first software match according to the first message, the capability set corresponding to the first software includes hardware capabilities and software capabilities that a device that can run the first software needs to support; when the capability set of the first device and the capability set corresponding to the first software match, sending the installation file of the first software or the download method of the installation file of the first software to the first device, the installation file of the first software or the download method of the installation file of the first software is used by the first device to display a first interface of the first software.
  • the network device can receive a first message from the first device requesting to obtain the first software, and obtain the capability set of the first device according to the first message, compare whether the capability set of the first device matches the capability set corresponding to the first software, and when the two match, send the installation file of the first software or the download method of the installation file of the first software to the first device to distribute the first software.
  • This method implements the software distribution function based on the device capability set and the capability set required by the software, and does not depend on the device type. It avoids the situation where some devices have the ability to run the first software but cannot be distributed the first software because the device type is not the device type supported by the first software. It expands the range of devices that can be distributed with the first software and makes the application scenarios of the software distribution function more extensive.
  • the method further includes: receiving a second message sent by the first device, the second message being used to request distribution of second software to the second device, the second message including second information indicating a capability set of the second device, the capability set of the second device including hardware capabilities and software capabilities supported by the second device; judging whether the capability set of the second device matches the capability set corresponding to the second software according to the second message, the capability set corresponding to the second software including hardware capabilities and software capabilities that a device that can run the second software needs to support according to the capability set of the second device; and when the capability set of the second device matches the capability set corresponding to the second software, sending a third message to the first device, the third message being used to instruct the first device to send the installation file of the second software or the download method of the installation file of the second software to the second device, or sending the installation file of the second software or the first message to the second device.
  • the downloading method of the installation file of the second software, the installation file of the second software or the downloading method of the installation file of the second software is used
  • the network device can receive a second message from the first device requesting to distribute the second software to the second device, and obtain the capability set of the second device according to the second message, compare whether the capability set of the second device and the capability set corresponding to the second software match, and when the two match, send a third message to the first device, instructing the first device to distribute the second software to the second device (which can be called cross-device software transfer).
  • This method of software distribution not only does not depend on the device type, but also does not require the second device to which the software is distributed to request the network device on its own.
  • the second device Even if the second device cannot communicate with the network device (for example, it does not have the corresponding communication capability, has not obtained the address information of the network device, etc.), it can also be distributed the second software, further expanding the range of devices to which the software can be distributed, and making the application scenarios of the software distribution function more extensive.
  • the capability set of the first device matches the capability set corresponding to the first software, including at least one of the following situations: the capability set of the first device includes capabilities in the capability set corresponding to the first software; the capability set of the first device includes capabilities that are strongly dependent on the capability set corresponding to the first software, and the strongly dependent capabilities are capabilities required by the device to which the first software is distributed; the capability set of the first device includes the parent capability of the capabilities that are strongly dependent on the capabilities in the capability set corresponding to the first software.
  • the capability set corresponding to the first software may include strongly dependent capabilities and weakly dependent capabilities.
  • the strongly dependent capabilities are capabilities that the device to which the first software is distributed is required to have, and the weakly dependent capabilities are capabilities that the device to which the first software is distributed may not have.
  • a parent capability may correspond to at least one child capability.
  • the parent capability is a strongly dependent capability
  • the corresponding child capabilities are all strongly dependent capabilities
  • the parent capability is a strongly dependent capability.
  • the capability set of the first device matches the capability set corresponding to the first software.
  • the capability set of the first device includes all capabilities in the capability set corresponding to the first software, which can be understood as a situation where the requirements for the distributed device are higher.
  • the capability set of the first device includes strongly dependent capabilities in the capability set corresponding to the first software or the parent capabilities of the strongly dependent capabilities, which can be understood as a situation where the requirements for the distributed device are lower, thereby broadening the application scenarios of software distribution.
  • the first software includes multiple versions, and the capability sets corresponding to different versions of the first software are the same or different.
  • the installation file of the first software is sent to the first device or the download method of the installation file of the first software includes: when the capability set of the first device matches the capability set corresponding to the first version of the first software, the installation file of the first version of the first software is sent to the first device or the download method of the installation file of the first version of the first software.
  • the first device when the capability set of the first device matches the capability set corresponding to the first software of any one of multiple versions, the first device can be distributed with the first software of that version, thereby avoiding the situation where the capability set of the first device does not match the capability set corresponding to some versions of the first software, resulting in the first device being unable to be distributed with the first software, thereby expanding the range of devices to which the first software can be distributed.
  • the present application provides an electronic device, comprising a transceiver, a processor and a memory, wherein the memory is used to store a computer program, and the processor calls the computer program to execute the software distribution method in any possible implementation of the first aspect or the second aspect.
  • the present application provides an electronic device, comprising one or more processors and one or more memories.
  • the one or more memories are coupled to the one or more processors, and the one or more memories are used to store computer program codes, and the computer program codes include computer instructions, and when the one or more processors execute the computer instructions, the electronic device executes the software distribution method in any possible implementation of the first aspect or the second aspect.
  • the present application provides a network device, including a transceiver, a processor and a memory, wherein the memory is used to store a computer program, and the processor calls the computer program to execute the software distribution method in any possible implementation of the third aspect.
  • the present application provides a computer storage medium storing a computer program, which, when executed by a processor, implements the software distribution method in any possible implementation of any of the above aspects.
  • the present application provides a computer program product, which, when executed on an electronic device, enables the electronic device to execute the software distribution method in any possible implementation of the first aspect or the second aspect.
  • the present application provides an electronic device, the electronic device comprising a method or device for executing any one of the implementations of the first aspect or the second aspect of the present application.
  • the electronic device is, for example, a chip.
  • FIG1 is a schematic diagram of the architecture of a software distribution system 10 provided by the present application.
  • FIG. 2 is a schematic diagram of the hardware structure of an electronic device 100 provided in the present application.
  • FIG3 is a schematic diagram of a software architecture of an electronic device 100 provided in the present application.
  • FIG4 is a schematic diagram of the hardware structure of a network device 300 provided in the present application.
  • FIG5 is a flow chart of a software distribution method provided by the present application.
  • FIG6 is a flowchart of another software distribution method provided by the present application.
  • FIG7 is a flowchart of another software distribution method provided by the present application.
  • FIG8 is a flowchart of another software distribution method provided by the present application.
  • 9-10 are schematic diagrams of some user interfaces provided by this application.
  • first and second are used for descriptive purposes only and are not to be understood as suggesting or implying relative importance or implicitly indicating the number of the indicated technical features.
  • a feature defined as “first” or “second” may explicitly or implicitly include one or more of the features, and in the description of the embodiments of the present application, unless otherwise specified, "plurality” means two or more.
  • software may include, but is not limited to, applications, applets, and atomic services.
  • atomic services can be services that can be used without explicit installation and can be installed by the system program framework background, such as feature capabilities (FA).
  • FA feature capabilities
  • atomic services can be composed of one or more HarmonyOS capability deployment packages (HAP), one HAP corresponds to one entry capability (mainAbility), and mainAbility is an abstraction of the capabilities possessed by the application. Each ability can run independently and can complete a specific function. One or more functions can complete a specific convenient service.
  • HAP HarmonyOS capability deployment packages
  • mainAbility is an abstraction of the capabilities possessed by the application.
  • Each ability can run independently and can complete a specific function.
  • One or more functions can complete a specific convenient service.
  • Distributing software may include, but is not limited to: sending software files, or sending software files download methods (such as download addresses), wherein the software files are used for electronic devices to run the software, and the file can be an executable file, such as an installation package.
  • sending software files or sending software files download methods (such as download addresses), wherein the software files are used for electronic devices to run the software, and the file can be an executable file, such as an installation package.
  • the following embodiments are described by taking the software file as an installation package as an example.
  • the server can distribute software to electronic devices, or the electronic devices with the software installed can distribute the software to other electronic devices (which can be referred to as cross-device software transfer).
  • the distribution of software is based on the device types supported by the software. For example, when the server distributes atomic services to electronic devices, the server can compare the device types supported by the atomic service and the type of the electronic device. If the device types supported by the atomic service include the type of the electronic device, the server sends the installation package of the atomic service to the electronic device, and the electronic device can run the atomic service based on the installation package.
  • this distribution method has great limitations (for example, the scope of software distribution is limited), and there are at least the following technical problems:
  • Some device types cannot accurately distinguish device capabilities, that is, devices of the same type may have different capabilities.
  • speaker devices with screens and speaker devices without screens are defined as the same device type, resulting in some software that only requires a screen to run cannot be distributed to speaker devices with screens.
  • the present application provides a software distribution method, which is applied to a software distribution system.
  • the method can realize software distribution based on the capability set of a device. For example, when the capability set required by the software matches the capability set of the device, the software can be distributed to the device. Therefore, a software distribution mechanism that is independent of the device type and more flexible and intelligent is provided, which solves the technical problems existing in the current software distribution method, expands the range of devices that can be distributed with software, broadens the application scenarios, and improves the user experience.
  • the capability set of a device refers to the set of hardware capabilities and software capabilities supported by the device, where hardware capabilities include, but are not limited to, display screen, camera, speaker, Bluetooth, near field communication (NFC), wireless fidelity (Wi-Fi), etc., and software capabilities include, but are not limited to, clock, payment, screenshot, etc.
  • the capability sets of devices of the same type can be the same or different, and the capability sets of devices of different types can be the same or different. It can be understood that the capability set of a device does not depend on the type of device.
  • the capability set required by the software refers to the set of hardware capabilities and software capabilities that the device running the software needs to support.
  • a capability set may include at least one capability, any of which may be characterized by a unique identifier.
  • the unique identifier used to characterize the capability in the following embodiments is a code, but in a specific implementation, the identifier may also be of other types, which is not limited in this application.
  • the capability in this application may be a capability provided by the system of the electronic device, or may not be a capability provided by the system, such as a capability provided by other manufacturers.
  • a server e.g., a management platform of an operating system (OS)
  • OS operating system
  • the capability set dictionary may be represented in a manner similar to a capability set, and may be represented by encoding and/or character strings.
  • the capability set dictionary may be used, for example, but not limited to, to generate a capability set for a device and/or a capability set required by software.
  • FIG. 1 exemplarily shows a schematic diagram of the architecture of a software distribution system 10 .
  • the software distribution system 10 may include an electronic device 100, an electronic device 200, a network device 300, and an electronic device 400. Among them:
  • the electronic device 100 may be a mobile phone, a tablet computer, a handheld computer, a desktop computer, a laptop computer, an ultra-mobile personal computer (UMPC), a netbook, a cellular phone, a personal digital assistant (PDA), and smart home devices such as smart TVs and projectors, wearable devices such as smart bracelets, smart watches, and smart glasses, and extended reality (XR) devices such as augmented reality (AR), virtual reality (VR), and mixed reality (MR) or vehicle-mounted devices.
  • XR extended reality
  • AR augmented reality
  • VR virtual reality
  • MR mixed reality
  • the network device 300 may include at least one server.
  • any one of the servers may be a hardware server.
  • any one of the servers may be a cloud server.
  • any one of the servers may be a Linux server, a Windows server, or other server devices that can provide simultaneous access to multiple devices.
  • the network device 300 may be a server cluster consisting of multiple regions, multiple computer rooms, and multiple servers.
  • the electronic device 100 can communicate with the network device 300 via wired (e.g., universal serial bus (USB), twisted pair, coaxial cable and optical fiber, etc.) and/or wireless (e.g., wireless local area networks (WLAN), Bluetooth and cellular communication networks, etc.).
  • wired e.g., universal serial bus (USB), twisted pair, coaxial cable and optical fiber, etc.
  • wireless e.g., wireless local area networks (WLAN), Bluetooth and cellular communication networks, etc.
  • the electronic device 100 may request the network device 300 to distribute software (for example, software related to the received user operation).
  • the network device 300 may compare the capability set of the electronic device 100 with the capability set required by the software. When the two match, the network device 300 may distribute the software to the electronic device 100, and the electronic device 100 may run the software. For example, after the electronic device 100 receives the download address of the installation package of the software sent by the network device 300, it downloads the installation package of the software based on the download address, and then installs and runs the software based on the installation package of the software.
  • the electronic device 100 can communicate with the electronic device 200 in a wired and/or wireless manner, for example, the electronic device 100 and the electronic device 200 realize distributed communication through a soft bus, Bluetooth and/or WLAN, etc.
  • the software on the electronic device 100 can be distributed to the electronic device 200, for example, after the electronic device 100 receives a user operation of a flow control in an interface of the software, the software is distributed to the electronic device 200.
  • the electronic device 100 can first obtain the capability set of the electronic device 200, and then request the network device 300 to distribute the software to the electronic device 200.
  • the network device 300 can compare the capability set of the electronic device 200 with the capability set required by the software.
  • the network device 300 can distribute the software to the electronic device 200 through the electronic device 100, and the electronic device 200 can run the software.
  • the electronic device 200 may communicate with the network device 300 via wired and/or wireless means, and the network device 300 may distribute software directly to the electronic device 200 without being relayed through the electronic device 100.
  • the network device 300 may send a notification to the electronic device 100, and after receiving the notification, the electronic device 100 may distribute the software to the electronic device 200. This application does not limit this.
  • the electronic device 400 may communicate with the network device 300 in a wired and/or wireless manner, wherein the example of the electronic device 400 may refer to the examples of the electronic device 100 and the network device 300.
  • the electronic device 400 is related to the software 1, for example, it is a device of the manufacturer/developer of the software.
  • the electronic device 400 may send an installation package of software 1 to the network device 300, the installation package of software 1 may include a capability set required by software 1, and the network device 300 may store the installation package of software 1.
  • the capability set required by software 1 may be independent of the installation package of software 1, and the electronic device 400 may send the installation package of software 1 and the capability set required by software 1 to the network device 300.
  • the network device 300 may store the installation package of software 1 through other devices, and store the capability set required by software 1 and the download location of the installation package of software 1 by itself. This application does not limit this.
  • the software distribution system 10 may further include a network device 500 and an electronic device 600.
  • the network device 500 may communicate with the electronic device 600 in a wired and/or wireless manner, wherein the description of the network device 500 may refer to the description of the network device 300 and will not be repeated.
  • the network device 500 may be a device for maintaining/storing a capability set dictionary.
  • the electronic device 600 is related to the electronic device 700, and the electronic device 700 is, for example but not limited to, the electronic device 100 or the electronic device 200, for example, the electronic device 600 is a device of the manufacturer/developer of the electronic device 700.
  • the electronic device 600 may request the network device 500 to obtain the capability set of the electronic device 700.
  • the electronic device 600 may store the capability set of the electronic device 700 sent by the network device 500.
  • the number and form of the electronic devices and network devices shown in FIG1 are merely examples. In a specific implementation, the number may be greater and the devices may be in other forms, which is not limited in this application.
  • FIG. 2 exemplarily shows a schematic diagram of the hardware structure of an electronic device 100 .
  • the electronic device 100 shown in FIG2 is only an example, and the electronic device 100 may have more or fewer components than those shown in FIG2, may combine two or more components, or may have a different component configuration.
  • the various components shown in FIG2 may be implemented in hardware, software, or a combination of hardware and software including one or more signal processing and/or application specific integrated circuits.
  • 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, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
  • 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, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
  • the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the electronic device 100.
  • the electronic device 100 may include more or fewer components than shown in the figure, or combine some components, or split some components, or arrange the components differently.
  • the components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and/or a neural-network processing unit (NPU), etc.
  • AP application processor
  • GPU graphics processor
  • ISP image signal processor
  • DSP digital signal processor
  • NPU neural-network processing unit
  • Different processing units may be independent devices or integrated in one or more processors.
  • the controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
  • the processor 110 may also be provided with a memory for storing instructions and data.
  • the memory in the processor 110 is a cache memory.
  • the memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
  • the processor 110 may include one or more interfaces.
  • the interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver/transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input/output (GPIO) interface, a subscriber identity module (SIM) interface, and/or a universal serial bus (USB) interface, etc.
  • I2C inter-integrated circuit
  • I2S inter-integrated circuit sound
  • PCM pulse code modulation
  • UART universal asynchronous receiver/transmitter
  • MIPI mobile industry processor interface
  • GPIO general-purpose input/output
  • SIM subscriber identity module
  • USB universal serial bus
  • the charging management module 140 is used to receive charging input from a charger.
  • the power management module 141 is used to connect 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 to power the processor 110, the internal memory 121, the display screen 194, the camera 193, and the wireless communication module 160.
  • the wireless communication function of the electronic device 100 can be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor and the baseband processor.
  • the electronic device 100 can be implemented by the wireless communication function and the network
  • the electronic device 100 communicates with the network device 300, for example, receives the software installation package sent by the network device 300.
  • the electronic device 100 can communicate with the electronic device 200 through a wireless communication function, for example, sending the software installation package to the electronic device 200.
  • Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals.
  • Each antenna in electronic device 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas.
  • antenna 1 can be reused as a diversity antenna for a wireless local area network.
  • the mobile communication module 150 can provide solutions for wireless communications including 2G/3G/4G/5G, etc., applied to the electronic device 100.
  • the mobile communication module 150 can include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc.
  • the mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process 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 convert it into electromagnetic waves for radiation through the antenna 1.
  • at least some of the functional modules of the mobile communication module 150 can be set in the processor 110.
  • at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some 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-high frequency signal.
  • the demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal.
  • the demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing.
  • the application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194.
  • the modem processor may be an independent device.
  • the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
  • the wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR) and the like applied to the electronic device 100.
  • WLAN wireless local area networks
  • BT wireless fidelity
  • GNSS global navigation satellite system
  • FM frequency modulation
  • NFC near field communication
  • IR infrared
  • the wireless communication module 160 can be one or more devices integrating at least one communication processing module.
  • the wireless communication module 160 receives electromagnetic waves via the antenna 2, 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, modulate the frequency, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
  • the antenna 1 of the electronic device 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to 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), wideband 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.
  • the GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and/or a satellite based augmentation system (SBAS).
  • GPS global positioning system
  • GLONASS global navigation satellite system
  • BDS Beidou navigation satellite system
  • QZSS quasi-zenith satellite system
  • SBAS satellite based augmentation system
  • the electronic device 100 implements the display function through a GPU, a display screen 194, and an application processor.
  • the GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations for graphics rendering.
  • the processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
  • the display screen 194 is used to display images, videos, etc.
  • the 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 (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diodes (QLED), etc.
  • the electronic device 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
  • the electronic device 100 can realize the shooting function through ISP, camera 193, video codec, GPU, display screen 194 and application processor.
  • ISP is used to process the data fed back by camera 193. For example, when taking a photo, the shutter is opened, and 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 ISP for processing and converts it into an image visible to the naked eye. ISP can also perform algorithm optimization on the noise, brightness, and color of the image. ISP can also optimize the exposure, color temperature and other parameters of the shooting scene. In an optional embodiment, ISP can be set in camera 193.
  • the camera 193 is used to capture still images or videos.
  • the object is projected onto the photosensitive element through the lens to generate an optical image.
  • the photosensitive element can be Charge coupled device (CCD) or complementary metal-oxide-semiconductor (CMOS) phototransistor.
  • CCD Charge coupled device
  • CMOS complementary metal-oxide-semiconductor
  • the photosensitive element converts the light signal into an electrical signal, and then transmits the electrical signal to the ISP to be converted into a digital image signal.
  • the ISP outputs the digital image signal to the DSP for processing.
  • the DSP converts the digital image signal into an image signal in a standard RGB, YUV or other format.
  • the electronic device 100 may include 1 or N cameras 193, where N is a positive integer greater than 1.
  • 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.
  • an external memory card such as a Micro SD card
  • the internal memory 121 may be used to store computer executable program codes, which include instructions.
  • the processor 110 executes various functional applications and data processing of the electronic device 100 by running the instructions stored in the internal memory 121 and/or the instructions stored in the memory provided in the processor.
  • the electronic device 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
  • the audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals.
  • the audio module 170 can also be used to encode and decode audio signals.
  • the speaker 170A also called a "horn" is used to convert audio electrical signals into sound signals.
  • the receiver 170B also called a “handset”, is used to convert audio electrical signals into sound signals.
  • Microphone 170C also called “microphone” or “microphone”, is used to convert sound signals into electrical signals.
  • the earphone jack 170D is used to connect a wired earphone.
  • the pressure sensor 180A is used to sense pressure signals and can convert pressure signals into electrical signals.
  • the pressure sensor 180A can be set on the display screen 194.
  • a capacitive pressure sensor can be a parallel plate including at least two conductive materials.
  • the electronic device 100 determines the intensity of the pressure based on the change in capacitance.
  • the electronic device 100 detects the intensity of the touch operation based on the pressure sensor 180A.
  • the electronic device 100 can also calculate the position of the touch based on the detection signal of the pressure sensor 180A.
  • the gyro sensor 180B may be used to determine the motion posture of the electronic device 100.
  • the angular velocity of the electronic device 100 around three axes ie, x, y, and z axes
  • the gyro sensor 180B may be used to determine the motion posture of the electronic device 100.
  • the air pressure sensor 180C is used to measure air pressure.
  • the magnetic sensor 180D includes a Hall sensor, and the electronic device 100 can detect the opening and closing of the flip leather case by using the magnetic sensor 180D.
  • the acceleration sensor 180E can detect the magnitude of the acceleration of the electronic device 100 in various directions (generally three axes).
  • the distance sensor 180F is used to measure the distance.
  • the proximity light sensor 180G may include, for example, a light emitting diode (LED) and a light detector, such as a photodiode.
  • the light emitting diode may be an infrared light emitting diode.
  • the electronic device 100 emits infrared light outward through the light emitting diode.
  • the electronic device 100 uses the photodiode 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 can determine that there is no object near the electronic device 100.
  • the ambient light sensor 180L is used to sense the brightness of ambient light.
  • the fingerprint sensor 180H is used to collect fingerprints.
  • the electronic device 100 can use the collected fingerprint characteristics to implement fingerprint unlocking, access application locks, fingerprint photography, fingerprint call answering, etc.
  • the temperature sensor 180J is used to detect the temperature.
  • the touch sensor 180K is also called a "touch control device”.
  • the touch sensor 180K can be set on the display screen 194, and the touch sensor 180K and the display screen 194 form a touch screen, also called a "touch control screen”.
  • the touch sensor 180K is used to detect touch operations acting 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 the touch operation can be provided through the display screen 194.
  • the touch sensor 180K can also be set on the surface of the electronic device 100, which is different from the position of the display screen 194.
  • Bone conduction sensor 180M can obtain vibration signals.
  • Buttons 190 include a power button, a volume button, and the like.
  • Motor 191 can generate vibration prompts.
  • Indicator 192 may be an indicator light, which may be used to indicate charging status, power changes, messages, missed calls, notifications, etc.
  • the SIM card interface 195 is used to connect a SIM card.
  • the software system of the electronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture.
  • the software system of the layered architecture may be an Android system, or a Harmony operating system (OS), or other software systems.
  • OS Harmony operating system
  • the embodiment of the present application takes the Android system of the layered architecture as an example to illustrate the software structure of the electronic device 100.
  • FIG. 3 exemplarily shows a schematic diagram of a software architecture of an electronic device 100 .
  • the layered architecture divides the software into several layers, each with a clear role and division of labor.
  • the layers communicate with each other through software interfaces.
  • the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
  • the application layer can include a series of application packages.
  • the application package may include applications such as camera, gallery, music, calendar, short message, call, navigation, Bluetooth, browser, etc.
  • the application package in this application may also be replaced by other forms of software such as mini-programs and atomic services.
  • the application framework layer provides application programming interface (API) and programming framework for the applications in the application layer.
  • API application programming interface
  • the application framework layer includes some predefined functions.
  • the application framework layer may include a window manager, a content provider, a view system, a telephony manager, a resource manager, a notification manager, and the like.
  • the window manager is used to manage window programs.
  • the window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
  • Content providers are used to store and retrieve data and make it accessible to applications.
  • the data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
  • the view system includes visual controls, such as controls for displaying text, controls for displaying images, etc.
  • the view system can be used to build applications.
  • a display interface can be composed of one or more views.
  • a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
  • the phone manager is used to provide communication functions of the electronic device 100, such as management of call status (including connecting, hanging up, etc.).
  • the resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
  • the notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc.
  • the notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.
  • Android Runtime includes core libraries and virtual machines. Android Runtime is responsible for the scheduling and management of the Android system.
  • the core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
  • the application layer and the application framework layer run in a virtual machine.
  • 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 life cycle management, stack management, thread management, security and exception management, and garbage collection.
  • the system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
  • functional modules such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
  • the surface manager is used to manage the display subsystem and provide the 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 static image files, etc.
  • 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.
  • a 2D graphics engine is a drawing engine for 2D drawings.
  • the kernel layer is the layer between hardware and software.
  • the kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
  • the following is an example of the workflow of the software and hardware of the electronic device 100 in conjunction with the startup scenario of the atomic service.
  • the kernel layer processes the voice signal into raw input events (including the content of the voice signal, the timestamp of receiving the voice signal, and other information).
  • the raw input events are stored in the kernel layer.
  • the application framework layer obtains the raw input events from the kernel layer and identifies the input events. Taking the content of the voice signal "Check my express delivery" as an example, the express application calls the interface of the application framework layer, starts the atomic service of the express application, and then controls the display driver by calling the kernel layer, and displays the user interface of the atomic service of the express application through the display screen 194, which includes the express delivery obtained according to the content of the voice signal. Deliver information.
  • the description of the electronic device 200 is similar to the description of the electronic device 100 shown in FIG. 2 and FIG. 3 , and will not be repeated herein.
  • FIG. 4 exemplarily shows a schematic diagram of the hardware structure of a network device 300 .
  • the network device 300 may include one or more processors 301, a communication interface 302, and a memory 303, wherein the processor 301, the communication interface 302, and the memory 303 may be connected via a bus or other means, and the embodiment of the present application takes the connection via a bus 304 as an example.
  • processors 301 may include one or more processors 301, a communication interface 302, and a memory 303, wherein the processor 301, the communication interface 302, and the memory 303 may be connected via a bus or other means, and the embodiment of the present application takes the connection via a bus 304 as an example.
  • a bus or other means the embodiment of the present application takes the connection via a bus 304 as an example.
  • the processor 301 may be composed of one or more general-purpose processors, such as a CPU.
  • the processor 301 may be used to run program codes related to the device control method.
  • the communication interface 302 may be a wired interface (e.g., an Ethernet interface) or a wireless interface (e.g., a cellular network interface or a wireless local area network interface) for communicating with other nodes. In the embodiment of the present application, the communication interface 302 may be specifically used to communicate with at least one of the electronic device 100, the electronic device 200, and the electronic device 400.
  • a wired interface e.g., an Ethernet interface
  • a wireless interface e.g., a cellular network interface or a wireless local area network interface
  • the memory 303 may include a volatile memory, such as a RAM; the memory may also include a non-volatile memory, such as a ROM, a flash memory, a HDD, or a solid-state drive SSD.
  • the memory 303 may also include a combination of the above-mentioned types of memories.
  • the memory 303 may be used to store a set of program codes so that the processor 301 calls the program codes stored in the memory 303 to implement the implementation method of the embodiment of the present application on the server.
  • the memory 303 may also be a storage array, and so on.
  • the network device 300 may include multiple servers, such as a web server, a background server, a download server, etc.
  • the hardware structures of these multiple servers can refer to the hardware structure of the network device 300 shown in Figure 4.
  • the network device 300 shown in FIG. 4 is an implementation example of an embodiment of the present application. In actual applications, the network device 300 may also include more or fewer components, which is not limited here.
  • Figure 5 is a flowchart of a software distribution method provided by an embodiment of the present application.
  • the method can be applied to the software distribution system 10 shown in Figure 1.
  • the method may include but is not limited to the following steps:
  • S101 The electronic device 600 sends a first message to the network device 500.
  • S101 is an optional step.
  • the network device 500 may maintain/store a capability set dictionary, which may include multiple capabilities, such as capabilities of a large number of different devices, any of which may be represented by a code (also referred to as one capability corresponding to one code).
  • the encoding corresponding to any capability may be segmented (referred to as segmented encoding), assuming that it is represented as x.y.z, where y is the parent class of z (z is the child class of y), x is the parent class of y (y is the child class of x), and x, y and z include at least one non-negative integer.
  • the segmented encoding corresponding to the capabilities provided by the system (such as capabilities provided by other manufacturers) and the capabilities provided by the system in the electronic device may be different, and optionally, x may be different.
  • the segmented encoding corresponding to the capabilities provided by the system is 0, and the segmented encoding corresponding to the capabilities provided by the non-system is k. Specific examples are shown below:
  • the NFC capability of an electronic device can be represented by the string SystemCapability.Communication.NFC.Core, where SystemCapability indicates that the NFC capability is a capability provided by the system of the electronic device, Communication indicates that the NFC capability is used to implement the communication function, NFC is the name of the capability, and Core indicates that the capability belongs to the core layer of the electronic device.
  • the segmented code corresponding to the NFC capability can be 0000.0001.0005.
  • the system account capability of an electronic device can be represented by a string SystemCapability.Account.OsAccount, where SystemCapability represents that the system account capability is a capability provided by the system of the electronic device, Account represents that the system account capability is used to implement the account function, OsAccount represents the name of the capability, and the segmented code corresponding to the system account capability can be 0000.0002.0001.
  • the application account capability of an electronic device can be represented by a string SystemCapability.Account.AppAccount, where SystemCapability represents that the application account capability is a capability provided by the system of the electronic device, Account represents that the application account capability is used to implement the account function, AppAccount represents the name of the capability, and the segmented code corresponding to the application account capability can be 0000.0002.0002.
  • the account capability of an electronic device can be represented by a string SystemCapability.Account, where SystemCapability represents that the account capability is a capability provided by the system of the electronic device, and Account represents that the account capability is used to implement the account function.
  • SystemCapability represents that the account capability is a capability provided by the system of the electronic device
  • Account represents that the account capability is used to implement the account function.
  • both the system account capability and the application account capability are subclasses of the account capability, and the account capability is the parent class of the system account capability and the application account capability.
  • the eye protection capability provided by a manufacturer can be represented by the string PrivateCapability.Light.EyeProtection, where PrivateCapability represents The eye protection capability is not provided by the system, for example, it is provided by a manufacturer. Light indicates that the eye protection capability is used to realize the lighting function. EyeProtection is used to indicate the name of the capability.
  • the segmented code corresponding to the eye protection capability may be k.0001.0011.
  • the segmented codes corresponding to the capabilities can be compressed.
  • the segmented codes can be compressed by omitting 0 in the segmented codes.
  • the segmented code 0000.0001.0005 corresponding to the NFC capability can be compressed to 1.5
  • the segmented code 0000.0002.0001 corresponding to the system account capability can be compressed to 2.1
  • the segmented code 0000.0000.0003 corresponding to the capability A provided by a system can be compressed to 3
  • the segmented code x.0001.0011 corresponding to the eye protection capability can be compressed to x.1.11.
  • Specific examples can be seen in Table 1 below.
  • the electronic device 600 may send a first message to the network device 500, and the first message may be used to request the addition of a first capability in the capability set dictionary, wherein the first capability is a capability that is not included in the capability set dictionary before the network device 500 receives the first message.
  • the first capability is a capability of the electronic device 700, for example, before the electronic device 700 is released, the developer of the electronic device 700 uses the electronic device 600 to send a first message to the network device 500, wherein the electronic device 700 may be, but is not limited to, the electronic device 100 or the electronic device 200.
  • the first message carries information about the first capability, such as a string used to characterize the first capability, such as the string SystemCapability.Communication.NFC.Core corresponding to the NFC capability.
  • the network device 500 adds the first capability to the capability set dictionary.
  • S102 is an optional step.
  • the network device 500 after receiving the first message, the network device 500 generates a code corresponding to the first capability and adds the code corresponding to the first capability to the capability set dictionary. In some examples, after receiving the first message, the network device 500 first determines whether the capability set dictionary includes the code/string of the first capability, and when it is determined that the capability set dictionary does not include the code/string of the first capability, the code/string corresponding to the first capability is added to the capability set dictionary.
  • the network device 500 when the capability set dictionary includes the first capability, the network device 500 does not add the first capability to the capability set dictionary.
  • the electronic device 600 sends a second message to the network device 500 .
  • the second message may be used to request the acquisition of the capability set of the electronic device 700.
  • the second message carries information about the capability of the electronic device 700, such as a character string used to characterize the capability of the electronic device 700.
  • the electronic device 600 may obtain information about the capability of the electronic device 700 in response to a user operation (e.g., a user operation input by a developer of the electronic device 700 through a development tool of the electronic device 600).
  • the capability of the electronic device 700 includes hardware capabilities and/or software capabilities, and the hardware capabilities include, for example but not limited to, display screen, camera, speaker, Bluetooth, NFC, Wi-Fi, etc., and the software capabilities include, for example but not limited to, clock, payment, screenshot, etc.
  • the network device 500 generates a capability set of the electronic device 700 .
  • the network device 500 after receiving the second message sent by the electronic device 600, the network device 500 generates a capability set (for example, but not limited to, a file in pcid format) of the electronic device 700. In some examples, the network device 500 generates the capability set of the electronic device 700 according to the information of the capability of the electronic device 700 in the second message. In some examples, the network device 500 obtains the codes corresponding to the capabilities of the electronic device 700 from the capability set dictionary, and generates the capability set of the electronic device 700 including these codes.
  • a capability set for example, but not limited to, a file in pcid format
  • the network device 500 sends the capability set of the electronic device 700 to the electronic device 600 .
  • the electronic device 600 saves the capability set of the electronic device 700 .
  • the capability set of the electronic device 700 may be stored in the electronic device 600. In another optional embodiment, the capability set of the electronic device 700 may be stored in the system of the electronic device 700. In the method shown in FIG5 , each capability in the capability set dictionary is independent of the device type, and the corresponding code is unique, which unifies the standards of different manufacturers and reduces the difficulty of management and maintenance.
  • Figure 6 is a flowchart of another software distribution method provided by an embodiment of the present application.
  • the method can be applied to the software distribution system 10 shown in Figure 1.
  • the method may include but is not limited to the following steps:
  • S201 is an optional step.
  • the electronic device 400 is installed with development software, and the developer of the first software can develop the first software through the development software of the electronic device 400 .
  • the electronic device 400 obtains a capability set of at least one electronic device.
  • S202 is an optional step.
  • the electronic device 400 may receive a capability set of at least one electronic device input by a user (for example but not limited to a file in pcid format), for example, a developer of the first software inputs the capability set of at least one electronic device through a development tool of the electronic device 400.
  • a user for example but not limited to a file in pcid format
  • a developer of the first software inputs the capability set of at least one electronic device through a development tool of the electronic device 400.
  • the electronic device 400 may request the network device 500 to obtain at least one capability.
  • the description of the network device 500 may refer to the description of the network device 500 in S101 of FIG. 5 .
  • the capability set of at least one electronic device in step S202 may also be replaced by other device capability set files, as long as the user can select the capabilities required by the first software from the device capability set files.
  • S203 The electronic device 400 selects capabilities required by the first software, and sets the dependency level of the capabilities.
  • the electronic device 400 can select the capabilities required by the first software from the capability set of the above-mentioned at least one electronic device. For example, the developer of the first software inputs user operations through the development tool of the electronic device 400, and the electronic device 400 selects the capabilities required by the first software based on the user operations.
  • the electronic device 400 may set the degree of dependency of the capabilities in the capability set required by the first software, for example, according to user operation settings.
  • the degree of dependency may include, but is not limited to, strong dependency and weak dependency, wherein a strongly dependent capability is a capability that the device to which the first software is distributed must have; a weakly dependent capability is a capability that the device to which the first software is distributed may not have.
  • the capability set required by the first software includes a strongly dependent NFC capability and a weakly dependent account capability
  • the capability set of electronic device A includes NFC capability but does not include account capability
  • the capability set of electronic device B does not include NFC capability but includes account capability
  • a parent-child relationship may exist between the capabilities in the capability set required by the first software, for example, the system account capability and the application account capability are sub-capabilities (i.e., subclasses) of the account capability, and the account capability is the parent capability (i.e., parent class) of the system account capability and the application account capability.
  • the electronic device 400 can set the degree of dependency of the parent capability by setting the degree of dependency of the sub-capability. For example, after the system account capability and the application account capability as sub-capabilities are set to strong dependency and weak dependency respectively, the degree of dependency of the account capability as the parent capability is strong dependency.
  • the electronic device 400 can set the degree of dependency of the sub-capability by setting the degree of dependency of the parent capability. For example, after the account capability as the parent capability is set to strong dependency, the degree of dependency of the system account capability and the application account capability as the sub-capability are both strong dependencies.
  • S204 The electronic device 400 generates a capability set required by the first software.
  • the electronic device 400 can generate a capability set required by the first software (for example, but not limited to, a file in rpcid format) based on the selected capability.
  • the identification method of the capability in the capability set required by the first software is consistent with the identification method of the capability in the capability set dictionary described in FIG. 5 (i.e., through coding identification). No more details are given.
  • the first software may include multiple versions, wherein the capability sets required by different versions of the first software may be the same or different, which is not limited in the present application.
  • S205 The electronic device 400 generates an installation package for the first software.
  • the electronic device 400 may receive a user operation and generate an installation package of the first software.
  • the developer of the first software inputs the user operation through a development tool of the electronic device 400, and the electronic device 400 compiles and generates the installation package of the first software according to the user operation.
  • the installation package of the first software may include a capability set required by the first software.
  • the electronic device 400 sends the installation package of the first software to the network device 300 .
  • the installation package of the first software may include a capability set required by the first software.
  • the capability set required by the first software is independent of the installation package of the first software, and the electronic device 400 can send the capability set required by the first software to the network device 300.
  • S207 The network device 300 saves the installation package of the first software.
  • the network device 300 may store a capability set required by the first software for distribution of the first software.
  • the network device 300 can store the installation package of the first software for distribution of the first software.
  • the network device 300 can send the installation package of the first software to other devices so that the other devices store the installation package of the first software, and the network device 300 can store the download method of the installation package of the first software, such as information of the other devices, such as the download address, for distribution of the first software.
  • the electronic device 400 can also send the installation package of the first software to other devices, and send the download method of the installation package of the first software to the network device 300, and this application does not limit this.
  • the identification method of the capabilities in the capability set required by the first software is consistent with the identification method of the capabilities in the capability set dictionary described in FIG. 5 , which unifies the identification method of the capabilities and reduces the difficulty of development and maintenance.
  • Figure 7 is a flowchart of another software distribution method provided by an embodiment of the present application.
  • the method can be applied to the software distribution system 10 shown in Figure 1.
  • the method may include but is not limited to the following steps:
  • S301 The electronic device 100 determines that second software needs to be distributed.
  • the electronic device 100 may determine that the electronic device 100 needs to be distributed with a second software, and the second software is related to the above-mentioned triggering scenario.
  • the third software of the electronic device 100 may determine that the electronic device 100 needs to be distributed with a second software, wherein the third software of the electronic device 100 is software related to the second software, for example, the second software needs to be run in an environment where the third software of the electronic device 100 is installed, for example, the electronic device 100 is a negative one-screen application, and the second software is an atomic service for travel booking.
  • the electronic device 100 when the electronic device 100 arrives at a preset location, it is determined to be in a first triggering scenario.
  • the preset location is an airport
  • the second software related to the first triggering scenario is an atomic service for travel booking.
  • the electronic device 100 can determine whether it is in a trigger scenario and the related second software based on the user portrait. For example, the electronic device 100 determines based on the user portrait that the user will use the atomic service of notes after starting the reading application. Therefore, when the electronic device 100 receives the user operation for starting the reading application, it determines that it is in the second trigger scenario, and the second software related to the second trigger scenario is the atomic service of notes.
  • the electronic device 100 when the electronic device 100 receives a user operation, it is determined to be in a triggering scenario, and the user operation may include but is not limited to touch operation, voice input, brain waves, etc.
  • the electronic device 100 receives a user input voice "check my express delivery"
  • the electronic device 100 receives a user input voice "check my express delivery”
  • the second software related to the third triggering scenario is an atomic service for express delivery.
  • the electronic device 100 can determine whether it is in a trigger scenario based on a scheduled task set by the user. For example, the scheduled task set by the user is to play the news at eight o'clock in the morning. Therefore, when the electronic device 100 determines that the time difference between the current moment and eight o'clock is less than or equal to the preset duration, it determines that it is in the fourth trigger scenario, and the second software related to the fourth trigger scenario is an atomic service for news.
  • the electronic device 100 can determine whether it is in a trigger scene based on the keywords searched by the user. For example, when the user searches for "food" in the negative one screen application, the electronic device 100 determines that it is in the fifth trigger scene, and the second software related to the fifth trigger scene is an atomic service for nearby food.
  • the electronic device 100 obtains a capability set of the electronic device 100.
  • S302 is an optional step.
  • the third software of the electronic device 100 requests the system of the electronic device 100 to obtain the capability set of the electronic device 100.
  • the third software of the electronic device 100 may call the interface provided by the system of the electronic device 100 to request the system of the electronic device 100 to obtain the capability set of the electronic device 100, and the system of the electronic device 100 returns the capability set of the electronic device 100 to the third software of the electronic device 100.
  • the system of the electronic device 100 is, for example but not limited to, an OS.
  • the capability set of the electronic device 100 may be characterized by a first parameter, and the first parameter may include an encoding of a capability in the capability set of the electronic device 100. For example, when the capability set of the electronic device 100 includes the capabilities shown in Table 1, it may be characterized by a first parameter (for example, named pcidVar) "1.5, 2.1, 2.2, x.1.11".
  • the electronic device 100 may send a third message to the network device 300 , and the third message may be used to request to obtain the second software.
  • the third software of the electronic device 100 may send a third message to the network device 300 .
  • the third message carries a capability set of the electronic device 100, for example, the third message carries a capability set for characterizing the electronic device 100.
  • the first parameter of the capability set of the sub-device 100 in some examples, the electronic device 100 may generate a third message according to the stored capability set of the electronic device 100.
  • the third message may include information of the second software, such as the name of the second software, the unique identification code of the second software, the version of the second software, etc.
  • S304 The network device 300 determines the second software that needs to be distributed according to the third message.
  • the network device 300 may obtain the capability set of the electronic device 100 from the received third message. In another optional embodiment, the network device 300 may store the capability set of the electronic device 100, and after receiving the third message, the network device 300 may read the stored capability set of the electronic device 100.
  • the network device 300 may obtain information about the second software based on the received third message, and obtain the capability set required by the second software based on the information about the second software.
  • the information about the second software may include, for example but not limited to, the name of the second software, the unique identification code of the second software, and the version of the second software.
  • the network device 300 may store capability sets required by multiple software, and the network device 300 may find the capability set required by the second software from the stored capability sets required by multiple software based on the information about the second software. An example of how the network device 300 obtains capability sets required by multiple software can be found in the embodiment shown in FIG6.
  • S305 The network device 300 determines whether the first condition is met.
  • the first condition includes that the capability set of the electronic device 100 matches the capability set required by the second software.
  • the network device 300 can distribute the second software to the electronic device 100, that is, execute S307.
  • meeting the first condition may include but is not limited to at least one of the following situations:
  • Case 1 the capability set of the electronic device 100 includes each capability in the capability set required by the second software
  • the capability set of the electronic device 100 includes a capability that is strongly dependent on the capability set required by the second software
  • Case 3 The capability set of the electronic device 100 includes the parent capability of the capability that the second software strongly depends on in the capability set.
  • the matching of the capability set of the electronic device 100 and the capability set required by the second software may include the above-mentioned case 1 and case 2, for example, the case where the degree of dependency of each capability in the capability set required by the second software is a strong dependency.
  • the capability set of electronic device 100 and the capability set required by the second software may match Case 2 and Case 3 described above.
  • the capability set of electronic device 100 includes capability 1 and capability 2
  • the capability set required by the second software includes strongly dependent capability 1 and capability 3, wherein capability 2 is the parent capability of capability 3.
  • the network device 300 may not distribute the second software to the electronic device 100 .
  • the second software may include multiple versions, and the capability sets required by different versions of the second software may be the same. In another optional embodiment, the capability sets required by different versions of the second software may be different.
  • the third message may include the version of the second software (assuming it is the first version), and the network device 300 may compare the capability set of the electronic device 100 with the capability set required by the first version of the second software. When the two match, the network device 300 may distribute the second software to the electronic device 100, otherwise the second software will not be distributed.
  • the third message does not include the version of the second software.
  • the network device 300 can compare the capability set of the electronic device 100 with the capability sets required by the second software of multiple versions. In some examples, when the capability set required by only one second version of the second software matches the capability set of the electronic device 100, the network device 300 can distribute the second version of the second software to the electronic device 100. In other examples, when the capability sets required by at least two versions of the second software match the capability set of the electronic device 100, the network device 300 can distribute the newer version of the second software to the electronic device 100.
  • the network device 300 can distribute the fourth version of the second software to the electronic device 100.
  • the network device 300 may not distribute the second software to the electronic device 100.
  • the third message includes the version of the second software (assuming it is the first version). If the network device 300 determines that the capability set of the electronic device 100 does not match the capability set required by the first version of the second software, but the network device 300 determines that the capability set of the electronic device 100 matches the capability set required by the fifth version of the second software, the fifth version of the second software can be distributed to the electronic device 100. This application does not limit this.
  • the network device 300 may send a fourth message to the electronic device 100, where the fourth message is used to prompt the user that the electronic device 100 does not have the ability to run the second software.
  • the network device 300 sends the installation package of the second software to the electronic device 100 .
  • the network device 300 may send the installation package of the second software to the electronic device 100 to distribute the second software. In an optional embodiment, when the first condition is met, the network device 300 may send the installation package of the second software to the third software of the electronic device 100 to distribute the second software.
  • the network device 300 may store the installation package of the second software, and the network device 300 may send the installation package of the second software to the electronic device 100 to distribute the second software.
  • the installation package of the second software is stored by another device other than the network device 300, and the network device 300 may store the download method of the installation package of the second software, such as information of the other device, such as a download address, and the network device 300 may send the download method of the second software to the electronic device 100 to distribute the second software.
  • S307 is an optional step.
  • the second software can be installed according to the installation package.
  • the third software of the electronic device 100 receives the installation package of the second software sent by the network device 300
  • the second software can be installed according to the installation package.
  • the installation can be, but is not limited to, a silent installation, such as an installation without displaying the installation progress and icon.
  • the electronic device 100 after the electronic device 100 receives the download method of the second software sent by the network device 300, it can obtain the installation package of the second software according to the download method of the second software, and install the second software according to the installation package.
  • S308 The electronic device 100 displays the interface of the second software.
  • S308 is an optional step.
  • the user interface of the second software is displayed.
  • the electronic device 100 after the electronic device 100 installs the second software, it receives a user operation, and displays the user interface of the second software in response to the user operation.
  • the third software of the electronic device 100 after the third software of the electronic device 100 installs the second software, the user interface of the second software is displayed.
  • a home scenario mobile phone 1, speaker 1 equipped with a display screen, speaker 2 not equipped with a display screen, and door lock 1 equipped with a display screen.
  • the user in the home scenario can output a voice, assuming it is "play video A".
  • Any device in the home scenario can receive the above voice and determine that it is in triggering scenario 6 based on the voice.
  • the software related to triggering scenario 6 is an atomic service for video, and the capability set required by the software includes a strongly dependent capability of video playback capability. Since the capability sets of mobile phone 1, speaker 1, and door lock 1 include video playback capability and the parent capability of video playback capability, mobile phone 1, speaker 1, and door lock 1 can be distributed with the above software. Since the capability set of speaker 2 does not include video playback capability and the parent capability of video playback capability, speaker 2 cannot be distributed with the above software.
  • the distribution of software is implemented based on the capability set of the device, and is independent of the device type.
  • the scenarios for triggering software distribution i.e., the above-mentioned triggering scenarios
  • this method does not require users to manually download and install software, that is, electronic devices can automatically install software distributed by network devices, which is more convenient for users to use.
  • Figure 8 is a flowchart of another software distribution method provided by an embodiment of the present application.
  • the method can be applied to the software distribution system 10 shown in Figure 1.
  • the method may include but is not limited to the following steps:
  • S401 The electronic device 100 determines that the fourth software needs to be distributed.
  • the electronic device 100 may determine that the fourth software needs to be distributed when it is recognized that the user intends to distribute the fourth software.
  • the fifth software of the electronic device 100 may determine that the fourth software needs to be distributed when it is recognized that the user intends to distribute the fourth software, wherein the fifth software of the electronic device 100 is software related to the fourth software, for example, the fourth software needs to be run in an environment where the fifth software of the electronic device 100 is installed.
  • the electronic device 100 can identify the user intention based on the received user operation. For example, when the electronic device 100 displays the user interface of the fourth software, in response to the user operation on the flow control in the user interface, it is determined that the fourth software needs to be distributed. In other examples, the electronic device 100 can automatically identify the user intention, for example, identifying the user intention based on the user portrait.
  • electronic device 100 may determine that the software to be distributed is the fourth software in response to a user operation. In other examples, electronic device 100 may also determine preset software as the software to be distributed. For example, when electronic device 100 displays the user interface of the fourth software, the fourth software is set as the software to be distributed.
  • the electronic device 100 determines a target device to which the fourth software is distributed.
  • the electronic device 100 may receive a user operation to determine a target device to which the fourth software is distributed.
  • the fifth software of the electronic device may receive a user operation to determine a target device to which the fourth software is distributed.
  • the fifth software of the electronic device 100 may display information of multiple devices in response to a user operation on a flow control in a user interface of the fourth software.
  • the multiple devices may be discovered and/or connected to the electronic device 100 through a distributed communication method (e.g., a soft bus).
  • a distributed communication method e.g., a soft bus.
  • the fifth software of the electronic device 100 receives the user operation for the information of the electronic device 200 among the multiple devices, it can determine that the target device to which the fourth software is distributed is the electronic device 200.
  • the electronic device 100 can determine that the target device to which the software is distributed is the electronic device 200 in response to the user operation.
  • the electronic device 100 can determine a preset device as the target device to which the software is distributed, for example, setting the electronic device 200 with the most recent communication as the target device to which the software is distributed.
  • S403 The electronic device 100 requests the electronic device 200 to obtain the capability set of the electronic device 200.
  • S403 is an optional step.
  • the capability set of the electronic device 200 may be used by the electronic device 100 to request the network device 300 to distribute the fourth software to the electronic device 200.
  • the fifth software of the electronic device 100 may request the electronic device 200 to obtain the capability set of the electronic device 200, wherein the capability set of the electronic device 200 may be used by the fifth software of the electronic device 100 to request the network device 300 to distribute the fourth software to the electronic device 200.
  • the electronic device 200 sends the capability set of the electronic device 200 to the electronic device 100 .
  • S404 is an optional step.
  • the electronic device 200 after the electronic device 200 receives the request sent by the electronic device 100, it can obtain the capability set of the electronic device 200 and send the capability set of the electronic device 200 to the electronic device 100. In an optional embodiment, after the electronic device 200 receives the request of the fifth software of the electronic device 100, it can obtain the capability set of the electronic device 200 and send the capability set of the electronic device 200 to the fifth software of the electronic device 100.
  • the capability set of the electronic device 200 may be characterized by a second parameter. For specific examples, see the description of the method for characterizing the capability set of the electronic device 100 in S302 of FIG. 7 .
  • S405 The electronic device 100 sends a fifth message to the network device 300 .
  • the electronic device 100 after the electronic device 100 receives the capability set of the electronic device 200, it can send a fifth message to the network device 300, and the fifth message can be used to request the distribution of the fourth software to the electronic device 200. In an optional embodiment, after the fifth software of the electronic device 100 receives the capability set of the electronic device 200, it can send a fifth message to the network device 300.
  • the fifth message carries a capability set of the electronic device 200 , for example, the fifth message carries a second parameter for characterizing the capability set of the electronic device 200 .
  • the fifth message may include information about the fourth software, such as but not limited to the name of the fourth software, the unique identification code of the fourth software, and the version of the fourth software.
  • the network device 300 determines the fourth software that needs to be distributed according to the fifth message.
  • the network device 300 may obtain the capability set of the electronic device 200 from the received fifth message. In another optional embodiment, the network device 300 may store the capability set of the electronic device 200, and after receiving the fifth message, the network device 300 may read the stored capability set of the electronic device 200.
  • the network device 300 can obtain information about the fourth software based on the received fifth message, and obtain the capability set required by the fourth software based on the information of the fourth software.
  • the network device 300 can obtain the capability set required by the second software in S304 of Figure 7, which will not be repeated here.
  • S407 The network device 300 determines whether the second condition is met.
  • the second condition includes that the capability set of the electronic device 200 matches the capability set required by the fourth software.
  • the second condition see the description of matching the capability set of the electronic device 100 and the capability set required by the second software in S305 of FIG. 7 .
  • the network device 300 sends a sixth message to the electronic device 100 .
  • S408 is an optional step.
  • the network device 300 may send a sixth message to the electronic device 100 according to the result of whether the second condition is satisfied. In an optional embodiment, the network device 300 may send a sixth message to the fifth software of the electronic device 100 according to the result of whether the second condition is satisfied. Optionally, the sixth message may indicate whether the fourth software can be distributed to the electronic device 200. In some examples, when the second condition is satisfied, the sixth message indicates that the fourth software can be distributed to the electronic device 200, and in other examples, when the second condition is not satisfied, the sixth message indicates that the fourth software cannot be distributed to the electronic device 200.
  • the network device 300 may store the installation package of the fourth software, the sixth message may include the installation package of the fourth software, and the sixth message may indicate that the fourth software can be distributed to the electronic device 200.
  • the installation package of the fourth software is stored by another device other than the network device 300, the network device 300 may store the download method of the installation package of the fourth software, the sixth message may include the download method of the installation package of the fourth software, and the sixth message may indicate that the fourth software can be distributed to the electronic device 200.
  • S409 is an optional step.
  • the electronic device 100 can distribute the fourth software to the electronic device 200.
  • the fifth software of the electronic device 100 when the sixth message indicates that the fourth software can be distributed to the electronic device 200, the fifth software of the electronic device 100 can distribute the fourth software to the electronic device 200.
  • the electronic device 100 may obtain the installation package of the fourth software according to the received sixth message, and then send the installation package of the fourth software to the electronic device 200 to distribute the fourth software.
  • the electronic device 100 may obtain the download method of the installation package of the fourth software according to the received sixth message, and then send the download method of the installation package of the fourth software to the electronic device 200 to distribute the fourth software.
  • the electronic device 100 may send the installation package of the fourth software stored in the electronic device 100 or the download method of the installation package of the fourth software to the electronic device 200 to distribute the fourth software.
  • the electronic device 100 may not distribute the fourth software to the electronic device 200. For example, at this time, the electronic device 100 may display a prompt message, and the prompt message is used to prompt the user that the electronic device 200 does not have the ability to run the fourth software.
  • S410 The electronic device 200 installs the fourth software.
  • S410 is an optional step.
  • S410 is similar to S307 in FIG. 7 , and details of S307 in FIG. 7 may be referred to, and will not be described in detail.
  • S411 The electronic device 200 displays an interface of the fourth software.
  • S411 is an optional step.
  • S411 is similar to S308 in FIG. 7 , and details of S308 in FIG. 7 may be referred to, and details will not be repeated here.
  • S403-S404 may be replaced by: the network device 300 requests the electronic device 200 to obtain the capability set of the electronic device 200, and the electronic device 200 sends the capability set of the electronic device 200 to the network device 300.
  • This optional embodiment may be after S405 and before S406, and the specific description is similar to that of S405-S406, and will not be repeated here.
  • S408 - S409 may be replaced by: the network device 300 distributes the fourth software to the electronic device 200 , and the specific description is similar to that of S409 and will not be repeated herein.
  • cross-device software transfer is implemented based on the capability set of the device, and is independent of the device type, which solves the technical problem that some devices supported by the software cannot be transferred when transferring software based on the device type, and expands the range of devices that can be transferred.
  • the electronic device 200 to which the software is transferred does not require the user to manually download and install the software, that is, the electronic device 200 can automatically install the transferred software, which is more convenient for the user to use.
  • FIG. 9 exemplarily shows a user interface diagram of a software distribution process.
  • the electronic device 100 may display a user interface 1000, for example, the user interface 1000 is the desktop of the electronic device 100.
  • the user interface 1000 may include a control 1010, which may indicate that the electronic device 100 has turned on the function of a voice assistant.
  • the electronic device 100 may receive a user operation, for example, the user operation is a voice input, and FIG. 9 takes the voice input as "check my express delivery" as an example for explanation.
  • the electronic device 100 may respond to the user operation and obtain software related to the user operation (FIG. 9 takes the atomic service of express delivery as an example for explanation), for example, executing S301-S306 of FIG. 7 , wherein the atomic service of express delivery is the second software.
  • the electronic device 100 may install the atomic service of express delivery obtained, for example, executing S307 of FIG. 7 , at which time the electronic device 100 may display the user interface of the atomic service, for example, executing S308 of FIG. 7 , and specifically refer to the user interface 2000 shown in (B) of FIG. 9 .
  • the user interface 2000 is, for example, the desktop of the electronic device 100.
  • the user interface 2000 may include a window 2010, and the window 2010 may include a voice message 2020, a card control 2030, and a flow control 2040.
  • the characters included in the voice message 2020 are the specific content of the above-mentioned voice input, namely, "check my express delivery".
  • the card control 2030 is used to display the specific content of the atomic service of express delivery, such as the content related to the above-mentioned voice input, that is, the express information 2030A of the current user.
  • the flow control 2040 can be used to circulate atomic services.
  • the electronic device 100 can respond to a user operation on the flow control 2040, for example, the user operation is a touch operation, and the touch operation is, for example, a click operation, to display a selection interface for the flow content and the flow object, and specifically refer to the user interface 3000 shown in (C) of FIG. 9 .
  • the user operation is a touch operation
  • the touch operation is, for example, a click operation
  • the user interface 3000 may include a target content list 3010 and a target device list 3020.
  • the target content list 3010 may include at least one option for software that can be distributed (i.e., streaming content), for example: option 3011 indicating an atomic service for express delivery (including the characters “express query service”).
  • the target device list 3020 may include at least one option for a target device (i.e., streaming object) to which software can be distributed.
  • the at least one target device to which software can be distributed may include, but is not limited to, devices discovered and/or connected by the electronic device 100 through near-field and/or far-field communication methods, for example: option 3021 indicating a device named “Smart Screen in the Living Room”, and an option 3022 indicating a device named "My Tablet".
  • the electronic device 100 may respond to a user operation on any one of the options in the target content list 3010, such as a touch operation, and select the software indicated by the option as the streaming content.
  • the electronic device 100 may respond to a user operation on any one of the options in the target device list 3020, such as a touch operation, and select the device indicated by the option as the streaming object.
  • the electronic device 100 can execute the process of distributing the atomic service of express delivery to the electronic device 200, such as executing S401-S409 of Figure 8, wherein the atomic service of express delivery is the fourth software.
  • the electronic device 200 can install the distributed atomic service of express delivery, such as executing S410 of Figure 8, at which time the electronic device 200 can display the user interface of the atomic service, such as executing S411 of Figure 8.
  • the display interface of the electronic device 100 and the electronic device 200 can refer to Figure 10 below.
  • the electronic device 100 can display a user interface 4000, which is similar to the user interface 3000 shown in (C) of Figure 9, except that option 3011 and option 3022 are selected.
  • the electronic device 200 can display a user interface 5000, which is, for example, the desktop of the electronic device 200, and the user interface 5000 may include a card control 5010 and a flow control 5020.
  • the card control 5010 is consistent with the card control 2030 shown in (B) of Figure 9, and will not be repeated.
  • the flow control 5020 can be used to circulate the atomic service of the currently displayed express delivery.
  • the electronic device 100 may no longer display the user interface 3000 or the user interface 4000 , for example, returning to display the desktop, which is not limited in the present application.
  • the card control 5010 displayed by the electronic device 200 may be different from the card control 2030 shown in (B) of FIG. 9 .
  • the card control 5010 is used to display the homepage of the atomic service of express delivery, which is not limited in the present application.
  • the methods provided in the embodiments of the present application may be implemented in whole or in part by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may 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.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device or other programmable device.
  • the computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.
  • the computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media integrated therein.
  • the available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (DWD), or a semiconductor medium (e.g., a solid state disk (SSD)).

Landscapes

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

Abstract

La présente demande concerne un procédé de distribution de logiciel, un dispositif électronique et un système. Le procédé consiste à : envoyer un premier message à un dispositif réseau, le premier message étant utilisé pour demander d'obtenir un premier logiciel, le premier message comprenant des premières informations utilisées pour indiquer l'ensemble de capacités du premier dispositif, et l'ensemble de capacités du premier dispositif comprenant la capacité matérielle et la capacité logicielle prises en charge par le premier dispositif ; lorsque l'ensemble de capacités du premier dispositif correspond à l'ensemble de capacités correspondant au premier logiciel, recevoir un fichier d'installation du premier logiciel ou un mode de téléchargement pour le fichier d'installation du premier logiciel envoyé par le dispositif réseau, l'ensemble de capacités correspondant au premier logiciel comprenant la capacité matérielle et la capacité logicielle qu'un dispositif doit prendre en charge afin de pouvoir exécuter le premier logiciel ; afficher une première interface du premier logiciel en fonction du fichier d'installation du premier logiciel ou du mode de téléchargement du fichier d'installation du premier logiciel. La présente invention utilise une technologie d'intelligence artificielle (IA) pour mettre en place un mécanisme de distribution de logiciel plus flexible et intelligent qui est indépendant des types de dispositifs, étendant ainsi la plage de dispositifs pour une distribution de logiciel.
PCT/CN2023/124946 2022-10-20 2023-10-17 Procédé de distribution de logiciel, dispositif électronique et système WO2024083114A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211287246.2A CN117950677A (zh) 2022-10-20 2022-10-20 一种软件分发方法、电子设备及系统
CN202211287246.2 2022-10-20

Publications (1)

Publication Number Publication Date
WO2024083114A1 true WO2024083114A1 (fr) 2024-04-25

Family

ID=90736974

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/124946 WO2024083114A1 (fr) 2022-10-20 2023-10-17 Procédé de distribution de logiciel, dispositif électronique et système

Country Status (2)

Country Link
CN (1) CN117950677A (fr)
WO (1) WO2024083114A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291496A (zh) * 2017-06-06 2017-10-24 苏州小雨伞网络科技有限公司 一种软件的发布安装方法
CN110531990A (zh) * 2019-07-26 2019-12-03 苏州浪潮智能科技有限公司 软件安装方法及装置
WO2021115112A1 (fr) * 2019-12-11 2021-06-17 华为技术有限公司 Procédé de téléchargement de progiciel d'installation, procédé de distribution de progiciel d'installation, dispositif terminal, serveur et système
CN114500478A (zh) * 2021-12-24 2022-05-13 奇安信科技集团股份有限公司 软件分发方法、装置和电子设备
CN114610331A (zh) * 2020-11-25 2022-06-10 网神信息技术(北京)股份有限公司 软件安装方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291496A (zh) * 2017-06-06 2017-10-24 苏州小雨伞网络科技有限公司 一种软件的发布安装方法
CN110531990A (zh) * 2019-07-26 2019-12-03 苏州浪潮智能科技有限公司 软件安装方法及装置
WO2021115112A1 (fr) * 2019-12-11 2021-06-17 华为技术有限公司 Procédé de téléchargement de progiciel d'installation, procédé de distribution de progiciel d'installation, dispositif terminal, serveur et système
CN114610331A (zh) * 2020-11-25 2022-06-10 网神信息技术(北京)股份有限公司 软件安装方法和系统
CN114500478A (zh) * 2021-12-24 2022-05-13 奇安信科技集团股份有限公司 软件分发方法、装置和电子设备

Also Published As

Publication number Publication date
CN117950677A (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
EP4002108B1 (fr) Procédé de démarrage d'application et dispositif électronique
WO2020103764A1 (fr) Procédé de commande vocale et dispositif électronique
WO2021253975A1 (fr) Procédé et appareil de gestion d'autorisation pour application, et dispositif électronique
CN116360725B (zh) 显示交互系统、显示方法及设备
JP2023506936A (ja) マルチ画面共働方法およびシステム、ならびに電子デバイス
WO2021052167A1 (fr) Procédé de réalisation d'une pluginisation d'application et dispositif électronique
WO2022156535A1 (fr) Procédé et appareil de traitement d'application distribuée
WO2021073337A1 (fr) Procédé et appareil pour installer un module d'extension, et support de stockage
CN114124980B (zh) 一种启动应用的方法、设备、系统、终端及存储介质
CN110865837A (zh) 一种进行系统升级的方法和终端
WO2021042991A1 (fr) Procédé d'interaction non intrusif et dispositif électronique
WO2022253158A1 (fr) Procédé et appareil de protection de la confidentialité d'un utilisateur
WO2022121445A1 (fr) Procédé d'ajout de gadget logiciel, appareil et support de stockage lisible par ordinateur
CN115309431B (zh) 一种参数更新方法、可读介质和电子设备
CN116048955B (zh) 一种测试方法及电子设备
WO2021238376A1 (fr) Procédé et appareil de chargement d'ensemble de fonctions, et serveur et dispositif électronique
WO2022161024A1 (fr) Procédé d'invite de mise à niveau, dispositif de terminal et support de stockage lisible par ordinateur
CN114461239B (zh) 软件升级系统和软件升级方法
WO2024083114A1 (fr) Procédé de distribution de logiciel, dispositif électronique et système
CN113485709B (zh) 应用优化方法、装置以及电子设备
CN117009023B (zh) 显示通知信息的方法及相关装置
CN114168115B (zh) 通信系统、应用下载方法及设备
US20230259346A1 (en) Application Module Startup Method and Electronic Device
WO2023165413A1 (fr) Système et procédé de développement d'application, et dispositif
WO2023142935A1 (fr) Procédé de gestion de composant d'application et dispositif associé