Data processing method and apparatus, computing device, and storage medium

By generating an array in a multidimensional database and compressing the location information, the problem of large data transmission volume in multidimensional forms is solved, resulting in faster data transmission and a better user experience.

WO2025228033A1PCT designated stage Publication Date: 2025-11-06HUAWEI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/085794
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-30
Filing Date
2025-03-28
Publication Date
2025-11-06

AI Technical Summary

Technical Problem

In existing technologies, the large amount of data transmitted in multidimensional databases results in a long time to display multidimensional forms on the client side, making it difficult to support the display of large amounts of data.

Method used

The database management system receives query requests from clients, determines the multiple dimension members associated with the multidimensional form, generates an array, compresses the position information, and transmits only the compressed information and the array to the client, reducing the amount of data transmission.

Benefits of technology

By compressing location information and generating arrays, the amount of data transmitted is reduced, the data transmission time is shortened, and the display speed of client forms and user experience are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025085794_06112025_PF_FP_ABST
    Figure CN2025085794_06112025_PF_FP_ABST
Patent Text Reader

Abstract

The present application provides a data processing method and apparatus, a computing device, and a storage medium. The method comprises: a database management system receives a query request sent by a client, determines, on the basis of the query request, a plurality of dimension members associated with a multi-dimensional form, determines data and position information on the basis of the plurality of dimension members, then converts the data into an array, compresses the position information to obtain compressed information, and finally transmits a query result to a client, wherein the query result comprises the array and the compressed information. The query request is used for indicating data query processing of a multi-dimensional form associated with a multi-dimensional database, the plurality of dimension members belong to a plurality of dimensions in the multi-dimensional database, the data is a plurality of values corresponding to the plurality of dimension members in the multi-dimensional database, and the position information is used for indicating row and column positions of the plurality of values in the multi-dimensional form and the corresponding member of each value among the plurality of dimension members. The method of the present application can reduce the amount of data transmission and the transmission duration.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing method and device, computing apparatus, and storage medium

[0001] The present application claims priority from the Chinese patent application No. 202410547898.8 filed on April 30, 2024, and entitled "Data processing method and device, computing apparatus, and storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0002] The present application relates to the technical field of multi-dimensional database (MDD), and in particular to a data processing method and device, a computing apparatus, and a storage medium. BACKGROUND

[0003] A multi-dimensional database is a database used for processing multi-dimensional data, which organizes and stores data in the form of a multi-dimensional array (or a multi-dimensional data cube). Each dimension of the multi-dimensional array represents an angle of viewing data, and each dimension includes multiple dimension members (dimension members are values of the dimension). Each element in the multi-dimensional array represents a metric value. In order to facilitate users to view or edit data in the multi-dimensional database, data in the multi-dimensional database is usually displayed to users in the form of a form. In order to correctly construct and display the form on the client side, the database management system needs to first send information related to the form in the multi-dimensional database to the client side.

[0004] A current implementation scheme is that the database management system determines all values corresponding to the multi-dimensional form to be displayed in the multi-dimensional database, determines the row and column coordinates of each value in the form and the dimension member corresponding to each value, and then transmits each value, the row and column coordinates of each value, and the corresponding relationship between each value and the dimension member to the client side. However, this scheme needs to transmit a large amount of data, resulting in a long data transmission time and difficulty in supporting the display of a multi-dimensional form with a large number of values on the client side. SUMMARY

[0005] The present application provides a data processing method and device, a computing apparatus, and a storage medium, which can reduce the amount of transmitted data.

[0006] In a first aspect, the present application provides a data processing method, which is executed by a database management system, and the method comprises: receiving, by the database management system, a query request sent by a client, determining, by the database management system, a plurality of dimension members associated with a multi-dimensional form according to the query request, determining, by the database management system, data and position information according to the plurality of dimension members, converting, by the database management system, the data into an array, compressing, by the database management system, the position information to obtain compressed information, and transmitting, by the database management system, a query result to the client, wherein the query result comprises the array and the compressed information. The query request is used to indicate a data query processing of a multi-dimensional form associated with a multi-dimensional database. The plurality of dimension members belong to a plurality of dimensions in the multi-dimensional database. The data is a plurality of values corresponding to the plurality of dimension members in the multi-dimensional database. The position information is used to indicate row and column positions of the plurality of values in the multi-dimensional form and a corresponding member of each value in the plurality of dimension members.

[0007] Compared with a conventional scheme of directly sending all values in the multi-dimensional form, row and column coordinates of each value, and corresponding dimension members to the client, the present application compresses the position information, and then sends the compressed information and the generated array (including the plurality of values) to the client, thereby reducing the overall data transmission amount from the database management system to the client, and further shortening the data transmission time.

[0008] Based on the first aspect, in a possible implementation, the database management system can write the plurality of values into the array according to an arrangement order of the plurality of values in the multi-dimensional form, and then transmit the array to the client. It should be understood that, since the database management system fills the plurality of values into the array according to the arrangement order of the plurality of values in the multi-dimensional form, when the client receives the array, the plurality of values in the array can be directly loaded in the multi-dimensional form according to the order of the plurality of values in the array, which helps to improve the form display speed of the client, and further improves the user experience.

[0009] In a possible implementation, the position information comprises a row number. The database management system can first determine a corresponding relationship between different row numbers of the multi-dimensional form and the plurality of dimension members according to the position information, and then generate the compressed information, which is used to indicate the corresponding relationship.

[0010] In the solution, the database management system first determines the correspondence between different row numbers in the form and the plurality of dimension members according to the position information, each row number corresponds to part of the dimension members in the plurality of dimensions, the dimension members corresponding to different row numbers are not completely the same, each row number corresponds to a dimension member under each dimension in the plurality of dimensions associated with the form, and each row in the form includes one or more values. Then, the database management system generates compression information for indicating the correspondence, and sends the compression information to the client. That is, the database management system converts the correspondence between different values, row and column coordinates, and dimension members into the correspondence between different rows and dimension members, and the number of rows is usually much smaller than the number of values, so compared with the conventional solution of directly transmitting the row and column coordinates of each value in the multi-dimensional form and the correspondence between each value and the dimension member to the client, the solution can reduce the data transmission amount to a certain extent.

[0011] If the number of columns of the form is greater than 1, the position information can further include column numbers, and the database management system can first determine the correspondence between different column numbers of the multi-dimensional form and the plurality of dimension members according to the position information, and then generate another compression information for indicating the correspondence, and further send the compression information to the client.

[0012] In another possible implementation, the compression information includes a target row number, an operation number corresponding to a first dimension, and an order relationship between members belonging to the first dimension in the plurality of dimension members, the first dimension is one of the plurality of dimensions, an index value of the first dimension member corresponding to the target row number in the order relationship is equal to a remainder obtained by dividing a first value by a number of members belonging to the first dimension in the plurality of dimension members, the first dimension member belongs to the first dimension, and the first value is a quotient obtained by dividing the target row number by the operation number. Wherein, if the number of other dimensions after the first dimension in the plurality of dimensions is zero, the value of the operation number is 1, if the number of other dimensions is 1, the value of the operation number is the number of members of the other dimensions associated with the multi-dimensional form, and if the number of other dimensions is greater than 1, the value of the operation number is the product of the number of members of the other dimensions associated with the multi-dimensional form.

[0013] In the solution, the database management system carries the target row number, the operation number corresponding to the first dimension, and the order relationship between the members belonging to the first dimension in the plurality of dimension members in the compressed information. When the client receives the compressed information, the index value of the first dimension member corresponding to the target row number in the above order relationship can be calculated according to the target row number (which can be any row number in the form) and the operation number corresponding to the first dimension. Then, the first dimension member is determined based on the calculated index value in the above order relationship. That is, the target row number, the operation number corresponding to the first dimension, and the above order relationship implicitly indicate the correspondence between the target row number and the first dimension member. The client can determine the first dimension member corresponding to the target row number in the first dimension by calculating the target row number, the operation number corresponding to the first dimension, and the above order relationship. The dimension members in other dimensions corresponding to the target row number can also be calculated in a similar manner.

[0014] In another possible implementation, the compressed information further includes a row number array, the row number array includes different row numbers of the multi-dimensional form, and the length of the row number array is less than or equal to the product of the number of members of each dimension associated with the multi-dimensional form.

[0015] In the solution, the row number array is used to indicate how many rows the form has. The client can quickly fill the plurality of values in the form in the order of the row numbers according to the row number array and the array including the plurality of values in the form, thereby improving the display speed of the form on the client.

[0016] In another possible implementation, the query result further includes style metadata, the style metadata being used to indicate the style used by the client when displaying the plurality of values. For example, the style can be font size, font, alignment, whether to bold, background color, size of the cell where the value is located, and the like. The application does not make specific limitations on this. When the client receives the style metadata, the style used by the client when displaying the plurality of values in the form can be controlled according to the style metadata.

[0017] In another possible implementation, the query result further includes state information, the state information being used to indicate the state of the plurality of values in the multi-dimensional database, and the state includes a writable state and a read-only state. The writable state means that the value can be modified, and the read-only state means that the value is not allowed to be modified. The client can control whether to allow the user to perform the operation of modifying the value on the client according to the state of the value.

