Job flow package initialization method, system, electronic device, and computer program product

By receiving the workflow package initialization request, obtaining the workshop and main waterline configuration information, converting the node name into ID key-value pairs, and using the thread pool to dynamically adjust the number of threads for initialization, the problem of low efficiency in multi-task processing in the robotic process automation system is solved, and efficient batch processing and improved collaboration are achieved.

CN120655247BActive Publication Date: 2025-11-18HANGZHOU HANZI INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511149402.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-18
Publication Date
2025-11-18
Estimated Expiration
2045-08-18

AI Technical Summary

Technical Problem

In existing technologies, robotic process automation systems lack efficient batch processing methods when faced with multiple business tasks, resulting in cumbersome and time-consuming operations that cannot meet enterprises' needs for rapid business processing.

Method used

By receiving the job flow package initialization request, obtaining the workshop and main waterline configuration information, converting the node name into an ID key-value pair, dynamically adjusting the core thread count and maximum thread count using the thread pool, performing node initialization processing, establishing the job flow package, and storing it in the database.

Benefits of technology

It enables efficient and intelligent job flow package initialization, improves the management efficiency and collaboration of multiple business tasks, optimizes the data processing flow, and meets the high-efficiency operation needs of enterprises in complex business scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120655247B_ABST
    Figure CN120655247B_ABST
Patent Text Reader

Abstract

The application provides a job flow package initialization method, system, electronic equipment and computer program product, wherein the method comprises: receiving a job flow package initialization request comprising a target workshop identification; obtaining workshop information and associated main assembly line configuration information based on the target workshop identification; obtaining relevant node information based on the ID of the main assembly line configuration, and converting the node name key-value pair in the relevant node information into a node ID key-value pair; creating a job flow package based on the node ID key-value pair, and storing the job flow package in a database; and using a thread pool to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package. The application can realize efficient and intelligent job flow package initialization, batch processing of multiple business tasks, improvement of management efficiency and collaboration of job tasks, and optimization of data processing processes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of robot automation program technology, and in particular relates to a workflow package initialization method, system, electronic device and computer program product. Background Technology

[0002] With the advancement of enterprise digital transformation, business process automation has become a core means to improve operational efficiency. In traditional business process automation systems, users need to manually configure parameters for each task individually, such as associated business data, execution nodes, and process rules, and then manually trigger the workflow execution engine one by one. These systems typically rely on simple linear process management, with weak correlation between tasks, making it difficult to achieve unified scheduling and collaborative processing of multiple tasks. Therefore, it can be seen that most existing workflow automation startup solutions adopt a single task initialization and startup mode. When faced with multiple business tasks, there is a lack of efficient batch processing methods, the operation is cumbersome and time-consuming, and it cannot meet the enterprise's need for rapid business processing. Summary of the Invention

[0003] In view of the shortcomings of the prior art, the purpose of this invention is to provide a job flow package initialization method, system, electronic device and computer program product, which can realize efficient and intelligent job flow package initialization, realize batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios.

[0004] Technical solution: The first aspect of this application provides a job flow package initialization method, the method comprising:

[0005] Receive a workflow package initialization request that includes the target workshop identifier;

[0006] Based on the target workshop identifier, obtain workshop information and associated mainstream waterline configuration information;

[0007] Based on the ID configured in the mainstream waterline, obtain relevant node information and convert the node name key-value pairs in the relevant node information into node ID key-value pairs;

[0008] A job flow package is created based on the node ID key-value pair, and the job flow package is stored in the database;

[0009] The thread pool is used to initialize the ID key-value pairs of each node in the job flow package to obtain the initialized job flow package.

[0010] In one embodiment, before initializing each node ID key-value pair in the job flow packet using a thread pool, the process includes:

[0011] Obtain the total number of nodes contained in the current job flow package. When the total number of nodes exceeds a specified threshold, dynamically adjust the core thread count and maximum thread count of the thread pool based on the total number of nodes.

[0012] In one embodiment, dynamically adjusting the core thread count and maximum thread count of the thread pool based on the total number of nodes includes:

[0013] Load historical initialization task execution data and obtain the mapping table between node type and average time consumption;

[0014] The node type of the node to be initialized is identified based on the node ID key-value pair;

