Method for determining process state of object, and related device

By using unified object process state calculation logic and state calculation rules, the problem of inconsistent process state calculation in different versions of project management software is solved, realizing unified management of process state and smooth software upgrades.

WO2025246917A1PCT designated stage Publication Date: 2025-12-04BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/094640
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-30
Filing Date
2025-05-13
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Different versions of project management software use different process management methods, which leads to differences in status configuration and applicable scenarios when users use different versions. This affects the efficiency of use, and the configuration may be lost when the software version is upgraded, making a smooth upgrade impossible.

Method used

It provides a unified logic for calculating the state of an object process. By configuring the state calculation rules and the state to which it belongs, it enables unified management of the process state and supports smooth upgrades between different versions.

Benefits of technology

It achieves unified process status calculation, improves user efficiency, supports smooth software version upgrades, and avoids configuration loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025094640_04122025_PF_FP_ABST
    Figure CN2025094640_04122025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in the present disclosure are a method for determining the process state of an object, and a related device. The object comprises a plurality of process nodes. The method comprises: in response to the state(s) of one or more process nodes having changed, acquiring one or more state computation rules corresponding to an object; in response to the one or more state computation rules being hit, determining the process state of the object on the basis of the one or more hit state computation rules; in response to none of the one or more state computation rules being hit, determining one or more ongoing process nodes among the plurality of process nodes; in response to the one or more ongoing process nodes having one or more affiliated states, determining the process state of the object on the basis of the one or more affiliated states; and in response to none of the one or more ongoing process nodes having an affiliated state, determining the process state of the object on the basis of state circulation events of the plurality of process nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Methods and related equipment for determining the process status of an object

[0001] Cross-reference to related applications

[0002] This application claims priority to Chinese Patent Application No. 202410693680.3, filed on May 30, 2024, entitled "Method and Related Apparatus for Determining the Process State of an Object", the entire contents of which are incorporated herein by reference. Technical Field

[0003] This disclosure relates to the field of computer technology, and more particularly to a method and related equipment for determining the process state of an object. Background Technology

[0004] With the continuous development of internet technology, many tasks can be completed intelligently. For example, management software can be used to manage processes or objects. Summary of the Invention

[0005] This disclosure proposes a method and related equipment for determining the process status of an object.

[0006] In a first aspect, this disclosure provides a method for determining the process state of an object, the object comprising multiple process nodes, the method comprising:

[0007] In response to a change in the state of one or more of the process nodes, obtain one or more state calculation rules corresponding to the object;

[0008] In response to one or more of the state calculation rules being hit, the process state of the object is determined according to the hit one or more of the state calculation rules;

[0009] In response to the fact that none of the one or more state calculation rules are hit, one or more process nodes in progress among the plurality of process nodes are determined.

[0010] In response to the fact that one or more process nodes in progress have one or more associated states, the process state of the object is determined based on the one or more associated states;

[0011] In response to the fact that one or more process nodes in progress do not have a state, the process state of the object is determined based on the state transition events of the multiple process nodes.

[0012] A second aspect of this disclosure provides an apparatus for determining the process state of an object, the object comprising a plurality of process nodes, the apparatus comprising:

[0013] The acquisition module is configured to: in response to a change in the state of one or more of the process nodes, acquire one or more state calculation rules corresponding to the object;

[0014] The first determining module is configured to: in response to one or more of the state calculation rules being hit, determine the process state of the object based on the hit one or more of the state calculation rules;

[0015] The second determining module is configured to: in response to the fact that none of the one or more state calculation rules are hit, determine one or more process nodes in progress among the plurality of process nodes;

[0016] The third determining module is configured to: in response to the fact that one or more process nodes in progress have one or more associated states, determine the process state of the object based on the one or more associated states;

[0017] The fourth determination module is configured to: in response to one or more process nodes in progress not having a state, determine the process state of the object based on the state transition events of the multiple process nodes.

[0018] A third aspect of this disclosure provides a computer device including one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs including instructions for performing the method according to the first aspect.

[0019] A fourth aspect of this disclosure provides a non-volatile computer-readable storage medium containing a computer program that, when executed by one or more processors, causes the processors to perform the method described in the first aspect.

[0020] A fifth aspect of this disclosure provides a computer program product including a computer program that, when executed by a processor, implements the steps of the method as described in the first aspect.

[0021] The method and related equipment for determining the process state of an object provided in this disclosure provide a unified object process state calculation logic and solve the problem of inaccurate node state calculation. Attached Figure Description

[0022] To more clearly illustrate the technical solutions in this disclosure or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the accompanying drawings described below are only embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1A shows a schematic diagram of an exemplary system provided in an embodiment of this disclosure.

[0024] Figure 1B shows an exemplary node topology.

[0025] Figure 2A shows a schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0026] Figure 2B shows another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0027] Figure 2C shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0028] Figure 2D shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0029] Figure 2E shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0030] Figure 2F shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0031] Figure 2G shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0032] Figure 2H shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0033] Figure 2I shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0034] Figure 2J shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0035] Figure 3 shows yet another schematic diagram of an exemplary page according to an embodiment of the present disclosure.

[0036] Figure 4 shows a flowchart illustrating an exemplary method provided in an embodiment of this disclosure.

[0037] Figure 5 shows a schematic diagram of the hardware structure of an exemplary computer device provided in an embodiment of this disclosure.

[0038] Figure 6 shows a schematic diagram of an exemplary device provided by an embodiment of the present disclosure. Detailed Implementation

[0039] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.

[0040] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this disclosure should have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms "first," "second," and similar terms used in the embodiments of this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed following the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0041] It is understood that before using the technical solutions of the various embodiments in this disclosure, users will be informed of the type, scope of use, and usage scenarios of the personal information involved in an appropriate manner, and user authorization will be obtained.

[0042] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose, based on the prompt message, whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media performing the operations of this disclosed technical solution.

[0043] As an optional but not limited implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0044] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0045] Figure 1A shows a schematic diagram of an exemplary system 100 provided in an embodiment of this disclosure.

[0046] As shown in Figure 1A, system 100 can be used to implement online or offline project management functions, and may include terminal devices 102A and 102B, server 106, and database server 108. A medium (e.g., a network) may be included to provide a communication link between terminal devices 102A and 102B and server 106 and database server 108. This network may include various connection types, such as wired, wireless communication links, or fiber optic cables, etc.

[0047] The terminal devices 102A and 102B can be equipped with various applications (APPs) or software, such as project management applications or software, collaborative office applications or software, image processing applications or software, video conferencing applications or software, reading applications or software, video applications or software, social applications or software, payment applications or software, web browsers, and instant messaging tools. In some embodiments, these applications or software can all be used for project management.

[0048] The terminal devices 102A and 102B here can be either hardware or software. When terminal devices 102A and 102B are hardware, they can be various electronic devices with displays, including but not limited to smartphones, tablets, e-book readers, MP3 players, laptops, and desktop computers (PCs). When terminal devices 102A and 102B are software, they can be installed in the electronic devices listed above. They can be implemented as multiple software programs or software modules (e.g., to provide distributed services) or as a single software program or software module. No specific limitations are set here.

