CN116414424B - Thermal updating method, device, equipment and storage medium - Google Patents

Thermal updating method, device, equipment and storage medium Download PDF

Info

Publication number
CN116414424B
CN116414424B CN202310678727.4A CN202310678727A CN116414424B CN 116414424 B CN116414424 B CN 116414424B CN 202310678727 A CN202310678727 A CN 202310678727A CN 116414424 B CN116414424 B CN 116414424B
Authority
CN
China
Prior art keywords
function
target
updated
address information
updating
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.)
Active
Application number
CN202310678727.4A
Other languages
Chinese (zh)
Other versions
CN116414424A (en
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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202310678727.4A priority Critical patent/CN116414424B/en
Publication of CN116414424A publication Critical patent/CN116414424A/en
Application granted granted Critical
Publication of CN116414424B publication Critical patent/CN116414424B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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 invention provides a thermal updating method, a thermal updating device, thermal updating equipment and a storage medium, which can be applied to the technical field of computers. The method comprises the following steps: in response to receiving a thermal update request, determining first address information of a function to be updated and second address information of a target update function by using a first byte code program mounted on a first mounting point, wherein the target update function is used for updating the function to be updated; under the condition that the target operating system triggers soft interrupt, a second byte code program mounted on a second mounting point is utilized to acquire a system call number corresponding to a function to be updated; determining a system call function corresponding to the function to be updated from a preset system call table based on the system call number; updating the calling address information of the system calling function into second address information based on the association relation between the function to be updated and the target updating function, so as to call the target updating function by using the second address information. According to the invention, the occurrence probability of the problem of thermal update can be reduced.

Description

Thermal updating method, device, equipment and storage medium
Technical Field
The present invention relates to the field of computer technology, and in particular, to a method, apparatus, device, medium, and program product for hot update.
Background
The hot update is also called hot repair, and refers to a method for directly replacing part of program files of an application in the running process of the application without closing the application so as to finish updating or repairing the application without restarting. There are many existing ways of thermal updating, for example: pre-buried hot update codes, libraries formulated for full-scale updates, etc.
In the process of implementing the inventive concept, the inventor finds that at least the following problems exist in the related art: the related art hot updating method at least needs to perform full hot updating of the library file, and the hot updating mode is easy to cause a new problem due to the change of the environment in which the library is contained, and the problem of development difficulty improvement due to pre-embedded hot updating codes.
Disclosure of Invention
In view of the foregoing, the present invention provides a thermal update method, apparatus, device, medium, and program product.
According to a first aspect of the present invention, there is provided a thermal updating method applied to a target operating system, comprising:
in response to receiving a thermal update request, determining first address information of a function to be updated and second address information of a target update function by using a first byte code program mounted on a first mounting point, wherein the target update function is used for updating the function to be updated;
Under the condition that the target operating system triggers soft interruption, a second byte code program mounted at a second mounting point is utilized to acquire a system call number corresponding to the function to be updated;
determining a system call function corresponding to the function to be updated from a preset system call table based on the system call number, wherein the system call function realizes the call of the function to be updated through the first address information;
updating call address information of the system call function to the second address information based on the association relation between the function to be updated and the target update function, so as to call the target update function by using the second address information.
According to an embodiment of the present invention, in response to receiving a hot update request, determining, by using a first bytecode program installed at a first installation point, first address information of a function to be updated and second address information of a target update function, where the target update function is used to update the function to be updated, and includes: in response to receiving the hot update request, detecting a loading state of a target update function library containing the target update function; under the condition that the target updating function library is being loaded, determining to acquire a system call of the target updating function by using the first byte code program mounted at the first mounting point, wherein the system call comprises call address information corresponding to the target updating function; inquiring a function identifier to be updated in a target storage area based on a target inquiry function to obtain an inquiry result; determining first address information of the function to be updated based on the query result; and determining second address information of the target update function based on the system call.
According to an embodiment of the present invention, the determining, by using the first bytecode program installed at the first installation point, to obtain the system call of the target update function includes: acquiring a plurality of system calls of all functions contained in the target update function library by using the first byte code program mounted at the first mounting point; and determining the system call of the target update function from the plurality of system calls.
According to an embodiment of the present invention, before the determining, by using the first bytecode program installed at the first installation point, the first address information of the function to be updated and the second address information of the target update function in response to receiving the thermal update request, the method further includes: in response to receiving the hot update request, determining to write a function identifier to be updated carried in the hot update request into a target storage area by using a target user mode program; determining identification information of a target update function for updating the function to be updated based on the function identification to be updated; and loading a target update function library containing the target update function into the target operating system based on the identification information of the target update function.
According to an embodiment of the present invention, the first address information of the function to be updated and the second address information of the target update function are stored in a target storage area.
According to an embodiment of the present invention, the updating the call address of the system call function to the second address information based on the association relationship between the function to be updated and the target update function, so as to call the target update function using the second address information, includes: searching a target updating function identifier in the target storage area by utilizing a query function based on the association relation between the function to be updated and the target updating function to obtain a query result; and responding to the query result to indicate that the target updating function identifier is searched, and determining to update the calling address information of the system calling function to the second address information based on the second address information stored in the target storage area so as to call the target updating function by using the second address information.
According to the embodiment of the invention, a target user group identifier containing a program to be updated is written into a target storage area by using a target user state program, wherein the program to be updated characterizes the program containing the function to be updated; detecting whether the user group identifier of the running program is the same as the target user group identifier based on the target user group identifier, and obtaining a first detection result; and in response to the fact that the first detection result indicates the same as the target user group identifier, determining that the interrupt signal table of the program to be updated is stored in a target storage area by using the first byte code program under the condition of system registration, wherein the interrupt signal table comprises interrupt signal types corresponding to the function to be updated.
According to an embodiment of the present invention, when the target operating system triggers a soft interrupt, a second bytecode program installed at a second installation point is used to obtain a system call number corresponding to the function to be updated, including: under the condition that the target operating system triggers soft interrupt, detecting whether the interrupt signal type of the soft interrupt is contained in the interrupt signal table or not by utilizing the second byte code program mounted at a second mounting point to obtain a second detection result; and responding to the second detection result to indicate that the interrupt signal type is contained in the interrupt signal table, and determining a system call number corresponding to the function to be updated based on the interrupt signal type.
According to an embodiment of the present invention, the first mount point includes a system function registration point, and the second mount point includes the system function call point.
A second aspect of the present invention provides a thermal updating apparatus applied to a target operating system, including:
the address information determining module is used for determining first address information of a function to be updated and second address information of a target updating function by using a first byte code program mounted on a first mounting point in response to receiving a hot updating request, wherein the target updating function is used for updating the function to be updated;
The system call number acquisition module is used for acquiring a system call number corresponding to the function to be updated by using a second byte code program mounted at a second mounting point under the condition that the target operating system triggers soft interrupt;
a system call function determining module, configured to determine, from a preset system call table, a system call function corresponding to the function to be updated based on the system call number, where the system call function implements call to the function to be updated through the first address information;
and the updating module is used for updating the calling address information of the system calling function into the second address information based on the association relation between the function to be updated and the target updating function so as to call the target updating function by using the second address information.
A third aspect of the present invention provides an electronic device comprising: one or more processors; and a memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method.
A fourth aspect of the invention also provides a computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the above method.
The fifth aspect of the invention also provides a computer program product comprising a computer program which, when executed by a processor, implements the above method.
According to the hot updating method provided by the invention, the address information of the function to be updated and the target updating function is determined by using the first byte code program mounted on the first mounting point, then the system calling number corresponding to the function to be updated is analyzed by using the second byte code program mounted on the second mounting point under the condition that the target operating system triggers soft interrupt, the system calling function of the function to be updated is determined, the calling address information of the system calling function is updated, the target updating function is directly called by using the system calling function based on the second address information, and the updating of the function to be updated is further completed. The second address information of the target updating function is determined by the first byte code program, and the target updating function is directly called by the second byte code program based on the second address information through the system calling function, so that the updating of the function to be updated is completed. Therefore, the problems that other problems are easy to introduce and development difficulty is improved in the hot updating method in the related technology are at least partially solved, and the technical effects that the designated functions can be directly subjected to hot updating, the probability and range of occurrence of the problems are reduced, and the debugging and development efficiency of the program is improved are realized.
Drawings
The foregoing and other objects, features and advantages of the invention will be apparent from the following description of embodiments of the invention with reference to the accompanying drawings, in which:
FIG. 1 illustrates an application scenario diagram of a hot update method, apparatus, device, medium, and program product according to an embodiment of the present invention.
Fig. 2 shows a flow chart of a method of hot updating according to an embodiment of the invention.
Fig. 3 shows a flow chart of determining address information according to an embodiment of the invention.
FIG. 4 shows a flow chart for updating a function to be updated according to an embodiment of the invention.
Fig. 5 shows a schematic diagram of a hot update method according to an embodiment of the invention.
Fig. 6 shows a block diagram of a thermal upgrade apparatus according to an embodiment of the present invention.
Fig. 7 shows a block diagram of an electronic device adapted to implement a thermal update method according to an embodiment of the invention.
Detailed Description
Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. It should be understood that the description is only illustrative and is not intended to limit the scope of the invention. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It may be evident, however, that one or more embodiments may be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques are omitted so as not to unnecessarily obscure the present invention.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The terms "comprises," "comprising," and/or the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It should be noted that the terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly formal manner.
Where expressions like at least one of "A, B and C, etc. are used, the expressions should generally be interpreted in accordance with the meaning as commonly understood by those skilled in the art (e.g.," a system having at least one of A, B and C "shall include, but not be limited to, a system having a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the invention, the related data (such as including but not limited to personal information of a user) are collected, stored, used, processed, transmitted, provided, disclosed, applied and the like, all meet the requirements of related laws and regulations, necessary security measures are adopted, and the public welcome is not violated.
During the course of research, it was found that the thermal update technique in the related art mainly includes two aspects: first, pre-burying a hot update code; the second is to update the specified library in full. That is, for a program requiring hot update, it is necessary to write a hot-updated code in the program in advance; in the case of hot updating, only the full hot updating of the library file is possible, i.e. for a given library file, the functions of all the functions contained in the given library file are updated.
For pre-embedded hot update codes, the inventor finds that development difficulty is increased easily, and the program is not easy to test and debug, so that the problem of low development efficiency is easily caused; for libraries formulated by full-scale updating, new problems are easily introduced during updating due to changes in the environment in which the library is contained, and meanwhile, a module reload is often required to be added in the code after the library is replaced, and if the module is already loaded, the module can only be continued after an application program is closed.
In view of the foregoing, embodiments of the present invention provide a thermal update method applied to a target operating system, the method comprising: in response to receiving a thermal update request, determining first address information of a function to be updated and second address information of a target update function by using a first byte code program mounted on a first mounting point, wherein the target update function is used for updating the function to be updated; under the condition that the target operating system triggers soft interrupt, a second byte code program mounted on a second mounting point is utilized to acquire a system call number corresponding to a function to be updated; determining a system call function corresponding to a function to be updated from a preset system call table based on the system call number, wherein the system call function realizes the call of the function to be updated through first address information; updating the calling address information of the system calling function into second address information based on the association relation between the function to be updated and the target updating function, so as to call the target updating function by using the second address information.
FIG. 1 illustrates an application scenario diagram of a hot update method, apparatus, device, medium, and program product according to an embodiment of the present invention.
As shown in fig. 1, the application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is a medium used to provide a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
The user may interact with the server 105 through the network 104 using at least one of the first terminal device 101, the second terminal device 102, the third terminal device 103, to receive or send messages, etc. Various communication client applications, such as a shopping class application, a web browser application, a search class application, an instant messaging tool, a mailbox client, social platform software, etc. (by way of example only) may be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103.
The first terminal device 101, the second terminal device 102, the third terminal device 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smartphones, tablets, laptop and desktop computers, and the like.
The server 105 may be a server providing various services, such as a background management server (by way of example only) providing support for websites browsed by the user using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and process the received data such as the user request, and feed back the processing result (e.g., the web page, information, or data obtained or generated according to the user request) to the terminal device.
It should be noted that the method for hot update provided by the embodiment of the present invention may be generally performed by the server 105. Accordingly, the thermal updating apparatus provided by the embodiment of the present invention may be generally disposed in the server 105. The thermal update method provided by the embodiment of the present invention may also be performed by a server or a server cluster that is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103 and/or the server 105. Accordingly, the thermal updating apparatus provided by the embodiment of the present invention may also be provided in a server or a server cluster, which is different from the server 105 and is capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103 and/or the server 105.
It should be understood that the number of terminal devices, networks and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
The thermal updating method of the disclosed embodiment will be described in detail below with reference to fig. 2 to 5 based on the scenario described in fig. 1.
Fig. 2 schematically shows a flow chart of a method of hot-update according to an embodiment of the invention.
As shown in fig. 2, the thermal updating method of the embodiment may be applied to a target operating system, including operations S210 to S240.
In operation S210, in response to receiving the thermal update request, first address information of the function to be updated and second address information of the target update function are determined by using the first bytecode program installed at the first installation point, where the target update function is used to update the function to be updated.
According to the embodiment of the invention, if a hot update request is received, and under the condition that a target operating system loads a target update function library, a first byte code program mounted at a first mounting point can be utilized to store and record the first address information of a function to be updated and the second address information of the target update function.
According to embodiments of the present invention, the target operating system may be any operating system capable of applying the hot-update method, such as a Linux system or the like.
According to the embodiment of the invention, the information of the function to be updated, such as identification information and the like, can be obtained based on the hot update request, then the information of the function to be updated is utilized, and the second address information of the target update function is determined by utilizing the first byte code program mounted on the first mounting point, so that the determination process of the address information of the target update function is realized, the target update function can be found by utilizing the address information, and the condition is provided for the subsequent update of the function to be updated.
In operation S220, under the condition that the target operating system triggers the soft interrupt, the second byte code program installed at the second installation point is utilized to obtain the system call number corresponding to the function to be updated.
According to the embodiment of the invention, under the condition that the target operating system triggers soft interrupt, the interrupt signal can be intercepted based on the second byte code program mounted on the second mounting point, so as to determine the interrupt signal type, and if the interrupt signal type has a corresponding relation with the function to be updated, the analysis process of the system call number corresponding to the function to be updated is performed.
According to the embodiment of the invention, the target operating system triggered soft interrupt can be a kernel soft interrupt, wherein the specific type of the kernel soft interrupt is not limited, and can be determined based on actual conditions.
According to the embodiment of the invention, whether the soft interrupt triggered by the target operating system is the soft interrupt with the corresponding relation with the function to be updated is determined, and when the fact that the soft interrupt has the corresponding relation with the function to be updated is determined, the system call number corresponding to the function to be updated is determined to be analyzed by utilizing the second byte code program based on the interrupt signal, so that the system call number corresponding to the function to be updated is directly determined, the processing range is reduced, and the updating efficiency is accelerated.
In operation S230, a system call function corresponding to the function to be updated is determined from a preset system call table based on the system call number, wherein the system call function realizes the call of the function to be updated through the first address information.
According to the embodiment of the invention, the preset system call table can be obtained from the target operating system, wherein the preset system call table can comprise the relation between a system call number and a system call function and call address information of the system call function and a function to be updated.
According to the embodiment of the invention, the system call function corresponding to the function to be updated is determined, namely, the call process of the function to be updated in normal call can be determined, and a foundation is laid for the subsequent update and replacement process of the function to be updated.
In operation S240, the call address information of the system call function is updated to second address information based on the association relationship between the function to be updated and the target update function, so as to call the target update function using the second address information.
According to the embodiment of the invention, based on the association relation between the function to be updated and the target update function, the information of the target update function, such as identification information, can be determined, based on the information of the target update function, the calling address information of the target update function, namely the second address information, can be determined, and the system calling function is utilized to call the target update function through the second address information, namely the updating and replacing process of the function to be updated is completed.
According to the hot updating method provided by the invention, the address information of the function to be updated and the target updating function is determined by using the first byte code program mounted on the first mounting point, then the system calling number corresponding to the function to be updated is analyzed by using the second byte code program mounted on the second mounting point under the condition that the target operating system triggers soft interrupt, the system calling function of the function to be updated is determined, the calling address information of the system calling function is updated, the target updating function is directly called by using the system calling function based on the second address information, and the updating of the function to be updated is further completed. The second address information of the target updating function is determined by the first byte code program, and the target updating function is directly called by the second byte code program based on the second address information through the system calling function, so that the updating of the function to be updated is completed. Therefore, the problems that other problems are easy to introduce and development difficulty is improved in the hot updating method in the related technology are at least partially solved, and the technical effects that the designated functions can be directly subjected to hot updating, the probability and range of occurrence of the problems are reduced, and the debugging and development efficiency of the program is improved are realized.
Fig. 3 schematically shows a flow chart of determining address information according to an embodiment of the invention.
Determining address information as shown in fig. 3 may include operations S211 to S215.
In operation S211, in response to receiving the hot update request, a loading state of a target update function library including the target update function is detected.
In operation S212, under the condition that the target update function library is being loaded, it is determined that the system call of the target update function is obtained by using the first bytecode program mounted at the first mounting point, where the system call includes call address information corresponding to the target update function.
In operation S213, the function identifier to be updated is queried in the target storage area based on the target query function, and a query result is obtained.
In operation S214, first address information of the function to be updated is determined based on the query result.
In operation S215, second address information of the target update function is determined based on the system call.
According to the embodiment of the invention, when a hot update request is received, the loading state of the target update function library can be detected, wherein the loading state of the target update function library can refer to the process of loading the target update function library into the kernel of the operating system.
According to the embodiment of the invention, if the loading state of the target update function library is loading, the system call of the target update function can be recorded by using the first byte code program mounted at the first mounting point, the function to be updated is queried by using the query function, and finally the first address information and the second address information are determined based on the system call and the query result.
According to the embodiment of the invention, the first bytecode program can be a compiled kernel-mode program, and the bytecode program can complete the functions of intercepting, monitoring, recording and the like of the first mounting point data, for example: the byte code program can be obtained by an extended Berkeley packet filter (Extended Berkeley Packet Filter, eBPF for short) technology, and a complete eBPF program comprises a user mode part and a kernel mode part; the kernel mode program is compiled into the eBPF byte code program through a compiling tool, and the byte code is required to pass through kernel security verification to ensure that the byte code cannot cause kernel abnormality when the kernel runs, wherein the first byte code program and the second byte code program can be obtained according to the mode.
According to an embodiment of the present invention, the query function may be a function capable of querying information in a target area, for example: eBPF helper function.
According to the embodiment of the invention, the information of the function to be updated can be searched by utilizing the query function based on the function identifier to be updated carried by the hot update request, and the first address information of the function to be updated is determined based on the information of the searched function to be updated, wherein the address of the function to be updated is obtained according to the address information of the function library to be updated loaded into the kernel of the target operating system in the running process of the program, and the function library to be updated can be a function library containing the function to be updated.
According to the embodiment of the invention, when the loading event of the target update function library is triggered, the first byte code program is called, the first byte code program is used for acquiring and recording the target update function system call and inquiring the function to be updated, so that the first address information and the second address information are obtained, the determination of the address information of the function is realized, a foundation is laid for the subsequent update process, the update rate is increased, and a smaller update range is determined.
According to an embodiment of the present invention, the storage locations of the first address information and the second address information are not limited, and the storage locations may be storage locations that may provide interaction between a user mode program and a bytecode program, for example: and storing the first address information of the function to be updated and the second address information of the target updating function in the target storage area. The target storage area may be eBPF maps. The eBPF maps can be used for enabling the eBPF user mode program to interact with the eBPF bytecode program through the eBPF maps when a specific event occurs in the kernel of the target operating system so that the eBPF bytecode program is called.
According to an embodiment of the present invention, determining to obtain a system call for a target update function using a first bytecode program installed at a first installation point may include the following operations.
Acquiring a plurality of system calls of all functions contained in a target update function library by using a first byte code program mounted at a first mounting point; a system call for the target update function is determined from the plurality of system calls.
According to the embodiment of the invention, the system call of the target update function is determined from a plurality of system calls by recording the system calls of all the functions included in the target update function library and determining the identification of the target update function based on the identification of the function to be updated, so that the processing range is reduced, and the processing speed is accelerated.
According to an embodiment of the present invention, before determining the first address information of the function to be updated and the second address information of the target update function using the first bytecode program mounted at the first mounting point in response to receiving the hot update request, the following operations are further included.
In response to receiving the thermal update request, determining to utilize the target user mode program to write the function identifier to be updated carried in the thermal update request into the target storage area; determining identification information of a target update function for updating the function to be updated based on the function identification to be updated; and loading the target update function library containing the target update function into a target operating system based on the identification information of the target update function.
According to an embodiment of the present invention, the type of the specific target user mode program is not limited, and the target user mode program may be a program capable of being loaded into a kernel mount point through a berkeley packet filter (Berkely Packet Filter, BPF) system call bytecode program, for example: eBPF user mode program.
According to the embodiment of the invention, the target update function library can be loaded to the kernel of the target operating system.
According to the embodiment of the invention, the address information of the target update function can be determined through the operation of loading the target update function library into the kernel of the target operating system.
According to an example of the present invention, the hot update method may further include the following operations.
Writing a target user group identifier containing a program to be updated into a target storage area by using a target user state program, wherein the program to be updated characterizes the program containing a function to be updated; detecting whether the user group identifier of the running program is the same as the target user group identifier or not based on the target user group identifier, and obtaining a first detection result; and responding to the fact that the first detection result indicates that the first detection result is the same as the target user group identification, determining that under the condition of system registration, using a first byte code program, and storing an interrupt signal table of a program to be updated into a target storage area, wherein the interrupt signal table comprises interrupt signal types corresponding to the function to be updated.
According to the embodiment of the invention, in the initialization stage, the user mode program writes the target user group identifier containing the program to be updated into the target storage area, namely, the user group to be analyzed is written into the target storage area, and if the user group identifier of the running program is detected as the target user group identifier, the subsequent processing operation is performed, so that the detection range is defined, and the problem of resource waste caused by processing operation on each program is avoided.
According to the embodiment of the invention, when the user group identifier of the running program is detected to be the same as the target user group identifier, the determination of whether the program is the program to be updated can be performed, and if the program is the program to be updated, the interrupt signal table corresponding to the program to be updated is stored in the target storage area by using the first byte code program under the condition of performing system registration.
According to the embodiment of the invention, under the condition that the target operating system triggers the soft interrupt, the second byte code program mounted at the second mounting point is utilized to acquire the system call number corresponding to the function to be updated, which can comprise the following operations.
Under the condition that the target operating system triggers the soft interrupt, detecting whether the interrupt signal type of the soft interrupt is contained in an interrupt signal table or not by using a second byte code program mounted at a second mounting point to obtain a second detection result; and responding to the second detection result to indicate that the interrupt signal type is contained in the interrupt signal table, and determining a system call number corresponding to the function to be updated based on the interrupt signal type.
According to the embodiment of the invention, the target operating system can detect the interrupt signal type, if the interrupt signal type is detected to be the interrupt signal type corresponding to the function to be processed in the interrupt signal table, the system call number corresponding to the interrupt signal type, namely the system call number corresponding to the function to be updated, is determined, and the subsequent processing is carried out based on the system call number, so that only the designated function is processed, further the thermal update in the function range is realized, and the situation that the thermal update in the library range possibly causes new problems in the prior art is overcome.
Fig. 4 schematically shows a flow chart of updating a function to be updated according to an embodiment of the invention.
As shown in fig. 4, updating the function to be updated may include operations S241 to S242.
In operation S241, based on the association relationship between the function to be updated and the target update function, the target update function identifier is searched in the target storage area by using the query function, so as to obtain the query result.
In operation S242, in response to the query result indicating that the target update function identification is found, it is determined to update the call address information of the system call function to the second address information based on the second address information stored in the target storage area, so as to call the target update function using the second address information.
According to the embodiment of the invention, the query result indicates that the target update function identifier is found in the target storage area, the function to be updated corresponding to the target update function can be indicated to be updated, and then the calling address information of the system calling function associated with the function to be updated can be updated to the second address information, so that the target update function can be called based on the second address information, and then the updating process of the function to be updated is completed.
According to the embodiment of the invention, the calling address information of the system calling function is updated to the second address information, so that the target updating function is called by using the second address information, the updating of the function range can be completed in the running process of the program, the updating range is reduced, the non-total heat updating is realized, meanwhile, the probability of occurrence of heat updating is reduced, the updating mode is more convenient, and the updating and debugging steps are optimized. In addition, the debugging and developing efficiency of the application program is greatly improved without adding hot updated codes into the application program.
According to an embodiment of the invention, the first mounting point comprises a system function registration point and the second mounting point comprises a system function call point.
According to the embodiment of the invention, the specific positions of the first mounting point and the second mounting point are not limited, and different mounting points can be selected according to actual needs.
According to the embodiment of the invention, the number of the byte code programs mounted on the mounting point is not limited, a plurality of byte code programs can be mounted according to the function to be realized, and the same byte code program can also be used for realizing a plurality of functions.
According to the embodiment of the invention, under the condition that the kernel of the operating system triggers different events, the events occurring at the mounting point and the obtained results can be monitored or processed based on the byte program. For example: when the first mounting point comprises a system function registration point, under the condition that the operating system carries out system registration, an interrupt signal corresponding to a program to be updated is recorded in a target storage area.
Fig. 5 schematically shows a schematic diagram of a hot update method according to an embodiment of the invention.
As shown in FIG. 5, the hot update method according to the embodiment of the present invention may include a target user mode program 510, a target storage area 520, a first bytecode program 530, a first mount point 540, a second bytecode program 550, and a second mount point 560.
The target user mode program 510 may be an eBPF user mode program. The first bytecode program 530 and the second bytecode program 550 may be eBPF bytecode programs, and the first bytecode program 530 and the second bytecode program 550 may be the same or different, and may be specifically determined by the functions of the bytecode programs. The first mount point 540 may be a system function registration point and the second mount point 560 may be a system function call point.
In the initialization state, the target user state program 510 may be utilized to write the target user group identifier including the program to be updated into the target storage area 520, and one bytecode program is respectively installed on the first installation point 540 and the second installation point 550, that is, the first bytecode program 530 is installed on the first installation point 540, and the second bytecode program 550 is installed on the second installation point 560.
Based on the target user group identifier contained in the target storage area 520, it is detected whether the user group of the running program is the target user group, and if it is determined that the running program is the program to be updated, it may be detected whether the running program is the program to be updated, and if it is the program to be updated, the interrupt signal table of the program to be updated is recorded in the target storage area 520 by using the first byte code program 530, if the system registration may be triggered.
In response to receiving the hot update request, it may be determined to invoke the target user-mode program 510 to write the identification of the function to be updated into the target storage area 520. The target update function library may then be loaded into the operating system kernel.
In the case that the system is loading the target update function library, the first bytecode program 530 may be called to record a system call of the target update function library, and the function to be updated may be queried in the target storage area 520 by the query function based on the identification of the function to be updated, and the first address information of the function to be updated is determined based on the query result; based on the system call, second address information of the target update function is determined. And storing both the first address information and the second address information in the target storage area.
In the event that the target operating system triggers a soft interrupt, the second bytecode program 550 is invoked, performing the following update operations:
detecting whether an interrupt signal type of the target operating system triggering soft interrupt is contained in an interrupt signal table or not to obtain a detection result; and responding to the detection result that the interrupt signal type is contained in the interrupt signal table, and determining a system call number corresponding to the function to be updated based on the interrupt signal type.
And then, determining a system call function corresponding to the function to be updated from a preset system call table based on the system call number, wherein the system call function realizes the call of the function to be updated through the first address information.
Finally, searching a target update function identifier in a target area by utilizing a query function based on the association relation between the function to be updated and the target update function to obtain a query result; and responding to the query result to indicate that the target updating function identification is found, and determining to update the calling address information of the system calling function to the second address information based on the second address information stored in the target storage area so as to call the target updating function by using the second address information.
Based on the thermal updating method, the invention further provides a thermal updating device. The device will be described in detail below in connection with fig. 6.
Fig. 6 schematically shows a block diagram of a thermal upgrade apparatus according to an embodiment of the present invention.
As shown in fig. 6, the thermal updating apparatus 600 of this embodiment is applied to a target operating system, and includes an address information determining module 610, a system call number acquiring module 620, a system call function determining module 630, and an updating module 640.
The address information determining module 610 is configured to determine, in response to receiving the hot update request, first address information of a function to be updated and second address information of a target update function, using a first bytecode program installed at the first installation point, where the target update function is used to update the function to be updated.
The system call number obtaining module 620 is configured to obtain, when the target operating system triggers a soft interrupt, a system call number corresponding to the function to be updated by using the second bytecode program installed at the second installation point.
The system call function determining module 630 is configured to determine, based on the system call number, a system call function corresponding to the function to be updated from a preset system call table, where the system call function implements the call of the function to be updated through the first address information.
And the updating module 640 is configured to update call address information of the system call function to second address information based on an association relationship between the function to be updated and the target update function, so as to call the target update function by using the second address information.
According to an embodiment of the present invention, the address information determining module 610 may include: the system comprises a loading state determining sub-module, a system call determining sub-module, a query result determining sub-module, a first address information determining sub-module and a second address information determining sub-module.
And the loading state determining submodule is used for responding to the received hot update request and detecting the loading state of the target update function library containing the target update function.
And the system call determining sub-module is used for determining to acquire the system call of the target update function by using the first byte code program mounted at the first mounting point under the condition that the target update function library is being loaded, wherein the system call comprises call address information corresponding to the target update function.
And the query result determining sub-module is used for querying the function identifier to be updated in the target storage area based on the target query function to obtain a query result.
And the first address information determining submodule is used for determining the first address information of the function to be updated based on the query result.
And the second address information determining submodule is used for determining the second address information of the target updating function based on the system call.
According to an embodiment of the present invention, a system call determination submodule includes: a plurality of system call determining units and an objective function system call determining unit.
And the system call determining units are used for acquiring the system calls of all the functions contained in the target updating function library by using the first byte code program mounted at the first mounting point.
And the target function system call determining unit is used for determining the system call of the target update function from the plurality of system calls.
According to an embodiment of the present invention, the thermal updating apparatus 600 may further include: the system comprises a target storage area writing module, a target updating function identification information determining module and a target updating function library loading module.
And the target storage area writing module is used for responding to the received thermal update request and determining to write the function identifier to be updated carried in the thermal update request into the target storage area by utilizing the target user mode program.
And the target update function identification information determining module is used for determining identification information of a target update function for updating the function to be updated based on the function identification to be updated.
And the target update function library loading module is used for loading the target update function library containing the target update function into the target operating system based on the identification information of the target update function.
According to an embodiment of the present invention, the system call number acquisition module 620 may include a second detection result determination module and a system call number acquisition module.
And the second detection result determining module is used for detecting whether the interrupt signal type of the soft interrupt is contained in the interrupt signal table or not by using a second byte code program mounted at a second mounting point under the condition that the target operating system triggers the soft interrupt, so as to obtain a second detection result.
And the system call number acquisition module is used for responding to the second detection result to indicate that the interrupt signal type is contained in the interrupt signal table, and determining the system call number corresponding to the function to be updated based on the interrupt signal type.
According to an embodiment of the present invention, the thermal updating apparatus 600 may further include: and an address information storage module.
And the address information storage module is used for storing the first address information of the function to be updated and the second address information of the target updating function in the target storage area.
According to an embodiment of the present invention, the thermal updating apparatus 600 may further include: the device comprises a user group identification writing module, a first detection result determining module and an interrupt signal table storage module.
And the user group identification writing module is used for writing the target user group identification containing the program to be updated into the target storage area by utilizing the target user state program, wherein the program to be updated characterizes the program containing the function to be updated.
And the first detection result determining module is used for detecting whether the user group identifier of the running program is the same as the target user group identifier based on the target user group identifier to obtain a first detection result.
And the interrupt signal table storage module is used for responding to the fact that the first detection result shows that the first detection result is the same as the target user group identification, determining that under the condition of system registration, the interrupt signal table of the program to be updated is stored in the target storage area by utilizing the first byte code program, wherein the interrupt signal table comprises interrupt signal types corresponding to the function to be updated.
According to an embodiment of the present invention, the update module 640 may include: the query result determining sub-module and the function to be updated updating sub-module.
The query result determining sub-module is used for searching the target updating function identification in the target storage area by utilizing the query function based on the association relation between the function to be updated and the target updating function to obtain a query result.
And the function updating sub-module to be updated is used for responding to the query result to indicate that the target updating function identification is found, and determining to update the calling address information of the system calling function to the second address information based on the second address information stored in the target storage area so as to call the target updating function by using the second address information.
Any of the address information determining module 610, the system call number acquiring module 620, the system call function determining module 630, and the updating module 640 may be combined in one module to be implemented, or any of the modules may be split into a plurality of modules according to an embodiment of the present invention. Alternatively, at least some of the functionality of one or more of the modules may be combined with at least some of the functionality of other modules and implemented in one module. According to embodiments of the present invention, at least one of the address information determination module 610, the system call number acquisition module 620, the system call function determination module 630, and the update module 640 may be implemented at least in part as hardware circuitry, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or may be implemented in hardware or firmware in any other reasonable manner of integrating or packaging the circuitry, or in any one of or a suitable combination of any of the three implementations of software, hardware, and firmware. Alternatively, at least one of the address information determination module 610, the system call number acquisition module 620, the system call function determination module 630, and the update module 640 may be at least partially implemented as a computer program module, which when executed, may perform the corresponding functions.
Fig. 7 schematically shows a block diagram of an electronic device adapted to implement a method of thermal updating according to an embodiment of the invention.
As shown in fig. 7, an electronic device 700 according to an embodiment of the present invention includes a processor 701 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 702 or a program loaded from a storage section 708 into a Random Access Memory (RAM) 703. The processor 701 may include, for example, a general purpose microprocessor (e.g., a CPU), an instruction set processor and/or an associated chipset and/or a special purpose microprocessor (e.g., an Application Specific Integrated Circuit (ASIC)), or the like. The processor 701 may also include on-board memory for caching purposes. The processor 701 may comprise a single processing unit or a plurality of processing units for performing different actions of the method flow according to an embodiment of the invention.
In the RAM 703, various programs and data necessary for the operation of the electronic apparatus 700 are stored. The processor 701, the ROM 702, and the RAM 703 are connected to each other through a bus 704. The processor 701 performs various operations of the method flow according to an embodiment of the present invention by executing programs in the ROM 702 and/or the RAM 703. Note that the program may be stored in one or more memories other than the ROM 702 and the RAM 703. The processor 701 may also perform various operations of the method flow according to embodiments of the present invention by executing programs stored in the one or more memories.
According to an embodiment of the invention, the electronic device 700 may further comprise an input/output (I/O) interface 705, the input/output (I/O) interface 705 also being connected to the bus 704. The electronic device 700 may also include one or more of the following components connected to an input/output (I/O) interface 705: an input section 706 including a keyboard, a mouse, and the like; an output portion 707 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, a speaker, and the like; a storage section 708 including a hard disk or the like; and a communication section 709 including a network interface card such as a LAN card, a modem, or the like. The communication section 709 performs communication processing via a network such as the internet. The drive 710 is also connected to an input/output (I/O) interface 705 as needed. A removable medium 711 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 710 as necessary, so that a computer program read therefrom is mounted into the storage section 708 as necessary.
The present invention also provides a computer-readable storage medium that may be embodied in the apparatus/device/system described in the above embodiments; or may exist alone without being assembled into the apparatus/device/system. The computer-readable storage medium carries one or more programs which, when executed, implement methods in accordance with embodiments of the present invention.
According to embodiments of the present invention, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example, but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to an embodiment of the invention, the computer-readable storage medium may include ROM 702 and/or RAM 703 and/or one or more memories other than ROM 702 and RAM 703 described above.
Embodiments of the present invention also include a computer program product comprising a computer program containing program code for performing the method shown in the flowcharts. The program code means for causing a computer system to carry out the hot update method provided by the embodiments of the present invention when the computer program product is run on the computer system.
The above-described functions defined in the system/apparatus of the embodiment of the present invention are performed when the computer program is executed by the processor 701. The systems, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the invention.
In one embodiment, the computer program may be based on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted, distributed over a network medium in the form of signals, downloaded and installed via the communication section 709, and/or installed from the removable medium 711. The computer program may include program code that may be transmitted using any appropriate network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program may be downloaded and installed from a network via the communication portion 709, and/or installed from the removable medium 711. The above-described functions defined in the system of the embodiment of the present invention are performed when the computer program is executed by the processor 701. The systems, devices, apparatus, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the invention.
According to embodiments of the present invention, program code for carrying out computer programs provided by embodiments of the present invention may be written in any combination of one or more programming languages, and in particular, such computer programs may be implemented in high-level procedural and/or object-oriented programming languages, and/or in assembly/machine languages. Programming languages include, but are not limited to, such as Java, c++, python, "C" or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of remote computing devices, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., connected via the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Those skilled in the art will appreciate that the features recited in the various embodiments of the invention and/or in the claims may be combined in various combinations and/or combinations, even if such combinations or combinations are not explicitly recited in the invention. In particular, the features recited in the various embodiments of the invention and/or in the claims can be combined in various combinations and/or combinations without departing from the spirit and teachings of the invention. All such combinations and/or combinations fall within the scope of the invention.
The embodiments of the present invention are described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present invention. Although the embodiments are described above separately, this does not mean that the measures in the embodiments cannot be used advantageously in combination. The scope of the invention is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be made by those skilled in the art without departing from the scope of the invention, and such alternatives and modifications are intended to fall within the scope of the invention.

Claims (12)

1. A method of thermal updating for use with a target operating system, the method comprising:
in response to receiving a thermal update request, determining first address information of a function to be updated and second address information of a target update function by using a first byte code program mounted on a first mounting point, wherein the target update function is used for updating the function to be updated;
Under the condition that the target operating system triggers soft interruption, a second byte code program mounted at a second mounting point is utilized to acquire a system call number corresponding to the function to be updated;
determining a system call function corresponding to the function to be updated from a preset system call table based on the system call number, wherein the system call function realizes the call of the function to be updated through the first address information;
updating the calling address information of the system calling function into the second address information based on the association relation between the function to be updated and the target updating function so as to call the target updating function by using the second address information.
2. The method of claim 1, wherein the determining, in response to receiving the hot update request, first address information of a function to be updated and second address information of a target update function using a first bytecode program installed at a first installation point, wherein the target update function is configured to update the function to be updated, comprises:
in response to receiving the hot update request, detecting a loading state of a target update function library containing the target update function;
Under the condition that the target updating function library is being loaded, determining to utilize the first byte code program mounted at a first mounting point to acquire a system call of the target updating function, wherein the system call comprises call address information corresponding to the target updating function;
inquiring a function identifier to be updated in a target storage area based on a target inquiry function to obtain an inquiry result;
determining first address information of the function to be updated based on the query result;
and determining second address information of the target update function based on the system call.
3. The method of claim 2, wherein the determining to obtain the system call for the target update function using the first bytecode program installed at the first mount point comprises:
acquiring a plurality of system calls of all functions contained in the target update function library by using the first byte code program mounted at the first mounting point;
a system call of the target update function is determined from the plurality of system calls.
4. The method of claim 1, wherein, in response to receiving the hot update request, before determining the first address information of the function to be updated and the second address information of the target update function using the first bytecode program installed at the first mount point, the method further comprises:
In response to receiving the thermal update request, determining to write a function identifier to be updated carried in the thermal update request into a target storage area by using a target user mode program;
determining identification information of a target update function for updating the function to be updated based on the function identification to be updated;
and loading a target update function library containing the target update function into the target operating system based on the identification information of the target update function.
5. The method of claim 1, further comprising:
and storing the first address information of the function to be updated and the second address information of the target updating function in a target storage area.
6. The method of claim 5, wherein the updating call address information of the system call function to the second address information based on the association relationship of the function to be updated and the target update function to call the target update function using the second address information comprises:
searching a target updating function identifier in the target storage area by utilizing a query function based on the association relation between the function to be updated and the target updating function to obtain a query result;
And responding to the query result to indicate that the target updating function identifier is found, and determining to update the calling address information of the system calling function to the second address information based on the second address information stored in the target storage area so as to call the target updating function by using the second address information.
7. The method of claim 1, further comprising:
writing a target user group identifier containing a program to be updated into a target storage area by using a target user state program, wherein the program to be updated characterizes the program containing the function to be updated;
detecting whether the user group identifier of the running program is identical to the target user group identifier or not based on the target user group identifier, and obtaining a first detection result;
and responding to the fact that the first detection result indicates that the first detection result is the same as the target user group identification, determining that under the condition of system registration, the interrupt signal table of the program to be updated is stored in a target storage area by utilizing the first byte code program, wherein the interrupt signal table comprises interrupt signal types corresponding to the function to be updated.
8. The method of claim 7, wherein the obtaining, with the second bytecode program installed at the second mount point, the system call number corresponding to the function to be updated in the case that the target operating system triggers a soft interrupt, includes:
Under the condition that the target operating system triggers soft interrupt, detecting whether the interrupt signal type of the soft interrupt is contained in the interrupt signal table or not by utilizing the second byte code program mounted at a second mounting point to obtain a second detection result;
and responding to the second detection result to indicate that the interrupt signal type is contained in the interrupt signal table, and determining a system call number corresponding to the function to be updated based on the interrupt signal type.
9. The method of claim 1, the first mount point comprising a system function registration point and the second mount point comprising a system function call point.
10. A thermal updating apparatus for application to a target operating system, the apparatus comprising:
the address information determining module is used for determining first address information of a function to be updated and second address information of a target updating function by using a first byte code program mounted on a first mounting point in response to receiving a hot updating request, wherein the target updating function is used for updating the function to be updated;
the system call number acquisition module is used for acquiring a system call number corresponding to the function to be updated by using a second byte code program mounted at a second mounting point under the condition that the target operating system triggers soft interrupt;
The system call function determining module is used for determining a system call function corresponding to the function to be updated from a preset system call table based on the system call number, wherein the system call function realizes the call of the function to be updated through the first address information;
and the updating module is used for updating the calling address information of the system calling function into the second address information based on the association relation between the function to be updated and the target updating function so as to call the target updating function by using the second address information.
11. An electronic device, comprising:
one or more processors;
storage means for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-9.
12. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the method according to any of claims 1-9.
CN202310678727.4A 2023-06-09 2023-06-09 Thermal updating method, device, equipment and storage medium Active CN116414424B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310678727.4A CN116414424B (en) 2023-06-09 2023-06-09 Thermal updating method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310678727.4A CN116414424B (en) 2023-06-09 2023-06-09 Thermal updating method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN116414424A CN116414424A (en) 2023-07-11
CN116414424B true CN116414424B (en) 2023-09-12

Family

ID=87056364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310678727.4A Active CN116414424B (en) 2023-06-09 2023-06-09 Thermal updating method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116414424B (en)

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219786A (en) * 2006-02-16 2007-08-30 Hitachi Software Eng Co Ltd System for preventing information leakage by unknown malware
US7743367B1 (en) * 2003-12-30 2010-06-22 Sap Ag Registration method for supporting bytecode modification
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
WO2012100535A1 (en) * 2011-01-30 2012-08-02 华为技术有限公司 Updating method and computer system for hypervisor components
CN103294457A (en) * 2012-02-27 2013-09-11 百度在线网络技术(北京)有限公司 Method and device for dynamically substituting C/C + + function in main program
CN105468448A (en) * 2015-11-24 2016-04-06 无锡江南计算技术研究所 Slave core system call implementation method facing to isomerism many-core environment
WO2017087801A1 (en) * 2015-11-20 2017-05-26 Google Inc. Dynamic update of an application in compilation and deployment
CN106959859A (en) * 2017-03-30 2017-07-18 北京奇虎科技有限公司 The call method and device of system call function
CN111581114A (en) * 2020-06-04 2020-08-25 网易(杭州)网络有限公司 Event processing method and device, storage medium, processor and electronic device
US10761835B1 (en) * 2014-05-30 2020-09-01 Apptimize Llc Run-time application modification
CN111666096A (en) * 2020-07-02 2020-09-15 腾讯科技(深圳)有限公司 Hot updating method and device for target application, storage medium and electronic equipment
CN111868684A (en) * 2020-01-17 2020-10-30 深圳市汇顶科技股份有限公司 Method for patching chip and chip
CN111949301A (en) * 2019-05-14 2020-11-17 腾讯科技(深圳)有限公司 Application program hot updating method and device, computer readable storage medium and computer equipment
CN113110865A (en) * 2021-04-21 2021-07-13 北京字跳网络技术有限公司 Server hot updating method and device
CN113704753A (en) * 2020-05-22 2021-11-26 网神信息技术(北京)股份有限公司 Method and device for intercepting and replacing system call, electronic equipment and medium
CN114461247A (en) * 2022-02-07 2022-05-10 北京京东振世信息技术有限公司 Hot update method, device, electronic equipment and computer readable medium
CN115080096A (en) * 2021-03-11 2022-09-20 深圳市汇顶科技股份有限公司 Patching method and device
CN115629779A (en) * 2022-09-27 2023-01-20 中国建设银行股份有限公司 Hot updating method, device, equipment and computer storage medium
CN115640037A (en) * 2022-09-09 2023-01-24 北京畅游创想软件技术有限公司 Program updating method and device
CN116173511A (en) * 2023-03-08 2023-05-30 北京字跳网络技术有限公司 Game heat updating method, device, computer equipment and storage medium

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047521B2 (en) * 2001-06-07 2006-05-16 Lynoxworks, Inc. Dynamic instrumentation event trace system and methods
US20060070089A1 (en) * 2004-08-20 2006-03-30 Shahid Shoaib Method and apparatus for dynamic replacement of device drivers in the operating system (OS) kernel
CN101799763B (en) * 2009-02-10 2013-01-30 华为技术有限公司 Method, device and system for patching kernel on line
US9378008B2 (en) * 2010-12-20 2016-06-28 Oracle International Corporation Method and system for creating, applying, and removing a software fix
US8516509B2 (en) * 2011-02-08 2013-08-20 BlueStripe Software, Inc. Methods and computer program products for monitoring system calls using safely removable system function table chaining
US20140173577A1 (en) * 2012-12-19 2014-06-19 Asurion, Llc Patchless update management on mobile devices
US20160364231A1 (en) * 2015-06-10 2016-12-15 Telefonaktiebolaget L M Ericsson (Publ) Method for minimal service impact during software upgrade in network elements (nes)
US9996374B2 (en) * 2015-06-16 2018-06-12 Assured Information Security, Inc. Deployment and installation of updates in a virtual environment
US9710254B2 (en) * 2015-10-28 2017-07-18 International Business Machines Corporation Replacing an accelerator firmware image without operating system reboot
CN106598667B (en) * 2016-12-12 2018-07-27 百度在线网络技术(北京)有限公司 Method and apparatus for repairing kernel loophole
CN112241278A (en) * 2019-07-19 2021-01-19 伊姆西Ip控股有限责任公司 Method, apparatus and computer program product for updating software

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886287B1 (en) * 2003-08-27 2011-02-08 Avaya Inc. Method and apparatus for hot updating of running processes
US7743367B1 (en) * 2003-12-30 2010-06-22 Sap Ag Registration method for supporting bytecode modification
JP2007219786A (en) * 2006-02-16 2007-08-30 Hitachi Software Eng Co Ltd System for preventing information leakage by unknown malware
WO2012100535A1 (en) * 2011-01-30 2012-08-02 华为技术有限公司 Updating method and computer system for hypervisor components
CN103294457A (en) * 2012-02-27 2013-09-11 百度在线网络技术(北京)有限公司 Method and device for dynamically substituting C/C + + function in main program
US10761835B1 (en) * 2014-05-30 2020-09-01 Apptimize Llc Run-time application modification
WO2017087801A1 (en) * 2015-11-20 2017-05-26 Google Inc. Dynamic update of an application in compilation and deployment
CN105468448A (en) * 2015-11-24 2016-04-06 无锡江南计算技术研究所 Slave core system call implementation method facing to isomerism many-core environment
CN106959859A (en) * 2017-03-30 2017-07-18 北京奇虎科技有限公司 The call method and device of system call function
CN111949301A (en) * 2019-05-14 2020-11-17 腾讯科技(深圳)有限公司 Application program hot updating method and device, computer readable storage medium and computer equipment
CN111868684A (en) * 2020-01-17 2020-10-30 深圳市汇顶科技股份有限公司 Method for patching chip and chip
CN113704753A (en) * 2020-05-22 2021-11-26 网神信息技术(北京)股份有限公司 Method and device for intercepting and replacing system call, electronic equipment and medium
CN111581114A (en) * 2020-06-04 2020-08-25 网易(杭州)网络有限公司 Event processing method and device, storage medium, processor and electronic device
CN111666096A (en) * 2020-07-02 2020-09-15 腾讯科技(深圳)有限公司 Hot updating method and device for target application, storage medium and electronic equipment
CN115080096A (en) * 2021-03-11 2022-09-20 深圳市汇顶科技股份有限公司 Patching method and device
CN113110865A (en) * 2021-04-21 2021-07-13 北京字跳网络技术有限公司 Server hot updating method and device
CN114461247A (en) * 2022-02-07 2022-05-10 北京京东振世信息技术有限公司 Hot update method, device, electronic equipment and computer readable medium
CN115640037A (en) * 2022-09-09 2023-01-24 北京畅游创想软件技术有限公司 Program updating method and device
CN115629779A (en) * 2022-09-27 2023-01-20 中国建设银行股份有限公司 Hot updating method, device, equipment and computer storage medium
CN116173511A (en) * 2023-03-08 2023-05-30 北京字跳网络技术有限公司 Game heat updating method, device, computer equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汤小丹.《***调用的实现》.西安电子科技大学出版社,2007,第267页. *

Also Published As

Publication number Publication date
CN116414424A (en) 2023-07-11

Similar Documents

Publication Publication Date Title
CN110297689B (en) Intelligent contract execution method, device, equipment and medium
US9015702B2 (en) Determining compatibility of an application with different versions of an operating system
CN111090536B (en) Method, device, medium and electronic equipment for acquiring memory leakage information
US9721092B2 (en) Monitoring an application in a process virtual machine
US8516471B2 (en) Detecting impact of operating system upgrades
US11556348B2 (en) Bootstrapping profile-guided compilation and verification
CN113127050B (en) Application resource packaging process monitoring method, device, equipment and medium
CN112463729A (en) Data file storage method and device, electronic equipment and medium
CN110659210A (en) Information acquisition method and device, electronic equipment and storage medium
CN111506904B (en) Method and device for online bug repair
CN112084024B (en) Memory monitoring method, device, medium and electronic equipment
CN116450533B (en) Security detection method and device for application program, electronic equipment and medium
CN116414424B (en) Thermal updating method, device, equipment and storage medium
CN111931191A (en) Dynamic detection method and system for binary software stack overflow leakage hole of Linux platform
CN116483888A (en) Program evaluation method and device, electronic equipment and computer readable storage medium
US20230061270A1 (en) Dynamically updating a dynamic library
CN113946803A (en) Method and device for automatic bypass by having anti-debugging mechanism for target program
CN114490266A (en) Data acquisition method, device, equipment and storage medium
CN109634636B (en) Application processing method, device, equipment and medium
CN112052054A (en) Function calling method and device, electronic equipment and storage medium
CN116452208B (en) Method, device, equipment and medium for determining change transaction code
CN110297639B (en) Method and apparatus for detecting code
CN115688105A (en) Vulnerability mining method and device assisted by automatic heap memory pool analysis
CN117270859A (en) Code detection method, device, equipment and storage medium
CN115756763A (en) Method, device and system for quickly compiling and operating micro-service container and electronic 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
GR01 Patent grant
GR01 Patent grant