[0018] In a second aspect, the application further provides a data processing apparatus, which includes various modules for executing the data processing method in the first aspect or any possible implementation of the first aspect.

[0019] In a third aspect, the present application provides a computing device, comprising a processor and a memory. The processor is configured to execute instructions stored in the memory, so as to cause the computing device to perform the operation steps of the method according to any possible implementation of the first aspect.

[0020] In a fourth aspect, the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory. The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so as to cause the computing device cluster to perform the operation steps of the method according to any possible implementation of the first aspect.

[0021] In a fifth aspect, the present application provides a chip system, comprising a processor and a power supply circuit. The power supply circuit is configured to supply power to the processor. The processor is configured to perform the operation steps of the method according to the first aspect or any possible implementation of the first aspect.

[0022] In a sixth aspect, the present application provides a computer readable storage medium, comprising computer program instructions. When the computer program instructions are executed by a computing device cluster (comprising at least one computing device), the computing device cluster performs the operation steps of the method according to any possible implementation of the first aspect.

[0023] In a seventh aspect, the present application provides a computer program product comprising instructions. When the instructions are executed by a computing device cluster (comprising at least one computing device), the computing device cluster performs the operation steps of the method according to any possible implementation of the first aspect.

[0024] On the basis of the implementation manners of the aspects provided by the present application, further combinations can be made to provide more implementation manners. BRIEF DESCRIPTION OF DRAWINGS

[0025] FIG. 1 is a system architecture diagram provided by the present application;

[0026] FIG. 2 is a schematic diagram of a multi-dimensional form provided by the present application;

[0027] FIG. 3 is a schematic diagram of another multi-dimensional form provided by the present application;

[0028] FIG. 4 is a structural schematic diagram of a query result provided by the present application;

[0029] FIG. 5 is a schematic diagram of a multi-dimensional form after space elimination provided by the present application;

[0030] FIG. 6 is a flowchart of a data processing method provided by the present application;

[0031] FIG. 7 is a structural schematic diagram of a computing device provided by the present application;

[0032] FIG. 8 is a schematic diagram of a computing device cluster provided by the present application;

[0033] FIG. 9 is a schematic diagram of two computing devices interacting through a network provided by the present application. DETAILED DESCRIPTION

[0034] The present application provides a data processing method, which is executed by a database management system. The method first receives a query request sent by a client, then determines a plurality of dimension members associated with a multi-dimensional form according to the query request, and further determines data and position information according to the plurality of dimension members. Then, the method converts the data into an array, and compresses the position information to obtain compressed information. Finally, the method transmits a query result to the client, the query result including the array and the compressed information. The query request is used to indicate data query processing of a multi-dimensional form associated with a multi-dimensional database. The plurality of dimension members belong to a plurality of dimensions in the multi-dimensional database. The data is a plurality of values corresponding to the plurality of dimension members in the multi-dimensional database. The position information is used to indicate the row-column positions of the plurality of values in the multi-dimensional form and the member corresponding to each value in the plurality of dimension members.

[0035] Compared with a conventional scheme of directly sending all values in a multi-dimensional form, the row-column coordinates of each value, and the corresponding dimension members to a client, the system compresses the position information, and then sends the compressed information obtained by compression and the generated array (including the plurality of values) to the client, thereby reducing the data transmission amount and shortening the data transmission time.

[0036] The database management system provided by the present application is described in detail below.

[0037] Referring to FIG. 1, which is a system architecture diagram provided by the present application, the system includes a client 100, a database management system 200, and a multi-dimensional database 300. The client 100 and the database management system 200 have a communication connection, which can be a wired connection or a wireless connection. The number of clients 100 that establish a communication connection with the database management system 200 can be one or more (FIG. 1 only takes one client 100 as an example), which is not specifically limited by the present application. Similarly, the multi-dimensional database 300 and the database management system 200 have a communication connection, which can be a wired connection or a wireless connection. The number of multi-dimensional databases 300 that establish a communication connection with the database management system 200 can be one or more (FIG. 1 only takes one multi-dimensional database 300 as an example), which is not specifically limited by the present application.

[0038] The client 100 is configured to implement human-computer interaction and can be deployed on a terminal device or a computing device. The terminal device can be a smart phone, a wearable device, a notebook computer, a tablet computer, a vehicle-mounted device, a smart conference device, or the like, and the computing device can be a server, a personal computer (PC), or the like, and the embodiments of the present application are not limited in this regard.

[0039] In some specific implementations, the client 100 can be an application (APP) client / mobile client running on a mobile terminal such as a smart phone or a wearable device, or a software or application running on a computing device (such as a PC client), or a web client accessed based on a web browser, or a front-end console of a cloud platform, and the present application is not limited in this regard.

[0040] The database management system 200 is configured to manage the multidimensional database 300, and the database management system 200 can be deployed on a computing device, a computing device cluster composed of multiple computing devices, or a terminal device. The computing device can be a physical server, a virtual machine, a container, or an edge computing device, and the like. The virtual machine refers to a complete computer system that is simulated by software and runs in a completely isolated environment. When creating a virtual machine in a computing device, part of the hard disk and memory capacity of the entity machine is used as the hard disk and memory capacity of the virtual machine. Each virtual machine has an independent basic input / output system (BIOS), hard disk, and operating system, and can be operated like an entity machine. The container is a portable software unit that can combine an application and all its dependencies into a software package that is not limited by the underlying host operating system, so that the complex environment does not need to be built again, simplifying the application development and deployment process. The edge computing device refers to a device that is closer to the data source and the end user, has low latency, and high bandwidth characteristics, such as a smart router or an edge server, and the like, and the present application is not limited in this regard. The terminal device can refer to the description above, and will not be described here.

[0041] The multidimensional database 300 is a database for storing multidimensional data, which organizes and stores data in the form of a multidimensional array (or a multidimensional data cube). Each dimension of the multidimensional array represents an angle / aspect / direction of observing data, and each dimension includes one or more dimension members, i.e., the dimension values can have one or more. Each element in the multidimensional array represents a metric value.

[0042] For example, it is assumed that the multi-dimensional database 300 includes a company dimension, a year dimension, a product dimension, a region dimension, a subject (i.e., an accounting subject) dimension, and the like, wherein the company dimension includes dimension members such as A Company, B Company, and the like, the year dimension includes dimension members such as 2019, 2020, 2021, and the like, the product dimension includes dimension members such as Product 1, Product 2, Product 3, and the like, the region dimension includes dimension members such as Region 1, Region 2, and the like, and the subject dimension includes dimension members such as sales, sales volume, inventory, profit rate, and the like. It should be noted that the number and types of dimensions and dimension members given in this example are only for illustration and do not constitute a specific limitation, and in actual application scenarios, the multi-dimensional database 300 can also be provided with more or fewer dimensions, and one or more dimension members can be provided under each dimension, which is not specifically limited by the present application.

[0043] Optionally, the client 100 and the database management system 200 can be deployed on the same terminal device or computing device; or the client 100 is deployed on a terminal device and the database management system 200 is deployed on a single computing device or a cluster of computing devices. Similarly, the multi-dimensional database 300 and the database management system 200 can be deployed on the same or different computing devices or terminal devices, and the embodiments of the present application do not specifically limit them. It should be understood that the examples are only for illustration, and the deployment of the client 100, the database management system 200, and the multi-dimensional database 300 can be determined according to actual application scenarios.

[0044] Further, the client 100 and the database management system 200 can each be divided into multiple unit modules. FIG. 1 exemplarily shows a division manner of the client 100 and the database management system 200, wherein the client 100 includes a sending module 110, a receiving module 120, a processing module 130, and an interaction module 140, the database management system 200 includes a receiving module 210, a processing module 220, and a sending module 230, which are described below.

[0045] 1. The sending module 110 is configured to send a query request to the database management system 200, wherein the query request is used to instruct data query processing of a multi-dimensional form associated with the multi-dimensional database 300. The multi-dimensional form is a multi-dimensional form constructed based on data in the multi-dimensional database 300, and the multi-dimensional form is associated with multiple dimension members, the multiple dimension members belong to multiple dimensions in the multi-dimensional database 300, the multiple dimensions can be considered as dimensions associated with the multi-dimensional form, and each dimension member belongs to only one dimension, and each dimension of the multiple dimensions has at least one dimension member of the multiple dimension members.

[0046] First, the query request is introduced. The query request can include the following cases:

[0047] Case 1: the query request includes the identifier (ID) or name of the multidimensional form.

[0048] In this case, the database management system 200 records the correspondence between the ID / name of the multidimensional form and the multiple dimension members associated with the multidimensional form. When the client 100 needs to display the multidimensional form, the sending module 110 of the client 100 carries the ID or name of the multidimensional form in the query request and sends the query request to the database management system 200, so as to query the data of the multidimensional form from the database management system 200. Then, the database management system 200 can determine, according to the ID / name of the multidimensional form in the query request and the recorded correspondence, that the client 100 needs to display the multidimensional form, and further determine that the multidimensional form is associated with the multiple dimension members, and then acquire the multiple values corresponding to the multiple dimension members in the multidimensional database 300 (to be described later).

[0049] Case 2: the query request includes the multiple dimension members associated with the multidimensional form.

[0050] In this case, the client 100 carries the multiple dimension members associated with the multidimensional form in the query request and sends the query request to the database management system 200, so as to query the data of the multidimensional form from the database management system 200. Then, the database management system 200 can directly determine, according to the query request, the multiple dimension members associated with the multidimensional form, and further acquire the multiple values corresponding to the multiple dimension members in the multidimensional database 300 (to be described later).

[0051] Case 3: the query request includes the multiple dimensions associated with the multidimensional form.

[0052] In this case, the client 100 carries the multiple dimensions associated with the multidimensional form in the query request and sends the query request to the database management system 200, so as to query the data of the multidimensional form from the database management system 200. Then, the database management system 200 can determine, according to the query request, each dimension associated with the multidimensional form, and further take all or part of the dimension members under each dimension as the multiple dimension members associated with the multidimensional form, and then acquire the multiple values corresponding to the multiple dimension members in the multidimensional database 300 (to be described later). Optionally, the part of the dimension members under each dimension can be a specified number (which can be set) of dimension members under the dimension, or can be specific dimension members (which can be specified by a user or set by default by the multidimensional database 300), which is not limited in the present application.

[0053] The multidimensional form will be described in detail below.

[0054] As can be seen from the foregoing, a multidimensional form is associated with multiple dimensions in the multidimensional database 300, and for each of the multiple dimensions, the multidimensional form is specifically associated with at least one dimension member under the dimension. The number of corresponding values of the multidimensional form in the multidimensional database 300 (i.e., the corresponding values of the multiple dimension members associated by the multiple forms in the multidimensional database 300) is equal to the product of the dimension member data of each dimension associated by the multidimensional form. Each value corresponds to one dimension member of each dimension associated by the multiple forms, and for ease of description, all the dimension members corresponding to each value are referred to as the member tuple of the value, and different values have different member tuples.

[0055] For example, FIG. 2 exemplarily shows a multidimensional form associated with four dimensions in the multidimensional database 300, including a year dimension, a product dimension, a subject dimension, and a region dimension, wherein the multidimensional form is associated with two dimension members 2015 and 2016 under the year dimension, three dimension members product A, product B, and product C under the product dimension, one dimension member sales under the subject dimension, and two dimension members region 1 and region 2 under the region dimension.

[0056] Therefore, the multidimensional form is associated with 2+3+1+2=8 dimension members, and the eight dimension members belong to the four dimensions in the multidimensional database 300. The number of corresponding values of the multidimensional form in the multidimensional database 300 is equal to the product of the dimension member data of each dimension associated by the multidimensional form, i.e., 2x3x1x2=12. The twelve values need to be obtained from the multidimensional database 300 to fill in the twelve cells (represented by blank boxes in the figure) in the form of FIG. 2.

[0057] Each value corresponds to four dimension members (belonging to four different dimensions associated by the multidimensional form) of the eight dimension members, and the four dimension members are referred to as the member tuple of the value, and different values have different member tuples, so the twelve values have twelve different member tuples. The specific member tuples can be calculated by the Cartesian product algorithm, wherein the Cartesian product in the mathematical field refers to an operation between two sets (or more sets), which combines the elements in the sets into ordered pairs to obtain all possible ordered pairs.

[0058] For example, two dimension members under the year dimension associated with the multidimensional form are denoted as Set 1 = {2015, 2016}, three dimension members under the product dimension associated with the multidimensional form are denoted as Set 2 = {Product A, Product B, Product C}, one dimension member under the subject dimension associated with the multidimensional form is denoted as Set 3 = {Sales}, and two dimension members under the region dimension associated with the multidimensional form are denoted as Set 4 = {Region 1, Region 2}. The Cartesian product = Set 1 x Set 2 x Set 3 x Set 4 = {(2015, Product A, Sales, Region 1), (2015, Product A, Sales, Region 2),..., (2016, Product C, Sales, Region 2)}, where the small parentheses represent an ordered pair (i.e., a member tuple), and the content in the small parentheses is a dimension member contained in a member tuple.

[0059] Optionally, the row structure of the multidimensional form can be associated with M dimensions in the multidimensional database 300 (which can be part or all of the dimensions associated with the multidimensional form), and M is greater than or equal to 1, which is not specifically limited in the present application. The M dimensions corresponding to the row structure have an order relationship in the multidimensional form, which can be user-specified (such as specified by the interaction module 140) or system default, which is not specifically limited in the present application. For any one of the M dimensions, the row structure of the multidimensional database 300 is associated with one or more dimension members under the dimension (which can be part or all of the dimension members under the dimension). If the row structure is associated with multiple dimension members under the dimension, the multiple dimension members under the dimension have an order relationship in the multidimensional form, which can be user-specified (such as specified by the interaction module 140) or system default.

[0060] Continuing with the example of FIG. 2, the row structure of the multidimensional form is associated with the year dimension, the product dimension, and the subject dimension among the above-mentioned four dimensions, and the order of the three dimensions in the multidimensional form is year dimension -> product dimension -> subject dimension.

[0061] For the year dimension, the multi-dimensional form associates 4 dimensions in the multi-dimensional database 300, including the year dimension, the product dimension, the subject dimension and the region dimension, wherein the row structure associates the year dimension, the product dimension and the region dimension of the 4 dimensions. For the year dimension, the row structure specifically associates the two dimension members 2015 and 2016 under the dimension, and the order relationship of the two dimension members in the multi-dimensional form is 2015→2016, and the two dimension members 2015 and 2016 correspond to different rows in the multi-dimensional form. For the product dimension, the row structure specifically associates the three dimension members product A, product B and product C under the dimension, and the order relationship of the three dimension members in the multi-dimensional form is product A→product B→product C, and the three dimension members product A, product B and product C correspond to different rows in the multi-dimensional form. For the subject dimension, the row structure specifically associates the one dimension member sales under the dimension, and the dimension member sales corresponds to all rows in the multi-dimensional form.

[0062] It should be understood that the number of dimension members of each dimension associated by the row structure of the multi-dimensional form determines the number of rows of the multi-dimensional form, and the number of rows of the multi-dimensional form is equal to the product of the number of dimension members of each dimension associated by the row structure.

[0063] Continuing with the previous example, the row structure of the multi-dimensional form in FIG. 2 associates 2 dimension members under the year dimension, 3 dimension members under the product dimension and 1 dimension member under the subject dimension, and then the number of rows of the multi-dimensional form is 2×3×1=6 (row numbers are 0-5).

[0064] Optionally, the column structure of the multi-dimensional form can associate N dimensions in the multi-dimensional database 300 (part or all of the dimensions associated by the multi-dimensional form), and N is greater than or equal to 1, which is not specifically limited by the present application. The N dimensions associated by the column structure have an order relationship in the multi-dimensional form, which can be user-specified or system-default, which is not limited by the present application. For any one of the N dimensions, the column structure of the multi-dimensional database 300 associates one or more dimension members under the dimension (which can be part or all of the dimension members under the dimension). If the column structure associates multiple dimension members under the dimension, the multiple dimension members under the dimension have an order relationship in the multi-dimensional form, which can be user-specified or system-default. It should be understood that the number of dimension members of each dimension associated by the column structure of the multi-dimensional form determines the number of columns of the multi-dimensional form, and the number of columns of the multi-dimensional form is equal to the product of the number of dimension members of each dimension associated by the column structure.

[0065] Continuing with the example of FIG. 2, the column structure of the multidimensional form of FIG. 2 only associates one dimension in the multidimensional database 300, i.e., the region dimension. The column structure specifically associates two dimension members under the region dimension, i.e., region 1 and region 2, which have an order relationship of region 1 -> region 2 in the multidimensional form, and region 1 and region 2 correspond to different columns in the multidimensional form. Since the column structure of the multidimensional form only associates the region dimension, the number of columns of the multidimensional form = the number of dimension members of the region dimension associated by the column structure = 2 (column numbers are 0-1).

[0066] After the number of rows and the number of columns of the multidimensional form are determined, the number of cells in the multidimensional form for filling values can be determined by calculating the product of the number of rows and the number of rows. The number of cells = number of rows x number of columns = 6 x 2 = 12, and the 12 cells are used to fill the 12 values corresponding to the multidimensional database 300 in the multidimensional form. It should be noted that the other parts (referred to as table headers or row and column titles) of FIG. 2 except the 12 cells are only for easy understanding, and in actual application scenarios, the client 100 can not directly display the table headers in FIG. 2.

[0067] 2. The receiving module 210 is configured to receive the query request sent by the client 100.

[0068] 3. The processing module 220 is configured to obtain a plurality of values from the multidimensional database 300 according to the query request, and further generate a query result.

[0069] Specifically, the processing module 220 in the database management system 200 can determine a plurality of dimension members associated with the multidimensional form by analyzing the query request sent by the client 100 (for reference, see the above-mentioned cases 1-3), and further obtain a plurality of values corresponding to the plurality of dimension members from the multidimensional database 300. When the database management system 200 obtains the plurality of values from the multidimensional database 300, the plurality of values are filled into the cells at the corresponding row and column positions in the multidimensional form.

[0070] Continuing with the example of FIG. 2, as described above, the multidimensional form of FIG. 2 is associated with 8 dimension members, which belong to 4 dimensions in the multidimensional database 300, i.e., the year dimension, the product dimension, the subject dimension, and the region dimension, and the number of values corresponding to the 8 dimension members in the multidimensional form is 12, and different values have different member tuples.

[0071] When the database management system 200 receives the query request sent by the client 100, the multiple dimension members associated with the multidimensional form can be determined, and then the multiple values corresponding to the multiple dimension members in the multidimensional database 300 can be obtained. For example, the member tuple of the value to be filled in the cell with row number 0 and column number 1 in FIG. 2 includes 2015, product A, sales and region 2, and the database management system 200 can obtain the value corresponding to the member tuple from the multidimensional database 300. The values to be filled in other cells are obtained in a similar manner, which will not be described herein.

[0072] When the database management system 200 obtains the 12 values from the multidimensional database 300, the 12 values are filled in the corresponding cells in the multidimensional form of FIG. 2, and the multidimensional form of FIG. 3 is obtained. It should be noted that the 12 values filled in FIG. 3 are only examples and do not constitute a specific limitation.

[0073] The foregoing describes how to obtain the multiple values corresponding to the multiple dimension members associated with the multidimensional form in the multidimensional database 300 and fill the values in the multidimensional form, and the following describes how to generate a query result according to the multiple values.

[0074] Referring to FIG. 4, FIG. 4 is a structural diagram of a query result, which includes data information and definition information.

[0075] First, the data information is described. As shown in FIG. 4, the data information includes a cell value array (which is an array), and the cell array is used to indicate the multiple values corresponding to the multiple dimension members associated with the multidimensional form in the multidimensional database 300.

[0076] Continuing the foregoing example, when the processing module 220 in the database management system 200 obtains the 12 values from the multidimensional database 300, the 12 values can be further converted into an array, i.e., the cell value array is written according to the arrangement order of the 12 values in the multidimensional form of FIG. 3.

[0077] As shown in FIG. 3, the processing module 220 can fill the values of the 12 cells in the multidimensional form into the cell value array in the order of the 0th row to the 5th row (from left to right in each row), obtaining [100, 200, NULL, NULL, 150, 180, 200, 300, 80, 120, 160, 150]. Alternatively, the processing module 220 can write the values of the 12 cells into the cell value array in the order of the 5th row to the 0th row (from left to right in each row), obtaining [160, 150, 80, 120, 200, 300, 150, 180, NULL, NULL, 100, 200]. Alternatively, the processing module 220 can write the values of the 12 cells into the cell value array in the order of the 0th column to the 1st column (from top to bottom in each column), obtaining [100, NULL, 150, 200, 80, 160, 200, NULL, 180, 300, 120, 150]. Of course, the processing module 220 can fill the values of the 12 cells into the cell value array in other orders, which are not limited in the present application, and the subsequent client 100 can quickly draw the 12 cells on the client 100 according to the cell value array and the order in which the cell value array is filled.

[0078] Optionally, as shown in FIG. 4, the data information further includes a cell state array, which is used to indicate the states of the values in the multidimensional form in the multidimensional database 300. The states can include a read-only state and a writable state. The writable state means that the value can be modified, and the read-only state means that the value is not allowed to be modified. If a value is in the writable state, the client 100 can prompt the user that the value can be modified, and then allow the user to perform the operation of modifying the value on the client 100; if a value is in the read-only state, the client 100 can prompt the user that the value is not allowed to be modified, thereby prohibiting the user from performing the operation of modifying the value on the client 100.

[0079] Taking the previous example, assume that the processing module 220 fills the 12 values in the multidimensional form into the cell value array in the order of the 0th row to the 5th row (from left to right in each row), obtaining [100, 200, NULL, NULL, 150, 180, 200, 300, 80, 120, 160, 150].

[0080] Suppose the states of the values in the cells in the 0th-2nd rows in FIG. 3 are all read-only, the states of the values in the cells in the 3rd-5th rows are all writable, and the read-only state is represented by a state marker 0 and the writable state is represented by a state marker 1. According to the arrangement order of the 0th row to the 5th row (from left to right in each row), the processing module 220 can fill the state markers of the 12 values in the multi-dimensional form into the cell state array in sequence, and thus obtain [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1]. It should be understood that when the client 100 determines the state of each value through the cell state array, the cells in which the values in different states are located can be rendered in different ways, such as filling the cells in which the values in the read-only state are located with gray, filling the cells in which the values in the writable state are located with white, and the like, which are not limited in the present application.

[0081] It should be understood that the position of a same value in the cell value array is consistent with the position of the state marker of the value in the cell state array. For example, the value of the cell in the 0th column of the 2nd row in FIG. 2 is 150, the position of the value in the cell value array is the 4th (assuming that the position starts from 0), and the position of the state marker of the value in the cell state array is also the 4th. Therefore, the client 100 can assign values to corresponding cells and set the states of the cells according to the order of the elements (values / states) in the two arrays according to the correspondence between the two arrays.

[0082] It should be noted that the number, name and state marker of the state in the above example are only examples and do not constitute specific limitations. In actual application scenarios, more or fewer states can be divided, and different states can be distinguished by different state markers, which are not limited in the present application.

[0083] Optionally, the processing module 220 in the database management system 200 can first obtain all the values corresponding to the cells in the multi-dimensional form from the multi-dimensional database 300, and then determine whether there are whole rows and / or whole columns (referred to as nullable rows and columns) in which all the values are null in the multi-dimensional form. If there are, the processing module 220 performs null elimination on the nullable rows and columns, that is, does not carry the values of the cells in the nullable rows and columns in the cell value array, and does not carry the state markers of the cells in the nullable rows and columns in the cell state array, thereby reducing the amount of data transmission. At this time, since the client 100 does not receive the values of the nullable rows and columns in the cell value array and the state markers of the nullable rows and columns in the cell state array, the client 100 will not display the nullable rows and columns in the multi-dimensional form, which can to some extent optimize the display effect and user experience of the multi-dimensional form.

[0084] Continuing with the example of FIG. 3, the multidimensional form includes 12 cells, and the values in these cells are obtained by the database management system 200 from the multidimensional database 300 and filled into the multidimensional form (as described above), some of which are filled with specific values and some of which are filled with NULL, indicating that the corresponding values obtained from the multidimensional database 300 are empty. Of course, other markers can be used to indicate that the values are empty, which are not limited in the present application. As can be seen, the values in the cells in the first row of the multidimensional form are all empty, and thus the first row is a blankable row and column.

[0085] If the multidimensional form of FIG. 3 is not blanked, the processing module 220 of the database management system 200 can write the values of the 12 cells into a cell value array. For example, the processing module 220 can fill the values of the 12 cells into an array in the order of the 0th row to the 5th row, i.e., obtain the following cell value array: [100, 200, NULL, NULL, 150, 180, 200, 300, 80, 120, 160, 150]. As can be understood, when the client 100 receives the cell value array, it does not need to perform complex calculations, but only needs to quickly draw the 12 cells in the order of the 0th row to the 5th row. Similarly, the database management system 200 can fill the state markers of the values in the 12 cells into a cell state array in the order of the 0th row to the 5th row, and when the client 100 receives the cell state array, it only needs to quickly render the states of the values in the 12 cells in the order of the 0th row to the 5th row.

[0086] If the multidimensional form of FIG. 3 is blanked, the processing module 220 of the database management system 200 only needs to write the values of the cells in the rows and columns of the multidimensional form other than the blankable row and column into a cell value array, i.e., fill the values of the cells other than the first row in FIG. 2 into the cell value array in order to obtain [100, 200, 150, 180, 200, 300, 80, 120, 160, 150], and the length of the array is 10. As can be understood, when the client 100 receives the cell value array, it does not need to perform complex calculations, but only needs to quickly draw the 10 cells in the order of the 0th row to the 5th row (except the first row), thereby obtaining the blanked multidimensional form shown in FIG. 5. Similarly, the database management system 200 can fill the state markers of the values in the cells other than the first row in FIG. 2 into a cell state array, and when the client 100 receives the cell state array, it only needs to quickly render the states of the values in the 10 cells in the order of the 0th row to the 5th row (except the first row).

[0087] As shown in FIG. 3, in addition to the numerical information introduced above, the query result further includes definition information, which is used to indicate the number of rows and the number of columns of the multidimensional form and the corresponding dimension members of each row and each column in the multidimensional form.

[0088] The definition information includes row-column metadata and member metadata.

[0089] The row-column metadata is used to indicate the number of rows and the number of columns of the multidimensional form. For example, without considering the null elimination, the number of rows and the number of columns of the multidimensional form can be directly given.

[0090] Optionally, as shown in FIG. 2, the row-column metadata includes a row number array and a column number array. The row number array includes the row numbers of different rows in the multidimensional form, and the length of the row number array is equal to the number of rows of the multidimensional form. Therefore, according to the row number array, the client 100 can determine how many rows the multidimensional form has. The column number array includes the column numbers of different columns in the multidimensional form, and the length of the column number array is equal to the number of columns of the multidimensional form. Therefore, according to the column number array, the client 100 can determine how many columns the multidimensional form has, so as to render and display the multidimensional form on the client 100.

[0091] For example, for the multidimensional form shown in FIG. 2, the database management system 200 can generate a row number array [0, 1, 2, 3, 4, 5] and a column number array [0, 1], which indicates that the multidimensional form has 6 rows and 2 columns. Then, the database management system 200 carries the row number array and the column number array in the query result to send to the client 100. Then, according to the row number array and the column number array, the client 100 can determine the number of rows and the number of columns of the multidimensional form, and in combination with the cell value array (including the values of 12 cells) in the form information, the drawing of the 12 cells can be completed.

[0092] For another example, for the multidimensional form after the null elimination shown in FIG. 5, the database management system 200 can generate a row number array [0, 2, 3, 4, 5] and a column number array [0, 1], which indicates that the multidimensional form after the null elimination has 5 rows and 2 columns. As can be seen, since the first row is eliminated, the row number array does not carry the row number of the first row, and further, the client 100 does not need to render the cells of the first row, but only needs to draw the 10 cells according to the row number array, the column number array and the cell value array (including the values of 10 cells after the null elimination), so as to display the multidimensional form after the null elimination shown in FIG. 5 on the client 100.

[0093] The member metadata is used to indicate the dimensions corresponding to the row structure and the column structure of the multidimensional form and the information of the dimension members. The member metadata can include the following first implementation and second implementation.

[0094] In the first implementation, the member metadata includes an order relationship of a dimension member in each dimension corresponding to a row structure in the multidimensional table, an order relationship of a dimension member in each dimension corresponding to a column structure in the multidimensional table, and an operation number of each dimension in the M dimensions and the N dimensions.

[0095] For any one of the M dimensions (denoted as a first dimension), the operation number of the first dimension is of the following types:

[0096] Type one, if the number of other dimensions after the first dimension in the M dimensions is 0, the operation number of the first dimension is 1.

[0097] Type two, if the number of other dimensions after the first dimension in the M dimensions is 1, the operation number of the first dimension is the number of dimension members of the other dimension in the multidimensional table.

[0098] Type three, if the number of other dimensions after the first dimension in the M dimensions is 1, the operation number of the first dimension is the product of the number of dimension members of each dimension in the other dimension in the multidimensional table.

[0099] When the client 100 obtains the query result transmitted by the database management system 200, the index value of a dimension member corresponding to a target row number (which can be any row in the multidimensional table) in the first dimension in the multidimensional table can be determined according to the operation number of the first dimension in the query result and the following decompression algorithm:

[0100] The index value of a dimension member (denoted as a first dimension member) corresponding to the target row in the first dimension = (target row number / operation number of the first dimension) % number of dimension members in the first dimension associated with the multidimensional table.

[0101] After obtaining the index value of the first dimension member, the first dimension member corresponding to the target row number in the first dimension can be determined according to the order relationship of the dimension member in the first dimension in the multidimensional table given in the member metadata.

[0102] For example, for the multi-dimensional form shown in FIG. 3, the row structure of the multi-dimensional form corresponds to three dimensions of year dimension, product dimension and subject dimension, and the order relationship of them in the multi-dimensional form is year dimension → product dimension → subject dimension. Among them, the multi-dimensional form specifically associates with two dimension members of 2015 and 2016 under the year dimension (which can be part or all of the dimension members under the year dimension), and the order relationship of them in the multi-dimensional form is 2015 → 2016, which can be represented by an array [2015, 2016], in which the index value of 2015 is 0 and the index value of 2016 is 1. The multi-dimensional form also associates with three dimension members of product A, product B and product C under the product dimension, and the order relationship of them in the multi-dimensional form is product A → product B → product C, which can be represented by an array [product A, product B, product C], in which the index value of product A is 0, the index value of product B is 1, and the index value of product C is 2. The multi-dimensional form only associates with one dimension member of sales under the subject dimension.

[0103] According to the order relationship between the three dimensions corresponding to the row structure, the operation number of each dimension corresponding to the row structure can be determined as follows:

[0104] The operation number of the year dimension = the number of dimension members of the product dimension × the number of dimension members of the subject dimension = 3 × 1 = 3;

[0105] The operation number of the product dimension = the number of members of the subject dimension = 1;

[0106] The operation number of the subject dimension = 1;

[0107] For the multi-dimensional form shown in FIG. 2, when the client 100 obtains the query result transmitted by the database management system 200, if it wants to determine which dimension member under the year dimension the 4th row corresponds to, it can obtain the operation number of each of the year dimension, the product dimension and the subject dimension from the query result, and then calculate the quotient of the row number divided by the operation number of the year dimension according to the decompression algorithm, i.e. 4 / 3 = 1, and then take the remainder of the obtained value 1 with respect to the number of dimension members under the year dimension associated with the multi-dimensional form, i.e. 1%2 = 1. According to the calculated index value, the array [2015, 2016] is queried, and it is determined that the 4th row corresponds to the dimension member of 2016 under the year dimension.

[0108] Similarly, if the client 100 wants to determine which dimension member under the product dimension the 2nd row corresponds to, the client 100 can obtain the operand of the product dimension from the query result, and then calculate the quotient of the row number divided by the operand of the product dimension according to the decompression algorithm, i.e. 2 / 1=2, and then take the remainder of the obtained value 2 divided by the number of dimension members under the product dimension associated with the multidimensional table form, i.e. 2%3=2. According to the calculated index value, the array [product A, product B, product C] is queried, and it is determined that the 2nd row corresponds to product C under the product dimension.

[0109] The dimension members corresponding to other rows under each dimension can be determined in the above manner, and will not be described in detail here.

[0110] Similarly, for any one dimension (denoted as the second dimension) of the N dimensions, the operand of the second dimension is divided into the following types:

[0111] Type four, if the number of other dimensions after the second dimension in the N dimensions is 0, the operand of the second dimension is 1.

[0112] Type five, if the number of other dimensions after the second dimension in the N dimensions is 1, the operand of the second dimension is the number of dimension members of the other dimension in the multidimensional table form.

[0113] Type six, if the number of other dimensions after the second dimension in the N dimensions is 1, the operand of the second dimension is the product of the number of dimension members of each dimension in the other dimension in the multidimensional table form.

[0114] After determining the operand of the second dimension, the client 100 can determine the index value of a dimension member corresponding to the target column number (which can be any column in the multidimensional table form) under the second dimension according to the following decompression algorithm:

[0115] The index value of a dimension member (denoted as the second dimension member) corresponding to the target row under the second dimension=(target column number / operand of the second dimension) % number of dimension members under the second dimension associated with the multidimensional table form.

[0116] After obtaining the index value of the second dimension member, the order of the dimension member under the second dimension given in the member metadata is queried according to the index value, and the second dimension member corresponding to the target column number under the second dimension is determined.

[0117] For example, for the multidimensional form shown in FIG. 2, the column structure corresponds to one dimension of the region dimension, and specifically corresponds to two dimension members of the region dimension, region 1 and region 2, in the order of region 1 -> region 2. This can be represented by an array [region 1, region 2], where the index value of region 1 in the array is 0, and the index value of region B in the array is 1.

[0118] Since the column structure corresponds to only one dimension of the region dimension, and no other dimension is located after the region dimension, it can be determined that the operation number of the region dimension = 1.

[0119] For the multidimensional form shown in FIG. 2, after the client 100 receives the query result sent by the database management system 200, if the client 100 wants to determine which dimension member of the region dimension the 0th column corresponds to, the operation number of the region dimension can be obtained from the query result, and then according to the decompression algorithm, the column number of the column is divided by the operation number of the region dimension, i.e. 0 / 1 = 0, and then the value obtained is used to take the remainder of the number of dimension members of the region dimension associated with the multidimensional form, i.e. 0%2 = 0. According to the index value 0 calculated, the array [region 1, region 2] is queried, and it can be determined that the 0th row corresponds to region 1 of the region dimension.

[0120] Similarly, if the client 100 wants to determine which dimension member of the region dimension the 1st column corresponds to, according to the decompression algorithm, the column number of the column is divided by the operation number of the region dimension, i.e. 1 / 1 = 1, and then the value obtained is used to take the remainder of the number of dimension members of the region dimension associated with the multidimensional form, i.e. 1%2 = 1. According to the index value 1 calculated, the array [region 1, region 2] is queried, and it can be determined that the 1st row corresponds to region 2 of the region dimension.

[0121] In the second implementation mode, the definition information includes the order relationship of the M dimensions corresponding to the row structure of the multidimensional form in the multidimensional form, the order relationship of the N dimensions corresponding to the column structure of the multidimensional form in the multidimensional form, the order relationship of the dimension members under each dimension corresponding to the row structure in the multidimensional form, the order relationship of the dimension members under each dimension corresponding to the column structure in the multidimensional form, and the operation number of each dimension in the M dimensions and the N dimensions.

[0122] Compared with the first implementation manner, the member metadata in the second implementation manner does not carry the operation number of each dimension, but increases the order relationship of the M dimensions in the multidimensional form and the order relationship of the N dimensions in the multidimensional form. As introduced above, based on the order relationship, the operation number of each dimension can be calculated. Therefore, in the second implementation manner, when the client 100 receives the query result sent by the database management system 200, if the client 100 wants to determine which dimension member under the first target dimension the target row number in the multidimensional form corresponds to, the client 100 can first calculate the operation number of the first target dimension based on the order relationship of the M dimensions, and then determine which dimension member under the first target dimension the target row corresponds to based on the operation number of the first target dimension (the determination process is the same as that in the first implementation manner, and details are not described herein). Similarly, in the second implementation manner, if the client 100 wants to determine which dimension member under the second target dimension the target column in the multidimensional form corresponds to, the client 100 can first calculate the operation number of the second target dimension based on the order relationship of the N dimensions in the multidimensional form, and then determine which dimension member under the second target dimension the target column corresponds to based on the operation number of the second target dimension (the determination process is the same as that in the first implementation manner, and details are not described herein).

[0123] Optionally, the query result can further include the basic information of each dimension member associated with the multidimensional form, and the basic information of the dimension member includes an ID (used for uniquely identifying the corresponding dimension member), a name, an attribute, and the like of the dimension member.

[0124] Optionally, as shown in FIG. 3, the query result further includes style metadata, which is used to indicate a style adopted by the client 100 when displaying a plurality of values in the multidimensional form. For example, the style metadata can include the width and height of a cell, the number of decimal places of a value in the cell, whether the font is bold, the background color, the alignment, and the like. The style metadata given in this example is only used as an example and does not constitute a specific limitation. In actual application scenarios, the style metadata can further include more or less styles of a cell where a value is located. The style metadata can indicate the styles of part or all of the cells in the multidimensional form, and these cells uniformly refer to the style metadata for cell style rendering, so that it is not necessary to specify the style of each cell where a value is located in the query result, which helps to reduce the amount of transmission data and further improves the form rendering performance of the client 100.

[0125] 4. The sending module 230 is configured to transmit the query result to the client 100.

[0126] 5. The receiving module 120 is configured to receive the query result transmitted by the database management system 200.

[0127] 6. The processing module 130 is configured to parse the obtained query result, and then instruct the rendering module 140 to render and display the multidimensional form according to the parsed content.

[0128] Specifically, when the receiving module 120 in the client 100 receives the query result sent by the database management system 200, the query result is sent to the processing module 130 for parsing. According to the query result, the processing module 130 can determine the number of rows and columns of the multidimensional form, and then use the values in the cell value array in the query result to sequentially fill the corresponding number of rows and columns of cells, so as to realize the fast rendering and display of the multidimensional form. When the client 100 needs to determine the dimension member corresponding to a certain value in the multidimensional form, the processing module 130 in the client 100 can determine the dimension member according to the member metadata and the row and column metadata in the query result.

[0129] For example, assuming that the client 100 successfully displays the multidimensional form on the client 100 by parsing the query result, and then the user performs an operation on the rendering module 140 of the client 100 to request to view the dimension member corresponding to a certain value in the multidimensional form, the client 100 can determine the dimension member corresponding to the cell according to the member metadata and the row and column metadata in the query result (the specific determination method can refer to the foregoing description), and then prompt the user with the dimension member corresponding to the value.

[0130] For another example, assuming that the user performs an operation on the rendering module 140 of the client 100, the operation indicates that a certain value in the multidimensional form is modified, and then the user requests to save the modification, the client 100 can determine the dimension member corresponding to the value according to the member metadata and the row and column metadata in the query result (the specific determination method can refer to the foregoing description), and then send the information of the determined dimension member and the modified value to the database management system 200. The database management system saves the modified value to the corresponding position of the dimension member in the multidimensional database 300 according to the received information of the dimension member. After the saving is completed, the database management system 200 can also send a saving success information to the client 100 to indicate that the modified value has been successfully saved to the multidimensional database 300.

[0131] 7. The rendering module 140 is configured to display the multidimensional form, and also configured to realize human-computer interaction, for example, the user can specify the dimensions and dimension members associated with the multidimensional form through the rendering module 140, and also can specify the order relationship between the dimensions associated with the multidimensional form, etc. The specific functions of the rendering module 140 can refer to the foregoing description, and will not be described herein.

[0132] It should be noted that the client 100 and the database management system 200 in FIG. 1 are only exemplary divisions according to functions, and the client 100 and the database management system 200 in FIG. 1 can actually include more or less modules. For example, one of the above modules can be split into multiple functional modules, two or more modules in the client 100 / database management system 200 can be combined into one functional module, or other functional modules can be added to the client 100 and the database management system 200. The present application does not make specific limitations on this. The sending module 110, the receiving module 120, the processing module 130, the interaction module 140, the receiving module 210, the processing module 220, and the sending module 230 can be implemented by software or by hardware. For example, the implementation of the processing module 220 is described below. Similarly, the implementation of other modules can refer to the implementation of the processing module 220.

[0133] As an example of a software functional unit, the processing module 220 can include code running on a computing instance. The computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Further, the computing instance can be one or more. For example, the processing module 220 can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the code can be distributed in the same region, or in different regions. Further, the multiple hosts / virtual machines / containers for running the code can be distributed in the same availability zone (AZ), or in different AZs, and each AZ includes one data center or multiple data centers with similar geographical locations. Generally, one region can include multiple AZs. Similarly, the multiple hosts / virtual machines / containers for running the code can be distributed in the same virtual private cloud (VPC), or in multiple VPCs. Generally, one VPC is set in one region, and communication between two VPCs in the same region or between VPCs in different regions needs to be set through a communication gateway in each VPC to realize the interconnection between VPCs.

[0134] As an example of a hardware functional unit, the processing module 220 can include at least one computing device, such as a server. Alternatively, the processing module 220 can also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), etc. The PLD can be implemented by a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0135] The multiple computing devices included in the processing module 220 can be distributed in the same region or in different regions. The multiple computing devices included in the processing module 220 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the processing module 220 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0136] Based on the above, the data processing method provided by the present application is introduced as follows.

[0137] Referring to FIG. 6, FIG. 6 is a flowchart of a data processing method provided by the present application, including the following steps S601-S606.

[0138] S601, the client 100 sends a query request to the database management system 200.

[0139] The query request is used to indicate data query processing of a multidimensional form associated with the multidimensional database 300. Accordingly, the database management system 200 receives the query request sent by the client 100.

[0140] For specific contents of the query request and the multidimensional form, please refer to the foregoing description, which will not be repeated here.

[0141] S602, the database management system 200 determines multiple dimension members associated with the multidimensional form according to the query request.

[0142] The multiple dimension members belong to multiple dimensions in the multidimensional database 300.

[0143] As to how to determine the multiple dimension members associated with the multidimensional form according to the query request, please refer to the above-mentioned case 1-case 3, which will not be repeated here.

[0144] S603, the database management system 200 determines the data and the position information according to the multiple dimension members.

[0145] The data is the multiple values corresponding to the multiple dimension members in the multidimensional database 300, and the position information is used to indicate the row and column positions of the multiple values in the multidimensional form and the member corresponding to each value in the multiple dimension members.

[0146] Firstly, how to determine the data, i.e. the multiple values corresponding to the multiple dimension members in the multidimensional database 300, will be introduced.

[0147] The database management system 200 firstly requests the multidimensional database 300 to obtain the multiple values corresponding to the multiple dimension members in the multidimensional database 300, and then the multidimensional database 300 responds to the request and sends the multiple values to the database management system 200.

[0148] Optionally, the database management system 200 can directly send the information (such as ID or name) of the multiple dimension members to the multidimensional database 300, and then the multidimensional database 300 extracts the multiple values corresponding to the multiple dimension members in the multidimensional database 300 according to the received information, and returns the multiple values to the database management system 200.

[0149] Taking FIG. 2 as an example, as introduced above, the multidimensional form of FIG. 2 is associated with 8 dimension members, and the database management system 200 can send the IDs of the 8 dimension members to the multidimensional database 300, which is equivalent to giving the data query range to the multidimensional database 300. Then, the multidimensional database 300 extracts the multiple values corresponding to the 8 dimension members in the multidimensional database 300 according to the IDs of the 8 dimension members, and returns the extracted multiple values to the database management system 200.

[0150] Optionally, the database management system 200 can firstly calculate the member tuple of each value in the multiple values, and then send the member tuple corresponding to each value to the multidimensional database 300. For each member tuple, the multidimensional database 300 extracts the value at the position corresponding to the member tuple in the multidimensional database 300, which is the value corresponding to the member tuple, and then returns the value and the member tuple to the database management system 200.

[0151] Continuing with the example of FIG. 2, as introduced above, the database management system 200 can calculate the member tuples of each of the values using the Cartesian product algorithm, details of which can be found in the foregoing, and will not be repeated here. Then, the database management system 200 can send each of the member tuples to the multidimensional database 300 to request the values corresponding to each of the member tuples from the multidimensional database 300. Upon receiving any of the member tuples, the multidimensional database 300 can extract a value from the multidimensional database 300 at the location corresponding to the member tuple, and then return the value together with the member tuple to the database management system 200.

[0152] Next, how to determine the location information is introduced.

[0153] When the database management system 200 obtains the values from the multidimensional database 300, each of the values can be filled into the cell of the multidimensional form corresponding to the same member tuple of the value, and then the row and column positions of the cell in the multidimensional form can be taken as the location information of the value.

[0154] Continuing with the example of FIG. 2, assume that the database management system 200 has obtained 12 values from the multidimensional database 300, one of which is 100, and the member tuple of the value includes 2015, product A, sales, and region 1. Since the cell at the 0th row and 0th column of the multidimensional form also corresponds to the same member tuple, the database management system 200 can fill the value into the cell, and take the row and column positions of the cell in the multidimensional form as the row and column positions of the value, i.e., the 0th row and 0th column. It can be understood that the other values in addition to the 12 values can also be filled into the corresponding cells by a similar method, and the row and column positions of the values can be determined, which will not be described in detail here.

[0155] When the 12 values are filled into the multidimensional form, the multidimensional form of FIG. 3 can be obtained, and the location information can be determined, which is used to indicate the row and column positions of each of the 12 values and the member tuples of each of the values (i.e., the members corresponding to each of the values in the plurality of dimension members associated with the multidimensional form).

[0156] S604, the database management system 200 converts the data into an array and compresses the location information to obtain compressed information.

[0157] The data is a plurality of values corresponding to a plurality of dimension members in the multidimensional database 300, and the plurality of values can be written into the array according to the arrangement order of the plurality of values in the multidimensional form. Details of converting the obtained plurality of values into an array can be found in the foregoing, and will not be repeated here.

[0158] The position information is used to indicate the row-column positions of the plurality of values in the multidimensional table and the corresponding members of each value in the plurality of dimension members. The database management system 200 can first determine the corresponding relationship between the different row numbers in the multidimensional table and the plurality of dimension members according to the position information, and then generate the compression information used to indicate the corresponding relationship.

[0159] Continuing with the example of FIG. 3, when the database management system 200 obtains the multidimensional table of FIG. 3, the position information can be determined, which is used to indicate the row-column positions of the 12 values and the corresponding members of each value in the plurality of dimension members. Then, the database management system 200 can determine the dimension members corresponding to each row number in the multidimensional table according to the position information. For example, the dimension members corresponding to row number 0 include 2015, Product A, and Sales, the dimension members corresponding to row number 1 include 2015, Product B, and Sales, the dimension members corresponding to row number 2 include 2015, Product C, and Sales, the dimension members corresponding to row number 3 include 2016, Product A, and Sales, the dimension members corresponding to row number 4 include 2016, Product B, and Sales, and the dimension members corresponding to row number 5 include 2016, Product C, and Sales.

[0160] Then, the database management system 200 can generate the compression information according to the previously determined corresponding relationship between the 6 row numbers and the dimension members, and the compression information is used to indicate the corresponding relationship.

[0161] Optionally, the compression information includes the corresponding relationship. Alternatively, the compression information includes a target row number, an operation number corresponding to a first dimension, and an order relationship between the members belonging to the first dimension in the plurality of dimension members associated with the multidimensional table. The first dimension is one of the plurality of dimensions associated with the multidimensional table (which can be any one of the dimensions associated with the row structure), the target row number is any row number in the multidimensional table, the target row number corresponds to a dimension member under the first dimension (denoted as the first dimension member), and the index value of the first dimension member in the order relationship is equal to the remainder obtained by dividing the first value by the number of members belonging to the first dimension in the plurality of dimension members, and the first value is the quotient obtained by dividing the target row number by the operation number of the first dimension.

[0162] The value of the operation number of the first dimension can refer to the types one to three described above, and will not be described here.

[0163] Optionally, the database management system 200 can also determine the corresponding relationship between the different column numbers in the multidimensional table and the plurality of dimension members associated with the multidimensional table according to the position information, and then carry the corresponding relationship in the compression information or generate information used to indicate the corresponding relationship in the compression information.

[0164] Continuing with the example of FIG. 3, when the database management system 200 obtains the multidimensional table of FIG. 3, it can determine the location information indicating the row and column positions of the 12 values and the corresponding members of the plurality of dimension members for each value. Then, the database management system 200 can determine the dimension members corresponding to each column number in the multidimensional table according to the location information. For example, column number 0 corresponds to region 1 and column number 2 corresponds to region 2. At this time, the database management system 200 can directly carry the corresponding relationship in the compression information, or generate information indicating the corresponding relationship.

[0165] The information includes a target column number, an operation number corresponding to a second dimension, and an order relationship between members belonging to the second dimension among the plurality of dimension members associated with the multidimensional table. The second dimension is one of the plurality of dimensions associated with the multidimensional table (which can be any dimension of the column structure), the target column number is any column number in the multidimensional table, the target column number corresponds to a dimension member under the second dimension (denoted as the second dimension member), and the index value of the second dimension member in the above order relationship is equal to the remainder obtained by dividing the second value by the number of members belonging to the second dimension among the plurality of dimension members, and the second value is the quotient obtained by dividing the target column number by the operation number of the second dimension.

[0166] The value of the operation number of the second dimension can refer to types four to six described above, and will not be described here.

[0167] Optionally, the compression information further includes a row number array, the row number array includes different row numbers in the multidimensional table, the length of the row number array is less than or equal to the product of the number of members of each dimension associated with the multidimensional table, and the length of the row number array is less than or equal to the product of the number of members of each dimension corresponding to the row structure of the multidimensional table. As described above, if the database management system 200 performs the null elimination on one or more rows in the multidimensional table, the length of the row number array is less than the product of the number of members of each dimension corresponding to the row structure of the multidimensional table, thereby reducing the amount of data transmission to the client 100 in the future; if the null elimination is not performed on one or more rows in the multidimensional table, the length of the row number array is equal to the product of the number of members of each dimension corresponding to the row structure of the multidimensional table.

[0168] Optionally, the compression information can further include a column number array, the column number array includes different column numbers in the multidimensional table, and the length of the column number array is less than or equal to the product of the number of members of each dimension corresponding to the column structure of the multidimensional table. As described above, if the null elimination is performed on one or more columns in the multidimensional table, the length of the column number array is less than the product of the number of members of each dimension corresponding to the column structure of the multidimensional table, and if the null elimination is not performed on one or more rows in the multidimensional table, the length of the column number array is equal to the product of the number of members of each dimension corresponding to the column structure of the multidimensional table.

[0169] S605, the database management system 200 transmits the query result to the client 100, the query result comprising the array and the compression information.

[0170] As to the array and the compression information in the query result, refer to the foregoing description, which is not repeated here.

[0171] Optionally, the query result further comprises style metadata, the style metadata being used to indicate a style adopted by the client 100 when displaying the plurality of values. As to the style and the specific content of the style metadata, refer to the foregoing description, which is not repeated here.

[0172] Optionally, the query result further comprises state information, the state information being used to indicate a state of the plurality of values in the multidimensional database 300, the state comprising a writable state and a read-only state. The state information can be expressed in the form of a cell state array, as to the cell value state array, refer to the foregoing description, which is not repeated here.

[0173] S606, the client 100 displays the multidimensional form according to the query result.

[0174] As to how the client 100 displays the multidimensional form according to the query result, refer to the foregoing description, which is not repeated here.

[0175] In summary, in the data processing method provided in the present application, the database management system 200 first determines a plurality of dimension members associated with the multidimensional form according to the query result sent by the client 100, and then determines data and position information according to the plurality of dimension members, the data being a plurality of values corresponding to the plurality of dimension members in the multidimensional database 300, the position information being used to indicate row-column positions of the plurality of values in the multidimensional form and a member corresponding to each value in the plurality of dimension members. Then the data is converted into an array, and the position information is compressed to obtain compression information, and then the array and the compression information are carried in the query result for transmission to the client 100.

[0176] Compared with the conventional scheme of directly sending all values in the multidimensional form, row-column coordinates of each value and corresponding dimension members to the client 100, the method provided in the present application reduces the overall data transmission amount from the database management system 200 to the client 100 by compressing the position information, and then sending the compression information obtained by compression and the generated array (including the plurality of values) to the client 100, thereby shortening the data transmission time. The array is filled in the array according to the arrangement order of the plurality of values in the multidimensional form, when the client 100 receives the array, the plurality of values can be loaded in the multidimensional form displayed on the client 100 according to the order of the plurality of values in the array, which helps to improve the form display speed of the client 100, and further improves the user experience.

[0177] The application further provides a data processing apparatus, which comprises the receiving module 210, the processing module 220 and the sending module 230 of FIG. 1. The apparatus is specifically used for executing the method steps on the side of the database management system 200 in FIG. 6. For the specific functions of the receiving module 210, the processing module 220 and the sending module 230 and the software and hardware implementation manners, reference can be made to the related description in FIG. 1, and no further description is given here.

[0178] A computing device for executing the data processing method in FIG. 6 is introduced below.

[0179] Referring to FIG. 7, the application further provides a computing device 700, which comprises a bus 702, a processor 704, a memory 706 and a communication interface 708. The processor 704, the memory 706 and the communication interface 708 communicate through the bus 702. The computing device 700 can be a server, a notebook computer, a desktop computer, an edge device, etc., and the number of processors and memories in the computing device 700 is not limited in the embodiments of the application.

[0180] The bus 702 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, only one line is represented in FIG. 7, but it does not mean that there is only one bus or only one type of bus. The bus 702 can comprise a channel for transmitting information between various components (for example, the memory 706, the processor 704, the communication interface 708) of the computing device 700.

[0181] The processor 704 can comprise any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc.

[0182] The memory 706 can include volatile memory (such as random access memory (RAM)) and non-volatile memory (such as read-only memory (ROM), floppy disk drive, optical disk drive, hard disk drive, or solid-state drive).

[0183] The executable program code is stored in the memory 706. The processor 704 executes the executable program code to realize the functions of the receiving module 210, the processing module 220, and the sending module 230 in FIG. 1, respectively, so as to realize the method steps of the database management system 200 side in FIG. 6 of the present application.

[0184] The communication interface 708 uses a transceiver module such as, but not limited to, a network interface card and a transceiver, to realize the communication between the computing device 700 and other devices or communication networks.

[0185] It should be understood that the computing device 700 according to the present application can correspond to the database management system 200 or the client 100 shown in FIG. 1 of the present application, and can correspond to the execution of the corresponding subject in the data processing method shown in FIGS. 2 to 6 of the present application, and the respective modules of the computing device 700 are respectively used to realize the corresponding flow of each method in FIGS. 2 to 6, and for the sake of brevity, will not be described here.

[0186] As a possible implementation, the computing device 700 can also include a chip system including a processor and a power supply circuit for performing power supply to the processor, and the processor is used to execute the operation steps corresponding to the data processing method. For the sake of brevity, will not be described here. Among them, the processor can be realized by CPU, and also can be realized by GPU, DPU, NPU, XPU, SoC, offload card, acceleration card and other computing devices or AI chips.

[0187] As a possible implementation, the computing device 700 can include multiple types of processors 704, that is, the computing device 700 is a heterogeneous device, for example, the computing device 700 includes CPU and GPU, and at least one of the processors 704 in the computing device 700 can execute the operation steps corresponding to the data processing method. For the sake of brevity, will not be described here.

[0188] The present application also provides a computing device cluster. The computing device cluster comprises 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 notebook computer, or a smart phone.

[0189] As shown in FIG. 8, the computing device cluster comprises at least one computing device 700. The memory 706 in one or more computing devices 700 in the computing device cluster can store the same instructions for performing the method on the database management system 200 side in FIG. 6.

[0190] In some possible implementations, the memory 706 in one or more computing devices 700 in the computing device cluster can also respectively store partial instructions for performing the method on the database management system 200 side in FIG. 6. In other words, the combination of one or more computing devices 700 can collectively execute the instructions for the method on the database management system 200 side in FIG. 6.

[0191] It should be noted that the memory 706 in different computing devices 700 in the computing device cluster can store different instructions, respectively, for performing part of the functions of the database management system 200 in FIG. 1. That is, the instructions stored in the memory 706 in different computing devices 700 can implement the functions of one or more of the receiving module 210, the processing module 220, and the sending module 230.

[0192] In some possible implementations, one or more computing devices in the computing device cluster can be connected through a network. The network can be a wide area network or a local area network, etc. FIG. 9 shows one possible implementation. As shown in FIG. 9, two computing devices 700A and 700B are connected through a network. Specifically, the communication interface in each computing device is connected to the network. In this type of possible implementation, the memory 706 in the computing device 700A stores instructions for performing the functions of the receiving module 210 and the sending module 230. Meanwhile, the memory 706 in the computing device 700B stores instructions for performing the functions of the processing module 220.

[0193] It should be understood that the functions of the computing device 700A shown in FIG. 9 can also be completed by multiple computing devices 700. Similarly, the functions of the computing device 700B can also be completed by multiple computing devices 700.

[0194] The application also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to the connection mode of the computing device cluster described with reference to FIG. 9. The difference is that the same instructions for executing the method on the side of the database management system 200 in FIG. 6 can be stored in the memory 706 of one or more computing devices 700 in the computing device cluster.

[0195] In some possible implementation manners, part of the instructions for executing the method on the side of the database management system 200 in FIG. 6 can also be respectively stored in the memory 706 of one or more computing devices 700 in the computing device cluster. In other words, the combination of one or more computing devices 700 can collectively execute the instructions for implementing the method steps on the side of the database management system 200 in FIG. 6.

[0196] The application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that the computing device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state disk), etc. The computer-readable storage medium includes instructions that instruct the computing device cluster (including at least one computing device) to execute the method steps on the side of the database management system 200 in FIG. 6.

[0197] The application also provides a computer program product containing instructions. The computer program product can be a software or program product containing instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, the at least one computing device is caused to execute the method steps on the side of the database management system 200 in FIG. 6.

[0198] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the application, and not to limit them; although the application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the application.

Claims

1. A data processing method, characterized by, The method is executed by a database management system, and the method comprises: receiving a query request sent by a client, the query request being used to indicate data query processing on a multidimensional form associated with a multidimensional database; determining, according to the query request, a plurality of dimension members associated with the multidimensional form, the plurality of dimension members belonging to a plurality of dimensions in the multidimensional database; determining, according to the plurality of dimension members, data and position information, the data being a plurality of values corresponding to the plurality of dimension members in the multidimensional database, and the position information being used to indicate row and column positions of the plurality of values in the multidimensional form and a member corresponding to each value in the plurality of dimension members; converting the data into an array and compressing the position information to obtain compressed information; transmitting, to the client, a query result, the query result comprising the array and the compressed information.

2. The method of claim 1, wherein, The conversion of the data into the array comprises: writing the plurality of values into the array according to an arrangement order of the plurality of values in the multidimensional form.

3. The method according to claim 1 or 2, characterized in that, The position information comprises row numbers, and the compression of the position information to obtain the compressed information comprises: determining, according to the position information, a correspondence between different row numbers of the multidimensional form and the plurality of dimension members; generating compressed information, the compressed information being used to indicate the correspondence.

4. The method of claim 3, wherein, The compressed information comprises a target row number, an operand corresponding to a first dimension, and a sequence relationship between members belonging to the first dimension in the plurality of dimension members, the first dimension being one of the plurality of dimensions, an index value of a first dimension member corresponding to the target row number in the sequence relationship being equal to a remainder obtained by dividing a first value by a number of members belonging to the first dimension in the plurality of dimension members, the first dimension member belonging to the first dimension, the first value being a quotient obtained by dividing the target row number by the operand; wherein, if a number of other dimensions in the plurality of dimensions after the first dimension is zero, a value of the operand is 1, if the number of the other dimensions is 1, the value of the operand is a number of members of the other dimensions associated with the multidimensional form, and if the number of the other dimensions is greater than 1, the value of the operand is a product of numbers of the members of the other dimensions associated with the multidimensional form.

5. The method according to claim 3 or 4, characterized in that, The compressed information further comprises a row number array, the row number array comprising different row numbers of the multidimensional form, and a length of the row number array being less than or equal to a product of numbers of members of each dimension associated with the multidimensional form.

6. The method according to any one of claims 1 to 5, characterized in that, The query result further comprises style metadata, the style metadata being used to indicate a style adopted by the client when displaying the plurality of values.

7. The method according to any one of claims 1 to 6, characterized in that, The query result further comprises state information, the state information being used to indicate a state of the plurality of values in the multidimensional database, the state comprising a writable state and a read-only state.

8. A data processing apparatus, characterized by, The method comprises: a receiving module configured to receive a query request sent by a client, the query request being used to indicate data query processing on a multidimensional form associated with a multidimensional database; The processing module is configured to determine, according to the query request, a plurality of dimension members associated with the multidimensional form, the plurality of dimension members belonging to a plurality of dimensions in a multidimensional database; The processing module is further configured to determine, according to the plurality of dimension members, data and position information, the data being a plurality of values corresponding to the plurality of dimension members in the multidimensional database, and the position information being used to indicate row and column positions of the plurality of values in the multidimensional form and a corresponding member of each value in the plurality of dimension members; The processing module is further configured to convert the data into an array and compress the position information to obtain compressed information; The sending module is configured to transmit, to the client, a query result including the array and the compressed information.

9. The apparatus of claim 8, wherein, The processing module is specifically configured to: write the plurality of values into the array according to an arrangement order of the plurality of values in the multidimensional form.

10. The apparatus of claim 8 or 9, wherein, The position information includes row numbers, and the processing module is specifically configured to: determine, according to the position information, a correspondence between different row numbers of the multidimensional form and the plurality of dimension members; and generate compressed information used to indicate the correspondence.

11. The apparatus of claim 10, wherein, The compressed information includes a target row number, an operation number corresponding to a first dimension, and a sequence relationship between members belonging to the first dimension in the plurality of dimension members, the first dimension being one of the plurality of dimensions, an index value of a first dimension member corresponding to the target row number in the sequence relationship being equal to a remainder obtained by dividing a first value by a number of members belonging to the first dimension in the plurality of dimension members, the first dimension member belonging to the first dimension, and the first value being a quotient obtained by dividing the target row number by the operation number. If a number of other dimensions in the plurality of dimensions after the first dimension is zero, a value of the operation number is 1; if the number of the other dimensions is 1, the value of the operation number is a number of members of the other dimensions associated with the multidimensional form; and if the number of the other dimensions is greater than 1, the value of the operation number is a product of numbers of the members of the other dimensions associated with the multidimensional form.

12. A computing device, which comprises a processor and a memory; The processor is configured to execute instructions stored in the memory, so that the computing device performs operation steps of the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Mixed OLAP (on-line analytical processing) inquiring treating method adapting coprocessor

    CN104361118A

  • Multi-dimensional data storage method and device

    CN112632061A

  • Database query method and system and electronic equipment

    CN114138821A

  • Internal and external memory compression and tuple update insertion method suitable for multi-dimensional database

    CN117648385A

  • Database query tools

    US20060007731A1