[0049] Server 106 can be a server that provides various services, such as a backend server that supports various applications displayed on terminal devices 102A and 102B. Database server 108 can also be a database server that provides various services. It is understood that if server 106 can implement the relevant functions of database server 108, database server 108 may not need to be set up in system 100.

[0050] The server 106 and database server 108 here can be either hardware or software. When they are hardware, they can be implemented as a distributed server cluster consisting of multiple servers, or as a single server. When they are software, they can be implemented as multiple software programs or software modules (e.g., used to provide distributed services), or as a single software program or software module. No specific limitations are made here.

[0051] It should be noted that the document editing method provided in this embodiment can be executed by the server 106. It should be understood that the number of terminal devices, users, servers, and database servers in Figure 1A is merely illustrative. Depending on implementation needs, any number of terminal devices, users, servers, and database servers can be included.

[0052] In one embodiment, project management applications or software may be installed on terminal devices 102A and 102B, and users 104A and 104B may use these applications or software to manage projects. For example, setting up project workflows and related work items for workflow nodes, etc.

[0053] In related technologies, there are issues with the accuracy of calculations regarding the process status of objects. Furthermore, the methods for managing projects may differ across these technologies. For example, a common approach is for users to manually add project progress statuses based on actual circumstances. Alternatively, project management applications or software can be used to automate process status management.

[0054] However, depending on the characteristics of the project, the process management method for automatic status transition can also be different.

[0055] For example, for projects with variable process states, the project flow (including flow nodes and their relationships) can be determined first, and then the current flow state can be determined based on the status of key nodes in the flow. This approach is more suitable for scenarios with flexible processes, short cycles, and no fixed requirements for the project's flow state. For example, in R&D requirements, the project status is generally identified by the arrival or completion of key design, review, and development nodes in the project flow. Due to the flexibility of the flow, new flow states can be added when new key nodes are added to the project flow.

[0056] For example, for projects with relatively fixed process states, you can first determine the various process states the project will go through, then assign the project's process nodes to each process state. Once all process nodes in each process state are completed, the project's process state automatically transitions to the next process state. This approach is more suitable for scenarios with strong process planning, long cycles, and relatively fixed project process states. For instance, in large projects with strong planning and control, the project will go through several clearly defined process states, and each process state will be further broken down into a series of process nodes. Because the process states are relatively fixed, adding process nodes to the project process can usually only be done within existing process states (i.e., you typically cannot create new process states).

[0057] Project management applications or software can also adopt different methods to implement process management for the two automatic process management methods mentioned above.

[0058] For example, regarding the first type of automated process management described above, a node arrival event (indicating the node has started) and a node completion event (indicating the node has ended) can be configured for each process node. Furthermore, status transition events can be set for the node arrival and / or node completion events of key nodes. In this way, when the node arrival and / or node completion event of a key node in the project occurs, the project's process status can be determined based on its corresponding status transition events.

[0059] After configuring the above information, the latest process status of the project can be determined by traversing the nodes. For example, you can first remove all process nodes that have not yet started, then traverse the node events of the remaining process nodes based on their topological order, and determine the state corresponding to the last state transition event encountered as the process status of the project.

[0060] Figure 1B shows an exemplary node topology.

[0061] As shown in Figure 1B, the topological order of nodes can be ABDCEHGIJ. Assuming that process node GIJ is a non-starting node, process nodes ABDCEH are traversed from left to right and from top to bottom. First, the arrival events of all nodes in the same level (divided by left and right sides; for example, BD is in the same level, and A is the level above BD) are calculated. Then, the completion events of all nodes in the level are calculated. Thus, the node event traversal order can be Ab-Ae-Bb-Db-De-Eb-Ce-Ee-Fb-Hb, where "b" represents an arrival event and "e" represents a completion event. Next, it is determined whether each traversed node arrival and completion event is configured with a state transition event (generally, the arrival and / or completion events of critical nodes can be configured with state transition events). Then, these configured state transition events are identified and sorted according to the node event traversal order. The process state corresponding to the last state transition event is determined as the project's process state.

[0062] For example, regarding the second type of automatic process management described above, the process states can be arranged sequentially according to the order in which they occur. Then, each process node in the project can be assigned to a unique process state (which is the state to which the process node belongs or belongs to). When assigning process nodes to process states, the state to which each process node belongs cannot be higher than its predecessor node (for example, referring to Figure 1B, node B is the predecessor node of node C).

[0063] When calculating the current process status, you can first determine the status of each node that has not started and node that is in progress (excluding completed nodes). Then, determine the status of the node that has not started and / or node that is in progress that is ranked first as the process status of the project.

[0064] Therefore, it can be seen that the configuration and calculation logic of the process status of the nodes of the two automatic process management methods mentioned above are inconsistent (for example, one method calculates the process status according to the event traversal rules, and the other method calculates the process status according to the status grouping rules), and they are difficult to be compatible with each other.

[0065] However, the inventors of this disclosure have discovered that for the same project management software, different versions offer two different automatic process management methods, leading to users' lack of understanding of the differences in status configuration and applicable scenarios between different versions, resulting in low efficiency. Furthermore, during software version upgrades, due to inconsistencies in configuration and calculation logic between different versions, users' original configurations may be lost and require reconfiguration, hindering smooth upgrades and creating upgrade bottlenecks.

[0066] Furthermore, in the first automatic process management method, the process state calculation at parallel nodes does not meet the expectations of some users, requiring a clearer display of rules. Additionally, for certain users, more advanced functionality may be needed to handle more complex state rules.

[0067] Therefore, since different versions of project management software support the two automatic process management methods mentioned above, and because the applicable scenarios and the logic for determining the status are different, the two cannot be simply merged.

[0068] In view of this, one aspect of the present disclosure provides a method for determining the process state of an object or instance (e.g., a project or a sub-project, grandchild project, etc. under a project), which can unify the underlying calculation logic of the process state of a project to a certain extent.

[0069] Figure 2A illustrates a schematic diagram of an exemplary page 200 according to an embodiment of the present disclosure. This page 200 can be used for project management.

[0070] As shown in Figure 2A, in some embodiments, user 104A (e.g., project administrator) can use terminal device 102A to open project management or collaborative office software and enter the project management function page 200 through the project management portal.

[0071] As shown in Figure 2A, page 200 allows setting process nodes for objects (e.g., projects or sub-projects, grandchild projects, etc. under a project), or generating a topology diagram based on the set process nodes and displaying it on page 200.

[0072] As shown in Figure 2A, in some embodiments, page 200 includes a first region 200A and a second region 200B, wherein the topology map can be displayed in the first region 200A and the second region 200B can display various configuration items for configuring nodes.

