Emergency rescue resource cooperative scheduling method and system based on arrival timing constraint
Patent Information
- Application Number
- CN202611429122.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-09-15
- Publication Date
- 2026-10-20
AI Technical Summary
(1)救援事件及资源状态信息来源较多,部分系统缺少对预警数据质量、资源位置时效、资格状态、设备状态和任务占用状态的统一处理,容易影响事件创建和候选资源筛选的准确性
本发明,通过统一处理救援事件信息以及救援人员、急救点和急救设备的资源状态信息,并结合路径通行时间、通知应答时延、位置采样时效和角色操作时长确定到达时间区间,能够减少低质量事件信息和不可用资源对调度结果的影响,改善仅根据显示距离筛选资源所造成的到达时间估计偏差,提高候选资源筛选和到达时序安排的准确性。
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer resource scheduling technology, and in particular to a collaborative scheduling method and system for emergency rescue resources based on arrival time constraints. Background Technology
[0002] Upon receiving a distress call or confirmed health alert, emergency rescue service organizations need to select suitable rescue resources from their organizational resources, including rescue personnel, first aid stations, and emergency equipment, and complete task allocation, resource occupancy management, and execution process tracking. Existing emergency rescue dispatch platforms typically filter resources based on the distance between the event location and the resource location, and send task notifications to resources within a preset range. This type of dispatching method may still have the following problems: (1) There are many sources of information on rescue events and resource status. Some systems lack unified processing of early warning data quality, resource location timeliness, eligibility status, equipment status and task occupancy status, which can easily affect the accuracy of event creation and candidate resource screening.
[0003] (2) Some systems mainly estimate the arrival time of resources based on the displayed distance, without fully considering the actual path travel time, notification response delay, location sampling time and role operation time. This may result in resources that cannot arrive on time being listed as priority resources.
[0004] (3) Rescue personnel, first aid points and first aid equipment are usually matched separately, making it difficult to coordinate the arrival order, personnel mutual exclusion and equipment occupation of different rescue roles. This can easily lead to situations where personnel arrive repeatedly, first aid equipment is left unused, or the arrival times of different roles are not coordinated.
[0005] (4) Some systems use one-time or large-scale broadcasting methods, lacking clear resource notification order, response waiting time limit and exclusive occupancy control, which can easily increase instantaneous communication load and may cause the same rescue resource to be repeatedly allocated by multiple rescue events.
[0006] (5) After the rescue resources are confirmed, some systems cannot identify anomalies in a timely manner based on terminal heartbeat, location changes and path progress; when one of the rescue roles cannot continue to perform the task, it is often necessary to regenerate the overall scheduling result, which may affect other confirmed rescue roles.
[0007] (6) The existing system has limited use of historical mission data and lacks a mechanism for quality screening and feedback calibration according to spatial area, time period and rescue role, making it difficult to continuously correct the prediction deviation of arrival time based on actual execution results. Summary of the Invention
[0008] To address at least one of the technical problems existing in the prior art, the present invention provides an emergency rescue resource collaborative scheduling method based on arrival time constraints, an emergency rescue resource collaborative scheduling system, and a non-transitory computer-readable storage medium.
[0009] The first objective of this invention is achieved as follows: An emergency rescue resource collaborative scheduling method based on arrival time constraints, executed by a scheduling server oriented towards emergency rescue service organizations, wherein the scheduling server is communicatively connected to distress terminals, rescue personnel terminals, first aid station terminals, and first aid equipment terminals via a communication network, characterized in that it includes: S1. Obtain rescue event information and rescue resource information. The rescue event information includes event location, event initiation time, event type, equipment demand identifier, and rescue time limit. The rescue resources include rescue personnel, first aid points, and distributed first aid equipment. S2. Generate resource status records for the rescue personnel, the first aid point, and the distributed first aid equipment, respectively. The resource status records include at least resource identifier, resource location, location sampling time, availability status, communication reachability status, and task occupancy status. Based on the event location, the rescue time limit, and the resource status records, candidate resources are filtered, and for each candidate resource undertaking different rescue roles, the corresponding arrival time interval is determined based on the path travel time, notification response delay, location sampling timeliness, and role operation duration. S3. Establish a rescue role chain based on the equipment requirement identifier and determine the target combination of roles and rescue resources; In response to the equipment demand identifier indicating a need for emergency medical equipment, a rescue role chain is established, including at least an advance arrival role and an equipment-carrying role. Advance arrival candidate tasks are generated, whereby candidate rescuers directly arrive at the event location, and equipment-carrying candidate tasks are generated, whereby candidate rescuers arrive at candidate emergency medical equipment, acquire the equipment, and then arrive at the event location. Candidate tasks that meet the role eligibility criteria, personnel mutual exclusion criteria, and equipment occupancy criteria are combined. A joint scheduling cost is generated based on the upper bound of the arrival time interval for each role, the arrival interval between the advance arrival role and the equipment-carrying role, and the communication failure probability of the candidate resources. The candidate combination with the minimum joint scheduling cost is selected as the target combination. In response to the equipment requirement identifier indicating that no emergency equipment is needed, a rescue role chain is established that includes at least the aforementioned early arrival roles, and early arrival candidate tasks are generated for candidate rescuers to directly arrive at the event location; for early arrival candidate tasks that meet the role qualification conditions and the personnel mutual exclusion conditions, they are sorted in ascending order according to the upper bound of the arrival time interval and in ascending order according to the communication failure probability, and the rescue roles and rescue resources corresponding to the first-ranked early arrival candidate tasks are determined as the target combination; S4. Based on the upper bound of the arrival time interval and the communication failure probability when the unselected candidate resources assume the corresponding rescue role, sort the unselected candidate resources and form multiple broadcast batches to be activated sequentially; send task instructions matching the corresponding rescue role to the rescue resources in the target combination; when the rescue personnel or first aid point confirms acceptance of the corresponding rescue role, establish the corresponding role lease; when the role carried by the equipment is confirmed, establish a device lease for the first aid equipment corresponding to the role carried by the equipment; when any rescue role is not confirmed within the response waiting window, activate the next corresponding broadcast batch until the rescue role is confirmed or the broadcast termination condition is met; S5. Update the corresponding arrival time interval based on the terminal heartbeat, location update data and path node status uploaded by the confirmed rescue resources; when the upper bound of the updated arrival time interval exceeds the corresponding role arrival threshold, invalidate the corresponding role lease; when any role lease is invalidated, while keeping other valid roles in the rescue role chain unchanged, use the remaining candidate resources to reallocate the invalidated role corresponding to the role lease until the rescue completion information is received.
[0010] By uniformly acquiring rescue event and resource information through a scheduling server, and combining path travel time, notification response delay, location sampling timeliness, and role operation duration to determine arrival time intervals, and determining target combinations based on the arrival order, resource exclusivity, and equipment occupancy relationships among rescue roles, this approach can improve the problems of inaccurate arrival time estimation caused by selecting resources solely based on displayed distance, and the lack of coordination due to the separate allocation of different resources. Simultaneously, by sequentially activating broadcast batches, establishing role and equipment leases, and partially reassigning failed roles, indiscriminate broadcasting and duplicate occupancy can be reduced. This allows for anomaly adjustments while maintaining other valid roles, improving the continuity of resource planning and task allocation within emergency rescue service organizations.
[0011] The primary objective of this invention can also be achieved using the following technical measures: Furthermore, in step S1, the rescue event information is triggered by the one-click emergency call command of the distress terminal and / or the health warning information output by the life and health monitoring device; For events triggered by the health warning information, the data quality identifier output by the life and health monitoring device, the number of warning repetitions, the consistency between different detection channels, and the confirmation result returned by the distress terminal or associated personnel terminal are converted into evaluation values within a preset range. The evaluation values are then aggregated according to pre-configured weights to obtain the event confidence level. When a confirmed distress call instruction is received, or when the event confidence level reaches a preset event threshold within a preset number of consecutive sampling windows, a rescue event is created, and the equipment demand identifier is generated according to the correspondence between the event type and the preset equipment demand rules.
[0012] By comprehensively evaluating the data quality of health warning information, the number of warning repetitions, the consistency between different detection channels, and the confirmation results returned by the terminal, and by creating a rescue event when a confirmed call for help is received or the event confidence level continuously reaches a preset event threshold, the situation of erroneous creation of rescue events due to single abnormal data or occasional communication interference can be reduced. This improves the reliability of rescue event creation and equipment requirement identification generation, and provides reliable task information for subsequent organization of resource allocation.
[0013] Furthermore, the resource status records corresponding to the rescue personnel also include qualification validity status, training and assessment status, daily check-in status, guarded area and guarded time period; the resource status records corresponding to the emergency medical equipment also include equipment online status, power status, consumable validity status, open time period, access permission status and equipment lease status; the resource status records corresponding to the emergency medical station also include duty status, emergency medical capability type and current task load; In step S2, when screening candidate resources, rescue personnel with invalid qualifications, whose tasks are already occupied or who are unreachable by communication are excluded; emergency medical equipment with abnormal online status, power status that does not meet the usage conditions, consumables that are expired, open hours that have been exceeded, access permissions that are not met, or equipment leases that have already been established are excluded; and emergency medical points that are not on duty or whose current task load exceeds the load limit are excluded.
[0014] By setting separate resource status fields for rescue personnel, first aid equipment, and first aid points, and removing resources that are invalid, have already been assigned to a task, are unreachable, have abnormal equipment status, or whose first aid point load exceeds the limit from the candidate resources, the problem of unavailable resources entering the scheduling scope due to incomplete or untimely resource status information can be improved, the accuracy of candidate resource screening results can be increased, and invalid task notifications and resource allocation conflicts can be reduced.
[0015] Furthermore, in step S2, for any candidate path that can assume any rescue role for any candidate resource, the arrival time interval is determined as follows: The lower bound of the arrival time interval is obtained by sequentially summing the lower bound of the path travel time of the candidate path, the lower bound of the notification response delay of the corresponding communication channel, and the role operation time of the rescue role. The upper bound of the arrival time interval is obtained by sequentially accumulating the upper bound of the path travel time of the candidate path, the upper bound of the notification response delay of the corresponding communication channel, the operation time of the role, the location timeliness correction amount corresponding to the freshness level of the location sampling time, and the historical calibration bias corresponding to the spatial grid where the event is located and the rescue role. When the upper bound of the arrival time interval obtained in the above manner is less than the lower bound of the arrival time interval, the upper bound of the arrival time interval is corrected to be equal to the lower bound of the arrival time interval. The candidate path for the role carried by the device includes a first path segment from the candidate rescuer to the candidate first aid device and a second path segment from the candidate first aid device to the event location. The role operation duration of the role carried by the device includes the expected search duration, cabinet opening duration, and retrieval duration of the candidate first aid device.
[0016] By incorporating the path travel time, notification response delay, role operation duration, location timeliness correction, and historical calibration bias of candidate paths into the upper and lower bounds of the arrival time interval, and by including the time required for the role carrying the equipment to reach the emergency equipment, obtain the emergency equipment, and carry the emergency equipment to the event location, the problem of estimating arrival time based solely on the distance between the resource and the event location, which fails to reflect the complete task process, can be improved. This provides a calculable time boundary for candidate resource screening and arrival sequence determination, thereby improving the rationality of arrival time prediction.
[0017] Furthermore, in response to the equipment demand identifier indicating the need for emergency equipment, when there are candidate emergency points whose upper bound of the arrival time interval does not exceed the emergency point arrival threshold, the rescue role chain also includes an emergency point support role; in step S3, for any candidate combination, the upper bound of the arrival time interval of each rescue role in the candidate combination, the duration of the time exceeding the allowed interval between the early arrival role and the equipment-carrying role, the communication failure probability of each candidate resource in the candidate combination, and the path overlap degree between candidate paths corresponding to different candidate resources are converted into scheduling evaluation values within a preset value range. The scheduling evaluation values are summarized according to a preset weight to obtain the joint scheduling cost of the candidate combination; the scheduling server enumerates a preset number of candidate resource combinations ranked first for each rescue role, and selects the candidate combination with the smallest joint scheduling cost from the candidate combinations that satisfy the personnel mutual exclusion condition, the equipment occupancy condition, the role qualification condition, and the role arrival threshold as the target combination.
[0018] By setting up first aid support roles in the rescue role chain, and comprehensively considering the upper limit of the arrival time interval of each role, the duration of different roles exceeding the allowed interval, the communication failure probability of candidate resources, and the path overlap of candidate paths, a target combination is determined from candidate combinations that meet the conditions of personnel mutual exclusion, equipment occupancy, role qualification, and role arrival threshold. This can improve the problem of difficulty in making overall comparison when different rescue roles are sorted separately, and make the determined target combination take into account the arrival order, communication reliability, and path correlation, thereby improving the rationality of joint allocation of resources from multiple organizations.
[0019] Furthermore, in step S4, the candidate resources are sorted from small to large according to the upper bound of the arrival time interval and from low to high according to the probability of communication failure, and the candidate rescuers and candidate first aid points located within the preset initial spatial range are prioritized to be included in the first broadcast batch. For any candidate resource, if the candidate resource has a notification task record within a preset history window, the proportion of the number of tasks that did not respond effectively to the total number of notification tasks is determined as the communication failure probability of the candidate resource; if the candidate resource does not have a notification task record within the preset history window, the default communication failure probability corresponding to the resource type and the currently used communication channel type of the candidate resource is read from the communication failure probability configuration table, and the default communication failure probability is determined as the communication failure probability of the candidate resource. When the number of historical valid response durations for the same time period and the same type of communication channel reaches the preset sample size, the duration corresponding to the preset quantile is selected from the historical valid response durations as the candidate waiting duration; when the number of historical valid response durations is less than the preset sample size, the default waiting duration corresponding to the current time period and the current communication channel type is read from the response duration configuration table, and the default waiting duration is determined as the candidate waiting duration. When the candidate waiting time is less than the preset minimum waiting time, the preset minimum waiting time is determined as the response waiting window; when the candidate waiting time is greater than the preset maximum waiting time, the preset maximum waiting time is determined as the response waiting window; when the candidate waiting time is between the preset minimum waiting time and the preset maximum waiting time, the candidate waiting time is determined as the response waiting window. The dispatch server sends the task instruction via in-app push through a rescue application running on the rescuer's terminal or the first aid station terminal; when the task instruction does not receive a valid response within the response waiting window, the backup communication channel is activated in the order of SMS notification and intelligent voice notification; when any rescue role is not confirmed, subsequent broadcast batches are expanded step by step according to the path travel time threshold, and broadcasting stops when the preset maximum broadcast duration is reached from the time the event is initiated.
[0020] By sorting candidate resources according to the upper bound of the arrival time interval and the probability of communication failure, determining the response waiting window based on the historical effective response duration, and sequentially activating backup communication channels and expanding the subsequent broadcast range when no effective response is received in the application push, it is possible to improve the problems of large instantaneous communication load caused by a one-time large-scale broadcast and the untimely activation of subsequent resources when the preceding resources do not respond. This allows task notifications to be sent step by step in a clear order and within a controlled time limit, thereby controlling the communication load while increasing the likelihood of rescue roles receiving effective confirmation.
[0021] Furthermore, the role lease includes at least a rescue event identifier, a rescue role identifier, a resource identifier, a lease version, an issuance time, and an expiration time. The scheduling server performs atomic verification on the lease version to ensure that the same rescue resource corresponds to only one valid role lease at the same time period. For a confirmed rescue role, if no heartbeat is received from the corresponding terminal for more than a preset heartbeat duration, the emergency medical equipment associated with the rescue role becomes unavailable, or the upper bound of the updated arrival time interval exceeds the corresponding role arrival threshold, the scheduling server immediately invalidates the corresponding role lease. If the remaining distance from the rescue resource in the target combination to the next path node does not decrease according to the preset progress, the scheduling server invalidates the corresponding role lease if this situation is detected for a consecutive preset number of monitoring cycles.
[0022] By recording the rescue event identifier, rescue role identifier, resource identifier, and lease version in the role lease, and performing atomic verification on the lease version, the duplicate allocation of the same rescue resource in the same time period can be avoided. By immediately invalidating the role lease when the terminal heartbeat times out, the associated emergency equipment is unavailable, or the upper bound of the arrival time interval exceeds the role arrival threshold, and confirming the insufficient path progress for several consecutive monitoring cycles before invalidating the role lease, the timeliness of anomaly handling and the stability of status judgment can be balanced, providing a reliable resource occupancy status for the local reallocation of invalid roles.
[0023] Further, during the period when the previously arrived role has established a role lease but the device-carrying role has not yet been confirmed, the scheduling server continues to execute step S4 for the device-carrying role and step S5 for the previously arrived role; the remaining rescue duration from the current scheduling time is determined based on the event initiation time and the rescue time limit, and the smaller of the remaining rescue duration and the duration obtained by adding the allowed interval of the device-carrying role relative to the previously arrived role to the upper bound of the arrival time interval updated by the previously arrived role is determined as the completion arrival threshold of the device-carrying role; a role chain collaboration record is established, including at least the rescue event identifier, the confirmed rescue role identifier, the rescue role identifier to be completed, the completion arrival threshold, the collaboration version, the generation time, and the collaboration failure time; from the remaining candidate resources with an available status of available, a task occupancy status of idle, and no valid role lease or device lease, a new device-carrying candidate task with an arrival time interval upper bound not exceeding the completion arrival threshold is generated, and the tasks are arranged in order of increasing arrival time interval upper bound and decreasing communication failure probability. In ascending order, the broadcast batches and subsequent broadcast batches of the device-carrying role to be activated are reconstructed; a task instruction carrying the collaborative version is sent to the corresponding candidate rescuer, and atomic verification is performed on the collaborative version. Confirmation is accepted only when the returned collaborative version is consistent with the currently valid role chain collaborative record, and the corresponding candidate rescuer and candidate first aid device still meet the personnel mutual exclusion condition, the device occupancy condition, and the role qualification condition; when the change of the completion threshold reaches a preset adjustment range, or the device-carrying candidate task corresponding to the sent task instruction no longer meets the completion threshold, the completion threshold is updated and the collaborative version is incremented, so that the unconfirmed task instruction corresponding to the old collaborative version is invalidated, and a task withdrawal instruction is sent to the rescuer terminal that received the unconfirmed task instruction. The broadcast batches of the device-carrying role are reconstructed again while keeping the role lease of the early-arriving role unchanged; when the role lease of the early-arriving role expires, the device-carrying role is confirmed, or the broadcast termination condition is met, the role chain collaborative record is invalidated.
[0024] By determining the arrival threshold for the equipment-carrying role during the period when the previously arrived role has been confirmed but the equipment-carrying role has not, using the updated arrival time interval of the previously arrived role, and re-screening the equipment-carrying candidate tasks and reconstructing the broadcast batch accordingly, it is possible to avoid continuing to send task instructions based on the arrival time estimate at the initial scheduling time. By including a collaborative version in the task instructions and performing atomic verification on the returned collaborative version and candidate resource status, it is possible to prevent late responses from old broadcast batches from creating new resource occupancy. At the same time, by keeping the role leases of the previously arrived role unchanged when adjusting the equipment-carrying role, it is possible to reduce the impact of some unconfirmed roles on the already effective scheduling results, and improve the timeliness and continuity of the rescue role chain completion process.
[0025] Furthermore, after receiving the rescue completion information, the actual notification time, actual response time, actual departure time, and actual arrival time are obtained, and the actual equipment retrieval time is obtained when the rescue role chain corresponding to the rescue event includes the equipment carrying role; the duration between the actual arrival time and the actual notification time is determined as the actual arrival duration; the intermediate duration between the lower and upper bounds of the arrival time interval is determined as the prediction center duration; the difference between the actual arrival duration and the prediction center duration is determined as the prediction error; and prediction errors exceeding the preset error range are adjusted to the corresponding boundary values of the preset error range. The adjusted prediction errors are grouped according to spatial grid, time period and rescue role; for each group, the median of the adjusted prediction errors in the group is determined as the current representative error, and the original historical calibration bias and the current representative error of the group are weighted and merged according to a preset update ratio to obtain the updated historical calibration bias. The preset update ratio represents the proportion of the current representative error in the weighted merging result. The median of the absolute values of the deviations between the adjusted prediction errors and the updated historical calibration biases within the group is determined as the current representative value of fluctuation. The original path travel time fluctuation and the current representative value of fluctuation are then weighted and merged according to the preset update ratio to obtain the updated path travel time fluctuation. The upper bound of the basic path travel time for subsequent tasks in the same group is added to the updated path travel time fluctuation to determine the upper bound of the path travel time for subsequent tasks in the same group. The upper bound of the basic path travel time is the upper bound of the path travel time not yet included in the path travel time fluctuation. Rescue records that lack critical moments, have location jumps exceeding a preset distance, are manually canceled, or have incomplete equipment access status when the rescue role chain corresponding to the rescue event includes the equipment-carrying role, are not updated.
[0026] By obtaining the actual mission time after the rescue is completed, determining the actual arrival time and prediction error, and grouping the prediction error according to spatial grid, time period, and rescue role, and updating the historical calibration bias and path travel time fluctuation by using median, error range limit, and weighted merging methods, the problem of fixed prediction parameters being difficult to adapt to the actual execution situation in different regions and time periods can be improved. At the same time, by excluding rescue records with missing key moments, abnormal locations, or incomplete mission status, the impact of abnormal data on historical parameters can be reduced, improving the stability and adaptability of subsequent arrival time intervals.
[0027] Furthermore, when the same candidate resource is simultaneously selected into the target combination of two or more incomplete rescue events, or simultaneously enters the broadcast batches currently awaiting activation of two or more incomplete rescue events, the scheduling server establishes a conflict resource record using the resource identifier of the candidate resource, and determines the remaining arrival margin of the candidate resource when it assumes the corresponding rescue role in each relevant rescue event; the remaining arrival margin is the duration obtained by subtracting the upper bound of the arrival time interval of the candidate resource from the remaining rescue duration from the current scheduling time. The scheduling server determines the target rescue events in descending order of event level and ascending order of remaining arrival margin, and establishes a conditional reservation record for the candidate resource and the target rescue event, which includes at least the resource identifier, target rescue event identifier, rescue role identifier, reserved version, generation time, and reserved expiration time; by performing atomic verification on the reserved version, the same candidate resource corresponds to only one valid conditional reservation record in the same time period. During the validity period of the conditional reservation record, it is prohibited to issue role leases or equipment leases containing the candidate resource for other rescue events. When the corresponding rescue role in the target rescue event is confirmed before the reservation expires, the conditional reservation record is converted into the corresponding role lease or equipment lease according to the resource type of the candidate resource. If it is not confirmed after the reservation expires, the conditional reservation record is released, and the conditional reservation is re-executed for the next rescue event in the sequence. For other rescue events that have not obtained the candidate resource, the already effective role leases and equipment leases remain unchanged, and the target combination of the affected rescue roles is re-determined only using the remaining candidate resources.
[0028] By identifying resource conflicts between target combinations or pending broadcast batches for the same candidate resource when multiple incomplete rescue events occur concurrently, and determining the target rescue event that prioritizes the candidate resource based on the event level and remaining arrival margin, and implementing atomic verification and temporary exclusive control using conditional reservation records with reserved versions and reserved expiration times, the problem of duplicate occupation caused by multiple rescue events selecting the same candidate resource simultaneously can be improved. After the corresponding rescue role is confirmed, the conditional reservation record is converted into a role lease or equipment lease. If it is not confirmed before the reservation expiration time, the conditional reservation record is released in a timely manner and the next rescue event is processed according to the sorting results, while keeping other already effective role leases and equipment leases unchanged. Only the target combination of the affected rescue roles is re-determined, which can reduce the impact of resource conflict handling on existing scheduling results and improve the orderliness, continuity and stability of organizational resource allocation in the case of multiple concurrent rescue events.
[0029] The second objective of this invention is achieved as follows: An emergency rescue resource collaborative scheduling system based on arrival time constraints includes a scheduling server, a distress terminal, a rescuer terminal, a first aid point terminal, and a first aid equipment terminal. The scheduling server is communicatively connected to the distress terminal, the rescuer terminal, the first aid point terminal, and the first aid equipment terminal via a communication network. The scheduling server includes: The event acquisition module is used to acquire rescue event information and rescue resource information; The resource status construction module is used to generate resource status records for rescue personnel, first aid stations, and distributed first aid equipment, and to filter candidate resources based on the resource status records. The accessibility assessment module is used to determine the arrival time range of each candidate resource when it assumes different rescue roles, based on path travel time, notification response delay, location sampling timeliness, and role operation duration. The rescue chain generation module is used to establish a rescue role chain that includes at least the early arrival role and the equipment carrying role. It combines candidate tasks that meet the role qualification conditions, personnel mutual exclusion conditions and equipment occupancy conditions. It generates a joint scheduling cost based on the upper bound of the arrival time interval of each role, the arrival interval between the early arrival role and the equipment carrying role and the communication failure probability of the candidate resources, and determines the target combination of roles and rescue resources. The phased scheduling module is used to form multiple broadcast batches that are activated sequentially, send task instructions matching the corresponding rescue roles to the rescue resources in the target combination, establish role leases when rescue personnel or first aid points confirm acceptance of the corresponding rescue roles, and establish corresponding equipment leases when the equipment carrying the role is confirmed. The process monitoring module is used to update the arrival time interval based on terminal heartbeat, location update data and path node status, and when the role lease expires or the upper bound of the updated arrival time interval exceeds the corresponding role arrival threshold, it performs local reallocation of the expired role while keeping other valid roles unchanged; and the feedback calibration module is used to update the historical calibration bias and path travel time fluctuation of the arrival time interval based on the actual time series data after the rescue is completed.
[0030] By setting up an event acquisition module, resource status construction module, reachability assessment module, rescue chain generation module, phased scheduling module, process monitoring module, and feedback calibration module in the scheduling server, the rescue event handling, resource status management, arrival time assessment, task allocation, resource notification, execution monitoring, and historical calibration are integrated into a continuous data processing process. This can improve the problem of different management functions being scattered and difficult to share resource status and scheduling results, and enable emergency rescue service organizations to achieve unified management and collaborative scheduling of multiple types of resources.
[0031] The third objective of this invention is achieved as follows: A non-transitory computer-readable storage medium storing a computer program thereon, wherein when the computer program is executed by a processor, the processor performs the aforementioned emergency rescue resource collaborative scheduling method.
[0032] By storing the computer program corresponding to the emergency rescue resource collaborative scheduling method in a non-transitory computer-readable storage medium, the processor can automatically execute the rescue event acquisition, candidate resource screening, target combination determination, broadcast batch activation, resource occupation control, and anomaly reallocation according to predetermined steps. This can improve the deployment consistency and execution stability of scheduling rules on different computing devices and achieve the technical effects produced by the aforementioned emergency rescue resource collaborative scheduling method.
[0033] The beneficial effects of this invention are as follows: This invention, by uniformly processing rescue event information and resource status information of rescue personnel, first aid points and first aid equipment, and combining path travel time, notification response delay, location sampling timeliness and role operation duration to determine arrival time intervals, can reduce the impact of low-quality event information and unavailable resources on scheduling results, improve the arrival time estimation bias caused by filtering resources solely based on displayed distance, and improve the accuracy of candidate resource screening and arrival sequence arrangement.
[0034] This invention establishes a rescue role chain that includes early arrival roles, equipment-carrying roles, and optional first aid support roles. It determines target combinations based on role qualification conditions, personnel mutual exclusion conditions, equipment occupancy conditions, arrival order, communication failure probability, and path overlap. This enables the coordinated allocation of tasks among rescue personnel, first aid points, and first aid equipment, reducing situations such as repeated direct arrivals of personnel, unused first aid equipment, and inconsistent arrival times among different rescue roles.
[0035] This invention reduces the instantaneous communication load caused by a large-scale broadcast at one time by forming broadcast batches that are activated sequentially according to the upper bound of the arrival time interval and the probability of communication failure, determines the response waiting window based on historical response data, and uses role leases, equipment leases, and lease version control to control resource occupation. This avoids the same rescue resources being repeatedly allocated at the same time period and improves the orderliness of organizational resource notification and occupation management.
[0036] This invention identifies failed roles based on terminal heartbeats, location update data, path node status, and updated arrival time intervals, and performs local reallocation while keeping other valid roles unchanged. This reduces the impact of a single role's anomaly on the overall scheduling results. Simultaneously, by updating historical calibration biases and path travel time fluctuations based on actual time-series data after rescue completion, arrival time predictions can gradually adapt to the actual execution conditions of different regions, time periods, and rescue roles, thereby improving the continuity and stability of collaborative scheduling of emergency rescue resources. Attached Figure Description
[0037] Figure 1 This is a schematic diagram of the emergency rescue resource collaborative scheduling system according to an embodiment of the present invention; Figure 2 This is a flowchart of the emergency rescue resource collaborative scheduling method according to an embodiment of the present invention; Figure 3 This is a schematic diagram of the screening process for rescue event records and resource status records according to an embodiment of the present invention; Figure 4 This is a schematic diagram of the arrival time interval determination process according to an embodiment of the present invention; Figure 5 This is a schematic diagram of the rescue role chain and candidate path in an embodiment of the present invention; Figure 6 This is a flowchart illustrating the batch broadcasting, lease monitoring, and partial reallocation processes according to an embodiment of the present invention. Figure 7 This is a flowchart illustrating the historical calibration data update process according to an embodiment of the present invention. Detailed Implementation
[0038] The present invention will be further described below with reference to the accompanying drawings and specific embodiments. It should be noted that the following embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit the scope of protection of the present invention. In the absence of conflict, the various embodiments and their technical features can be combined with each other.
[0039] This invention relates to resource planning, task allocation, and status management for emergency rescue service organizations. A "rescue event" refers to a task event requiring the emergency rescue service organization to deploy rescue personnel, first-aid stations, and / or first-aid equipment. Rescue events can be initiated by the public or triggered by confirmed health warning information output by life and health monitoring equipment. This invention only performs data quality evaluation, event trigger determination, and organizational resource scheduling on health warning information; it does not output disease diagnosis results.
[0040] The term "rescue resources" in this invention includes rescue personnel, first aid stations, and distributed first aid equipment. Distributed first aid equipment refers to first aid equipment that is dispersed in different locations and managed uniformly by a dispatch server; hereinafter, it is collectively referred to as first aid equipment. "Resource status record" refers to data records generated and continuously maintained by the dispatch server for a single rescue resource; "candidate resource" refers to a rescue resource that, after initial screening based on rescue event information and resource status records, is capable of undertaking at least one rescue role or can be combined with other rescue resources to form candidate tasks.
[0041] "Arrival Time Interval" refers to the estimated duration from the current dispatch time until the rescue resources complete the corresponding rescue role requirements and arrive at the event location; "Rescue Role Chain" refers to the set of rescue roles organized according to the collaborative relationship between rescue roles for the same rescue event; "Early Arrival Role" refers to a rescue role that arrives at the event location directly without using the designated first aid equipment; "Equipment Carrying Role" refers to a rescue role that first arrives at the designated first aid equipment storage location, retrieves the equipment, and then carries the first aid equipment to the event location; "First Aid Point Support Role" refers to a rescue role for which personnel are dispatched by the first aid point to the event location.
[0042] "Target combination" refers to the combination of rescue roles and rescue resources used to execute the current rescue event, determined from candidate tasks or combinations that meet role qualification conditions, personnel mutual exclusion conditions, and equipment occupancy conditions when involving emergency medical equipment, based on the aforementioned equipment requirement identifier. "Role lease" refers to the electronic status record of the dispatch server exclusively allocating a rescue resource to a specific rescue event and rescue role within a limited time period; "equipment lease" refers to the electronic status record of the dispatch server exclusively allocating an emergency medical device to a specific rescue event within a limited time period; "conditional reservation record" refers to a temporary exclusive status record established before the corresponding rescue role is confirmed when two or more incomplete rescue events are competing for the same candidate resource, possessing a reserved version and a reserved expiration time.
[0043] "Role chain collaboration record" refers to an electronic status record used to record the arrival threshold and collaboration version when the role arriving earlier has been confirmed but the role carried by the equipment has not yet been confirmed, and to control the effective status of the corresponding task instructions of the role carried by the equipment; "arrival threshold completion" refers to the maximum estimated arrival time that the role carried by the equipment can meet the rescue time limit and role arrival interval requirements while keeping the role arriving earlier unchanged.
[0044] "Communication reachability status" refers to the current status of whether at least one communication channel can deliver mission instructions normally; "communication failure probability" refers to the proportion of missions in which the same rescue resource fails to respond effectively within a preset historical window out of the total number of notification missions. Communication reachability status is used to determine whether a rescue resource can currently receive mission instructions, while communication failure probability is used for candidate combination evaluation and candidate resource ranking. The two are generated and used separately.
[0045] Example 1: As Figure 1 As shown, this embodiment provides an emergency rescue resource collaborative scheduling system, including a scheduling server 200, a data storage unit 210, a communication network 220, a distress terminal 300, a life and health monitoring device 310, a related personnel terminal 320, multiple rescuer terminals 400, multiple first aid point terminals 500, multiple first aid equipment terminals 600, and a medical institution terminal 700. The scheduling server 200 is communicatively connected to the aforementioned terminals via the communication network 220. The communication network 220 may include one or more of the following: the Internet, a mobile communication network, a short message gateway, and a smart voice gateway.
[0046] The distress terminal 300 can be a mobile terminal with a mini-program, application, or web application installed, or it can be a distress call device with a one-click distress call button. The rescuer terminal 400 is used by first aid volunteers or professional rescuers who have completed identity verification, training, and assessment. The first aid station terminal 500 can be set up in community health service stations, hospitals, public first aid stations, or duty stations to receive task instructions through audio-visual prompts and pop-up windows.
[0047] The emergency medical equipment terminal 600 is associated with the emergency medical equipment or its storage cabinet and is used to report resource location, equipment online status, power status, consumable availability, cabinet door status, opening hours, and access permission status. In this embodiment, the emergency medical equipment is an automated external defibrillator; in other embodiments, the emergency medical equipment may also be a first aid kit, an oxygen supply device, or other portable emergency medical equipment.
[0048] The life and health monitoring device 310 can be an emergency call device, a vital signs detector, a smartwatch, a fall detector, or other terminal capable of outputting health warning information. The associated personnel terminal 320 is used by family members, guardians, or health management personnel pre-associated with the monitored person to receive health warning information and return confirmation results. The medical institution terminal 700 is used to receive rescue event information, view allocated rescue resources and task execution progress, or report to the dispatch server 200 that professional rescue has been taken over.
[0049] The scheduling server 200 includes an event acquisition module 110, a resource status construction module 120, a reachability assessment module 130, a rescue chain generation module 140, a phased scheduling module 150, a process monitoring module 160, and a feedback calibration module 170. These modules can be implemented by program modules within the same server, or they can be distributed across multiple servers, edge computing nodes, or cloud computing nodes.
[0050] Data storage unit 210 stores user authentication information, training and assessment information, rescue event records, resource status records, road route data, historical response time, historical passage time, historical calibration bias, path passage time fluctuation, role lease, equipment lease, conflict resource records, condition reservation records, and role chain collaboration records.
[0051] The mapping table, configuration table, and calibration data table described below are all structured data tables stored in data storage unit 210. Each row includes an index field and a corresponding output field. The scheduling server 200 matches the index field and reads the output field based on the current input. Numerical ranges are set in a left-open, right-closed manner, with the first range containing zero also containing zero, to avoid duplicate boundary value hits. The specific values described below provide an executable initialization configuration to illustrate the data processing procedure and do not represent medical diagnostic thresholds or obtained test results; after configuration updates, the same configuration version is used in the same scheduling round. Internal calculations involving duration are uniformly expressed in seconds, and internal calculations involving distance are uniformly expressed in meters.
[0052] Example 2: Figure 2 and Figure 3 As shown, in step S1, the event acquisition module 110 receives a one-click emergency call command sent by the emergency terminal 300, or receives health warning information output by the life and health monitoring device 310, and generates a rescue event record based on the received information.
[0053] The rescue event record should include at least the rescue event identifier, event location, event initiation time, event type, event level, equipment request identifier, rescue time limit, and event confidence level. The event location can be determined based on the satellite positioning, cellular network positioning, or wireless LAN positioning results of the distress terminal 300. When the distress terminal 300 cannot provide a valid positioning result, a user-preset address, the bound address of the life and health monitoring device 310, or a manually entered location can be used, and a time margin corresponding to the positioning accuracy level should be added when subsequently determining the arrival time interval.
[0054] The event type is determined according to the type code in the input message. The event acquisition module 110 pre-stores the correspondence between the input source, the warning type code, and the event type: in manual distress messages, the type code for "carrying an automated external defibrillator for support" corresponds to a device support event, and the type code for "personnel assistance" corresponds to a personnel assistance event; in health warning messages, the fall warning code corresponds to a fall warning event, and the abnormal vital signs warning code corresponds to a vital signs warning event. For messages with only a one-button press but no type code, missing warning type codes, or mismatched warning types, the event type is recorded as an event to be verified, and a type confirmation request is sent to the distress terminal 300 or the associated personnel terminal 320; the event type is updated after receiving confirmation. The scheduling server 200 reads the warning types already generated by the monitoring equipment and does not perform disease diagnosis in this method based on the original vital signs data.
[0055] The event initiation time is the moment when the dispatch server 200 first receives a valid distress message or health warning message corresponding to the event. Event confirmation and type updates do not reset this time. The event level and rescue time limit are determined by pre-configured event rules. For example, equipment support events and vital sign warning events are configured as high-level, fall warning events as medium-level, and personnel assistance events as normal-level; events that have not yet been verified are assigned a high-level dispatch priority. The event level only indicates the dispatch priority. The rescue time limit represents the total allowable dispatch arrival time from the event initiation time, which can be set by the emergency rescue service organization according to its service response objectives; one initial configuration sets the rescue time limits for high, medium, and normal levels to 600 seconds, 900 seconds, and 1200 seconds, respectively. This time limit is used for resource dispatch comparison and does not represent a safe time judgment based on the human condition.
[0056] The rescue time limit is calculated by adding the event initiation time to the rescue time limit expiration time. The remaining rescue time is calculated by subtracting the current scheduling time from the rescue time limit expiration time, rounded down to zero if less than zero. The arrival threshold for each rescue role is converted to the remaining time since the current scheduling time, and is not greater than the remaining rescue time. The arrival threshold for the first aid point is the arrival threshold for the first aid point support role. One configuration sets the deadline for each role as the rescue time limit expiration time and sets the allowed interval between the role carried by the equipment and the previously arrived role to 180 seconds. Each rescheduling recalculates the time limit, and the total rescue time calculated from the event initiation time is not directly compared with the arrival time interval calculated from the current scheduling time.
[0057] When a rescue event is triggered by a one-click emergency call command, the event acquisition module 110 writes the confirmation status corresponding to the one-click emergency call command into the rescue event record and creates a rescue event. When a rescue event is triggered by a health warning message, the event acquisition module 110 reads the data quality identifier output by the life and health monitoring device 310, the number of warning repetitions per unit time, the consistency between different detection channels, and the confirmation result returned by the emergency terminal 300 or the associated personnel terminal 320.
[0058] The event acquisition module 110, based on a preset mapping table, converts data quality identifiers, warning repetition counts, consistency between different detection channels, and confirmation results into evaluation values between zero and one, and reads the pre-configured corresponding weights, each summing to one. Each evaluation value is multiplied by its corresponding weight and then summed to obtain the event confidence level. A rescue event is created directly upon receiving a confirmed emergency call instruction; otherwise, a rescue event is created when the event confidence level continuously reaches a preset event threshold. The specific conversion method is as follows.
[0059] The data quality identifier mapping table uses quality status as an index, mapping valid, interfered but usable, and invalid statuses to 1, 0.5, and 0 respectively; missing data quality identifiers are treated as invalid. The number of repeated warnings under the same warning type on the same terminal is counted based on the number of warnings with different sampling times within each 30-second sampling window; message retransmissions are not counted repeatedly. When the number of repeated warnings is 0, 1, 2, or greater than or equal to 3, it is mapped to 0, one-third, two-thirds, and 1 respectively.
[0060] Consistency between different detection channels is represented by the proportion of valid detection channels supporting the same warning type within the same sampling window: The valid identifier and warning type code of each channel are read from the message, and the number of valid channels for that warning type is divided by the total number of valid channels. The resulting proportion is directly used as the consistency evaluation value. If there are fewer than two valid channels, the evaluation value is 0; if there are no valid channels, no division is performed. For example, if two out of three valid channels output fall warnings, the consistency evaluation value is two-thirds.
[0061] The confirmation result mapping table maps confirmed distress calls to 1, those without confirmed results to 0.5, and those explicitly denying the distress call requirement corresponding to this warning to 0. An explicit denial ends the current round of warning confirmation and resets the consecutive window count to zero; subsequent new valid distress calls or warning messages trigger a separate judgment. In one initialization configuration, the weights for data quality, repetition count, consistency, and confirmation result are 0.3, 0.2, 0.3, and 0.2, respectively; the event threshold is 0.8; and the number of consecutive windows is 2. For example, when the four evaluation values are 1, 1, 1, and 0.5, the event confidence is 0.9; an event is created after two consecutive windows reach the threshold; if the subsequent window fails to meet the threshold, the consecutive count is reset to zero.
[0062] The preset equipment requirement rules are indexed by event type and store at least two output fields: whether equipment is needed and the equipment type. In one configuration, equipment support events correspond to equipment requiring an automated external defibrillator (AED), vital signs warning events correspond to equipment requiring an AED, fall warning events correspond to equipment requiring a first aid kit, and personnel assistance events correspond to equipment not required and the equipment type is empty. Events pending verification correspond to equipment requiring an AED, and are configured as initial carry-on scheduling configurations. Subsequently, after obtaining explicit confirmation of equipment requirement from the person in distress, related personnel, or management personnel, the equipment requirement identifier is updated based on the confirmation result, and affected incomplete tasks are re-verified. The equipment type is used to filter matching candidate emergency equipment, and the equipment requirement identifier is used to determine whether to establish an equipment carry role. The above mapping only generates resource carry instructions, does not authorize equipment use, and does not output medical diagnosis results.
[0063] Example 3: In step S2, the resource status construction module 120 generates resource status records for rescue personnel, emergency equipment, and emergency point, respectively, and uses the resource identifier as the unique index for each resource status record.
[0064] The resource status record for rescue personnel should include at least the resource identifier, resource location, location sampling time, availability status, communication reachability status, task occupancy status, qualification validity status, training and assessment status, daily check-in status, protected area, and protected time period.
[0065] Emergency medical equipment resource status records should include at least the resource identifier, resource location, location sampling time, availability status, communication reachability status, task occupancy status, equipment online status, power status, consumable validity status, open time period, access permission status, and equipment lease status.
[0066] The emergency response point resource status record includes at least the resource identifier, resource location, location sampling time, availability status, communication reachability status, task occupancy status, on-duty status, emergency response capability type, and current task load. The status fields in each resource status record use predefined enumerated values in the data storage unit 210 to ensure that different terminals use the same representation for the same status.
[0067] The resource status construction module 120 merges the static registration data and the latest reported data from the terminal for the same rescue resource according to the resource identifier. When there are multiple reported values for the same status field, the reported value that is latest at the sampling time and has passed the terminal identity verification is retained, and the sampling time is written into the corresponding resource status record.
[0068] Rescuers can set their usual locations and corresponding time periods through the rescuer terminal 400 to form protected areas and protected time periods, and update their real-time locations through daily check-ins. In this embodiment, the location freshness threshold is 60 seconds, and the resource status construction module 120 prioritizes real-time locations that have not exceeded the location freshness threshold. When a rescuer's real-time location exceeds the location freshness threshold but the protected time period is still valid, the center of the protected area can be used as a coarse location for broadcast filtering only; a role lease can only be issued for that rescuer after the rescuer terminal 400 returns a new precise location.
[0069] The resource status construction module 120 first filters resources based on their status records to form a set of qualified resources. For rescue personnel, those with invalid qualifications, those already occupied by other tasks, or those unreachable by all communication channels are removed. For emergency medical equipment, equipment with abnormal online status, power supply not meeting usage conditions, consumables expired, open hours exceeded, access permissions not meeting requirements, or equipment leases already established are removed. For emergency medical stations, those that are unattended or whose current task load exceeds the load limit are removed.
[0070] For battery-powered emergency medical equipment, the power status includes at least whether the battery is installed, whether the device's self-test reports a power failure, and whether the remaining power reaches the access threshold. If the battery is missing, the self-test reports a power failure, the remaining power is below the access threshold, or any of the above necessary conditions cannot be met, the power status is deemed unsuitable for use. The access threshold is determined by reading the minimum available power requirement given by the manufacturer for the device model and combining it with the margin configured by the service organization; for example, if the minimum available power for a device model is 20% and the additional margin is 10%, the access threshold is 30%, and devices with remaining power below 30% are rejected. Devices relying solely on external power are deemed unsuitable when the power supply is disconnected; emergency medical kits that do not require power are recorded as inapplicable in this field and checked through the power status check.
[0071] The resource status construction module 120 performs path filtering on rescue resources in the qualified resource set: for direct routes to the scene by rescue personnel, support routes from first aid points, and combined routes for candidate rescue personnel to the scene via first aid equipment, it reads the lower bound of the path travel time and retains paths and their associated resources whose lower bound does not exceed the preset maximum path travel time, forming an initial candidate resource set. This set is a subset of the qualified resource set. In this embodiment, the preset maximum path travel time is the current remaining rescue time; resources without available paths are not included in the initial candidate resource set. Whether first aid equipment is retained is determined based on the equipment carrying path containing the first aid equipment, and first aid equipment is not considered an independent mobile resource. Resources in the initial candidate resource set are collectively referred to as candidate resources below; their corresponding tasks must also be verified by arrival time interval and role constraints when forming target combinations. The preset initial spatial range is only used for broadcast batch arrangement and does not replace the above path filtering. After the initial candidate resource set is formed, if the resource status changes, the above status filtering is performed again to remove candidate resources that no longer meet the conditions.
[0072] Example 4: The accessibility assessment module 130 determines the corresponding arrival time intervals for the direct arrival path when the candidate rescuer assumes the role of the initial arrival, the equipment carrying path formed by the combination of the candidate rescuer and the candidate first aid equipment, and the candidate path when the candidate first aid point assumes the role of the first aid point support.
[0073] like Figure 4 As shown, the candidate path undergoes path travel time processing, notification response delay processing, location sampling time correction, role operation time superposition, and historical calibration bias correction in sequence to obtain the corresponding arrival time interval.
[0074] For any candidate path for any candidate resource to assume any rescue role, the accessibility assessment module 130 reads the lower and upper bounds of the path travel time, the lower and upper bounds of the notification response delay of the corresponding communication channel, the role operation duration of the rescue role, the location timeliness correction amount, and the historical calibration bias.
[0075] The accessibility assessment module 130 sequentially accumulates the lower bound of the path travel time, the lower bound of the notification response delay, and the role operation duration, and determines the resulting duration as the lower bound of the arrival time interval.
[0076] The accessibility assessment module 130 sequentially accumulates the upper bound of the path travel time, the upper bound of the notification response delay, the role operation duration, the location timeliness correction, and the historical calibration bias, and determines the resulting duration as the upper bound of the arrival time interval. By using the lower and upper bounds of each input data item, the range of values for the time required for candidate resources to complete the corresponding rescue role can be determined.
[0077] When the upper bound of the arrival time interval obtained in the above manner is less than the lower bound of the arrival time interval, the reachability assessment module 130 corrects the upper bound of the arrival time interval to be equal to the lower bound of the arrival time interval, so as to ensure that the determined arrival time interval satisfies the interval relationship that the upper bound is not less than the lower bound.
[0078] The lower bound of the path travel time and the upper bound of the basic path travel time are determined based on the candidate path, travel mode, and current time period. For the same path with no less than 20 valid historical travel records, the 10th percentile and 90th percentile of the historical travel time are taken as the historical lower bound and historical upper bound, respectively. When there is a real-time road service estimated travel time, the smaller of the historical lower bound and the real-time estimated travel time is taken as the path travel time lower bound, and the larger of the historical upper bound and the real-time estimated travel time is taken as the basic path travel time upper bound. When historical samples are insufficient but real-time service is available, 0.8 times the real-time estimated travel time is used as the lower bound and 1.2 times as the basic upper bound. The path carried by the device is calculated by taking the values of two path segments separately and then adding them together. The path travel time fluctuation of the corresponding group is only superimposed once on the merged basic upper bound.
[0079] The quantiles used in this manual are read according to the following rules: Valid samples are arranged in ascending order; the sample number is multiplied by the target quantile ratio and rounded up; the sample corresponding to that index is taken; the index must be at least 1. The median is taken from the middle sample when the sample size is odd, and the average of the two middle samples when the sample size is even. Missing timestamps, reversed timestamps, and duplicate records are removed before statistical analysis. The notification response delay is the time between the initial notification and valid confirmation; its lower and upper bounds are taken from the 10th and 90th percentiles, respectively, when there are at least 20 samples from the same communication channel within the same time period. If the sample size is insufficient, the default lower and upper bounds of the notification response delay are read from the response duration configuration table.
[0080] The time configuration table uses the rescue role as the primary index, and the equipment-carrying role as an index based on equipment type and storage method. It outputs the remaining operation times for preparation, retrieval, cabinet opening, and retrieval. Preparation time is recorded from task confirmation to actual departure; retrieval time is recorded from arrival at the storage location to finding the equipment; cabinet opening time is recorded from initiating the cabinet opening to the cabinet door opening; and retrieval time is recorded from the cabinet door opening to confirmation of equipment retrieval. When there are 20 valid records, the 90th percentile of the corresponding operation record is used as the configuration value. If there are insufficient records, an initial configuration sets the preparation time for the initial arrival role to 10 seconds and the preparation time for the first-aid support role to 30 seconds; the preparation, retrieval, cabinet opening, and retrieval times for the equipment-carrying role are set to 10 seconds, 20 seconds, 10 seconds, and 10 seconds respectively, totaling 50 seconds. Storage methods that do not require cabinet opening have a cabinet opening time of 0 seconds.
[0081] Location sampling duration is the time obtained by subtracting the most recent valid location sampling time from the current scheduling time. Freshness levels are determined based on the location sampling duration: 0-10 seconds is fresh, 10-30 seconds is relatively new, 30-60 seconds is critical, and over 60 seconds is expired. Records with missing location sampling times or those later than the current scheduling time are considered abnormal. Positioning accuracy levels are determined by the positioning accuracy radius reported by the terminal: 0-10 meters is high accuracy, 10-30 meters is medium accuracy, and 30-100 meters is low accuracy. If the positioning accuracy radius is greater than 100 meters or cannot be obtained, a role lease is not issued based on that location; a location update is requested first. Expired and abnormal locations can only be used for rough broadcast filtering by protected area; they are only included in the arrival time interval calculation after a valid new location is obtained.
[0082] The correction configuration table uses the location sampling duration interval and positioning accuracy level as a joint index to output the location time correction. One initialization configuration uses the upper endpoint of the interval divided by 2 as the time correction for high accuracy, with medium accuracy and low accuracy adding 5 seconds and 10 seconds respectively. Therefore, the 0 to 10 second interval reads 5 seconds, 10 seconds, and 15 seconds for high, medium, and low accuracy respectively; the interval from 10 to 30 seconds reads 15 seconds, 20 seconds, and 25 seconds respectively; and the interval from 30 to 60 seconds reads 30 seconds, 35 seconds, and 40 seconds respectively. For example, when the location sampling duration is 24 seconds and the positioning accuracy radius is 18 meters, matching the second duration interval and medium accuracy, 20 seconds is read. The above initialization coefficients and additional amounts are engineering configurations that convert position errors into time margins. After operation, they can be updated according to the 90th percentile of the expected arrival time increase before and after repositioning under the same duration interval and accuracy level; negative increases are counted as 0.
[0083] The calibration data table uses spatial grid, time period, and rescue role as a joint index to output historical calibration bias, path travel time fluctuation, number of valid samples, and update time. The spatial grid is divided in the same planar map coordinate system according to a preset origin and a side length of 500 meters. The event location coordinates are subtracted from the origin coordinates, divided by 500, and rounded down; the resulting row and column numbers form the grid index. Time periods are divided by local time per hour, with the hour number of the current dispatch time serving as the time period index. A new row is created if a corresponding row does not exist in the table; the historical calibration bias is initialized to 0 seconds, and the path travel time fluctuation is initialized to 30 seconds. Subsequently, only records that passed the quality screening in Example 8 are used for updates. The historical calibration bias can be negative, and the path travel time fluctuation must not be less than 0.
[0084] The candidate path for the initial arrival role is the direct path from the candidate rescuer's current location to the incident location. The candidate path for the equipment-carrying role includes a first path segment from the candidate rescuer's current location to the candidate first-aid equipment, and a second path segment from the candidate first-aid equipment to the incident location; the corresponding path travel time includes the travel time for both the first and second path segments, and the corresponding role operation time includes at least the estimated search time, cabinet opening time, and retrieval time for the candidate first-aid equipment. The candidate path for the first-aid point support role is the movement path of the first-aid point personnel from the first-aid point location to the incident location.
[0085] When real-time road services are temporarily unavailable and historical route records are insufficient, the reachability assessment module 130 uses local road route data to form a route and reads the conservative travel time and additional time margin for service degradation corresponding to the route distance range and travel mode from the service degradation configuration table. The conservative travel time is used as the upper bound of the basic path travel time, half of it is used as the lower bound of the path travel time, and the additional time margin for service degradation is then included in the upper bound of the basic path travel time. If the local road route is also unavailable, the corresponding task will not be included in the automatically assigned target combination and manual processing will be requested.
[0086] The path distance intervals in the service degradation configuration table are divided in 500-meter increments. The conservative travel time for each row is calculated by dividing the upper limit of the interval by the conservative speed of the corresponding mode of transportation. The additional time margin for service degradation is 20% of the conservative travel time. One initial configuration sets the conservative walking speed to 1 meter per second and the conservative vehicle speed to 3 meters per second. After sufficient valid historical records are available, the conservative speed can be taken as the 10th percentile of the historical average travel speed of the same mode of transportation, and must be greater than zero; the corresponding table values are recalculated. For example, when the walking path distance is 720 meters, for the interval between 500 meters and 1000 meters, a conservative travel time of 1000 seconds and an additional time margin of 200 seconds are read, with a lower bound of 500 seconds and a base upper bound of 1200 seconds (excluding path travel time fluctuations). This processing is used to form candidate task estimates during service degradation, which still need to be verified by the role arrival threshold.
[0087] The positioning accuracy configuration table handles the uncertainty of event location, while the correction configuration table handles the sampling time and positioning accuracy of candidate resource locations. These two tables correspond to different objects and do not repeatedly accumulate errors for the same location. The positioning accuracy configuration table uses the positioning accuracy radius range of the event location as an index and outputs an additional time margin: 0 to 10 meters is 0 seconds, more than 10 meters to 30 meters is 30 seconds, and more than 30 meters to 100 meters is 100 seconds; the latter two ranges are initialized by dividing the upper endpoint of the radius range by the approach speed of 1 meter per second. For event locations obtained through manual address verification, the accuracy radius is determined by the envelope radius of the area corresponding to the address; if the distance is greater than 100 meters or the radius cannot be determined, location verification is requested, and role leases are not automatically issued until a locatable event location is obtained. The additional time margin is only accumulated once to the upper limit of the arrival time interval.
[0088] The accessibility assessment module 130 reads the path travel time fluctuation of the corresponding group from the calibration data table, adds the fluctuation to the upper bound of the basic path travel time, and obtains the upper bound of the path travel time used in step S2. Then, according to... Figure 4The upper bound of the arrival time interval is obtained by superimposing the upper bound of the notification response delay, the role operation duration, the location timeliness correction, the historical calibration offset, and the applicable event location additional time margin. The upper bound of the basic path travel time does not include the historical calibration offset or path travel time fluctuation to avoid double counting; the above upper and lower bounds are the expected interval endpoints used for scheduling comparison.
[0089] Example 5: In step S3, when the equipment demand identifier indicates a need for emergency medical equipment, the rescue chain generation module 140 establishes at least an initial arrival role and an equipment-carrying role. For example... Figure 5 As shown, the "early arrival role" corresponds to the candidate path for the first candidate rescuer to directly proceed to the incident location; the "equipment carrying role" corresponds to the candidate path for the second candidate rescuer to first proceed to the candidate first aid equipment and then carry that equipment to the incident location. When there are candidate first aid points that are communicatively reachable and whose arrival time interval does not exceed the first aid point arrival threshold, a first aid point support role can also be established.
[0090] The rescue chain generation module 140 establishes a candidate task list for each rescue role, sorted by the upper bound of the arrival time interval, and selects a preset number of candidate tasks from the top of each candidate task list for combination. For each candidate combination, the rescue chain generation module 140 sequentially verifies personnel mutual exclusion conditions, equipment occupancy conditions, role qualification conditions, and role arrival threshold; if any condition is not met, the corresponding candidate combination is eliminated.
[0091] Personnel mutual exclusion condition is used to limit the number of times a single rescuer can assume two conflicting rescue roles at the same time; equipment occupancy condition is used to limit the number of times a candidate first aid equipment does not have a valid equipment lease and is not occupied by other valid tasks; role qualification condition is used to limit the qualification status, training and assessment status, or first aid capability type of the candidate rescuer or candidate first aid point to meet the preset requirements of the corresponding rescue role; role arrival threshold is used to limit the upper limit of the arrival time interval when a candidate resource assumes a corresponding rescue role to not exceed the maximum arrival time allowed for that rescue role.
[0092] For candidate combinations that pass verification, the rescue chain generation module 140 reads the upper bound of the arrival time intervals of the initial arrival role, the equipment-carrying role, and the first-aid point support role in the candidate combination. It determines the duration for which the equipment-carrying role exceeds the allowed interval relative to the initial arrival role, and reads the communication failure probability of each candidate resource in the candidate combination and the path overlap between candidate paths corresponding to different candidate resources. Each data point is converted into a scheduling evaluation value between zero and one according to a preset evaluation interval. If no first-aid point support role is established, no scheduling evaluation value is generated for that role.
[0093] The scheduling evaluation value uniformly adopts a range of zero to one, with a larger value indicating a higher scheduling cost. For each role's arrival time interval upper bound, divide by the current role arrival threshold; if the threshold is 0, no new candidate task is generated. For the equipment-carrying role's excess interval time relative to the previously arrived roles, first subtract the upper bound of the previously arrived roles from the upper bound of the equipment-carrying role, then subtract the allowed interval; if the result is less than 0, take 0, then divide by the current remaining rescue time. The upper bounds for both roles are based on the same current scheduling time. The communication failure probability itself is between zero and one, directly used as the corresponding evaluation value; when a role involves multiple candidate resources, take the maximum of these resource communication failure probabilities as the role's communication evaluation value, then take the arithmetic average of the established roles to obtain the combined communication evaluation value. Each division result is taken as 0 if less than 0, and 1 if greater than 1.
[0094] Path overlap is calculated by dividing the length of the shared road segment of candidate paths for different roles by the length of the shorter path. Repeated occurrences of the same road segment identifier are counted only once, and the length of the shared road segment is only calculated for the portion traversed by both paths. When the shorter path length is 0, the path overlap is set to 0. When there are three or more paths, the overlap is calculated separately for each path pair, and the maximum value is taken. Assuming an overlap threshold of 0.5, the original value for path overlap not exceeding 0.5 is used as the evaluation value; for values exceeding 0.5, 0.2 is added to the original value, and the smaller value is taken between this and 1. For example, when the shared road segment is 300 meters long and the shorter path is 500 meters long, the path overlap is 0.6, and the scheduling evaluation value is 0.8.
[0095] The rescue chain generation module 140 reads the weight configurations corresponding to the event levels, which sum to 1. It then multiplies each scheduling evaluation value by its corresponding weight and sums the results to obtain the joint scheduling cost. When no emergency point support role is established, one configuration assigns weights in the following order: early arrival time evaluation value, equipment arrival time evaluation value, over-interval duration evaluation value, combined communication evaluation value, and path overlap evaluation value. The weights for high-level roles are set to 0.40, 0.20, 0.20, 0.10, and 0.10; for medium-level roles, they are set to 0.35, 0.20, 0.15, 0.15, and 0.15; and for general-level roles, they are set to 0.30, 0.20, 0.10, 0.20, and 0.20. When an emergency point support role is established, its arrival time evaluation value is weighted at 0.10, and the aforementioned five weights are multiplied by 0.90. The combined communication evaluation value and path overlap evaluation value are also included in the emergency point support role's data. In this way, the total weight of each situation is 1, and the weight of early arrival and evaluation beyond the interval increases accordingly when the event level increases.
[0096] For any candidate resource, if the candidate resource has a notification task record within a preset history window, the rescue chain generation module 140 determines the communication failure probability of the candidate resource as the proportion of the number of unresponsive tasks to the total number of notification tasks. If the candidate resource does not have a notification task record within the preset history window, the rescue chain generation module 140 reads the default communication failure probability corresponding to the resource type and currently used communication channel type of the candidate resource from the communication failure probability configuration table, and determines the default communication failure probability as the communication failure probability of the candidate resource. The communication failure probability configuration table is pre-stored in the data storage unit 210.
[0097] The communication failure probability configuration table uses resource type and communication channel type as a joint index to output the default communication failure probability. Resource types include rescue personnel, first aid stations, and first aid equipment; communication channel types include in-app push notifications, SMS notifications, smart voice notifications, and device data communication. Unsupported resource and channel combinations are marked as unavailable and not included in the table lookup. Table values can be calculated by merging valid historical notification records of the same type of resource under the same communication channel, taking the ratio of the number of invalid responses to the total number of notifications; when the total number is 0, the supported resource and channel combinations are uniformly initialized to 0.5, and updated after valid records are available. For first aid equipment, a valid response to device data communication is the device terminal returning a task preparation or access permission verification receipt. For rescue personnel and first aid stations, a valid response is confirmation of task acceptance within the waiting window; explicit rejection or timeout are counted as invalid responses. Retransmission messages for the same notification task do not increase the total number of tasks, and notifications from each backup channel are recorded separately for each channel.
[0098] For example, a candidate combination includes only the initial arrival role and the equipment-carrying role. The remaining rescue time and the arrival threshold for both roles are 600 seconds. The upper bounds of the arrival time intervals for the two roles are 300 seconds and 480 seconds, respectively, with an allowed interval of 120 seconds. The communication evaluation values for the two roles are 0.1 and 0.2, respectively, and the path overlap is 0.4. The five scheduling evaluation values are 0.5, 0.8, 0.1, 0.15, and 0.4, respectively; summed according to the highest-level weights, the joint scheduling cost is 0.435. This calculation example is used to illustrate the conversion and comparison process.
[0099] The rescue chain generation module 140 sorts the verified candidate combinations according to the joint scheduling cost from smallest to largest, and determines the candidate combination ranked first as the target combination. When two candidate combinations have the same joint scheduling cost, the upper bound of the arrival time interval of the early arrival role, the upper bound of the arrival time interval of the equipment-carrying role, and the communication failure probability of the candidate resources are compared in turn. The candidate combination with the smaller upper bound of the arrival time interval of the early arrival role, the smaller upper bound of the arrival time interval of the equipment-carrying role, and the lower probability of communication failure is given priority.
[0100] The method described in this article, which sorts the arrival time intervals from smallest to largest and then from lowest to highest communication failure probability, first compares the upper bounds, and only compares the communication failure probabilities if the upper bounds are the same; if they are still the same, the order is determined by the fixed order of resource identifiers. When comparing multiple candidate combinations, the indicators are also compared item by item in the order listed above, without requiring all indicators to be better than another combination simultaneously.
[0101] When the equipment demand indicator suggests that emergency equipment is not needed, only an initial arrival role can be created, and whether to add more first aid support roles can be determined based on the event severity. In this case, rescue resources are still dispatched according to arrival time intervals, broadcast batches, and role leases.
[0102] When the equipment requirement identifier indicates that emergency equipment is not needed, the rescue chain generation module 140 sorts the early arrival candidate tasks that meet the role qualification conditions and personnel mutual exclusion conditions in order of ascending upper bound of arrival time interval and in order of ascending communication failure probability, and determines the rescue role and rescue resources corresponding to the early arrival candidate tasks that are ranked first as the target combination.
[0103] Example 6: In step S4, the phased scheduling module 150 sorts the unselected candidate resources according to the upper bound of the arrival time interval from small to large and the probability of communication failure from low to high, forming a first broadcast batch, a second broadcast batch, and subsequent broadcast batches that are activated sequentially. Each broadcast batch is generated for a corresponding rescue role. When it is necessary to supplement the equipment carrying role, it is not necessary to send the same task instructions again to the rescue personnel who have already accepted the role that arrived earlier.
[0104] In the event of multiple concurrent rescue events, the phased scheduling module 150 queries the target combinations of each incomplete rescue event and the currently pending broadcast batches before sending task instructions. When the same candidate resource is selected into the target combinations of two or more incomplete rescue events, or enters the currently pending broadcast batches of two or more incomplete rescue events, a conflict resource record is established using the resource identifier of the candidate resource as an index.
[0105] The phased scheduling module 150 determines the remaining arrival margin of the candidate resource when it assumes the corresponding rescue role in each relevant rescue event. The remaining arrival margin is the remaining rescue duration from the current scheduling time minus the upper bound of the arrival time interval of the candidate resource. The phased scheduling module 150 first sorts the relevant rescue events in descending order of event level; if the event levels are the same, it sorts them in ascending order of remaining arrival margin, and determines the rescue event ranked first as the target rescue event.
[0106] The phased scheduling module 150 generates conditional reservation records for candidate resources and target rescue events. Each conditional reservation record includes at least a resource identifier, a target rescue event identifier, a rescue role identifier, a reservation version, a generation time, and a reservation expiration time. The phased scheduling module 150 performs atomic verification on the reservation version using database conditional update or compare-and-swap operations, ensuring that only one valid conditional reservation record corresponds to the same candidate resource at any given time. During the validity period of a conditional reservation record, it is prohibited to issue role leases or equipment leases containing that candidate resource for other rescue events.
[0107] When the candidate resource is a rescuer or first aid point, and the corresponding rescue role in the target rescue event is confirmed before the reservation expires, the conditional reservation record is converted into a role lease. When the candidate resource is first aid equipment, and the equipment-carrying role corresponding to the first aid equipment is confirmed before the reservation expires, the conditional reservation record is converted into an equipment lease.
[0108] If no valid confirmation is received before the reservation expires, the corresponding conditional reservation record is released, and the conditional reservation is re-executed for the next rescue event according to the aforementioned sorting results. For other rescue events that do not obtain the candidate resource, the existing role leases and equipment leases remain unchanged, and the target combination of the affected rescue roles is re-determined only from the remaining candidate resources. This process avoids the same rescue resource being repeatedly allocated to multiple rescue events and prevents unconfirmed tasks from occupying scarce rescue resources for extended periods.
[0109] For roles arriving early, the task instructions include candidate paths for direct navigation from the current location to the event location. For roles carrying equipment, the task instructions include navigation to the selected first aid equipment, displaying a scene image of the equipment's location and access permission information, and a segmented path for navigation to the event location after confirming the acquisition of the equipment. For roles providing support at the first aid station, the task instructions cause the first aid station terminal 500 to issue audio-visual prompts and pop-ups, displaying the event location, the rescue personnel who have accepted the task, and the path to the first aid equipment.
[0110] When the number of historical valid response durations for the same time period and the same type of communication channel reaches a preset sample size, the phased scheduling module 150 selects the duration corresponding to a preset quantile from the historical valid response durations as a candidate waiting duration; when the number of historical valid response durations is less than the preset sample size, the phased scheduling module 150 reads the default waiting duration corresponding to the current time period and the current communication channel type from the response duration configuration table, and determines the default waiting duration as a candidate waiting duration. The response duration configuration table is pre-stored in the data storage unit 210.
[0111] The response duration configuration table uses the current time period and communication channel type as a joint index, storing at least the default waiting duration, the lower bound of the default notification response delay, and the upper bound of the default notification response delay. Time periods are segmented according to the aforementioned hourly rule; if there are insufficient samples in a certain time period, merged samples from the same communication channel in other time periods are used first. When 20 samples are reached, the 10th percentile is used as the default lower bound, the 90th percentile as the default upper bound, and the default waiting duration. If the merged samples are still insufficient, all time periods use the same initialization values for each channel. The lower bound, upper bound, and waiting duration for in-application push notifications are 2 seconds, 15 seconds, and 15 seconds, respectively; for SMS notifications, they are 5 seconds, 25 seconds, and 25 seconds; for smart voice notifications, they are 5 seconds, 30 seconds, and 30 seconds; and for device data communication, they are 1 second, 5 seconds, and 5 seconds. This embodiment presets a minimum waiting duration of 5 seconds and a maximum waiting duration of 30 seconds. When historical samples are sufficient, the 90th percentile is used as the quantile for candidate waiting durations.
[0112] When the candidate waiting time is less than the preset minimum waiting time, the preset minimum waiting time is used as the response waiting window; when the candidate waiting time is greater than the preset maximum waiting time, the preset maximum waiting time is used as the response waiting window; when the candidate waiting time is between the preset minimum waiting time and the preset maximum waiting time, the candidate waiting time is directly used as the response waiting window.
[0113] The phased scheduling module 150 sends task instructions via in-app push notifications through a rescue application running on the rescuer terminal 400 or the first aid station terminal 500. The rescue application is software that receives, displays, and returns acceptance or rejection results. If no valid response is received within the corresponding response waiting window, SMS notifications and intelligent voice notifications are activated sequentially, with each backup channel judging based on its own waiting window. The communication failure probability and notification response delay use the same current communication channel's record. When multiple channels are expected to be tried sequentially, the waiting time of the channel determined to be executed first is included in the upper and lower bounds of the notification response delay for subsequent channels. Waiting times that have already elapsed are not counted again after the current scheduling time is updated. When the response waiting window of the current communication channel expires and the role has not yet confirmed, the next broadcast batch is activated. For notified candidate resources, notifications via backup communication channels and the next broadcast batch are performed in parallel. Once any channel receives a valid confirmation, notifications to that role are stopped, and other ineffective instructions are revoked. The first broadcast batch prioritizes candidate resources within the initial spatial range. Subsequent batches expand progressively according to a preset path travel time threshold, still constrained by the current role's arrival threshold. Each batch notifies a maximum of three candidate tasks, numbered sequentially in order; if fewer than three are available, the actual number is used. The preset maximum broadcast duration in this embodiment is 120 seconds, and it is no later than the expiration of the rescue time limit. When the broadcast termination condition is met, new notifications cease, the distress terminal 300 is notified of the lack of nearby response, and event information continues to be transmitted to the medical institution terminal 700. Process monitoring for already active roles continues.
[0114] When rescue personnel or first aid stations confirm acceptance of the corresponding rescue role, the phased dispatch module 150 generates a role lease. The role lease records at least the rescue event identifier, rescue role identifier, resource identifier, lease version, issuance time, and expiration time. When the role carried by the device is confirmed, a device lease is also generated for the selected emergency equipment, and a pre-unlock command or a readiness command can be sent to the emergency equipment terminal 600.
[0115] The scheduling server 200 performs atomic checks on lease versions using database condition updates, distributed locks, or compare-and-swap operations. A delayed response from a terminal carrying the old lease version cannot overwrite a newly effective lease, ensuring that only one valid role lease corresponds to the same rescue resource at any given time and preventing the same emergency equipment from being repeatedly occupied by multiple rescue events.
[0116] In one optional implementation, when the initial arrival role has been confirmed but the equipment-carrying role has not yet been confirmed, the rescue role chain is in a partially confirmed state. The phased scheduling module 150 continues to execute step S4 for the equipment-carrying role, and the process monitoring module 160 simultaneously executes step S5 for the initial arrival role. The phased scheduling module 150 reads the event initiation time and rescue time limit from the rescue event record, determines the rescue time limit expiration time and the remaining rescue time from the current scheduling time to the rescue time limit expiration time; it reads the upper bound of the arrival time interval of the initial arrival role updated by the process monitoring module 160 and the allowed interval of the equipment-carrying role relative to the initial arrival role, and determines the smaller of the remaining rescue time and the time obtained by adding the allowed interval to the upper bound of the arrival time interval as the arrival threshold. The phased scheduling module 150 generates a role chain collaboration record, with the initial collaboration version set to the first version. The collaboration failure time is set to the earlier of the rescue time limit expiration time and the broadcast termination time. Following the method described in Example 4, candidate rescuers with idle task occupancy status and no valid role leases are recombined with candidate emergency medical devices without valid equipment leases. The arrival time intervals of each device carrying candidate tasks are determined, and candidate tasks carried by devices whose arrival time intervals exceed the completion threshold are eliminated. The remaining candidate tasks are used to reconstruct the current broadcast batch to be activated and subsequent broadcast batches. The sent task instructions carry a rescue event identifier, a device-carrying role identifier, and the current collaboration version. When the rescuer terminal 400 returns confirmation information, it also returns the collaboration version. The phased scheduling module 150 uses database condition update or comparison and exchange operations to simultaneously verify the valid status of the role chain collaboration record, the collaboration version, the task occupancy status of candidate rescuers, and the equipment lease status of candidate emergency medical devices. Only after successful verification are the corresponding role leases and equipment leases established. The preset adjustment range can be configured according to the event level; the higher the event level, the smaller the preset adjustment range. When the change in the completion arrival threshold reaches the preset adjustment range, or when the notified device carrying candidate tasks no longer meets the completion arrival threshold, the collaboration version will be incremented by one version, the unconfirmed task instructions corresponding to the old collaboration version will be withdrawn, and the broadcast batch will be reconstructed using the latest completion arrival threshold. For example, if the current remaining rescue time is 540 seconds, the upper limit of the arrival time interval of the initially arriving role is 300 seconds, and the allowed interval is 180 seconds, then 480 seconds will be determined as the completion arrival threshold. Device carrying candidate tasks with an upper limit of 450 seconds will be retained, while device carrying candidate tasks with an upper limit of 510 seconds will be removed. When the upper limit of the arrival time interval of the initially arriving role is updated to 240 seconds, the completion arrival threshold will be adjusted accordingly to 420 seconds, and the unconfirmed task instructions with the original upper limit of 450 seconds will be invalidated.Once the role carried by the device is confirmed, the role chain collaboration record is set to invalid and the corresponding broadcast batch is stopped from being activated; the role lease of the role that arrived earlier remains unchanged during the above process.
[0117] Example 7: In step S5, the process monitoring module 160 receives the terminal heartbeat, current location, path node status, and emergency equipment retrieval status uploaded by confirmed rescue resources according to a preset monitoring cycle, and redetermines the arrival time interval of each confirmed rescue role based on the latest data. The preset monitoring cycle can be five to fifteen seconds; when communication conditions are poor, the monitoring cycle can be increased, and the preset heartbeat duration can be relaxed accordingly.
[0118] For confirmed tasks, the notification and response phase is complete, and the notification and response delay is set to 0 when updating the arrival time interval; only the remaining path from the current location to the event location and the duration of incomplete operations are calculated. If the device has been acquired, the time for searching, opening the cabinet, retrieving, and the first path segment already traversed are no longer included. For roles that have arrived at the event location, their remaining arrival time interval is set to 0 seconds to 0 seconds, and they maintain their task status until the rescue is completed. The deadline for each role remains unchanged, and the role arrival threshold is recalculated based on the current scheduling time. Terminal timestamps are converted to the same clock reference through server time synchronization results; records that cannot complete timing verification are not used for feedback calibration.
[0119] For mobile rescue roles, the process monitoring module 160 reads the remaining path distance from two adjacent monitoring times to the next path node, determines the distance reduction of the later monitoring time relative to the previous monitoring time, and converts the distance reduction into path progress according to the interval between the two monitoring times.
[0120] When the corresponding terminal heartbeat is not received for a preset heartbeat duration, the emergency equipment associated with the rescue role becomes unavailable, or the upper limit of the updated arrival time interval exceeds the corresponding role arrival threshold, the process monitoring module 160 immediately invalidates the corresponding role lease.
[0121] If the remaining distance from the rescue resources in the target combination to the next path node does not decrease according to the preset schedule, the process monitoring module 160 will invalidate the corresponding role lease only if this situation is detected for a consecutive preset number of monitoring cycles. Using multiple consecutive monitoring cycles for judgment can reduce frequent switching caused by short-term stays, location fluctuations, or road waiting.
[0122] After a role lease expires, the process monitoring module 160 re-determines the candidate task corresponding to the failed role from the remaining candidate resources and recalculates the arrival time interval and joint scheduling cost. When the failed role is a device-carrying role, the device lease associated with that role is also released. Other confirmed and normal rescue roles retain their original role leases; only the failed role is reassigned.
[0123] During the redistribution process, if the original rescue resource returns to online status, its old lease version remains invalid. The original rescue resource can only resume its rescue role after it re-enters the candidate resource pool and obtains a new lease version.
[0124] The rescue completion information can be submitted by at least one of the following: rescuer terminal 400, first aid station terminal 500, distress call terminal 300, or medical institution terminal 700, and verified by other terminals or the management terminal. After receiving the verified rescue completion information, the process monitoring module 160 ends the process monitoring of the corresponding rescue event and releases the role leases and equipment leases that no longer need to be maintained.
[0125] Example 8: As Figure 7 As shown, after a rescue is completed, the feedback calibration module 170 reads the actual notification time, actual response time, actual departure time, and actual arrival time from the complete task log, and reads the actual equipment retrieval time if the rescue role chain corresponding to the rescue event includes the equipment-carrying role. For rescue events whose corresponding rescue role chain does not include the equipment-carrying role, it is not required that the task log include the actual equipment retrieval time.
[0126] The feedback calibration module 170 verifies the completeness and timing validity of the task log based on the chronological relationship between each actual time, and determines the duration between the actual arrival time and the actual notification time as the actual arrival duration.
[0127] The arrival time interval used for feedback calibration is the initial prediction interval saved when the task is actually notified, and its starting time is consistent with the actual notification time; the remaining arrival time interval formed during the process monitoring phase does not replace this initial prediction interval. The actual time must meet the following conditions: notification no later than response, response no later than departure, and departure no later than arrival; for equipment carrying tasks, the actual equipment retrieval time must also meet the condition that it is no earlier than departure and no later than arrival. Records are grouped according to the event space grid, time period, and rescue role at the time of notification.
[0128] The feedback calibration module 170 determines the midpoint between the lower and upper bounds of the arrival time interval as the prediction center duration, and determines the difference between the actual arrival time and the prediction center duration as the prediction error. When the prediction error exceeds the preset upper boundary, the prediction error is adjusted to the preset upper boundary; when the prediction error is below the preset lower boundary, the prediction error is adjusted to the preset lower boundary; when the prediction error is between the preset upper and lower boundaries, the prediction error remains unchanged.
[0129] The feedback calibration module 170 groups the adjusted prediction errors according to spatial grid, time period, and rescue role. For each group, the median of the adjusted prediction errors within that group is determined as the current representative error, and the original historical calibration bias and preset update ratio of that group are read. The feedback calibration module 170 performs a weighted merging of the original historical calibration bias and the current representative error according to the preset update ratio to obtain the updated historical calibration bias. The preset update ratio represents the proportion of the current representative error in the weighted merging result.
[0130] The feedback calibration module 170 determines the median of the absolute values of the deviations between the adjusted prediction errors and the updated historical calibration biases within the group as the current fluctuation representative value, and weights and merges the original path travel time fluctuation and the current fluctuation representative value according to the preset update ratio to obtain the updated path travel time fluctuation.
[0131] The updated historical calibration bias and path travel time fluctuation are written back to the calibration data table row corresponding to the same spatial grid, time period, and rescue role. Subsequent tasks in the same group first determine the basic path travel time upper bound, which has not yet factored in the fluctuation, according to Example 4. Then, this upper bound is added to the updated path travel time fluctuation to obtain the path travel time upper bound. Therefore, when other inputs remain constant, the path travel time upper bound increases by the same number of seconds as the path travel time fluctuation; when the fluctuation decreases, the upper bound decreases accordingly, but will not be less than the basic path travel time upper bound. This fluctuation is a scheduling margin estimated by the arrival prediction error and allocated to the path upper bound, and does not represent the measured variance generated solely by the randomness of road travel. The historical calibration bias is superimposed again when forming the arrival time interval upper bound, and finally, a correction is performed to ensure the upper bound is not less than the lower bound.
[0132] One initialization configuration limits the prediction error to between -120 seconds and +120 seconds, with a preset update ratio of 0.2. Assuming a set of original historical calibration biases is 10 seconds and the original path travel time fluctuation is 30 seconds, the prediction errors of the five qualified records in this round, after range limiting, are -10 seconds, 0 seconds, 20 seconds, 30 seconds, and 60 seconds, respectively. The current representative error is 20 seconds. The updated historical calibration bias is the sum of 0.8 times 10 seconds and 0.2 times 20 seconds, which is 12 seconds. The absolute values of the differences between each error and 12 seconds are 22 seconds, 12 seconds, 8 seconds, 18 seconds, and 48 seconds, respectively, with a median of 18 seconds. The updated path travel time fluctuation is the sum of 0.8 times 30 seconds and 0.2 times 18 seconds, which is 27.6 seconds. If the upper limit of the base path travel time for subsequent tasks in the same group is 300 seconds, then the upper limit of the path travel time is 327.6 seconds; if the sum of other upper limit additions is 40 seconds, then the upper limit of the arrival time interval is 379.6 seconds, which is the sum of 327.6 seconds, 40 seconds, and 12 seconds. Groups without qualified records retain their original values.
[0133] For rescue records that lack critical moments, have locations that change more than a preset distance between adjacent sampling points, are generated by management personnel tests, have tasks that are manually canceled, or have incomplete equipment access status when the rescue role chain corresponding to the rescue event includes the equipment carrying role, the feedback calibration module 170 will remove them during the quality screening stage and will not use the rescue record to update the historical calibration data.
[0134] Example 9: Taking a set of configuration data used to illustrate the dispatch process as an example, the event location is in a community public area, the equipment demand identifier indicates that emergency medical equipment is needed, and the rescue time limit is ten minutes. The dispatch server 200 obtains three candidate rescuers and two candidate emergency medical equipment.
[0135] The first candidate rescuer has a shorter direct path and a more recent location sampling time; their arrival time for the initial arrival role is between 250 and 336 seconds. The second candidate rescuer is closer, but their location has not been updated for over 40 seconds, and the corresponding communication channel has a higher probability of failure; their arrival time for the initial arrival role is between 228 and 426 seconds. The third candidate rescuer, arriving via the first candidate emergency medical equipment, has an arrival time between 420 and 552 seconds; and via the second candidate emergency medical equipment, their arrival time is between 468 and 640 seconds.
[0136] If broadcasting is based solely on the displayed distance, both the first and second candidate rescuers might proceed directly to the incident location, leaving both candidate first-aid devices unused. Assuming that, according to the evaluation rules of Example 5, the combination of the first and third candidate rescuers via the first candidate first-aid device incurs the lowest cost, the scheduling server 200 identifies the first candidate rescuer as the initial arrival role, identifies the combination of the third candidate rescuer and the first candidate first-aid device as the equipment-carrying role, and includes the second candidate rescuer in the first broadcast batch of the initial arrival role.
[0137] The dispatch server 200 sends a task instruction to the first candidate rescuer to go directly to the incident location, and sends a task instruction to the third candidate rescuer to go to the first candidate emergency medical equipment, confirm the use of the emergency medical equipment, and go to the incident location in sequence. After the first and third candidate rescuers confirm acceptance of their respective rescue roles, a corresponding role lease is established; when the role of the equipment is confirmed, an equipment lease is established for the first candidate emergency medical equipment.
[0138] If, during the journey, the remaining distance between the third candidate rescuer and the first candidate emergency medical device does not decrease as preset for three consecutive monitoring cycles, or if the upper limit of the updated arrival time interval exceeds the role arrival threshold of the role carried by the device, then the role lease of the third candidate rescuer and the equipment lease of the first candidate emergency medical device will become invalid.
[0139] The dispatch server 200 maintains the initial arrival role and role lease of the first candidate rescuer unchanged, redetermines the arrival time intervals of the second candidate rescuers when they assume the equipment-carrying role via the two candidate emergency medical devices, and only activates the corresponding subsequent broadcast batches for the equipment-carrying role. Using this method, the entire rescue mission does not need to be rebroadcast due to the failure of one rescue role.
[0140] In other implementations, rescue resources may also include mobile ambulances, patrol personnel, public place staff, unmanned delivery equipment, or other organizational resources capable of undertaking the predetermined rescue role. The candidate path for the equipment carrying role may include multiple alternative emergency medical devices, and if the status of one of the emergency medical devices changes, the candidate path is re-determined based on the resource status records of the remaining emergency medical devices.
[0141] In other implementations, before the role lease is issued, only the obfuscated event area can be sent to the candidate resources; after the role lease is issued, the precise event location can be sent to the confirmed rescue resources, thereby reducing the number of irrelevant terminals receiving precise location information. This hierarchical location sending method does not change the resource scheduling process of this invention.
[0142] The modules described in this invention can be implemented using software, hardware, or a combination of both. The computer program used to perform the above method steps can be stored in a non-transitory computer-readable storage medium and read and executed by a processor.
[0143] The above description is merely a specific embodiment of the present invention. Any equivalent substitutions or modifications made by those skilled in the art to the above embodiments without departing from the concept of the present invention should fall within the protection scope of the present invention.
Claims
1. A collaborative scheduling method for emergency rescue resources based on arrival time constraints, executed by a scheduling server oriented towards emergency rescue service organizations, wherein the scheduling server is communicatively connected to distress terminals, rescue personnel terminals, first aid station terminals, and first aid equipment terminals via a communication network, characterized in that, include: S1. Obtain rescue event information and rescue resource information. The rescue event information includes event location, event initiation time, event type, equipment demand identifier, and rescue time limit. The rescue resources include rescue personnel, first aid points, and distributed first aid equipment. S2. Generate resource status records for the rescue personnel, the first aid point, and the distributed first aid equipment, respectively. The resource status records include at least resource identifier, resource location, location sampling time, availability status, communication reachability status, and task occupancy status. Based on the event location, the rescue time limit, and the resource status records, candidate resources are filtered, and for each candidate resource undertaking different rescue roles, the corresponding arrival time interval is determined based on the path travel time, notification response delay, location sampling timeliness, and role operation duration. S3. Establish a rescue role chain based on the equipment requirement identifier and determine the target combination of roles and rescue resources; In response to the equipment demand identifier indicating a need for emergency medical equipment, a rescue role chain is established, including at least an advance arrival role and an equipment-carrying role. Advance arrival candidate tasks are generated, whereby candidate rescuers directly arrive at the event location, and equipment-carrying candidate tasks are generated, whereby candidate rescuers arrive at candidate emergency medical equipment, acquire the equipment, and then arrive at the event location. Candidate tasks that meet the role eligibility criteria, personnel mutual exclusion criteria, and equipment occupancy criteria are combined. A joint scheduling cost is generated based on the upper bound of the arrival time interval for each role, the arrival interval between the advance arrival role and the equipment-carrying role, and the communication failure probability of the candidate resources. The candidate combination with the minimum joint scheduling cost is selected as the target combination. In response to the equipment requirement identifier indicating that no emergency equipment is needed, a rescue role chain is established that includes at least the aforementioned early arrival roles, and early arrival candidate tasks are generated for candidate rescuers to directly arrive at the event location; for early arrival candidate tasks that meet the role qualification conditions and the personnel mutual exclusion conditions, they are sorted in ascending order according to the upper bound of the arrival time interval and in ascending order according to the communication failure probability, and the rescue roles and rescue resources corresponding to the first-ranked early arrival candidate tasks are determined as the target combination; S4. Based on the upper bound of the arrival time interval and the communication failure probability when the unselected candidate resources assume the corresponding rescue role, sort the unselected candidate resources and form multiple broadcast batches to be activated sequentially; send task instructions matching the corresponding rescue role to the rescue resources in the target combination; when the rescue personnel or first aid point confirms acceptance of the corresponding rescue role, establish the corresponding role lease; when the role carried by the equipment is confirmed, establish a device lease for the first aid equipment corresponding to the role carried by the equipment; when any rescue role is not confirmed within the response waiting window, activate the next corresponding broadcast batch until the rescue role is confirmed or the broadcast termination condition is met; S5. Update the corresponding arrival time interval based on the terminal heartbeat, location update data and path node status uploaded by the confirmed rescue resources; When the upper bound of the updated arrival time interval exceeds the corresponding role arrival threshold, the corresponding role lease is invalidated; when any role lease is invalidated, while keeping other valid roles in the rescue role chain unchanged, the remaining candidate resources are used to reallocate the invalidated role corresponding to the role lease until the rescue completion information is received.
2. The emergency rescue resource collaborative scheduling method according to claim 1, characterized in that, In step S1, the rescue event information is triggered by the one-click emergency call command of the distress terminal and / or the health warning information output by the life and health monitoring device; For events triggered by the health warning information, the data quality identifier output by the life and health monitoring device, the number of warning repetitions, the consistency between different detection channels, and the confirmation result returned by the distress terminal or associated personnel terminal are converted into evaluation values within a preset range. The evaluation values are then aggregated according to pre-configured weights to obtain the event confidence level. When a confirmed distress call instruction is received, or when the event confidence level reaches a preset event threshold within a preset number of consecutive sampling windows, a rescue event is created, and the equipment demand identifier is generated according to the correspondence between the event type and the preset equipment demand rules.
3. The emergency rescue resource collaborative scheduling method according to claim 1, characterized in that, The resource status records for the rescue personnel also include qualification validity status, training and assessment status, daily check-in status, guarded area and guarded time period; the resource status records for the emergency medical equipment also include equipment online status, power status, consumable validity status, open time period, access permission status and equipment lease status; the resource status records for the emergency medical station also include duty status, emergency medical capability type and current task load. In step S2, when screening candidate resources, rescue personnel with invalid qualifications, whose tasks are already occupied or who are unreachable by communication are excluded; emergency medical equipment with abnormal online status, power status that does not meet the usage conditions, consumables that are expired, open hours that have been exceeded, access permissions that are not met, or equipment leases that have already been established are excluded; and emergency medical points that are not on duty or whose current task load exceeds the load limit are excluded.
4. The emergency rescue resource collaborative scheduling method according to claim 1, characterized in that, In step S2, for any candidate path where any candidate resource assumes any rescue role, the arrival time interval is determined as follows: The lower bound of the arrival time interval is obtained by sequentially summing the lower bound of the path travel time of the candidate path, the lower bound of the notification response delay of the corresponding communication channel, and the role operation time of the rescue role. The upper bound of the arrival time interval is obtained by sequentially accumulating the upper bound of the path travel time of the candidate path, the upper bound of the notification response delay of the corresponding communication channel, the operation time of the role, the location timeliness correction amount corresponding to the freshness level of the location sampling time, and the historical calibration bias corresponding to the spatial grid where the event is located and the rescue role. When the upper bound of the arrival time interval obtained in the above manner is less than the lower bound of the arrival time interval, the upper bound of the arrival time interval is corrected to be equal to the lower bound of the arrival time interval. The candidate path for the role carried by the device includes a first path segment from the candidate rescuer to the candidate first aid device and a second path segment from the candidate first aid device to the event location. The role operation duration of the role carried by the device includes the expected search duration, cabinet opening duration, and retrieval duration of the candidate first aid device.
5. The emergency rescue resource collaborative scheduling method according to claim 1, characterized in that, In response to the equipment demand identifier indicating the need for emergency equipment, when there are candidate emergency points whose upper bound of arrival time interval does not exceed the emergency point arrival threshold, the rescue role chain also includes an emergency point support role; in step S3, for any candidate combination, the upper bound of the arrival time interval of each rescue role in the candidate combination, the duration of the time exceeding the allowed interval between the early arrival role and the equipment carrying role, the communication failure probability of each candidate resource in the candidate combination, and the degree of path overlap between candidate paths corresponding to different candidate resources are converted into scheduling evaluation values within a preset value range. The scheduling evaluation values are summarized according to a preset weight to obtain the joint scheduling cost of the candidate combination; The scheduling server enumerates a preset number of candidate resource combinations that are ranked first for each rescue role, and selects the candidate combination with the lowest joint scheduling cost from the candidate combinations that meet the personnel mutual exclusion condition, the equipment occupancy condition, the role qualification condition, and the role reaching the threshold as the target combination.
6. The emergency rescue resource collaborative scheduling method according to claim 1, characterized in that, In step S4, candidate resources are sorted from small to large according to the upper bound of the arrival time interval and from low to high according to the probability of communication failure. Candidate rescuers and candidate first aid points located within the preset initial spatial range are prioritized for inclusion in the first broadcast batch. For any candidate resource, when the candidate resource has a notification task record within a preset history window, the proportion of the number of tasks that did not respond effectively to the total number of notification tasks is determined as the communication failure probability of the candidate resource. When the candidate resource does not have a notification task record in the preset history window, the default communication failure probability corresponding to the resource type and the currently used communication channel type of the candidate resource is read from the communication failure probability configuration table, and the default communication failure probability is determined as the communication failure probability of the candidate resource. When the number of historical valid response durations for the same time period and the same type of communication channel reaches the preset sample size, the duration corresponding to the preset quantile is selected from the historical valid response durations as the candidate waiting duration; when the number of historical valid response durations is less than the preset sample size, the default waiting duration corresponding to the current time period and the current communication channel type is read from the response duration configuration table, and the default waiting duration is determined as the candidate waiting duration. When the candidate waiting time is less than the preset minimum waiting time, the preset minimum waiting time is determined as the response waiting window; When the candidate waiting time is greater than the preset maximum waiting time, the preset maximum waiting time is determined as the response waiting window; when the candidate waiting time is between the preset minimum waiting time and the preset maximum waiting time, the candidate waiting time is determined as the response waiting window. The dispatch server sends the task instruction via in-app push through a rescue application running on the rescuer's terminal or the first aid station terminal; when the task instruction does not receive a valid response within the response waiting window, the backup communication channel is activated in the order of SMS notification and intelligent voice notification; when any rescue role is not confirmed, subsequent broadcast batches are expanded step by step according to the path travel time threshold, and broadcasting stops when the preset maximum broadcast duration is reached from the time the event is initiated.
7. The emergency rescue resource collaborative scheduling method according to claim 1, characterized in that, The role lease includes at least a rescue event identifier, a rescue role identifier, a resource identifier, a lease version, an issuance time, and an expiration time. The scheduling server performs atomic verification on the lease version to ensure that the same rescue resource corresponds to only one valid role lease at the same time period. For a confirmed rescue role, if no heartbeat is received from the corresponding terminal for more than a preset heartbeat duration, the emergency medical equipment associated with the rescue role becomes unavailable, or the upper bound of the updated arrival time interval exceeds the corresponding role arrival threshold, the scheduling server immediately invalidates the corresponding role lease. If the remaining distance from the rescue resource in the target combination to the next path node does not decrease according to the preset progress, the scheduling server invalidates the corresponding role lease if this situation is detected for a consecutive preset number of monitoring cycles.
8. The emergency rescue resource collaborative scheduling method according to claim 4, characterized in that, After receiving the rescue completion information, the actual notification time, actual response time, actual departure time, and actual arrival time are obtained, and the actual equipment retrieval time is obtained when the rescue role chain corresponding to the rescue event includes the equipment carrying role; the duration between the actual arrival time and the actual notification time is determined as the actual arrival duration; the intermediate duration between the lower and upper bounds of the arrival time interval is determined as the prediction center duration; the difference between the actual arrival duration and the prediction center duration is determined as the prediction error; and prediction errors exceeding the preset error range are adjusted to the corresponding boundary values of the preset error range. The adjusted prediction errors are grouped according to spatial grid, time period, and rescue role; For each group, the median of the adjusted prediction error within the group is determined as the current representative error. The original historical calibration bias and the current representative error of the group are weighted and merged according to a preset update ratio to obtain the updated historical calibration bias. The preset update ratio represents the proportion of the current representative error in the weighted merging result. The median of the absolute values of the deviations between the adjusted prediction errors and the updated historical calibration biases within the group is determined as the current representative value of fluctuation. The original path travel time fluctuation and the current representative value of fluctuation are then weighted and merged according to the preset update ratio to obtain the updated path travel time fluctuation. The upper bound of the basic path travel time for subsequent tasks in the same group is added to the updated path travel time fluctuation to determine the upper bound of the path travel time for subsequent tasks in the same group. The upper bound of the basic path travel time is the upper bound of the path travel time not yet included in the path travel time fluctuation. Rescue records that lack critical moments, have location jumps exceeding a preset distance, are manually canceled, or have incomplete equipment access status when the rescue role chain corresponding to the rescue event includes the equipment-carrying role, are not updated.
9. An emergency rescue resource collaborative scheduling system based on arrival time constraints, characterized in that, It includes a dispatch server, a distress terminal, a rescuer terminal, a first aid station terminal, and a first aid equipment terminal. The dispatch server is communicatively connected to the distress terminal, the rescuer terminal, the first aid station terminal, and the first aid equipment terminal via a communication network. The scheduling server includes: The event acquisition module is used to acquire rescue event information and rescue resource information; The resource status construction module is used to generate resource status records for rescue personnel, first aid points, and distributed first aid equipment, and to filter candidate resources based on the resource status records. The accessibility assessment module is used to determine the arrival time range of each candidate resource when it assumes different rescue roles, based on path travel time, notification response delay, location sampling timeliness, and role operation duration. The rescue chain generation module is used to establish a rescue role chain that includes at least the early arrival role and the equipment carrying role. It combines candidate tasks that meet the role qualification conditions, personnel mutual exclusion conditions and equipment occupancy conditions. It generates a joint scheduling cost based on the upper bound of the arrival time interval of each role, the arrival interval between the early arrival role and the equipment carrying role and the communication failure probability of the candidate resources, and determines the target combination of roles and rescue resources. The phased scheduling module is used to form multiple broadcast batches that are activated sequentially, send task instructions matching the corresponding rescue roles to the rescue resources in the target combination, establish role leases when rescue personnel or first aid points confirm acceptance of the corresponding rescue roles, and establish corresponding equipment leases when the equipment carrying the role is confirmed. The process monitoring module is used to update the arrival time interval based on terminal heartbeat, location update data and path node status, and when the role lease expires or the upper bound of the updated arrival time interval exceeds the corresponding role arrival threshold, it performs local reallocation of the expired role while keeping other valid roles unchanged; and the feedback calibration module is used to update the historical calibration bias and path travel time fluctuation of the arrival time interval based on the actual time series data after the rescue is completed.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it causes the processor to perform the emergency rescue resource collaborative scheduling method according to any one of claims 1 to 8.