CN113867832B - Method, system, computer equipment and medium for dynamically modifying business data logic - Google Patents
Method, system, computer equipment and medium for dynamically modifying business data logic Download PDFInfo
- Publication number
- CN113867832B CN113867832B CN202111081238.8A CN202111081238A CN113867832B CN 113867832 B CN113867832 B CN 113867832B CN 202111081238 A CN202111081238 A CN 202111081238A CN 113867832 B CN113867832 B CN 113867832B
- Authority
- CN
- China
- Prior art keywords
- class
- file
- definition
- logic
- instance
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000004048 modification Effects 0.000 claims description 9
- 238000012986 modification Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 101150026195 hook gene Proteins 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
The invention provides a method, a system, a computer device and a medium for dynamically modifying business data logic, wherein the method comprises the following steps: acquiring a file package, marking a category in the file package and the category instance, and determining a first business logic of the instance; compiling the categories in the file package to obtain a marked class file, and compiling the first business logic to obtain a defined class file; establishing an association relation between the marking class file and the definition class file; scanning the definition class file, replacing the first business logic according to the association relation and the second business logic of the first proxy interface, and replacing the class instance by initializing class definition; the scheme of the method and the device can realize the process of modifying the service under the condition of avoiding modifying the source code of the class library in secondary development, thereby improving the development efficiency, reducing the occupation of development resources and computing resources, further reducing the development cost, and being widely applied to the technical field of computer software.
Description
Technical Field
The invention belongs to the technical field of computer software, and particularly relates to a method, a system, computer equipment and a storage medium for dynamically modifying business data logic.
Background
JAR (Java ARchive) is a platform-independent file format that can synthesize multiple files into one file. The user can bind a plurality of Java applets and their required components (class files, images and sounds) into the JAR file and then download them into the browser as a single simple HTTP (Hypertext Tranfer Protocal, hypertext transfer protocol) transaction, thereby greatly increasing the download speed. The JAR format also supports compression, thereby reducing file size and further reducing download time.
In the prior art, in the secondary development process based on the bottom packaging JAR package, under the condition that the bottom default implementation cannot adapt to downstream service, the method is to change the JAR package and change the default implementation logic to meet the service requirement; the prior art has the defects that development efficiency is too low to a certain extent by changing the JAR package, more development resources and calculation resources are occupied, and development cost is high.
Disclosure of Invention
In view of this, in order to at least partially solve one of the above technical problems, an embodiment of the present invention is to provide a method for dynamically modifying service data logic with higher efficiency and less development resources, and meanwhile, the technical solution of the present application further provides a system, a computer device and a storage medium capable of correspondingly implementing the method.
In a first aspect, a technical solution of the present application provides a method for dynamically modifying service data logic, including the steps of:
in one possible embodiment of the present application, a package is obtained, a category in the package and the category instance are marked, and a first business logic of the instance is determined;
compiling the categories in the file package to obtain a marked class file, and compiling the first business logic to obtain a defined class file;
establishing an association relation between the marking class file and the definition class file;
and scanning the definition class file, replacing the first business logic according to the association relation and the second business logic of the first proxy interface, and replacing the class instance by initializing class definition.
In a possible embodiment of the present application, before the step of replacing the class instance by initializing a class definition, the method comprises:
creating a hook thread and determining a business logic replacement flow of the hook thread;
and generating a second proxy interface of the hook thread, and executing the business logic replacement flow through the second proxy interface, wherein the business logic replacement flow is used for replacing the first business logic with a second business logic.
In a possible embodiment of the present application, the step of replacing the first service logic with a second service logic of the first proxy interface according to the association relationship includes:
the definition class file is obtained through global scanning, and the marking class file is obtained according to the association relation;
and generating a first proxy interface of the definition class file through a dynamic proxy mechanism, and replacing the first service logic according to a second service logic of the first proxy interface.
In a possible embodiment of the present application, the step of replacing the class instance by initializing a class definition includes:
generating a type definition description of the class instance;
initializing the type definition description through a redefined interface to obtain a target class instance, and replacing the class instance with the target class instance.
In a possible embodiment of the present application, before the step of scanning the definition class file, the method further includes: and constructing a starting class loader, and acquiring a file package and configuration information of a definition class file through the starting class loader.
In a possible embodiment of the present application, before the step of obtaining the package of files, the method further includes:
acquiring a memory space, and dividing the memory space into a first area and a second area; the first area is used for storing file information of the file package, and the second area is used for storing the class instance;
creating a class loader, and loading the class in the file package and the class instance through the class loader.
In a second aspect, the present invention further provides a system for dynamically modifying service data logic, where the system includes:
the data acquisition module is used for acquiring a file package, marking the category in the file package and the category instance, and determining a first business logic of the instance;
the file compiling module is used for compiling the category in the file package to obtain a marked class file and compiling the first business logic to obtain a defined class file;
the relation recording module is used for establishing the association relation between the mark class file and the definition class file;
and the service logic replacement module is used for scanning the definition class file, replacing the first service logic according to the association relation and the second service logic of the first proxy interface, and replacing the class instance through initializing class definition.
In a possible embodiment of the present application, the dynamically modified service data logic system further includes: the virtual machine configuration module is used for acquiring a memory space and dividing the memory space into a first area and a second area; creating a class loader, and loading the class in the file package and the class instance through the class loader;
the first area is used for storing file information of the file package, and the second area is used for storing the category examples.
In a third aspect, the present invention further provides a service data dynamic modification logic computer device, including:
at least one processor;
at least one memory for storing at least one program;
the at least one program, when executed by the at least one processor, causes the at least one processor to perform the method described in the first aspect.
In a fourth aspect, the present invention provides a storage medium having stored therein a processor executable program which when executed by a processor is adapted to run the dynamic modification service data logic method according to any one of claims 1-7.
Advantages and benefits of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention:
according to the technical scheme, the class failure and the service logic which need to be replaced are firstly determined, then the marked class file and the definition class file are obtained through compiling, the index is carried out through the association relation between the marked class file and the definition class file, the original service logic is replaced by the obtained definition class file through the association relation and the service logic of the proxy interface, the class definition replacement class instance is initialized, and finally the process of modifying the service under the condition of avoiding modifying the class library source code in secondary development is realized, so that the development efficiency is improved, the occupation of development resources and calculation resources is reduced, and the development cost is further reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flowchart illustrating steps of a method for dynamically modifying service data logic according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating steps for implementing service logic replacement by hook threads according to an embodiment of the present invention.
Detailed Description
Embodiments of the present invention are described in detail below, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to like or similar elements or elements having like or similar functions throughout. The embodiments described below by referring to the drawings are illustrative only and are not to be construed as limiting the invention. The step numbers in the following embodiments are set for convenience of illustration only, and the order between the steps is not limited in any way, and the execution order of the steps in the embodiments may be adaptively adjusted according to the understanding of those skilled in the art.
In order to achieve the purpose of greatly improving development efficiency by modifying default implementation logic to meet service requirements without modifying the underlying JAR packet, in a first aspect, as shown in fig. 1, the technical scheme of the present application provides a method for dynamically modifying service data logic, which mainly includes steps of S100-S400:
s100, acquiring a file package, marking a category in the file package and the category instance, and determining first business logic of the instance;
wherein, the file package refers to an underlying JAR package in the embodiment, the category refers to a binary class described in the JAR package, and the category instance refers to a specific instance method in the class.
It should be noted that, in the embodiment, the step description takes JAVA as an example, and the technical solution of the present application may support any development language compiled into JVM bytecode capable of running on JVM, including, but not limited to scala, jpython, kotlin, groovy, jruby, and so on. The Java virtual machine (Java Virtual Machine, JVM) is a specification for computing devices, is an imaginary computer, and is implemented by emulating various computer functions on an actual computer.
Specifically, in an embodiment, a binary class described in an underlying JAVA package that needs replacement, and a specific example method in the class, are first marked; and defines the business logic that the described example method needs to replace.
In some alternative embodiments, prior to the process of obtaining the package, the method may further include steps S001-S002:
s001, acquiring a memory space, and dividing the memory space into a first area and a second area;
the first area is used for storing file information of the file package, and the second area is used for storing the category examples. Specifically, in the embodiment, firstly, according to the memory configuration requirement of the JVM, a memory space with a specific size is applied for the JVM; when the JVM is started, a part of memory is applied according to the configuration requirement, and the memory is divided into a plurality of areas according to JVM specifications and implementation. The class binary file information is placed in a method area, namely a first area, and the object instance is placed in a java heap, namely a second area.
S002, creating a class loader, and loading the class in the file package and the class instance through the class loader;
specifically, after the JVM applies for the memory space, the embodiment creates a boot class loader (Bootstrap Classloader) instance in the JVM, which is responsible for loading the basic system-level classes required by the JVM virtual machine in running, such as java. Lang. String, java. Lang. Object, etc.; a boot class loader (Bootstrap Classloader) will read the JAR package and configuration under jre_home/lib and then load these system classes into the method section; the boot class loader loads class information into the method area, organized in a particular way, and for a particular class it should have information in the method area such as a runtime constant pool, type information, field information, method information, class loader references, class instance references, etc. Then, the JVM virtual machine of the embodiment calls the static method getLauncher () of the class su.misc.launcher that has been loaded in the method area, obtaining a su.misc.launcher instance.
S200, compiling the categories in the file package to obtain a marked class file, and compiling the first business logic to obtain a defined class file;
in an embodiment, the tag class file refers to compiling the tag class in S100 to obtain a binary class file, and the definition class file refers to compiling the definition class in step S100 to obtain a binary class file, where the tag class refers to a binary class described in the bottom JAR packet that needs to be replaced, and the definition class refers to a binary class file that specifies service logic that needs to be replaced by the described instance method.
Specifically, in an embodiment, an AppClassLoader instance may be returned by the launcher.getclassloader () method, followed by AppClassLoader loading the definition class; in the embodiment, a structure called Constant Pool (Constant Pool) exists in a CLASS file compiled from org.luanlouis.jvm.load.main classes, which classes are used by the CLASS is judged by the Constant_CLASS_INFO Constant in the Constant Pool, and the classes are unloaded by a CLASS loader.
S300, establishing an association relation between the mark class file and the definition class file;
specifically, the embodiment establishes the association relation between the mark class and the definition class, and in the embodiment, the definition can be defined by adopting code annotation, and the relation can be recorded outside the code, including but not limited to files, databases and the like.
S400, scanning the definition class file, replacing the first business logic according to the association relation and the second business logic of the first proxy interface, and replacing the class instance through initializing class definition;
in the application scenario of the embodiment, when a class (usually an interface) a is used, the class is not directly used, but a method of calling a by another class B is used, where the class B is a proxy class. The second service logic in step S400 is the target service logic that needs to be replaced.
Specifically, the embodiment loads the JAR package, the markup class, and the definition class in S100 and S200 in the JVM; then, the embodiment starts the running class, and searches the binary class program in the steps S100-S200 when the running class is started, so as to realize logic replacement.
Illustratively, in an embodiment, the boot class loader is implemented using the c++ language (HotSpot), and is responsible for loading basic system-level classes required by the JVM virtual machine when running, such as java. The startup class loader (Bootstrap Classloader) reads the jar package (e.g., rt. Jar) and configuration under { jre_home }/lib and then loads these system classes into the method section. Since the class loader is implemented using the platform dependent underlying C/C++ language, the loader is not accessible to Java code; but in embodiments may query whether a class is loaded by the boot class loader.
In some alternative embodiments, steps S310-S320 may also be included before the method replaces the class instance by initializing a class definition:
s310, creating a hook thread, and determining a business logic replacement flow of the hook thread;
s320, generating a second proxy interface of the hook thread, and executing the business logic replacement flow through the second proxy interface, wherein the business logic replacement flow is used for replacing the first business logic with a second business logic;
the HOOK thread refers to HOOK class, when the JVM process exits or receives the interrupt signal of the system, the HOOK thread can be started, and one thread can inject a plurality of HOOKs. In step S320, the second proxy interface is a hooked proxy class.
Specifically, as shown in fig. 2, in the embodiment, the JVM runs a loading class, then identifies HOOK subclasses, obtains comments of each method of the HOOK subclasses, obtains alternative classes and methods, and then generates proxy classes for each HOOK method through javaist; finally, generating new class logic through JVMTI, replacing original class in JVM, and executing the hook proxy class logic of steps S310-S320 in reflection.
In some alternative embodiments, the process of replacing the first service logic with the second service logic of the first proxy interface in step S400 according to the association relationship may include steps S410-S440:
s410, acquiring the definition class file through global scanning, and determining to acquire the mark class file according to the association relation;
specifically, the embodiment first scans the definition class described in the global class file determining step S100, determines the tube relation of the class determined in step S300, and obtains the mark class.
S420, generating a first proxy interface of the definition class file through a dynamic proxy mechanism, and replacing the first service logic according to a second service logic of the first proxy interface;
specifically, the embodiment generates a proxy class of the definition class in S200 in the JVM through a dynamic proxy mechanism, and the service logic is a service logic for executing S200 definition class declaration; the JAVA dynamic proxy technology refers to a proxy mode that proxy classes are created when a program runs, and has two common implementations, JDK dynamic proxy and CGLIB dynamic proxy.
S430, generating a type definition description of the class instance;
specifically, the embodiment uses a dynamic proxy mechanism to generate an instance of the markup class in the JVM, and the logic of the alternative instance method is the business logic that executes the proxy class in S420.
S440, initializing the type definition description through a redefined interface to obtain a target class instance, and replacing the class instance with the target class instance;
specifically, the embodiment generates the ClassDefinition of the instance in step S430 through the instrument mechanism provided by the JVMTI technology, and initializes the generated ClassDefinition instance using the refreeslasses interface of the instrument, and replaces the instance of the original marked class in the JVM.
In some alternative embodiments, before the process of scanning the definition class file in step S400, the method may further include step S330:
s330, constructing a starting class loader, and acquiring a file package and configuration information of a definition class file through the starting class loader;
specifically, the embodiment can define a starting operation class, and find the binary class program described in the steps when the starting operation class starts, so as to realize logic replacement.
In a second aspect, the present invention further provides a system for dynamically modifying service data logic, where the system includes:
the data acquisition module is used for acquiring a file package, marking the category in the file package and the category instance, and determining a first business logic of the instance;
the file compiling module is used for compiling the category in the file package to obtain a marked class file and compiling the first business logic to obtain a defined class file;
the relation recording module is used for establishing the association relation between the mark class file and the definition class file;
and the service logic replacement module is used for scanning the definition class file, replacing the first service logic according to the association relation and the second service logic of the first proxy interface, and replacing the class instance through initializing class definition.
In some alternative embodiments, the dynamic modification service data logic system of the embodiments may further include a virtual machine configuration module, where the virtual machine configuration module may be configured to obtain a memory space, and divide the memory space into a first area and a second area; creating a class loader, and loading the class in the file package and the class instance through the class loader; the first area is used for storing file information of the file package, and the second area is used for storing the category examples.
In a third aspect, embodiments of the present application provide a dynamically modified business data logic computer device comprising: at least one processor; at least one memory for storing at least one program; the at least one program, when executed by the at least one processor, causes the at least one processor to perform the method of the first aspect.
From the above specific implementation process, it can be summarized that, compared with the prior art, the technical solution provided by the present invention has the following advantages or advantages:
the technical scheme of the method and the device realizes the process of modifying the service under the condition of avoiding modifying the source code of the class library in secondary development, thereby improving the development efficiency, reducing the occupation of development resources and computing resources and further reducing the development cost.
In some alternative embodiments, the functions/acts noted in the block diagrams may occur out of the order noted in the operational illustrations. 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/acts involved. Furthermore, the embodiments presented and described in the flowcharts of the present invention are provided by way of example in order to provide a more thorough understanding of the technology. The disclosed methods are not limited to the operations and logic flows presented herein. Alternative embodiments are contemplated in which the order of various operations is changed, and in which sub-operations described as part of a larger operation are performed independently.
Furthermore, while the invention is described in the context of functional modules, it should be appreciated that, unless otherwise indicated, one or more of the functions and/or features may be integrated in a single physical device and/or software module or may be implemented in separate physical devices or software modules. It will also be appreciated that a detailed discussion of the actual implementation of each module is not necessary to an understanding of the present invention. Rather, the actual implementation of the various functional modules in the apparatus disclosed herein will be apparent to those skilled in the art from consideration of their attributes, functions and internal relationships. Accordingly, one of ordinary skill in the art can implement the invention as set forth in the claims without undue experimentation. It is also to be understood that the specific concepts disclosed are merely illustrative and are not intended to be limiting upon the scope of the invention, which is to be defined in the appended claims and their full scope of equivalents.
Logic and/or steps represented in the flowcharts or otherwise described herein, e.g., a ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the present invention have been shown and described, it will be understood by those of ordinary skill in the art that: many changes, modifications, substitutions and variations may be made to the embodiments without departing from the spirit and principles of the invention, the scope of which is defined by the claims and their equivalents.
While the preferred embodiment of the present invention has been described in detail, the present invention is not limited to the above embodiments, and various equivalent modifications and substitutions can be made by those skilled in the art without departing from the spirit of the present invention, and these equivalent modifications and substitutions are intended to be included in the scope of the present invention as defined in the appended claims.
Claims (8)
1. The method for dynamically modifying the service data logic is characterized by comprising the following steps:
acquiring a file package, marking a category and a category instance in the file package, and determining first business logic of the category instance;
compiling the categories in the file package to obtain a marked class file, and compiling the first business logic to obtain a defined class file;
establishing an association relation between the marking class file and the definition class file;
scanning the definition class file, replacing the first business logic according to the association relation and the second business logic of the first proxy interface, and replacing the class instance by initializing class definition;
the replacing the first business logic according to the association relation and the second business logic of the first proxy interface comprises the following steps:
the definition class file is obtained through global scanning, and the marking class file is obtained according to the association relation; generating a first proxy interface of the definition class file through a dynamic proxy mechanism, and replacing the first service logic according to a second service logic of the first proxy interface;
the step of replacing the class instance by initializing a class definition comprises:
generating a type definition description of the class instance; initializing the type definition description through a redefined interface to obtain a target class instance, and replacing the class instance with the target class instance.
2. The method of dynamically modifying business data logic of claim 1, wherein prior to the step of replacing the class instance by initializing a class definition, the method comprises:
creating a hook thread and determining a business logic replacement flow of the hook thread;
and generating a second proxy interface of the hook thread, and executing the business logic replacement flow through the second proxy interface, wherein the business logic replacement flow is used for replacing the first business logic with a second business logic.
3. The method of dynamically modifying business data logic of claim 1, wherein prior to the step of scanning the definition class file, the method further comprises:
and constructing a starting class loader, and acquiring a file package and configuration information of a definition class file through the starting class loader.
4. A method of dynamically modifying service data logic according to any one of claims 1 to 3, wherein prior to the step of retrieving a package of files, the method further comprises:
acquiring a memory space, and dividing the memory space into a first area and a second area; the first area is used for storing file information of the file package, and the second area is used for storing the class instance;
creating a class loader, and loading the class in the file package and the class instance through the class loader.
5. A dynamic modification service data logic system, comprising:
the data acquisition module is used for acquiring a file package, marking categories and category examples in the file package and determining first business logic of the category examples;
the file compiling module is used for compiling the category in the file package to obtain a marked class file and compiling the first business logic to obtain a defined class file;
the relation recording module is used for establishing the association relation between the mark class file and the definition class file;
the service logic replacement module is used for scanning the definition class file, replacing the first service logic according to the association relation and the second service logic of the first proxy interface, and replacing the class instance through initializing class definition;
the business logic replacement module is further used for obtaining the definition class file through global scanning, and determining to obtain the marking class file according to the association relation; generating a first proxy interface of the definition class file through a dynamic proxy mechanism, and replacing the first service logic according to a second service logic of the first proxy interface;
the business logic replacement module is further used for generating a type definition description of the category instance; initializing the type definition description through a redefined interface to obtain a target class instance, and replacing the class instance with the target class instance.
6. The dynamic modified business data logic system of claim 5, wherein the system further comprises:
the virtual machine configuration module is used for acquiring a memory space and dividing the memory space into a first area and a second area; creating a class loader, and loading the class in the file package and the class instance through the class loader;
the first area is used for storing file information of the file package, and the second area is used for storing the category examples.
7. A dynamic modification service data logic computer device, comprising:
at least one processor;
at least one memory for storing at least one program; the at least one program, when executed by the at least one processor, causes the at least one processor to perform the method of any of claims 1-4.
8. A storage medium having stored therein a processor executable program which when executed by a processor is adapted to run the dynamic modification service data logic method of any one of claims 1-4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111081238.8A CN113867832B (en) | 2021-09-15 | 2021-09-15 | Method, system, computer equipment and medium for dynamically modifying business data logic |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111081238.8A CN113867832B (en) | 2021-09-15 | 2021-09-15 | Method, system, computer equipment and medium for dynamically modifying business data logic |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113867832A CN113867832A (en) | 2021-12-31 |
CN113867832B true CN113867832B (en) | 2024-04-02 |
Family
ID=78995969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111081238.8A Active CN113867832B (en) | 2021-09-15 | 2021-09-15 | Method, system, computer equipment and medium for dynamically modifying business data logic |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113867832B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658018B (en) * | 2022-10-20 | 2023-08-08 | 广东云徙智能科技有限公司 | Middle-stage logic expansion method, system, device and medium |
CN115658276B (en) * | 2022-11-21 | 2023-05-26 | 深圳市明源云科技有限公司 | Service development method, device, electronic equipment and readable storage medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510918A (en) * | 2009-03-05 | 2009-08-19 | 腾讯科技(深圳)有限公司 | Method and apparatus for dynamically modifying mobile phone software package |
CN103529743A (en) * | 2013-10-15 | 2014-01-22 | 北京四方继保自动化股份有限公司 | Method for amending logic algorithm routine of control system in online mode |
CN104102502A (en) * | 2013-04-09 | 2014-10-15 | 腾讯科技(深圳)有限公司 | Processing method and device for realizing hot deployment and server |
CN104699503A (en) * | 2015-02-28 | 2015-06-10 | 深圳市同洲电子股份有限公司 | Method and device for replacing function execution logic in Android system |
CN105389186A (en) * | 2015-11-20 | 2016-03-09 | 福建亿榕信息技术有限公司 | Hot deployment method and system for Java application |
CN106293863A (en) * | 2016-07-26 | 2017-01-04 | 北京北森云计算股份有限公司 | The compiling of multilingual cloud realizes the method and system that systemic-function dynamic expansion is replaced |
CN110262818A (en) * | 2019-05-29 | 2019-09-20 | 北京达佳互联信息技术有限公司 | The hot update method of Java code, device, electronic equipment and storage medium |
CN111400135A (en) * | 2020-03-13 | 2020-07-10 | 普信恒业科技发展(北京)有限公司 | Method and device for extracting service data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0414983D0 (en) * | 2004-07-03 | 2004-08-04 | Ibm | A method for replacing code in a running object oriented program |
-
2021
- 2021-09-15 CN CN202111081238.8A patent/CN113867832B/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510918A (en) * | 2009-03-05 | 2009-08-19 | 腾讯科技(深圳)有限公司 | Method and apparatus for dynamically modifying mobile phone software package |
CN104102502A (en) * | 2013-04-09 | 2014-10-15 | 腾讯科技(深圳)有限公司 | Processing method and device for realizing hot deployment and server |
CN103529743A (en) * | 2013-10-15 | 2014-01-22 | 北京四方继保自动化股份有限公司 | Method for amending logic algorithm routine of control system in online mode |
CN104699503A (en) * | 2015-02-28 | 2015-06-10 | 深圳市同洲电子股份有限公司 | Method and device for replacing function execution logic in Android system |
CN105389186A (en) * | 2015-11-20 | 2016-03-09 | 福建亿榕信息技术有限公司 | Hot deployment method and system for Java application |
CN106293863A (en) * | 2016-07-26 | 2017-01-04 | 北京北森云计算股份有限公司 | The compiling of multilingual cloud realizes the method and system that systemic-function dynamic expansion is replaced |
CN110262818A (en) * | 2019-05-29 | 2019-09-20 | 北京达佳互联信息技术有限公司 | The hot update method of Java code, device, electronic equipment and storage medium |
CN111400135A (en) * | 2020-03-13 | 2020-07-10 | 普信恒业科技发展(北京)有限公司 | Method and device for extracting service data |
Also Published As
Publication number | Publication date |
---|---|
CN113867832A (en) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9891900B2 (en) | Generation of specialized methods based on generic methods and type parameterizations | |
KR950007883B1 (en) | Method and system for managing a set of class | |
US7392527B2 (en) | Driver-specific context for kernel-mode shimming | |
US7203941B2 (en) | Associating a native resource with an application | |
CN113867832B (en) | Method, system, computer equipment and medium for dynamically modifying business data logic | |
US6272674B1 (en) | Method and apparatus for loading a Java application program | |
US6836884B1 (en) | Method and system for editing software programs | |
US7814472B2 (en) | System and method for shared code-sourcing in a Java Virtual Machine environment | |
US20040261065A1 (en) | Method and system for compiling multiple languages | |
US20020104076A1 (en) | Code generation for a bytecode compiler | |
US20070006184A1 (en) | Method and apparatus for combined execution of native code and target code during program code conversion | |
US8650537B2 (en) | Optimizing an object-oriented program by transforming invocations of synthetic accessor methods | |
US20090249311A1 (en) | Sharing a native module of compiled code using an abstraction module of interpreted code in a virtual machine environment | |
US6658657B1 (en) | Method and apparatus for reducing the overhead of virtual method invocations | |
US8200938B2 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
CN111736913B (en) | Class loading method and device | |
KR100577366B1 (en) | Method and apparatus for executing different forms of java methods | |
CN111679852B (en) | Detection method and device for conflict dependency library | |
US20100058305A1 (en) | Automatic Generation of Language Bindings for Libraries Using Data from Compiler Generated Debug Information | |
US20020087737A1 (en) | Computer system and method providing a memory buffer for use with native and platform-independent software code | |
US20030149967A1 (en) | Information processing method and system | |
US8341606B2 (en) | Method of invoking inlined method and java virtual machine using the method | |
CN109032572B (en) | Method for Java program method internal connection based on byte code | |
CN101126988A (en) | Class file loading method and system | |
US6748503B1 (en) | System and method facilitating unmanaged code participation in garbage collection |
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 |