[0073] As shown in Figure 2A, in some embodiments, labels 202A to 202D for switching the display content of the first region 200A can be displayed on one side (e.g., above). For example, when label 202A is triggered (e.g., clicked), the first region 200A can display a node topology diagram (or flowchart), as shown in Figure 2A. In some embodiments, if a process node is configured with a state, label 202B can be displayed in the first region 200A, and when label 202B is triggered, the first region 200A can switch to displaying a swimlane diagram. It is understood that, to facilitate the user 104A in configuring the state of process nodes, label 202B can also be displayed in the first region 200A when no process node has a state. When label 202C is triggered, the first region 200A can switch to displaying basic information of the object (or project, process, instance, etc.), including: the object name, some basic configuration information and configuration items for the object. When label 202D is triggered, the first area 200A can switch the display of the object's schedule.

[0074] In some embodiments, depending on the content currently displayed in the first area 200A, the corresponding label can be highlighted to prompt the user what the current display content of 104A is. For example, as shown in FIG2A, the first area 200A currently displays a topology diagram of process nodes, and the label 202A can be highlighted (e.g., bold font, underlined font, change font background color, etc.).

[0075] As mentioned earlier, in related technologies, project management software can only provide some relatively fixed process management capabilities. For some complex situations, users may need more advanced functions to implement process management. Therefore, in some embodiments, this disclosure provides user-configurable state calculation rules to achieve special state calculations.

[0076] As shown in Figure 2A, in some embodiments, page 200 includes a button 204 for configuring state calculation rules. When the button 204 is triggered (e.g., clicked), page 220 for configuring the state calculation rules can be displayed, as shown in Figure 2B. It is understood that, in addition to the aforementioned methods of entering page 220, page 220 can also be accessed through other entry points. For example, when user 104A triggers tab 202C, the first area 200A can switch the display of basic information of the object (or project, process, instance, etc.), and the button corresponding to button 204 can be displayed in the first area 200A as an entry point to page 220.

[0077] In some embodiments, as shown in FIG2B, page 220 may include a first area 220A and a second area 220B, wherein the first area 220A may be used to configure state calculation rules, and the second area 220B may display the configured state calculation rules.

[0078] It is understandable that, in the initial state, the specific information in the first area 220A and the second area 220B can be empty, as shown in Figure 2C. Alternatively, referring to Figure 2C, in the initial state, the first area 220A does not display any content. When user 104A triggers button 222, the first area 220A displays the content shown in Figure 2C, namely, window 224A for configuring state calculation conditions and window 224B for configuring state calculation results. Window 224B can further display a second configuration item 230 for configuring state calculation results. User 104A can fill in the state calculation result to be displayed when the state calculation conditions are met (refer to Figure 2B) in the second configuration item 230. Subsequently, when the state calculation condition is hit, the corresponding state calculation result can be determined as the flow state of the object.

[0079] In some embodiments, after user 104A triggers button 226, a first configuration item 228 for configuring state calculation conditions can be added to window 224A, as shown in FIG2D. Optionally, as shown in FIG2D, the first configuration item 228 may further include a first option 228A for configuring a target process node, a second option 228B for configuring logical operators, and a third option 228C for configuring the target value of the target process node. As shown in FIG2D, optionally, in the initial state, the first option 228A, the second option 228B, and the third option 228C are all empty values, and a drop-down arrow is provided on the right side of each option. User 104A can trigger the drop-down arrow to view the drop-down menu corresponding to each option (not shown in the figure), and can select the corresponding option from the drop-down menu to configure the first configuration item 228. Optionally, the drop-down menu of the first option 228A may include the names of all process nodes of the current object; the drop-down menu of the second option 228B may include logical operators such as "existing option belongs to", "all options do not belong to", "equal to", "not equal to", "empty", and "not empty"; and the drop-down menu of the third option 228C may include target value options such as "not started", "in progress", and "completed".

[0080] In some embodiments, in response to receiving a configuration completion instruction for a state calculation rule (e.g., when the first option 228A, the second option 228B, and the third option 228C of the first configuration item 228 are all configured and the second configuration item 230 is configured), the state calculation rule can be generated based on the configuration information of the first configuration item 228 and the second configuration item 230, and the state calculation rule can be automatically displayed in the second area 220B, as shown in Figure 2B. It can be understood that the configuration completion instruction can also be triggered by a button. For example, as shown in Figure 2B, after configuration, user 104A can click the generate rule button in the lower right corner to generate the state calculation rule, and the state calculation rule can be automatically displayed in the second area 220B.

[0081] Returning to Figure 2D, in some embodiments, user 104A can add a new condition to the same state calculation rule by triggering button 226 again. This new condition can be ANDed with the already configured conditions. After the new condition is configured, the state calculation rule is updated accordingly. For example, as shown in Figure 2B, the first state calculation rule is configured such that when the state of node 1 is in progress and the state of node 2 is in progress, the process state of the object is "Technical solution design in progress". Thus, when this state calculation rule is triggered, the process state of the object can be confirmed as "Technical solution design in progress". Optionally, as shown in Figure 2B, user 104A can also clear all conditions created under this rule by clicking the delete condition button, thus facilitating the user to reset the conditions.

[0082] Referring again to Figure 2B, user 104A can also modify a state calculation rule by selecting it. As shown in Figure 2B, for example, the first state calculation rule is currently selected (it is highlighted), and the configured state calculation conditions and state calculation results are displayed in the first area 220A. User 104A can modify this state calculation rule by modifying these configuration items.

[0083] In some embodiments, as shown in FIG2B, user 104A can configure multiple state calculation rules, all of which can be displayed in the second area 220B. Initially, these state calculation rules can be arranged in the order they were added. Optionally, as shown in FIG2B, user 104A can also search for already created state calculation rules using the search box.

[0084] Optionally, as shown in Figure 2B, page 220 may also display prompt information 232 for indicating configuration rules. Optionally, the prompt information 232 may include prompts to the user regarding the calculation rules when calculating the process status, for example, "The instance will display the status according to the first rule that is hit, and if no rule is hit, it will display according to the status configuration of the node or the status transition event configuration." According to the prompt information 232, optionally, when calculating the process status, the process status can be determined by the first rule that is hit among multiple status calculation rules. Therefore, the order of the status calculation rules also reflects the priority of the status calculation rules.

[0085] Therefore, in some embodiments, user 104A can adjust the priority order of the state calculation rules by adjusting their order. Optionally, user 104A can adjust the arrangement order of the state calculation rules by dragging and dropping them.

[0086] As shown in Figure 2B, for example, each state calculation rule is preceded by a drag button 234A or 234B. The user 104A can generate a drag command by pressing and holding the drag button 234A or 234B and moving it. The terminal device 102A can adjust the order of the state calculation rules according to the release position.

[0087] In addition to configuring the state calculation rules, user 104A can also configure the state of the node.

