Calling conflict identification method, device and equipment and readable storage medium

By identifying and analyzing the jar-private conflicts and call chains of target applications, the problem of difficult to identify jar package call conflicts in software development is solved, and efficient conflict recognition and management is achieved.

CN119557227APending Publication Date: 2025-03-04GUANGZHOU PINWEI SOFTWARE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411741708.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-03-04

AI Technical Summary

Technical Problem

During the software development process, jar package call conflicts are difficult to accurately identify and resolve, and existing construction tools are not intelligent and comprehensive enough in detection and management.

Method used

Provide a method for calling conflict recognition. By obtaining all jar packages of the target application, identifying whether each jar package conflicts with other jar packages, generating conflict recognition results, and analyzing the call chain collection to determine the conflict situation.

Benefits of technology

This method can efficiently identify call conflicts between jar packages, reduce identification workload, improve efficiency, and simplify the conflict recognition process by extracting conflict recognition results and call chain overlap information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119557227A_ABST
    Figure CN119557227A_ABST
Patent Text Reader

Abstract

The invention discloses a call conflict identification method, device and equipment and a readable storage medium. The method comprises the following steps: obtaining all jar packages of a target application; identifying whether each jar packet conflicts with other jar packets or not; if all the jar packages do not conflict, feedback information indicating that the target application does not conflict is generated; on the basis, the conflict jar packet can be identified firstly, so that the identification workload is reduced; however, if mutual conflicts exist, calling conflicts possibly exist, and on this basis, if any jar packet conflicts with other jar packets exist, a conflict recognition result used for recording the conflict condition of all jar packets in the target application is generated; extracting call chains among the jar packages, and generating a call chain set; analyzing whether the conflict identification result and the call chain set coincide or not, and generating feedback information; therefore, whether the target application has the calling conflict or not can be detected under the condition that the workload is reduced as much as possible.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of testing technology, and more specifically, to a call conflict identification method, device, equipment and readable storage medium. Background Art

[0002] In today's software development field, jar packages are widely used. However, due to different development requirements and dependencies, jar package call conflicts are likely to occur.

[0003] At present, in the process of software development, developers usually manually manage the calling relationship of the software, and determine whether there is a potential conflict by checking the calling chain or calling list. However, this method is inefficient, prone to omissions, and it is difficult to accurately identify all conflict points for complex software structures. In addition, although some existing build tools can manage calling relationships to a certain extent, the detection and resolution of jar package calling conflicts are often not intelligent and comprehensive enough. For example, some build tools can only detect conflicts of direct dependencies, but it is difficult to detect indirect conflicts introduced by dependency transfer. Summary of the invention

[0004] In view of this, the present application provides a call conflict identification method, apparatus, device and readable storage medium for identifying call conflicts between jar packages.

[0005] In order to achieve the above objectives, the proposed solution is as follows:

[0006] A call conflict identification method, comprising:

[0007] Get all jar packages of the target application;

[0008] Identify whether each jar package conflicts with other jar packages;

[0009] If there is no conflict in all jar packages, first feedback information indicating that there is no conflict in the target application is generated;

[0010] If any jar package conflicts with other jar packages, a conflict identification result is generated to record the conflict situations of each jar package in the target application;

[0011] Extract the call chains between each jar package and generate a call chain set;

[0012] The conflict identification result and the call chain set are analyzed to determine whether they overlap, and second feedback information is generated.

[0013] Optionally, obtaining all jar packages of the target application includes:

[0014] Monitor the successful deployment information of the target application and download all image packages of the target application;

[0015] Scan each image package and extract all jar packages of the target application.

[0016] Optionally, generating a conflict identification result for recording the conflict situations of each jar package in the target application includes:

[0017] Extract all bytecode files in each jar package;

[0018] Each bytecode file is parsed to construct the conflict identification result.

[0019] Optionally, extracting all bytecode files in each jar package includes:

[0020] Extract all class files in each jar package.

[0021] Optionally, extracting the call chains between the jar packages to generate a call chain set includes:

[0022] Parse each bytecode file and extract the external call information of each bytecode file;

[0023] Based on the external call information of each bytecode file, build the call chain corresponding to each jar package;

[0024] Each call chain is cleaned and integrated to form a call chain set.

[0025] Optionally, parsing each bytecode file and extracting external call information of each bytecode file includes:

[0026] Parse each bytecode file and extract the external call class information and external call method information of each bytecode file.

[0027] Optionally, also include:

[0028] Generate an email and / or a reminder pop-up window containing feedback information, where the feedback information is the first feedback information or the second feedback information;

[0029] Determining a revision terminal of the target application;

[0030] The email and / or reminder pop-up window is sent to the revision terminal.

[0031] A call conflict identification device, comprising:

[0032] The jar package acquisition module is used to obtain all jar packages of the target application;

[0033] The conflict identification module is used to identify whether each jar package conflicts with other jar packages; if all jar packages do not conflict, the feedback information generation module is called; if any jar package conflicts with other jar packages, the conflict identification result generation module and its subsequent modules are called;

[0034] A feedback information generating module, used to generate first feedback information indicating that there is no conflict with the target application;

[0035] A conflict identification result generation module, used to generate a conflict identification result for recording the conflict situations of each jar package in the target application;

[0036] The call chain set generation module is used to extract the call chains between various jar packages and generate call chain sets;

[0037] The conflict identification result utilizing module is used to analyze whether the conflict identification result and the call chain set overlap, and generate second feedback information.

[0038] A call conflict identification device includes a memory and a processor;

[0039] The memory is used to store programs;

[0040] The processor is used to execute the program to implement the various steps of the above-mentioned call conflict identification method.

[0041] A readable storage medium stores a computer program thereon, wherein when the computer program is executed by a processor, each step of the above-mentioned call conflict identification method is implemented.

[0042] It can be seen from the above technical solution that the call conflict identification method provided by the present application takes into account that the call conflict in the target application is due to the call of the method that causes the jar package conflict. Therefore, the method can obtain all the jar packages of the target application; identify whether each jar package conflicts with other jar packages; if all jar packages do not conflict, feedback information indicating that there is no conflict in the target application is generated; based on this, the present application can first identify whether there are conflicts between multiple jar packages of the target application. Once there are no conflicts between the jar packages, there is no call to the method that causes the package conflict, and there is no call conflict, thereby reducing the recognition workload and improving the recognition efficiency; however, if there are conflicts, there may be conflicts caused by calling jar packages. The method causes a call conflict. On this basis, if any jar package conflicts with other jar packages, the method can also generate a conflict identification result for recording the conflict situation of each jar package in the target application; extract the call chain between each jar package to generate a call chain set; analyze whether the conflict identification result and the call chain set overlap, and generate feedback information; based on this, the application can detect whether there is a method that causes a jar package conflict in the target application by detecting the conflict identification result and the overlap information between the call chains, and identify whether there is a call conflict, thereby converting the call conflict identification process into a conflict identification result extraction process and an overlap information identification process, converting a large task into multiple small tasks, and simplifying the identification difficulty. It can be seen that the application can detect whether there is a call conflict in the target application while minimizing the workload. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0044] Figure 1 A flow chart of a call conflict identification method disclosed in an embodiment of the present application;

[0045] Figure 2 A structural block diagram of a call conflict identification device disclosed in an embodiment of the present application;

[0046] Figure 3 This is a hardware structure block diagram of a call conflict identification device disclosed in an embodiment of the present application. DETAILED DESCRIPTION

[0047] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0048] The present application embodiment provides a method for identifying a call conflict. The method can be applied to various test systems or software development systems, and can also be applied to various computer terminals or smart terminals. The execution subject can be a processor or server of the computer terminal or smart terminal. The method flow chart of the method for identifying a call conflict is as follows: Figure 1 As shown, specifically including:

[0049] Next, combine Figure 1 The call conflict identification method of the present application is introduced in detail, including the following steps:

