Billing processing system and billing processing method of cloud service

TW202632577AActive Publication Date: 2026-08-01CHUNGHWA TELECOM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
TW · TW
Patent Type
Applications
Current Assignee / Owner
CHUNGHWA TELECOM CO LTD
Filing Date
2025-01-23
Publication Date
2026-08-01

AI Technical Summary

Technical Problem

Existing technologies are inefficient in processing large amounts of accounting data from cloud services and require independent development for each platform, leading to complex and non-reusable pricing logic.

Method used

A cloud service billing system utilizing a processor, transceiver, and storage medium to process accounting data through a domain-specific language, parallelization engine, and modules like the Apache Beam framework, enabling efficient parallel processing and reusable pricing logic across platforms.

Benefits of technology

Simplifies multi-cloud accounting operations, improves processing efficiency, and allows flexible application of cost-saving plans by controlling execution order, reducing technical complexity and enhancing data processing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A billing processing system and a billing processing method of cloud service are provided. The method includes: receiving a billing pricing command written in a domain language; analyzing the billing pricing command to obtain a pricing file; transmitting the pricing file to a parallelization engine to generate a pricing result; and generating a bill according to the pricing result and outputting the bill.
Need to check novelty before this filing date? Find Prior Art

Description

Cloud-based accounting systems and methods This invention relates to a data processing technology, and more particularly to an accounting system and method for cloud services. In the public cloud business model, public cloud customers typically seek assistance from public cloud solution providers to handle related technical issues and obtain lower cloud product fees. Public cloud solution providers, on the other hand, profit from the price difference through discounts offered by public cloud providers or by purchasing their own cost-saving plans. Therefore, the business model of public cloud solution providers involves obtaining accounting data from public cloud providers, performing various accounting data processing tasks, and generating receivables from customers. Because accounting data is extremely large, and the volume increases exponentially with business growth, it cannot be loaded and processed locally all at once. Current technologies have the following drawbacks: Existing technologies typically load accounting data into a database first and then perform accounting processing, but this method is extremely inefficient for processing large amounts of data. Furthermore, the accounting processing logic of existing technologies cannot be reused, requiring independent development, which increases the technical complexity. This invention provides a cloud service accounting system and method, capable of handling large amounts of accounting data generated by cloud services. This invention simplifies accounting operations in multi-cloud environments and improves processing efficiency. The present invention discloses a cloud service billing system comprising a processor and a transceiver. The processor is coupled to the transceiver, wherein the processor is configured to perform: receiving, via the transceiver, billing commands written in a domain-specific language; parsing the billing commands to obtain program code, and encapsulating the program code to generate a billing file; transmitting the billing file to a parallelization engine via the transceiver to generate a billing result; and generating an invoice based on the billing result, and outputting the invoice via the transceiver. In one embodiment of the invention, the processor described above is configured to further perform: selecting a first mapping table from a plurality of mapping tables according to a domain language; and converting an accounting quotation command into code according to the first mapping table. In one embodiment of the invention, the processor described above is configured to further execute: wrapping code based on the Apache beam framework to generate a batch file. In one embodiment of the present invention, the above-mentioned accounting pricing command includes at least one pricing task, wherein the parallelization engine generates pricing results based on at least one pricing task. In one embodiment of the present invention, the above-mentioned at least one pricing task includes: loading accounting data, wherein the accounting data includes multiple accounts; processing a first account among the multiple accounts according to preset rules to generate a first pricing result corresponding to the first account; and dividing the multiple accounts into multiple groups. In one embodiment of the invention, the aforementioned plurality of groups includes a first group, wherein the first group includes a first billing transaction, and wherein at least one batch pricing task further includes: providing a preferential price for the first billing transaction according to a cloud service savings scheme to generate a first batch pricing result, wherein the batch pricing result includes the first batch pricing result. In one embodiment of the invention, the processor described above is configured to further perform: subtracting the discounted traffic of the savings scheme from the first traffic of the first billing to obtain the remaining discounted traffic; and in response to the remaining discounted traffic being greater than zero, providing a discounted price for the second billing in the first group based on the remaining discounted traffic to generate a second batch pricing result, wherein the batch pricing result includes the second batch pricing result. The present invention provides a cloud service billing processing method, comprising: receiving a billing order written in a domain language; parsing the billing order to obtain program code, and encapsulating the program code to generate a billing file; transmitting the billing file to a parallelization engine to generate a billing result; and generating an invoice based on the billing result and outputting the invoice. Based on the above, this invention proposes an improved multi-cloud accounting data processing method through the Apache Beam model. This invention can efficiently process multi-cloud accounting data, and its modules include an accounting pricing command module, a cross-platform parallel pricing module, a cross-platform parallel savings plan application module, and a process engine module. Its operation method includes: (1) Accounting managers can use a domain-specific language to create accounting pricing commands through the accounting pricing command module; (2) The accounting pricing command module will send the accounting pricing commands to the cross-platform parallel pricing module and the cross-platform parallel savings plan application module to generate corresponding parallel pricing jobs and parallel savings plan application jobs; (3) The process engine module will generate a process model according to the steps of the accounting pricing command, and call the corresponding parallel pricing jobs and parallel savings plan application jobs according to the process model. Through the above steps, the technical difficulty of multi-cloud accounting pricing can be simplified, the problem of non-reusable pricing logic can be solved, and the efficiency of accounting data processing can be greatly improved. Figure 1 illustrates a schematic diagram of a cloud service billing system 100 according to an embodiment of the invention. The billing system 100 may include a processor 110, a storage medium 120, and a transceiver 130. Processor 110 may be, for example, a central processing unit (CPU), or other programmable general-purpose or special-purpose microcontroller (MCU), microprocessor, digital signal processor (DSP), programmable controller, application-specific integrated circuit (ASIC), graphics processing unit (GPU), image signal processor (ISP), image processing unit (IPU), arithmetic logic unit (ALU), complex programmable logic device (CPLD), field programmable gate array (FPGA), or other similar elements or combinations thereof. Processor 110 may be coupled to storage medium 120 and transceiver 130, and access and execute multiple modules and various applications stored in storage medium 120. Storage medium 120 may be any type of fixed or removable random access memory (RAM), read-only memory (ROM), flash memory, hard disk drive (HDD), solid-state drive (SSD), or similar components or combinations thereof, used to store multiple modules or various applications executable by processor 110. In this embodiment, storage medium 120 may store multiple modules including an accounting pricing command module 121, a cross-platform parallel pricing module 122, a parallel savings plan application module 123, and a process engine 124, the functions of which will be described later. Transceiver 130 transmits or receives signals wirelessly or via a wired connection. Transceiver 130 may also perform operations such as low-noise amplification, impedance matching, mixing, up- or down-frequency conversion, filtering, amplification, and similar operations. In one embodiment, processor 110 can communicate with a terminal device or a public cloud server via transceiver 130 to receive user input from the terminal device or accounting data from the public cloud server. The accounting quotation command module 121 provides a graphical user interface for accounting managers to operate via transceiver 130. Accounting managers can write accounting quotation commands using a domain-specific language. Each accounting quotation command can contain one or more quotation tasks written by the accounting manager. Furthermore, other information input by the accounting manager in the accounting quotation command may include, but is not limited to: the location and format of accounting files, accounting data clustering mechanisms, accounting data adjustment and aggregation rules, the application mechanism of cost-saving schemes, or the workflow sequence of quotation tasks, etc. The domain-specific language can be a programming language familiar to the user. The accounting quotation command module 121 can convert any domain-specific language input by the user into code in a preset programming language. This effectively reduces the complexity of the quotation logic settings. The billing order module 121 can parse billing orders to obtain code in a preset programming language. Specifically, the storage medium 120 can store multiple mapping tables, each used to convert code edited in a specific domain language into code in a preset programming language. The billing order module 121 can parse billing orders to determine the corresponding domain language, and select the mapping table corresponding to that domain language from the multiple mapping tables. The billing order module 121 can then convert the billing order into code in the preset programming language based on the selected mapping table. Those familiar with public cloud pricing operations know that pricing is a crucial task for public cloud solution providers. Through a series of business rules, providers use pricing to readjust accounting data, calculate customer fees, and generate profit. However, previous technologies were extremely inefficient at processing large amounts of data and suffered from the drawback of non-reusable accounting logic. The cross-platform parallel pricing module 122 solves these problems. The cross-platform parallel pricing module 122 can provide data parallel processing capabilities, including but not limited to I / O mechanisms, rule judgment, logical operations, and data aggregation. The cross-platform parallel pricing module 122 can receive the code of accounting pricing commands generated by the accounting pricing command module and can encapsulate the code based on the Apache Beam framework to generate pricing files. These pricing files can contain accounting pricing commands and one or more pricing tasks that can be processed in parallel. Parallel pricing tasks can quickly process large amounts of data, thereby improving data processing efficiency. Users familiar with public cloud cost-saving plans know that these plans are cost-saving mechanisms offered by public cloud providers. Cost-saving plans allow users to obtain more favorable prices for specific cloud resources by guaranteeing usage quotas. In other words, cost-saving plans offer discounted bandwidth for specific public cloud services (i.e., specific bandwidth is priced at a discounted rate). Therefore, users need to pre-estimate their bandwidth usage for specific cloud resources to correctly purchase a cost-saving plan. If bandwidth usage is unstable, the cost-saving plan may be wasted or insufficient. Furthermore, if a user's purchased cost-saving plan is not fully utilized, the public cloud provider will randomly apply it to other users, making it impossible to specify the application target. Another issue is parallel processing. Those familiar with parallel processing know that it is unordered, meaning the execution order of data cannot be controlled. However, applying cost-saving plans requires strict control over the execution order of each data transaction. The Parallel Savings Plan Application Module 123 can solve the above problems. The Parallel Savings Plan Application Module 123 provides an optimized method for applying saving plans. Building upon the basic parallel processing method of Apache Beam, it addresses the shortcomings of existing technologies by adding a parallel execution method for saving plan clustering, restoration, and application. This improves upon the deficiencies of current public cloud saving plans and allows for the reallocation of saving plan quotas to specific objects, making the saving plan application mechanism more flexible. The parallel savings plan application module 123 can read all accounting data related to the parallel accounting savings plan. Through the parallel data parsing mechanism, it can obtain information such as the amount of the cloud service savings plan purchased by the user (e.g., daily discounted data traffic). In one embodiment, the parallel savings plan application module 123 can restore the accounting data that has been applied to the savings plan in a parallel manner, restoring it to the original cost state before it was applied. The parallel savings plan application module 123 obtains information on savings schemes and, in conjunction with the accounting quotation command 121, performs a parallel comparison of all original accounting data. This allows the savings schemes and applicable accounting entries to be assigned to the same savings plan data set object. A savings plan data set object can contain one or more savings schemes and one or more original accounting entries. Within the same savings plan data set object, at least one applicable accounting entry can be found. Saving schemes and accounting entries from different savings plan data sets cannot be cross-applied. Tables 1 and 2 show examples of different savings plan data set objects. Table 1 Table 2 The parallel application process for each savings plan data set item is as follows: Iterate through each savings plan in the savings plan data set item, checking if the original data for each expense in the savings plan data set item can be applied to this savings plan. If it can be applied, execute the application process until the savings plan's limit is zero. This process will continue until the limit for each savings plan in the savings plan data set item is zero, or until all expenses in the savings plan data set item have been applied (i.e., all expense traffic has received discounted pricing). The process engine module 124 may have a local parallelization engine or be communicatively connected to a remote (e.g., cloud) parallelization engine. The process engine module 124 can transmit pricing files to the parallelization engine. The parallelization engine can receive the pricing files to obtain accounting pricing commands, and determine the execution order and calling method of one or more pricing tasks based on the accounting pricing commands, thereby generating a process model. The parallelization savings plan application module 123 or the process engine module 124 can use the parallelization engine to sequentially or in parallel call and execute related pricing tasks according to the process model, and record the pricing results generated after each pricing task is executed. The process engine module 124 may have error monitoring capabilities. Tables 3, 4, and 5 provide examples of data generated at each step of the process model. The process model may include information such as pricing jobs (e.g., job parameters), pricing tasks (e.g., step parameters), and actions of pricing tasks (e.g., step_parameter parameters). Each pricing job may contain one or more sequential pricing tasks. Each pricing task processes the billing according to its actions (e.g., multiplying the flow rate by the unit price to calculate the original price, multiplying the original price by 0.8 to provide a discount to the customer). Table 3 Table 4 Table 5 The process engine module 124 can generate invoices based on the pricing results and output the invoices via transceiver 130. Following this method, the adjusted costs after pricing and the amount payable by each customer can be obtained. Compared to existing technologies, this effectively reduces the complexity of the pricing logic and enables more efficient processing of accounting data. Figure 2 illustrates a flowchart of generating a pricing result according to an embodiment of the invention, wherein the flowchart may be implemented by the accounting system 100 or the parallelization engine shown in Figure 1. In step S201, the parallelization engine can load public cloud service billing data, which may contain multiple bills. For example, the billing processing system 100 can communicate with the public cloud server via transceiver 130 to receive billing data from the public cloud server. Each bill may contain the traffic consumed by a user using a specific public cloud service. Furthermore, each bill may correspond to a specific user account. The parallelization engine can process each bill according to preset rules (e.g., traffic billing methods) to generate a corresponding pricing result. For example, a bill may contain the traffic consumed by an account using a specific public cloud service during a specific time period. The parallelization engine can calculate the price corresponding to the traffic for the bill according to the billing method of the public cloud service. In step S202, the parallelization engine can divide multiple transactions into multiple groups (i.e., savings plan data sets). In one embodiment, the parallelization engine can assign transactions corresponding to the same account (e.g., the same user) or related accounts (e.g., different users within the same company) to the same group. Assuming a specific group contains both a first account and a second account, in step S203, the parallelization engine can offer a preferential price for the first account based on the cloud service's savings scheme to generate the first pricing result. In step S204, the parallelization engine subtracts the discounted traffic of the savings plan from the first traffic of the first transaction to obtain the remaining discounted traffic. If the remaining discounted traffic is greater than zero, the parallelization engine can provide a discounted price for the second transaction in the group based on the remaining discounted traffic to generate a second pricing result. After consuming all the discounted traffic of the savings plan, the parallelization engine can generate a corresponding pricing result for each transaction. For example, suppose Group 1 includes Account 1, Account 2, and Account 3, and the savings plan for Group 1 provides 1GB of discounted traffic per day for cloud services. If Account 1 consumes 500MB of traffic in a single day, the parallelization engine can allocate 500MB of discounted traffic to Account 1, so that Account 1's pricing includes 500MB of traffic at the discounted price. If Account 2 consumes 500MB of traffic in a single day, the parallelization engine can allocate the remaining 500MB of discounted traffic to Account 2, so that Account 2's pricing includes 500MB of traffic at the discounted price. After allocating discounted traffic to Account 2, the remaining discounted traffic is zero. Therefore, the parallelization engine can no longer provide discounted traffic to Account 3. Account 3's pricing will only include traffic at the original price. Figure 3 illustrates a flowchart of a cloud service billing method according to an embodiment of the invention, wherein the billing method can be implemented by the billing system 100 shown in Figure 1. In step S301, a billing order written in a domain language is received. In step S302, the billing order is parsed to obtain code, and the code is encapsulated to generate a billing file. In step S303, the billing file is transmitted to a parallelization engine to generate a billing result. In step S304, an invoice is generated based on the billing result and output. In summary, the billing pricing command module of this invention enables authorized billing administrators to set billing pricing commands through a domain-specific language. Pricing commands include, but are not limited to, billing file reading methods, billing data clustering mechanisms, billing data adjustment rules, or billing data aggregation rules, etc. The cross-platform parallel pricing module can be encapsulated using the Apache Beam model, parsing billing pricing instructions and converting them into one or more parallel pricing jobs. Parallel pricing jobs can be deployed to parallel engines such as Google Dataflow or Apache Flink for execution. The parallel savings plan application module provides an optimized parallel savings plan application method on the Apache Beam model, generating parallel savings plan application jobs to utilize public cloud savings solutions in a more flexible way and efficiently process large amounts of data, solving the problem of users having to write their own savings plan application methods on different platforms. The process engine module can receive instructions from the billing pricing command module, convert the billing pricing instructions into a process model, record input and output information, and call the relevant parallel pricing jobs sequentially according to the process model during execution. 100: Accounting Processing System 110: Processor 120: Storage Media 121: Accounting Pricing Command Module 122: Cross-Platform Parallel Pricing Module 123: Parallel Savings Plan Application Module 124: Process Engine 130: Transceiver S201, S202, S203, S204, S301, S302, S303, S304: Steps Figure 1 is a schematic diagram of a cloud service billing system according to an embodiment of the invention. Figure 2 is a flowchart illustrating the generation of pricing results according to an embodiment of the invention. Figure 3 is a flowchart illustrating a cloud service billing method according to an embodiment of the invention. S301, S302, S303, S304: Steps

