CN106775732A - A kind of hot patch loading method and device - Google Patents

A kind of hot patch loading method and device Download PDF

Info

Publication number
CN106775732A
CN106775732A CN201611206602.8A CN201611206602A CN106775732A CN 106775732 A CN106775732 A CN 106775732A CN 201611206602 A CN201611206602 A CN 201611206602A CN 106775732 A CN106775732 A CN 106775732A
Authority
CN
China
Prior art keywords
hot patch
kernel state
conflict
kernel
loading
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.)
Granted
Application number
CN201611206602.8A
Other languages
Chinese (zh)
Other versions
CN106775732B (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.)
SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI UCLOUD INFORMATION 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 SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd filed Critical SHANGHAI UCLOUD INFORMATION TECHNOLOGY Co Ltd
Priority to CN201611206602.8A priority Critical patent/CN106775732B/en
Publication of CN106775732A publication Critical patent/CN106775732A/en
Application granted granted Critical
Publication of CN106775732B publication Critical patent/CN106775732B/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/658Incremental updates; Differential updates

Abstract

The invention provides a kind of hot patch loading method and device, hot patch loading method includes step:Obtain and record the kernel state conflict process conflicted with hot patch;Tracking kernel state conflict process, when kernel state conflict process exits kernel state, stops the operation of kernel state conflict process;Reload hot patch;The result of hot patch is reloaded in judgement, and when result is unsuccessful, circulation execution is from the step of obtaining and record the kernel state conflicted with hot patch conflict process the step of hot patch is reloaded;When the result for reloading hot patch is to recover the operation of all kernel states conflict processes when successfully.The kernel state conflict process conflicted with hot patch by record, and when kernel state conflict process exits kernel state, stop the operation of kernel state conflict process, the conflict of hot patch and process kernel function call stack is effectively reduced, so as to improve the loading success rate of hot patch.

Description