[0050] Step S1: Get all jar packages of the target application.

[0051] Specifically, all jar packages of the target application can be obtained in a variety of ways; for example, the jar package of the target application can be obtained by building a tool for the target application; or the image package of the target application can be obtained, and all jar packages of the target application can be obtained based on the image package of the target application.

[0052] Step S2, identify whether each jar package conflicts with other jar packages; if all jar packages do not conflict, execute step S3; if any jar package conflicts with other jar packages, execute step S4.

[0053] Specifically, each class of each jar package can be detected to determine whether there are classes and methods with the same name in different jar packages. If there are classes and / or methods with the same name, there is a package conflict between multiple jar packages with the same name classes and / or methods with the same name, and step S4 is executed; if there are no classes and methods with the same name between the jar packages of the target application, step S3 is executed.

[0054] Among them, VPaaS (Video Platform as a Service) can be used to identify whether each jar package conflicts with other jar packages, and when a conflict is identified between any two jar packages, VPaaS can be used to send a package conflict identification request to the call relationship identification algorithm module.

[0055] Step S3: Generate first feedback information indicating that there is no conflict with the target application.

[0056] Specifically, when there are no classes or methods with the same name between the jar packages of the target application, it can be determined that the target application has no possibility of referencing classes or methods that cause call conflicts, and first feedback information indicating that there is no conflict in the target application can be generated.

[0057] Step S4: Generate a conflict identification result for recording the conflict situations of each jar package in the target application.

[0058] Specifically, a conflict identification result for recording the conflict situations of each jar package in the target application may be generated according to the classes and methods with the same name in each jar package.

[0059] Among them, by using the call relationship identification algorithm module, a conflict identification result for recording the conflict situation of each jar package in the target application can be generated according to the classes and methods with the same name in each jar package.

[0060] The conflict identification result can be used to record multiple classes and methods with the same name. Each class with the same name corresponds to multiple jar package identifiers, and each method with the same name corresponds to multiple jar package identifiers.

[0061] Step S5: extract the call chains between the jar packages and generate a call chain set.

[0062] Specifically, the external call information of each jar package can be analyzed, and the call chain of each jar package can be constructed according to the external call information of each jar package;

[0063] Among them, each node of the call chain corresponds to a method or class in the jar package.

[0064] The call chains of various jar packages can be combined to form a call chain set.

[0065] Step S6: analyzing whether the conflict identification result and the call chain set overlap, and generating second feedback information.

[0066] Specifically, the conflict identification results and the call chain set can be analyzed to determine whether any call chain in the call chain set has a node that overlaps with a class with the same name in the conflict identification result, and whether any call chain has a node that overlaps with a method with the same name in the conflict identification result;

[0067] If there is no overlap, feedback information indicating that there is no call conflict in the target application can be generated. If there is overlap, second feedback information indicating the identifier of the jar package where the overlapped method and / or overlapped class is located can be generated.

[0068] The first feedback information refers to the feedback information generated after it is determined that there is no package conflict between the jar packages;

[0069] The second feedback information refers to feedback information generated after analyzing the conflict identification result and whether the call chain sets overlap;

[0070] It should be noted that the content represented by the first feedback information may be the same as that represented by the second feedback information.

[0071] The following algorithm can be used to analyze the conflict identification results and the call chain set to determine whether any call chain in the call chain set has a node that overlaps with a class with the same name in the conflict identification result, and whether any call chain has a node that overlaps with a method with the same name in the conflict identification result:

[0072]

[0073] Furthermore, after the feedback information is generated, the feedback information may also be recorded in a bug flow table.

[0074] The feedback information may be first feedback information or second feedback information.