Claims

1. A cloud-based billing system includes: transceiver; and a processor coupled to the transceiver, wherein the processor is configured to perform: receiving, via the transceiver, an accounting quotation command written in a domain language; The billing order is parsed to obtain code, and the code is encapsulated to generate a billing file; the billing file is transmitted to the parallelization engine via the transceiver to generate a billing result; and an invoice is generated based on the billing result, and the invoice is output via the transceiver. The accounting system as described in claim 1, wherein the processor is configured to further perform: selecting a first mapping table from a plurality of mapping tables according to the domain language; and converting the accounting quotation command into the code according to the first mapping table. The accounting system as described in Request 1, wherein the processor is configured to further perform: encapsulating the code based on the Apache Beam framework to generate the batch file. The accounting system as described in claim 1, wherein the accounting pricing command includes at least one pricing task, wherein the parallelization engine generates the pricing result based on the at least one pricing task. The accounting system as described in claim 4, wherein the at least one batch pricing task includes: Load accounting data, wherein the accounting data includes multiple accounting entries; Process the first transaction among the multiple transactions according to preset rules to generate a first batch price result corresponding to the first transaction; and divide the multiple transactions into multiple groups. The accounting system as described in claim 5, wherein the plurality of groups includes a first group, wherein the first group includes the first accounting, and wherein the at least one batch task further includes: The first billing account is offered a discounted price based on a cloud service savings scheme to generate the first batch pricing result, wherein the batch pricing result includes the first batch pricing result. The billing system as described in claim 6, wherein the processor is configured to further perform: subtracting the discounted flow of the savings scheme from the first flow of the first billing to obtain the remaining discounted flow; and in response to the remaining discounted flow being greater than zero, providing a discounted price for the second billing in the first group based on the remaining discounted flow to generate a second batch pricing result, wherein the batch pricing result includes the second batch pricing result. A method for billing services in the cloud includes: Receive accounting and pricing commands written in the domain language; The billing order is parsed to obtain code, and the code is encapsulated to generate a billing file; the billing file is transmitted to a parallelization engine to generate a billing result; and an invoice is generated based on the billing result and the invoice is output.