Job flow packet initialization method and system, electronic equipment and computer program product

By receiving the job flow package initialization request, obtaining the workshop and main pipeline configuration information, converting the node name into ID key-value pairs, using the thread pool to initialize the node ID key-value pairs, and dynamically adjusting the thread pool resources, the problem of low multi-tasking efficiency in the robotic process automation system is solved, and efficient batch processing and data flow optimization are achieved.

CN120655247AActive Publication Date: 2025-09-16HANGZHOU HANZI INFORMATION TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, robotic process automation systems lack efficient batch processing methods when facing multiple business tasks, resulting in cumbersome and time-consuming operations, which makes it difficult to meet the company's needs for rapid business processing.

Method used

By receiving the job flow package initialization request, obtaining the workshop and main pipeline configuration information, converting the node name into ID key-value pairs, using the thread pool to initialize the node ID key-value pairs, dynamically adjusting the core thread number and maximum thread number of the thread pool, generating the job flow package and storing it in the database, and optimizing the data processing process.

Benefits of technology

It achieves efficient batch processing of multiple business tasks, improves the management efficiency and coordination of work tasks, optimizes the data processing process, and meets the efficient operation needs of enterprises in complex business scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120655247A_ABST
    Figure CN120655247A_ABST
Patent Text Reader

Abstract

The invention provides a job flow packet initialization method and system, electronic equipment and a computer program product, and the method comprises the steps: receiving a job flow packet initialization request comprising a target workshop identifier; obtaining workshop information and associated main assembly line configuration information based on the target workshop identifier; obtaining related node information based on the ID configured by the main pipeline, and converting a node name key value pair in the related node information into a node ID key value pair; creating a job flow packet based on the node ID key value pair, and storing the job flow packet into a database; and performing initialization processing on each node ID key value pair in the job flow packet by using a thread pool to obtain an initialized job flow packet. According to the method and the device, efficient and intelligent job flow packet initialization can be realized, batch processing of a plurality of service tasks is realized, the management efficiency and the collaboration of the job tasks are improved, and the data processing flow is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of robot automation programs, and in particular relates to a method, system, electronic equipment and computer program product for initializing a job flow package. Background Art

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

[0003] In view of the shortcomings of the above-mentioned prior art, the purpose of the present 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 coordination of job tasks, optimize the data processing process, and meet the efficient operation requirements of robotic process automation systems in complex business scenarios of enterprises.

[0004] Technical solution: In a first aspect, an embodiment of the present application provides a method for initializing a job flow package, the method comprising: receiving a job flow package initialization request including a target workshop identifier; Acquire workshop information and associated main pipeline configuration information based on the target workshop identifier; Obtain relevant node information based on the ID configured in the main pipeline, and convert the node name key-value pairs in the relevant node information into node ID key-value pairs; Creating a job flow package based on the node ID key-value pair, and storing the job flow package in a database; A thread pool is used to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package.

[0005] In one embodiment, before using the thread pool to initialize each node ID key-value pair in the job flow package, the process includes: The total number of nodes included in the current job flow package is obtained, and when the total number of nodes exceeds a specified threshold, the number of core threads and the maximum number of threads in the thread pool are dynamically adjusted according to the total number of nodes.

[0006] In one embodiment, dynamically adjusting the number of core threads and the maximum number of threads in the thread pool according to the total number of nodes includes: Load historical initialization task execution data and obtain a mapping table between node type and average time consumption; Identify the node type of the node to be initialized according to the node ID key-value pair; Based on the mapping relationship table, determine the initialization time-consuming weight value corresponding to each node type; Calculate the total weight value of all nodes to be initialized, which is the cumulative sum of the weight values ​​of all nodes; Divide the total weight value by a preset single-thread load threshold, and round up the resulting quotient to obtain the number of core threads, wherein the single-thread load 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 number of core threads and the elastic expansion coefficient, where the elastic expansion coefficient is greater than or equal to 1.5.

[0007] In one embodiment, the initialization processing of each node ID key-value pair in the job flow package by using a thread pool includes: Determine all to-be-initialized node IDs contained in the job flow package according to the node ID key-value pair; Encapsulate each of the to-be-initialized node IDs into an initialization task; Submitting the initialization task to a preconfigured thread pool for execution; When each initialization task is executed, the initialization logic of the corresponding 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.

[0008] In one embodiment, the acquiring of relevant node information based on the ID configured in the mainstream pipeline and converting the node name key-value pairs in the relevant node information into node ID key-value pairs includes: Input or locate the unique configuration ID of the target main pipeline through the interface or management interface provided by the system, load the corresponding configuration data from the node configuration service according to the ID of the main pipeline configuration through the database query method, parse the configuration data, extract the information of all relevant nodes, and form a node information list; Based on the ID of the main pipeline configuration, a preset node mapping table is obtained from a database or a distributed cache, wherein the mapping table includes a correspondence between node names and node IDs.

[0009] In one embodiment, before creating a job flow package based on the node ID key-value pair, the process includes: Parsing the initialization dependency relationship between nodes in the node ID key-value pair; Generate a dynamic dependency topology graph based on the parsed dependency relationships, where nodes are represented as topological vertices and dependency relationships are represented as directed edges; Dividing the topology graph into layers and determining the depth value of each node; The nodes are grouped based on the depth value, a group tag identifier is generated for each parallel group, and a key-value pair of node ID within the group is associated.

[0010] In one embodiment, the acquiring of workshop information and associated main pipeline configuration information based on the target workshop identifier includes: According to the target workshop identifier, query and obtain the workshop information from a database or a configuration center; the workshop information at least includes a workshop ID; Based on the workshop ID in the workshop information, the associated main pipeline configuration ID is queried from the pipeline configuration association table; based on the main pipeline configuration ID, the main pipeline configuration information is obtained from the pipeline configuration table.

[0011] 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 the update to a database.

[0012] A second aspect of an embodiment of the present application provides a job flow package initialization system, the system comprising: An information acquisition module, configured to receive a job flow package initialization request including a target workshop identifier and acquire workshop information and associated main pipeline configuration information based on the target workshop identifier; a job flow package creation module connected to the information acquisition module, configured to acquire relevant node information based on the ID of the main pipeline configuration, convert the node name key-value pairs in the relevant node information into node ID key-value pairs, create a job flow package based on the node ID key-value pairs, and store the job flow package in a database; The job flow package initialization module is connected to the job flow package creation module and is used to use a thread pool to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package.

[0013] A third aspect of an embodiment of the present application provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and wherein the processor implements the steps of the above method when executing the computer program.

[0014] The fourth aspect of the embodiments of the present application further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the steps of the above method are implemented.

[0015] A fifth aspect of an embodiment of the present application provides a computer program product, including a computer program, characterized in that when the computer program is executed by a processor, the steps of the above method are implemented.

[0016] As described above, the job flow package initialization method, system, electronic device and computer program product provided by the present invention can realize efficient and intelligent job flow package initialization, realize batch processing of multiple business tasks, improve the management efficiency and coordination of job tasks, optimize the data processing process, and meet the efficient operation requirements of the robotic process automation system in complex business scenarios of enterprises. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is a flow chart of a method for initializing a job flow package in an exemplary embodiment; Figure 2 Flowchart of a method for dynamically adjusting the number of core threads and maximum threads of the thread pool according to the total number of nodes; Figure 3 A flowchart of a debt-to-SMS task report generation process provided for an exemplary embodiment; Figure 4 is a flow chart of a method for initializing a job flow package in another exemplary embodiment; Figure 5 A diagram showing the structure of a job flow package initialization system in an exemplary embodiment; Figure 6 A structural diagram of an electronic device in an exemplary embodiment.

[0018] Description of the accompanying drawings: 1. Information acquisition module; 2. Job flow package creation module; 3. Job flow package initialization module; 20. Electronic device; 21. Processor; 22. Memory; 23. Output interface; 24. Communication interface; 25. Antenna. DETAILED DESCRIPTION

[0019] The following describes the embodiments of the present invention through specific examples. 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. The 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 the following embodiments and features in the embodiments can be combined with each other unless they conflict.

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

[0021] In order to solve the above technical problems, this application proposes a job flow package initialization method, system, electronic equipment 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 coordination of job tasks, optimize the data processing process, and meet the efficient operation requirements of robotic process automation systems in complex business scenarios of enterprises.

[0022] like Figure 1 As shown, the present application provides a method for initializing a workflow package, including: S100: receiving a workflow package initialization request including a target workshop identifier.

[0023] Among them, the job flow package initialization request includes multiple key information such as business ID, workshop code, alias, submitter, label, etc. The alias is a bridge connecting technical implementation and business semantics.

[0024] In robotic process automation systems, a "workshop" is a highly abstract logical concept, essentially a way to organize, manage, and demarcate business processes (job flows). It is technically identified by a unique "workshop code," expresses business semantics through an "alias," and encompasses 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 its alias mechanism effectively bridges the gap between technical implementation and business understanding. Simply put, a "workshop" is where a group of related business processes are packaged, labeled, and the system is informed of their specific areas of focus.

[0025] S200: Acquire workshop information and associated mainstream pipeline configuration information based on the target workshop identifier.

[0026] In one possible embodiment, based on the workshop code in the job flow package initialization request, the workshop service database is queried to see whether there is corresponding workshop information. If the workshop information does not exist, an output is that there is no such data. If the workshop information exists, the configuration of the mainstream pipeline corresponding to the workshop type is searched from the pipeline configuration service through the workshop type. If the mainstream pipeline configuration information does not exist, an error is output. If the mainstream pipeline configuration information exists, step S300 is executed.

[0027] In one embodiment, the workshop information and the associated mainstream pipeline configuration information are obtained based on the target workshop identification, including: querying and obtaining the workshop information from a database or configuration center according to the target workshop identification; the workshop information includes at least a workshop ID; based on the workshop ID in the workshop information, querying and obtaining the associated mainstream pipeline configuration ID from the pipeline configuration association table; and obtaining the mainstream pipeline configuration information from the pipeline configuration table based on the mainstream pipeline configuration ID.

[0028] This application ensures that the job flow package is bound to a valid and execution-supporting shop framework by verifying the validity of the main pipeline configuration associated with the shop code.

[0029] S300: Acquire relevant node information based on the ID configured in the main pipeline, and convert the node name key-value pair in the relevant node information into a node ID key-value pair.

[0030] Specifically, through the system's provided interface or management interface, the unique configuration ID of the target mainstream pipeline is input or located. Using a database query method, the corresponding configuration data is loaded from the node configuration service based on the mainstream pipeline configuration ID. The configuration data is parsed to extract information about all relevant nodes, including node name, node ID, node type, and connection relationships, to form a node information list. The node information list is then traversed, extracting the "name" and "ID" fields for each node. A preset node mapping table (e.g., a key-value pair set) is retrieved from the database or distributed cache, establishing a one-to-one correspondence between the node name as the key and the node ID as the value. The node information list is then traversed again, checking the key-value parameters (e.g., attribute configuration, connection conditions, etc.) for each node. If a key-value parameter contains a node name (e.g., a node's 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, ensuring that all references to the node use the ID instead of the name. 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 missing or incorrect. Save the converted node information 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 the ID key value.

[0031] In one embodiment, a preset node mapping table is obtained based on the ID of the mainstream pipeline configuration, including: 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, and the cache contains a subset of high-frequency access nodes associated with the mainstream pipeline 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 a complete node mapping table; incremental synchronization is performed according to the node update timestamp: the last update timestamp of each node is periodically compared; when it is detected that the update timestamp of a node in the central database is later than the edge cache; only the node data is synchronized to the edge computing node.

[0032] This embodiment uses the node ID as a unique identifier for logical processing in scenarios such as process execution, task allocation, monitoring, or report generation to improve system stability.

[0033] S400: Creating a job flow package based on the node ID key-value pair, and storing the job flow package in a database.

[0034] In one embodiment, before creating a job flow package based on the node ID key-value pair, the process includes: Parse the initialization dependency relationships between the nodes in the node ID key-value pair; generate a dynamic dependency topology graph based on the parsed dependency relationships, in which nodes are represented as topological vertices and dependency relationships are represented as directed edges; divide the topology graph into levels and determine the depth value of each node; group the nodes based on the depth value, generate a group tag identifier for each parallel group, and associate the node ID key-value pairs within the group.

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

[0036] In a possible embodiment, the job flow package is stored in a database, including: 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 a job flow package instance ID after successful storage.

[0037] Specifically, the data storage interval is divided according to the preset time window, and the data is allocated to the corresponding database shard based on the interval to which the timestamp of the node initialization state belongs; a storage engine based on a log-structured merge tree is created for each database shard, which includes: a memory table component for caching node status data written in real time; a write-ahead log component for fault recovery protection; a disk storage layer for organizing immutable data blocks in time series; when the number of disk storage layer files in a single shard reaches the merge threshold, a multi-level merge and compression operation is triggered.

[0038] This embodiment divides the node initialization status into time windows and writes them into different database shards. In each shard, a log structure merge tree is used to organize data. This supports initialization status writing of 20,000+ nodes per second, meeting high-frequency scenarios such as automobile production lines.

[0039] S500: Utilizing a thread pool to initialize each node ID key value parameter in the job flow package to obtain an initialized job flow package.

[0040] In one embodiment, before using the thread pool to initialize each node ID key-value pair in the job flow package, it 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 number of core threads and the maximum number of threads of the thread pool according to the total number of nodes.

[0041] Specifically, if Figure 2 As shown, the number of core threads and the maximum number of threads in the thread pool are dynamically adjusted according to the total number of nodes, including: S510: Load historical initialization task execution data and obtain a mapping relationship table between node type and average time consumption.

[0042] S520: Identify the node type of the node to be initialized according to the node ID key-value pair.

[0043] S530: Based on the mapping relationship table, determine the initialization time-consuming weight value corresponding to each node type.

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

[0045] Specifically, ,in, is the total weight value of all nodes to be initialized, is the weight value of the i-th node, is the total number of nodes to be initialized.

[0046] S550: Divide the total weight value by a preset single-thread load threshold, and round up the resulting quotient to obtain the number of core threads, wherein the single-thread load threshold is a floating point number in the range of 0.5 to 1.2; Specifically, the number of core threads ,in, θ It is the preset single-thread load threshold, a floating point number ranging from 0.5 to 1.2.

[0047] For example, assuming that the total weight of all nodes to be initialized is 8.5, the preset single-thread load threshold θ 0.8, the number of core threads =Round up(8.5 / 0.8) =Round up(10.625) =11.

[0048] S560: Set the maximum number of threads to the product of the number of core threads and the elastic expansion coefficient, where the elastic expansion coefficient is greater than or equal to 1.5.

[0049] Specifically, the maximum number of threads ,in, α is the elastic expansion coefficient, α ≥1.5.

[0050] For example, assuming the elastic expansion coefficient α When 1.8 is selected, the maximum number of threads =11×1.8=19.8 20.

[0051] This embodiment dynamically allocates thread resources through weights, making thread resource allocation 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, so that high-complexity tasks and low-performance devices can obtain matching thread resources, thereby improving overall throughput and reducing latency, and avoiding the thread starvation problem caused by simply allocating resources based on the number of nodes.

[0052] In one embodiment, the thread pool is used to initialize each node ID key-value pair in the job flow package, including: determining all the node IDs to be initialized contained in the job flow package based on the node ID key-value pair; encapsulating each of the node IDs to be initialized into an initialization task; submitting the initialization task to a preconfigured thread pool for execution; when each initialization task is executed, loading the initialization logic of the corresponding node ID, and performing the node initialization operation, which includes parameter verification, resource pre-allocation, or generating a unique execution instance ID for the node.

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

[0054] In one embodiment, after the node name key-value pairs in the relevant node information are converted to node ID key-value pairs, the present application initializes a decrement counter. The decrement counter enables the main thread to synchronously wait for parallel initialization tasks, ensuring that all tasks are completed before executing subsequent logic. Before forwarding tasks to the thread pool, a list abstract data structure implemented using a copy-on-write mechanism is constructed to store exception information thrown by tasks executed in each thread in a multi-threaded environment. The thread pool uses a thread configuration with 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 task enters a blocking queue. When initializing a specific job, the corresponding business information processor is first obtained based on the business ID. The business information processor calls the interface responded by the business system and queries the specific business parameters based on the business ID as the business parameters for job execution. The job domain object is then created. The task domain object includes the workshop ID, job package ID, business ID, business service name, and business parameters, and the job is then persisted. After each job is initialized, the decrement counter is decremented by 1. When the decrement counter reaches 0, it indicates that all jobs have been initialized and the job package is returned.