[0015] Based on the mapping table, determine the initialization time weight value corresponding to each node type;

[0016] Calculate the total weight value of all nodes to be initialized, where the total weight value is the sum of the weight values ​​of all nodes;

[0017] The total weight value is divided by a preset single-threaded carrying threshold, and the resulting quotient is rounded up to obtain the core thread count, wherein the single-threaded carrying threshold is a floating-point number in the range of 0.5 to 1.2.

[0018] The maximum number of threads is set to the product of the core thread count and the elastic scaling factor, wherein the elastic scaling factor is greater than or equal to 1.5.

[0019] In one embodiment, the initialization process of each node ID key-value pair in the job flow packet using a thread pool includes:

[0020] Based on the node ID key-value pairs, determine all node IDs to be initialized contained in the job flow package;

[0021] Each node ID to be initialized is encapsulated into an initialization task;

[0022] The initialization task is submitted to a pre-configured thread pool for execution;

[0023] When each initialization task is executed, the initialization logic corresponding to the node ID is loaded, and the node initialization operation is performed. The initialization operation includes parameter verification, resource pre-allocation, or generating a unique execution instance ID for the node.

[0024] In one embodiment, the step of obtaining relevant node information based on the ID configured in the mainstream waterline, and converting the node name key-value pairs in the relevant node information into node ID key-value pairs, includes:

[0025] Through the interface or management interface provided by the system, input or locate the unique configuration ID of the target mainstream waterline, load the corresponding configuration data from the node configuration service according to the ID of the mainstream waterline configuration through the database query method, parse the configuration data, extract the information of all related nodes, and form a node information list;

[0026] Based on the ID configured in the mainstream waterline, a preset node mapping table is obtained from the database or distributed cache, wherein the mapping table includes the correspondence between node names and node IDs.

[0027] In one embodiment, before creating the job flow package based on the node ID key-value pair, the process includes:

[0028] Parse the initialization dependencies between nodes in the node ID key-value pairs;

[0029] A dynamic dependency topology graph is generated based on the resolved dependencies, where nodes are represented as topological vertices and dependencies are represented as directed edges.

[0030] The topology graph is divided into hierarchical levels to determine the depth value of each node;

[0031] Based on the depth value, nodes are grouped, a group tag identifier is generated for each parallel group, and the node ID key-value pairs within the group are associated.

[0032] In one embodiment, obtaining workshop information and associated mainstream waterline configuration information based on the target workshop identifier includes:

[0033] Based on the target workshop identifier, retrieve the workshop information from the database or configuration center; the workshop information includes at least the workshop ID.

[0034] Based on the workshop ID in the workshop information, query the associated mainstream waterline configuration ID from the production line configuration association table; based on the mainstream waterline configuration ID, retrieve the mainstream waterline configuration information from the production line configuration table.

[0035] In one embodiment, the method further includes: updating the start time of the initialized job flow package according to the initialized job flow package, and synchronizing it to the database.

[0036] A second aspect of this application provides a job flow package initialization system, the system comprising:

[0037] The information acquisition module is used to receive a workflow package initialization request including a target workshop identifier and to acquire workshop information and associated mainstream waterline configuration information based on the target workshop identifier;

[0038] A job flow package creation module is connected to the information acquisition module. It is used to obtain relevant node information based on the ID configured in the main waterline, convert the node name key-value pairs in the relevant node information into node ID key-value pairs, create job flow packages based on the node ID key-value pairs, and store the job flow packages in the database.

[0039] The job flow package initialization module, connected to the job flow package creation module, is used to initialize each node ID key-value pair in the job flow package using a thread pool to obtain the initialized job flow package.

[0040] A third aspect of this application provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the above-described method.

[0041] A fourth aspect of this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the above-described method.

[0042] A fifth aspect of this application provides a computer program product, including a computer program, characterized in that the computer program, when executed by a processor, implements the steps of the above-described method.

[0043] As described above, the workflow package initialization method, system, electronic device, and computer program product provided by the present invention can achieve efficient and intelligent workflow package initialization, enable batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios. Attached Figure Description

[0044] Figure 1 Here is a flowchart of a job flow package initialization method in an exemplary embodiment;

[0045] Figure 2 Flowchart of the method for dynamically adjusting the core thread count and maximum thread count of the thread pool based on the total number of nodes;

[0046] Figure 3 A flowchart for generating a report for a debt transfer SMS task is provided as an exemplary embodiment.

[0047] Figure 4 Here is a flowchart of a job flow package initialization method in another exemplary embodiment;

[0048] Figure 5 This is a structural diagram of a job flow package initialization system in an exemplary embodiment;

[0049] Figure 6 This is a structural diagram of an electronic device in an exemplary embodiment.

[0050] Explanation of reference numerals in the instruction manual:

[0051] 1. Information Acquisition Module; 2. Job Flow Package Creation Module; 3. Job Flow Package Initialization Module; 20. Electronic Equipment; 21. Processor; 22. Memory; 23. Output Interface; 24. Communication Interface; 25. Antenna. Detailed Implementation

[0052] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that, unless otherwise specified, the following embodiments and features described therein can be combined with each other.

[0053] It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. Therefore, the drawings only show the components related to the present invention and are not drawn according to the actual number, shape and size of the components in the actual implementation. In the actual implementation, the form, quantity and proportion of each component can be arbitrarily changed, and the layout of the components may also be more complex.

[0054] To address the aforementioned technical issues, this application proposes a job flow package initialization method, system, electronic device, and computer program product, which can achieve efficient and intelligent job flow package initialization, enable batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios.

[0055] like Figure 1 As shown, this application provides a job flow package initialization method, including: S100: receiving a job flow package initialization request including a target workshop identifier.

[0056] The workflow package initialization request includes multiple key information such as business IDs, workshop codes, aliases, submitters, and tags. The aliases serve as a bridge between the bridging technology and business semantics.

[0057] In robotic process automation (RPA) systems, the "workshop" is a highly abstract logical concept, essentially a way to organize, manage, and define boundaries for business processes (workflows). It is technically identified by a unique "workshop code," semantically expressed through "aliases," and contains a set of related processes. It can be understood as a "process container," "logical processing unit," or "business domain grouping" within the system. Its existence makes process management in complex systems more structured and modular, and effectively bridges the gap between technical implementation and business understanding through the aliasing mechanism. Simply put, the "workshop" is where a group of related business processes are packaged, labeled, and the system is told which task these processes belong to.

[0058] S200: Obtain workshop information and associated mainstream waterline configuration information based on the target workshop identifier.

[0059] In one possible embodiment, based on the workshop code in the job flow package initialization request, the system queries the workshop service database to see if there is corresponding workshop information. If the workshop information does not exist, the system outputs "No such data". If the workshop information exists, the system searches the pipeline configuration service for the configuration of the main pipeline corresponding to the workshop type. If the main pipeline configuration information does not exist, the system outputs "Error". If the main pipeline configuration information exists, the system executes step S300.

[0060] In one embodiment, obtaining workshop information and associated mainstream waterline configuration information based on the target workshop identifier includes: querying and obtaining workshop information from a database or configuration center based on the target workshop identifier; the workshop information includes at least a workshop ID; querying and obtaining associated mainstream waterline configuration ID from a pipeline configuration association table based on the workshop ID in the workshop information; and obtaining mainstream waterline configuration information from the pipeline configuration table based on the mainstream waterline configuration ID.

[0061] This application verifies the validity of the mainstream waterline configuration associated with the shop floor code to ensure that the workflow package is bound to a valid and executable shop floor framework.

[0062] S300: Obtain relevant node information based on the ID configured in the mainstream waterline, and convert the node name key-value pairs in the relevant node information into node ID key-value pairs.

[0063] Specifically, through the system's provided interface or management screen, the unique configuration ID of the target mainstream waterline is input or located. The system then uses a database query method to load the corresponding configuration data from the node configuration service based on the mainstream waterline configuration ID. This configuration data is parsed to extract information about all relevant nodes, including node name, node ID, node type, and connection relationships, forming a node information list. The node information list is traversed, extracting the "name" and "ID" fields for each node. A pre-defined node mapping table (such as a key-value pair set) is retrieved from the database or distributed cache, establishing a one-to-one correspondence using the node name as the key and the node ID as the value. The node information list is traversed again, checking the key-value parameters (such as attribute configurations and connection conditions) for each node. If a node name is found in the key-value parameters (e.g., a downstream node references a name), the name is replaced with the corresponding ID according to the node mapping table. All relevant key values ​​in the node information are updated to ensure that the ID, not the name, is used in all references to the node. A consistency check is performed on the converted node information list to confirm that all names have been correctly replaced with IDs and that no data is lost or incorrect. The converted node information is saved to the system database or configuration file, overwriting the original data (or generating a new version as needed), ensuring that subsequent operations are based on ID key-value pairs.

