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

Method and system for realizing dynamic expansion and replacement of system functions by multi-language cloud compilation

A technology that implements system and dynamic expansion. It is applied in code compilation, program code conversion, user interface execution, etc. It can solve problems such as difficult system development, reduced code reuse rate, and difficult horizontal expansion, and achieves extensive practical significance and reduces repetitive code. Writing, increasing the effect of reusability

Active Publication Date: 2019-10-25
BEIJING BEISEN CLOUD COMPUTING CO LTD
View PDF9 Cites 0 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 and system for realizing dynamic expansion and replacement of system functions by multi-language cloud compilation
  • Method and system for realizing dynamic expansion and replacement of system functions by multi-language cloud compilation
  • Method and system for realizing dynamic expansion and replacement of system functions by multi-language cloud compilation

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0056] 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.

[0057] A method for realizing dynamic expansion and replacement of system functions through multilingual cloud compilation, said method comprising the following steps:

[0058] S1. According to business requirements, identify the corresponding interception tag on the method that needs to be extended; wherein, multiple interception tags can be added to the same method;

[0059] S2. For each interception tag, add the business logic interception code corresponding to the system function that needs to be expanded; wherein the business logic interception code code includes the following information: the language type used by the code, the extended interception code segment, and the purpose of the extended intercep...

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 and system for achieving system function dynamic extension and replacement through multi-language cloud compilation. According to interception labels, service logic interception codes corresponding to to-be-extended system functions are stored in a script storage library; interception device codes are compiled at corresponding position adding places according to the interception labels during local compiling, and corresponding service logic interception codes are compiled and run through cloud compilation according to the interception device codes. The corresponding service logic interception codes can be added online in real time according to service requirements, and therefore the service logic interception codes can be directly introduced and run after being compiled through cloud compilation during system running, previous codes are not influenced at all, a dynamic script engine system is obtained, system function dynamic interception extension is then achieved, and the flexibility, openness, maintainability and scalability of system function extension are improved.

Description

technical field [0001] The present invention relates to the field of software dynamic expansion, and more specifically relates to a method and system for realizing dynamic expansion and replacement of system functions 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 requireme...

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 Patents(China)
IPC IPC(8): G06F8/41G06F9/451
CPCG06F8/41G06F9/454
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