[0088] As shown in Figure 2A, in some embodiments, user 104A can select a node (e.g., node 2) as the target process node in the node topology graph. This node can be highlighted in the topology graph. Furthermore, in the second area 200B of page 200, a third configuration item 206 for configuring the state of the target process node can be displayed. As shown in Figure 2A, a drop-down arrow can be displayed to the right of the third configuration item 206. User 104A can click this drop-down arrow to view the drop-down menu, which displays the state options that user 104A has pre-configured. User 104A can select the state corresponding to the target process node from this menu, thus completing the configuration of the state of the target process node. Subsequently, the state of the target process node can be determined based on the configuration information of the third configuration item 206. In some embodiments, when calculating the process state, the calculation priority of the state is higher than that of the state transition event; therefore, user 104A can be given a certain prompt. Optionally, as shown in Figure 2A, a tooltip control 2062 is displayed on one side of the third configuration item 206. When the mouse hovers over the tooltip control 2062, the tooltip message "After adding the state to which a node belongs in the process, the state transition event will no longer be effective. The instance side will default to displaying the first state of the state to which the node belongs in progress" is displayed, thus prompting the user that the state transition event configured under the node will no longer be effective after the state is configured.

[0089] In addition to configuring the node's status in the second region 200B, it can also be configured in the swimlane diagram.

[0090] As shown in Figure 2E, when user 104A triggers tag 202B, the first area 200A of page 200 switches the topology diagram to a swimlane diagram corresponding to the topology diagram. At this time, tag 202B is highlighted. In some embodiments, as shown in Figure 2E, a button 208 for adding a status is provided on one side of the swimlane diagram. After triggering the button 208 (e.g., clicking), a window 210 for setting the status can be displayed on one side of the button 208. The window 210 may further include multiple status options, such as Start, Under Review, Under Development, Under Testing, Release, etc. These status options can be some common or basic statuses, and user 104A can create a status by selecting one or more of these status options.

[0091] For example, if user 104A triggers the corresponding state option of the start state, the corresponding state label 214A of the start state option can be displayed on one side of the swimlane diagram, as shown in Figure 2G.

[0092] At this point, a new ownership state is created by user 104A. However, in the initial state, none of the process nodes have been configured with an ownership state. Therefore, label 214B can be displayed to the right of label 214A to indicate that there is no ownership state. At this time, all process nodes are assigned to the label 214B, indicating that these nodes have not been configured with an ownership state.

[0093] Next, user 104A can configure the ownership status of a node by dragging and dropping it. For example, if user 104A drags node 1 under label 214A and releases it, the ownership status of node 1 will be configured as "Start", as shown in Figure 2H. It can be understood that user 104A can also drag a node with a configured ownership status back under label 214B, thereby removing its configured ownership status.

[0094] Following the above approach, user 104A can configure more ownership states and display corresponding labels on one side of the swimlane diagram. User 104A can conveniently configure the ownership state of a node by dragging and dropping it.

[0095] Returning to Figure 2F, in some embodiments, if the state option in window 210 does not contain the state that user 104A needs to create, user 104A can open window 216 for creating a new state by triggering button 212 for creating a new state, and can create a new state in window 216, as shown in Figure 2I.

[0096] As shown in Figure 2I, after button 212 is triggered, window 216 is displayed on one side of button 212. Window 216 may include a fifth configuration item 2162 for setting a new ownership state. User 104A can configure the ownership state in the fifth configuration item 2162. After clicking the confirmation button, terminal device 102A can create a new ownership state according to the configuration information of the fifth configuration item 2162 (e.g., "Technical solution under development"), and display the new ownership state label (not shown in the figure) corresponding to the new ownership state on one side of the swimlane diagram. Optionally, user 104A can drag the ownership state label to adjust the order of ownership states to adjust the priority of ownership states (i.e., which state occurs first and which state occurs later). When a node is configured, it cannot violate this priority, that is, the ownership state of the configured node cannot be earlier than the ownership state of its predecessor node.

[0097] In some embodiments, the associated status can also be configured in the schedule table.

[0098] When a process node does not have any assigned status, a new assigned status can be added to the schedule table. The schedule table will then display the corresponding status row for this new assigned status. By default, no nodes are listed under this new status row, and all process nodes are placed at the bottom of the schedule table. Process nodes can be moved to the new assigned status row by dragging and dropping, thus configuring their assigned status. When the new assigned status row is collapsed, all nodes under it are also collapsed; nodes without assigned statuses are still displayed in the schedule table.

[0099] In some embodiments, when a process has no assigned state and adds its first assigned state, a new "No Assigned State" group is added to the schedule table, and all nodes are placed under the "No Assigned State" group. The "No Assigned State" group is placed at the bottom and its position cannot be adjusted.

[0100] Optionally, newly added status rows are placed at the end, but before the "No Status" group. After adding a new row, the status can be reordered by dragging, but the priority of nodes cannot be violated, that is, the order of the status of a node cannot be earlier than the status of any of its preceding nodes.

[0101] Following the above approach, the state of a process node can be configured, and then the state transition events of the process node can be configured.

[0102] Returning to Figure 2A, the second area 200B of page 200 also includes labels 218A and 218B. Label 218A is highlighted when the third configuration item 206 for configuring the state of the target process node is displayed in the second area 200B of page 200.

[0103] For example, user 104A can trigger label 218B to cause the second area 200B to display a fourth configuration item 2182 for configuring the state transition events of the target process node (e.g., the currently selected node 2), as shown in FIG2J. Optionally, the state transition events include state transition events for reaching a process node and state transition events for completing a process node. In the initial state, the second area 200B may not display the fourth configuration item 2182, but may display the "Add to Arrival Event" button 2184 and the "Add to Completion Event" button 2186. By triggering the "Add to Arrival Event" button 2184 or the "Add to Completion Event" button 2186, the second area 200B can further display the fourth configuration item 2182. Optionally, as shown in FIG2J, the fourth configuration item 2182 further includes event type options and state transition options. By configuring the corresponding event type and state in these options, user 104A can determine the process state of the object based on the state corresponding to these state transition events in the event that no state calculation rules and the state to which the object belongs are matched.

[0104] In some embodiments, as shown in FIG2J, in response to the target process node (e.g., node 2) having been configured with a state, the second area 200B may also display a prompt message 2188 to further inform the user 104A that the state transition event of the target process node has a lower priority than the state. For example, the content of the prompt message could be "After adding a node's state in the process, this state transition event will no longer be effective." Optionally, in response to the target process node having been configured with a state, the fourth configuration item 2182 is locked, and the user 104A will no longer be able to configure it.

[0105] After completing the configuration, user 104A can publish the configuration information, so that the process status can be calculated according to the configuration information in the future.

[0106] For example, user 104B can be a user of project management software (e.g., a developer) and can use the project management software installed in terminal device 102B to manage projects. For example, user 104B can add or delete process nodes, change the status of any process node, and so on. When such changes or similar changes occur, system 100 is triggered to recalculate the process status of the project.

[0107] Therefore, in response to a change in the state of one or more of the process nodes, the terminal device 102A, 102B or the system 100 can obtain one or more state calculation rules (e.g., the state calculation rules configured in the foregoing embodiments) corresponding to the object.

[0108] If one or more of the state calculation rules are hit, the process state of the object can be determined according to the hit one or more of the state calculation rules.