[0064] In one embodiment, obtaining a preset node mapping table based on the ID of the mainstream waterline configuration includes: sending a first query request to the edge computing node corresponding to the target workshop, wherein the edge computing node stores a hot node mapping cache, the cache containing a subset of frequently accessed nodes associated with the mainstream waterline configuration ID; when the requested node name exists in the hot node mapping cache, the corresponding node ID is directly obtained from the cache; when the requested node name does not exist in the hot node mapping cache, a second query request is sent to the central database to obtain the complete node mapping table; incremental synchronization is performed based on the node update timestamp: periodically comparing the last update timestamp of each node; when it is detected that the update timestamp of a node in the central database is later than that in the edge cache; only the data of that node is synchronized to the edge computing node.

[0065] In this embodiment, node IDs are used as unique identifiers for logical processing in scenarios such as process execution, task allocation, monitoring, or report generation, thereby improving system stability.

[0066] S400: Create a job flow package based on the node ID key-value pair and store the job flow package in the database.

[0067] In one embodiment, before creating the job flow package based on the node ID key-value pair, the process includes:

[0068] Parse the initial dependency relationships between nodes in the node ID key-value pairs; generate a dynamic dependency topology graph based on the parsed dependency relationships, where nodes are represented as topology vertices and dependency relationships are represented as directed edges; perform hierarchical division of the topology graph and determine the depth value of each node; group the nodes based on the depth value, generate a group label identifier for each parallel group, and associate the node ID key-value pairs within the group.

[0069] This application generates group marker identifiers for each parallel group by establishing a topology graph, which can avoid resource deadlock caused by blind parallelism in traditional thread pools and solve the problem of dynamic adjustment of node initialization order in industrial production lines.

[0070] In one possible embodiment, storing the job flow package in the database includes: serializing the job flow package object into a preset format and persistently storing it in a specified table of a relational database or a non-relational database; and generating and returning the job flow package instance ID after successful storage.

[0071] Specifically, data storage intervals are divided according to preset time windows, and data is allocated to corresponding database shards based on the interval to which the timestamp of the node's initialization state belongs. A storage engine based on a log structure merging tree is created for each database shard. This storage engine includes: a memory table component for caching node state data written in real time; a write-ahead log component for fault recovery assurance; and a disk storage layer for organizing immutable data blocks in time series. When the number of files in the disk storage layer within a single shard reaches the merging threshold, a multi-level merging and compression operation is triggered.

[0072] This embodiment divides the node initialization state into time windows and writes it to different database shards. Within each shard, a log structure is used to merge the data into a tree to organize the data. It supports the writing of initialization state of 20,000+ nodes / second, which meets the needs of high-frequency scenarios such as automobile production lines.

[0073] S500: Use a thread pool to initialize the ID key-value parameter of each node in the job flow packet to obtain the initialized job flow packet.

[0074] In one embodiment, before initializing each node ID key-value pair in the job flow package using a thread pool, the process includes: obtaining the total number of nodes contained in the current job flow package; and when the total number of nodes exceeds a specified threshold, dynamically adjusting the core thread count and maximum thread count of the thread pool based on the total number of nodes.

[0075] Specifically, such as Figure 2 As shown, the core thread count and maximum thread count of the thread pool are dynamically adjusted based on the total number of nodes, including:

[0076] S510: Load historical initialization task execution data and obtain the mapping table between node type and average time consumption.

[0077] S520: Identify the node type of the node to be initialized based on the node ID key-value pair.

[0078] S530: Based on this mapping table, determine the initialization time weight value corresponding to each node type.

[0079] S540: Calculate the total weight value of all nodes to be initialized. The total weight value is the sum of the weight values ​​of all nodes.

[0080] Specifically, ,in, The total weight value of all nodes to be initialized. Let be the weight value of the i-th node. This represents the total number of nodes to be initialized.

