CN116541090A - Data processing method, device, equipment and medium - Google Patents

Data processing method, device, equipment and medium Download PDF

Info

Publication number
CN116541090A
CN116541090A CN202211738680.8A CN202211738680A CN116541090A CN 116541090 A CN116541090 A CN 116541090A CN 202211738680 A CN202211738680 A CN 202211738680A CN 116541090 A CN116541090 A CN 116541090A
Authority
CN
China
Prior art keywords
data
topn
working node
slice
current
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202211738680.8A
Other languages
Chinese (zh)
Inventor
张奇伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211738680.8A priority Critical patent/CN116541090A/en
Publication of CN116541090A publication Critical patent/CN116541090A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The disclosure provides a data processing method, a device, equipment and a medium, relates to the field of artificial intelligence, and in particular relates to cloud computing, big data and public cloud technology, and can be applied to an intelligent cloud scene. The method comprises the following steps: receiving, by the first working node, data information for each of a plurality of first data slices of the first working node from a data source, the data information indicating a storage path of the corresponding first data slice; loading a first data slice of the plurality of first data slices based on data information of the first data slice; releasing the memory occupied by the current first data fragment in response to determining that TopN operation on the current first data fragment has been completed; loading a next first data slice based on data information of the next first data slice in the plurality of first data slices; and repeating the steps until the TopN operation on the plurality of first data fragments is completed, so as to obtain TopN results of the plurality of first data fragments.

Description

