WO2022068605A1 - 一种补丁复用方法、***及电子设备 - Google Patents

一种补丁复用方法、***及电子设备 Download PDF

Info

Publication number
WO2022068605A1
WO2022068605A1 PCT/CN2021/118904 CN2021118904W WO2022068605A1 WO 2022068605 A1 WO2022068605 A1 WO 2022068605A1 CN 2021118904 W CN2021118904 W CN 2021118904W WO 2022068605 A1 WO2022068605 A1 WO 2022068605A1
Authority
WO
WIPO (PCT)
Prior art keywords
patch
electronic device
mobile phone
package
matching information
Prior art date
Application number
PCT/CN2021/118904
Other languages
English (en)
French (fr)
Inventor
任文杰
李洪玺
尹永宏
李英伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to US18/247,132 priority Critical patent/US20240004642A1/en
Priority to EP21874266.6A priority patent/EP4213013A4/en
Publication of WO2022068605A1 publication Critical patent/WO2022068605A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Definitions

  • the present application relates to the field of communication technologies, and in particular, to a patch multiplexing method, system and electronic device.
  • a software patch (hereinafter referred to as a patch) is a small program for patching vulnerabilities released in response to problems exposed during the use of some software. For example, when software developers develop software, due to ill-consideration or imperfect software program functions, some problems will be exposed after the software is released. To solve these problems, software developers usually form patches by modifying the original program or adding new functions, etc., and release the patches for user devices to download patches for patch update or software upgrade.
  • the device can search and download the patches it needs from the patch server, and complete the installation of the patches.
  • the patch server distributes patches to multiple devices respectively, and there are problems that the patches are downloaded from the patch server multiple times and the patch installation efficiency of multiple devices is low.
  • the present application provides a patch multiplexing method, system and electronic device, which can avoid the problem that the patch is downloaded from the patch server for multiple times, and can realize the rapid installation of the patch on multiple devices and improve the efficiency of the patch installation.
  • the embodiments of the present application provide a patch multiplexing method, which is applied to a system including multiple devices and a patch server.
  • the patch server is used to provide patches for multiple devices.
  • the multiple devices include at least a first electronic device and a second electronic device
  • the method includes: the first electronic device sends a first patch query request to the patch server, where the first patch query request includes multiplexing patch matching information, the multiplexing patch matching information includes the first patch matching information of the first electronic device and the second patch matching information of the second electronic device, each patch matching information is used to match the corresponding patch file;
  • the patch server queries according to the first patch Request to generate a multiplexed patch package, and send the multiplexed patch package to the first electronic device, where the multiplexed patch package includes a first patch file corresponding to the first patch matching information and a second patch file corresponding to the second patch matching information;
  • An electronic device receives the multiplexed patch package, and extracts a first electronic device.
  • the first electronic device when there are multiple devices in the same local area network that need to download patches, the first electronic device can be used as a multiplexing patch download device in the local area network to uniformly obtain the first electronic device and the second electronic device in the local area network from the patch server. For the required patch file, the first electronic device sends the acquired patch file to the corresponding device. It can avoid that devices in the same local area network that need to download patches download patch packages from the patch server respectively, which can improve the efficiency of patch download and installation.
  • the patch server generates the multiplexed patch package according to the first patch query request, including: the patch server determines the first patch file corresponding to the first patch matching information, and determines the second patch matching information.
  • the sum and difference part is used as a multiplexing patch package.
  • the patch server When the patch server generates a multiplexed patch package, it re-packages the reusable patch packages that need to be downloaded by each device, and makes full use of the common part of multiple patch packages as the public part, and takes the uncommon part as the common part. The difference part is obtained, and the multiplexing patch package including the common part and the difference part is obtained.
  • the size of the multiplexing patch package can be effectively reduced, so as to improve the transmission efficiency of the multiplexing patch package and reduce the occupation of network resources, and also can reduce the consumption of the multiplexing patch package on the memory of the first electronic device.
  • the method further includes: the first electronic device decompresses the multiplexed patch package to obtain a common patch and a differential patch; A first patch file and a second patch file are obtained by performing patch restoration and synthesis processing with the difference patch. That is, the patch files required by each device can be easily obtained.
  • the method further includes: the patch server sends a patch push message for pushing the multiplexed patch package to the first electronic device; the first After the electronic device receives the patch push message, if it detects that the user confirms the operation of downloading the multiplexed patch package, the first electronic device sends the first patch acquisition request to the patch server; after receiving the first patch acquisition request, the patch server sends the request to the patch server.
  • the multiplexed patch package is sent to the first electronic device.
  • the first electronic device and the second electronic device are network trusted devices both belonging to the local area network.
  • the security of patch multiplexing between the first electronic device and the second electronic device can be effectively improved.
  • sending the first patch query request by the first electronic device to the patch server includes: the second electronic device sending a second patch query request to the first electronic device, where the second patch query request includes the first patch query request.
  • Second patch matching information of the second electronic device after receiving the second patch query request, the first electronic device sends the first patch query request to the patch server; or the first electronic device sends the first patch query request to the patch server according to the preset patch query cycle A patch query request; or the first electronic device sends a first patch query request to the patch server after receiving the user's patch query instruction.
  • each patch matching information includes device type information, device software version information, and patch type information for obtaining the patch.
  • the foregoing plurality of devices further include a third electronic device
  • the method further includes: the third electronic device obtains a network identifier of the local area network, and if the third electronic device determines the location of the third electronic device according to the network identifier.
  • the local area network at the location is a trusted network
  • the third electronic device obtains the second patch matching information of the second electronic device of the same device type as the third electronic device in the local area network; if the third electronic device determines that the second patch matching information is the same as The third patch matching information of the third electronic device is the same, and the third electronic device acquires the second patch file from the second electronic device.
  • the second electronic device can provide a trusted patch source for other devices in the local area network.
  • the new device can search the local area network to see if there is a patch that the new device needs to download. Get the patches that need to be downloaded within the system, and do not need to download from the patch server.
  • the third electronic device determines that the local area network is a trusted network, including: if the trusted network identifier in the third electronic device includes the network identifier of the local area network acquired by the third electronic device, The third electronic device determines that the local area network is a trusted network.
  • the method further includes: if the third electronic device determines that the second electronic device has installed the second patch file, the third electronic device obtains the second patch file from the second electronic device. That is, if the second electronic device has installed the second patch file, it means that the second electronic device has performed installation verification on the second patch file, which can effectively improve the success rate of the third electronic device in installing the second patch file.
  • the foregoing plurality of devices further include a third electronic device
  • the method further includes: the third electronic device obtains a network identifier of the local area network, and if the location of the third electronic device is determined according to the network identifier The local area network is an untrusted network, then the third electronic device sends a third patch query request to the first electronic device, and the third patch query request includes the third patch matching information of the third electronic device;
  • the patch matching request determines that the multiplexed patch package includes a patch file corresponding to the third electronic device, the first electronic device sends the multiplexed patch package to the third electronic device; the third electronic device receives the multiplexed patch package, and extracts the patch file for use in the third electronic device.
  • the foregoing plurality of devices further include a third electronic device, and the method further includes: the third electronic device obtains a network identifier of the local area network, and if the location of the third electronic device is determined according to the network identifier If the local area network is an untrusted network, the third electronic device sends a request for obtaining the multiplexing patch matching information to the first electronic device to obtain the multiplexing patch matching information; if the third electronic device determines the multiplexing patch according to the multiplexing patch matching information
  • the matching information includes third patch matching information corresponding to the third electronic device, and the third electronic device sends a multiplexed patch acquisition request to the first electronic device; the first electronic device sends the multiplexed patch to the third electronic device according to the multiplexed patch acquisition request package; the third electronic device receives the multiplexed patch package, and extracts the patch file for installation on the third electronic device.
  • the first electronic device can provide a trusted patch source for other devices in the local area network.
  • the new device can search the local area network to see if there is a patch that the new device needs to download.
  • the device obtains the original multiplexed patch package, which is conducive to the quick repair of the patch of the untrusted device in the local area network.
  • an embodiment of the present application provides a patch multiplexing method, which is applied to a first electronic device.
  • the method includes: sending a first patch query request to a patch server, where the first patch query request includes multiplexing patch matching information , the multiplexing patch matching information includes the first patch matching information of the first electronic device and the second patch matching information of the second electronic device that belongs to the same local area network as the first electronic device, and each patch matching information is used to match the corresponding Patch file; receive a multiplexed patch package generated according to the first patch query request sent by the patch server, where the multiplexed patch package includes a first patch file corresponding to the first patch matching information and a second patch file corresponding to the second patch matching information ; Extract the first patch file for installation in the first electronic device and the second patch file for installation in the second electronic device from the multiplexed patch package, and send the second patch file to the second electronic device.
  • the first electronic device when there are multiple devices in the same local area network that need to download patches, the first electronic device can be used as a multiplexing patch download device in the local area network to uniformly obtain the first electronic device and the second electronic device in the local area network from the patch server. required patch files. It can avoid that devices in the same local area network that need to download patches download patch packages from the patch server respectively, which can improve the efficiency of patch download and installation.
  • the method further includes: the first electronic device decompresses the multiplexed patch package to obtain a common patch and a differential patch; A first patch file and a second patch file are obtained by performing patch restoration and synthesis processing on the patch and the difference patch, respectively.
  • the first electronic device and the second electronic device are network trusted devices both belonging to the local area network.
  • the sending the first patch query request by the first electronic device to the patch server includes: the second electronic device sending a second patch query request to the first electronic device, where the second patch query request includes The second patch matching information of the second electronic device; after receiving the second patch query request, the first electronic device sends the first patch query request to the patch server; or the first electronic device sends the patch server according to the preset patch query cycle The first patch query request; or the first electronic device sends the first patch query request to the patch server after receiving the user's patch query instruction.
  • each patch matching information includes device type information, device software version information, and patch type information for obtaining the patch.
  • the method further includes: receiving a third patch query request sent by a third electronic device, where the third patch query request includes third patch matching information of the third electronic device; if The first electronic device determines, according to the third patch matching request, that the multiplexed patch package contains a patch file corresponding to the third electronic device, and the first electronic device sends the multiplexed patch package to the third electronic device; the third electronic device receives the multiplexed patch package, And extract the patch file for installation on the third electronic device.
  • the third patch query request is for the third electronic device to obtain the network identifier of the local area network. If the local area network where the third electronic device is located is determined to be an untrusted network according to the network identifier, the determined patch query request is made.
  • embodiments of the present application provide a patch multiplexing method, applied to a second electronic device, the method includes: sending a first patch query for querying a patch to a first electronic device that belongs to the same local area network request, the first patch query request includes the second patch matching information of the second electronic device; the second patch file sent by the first electronic device is received and installed, and the second patch file is the second patch matching information of the second electronic device. corresponding patch file.
  • the second electronic device can obtain the second patch file to be downloaded from the first electronic device.
  • the second electronic device can be prevented from downloading the patch package from the patch server, which can improve the download and installation efficiency of the patch.
  • the method further includes: receiving a patch acquisition request sent by a third electronic device in the local area network, and sending the second patch file to the third electronic device.
  • the patch acquisition request is for the third electronic device to acquire the network identifier of the local area network. If it is determined according to the network identifier that the local area network where the third electronic device is located is a trusted network, the third electronic device acquires the device in the local area network that is related to the third electronic device.
  • the second patch matching information of the second electronic device of the same type if the third electronic device determines that the second patch matching information is the same as the third patch matching information of the third electronic device, the third electronic device obtains the second patch matching information in the second electronic device. Second patch file.
  • an embodiment of the present application provides a patch multiplexing method, which is applied to a patch server, and the patch server is configured to provide patches for an electronic device.
  • the method includes: receiving a first patch query request sent by a first electronic device,
  • the first patch query request includes multiplexing patch matching information, and the multiplexing patch matching information includes first patch matching information of the first electronic device and second patch matching information of a second electronic device that belongs to the same local area network as the first electronic device information; generate a multiplexed patch package according to the first patch query request, and send the multiplexed patch package to the first electronic device, so that the first electronic device obtains the first patch file and the second patch file according to the multiplexed patch package.
  • the first electronic device when there are multiple devices in the same local area network that need to download patches, the first electronic device can be used as a multiplexing patch download device in the local area network to uniformly obtain the first electronic device and the second electronic device in the local area network from the patch server. required patch files. It can avoid that devices in the same local area network that need to download patches download patch packages from the patch server respectively, which can improve the efficiency of patch download and installation.
  • the patch server generates the multiplexed patch package according to the first patch query request, including: the patch server determines the first patch file corresponding to the first patch matching information, and determines that the second patch matches The second patch file corresponding to the information; the patch server takes the same part in the first patch file and the second patch file as the common part, takes the different part in the first patch file and the second patch file as the difference part, and takes the common part as the common part. Partial and differential parts are used as multiplexing patches.
  • the method further includes: the patch server sends a patch push message for pushing the multiplexed patch package to the first electronic device; After receiving the first patch acquisition request sent by the first electronic device, the server sends the multiplexed patch package to the first electronic device.
  • the first patch acquisition request is a request generated by the first electronic device if it detects that the user confirms the operation of downloading the multiplexed patch package after receiving the patch push message.
  • the embodiments of the present application provide a patch multiplexing system, including multiple devices and a patch server, the patch server is used to provide patches for multiple devices, the multiple devices are located in the same local area network, and the multiple devices It includes at least a first electronic device and a second electronic device, wherein the first electronic device is configured to send a first patch query request to the patch server, where the first patch query request includes multiplexing patch matching information, and the multiplexing patch matching information includes The first patch matching information of the first electronic device and the second patch matching information of the second electronic device, each patch matching information is used to match the corresponding patch file; the patch server is used to generate a multiplexing patch package according to the first patch query request , and send the multiplexed patch package to the first electronic device, where the multiplexed patch package includes a first patch file corresponding to the first patch matching information and a second patch file corresponding to the second patch matching information; the first electronic device is used to receive reusing the patch package, and extracting the first patch file for installation on
  • the patch multiplexing system provided by the present application includes the first electronic device, the second electronic device and the patch server provided for executing the first aspect and/or any possible implementation manner of the first aspect, and therefore can also The beneficial effects (or advantages) of the patch multiplexing method provided in the first aspect are realized.
  • embodiments of the present application provide an electronic device, comprising: a memory for storing a computer program, where the computer program includes program instructions; a control component for executing the program instructions, so that the electronic device executes the aforementioned patch recovery use method.
  • embodiments of the present application provide a computer-readable storage medium, where the computer-readable storage medium stores a computer program, the computer program includes program instructions, and the program instructions are executed by the computer to cause the electronic device to execute the aforementioned patch reuse method.
  • Fig. 1 shows an application scenario of downloading and installing patches by multiple devices in the prior art
  • FIG. 2 shows an application scenario of downloading and installing patches on multiple devices according to some embodiments of the present application
  • FIG. 3 is a schematic structural diagram of a mobile phone 11 according to some embodiments of the present application.
  • FIG. 4 is a schematic diagram illustrating an application scenario of a patch multiplexing method provided by the present application and a flowchart of downloading and installing patches on multiple devices according to some embodiments of the present application;
  • FIG. 5 is a schematic diagram showing a process for a patch server to obtain a multiplexed patch package according to some embodiments of the present application
  • FIG. 6 is a schematic flowchart of a method for processing the multiplexing patch package after the mobile phone 11 obtains the multiplexing patch package according to some embodiments of the present application;
  • FIG. 7 is a schematic flowchart of another method for processing the multiplexing patch package after the mobile phone 11 obtains the multiplexing patch package according to some embodiments of the present application;
  • 8A-8D are schematic diagrams showing display interfaces of some mobile phones 11 according to some embodiments of the present application.
  • FIG. 9A shows another application scenario of the patch multiplexing method provided by the present application according to some embodiments of the present application.
  • FIG. 9B is a schematic flowchart illustrating a process of downloading and installing patches for a mobile phone 20 newly added to the home local area network 200 according to some embodiments of the present application;
  • FIG. 9C is a schematic diagram illustrating a specific process of downloading a patch from a mobile phone 20 according to some embodiments of the present application.
  • 10A-10C are schematic diagrams showing display interfaces of some mobile phones 20 according to some embodiments of the present application.
  • FIG. 11 is a schematic structural diagram showing an electronic device according to some embodiments of the present application.
  • FIG. 12 is a schematic structural diagram of a system on a chip (SoC) according to some embodiments of the present application.
  • SoC system on a chip
  • the present application provides a system for downloading and installing patches, and the system includes a server-side device and a device-side device.
  • the server side includes a patch server 100, and the patch server 100 may be a patch cloud server, so the server side may also be referred to as a cloud server side, or simply a cloud side.
  • the server side includes several patch packages such as patch package 1 , patch package 2 , patch package 3 , patch package 4 , and patch package 5 stored by the patch server 100 .
  • the device side includes multiple client electronic devices, so the device side may also be referred to as the client side, or simply the terminal side.
  • the device side includes an access point (Access Point, AP) router 10 , a mobile phone 11 , a personal computer (Personal Computer, PC) 12 , a tablet computer 13 , a large-screen device 14 (such as a smart screen, a TV, etc.) and a mobile phone 17 .
  • the mobile phone 11 , the PC 12 , the tablet computer 13 , the large-screen device 14 and the mobile phone 17 respectively establish a wireless local area network (Wireless Local Area Network, WLAN) (such as a wireless fidelity (Wireless Fidelity, Wi-Fi) network) communication with the AP router 10 connect.
  • WLAN wireless Local Area Network
  • the device side also includes a wristband 101, a watch 102, and an earphone 103.
  • the wristband 101, the watch 102, and the earphone 103 establish a communication connection with the mobile phone 11 through Bluetooth (BT) or Mobile Hotspot, respectively.
  • BT Bluetooth
  • Mobile Hotspot Mobile Hotspot
  • the device side may also include device 201, device 202, device 203, device 204, device 205, and device 206, where device 201 may be an Internet of Things (IoT) device, and device 202 may be a mobile phone/device including HarmonyOS middleware. Tablet PC/TV (television, TV) and other devices with Android system, the device 203 may be a PC including Hongmeng middleware, etc.
  • IoT Internet of Things
  • device 202 may be a mobile phone/device including HarmonyOS middleware.
  • Tablet PC/TV television
  • Android Android
  • the device 203 may be a PC including Hongmeng middleware, etc.
  • the device 204 can be a device with a LiteOS system such as a smart home appliance/camera/doorbell/curtain including the Hongmeng HiLink software development kit (Software Development Kit, SDK), and the device 205 can be a smart home appliance including the Hongmeng HiLink SDK/ Camera/doorbell/curtain etc have
  • the device of the system, the device 206 can be a smart home appliance/camera/doorbell/curtain, etc. including the Hongmeng HiLink SDK. system equipment.
  • the device 201 , the device 202 , the device 203 , the device 204 , the device 205 and the device 206 respectively establish a wireless local area network communication connection with the AP router 10 .
  • the above-mentioned devices included on the device side can be considered as devices in the home local area network 200 corresponding to the home scenario.
  • the home local area network 200 is provided with a wireless local area network by the AP router 10 for each device, and each device in the home local area network 200 short-range communication.
  • each device on the device side can also establish a communication connection with the AP router 10 in the form of an Ethernet data line, or establish a communication connection with the AP router 10 in other ways.
  • the device side may further include a mobile phone 15 , and the mobile phone 15 has not established a communication connection with the AP router 10 and is a device outside the home local area network 200 .
  • the mobile phone 15 may be a device connected to the Internet through the mobile data network (or cellular network) of the mobile phone 15 , and the mobile phone 15 may also be a device that establishes a communication connection with other AP routers different from the AP router 10 .
  • each device searches from the patch server 100 respectively.
  • the patch package (may also be referred to as a patch search package, or may be referred to as a search package for short), the patch package is downloaded, and the patch server 100 respectively delivers the patch package corresponding to each device to the corresponding device.
  • the mobile phone 11 , the device 202 and the mobile phone 15 need to download the same patch package 2 from the patch server 100 respectively, and there is a problem that the patch package 2 is downloaded from the patch server 100 multiple times.
  • the tablet 13 needs to download the patch package 1 from the patch server 100
  • the mobile phone 17 needs to download the patch package 3 from the patch server 100
  • the wristband 101 needs to download the patch package 5 from the patch server 100
  • the large-screen device 14 needs to download the patch server 100.
  • Patch Pack 4 etc.
  • the patch package usually includes patch files for fixing software problems and patch signature information for securely processing the patch files.
  • the patch files in the patch packages are often the same.
  • some patch files in patch package 1, patch package 3, and patch package 2 are the same.
  • patch package 1, patch package 3 The patch signature information of patch package 2 can be the same.
  • Each device downloads patch package 1, patch package 2, and patch package 3 respectively. There is a problem that the same patch file part and patch signature information are downloaded repeatedly, which will cause waste of network resources.
  • the mobile phone 11 , the tablet computer 13 , the large-screen device 14 , the mobile phone 17 , the bracelet 101 , the device 202 and the mobile phone 15 on the device side need to download the required patch packages from the patch server 100 respectively.
  • the server 100 is downloaded multiple times, and the mobile phone 11 , tablet computer 13 , large-screen device 14 , mobile phone 17 , wristband 101 , device 202 , and mobile phone 15 are inefficient in downloading and installing patches.
  • the present application provides a patch multiplexing method, which can be applied to the scenario of multi-device software repair in the system shown in FIG. 1 , and the multi-device software repair scenario is a scenario in which multiple devices jointly upgrade patches.
  • the mobile phone 11 when there are multiple devices on the device side, the mobile phone 11 can be used as a multiplexing patch download device among the multiple devices, and send the patch server 100 to the patch server 100 .
  • the patch query request includes multiplexing patch matching information (or also referred to as multiplexing patch profile (Profile)), and the multiplexing patch matching information is information generated by the mobile phone 11 according to patch matching information of all devices that need to perform patch query on the device side.
  • Profile multiplexing patch profile
  • Each device includes software that needs to be queried for patches, and the software may be system software or application software.
  • the software may be application software (for example, video calling application software) as an example, when the application software needs to query a patch, the application software performs a patch query operation to generate patch matching information.
  • the patch matching information is a patch package corresponding to the application software used by the patch server 100 to match the device.
  • the patch files of the patch packages corresponding to different application software are different, so the patch matching information may include the version information of the application software in the device.
  • the patch matching information may include the product type (or product type) of the device and the patch type for which the device needs to obtain patches.
  • the product type of the mobile phone 11 may be, for example, the model of the mobile phone 11 (such as mate10, P40, etc.), and the format of the product type may be productxx.
  • the version information of the application software may be a version number, and the format of the version number may be Versionxx.
  • the patch type may be used to indicate the capability of the mobile phone 11 to install patches, and the format of the patch type may be apkpatch or nativepatch.
  • the apkpatch patch type mainly refers to the patch used to update the application software
  • the nativepatch mainly refers to the patch used to update the system configuration software.
  • the patch matching information can be productxx+Versionxx; apkpatch.
  • the product type of the mobile phone 11 can also be other product identification information used to identify the mobile phone 11
  • the version information of the application software can also be other software identification information used to identify the application software, which can be selected according to needs.
  • the devices that query patches on the device side include mobile phone 11, tablet computer 13, large-screen device 14, mobile phone 17, wristband 101, device 202, and mobile phone 15, then mobile phone 11 is based on mobile phone 11, tablet computer 13, large-screen device 14,
  • the patch matching information of the mobile phone 17 , the bracelet 101 , the device 202 , and the mobile phone 15 obtains the multiplexed patch matching information and sends it to the patch server 100 .
  • the patch matching information when downloading software from the above different devices is as follows:
  • the patch matching information of the mobile phone 11 is: productA+Version00; apkpatch.
  • the patch matching information of the tablet computer 13 is: productB+Version00; apkpatch.
  • the patch matching information of mobile phone 17 is: productA+Version01; apkpatch.
  • the patch matching information of the large-screen device 14 is: productC+Version01; apkpatch.
  • the patch matching information of the bracelet 101 is: productD+Version00; apkpatch.
  • the patch matching information of the device 202 is: productA+Version00; apkpatch.
  • the patch matching information of the mobile phone 15 is: productA+Version00; apkpatch.
  • the mobile phone 11 can take the union of the foregoing patch matching information to determine the multiplexing patch matching information as: productA+Version00; productA+Version01; productB+Version00; productC+Version01; productD+Version00; apkpatch.
  • the patch server 100 may determine whether there is a patch package matching the multiplexed patch matching information according to the multiplexed patch matching information included in the patch query request. If it exists, the patch server 100 packages all matching patch packages as multiplex patch packages, and the multiplex patch package includes the mobile phone 11 , the tablet computer 13 , the large-screen device 14 , the mobile phone 17 , the wristband 101 , the device 202 and the mobile phone 15 .
  • the patch file of the downloaded patch package, and the patch signature information for securely processing the patch file.
  • the patch server 100 sends a patch push message for pushing the multiplexed patch package to the mobile phone 11, where the patch push message includes patch description information such as the name of each patch package included in the multiplexed patch package.
  • the mobile phone 11 After the mobile phone 11 receives the patch push message, if it is detected that the user confirms the operation of downloading the multiplexed patch package, the mobile phone 11 sends a patch acquisition request for downloading the multiplexed patch package to the patch server 100.
  • the patch server 100 uses the patch packages required by the mobile phone 11 , the tablet computer 13 , the large-screen device 14 , the mobile phone 17 , the wristband 101 , the device 202 and the mobile phone 15 (ie, the patch package corresponding to the multiplexing patch matching information) as the patch package. Reuse the patch package, and deliver the reused patch package to the mobile phone 11 on the device side.
  • the mobile phone 11 receives the multiplexing patch package sent by the patch server 100, and obtains the patch packages required by the mobile phone 11, the tablet computer 13, the large-screen device 14, the mobile phone 17, the bracelet 101, the device 202 and the mobile phone 15 according to the multiplexing patch package.
  • Corresponding patch files such as patch file 5 corresponding to patch package 5 that needs to be downloaded for wristband 101, patch file 2 corresponding to patch package 2 that needs to be downloaded for mobile phone 11, device 202 and mobile phone 15, patch file 2 corresponding to patch package 2 that needs to be downloaded for tablet 13 1 corresponds to patch file 1, the mobile phone 17 needs to download the patch file 3 corresponding to the patch package 3, and the large-screen device 14 needs to download the patch file 4 corresponding to the patch package 4.
  • the mobile phone 11 installs the patch file 2, and the mobile phone 11 sends the patch file 2 required by the mobile phone 15 and the device 202 to the mobile phone 15 and the device 202 respectively, and sends the patch file 1 required by the tablet computer 13 to the tablet computer 13.
  • the patch file 3 required by the mobile phone 17 is sent to the mobile phone 17
  • the patch file 5 required by the bracelet 101 is sent to the bracelet 101
  • the patch file 4 required by the large-screen device 14 is sent to the large-screen device 14 .
  • the large-screen device 14 , the mobile phone 15 , the bracelet 101 , the device 202 , and the mobile phone 15 receive their corresponding patch files, they install the patch files to implement patch installation.
  • the mobile phone 11 the tablet computer 13 , the large-screen device 14 , the mobile phone 17 , the wristband 101 , the device 202 and other devices in the home local area network 100 perform short-range communication.
  • the mobile phone 11 After receiving the multiplexing patch package and obtaining the patch files required by the device according to the multiplexing patch package, the mobile phone 11 can broadcast the patch files included in the multiplexing patch package obtained by the mobile phone 11 to other devices in the home local area network 100,
  • the patch files included in the multiplexed patch package are made visible in the home area network 100, that is, other devices in the home area network 100 can discover, download and install the patch files included in the multiplexed patch package.
  • the mobile phone 15 can establish a communication connection with the mobile phone 11 through a mobile hotspot shared by the mobile phone 11 or Bluetooth.
  • the mobile phone 15 can also establish a communication connection with the AP router 10 , and the mobile phone 15 can perform short-range communication with each device in the home local area network 100 that establishes a communication connection with the AP router 10 .
  • the mobile phone 11 when there are multiple devices on the device side that need to download patches, the mobile phone 11 can be used as a multiplexer among all the devices that establish a communication connection with the AP router 10 and all the devices that establish a communication connection with the mobile phone 11
  • the patch download device uniformly obtains the patch files required by each device from the patch server 100, and then sends the obtained patch file to the corresponding device, which can avoid the devices that need to download patches on the device side from downloading the patch package from the patch server 100 respectively, which can improve the patch speed. download and installation efficiency.
  • FIG. 3 shows a schematic structural diagram of the mobile phone 11 in the present application as an example.
  • the mobile phone 11 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) connector 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, Mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, sensor module 180, buttons 190, motor 191, indicator 192, camera 193, display screen 194, and user Identity module (subscriber identification module, SIM) card interface 195 and so on.
  • SIM subscriber identification module
  • the sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and ambient light. Sensor 180L, bone conduction sensor 180M, etc.
  • the structures illustrated in the embodiments of the present invention do not constitute a specific limitation on the mobile phone 11 .
  • the mobile phone 11 may include more or less components than shown, or some components are combined, or some components are separated, or different components are arranged.
  • the illustrated components may be implemented in hardware, software, or a combination of software and hardware.
  • the processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (application processor, AP), a modem processor, a graphics processor (graphics processing unit, GPU), an image signal processor (image signal processor, ISP), controller, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (neural-network processing unit, NPU), etc. Wherein, different processing units may be independent devices, or may be integrated in one or more processors.
  • application processor application processor, AP
  • modem processor graphics processor
  • ISP image signal processor
  • controller video codec
  • digital signal processor digital signal processor
  • baseband processor baseband processor
  • neural-network processing unit neural-network processing unit
  • the processor can generate an operation control signal according to the instruction operation code and timing signal, and complete the control of fetching and executing instructions.
  • a memory may also be provided in the processor 110 for storing instructions and data.
  • the memory in processor 110 is cache memory. This memory may hold instructions or data that have just been used or recycled by the processor 110 . If the processor 110 needs to use the instruction or data again, it can be called directly from the memory. Repeated accesses are avoided and the latency of the processor 110 is reduced, thereby increasing the efficiency of the system.
  • the wireless communication function of the mobile phone 11 can be realized by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modulation and demodulation processor, the baseband processor, and the like.
  • the mobile communication module 150 can provide wireless communication solutions including 2G/3G/4G/5G etc. applied on the mobile phone 11 .
  • the wireless communication module 160 can provide applications on the mobile phone 11 including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field communication technology (near field communication, NFC), infrared technology (infrared, IR) and other wireless communication solutions.
  • WLAN wireless local area networks
  • Wi-Fi wireless fidelity
  • BT wireless fidelity
  • GNSS global navigation satellite system
  • frequency modulation frequency modulation
  • FM near field communication technology
  • NFC near field communication technology
  • infrared technology infrared, IR
  • the antenna 1 of the mobile phone 11 is coupled with the mobile communication module 150, and the antenna 2 is coupled with the wireless communication module 160, so that the mobile phone 11 can communicate with the network and other devices through wireless communication technology.
  • the mobile phone 11 can establish a communication connection with the AP router 10 through the wireless communication module 160 .
  • the mobile phone 11 realizes the display function through the GPU, the display screen 194, and the application processor.
  • the GPU is a microprocessor for image processing, and is connected to the display screen 194 and the application processor.
  • the GPU is used to perform mathematical and geometric calculations for graphics rendering.
  • Processor 110 may include one or more GPUs that execute program instructions to generate or alter display information.
  • Display screen 194 is used to display images, videos, and the like. Display screen 194 includes a display panel. In some embodiments, the cell phone 11 may include one or N display screens 194 , where N is a positive integer greater than one.
  • the mobile phone 11 can display the patch push message received by the mobile phone 11 and the patch description information and other information through the display screen 194 .
  • the Internal memory 121 may be used to store computer executable program code, which includes instructions.
  • the internal memory 121 may include a storage program area and a storage data area.
  • the storage program area can store an operating system, an application program required for at least one function (such as a sound playback function, an image playback function, etc.), and the like.
  • the storage data area can store data (such as audio data, phone book, etc.) created during the use of the mobile phone 11 and the like.
  • the internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, universal flash storage (UFS), and the like.
  • the processor 110 executes various functional applications and data processing of the mobile phone 11 by executing the instructions stored in the internal memory 121 and/or the instructions stored in the memory provided in the processor. For example, the mobile phone 11 sends a patch query request and a patch acquisition request to the patch server 100 to obtain the multiplexed patch package, and the mobile phone 11 installs the patch file and sends the patch file required by other devices to other devices, etc. .
  • the patch multiplexing method provided by the present application may be applied to the system shown in FIG. 4 .
  • the server side of the system includes a patch server 100, and the patch server 100 stores several patch packages.
  • the device side of the system is the device side corresponding to the aforementioned home local area network 200, and the device side includes the AP router 10, and the mobile phone 11, mobile phone 16, mobile phone 17, mobile phone 18, tablet computer 13 and Tablet 19.
  • Mobile phone 11, mobile phone 16, mobile phone 17, mobile phone 18, tablet computer 13 and tablet computer 19 need to query the patch, then mobile phone 11, mobile phone 16, mobile phone 17, mobile phone 18, tablet computer 13 and tablet computer 19
  • the patched device is used, and the mobile phone 11 is used as the multiplexed patch download device.
  • the process of querying, downloading and installing patches on the mobile phone 11 , the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 and the tablet computer 19 includes the following steps:
  • the patch query request includes the multiplexed patch matching information corresponding to the mobile phone 11 , the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 , and the tablet computer 19 .
  • the process for the mobile phone 11 to determine the multiplexing patch matching information includes: after receiving the patch query instruction from the user, the mobile phone 11 sends a patch matching information acquisition request to the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 , and the tablet computer 19 respectively to obtain the patch matching information.
  • the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 and the tablet computer 19 receive the patch matching information acquisition request sent by the mobile phone 11 , they send their patch matching information to the mobile phone 11 .
  • the mobile phone 11 obtains the patch matching information of the mobile phone 16, the mobile phone 17, the mobile phone 18, the tablet computer 13 and the tablet computer 19, according to the patch matching information of the mobile phone 16, the mobile phone 17, the mobile phone 18, the tablet computer 13 and the tablet computer 19, and the mobile phone 11
  • the patch matching information determines the multiplexing patch matching information.
  • the patch matching information of each device includes the product category, version number, and patch type of the device, where the product category may be, for example, productxx, the version number may be, for example, versionxx, and the patch type may be, for example, patchtype. Patch types can be used to characterize a device's ability to reuse patches.
  • the version number versionxx can make the patch matching information unique.
  • the patch is distinguished by the version number, so that the patch package determined according to the patch matching information can be uniquely determined.
  • versionxx may also include productxx information at the same time, to ensure that the patch matching information after the combination of product type and version number is unique, so that the patch package determined according to the patch matching information can be uniquely determined.
  • the patch matching information of the mobile phone 11 and the mobile phone 16 is productA+Version00; apkpatch.
  • the patch matching information of mobile phone 17 and mobile phone 18 is: productA+Version01; apkpatch.
  • Patch matching information for tablet PC 13 and tablet PC 19 is: productB+Version00; apkpatch.
  • the mobile phone 11 takes the union of the patch matching information as the multiplexing patch matching information, and can determine that the multiplexing patch matching information is: productA+Version00; productA+Version01; productB+Version00; apkpatch.
  • the mobile phone 11 After determining the multiplexed patch matching information, the mobile phone 11 sends a patch query request including the multiplexed patch matching information to the patch server 100 .
  • the patch server 100 on the server side After receiving the patch query request, the patch server 100 on the server side generates a multiplexed patch package according to the multiplexed patch matching information in the patch query request.
  • the patch server 100 generates a multiplexed patch package according to the multiplexed patch matching information in the patch query request.
  • the patch server 100 restores the patch matching information according to the multiplexed patch matching information in the patch query request, and the obtained patch matching information includes "productA”. +Version00;apkpatch", "productA+Version01;apkpatch” and "productB+Version00;apkpatch”.
  • the patch server 100 selects a patch package that matches each patch matching information from a plurality of patch packages that have been configured by the patch server 100 .
  • the patch server 100 has configured patch packages including patch package 1 and patch package 2 of the patch type nativepatch, and patch package 1, patch package 2 and patch package 3 of the patch type apkpatch.
  • the patch server 100 determines that the patch package matching the patch matching information "productA+Version00;apkpatch” is the patch package 2 with the patch type apkpatch, and the patch package matching the patch matching information "productA+Version01;apkpatch” is the patch type apkpatch
  • the patch package 3 that matches the patch matching information "productB+Version00; apkpatch” is the patch package 1 whose patch type is apkpatch.
  • the patch server 100 stores patch package 1, patch package 2 and patch package 3 whose patch type is apkpatch respectively includes corresponding patch file 1, patch file 2 and patch file 3, and signs each patch file.
  • Protected patch signature information The patch signature information of each patch package is the same.
  • the patch server 100 performs differential grouping according to the patch package 1, the patch package 2, and the patch package 3 to generate the multiplexed patch package.
  • the patch server 100 obtains the patch files that can be shared (or can also be reusable) in the patch package 1, patch package 2 and patch package 3 as a public part (also called a public package), and treat the patch files that cannot be shared.
  • the part of the package is packaged as a delta part (which can also be a delta package).
  • the common part and the difference part are formed into a complete multiplexing file, and then the multiplexing file is signed and protected to obtain a multiplexing patch package.
  • the common part of the patch files of the patch package 1, the patch package 2 and the patch package 3 is the patch file 1 of the patch package 1, and the patch file 1 of the patch package 1 can be used as the common part.
  • the uncommon part of patch file 2 of patch package 2 is used as delta file 2
  • the uncommon part of patch file 3 of patch package 3 is used as delta file 3
  • delta file 2 and delta file 3 are packaged as delta file part.
  • the patch files of the multiplexed patch package include the patch file 1 of the patch package 1, and the difference files of the uncommon parts of the patch package 2 and the patch package 3.
  • the multiplexed patch package further includes patch signature information, and the signature information of the multiplexed patch package is also the same as the patch signature information of the aforementioned patch package 1, patch package 2, and patch package 3.
  • the patch server 100 re-packages the reusable patch packages that need to be downloaded on the device side, and makes full use of the common parts of multiple patch packages.
  • the part is used as the differential part, and the multiplexing patch package including the common part and the differential part is obtained.
  • the size of the multiplexed patch package can be effectively reduced, so as to improve the transmission efficiency of the multiplexed patch package, reduce the occupation of network resources, and also reduce the consumption of the multiplexed patch package on the memory of the mobile phone 11 .
  • the multiplexing patch package may be transmitted in the form of an OAT data packet, and of course, it may also be transmitted in a data packet of other formats.
  • the patch server 100 on the server side delivers the multiplexed patch package to the mobile phone 11 .
  • the patch server 100 delivers the multiplexed patch package to the mobile phone 11 , and after the patch server 100 generates the multiplexed patch package, it directly delivers the multiplexed patch package to the mobile phone 11 .
  • the patch server 100 sends a patch push message to the mobile phone 11 to push the multiplexed patch package.
  • the patch push message includes patch description information of the multiplexed patch package (or may also be referred to as patch introduction or patch update log information). A brief description of the functions, etc.
  • the mobile phone 11 After the mobile phone 11 receives the patch push message, if the mobile phone 11 detects that the user determines to download the multiplexed patch package, the mobile phone 11 sends a patch acquisition request to the patch server 100 to obtain the multiplexed patch package. After receiving the patch acquisition request, the patch server 100 issues the multiplexed patch package to the mobile phone 11 .
  • the mobile phone 11 performs authentication and verification on the multiplexing patch package according to the patch signature information of the multiplexing patch package (or also may be called a security check). After the verification is passed, if it is determined that the multiplexed patch package is a patch that has been re-packaged by the differential package, the mobile phone 11 decompresses the multiplexed patch package to obtain the patch file 1 as the common part, and the differential file 2 and the differential part. Difference file 3.
  • the mobile phone 11 performs patch synthesis according to the patch file 1, the difference file 2, and the difference file 3 to restore the patch file 1 corresponding to the patch package 1, the patch file 2 corresponding to the patch package 2, and the patch file 3 corresponding to the patch package 3, respectively.
  • the mobile phone 11 After obtaining the patch file 2 corresponding to the patch package 2, the mobile phone 11 installs the patch file 2 to complete the patch installation.
  • the mobile phone 11 sends the patch file 2 corresponding to the patch package 2 to the mobile phone 16, and after receiving the patch file 2, the mobile phone 16 installs the patch file 2 to complete the patch installation.
  • the mobile phone 11 may directly send the patch file 2 to the mobile phone 16 according to the patch matching information of the mobile phone 16 . It can also be that the mobile phone 11 sends a patch broadcast message to all online devices in the home local area network 200 to broadcast the patch file 2, and the patch broadcast message can include the patch name and patch function of the aforementioned patch package 2 (or also the patch file 2). Wait for the patch notes. After the mobile phone 16 receives the patch broadcast message, if it is confirmed to download the patch file 2 , the mobile phone 16 sends a patch acquisition request to the mobile phone 11 . After receiving the patch acquisition request, the mobile phone 11 sends the patch file 2 to the mobile phone 16 .
  • the mobile phone 11 sends the patch file 3 corresponding to the patch package 3 to the mobile phone 17 and the mobile phone 18 respectively. After receiving the patch file 3, the mobile phone 17 and the mobile phone 18 install the patch file 3 respectively to complete the patch installation.
  • the mobile phone 11 sends the patch file 1 corresponding to the patch package 1 to the tablet computer 13 and the tablet computer 19 respectively. After receiving the patch file 1, the tablet computer 13 and the tablet computer 19 install the patch file 1 respectively to complete the patch installation.
  • the process of sending the corresponding patch file from the mobile phone 11 to the mobile phone 17 , the mobile phone 18 , the tablet computer 13 and the tablet computer 19 is similar to the process of sending the patch file 2 from the mobile phone 11 to the mobile phone 16 , which is not repeated here.
  • the patch multiplexing method when there are multiple devices on the device side that belong to the same home local area network 200 and need to download and install patches, one of the devices can be used as the multiplexing patch to download the patch from the server side.
  • the server 100 uniformly obtains the patch files required by each device, and then sends the patch file to the corresponding device, so that each device completes the patch installation.
  • the problem of multiple devices downloading patches from the server side is avoided, which can effectively improve the efficiency of patch installation.
  • the mobile phone 11 as the multiplexing patch downloading device obtains the multiplexing patch package, performs authentication verification and restoration on the multiplexing patch package to obtain each patch file, the obtained patch that has been authenticated, verified and decompressed can be directly obtained.
  • the file is sent to each device, so that each device can directly install the patch according to the patch file, without the need for authentication verification and decompression of the patch package, which can also effectively improve the efficiency of patch installation.
  • the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 and the tablet computer 19 are online devices in the home local area network 200 , and the online devices in the home local area network 200 can be considered as needing to perform patch query device, then the mobile phone 11 sends patch matching information acquisition requests to the mobile phone 16, mobile phone 17, mobile phone 18, tablet computer 13 and tablet computer 19 respectively after receiving the patch query instruction from the user, so as to obtain the mobile phone 16, mobile phone 17, Patch matching information for Phone 18, Tablet 13, and Tablet 19. If there are other online devices in the home local area network 200, the mobile phone 11 also sends a request for obtaining patch matching information to the device.
  • the online devices in the home local area network 200 may also send patch query requests to the mobile phone 11 according to respective patch query cycles to send patch matching information.
  • the mobile phone 11 After receiving the patch query request sent by the other device, the mobile phone 11 sends the aforementioned patch query request to the patch server 100 .
  • the mobile phone 11 may directly generate a patch acquisition request including the multiplexed patch matching information according to the received patch matching information of other devices and its own matching information.
  • the mobile phone 11 may also send a patch query request to the patch server 100 according to a preset patch query cycle.
  • the patch query period may be 1 hour, or may be any time such as one day or one week, which can be set as required.
  • the patch query cycle of the online devices in the home area network 200 is longer than that of the usual patch
  • the update cycle ie, the cycle in which the patch server 100 releases patches
  • the online device in the home local area network 200 can also send an online patch query request to the patch server 100 while sending the patch query request to the mobile phone 11 to obtain patch information from the home local area network 200 and the patch server 100 respectively.
  • the online device obtains the patch from the mobile phone 11 .
  • step S102 in this implementation after the patch server 100 receives the patch query request, when generating the multiplexed patch package according to the multiplexed patch matching information in the patch query request, if the patch package 1, patch package 2 and patch package 3 If there is no part that can be used for public use, the patch server 100 can directly form a multiplexed patch package as shown in FIG. 7 according to patch file 1, patch file 2 and patch file 3.
  • the multiplexed patch package includes patch file 1 and patch file 2. and patch file 3, and patch signature information.
  • the process of restoring the patch by the mobile phone 11 according to the multiplexing patch package may be that the mobile phone 11 performs authentication verification on the multiplexing patch package, and the authentication verification passes.
  • the patch file 1, the patch file 2 and the patch file 3 are directly obtained according to the multiplexed patch package.
  • the patch server 100 reuses the patch package according to the process of the mobile phone 11 , the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 and the tablet computer 19 , and the mobile phone 11 reuses the patch package according to the process.
  • the process of obtaining the patches corresponding to the mobile phone 11, the mobile phone 16, the mobile phone 17, the mobile phone 18, the tablet computer 13 and the tablet computer 19, and the aforementioned patch server 100 generates the mobile phone 11, the mobile phone 15, the device 202, the bracelet 101 and the large-screen device 14.
  • the corresponding process of multiplexing the patch package and the process of obtaining the patches corresponding to the mobile phone 11 , the mobile phone 15 , the device 202 , the bracelet 101 and the large-screen device 14 according to the multiplexing patch package are the same for the mobile phone 11 .
  • a display interface as shown in FIG. 8A can be displayed.
  • the mobile phone 11 can obtain the multiplexing patch package according to the preset patch query cycle as described above, or obtain the multiplexing patch package when the mobile phone 11 is in use, as the multiplexing patch downloading device.
  • the display interface shown in FIG. 8A may not be displayed.
  • the mobile phone 11 displays the display interface shown in FIG. 8A .
  • the mobile phone 11 can further display the display interface shown in FIG. 8B , the display interface includes a display interface for the user to select a device that can reuse the patch.
  • the control 11B of the "multiplexed patch device selection” the user can select the device to reuse the patch by clicking the name of each device, or the box before the name.
  • the mobile phone 11 can also automatically determine the device that can reuse the patch according to the device type in the home local area network 200 for user confirmation. For example, as shown in FIG. 8C , after the mobile phone 11 determines the device that can reuse the patch, the “Determine Device Reuse Patch” control 11C is displayed. If the user clicks “Confirm”, the mobile phone 11 determines that the devices that can reuse the patch include the mobile phone 11 , the mobile phone 16 , the mobile phone 17 , the mobile phone 18 , the tablet computer 13 , and the tablet computer 19 , and the mobile phone 11 sends a patch acquisition request to the patch server 100 . In addition, the user can also click the name of each device, or the box before the name to select the device to reuse the patch.
  • the mobile phone 11 After receiving the multiplexed patch package sent by the patch server 100, the mobile phone 11 can display a display interface as shown in FIG. 8D, the display interface includes prompt information 11D "multiplexed patch” and "confirm patch installation and broadcast patch to related devices" Control 11E. If the mobile phone 11 detects the user's trigger operation on the "Confirm patch installation and broadcast patch to related devices" control 11E, the mobile phone 11 obtains the aforementioned patch file 1, patch file 2 and patch file 3 according to the multiplexed patch package. And the mobile phone installs the patch file 2, and broadcasts the patch file 1, the patch file 2 and the patch file 3 to the mobile phone 16, the mobile phone 17, the mobile phone 18, the tablet computer 13 and the tablet computer 19 in the home local area network 200. Of course, the mobile phone 11 can also broadcast the patch file 1 , the patch file 2 and the patch file 3 to other devices in the home local area network 200 .
  • the mobile phone 20 is connected to the AP router 10 as a newly added device, and a communication connection is established with the AP router 10 , that is, the home local area network 200 includes the mobile phone 20 as a newly added device. .
  • the mobile phone 20 may first search the home local area network 200 to search whether there is a patch that the mobile phone 20 needs to download. If the mobile phone 20 searches for the patch to be downloaded from the home local area network 200, the mobile phone 20 downloads the patch to be downloaded from the home local area network 200 for installation. If the mobile phone 20 does not search for the patch that needs to be downloaded from the home local area network 200 , the mobile phone 20 then inquires from the patch server 100 whether there is a patch that needs to be downloaded.
  • the process of querying, downloading and installing patches on the mobile phone 20 may include the following steps:
  • the mobile phone 20 is connected to the AP router 10, that is, after connecting to the home local area network 200, receives a patch query instruction from the user, and plans to initiate a patch search package to search for patches.
  • the mobile phone 20 When the mobile phone 20 receives the patch query instruction, it may be that after the mobile phone 20 is connected to the home local area network 200, the mobile phone 20 displays a display interface including a "search update” control. If the mobile phone 10 detects the user's triggering operation on the "search update” control, the mobile phone 20 receives the patch query instruction.
  • the mobile phone 20 obtains the network identifier of the currently accessed home local area network 200 , and performs trusted network verification to determine whether the home local area network 200 is a trusted network of the mobile phone 20 . If yes, execute S203, if not, execute S207.
  • the establishment of a trusted network can be established by using the AP router 10 as an identifier. After the mobile phone 20 joins the home local area network 200 provided by the AP router 10 for the first time, the mobile phone 20 identifies the current home local area network 200 as trusted, and the network trusted information (for example, can be information network identification) is stored on the AP router 10 and the mobile phone 20. When the mobile phone 20 accesses the home area network 200 provided by the AP router 10 again, the mobile phone 20 obtains the trusted network identifier from the AP router 10 and matches it with the trusted network identifier saved by itself. If the trusted network identifier is consistent, the mobile phone 20 The connected home local area network 200 is considered to be a trusted network, and if the network identifiers are inconsistent, the mobile phone 20 considers the connected home local area network 200 to be an untrusted network.
  • the network trusted information for example, can be information network identification
  • the home area network 200 is a trusted network of the mobile phone 20 , and the mobile phone 20 may also be considered as a network trusted device in the home area network 200 .
  • the efficiency of the mobile phone 20 acquiring patches in the trusted network is better than the efficiency of acquiring patches from the patch server 100 through the WLAN network, and the efficiency of the mobile phone 20 acquiring patches from the patch server 100 through the WLAN network is also better It depends on the efficiency of the mobile phone 20 acquiring the patch from the patch server 100 through the mobile data network.
  • the mobile phone 20 acquires the device type of each device in the home local area network 200 , and determines whether there is a device belonging to the same device type as the mobile phone 20 in the home local area network 200 . If there are devices of the same device type as the mobile phone 20 in the home local area network 200 , for example, the devices of the same device type as the mobile phone 20 are the mobile phone 11 , the mobile phone 16 , the mobile phone 17 and the mobile phone 18 , step S204 is executed. If there is no device belonging to the same device type as the mobile phone 20 in the home local area network 200, step S209 is executed.
  • the mobile phone 20 acquires the device type of each device in the home local area network 200 , and may send the device type acquisition information to each device in the home local area network 200 . After receiving the device type acquisition request sent by the mobile phone 20 , each device sends the device type to the mobile phone 20 . Then, the mobile phone 20 matches its own device type with the acquired device type of each device to determine the devices in the home local area network 200 that belong to the same device type as the mobile phone 20 . For example, if the device type of the mobile phone 20 is prodcutA, the devices of the same device type as the mobile phone 20 include the mobile phone 11 , the mobile phone 16 , the mobile phone 17 , and the mobile phone 18 .
  • the mobile phone 20 obtains the version number of the patch whose product type is prodcutA in the mobile phone 11, the mobile phone 16, the mobile phone 17 and the mobile phone 18 of the same device type, and performs version matching with the version number in the patch matching information of the mobile phone 20 to determine the same device Whether there is a patch that needs to be downloaded for the mobile phone 20 in the type of device. If a patch of the same version number is matched, the mobile phone 20 executes S205. If the patch with the same version number is not matched, the mobile phone 20 executes S209.
  • the patch matching information of the mobile phone 20 can be, for example, productA+Version00; apkpatch, then the mobile phone 20 determines that the mobile phone 11, the mobile phone 16, the mobile phone 17 and the mobile phone 18 are of the same device type as the mobile phone 20, and the mobile phone 11 and the mobile phone 16 have the version numbers and The mobile phone 16 needs to obtain the patch file 2 corresponding to the software version of the patch.
  • the mobile phone 20 determines whether the corresponding patch file 2 has been installed on the same type of device with the same version number patch. If yes, the mobile phone 20 executes S206, and if not, the mobile phone 20 executes S207.
  • the mobile phone 20 obtains the patch file 2 from the same type of device that has installed the patch file 2, and installs the patch file 2.
  • the mobile phone 16 has already installed the patch file 2, it means that the patch file 2 can be successfully installed by the mobile phone 16, and the mobile phone 20 sends a patch acquisition request to the mobile phone 16 to obtain the patch file 2.
  • the mobile phone 11 has already installed the patch file 2
  • the mobile phone 20 sends a patch acquisition request to the mobile phone 11 to acquire the patch file 2 .
  • both the mobile phone 11 and the mobile phone 16 have already installed the patch file 2, the mobile phone 20 can send a patch acquisition request to the mobile phone 11 or the mobile phone 16 as required to obtain the patch file 2, which can be selected as required.
  • the mobile phone 16 can determine whether the mobile phone 16 is in the trusted network, and if it is in the trusted network, the mobile phone 16 displays the patch file 2 of the patch package 2 corresponding to the mobile phone 16 as the file visible
  • the mode is displayed on the home local area network 200, and the patch file 2 is displayed to the package-searching device during the process of the device searching for packages.
  • the mobile phone 20 After the mobile phone 20 initiates a package search, it will first search for devices with the same device attributes in the same network, and the patch file 2 exposed by the mobile phone 16 can be found. It is found that the productxx and versionxx attributes of the patch in the mobile phone 16 are the same as those of the mobile phone 20, then the mobile phone 20 directly Synchronize the patch file 2 of the patch package 2 in the mobile phone 16 and install it. The mobile phone 16 can directly obtain the patch file 2 for patch installation, and does not need to perform authentication verification and decompression of the patch, which can effectively improve the efficiency of patch installation.
  • the process of acquiring the patch file 2 on the mobile phone 16 by the mobile phone 20 includes the following steps:
  • an upper-layer application ie, software
  • an upper-layer application ie, software
  • the patch engine in the mobile phone 20 generates a patch acquisition request according to the action whose search package type is patch, where the patch acquisition request includes patch matching information of an upper-layer application that needs to be updated by the mobile phone 20 . And the mobile phone 20 sends the patch acquisition request to the patch engine in the mobile phone 16 through the home local area network 200 based on short-range communication.
  • the patch engine in the mobile phone 20 determines, according to the patch matching information, that the patch file of the patch corresponding to the patch matching information in the mobile phone 16 is the patch file 2, and the mobile phone 16 uses the patch file 2 in the mobile phone 16 based on the patch file 2.
  • the NFC is sent to the patch engine in the handset 20 .
  • devices belonging to the same trusted network can perform patch multiplexing through patch matching information of other devices in the network. For example, before a device in the home local area network 200 initiates a query to search for a patch, the patch of the same device type and version number in the same device in the home local area network 200 is preferentially synchronized to avoid repeated packet search.
  • the patches can be quickly synchronized to avoid downloading patches from the patch server 100 again.
  • the patch multiplexing method provided by this implementation mode makes full use of newly added devices in the local area network, and can quickly upgrade patches in the network through the feature that some devices are online for a long time, thereby realizing fast patch installation.
  • the mobile phone 20 queries whether the multiplexed patch package in the mobile phone 11 contains the patch that the mobile phone 20 needs to download. If it is included, the mobile phone 20 executes S208, and if not included, the mobile phone 20 executes S209.
  • the mobile phone 20 determines whether the multiplexing patch package in the mobile phone 11 contains the patch that the mobile phone 20 needs to download, and the mobile phone 20 may obtain the multiplexing patch matching information to determine the patch matching information of each patch that can be reused in the multiplexing patch matching information. , and match the patch matching information in the mobile phone 20. If there is the same patch matching information, it is considered that the multiplexed patch package in the mobile phone 11 contains the patch that the mobile phone 20 needs to download. If there is no identical patch matching information, it is considered that The multiplexed patch package in the mobile phone 11 does not contain the patches that the mobile phone 20 needs to download.
  • the mobile phone 20 sends a patch acquisition request to the mobile phone 11, obtains the multiplexed patch package from the mobile phone 11, and according to the process shown in the foregoing step S104, obtains the patch file 2 according to the multiplexed patch package, and installs the patch file 2.
  • the mobile phone 20 sends the patch acquisition request to the mobile phone 11 as follows: the mobile phone 20 initiates a package search action of productA+Version00+apkpatch, and the mobile phone 20 converts the search package of apkpatch to the search package of update.zip according to productA+Version00+apkpatch, then the patch query The request can be productA+Version00+update.zip.
  • the type of the patch corresponding to Apkpatch is the apk data package, and the type of the patch corresponding to update.zip is the OAT data package. Then the mobile phone 20 can obtain the multiplexing patch package whose data package type is OAT type.
  • the mobile phone 20 After the mobile phone 20 obtains the multiplexed patch package, it needs to go through authentication, verification and decompression to obtain the patch file 2 corresponding to the patch package 2 required by the mobile phone 20 , and then install the patch file 2 on the mobile phone 20 .
  • the mobile phone 11 can determine whether the mobile phone 11 is in the trusted network.
  • the file 2 and the patch file 3 are displayed on the home local area network 200 in a visible manner, and the patch file 1, the patch file 2, and the patch file 3 are displayed to the package searching device during the process of other devices in the home local area network 200 searching for packages. .
  • the newly added device in the home local area network 200 After the newly added device in the home local area network 200 initiates a package search, it will first search for devices with the same device attributes in the same network. If the patch file exposed by the mobile phone 11 can be found, the newly added device can directly synchronize the patch that needs to be downloaded in the mobile phone 11. file, and install it to improve the efficiency of patch installation.
  • the mobile phone 20 may query and download the patch from the patch server 100 .
  • the process of the mobile phone 20 querying and downloading patches from the patch server 100 includes: the mobile phone 20 sends a patch query request to the patch server 100 .
  • the patch query request includes patch matching information
  • the patch matching information includes the product type of the mobile phone 20 , the version number of the software in the mobile phone 20 that needs to be queried for the patch, and the type of the patch that needs to obtain the patch.
  • the patch matching information can be productxx+Versionxx; apkpatch.
  • the patch server 100 After receiving the patch query request, the patch server 100 authenticates the mobile phone 20 according to the product type of the mobile phone 20 in the patch query request. Then, the patch server 100 passes the authentication of the mobile phone 20 . Then, the patch server 100 determines according to the version number that the patch corresponding to the software of this version includes the patch package 2, and the patch server 100 sends a patch push message for pushing the patch package 2 to the mobile phone 20, and the patch push message includes the name of the patch package 2, the patch package 2 A brief description of the implemented functions, etc.
  • the mobile phone 20 After the mobile phone 20 receives the patch push message, if it is detected that the user confirms the operation of downloading the patch package 2 , the mobile phone 20 sends a patch acquisition request for downloading the patch package 2 to the patch server 100 .
  • the patch server 100 delivers the patch package 2 to the mobile phone 20 according to the patch acquisition request.
  • the patch package 2 includes the patch file 2 and patch signature information for performing security processing on the patch file 2, and the patch signature information is a package related to the security of the patch.
  • the mobile phone 20 may no longer perform the patch query operation, or the mobile phone 20 may perform a patch query operation at a preset time interval (for example, 0.5h, 1h, etc.), and then perform the aforementioned step S201.
  • a preset time interval for example, 0.5h, 1h, etc.
  • the mobile phone 20 determines whether the multiplexed patch package in the mobile phone 11 contains the patch that the mobile phone 20 needs to download. In another implementation manner of the present application, the mobile phone 11 may also determine whether the multiplexed patch package contains the patch that the mobile phone 20 needs to download. The determination process may be that the mobile phone 20 sends a patch query request to the mobile phone 11 , and the patch query request includes the patch matching information of the mobile phone 20 .
  • the mobile phone 11 determines that the multiplexed patch matching information includes the patch matching information of the mobile phone 20 according to the patch matching request sent by the mobile phone 20 , it can be considered that the multiplexed patch package contains the patch corresponding to the mobile phone 20 , and the mobile phone 11 sends the multiplexed patch package to the mobile phone 20 .
  • the mobile phone 20 receives the multiplexed patch package, and obtains and installs a patch file corresponding to the mobile phone 20 according to the multiplexed patch package.
  • the mobile phone 20 is connected to the AP router 10 as a newly added device. If the mobile phone 20 needs to query, download and install patches, the mobile phone 20 can search the home local area network 200 to search for patches that the mobile phone 20 needs to download, and at the same time query the patch server 100 whether there are patches that the mobile phone 20 needs to download. If the mobile phone 20 determines that there are patches that the mobile phone 20 needs to download both in the home local area network 200 and on the patch server 100, the mobile phone 20 can select a newer patch (that is, the patch is released later, or the patch function is more complete, or the patch version higher) to download and install. For example, if the patch existing in the home area network 200 is relatively new, the mobile phone 20 downloads the patch from the home area network 200 . If the patch that exists in the patch server 100 is newer, the mobile phone 20 downloads the patch from the patch server 100 .
  • a newer patch that is, the patch is released later, or the patch function is more complete, or the patch version higher
  • the home local area network 200 can provide a credible patch source for the devices in the home local area network 200 .
  • the new device can search the home local area network 200 to see if there is a patch that needs to be downloaded for the new device, and if so, the new device can directly obtain the patch to be downloaded from the system , without the need to download from the patch server 100 again.
  • the devices outside the trusted network can perform patch multiplexing on the patches of the devices within the trusted network to implement patch installation.
  • the trusted patch source package ie the patch file
  • the original multiplexed patch package can be passed through the trusted patch
  • the channel is distributed to the newly added device, which facilitates quick repair of patches for untrusted devices in the home local area network 200 .
  • the "search and update” control displayed on the mobile phone 20 may be the “search and update” control 20A shown in FIG. 10A . If the mobile phone 20 detects the user's click operation on the “software update” control of a certain application software under the “settings” control, the interface shown in FIG. 10A can be displayed.
  • the mobile phone 20 detects the user's click operation on the "search for update" control 20A, the mobile phone 20 performs a patch search to search for whether there is a patch to be installed.
  • the mobile phone 20 searches for the patch file 2 to be installed from the network home area network 200 (such as the mobile phone 11, the mobile phone 16, and the mobile phone 17), the mobile phone 20 can display the display interface shown in FIG. 10B, and the display interface includes the searched patch file 2
  • the name and other information 20B, the prompt information 20C "update within the network", and the source device information 20D of the patch file 2 that is, it shows that the devices that can obtain the new version of the patch include the mobile phone 11, the mobile phone 16 and the mobile phone 17.
  • the mobile phone 20 can determine the device for acquiring the patch according to the user's click operation on the boxes behind the names of the mobile phone 11 , the mobile phone 16 and the mobile phone 17 . For example, the mobile phone 20 detects the user's click operation on the box behind the name of the mobile phone 11 , and the mobile phone 20 acquires the patch file 2 from the mobile phone 11 when performing the patch acquisition operation.
  • the mobile phone 20 may also display a “confirm update” control 20E. If the mobile phone 20 detects a user’s click operation on the “confirm update” control 20E, the mobile phone 20 obtains and installs the patch file 2 from the mobile phone 11 .
  • the source device information 20D may include the mobile phone 11 , the mobile phone 16 , and the mobile phone 17 , which can obtain patches, and the patch server 100 , which can obtain patches in the network home area network 200 . If the mobile phone 20 detects that the user clicks the box behind the name of the patch server 100 , the mobile phone 20 acquires the patch package 2 from the patch server 100 when performing the patch acquisition operation.
  • the mobile phone 20 obtains the device type of each device in the home local area network 200, and when it is determined that the home local area network 200 and the mobile phone 20 belong to the same device type, if the device in the home local area network 200 and the mobile phone 20 are of the same type Including mobile phone 11, mobile phone 16 and mobile phone 17. Then for the aforementioned step S204, the mobile phone 20 obtains the version information of the patch whose product type of the same device type is prodcutA to perform version matching. information for version matching. Then for the aforementioned step S205, the mobile phone 20 determines whether the same type of device with the same version number patch has installed the corresponding patch, which may be the mobile phone 20 to determine whether the device that has been successfully matched has been installed.
  • the identification information is prodcutA+Version00, and the patch type is apkpatch.
  • patch that is, whether patch package 2 has been installed. If so, the mobile phone 20 executes step S206, and step S206 may be that the mobile phone 20 obtains the patch file 2 of the patch package 2 from the device on which the patch has been installed. If there are multiple devices on which patches have been installed, the mobile phone 20 can obtain the patch file 2 of the patch package 2 from any device on which the patch package 2 has been installed.
  • the AP router 10 can be used as a multiplexing patch download device, and the devices in the home local area network 200 send a patch download request to the AP router 10 when the patch needs to be downloaded. After receiving the patch download request, the AP router 10 generates the aforementioned patch acquisition request and sends it to the patch server 100 to acquire the multiplexed patch package. And according to the multiplexing patch package, the patches required by each device are obtained and sent to each device.
  • the mobile phone 11 may also generate patch multiplexing information according to patch matching information of all online devices on the device side, or generate patch multiplexing information according to patch matching information of devices of the same device type on the device side, or The patch multiplexing information is generated according to the patch matching information of other devices that meet the preset conditions.
  • the aforementioned system provided by the present application can be considered as a full-scene smart living system corresponding to a home scene, and the AP router 10 provides network services for each device in the system.
  • the mobile phone 11 serves as the main entrance of the entire system, and the PC12, tablet computer 13, large-screen devices 14, wristbands 101, watches 102, headphones 103 and other wearable devices are the auxiliary entrances.
  • the configuration of other IoT devices such as home appliances can cover multiple a scene.
  • the mobile phone 11 can obtain the patches that each device in the system needs to download from the patch server 100 , and other devices can obtain the required patches from the mobile phone 11 , without the need for other devices from the patch server 100 .
  • the patch server 100 obtains the respective required patches. This avoids the problem that the patch of the patch server 100 is downloaded multiple times by the device on the device side, and at the same time, the patch installation efficiency in the system can be improved.
  • the aforementioned short-range communication may refer to communication methods such as Wi-Fi, Bluetooth, and mobile hotspot, and may also refer to other communication methods.
  • FIG. 11 is a schematic structural diagram of an electronic device 900 provided according to an embodiment of the present application.
  • Electronic device 900 may include one or more processors 901 coupled to controller hub 904 .
  • the controller hub 904 communicates with the processor 901 via a multidrop bus such as a front side bus (FSB), a point-to-point interface such as a Quick Path Interconnect (QPI), or a similar connection.
  • FSB front side bus
  • QPI Quick Path Interconnect
  • Processor 901 executes instructions that control general types of data processing operations.
  • the controller hub 904 includes, but is not limited to, a graphics memory controller hub (GMCH) (not shown) and an input/output hub (IOH) (which may be on separate chips) (not shown), wherein the GMCH includes a memory and a graphics controller and is coupled to the IOH.
  • GMCH graphics memory controller hub
  • IOH input/output hub
  • Electronic device 900 may also include a coprocessor 906 and memory 902 coupled to controller hub 904 .
  • memory 902 and GMCH may be integrated within processor 901 (as described in this application), with memory 902 and co-processor 906 coupled directly to processor 901 and controller hub 904, controlling The device hub 904 is in a single chip with the IOH.
  • Memory 902 may be, for example, dynamic random access memory (DRAM), phase change memory (PCM), or a combination of the two.
  • DRAM dynamic random access memory
  • PCM phase change memory
  • coprocessor 906 is a special purpose processor, such as, for example, a high throughput MIC processor, network or communication processor, compression engine, graphics processor, GPGPU, or embedded processor, among others. Optional properties of the coprocessor 906 are shown in Figure 11 with dashed lines.
  • the electronic device 900 may further include a network interface (NIC) 903 .
  • Network interface 903 may include a transceiver for providing a radio interface for electronic device 900 to communicate with any other suitable device (eg, front-end modules, antennas, etc.).
  • network interface 903 may be integrated with other components of electronic device 900 .
  • the network interface 903 can realize the function of the communication unit in the above-mentioned embodiment.
  • Electronic device 900 may further include input/output (I/O) device 905 .
  • Input/output (I/O) device 905 may include: a user interface designed to enable a user to interact with electronic device 900; a peripheral component interface designed to enable peripheral components to also interact with electronic device 900; and/or a sensor designed to interact with electronic device 900. for determining environmental conditions and/or location information associated with the electronic device 900 .
  • Figure 11 is exemplary only. That is, although FIG. 11 shows that the electronic device 900 includes multiple devices such as the processor 901, the controller center 904, the memory 902, etc., in practical applications, the device using each method of the present application may only include the electronic device 900 Some of the devices, for example, may include only the processor 901 and the NIC 903 . The properties of the optional device in Figure 11 are shown in dashed lines.
  • One or more tangible, non-transitory computer-readable media for storing data and/or instructions may be included in the memory of the electronic device 900 .
  • the computer-readable storage medium stores instructions, in particular temporary and permanent copies of the instructions.
  • the electronic device 900 may specifically be the aforementioned terminal device such as a mobile phone, a tablet computer, a personal digital assistant (Personal Digital Assistant, PDA) or a desktop computer.
  • the instructions stored in the memory of the electronic device may include instructions that, when executed by at least one unit in the processor, cause the electronic device to implement the patch multiplexing method as mentioned above.
  • FIG. 12 is a schematic structural diagram of a SoC (System on Chip, system on chip) 1000 provided according to an embodiment of the present application.
  • SoC System on Chip, system on chip
  • similar components have the same reference numerals.
  • the dotted box is an optional feature of the more advanced SoC 1000.
  • the SoC 1000 can be used in any electronic device according to the present application, and can implement corresponding functions according to different devices and different instructions stored therein.
  • SoC 1000 includes: interconnect unit 1002 coupled to processor 1001 ; system proxy unit 1006 ; bus controller unit 1005 ; integrated memory controller unit 1003 ; , which may include integrated graphics logic, image processor, audio processor, and video processor; SRAM (Static Random Access Memory) unit 1008 ; DMA (Direct Memory Access) unit 1004 .
  • the coprocessor 1007 includes a special purpose processor, such as, for example, a network or communications processor, a compression engine, a GPGPU, a high throughput MIC processor, an embedded processor, or the like.
  • One or more computer-readable media for storing data and/or instructions may be included in the SRAM cell 1008 .
  • the computer-readable storage medium may have instructions stored thereon, in particular, temporary and permanent copies of the instructions.
  • the instructions may include instructions that, when executed by at least one unit in the processor, cause the electronic device to implement the patch multiplexing method as mentioned above.
  • Embodiments of the mechanism disclosed in this application may be implemented in software, hardware, firmware, or a combination of these implementation methods.
  • Embodiments of the present application may be implemented as a computer program or program code executing on a programmable system including at least one processor, memory (or storage system, including volatile and nonvolatile memory and/or storage unit).

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种补丁复用方法,应用于包括多个设备和补丁服务器的***,补丁服务器用于为多个设备提供补丁,多个设备位于同一局域网络内,并且多个设备至少包括第一电子设备和第二电子设备,该方法包括:第一电子设备向补丁服务器发送包括复用补丁匹配信息的第一补丁查询请求,复用补丁匹配信息包括第一电子设备的第一补丁匹配信息,以及第二电子设备的第二补丁匹配信息。补丁服务器根据复用补丁匹配信息向第一电子设备发送包括各设备所需补丁文件的复用补丁包。使得第一电子设备可以从补丁服务器统一获取各设备需要的补丁文件,可以避免各设备分别从补丁服务器下载补丁包,提高了补丁的安装效率。本申请还公开了一种补丁复用***及电子设备。

Description

一种补丁复用方法、***及电子设备
本申请要求于2020年09月30日提交中国专利局、申请号为202011064590.6、申请名称为“一种补丁复用方法、***及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,特别涉及一种补丁复用方法、***及电子设备。
背景技术
软件补丁(以下简称补丁),是针对于一些软件,在使用过程中暴露的问题而发布的修补漏洞的小程序。例如软件开发者在开发软件的时候,由于考虑不周或软件程序功能的不完善,在软件发行后,会暴露出一些问题。为解决这些问题,软件开发者通常会通过对原程序进行修改或加入新的功能等处理形成补丁,并发布补丁,以供用户设备下载补丁进行补丁更新或软件升级。
当前,设备可以从补丁服务器搜索及下载自己所需的补丁,并完成补丁的安装。当需要下载补丁的设备的数量较大时,多个设备分别从补丁服务器下载补丁。补丁服务器向多个设备分别下发补丁,存在补丁从补丁服务器被多次下载及多设备补丁安装效率低的问题。
发明内容
本申请提供了一种补丁复用方法、***及电子设备,可以避免补丁从补丁服务器被多次下载的问题,以及可以实现多设备快速地安装补丁,提高补丁安装效率。
为解决上述技术问题,第一方面,本申请的实施方式提供了一种补丁复用方法,应用于包括多个设备和补丁服务器的***,补丁服务器用于为多个设备提供补丁,多个设备位于同一局域网络内,并且多个设备至少包括第一电子设备和第二电子设备,该方法包括:第一电子设备向补丁服务器发送第一补丁查询请求,第一补丁查询请求包括复用补丁匹配信息,复用补丁匹配信息包括第一电子设备的第一补丁匹配信息,以及第二电子设备的第二补丁匹配信息,各补丁匹配信息用于匹配对应的补丁文件;补丁服务器根据第一补丁查询请求生成复用补丁包,并将复用补丁包发送给第一电子设备,复用补丁包包括第一补丁匹配信息对应的第一补丁文件和第二补丁匹配信息对应的第二补丁文件;第一电子设备接收复用补丁包,并提取出用于在第一电子设备安装的第一补丁文件和用于在第二电子设备安装的第二补丁文件;第二电子设备从第一电子设备获取第二补丁文件。
即当同一局域网络内存在多个设备需要下载补丁时,第一电子设备可以作为该局域网络内的复用补丁下载设备,从补丁服务器统一获取局域网络内的第一电子设备、第二电子设备需要的补丁文件,第一电子设备再将获取的补丁文件发送给对应的设备。可以避免同一局域网络内需要下载补丁的设备分别从补丁服务器下载补丁包,可以提高补丁的下载及安装效率。
上述第一方面的一种可能的实现中,补丁服务器根据第一补丁查询请求生成复用补丁包,包括:补丁服务器确定第一补丁匹配信息对应的第一补丁文件,以及确定第二补丁匹配信息对应的第二补丁文件;补丁服务器将第一补丁文件和第二补丁文件中相同的部分作为公用部分,将第一补丁文件和第二补丁文件中不相同的部分作为差量部分,将公用部分和差量部分作为复用补丁包。
补丁服务器在生成复用补丁包时,对各设备需要下载的可复用的补丁包进行重新差量组包,充分利用多个补丁包中的共同部分,作为公用部分,将不可公用的部分作为差量部分,得到包括公用部分和差 量部分的复用补丁包。可以有效地降低复用补丁包的大小,以提高复用补丁包的传输效率,以及减少对网络资源的占用,另外还可以减小复用补丁包对第一电子设备的内存的消耗。
上述第一方面的一种可能的实现中,第一电子设备接收复用补丁包之后,还包括:第一电子设备解压复用补丁包得到公用补丁和差量补丁;第一电子设备根据公用补丁和差量补丁进行补丁还原合成处理分别得到第一补丁文件和第二补丁文件。即可以方便地得到各设备所需的补丁文件。
上述第一方面的一种可能的实现中,补丁服务器根据第一补丁查询请求生成复用补丁包之后,还包括:补丁服务器向第一电子设备发送推送复用补丁包的补丁推送消息;第一电子设备在接收到补丁推送消息之后,若检测到用户确认下载复用补丁包的操作,第一电子设备向补丁服务器发送第一补丁获取请求;补丁服务器在接收到第一补丁获取请求后,将复用补丁包发送给第一电子设备。
上述第一方面的一种可能的实现中,第一电子设备和第二电子设备为同属于局域网络的网络可信设备。可以有效地提高第一电子设备和第二电子设备之间进行补丁复用的安全性。
上述第一方面的一种可能的实现中,第一电子设备向补丁服务器发送第一补丁查询请求包括:第二电子设备向第一电子设备发送第二补丁查询请求,第二补丁查询请求包括第二电子设备的第二补丁匹配信息;第一电子设备接收到第二补丁查询请求后,向补丁服务器发送第一补丁查询请求;或者第一电子设备根据预设的补丁查询周期向补丁服务器发送第一补丁查询请求;或者第一电子设备在接收到用户的补丁查询指令后,向补丁服务器发送第一补丁查询请求。
上述第一方面的一种可能的实现中,各补丁匹配信息包括设备种类信息、设备软件版本信息和获取补丁的补丁类型信息。
上述第一方面的一种可能的实现中,前述的多个设备还包括第三电子设备,该方法还包括:第三电子设备获取局域网络的网络标识,若根据网络标识确定第三电子设备所处的局域网络为可信网络,第三电子设备获取局域网络中与第三电子设备的设备种类相同的第二电子设备的第二补丁匹配信息;若第三电子设备确定第二补丁匹配信息与第三电子设备的第三补丁匹配信息相同,则第三电子设备从第二电子设备获取第二补丁文件。
第二电子设备可以为局域网络内的其他设备提供可信的补丁源。当局域网络内存在新增的可信设备时,新增设备可以在局域网络内中搜索是否存在新增设备需要下载的补丁,如果存在,则新增设备可以直接从局域网络的第二电子设备内获取需要下载的补丁,而不需要再从补丁服务器进行下载。
上述第一方面的一种可能的实现中,第三电子设备确定局域网络为可信网络,包括:若第三电子设备中的可信网络标识包括第三电子设备获取的局域网络的网络标识,第三电子设备确定局域网络为可信网络。
上述第一方面的一种可能的实现中,方法还包括:若第三电子设备确定第二电子设备已安装第二补丁文件,第三电子设备从第二电子设备获取第二补丁文件。即若第二电子设备已安装第二补丁文件,说明第二电子设备已经对第二补丁文件进行了安装校验,可以有效地提高第三电子设备安装第二补丁文件的成功率。
上述第一方面的一种可能的实现中,前述多个设备还包括第三电子设备,该方法还包括:第三电子设备获取局域网络的网络标识,若根据网络标识确定第三电子设备所处的局域网络为不可信网络,则第三电子设备向第一电子设备发送第三补丁查询请求,第三补丁查询请求包括第三电子设备的第三补丁匹配信息;若第一电子设备根据第三补丁匹配请求确定复用补丁包包含第三电子设备对应的补丁文件,第一电子设备向第三电子设备发送复用补丁包;第三电子设备接收复用补丁包,并提取出用于在第三电子 设备安装的补丁文件。
上述第一方面的一种可能的实现中,前述多个设备还包括第三电子设备,该方法还包括:第三电子设备获取局域网络的网络标识,若根据网络标识确定第三电子设备所处的局域网络为不可信网络,则第三电子设备向第一电子设备发送复用补丁匹配信息获取请求,以获取复用补丁匹配信息;若第三电子设备根据复用补丁匹配信息确定复用补丁匹配信息包含第三电子设备对应的第三补丁匹配信息,第三电子设备向第一电子设备发送复用补丁获取请求;第一电子设备根据复用补丁获取请求向第三电子设备发送复用补丁包;第三电子设备接收复用补丁包,并提取出用于在第三电子设备安装的补丁文件。
第一电子设备可以为局域网络内的其他设备提供可信的补丁源。当局域网络内存在新增的网络不可信设备时,新增设备可以在局域网络内中搜索是否存在新增设备需要下载的补丁,如果存在,则新增设备可以直接从局域网络的第一电子设备获取原始的复用补丁包,有利于局域网络中的不可信设备的补丁快速修复。
第二方面,本申请的实施方式提供了一种补丁复用方法,应用于第一电子设备,该方法包括:向补丁服务器发送第一补丁查询请求,第一补丁查询请求包括复用补丁匹配信息,复用补丁匹配信息包括第一电子设备的第一补丁匹配信息,以及与第一电子设备同属于同一局域网络的第二电子设备的第二补丁匹配信息,各补丁匹配信息用于匹配对应的补丁文件;接收补丁服务器发送来的根据第一补丁查询请求生成的复用补丁包,复用补丁包包括第一补丁匹配信息对应的第一补丁文件和第二补丁匹配信息对应的第二补丁文件;从复用补丁包中提取出用于在第一电子设备安装的第一补丁文件和用于在第二电子设备安装的第二补丁文件,并向第二电子设备发送第二补丁文件。
即当同一局域网络内存在多个设备需要下载补丁时,第一电子设备可以作为该局域网络内的复用补丁下载设备,从补丁服务器统一获取局域网络内的第一电子设备、第二电子设备需要的补丁文件。可以避免同一局域网络内需要下载补丁的设备分别从补丁服务器下载补丁包,可以提高补丁的下载及安装效率。
在上述第二方面的一种可能的实现中,第一电子设备接收复用补丁包之后,还包括:第一电子设备解压复用补丁包得到公用补丁和差量补丁;第一电子设备根据公用补丁和差量补丁进行补丁还原合成处理分别得到第一补丁文件和第二补丁文件。
在上述第二方面的一种可能的实现中,第一电子设备和第二电子设备为同属于局域网络的网络可信设备。
在上述第二方面的一种可能的实现中,第一电子设备向补丁服务器发送第一补丁查询请求包括:第二电子设备向第一电子设备发送第二补丁查询请求,第二补丁查询请求包括第二电子设备的第二补丁匹配信息;第一电子设备接收到第二补丁查询请求后,向补丁服务器发送第一补丁查询请求;或者第一电子设备根据预设的补丁查询周期向补丁服务器发送第一补丁查询请求;或者第一电子设备在接收到用户的补丁查询指令后,向补丁服务器发送第一补丁查询请求。在上述第二方面的一种可能的实现中,各补丁匹配信息包括设备种类信息、设备软件版本信息和获取补丁的补丁类型信息。
在上述第二方面的一种可能的实现中,该方法还包括:接收第三电子设备发送来的第三补丁查询请求,第三补丁查询请求包括第三电子设备的第三补丁匹配信息;若第一电子设备根据第三补丁匹配请求确定复用补丁包包含第三电子设备对应的补丁文件,第一电子设备向第三电子设备发送复用补丁包;第三电子设备接收复用补丁包,并提取出用于在第三电子设备安装的补丁文件。第三补丁查询请求为第三电子设备获取局域网络的网络标识,若根据网络标识确定第三电子设备所处的局域网络为不可信网络,确定的补丁查询请求。
第三方面,本申请的实施方式提供了一种补丁复用方法,应用于第二电子设备,该方法包括:向同 属于同一局域网络的第一电子设备发送用于查询补丁的第一补丁查询请求,第一补丁查询请求包括第二电子设备的第二补丁匹配信息;接收第一电子设备发送来的第二补丁文件并安装,第二补丁文件是与第二电子设备的第二补丁匹配信息对应的补丁文件。
即当同一局域网络内存在多个设备需要下载补丁时,第二电子设备可以从第一电子设备获取需要下载的第二补丁文件。可以避免第二电子设备从补丁服务器下载补丁包,可以提高补丁的下载及安装效率。
在上述第三方面的一种可能的实现中,该方法还包括:接收局域网络内的第三电子设备发送来的补丁获取请求,将第二补丁文件发送给第三电子设备。该补丁获取请求为第三电子设备获取局域网络的网络标识,若根据网络标识确定第三电子设备所处的局域网络为可信网络,第三电子设备获取局域网络中与第三电子设备的设备种类相同的第二电子设备的第二补丁匹配信息;若第三电子设备确定第二补丁匹配信息与第三电子设备的第三补丁匹配信息相同,第三电子设备获取第二电子设备中的第二补丁文件。
第四方面,本申请的实施方式提供了一种补丁复用方法,应用于补丁服务器,补丁服务器用于为电子设备提供补丁,方法包括:接收第一电子设备发来的第一补丁查询请求,第一补丁查询请求包括复用补丁匹配信息,复用补丁匹配信息包括第一电子设备的第一补丁匹配信息,以及与第一电子设备同属于同一局域网络的第二电子设备的第二补丁匹配信息;根据第一补丁查询请求生成复用补丁包,并将复用补丁包发送给第一电子设备,以使第一电子设备根据复用补丁包得到第一补丁文件和第二补丁文件。
即当同一局域网络内存在多个设备需要下载补丁时,第一电子设备可以作为该局域网络内的复用补丁下载设备,从补丁服务器统一获取局域网络内的第一电子设备、第二电子设备需要的补丁文件。可以避免同一局域网络内需要下载补丁的设备分别从补丁服务器下载补丁包,可以提高补丁的下载及安装效率。
在上述第四方面的一种可能的实现中,补丁服务器根据第一补丁查询请求生成复用补丁包,包括:补丁服务器确定第一补丁匹配信息对应的第一补丁文件,以及确定第二补丁匹配信息对应的第二补丁文件;补丁服务器将第一补丁文件和第二补丁文件中相同的部分作为公用部分,将第一补丁文件和第二补丁文件中不相同的部分作为差量部分,将公用部分和差量部分作为复用补丁包。
在上述第四方面的一种可能的实现中,补丁服务器根据第一补丁查询请求生成复用补丁包之后,还包括:补丁服务器向第一电子设备发送推送复用补丁包的补丁推送消息;补丁服务器在接收到第一电子设备发送来的第一补丁获取请求后,将复用补丁包发送给第一电子设备。第一补丁获取请求为第一电子设备在接收到补丁推送消息之后,若检测到用户确认下载复用补丁包的操作,生成的请求。
第五方面,本申请的实施方式提供了一种补丁复用***,包括多个设备和补丁服务器,补丁服务器用于为多个设备提供补丁,多个设备位于同一局域网络内,并且多个设备至少包括第一电子设备和第二电子设备,其特征在于,第一电子设备用于向补丁服务器发送第一补丁查询请求,第一补丁查询请求包括复用补丁匹配信息,复用补丁匹配信息包括第一电子设备的第一补丁匹配信息,以及第二电子设备的第二补丁匹配信息,各补丁匹配信息用于匹配对应的补丁文件;补丁服务器用于根据第一补丁查询请求生成复用补丁包,并将复用补丁包发送给第一电子设备,复用补丁包包括第一补丁匹配信息对应的第一补丁文件和第二补丁匹配信息对应的第二补丁文件;第一电子设备用于接收复用补丁包,并提取出用于在第一电子设备安装的第一补丁文件和用于在第二电子设备安装的第二补丁文件;第二电子设备用于从第一电子设备获取第二补丁文件。
本申请提供的补丁复用***,包括用于执行上述第一方面和/或第一方面的任意一种可能的实现方式所提供的第一电子设备、第二电子设备和补丁服务器,因此也能实现第一方面提供的补丁复用方法所 具备的有益效果(或优点)。
第六方面,本申请的实施方式提供了一种电子设备,包括:存储器,用于存储计算机程序,计算机程序包括程序指令;控制部件,用于执行程序指令,以使电子设备执行前述的补丁复用方法。
第七方面,本申请的实施方式提供了一种计算机可读取存储介质,计算机可读取存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被计算机运行以使电子设备执行前述的补丁复用方法。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施方式描述中所使用的附图作简单介绍。
图1示出了现有技术中多设备下载及安装补丁的一种应用场景;
图2是根据本申请的一些实施方式,示出了一种多设备下载及安装补丁的应用场景;
图3是根据本申请的一些实施方式,示出了一种手机11的结构示意图;
图4是根据本申请的一些实施方式,示出了一种本申请提供的补丁复用方法的应用场景及多设备下载及安装补丁的流程示意图;
图5是根据本申请的一些实施方式,示出了补丁服务器得到复用补丁包的过程示意图;
图6是根据本申请的一些实施方式,示出了手机11得到复用补丁包后对复用补丁包的一种处理方法流程示意图;
图7是根据本申请的一些实施方式,示出了手机11得到复用补丁包后对复用补丁包的另一种处理方法流程示意图;
图8A-图8D是根据本申请的一些实施方式,示出了一些手机11的显示界面的示意图;
图9A是根据本申请的一些实施方式,示出了另一种本申请提供的补丁复用方法的应用场景;
图9B是根据本申请的一些实施方式,示出了一种新加入家庭局域网络200的手机20下载及安装补丁的流程示意图;
图9C是根据本申请的一些实施方式,示出了一种手机20下载补丁的具体过程示意图;
图10A-图10C是根据本申请的一些实施方式,示出了一些手机20的显示界面的示意图;
图11是根据本申请的一些实施例,示出了一种电子设备的结构示意图;
图12是根据本申请的一些实施例,示出了一种片上***(SoC)的结构示意图。
具体实施方式
下面将结合附图对本申请的技术方案作进一步清楚、完整地描述。
请参见图1,本申请提供一种涉及补丁下载及安装的***,该***包括服务器侧设备和设备侧设备。
其中,服务器侧包括补丁服务器100,补丁服务器100可以是补丁云服务器,因此服务器侧也可以称之为云服务器侧,简称云侧。
不同的软件修复不同的软件问题通常需要不同的补丁;且对于不同种类的设备中的同一软件修复相同的或者类似的软件问题,由于不同种类的设备对补丁的补丁文件和类型等方面的需求存在差异,因此也需要不同的补丁。补丁通常以补丁包的形式进行存储和传输,因此补丁通常也称之为补丁包。因此服务器侧包括通过补丁服务器100存储的补丁包1、补丁包2、补丁包3、补丁包4、补丁包5等数个补丁包。
设备侧包括多个客户端电子设备,因此设备侧也可以称之为客户端侧,简称端侧。
设备侧包括接入点(AccessPoint,AP)路由器10、手机11、个人计算机(Personal Computer,PC)12、平板电脑13、大屏设备14(例如智慧屏、电视等)和手机17。其中,手机11、PC12、平板电 脑13、大屏设备14和手机17分别与AP路由器10建立无线局域网(Wireless Local Area Network,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)通信连接。
设备侧还包括手环101、手表102和耳机103,手环101、手表102和耳机103分别与手机11通过蓝牙(Bluetooth,BT)或者移动热点(Mobile Hotspot)等方式建立通信连接。
设备侧还可以包括设备201、设备202、设备203、设备204、设备205和设备206,其中设备201可以是物联网(Internet of Things,IoT)设备,设备202可以是包括鸿蒙中间件的手机/平板电脑/电视(television,TV)等具有Android***的设备,设备203可以是包括鸿蒙中间件的PC等具有
Figure PCTCN2021118904-appb-000001
Figure PCTCN2021118904-appb-000002
***的设备,设备204可以是包括鸿蒙HiLink软件开发工具包(Software Development Kit,SDK)的智能家电/摄像头/门铃/窗帘等具有LiteOS***的设备,设备205可以是包括鸿蒙HiLink SDK的智能家电/摄像头/门铃/窗帘等具有
Figure PCTCN2021118904-appb-000003
***的设备,设备206可以是包括鸿蒙HiLink SDK的智能家电/摄像头/门铃/窗帘等具有
Figure PCTCN2021118904-appb-000004
***的设备。设备201、设备202、设备203、设备204、设备205和设备206分别与AP路由器10建立无线局域网通信连接。
设备侧包括的上述设备可以认为是家庭场景对应的家庭局域网络200中的设备,家庭局域网络200由AP路由器10为各设备提供无线局域网,家庭局域网络200中的各设备可以基于该无线局域网进行近距离通信。另外,前述设备侧的各设备也可以以以太网数据线的方式与AP路由器10建立通信连接,或者以其他方式与AP路由器10建立通信连接。
另外,设备侧还可以包括手机15,手机15未与AP路由器10建立通信连接,是家庭局域网络200之外的设备。手机15可以是通过手机15的移动数据网络(或者蜂窝网络)进行联网的设备,手机15也可以是与不同于AP路由器10的其他AP路由器建立通信连接的设备。
对于图1所示的***,现有技术中,当设备侧包括多个设备时,进行多设备软件问题的修复(或者也可以称为补丁更新)的过程为,各设备分别从补丁服务器100搜索补丁包(也可以称为补丁搜包,或者可以简称为搜包),下载补丁包,补丁服务器100将各设备对应的补丁包分别下发至对应的设备。各设备安装接收到的补丁包,完成补丁安装。
例如,手机11、设备202和手机15需要分别从补丁服务器100下载相同的补丁包2,存在补丁包2从补丁服务器100被多次下载的问题。另外,平板电脑13需要从补丁服务器100下载补丁包1、手机17需要从补丁服务器100下载补丁包3、手环101需要从补丁服务器100下载补丁包5,大屏设备14需要从补丁服务器100下载补丁包4等。
补丁包通常包括用于进行软件问题修复的补丁文件,以及用于对补丁文件进行安全处理的补丁签名信息。对于不同的补丁包,各补丁包也经常存在补丁包中的补丁文件部分相同的情况,例如补丁包1、补丁包3和补丁包2中的部分补丁文件相同,另外补丁包1、补丁包3和补丁包2的补丁签名信息可以相同。各设备分别下载补丁包1、补丁包2和补丁包3,存在相同的补丁文件部分和补丁签名信息被重复下载的问题,会造成网络资源的浪费。
即现有技术中,设备侧的手机11、平板电脑13、大屏设备14、手机17、手环101、设备202和手机15需要分别从补丁服务器100下载需要的补丁包,存在补丁包从补丁服务器100被多次下载的问题,以及手机11、平板电脑13、大屏设备14、手机17、手环101、设备202和手机15下载并安装补丁的效率低的问题。
本申请提供一种补丁复用方法,可以应用于图1所示的***中的多设备软件修复的场景,且该多设备软件修复场景是一种多设备联合升级补丁的场景。
如图2所示,本申请提供的补丁复用方法的一种实现方式中,当设备侧存在多个设备时,手机11可以作为多个设备中的复用补丁下载设备,向补丁服务器100发送补丁查询请求。补丁查询请求包括复用补丁匹配信息(或者也可以称为复用补丁简介(Profile)),复用补丁匹配信息是手机11根据设备侧需要进行补丁查询的所有设备的补丁匹配信息生成的信息。
各设备中包括需要进行补丁查询的软件,该软件可以是***软件,也可以是应用软件。以软件为应用软件(例如可以是视频通话应用软件)为例,在应用软件需要查询补丁时,应用软件执行补丁查询操作,生成补丁匹配信息。补丁匹配信息为用于补丁服务器100匹配该设备的应用软件对应的补丁包。
不同的应用软件对应的补丁包的补丁文件不同,因此补丁匹配信息可以包括设备中应用软件的版本信息。另外,不同种类的设备对应的补丁包的补丁文件、类型等补丁信息的需求不同,因此补丁匹配信息可以包括设备的产品种类(或者也可以称为产品类型)和设备需要获取补丁的补丁类型。
其中,手机11的产品种类例如可以是手机11的型号(如mate10、P40等),产品种类的格式可以是productxx。应用软件的版本信息可以是版本号,版本号的格式可以是Versionxx。补丁类型可以用于表示手机11可以安装补丁的能力patchtype,则补丁类型的格式可以是apkpatch或者nativepatch等。其中,apkpatch补丁类型主要是指用于更新应用软件的补丁,nativepatch主要只指用于更新***配置软件的补丁。补丁匹配信息则可以是productxx+Versionxx;apkpatch。
另外,手机11的产品种类也可以是其他用于标识手机11的产品标识信息,应用软件的版本信息也可以是其他用于标识应用软件的软件标识信息,其可以根据需要选择。
不同设备针对同一软件问题或者类似软件问题,下载补丁时的补丁匹配信息不同。
例如,设备侧查询补丁的设备包括手机11、平板电脑13、大屏设备14、手机17、手环101、设备202以及手机15,则手机11根据手机11、平板电脑13、大屏设备14、手机17、手环101、设备202以及手机15的补丁匹配信息得到复用补丁匹配信息发送给补丁服务器100。
其中,针对同一软件问题或者类似软件问题,上述不同设备下载软件时的补丁匹配信息如下所示:
手机11的补丁匹配信息为:productA+Version00;apkpatch。
平板电脑13的补丁匹配信息为:productB+Version00;apkpatch。
手机17的补丁匹配信息为:productA+Version01;apkpatch。
大屏设备14的补丁匹配信息为:productC+Version01;apkpatch。
手环101的补丁匹配信息为:productD+Version00;apkpatch。
设备202的补丁匹配信息为:productA+Version00;apkpatch。
手机15的补丁匹配信息为:productA+Version00;apkpatch。
则手机11可以取前述各补丁匹配信息的并集以确定复用补丁匹配信息为:productA+Version00;productA+Version01;productB+Version00;productC+Version01;productD+Version00;apkpatch。
补丁服务器100接收到补丁查询请求后,可以根据补丁查询请求中包括的复用补丁匹配信息,确定是否存在与该复用补丁匹配信息相匹配的补丁包。如果存在,补丁服务器100将所有匹配的补丁包打包作为复用补丁包,复用补丁包包括手机11、平板电脑13、大屏设备14、手机17、手环101、设备202以及手机15所需下载的补丁包的补丁文件,以及对补丁文件进行安全处理的补丁签名信息。
补丁服务器100向手机11发送推送复用补丁包的补丁推送消息,补丁推送消息中包含复用补丁包包括的各补丁包的名称等补丁说明信息。
手机11接收到补丁推送消息后,若检测到用户确认下载复用补丁包的操作,则手机11向补丁服务 器100发送下载复用补丁包的补丁获取请求。补丁服务器100根据补丁获取请求将手机11、平板电脑13、大屏设备14、手机17、手环101、设备202以及手机15所需的补丁包(即复用补丁匹配信息对应的补丁包)作为复用补丁包,并将复用补丁包下发给设备侧的手机11。
手机11接收补丁服务器100发送来的复用补丁包,根据复用补丁包分别得到手机11、平板电脑13、大屏设备14、手机17、手环101、设备202以及手机15所需的补丁包对应的补丁文件,例如得到手环101需要下载的补丁包5对应的补丁文件5,手机11、设备202和手机15需要下载的补丁包2对应的补丁文件2,平板电脑13需要下载的补丁包1对应的补丁文件1,手机17需要下载的补丁包3对应的补丁文件3,以及大屏设备14需要下载的补丁包4对应的补丁文件4。
然后,手机11安装补丁文件2,且手机11将手机15和设备202所需的补丁文件2分别发送给手机15和设备202,将平板电脑13所需的补丁文件1发送给平板电脑13,将手机17所需的补丁文件3发送给手机17,将手环101所需的补丁文件5发送给手环101,以及将大屏设备14所需的补丁文件4发送给大屏设备14。平板电脑13、大屏设备14、手机15、手环101、设备202以及手机15接收到各自对应的补丁文件后,安装补丁文件以实现补丁安装。
对于补丁服务器100生成复用补丁包的过程,以及手机11根据复用补丁包得到各设备对应的补丁文件的过程将在后文进行详细说明。
本申请中,家庭局域网络100中的手机11、平板电脑13、大屏设备14、手机17、手环101、设备202以及其他设备之间进行近距离通信。手机11接收到复用补丁包,并根据复用补丁包得到设备所需的补丁文件后,可以向家庭局域网络100中的其他设备广播手机11获取到的复用补丁包中包括的补丁文件,使得复用补丁包包括的补丁文件在家庭局域网络100中是可见的,即家庭局域网络100中的其他设备可以发现、下载及安装复用补丁包包括的补丁文件。
对于手机15,手机15可以通过手机11分享的移动热点或者蓝牙与手机11建立通信连接。另外,手机15也可以与AP路由器10建立通信连接,手机15即可以与家庭局域网络100内的与AP路由器10建立通信连接的各设备之间进行近距离通信。
本申请提供的补丁复用方法中,当设备侧存在多个设备需要下载补丁时,手机11可以作为与AP路由器10建立通信连接的所有设备以及与手机11建立通信连接的所有设备中的复用补丁下载设备,从补丁服务器100统一获取各设备需要的补丁文件,再将获取的补丁文件发送给对应的设备,可以避免设备侧需要下载补丁的设备分别从补丁服务器100下载补丁包,可以提高补丁的下载及安装效率。
请参见图3,图3示出了作为示例的本申请中的手机11的结构示意图。
手机11可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接头130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对手机11的具体限定。在本申请另一些实施例中,手机11可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的 部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
手机11的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在手机11上的包括2G/3G/4G/5G等无线通信的解决方案。
无线通信模块160可以提供应用在手机11上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
在一些实施例中,手机11的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机11可以通过无线通信技术与网络以及其他设备通信。
例如,手机11可以通过无线通信模块160与AP路由器10建立通信连接。
手机11通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。在一些实施例中,手机11可以包括1个或N个显示屏194,N为大于1的正整数。
手机11可以通过显示屏194显示手机11接收到的补丁推送消息,以及补丁说明信息等信息。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储手机11使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行手机11的各种功能应用以及数据处理。例如,执行手机11向补丁服务器100发送补丁查询请求、补丁获取请求,以获取复用补丁包的操作,以及执行手机11安装补丁文件,以及向其他设备发送其他设备所需的补丁文件的操作等。
本申请对于设备侧的其他设备的结构不做详细说明,其可以是当前常见的各种结构。
本申请的另一种实现方式中,本申请提供的补丁复用方法,可以应用于图4所示的***。该***的 服务器侧包括补丁服务器100,补丁服务器100中存储有数个补丁包。该***的设备侧是前述的家庭局域网络200对应的设备侧,设备侧包括AP路由器10,以及分别与AP路由器10建立通信连接的手机11、手机16、手机17、手机18、平板电脑13和平板电脑19。手机11、手机16、手机17、手机18、平板电脑13和平板电脑19需要查询补丁,则手机11、手机16、手机17、手机18、平板电脑13和平板电脑19可以作为该***中可以复用补丁的设备,且手机11作为复用补丁下载设备。
以下将对手机11、手机16、手机17、手机18、平板电脑13和平板电脑19查询、下载及安装补丁的过程进行详细说明。
请参见图4,手机11、手机16、手机17、手机18、平板电脑13和平板电脑19查询、下载及安装补丁的过程包括以下步骤:
S101,设备侧的手机11、手机16、手机17、手机18、平板电脑13和平板电脑19中分别存在需要进行补丁更新的软件,手机11作为复用补丁下载设备,向补丁服务器100发送补丁查询请求,补丁查询请求包括手机11、手机16、手机17、手机18、平板电脑13和平板电脑19对应的复用补丁匹配信息。
手机11确定复用补丁匹配信息的过程包括,手机11在接收到用户的补丁查询指令后,向手机16、手机17、手机18、平板电脑13和平板电脑19分别发送补丁匹配信息获取请求,以分别获取手机16、手机17、手机18、平板电脑13和平板电脑19的补丁匹配信息。
手机16、手机17、手机18、平板电脑13和平板电脑19接收到手机11发送的补丁匹配信息获取请求后,将各自的补丁匹配信息发送给手机11。
手机11获取到手机16、手机17、手机18、平板电脑13和平板电脑19的补丁匹配信息后,根据手机16、手机17、手机18、平板电脑13和平板电脑19的补丁匹配信息和手机11的补丁匹配信息确定复用补丁匹配信息。
各设备的补丁匹配信息包括设备的产品种类、版本号和补丁类型,其中,产品种类例如可以是productxx,版本号例如可以是versionxx,补丁类型例如可以是patchtype。补丁类型可以用于表征设备可复用补丁的能力。
通常版本号versionxx可以使得该补丁匹配信息是唯一的,在根据补丁匹配信息确定补丁包时,通过版本号进行补丁区分,可以使得根据该补丁匹配信息确定的补丁包是惟一确定的。
另外,在某些场景下,versionxx还可以同时包含productxx信息,以确保产品种类和版本号组合后的该补丁匹配信息是唯一的,可以使得根据该补丁匹配信息确定的补丁包是唯一确定的。
如图4所示,手机11和手机16的补丁匹配信息为productA+Version00;apkpatch。手机17和手机18的补丁匹配信息为:productA+Version01;apkpatch。平板电脑13和平板电脑19的补丁匹配信息为:productB+Version00;apkpatch。
手机11根据各设备的补丁匹配信息,取各补丁匹配信息的并集作为复用补丁匹配信息,则可以确定复用补丁匹配信息为:productA+Version00;productA+Version01;productB+Version00;apkpatch。
手机11确定复用补丁匹配信息后,向补丁服务器100发送包括复用补丁匹配信息的补丁查询请求。
S102,服务器侧的补丁服务器100接收到补丁查询请求后,根据补丁查询请求中的复用补丁匹配信息生成复用补丁包。
补丁服务器100根据补丁查询请求中的复用补丁匹配信息生成复用补丁包包括,补丁服务器100根据补丁查询请求中的复用补丁匹配信息,进行补丁匹配信息还原,得到的补丁匹配信息包括“productA+Version00;apkpatch”、“productA+Version01;apkpatch”和“productB+Version00; apkpatch”。
然后补丁服务器100从补丁服务器100已配置的多个补丁包中选择与各补丁匹配信息匹配的补丁包。如图4所示,补丁服务器100已配置的补丁包包括补丁类型为nativepatch的补丁包1和补丁包2,以及补丁类型为apkpatch的补丁包1、补丁包2和补丁包3。则补丁服务器100确定与补丁匹配信息“productA+Version00;apkpatch”匹配的补丁包为补丁类型为apkpatch的补丁包2,与补丁匹配信息“productA+Version01;apkpatch”匹配的补丁包为补丁类型为apkpatch的补丁包3,与补丁匹配信息“productB+Version00;apkpatch”匹配的补丁包为补丁类型为apkpatch的补丁包1。
如图5所示,补丁服务器100存储的补丁类型为apkpatch的补丁包1、补丁包2和补丁包3分别包括对应的补丁文件1、补丁文件2和补丁文件3,以及对各补丁文件进行签名保护的补丁签名信息,各补丁包的补丁签名信息相同。
如果补丁包1、补丁包2和补丁包3的补丁文件存在相同的部分,则补丁服务器100根据补丁包1、补丁包2和补丁包3进行差量组包以生成复用补丁包可以是,补丁服务器100获取补丁包1,补丁包2和补丁包3三个补丁包中可公用(或者也可以成为可复用)的补丁文件作为公用部分(也可以称为公用包),并将不可公用的部分打包作为差量部分(也可以成为差量包)。将公用部分和差量部分组成一个完整的复用文件,再对该复用文件进行签名保护,得到复用补丁包。
如图5所示,补丁包1、补丁包2和补丁包3的补丁文件中可公用的部分是补丁包1的补丁文件1,则补丁包1的补丁文件1可以作为公用部分。补丁包2的补丁文件2中不可公用的部分作为差量文件2,补丁包3的补丁文件3中不可公用的部分作为差量文件3,将差量文件2和差量文件3打包作为差量部分。复用补丁包的补丁文件包括补丁包1的补丁文件1,以及补丁包2和补丁包3的不可公用部分的差量文件。复用补丁包还包括补丁签名信息,复用补丁包的签名信息也与前述补丁包1、补丁包2和补丁包3的补丁签名信息相同。
本实现方式提供的补丁复用方法,补丁服务器100对设备侧需要下载的可复用的补丁包进行重新差量组包,充分利用多个补丁包中的共同部分,作为公用部分,将不可公用的部分作为差量部分,得到包括公用部分和差量部分的复用补丁包。可以有效地降低复用补丁包的大小,以提高复用补丁包的传输效率,以及减少对网络资源的占用,另外还可以减小复用补丁包对手机11的内存的消耗。
本实现方式中,复用补丁包可以以OAT数据包的形式进行传输,当然,也可以以其他格式的数据包进行传输。
S103,服务器侧的补丁服务器100将复用补丁包下发到手机11。
补丁服务器100将复用补丁包下发到手机11包括,补丁服务器100生成复用补丁包后,直接将复用补丁包下发到手机11。
或者补丁服务器100生成复用补丁包后,补丁服务器100向手机11发送补丁推送消息以推送复用补丁包。补丁推送消息中包含复用补丁包的补丁说明信息(或者也可以称为补丁简介或者补丁更新日志信息),例如该补丁说明信息可以包括补丁包1、补丁包2和补丁包3的名称、实现的功能等内容的简要说明。手机11接收到补丁推送消息后,若手机11检测到用户确定下载复用补丁包的操作,手机11向补丁服务器100发送补丁获取请求以获取复用补丁包。补丁服务器100接收到补丁获取请求后,将复用补丁包下发给手机11。
S104,手机11接收到复用补丁包之后,如图6所示(也可以参见图4),手机11根据复用补丁包的补丁签名信息对该复用补丁包进行鉴权校验(或者也可以称为安全校验)。校验通过之后,若确定复 用补丁包为经过重新差量组包的补丁,手机11对复用补丁包进行解压,得到作为公用部分的补丁文件1,以及作为差分部分的差量文件2和差量文件3。然后手机11根据补丁文件1、差量文件2和差量文件3进行补丁合成分别还原出补丁包1对应的补丁文件1、补丁包2对应的补丁文件2和补丁包3对应的补丁文件3。
继续参见图6,手机11得到补丁包2对应的补丁文件2后,安装补丁文件2,以完成补丁安装。
另外,手机11将补丁包2对应的补丁文件2发送给手机16,手机16接收到补丁文件2之后,安装补丁文件2,以完成补丁安装。
本实现方式中,手机11向手机16发送补丁文件2,可以是手机11直接根据手机16、的补丁匹配信息将补丁文件2发给手机16。也可以是手机11向家庭局域网络200内的所有在线设备发送补丁广播消息以广播补丁文件2,补丁广播消息可以包括前述的补丁包2(或者也可以是补丁文件2)的补丁名称、补丁功能等补丁说明信息。当手机16接收到补丁广播消息后,若确认下载补丁文件2,则手机16向手机11发送补丁获取请求。手机11接收到补丁获取请求后,将补丁文件2发送给手机16。
手机11将补丁包3对应的补丁文件3分别发送给手机17和手机18,手机17和手机18接收到补丁文件3之后,分别安装补丁文件3,以完成补丁安装。
手机11将补丁包1对应的补丁文件1分别发送给平板电脑13和平板电脑19,平板电脑13和平板电脑19接收到补丁文件1之后,分别安装补丁文件1,以完成补丁安装。
本实现方式中,手机11向手机17、手机18、平板电脑13和平板电脑19发送对应的补丁文件的过程与前述的手机11向手机16发送补丁文件2的过程类似,此处不再赘述。
本实现方式提供的补丁复用方法,当设备侧存在同属于同一个家庭局域网络200的多个设备需要下载及安装补丁时,可以由其中的一个设备作为复用补丁下载设备从服务器侧的补丁服务器100统一获取各设备所需的补丁文件,再将补丁文件发送给对应的设备,以使各设备完成补丁安装。避免了多个设备分别从服务器侧下载补丁的问题,可以有效地提高补丁安装效率。
另外,作为复用补丁下载设备的手机11在得到复用补丁包,对复用补丁包进行鉴权校验及还原得到各补丁文件之后,可以直接将得到的经过鉴权校验和解压的补丁文件发送给各设备,使得各设备可以直接根据补丁文件进行补丁安装即可,而不需要再进行补丁包的鉴权校验以及解压,也可以有效地提高补丁的安装效率。
对于本实现方式中的步骤S101,手机16、手机17、手机18、平板电脑13和平板电脑19为家庭局域网络200中的在线设备,家庭局域网络200中的在线设备可以认为是需要进行补丁查询的设备,则手机11在接收到用户的补丁查询指令后,向手机16、手机17、手机18、平板电脑13和平板电脑19分别发送补丁匹配信息获取请求,以分别获取手机16、手机17、手机18、平板电脑13和平板电脑19的补丁匹配信息。若家庭局域网络200中还存在其他在线设备,手机11也向该设备发送补丁匹配信息获取请求。
在本申请的另一种实现方式中,对于本实现方式中的步骤S101,家庭局域网络200中的在线设备也可以按照各自的补丁查询周期向手机11发送补丁查询请求以发送补丁匹配信息。手机11在接收到其他设备发送来的补丁查询请求后,向补丁服务器100发送前述补丁查询请求。或者手机11可以在接收到用户的补丁查询指令后,可以直接根据接收到的其他设备的补丁匹配信息和自己的匹配信息生成包括复用补丁匹配信息的补丁获取请求。另外,手机11也可以按照预设的补丁查询周期向补丁服务器100发送补丁查询请求。本申请中,补丁查询周期可以是1小时,也可以是一天、一周等任意时间,其可以 根据需要设置。
在本申请的另一种实现方式中,如果家庭局域网络200中的在线设备(例如上述的手机16、手机17、手机18、平板电脑13和平板电脑19)的补丁查询周期,比通常的补丁更新周期(即补丁服务器100发布补丁的周期)更长。则家庭局域网络200中的在线设备向手机11发送补丁查询请求的同时,也可以向补丁服务器100发起在线的补丁查询请求,以分别从家庭局域网络200和补丁服务器100获取补丁信息。且当从手机11获取到的补丁的版本高于从补丁服务器100获取的补丁的版本时,该在线设备从手机11获取补丁。
对于本实现方式中的步骤S102,补丁服务器100接收到补丁查询请求后,根据补丁查询请求中的复用补丁匹配信息生成复用补丁包时,若补丁包1、补丁包2和补丁包3中不存在可公用的部分,则补丁服务器100可以直接根据补丁文件1、补丁文件2和补丁文件3形成如图7所示的复用补丁包,该复用补丁包包括补丁文件1、补丁文件2和补丁文件3,以及补丁签名信息。相应的,对于步骤S104,手机11接收到复用补丁包之后,手机11根据该复用补丁包还原补丁的过程则可以是手机11对复用补丁包进行鉴权校验,鉴权校验通过之后,若确定复用补丁包为未经过重新差量组包的补丁,则直接根据复用补丁包得到补丁文件1、补丁文件2和补丁文件3。
需要说明的是,本实现方式中,补丁服务器100根据手机11、手机16、手机17、手机18、平板电脑13和平板电脑19对应的复用补丁包的过程,以及手机11根据复用补丁包得到手机11、手机16、手机17、手机18、平板电脑13和平板电脑19对应的补丁的过程,与前述的补丁服务器100生成手机11、手机15、设备202、手环101和大屏设备14对应的复用补丁包的过程,以及手机11根据复用补丁包得到手机11、手机15、设备202、手环101和大屏设备14对应的补丁的过程相同。
本申请的一种实现方式中,手机11接入家庭局域网络200后,可以显示如图8A所示的显示界面,手机11的设置控件下包括“复用补丁下载”控件11A,若手机11检测到用户对“复用补丁下载”控件11A的开启操作,则手机11在使用过程中,作为复用补丁下载设备可以如前所述根据预设的补丁查询周期获取复用补丁包,或者在接收到用户的补丁查询指令后,获取复用补丁包。当然,手机11接入家庭局域网络200后,也可以不显示如图8A所示的显示界面,在用户根据需要打开设置控件时,手机11显示如图8A所示的显示界面。
另外,若手机11检测到用户对“复用补丁下载”控件11A的开启操作,手机11进一步还可以显示图8B所示的显示界面,该显示界面包括用于用户选择可以复用补丁的设备的“复用补丁设备选择”控件11B,用户可以通过点击各设备的名称,或者名称前的方框以选择复用补丁的设备。
当然,手机11也可以根据家庭局域网络200内的设备类型,自动确定可以复用补丁的设备,以用于用户确认。例如,如图8C所示,手机11确定可以复用补丁的设备后,显示“复用补丁设备确定”控件11C。若用户点击“确认”,则手机11确定可以复用补丁的设备包括手机11、手机16、手机17、手机18、平板电脑13和平板电脑19,并且手机11向补丁服务器100发送补丁获取请求。另外,用户还可以点击各设备的名称,或者名称前的方框以选择复用补丁的设备。
手机11接收到补丁服务器100发送的复用补丁包后,可以显示如图8D所示的显示界面,显示界面包括提示信息11D“复用补丁”,以及“确认安装补丁及向相关设备广播补丁”控件11E。若手机11检测到用户对“确认安装补丁及向相关设备广播补丁”控件11E的触发操作,手机11根据复用补丁包得到前述的补丁文件1、补丁文件2和补丁文件3。并且手机安装补丁文件2,以及向家庭局域网络200内的手机16、手机17、手机18、平板电脑13和平板电脑19广播补丁文件1、补丁文件2和补丁文件 3。当然,手机11也可以向家庭局域网络200内的其他设备广播补丁文件1、补丁文件2和补丁文件3。
请参见图9A,在本申请的另一种实现方式中,手机20作为新增设备接入AP路由器10,与AP路由器10建立通信连接,即家庭局域网络200中包括作为新增设备的手机20。若手机20需要查询、下载及安装补丁,则手机20可以先在该家庭局域网络200内查询搜索是否存在手机20需要下载的补丁。若手机20从家庭局域网络200内查询搜索到需要下载的补丁,则手机20从家庭局域网络200内下载需要下载的补丁进行安装。若手机20从家庭局域网络200内未查询搜索到需要下载的补丁,则手机20再从补丁服务器100查询是否存在需要下载的补丁。
请参见图9B,手机20查询、下载及安装补丁的过程可以包括以下步骤:
S201,手机20接入AP路由器10,即接入家庭局域网络200之后,接收到用户的补丁查询指令,计划发起补丁搜包以查询搜索补丁。
手机20接收到补丁查询指令,可以是在手机20接入家庭局域网络200后,手机20显示包括“搜索更新”控件的显示界面。若手机10检测到用户对“搜索更新”控件的触发操作,手机20接收到补丁查询指令。
S202,手机20获取当前接入的家庭局域网络200的网络标识,进行可信网络校验,以判断该家庭局域网络200是否为手机20的可信网络。若是,则执行S203,若否,则执行S207。
可信网络的建立可以以AP路由器10为标识建立,在手机20首次加入AP路由器10提供的家庭局域网络200后,手机20标识当前家庭局域网络200为可信,网络可信的信息(例如可信网络标识)保存在AP路由器10和手机20上。当手机20再次接入AP路由器10提供的家庭局域网络200后,手机20从AP路由器10获取可信网络标识,并与自己保存的可信网络标识进行匹配,若可信网络标识一致,手机20认为接入的家庭局域网络200是可信网络,若网络标识不一致,则手机20认为接入的家庭局域网络200为不可信网络。
家庭局域网络200为手机20的可信网络,也可以认为手机20为家庭局域网络200中的网络可信设备。
在可信网络校验通过之后,手机20在可信网络网内获取补丁的效率优于通过WLAN网络从补丁服务器100获取补丁的效率,手机20通过WLAN网络从补丁服务器100获取补丁的效率又优于手机20通过移动数据网络从补丁服务器100获取补丁的效率。
S203,手机20获取家庭局域网络200内各设备的设备种类,判断家庭局域网络200内是否存在与手机20属于相同设备种类的设备。若家庭局域网络200内存在与手机20属于相同设备种类的设备,例如与手机20为相同设备种类的设备为手机11、手机16、手机17和手机18,执行步骤S204。若家庭局域网络200内不存在与手机20属于相同设备种类的设备,执行步骤S209。
手机20获取家庭局域网络200内各设备的设备种类,可以是向家庭局域网络200内的各设备发送设备种类获取信息。各设备在接收到手机20发送的设备种类获取请求后,将各自的设备种类发送给手机20。然后手机20将自己的设备种类与获取到各设备的设备种类进行匹配,以确定家庭局域网络200内与手机20属于相同设备种类的设备。例如,手机20的设备种类为prodcutA,则与手机20相同设备种类的设备包括手机11、手机16、手机17和手机18。
S204,手机20获取同设备种类的手机11、手机16、手机17和手机18中产品种类为prodcutA的补丁的版本号,与手机20的补丁匹配信息中的版本号进行版本匹配,以判断同设备种类的设备中是否存在手机20需要下载的补丁。若匹配到相同版本号的补丁,手机20执行S205。若未匹配到相同版本 号的补丁,手机20执行S209。
手机20的补丁匹配信息例如可以是productA+Version00;apkpatch,则手机20确定与手机20为同设备种类的手机11、手机16、手机17和手机18中,手机11和手机16中存在版本号与手机16需要获取补丁的软件版本对应的补丁文件2。
S205,手机20判断具有相同版本号补丁的同种类设备是否已安装对应的补丁文件2。若是,手机20执行S206,若否,手机20执行S207。
S206,手机20从已安装补丁文件2的同种类设备获取补丁文件2,并安装补丁文件2。
例如,若手机16已经安装了补丁文件2,则说明补丁文件2可以被手机16成功安装,手机20向手机16发送补丁获取请求,以获取补丁文件2。若手机11已经安装了补丁文件2,则手机20向手机11发送补丁获取请求,以获取补丁文件2。若手机11和手机16都已经安装了补丁文件2,则手机20可以根据需要向手机11或手机16发送补丁获取请求,以获取补丁文件2,其可以根据需要选择。
对于家庭局域网络200中的手机16来说,手机16可以判定手机16是否在可信网络内,如果在可信网络内,手机16将手机16对应的补丁包2的补丁文件2以文件可见的方式在家庭局域网络200上显示,该补丁文件2在设备搜包的过程中显示给搜包设备。
手机20发起搜包后,优先搜索同网络中同设备属性的设备,能搜到手机16暴露的补丁文件2,发现手机16中的补丁的productxx和versionxx属性,和手机20相同,那么手机20直接同步手机16中补丁包2的补丁文件2,并进行安装。手机16可以直接获取补丁文件2进行补丁安装,而不需要再进行补丁的鉴权校验以及解压,可以有效地提高补丁的安装效率。
请参见图9C,在本申请的一种实现方式中,手机20获取手机16上的补丁文件2的过程包括以下步骤:
S2061,手机20搜索手机16中的补丁时,手机20中的需要进行补丁更新的上层应用(即软件)向补丁引擎发起搜包类型为patch的动作。
S2062,手机20中的补丁引擎根据该搜包类型为patch的动作生成补丁获取请求,补丁获取请求中包括手机20需要进行补丁更新的上层应用的补丁匹配信息。且手机20通过家庭局域网络200基于近距离通信向手机16中的补丁引擎发送该补丁获取请求。
S2063,手机20中的补丁引擎接收到补丁获取请求后,根据补丁匹配信息确定手机16中与该补丁匹配信息对应补丁的补丁文件为补丁文件2,且手机16将手机16中的补丁文件2基于近距离通信发送给手机20中的补丁引擎。
本实现方式提供的补丁复用方法,属于同一可信网络中的设备可以通过该网络内的其他设备的补丁匹配信息进行补丁复用。如家庭局域网络200中的设备发起查询搜索补丁之前,优先同步同家庭局域网络200中的同设备种类和版本号的补丁,避免重复搜包。
本实现方式中,多设备家庭局域网络200中有设备未在线时,例如手机20在家庭局域网络200中的设备进行补丁更新时,不在线。手机20会错过补丁复用的过程,手机20重新上线之后,还需要重新搜包下载安装。本实现方式中,手机20连接上可信的多设备家庭局域网络200之后,能够快速同步补丁,避免再次从补丁服务器100下载补丁。本实现方式提供的补丁复用方法,充分利用局域网络中新增设备可以通过部分设备长期在线的特征快速升级网路中的补丁可以实现快速的补丁安装。
S207,手机20查询手机11中的复用补丁包中是否包含手机20需要下载的补丁。若包含,则手机20执行S208,若不包含,则手机20执行S209。
手机20确定手机11中的复用补丁包中是否包含手机20需要下载的补丁,可以是手机20获取复用补丁匹配信息,以确定复用补丁匹配信息中可复用的各补丁的补丁匹配信息,与手机20中的补丁匹配信息进行匹配,若存在相同的补丁匹配信息,则认为手机11中的复用补丁包中包含手机20需要下载的补丁,若不存在相同的补丁匹配信息,则认为手机11中的复用补丁包中不包含手机20需要下载的补丁。
S208,手机20向手机11发送补丁获取请求,从手机11获取复用补丁包,并根据前述的步骤S104所示的过程,根据复用补丁包得到补丁文件2,安装补丁文件2。
手机20向手机11发送补丁获取请求为:手机20发起productA+Version00+apkpatch的搜包动作,手机20依据productA+Version00+apkpatch,将apkpatch的搜包转为update.zip的搜包,则补丁查询请求可以为productA+Version00+update.zip。Apkpatch对应的补丁的类型为apk数据包,update.zip对应的补丁的类型为OAT数据包。则手机20可以获取数据包类型为OAT类型的复用补丁包。
手机20获取到该复用补丁包后,需要经过鉴权校验和解压得到手机20需要的补丁包2对应的补丁文件2,之后手机20安装补丁文件2。
对于家庭局域网络200中的手机11来说,手机11可以判定手机11是否在可信网络内,如果在可信网络内,手机11将手机11中根据复用补丁包得到的补丁文件1、补丁文件2、补丁文件3以文件可见的方式在家庭局域网络200上显示,该补丁文件1、补丁文件2、补丁文件3在家庭局域网络200内的其他设备搜包的过程中显示给搜包设备。
家庭局域网络200中新增的设备发起搜包后,优先搜索同网络中同设备属性的设备,能搜到手机11暴露的补丁文件,那么新增的设备可以直接同步手机11中需要下载的补丁文件,并进行安装,以提高补丁安装效率。
S209,若家庭局域网络200中不存在手机20需要下载的补丁,则手机20可以从补丁服务器100查询及下载补丁。
手机20从补丁服务器100查询及下载补丁的过程包括:手机20向补丁服务器100发送补丁查询请求。补丁查询请求包括补丁匹配信息,补丁匹配信息包括手机20的产品种类,手机20中需要进行补丁查询的软件的版本号,以及需要获取补丁的补丁类型。补丁匹配信息则可以是productxx+Versionxx;apkpatch。
补丁服务器100接收到补丁查询请求后,根据补丁查询请求中的手机20的产品种类对手机20进行鉴权,若补丁服务器100根据手机20的产品种类确定补丁服务器100存在手机20对应的补丁包,则补丁服务器100对手机20鉴权通过。然后补丁服务器100根据版本号确定该版本的软件对应的补丁包括补丁包2,补丁服务器100向手机20发送推送补丁包2的补丁推送消息,补丁推送消息中包含补丁包2的名称、补丁包2实现的功能等内容的简要说明。
手机20接收到补丁推送消息后,若检测到用户确认下载补丁包2的操作,则手机20向补丁服务器100发送下载补丁包2的补丁获取请求。补丁服务器100根据补丁获取请求将补丁包2下发至手机20。补丁包2包括补丁文件2,以及对补丁文件2进行安全处理的补丁签名信息,补丁签名信息为补丁安全相关的封装。
当然,本申请的另一种实现方式中,若手机20在家庭局域网络200未搜索到对应的补丁,手机20也可以不再进行补丁的查询操作,或者手机20在预设的时间间隔(例如0.5h,1h等)后,再执行前述的步骤S201。
对于前述的步骤S207和S208,是由手机20确定手机11中的复用补丁包中是否包含手机20需要 下载的补丁。本申请的另一种实现方式中,也可以由手机11确定复用补丁包中是否包含手机20需要下载的补丁。其确定过程可以是手机20向手机11发送补丁查询请求,补丁查询请求包括手机20的补丁匹配信息。若手机11根据手机20发送的补丁匹配请求确定复用补丁匹配信息包含手机20的补丁匹配信息,即可以认为复用补丁包包含手机20对应的补丁,手机11向手机20发送复用补丁包。手机20接收复用补丁包,根据复用补丁包得到并安装手机20对应的补丁文件。
在本申请的另一种实现方式中,手机20作为新增设备接入AP路由器10。若手机20需要查询、下载及安装补丁,则手机20可以在家庭局域网络200内查询搜索是否存在手机20需要下载的补丁,以及同时从补丁服务器100上查询是否存在手机20需要下载的补丁。如果手机20确定家庭局域网络200内和补丁服务器100上皆存在手机20需要下载的补丁,则手机20可以选择较新的补丁(即补丁发布时间更晚,或者补丁功能更为完善,或者补丁版本更高)进行下载安装。例如如果家庭局域网络200内存在的补丁较新,手机20从家庭局域网络200内下载补丁。如果补丁服务器100存在的补丁较新,手机20从补丁服务器100下载补丁。
本实现方式提供的补丁复用方法,家庭局域网络200可以为家庭局域网络200内的设备提供可信的补丁源。当家庭局域网络200中存在新增设备时,新增设备可以在家庭局域网络200中搜索是否存在新增设备需要下载的补丁,如果存在,则新增设备可以直接从***内获取需要下载的补丁,而不需要再从补丁服务器100进行下载。另外,属于可信网络外的设备可以对可信网络内的设备的补丁进行补丁复用,以实现补丁安装。例如,如果手机20未加入到可信网络家庭局域网络200中,家庭局域网络200中的可信补丁源包(即补丁文件)不能对其开放,但是可以将原始的复用补丁包通过可信通道分发给该新增设备,有利于家庭局域网络200中的不可信设备的补丁快速修复。
本实现方式中,手机20显示的“搜索更新”控件可以是如图10A所示的“搜索更新”控件20A。手机20若检测到用户对“设置”控件下某一应用软件的“软件更新”控件的点击操作,则可以显示图10A所示的界面。
本实现方式中,手机20若检测到用户对“搜索更新”控件20A的点击操作,手机20进行补丁搜索,以搜索是否存在待安装的补丁。
若手机20从网络家庭局域网络200(例如手机11、手机16、手机17)搜索到待安装的补丁文件2,手机20可以显示图10B所示的显示界面,显示界面包括搜索到的补丁文件2的名称等信息20B,提示信息20C“网内更新”,以及补丁文件2的来源设备信息20D,即显示可获取新版本补丁的设备包括手机11、手机16和手机17。
手机20可以根据用户对手机11、手机16和手机17名称后的方框的点击操作,确定获取补丁的设备。例如,手机20检测到用户对手机11名称后的方框的点击操作,手机20在进行补丁获取操作时,从手机11获取补丁文件2。
另外,手机20还可以显示“确认更新”控件20E,若手机20检测到用户对“确认更新”控件20E的点击操作,手机20从手机11获取并安装补丁文件2。
本申请的另一实现方式中,手机20进行补丁搜索之后,也可以显示如图10C所示的界面。即来源设备信息20D可以包括网络家庭局域网络200内可以获取到补丁的设备手机11、手机16和手机17,以及可以获取到补丁的补丁服务器100。若手机20检测到用户对补丁服务器100名称后的方框的点击操作,手机20在进行补丁获取操作时,从补丁服务器100获取补丁包2。
对于前述的步骤S203,手机20获取家庭局域网络200内各设备的设备种类,确定家庭局域网络200 与手机20属于相同设备种类的设备时,如果家庭局域网络200内与手机20设备种类相同的设备包括手机11、手机16和手机17。则对于前述的步骤S204,手机20获取同设备种类的产品类型为prodcutA的补丁的版本信息进行版本匹配,可以是手机20分别获取手机11、手机16、手机17的产品类型为prodcutA的补丁的版本信息,进行版本匹配。则对于前述的步骤S205,手机20判断具有相同版本号补丁的同种类设备是否已安装对应的补丁,可以是手机20确定匹配成功的设备是否已安装身份识别信息为prodcutA+Version00,补丁类型为apkpatch的补丁,即是否已安装补丁包2。若是,手机20执行步骤S206,则步骤S206可以是手机20从已安装补丁的设备处获取补丁包2的补丁文件2。若从已安装补丁的设备有多个,则手机20可以从任意一个以安装补丁包2的设备处获取补丁包2的补丁文件2。
本申请提供的补丁复用方法的另一种实现方式中,AP路由器10可以作为复用补丁下载设备,家庭局域网络200内的设备在需要下载补丁时,向AP路由器10发送补丁下载请求。AP路由器10接收到补丁下载请求后,生成前述的补丁获取请求发送至补丁服务器100,以获取复用补丁包。并根据复用补丁包得到各设备所需的补丁发送给各设备。
当然,本申请中,作为复用补丁下载设备的也可以是家庭局域网络200内的其他设备,其可以根据需要设置。
本申请的另一种实现方式中,手机11也可以根据设备侧所有在线设备的补丁匹配信息生成补丁复用信息,或者根据设备侧同设备种类的设备的补丁匹配信息生成补丁复用信息,或者根据其他满足预设条件的设备的补丁匹配信息生成补丁复用信息。
本申请提供的前述***,可以认为是家庭场景对应的全场景智慧生活***,由AP路由器10为***中的各设备提供网络服务。手机11作为整个***的主入口,PC12、平板电脑13、大屏设备14、手环101、手表102、耳机103等可穿戴设备等为辅入口,其他家电等物联网设备的配置可以实现覆盖多个场景。当***中的设备需要下载补丁进行补丁更新时,可以由手机11从补丁服务器100获取***中各设备需要下载的补丁,其他设备从手机11获取所需要的补丁即可,而不需要其他设备从补丁服务器100分别获取各自所需的补丁。避免了补丁服务器100的补丁被设备侧的设备多次下载的问题,同时可以提高***中的补丁安装效率。
本申请中,前述的近距离通信可以是指Wi-Fi、蓝牙、移动热点等通信方式,也可以是指其他的通信方式。
参见图11,图11所示为根据本申请的一实施方式提供的电子设备900的结构示意图。电子设备900可以包括耦合到控制器中枢904的一个或多个处理器901。对于至少一个实施例,控制器中枢904经由诸如前端总线(FSB)之类的多分支总线、诸如快速通道互连(QPI)之类的点对点接口、或者类似的连接与处理器901进行通信。处理器901执行控制一般类型的数据处理操作的指令。在一实施例中,控制器中枢904包括,但不局限于,图形存储器控制器中枢(GMCH)(图中未示出)和输入/输出中枢(IOH)(其可以在分开的芯片上)(图中未示出),其中GMCH包括存储器和图形控制器并与IOH耦合。
电子设备900还可包括耦合到控制器中枢904的协处理器906和存储器902。或者,存储器902和GMCH中的一个或两者可以被集成在处理器901内(如本申请中所描述的),存储器902和协处理器906直接耦合到处理器901以及控制器中枢904,控制器中枢904与IOH处于单个芯片中。
存储器902可以是例如动态随机存取存储器(DRAM)、相变存储器(PCM)或这两者的组合。
在一个实施例中,协处理器906是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、或嵌入式处理器等等。协处理器906的任选性质用虚线表示在图11 中。
在一个实施例中,电子设备900可以进一步包括网络接口(NIC)903。网络接口903可以包括收发器,用于为电子设备900提供无线电接口,进而与任何其他合适的设备(如前端模块,天线等)进行通信。在各种实施例中,网络接口903可以与电子设备900的其他组件集成。网络接口903可以实现上述实施例中的通信单元的功能。
电子设备900可以进一步包括输入/输出(I/O)设备905。输入/输出(I/O)设备905可以包括:用户界面,该设计使得用户能够与电子设备900进行交互;***组件接口的设计使得***组件也能够与电子设备900交互;和/或传感器设计用于确定与电子设备900相关的环境条件和/或位置信息。
值得注意的是,图11仅是示例性的。即虽然图11中示出了电子设备900包括处理器901、控制器中枢904、存储器902等多个器件,但是,在实际的应用中,使用本申请各方法的设备,可以仅包括电子设备900各器件中的一部分器件,例如,可以仅包含处理器901和NIC903。图11中可选器件的性质用虚线示出。
在该电子设备900的存储器中可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性计算机可读介质。计算机可读存储介质中存储有指令,具体而言,存储有该指令的暂时和永久副本。
本申请中,该电子设备900具体可以是前述的手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)或台式电脑等终端设备。该电子设备的存储器中存储的指令可以包括:由处理器中的至少一个单元执行时导致电子设备实施如前述提到的补丁复用方法的指令。
参见图12,图12所示为根据本申请的一实施方式提供的SoC(System on Chip,片上***)1000的结构示意图。在图12中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC 1000的可选特征。该SoC 1000可以被用于根据本申请的任一电子设备,根据其所在的设备不同以及其内所存储的指令的不同,可以实现相应的功能。
在图12中,SoC1000包括:互连单元1002,其被耦合至处理器1001;***代理单元1006;总线控制器单元1005;集成存储器控制器单元1003;一组或一个或多个协处理器1007,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;SRAM(静态随机存取存储器)单元1008;DMA(直接存储器存取)单元1004。在一个实施例中,协处理器1007包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
SRAM单元1008中可以包括用于存储数据和/或指令的一个或多个计算机可读介质。计算机可读存储介质中可以存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个单元执行时导致电子设备实施如前述所提到的补丁复用方法的指令。
本申请公开的机制的各实施例均可以以软件、硬件、固件或这些实现方法的组合等方式实现。本申请的实施例可实现为在可编程***上执行的计算机程序或程序代码,该可编程程序包括至少一个处理器、存储器(或存储***,包括易失性和非易失性存储器和/或存储单元)。
需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施方式中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施方式中都需要这样的特征,并且在一些实施方式中,可以不包括这些特征或者可以与其他特征组合。
虽然通过参照本申请的某些优选实施方式,已经对本申请进行了图示和描述,但本领域的普通技术 人员应该明白,以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。本领域技术人员可以在形式上和细节上对其作各种改变,包括做出若干简单推演或替换,而不偏离本申请的精神和范围。

Claims (18)

  1. 一种补丁复用方法,应用于包括多个设备和补丁服务器的***,所述补丁服务器用于为所述多个设备提供补丁,所述多个设备位于同一局域网络内,并且所述多个设备至少包括第一电子设备和第二电子设备,其特征在于,所述方法包括:
    所述第一电子设备向所述补丁服务器发送第一补丁查询请求,所述第一补丁查询请求包括复用补丁匹配信息,所述复用补丁匹配信息包括所述第一电子设备的第一补丁匹配信息,以及所述第二电子设备的第二补丁匹配信息,各补丁匹配信息用于匹配对应的补丁文件;
    所述补丁服务器根据所述第一补丁查询请求生成复用补丁包,并将所述复用补丁包发送给所述第一电子设备,所述复用补丁包包括所述第一补丁匹配信息对应的第一补丁文件和所述第二补丁匹配信息对应的第二补丁文件;
    所述第一电子设备接收所述复用补丁包,并提取出用于在所述第一电子设备安装的所述第一补丁文件和用于在所述第二电子设备安装的所述第二补丁文件;
    所述第二电子设备从所述第一电子设备获取所述第二补丁文件。
  2. 根据权利要求1所述的补丁复用方法,其特征在于,所述补丁服务器根据所述第一补丁查询请求生成复用补丁包,包括:
    所述补丁服务器确定所述第一补丁匹配信息对应的第一补丁文件,以及确定所述第二补丁匹配信息对应的第二补丁文件;
    所述补丁服务器将所述第一补丁文件和所述第二补丁文件中相同的部分作为公用部分,将所述第一补丁文件和所述第二补丁文件中不相同的部分作为差量部分,将所述公用部分和所述差量部分作为所述复用补丁包。
  3. 根据权利要求2所述的补丁复用方法,其特征在于,所述第一电子设备接收所述复用补丁包之后,还包括:
    所述第一电子设备解压所述复用补丁包得到所述公用补丁和所述差量补丁;
    所述第一电子设备根据所述公用补丁和所述差量补丁进行补丁还原合成处理分别得到所述第一补丁文件和所述第二补丁文件。
  4. 根据权利要求1所述的补丁复用方法,其特征在于,所述补丁服务器根据所述第一补丁查询请求生成复用补丁包之后,还包括:
    所述补丁服务器向所述第一电子设备发送推送所述复用补丁包的补丁推送消息;
    所述第一电子设备在接收到所述补丁推送消息之后,若检测到用户确认下载所述复用补丁包的操作,所述第一电子设备向所述补丁服务器发送第一补丁获取请求;
    所述补丁服务器在接收到所述第一补丁获取请求后,将所述复用补丁包发送给所述第一电子设备。
  5. 根据权利要求1所述的补丁复用方法,其特征在于,所述第一电子设备和所述第二电子设备为同属于所述局域网络的网络可信设备。
  6. 根据权利要求1所述的补丁复用方法,其特征在于,所述第一电子设备向补丁服务器发送第一补丁查询请求包括:
    所述第二电子设备向所述第一电子设备发送第二补丁查询请求,所述第二补丁查询请求包括所述第二电子设备的所述第二补丁匹配信息;所述第一电子设备接收到所述第二补丁查询请求后,向所述补丁服务器发送所述第一补丁查询请求;或者
    所述第一电子设备根据预设的补丁查询周期向所述补丁服务器发送所述第一补丁查询请求;或者
    所述第一电子设备在接收到用户的补丁查询指令后,向所述补丁服务器发送所述第一补丁查询请求。
  7. 根据权利要求1所述的补丁复用方法,其特征在于,各补丁匹配信息包括设备种类信息、设备软件版本信息和获取补丁的补丁类型信息。
  8. 根据权利要求1-7任一项所述的补丁复用方法,其特征在于,所述多个设备还包括第三电子设备,所述方法还包括:
    所述第三电子设备获取所述局域网络的网络标识,若根据所述网络标识确定所述第三电子设备所处的所述局域网络为可信网络,所述第三电子设备获取所述局域网络中与所述第三电子设备的设备种类相同的所述第二电子设备的第二补丁匹配信息;
    若所述第三电子设备确定所述第二补丁匹配信息与所述第三电子设备的第三补丁匹配信息相同,则所述第三电子设备从所述第二电子设备获取所述第二补丁文件。
  9. 根据权利要求8所述的补丁复用方法,其特征在于,所述第三电子设备确定所述局域网络为可信网络,包括:若所述第三电子设备中的可信网络标识包括所述第三电子设备获取的所述局域网络的网络标识,所述第三电子设备确定所述局域网络为可信网络。
  10. 根据权利要求8所述的补丁复用方法,其特征在于,所述方法还包括:若所述第三电子设备确定所述第二电子设备已安装所述第二补丁文件,所述第三电子设备从所述第二电子设备获取所述第二补丁文件。
  11. 根据权利要求1-7任一项所述的补丁复用方法,其特征在于,所述多个设备还包括第三电子设备,所述方法还包括:
    所述第三电子设备获取所述局域网络的网络标识,若根据所述网络标识确定所述第三电子设备所处的所述局域网络为不可信网络,则所述第三电子设备向所述第一电子设备发送第三补丁查询请求,所述第三补丁查询请求包括所述第三电子设备的第三补丁匹配信息;
    若所述第一电子设备根据所述第三补丁匹配请求确定所述复用补丁包包含所述第三电子设备对应的补丁文件,所述第一电子设备向所述第三电子设备发送所述复用补丁包;
    所述第三电子设备接收所述复用补丁包,并提取出用于在所述第三电子设备安装的补丁文件。
  12. 根据权利要求1-7任一项所述的补丁复用方法,其特征在于,所述多个设备还包括第三电子设备,所述方法还包括:
    所述第三电子设备获取所述局域网络的网络标识,若根据所述网络标识确定所述第三电子设备所处的所述局域网络为不可信网络,则所述第三电子设备向所述第一电子设备发送所述复用补丁匹配信息获取请求,以获取所述复用补丁匹配信息;
    若所述第三电子设备根据所述复用补丁匹配信息确定所述复用补丁匹配信息包含所述第三电子设备对应的第三补丁匹配信息,所述第三电子设备向所述第一电子设备发送复用补丁获取请求;
    所述第一电子设备根据所述复用补丁获取请求向所述第三电子设备发送所述复用补丁包;
    所述第三电子设备接收所述复用补丁包,并提取出用于在所述第三电子设备安装的补丁文件。
  13. 一种补丁复用方法,应用于第一电子设备,其特征在于,所述方法包括:
    向补丁服务器发送第一补丁查询请求,所述第一补丁查询请求包括复用补丁匹配信息,所述复用补丁匹配信息包括所述第一电子设备的第一补丁匹配信息,以及与所述第一电子设备同属于同一局域网络的第二电子设备的第二补丁匹配信息,各补丁匹配信息用于匹配对应的补丁文件;
    接收所述补丁服务器发送来的根据所述第一补丁查询请求生成的复用补丁包,所述复用补丁包包括所述第一补丁匹配信息对应的第一补丁文件和所述第二补丁匹配信息对应的第二补丁文件;
    从所述复用补丁包中提取出用于在所述第一电子设备安装的所述第一补丁文件和用于在所述第二电子设备安装的所述第二补丁文件,并向所述第二电子设备发送所述第二补丁文件。
  14. 一种补丁复用方法,应用于第二电子设备,其特征在于,所述方法包括:
    向同属于同一局域网络的第一电子设备发送用于查询补丁的第一补丁查询请求,所述第一补丁查询请求包括所述第二电子设备的第二补丁匹配信息;
    接收所述第一电子设备发送来的第二补丁文件并安装,所述第二补丁文件是与所述第二电子设备的第二补丁匹配信息对应的补丁文件。
  15. 一种补丁复用方法,应用于补丁服务器,所述补丁服务器用于为电子设备提供补丁,其特征在于,所述方法包括:
    接收第一电子设备发来的第一补丁查询请求,所述第一补丁查询请求包括复用补丁匹配信息,所述复用补丁匹配信息包括所述第一电子设备的第一补丁匹配信息,以及与所述第一电子设备同属于同一局域网络的第二电子设备的第二补丁匹配信息;
    根据所述第一补丁查询请求生成复用补丁包,并将所述复用补丁包发送给所述第一电子设备,以使所述第一电子设备根据所述复用补丁包得到所述第一补丁文件和所述第二补丁文件。
  16. 一种补丁复用***,其特征在于,包括多个设备和补丁服务器,所述补丁服务器用于为所述多个设备提供补丁,所述多个设备位于同一局域网络内,并且所述多个设备至少包括第一电子设备和第二电子设备,其特征在于,
    所述第一电子设备用于向所述补丁服务器发送第一补丁查询请求,所述第一补丁查询请求包括复用补丁匹配信息,所述复用补丁匹配信息包括所述第一电子设备的第一补丁匹配信息,以及所述第二电子设备的第二补丁匹配信息,各补丁匹配信息用于匹配对应的补丁文件;
    所述补丁服务器用于根据所述第一补丁查询请求生成复用补丁包,并将所述复用补丁包发送给所述第一电子设备,所述复用补丁包包括所述第一补丁匹配信息对应的第一补丁文件和所述第二补丁匹配信息对应的第二补丁文件;
    所述第一电子设备用于接收所述复用补丁包,并提取出用于在所述第一电子设备安装的所述第一补丁文件和用于在所述第二电子设备安装的所述第二补丁文件;
    所述第二电子设备用于从所述第一电子设备获取所述第二补丁文件。
  17. 一种电子设备,其特征在于,包括:
    存储器,用于存储计算机程序,计算机程序包括程序指令;
    控制部件,用于执行程序指令,以使电子设备执行如权利要求1-15任一项所述的补丁复用方法。
  18. 一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被计算机运行以使电子设备执行如权利要求1-15任一项所述的补丁复用方法。
PCT/CN2021/118904 2020-09-30 2021-09-17 一种补丁复用方法、***及电子设备 WO2022068605A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/247,132 US20240004642A1 (en) 2020-09-30 2021-09-17 Patch Reuse Method and System, and Electronic Device
EP21874266.6A EP4213013A4 (en) 2020-09-30 2021-09-17 METHOD AND SYSTEM FOR REUSING PATCHES, AND ELECTRONIC DEVICE

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011064590.6A CN114356316A (zh) 2020-09-30 2020-09-30 一种补丁复用方法、***及电子设备
CN202011064590.6 2020-09-30

Publications (1)

Publication Number Publication Date
WO2022068605A1 true WO2022068605A1 (zh) 2022-04-07

Family

ID=80949549

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/118904 WO2022068605A1 (zh) 2020-09-30 2021-09-17 一种补丁复用方法、***及电子设备

Country Status (4)

Country Link
US (1) US20240004642A1 (zh)
EP (1) EP4213013A4 (zh)
CN (1) CN114356316A (zh)
WO (1) WO2022068605A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7735078B1 (en) * 2003-10-30 2010-06-08 Oracle America, Inc. System and method for software patching for cross-platform products
CN107040399A (zh) * 2016-02-04 2017-08-11 京东方科技集团股份有限公司 一种升级文件下载方法、设备及***
CN107580071A (zh) * 2017-09-28 2018-01-12 美的智慧家居科技有限公司 主从设备升级方法、装置及其设备
CN110149370A (zh) * 2019-04-23 2019-08-20 华为技术有限公司 一种升级文件下载方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120198434A1 (en) * 2011-01-31 2012-08-02 Digi International Inc. Virtual bundling of remote device firmware upgrade
US10545750B2 (en) * 2017-12-06 2020-01-28 Vmware, Inc. Distributed upgrade in virtualized computing environments
US10795664B2 (en) * 2018-10-30 2020-10-06 Walmart Apollo, Llc Systems and methods for differential bundle updates

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7735078B1 (en) * 2003-10-30 2010-06-08 Oracle America, Inc. System and method for software patching for cross-platform products
CN107040399A (zh) * 2016-02-04 2017-08-11 京东方科技集团股份有限公司 一种升级文件下载方法、设备及***
CN107580071A (zh) * 2017-09-28 2018-01-12 美的智慧家居科技有限公司 主从设备升级方法、装置及其设备
CN110149370A (zh) * 2019-04-23 2019-08-20 华为技术有限公司 一种升级文件下载方法及装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
US20240004642A1 (en) 2024-01-04
EP4213013A1 (en) 2023-07-19
CN114356316A (zh) 2022-04-15
EP4213013A4 (en) 2024-03-27

Similar Documents

Publication Publication Date Title
WO2021115038A1 (zh) 一种应用数据处理方法及相关装置
CN107729759B (zh) 一种app操作权限控制方法、存储设备及移动终端
WO2021017894A1 (zh) 一种使用远程sim模块的方法及电子设备
WO2021104114A1 (zh) 一种提供无线保真WiFi网络接入服务的方法及电子设备
US10257873B2 (en) Method and electronic device for providing tethering service
WO2021093855A1 (zh) 一种移动设备管理方法及设备
CN116244008B (zh) 应用启动方法、电子设备以及存储介质
US11166141B2 (en) Electronic device and method for displaying inquiry list of external electronic device in Bluetooth™ network environment
CN112860445B (zh) 一种快应用与原生应用间数据共享的方法及终端
EP4287048A1 (en) Login authentication method and electronic device
WO2022179443A1 (zh) Nfc通信方法、电子设备及***
WO2021179990A1 (zh) 一种应用服务器的访问方法及终端
CN115918031A (zh) 执行边缘计算服务的电子装置和电子装置的操作方法
WO2019192128A1 (zh) 网页访问方法及装置
CN114915618B (zh) 升级包下载方法及装置
US20230344793A1 (en) Email synchronization method and electronic device
WO2022068605A1 (zh) 一种补丁复用方法、***及电子设备
WO2022174718A1 (zh) 一种数据备份方法和电子设备
CN111917916A (zh) 一种显示的方法及设备
WO2022042363A1 (zh) 一种共享库的复用方法及电子设备
US11522870B2 (en) Method for URL analysis and electronic device thereof
WO2022194105A1 (zh) 一种设备连接方法、终端设备和分布式***
CN114374690B (zh) 一种文件共享方法、通信***和电子设备
WO2023142696A1 (zh) 缩略图存储方法及电子设备
WO2022194024A1 (zh) 文件访问方法、通信***和电子设备

Legal Events

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

Ref document number: 21874266

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18247132

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2021874266

Country of ref document: EP

Effective date: 20230411

NENP Non-entry into the national phase

Ref country code: DE