[0081] S550: Divide the total weight value by the preset single-thread capacity threshold, and round the quotient up to obtain the core thread count, where the single-thread capacity threshold is a floating-point number in the range of 0.5 to 1.2;

[0082] Specifically, core thread count ,in, θ This is a preset single-threaded capacity threshold, with a value ranging from 0.5 to 1.2 (floating-point number).

[0083] For example, assuming the total weight of all nodes to be initialized is 8.5, and the preset single-threaded load threshold... θ The core thread count is 0.8. =Round up (8.5 / 0.8)=Round up (10.625)=11.

[0084] S560: Set the maximum number of threads to the product of the core thread count and the elastic scaling factor, where the elastic scaling factor is greater than or equal to 1.5.

[0085] Specifically, maximum number of threads ,in, α The elastic expansion coefficient, α ≥1.5.

[0086] For example, assume an elastic expansion coefficient α Maximum number of threads when 1.8 is used =11 × 1.8 = 19.8 20.

[0087] This embodiment dynamically allocates thread resources by weight, making the allocation of thread resources proportional to the actual computing load. This solves the problem of thread contention and blocking caused by differences in the complexity of heterogeneous tasks, and adapts to industrial environments with uneven hardware performance. It enables both high-complexity tasks and low-performance devices to obtain matching thread resources, thereby improving overall throughput and reducing latency. It can avoid the thread starvation problem caused by simply allocating resources according to the number of nodes.

[0088] In one embodiment, the initialization process for each node ID key-value pair in the job stream package using a thread pool includes: determining all node IDs to be initialized in the job stream package based on the node ID key-value pair; encapsulating each node ID to be initialized into an initialization task; submitting the initialization task to a pre-configured thread pool for execution; and when each initialization task is executed, loading the initialization logic for the corresponding node ID and performing node initialization operations, which include parameter verification, resource pre-allocation, or generating a unique execution instance ID for the node.

[0089] This embodiment encapsulates each node ID to be initialized into an independent initialization task and submits it to the thread pool, ensuring that a single node failure does not affect the overall workflow, thereby improving the fault isolation rate by 90%. At the same time, the thread pool task isolation avoids resource over-allocation, and the peak device resource utilization rate is increased to 95%+.

[0090] In one embodiment, after converting the node name key-value pairs in the relevant node information to node ID key-value pairs, this application initializes a decrement counter. The decrement counter enables the main thread to synchronously wait for parallel initialization tasks, ensuring that subsequent logic is executed only after all tasks have been completed. Before sending tasks to the thread pool, a list abstract data structure implemented using a copy-on-write mechanism needs to be constructed to store exception information thrown by tasks executed in each thread in a multi-threaded environment. The thread pool uses a core thread count of 20 and a maximum thread count of 20. After the number of parallel tasks exceeds the core thread count, the initialization tasks will enter a blocking queue. When initializing a specific job, the corresponding business information processor needs to be obtained based on the business ID. The business information processor will call the interface responded by the business system to query the specific business parameters based on the business ID as the business parameters for job execution. Then, a job domain object is created, which includes the workshop ID, job package ID, business ID, business service name, and business parameters. Then, the job is persisted. After each job initialization is completed, the decrement counter is decremented by 1. When the decrement counter reaches 0, it means that all job initializations are complete, and the job package will be returned.

[0091] This application utilizes a thread pool to concurrently process the initialization task corresponding to each business ID, and starts a new thread for each business ID to execute the initialization method of the job service, obtain business data, and create job records in the database.

[0092] After adopting a dynamic thread pool, this application can achieve an initialization success rate of over 98% (that is, about 2 out of 100 concurrent tasks will fail due to timeout or resource conflict), and failed tasks can be automatically recovered through the retry mechanism.