Data processing method, device, equipment and medium
Technical Field
The disclosure relates to the field of artificial intelligence, in particular to cloud computing, big data and public cloud technology, which can be applied to intelligent cloud scenes, and particularly relates to a data processing method, a data processing device, electronic equipment, a computer readable storage medium and a computer program product.
Background
Artificial intelligence is the discipline of studying the process of making a computer mimic certain mental processes and intelligent behaviors (e.g., learning, reasoning, thinking, planning, etc.) of a person, both hardware-level and software-level techniques. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing, and the like; the artificial intelligence software technology mainly comprises a computer vision technology, a voice recognition technology, a natural language processing technology, a machine learning/deep learning technology, a big data processing technology, a knowledge graph technology and the like.
The approaches described in this section are not necessarily approaches that have been previously conceived or pursued. Unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, the problems mentioned in this section should not be considered as having been recognized in any prior art unless otherwise indicated.
Disclosure of Invention
The present disclosure provides a data processing method, a data processing apparatus, an electronic device, a computer-readable storage medium, and a computer program product.
According to an aspect of the present disclosure, there is provided a method for receiving, by a first working node, data information for each of a plurality of first data slices of the first working node from a data source, the data information indicating a storage path of the corresponding first data slice; loading a first data slice of the plurality of first data slices based on data information of the first data slice; releasing the memory occupied by the current first data fragment in response to determining that TopN operation on the current first data fragment has been completed; loading a next first data slice based on data information of the next first data slice in the plurality of first data slices; and repeating the steps until the TopN operation on the plurality of first data fragments is completed, so as to obtain TopN results of the plurality of first data fragments.
According to another aspect of the present disclosure, a data processing apparatus is provided. The device comprises: a first receiving unit configured to receive, by the first working node, data information for each of a plurality of first data slices of the first working node from a data source, the data information indicating a storage path of the corresponding first data slice; a first loading unit configured to load a first one of the plurality of first data slices based on data information of the first one; a memory releasing unit configured to release the memory occupied by the current first data fragment in response to determining that the TopN operation on the current first data fragment has been completed; a second loading unit configured to load a next first data patch among the plurality of first data patches based on data information of the next first data patch; and a processing unit configured to repeat the above steps until the TopN operations on the plurality of first data slices have been completed, to obtain TopN results for the plurality of first data slices.
According to another aspect of the present disclosure, there is provided an electronic device including: at least one processor; and a memory communicatively coupled to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method described above.
According to another aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the above-described method.
According to another aspect of the present disclosure, a computer program product is provided, comprising a computer program, wherein the computer program, when executed by a processor, implements the above-described method.
According to one or more embodiments of the present disclosure, by delaying loading of a data slice and timely releasing the memory occupied by the processed data slice, the memory usage of the data processed by the TopN operator can be effectively reduced, and TopN query performance of the whole cluster on target data is improved. The data processing can be started by completing the data loading of one fragment, and the loading of all data to be processed is not required to be completed, so that the data processing performance of the TopN operator is effectively improved.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
Drawings
The accompanying drawings illustrate exemplary embodiments and, together with the description, serve to explain exemplary implementations of the embodiments. The illustrated embodiments are for exemplary purposes only and do not limit the scope of the claims. Throughout the drawings, identical reference numerals designate similar, but not necessarily identical, elements.
FIG. 1 illustrates a schematic diagram of an exemplary system in which various methods described herein may be implemented, in accordance with an embodiment of the present disclosure;
FIG. 2 illustrates a flow chart of a data processing method according to an exemplary embodiment of the present disclosure;
fig. 3 shows a schematic diagram of TopN overall tasks according to an exemplary embodiment of the present disclosure;
FIG. 4 shows a schematic diagram of a TopN operator processing data shards in accordance with an exemplary embodiment of the present disclosure;
FIG. 5 shows a block diagram of a data processing apparatus according to an exemplary embodiment of the present disclosure; and
fig. 6 illustrates a block diagram of an exemplary electronic device that can be used to implement embodiments of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and should be considered as merely exemplary. Accordingly, one of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
In the present disclosure, the use of the terms "first," "second," and the like to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of the elements, unless otherwise indicated, and such terms are merely used to distinguish one element from another. In some examples, a first element and a second element may refer to the same instance of the element, and in some cases, they may also refer to different instances based on the description of the context.
The terminology used in the description of the various illustrated examples in this disclosure is for the purpose of describing particular examples only and is not intended to be limiting. Unless the context clearly indicates otherwise, the elements may be one or more if the number of the elements is not specifically limited. Furthermore, the term "and/or" as used in this disclosure encompasses any and all possible combinations of the listed items.
In the related art, during TopN operation, each working node obtains a data slice group allocated to the node from a data source, and stores the data slice group in a storage device (the storage device is usually a memory to increase the operation speed). For example, there are currently a total of 3 worker nodes, each processing 100 data slices, each data slice size 16MB. Current implementations reserve 1600MB of memory at each working node for part of the TopN operation. Such a solution has the following two disadvantages: 1) A large amount of memory needs to be reserved for all the fragments to be processed, and once the memory is occupied, other operators cannot be used, so that the overall resource utilization rate is not high; 2) All data to be processed are required to be loaded into the memory at one time, and the loaded part cannot be processed by the working node in the loading process, so that time is wasted.
In order to solve the problems, the method and the device can effectively reduce the memory usage of the TopN operator for processing the data and improve the TopN query performance of the whole cluster on the target data by delaying loading the data fragments and timely releasing the memory occupied by the processed data fragments. The data processing can be started by completing the data loading of one fragment, and the loading of all data to be processed is not required to be completed, so that the data processing performance of the TopN operator is effectively improved.
Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.
Fig. 1 illustrates a schematic diagram of an exemplary system 100 in which various methods and apparatus described herein may be implemented, in accordance with an embodiment of the present disclosure. Referring to fig. 1, the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. Client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.
In embodiments of the present disclosure, the server 120 may run one or more services or software applications that enable execution of the data processing methods.
In some embodiments, server 120 may also provide other services or software applications that may include non-virtual environments and virtual environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and/or 106 under a software as a service (SaaS) network.
In the configuration shown in fig. 1, server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or a combination thereof that are executable by one or more processors. A user operating client devices 101, 102, 103, 104, 105, and/or 106 may in turn utilize one or more client applications to interact with server 120 to utilize the services provided by these components. It should be appreciated that a variety of different system configurations are possible, which may differ from system 100. Accordingly, FIG. 1 is one example of a system for implementing the various methods described herein and is not intended to be limiting.
The user may use client devices 101, 102, 103, 104, 105, and/or 106 for human-machine interaction. The client device may provide an interface that enables a user of the client device to interact with the client device, e.g., a camera in the client device may capture text images in real-time. The client device may also output information to the user via the interface, e.g., the client may output text image processing results to the user. Although fig. 1 depicts only six client devices, those skilled in the art will appreciate that the present disclosure may support any number of client devices.
Client devices 101, 102, 103, 104, 105, and/or 106 may include various types of computer devices, such as portable handheld devices, general purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, gaming systems, thin clients, various messaging devices, sensors or other sensing devices, and the like. These computer devices may run various types and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, linux, or Linux-like operating systems (e.g., GOOGLE Chrome OS); or include various mobile operating systems such as MICROSOFT Windows Mobile OS, iOS, windows Phone, android. Portable handheld devices may include cellular telephones, smart phones, tablet computers, personal Digital Assistants (PDAs), and the like. Wearable devices may include head mounted displays (such as smart glasses) and other devices. The gaming system may include various handheld gaming devices, internet-enabled gaming devices, and the like. The client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (e.g., email applications), short Message Service (SMS) applications, and may use a variety of communication protocols.
Network 110 may be any type of network known to those skilled in the art that may support data communications using any of a number of available protocols, including but not limited to TCP/IP, SNA, IPX, etc. For example only, the one or more networks 110 may be a Local Area Network (LAN), an ethernet-based network, a token ring, a Wide Area Network (WAN), the internet, a virtual network, a Virtual Private Network (VPN), an intranet, an extranet, a Public Switched Telephone Network (PSTN), an infrared network, a wireless network (e.g., bluetooth, WIFI), and/or any combination of these and/or other networks.
The server 120 may include one or more general purpose computers, special purpose server computers (e.g., PC (personal computer) servers, UNIX servers, mid-end servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination. The server 120 may include one or more virtual machines running a virtual operating system, or other computing architecture that involves virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain virtual storage devices of the server). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.
The computing units in server 120 may run one or more operating systems including any of the operating systems described above as well as any commercially available server operating systems. Server 120 may also run any of a variety of additional server applications and/or middle tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.
In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and/or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.
In some implementations, the server 120 may be a server of a distributed system or a server that incorporates a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. The cloud server is a host product in a cloud computing service system, so as to solve the defects of large management difficulty and weak service expansibility in the traditional physical host and virtual private server (VPS, virtual Private Server) service.
The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of databases 130 may be used to store information such as audio files and video files. Database 130 may reside in various locations. For example, the data store used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. Database 130 may be of different types. In some embodiments, the database used by server 120 may be a database, such as a relational database. One or more of these databases may store, update, and retrieve the databases and data from the databases in response to the commands.
In some embodiments, one or more of databases 130 may also be used by applications to store application data. The databases used by the application may be different types of databases, such as key value stores, object stores, or conventional stores supported by the file system.
The system 100 of fig. 1 may be configured and operated in various ways to enable application of the various methods and apparatus described in accordance with the present disclosure.
According to an aspect of the present disclosure, a data processing method is provided. As shown in fig. 2, the data processing method includes: step S201, the first working node receives data information of each of a plurality of first data fragments for the first working node from a data source, wherein the data information indicates a storage path of the corresponding first data fragment; step S202, loading a first data fragment based on the data information of the first data fragment in the plurality of first data fragments; step S203, in response to determining that the TopN operation on the current first data fragment is completed, releasing the memory occupied by the current first data fragment; step S204, loading the next first data fragment based on the data information of the next first data fragment in the plurality of first data fragments; and step S205, repeating the steps until the TopN operation on the plurality of first data fragments is completed, so as to obtain TopN results of the plurality of first data fragments. It is understood that the above steps in step S205 may be, for example, steps S203 to S204.
Therefore, by delaying loading the data fragments and timely releasing the memory occupied by the processed data fragments, the memory usage of the data processed by the TopN operator can be effectively reduced, and the TopN query performance of the whole cluster on target data is improved. The data processing can be started by completing the data loading of one fragment, and the loading of all data to be processed is not required to be completed, so that the data processing performance of the TopN operator is effectively improved.
The method disclosed by the invention can be applied to working nodes in a cluster for processing TopN tasks under a distributed MPP database. According to some embodiments, the computational model under the distributed MPP database including TopN operations may all employ volcanic models. In the volcanic model, all operators are seen as one iterator, which provides a set of simple interfaces: the open () -next () -close (), the query plan tree consists of a plurality of relational operators, each time the next () is called, the operator returns a Row (Row), the next () of each operator has its own flow control logic, and the data is passively pulled through the nested call of the next () from the top down of the operator.
According to some embodiments, in the present disclosure, topN of the distributed MPP database may be taken as follows: as shown in fig. 3, a plurality of working nodes (first node and second node in the present disclosure) are determined in the cluster, each working node performs TopN operation (also referred to as "partial TopN operation") on a set of slices read by the working nodes locally, and one working node (third node in the present disclosure) is designated to perform final TopN operation. The "final TopN operation" may use a polling method to obtain the result of the TopN operation from each working node, and perform the TopN operation on the result of all the partial TopN operations locally on the working node performing the final TopN operation. And returning a final result after the tasks of all the working nodes are completed.
According to some embodiments, in a big data scenario, the MPP database needs to perform a slicing process on the data when processing the data, and each working node is responsible for a set of data slices. A data slice contains a set of data acquired from a data source. The database implementation of each MPP ensures that all data fragments can form target data to be processed from a data source without omission and repetition in one processing.
According to some embodiments, a data processing method may include: an execution plan for TopN operations on the plurality of first data slices is received by the first work node. The work nodes and the work tasks of the operators running thereon may be determined and executed according to the received execution plan. In the related art, an execution plan instructs to scan all the data slices allocated to the working node at the bottom layer, so that the data slices are saved to a storage device (e.g., a memory). In the solution proposed in the present disclosure, the execution plan may instruct to skip the data scanning operation of the plurality of first data slices by the bottom layer, and instruct to receive the data information of each of the plurality of first data slices from the data source. In this way, the working node can be prevented from loading all the data fragments into the memory, and the working node can acquire the data fragments when required.
After the first working node receives the data information of all the first data slices, it may begin loading the first data slices one by one and processing (i.e., topN operation). In some embodiments, as shown in fig. 4, the processing of the plurality of first data slices may include, for example, the steps of:
1) After any first data slice has not been processed or the last first data slice has been processed, next split () is called to acquire the next data slice.
2) Releasing the memory of the previous first data fragment;
3) Loading the next first data slice based on the acquired data information (e.g., the storage path of the next first data slice) of the first data slice;
4) Processing of the first data slice is started.
The above steps may be repeated until all the first data slices have been processed.
According to some embodiments, a data processing method may include: the first TopN results of the plurality of first data slices are sent to a third working node. The third working node (working node performing the final Top operation) may perform the final TopN operation on the first TopN result and the at least one second TopN result received from the at least one second working node to obtain a TopN result on the target data. The second TopN result may be obtained by the corresponding second working node performing TopN operations on the plurality of second data slices for the second working node. The plurality of first data slices and the plurality of second data slices for each of the second working nodes of the at least one working node may be obtained by slicing the target data.
According to some embodiments, the TopN operation on the current first data slice may include updating a previous TopN result obtained after the TopN operation is performed on a previous first data slice based on the data content of the current first data slice, such that the current TopN result obtained after the TopN operation is performed on the current first data slice includes N data of a header in a sequence consisting of the data content included in the processed at least one first data slice.
According to another aspect of the present disclosure, a data processing apparatus is provided. As shown in fig. 5, the apparatus 500 includes: a first receiving unit 510 configured to receive, by the first working node, data information for each of a plurality of first data slices of the first working node from a data source, the data information indicating a storage path of the corresponding first data slice; a first loading unit 520 configured to load a first one of the plurality of first data slices based on data information of the first one; a memory releasing unit 530 configured to release the memory occupied by the current first data slice in response to determining that the TopN operation on the current first data slice has been completed; a second loading unit 540 configured to load a next first data slice of the plurality of first data slices based on data information of the next first data slice; and a processing unit 550 configured to repeat the above steps until the TopN operations on the plurality of first data slices have been completed, to obtain TopN results of the plurality of first data slices. It will be appreciated that the operations of the units 510-550 in the apparatus 500 are similar to those of the steps S201-S205, and will not be described in detail herein.
According to some embodiments, the apparatus 500 may further comprise (not shown in the figures): and a transmitting unit configured to transmit the first TopN results of the plurality of first data fragments to a third working node, wherein the third working node performs a TopN operation on the first TopN result and at least one second TopN result received from at least one second working node to obtain a TopN result on the target data. The second TopN result may be obtained by the corresponding second working node performing TopN operations on the plurality of second data slices for the second working node. The plurality of first data slices and the plurality of second data slices for each of the second working nodes of the at least one working node may be obtained by slicing the target data.
According to some embodiments, the TopN operation on the current first data slice may include updating a previous TopN result obtained after the TopN operation is performed on a previous first data slice based on the data content of the current first data slice, such that the current TopN result obtained after the TopN operation is performed on the current first data slice includes N data of a header in a sequence consisting of the data content included in the processed at least one first data slice.
According to some embodiments, the apparatus 500 may further comprise (not shown in the figures): and a second receiving unit configured to receive, by the first working node, an execution plan for TopN operation on the plurality of first data slices. The execution plan may indicate to skip data scanning operations of the plurality of first data slices by the base layer and to receive data information for each of the plurality of first data slices from the data source.
According to some embodiments, topN operations may be based on a volcanic model.
In the technical scheme of the disclosure, the related processes of collecting, storing, using, processing, transmitting, providing, disclosing and the like of the personal information of the user accord with the regulations of related laws and regulations, and the public order colloquial is not violated.
According to embodiments of the present disclosure, there is also provided an electronic device, a readable storage medium and a computer program product.
Referring to fig. 6, a block diagram of an electronic device 600 that may be a server or a client of the present disclosure, which is an example of a hardware device that may be applied to aspects of the present disclosure, will now be described. Electronic devices are intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the disclosure described and/or claimed herein.
As shown in fig. 6, the apparatus 600 includes a computing unit 601 that can perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM) 602 or a computer program loaded from a storage unit 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data required for the operation of the device 600 may also be stored. The computing unit 601, ROM 602, and RAM603 are connected to each other by a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Various components in the device 600 are connected to the I/O interface 605, including: an input unit 606, an output unit 607, a storage unit 608, and a communication unit 609. The input unit 606 may be any type of device capable of inputting information to the device 600, the input unit 606 may receive input numeric or character information and generate key signal inputs related to user settings and/or function control of the electronic device, and may include, but is not limited to, a mouse, a keyboard, a touch screen, a trackpad, a trackball, a joystick, a microphone, and/or a remote control. The output unit 607 may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, video/audio output terminals, vibrators, and/or printers. Storage unit 608 may include, but is not limited to, magnetic disks, optical disks. The communication unit 609 allows the device 600 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunications networks, and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication transceiver, and/or a chipset, such as bluetooth TM Device, 802.11 device, wiFi device, wiMax deviceA cellular communication device, and/or the like.
The computing unit 601 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of computing unit 601 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning network algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the respective methods and processes described above, such as a data processing method. For example, in some embodiments, the data processing method may be implemented as a computer software program tangibly embodied on a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and/or installed onto the device 600 via the ROM 602 and/or the communication unit 609. When a computer program is loaded into RAM603 and executed by computing unit 601, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the data processing method by any other suitable means (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
Program code for carrying out methods of the present disclosure may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus such that the program code, when executed by the processor or controller, causes the functions/operations specified in the flowchart and/or block diagram to be implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such background, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), wide Area Networks (WANs), and the internet.
The computer system may include a client and a server. The client and server are typically remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service ("Virtual Private Server" or simply "VPS") are overcome. The server may also be a server of a distributed system or a server that incorporates a blockchain.
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps recited in the present disclosure may be performed in parallel, sequentially or in a different order, provided that the desired results of the disclosed aspects are achieved, and are not limited herein.
Although embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it is to be understood that the foregoing methods, systems, and apparatus are merely exemplary embodiments or examples, and that the scope of the present invention is not limited by these embodiments or examples but only by the claims following the grant and their equivalents. Various elements of the embodiments or examples may be omitted or replaced with equivalent elements thereof. Furthermore, the steps may be performed in a different order than described in the present disclosure. Further, various elements of the embodiments or examples may be combined in various ways. It is important that as technology evolves, many of the elements described herein may be replaced by equivalent elements that appear after the disclosure.

