Data processing method and related equipment

By comprehensively evaluating multiple invoice groups and available accounts, and constructing a scoring matrix using path priority and account priority, the problem of insufficient or excessive funds in invoice settlement was solved, thereby improving the settlement success rate and the efficiency of fund allocation.

CN120975933APending Publication Date: 2025-11-18HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410619768.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-17
Publication Date
2025-11-18

Smart Images

  • Figure CN120975933A_ABST
    Figure CN120975933A_ABST
Patent Text Reader

Abstract

The invention relates to the field of computers, and discloses a data processing method and related equipment, which are applied to the field of computers and used for increasing the number of settled invoices in the settlement process of a plurality of invoices. The method comprises the steps that a plurality of invoice groups to be settled are acquired, a first invoice group in the plurality of invoice groups comprises at least one invoice, and the first invoice group is one invoice group in the plurality of invoice groups; obtaining a plurality of first accounts, wherein the plurality of first accounts are money-available accounts used for settling the plurality of invoice groups; according to the multiple invoice groups and the multiple first accounts, a target account corresponding to the first invoice group is determined, and the available balance of the target account is used for settling at least one invoice group.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more particularly to a data processing method and related equipment. Background Technology

[0002] To ensure active liquidity, the management platform allocates excess idle funds in bank accounts. For example, these funds may be injected into a dedicated investment and trading pool or lent to entities with funding needs. Typically, banks reserve sufficient funds to handle planned pending invoices, such as regularly paid salaries and users' time deposits. However, for unplanned pending invoices, such as commissions and bonuses, and medical expenses, they need to find accounts with remaining funds for settlement.

[0003] Currently, when processing pending invoices, the process first involves searching for available accounts with transaction relationships to the payee account specified on the invoice to find an account with sufficient balance for payment settlement. However, while an available account can be used to pay for multiple invoices, the account balance decreases after each invoice is settled. When a large number of invoices need to be settled, the invoices processed first occupy valuable account resources, making it difficult to find an account with sufficient balance for subsequent pending invoices. Summary of the Invention

[0004] This application provides a data processing method and related apparatus for increasing the number of invoices to be settled during the settlement of multiple invoices.

[0005] In a first aspect, this application provides a data processing method, which includes: firstly, acquiring multiple invoice groups to be settled, wherein a first invoice group among the multiple invoice groups includes at least one invoice, and the first invoice group is one of the multiple invoice groups; then, acquiring multiple first accounts, which are disbursable accounts used to settle the multiple invoice groups; finally, evaluating the multiple invoice groups and the multiple first accounts as a whole, in which the outstanding amount of each invoice group and the available balance of each first account are considered, and a suitable target account is selected for each invoice group, and the target account corresponding to the first invoice group is determined, wherein the available balance of the target account is used to settle the outstanding amount of at least one invoice group.

[0006] In this application, an invoice group may find multiple accounts with sufficient funds available for payment, but due to business regulations, only one account can be selected for settlement. However, a single account can be used for payments from multiple invoice groups simultaneously. By adopting the above method, multiple invoice groups and available accounts are evaluated as a whole, allowing for more efficient fund allocation and settlement, thus preventing issues of fund shortages or surpluses. When multiple invoice groups are settled concurrently, this increases the chances of each invoice group finding a matching payment account, thereby improving the overall settlement success rate.

[0007] In one possible implementation, obtaining multiple invoice groups to be settled includes: obtaining multiple invoices to be settled; dividing the multiple invoices into multiple invoice groups according to the target information of each invoice; wherein the target information includes receiving account information, transaction currency information, and payment time information.

[0008] In this application, the process of obtaining multiple invoice groups is essentially a grouping operation performed on multiple invoices pending processing from the same batch. The grouping is based on the invoice's payee account, with the aim of grouping invoices with the same payee account together. Through this process, multiple invoice groups are ultimately obtained, with each group containing invoices corresponding to the same payee account. Furthermore, during invoice grouping, information such as the transaction currency and payment time indicated on the invoices is also considered for further subdivision. This ensures that invoices using the same transaction currency and with similar payment times are grouped into the same invoice group.

[0009] In one possible implementation, obtaining multiple first accounts includes: identifying multiple target banks based on multiple invoice groups, each target bank having a transaction relationship with a bank indicated by the payee account information of at least one invoice group, and each target bank including at least one first account.

[0010] In this application, based on the receiving bank as the endpoint of the transaction path, feasible transaction paths are analyzed by retrieving historical transaction records and / or querying knowledge graphs. Here, the receiving bank refers to the bank to which each receiving account belongs. The aforementioned target bank serves as the starting point of the transaction path, i.e., the paying bank. Each target bank contains at least one first account, and the multiple first accounts ultimately obtained constitute a set of first accounts under multiple target banks. By employing the above method, analyzing and identifying target banks with existing transaction relationships, it helps to reduce risks during the transaction process.

[0011] In one possible implementation, determining the target account corresponding to the first invoice group based on multiple invoice groups and multiple first accounts includes: determining multiple sets of second accounts for multiple invoice groups, each set of second accounts including multiple second accounts, each second account corresponding to an invoice group, and the second account of each invoice group being one of the multiple first accounts; and determining a target account set, which includes the target account corresponding to the first invoice group, and the target account set being the set of second accounts with the largest number of settled invoice groups among the multiple sets of second accounts.

