WO2019227715A1 - 数据处理方法、装置及计算机可读存储介质 - Google Patents
数据处理方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- WO2019227715A1 WO2019227715A1 PCT/CN2018/102220 CN2018102220W WO2019227715A1 WO 2019227715 A1 WO2019227715 A1 WO 2019227715A1 CN 2018102220 W CN2018102220 W CN 2018102220W WO 2019227715 A1 WO2019227715 A1 WO 2019227715A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- application
- storage path
- data processing
- files
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Definitions
- the present application relates to the field of data processing technologies, and in particular, to a data processing method, device, and computer-readable storage medium.
- the traditional way to run multiple jobs on a server is to start multiple virtual machines on the server and then run different jobs on different virtual machines.
- Traditional virtualization technologies are mostly based on the VMware virtual machine, and the running of the VMware virtual machine must run the entire operating system, which requires a lot of system resources, because the operating system itself takes up a lot of resources, causing these virtual machines to run very Consumption of resources leads to inadequate utilization of system resources, especially for multi-core computing resources, which are more likely to cause waste of resources.
- the CPU, memory, network resources, and disk resources are all limited. When the virtual machine started on the server consumes too much resources, the processing speed of business data is very slow.
- the present application provides a data processing method, device, and computer-readable storage medium, the main purpose of which is to realize the full utilization of system resources and improve the processing speed of business data.
- the present application further provides a data processing method, which includes:
- A1 When receiving a business data processing request, obtain a raw data set to be processed according to the business data processing request, and store the original data set in a first preset storage path where a preset configuration file is located;
- A2 Read a pre-built docker image from the second preset storage path, and generate multiple application containers according to the docker image;
- A3. Read a configuration file and an original data set from the first preset storage path, divide the original data set into multiple data sub-files based on the multiple application containers and the configuration file, and The container processes the plurality of data sub-files in a parallel processing manner, wherein system resources are allocated to a plurality of application containers for processing data in parallel according to a resource allocation rule;
- A4. Acquire multiple data sub-files that have been processed, and merge the multiple data sub-files that have been processed into a complete data file;
- A5. Send the data file to a user terminal corresponding to the service data processing request.
- step A1 the method further includes steps:
- a configuration file is generated according to the acquired data division number N and a third preset storage path, and the configuration file is stored in the first preset storage path.
- the present application further provides a data processing device, the device includes a memory and a processor, and the memory stores a data processing program that can be run on the processor, and the data processing program is When the processor executes, the following steps are implemented:
- the present application also provides a computer-readable storage medium, where the computer-readable storage medium stores a data processing program, and the data processing program can be executed by one or more processors to implement Steps of the data processing method as described above.
- the data processing method, device, and computer-readable storage medium provided by this application when receiving a business data processing request, obtain the original data set to be processed according to the request, and store it to the first preset location where the preset configuration file is located.
- the storage path read a pre-built docker image from a second preset storage path, and generate multiple application containers based on the docker image, and read a configuration file and original data set from the first preset storage path.
- the original data set is divided into multiple data sub-files according to multiple application containers and configuration files, and multiple data sub-files are processed in a parallel processing mode.
- the system resources are allocated by the server to multiple containers that are processed in parallel.
- the solution of this application is based on the docker image to establish a docker container to perform data processing in parallel.
- the docker container can save the waste of resources brought by starting the operating system, and can be completed efficiently by establishing multiple docker containers to perform data processing in parallel.
- the parallel processing of large data sets greatly improves the processing speed of business data.
- FIG. 1 is a schematic flowchart of a data processing method according to an embodiment of the present application
- FIG. 2 is a schematic diagram of an internal structure of a data processing device according to an embodiment of the present application.
- FIG. 3 is a schematic block diagram of a data processing program in a data processing apparatus according to an embodiment of the present application.
- FIG. 1 is a schematic flowchart of a data processing method according to an embodiment of the present application. The method may be performed by a device, which may be implemented by software and / or hardware.
- the data processing method includes:
- Step S10 When receiving a business data processing request, obtain a raw data set to be processed according to the business data processing request, and store the raw data set in a first preset storage path where a preset configuration file is located .
- a data processing device serves as a server to establish a communication connection with a user terminal, and receives a service data processing request sent by the user terminal, and processes the service data according to the request .
- the data processing device may have a multi-core CPU (Central Processing Unit).
- a docker (application container engine) image is configured on the data processing device. Specifically, a docker image is constructed based on the dockerfile rule.
- the docker The image contains a data cutting program, a data parallel processing program, and a data merging program. The above programs are used to be called by a docker application container established based on the docker image to process business data.
- the docker image is also stored in the first preset path.
- the user needs to set the configuration information in advance.
- the user can send the configuration information to the data processing device through the user terminal.
- the configuration information mainly includes the number of data divisions N and a third preset storage for storing data sub-files.
- Path when the data processing device receives the configuration information, it generates a configuration file according to the number of data divisions N and a third preset storage path, and stores the configuration file in the first preset storage path.
- the number of data divisions N determines the number of docker containers used to process data in parallel, and then determines the resource allocation of the data processing device. Therefore, the user can determine the size of the multi-core CPU of the data processing device and the data processing needs. CPU conditions to set the number of data divisions N.
- the first preset storage path is also used to store the original data set to be processed sent by the user terminal.
- the data processing device receives the service data processing request sent by the user terminal, it acquires the original data set to be processed and stores it into the first preset storage path where the preset configuration file is located.
- Step S20 Read a pre-built docker image from the second preset storage path, and generate multiple application containers according to the docker image.
- Step S30 Read the configuration file and the original data set from the first preset storage path, divide the original data set into multiple data sub-files based on the multiple application containers and the configuration files, and follow The multiple data sub-files are processed in a multi-container parallel processing manner, wherein system resources are allocated to multiple application containers for processing data in parallel according to resource allocation rules.
- Step S40 Acquire multiple data sub-files that have been processed, and merge the multiple data sub-files that have been processed into a complete data file.
- step S30 may include the following detailed steps:
- the data processing device reads the configuration file and the original data set from the first preset storage path, and obtains the number of data divisions N from the configuration file; running the first application container, and the first application container calls
- the data segmentation program divides the original data set into N data sub-files and stores them into the third preset storage path; for example, divides the original data set into several parts evenly according to business requirements, such as the original data
- the set K is divided into a data file K1, a data file K2, a data file K3, and so on.
- the data processing device runs a third application container, and the third application container invokes a data merging program to merge the processed plurality of data sub-files into complete data file.
- Step S50 Send the data file to a user terminal corresponding to the service data processing request.
- the docker container is used to create a docker container to perform data processing in parallel.
- the docker container can save the waste of resources caused by starting the operating system, and provide process-level consumption with similar isolation capabilities as virtual machines. Based on this framework, users You only need to set up a configuration file, generate related image files, and set up multiple docker containers to perform data processing in parallel to efficiently complete parallel processing of large data sets in a single-machine multi-core environment.
- a raw data set to be processed is obtained according to the request, and it is stored in a first preset storage path where a preset configuration file is located.
- Read the pre-built docker image in the second preset storage path and generate multiple application containers based on the docker image, read the configuration file and the original data set from the first preset storage path, and according to multiple application containers and configurations
- the file divides the original data set into multiple data sub-files, and processes multiple data sub-files in a manner of parallel processing of multiple containers.
- System resources are allocated by the server to multiple containers processed in parallel according to the resources, and multiple processed data are obtained.
- Sub-files Combine the multiple data sub-files that have been processed into a complete data file and send it to the user terminal corresponding to the business data processing request.
- the solution of this application is based on the docker image to establish a docker container to perform data processing in parallel.
- the docker container can save the waste of resources brought by starting the operating system, and can be completed efficiently by establishing multiple docker containers to perform data processing in parallel.
- the parallel processing of large data sets greatly improves the processing speed of business data.
- the plurality of application containers further include a fourth application container
- the docker image further includes a data verification program.
- the method further includes:
- step S40 is performed
- an alert prompt message is sent to the user terminal.
- the data processing result may be checked before sending it to the user terminal corresponding to the service data processing request.
- a fourth application container is generated based on the docker image, and the application container invokes a data verification program to obtain the first data amount parameter and the preset data amount ratio of the original data set from the configuration file, and determines the merged data according to the data merge result.
- the second data amount parameter determine the actual data amount ratio according to the first data amount parameter and the second data amount parameter, and determine whether the actual data amount ratio is equal to the actual preset number ratio. If they are not equal, an alarm is output. Prompt message to inform the user that the current data processing result is wrong.
- the data operation corresponding to the business data processing request is data merging.
- the first data amount parameter is 900.
- the preset The data volume ratio is 3: 1, then the data file after the merge process should contain 300 pieces of data, obtain the second data volume parameter in the actual merge process data file, and judge the first data volume parameter and the second data Whether the ratio of the quantity parameter is 3: 1, if yes, judge the data processing result is correct from the data quantity, and continue to execute step S40; otherwise, judge the data processing result from the data quantity is wrong, and output a warning message.
- the present application also provides a data processing device.
- a data processing device Referring to FIG. 2, a schematic diagram of an internal structure of a data processing apparatus according to an embodiment of the present application is shown.
- the data processing device 1 may be a PC (Personal Computer) or a terminal device such as a smart phone, a tablet computer, or a portable computer.
- the data processing apparatus 1 includes at least a memory 11, a processor 12, a network interface 13, and a communication bus 14.
- the memory 11 includes at least one type of readable storage medium.
- the readable storage medium includes a flash memory, a hard disk, a multimedia card, a card-type memory (for example, SD or DX memory, etc.), a magnetic memory, a magnetic disk, an optical disk, and the like.
- the memory 11 may be an internal storage unit of the data processing apparatus 1 in some embodiments, such as a hard disk of the data processing apparatus 1.
- the memory 11 may also be an external storage device of the data processing device 1 in other embodiments, for example, a plug-in hard disk, a smart memory card (SMC), and a secure digital (Secure Digital, SD) card, Flash card, etc.
- the memory 11 may include both an internal storage unit of the data processing apparatus 1 and an external storage device.
- the memory 11 can be used not only to store application software installed in the data processing device 1 and various types of data, such as codes of the data processing program 01, but also to temporarily store data that has been output or is to be output.
- the processor 12 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chip in some embodiments, and is configured to run program codes or processes stored in the memory 11 Data, for example, the data processing program 01 is executed.
- CPU central processing unit
- controller a controller
- microcontroller a microprocessor
- microprocessor or other data processing chip in some embodiments, and is configured to run program codes or processes stored in the memory 11 Data, for example, the data processing program 01 is executed.
- the network interface 13 may optionally include a standard wired interface, a wireless interface (such as a WI-FI interface), and is generally used to establish a communication connection between the device 1 and other electronic devices.
- a standard wired interface such as a WI-FI interface
- the communication bus 14 is used to implement connection communication between these components.
- the device 1 may further include a user interface.
- the user interface may include a display, an input unit such as a keyboard, and the optional user interface may further include a standard wired interface and a wireless interface.
- the display may be an LED display, a liquid crystal display, a touch-type liquid crystal display, an OLED (Organic Light-Emitting Diode, organic light emitting diode) touch device, or the like.
- the display may also be appropriately referred to as a display screen or a display unit for displaying information processed in the data processing device 1 and for displaying a visual user interface.
- FIG. 2 only shows the data processing device 1 having the components 11-14 and the data processing program 01.
- FIG. 1 does not constitute a limitation on the data processing device 1 and may include There are fewer or more parts than shown, or some parts are combined, or different parts are arranged.
- the data processing program 01 is stored in the memory 11; when the processor 12 executes the data processing program 01 stored in the memory 11, the following steps are implemented:
- Step B1 When a business data processing request is received, obtain a raw data set to be processed according to the business data processing request, and store the original data set to a first preset storage path where a preset configuration file is located. in.
- the data processing device serves as a server to establish a communication connection with the user terminal, and receives a service data processing request sent by the user terminal, and processes the service data according to the request.
- the data processing device may have a multi-core CPU (Central Processing Unit).
- a docker image is configured on the data processing device. Specifically, a docker image is constructed based on the dockerfile rule, and the docker image contains data A cutting program, a data processing program, and a data merging program. The above programs are used to be called by a docker application container established based on a docker image to process business data. The docker image is also stored in the first preset path.
- the user needs to set the configuration information in advance.
- the user can send the configuration information to the data processing device through the user terminal.
- the configuration information mainly includes the number of data divisions N and a third preset storage for storing data sub-files.
- Path when the data processing device receives the configuration information, it generates a configuration file according to the number of data divisions N and a third preset storage path, and stores the configuration file in the first preset storage path.
- the number of data divisions N determines the number of docker containers used to process data in parallel, and then determines the resource allocation of the data processing device. Therefore, the user can determine the size of the multi-core CPU of the data processing device and the data processing needs. CPU conditions to set the number of data divisions N.
- the first preset storage path is also used to store the original data set to be processed sent by the user terminal.
- the data processing device receives the service data processing request sent by the user terminal, it acquires the original data set to be processed and stores it into the first preset storage path where the preset configuration file is located.
- Step B2 Read a pre-built docker image from the second preset storage path, and generate multiple application containers according to the docker image.
- Step B3 Read the configuration file and the original data set from the first preset storage path, divide the original data set into multiple data sub-files based on the multiple application containers and the configuration file, and follow The multiple data sub-files are processed in a multi-container parallel processing manner, wherein system resources are allocated to multiple application containers for processing data in parallel according to resource allocation rules.
- Step B4 Acquire multiple data sub-files that have been processed, and merge the multiple data sub-files that have been processed into a complete data file.
- step B3 may include the following detailed steps:
- the data processing device reads the configuration file and the original data set from the first preset storage path, and obtains the number of data divisions N from the configuration file; running the first application container, and the first application container calls
- the data segmentation program divides the original data set into N data sub-files and stores them into the third preset storage path; for example, divides the original data set into several parts evenly according to business requirements, such as the original data
- the set K is divided into a data file K1, a data file K2, a data file K3, and so on.
- the data processing device runs a third application container, and the third application container invokes a data merging program to merge the processed plurality of data sub-files into complete data file.
- Step B5 Send the data file to a user terminal corresponding to the service data processing request.
- the docker container is used to create a docker container to perform data processing in parallel.
- the docker container can save the waste of resources caused by starting the operating system, and provide process-level consumption with similar isolation capabilities as virtual machines. Based on this framework, users You only need to set up a configuration file, generate related image files, and set up multiple docker containers to perform data processing in parallel to efficiently complete parallel processing of large data sets in a single-machine multi-core environment.
- the data processing device When the data processing device provided in this embodiment receives a service data processing request, it obtains a raw data set to be processed according to the request, and stores it into a first preset storage path where a preset configuration file is located, starting from the first Read the pre-built docker image in the second preset storage path, and generate multiple application containers based on the docker image, read the configuration file and the original data set from the first preset storage path, and according to multiple application containers and configurations
- the file divides the original data set into multiple data sub-files, and processes multiple data sub-files in a manner of parallel processing of multiple containers.
- System resources are allocated by the server to multiple containers processed in parallel according to the resources, and multiple processed data are obtained.
- Sub-files Combine the multiple data sub-files that have been processed into a complete data file and send it to the user terminal corresponding to the business data processing request.
- the solution of this application is based on the docker image to establish a docker container to perform data processing in parallel.
- the docker container can save the waste of resources brought by starting the operating system, and can be completed efficiently by establishing multiple docker containers to perform data processing in parallel.
- the parallel processing of large data sets greatly improves the processing speed of business data.
- the plurality of application containers further include a fourth application container, and the docker image further includes a data verification program. Between steps B4 and B5, the method further includes:
- step B4 is performed
- an alert prompt message is sent to the user terminal.
- the data processing result may be checked before sending it to the user terminal corresponding to the service data processing request.
- a fourth application container is generated based on the docker image, and the application container invokes a data verification program to obtain the first data amount parameter and the preset data amount ratio of the original data set from the configuration file, and determines the merged data according to the data merge result.
- the second data amount parameter determine the actual data amount ratio according to the first data amount parameter and the second data amount parameter, and determine whether the actual data amount ratio is equal to the actual preset number ratio. If they are not equal, an alarm is output. Prompt message to inform the user that the current data processing result is wrong.
- the data operation corresponding to the business data processing request is data merging.
- the first data amount parameter is 900.
- the preset The data volume ratio is 3: 1, then the data file after the merge process should contain 300 pieces of data, obtain the second data volume parameter in the actual merge process data file, and judge the first data volume parameter and the second data Whether the ratio of the quantity parameter is 3: 1, if yes, judge the data processing result is correct from the data quantity, and continue to execute step B4; otherwise, judge the data processing result from the data quantity is wrong, and output a warning message.
- the data processing program may also be divided into one or more modules, and the one or more modules are stored in the memory 11 and implemented by one or more processors (in this embodiment, The processor 12) executes to complete the present application.
- the module referred to in the present application refers to a series of computer program instruction segments capable of performing specific functions and is used to describe the execution process of the data processing program in the data processing device.
- FIG. 3 it is a schematic diagram of a program module of a data processing program in an embodiment of a data processing apparatus of this application.
- the data processing program may be divided into a data acquisition module 10, a container generation module 20, and data.
- the processing module 30, the data combining module 40, and the data sending module 50 for example:
- the data acquisition module 10 is configured to: when a business data processing request is received, obtain a raw data set to be processed according to the business data processing request, and store the raw data set to a first preset location where a preset configuration file is located. Set the storage path;
- the container generation module 20 is configured to: read a pre-built docker image from a second preset storage path, and generate multiple application containers according to the docker image;
- the data processing module 30 is configured to read a configuration file and an original data set from the first preset storage path, and divide the original data set into a plurality of data objects based on the multiple application containers and the configuration file. Files, and processing the multiple data sub-files in a multi-container parallel processing manner, wherein system resources are allocated to multiple application containers for processing data in parallel according to resource allocation rules;
- the data merging module 40 is configured to: obtain a plurality of data sub-files that have been processed, and merge the plurality of data sub-files that have been processed into a complete data file;
- the data sending module 50 is configured to send the data file to a user terminal corresponding to the service data processing request.
- an embodiment of the present application further provides a computer-readable storage medium.
- the computer-readable storage medium stores a data processing program, and the data processing program can be executed by one or more processors to implement the following operations:
- A1 When receiving a business data processing request, obtain a raw data set to be processed according to the business data processing request, and store the original data set in a first preset storage path where a preset configuration file is located;
- A2 Read a pre-built docker image from the second preset storage path, and generate multiple application containers according to the docker image;
- A3. Read a configuration file and an original data set from the first preset storage path, divide the original data set into multiple data sub-files based on the multiple application containers and the configuration file, and The container processes the plurality of data sub-files in a parallel processing manner, wherein system resources are allocated to a plurality of application containers for processing data in parallel according to a resource allocation rule;
- A4. Acquire multiple data sub-files that have been processed, and merge the multiple data sub-files that have been processed into a complete data file;
- A5. Send the data file to a user terminal corresponding to the service data processing request.
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据处理方法,该方法包括:在接收到业务数据处理请求时,根据业务数据处理请求获取待处理的原始数据集,并将原始数据集存储至预设的配置文件所在的第一预设存储路径中(S10);从第二预设存储路径中读取预先构建的应用容器引擎镜像,并根据应用容器引擎镜像生成多个应用容器 (S20);从第一预设存储路径中读取配置文件和原始数据集,基于多个应用容器和配置文件将原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器(S30);获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件(S40),将数据文件发送至业务数据处理请求对应的用户终端(S50)。实现了系统资源的充分利用,提高业务数据的处理速度。
Description
本申请基于巴黎公约申明享有2018年05月31日递交的申请号为201810543761.X、名称为“数据处理方法、装置及计算机可读存储介质”的中国专利申请的优先权,该中国专利申请的整体内容以参考的方式结合在本申请中。
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及计算机可读存储介质。
现有技术中,在一台服务器上运行多个作业的传统方式是:在服务器上启动多个虚拟机,然后在不同的虚拟机上运行不同的作业。传统的虚拟化技术多是采用基于VMware虚拟机,而VMware虚拟机的运行必须要运行整个操作系统,需要占用大量的系统资源,因为操作系统本身就要占用很多资源,导致这些虚拟机的运行非常消耗资源,导致系统资源得不到充分利用,特别是对于多核计算资源,更是容易造成资源浪费,此外,对于来说,其CPU、内存、网络资源和磁盘资源等资源都是有限的,当上启动的虚拟机过于消耗资源时,会导致业务数据的处理速度非常慢。
发明内容
本申请提供一种数据处理方法、装置及计算机可读存储介质,其主要目的在于实现系统资源的充分利用,提高业务数据的处理速度。
为实现上述目的,本申请还提供一种数据处理方法,该方法包括:
A1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
A3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
A4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
A5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
可选地,在步骤A1之前,所述方法还包括步骤:
在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;
根据获取的数据分割数量N和第三预设存储路径生成配置文件,并将所述配置文件存储至第一预设存储路径。
此外,为实现上述目的,本申请还提供一种数据处理装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如下步骤:
B1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
B2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
B3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
B4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
B5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或者多个处理器执行,以实现如上所述的数据处理方法的步骤。
本申请提出的数据处理方法、装置及计算机可读存储介质,在接收到业务数据处理请求时,根据该请求获取待处理的原始数据集,将其存储至预设的配置文件所在的第一预设存储路径中,从第二预设存储路径中读取预先构建的docker镜像,并根据该docker镜像生成多个应用容器,从上述第一预设存储路径中读取配置文件和原始数据集,根据多个应用容器和配置文件将原始数据集分割成多个数据子文件,按照多多容器并行处理的方式处理多个数据子文件,系统资源会被服务器按照资源分配给并行处理的多个容器,获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并成完整的数据文件,并将其发送至业务数据处理请求对应的用户终端。本申请的方案基于docker镜像建立docker容器来并行的进行数据处理,docker容器可以节省启动操作系统所带来的资源浪费,并且可以通过建立多个docker容器并行地进行数据处理,即可高效地完成大数据集的并行处理,极大地提高了业务数据的处理速度。
图1为本申请一实施例提供的数据处理方法的流程示意图;
图2为本申请一实施例提供的数据处理装置的内部结构示意图;
图3为本申请一实施例提供的数据处理装置中数据处理程序的模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种数据处理方法。参照图1所示,为本申请一实施例提供的数据处理方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数据处理方法包括:
步骤S10,在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中。
以下内容中以数据处理装置作为执行主体对本申请方法实施例进行说明,其中,数据处理装置作为服务器与用户终端建立通讯连接,并接收用户终端发送的业务数据处理请求,根据请求对业务数据进行处理。该数据处理装置可以具有多核CPU(Central Processing Unit,中央处理器)。
可以理解的是,在接收用户终端发送的业务数据处理请求并对业务数据进行处理之前,在数据处理装置上配置好docker(应用容器引擎)镜像,具体地,基于dockerfile规则构建docker镜像,该docker镜像中包含有数据切割的程序、数据并行处理程序和数据合并程序,上述程序用于被基于docker镜像建立的docker应用容器调用,以对业务数据进行处理。该docker镜像也存储上述第一预设路径中。
此外,在步骤S10之前,用户需要预先设置好配置信息,用户可以通过用户终端将配置信息发送至数据处理装置,配置信息主要包括数据分割数量N和用于存储数据子文件的第三预设存储路径,数据处理装置接收到配置信息时,根据数据分割数量N和第三预设存储路径生成配置文件,并存储至第一预设存储路径。其中,数据分割数量N决定了用于并行处理数据的docker容器的数量,进而决定了数据处理装置的资源的分配,因此,用户可以根据数据处理装置的多核CPU的大小、以及数据处理需要占用的CPU情况来设置数据分割数量N。
此外,需要说明的是,该第一预设存储路径还用于存储用户终端发送的待处理的原始数据集。数据处理装置在接收到用户终端发送的业务数据处理请求时,获取待处理的原始数据集,存储至预设的配置文件所在的第一预设存储路径中。
步骤S20,从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器。
步骤S30,从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器。
步骤S40,获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件。
本实施例的方案中至少需要根据docker镜像生成以下三种应用容器:数据切割的程序、数据并行处理程序和数据合并程序。生成的多个应用容器包括第一应用容器、第二应用容器和第三应用容器,第二应用容器的数量等于数据分割数量N;具体地,步骤S30可以包括如下细化步骤:
数据处理装置从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;例如,根据业务需求将原始数据集平均地分割成若干份,比如将原始数据集K分割成数据文件K1,数据文件K2,数据文件K3等。
同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,每一个数据并行处理程序将数据子文件处理完成后,将经过处理的数据子文件存储到上述第三预设存储路径中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器。在各个第二应用容器处理完成各个数据子文件之后,数据处理装置运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
步骤S50,将所述数据文件发送至所述业务数据处理请求对应的用户终端。
上述方案中通过docker镜像建立docker容器来并行的进行数据处理,docker容器可以节省启动操作系统所带来的资源浪费,以进程级别的消耗来提供与虚拟机类似的隔离能力,基于这个框架,用户只需要设置好配置文件、将相关程序生成镜像文件,通过建立多个docker容器并行地进行数据处理,即可高效地完成大数据集在单机多核的环境下的并行处理。
本实施例提出的数据处理方法,在接收到业务数据处理请求时,根据该请求获取待处理的原始数据集,将其存储至预设的配置文件所在的第一预设存储路径中,从第二预设存储路径中读取预先构建的docker镜像,并根据该docker镜像生成多个应用容器,从上述第一预设存储路径中读取配置文件和原始数据集,根据多个应用容器和配置文件将原始数据集分割成多个数据子文件,按照多多容器并行处理的方式处理多个数据子文件,系统资源会被服 务器按照资源分配给并行处理的多个容器,获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并成完整的数据文件,并将其发送至业务数据处理请求对应的用户终端。本申请的方案基于docker镜像建立docker容器来并行的进行数据处理,docker容器可以节省启动操作系统所带来的资源浪费,并且可以通过建立多个docker容器并行地进行数据处理,即可高效地完成大数据集的并行处理,极大地提高了业务数据的处理速度。
进一步地,在另一实施例中,多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,在步骤S40与步骤S50之间,该方法还包括:
运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;
根据合并后的数据文件确定合并的数据的第二数据量参数;
根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;
判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;
若相等,则执行所述步骤S40;
若不相等,则向所述用户终端发送预警提示信息。
在该实施例中,在数据合并完成之后,在将其发送到业务数据处理请求对应的用户终端之前,还可以对数据的处理结果进行核查。具体地,基于docker镜像生成第四应用容器,该应用容器调用数据核查程序,从配置文件中获取原始数据集的第一数据量参数和预设的数据量比例,根据数据合并结果确定合并的数据的第二数据量参数,根据第一数据量参数和第二数据量参数确定实际的数据量比例,判断实际的数据量比例与实际的预设的数量比例是否相等,若不相等,则输出预警提示信息,以提示用户当前的数据处理结果有误。例如,业务数据处理请求对应的数据操作为数据合并,将同一个用户信息下的三条不同的数据合并为一条数据,原始数据集中有900条数据,即第一数据量参数为900,预设的数据量比例为3:1,那么合并处理完成的数据文件中应包含有300条数据,获取实际的合并处理完成的数据文件中的第二数据量参数,判断第一数据量参数和第二数据量参数的比例是否为3:1,若是,则从数据量上判断数据处理结果正确,继续执行步骤S40,否则,从数据量上判断 数据处理结果有误,则输出预警提示信息。
本申请还提供一种数据处理装置。参照图2所示,为本申请一实施例提供的数据处理装置的内部结构示意图。
在本实施例中,数据处理装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该数据处理装置1至少包括存储器11、处理器12,网络接口13,以及通信总线14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据处理装置1的内部存储单元,例如该数据处理装置1的硬盘。存储器11在另一些实施例中也可以是数据处理装置1的外部存储设备,例如数据处理装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据处理装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据处理装置1的应用软件及各类数据,例如数据处理程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据处理程序01等。
网络接口13可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
通信总线14用于实现这些组件之间的连接通信。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据处理装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及数据处理程序01的数据处理装置1, 本领域技术人员可以理解的是,图1示出的结构并不构成对数据处理装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有数据处理程序01;处理器12执行存储器11中存储的数据处理程序01时实现如下步骤:
步骤B1,在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储`路径中。
数据处理装置作为服务器与用户终端建立通讯连接,并接收用户终端发送的业务数据处理请求,根据请求对业务数据进行处理。该数据处理装置可以具有多核CPU(Central Processing Unit,中央处理器)。
可以理解的是,在接收用户终端发送的业务数据处理请求并对业务数据进行处理之前,在数据处理装置上配置好docker镜像,具体地,基于dockerfile规则构建docker镜像,该docker镜像中包含有数据切割的程序、数据处理程序和数据合并程序,上述程序用于被基于docker镜像建立的docker应用容器调用,以对业务数据进行处理。该docker镜像也存储上述第一预设路径中。
此外,在步骤B1之前,用户需要预先设置好配置信息,用户可以通过用户终端将配置信息发送至数据处理装置,配置信息主要包括数据分割数量N和用于存储数据子文件的第三预设存储路径,数据处理装置接收到配置信息时,根据数据分割数量N和第三预设存储路径生成配置文件,并存储至第一预设存储路径。其中,数据分割数量N决定了用于并行处理数据的docker容器的数量,进而决定了数据处理装置的资源的分配,因此,用户可以根据数据处理装置的多核CPU的大小、以及数据处理需要占用的CPU情况来设置数据分割数量N。
此外,需要说明的是,该第一预设存储路径还用于存储用户终端发送的待处理的原始数据集。数据处理装置在接收到用户终端发送的业务数据处理请求时,获取待处理的原始数据集,存储至预设的配置文件所在的第一预设存储路径中。
步骤B2,从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器。
步骤B3,从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器。
步骤B4,获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件。
本实施例的方案中至少需要根据docker镜像生成以下三种应用容器:数据切割的程序、数据并行处理程序和数据合并程序。生成的多个应用容器包括第一应用容器、第二应用容器和第三应用容器,第二应用容器的数量等于数据分割数量N;具体地,步骤B3可以包括如下细化步骤:
数据处理装置从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;例如,根据业务需求将原始数据集平均地分割成若干份,比如将原始数据集K分割成数据文件K1,数据文件K2,数据文件K3等。
同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,每一个数据并行处理程序将数据子文件处理完成后,将经过处理的数据子文件存储到上述第三预设存储路径中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器。在各个第二应用容器处理完成各个数据子文件之后,数据处理装置运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
步骤B5,将所述数据文件发送至所述业务数据处理请求对应的用户终端。
上述方案中通过docker镜像建立docker容器来并行的进行数据处理,docker容器可以节省启动操作系统所带来的资源浪费,以进程级别的消耗来提供与虚拟机类似的隔离能力,基于这个框架,用户只需要设置好配置文件、将相关程序生成镜像文件,通过建立多个docker容器并行地进行数据处理,即可高效地完成大数据集在单机多核的环境下的并行处理。
本实施例提出的数据处理装置,在接收到业务数据处理请求时,根据该请求获取待处理的原始数据集,将其存储至预设的配置文件所在的第一预设存储路径中,从第二预设存储路径中读取预先构建的docker镜像,并根据该docker镜像生成多个应用容器,从上述第一预设存储路径中读取配置文件和原始数据集,根据多个应用容器和配置文件将原始数据集分割成多个数据子文件,按照多多容器并行处理的方式处理多个数据子文件,系统资源会被服务器按照资源分配给并行处理的多个容器,获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并成完整的数据文件,并将其发送至业务数据处理请求对应的用户终端。本申请的方案基于docker镜像建立docker容器来并行的进行数据处理,docker容器可以节省启动操作系统所带来的资源浪费,并且可以通过建立多个docker容器并行地进行数据处理,即可高效地完成大数据集的并行处理,极大地提高了业务数据的处理速度。
进一步地,在另一实施例中,多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,在步骤B4与步骤B5之间,该方法还包括:
运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;
根据合并后的数据文件确定合并的数据的第二数据量参数;
根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;
判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;
若相等,则执行所述步骤B4;
若不相等,则向所述用户终端发送预警提示信息。
在该实施例中,在数据合并完成之后,在将其发送到业务数据处理请求对应的用户终端之前,还可以对数据的处理结果进行核查。具体地,基于docker镜像生成第四应用容器,该应用容器调用数据核查程序,从配置文件中获取原始数据集的第一数据量参数和预设的数据量比例,根据数据合并结果确定合并的数据的第二数据量参数,根据第一数据量参数和第二数据量参数确定实际的数据量比例,判断实际的数据量比例与实际的预设的数量比例是否相等,若不相等,则输出预警提示信息,以提示用户当前的数据处理结果有误。 例如,业务数据处理请求对应的数据操作为数据合并,将同一个用户信息下的三条不同的数据合并为一条数据,原始数据集中有900条数据,即第一数据量参数为900,预设的数据量比例为3:1,那么合并处理完成的数据文件中应包含有300条数据,获取实际的合并处理完成的数据文件中的第二数据量参数,判断第一数据量参数和第二数据量参数的比例是否为3:1,若是,则从数据量上判断数据处理结果正确,继续执行步骤B4,否则,从数据量上判断数据处理结果有误,则输出预警提示信息。
可选地,在其他的实施例中,数据处理程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本申请,本申请所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据处理程序在数据处理装置中的执行过程。
例如,参照图3所示,为本申请数据处理装置一实施例中的数据处理程序的程序模块示意图,该实施例中,数据处理程序可以被分割为数据获取模块10、容器生成模块20、数据处理模块30、数据合并模块40和数据发送模块50,示例性地:
数据获取模块10用于:在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
容器生成模块20用于:从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
数据处理模块30用于:从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
数据合并模块40用于:获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
数据发送模块50用于:将所述数据文件发送至所述业务数据处理请求对应的用户终端。
上述数据获取模块10、容器生成模块20、数据处理模块30、数据合并模 块40和数据发送模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或多个处理器执行,以实现如下操作:
A1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
A3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
A4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
A5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
本申请计算机可读存储介质具体实施方式与上述数据处理装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (20)
- 一种数据处理方法,其特征在于,所述方法包括:A1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;A3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;A4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;A5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
- 如权利要求1所述的数据处理方法,其特征在于,在步骤A1之前,所述方法还包括步骤:在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;根据获取的数据分割数量N和第三预设存储路径生成配置文件,将所述配置文件存储至第一预设存储路径。
- 如权利要求2所述的数据处理方法,其特征在于,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并程序;所述步骤A3包括:从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数 据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;所述步骤A4包括:运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
- 如权利要求1所述的数据处理方法,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述步骤A4和步骤A5之间,所述方法还包括步骤:运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;根据合并后的数据文件确定合并的数据的第二数据量参数;根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;若相等,则执行所述步骤A4;若不相等,则向所述用户终端发送预警提示信息。
- 如权利要求2所述的数据处理方法,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述步骤A4和步骤A5之间,所述方法还包括步骤:运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;根据合并后的数据文件确定合并的数据的第二数据量参数;根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;若相等,则执行所述步骤A4;若不相等,则向所述用户终端发送预警提示信息。
- 如权利要求1所述的数据处理方法,其特征在于,在步骤A之前,所述方法还包括步骤:根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
- 如权利要求2所述的数据处理方法,其特征在于,在步骤A之前,所述方法还包括步骤:根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
- 一种数据处理装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如下步骤:B1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;B2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;B3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;B4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;B5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
- 如权利要求8所述的数据处理装置,其特征在于,所述数据处理程序还可被所述处理器执行,以在步骤B1之前,还实现如下步骤:在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;根据获取的数据分割数量N和第三预设存储路径生成配置文件,并将所述配置文件存储至第一预设存储路径。
- 如权利要求9所述的数据处理装置,其特征在于,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并 程序;所述步骤B3包括:从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;所述步骤B4包括:运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
- 如权利要求8所述的数据处理装置,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述数据处理程序还可被所述处理器执行,以在步骤B4和步骤B5之间,还实现如下步骤:运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;根据合并后的数据文件确定合并的数据的第二数据量参数;根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;若相等,则执行所述步骤B4;若不相等,则向所述用户终端发送预警提示信息。
- 如权利要求9所述的数据处理装置,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述数据处理程序还可被所述处理器执行,以在步骤B4和步骤B5之间,还实现如下步骤:运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并 从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;根据合并后的数据文件确定合并的数据的第二数据量参数;根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;若相等,则执行所述步骤B4;若不相等,则向所述用户终端发送预警提示信息。
- 如权利要求8所述的数据处理装置,其特征在于,所述数据处理程序还可被所述处理器执行,以在步骤A之前,还实现如下步骤:根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
- 如权利要求9所述的数据处理装置,其特征在于,所述数据处理程序还可被所述处理器执行,以在步骤A之前,还实现如下步骤:根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或者多个处理器执行,以实现如下步骤:A1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;A3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;A4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;A5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
- 如权利要求15所述的计算机可读存储介质,其特征在于,所述数据处理程序可被一个或者多个处理器执行,以在步骤A1之前,实现如下步骤:在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;根据获取的数据分割数量N和第三预设存储路径生成配置文件,将所述配置文件存储至第一预设存储路径。
- 如权利要求16所述的计算机可读存储介质,其特征在于,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并程序;所述步骤A3包括:从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;所述步骤A4包括:运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
- 如权利要求15所述的计算机可读存储介质,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述数据处理程序可被一个或者多个处理器执行,以在所述步骤A4和步骤A5之间,实现如下步骤:运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;根据合并后的数据文件确定合并的数据的第二数据量参数;根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;若相等,则执行所述步骤A4;若不相等,则向所述用户终端发送预警提示信息。
- 如权利要求16所述的计算机可读存储介质,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述数据处理程序可被一个或者多个处理器执行,以在所述步骤A4和步骤A5之间,实现如下步骤:运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;根据合并后的数据文件确定合并的数据的第二数据量参数;根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;若相等,则执行所述步骤A4;若不相等,则向所述用户终端发送预警提示信息。
- 如权利要求15所述的计算机可读存储介质,其特征在于,所述数据处理程序可被一个或者多个处理器执行,以在步骤A之前,实现如下步骤:根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810543761.XA CN108958881A (zh) | 2018-05-31 | 2018-05-31 | 数据处理方法、装置及计算机可读存储介质 |
CN201810543761.X | 2018-05-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019227715A1 true WO2019227715A1 (zh) | 2019-12-05 |
Family
ID=64492635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/102220 WO2019227715A1 (zh) | 2018-05-31 | 2018-08-24 | 数据处理方法、装置及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108958881A (zh) |
WO (1) | WO2019227715A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352726B (zh) * | 2018-12-24 | 2024-04-05 | 三六零科技集团有限公司 | 一种基于容器化微服务的流数据处理方法及装置 |
CN109800475A (zh) * | 2018-12-27 | 2019-05-24 | 北京百度网讯科技有限公司 | 自动驾驶数据处理方法、装置、设备和计算机存储介质 |
CN109885378A (zh) * | 2019-01-04 | 2019-06-14 | 平安科技(深圳)有限公司 | 模型训练方法、装置、计算机设备及计算机可读存储介质 |
CN109828825A (zh) * | 2019-01-07 | 2019-05-31 | 平安科技(深圳)有限公司 | 异常数据检测方法、装置、计算机设备及存储介质 |
CN109710604A (zh) * | 2019-01-09 | 2019-05-03 | 北京京东金融科技控股有限公司 | 数据处理方法、装置、系统、计算机可读存储介质 |
CN109976771B (zh) * | 2019-03-28 | 2023-06-27 | 新华三技术有限公司 | 一种应用的部署方法及装置 |
CN112749137B (zh) * | 2019-10-31 | 2024-05-24 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备及存储介质 |
CN113411365A (zh) * | 2020-03-17 | 2021-09-17 | 中国移动通信集团山东有限公司 | 数据处理方法及装置 |
CN112347167A (zh) * | 2020-09-30 | 2021-02-09 | 长沙市到家悠享网络科技有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN113950145B (zh) * | 2021-12-20 | 2022-03-08 | 支付宝(杭州)信息技术有限公司 | 数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106534266A (zh) * | 2016-10-19 | 2017-03-22 | 南京邮电大学 | 一种基于Agent的多环境应用并行的云平台及其工作方法 |
CN106997392A (zh) * | 2017-04-10 | 2017-08-01 | 北京搜狐新媒体信息技术有限公司 | Docker镜像缓存信息的处理方法、装置以及读取方法和装置 |
CN107203394A (zh) * | 2017-04-18 | 2017-09-26 | 中国科学院计算技术研究所 | 一种高安全docker容器批量部署方法及装置 |
US20180095973A1 (en) * | 2016-09-30 | 2018-04-05 | International Business Machines Corporation | Docker layer deduplication with layer referencing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324538B (zh) * | 2013-05-23 | 2016-08-10 | 国家电网公司 | 一种异位分散集群环境分布式并发进程的设计方法 |
CN105701010A (zh) * | 2015-12-31 | 2016-06-22 | 北京元心科技有限公司 | 一种加速软件测试的方法和装置 |
CN107196982B (zh) * | 2016-03-14 | 2021-01-22 | 阿里巴巴集团控股有限公司 | 一种用户请求的处理方法和装置 |
-
2018
- 2018-05-31 CN CN201810543761.XA patent/CN108958881A/zh active Pending
- 2018-08-24 WO PCT/CN2018/102220 patent/WO2019227715A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180095973A1 (en) * | 2016-09-30 | 2018-04-05 | International Business Machines Corporation | Docker layer deduplication with layer referencing |
CN106534266A (zh) * | 2016-10-19 | 2017-03-22 | 南京邮电大学 | 一种基于Agent的多环境应用并行的云平台及其工作方法 |
CN106997392A (zh) * | 2017-04-10 | 2017-08-01 | 北京搜狐新媒体信息技术有限公司 | Docker镜像缓存信息的处理方法、装置以及读取方法和装置 |
CN107203394A (zh) * | 2017-04-18 | 2017-09-26 | 中国科学院计算技术研究所 | 一种高安全docker容器批量部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108958881A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019227715A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN111090437B (zh) | 应用部署方法、装置及计算机可读存储介质 | |
CN109885311B (zh) | 一种应用程序的生成方法及设备 | |
CN109918055B (zh) | 一种应用程序的生成方法及设备 | |
US10430332B2 (en) | System and method for performance tuning of garbage collection algorithms | |
WO2018077085A1 (zh) | 应用程序处理方法、装置及存储介质 | |
CN109634718B (zh) | 云平台创建镜像的方法及系统 | |
WO2019019361A1 (zh) | 数据库数据处理方法、装置、计算机设备和存储介质 | |
WO2019019644A1 (zh) | 推送服务器分配方法、装置、计算机设备和存储介质 | |
WO2019019769A1 (zh) | 业务功能实现的方法、装置、计算机设备及存储介质 | |
CN107463563B (zh) | 一种浏览器的信息服务处理方法及装置 | |
US11288367B2 (en) | Scanning files using antivirus software | |
CN106713042B (zh) | 一种确定网络拓扑方法及装置 | |
WO2018072430A1 (zh) | 安装包的扫描解析方法、装置、移动终端及机器可读存储介质 | |
CN111177113A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
WO2019041441A1 (zh) | 列表视图的更新装置、方法及计算机可读存储介质 | |
US10318343B2 (en) | Migration methods and apparatuses for migrating virtual machine including locally stored and shared data | |
CN111930467A (zh) | 虚拟机启动方法、装置、设备及计算机可读存储介质 | |
CN110795162B (zh) | 生成容器镜像文件的方法和装置 | |
WO2020015192A1 (zh) | 网页数据爬取方法、装置及存储介质 | |
CN116860350A (zh) | Jailhouse工具的配置方法、电子设备及计算机可读存储介质 | |
CN114237890A (zh) | 应用的协同展示方法、装置、服务器、终端和程序产品 | |
CN113656180A (zh) | 单元化架构下批量处理文件的系统、方法及相关产品 | |
CN115658185B (zh) | 一种云应用快速启动的方法、装置、存储介质及电子设备 | |
WO2019062020A1 (zh) | 异步任务统一处理方法、装置及存储介质 |
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: 18920355 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18920355 Country of ref document: EP Kind code of ref document: A1 |