[0109] As mentioned earlier, in some embodiments, multiple state calculation rules have a priority order. If multiple state calculation rules are met, the process state of the object can be determined according to the state calculation rule with the highest priority among the met multiple state calculation rules. Referring to Figure 2B, assuming that both the first state calculation rule and the second state calculation rule are met (i.e., the state calculation condition is met), since the first state calculation rule has a higher priority than the second state calculation rule, the process state of the object, namely "under technical solution design", is determined according to the state calculation result of the first state calculation rule.

[0110] In other embodiments, the state calculation rules can be ordered sequentially to determine whether each rule is matched. Then, the process state of the object is determined based on the first matched rule. This way, the priority is set by configuring the order of the state calculation rules during configuration, eliminating the need for separate priority settings and simplifying the user experience.

[0111] In some embodiments, if all state calculation rules are not matched, one or more process nodes in progress among multiple process nodes can be identified. If one or more process nodes in progress have one or more associated states, the process state of the object is determined based on the one or more associated states.

[0112] Optionally, the multiple states have a state change order (e.g., Start → Under Review → Under Development → Under Testing → Release and Deployment). The process state of the object can be determined based on the state change order of the multiple states. For example, the state of the node with the highest sorting order can be selected as the process state of the object.

[0113] For example, assuming no state calculation rules are currently matched, and nodes 1, 2, and 4 are in progress, with their respective states being under review, under development, and under testing, then it is determined that under review is the process state of the object.

[0114] If one or more process nodes in progress do not have a state, the process state of the object can be determined based on the state transition events of the multiple process nodes.

[0115] Optionally, the topological order of one or more completed and ongoing process nodes among the plurality of process nodes can be determined first (refer to Figure 1B); then, the state transition events of the one or more completed and ongoing process nodes are traversed according to the topological order; finally, the process state of the object is determined according to the last state transition event traversed.

[0116] For example, referring to Figure 1B, the topological order of nodes can be ABDCEHGIJ. Assuming that process node GIJ is a non-starting node, process nodes ABDCEH are traversed from left to right and from top to bottom. First, the arrival events of all nodes in the same level (divided by left and right sides, for example, BD is in the same level, and A is the level above BD) are calculated. Then, the completion events of all nodes in the level are calculated. Thus, the node event traversal order can be Ab-Ae-Bb-Db-De-Eb-Ce-Ee-Fb-Hb, where "b" represents an arrival event and "e" represents a completion event. Next, it is determined whether each traversed node arrival event and node completion event is configured with a state transition event (generally, the arrival events and / or completion events of key nodes can be configured with state transition events). Then, these configured state transition events are identified and sorted according to the node event traversal order. The process state corresponding to the last ranked state transition event is determined as the project's process state.

[0117] After determining the process status of an object, as shown in Figure 3, user 104B can view the process status through terminal device 102B. For example, by viewing process status information 302 on the process management page 300, user 104B can learn about the current process status of the project and keep track of the project's progress.

[0118] As can be seen from the above embodiments, the method for determining the process state of an object provided by the embodiments of this disclosure provides a unified object process state calculation logic, solves the problem of inaccurate node state calculation, and supports smooth software upgrades.

[0119] It should be noted that the method of this disclosure embodiment can be executed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method of this disclosure embodiment, and the multiple devices will interact with each other to complete the method described.

[0120] It should be noted that the above description describes some embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the above embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0121] Figure 4 illustrates a flowchart of an exemplary method 400 provided in an embodiment of this disclosure. Method 400 can be used to determine the process state of an object, which includes multiple process nodes. Optionally, method 400 can be implemented individually by the terminal devices 102A and 102B of Figure 1A, or it can be implemented by the system 100 of Figure 1A.

[0122] As shown in Figure 4, the method 400 may further include the following steps.

[0123] In step 402, in response to a change in the state of one or more of the process nodes, one or more state calculation rules corresponding to the object are obtained.

[0124] In step 404, in response to one or more of the state calculation rules being hit, the process state of the object is determined according to the one or more hit state calculation rules.

[0125] In some embodiments, the plurality of state calculation rules have a priority order;

[0126] In response to one or more of the state calculation rules being hit, determining the process state of the object based on the hit one or more of the state calculation rules includes:

[0127] In response to the occurrence of multiple state calculation rules, the process state of the object is determined according to the state calculation rule with the highest priority among the multiple occurrence of state calculation rules.

[0128] Referring to Figure 2B, assuming that both the first and second state calculation rules are met (i.e., the state calculation conditions are satisfied), since the first state calculation rule has a higher priority than the second state calculation rule, the process state of the object is determined according to the state calculation result of the first state calculation rule, namely "under technical solution design".

[0129] In step 406, in response to the fact that none of the one or more state calculation rules are matched, one or more process nodes in progress among the plurality of process nodes are determined.

[0130] In step 408, in response to the fact that one or more process nodes in progress have one or more associated states, the process state of the object is determined based on the one or more associated states.

[0131] In some embodiments, the plurality of states have a state change order;

[0132] In response to one or more process nodes in progress having one or more associated states, determining the process state of the object based on the one or more associated states includes:

[0133] In response to the fact that one or more process nodes in progress have multiple associated states, the process state of the object is determined according to the order of state changes of the multiple associated states.

[0134] In other embodiments, if all preceding nodes of a given state have been completed, the given state is recorded as having reached its destination; if all nodes within a given state have been completed, the given state is recorded as having been completed. For any given state, if it does not satisfy both the conditions of having reached and being completed, then the given state is recorded as being in progress. Determining the process state of the object based on the one or more given states includes: determining the highest-ranking given state among those recorded as being in progress as the process state of the object.

[0135] In step 410, in response to the fact that one or more process nodes in progress do not have a state, the process state of the object is determined based on the state transition events of the multiple process nodes.

[0136] In some embodiments, in response to one or more ongoing process nodes not having a state, determining the process state of the object based on the state transition events of the plurality of process nodes includes:

[0137] Determine the topological order of one or more completed and ongoing process nodes among the plurality of process nodes.

[0138] According to the topological order, traverse the state transition events of one or more completed and ongoing process nodes;

[0139] The process state of the object is determined based on the last state transition event encountered during traversal.

[0140] In other embodiments, if no state transition event is hit, the last state in the sorted sequence of the states whose states have been completed is determined as the flow state of the object; if no state is configured, the flow state of the object is determined as the initial state.

[0141] As can be seen from the above embodiments, the method for determining the process state of an object provided by the embodiments of this disclosure provides a unified object process state calculation logic, solves the problem of inaccurate node state calculation, and supports smooth software upgrades.

[0142] In some embodiments, the state transition events include state transition events for reaching process nodes and state transition events for completing process nodes, thereby enabling more accurate calculation of the state.

[0143] In some embodiments, the method further includes:

[0144] A first page for configuring the state calculation rules is displayed (e.g., page 220 of FIG. 2B). A first area of ​​the first page (e.g., first area 220A of FIG. 2B) includes a first configuration item for configuring state calculation conditions (e.g., first configuration item 228 of FIG. 2B) and a second configuration item for configuring state calculation results (e.g., second configuration item 230 of FIG. 2B). The first configuration item includes a first option for configuring a target process node (e.g., first option 228A of FIG. 2D), a second option for configuring logical operators (e.g., second option 228B of FIG. 2D), and a third option for configuring the target value of the target process node (e.g., third option 228C of FIG. 2D).

[0145] In response to receiving the configuration completion instruction for the state calculation rule, the state calculation rule is generated based on the configuration information of the first configuration item and the second configuration item, as shown in Figure 2B.

[0146] Through the above embodiments, users can easily configure state calculation rules.

[0147] In some embodiments, the method further includes:

[0148] The one or more of the state calculation rules are displayed in a second area of ​​the first page (e.g., second area 220B of Figure 2B);

[0149] In response to the fact that there are multiple state calculation rules, the multiple state calculation rules are arranged sequentially;

[0150] In response to a drag command for a target state calculation rule among a plurality of state calculation rules, the order of the target state calculation rules is adjusted according to the drag command.

[0151] Through the above embodiments, users can easily sort the state calculation rules, and this sorting can also reflect the priority of the rules, which facilitates subsequent state calculations.

[0152] In some embodiments, in response to one or more of the state calculation rules being hit, determining the process state of the object based on the hit one or more of the state calculation rules includes:

[0153] According to the order of the multiple state calculation rules, it is determined whether the state calculation rule is hit in turn;

[0154] The process state of the object is determined according to the state calculation rule that is first hit.

[0155] Through the above embodiments, users can easily determine the priority of rules based on the order of rules, and the calculated state can meet some of the user's special needs.

[0156] In some embodiments, the method further includes:

[0157] A second page (e.g., page 200 of FIG2A) is displayed for configuring the state of the process node. The first area of ​​the second page (e.g., the first area 200A of FIG2A) includes a topology diagram of the plurality of process nodes. The second area of ​​the second page (e.g., the second area 200B of FIG2A) includes a third configuration item (e.g., the third configuration item 206 of FIG2A) for configuring the state of the target process node.

[0158] The state of the target process node is determined based on the configuration information of the third configuration item.

[0159] Through the above embodiments, users can easily configure their current status.

[0160] In some embodiments, the second area further includes a first label (e.g., label 218A of FIG2A) and a second label (e.g., label 218B of FIG2A), the first label being highlighted when the second area displays a third configuration item for configuring the state to which the target process node belongs;

[0161] The method further includes:

[0162] In response to the second label being triggered, a fourth configuration item (e.g., fourth configuration item 2182 in Figure 2J) for configuring the state transition event of the target process node is displayed in the second area.

[0163] In response to the target process node being configured with a state, a prompt message is displayed to indicate that the state transition event of the target process node has a lower priority than the state it belongs to (e.g., prompt message 2188 in Figure 2J).

[0164] Through the above embodiments, after a user configures the state of a node, the user is prompted that the node cannot be configured with state transition events because state transition events have a lower priority than the state.

[0165] In some embodiments, the method further includes: locking the fourth configuration item in response to the target process node having been configured with a state, so that when the node has been configured with a state, the user is no longer required to configure a state transition event, thus avoiding wasting the user's time or causing computational conflicts.

[0166] In some embodiments, the first region further includes a third label (e.g., label 202A in FIG2A) and a fourth label (e.g., label 202B in FIG2A), the third label being highlighted when the topology map is displayed in the first region;

[0167] The method further includes:

[0168] In response to the fourth tag being triggered, a swimlane diagram corresponding to the topology diagram is displayed in the first area, and a first button for adding the state is provided on one side of the swimlane diagram (e.g., button 208 in Figure 2E).

[0169] In response to the first button being triggered, a first window for setting the state is displayed on one side of the first button (e.g., window 210 in FIG2F), the first window including multiple state options;

[0170] In response to the triggering of a target belonging state option among the plurality of belonging state options, a target belonging state label (e.g., label 214A in FIG2G) corresponding to the target belonging state option is displayed on one side of the swimlane diagram;

[0171] In response to the target process node in the swimlane diagram being dragged to the corresponding position of the target's state label, the target process node is configured with the target's state, as shown in Figure 2H, thereby facilitating user configuration of the state.

[0172] In some embodiments, the first window further includes a second button for creating a new state (e.g., button 212 in FIG2F);

[0173] The method further includes:

[0174] In response to the triggering of the second button, a second window (e.g., window 216 in FIG2I) is displayed on one side of the second button. The second window includes a fifth configuration item for setting a new belonging state (e.g., fifth configuration item 2162 in FIG2I).

[0175] Create a new belonging state based on the configuration information of the fifth configuration item;

[0176] The new belonging status label corresponding to the new belonging status is displayed on one side of the swimlane diagram.

[0177] The above embodiments allow users to quickly add new ownership statuses, making the operation convenient.

[0178] It should be noted that the method of this disclosure embodiment can be executed by a single device, such as a computer or server. The method of this embodiment can also be applied to a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method of this disclosure embodiment, and the multiple devices will interact with each other to complete the method described.

[0179] It should be noted that the above description describes some embodiments of this disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the above embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0180] This disclosure also provides a computer device for implementing the method 400 described above. Figure 5 shows a schematic diagram of the hardware structure of an exemplary computer device 500 provided in this disclosure. The computer device 500 can be used to implement the server 106 of Figure 1A, or it can be used to implement the terminal devices 102A and 102B of Figure 1A. In some scenarios, the computer device 500 can also be used to implement the database server 108 of Figure 1A.

[0181] As shown in Figure 5, the computer device 500 may include: a processor 502, a memory 504, a network interface 506, a peripheral interface 508, and a bus 510. The processor 502, memory 504, network interface 506, and peripheral interface 508 are interconnected within the computer device 500 via the bus 510.

[0182] Processor 502 may be a central processing unit (CPU), a graphics processor, a neural network processor (NPU), a microcontroller (MCU), a programmable logic device, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), or one or more integrated circuits. Processor 502 can be used to perform functions related to the techniques described in this disclosure. In some embodiments, processor 502 may also include multiple processors integrated as a single logic component. For example, as shown in FIG. 5, processor 502 may include multiple processors 502a, 502b, and 502c.

[0183] Memory 504 can be configured to store data (e.g., instructions, computer code, etc.). As shown in FIG5, the data stored in memory 504 may include program instructions (e.g., program instructions for implementing method 400 of embodiments of this disclosure) and data to be processed (e.g., the memory may store configuration files of other modules, etc.). Processor 502 can also access the program instructions and data stored in memory 504 and execute the program instructions to operate on the data to be processed. Memory 504 may include volatile storage devices or non-volatile storage devices. In some embodiments, memory 504 may include random access memory (RAM), read-only memory (ROM), optical disk, magnetic disk, hard disk, solid-state drive (SSD), flash memory, memory stick, etc.

[0184] Network interface 506 can be configured to provide communication with other external devices to computer device 500 via a network. This network can be any wired or wireless network capable of transmitting and receiving data. For example, the network can be a wired network, a local wireless network (e.g., Bluetooth, WiFi, Near Field Communication (NFC), etc.), a cellular network, the Internet, or a combination thereof. It is understood that the type of network is not limited to the specific examples described above.

[0185] The peripheral interface 508 can be configured to connect the computer device 500 to one or more peripheral devices to enable information input and output. For example, peripheral devices may include input devices such as keyboards, mice, touchpads, touch screens, microphones, and various sensors, as well as output devices such as displays, speakers, vibrators, and indicator lights.

[0186] Bus 510 can be configured to transfer information between various components of computer device 500 (e.g., processor 502, memory 504, network interface 506, and peripheral interface 508), such as internal buses (e.g., processor-memory bus), external buses (USB port, PCI-E bus), etc.

[0187] It should be noted that although the architecture of the computer device 500 described above only shows the processor 502, memory 504, network interface 506, peripheral interface 508, and bus 510, in specific implementations, the architecture of the computer device 500 may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the architecture of the computer device 500 described above may only include the components necessary for implementing the embodiments of this disclosure, and does not necessarily include all the components shown in the figures.

[0188] This disclosure also provides an apparatus for determining the process state of an object. Figure 6 shows a schematic diagram of an exemplary apparatus 600 provided in this disclosure. As shown in Figure 6, the apparatus 600 can be used to implement method 400 and may further include the following modules.

[0189] The acquisition module 602 is configured to: in response to a change in the state of one or more process nodes, acquire one or more state calculation rules corresponding to the object;

[0190] The first determining module 604 is configured to: in response to one or more of the state calculation rules being hit, determine the process state of the object based on the hit one or more of the state calculation rules;

[0191] The second determining module 606 is configured to: in response to the fact that none of the one or more state calculation rules are hit, determine one or more process nodes in progress among the plurality of process nodes;

[0192] The third determining module 608 is configured to: in response to the fact that one or more process nodes in progress have one or more associated states, determine the process state of the object based on the one or more associated states;

[0193] The fourth determining module 610 is configured to: in response to one or more process nodes in progress not having a state, determine the process state of the object based on the state transition events of the multiple process nodes.

[0194] In some embodiments, the plurality of state calculation rules have a priority order; the first determining module 604 is configured to: in response to the plurality of state calculation rules being hit, determine the process state of the object according to the state calculation rule with the highest priority among the plurality of hit state calculation rules.

[0195] In some embodiments, the plurality of associated states have a state change order; the fourth determining module 610 is configured to: in response to the fact that one or more process nodes in progress have a plurality of associated states, determine the process state of the object according to the state change order of the plurality of associated states.

[0196] In some embodiments, the fourth determining module 610 is configured to:

[0197] Determine the topological order of one or more completed and ongoing process nodes among the plurality of process nodes.

[0198] According to the topological order, traverse the state transition events of one or more completed and ongoing process nodes;

[0199] The process state of the object is determined based on the last state transition event encountered during traversal.

[0200] In some embodiments, the state transition events include state transition events for reaching a process node and state transition events for completing a process node.

[0201] In some embodiments, the apparatus further includes:

[0202] The display module is configured to display a first page for configuring the state calculation rules. The first area of ​​the first page includes a first configuration item for configuring state calculation conditions and a second configuration item for configuring state calculation results. The first configuration item includes a first option for configuring a target process node, a second option for configuring logical operators, and a third option for configuring the target value of the target process node.

[0203] The generation module is configured to: in response to receiving a configuration completion instruction for the state calculation rule, generate the state calculation rule based on the configuration information of the first configuration item and the second configuration item.

[0204] In some embodiments, the display module is configured to:

[0205] The one or more of the state calculation rules are displayed in the second area of ​​the first page;

[0206] In response to the fact that there are multiple state calculation rules, the multiple state calculation rules are arranged sequentially;

[0207] In response to a drag command for a target state calculation rule among a plurality of state calculation rules, the order of the target state calculation rules is adjusted according to the drag command.

[0208] In some embodiments, the first determining module 604 is configured to: determine whether the state calculation rule is hit according to the sorting of the plurality of state calculation rules;

[0209] The process state of the object is determined according to the state calculation rule that is first hit.

[0210] In some embodiments, the display module is configured to:

[0211] A second page is displayed for configuring the state of the process node. The first area of ​​the second page includes a topology diagram of the plurality of process nodes, and the second area of ​​the second page includes a third configuration item for configuring the state of the target process node.

[0212] The state of the target process node is determined based on the configuration information of the third configuration item.

[0213] In some embodiments, the second region further includes a first label and a second label, wherein the first label is highlighted when a third configuration item for configuring the state of the target process node is displayed in the second region;

[0214] The display module is configured as follows:

[0215] In response to the second tag being triggered, a fourth configuration item for configuring the state transition event of the target process node is displayed in the second area;

[0216] In response to the target process node being configured with a state, a prompt message is displayed indicating that the state transition event of the target process node has a lower priority than its state.

[0217] In some embodiments, the display module is configured to lock the fourth configuration item in response to the target process node having been configured to belong to a certain state.

[0218] In some embodiments, the first region further includes a third label and a fourth label, wherein the third label is highlighted when the topology map is displayed in the first region;

[0219] The display module is configured as follows:

[0220] In response to the fourth tag being triggered, a swimlane diagram corresponding to the topology diagram is displayed in the first area, and a first button for adding the corresponding state is provided on one side of the swimlane diagram;

[0221] In response to the first button being triggered, a first window for setting the state is displayed on one side of the first button, the first window including multiple state options;

[0222] In response to the triggering of the target belonging status option among the plurality of belonging status options, the target belonging status label corresponding to the target belonging status option is displayed on one side of the swimlane diagram;

[0223] In response to the target process node in the swimlane diagram being dragged to the corresponding position of the target's state label, the target's state is configured for the target process node.

[0224] In some embodiments, the first window further includes a second button for creating a new state;

[0225] The display module is configured as follows:

[0226] In response to the second button being triggered, a second window is displayed on one side of the second button, the second window including a fifth configuration item for setting a new state;

[0227] Create a new belonging state based on the configuration information of the fifth configuration item;

[0228] The new belonging status label corresponding to the new belonging status is displayed on one side of the swimlane diagram.

[0229] For ease of description, the above apparatus is described in terms of its functions, divided into various modules. Of course, in implementing this disclosure, the functions of each module can be implemented in one or more software and / or hardware.

[0230] The apparatus of the above embodiments is used to implement the corresponding method 400 in any of the foregoing embodiments and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0231] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this disclosure also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to perform the method 400 as described in any of the above embodiments.

[0232] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0233] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to perform the method 400 as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0234] Based on the same inventive concept, corresponding to the method 400 of any of the above embodiments, this disclosure also provides a computer program product, which includes a computer program. In some embodiments, the computer program is executable by one or more processors to cause the processors to perform the method 400. Corresponding to the execution entity for each step in each embodiment of method 400, the processor executing the corresponding step may belong to the corresponding execution entity.

[0235] In some embodiments, the computer program product includes program modules for resolving operational conflicts, the program modules including modules compiled as a stack-based virtual machine binary instruction set (e.g., wasm) for use by terminal devices and / or modules compiled as static libraries for use by servers.

