Anti-money laundering system computing task scheduling method and device, equipment and storage medium

Through the combination of clustering algorithm and particle swarm algorithm, the task scheduling of the anti-money laundering system is optimized, and the problem of poor task scheduling in the existing technology is solved, achieving more efficient resource utilization and performance improvement.

CN119473557APending Publication Date: 2025-02-18AGRICULTURAL BANK OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411726786.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

The existing anti-money laundering system is poor in task scheduling, resulting in wasted computer resources and cannot meet the needs of high performance and high efficiency.

Method used

The anti-money laundering task and nodes are divided into calculation-intensive and storage-intensive subsets through clustering algorithms, and randomly allocate tasks to corresponding nodes to form multiple task scheduling schemes, and finally the target task scheduling scheme is obtained through particle swarm algorithm optimization.

Benefits of technology

It realizes more effective task allocation, rational use of computer resources, and improves the performance and efficiency of anti-money laundering systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119473557A_ABST
    Figure CN119473557A_ABST
Patent Text Reader

Abstract

The invention discloses an anti-money laundering system calculation task scheduling method and device, equipment and a storage medium, and relates to the technical field of finance, and the method comprises the steps: obtaining an anti-money laundering task set and a node set used for executing anti-money laundering tasks; dividing the anti-money laundering task set into a calculation-intensive task subset and a storage-intensive task subset through a clustering algorithm, and dividing the node set into a calculation-intensive node subset and a storage-intensive node subset through the clustering algorithm; the computing-intensive tasks in the computing-intensive task subsets are randomly allocated to computing-intensive nodes in the computing-intensive node subsets, and the storage-intensive tasks in the storage-intensive task subsets are randomly allocated to storage-intensive nodes in the storage-intensive node subsets. Forming a plurality of task scheduling schemes; and the particle swarm algorithm is executed based on the multiple task scheduling schemes to obtain the target task scheduling scheme, so that the performance of computer resources is exerted to a greater extent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of financial technology, and in particular to a method, device and storage medium for scheduling computing tasks in an anti-money laundering system. Background Art

[0002] Anti-money laundering is an important task to maintain national financial security and an important part of international financial governance. The FATF has formulated the 2012 version of international standards, including 40 recommendations and 11 effectiveness evaluation indicators, which put forward higher requirements for national laws and regulations, regulatory management and international cooperation. In order to adapt to the new situation of increasingly open financial systems and the full popularization of electronic payment channels, my country has accelerated the construction of the anti-money laundering system in the financial system, covering all major financial institutions such as domestic banks, securities companies, insurance and funds.

[0003] As one of the four major state-owned banks in China, the Agricultural Bank of China is an important policy-based financial institution of the country and also the main battlefield for anti-money laundering work. With the full deployment of electronic payment channels in my country, the new generation of core business systems of the Agricultural Bank of China has an average of 410 million transactions per day, and it is still growing; as an important downstream system of the core business system of the Agricultural Bank of China, the anti-money laundering system needs to complete the daily, monthly, quarterly and annual transaction data screening on time, and cooperate with the People's Bank of China to conduct irregular data summary and reporting, which has high requirements for program performance, task scheduling and exception handling strategies.

[0004] Scheduling algorithms are mainly divided into heuristic task scheduling algorithms and meta-heuristic scheduling algorithms based on random search. Among them, the heuristic task scheduling algorithm can be subdivided into list scheduling method, task repetition scheduling method and clustering method. The meta-heuristic scheduling algorithm can be subdivided into multiple types of meta-heuristic evolutionary algorithms such as genetic algorithm, ant colony algorithm, particle swarm algorithm, etc. This section selects some of them for introduction.

[0005] However, the above scheduling methods are not closely integrated with anti-money laundering scenarios. In different application scenarios, the types, performance and available time of computing nodes are different, and the characteristics of computing tasks are also different, which will affect the effects of different scheduling algorithms; it is impossible to obtain a good task scheduling effect, thus wasting computer resources. Summary of the invention

[0006] In view of this, the main purpose of this application is to provide an anti-money laundering system computing task scheduling method, device equipment and storage medium, with the aim of achieving maximum performance of computer resources.

[0007] The first aspect of the present application provides a method for scheduling computing tasks in an anti-money laundering system, the method comprising:

[0008] Obtain an anti-money laundering task set and a node set for executing anti-money laundering tasks;

[0009] The anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and the node set is divided into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm;

[0010] A plurality of task scheduling schemes are formed by randomly allocating computing-intensive tasks in the computing-intensive task subset to computing-intensive nodes in the computing-intensive node subset and randomly allocating storage-intensive tasks in the storage-intensive task subset to storage-intensive nodes in the storage-intensive node subset;

[0011] The particle swarm algorithm is executed based on multiple task scheduling schemes to obtain the target task scheduling scheme.

[0012] In some implementations of the first aspect of the present application, the anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, including:

[0013] Execute a first loop step until a comparison result of the first set of the current iteration with the first set of the previous iteration satisfies a first condition, and a comparison result of the second set of the current iteration with the second set of the previous iteration satisfies a second condition, wherein the first loop step is performed for at least two rounds;

[0014] The first cycle steps include:

[0015] Select two anti-money laundering tasks from the anti-money laundering task set as the first task center point and the second task center point respectively;

[0016] Respectively calculating the first distance to the center point of the first task and the second distance to the center point of the second task of the other anti-money laundering tasks in the anti-money laundering task set except the center point of the first task and the center point of the second task, so as to obtain the first distance and the second distance of each other anti-money laundering task;

[0017] Add other anti-money laundering tasks whose first distance is less than or equal to the second distance to the first set, and add other anti-money laundering tasks whose first distance is greater than the second distance to the second set;

[0018] Determine whether the comparison result of the first set of the current iteration and the second set of the previous iteration meets the first condition, and determine whether the comparison result of the second set of the current iteration and the second set of the previous iteration meets the second condition;

[0019] After the first loop step exits the loop, the time complexity and space complexity of each anti-money laundering task are calculated, and the mean of the time complexity of each anti-money laundering task in the first set is determined to be the first time mean, the mean of the space complexity of each anti-money laundering task in the first set is determined to be the first space mean, the mean of the time complexity of each anti-money laundering task in the second set is determined to be the second time mean, and the mean of the space complexity of each anti-money laundering task in the second set is determined to be the second space mean

[0020] Based on the first time mean, the second time mean, the first spatial mean, and the second spatial mean, a computationally intensive task subset and a storage intensive task subset are determined in the first set and the second set, respectively.

[0021] In some implementations of the first aspect of the present application, the nodes are divided into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm, including:

[0022] Perform a second loop step until a comparison result of the third set of the current iteration with the third set of the previous iteration satisfies a third condition, and a comparison result of the fourth set of the current iteration with the fourth set of the previous iteration satisfies a fourth condition, wherein the second loop step is performed for at least two rounds;

[0023] The second cycle steps include:

[0024] Select two nodes from the node set as the first central node and the second central node respectively;

[0025] Calculate the third distances of other nodes in the node set except the first central node and the second central node to the first central node, and the fourth distances to the second central node, respectively, to obtain the third distances and the fourth distances of other nodes;

[0026] Add other nodes whose third distance is less than or equal to the fourth distance to the third set, and add other nodes whose third distance is greater than the fourth distance to the fourth set;

[0027] Determine whether the comparison result of the third set of this round of iteration and the third set of the previous round of iteration meets the fifth condition, and determine whether the comparison result of the fourth set of this round of iteration and the fourth set of the previous round of iteration meets the fifth condition;