[0093] Existing technologies initialize business IDs one by one, with total time = time per task × number of tasks. For example, 10 business IDs, each taking 1 minute → total time = 10 minutes. This application, however, uses dynamically calculated thread counts (e.g., core threads = 5), resulting in total time ≈ time per batch × number of batches. For example, 10 tasks divided into 2 batches (5 tasks / batch) → total time = 2 minutes (a 5x efficiency improvement). In a robotic process automation system (128-node type), initialization completion time is reduced from 18.7s to 11.2s, a 40% improvement. Simultaneously, a preset single-thread capacity threshold θ controls single-thread utilization (CPU utilization reaches 78±3% when θ=0.8). An elastic scaling factor (α=1.8) ensures throughput under sudden loads, with the maximum number of threads dynamically expanded to 20 (core threads 11 × 1.8), capable of handling a 30% surge in instantaneous tasks. Automatically allocate more threads (e.g., 4 threads) to high-weight nodes (e.g., weight ≥ 3.0) to ensure that their time consumption does not exceed 1.5 times that of low-weight nodes (actual test comparison: when allocating threads uniformly, the time consumption of high-weight tasks may reach 3 times).

[0094] For example, the batch SMS sending node specifically includes: the SMS sending task can be broken down into multiple subtasks and submitted in batches to the task queue of the thread pool. The thread pool dynamically allocates tasks according to the configured core thread count and maximum thread count. The thread pool executes these subtasks concurrently. After sending is completed, the thread returns to the thread pool to wait for the next task, avoiding the overhead of frequently creating and destroying threads. The SMS sending task needs to query receipts multiple times by business ID and retrieval count. The thread pool can submit query tasks in batches and schedule their execution at intervals.

[0095] Specifically, such as Figure 3As shown, operators log into the "Debt Transfer Management System" and select an Excel file containing debt transfer information (template provided by the system; required fields include: debt number, debtor's name, ID number, transfer amount, creditor's account, and debt transfer date) through the "Batch Upload" module. The system automatically reads the uploaded file, extracts and parses the data, such as calling the Apache POI library to read the Excel content, converting each row of data into JSON format, storing valid data in the "Debt Transfer Temporary Table" in the database, storing invalid data in the "Error Log Table," and generating a "Parsing Result Report." The system calls the core business interface to execute the key logic of debt transfer, reads valid data from the debt transfer temporary table, updates the result of each debt transfer to the "Debt Transfer Main Table," marks the "processing status" (success / failure), and generates a debt transfer voucher. For each successful debt transfer record, the system automatically captures a screenshot of the "Debt Transfer Details Page" (including the debt transfer voucher, operation time, operator, etc.) and stores it in a designated location (such as a file server) to retain visual evidence of the debt transfer operation and meet regulatory requirements. The system extracts debtors' mobile phone numbers from successful debt transfer records and sends batch SMS notifications (containing debt transfer information, contact details, etc.) to promptly inform debtors of the debt transfer status and improve information transparency. The system calls the SMS service provider's interface to periodically crawl the SMS delivery receipt status (e.g., "successfully delivered," "not delivered," "service suspended") to confirm the validity of SMS notifications and provide a basis for subsequent follow-up (e.g., resending SMS if not delivered). The system summarizes all process data (e.g., number of successful / failed debt transfers, SMS delivery rate, error logs) and generates a task report (e.g., in PDF format). This task report may include: a task overview (upload batch, processing time); debt transfer result statistics (number of successful / failed transfers and reasons); SMS delivery status statistics (delivery rate, reasons for non-delivery); and a list of evidence screenshots (path and thumbnails).

[0096] Each step in the above embodiments depends on the result of the previous step. For example, the debt transfer is initiated only after parsing is successful, and a screenshot is taken only after successful initiation, ensuring the integrity of the process. The above embodiments meet regulatory requirements for the traceability of debt transfers through "screenshot evidence preservation" and "SMS receipts." From parsing to notification, the entire process in the above embodiments is executed automatically by the system, reducing manual intervention and improving efficiency.

[0097] This application utilizes a thread pool to process debt transfer SMS messages concurrently, which reduces sending latency and optimizes system resource utilization, avoiding resource waste caused by a large number of concurrent requests.

[0098] The job flow package initialization method provided in this application can achieve efficient and intelligent job flow package initialization, enable batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios.

[0099] In one embodiment, each node can generate screenshots and logs for easy archiving and evidence preservation.

[0100] Another exemplary embodiment of this application also provides a job flow package initialization method, such as Figure 4 As shown, the method includes:

[0101] S600: Receives a workflow packet initialization request including the target workshop identifier;

[0102] S700: Obtain workshop information and associated mainstream waterline configuration information based on the target workshop identifier;

[0103] S800: Obtain relevant node information based on the ID configured in the mainstream waterline, and convert the node name key-value pairs in the relevant node information into node ID key-value pairs;

[0104] S900: Create a job flow package based on the node ID key-value pair, and store the job flow package in the database;

[0105] S1000: Use a thread pool to initialize the ID key-value pairs of each node in the job flow package to obtain the initialized job flow package.

[0106] In this embodiment, steps 600 to 1000 are similar to steps 100 to 500 described above, and will not be repeated here.

[0107] S1100: Update the start time of the initialized job flow package according to the initialized job flow package and synchronize it to the database.

[0108] The job flow package initialization method provided in this application can achieve efficient and intelligent job flow package initialization, enable batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios.

[0109] An exemplary embodiment of this application provides a job flow package initialization system, such as... Figure 5 As shown, the system includes:

[0110] The information acquisition module 1 is used to receive a workflow package initialization request including the target workshop identifier and to acquire workshop information and associated mainstream waterline configuration information based on the target workshop identifier. The workflow package creation module 2 is connected to the information acquisition module 1 and is used to acquire relevant node information based on the ID of the mainstream waterline configuration, convert the node name key-value pairs in the relevant node information into node ID key-value pairs, create a workflow package based on the node ID key-value pairs, and store the workflow package in the database. The workflow package initialization module 3 is connected to the workflow package creation module 2 and is used to initialize each node ID key-value pair in the workflow package using a thread pool to obtain the initialized workflow package.

[0111] The workflow package initialization system provided in this application can achieve efficient and intelligent workflow package initialization, enable batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios.

[0112] Each module in the aforementioned workflow package initialization system can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor within the electronic device, or stored in the memory of the electronic device as software, so that the processor can call and execute the corresponding operations of each module.

[0113] In one exemplary embodiment, this embodiment also provides an electronic device, including a memory and a processor, wherein the memory stores a program executable on the processor, and when the program is executed by the processor, the electronic device performs the method described in any of the above embodiments.

[0114] In one possible embodiment, such as Figure 6 As shown, the electronic device 20 further includes: an output interface 23 for outputting results; a communication interface 24 for transmitting communication signals; and an antenna 25 for transmitting or receiving signals.

[0115] It should be noted that the processor 21 in this embodiment can be an image processing chip or an integrated circuit chip, capable of processing image signals. In implementation, each step of the above method embodiment can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices. It can implement or execute the methods, steps, and logic block diagrams disclosed in this embodiment. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this embodiment can be directly implemented by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules can reside in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0116] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.

[0117] In one exemplary embodiment, this embodiment also provides a computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps in the above-described method embodiments.

[0118] In one exemplary embodiment, this embodiment also provides a computer program product, including a computer program that, when executed by a processor, implements the steps in the above-described method embodiments.

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

[0120] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0121] The workflow package initialization method, system, electronic device, and computer program product provided in this application can achieve efficient and intelligent workflow package initialization, enable batch processing of multiple business tasks, improve the management efficiency and collaboration of job tasks, optimize data processing flow, and meet the needs of enterprises for efficient operation of robotic process automation systems in complex business scenarios.

[0122] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in this application should still be covered by the claims of this application.

Claims

1. A job flow packet initialization method, characterized in that, The method includes: Receive a workflow package initialization request that includes the target workshop identifier; Based on the target workshop identifier, obtain workshop information and associated mainstream waterline configuration information; Based on the ID configured in the mainstream waterline, obtain relevant node information and convert the node name key-value pairs in the relevant node information into node ID key-value pairs; A job flow package is created based on the node ID key-value pairs, and the job flow package is stored in the database. Before creating the job flow package based on the node ID key-value pairs, the process includes: parsing the initialization dependencies between nodes in the node ID key-value pairs; generating a dynamic dependency topology graph based on the parsed dependencies, where nodes are represented as topology vertices and dependencies are represented as directed edges; performing hierarchical division on the topology graph and determining the depth value of each node; grouping nodes based on the depth values, generating a group identifier for each parallel group, and associating the node ID key-value pairs within the group. The thread pool is used to initialize the ID key-value pairs of each node in the job flow package to obtain the initialized job flow package.

2. The method according to claim 1, characterized in that, Before initializing each node ID key-value pair in the job flow package using a thread pool, the process includes: Obtain the total number of nodes contained in the current job flow package. When the total number of nodes exceeds a specified threshold, dynamically adjust the core thread count and maximum thread count of the thread pool based on the total number of nodes.

3. The method according to claim 2, characterized in that, The step of dynamically adjusting the core thread count and maximum thread count of the thread pool based on the total number of nodes includes: Load historical initialization task execution data and obtain the mapping table between node type and average time consumption; The node type of the node to be initialized is identified based on the node ID key-value pair; Based on the mapping table, determine the initialization time weight value corresponding to each node type; Calculate the total weight value of all nodes to be initialized, where the total weight value is the sum of the weight values ​​of all nodes; The total weight value is divided by a preset single-threaded carrying threshold, and the resulting quotient is rounded up to obtain the core thread count, wherein the single-threaded carrying threshold is a floating-point number in the range of 0.5 to 1.

2. The maximum number of threads is set to the product of the core thread count and the elastic scaling factor, wherein the elastic scaling factor is greater than or equal to 1.

5.

4. The method according to claim 2, characterized in that, The initialization process of each node ID key-value pair in the job flow package using a thread pool includes: Based on the node ID key-value pairs, determine all node IDs to be initialized contained in the job flow package; Each node ID to be initialized is encapsulated into an initialization task; The initialization task is submitted to a pre-configured thread pool for execution; When each initialization task is executed, the initialization logic corresponding to the node ID is loaded, and the node initialization operation is performed. The initialization operation includes parameter verification, resource pre-allocation, or generating a unique execution instance ID for the node.

5. The method according to claim 1, characterized in that, The step of obtaining relevant node information based on the ID configured in the mainstream waterline, and converting the node name key-value pairs in the relevant node information into node ID key-value pairs, includes: Through the interface or management interface provided by the system, input or locate the unique configuration ID of the target mainstream waterline, load the corresponding configuration data from the node configuration service according to the ID of the mainstream waterline configuration through the database query method, parse the configuration data, and extract all relevant node information; Based on the ID configured in the mainstream waterline, a preset node mapping table is obtained from the database or distributed cache, wherein the node mapping table includes the correspondence between node names and node IDs; Based on the node mapping table, the node name key-value pairs in the relevant node information are converted into node ID key-value pairs.

6. The method according to claim 1, characterized in that, The process of obtaining workshop information and associated mainstream waterline configuration information based on the target workshop identifier includes: Based on the target workshop identifier, retrieve the workshop information from the database or configuration center; the workshop information includes at least the workshop ID. Based on the workshop ID in the workshop information, query the associated mainstream waterline configuration ID from the production line configuration association table; based on the mainstream waterline configuration ID, retrieve the mainstream waterline configuration information from the production line configuration table.

7. The method according to claim 1, characterized in that, The method further includes: updating the start time of the initialized job flow package according to the initialized job flow package, and synchronizing it to the database.

8. A job flow package initialization system, characterized in that, The system includes: The information acquisition module is used to receive a workflow package initialization request including a target workshop identifier and to acquire workshop information and associated mainstream waterline configuration information based on the target workshop identifier; A job flow package creation module, connected to the information acquisition module, is used to acquire relevant node information based on the IDs configured in the main watershed, convert the node name key-value pairs in the relevant node information into node ID key-value pairs, create job flow packages based on the node ID key-value pairs, and store the job flow packages in a database. Before creating the job flow packages based on the node ID key-value pairs, the module includes: parsing the initialization dependencies between nodes in the node ID key-value pairs; generating a dynamic dependency topology graph based on the parsed dependencies, where nodes are represented as topology vertices and dependencies are represented as directed edges; performing hierarchical division on the topology graph to determine the depth value of each node; grouping nodes based on the depth values, generating a group identifier for each parallel group, and associating the node ID key-value pairs within the group. The job flow package initialization module, connected to the job flow package creation module, is used to initialize each node ID key-value pair in the job flow package using a thread pool to obtain the initialized job flow package.

9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.

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

Citation Information

Patent Citations

  • Process data synchronization method, device and equipment for workflow

    CN112685499A

  • Automatic data pipeline generation

    US20230289241A1