CN116149716A - Patch method and related equipment - Google Patents

Patch method and related equipment Download PDF

Info

Publication number
CN116149716A
CN116149716A CN202111410274.4A CN202111410274A CN116149716A CN 116149716 A CN116149716 A CN 116149716A CN 202111410274 A CN202111410274 A CN 202111410274A CN 116149716 A CN116149716 A CN 116149716A
Authority
CN
China
Prior art keywords
electronic device
patch package
application
patch
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111410274.4A
Other languages
Chinese (zh)
Inventor
任文杰
尹永宏
朱祥
窦鑫
李英伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Device Co Ltd filed Critical Huawei Device Co Ltd
Priority to CN202111410274.4A priority Critical patent/CN116149716A/en
Priority to PCT/CN2022/132193 priority patent/WO2023088289A1/en
Publication of CN116149716A publication Critical patent/CN116149716A/en
Pending legal-status Critical Current

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

Landscapes

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

Abstract

The application discloses a patching method and related equipment. The method comprises the following steps: calculating the contact ratio of each software module in the first patch of the first application program for upgrading the first electronic device and each software module of the first application program of the third electronic device in a server, selecting each part with the largest contact ratio to be combined into a whole, differentiating the whole with the first patch to generate differential data, obtaining the differential data by the second electronic device and restoring the differential data into a first patch package, and receiving the first patch package from the second device by the first electronic device and upgrading the first application program on the first patch package. According to the technical scheme, the server can be prevented from issuing the large data patch for many times, the consumption of network bandwidth is reduced, the patch repairing efficiency is greatly improved, and better use experience is brought to users.

Description