[0028] After the second loop step exits the loop, the time complexity and space complexity of each node are calculated, and the mean of the time complexity of each node in the third set is determined to be the third time mean, the mean of the space complexity of each node in the third set is determined to be the third space mean, the mean of the time complexity of each node in the fourth set is determined to be the fourth time mean, and the mean of the space complexity of each node in the fourth set is determined to be the fourth space mean;

[0029] Based on the third time mean, the fourth time mean, the third spatial mean, and the fourth spatial mean, a computationally intensive node subset and a storage intensive node subset are determined in the third set and the fourth set, respectively.

[0030] In some implementations of the first aspect of the present application, a particle swarm algorithm is executed based on multiple task scheduling schemes to obtain a target task scheduling scheme, including:

[0031] Building an initial particle swarm based on multiple task scheduling schemes, the initial particle swarm includes: multiple initial particles, the initial particles include a task scheduling scheme;

[0032] Perform weighted calculation on each initial particle of the initial particle group to obtain the total cost of each initial particle;

[0033] Execute the third loop step until the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition;

[0034] The third cycle steps include:

[0035] By randomly exchanging the computing-intensive nodes assigned to each computing-intensive task and the storage-intensive nodes assigned to each storage-intensive task in the target particle group of the previous iteration, a plurality of transition particle groups are generated; wherein, when the third loop step is executed for the first time, the target particle group of the previous iteration is the initial particle group;

[0036] Performing weighted calculation on each transition particle in the multiple transition particle groups to obtain the total cost of each transition particle, and obtaining multiple transition particles whose total costs meet the seventh condition from the multiple transition particle groups to form the target particle group of this round;

[0037] Determine whether the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition;

[0038] After exiting the loop in the third loop step, the optimal particle in the target particle swarm of the last iteration is determined, and the target task scheduling scheme is output based on the optimal particle.

[0039] In some implementations of the first aspect of the present application, the method further includes:

[0040] Obtain unexpected anti-money laundering tasks;

[0041] Obtain the computing time of each node in the node set to execute the sudden anti-money laundering task, so as to obtain the computing time of each node;

[0042] Get the memory space required to calculate the burst anti-money laundering tasks;

[0043] Traversing the nodes in the node set until it is determined that the currently traversed node meets the eighth condition based on the computing time of each node and the memory space required for the sudden anti-money laundering task;

[0044] The node satisfying the eighth condition is determined as the target node for executing the sudden anti-money laundering task.

[0045] In some implementations of the first aspect of the present application, the method further includes:

[0046] Obtain abnormal anti-money laundering tasks and handle abnormal anti-money laundering tasks;

[0047] The abnormal anti-money laundering tasks after the exception handling is completed will be treated as sudden anti-money laundering tasks.

[0048] In some implementations of the first aspect of the present application, the eighth condition includes:

[0049] The burst task completion time of the burst anti-money laundering task is greater than the sum of the earliest available time of the node and the node computing time; and the memory space required by the burst anti-money laundering task is less than the memory capacity of the node.

[0050] The second aspect of the present application provides a computing task scheduling device for an anti-money laundering system, the device comprising:

[0051] An acquisition module, used to acquire an anti-money laundering task set and a node set for executing the anti-money laundering task;

[0052] A classification module, used to divide the anti-money laundering task set into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and to divide the node set into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm;

[0053] an allocation module, configured to form a plurality of task scheduling schemes by randomly allocating computing-intensive tasks in the computing-intensive task subset to computing-intensive nodes in the computing-intensive node subset and randomly allocating storage-intensive tasks in the storage-intensive task subset to storage-intensive nodes in the storage-intensive node subset;

[0054] The scheduling module is used to execute the particle swarm algorithm based on multiple task scheduling schemes to obtain a target task scheduling scheme.

[0055] The third aspect of the present application provides an anti-money laundering system computing task scheduling device, which includes a memory and a processor, and the processor is used to execute the program stored in the memory and run any anti-money laundering system computing task scheduling method provided in the first aspect of the present application.

[0056] The fourth aspect of the present application provides a readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the various steps of the anti-money laundering system computing task scheduling method as provided in any one of the first aspects of the present application are implemented.

[0057] The technical solution provided by this application has the following beneficial effects:

[0058] In the technical solution provided in the present application, an anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and the node set is divided into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm, that is, the anti-money laundering tasks and nodes are divided into computing-intensive and storage-intensive; then, by randomly allocating the computing-intensive tasks in the computing-intensive task subset to the computing-intensive nodes in the computing-intensive node subset and randomly allocating the storage-intensive tasks in the storage-intensive task subset to the storage-intensive nodes in the storage-intensive node subset, a plurality of task scheduling schemes are formed, so that each task is allocated to a node of the same type; finally, a particle swarm algorithm is executed based on the above-mentioned plurality of task scheduling schemes to obtain a target task scheduling scheme, so as to reasonably allocate anti-money laundering computing tasks and maximize the performance of computer resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1 The Spring Boot ecosystem provided for this application embodiment;

[0060] Figure 2 A schematic diagram of the business process of the anti-money laundering system provided in the embodiment of the present application;

[0061] Figure 3 A flowchart of a method for scheduling computing tasks in an anti-money laundering system provided in an embodiment of the present application;

[0062] Figure 4 A flowchart of another method for scheduling computing tasks in an anti-money laundering system provided in an embodiment of the present application;

[0063] Figure 5 A flowchart of another method for scheduling computing tasks in an anti-money laundering system provided in an embodiment of the present application;

[0064] Figure 6 A schematic diagram of an encoding method for a task scheduling solution provided in an embodiment of the present application;

[0065] Figure 7 A flowchart of another method for scheduling computing tasks in an anti-money laundering system provided in an embodiment of the present application;

[0066] Figure 8A flowchart of another method for scheduling computing tasks in an anti-money laundering system provided in an embodiment of the present application;

[0067] Fig. 9 A schematic diagram of the structure of a computing task scheduling device for an anti-money laundering system provided in an embodiment of the present application;

[0068] Fig.10 A schematic diagram of the structure of a computing task scheduling device for an anti-money laundering system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0069] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0070] Glossary:

[0071] Anti-money laundering: Anti-money laundering is a measure to prevent and combat money laundering activities that conceal the source and nature of illegal income and its proceeds.

[0072] Anti-money laundering calculation task: also known as anti-money laundering task, the anti-money laundering calculation task in the anti-money laundering system refers to the screening of various transaction data in the bank's core business system according to pre-set rules and parameters, including transaction frequency, remittances, account life cycle and foreign exchange transactions, and generating early warnings based on suspicious data.

[0073] Burst tasks: These are computing tasks that need to be inserted into the calculation process of the current task but cannot be placed in the next batch due to time constraints.

[0074] Abnormal task processing: Abnormal tasks refer to tasks that fail to be processed due to incomplete upstream data, undiscovered program design defects, or occasional hardware abnormalities. Processing abnormal tasks requires releasing computing resources, saving intermediate calculation variables, and restarting the calculation of these tasks at an appropriate time.

[0075] Static task scheduling: Static task scheduling is usually performed before the system starts running. The input of the algorithm contains a list of all tasks and their respective running times. It is suitable for computing scheduling of time-triggered systems.

[0076] Dynamic task scheduling: Applicable to the design of event-triggered systems, which need to make adjustments based on external changes during operation and make scheduling decisions during program execution to select the next process to run; in terms of resource utilization, dynamic scheduling has greater potential than static scheduling.