A kind of hot patch loading method and device
Technical field
The present invention relates to software upgrading field, more particularly to a kind of hot patch loading method and device.
Background technology
With the fast development of computing technique in recent years, the update speed of computer product also speeds therewith.At present, In software development process, unavoidably in the presence of some Software for Design in terms of leak or user to the new demand of the software, in order to The use of software is not influenceed, leak reparation or renewal are carried out to the software typically in the way of hot patch, i.e., do not stopping software In the case of the software is repaired or updated.Kernel hot patch technology is a kind of to operating kernel loads hot patch Technology, to avoid restarting operating system, so as to reduce the downtime restarted and bring, improves availability.Kernel hot patch The processing mode of technology is substantially in units of function, you can repaiied by the function for starting a leak or needing to update It is multiple, to realize reparation or renewal to kernel.
When internal nuclear heat patch is loaded, because the process in kernel state needs to call the letter involved by hot patch Number, conflicts so as to be produced with hot patch loading, and then causes kernel hot patch to load failure.
The content of the invention
For problem above, it is an object of the invention to provide a kind of hot patch loading method and device, can be effective The conflict of loading kernel hot patch is reduced, loading success rate is improved.
According to the first aspect of the invention, there is provided a kind of hot patch loading method, including step:Obtain and record and heat The kernel state conflict process of patch conflict;Tracking kernel state conflict process, when kernel state conflict process exits kernel state, stops The operation of kernel state conflict process;Reload hot patch;The result of hot patch is reloaded in judgement, when result is unsuccessful When, circulation perform from obtain and record the kernel state that conflicts with hot patch conflict process the step of to reloading hot patch Step;When the result for reloading hot patch is to recover the operation of all kernel states conflict processes when successfully.
Preferably, it is described acquisition and record conflict with the hot patch kernel state conflict process the step of include:Every The kernel state conflict process conflicted with the hot patch in this circulation is obtained in secondary circulation, and persistently records all circulations In the kernel state conflict process.
Preferably, the hot patch function is searched in the kernel state function call stack of multiple processes, is obtained described in including The Process identifier of the corresponding process of kernel state function call stack of hot patch function, with obtaining and conflicting with the hot patch Core state conflict process, records the Process identifier, to record the kernel state conflict process.
Preferably, tracking kernel state conflict process, when kernel state conflict process exits kernel state, stops kernel state conflict The step of operation of process, includes:The kernel state conflict process of kernel state is exited in the multiple kernel state conflict processes of tracking, stopping Operation, until stopping the operation of all kernel states conflict processes.
Preferably, by ptrace tracking functions kernel state conflict process.
Preferably, ptrace functions are used to the kernel state of all stoppings conflict process so that all kernel states conflict into Journey is resumed operation.
Preferably, the hot patch loading method of one side also includes step:The number of times of hot patch is reloaded in calculating, When the number of times for reloading hot patch reaches preset times, stop circulation and perform from obtaining and record conflict with hot patch interior From the step of core state conflict process the step of hot patch is reloaded, and all kernel state conflict processes of resuming operation.
According to the second aspect of the invention, there is provided a kind of hot patch loading device, including:Conflict recording unit, is used for Obtain and record the kernel state conflict process conflicted with hot patch;Tracking cell, for tracking kernel state conflict process, works as kernel When state conflict process exits kernel state, stop the operation of kernel state conflict process, and recover all kernel states conflict processes Operation;Loading unit, for reloading hot patch;Cycling element, for judge reload hot patch result whether into Work(, recursive call conflict recording unit, tracking cell and loading unit when result is unsuccessful;Recovery unit, for working as The result for reloading hot patch is to recover the operation of all kernel states conflict processes when successfully.
Preferably, the conflict recording unit obtains the institute conflicted with the hot patch in this circulation in circulation every time Kernel state conflict process is stated, and persistently records the conflict process of the kernel state in all circulations.
Preferably, the conflict recording unit searches the hot patch letter in multiple process kernel state function call stacks Number, acquisition includes the Process identifier of the corresponding process of kernel state function call stack of the hot patch function, with acquisition and institute The kernel state conflict process of hot patch conflict is stated, the Process identifier is recorded, to record the kernel state conflict process.
Preferably, the kernel state conflict process of kernel state is exited in the multiple kernel state conflict processes of tracking cell tracking, stopping Operation, until stop all kernel states conflicting the operation of processes.
Preferably, tracking cell is by ptrace tracking functions kernel state conflict process.
Preferably, recovery unit uses ptrace functions to the kernel state conflict process of all stoppings, so that all kernels State conflict process resumption operation.
Preferably, the hot patch loading device of above-mentioned second aspect also includes counting unit, and counting unit is used to calculate weight The number of times of new loading hot patch, when the number of times that counting unit counts reload hot patch reaches preset times, cycling element Stop recursive call conflict recording unit, tracking cell and loading unit, recovery unit recovers all kernel state conflict processes Operation.
The present invention obtains and records the kernel state conflict process conflicted with hot patch, and in kernel state conflict process is exited During core state, stop the operation of kernel state conflict process, hot patch is reloaded on this basis, by such method, under Once load hot patch when, conflicting between kernel state process and hot patch can be reduced, thus improve loading hot patch into Power.
Brief description of the drawings
Technical scheme is described in detail below in conjunction with the drawings and specific embodiments, so that of the invention Characteristic and advantage become apparent.
Fig. 1 is the flow chart of hot patch loading method of the prior art;
Fig. 2 is the flow chart of the first embodiment of hot patch loading method of the invention;
Fig. 3 is the flow chart of the second embodiment of hot patch loading method of the invention;
Fig. 4 is the module diagram of one embodiment of hot patch loading device of the invention.
Specific embodiment
Hereinafter will embodiments of the invention be given with detailed description.Although the present invention will be with reference to some specific embodiments It is illustrated and illustrates, but should be noted that the present invention is not merely confined to these implementation methods.Conversely, to the present invention The modification for carrying out or equivalent, all should cover in the middle of scope of the presently claimed invention.
Some exemplary embodiments are described as treatment or the method described as flow chart.Although flow chart grasps items The treatment of order is described into, but many of which operation can be implemented concurrently, concomitantly or simultaneously.Additionally, each The order of item operation can be rearranged.The treatment when its operations are completed can be terminated, it is also possible to have not Including additional step in the accompanying drawings.The treatment can correspond to method, function, code, subroutine, subprogram etc..
Fig. 1 is the flow chart of hot patch loading method of the prior art, and hot patch loading method is situated between by Fig. 1 Continue.
Typically, hot patch technology is made up of two parts of making hot patch and loading hot patch, wherein making is vulcanized The method of fourth uses method of the prior art, such as in ksplice technologies, the corresponding source of kernel in a operation is obtained first Code simultaneously compiles out binary system, referred to as pre objects, stamps after source code patch compiles again, referred to as post objects, to post objects and Pre objects instruct the function for comparing and finding out and having differences one by one, and these difference functions are merged into kernel module form afterwards Hot patch.
For loading hot patch, as shown in figure 1, step S201 is first carried out in the prior art, hot patch function is compiled, i.e., Hot patch function is compiled as by binary system by compiler.Then such as step S202, loading hot patch to operating system memory.So Afterwards such as step S203, judge to whether there is hot patch function in the kernel state function call stack of process.Specifically, traversing operation The kernel state function call stack of all processes in system, and search whether there is hot patch letter in kernel state function call stack Number.If not existing hot patch function in kernel state function call stack, step S205 is continued executing with, should according to hot patch function pair Original function address modification original function instruction, with enable perform original function when redirect execution hot patch function.Then, such as Step S206, performs original function, and redirects execution hot patch function by original function, is returned by hot patch function after the completion of execution Return.After completing above step, then loaded successfully into step S207 hot patch.
If in step S203, kernel state function call stack includes hot patch function, should include the interior of hot patch function The corresponding process of core state function call stack is kernel state conflict process, due to there is kernel state conflict process, then to vulcanizing Fourth function is susceptible to system crash when being updated, in order to keep operating system stability, then into step S204 hot patch Loading failure.
Prior art is notified that the kernel state conflict process that user leads to the failure after into step S204, and user can be with By repeatedly attempting loading hot patch, the kernel function call stack for not having any process to stay in certain load time point includes Hot patch function.However, for the kernel function such as schedule, hrtimer that frequently use and often in kernel function Function such as sys_poll at the top of call stack, sys_read, the kernel function of both types is then difficult to hot patch loading.
Fig. 2 is the flow chart of the first embodiment of hot patch loading method of the invention.
The present invention is improved on the basis of existing technology, as shown in Fig. 2 in one embodiment of the invention, when When loading failure into step S204 hot patch, following steps are performed:
S101:Obtain and record the kernel state conflict process conflicted with hot patch.
S102:Tracking kernel state conflict process, when kernel state conflict process exits kernel state, kernel state punching out of service Advance by leaps and bounds journey.
S103:Reload hot patch.
S104:Whether the result that judgement is reloaded succeeds.
S106:Recover the operation of all kernel states conflict processes.
Specifically, with reference to Fig. 1 and Fig. 2, S201, S202, S203 and S204 the step of in the prior art are accepted, In the step of prior art S203, the kernel state function call stack of all processes in traversing operation system, and in kernel state letter When finding hot patch function in number call stack, then should include the process corresponding to the kernel state function call stack of hot patch function As kernel state conflict process, now such as step S204, patch loading failure subsequently enters step S101, obtain and record with The kernel state conflict process of hot patch conflict, i.e., search the hot patch letter in the kernel state function call stack of multiple processes Number, acquisition includes the corresponding process of kernel state function call stack of hot patch function, the i.e. process identification (PID) of kernel state conflict process Symbol (PID), record the process identifier.
As a kind of optional implementation method, in step S101, when kernel state conflict process is obtained, circulating every time It is middle to obtain the kernel state conflict process conflicted with hot patch in this circulation, and when kernel state conflict process is recorded, then continue Record the kernel state conflict process in all circulations.
By such mode, can effectively stop in subsequent step S102 all kernel states being recorded conflict into Journey, even if occurring different kernel state conflict processes in different circulations, it is also possible to effectively stop, so as to reduce hot patch punching It is prominent, improve loading success rate.
In other embodiments, it is also possible to only record the kernel state conflict process conflicted with hot patch in this circulation.
Then such as step S102, tracking kernel state conflict process, when kernel state conflict process exits kernel state, stops fortune Row kernel state conflict process.Specifically, using ptrace functions track kernel state conflict process, and when kernel state conflict into When journey exits kernel state, above-mentioned kernel state conflict process is stopped at into User space.Ptrace functions are the system letters of linux system Number, there is provided a kind of to enable parent process to monitor and control the mode of other processes, it is possible to achieve debugging breakpoints and system are called Tracking.Using ptrace functions, realize being intercepted in client layer and modification system is called, ptrace functions include ptrace_ Attach functions, ptrace_syscall functions and ptrace_detach functions.Specifically, to being recorded in step S101 Process identifier using ptrace_attach functions kernel state corresponding for the Process identifier conflict process carry out with Track, the Process identifier to being recorded in step S101 uses ptrace_syscall functions, so that when kernel state conflict process is moved back When going out kernel state into User space, this is stopped at into User space into the kernel state conflict process of User space.
User space is stopped at after kernel state because kernel state conflict process is exited, therefore, effectively prevent the kernel State conflict process enters kernel state from User space again, so as to reduce the probability conflicted with hot patch.
As a kind of optional implementation method, when there is multiple kernel state conflict processes, the multiple kernel state conflicts of tracking Process, once kernel state conflict process exits kernel state stops the operation of kernel state conflict process, until stopping in all The operation of core state conflict process.Relative to stop section kernel state conflict process, such mode can better ensure that reduction With conflicting for hot patch.
In other embodiments, multiple kernel state conflict processes can be tracked, and stops kernel in the range of limiting time The operation of state conflict process.Weight can also be set to kernel state conflict process, when the kernel state conflict process of certain weighted value When being all stopped operation, into step S103.
Then, such as step S103, hot patch is reloaded.Specifically, in re-executing prior art as shown in Figure 1 Loading method, i.e., into step S203, and S205 to step S207 the step of perform after step S203, or perform step The step of after S203 S204.
Loading method for hot patch can be using in prior art as shown in Figure 1, in other embodiments, it is also possible to Use other existing hot patch loading methods.
After hot patch is reloaded, still there may be two kinds of results, i.e. step S207 hot patch load successfully and The loading failure of step S204 hot patch.
After hot patch is reloaded in completion, then perform step S104, judgement reload hot patch result whether into Work(, when result is when successfully, then to perform step S106.When result is unsuccessful, the step of performing from step S101 is circulated.
Finally, such as step S106, the operation of all kernel states conflict processes is recovered.Specifically, when in step S104 End loop when judgement is reloaded successfully, recovers the operation of all kernel states conflict processes.Conflict process to all kernel states Using ptrace_detach functions, so that the conflict process resumption operation of all kernel states.
Fig. 3 is the flow chart of the second embodiment of hot patch loading method of the invention, and the second embodiment shown in Fig. 3 exists Step S105 is increased on the basis of first embodiment, is increased and is provided with loading counter, and in step s 103, increase control Loading counter subtracts 1.Specifically, the threshold value of loading number of times is pre-set, and loading counter is set, make loading counter Initial value is the threshold value for loading number of times.Whenever hot patch is reloaded, then loading counter is subtracted 1.By to loading number of times Setting, can effectively limit most number of attempts of loading hot patch, so as to prevent Infinite Cyclic.
In a second embodiment, step S105 is also included after step S104, i.e., can not reloaded when judging hot patch During work(, step S105 is performed, the number of times of hot patch is reloaded in calculating, when the number of times for reloading hot patch reaches default time Number, i.e., when loading counter is 0, perform step S106.When loading counter is judged not for 0, then circulation is performed from step The step of S101 rises.
By the control that number of times is reloaded to hot patch, it is ensured that hot patch is reloaded can only be performed it is default Number of times, without because lasting loading fails and Infinite Cyclic, it is ensured that the efficiency of hot patch loading.It is to add in the present embodiment Carry counter initial value and be set to threshold value, loading hot patch is attempted every time and then subtracts 1, can also tire out since 0 in other embodiments Plus loading number of times is calculated, and when judging that reloading number of times reaches preset times, end loop, into step S106.
It should be noted that as in this implementation, step S105 is performed after step S104, in other embodiments, also may be used S105 is performed with the execution step S105 before step S104 or while step S104 is performed.For example, can be in step Step S105 is performed before S103.
Loading by being restricted to the number of times for reloading hot patch so as to improve hot patch in the present embodiment is imitated Rate, in other embodiments, it is also possible to which hot patch load time threshold value is set, i.e., when reload hot patch beyond it is default when Between threshold value when, stopping circulates and performs step S106 and recover all kernel states and conflicts the operation of processes.
The step of the present embodiment in S106, when the result for judging to reload in step S104 is as success, or When loading counter is judged in step S105 for 0, end loop recovers the operation of all kernel states conflict processes.
The present invention also provides a kind of hot patch loading device 1, and Fig. 4 is an example of hot patch loading device of the invention Module diagram.
As shown in figure 4, hot patch loading device 1 of the invention includes conflict recording unit 102, conflict execution unit 104, Loading unit 101, cycling element 103 and counting unit 105.
Wherein, conflict recording unit 102 is used to obtain and record the kernel state conflict process conflicted with hot patch.
Conflict execution unit 104 includes tracking cell 1041 and recovery unit 1042.Tracking cell 1041 is used to track Kernel state conflict process, when kernel state conflict process exits kernel state, stops the operation of kernel state conflict process.Recovery unit 1042 are used for when the result for reloading hot patch is to recover the operation of all kernel states conflict processes when successfully.Conflict is performed Unit 104 can call ptrace functions, tracking cell 1041 to use ptrace_attach functions and ptrace_syscall Function, recovery unit 1042 uses ptrace_detach functions.Loading unit 101 is used to reload hot patch.
Whether the result that cycling element 103 is used to judge to reload hot patch succeeds, recursive call punching when not becoming work( Prominent recording unit 102 and conflict execution unit 104.
Counting unit 105 is used to calculate the number of times for reloading the hot patch.
With reference to Fig. 1, Fig. 3 and Fig. 4, the hot patch loading device 1 in the present embodiment passes through when hot patch loads failure Conflict recording unit 102 performs step S101, obtains and record the kernel state conflict process conflicted with hot patch.
Then, the tracking cell 1041 of conflict execution unit 104 is conflicted using ptrace_attach tracking functions kernel state Process, using ptrace_syscall functions, so as to when kernel state conflict process exits kernel state into User space, this be entered The kernel state conflict process of access customer state stops at User space.
Then, loading unit 101 performs step S103 and reloads hot patch, and counting unit 105 performs step S103 controls System loading counter subtracts 1.
Then, the execution step of cycling element 103 S104 judges whether the result for reloading hot patch succeeds, when judgement is tied Fruit is when successfully, then to perform step S106 by the recovery unit 1043 of conflict execution unit 104.When judging unsuccessful, circulation Unit 103 performs step S105 and judges whether the number of times for reloading hot patch reaches preset times, when loading counter is 0 When, cycling element 103 stops recursive call conflict recording unit 102, tracking cell 1041 and loading unit 101, and by extensive Multiple unit 1043 performs step S106.When cycling element 103 judges loading counter not for 0, then recursive call conflict is recorded Unit 102, tracking cell 1041 and loading unit 101, so that the step of circulating execution from step S101.
According to the above-mentioned description to hot patch loading method, it is also possible to omit counting unit 105, the only root of cycling element 103 Whether it is successful and decide whether the step of performing from step S101 according to hot patch is reloaded.
The method for performing above-mentioned step specific for each unit, may refer to above-mentioned retouch hot patch loading method State, here is omitted.
Hot patch loading method provided by the present invention and hot patch loading device 1, are conflicted by record with hot patch Kernel state conflict process, and kernel state conflict process exit kernel state when, stop kernel state conflict process operation, herein On the basis of reload hot patch, so as to effectively reduce the conflict of hot patch process and process kernel function call stack, so as to carry The loading success rate of hot patch high.
By calculating the number of times of loading hot patch, when the number of times that hot patch is stated in loading reaches preset times, stop circulation, And all kernel state conflict process resumptions are run, so as to prevent Infinite Cyclic, improve loading efficiency.
It should be noted that the present invention is a kind of application of hot patch loading.In implementation process of the invention, can be related to To the application of multiple software function modules.Such as reading over application documents, accurate understanding realization principle of the invention and invention After purpose, in the case where existing known technology is combined, those skilled in the art can use the software of its grasp to compile completely Journey technical ability realizes the present invention.Foregoing hot patch loading device also includes but is not limited to compilation unit, modification unit etc., all present invention Application documents are referred to category this category, applicant will not enumerate.
The above is only concrete application example of the invention, protection scope of the present invention is not limited in any way.Except above-mentioned Implement exception, the present invention there can also be other embodiment.The technical scheme that all use equivalents or equivalent transformation are formed, Fall within scope of the present invention.

Claims (14)

1. a kind of hot patch loading method, it is characterised in that including step:
Obtain and record the kernel state conflict process conflicted with the hot patch;
The kernel state conflict process is tracked, when kernel state conflict process exits kernel state, stops the kernel state punching The operation of journey of advancing by leaps and bounds;
Reload the hot patch;
The result of the hot patch is reloaded described in judging, when result is unsuccessful, circulation is performed from the acquisition and remembered Record conflict with the hot patch kernel state conflict process the step of to it is described reload the hot patch the step of;
When the result for reloading the hot patch is to recover the operation of all kernel states conflict processes when successfully.
2. hot patch loading method as claimed in claim 1, it is characterised in that
It is described acquisition and record conflict with the hot patch kernel state conflict process the step of include:
The kernel state conflict process conflicted with the hot patch in this circulation is obtained in circulation every time, and continues record Kernel state conflict process in all circulations.
3. hot patch loading method as claimed in claim 1 or 2, it is characterised in that
The hot patch function is searched in the kernel state function call stack of multiple processes, acquisition includes the hot patch function The Process identifier of the corresponding process of kernel state function call stack, with obtain the kernel state conflicted with the hot patch conflict into Journey,
The Process identifier is recorded, to record the kernel state conflict process.
4. hot patch loading method as claimed in claim 1, it is characterised in that
The tracking kernel state conflict process, when kernel state conflict process exits kernel state, stops the kernel The step of operation of state conflict process, includes:
Multiple kernel state conflict processes are tracked, the operation of the kernel state conflict process of kernel state is exited in stopping, until Stop the operation of all kernel states conflict processes.
5. the hot patch loading method as described in claim 1 or 4, it is characterised in that by interior described in ptrace tracking functions Core state conflict process.
6. hot patch loading method as claimed in claim 1, it is characterised in that
Kernel state conflict process to all stoppings uses ptrace functions, so that all kernel state conflict processes are extensive Multiple operation.
7. hot patch loading method as claimed in claim 1, it is characterised in that also including step:
The number of times of the hot patch is reloaded in calculating, when the number of times for reloading the hot patch reaches preset times, is stopped Only circulation perform from the acquisition and record the kernel state that conflicts with the hot patch conflict process the step of to it is described again The step of loading the hot patch, and all kernel state conflict processes of resuming operation.
8. a kind of hot patch loading device, it is characterised in that including:
Conflict recording unit, for obtaining and records the kernel state that conflict with the hot patch and conflicts process;
Tracking cell, for tracking the kernel state conflict process, when kernel state conflict process exits kernel state, stops The operation of the kernel state conflict process;
Loading unit, for reloading the hot patch;
Cycling element, for judging whether the result for reloading the hot patch succeeds, follows when result is unsuccessful Ring calls the conflict recording unit, the tracking cell and loading unit;
Recovery unit, for when the result for reloading the hot patch be to recover all kernel states punchings when successfully The operation of journey of advancing by leaps and bounds.
9. hot patch loading device as claimed in claim 8, it is characterised in that
The conflict recording unit obtains the kernel state punching conflicted with the hot patch in this circulation in circulation every time Advance by leaps and bounds journey, and persistently record the conflict process of the kernel state in all circulations.
10. hot patch loading device as claimed in claim 8 or 9, it is characterised in that
The conflict recording unit searches the hot patch function in multiple process kernel state function call stacks, and acquisition includes institute The Process identifier of the corresponding process of kernel state function call stack of hot patch function is stated, to obtain what is conflicted with the hot patch Kernel state conflict process, records the Process identifier, to record the kernel state conflict process.
11. hot patch loading devices as claimed in claim 8, it is characterised in that
The kernel state conflict process of kernel state is exited in the multiple kernel state conflict processes of tracking cell tracking, stopping Operation, until stop all kernel states conflicting the operation of processes.
The 12. hot patch loading device as described in claim 8 or 11, it is characterised in that
The tracking cell passes through kernel state conflict process described in ptrace tracking functions.
13. hot patch loading devices as claimed in claim 8, it is characterised in that
The recovery unit uses ptrace functions to the kernel state conflict process of all stoppings, so that all kernels State conflict process resumption operation.
14. hot patch loading devices as claimed in claim 8, it is characterised in that also include:
Counting unit, the counting unit is used to calculate the number of times for reloading the hot patch, when the counting unit counts When the number of times for reloading the hot patch reaches preset times, the cycling element stops the record that conflicts described in recursive call First, described tracking cell and loading unit, the recovery unit recover the operation of all kernel states conflict processes.
CN201611206602.8A 2016-12-23 2016-12-23 A kind of hot patch loading method and device Active CN106775732B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611206602.8A CN106775732B (en) 2016-12-23 2016-12-23 A kind of hot patch loading method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611206602.8A CN106775732B (en) 2016-12-23 2016-12-23 A kind of hot patch loading method and device

Publications (2)

Publication Number Publication Date
CN106775732A true CN106775732A (en) 2017-05-31
CN106775732B CN106775732B (en) 2019-02-12

Family

ID=58919687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611206602.8A Active CN106775732B (en) 2016-12-23 2016-12-23 A kind of hot patch loading method and device

Country Status (1)

Country Link
CN (1) CN106775732B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943513A (en) * 2017-12-11 2018-04-20 北京奇虎科技有限公司 Service packs recognition methods, device and terminal
WO2019037522A1 (en) * 2017-08-23 2019-02-28 北京奇虎科技有限公司 Bug fixing method, bug fixing device and server
CN112115477A (en) * 2020-08-17 2020-12-22 南方科技大学 Kernel repairing method and device, electronic equipment and storage medium
CN112906008A (en) * 2018-11-15 2021-06-04 百度在线网络技术(北京)有限公司 Kernel vulnerability repairing method, device, server and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467394A (en) * 2010-11-12 2012-05-23 中兴通讯股份有限公司 Method and system for realizing multi-core hot patching
CN103019789A (en) * 2012-12-17 2013-04-03 深圳市九洲电器有限公司 Signature software upgrading method, device and mobile terminal
US20140019429A1 (en) * 2012-07-12 2014-01-16 Volker Driesen Downtime reduction for lifecycle management events
US20140282431A1 (en) * 2013-03-14 2014-09-18 Riverbed Technology, Inc. Native code profiler framework
CN104461625A (en) * 2014-12-04 2015-03-25 上海斐讯数据通信技术有限公司 Hot patch realization method and system
CN105224454A (en) * 2015-09-25 2016-01-06 华为技术有限公司 A kind of adjustment method, polycaryon processor and commissioning device
CN105630620A (en) * 2015-12-23 2016-06-01 浪潮集团有限公司 Machine fault automated processing method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102467394A (en) * 2010-11-12 2012-05-23 中兴通讯股份有限公司 Method and system for realizing multi-core hot patching
US20140019429A1 (en) * 2012-07-12 2014-01-16 Volker Driesen Downtime reduction for lifecycle management events
CN103019789A (en) * 2012-12-17 2013-04-03 深圳市九洲电器有限公司 Signature software upgrading method, device and mobile terminal
US20140282431A1 (en) * 2013-03-14 2014-09-18 Riverbed Technology, Inc. Native code profiler framework
CN104461625A (en) * 2014-12-04 2015-03-25 上海斐讯数据通信技术有限公司 Hot patch realization method and system
CN105224454A (en) * 2015-09-25 2016-01-06 华为技术有限公司 A kind of adjustment method, polycaryon processor and commissioning device
CN105630620A (en) * 2015-12-23 2016-06-01 浪潮集团有限公司 Machine fault automated processing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019037522A1 (en) * 2017-08-23 2019-02-28 北京奇虎科技有限公司 Bug fixing method, bug fixing device and server
CN107943513A (en) * 2017-12-11 2018-04-20 北京奇虎科技有限公司 Service packs recognition methods, device and terminal
CN107943513B (en) * 2017-12-11 2021-03-26 北京奇虎科技有限公司 Patch package identification method and device and terminal
CN112906008A (en) * 2018-11-15 2021-06-04 百度在线网络技术(北京)有限公司 Kernel vulnerability repairing method, device, server and system
CN112115477A (en) * 2020-08-17 2020-12-22 南方科技大学 Kernel repairing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN106775732B (en) 2019-02-12

Similar Documents

Publication Publication Date Title
CN106775732A (en) A kind of hot patch loading method and device
CN104102506B (en) A kind of Android Acceleration of starting methods based on ARM platforms
CN105677415B (en) Hot update method and device
US9411710B2 (en) Automated regression test case selector and black box test coverage tool for product testing
US20150143179A1 (en) System and Method for Progressive Fault Injection Testing
US8769512B2 (en) Adding instrumentation to a body of code to enable generation of code coverage data
CN105988798B (en) Patch processing method and device
CN106325903A (en) A start processing method and device
US9921951B2 (en) Optimizations for regression tracking and triaging in software testing
CN103793628A (en) System and method for aligning genome sequence considering entire read
Zheng et al. Park: Accelerating smart contract vulnerability detection via parallel-fork symbolic execution
CN111897711A (en) Method and device for positioning bug in code, electronic equipment and readable storage medium
CN111078510B (en) Task processing progress recording method and device
CN106201868A (en) A kind of method and apparatus repairing Android application program
Lee et al. A compiler optimization to reduce soft errors in register files
CN112286534A (en) Automatic compiling method for software package
CN109857583B (en) Processing method and device
CN114896271B (en) Method, device and application for efficiently maintaining node full path
CN107688586B (en) Client data shielding processing method and device
US10379832B2 (en) Software introduction support device and software introduction support method
CN110795334B (en) Testing device and method
CN114168389A (en) Method and device for recovering CAD file, storage medium and processor
CN113110991A (en) Page element positioning method and device, storage medium and electronic device
US20230393942A1 (en) Apparatus and method for adaptive checkpoint in intermittent computing
CN106815136B (en) Unit testing method and device

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
CB02 Change of applicant information

Address after: 200433 Room 201, 10 B, 619 Longchang Road, Yangpu District, Shanghai.

Applicant after: Excellent Polytron Technologies Inc

Address before: 200433 room 1207-10, 6 Wade Road, Yangpu District, Shanghai.

Applicant before: SHANGHAI UCLOUD INFORMATION TECHNOLOGY CO., LTD.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant