Project progress plan processing method and device, computer equipment, readable storage medium and program product

By decomposing the saving operation of the project schedule into multiple asynchronous threads and using transaction management, the problem of inefficiency of traditional tools is solved, and efficient project schedule storage and data integrity guarantees are achieved.

CN119784310APending Publication Date: 2025-04-08SHANGHAI PUDONG DEVELOPMENT BANK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411829860.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-12
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

Traditional project schedule planning tools only support single-threaded operations, which are low in efficiency and are difficult to meet the efficient management needs of complex projects.

Method used

The saving operation of the project schedule is broken down into multiple asynchronous threads through a thread pool, and the target project schedule is stored using Spring's Transactional declarative transaction management, listening to the stored results of each asynchronous thread to synchronize data.

Benefits of technology

It improves the storage efficiency of project schedule, improves the processing efficiency of the system, and ensures the integrity of schedule schedule data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119784310A_ABST
    Figure CN119784310A_ABST
Patent Text Reader

Abstract

The invention relates to a project progress plan processing method and device, computer equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: receiving a project progress plan editing instruction; editing each level plan corresponding to the project progress plan based on the editing instruction to obtain a target project progress plan; the storage operation of the target project progress plan is decomposed into a plurality of asynchronous threads through a thread pool, the target project progress plan is stored based on the asynchronous threads, and each asynchronous thread is used for storing a part of the target project progress plan; and monitoring a target event corresponding to a storage result of each asynchronous thread, and synchronizing the stored target project progress plan to a corresponding system under the condition that the target event is monitored. By adopting the method, the efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of project management, and in particular to a project schedule processing method, device, computer equipment, computer-readable storage medium and computer program product. Background Art

[0002] Schedule management is a key link in project management. It is directly related to whether the project can be successfully delivered on time, and the project schedule is the main tool for schedule management.

[0003] In traditional technology, project schedule planning tools are mainly generated based on WBS to manage project milestones, task information and working time information.

[0004] However, the current project schedule developed by project schedule development tools only supports single-threaded operations and has low efficiency. Summary of the invention

[0005] Based on this, it is necessary to provide a project schedule processing method, device, computer equipment, computer-readable storage medium and computer program product that can improve efficiency in response to the above technical problems.

[0006] In a first aspect, the present application provides a project schedule processing method, the method comprising:

[0007] Receive project schedule editing instructions;

[0008] Based on the editing instruction, edit each level plan corresponding to the project schedule to obtain a target project schedule;

[0009] Decomposing the saving operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each of the asynchronous threads is used to store a portion of the target project schedule;

[0010] The target event corresponding to the storage result of each asynchronous thread is monitored, and when the target event is monitored, the stored target project schedule is synchronized to the corresponding system.

[0011] In one embodiment, before receiving the project schedule editing instruction, the process includes:

[0012] Receive a project schedule creation instruction, wherein the plan creation instruction carries a version number and a project type;

[0013] In the case where it is determined based on the version number that the project schedule does not exist, calling the initialization information in the schedule dynamic configuration library based on the project type to generate the project schedule;

[0014] When it is determined based on the version number that the project schedule exists, the existing project schedule is displayed.

[0015] In one embodiment, storing the target project schedule based on the multiple asynchronous threads includes:

[0016] Based on the multiple asynchronous threads, the target project schedule is stored using Spring's Transactional declarative transaction management;

[0017] The method further comprises:

[0018] In the event of a storage error in at least one of the asynchronous threads, rolling back the transaction;

[0019] When each of the asynchronous threads stores successfully, a target event is generated.

[0020] In one embodiment, the target project schedule includes task sub-activities; and the method further includes:

[0021] receiving a change instruction for the task sub-activity;

[0022] The target project schedule is adjusted based on the task sub-activities.

[0023] In one embodiment, the method further comprises:

[0024] Acquire a pre-configured workload estimation model, wherein the workload estimation model includes pre-configured function points, and each function point corresponds to a workload;

[0025] Based on the workload estimation model, the workload of each function point in the target project schedule is estimated to obtain the planned workload of the target project schedule;

[0026] Receiving a work time record request, and generating a corresponding work time record based on the work time record request;

[0027] Based on the working time records and the target project schedule, the actual workload of each task in the target project schedule is obtained;

[0028] Planned completion information is generated based on the actual workload and the planned workload.

[0029] In one embodiment, after generating the planned completion information based on the actual workload and the planned workload, the following steps are included:

[0030] The plan completion information is displayed in at least one of a Gantt chart and a table.

[0031] The execution status of the target project schedule is evaluated based on the plan completion information, and overdue reminder information of the target project schedule is generated based on the execution status.

[0032] In a second aspect, the present application further provides a project schedule processing device, the device comprising:

[0033] A receiving module, used for receiving project schedule editing instructions;

[0034] An editing module, used for editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule;

[0035] A multi-thread processing module, used for decomposing the saving operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each of the asynchronous threads is used for storing a part of the target project schedule;

[0036] The synchronization module is used to monitor the target event corresponding to the storage result of each asynchronous thread, and when the target event is monitored, synchronize the stored target project schedule to the corresponding system.

[0037] In a third aspect, the present application further provides a computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method in any one of the above-mentioned embodiments when executing the computer program.

[0038] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the method in any one of the above-mentioned embodiments.

[0039] In a fifth aspect, the present application also provides a computer program product, including a computer program, which implements the steps of the method in any one of the above embodiments when executed by a processor.

[0040] The above-mentioned project schedule processing method, device, computer equipment, computer-readable storage medium and computer program product, upon receiving a project schedule editing instruction; based on the editing instruction, edit the various levels of plans corresponding to the project schedule to obtain a target project schedule, and decompose the saving operation of the target project schedule into multiple asynchronous threads through a thread pool, and store the target project schedule based on the multiple asynchronous threads, wherein each of the asynchronous threads is used to store a part of the target project schedule, and subsequently monitor the target event corresponding to the storage result of each asynchronous thread, and when the target event is monitored, synchronize the stored target project schedule to the corresponding system. In the present application, the storage of the target project schedule is realized by multiple asynchronous threads, which improves efficiency, and the stored target project schedule is synchronized to the corresponding system by monitoring, which not only improves the processing efficiency of the system, but also ensures the integrity of the schedule data. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0042] Figure 1 An application environment diagram of a project schedule processing method in an embodiment;

[0043] Figure 2 A schematic diagram of a process flow of a project schedule processing method in one embodiment;

[0044] Figure 3 A flowchart of a project schedule processing method in another embodiment;

[0045] Figure 4 A structural block diagram of a project schedule processing device in one embodiment;

[0046] Figure 5 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0048] The project schedule processing method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown, the terminal 102 communicates with the server 104 through a network. The data storage system can store data that the server 104 needs to process. The data storage system can be integrated on the server 104, or placed on the cloud or other network servers.

[0049] Among them, the terminal 102 can send a project schedule editing instruction to the server 104, and the server 104 can edit the various levels of plans corresponding to the project schedule based on the editing instruction to obtain the target project schedule; decompose the saving operation of the target project schedule into multiple asynchronous threads through the thread pool, and store the target project schedule based on the multiple asynchronous threads, wherein each asynchronous thread is used to store a part of the target project schedule; monitor the target event corresponding to the storage result of each asynchronous thread, and synchronize the stored target project schedule to the corresponding system when the target event is monitored, so that the storage of the target project schedule is realized through multiple asynchronous threads, which improves the efficiency, and synchronizes the stored target project schedule to the corresponding system by monitoring, which not only improves the processing efficiency of the system, but also ensures the integrity of the schedule data.

[0050] The terminal 102 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. The IoT devices may be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices may be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The server 104 may be an independent physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides cloud computing services.

[0051] In an exemplary embodiment, Figure 2 As shown, a project schedule processing method is provided, which is applied to Figure 1 The server in the example is used to illustrate, including the following steps 202 to 208. Among them:

[0052] S202: Receive a project schedule editing instruction.

[0053] S204: Editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule.

[0054] The project schedule includes multiple levels. In some optional embodiments, the project schedule includes three levels, namely: task stage (referring to the R&D process, such as: requirement process, design process, etc.), task activity (referring to specific tasks in the R&D process, such as: requirement analysis, requirement review, etc.), task sub-activity (task activities are subdivided into work item level, and the selected scope is the same as "version scope").

[0055] When creating a project schedule, it is necessary to edit the initialized project schedule or the existing project schedule, and the editing includes editing at least one of the task phase, task activity and task sub-activity.

[0056] For the editing of task stages, the task stages in the project schedule can be added or deleted. For adding task stages, the server can call the plan dynamic configuration library to determine the optional items for repeatability verification. Specifically, the server can call the plan dynamic configuration library to determine the optional items for the user to select, and perform repeatability verification after the user selects. In other embodiments, the server can receive the task stages sent by the terminal, and then call the plan dynamic configuration library to determine the optional items, and compare the task stages sent by the terminal with the optional items determined by calling the plan dynamic configuration library for repeatability verification.

[0057] For the editing of task activities and task sub-activities, task activities and task sub-activities in the project schedule can be added or deleted. For adding task activities and task sub-activities, the server can call the plan dynamic configuration library to determine the optional items for repeatability verification. Specifically, the server can call the plan dynamic configuration library to determine the optional items for the user to select, and perform repeatability verification after the user selects. In other embodiments, the server can receive task activities and task sub-activities sent by the terminal, and then call the plan dynamic configuration library to determine the optional items, and compare the task activities and task sub-activities sent by the terminal with the optional items determined by calling the plan dynamic configuration library for repeatability verification.

[0058] S206: Decomposing the target project schedule saving operation into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each asynchronous thread is used to store a portion of the target project schedule.

[0059] S208: Monitor the target event corresponding to the storage result of each asynchronous thread, and when the target event is monitored, synchronize the stored target project schedule to the corresponding system.

[0060] In order to improve efficiency, this application uses multi-threading and monitoring technology to save the project schedule.

[0061] The target project schedule is stored using multiple asynchronous threads, and each asynchronous thread is used to store a portion of the target project schedule.

[0062] Specifically, the ExecutorService thread pool is used to decompose the schedule saving operation into multiple threads, each thread is responsible for saving a part of the data, improving resource utilization and response speed.

[0063] Optionally, the server can first decompose the target project schedule based on the level of the target project schedule to obtain multiple parts to be saved, and then assign each part to be saved to an asynchronous thread, so as to save a part of the target project schedule through the asynchronous thread. Wherein the target project schedule is decomposed based on the level of the target project schedule can be decomposed based on the task stage. If the size of the first data part obtained by decomposing the target project schedule based on the task stage is greater than the threshold, then continue to decompose the first data part based on the task activity. If the size of the second data part obtained by decomposing the data part based on the task activity is greater than the threshold, then the second data part is decomposed based on the task sub-activity. If the size of the third data part obtained by decomposing the data part based on the task self-activity is greater than the threshold, then the third data part is decomposed based on the threshold, so that the size of each data part obtained is less than the threshold, which is convenient for the processing of the asynchronous thread. The threshold can be determined based on the maximum amount of data that each asynchronous thread can process.

[0064] Among them, regarding the consistency of schedule data guaranteed by transaction management in this application: when saving the target project schedule, Spring's Transactional declarative transaction management is used to ensure data consistency. If an error occurs in a thread during the saving process, the transaction is rolled back to ensure that the data is not inconsistent.

[0065] In some optional embodiments, the target project schedule is stored based on multiple asynchronous threads, including: based on multiple asynchronous threads, using Spring's Transactional declarative transaction management to store the target project schedule; the method also includes: if at least one of the asynchronous threads stores an error, rolling back the transaction; if each asynchronous thread stores successfully, generating a target event.

[0066] The asynchronous push of the schedule is also achieved through monitoring technology: after the target project schedule is successfully saved, the Spring ApplicationEvent event and TransactionalEventListener monitoring mechanism are used. When the schedule is saved, the target event, that is, the ApplicationEvent event, will be triggered. When the TransactionalEventListener monitors the ApplicationEvent event, it will push the schedule-related data to other systems, greatly improving the system's fault tolerance mechanism.

[0067] In the above embodiment, the use of ApplicationEvent+TransactionalEventListener listening scheme and ExecutorService thread pool to implement the schedule saving scheme is compared with the traditional single-threaded scheme. The ExecutorService thread pool is used to operate on the data of multiple schedules at the same time, and after listening (TransactionalEventListener) to the successful saving of the schedule data, the data is asynchronously pushed to other systems, which not only improves the processing efficiency of the system, but also ensures the integrity of the schedule data.

[0068] The above-mentioned project schedule processing method receives a project schedule editing instruction; based on the editing instruction, the various levels of plans corresponding to the project schedule are edited to obtain a target project schedule, and the saving operation of the target project schedule is decomposed into multiple asynchronous threads through a thread pool, and the target project schedule is stored based on multiple asynchronous threads, wherein each asynchronous thread is used to store a part of the target project schedule, and subsequently monitors the target events corresponding to the storage results of each asynchronous thread, and when the target event is monitored, the stored target project schedule is synchronized to the corresponding system. In this application, the storage of the target project schedule is realized by multiple asynchronous threads, which improves efficiency, and the stored target project schedule is synchronized to the corresponding system by monitoring, which not only improves the processing efficiency of the system, but also ensures the integrity of the schedule data.

[0069] In one of the optional embodiments, before receiving a project schedule editing instruction, the process includes: receiving a project schedule creation instruction, the schedule creation instruction carrying a version number and a project type; when it is determined based on the version number that a project schedule does not exist, calling initialization information in a schedule dynamic configuration library based on the project type to generate a project schedule; when it is determined based on the version number that a project schedule exists, displaying the existing project schedule.

[0070] Among them, combined Figure 3 As shown, the dynamic configuration library of the schedule plan includes information such as task phases, task activities, whether it can be tailored, project definition process, etc. required for various types of projects, which are dynamically defined in advance according to the characteristics of different projects.

[0071] After receiving the project schedule creation instruction, you can first determine whether the corresponding project schedule already exists based on the version number. If it does, the existing project schedule will be displayed. If it does not exist or the version number is empty, the initialization information of the schedule dynamic configuration library will be called according to the project type, that is, based on the project type, the task phases, task activities, whether they can be cut, the project definition process and other information required for the pre-defined project will be obtained from the schedule dynamic configuration library and displayed.

[0072] In some optional embodiments, the project schedule in the present application also supports copying. For example, an existing project schedule can be queried based on a version number, and task phases and task activities can be copied to create a new project schedule.

[0073] In some optional embodiments, the target project schedule includes task sub-activities; the method further includes: receiving a change instruction for the task sub-activity; and adjusting the target project schedule based on the task sub-activity.

[0074] In this embodiment, the project schedule can be changed in real time. For example, the task sub-activities can be changed, and the schedule involved can be adjusted in real time accordingly.

[0075] In the above embodiment, a dynamic configuration technology is adopted to guide the user to quickly formulate a project schedule that meets the characteristics of the project.

[0076] In one of the optional embodiments, the above method also includes: obtaining a preconfigured workload estimation model, the workload estimation model includes preconfigured function points, and each function point corresponds to a workload; based on the workload estimation model, estimating the workload of each function point in the target project schedule to obtain the planned workload of the target project schedule; receiving a work time record request, and generating a corresponding work time record based on the work time record request; based on each work time record and the target project schedule, obtaining the actual workload of each task in the target project schedule; generating plan completion information based on the actual workload and the planned workload.

[0077] The workload estimation model can support dynamic configuration. The workload estimation model defines function point categories, function complexity, adjustment coefficients, etc. The function point categories include 11 major categories and 102 minor categories. Based on the decomposition of the requirements specification, it can estimate the engineering workload and management workload required for each requirement in each stage, including requirements analysis, system design, function development, test verification, production deployment, etc., and can be estimated in both standard estimation and non-standard estimation modes.

[0078] In this application, standardized function point estimation is performed based on the estimation model. After completing the function point estimation of each requirement of the version, the estimation tool automatically calculates the sum of the function points of all work items as the estimated scale of the version. After defining the version scope and estimating the workload of each requirement, it supports initializing the project schedule of the version based on the estimated workload, and can calculate the start and end time of each milestone node based on the duration of each task.

[0079] In some optional embodiments, the application also includes working time records, in which task types support dynamic configuration, and can dynamically configure task types, task subcategories, mapping categories, mapping subcategories, associated documents, visible teams, and visible personnel types. Working time reporting supports filling in by various types of personnel, and supports changes to working time content and working time duration.

[0080] In some optional embodiments, the present application can also calculate the workload and construction period. Specifically, the server calculates the actual workload, actual start time and actual end time of each task in the schedule based on the records of working hours reported, and calculates the completion percentage based on the ratio of the actual workload to the planned workload.

[0081] In one of the optional embodiments, after generating the plan completion information based on the actual workload and the planned workload, the method includes: displaying the plan completion information in at least one of a Gantt chart and a table, evaluating the execution of the target project schedule based on the plan completion information, and generating overdue reminder information of the target project schedule based on the execution.

[0082] In one of the optional embodiments, the present application can also preview the progress plan, and optionally the present application supports at least one of a Gantt chart and a table to display the plan completion information.

[0083] The Gantt chart is used to display the overall progress plan of each requirement, including the planned start and end time of each requirement, actual start and end time, planned workload, actual workload, current status, current to-do list, time period of each stage, change information of task activities, delay information, and work item completion statistics.

[0084] The detailed progress of each task sub-activity is displayed in a table, including estimated workload, estimated duration, planned start and end time, actual start and end time, actual workload, number of people, resource name, completion status, change information, etc.

[0085] Optionally, this application can also track the accuracy plan, specifically, evaluate the execution of the progress plan based on the comparison between the actual completion and the planned completion. Use email notifications to supervise and remind the postponed matters at each stage, including reminders for filling in SIT test information, SIT test overdue, UAT test overdue, PAT test overdue, production change preparation information filling reminder, version review overdue, etc.

[0086] In the above-mentioned embodiment, dynamic configuration and multi-threading technologies are applied to various links of schedule formulation and execution, which can flexibly and quickly respond to the addition and adjustment of the schedule.

[0087] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0088] Based on the same inventive concept, the embodiment of the present application also provides a project schedule processing device for implementing the project schedule processing method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more project schedule processing device embodiments provided below can refer to the limitations of the project schedule processing method above, and will not be repeated here.

[0089] In an exemplary embodiment, Figure 4 As shown, a project schedule processing device is provided, including: a receiving module 401, an editing module 402, a multi-thread processing module 403 and a synchronization module 404, wherein:

[0090] Receiving module 401, used to receive project schedule editing instructions;

[0091] An editing module 402, for editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule;

[0092] A multithread processing module 403, used to decompose the saving operation of the target project schedule into multiple asynchronous threads through a thread pool, and store the target project schedule based on the multiple asynchronous threads, wherein each asynchronous thread is used to store a part of the target project schedule;

[0093] The synchronization module 404 is used to monitor the target event corresponding to the storage result of each asynchronous thread, and synchronize the stored target project schedule to the corresponding system when the target event is monitored.

[0094] In one of the optional embodiments, the above-mentioned device also includes: a creation module, used to receive a project schedule creation instruction, the plan creation instruction carries a version number and a project type; when it is determined based on the version number that a project schedule does not exist, calling the initialization information in the schedule dynamic configuration library based on the project type to generate a project schedule; when it is determined based on the version number that a project schedule exists, displaying the existing project schedule.

[0095] In one of the optional embodiments, the multi-thread processing module is specifically used to store the target project schedule based on multiple asynchronous threads using Spring's Transactional declarative transaction management;

[0096] The above device also includes:

[0097] A rollback module, used for rolling back a transaction when at least one asynchronous thread stores an error;

[0098] The event generation module is used to generate a target event when each asynchronous thread is successfully stored.

[0099] In one of the optional embodiments, the target project schedule includes task sub-activities; the above-mentioned device also includes: an adjustment module, which is used to receive change instructions for task sub-activities; and adjust the target project schedule based on the task sub-activities.

[0100] In one of the optional embodiments, the above-mentioned device also includes: a workload processing module, which is used to obtain a pre-configured workload estimation model, the workload estimation model includes pre-configured functional points, and each functional point corresponds to a workload; based on the workload estimation model, the workload of each functional point in the target project schedule is estimated to obtain the planned workload of the target project schedule; receiving a working time record request, and generating a corresponding working time record based on the working time record request; based on each working time record and the target project schedule, obtaining the actual workload of each task in the target project schedule; generating plan completion information based on the actual workload and the planned workload.

[0101] In one of the optional embodiments, the device further includes: a display module for displaying the plan completion information in at least one of a Gantt chart and a table, evaluating the execution of the target project schedule based on the plan completion information, and generating overdue reminder information of the target project schedule based on the execution status.

[0102] Each module in the project schedule processing device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0103] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 5 As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store a dynamic configuration library of a schedule plan. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a project schedule processing method is implemented.

[0104] Those skilled in the art will understand that Figure 5The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0105] In an exemplary embodiment, a computer device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the following steps when executing the computer program: receiving a project schedule editing instruction; editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule; decomposing the save operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each asynchronous thread is used to store a part of the target project schedule; monitoring the target event corresponding to the storage result of each asynchronous thread, and synchronizing the stored target project schedule to the corresponding system when the target event is monitored.

[0106] In one embodiment, before receiving a project schedule editing instruction implemented when a processor executes a computer program, the process includes: receiving a project schedule creation instruction, the schedule creation instruction carrying a version number and a project type; when it is determined based on the version number that a project schedule does not exist, calling initialization information in a schedule dynamic configuration library based on the project type to generate a project schedule; when it is determined based on the version number that a project schedule exists, displaying an existing project schedule.

[0107] In one embodiment, the storage of the target project schedule based on multiple asynchronous threads implemented by the processor when executing the computer program includes: storing the target project schedule based on multiple asynchronous threads using Spring's Transactional declarative transaction management;

[0108] In one embodiment, when the processor executes the computer program, the following steps are further implemented: if at least one asynchronous thread stores an error, the transaction is rolled back; if all asynchronous threads store successfully, a target event is generated.

[0109] In one embodiment, the target project schedule includes task sub-activities; when the processor executes the computer program, the following steps are also implemented: receiving a change instruction for the task sub-activity; and adjusting the target project schedule based on the task sub-activity.

[0110] In one embodiment, when the processor executes the computer program, the following steps are also implemented: obtaining a preconfigured workload estimation model, the workload estimation model includes preconfigured function points, and each function point corresponds to a workload; based on the workload estimation model, estimating the workload of each function point in the target project schedule to obtain the planned workload of the target project schedule; receiving a work time record request, and generating a corresponding work time record based on the work time record request; based on each work time record and the target project schedule, obtaining the actual workload of each task in the target project schedule; generating plan completion information based on the actual workload and the planned workload.

[0111] In one embodiment, after the processor executes the computer program to generate the plan completion information based on the actual workload and the planned workload, the method includes: displaying the plan completion information in at least one of a Gantt chart and a table, evaluating the execution of the target project schedule based on the plan completion information, and generating overdue reminder information of the target project schedule based on the execution.

[0112] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: receiving a project schedule editing instruction; editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule; decomposing the save operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each asynchronous thread is used to store a part of the target project schedule; monitoring the target event corresponding to the storage result of each asynchronous thread, and synchronizing the stored target project schedule to the corresponding system when the target event is monitored.

[0113] In one embodiment, before receiving a project schedule editing instruction, the computer program implemented when executed by a processor includes: receiving a project schedule creation instruction, the schedule creation instruction carries a version number and a project type; when it is determined based on the version number that a project schedule does not exist, calling initialization information in a schedule dynamic configuration library based on the project type to generate a project schedule; when it is determined based on the version number that a project schedule exists, displaying the existing project schedule.

[0114] In one embodiment, the computer program implemented by the processor when executed to store the target project schedule based on multiple asynchronous threads includes: storing the target project schedule based on multiple asynchronous threads using Spring's Transactional declarative transaction management;

[0115] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: if at least one asynchronous thread stores an error, a transaction is rolled back; if all asynchronous threads store successfully, a target event is generated.

[0116] In one embodiment, the target project schedule includes task sub-activities; when the computer program is executed by a processor, the following steps are also implemented: receiving a change instruction for the task sub-activity; and adjusting the target project schedule based on the task sub-activity.

[0117] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: obtaining a preconfigured workload estimation model, the workload estimation model includes preconfigured function points, and each function point corresponds to a workload; based on the workload estimation model, estimating the workload of each function point in the target project schedule to obtain the planned workload of the target project schedule; receiving a work time record request, and generating a corresponding work time record based on the work time record request; based on each work time record and the target project schedule, obtaining the actual workload of each task in the target project schedule; generating plan completion information based on the actual workload and the planned workload.

[0118] In one embodiment, after the computer program is executed by the processor to generate the plan completion information based on the actual workload and the planned workload, the computer program includes: displaying the plan completion information in at least one of a Gantt chart and a table, evaluating the execution of the target project schedule based on the plan completion information, and generating overdue reminder information of the target project schedule based on the execution.

[0119] In one embodiment, a computer program product is provided, including a computer program, which implements the following steps when executed by a processor: receiving a project schedule editing instruction; editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule; decomposing the save operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each asynchronous thread is used to store a part of the target project schedule; monitoring the target event corresponding to the storage result of each asynchronous thread, and synchronizing the stored target project schedule to the corresponding system when the target event is monitored.

[0120] In one embodiment, before receiving a project schedule editing instruction, the computer program implemented when executed by a processor includes: receiving a project schedule creation instruction, the schedule creation instruction carries a version number and a project type; when it is determined based on the version number that a project schedule does not exist, calling initialization information in a schedule dynamic configuration library based on the project type to generate a project schedule; when it is determined based on the version number that a project schedule exists, displaying the existing project schedule.

[0121] In one embodiment, the computer program implemented by the processor when executed to store the target project schedule based on multiple asynchronous threads includes: storing the target project schedule based on multiple asynchronous threads using Spring's Transactional declarative transaction management;

[0122] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented: if at least one asynchronous thread stores an error, a transaction is rolled back; if all asynchronous threads store successfully, a target event is generated.

[0123] In one embodiment, the target project schedule includes task sub-activities; when the computer program is executed by a processor, the following steps are also implemented: receiving a change instruction for the task sub-activity; and adjusting the target project schedule based on the task sub-activity.

[0124] In one embodiment, when the computer program is executed by the processor, the following steps are also implemented: obtaining a preconfigured workload estimation model, the workload estimation model includes preconfigured function points, and each function point corresponds to a workload; based on the workload estimation model, estimating the workload of each function point in the target project schedule to obtain the planned workload of the target project schedule; receiving a work time record request, and generating a corresponding work time record based on the work time record request; based on each work time record and the target project schedule, obtaining the actual workload of each task in the target project schedule; generating plan completion information based on the actual workload and the planned workload.

[0125] In one embodiment, after the computer program is executed by the processor to generate the plan completion information based on the actual workload and the planned workload, the computer program includes: displaying the plan completion information in at least one of a Gantt chart and a table, evaluating the execution of the target project schedule based on the plan completion information, and generating overdue reminder information of the target project schedule based on the execution.

[0126] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0127] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0128] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0129] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A project schedule processing method, characterized in that: The method comprises: Receive project schedule editing instructions; Based on the editing instruction, edit each level plan corresponding to the project schedule to obtain a target project schedule; Decomposing the saving operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each of the asynchronous threads is used to store a portion of the target project schedule; The target event corresponding to the storage result of each asynchronous thread is monitored, and when the target event is monitored, the stored target project schedule is synchronized to the corresponding system.

2. The method according to claim 1, characterized in that Before receiving the project schedule editing instruction, the method includes: Receive a project schedule creation instruction, wherein the plan creation instruction carries a version number and a project type; In the case where it is determined based on the version number that the project schedule does not exist, calling the initialization information in the schedule dynamic configuration library based on the project type to generate the project schedule; When it is determined based on the version number that the project schedule exists, the existing project schedule is displayed.

3. The method according to claim 1, characterized in that The storing the target project schedule based on the multiple asynchronous threads includes: Based on the multiple asynchronous threads, the target project schedule is stored using Spring's Transactional declarative transaction management; The method further comprises: In the event of a storage error in at least one of the asynchronous threads, rolling back the transaction; When each of the asynchronous threads stores successfully, a target event is generated.

4. The method according to claim 1, characterized in that: The target project schedule includes task sub-activities; the method further includes: receiving a change instruction for the task sub-activity; The target project schedule is adjusted based on the task sub-activities.

5. The method according to any one of claims 1 to 4, characterized in that: The method further comprises: Acquire a pre-configured workload estimation model, wherein the workload estimation model includes pre-configured function points, and each function point corresponds to a workload; Based on the workload estimation model, the workload of each function point in the target project schedule is estimated to obtain the planned workload of the target project schedule; Receiving a work time record request, and generating a corresponding work time record based on the work time record request; Based on the working time records and the target project schedule, the actual workload of each task in the target project schedule is obtained; Planned completion information is generated based on the actual workload and the planned workload.

6. The method according to claim 5, characterized in that After the planned completion information is generated based on the actual workload and the planned workload, the method includes: Displaying the plan completion information in at least one of a Gantt chart and a table; The execution status of the target project schedule is evaluated based on the plan completion information, and overdue reminder information of the target project schedule is generated based on the execution status.

7. A project schedule processing device, characterized in that: The device comprises: A receiving module, used for receiving project schedule editing instructions; An editing module, used for editing each level plan corresponding to the project schedule based on the editing instruction to obtain a target project schedule; A multi-thread processing module, used for decomposing the saving operation of the target project schedule into multiple asynchronous threads through a thread pool, and storing the target project schedule based on the multiple asynchronous threads, wherein each of the asynchronous threads is used for storing a part of the target project schedule; The synchronization module is used to monitor the target event corresponding to the storage result of each asynchronous thread, and when the target event is monitored, synchronize the stored target project schedule to the corresponding system.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.