[0075] It can be seen from the above technical solution that the call conflict identification method provided by the present application takes into account that the call conflict in the target application is due to the call of the method that causes the jar package conflict. Therefore, the method can obtain all the jar packages of the target application; identify whether each jar package conflicts with other jar packages; if all jar packages do not conflict, feedback information indicating that there is no conflict in the target application is generated; based on this, the present application can first identify whether there are conflicts between multiple jar packages of the target application. Once there are no conflicts between the jar packages, there is no call to the method that causes the package conflict, and there is no call conflict, thereby reducing the recognition workload and improving the recognition efficiency; however, if there are conflicts, there may be conflicts caused by calling jar packages. The method causes a call conflict. On this basis, if any jar package conflicts with other jar packages, the method can also generate a conflict identification result for recording the conflict situation of each jar package in the target application; extract the call chain between each jar package to generate a call chain set; analyze whether the conflict identification result and the call chain set overlap, and generate feedback information; based on this, the application can detect whether there is a method that causes a jar package conflict in the target application by detecting the conflict identification result and the overlap information between the call chains, and identify whether there is a call conflict, thereby converting the call conflict identification process into a conflict identification result extraction process and an overlap information identification process, converting a large task into multiple small tasks, and simplifying the identification difficulty. It can be seen that the application can detect whether there is a call conflict in the target application while minimizing the workload.

[0076] In some embodiments of the present application, the process of obtaining all jar packages of the target application in step S1 is described in detail, and the steps are as follows:

[0077] S10, monitoring the information of successful deployment of the target application, and downloading all the image packages of the target application.

[0078] Specifically, when monitoring that a user has successfully deployed a target application on VPaaS (Video Platform as aService), the deployment log can be obtained;

[0079] Extract the image address of the target application from the deployment log;

[0080] Download all image packages of the target application from the image address.

[0081] S11, scanning each image package, extracting all jar packages of the target application.

[0082] Specifically, specific tools can be used to scan each image package and search and extract all jar packages of the target application.

[0083] It can be seen from the above technical solution that this embodiment provides an optional method for obtaining all jar packages of the target application. Through the above method, the code structure and implementation details of the application can be deeply studied, and the jar package can be better extracted, so that the functional module division, business logic implementation method and dependency relationship of the target application can be better understood by viewing the class files, configuration files, etc. in the extracted jar package.

[0084] In some embodiments of the present application, the process of step S4, generating a conflict identification result for recording the conflict situations of each jar package in the target application, is described in detail, and the steps are as follows:

[0085] S40. Extract all bytecode files in each jar package.

[0086] Specifically, you can use Java decompilation tools such as JD-GUI to extract all bytecode files in each jar package.

[0087] S41, parsing each bytecode file to construct the conflict identification result.

[0088] Specifically, each bytecode file can be parsed to determine whether there are classes and methods with the same name in different jar packages;

[0089] If classes with the same name exist in different jar packages, determine the identifiers of the jar packages corresponding to the classes with the same name;

[0090] If there are methods with the same name in different jar packages, determine the identifiers of each jar package corresponding to the methods with the same name;

[0091] Based on the identifiers of each jar package corresponding to the class with the same name and the identifiers of each jar package corresponding to the method with the same name, the conflict identification result is constructed in combination.

[0092] It can be seen from the above technical solution that this embodiment provides an optional method for generating a record of the conflict situations of each jar package in the target application. Through the above method, the conflict identification result can be constructed by parsing the bytecode file in the jar package.

[0093] In some embodiments of the present application, the process of extracting all bytecode files from each jar package in step S40 is described in detail, and the steps are as follows:

[0094] S400. Extract all class files in each jar package.

[0095] Specifically, you can use the jar command or javap command to view all class files in each jar package.

[0096] It can be seen from the above technical solution that this embodiment provides an optional method to extract all bytecode files in each jar package. Through the above method, it is possible to better parse the class files, check whether there are conflicts between the jar packages, generate conflict identification results, and thus better perform call conflict identification.

[0097] In some embodiments of the present application, the process of extracting the call chains between the jar packages and generating the call chain set in step S5 is described in detail, and the steps are as follows:

[0098] S50, parsing each bytecode file, and extracting external call information of each bytecode file.

[0099] Specifically, you can parse each class file and view the relevant information about each bytecode file calling external resources.

[0100] The external call information of each bytecode file may contain more than one called entity.

[0101] S51. Based on the external call information of each bytecode file, a call chain corresponding to each jar package is constructed.

[0102] Specifically, each called subject in the external call information can be extracted to determine the dependency relationship between each called subject;

[0103] According to the dependency relationship between each called entity, build the call chain corresponding to each jar package.

[0104] The call chain of each jar package can be used to represent the order in which each method and each class in the corresponding jar package are called and the parameter passing information.

[0105] The parameter passing information can be used to determine how parameters are passed from one subject to another during a method call or a class call, and can be used to determine the specific parameter values ​​received by each method.

[0106] For example, in a data processing application, you can determine the specific value changes of specific data in each processing link by viewing the call chain.

[0107] The parameter passing information can also be used to determine the parameter types expected by each subject. If a parameter type mismatch occurs, the call chain can be used to quickly locate the method call location that may cause the error.

[0108] For example, when a method expects to receive an integer type parameter but actually receives a string type parameter, the call chain can be traced back to the source of the parameter passing so that the correct type conversion can be performed or the incorrect parameter passing can be corrected.

[0109] Among them, the subject can be a method or a class.

[0110] S52. Clean and integrate each call chain to form a call chain set after integration.

[0111] Specifically, each call chain can be cleaned and integrated to construct a call chain set.

[0112] It can be seen from the above technical solution that this embodiment provides an optional method for extracting the call chains between each jar package and generating a call chain set. The above method can better analyze the dependency relationship between each class file, thereby better determining whether each class file depends on the called method or called class that causes the package conflict.

[0113] In some embodiments of the present application, the process of parsing each bytecode file and extracting the external call information of each bytecode file in step S50 is described in detail, and the steps are as follows:

[0114] S500, parsing each bytecode file, and extracting external call class information and external call method information of each bytecode file.

[0115] Specifically, each class file may be viewed to extract the identifier of the external call class and the identifier of the external call method contained in each bytecode file.

[0116] Among them, the external call class information and external call method information of each bytecode file can be identified by the following algorithm:

[0117]

[0118] It can be seen from the above technical solution that this embodiment provides an optional way to parse each bytecode file and extract the external call information of each bytecode file. Through the above method, the classes and methods can be integrated to view the dependencies corresponding to each bytecode file.

[0119] In some embodiments of the present application, after the first feedback information and the second feedback information are generated, the first feedback information and the second feedback information can be sent to the corresponding terminal to remind the user that the call conflict check is completed and inform the user of the call conflict check result. Therefore, it is possible to try to add a reminder process after step S6. Next, the added reminder process will be described in detail. The steps are as follows:

[0120] S7. Generate an email and / or a reminder pop-up window containing feedback information, where the feedback information is the first feedback information or the second feedback information.

[0121] Specifically, after generating the first feedback information or the second feedback information, an email containing the first feedback information or the second feedback information may be generated; or after generating the first feedback information or the second feedback information, a reminder pop-up window containing the first feedback information or the second feedback information may be generated.

[0122] In addition to feedback information, the email may also include the domain name, code ID corresponding to the overlapping information, branch name, and creation time.

[0123] Similarly, in addition to feedback information, the reminder pop-up window can also include the domain name, code ID corresponding to the overlapping information, branch name, and creation time.

[0124] S8. Determine a revision terminal of the target application.

[0125] Specifically, a terminal of a maintenance target application user may be determined as a revision terminal.

[0126] The revision terminal may be a mobile terminal or a desktop computer.

[0127] S9. Send the email and / or reminder pop-up window to the revision terminal.

[0128] Specifically, after the email is generated, the email can be sent to the revision terminal; or after the reminder pop-up window is generated, the reminder pop-up window can be sent to the revision terminal.

[0129] For example, you can generate an email using the following algorithm and send it to the revision terminal:

[0130]

