Periodic task reporting optimization method and system based on text line difference comparison
Patent Information
- Application Number
- CN202610899375.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-22
- Publication Date
- 2026-09-29
AI Technical Summary
[0007](1)重复工作量大:员工本就维护着任务状态表,但仍需额外人工整理对比信息,存在大量重复劳动
[0036]实施本发明实施例,优点如下:员工只需要维护其本身就在维护的任务状态表,由系统自动生成各种维度的汇报视图,既减少了员工工作量,又提升了管理层查看的灵活性。
Smart Images

Figure CN122840482A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of task management and information reporting technology, specifically to a periodic task reporting optimization method and system based on text line difference comparison. Background Technology
[0002] In modern enterprise management, management needs to periodically understand the task execution status of employees. The core information they focus on usually includes the following four categories: (1) New: New tasks started in this period; (2) Completed (deleted): Tasks that have been completed or taken offline and no longer promoted in this period; (3) Modified: Tasks whose progress has changed in this period (percentage change or minor adjustment of task description); (4) Stagnant (unchanged): Tasks whose progress has not changed in this period.
[0003] Employees typically need to maintain a personal task status sheet, compare it with the status sheet at the end of the previous period, compile the above four categories of information, and submit a report according to the format required by management. For example:
[0004] Daily report: generated by comparing yesterday's task status report with today's task status report;
[0005] Weekly reports are generated by comparing the "task status report of last weekend" with the "task status report of this weekend".
[0006] The above task reporting method has the following problems:
[0007] (1) Large amount of repetitive work: Employees already maintain the task status table, but additional manual sorting and comparison of information is still required, resulting in a large amount of repetitive work.
[0008] (2) Difficulty in standardizing the format: Different employees have different understandings and labeling methods for "add, complete, modify, and stagnate", making it difficult to force them to output in a uniform format.
[0009] (3) Poor adaptation to multiple cycles: Employees often need to organize reports for different cycles such as daily, weekly and monthly reports separately, which further increases their burden.
[0010] (4) Single reporting perspective: When reading reports, management cannot flexibly switch perspectives according to their own focus (such as only looking at changes, only looking at stagnation, only looking at new additions and completions, etc.).
[0011] (5) Difficulty in historical retrospection: Once traditional report texts are formed, it is difficult to quickly retrospectively compare the state between any two points in time. Summary of the Invention
[0012] In view of the deficiencies in the prior art, the purpose of this invention is to provide a method and system for optimizing periodic task reporting based on text line difference comparison.
[0013] To achieve the above objectives, in a first aspect, embodiments of the present invention provide a method for optimizing periodic task reporting based on text line difference comparison, comprising:
[0014] At the end of the preset task reporting cycle, obtain the task status view submitted by the employee client at multiple times; the task status view includes at least one task record, and the task record includes the task completion percentage and task content.
[0015] Extract the task status views at any two time points, call the GNU diff tool and combine it with custom parameters, text line difference comparison and line pairing algorithm to identify the task status views at any two time points and obtain the identification results;
[0016] The recognition results are rendered using multiple views to obtain various rendered views; among them, the various rendered views include eight types: today view, yesterday view, comprehensive view, changed view, unchanged view, newly added view, modified view, and deleted view;
[0017] The management client provides a visual representation of multiple rendering views and offers the ability to switch between them.
[0018] As a specific implementation of this application, the identification result is as follows:
[0019] Perform text preprocessing on the task status views at any two time points, including removing leading percent signs and extra spaces;
[0020] The GNU diff tool is invoked, and a custom group-format parameter is used to compare the differences in text lines between the task status views at two different time points after text preprocessing, to obtain the difference text; the difference text includes unchanged blocks, old blocks, new blocks, and changed blocks.
[0021] A row pairing algorithm is used to pair the changed blocks, distinguishing between "modification" and "deletion + addition", to obtain the recognition result; the recognition result includes multiple change records.
[0022] The row pairing algorithm is a greedy matching algorithm based on the similarity of row content, including:
[0023] Input the old row set and the new row set, and obtain the similarity matrix based on the old row set and the new row set;
[0024] Elements with a similarity greater than or equal to a threshold are selected from the similarity matrix to form candidate triples;
[0025] Sort the elements in the candidate triplet in descending order of similarity;
[0026] A greedy selection is performed on the elements in the sorted candidate triplet.
[0027] As a preferred implementation of this application, after obtaining the identification result, the method further includes:
[0028] The multiple change records in the identification results are sorted according to the sorting rules to obtain a unified change record list;
[0029] The sorting rules are as follows: UNCHANGED and MODIFIED are sorted according to their line numbers in the new version; DELETED is inserted before the next "non-deleted line" in its original version; and ADDED is inserted according to its line number in the new version.
[0030] Secondly, embodiments of the present invention also provide a periodic task reporting optimization system based on text line difference comparison, including an employee client for data interaction, a backend server, and a management client; wherein the backend server includes:
[0031] The task status view acquisition unit is used to acquire task status views submitted by employee clients at multiple times at the end of a preset task reporting cycle; the task status view includes at least one task record, and the task record includes the task completion percentage and task content.
[0032] The recognition unit is used to extract the task status view at any two time points, call the GNU diff tool and combine custom parameters, text line difference comparison and line matching algorithm to recognize the task status view at any two time points and obtain the recognition result.
[0033] The rendering unit performs multi-view rendering on the recognition results to obtain multiple rendering views, and sends the multiple rendering views to the management layer client for visualization; the management layer client provides a switching function for the multiple rendering views.
[0034] Thirdly, embodiments of the present invention also provide another backend server, including a processor, an input device, an output device, and a memory, wherein the processor, input device, output device, and memory are interconnected, wherein the memory is used to store a computer program, the computer program includes program instructions, and the processor is configured to call the program instructions to execute the method described in the first aspect.
[0035] Fourthly, embodiments of the present invention also provide a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a processor, cause the processor to perform the method described in the first aspect.
[0036] The advantages of implementing this embodiment of the invention are as follows: employees only need to maintain the task status table that they are maintaining, and the system automatically generates various dimensions of reporting views, which reduces the workload of employees and improves the flexibility of management in viewing. Attached Figure Description
[0037] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the accompanying drawings used in the description of the specific embodiments or the prior art will be briefly introduced below.
[0038] Figure 1 This is a flowchart of a periodic task reporting optimization method based on text line difference comparison provided in an embodiment of the present invention;
[0039] Figure 2 It is to achieve Figure 1 The system architecture diagram of the method shown is as follows;
[0040] Figure 3 This is the task status view;
[0041] Figure 4 This is a screenshot of the interface for the management client to display multiple view entry points;
[0042] Figures 5a to 5c This is a rendered example image;
[0043] Figure 6 This is a structural diagram of the backend server provided in an embodiment of the present invention;
[0044] Figure 7 yes Figure 6 Another structural diagram of the backend server is shown. Detailed Implementation
[0045] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0046] It should be understood that, when used in this specification and the appended claims, the terms "comprising" and "including" indicate the presence of the described features, integrals, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or collections thereof.
[0047] To address the technical deficiencies described in the background section, the inventive concept of this invention is to provide an optimized method for periodic task reporting, whereby employees submit only one snapshot of the "task status view," and the system automatically derives multiple reporting views through text difference comparison. Specifically, this optimization method may include:
[0048] 1. Minimalist Task Table Format: Standardize the task status table into a plain text, line-by-line format, with one task per line, starting with "Percentage Completed %" followed by a description of the task. This format facilitates both employee editing and program comparison, line by line.
[0049] 2. Periodic snapshot submission: At the end of each minimum reporting period (usually the end of each day), employees submit a complete view of the current task status. This view is a snapshot of the status at that moment, and the system stores it indexed by (user ID, date).
[0050] 3. View Derivation Based on Difference Comparison: The system takes the task status view at any two points in time (such as yesterday and today, last weekend and this weekend), calls the GNU diff tool and combines its custom parameters with the row pairing algorithm to identify four types of row-level changes: "unchanged, added, modified and deleted".
[0051] 4. Multi-view rendering and tab switching: Based on the above recognition results, the system renders eight views—Today's view, Yesterday's view, Comprehensive view, Change view, Unchanged view, New view, Modified view, and Deleted view—which can be freely switched using the tabs at the top of the page.
[0052] Using the above methods, employees' reporting burden is greatly reduced (they only need to update the task sheets they already have to maintain), while management gains a multi-dimensional, switchable, and visual reporting interface.
[0053] The periodic task reporting optimization method based on text line difference comparison provided in this invention is mainly applicable to the optimization of task reporting within various reporting cycles. This periodic task reporting optimization method based on text line difference comparison is based on... Figure 2 The system architecture implementation is shown below. Figure 2 As shown, the system includes employee clients, backend servers, and management clients.
[0054] Please refer to Figure 1The periodic task reporting optimization method based on text line difference comparison provided in this embodiment of the invention includes the following steps:
[0055] S1 defines the format specifications for the task status view.
[0056] In this implementation, the task status table is defined as plain text and follows these rules: each line represents a task, and lines are separated by newline characters (\n); each line consists of two parts: <completion percentage>%<task content>; the completion percentage is an integer between 0 and 100; there may be several spaces between the completion percentage and the task content (for alignment). The task status view is a snapshot based on the task status table; therefore, it can be understood that the task status view also follows the format specifications of the task status table and is also plain text. For example, a typical task status view is as follows: Figure 3 As shown.
[0057] S2, at the end of the preset task reporting cycle, the backend server obtains the task status views submitted by the employee client at multiple times.
[0058] In practice, at the end of a preset task reporting cycle (usually one day or one week), employees submit their reports through methods such as... Figure 2 The task status editor shown in the employee client saves a snapshot of the task status view for the day or week and submits it to the backend server.
[0059] Combination Figure 3 It can be seen that each task status view includes at least one task record, and each task record includes the task completion percentage and task content.
[0060] S3: The backend server extracts the task status views at any two time points, calls the GNU diff tool and combines custom parameters, text line difference comparison and line matching algorithms to identify the task status views at any two time points and obtain the identification results.
[0061] In practice, the task status view at any two points in time is preprocessed with text, including removing percentage symbols at the beginning of lines and extra spaces.
[0062] The GNU diff tool is invoked, and a custom group-format parameter is used to compare the differences in text lines between the task status views at two different time points after text preprocessing, to obtain the difference text; the difference text includes unchanged blocks, old blocks, new blocks, and changed blocks.
[0063] A row pairing algorithm is used to pair the changed blocks, distinguishing between "modification" and "deletion + addition", to obtain the recognition result; the recognition result includes multiple change records.
[0064] S4 performs multi-view rendering on the recognition results to obtain multiple rendering views.
[0065] In specific implementation, steps S3 and S4 can be described as the backend server extracting task state views at any two moments, forming a pair of snapshots S_old (old) and S_new (new), and generating multiple views based on the old and new snapshots. The overall algorithm flow includes:
[0066] Input: S_old.content, S_new.content
[0067] Step (1) Text preprocessing: Remove blank lines and comment lines starting with #, and retain the original line text (including original spaces, for subsequent display).
[0068] Step (2) Text line difference comparison (GNU diff): Call GNU diff, using the custom group-format parameter; get the structured difference output: unchanged block / old block / new block / changed block.
[0069] Step (3) Change classification and row pairing: perform row pairing within the "change block"; distinguish between "MODIFIED" and "DELETED+ADDED".
[0070] Step (4) Generate a unified change record list.
[0071] Step (5) View rendering.
[0072] Step (6) Output HTML (or rich text).
[0073] Regarding step (2), in its specific implementation, the parameters of GNU diff can be used to make the diff output structured text that is easy for the program to parse. Example of the command (Bash):
[0074] diff \
[0075] --unchanged-group-format=$'@UNCHANGED\n%=' \
[0076] --old-group-format=$'@OLD\n%<' \
[0077] --new-group-format=$'@NEW\n%>' \
[0078] --changed-group-format=$'@CHANGED\n@CHANGED_OLD\n%<@CHANGED_NEW\n%>'\
[0079] yesterday.txt today.txt
[0080] Parameter meaning:
[0081] %=: All lines in the current unmodified block (included in both files)
[0082] %<: All lines from older files in the current group.
[0083] %>: All lines from the new file in the current group.
[0084] @UNCHANGED, @OLD, @NEW, and @CHANGED are custom block header tags that facilitate program parsing.
[0085] Output semantics:
[0086] Table 1
[0087]
[0088] That is, the GNU diff tool is called, and the task status view at two time points after text preprocessing is compared to obtain the difference text using the custom group-format parameter; the difference text includes unchanged blocks, old blocks, new blocks and changed blocks.
[0089] Regarding step (3), in specific implementation, for the @CHANGED block, the lines of the old and new segments may have the following two relationships:
[0090] Edit: The percentage for the same task has changed or the description has been slightly adjusted (these should be displayed in pairs).
[0091] Delete + Add: One task is completely deleted, and another unrelated task is added (these should not be paired).
[0092] GNU diff itself only cares about line-level equality and cannot naturally recognize the semantic meaning of "task progress change". Therefore, a line-pairing algorithm is introduced, which performs greedy matching based on the similarity of line content (task description after removing percentage prefixes). The algorithm flow is described as follows:
[0093] 1. Definition:
[0094] clean(line): Removes the beginning "percentage%" and extra spaces from the line content.
[0095] sim(a, b): The similarity between strings a and b, with values in the range [0, 1] (calls the longest common subsequence algorithm)
[0096] θ: Similarity threshold (default 0.7)
[0097] 2. Input: Set of old lines old_lines = [O_1, O_2, ..., O_m]
[0098] The set of new lines is new_lines = [N_1, N_2, ..., N_n]
[0099] 3. Calculate the similarity matrix M[i][j] between the old row set and the new row set = sim(clean(O_i), clean(N_j))
[0100] 4. Collect all candidate triples (i, j, M[i][j]) where M[i][j] ≥ θ.
[0101] 5. Sort the candidates in descending order of similarity.
[0102] 6. Greedy choice:
[0103] for (i, j, s) in the sorted candidates:
[0104] If neither O_i nor N_j is paired:
[0105] The (O_i, N_j) is marked as MODIFIED
[0106] 6. Remaining unmatched rows:
[0107] Unpaired O_i --> DELETED
[0108] Unpaired N_j --> ADDED
[0109] That is, the row matching algorithm in this embodiment is based on the similarity matching of row content, including:
[0110] Input the old row set and the new row set, and obtain the similarity matrix based on the old row set and the new row set;
[0111] Elements with a similarity greater than or equal to a threshold are selected from the similarity matrix to form candidate triples;
[0112] Sort the elements in the candidate triplet in descending order of similarity;
[0113] A greedy selection is performed on the elements in the sorted candidate triplet.
[0114] After a greedy selection, specific identification results can be obtained, including four types of row-level changes: "unchanged", "added", "modified", and "deleted".
[0115] Regarding step (4), generate a unified change record list:
[0116] Each record: {Type, Old row (optional), New row (optional), Sequence number}
[0117] Type ∈ {UNCHANGED, ADDED, MODIFIED, DELETED}
[0118] To maintain a stable and intuitive display order, the final unified sorting rule for the list of changed records is as follows:
[0119] UNCHANGED and MODIFIED are sorted by the line number in which they appear in the new version;
[0120] DELETED is inserted before the next "non-deleted line" in its original version;
[0121] ADDED is inserted according to its line number in the new version.
[0122] Regarding step (5) View rendering: Color and style each record according to the requested view type.
[0123] In practice, let the type of the uniform change record be t∈{UNCHANGED, ADDED, MODIFIED, DELETED}, and let each view specify the color and style for each type of record:
[0124] Table 2
[0125]
[0126] It should be noted that "gray" indicates a weakened display, making non-interesting content recede into the visual background; other colors indicate emphasis.
[0127] The "Unchanged View" is specifically designed to view the status of stalled tasks and is an important tool for management to identify "stuck tasks".
[0128] In this scenario, "delete view" is equivalent to "completed view"—because employees usually delete tasks because the task is already completed.
[0129] S5 uses a management layer client to visualize multiple rendering views and provides switching functionality between them.
[0130] In practice, the top of the management client page displays eight view entry points in a tab format, such as... Figure 4 As shown.
[0131] It's important to note that the difference calculation is performed only once, and the "unified change record list" can be cached afterward. When switching tabs on the front end, you only need to change the CSS class (such as adding class names like view-changed / view-unchanged / view-added to the container), and the CSS will control the color and style of each record, without needing to recalculate the differences.
[0132] To better understand the embodiments of the present invention, a complete example is provided below for illustration:
[0133] (1) Input two snapshots
[0134] Yesterday's snapshot (yesterday.txt):
[0135] 100% Task 1: Complete project initiation and requirements gathering.
[0136] 60% Task 2: Complete the technical solution review for version V1
[0137] 20% Task 3: Backend API Interface Development
[0138] 0% Task 4: Database Table Structure Design
[0139] 0% Task 5: Write test cases
[0140] Today's snapshot (today.txt):
[0141] 100% Task 1: Complete project initiation and requirements gathering.
[0142] 100% Task 2: Complete the technical solution review for version V1
[0143] 40% Task 3: Backend API Interface Development
[0144] 0% Task 5: Write test cases
[0145] 30% Task 6: Write the deployment script
[0146] (2) GNU diff structured output
[0147] Execute command:
[0148] diff \
[0149] --unchanged-group-format=$'@UNCHANGED\n%=' \
[0150] --old-group-format=$'@OLD\n%<' \
[0151] --new-group-format=$'@NEW\n%>' \
[0152] --changed-group-format=$'@CHANGED\n@CHANGED_OLD\n%<@CHANGED_NEW\n%>'\
[0153] yesterday.txt today.txt
[0154] Output:
[0155] @UNCHANGED
[0156] 100% Task 1: Complete project initiation and requirements gathering.
[0157] @CHANGED
[0158] @CHANGED_OLD
[0159] 60% Task 2: Complete the technical solution review for version V1
[0160] 20% Task 3: Backend API Interface Development
[0161] 0% Task 4: Database Table Structure Design
[0162] @CHANGED_NEW
[0163] 100% Task 2: Complete the technical solution review for version V1
[0164] 40% Task 3: Backend API Interface Development
[0165] @UNCHANGED
[0166] 0% Task 5: Write test cases
[0167] @NEW
[0168] 30% Task 6: Write the deployment script
[0169] (3) Row pairing results
[0170] Pairing within the @CHANGED block:
[0171] Table 3
[0172]
[0173] Add "Task 6" to the @NEW block → ADDED.
[0174] 1. Standardized change record list, Table 4:
[0175]
[0176] (5) Rendering Example 1: Composite View (e.g.) Figure 5a ); Rendering Example 2: Modifying the view (e.g.) Figure 5b Visually, only the progress changes of Task 2 and Task 3 are highlighted, allowing management to quickly identify the focus; Rendering Example 3: Unchanged View (5c), used to view stalled tasks; Management can immediately identify that "Task 5: Writing Test Cases" has been stalled at 0% for a long time and requires special attention.
[0177] As can be seen from the above description, the advantages of implementing the periodic task reporting optimization method based on text line difference comparison provided in this embodiment of the invention are as follows:
[0178] 1. Significantly reduced employee workload: Employees only need to maintain the task status view that they are already maintaining, without having to separately organize the four categories of "added / completed / modified / stalled" information.
[0179] 2. The reporting format is naturally consistent: plain text + percentage format is simple and clear, and the difference comparison results are automatically generated by the system, avoiding inconsistencies when manually annotating differences.
[0180] 3. Flexible switching between multiple views: Management can freely switch between eight views—Today, Yesterday, Summary, Changes, Unchanged, Added, Modified, and Deleted—based on their own focus, with flexible granularity.
[0181] 4. Reuse of the same data across multiple periods: Comparative reports for daily, weekly, monthly, or even any time period are all generated based on the same set of daily snapshots, eliminating redundant work.
[0182] 5. Historical traceability: Any two historical snapshots can be compared instantly, facilitating post-event auditing and review.
[0183] 6. Mature and stable algorithm implementation: The core difference calculation is based on GNU diff, a widely validated tool, and can achieve good results when combined with a simple row pairing algorithm, resulting in low cost and high stability.
[0184] 7. Excellent front-end performance: Difference calculation is performed only once, and tab switching is completed solely through CSS classes, eliminating redundant calculation overhead.
[0185] 8. Adaptable to various reporting periods. Whether it's daily, weekly, monthly, or even any custom time period, employees only need to submit a snapshot daily, and the system can automatically select two corresponding snapshots for comparison under different period requirements.
[0186] Table 5
[0187]
[0188] Based on the same inventive concept, embodiments of the present invention provide a periodic task reporting optimization system based on text line difference comparison, including an employee client for data interaction, a backend server, and a management client. Wherein, as Figure 6 As shown, the backend server includes:
[0189] The task status view acquisition unit is used to acquire task status views submitted by employee clients at multiple times at the end of a preset task reporting cycle; the task status view includes at least one task record, and the task record includes the task completion percentage and task content.
[0190] The recognition unit is used to extract the task status view at any two time points, call the GNU diff tool and combine custom parameters, text line difference comparison and line matching algorithm to recognize the task status view at any two time points and obtain the recognition result.
[0191] The rendering unit performs multi-view rendering on the recognition results to obtain multiple rendered views, and sends these multiple rendered views to the management layer client for visualization; the management layer client provides switching functionality between the multiple rendered views. These multiple rendered views include today's view, yesterday's view, comprehensive view, changed view, unchanged view, newly added view, modified view, and deleted view.
[0192] In a specific implementation, the identification unit is used for:
[0193] Perform text preprocessing on the task status views at any two time points, including removing leading percent signs and extra spaces;
[0194] The GNU diff tool is invoked, and a custom group-format parameter is used to compare the differences in text lines between the task status views at two different time points after text preprocessing, to obtain the difference text; the difference text includes unchanged blocks, old blocks, new blocks, and changed blocks.
[0195] A row pairing algorithm is used to pair the changed blocks, distinguishing between "modification" and "deletion + addition", to obtain the recognition result; the recognition result includes multiple change records.
[0196] In this embodiment, the row pairing algorithm is a greedy matching algorithm based on the similarity of row content, including:
[0197] Input the old row set and the new row set, and obtain the similarity matrix based on the old row set and the new row set;
[0198] Elements with a similarity greater than or equal to a threshold are selected from the similarity matrix to form candidate triples;
[0199] Sort the elements in the candidate triplet in descending order of similarity;
[0200] A greedy selection is performed on the elements in the sorted candidate triplet.
[0201] It should be noted that the specific workflow of this embodiment is described in the foregoing method embodiment section, and will not be repeated here.
[0202] Furthermore, another embodiment of the present invention also provides a backend server. For example... Figure 7 As shown, the backend server may include one or more processors 101, one or more input devices 102, one or more output devices 103, and a memory 104. The processors 101, input devices 102, output devices 103, and memory 104 are interconnected via a bus 105. The memory 104 stores a computer program, which includes program instructions. The processor 101 is configured to invoke the program instructions to execute the method described in the above-described method embodiment.
[0203] It should be understood that, in this embodiment of the invention, the processor 101 may be a central processing unit (CPU), but it may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0204] Input device 102 may include a keyboard, etc., and output device 103 may include a display (LCD, etc.), a speaker, etc.
[0205] The memory 104 may include read-only memory and random access memory, and provides instructions and data to the processor 101. A portion of the memory 104 may also include non-volatile random access memory. For example, the memory 104 may also store device type information.
[0206] In specific implementations, the processor 101, input device 102, and output device 103 described in the embodiments of the present invention can execute the implementation methods described in the embodiments of the periodic task reporting optimization method based on text line difference comparison provided in the embodiments of the present invention, which will not be repeated here.
[0207] Accordingly, embodiments of the present invention provide a computer-readable storage medium storing a computer program, the computer program including program instructions, which, when executed by a processor, implement the above-described periodic task reporting optimization method based on text line difference comparison.
[0208] The computer-readable storage medium can be an internal storage unit of the system described in any of the foregoing embodiments, such as the system's hard disk or memory. The computer-readable storage medium can also be an external storage device of the system, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, or Flash Card. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the system. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0209] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0210] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, or may be electrical, mechanical or other forms of connection.
[0211] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of the embodiments of the present invention, depending on actual needs.
[0212] Furthermore, the functional units in the various embodiments of this invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated units can be implemented in hardware or as software functional units. When using each module, user information is collected and stored only with the user's full authorization and in compliance with relevant laws and regulations, protecting the security and privacy of user data, and strictly prohibiting unauthorized access; data processing will be conducted within the scope stipulated by law and will not exceed the purpose and scope authorized by the user; at the same time, users have the rights to access, correct, delete, restrict processing, and refuse their personal data; and must strictly comply with applicable laws and regulations and conduct compliance reviews.
[0213] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0214] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and these modifications or substitutions should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A method for optimizing periodic task reporting based on text line difference comparison, characterized in that, include: At the end of the preset task reporting cycle, obtain the task status view submitted by the employee client at multiple points in time; The task status view includes at least one task record, and the task record includes the task completion percentage and task content; Extract the task status views at any two time points, call the GNU diff tool and combine it with custom parameters, text line difference comparison and line pairing algorithm to identify the task status views at any two time points and obtain the identification results; The recognition results are rendered using multi-view rendering to obtain multiple rendered views; The management client provides a visual representation of multiple rendering views and offers the ability to switch between them.
2. The method as described in claim 1, characterized in that, The recognition results are as follows: Perform text preprocessing on the task status views at any two time points, including removing leading percent signs and extra spaces; The GNU diff tool is invoked, and a custom group-format parameter is used to compare the differences in text lines between the task status views at two different time points after text preprocessing, to obtain the difference text; the difference text includes unchanged blocks, old blocks, new blocks, and changed blocks. A row pairing algorithm is used to perform row pairing on the changed blocks to distinguish between "modification" and "deletion + addition" to obtain the recognition result; the recognition result includes multiple change records.
3. The method as described in claim 2, characterized in that, The row pairing algorithm is a greedy matching algorithm based on the similarity of row content, including: Input the old row set and the new row set, and obtain the similarity matrix based on the old row set and the new row set; Elements with similarity greater than or equal to a threshold are selected from the similarity matrix to form candidate triples; Sort the elements in the candidate triplet in descending order of similarity; A greedy selection is performed on the elements in the sorted candidate triplet.
4. The method as described in claim 2, characterized in that, After obtaining the recognition result, the method further includes: The multiple change records in the identification results are sorted according to the sorting rules to obtain a unified change record list; The sorting rules are as follows: UNCHANGED and MODIFIED are sorted according to their line numbers in the new version; DELETED is inserted before the next "non-deleted line" in its original version; and ADDED is inserted according to its line number in the new version.
5. The method as described in claim 1, characterized in that, Each change record is classified as UNCHANGED, ADDED, MODIFIED, or DELETED; multiple rendering views are available, including today's view, yesterday's view, comprehensive view, changed view, unchanged view, newly added view, modified view, and deleted view. Furthermore, each view records a specified color and style for each type of change.
6. A periodic task reporting optimization system based on text line difference comparison, comprising an employee client for data interaction, a backend server, and a management client, characterized in that, The backend server includes: The task status view acquisition unit is used to acquire task status views submitted by employee clients at multiple times at the end of a preset task reporting cycle; the task status view includes at least one task record, and the task record includes the task completion percentage and task content. The recognition unit is used to extract the task status view at any two time points, call the GNU diff tool and combine custom parameters, text line difference comparison and line matching algorithm to recognize the task status view at any two time points and obtain the recognition result. The rendering unit performs multi-view rendering on the recognition results to obtain multiple rendering views, and sends the multiple rendering views to the management layer client for visualization; the management layer client provides a switching function for the multiple rendering views.
7. The system as described in claim 6, characterized in that, The identification unit is specifically used for: Perform text preprocessing on the task status views at any two time points, including removing leading percent signs and extra spaces; The GNU diff tool is invoked, and a custom group-format parameter is used to compare the differences in text lines between the task status views at two different time points after text preprocessing, to obtain the difference text; the difference text includes unchanged blocks, old blocks, new blocks, and changed blocks. A row pairing algorithm is used to perform row pairing on the changed blocks to distinguish between "modification" and "deletion + addition" to obtain the recognition result; the recognition result includes multiple change records.
8. A periodic task reporting optimization system based on text line difference comparison, comprising an employee client for data interaction, a backend server, and a management client, characterized in that, The backend server includes a processor, an input device, an output device, and a memory, which are interconnected. The memory is used to store a computer program, which includes program instructions. The processor is configured to call the program instructions to execute the method as described in any one of claims 1-5.
9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, the computer program including program instructions that, when executed by a processor, cause the processor to perform the method as described in any one of claims 1-5.