Abstract: Xu Ye has rich experience in application architecture, Internet of things and other aspects, looking back at the past 20 years of work experience, he said that the development of application system is a continuous “cloud” process.
At present, a new round of scientific and technological revolution led by digital technology is accelerating, and the process of digitalization has been accompanied by the development of the Internet. Under the dual pressure of national policies and market demand, enterprises’ online cloud has become a new breakthrough for digital transformation and upgrading, and more and more enterprises choose to create maximum value through online cloud.
Xu Ye, who has rich experience in application architecture, Internet of Things and other aspects, looked back at the past 20 years of work experience, he said that the development of application system is a continuous “cloud” process. The “cloud” mentioned here is not only the cloud of information application system, but the process of integrating application system technology and business architecture with cloud computing platform, and serves to promote the development of the industry. In three representative projects, he describes his approach to the “cloud” of applications.
Cloud road 1: visual parallel declaration + real-time tax transfer, jiangsu province prefecture-level city application system for nearly 10 years
In 2001, Wuxi Yixing National Tax Bureau launched the electronic declaration project, which enables taxpayers to fill in and submit tax returns through the software of the machine. The tax bureau receives the declaration data for automatic declaration, automatically transfers tax after success, and feeds the relevant results to taxpayers. The project has two technical highlights: one is visual parallel declaration, the other is real-time tax transfer.
Before we launch visualization parallel to declare, at that time in the industry have implemented the electronic declaration after the end of the service, not only is through regular scanning tax declaration, serial processing data files to and tend to peak time for taxpayers to wait more than 2 hours is declared as a result, the handler also did not monitor the state of the interface, is only the log records.
Dynamic data display component and thread manager component are realized in the project, and the data of processed declaration, successful number, number to be declared and taxpayer data being declared can be clearly seen on the visual parallel declaration monitoring interface. This is similar to many large screen monitoring functions now. Because at that time all the declaration data are data files and database for operation, and disk I/o and waiting for database processing will spend a lot of time, so through the thread manager makes reasonable number of threads in parallel processing, declare efficiency have multiples, peak taxpayers to await the outcome of declaration time also significantly reduced.
The real-time transfer function was proposed during the initial discussion of the project, which was quite innovative at that time. We should know that there was no tax bank networking agreement at that time, and the three banks in cooperation, Boc, ICBC and CCB, made reports until the head office approved them. At that time, ALTHOUGH I just started working, I was relatively familiar with the network protocol, and my graduation project had won the excellent paper of the school, so I was confident to undertake this task. This function finally realized docking with three banks through thread management component and synchronous SOCKET. After successful declaration, it could provide second-level tax payment. After successful launch, it was highly recognized by customers.
In the following years, the software system developed by the project was implemented in most prefecture-level cities in Jiangsu Province, and the tax bank agreement was developed. It was not until 2011, when the national TIPS system was launched, that it was gradually replaced with the new hardware encryption third-party transfer system.
Cloud road 2: invoice storage + multi-server balancing, as the reference of the State Administration of Taxation
In 2008, the company launched the online invoice project. The main function of the project is to automatically obtain the information of invoices received and purchased by the invoicing party, and then issue and print invoices online or offline. The data will be automatically sent to the tax bureau server for tax comparison and tax analysis. The project mainly focuses on the general VAT invoice, which involves a wide range of taxpayers and faces. At that time, there were nearly 320,000 enterprises in Jiangsu province alone, and the annual invoice consumption was nearly 4 billion. There are two technical highlights in the project: one is invoice storage; The second is multi-server balancing.
In the past, for the invoice storage of different templates, corresponding tables were usually used for different types of invoices, and for the invoice details, the main table and attached table were used to maintain consistency, so there was great pressure on the database. Project in order to solve this problem, the stored with the method of the microstructure, the invoice of a record is divided into three zones, storage invoice main pole, detail main stem and microstructure, as shown in figure 1, this greatly decreasing the demand for database consistency, and increased the capacity of some of the application server, and the capacity of the application server can expand the server to solve, For this reason, the relevant technical invention patent has been obtained, and this microstructure can be widely used, especially in the framework of application server which is relatively easy to expand.
Figure 1
The parallel processing of multiple application servers was also applied in the middle and late period of the original electronic declaration project, but at the beginning, a NetEqualizer equalizer was written with C# asynchronous Socket to provide the parallel processing of multiple application servers, but the stability was not very good at peak time; This project is changed to NGINX and F5. As F5 is hardware, with at least 200,000 RMB per unit and only a few customers have it, the main push is NGINX. The stability has also withstood the test, especially on Linux. At that time, I was deeply impressed by the earlier version of NGINX, such as breakpoint continuation, such functions were not supported until 1.2 and later versions. For this, I also organized a special technical research team, and even read and modify part of the NGINX source code to solve the problem. Later, in order to further reduce the single point of failure, Lvs. DR was introduced to support more large-scale concurrency, and a combinatorial equalization scheme was proposed, as shown in Figure 2, and relevant technical invention patents were obtained.
Figure 2
Later, the application system of the project was promoted in Jiangsu province in 2010, which was the first province in China to promote online invoice, providing a basis for the State Administration of Taxation to issue Online Invoice Management Measures in 2013.
The road to cloud: Platform applications embrace cloud services
In 2016, Xu Ye set up a new team to build a digital display terminal broadcast control cloud platform based on LED screen, and on this basis, designed an Internet platform through the upstream and downstream of the industry — iLEDCloud cloud platform. In this process, we formally cooperated with IAAS vendors for the first time, which improved three aspects of technology from previous projects: microservices architecture, high-speed NIO, and secure business architecture.
Microservice architecture is to divide a platform into many sub-services as required. The whole platform is built based on JMS bus and three-tier storage, which is customized to JMS services and provides sub-service status monitoring and automatic back source. Based on this capability, the platform WEB front-end editing and editing can be real-time visualization of the data on the associated terminal devices, greatly enhancing customer experience; Three-level storage refers to the local server memory, LAN cache service and database service, aiming at the balance between task execution efficiency and service downtime. Usually, a task is bound to one service execution, and in most normal cases, the task can be completed with minimal cost. At the same time, when a single service goes down, similar services on other servers can recreate the task and perform it at design cost.
Figure 3
As shown in Figure 3, under this architecture, there are more than 20 services from a single service in 2017, and they will be split or added continuously with the development of the platform. Microservices are inevitable for cloud computing platforms. Originally, cloud computing platforms allow scalable adaptation of resources, and resources required by each module in a platform are different. In this case, different adaptation resources can be provided for each micro-service by separating them into micro-services, which is a further improvement of adaptation resources.
High speed NIO refers to efficient asynchronous network connections and data processing. Due to the need for real-time control of each digital display terminal, and the display content is usually video or picture, and the amount of data is large, it is important to optimize the efficient connection management. NIO is fully used in this project, including terminal connection protocol and FTP of file data transmission, by setting the following two points: one is to disable delay code in data processing thread code; Second, data processing is mainly protocol analysis and assembly, the other time-consuming business code as far as possible to separate or designed as asynchronous processing. The optimized code can easily support several thousand terminals in the case of single core. At the same time, most of the code of FTP file transfer service is rewritten, so that it can not only support the security requirements of one secret and virtual directory, but also meet the efficient transmission and speed control under the single thread.
As the Internet information release platform, security is very important, the project is also the local network security key inspection unit. For the first time in the industry, the project put forward the global security architecture before, during and after the event, and integrated the user operation risk factor with the platform, forming a relatively complete security business architecture. The firewall also implements the function of intrusion detection (IDS) for connection protocol, and can block the source IP address of illegal connection in the pre-step. The platform received a high score of over 86 points in the third-level reevaluation of the National Insurance system this year. So far, the platform has nearly 3,000 registered users and more than 10,000 online screens.
Join hands with Huawei cloud and march toward a new journey of “cloud”
In 2019, through the cooperation between huawei Cloud and local governments, Huawei Cloud provides comprehensive support to software r&d enterprises and has rich R&D and testing tools. Huawei Cloud is the pioneer of “cloud” in the r&d and testing field at present. Based on huawei cloud ESC host, we set the iLEDCloud Internet test environment, through the white list mechanism, make our Shanghai terminal equipment research and development of cloud platform testing, kunshan terminal equipment production cloud platform and suzhou cloud platform research and development testing, can be implemented on a platform, not only save the resources, and improve the efficiency of the cross-regional test.
Enterprise cloud is an important path for enterprises to comply with the development trend of digital economy, speed up digital, network and intelligent transformation, and improve innovation ability, business strength and development level. It is not difficult to find in xu Ye’s three project experiences that the growth of “cloud” can be reflected in the process from single-process and multi-threading to multi-server, and then to micro-service, from synchronous processing to multi-level asynchronous processing, from self-built service to integrated third-party service, and from computer room to IAAS supplier. If the convergence of similar functions is called hybrid cloud, and the convergence of upstream and downstream of the industry is called ecological cloud, then hybrid cloud and ecological cloud are the next development goal of “cloud”, Xu Ye also hopes to continue to work together with huawei Cloud and other high value-added partners on the road of “cloud”.
Click to follow, the first time to learn about Huawei cloud fresh technology ~