[0131] It can be seen from the above technical solution that compared with the previous embodiment, this embodiment newly adds a reminder process. Through the above process, the user can be reminded of the check results of the call conflict so that the user can handle the call conflict in time when it is determined that there is a call conflict to avoid affecting the user's experience.

[0132] Next, we will combine Figure 2 The call conflict identification device provided in the present application is introduced in detail. The call conflict identification device provided below can be compared with the call conflict identification method provided above.

[0133] See also Figure 2 It can be found that calling the conflict identification device may include:

[0134] The jar package acquisition module 10 is used to acquire all jar packages of the target application;

[0135] The conflict identification module 20 is used to identify whether each jar package conflicts with other jar packages; if all jar packages do not conflict, the feedback information generation module is called; if any jar package conflicts with other jar packages, the conflict identification result generation module and its subsequent modules are called;

[0136] A feedback information generating module 30, configured to generate first feedback information indicating that there is no conflict with the target application;

[0137] A conflict identification result generating module 40 is used to generate a conflict identification result for recording the conflict situations of each jar package in the target application;

[0138] A call chain set generation module 50 is used to extract the call chains between various jar packages and generate a call chain set;

[0139] The conflict identification result utilizing module 60 is used to analyze whether the conflict identification result and the call chain set overlap, and generate second feedback information.

[0140] Furthermore, the jar package acquisition module may include:

[0141] A first jar package acquisition unit is used to monitor the information that the target application is successfully deployed and download all image packages of the target application;

[0142] The second jar package acquisition unit is used to scan each image package and extract all jar packages of the target application.

[0143] Furthermore, the conflict identification result generation module may include:

[0144] Bytecode file extraction unit, used to extract all bytecode files from each jar package;

[0145] The bytecode file parsing unit is used to parse each bytecode file and construct the conflict identification result.

[0146] Further, the bytecode file extraction unit may include:

[0147] The class file extraction component is used to extract all class files in each jar package.

[0148] Furthermore, the call chain set generation module may include:

[0149] An external call information extraction component is used to parse each bytecode file and extract the external call information of each bytecode file;

[0150] The call chain building component is used to build the call chain corresponding to each jar package based on the external call information of each bytecode file;

[0151] The call chain integration component is used to clean and integrate various call chains to form a call chain set after integration.

[0152] Furthermore, the external call information extraction component may include:

[0153] The external call method information acquisition subcomponent is used to parse each bytecode file and extract the external call class information and external call method information of each bytecode file.

[0154] Further, calling the conflict identification device may also include:

[0155] The feedback information utilizing module is used to generate an email and / or a reminder pop-up window containing feedback information, where the feedback information is the first feedback information or the second feedback information.

[0156] The revision terminal determination module is used to determine the revision terminal of the target application.

[0157] An information sending module is used to send the email and / or reminder pop-up window to the revision terminal.

[0158] The call conflict identification device provided in the embodiment of the present application can be applied to call conflict identification devices, such as PC terminals, cloud platforms, servers and server clusters. Figure 3 The hardware structure diagram of the call conflict identification device is shown in FIG. Figure 3, the hardware structure of the call conflict identification device may include: at least one processor 1, at least one communication interface 2, at least one memory 3 and at least one communication bus 4;

[0159] In the embodiment of the present application, the number of the processor 1, the communication interface 2, the memory 3, and the communication bus 4 is at least one, and the processor 1, the communication interface 2, and the memory 3 communicate with each other through the communication bus 4;

[0160] The processor 1 may be a central processing unit CPU, or an application-specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present invention, etc.;

[0161] The memory 3 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), etc., such as at least one disk memory;

[0162] The memory stores a program, and the processor can call the program stored in the memory, wherein the program is used to:

[0163] Get all jar packages of the target application;

[0164] Identify whether each jar package conflicts with other jar packages;

[0165] If there is no conflict in all jar packages, first feedback information indicating that there is no conflict in the target application is generated;

[0166] If any jar package conflicts with other jar packages, a conflict identification result is generated to record the conflict situations of each jar package in the target application;

[0167] Extract the call chains between each jar package and generate a call chain set;

[0168] The conflict identification result and the call chain set are analyzed to determine whether they overlap, and second feedback information is generated.

[0169] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0170] The embodiment of the present application further provides a readable storage medium, which may store a program suitable for execution by a processor, wherein the program is used to:

[0171] Get all jar packages of the target application;

[0172] Identify whether each jar package conflicts with other jar packages;

[0173] If there is no conflict in all jar packages, first feedback information indicating that there is no conflict in the target application is generated;

[0174] If any jar package conflicts with other jar packages, a conflict identification result is generated to record the conflict situations of each jar package in the target application;

[0175] Extract the call chains between each jar package and generate a call chain set;

[0176] The conflict identification result and the call chain set are analyzed to determine whether they overlap, and second feedback information is generated.

[0177] Optionally, the detailed functions and extended functions of the program may refer to the above description.

[0178] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0179] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0180] The above description of the disclosed embodiments enables professionals and technicians in the field to implement or use the present application. Various modifications to these embodiments will be apparent to professionals and technicians in the field, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. The various embodiments of the present application can be combined with each other. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A call conflict identification method, characterized in that: include: Get all jar packages of the target application; Identify whether each jar package conflicts with other jar packages; If there is no conflict in all jar packages, first feedback information indicating that there is no conflict in the target application is generated; If any jar package conflicts with other jar packages, a conflict identification result is generated to record the conflict situations of each jar package in the target application; Extract the call chains between each jar package and generate a call chain set; The conflict identification result and the call chain set are analyzed to determine whether they overlap, and second feedback information is generated.

2. The call conflict identification method according to claim 1, characterized in that: The acquisition of all jar packages of the target application includes: Monitor the successful deployment information of the target application and download all image packages of the target application; Scan each image package and extract all jar packages of the target application.

3. The call conflict identification method according to claim 1, characterized in that: The generating of the conflict identification result for recording the conflict situations of each jar package in the target application includes: Extract all bytecode files in each jar package; Each bytecode file is parsed to construct the conflict identification result.

4. The call conflict identification method according to claim 3, characterized in that: The extraction of all bytecode files in each jar package includes: Extract all class files in each jar package.

5. The call conflict identification method according to claim 3, characterized in that: The extracting of the call chains between the jar packages and generating a call chain set includes: Parse each bytecode file and extract the external call information of each bytecode file; Based on the external call information of each bytecode file, build the call chain corresponding to each jar package; Each call chain is cleaned and integrated to form a call chain set.

6. The call conflict identification method according to claim 5, characterized in that: The step of parsing each bytecode file and extracting external call information of each bytecode file includes: Parse each bytecode file and extract the external call class information and external call method information of each bytecode file.

7. The call conflict identification method according to any one of claims 1 to 6, characterized in that: Also includes: Generate an email and / or a reminder pop-up window containing feedback information, where the feedback information is the first feedback information or the second feedback information; Determining a revision terminal of the target application; The email and / or reminder pop-up window is sent to the revision terminal.

8. A call conflict identification device, characterized in that: include: The jar package acquisition module is used to obtain all jar packages of the target application; The conflict identification module is used to identify whether each jar package conflicts with other jar packages; if there is no conflict between all jar packages, the feedback information generation module is called; If any jar package conflicts with other jar packages, the conflict identification result generation module and its subsequent modules are called; A feedback information generating module, used to generate first feedback information indicating that there is no conflict with the target application; A conflict identification result generation module, used to generate a conflict identification result for recording the conflict situations of each jar package in the target application; The call chain set generation module is used to extract the call chains between various jar packages and generate call chain sets; The conflict identification result utilizing module is used to analyze whether the conflict identification result and the call chain set overlap, and generate second feedback information.

9. A call conflict identification device, characterized in that: including memory and processor; The memory is used to store programs; The processor is used to execute the program to implement each step of the call conflict identification method as described in any one of claims 1 to 7.

10. A readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, each step of the call conflict identification method according to any one of claims 1 to 7 is implemented.