Multi-terminal non-inductive real-time data pushing method based on CS architecture
By decoupling data parsing and push under the CS architecture and using a data caching structure, the problem of data parsing and display push being unable to be decoupled in traditional data processing methods is solved, enabling real-time data push and intelligent update display across multiple terminals, thus improving display efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING AEROSPACE AUTOMATIC CONTROL RES INST
- Filing Date
- 2025-12-29
- Publication Date
- 2026-05-05
AI Technical Summary
Traditional pipeline-style data processing methods cannot meet the real-time display requirements of massive, multi-source data. Especially in the case of multiple display terminals and multiple data sources, data parsing and display push cannot be decoupled, resulting in low display efficiency.
By adopting a client-server architecture, data parsing and data push are decoupled into two independent tasks. Data sharing and transmission are achieved through a data cache structure. The data cache structure is created to store the data information to be updated, and the server periodically pushes the updated information to the client.
It achieves seamless real-time data push and intelligent update display, with almost no impact on data processing and display efficiency, and can still refresh quickly, especially in the case of large data volumes.
Smart Images

Figure CN121985033A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a multi-terminal seamless real-time data push method based on a client-server (CS) architecture, belonging to the field of measurement, launch, and control data processing technology. Background Technology
[0002] With the increasing volume and diversification of experimental data, traditional pipeline-style data processing and display workflows can no longer meet the current display requirements of measurement, control, and display software. The diversity of control styles, the large volume of homogeneous data, and the high real-time requirements for data display have placed new demands on the architecture of display and control software. The traditional pipeline-style processing method of data reception—data parsing—data display and update cannot meet the real-time display needs of massive, multi-source data. Summary of the Invention
[0003] The technical problem solved by this invention is to overcome the shortcomings of the prior art and provide a multi-terminal seamless real-time data push method based on CS architecture. This method decouples data parsing and processing from display and push in the case of multiple display terminals and multiple data sources, thereby achieving seamless real-time data push and intelligent update display. The technical solution of this invention is: A multi-terminal seamless real-time data push method based on a client-server architecture includes the following steps: Step 1: Create a data cache structure to store the data information to be updated. This data cache structure serves as a transition between the data parsing task and the data push task, enabling data sharing and transmission between the two tasks. Step 2: Create a data parsing task: After the server receives and parses the data to be updated, it does not send the data directly to the client for update and display. Instead, it updates the field information in the data cache structure. When updating the field information, there are required and optional fields. Step 3: Create a data push task: The server performs intelligent update processing on the data based on the field information in the data cache structure, and periodically sends the intelligent update processing results to the client.
[0004] Furthermore, the data cache structure includes at least the following fields: The viewID field, with a data type of uint32, represents the ID of the UI control to be updated. The color field has a data type of uint32 and represents the color value of the data. The `sdata` field, with a data type of string, contains the data content. The n_current field, with a data type of uint32, is a counter value. This value is incremented by 1 each time data is updated, and is used to determine whether there is any data update when the data is periodically refreshed. The n_last field, with a data type of uint32, is a count value, which is assigned to n_current during each data refresh cycle; The n_nodata field, with a data type of uint32, represents the number of times the data has not been updated. This value is incremented by 1 each time the data is refreshed periodically. The `n_ptr` field, with a data type of `uint32`, represents the maximum number of times data is allowed not to be updated. When this value is 0, no judgment is made on whether the data is updated. When this value is not 0, the number of times the data is not updated, `n_nodata`, is reached, indicating that the data has not been updated for a long time. This is used for special handling when the data is not updated.
[0005] Furthermore, different types of data correspond to different types of controls. A data caching structure is designed for each type of control to meet the personalized display needs of different controls.
[0006] Furthermore, when the control is a table control, the data cache structure of the table control also includes a col field and a row field, both of which are of data type uint32. The col field represents the column of the data in the table, and the row field represents the row of the data in the table.
[0007] Furthermore, when the control is an LED light control, it also includes a flag field indicating the on / off state of the LED light. When n_nodata is greater than or equal to n_prt, the on / off state of the LED light is set to off.
[0008] Furthermore, when the control is an LCD digital tube control, it also includes an LCD digital tube control display content field. When n_nodata is greater than or equal to n_prt, the LCD digital tube control display content is set to the "--" item, which represents the default value when there is no data update for a long time.
[0009] Furthermore, when updating field information, the required options include: sdata: The data value to be updated; n_current: This field value is automatically incremented by 1 each time data is updated; Optional options include: color: Set the display color of the data content during this update as needed.
[0010] Furthermore, the process of intelligently updating the data is as follows: (1) Determine if the value of n_prt is 0. If it is not 0, proceed to step (2); otherwise, proceed to step (4). (2) Determine whether the value of n_last is equal to the value of n_current. If they are not equal, update the value of n_last to n_current and set the value of n_nodata to 0, indicating that there is a data value update. Then proceed to step (3). If they are equal, it means that there is no data value update. Increment the value of n_nodata by 1 and then proceed to step (3). (3) Determine whether n_nodata is greater than or equal to n_prt, that is, whether the upper limit of the number of times the data has not been updated has been reached. If this condition is met, it means that the data has not been updated for a long time. At this time, the data is designed for personalized display and then proceed to step (4); otherwise, proceed directly to step (4). (4) Update the content of the client control based on the fields in the data cache structure.
[0011] Furthermore, the data can be customized by setting the color field to a specified color to indicate that there has been no data value for an extended period of time.
[0012] Secondly, the present invention also proposes a computer program product, which includes a computer program that, when executed by a processor, implements the method described.
[0013] The advantages of this invention compared to the prior art are: (1) This invention proposes a multi-terminal seamless real-time data push method based on a client-server (CS) architecture, which decouples data parsing from data push, making them two independent processing tasks. When the data volume is large, the data processing and display efficiency is almost unaffected. The data push task is encapsulated into a module that is independent of the specific data content, so that users only need to focus on the data processing logic.
[0014] (2) This invention can achieve fast real-time refresh display when the amount of data is large; (3) The data parsing task and the data push task of this invention are parallel and independent, and data is shared and transmitted through a data cache structure; (4) The present invention only needs to update the parsed data to the corresponding fields of the data cache structure, and the data push task will automatically push the contents of the data cache structure to the display terminal for data update and display. Attached Figure Description
[0015] Figure 1 This is a schematic diagram of the method flow of the present invention; Figure 2 Flowchart for data parsing task; Figure 3 Flowchart for data push task. Detailed Implementation
[0016] The specific embodiments of the present invention will now be described in further detail with reference to the accompanying drawings.
[0017] This invention provides a seamless real-time data push method for multiple terminals based on a client-server (CS) architecture. Unlike traditional data stream push methods, it decouples data parsing from data push, dividing them into two independent processing tasks. A local buffer is created to store data information, thus linking these two tasks together: when the server receives data to be updated, it does not immediately send the data to the client separately, but instead stores the data in a locally cached structure, while simultaneously updating additional data fields to record update information. The server periodically sends all data to be updated in the local cache structure to all registered clients. This operation is transparent to the data parsing process, enabling seamless data updates across multiple terminals.
[0018] like Figure 1 As shown, the present invention proposes a multi-terminal seamless real-time data push method based on a client-server architecture, comprising the following steps: Step 1: Create a data cache structure to store the data information to be updated. This data cache structure serves as a transition between the data parsing task and the data push task, enabling data sharing and transmission between the two tasks. A data cache structure should include at least the following fields: The viewID field, with a data type of uint32, represents the ID of the UI control to be updated. The color field has a data type of uint32 and represents the color value of the data. The `sdata` field, with a data type of string, contains the data content. The n_current field, with a data type of uint32, is a counter value. This value is incremented by 1 each time data is updated, and is used to determine whether there is any data update when the data is periodically refreshed. The n_last field, with a data type of uint32, is a count value, which is assigned to n_current during each data refresh cycle; The n_nodata field, with a data type of uint32, represents the number of times the data has not been updated. This value is incremented by 1 each time the data is refreshed periodically. The `n_ptr` field, with a data type of `uint32`, represents the maximum number of times data is allowed not to be updated. When this value is 0, no judgment is made on whether the data is updated. When this value is not 0, the number of times the data is not updated, `n_nodata`, is reached, indicating that the data has not been updated for a long time. This is used for special handling when the data is not updated.
[0019] Different types of data correspond to different types of controls. A data caching structure is designed for each type of control to meet the personalized display needs of different controls.
[0020] When the control is a table control, the data cache structure of the table control also includes a col field and a row field, both of which are of data type uint32. The col field represents the column of the data in the table, and the row field represents the row of the data in the table.
[0021] When the control is an LED light control, it also includes a flag field indicating the on / off status of the LED light. When n_nodata is greater than or equal to n_prt, the on / off status of the LED light is set to off.
[0022] When the control is an LCD digital tube control, it also includes an LCD digital tube control display content field. When n_nodata is greater than or equal to n_prt, the LCD digital tube control display content is set to the "--" item, which represents the default value when there is no data update for a long time.
[0023] Step 2, Create a data parsing task: such as Figure 2 As shown, when the server receives and parses the data to be updated, it does not send the data directly to the client for update and display. Instead, it updates the field information in the data cache structure. When updating the field information, there are required and optional fields. Required options include: sdata: The data value to be updated; n_current: This field value is automatically incremented by 1 each time data is updated; Optional options include: color: Set the display color of the data content during this update as needed.
[0024] Step 3: Create a data push task: The server performs intelligent update processing on the data based on the field information in the data cache structure, and periodically sends the intelligent update processing results to the client.
[0025] like Figure 3 As shown, the process of intelligently updating data is as follows: (1) Determine if the value of n_prt is 0. If it is not 0, proceed to step (2); otherwise, proceed to step (4). (2) Determine whether the value of n_last is equal to the value of n_current. If they are not equal, update the value of n_last to n_current and set the value of n_nodata to 0, indicating that there is a data value update. Then proceed to step (3). If they are equal, it means that there is no data value update. Increment the value of n_nodata by 1 and then proceed to step (3). (3) Determine whether n_nodata is greater than or equal to n_prt, that is, whether the upper limit of the number of times the data has not been updated has been reached. If this condition is met, it means that the data has not been updated for a long time. At this time, the data is designed for personalized display and then proceed to step (4); otherwise, proceed directly to step (4). (4) Update the content of the client control based on the fields in the data cache structure.
[0026] Example: A multi-terminal seamless real-time data push method based on a client-server architecture includes the following: 1. First, a data cache structure is created to store the data information to be updated. This cache structure serves as a bridge between the data parsing and data push tasks, enabling data sharing and transmission between the two tasks.
[0027] 1) Create a data cache structure. The fields of the data cache structure are largely the same across different controls, with only minor differences. Taking a table control as an example, it includes the following fields:
[0028] 2) For each new data value, create and initialize the above structure, mainly initializing viewID, col, row, color, and n_prt.
[0029] a.viewID is initialized to the ID of the control displaying data on the client side and remains unchanged after initialization; b.col corresponds to the column in the table where the data is located, and remains unchanged after initialization; c.row corresponds to the row of data in the table and remains unchanged after initialization; d.color represents the default color value displayed for the data; this field can be updated as needed. e.n_prt represents the maximum number of times data can be left unupdated, and it remains unchanged after initialization.
[0030] 2. Create a data parsing task, responsible for the following functions: After the server receives and parses the data to be updated, it does not directly send the data to the client for display; instead, it updates the relevant fields in the data cache structure. When updating field information, there are required and optional fields: 1) Required option: sdata: The data value to be updated; n_current: This field value is automatically incremented by 1 each time data is updated; 2) Optional: color: Set the display color of the data content during this update as needed; 3. Create a data push task and be responsible for the following functions: The server intelligently processes the data based on the fields in the data cache structure (e.g., automatically turning off lights, displaying a prominent color when no data is received for a long time), and periodically sends the results to the client. The process of intelligently updating the data is as follows: 1) Check if the value of n_prt is 0. If it is not 0, go to step 2; otherwise, go to step 4. 2) Check if the values of n_last and n_current are equal: If they are not equal, update the value of n_last to n_current and set the value of n_nodata to 0, indicating that a data value has been updated. If they are equal, it means that no data value has been updated, and increment the value of n_nodata by 1; 3) Determine if n_nodata is greater than or equal to n_prt, i.e., whether the upper limit of the number of times the data has not been updated has been reached. If this condition is met, it means that the data has not been updated for a long time. At this time, the data can be customized for display (different controls can be designed with different display modes). For example, by setting the color field to a specified color, it can be indicated that there is no data value for a long time. 4) Update the content of the client-side control based on the fields in the data cache structure.
[0031] 4. Personalized updates of data controls Different types of data can correspond to different types of controls. Therefore, a data cache structure can be designed for each control to meet the personalized display needs of different controls. The above structure is a table control. If it's an LED light, the `col` and `row` fields specific to table controls are removed, and a field representing the LED's on / off status is added. When `n_nodata` is greater than or equal to `n_prt`, the light's status is set to off. If it's an LCD digital tube control, when `n_nodata` is greater than or equal to `n_prt`, the LCD control's display content is set to the "--" item, representing the default value when there is no data update for a long time. Through the above operations, customized display functions for different controls are achieved.
[0032] The features and advantages of this invention are as follows: 1. It can achieve fast real-time refresh display when the data volume is large; 2. Data parsing and data push tasks run in parallel and independently, with data sharing and transmission achieved through a data cache structure; 3. Simply update the parsed data to the corresponding fields of the data cache structure, and the data push task will automatically push the contents of the data cache structure to the display terminal for data update and display.
[0033] The parts of this invention not described in detail are common knowledge to those skilled in the art.
Claims
1. A multi-terminal seamless real-time data push method based on a client-server architecture, characterized in that, include: Create a data cache structure to store the data information to be updated. This data cache structure serves as a transition between the data parsing task and the data push task, enabling data sharing and transmission between the two tasks. Create a data parsing task: After the server receives and parses the data to be updated, it does not send the data directly to the client for update and display. Instead, it updates the field information in the data cache structure. When updating field information, there are required and optional fields. Create a data push task: The server performs intelligent update processing on the data based on the field information in the data cache structure, and periodically sends the intelligent update processing results to the client.
2. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 1, characterized in that: The data cache structure includes at least the following fields: The viewID field, with a data type of uint32, represents the ID of the UI control to be updated. The color field has a data type of uint32 and represents the color value of the data. The `sdata` field, with a data type of string, contains the data content. The n_current field, with a data type of uint32, is a counter value. This value is incremented by 1 each time data is updated, and is used to determine whether there is any data update when the data is periodically refreshed. The n_last field, with a data type of uint32, is a count value, which is assigned to n_current during each data refresh cycle; The n_nodata field, with a data type of uint32, represents the number of times the data has not been updated. This value is incremented by 1 each time the data is refreshed periodically. The n_ptr field, with a data type of uint32, represents the maximum number of times data is allowed not to be updated; When this value is 0, no judgment is made on whether the data has been updated; when this value is not 0, the number of times the data has not been updated, n_nodata, reaches this value, which means that the data has not been updated for a long time, and is used for special handling when the data is not updated.
3. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 2, characterized in that: Different types of data correspond to different types of controls. A data caching structure is designed for each type of control to meet the personalized display needs of different controls.
4. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 2, characterized in that: When the control is a table control, the data cache structure of the table control also includes a col field and a row field, both of which are of data type uint32. The col field represents the column of the data in the table, and the row field represents the row of the data in the table.
5. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 2, characterized in that: When the control is an LED light control, it also includes a flag field indicating the on / off status of the LED light. When n_nodata is greater than or equal to n_prt, the on / off status of the LED light is set to off.
6. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 2, characterized in that: When the control is an LCD digital tube control, it also includes an LCD digital tube control display content field. When n_nodata is greater than or equal to n_prt, the LCD digital tube control display content is set to the "--" item, which represents the default value when there is no data update for a long time.
7. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 2, characterized in that: When updating field information, the required options include: sdata: The data value to be updated; n_current: This field value is automatically incremented by 1 each time data is updated; Optional options include: color: Set the display color of the data content during this update as needed.
8. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 2, characterized in that: The process of intelligently updating data is as follows: (1) Determine if the value of n_prt is 0. If it is not 0, proceed to step (2); otherwise, proceed to step (4). (2) Determine whether the value of n_last is equal to the value of n_current. If they are not equal, update the value of n_last to n_current and set the value of n_nodata to 0, indicating that there is a data value update. Then proceed to step (3). If they are equal, it means that there is no data value update. Increment the value of n_nodata by 1 and then proceed to step (3). (3) Determine whether n_nodata is greater than or equal to n_prt, that is, whether the upper limit of the number of times the data has not been updated has been reached. If this condition is met, it means that the data has not been updated for a long time. At this time, the data is designed for personalized display and then proceed to step (4); otherwise, proceed directly to step (4). (4) Update the content of the client control based on the fields in the data cache structure.
9. The multi-terminal seamless real-time data push method based on a client-server architecture according to claim 8, characterized in that: Personalized data display design: Specifically, setting the color field to a specified color indicates that there has been no data value for a long time.
10. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the steps of the method according to any one of claims 1 to 9.