Patch method and related equipment
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a patching method and related devices.
Background
As electronic technology advances, more and more electronic devices can support Application (APP) installations, resulting in the need for the same APP to provide multiple versions that accommodate different electronic devices. For example, in a 1+8+n scenario, one APP needs to have not only a version installed to run on a mobile phone, but also multiple versions installed to run on an electronic device such as a car set, a speaker, a headset, a watch/bracelet, a tablet, a large screen, a personal computer (personal computer, PC), an augmented reality technology (augmented reality, AR), a virtual reality technology (VR), etc. When a server upgrades the APP with different versions on each device by using the patch, the problem of multiple versions will result in a large patch package, and the load of the server for transmitting the patch package is heavy.
Disclosure of Invention
The purpose of the application is to provide a patching method and related equipment, which can avoid the problem of a plurality of patches with large data volume issued by a server under the condition that different terminal equipment needs to upgrade the same APP, reduce the data transmission volume between the server and each terminal equipment, reduce the consumption of network bandwidth, quickly restore and generate the patches suitable for the APP with different versions of different terminal equipment at a super terminal, greatly improve the patching repair efficiency and bring better use experience to users.
The above and other objects are achieved by the features of the independent claims. Further implementations are presented in the dependent claims, the description and the figures.
In a first aspect, the present application provides a patching method applied to a server in a first patching system, the first patching system including: a server, a plurality of electronic devices having a first application installed thereon, the method may include: the server can generate first differential data by differentiating according to a first application program and a first patch package on the third electronic equipment; the first patch package may be used to upgrade a first application on the first electronic device; the third electronic device may be an electronic device, of which the installed first application program coincides with the first patch package, of the plurality of electronic devices; the plurality of electronic devices comprise a first electronic device and a third electronic device;
The server sends the first differential data to the second electronic equipment; the plurality of electronic devices further includes a second electronic device; the second electronic device may be configured to restore a first patch package according to the first differential data and a first software module in a first application on the third electronic device; the first software module is overlapped with the first patch package; the second electronic device is configured to send a first patch package to the first electronic device.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device for installing an application program, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In the present application, the third electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The third electronic device is used as the most relevant device of the patch package, and an application program on the third electronic device can be differentiated with the patch package to form differential data.
By implementing the method of the first aspect, the problem that the server issues the patch with larger data size for different devices for multiple times under the condition that the same application program of different terminal devices is updated can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
In combination with the first aspect, in some embodiments, having a coincidence may mean that the code of the first application and the code of the first patch package have the same method, variable.
In combination with the first aspect, in some embodiments, the third electronic device may be an electronic device, among the plurality of electronic devices, having a highest contact ratio between the installed first application program and the first patch package or a contact ratio higher than a first threshold value.
With reference to the first aspect, in some embodiments, the overlap ratio between the first application program installed on the third electronic device and the first patch package may be: (number of identical methods+number of identical variables)/(total number of methods+total number of variables),
the same method may be a method of both the first application installed on the third electronic device and the first patch package, the same variable may be a variable of both the first application installed on the third electronic device and the first patch package, the total number of methods may be a difference value between a sum of all methods in the first application installed on the third electronic device and the first patch package and the same method, and the total number of variables may be a difference value between a sum of all variables in the first application installed on the third electronic device and the first patch package and the same variable.
In combination with the first aspect, in some embodiments, if the platform level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the platform level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the application level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the application level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
In some embodiments, in combination with the first aspect, if the application level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the application level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the platform level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the platform level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the first aspect, in some embodiments, one or more software modules in the first application installed on the third electronic device overlap with a software module in the first patch package.
In combination with the first aspect, in some embodiments, having a coincidence may mean that the first application installed on the third electronic device and the first patch package have the same binary code.
In a second aspect, the present application provides a patching method applied to a first electronic device in a first patching system, the first patching system including: a server, a plurality of electronic devices having a first application installed thereon, the plurality of electronic devices including the first electronic device, the method may include:
the first electronic device receives a first patch package sent by a second device, the plurality of electronic devices further comprises the second electronic device, the first patch package is restored by the second electronic device through first differential data and a first software module in a first application program on a third electronic device, the plurality of electronic devices further comprises the third electronic device, the third electronic device is an electronic device, which is arranged in the plurality of electronic devices, of which the first application program is overlapped with the first patch package; the first differential data is generated by the server differentially generating the first application program and the first patch package on the third electronic device, and is sent to the second electronic device,
The first electronic device upgrades a first application installed thereon with a first patch package.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device for installing an application program, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In the present application, the third electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The third electronic device is used as the most relevant device of the patch package, and an application program on the third electronic device can be differentiated with the patch package to form differential data.
By implementing the method of the second aspect, the problem that the server issues the patch with larger data size for different devices for multiple times under the condition that the same application program of different terminal devices is updated can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
With reference to the second aspect, in some embodiments, having a coincidence may mean that the code of the first application and the code of the first patch package have the same method, variables.
With reference to the second aspect, in some embodiments, the third electronic device may be an electronic device, among a plurality of electronic devices, that has a highest contact ratio between the installed first application program and the first patch package or a contact ratio higher than a first threshold value.
With reference to the second aspect, in some embodiments, the contact ratio between the first application program installed on the third electronic device and the first patch package may be: (number of identical methods+number of identical variables)/(total number of methods+total number of variables),
the same method may be a method of both the first application installed on the third electronic device and the first patch package, the same variable may be a variable of both the first application installed on the third electronic device and the first patch package, the total number of methods may be a difference value between a sum of all methods in the first application installed on the third electronic device and the first patch package and the same method, and the total number of variables may be a difference value between a sum of all variables in the first application installed on the third electronic device and the first patch package and the same variable.
With reference to the second aspect, in some embodiments, if the platform-level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the platform-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the application-level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the application-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the second aspect, in some embodiments, if the application level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the application level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the platform level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the platform level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the second aspect, in some embodiments, one or more software modules in the first application installed on the third electronic device overlap with a software module in the first patch package.
With reference to the second aspect, in some embodiments, having a coincidence may mean that the first application installed on the third electronic device and the first patch package have the same binary code.
In a third aspect, the present application provides a patching method applied to a second electronic device in a first patching system, the first patching system including: a server, a plurality of electronic devices having a first application installed thereon, the plurality of electronic devices including a second electronic device, the method may include: the second electronic device receives first differential data sent by a server, the first differential data is generated by the server by differentiating a first application program and a first patch package on a third electronic device, the first patch package is used for upgrading the first application program on the first electronic device, the third electronic device is an electronic device, which is arranged in a plurality of electronic devices, of which the first application program is overlapped with the first patch package, the plurality of electronic devices also comprise the first electronic device and the third electronic device, then the second electronic device restores the first patch package according to the first differential data and a first software module in the first application program on the third electronic device, the first software module is overlapped with the first patch package, and then the second electronic device sends the first patch package to the first electronic device.
The first electronic device upgrades a first application installed thereon with a first patch package.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device for installing an application program, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In the present application, the third electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The third electronic device is used as the most relevant device of the patch package, and an application program on the third electronic device can be differentiated with the patch package to form differential data.
By implementing the method of the third aspect, the problem that the server issues the patch with larger data size for different devices for multiple times under the condition that the same application program of different terminal devices is updated can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
With reference to the third aspect, in some embodiments, having a coincidence may mean that the code of the first application and the code of the first patch package have the same method, variables.
With reference to the third aspect, in some embodiments, the third electronic device may be an electronic device, among a plurality of electronic devices, that has a highest contact ratio between the installed first application program and the first patch package or a contact ratio higher than a first threshold value.
With reference to the third aspect, in some embodiments, the overlap ratio between the first application program installed on the third electronic device and the first patch package may be: (number of identical methods+number of identical variables)/(total number of methods+total number of variables),
the same method may be a method of both the first application installed on the third electronic device and the first patch package, the same variable may be a variable of both the first application installed on the third electronic device and the first patch package, the total number of methods may be a difference value between a sum of all methods in the first application installed on the third electronic device and the first patch package and the same method, and the total number of variables may be a difference value between a sum of all variables in the first application installed on the third electronic device and the first patch package and the same variable.
With reference to the third aspect, in some embodiments, if the platform-level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the platform-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the application-level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the application-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the third aspect, in some embodiments, if the application level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the application level contact ratio of the first application installed on another electronic device in the plurality of electronic devices to the first patch package, the platform level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the platform level contact ratio of the first application installed on another electronic device in the plurality of electronic devices to the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the third aspect, in some embodiments, one or more software modules in the first application installed on the third electronic device overlap with a software module in the first patch package.
With reference to the third aspect, in some embodiments, having a coincidence may mean that the first application installed on the third electronic device and the first patch package have the same binary code.
In a fourth aspect, the present application provides a patching method applied to a third electronic device in a first patching system, the first patching system including: the method may include:
the third electronic device sends a first data packet to the second electronic device, wherein the first data packet comprises a first software module in a first application program installed on the third electronic device, and the first software module is overlapped with the first patch packet;
The first patch package is restored by the second electronic device through the first differential data and the first software module in the first application program on the third electronic device, the third electronic device is an electronic device with the first application program overlapped with the first patch package, the first differential data is generated by the server in a differential mode through the first application program on the third electronic device and the first patch package, the first differential data is sent to the second electronic device, and the second electronic device is used for restoring the first patch package according to the first differential data and the first software module in the first application program on the third electronic device; the second electronic device is also configured to send the first patch package to the first electronic device.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device for installing an application program, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In the present application, the third electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The third electronic device is used as the most relevant device of the patch package, and an application program on the third electronic device can be differentiated with the patch package to form differential data.
By implementing the method in the fourth aspect, the problem that the server issues the patch with larger data size for different devices for multiple times under the condition that the same application program of different terminal devices is updated can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
In connection with the fourth aspect, in some embodiments, having a coincidence may mean that the code of the first application and the code of the first patch package have the same method, variables.
In combination with the fourth aspect, in some embodiments, the third electronic device may be an electronic device, among the plurality of electronic devices, having a highest contact ratio between the installed first application program and the first patch package or having a contact ratio higher than a first threshold value.
With reference to the fourth aspect, in some embodiments, the contact ratio between the first application program installed on the third electronic device and the first patch package may be: (number of identical methods+number of identical variables)/(total number of methods+total number of variables),
The same method may be a method of both the first application installed on the third electronic device and the first patch package, the same variable may be a variable of both the first application installed on the third electronic device and the first patch package, the total number of methods may be a difference value between a sum of all methods in the first application installed on the third electronic device and the first patch package and the same method, and the total number of variables may be a difference value between a sum of all variables in the first application installed on the third electronic device and the first patch package and the same variable.
With reference to the fourth aspect, in some embodiments, if the platform-level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the platform-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the application-level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the application-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the fourth aspect, in some embodiments, if the application level contact ratio of the first application program installed on the third electronic device to the first patch package is the same as the application level contact ratio of the first application program installed on another electronic device in the plurality of electronic devices to the first patch package, the platform level contact ratio of the first application program installed on the third electronic device to the first patch package is higher than the platform level contact ratio of the first application program installed on another electronic device in the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the fourth aspect, in some embodiments, one or more software modules in the first application installed on the third electronic device overlap with a software module in the first patch package.
In connection with the fourth aspect, in some embodiments, having a coincidence may mean that the first application installed on the third electronic device and the first patch package have the same binary code.
In a fifth aspect, the present application provides a patching method applied to a first patching system, the first patching system comprising: a server, a plurality of electronic devices having a first application installed thereon, the method may include: the server may differentiate the first application program and the first patch package on the third electronic device to generate first differential data, where the first patch package is used to upgrade the first application program on the first electronic device, the third electronic device is an electronic device with an installed first application program overlapping with the first patch package in the multiple electronic devices, then the server may send the first differential data to the second electronic device, and the second electronic device may restore the first patch package according to the first differential data and a first software module in the first application program on the third electronic device, where the first software module overlaps with the first patch package, and then the second electronic device sends the first patch package to the first electronic device, where the first electronic device upgrades the first application program installed on the first electronic device with the first patch package.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device for installing an application program, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In the present application, the third electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The third electronic device is used as the most relevant device of the patch package, and an application program on the third electronic device can be differentiated with the patch package to form differential data.
By implementing the method of the fifth aspect, the problem that the server issues the patch with larger data size for different devices for multiple times under the condition that the same application program of different terminal devices is updated can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
With reference to the fifth aspect, in some embodiments, having a coincidence may mean that the code of the first application and the code of the first patch package have the same method, variable.
With reference to the fifth aspect, in some embodiments, the third electronic device may be an electronic device, among a plurality of electronic devices, that has a highest contact ratio between the installed first application program and the first patch package or a contact ratio higher than a first threshold value.
With reference to the fifth aspect, in some embodiments, a contact ratio between the first application program installed on the third electronic device and the first patch package may be: (number of identical methods+number of identical variables)/(total number of methods+total number of variables),
the same method may be a method of both the first application installed on the third electronic device and the first patch package, the same variable may be a variable of both the first application installed on the third electronic device and the first patch package, the total number of methods may be a difference value between a sum of all methods in the first application installed on the third electronic device and the first patch package and the same method, and the total number of variables may be a difference value between a sum of all variables in the first application installed on the third electronic device and the first patch package and the same variable.
With reference to the fifth aspect, in some embodiments, if the platform-level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the platform-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the application-level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the application-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the fifth aspect, in some embodiments, if the application level contact ratio of the first application program installed on the third electronic device to the first patch package is the same as the application level contact ratio of the first application program installed on another electronic device in the plurality of electronic devices to the first patch package, the platform level contact ratio of the first application program installed on the third electronic device to the first patch package is higher than the platform level contact ratio of the first application program installed on another electronic device in the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the fifth aspect, in some embodiments, one or more software modules in the first application installed on the third electronic device overlap with a software module in the first patch package.
With reference to the fifth aspect, in some embodiments, having a coincidence may mean that the first application installed on the third electronic device and the first patch package have the same binary code.
In a sixth aspect, the present application provides a patching system, the patching system comprising: the system comprises a server and a plurality of electronic devices, wherein a first application program is installed on the electronic devices, the server is used for generating first differential data according to the first application program and a first patch package on a third electronic device in a differential mode, the first patch package is used for upgrading the first application program on the first electronic device, the third electronic device is an electronic device, which is overlapped with the first patch package, of the plurality of electronic devices, the plurality of electronic devices comprise the first electronic device and the third electronic device, the server is used for sending the first differential data to a second electronic device, the plurality of electronic devices further comprise a second electronic device, the second electronic device is used for recovering the first patch package according to the first differential data and a first software module in the first application program on the third electronic device, the first software module is overlapped with the first patch package, and the second electronic device is used for sending the first patch package to the first electronic device, and the first electronic device is used for upgrading the first application program installed on the first electronic device by using the first patch package.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device for installing an application program, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In the present application, the third electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The third electronic device is used as the most relevant device of the patch package, and an application program on the third electronic device can be differentiated with the patch package to form differential data.
By implementing the method of the sixth aspect, the problem that the server issues the patch with larger data size for different devices for multiple times under the condition that the same application program of different terminal devices is updated can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
With reference to the sixth aspect, in some embodiments, having a coincidence may mean that the code of the first application and the code of the first patch package have the same method, variables.
With reference to the sixth aspect, in some embodiments, the third electronic device may be an electronic device, among a plurality of electronic devices, that has a highest contact ratio between the installed first application program and the first patch package or a contact ratio higher than a first threshold value.
With reference to the sixth aspect, in some embodiments, a contact ratio between the first application program installed on the third electronic device and the first patch package may be: (number of identical methods+number of identical variables)/(total number of methods+total number of variables),
the same method may be a method of both the first application installed on the third electronic device and the first patch package, the same variable may be a variable of both the first application installed on the third electronic device and the first patch package, the total number of methods may be a difference value between a sum of all methods in the first application installed on the third electronic device and the first patch package and the same method, and the total number of variables may be a difference value between a sum of all variables in the first application installed on the third electronic device and the first patch package and the same variable.
With reference to the sixth aspect, in some embodiments, if the platform-level contact ratio of the first application installed on the third electronic device to the first patch package is the same as the platform-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package, the application-level contact ratio of the first application installed on the third electronic device to the first patch package is higher than the application-level contact ratio of the first application installed on another electronic device of the plurality of electronic devices to the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the sixth aspect, in some embodiments, if the application level contact ratio of the first application program installed on the third electronic device to the first patch package is the same as the application level contact ratio of the first application program installed on another electronic device in the plurality of electronic devices to the first patch package, the platform level contact ratio of the first application program installed on the third electronic device to the first patch package is higher than the platform level contact ratio of the first application program installed on another electronic device in the plurality of electronic devices to the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
With reference to the sixth aspect, in some embodiments, one or more software modules in the first application installed on the third electronic device overlap with a software module in the first patch package.
With reference to the sixth aspect, in some embodiments, having a coincidence may mean that the first application installed on the third electronic device and the first patch package have the same binary code.
In a seventh aspect, the present application provides another patching method, which may include: the server may perform differencing according to a first application program and a first patch package on the first electronic device to generate second differencing data, where the first patch package is used to upgrade the first application program on the first electronic device, and then the server sends the second differencing data to the second electronic device, where the second electronic device restores the first patch package according to the second differencing data and a first software module of the first application program on the first electronic device, where the first software module coincides with the first patch package, and then the second electronic device sends the first patch package to the first electronic device, where the first electronic device upgrades the first application program installed thereon with the first patch package.
In the present application, the first electronic device may be a mobile phone, a smart bracelet, a smart headset, a smart speaker, a smart television, a tablet computer, a notebook computer, a desktop computer, or other types of terminal devices. The first electronic device may be a terminal device in which an application program is installed, that is, a target device of the patch package.
In the present application, the second electronic device may be a terminal device with a relatively strong computing capability and a relatively sufficient energy storage capability, such as a mobile phone, a tablet computer, a notebook computer, a desktop computer, and the like. The second electronic device serves as a super terminal and has the functions of receiving differential data and restoring the patch package.
In an eighth aspect, the present application provides a server, which may include: the system comprises a communication device, a memory and a processor coupled to the memory, a plurality of application programs, and one or more programs. When the processor executes one or more of the programs, the electronic device may implement any function of the electronic device in the first aspect, which is not described herein.
In a ninth aspect, the present application provides an electronic device, where the electronic device is a first electronic device, and may include: the system comprises a communication device, a memory and a processor coupled to the memory, a plurality of application programs, and one or more programs. When the processor executes one or more of the programs, the electronic device may implement any function of the electronic device in the second aspect, which is not described herein.
In a tenth aspect, the present application provides an electronic device, which is a second electronic device, and may include: the system comprises a communication device, a memory and a processor coupled to the memory, a plurality of application programs, and one or more programs. When the processor executes one or more of the programs, the electronic device may implement any function of the electronic device in the third aspect, which is not described herein.
In an eleventh aspect, the present application provides an electronic device, where the electronic device is a third electronic device, and may include: the system comprises a communication device, a memory and a processor coupled to the memory, a plurality of application programs, and one or more programs. When the processor executes one or more of the programs, the electronic device may implement any function of the electronic device in the fourth aspect, which is not described herein.
In a twelfth aspect, the present application provides a computer readable medium having instructions stored therein. The instructions, when executed on an electronic device, may cause the electronic device to perform any of the functions of the first and/or second and/or third and/or fourth and/or fifth and/or sixth and/or seventh and/or eighth and/or ninth and/or tenth and/or eleventh aspects, which are not described in detail herein.
Drawings
Fig. 1 is a schematic architecture diagram of a patch system according to an embodiment of the present application;
fig. 2 is a schematic view of a method of patching provided in an embodiment of the present application;
FIG. 3A is a schematic diagram of a method for determining the most relevant device provided in an embodiment of the present application;
FIG. 3B is a schematic diagram of a method for generating differential data C according to an embodiment of the present application;
FIG. 3C is a schematic diagram of a method for restoring patch 3 according to an embodiment of the present application;
FIG. 4 is a flow chart of a method of patching provided by an embodiment of the present application;
FIG. 5 is a schematic view of another method of patching provided by an embodiment of the present application;
FIG. 6A is a schematic diagram of a method for determining minimum differential data provided by an embodiment of the present application;
FIG. 6B is a schematic diagram of a method for determining minimum differential data provided by embodiments of the present application;
FIG. 6C is a schematic diagram of three differential modes provided by embodiments of the present application;
FIG. 6D is a schematic diagram of another method for restoring patch 3 provided by an embodiment of the present application;
FIG. 7 is a flow chart of another method of patching provided by an embodiment of the present application;
fig. 8 is a schematic hardware structure of an electronic device according to an embodiment of the present application;
Fig. 9 is a schematic structural diagram of a server according to an embodiment of the present application;
FIG. 10 is a schematic diagram of a user interface provided by an embodiment of the present application;
FIG. 11A is a schematic diagram of a user interface provided by an embodiment of the present application;
FIG. 11B is a schematic diagram of a user interface provided by an embodiment of the present application;
FIG. 11C is a schematic diagram of a user interface provided by an embodiment of the present application;
fig. 11D is a schematic diagram of a user interface provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
First, a patching system 10 and how an application "APP-1" is upgraded with patches in the patching system 10 will be described in connection with fig. 1.
As shown in the example of fig. 1, the patch system 10 may include a server 100, a router 101, and a plurality of terminal devices such as a mobile phone 102, a smart band 103, a smart headset 104, a smart speaker 105, a smart television 106, a computer 107, and the like. The router 101 may construct a wireless network and transmit wireless network signals, and terminal devices such as the mobile phone 102, the smart bracelet 103, the smart earphone 104, the smart speaker 105, the smart television 106, the computer 107, etc. may communicate with the server 100 through the wireless network of the access router 101.
As shown in fig. 1, a plurality of terminal devices in patch system 10 may have different versions of application "APP-1" installed thereon. Specifically, the version of "APP-1" on the mobile phone 102 is "2.0.0", and the size of the adapted patch 1 is 20M; version of "APP-1" on smart band 103 is "3.0.0", which fits patch 2 of size 2M; version of "APP-1" on smart phone 104 is "4.0.0" with an adapted patch 3 size of 800K; version of "APP-1" on smart speaker 105 is "5.0.0", which is fit patch 4 size 1M; version of "APP-1" on smart tv 106 is "6.0.0", its adapted patch 5 size is 50M; the version of "APP-1" on computer 107 is "7.0.0" and the size of the patch 6 is 40M.
In the patch system 10, when the server 100 detects that "APP-1" on the smart phone 104 needs to be upgraded, first, the server 100 may send, to the smart phone 104, a patch 3 adapted to "APP-14.0.0for smart phone" through the router 101, where the patch 3 has a size of 800K. Next, the smart phone 104 may directly download patch 3 to upgrade the application "APP-1" from "APP-14.0.0for smart phone" to "APP-14.1.0for smart phone". The process of upgrading "APP-1" by using the patch on other terminal devices can be similar to the process of directly downloading patch 3 by "APP-1" on the smart phone 104 for upgrading.
As can be seen from fig. 1, since the versions of "APP-1" on different terminal devices are different, the patches issued by the server 100 for adapting to "APP-1" on each terminal device are also different, which results in a large data transmission amount and a serious network burden when the server 100 issues a plurality of patch packages adapted to different terminal devices to the terminal devices that need to be upgraded.
As shown in fig. 2, an embodiment of the present application provides a patching system 20 and a patching method implemented in the patching system. In the patch system 20 shown in fig. 2, a terminal device with a strong computing capability and a sufficient memory capability, such as the mobile phone 102, may be referred to as a "super terminal". The super terminal can restore the patch packet adapted to the target device (such as the intelligent earphone 104) by using the differential data with smaller data volume issued by the server 100, and then the super terminal sends the restored patch packet to the target device, so that the server 100 does not need to directly transmit the patch packet with larger data volume to each terminal device, thereby reducing the data transmission volume and reducing the network burden.
As exemplarily shown in fig. 2, a patch system 20 provided in an embodiment of the present application may include: server 100, mobile phone 102, smart band 103, and smart earphone 104. The handset 102, smart band 103, and smart headset 104 may be in the same local area network through the same Wi-Fi access point provided by the access router 101. The mobile phone 102, the smart band 103, the smart earphone 104 and other terminal devices can be provided with an application program APP-1. The version of "APP-1" in the mobile phone 102 is 2.0.0, the version of "APP-1" in the smart band 103 is 3.0.0, and the version of "APP-1" in the smart earphone 104 is 4.0.0.
Taking an example of upgrading "APP-1" installed on the smart phone 104 in the patching system 20, the patching method provided in the embodiment of the present application may include the following steps:
step 1, server 100 may prepare patch 3, which may be 800K in size, for example, for an upgrade for "APP-1" of smart phone 104.
Step 2, the server 100 determines the most relevant device from all the terminal devices connected with the server. In this example, the most relevant devices may be a cell phone 102 and a smart band 103, the cell phone 102 being selected as the most relevant device because "APP-1.0.0" on its device has a software module that is highly coincident with patch 3, and the smart band 103 also being selected as the most relevant device because "APP-13.0.0" on its device has a software module that is highly coincident with patch 3.
Step 3, the server 100 may generate differential data C with the patch 3 by using "APP-1" (specifically, some modules having high coincidence with the patch 3) on the most relevant devices (i.e. the mobile phone 102 and the smart band 103), and the size of the differential data C may be 50K, which is significantly smaller than the size of the patch 3.
Step 4, the server 100 may send the differential data C to the handset 102 and inform the handset 102 of the target device (i.e., the smart headset 104) and the most relevant devices.
Step 5, the mobile phone 102 may restore the patch 3 by using the differential data C and "APP-1" on the most relevant device (specifically, may refer to some modules that have a high degree of overlap with the patch 3), and then the mobile phone 102 may send the restored patch 3 to the smart earphone 104 (i.e. the target device).
Step 6, the smart phone 104 may upgrade "APP-1" by using patch 3 of the mobile phone 102, and specifically may upgrade "APP-1" from the old version 4.0.0 to the new version 4.1.0.
It can be seen that, due to the role of "super terminal" in the patch system 20 provided in the embodiment of the present application, the server 100 may not need to directly transmit a patch with a large data volume to each terminal device, but only need to transmit differential data with a small data volume generated by using the patch package and the application program on the most relevant device to the "super terminal".
Furthermore, the super terminal can restore the patch package by utilizing the differential data and the application program on the most relevant equipment, and transmit the patch package to the target equipment so as to finally realize the application program upgrade on the target equipment. The patch technology obviously reduces the data transmission quantity between the server and each terminal device when the server upgrades the application program on each terminal device.
In the above patch technique, details will be described below regarding how to determine the most relevant devices, how to generate differential data, and how to restore the patch package using the differential data.
1. How to determine the most relevant device
In the embodiment of the present application, the most relevant device may refer to a terminal device on which "APP-1" has one or more software modules that are highly overlapped with those in patch 3. For any one patch, a most relevant device may be determined, or a plurality of most relevant devices may be determined. In the patch system 20 shown in fig. 2, any one of the terminal devices may become the most relevant device of the patch 3.
Fig. 3A illustrates the software architecture of APP-1 and patch 3 on a terminal device such as a mobile phone 102, smart band 103, smart speaker 105, etc.
As shown in FIG. 3A, the patch 3 and the "APP-1" on each terminal device can be divided into three software modules according to their software architecture, namely FA1interface code, entryegcy code and FA1 code, wherein the FA1interface code software module can be used for realizing the specific logic structure of the interface layer, the Entryegcy code software module can be used for realizing the compatible processing function of the software data system, and the FA1 code module can be used for realizing the HongMonte card function of the application program. Each software module may be composed of multiple methods and variables, and the same software module may be differently composed in patches on different terminal devices.
For example, as shown in FIG. 3A, the FA1interface code software module in patch 3 may include the following variables: variable 1-a, variable 1-b, variable 1-c, variable 1-d, and methods of: method 1-a, method 1-b, method 1-c, method 1-d. The FA1interface code software module in "APP-1" on handset 102 may include the following variables: variable 1-a, variable 1-b, variable 1-c, variable 1-d, variable 1-e, variable 1-f, and methods of: method 1-a, method 1-b, method 1-c, method 1-d, method 1-e, method 1-f. The FA1interface code software module in "APP-1" on the smart band 103 may include the following variables: variables 1-d, 1-e, 1-f, and the following methods: method 1-d, method 1-e, method 1-f. The FA1interface code software module in "APP-1" on the Smart speaker 105 may include the following variables: variables 1-e, 1-f, 1-g, and the following methods: method 1-e, method 1-f, method 1-g. The variables and methods that similar patch 3 and other various modules of other various terminal devices may include are shown in fig. 3A and are not described in detail herein.
It can be seen that the overlap ratio between the FA1interface code (02) module of "APP-1" on the mobile phone 102 and the FA1interface code (01) module in patch 3 is the highest, and the same variables are as follows: variables 1-a, 1-b, 1-c, 1-d, and the same method as follows: method 1-a, method 1-b, method 1-c, method 1-d.
The overlap ratio of the Entregcy code (03) module of "APP-1" on the smart band 103 and the Entregcy code (01) module in patch 3 is the highest, with the same variables as follows: variable 2-b, variable 2-c, variable 2-g, and the like, as follows: method 2-b, method 2-c, method 2-g.
The overlap ratio of the FA1 code (03) module of "APP-1" on the smart band 103 and the FA1 code (01) module in patch 3 is the highest, and the variables are the same as follows: variable 3-a, variable 3-b, variable 3-g, and the like, as follows: method 3-a, method 3-b, method 3-g.
Wherein the overlap ratio= (number of identical methods+number of identical variables)/(total number of methods+total number of variables).
Therefore, the FA1 interface code module in "APP-1" of the mobile phone 102 has the greatest correlation with the FA1 interface code module in patch 3, the Entregcy code module in "APP-1" of the smart band 103 has the greatest correlation with the FA1 code module in patch 3, and the FA1 code module in "APP-1" of the smart band 103 has the greatest correlation with the FA1 code module in patch 3.
As described above, the code correspondence in the three modules of the different software versions of "APP-1" of different terminal devices is different, the correlation between the three modules of the patch 3 and the module corresponding to the name of "APP-1" on all the terminal devices is obtained by applying the method of calculating correlation, and the module of "APP-1" having the greatest correlation with the three modules of the patch 3 is selected, namely the most relevant module, and the terminal device in which the most relevant module is located is the most relevant device.
In the embodiment of the present application, the method for calculating the correlation in order to determine the most relevant device may include two kinds of methods:
the first method is to calculate the coupling coefficient, namely, reversely analyze the module software code to obtain a plurality of variables and methods in the corresponding code segment, and perform structural analysis, wherein the coupling coefficient is calculated as follows:
coupling coefficient= (variable number change+method number change)/(method number+variable number)
Calculating a coupling coefficient by taking a single software module as a unit, and selecting a module with the smallest coupling coefficient, namely the highest contact ratio, as the most relevant module, wherein terminal equipment where the module is positioned is the most relevant equipment;
furthermore, the method and variable in each software module can be further divided into two dimensions, namely a platform dimension and an application dimension, wherein the method and variable of the platform dimension is divided by taking the terminal equipment as the only difference, and the method and variable of the application dimension is divided by taking the application program as the only difference. How the most relevant device is determined in two dimensions is described in connection with fig. 3A.
In determining the most relevant devices, the method and variables in the platform dimension and the method and variables in the application dimension may be distinguished for priority.
For example, if the priority of the platform dimension is higher than the priority of the application dimension, then it is first determined which devices have software modules that have a high degree of overlap with patch 3 based on the method and variables of the platform dimension.
In step 2 shown in FIG. 3A, regarding the method diagram for determining the most relevant device, it is assumed that variables 1-d and methods 1-d in the FA1 interface code (01) module in patch 3 are variables and methods of the platform dimension, and variables 1-a, 1-b, 1-c and methods 1-a, 1-b, 1-c are variables and methods of the application dimension; variable 1-d and method 1-d in FA1 interface code (02) module in version 2.0.0 of "APP-1" on handset 102 are variables and methods of platform dimension, variable 1-a, variable 1-b, variable 1-c, variable 1-e, variable 1-f and method 1-a, method 1-b, method 1-c, method 1-e, method 1-f are variables and methods of application dimension; the variables 1-d and method 1-d in the FA1 interface code (03) module in version 3.0.0 of "APP-1" are the variables and methods of the platform dimension, the variables 1-e, 1-f and method 1-e, and the method 1-f are the variables and methods of the application dimension.
It can be known that, in the platform dimension, the coupling coefficient between the FA1 interface code (01) module in the patch 3 and the FA1 interface code (02) module in the version 2.0.0 of "APP-1" on the mobile phone 102 is zero, and similarly, the coupling coefficient between the FA1 interface code (01) module in the patch 3 and the FA1 interface code (03) module in the version 3.0.0 of "APP-1" is zero, that is, the coupling coefficient between the FA1 interface code (01) module in the patch 3 and the FA1 interface code (01) module in the patch 3 is equal, and in this case, the coupling coefficient calculation in the application dimension is performed again to obtain the module with the minimum coupling coefficient with the FA1 interface code (01) module in the patch 3, so as to determine the most relevant device, and the calculation mode is similar to that in the platform dimension.
Conversely, if the priority of the application dimension is higher than the priority of the platform dimension, then it is first determined which devices have software modules that have a high degree of overlap with patch 3 based on the method and variables of the application dimension. The calculation is similar as shown above. If the coupling coefficient of a certain module on a certain two devices calculated in the application dimension is equal to that of a certain module of the patch 3, the coupling coefficient calculation in the platform dimension is performed, so that the most relevant device is determined.
The method and the variable coupling coefficient are not limited to the method and the variable coupling coefficient for determining the most relevant device, and the embodiment of the application can also determine the most relevant device by using the binary code of the software module.
The second method is to perform correlation calculation (including, but not limited to, bsdiff algorithm) on the module software code by using binary system, and the following is the correlation coefficient size between the patch 3 and the corresponding module in "APP-1" of each terminal device according to the embodiment:
the correlation coefficient calculated by the FA1 interface code module of the patch 3 and the FA1 interface code module of the 'APP-1' in the mobile phone 102 is 0.8, the correlation coefficient calculated by the Entry Legcycode module of the patch 3 and the Entry Legcycode module of the 'APP-1' in the mobile phone 102 is 0.4, and the correlation coefficient calculated by the FA1 code module of the patch 3 and the FA1 code module of the 'APP-1' in the mobile phone 102 is 0.2;
The correlation coefficient calculated by the FA1 interface code module of the patch 3 and the FA1 interface code module of the 'APP-1' in the intelligent bracelet 103 is 0.7, the correlation coefficient calculated by the Entry Legcycode module of the patch 3 and the Entry Legcycode module of the 'APP-1' in the intelligent bracelet 103 is 0.7, and the correlation coefficient calculated by the FA1 code module of the patch 3 and the FA1 code module of the 'APP-1' in the intelligent bracelet 103 is 0.6;
the correlation coefficient calculated by the FA1 interface code module of the patch 3 and the FA1 interface code module of the 'APP-1' in the intelligent sound box 105 is 06, the correlation coefficient calculated by the Entry Legcycode module of the patch 3 and the Entry Legcycode module of the 'APP-1' in the intelligent sound box 105 is 0.6, and the correlation coefficient calculated by the FA1 code module of the patch 3 and the FA1 code module of the 'APP-1' in the intelligent sound box 105 is 0.5;
as can be seen from the above correlation coefficients, the correlation coefficient between FA1 interface code (02) in "APP-1" of the mobile phone 102 and FA1 interface code (01) in patch 3 is at most 0.8, the correlation coefficient between EntryLegacyCode (03) in "APP-1" of the smart phone 104 and EntryLegacyCode (01) in patch 3 is at most 0.7, and the correlation coefficient between FA1 code (03) in "APP-1" of the smart phone 104 and FA1 code (01) in patch 3 is at most 0.6. Then the most relevant devices of patch 3 may be determined to be handset 102 and smart phone 104.
In the method diagram of step 3 shown in fig. 3B regarding how to obtain the differential data, it can be seen that, on the server 100, the differential data C is obtained by differentiating the software modules (the FA1 interface code (02) module, the Entry legacy code (03) module, and the FA1 code (03) module shown in fig. 3B) and the patch 3 on the most relevant devices according to the rule of misclassification. The differential data C also has the same software architecture as patch 3 and "APP-1" on each terminal device, i.e. also includes three modules FA1 interface code, entryegcy code and FA1 code.
2. How to generate differential data
Fig. 3B exemplarily shows a specific operation on how the differential data C is generated. As shown in fig. 3B, the methods and variables in the gray dashed lines in each module are the methods and variables that are discarded after the difference, and the remaining methods and variables are the methods and variables that remain after the difference.
As can be seen, the FA1 interface code (00) is generated by differentiating the FA1 interface code (01) in patch 3 from the FA1 interface code (02) in "APP-1.0.0" of the handset 102, the Entry code (00) is generated by differentiating the Entry code (01) in patch 3 from the Entry code (03) in "APP-1.0.0" of the smart band 103, and the FA1 code (00) is generated by differentiating the FA1 code (01) in patch 3 from the FA1 code (03) in "APP-1.0.0" of the smart band 103.
As can be seen from the above description, the differential data C acquired in this manner has the smallest differential data amount, and the size is only 50K, so that when the server 100 transmits the differential data C to the mobile phone 102, the transmitted data amount is smallest, the transmission efficiency is highest, and the patch repair emergency problem efficiency can be improved.
3. How to restore the patch
In the method diagram of how to restore the patch 3 in step 4 shown in fig. 3C, it can be seen that, in the mobile phone 102, each module in the differential data C and the most relevant module of "APP-1" of the most relevant device (fig. 3C shows the FA1 interface code (02) module, the Entryegcy code (03) module, and the FA1 code (03) module) restore the patch 3 according to the principle of de-duplication, which is to discard the variables and methods shared by the differential data C and the most relevant module, and retain the variables and methods specific to the differential data C and the variables and methods specific to the most relevant module. The method and variable in the gray dotted line in each module are the method and variable discarded after reduction, and the rest are the method and variable reserved after reduction.
Specifically, the FA1 interface code (01) module is the FA1 interface code (02) module in the smart phone 102 and the FA1 interface code (00) module in the differential data C, the common variables 1-e, 1-f and 1-e and 1-f are discarded, and the variables 1-a, 1-b, 1-C, 1-d and 1-a, 1-b, 1-C and 1-d unique to the FA1 interface code (02) module are left;
Discarding the common variable 2-h and method 2-h for the Entregcy code (03) module in the smart band 103 and the Entregcy code (00) module in the differential data C, and leaving the variable 2-b, the variable 2-C, the variable 2-g and method 2-b, the method 2-C, the method 2-g and the variable 2-f and the method 2-f unique to the Entregcy code (03) module;
the FA1 code (01) module discards the common variable 3-h and method 3-h for the FA1 code (03) module in the smart band 103 and the FA1 code (00) module in the differential data C, leaving the variable 3-a, the variable 3-b, the variable 3-g and method 3-a, the method 3-b, the method 3-g and the variable 3-d and method 3-d unique to the FA1 code (03) module.
It will be appreciated that the implementation scenario in fig. 2 is merely for illustrative purposes of describing the embodiments of the present application, and is not meant to limit the present application in any way.
Fig. 4 shows a method flow of a method for patching provided in an embodiment of the present application. Specifically, the method may include the steps of:
s101, the server side automatically detects whether the 'APP-1' of the terminal equipment under the server 100 needs to issue a patch, and determines that the 'APP-1' of the intelligent earphone 104 needs to issue a patch 3.
S102, the server 100 sends a patch 3 to the mobile phone 102 to issue prompt information, wherein the prompt information comprises terminal equipment to be updated, namely an intelligent earphone 104, and version information before and after update of APP-1 of the equipment, namely from 4.0.0 to 4.1.0.
S103, the mobile phone 102 detects an update selection operation by the user.
S104, the server 100 obtains a request that the user agrees to download the patch 3 and update the APP-1.
S105, the server 100 obtains version information of APP-1 of all terminal devices, and further determines the most relevant device in combination with patch 3.
S106, the server 100 obtains differential data C according to the difference between the APP-1 of the most relevant device and the patch 3.
S107, the server 100 issues the differential data C to the mobile phone 102.
S108, the mobile phone 102 restores the patch 3 according to the most relevant module of the APP-1 and the differential data C in the most relevant equipment.
S109, the mobile phone 102 sends an APP-1 patch 3 for updating the smart phone 104 to the smart phone 104.
S110, the intelligent earphone 104 downloads and installs the patch 3 to update the version.
S111, the server 100 receives an instruction of successful update of the APP-1 from the intelligent earphone 104.
S112, the server 100 updates and stores the 'APP-1' version information of the intelligent earphone 104.
S113, the server 100 sends an instruction of successful update of the APP-1 to the mobile phone 102.
S114, the 'APP-1' version of the intelligent earphone 104 is successfully updated to 4.1.0 from 4.0.0 on the mobile phone 102.
As shown in fig. 5, the embodiment of the present application further provides a patching system 30 and a patching method implemented in the patching system. In the patch system shown in fig. 5, a terminal device with a strong computing capability and a sufficient storage capability, such as the mobile phone 102, may be used as a "super terminal". The super terminal can restore the patch packet adapted to the target device by using the differential data with smaller data volume issued by the server 100, and then the super terminal sends the restored patch packet to the target device, so that the server 100 also achieves the effect of directly transmitting the patch packet with larger data volume to the target device, thereby reducing the data transmission volume and relieving the network load.
In some embodiments, the target device of the patch package issued by the server is not in the scenario of a 1+8+n device, but is a single terminal device that can establish a connection with the handset 102 for communication, so there is no most relevant module, nor is there a most relevant device with the patch package.
As exemplarily shown in fig. 5, a patch system 30 provided in an embodiment of the present application may include: server 100, mobile phone 102, and smart phone 104. The handset 102 and the smart headset 104 may be in the same local area network through the same Wi-Fi access point provided by the access router 101. The mobile phone 102, the intelligent earphone 104 and other terminal devices can be provided with an application program APP-1. The version of "APP-1" in the mobile phone 102 is 2.0.0, and the version of "APP-1" in the smart phone 104 is 4.0.0.
Taking an example of upgrading "APP-1" installed on the smart phone 104 in the patching system 30, the patching method provided in the embodiment of the present application may include the following steps:
step 1, server 100 may prepare patch 3 for the upgrade required for "APP-1" of smart phone 104, which may be 800K in size, for example.
Step 2, the server 100 may generate three different differential data a, b and c by using "APP-1.0.0" of the smart earphone 104 and the patch 3, where it is known that the differential data a has a minimum data size, for example, 80K, and is significantly smaller than the size of the patch 3.
Step 3, the server 100 may send the differential data a to the mobile phone 102, and inform the mobile phone 102 of the target device (i.e. the smart phone 104) and the differential data.
In step 4, the mobile phone 102 may restore the patch 3 by using the differential data a and "APP-1.4.0.0" on the smart phone 104 (specifically, the differential partial data), and then the mobile phone 102 may send the restored patch 3 to the smart phone 104 (i.e., the target device).
Step 5, the smart phone 104 may upgrade "APP-1" by using patch 3 of the mobile phone 102, and specifically may upgrade "APP-1" from the old version 4.0.0 to the new version 4.1.0.
It can be seen that, due to the role of "super terminal" in the patch system 30 provided in the embodiment of the present application, the server 100 may not need to directly transmit a patch with a large data amount to each terminal device, but only need to transmit differential data with a minimum data amount generated by using the patch package and an application program on the target device to the "super terminal".
Furthermore, the super terminal can restore the patch package by utilizing the differential data and the application program on the target device, and transmit the patch package to the target device so as to finally realize the application program upgrade on the target device. This patching technique significantly reduces the amount of data transferred between the server and each target device when upgrading the application on each target device.
In the above-described patch technique, details will be described below regarding how to generate the minimum differential data and how to restore the patch package using the differential data.
1. How to determine the minimum differential data
In the method diagram of determining the minimum differential data in step 2 shown in fig. 6A and 6B, the code architecture of the differential data includes patch 3, APP-1 of the smart earphone 104. As can be seen from fig. 6A, the "APP-1" of the smart phone 104 may be divided into three modules of FA1 interface code, entregcy code and FA1 code according to its software architecture, the patch 3 may be divided into two modules of entregcy code and FA1 code according to its software architecture,
specifically, the Entregcy code module in patch 3 is not equivalent to the Entregcy code module in "APP-1" of the smart phone 104, but rather, the FA1 interface code and Entregcy code modules in "APP-1" of the smart phone 104 are upgraded together. This results in uncertainty in the specific distribution of the method and variables across the two modules FA1 interface code and Entregcy code in "APP-1" of the smart phone 104, and thus the minimum differential data is determined by three differential methods.
The determination of the minimum difference data diagram shown in fig. 6B and the three difference modes shown in fig. 6C are to recombine the differences between the software module on the patch 3 and the software module on the intelligent earphone 104"app-1" to form difference data, and the three difference modes include:
The first difference mode is to perform difference between the FA1 interface code module of "APP-1" of the smart earphone 104 and the Entrylegcy code module in the patch 3 to obtain a difference module 1, wherein the difference module 1 includes a variable 1-d, a variable 2-b, a variable 2-e, a variable 2-g, a method 1-d, a method 2-b, a method 2-e, and a method 2-g, and perform difference between the FA1 code module of "APP-1" of the smart earphone 104 and the FA1 code module in the patch 3 to obtain a difference module 4, wherein the difference module 4 includes a variable 3-a, a variable 3-d, a method 3-a, and a method 3-d, and the difference module 1 and the difference module 4 can form difference data a.
The second differential mode is to differential the Entregcy code module of "APP-1" of the smart earphone 104 with the Entregcy code module in the patch 3 to obtain a differential module 2, where the differential module 2 includes a variable 1-a, a variable 1-b, a variable 1-c, a variable 1-d, a variable 2-a, a variable 2-c, a variable 2-e, a variable 2-g, a method 1-a, a method 1-b, a method 1-c, a method 1-d, a method 2-a, a method 2-c, a method 2-e, and a FA1 code module in the patch 3, and the differential module 2 and the differential module 4 may form differential data b.
The third differential mode is to differential the FA1 interface code module and the Entrylegcy code module of "APP-1" of the smart earphone 104 with the Entrylegcy code module in the patch 3 to obtain a differential module 3, where the differential module 3 and the differential module 4 may form differential data c.
And then the smallest differential data is selected from the differential data a, b and c, so that the differential data with the smallest differential data a can be obtained, and the transmission data quantity is the smallest and the transmission efficiency is the highest when the server 100 transmits the differential data to the mobile phone 102, thereby improving the efficiency of repairing the emergency problem by the patch.
In step 3 shown in fig. 6D, the difference data a includes two modules, namely an Entryegcy code and an FA1 code, where the Entryegcy code is obtained by differentiating the Entryegcy code module in the patch 3 with the FA1 interface module in "APP-1" of the smart earphone 104, and the FA1 code is obtained by differentiating the FA1 code module in the patch 3 with the FA1 code module in "APP-1" of the smart earphone 104.
It can be seen that, in the mobile phone 102, each module in the differential data a and the related module (fig. 6D shows the FA1 interface code module and the FA1 code module of "APP-1" in the smart phone 104) that performs the differential operation in "APP-1" in the smart phone 104 restore the patch 3 according to the rule of difference elimination, which is to discard the differential data a and the related module to share the variable and method, and retain the variable and method specific to the differential data a and the variable and method specific to the related module:
That is, the Entry egcy code module of patch 3 is composed of the FA1 interface code module in "APP-1" of smart phone 104 leaving its unique variables 1-a, 1-b, 1-c and 2-g with the Entry egcy code module in differential data a leaving its unique variables 1-d, 2-b, 2-e, 2-g and 1-d, 2-b, 2-e and 2-g.
The FA1 code module of patch 3 is composed of the variables 3-b, 3-c and 3-d which are unique to the FA1 code module in "APP-1" of the smart phone 104, the variables 3-d and 3-d which are unique to the FA1 code module in the differential data a, and the variables 3-a and 3-a which are common are discarded.
In this embodiment, the FA1 interface and FA1 code modules of "APP-1" in the smart phone 104 are not utilized in the restoration process according to only the gray modules shown in FIG. 6D, i.e., the differential data a and the FA1 interface and FA1 code modules of "APP-1" in the smart phone 104.
It will be appreciated that the implementation scenario in fig. 5 is merely for illustrative purposes of describing the embodiments of the present application, and is not meant to limit the present application in any way.
Fig. 7 shows a method flow of another patch method provided in an embodiment of the present application. Specifically, the method may include the steps of:
S201, the server side automatically detects whether the 'APP-1' of the intelligent earphone 104 under the server 100 needs to issue a patch, and determines to issue a patch 3.
S202, the server 100 sends a prompt message sent by the patch 3 to the mobile phone 102, wherein the message comprises the terminal equipment to be updated, namely the intelligent earphone 104, and version information before and after the update of the APP-1 of the equipment, namely the update from 4.0.0 to 4.1.0.
S203, the mobile phone 102 detects an operation of selecting update by the user.
S204, the server 102 obtains the request that the user agrees to download the patch 3 and update the APP-1.
S205, the server 100 obtains version information of the APP-1 of the intelligent earphone 104, and performs difference by combining the patch 3 to obtain the minimum difference data, namely difference data a.
S206, the server 100 transmits the differential data a to the mobile phone 102.
S207, the mobile phone 102 restores the patch 3 according to the APP-1 and the differential data a of the intelligent earphone 104.
S208, the mobile phone 102 sends an APP-1 patch 3 for updating the smart phone 104 to the smart phone 104.
S209, the intelligent earphone 104 downloads and installs the patch 3 to update the version.
S210, the server 100 receives an instruction that the update of the APP-1 from the intelligent earphone 104 is successful.
S211, the server 100 updates and stores the 'APP-1' version information of the intelligent earphone 104.
S212, the server 100 sends an instruction of successful update of the APP-1 to the mobile phone 102.
S213, the mobile phone 102 displays the prompt message that the APP-1 version of the intelligent earphone 104 is successfully updated from 4.0.0 to 4.1.0.
Server 100 may generate one or more sets of different resulting patches for different electronic devices as it requires. The cloud server may send the generated patch package to the mobile phone 102 through far field communication, and then transmit the patch package to the patch package target device through bluetooth connection, where each electronic device may also download the corresponding patch package by itself through a wireless network of the access router, and the generated patch package may be used to repair one or more vulnerabilities of the program, or may be used to add one or more product characteristics or functions and/or functions. For example, the electronic device may be provided with a patch package, and a "voice assistant" function may be added to help the user send information and make a call without touching the electronic device, and also help the user translate the language of the other party into a language understood by the user in real time when the user performs a conversation between different languages face to face with other people. The electronic device does not have the above-described series of related functions of the "voice assistant" before installing the patch package. In addition, patches may be of various types, such as to
Figure BDA0003365269230000191
For example, an Application (APP) layer, an application framework (application framework) layer, a kernel (kernel) layer, or a hardware driver layer may have a corresponding type of patch, which is not limited in this application.
In some embodiments, the mobile phone 102 may have a strong computing capability and sufficient internal storage space, and the mobile phone 102 may act as a super terminal to receive and process one or more patch packages from the server side. The handset 102 may have a Bluetooth (BT) module and/or a wireless local area network (wireless local area networks, WLAN) module. The bluetooth module may provide a solution including one or more bluetooth communications of classical bluetooth (bluetooth 2.1) or bluetooth low energy (bluetooth low energy, BLE), and the WLAN module may provide a solution including one or more WLAN communications of wireless fidelity direct (wireless fidelity direct, wi-fi direct), wireless fidelity local area network (wireless fidelity local area networks, wi-fi lan), or wireless fidelity software access point (wireless fidelity software access point, wi-fisftap). The handset 102 may establish a wireless communication connection with other electronic devices in the vicinity of the handset 102 using one or more of bluetooth or WLAN or other types of wireless communication technologies, and may then send patches to the other electronic devices over the wireless communication connection.
In some embodiments, the same operating system may be installed in each terminal device of the lan, such as the mobile phone 102, the smart band 103, the smart phone 104, the smart speaker 105, the smart tv 106, the computer 107, and so on, such as
Figure BDA0003365269230000201
The system, under the connection of router 101, forms a system ecology. Under the same operating system, the code difference of patch programs corresponding to different version information of the same software on various devices is small, and the server can quickly generate corresponding differential data according to the version information of the most relevant terminal device.
It should be appreciated that the patch system 10 illustrated in this embodiment is not intended to be limiting in any way with respect to the embodiments of the present application. In other embodiments of the present application, the patch system 10 may also include more or fewer devices than illustrated. For example, the communication system 10 may further include other electronic devices such as a smart desk lamp, a smart refrigerator, and the like, which is not limited in this application.
Next, an exemplary electronic device 100 provided in an embodiment of the present application is described.
Fig. 8 shows a schematic structural diagram of the electronic device 100.
The electronic device 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (universal serialbus, USB) interface 130, a charge management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, keys 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identity module (subscriber identification module, SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyro sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, and the like.
The electronic device 100 may be a mobile phone 102, a smart bracelet 103, a smart earphone 104, a smart speaker 105, a smart television 106, a computer 107, or other electronic devices, such as a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (ultra-mobile personal computer, UMPC), a netbook, a cellular phone, a personal digital assistant (personal digital assistant, PDA), an augmented reality (augmented reality, AR) device, a Virtual Reality (VR) device, an artificial intelligence (artificial intelligence, AI) device, a wearable device, a vehicle-mounted device, a smart home device, and/or a smart city device, which are not particularly limited in the specific type of the electronic device according to the embodiments of the present application. In other embodiments of the present application, electronic device 100 may include more or fewer components than shown, or certain components may be combined, or certain components may be split, or different arrangements of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
The electronic device may be a portable terminal device such as a mobile phone, a tablet computer, a wearable device, etc. on which iOS, android, microsoft or other operating systems are mounted, or may be a non-portable terminal device such as a Laptop computer (Laptop) having a touch-sensitive surface or touch panel, a desktop computer having a touch-sensitive surface or touch panel, etc.
In the embodiment of the present application, when the electronic device 100 is implemented as the mobile phone 102 in fig. 2, the electronic device 100 may receive the differential data C, the target device information (i.e., the smart phone 104), and the related information of the most relevant devices from the server 100 through the wireless communication module 160. The electronic device 100 may also receive the most relevant modules from the most relevant devices (i.e., the handset 102 and the smart band 103) via the wireless communication module 160. Thus, the processor 110 of the electronic device 100 may utilize the received differential data C and the most relevant modules for patch restoration. After restoring patch 3, electronic device 100 may issue patch 3 to smart phone 104 via wireless communication module 160 to enable smart phone 104 to utilize patch 3 for an "APP-1" upgrade. For the description of patch restoration, please refer to the content of the method for restoring the patch package described in fig. 3C, which is not described herein.
When the electronic device 100 is implemented as the most relevant device in fig. 2, i.e., the smart band 103, the electronic device 100 may transmit the most relevant module to the mobile phone 102 through the wireless communication module 160, so that the mobile phone 102 performs patch restoration using the most relevant module in the smart band 103. For the description of the most relevant module, please refer to the content of the method for determining the most relevant device described in fig. 3A, which is not repeated here.
When the electronic device 100 is implemented as the target device in fig. 2, i.e., the smart phone 104, the electronic device 100 may receive the patch 3 from the mobile phone 102 through the wireless communication module 160 and upgrade the "APP-1" from version 4.0.0 to version 4.1.0 using the patch 3.
The processor 110 may include one or more processing units, such as: 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), a controller, a video codec, a digital signal processor (digital signal processor, DSP), a baseband processor, and/or a neural network processor (neural-network processing unit, NPU), etc. Wherein the different processing units may be separate devices or may be integrated in one or more processors.
A memory may also be provided in the processor 110 for storing instructions and data.
The USB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like.
It should be understood that the interfacing relationship between the modules illustrated in the embodiments of the present invention is only illustrative, and is not meant to limit the structure of the electronic device 100. In other embodiments of the present application, the electronic device 100 may also use different interfacing manners, or a combination of multiple interfacing manners in the foregoing embodiments.
The charge management module 140 is configured to receive a charge input from a charger.
The power management module 141 is used for connecting the battery 142, and the charge management module 140 and the processor 110.
The wireless communication function of the electronic device 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, a modem processor, a baseband processor, and the like.
The antennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals.
The mobile communication module 150 may provide a solution for wireless communication including 2G/3G/4G/5G, etc., applied to the electronic device 100.
The wireless communication module 160 may provide solutions for wireless communication including wireless local area network (wireless local area networks, WLAN) (e.g., wireless fidelity (wireless fidelity, wi-Fi) network), bluetooth (BT), global navigation satellite system (global navigation satellite system, GNSS), frequency modulation (frequency modulation, FM), near field wireless communication technology (near field communication, NFC), infrared technology (IR), etc., as applied to the electronic device 100.
The display screen 194 is used to display images, videos, and the like.
The camera 193 is used to capture still images or video.
The external memory interface 120 may be used to connect external non-volatile memory to enable expansion of the memory capabilities of the electronic device 100.
The electronic device 100 may implement audio functions through an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, an application processor, and the like.
The pressure sensor 180A is used to sense a pressure signal, and may convert the pressure signal into an electrical signal. The gyro sensor 180B may be used to determine a motion gesture of the electronic device 100. The air pressure sensor 180C is used to measure air pressure. The magnetic sensor 180D includes a hall sensor. The acceleration sensor 180E may detect the magnitude of acceleration of the electronic device 100 in various directions (typically three axes). A distance sensor 180F for measuring a distance. The proximity light sensor 180G may include, for example, a Light Emitting Diode (LED) and a light detector, and the ambient light sensor 180L is used to sense ambient light level. The fingerprint sensor 180H is used to collect a fingerprint. The temperature sensor 180J is for detecting temperature. The touch sensor 180K is for detecting a touch operation acting thereon or thereabout. The bone conduction sensor 180M may acquire a vibration signal. The keys 190 include a power-on key, a volume key, etc. The motor 191 may generate a vibration cue. The indicator 192 may be an indicator light. The SIM card interface 195 is used to connect a SIM card.
Fig. 9 exemplarily illustrates a structure of the server 200 involved in the embodiment of the present application. As shown in fig. 9, server 200 includes, but is not limited to, the following: one or more network device processors 201, memory 202, communication interface 203, transmitter 205, receiver 206, coupler 207, and antenna 208.
These components may be connected by a bus 204 or otherwise, fig. 9 being an example of a connection via a bus. Wherein:
the communication interface 203 may be used for the server 200 to communicate with other communication devices, such as the cell phone 102, the smart band 103, and the smart phone 104. In particular, the communication interface 203 may be a 3G communication interface, a Long Term Evolution (LTE) (4G) communication interface, a 5G communication interface, a WLAN communication interface, a WAN communication interface, and the like. Not limited to a wireless communication interface, the network device processor 201 may also be configured with a wired communication interface 203 to support wired communication, for example, the backhaul link between the server 200 and other servers may be a wired communication connection.
In some embodiments of the present application, the transmitter 205 and the receiver 206 may be considered as one wireless modem. The transmitter 205 may be used to transmit signals output by the network device processor 201. The receiver 206 may be used to receive signals. In the server 200, the number of transmitters 205 and receivers 206 may each be one or more. The antenna 208 may be used to convert electromagnetic energy in the transmission line into electromagnetic waves in free space or to convert electromagnetic waves in free space into electromagnetic energy in the transmission line. Coupler 207 may be used to split the mobile communication signal into multiple paths that are distributed to multiple receivers 206. It is appreciated that the antenna 208 of the network device may be implemented as a large-scale antenna array.
The memory 202 is coupled to the network device processor 201 for storing various software programs and/or sets of instructions. In particular, memory 202 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
The server 200 may be the server 100 in the patch system shown in fig. 2, or may be the server 100 in the patch system shown in fig. 5.
When the server 200 is implemented as the server 100 in fig. 2, the memory 202 in the server 200 stores version information of "APP-1" and software codes of "APP-1" connected to all terminal electronic devices, the network device processor 201 in the server 200 generates the patch 3 capable of upgrading the target device, i.e. the "APP-1" on the smart phone 104, and the network device processor 201 may use the patch 3 and the most relevant module of the most relevant device (i.e. the mobile phone 102 and the smart band 103) stored in the memory 202 to perform differentiation, generate the differential data C, and then send the differential data C to the mobile phone 102 through the transmitter 205, while the server 200 sends the target device information (i.e. the smart phone 104) and the relevant information of the most relevant device to the mobile phone 102 through the communication interface 203.
When the server 200 is implemented as the server 100 in fig. 5, the memory 202 in the server 200 stores version information and software codes of "APP-1" of the smart earphone 104, which is a target device to be connected to the server, and the network device processor 201 in the server 200 generates the patch 3 capable of upgrading "APP-1" on the smart earphone 104, and the network device processor 201 may use the software modules of "APP-1" stored in the patch 3 and the memory 202 to perform differentiation, generate the minimum differential data a, and then send the differential data a to the mobile phone 102 through the transmitter 205, and meanwhile, the server 200 sends related information of the software module differentiated by "APP-1" on the smart earphone 104 to the mobile phone 102 through the communication interface 203.
It should be noted that the server 200 shown in fig. 9 is only one implementation of the embodiment of the present application, and in practical application, the server 200 may further include more or fewer components, which is not limited herein.
Next, the patching method provided in the present application will be described in detail based on the patching system and the electronic device 100.
The term "User Interface (UI)" in the following embodiments of the present application is a media interface for interaction and information exchange between an application program or an operating system and a user, which enables conversion between an internal form of information and an acceptable form of the user. The user interface is a source code written in a specific computer language such as java, extensible markup language (extensible markup language, XML) and the like, and the interface source code is analyzed and rendered on the electronic equipment to finally be presented as content which can be identified by a user. A commonly used presentation form of the user interface is a graphical user interface (graphic user interface, GUI), which refers to a user interface related to computer operations that is displayed in a graphical manner. It may be a visual interface element of text, icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, widgets, etc., displayed in a display of the electronic device.
An exemplary user interface for an application menu on the handset 102 is described below.
Fig. 10 illustrates an exemplary user interface 1001.
The user interface 1001 may include: status bar 1002, calendar indicator 1003, other application icons 1004, page indicator 1005, and tray 1006 with commonly used application icons.
Status bar 1002 may include: one or more signal strength indicators of mobile communication signals (also may be referred to as cellular signals), one or more signal strength indicators of wireless high-fidelity (wireless fidelity, wi-Fi) signals, battery status indicators, and the like.
Calendar indicator 1003 may be used to indicate the current time, such as date, day of the week, time-of-day information, etc.
Other application icons 1004 may be, for example: a read icon, a photo icon, a clock icon, a theme icon, etc.
Page indicator 1005 may be used to indicate which page the user is currently browsing for the application in. The user may slide the area of the other application icons left and right to view the application icons in the other pages.
Tray 1006 with commonly used application icons may present: telephone icons, setting icons, address book icons, information icons, etc.
In some embodiments, the user interface 1001 exemplarily shown in fig. 10 may be a home screen (home screen).
In other embodiments, the electronic device may also include a home screen key. The home screen key may be a physical key or a virtual key. The main screen key can be used for receiving the instruction of the user and returning the currently displayed UI to the main interface, so that the user can conveniently view the main screen at any time. The instruction may specifically be an operation instruction that the user presses the home screen key once, or an operation instruction that the user presses the home screen key twice in a short time, or an operation instruction that the user presses the home screen key for a long time. In other embodiments of the present application, the home screen key may also incorporate a fingerprint identifier so that the user performs fingerprint acquisition and identification when pressing the home screen key.
It will be appreciated that fig. 10 is merely illustrative of a user interface on the handset 102 and should not be construed as limiting embodiments of the present application.
Some embodiments of the user interface implemented on the mobile phone 102 are described below, respectively, as application scenarios to which the present application relates.
Fig. 10 illustrates an exemplary user interface of the handset 102 when the server 100 detects that an updated version of the smart phone 104 is required.
As shown in fig. 10, when the server 100 needs to issue the patch 3 to the smart phone 104 for version update, the mobile phone 102 in the same local area network as the smart phone 104 may display a prompt box 1007 in the user interface 1001, where the prompt box 1007 may be used to prompt the user whether to allow the server 100 to perform patch differential operation to issue differential data to the mobile phone 102. For example, the prompt displayed by the prompt box 1007 may be the text "find that the smart headset" APP-1 "has a new version, is updated? ". The prompt information is not limited to text information, but may be voice output by the mobile phone 102 or other types of prompt information, which is not limited in this application. The prompt box 1007 may also display a corresponding control to allow the user to select whether to update the "APP-1" of the smart phone 104. In response to a touch operation (e.g., clicking) by the user on a control, the handset 102 can execute an option corresponding to the control that allows the "APP-1" of the smart headset 104 to be updated or an option that allows the "APP-1" of the smart headset 104 to be updated. For example, the prompt box 1007 may display a "yes" control and a "no" control, and the mobile phone 102 may perform a touch operation (e.g., clicking) on the "yes" control by the user, which in the networking state always allows the smart phone 104 to obtain a patch package for updating through the mobile phone 102.
Fig. 11A, 11B, 11C, and 11D illustrate user interfaces related to technical effects exhibited after implementing the technical solutions of the present application.
The user interface 1101 of the mobile phone 102 may be displayed when the cloud side server generates the APP-1 patch of the smart phone 104 after the user clicks the yes control in the operation shown in fig. 10 performed by the mobile phone 102. The user interface 1101 may include a title bar 1102, a program version update main interface 1103, and the like.
Title bar 1102 may include a current page indicator, and a return navigation control. The current page indicator may be used to indicate the current page, e.g., the text message "smart headphones" may be used to indicate that the current page is used to present system update related information. Not limited to text information, the current page indicator may also be an icon. The return navigation control may be used to monitor for operations (e.g., touch operations) through the control. In response to this operation, the electronic device may return to the previous interface from the current interface.
The program version update main interface 1103 may present one or more version update related information items, which may include: the electronic device discovers a new patch hint entry, a download size information entry, an update time information entry, an update log information entry, etc. of "APP-1".
A corresponding title and a corresponding text description are associated with each version-up related information item of the program version-up main interface 1103. For example, the electronic device discovers a new patch entitled "discovery" APP-1 "corresponding to a new patch hint entry, entitled" download size "corresponding to a patch package size information entry, text description" about 50K "corresponding to a discovered new version number, entitled" update time "corresponding to an update time information entry, text description" 2021, 10, 15, day ", entitled" update log "corresponding to an update log information entry, text description" update this time to upgrade version 4.0.0 of "APP-1" to version 4.1.0 ", and so on.
The program version update main interface 1103 can also include an "update" operation control 1104, a "cancel" operation control 1105, which can be used to monitor operations (e.g., touch operations) through the control. In response to an operation acting on "update" or "cancel", the electronic device will conduct the update patch, or cancel the update patch.
In other embodiments, the program version update page may present information related to other program version updates, including but not limited to, for example, third party applications. The version update page may increase or decrease version update related information items, which is not limited in this application.
The user interface 1107 of the mobile phone 102 illustrated in fig. 11B may be a user interface displayed on the mobile phone 102 when receiving the patch delivered from the cloud side server, and the user interface 1107 may be used to prompt the user to download the patch from the cloud side server. For example, an icon 1106 may be displayed, the icon 1106 prompting the user that the patch is being downloaded, the progress of the download being 25%. The user interface 1107 may also display text information "data being downloaded (50K)", to prompt the user that a patch is being downloaded. The prompt information is not limited to text information, but may be voice output by the mobile phone 102 or other types of prompt information, which is not limited in this application. The user interface 1107 may also display a cancel control 1108 for listening for touch operations (e.g., clicks) on the control. In response to the "cancel" operation, the mobile phone 102 may perform an operation of canceling the downloading of the patch from the cloud-side server.
The user interface 1110 of the mobile phone 102 illustrated in fig. 11C may be a user interface displayed on the mobile phone 102 when the smart phone 104 receives a patch delivered from the mobile phone 102, and the user interface 1110 may be used to prompt the smart phone 104 to download the patch from the mobile phone 102. For example, an icon 1109 may be displayed, the icon 1109 prompting the user that the patch is being downloaded, the progress of the download being 25%. The user interface 1110 may also display the text message "smart headset is downloading installation patch (800K)", to prompt the user that the patch is being downloaded. The prompt information is not limited to text information, but may be voice output by the mobile phone 102 or other types of prompt information, which is not limited in this application. The user interface 1110 may also display a cancel control 1111 for listening for touch operations (e.g., clicking) on the control. In response to the "cancel" operation, the handset 102 may perform an operation to cancel the smart phone 104 from downloading the installed patch from the handset 102.
Fig. 11D illustrates a user interface 1112 of the handset 102 that may prompt the user that the version of "APP-1" in the smart phone 104 has been upgraded successfully. For example, the user interface 1112 may display a text prompt "download install complete" and display that the version number information of "APP-1" in the smart phone 104 "APP-1" has been updated to version 4.1.0". The prompt information is not limited to text information, but can be voice output by the electronic device or other types of prompt information, and the application is not limited to the text information.
In the embodiment shown in fig. 11A, 11B, 11C, and 11D, only the mobile phone 102 downloads the differential data of "APP-1" for the smart earphone 104 from the cloud server, the mobile phone 102 may restore the patch package for upgrading the "APP-1" of the smart earphone 104 from version 4.0.0 to 4.1.0 on the mobile phone side according to the differential data and the built-in application package of "APP-1" of a different electronic device, and the mobile phone 102 sends the patch package to the smart earphone 104. For a specific method for processing the patch package of the smart phone 104 by the server 100 and the mobile phone 102 in the 1+8+n hong Mongolian application software scenario, reference may be made to the first method embodiment, and for a specific method for processing the patch package of the smart phone 104 by the server 100 and the mobile phone 102 in the single device scenario, reference may be made to the second method embodiment, which is not described herein.
The smart band 103 and the smart phone 104 located in the same lan as the mobile phone 102 do not need to download patches for the target device from the cloud server, so in fig. 11A, the mobile phone 102 is downloading differential data, and the smart band 103 and the smart phone 104 do not download patches from the server 100. However, after the mobile phone 102 finishes downloading the differential data, different target devices in the same local area network to which the mobile phone is directed can restore to generate the patch package. By implementing the embodiment, the large data patch issued by the download server can be avoided, the bandwidth is saved, and the patch issuing efficiency is improved.
It should be understood that fig. 10, 11A, 11B, 11C, and 11D are only examples of some user interfaces, and are not limiting of other embodiments of the present application.
As used in the above embodiments, the term "when …" may be interpreted to mean "if …" or "after …" or "in response to determination …" or "in response to detection …" depending on the context. Similarly, the phrase "at the time of determination …" or "if detected (a stated condition or event)" may be interpreted to mean "if determined …" or "in response to determination …" or "at the time of detection (a stated condition or event)" or "in response to detection (a stated condition or event)" depending on the context.
The technical solutions in the embodiments of the present application will be clearly and thoroughly described below with reference to the accompanying drawings. Wherein, in the description of the embodiments of the present application, "/" means or is meant unless otherwise indicated, for example, a/B may represent a or B; the text "and/or" is merely an association relation describing the associated object, and indicates that three relations may exist, for example, a and/or B may indicate: the three cases where a exists alone, a and B exist together, and B exists alone, and in addition, in the description of the embodiments of the present application, "plural" means two or more than two.
The terms "first," "second," and the like, are used below for descriptive purposes only and are not to be construed as implying or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include one or more such feature, and in the description of embodiments of the present application, unless otherwise indicated, the meaning of "a plurality" is two or more.
In the following, some terms and concepts related to the present application are introduced.
Patches may be small programs that address problems that are exposed to large software systems or applications during use. Patches may be used to fix one or more software vulnerabilities, e.g., patches may fix one or more vulnerabilities including, but not limited to, applications, application frameworks, kernels, hardware drivers, etc. Patches may also be used to add new product features or functions.
The 1+8+N device scene architecture can be a business ecology of the Internet of things, wherein 1 represents a user (mobile phone), 8 represents 8 devices (car machine, sound box, earphone, watch/bracelet, tablet, large screen, PC, AR/VR), N represents intelligent hardware and APP accessed into HongMong OS, and the like, and the devices are mutually connected and communicated through a super terminal (mobile phone).
The HongMono OS super terminal is used as a multi-device control center to enable the multi-devices to be connected once pulled, and the functions of the super terminal can enable a user to automatically connect all intelligent devices which are provided with the HongMono system and are nearby, such as mobile phones, batteries, flat plates, sound boxes, computers, cameras and the like, so that the multi-device collaborative management and resource sharing are realized, and a working scene of mutual collaboration is formed. The super terminal specifically operates as follows: firstly, starting Bluetooth and WLAN on a mobile phone, logging in an account of a user, and starting the Bluetooth and WLAN on other devices with Bluetooth and WLAN functions, and logging in the same account with the mobile phone.
The related equipment for patch generation and validation mainly relates to a server and terminal equipment. The server may include patch patching tools, patch archiving, patch release, etc. The patch clapping tool is a script operated by a server background, the patch files are packed into a compressed file, and the whole layout of each file in the compressed file is peculiar to the patch. The patch package archiving is used for placing the patch package to a designated archiving address after the patch package is generated by the patch package beating tool for the subsequent server to acquire the patch package. The patch package release is used for the server to issue patch files to the terminal equipment. The terminal device may include a patch package download, a patch engine, a patch package upgrade, a patch partition, and the like. The patch package downloading is used for receiving the patch package issued by the server. The patch package upgrading means that a user searches for a patch package on a mobile phone and confirms that the patch engine downloads, verifies and installs the patch package after the patch package is uniformly downloaded. The patch engine encapsulates various types of business logic, including verification of patch files, enabling the patch to take effect, undo exception patches, and the like. The patch partition is a block of space address on the hard disk of the terminal device, and the binary patch image in the patch package can be burnt into the partition.
The embodiments of the present application may be arbitrarily combined to achieve different technical effects.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the present application are produced in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
Those of ordinary skill in the art will appreciate that implementing all or part of the above-described method embodiments may be accomplished by a computer program to instruct related hardware, the program may be stored in a computer readable storage medium, and the program may include the above-described method embodiments when executed. And the aforementioned storage medium includes: ROM or random access memory RAM, magnetic or optical disk, etc.
In summary, the foregoing description is only exemplary embodiments of the present invention and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made according to the disclosure of the present invention should be included in the protection scope of the present invention.