[0077] Homogeneous computing and heterogeneous computing: Homogeneous computing is a computing method that uses computing units of the same type of instruction sets and architectures to form a system; heterogeneous computing is a computing method that uses computing units of different types of instruction sets and architectures to form a system.

[0078] DAG graph: Directed Acyclic Graph (DAG) is a commonly used abstract way of task scheduling, and its mathematical representation is: G = (V, E, W, C). In which, all nodes in the graph are represented by the set V, E is the set of all communication edges in the graph, W represents the weight of all tasks, and C represents the time for inter-core communication between the successor tasks. If the tasks are executed on the same processing core, the communication time is 0.

[0079] The embodiment of the present application is applied to an anti-money laundering system, and the system architecture of the anti-money laundering system may include a B / S architecture and a C / S architecture.

[0080] The characteristics of B / S architecture include:

[0081] (1) Easy to deploy and maintain: The B / S architecture does not require the installation of additional software on the client side. The server can be accessed with just a browser, which helps save costs and is convenient for customers to use.

[0082] (2) Easy to expand and integrate: B / S architecture can improve system performance and capacity by adding servers and load balancing to meet the rapid development and changes of business;

[0083] (3) Cross-platform and mobile: The B / S architecture takes advantage of the platform independence of the Web and can run on different operating systems and devices without having to consider cross-platform porting issues.

[0084] The characteristics of C / S architecture include:

[0085] (1) Strong interactivity: The C / S architecture can provide a rich user interface and functions, support multiple input and output methods, and achieve efficient interaction between users and the system;

[0086] (2) High security: The C / S architecture can implement user identity authentication and permission control, protect data security and integrity, and prevent illegal access and tampering;

[0087] (3) Low network traffic: The C / S architecture can reduce the amount of data transmitted over the network, only transmitting necessary information between the client and the server, thus avoiding network congestion and delays;

[0088] (4) Fast response speed: The C / S architecture can utilize the computing power of the client to share the server load and improve the system performance and response speed;

[0089] (5) Facilitates processing of large amounts of data: The C / S architecture can utilize the storage capacity of the server to centrally manage and process large amounts of data, thereby improving data availability and consistency.

[0090] Generally speaking, the business system within a bank only needs simple interactive components to support all its functions, including buttons, check boxes, and drop-down boxes, etc., without complex interactions; and the office computers within the bank are not configured uniformly, so new compatibility issues are prone to occur when developing clients; due to business development, the internal systems used in banks are frequently upgraded, and it is necessary to choose an architecture solution with low deployment costs. Considering the above factors, it is more appropriate to choose a B / S architecture to build internal bank applications.

[0091] The technology stack used for B / S architecture development mainly includes the front-end program running on the browser and the back-end program running on the server. Front-end development currently includes two technical options: React and Vue. This invention is not closely related to front-end development and will not be elaborated on here. For back-end development in a Web environment, the Spring Boot development kit built on the Java language is generally used. Spring Boot is a sub-project based on the Spring framework, which aims to simplify the creation and development process of Spring applications, provide out-of-the-box functions and automatic configuration, and its ecosystem is as follows: Figure 1 shown.

[0092] In the anti-money laundering system, the main business processes of anti-money laundering are as follows: Figure 2 As shown, in Figure 2 In the process, the upstream transaction system regularly imports relevant transaction data into the source data table in the anti-money laundering system, which is STEP1. After that, the system calls the anti-money laundering calculation task in the form of a scheduled task, which is STEP2. After the warning data is generated, the warning is processed manually, and the problem warning is generated as a case, which is then manually reviewed and reported, which is STEP3-STEP5.

[0093] The computing task scheduling method provided in this application is mainly aimed at the process in STEP2, that is, generating a scheduling plan according to the characteristics of the computing tasks and the type of transaction data in the anti-money laundering system, and designing the processing flow of sudden tasks and abnormal tasks.

[0094] At present, the anti-money laundering system has been extended to many overseas branches relative to mainland China, such as Hong Kong, London, Tokyo, Japan, and Seoul, South Korea. Each overseas branch runs several warning generation rules. The data between branches are independent, and the calculation process of each warning rule does not interfere with each other. In order to deploy the anti-money laundering computing tasks in the system on the computing platform for scheduling, this application breaks down the computing tasks in the anti-money laundering system into several subtasks, that is, the calculation of each warning rule of each branch is a minimum schedulable task. For different computing nodes, this application models the number of CPU cores, single-core main frequency, memory capacity, and hard disk read rate.

[0095] Specifically, the variables used in the embodiments of the present application are shown in Table 1 and Table 2.

[0096] Table 1 General variables

[0097]

[0098] Table 2 Decision variables

[0099]

[0100] In Table 1, the time complexity function and space complexity function need to be input into the scheduling program by the anti-money laundering calculation rule developers after completing the development work. The time complexity and space complexity of the existing anti-money laundering calculation rules are shown in Table 3, and the scale of the input data is obtained by querying the number of corresponding data tables in the database before the program is executed.

[0101] Table 3 Time and space complexity of anti-money laundering calculation rules

[0102]

[0103] Among them, n in time complexity and space complexity represents the amount of input data. In the anti-money laundering calculation rules, it can be considered to represent the amount of transaction data involved in the rule.

[0104] The embodiments of the present application provide a method, device and storage medium for scheduling computing tasks in an anti-money laundering system.

[0105] See also Figure 3 As shown, the embodiment of the present application provides a method for scheduling computing tasks in an anti-money laundering system, which may specifically include the following steps:

[0106] S301: Obtain an anti-money laundering task set and a node set for executing the anti-money laundering task.

[0107] In an embodiment of the present application, the anti-money laundering system analyzes the current anti-money laundering task list, integrates it into a task set, checks the available computing and storage resources, records all available nodes to form a node set, completes the initialization of the anti-money laundering system, ensures the dynamic management adaptability of tasks and nodes, and can adapt to real-time changes in resources and task loads. Among them, the anti-money laundering task set refers to a series of anti-money laundering-related computing tasks that the anti-money laundering system needs to perform, such as identifying abnormal transactions, account risk scoring, etc.; and the node set refers to the hardware resources or virtual resources in the anti-money laundering system that are responsible for calculating anti-money laundering tasks.

[0108] S302: Divide the anti-money laundering task set into a computing-intensive task subset and a storage-intensive task subset by using a clustering algorithm, and divide the node set into a computing-intensive node subset and a storage-intensive node subset by using a clustering algorithm.

[0109] A clustering algorithm is an unsupervised learning algorithm used to group data points according to data features. In an embodiment of the present application, the clustering algorithm is specifically used to group according to the features of anti-money laundering tasks or nodes. Specifically, a clustering algorithm is used to classify an anti-money laundering task set, and the anti-money laundering task set is divided into a subset of computationally intensive tasks that require a large amount of computing power and a subset of storage-intensive tasks that have high requirements for storage space. The node set is also classified to form a subset of computationally intensive nodes that provide strong computing power and a subset of storage-intensive nodes with high storage capacity, so as to achieve matching of the characteristics of tasks and nodes, avoid unreasonable task allocation, improve system resource utilization, and optimize scheduling efficiency.

[0110] In some implementations of the embodiments of the present application, the clustering algorithm adopts the K-means clustering K-means algorithm, the principle of which is to divide the sample features into several classes according to the similarity or distance of the sample features.

