An outflow process approval epidemic disease judgment method based on big data
By using xxljob scheduled tasks and Redis database queries, cultural and tourism resource data is filtered and uploaded in segments, solving the interface limitation problem of pushing cultural and tourism resource reservation data. This achieves a unified data push program and accurate data aggregation, reducing the cost of information technology construction.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHONGQING TOURISM CLOUD INFORMATION TECH CO LTD
- Filing Date
- 2022-12-28
- Publication Date
- 2026-05-19
AI Technical Summary
In areas with a high incidence of infectious diseases, the limited data volume and request frequency of server interfaces when pushing reservation data for cultural and tourism resources have led to each cultural and tourism resource needing to modify its own interface, which increases the cost and difficulty of information technology construction and makes it impossible to form a unified reservation data push program.
The system employs xxljob scheduled tasks, queries the Redis database to push cursors, filters out the data that needs to be retransmitted, retransmits it in segments according to the interface requirements, and updates the cursor after each successful push. This provides a unified program for pushing scenic area reservation data, ensuring data accuracy.
The interface limitation issue has been resolved, enabling independent calculation and accurate push of various cultural and tourism resources, reducing the cost of information technology construction, and ensuring that data is correctly aggregated to the server.
Smart Images

Figure CN115827946B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of artificial intelligence technology, specifically to a method for judging the prevalence of infectious diseases in the approval process for leaving home based on big data. Background Technology
[0002] In areas where infectious diseases are prevalent, cultural and tourism activities typically require approval for personnel to travel outside the area and reservations for cultural and tourism resources to reduce the risk of infection. However, when aggregating and reporting reservation data for these resources, multiple resources share a single reservation platform system. Furthermore, server limitations on interface data volume and request frequency during data push require each resource to modify its own program to connect and open the data collection interface. This prevents the formation of a single, universally applicable reservation data push program, increasing the cost and difficulty of information technology development for each resource. Summary of the Invention
[0003] This application provides a big data-based method for judging the prevalence of infectious diseases in the approval process for outbound travel, and provides a unified scenic spot reservation data push program. The data to be pushed by each cultural and tourism resource is calculated independently, and the reservation data of each resource is pushed accurately and regularly in accordance with the requirements of the server-side collection interface. A reliable retransmission mechanism is established to ensure that the reservation data of the resources is pushed to the server for aggregation without errors.
[0004] In view of the above problems, this application provides a method for judging the prevalence of infectious diseases in the approval process of going out based on big data. The method includes: using xxljob timed task scheduling, when the task starts, querying the Redis database to see if there is a previously recorded push cursor. If there is no previously recorded push cursor, it is determined to be an initial upload. Assume that the start cursor maxLastId of this upload should be 0. If the Redis database has a set of previously recorded push cursors scenicLastIdCursor, the maximum value of multiple cursors is obtained and regarded as the start cursor maxLastId of this upload. Based on the set of previously recorded push cursors scenicLastIdCursor obtained in S1 and the previous maximum cursor value maxLastId, the scenic area cursor information lastF that has failed to upload and needs to be re-uploaded is filtered out. `ailCursor`: Retrieves the `recordList`, which should have been uploaded for this task. Iterates through and encapsulates the `recordList` -> `needUploadRecordList`, and encapsulates the `lastFailCursor` (the cursor of the scenic spot that should have been uploaded) and `maxLastId` (the start cursor of the upload) into a `retryList`. The retry list is then re-uploaded, requiring segmented re-upload based on the data volume limitations of the collection interface. The `needUploadRecordList` is then pushed. After each successful data push, the upload cursor in the Redis database is written back, including during each re-upload, to provide a basis for judgment in the next push.
[0005] One or more technical solutions provided in this application have at least the following technical effects or advantages:
[0006] Because XXLJob is used for scheduled tasks, when the task starts, it checks the Redis database for a previously recorded push cursor. If no previously recorded push cursor is found, it is considered an initial upload. The starting cursor `maxLastId` for this upload is set to 0. If the Redis database contains a set of previously recorded push cursors (`scenicLastIdCursor`), the maximum value of these cursors is used as the starting cursor `maxLastId` for this upload. Based on the previously recorded push cursor set `scenicLastIdCursor` and the previous maximum cursor value `maxLastId` obtained in S1, the `lastFailCursor` is used to filter out the scenic area cursor information that failed to upload and needs to be re-uploaded. The task then retrieves the cursor information that should have been uploaded normally. The upload record collection `recordList` is traversed and encapsulated. The original `recordList` (which should have been uploaded) is encapsulated as `needUploadRecordList`. The `lastFailCursor` (the cursor of the scenic area that should have been uploaded) and `maxLastId` (the starting cursor of the current upload) are encapsulated as the re-upload data collection information (`retryList`). The re-uploaded data from `retryList` is then re-uploaded, and the re-upload is segmented according to the data volume limit of the collection interface. The data package that should have been uploaded in this upload is then pushed to `needUploadRecordList`. After each successful data push, the upload cursor in the Redis database is written back, including the upload cursor of the corresponding cultural tourism resource during each re-upload, for use as a basis for the next push. This invention addresses the issue that server limitations on interface data volume and request frequency, which previously required individual cultural and tourism resources to modify their own programs to connect to and collect open interfaces, preventing the formation of a unified, shared reservation data push program. It provides a unified scenic area reservation data push program where each cultural and tourism resource calculates its own push data independently and periodically pushes its own reservation data according to server-side collection interface requirements, establishing a reliable retransmission mechanism to ensure accurate and error-free submission of reservation data to the server for aggregation. The above description is merely an overview of the technical solution of this application. To better understand the technical means of this application and to facilitate its implementation according to the description, and to make the above and other objectives, features, and advantages of this application more apparent, specific implementation methods are described below. Attached Figure Description
[0007] Figure 1 This is a flowchart illustrating a method for determining the prevalence of infectious diseases in the approval process for leaving the home, based on big data, as described in this application. Detailed Implementation
[0008] This application provides a big data-based method for judging the prevalence of infectious diseases in the approval process of outbound travel. It addresses the problem that when aggregating and reporting reservation data for cultural and tourism resources, multiple resources share a single reservation platform system. Furthermore, during the data push process, server limitations on interface data volume and request frequency lead to individual resources needing to modify their own programs to connect to open collection interfaces, preventing the formation of a unified, shareable reservation data push program. By providing a unified scenic spot reservation data push program, the application ensures that the data to be pushed by each cultural and tourism resource is calculated independently. It also allows for the accurate and timely push of reservation data to the server according to the server's collection interface requirements and the establishment of a reliable retransmission mechanism, guaranteeing that the reservation data is accurately pushed to the server for aggregation.
[0009] Application Overview
[0010] When collecting and reporting reservation data for cultural and tourism resources, multiple cultural and tourism resources share a single reservation platform system. Each cultural and tourism resource needs to modify its own program to connect to the open interface for data collection. Instead, a shared reservation data push program has not been formed, which increases the cost and difficulty of information technology construction for each cultural and tourism resource.
[0011] To address the aforementioned technical problems, the overall approach of the technical solution provided in this application is as follows:
[0012] This application provides a method for judging the prevalence of infectious diseases in the approval process for outbound travel based on big data. The method includes: using an XXLJob scheduled task; when the task starts, querying the Redis database for a previously recorded push cursor; if no previously recorded push cursor is found, it is determined to be an initial upload; assuming the starting cursor `maxLastId` for this upload is 0; if the Redis database has a set of previously recorded push cursors `scenicLastIdCursor`, obtaining the maximum value of these cursors, which is considered the starting cursor `maxLastId` for this upload; and filtering out the `lastFailC` cursor information of scenic spots that failed to upload and need to be re-uploaded based on the previously recorded push cursor set `scenicLastIdCursor` and the previous maximum cursor value `maxLastId`. `ursor`; retrieves the `recordList` collection of records that should have been uploaded in this task; iterates through and encapsulates the `recordList` -> `needUploadRecordList`, and encapsulates the `lastFailCursor` (the cursor of the scenic spot that should have been uploaded) and `maxLastId` (the start cursor of the upload that should have been uploaded) into a `retryList`; uploads the retry list data, which needs to be segmented according to the data volume limit of the collection interface, and pushes the data packet that should have been uploaded in this task into `needUploadRecordList`; after each successful data push, writes back the upload cursor in the Redis database, including writing back the upload cursor of the corresponding cultural and tourism resource during each retry, so as to use it as a basis for the next push.
[0013] After introducing the basic principles of this application, various non-limiting embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0014] Example
[0015] like Figure 1 As shown, this application provides a method for determining the prevalence of infectious diseases in the approval process for outbound travel based on big data, wherein the method includes:
[0016] S1. Task Scheduling
[0017] The task uses xxljob for scheduled tasks. When the task starts, it checks the Redis database to see if there is a previously recorded push cursor. If there is no previously recorded push cursor, it is determined to be the initial upload. The starting cursor maxLastId for this upload is set to 0. If the Redis database has a set of previously recorded push cursors scenicLastIdCursor, the maximum value of the multiple cursors is obtained and regarded as the starting cursor maxLastId for this upload.
[0018] Specifically, determining the starting point of the method's task through the Redis database helps users have a more accurate foundation for the original data that needs to be judged, making it easier for the method to query relevant data subsequently and improving the overall accuracy of the prediction.
[0019] S2. Complete the information
[0020] Based on the previously recorded set of push cursors scenicLastIdCursor obtained from S1 and the previous maximum cursor value maxLastId, filter out the scenic area cursor information lastFailCursor that has failed to upload and needs to be re-uploaded.
[0021] Specifically, by using the method of filtering out the lastFailCursor information of scenic spot cursors that failed to upload and need to be re-uploaded, this method can be used to summarize and analyze information more quickly and accurately, thereby improving its functionality and practicality.
[0022] S3. Get the set
[0023] Get the recordList collection that should have been uploaded for this task;
[0024] Specifically, by obtaining the recordList, which should normally be uploaded for this task, the speed of subsequent data processing by this method can be ensured, thereby improving the overall efficiency of the method.
[0025] S4. Collection Encapsulation
[0026] Iterate through the collection of records that should have been uploaded, recordList->needUploadRecordList, and encapsulate the data collection information of the scenic spot cursor information lastFailCursor and the starting cursor maxLastId that should have been uploaded this time, and encapsulate the data collection information of the re-uploaded data -> retryList.
[0027] Specifically, by traversing and encapsulating the set of records that should normally be uploaded, users can make basic judgments about the prevalence of infectious diseases using this method, reducing the difficulty for users to actually operate the method and improving its functionality and effectiveness.
[0028] S5. Data Retransmission
[0029] To re-upload the retrylist data, it is necessary to re-upload in segments according to the data volume limit of the collection interface, and push the data packet that should have been uploaded in this case, needUploadRecordList.
[0030] Specifically, it facilitates the realization of the basic functionalities of this method.
[0031] S6. Data Feedback
[0032] After each successful data push, the upload cursor in the Redis database is written back, including the upload cursor of the corresponding cultural and tourism resources during each re-upload, so as to serve as the basis for judgment in the next push.
[0033] Specifically, it helps to provide a data foundation for subsequent judgments of the method and improves the overall functionality of the method when it is used.
[0034] Furthermore, the method in this application includes a data acquisition module, characterized in that the data acquisition module is connected to a data analysis module, the data analysis module is connected to a backend service module, the backend service module is connected to a frontend display interface module, and the frontend display interface module is connected to a process approval module.
[0035] Specifically, by breaking down the method into modules, it provides a foundation for users to use the method as a whole, making it easier for them to make judgments on infectious diseases based on different usage scenarios, reducing the difficulty of use and improving the effectiveness of use.
[0036] Furthermore, the data acquisition module further includes the following steps:
[0037] A1. Data Crawling
[0038] Data was obtained through daily updates of emerging infectious diseases released by various provinces and municipalities, as well as through web crawlers.
[0039] A2. Data Cleaning
[0040] Data processing using the translate framework includes the following steps:
[0041] A201: Loading data on prevalent infectious disease sources from the database;
[0042] A202: Creates a regular expression pair (regex) for matching English characters;
[0043] A203: Create a translate instance object trans;
[0044] A204: Iterate over the data on sources of prevalent infectious diseases, setting the iteration object to Itemi;
[0045] A205: Itemi is judged by regex. If the data is in English, proceed to Step 6; otherwise, proceed to A107.
[0046] A206: Use the trans object to perform Chinese translation on Itemi;
[0047] A207: Save the Itemi object to the database.
[0048] Specifically, using the translate framework for data processing improves the thoroughness of data cleaning and enhances the effectiveness of the method in practical applications.
[0049] Furthermore, the data analysis module further includes the following steps:
[0050] B1. Data Statistics
[0051] Using Spark as a big data processing and analysis framework, and combining it with other big data frameworks for data statistics;
[0052] B2. Epidemic Infectious Disease Prediction
[0053] A SEIR infectious disease prediction model is introduced, and the control of the number of susceptible individuals in this model is shown in the formula:
[0054] ds / dt=-[pcβ+pcq(1-β)]S(I+θE)+λSq
[0055] Formula q is the isolation ratio, β is the probability of infection, c is the contact rate, p is the effective contact coefficient, which is usually a fixed value of 1, pc is the effective contact rate, the conversion rates of susceptible individuals are S, isolated susceptible individuals Sq, isolated potential individuals Eq and potential individuals E, which are cq(1−β), qβ(1−q) and pcβ(1−q) in formula (1), considering the influence of non-isolated infected individuals I and latent individuals E on susceptible individuals, susceptible individuals have been released from isolation, Sq is converted back to S, θ is the ratio of the transmissibility of potential infected individuals to that of infected individuals; it is assumed that patients in the incubation period have the same infectivity as those who have already shown symptoms, i.e., θ=1, λ is the isolation release rate, which has a value of 1 / 14;
[0056] Overall dynamic equations of the model:
[0057] ds / dt=-[pcβ+pcq(1-β)]S(I+θE)+λSq
[0058] dE / dt=pcβ(1-q)S(I+θE)-σE
[0059] dI / dt=σE-(δI+α+γl)l
[0060] dsq / dt=pcq(1-β)S(I+θE)-λSq
[0061] dEq / dt=pcβqs(I+θE)-δqEq
[0062] dH / dt=δII+δqEq-(α+γH)H
[0063] dR / dt=γII+γHH
[0064] σ is the conversion rate from latent to infected, taken as 1 / 7 (incubation period is 7 days), α is the case fatality rate, δI is the isolation rate of infected, γI is the recovery rate of infected, Eq is the conversion rate from isolated latent to isolated infected, and γH is the recovery rate of isolated infected.
[0065] B3. Parameter Optimization Algorithm
[0066] The differential evolution algorithm is used to optimize the parameters of the data. The classic strategy operator of the differential evolution algorithm is: vi = x1i + F × (x2i - x3i).
[0067] In the formula, x1, x2, and x3 are three individuals selected from the current population, i represents the i-th gene locus, and F is a quantization factor that can be used to control the difference between the newborn individual and the parent individual x1. Since there are many parent individuals referenced in the DE operator, the difference between the newly generated offspring individuals and the original parent individuals is also large. Therefore, it has a good global search capability and is often used to deal with complex optimization problems to avoid the algorithm getting stuck in local optima.
[0068] B4. Specific Algorithm Steps
[0069] B401: Initialize population control parameters: population size pop_size, maximum number of evolutions max_Iterate; {xi(0)||xli,j≤xi,j(0)≤xUi,j;i=1,2,⋯,NP;j=1,2,⋯,D}{Xi(0)|xi,jL≤xi,j(0)≤xi,jU;i=1,2,⋯,NP;j=1,2,⋯,D}(4);
[0070] In formula (4), xiXi is the i-th individual, and j represents the j-th dimension;
[0071] xi,j(0)=xli,j+rand(0,1)(xUi,j-xl,j)xi,j(0)=xi,jL+rand(0,1)(xi,jU-xi,jL)(5);
[0072] In the formula, XLi,jXi,jL and xUi,jXi,jU are the lower and upper bounds of the i-th dimension, respectively, and rand(0,1) represents a random number in the interval [0, 1].
[0073] B402: Randomly initialize cn cluster centers and generate an initial population Chrom. Calculate the membership degree of each sample for each cluster center using formula (3), and calculate the fitness value of each individual using formula, where i=1,2,⋯,pop_size.
[0074] B403: Set the evolution iteration parameter Iterate = 0;
[0075] B404: Genetic operations of selection, crossover, and mutation are performed on the population Chrom. For newly generated individuals, the formula is used to calculate the cn cluster centers and the membership degree of each sample, and the fitness value fifi of each individual is calculated using the formula. If fi>Fifi>Fi, then the new individual replaces the old individual; otherwise, with probability p=exp((Fi-fi)T), the new individual is accepted and the old individual is discarded.
[0076] B405: Set Iterate = Iterate + 1; if Iterate < max_Iterate, go to Step 4; otherwise, execute Step 6;
[0077] B406: Let Ti = J * Ti-1; if Ti > Tend, then go to Step 3; otherwise, proceed to Step 7.
[0078] B407: Output the optimal solution.
[0079] Specifically, this yields cn different clusters that are sparsely distributed among themselves and densely packed within the same cluster, which helps to further improve the comprehensiveness and accuracy of the method when used to judge epidemic infectious diseases.
[0080] Furthermore, the backend service module uses the Spring Boot framework written in Java to read the results processed by the big data module.
[0081] Specifically, in order to facilitate the reading of statistical and predictive data results from the data analysis module and provide users with a good responsive experience on the front-end page, the back-end service should have good compatibility and integration capabilities with the data analysis module, and be able to meet performance requirements under certain high concurrency conditions. This will help to further improve the functionality of the method when it is used, and facilitate the improvement of the accuracy of the method in judging epidemic infectious diseases.
[0082] Furthermore, the front-end display interface module uses the Vue 3 framework.
[0083] Specifically, it facilitates interactive use of the method by users.
[0084] Furthermore, in the process approval node, the process approval module uses data algorithms to predict the probability of an outbreak of infectious disease and the probability of repeated outbreaks of infectious disease in the area. When a certain probability is reached, the flow control platform automatically reminds the approver and provides relevant local infectious disease management measures.
[0085] Specifically, it helps improve the method's usability in real-world situations, making it easier for users to use the method to assess infectious diseases.
[0086] In summary, the method for determining the prevalence of infectious diseases in the approval process for outbound travel based on big data provided in this application has the following technical effects:
[0087] 1. Due to the use of xxljob scheduled tasks, when the task starts, it checks the Redis database for a previously recorded push cursor. If no previously recorded push cursor is found, it is considered an initial upload. The starting cursor `maxLastId` for this upload is set to 0. If the Redis database contains a set of previously recorded push cursors (`scenicLastIdCursor`), the maximum value of these cursors is used as the starting cursor `maxLastId` for this upload. Based on the previously recorded push cursor set `scenicLastIdCursor` and the previous maximum cursor value `maxLastId` obtained in S1, the cursor information `lastFailCursor` for scenic spots that failed to upload and need to be re-uploaded is filtered out. The set of records that should normally be uploaded in this task (`recordList`) is obtained. The `recordList->needUploadRecordList` is iterated through and encapsulated, and the cursor information `lastFailCursor` for scenic spots that need to be re-uploaded is retrieved as needed. The `sor` and `maxLastId` cursors that should have been uploaded this time encapsulate the information of the re-uploaded data set -> `retryList`. The re-uploaded data `retryList` needs to be re-uploaded in segments according to the data volume limits of the collection interface, pushing the data packet that should have been uploaded this time, `needUploadRecordList`. After each successful data push, the upload cursor in the Redis database is written back, including the upload cursor of the corresponding cultural and tourism resource during each re-upload, for use as a basis for the next push. This solves the problem that due to possible server limitations on the interface data volume and request frequency, each cultural and tourism resource needs to modify its own program to connect to the open collection interface, without forming a unified, shareable reservation data push program. It provides a unified scenic spot reservation data push program, where the push data for each cultural and tourism resource is calculated independently, and the reservation data of each resource is accurately pushed regularly according to the server-side collection interface requirements, establishing a reliable re-upload mechanism to ensure that the reservation data of the resources is correctly pushed to the server for aggregation.
[0088] Those skilled in the art will understand that the various numerical designations, such as "first," "second," etc., used in this application are merely for descriptive convenience and are not intended to limit the scope of this application, nor do they indicate a chronological order. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one" refers to one or more. "At least two" refers to two or more. "At least one," "any one," or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.
[0089] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from its scope. Thus, if such modifications and modifications fall within the scope of the claims and their equivalents, this application intends to include such modifications and modifications.
Claims
1. A method for determining the prevalence of infectious diseases in the approval process for outbound travel based on big data, characterized in that, The method includes: S1. Task Scheduling The task uses xxljob for scheduled tasks. When the task starts, it checks the Redis database to see if there is a previously recorded push cursor. If there is no previously recorded push cursor, it is determined to be the initial upload. The starting cursor maxLastId for this upload is set to 0. If the Redis database has a set of previously recorded push cursors scenicLastIdCursor, the maximum value of the multiple cursors is obtained and regarded as the starting cursor maxLastId for this upload. S2. Complete the information Based on the previously recorded set of push cursors scenicLastIdCursor obtained from S1 and the previous maximum cursor value maxLastId, filter out the scenic area cursor information lastFailCursor that has failed to upload and needs to be re-uploaded. S3. Get the set Get the recordList collection that should have been uploaded for this task; S4. Collection Encapsulation Iterate through the collection of records that should have been uploaded, recordList->needUploadRecordList, and encapsulate the data collection information of the scenic spot cursor information lastFailCursor and the starting cursor maxLastId that should have been uploaded this time, and encapsulate the data collection information of the re-uploaded data -> retryList. S5. Data Retransmission To re-upload the retrylist data, it is necessary to re-upload in segments according to the data volume limit of the collection interface, and push the data packet that should have been uploaded in this case, needUploadRecordList. S6. Data Feedback After each successful data push, the upload cursor in the Redis database is written back. This also applies to each re-upload, where the upload cursor for the corresponding cultural and tourism resource is written back, so that it can be used as a basis for judgment in the next push.
2. The method as described in claim 1, comprising a data acquisition module, characterized in that, The data acquisition module is connected to the data analysis module, the data analysis module is connected to the backend service module, the backend service module is connected to the frontend display interface module, and the frontend display interface module is connected to the process approval module.
3. The method as described in claim 2, characterized in that, The data acquisition module further includes the following steps: A1. Data Crawling Data was obtained through daily updates of emerging infectious diseases released by various provinces and municipalities, as well as through web crawlers. A2. Data Cleaning Data processing using the translate framework includes the following steps: A201: Loading data on prevalent infectious disease sources from the database; A202: Creates a regular expression pair (regex) for matching English characters; A203: Create a translate instance object trans; A204: Iterate over the data on sources of prevalent infectious diseases, setting the iteration object to Itemi; A205: Itemi is judged by regex. If the data is in English, proceed to Step 6; otherwise, proceed to A107. A206: Use the trans object to perform Chinese translation on Itemi; A207: Save the Itemi object to the database.
4. The method as described in claim 2, characterized in that, The data analysis module further includes the following steps: B1. Data Statistics Using Spark as a big data processing and analysis framework, and combining it with other big data frameworks for data statistics; B2. Epidemic Infectious Disease Prediction A SEIR infectious disease prediction model is introduced, and the control of the number of susceptible individuals in this model is shown in the formula: ds / dt=-[pcβ+pcq(1-β)]S(I+θE)+λSq(1) Formula q is the isolation ratio, β is the probability of infection, c is the contact rate, p is the effective contact coefficient, pc is the effective contact rate, and the conversion rates of susceptible individuals are non-isolated susceptible individuals S, isolated susceptible individuals Sq, isolated potential susceptible individuals Eq, and potential susceptible individuals E, respectively. The conversion rate coefficients between the four are cq(1−β), qβ(1−q), and pcβ(1−q) in formula (1), respectively. Considering the influence of non-isolated infected individuals I and latent individuals E on susceptible individuals, susceptible individuals have been released from isolation, and Sq is converted back into S. θ is the ratio of the transmissibility of potential infected individuals to that of infected individuals. It is assumed that patients in the incubation period have the same infectivity as those who have already shown symptoms, i.e., θ=1, and λ is the isolation release rate, which has a value of 1 / 14. Overall dynamic equations of the model: ds / dt=-[pcβ+pcq(1-β)]S(I+θE)+λSq dE / dt=pcβ(1-q)S(I+θE)-σE dI / dt=σE-(δI+α+γl)l dsq / dt=pcq(1-β)S(I+θE)-λSq dEq / dt=pcβqs(I+θE)-δqEq dH / dt=δII+δqEq-(α+γH)H dR / dt=γII+γHH σ is the conversion rate from latent to infected, taken as 1 / 7, α is the case fatality rate, δI is the isolation rate of infected, γI is the recovery rate of infected, Eq is the conversion rate from isolated latent to isolated infected, and γH is the recovery rate of isolated infected. B3. Parameter Optimization Algorithm The differential evolution algorithm is used to optimize the parameters of the data. The classic strategy operator of the differential evolution algorithm is: vi = x1i + F × (x2i - x3i). In the formula, x1, x2, and x3 are three individuals selected from the current population, i represents the i-th gene locus, and F is a quantization factor that can be used to control the difference between the newborn individual and the parent individual x1. Since there are many parent individuals referenced in the DE operator, the difference between the newly generated offspring individuals and the original parent individuals is also large. Therefore, it has a good global search capability and is often used to deal with complex optimization problems to avoid the algorithm getting stuck in local optima. B4. Specific Algorithm Steps B401: Initialize population control parameters: population size pop_size, maximum number of evolutions max_Iterate; {xi(0)||xli,j≤xi,j(0)≤xUi,j;i=1,2,⋯,NP;j=1,2,⋯,D}{Xi(0)|xi,jL≤xi,j(0)≤xi,jU;i=1,2,⋯,NP;j=1,2,⋯,D}(4); In formula (4), xiXi is the i-th individual, and j represents the j-th dimension; xi,j(0)=xli,j+rand(0,1)(xUi,j-xl,j)xi,j(0)=xi,jL+rand(0,1)(xi,jU-xi,jL)(5); In the formula, XLi,jXi,jL and xUi,jXi,jU are the lower and upper bounds of the i-th dimension, respectively, and rand(0,1) represents a random number in the interval [0, 1]. B402: Randomly initialize cn cluster centers and generate an initial population Chrom. Calculate the membership degree of each sample for each cluster center using formula (3), and calculate the fitness value of each individual using formula, where i=1,2,⋯,pop_size. B403: Set the evolution iteration parameter Iterate = 0; B404: Genetic operations of selection, crossover, and mutation are performed on the population Chrom. For newly generated individuals, the formula is used to calculate the cn cluster centers and the membership degree of each sample. The fitness value fifi of each individual is also calculated using the formula. If fi>Fifi>Fi, then the new individual replaces the old individual; otherwise, the new individual is accepted and the old individual is discarded with probability p=exp((Fi-fi) / T). B405: Set Iterate = Iterate + 1; if Iterate < max_Iterate, go to Step 4; otherwise, execute Step 6; B406: Let Ti = J * Ti-1; if Ti > Tend, then go to Step 3; otherwise, proceed to Step 7. B407: Output the optimal solution.
5. The method as described in claim 2, characterized in that, The backend service module uses the Spring Boot framework written in Java to read the results processed by the big data module.
6. The method as described in claim 2, characterized in that, The front-end display interface module uses the Vue3 framework.
7. The method as described in claim 2, characterized in that, In the process approval node, the process approval module uses data algorithms to predict the probability of an outbreak of infectious disease and the probability of repeated outbreaks of infectious diseases in the area. When a certain probability is reached, the flow control platform automatically reminds the approver and provides relevant local infectious disease management measures.