[0236] The computer program product of the above embodiments is used to cause the processor to execute the method 400 as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0237] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this disclosure (including the claims) is limited to these examples; within the framework of this disclosure, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this disclosure as described above, which are not provided in detail for the sake of brevity.

[0238] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this disclosure, the provided drawings may or may not show well-known power / ground connections to integrated circuit (IC) chips and other components. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this disclosure, and this also takes into account the fact that the details of implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this disclosure will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuitry) have been set forth to describe exemplary embodiments of this disclosure, it will be apparent to those skilled in the art that the embodiments of this disclosure may be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0239] Although this disclosure has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0240] This disclosure is intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A method for determining the process state of an object, the object comprising multiple process nodes, the method comprising: In response to a change in the state of one or more of the process nodes, obtain one or more state calculation rules corresponding to the object; In response to one or more of the state calculation rules being hit, the process state of the object is determined according to the hit one or more of the state calculation rules; In response to the fact that none of the one or more state calculation rules are hit, one or more process nodes in progress among the plurality of process nodes are determined. In response to the fact that one or more process nodes in progress have one or more associated states, the process state of the object is determined based on the one or more associated states; In response to the fact that one or more process nodes in progress do not have a state, the process state of the object is determined based on the state transition events of the multiple process nodes.

2. The method as described in claim 1, wherein, The multiple state calculation rules have a priority order; In response to one or more of the state calculation rules being hit, determining the process state of the object based on the hit one or more of the state calculation rules includes: In response to the occurrence of multiple state calculation rules, the process state of the object is determined according to the state calculation rule with the highest priority among the multiple occurrence of state calculation rules.

3. The method as described in claim 1, wherein, The multiple states have a state change order; In response to one or more process nodes in progress having one or more associated states, determining the process state of the object based on the one or more associated states includes: In response to the fact that one or more process nodes in progress have multiple associated states, the process state of the object is determined according to the order of state changes of the multiple associated states.

4. The method of claim 1, wherein, In response to one or more ongoing process nodes not having a state, the process state of the object is determined based on the state transition events of the multiple process nodes, including: Determine the topological order of one or more completed and ongoing process nodes among the plurality of process nodes. According to the topological order, traverse the state transition events of one or more completed and ongoing process nodes; The process state of the object is determined based on the last state transition event encountered during traversal.

5. The method of claim 1, wherein, The state transition events include state transition events for reaching process nodes and state transition events for completing process nodes.

6. The method of claim 1, wherein, The method further includes: Displays a first page for configuring the state calculation rules. The first area of ​​the first page includes a first configuration item for configuring state calculation conditions and a second configuration item for configuring state calculation results. The first configuration item includes a first option for configuring target process nodes, a second option for configuring logical operators, and a third option for configuring the target value of the target process nodes. In response to receiving a configuration completion instruction for the state calculation rule, the state calculation rule is generated based on the configuration information of the first configuration item and the second configuration item.

7. The method of claim 6, wherein, The method further includes: The one or more of the state calculation rules are displayed in the second area of ​​the first page; In response to the fact that there are multiple state calculation rules, the multiple state calculation rules are arranged sequentially; In response to a drag command for a target state calculation rule among a plurality of state calculation rules, the order of the target state calculation rules is adjusted according to the drag command.

8. The method of claim 7, wherein, In response to one or more of the state calculation rules being hit, determining the process state of the object based on the hit one or more of the state calculation rules includes: According to the order of the multiple state calculation rules, it is determined whether the state calculation rule is hit in turn; The process state of the object is determined according to the state calculation rule that is first hit.

9. The method of claim 1, wherein, The method further includes: A second page is displayed for configuring the state of the process node. The first area of ​​the second page includes a topology diagram of the plurality of process nodes, and the second area of ​​the second page includes a third configuration item for configuring the state of the target process node. The state of the target process node is determined based on the configuration information of the third configuration item.

10. The method of claim 9, wherein, The second area also includes a first label and a second label, wherein the first label is highlighted when the second area displays a third configuration item for configuring the state of the target process node; The method further includes: In response to the second tag being triggered, a fourth configuration item for configuring the state transition event of the target process node is displayed in the second area; In response to the target process node being configured with a state, a prompt message is displayed indicating that the state transition event of the target process node has a lower priority than its state.

11. The method of claim 10, wherein, The method further includes: In response to the target process node being configured with its assigned state, the fourth configuration item is locked.

12. The method of claim 9, wherein, The first area also includes a third label and a fourth label, wherein the third label is highlighted when the topology map is displayed in the first area; The method further includes: In response to the fourth tag being triggered, a swimlane diagram corresponding to the topology diagram is displayed in the first area, and a first button for adding the corresponding state is provided on one side of the swimlane diagram; In response to the first button being triggered, a first window for setting the state is displayed on one side of the first button, the first window including multiple state options; In response to the triggering of the target belonging status option among the plurality of belonging status options, the target belonging status label corresponding to the target belonging status option is displayed on one side of the swimlane diagram; In response to the target process node in the swimlane diagram being dragged to the corresponding position of the target's state label, the target's state is configured for the target process node.

13. The method of claim 12, wherein, The first window also includes a second button for creating a new state; The method further includes: In response to the second button being triggered, a second window is displayed on one side of the second button, the second window including a fifth configuration item for setting a new state; Create a new belonging state based on the configuration information of the fifth configuration item; The new belonging status label corresponding to the new belonging status is displayed on one side of the swimlane diagram.

14. An apparatus for determining the process state of an object, the object comprising a plurality of process nodes, the apparatus comprising: The acquisition module is configured to: in response to a change in the state of one or more of the process nodes, acquire one or more state calculation rules corresponding to the object; The first determining module is configured to: in response to one or more of the state calculation rules being hit, determine the process state of the object based on the hit one or more of the state calculation rules; The second determining module is configured to: in response to the fact that none of the one or more state calculation rules are hit, determine one or more process nodes in progress among the plurality of process nodes; The third determining module is configured to: in response to the fact that one or more process nodes in progress have one or more associated states, determine the process state of the object based on the one or more associated states; The fourth determination module is configured to: in response to one or more process nodes in progress not having a state, determine the process state of the object based on the state transition events of the multiple process nodes.

15. A computer device comprising one or more processors, a memory; and one or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs comprising instructions for performing the method according to any one of claims 1 to 13.

16. A non-volatile computer-readable storage medium comprising a computer program, which, when executed by one or more processors, causes the processors to perform the method of any one of claims 1 to 13.

17. A computer program product comprising one or more computer programs that, when executed by one or more processors, implement the steps of the method as claimed in any one of claims 1-13.

Citation Information

Patent Citations

  • Business process running state analysis method and system

    CN111507636A

  • Service state updating method and device

    CN116088891A

  • State updating method and device and storage medium

    CN116450175A

  • Information interaction method and device and electronic equipment

    CN117827049A

  • Project data management method and equipment for investment management system, and medium

    CN117994043A