[0012] In this application, when determining the target account for each invoice group, all possible invoice group matching schemes are comprehensively evaluated. That is, multiple sets of second accounts are generated as candidates, and then the set of accounts with the largest number of settlement invoice groups is selected as the target account set from the multiple sets of second accounts.

[0013] In one possible implementation, determining the target account set includes: determining the target account set based on priority information of each of the multiple second accounts, wherein the priority information of each second account is used to indicate the settlement priority of the second account for each invoice group.

[0014] In this application, there are two objectives when determining the final matching scheme. The primary objective is to maximize the number of settled invoice groups, while the secondary objective is to select target accounts with higher priority. Therefore, when determining the target account set, priority information for each account relative to each invoice group can be obtained first. Based on this information, accounts with higher priority can be selected and used as the target account set. This process ensures that more invoice groups are settled while also ensuring that the selected target accounts are optimally prioritized.

[0015] In one possible implementation, determining the target account set based on the priority information of each of the multiple second accounts includes: constructing a scoring matrix, where each row of the scoring matrix contains multiple elements representing the scores of a second invoice group for each second account. The second invoice group can be any one of the multiple invoice groups. The scores are determined based on the path priority and account priority of the second account. The path priority is the priority of the transaction path between the second account and the receiving account of the second invoice group, and the account priority is the account priority of the second account within the bank where the second account is located. Based on the scoring matrix, determining the sum of scores for each of the multiple second account sets is the sum of the scores of the multiple invoice groups corresponding to the second accounts within each second account set. Finally, determining the target account set from the multiple second account sets, where the sum of scores for the target account set is the maximum value among the sums of scores for the multiple second account sets.

[0016] Using the above method, the priority information of the disbursable account to the invoice group is mainly reflected in the path priority of the transaction path and the account priority within its own bank. This priority information often reflects the account's credit rating and financial status. The path priority and account priority of each account are quantified into specific score values, thus using one-dimensional score values ​​to represent multi-dimensional priority information. Using the converted scores, the score sum of each second account set is calculated, thereby quickly determining the target account set with the highest score. This simplifies the evaluation process and improves decision-making efficiency.

[0017] In one possible implementation, the number of invoice groups settled by the target account set is less than or equal to the number of multiple invoice groups.

[0018] In one possible implementation, at least two invoice groups target the same account.

[0019] In a second aspect, this application provides a data processing apparatus comprising modules for performing the data processing method in the first aspect or any possible implementation thereof.

[0020] Thirdly, a data processing apparatus is provided, including a coupled processor and a memory, the memory storing program instructions, wherein when the program instructions stored in the memory are executed by the processor, the method described in the first aspect or any implementation thereof is implemented. For details regarding the steps of the various possible implementations of the first aspect executed by the processor, please refer to the first aspect; further details will not be elaborated here.

[0021] Fourthly, this application provides a computing device cluster, including at least one computing device, each computing device including a processor and a memory, the memory storing computer programs or computer instructions, the processor being used to call and run the computer programs or computer instructions stored in the memory, so that the computing device cluster performs the methods described in the first aspect and any of its alternatives.

[0022] Fifthly, a computer-readable storage medium is provided, in which a computer program is stored, which, when run on a computer, causes the computer to perform the method of any implementation of the first aspect described above.

[0023] In a sixth aspect, a computer program product is provided that, when run on a computer, causes the computer to execute any implementation of the first aspect described above.

[0024] In a seventh aspect, a chip system is provided, comprising a processor for supporting a server or data processing device in implementing the functions involved in any implementation of the first aspect, such as transmitting or processing data and / or information involved in the above methods. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for the server or communication device. The chip system may be composed of chips or may include chips and other discrete devices.

[0025] The beneficial effects of the second to seventh aspects mentioned above can be referred to the introduction of the first aspect above, and will not be repeated here. Attached Figure Description

[0026] Figure 1 A schematic diagram of a system architecture provided for this application;

[0027] Figure 2 A flowchart illustrating a data processing method provided in this application;

[0028] Figure 3 A diagram illustrating the disbursable accounts for the invoice acquisition group provided in this application;

[0029] Figure 4 A schematic diagram of the transaction path provided in this application;

[0030] Figure 5 A diagram illustrating the matching of the invoice group provided in this application with the target account;

[0031] Figure 6 An embodiment of a data processing apparatus provided in this application is illustrated;

[0032] Figure 7 This is a schematic diagram of the structure of the computing device provided in this application;

[0033] Figure 8 This is a schematic diagram of the structure of the computing device cluster provided in this application;

[0034] Figure 9 This is another schematic diagram of the computing device cluster provided in this application. Detailed Implementation

[0035] Businesses generate numerous invoices during operations. These invoices are typically pre-planned by banks based on annual, quarterly, or project budgets, such as monthly employee salary payments or customers' time deposits. However, in actual operations, unforeseen events, changes in business needs, or other unforeseen factors often lead to the generation of invoices that are not pre-planned. These invoices often only specify the receiving account information. Therefore, the management platform needs to identify these unplanned invoices and find the optimal available account among those with remaining balances for payment and settlement.

