A method for an application server to obtain configuration data in a mission-critical service system
By employing a dual-channel collaborative mechanism combining ODBC and RESTful interface technologies, along with connection pooling and on-demand reading mechanisms, the complexity of configuration data acquisition in mission-critical service systems is resolved, enabling efficient and secure configuration data updates and ensuring system stability and flexibility.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- EASTERN COMM
- Filing Date
- 2026-01-14
- Publication Date
- 2026-06-02
AI Technical Summary
The multiple and inconsistent data acquisition methods in existing mission-critical service systems increase implementation complexity and make it difficult to achieve accurate, efficient acquisition and real-time updates.
It adopts a dual-channel collaborative mechanism that combines ODBC and RESTful interface technologies. It establishes a connection with the database system through a connection pool mechanism, reads user configuration data on demand, realizes real-time updates of configuration data through a descriptive state transfer interface, and uses HTTPS mechanism to ensure data transmission security.
It enables accurate and efficient acquisition and real-time updating of configuration data, improves system response speed, enhances the flexibility and reliability of data management, and provides important support for the stable operation of mission-critical service systems.
Smart Images

Figure CN122138177A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology, specifically relating to a method for an application server to obtain configuration data in a mission-critical service system. Background Technology
[0002] The Mission Critical Services (MCS) system is a broadband trunked communication system built according to the 3GPP standard framework. The Application Server (AS) is its core network element, responsible for the signaling and media control plane functions of the three core services: Mission Critical Push-To Talk (MCPTT), Mission Critical Video (MCVideo), and Mission Critical Data (MCData). Configuration data, a key element ensuring service stability, mainly includes two categories: device configuration data and user configuration data. Effective configuration data management is an important prerequisite for the AS to continuously provide highly reliable services. Device configuration data is typically managed using Simple Network Management Protocol (SNMP) and Network Configuration Protocol (NETCONF). However, the mechanisms for acquiring user configuration data are diverse. TS23.280 defines an active acquisition method based on HTTP / HTTPS, while TS24.379, TS24.281, and TS24.282 specify an update notification mechanism based on SIP. This multi-source and inconsistent approach to acquiring configuration data significantly increases implementation complexity. Summary of the Invention
[0003] To address the shortcomings of existing technologies and achieve accurate, efficient acquisition and real-time updates, this invention adopts the following technical solution:
[0004] A method for an application server to obtain configuration data in a mission-critical service system, for use by the application server;
[0005] The system retrieves and decrypts initial configuration data containing database system information and user configuration read identifiers. It stores the initial configuration data in a cache for use by the application server during runtime, avoiding file parsing every time and thus improving data access efficiency. The system updates the connection configuration between the application server and the database system based on the database system information to drive the database interconnect to establish a connection with the database system. This connection uses a connection pool mechanism to ensure connection reliability.
[0006] Obtain basic configuration data and distribute it to start each business sub-module;
[0007] The system determines whether to retrieve user configuration data based on the user configuration on-demand read flag. If the flag is "yes", user configuration data is not retrieved, but the connection with the database system is maintained. Subsequently, the corresponding user configuration data is retrieved from the database system according to specific business needs. If the flag is "no", all user configuration data is retrieved from the database system at once and stored in the cache, and the connection with the database system is no longer maintained.
[0008] Furthermore, the system acquires user service requests and checks whether user configuration data containing that user exists in the cache. If it exists, the user service request is processed based on the user configuration data. If it does not exist, the system retrieves user configuration data on demand based on the user configuration identifier. If the identifier is yes, the system retrieves the corresponding user configuration data from the database system and stores it in the cache to process the user service request based on the user configuration data. If the identifier is no, the user service request is rejected.
[0009] Furthermore, by establishing a connection with the database system through open database interconnection, when configuration data is updated, the updated basic configuration and user configuration data are obtained through the expressive state transfer interface to ensure that the locally updated configuration data is consistent with the updated configuration data in the database system. Through a dual-channel collaborative mechanism combining ODBC interface technology and RESTful interface technology, efficient acquisition and real-time updating of AS configuration data are achieved, which not only improves the system response speed but also enhances the flexibility and reliability of data management, providing important support for the stable operation of the MCS system.
[0010] Furthermore, the configuration data transmitted by the expressive state transmission interface includes message identifier, device identifier, database table name, operation type, and data content. The configuration data is obtained using the Hypertext Transfer Security Protocol mechanism to ensure the security of data transmission.
[0011] The message identifier is used to uniquely identify a real-time notification;
[0012] The device identifier is used to distinguish different application servers;
[0013] The database table name corresponds to the data table in the database;
[0014] The operation type is used to describe the type of update to user configuration data;
[0015] The data content refers to key-value pair information recorded in the database system, where the key-value pair corresponds to the field name of the data table and the value of the specified record.
[0016] Furthermore, the operation types include add operation, modify operation, and delete operation; only one operation is obtained at a time through the descriptive state transmission interface. If it is an add operation, the obtained data content includes all fields of the newly added record; if it is a modify operation, the obtained data content only includes the primary key and changed fields of the modified record; if it is a delete operation, the data content only includes the primary key field of the deleted record.
[0017] Furthermore, if the obtained operation type is an add operation, the primary key information is compared with the configuration data in the local cache. If matching data exists locally, the configuration data in the local cache is replaced. For basic configuration data, it is sent to each business sub-module. For user configuration data, the ongoing business is updated, and the user associated with the user configuration data is notified. If no matching data exists locally, the user configuration data is stored in the local cache.
[0018] If the obtained operation type is a modification operation, the primary key information is compared with the configuration data in the local cache. If matching data exists locally, the configuration data in the local cache is replaced. For basic configuration data, it is sent to each business sub-module. For user configuration data, the ongoing business is updated, and the user associated with the user configuration data is notified. If no matching data exists locally, no processing is performed.
[0019] If the obtained operation type is a delete operation, the primary key information is compared with the configuration data in the local cache. If matching data exists locally, the data in the local cache is deleted. For basic configuration data, it is sent to each business sub-module and corresponding alarms are issued. For user configuration data, the ongoing business is released. If no matching data exists locally, no processing is performed.
[0020] Furthermore, the user configuration data includes individual user configuration data and group user configuration data. For the deletion operation of individual user configuration data, the online status of the individual user is deleted. For the deletion operation of group user configuration data, the attachment information of the group user is deleted.
[0021] A method for an application server to obtain configuration data in a mission-critical service system, used for configuration management system;
[0022] Initial configuration data containing database system information and user configuration read identifiers is generated and encrypted before being sent to the application server. The application server decrypts the initial configuration data and stores it in a cache for use during application server operation, avoiding file parsing each time and thus improving data access efficiency. The application server updates the connection configuration between the application server and the database system based on the database system information to drive the database interconnect to establish a connection with the database system. This connection uses a connection pool mechanism to ensure connection reliability. The application server determines whether to retrieve user configuration data based on the user configuration read-on-demand identifier. If the identifier is yes, the user configuration data is not retrieved, but the connection between the application server and the database system is maintained. Subsequently, the corresponding user configuration data is retrieved from the database system according to specific business needs. If the identifier is no, all user configuration data is retrieved from the database system at once and stored in the cache, and the connection with the database system is no longer maintained.
[0023] Generate basic configuration data so that the application server can start each business sub-module using the basic configuration data.
[0024] Furthermore, when configuration data is updated, the updated configuration data is sent to the database through the database system connection established by Open Database Connectivity. The updated basic configuration and user configuration data are sent to the application server through the representational state transfer interface, so that the updated configuration data on the application server is consistent with the updated configuration data in the database system.
[0025] A mission-critical service system includes an application server, a database system, and a configuration management system;
[0026] The configuration management system generates and updates initial configuration data, basic configuration data, and user configuration data, and sends the basic configuration data and initial configuration data containing database system information and user configuration read identifier to the application server.
[0027] The application server decrypts the initial configuration data and stores it in a cache for use during application server operation, avoiding file parsing every time and thus improving data access efficiency. The application server updates the connection configuration between the application server and the database system according to the database system information to drive the database interconnection and establish a connection with the database system. This connection adopts a connection pool mechanism to ensure the reliability of the connection. The application server reads the user configuration as needed based on the identifier to determine whether to obtain the user configuration data. If the identifier is yes, the user configuration data is not obtained, but the connection between the application server and the database system is maintained. Subsequently, the corresponding user configuration data is obtained from the database system according to specific business needs. If the identifier is no, all user configuration data is obtained from the database system at once and stored in the cache, and the connection with the database system is no longer maintained. Each business sub-module is started through the basic configuration data.
[0028] The database system is used to configure data storage and access.
[0029] The advantages and beneficial effects of this invention are as follows:
[0030] This invention integrates ODBC and RESTful interface technologies, achieving accurate, efficient acquisition and real-time updates of configuration data through dual-channel collaboration. It employs on-demand reading of user configurations, flexibly deciding whether to read all user configuration data at once based on the user configuration's read identifier, thus optimizing system resource utilization. Furthermore, it uses a RESTful interface to implement real-time notification of configuration data changes, ensuring that the AS can respond promptly to configuration changes and maintain data timeliness and accuracy. Finally, it utilizes HTTPS to ensure the security of RESTful interface data transmission, preventing data from being stolen or tampered with during transmission. Attached Figure Description
[0031] Figure 1 This is a schematic diagram of the system structure in an embodiment of the present invention. Detailed Implementation
[0032] The specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are for illustration and explanation only and are not intended to limit the present invention.
[0033] like Figure 1 As shown, a mission-critical service system includes three core network elements: an application server (AS), a database system (DBS), and a configuration management system (CMS). The AS, as the core network element of the MCS system, fully supports the signaling control plane and media control plane functions of the three core services: MCPTT (Mission-critical intercom), MCVideo (Mission-critical video), and MCData (Mission-critical data). The DBS is the data center of the MCS system, enabling persistent storage and efficient access to AS configuration data. The CMS provides complete CRUD (Create, Retrieve, Update, Delete) operation interfaces and a visual operation interface, offering convenient configuration management services for MCS system maintenance personnel.
[0034] In this invention, the AS configuration data mainly comprises two parts: device configuration data and user configuration data. Device configuration data can be further subdivided into initial configuration and basic configuration. Initial configuration is a crucial prerequisite for the AS to start and successfully acquire other configuration data, providing a fundamental guarantee for the normal operation of the system. Basic configuration, on the other hand, is an important support for the AS to efficiently handle various services, ensuring the comprehensiveness and stability of system functions. User configuration data is subdivided into individual user configuration and group user configuration. Individual user configuration is the basis for allowing users to register for services and conduct individual business, providing users with a point-to-point business experience. Group user configuration is the basis for supporting users to conduct group business, meeting the functional requirements of group services in the MCS system. Typically, the amount of user configuration data is relatively large; considering the business characteristics of the MCS system, the amount of individual user configuration data is much larger than that of group user configuration data.
[0035] In this invention, the AS (Application System) must ensure that it downloads an initial configuration from the configuration management system before startup. Subsequently, based on this initial configuration, it obtains basic configuration and user configuration data from the configuration management system via ODBC technology. When system resources are scarce, the AS can flexibly decide whether to obtain all user configuration data at once, depending on the configuration.
[0036] In this invention, the configuration management system can configure data for the Application Server (AS) in both online and offline states, eliminating its dependence on the AS's online status. When the AS is online, the configuration management system, after writing the configuration data to the database system, must notify the AS to perform real-time updates via a Representational State Transfer (RESTful) interface. When the AS is offline, the configuration management system only needs to update the configuration data to the database system.
[0037] This invention also provides a method for an application server to obtain configuration data in a mission-critical service system, which is divided into three key stages: before AS startup, during AS startup, and during AS operation. These three stages will be described in detail below.
[0038] Before starting AS, there are two types of startup: startup after initial installation and startup after shutdown. After initial installation, AS needs to download an encrypted file containing the initial configuration from the configuration management system before startup and import it into the directory specified by AS. The encrypted file uses the AES-256 encryption algorithm to ensure the security of the initial configuration, which is a crucial prerequisite for AS to start and successfully obtain other configuration data. When AS is shut down and then restarted, the above operation is not required. When the initial data of AS changes, the latest encrypted file needs to be downloaded and imported again from the configuration management system, and then AS needs to be restarted.
[0039] When AS starts, it performs the following steps:
[0040] Step 1: AS initializes the internal business sub-modules to prepare for subsequent configuration data loading and business processing.
[0041] Step 2: Decrypt the initial configuration data.
[0042] Decrypt the encrypted file to obtain the initial configuration. The initial data includes: the database system username, password, database name, IP address, port, and a user configuration read-on-demand flag. The database system username, password, database name, IP address, and port are used by AS to initialize the Open Database Connectivity (ODBC) driver and establish a connection with the database system (ODBC connection). The user configuration read-on-demand flag indicates whether AS should read all user configuration data at once upon startup.
[0043] Step 3: Save the initial configuration data.
[0044] The initial configuration data is stored in the cache for use by AS during operation, avoiding the need to parse encrypted files every time, thereby improving data access efficiency.
[0045] Step 4: Update ODBC configuration.
[0046] The ODBC configuration file (odbc.ini) is updated based on the database system's username, password, database name, IP address, port, and other information from the initial data. Subsequently, the ODBC driver is initialized to establish an ODBC connection with the specified database system. This connection uses a connection pooling mechanism to ensure reliability.
[0047] Step 5: Read basic configuration data.
[0048] The system reads the basic configuration data, which is crucial for the AS to efficiently handle various services. The basic configuration includes: AS identifier, service IP address, service port, number analysis table, service routing information, etc. This data is stored in a cache and then distributed to various service sub-modules for specific applications, such as binding a service IP address to a specified network interface or starting service port listening.
[0049] Step 6: Read user configuration data.
[0050] The decision to read user configuration data is based on the "Read-on-Demand" flag in the initial configuration, providing AS with flexible options. If the flag is "Yes," user configuration data does not need to be read, but the established ODBC connection with the database system must be maintained. The user configuration will be read from the database system as needed when AS processes business logic. If the "Read-on-Demand" flag is "No," all user configuration data needs to be read from the database system at once and stored in a cache. No further interaction with the database system is required during subsequent operation, and the ODBC connection with the database does not need to be maintained.
[0051] After AS completes startup, it enters a continuous running state, executing its core functions and providing users with MCPTT, MCVideo, and MCData services. When AS receives a service request from a user, it first checks if the user configuration for that user exists in the cache. If it exists, it continues with subsequent processing; if it does not exist, it handles the request in two ways: if the user configuration read-on-demand flag in the initial configuration is "yes," it retrieves the required user configuration from the database system through the established ODBC connection, stores it in the cache, and then performs subsequent processing; if the user configuration read-on-demand flag in the initial configuration is "no," AS directly rejects the service request.
[0052] During continuous AS operation, MCS system maintenance personnel can modify relevant configuration data online through the configuration management system according to on-site needs (e.g., customer requirements). During this process, the system remains online. After the configuration management system writes the updated configuration data to the database system, it must immediately notify AS via a RESTful interface, in addition to the initial configuration, so that AS can complete the data update operation in real time based on the new configuration data. The configuration management system can be configured with a retry mechanism. When the configuration management system does not receive a successful response from AS, it should ensure the reliability of the data update notification through the notification retry mechanism, thereby achieving synchronization between system operation and on-site requirements.
[0053] RESTful interfaces only notify users of changes to basic configuration data in device configuration data and user configuration data. To ensure data transmission security, RESTful interfaces employ the Hypertext Transfer Protocol Secure (HTTPS) mechanism.
[0054] A RESTful interface contains five fields: messageId, devId, tableName, opType, and data. messageId is the message identifier, uniquely identifying a real-time notification; its value uses a Universally Unique Identifier (UUID). devId is the device identifier, used to distinguish different Action Servers (AS); for example, AS-1 and AS-2 should use different devIds. tableName is the database table name, consistent with the name of the table in the database. opType is the operation type, with values of add, update, and delete, representing add, update, and delete operations, respectively. data is the actual data content, a collection of key-value pairs where each key-value pair corresponds to a field name in the database table and the value of the specified record.
[0055] In a RESTful API, only one operation notification should be sent at a time. When `opType` is set to `add`, it indicates an operation notification for adding a record, and the `data` should contain all fields of the newly added record. When `opType` is set to `update`, it indicates an operation notification for modifying a record, and the `data` only needs to contain the primary key of the record and the fields that were changed. When `opType` is set to `delete`, it indicates an operation notification for deleting a record, and the `data` only needs to contain the primary key of the record. The primary key mentioned here refers to the field in the database table specified by `tableName` that is set as the primary key and the corresponding key-value pair in the record.
[0056] When AS receives a RESTful API message, it first parses the fields contained in the API, and then processes them according to the value of opType, as explained below:
[0057] When `opType` is set to `add`, AS compares the primary key information in `data` with the data in the cache. If a matching data exists in the cache, the cached data is replaced first, and then different processing is performed depending on the type of configuration data. It's important to note that if it's basic configuration data, all submodules need to be notified to implement the application; if it's user configuration data, ongoing MCPTT, MCVideo, and MCData services need to be updated, and registered users associated with that data need to be notified; if no matching data exists in the cache, the user configuration data only needs to be stored in the cache.
[0058] When `opType` is set to `update`, the ActionScript compares the primary key information in the `data` with the data in the cache. If a matching data exists in the cache, the cached data is replaced first, and then different processing is performed depending on the type of configuration data. It's important to note that if it's basic configuration data, all submodules need to be notified to apply it; if it's user configuration data, ongoing MCPTT, MCVideo, and MCData services need to be updated, and registered users associated with this data also need to be notified—similar to the scenario where `opType` is set to `add` and a matching data exists in the cache. If no matching data exists in the cache, the ActionScript does not need to perform any special processing on this notification.
[0059] When `opType` is set to `delete`, the AS compares the primary key information in the `data` with the data in the cache. If a matching data exists in the cache, the AS needs to delete the cached data first. Then, different processing is performed depending on the type of configuration data. If it's basic configuration data, and the AS notifies each business submodule to apply it, for important data, such as data affecting the operation of the AS, an alarm message needs to be sent to the alarm server. If it's user configuration data, ongoing MCPTT, MCVideo, and MCData services need to be released. If it's for an individual user, the individual user's online status needs to be deleted; if it's for a group of users, the group's attachment information needs to be deleted. When no matching data is found in the cache, the AS does not need to perform any special processing on this notification.
[0060] A dual-channel collaborative mechanism combining ODBC and RESTful interface technologies enables efficient acquisition and real-time updating of AS configuration data. This method not only improves system response speed but also enhances the flexibility and reliability of data management, providing crucial support for the stable operation of the MCS system.
[0061] The above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for an application server to obtain configuration data in a mission-critical service system, used by the application server, characterized in that: Obtain initial configuration data containing database system information and user configuration read identifier, and establish a connection with the database system based on the database system information; Obtain basic configuration data and distribute it to start each business sub-module; The system determines whether to retrieve user configuration data based on the user configuration on-demand read flag. If the flag is yes, user configuration data is not retrieved, but the connection with the database system is maintained. If the flag is no, all user configuration data is retrieved from the database system at once, and the connection with the database system is no longer maintained.
2. The method for an application server to obtain configuration data in a mission-critical service system according to claim 1, characterized in that: If a user service request is received, check if user configuration data containing that user exists. If it exists, process the user service request based on the user configuration data. If it does not exist, retrieve the user configuration data on demand based on the user configuration identifier. If the identifier is yes, retrieve the corresponding user configuration data from the database system to process the user service request based on the user configuration data. If the identifier is no, reject the user service request.
3. The method for an application server to obtain configuration data in a mission-critical service system according to claim 1, characterized in that: A connection to the database system is established through Open Database Connectivity. When configuration data is updated, the updated basic configuration and user configuration data are obtained through the representational state transfer interface to ensure that the locally updated configuration data is consistent with the updated configuration data in the database system.
4. The method for an application server to obtain configuration data in a mission-critical service system according to claim 3, characterized in that: The configuration data transmitted by the expressive state transmission interface includes message identifier, device identifier, database table name, operation type and data content, and the configuration data is obtained using the Hypertext Transfer Security Protocol mechanism; The message identifier is used to uniquely identify a real-time notification; The device identifier is used to distinguish different application servers; The database table name corresponds to the data table in the database; The operation type is used to describe the type of update to user configuration data; The data content refers to key-value pair information recorded in the database system, where the key-value pair corresponds to the field name of the data table and the value of the specified record.
5. The method for an application server to obtain configuration data in a mission-critical service system according to claim 4, characterized in that: The operation types include add, modify, and delete operations. Only one operation is retrieved at a time through the descriptive state transmission interface. If it is an add operation, the retrieved data content includes all fields of the newly added record. If it is a modify operation, the retrieved data content includes the primary key and changed fields of the modified record. If it is a delete operation, the data content only includes the primary key field of the deleted record.
6. The method for an application server to obtain configuration data in a mission-critical service system according to claim 5, characterized in that: If the obtained operation type is an add operation, the primary key information is compared with the local configuration data. If matching data exists locally, the local configuration data is replaced. For basic configuration data, it is sent to each business sub-module. For user configuration data, the ongoing business is updated, and the user associated with the user configuration data is notified. If no matching data exists locally, the user configuration data is stored in the local cache. If the obtained operation type is a modification operation, the primary key information is compared with the local configuration data. If matching data exists locally, the local configuration data is replaced. For basic configuration data, it is sent to each business sub-module. For user configuration data, the ongoing business is updated, and the user associated with the user configuration data is notified. If no matching data exists locally, no processing is performed. If the obtained operation type is a delete operation, the primary key information is compared with the local configuration data. If matching data exists locally, the local data is deleted. For basic configuration data, it is sent to each business sub-module and corresponding alarms are issued. For user configuration data, the ongoing business is released. If no matching data exists locally, no action is taken.
7. The method for an application server to obtain configuration data in a mission-critical service system according to claim 6, characterized in that: The user configuration data includes individual user configuration data and group user configuration data. For deleting individual user configuration data, the online status of the individual user is deleted. For deleting group user configuration data, the attached information of the group user is deleted.
8. A method for an application server to obtain configuration data in a mission-critical service system, used for a configuration management system, characterized in that: Generate initial configuration data containing database system information and user configuration read identifiers, and send it to the application server so that the application server can establish a connection with the database system based on the database system information and decide whether to retrieve user configuration data based on the user configuration read-on-demand identifier. If the identifier is yes, the user configuration data is not retrieved, but the connection between the application server and the database system is maintained. If the identifier is no, all user configuration data is retrieved from the database system at once, and the connection with the database system is no longer maintained. Generate basic configuration data so that the application server can start each business sub-module using the basic configuration data.
9. A method for an application server to obtain configuration data in a mission-critical service system according to claim 9, characterized in that: When configuration data is updated, the database system connection established through Open Database Connectivity sends the updated configuration data to the database. Through the representational state transfer interface, the updated basic configuration and user configuration data are sent to the application server to ensure that the updated configuration data on the application server is consistent with the updated configuration data in the database system.
10. A mission-critical service system, comprising an application server, a database system, and a configuration management system, characterized in that: The configuration management system generates and updates initial configuration data, basic configuration data, and user configuration data, and sends the basic configuration data and initial configuration data containing database system information and user configuration read identifier to the application server. The application server establishes a connection with the database system based on the database system information. It determines whether to retrieve user configuration data based on the user configuration read flag. If the flag is yes, the application server does not retrieve user configuration data but maintains the connection with the database system. If the flag is no, it retrieves all user configuration data from the database system at once and no longer maintains the connection with the database system. It then starts each business sub-module based on the basic configuration data. The database system is used to configure data storage and access.