Claims (13)

1. A data processing method, comprising:
receiving, by a first working node, data information for each of a plurality of first data slices of the first working node from a data source, the data information indicating a storage path of the corresponding first data slice;
loading a first one of the plurality of first data slices based on data information of the first one;
releasing the memory occupied by the current first data fragment in response to determining that TopN operation on the current first data fragment is completed;
loading a next first data slice of the plurality of first data slices based on data information of the next first data slice; and
repeating the steps until the TopN operation on the plurality of first data slices is completed, so as to obtain TopN results of the plurality of first data slices.
2. The method of claim 1, further comprising:
and sending the first TopN results of the first data fragments to a third working node, wherein the third working node performs a TopN operation on the first TopN results and at least one second TopN result received from at least one second working node to obtain TopN results on target data, wherein the second TopN results are obtained by the corresponding second working node performing the TopN operation on the second data fragments for the second working node, and the first data fragments and the second data fragments for each of the at least one working node are obtained by slicing the target data.
3. The method of claim 2, wherein the TopN operation on the current first data slice comprises updating a previous TopN result obtained after the TopN operation is performed on a previous first data slice based on the data content of the current first data slice, such that the current TopN result obtained after the TopN operation is performed on the current first data slice comprises N data of a header in a sequence of data content comprised by the processed at least one first data slice.
4. The method of claim 1, further comprising:
and receiving an execution plan for performing TopN operation on the plurality of first data fragments by the first working node, wherein the execution plan indicates to skip data scanning work of the plurality of first data fragments by the bottom layer and indicates to receive data information of each of the plurality of first data fragments from the data source.
5. The method of claim 1, wherein the TopN operation is based on a volcanic model.
6. A data processing apparatus comprising:
a first receiving unit configured to receive, by a first working node, data information for each of a plurality of first data slices of the first working node from a data source, the data information indicating a storage path of the corresponding first data slice;
a first loading unit configured to load a first one of the plurality of first data slices based on data information of the first one;
a memory releasing unit configured to release a memory occupied by a current first data fragment in response to determining that TopN operation on the current first data fragment has been completed;
a second loading unit configured to load a next first data patch among the plurality of first data patches based on data information of the next first data patch; and
and the processing unit is configured to repeat the steps until the TopN operation of the plurality of first data fragments is completed, so as to obtain TopN results of the plurality of first data fragments.
7. The apparatus of claim 6, further comprising:
and a transmitting unit configured to transmit a first TopN result of the plurality of first data slices to a third working node, wherein the third working node performs a TopN operation on the first TopN result and at least one second TopN result received from at least one second working node to obtain a TopN result on target data, wherein the second TopN result is obtained by the corresponding second working node performing a TopN operation on a plurality of second data slices for the second working node, and the plurality of first data slices and the plurality of second data slices for each of the at least one working node are obtained by slicing the target data.
8. The apparatus of claim 7, wherein the TopN operation on the current first data slice comprises updating a previous TopN result obtained after the TopN operation is performed on a previous first data slice based on the data content of the current first data slice such that the current TopN result obtained after the TopN operation is performed on the current first data slice comprises N data of a header in a sequence of data content comprised by the processed at least one first data slice.
9. The apparatus of claim 6, further comprising:
and the second receiving unit is configured to receive an execution plan for performing TopN operation on the plurality of first data fragments by the first working node, wherein the execution plan instructs to skip data scanning work of the plurality of first data fragments by the bottom layer and instructs to receive data information of each of the plurality of first data fragments from the data source.
10. The apparatus of claim 6, wherein the TopN operation is based on a volcanic model.
11. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the method comprises the steps of
The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.
12. A non-transitory computer readable storage medium storing computer instructions for causing the computer to perform the method of any one of claims 1-5.
13. A computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the method of any of claims 1-5.
CN202211738680.8A 2022-12-30 2022-12-30 Data processing method, device, equipment and medium Pending CN116541090A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211738680.8A CN116541090A (en) 2022-12-30 2022-12-30 Data processing method, device, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211738680.8A CN116541090A (en) 2022-12-30 2022-12-30 Data processing method, device, equipment and medium

Publications (1)

Publication Number Publication Date
CN116541090A true CN116541090A (en) 2023-08-04

Family

ID=87454804

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211738680.8A Pending CN116541090A (en) 2022-12-30 2022-12-30 Data processing method, device, equipment and medium

Country Status (1)

Country Link
CN (1) CN116541090A (en)

Similar Documents

Publication Publication Date Title
CN112925651B (en) Application resource deployment method, device, electronic equipment and medium
WO2023231350A1 (en) Task processing method implemented by using integer programming solver, device, and medium
CN113485820A (en) Task scheduling system and implementation method, device and medium thereof
CN116306396A (en) Chip verification method and device, equipment and medium
CN114861910A (en) Neural network model compression method, device, equipment and medium
CN113656423A (en) Method and device for updating data, electronic equipment and storage medium
CN112948018B (en) Dynamic library loading method, device, equipment and medium for applet
CN114510308B (en) Method, device, equipment and medium for storing application page by mobile terminal
CN114881170B (en) Training method for neural network of dialogue task and dialogue task processing method
CN113641929B (en) Page rendering method, device, electronic equipment and computer readable storage medium
CN113126928B (en) File moving method and device, electronic equipment and medium
CN114359017B (en) Multimedia resource processing method and device and electronic equipment
CN115601555A (en) Image processing method and apparatus, device and medium
CN115391041A (en) Task processing method and device, electronic equipment and storage medium
CN114327718A (en) Interface display method and device, equipment and medium
CN114676062A (en) Method and device for testing difference data of interface, electronic equipment and medium
CN116541090A (en) Data processing method, device, equipment and medium
CN114095564A (en) Data processing method and device, equipment and medium
CN113254469B (en) Data screening method, device, equipment and medium
CN115334159B (en) Method, apparatus, device and medium for processing stream data
CN113568797B (en) Testing method and device of intelligent interaction system, electronic equipment and medium
CN116129245A (en) Image deconvolution method and device, equipment and medium
CN115454647A (en) Data processing method and device, equipment and medium
CN117193647A (en) Data processing task sending method, data processing device and equipment
CN113961633A (en) Data processing method, system, electronic device and computer storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination