WO2019047480A1 - 程序更新方法、计算机可读存储介质、终端设备及装置 - Google Patents

程序更新方法、计算机可读存储介质、终端设备及装置 Download PDF

Info

Publication number
WO2019047480A1
WO2019047480A1 PCT/CN2018/076522 CN2018076522W WO2019047480A1 WO 2019047480 A1 WO2019047480 A1 WO 2019047480A1 CN 2018076522 W CN2018076522 W CN 2018076522W WO 2019047480 A1 WO2019047480 A1 WO 2019047480A1
Authority
WO
WIPO (PCT)
Prior art keywords
function module
code
target
target program
module
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.)
Ceased
Application number
PCT/CN2018/076522
Other languages
English (en)
French (fr)
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology 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 OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Publication of WO2019047480A1 publication Critical patent/WO2019047480A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present application belongs to the field of computer technologies, and in particular, to a program update method, a computer readable storage medium, a terminal device, and a device.
  • the embodiment of the present application provides a program update method, a computer readable storage medium, a terminal device and a device, so as to solve the problem that the existing program update method has a high abnormal probability.
  • a first aspect of the embodiment of the present application provides a program update method, which may include:
  • the code of the target function module is read from a preset code library
  • the code of the target function module is added to the code of the target program to complete the update of the target program.
  • a second aspect of embodiments of the present application provides a computer readable storage medium storing computer readable instructions, the steps of implementing the program update method when executed by a processor .
  • a third aspect of an embodiment of the present application provides a program update terminal device including a memory, a processor, and computer readable instructions stored in the memory and executable on the processor, the processor executing the The steps of the above program update method are implemented when the computer readable instructions are described.
  • a fourth aspect of the embodiments of the present application provides a program updating apparatus, which may include a module for implementing the steps of the above program updating method.
  • the embodiment of the present application pre-configures the correspondence between the function modules that have conflicts in the running environment. Before adding the code of the newly added function module to the current program, firstly, according to the corresponding relationship, whether there is a running environment between the modules The conflict is judged. Only when there is no conflict, the code of the newly added function module can be added to the current program, and the integrity of the newly added code is verified before the code is added, thereby effectively reducing the conflict. The abnormal probability of the updated program running.
  • FIG. 1 is a flowchart of an embodiment of a method for updating a program according to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of adding a dependency function module in an embodiment of the present application
  • FIG. 3 is a schematic flowchart of verifying whether a target program runs normally according to an embodiment of the present application
  • FIG. 4 is a schematic block diagram of a program update terminal device according to an embodiment of the present application.
  • FIG. 5 is a block diagram of a computer readable program according to an embodiment of the present application.
  • a complete code library is pre-built, and the code library includes various function modules that may be used by the target program.
  • the number of function modules in the code library is extremely large, if All of them are applied to the target program, which makes the target program very large and occupies a large amount of memory space in the user's terminal device. Therefore, the target program generally only includes the function modules of the functions required by the current version. It does not include other functional modules, but for the subsequent scalability, the module interface is reserved for other modules. When a version update is required, a new function needs to be added to the target program, and only needs to be read from the code base. The corresponding function module is added to the module interface location reserved by the target program.
  • an embodiment of a program update method in an embodiment of the present application may include:
  • Step S101 Acquire a target function module to be updated into the target program.
  • the target program is a program that can run normally.
  • the target program may be run once to ensure that it does not have any running abnormality.
  • the target function module is used to implement a new function that has not been implemented in the target program.
  • the target program can currently implement function A and function B, and the target function module can implement the new function C.
  • Step S102 Acquire each functional module currently in the target program.
  • Step S103 Determine, according to the preset first correspondence, whether there is a conflict function module that conflicts with the running environment of the target function module in each function module currently in the target program.
  • the first correspondence records a correspondence between functional modules that have a running environment conflict.
  • compatibility between the various function modules needs to be tested, for example, if the function module A affects the normal operation of the function module B during operation, or the function module B is running Affecting the normal operation of function module A indicates that the two are incompatible, that is, there is a conflict between the two operating environments.
  • the correspondence between the functional modules having the running environment conflicts is recorded in the first correspondence relationship to avoid conflicts in the running environment between the functional modules in the subsequent program update process. As a result, the target program does not work properly.
  • step S104 to step S105 are performed, and if the conflicting function module exists in each of the current functional modules of the target program, the step is performed. S107 to step S108.
  • Step S104 reading the code of the target function module from a preset code base.
  • step S105 the information digest algorithm 5 or the secure hash algorithm is used to determine whether the code of the target function module is complete.
  • the message digest algorithm 5 (Message-Digest Algorithm) may be used. 5, MD5) or Secure Hash Algorithm (SHA), etc. to verify the integrity of the code.
  • MD5 Message-Digest Algorithm
  • SHA Secure Hash Algorithm
  • the code of the target function module needs to be first converted into a binary form, and then it is padded so that the result of the bit length pair 512 is equal to 448, and a result is appended with 64 bits. The length of the information before the padding of the binary representation, and finally divided into 16 groups.
  • the main cycle has four rounds, and each cycle is similar.
  • each operation performs a nonlinear function operation on three of a, b, c, and d, and then the result is added to the fourth variable, one of the texts.
  • Group and a constant then shift the result to the left by an indefinite number, and add one of a, b, c or d, and finally replace one of a, b, c or d with the result.
  • the SHA algorithm is similar to the MD5 algorithm, but uses different information grouping methods, as well as different variable values and calculation functions, and finally obtains a 160-bit SHA value.
  • the MD5 value or the SHA value of each function module code may be pre-stored in the code base.
  • the MD5 value or the SHA value may be recalculated, and then Comparing the calculated MD5 value or SHA value with the MD5 value or the SHA value of the code of the target function module stored in the code base. If the two are consistent, indicating that the code of the target function module is complete, Step S106 is executed. If the two are inconsistent, indicating that the code of the target function module has been damaged, step S110 is performed.
  • Step S106 adding the code of the target function module into the code of the target program to complete the update of the target program.
  • a corresponding module interface is reserved for different function modules in the target program.
  • Step S107 Acquire a first priority corresponding to the target function module and a second priority corresponding to the conflict function module, respectively, from a preset priority list.
  • each functional module needs to be prioritized according to the importance degree of the function, and recorded in the priority list.
  • priority is given. Guarantee the function realization of higher priority function modules.
  • Step S108 determining whether the first priority is higher than the second priority
  • step S109 is performed, and if the first priority is less than or equal to the second priority, step S110 is performed.
  • Step S109 deleting the code of the conflicting function module from the target program, and executing the code of reading the target function module from the preset code library in step S104, and using the information digest algorithm 5 in step S105 or The secure hash algorithm determines whether the code of the target functional module is complete.
  • step S110 it is determined that the program update has an abnormality.
  • a notification message for updating the exception can be sent to the designated developer to process the exception in time.
  • an alternate function module that is the same as the function of the target function module is first acquired from the preset third correspondence.
  • the third correspondence records the correspondence between functional modules having the same function.
  • the code of the substitute function module is read from the code library, and then the information digest algorithm is used. 5 or a secure hash algorithm determines whether the code of the substitute function module is complete, and if the code of the substitute function module is complete, adding the code of the substitute function module to the code of the target program to complete An update to the target program.
  • the program update method may further include the steps as shown in FIG. 2:
  • Step S201 Search for a pre-function module that the target function module depends on in a preset second correspondence.
  • the second correspondence records the correspondence between the pre-function module and the post-function module, and the operation of the post-function module depends on the pre-function module.
  • Step S202 reading the code of the pre-function module from the code base.
  • Step S203 determining whether the code of the pre-function module is complete by using the information digest algorithm 5 or the secure hash algorithm.
  • the step S203 is similar to the step S105. For details, refer to the description in the step S105.
  • step S204 is performed; otherwise, step S205 is performed.
  • Step S204 adding the code of the pre-function module to the code of the target program.
  • step S106 in the process of adding the code, it is necessary to ensure that the code of the pre-function module is added to the correct location, that is, to the module interface location corresponding thereto.
  • step S205 it is determined that the program update has an abnormality.
  • a notification message for updating the exception can be sent to the designated developer to process the exception in time.
  • the function modules on which the target function module is operated are also added to the target program, which effectively ensures that the updated target program can run normally.
  • the program update method may further include the steps as shown in FIG. 3:
  • Step S301 running the target program, and obtaining a running result report.
  • the running process is recorded in real time, and the running result report is generated. If there is no running environment conflict between the newly added function module and the original function module, the target program may be smooth. Run and get the expected results. If there is a running environment conflict between the newly added function module and the original function module, the target program will have an abnormality during the running process, and it cannot continue to run, and the expected result cannot be obtained.
  • Step S302 Determine, according to the operation result report, whether the target program is abnormal.
  • step S303 to step S305 are performed, and if the target program runs normally, step S306 is performed.
  • Step S303 Search, from the operation result report, a function module that is being executed when an abnormality occurs.
  • the function module does not have an exception when it is added before adding a new function module, after the new function module is added, the function module will be abnormal when executed, and it can be determined that there is a running environment conflict between the two. .
  • Step S304 adding a relationship of a running environment conflict existing between the function module being executed when the abnormality occurs and the target function module is added to the first correspondence relationship.
  • the running environment conflict between some modules may be missed in the first correspondence relationship. Therefore, in the actual program update process, when a new running environment conflict occurs, it is required. It is added to the first correspondence in time to ensure the integrity of the correspondence.
  • Step S305 deleting the code of the target function module from the code of the target program.
  • the program update is abnormal, that is, the target function module cannot be smoothly added to the target program, and the notification message of the update exception can be sent to the designated developer, so that the abnormality can be processed in time.
  • Step S306 ending the update of the target program.
  • the embodiment of the present application pre-configures the correspondence between the functional modules that have conflicts in the running environment.
  • the module Before adding the code of the newly added function module to the current program, the module must first be based on the corresponding relationship. Whether there is a running environment conflict between the judgments, only when there is no conflict, the code of the newly added function module can be added to the current program, and the integrity of the newly added code is verified before the code is added. , which effectively reduces the abnormal probability of the updated program running.
  • FIG. 4 is a schematic block diagram of a program update terminal device provided by an embodiment of the present application.
  • the program update terminal device can include a processor 40, a memory 41, and computer readable instructions 42 stored in the memory 41 and executable on the processor 40.
  • FIG. 5 is a block diagram of computer readable instructions 42 provided by an embodiment of the present application.
  • the computer readable instructions 42 may be partitioned into one or more modules, the one or more modules being stored in the memory 41 and executed by the processor 40, To complete this application.
  • the computer readable instructions 42 may be divided into a target function module acquisition module 501, a current function module acquisition module 502, a first determination module 503, a target function module code reading module 504, and a target function.
  • the program updating apparatus provided in the embodiment of the present application may also include these modules. The following description will specifically describe the functions of the modules 501-506:
  • the target function module acquiring module 501 is configured to acquire a target function module to be updated into the target program
  • the current function module acquiring module 502 is configured to acquire each function module currently in the target program
  • the first judging module 503 is configured to determine, according to the preset first correspondence, whether there is a conflict function module that conflicts with the running environment of the target function module in each function module currently in the target program, where the first corresponding The relationship records the correspondence between functional modules that have conflicts in the operating environment;
  • the target function module code reading module 504 is configured to: if the conflicting function module does not exist in each function module currently in the target program, read the code of the target function module from a preset code library;
  • the target function module code integrity determining module 505 is configured to determine whether the code of the target function module is complete by using the information digest algorithm 5 or the secure hash algorithm;
  • the target function module code adding module 506 is configured to add the code of the target function module into the code of the target program to complete the update of the target program if the code of the target function module is complete. .
  • computer readable instructions 42 may further include:
  • the pre-function module search module is configured to search for a pre-function module that the target function module depends on in a preset second correspondence, and the second correspondence records the pre-function module and the post function Corresponding relationship between the modules, the operation of the post function module depends on the pre-function module;
  • a pre-function module code reading module configured to read code of the pre-function module from the code base
  • a pre-function module code integrity judgment module configured to determine whether the code of the pre-function module is complete by using a message digest algorithm 5 or a secure hash algorithm;
  • the pre-function module code adding module is configured to add the code of the pre-function module to the code of the target program if the code of the pre-function module is complete.
  • computer readable instructions 42 may further include:
  • an alternative function module acquiring module configured to acquire the same function as the target function module from the preset third correspondence relationship if the conflict function module exists in each of the current function modules of the target program a module, wherein the third correspondence records a correspondence between functional modules having the same function;
  • a second determining module configured to determine, according to the first correspondence, whether a function module that conflicts with a running environment of the substitute function module exists in each function module currently in the target program
  • An alternative function module code reading module configured to read, in the current function modules of the target program, a function module that conflicts with a running environment of the substitute function module, and read the replacement function from the code library Module code;
  • An alternative function module code integrity judging module configured to determine whether the code of the substitute function module is complete by using an information digest algorithm 5 or a secure hash algorithm;
  • the substitute function module code adding module is configured to add the code of the substitute function module into the code of the target program to complete the update of the target program if the code of the substitute function module is complete.
  • computer readable instructions 42 may further include:
  • a priority obtaining module configured to acquire a first priority corresponding to the target function module from a preset priority list, if the conflicting function module exists in each function module currently in the target program a second priority corresponding to the conflicting function module;
  • the first deleting module is configured to delete the code of the conflicting function module from the target program if the first priority is higher than the second priority.
  • computer readable instructions 42 may further include:
  • a running judgment module configured to determine, according to the running result report, whether the target program is abnormally operated
  • An abnormal module acquiring module configured to: if the target program runs abnormally, search for a function module that is being executed when an abnormality occurs;
  • a relationship adding module configured to add, to the first correspondence relationship, a relationship between a function module that is being executed when the abnormality occurs and a running environment conflict between the target function module
  • a second deleting module configured to delete code of the target function module from code of the target program.

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

一种程序更新方法、计算机可读存储介质、终端设备及装置。所述方法获取待更新入目标程序的目标功能模块(S101);获取所述目标程序当前的各个功能模块(S102);判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块(S103);若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码(S104);使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整(S105);若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新(S106)。

Description

程序更新方法、计算机可读存储介质、终端设备及装置
本申请要求于2017年9月8日提交中国专利局、申请号为CN201710804129.1、发明名称为“一种程序更新方法及终端设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请属于计算机技术领域,尤其涉及一种程序更新方法、计算机可读存储介质、终端设备及装置。
背景技术
现有技术中一般会采用模块化的方法进行程序的开发和维护,将程序划分为多个实现不同功能的模块,但由于这些功能模块往往是由多名开发人员分别编写的,各个模块之间往往存在运行环境冲突的问题,进行程序更新时会有较高的异常概率。
技术问题
本申请实施例提供了一种程序更新方法、计算机可读存储介质、终端设备及装置,以解决现有的程序更新方法会有较高的异常概率的问题。
技术解决方案
本申请实施例的第一方面提供了一种程序更新方法,可以包括:
获取待更新入目标程序的目标功能模块;
获取所述目标程序当前的各个功能模块;
根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
本申请实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述程序更新方法的步骤。
本申请实施例的第三方面提供了一种程序更新终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述程序更新方法的步骤。
本申请实施例的第四方面提供了一种程序更新装置,可以包括用于实现上述程序更新方法的步骤的模块。
有益效果
本申请实施例预先构造出了存在运行环境冲突的功能模块的之间的对应关系,在将新增的功能模块的代码添加入当前程序之前,首先要根据该对应关系对模块间是否存在运行环境冲突进行判断,只有在不存在冲突时,才可以将新增的功能模块的代码添加入当前程序中,而且在添加代码之前,还对新增代码的完整性进行了校验,从而有效降低了更新出来的程序运行时的异常概率。
附图说明
图1为本申请实施例中一种程序更新方法的一个实施例流程图;
图2为本申请实施例中添加依赖功能模块的示意流程图;
图3为本申请实施例中验证目标程序是否正常运行的示意流程图;
图4为本申请实施例提供的程序更新终端设备的示意框图;
图5为本申请实施例提供的计算机可读程序的模块图。
本发明的实施方式
在本申请实施例中,会预先构建出一个完整的代码库,该代码库包括了目标程序可能会使用到的各个功能模块,一般而言,该代码库中功能模块的数目极多,若将其全部都应用于目标程序中,则会使目标程序变得十分庞大,占用掉用户的终端设备中的大量内存空间,因此,目标程序中一般只包含当前版本所需功能的功能模块即可,而不包含其它的功能模块,但是为了后续的可拓展性,为其它模块仍预留了模块接口,当进行版本更新,需要在目标程序中加入新的功能时,只需从代码库中读取对应的功能模块添加到目标程序为其预留的模块接口位置即可。
请参阅图1,本申请实施例中一种程序更新方法的一个实施例可以包括:
步骤S101,获取待更新入目标程序的目标功能模块。
所述目标程序为一可正常运行的程序,优选地,在步骤S101之前,可以先运行一次所述目标程序,保证其无任何运行异常的发生。
所述目标功能模块用来实现所述目标程序中尚未实现的新功能,例如,目标程序当前可以实现功能A和功能B,而目标功能模块可以实现新的功能C。
步骤S102,获取所述目标程序当前的各个功能模块。
步骤S103,根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块。
所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系。优选地,在构建代码库的过程中,需要对各个功能模块之间的兼容性进行测试,例如,若功能模块A在运行时会影响功能模块B的正常运行,或者功能模块B在运行时会影响功能模块A的正常运行,则说明两者是不兼容的,也即两者存在运行环境冲突。在对各个功能模块进行遍历测试后,将存在运行环境冲突的功能模块之间的对应关系记录到所述第一对应关系中,以避免在后续的程序更新过程中因功能模块间的运行环境冲突而导致目标程序无法正常运行。
若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则执行步骤S104至步骤S105,若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则执行步骤S107至步骤S108。
步骤S104,从预设的代码库中读取所述目标功能模块的代码。
步骤S105,使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整。
为了保证在读取的过程中所述目标功能模块的代码没有受到损坏,在读取之后,还需要对其完整性进行校验,在本实施中,可以使用信息摘要算法5(Message-Digest Algorithm 5,MD5)或者安全哈希算法(Secure Hash Algorithm,SHA)等对代码的完整性进行校验。
下面以MD5算法为例进行说明:
若使用MD5算法,则需要首先将所述目标功能模块的代码转化为二进制形式,然后对其进行填充,使其位长对512求余的结果等于448,并在这个结果后面附加一个以64位二进制表示的填充前的信息长度,最后将其划分为16个分组。
每一分组的算法流程如下:第一分组需要初始化四个变量,即A=0x01234567,B=0x89ABCDEF,C=0xFEDCBA98,D=0x76543210,并将这四个变量复制到另外四个变量中:A到a,B到b,C到c,D到d。从第二分组开始的变量为上一分组的运算结果,即A=a,B=b,C=c,D=d。主循环有四轮,每轮循环都类似。以第一轮为例,进行16次操作,每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数,再将所得结果向左环移一个不定的数,并加上a、b、c或d中之一,最后用该结果取代a、b、c或d中之一。
在各轮循环完成之后,将a、b、c和d的最后取值级联输出,得到一个128比特的值,即为所述目标功能模块的代码的MD5值。
SHA算法与MD5算法类似,但其中使用到了不同的信息分组方法,以及不同的变量值及计算函数,最终得到160比特的SHA值。
本实施例中,在所述代码库中可以预先存储各个功能模块代码的MD5值或SHA值,当需要判断所述目标功能模块的代码是否完整时,可以重新计算其MD5值或SHA值,然后将计算得到的MD5值或SHA值与代码库中存储的所述目标功能模块的代码的MD5值或SHA值进行比对,若两者一致,说明所述目标功能模块的代码是完整的,则执行步骤S106,若两者不一致,说明所述目标功能模块的代码已被损坏,则执行步骤S110。
步骤S106,将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
在本实施例中,为了保证目标程序的可拓展性,在目标程序中为不同的功能模块预留了对应的模块接口,在添加代码的过程中,需要保证所述目标功能模块的代码添加到正确的位置上,也即添加到与其对应的模块接口位置。
步骤S107,从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级。
优选地,在构建代码库的过程中,需要对各个功能模块按照功能的重要程度进行优先级排序,并记录到所述优先级列表中,当两个功能模块之间存在运行环境冲突时,优先保证优先级较高的功能模块的功能实现。
步骤S108,判断所述第一优先级是否高于所述第二优先级;
若所述第一优先级高于所述第二优先级,则执行步骤S109,若所述第一优先级小于或等于所述第二优先级,则执行步骤S110。
步骤S109,从所述目标程序中删除所述冲突功能模块的代码,并执行步骤S104中从预设的代码库中读取所述目标功能模块的代码,以及步骤S105中使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整的过程。
步骤S110,确定程序更新出现异常。
在程序更新出现异常时,可以向指定开发人员发送更新异常的通知消息,以使其及时对异常进行处理。
通过以上步骤S107至步骤S110,当目标功能模块与原有功能模块之间存在运行环境冲突时,根据其优先级的高低,在目标程序中只保留高优先级的功能模块,而不保留低优先级的功能模块,从而使得更新后的所述目标程序可以在正常运行的前提下最大程度地保证主要功能的实现。
在构建代码库的过程中,由于其中功能模块的数目极多,往往会出现多个不同的功能模块实现相同功能的情况,因此,可选地,当目标功能模块与原有功能模块之间存在运行环境冲突时,可以使用与其功能相同的功能模块来代替目标功能模块。
具体地,首先从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块。
所述第三对应关系记录了功能相同的功能模块之间的对应关系。优选地,在构建代码库的过程中,需要记录下各个功能相同的功能模块之间的对应关系,例如,若功能模块A和功能模块B所实现的功能相同,则将其关系记录到所述第三对应关系中。
然后根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
若在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码,然后使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整,若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
若在所述目标程序当前的各个功能模块中存在与所述替代功能模块存在运行环境冲突的功能模块,则继续从预设的第三对应关系中获取其它的功能相同的功能模块并重复以上过程,若所有与目标功能模块的功能相同的功能模块均已被遍历后仍然存在运行环境冲突,则执行步骤S107至步骤S110中的过程。
由于功能模块之间往往存在着相互依赖的关系,因此为了保证更新后的所述目标程序可以正常运行,还需要将目标功能模块运行时所依赖的功能模块也加入到目标程序中。优选地,在步骤S106之后,所述程序更新方法还可以包括如图2所示的步骤:
步骤S201,在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块。
所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块。优选地,在构建代码库的过程中,需要记录下各个功能模块之间的依赖关系,例如,若功能模块A的正常运行需要依赖于功能模块B的正常运行,则将其关系记录到所述第二对应关系中。
步骤S202,从所述代码库中读取所述前置功能模块的代码。
步骤S203,使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整。
步骤S203与步骤S105类似,具体可参照步骤S105中的描述,本实施例对此不再赘述。
若所述前置功能模块的代码是完整的,则执行步骤S204,否则,则执行步骤S205。
步骤S204,将所述前置功能模块的代码添加入所述目标程序的代码中。
与步骤S106类似,在添加代码的过程中,需要保证所述前置功能模块的代码添加到正确的位置上,也即添加到与其对应的模块接口位置。
步骤S205,确定程序更新出现异常。
在程序更新出现异常时,可以向指定开发人员发送更新异常的通知消息,以使其及时对异常进行处理。
通过如图2所示的步骤,将目标功能模块运行时所依赖的功能模块也加入到目标程序中,有效保证了更新后的所述目标程序可以正常运行。
在完成对所述目标程序的更新之后,为了验证所述目标程序是否可以正常运行,优选地,在步骤S106之后,所述程序更新方法还可以包括如图3所示的步骤:
步骤S301,运行所述目标程序,并获取运行结果报告。
在所述目标程序的运行过程中,对其运行过程进行实时记录,生成所述运行结果报告,若新添加的功能模块与原有功能模块之间不存在运行环境冲突,则该目标程序可以顺利运行,并得到预期的结果。若新添加的功能模块与原有功能模块之间存在运行环境冲突,则该目标程序在运行过程中会出现异常,无法继续运行下去,也无法得到预期的结果。
步骤S302,根据所述运行结果报告判断所述目标程序是否运行异常。
若所述目标程序运行异常,则执行步骤S303至步骤S305,若所述目标程序运行正常,则执行步骤S306。
步骤S303,从所述运行结果报告中查找出现异常时正在执行的功能模块。
由于在加入新功能模块之前,该功能模块在执行时并未出现异常,而在加入新功能模块之后,该功能模块在执行时却会出现异常,据此可以判定两者之间存在运行环境冲突。
步骤S304,将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中。
在代码库的构建过程中,在所述第一对应关系中可能会遗漏掉某些模块间的运行环境冲突,因此,在实际的程序更新过程中,当出现了新的运行环境冲突时,需要及时将其添加到所述第一对应关系中,以保证该对应关系的完整性。
步骤S305,从所述目标程序的代码中删除所述目标功能模块的代码。
此时程序更新出现异常,即目标功能模块无法顺利添加入所述目标程序中,可以向指定开发人员发送更新异常的通知消息,以使其及时对异常进行处理。
步骤S306,结束对所述目标程序的更新。
通过以上步骤S301至步骤S306,在完成对所述目标程序的更新之后,进一步对其正常运行与否进行了验证。
综上所述,本申请实施例预先构造出了存在运行环境冲突的功能模块的之间的对应关系,在将新增的功能模块的代码添加入当前程序之前,首先要根据该对应关系对模块间是否存在运行环境冲突进行判断,只有在不存在冲突时,才可以将新增的功能模块的代码添加入当前程序中,而且在添加代码之前,还对新增代码的完整性进行了校验,从而有效降低了更新出来的程序运行时的异常概率。
图4示出了本申请实施例提供的程序更新终端设备的示意框图。该程序更新终端设备可包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机可读指令42。
请参阅图5,是本申请实施例提供的计算机可读指令42的模块图。在本实施例中,所述的计算机可读指令42可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器41中,并由所述处理器40所执行,以完成本申请。例如,在图5中,所述的计算机可读指令42可以被分割成目标功能模块获取模块501、当前功能模块获取模块502、第一判断模块503、目标功能模块代码读取模块504、目标功能模块代码完整性判断模块505、目标功能模块代码添加模块506。同样地,本申请实施例提供的程序更新装置也可包括这些模块。以下描述将具体介绍所述模块501-506的功能:
目标功能模块获取模块501,用于获取待更新入目标程序的目标功能模块;
当前功能模块获取模块502,用于获取所述目标程序当前的各个功能模块;
第一判断模块503,用于根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
目标功能模块代码读取模块504,用于若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
目标功能模块代码完整性判断模块505,用于使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
目标功能模块代码添加模块506,用于若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
进一步地,所述计算机可读指令42中还可以包括:
前置功能模块查找模块,用于在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块,所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块;
前置功能模块代码读取模块,用于从所述代码库中读取所述前置功能模块的代码;
前置功能模块代码完整性判断模块,用于使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整;
前置功能模块代码添加模块,用于若所述前置功能模块的代码是完整的,则将所述前置功能模块的代码添加入所述目标程序的代码中。
进一步地,所述计算机可读指令42中还可以包括:
替代功能模块获取模块,用于若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块,所述第三对应关系记录了功能相同的功能模块之间的对应关系;
第二判断模块,用于根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
替代功能模块代码读取模块,用于在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码;
替代功能模块代码完整性判断模块,用于使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整;
替代功能模块代码添加模块,用于若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
进一步地,所述计算机可读指令42中还可以包括:
优先级获取模块,用于若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级;
第一删除模块,用于若所述第一优先级高于所述第二优先级,则从所述目标程序中删除所述冲突功能模块的代码。
进一步地,所述计算机可读指令42中还可以包括:
运行模块,用于运行所述目标程序,并获取运行结果报告;
运行判断模块,用于根据所述运行结果报告判断所述目标程序是否运行异常;
异常模块获取模块,用于若所述目标程序运行异常,则从所述运行结果报告中查找出现异常时正在执行的功能模块;
关系添加模块,用于将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中;
第二删除模块,用于从所述目标程序的代码中删除所述目标功能模块的代码。

Claims (20)

  1. 一种程序更新方法,其特征在于,包括:
    获取待更新入目标程序的目标功能模块;
    获取所述目标程序当前的各个功能模块;
    根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
    若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
    若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  2. 根据权利要求1所述的程序更新方法,其特征在于,在将所述目标功能模块的代码添加入所述目标程序的代码中之后,还包括:
    在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块,所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块;
    从所述代码库中读取所述前置功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整;
    若所述前置功能模块的代码是完整的,则将所述前置功能模块的代码添加入所述目标程序的代码中。
  3. 根据权利要求1所述的程序更新方法,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
    若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块,所述第三对应关系记录了功能相同的功能模块之间的对应关系;
    根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
    若在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整;
    若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  4. 根据权利要求1所述的程序更新方法,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
    若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级;
    若所述第一优先级高于所述第二优先级,则从所述目标程序中删除所述冲突功能模块的代码;
    从所述代码库中读取所述目标功能模块的代码;
    将所述目标功能模块的代码添加入所述目标程序的代码中。
  5. 根据权利要求1至4中任一项所述的程序更新方法,其特征在于,在完成对所述目标程序的更新之后,还包括:
    运行所述目标程序,并获取运行结果报告;
    根据所述运行结果报告判断所述目标程序是否运行异常;
    若所述目标程序运行异常,则从所述运行结果报告中查找出现异常时正在执行的功能模块;
    将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中;
    从所述目标程序的代码中删除所述目标功能模块的代码。
  6. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如下步骤:
    获取待更新入目标程序的目标功能模块;
    获取所述目标程序当前的各个功能模块;
    根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
    若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
    若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  7. 根据权利要求6所述的计算机可读存储介质,其特征在于,在将所述目标功能模块的代码添加入所述目标程序的代码中之后,还包括:
    在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块,所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块;
    从所述代码库中读取所述前置功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整;
    若所述前置功能模块的代码是完整的,则将所述前置功能模块的代码添加入所述目标程序的代码中。
  8. 根据权利要求6所述的计算机可读存储介质,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
    若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块,所述第三对应关系记录了功能相同的功能模块之间的对应关系;
    根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
    若在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整;
    若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  9. 根据权利要求6所述的计算机可读存储介质,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
    若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级;
    若所述第一优先级高于所述第二优先级,则从所述目标程序中删除所述冲突功能模块的代码;
    从所述代码库中读取所述目标功能模块的代码;
    将所述目标功能模块的代码添加入所述目标程序的代码中。
  10. 根据权利要求6至9中任一项所述的计算机可读存储介质,其特征在于,在完成对所述目标程序的更新之后,还包括:
    运行所述目标程序,并获取运行结果报告;
    根据所述运行结果报告判断所述目标程序是否运行异常;
    若所述目标程序运行异常,则从所述运行结果报告中查找出现异常时正在执行的功能模块;
    将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中;
    从所述目标程序的代码中删除所述目标功能模块的代码。
  11. 一种程序更新终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
    获取待更新入目标程序的目标功能模块;
    获取所述目标程序当前的各个功能模块;
    根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
    若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
    若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  12. 根据权利要求11所述的程序更新终端设备,其特征在于,在将所述目标功能模块的代码添加入所述目标程序的代码中之后,还包括:
    在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块,所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块;
    从所述代码库中读取所述前置功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整;
    若所述前置功能模块的代码是完整的,则将所述前置功能模块的代码添加入所述目标程序的代码中。
  13. 根据权利要求11所述的程序更新终端设备,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
    若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块,所述第三对应关系记录了功能相同的功能模块之间的对应关系;
    根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
    若在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码;
    使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整;
    若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  14. 根据权利要求11所述的程序更新终端设备,其特征在于,在根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块之后,还包括:
    若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级;
    若所述第一优先级高于所述第二优先级,则从所述目标程序中删除所述冲突功能模块的代码;
    从所述代码库中读取所述目标功能模块的代码;
    将所述目标功能模块的代码添加入所述目标程序的代码中。
  15. 根据权利要求11至14中任一项所述的程序更新终端设备,其特征在于,在完成对所述目标程序的更新之后,还包括:
    运行所述目标程序,并获取运行结果报告;
    根据所述运行结果报告判断所述目标程序是否运行异常;
    若所述目标程序运行异常,则从所述运行结果报告中查找出现异常时正在执行的功能模块;
    将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中;
    从所述目标程序的代码中删除所述目标功能模块的代码。
  16. 一种程序更新装置,其特征在于,包括:
    目标功能模块获取模块,用于获取待更新入目标程序的目标功能模块;
    当前功能模块获取模块,用于获取所述目标程序当前的各个功能模块;
    第一判断模块,用于根据预设的第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述目标功能模块存在运行环境冲突的冲突功能模块,所述第一对应关系记录了存在运行环境冲突的功能模块之间的对应关系;
    目标功能模块代码读取模块,用于若在所述目标程序当前的各个功能模块中不存在所述冲突功能模块,则从预设的代码库中读取所述目标功能模块的代码;
    目标功能模块代码完整性判断模块,用于使用信息摘要算法5或者安全哈希算法判断所述目标功能模块的代码是否完整;
    目标功能模块代码添加模块,用于若所述目标功能模块的代码是完整的,则将所述目标功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  17. 根据权利要求16所述的程序更新装置,其特征在于,还包括:
    前置功能模块查找模块,用于在预设的第二对应关系中查找所述目标功能模块运行时所依赖的前置功能模块,所述第二对应关系记录了前置功能模块与后置功能模块之间的对应关系,所述后置功能模块的运行依赖于所述前置功能模块;
    前置功能模块代码读取模块,用于从所述代码库中读取所述前置功能模块的代码;
    前置功能模块代码完整性判断模块,用于使用信息摘要算法5或者安全哈希算法判断所述前置功能模块的代码是否完整;
    前置功能模块代码添加模块,用于若所述前置功能模块的代码是完整的,则将所述前置功能模块的代码添加入所述目标程序的代码中。
  18. 根据权利要求16所述的程序更新装置,其特征在于,还包括:
    替代功能模块获取模块,用于若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的第三对应关系中获取与所述目标功能模块的功能相同的替代功能模块,所述第三对应关系记录了功能相同的功能模块之间的对应关系;
    第二判断模块,用于根据所述第一对应关系判断在所述目标程序当前的各个功能模块中是否存在与所述替代功能模块存在运行环境冲突的功能模块;
    替代功能模块代码读取模块,用于在所述目标程序当前的各个功能模块中不存在与所述替代功能模块存在运行环境冲突的功能模块,则从所述代码库中读取所述替代功能模块的代码;
    替代功能模块代码完整性判断模块,用于使用信息摘要算法5或者安全哈希算法判断所述替代功能模块的代码是否完整;
    替代功能模块代码添加模块,用于若所述替代功能模块的代码是完整的,则将所述替代功能模块的代码添加入所述目标程序的代码中,以完成对所述目标程序的更新。
  19. 根据权利要求16所述的程序更新装置,其特征在于,还包括:
    优先级获取模块,用于若在所述目标程序当前的各个功能模块中存在所述冲突功能模块,则从预设的优先级列表中分别获取所述目标功能模块所对应的第一优先级及所述冲突功能模块所对应的第二优先级;
    第一删除模块,用于若所述第一优先级高于所述第二优先级,则从所述目标程序中删除所述冲突功能模块的代码。
  20. 根据权利要求16至19中任一项所述的程序更新装置,其特征在于,还包括:
    运行模块,用于运行所述目标程序,并获取运行结果报告;
    运行判断模块,用于根据所述运行结果报告判断所述目标程序是否运行异常;
    异常模块获取模块,用于若所述目标程序运行异常,则从所述运行结果报告中查找出现异常时正在执行的功能模块;
    关系添加模块,用于将所述出现异常时正在执行的功能模块与所述目标功能模块之间存在的运行环境冲突的关系添加入所述第一对应关系中;
    第二删除模块,用于从所述目标程序的代码中删除所述目标功能模块的代码。
PCT/CN2018/076522 2017-09-08 2018-02-12 程序更新方法、计算机可读存储介质、终端设备及装置 Ceased WO2019047480A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710804129.1A CN107832062B (zh) 2017-09-08 2017-09-08 一种程序更新方法及终端设备
CN201710804129.1 2017-09-08

Publications (1)

Publication Number Publication Date
WO2019047480A1 true WO2019047480A1 (zh) 2019-03-14

Family

ID=61643289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/076522 Ceased WO2019047480A1 (zh) 2017-09-08 2018-02-12 程序更新方法、计算机可读存储介质、终端设备及装置

Country Status (2)

Country Link
CN (1) CN107832062B (zh)
WO (1) WO2019047480A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442441A (zh) * 2019-08-07 2019-11-12 腾讯科技(深圳)有限公司 数据处理方法、装置、可读存储介质及终端设备

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189411B (zh) * 2018-08-23 2022-02-01 爱尚游(北京)科技股份有限公司 一种云应用安装方法
CN110162467B (zh) * 2019-04-23 2023-12-19 平安科技(深圳)有限公司 软件测试方法、装置、计算机设备和可读存储介质
CN110069279B (zh) * 2019-04-29 2023-08-08 南方电网科学研究院有限责任公司 一种直流控制保护程序的校验方法、装置及存储介质
CN110659081B (zh) * 2019-09-10 2022-12-27 北京达佳互联信息技术有限公司 用于程序对象的文件处理方法、装置及电子设备
CN111078249B (zh) * 2019-11-08 2023-06-02 泰康保险集团股份有限公司 软件更新方法、系统、设备及存储介质
CN111338688B (zh) * 2020-02-28 2023-12-08 深圳平安医疗健康科技服务有限公司 数据长效缓存方法、装置、计算机系统及可读存储介质
US11150880B1 (en) * 2020-06-11 2021-10-19 International Business Machines Corporation Automating an adoption of cloud services
CN112015640B (zh) * 2020-08-06 2024-04-05 京东科技控股股份有限公司 一种软件测试方法及系统
CN113535206B (zh) * 2021-07-23 2024-02-20 上海幻电信息科技有限公司 多版本代码升级方法及系统
CN113886267B (zh) * 2021-10-25 2025-05-06 锐凌无线有限责任公司 一种软件系统的检测方法、装置、电子设备及存储介质
CN115291912A (zh) * 2022-08-11 2022-11-04 广州博冠信息科技有限公司 处理应用程序崩溃的方法及装置、介质、电子设备
CN116225966B (zh) * 2023-04-25 2023-08-04 深圳曼瑞德科技有限公司 一种基于智能手表的应用评估方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081534A (zh) * 2009-11-30 2011-06-01 英特尔公司 自动模块化且安全的引导固件更新
CN102830995A (zh) * 2012-08-03 2012-12-19 广东欧珀移动通信有限公司 一种保留用户数据的Android平台软件升级方法
US8561052B2 (en) * 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method
CN103513999A (zh) * 2012-06-25 2014-01-15 联想(北京)有限公司 一种更新系统固件的方法及电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533356B (zh) * 2009-04-21 2013-02-27 华为技术有限公司 一种实现软件在线升级的方法、装置及系统
US20130117738A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Server Upgrades with Safety Checking and Preview
US9665359B2 (en) * 2013-09-13 2017-05-30 Microsoft Technology Licensing, Llc Automatically resolving conflicts after installation of selected updates in a computer system
CN105700919B (zh) * 2016-01-04 2019-04-30 惠州市蓝微新源技术有限公司 一种bms应用程序快速更新方法及更新系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8561052B2 (en) * 2008-12-08 2013-10-15 Harris Corporation Communications device with a plurality of processors and compatibility synchronization module for processor upgrades and related method
CN102081534A (zh) * 2009-11-30 2011-06-01 英特尔公司 自动模块化且安全的引导固件更新
CN103513999A (zh) * 2012-06-25 2014-01-15 联想(北京)有限公司 一种更新系统固件的方法及电子设备
CN102830995A (zh) * 2012-08-03 2012-12-19 广东欧珀移动通信有限公司 一种保留用户数据的Android平台软件升级方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442441A (zh) * 2019-08-07 2019-11-12 腾讯科技(深圳)有限公司 数据处理方法、装置、可读存储介质及终端设备
CN110442441B (zh) * 2019-08-07 2024-03-12 腾讯科技(深圳)有限公司 数据处理方法、装置、可读存储介质及终端设备

Also Published As

Publication number Publication date
CN107832062A (zh) 2018-03-23
CN107832062B (zh) 2020-04-21

Similar Documents

Publication Publication Date Title
WO2019047480A1 (zh) 程序更新方法、计算机可读存储介质、终端设备及装置
CN105677415B (zh) 热更新方法及装置
CN104252481B (zh) 主从数据库一致性的动态校验方法和装置
US9680707B2 (en) Automated change approval
US11163744B2 (en) Test data generation and scale up for database testing using unique common factor sequencing
CN101308471B (zh) 一种恢复数据的方法及装置
JP5644777B2 (ja) ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
CN108614702B (zh) 字节码优化方法及装置
CN108319858A (zh) 针对不安全函数的数据依赖图构建方法及装置
CN108415835A (zh) 分布式数据库测试方法、装置、设备及计算机可读介质
WO2019237574A1 (zh) 一种数据库差异的识别方法及装置
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
CN115129704A (zh) 迁移数据校验方法及其系统、电子设备、存储介质
CN102981956B (zh) overlay符号表建立和查找的方法、装置及程序调制系统
CN109255238B (zh) 终端威胁检测与响应方法及引擎
CN115952300B (zh) 动态图谱构建方法、动态图谱构建设备和可读存储介质
WO2016177075A1 (zh) 一种业务数据关联关系校验方法、装置及可读存储介质
WO2015087509A1 (ja) 状態保存復元装置、状態保存復元方法、および、記憶媒体
CN113297058B (zh) 一种用例生成方法、测试方法、装置及服务器
CN111460436B (zh) 一种基于区块链的非结构化数据操作方法和系统
CN112783835A (zh) 索引管理方法、装置及电子设备
CN114564228B (zh) 一种应用程序更新方法、装置、计算机设备及存储介质
US12026181B2 (en) Network environment synchronization apparatus and method
WO2020199789A1 (zh) 一种信息处理方法及装置
CN114428956B (zh) 一种基于扩展属性的文件验证方法、装置及系统

Legal Events

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

Ref document number: 18853244

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 08.09.2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18853244

Country of ref document: EP

Kind code of ref document: A1