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 PDF

Info

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
Application number
CN202111081238.8A
Other languages
Chinese (zh)
Other versions
CN113867832A (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.)
Guangzhou Yunxi Technology Co ltd
Original Assignee
Guangzhou Yunxi 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 Guangzhou Yunxi Technology Co ltd filed Critical Guangzhou Yunxi Technology Co ltd
Priority to CN202111081238.8A priority Critical patent/CN113867832B/en
Publication of CN113867832A publication Critical patent/CN113867832A/en
Application granted granted Critical
Publication of CN113867832B publication Critical patent/CN113867832B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

Method, system, computer equipment and medium for dynamically modifying business data logic
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.
CN202111081238.8A 2021-09-15 2021-09-15 Method, system, computer equipment and medium for dynamically modifying business data logic Active CN113867832B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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