Platform design method capable of independently operating
By introducing high-availability master-subsidy frameworks and cross-thread communication pipelines in the software system, the software can load and unload services without closing the process, solving the problems of resource waste and startup failure in the existing technology, and improving operation and maintenance efficiency and work efficiency.
Patent Information
- Application Number
- CN202411571466.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-01-10
AI Technical Summary
The existing software system needs to stop the software and replace the configuration and parameter files during business switching or upgrading, resulting in waste of resources and failure in startup, especially in high-load financial software systems that consume significantly.
A platform that can be run independently is designed. Through a highly available master-subsidy framework and cross-thread communication pipeline, the software can load and uninstall services without closing processes, dynamically change business services, reduce the need for resource restarts, and improve the Operation and maintenance efficiency.
It realizes that the software upgrades and configuration changes without closing the process, avoids resource conflicts and restart failures, improves work efficiency, simplifies operation and maintenance work, and reduces the time-consuming business upgrade.
Smart Images

Figure HDA0005120565580000011 
Figure HDA0005120565580000012 
Figure HDA0005120565580000013
Abstract
Description
Technical Field
[0001] The present invention relates to the field of software systems, and in particular to a method for designing a platform capable of running independently. Background Art
[0002] When the existing software system performs business switching or business upgrade, it usually adopts the following methods: first stop the software, replace the business-related configuration and parameter files, or even replace the entire software program, and finally restart the program to achieve the purpose of business switching or upgrading; Problem 1: Due to the continuous development of the domestic futures market, the number of orders processed by DCE7.0 (DCE Core Trading System 7.0) increases day by day, and the daily processing volume peak has reached more than 40 million. TS (Trading Service) is the core module of DCE7.0. It is a process built on a platform that can run independently. It stores a large amount of data and needs to apply to the operating system for and initialize hundreds of GB of memory space, resulting in the need to apply to the operating system for memory, network ports, and sentences when the software is restarted. The construction of these resources takes time. When the operating system resources are tight, there may even be application failures, which eventually leads to software startup failure. In a clustered software system, the operation and maintenance personnel need to check the resource application status of the restart process one by one, which consumes manpower and material resources. Problem 2: When only business services need to be switched or business upgrades need to be made, the entire software process needs to be shut down, the business-related configurations and parameters need to be replaced, and then restarted. This is equivalent to releasing the operating system resources that have been applied for and applying again after restarting. Objectively, this is a waste of manpower and material resources. In the event of emergency business upgrades, especially in upgrade scenarios such as financial software systems that require every second to be upgraded, these consumed manpower and material resources are extremely precious.
[0003] In the present invention, the business middleware (VM) provides a running platform for the business code, and the business layer does not need to care about the specific communication protocol and thread management of the underlying layer. VM implements the classic Communication Sequential Process (CSP) concurrency model and communicates through pipelines. References:
[0004] "Communication Sequential Process" paper author: CAR Hoare The Queen's University Belfast, Northern Ireland Publication date: Communications August 1978 of Volume 21 the ACM Number 8.
[0005] Libraries can be divided into two types: static libraries and dynamic libraries: Dynamic libraries, function: when the program is running, the library is loaded into the program, and external function libraries are required when running. Directory: default dynamic library search path / lib; / usr / lib, suffix: libxxx.so, naming convention: the name of the dynamic library is generally libxxxx.so.major.minor, xxxx is the name of the lib, major is the major version number, and minor is the minor version number. The main purpose of using libraries is to improve the reusability and maintainability of the code, reduce the workload of developers, and make the program more modular and easy to expand. The libraries used in this system include: standard libraries (such as C standard libraries and C++ standard libraries). The operating system generally installs the C standard library and C++ standard library by default. If they are not installed, they can be installed manually. Taking the Linux system as an example, the installation command is: "sudo apt-get install libstdc++6", custom libraries (libraries with specific functions written according to project requirements). This system uses the API library released by Dalian Futures Commodity Exchange: The download address is as follows:
[0006] http: / / www.dce.com.cn / dalianshangpin / ywfw / ywzy / jsfwzy / jszl / jkgfjwd / 2024631 / 2023010616242776430.zip.
[0007] The platform's high-availability active-standby framework HAF: encapsulates the active-standby synchronization logic, the cluster's internal node data receiving function, data queuing function, data synchronization and other functions. The data flow is as follows: Data receiving process: Receive various RMP (reliable multicast, see below) data and save the data to memory. Data queuing process: All RMP data are uniformly numbered and queued, and saved to disk. Data synchronization function: The queued data is sent to the backup process through RMP (reliable multicast). After the backup process receives the queued data, it replies with the receiving sequence number. After HAF receives the sequence number replied by the backup process, it can be considered that all data less than this sequence number has been backed up. Through this design, the data of all modules in the cluster can be consistent, achieving the purpose of high data availability (if a module in the cluster fails, other modules can take over the work, and the data is not wrong).
[0008] Reliable Multicast (RMP): There are three ways to send messages in the network: unicast, broadcast and multicast. When unicast is used for transmission, the server will transmit a separate message for each receiver. If there are multiple receivers, multiple messages with the same content will be repeatedly transmitted on the network, which will occupy a lot of network resources. When data is transmitted by broadcast, the system will send the information to all users in the network at one time, regardless of whether they need it or not. Multicast completely overcomes the shortcomings of unicast and broadcast, realizes efficient data transmission from single point to multiple points in the network, can save a lot of network bandwidth and reduce network load. Since multicast is unreliable, a mechanism needs to be provided on the basis of multicast data transmission to ensure the reliability and orderliness of data, so as to realize the sequential and reliable transmission of data from the business layer of the sender to multiple receivers. Our company uses the self-developed patent: "A reliable multicast automatic ID allocation method and system" (patent publication number: CN111083248B) to realize reliable multicast (RMP will be used to refer to reliable multicast in the future). Summary of the invention
[0009] The purpose of the present invention is to solve the problem in the prior art that when software is restarted, it is necessary to apply to the operating system for resources such as memory, network ports, handles, etc., and the construction of these resources takes time. When the operating system resources are tight, there may even be a situation where the application fails, which ultimately leads to the failure of software startup. In a clustered software system, operation and maintenance personnel need to check the resource application status of the restart process one by one, which consumes manpower and material resources. When only business services need to be switched or business upgrades are required, the entire software process needs to be closed, and the business-related configurations and parameters need to be replaced before restarting, which is equivalent to releasing the operating system resources that have been applied for and applying again after restarting. Objectively, this is a wasteful behavior. In emergency business upgrades, especially in upgrade scenarios such as financial software systems that require every second to be upgraded, these consumed manpower and material resources are extremely precious.
[0010] In order to solve the above problems, the present invention proposes a platform design method that can be operated independently, and the specific steps are as follows:
[0011] S1, TS startup, specifically includes the following parts:
[0012] S1-1: Setting parameter information includes: reliable multicast RMP network IP address, listening port, cross-thread communication pipeline memory value, business data memory value, business thread number, HAF thread number, network communication thread number;
[0013] S1-2: The TS main thread builds network communication, cross-thread communication pipeline, and high-availability active-standby framework HAF_AP according to parameter information;
[0014] S1-3: After the high-availability active-standby framework HAF_AP is successfully created, the thread where the high-availability active-standby framework HAF is located notifies the TS main thread through the cross-thread communication pipeline, and the TS main thread performs the business middleware VM initialization;
[0015] S1-4: VM initialization work: VM creates business threads according to the number of business threads, and each business thread loads the corresponding logic dynamic library xxx.so (c++Library) to complete VM initialization;
[0016] S1-5: After VM initialization is completed, wait for the network to notify the transaction date;
[0017] S1-6: After TS obtains the transaction date through the network port, it loads the necessary business files required for the transaction from the specified directory according to the transaction date. The business thread builds the business database according to the memory occupied by the business data to complete the business initialization.
[0018] S1-7: After the service initialization is completed, it means that the TS is started and is in a working state. According to the parameter information at the time of startup, it enters the opening state at the specified opening time;
[0019] S2. TS unloads the old trading day business, which specifically includes the following parts:
[0020] S2-1: After TS completes the work of the trading day, it executes the market closing. After TS closes the market, it notifies TG of the market closing news through the network. After the market closes, TG rejects the submitted order request;
[0021] S2-2: TS main thread monitors the network port and waits for the network to notify the uninstallation message;
[0022] S2-3: The TS main thread receives the uninstallation notification and uses the cross-thread communication pipeline to notify each VM to clean up the business-related data: clean up the business data and status data, and uninstall the logic dynamic library xxx.so. After the VM is cleaned up, the multi-thread communication pipeline is used to notify the TS main thread;
[0023] S2-4: After receiving the notification that the business cleanup is complete, the TS main thread uses the multi-threaded communication pipeline to notify HAF: clean up the underlying data and restore it to the initial state. After HAF completes the cleanup, it uses the multi-threaded communication pipeline to notify the TS main thread;
[0024] S2-5: After receiving the HAF cleanup completion notification, the TS main thread outputs the key log of the uninstallation completion, that is, writes the key log to the log file;
[0025] S2-6: TS enters the unloaded state and can reload new trading day business;
[0026] S3 and TS load the new trading day business, which includes the following parts:
[0027] S3-1: TS is in the uninstalled state. The operation and maintenance personnel prepare the necessary business files required for the transactions on the new trading day. After the necessary files for the new trading day are deployed, TS is notified through the network.
[0028] S3-2: The TS main thread monitors the network port, receives the notification, and uses the multi-threaded communication pipeline to notify each VM to execute and load the corresponding logic dynamic library xxx.so to complete the initialization of the VM;
[0029] S3-3: After VM initialization is completed, wait for the network to notify the transaction date;
[0030] S3-4: TS monitors the network port, obtains the transaction date, and then loads the necessary business files required for the transaction from the directory corresponding to the transaction date. The business thread builds the business database according to the memory occupied by the business data configured in the startup parameters to complete the business initialization;
[0031] S3-5: After the business is completed, it means that the TS startup is completed and is in a working state. It can enter the opening state at the specified opening time according to the parameter information at the time of startup;
[0032] S4, dynamic upgrade of business logic, etc., specifically including the following parts:
[0033] S4-1: TS is started and in the open market state;
[0034] S4-2: When the TS service needs to be dynamically upgraded, the TS is notified through the network to execute and complete the uninstallation (the completion status of the uninstallation is checked through the key log of the log file);
[0035] S4-3: After the operation and maintenance personnel replace the xxx.so to be upgraded, they notify TS to execute the loading through the network;
[0036] S4-4: After receiving the loading notification, the TS main thread uses the multi-thread communication pipeline to notify each VM thread to execute the loading of the corresponding logic dynamic library xxx.so to complete the initialization of the VM;
[0037] S4-5: After VM initialization is completed, wait for the network to notify the transaction date;
[0038] S4-6: After TS receives the transaction date through the network, it loads the necessary business files required for the transaction from the directory corresponding to the transaction date according to the transaction date. The business thread builds the business database according to the memory occupied by the business data configured in the startup parameters to complete the business initialization.
[0039] In the preferred mode, the high-availability active-standby framework HAF implements the high-availability underlying logic of TS with one active and two hot standbys.
[0040] In the preferred mode, necessary business documents include: trading products carried by the trading system: soybean meal, eggs, pork; futures contract opening price: soybean meal contract opening price information; and trading seat information: account information connected to the trading system for trading.
[0041] Preferably, TG is the transaction gateway.
[0042] The present invention can achieve the following beneficial effects: the present invention provides the function of remotely loading and unloading services without shutting down the transaction system, and has the following characteristics: the underlying technology (network communication, memory construction, disk reading and writing, thread start and stop, and inter-thread communication and other functions) is separated from the upper-level services, and the platform can run independently from the services, and after receiving the instructions to load the services, the configuration and parameters of the services are loaded to make the software workable; after receiving the instructions to unload the services, the platform can clean up the business-related data and restore to the state before loading the services while keeping the platform running, thereby realizing dynamic changes in business services without shutting down the process, reducing the time consumption of business upgrades, simplifying operation and maintenance work, and realizing the reuse of the underlying platform resources during the software business upgrade process in terms of design, so that the software does not need to be restarted, thereby avoiding the restart failure caused by conflicts or competition for system resources such as memory, ports, and handles when the software is restarted, thereby improving work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 It is a schematic diagram of business loading and unloading;
[0044] Figure 2 This is a schematic diagram of the underlying isolation design between business and technology;
[0045] Figure 3 The platform starts loading the business process diagram;
[0046] Figure 4 It is the platform uninstallation business process diagram;
[0047] Figure 5 It is a schematic diagram of the definition of technical terms in the present invention. DETAILED DESCRIPTION
[0048] Embodiment 1:
[0049] like Figure 1 , Figure 2 , Figure 3 , Figure 4 As shown, the present invention provides a platform design that can be operated independently, and the specific steps are as follows:
[0050] TS is the core module of DCE7.0, responsible for futures matching, front-end and back-end risk control and other key logics. TS is a process built using this "platform". The following uses the scenarios and steps of loading trading day data, unloading old trading day data, loading new trading day data, and dynamic upgrade of business logic when TS is running without closing the program to introduce the effectiveness of this "platform" in improving operation and maintenance efficiency.
[0051] S1. TS is started. The TS is a transaction service, which specifically includes the following parts:
[0052] S1-1: When starting, the main thread creates the high-availability active-standby framework HAF of the platform, and the HAF implements the high-availability underlying logic of TS with one active and two hot standbys;
[0053] S1-2: During the HAF creation process, the underlying data such as memory, network communication, cross-thread communication pipelines, files, etc. required for TS operation will be built according to the information set in the configuration file.
[0054] S1-3: After HAF is successfully initialized, it will notify the TS main thread, and the TS main thread will execute the initialization of the Feichuang business middleware VM. The VM is used to implement the TS business logic and isolate the underlying hardware, communication, disk management and other technologies, so that they can achieve decoupling at the architectural level;
[0055] S1-4: VM initialization work: VM establishes separate logic threads for transaction matching, pre-transaction risk control, and post-transaction risk control according to the configuration information. Each logic thread loads the corresponding logic dynamic library xxx.so to complete the initialization of the business layer;
[0056] S1-5: After the business layer is initialized, wait for the control tool to notify the transaction date.
[0057] S1-6: After the transaction date arrives, the business goes to the business directory to load the initialization files required for the transaction according to the transaction date, builds the business orchestration engine, builds the business database, and imports the initialization data.
[0058] S1-7: After the trading day initialization file is loaded successfully, it means that the TS startup is completed and is in a working state. It can enter the opening state at the specified opening time according to the configuration file;
[0059] S2. TS unloads the old trading day business, which specifically includes the following parts:
[0060] S2-1: After TS completes the work of the trading day, it executes the market closing. After TS closes the market, it will notify the TG of the market closing message. The TG is the trading gateway. The trading gateway rejects the order request submitted after the market closing;
[0061] S2-2: TS main thread waits to receive the uninstallation notification sent by the "control tool"
[0062] S2-3: After receiving the uninstallation notification, the TS main thread uses the multi-threaded communication pipeline to notify each VM thread to clean up the business-related data: clean up the business data, status data, uninstall the business dynamic library xxx.so, etc. After each VM thread has finished cleaning, it uses the multi-threaded communication pipeline to notify the TS main thread;
[0063] S2-4: After receiving the notification that all VM threads have completed business cleanup, the TS main thread uses the multi-thread communication pipeline to notify each HAF thread: clean up the underlying data and restore it to the initial state. After each HAF thread has completed cleanup, it uses the multi-thread communication pipeline to notify the TS main thread;
[0064] S2-5: After receiving the notification that all HAF threads have been cleaned up, the TS main thread outputs the key log of the completion of the uninstallation and notifies the control tool;
[0065] S2-6: At this point, TS enters the unloaded state and can reload new trading day business;
[0066] S3 and TS load the new trading day business, which includes the following parts:
[0067] S3-1: TS is in the uninstalled state. The operation and maintenance personnel prepare the initialization file for the new trading day and distribute it to the business.
[0068] S3-2: The TS main thread waits to receive the loading notification sent by the control tool.
[0069] S3-3: After receiving the loading notification, the TS main thread uses the multi-threaded communication pipeline to notify each VM thread to execute the loading of the corresponding logical dynamic library xxx.so to complete the initialization of the business.
[0070] S3-4: After business initialization is completed, wait for the control tool to notify the transaction date.
[0071] S3-5: After the transaction date arrives, the business goes to the business directory to load the initialization files required for the transaction according to the transaction date, builds the business orchestration engine, builds the business database, and imports the initialization data.
[0072] S3-6: After the trading day initialization file is loaded successfully, it means that the TS startup is completed and is in a working state. It can enter the opening state at the specified opening time according to the configuration file;
[0073] S4, dynamic upgrade of business logic, etc., specifically including the following parts:
[0074] S4-1: TS is started and in the open market state;
[0075] S4-2: When the TS service needs to be dynamically upgraded, the control tool is used to complete the uninstallation of the TS and enter the uninstalled state;
[0076] S4-3: After the operation and maintenance personnel replace the xxx.so to be upgraded, they use the control tool to notify TS to execute the loading;
[0077] S4-4: After receiving the loading notification, the TS main thread uses the multi-threaded communication pipeline to notify each VM thread to execute the loading of the corresponding logic dynamic library xxx.so to complete the initialization of the business;
[0078] S4-5: After business initialization is completed, wait for the control tool to notify the transaction date;
[0079] S4-6: After the transaction date arrives, the business loads the initialization files required for the transaction from the business directory according to the transaction date, builds the business orchestration engine, builds the business database, and imports the initialization data;
[0080] S4-7: TS performs inversion and re-inverts the orders that have been traded on the day. When the inversion is completed, it means that the business dynamic upgrade has been completed.
[0081] Embodiment 2:
[0082] S1, TS startup, specifically includes the following parts:
[0083] S1-1: Setting parameter information includes: reliable multicast RMP network IP address, listening port, cross-thread communication pipeline memory value, business data memory value, business thread number, HAF thread number, network communication thread number;
[0084] S1-2: The TS main thread builds network communication, cross-thread communication pipeline, and high-availability active-standby framework HAF_AP according to parameter information;
[0085] S1-3: After the high-availability active-standby framework HAF_AP is successfully created, the thread where the high-availability active-standby framework HAF is located notifies the TS main thread through the cross-thread communication pipeline, and the TS main thread performs the business middleware VM initialization;
[0086] S1-4: VM initialization work: VM creates business threads according to the number of business threads, and each business thread loads the corresponding logic dynamic library xxx.so (c++Library) to complete VM initialization;
[0087] S1-5: After VM initialization is completed, wait for the network to notify the transaction date;
[0088] S1-6: After TS obtains the transaction date through the network port, it loads the necessary business files required for the transaction from the specified directory according to the transaction date. The business thread builds the business database according to the memory occupied by the business data to complete the business initialization.
[0089] S1-7: After the service initialization is completed, it means that the TS is started and is in a working state. According to the parameter information at the time of startup, it enters the opening state at the specified opening time;
[0090] S2. TS unloads the old trading day business, which specifically includes the following parts:
[0091] S2-1: After TS completes the work of the trading day, it executes the market closing. After TS closes the market, it notifies TG of the market closing news through the network. After the market closes, TG rejects the submitted order request;
[0092] S2-2: TS main thread monitors the network port and waits for the network to notify the uninstallation message;
[0093] S2-3: The TS main thread receives the uninstallation notification and uses the cross-thread communication pipeline to notify each VM to clean up the business-related data: clean up the business data and status data, and uninstall the logic dynamic library xxx.so. After the VM is cleaned up, the multi-thread communication pipeline is used to notify the TS main thread;
[0094] S2-4: After receiving the notification that the business cleanup is complete, the TS main thread uses the multi-threaded communication pipeline to notify HAF: clean up the underlying data and restore it to the initial state. After HAF completes the cleanup, it uses the multi-threaded communication pipeline to notify the TS main thread;
[0095] S2-5: After receiving the HAF cleanup completion notification, the TS main thread outputs the key log of the uninstallation completion, that is, writes the key log to the log file;
[0096] S2-6: TS enters the unloaded state and can reload new trading day business;
[0097] S3 and TS load the new trading day business, which includes the following parts:
[0098] S3-1: TS is in the uninstalled state. The operation and maintenance personnel prepare the necessary business files required for the transactions on the new trading day. After the necessary files for the new trading day are deployed, TS is notified through the network.
[0099] S3-2: The TS main thread monitors the network port, receives the notification, and uses the multi-threaded communication pipeline to notify each VM to execute and load the corresponding logic dynamic library xxx.so to complete the initialization of the VM;
[0100] S3-3: After VM initialization is completed, wait for the network to notify the transaction date;
[0101] S3-4: TS monitors the network port, obtains the transaction date, and then loads the necessary business files required for the transaction from the directory corresponding to the transaction date. The business thread builds the business database according to the memory occupied by the business data configured in the startup parameters to complete the business initialization;
[0102] S3-5: After the business is completed, it means that the TS startup is completed and is in a working state. It can enter the opening state at the specified opening time according to the parameter information at the time of startup;
[0103] S4, dynamic upgrade of business logic, etc., specifically including the following parts:
[0104] S4-1: TS is started and in the open market state;
[0105] S4-2: When the TS service needs to be dynamically upgraded, the TS is notified through the network to execute and complete the uninstallation (the completion status of the uninstallation is checked through the key log of the log file);
[0106] S4-3: After the operation and maintenance personnel replace the xxx.so to be upgraded, they notify TS to execute the loading through the network;
[0107] S4-4: After receiving the loading notification, the TS main thread uses the multi-thread communication pipeline to notify each VM thread to execute the loading of the corresponding logic dynamic library xxx.so to complete the initialization of the VM;
[0108] S4-5: After VM initialization is completed, wait for the network to notify the transaction date;
[0109] S4-6: After TS receives the transaction date through the network, it loads the necessary business files required for the transaction from the directory corresponding to the transaction date according to the transaction date. The business thread builds the business database according to the memory occupied by the business data configured in the startup parameters to complete the business initialization.
[0110] The high-availability active-standby framework HAF implements the high-availability underlying logic of TS with one active and two hot standbys.
[0111] Necessary business documents include: the trading products carried by the trading system: soybean meal, eggs, pork; the opening price of futures contracts: the opening price information of soybean meal contracts; and the trading seat information: the account information connected to the trading system for trading.
[0112] TG is a trading gateway.
[0113] The above description is only a preferred specific implementation manner of the present invention, but the protection scope of the present invention is not limited thereto. Any technician familiar with the technical field can make equivalent replacements or changes according to the technical scheme and inventive concept of the present invention within the technical scope disclosed by the present invention, which should be covered by the protection scope of the present invention.
Claims
1. A method for designing an independently operable platform, characterized in that: The following steps are involved: S1, TS startup, specifically includes the following parts: S1-1: Setting parameter information includes: reliable multicast RMP network IP address, listening port, cross-thread communication pipeline memory value, business data memory value, business thread number, HAF thread number, network communication thread number; S1-2: The TS main thread builds network communication, cross-thread communication pipeline, and high-availability active-standby framework HAF_AP according to parameter information; S1-3: After the high-availability active-standby framework HAF_AP is successfully created, the thread where the high-availability active-standby framework HAF is located notifies the TS main thread through the cross-thread communication pipeline, and the TS main thread performs the business middleware VM initialization; S1-4: VM initialization work: VM creates business threads according to the number of business threads, and each business thread loads the corresponding logic dynamic library xxx.so (c++Library) to complete VM initialization; S1-5: After VM initialization is completed, wait for the network to notify the transaction date; S1-6: After TS obtains the transaction date through the network port, it loads the necessary business files required for the transaction from the specified directory according to the transaction date. The business thread builds the business database according to the memory occupied by the business data to complete the business initialization. S1-7: After the service initialization is completed, it means that the TS is started and is in a working state. According to the parameter information at the time of startup, it enters the opening state at the specified opening time; S2. TS unloads the old trading day business, which specifically includes the following parts: S2-1: After TS completes the work of the trading day, it executes the market closing. After TS closes the market, it notifies TG of the market closing news through the network. After the market closes, TG rejects the submitted order request; S2-2: TS main thread monitors the network port and waits for the network to notify the uninstallation message; S2-3: The TS main thread receives the uninstallation notification and uses the cross-thread communication pipeline to notify each VM to clean up the business-related data: clean up the business data and status data, and uninstall the logic dynamic library xxx.so. After the VM is cleaned up, the multi-thread communication pipeline is used to notify the TS main thread; S2-4: After receiving the notification that the business cleanup is complete, the TS main thread uses the multi-threaded communication pipeline to notify HAF: clean up the underlying data and restore it to the initial state. After HAF completes the cleanup, it uses the multi-threaded communication pipeline to notify the TS main thread; S2-5: After receiving the HAF cleanup completion notification, the TS main thread outputs the key log of the completion of uninstallation, that is, writes the key log to the log file; S2-6: TS enters the unloaded state and can reload new trading day business; S3 and TS load the new trading day business, which includes the following parts: S3-1: TS is in the uninstalled state. The operation and maintenance personnel prepare the necessary business files required for the transactions on the new trading day. After the necessary files for the new trading day are deployed, TS is notified through the network. S3-2: The TS main thread monitors the network port, receives the notification, and uses the multi-threaded communication pipeline to notify each VM to execute and load the corresponding logic dynamic library xxx.so to complete the initialization of the VM; S3-3: After VM initialization is completed, wait for the network to notify the transaction date; S3-4: TS monitors the network port, obtains the transaction date, and then loads the necessary business files required for the transaction from the directory corresponding to the transaction date. The business thread builds the business database according to the memory occupied by the business data configured in the startup parameters to complete the business initialization; S3-5: After the business is completed, it means that the TS startup is completed and is in a working state. It can enter the opening state at the specified opening time according to the parameter information at the time of startup; S4, dynamic upgrade of business logic, etc., specifically including the following parts: S4-1: TS is started and in the open market state; S4-2: When the TS service needs to be dynamically upgraded, the TS is notified through the network to execute and complete the uninstallation (the completion status of the uninstallation is checked through the key log of the log file); S4-3: After the operation and maintenance personnel replace the xxx.so to be upgraded, they notify TS to execute the loading through the network; S4-4: After receiving the loading notification, the TS main thread uses the multi-thread communication pipeline to notify each VM thread to execute the loading of the corresponding logic dynamic library xxx.so to complete the initialization of the VM; S4-5: After VM initialization is completed, wait for the network to notify the transaction date; S4-6: After TS receives the transaction date through the network, it loads the necessary business files required for the transaction from the directory corresponding to the transaction date according to the transaction date. The business thread builds the business database according to the memory occupied by the business data configured in the startup parameters to complete the business initialization.
2. The method for designing an independently operable platform according to claim 1, characterized in that: The high-availability active-standby framework HAF implements the high-availability underlying logic of TS with one active and two hot standbys.
3. The method for designing an independently operable platform according to claim 1, characterized in that: Necessary business documents include: the trading products carried by the trading system: soybean meal, eggs, pork; the opening price of futures contracts: the opening price information of soybean meal contracts; and the trading seat information: the account information connected to the trading system for trading.
4. The method for designing an independently operable platform according to claim 1, characterized in that: TG is a trading gateway.
Citation Information
Patent Citations
A reliable method and system for automatic multicast ID allocation
CN111083248B