Claims (23)

1. A patching method, applied to a server in a first patching system, the first patching system comprising: the system comprises a server and a plurality of electronic devices, wherein a first application program is installed on the electronic devices; the method comprises the following steps:
the server generates first differential data by differentiating according to a first application program and a first patch package on the third electronic equipment; the first patch package is used for upgrading a first application program on the first electronic device; the third electronic device is an electronic device, of the plurality of electronic devices, of which the installed first application program is overlapped with the first patch package; the plurality of electronic devices comprise the first electronic device and the third electronic device;
The server sends the first differential data to a second electronic device; the plurality of electronic devices further includes the second electronic device; the second electronic device is used for restoring a first patch package according to the first differential data and a first software module in a first application program on the third electronic device; the first software module is overlapped with the first patch package; the second electronic device is configured to send the first patch package to the first electronic device.
2. The method according to claim 1, wherein said coinciding comprises:
the code of the first application program and the code of the first patch package have the same method and variable.
3. The method of any of claims 1-2, wherein the third electronic device is an electronic device of the plurality of electronic devices that has a highest or higher overlap ratio of the installed first application program with the first patch package than a first threshold.
4. The method of claim 3, wherein the first application installed on the third electronic device coincides with the first patch package by = (number of identical methods + number of identical variables)/(total number of methods + total number of variables),
The same method is a method of a first application program installed on the third electronic device and a method of a first patch package, the same variable is a variable of the first application program installed on the third electronic device and a variable of the first patch package, the total number of the methods is a difference value of the sum of the first application program installed on the third electronic device and the method of the first patch package and the same method, and the total number of the variables is a difference value of the sum of the first application program installed on the third electronic device and the variable of the first patch package and the same variable.
5. The method of claim 4, wherein if the platform level contact of the first application installed on the third electronic device with the first patch package is the same as the platform level contact of the first application installed on another electronic device of the plurality of electronic devices with the first patch package, the application level contact of the first application installed on the third electronic device with the first patch package is higher than the application level contact of the first application installed on another electronic device of the plurality of electronic devices with the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
6. The method of claim 4, wherein if the application level overlap of the first application installed on the third electronic device with the first patch package is the same as the application level overlap of the first application installed on another electronic device of the plurality of electronic devices with the first patch package, then: the platform level contact ratio of the first application program installed on the third electronic device and the first patch package is higher than that of the first application program installed on another electronic device in the plurality of electronic devices and the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
7. The method of any of claims 1-6, wherein one or more software modules in a first application installed on the third electronic device are coincident with the software modules in the first patch package.
8. The method according to claim 1, wherein said coinciding specific comprises: the first application installed on the third electronic device and the first patch package have the same binary code.
9. A patching method, applied to a first electronic device in a first patching system, the first patching system comprising: the system comprises a server and a plurality of electronic devices, wherein a first application program is installed on the electronic devices, and the plurality of electronic devices comprise the first electronic device; the method comprises the following steps:
the first electronic device receives a first patch package sent by a second device; the plurality of electronic devices further comprises the second electronic device, the first patch package is restored by the second electronic device through first differential data and a first software module in a first application program on a third electronic device, the plurality of electronic devices further comprises the third electronic device, and the third electronic device is an electronic device, which is overlapped with the first patch package, in the plurality of electronic devices; the first differential data is generated by the server through differential generation of a first application program and a first patch package on a third electronic device and is sent to the second electronic device;
The first electronic device upgrades a first application installed thereon with the first patch package.
10. A patching method, applied to a second electronic device in a first patching system, the first patching system comprising: the system comprises a server and a plurality of electronic devices, wherein a first application program is installed on the electronic devices, and the plurality of electronic devices comprise the second electronic device; the method comprises the following steps:
the second electronic equipment receives the first differential data sent by the server; the first differential data is generated by the server through differential generation of a first application program and a first patch package on a third electronic device; the first patch package is used for upgrading a first application program on the first electronic device; the third electronic device is an electronic device, of the plurality of electronic devices, in which the installed first application program is overlapped with the first patch package; the plurality of electronic devices further comprise the first electronic device and a third electronic device;
the second electronic device restores the first patch package according to the first differential data and a first software module in a first application program on the third electronic device; the first software module is overlapped with the first patch package;
The second electronic device sends the first patch package to the first electronic device.
11. The method of claim 10, wherein the overlapping comprises:
the code of the first application program and the code of the first patch package have the same method and variable.
12. The method of any of claims 10-11, wherein the third electronic device is an electronic device of the plurality of electronic devices that has a highest or higher overlap ratio of the installed first application program with the first patch package than the first threshold.
13. The method of claim 12, wherein the first application installed on the third electronic device overlaps the first patch package by = (number of identical methods + number of identical variables)/(total number of methods + total number of variables),
the same method is a method of a first application program installed on the third electronic device and a method of a first patch package, the same variable is a variable of the first application program installed on the third electronic device and a variable of the first patch package, the total number of the methods is a difference value of the sum of the first application program installed on the third electronic device and the method of the first patch package and the same method, and the total number of the variables is a difference value of the sum of the first application program installed on the third electronic device and the variable of the first patch package and the same variable.
14. The method of claim 13, wherein if the platform level contact of the first application installed on the third electronic device with the first patch package is the same as the platform level contact of the first application installed on another electronic device of the plurality of electronic devices with the first patch package, the application level contact of the first application installed on the third electronic device with the first patch package is higher than the application level contact of the first application installed on another electronic device of the plurality of electronic devices with the first patch package,
wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
15. The method of claim 13, wherein if the application level overlap of the first application installed on the third electronic device with the first patch package is the same as the application level overlap of the first application installed on another electronic device of the plurality of electronic devices with the first patch package: the platform level contact ratio of the first application program installed on the third electronic device and the first patch package is higher than that of the first application program installed on another electronic device in the plurality of electronic devices and the first patch package,
Wherein, the platform level overlap ratio= (number of the same platform level methods+number of the same platform level variables)/(total number of methods+total number of variables), and the application level overlap ratio= (number of the same application level methods+number of the same application level variables)/(total number of methods+total number of variables).
16. The method of any of claims 10-15, wherein one or more software modules in a first application installed on the third electronic device are coincident with the software modules in the first patch package.
17. The method according to claim 10, wherein said coinciding specific comprises: the first application installed on the third electronic device and the first patch package have the same binary code.
18. A patching method, applied to a third electronic device in a first patching system, the first patching system comprising: the system comprises a server and a plurality of electronic devices, wherein a first application program is installed on the electronic devices, and the plurality of electronic devices comprise the third electronic device, the second electronic device and the first electronic device; the method comprises the following steps:
the third electronic device sends a first data packet to the second electronic device, wherein the first data packet comprises a first software module in a first application program installed on the third electronic device, and the first software module is overlapped with a first patch packet;
The first patch package is restored by the second electronic device through first differential data and the first software module in the first application program on the third electronic device, and the third electronic device is an electronic device, which is overlapped with the first patch package, of the plurality of electronic devices; the first differential data is generated by the server through differential generation of a first application program and a first patch package on the third electronic device and is sent to the second electronic device; the second electronic device is configured to restore the first patch package according to the first differential data and the first software module in the first application program on the third electronic device; the second electronic device is further configured to send the first patch package to the first electronic device.
19. A patching system, wherein the first patching system comprises: the system comprises a server and a plurality of electronic devices, wherein a first application program is installed on the electronic devices; wherein:
the server is used for generating first differential data by differentiating according to a first application program and a first patch package on the third electronic equipment; the first patch package is used for upgrading a first application program on the first electronic device; the third electronic device is an electronic device, of the plurality of electronic devices, of which the installed first application program is overlapped with the first patch package; the plurality of electronic devices comprise the first electronic device and the third electronic device;
The server is used for sending the first differential data to the second electronic equipment; the plurality of electronic devices further includes the second electronic device;
the second electronic device is configured to restore the first patch package according to the first differential data and a first software module in a first application program on the third electronic device; the first software module is overlapped with the first patch package;
the second electronic device is configured to send the first patch package to the first electronic device;
the first electronic device is configured to upgrade a first application installed thereon with the first patch package.
20. The system of any of claims 19, wherein the third electronic device is an electronic device of the plurality of electronic devices that has a highest or higher overlap ratio of the installed first application program with the first patch package than a first threshold.
21. A server, comprising: a communication device, a memory and a processor coupled to the memory, a plurality of application programs, and one or more programs; the processor, when executing the one or more programs, causes the server to implement the method of any of claims 1-8.
22. An electronic device, comprising: a communication device, a memory and a processor coupled to the memory, a plurality of application programs, and one or more programs; the processor, when executing the one or more programs, causes the electronic device to implement the method of any of claims 9, 10-17, 18.
23. A computer readable storage medium comprising instructions which, when run on an electronic device, cause the electronic device to perform the method of any one of claims 1 to 18.
CN202111410274.4A 2021-11-19 2021-11-19 Patch method and related equipment Pending CN116149716A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111410274.4A CN116149716A (en) 2021-11-19 2021-11-19 Patch method and related equipment
PCT/CN2022/132193 WO2023088289A1 (en) 2021-11-19 2022-11-16 Patching method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111410274.4A CN116149716A (en) 2021-11-19 2021-11-19 Patch method and related equipment

Publications (1)

Publication Number Publication Date
CN116149716A true CN116149716A (en) 2023-05-23

Family

ID=86360572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111410274.4A Pending CN116149716A (en) 2021-11-19 2021-11-19 Patch method and related equipment

Country Status (2)

Country Link
CN (1) CN116149716A (en)
WO (1) WO2023088289A1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190158304A1 (en) * 2008-08-11 2019-05-23 Icontrol Networks, Inc. Data model for home automation
US20190155598A1 (en) * 2017-11-17 2019-05-23 Apple Inc. Techniques for updating a file using a multi-version patch file
CN108376078A (en) * 2018-02-26 2018-08-07 广东美的制冷设备有限公司 Upgrade method, device and the household appliance of equipment
WO2020014926A1 (en) * 2018-07-19 2020-01-23 华为技术有限公司 Patch package generation method and device
CN110633090B (en) * 2019-08-14 2022-04-12 华为技术有限公司 Patch method, related device and system

Also Published As

Publication number Publication date
WO2023088289A1 (en) 2023-05-25

Similar Documents

Publication Publication Date Title
US10361580B2 (en) Apparatus and method for charging electronic device having battery
CN106101979B (en) Method for short-range wireless communication and electronic device using the same
WO2021027630A1 (en) Patching method, related apparatus, and system
CN112068903B (en) Application program loading method, application program loading device, medium and equipment
CN111357255B (en) Building a trusted application common to multiple applications
CN111427949B (en) Method and device for creating big data service
US20230161673A1 (en) Method for restoring backup data and electronic device therefor
WO2022063037A1 (en) Method and apparatus for installing patch package
CN114915618B (en) Upgrade package downloading method and device
EP2930616B1 (en) Device and method for generating application package
EP4394637A1 (en) Electronic device for processing multi-signed apk file, and operating method therefor
CN116149716A (en) Patch method and related equipment
US11875035B2 (en) Electronic device and method for managing memory using the same
US20230350738A1 (en) Method for Reusing Shared Library and Electronic Device
CN113741925B (en) Software upgrading method and device
CN114238074A (en) Debugging method, device and equipment for sub-application and storage medium
CN112083934A (en) Terminal and processing method
CN117908938B (en) Batch equipment upgrading method, device, medium and equipment
WO2022068605A1 (en) Patch reusing method and system, and electronic device
CN110865796B (en) Software customization method and device for projection equipment
KR20140012896A (en) Mobile terminal and controlling method thereof
KR102131943B1 (en) Method for controlling an url and an electronic device
WO2024131823A1 (en) Installation-free application upgrading method and electronic device
CN117908938A (en) Batch equipment upgrading method, device, medium and equipment
CN115220816A (en) Interaction method and device between micro applications and computer equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination