CN116303303A - 批量数据处理方法、装置、设备及介质 - Google Patents
批量数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116303303A CN116303303A CN202310275031.7A CN202310275031A CN116303303A CN 116303303 A CN116303303 A CN 116303303A CN 202310275031 A CN202310275031 A CN 202310275031A CN 116303303 A CN116303303 A CN 116303303A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- file
- batch
- computing
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 111
- 238000004364 calculation method Methods 0.000 claims abstract description 108
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 239000012634 fragment Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Multimedia (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种批量数据处理方法、装置、设备及介质,可以应用于大数据和云计算技术领域,可用于金融领域和其它领域。包括:在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将目标数据文件存储至本地内存;响应于任务接收请求,接收批量计算任务,批量计算任务包括多个计算任务;基于本地内存存储的目标数据文件中的批量数据,确定批量计算任务中各个计算任务所涉及的目标数据;根据各计算任务的目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。本申请的方法,通过提高数据读写性能,提高任务处理效率。
Description
技术领域
本申请涉及大数据和云计算技术领域,尤其涉及一种批量数据处理方法、装置、设备及介质。
背景技术
在金融科技领域,智能计算已成为交易市场的重要应用方向,例如,待处理事件的监控和确认,金融产品的交易事件的批处理操作、金融产品净值的批量核算处理等诸多计算应用。上述金融科技领域中涉及到的各类智能计算需求可以作为一种数据处理需求。目前,由于交易事件、金融计算的数量较大,需要对大量数据进行批量处理。
目前,数据处理任务或者计算任务一般是由应用程序生成的,应用程序可以为面向客户的具备交互功能的各类程序,应用程序可以对应应用服务器,应用服务器可以用于获取计算任务。计算任务实际处理时需要使用到的数据需要从数据库中读取。
但是,受数据库和应用服务器之间的读写性能的限制,针对待处理的数据的数量较大时,可能会出现数据读写失败或者数据读写速度变慢,导致数据的处理效率较低。
发明内容
本申请提供一种批量数据处理方法、装置、设备及介质,用以解决不同协议文件的差异较大,文件的处理效率较低的技术问题。
第一方面,本申请提供一种批量数据处理方法,应用于分布式计算节点,所述方法包括:
在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将所述目标数据文件存储至本地内存,所述文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,所述数据文件包括待处理的批量数据;
响应于任务接收请求,接收批量计算任务,所述批量计算任务包括多个计算任务;
基于所述本地内存存储的所述目标数据文件中的批量数据,确定所述批量计算任务中各个计算任务所涉及的目标数据;
根据各计算任务的所述目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。
第二方面,本申请提供一种批量数据处理装置,位于分布式计算节点,所述装置包括:
文件获取单元,用于在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将所述目标数据文件存储至本地内存,所述文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,所述数据文件包括待处理的批量数据;
任务接收单元,用于响应于任务接收请求,接收批量计算任务,所述批量计算任务包括多个计算任务;
数据确定单元,用于基于所述本地内存存储的所述目标数据文件中的批量数据,确定所述批量计算任务中各个计算任务所涉及的目标数据;
任务执行单元,用于根据各计算任务的所述目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的批量数据处理方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的批量数据处理方法。
本申请提供的批量数据处理方法,可以在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件。文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,所述数据文件包括待处理的批量数据。通过目标时间段的约束可以实现在特定时间进行数据文件的读取,提高数据读取效率。目标数据文件可以为满足存储条件的目标数据文件,可以实现文件的部分获取,实现数据文件的分布式存储,避免将大量数据文件集中到一个节点。之后可以响应于任务接收请求,接收批量计算任务,进而可以基于本地内存存储的目标数据文件中的批量数据,确定各个计算任务所涉及的目标数据。根据各个计算任务的目标数据执行计算任务,获得各个计算任务的任务处理结果。将计算任务以及计算任务所涉及的目标数据均可以来源于本地,因此,将数据和任务放置到一个节点中,可以实现在执行任务过程中,直接从本地获取相关的目标数据,不需要再临时从数据库读取数据,直接读取本地数据速度较快,可以通过提高数据读写性能,提高任务处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的一种批量数据处理方法的一个应用***架构图;
图2是本申请实施例提供的一种批量数据处理方法的一个实施例的流程图;
图3是本申请实施例提供的一种任务分发的示例图;
图4是本申请实施例提供的一种批量数据处理方法的又一个实施例的流程图;
图5是本申请实施例提供的一种任务执行的示例图;
图6是本申请实施例提供的一种数据文件的分发示例图;
图7是本申请实施例提供的一种批量数据处理装置的一个实施例的结构示例图;
图8是用于实现本申请提供的批量数据处理方法的一种电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请提供的批量数据处理方法、装置、设备及介质,可以应用于大数据和云计算技术领域,也可以应用于金融科技或其它相关领域,通过将数据和任务放置到一个节点中,可以实现在执行任务过程中,直接从本地获取相关的目标数据,直接读取本地数据速度较快,可以通过提高数据读写性能,提高任务处理效率。
相关技术中,随着金融科技的迅速发展,银行等金融机构可以通过应用程序向用户提供各种应用服务。目前,应用程序对应的处理设备可以为应用服务器。应用服务器可以提供各类金融数据的处理需求。对于各类金融数据的处理需要,一般需要从数据库中读取相关数据,并针对从数据库中读取的数据执行相应的处理任务。受应用服务器和数据库的读写性能限制,应用服务器的数据处理需求较高时,也即批量处理数据时,需要针对数据库大量读写数据,导致应用服务器和数据库的数据读写压力较大,数据的读写速度较低,导致数据处理效率较低。
为了解决上述技术问题,本技术方案考虑到,数据读写受限的原因是,应用服务器大量处理数据时,需要同时从数据库读写大量数据,导致段时间内数据的读写压力较大。因此,为了解决该问题,可以采用数据预加载的方式,对数据进行存储,以在存在计算任务时,再从本地读取数据,以执行相应的计算任务。而且,为了解决数据的大量存储和处理问题,可以使用分布式集群实现数据的预缓存和计算任务的执行,从而提高数据的处理效率。
据此,本申请的技术方案,在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件。文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,数据文件包括待处理的批量数据。通过目标时间段的约束可以实现在特定时间进行数据文件的读取,提高数据读取效率。目标数据文件可以为满足存储条件的目标数据文件,可以实现文件的部分获取,实现数据文件的分布式存储,避免将大量数据文件集中到一个节点。之后可以响应于任务接收请求,接收批量计算任务,进而可以基于本地内存存储的目标数据文件中的批量数据,确定各个计算任务所涉及的目标数据。根据各个计算任务的目标数据执行计算任务,获得各个计算任务的任务处理结果。将计算任务以及计算任务所涉及的目标数据均可以来源于本地,因此,将数据和任务放置到一个节点中,可以实现在执行任务过程中,直接从本地获取相关的目标数据,不需要再临时从数据库读取数据,直接读取本地数据速度较快,可以通过提高数据读写性能,提高任务处理效率。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种批量数据处理方法的一个应用***架构图,该***可以包括:分布式集群11和文件存储***12,分布式集群11和文件存储***12可以存在有线或无线的通信连接。文件存储***12还可以和数据库13建立有线或无线的通信连接。
数据库13中可以存储大量的金融数据,例如,个股的价值数据、账户金额等,本实施例中对数据的具体类型或应用领域并不作出过多限定。文件存储***12和数据库13还可以分别与外部应用程序连接,外部应用程序可以安装于电子设备14上,外部应用程序可以向数据库13发送数据导出命令,控制数据库13将与计算任务相关的数据以数据文件的形式预先从数据库13导出到文件存储***12中。文件存储***12中可以包括预先导出的数据文件。
分布式集群11中可以包括至少一个计算节点110。对于分布式集群11中的任一个分布式计算节点110而言,可以配置本申请的批量数据处理方法,图1中示出了一个,其它分布式计算节点具备相同的功能,并基于本申请的批量数据处理方法,在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并通过后续的文件存储、任务接收以及任务执行等步骤,获得任务处理结果,实现数据文件的任务执行,本地获取数据可以减少数据读写需求,进而提升数据读写速度,提高数据处理效率。
此外,在一种可能的设计中,分布式集群11中的至少一个计算节点110可以连接结果数据库,在数据处理结束,获得任务处理结果之后,可以将任务处理节点先推送至本地的线程池,并在一定时间统一将结果线程池中的多个任务处理节点存储至结果数据库,实现结果的统一存储,不需要在数据处理过程中占用过多内存进行数据推送,进而降低节点的处理耗能,进一步提升数据处理效率。
如图2所示,为本申请实施例提供的一种批量数据处理方法的一个实施例的流程图,该方法可以配置为一批量数据处理装置,该批量数据处理装置可以位于分布式计算节点中,其中,批量数据处理方法可以包括以下几个步骤:
201:在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将目标数据文件存储至本地内存,文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,数据文件包括待处理的批量数据。
可选地,目标时间段可以为空闲时间段。可以将数据库的数据读写量较小的时间段作为目标时间段。例如可以将凌晨至5:00am的时间段作为目标时间段,当然还可以应用服务器与数据库之间的读写量进行实时检测,并在确定读写量小于读写阈值时,以该时间点作为起始时刻以及将该时间点与数据导出时长相加作为终止时刻,将起始时刻和终止时刻作为目标时间段。在目标时间段扫描文件存储***的文件存储路径时,可以按照预设扫描频率,在目标时间段扫描文件存储***的文件存储路径。
文件存储***可以为用于存储文件的配置于存储设备上的操作***,例如可以为FSS***(File System Store,文件存储***),ftp(File Transfer Protocol,文件共享存储***)等。本实施例中,文件存储***可以预先从数据库中导出至少一个数据文件并进行存储。
其中,至少一个数据文件可以包括分片数据文件和非分片数据文件。分片数据文件可以被拆分为至少一个子数据文件。非分片数据文件可以不被拆分,直接被分发到各分布式计算节点中。目标数据文件可以包括分片数据文件的子数据文件和非分片数据文件。当然,若某个分片数据文件未分片,目标数据文件还可以包括完整的分片数据文件。
可选地,满足存储条件可以指分片数据文件的子数据文件确定被存储至分布式计算节点,和/或非分片数据文件确定被存储至分布式计算节点。具体是子数据文件或者数据文件被分配到分布式计算节点,诸如数据文件的文件标识通过哈希计算获得的数值与分布式计算节点的节点标识相一致。例如,文件标识通过哈希计算获得的数值为1,分布式计算节点的节点标识为1,可以确定该文件标识为1的数据文件或子数据文件满足节点标识为1的分布式计算节点的存储条件。
本申请的批量数据处理方法的执行主体可以为分布式计算节点,分布式计算节点可以为分布式集群中的计算节点。分布式集群可以和文件存储***存在访问连接,文件存储***可以和数据库之间存在访问连接。文件存储***可以将至少一个数据文件预先导出并存储。
应用服务器可以为客户端对应的服务器。客户端可以向应用服务器发起计算任务,应用服务器可以基于计算任务从数据库获取读取数据。在实际应用中,计算任务数量较多时,可能会导致数据库的处理压力较大,针对实时性处理需求较低的计算任务可以采用本申请的技术方案。
本地内存可以为分布式计算节点的存储器,可以用于存储接收到的目标数据文件。目标数据文件可以为分发至分布式计算节点的数据文件。
可选地,文件存储路径可以为至少一个数据文件在分布式计算节点中的存储地址。文件存储路径可以预先设置,通过文件存储路径可以实现数据文件的准确写入或读取。例如可以设置文件存储路径包括分布式节点的节点名称、应用程序的名称、数据文件名称、数据类型、时间戳等信息。文件存储路径例如可以表示为:
~/${nodeName(节点名称)}/${app(应用程序的名称)}/${dataName(数据文件名称)}_${dataType(数据类型)}_${timestamp(时间戳)}
在具体存储时,分片数据文件和非分片数据文件可以分别存储,例如分片数据文件可以存储于第一文件路径,非分片数据文件可以存储于第二文件路径。第一文件路径和第二文件路径可以不同。例如,第一文件路径可以包括分布式节点的节点名称、应用程序的名称、分片属性标识、数据文件名称、数据类型、时间戳等信息。而第二文件路径可以包括分布式节点的节点名称、应用程序的名称、数据文件名称、数据类型、时间戳等信息。当然还可以在应用程序的名称和数据文件名称之间添加非分片属性标识。通过分片属性标识和非分片属性标识可以区别存储路径中存储的数据文件的分片属性,实现通过存储路径对数据文件的高效存储管理。
202:响应于任务接收请求,接收批量计算任务,批量计算任务包括多个计算任务。
任务接收请求可以为任务协调节点发送的。批量计算任务可以指通过应用服务器或者其它终端设备发起的数据处理任务,需要依赖于数据文件中的数据完成。计算任务可以由应用服务器或者其它终端设备发送到任务协调节点,由任务协调节点对计算任务进行分发。
可选地,可以在任意时间段执行任务的接收,以实现任务的及时处理。还可以在目标时间段执行计算任务的接收,目标时间段可以为空闲时间段,通过时间段约束任务接收可以实现任务的时间段执行,实现任务的执行。接收计算任务具体可以是接收批量计算任务。
203:基于本地内存存储的目标数据文件中的批量数据,确定批量计算任务中各个计算任务所涉及的目标数据。
可选地,步骤203可以包括:基于本地内存存储的目标数据文件中的批量数据,确定批量计算任务的各个计算任务分别涉及的目标数据。
目标数据文件可以存储批量数据,批量计算任务可以包括针对批量数据的批量计算任务,批量计算任务可以包括多个计算任务。也即,可以通过批量计算任务启动针对目标实际文件中批量数据的计算,可以获得各计算任务对应的目标数据。目标数据文件中的批量数据可能部分涉及到计算任务。因此,需要根据各个计算任务的任务需求,从目标数据文件的批量数据中,确定与各计算任务相匹配的目标数据。其中,与各计算任务相匹配的目标数据可以指与计算任务的任务信息相匹配的数据。其中,计算任务可以包括任务信息,任务利息例如可以包括任务名称、任务批次编号、任务参数(JSON)和任务相关数据等至少一种。任务信息可以定义任务的数据需求,可以通过任务信息获取与计算任务相关的目标数据。计算任务所涉及的目标数据可以包括至少一条。
204:根据各计算任务的目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。
可选地,步骤204可以包括:将各批量计算任务的目标数据输入到对应的计算任务以执行数据处理,获得该计算任务的任务处理结果。目标数据包括多个时,可以依次将每个计算任务的目标数据输入以执行数据处理,获得每个计算任务的任务处理结果。批量计算任务的批量处理结果可以包括多个计算任务分别对应的任务处理结果。
本申请实施例中,在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件。文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,数据文件包括待处理的批量数据。通过目标时间段的约束可以实现在特定时间进行数据文件的读取,提高数据读取效率。目标数据文件可以为满足存储条件的目标数据文件,可以实现文件的部分获取,实现数据文件的分布式存储,避免将大量数据文件集中到一个节点。之后可以响应于任务接收请求,接收批量计算任务,进而可以基于本地内存存储的目标数据文件中的批量数据,确定各个计算任务所涉及的目标数据。根据各个计算任务的目标数据执行计算任务,获得各个计算任务的任务处理结果。将计算任务以及计算任务所涉及的目标数据均可以来源于本地,因此,将数据和任务放置到一个节点中,可以实现在执行任务过程中,直接从本地获取相关的目标数据,不需要再临时从数据库读取数据,直接读取本地数据速度较快,可以通过提高数据读写性能,提高任务处理效率。
进一步地,在上述任一实施例的基础上,响应于任务发送请求,接收计算任务,包括:
响应于任务协调节点发送的任务接收请求,接收任务协调节点发送的任务执行通知消息;
基于任务执行通知消息,确定批量计算任务。
如图3所示,为本申请实施例提供的一种任务分发的示例图。参考图3,协调节点31可以接收来自联机接口的任务执行通知消息,通过响应该任务执行通知消息将计算任务分发至各分布式计算节点32。协调节点32还可以接收批量计算的任务执行通知消息,通过响应该任务执行通信将计算任务分发至各分布式计算节点。
可选地,任务协调节点可以连接应用服务器的接口或者其它终端设备的接口或者联机接口。通过联机接口接收批量计算任务,并通过PRC(Remote Procedure Call,远程过程调用)或者SOCKET(套接字)协议,将计算任务发送至分布式计算节点。分布式计算算计可以接收通过PRC或者SOCKET发送的计算任务。
其中,任务执行通知消息可以包括:直接通过联机接口发送的任务执行通知消息,或者通过批量文件确定的任务执行通知消息。具体地,基于任务执行通知消息,确定批量计算任务可以包括:接收联机接口发送的任务执行通知消息以获得任务执行通知消息中的批量计算任务。还可以包括:获取批量文件对应的任务执行通知消息,解析批量文件,获得批量文件对应的批量计算任务。
示例性地,任务分发时,可以分发的计算任务所需要的数据类型与各个计算节点实际存储的数据的数据类型进行类型匹配,使得分发的计算任务所需要的数据类型与计算节点存储的数据的数据类型相同,实现数据的正常存储和使用。另外,在实际应用中,各个计算节点获得的计算任务是相同的,可以实现同类计算任务的并发,提高任务处理效率。另外,还可以通过将计算任务的任务类型和计算节点的节点标识预关联的方式,将各类计算任务分发到对应节点标识关联的计算节点中,当然,此类方式中计算节点的节点标识也可以和实际的数据类型相适应,实现数据和任务的对应管理和分发,提高任务分发的有效性和针对性,提高数据处理效率。
本申请实施例中,可以通过任务协调节点进行计算任务的协调,可以实现批量计算任务的同一分发,提高任务的分发效率。另外,通过任务协调节点,可以实现对计算任务的有效分发,实现计算任务的高效处理。
如图4所示,与图2所示的实施例的步骤的不同之处在于,步骤203:接收计算任务之后,还包括:
401:将批量计算任务推送到任务线程池。
步骤204:根据各计算任务的目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果,包括:
402:通过任务线程池中的目标线程,分别执行各个计算任务对应的目标数据的数据处理,获得各个计算任务的任务处理结果。
可选地,任务线程池中的目标线程可以包括多个,每个目标线程可以用于执行计算任务,通过并发多个目标线程可以实现计算任务的并列执行,提高任务的执行效率和速度。在批量计算任务数量较多时,可以将通过任务线程池中的一个或多个目标线程分批执行批量计算任务,并在获得各计算任务的任务处理结果之后,将各计算任务的任务处理结果推送到结果线程池,在结果线程池中进行计算任务的结果预存储。
本申请实施例中,确定批量计算任务之后,可以将批量计算任务推送到任务线程池。任务线程池可以对批量计算任务进行任务存储,实现计算任务的有效存储。通过任务线程池中的目标线程可以分别执行各个计算任务对应的目标数据的数据处理,实现批量计算任务的分别执行,避免出现任务遗漏等现象,确保任务执行完整性。另外,通过任务线程池中的目标线程可以实现计算任务的高效执行,提高计算任务的执行效率和准确性。
进一步地,在上述任一实施例的基础上,根据目标数据,执行计算任务,获得任务处理结果,之后,还包括:
将各计算任务的任务处理结果推送到结果线程池,进行结果预存储;
响应于结果推送任务,将结果线程池中存储的多个计算任务分别对应的任务处理结果存储至结果数据库。
为了便于理解,如图5所示,为本申请实施例提供的一种任务执行的示例图。参考图5,分布式计算节点可以接收分发的计算任务,将计算任务推送到任务线程池51。之后,可以通过任务线程池中的目标线程执行计算任务52。计算任务52在执行时,可以调用任务实现521方法,并在任务实现过程中访问本地内存522中存储的目标数据,执行目标数据对应的计算任务,获得任务处理结果。任务处理结果被推送到结果线程池53。结果线程池53中可以对结果进行预存储。并在存在结果推送任务54时,通过执行结果推送任务54将结果线程池53中存储的多个任务处理结果一并存储至结果数据库55。
可选地,响应结果推送任务之前,还可以包括:确定结果线程池满足结果推送条件。结果线程池满足结果推送条件具体可以是,检测结果线程池中的任务处理结果的结果数量,若结果数量大于或等于数量阈值,则确定结果线程池满足推送条件。在达到数量阈值再对任务处理结果进行推送,可以实现一次推送多个任务处理结果,降低任务处理结果的推送效率,进而降低结果数据库的读写频率,减少结果数据库的读写压力。结果线程池满足结果推送条件具体还可以是:检测当前时间达到目标推送时间,则确定结果线程池满足推送条件。通过设置目标推送时间可以实现在特定时间推送任务处理结果,减少结果数据库的读写压力,实现结果的高效推送。目标推送时间可以为结果数据库的空闲时间。
其中,结果数据库可以包括Redis(Remote Dictionary Server,即远程字典服务)数据库,本实施例总对数据库的具体类型并不作出过多限定。
本申请实施例中,可以将各计算任务的任务处理结果推送到结果线程池,通过结果线程池将各计算任务的任务处理结果预先存储。并确定存在结果推送任务时,将结果线程池中存储的多个计算任务分别对应的任务处理结果存储至结果数据库。通过结果线程池的结果预存储,可以实现计算任务的任务处理结果的统一推送保存,减少结果的保存频率,进而提高数据存储安全性和准确性。
进一步地,在上述任一实施例的基础上,基于本地内存存储的目标数据文件中的批量数据,确定批量计算任务中各个计算任务所涉及的目标数据,包括:
从本地内存存储的目标数据文件的批量数据中读取批量计算任务中各个计算任务所涉及的本地数据;
根据各个计算任务对应的本地数据确定对应的目标数据。
可选地,各个计算任务对应的目标数据可以通过其本地数据确定。计算任务的目标数据可以包括该计算任务的目标数据。
本申请实施例中,可以从本地内存存储的目标数据文件的批量数据中读取批量计算任务中各个计算任务所涉及的本地数据,以根据各个计算任务对应的本地数据确定对应的目标数据。通过本地数据的读取,可以实现计算任务相关数据的本地获取,从本地获取数据可以极大提高数据的读写速度,进而提高各个计算任务的目标数据的获取效率,有效提升数据读写速度。
进一步地,在上述任一实施例的基础上,从本地内存存储的目标数据文件中读取计算任务所涉及的本地数据之后,还包括:
从数据库中读取批量计算任务中各个计算任务涉及的其它数据;
根据各个计算任务对应的本地数据确定对应的目标数据,包括:
将批量计算任务中各个计算任务对应的本地数据和其它数据结合获得对应的目标数据。
可选地,其它数据可以为数据库中与计算任务相关并且未存储于目标数据文件中的数据。通过其它数据的读取可以减少因本地的目标数据文件的数据的读写限制,确保获取计算任务所涉及的全部数据,提高计算任务执行的安全性。
本申请实施例中,针对各个计算任务可以从数据库中读取批量计算任务中各个计算任务所涉及的其它数据,实现对各个计算任务的部分数据的数据库读取,结合本地读取数据可以有效减少从数据库执行的数据读写量,进而降低和数据库之间的数据读写压力,提高数据读写效率。
进一步地,在上述任一实施例的基础上,在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,包括:
在目标时间段扫描文件存储***的文件存储路径,获得至少一个数据文件;
确定分布式集群对应的至少一个计算节点,至少一个计算节点包括分布式计算节点。
根据至少一个数据文件分别对应的文件信息,从至少一个计算节点中确定至少一个数据文件分别对应的目标计算节点;
根据至少一个数据文件分别对应的目标计算节点,确定目标计算节点为分布式计算节点的目标数据文件,以从文件存储路径中读取目标数据文件。
本申请实施例中,可以通过在目标时间段扫描文件存储***的文件存储路径,获得至少一个数据文件,并根据至少一个数据文件分别对应的文件信息,确定至少一个数据文件分别对应的目标计算节点,实现通过各个数据文件的文件信息对数据分别进行计算节点的分发。通过各个数据文件分别对应的目标计算节点可以获得属于分布式计算节点的目标数据文件,实现分布式计算节点的目标数据文件的读取,提高数据文件的分发效率和准确性。
进一步地,在上述任一实施例的基础上,分布式计算节点为分布式集群中的计算节点,分布式集群包括至少一个计算节点,根据至少一个数据文件分别对应的文件信息,从至少一个计算节点中确定至少一个数据文件分别对应的目标计算节点,包括:
将至少一个数据文件进行分片分类,获得分片数据文件和非分片数据文件;
将分片数据文件进行分片处理获得至少一个子数据文件。
针对分片数据文件,从至少一个计算节点中确定分片数据文件的每个子数据文件对应的目标计算节点;
针对非分片数据文件,从至少一个计算节点中确定非分片数据文件对应的目标计算节点,或者从至少一个计算节点中确定特定节点,确定特定节点为非分片数据文件的目标计算节点。
可选地,针对分片数据文件,从至少一个计算节点中确定分片数据文件的每个子数据文件对应的目标计算节点可以包括:针对分片数据文件,采用哈希算法,从至少一个计算节点中确定分片数据文件对应的目标计算节点。
其中,每个数据文件可以关联分片标识,分片标识可以包括可分片标识或不可分片标识。每个数据文件的分片标识可以确定数据文件的分片类别。例如,数据文件的分片标识为可分片标识,该数据文件可以为分片数据文件。数据文件的分片标识为不可分片标识,该数据文件可以为非分片数据文件。
可选地,针对非分片数据文件,从至少一个计算节点中确定非分片数据文件对应的目标计算节点,可以包括:针对非分片数据文件,采用哈希算法,从至少一个计算节点中确定非分片数据文件对应的目标计算节点。
通过哈希算法可以实现分片数据文件的至少一个子数据文件的分布式存储。通过哈希算法可以实现非分片数据文件的分布式存储,提高数据文件的存储安全性和有序性,可以实现数据文件的规律性存储和使用。
其中,特定节点可以为分布式集群中用于存储非分片数据文件的节点,可以通过节点指定或者节点筛选获得。节点指定具体可以是指定分布式集群中任一计算节点为特定节点。节点筛选具体可以是对分布式集群中各个计算节点进行存储空间检测,将存储空间满足使用需求的计算节点作为特定节点。存储空间使用需求例如可以包括存储空间大于存储量阈值,或者存储空间的占用率小于占用阈值。
为了便于理解,如图6所示,为本申请实施例提供的一种数据文件的分发示例图。参考图6,数据库61中的数据可以被分发至文件存储***62中。文件存储***62可以确定接收到的数据文件中的分片数据文件和非分片数据文件。例如分片数据文件可以命名为“pFile-1、pFile-2”,非分片数据文件可以命名为“npFile-1、npFile-2”。分片数据文件可以划分为若干子数据文件。
例如“pFile-1”可以被划分为“pFile-1-1、pFile-1-2、……pFile-1-n”等n个子数据文件。每个子数据分片可以通过哈希算法确定各子数据文件的目标计算节点。假设分布式集群63中的至少一个计算节点631-63n,以及特定节点64。分片数据文件分片后可以分发至分布式集群分开存储,例如,pFile-1-1被分发至分布式计算节点631,分布式计算节点631为子数据文件pFile-1-1的目标计算节点;pFile-1-2被分发至分布式计算节点632,分布式计算节点632为子数据文件pFile-1-2的目标计算节点。pFile-1-n被分发至分布式计算节点63n,分布式计算节点63n为子数据文件pFile-1-n的目标计算节点。
对于非分片文件,可以采用分布式存储,也可以采用特定节点存储。例如,可以将npFile-1以分布式方式存储于分布式计算节点63n,或者将npFile-1存储至特定节点64。
本申请实施例中,可以将至少一个数据文件进行分片分类,以获得分片数据文件和非分片数据文件。通过分片数据文件和非分片数据文件的分类,可以对至少一个数据文件按照其分片类别进行分发存储。对于分片数据文件而言,可以确定其至少一个子数据文件,并通过至少一个计算节点为分片数据文件的至少一个子数据文件进行分发,实现至少一个子数据文件的分布式存储。而对于非分片数据文件,则可以直接采用非分片数据文件的分发或者特定节点存储,实现非分片数据文件的分布式存储或者针对性存储。通过分布式存储可以实现数据文件的规律性存储,提高数据文件的存储效率和规律性。而对于规律存储的各个子数据文件和非分片数据文件可以实现文件的快速查询和使用,提高文件使用效率。
如图7所示,为本申请实施例提供的一种批量数据处理装置的一个实施例的结构示意图,该批量数据处理装置可以配置有前述实施例提供的批量数据处理方法,批量数据处理装置可以位于分布式计算节点中,该批量数据处理装置700可以包括以下几个单元:
文件获取单元701:用于在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将目标数据文件存储至本地内存,文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,数据文件包括待处理的批量数据。
任务接收单元702:用于响应于任务接收请求,接收批量计算任务,批量计算任务包括多个计算任务;
数据确定单元703:用于基于本地内存存储的目标数据文件中的批量数据,确定批量计算任务中各个计算任务所涉及的目标数据;
任务执行单元704:用于根据各计算任务的目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。
作为一个实施例,任务接收单元702,包括:
消息接收模块,用于响应于任务协调节点发送的任务接收请求,接收任务协调节点发送的任务执行通知消息;
任务确定模块,用于基于任务执行通知消息,确定批量计算任务。
作为又一个实施例,还包括:
任务推送单元,用于将批量计算任务推送到任务线程池;
任务执行单元704,包括:
任务执行模块,用于通过任务线程池中的目标线程,分别执行各个计算任务对应的目标数据的数据处理,获得各个计算任务的任务处理结果。
作为又一个实施例,还包括:
结果推送单元,用于将各计算任务的任务处理结果推送到结果线程池,进行结果预存储;
结果存储单元,用于响应于结果推送任务,将结果线程池中存储的多个计算任务分别对应的任务处理结果存储至结果数据库。
作为又一个实施例,数据确定单元703:
本地读取模块,用于从本地内存存储的目标数据文件的批量数据中读取批量计算任务中各个计算任务所涉及的本地数据;
目标确定模块,用于根据各个计算任务对应的本地数据确定对应的目标数据。
作为又一个实施例,还包括:
其它读取单元,用于从数据库中读取批量计算任务中各个计算任务涉及的其它数据;
目标确定模块,包括:
数据综合子模块,用于将批量计算任务中各个计算任务对应的本地数据和其它数据结合获得对应的目标数据。
作为又一个实施例,文件获取单元701包括:
第一确定模块,用于在目标时间段扫描文件存储***的文件存储路径,获得至少一个数据文件;
节点确定模块,用于确定分布式集群对应的至少一个计算节点,至少一个计算节点包括分布式计算节点;
文件分发模块,用于根据至少一个数据文件分别对应的文件信息,从至少一个计算节点中确定至少一个数据文件分别对应的目标计算节点;
第二确定模块,用于根据至少一个数据文件分别对应的目标计算节点,确定目标计算节点为分布式计算节点的目标数据文件,以从文件存储路径中读取目标数据文件。
作为又一个实施例,目标数据文件包括分片数据文件的子数据文件和/或非分片文件,文件分发模块,包括:
分片分类子模块,用于将至少一个数据文件进行分片分类,获得分片数据文件和非分片数据文件;
文件分片子模块,用于将分片数据文件进行分片处理获得至少一个子数据文件;
第一分发子模块,用于针对分片数据文件,从至少一个计算节点中确定分片数据文件的每个子数据文件对应的目标计算节点;
第二分发子模块,用于针对非分片数据文件,从至少一个计算节点中确定非分片数据文件对应的目标计算节点,或者从至少一个计算节点中确定特定节点,确定特定节点为非分片数据文件的目标计算节点。
本申请的批量数据处理装置可以用于执行批量数据处理方法,关于各个步骤的具体执行方式和技术效果可以参考与批量数据处理方法相关的实施例,在此不再赘述。
上述电子设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,简称RAN)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(Personal Communication Service,简称PCS)电话、无绳电话、会话发起协议(Session Initiation Protocol,简称SIP)话机、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字助理(Personal Digital Assistant,简称PDA)等设备。无线终端也可以称为***、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(MobileStation)、移动台(Mobile)、远程站(Remote Station)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device or User Equipment),在此不作限定。可选的,上述电子设备还可以是智能手表、平板电脑等设备。
图8是根据一示例性实施例示出的一种电子设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的批量数据处理方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态确认。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述批量数据处理方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述电子设备的批量数据处理方法。
此外,本申请还提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如上述任一实施例提供的批量数据处理方法中的任一种。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述任一实施例提供的批量数据处理方法中的任一种。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (11)
1.一种批量数据处理方法,其特征在于,应用于分布式计算节点,所述方法包括:
在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将所述目标数据文件存储至本地内存,所述文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,所述数据文件包括待处理的批量数据;
响应于任务接收请求,接收批量计算任务,所述批量计算任务包括多个计算任务;
基于所述本地内存存储的所述目标数据文件中的批量数据,确定所述批量计算任务中各个计算任务所涉及的目标数据;
根据各计算任务的所述目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。
2.根据权利要求1所述的方法,其特征在于,所述响应于任务发送请求,接收批量计算任务,包括:
响应于任务协调节点发送的任务接收请求,接收所述任务协调节点发送的任务执行通知消息;
基于任务执行通知消息,确定批量计算任务。
3.根据权利要求1所述的方法,其特征在于,所述接收所述计算任务之后,还包括:
将所述批量计算任务推送到任务线程池;
所述根据各计算任务的所述目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果,包括:
通过所述任务线程池中的目标线程,分别执行各个计算任务对应的所述目标数据的数据处理,获得各个计算任务的任务处理结果。
4.根据权利要求1所述的方法,其特征在于,所述根据各计算任务的所述目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果之后,还包括:
将所述各计算任务的任务处理结果推送到结果线程池,进行结果预存储;
响应于结果推送任务,将结果线程池中存储的多个所述计算任务分别对应的任务处理结果存储至结果数据库。
5.根据权利要求1所述的方法,其特征在于,所述基于所述本地内存存储的所述目标数据文件中的批量数据,确定所述批量计算任务中各个计算任务所涉及的目标数据,包括:
从所述本地内存存储的所述目标数据文件的批量数据中读取所述批量计算任务中各个计算任务所涉及的本地数据;
根据各个计算任务对应的所述本地数据确定对应的目标数据。
6.根据权利要求5所述的方法,其特征在于,所述从所述本地内存存储的所述目标数据文件的批量数据中读取所述批量计算任务中各个计算任务所涉及的本地数据之后,还包括:
从数据库中读取所述批量计算任务中各个计算任务涉及的其它数据;
所述根据各个计算任务对应的所述本地数据确定对应的目标数据,包括:
将所述批量计算任务中各个计算任务对应的本地数据和所述其它数据结合获得对应的目标数据。
7.根据权利要求1所述的方法,其特征在于,所述在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,包括:
在目标时间段扫描所述文件存储***的文件存储路径,获得至少一个数据文件;
确定分布式集群对应的至少一个计算节点,至少一个所述计算节点包括所述分布式计算节点;
根据至少一个所述数据文件分别对应的文件信息,从至少一个所述计算节点中确定至少一个所述数据文件分别对应的目标计算节点;
根据至少一个所述数据文件分别对应的目标计算节点,确定目标计算节点为所述分布式计算节点的目标数据文件,以从所述文件存储路径中读取所述目标数据文件。
8.根据权利要求7所述的方法,其特征在于,所述目标数据文件包括分片数据文件的子数据文件和/或非分片文件,所述根据至少一个所述数据文件分别对应的文件信息,从至少一个所述计算节点中确定至少一个所述数据文件分别对应的目标计算节点,包括:
将至少一个数据文件进行分片分类,获得分片数据文件和非分片数据文件;
将所述分片数据文件进行分片处理获得至少一个子数据文件;
针对所述分片数据文件,从至少一个所述计算节点中确定所述分片数据文件的每个子数据文件对应的目标计算节点;
针对所述非分片数据文件,从至少一个所述计算节点中确定所述非分片数据文件对应的目标计算节点,或者从至少一个所述计算节点中确定特定节点,确定所述特定节点为所述非分片数据文件的目标计算节点。
9.一种批量数据处理装置,其特征在于,位于分布式计算节点,所述装置包括:
文件获取单元,用于在目标时间段扫描文件存储***的文件存储路径,获得满足存储条件的目标数据文件,并将所述目标数据文件存储至本地内存,所述文件存储***中用于存储应用服务器从数据库预先导出的至少一个数据文件,所述数据文件包括待处理的批量数据;
任务接收单元,用于响应于任务接收请求,接收批量计算任务,所述批量计算任务包括多个计算任务;
数据确定单元,用于基于所述本地内存存储的所述目标数据文件中的批量数据,确定所述批量计算任务中各个计算任务所涉及的目标数据;
任务执行单元,用于根据各计算任务的所述目标数据,分别执行各个计算任务,获得各计算任务的任务处理结果。
10.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8所述的批量数据处理方法中的任一种。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8所述的批量数据处理方法中的任一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310275031.7A CN116303303A (zh) | 2023-03-20 | 2023-03-20 | 批量数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310275031.7A CN116303303A (zh) | 2023-03-20 | 2023-03-20 | 批量数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116303303A true CN116303303A (zh) | 2023-06-23 |
Family
ID=86814661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310275031.7A Pending CN116303303A (zh) | 2023-03-20 | 2023-03-20 | 批量数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116303303A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061516A (zh) * | 2023-09-01 | 2023-11-14 | 翼方健数(北京)信息科技有限公司 | 基于分布式的多方安全计算方法、***和可读存储介质 |
-
2023
- 2023-03-20 CN CN202310275031.7A patent/CN116303303A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061516A (zh) * | 2023-09-01 | 2023-11-14 | 翼方健数(北京)信息科技有限公司 | 基于分布式的多方安全计算方法、***和可读存储介质 |
CN117061516B (zh) * | 2023-09-01 | 2024-04-26 | 翼方健数(北京)信息科技有限公司 | 基于分布式的多方安全计算方法、***和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107896243B (zh) | 网络数据加载的加速方法、装置、存储介质及移动终端 | |
CN106878445B (zh) | 资源文件更新方法及装置 | |
CN106302996B (zh) | 消息显示方法及装置 | |
US20220038405A1 (en) | Method and apparatus for updating group member data, and terminal, system and storage medium | |
EP4340323A1 (en) | Message sending method and apparatus, and device and storage medium | |
CN116303303A (zh) | 批量数据处理方法、装置、设备及介质 | |
CN107402767B (zh) | 显示推送消息的方法和装置 | |
US20210132855A1 (en) | Method and device for detecting slow node and computer-readable storage medium | |
CN110908814A (zh) | 消息处理方法、装置、电子设备及存储介质 | |
CN115422203A (zh) | 区块链分布式***的数据管理方法、装置、设备及介质 | |
CN114172964B (zh) | 内容分发网络的调度方法、装置、通信设备及存储介质 | |
CN113268179B (zh) | 会话消息处理方法、装置、设备及存储介质 | |
CN115587860A (zh) | 业务处理方法、装置、存储介质及电子设备 | |
CN114428589A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114281859A (zh) | 数据处理方法、设备及存储介质 | |
CN114066370A (zh) | 库存服务调用方法、装置、设备、存储介质及程序产品 | |
CN111526084A (zh) | 信息处理方法、装置、设备及存储介质 | |
CN113378022A (zh) | 一种站内搜索平台、搜索方法和相关装置 | |
CN114238728B (zh) | 车辆数据的处理方法、装置和设备 | |
CN117130692B (zh) | 应用管理方法、装置、电子设备及存储介质 | |
CN111881151B (zh) | 一种交通违法数据管理方法、装置及服务器 | |
CN111104575A (zh) | 数据抓取方法、装置及电子设备 | |
CN108197001B (zh) | 数据统计方法、装置及电子设备 | |
CN111625536B (zh) | 一种数据访问方法及装置 | |
CN112201236B (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 |