[0111] S303: Form multiple task scheduling schemes by randomly allocating computing intensive tasks in the computing intensive task subset to computing intensive nodes in the computing intensive node subset and randomly allocating storage intensive tasks in the storage intensive task subset to storage intensive nodes in the storage intensive node subset.

[0112] A task scheduling scheme refers to a matching combination of tasks and nodes. For example, anti-money laundering task A is assigned to node A for processing, and anti-money laundering task B is assigned to node B for processing. In an embodiment of the present application, performance optimization is not considered when initially allocating anti-money laundering tasks. Instead, computationally intensive tasks are randomly assigned to computationally intensive nodes, and storage-intensive tasks are randomly assigned to storage-intensive nodes. Each random allocation forms a task scheduling scheme, and ultimately multiple task scheduling schemes are generated, thereby ensuring the diversity of the initial scheme and providing a data basis for subsequent optimization algorithms.

[0113] S304: Execute a particle swarm algorithm based on multiple task scheduling schemes to obtain a target task scheduling scheme.

[0114] The particle swarm algorithm is an intelligent optimization algorithm that simulates the process of particles searching for the optimal solution in space. In the embodiment of the present application, the particle swarm algorithm is used to take a plurality of randomly generated task scheduling schemes as initial particles. In multiple rounds of iterations, the fitness of each initial particle is evaluated, the particle position is updated, i.e., the scheduling scheme, and finally converges to the optimal scheduling scheme, i.e., the target task scheduling scheme, thereby realizing automatic optimization of the scheduling scheme, dynamically adapting to system changes, and ensuring the flexibility and stability of task scheduling.

[0115] exist Figure 3 In the process shown, the anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and the node set is divided into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm, that is, the anti-money laundering tasks and nodes are divided into computing-intensive and storage-intensive; then, by randomly allocating the computing-intensive tasks in the computing-intensive task subset to the computing-intensive nodes in the computing-intensive node subset and randomly allocating the storage-intensive tasks in the storage-intensive task subset to the storage-intensive nodes in the storage-intensive node subset, a plurality of task scheduling schemes are formed, so that each task is allocated to a node of the same type; finally, a particle swarm algorithm is executed based on the above-mentioned plurality of task scheduling schemes to obtain a target task scheduling scheme, so as to reasonably allocate anti-money laundering computing tasks and maximize the performance of computer resources.

[0116] In addition, a clustering algorithm was used to perform preliminary classification of anti-money laundering computing tasks and computing nodes, which effectively solved the problem of poor quality of the initial solution when randomly generating particle swarms.

[0117] See also Figure 4 As shown, Figure 4Another anti-money laundering system task scheduling method provided in an embodiment of the present application details that in step S301, the anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and specifically may include the following steps:

[0118] S401: Execute the first loop step until the comparison result of the first set of this round of iterations with the first set of the previous round of iterations meets the first condition, and the comparison result of the second set of this round of iterations with the second set of the previous round of iterations meets the second condition, wherein the first loop step is performed for at least two rounds.

[0119] In an embodiment of the present application, the first set refers to an anti-money laundering task set that is closer to the first task center point, and the second set refers to an anti-money laundering task set that is closer to the second task center point.

[0120] The first condition is used to determine whether the elements of the first set of the current iteration remain unchanged with the elements of the first set of the previous iteration, and the second condition is also used to determine whether the elements of the second set of the current iteration remain unchanged with the elements of the second set of the previous iteration. That is, the first condition is that the elements of the first set of the current iteration remain unchanged with the elements of the first set of the previous iteration, and the second condition is the same.

[0121] In addition, it can be understood that since the results need to be compared with the previous round of iterations before each loop, the number of rounds of the first loop step is at least two rounds, and there is no so-called first set of the previous round of iterations and second set of the previous round of iterations in the first round.

[0122] The first cycle step S402 includes:

[0123] S4021: Select two anti-money laundering tasks from the anti-money laundering task set as the first task center point and the second task center point respectively.

[0124] In the embodiment of the present application, the task center point is the reference point for each round of classification, representing the characteristics of a class of anti-money laundering tasks. Specifically, the present application randomly selects two anti-money laundering tasks from the anti-money laundering task set as the first task center point and the second task center point, representing the reference points of each round of computationally intensive and storage-intensive tasks, respectively. The numbering record of the first task center point is (Bran0, RNo0), and the numbering record of the second task center point is {Bran1, RNo1).

[0125] S4022: Calculate the first distance to the first task center point and the second distance to the second task center point of the other anti-money laundering tasks in the anti-money laundering task set except the first task center point and the second task center point respectively, to obtain the first distance and the second distance of each other anti-money laundering task.

[0126] In the embodiment of the present application, the first distance refers to the distance from other anti-money laundering tasks to the center point of the first task, and the second distance refers to the distance from other anti-money laundering tasks to the center point of the second task. By determining the relative distance from each anti-money laundering task to the task center point, the relevance of the anti-money laundering task to different categories is reflected, providing a basis for classification.

[0127] Among them, for any other anti-money laundering tasks (Bran, RNo), the first distance and the second distance can be calculated by the following formula:

[0128]

[0129] Where i = 0 or 1, Bran ≠ Bran i And RNo≠RNo i , Bran∈BranALL and RNo∈RNoALL.

[0130] S4023: Add other anti-money laundering tasks whose first distance is less than or equal to the second distance to the first set, and add other anti-money laundering tasks whose first distance is greater than the second distance to the second set.

[0131] In the embodiment of the present application, for each other anti-money laundering task (Bran, RNo), if there is:

[0132] ||Distance Bran,RNo,0 ||1≤||‖Distance Bran,RNo,1 ||1

[0133] That is, if the first distance is less than or equal to the second distance, other anti-money laundering tasks are added to the first set, otherwise they are added to the second set.

[0134] S4024: Determine whether the comparison result between the first set of this iteration and the second set of the previous iteration meets the first condition, and determine whether the comparison result between the second set of this iteration and the second set of the previous iteration meets the second condition.

[0135] S403: After exiting the loop in the first loop step, calculate the time complexity and space complexity of each anti-money laundering task, and determine that the mean of the time complexity of each anti-money laundering task in the first set is the first time mean, determine that the mean of the space complexity of each anti-money laundering task in the first set is the first space mean, determine that the mean of the time complexity of each anti-money laundering task in the second set is the second time mean, and determine that the mean of the space complexity of each anti-money laundering task in the second set is the second space mean.

[0136] In the embodiment of the present application, the time complexity of each anti-money laundering task in the first set and the second set is calculated based on the time complexity function, and then the average of the time complexity of each anti-money laundering task in the first set and the second set is obtained, which are recorded as the first time average TC_avg1 and the second time average TC_avg2 respectively; the space complexity of each anti-money laundering task in the first set and the second set is calculated based on the space complexity function, and then the average of the space complexity of each anti-money laundering task in the first set and the second set is obtained, which are recorded as the first space average SC_avg1 and the second space average SC_avg2. Among them, the time complexity function is used here to evaluate the demand intensity of the anti-money laundering task for computing performance, and the space complexity function is used here to evaluate the demand intensity of the anti-money laundering task for storage capacity.

[0137] S404: Based on the first time mean, the second time mean, the first space mean and the second space mean, determine the computing-intensive task subset and the storage-intensive task subset in the first set and the second set respectively.