[0036] To address the issue of unsettled invoices not finding suitable accounts for payment settlement, this application proposes a data processing method. By categorizing multiple unsettled invoices into different invoice groups, a set of payable accounts for each invoice group is obtained. By comprehensively evaluating multiple invoice groups and multiple payable accounts, suitable accounts are selected for payment settlement for different invoice groups. This method can more effectively allocate and settle funds, thereby preventing problems of fund shortages or surpluses.

[0037] The system architecture and methodological steps provided in this application are described below.

[0038] Based on this, please refer to Figure 1 This application provides a schematic diagram of the structure of a data processing system. For example... Figure 1 As shown, the structure may include a client 100 and an invoice group settlement system 200. A communication connection exists between the client 100 and the invoice group settlement system 200, which can be a wired or wireless connection; this application does not specify a particular connection. The number of clients 100 that establish a communication connection with the invoice group settlement system 200 can be one or more. Figure 1 The example given is a client 100; this application does not impose any specific limitations.

[0039] Client 100 is used to implement human-computer interaction and can be deployed on terminal devices, including personal computers, smartphones, wearable devices, handheld processing devices, tablets, mobile laptops, augmented reality (AR) devices, virtual reality (VR) devices, all-in-one handheld consoles, wearable devices, in-vehicle devices, smart conferencing devices, smart advertising devices, smart home appliances, etc. Smart home appliances can be robot vacuums, robot mops, etc., without specific limitations. In specific implementation, client 100 can be software or applications running on a user-controlled terminal device or computing device, such as a personal computer (PC) client, a World Wide Web (web) client accessed through a browser, an application (APP) client running on a mobile terminal, or a cloud platform console, without specific limitations in this application.

[0040] Specifically, client 100 is used for data processing, data querying, and data analysis in the financial field, primarily for selecting appropriate payment accounts for invoices when payment settlement is required. Optionally, client 100 can be a cloud platform client, such as a cloud platform console, specifically a web-based console or an application programming interface (API) based console; this application does not impose specific limitations. This console can provide data analysis-related cloud services to management users, who can obtain access to the invoice group settlement system 200 provided in this application by purchasing cloud services.

[0041] The invoice group settlement system 200 can be deployed on computing devices or clusters of computing devices. Computing devices include bare metal servers (BMS), virtual machines, containers, or edge computing devices. A BMS refers to a general-purpose physical server, such as an ARM server or an x86 server. A virtual machine refers to a complete computer system simulated by software, possessing full hardware system functionality and running in a completely isolated environment. Any task that can be performed on a physical computer can also be performed on a virtual machine. When creating a virtual machine on a computing device, a portion of the physical machine's hard drive and memory capacity is used as the virtual machine's hard drive and memory capacity. Each virtual machine has an independent basic input / output system (BIOS), hard drive, and operating system, and can be operated like a physical machine. A container is a portable software unit that can combine an application and all its dependencies into a single software package. This package is not limited by the underlying host operating system, thus eliminating the need to build complex environments and simplifying the application development and deployment process. Edge computing devices refer to devices that are closer to the data source and end users, featuring low latency and high bandwidth, such as intelligent routers and edge servers. A computing device cluster can include multiple of the above-mentioned computing devices, such as a data center; this application does not specifically limit this.

[0042] Optionally, the map path query system 200 and the client 100 can be deployed in the same or different computing device clusters. For example, the client 100 can be deployed on a terminal device in a first computing device cluster, and the map path query system 200 can be deployed on a computing device in a second computing device cluster; or, the client 100 and the map path query system 200 can be deployed in the same computing device cluster. It should be understood that the above examples are for illustration and this application does not impose any specific limitations.

[0043] The functions of the invoice integration module 210, account query module 220, and comprehensive decision-making module 230 in the invoice group settlement system 200 are described below.

[0044] When invoices are generated and need to be processed, invoices in the same batch are imported into the invoice group settlement system 200. Subsequently, this system makes matching decisions based on preset rules and algorithms, and sends the final matching decision to the client 100. Users can then view this processed invoice information on the client 100.

[0045] The invoice integration module 210 is responsible for effectively grouping invoices from the same batch to obtain independent invoice groups; the account query module 220 uses the information from these invoice groups to query and filter suitable payable accounts; and the comprehensive decision module 230 comprehensively considers the information from the invoice groups and payable accounts, conducts a comprehensive evaluation, and generates the best matching decision accordingly.

[0046] Based on this, this application provides a data processing method, such as... Figure 2 As shown, the data processing method provided in this application includes the following steps 201-203.

[0047] 201. Obtain multiple invoice groups to be settled, wherein the first invoice group in the multiple invoice groups includes at least one invoice, and the first invoice group is one of the multiple invoice groups.

[0048] Invoice grouping is a crucial task in financial management, essential for the organization, analysis, and understanding of invoice data. When the management platform receives invoices awaiting settlement, it groups them using key information such as the payee account, transaction currency, and payment date. For invoices in the same batch, initial grouping is based on the payee account; all invoices with the same payee account are assigned to the same group. Furthermore, other key information, such as transaction currency and payment date, needs to be compared. When invoices within a group exhibit significant differences in these dimensions, further detailed subdivision of these groups is required. For example, if some invoices under the same payee account are in USD while others are in JPY, further differentiation is necessary; similarly, if invoices within a group have significantly different payment dates, further differentiation is also required.

[0049] Please see Figure 3 , Figure 3 This is a schematic diagram illustrating the statistical processing of an invoice pending settlement.

[0050] For example, a batch may contain 10 invoices awaiting settlement. Based on the payee account information indicated on the invoices, these invoices can be divided into four groups: "Invoice Group 1" (including Invoice 1, Invoice 2, and Invoice 3), "Invoice Group 2" (including Invoice 4 and Invoice 5), "Invoice Group 3" (including Invoice 6, Invoice 7, and Invoice 8), and "Invoice Group 4" (including Invoice 9 and Invoice 10). These four invoice groups correspond to different payee accounts: "Payee Account a," "Payee Account b," "Payee Account c," and "Payee Account d."

[0051] It should be understood that the aforementioned grouping is only based on the different receiving accounts. However, each invoice group can be further subdivided based on other information. For example, in "Invoice Group 1," the invoices for "Invoice 1" and "Invoice 2" specify the transaction currency as US dollars, while the invoice for "Invoice 3" specifies the transaction currency as Japanese yen. Therefore, the invoices in "Invoice Group 1" can be further subdivided, and the receiving accounts corresponding to the subdivided invoice groups can be distinguished accordingly, such as "Receiving Account a - US Dollar" and "Receiving Account a - Japanese Yen." Each invoice group includes at least one invoice pending settlement.

[0052] 202. Obtain multiple primary accounts, which are payment-available accounts used to settle multiple invoice groups.

[0053] After obtaining multiple invoice groups, since each invoice group corresponds to the same receiving account, the paying bank with which the receiving account has a transaction relationship can be found based on the bank to which the receiving account belongs. The account with remaining funds in the paying bank is the account that can be disbursed.

[0054] Specifically, based on the receiving bank as the endpoint of the transaction path, feasible transaction paths are analyzed by retrieving historical transaction records and / or querying knowledge graphs. Here, the receiving bank refers to the bank to which each receiving account belongs. By querying historical transaction records, actual existing transaction paths can be obtained; by searching the knowledge graph or analyzing the relationships between multiple transaction entities, theoretically feasible transaction paths can be obtained. A knowledge graph, also known as a "financial knowledge graph" or "banking knowledge graph," is a graphical representation of the relationships between various transaction entities in a banking transaction network. The knowledge graph records the attribute characteristics of each transaction entity in different transaction scenarios, as well as the relationships and influences between transaction entities.

[0055] For example, taking the query of the transaction path of "Invoice Group 1" as an example, such as Figure 4 As shown, feasible transaction paths are explored through knowledge graphs.

[0056] In this application, the bank associated with "receiving account a" is "receiving bank a". Using "receiving bank a" as the endpoint of the transaction path, a search analysis yields three feasible transaction paths: "Path 1": "Paying bank A - Receiving bank a", "Path 2": "Paying bank B - Bank D - Bank E - Receiving bank a", and "Path 3": "Paying bank B - Bank F - Receiving bank a".

[0057] It should be noted that this application only considers the initial bank account within the payment bank when selecting the payable account. Bank accounts within intermediary banks that may be involved in the transaction path only play a role in fund transfer in practice, so this solution does not require consideration of intermediary bank account selection. Therefore, for both "Path 2" and "Path 3," the payment bank is "Paying Bank B," so the transaction path for "Invoice Group 1" can be considered as having only two paths: "Transaction Path 1" with "Paying Bank A" and "Transaction Path 2" with "Paying Bank B." "Transaction Path 2" can choose either "Path 2" or "Path 3" as the specific transaction path.

[0058] Furthermore, when tracing transaction paths for each invoice group, different transaction paths can be scored based on certain information about the invoices within the group, thus determining the priority of each path. For example, scores can be assigned based on the transaction attributes and risk profiles of the entities involved in different transaction paths; or, if an invoice in a group indicates a relevant transaction scenario, such as a bank transaction, an overseas transaction, or a loan application, scores can be assigned by analyzing the element compatibility between the transaction path and that scenario. It should be understood that the above examples are for illustrative purposes only and are not intended to impose specific limitations.

[0059] Similarly, after completing the priority analysis of the transaction paths, we can continue to analyze the account priority of the paying bank in each transaction path. In practical applications, each paying bank will include at least one account with a remaining balance that can be withdrawn. The priority of each account in the paying bank can be obtained by looking up the account levels within the bank or analyzing the compatibility of the account attributes with the elements of the transaction scenario.

[0060] like Figure 3 As shown, the two transaction paths for "Invoice Group 1" are "Transaction Path 1" and "Transaction Path 2" in order of path priority. The paying bank for "Transaction Path 1" is "Paying Bank A," which has three accounts available for disbursement, ordered by their internal account priority as "Account 1," "Account 2," and "Account 3." Similarly, "Transaction Path 2" corresponds to "Paying Bank B," and its accounts available for disbursement, ordered by account priority, are "Account 4" and "Account 5."

[0061] Therefore, considering the path priority and account priority of the five payable accounts in "Invoice Group 1", the final priority order can be "Account 1", "Account 2", "Account 3", "Account 4" and "Account 5" respectively.

[0062] Similarly, such as Figure 3As shown, "Invoice Group 2" corresponds to 4 accounts that can make payments, which are "Account 4", "Account 5", "Account 6" and "Account 7" in order of priority; "Invoice Group 3" corresponds to 4 accounts that can make payments, which are "Account 6", "Account 7", "Account 4" and "Account 5" in order of priority; "Invoice Group 4" corresponds to 7 accounts that can make payments, which are "Account 6", "Account 7", "Account 1", "Account 2" and "Account 3" in order of priority.

[0063] In this application, the priority of the transaction path is higher than the priority of the account within the bank. Therefore, in the final sorting process, path sorting is considered first, followed by account sorting. However, in practical applications, the final priority setting can be adjusted according to specific business needs.

[0064] In summary, for the four invoice groups obtained in step 201, a total of seven payable accounts can be obtained, from "Account 1" to "Account 7," which are the aforementioned first accounts. It should be understood that the above example is for illustration only. In actual applications, the number of invoices to be settled in batches processed at the same time and the number of payable accounts that can be selected for each invoice group may be more. This application does not make specific limitations.

[0065] 203. Based on multiple invoice groups and multiple first accounts, determine the target account corresponding to the first invoice group, and use the available balance of the target account to settle at least one invoice group.

[0066] After obtaining multiple invoice groups and multiple primary accounts, since each invoice group has its own required settlement amount and each primary account has a different available balance, a suitable target account is selected for each invoice group based on comprehensive consideration, and the balance of the target account is used to settle the invoice group's payment.

[0067] Next, taking the four invoice groups and seven first accounts in steps 201 and 202 as examples, the specific matching process will be described in detail.

[0068] The first step is data preparation. This involves obtaining the settlement amount for each invoice group and the available balance for each primary account, as well as generating a score matrix based on the priority information of each account for the invoice group.

[0069] For example, the amount vector of the invoice group is g = (30, 20, 5, 50), and the balance vector of the first account is a = (50, 30, 10, 20, 50). The numbers in the vector represent the total amount of the invoices in the invoice group. For example, the total amount of "Invoice Group 1" g1 is 30, and the available balance of "Account 1" a1 is 50.

[0070] For example, according to Figure 3The priority information of each account in the invoice group is used to construct a score matrix S, indicating the priority score of invoice group i for account j:

[0071]

[0072] Where i takes values ​​[1,4] and j takes values ​​[1,7]. Each row of data in the matrix represents the priority ranking of accounts eligible for withdrawal in that group, with a value of "10" indicating the highest priority, "9" indicating the next highest priority, and so on. For example, S 1,1 =10 indicates that "Invoice Group 1" has a priority score of 10 for "Account 1," the highest priority. Furthermore, a value of "0" in the matrix indicates that the corresponding account has no transaction relationship with that invoice group. For example, S 1,6 =0 indicates that there is no transaction relationship between "Invoice Group 1" and "Account 6".

[0073] It should be noted that in practical applications, arbitrary score values ​​can be set to indicate different priority information and the absence of a transaction relationship. For example, a score of "100" can be set to indicate the highest priority, and a score of "-1" can be set to indicate that there is no transaction relationship between the two parties. When there are more invoice groups and more accounts available for payment, larger values ​​can be used to indicate the priority of all accounts.

[0074] Optionally, when determining the priority of multiple payable accounts in the final invoice group, the aforementioned path priority and account priority can be scored hierarchically, with different weight ratios set for different levels to determine the final priority. For example, when querying the transaction path of "Invoice Group 1", priority scores for "Transaction Path 1" and "Transaction Path 2" may also be obtained. For example, "Transaction Path 1" might score 90 points, and "Transaction Path 2" might score 80 points. Similarly, when querying the payable bank's payable accounts, priority scores for each account may also be obtained. For example, "Account 1" might score 95 points, "Account 2" might score 80 points, and "Account 3" might score 60 points, etc. Based on these two scores, different weight ratios can be set for each score to calculate the final score for each account when determining the final priority. For example, the path priority score might account for 0.6, and the account priority score might account for 0.4, etc. The specific settings can be configured according to actual business needs, and this application does not impose any limitations.

[0075] The second step is to set up formulas and establish mathematical models based on the target expectations.

[0076] In this application, regarding multiple invoice groups awaiting settlement, the objective includes a primary objective and a secondary objective. The primary objective is to enable more invoice groups to be successfully matched with suitable target accounts for settlement, while the secondary objective is that, during matching, each invoice group should prioritize accounts with higher priority. These two aspects together constitute the overall objective for processing invoice group settlement.

[0077] Therefore, the final choice of account j for invoice group i is defined as the decision variable δ. i,j If invoice group i selects account j, then δ ∈{0,1}. i,j The value is 1; if the account is not selected, then δ i,j The value of is 0.

[0078] This application achieves the aforementioned objective by solving the following formula:

[0079]

[0080] Among them, coefficients α and β are the key coefficients for the expected control target. This is used to ensure that more invoice groups are matched with accounts that have sufficient balances to fully meet financial needs. This is used to prioritize accounts with higher priority among all selected invoice groups, ensuring efficient financial operations and optimized resource allocation. Ultimately, it ensures that the score of selected account j in invoice group i is greater than the priority score of selected account j. That is, δ i,j When = 1, it makes This can satisfy the primary expectation of matching more invoice groups to an account.

[0081] For example, since the highest priority score in the score matrix S is 10 points, the ratio of α to β is set to 10:1 to meet the target expectation. Similarly, when the highest priority score in the score matrix S becomes 100 points, the ratio of α to β is changed accordingly to 100:1.

