Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method for dynamically intercepting and extending functions of systems by means of multi-language cloud compiling

A technology to realize system and dynamic functions, applied in the direction of program loading/starting, program control devices, etc., can solve problems such as burden, difficult system development, and reduce code reuse rate, so as to improve cooperation, extensive practical significance, and improve reusability Effect

Active Publication Date: 2016-12-21
BEIJING BEISEN CLOUD COMPUTING CO LTD
View PDF6 Cites 10 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

This invention has the deficiencies in the following aspects: first what this invention uses is that dynamic compilation is the Microsoft CodeDOM ICodeCompiler compiling method, and is to utilize a mechanism called "Code Document Object Model" (CodeDOM) in the .NET Framework. Developers who write source code programs can use programming language text to generate source code compilation and get compilation results at runtime according to a single model representing the presented code. It is basically a complete black box that can only provide compilation, compilation The final result is success or failure; secondly, every time the code is compiled, another new csc.exe or vbc.exe compilation process will be started outside the current process, and the ICodeCompiler compilation method is only for csc.exe and vbc .exe packaging, this old way, after testing, if multiple script codes are compiled at the same time, the CPU will cause a certain pressure, causing the CPU usage to rise sharply, and in addition to the current process, start a new process to compile the script code , which has a certain impact on the stability and performance of a system, as well as the input and output of compilation results
There are two deficiencies here: first, this invention uses reflection technology, which is actually an interpreted operation, and a lot of work needs to be done inside the underlying running state: binding process, metadata string comparison, parameter Verification, type verification, security verification, generation of a large number of temporary objects, etc., will cause a huge burden on the CPU and GC garbage collector, and the operating efficiency and performance are very low
There are the following points that can be improved. First of all, Spring’s ioc mode is used in this invention. Ioc can be added through code and configuration. This invention is very cumbersome to expand the data source through a large number of configuration files, and this It needs to be configured manually, resulting in additional maintenance costs. The coupling relationship is all in the configuration file, and only conventional relational databases can obtain data. Secondly, this kind of performance problem will occur due to the use of IOC mode (reflection), and again in Service business logic layer, if you need to perform secondary filtering and processing on the extracted data source, you need to manually develop, deploy, and configure offline
[0010] Based on the above statements, we can see that there are the following shortcomings in the existing technology: (1) Expansion is complicated: the code is directly coupled to the existing system or configured into the system through reflection, which makes the entire expansion process very complicated and cumbersome, and breaks the existing system. Code structure; (2) Low code reuse rate: the newly expanded code logic is only for the current development and coupling to the system, which reduces the code reuse rate; (3) Performance loss: through reflection or configuration mechanism in the system Doing expansion will cause the performance of the system to drop by a level
(4) Long development cycle and low efficiency: When expanding or adding new requirements, developers need to re-develop, compile, test, upload, configure, package, and deploy the system offline, which makes the development cycle very long and inefficient
(5) Difficult to maintain: System developers and technology applications may have iterated countless times, and the mutual calls and mutual coupling between codes in the system are also intricate. People who do not know the system well dare not act rashly
With more and more requirements and functions of the system, the team is getting bigger and bigger, and the corresponding communication costs, development costs, and management costs will increase exponentially. When the system has defects, it will also cause analysis problems, positioning problems, and repair problems The time is longer; as the amount of code increases, it may also lead to a vicious cycle of "more fixes, more defects"; a small change in the system requires redeployment of the entire application system
(6) Development language limitations: If the application system is developed in a certain language, it must be extended with this language when it needs to be expanded again, and it is impossible to try a new programming language or framework. It is currently impossible to use one in reality. Technology platform or solution to solve all problems
(7) High hardware cost and difficult horizontal expansion: All program codes are in the same process of the server, which will lead to difficult horizontal expansion and high cost, because different module functions in the system actually have different requirements on the server. Some are CPU-intensive computer types, which require a CPU processor with strong performance, and some require memory IO-intensive types, which require a large amount of memory for data caching. If the server infrastructure required by the system is purchased according to the same standard, the hardware cost will be very high
Multiple developers jointly develop a system and need to wait for other developers to complete it before deploying, which greatly reduces the team's flexibility and function delivery frequency; (11) In addition, when the project opens and runs very slowly, the system is difficult to develop and test , Difficulty in continuous integration, complex deployment environment dependencies, technology stack binding, programming language, framework, database upgrade and replacement are very difficult, etc.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method for dynamically intercepting and extending functions of systems by means of multi-language cloud compiling
  • Method for dynamically intercepting and extending functions of systems by means of multi-language cloud compiling
  • Method for dynamically intercepting and extending functions of systems by means of multi-language cloud compiling

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0060] The present invention will be described in further detail below in conjunction with the accompanying drawings and embodiments. The following examples are used to illustrate the present invention, but should not be used to limit the scope of the present invention.

[0061] A method for implementing system dynamic function interception extension through multilingual cloud compilation, said method comprising the following steps:

[0062] S1. According to business requirements, identify the corresponding interception tag on the method that needs to be extended;

[0063] S2. For each interception tag, add a business logic interception code corresponding to the system function that needs to be expanded; wherein the business logic interception code is used to realize the system function that needs to be expanded;

[0064] S3. When compiling locally, add and compile the interception device code at the corresponding position according to the interception tag, wherein the interc...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

The invention discloses a method for dynamically intercepting and extending functions of systems by means of multi-language cloud compiling. Business interception codes can be compiled and executed by the aid of interception tags. The method particularly includes detecting whether extension and interception are available or not and determining codes of interception devices if the extension and interception are available; searching corresponding examples from memories by the aid of the codes of the interception devices and invoking and operating the corresponding examples by the aid of multi-language dynamic script execution engines; generating corresponding examples by means of compiling by the aid of corresponding script compiling engines according to language types of the codes of the interception devices if the corresponding examples are unavailable. The method has the advantages that the codes of the interception devices can be compiled by means of multi-language cloud compiling when the systems are operated, compiled codes can be directly introduced and operated without influence on the previous codes, accordingly, dynamic script engine systems can be implemented, the functions of the systems can be dynamically intercepted and extended, and the functional extension flexibility, openness, maintainability and scalability of the systems can be improved.

Description

technical field [0001] The present invention relates to the field of software dynamic expansion, and more specifically relates to a method for implementing system dynamic function interception and expansion through multi-language cloud compilation. Background technique [0002] With the rapid development of science and technology and the continuous improvement of social informatization, the application of computers has penetrated into all fields of society. The competition among enterprises and the diverse customer needs have led to the increasingly large and complex enterprise application software systems. . Customers' individual requirements for software systems change frequently, and at the same time require a short development cycle. In reality, it is difficult for common standardized products to meet customers' complex business needs. After the system has been developed, it has met the needs of users. However, when users continue to put forward new requirements, the or...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(China)
IPC IPC(8): G06F9/445G06F9/44
Inventor 闫观涛刘生权张庆化熊品卿徐东
Owner BEIJING BEISEN CLOUD COMPUTING CO LTD
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products