Plan execution method, apparatus and system, and device, cluster, product and medium
By using software-defined planning configuration design and generating planning tables using SQL statements, the problem of strong binding between planning and scheduling systems and business scenarios in existing technologies is solved. This enables flexible adaptation to the needs of different business scenarios, improves efficiency and reduces development costs.
Patent Information
- Application Number
- PCT/CN2025/087050
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-25
- Filing Date
- 2025-04-03
- Publication Date
- 2025-12-04
AI Technical Summary
The existing planning and scheduling system is tightly bound to business scenarios, which means that it needs to be redeveloped for each new business scenario, resulting in high costs and low efficiency, and it cannot adapt to the changing needs of different business scenarios.
The software-defined planning configuration design is adopted. By acquiring planning time data and configuration information, a planning table is generated. SQL statements are used to create, select and write empty planning tables, which are stored in the configuration table, planning hierarchy dimension table, planning item dimension table and planning cycle dimension table, respectively, so as to flexibly adapt to the needs of different business scenarios.
It enables the generation of different schedules for different business scenarios, improving the flexibility and efficiency of schedule arrangement and reducing development costs.
Smart Images

Figure CN2025087050_04122025_PF_FP_ABST
Abstract
Description
Plan execution method, device, system, equipment, cluster, product and medium
[0001] The present application claims priority from the Chinese patent application No. 202410658321.4 entitled "Plan execution method, device, system, equipment, cluster, product and medium" filed on May 25, 2024, the whole content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present application relates to computing processing, in particular to a plan execution method, device, system, equipment, cluster, product and medium. BACKGROUND
[0003] The fund plan is to predict the fund inflow and outflow demand of the corresponding subject unit (for example, each subsidiary, branch, research institute, etc. of the enterprise) in a certain period according to the business situation of the enterprise, combined with the internal and external compliance management demand of bank deposits, accounts receivable and payable, and associated loans and other financial indicators, and further develop the fund scheduling arrangement between bank accounts. In practical application, the fund plan mainly realizes the fund scheduling arrangement through plan arrangement, and the plan arrangement refers to the organization and arrangement of the plan to ensure the coordination of each part to achieve the expected target and effect. Only reasonable plan arrangement can ensure that the task can be completed smoothly. However, the business scenarios involved in plan arrangement are very much, in order to realize the automatic processing of fund plan, a set of plan arrangement system needs to be developed separately for different business scenarios, so that a set of plan arrangement system needs to be redeveloped every time a new business scenario occurs, therefore, the existing plan arrangement system is strongly bound with business scenarios, that is, each scenario corresponds to a plan arrangement function, and the plan arrangement of the same scenario can only be used in the scenario, and cannot be adapted or applied to other scenarios. In order to adapt to the changing needs of different business scenarios, the corresponding functions need to be redeveloped and designed codes, which is high in cost and low in efficiency. SUMMARY
[0004] The present application provides a plan execution method, device, system, equipment, cluster, product and medium, which can effectively adapt to the changing needs of different business scenarios and has high flexibility.
[0005] In a first aspect, a plan execution method is provided, applied to a plan execution system, and includes: obtaining plan time data and configuration information, wherein the plan time data is a time period that needs to be scheduled, the configuration information includes plan level information, plan item information, and plan period information, the plan level information is used to indicate related information of a plan level, the plan item information is used to indicate related information of a plan item, the plan period information is used to indicate related information of a plan period, and plan data is data obtained according to the plan time data, the plan level information, the plan item information, and the plan period information; generating a plan table according to the plan time data and the configuration information; and allocating funds according to the plan data in the plan table.
[0006] In the above solution, the plan table can be generated according to the configuration information, and different plan tables can be generated when the contents of the plan level information, the plan item information, and the plan period information in the configuration information are different, so as to adapt to requirements of different scenarios.
[0007] In some possible designs, the plan table is generated according to the plan time data and the configuration information, including the following three steps.
[0008] (1) The plan time data, the plan level information, the plan item information, and the plan period information are used as parameters of a create table statement to create a plan empty table. The create table statement is a statement used to create a table, for example, a create table (CREATE TABLE) statement in a structured query language (SQL).
[0009] (2) The plan data is obtained according to the row field and the column field of the plan empty table as parameters of a select statement. The select statement is a statement used to retrieve data in a table, for example, a select (SELECT) statement in the SQL.
[0010] (3) The plan data is filled into the plan empty table to obtain the plan table by using the plan data as parameters of a write statement. The write statement is a statement used to update data in a table, for example, an insert into (INSERT INTO) statement and an update (UPDATE) statement in the SQL.
[0011] The plan empty table includes a table header cell, a row field, and a column field. The content of the table header cell is generated according to the plan level information. One of the row field and the column field is generated according to one of the plan level information and the plan item information, and the other of the row field and the column field is generated according to the plan time data and the plan period information.
[0012] In some possible designs, the configuration information can be acquired before the schedule table is generated according to the schedule time data and the configuration information.
[0013] When the schedule time data is stored in a configuration table, the schedule level information is stored in a schedule level dimension table, the schedule item information is stored in a schedule item dimension table, and the schedule period information is stored in a schedule period dimension table, the configuration information can be acquired by acquiring the schedule level information, the schedule item information, and the schedule period information from the schedule level dimension table, the schedule item dimension table, and the schedule period dimension table respectively via the configuration table.
[0014] Further, when the configuration table further includes a first configuration connection field, a second configuration connection field, and a third configuration connection field, the schedule level dimension table includes a level connection field, the schedule item dimension table includes a schedule item connection field, and the schedule period dimension table includes a schedule period connection field, the acquiring the schedule level information, the schedule item information, and the schedule period information from the schedule level dimension table, the schedule item dimension table, and the schedule period dimension table respectively via the configuration table includes the following three steps:
[0015] (1) The schedule level information in the schedule level dimension table is acquired from the configuration table according to a connection relationship between the first configuration connection field and the level connection field.
[0016] (2) The schedule item information in the schedule item dimension table is acquired from the configuration table according to a connection relationship between the second configuration connection field and the schedule item connection field.
[0017] (3) The schedule period information in the schedule period dimension table is acquired from the configuration table according to a connection relationship between the third configuration connection field and the schedule period connection field.
[0018] In the above scheme, the schedule level information, the schedule item information, and the schedule period information are stored in different dimension tables respectively, which can facilitate management of the schedule level information, the schedule item information, and the schedule period information, and further facilitate writing, adding, deleting, modifying, and the like of the schedule level information, the schedule item information, and the schedule period information, thereby forming different schedule tables.
[0019] In a second aspect, a planning execution apparatus is provided, which comprises a generating module and an allocation module. The generating module is configured to acquire planning time data and configuration information, wherein the planning time data is a time period that needs to be scheduled, the configuration information comprises planning level information, planning item information and planning period information, the planning level information is used to indicate related information of a planning level, the planning item information is used to indicate related information of a planning item, the planning period information is used to indicate related information of a planning period, and the planning data is data obtained according to the planning time data, the planning level information, the planning item information and the planning period information; generate a planning table according to the planning time data and the configuration information; and the allocation module is configured to allocate funds according to the planning data in the planning table.
[0020] In some possible designs, the generating module is further configured to: create a planning empty table by taking the planning time data, the planning level information, the planning item information and the planning period information as parameters of a table creation statement; acquire the planning data according to the row field and the column field of the planning empty table; and fill the planning data into the planning empty table to obtain the planning table.
[0021] In some possible designs, the table creation statement is a statement used to create a table, the planning empty table comprises a table header cell, a row field and a column field, the content of the table header cell is generated according to the planning level information, one of the row field and the column field is generated according to one of the planning level information and the planning item information, and the other of the row field and the column field is generated according to the planning time data and the planning period information.
[0022] In some possible designs, the apparatus further comprises an acquiring module, which is configured to acquire the planning level information, the planning item information and the planning period information from a planning level dimension table, a planning item dimension table and a planning period dimension table respectively by using the configuration table.
[0023] In some possible designs, the planning time data is stored in a configuration table, the planning level information is stored in a planning level dimension table, the planning item information is stored in a planning item dimension table, and the planning period information is stored in a planning period dimension table.
[0024] In some possible design, the obtaining module is further configured to: obtain the plan level information in the plan level dimension table from the configuration table according to a connection relationship between the first configuration connection field and a level connection field; obtain the plan item information in the plan item dimension table from the configuration table according to a connection relationship between the second configuration connection field and a plan item connection field; and obtain the plan period information in the plan period dimension table from the configuration table according to a connection relationship between the third configuration connection field and a plan period connection field.
[0025] The configuration table further includes a first configuration connection field, a second configuration connection field, and a third configuration connection field, the plan level dimension table includes a level connection field, the plan item dimension table includes a plan item connection field, and the plan period dimension table includes a plan period connection field. The plan level information, the plan item information, and the plan period information are obtained from the plan level dimension table, the plan item dimension table, and the plan period dimension table respectively by using the configuration table.
[0026] In a third aspect, a plan execution system is provided. The system includes: a client configured to send plan time data, where the plan time data is a time period that needs to be scheduled; and a plan execution device configured to obtain the plan time data and configuration information, where the plan time data is a time period that needs to be scheduled, the configuration information includes plan level information, plan item information, and plan period information, the plan level information is used to indicate related information of a plan level, the plan item information is used to indicate related information of a plan item, the plan period information is used to indicate related information of a plan period, and plan data is data obtained by querying the plan time data, the plan level information, the plan item information, and the plan period information; generate a plan table according to the plan time data and the configuration information; and allocate funds according to the plan data in the plan table.
[0027] In a fourth aspect, a chip system is provided. The chip system includes a processor and a power supply circuit configured to supply power to the processor. The processor is configured to perform the operation steps of the method according to any one of the first aspect.
[0028] In a fifth aspect, a computing device is provided. The computing device includes a processor and a memory.
[0029] The processor is configured to execute instructions stored in the memory, so that the computing device performs the operation steps of the method according to any one of the first aspect.
[0030] In a sixth aspect, a computing device cluster is provided, comprising at least one computing device, each computing device comprising a processor and a memory;
[0031] 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 computing device cluster to perform the operational steps of the method of any of the first aspect.
[0032] In a seventh aspect, a computer program product comprising instructions which, when executed by a computing device cluster, cause the computing device cluster to perform the operational steps of the method of any of the first aspect.
[0033] In an eighth aspect, a computer-readable storage medium is provided, comprising computer program instructions which, when executed by a computing device cluster, cause the computing device cluster to perform the operational steps of the method of any of the first aspect.
[0034] On the basis of the implementation manners of the above aspects, the present application can be further combined to provide more implementation manners. BRIEF DESCRIPTION OF DRAWINGS
[0035] FIG. 1 is a structural schematic diagram of a business system provided by the present application;
[0036] FIG. 2 is a flow schematic diagram of a plan execution method provided by the present application;
[0037] FIG. 3 is a schematic diagram of plan level information of configuration information provided by the present application;
[0038] FIG. 4 is a schematic diagram of plan item information of configuration information provided by the present application;
[0039] FIG. 5 is a schematic diagram of plan period information of configuration information provided by the present application;
[0040] FIG. 6 is a structural schematic diagram of storage of configuration information provided by the present application;
[0041] FIG. 7 is a structural schematic diagram of a plan execution system provided by the present application;
[0042] FIG. 8 is a structural schematic diagram of a computing device provided by the present application;
[0043] FIG. 9 is a structural schematic diagram of a computing device cluster provided by the present application;
[0044] FIG. 10 is a structural schematic diagram of another computing device cluster provided by the present application. DETAILED DESCRIPTION
[0045] In order to meet the constantly updated fund plan requirements of different business needs and improve efficiency, the application adopts a software-defined, abstract unified plan compilation configuration design idea, provides a plan execution method, generates a plan table according to plan time data and configuration information, and allocates funds according to plan data in the plan table. Among them, the configuration information includes plan level information, plan item information and plan period information, the plan level information is used to indicate the related information of the plan level, the plan item information is used to indicate the related information of the plan item, and the plan period information is used to indicate the related information of the plan period. The plan data is data obtained by querying the plan time data, the plan level information, the plan item information and the plan period information. Therefore, when the contents of the plan level information, the plan item information and the plan period information in the configuration information are different, different plan tables can be generated to adapt to the requirements of different scenarios.
[0046] The business system to which the application is applied will be described in detail below in combination with the drawings.
[0047] Referring to FIG. 1, FIG. 1 is a structural schematic diagram of a business system provided by the application. As shown in FIG. 1, the business system of the application includes a client 110 and a plan execution system 120.
[0048] The client 110 is used to realize human-computer interaction and can be deployed on a terminal device or a computing device. The terminal device includes a personal computer, a smart phone, a wearable device, a palm-held processing device, a tablet computer, a mobile notebook, an augmented reality (AR) device, a virtual reality (VR) device, an integrated handheld game console, a wearable device, a vehicle-mounted device, a smart conference device, a smart advertising device, a smart home appliance, etc. The smart home appliance can be a sweeping robot, a mopping robot, etc. and is not limited here. The computing device can refer to the description in the next paragraph. The computing device includes a server, a virtual machine, a container or an edge computing device. The virtual machine and the container both refer to a computing system composed of virtualization processing of computing, storage, network and other hardware resources through a virtualization platform. The edge computing device refers to a device closer to a data source and an end user, with low delay and high bandwidth characteristics, such as a smart router, an edge server, etc.
[0049] The client 110 can be software or an application program running on a terminal device or a computing device controlled by a user, such as a personal computer (PC) client, a web client based on browser access, an application (APP) client running on a mobile terminal, or a console of a cloud platform, which is not limited by the application.
[0050] Client 110 can also be a client of a cloud platform, such as a cloud platform console. Specifically, it can be a console based on the World Wide Web (web) or a console based on an application programming interface (API). This application does not make any specific limitations.
[0051] The plan execution system 120 can be deployed on computing devices, computing device clusters, or terminal devices. For a detailed description of computing devices, please refer to the above. A computing device cluster may include multiple of the aforementioned computing devices, such as a data center; this application does not specifically limit this. The description of terminal devices is also provided above and will not be repeated here.
[0052] It is understood that the business system shown in Figure 1 is only a specific example. In actual applications, the business system can include more devices and systems, such as storage systems, and the number of clients can also be greater. No specific limitation is made here.
[0053] Referring to the business system shown in Figure 1, the plan execution method implemented under this business system will be described in detail below. See Figure 2, which is a flowchart illustrating a plan execution method provided in this application. As shown in Figure 2, the plan execution method provided in this application includes the following steps:
[0054] S101: The client sends the scheduled time data to the scheduled execution system.
[0055] Accordingly, the plan execution system receives the planned time data sent by the client.
[0056] Planned time data can be the time period that needs to be scheduled. Planned time data can be represented in the following three ways:
[0057] Method 1: The planned time data can include the start and end times of the plan. The start time can be the date the plan begins, and the end time can be the date the plan ends. For example, the planned time data could be a start time of April 22, 2024, and an end time of April 23, 2024.
[0058] Method 2: The planned time data can include the start time and duration of the plan. The start time plus the duration gives the end time of the plan. For example, the planned time data could be a start time of April 22, 2024, and a duration of 2 days.
[0059] Method 3: The planned time data can include the plan's end time and duration. The start time of the plan is obtained by subtracting the duration from the end time. For example, the planned time data could be an end time of April 23, 2024, with a duration of 2 days.
[0060] Here, the planned time data can be calculated in units such as hours, half days, days, three days, five days, weeks, half months, months, quarters, half a year, and years, without any specific limitation.
[0061] S102: The system is scheduled to retrieve configuration information.
[0062] Configuration information is related to scheduling. It can include scheduling hierarchy information, scheduling item information, and scheduling period information, among others. This configuration information can be pre-configured by the user or sent by the client to the scheduling execution system when scheduling is required. When the client sends configuration information to the scheduling execution system, it can be sent in the same message as the scheduled time data, or it can be sent in two separate messages.
[0063] The plan hierarchy information may include one or more of the following: entity information, account information, currency information, etc. Furthermore, the plan hierarchy information may also include hierarchical information, etc.
[0064] The main information can include countries, regions, companies, and subsidiaries. Countries can include China, the United States, the United Kingdom, France, Germany, Japan, etc. Regions can include various areas within a country; for example, in China, regions could include Beijing, Shanghai, Shenzhen, and Guangzhou, etc. Companies can include Company A, Company B, and Company C, etc. Subsidiaries can be subsidiaries of a company; for example, Company A could include subsidiaries such as XXXX and its Australian subsidiary, etc. It is understood that the examples of countries, regions, companies, and subsidiaries mentioned above are merely specific examples. In practical applications, more or fewer countries, regions, companies, and subsidiaries can be included, and the countries, regions, companies, and subsidiaries can also be other entities; no specific limitations are made here.
[0065] Account information can include account numbers for each account, for example, account number 1 and account number 2 for two accounts. It is understood that the above accounts are merely specific examples; in actual applications, accounts can include more or fewer accounts, which is not specifically limited here.
[0066] Currency information can include the currencies of various countries, such as the Renminbi, US dollar, British pound, French franc, German mark, etc. It is understood that the above currency information is merely a specific example; in practical applications, the currency information may include more or fewer currencies, which is not specifically limited here.
[0067] Hierarchical information is used to indicate one or more hierarchical relationships among entity information, account information, currency information, etc. For example, entity information can be set as the first level, account information as the second level, and currency information as the third level, and so on. Alternatively, currency information can be set as the first level, entity information as the second level, and account information as the third level, and so on. Furthermore, entity information can be set to a more in-depth hierarchy. For example, when entity information is set as the first level, the company can be set as the first level within the first level, and subsidiaries as the second level within the first level, and so on. It should be understood that the above hierarchical information is merely a specific example; in practical applications, hierarchical information can be other types, which are not specifically limited here.
[0068] It is understood that the above-mentioned plan hierarchy information is only a specific example of subject information, account information, currency information and hierarchy information. In actual application, plan hierarchy information may include more or fewer items, which is not specifically limited here.
[0069] The planning hierarchy information is used to configure the planning hierarchy. The following example will illustrate how the planning hierarchy is configured based on this information.
[0070] Assuming the main entity information in the plan hierarchy information is subsidiary XXXX, and the account information is account 1 and account 2, and the hierarchy information is subsidiary XXXX as the first level and account information as the second level, then the plan hierarchy configuration obtained by this plan hierarchy information configuration can be shown in Figure 3:
[0071] The first level is XXXX subsidiary 200. The second level below the first level includes two branches: account 1 210 and account 2220.
[0072] The subject information, account information, currency information, and hierarchical information in the above examples are all illustrated with very specific examples. However, in actual applications, there may be more or fewer hierarchical levels, and the content of each level may be less or more. No specific limitations are made here.
[0073] The planned items information may include the opening balance, outflow, inflow, and closing balance.
[0074] The beginning balance is the amount remaining from the previous period. This beginning balance can include cash account balances and investment account balances, etc. The cash account balance refers to the remaining amount in the cash account. The investment account balance refers to the remaining amount in the investment account.
[0075] Outflow refers to the amount transferred out or spent. Outflow can include: supplier amounts, employee amounts, tax amounts, manual adjustment amounts, etc. Supplier amounts refer to payments or transfers to suppliers; employee amounts refer to payments or transfers to employees; tax amounts refer to payments or transfers to tax authorities; and manual adjustment amounts refer to amounts that can be manually increased or decreased.
[0076] Inflow refers to the amount transferred in or received. Inflow can include sales revenue and other income. Sales revenue refers to the amount of income obtained through the sale of products or the provision of services. Other income can include investment income, donations, etc.
[0077] The ending balance refers to the balance on an account or balance sheet at the end of an accounting period.
[0078] The relationship between the beginning balance, outflow amount, inflow amount, cash inflow amount, and ending balance can be: ending balance equals beginning balance - outflow amount + inflow amount, or ending balance equals beginning balance - outflow amount + cash inflow amount, etc.
[0079] The plan item information is used to configure plan items. The following example illustrates how to configure plan items based on this plan item information.
[0080] Assume the planned item information includes beginning balance, outflow amount, inflow amount, and ending balance. The outflow amount includes supplier amounts, employee amounts, tax amounts, and labor adjustment amounts. Then, the planned items configured with this planned item information can be shown in Figure 4:
[0081] Project item 300 serves as the root node, with four branches: beginning balance 310, outflow amount 320, inflow amount 330, and ending balance 340. Outflow amount 320 includes supplier amount 321, employee amount 322, tax amount 323, and labor adjustment amount 324.
[0082] The examples above illustrate how planned items include beginning balance, outflows, inflows, and ending balance. In practice, planned items can include more or fewer items, or other items altogether. For example, inflows from QR code payments typically refer to the amount received through this method. The examples above also illustrate how outflows include supplier payments, employee payments, tax payments, and personnel adjustments. In practice, outflows can include more or fewer items. Finally, the examples above may also show beginning balances, inflows, and ending balances without including additional items. In practice, more items can be included; for example, the beginning balance could include cash account balances and investment account balances, etc.
[0083] The planning cycle information can include the planning cycle. The planning cycle can include the length of time the plan lasts, from start to finish. For example, the planning cycle could be 2 days, 3 days, etc.
[0084] Here, the planning period and planning time data should be consistent. That is, when the planning period is 2 days, the length of the planning time data should be 2 days; when the planning period is 3 days, the length of the planning time data should be 3 days, and so on.
[0085] Optionally, the planning cycle information may also include one or more historical cycles preceding the current planning cycle and one or more future cycles following the current planning cycle. Each historical cycle may include actual data, which is the data actually generated in the historical cycle. Each future cycle may include one or more of forecast data and planned data. Forecast data is data predicted for the future cycle based on data from historical cycles. Planned data is data obtained when the plan is executed in the future cycle. Actual data is the actual data from past cycles. Here, the actual data from historical cycles and the forecast and planned data from future cycles are all provided to the user for reference.
[0086] Here, the planning cycle, historical cycle, and future cycle can be the same. That is, if the planning cycle is 2 days, then the historical cycle can also be 2 days, and the future cycle can also be 2 days.
[0087] The planning cycle information configures the planning cycle. The following example illustrates how the planning cycle is obtained by configuring the planning cycle information.
[0088] Assuming the planned time period is from April 22nd to April 23rd, 2024, the planned period in the planned period information is 2 days long, displayed once a day, with 2 historical periods, each including actual data, and 2 future periods, the first future period including both predicted and planned data, and the second future period including only predicted data, then the planned period configured in this way can be shown in Figure 5. Furthermore, the relationships between the period, the period length, the time period within which the period falls, and the displayed data of the period are as shown in Table 1.
[0089] Table 1 shows the relationship between period, time length, time segment, and displayed data.
[0090] The example above uses a planning cycle of 2 days for the planning cycle, historical cycle, and future cycle, and two historical cycles and two future cycles as an example. However, in practical applications, the planning cycle, historical cycle, and future cycle can have more or fewer days as a planning cycle, and the number of historical cycles and future cycles can be more or less.
[0091] After introducing the composition of configuration information, the following section will detail how the configuration information is stored.
[0092] Configuration information can be stored in data tables. For ease of management, it can be stored using a master table and dimension tables. The master table is the configuration table, and the dimension tables include plan hierarchy dimension tables, plan item dimension tables, and plan cycle dimension tables, etc.
[0093] The configuration table stores the primary key, foreign keys for joining various dimension tables, and planned time data, etc. In a specific embodiment, the configuration table includes fields such as a primary key field, a first configuration join field, a second configuration join field, a third configuration join field, and planned time data fields.
[0094] The primary key field is used to store a key that uniquely identifies each record in the configuration table. A primary key field can be a single field or a combination of fields, and their values must be unique and non-repeatable.
[0095] The first configuration join field is used to connect the hierarchical join fields of the plan hierarchy dimension table. By connecting the first configuration join field in the configuration table and the hierarchical join field in the plan hierarchy dimension table, a relationship can be established between the configuration table and the plan hierarchy dimension table. In other words, information related to the plan hierarchy dimension table can be retrieved from the configuration table through the first configuration join field.
[0096] The second configuration join field is used to connect the plan item join field in the plan item dimension table. By connecting the second configuration join field in the configuration table and the plan item join field in the plan item dimension table, a relationship can be established between the configuration table and the plan item dimension table. In other words, information related to the plan item dimension table can be retrieved from the configuration table through the second configuration join field.
[0097] The third configuration join field is used to connect to the period join field of the planning period dimension table. By connecting the third configuration join field in the configuration table and the period join field in the planning period dimension table, the relationship between the configuration table and the planning period dimension table can be established. In other words, information related to the planning period dimension table can be obtained from the configuration table through the third configuration join field.
[0098] The scheduled time data field is used to store the scheduled time data sent by the client.
[0099] It is understandable that the fields in the configuration table are merely an example. In practical applications, the fields in the configuration table may include more or fewer items. For example, it may include more foreign keys, thereby enabling the association of more tables.
[0100] Taking the scheduled time data sent by the client as starting at 2024.4.22 and ending at 2024.4.23 as an example, the correspondence between each key and value in the configuration table can be as shown in Table 2:
[0101] Table 2 shows the correspondence between fields and key fields in the configuration table.
[0102] It is understood that the above configuration table is only a specific example. In actual applications, it may include more or fewer fields, more or fewer rows, and the values of each field may also be other values. No specific restrictions are made here.
[0103] The plan hierarchy dimension table is used to store fields such as hierarchy connection fields, hierarchy information fields, hierarchy fields, parent node fields, etc.
[0104] The hierarchical join field is used to establish a connection with the first configuration join field. Based on the first configuration join field, the plan hierarchy dimension table can be retrieved, thereby obtaining the plan hierarchy information.
[0105] Hierarchical information fields are used to store one or more of the following: subject information, account information, currency information, etc.
[0106] Hierarchical fields are used to store one or more corresponding hierarchical information such as subject information, account information, and currency information.
[0107] The parent node field is used to store information about the previous level.
[0108] Taking the planning hierarchy information corresponding to the planning hierarchy shown in Figure 3 as an example, the planning hierarchy information can be stored in the planning hierarchy dimension table shown in Figure 6. The correspondence between each key and value in the planning hierarchy dimension table can be as shown in Table 3:
[0109] Table 3 shows the correspondence between fields and key fields in the plan hierarchy dimension table.
[0110] It is understood that the above plan hierarchy dimension table is only a specific example. In actual applications, it may include more or fewer fields, more or fewer rows, and the values of each field may also be other values. No specific restrictions are made here.
[0111] The plan item dimension table is used to store fields such as plan item join fields, plan item fields, plan sub-item main join fields, etc.
[0112] The plan item join field is used to establish a connection with the second configuration join field. Based on the second configuration join field, the plan item dimension table can be located, thereby obtaining the plan item information.
[0113] The plan field is used to store the beginning balance, outflow amount, inflow amount, cash inflow amount, and ending balance.
[0114] The primary join field for a plan sub-item is used to connect the plan sub-item join fields in the plan sub-item dimension table. By connecting the primary join field for a plan sub-item in the plan item dimension table and the plan sub-item join field in the plan sub-item dimension table, a relationship can be established between the plan item dimension table and the plan sub-item dimension table. In other words, information related to the plan sub-item dimension table can be retrieved from the plan item dimension table through the primary join field. The plan sub-item dimension table includes the plan sub-item join field, the plan sub-item field, and the parent node field. The plan sub-item join field is used to establish a connection relationship with the primary join field for the plan sub-item. Based on the primary join field, the plan-level sub-item dimension table can be found, thereby obtaining the plan sub-item information. The plan sub-item field is used to store the sub-items of the plan item. For example, when the plan item is an outflow amount, the plan sub-item field is used to store supplier amount, employee amount, tax amount, and labor adjustment amount, etc. That is, the outflow amount equals the sum of the supplier amount, employee amount, tax amount, and labor adjustment amount.
[0115] Taking the planning item information corresponding to the planning item shown in Figure 4 as an example, the planning item information can be stored in the planning item dimension table shown in Figure 6. The first field in the planning item dimension table is the "planning item primary key field", the second field is the "planning item field", and the third field is the "planning sub-item foreign key field". The correspondence between the keys and values of each field in the planning item dimension table can be as shown in Table 4:
[0116] Table 4 shows the correspondence between fields and key fields in the configuration table.
[0117] The key-value correspondence of each field in the plan sub-item dimension table can be shown in Table 5:
[0118] Table 5 shows the correspondence between fields and key fields in the plan sub-item dimension table.
[0119] The planning cycle dimension table is used to store cycle connection fields, cycle type fields, cycle start time fields, cycle end time fields, and data fields, etc.
[0120] The cycle join field is used to establish a connection with the third configuration join field. Based on the third configuration join field, the planning cycle dimension table can be retrieved, thereby obtaining the planning cycle information.
[0121] The cycle type field is used to store any of the following types: planned cycle, historical cycle, and future cycle.
[0122] The cycle start time field is used to store the start time of any type of cycle, including planned cycles, historical cycles, and future cycles, corresponding to the cycle type field.
[0123] The cycle end time field is used to store the end time of any type of cycle, including planned cycles, historical cycles, and future cycles, corresponding to the cycle type field.
[0124] The data field is used to store data for the period corresponding to the period type field. For example, when the period type field is a planned period, the data field is used to store real-time data; when the period type field is a historical period field, the data field is used to store actual data or no data; when the period type field is a future period field, it stores one or more of the predicted data and planned data.
[0125] Taking the planning cycle information corresponding to the planning cycle shown in Figure 5 as an example, the planning cycle information can be stored in the planning cycle dimension table shown in Figure 6. The correspondence between the keys and values of each field in the planning cycle dimension table can be as shown in Table 6:
[0126] Table 6 shows the correspondence between fields and key fields in the planning cycle dimension table.
[0127] The first row indicates that the planning period starts on April 22, 2024, and ends on April 23, 2024. The data within this planning period is displayed in one column per day.
[0128] The second line means that the start time of historical period 1 is April 20, 2024, and the end time is April 21, 2024. The data displayed within this historical period 1 is the actual data.
[0129] The third line means that the start time of historical cycle 2 is April 18, 2024, and the end time is April 19, 2024. The data displayed within this historical cycle 2 is the actual data.
[0130] The fourth line means that the start time of future cycle 1 is April 24, 2024, and the end time is April 25, 2024. This future cycle 1 displays both forecast data and planned data.
[0131] The fifth line means that the start time of future cycle 2 is April 26, 2024, and the end time is April 27, 2024. This future cycle 2 displays forecast data.
[0132] It is understood that the above planning cycle dimension table is only a specific example. In actual applications, it may include more or fewer fields, more or fewer rows, and the values of each field may also be other values. No specific restrictions are made here.
[0133] The plan execution system obtains configuration information in the following ways: It retrieves plan level information, plan item information, and plan period information from the plan level dimension table, plan item dimension table, and plan period dimension table, respectively, through the configuration table. More specifically,
[0134] The system plans to execute the configuration table, using the table name as a parameter in the selection statement (e.g., a SELECT statement) and specifying all data to be retrieved from the configuration table, such as the first configuration connection field, the second configuration connection field, and the third configuration connection field.
[0135] The plan execution system uses selection statements (e.g., SELECT statements) and join statements (e.g., JOIN statements) to access the plan hierarchy dimension table from the configuration table and retrieve all data in the plan hierarchy dimension table based on the join between the first configuration foreign key field and the hierarchical primary key field. For example, the plan execution system can use the following statement to access the plan hierarchy dimension table from the configuration table and retrieve all data in the plan hierarchy dimension table based on the join between the first configuration foreign key field and the hierarchical primary key field:
[0136] SELECT*
[0137] FROM Tabel Config
[0138] JOINTableHierarchy ON Config.Cfkey1=Hierarchy.Cfkey1
[0139] In this context, SELECT is the keyword for the selection statement, * is a wildcard indicating that all data should be retrieved, FROM is the keyword for the selection statement indicating which table to access, Table Config is the configuration table, JOIN is the keyword for the join statement, Table Hierarchy is the planning hierarchy dimension table, and ON is the keyword for the join statement indicating the conditions to be met. Config.Cfkey1 is the configuration primary key field in the configuration table, and Hierarchy.Cfkey1 is the hierarchy primary key field in the planning hierarchy dimension table.
[0140] The plan execution system uses selection statements (e.g., SELECT statements) and join statements (e.g., JOIN statements) to access the plan hierarchy dimension table from the configuration table, retrieving all data in the plan hierarchy dimension table based on the join between the second configuration foreign key field and the plan item primary key field. Examples include beginning balance, outflow amount, inflow amount, cash inflow amount, and ending balance. Then, the plan execution system uses selection statements (e.g., SELECT statements) and join statements (e.g., JOIN statements) to access the plan sub-item dimension table from the plan hierarchy dimension table, retrieving all data in the plan sub-item dimension table based on the join between the plan sub-item primary key field and the plan sub-item foreign key field. Examples include supplier amount, employment amount, tax amount, and labor adjustment amount. The SELECT and JOIN statements are similar to those described above and will not be elaborated further here.
[0141] The plan execution system uses selection statements (e.g., SELECT statements) and join statements (e.g., JOIN statements) to access the plan cycle dimension table from the configuration table and retrieve all data in the plan cycle dimension table based on the join between the third configuration foreign key field and the cycle primary key field. The SELECT and JOIN statements are similar to those described above and will not be elaborated upon further here.
[0142] S103: The plan execution system generates an empty plan table based on the plan time data and configuration information.
[0143] A plan empty table can be an empty table that does not contain plan data. Rows in a plan empty table can be called records, and columns can be called fields. The first row and first column of a plan empty table can be called the header cell. A column can include multiple sub-columns; for example, it can include a first column and a second column. Cells in the first row of a plan empty table, excluding the header cell, can be used to store field names, and cells in the first column, excluding the header cell, can be used to store record names. When a column includes multiple sub-columns, the cells in the first row of that column include a main cell and the same number of sub-columns as the number of sub-columns. The main cell stores the field name corresponding to that column, and the sub-columns store the field name of the corresponding sub-column.
[0144] The specific implementation of the plan execution system generating an empty plan table based on configuration information can be as follows: The planned time data and configuration information are used as parameters in a table creation statement to create an empty plan table. Specifically, when the configuration information is used as a parameter in the table creation statement, a portion of the configuration information serves as the data in the first row of the empty plan table, and the remaining portion serves as the data in the first column. In a specific embodiment, the parameters for creating the table include: parameters for the header cells, parameters for the other columns in the first row of the table, and parameters for the other rows in the first column of the table.
[0145] The parameters for the header cells can be:
[0146] The value of the first row and first column (i.e., the header cell) in the table is the field value "XXXX subsidiary" associated with the hierarchical field with a value of "1" in the planning hierarchy dimension table shown in Figure 6.
[0147] The parameters for the other columns in the first row of the table can be:
[0148] The value of the main cell in the first row and second column of the table is equal to the field value associated with the earliest field value in the cycle start time field of the planning cycle dimension table shown in Figure 6, which is "historical cycle" + the field value of the cycle start time field "2024.4.18" + "~" + the field value of the cycle end time field "2024.4.19". The value of the secondary cell in the first row and second column of the table is equal to the value of the data field "actual data". Therefore, the value of the main cell in the first row and second column of the table is "historical cycle 2024.4.18~2024.4.19", and the value of the secondary cell in the first row and second column of the table is "actual data".
[0149] Similarly, the value of the main cell in the first row and third column of the table is "Historical period 2024.4.20~2024.4.21", and the value of the secondary cell in the first row and third column of the table is "Actual data";
[0150] The value of the main cell in the first row and third column of the table is "Planning period 2024.4.22~2024.4.23", the value of the first cell in the first row and third column of the table is "4.22", and the value of the second cell in the first row and third column of the table is "4.23".
[0151] The value of the main cell in the first row and fourth column of the table is "Future period 2024.4.24~2024.4.25", and the value of the secondary cell in the first row and fourth column of the table is "Forecast data, Planned data";
[0152] The value of the main cell in the first row and fifth column of the table is "Future period 2024.4.26~2024.4.27", and the value of the secondary cell in the first row and fifth column of the table is "Forecast data, Planned data";
[0153] The parameters for the other rows in the first column of the table can be:
[0154] The value of the first column of the second row in the table (i.e., the header cell) is equal to the field value "beginning balance" in the second row of the planning item field in the planning item dimension table shown in Figure 6.
[0155] Similarly, the value of the cell in the third row and first column of the table is "Outflow Balance". Since "Outflow Balance" is the parent node, the value of the cell in the fourth row and first column of the table is "Supplier Amount"; the value of the cell in the fifth row and first column of the table is "Employee Amount"; the value of the cell in the sixth row and first column of the table is "Tax Amount"; and the value of the cell in the seventh row and first column of the table is "Management Adjustment Amount".
[0156] The value of the cell in the first column of the eighth row of the table is "Inflow Balance";
[0157] The value of the cell in the ninth row and first column of the table is "ending balance";
[0158] The value of the cell in the ninth row and first column of the table is "Account 1";
[0159] Similarly, the first column of row 11 to the first column of row 19 of the table should be filled with “Beginning Balance”, “Outflow”, “Supplier Amount”, “Employee Amount”, “Tax Amount”, “Labor Adjustment Amount”, “Inflow”, “Ending Amount”, and “Account 2”.
[0160] In summary, based on the configuration information in step S102, a planned empty table as shown in Table 7 can be created, including transaction fields for different accounts. These transaction fields include some or all of the following: opening balance, outflow amount, employee amount, and tax amount.
[0161] Table 7: Planned Empty Table
[0162] It is understandable that the above empty table is only a specific example. In practical applications, there can be many more forms, such as swapping rows and columns.
[0163] S104: The plan execution system obtains plan data based on the plan time data and configuration information, fills the plan data into the empty plan table, and performs statistics on the plan data to obtain statistical data, which is then filled into the empty plan table to obtain the plan table.
[0164] The data to be filled in the blank planning table falls into two categories. The first category is planning data, such as the cells in rows 2 to 8 (as shown by the dotted lines in Table 7) and rows 11 to 17 (as shown by the dotted lines in Table 7). The second category is processing data, which is data obtained by processing the planning data. For example, the data for Account 1 in row 9, column 2 (as shown by the bold line in Table 7) can be obtained by copying the ending balance in row 8, column 2; similarly, the data for Account 2 in row 18, column 2 (as shown by the bold line in Table 7) can be obtained by copying the ending balance in row 17, column 2. To facilitate observation, the planning table can be collapsed. Continuing with the example of the planning table generated from the blank planning table shown in Table 7, after collapsing the planning table, only the rows containing Account 1 and Account 2 will be displayed; the other rows will be hidden. Therefore, copying the two ending balances to Account 1 and Account 2 respectively is beneficial for users to observe and analyze the account balances.
[0165] Planning data can be stored in the business system. For example, a business database is set up in the business system to store business data, which may include planning data.
[0166] The planning execution system obtains planning data based on planning time data and configuration information, and fills the planning data into the empty planning table in the following way: At least one of the planning time data and configuration information is used as input parameters for a query statement to query the business database, thereby obtaining the planning data. Continuing with the example of the empty planning table in step S103, the content of the header cell "XXXX subsidiary", the content of the main and secondary cells in the first row, second column of the empty planning table "historical period 2024.4.18~2024.4.19" and "actual data", and the content of the cell in the second row, first column of the empty planning table "beginning balance" are used as input parameters for a query statement to query the business database, thereby obtaining the planning data to be filled into the second row, second column cell. This process continues to obtain the planning data for other cells in the empty planning table, which will not be elaborated further here.
[0167] S105: The plan execution system sends the plan table to the client.
[0168] Accordingly, the client receives the schedule sent by the schedule execution system.
[0169] S106: The plan execution system allocates funds based on the plan data in the plan table.
[0170] The allocation of funds based on the planned data in the schedule may include: since the outflow amount may include supplier amount, employee amount, and tax amount, the funds corresponding to the supplier amount may be allocated to the corresponding supplier account, the funds corresponding to the employee amount may be allocated to the corresponding employee account, and the funds corresponding to the tax amount may be allocated to the corresponding tax account, etc.
[0171] In the above scheme, the schedule is generated based on the schedule hierarchy, schedule items, and schedule period information in the configuration information. Different schedules can be generated when the content of the configuration information is different, so as to adapt to the requirements of different scenarios. In this way, funds can be allocated according to the schedule to meet the fund allocation needs of different scenarios.
[0172] The following sections will provide a detailed introduction to the planning execution system, computing devices, computing device clusters, computer program products, and computer-readable storage media corresponding to the planning execution method.
[0173] Referring to Figure 7, which is a schematic diagram of the structure of a plan execution system provided in this application, the plan execution system of this application includes a client 410 and a plan execution device 420.
[0174] Client 410 is used to send planned time data, wherein the planned time data is a time period that needs to be scheduled.
[0175] The plan execution device 420 is used to generate a plan table based on plan time data and configuration information. The configuration information includes plan hierarchy information, plan item information, and plan cycle information. The plan hierarchy information indicates relevant information at the plan level, the plan item information indicates relevant information for each plan item, and the plan cycle information indicates relevant information for the plan cycle. The plan data is data obtained by querying the plan time data, plan hierarchy information, plan item information, and plan cycle information. Funds are allocated according to the plan data in the plan table.
[0176] Both the client 410 and the plan execution device 420 can be implemented in software or in hardware. For example, the implementation of the plan execution device 420 will be described below. Similarly, the implementation of the client 410 can refer to the implementation of the plan execution device 420.
[0177] As an example of a software functional unit, the plan execution device 420 may include code running on a computing instance. The computing instance may be at least one of a physical host (computing device), a virtual machine, a container, or other computing devices. Further, the aforementioned computing device may be one or more. For example, the plan execution device 420 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the application may be distributed in the same region or in different regions. The multiple hosts / virtual machines / containers used to run the code may be distributed in the same Availability Zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.
[0178] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same VPC or across multiple VPCs. Typically, a VPC is set up within a single region. Communication between two VPCs within the same region, and between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0179] As an example of a hardware functional unit, the planning and execution device 420 may include at least one computing device, such as a server. Alternatively, the planning and execution device 420 may also be a device implemented using a CPU, ASIC, PLD, CPLD, FPGA, GAL, DPU, NPU, SoC, offload card, accelerator card, etc. The aforementioned PLD may be implemented using a CPLD, FPGA, GAL, or any combination thereof.
[0180] The multiple computing devices included in the planning execution device 420 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the planning execution device 420 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the planning execution device 420 can be distributed in the same Virtual Private Cloud (VPC) or in 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.
[0181] In one specific embodiment, this application also provides a plan execution device 420, as shown in FIG7, comprising:
[0182] The acquisition module 421 is used to acquire the plan level information, the plan item information, and the plan cycle information from the plan level dimension table, the plan item dimension table, and the plan cycle dimension table respectively through the configuration table. The configuration table includes plan time data, the plan level information is stored in the plan level dimension table, the plan item information is stored in the plan item dimension table, and the plan cycle information is stored in the plan cycle dimension table.
[0183] The generation module 422 is used to generate a schedule table based on the planned time data and configuration information. The planned time data is the time period that needs to be scheduled. The configuration information includes plan level information, plan item information, and plan cycle information. The plan level information is used to indicate the relevant information of the plan level. The plan item information is used to indicate the relevant information of the plan item. The plan cycle information is used to indicate the relevant information of the plan cycle. The plan data is the data obtained by querying based on the planned time data, plan level information, plan item information, and plan cycle information.
[0184] The allocation module 423 is used to allocate funds according to the planned data in the plan table.
[0185] The acquisition module 421, generation module 422, and allocation module 423 can all be implemented in software or hardware. For example, the implementation of the acquisition module 421 will be described below. Similarly, the implementation of the generation module 422 and allocation module 423 can refer to the implementation of the acquisition module 421.
[0186] As an example of a software functional unit, module 421 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Furthermore, the aforementioned computing instance may be one or more. For example, module 421 may 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 may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.
[0187] 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.
[0188] As an example of a hardware functional unit, the acquisition module 421 may include at least one computing device, such as a server. Alternatively, the acquisition module 421 may be implemented using a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The PLD may be 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.
[0189] The multiple computing devices included in the acquisition module 421 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the acquisition module 421 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the acquisition module 421 can be distributed in the same Virtual Private Cloud (VPC) or in 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.
[0190] It should be noted that, in other embodiments, the acquisition module 421 can be used to execute any step in the planned execution method, the generation module 422 can be used to execute any step in the planned execution method, and the allocation module 423 can be used to execute any step in the planned execution method. The steps implemented by the acquisition module 421, the generation module 422, and the allocation module 423 can be specified as needed. By implementing different steps in the planned execution method through the acquisition module 421, the generation module 422, and the allocation module 423, all functions of the planned execution device 420 can be realized.
[0191] This application also provides a chip system including a processor and a power supply circuit. The power supply circuit supplies power to the processor, which executes the operation steps corresponding to the planned execution method. For simplicity, further details are omitted here. The processor can be implemented using a GPU, or it can be implemented using computing devices such as a DPU, NPU, XPU, SoC, offload card, or accelerator card.
[0192] This application also provides a computing device 500. As shown in FIG8, the computing device 500 includes: a bus 502, a processor 504, a memory 506, and a communication interface 508. The processor 504, the memory 506, and the communication interface 508 communicate with each other via the bus 502. The computing device 500 may 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 500.
[0193] Bus 502 can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL), a Cache Coherent Interconnect for Accelerators (CCIX), etc. The Unified Bus is also known as the Lingqu Bus. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, only one line is used in Figure 8, but this does not indicate that there is only one bus or one type of bus. Bus 502 can include pathways for transmitting information between various components of computing device 500 (e.g., memory 506, processor 504, communication interface 508). The Unified Bus can also be referred to as the Lingqu Bus.
[0194] Processor 504 may include any one or more computing devices such as a central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP) or digital signal processor (DSP), ASIC, FPGA, CPLD, NPU, SoC, offload card, accelerator card, etc.
[0195] Memory 506 may include volatile memory, such as random access memory (RAM). Processor 504 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD). Furthermore, memory 506 may also be implemented using storage class memory (SCM), phase change memory (PCM), or other types of storage media.
[0196] It is worth noting that the same type of storage medium can be configured in the same computing device to realize the function of memory 506, or two or more types of storage media can be configured to realize the function of memory 506. This application does not limit this.
[0197] The memory 506 stores executable program code, which the processor 504 executes to implement the functions of the aforementioned acquisition module, generation module, and allocation module, thereby realizing the planned execution method. In other words, the memory 506 stores instructions for executing the planned execution method.
[0198] Alternatively, the memory 506 stores executable code, which the processor 504 executes to implement the functions of the aforementioned planning execution device and client, thereby implementing the planning execution method. That is, the memory 506 stores instructions for executing the planning execution method.
[0199] The communication interface 508 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 500 and other devices or communication networks.
[0200] It should be understood that the computing device 500 provided according to this application can correspond to the plan execution device 420 shown in FIG7 of this application, and can correspond to the corresponding subject in executing the method provided according to FIG2 to FIG6 of this application. The above and other operations and / or functions of each module in the computing device 500 are respectively for implementing the corresponding processes of each method in FIG2 to FIG6. For the sake of brevity, they will not be described in detail here.
[0201] As one possible implementation, the computing device 500 may also include a chip system, which includes a processor and a power supply circuit. The power supply circuit supplies power to the processor, and the processor executes the operation steps corresponding to the planned execution method. For simplicity, further details are omitted here. The processor can be implemented using a GPU, or it can be implemented using computing devices or AI chips such as a DPU, NPU, XPU, SoC, offloading card, or accelerator card.
[0202] As one possible implementation, the computing device 500 may include multiple types of processors 504, meaning the computing device 500 is a heterogeneous device. For example, the computing device 500 may include a CPU and a GPU, and the operation steps corresponding to the planned execution method can be executed by at least one of the processors 504. For the sake of brevity, further details will not be elaborated here.
[0203] 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.
[0204] As shown in Figure 9, the computing device cluster includes at least one computing device 500. The memory 506 of one or more computing devices 500 in the computing device cluster may store the same instructions for executing the planned execution method.
[0205] In some possible implementations, the memory 506 of one or more computing devices 500 in the computing device cluster may also store a portion of the instructions for executing the planned execution method. In other words, a combination of one or more computing devices 500 can jointly execute the instructions for executing the planned execution method.
[0206] It should be noted that the memory 506 in different computing devices 500 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the plan execution device. That is, the instructions stored in the memory 506 of different computing devices 500 can implement the functions of one or more modules among the acquisition module, generation module, and allocation module.
[0207] 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 10 illustrates one possible implementation. As shown in Figure 10, two computing devices 500A and 500B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation, the memory 506 in computing device 500A stores instructions for executing the functions of the generation module. Simultaneously, the memory 506 in computing device 500B stores instructions for executing the functions of the acquisition module and the allocation module.
[0208] The connection method between the computing device clusters shown in Figure 10 can be considered as follows: taking into account that the method provided in this application requires a large amount of data storage and computation, the functions implemented by the acquisition module and the allocation module are to be performed by the computing device 500B.
[0209] It should be understood that the functions of computing device 500A shown in Figure 10 can also be performed by multiple computing devices 500. Similarly, the functions of computing device 500B can also be performed by multiple computing devices 500.
[0210] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similar to the connection method of the computing device clusters described in Figures 8 and 9. The difference is that the memory 506 of one or more computing devices 500 in this computing device cluster can store the same instructions for executing the planned execution method.
[0211] In some possible implementations, the memory 506 of one or more computing devices 500 in the computing device cluster may also store a portion of the instructions for executing the planned execution method. In other words, a combination of one or more computing devices 500 can jointly execute the instructions for executing the planned execution method.
[0212] It should be noted that the memory 506 in different computing devices 500 within the computing device cluster can store different instructions for executing some functions of the plan execution system. That is, the instructions stored in the memory 506 of different computing devices 500 can implement the functions of the client and one or more devices in the plan execution unit.
[0213] 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 planned execution method, or a planned execution approach.
[0214] 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 execute a planned execution method, or instruct the computing device to execute a planned execution method.
[0215] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application 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. Such 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 this application.
Claims
1. A method for executing a plan, characterized in that, Applied to plan execution systems, including: Obtain planned time data and configuration information, wherein the planned time data is the time period that needs to be scheduled, and the configuration information includes plan level information, plan item information, and plan cycle information. The plan level information is used to indicate relevant information of the plan level, the plan item information is used to indicate relevant information of the plan item, and the plan cycle information is used to indicate relevant information of the plan cycle. The planned data is data obtained by querying based on the planned time data, plan level information, plan item information, and plan cycle information. A schedule table is generated based on the planned time data and the configuration information; Funds are allocated according to the planned data in the aforementioned schedule.
2. The method according to claim 1, characterized in that, Generate a schedule based on planned time data and configuration information, including: Using the planned time data, the planned hierarchy information, the planned item information, and the planned cycle information as parameters of a table creation statement, an empty planned table is created. The table creation statement is a statement used to create a table. The empty planned table includes header cells, row fields, and column fields. The content of the header cells is generated based on the planned hierarchy information. One of the row fields and column fields is generated based on either the planned hierarchy information or the planned item information. The other of the row fields and column fields is generated based on the planned time data and the planned cycle information. The plan data is obtained based on the row and column fields of the empty plan table; The plan table is obtained by filling the plan data into the empty plan table.
3. The method according to claim 1, characterized in that, The planned time data is stored in the configuration table, the planned hierarchy information is stored in the planned hierarchy dimension table, the planned item information is stored in the planned item dimension table, and the planned cycle information is stored in the planned cycle dimension table. Before generating the schedule table based on the planned time data and the configuration information, the method includes: The configuration table is used to obtain the plan level information, the plan item information, and the plan cycle information from the plan level dimension table, the plan item dimension table, and the plan cycle dimension table, respectively.
4. The method according to claim 3, characterized in that, The configuration table further includes a first configuration connection field, a second configuration connection field, and a third configuration connection field. The plan hierarchy dimension table includes a hierarchy connection field, the plan item dimension table includes a plan item connection field, and the plan cycle dimension table includes a plan cycle connection field. The plan hierarchy information, plan item information, and plan cycle information are obtained from the plan hierarchy dimension table, plan item dimension table, and plan cycle dimension table, respectively, through the configuration table, including: Based on the connection relationship between the first configuration connection field and the hierarchical connection field, the plan hierarchical information in the plan hierarchical dimension table is obtained from the configuration table; Based on the connection relationship between the second configuration connection field and the plan item connection field, obtain the plan item information from the plan item dimension table from the configuration table; Based on the connection relationship between the third configuration connection field and the planning period connection field, the planning period information in the planning period dimension table is obtained from the configuration table.
5. A plan execution device, characterized in that, The device includes: The generation module is used to acquire planned time data and configuration information. The planned time data refers to the time period for which planning is required. The configuration information includes plan hierarchy information, plan item information, and plan cycle information. The plan hierarchy information indicates relevant information about the plan hierarchy, the plan item information indicates relevant information about the plan item, and the plan cycle information indicates relevant information about the plan cycle. The planned data is data obtained by querying based on the planned time data, plan hierarchy information, plan item information, and plan cycle information. A plan table is generated based on the planned time data and configuration information. The allocation module is used to allocate funds according to the planned data in the plan table.
6. A plan execution system, characterized in that, The system includes: A client is used to send planned time data, wherein the planned time data is a time period that needs to be scheduled; A planning execution device is used to acquire planning time data and configuration information. The planning time data refers to the time period for which planning needs to be scheduled. The configuration information includes planning hierarchy information, planning item information, and planning cycle information. The planning hierarchy information indicates relevant information at the planning level; the planning item information indicates relevant information for each planning item; and the planning cycle information indicates relevant information for the planning cycle. The planning data is data obtained by querying the planning time data, planning hierarchy information, planning item information, and planning cycle information. A planning table is generated based on the planning time data and configuration information. Funds are allocated based on the planning data in the planning table.
7. A chip system, characterized in that, The chip system includes a processor and a power supply circuit, the power supply circuit being used to supply power to the processor, and the processor being used to perform the operation steps of the method as described in any one of claims 1 to 4.
8. A computing device, further comprising a processor and a memory; The processor is configured to execute instructions stored in the memory to cause the computing device to perform the operational steps of the method as described in any one of claims 1 to 4.
9. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and 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 as described in any one of claims 1 to 4.
10. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the operation steps of the method as described in any one of claims 1 to 4.
11. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a cluster of computing devices, perform the operational steps of the method as described in any one of claims 1 to 4.
Citation Information
Patent Citations
Method for realizing multi-dimensional overall budget
CN102004953A
Enterprise budget management system and method
CN102682360A
System for controlling strategic plan implementation and budget analysis information based on activities
CN103279839A
Method and system for analyzing and planning an inventory
US20050075949A1