[0082] The third step is to set constraints.

[0083] In this application, three constraints can be set according to business needs, namely:

[0084] (1) Ensure that each invoice group selects only one account for payment:

[0085] (2) Ensure that the account balance is sufficient to cover the amount of the invoice set:

[0086] (3) Accounts with a score of 0 in the score matrix S cannot be selected: for example, δ 1,6 =0; δ 1,7=0; δ 2,1 =0, etc.

[0087] Based on this, the settlement problem between the invoice group and the target account is transformed into a mixed integer programming problem. By solving the aforementioned formula, the optimal matching scheme between the invoice group and the target account is obtained. Please refer to [link / reference]. Figure 5 , Figure 5 This is a schematic diagram of the matching scheme in this application.

[0088] The final matching results are δ 1,2 =1: "Invoice Group 1" and "Account 2", δ 2,4 =1: "Invoice Group 2" and "Account 4", δ 3,6 =1: "Invoice Group 3" and "Account 6 and δ" 4,1 =1: "Invoice Group 4" and "Account 1".

[0089] It should be understood that the aforementioned matching results are based on only 4 invoice groups and 7 accounts. In actual operations, the number of invoices calculated at one time may reach tens of thousands. Using the data processing method provided in this application, the efficiency improvement will be more significant. Furthermore, there may be invoice groups with excessively large amounts, making it impossible to find a suitable match in existing accounts for payment settlement; similarly, the available balance of an account may be sufficient to cover the amounts of multiple invoice groups. Therefore, during the matching decision-making process, some invoice groups may fail to match with the target account, or at least two invoice groups may ultimately choose the same target account for settlement.

[0090] In summary, this application evaluates all possible invoice group matching schemes and sets the target expected value based on the aforementioned formula. Among all matching schemes, the one with the highest score is selected. This ensures that the final matching strategy satisfies both the primary expectation of settling more invoice groups and the secondary expectation of selecting higher-priority accounts, resulting in a final decision that achieves the optimal overall effect.

[0091] In this application, the payable accounts corresponding to invoice groups have path priority and account priority. This application transforms these multi-dimensional evaluation criteria into a one-dimensional system using priority scores, simplifying the final evaluation process. Different scores represent different priority information, and these scores are used to integrate path priority and account priority for unified ranking. Decision-makers can more easily make decisions based on the scores, improving decision-making efficiency.

[0092] Furthermore, by analyzing the primary and secondary expectations of financial needs, and combining them with the aforementioned priority scores, a mathematical model and related constraints are constructed. This mathematical model abstracts the practical problem, thereby simplifying it. Through model analysis, resources can be allocated and utilized more effectively. Each score in the score matrix carries multiple meanings; it not only reflects priority information but also indicates whether there are transaction relationships between invoice groups and accounts. Using a single indicator to reflect information from multiple dimensions simplifies the complexity of the model and improves the efficiency of the decision-making process.

[0093] The method provided in this application has been described in detail above. Next, the device provided in this application for performing the above method will be described.

[0094] Please see Figure 6 , Figure 6 This is a schematic diagram of the structure of a data processing device provided in this application. Figure 6 As shown, the data processing apparatus provided in this application includes:

[0095] The acquisition module 601 is used to acquire multiple invoice groups to be settled, wherein the first invoice group includes at least one invoice and the first invoice group is one invoice group among the multiple invoice groups;

[0096] The acquisition module 601 is also used to acquire multiple first accounts, which are disbursable accounts used to settle multiple invoice groups;

[0097] The processing module 602 is used to determine the target account corresponding to the first invoice group based on multiple invoice groups and multiple first accounts, and the available balance of the target account is used to settle at least one invoice group.

[0098] It should be understood that the data processing device 600 of this embodiment can be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. It can also be implemented using software. Figures 2 to 5 In the data processing method shown, the data processing device 600 and its various modules can also be software modules.

[0099] In one possible implementation, the acquisition module 601 is specifically used to: acquire multiple invoices to be settled; divide the multiple invoices into multiple invoice groups according to the target information of each invoice; wherein, the target information includes the receiving account information, transaction currency information, and payment time information.

[0100] In one possible implementation, the acquisition module 601 is specifically used to: determine multiple target banks based on multiple invoice groups, each target bank having a transaction relationship with at least one bank indicated by the receiving account information, and each target bank including at least one first account.

[0101] In one possible implementation, the processing module 602 is specifically used to: determine a set of multiple second accounts for multiple invoice groups, each set of second accounts including multiple second accounts, each second account corresponding to an invoice group, and the second account of each invoice group being one of multiple first accounts;

[0102] Determine the target account set, which includes the target account corresponding to the first invoice group. The target account set is the second account set with the largest number of settled invoice groups among multiple second account sets.

[0103] In one possible implementation, the processing module 602 is specifically used to: determine a target account set based on the priority information of each of the multiple second accounts, wherein the priority information of each second account is used to indicate the settlement priority of the second account for each invoice group.

[0104] In one possible implementation, the processing module 602 is specifically used to: construct a scoring matrix, wherein each row of the scoring matrix contains multiple elements representing the scores of the second invoice group for each second account, the second invoice group being any one of multiple invoice groups, and the scores being determined based on the path priority and account priority of the second account, the path priority being the priority of the transaction path between the second account and the receiving account of the second invoice group, and the account priority being the account priority of the second account within the bank where the second account is located;

[0105] Based on the scoring matrix, determine the total score of each of the multiple second account sets. The total score of each second account set is the sum of the scores of the invoice groups corresponding to the multiple second accounts in the second account set.

[0106] The target account set is determined from multiple sets of secondary accounts, and the sum of the scores of the target account set is the maximum sum of the scores of the multiple sets of secondary accounts.

[0107] In one possible implementation, the number of invoice groups settled by the target account set is less than or equal to the number of multiple invoice groups.

[0108] In one possible implementation, at least two invoice groups target the same account.

[0109] The data processing apparatus 600 according to the present invention can correspond to performing the methods described in the embodiments of the present invention, and the above and other operations and / or functions of each unit in the data processing apparatus 600 are respectively for implementing Figures 2 to 5 For the sake of brevity, the corresponding processes of each method in the code will not be elaborated here.

[0110] Both the acquisition module and the processing module can be implemented in software or hardware. For example, the implementation of the acquisition module will be described below. Similarly, the implementation of the processing module can refer to the implementation of the acquisition module.

[0111] As an example of a software functional unit, a module can include code running on a computing instance. A computing instance can include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned computing instance can be one or more. For example, a module can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code can be distributed within the same availability zone (AZ) or in different AZs, each AZ comprising one or more geographically proximate data centers. Typically, a region can include multiple AZs.

[0112] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0113] As an example of a hardware functional unit, an acquisition module may include at least one computing device, such as a server. Alternatively, the acquisition module may be implemented using a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The aforementioned PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), a data processing unit (DPU), a neural network processing unit (NPU), a system-on-chip (SoC), an offload card, an accelerator card, or any combination thereof.

[0114] The acquisition module includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the acquisition module can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the acquisition module can be distributed within the same Virtual Private Cloud (VPC) or multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, GALs, DPUs, NPUs, SoCs, offloading cards, and accelerator cards.

[0115] It should be noted that, in other embodiments, the acquisition module can be used to execute any step in the data processing method, and the processing module can be used to execute any step in the data processing method. The steps that the acquisition module and the processing module are responsible for implementing can be specified as needed. By implementing different steps in the data processing method through the acquisition module and the processing module respectively, all functions of the data processing device can be realized.

[0116] This application also provides a computing device 100. For example... Figure 7As shown, the computing device 100 includes a bus 102, a processor 104, a memory 106, and a communication interface 108. The processor 104, the memory 106, and the communication interface 108 communicate with each other via the bus 102. The computing device 100 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 100.

[0117] Bus 102 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 7 The bus 104 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 104 may include a path for transmitting information between various components of the computing device 100 (e.g., memory 106, processor 104, communication interface 108).

[0118] The processor 104 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0119] Memory 106 may include volatile memory, such as random access memory (RAM). Processor 104 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0120] The memory 106 stores executable program code, which the processor 104 executes to implement the functions of the aforementioned acquisition module and processing module, thereby realizing the data processing method. In other words, the memory 106 stores instructions for executing the data processing method.

[0121] Alternatively, the memory 106 stores executable code, which the processor 104 executes to implement the functions of the aforementioned data processing device, thereby implementing the data processing method. That is, the memory 106 stores instructions for executing the data processing method.

[0122] The communication interface 108 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 100 and other devices or communication networks.

[0123] It should be understood that the computing device 100 provided according to this application may correspond to the data processing device 600 in this application, and may correspond to the execution of the embodiments according to the present invention. Figure 2 The corresponding entities in the method 100 shown, and the above and other operations and / or functions of each module of the computing device 100, are respectively implemented to achieve Figures 2 to 5 For the sake of brevity, the corresponding processes of each method in the code will not be elaborated here.

[0124] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0125] like Figure 8 As shown, the computing device cluster includes at least one computing device 100. The memory 106 of one or more computing devices 100 in the computing device cluster may store the same instructions for executing data processing methods.

[0126] In some possible implementations, the memory 106 of one or more computing devices 100 in the computing device cluster may also store partial instructions for executing data processing methods. In other words, a combination of one or more computing devices 100 can jointly execute instructions for executing data processing methods.

[0127] It should be noted that the memories 106 in different computing devices 100 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the data processing device. That is, the instructions stored in the memories 106 of different computing devices 100 can implement the functions of one or more devices in the acquisition module and processing module.

[0128] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 9 One possible implementation is shown. For example... Figure 9As shown, two computing devices 100A and 100B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 106 in computing device 100A stores instructions for executing the functions of the acquisition module. Simultaneously, the memory 106 in computing device 100B stores instructions for executing the functions of the processing module.

[0129] It should be understood that Figure 9 The functions of the computing device 100A shown can also be performed by multiple computing devices 100. Similarly, the functions of the computing device 100B can also be performed by multiple computing devices 100.

[0130] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform a data processing method.

[0131] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a data processing method.

[0132] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.

[0133] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A data processing method, characterized by, The method comprises the following steps: obtaining a plurality of invoice groups to be settled, wherein a first invoice group of the plurality of invoice groups comprises at least one invoice, and the first invoice group is one of the plurality of invoice groups; obtaining a plurality of first accounts, wherein the plurality of first accounts are pay-out accounts used for settling the plurality of invoice groups; determining a target account corresponding to the first invoice group according to the plurality of invoice groups and the plurality of first accounts, wherein an available balance of the target account is used for settling at least one of the invoice groups.

