CN108958881A - 数据处理方法、装置及计算机可读存储介质 - Google Patents

数据处理方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN108958881A
CN108958881A CN201810543761.XA CN201810543761A CN108958881A CN 108958881 A CN108958881 A CN 108958881A CN 201810543761 A CN201810543761 A CN 201810543761A CN 108958881 A CN108958881 A CN 108958881A
Authority
CN
China
Prior art keywords
data
application container
data processing
store path
file
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
CN201810543761.XA
Other languages
English (en)
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810543761.XA priority Critical patent/CN108958881A/zh
Priority to PCT/CN2018/102220 priority patent/WO2019227715A1/zh
Publication of CN108958881A publication Critical patent/CN108958881A/zh
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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

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

本发明公开了一种数据处理方法,该方法包括:在接收到业务数据处理请求时,根据业务数据处理请求获取待处理的原始数据集;读取预先构建的docker镜像,根据docker镜像生成多个应用容器;从第一预设存储路径中读取配置文件和原始数据集,基于多个应用容器和配置文件将原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理多个数据子文件;获取处理完成的多个数据子文件,合并为完整的数据文件,发送至业务数据处理请求对应的用户终端。本发明还提出一种数据处理装置以及一种计算机可读存储介质。本发明实现了系统资源的充分利用,提高业务数据的处理速度。

Description

数据处理方法、装置及计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术
现有技术中,在一台服务器上运行多个作业的传统方式是:在服务器上启动多个虚拟机,然后在不同的虚拟机上运行不同的作业。传统的虚拟化技术多是采用基于VMware虚拟机,而VMware虚拟机的运行必须要运行整个操作系统,需要占用大量的系统资源,因为操作系统本身就要占用很多资源,导致这些虚拟机的运行非常消耗资源,导致系统资源得不到充分利用,特别是对于多核计算资源,更是容易造成资源浪费,此外,对于来说,其CPU、内存、网络资源和磁盘资源等资源都是有限的,当上启动的虚拟机过于消耗资源时,会导致业务数据的处理速度非常慢。
发明内容
本发明提供一种数据处理方法、装置及计算机可读存储介质,其主要目的在于实现系统资源的充分利用,提高业务数据的处理速度。
为实现上述目的,本发明还提供一种数据处理方法,该方法包括:
A1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
A3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
A4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
A5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
可选地,在步骤A1之前,所述方法还包括步骤:
在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;
根据获取的数据分割数量N和第三预设存储路径生成配置文件,并将所述配置文件存储至第一预设存储路径。
可选地,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并程序;
所述步骤A3包括:
从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;
运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;
同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;
所述步骤A4包括:
运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
可选地,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述步骤A4和步骤A5之间,所述方法还包括步骤:
运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;
根据合并后的数据文件确定合并的数据的第二数据量参数;
根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;
判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;
若相等,则执行所述步骤A4;
若不相等,则向所述用户终端发送预警提示信息。
可选地,在步骤A之前,所述方法还包括步骤:
根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
此外,为实现上述目的,本发明还提供一种数据处理装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如下步骤:
B1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
B2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
B3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
B4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
B5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
可选地,所述数据处理程序还可被所述处理器执行,以在步骤B1之前,还实现如下步骤:
在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;
根据获取的数据分割数量N和第三预设存储路径生成配置文件,并将所述配置文件存储至第一预设存储路径。
可选地,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并程序;
所述步骤B3包括:
从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;
运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;
同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;
所述步骤B4包括:
运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
可选地,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述数据处理程序还可被所述处理器执行,以在步骤B4和步骤B5之间,还实现如下步骤:
运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;
根据合并后的数据文件确定合并的数据的第二数据量参数;
根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;
判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;
若相等,则执行所述步骤B4;
若不相等,则向所述用户终端发送预警提示信息。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或者多个处理器执行,以实现如上所述的数据处理方法的步骤。
本发明提出的数据处理方法、装置及计算机可读存储介质,在接收到业务数据处理请求时,根据该请求获取待处理的原始数据集,将其存储至预设的配置文件所在的第一预设存储路径中,从第二预设存储路径中读取预先构建的docker镜像,并根据该docker镜像生成多个应用容器,从上述第一预设存储路径中读取配置文件和原始数据集,根据多个应用容器和配置文件将原始数据集分割成多个数据子文件,按照多多容器并行处理的方式处理多个数据子文件,系统资源会被服务器按照资源分配给并行处理的多个容器,获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并成完整的数据文件,并将其发送至业务数据处理请求对应的用户终端。本发明的方案基于docker镜像建立docker容器来并行的进行数据处理,docker容器可以节省启动操作系统所带来的资源浪费,并且可以通过建立多个docker容器并行地进行数据处理,即可高效地完成大数据集的并行处理,极大地提高了业务数据的处理速度。
附图说明
图1为本发明一实施例提供的数据处理方法的流程示意图;
图2为本发明一实施例提供的数据处理装置的内部结构示意图;
图3为本发明一实施例提供的数据处理装置中数据处理程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据处理方法。参照图1所示,为本发明一实施例提供的数据处理方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数据处理方法包括:
步骤S10,在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中。
以下内容中以数据处理装置作为执行主体对本发明方法实施例进行说明,其中,数据处理装置作为服务器与用户终端建立通讯连接,并接收用户终端发送的业务数据处理请求,根据请求对业务数据进行处理。该数据处理装置可以具有多核CPU(CentralProcessing 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用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置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(CentralProcessing 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 (10)

1.一种数据处理方法,其特征在于,所述方法包括:
A1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
A2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
A3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
A4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
A5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
2.如权利要求1所述的数据处理方法,其特征在于,在步骤A1之前,所述方法还包括步骤:
在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;
根据获取的数据分割数量N和第三预设存储路径生成配置文件,将所述配置文件存储至第一预设存储路径。
3.如权利要求2所述的数据处理方法,其特征在于,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并程序;
所述步骤A3包括:
从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;
运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;
同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;
所述步骤A4包括:
运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
4.如权利要求1至3中任一项所述的数据处理方法,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述步骤A4和步骤A5之间,所述方法还包括步骤:
运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;
根据合并后的数据文件确定合并的数据的第二数据量参数;
根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;
判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;
若相等,则执行所述步骤A4;
若不相等,则向所述用户终端发送预警提示信息。
5.如权利要求1至3中任一项所述的数据处理方法,其特征在于,在步骤A之前,所述方法还包括步骤:
根据dockerfile规则创建docker镜像,并将所述docker镜像保存至第二预设存储路径中。
6.一种数据处理装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如下步骤:
B1、在接收到业务数据处理请求时,根据所述业务数据处理请求获取待处理的原始数据集,并将所述原始数据集存储至预设的配置文件所在的第一预设存储路径中;
B2、从第二预设存储路径中读取预先构建的docker镜像,并根据所述docker镜像生成多个应用容器;
B3、从所述第一预设存储路径中读取配置文件和原始数据集,基于所述多个应用容器和所述配置文件将所述原始数据集分割为多个数据子文件,并按照多容器并行处理的方式处理所述多个数据子文件,其中,按照资源分配规则将系统资源分配给用于并行处理数据的多个应用容器;
B4、获取处理完成的多个数据子文件,将处理完成的多个数据子文件合并为完整的数据文件;
B5、将所述数据文件发送至所述业务数据处理请求对应的用户终端。
7.如权利要求6所述的数据处理装置,其特征在于,所述数据处理程序还可被所述处理器执行,以在步骤B1之前,还实现如下步骤:
在接收到用户终端发送的配置信息时,从所述配置信息中获取数据分割数量N和用于存储数据子文件的第三预设存储路径;
根据获取的数据分割数量N和第三预设存储路径生成配置文件,并将所述配置文件存储至第一预设存储路径。
8.如权利要求7所述的数据处理装置,其特征在于,所述多个应用容器包括第一应用容器、第二应用容器和第三应用容器,所述第二应用容器有N个;所述docker镜像中包含有数据切割程序、数据并行处理程序和数据合并程序;
所述步骤B3包括:
从所述第一预设存储路径中读取配置文件和原始数据集,从所述配置文件中获取数据分割数量N;
运行所述第一应用容器,所述第一应用容器调用所述数据分割程序,将所述原始数据集分割为N份数据子文件并存储至所述第三预设存储路径;
同步地运行所述N个第二应用容器,一个第二应用容器对应于的一个数据子文件,所述N个第二应用容器调用数据并行处理程序从所述第三预设存储路径获取N份数据子文件并进行数据处理,其中,所述按照资源分配规则将系统资源分配给所述N个第二应用容器;
所述步骤B4包括:
运行第三应用容器,所述第三应用容器调用数据合并程序,将处理完成的所述多个数据子文件合并为完整的数据文件。
9.如权利要求6至8中任一项所述的数据处理装置,其特征在于,所述多个应用容器中还包括第四应用容器,所述docker镜像中还包括数据核查程序,所述数据处理程序还可被所述处理器执行,以在步骤B4和步骤B5之间,还实现如下步骤:
运行所述第四应用容器,所述第四应用容器调用所述数据核查程序,并从所述配置文件中获取所述原始数据集的第一数据量参数和预设的数据量比例;
根据合并后的数据文件确定合并的数据的第二数据量参数;
根据所述第一数据量参数和所述第二数据量参数确定实际的数据量比例;
判断实际的数据量比例和预设的数据量比例是否在误差范围内相等;
若相等,则执行所述步骤B4;
若不相等,则向所述用户终端发送预警提示信息。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的数据处理方法的步骤。
CN201810543761.XA 2018-05-31 2018-05-31 数据处理方法、装置及计算机可读存储介质 Pending CN108958881A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810543761.XA CN108958881A (zh) 2018-05-31 2018-05-31 数据处理方法、装置及计算机可读存储介质
PCT/CN2018/102220 WO2019227715A1 (zh) 2018-05-31 2018-08-24 数据处理方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810543761.XA CN108958881A (zh) 2018-05-31 2018-05-31 数据处理方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN108958881A true CN108958881A (zh) 2018-12-07

Family

ID=64492635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810543761.XA Pending CN108958881A (zh) 2018-05-31 2018-05-31 数据处理方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN108958881A (zh)
WO (1) WO2019227715A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710604A (zh) * 2019-01-09 2019-05-03 北京京东金融科技控股有限公司 数据处理方法、装置、系统、计算机可读存储介质
CN109800475A (zh) * 2018-12-27 2019-05-24 北京百度网讯科技有限公司 自动驾驶数据处理方法、装置、设备和计算机存储介质
CN109828825A (zh) * 2019-01-07 2019-05-31 平安科技(深圳)有限公司 异常数据检测方法、装置、计算机设备及存储介质
CN109885378A (zh) * 2019-01-04 2019-06-14 平安科技(深圳)有限公司 模型训练方法、装置、计算机设备及计算机可读存储介质
CN109976771A (zh) * 2019-03-28 2019-07-05 新华三技术有限公司 一种应用的部署方法及装置
CN111352726A (zh) * 2018-12-24 2020-06-30 北京奇虎科技有限公司 一种基于容器化微服务的流数据处理方法及装置
CN112347167A (zh) * 2020-09-30 2021-02-09 长沙市到家悠享网络科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN112749137A (zh) * 2019-10-31 2021-05-04 阿里巴巴集团控股有限公司 数据处理方法、装置、设备及存储介质
CN113411365A (zh) * 2020-03-17 2021-09-17 中国移动通信集团山东有限公司 数据处理方法及装置
CN113950145A (zh) * 2021-12-20 2022-01-18 支付宝(杭州)信息技术有限公司 数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324538A (zh) * 2013-05-23 2013-09-25 国家电网公司 一种异位分散集群环境分布式并发进程的设计方法
CN105701010A (zh) * 2015-12-31 2016-06-22 北京元心科技有限公司 一种加速软件测试的方法和装置
CN107196982A (zh) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 一种用户请求的处理方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303657B2 (en) * 2016-09-30 2019-05-28 International Business Machines Corporation Docker layer deduplication with layer referencing
CN106534266B (zh) * 2016-10-19 2018-04-03 南京邮电大学 一种基于Agent的多环境应用并行的云平台及其工作方法
CN106997392B (zh) * 2017-04-10 2020-03-03 北京搜狐新媒体信息技术有限公司 Docker镜像缓存信息的处理方法、装置以及读取方法和装置
CN107203394B (zh) * 2017-04-18 2021-01-01 中国科学院计算技术研究所 一种高安全docker容器批量部署方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324538A (zh) * 2013-05-23 2013-09-25 国家电网公司 一种异位分散集群环境分布式并发进程的设计方法
CN105701010A (zh) * 2015-12-31 2016-06-22 北京元心科技有限公司 一种加速软件测试的方法和装置
CN107196982A (zh) * 2016-03-14 2017-09-22 阿里巴巴集团控股有限公司 一种用户请求的处理方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352726A (zh) * 2018-12-24 2020-06-30 北京奇虎科技有限公司 一种基于容器化微服务的流数据处理方法及装置
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 北京京东金融科技控股有限公司 数据处理方法、装置、系统、计算机可读存储介质
CN109976771A (zh) * 2019-03-28 2019-07-05 新华三技术有限公司 一种应用的部署方法及装置
CN112749137A (zh) * 2019-10-31 2021-05-04 阿里巴巴集团控股有限公司 数据处理方法、装置、设备及存储介质
CN113411365A (zh) * 2020-03-17 2021-09-17 中国移动通信集团山东有限公司 数据处理方法及装置
CN112347167A (zh) * 2020-09-30 2021-02-09 长沙市到家悠享网络科技有限公司 一种数据处理方法、装置、电子设备及存储介质
CN113950145A (zh) * 2021-12-20 2022-01-18 支付宝(杭州)信息技术有限公司 数据处理方法及装置
CN113950145B (zh) * 2021-12-20 2022-03-08 支付宝(杭州)信息技术有限公司 数据处理方法及装置

Also Published As

Publication number Publication date
WO2019227715A1 (zh) 2019-12-05

Similar Documents

Publication Publication Date Title
CN108958881A (zh) 数据处理方法、装置及计算机可读存储介质
CN109358851A (zh) 图表组件的创建方法、装置及计算机可读存储介质
CN107908472A (zh) 数据同步装置、方法及计算机可读存储介质
CN110221901A (zh) 容器资源创建方法、装置、设备及计算机可读存储介质
CN103294485B (zh) 用于ABINIT并行计算系统的Web服务封装方法以及系统
CN106663021A (zh) 虚拟化环境中的智能gpu调度
CN105045887A (zh) 混合模式跨域数据交互的系统及其方法
CN103778128B (zh) 一种列表信息的绘制方法和装置
CN109657177A (zh) 升级后页面的生成方法、装置、存储介质及计算机设备
WO2018120719A1 (zh) 移动端程序界面的更新方法、装置、设备及计算机可读存储介质
CN107656729A (zh) 列表视图的更新装置、方法及计算机可读存储介质
CN106909409A (zh) 一种运行应用程序的apk插件的方法及装置
CN112416458A (zh) 基于ReactNative的预加载方法、装置、计算机设备及存储介质
CN106452835B (zh) 特定硬件配置的终端软件更新的方法及其装置
CN109710624A (zh) 数据处理方法、装置、介质及电子设备
CN110020060B (zh) 网页数据爬取方法、装置及存储介质
CN108646577B (zh) 一种客户端运行管理方法及客户端
CN113407254B (zh) 表单生成方法、装置、电子设备及存储介质
CN109948332A (zh) 一种物理机登录密码重置方法及装置
CN109582401B (zh) 推广图片生成方法、装置、存储介质和计算机设备
CN107729341B (zh) 电子装置、信息查询控制方法和计算机可读存储介质
CN109445779A (zh) 多语言用户界面的渲染方法及终端设备
CN111580883B (zh) 应用程序启动方法、装置、计算机系统和介质
CN109597912A (zh) 用于处理图片的方法
CN110134416A (zh) 软件更新方法、装置及计算机可读存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181207