A data processing method for breaking through the memory bottleneck of DOS operating system
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SOUTHWEST COMP
- Filing Date
- 2022-11-10
- Publication Date
- 2026-06-30
AI Technical Summary
但是不管扩充内存或扩展内存有多大,DOS的应用程序只能在常规内存下运行,对于静态数据多,耗费内存的应用程序仍不适用
[0029]本发明的技术效果是毋庸置疑的,本发明利用windows2000/xp兼容16位、32位运行程序的特点,将原DOS应用程序的功能模块进行剥离,分为管理程序与计算程序两部分。管理程序作为前端仍在DOS下运行,负责与用户交互,处理业务流程;计算程序负责大批量数据的计算,为管理程序提供计算服务。其中计算程序可以由多个独立构件组成,可以是汇编程序,也可以是C程序和VC程序。这些程序可以分别独立运行于DOS和windows系统上。在兼顾原系统的同时,大大扩展了可处理的数据形式。
Smart Images

Figure CN115994028B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing, specifically a data processing method that overcomes the memory bottleneck of the DOS operating system. Background Technology
[0002] As information system design technology matures, software demands increase, data processing becomes more frequent, static data increases dramatically, and the required storage space grows ever larger.
[0003] The conventional system is written and runs using C and assembly languages. With the increasing user demands, such as numerical calculations, it is inevitable that a large amount of memory will be allocated to store data during program execution. Therefore, conventional memory resources are very tight. Once memory is insufficient during software operation, it will greatly affect the reliability of the software.
[0004] In 80x86 real address mode, DOS can only directly address space up to 1MB, leaving only 640KB of actual space for the user. To overcome this limitation of insufficient DOS memory, there are generally two solutions: 1. Using Extended Memory, and 2. Using Expanded Memory. However, regardless of the size of the expanded or extended memory, DOS applications can only run within regular memory, making them unsuitable for applications with a lot of static data and high memory consumption. Summary of the Invention
[0005] The purpose of this invention is to provide a data processing method that overcomes the memory bottleneck of the DOS operating system, comprising the following steps:
[0006] 1) Build a processing system framework, including a front-end management program module, a back-end service middleware, and a computing program module; the computing program module includes an assembly computing service component and a C computing service component;
[0007] 2) The front-end management program module receives input data, processes the input data to obtain a flag file, and transmits the flag file to the back-end service middleware;
[0008] 3) The background service middleware determines the type of the flag file and inputs the flag file into the assembly computing service component or C computing service component of the computing program module according to the flag file type;
[0009] 4) The calculation program module performs calculations on the flag file, obtains the calculation results, and transmits the calculation results to the background service middleware;
[0010] 5) The background service middleware transforms the calculation results and writes the transformed calculation results into the calculation result interface file;
[0011] 6) The front-end management program module reads and displays the calculation results interface file.
[0012] Furthermore, the front-end management program module runs independently on the DOS system.
[0013] Furthermore, the calculation program module is equipped with a calculation program;
[0014] The computing program includes an assembler and a C language program running on the DOS operating system, and a program running on the Windows operating system.
[0015] Furthermore, the input data includes data that needs to be numerically calculated.
[0016] Further, the steps to process the input data and obtain the flag file include:
[0017] a) The front-end management program module receives input data and processes it to obtain standard interface data;
[0018] b) The front-end management program module generates an interface data file based on standard interface data;
[0019] c) The front-end management program module generates a flag file corresponding to the assembly calculation service or C calculation service based on the user input data.
[0020] Furthermore, the background service middleware starts once every T cycles. After starting, if no flag file is received, it enters a dormant state and waits for the next start. If a flag file is received, the type of the flag file is determined.
[0021] Furthermore, the flag file types include OLDDATA.DAT and READOVER.DAT;
[0022] When the flag file is of type OLDDATA.DAT, the background service middleware will transfer the flag file to the assembly computing service component of the computing program module;
[0023] When the flag file is of type READOVER.DAT, the background service middleware transmits the flag file to the C computing service component of the computing program module.
[0024] Furthermore, when the assembly calculation service component receives the flag file, the calculation program module performs calculations on the flag file, including: using the assembly calculation service component to calculate the data in the flag file and obtaining the calculation result.
[0025] Furthermore, when the C calculation service component receives the flag file, the calculation program module performs the following steps on the flag file:
[0026] I) Perform data structure conversion on the flag file running on the DOS system to obtain the structure data running on the Windows system;
[0027] II) Calculate the structure data using the C calculation service component to obtain the calculation results;
[0028] Furthermore, when the background service middleware receives the calculation results transmitted by the C calculation service component, it performs a data structure inverse transformation on the calculation results running on the Windows system, thereby obtaining the calculation results running on the DOS system.
[0029] The technical advantages of this invention are undeniable. Leveraging the compatibility of Windows 2000 / XP with both 16-bit and 32-bit programs, this invention separates the functional modules of the original DOS application into two parts: a management program and a calculation program. The management program, acting as the front end, still runs under DOS, responsible for user interaction and handling business processes; the calculation program handles large-scale data calculations, providing computational services to the management program. The calculation program can consist of multiple independent components, including assembly language, C language, and VC language programs. These programs can run independently on both DOS and Windows systems. While maintaining compatibility with the original systems, this significantly expands the range of data that can be processed.
[0030] The seamless integration of the management program and the computing program relies on the newly added background service middleware. Running on the Windows platform, this middleware is responsible for allocating computing service resources and facilitates communication between the management program and the computing program through flag files and interface files.
[0031] The data processing method of this invention, which overcomes the memory bottleneck of the DOS operating system, extends the software lifecycle of conventional DOS-based operating systems; it separates the front-end page from the back-end calculation, saving system maintenance time and manpower costs; and it provides a sustainable development method for other DOS applications. Attached Figure Description
[0032] Figure 1 Application architecture diagram of a data processing method to overcome the memory bottleneck of the DOS operating system.
[0033] Figure 2 A flowchart illustrating a data processing method designed to overcome the memory bottleneck of the DOS operating system. Detailed Implementation
[0034] The present invention will be further described below with reference to embodiments, but it should not be construed that the scope of the present invention is limited to the following embodiments. Various substitutions and modifications made based on ordinary technical knowledge and common practices in the art without departing from the above-described technical concept of the present invention should be included within the scope of protection of the present invention.
[0035] Example 1:
[0036] See Figures 1 to 2 A data processing method that overcomes the memory bottleneck of the DOS operating system includes the following steps:
[0037] 1) Build a processing system framework, including a front-end management program module, a back-end service middleware, and a computing program module; the computing program module includes an assembly computing service component and a C computing service component;
[0038] The front-end management program module runs independently on the DOS system.
[0039] The calculation program module is equipped with a calculation program;
[0040] The computing program includes an assembler and a C language program running on the DOS operating system, and a program running on the Windows operating system.
[0041] 2) The front-end management program module receives input data, processes the input data to obtain a flag file, and transmits the flag file to the back-end service middleware;
[0042] The input data includes data that needs to be numerically calculated.
[0043] The steps for processing the input data to obtain the flag file include:
[0044] 2.1) The front-end management program module receives input data and processes it to obtain standard interface data;
[0045] 2.2) The front-end management program module generates an interface data file based on standard interface data;
[0046] 2.3) The front-end management program module generates a flag file corresponding to the assembly calculation service or C calculation service based on the user input data.
[0047] 3) The background service middleware determines the type of the flag file and inputs the flag file into the assembly computing service component or C computing service component of the computing program module according to the flag file type;
[0048] The background service middleware starts once every T cycles. After starting, if no flag file is received, it enters a sleep state and waits for the next start. If a flag file is received, the type of the flag file is determined.
[0049] The flag file types include OLDDATA.DAT and READOVER.DAT;
[0050] When the flag file is of type OLDDATA.DAT, the background service middleware will transfer the flag file to the assembly computing service component of the computing program module;
[0051] When the flag file is of type READOVER.DAT, the background service middleware transmits the flag file to the C computing service component of the computing program module.
[0052] 4) The calculation program module performs calculations on the flag file, obtains the calculation results, and transmits the calculation results to the background service middleware;
[0053] When the assembly calculation service component receives the flag file, the calculation program module performs the following steps on the flag file: using the assembly calculation service component to calculate the data in the flag file and obtain the calculation result.
[0054] When the C calculation service component receives the flag file, the calculation program module performs the following steps on the flag file:
[0055] a) Perform data structure conversion on the flag file running on the DOS system to obtain the structure data running on the Windows system;
[0056] b) Calculate the structure data using the C computation service component to obtain the calculation results;
[0057] 5) The background service middleware transforms the calculation results and writes the transformed calculation results into the calculation result interface file;
[0058] When the background service middleware receives the calculation results transmitted by the C calculation service component, it performs a data structure inverse transformation on the calculation results running on the Windows system to obtain the calculation results running on the DOS system.
[0059] 6) The front-end management program module reads and displays the calculation results interface file.
[0060] Example 2:
[0061] A data processing method that overcomes the memory bottleneck of the DOS operating system includes the following steps:
[0062] 1) Build a processing system framework, including a front-end management program module, a back-end service middleware, and a computing program module; the computing program module includes an assembly computing service component and a C computing service component;
[0063] 2) The front-end management program module receives input data, processes the input data to obtain a flag file, and transmits the flag file to the back-end service middleware;
[0064] 3) The background service middleware determines the type of the flag file and inputs the flag file into the assembly computing service component or C computing service component of the computing program module according to the flag file type;
[0065] 4) The calculation program module performs calculations on the flag file, obtains the calculation results, and transmits the calculation results to the background service middleware;
[0066] 5) The background service middleware transforms the calculation results and writes the transformed calculation results into the calculation result interface file;
[0067] 6) The front-end management program module reads and displays the calculation results interface file.
[0068] Example 3:
[0069] A data processing method that overcomes the memory bottleneck of the DOS operating system, the main contents of which are described in Embodiment 2, wherein the front-end management program module runs independently on the DOS system.
[0070] Example 4:
[0071] A data processing method that overcomes the memory bottleneck of the DOS operating system, the main contents of which are described in Embodiment 2, wherein the calculation program module is equipped with a calculation program;
[0072] The computing program includes an assembler and a C language program running on the DOS operating system, and a program running on the Windows operating system.
[0073] Example 5:
[0074] A data processing method that overcomes the memory bottleneck of the DOS operating system, the main contents of which are described in Example 2, wherein the input data includes data that needs to be numerically calculated.
[0075] Example 6:
[0076] A data processing method to overcome the memory bottleneck of the DOS operating system, the main contents of which are described in Example 2, wherein the steps of processing the input data to obtain the flag file include:
[0077] a) The front-end management program module receives input data and processes it to obtain standard interface data;
[0078] b) The front-end management program module generates an interface data file based on standard interface data;
[0079] c) The front-end management program module generates a flag file corresponding to the assembly calculation service or C calculation service based on the user input data.
[0080] Example 7:
[0081] A data processing method that overcomes the memory bottleneck of the DOS operating system is described in Example 2. The background service middleware is started once every T cycles. After starting, if no flag file is received, it enters a hibernation state and waits for the next start. If a flag file is received, the type of the flag file is determined.
[0082] Example 8:
[0083] A data processing method that overcomes the memory bottleneck of the DOS operating system, the main contents of which are described in Example 2, wherein the flag file types include OLDDATA.DAT and READOVER.DAT;
[0084] When the flag file is of type OLDDATA.DAT, the background service middleware will transfer the flag file to the assembly computing service component of the computing program module;
[0085] When the flag file is of type READOVER.DAT, the background service middleware transmits the flag file to the C computing service component of the computing program module.
[0086] Example 9:
[0087] A data processing method that overcomes the memory bottleneck of the DOS operating system, the main contents of which are described in Embodiment 2, wherein when the assembly calculation service component receives the flag file, the calculation program module performs calculations on the flag file, including: using the assembly calculation service component to calculate the data in the flag file and obtaining the calculation result.
[0088] Example 10:
[0089] A data processing method that overcomes the memory bottleneck of the DOS operating system, the main content of which is described in Embodiment 2, wherein when the C computing service component receives the flag bit file, the calculation program module performs calculations on the flag bit file, including the following steps:
[0090] I) Perform data structure conversion on the flag file running on the DOS system to obtain the structure data running on the Windows system;
[0091] II) Calculate the structure data using the C calculation service component to obtain the calculation results;
[0092] Example 11:
[0093] A data processing method that overcomes the memory bottleneck of the DOS operating system is described in Example 2. In this method, when the background service middleware receives the calculation results transmitted by the C computing service component, it performs a data structure inverse transformation on the calculation results running on the Windows system to obtain the calculation results running on the DOS system.
[0094] Example 12:
[0095] A data processing method based on embodiments 1-11 for overcoming the memory bottleneck of the DOS operating system includes the following steps:
[0096] A. Front-end management program interface file output: When the system needs to perform numerical calculations, it organizes the input data into standard interface data and outputs it as an interface data file.
[0097] B. Front-end management program flag file output: The system generates the corresponding flag file according to the type of computing service called.
[0098] C. Background service middleware starts on a timed basis: The background service middleware starts on a timed basis every 50 milliseconds.
[0099] D. Calculation Required: If the backend service middleware detects the output of the flag file, it determines that a calculation is required; otherwise, it continues to wait.
[0100] E. Determining if the flag is "old": When the flag file is OLDDATA.DAT, call the assembly computing service component; when the flag file is READOVER.DAT, call the C computing service component.
[0101] F. Data Structure Conversion: Data structure conversion between DOS programs and Windows programs.
[0102] G. Calling the C Computation Service Component: The C Computation Service Component takes the converted structure data as input, completes the calculation, and returns the calculation result to the background service middleware.
[0103] H. Data Structure Inverse Transformation: The backend service middleware receives the calculation results from the C calculation service component and performs an inverse transformation on the calculation results.
[0104] I. Write the calculation results to the interface file: The backend service middleware writes the converted structure data to the interface file in binary format.
[0105] J. Front-end management program reads interface file results: The system detects the generation of the interface file, reads the calculation results in the interface file and displays them on the interface;
[0106] K. Calling the Assembly Calculation Service Component: In the judgment of step E, when the flag file is OLDDATA.DAT, the assembly calculation service component uses the data saved by the front-end management program as input conditions to complete the calculation;
[0107] L. Write the calculation results to the data file: Write the calculation results of the assembly calculation service component to the system's data file;
[0108] M. Front-end management program reads data file results: The front-end management program detects the generation of calculation results, reads the results, and displays them on the interface.
[0109] Example 12:
[0110] A data processing method based on embodiments 1-11 for overcoming the memory bottleneck of the DOS operating system includes:
[0111] like Figure 1 The diagram shown is an application architecture diagram of the system after adopting the data processing method of this invention that overcomes the memory bottleneck of the DOS operating system:
[0112] The rebuilt system consists of three independently running programs that also cooperate organically. The front-end management program runs independently on the DOS system; the calculation program is responsible for data processing and outputting results; this module can be an assembly program or a C language program running on the DOS operating system, or a Win32 calculation program, and can also be connected to data processing programs in other languages in the future. This module has diverse forms, including executable programs and dynamic libraries; the background service middleware acts as a listener program, using timed wake-ups, and serves as a bridge between the front-end management program and the calculation program.
[0113] See Figure 2 ,based on Figure 1 The data processing method for overcoming the memory bottleneck of the DOS operating system in the system architecture includes the following steps:
[0114] A. Front-end management program interface file output: When stripping the original application, to ensure the accuracy of the original calculation program, the calculation program was divided into two main categories: C language calculation program (VC language calculation program) and assembly calculation program. When the C calculation service needs to be called, the front-end management program will organize the data required for the calculation into a standard structure and write it to the interface file INDATA.DAT in binary format; when the assembly calculation service needs to be called, the front-end management program will directly save the data required for the calculation to the data file.
[0115] B. Front-end management program flag file output: When the front-end management program calls the C computing service and completes step A, a flag file READOVER.DAT will be generated. This file has no content and is only used as a marker that the data has been written. When the front-end management program calls the assembly computing service and completes step A, a flag file OLDDATA.DAT will be generated.
[0116] C. Scheduled startup of background service middleware: In order not to consume more CPU resources, the background service middleware needs to be set to start on a schedule, once every 50 milliseconds.
[0117] D. Calculation Required: The backend service middleware detects the output of the flag file and determines that a calculation is required; otherwise, it continues to wait.
[0118] E. Determining if the flag is "old": This flag is used by the background service middleware to select the computational program to call. When the flag file is OLDDATA.DAT, the assembly computational service component is called; when the flag file is READOVER.DAT, the C computational service component is called.
[0119] F. Data Structure Conversion: The compiler of the front-end management program is 16-bit, while the compiler of the C computing service component is 32-bit. In order to avoid data inconsistency caused by the difference in compiler bitness, the back-end service middleware converts the structure data in the interface file INDATA.DAT one by one, so that the data becomes structure data that is compatible with the 32-bit compiler.
[0120] G. Calling the C Computation Service Component: The C Computation Service Component takes the converted structure data as input, completes the calculation, and returns the calculation result to the background service middleware.
[0121] H. Data Structure Inverse Conversion: The background service middleware receives the calculation results from the C calculation service component and performs an inverse conversion on the calculation results to transform the data into structure data that is compatible with 16-bit compilers.
[0122] I. Write the calculation results to the interface file: The backend service middleware writes the converted structure data to the interface file OUTDATA.DAT.DAT in binary format. After the writing is completed, a flag file WRITOVER.DAT will be generated. This file has no content and only serves as a marker that the data writing is complete.
[0123] J. Front-end management program reads interface file results: The front-end management program detects the generation of WRITOVER.DAT, reads the calculation results in the interface file and displays them on the interface.
[0124] K. Calling the Assembly Calculation Service Component: In the judgment of step E, when the flag file is OLDDATA.DAT, the Assembly Calculation Service Component uses the data saved by the front-end management program as input conditions to complete the calculation.
[0125] L. Write the calculation results to the data file: Write the calculation results of the assembly calculation service component to the data file of the front-end management program. After the writing is completed, a flag file OLDDATA1.DAT will be generated. This file has no content and is only used as a marker that the data writing is complete.
[0126] M. Front-end management program reads data file results: The front-end management program detects the generation of OLDDATA1.DAT, reads the calculation results and displays them on the interface.
Claims
1. A data processing method that overcomes the memory bottleneck of the DOS operating system, characterized in that, Includes the following steps: Step 1) Build the processing system framework, including a front-end management program module, a back-end service middleware, and a computing program module; the computing program module includes an assembly computing service component and a C computing service component; Step 2) The front-end management program module receives input data, processes the input data to obtain a flag file, and transmits the flag file to the back-end service middleware; Step 3) The background service middleware determines the type of the flag file and inputs the flag file into the assembly computing service component or C computing service component of the computing program module according to the flag file type; Step 4) The calculation program module calculates the flag file, obtains the calculation result, and transmits the calculation result to the background service middleware; Step 5) The background service middleware transforms the calculation results and writes the transformed calculation results into the calculation result interface file; Step 6) The front-end management program module reads and displays the calculation result interface file; The front-end management program module runs independently on the DOS system; The calculation program module is equipped with a calculation program; The computing program includes an assembly program and a C language program that run on the DOS operating system, and a program that runs on the Windows operating system. When the C calculation service component receives the flag file, the calculation program module performs the following steps on the flag file: S1) Perform data structure conversion on the flag file running on the DOS system to obtain the structure data running on the Windows system; S2) The C calculation service component is used to calculate the structure data to obtain the calculation result; When the background service middleware receives the calculation results transmitted by the C calculation service component, it performs a data structure inverse transformation on the calculation results running on the Windows system to obtain the calculation results running on the DOS system.
2. The data processing method for overcoming the memory bottleneck of the DOS operating system according to claim 1, characterized in that: The input data includes data that needs to be numerically calculated.
3. The data processing method for overcoming the memory bottleneck of the DOS operating system according to claim 1, characterized in that: The steps for processing the input data to obtain the flag file include: Step 1) The front-end management program module receives input data and processes it to obtain standard interface data; Step 2) The front-end management program module generates an interface data file based on standard interface data; Step 3) The front-end management program module generates a flag file corresponding to the assembly calculation service or C calculation service based on the user input data.
4. The data processing method for overcoming the memory bottleneck of the DOS operating system according to claim 1, characterized in that: The background service middleware starts once every T cycles. After starting, if no flag file is received, it enters a sleep state and waits for the next start. If a flag file is received, the type of the flag file is determined.
5. The data processing method for overcoming the memory bottleneck of the DOS operating system according to claim 1, characterized in that: The flag file types include OLDDATA.DAT and READOVER.DAT; When the flag file is of type OLDDATA.DAT, the background service middleware will transfer the flag file to the assembly computing service component of the computing program module; When the flag file is of type READOVER.DAT, the background service middleware transmits the flag file to the C computing service component of the computing program module.
6. The data processing method for overcoming the memory bottleneck of the DOS operating system according to claim 1, characterized in that, When the assembly calculation service component receives the flag file, the calculation program module performs the following steps on the flag file: using the assembly calculation service component to calculate the data in the flag file and obtain the calculation result.