2. The method of claim 1, wherein, The method of obtaining a plurality of invoice groups to be settled comprises: obtaining a plurality of invoices to be settled; dividing the plurality of invoices into the plurality of invoice groups according to target information of each invoice, wherein the target information comprises account information, transaction currency information, and payment time information.

3. The method of claim 2, wherein, The method of obtaining a plurality of first accounts comprises: determining a plurality of target banks according to the plurality of invoice groups, wherein each target bank has a transaction relationship with at least one bank indicated by the account information, and each target bank comprises at least one first account.

4. The method according to any one of claims 1-3, characterized in that, The method of determining a target account corresponding to the first invoice group according to the plurality of invoice groups and the plurality of first accounts comprises: determining a plurality of second account sets of the plurality of invoice groups, wherein each second account set comprises a plurality of second accounts, each second account corresponds to one invoice group, and the second account of each invoice group is one of the plurality of first accounts; determining a target account set, wherein the target account set comprises the target account corresponding to the first invoice group, and the target account set is a second account set with the largest number of settled invoice groups among the plurality of second account sets.

5. The method of claim 4, wherein, The method of determining a target account set comprises: determining a target account set according to priority information of each second account in the plurality of second accounts, wherein the priority information of each second account is used to indicate a settlement priority of the second account for each invoice group.

6. The method of claim 5, wherein, The method of determining a target account set according to priority information of each second account in the plurality of second accounts comprises: constructing a score matrix, wherein a plurality of elements in each row of the score matrix are scores of a second invoice group for each second account, the second invoice group is any one of the plurality of invoice groups, and the score is determined based on a path priority of the second account and an account priority, the path priority is a priority of a transaction path between the second account and an account of the second invoice group, and the account priority is an account priority of the second account in a bank where the second account is located; determining a score sum of each second account set in the plurality of second account sets according to the score matrix, wherein the score sum of each second account set is a sum of scores of corresponding invoice groups of a plurality of second accounts in the second account set; determining a target account set from the plurality of second account sets, wherein a score sum of the target account set is a maximum value in the score sums of the plurality of second account sets.

7. A data processing apparatus, characterized by The method comprises the following steps: The acquisition module is configured to acquire a plurality of invoice groups to be settled, a first invoice group in the plurality of invoice groups comprising at least one invoice, and the first invoice group being one invoice group in the plurality of invoice groups; The acquisition module is further configured to acquire a plurality of first accounts, the plurality of first accounts being payable accounts used for settling the plurality of invoice groups; The processing module is configured to determine, according to the plurality of invoice groups and the plurality of first accounts, a target account corresponding to the first invoice group, and an available balance of the target account being used for settling at least one invoice group.

8. The apparatus of claim 7, wherein, The acquisition module is specifically configured to: acquire a plurality of invoices to be settled; divide the plurality of invoices into the plurality of invoice groups according to target information of each invoice, wherein the target information comprises account information, transaction currency information, and payment time information.

9. The apparatus of claim 8, wherein, The acquisition module is specifically configured to: determine a plurality of target banks according to the plurality of invoice groups, each target bank having a transaction relationship with at least one bank indicated by the account information, and each target bank comprising at least one first account.

10. The apparatus of any one of claims 7-9, wherein, The processing device is specifically configured to: determine a plurality of second account sets of the plurality of invoice groups, each second account set comprising a plurality of second accounts, each second account corresponding to one invoice group, and each second account of each invoice group being one first account in the plurality of first accounts; determine a target account set, the target account set comprising the target account corresponding to the first invoice group, and the target account set being a second account set with the largest number of settled invoice groups in the plurality of second account sets.

11. The apparatus of claim 10, wherein, The processing device is specifically configured to: determine a target account set according to priority information of each second account in the plurality of second accounts, the priority information of each second account being used to indicate a settlement priority of the second account for each invoice group.

12. The apparatus of claim 11, wherein, The processing device is specifically configured to: construct a score matrix, a plurality of elements in each row of the score matrix being scores of a second invoice group for each second account, the second invoice group being any one invoice group in the plurality of invoice groups, and the score being determined based on a path priority of the second account and an account priority, the path priority being a priority of a transaction path between the second account and an account of the second invoice group, and the account priority being an account priority of the second account in a bank where the second account is located; determine, according to the score matrix, a score sum of each second account set in the plurality of second account sets, the score sum of each second account set being a sum of scores of corresponding invoice groups of a plurality of second accounts in the second account set; determine a target account set from the plurality of second account sets, the score sum of the target account set being a maximum value in the score sums of the plurality of second account sets.

13. A computing device, comprising: The device comprises a memory and a processor; the memory stores code, and the processor is configured to acquire the code and perform a method according to any one of claims 1 to 6.

14. A cluster of computing devices, characterized in that, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the operational steps of the method of any of claims 1 to 6.

15. A computer program product comprising instructions, characterized in that, the instructions, when executed by the cluster of computing devices, cause the cluster of computing devices to perform the method of any of claims 1 to 6.

16. A computer readable storage medium characterized by: computer program instructions, which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform the method of any of claims 1 to 6.