Multi-person online relay type collaborative report editing method and device, computer equipment and readable storage medium

Through web-side interaction and database version control, the problems of inefficient collaborative editing and version traceability of traditional reporting systems in team collaboration are solved, and multi-person online relay collaborative editing and automated report version management are realized, improving team collaboration efficiency and version control capabilities.

CN120373267AInactive Publication Date: 2025-07-25XUNTU TECH (SHANGHAI) CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510864067.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-26
Publication Date
2025-07-25
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Traditional reporting systems have low collaborative editing efficiency in team collaboration scenarios, lack of automation of versions and operation records, historical versions need to be manually backed up, and operation traces are not retained in the system, which makes it difficult to trace versions and review operations, and it is difficult to meet the needs of efficient iteration, controllable versions, and traceable operation under the collaboration of multiple people in the enterprise.

Method used

Respond to multi-user report viewing, editing and publishing operations through the web-side interactive interface, and use the report main information table and report version information table in the database to achieve version control. The joint version number consisting of the main version number, the secondary version number, and the revised version number are uniquely positioned, and the current version is marked through the current version identification field to record the report status, style, column configuration and data operation details.

Benefits of technology

It has realized online relay collaboration among multiple people, automated management of report versions and traceability of the entire operation process, improving team collaboration efficiency and version control capabilities, ensuring that operations are traceable and version controllable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120373267A_ABST
    Figure CN120373267A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-user online relay type collaborative report editing method and device, computer equipment and a readable storage medium. The method comprises the steps that firstly, multi-user report checking, editing and publishing operation is responded through a webpage end interaction interface; version control is realized by relying on a report main body information table and a report version information table in a database, a target version is uniquely positioned by a combined version number formed by a main version number, a secondary version number and a revised version number, and a current version is marked by a current version identification field; and recording each version state and operation details by utilizing report state, style, column configuration and data operation detail fields of the report version information table. According to the method, multi-person online relay cooperation, report version automatic management and operation whole-process tracing are realized, and team cooperation efficiency and version control capability are effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of data processing, and in particular, to a method, device, computer device, and readable storage medium for multi-person online relay collaborative editing of reports. Background Art

[0002] Current reporting systems are widely used in enterprise operation management. However, traditional reporting systems based on Excel files or modern stand-alone installation software have significant defects in team collaboration scenarios: on the one hand, the collaborative editing efficiency is low. It is necessary to manually distribute report files and rely on specific software for viewing and editing. The cross-user sharing and iteration process is cumbersome; on the other hand, the version and operation record lack automation. Historical versions need to be manually backed up, and operation traces are not retained by the system, resulting in great difficulties in version tracing and operation review. The above problems restrict the collaborative processing efficiency of the team for report data and are difficult to meet the needs of enterprises for efficient iteration, version control, and operation traceability under multi-person collaboration. Therefore, there is an urgent need for a reporting editing technical solution that supports multi-person online relay collaboration, automated version management, and full-process operation records. Summary of the Invention

[0003] The purpose of the present invention is to provide a method, device, computer device, and readable storage medium for multi-person online relay collaborative editing of reports.

[0004] In a first aspect, an embodiment of the present invention provides a method for multi-person online relay collaborative editing of reports, including: Providing an interactive interface through a web page to respond to the viewing, editing, and publishing operations of reports by multiple users; Implementing version control based on a report main body information table that stores report main body information and a report version information table that stores report version information in a database. Among them, the report main body information table and the report version information table are in a one-to-many association. A single report corresponds to a unique record in the report main body information table and multiple records in the report version information table; the report version information table uniquely locates the target version of the report through a combined version number composed of a major version number, a minor version number, and a revision version number, and marks the current version of the report through a current version identifier field; In the report version information table, the status information, style information, column configuration information, and data operation details of the report in different versions are recorded through a report status field, a report style field, a report column configuration field, and a report data operation details field.

[0005] In a possible implementation manner, the responding to the viewing, editing, and publishing operations of reports by multiple users includes: Responding to the operation instruction of a first user to select the target data to be edited; the first user is any one of the multiple users; In response to the first user's operation on the target data through a free report, perform processing on the target data; the free report operation includes at least one editing operation among sorting, filtering, grouping, and pivoting. During the process of the first user performing the free report operation, automatically record the details of each operation. After the first user completes the free report operation, publish the generated first report to the team public domain for other users among the multiple users to view or edit.

[0006] In a possible implementation manner, after the first user completes the free report operation, the method further includes: In response to the viewing instruction of the second user, retrieve the first report for the second user to view. In response to the editing instruction of the third user, perform the free report operation based on the first report and publish the generated second report; the second report is used as the latest version of the first report, replacing the first report and synchronizing it to the public domain.

[0007] In a possible implementation manner, the version control implemented based on the report body information table that stores report body information and the report version information table that stores report version information in the database includes: When the user performs a save operation on the current version report, set the current version identifier field recorded in the corresponding report version information table of the current version from 1 to 0. Generate a new record in the report version information table. The record identifier of the report body information table associated with the new record in the report version information table is the same as the record identifier of the current report's report body information table, and the major version number remains unchanged, the revision version number remains unchanged, the minor version number is automatically incremented by 1, and at the same time, set the current version identifier field of the new record to 1.

[0008] In a possible implementation manner, the structure of the report body information table includes: an auto-increment primary key, an owner identifier field, a user name field, an activation status field, a deletion status field, a creation time field, an update time field, and a soft deletion time field. The structure of the report version information table includes: an auto-increment primary key, a name field, a major version number field, a minor version number field, a revision version number field, a draft identifier field, a current version identifier field, a current release version identifier field, a dataset identifier field, a basic dataset identifier field, an institution identifier field, a report status field, a report style field, a thumbnail field, a source field, an additional information field, a foreign key field associated with the report body information table, a writer identifier field, a creation time field, an update time field, a description field, a report column configuration field, a report data operation details field, a label field, and an end time field. The details of the data operation include sorting details, filtering details, column details, grouping details, and pivoting details; among them, each data operation detail needs to include the details of recording this operation itself and the latest status of the report after the operation.

[0009] In a possible implementation manner, the response to multiple users performing view, edit, and publish operations on a report includes: When the fourth user needs to supplement and edit a historical report version that has been replaced, first determine the current status of the historical report version; If this historical report version has been replaced by the latest version report, retrieve the latest version report for the fourth user to perform free report operations; After the fourth user completes the free report operation, publish the generated new version report to replace the original latest version report and synchronize it to the public domain.

[0010] In a possible implementation manner, the response to multiple users performing view, edit, and publish operations on a report includes: Respond to the cancellation instruction of the fifth user, cancel the target operation based on report version management and historical records, and automatically record the details of the cancellation operation; After the fifth user performs free report operations, publish the generated new version report to replace the original version report and synchronize it to the public domain.

[0011] In a second aspect, an embodiment of the present invention provides a device for multi-person online relay collaborative editing of a report, including: An interaction module, configured to provide an interaction interface through a web page to respond to multiple users performing view, edit, and publish operations on a report; A management module, configured to implement version control based on a report main body information table that stores report main body information and a report version information table that stores report version information in a database, where the report main body information table and the report version information table are in a one-to-many association, a single report corresponds to a unique record in the report main body information table and multiple records in the report version information table; the report version information table uniquely locates the target version of the report through a combined version number composed of a major version number, a minor version number, and a revision version number, and marks the current version of the report through a current version identifier field; A recording module, configured to record the status information, style information, column configuration information, and data operation details of the report under different versions in the report version information table through a report status field, a report style field, a report column configuration field, and a report data operation details field.

[0012] In a third aspect, an embodiment of the present invention provides a computer device, which includes a processor and a non-volatile memory storing computer instructions. When the computer instructions are executed by the processor, the computer device executes the method described in the first aspect.

[0013] In a fourth aspect, an embodiment of the present invention provides a readable storage medium, which includes a computer program. When the computer program runs, it controls the computer device where the readable storage medium is located to execute the method described in the first aspect.

[0014] Compared with the prior art, the beneficial effects provided by the present invention include: By adopting a method, device, computer device, and readable storage medium for multi-person online relay collaborative editing of reports disclosed in the present invention, the web-based interactive interface responds to multi-user report viewing, editing, and publishing operations; relying on the report main body information table and report version information table in the database to implement version control, the target version is uniquely located by the combined version number composed of the major version number, minor version number, and revision version number, and the current version is marked by the current version identification field; the report status, style, column configuration, and data operation details fields of the report version information table are used to record the status and operation details of each version. This method realizes multi-person online relay collaboration, automatic management of report versions, and full-process traceability of operations, effectively improving the team collaboration efficiency and version control ability. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.

[0016] Figure 1 It is a schematic flowchart of the steps of the method for multi-person online relay collaborative editing of reports provided by the embodiment of the present invention; Figure 2 It is a schematic flowchart of an implementation manner of multi-person online relay collaborative editing of reports provided by the embodiment of the present invention; Figure 3 It is a schematic flowchart of an implementation manner of multi-person online relay collaborative editing of reports provided by the embodiment of the present invention; Figure 4 It is a schematic flowchart of an implementation manner of multi-person online relay collaborative editing of reports provided by the embodiment of the present invention; Figure 5 It is a schematic flowchart of an implementation manner of multi-person online relay collaborative editing of reports provided by the embodiment of the present invention; Figure 6A flowchart showing an implementation of a multi - person online relay - style collaborative report editing provided by an embodiment of the present invention; Figure 7 A structural schematic block diagram of a device for multi - person online relay - style collaborative report editing provided by an embodiment of the present invention; Figure 8 A structural schematic block diagram of a computer device provided by an embodiment of the present invention. Detailed implementation manners

[0017] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. Generally, the components of the embodiments of the present invention described and illustrated in the accompanying drawings here can be arranged and designed in various different configurations.

[0018] The following will detail the specific implementation manners of the present invention with reference to the accompanying drawings.

[0019] To solve the technical problems in the foregoing background art, Figure 1 A flowchart showing the method for multi - person online relay - style collaborative report editing provided by an embodiment of the present disclosure. The method for multi - person online relay - style collaborative report editing will be introduced in detail below.

[0020] Step S201: Provide an interactive interface through a web - based terminal to respond to the operations of viewing, editing, and publishing reports by multiple users; Step S202: Implement version control based on a report main - body information table storing report main - body information and a report version information table storing report version information in a database. Among them, the report main - body information table and the report version information table are in a one - to - many relationship. A single report corresponds to a unique record in the report main - body information table and multiple records in the report version information table. The report version information table uniquely locates the target version of the report through a combined version number composed of a major version number, a minor version number, and a revision version number, and marks the current version of the report through a current version identifier field; Step S203: In the report version information table, record the status information, style information, column configuration information, and data operation details of the report in different versions through a report status field, a report style field, a report column configuration field, and a report data operation details field.

[0021] In an embodiment of the present invention, exemplarily, the server first provides a unified report operation entry to multiple users (such as user-a, user-b, user-c, etc.) within an enterprise team by deploying a web-based interaction service, supporting users to initiate operation requests such as viewing, editing, and publishing in a browser environment. When a user logs in to the web-based interface and triggers an operation, the server will, according to the preset business logic, link two types of core tables in the database - the report body information table storing report body information and the report version information table storing report version information, to complete report version control and operation detail recording.

[0022] For the web-based interaction and first report creation scenario: When user-a logs in to the system through the web-based interface, the server responds to the operation instruction of "selecting a batch of data", loads the target data from the enterprise data source (such as a business database, a data warehouse), and presents the data in a visual form on the web interaction interface. During the process of user-a performing free report operations such as "sorting, filtering, grouping, pivoting", the server will capture the behavioral characteristics of each step in real time. For example, when user-a performs "sorting from largest to smallest" on a certain column of the report (such as column-a), the server not only records the details of the operation itself, such as "the column identifier targeted by the sorting operation, the sorting direction, the triggering time", but also synchronously captures the latest status of the column order, data row display form, grid layout, etc. of the report after the operation, and stores this information temporarily in the interaction context cache. When user-a completes all free operations and clicks the "publish report" button, the server will generate a unique record in the report body information table: this record identifies the report's identity through an auto-incrementing primary key, and at the same time associates the user ID, user name, operation time, etc. of user-a and other main information; meanwhile, the server generates the first version record in the report version information table, initializes the major_version (major version number), minor_version (minor version number), and patch_version (revision version number) of this operation to the base version (such as major_version = 1, minor_version = 0, patch_version = 0), and sets the "current version identifier field" to 1 (marked as the current latest version). Immediately afterwards, the server writes the information such as "sorting details, filtering rules, column display status, overall report style (such as cell color matching, font format)" temporarily stored into the report status field (recording the grid layout after data loading), report style field (recording the visual presentation rules), report column configuration field (recording the display / hide status of each column), and report data operation detail field (recording the specific parameters of operations such as sorting and filtering) of the report version information table. After completing data persistence, the server pushes the generated report (table-a) to the team's public domain to ensure that other users (such as user-b) can initiate a viewing request through the web-based interface.

[0023] In the multi-user relay editing and version control process, the server always maintains the one-to-many association logic between the "report main body information table" and the "report version information table": a single report corresponds to only one record in the "report main body information table" (uniquely distinguished by an auto-incrementing primary key), while in the "report version information table", it corresponds to multiple records (each version iteration corresponds to one record). When other users in the team (such as user-c) initiate an edit request for the published table-a, the server first filters out the records with the "current version identifier field equal to 1" from the "report version information table" (i.e., the latest version of table-a), and loads its data (including status, style, column configuration, operation details) to the web page for user-c to operate. When user-c performs free report operations (such as adding filtering conditions to a certain column) and clicks "Save", the server will first set the "current version identifier field" of the original record with "current version identifier field equal to 1" to 0 (marked as a historical version), and then generate a new record in the "report version information table": keep the major_version (such as 1) and patch_version (such as 0) unchanged, automatically increment the minor_version (such as from 0 to 1), and set the "current version identifier field" of the new record to 1 (marked as the latest version). At the same time, the server updates the details of user-c's current operation (such as the newly added filtering conditions, grouping rules) and the latest status of the report after the operation to the corresponding fields such as the "report data operation details field" and the "report status field". At this time, the original report table-a is replaced by the new version table-b, and the server automatically synchronizes table-b to the team's public domain to ensure that all users obtain the latest version when accessing it later.

[0024] For the scenario of historical version backtracking and supplementary editing (e.g., user-a needs to supplement and edit the replaced table-a): When user-a initiates a "view historical report" request through the web interface, the server first queries all version records of this report in the "report version information table", and determines that the original table-a has been replaced by table-b (that is, the "current version identifier field" corresponding to table-a is 0, and the corresponding field for table-b is 1). Then, the server retrieves the version data of table-b (including the details and status of user-c's previous operations) and loads it to the web interface for user-a to operate. When user-a performs the supplementary free report operation ("free report operation 5") and clicks "publish", the server repeats the version update logic: sets the "current version identifier field" corresponding to table-b to 0, generates a new record (major_version = 1, minor_version = 2, patch_version = 0) and sets the "current version identifier field" to 1. At the same time, the details of user-a's current operation (such as the newly added grouping rules) and the latest status of the report after the operation are written into the corresponding fields such as the "report data operation details field". After completion, the server generates a new version table-c and synchronizes it to the public domain, realizing the relay-style supplementary editing of historical versions.

[0025] In terms of operation records and traceability, the server realizes the retention of details for each version iteration of the report through the report status field (recording data layout), report style field (recording visual rules), report column configuration field (recording column visibility), and report data operation details field (recording operation parameters such as sorting and filtering) in the "report version information table". For example, when user-e discovers an error in "free report operation 5" in table-c and initiates an "undo operation" request, the server will extract the version record corresponding to this operation (including operation details and post-execution status) from the "report version information table", and restore to the report status before the operation through the rollback logic (such as after undoing "free report operation 5", the report returns to the state before this operation was performed on table-b). At the same time, the behavior details of "undo operation 5" (such as undo time, triggering user, operation object) are recorded in the "report data operation details field". Subsequently, when user-e performs "free report operation 6" (such as correcting the filtering conditions), the server captures the details of this operation again (such as the corrected filtering rules, post-execution column order) and the post-operation status, generates a new version record table-d, updates the "current version identifier field" and synchronizes it to the public domain. During this process, through the multi-field linkage of the "report version information table", the server ensures that the traces of each edit, replacement, backtracking, and undo operation are completely retained, providing a reliable basis for team users to trace the evolution process of the report from table-a to table-d.

[0026] In summary, with the web - based interaction as the entry point, the one - to - many association of "report main body information table + report version information table" as the data support, the "primary / secondary / revision version number + current version identifier field" as the core of version control, and the "status / style / column configuration / data operation details field" as the starting point for operation records, the server realizes the full - process connection of reports from creation, viewing, relay editing, version iteration to historical backtracking and error correction in a multi - person online scenario. In each link, the server ensures the technical effects of "traceable operations, controllable versions, and efficient collaboration" through precise instruction responses, data persistence, and status updates, perfectly matching the core requirements of enterprise teams for data flow transparency, version iteration controllability, and historical operation traceability in report collaboration.

[0027] In the embodiment of the present invention, the response to the operations of viewing, editing, and publishing reports by multiple users can be implemented through the following examples.

[0028] Respond to the operation instruction of the first user and select the target data to be edited; the first user is any one of the multiple users; Respond to the first user's free report operation and process the target data; the free report operation includes at least one editing operation among sorting, filtering, grouping, and data pivoting; During the process of the first user performing the free report operation, automatically record the details of each operation; After the first user completes the free report operation, publish the generated first report to the team public domain for other users among the multiple users to view or edit.

[0029] In an embodiment of the present invention, exemplarily, when performing "responding to multiple users' operations of viewing, editing, and publishing reports", the server takes the report user user-a as the typical scenario anchor point to construct a complete collaboration process: when user-a initiates a "select a batch of data" instruction through the web page, the server extracts target data from the enterprise data source, parses and visually renders it on the interactive interface, and at the same time initializes the record framework of the report main information table in the background; when user-a performs free report operations such as "sorting, filtering, grouping, and pivoting" on the data, the server captures the operation parameters (such as the sorting column identifier, filtering rules) and the post-operation status (such as the column order, data row form) in real time, and temporarily stores the "action details" and "latest status" in the interactive context cache according to the operation time sequence; during the continuous operation of user-a, the server automatically writes the details of each operation into the corresponding fields of the report version information table (such as storing the sorting parameters in the report data operation details field and the grid layout in the report status field); when user-a finishes the operation and clicks "publish", the server first generates a unique record in the report main information table (associating the user ID and operation time), then generates the first version record in the report version information table (initializing the major / minor / revision version numbers and marking the current version identifier as 1), and finally persists the temporarily stored operation and status data, and pushes the generated first report (such as table-a) to the team public domain for other users such as user-b to view or edit later.

[0030] In an embodiment of the present invention, after the first user completes the free report operation, the method further provides the following implementation manners.

[0031] Respond to the viewing instruction of the second user and retrieve the first report for the second user to view; Respond to the editing instruction of the third user, perform the free report operation based on the first report and publish to generate a second report; the second report serves as the latest version of the first report, replaces the first report and is synchronized to the public domain.

[0032] In an embodiment of the present invention, exemplarily, when the first user (user-a) completes the free report operation and publishes the first report (such as table-a) to the team public domain, the server continuously responds to user requests within the public domain. If the second user (such as user-b) initiates a viewing instruction through the web page, the server first locates the unique record of table-a in the "report main information table", and then associates the record with the current version identifier field being 1 in the "report version information table" (i.e., the latest version of table-a), extracts the report status (such as the data grid layout), report style (such as cell color matching), report column configuration (such as column display / hide rules), and data operation details (such as sorting logic) of this record, parses this information and renders it to the web page so that user-b can intuitively view the content and format of table-a.

[0033] If a third user (such as user-c) initiates an editing instruction, the server first loads the latest version of the data of table-a (based on the current version record in the "Report Version Information Table") and restores it to the editing interface. When user-c performs a free-form report operation (such as adding a filtering rule to a certain column), the server captures the operation parameters (such as filtering fields, thresholds) and the post-operation status (such as the set of filtered data rows) in real time and temporarily stores them in the cache; when user-c completes the operation and triggers "publication", the server first sets the current version identifier field of the corresponding record in the "Report Version Information Table" of table-a from 1 to 0 (marked as the historical version), and then generates a new record: keeping the major version number and the revision version number unchanged, the minor version number is automatically incremented (such as from 0 to 1), and the current version identifier field is set to 1 (marked as the latest version). At the same time, the details and status of user-c's current operation are written into fields such as "Report Data Operation Details" and "Report Status" of the new record. Finally, the server replaces table-a with the newly generated second report (such as table-b) and synchronizes it to the public domain to ensure that subsequent users access the latest version of table-b.

[0034] In the embodiment of the present invention, the version control is implemented based on the report body information table that stores report body information and the report version information table that stores report version information in the database, including: When the user performs a save operation on the current version report, the current version identifier field of the corresponding record in the report version information table of the current version is set from 1 to 0; Generate a new record in the report version information table. The record identifier of the report body information table associated with the new record in the report version information table is the same as the record identifier of the report body information table of the current report, and the major version number remains unchanged, the revision version number remains unchanged, the minor version number is automatically incremented by 1, and at the same time, the current version identifier field of the new record is set to 1.

[0035] In an embodiment of the present invention, exemplarily, when a user performs a save operation on the current version report (taking the example that user user-c edits table-a and then clicks save), the server first locates the record in the report version information table where the "current version identifier field is 1" for this report (i.e., the latest version record of table-a), automatically sets the "current version identifier field" of this record from 1 to 0, and marks it as a historical version. Subsequently, based on the unique record identifier of table-a in the report main body information table, the server generates a new record in the report version information table: the record identifier of the report main body information table associated with the new record is the same as the main record identifier of table-a, keeps the "major version number" (such as the initial 1) and "revision version number" (such as the initial 0) unchanged, only automatically increments the "minor version number" by 1 (such as from 0 to 1), and at the same time sets the "current version identifier field" of the new record to 1, marking it as the current latest version. During this process, the new record will also carry the operation details (such as the new filtering rules added to a certain column) and the post-operation status (such as the display form of the filtered data rows) of this edit by user-c. Finally, the newly generated table-b becomes the replacement version of table-a and is synchronized to the public domain, completing the automated iterative control of the report version.

[0036] In an embodiment of the present invention, the structure of the report main body information table includes: an auto-increment primary key, an owner identifier field, a user name field, an activation status field, a deletion status field, a creation time field, an update time field, and a soft deletion time field; The structure of the report version information table includes: an auto-increment primary key, a name field, a major version number field, a minor version number field, a revision version number field, a draft identifier field, a current version identifier field, a current release version identifier field, a dataset identifier field, a basic dataset identifier field, an organization identifier field, a report status field, a report style field, a thumbnail field, a source field, an additional information field, a foreign key field associated with the report main body information table, a writer identifier field, a creation time field, an update time field, a description field, a report column configuration field, a report data operation details field, a label field, and an end time field; The data operation details include sorting details, filtering details, column details, grouping details, and pivoting details; among them, each data operation detail needs to include the details of this operation itself and the latest status of the report after the operation.

[0037] In an embodiment of the present invention, exemplarily, when the server realizes the version control and operation traceability of collaborative editing of reports in a multi-person online relay manner, it relies on the structured design of the report main body information table and the report version information table to carry the whole-process data.

[0038] For the report main body information table, when the first user (user-a) initiates a report creation request, the server automatically generates an auto-incrementing primary key (such as assigning the value 1), writes the user ID of user-a into the "owner identification field", and fills in the user name in the "user name field"; by default, the "activation status field" is 1 (indicating that the report is valid), and the "deletion status field" is 0 (indicating not deleted); synchronize the current system time to the "creation time field" and the "update time field" (the two times are the same in the initial state), and the "soft deletion time field" is temporarily set to null (indicating that soft deletion has not been performed), thus completing the unique identification and basic attribute record of a single report in the main body dimension.

[0039] For the report version information table, taking the creation and publication of table-a by user-a as an example: The server generates an auto-incrementing primary key (such as 1), writes the report name "table-a" into the "name field"; initializes the "major version number field" to 1, the "minor version number field" to 0, and the "revision version number field" to 0; since table-a has been published, the "draft flag field" is set to 0, and both the "current version flag field" and the "current published version flag field" are set to 1; the "dataset identification field" and the "basic dataset identification field" are bound to the data source ID, and the "organization identification field" writes the ID of the team to which it belongs; the "report status field" records the data grid layout after the operation (such as "Column A and Column B are arranged in the loading order, with a total of 15 rows of data displayed"); the "report style field" stores the visual configuration (such as "The background color of the table header is blue, and the row height is 20px"); the "thumbnail field" generates and stores the link to the report preview image; the "source field" is marked as "Created by user-a through the web online report system"; the "extra information field" temporarily stores a null value; the "foreign key field associated with the report main body information table" writes the auto-incrementing primary key 1 of table-a in the main body table; the "writer identification field" records the ID of user-a; the "creation time field" and the "update time field" are synchronized to the operation time (such as 2024-10-01 10:05:00); the "description field" is filled in by user-a as "Monthly summary table of sales data"; the "report column configuration field" records the column display and hiding rules (such as "Column C is hidden, and Column A and Column B are displayed"); the "report data operation details field" completely retains the free report operations of user-a: If user-a performs "sort from largest to smallest" on Column A, this field will write "Sorting details: The operation object is Column A, and the sorting direction is from largest to smallest; Status after operation: The data order of Column A is [50, 45, 30,...], and the report has a total of 15 rows of data displayed"; the "tag field" is marked by user-a as "Sales, Monthly, 2024Q3"; the "end time field" is temporarily set to null (indicating that the report iteration has not ended).

[0040] When the third user (such as user-c) edits and generates table-b based on table-a, the server adds a record to the report version information table: the auto-increment primary key is assigned the value 2, the "name field" is updated to "table-b"; the "major version number field" inherits 1, the "revision version number field" remains 0, and the "minor version number field" is incremented by 1 (becoming 1); the "current version identifier field" is set to 1 (marked as the latest version), and at the same time, the "current version identifier field" of the corresponding record in table-a is set from 1 to 0; the "report data operation details field" records the filtering operation of user-c: if user-c sets a filtering rule of "amount > 100" for column B, this field will write "filtering details: the operation object is column B, and the filtering rule is amount > 100; the status after operation: only 8 data rows that meet the conditions are displayed in column B, and the sorting status of column A remains unchanged".

[0041] Throughout the process, the "dual-dimensional recording" of the data operation details (details of the operation itself + status after operation) always runs through: whether it is the sorting of user-a, the filtering of user-c, or the grouping and pivoting operations of subsequent users, the server will, in the "report data operation details field", retain both the triggering conditions, operation objects, execution logics, etc. of the operation (details of the operation itself), and simultaneously capture the column order, number of data rows, style changes, etc. of the report after the operation (status after operation), providing accurate basis for team users to trace the evolution details of the report from table-a to table-b and then to subsequent versions, ensuring the transparency and traceability of version iteration and operation traces during multi-person collaboration.

[0042] In the embodiments of the present invention, the response to multiple users performing view, edit, and publish operations on the report can be implemented through the following examples.

[0043] When the fourth user needs to supplement and edit a historical report version that has been replaced, first determine the current status of the historical report version; If the historical report version has been replaced by the latest version report, then retrieve the latest version report for the fourth user to perform free report operations; After the fourth user completes the free report operations, publish the generated new version report to replace the original latest version report and synchronize it to the public domain.

[0044] In an embodiment of the present invention, exemplarily, when the fourth user (user-a) needs to supplement and edit a historical report version (such as table-a) that has been replaced, the server first queries the version record of this report in the report version information table, and determines that the "current version identifier field" of table-a is 0 (indicating that it has been replaced by table-b, and the "current version identifier field" of table-b is 1). After confirming the status, the server retrieves the latest version data of table-b (including information such as the report status, style, and data operation details left by user-c's previous operations), and renders it to the web page for user-a to perform free report operations (such as supplementing "free report operation 5"). After user-a completes the operation and triggers the release, the server sets the "current version identifier field" of the corresponding record of table-b from 1 to 0, generates a new record in the report version information table: associates the record identifier of the report main body information table of table-a, keeps the main version number and the revision version number unchanged, automatically increments the minor version number by 1, sets the "current version identifier field" to 1, and at the same time writes the details of this operation and the latest status of the report after the operation. Finally, the newly generated table-c replaces table-b and is synchronized to the public domain, completing the relay supplementary editing of the historical version.

[0045] In an embodiment of the present invention, the response to multiple users' operations of viewing, editing, and publishing reports can be implemented through the following examples.

[0046] Respond to the revocation instruction of the fifth user, revoke the target operation based on report version management and historical records, and automatically record the details of the revocation operation; After the fifth user performs free report operations, publish the generated new version report to replace the original version report and synchronize it to the public domain.

[0047] In an embodiment of the present invention, exemplarily, when the fifth user (user-e) issues a revocation instruction for the latest version report (such as table-c), the server extracts the historical operation records of the report from the report version information table and locates the "Free Report Operation 5" to be revoked. Relying on the version management logic, it rolls back to the state before the execution of this operation (such as restoring the data layout and style configuration of table-c before the execution of Operation 5), and at the same time automatically records the details of the revocation operation (including the revocation time, the triggering user, and the state changes before and after the rollback) at positions such as the "Report Data Operation Details Field". After user-e performs a new free report operation (such as modifying it to "Free Report Operation 6") on the rolled-back report and triggers the release, the server generates a new report version information table record: updates the version number (the minor version number is automatically incremented), marks the "Current Version Identification Field" as 1, and writes the parameters and post-state of the new operation into the corresponding fields; finally, publishes the generated new version report (such as table-d), replaces the original version (table-c), and synchronizes it to the public domain to ensure that team users can obtain the latest iterative results.

[0048] In order to more clearly describe the solution provided by the embodiments of the present invention, a more complete implementation manner is provided below.

[0049] The embodiments of the present invention are directed to a web-based online report system. The design of the web site enables users of the report system to no longer be limited to installing Excel software and.exe report system software on a computer, and only need a browser to use the report system.

[0050] The web-based online report system is divided into a client and a server. The client is the browser and is operated by the user. The user does not need to pay attention to the specific implementation of the server. The results of the server are presented in a human-computer interaction form on the client, and the user only needs to operate according to the UI feedback of the client.

[0051] (1) Please refer to Figure 2 , the report user user-a uses the web-based online report system. First, a batch of data is selected, and then free report operations are started (including common editing operations such as sorting, filtering, grouping, and pivoting). After the editing is completed, the report is published, with the goal of generating report table-a according to certain data logics and organizational methods. The process and interaction are as Figure 2As shown. When user-a performs free report operations and edits, the server will automatically record user-a's report operations. The recording scope covers all editing operations of the report, including but not limited to: sorting details, filtering details, column details, grouping details, pivoting details, etc. The historical record includes two dimensions. One is the details of the current report operation itself (for example, table-a sorts column-a in descending order), and the other is the current latest state of the report after the current report operation.

[0052] (2) Please refer to Figure 3 , after the report table-a is published, it enters the public domain of the report system, that is, table-a is shared and distributed to other members within the team, and other members can view or edit table-a. At this time, user-b also uses the web online report system and views table-a.

[0053] (3) Please refer to Figure 4 , at this time, user-c also uses the web online report system, views the report table-a, and then processes and edits table-a. After the editing is completed, it is also published. At this time, table-a is eliminated and replaced by the latest version, that is, table-b. Table-b is also immediately shared and distributed to other team members.

[0054] (4) Please refer to Figure 5 , at this time, user-a remembers that there were two missing editing operations in the previously generated table-a, namely free report operation 4 and free report operation 5. So user-a wants to make up these two operations and continues to edit table-a. At this time, table-a has been replaced by table-b, and free report operation 4 has been completed (cooperated by user-c in step 3). User-a only needs to perform free report operation 5 on table-b to complete the missing editing operations. After completing free report operation 5, the version of the report changes, table-b is eliminated, and replaced by the latest version of the report table-c.

[0055] (5) Please refer to Figure 6, at this time, the report table-c is the latest version of the report. At this time, team user user-e viewed the latest report and found that free report operation 5 was incorrect and needed to be corrected to free report operation 6. So, the user directly performed the desired editing operations on table-c in the web-based online report system. First, relying on the version management and history record revocation (rollback) of the report, free report operation 5 was undone, and then free report operation 6 was performed, completing the editing of the report this time. And the latest version of the report, table-d, was continued to be published to the public domain.

[0056] The embodiments of the present invention have the following beneficial effects: (1) For the report system, it realizes online relay collaboration and collaborative editing by multiple people and multiple users.

[0057] Different from the system that requires manual distribution of report files (traditional excel files or.exe software), users do not need to pay attention to the specific location of the report file, nor do they need to install and use specific software (excel or.exe software). Only a browser is required. This greatly reduces the inconvenience and untimely nature of the need to manually distribute and share report files back and forth frequently, and greatly improves the efficiency of the team's collaborative editing of reports.

[0058] On the server side, a data model will be generated for the online report file and persisted to the database.

[0059] In the database, the model is divided into two tables, file and commit. The table structure of the file table is as follows. Please refer to Table 1: Table 1

[0060] The table structure of the commit table is as follows. Please refer to Table 2: Table 2

[0061] Each report generates 1 file and N commits respectively, that is, the relationship between file and commit is 1:N.

[0062] The file record of each report uniquely determines a report data, which is identified by the id field. The owner_id is the id of the report owner, and the username is the username of the report owner.

[0063] Each file has N commit records. The id in the file table is associated with the file_id field in the commit table. The commit table is equivalent to the record of each version of the report form. The id field in the file table is unique, and each file record represents a report form. There are multiple records in the commit table with the same file_id but different ids, indicating that each report form has multiple versions.

[0064] After a user creates a report form in the web online report form system, a record (with a unique id) will be generated in the file table, and at the same time, a record will also be generated in the commit table. The record in the commit table is the initial version of the report form. Any subsequent modification to the report form will generate a new commit record after being saved, that is, the latest version of the report form. This is achieved through the is_current_version field in the commit table. When the field is 0, it means that the current commit record is not the current version (the latest version) of the report form. When the field is 1, it means that the current commit record is the current version (the latest version) of the report form. The major_version, minor_version, and patch_version tables are the major version number, minor version number, and revision version number of the report form version respectively. Combined, they form the combined version number of the report form, uniquely locating a certain version of the report form.

[0065] When multiple users collaborate to edit a report form in a relay manner (assuming this report form is reportform1), all users will only see the latest version (the current version) of reportform1. When any user edits the report form, as long as they do not save, the commit record of this report form will never change; after saving, the commit record changes as follows: 1. The is_current_version field of the current commit record changes from 1 to 0 2. A new commit record with a unique id but the same file_id is generated. The major_version remains unchanged, the patch_version remains unchanged, the minor_version is automatically incremented by 1, and at the same time, the is_current_version field is 1.

[0066] In this way, for version changes of the report form, the combined version number (the three fields of major_version, minor_version, and patch_version) and is_current_version take effect together to control the version changes of the report form.

[0067] When multiple users use the web-based online report system, they can conveniently initiate operations and processing from the browser side, and perform operations such as only viewing reports or editing reports.

[0068] (2)Automatically manages the versions of reports and operation history records.

[0069] Different from systems that require manual backup of historical version files, users do not need to pay attention to the storage location of the historical version files of reports. In the multi-user online relay collaborative editing report system, all historical records and various versions of report editing and operations can be seen at a glance.

[0070] In the commit table, there are 4 key fields, grid_state, grid_style, grid_columns, and grid_data_frame_request, which represent the report status, report style, report columns, and report operations (such as grouping, sorting, filtering, pivoting, etc.) respectively.

[0071] Under different versions of the same report (under different commits of the same file), these 4 fields jointly record the operations and processing of different versions. When multiple users relay and collaborate to edit a certain report (assuming this report is reportform1), assume the initial version is table-a, and the commit table id = 1 (the initial is also counted as an edit). Then someone makes a second edit and saves (adjusts the report style). Then the latest version of reportform1 changes from table-a to table-b, and the commit table id = 2. At this time, the 3 fields of grid_state, grid_columns, and grid_data_frame_request of table-b are the same as the fields with the same name in table-a, while grid_style has changed compared to table-a, recording the report style under the table-b version. Another example is that someone makes a third edit and saves (filters column a). Then the latest version of reportform1 changes from table-b to table-c, and the commit table id = 3. At this time, the 2 fields of grid_style and grid_columns of table-c are the same as the fields with the same name in table-b, while the 2 fields of grid_state and grid_data_frame_request are different from the fields with the same name in table-b respectively, adding a record of the operation of filtering column a.

[0072] Through this design, it can be ensured that when users collaborate to edit a report, historical records of various operations and processes on the report are kept, recording the changes that have occurred between each version of the report and the previous version, clearly and correctly recording and archiving the editing and operations of the historical versions of the report, making it easy to trace the report during the editing record.

[0073] Please refer to Figure 7 , Figure 7 A device 110 for multi-person online relay collaborative editing of reports provided by an embodiment of the present invention, including: An interaction module 1101, configured to provide an interaction interface through a web page to respond to viewing, editing, and publishing operations of a report by multiple users; A management module 1102, configured to implement version control based on a report main body information table storing report main body information and a report version information table storing report version information in a database. Among them, the report main body information table and the report version information table are in a one-to-many association. A single report corresponds to a unique record in the report main body information table and multiple records in the report version information table; the report version information table uniquely locates the target version of the report through a combined version number composed of a major version number, a minor version number, and a revision version number, and marks the current version of the report through a current version identification field; A recording module 1103, configured to record the status information, style information, column configuration information, and data operation details of the report under different versions in the report version information table through a report status field, a report style field, a report column configuration field, and a report data operation details field.

[0074] It should be noted that the implementation principle of the aforementioned device 110 for multi-person online relay collaborative editing of reports can refer to the implementation principle of the aforementioned method for multi-person online relay collaborative editing of reports, which will not be elaborated here. It should be understood that the division of each module of the above device is only a division of logical functions. In actual implementation, it can be fully or partially integrated into a physical entity, or physically separated. And these modules can all be implemented in the form of software called by a processing element; they can also all be implemented in the form of hardware; or some modules can be implemented in the form of software called by a processing element, and some modules can be implemented in the form of hardware. For example, the device 110 for multi-person online relay collaborative editing of reports can be a separately established processing element, or can be integrated in a certain chip of the above device. In addition, it can also be stored in the memory of the above device in the form of program code, and the function of the device 110 for multi-person online relay collaborative editing of reports can be called and executed by a certain processing element of the above device. The implementation of other modules is similar. In addition, all or part of these modules can be integrated together or can be independently implemented. The processing element described here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed by the integrated logic circuit in the processor element or the instruction in the form of software.

[0075] For example, the above modules can be one or more integrated circuits configured to implement the above method, such as: one or more application-specific integrated circuits (ASICs), or, one or more digital signal processors (DSPs), or, one or more field programmable gate arrays (FPGAs), etc. Again, when a certain module above is implemented in the form of a processing element scheduling program code, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call program code. Again, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0076] An embodiment of the present invention provides a computer device 100. The computer device 100 includes a processor and a non-volatile memory storing computer instructions. When the computer instructions are executed by the processor, the computer device 100 executes the aforementioned device 110 for multi-person online relay collaborative editing of reports. As Figure 8 shown, Figure 8The computer device 100 provided in the embodiment of the present invention is a structural block diagram. The computer device 100 includes a device 110 for multiple people to collaboratively edit reports online in relay mode, a memory 111 , a processor 112 and a communication unit 113 .

[0077] To achieve data transmission or interaction, the memory 111, the processor 112 and the communication unit 113 are electrically connected to each other directly or indirectly. For example, the electrical connection between these components can be achieved through one or more communication buses or signal lines. The device 110 for multi-person online relay collaborative editing of reports includes at least one software function module that can be stored in the memory 111 in the form of software or firmware or solidified in the operating system (OS) of the computer device 100. The processor 112 is used to execute the device 110 for multi-person online relay collaborative editing of reports stored in the memory 111, such as the software function modules and computer programs included in the device 110 for multi-person online relay collaborative editing of reports.

[0078] An embodiment of the present invention provides a readable storage medium, which includes a computer program. When the computer program is executed, the computer device where the readable storage medium is located is controlled to execute the aforementioned apparatus 110 for multi-person online relay collaborative editing of reports.

[0079] For illustrative purposes, the foregoing description is made with reference to specific embodiments. However, the above illustrative discussion is not intended to be exhaustive or to limit the present disclosure to the precise form disclosed. Numerous modifications and variations are possible in accordance with the above teachings. These embodiments are selected and described in order to best illustrate the principles of the present disclosure and its practical application, so that those skilled in the art can best utilize the present disclosure and utilize various embodiments with different modifications to suit the intended specific application.

Claims

1. A method for collaborative editing of reports in a multi-person online relay mode, characterized in that, Including: Providing an interactive interface through the web end to respond to the operations of multiple users for viewing, editing, and publishing reports; Implementing version control based on the report body information table storing report body information and the report version information table storing report version information in the database. Among them, the report body information table and the report version information table are in a one-to-many relationship. A single report corresponds to a unique record in the report body information table and multiple records in the report version information table. The report version information table uniquely locates the target version of the report through the combined version number composed of the major version number, minor version number, and revision version number, and marks the current version of the report through the current version identification field; In the report version information table, the status information, style information, column configuration information, and data operation details of the report under different versions are recorded through the report status field, report style field, report column configuration field, and report data operation details field.

2. The method according to claim 1, characterized in that The responding to the operations of multiple users for viewing, editing, and publishing reports includes: Responding to the operation instruction of the first user to select the target data to be edited; the first user is any one of the multiple users; Responding to the first user's free report operation to process the target data; the free report operation includes at least one editing operation such as sorting, filtering, grouping, and data pivoting; Automatically recording the details of each operation during the process of the first user performing the free report operation; After the first user completes the free report operation, publishing the generated first report to the team public domain for other users among the multiple users to view or edit.

3. The method according to claim 2, wherein After the first user completes the free report operation, the method further includes: Responding to the viewing instruction of the second user to retrieve the first report for the second user to view; Responding to the editing instruction of the third user to perform the free report operation based on the first report and publish the generated second report; the second report serves as the latest version of the first report, replacing the first report and synchronizing it to the public domain.

4. The method according to claim 1, wherein The implementing version control based on the report body information table storing report body information and the report version information table storing report version information in the database includes: When the user performs a save operation on the current version report, setting the current version identification field of the record corresponding to the current version in the report version information table from 1 to 0; Generating a new record in the report version information table, the record identification of the report body information table associated with the new record in the report version information table is consistent with the record identification of the report body information table of the current report, and the major version number remains unchanged, the revision version number remains unchanged, the minor version number is automatically incremented by 1, and at the same time, the current version identification field of the new record is set to 1.

5. The method according to claim 1, wherein The structure of the report body information table includes: an auto-increment primary key, an owner identification field, a user name field, an activation status field, a deletion status field, a creation time field, an update time field, and a soft deletion time field; The structure of the report version information table includes: an auto-incrementing primary key, a name field, a major version number field, a minor version number field, a revision version number field, a draft flag field, a current version flag field, a current release version flag field, a dataset identifier field, a basic dataset identifier field, an organization identifier field, a report status field, a report style field, a thumbnail field, a source field, an additional information field, a foreign key field associated with the report main body information table, a writer identifier field, a creation time field, an update time field, a description field, a report column configuration field, a report data operation details field, a label field, and an end time field; The data operation details include sorting details, filtering details, column details, grouping details, and pivoting details; among which, each data operation detail needs to include the details of this operation itself and the latest status of the report after the operation.

6. The method according to claim 1, characterized in that, The response to multiple users' operations of viewing, editing, and publishing reports includes: When the fourth user needs to supplement and edit a historical report version that has been replaced, first determine the current status of the historical report version; If the historical report version has been replaced by the latest version report, retrieve the latest version report for the fourth user to perform free report operations; After the fourth user completes the free report operation, publish the generated new version report to replace the original latest version report and synchronize it to the public domain.

7. The method according to claim 1, wherein The response to multiple users' operations of viewing, editing, and publishing reports includes: Respond to the fifth user's revocation instruction, revoke the target operation based on report version management and historical records, and automatically record the details of the revocation operation; After the fifth user performs free report operations, publish the generated new version report to replace the original version report and synchronize it to the public domain.

8. An apparatus for collaborative editing of reports in a multi-person online relay mode, characterized in that, Including: An interaction module for providing an interaction interface through a web page to respond to multiple users' operations of viewing, editing, and publishing reports; A management module for implementing version control based on the report main body information table that stores report main body information and the report version information table that stores report version information in the database. Among them, the report main body information table and the report version information table are in a one-to-many relationship. A single report corresponds to a unique record in the report main body information table and multiple records in the report version information table; the report version information table uniquely locates the target version of the report through the combined version number composed of the major version number, minor version number, and revision version number, and marks the current version of the report through the current version flag field; A recording module for recording the status information, style information, column configuration information, and data operation details of the report under different versions in the report version information table through the report status field, report style field, report column configuration field, and report data operation details field.

9. A computer device, characterized in that, The computer device includes a processor and a non-volatile memory storing computer instructions. When the computer instructions are executed by the processor, the computer device executes the method described in any one of claims 1-7.

10. A readable storage medium, characterized in that, The readable storage medium includes a computer program. When the computer program runs, it controls the computer device where the readable storage medium is located to execute the method described in any one of claims 1-7.

Citation Information

Patent Citations

  • Multiuser cooperative table processing method, device and equipment

    CN108363732A

  • A file reference method and device

    CN109445813A

  • Multi-user unified version editing method and computer readable storage medium

    CN111581925A

  • System and method for enforcing referential constraints between versioned database tables

    US6584476B1

  • Database version control subsystem and method for use with database management system

    US6631386B1