WO2024016594A1 - Pseudo column implementation method and apparatus, electronic device, and storage medium - Google Patents

Pseudo column implementation method and apparatus, electronic device, and storage medium Download PDF

Info

Publication number
WO2024016594A1
WO2024016594A1 PCT/CN2022/141533 CN2022141533W WO2024016594A1 WO 2024016594 A1 WO2024016594 A1 WO 2024016594A1 CN 2022141533 W CN2022141533 W CN 2022141533W WO 2024016594 A1 WO2024016594 A1 WO 2024016594A1
Authority
WO
WIPO (PCT)
Prior art keywords
pseudo
statement
target data
operator
column information
Prior art date
Application number
PCT/CN2022/141533
Other languages
French (fr)
Chinese (zh)
Inventor
蒋伟
唐钰杰
苏飞
周国剑
曾令江
Original Assignee
天翼云科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 天翼云科技有限公司 filed Critical 天翼云科技有限公司
Publication of WO2024016594A1 publication Critical patent/WO2024016594A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Definitions

  • This application relates to the field of cloud computing and big data platforms, and in particular to a pseudo-column implementation method, device, electronic equipment and storage medium.
  • Oracle Database (Oracle) is a commercial database. Oracle is a closed-source database. You cannot add additional pseudo columns that your business needs in Oracle, and using Oracle will increase software costs.
  • Relational database management system Postgre Structured Query Language, PostgreSQL is the world's most powerful open source relational database, with a strong academic atmosphere and a high degree of freedom. It is a free database software.
  • PostgreSQL does not support Structured Query Language (Structured Query) for Oracle pseudo column information. Language, SQL) syntax, but PostgreSQL's open source agreement allows free modification of the source code to implement the SQL syntax of Oracle pseudo columns.
  • SQL Structured Query Language
  • Embodiments of the present application provide a pseudo-column implementation method, device, electronic device, and storage medium for querying pseudo-column information and standardizing the implementation process of multiple pseudo-column information.
  • embodiments of the present application provide a pseudo-column implementation method, including:
  • Receive a query statement the query statement is used to query target data;
  • the query statement includes a first statement and a second statement;
  • the operator calculates the first statement to obtain the pseudo column information, and the operator calculates the second statement to obtain the target data; the operator stores an execution function for calculating the first statement and a function for calculating the first statement. Calculate the execution function of the second statement;
  • the pseudo column information and the target data are combined to generate a pseudo list of tuples.
  • the above method does not add any additional calculations during the query process of pseudo-column information, thus minimizing the performance impact of computing pseudo-column information on the system. Merge pseudo-column information and target data into tuples to standardize the implementation process of multiple pseudo-column information.
  • the method also includes:
  • the query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
  • the third statement is calculated by the operator, and the pseudo-list of tuples is projected.
  • the above method achieves unified projection calculation by projecting the pseudo-list of tuples.
  • the operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data, which specifically includes:
  • the operator In the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data;
  • the 1st calculation After the 1st calculation, obtain the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1st target data; the i is greater than or equal to 1 and less than or equal to 1 Integer; the I is an integer greater than or equal to 1.
  • the above method uses operators to calculate the first statement and the second statement, and the execution state structure stores the pseudo column information and target data, thereby minimizing the impact of calculation, statistics, and collection of pseudo column information on the performance of the system.
  • merging the pseudo column information and the target data to generate a tuple pseudo list specifically includes:
  • the pseudo column element and the target data element are combined to obtain the tuple pseudo list.
  • the above method stores pseudo-column information and target data through tuple pseudo-lists, merges pseudo-column information and target data into tuples, and realizes unified management of pseudo-column information.
  • the method also includes:
  • the tuple pseudo-list is stored in the tuple table slot management tuple included in the operator.
  • the above method realizes unified management of tuple pseudo-lists by managing tuples in tuple table slots.
  • embodiments of the present application provide a pseudo-column implementation device, including:
  • a receiving module configured to receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement;
  • a calculation module used to calculate the first statement through an operator to obtain pseudo-column information, and to calculate the second statement through the operator to obtain the target data; the operator stores the information used to calculate the first statement.
  • a processing module configured to merge the pseudo column information and the target data to generate a pseudo list of tuples.
  • the computing module is also used to:
  • the query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
  • the third statement is calculated by the operator, and the pseudo-list of tuples is projected.
  • embodiments of the present application also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor.
  • the processor implements the above Any pseudo-column implementation method in the first aspect.
  • embodiments of the present application further provide a computer-readable storage medium.
  • a computer program is stored in the computer-readable storage medium.
  • the pseudo-column implementation of the first aspect is realized. method.
  • embodiments of the present application further provide a computer program product, including a computer program, which is executed by a processor to implement the pseudo-column implementation method in any one of the above-mentioned first aspects.
  • Figure 1 is a schematic diagram of an application scenario of a pseudo-column implementation method provided by an embodiment of the present application
  • Figure 2 is a flow chart of a pseudo-column implementation method provided by an embodiment of the present application.
  • Figure 3 is a schematic diagram of a query sentence input interface provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of pseudo column information and target data provided by an embodiment of the present application.
  • Figure 5 is a schematic diagram of another pseudo-column information and target data provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of a pseudo column element provided by an embodiment of the present application.
  • Figure 7 is a schematic diagram of a target data element provided by an embodiment of the present application.
  • Figure 8 is a representation of a tuple pseudo-column provided by an embodiment of the present application.
  • Figure 9 is a complete flow chart of a pseudo-column implementation provided by the embodiment of the present application.
  • Figure 10 is a schematic diagram of a device for pseudo-column implementation provided by an embodiment of the present application.
  • Figure 11 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • Pseudo column in the embodiment of this application is a database term, which means that this column does not exist physically and is only constructed during query. Pseudo columns are usually freely allocated and cannot be modified by users. For example, each row of data in an Oracle table has a unique identifier (RowID) field. You can use RowID to quickly locate a corresponding data, because it marks the physical address corresponding to the record, which is unique.
  • RowID unique identifier
  • tuple in the embodiment of this application is a basic concept in a relational database.
  • a relation is a table. Each row in the table (that is, each record in the database) is a tuple, and each column is an attribute. ;In a two-dimensional table, tuples are also called rows.
  • SQL Structured Query Language
  • SQL Structured Query Language
  • PostgreSQL does not support the SQL syntax of Oracle pseudo columns, but PostgreSQL's open source agreement allows you to freely modify the source code to implement the SQL syntax of Oracle pseudo columns and use it for production and commercial use. If multiple pseudo columns are added without corresponding specifications, subsequent program failures will occur. Therefore, it is necessary to implement the SQL syntax of Oracle pseudo columns in PostgreSQL, implement query of pseudo columns, and standardize the information of multiple pseudo columns.
  • embodiments of the present application provide a pseudo column implementation method, device, electronic device, and storage medium. For example, receive a query statement, which is used to query target data.
  • the query statement includes a first statement and a second statement.
  • the operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data.
  • the operator stores an execution function for calculating the first statement and an execution function for executing the second statement. Merge pseudo column information and target data to generate a pseudo list of tuples.
  • SQL syntax compatible with Oracle pseudo columns and customized pseudo column functions can be realized, the development of pseudo columns can be standardized, and the development efficiency of pseudo columns can be improved.
  • users can submit query statements through the client and query pseudo column information and target data on the server.
  • a schematic diagram of an application scenario of an optional pseudo-column implementation method in this embodiment of the application includes a server 100 and a terminal 101.
  • the server 100 and the terminal 101 can achieve a communicable connection through the network, so as to Implement the pseudo column implementation method of this application.
  • the user can use the server 100 to interact with the terminal 101 through the network, such as receiving or sending messages.
  • Various client applications can be installed on the terminal 101, such as programming applications, web browser applications, search applications, etc.
  • the terminal 101 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, desktop computers, and so on.
  • the client installed on the terminal 101 is used to respond to the query statement submitted by the user and send the query statement to the server, so that the server can query the pseudo column information and target data.
  • the server 100 is configured to receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement.
  • the operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data.
  • the operator stores an execution function for calculating the first statement and an execution function for executing the second statement. Merge pseudo column information and target data to generate a pseudo list of tuples.
  • the server 100 can be implemented as an independent server or a server cluster composed of multiple servers.
  • a flow chart of a pseudo-column implementation method provided by an embodiment of the present application may specifically include the following steps:
  • Step S201 Receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement;
  • Step S202 Use the operator to calculate the first statement to obtain the pseudo column information, and use the operator to calculate the second statement to obtain the target data; the operator stores an execution function for calculating the first statement and an execution function for calculating the second statement. ;
  • Step S203 Merge the pseudo column information and the target data to generate a tuple pseudo list.
  • the user can input the query statement through the client; the client sends the query statement submitted by the user to the server, and the server processes it.
  • the user when the target data needs to be queried, the user starts the client through the terminal's operation interface; for example, the user can double-click the client icon to start the client.
  • the query statement input interface is displayed in the client's display interface; as shown in Figure 3, the user can enter the query statement in this interface.
  • the query statement is a statement written by SQL.
  • step S201 the client receives the query statement submitted by the user, converts the query statement submitted by the user into a format according to the grammar parsing rules, and then provides the query statement for use by the operator.
  • the query statement submitted by the user includes a first statement and a second statement.
  • the first statement in the query statement is used to query the pseudo column information; the second statement in the query statement is used to query the target data.
  • step S202 in the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data.
  • the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1st target data are obtained.
  • i is an integer greater than or equal to 1 and less than or equal to I
  • I is an integer greater than or equal to 1.
  • each operator includes an execution function, an execution status structure, and a tuple table slot management tuple.
  • the execution function is used to calculate the query statement entered by the user.
  • the execution status structure is used to save all the information from the 1st to the ith time when the execution function calculates the query statement.
  • Tuple table slot management tuples are used to store tuple tables containing different information, including tuple pseudo-lists.
  • operators include top-level operators, projection operators and other operators. Different types of operators are called for calculation according to different query statements.
  • the first pseudo column information is obtained by calculating the first statement in the query statement submitted by the user through an operator.
  • the first target data is obtained by calculating the second statement in the query statement submitted by the user through an operator. Save the first pseudo column information and the first target data in the execution status structure contained in the operator.
  • the operator is used to calculate the first statement in the query statement submitted by the user to obtain the second pseudo column information.
  • the second target data is obtained by calculating the second statement in the query statement submitted by the user through an operator. After the second calculation is completed, a row will be added to the tuple consisting of the pseudo-column information saved for the first time and the corresponding target data, and the second pseudo-column information and target data will be saved to the execution status structure contained in the operator. in the body.
  • the operator is used to calculate the first statement in the query statement submitted by the user to obtain the i-th pseudo column information; the operator is used to calculate the second statement in the query statement submitted by the user to obtain the i-th target data.
  • a row will be added to the tuple consisting of the pseudo-column information saved in the i-1 calculation and the corresponding target data, and the i-th pseudo-column information and target data will be saved to the tuple contained in the operator. in the execution status structure.
  • i is an integer greater than or equal to 1 and less than or equal to I.
  • the embodiment of this application integrates the calculation process of collecting pseudo-column information into the operator calculation query statement, without adding other additional calculations, reducing the time for calculating pseudo-column information, and minimizing the impact of calculation and statistics of pseudo-column information on the system's performance. , this impact can be ignored in practical applications.
  • the field data corresponding to the pseudo-column information in different calculation times is collected through sources such as the statistical information stored in the execution status structure and the historical record information of the execution status structure. Among them, I is an integer greater than or equal to 1.
  • the pseudo column information queried by the user may be an Oracle pseudo column (RowNum).
  • RowNum returns the serialized numeric number of each row of data in the result set.
  • ROWNUM is a sequence, which is the order in which Oracle reads data from the data file or buffer. The first record with a RowNum value is 1, the second record with a RowNum value is 2, and so on.
  • the user enters a query statement on the client that wants to query integers greater than or equal to 2000, less than or equal to 2004, and RowNum information.
  • the server receives the user's query statement and converts the query statement submitted by the user into a format according to the grammar parsing rules for calculation by the operator.
  • the first pseudo column information is 1 and the first target data is 2000.
  • the pseudo column information and target data are stored in the execution status structure contained in the operator. in the body.
  • the second pseudo column information is 2 and the second target data is 2001.
  • the second pseudo column information and target data are stored in the execution included in the operator. in the status structure.
  • step S203 the first pseudo-column information to the I-th pseudo-column information are combined to generate a pseudo-column element. Merge the first target data to the I-th target data to generate target data elements. Merge the pseudo column elements and the target data elements to obtain a pseudo list of tuples.
  • the first pseudo-column information to the I-th pseudo-column information are combined to generate pseudo-column elements.
  • the first pseudo-column information to the fifth pseudo-column information are: 1, 2, 3, 4, and 5 respectively.
  • the first to fifth target data are: 2000, 2001, 2002, 2003, and 2004 respectively.
  • the pseudo-column elements are 1, 2, 3, 4, and 5 and the target data elements are 2000, 2001, 2002, 2003, and 2004. Merge the pseudo column element with the target data element.
  • the tuple pseudo-list is stored in the tuple table slot management tuple included in the operator, and the tuple pseudo-list is managed uniformly.
  • pseudo column elements and target data elements are merged to obtain a tuple pseudo list.
  • Tuple binding is used to prevent duplication of implementation during the implementation of pseudo-column information, or the query statement is calculated and run separately without obtaining the pseudo-column information and target data through tuples, resulting in obtaining the wrong pseudo-column. information and the condition of the target data.
  • the tuple pseudo-list is projected accordingly according to the projection specification defined by the third statement in the query statement.
  • the embodiment of this application uses an operator to calculate the third statement and project the pseudo-list of tuples. Because the pseudo column information is the same before and after projection, the tuples are the same before and after projection. Therefore, only the target data can be projected according to the projection specification defined in the third statement. After projection, the query results with pseudo-column information are returned to the client, so that the user can obtain the query results with pseudo-column information.
  • the pseudo column elements in the tuple pseudo list are 1, 2, and 3; the target data elements are -2000, -2001, and -2002.
  • the projection specification defined in the third statement entered by the user is to find the absolute value of the target data; then the tuple pseudo-list is projected. Because the pseudo-column information is 1, 2, and 3 before projection, and the pseudo-column information is 1, 2, and 3 after projection, the pseudo-column information is unchanged.
  • the tuple is 3 rows before projection and 3 rows after projection, the tuple is unchanged. So only the target data element is projected. After projection, the target data elements become 2000, 2001, and 2002, and the query results with pseudo column information are returned to the client.
  • the pseudo-column information queried by the user may be an Oracle level (Level) pseudo-column.
  • Level represents the number of iterations of the operator.
  • a mark field is defined in the operator to save the Level information.
  • Hierarchical queries scan one level of nodes each iteration. Level is initialized to 1 when entering the initial node. For the initial value of Level, Level is incremented by 1 for each additional iteration.
  • the query statement submitted by the user contains the first statement for searching for Level information
  • the data corresponding to the above marked field is returned to the user as pseudo column information.
  • the query statement submitted by the user does not contain the first statement used to search for Level information
  • the Level information will also be calculated, but will not be returned to the user.
  • the query statement receives a query statement and converts the query statement submitted by the user into a format according to the grammar parsing rules for use by the operator.
  • the query statement includes a first statement for querying the Level pseudo-column, a second statement for querying the target data, and a third statement for defining the projection specification of the tuple pseudo-list.
  • the operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data.
  • the tuple pseudo-list is projected; after the projection is completed, the query result with pseudo-column information is returned to the client, so that the user can obtain the query result with pseudo-column information.
  • the query statement submitted by the user only needs the operator to be calculated once to obtain the pseudo column information and target data.
  • the first pseudo column information is obtained by calculating the first statement in the query statement submitted by the user through an operator.
  • the first target data is obtained by calculating the second statement in the query statement submitted by the user through an operator. Save the first pseudo column information and the first target data in the execution status structure contained in the operator. Merge the pseudo column information and target data to obtain a pseudo list of tuples.
  • the tuple pseudo-list is projected; after the projection is completed, the query result with pseudo-column information is returned to the client, so that the user can obtain the query result with pseudo-column information.
  • all pseudo-column information is added by merging the target data and pseudo-column information to generate a tuple pseudo-list, thereby standardizing the pseudo-column information development process.
  • the operator calls the execution function to calculate the corresponding query statement, and uniformly calculates, collects and projects the pseudo column information, thereby uniformly managing the interface for obtaining query results.
  • this application provides a complete flow chart of pseudo column implementation.
  • Step S901 Receive a query statement, which includes a first statement, a second statement and a third statement;
  • Step S902 the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data; i is greater than or equal to 1;
  • Step S903 Store the i-th pseudo column information and the i-th target data into the execution status structure included in the operator;
  • Step S904 After the I-th calculation, obtain the first pseudo-column information to the I-th pseudo-column information, and the first to I-th target data; I is an integer greater than or equal to 1;
  • Step S905 Combine the first pseudo-column information to the I-th pseudo-column information to generate pseudo-column elements
  • Step S906 Merge the first target data to the I-th target data to generate target data elements
  • Step S907 Merge the pseudo column elements and the target data elements to obtain a tuple pseudo list
  • Step S908 Store the tuple pseudo-list in the tuple table slot management tuple included in the operator;
  • Step S909 Calculate the third statement through the operator and project the tuple pseudo-list.
  • the embodiment of the present application provides a device for pseudo-column implementation, as shown in Figure 10.
  • the device includes: a receiving module 1001, a computing module 1002, and a processing module 1003, wherein:
  • the receiving module 1001 is used to receive a query statement, the query statement is used to query target data; the query statement includes a first statement and a second statement;
  • the calculation module 1002 is used to calculate the first statement through an operator to obtain the pseudo column information, and calculate the second statement through the operator to obtain the target data; the operator stores information for calculating the first statement The execution function and the execution function used to execute the second statement;
  • the processing module 1003 is configured to merge the pseudo column information and the target data to generate a tuple pseudo list.
  • calculation module 1002 is also used to:
  • the query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
  • the third statement is calculated by the operator, and the pseudo-list of tuples is projected.
  • the processing module 1003 specifically Used for:
  • the operator In the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data;
  • the 1st calculation After the 1st calculation, obtain the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1th target data; the i is greater than or equal to 1 and less than or equal to 1 Integer; the I is an integer greater than or equal to 1.
  • the processing module 1003 is specifically used to:
  • the pseudo column element and the target data element are combined to obtain the tuple pseudo list.
  • processing module 1003 is also used to:
  • the tuple pseudo-list is stored in the tuple table slot management tuple included in the operator.
  • An embodiment of the present application also provides an electronic device.
  • the electronic device 110 according to this embodiment of the present application is described below with reference to FIG. 11 .
  • the electronic device 110 shown in FIG. 11 is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present application.
  • the electronic device 110 is embodied in the form of a general electronic device.
  • the components of the electronic device 110 may include, but are not limited to: the above-mentioned at least one processor 111, the above-mentioned at least one memory 112, and a bus 113 connecting different system components (including the memory 112 and the processor 111).
  • Bus 113 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus structures.
  • Memory 112 may include readable media in the form of volatile memory, such as random access memory (RAM) 1121 and/or cache memory 1122 , and may further include read-only memory (ROM) 1123 .
  • RAM random access memory
  • ROM read-only memory
  • the memory 112 may also include a program/utility 1125 having a set of (at least one) program modules 1124 including, but not limited to: an operating system, one or more application programs, other program modules, and program data. Each of the examples, or some combination thereof, may include the implementation of a network environment.
  • Electronic device 110 may also communicate with one or more external devices 114 (e.g., keyboard, pointing device, etc.), with one or more devices that enable a user to interact with electronic device 110 , and/or with one or more devices that enable the electronic device 110 110 Any device (such as a router, modem, etc.) that can communicate with one or more other electronic devices. This communication may occur through input/output (I/O) interface 115 .
  • the electronic device 110 may also communicate with one or more networks (eg, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 116 . As shown, network adapter 116 communicates with other modules for electronic device 110 via bus 113 .
  • network adapter 116 communicates with other modules for electronic device 110 via bus 113 .
  • a computer-readable storage medium including instructions such as a memory 112 including instructions, is also provided, and the instructions can be executed by the processor 111 to complete the above pseudo-column implementation method.
  • the storage medium may be a non-transitory computer-readable storage medium.
  • the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc. .
  • a computer program product including a computer program, which when executed by the processor 111 implements any of the pseudo-column implementation methods provided by this application.
  • various aspects of a pseudo-column implementation method provided by this application can also be implemented in the form of a program product, which includes program code.
  • the program product is run on a computer device, the program code is used to The computer device is caused to execute the steps in the pseudo-column implementation method described above in this specification according to various exemplary embodiments of the present application.
  • the Program Product may take the form of one or more readable media in any combination.
  • the readable medium may be a readable signal medium or a readable storage medium.
  • the readable storage medium may include, for example, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: electrical connection with one or more conductors, portable disk, hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • the program product for the pseudo-column implementation method of the embodiment of the present application may adopt a portable compact disk read-only memory (CD-ROM) and include the program code, and may be run on an electronic device.
  • CD-ROM portable compact disk read-only memory
  • the program product of the present application is not limited thereto.
  • a readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus or device.
  • the readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
  • a readable signal medium may also be any readable medium other than a readable storage medium that can send, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device.
  • Program code embodied on a readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical cable, RF, etc., or any suitable combination of the foregoing.
  • the program code for performing the operations of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages, such as Java, C++, etc., and also includes conventional procedural programming. language, such as "C" or a similar programming language.
  • the program code may execute entirely on the user's electronic device, partly on the user's electronic device, as a stand-alone software package, partly on the user's electronic device and partly on a remote electronic device, or entirely on the remote electronic device or service Executed on the terminal.
  • the remote electronic devices may be connected to the user electronic device through any kind of network, such as a local area network (LAN) or a wide area network (WAN), or may be connected to an external electronic device, such as provided by an Internet service Business comes via Internet connection.
  • LAN local area network
  • WAN wide area network
  • embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable image scaling device to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means, the instructions
  • the device implements the functions specified in a process or processes in the flowchart and/or in a block or blocks in the block diagram.
  • These computer program instructions may also be loaded onto a computer or other programmable image scaling device, causing a series of operating steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby executing on the computer or other programmable device.
  • Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A pseudo column implementation method and apparatus, an electronic device, and a storage medium, relating to the field of cloud computing and big data platforms. The method comprises: receiving a query statement, the query statement being used for querying target data, and the query statement comprising a first statement and a second statement (S201); performing calculation on the first statement by means of an operator to obtain pseudo column information, and performing calculation on the second statement by means of the operator to obtain target data, an execution function for performing calculation on the first statement and an execution function for performing calculation on the second statement being stored in the operator (S202); and merging the pseudo column information and the target data to generate a tuple pseudo list (S203). According to the method, in the query process of implementing pseudo column information, no other additional calculation is performed, thereby reducing, to the maximum extent, the effect of calculation of pseudo column information on the performance of a system. The pseudo column information and the target data are combined into a tuple, thereby standardizing the implementation process of a plurality of pieces of pseudo column information.

Description

一种伪列实现方法、装置、电子设备及存储介质A pseudo-column implementation method, device, electronic equipment and storage medium 技术领域Technical field
本申请涉及云计算与大数据平台领域,尤其涉及一种伪列实现方法、装置、电子设备及存储介质。This application relates to the field of cloud computing and big data platforms, and in particular to a pseudo-column implementation method, device, electronic equipment and storage medium.
背景技术Background technique
甲骨文数据库(Oracle Database,Oracle),是一款是商业数据库,Oracle是闭源的数据库,在Oracle无法添加自己业务需要的额外伪列,且使用Oracle会增加软件成本。关系型数据库管理系统(Postgre Structured Query Language,PostgreSQL)是世界上最强大的开源关系型数据库、学术气息浓厚、自由度极高,是一款免费数据库软件。Oracle Database (Oracle) is a commercial database. Oracle is a closed-source database. You cannot add additional pseudo columns that your business needs in Oracle, and using Oracle will increase software costs. Relational database management system (Postgre Structured Query Language, PostgreSQL) is the world's most powerful open source relational database, with a strong academic atmosphere and a high degree of freedom. It is a free database software.
目前PostgreSQL不支持Oracle伪列信息的结构化查询语言(Structured Query Language,SQL)语法,但是PostgreSQL的开源协议允许自由修改源码实现Oracle伪列的SQL语法。在Oracle中有多个伪列信息,如果伪列在添加过程中只单独实现自身的伪列信息,在后续的源码开发中,添加其他伪列信息或SQL功能会导致源码的语言环境变得杂乱无章,没有逻辑,造成运行故障。Currently PostgreSQL does not support Structured Query Language (Structured Query) for Oracle pseudo column information. Language, SQL) syntax, but PostgreSQL's open source agreement allows free modification of the source code to implement the SQL syntax of Oracle pseudo columns. There are multiple pseudo-column information in Oracle. If the pseudo-column only implements its own pseudo-column information during the adding process, in the subsequent source code development, adding other pseudo-column information or SQL functions will cause the language environment of the source code to become cluttered. , without logic, causing operational failure.
技术问题technical problem
如何在PostgreSQL中兼容Oracle伪列的SQL语法,实现查询伪列信息;并且规范多个伪列信息是值得商榷的问题。How to make PostgreSQL compatible with Oracle pseudo-column SQL syntax to query pseudo-column information; and how to standardize multiple pseudo-column information is a question worthy of discussion.
技术解决方案Technical solutions
本申请实施例提供一种伪列实现方法、装置、电子设备及存储介质,用于实现查询伪列信息,规范多个伪列信息的实现过程。Embodiments of the present application provide a pseudo-column implementation method, device, electronic device, and storage medium for querying pseudo-column information and standardizing the implementation process of multiple pseudo-column information.
第一方面,本申请实施例提供一种伪列实现方法,包括:In the first aspect, embodiments of the present application provide a pseudo-column implementation method, including:
接收查询语句,所述查询语句用于查询目标数据;所述查询语句包含第一语句和第二语句;Receive a query statement, the query statement is used to query target data; the query statement includes a first statement and a second statement;
通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据;所述算子中存储有用于计算第一语句的执行函数和用于计算第二语句的执行函数;The operator calculates the first statement to obtain the pseudo column information, and the operator calculates the second statement to obtain the target data; the operator stores an execution function for calculating the first statement and a function for calculating the first statement. Calculate the execution function of the second statement;
将所述伪列信息和所述目标数据合并,生成元组伪列表。The pseudo column information and the target data are combined to generate a pseudo list of tuples.
上述方法,在实现伪列信息的查询过程中,没有添加其他额外的计算,最大化减少计算伪列信息对系统的性能影响。将伪列信息和目标数据合并为元组,规范多个伪列信息的实现过程。The above method does not add any additional calculations during the query process of pseudo-column information, thus minimizing the performance impact of computing pseudo-column information on the system. Merge pseudo-column information and target data into tuples to standardize the implementation process of multiple pseudo-column information.
可选的,所述方法还包括:Optionally, the method also includes:
所述查询语句包含第三语句;所述第三语句用于定义所述元组伪列表的投影规范;The query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
通过所述算子计算所述第三语句,对所述元组伪列表进行投影。The third statement is calculated by the operator, and the pseudo-list of tuples is projected.
上述方法通过对元组伪列表进行投影,实现统一的投影计算。The above method achieves unified projection calculation by projecting the pseudo-list of tuples.
可选的,所述通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据,具体包括:Optionally, the operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data, which specifically includes:
在第i次计算中,通过所述算子计算所述第一语句得到第i个伪列信息,以及通过所述算子计算所述第二语句得到第i个目标数据;In the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data;
将所述第i个伪列信息和所述第i个目标数据存储至所述算子包含的执行状态结构体中;Store the i-th pseudo column information and the i-th target data into the execution status structure included in the operator;
在第I次计算后,获取第1个伪列信息至第I个伪列信息,以及第1个目标数据至第I个目标数据;所述i为大于或等于1,且小于或等于I的整数;所述I为大于或等于1的整数。After the 1st calculation, obtain the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1st target data; the i is greater than or equal to 1 and less than or equal to 1 Integer; the I is an integer greater than or equal to 1.
上述方法通过算子计算第一语句以及第二语句,执行状态结构体保存伪列信息以及目标数据,最大化减少计算、统计、收集伪列信息对系统的性能影响。The above method uses operators to calculate the first statement and the second statement, and the execution state structure stores the pseudo column information and target data, thereby minimizing the impact of calculation, statistics, and collection of pseudo column information on the performance of the system.
可选的,所述将所述伪列信息和所述目标数据合并,生成元组伪列表,具体包括:Optionally, merging the pseudo column information and the target data to generate a tuple pseudo list specifically includes:
将所述第1个伪列信息至所述第I个伪列信息合并,生成伪列元素;Merge the first pseudo-column information to the I-th pseudo-column information to generate a pseudo-column element;
将所述第1个目标数据至所述第I个目标数据合并,生成目标数据元素;Merge the first target data to the I-th target data to generate target data elements;
将所述伪列元素和所述目标数据元素合并,得到所述元组伪列表。The pseudo column element and the target data element are combined to obtain the tuple pseudo list.
上述方法通过元组伪列表存储伪列信息以及目标数据,将伪列信息和目标数据合并为元组,实现了对伪列信息的统一管理。The above method stores pseudo-column information and target data through tuple pseudo-lists, merges pseudo-column information and target data into tuples, and realizes unified management of pseudo-column information.
可选的,所述方法还包括:Optionally, the method also includes:
将所述元组伪列表存储在所述算子包括的元组表槽管理元组中。The tuple pseudo-list is stored in the tuple table slot management tuple included in the operator.
上述方法通过元组表槽管理元组实现对元组伪列表的统一管理。The above method realizes unified management of tuple pseudo-lists by managing tuples in tuple table slots.
第二方面,本申请实施例提供一种伪列实现装置,包括:In the second aspect, embodiments of the present application provide a pseudo-column implementation device, including:
接收模块,用于接收查询语句,所述查询语句用于查询目标数据;所述查询语句包含第一语句和第二语句;A receiving module, configured to receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement;
计算模块,用于通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据;所述算子中存储有用于计算第一语句的执行函数和用于执行第二语句的执行函数;A calculation module, used to calculate the first statement through an operator to obtain pseudo-column information, and to calculate the second statement through the operator to obtain the target data; the operator stores the information used to calculate the first statement. The execution function and the execution function used to execute the second statement;
处理模块,用于将所述伪列信息和所述目标数据合并,生成元组伪列表。A processing module, configured to merge the pseudo column information and the target data to generate a pseudo list of tuples.
在一种可选的实施例中,所述计算模块还用于:In an optional embodiment, the computing module is also used to:
所述查询语句包含第三语句;所述第三语句用于定义所述元组伪列表的投影规范;The query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
通过所述算子计算所述第三语句,对所述元组伪列表进行投影。The third statement is calculated by the operator, and the pseudo-list of tuples is projected.
第三方面,本申请实施例还提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面中的任一种伪列实现方法。In a third aspect, embodiments of the present application also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the processor implements the above Any pseudo-column implementation method in the first aspect.
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的伪列实现方法。In a fourth aspect, embodiments of the present application further provide a computer-readable storage medium. A computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, the pseudo-column implementation of the first aspect is realized. method.
第五方面,本申请实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行以实现如上述第一方面中任一项的伪列实现方法。In a fifth aspect, embodiments of the present application further provide a computer program product, including a computer program, which is executed by a processor to implement the pseudo-column implementation method in any one of the above-mentioned first aspects.
第二方面至第五方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。For the technical effects brought by any implementation method in the second to fifth aspects, please refer to the technical effects brought by the corresponding implementation method in the first aspect, which will not be described again here.
附图说明Description of drawings
图1为本申请实施例提供的一种伪列实现方法的应用场景示意图;Figure 1 is a schematic diagram of an application scenario of a pseudo-column implementation method provided by an embodiment of the present application;
图2为本申请实施例提供的一种伪列实现方法流程图;Figure 2 is a flow chart of a pseudo-column implementation method provided by an embodiment of the present application;
图3为本申请实施例提供的一种查询语句输入界面示意图;Figure 3 is a schematic diagram of a query sentence input interface provided by an embodiment of the present application;
图4为本申请实施例提供的一种伪列信息和目标数据示意图;Figure 4 is a schematic diagram of pseudo column information and target data provided by an embodiment of the present application;
图5为本申请实施例提供的另一种伪列信息和目标数据示意图;Figure 5 is a schematic diagram of another pseudo-column information and target data provided by an embodiment of the present application;
图6为本申请实施例提供的一种伪列元素示意图;Figure 6 is a schematic diagram of a pseudo column element provided by an embodiment of the present application;
图7为本申请实施例提供的一种目标数据元素示意图;Figure 7 is a schematic diagram of a target data element provided by an embodiment of the present application;
图8为本申请实施例提供的一种元组伪列表示意图;Figure 8 is a representation of a tuple pseudo-column provided by an embodiment of the present application;
图9为本申请实施例提供的一种伪列实现的完整流程图;Figure 9 is a complete flow chart of a pseudo-column implementation provided by the embodiment of the present application;
图10为本申请实施例提供的一种伪列实现的装置示意图;Figure 10 is a schematic diagram of a device for pseudo-column implementation provided by an embodiment of the present application;
图11为本申请实施例提供的电子设备的结构示意图。Figure 11 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
本发明的实施方式Embodiments of the invention
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。In the following, some terms used in the embodiments of the present application are explained to facilitate understanding by those skilled in the art.
1、本申请实施例中术语“伪列”,数据库术语,指的是在物理上这个列并不存在,只是在查询时才构造出来。伪列通常是自由分配的,用户无法执行修改等操作。比如Oracle的表中的每一行数据都有一个唯一的标识符(RowID)字段,使用RowID可以快速地定位到某个对应的数据,因为它标记了记录所对应的物理地址,是唯一的。1. The term "pseudo column" in the embodiment of this application is a database term, which means that this column does not exist physically and is only constructed during query. Pseudo columns are usually freely allocated and cannot be modified by users. For example, each row of data in an Oracle table has a unique identifier (RowID) field. You can use RowID to quickly locate a corresponding data, because it marks the physical address corresponding to the record, which is unique.
2、本申请实施例中术语“元组”是关系数据库中的基本概念,关系是一张表,表中的每行(即数据库中的每条记录)就是一个元组,每列就是一个属性;在二维表里,元组也称为行。2. The term "tuple" in the embodiment of this application is a basic concept in a relational database. A relation is a table. Each row in the table (that is, each record in the database) is a tuple, and each column is an attribute. ;In a two-dimensional table, tuples are also called rows.
3、本申请实施例中术语“SQL”,结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。3. In the embodiments of this application, the term "SQL" means Structured Query Language (Structured Query Language) is a special-purpose programming language. It is a database query and programming language used to access data and query, update and manage relational database systems.
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be described in further detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only some of the embodiments of the present application, not all of them. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of this application.
本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。The application scenarios described in the embodiments of the present application are for the purpose of more clearly explaining the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided by the embodiments of the present application. Persons of ordinary skill in the art will know that with the emergence of new application scenarios It appears that the technical solutions provided by the embodiments of this application are also applicable to similar technical problems. Among them, in the description of this application, unless otherwise stated, the meaning of "plurality" is two or more.
在数据库源码开发过程中,PostgreSQL不支持Oracle伪列的SQL语法,但是PostgreSQL的开源协议允许自由修改源码实现Oracle伪列的SQL语法,并用于生产和商用。如果多个伪列的添加没有相应的规范,会造成后续程序故障。因此,如何在PostgreSQL中兼容实现Oracle伪列的SQL语法,实现查询伪列,并且规范多个伪列信息就显得很有必要。During the database source code development process, PostgreSQL does not support the SQL syntax of Oracle pseudo columns, but PostgreSQL's open source agreement allows you to freely modify the source code to implement the SQL syntax of Oracle pseudo columns and use it for production and commercial use. If multiple pseudo columns are added without corresponding specifications, subsequent program failures will occur. Therefore, it is necessary to implement the SQL syntax of Oracle pseudo columns in PostgreSQL, implement query of pseudo columns, and standardize the information of multiple pseudo columns.
为了解决上述问题,本申请实施例提供一种伪列实现方法、装置、电子设备及存储介质。例如,接收查询语句,查询语句用于查询目标数据。其中,该查询语句包含第一语句和第二语句。通过算子计算第一语句得到伪列信息,并通过算子计算第二语句得到目标数据。其中,算子中存储有用于计算第一语句的执行函数和用于执行第二语句的执行函数。将伪列信息和目标数据合并,生成元组伪列表。这样,可以实现兼容Oracle伪列的SQL语法和定制化伪列功能,规范伪列的开发,提高伪列的开发效率。In order to solve the above problem, embodiments of the present application provide a pseudo column implementation method, device, electronic device, and storage medium. For example, receive a query statement, which is used to query target data. The query statement includes a first statement and a second statement. The operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data. The operator stores an execution function for calculating the first statement and an execution function for executing the second statement. Merge pseudo column information and target data to generate a pseudo list of tuples. In this way, SQL syntax compatible with Oracle pseudo columns and customized pseudo column functions can be realized, the development of pseudo columns can be standardized, and the development efficiency of pseudo columns can be improved.
本申请实施例用户可以通过客户端提交查询语句,在服务端查询伪列信息以及目标数据。In the embodiment of this application, users can submit query statements through the client and query pseudo column information and target data on the server.
如图1所示,本申请实施例一种可选的伪列实现方法的应用场景示意图,包括服务端100以及终端101,服务端100与终端101之间可以通过网络实现可通信的连接,以实现本申请的伪列实现方法。As shown in Figure 1, a schematic diagram of an application scenario of an optional pseudo-column implementation method in this embodiment of the application includes a server 100 and a terminal 101. The server 100 and the terminal 101 can achieve a communicable connection through the network, so as to Implement the pseudo column implementation method of this application.
用户可以使用服务端100通过网络与终端101交互,例如接收或发送消息等。终端101上可以安装有各种客户端应用程序,例如程序编写类应用、网页浏览器应用、搜索类应用等。终端101可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、台式计算机等等。The user can use the server 100 to interact with the terminal 101 through the network, such as receiving or sending messages. Various client applications can be installed on the terminal 101, such as programming applications, web browser applications, search applications, etc. The terminal 101 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, desktop computers, and so on.
安装于终端101上的客户端用于响应用户提交查询语句,将查询语句发送给服务端,使服务端实现伪列信息以及目标数据的查询。The client installed on the terminal 101 is used to respond to the query statement submitted by the user and send the query statement to the server, so that the server can query the pseudo column information and target data.
服务端100用于接收查询语句,查询语句用于查询目标数据;该查询语句包含第一语句和第二语句。通过算子计算第一语句得到伪列信息,并通过算子计算第二语句得到目标数据。其中,算子中存储有用于计算第一语句的执行函数和用于执行第二语句的执行函数。将伪列信息和目标数据合并,生成元组伪列表。其中,服务端100可以为独立的服务器或者是多个服务器组成的服务器集群来实现。The server 100 is configured to receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement. The operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data. The operator stores an execution function for calculating the first statement and an execution function for executing the second statement. Merge pseudo column information and target data to generate a pseudo list of tuples. The server 100 can be implemented as an independent server or a server cluster composed of multiple servers.
如图2所示,本申请实施例提供的一种伪列实现方法流程图,具体可以包括以下步骤:As shown in Figure 2, a flow chart of a pseudo-column implementation method provided by an embodiment of the present application may specifically include the following steps:
步骤S201、接收查询语句,查询语句用于查询目标数据;查询语句包含第一语句和第二语句;Step S201: Receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement;
步骤S202、通过算子计算第一语句得到伪列信息,并通过算子计算第二语句得到目标数据;算子中存储有用于计算第一语句的执行函数和用于计算第二语句的执行函数;Step S202: Use the operator to calculate the first statement to obtain the pseudo column information, and use the operator to calculate the second statement to obtain the target data; the operator stores an execution function for calculating the first statement and an execution function for calculating the second statement. ;
步骤S203、将伪列信息和目标数据合并,生成元组伪列表。Step S203: Merge the pseudo column information and the target data to generate a tuple pseudo list.
在用户需要查询目标数据时,用户可以通过客户端输入查询语句;客户端将用户提交的查询语句发送给服务端,由服务端进行处理。When the user needs to query the target data, the user can input the query statement through the client; the client sends the query statement submitted by the user to the server, and the server processes it.
实施中,在需要查询目标数据时,用户通过终端的操作界面启动客户端;例如,用户可以双击客户端的图标来启动客户端。In the implementation, when the target data needs to be queried, the user starts the client through the terminal's operation interface; for example, the user can double-click the client icon to start the client.
在客户端启动完成后,在客户端的显示界面中展示查询语句输入界面;如图3所示,用户可以在该界面中输入查询语句。After the client is started, the query statement input interface is displayed in the client's display interface; as shown in Figure 3, the user can enter the query statement in this interface.
用户在界面中输入查询语句之后,将查询语句进行提交。其中,查询语句是由SQL编写的语句。After the user enters the query statement in the interface, the user submits the query statement. Among them, the query statement is a statement written by SQL.
在步骤S201中,客户端接收用户提交的查询语句,将用户提交的查询语句按照语法解析规则转换格式之后,供算子使用。In step S201, the client receives the query statement submitted by the user, converts the query statement submitted by the user into a format according to the grammar parsing rules, and then provides the query statement for use by the operator.
本申请实施例中用户提交的查询语句中包含第一语句和第二语句。查询语句中的第一语句用于查询得到伪列信息;查询语句中的第二语句用于查询目标数据。In the embodiment of this application, the query statement submitted by the user includes a first statement and a second statement. The first statement in the query statement is used to query the pseudo column information; the second statement in the query statement is used to query the target data.
在步骤S202中,在第i次计算中,通过算子计算第一语句得到第i个伪列信息,以及通过算子计算第二语句得到第i个目标数据。将第i个伪列信息和第i个目标数据存储至算子包含的执行状态结构体中。在第I次计算后,获取第1个伪列信息至第I个伪列信息,以及第1个目标数据至第I个目标数据。其中,i为大于或等于1,且小于或等于I的整数;I为大于或等于1的整数。In step S202, in the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data. Store the i-th pseudo column information and the i-th target data in the execution status structure included in the operator. After the 1st calculation, the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1st target data are obtained. Among them, i is an integer greater than or equal to 1 and less than or equal to I; I is an integer greater than or equal to 1.
本申请实施例在PostgreSQL的运行结构中,每一个算子都包括执行函数,执行状态结构体,元组表槽管理元组。其中,执行函数用于计算用户输入的查询语句。执行状态结构体用于保存执行函数在计算查询语句时从第1次到第i次的所有信息。元组表槽管理元组用于存储包括元组伪列表等包含其他不同信息的元组表。In the running structure of PostgreSQL in the embodiment of this application, each operator includes an execution function, an execution status structure, and a tuple table slot management tuple. Among them, the execution function is used to calculate the query statement entered by the user. The execution status structure is used to save all the information from the 1st to the ith time when the execution function calculates the query statement. Tuple table slot management tuples are used to store tuple tables containing different information, including tuple pseudo-lists.
需要说明的是,本申请实施例中,算子包含顶层算子、投影算子等其他算子,根据查询语句的不同,调用不同类型的算子进行计算。It should be noted that in the embodiment of this application, operators include top-level operators, projection operators and other operators. Different types of operators are called for calculation according to different query statements.
本申请实施例在第1次计算中,通过算子计算用户提交的查询语句中的第一语句得到第1个伪列信息。通过算子计算用户提交的查询语句中的第二语句得到第1个目标数据。将第1个伪列信息和第1个目标数据保存在算子包含的执行状态结构体中。In the first calculation of the embodiment of this application, the first pseudo column information is obtained by calculating the first statement in the query statement submitted by the user through an operator. The first target data is obtained by calculating the second statement in the query statement submitted by the user through an operator. Save the first pseudo column information and the first target data in the execution status structure contained in the operator.
在第2次计算中,通过算子计算用户提交的查询语句中的第一语句得到第2个伪列信息。通过算子计算用户提交的查询语句中的第二语句得到第2个目标数据。在第2次计算完成之后,会在第1次保存的伪列信息以及对应的目标数据组成的元组中增加一行,保存第2次的伪列信息以及目标数据到算子包含的执行状态结构体中。In the second calculation, the operator is used to calculate the first statement in the query statement submitted by the user to obtain the second pseudo column information. The second target data is obtained by calculating the second statement in the query statement submitted by the user through an operator. After the second calculation is completed, a row will be added to the tuple consisting of the pseudo-column information saved for the first time and the corresponding target data, and the second pseudo-column information and target data will be saved to the execution status structure contained in the operator. in the body.
在第i次计算中,通过算子计算用户提交的查询语句中的第一语句得到第i个伪列信息;通过算子计算用户提交的查询语句中的第二语句得到第i个目标数据。在第i次计算完成之后,会在第i-1次计算保存的伪列信息以及对应的目标数据组成的元组中增加一行,保存第i次的伪列信息以及目标数据到算子包含的执行状态结构体中。其中,i为大于或等于1,且小于或等于I的整数。In the i-th calculation, the operator is used to calculate the first statement in the query statement submitted by the user to obtain the i-th pseudo column information; the operator is used to calculate the second statement in the query statement submitted by the user to obtain the i-th target data. After the i-th calculation is completed, a row will be added to the tuple consisting of the pseudo-column information saved in the i-1 calculation and the corresponding target data, and the i-th pseudo-column information and target data will be saved to the tuple contained in the operator. in the execution status structure. Among them, i is an integer greater than or equal to 1 and less than or equal to I.
本申请实施例将收集伪列信息的计算过程融合到算子计算查询语句中,没有添加其他的额外计算,降低计算伪列信息的时间,最大化减少计算、统计伪列信息对系统的性能影响,在实际应用过程中该影响可忽略不计。The embodiment of this application integrates the calculation process of collecting pseudo-column information into the operator calculation query statement, without adding other additional calculations, reducing the time for calculating pseudo-column information, and minimizing the impact of calculation and statistics of pseudo-column information on the system's performance. , this impact can be ignored in practical applications.
在用户提交的查询语句对应的所有计算完成后,即在第I次计算之后。通过执行状态结构体存储的统计信息以及执行状态结构体历史记录信息等来源,收集各个不同计算次数中的伪列信息对应的字段数据。其中,I为大于或等于1的整数。After all calculations corresponding to the query statement submitted by the user are completed, that is, after the Ith calculation. The field data corresponding to the pseudo-column information in different calculation times is collected through sources such as the statistical information stored in the execution status structure and the historical record information of the execution status structure. Among them, I is an integer greater than or equal to 1.
在一种可选的实施例中,用户查询的伪列信息可以是Oracle的伪列(RowNum)。在Oracle中,RowNum返回结果集中每一行数据的序列化为数字编号。ROWNUM是一个序列,是Oracle从数据文件或缓冲区中读取数据的顺序。RowNum值的第一条记录为1,RowNum值的第二条记录为2,以此类推。In an optional embodiment, the pseudo column information queried by the user may be an Oracle pseudo column (RowNum). In Oracle, RowNum returns the serialized numeric number of each row of data in the result set. ROWNUM is a sequence, which is the order in which Oracle reads data from the data file or buffer. The first record with a RowNum value is 1, the second record with a RowNum value is 2, and so on.
例如,用户在客户端输入想要查询大于等于2000,小于等于2004的整数以及RowNum信息的查询语句。服务端接收用户的查询语句,将用户提交的查询语句按照语法解析规则转换格式,供算子计算。在算子第1次计算完成之后,如图4所示,第1个伪列信息为1,第1个目标数据为2000,将该伪列信息和目标数据存储至算子包含的执行状态结构体中。在算子第2次计算完成之后,如图5所示,第2个伪列信息为2,第2个目标数据为2001,将第2个伪列信息和目标数据存储至算子包含的执行状态结构体中。直至第5次计算完成代表所有计算次数完成。通过执行状态结构体中存储的统计信息收集第5次计算过程中的伪列信息以及目标数据。通过执行状态结构体历史记录信息收集第1次计算到第4次计算中的所有伪列信息以及目标数据。For example, the user enters a query statement on the client that wants to query integers greater than or equal to 2000, less than or equal to 2004, and RowNum information. The server receives the user's query statement and converts the query statement submitted by the user into a format according to the grammar parsing rules for calculation by the operator. After the first calculation of the operator is completed, as shown in Figure 4, the first pseudo column information is 1 and the first target data is 2000. The pseudo column information and target data are stored in the execution status structure contained in the operator. in the body. After the second calculation of the operator is completed, as shown in Figure 5, the second pseudo column information is 2 and the second target data is 2001. The second pseudo column information and target data are stored in the execution included in the operator. in the status structure. Until the fifth calculation is completed, all calculation times are completed. Collect the pseudo column information and target data in the fifth calculation process through the statistical information stored in the execution status structure. Collect all pseudo-column information and target data from the first calculation to the fourth calculation through the execution status structure history information.
在步骤S203中,将第1个伪列信息至第I个伪列信息合并,生成伪列元素。将第1个目标数据至第I个目标数据合并,生成目标数据元素。将伪列元素和目标数据元素合并,得到元组伪列表。In step S203, the first pseudo-column information to the I-th pseudo-column information are combined to generate a pseudo-column element. Merge the first target data to the I-th target data to generate target data elements. Merge the pseudo column elements and the target data elements to obtain a pseudo list of tuples.
本申请实施例将第1个伪列信息至第I个伪列信息合并,生成伪列元素。例如,如图6所示的伪列元素,第1个伪列信息至第5个伪列信息分别为:1、2、3、4、5。In this embodiment of the present application, the first pseudo-column information to the I-th pseudo-column information are combined to generate pseudo-column elements. For example, in the pseudo-column element shown in Figure 6, the first pseudo-column information to the fifth pseudo-column information are: 1, 2, 3, 4, and 5 respectively.
将第1个目标数据至第I个目标数据合并,生成目标数据元素。Merge the first target data to the I-th target data to generate target data elements.
例如,如图7所示目标数据元素,第1个目标数据至第5个目标数据分别为:2000、2001、2002、2003、2004。For example, as shown in Figure 7 for the target data elements, the first to fifth target data are: 2000, 2001, 2002, 2003, and 2004 respectively.
将伪列元素和目标数据元素合并,得到元组伪列表。Merge the pseudo column elements and the target data elements to obtain a pseudo list of tuples.
例如,如图8所示的元组伪列表中,伪列元素为1、2、3、4、5,目标数据元素为2000、2001、2002、2003、2004。将该伪列元素和目标数据元素进行合并。For example, in the tuple pseudo-list shown in Figure 8, the pseudo-column elements are 1, 2, 3, 4, and 5, and the target data elements are 2000, 2001, 2002, 2003, and 2004. Merge the pseudo column element with the target data element.
在得到元组伪列表之后,将元组伪列表存储在算子包括的元组表槽管理元组中,对元组伪列表进行统一管理。After the tuple pseudo-list is obtained, the tuple pseudo-list is stored in the tuple table slot management tuple included in the operator, and the tuple pseudo-list is managed uniformly.
本申请实施例将伪列元素和目标数据元素进行合并,得到元组伪列表。通过元组绑定的方式,防止在伪列信息的实现过程中出现重复实现的情况,或查询语句单独计算运行即没有通过元组的方式获取伪列信息以及目标数据,导致获取错误的伪列信息以及目标数据的情况。In this embodiment of the present application, pseudo column elements and target data elements are merged to obtain a tuple pseudo list. Tuple binding is used to prevent duplication of implementation during the implementation of pseudo-column information, or the query statement is calculated and run separately without obtaining the pseudo-column information and target data through tuples, resulting in obtaining the wrong pseudo-column. information and the condition of the target data.
在一种可选的实施例中,根据查询语句中的第三语句定义的投影规范,将元组伪列表进行相应的投影。In an optional embodiment, the tuple pseudo-list is projected accordingly according to the projection specification defined by the third statement in the query statement.
本申请实施例通过算子计算第三语句,对元组伪列表进行投影。因为伪列信息在投影前后是相同的,元组在投影前后是相同的。所以只有目标数据按照第三语句定义的投影规范进行投影即可。投影之后,将带有伪列信息的查询结果返回给客户端,使用户得到带有伪列信息的查询结果。The embodiment of this application uses an operator to calculate the third statement and project the pseudo-list of tuples. Because the pseudo column information is the same before and after projection, the tuples are the same before and after projection. Therefore, only the target data can be projected according to the projection specification defined in the third statement. After projection, the query results with pseudo-column information are returned to the client, so that the user can obtain the query results with pseudo-column information.
例如,元组伪列表中伪列元素为1、2、3;目标数据元素为-2000、-2001、-2002。用户输入的第三语句中定义的投影规范是求目标数据的绝对值;则对元组伪列表进行投影。因为伪列信息在投影前是1、2、3,伪列信息在投影后是1、2、3,伪列信息是不变的。元组在投影前是3行,在投影后是3行,元组是不变的。所以只对目标数据元素投影。在投影之后,目标数据元素变为2000、2001、2002,将带有伪列信息的查询结果返回给客户端。For example, the pseudo column elements in the tuple pseudo list are 1, 2, and 3; the target data elements are -2000, -2001, and -2002. The projection specification defined in the third statement entered by the user is to find the absolute value of the target data; then the tuple pseudo-list is projected. Because the pseudo-column information is 1, 2, and 3 before projection, and the pseudo-column information is 1, 2, and 3 after projection, the pseudo-column information is unchanged. The tuple is 3 rows before projection and 3 rows after projection, the tuple is unchanged. So only the target data element is projected. After projection, the target data elements become 2000, 2001, and 2002, and the query results with pseudo column information are returned to the client.
在一种可选的实施例中,用户查询的伪列信息可以是Oracl的层次(Level)伪列。在Oracl的层次(Level)伪列的查询中,Level表示算子的迭代次数,在算子计算查询语句时,在算子中定义一个标记字段保存Level信息。层次查询每次迭代扫描一层的节点。Level在进入初始节点时,初始化为1。对于Level初始值,每多迭代一次,Level进行加1。In an optional embodiment, the pseudo-column information queried by the user may be an Oracle level (Level) pseudo-column. In the query of Oracle's Level pseudo column, Level represents the number of iterations of the operator. When the operator calculates the query statement, a mark field is defined in the operator to save the Level information. Hierarchical queries scan one level of nodes each iteration. Level is initialized to 1 when entering the initial node. For the initial value of Level, Level is incremented by 1 for each additional iteration.
在用户提交的查询语句中包含用于查寻Level信息的第一语句时,将上述标记字段对应的数据作为伪列信息,返回给用户。在用户提交的查询语句中不包含用于查寻Level信息的第一语句时,Level信息也会进行计算,但是不返回给用户。When the query statement submitted by the user contains the first statement for searching for Level information, the data corresponding to the above marked field is returned to the user as pseudo column information. When the query statement submitted by the user does not contain the first statement used to search for Level information, the Level information will also be calculated, but will not be returned to the user.
例如,接收查询语句,将用户提交的查询语句按照语法解析规则转换格式之后,供算子使用。其中,该查询语句中包括查询Level伪列的第一语句、查询目标数据的第二语句以及定义元组伪列表的投影规范的第三语句。通过算子计算第一语句得到伪列信息,并通过算子计算第二语句得到目标数据。将第1个伪列信息至第I个伪列信息合并,生成伪列元素。将第1个目标数据至第I个目标数据合并,生成目标数据元素。将伪列元素和目标数据元素合并,得到元组伪列表。通过第三语句的定义,对元组伪列表进行投影;在完成投影之后,将带有伪列信息的查询结果返回给客户端,使用户得到带有伪列信息的查询结果。For example, it receives a query statement and converts the query statement submitted by the user into a format according to the grammar parsing rules for use by the operator. The query statement includes a first statement for querying the Level pseudo-column, a second statement for querying the target data, and a third statement for defining the projection specification of the tuple pseudo-list. The operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data. Merge the first pseudo-column information to the I-th pseudo-column information to generate a pseudo-column element. Merge the first target data to the I-th target data to generate target data elements. Merge the pseudo column elements and the target data elements to obtain a pseudo list of tuples. Through the definition of the third statement, the tuple pseudo-list is projected; after the projection is completed, the query result with pseudo-column information is returned to the client, so that the user can obtain the query result with pseudo-column information.
在一种可选的实施例中,用户提交的查询语句中只需要算子计算一次得到伪列信息以及目标数据。通过算子计算用户提交的查询语句中的第一语句得到第1个伪列信息。通过算子计算用户提交的查询语句中的第二语句得到第1个目标数据。将第1个伪列信息和第1个目标数据保存在算子包含的执行状态结构体中。将伪列信息和目标数据合并,得到元组伪列表。通过第三语句的定义,对元组伪列表进行投影;在完成投影之后,将带有伪列信息的查询结果返回给客户端,使用户得到带有伪列信息的查询结果。In an optional embodiment, the query statement submitted by the user only needs the operator to be calculated once to obtain the pseudo column information and target data. The first pseudo column information is obtained by calculating the first statement in the query statement submitted by the user through an operator. The first target data is obtained by calculating the second statement in the query statement submitted by the user through an operator. Save the first pseudo column information and the first target data in the execution status structure contained in the operator. Merge the pseudo column information and target data to obtain a pseudo list of tuples. Through the definition of the third statement, the tuple pseudo-list is projected; after the projection is completed, the query result with pseudo-column information is returned to the client, so that the user can obtain the query result with pseudo-column information.
本申请实施例在PostgreSQL通过元组传递数据的基础上,所有伪列信息的添加都是将目标数据与伪列信息进行合并,生成元组伪列表,从而规范伪列信息开发流程。通过算子调用执行函数计算对应的查询语句,对伪列信息进行统一计算、收集和投影,从而统一管理获取查询结果的接口。实现兼容Oracle伪列的SQL语法和定制化伪列功能,方便伪列功能的持续开发。In the embodiment of this application, on the basis of PostgreSQL transmitting data through tuples, all pseudo-column information is added by merging the target data and pseudo-column information to generate a tuple pseudo-list, thereby standardizing the pseudo-column information development process. The operator calls the execution function to calculate the corresponding query statement, and uniformly calculates, collects and projects the pseudo column information, thereby uniformly managing the interface for obtaining query results. Implement SQL syntax compatible with Oracle pseudo columns and customized pseudo column functions to facilitate the continuous development of pseudo column functions.
如图9所示,本申请提供一种伪列实现的完整流程图。As shown in Figure 9, this application provides a complete flow chart of pseudo column implementation.
步骤S901、接收查询语句,该查询语句包含第一语句、第二语句和第三语句;Step S901: Receive a query statement, which includes a first statement, a second statement and a third statement;
步骤S902、在第i次计算中,通过算子计算第一语句得到第i个伪列信息,以及通过算子计算第二语句得到第i个目标数据;i为大于或等于1;Step S902. In the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data; i is greater than or equal to 1;
步骤S903、将第i个伪列信息和第i个目标数据存储至算子包含的执行状态结构体中;Step S903: Store the i-th pseudo column information and the i-th target data into the execution status structure included in the operator;
步骤S904、在第I次计算后,获取第1个伪列信息至第I个伪列信息,以及第1个目标数据至第I个目标数据;I为大于或等于1的整数;Step S904: After the I-th calculation, obtain the first pseudo-column information to the I-th pseudo-column information, and the first to I-th target data; I is an integer greater than or equal to 1;
步骤S905、将第1个伪列信息至第I个伪列信息合并,生成伪列元素;Step S905: Combine the first pseudo-column information to the I-th pseudo-column information to generate pseudo-column elements;
步骤S906、将第1个目标数据至第I个目标数据合并,生成目标数据元素;Step S906: Merge the first target data to the I-th target data to generate target data elements;
步骤S907、将伪列元素和目标数据元素合并,得到元组伪列表;Step S907: Merge the pseudo column elements and the target data elements to obtain a tuple pseudo list;
步骤S908、将元组伪列表存储在算子包括的元组表槽管理元组中;Step S908: Store the tuple pseudo-list in the tuple table slot management tuple included in the operator;
步骤S909、通过算子计算第三语句,对元组伪列表进行投影。Step S909: Calculate the third statement through the operator and project the tuple pseudo-list.
本申请实施例提供了一种伪列实现的装置,如图10所示,该装置包括:接收模块1001、计算模块1002、处理模块1003,其中:The embodiment of the present application provides a device for pseudo-column implementation, as shown in Figure 10. The device includes: a receiving module 1001, a computing module 1002, and a processing module 1003, wherein:
接收模块1001,用于接收查询语句,所述查询语句用于查询目标数据;所述查询语句包含第一语句和第二语句;The receiving module 1001 is used to receive a query statement, the query statement is used to query target data; the query statement includes a first statement and a second statement;
计算模块1002,用于通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据;所述算子中存储有用于计算第一语句的执行函数和用于执行第二语句的执行函数;The calculation module 1002 is used to calculate the first statement through an operator to obtain the pseudo column information, and calculate the second statement through the operator to obtain the target data; the operator stores information for calculating the first statement The execution function and the execution function used to execute the second statement;
处理模块1003,用于将所述伪列信息和所述目标数据合并,生成元组伪列表。The processing module 1003 is configured to merge the pseudo column information and the target data to generate a tuple pseudo list.
可选的,所述计算模块1002还用于:Optionally, the calculation module 1002 is also used to:
所述查询语句包含第三语句;所述第三语句用于定义所述元组伪列表的投影规范;The query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
通过所述算子计算所述第三语句,对所述元组伪列表进行投影。The third statement is calculated by the operator, and the pseudo-list of tuples is projected.
可选的,在从源数据库中,在通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据时,所述处理模块1003具体用于:Optionally, in the source database, when the operator is used to calculate the first statement to obtain the pseudo column information, and the operator is used to calculate the second statement to obtain the target data, the processing module 1003 specifically Used for:
在第i次计算中,通过所述算子计算所述第一语句得到第i个伪列信息,以及通过所述算子计算所述第二语句得到第i个目标数据;In the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data;
将所述第i个伪列信息和所述第i个目标数据存储至所述算子包含的执行状态结构体中;Store the i-th pseudo column information and the i-th target data into the execution status structure included in the operator;
在第I次计算后,获取第1个伪列信息至第I个伪列信息,以及第1个目标数据至第I个目标数据;所述i为大于或等于1,且小于或等于I的整数;所述I为大于或等于1的整数。After the 1st calculation, obtain the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1th target data; the i is greater than or equal to 1 and less than or equal to 1 Integer; the I is an integer greater than or equal to 1.
可选的,在所述伪列信息和所述目标数据合并,生成元组伪列表时,所述处理模块1003具体用于:Optionally, when the pseudo column information and the target data are merged to generate a pseudo list of tuples, the processing module 1003 is specifically used to:
将所述第1个伪列信息至所述第I个伪列信息合并,生成伪列元素;Merge the first pseudo-column information to the I-th pseudo-column information to generate a pseudo-column element;
将所述第1个目标数据至所述第I个目标数据合并,生成目标数据元素;Merge the first target data to the I-th target data to generate target data elements;
将所述伪列元素和所述目标数据元素合并,得到所述元组伪列表。The pseudo column element and the target data element are combined to obtain the tuple pseudo list.
可选的,所述处理模块1003还用于:Optionally, the processing module 1003 is also used to:
将所述元组伪列表存储在所述算子包括的元组表槽管理元组中。The tuple pseudo-list is stored in the tuple table slot management tuple included in the operator.
本申请实施例还提供了一种电子设备。下面参照图11来描述根据本申请的这种实施方式的电子设备110。图11显示的电子设备110仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。An embodiment of the present application also provides an electronic device. The electronic device 110 according to this embodiment of the present application is described below with reference to FIG. 11 . The electronic device 110 shown in FIG. 11 is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present application.
如图11所示,电子设备110以通用电子设备的形式表现。电子设备110的组件可以包括但不限于:上述至少一个处理器111、上述至少一个存储器112、连接不同系统组件(包括存储器112和处理器111)的总线113。As shown in FIG. 11 , the electronic device 110 is embodied in the form of a general electronic device. The components of the electronic device 110 may include, but are not limited to: the above-mentioned at least one processor 111, the above-mentioned at least one memory 112, and a bus 113 connecting different system components (including the memory 112 and the processor 111).
总线113表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。Bus 113 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus structures.
存储器112可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1121和/或高速缓存存储器1122,还可以进一步包括只读存储器(ROM)1123。Memory 112 may include readable media in the form of volatile memory, such as random access memory (RAM) 1121 and/or cache memory 1122 , and may further include read-only memory (ROM) 1123 .
存储器112还可以包括具有一组(至少一个)程序模块1124的程序/实用工具1125,这样的程序模块1124包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。The memory 112 may also include a program/utility 1125 having a set of (at least one) program modules 1124 including, but not limited to: an operating system, one or more application programs, other program modules, and program data. Each of the examples, or some combination thereof, may include the implementation of a network environment.
电子设备110也可以与一个或多个外部设备114(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备110交互的设备通信,和/或与使得该电子设备110能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口115进行。并且,电子设备110还可以通过网络适配器116与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器116通过总线113与用于电子设备110的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备110使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。Electronic device 110 may also communicate with one or more external devices 114 (e.g., keyboard, pointing device, etc.), with one or more devices that enable a user to interact with electronic device 110 , and/or with one or more devices that enable the electronic device 110 110 Any device (such as a router, modem, etc.) that can communicate with one or more other electronic devices. This communication may occur through input/output (I/O) interface 115 . Furthermore, the electronic device 110 may also communicate with one or more networks (eg, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 116 . As shown, network adapter 116 communicates with other modules for electronic device 110 via bus 113 . It should be understood that, although not shown in the figures, other hardware and/or software modules may be used in conjunction with electronic device 110, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives And data backup storage system, etc.
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器112,上述指令可由处理器111执行以完成上述伪列实现方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。In an exemplary embodiment, a computer-readable storage medium including instructions, such as a memory 112 including instructions, is also provided, and the instructions can be executed by the processor 111 to complete the above pseudo-column implementation method. Optionally, the storage medium may be a non-transitory computer-readable storage medium. For example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc. .
在示例性实施例中,还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器111执行时实现如本申请提供的伪列实现方法的任一方法。In an exemplary embodiment, a computer program product is also provided, including a computer program, which when executed by the processor 111 implements any of the pseudo-column implementation methods provided by this application.
在示例性实施例中,本申请提供的一种伪列实现方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的伪列实现方法中的步骤。In an exemplary embodiment, various aspects of a pseudo-column implementation method provided by this application can also be implemented in the form of a program product, which includes program code. When the program product is run on a computer device, the program code is used to The computer device is caused to execute the steps in the pseudo-column implementation method described above in this specification according to various exemplary embodiments of the present application.
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。The Program Product may take the form of one or more readable media in any combination. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may include, for example, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any combination thereof. More specific examples (non-exhaustive list) of readable storage media include: electrical connection with one or more conductors, portable disk, hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
本申请的实施方式的用于伪列实现方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在电子设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。The program product for the pseudo-column implementation method of the embodiment of the present application may adopt a portable compact disk read-only memory (CD-ROM) and include the program code, and may be run on an electronic device. However, the program product of the present application is not limited thereto. In this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, apparatus or device.
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。The readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A readable signal medium may also be any readable medium other than a readable storage medium that can send, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device.
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。Program code embodied on a readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical cable, RF, etc., or any suitable combination of the foregoing.
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务端上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络,例如局域网(LAN)或广域网(WAN),连接到用户电子设备,或者,可以连接到外部电子设备,例如利用因特网服务提供商来通过因特网连接。The program code for performing the operations of the present application can be written in any combination of one or more programming languages, including object-oriented programming languages, such as Java, C++, etc., and also includes conventional procedural programming. language, such as "C" or a similar programming language. The program code may execute entirely on the user's electronic device, partly on the user's electronic device, as a stand-alone software package, partly on the user's electronic device and partly on a remote electronic device, or entirely on the remote electronic device or service Executed on the terminal. In situations involving remote electronic devices, the remote electronic devices may be connected to the user electronic device through any kind of network, such as a local area network (LAN) or a wide area network (WAN), or may be connected to an external electronic device, such as provided by an Internet service Business comes via Internet connection.
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。It should be noted that although several units or sub-units of the device are mentioned in the above detailed description, this division is only exemplary and not mandatory. In fact, according to embodiments of the present application, the features and functions of two or more units described above may be embodied in one unit. Conversely, the features and functions of a unit described above may be further divided into embodiments of a plurality of units.
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。Furthermore, although the operations of the methods of the present application are depicted in a particular order in the drawings, this does not require or imply that the operations must be performed in that particular order, or that all of the illustrated operations must be performed to achieve desired results. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step for execution, and/or one step may be broken down into multiple steps for execution.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will understand that embodiments of the present application may be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment that combines software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程图像缩放设备的处理器以产生一个机器,使得通过计算机或其他可编程图像缩放设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable image scaling device to produce a machine such that the instructions executed by the processor of the computer or other programmable image scaling device generate a A device for realizing the functions specified in a process or processes in a flowchart and/or a block or blocks in a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程图像缩放设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable image scaling device to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means, the instructions The device implements the functions specified in a process or processes in the flowchart and/or in a block or blocks in the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程图像缩放设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable image scaling device, causing a series of operating steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby executing on the computer or other programmable device. Instructions provide steps for implementing the functions specified in a process or processes of a flowchart diagram and/or a block or blocks of a block diagram.
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。Although the preferred embodiments of the present application have been described, those skilled in the art will be able to make additional changes and modifications to these embodiments once the basic inventive concepts are understood. Therefore, it is intended that the appended claims be construed to include the preferred embodiments and all changes and modifications that fall within the scope of this application.
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. In this way, if these modifications and variations of the present application fall within the scope of the claims of the present application and equivalent technologies, the present application is also intended to include these modifications and variations.

Claims (10)

  1. 一种伪列实现方法,其特征在于,所述方法包括:A pseudo column implementation method, characterized in that the method includes:
    接收查询语句,所述查询语句用于查询目标数据;所述查询语句包含第一语句和第二语句;Receive a query statement, the query statement is used to query target data; the query statement includes a first statement and a second statement;
    通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据;所述算子中存储有用于计算第一语句的执行函数和用于计算第二语句的执行函数;The operator calculates the first statement to obtain the pseudo column information, and the operator calculates the second statement to obtain the target data; the operator stores an execution function for calculating the first statement and a function for calculating the first statement. Calculate the execution function of the second statement;
    将所述伪列信息和所述目标数据合并,生成元组伪列表。The pseudo column information and the target data are combined to generate a pseudo list of tuples.
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:The method of claim 1, further comprising:
    所述查询语句包含第三语句;所述第三语句用于定义所述元组伪列表的投影规范;The query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
    通过所述算子计算所述第三语句,对所述元组伪列表进行投影。The third statement is calculated by the operator, and the pseudo-list of tuples is projected.
  3. 根据权利要求1或2所述的方法,其特征在于,所述通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据,具体包括:The method according to claim 1 or 2, characterized in that: calculating the first statement through an operator to obtain pseudo column information, and calculating the second statement through the operator to obtain the target data, specifically include:
    在第i次计算中,通过所述算子计算所述第一语句得到第i个伪列信息,以及通过所述算子计算所述第二语句得到第i个目标数据;In the i-th calculation, the operator is used to calculate the first statement to obtain the i-th pseudo column information, and the operator is used to calculate the second statement to obtain the i-th target data;
    将所述第i个伪列信息和所述第i个目标数据存储至所述算子包含的执行状态结构体中;Store the i-th pseudo column information and the i-th target data into the execution status structure included in the operator;
    在第I次计算后,获取第1个伪列信息至第I个伪列信息,以及第1个目标数据至第I个目标数据;所述i为大于或等于1,且小于或等于I的整数;所述I为大于或等于1的整数。After the 1st calculation, obtain the 1st pseudo column information to the 1st pseudo column information, and the 1st target data to the 1th target data; the i is greater than or equal to 1 and less than or equal to 1 Integer; the I is an integer greater than or equal to 1.
  4. 根据权利要求3所述的方法,其特征在于,所述将所述伪列信息和所述目标数据合并,生成元组伪列表,具体包括:The method according to claim 3, characterized in that merging the pseudo column information and the target data to generate a tuple pseudo list specifically includes:
    将所述第1个伪列信息至所述第I个伪列信息合并,生成伪列元素;Merge the first pseudo-column information to the I-th pseudo-column information to generate a pseudo-column element;
    将所述第1个目标数据至所述第I个目标数据合并,生成目标数据元素;Merge the first target data to the I-th target data to generate target data elements;
    将所述伪列元素和所述目标数据元素合并,得到所述元组伪列表。The pseudo column element and the target data element are combined to obtain the tuple pseudo list.
  5. 根据权利要求1、2或4所述的方法,其特征在于,所述方法还包括:The method according to claim 1, 2 or 4, characterized in that the method further includes:
    将所述元组伪列表存储在所述算子包括的元组表槽管理元组中。The tuple pseudo-list is stored in the tuple table slot management tuple included in the operator.
  6. 一种伪列实现装置,其特征在于,包括:A pseudo-column implementation device, characterized by including:
    接收模块,用于接收查询语句,所述查询语句用于查询目标数据;所述查询语句包含第一语句和第二语句;A receiving module, configured to receive a query statement, which is used to query target data; the query statement includes a first statement and a second statement;
    计算模块,用于通过算子计算所述第一语句得到伪列信息,并通过所述算子计算所述第二语句得到所述目标数据;所述算子中存储有用于计算第一语句的执行函数和用于执行第二语句的执行函数;A calculation module, used to calculate the first statement through an operator to obtain pseudo-column information, and to calculate the second statement through the operator to obtain the target data; the operator stores the information used to calculate the first statement. The execution function and the execution function used to execute the second statement;
    处理模块,用于将所述伪列信息和所述目标数据合并,生成元组伪列表。A processing module, configured to merge the pseudo column information and the target data to generate a pseudo list of tuples.
  7. 根据权利要求6所述的装置,其特征在于,所述计算模块还用于:The device according to claim 6, characterized in that the computing module is also used to:
    所述查询语句包含第三语句;所述第三语句用于定义所述元组伪列表的投影规范;The query statement includes a third statement; the third statement is used to define the projection specification of the tuple pseudo-list;
    通过所述算子计算所述第三语句,对所述元组伪列表进行投影。The third statement is calculated by the operator, and the pseudo-list of tuples is projected.
  8. 一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的数据库迁移方法。An electronic device, including a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that when the processor executes the computer program, any one of claims 1-5 is implemented The database migration method described.
  9. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述方法的步骤。A computer-readable storage medium on which a computer program is stored, characterized in that when the computer program is executed by a processor, the steps of the method according to any one of claims 1-5 are implemented.
  10. 一种计算机程序产品,其特征在于,所述计算机程序产品在被计算机调用时,使得所述计算机执行如权利要求1-5中任一所述方法的步骤。A computer program product, characterized in that, when called by a computer, the computer program product causes the computer to execute the steps of the method according to any one of claims 1-5.
PCT/CN2022/141533 2022-07-19 2022-12-23 Pseudo column implementation method and apparatus, electronic device, and storage medium WO2024016594A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210849650.8 2022-07-19
CN202210849650.8A CN115292313A (en) 2022-07-19 2022-07-19 Pseudo-column implementation method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2024016594A1 true WO2024016594A1 (en) 2024-01-25

Family

ID=83824089

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/141533 WO2024016594A1 (en) 2022-07-19 2022-12-23 Pseudo column implementation method and apparatus, electronic device, and storage medium

Country Status (2)

Country Link
CN (1) CN115292313A (en)
WO (1) WO2024016594A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292313A (en) * 2022-07-19 2022-11-04 天翼云科技有限公司 Pseudo-column implementation method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036592A1 (en) * 2004-08-11 2006-02-16 Oracle International Corporation System for ontology-based semantic matching in a relational database system
CN112948419A (en) * 2021-03-02 2021-06-11 广州海量数据库技术有限公司 Query statement processing method and device
CN114579561A (en) * 2020-12-02 2022-06-03 北京金山云网络技术有限公司 Data processing method and device, and storage medium
CN114637752A (en) * 2022-03-29 2022-06-17 上海达梦数据库有限公司 Connection query statement processing method, device, equipment and storage medium
CN115292313A (en) * 2022-07-19 2022-11-04 天翼云科技有限公司 Pseudo-column implementation method and device, electronic equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060036592A1 (en) * 2004-08-11 2006-02-16 Oracle International Corporation System for ontology-based semantic matching in a relational database system
CN114579561A (en) * 2020-12-02 2022-06-03 北京金山云网络技术有限公司 Data processing method and device, and storage medium
CN112948419A (en) * 2021-03-02 2021-06-11 广州海量数据库技术有限公司 Query statement processing method and device
CN114637752A (en) * 2022-03-29 2022-06-17 上海达梦数据库有限公司 Connection query statement processing method, device, equipment and storage medium
CN115292313A (en) * 2022-07-19 2022-11-04 天翼云科技有限公司 Pseudo-column implementation method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN115292313A (en) 2022-11-04

Similar Documents

Publication Publication Date Title
US11681695B2 (en) Aggregation in dynamic and distributed computing systems
CN110019350B (en) Data query method and device based on configuration information
CN109491989B (en) Data processing method and device, electronic equipment and storage medium
WO2018233364A1 (en) Index updating method and system, and related device
JP2021170409A (en) Label data processing method, apparatus therefor, device, and recording medium
WO2020238597A1 (en) Hadoop-based data updating method, device, system and medium
CN111949693B (en) Data processing device, data processing method, storage medium and electronic equipment
WO2018196729A1 (en) Query processing method, data source registration method and query engine
CN108363741B (en) Big data unified interface method, device, equipment and storage medium
US11232105B2 (en) Unified metrics computation platform
WO2023056946A1 (en) Data caching method and apparatus, and electronic device
WO2023051125A1 (en) Structured data version management method, apparatus, and related device
WO2018045610A1 (en) Method and device for executing distributed computing task
CN112307062B (en) Database aggregation query method, device and system
CN113642300A (en) Report generation method and device, electronic equipment and computer readable medium
WO2024016594A1 (en) Pseudo column implementation method and apparatus, electronic device, and storage medium
CN111221851A (en) Lucene-based mass data query and storage method and device
US10915541B2 (en) Generic API
US20210224271A1 (en) System and method for performing semantically-informed federated queries across a polystore
CN116860941A (en) Question answering method and device, electronic equipment and storage medium
US11855910B2 (en) Configuration management of cloud resources for multiple providers and frameworks
CN111352963A (en) Data statistical method and device
CN115544081A (en) Data query method and device, electronic equipment and storage medium
WO2022220982A1 (en) Database query execution on multiple databases
CN107066330B (en) Modular data distribution plan generation method and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22951850

Country of ref document: EP

Kind code of ref document: A1