[0138] In the embodiment of the present application, by comparing the first time mean and the second time mean, and comparing the first space mean and the second space mean, the first set and the second set are divided into computationally intensive task subsets Task Cal And the storage-intensive task subset Task Ram Among them, the subset of tasks with higher mean values ​​of time complexity is the computation-intensive task subset, and the subset of tasks with higher mean values ​​of space complexity is the storage-intensive task subset.

[0139] exist Figure 4 In the process shown, the clustering process is iterated repeatedly and the task division is dynamically adjusted, so that the anti-money laundering task can be accurately divided into computing-intensive tasks and storage-intensive tasks, thereby achieving a reasonable allocation of anti-money laundering tasks.

[0140] See also Figure 5 As shown, in some implementations of the embodiments of the present application, in step S302, the nodes are divided into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm, which may specifically include the following steps:

[0141] S501: Execute the second loop step until the comparison result of the third set of this round of iteration with the third set of the previous round of iteration meets the third condition, and the comparison result of the fourth set of this round of iteration with the fourth set of the previous round of iteration meets the fourth condition, wherein the second loop step is performed for at least two rounds.

[0142] In an embodiment of the present application, the third set refers to a set of nodes that are closer to the first central node, and the fourth set refers to a set of nodes that are closer to the second central node.

[0143] The third condition is used to determine whether the elements of the third set of the current iteration remain unchanged with the elements of the third set of the previous iteration, and the second condition is also used to determine whether the elements of the fourth set of the current iteration remain unchanged with the elements of the fourth set of the previous iteration. That is, the third condition is that the elements of the third set of the current iteration remain unchanged with the elements of the third set of the previous iteration, and the same applies to the fourth condition.

[0144] In addition, it can be understood that since the results need to be compared with the previous round of iterations before each loop, the number of rounds of the second loop step is at least two rounds, and there is no so-called third set of the previous round of iterations and fourth set of the previous round of iterations in the first round.

[0145] The second cycle steps include:

[0146] S5021: Select two nodes from the node set as the first central node and the second central node respectively.

[0147] In the embodiment of the present application, the central node is a reference point for each round of classification, representing the characteristics of a class of nodes. Specifically, the present application randomly selects two nodes from the node set as the first central node and the second central node. The first central node is recorded as (Bran0, CNo0), and the second central node is recorded as (Bran1, CNo1).

[0148] S5022: Calculate the third distance of other nodes in the node set except the first central node and the second central node to the first central node, and the fourth distance to the second central node, respectively, to obtain the third distance and fourth distance of each other node.

[0149] In the embodiment of the present application, the third distance refers to the distance from other nodes to the first central node, and the fourth distance refers to the distance from other nodes to the second central node. By determining the distance from each node to the task center point, the relevance of the node to different categories can be reflected, providing a basis for each round of classification.

[0150] Among them, for any other node (Bran, CNo, the third distance and the fourth distance can be calculated by the following formula:

[0151]

[0152] Where i = 0 or 1, Bran ≠ Bran i And CNo≠CNo i , Bran∈BranALL and CNo∈CNoALL.

[0153] S5023: Add other nodes whose third distance is less than or equal to the fourth distance to the third set, and add other nodes whose third distance is greater than the fourth distance to the fourth set.

[0154] In the embodiment of the present application, for each other node (Bran, CNo), if:

[0155] ||Distance Bran,CNo,0 ||1≤||Distance Bran,CNo,1 ||1

[0156] Then add other nodes to the third set, otherwise add them to the fourth set.

[0157] S5024: Determine whether the comparison result of the third set of this iteration and the third set of the previous iteration meets the fifth condition, and determine whether the comparison result of the fourth set of this iteration and the fourth set of the previous iteration meets the fifth condition;

[0158] S503: After exiting the loop in the second loop step, calculate the time complexity and space complexity of each node, and determine that the mean of the time complexity of each node in the third set is the third time mean, determine that the mean of the space complexity of each node in the third set is the third space mean, determine that the mean of the time complexity of each node in the fourth set is the fourth time mean, and determine that the mean of the space complexity of each node in the fourth set is the fourth space mean.

[0159] In an embodiment of the present application, the time complexity of each node in the third set and the fourth set is calculated based on the time complexity function, and then the average of the time complexity of each node in the third set and the fourth set is obtained, which are recorded as the third time average TC_avg3 and the fourth time average TC_avg4 respectively; the space complexity of each node in the third set and the fourth set is calculated based on the space complexity function, and then the average of the space complexity of each node in the third set and the fourth set is obtained, which are recorded as the third space average SC_avg3 and the fourth space average SC_avg4. Among them, the time complexity function is used here to evaluate the computing performance of the node, and the space complexity function is used here to evaluate the storage capacity of the node.

[0160] S504: Based on the third time mean, the fourth time mean, the third space mean and the fourth space mean, determine a computing intensive node subset and a storage intensive node subset in the third set and the fourth set respectively.

[0161] In the embodiment of the present application, by comparing the third time mean and the fourth time mean, and comparing the third space mean and the fourth space mean, the third set and the fourth set are divided into the computationally intensive node subsets CNo Caland the storage-intensive node subset CNo Ram Among them, the subset of nodes with higher mean time complexity belongs to the computation-intensive node subset, and the subset of nodes with higher mean space complexity belongs to the storage-intensive node subset.

[0162] exist Figure 5 In the process shown, the nodes are divided into computing-intensive nodes and storage-intensive nodes through a clustering algorithm, so that the nodes can perform the same type of anti-money laundering tasks, thereby improving the utilization efficiency of node resources and the processing efficiency of anti-money laundering tasks.

[0163] In the embodiments of the present application, in addition to the use of clustering algorithms, the present application also outputs a target scheduling scheme based on a particle swarm optimization algorithm. The particle swarm optimization algorithm (PSO) originates from the study of bird flock predation behavior. The basic core of the particle swarm optimization algorithm is to use the information sharing of individuals in the group so that the movement of the entire group evolves from disorder to order in the problem-solving space, thereby obtaining the optimal solution to the problem. In order to facilitate the compilation of the program and improve the computing efficiency of the program, it is necessary to encode the scheduling scheme of the anti-money laundering computing task. The encoding method is as follows: Figure 6 As shown, TaskList[CNo] represents the execution queue of computing node CNo, and is stored in an array in the form of TaskList={(Bran0, CNo0), (Bran1, CNo1), ..., (BranN, CNoN)}.

[0164] See also Figure 7 As shown, Figure 7 A flowchart of another task scheduling method of an anti-money laundering system provided in an embodiment of the present application further illustrates that in step S304, a particle swarm algorithm is executed based on multiple task scheduling schemes to obtain a target task scheduling scheme, which may include the following steps:

[0165] S701: constructing an initial particle swarm based on multiple task scheduling schemes, where the initial particle swarm includes: multiple initial particles, and the initial particles include a task scheduling scheme.

[0166] In an embodiment of the present application, an initial particle group is preliminarily constructed based on multiple task scheduling schemes, denoted as Schedule, and (Bran, RNo, CNo)∈Schedule, (Bran, RNo, CNo) represents that the anti-money laundering task (Bran, RNo) is scheduled to the node CNo for execution. Each initial particle in the initial particle group represents a task scheduling scheme, and the number of initial particles is the same as the number of the above-mentioned multiple task scheduling schemes.

[0167] S702: Perform weighted calculation on each initial particle of the initial particle group to obtain a total cost of each initial particle.

[0168] In the embodiments of the present application, the total cost refers to an indicator used to evaluate the quality of particles, wherein the lower the total cost, the better the particle.

[0169] In some implementations of the present application, in order to better evaluate the effectiveness of the model and to ensure that the model is accurately terminated during scheduling, the total cost combines the total weighted computing time C CT , calculate the node idle rate P RE , total weighted timeout F RE These three indicators. Among them, total cost = a1*C CT +a2*P RE +a3*F RE , where a1, a2, and a3 are weighted weights, and the weights are flexibly determined by the technical staff.

[0170] Total weighted computation time C CT It is used to measure the cost of all nodes calculating the batch of anti-money laundering tasks, which can be obtained by the following formula:

[0171]

[0172] Calculate the node idle rate P RE It is used to measure the usage of computing nodes by the current task scheduling scheme, which can be obtained by the following formula:

[0173]

[0174] Total weighted timeout F RE It is used to measure the timeliness of the completion of the computing task, which can be obtained by the following formula:

[0175]

[0176] In addition, since anti-money laundering batch calculations require a certain amount of memory space, the nodes that need to undertake the corresponding computing tasks need to have sufficient memory, so the following formula must be satisfied:

[0177] RamSIZE CNo >Q Bran,RNo,CNo SC Bran,RNo (InputData Bran,RNo )

[0178] S703: Execute the third loop step until the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition.

[0179] In an embodiment of the present application, the sixth condition is used to determine whether the particle swarm has reached a convergence state. For example, the iteration is stopped when the total cost cannot be optimized as the number of iterations increases. The sixth condition may be that the particle swarm change amplitude is lower than a certain threshold.

[0180] The third cycle steps include:

[0181] S7041: Generate multiple transition particle swarms by randomly swapping the computing-intensive nodes assigned to each computing-intensive task and the storage-intensive nodes assigned to each storage-intensive task in the target particle swarm of the previous iteration; wherein, when the third loop step is executed for the first time, the target particle swarm of the previous iteration is the initial particle swarm.

[0182] In the embodiment of the present application, the transition particle group refers to the new particle group generated in the current iteration, which is obtained by randomly adjusting the task scheduling scheme. It should be noted that in the process of randomly replacing nodes, computing-intensive tasks are only replaced to computing-intensive nodes, and storage-intensive tasks are only replaced to storage-intensive nodes.

[0183] S7042: Perform weighted calculation on each transition particle in the multiple transition particle groups to obtain the total cost of each transition particle, and obtain multiple transition particles whose total costs meet the seventh condition from the multiple transition particle groups to form the target particle group of this round.

[0184] In the embodiment of the present application, for each transition particle in each transition particle group, the total cost is recalculated, and then the transition particles that meet the seventh condition are screened out to form the target particle group of this round. The seventh condition is used as the total cost standard for screening transition particles, for example, screening transition particles with a total cost lower than a certain threshold, or for example, screening transition particles ranked in the top few in total cost ranking.

[0185] S7043: Determine whether the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition.

[0186] S705: After the third loop step exits the loop, determine the optimal particle in the target particle group of the last iteration, and output the target task scheduling solution based on the optimal particle.

[0187] In an embodiment of the present application, based on the calculation of the total cost, the particle with the lowest total cost is found in the target particle group of the last iteration as the optimal particle, and the task scheduling scheme corresponding to the optimal particle is output as the target task scheduling scheme.

[0188] In addition, in order to complete the node initialization, after outputting the target task scheduling plan, the earliest available time TimeST of each node is updated. CNo .

[0189] exist Figure 7 In the process shown, by optimizing the task scheduling scheme through the particle swarm algorithm, efficient utilization of computer resources can be achieved in complex anti-money laundering task scenarios, effectively reducing task computing costs and improving system operation efficiency.

[0190] See also Figure 8 As shown, Figure 8 Another anti-money laundering system task scheduling method provided in the embodiment of the present application, in the scheduling of sudden tasks in the embodiment of the present application, the following steps can be specifically adopted:

[0191] S801: Obtain sudden anti-money laundering tasks.

[0192] In the embodiments of the present application, the sudden anti-money laundering task may be referred to as a sudden task, which refers to a task that is suddenly triggered and needs to be processed immediately. Specifically, the anti-money laundering system monitors sudden events in real time, and once a sudden anti-money laundering task is detected, it immediately obtains and executes subsequent steps for processing.

[0193] In some implementations of the embodiments of the present application, when an exception occurs in the anti-money laundering task, the following steps will be included before S701:

[0194] S901: Acquire abnormal anti-money laundering tasks, and perform abnormal processing on the abnormal anti-money laundering tasks.

[0195] S902: Treat the abnormal anti-money laundering task after the abnormal processing is completed as an emergency anti-money laundering task.

[0196] In the embodiments of the present application, abnormal anti-money laundering tasks are referred to as abnormal tasks, which are usually caused by incomplete upstream data, undiscovered programming defects, or occasional hardware abnormalities. Compared with sudden tasks, abnormal tasks require manual intervention by development or operation and maintenance personnel before being treated as sudden tasks.

[0197] S802: Obtain the computing time of each node in the node set for executing the sudden anti-money laundering task to obtain the computing time of each node.

[0198] In the embodiment of the present application, the time required for each node in the simulated or predicted node set to process a burst task, i.e., the calculation time, is used as one of the bases for subsequent node selection. Specifically, the calculation time Time_need can be obtained by the following formula: sudd,CNo :

[0199]

[0200] S803: Obtain the memory space required for calculating the sudden anti-money laundering task.

[0201] In the embodiment of the present application, the memory space required for computing burst tasks is evaluated as a basis for subsequent node selection. Specifically, the required memory space Ram_need can be calculated by the following formula: sudd :

[0202] Ram_need sudd =SC sudd (InputData sudd )

[0203] S804: traverse the nodes in the node set until it is determined that the currently traversed node meets the eighth condition based on the computing time of each node and the memory space required by the sudden anti-money laundering task.

[0204] In the embodiment of the present application, the burst task completion time T of the initialization burst task finish =Inf, and randomly assign an initial node CNo to the burst task Sudd , loop through each computing node CNo, and in each iteration, compare the node of the current iteration with the node of the previous iteration. finsh >TimeST CNo +Time_need sudd,CNo , and Ran_need sudd <RamSIZE CNo , then let T finish =TimeST CNo +Time_need sudd,CNo , CNo Sudd = CNo. The above initial node is used as the node of the so-called previous iteration in the first iteration process.

[0205] In some implementations of the embodiments of the present application, the eighth condition is specifically the sudden task completion time T of the sudden anti-money laundering task. finish The earliest available time of the node that is greater than the currently traversed node TimeST CNo And the node calculation time Time_need of the currently traversed node sudd,CNo and, the memory space Ram_need required by the sudden anti-money laundering task sudd Smaller than the memory capacity RamSIZE of the currently traversed node CNo .

[0206] S805: Determine the node that meets the eighth condition as the target node for executing the sudden anti-money laundering task.

[0207] exist Figure 8In the process shown, the node's computing power, memory space and task requirements are combined to dynamically match the appropriate node, so that the burst task can be allocated and executed in a better way. At the same time, it also solves the data reporting problem in specific scenarios.

[0208] See also Fig. 9 As shown, the embodiment of the present application provides a computing task scheduling device for an anti-money laundering system, the device comprising:

[0209] An acquisition module 901 is used to acquire an anti-money laundering task set and a node set for executing the anti-money laundering task;

[0210] A classification module 902, configured to divide the anti-money laundering task set into a computing-intensive task subset and a storage-intensive task subset by using a clustering algorithm, and to divide the node set into a computing-intensive node subset and a storage-intensive node subset by using a clustering algorithm;

[0211] An allocation module 903, configured to form a plurality of task scheduling schemes by randomly allocating computing-intensive tasks in the computing-intensive task subset to computing-intensive nodes in the computing-intensive node subset and randomly allocating storage-intensive tasks in the storage-intensive task subset to storage-intensive nodes in the storage-intensive node subset;

[0212] The scheduling module 904 is used to execute the particle swarm algorithm based on multiple task scheduling schemes to obtain a target task scheduling scheme.

[0213] In some implementations of the embodiments of the present application, the anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, including:

[0214] Execute a first loop step until a comparison result of the first set of the current iteration with the first set of the previous iteration satisfies a first condition, and a comparison result of the second set of the current iteration with the second set of the previous iteration satisfies a second condition, wherein the first loop step is performed for at least two rounds;

[0215] The first cycle steps include:

[0216] Select two anti-money laundering tasks from the anti-money laundering task set as the first task center point and the second task center point respectively;

[0217] Respectively calculating the first distance to the center point of the first task and the second distance to the center point of the second task of the other anti-money laundering tasks in the anti-money laundering task set except the center point of the first task and the center point of the second task, so as to obtain the first distance and the second distance of each other anti-money laundering task;

[0218] Add other anti-money laundering tasks whose first distance is less than or equal to the second distance to the first set, and add other anti-money laundering tasks whose first distance is greater than the second distance to the second set;

[0219] Determine whether the comparison result of the first set of the current iteration and the second set of the previous iteration meets the first condition, and determine whether the comparison result of the second set of the current iteration and the second set of the previous iteration meets the second condition;

[0220] After the first loop step exits the loop, the time complexity and space complexity of each anti-money laundering task are calculated, and the mean of the time complexity of each anti-money laundering task in the first set is determined to be the first time mean, the mean of the space complexity of each anti-money laundering task in the first set is determined to be the first space mean, the mean of the time complexity of each anti-money laundering task in the second set is determined to be the second time mean, and the mean of the space complexity of each anti-money laundering task in the second set is determined to be the second space mean

[0221] Based on the first time mean, the second time mean, the first spatial mean, and the second spatial mean, a computationally intensive task subset and a storage intensive task subset are determined in the first set and the second set, respectively.

[0222] In some implementations of the embodiments of the present application, the nodes are divided into a computing-intensive node subset and a storage-intensive node subset by a clustering algorithm, including:

[0223] Perform a second loop step until a comparison result of the third set of the current iteration with the third set of the previous iteration satisfies a third condition, and a comparison result of the fourth set of the current iteration with the fourth set of the previous iteration satisfies a fourth condition, wherein the second loop step is performed for at least two rounds;

[0224] The second cycle steps include:

[0225] Select two nodes from the node set as the first central node and the second central node respectively;

[0226] Calculate the third distances of other nodes in the node set except the first central node and the second central node to the first central node, and the fourth distances to the second central node, respectively, to obtain the third distances and the fourth distances of other nodes;

[0227] Add other nodes whose third distance is less than or equal to the fourth distance to the third set, and add other nodes whose third distance is greater than the fourth distance to the fourth set;

[0228] Determine whether the comparison result of the third set of this round of iteration and the third set of the previous round of iteration meets the fifth condition, and determine whether the comparison result of the fourth set of this round of iteration and the fourth set of the previous round of iteration meets the fifth condition;

[0229] After the second loop step exits the loop, the time complexity and space complexity of each node are calculated, and the mean of the time complexity of each node in the third set is determined to be the third time mean, the mean of the space complexity of each node in the third set is determined to be the third space mean, the mean of the time complexity of each node in the fourth set is determined to be the fourth time mean, and the mean of the space complexity of each node in the fourth set is determined to be the fourth space mean;

[0230] Based on the third time mean, the fourth time mean, the third spatial mean, and the fourth spatial mean, a computationally intensive node subset and a storage intensive node subset are determined in the third set and the fourth set, respectively.

[0231] In some implementations of the embodiments of the present application, a particle swarm algorithm is executed based on multiple task scheduling schemes to obtain a target task scheduling scheme, including:

[0232] Building an initial particle swarm based on multiple task scheduling schemes, the initial particle swarm includes: multiple initial particles, the initial particles include a task scheduling scheme;

[0233] Perform weighted calculation on each initial particle of the initial particle group to obtain the total cost of each initial particle;

[0234] Execute the third loop step until the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition;

[0235] The third cycle steps include:

[0236] By randomly exchanging the computing-intensive nodes assigned to each computing-intensive task and the storage-intensive nodes assigned to each storage-intensive task in the target particle group of the previous iteration, a plurality of transition particle groups are generated; wherein, when the third loop step is executed for the first time, the target particle group of the previous iteration is the initial particle group;

[0237] Performing weighted calculation on each transition particle in the multiple transition particle groups to obtain the total cost of each transition particle, and obtaining multiple transition particles whose total costs meet the seventh condition from the multiple transition particle groups to form the target particle group of this round;

[0238] Determine whether the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition;

[0239] After exiting the loop in the third loop step, the optimal particle in the target particle swarm of the last iteration is determined, and the target task scheduling scheme is output based on the optimal particle.

[0240] In some implementations of the embodiments of the present application, the method further includes:

[0241] Obtain unexpected anti-money laundering tasks;

[0242] Obtain the computing time of each node in the node set to execute the sudden anti-money laundering task, so as to obtain the computing time of each node;

[0243] Get the memory space required to calculate the burst anti-money laundering tasks;

[0244] Traversing the nodes in the node set until it is determined that the currently traversed node meets the eighth condition based on the computing time of each node and the memory space required for the sudden anti-money laundering task;

[0245] The node satisfying the eighth condition is determined as the target node for executing the sudden anti-money laundering task.

[0246] In some implementations of the embodiments of the present application, the method further includes:

[0247] Obtain abnormal anti-money laundering tasks and handle abnormal anti-money laundering tasks;

[0248] The abnormal anti-money laundering tasks after the exception handling is completed will be treated as sudden anti-money laundering tasks.

[0249] In some implementations of the embodiments of the present application, the eighth condition includes:

[0250] The burst task completion time of the burst anti-money laundering task is greater than the sum of the earliest available time of the node and the node computing time; and the memory space required by the burst anti-money laundering task is less than the memory capacity of the node.

[0251] like Fig.10 As shown, an embodiment of the present application further provides a device, including: a memory 1001 and a processor 1002; wherein the memory 1001 is used to store programs; the processor 1002 is used to execute the programs in the memory to implement the various steps of an anti-money laundering system task scheduling method provided in an embodiment of the present application.

[0252] The embodiment of the present application also provides a readable storage medium on which a computer program is stored, characterized in that when the computer program is executed by a processor, each step of an anti-money laundering system task scheduling method provided by the embodiment of the present application is implemented.

[0253] Finally, it should be noted that, in the embodiments of the present application, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements includes not only those elements, but also includes other elements that are not clearly listed, or also includes elements inherent to such process, method, article or equipment. In the absence of more restrictions, the elements limited by the statement "comprise one..." do not exclude the presence of other identical elements in the process, method, article or equipment including the elements.

[0254] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for scheduling computing tasks in an anti-money laundering system, characterized in that: The method comprises: Obtaining an anti-money laundering task set and a node set for executing the anti-money laundering task; Dividing the anti-money laundering task set into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and dividing the node set into a computing-intensive node subset and a storage-intensive node subset by the clustering algorithm; A plurality of task scheduling schemes are formed by randomly allocating the computation-intensive tasks in the computation-intensive task subset to the computation-intensive nodes in the computation-intensive node subset and randomly allocating the storage-intensive tasks in the storage-intensive task subset to the storage-intensive nodes in the storage-intensive node subset; A particle swarm algorithm is executed based on the multiple task scheduling schemes to obtain a target task scheduling scheme.

2. The method according to claim 1, characterized in that The anti-money laundering task set is divided into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, including: Perform a first loop step until a comparison result of the first set of the current iteration with the first set of the previous iteration satisfies a first condition, and a comparison result of the second set of the current iteration with the second set of the previous iteration satisfies a second condition, wherein the first loop step is performed for at least two rounds; The first cycle step comprises: Selecting two of the anti-money laundering tasks from the anti-money laundering task set as the first task center point and the second task center point respectively; Respectively calculating the first distance to the first task center point and the second distance to the second task center point of other anti-money laundering tasks in the anti-money laundering task set except the first task center point and the second task center point, so as to obtain the first distance and the second distance of each of the other anti-money laundering tasks; Add other anti-money laundering tasks whose first distance is less than or equal to the second distance to the first set, and add other anti-money laundering tasks whose first distance is greater than the second distance to the second set; Determine whether a comparison result of the first set of the current iteration with the second set of the previous iteration satisfies the first condition, and determine whether a comparison result of the second set of the current iteration with the second set of the previous iteration satisfies the second condition; After the first loop step exits the loop, the time complexity and space complexity of each of the anti-money laundering tasks are calculated, and the mean of the time complexity of each of the anti-money laundering tasks in the first set is determined to be a first time mean, the mean of the space complexity of each of the anti-money laundering tasks in the first set is determined to be a first space mean, the mean of the time complexity of each of the anti-money laundering tasks in the second set is determined to be a second time mean, and the mean of the space complexity of each of the anti-money laundering tasks in the second set is determined to be a second space mean; Based on the first time mean, the second time mean, the first spatial mean, and the second spatial mean, the computationally intensive task subset and the storage intensive task subset are determined in the first set and the second set, respectively.

3. The method according to claim 1, characterized in that The combining and dividing the nodes into a computing-intensive node subset and a storage-intensive node subset by the clustering algorithm includes: Perform a second loop step until the comparison result of the third set of the current iteration and the third set of the previous iteration meets the third condition, and the comparison result of the fourth set of the current iteration and the fourth set of the previous iteration meets the fourth condition, wherein the second loop step is performed for at least two rounds; The second cycle step comprises: Selecting two nodes from the node set as a first central node and a second central node respectively; Respectively calculating the third distances of other nodes in the node set except the first central node and the second central node to the first central node and the fourth distances to the second central node to obtain the third distances and fourth distances of other nodes; Add other nodes whose third distance is less than or equal to the fourth distance to the third set, and add other nodes whose third distance is greater than the fourth distance to the fourth set; Determine whether a comparison result of the third set of the current iteration with the third set of the previous iteration satisfies a fifth condition, and determine whether a comparison result of the fourth set of the current iteration with the fourth set of the previous iteration satisfies the fifth condition; After the second loop step exits the loop, the time complexity and space complexity of each of the nodes are calculated, and the mean of the time complexity of each of the nodes in the third set is determined to be a third time mean, the mean of the space complexity of each of the nodes in the third set is determined to be a third space mean, the mean of the time complexity of each of the nodes in the fourth set is determined to be a fourth time mean, and the mean of the space complexity of each of the nodes in the fourth set is determined to be a fourth space mean; The computationally intensive node subset and the storage-intensive node subset are determined in the third set and the fourth set, respectively, based on the third time mean, the fourth time mean, the third spatial mean, and the fourth spatial mean.

4. The method according to claim 1, characterized in that: The executing a particle swarm algorithm based on the multiple task scheduling schemes to obtain a target task scheduling scheme includes: Constructing an initial particle group based on the multiple task scheduling schemes, the initial particle group comprising: multiple initial particles, the initial particles comprising one of the task scheduling schemes; Performing weighted calculation on each of the initial particles of the initial particle group to obtain a total cost of each of the initial particles; Execute the third loop step until the comparison result between the target particle group of this round and the target particle group of the previous round of iteration meets the sixth condition; The third cycle step comprises: By randomly exchanging the computing-intensive nodes assigned to each computing-intensive task and the storage-intensive nodes assigned to each storage-intensive task in the target particle group of the previous iteration, a plurality of transition particle groups are generated; wherein, when the third loop step is executed for the first time, the target particle group of the previous iteration is the initial particle group; Performing weighted calculation on each transition particle in the plurality of transition particle groups to obtain a total cost of each of the transition particles, and obtaining a plurality of transition particles whose total costs satisfy a seventh condition from the plurality of transition particle groups to form the target particle group of this round; Determine whether the comparison result between the target particle group of the current round and the target particle group of the previous round of iteration satisfies the sixth condition; After the third loop step exits the loop, the optimal particle in the target particle group of the last iteration is determined, and a target task scheduling solution is output based on the optimal particle.

5. The method according to claim 1, characterized in that The method further comprises: Obtain sudden anti-money laundering tasks; Obtaining the computing time of each node in the node set to execute the sudden anti-money laundering task, so as to obtain the computing time of each node; Acquire the memory space required for calculating the sudden anti-money laundering task; Traversing the nodes in the node set until it is determined that the currently traversed node meets the eighth condition based on the computing time of each node and the memory space required for the sudden anti-money laundering task; A node satisfying the eighth condition is determined as a target node for executing the sudden anti-money laundering task.

6. The method according to claim 5, characterized in that The method further comprises: Acquire abnormal anti-money laundering tasks, and perform abnormal processing on the abnormal anti-money laundering tasks; The abnormal anti-money laundering task after completing the abnormal processing is used as the sudden anti-money laundering task.

7. The method according to claim 5, characterized in that The eighth condition includes: The burst task completion time of the burst anti-money laundering task is greater than the sum of the earliest available time of the node and the calculation time of the node; and the memory space required by the burst anti-money laundering task is less than the memory capacity of the node.

8. A computing task scheduling device for an anti-money laundering system, characterized in that: The device comprises: An acquisition module, used to acquire an anti-money laundering task set and a node set for executing the anti-money laundering task; A classification module, used to divide the anti-money laundering task set into a computing-intensive task subset and a storage-intensive task subset by a clustering algorithm, and to divide the node set into a computing-intensive node subset and a storage-intensive node subset by the clustering algorithm; an allocation module, configured to form a plurality of task scheduling schemes by randomly allocating the computing-intensive tasks in the computing-intensive task subset to the computing-intensive nodes in the computing-intensive node subset and randomly allocating the storage-intensive tasks in the storage-intensive task subset to the storage-intensive nodes in the storage-intensive node subset; The scheduling module is used to execute a particle swarm algorithm based on the multiple task scheduling schemes to obtain a target task scheduling scheme. 9.An anti-money laundering system computing task scheduling device, characterized in that: The device includes a memory and a processor, and the processor is used to execute the program stored in the memory to run the anti-money laundering system computing task scheduling method as described in any one of claims 1 to 7.

10. A readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, each step of the anti-money laundering system computing task scheduling method as described in any one of claims 1 to 7 is implemented.