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

Multilingual cloud compiling method and system for achieving dynamic interception and extension of system functions

A technology for realizing system and system functions, applied in the field of dynamic interception and expansion of system functions, can solve problems such as reducing code reuse rate, difficult system development, and burden, and achieve the effect of improving reusability, extensive practical significance, and improving cooperation

Active Publication Date: 2017-01-04
BEIJING BEISEN CLOUD COMPUTING CO LTD
View PDF6 Cites 17 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
[0011] 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
  • Multilingual cloud compiling method and system for achieving dynamic interception and extension of system functions
  • Multilingual cloud compiling method and system for achieving dynamic interception and extension of system functions
  • Multilingual cloud compiling method and system for achieving dynamic interception and extension of system functions

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

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

[0056] A method for realizing dynamic interception and extension of system functions through multilingual cloud compilation, said method comprising the following steps:

[0057] S1. According to business requirements, identify the corresponding interception tag on the method that needs to be extended; wherein, the information of the interception tag includes whether to introduce the business logic interception code and the interception position; the interception position is interception before the method, interception after the method, or Method interception before and after;

[0058] S2. Before compiling the project, determine the interception tag corresponding to the system function that needs to be expand...

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 multilingual cloud compiling method and system for achieving dynamic interception and extension of system functions. According to business requirements, a method needing to be extended is marked with an interception label; before an item is compiled, target interception labels corresponding to the system functions needing to be extended are screened; then, for the method marked with the target interception labels, during local compiling, a compiling interception device code is added at the corresponding position according to the target interception labels, and then according to the interception device code, a corresponding business logic interception code is compiled through cloud compiling and runs. By means of the multilingual cloud compiling method and system, the business logic interception code can be dynamically and remotely added in real time through the interception labels according to the business requirements, and therefore during system running, the business logic interception code is compiled through cloud compiling and then is directly introduced and runs, previous codes are not influenced, a dynamic scrip engine system is achieved, then, dynamic interception and extension of the system functions are achieved, and flexibility, openess, maintainability and scalability of extension of the system functions 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 interception and expansion 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 requirem...

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/45
CPCG06F8/41G06F8/656
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