An auditing work order intelligent scheduling system for enterprise network bank U disk centralized management and control
Patent Information
- Application Number
- CN202611296281.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-25
- Publication Date
- 2026-10-27
AI Technical Summary
[0008]本发明提供一种面向企业网银U盾集中管控的审核工单智能调度系统,解决现有技术终端调度效率低的问题
1.通过任务调度模块对同账户下处于会话保持状态的作业实例进行检测与追加,配合作业执行引擎对任务队列的动态插入管理,使得同一网银账户在短时间内提交的多笔工单能够共享一次登录会话,避免了传统模式下重复执行网银登录、登出操作所带来的大量无效等待与会话开销,显著提升了作业执行效率,节约了终端与网络资源。
Smart Images

Figure CN122988998A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of financial technology, and in particular relates to an intelligent scheduling system for auditing work orders with centralized management of corporate online banking USB tokens. Background Technology
[0002] In the context of supply chain finance fund flow transparency supervision, financial institutions need to centrally manage the online banking USB tokens of financing companies, using automated terminals to simulate manual operations such as online banking login, transfer review, and transaction monitoring. However, existing automated online banking operation and scheduling models have the following technical shortcomings: I. Terminal resource shortage and bottleneck of serial task execution. The number of automated operation terminals is limited, and the entire process of online banking login, page loading, and review execution takes a long time. When transfer requests from the same online banking account come in randomly, the traditional serial execution mode is prone to causing a backlog of review tasks, and high-time-sensitive work orders cannot be prioritized, making it difficult to meet the high-frequency and urgent fund review needs of enterprises.
[0003] Second, repeated logins lead to severe resource consumption. When the same online banking account submits multiple transfer review work orders within a short period of time, the system will create independent jobs and repeatedly execute online banking login and logout operations, generating a large amount of invalid waiting and session overhead, significantly reducing job execution efficiency and causing waste of terminal and network resources.
[0004] 3. Conflicts and resource contention among multiple task types. Transfer approval tasks and routine automated tasks such as transaction flow inspection, automatic reconciliation, and receipt collection are initiated independently and repeatedly, competing for terminal resources and online banking sessions. They cannot be combined for execution within a single login session, resulting in extremely low system resource utilization.
[0005] Fourth, the progress of work orders is not transparent. Enterprises cannot check the status of work orders, the current execution stage, the number of orders pending review, the number of orders already reviewed, and the queue status themselves. This severe information asymmetry directly affects the efficiency of enterprise fund operation arrangements and business decision-making.
[0006] Fifth, rigid processes result in poor scalability and reusability. Online banking automation operations are not modularized and encapsulated according to atomic capabilities. Different business scenarios require repeated development of complete execution processes, resulting in high system redundancy, high maintenance costs, and difficulty in quickly adapting to the expansion needs of multiple banks, multiple accounts, and multiple business models.
[0007] The core technical cause of the above problems lies in the lack of key capabilities such as job session reuse, combined execution of tasks under the same account, real-time synchronization of job progress, and intelligent priority scheduling of terminals, which makes it impossible to achieve efficient, low-consumption, transparent, stable, and high-concurrency automated execution of online banking audit work orders under limited hardware resources. Summary of the Invention
[0008] This invention provides an intelligent scheduling system for auditing work orders with centralized management of enterprise online banking USB tokens, solving the problem of low terminal scheduling efficiency in existing technologies.
[0009] The basic solution provided by this invention is: an intelligent scheduling system for centralized management of enterprise online banking USB tokens, comprising: The work order acceptance terminal is used to receive work orders submitted by enterprises for review and send the review work orders to the backend server. It is also used to provide real-time query and display of work order processing progress, processing results and reasons for failure. The backend server is connected to the work order receiving terminal via network and includes a task scheduling module, a process operation guidance library, a job execution engine, and a job execution monitoring module. The task scheduling module is used to generate standardized audit tasks based on audit work orders, to determine the priority of audit tasks, to detect whether there is a job instance under the same account that is in session persistence state for the current audit task, and if there is, to add the current audit task to the task queue of the corresponding job instance; if there is, to create a new job instance and call the process job guidance library to form a complete execution link, to allocate an execution terminal and send the complete execution link and job instance to the job execution engine. The process operation guidance library is used to store and manage several atomic sub-processes, which are used to support automated online banking operations for different business types. The job execution engine is used to receive and execute job instances, generate online banking automated operation instructions by calling the complete execution chain carried in the job instance; it is also used to continuously receive new tasks for the same online banking account added by the task scheduling module while the job is in session hold state, insert the new tasks into the task queue of the corresponding job instance, and determine the insertion position of the new tasks in the task queue according to the task priority. The job execution monitoring module is used to obtain the operation results of the execution terminal and the progress data of the job execution engine, generate monitoring logs based on the obtained data, and push them to the work order acceptance terminal. The execution terminal is connected to the backend server via the network. It is used to receive operation instructions issued by the job execution engine, drive the U-shield to complete key confirmation and certificate signing operations according to the operation instructions, execute simulated input to complete online banking page operations, and return the operation results to the job execution engine and the job execution monitoring module respectively.
[0010] Preferably, in the task scheduling module, the priority determination strategy is as follows: a weighted score is calculated based on the timeliness level, transfer amount, and credit rating of the work order submitting enterprise in the review task, and the tasks are divided into four priority levels from high to low according to the score results. High priority tasks are executed first in the task queue.
[0011] More preferably, the execution terminal allocation strategy is as follows: The system obtains the real-time status and bank compatibility attributes of each execution terminal. Based on the real-time status, it filters execution terminals that are idle and compatible with the online banking system corresponding to the job instance. Using the minimum load priority algorithm, it selects the execution terminal with the lowest current load as the target terminal from the filtering results. The real-time status includes idle, running, and offline.
[0012] More preferably, the bank adaptation attribute is determined by the U-shield driver type and online banking operation script set deployed on the execution terminal; The minimum load priority algorithm is as follows: count the current task queue length of each execution terminal, and select the execution terminal with the shortest task queue length as the target terminal.
[0013] Preferably, the atomized sub-processes include: online banking login sub-process, verification code processing sub-process, transaction query sub-process, pending data loading sub-process, transfer review sub-process, U-shield authorization sub-process, and result feedback sub-process.
[0014] Preferably, the job execution engine is used to enter a session hold state after the job starts and the online banking login is completed, and to perform a closing action and generate an online banking logout instruction when the task queue is empty and the idle time exceeds a preset threshold.
[0015] More preferably, the job execution engine is used to collect the current execution status, the number of pending processes, the number of completed processes, the processing results and abnormal information when executing each atomic subprocess, and report them to the job execution monitoring module.
[0016] More preferably, the preset threshold is set according to the historical transaction frequency of the online banking account, and is used to reset the idle timer to extend the session validity time each time a new task from the same account is received; after closing the door, the online banking session, the U-shield occupation, and the terminal computing resources are released.
[0017] More preferably, the execution terminal allocation strategy further includes: The system obtains the heartbeat interruption time of the execution terminal. If the heartbeat interruption time exceeds the preset time threshold, the unfinished job will be automatically migrated to another available terminal.
[0018] The principles and advantages of this invention are as follows: 1. By using the task scheduling module to detect and add job instances in session persistence under the same account, and in conjunction with the job execution engine to dynamically insert and manage the task queue, multiple work orders submitted by the same online banking account in a short period of time can share a single login session. This avoids the large amount of invalid waiting and session overhead caused by repeatedly performing online banking login and logout operations in the traditional mode, significantly improving job execution efficiency and saving terminal and network resources.
[0019] 2. Prioritize review tasks. The job execution engine determines the insertion position of new tasks in the task queue based on task priority, so that high-time-sensitive work orders can be processed first, effectively avoiding the backlog of review tasks and meeting the high-frequency and urgent fund review needs of enterprises.
[0020] 3. Based on the modular invocation of atomic sub-processes in the workflow guidance library and the scalable append capability of the job instance task queue, transfer review tasks and routine automated tasks such as transaction flow inspection, automatic reconciliation, and receipt collection can be merged and executed within a single login session. This fundamentally eliminates the problem of each other competing for terminal resources and online banking sessions, greatly improving system resource utilization. The online banking automated operations are modularly split and encapsulated according to atomic capabilities, and the job execution engine dynamically invokes based on the complete execution link. This eliminates the need to repeatedly develop complete execution processes for different business scenarios, significantly reducing system redundancy and maintenance costs, and enabling rapid adaptation to the expansion needs of multiple banks, multiple accounts, and multiple business forms.
[0021] 4. The system acquires the operation results of the execution terminal and the progress data of the job execution engine in real time, generates monitoring logs and pushes them to the work order acceptance terminal. Enterprise users can check the work order acceptance status, current execution stage, number of pending approvals, number of approved approvals and queuing status themselves, which effectively supports the efficiency of enterprise fund operation arrangements and business decision-making. Attached Figure Description
[0022] Figure 1 This is a system logic block diagram of the present invention; Figure 2 This is a flowchart of the audit work order execution process for the present invention; Figure 3 This is a schematic diagram illustrating the real-time synchronization of the review work order progress according to the present invention. Detailed Implementation
[0023] The following detailed description illustrates the specific implementation method: The specific implementation process is as follows: (See details) Figures 1 to 3 A smart scheduling system for auditing work orders, designed for centralized management of enterprise online banking USB tokens, includes: a work order acceptance terminal, a back-end server, and an execution terminal.
[0024] The work order acceptance terminal is used to receive work orders submitted by enterprises for review and send the reviewed work orders to the backend server. It is also used to provide real-time query and display of work order processing progress, processing results and reasons for failure.
[0025] The work order acceptance terminal adopts a B / S architecture web page or mobile app. Enterprise users can access the work order submission page through a browser or enter the work order submission interface through a mobile app.
[0026] The work order processing terminal provides a work order form, in which enterprise users fill in business elements such as payment account, payee information, transfer amount, purpose of funds, and expected completion time. After the enterprise user clicks submit, the work order processing terminal performs a completeness check on the form information. If the check passes, a unique work order ID is generated, and the work order status is initialized to "pending processing". Subsequently, the standardized work order object is sent to the task scheduling module of the backend server via the HTTPS protocol.
[0027] The work order processing terminal also establishes a long-lived connection with the backend server via the WebSocket protocol to receive real-time data such as work order processing progress, processing results, and failure reasons pushed by the backend server, and displays this data visually on the front-end page or App interface. Enterprise users can query the current execution status, number of processed, number of pending, and failure reasons of work orders at any time by work order ID.
[0028] The backend server is connected to the work order receiving terminal via the network and includes a task scheduling module, a process operation guidance library, an operation execution engine, and an operation execution monitoring module.
[0029] The task scheduling module includes a task generation submodule, a priority calculation submodule, a job management submodule, and an execution terminal allocation submodule. The task generation submodule is used to generate standardized review tasks based on the review work order. Specifically, after receiving the work order object sent by the work order receiving terminal, it parses the business parameters in the review work order, extracts the unique identifier of the online banking account, the transfer amount, the timeliness level and the enterprise ID, and generates a standardized review task object.
[0030] The priority calculation submodule is used to determine the priority of the review task; The priority determination strategy is as follows: a weighted score is calculated based on the timeliness level, transfer amount, and credit rating of the submitting company in the review task. The tasks are then divided into four priority levels from high to low according to the score results, and high-priority tasks are executed first in the task queue.
[0031] Specifically, timeliness level parameters are extracted from the review tasks. The timeliness level is determined by the expected completion time filled in the work order. In this embodiment, the expected completion time within 1 hour is marked as "urgent", with a corresponding timeliness level weight of 1.0; the expected completion time within 4 hours is marked as "normal", with a corresponding timeliness level weight of 0.6; the expected completion time within 24 hours is marked as "general", with a corresponding timeliness level weight of 0.3; and the expected completion time exceeding 24 hours is marked as "lenient", with a corresponding timeliness level weight of 0.1.
[0032] Extract the transfer amount from the audit task; parameters. Transfers over 1 million yuan are marked as "large amount" with a weight of 1.0; transfers between 100,000 and 1 million yuan are marked as "medium amount" with a weight of 0.6; transfers under 100,000 yuan are marked as "small amount" with a weight of 0.3.
[0033] The system retrieves the credit rating of the submitting company from the bank database using the company ID as the index. The credit rating is divided into three levels: A, B, and C, which correspond to credit weights of 1.0, 0.6, and 0.3, respectively.
[0034] A comprehensive score is calculated based on timeliness level, monetary value weight, and corporate credit weight: Overall score = Timeliness level weight × α + Amount weight × β + Enterprise credit weight × γ; After calculating the comprehensive score, the scores are divided into four priority levels from high to low. The level division strategy is as follows: scores of 0.8 or above are marked as P0 (highest priority, urgent); scores of 0.6 to 0.8 are marked as P1 (high priority, normal); scores of 0.4 to 0.6 are marked as P2 (medium priority, inspection); and scores below 0.4 are marked as P3 (low priority, reconciliation).
[0035] In this embodiment, a transfer review work order submitted by a company is used as an example for specific explanation. In this work order, the company filled in the expected completion time as 30 minutes (i.e., within 1 hour), and the timeliness level is marked as "urgent," with a corresponding timeliness level weight of 1.0; the transfer amount is 2 million yuan (i.e., more than 1 million yuan), and the amount level is marked as "large amount," with a corresponding amount weight of 1.0; the company's credit rating is found to be A, with a corresponding company credit weight of 1.0. The comprehensive score is calculated based on the timeliness level, amount weight, and company credit weight: Comprehensive score = Timeliness level weight × 0.6 + Amount weight × 0.3 + Company credit weight × 0.1 = 1.0. The score result is 1.0, which falls into the range above 0.8. Therefore, this review task is classified as P0 level (highest priority, urgent). When this task is inserted into the task queue, it will be directly inserted at the head of the queue for priority execution.
[0036] The job management submodule is used to detect whether there is a job instance under the same account that is in session persistence state for the current review task. If it exists, the current review task is added to the task queue of the corresponding job instance. If it does not exist, a new job instance is created and the process job guidance library is called to form a complete execution link.
[0037] Using the unique identifier of the online banking account as an index, query whether there are any job instances under the same account that are in a session-keep state (i.e., "not closed") in the current system. The specific query method is to perform a hash match query in the system's job instance cache table using the account identifier as the key.
[0038] If a job instance in a session-persistent state is found, the task scheduling module will append the current review task to the task queue of that job instance. During appending, the insertion position is determined based on the task's priority: if the task has priority P0, it is inserted at the head of the task queue; if the task has priority P1, P2, or P3, it is appended to the tail of the task queue.
[0039] The execution terminal allocation submodule is used to allocate execution terminals and send the complete execution chain and job instance to the job execution engine.
[0040] The execution terminal allocation strategy is as follows: The system acquires the real-time status and bank compatibility attributes of each execution terminal. Based on the real-time status, it filters execution terminals that are idle and compatible with the online banking system corresponding to the job instance. Using a minimum load priority algorithm, it selects the execution terminal with the lowest current load from the filtering results as the target terminal. The real-time status includes idle, running, and offline. The bank compatibility attributes are determined by the type of U-shield driver deployed on the execution terminal and the online banking operation script set.
[0041] The minimum load priority algorithm is as follows: Calculate the current task queue length of each execution terminal, and select the execution terminal with the shortest task queue length as the target terminal. The task queue length refers to the sum of all tasks currently being executed and waiting to be executed on that terminal. If multiple execution terminals have the same task queue length, one of them is randomly selected as the target terminal.
[0042] The execution terminal allocation strategy also includes: The system obtains the heartbeat interruption time of the execution terminal. If the heartbeat interruption time exceeds a preset time threshold, the terminal is determined to have malfunctioned. Any unfinished job instances on that terminal are automatically migrated to other idle execution terminals with matching bank compatibility attributes, and then re-issued for execution. In this embodiment, the preset time threshold is 30 seconds.
[0043] The execution terminal allocation submodule packages the complete execution chain and job instance, and sends it to the job execution engine of the target terminal via TCP / IP protocol.
[0044] The process operation guidance library is used to store and manage several atomic sub-processes, which are used to support the automated operation of online banking for different business types. Each atomic sub-process is the smallest indivisible execution unit in the entire online banking process, containing the execution logic and operation instruction generation rules required to complete an independent online banking operation.
[0045] The atomized sub-processes include: online banking login sub-process, verification code processing sub-process, transaction query sub-process, pending data loading sub-process, transfer review sub-process, U-shield authorization sub-process, and result feedback sub-process.
[0046] When the task scheduling module requests the formation of a complete execution chain, the process job guidance library dynamically selects the corresponding sub-processes from the aforementioned atomic sub-processes based on the business scenario type and arranges them in order to form a complete execution chain. For example, for the transfer review business scenario, the process job guidance library selects and combines the following sub-processes in sequence: login sub-process → data loading sub-process → transfer review sub-process → U-shield authorization sub-process → result feedback sub-process. For the flow inspection business scenario, the process job guidance library selects and combines the following sub-processes in sequence: login sub-process → transaction query sub-process → result feedback sub-process.
[0047] The job execution engine is used to receive and execute job instances, generate online banking automation operation instructions by calling the complete execution chain carried in the job instance; it is also used to continuously receive new tasks for the same online banking account added by the task scheduling module while the job is in session hold state, insert the new tasks into the task queue of the corresponding job instance, and determine the insertion position of the new tasks in the task queue according to the task priority.
[0048] The job receiving and execution link parsing submodule is used to receive job instances and complete execution links issued by the task scheduling module. After receiving, the job execution engine parses the execution link and stores the atomic sub-processes in the link into the execution queue of the job instance in sequence.
[0049] The job execution engine is used to enter a session-keeping state after the job starts and completes online banking login. When the task queue is empty and the idle time exceeds a preset threshold, it executes a closing action and generates an online banking logout command. Specifically, after the job starts, the job execution engine first calls the login sub-process in the execution chain to complete the online banking login. After successful login, the job execution engine enters a session-keeping state (i.e., "not closed" state) and starts an idle timer with an initial count value of 0.
[0050] During the session persistence period, the job execution engine continuously monitors the task scheduling module to see if any new tasks for the same online banking account are added.
[0051] Upon receiving a new task, the job execution engine inserts it into the task queue of the job instance, determining the insertion position based on the task's priority: if the new task has a priority of P0, it is inserted at the head of the task queue; if the new task has a priority of P1, P2, or P3, it is appended to the tail of the task queue. After insertion, the job execution engine resets the idle timer, setting the count to zero.
[0052] When the task queue is empty, the idle timer continues to increment. When the idle timer accumulates to a preset threshold, the job execution engine triggers a closing action, executes the online banking logout sub-process, generates an online banking logout command, and releases the online banking session, USB key usage, and terminal computing resources.
[0053] The preset threshold is set based on the historical transaction frequency of the online banking account. Specifically, the system records the historical task arrival time interval for each online banking account and calculates the historical average task interval time for the account. The preset threshold = base threshold (30 seconds) × (account historical average task interval time / system global average task interval time). For accounts with high transaction frequency (short historical average task interval time), the preset threshold is shortened accordingly to quickly release terminal resources; for accounts with low transaction frequency (long historical average task interval time), the preset threshold is extended accordingly to wait for new tasks that may be merged for execution. The minimum value of the preset threshold is not less than 10 seconds, and the maximum value is not more than 120 seconds. At the same time, the idle timer is reset each time a new task from the same account is received to extend the session validity time.
[0054] After the door is closed, the job execution engine releases the online banking session, U-shield, and terminal computing resources, and updates the terminal status to "idle" and reports it to the task scheduling module.
[0055] The job execution engine is used to collect the current execution status, pending quantity, completed quantity, processing result, and exception information when executing each atomic sub-process, and report them to the job execution monitoring module. When executing each atomic sub-process, the progress acquisition module collects the current execution status, including: the name of the currently executing sub-process, the current execution stage, the pending quantity in the task queue, the completed quantity, the number of successfully processed items, the number of failed processed items, and exception information.
[0056] The progress acquisition module employs an incremental reporting mechanism: it records the progress status of the last report, compares the current progress status with the last reported status, and only packages the data with discrepancies into a progress snapshot, which is then reported to the job execution monitoring module via an internal interface. This incremental reporting mechanism effectively reduces data transmission bandwidth and server-side processing pressure.
[0057] Operation command generation and issuance The job execution engine sequentially calls each atomic sub-process in the complete execution chain carried in the job instance. Each time an atomic sub-process is called, its internal execution logic is triggered. Based on its internally defined operation instruction generation rules, it generates a sequence of operation instructions recognizable by the underlying hardware, and sends these instructions to the terminal hardware resource layer of the execution terminal via the network. Operation instructions include, but are not limited to: mouse positioning instructions (including target coordinates), mouse click instructions (including click types: left-click, left-double-click, right-click), keyboard input instructions (including character sequences), and USB key control instructions (including instruction types: key confirmation, certificate signing).
[0058] The job execution monitoring module is used to obtain the operation results of the execution terminal and the progress data of the job execution engine, generate monitoring logs based on the obtained data, and push them to the work order acceptance terminal.
[0059] The preset threshold is set according to the historical transaction frequency of the online banking account. It is used to reset the idle timer to extend the session validity time when a new task from the same account is received. After closing the door, the online banking session, the U-shield, and the terminal computing resources are released.
[0060] Specifically, the job execution monitoring module receives two types of data: the first type is the progress snapshot data reported by the job execution engine, including the current execution status, the number of pending tasks, the number of completed tasks, the number of successfully processed tasks, the number of failed tasks, and the exception information; the second type is the raw operation result data fed back by the execution terminal, including the operation type, execution time, operation result code (success / failure / timeout / exception), and exception details.
[0061] The job execution monitoring module aggregates two types of data received: using the work order ID as the primary key, it associates and merges the progress data and operation results of the same work order to generate a complete execution record. Based on the aggregated data, the job execution monitoring module generates a monitoring log, which includes information such as: work order ID, task ID, terminal ID, execution time, time consumed at each stage, operation results, and exception codes.
[0062] The job execution monitoring module also pushes progress data to the work order receiving terminal in real time via the WebSocket protocol, allowing enterprise users to view the work order processing progress, processing results, and reasons for failure in real time.
[0063] The execution terminal is connected to the backend server via the network. It is used to receive operation instructions issued by the job execution engine, drive the U-shield to complete key confirmation and certificate signing operations according to the operation instructions, execute simulated input to complete online banking page operations, and return the operation results to the job execution engine and the job execution monitoring module respectively.
[0064] The execution terminal includes a terminal cluster, a U-shield control module, a simulation operation module, and a heartbeat reporting module. The simulation operation module includes an instruction parsing submodule and a simulation input submodule. The instruction parsing submodule receives operation instructions from the backend server, parses these instructions, and distributes them based on the parsing results. Specifically, the operation instructions include simulation instructions for simulating online banking operations and U-shield operation instructions for controlling the U-shield. Simulation instructions include mouse operation instructions and keyboard operation instructions. Mouse operation instructions include target coordinates and click types, such as left-click, left-double-click, and right-click. Keyboard operation instructions include character sequences. U-shield operation instructions include U-shield connection, certificate loading, signature initiation, certificate information reading, and U-shield confirmation (U-shield control instructions). The instruction parsing unit distributes instructions based on the parsing results: if it is a mouse or keyboard operation instruction, the parsing result is sent to the simulation input unit, enabling the physical computers in the terminal cluster to complete the mouse and keyboard operations involved in the various processes of online banking automation; if it is a U-shield operation instruction, the parsing result is forwarded to the U-shield control module.
[0065] The simulated input unit connects to the physical computer in the terminal cluster and simulates input signals from a standard mouse and keyboard device. In this embodiment, it can connect to the physical computer in the terminal cluster via a USB interface or a PS / 2 interface. Based on the parsing results output by the instruction parsing unit, the simulated input unit performs corresponding simulated operations on the physical computer: if it is a mouse operation instruction, it moves the mouse cursor to the target coordinates and performs the corresponding click action; if it is a keyboard operation instruction, it inputs the corresponding character sequence into the currently focused input box. After completing the operation, the simulated input unit returns the execution result (success or failure) to the job execution engine and job execution monitoring module of the backend server.
[0066] The terminal cluster comprises multiple physical computers, each connected to a backend server via a network. Each physical computer has an operating system, a browser, and a USB key driver installed, providing the runtime environment for loading and rendering online banking pages. Each physical computer in the terminal cluster is an independent execution unit, capable of processing tasks for different online banking accounts in parallel. The physical computers are independent of each other; a failure in one computer does not affect the normal operation of the others.
[0067] Each physical computer connects to the U-shield control module via a USB interface for data communication with the U-shield, including loading the U-shield certificate, initiating a signature request, and receiving the signature result; it also connects to the simulation operation module via an interface to receive simulation commands sent by the simulation operation module.
[0068] The USB key control module is used to manage and control the USB keys. The module includes a management controller, a USB key hub, and a push-button device. The management controller is communicatively connected to the USB key hub and the push-button device. The USB key control module maintains a list of USB keys operable by the terminal. This list includes a unique identifier for each USB key, its parent company information, current status (available), and busy status.
[0069] Specifically, the management controller receives the U-shield operation command from the simulation operation module, locates the target U-shield based on the U-shield identifier, and sends the U-shield operation command to the corresponding press-to-open device or physical computer according to a preset U-shield operation procedure. The U-shield operation procedure is as follows: connect the U-shield, load the certificate, initiate a signature, press the U-shield confirmation button, and read the signature result. Specifically, when the management controller receives the U-shield operation command, a connection is established between the physical computer and the U-shield. Specifically, a USB communication channel can be established, enabling the physical computer to recognize the U-shield through the USB driver. The command is transmitted to the target U-shield through the established USB communication channel. The U-shield performs the corresponding data operation and returns the result to the physical computer, completing the operations of connecting the U-shield, loading the certificate, initiating a signature, and reading the certificate information. Then, the management controller sends a press-to-open U-shield confirmation command to the press-to-open device, controlling the press-to-open device to complete the U-shield confirmation operation.
[0070] The integrated pressing device includes a USB security token slot, a mechanical pressing device, and a microcontroller. The USB security token slot is used to insert and secure the USB security token. The mechanical pressing device is positioned above the USB security token slot, corresponding to the physical confirmation key of the USB security token inserted in the slot, and is used to apply pressure to the physical confirmation key. The microcontroller is electrically connected to the USB security token slot and the mechanical pressing device, and is used to receive USB security token control commands from the management controller and drive the mechanical pressing device to operate. When performing a pressing operation, the microcontroller acquires the action completion signal of the mechanical pressing device and simultaneously receives the business confirmation signal returned by the USB security token (a signature completion signal sent by the USB security token chip after detecting that the user has pressed the physical confirmation key and completed the digital signature calculation). Based on the action completion signal and the business confirmation signal, the microcontroller determines the completion status information of the current control command (operation successful, operation failed, timeout without response, and mechanical device malfunction), and returns the completion status information to the simulation operation module through the management controller.
[0071] The heartbeat reporting module is connected to the terminal cluster and the U-shield control module, and is used to report the running status of the executing terminals to the task scheduling module of the backend server at a fixed frequency. The status reported by the heartbeat reporting module includes: the CPU utilization rate, memory utilization rate, current task queue length, currently executing work order ID and job status of each physical computer in the terminal cluster; and the presence and busy status of each U-shield in the U-shield control module. Specifically, the heartbeat reporting module sends heartbeat packets to the task scheduling module at a fixed frequency of 3 seconds. The task scheduling module updates the terminal status list in real time based on the heartbeat packet data, and is used to perform terminal allocation, load balancing and fault detection. The heartbeat reporting module is also used to proactively send alarm information to the backend server when abnormal status is detected. The abnormal status includes physical computer operating system crash or unresponsiveness, U-shield driver abnormality, online banking page loading timeout, U-shield control module communication interruption, and simulation operation module communication interruption.
[0072] The above are merely embodiments of the present invention. Commonly known structures and characteristics are not described in detail here. Those skilled in the art are aware of all common technical knowledge in the field prior to the application date or priority date, are aware of all existing technologies in that field, and have the ability to apply conventional experimental methods prior to that date. Those skilled in the art can, under the guidance of this application, improve and implement this solution in combination with their own capabilities. Some typical known structures or methods should not be obstacles for those skilled in the art to implement this application. It should be noted that those skilled in the art can make several modifications and improvements without departing from the structure of the present invention. These should also be considered within the scope of protection of the present invention, and will not affect the effectiveness of the implementation of the present invention or the practicality of the patent. The scope of protection claimed in this application should be determined by the content of its claims, and the specific embodiments described in the specification can be used to interpret the content of the claims.
Claims
1. A smart scheduling system for centralized management of enterprise online banking USB tokens, characterized in that, include: The work order acceptance terminal is used to receive work orders submitted by enterprises for review and send the review work orders to the backend server. It is also used to provide real-time query and display of work order processing progress, processing results and reasons for failure. The backend server is connected to the work order receiving terminal via network and includes a task scheduling module, a process operation guidance library, a job execution engine, and a job execution monitoring module. The task scheduling module is used to generate standardized audit tasks based on audit work orders, to determine the priority of audit tasks, to detect whether there is a job instance under the same account that is in session persistence state for the current audit task, and if there is, to add the current audit task to the task queue of the corresponding job instance; if there is, to create a new job instance and call the process job guidance library to form a complete execution link, to allocate an execution terminal and send the complete execution link and job instance to the job execution engine. The process operation guidance library is used to store and manage several atomic sub-processes, which are used to support automated online banking operations for different business types. The job execution engine is used to receive and execute job instances, generate online banking automated operation instructions by calling the complete execution chain carried in the job instance; it is also used to continuously receive new tasks for the same online banking account added by the task scheduling module while the job is in session hold state, insert the new tasks into the task queue of the corresponding job instance, and determine the insertion position of the new tasks in the task queue according to the task priority. The job execution monitoring module is used to obtain the operation results of the execution terminal and the progress data of the job execution engine, generate monitoring logs based on the obtained data, and push them to the work order acceptance terminal. The execution terminal is connected to the backend server via the network. It is used to receive operation instructions issued by the job execution engine, drive the U-shield to complete key confirmation and certificate signing operations according to the operation instructions, execute simulated input to complete online banking page operations, and return the operation results to the job execution engine and the job execution monitoring module respectively.
2. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 1, characterized in that: In the task scheduling module, the priority determination strategy is as follows: a weighted score is calculated based on the timeliness level, transfer amount, and credit rating of the work order submitting enterprise in the review task. The tasks are then divided into four priority levels from high to low according to the score results, and high-priority tasks are executed first in the task queue.
3. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 2, characterized in that: The execution terminal allocation strategy is as follows: The system obtains the real-time status and bank compatibility attributes of each execution terminal. Based on the real-time status, it filters execution terminals that are idle and compatible with the online banking system corresponding to the job instance. Using the minimum load priority algorithm, it selects the execution terminal with the lowest current load as the target terminal from the filtering results. The real-time status includes idle, running, and offline.
4. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 3, characterized in that: The bank compatibility attribute is determined by the U-shield driver type and online banking operation script set deployed on the execution terminal; The minimum load priority algorithm is as follows: count the current task queue length of each execution terminal, and select the execution terminal with the shortest task queue length as the target terminal.
5. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 1, characterized in that: The atomized sub-processes include: online banking login sub-process, verification code processing sub-process, transaction query sub-process, pending data loading sub-process, transfer review sub-process, U-shield authorization sub-process, and result feedback sub-process.
6. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 1, characterized in that: The job execution engine is used to enter a session hold state after the job starts and the online banking login is completed. When the task queue is empty and the idle time exceeds a preset threshold, it executes a door-closing action and generates an online banking logout command.
7. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 6, characterized in that: The job execution engine is used to collect the current execution status, number of pending processes, number of completed processes, processing results and exception information when executing each atomic subprocess, and report them to the job execution monitoring module.
8. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 6, characterized in that: The preset threshold is set according to the historical transaction frequency of the online banking account. It is used to reset the idle timer to extend the session validity time when a new task from the same account is received. After closing the door, the online banking session, the U-shield, and the terminal computing resources are released.
9. The intelligent scheduling system for centralized management of enterprise online banking USB tokens according to claim 3, characterized in that: The execution terminal allocation strategy also includes: The system obtains the heartbeat interruption time of the execution terminal. If the heartbeat interruption time exceeds the preset time threshold, the unfinished job will be automatically migrated to another available terminal.