[0055] This application uses a thread pool to concurrently process the initialization tasks corresponding to each business ID, starts a new thread for each business ID, executes the initialization method of the job service, obtains business data and creates a job record in the database.

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

[0057] Existing technologies initialize business IDs one by one, resulting in a total time consumption of ≈ single task time × number of tasks. For example, 10 business IDs, each taking 1 minute, = total time consumption = 10 minutes. However, this application uses a dynamically calculated number of threads (e.g., number of core threads = 5), resulting in a total time consumption of ≈ single batch time × number of batches. For example, 10 tasks are divided into 2 batches (5 tasks / batch), resulting in a total time consumption of ≈ 2 minutes (a 5-fold 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. Furthermore, a preset single-thread load threshold θ is used to control single-thread utilization (CPU utilization reaches 78±3% when θ = 0.8). An elastic scaling factor (α = 1.8) ensures throughput under bursty loads, dynamically scaling the maximum number of threads to 20 (11 core threads × 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 execution time does not exceed 1.5 times that of low-weight nodes (actual comparison: when uniform thread allocation is used, high-weight tasks may take up to 3 times as long).

[0058] For example, the batch SMS sending node specifically includes: SMS sending tasks can be split into multiple subtasks and submitted in batches to the thread pool's task queue. The thread pool dynamically allocates tasks based on the configured number of core threads and maximum threads, and executes these subtasks concurrently. After the send is completed, the thread returns to the thread pool to await the next task, avoiding the overhead of frequent thread creation and destruction. SMS sending tasks require multiple receipt queries based on the service ID and retry count. The thread pool can submit query tasks in batches and schedule execution at intervals.

[0059] Specifically, if Figure 3As shown, operators log in to the "Debt Transfer Management System" and, through the "Batch Upload" module, select an Excel file containing debt transfer information (a template provided by the system; required fields include: claim number, debtor name, ID number, transfer amount, creditor account number, and debt transfer date). The system automatically reads the uploaded file, extracts and parses the data. For example, it uses the Apache POI library to read Excel content, converts each row of data into JSON format, stores valid data in the database's "Debt Transfer Temporary Table," stores invalid data in the "Error Log Table," and generates a "Parsing Result Report." The system then calls core business interfaces to execute the key logic for debt transfer, reads valid data from the debt transfer temporary table, updates the results of each debt transfer to the "Debt Transfer Master Table," marks the "Processing Status" (success / failure), and generates a debt transfer certificate. For each successful debt transfer, the system automatically captures a screenshot of the "Debt Transfer Details Page" (including the debt transfer certificate, operation time, and operator information) and stores it in a designated location (such as a file server) to maintain visual evidence of the debt transfer operation and meet regulatory requirements. The system extracts the debtor's mobile phone number from the records of successful debt-to-asset swaps and sends batch SMS notifications (containing debt-to-asset information, contact information, etc.) to promptly inform the debtor of the debt-to-asset swap status and improve information transparency. The system calls the SMS service provider interface and periodically crawls the receipt status of SMS messages (such as "successfully delivered," "undelivered," and "out of service") to confirm the validity of SMS notifications and provide a basis for subsequent follow-up (such as resending SMS messages in the event of non-delivery). The system summarizes data from the entire process (such as the number of successful / failed debt-to-asset swaps, SMS delivery rate, and error logs) and generates a task report (such as in PDF format). This task report may include: task overview (upload batch, processing time); debt-to-asset results statistics (number of successful / failed transactions and reasons); SMS sending status statistics (delivery rate, reasons for non-delivery); and a list of stored screenshots (paths and thumbnails).

[0060] Each step in the above embodiment relies on the results of the previous step. For example, debt transfer is initiated only after successful analysis, and screenshots are taken only after successful initiation, ensuring process integrity. This embodiment meets regulatory requirements for traceability of debt transfers through "screenshot evidence" and "SMS receipts." From analysis to notification, the system automatically executes the entire process, reducing manual intervention and improving efficiency.

[0061] This application uses a thread pool to concurrently process debt-to-SMS transactions, which not only reduces sending delays but also optimizes system resource utilization, avoiding resource waste caused by a large number of concurrent requests.

[0062] The job flow package initialization method provided in this application can realize efficient and intelligent job flow package initialization, realize batch processing of multiple business tasks, improve the management efficiency and coordination of job tasks, optimize the data processing process, and meet the efficient operation requirements of the robotic process automation system in complex business scenarios of enterprises.

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

[0064] Another exemplary embodiment of the present application also provides a method for initializing a job flow package, such as Figure 4 As shown, the method includes: S600: receiving a job flow package initialization request including a target workshop identifier; S700: Acquire workshop information and associated main pipeline configuration information based on the target workshop identifier; S800: Acquire relevant node information based on the ID configured in the main pipeline, and convert the node name key-value pair in the relevant node information into a node ID key-value pair; S900: creating a job flow package based on the node ID key-value pair, and storing the job flow package in a database; S1000: Utilizing a thread pool to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package.

[0065] In this embodiment, steps 600 to 1000 are similar to the above-mentioned steps 100 to 500 and are not described in detail here.

[0066] S1100: updating the start time of the initialized job flow package according to the initialized job flow package, and synchronizing the update to the database.

[0067] The job flow package initialization method provided in this application can realize efficient and intelligent job flow package initialization, realize batch processing of multiple business tasks, improve the management efficiency and coordination of job tasks, optimize the data processing process, and meet the efficient operation requirements of the robotic process automation system in complex business scenarios of enterprises.

[0068] In an exemplary embodiment of the present application, a job flow package initialization system is provided, such as Figure 5 As shown, the system includes: An information acquisition module 1 is used to receive a job flow package initialization request including a target workshop identifier and to obtain workshop information and associated mainstream pipeline configuration information based on the target workshop identifier; a job flow package creation module 2 is connected to the information acquisition module 1 and is used to obtain relevant node information based on the ID of the mainstream pipeline configuration, and to convert the node name key-value pairs in the relevant node information into node ID key-value pairs and to create a job flow package based on the node ID key-value pairs, and to store the job flow package in a database; a job flow package initialization module 3 is connected to the job flow package creation module 2 and is used to use a thread pool to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package.

[0069] The job flow package initialization system provided in this application can realize efficient and intelligent job flow package initialization, realize batch processing of multiple business tasks, improve the management efficiency and coordination of job tasks, optimize data processing processes, and meet the efficient operation requirements of robotic process automation systems in complex business scenarios of enterprises.

[0070] Each module in the aforementioned job flow package initialization system can be implemented in whole or in part through software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in an electronic device in hardware form, or can be stored in a memory in the electronic device in software form, so that the processor can call and execute the corresponding operations of each module.

[0071] In an exemplary embodiment, this embodiment also provides an electronic device, including a memory and a processor, wherein the memory stores a program that can be run on the processor, and when the program is executed by the processor, the electronic device implements any one of the methods in the above embodiments.

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

[0073] 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. During implementation, each step of the above-described method embodiment can be completed by hardware integrated logic circuits in the processor or by software instructions. The above-described 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 device. The methods, steps, and logic block diagrams disclosed in this embodiment can be implemented or executed. 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 and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is located in the memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above-described method.

[0074] 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 solution of the present application, and does not constitute a limitation on the electronic device to which the solution of 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 a different component arrangement.

[0075] In an exemplary embodiment, this embodiment further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0076] In an exemplary embodiment, this embodiment further provides a computer program product, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

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

[0078] Those skilled in the art will understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile memory and volatile memory. Non-volatile memory may 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 may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to these.

[0079] The job flow package initialization method, system, electronic device and computer program product provided in this application can realize efficient and intelligent job flow package initialization, realize batch processing of multiple business tasks, improve the management efficiency and coordination of job tasks, optimize the data processing process, and meet the efficient operation requirements of the robotic process automation system in complex business scenarios of enterprises.

[0080] The above embodiments are merely illustrative of the principles and effects of this application and are not intended to limit this application. Anyone skilled in the art may modify or alter the above embodiments without departing from the spirit and scope of this application. Therefore, all equivalent modifications or alterations made by one of ordinary skill in the art without departing from the spirit and technical concepts disclosed in this application shall be covered by the claims of this application.

Claims

1. A method for initializing a job flow package, characterized in that: The method comprises: receiving a job flow package initialization request including a target workshop identifier; Acquire workshop information and associated main pipeline configuration information based on the target workshop identifier; Obtain relevant node information based on the ID configured in the main pipeline, and convert the node name key-value pairs in the relevant node information into node ID key-value pairs; Creating a job flow package based on the node ID key-value pair, and storing the job flow package in a database; A thread pool is used to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package.

2. The method according to claim 1, characterized in that Before the thread pool is used to initialize each node ID key-value pair in the job flow package, the method includes: The total number of nodes included in the current job flow package is obtained, and when the total number of nodes exceeds a specified threshold, the number of core threads and the maximum number of threads in the thread pool are dynamically adjusted according to the total number of nodes.

3. The method according to claim 2, characterized in that The dynamically adjusting the number of core threads and the maximum number of threads in the thread pool according to the total number of nodes includes: Load historical initialization task execution data and obtain a mapping table between node type and average time consumption; Identify the node type of the node to be initialized according to the node ID key-value pair; Based on the mapping relationship table, determine the initialization time-consuming weight value corresponding to each node type; Calculate the total weight value of all nodes to be initialized, which is the cumulative sum of the weight values ​​of all nodes; Divide the total weight value by a preset single-thread load threshold, and round up the resulting quotient to obtain the number of core threads, wherein the single-thread load 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 number of core threads and the elastic expansion coefficient, where the elastic expansion coefficient 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: Determine all to-be-initialized node IDs contained in the job flow package according to the node ID key-value pair; Encapsulate each of the to-be-initialized node IDs into an initialization task; Submitting the initialization task to a preconfigured thread pool for execution; When each initialization task is executed, the initialization logic of the corresponding 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 acquiring relevant node information based on the ID configured in the main pipeline and converting the node name key-value pairs in the relevant node information into node ID key-value pairs includes: Input or locate the unique configuration ID of the target main pipeline through the interface or management interface provided by the system, load the corresponding configuration data from the node configuration service according to the ID of the main pipeline configuration through the database query method, parse the configuration data, extract the information of all relevant nodes, and form a node information list; Based on the ID of the main pipeline configuration, a preset node mapping table is obtained from a database or a distributed cache, wherein the mapping table includes a correspondence between node names and node IDs.

6. The method according to claim 1, characterized in that Before creating a job flow package based on the node ID key-value pair, the method includes: Parsing the initialization dependency relationship between nodes in the node ID key-value pair; Generate a dynamic dependency topology graph based on the parsed dependency relationships, where nodes are represented as topological vertices and dependency relationships are represented as directed edges; Dividing the topology graph into layers and determining the depth value of each node; The nodes are grouped based on the depth value, a group tag identifier is generated for each parallel group, and a key-value pair of node ID within the group is associated.

7. The method according to claim 1, characterized in that The acquiring of workshop information and associated mainstream pipeline configuration information based on the target workshop identifier includes: According to the target workshop identifier, query and obtain the workshop information from a database or a configuration center; the workshop information at least includes a workshop ID; Based on the workshop ID in the workshop information, the associated main pipeline configuration ID is queried from the pipeline configuration association table; based on the main pipeline configuration ID, the main pipeline configuration information is obtained from the pipeline configuration table.

8. 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 the update to a database.

9. A job flow package initialization system, characterized in that: The system comprises: An information acquisition module, configured to receive a job flow package initialization request including a target workshop identifier and acquire workshop information and associated main pipeline configuration information based on the target workshop identifier; a job flow package creation module connected to the information acquisition module, configured to acquire relevant node information based on the ID of the main pipeline configuration, convert the node name key-value pairs in the relevant node information into node ID key-value pairs, create a job flow package based on the node ID key-value pairs, and store the job flow package in a database; The job flow package initialization module is connected to the job flow package creation module and is used to use a thread pool to initialize each node ID key-value pair in the job flow package to obtain an initialized job flow package.

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

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

Citation Information

Patent Citations

  • Banking transaction workflow engine system

    CN111724144A

  • Process data synchronization method, device and equipment for workflow

    CN112685499A

  • Multi-thread data processing method and device, electronic equipment and storage medium

    CN116382857A

  • Method and device for adjusting thread resources

    CN117573313A

  • Multi-thread management method based on task orchestration and related equipment thereof

    CN118012588A