CN113504995A - 批量数据处理方法、装置、计算机设备及存储介质 - Google Patents
批量数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113504995A CN113504995A CN202110848026.1A CN202110848026A CN113504995A CN 113504995 A CN113504995 A CN 113504995A CN 202110848026 A CN202110848026 A CN 202110848026A CN 113504995 A CN113504995 A CN 113504995A
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- node
- factor
- index
- 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 27
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 340
- 230000005540 biological transmission Effects 0.000 claims abstract description 83
- 238000009826 distribution Methods 0.000 claims abstract description 62
- 238000011156 evaluation Methods 0.000 claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims description 22
- 238000013139 quantization Methods 0.000 claims description 11
- 230000002159 abnormal effect Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 abstract description 25
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
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
本申请实施例属于云技术领域,涉及一种批量数据处理方法、装置、计算机设备及存储介质,方法包括:接收到数据处理指令时,根据集群中各节点的数据处理因子计算各节点的数据处理指数;基于数据处理指数计算集群的数据处理波动指数;当数据处理波动指数大于预设的波动指数阈值时,获取各节点的传输评估因子;根据数据处理因子和传输评估因子计算各节点的数据分配比重;按照数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;指示节点依据数据分配比重获取待分配数据,并指示节点对待分配数据进行数据处理,得到已处理数据。此外,本申请还涉及区块链技术,数据处理因子和传输评估因子可存储于区块链中。本申请提高了批量数据处理效率。
Description
技术领域
本申请涉及云技术领域,尤其涉及一种批量数据处理方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,越来越多的业务系统都采用云技术处理批量数据。批量数据的处理可以通过定时任务实现,通常由分布式调度系统指定集群中某台服务器在某个时间点执行处理任务。然而,这种传统的批量数据处理技术会导致集群资源空闲浪费,减低业务系统批量数据的处理速度;同时单台服务器在处理大批量的数据时,往往会导致服务器内存资源吃紧,致使应用程序乃至系统崩溃,影响批量数据处理速度。
发明内容
本申请实施例的目的在于提出一种批量数据处理方法、装置、计算机设备及存储介质,以解决批量数据处理速度较低的问题。
为了解决上述技术问题,本申请实施例提供一种批量数据处理方法,采用了如下所述的技术方案:
当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数;
基于计算得到的数据处理指数,计算所述集群的数据处理波动指数;
当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子;
根据所述数据处理因子和所述传输评估因子计算所述各节点的数据分配比重;
按照所述数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;
指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据。
为了解决上述技术问题,本申请实施例还提供一种批量数据处理装置,采用了如下所述的技术方案:
指数计算模块,用于当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数;
波动计算模块,用于基于计算得到的数据处理指数,计算所述集群的数据处理波动指数;
传输获取模块,用于当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子;
比重计算模块,用于根据所述数据处理因子和所述传输评估因子计算所述各节点的数据分配比重;
数据划分模块,用于按照所述数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;
节点指示模块,用于指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数;
基于计算得到的数据处理指数,计算所述集群的数据处理波动指数;
当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子;
根据所述数据处理因子和所述传输评估因子计算所述各节点的数据分配比重;
按照所述数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;
指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数;
基于计算得到的数据处理指数,计算所述集群的数据处理波动指数;
当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子;
根据所述数据处理因子和所述传输评估因子计算所述各节点的数据分配比重;
按照所述数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;
指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据。
与现有技术相比,本申请实施例主要有以下有益效果:接收到数据处理指令后,先根据各节点的数据处理因子计算各节点的数据处理指数,数据处理因子从不同层面反应节点的数据处理能力,数据处理指数是对节点数据处理能力的综合表征;基于数据处理指数计算集群的数据处理波动指数,数据处理波动指数表征了各节点数据处理能力的差异;当数据处理波动指数大于波动指数阈值时,表明各节点数据处理能力差异较大,需要针对性地进行数据划分;获取各节点的传输评估因子,传输评估因子可以表征向各节点传输数据的难易与速度;结合数据处理因子和传输评估因子计算各节点的数据分配比重,依据数据分配比重对待处理批量数据进行划分,兼顾了数据处理因素以及传输难易因素,各节点按照数据分配比重获取待分配数据,保证了数据获取速度以及数据处理速度,提高了批量数据处理效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的批量数据处理方法的一个实施例的流程图;
图3是根据本申请的批量数据处理装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102,网络103、调度服务器104和服务器105、106、107。网络103用以在终端设备101、102、和调度服务器104之间,以及调度服务器104和服务器105、106、107之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102通过网络103与调度服务器104交互,以接收或发送消息等。终端设备101、102上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
调度服务器104可以是提供各种服务的服务器,例如对终端设备101、102上显示的页面提供支持的后台服务器。服务器105、106、107中运行有分布式系统中的节点,服务器105、106、107中的节点在调度服务器104的控制与调度下对待处理批量数据进行处理。
需要说明的是,本申请实施例所提供的批量数据处理方法一般由调度服务器执行,相应地,批量数据处理装置一般设置于调度服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的批量数据处理方法的一个实施例的流程图。所述的批量数据处理方法,包括以下步骤:
步骤S201,当接收到数据处理指令时,根据集群中各节点的数据处理因子计算各节点的数据处理指数。
在本实施例中,批量数据处理方法运行于其上的电子设备(例如图1所示的调度服务器)可以通过有线连接方式或者无线连接方式与其他服务器进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
其中,数据处理指令可以是指示调度服务器对待处理批量数据进行处理的指令。
具体地,调度服务器在接收到数据处理指令后,执行本申请的批量数据处理方法。数据处理指令可以通过定时任务触发,也可以由人工触发。调度服务器所在的集群中有多个节点,各节点受到调度服务器的调度和控制。
调度服务器根据数据处理指令获取各节点的数据处理因子,数据处理因子是衡量节点数据处理能力的指标,不同的数据处理因子从不同的方面衡量节点的数据处理能力。
调度服务器可以按照预测的处理因子计算策略,对每个节点的数据处理因子进行计算,得到各节点所对应的数据处理指数。数据处理指数是对节点数据处理能力的综合表征,在一个实施例中,数据处理指数可以是一个数字,数字数值越大,代表节点的数据处理能力越强。
进一步的,上述步骤S201可以包括:当接收到数据处理指令时,获取集群中各节点的数据处理因子及其对应的处理指数权重,数据处理因子包括硬件性能因子、处理性能因子和节点异常因子;根据硬件性能因子、处理性能因子和节点异常因子各自对应的处理指数权重,对硬件性能因子、处理性能因子和节点异常因子进行计算,得到各节点的数据处理指数。
具体地,当调度服务器接收到数据处理指令时,获取集群中每个节点的数据处理因子。数据处理因子可以包括硬件性能因子、处理性能因子和节点异常因子。
调度服务器可以先获取各节点的数据处理参数,数据处理参数包括硬件性能参数、处理性能参数和节点异常参数。其中,硬件性能参数反应了节点的硬件条件,包括节点的CPU主频和内存容量。其中,CPU主频即CPU(中央处理器,central processing unit,简称CPU)的时钟频率,时钟频率的高低在很大程度上反映了CPU速度的快慢。此外,硬件性能参数还可以包括节点的网络带宽和磁盘最大读写速度。
处理性能参数可以是节点单位时间内所能完成的计算量。
节点异常参数包括失效时间比率和任务失败比率。其中,失效时间比率可以是节点在预设的统计时间内,因故障无法正常工作的时间与预设统计时间的比值;任务失败比率可以是节点运行失败的任务数与节点运行的任务总数的比值。
每种数据处理参数都对应有量化策略,根据量化策略可以对数据处理参数进行数值转化,将其数值控制在预设的区间内,从而得到数据处理因子。调度服务器对硬件性能参数进行量化后得到硬件性能因子,对处理性能参数进行量化后得到处理性能因子,对节点异常参数进行量化后得到节点异常因子。
每种数据处理因子都预设了处理指数权重,对于每个节点,根据处理指数权重对节点的硬件性能因子、处理性能因子和节点异常因子进行加权计算,从而得到各节点的数据处理指数。
在一个实施例中,调度服务器读取各节点的运行日志,根据运行日志,对节点在过去的预设时间段内的运行状态进行统计,得到各节点的处理性能因子和节点异常因子。
本实施例中,获取各节点的数据处理因子,数据处理因子可以从不同角度表征节点的数据处理能力,对数据处理因子进行加权计算,从而得到从整体衡量节点数据处理能力的数据处理指数。
步骤S202,基于计算得到的数据处理指数,计算集群的数据处理波动指数。
其中,数据处理波动指数可以衡量各节点数据处理能力的差异大小。
具体地,在得到各节点的数据处理指数后,需要计算数据处理波动指数,以判定各节点数据处理能力是否差别过大。可以通过最值插值法、百分数衡量法和差异系数(coefficient of variation,CV)来计算数据处理波动指数。其中,最值插值法是计算数据处理指数中,最大值和最小值的差值的绝对值;百分数衡量法是计算数据处理指数中最大值和最小值的差值,与数据处理指数均值的百分比。
进一步的,上述步骤S202可以包括:计算数据处理指数的方差;将方差确定为集群的数据处理波动指数。
具体地,方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。本申请可以直接计算各数据处理指数的方法,将方差作为集群的数据处理波动指数。此外,还可以将数据处理指数的标准差、平均差作为数据处理波动指数。
本实施例中,计算数据处理指数的方差作为集群的数据处理波动指数,简单有效地实现节点数据处理能力差异的度量。
步骤S203,当数据处理波动指数大于预设的波动指数阈值时,获取各节点的传输评估因子。
具体地,预设了波动指数阈值,当数据处理波动指数大于预设的波动指数阈值时,表明各节点的数据处理能力具有较大差异。此时,可以针对性地给节点分配数据,以便提升整个集群的数据处理速度。
因此,在数据处理波动指数大于波动指数阈值时,可以针对各节点重新进行计算,以确定给各节点分配多少数据。此时,需要再获取各节点的传输评估因子。传输评估因子衡量了与节点进行数据传输的难易与速度,不同的传输评估因子从不同的方面衡量与节点进行数据传输的难易与速度。
进一步的,上述步骤S203可以包括:当数据处理波动指数大于预设的波动指数阈值时,获取各节点的传输参数;根据预设的量化策略对传输参数进行量化,得到各节点的传输评估因子,传输评估因子包括路径跳数因子、网络带宽因子和磁盘读写因子。
具体地,当数据处理波动指数大于预设的波动指数阈值时,调度服务器获取每个节点的传输参数,传输参数包括路径跳数、节点的网络带宽,磁盘读写速度。其中,路径跳数是向节点传输数据时,数据在传输路径中所经过的跳数;磁盘读写速度可以是节点中磁盘的平均读写速度或者最大读写速度。
传输参数对应有量化策略,根据量化策略,将传输参数进行数值调整,将其数值控制在预设的区间内。量化策略可以通过公式实现;或者根据传输参数所在的数值区间,输出量化后的结果。
调度服务器对路径跳数进行量化后可以得到路径跳数因子,对网络带宽进行量化后可以得到网络带宽因子,对磁盘读写速度进行量化后可以得到磁盘读写因子。每个节点的路径跳数因子、网络带宽因子和磁盘读写因子构成了节点的传输评估因子。
需要强调的是,为进一步保证上述数据处理因子和传输评估因子的私密和安全性,上述数据处理因子和传输评估因子还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本实施例中,当数据处理波动指数大于波动指数阈值时,获取各节点的各种传输评估因子,为待处理批量数据的针对性划分做好准备。
步骤S204,根据数据处理因子和传输评估因子计算各节点的数据分配比重。
具体地,每种数据处理因子和传输评估因子都预设了权重,根据权重对数据处理因子和传输评估因子进行加权计算,得到各节点的数据分配指数;再对数据分配指数进行归一化,得到各节点的数据分配比重。其中,各节点的数据分配比重是大于0但小于1的数字,且各节点的数据分配比重相加等于1。数据分配比重表征了所要分配给节点的数据量,在待处理批量数据总的数据量中所占的比例。
数据处理因子和传输评估因子的权重可以灵活调整。在一个实施例中,数据处理因子所占的权重较高,对数据分配比重的计算具有较大影响。
步骤S205,按照数据分配比重对待处理批量数据进行划分,得到若干组待分配数据。
具体地,调度服务器根据数据分配比重对待处理批量数据进行划分,得到若干组待分配数据。对于一组待分配数据,其数据量等于待处理批量数据的总数据量与一个数据分配比重的乘积。
步骤S206,指示节点依据数据分配比重获取待分配数据,并指示节点对待分配数据进行数据处理,得到已处理数据。
具体地,每个节点都对应有一个数据分配比重,每个数据分配比重对应有一组待分配数据,因此每个节点都对应有一组待分配数据。调度服务器指示各节点从数据库中获取与其相对应的待分配数据。当节点将待分配数据加载至本地后,再对待分配数据进行数据处理,得到已处理数据,从而实现对待处理批量数据的处理。
本实施例中,接收到数据处理指令后,先根据各节点的数据处理因子计算各节点的数据处理指数,数据处理因子从不同层面反应节点的数据处理能力,数据处理指数是对节点数据处理能力的综合表征;基于数据处理指数计算集群的数据处理波动指数,数据处理波动指数表征了各节点数据处理能力的差异;当数据处理波动指数大于波动指数阈值时,表明各节点数据处理能力差异较大,需要针对性地进行数据划分;获取各节点的传输评估因子,传输评估因子可以表征向各节点传输数据的难易与速度;结合数据处理因子和传输评估因子计算各节点的数据分配比重,依据数据分配比重对待处理批量数据进行划分,兼顾了数据处理因素以及传输难易因素,各节点按照数据分配比重获取待分配数据,保证了数据获取速度以及数据处理速度,提高了批量数据处理效率。
进一步的,上述步骤S202之后,还可以包括:当数据处理波动指数不大于预设的波动指数阈值时,根据集群节点数量对待处理批量数据进行随机划分,得到若干组待分发数据;指示各节点获取待分发数据,并通过各节点对获取到的待分发数据进行处理,得到处理完成数据。
具体地,当数据处理波动指数小于预设的波动指数阈值时,表明各节点数据处理能力差异较小,可以对待处理批量数据进行随机均分,得到若干组待分发数据,其中,待分发数据的组数与集群中的节点数量相同。
调度服务器指示各节点从数据库中随机获取待分发数据,各节点将待分发数据加载到本地后,再对待分发数据进行数据处理,得到处理完成数据。
在一个实施例中,各节点具有分片参数,且各节点的分片参数组成从1开始的自然数数列。对于待处理批量数据中的每条待处理数据,服务器将待处理数据的数据主键哈希之后与节点总数做取余运算,得到的余数与哪个节点的分片参数相等,便将该条待处理数据发送至哪个节点。
本实施例中,当数据处理波动指数小于波动指数阈值时,表明节点间数据处理能力差异较小,可以直接对待处理批量数据进行随机均分,让各节点随机获取待分发数据,提高了批量数据处理效率。
进一步的,在一个实施例中,上述步骤S206可以包括:对于集群中的各节点,根据节点所对应的数据分配比重生成第一数据获取指令;将第一数据获取指令发送至节点,第一数据获取指令用于指示节点通过若干数量的线程获取待分配数据,并对待分配数据进行数据处理,得到已处理数据。
具体地,集群中的每个节点都对应有一个数据分配比重,调度服务器可以根据节点的数据分配比重生成第一数据获取指令,并将第一数据获取指令发送至该节点。该节点接收到第一数据获取指令后,从数据库中获取与自己的数据分配比重相对应的待分配数据。
节点从数据库中获取待分配数据时,可以采用多线程读取的策略。节点可以开启若干个数据获取线程,各数据获取线程同时读取待分配数据,以避免各线程需要读取过多数据。
在一个实施例中,可以采用多线程分批读取的策略。节点可以开启若干个数据获取线程,各数据获取线程从待分配数据中,每次同时读取预设数量的待处理数据,且每个数据获取线程可以分多次读取,以避免各线程单次读取过多数据,造成节点运行紧张。
节点将待分配数据加载到本地后,还可以采用多个数据处理线程进行并行处理,从而提高得到已处理数据的速度。
本实施例中,指示节点采用多线程的方式读取数据、处理数据,提高了批量数据处理速度。
进一步的,在另一个实施例中,上述步骤S206可以包括:对于集群中的各节点,根据节点所对应的数据分配比重生成第二数据获取指令;将第二数据获取指令发送至节点,并通过分布式锁将节点设置为锁定状态,第二数据获取指令用于指示节点获取待分配数据,并对待分配数据进行数据处理,得到已处理数据;当接收到节点返回的数据处理完成信息时,通过分布式锁将节点设置为空闲状态。
具体地,集群中的每个节点都对应有一个数据分配比重,调度服务器可以根据节点的数据分配比重生成第二数据获取指令,并将第二数据获取指令发送至该节点。该节点接收到第二数据获取指令后,从数据库中获取与自己的数据分配比重相对应的待分配数据。
调度服务器将第二数据获取指令发送至节点后,还可以通过分布式锁将节点设置为锁定状态,当节点处于锁定状态时,节点不可以再被调用,这样可以避免节点被重复调用造成数据重复,或者节点同时执行多种调度任务造成内存资源紧张、程序出错或崩溃。在一个实施例中,可以通过Redis实现分布式锁。
当节点获取到待分配数据后,再对待分配数据进行处理,并在处理完成后,向调度服务器发送数据处理完成信息。调度服务器在接收到数据处理完成信息后,通过分布式锁将节点设置为空闲状态,此时,节点可以被调度。
本实施例中,在节点获取数据、处理数据时,通过分布式锁对节点是否可以被调度进行控制,从而避免节点运行出错,提高了批量数据处理的准确性。
在一个实施例中,调度服务器中设置有阿波罗系统,阿波罗(Appollo)是一种配置管理中心,可以集中化管理不同应用环境、不同集群的配置,且配置修改后可以实时生效,无需系统下线重启。本申请中,数据处理因子的种类和权重,传输评估因子的种类和权重,节点的数量,波动指数阈值,量化策略等,都可以通过阿波罗即时修改即时生效,且无需修改各节点中的配置信息,提高了集群的可扩展性与灵活性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种批量数据处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的批量数据处理装置300包括:指数计算模块301、波动计算模块302、传输获取模块303、比重计算模块304、数据划分模块305以及节点指示模块306,其中:
指数计算模块301,用于当接收到数据处理指令时,根据集群中各节点的数据处理因子计算各节点的数据处理指数。
波动计算模块302,用于基于计算得到的数据处理指数,计算集群的数据处理波动指数。
传输获取模块303,用于当数据处理波动指数大于预设的波动指数阈值时,获取各节点的传输评估因子。
比重计算模块304,用于根据数据处理因子和传输评估因子计算各节点的数据分配比重。
数据划分模块305,用于按照数据分配比重对待处理批量数据进行划分,得到若干组待分配数据。
节点指示模块306,用于指示节点依据数据分配比重获取待分配数据,并指示节点对待分配数据进行数据处理,得到已处理数据。
本实施例中,接收到数据处理指令后,先根据各节点的数据处理因子计算各节点的数据处理指数,数据处理因子从不同层面反应节点的数据处理能力,数据处理指数是对节点数据处理能力的综合表征;基于数据处理指数计算集群的数据处理波动指数,数据处理波动指数表征了各节点数据处理能力的差异;当数据处理波动指数大于波动指数阈值时,表明各节点数据处理能力差异较大,需要针对性地进行数据划分;获取各节点的传输评估因子,传输评估因子可以表征向各节点传输数据的难易与速度;结合数据处理因子和传输评估因子计算各节点的数据分配比重,依据数据分配比重对待处理批量数据进行划分,兼顾了数据处理因素以及传输难易因素,各节点按照数据分配比重获取待分配数据,保证了数据获取速度以及数据处理速度,提高了批量数据处理效率。
在本实施例的一些可选的实现方式中,指数计算模块301可以包括:因子获取子模块以及指数计算子模块,其中:
因子获取子模块,用于当接收到数据处理指令时,获取集群中各节点的数据处理因子及其对应的处理指数权重,数据处理因子包括硬件性能因子、处理性能因子和节点异常因子。
指数计算子模块,用于根据硬件性能因子、处理性能因子和节点异常因子各自对应的处理指数权重,对硬件性能因子、处理性能因子和节点异常因子进行计算,得到各节点的数据处理指数。
本实施例中,获取各节点的数据处理因子,数据处理因子可以从不同角度表征节点的数据处理能力,对数据处理因子进行加权计算,从而得到从整体衡量节点数据处理能力的数据处理指数。
在本实施例的一些可选的实现方式中,波动计算模块302可以包括:方差计算子模块以及方差确定子模块,其中:
方差计算子模块,用于计算数据处理指数的方差。
方差确定子模块,用于将方差确定为集群的数据处理波动指数。
本实施例中,计算数据处理指数的方差作为集群的数据处理波动指数,简单有效地实现节点数据处理能力差异的度量。
在本实施例的一些可选的实现方式中,批量数据处理装置300还可以包括:随机划分模块以及数据分配模块,其中:
随机划分模块,用于当数据处理波动指数不大于预设的波动指数阈值时,根据集群节点数量对待处理批量数据进行随机划分,得到若干组待分发数据。
数据分配模块,用于指示各节点获取待分发数据,并通过各节点对获取到的待分发数据进行处理,得到处理完成数据。
本实施例中,当数据处理波动指数小于波动指数阈值时,表明节点间数据处理能力差异较小,可以直接对待处理批量数据进行随机均分,让各节点随机获取待分发数据,提高了批量数据处理效率。
在本实施例的一些可选的实现方式中,传输获取模块303可以包括:参数获取子模块以及参数量化子模块,其中:
参数获取子模块,用于当数据处理波动指数大于预设的波动指数阈值时,获取各节点的传输参数。
参数量化子模块,用于根据预设的量化策略对传输参数进行量化,得到各节点的传输评估因子,传输评估因子包括路径跳数因子、网络带宽因子和磁盘读写因子。
本实施例中,当数据处理波动指数大于波动指数阈值时,获取各节点的各种传输评估因子,为待处理批量数据的针对性划分做好准备。
在本实施例的一些可选的实现方式中,节点指示模块306可以包括:指令生成子模块以及指令发送子模块,其中:
指令生成子模块,用于对于集群中的各节点,根据节点所对应的数据分配比重生成第一数据获取指令。
指令发送子模块,用于将第一数据获取指令发送至节点,第一数据获取指令用于指示节点通过若干数量的线程获取待分配数据,并对待分配数据进行数据处理,得到已处理数据。
本实施例中,指示节点采用多线程的方式读取数据、处理数据,提高了批量数据处理速度。
在本实施例的另一些可选的实现方式中,节点指示模块306可以包括:获取指令生成子模块、锁定设置子模块以及空闲设置子模块,其中:
获取指令生成子模块,用于对于集群中的各节点,根据节点所对应的数据分配比重生成第二数据获取指令。
锁定设置子模块,用于将第二数据获取指令发送至节点,并通过分布式锁将节点设置为锁定状态,第二数据获取指令用于指示节点获取待分配数据,并对待分配数据进行数据处理,得到已处理数据。
空闲设置子模块,用于当接收到节点返回的数据处理完成信息时,通过分布式锁将节点设置为空闲状态。
本实施例中,在节点获取数据、处理数据时,通过分布式锁对节点是否可以被调度进行控制,从而避免节点运行出错,提高了批量数据处理的准确性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如批量数据处理方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述批量数据处理方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中提供的计算机设备可以执行上述批量数据处理方法。此处批量数据处理方法可以是上述各个实施例的批量数据处理方法。
本实施例中,接收到数据处理指令后,先根据各节点的数据处理因子计算各节点的数据处理指数,数据处理因子从不同层面反应节点的数据处理能力,数据处理指数是对节点数据处理能力的综合表征;基于数据处理指数计算集群的数据处理波动指数,数据处理波动指数表征了各节点数据处理能力的差异;当数据处理波动指数大于波动指数阈值时,表明各节点数据处理能力差异较大,需要针对性地进行数据划分;获取各节点的传输评估因子,传输评估因子可以表征向各节点传输数据的难易与速度;结合数据处理因子和传输评估因子计算各节点的数据分配比重,依据数据分配比重对待处理批量数据进行划分,兼顾了数据处理因素以及传输难易因素,各节点按照数据分配比重获取待分配数据,保证了数据获取速度以及数据处理速度,提高了批量数据处理效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的批量数据处理方法的步骤。
本实施例中,接收到数据处理指令后,先根据各节点的数据处理因子计算各节点的数据处理指数,数据处理因子从不同层面反应节点的数据处理能力,数据处理指数是对节点数据处理能力的综合表征;基于数据处理指数计算集群的数据处理波动指数,数据处理波动指数表征了各节点数据处理能力的差异;当数据处理波动指数大于波动指数阈值时,表明各节点数据处理能力差异较大,需要针对性地进行数据划分;获取各节点的传输评估因子,传输评估因子可以表征向各节点传输数据的难易与速度;结合数据处理因子和传输评估因子计算各节点的数据分配比重,依据数据分配比重对待处理批量数据进行划分,兼顾了数据处理因素以及传输难易因素,各节点按照数据分配比重获取待分配数据,保证了数据获取速度以及数据处理速度,提高了批量数据处理效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种批量数据处理方法,其特征在于,包括下述步骤:
当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数;
基于计算得到的数据处理指数,计算所述集群的数据处理波动指数;
当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子;
根据所述数据处理因子和所述传输评估因子计算所述各节点的数据分配比重;
按照所述数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;
指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据。
2.根据权利要求1所述的批量数据处理方法,其特征在于,所述当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数的步骤包括:
当接收到数据处理指令时,获取集群中各节点的数据处理因子及其对应的处理指数权重,所述数据处理因子包括硬件性能因子、处理性能因子和节点异常因子;
根据所述硬件性能因子、所述处理性能因子和所述节点异常因子各自对应的处理指数权重,对所述硬件性能因子、所述处理性能因子和所述节点异常因子进行计算,得到所述各节点的数据处理指数。
3.根据权利要求1所述的批量数据处理方法,其特征在于,所述基于计算得到的数据处理指数,计算所述集群的数据处理波动指数的步骤包括:
计算所述数据处理指数的方差;
将所述方差确定为所述集群的数据处理波动指数。
4.根据权利要求1所述的批量数据处理方法,其特征在于,所述基于计算得到的数据处理指数,计算所述集群的数据处理波动指数的步骤之后,还包括:
当所述数据处理波动指数不大于预设的波动指数阈值时,根据集群节点数量对待处理批量数据进行随机划分,得到若干组待分发数据;
指示所述各节点获取所述待分发数据,并通过所述各节点对获取到的待分发数据进行处理,得到处理完成数据。
5.根据权利要求1所述的批量数据处理方法,其特征在于,所述当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子的步骤包括:
当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输参数;
根据预设的量化策略对所述传输参数进行量化,得到所述各节点的传输评估因子,所述传输评估因子包括路径跳数因子、网络带宽因子和磁盘读写因子。
6.根据权利要求1所述的批量数据处理方法,其特征在于,所述指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据的步骤包括:
对于所述集群中的各节点,根据节点所对应的数据分配比重生成第一数据获取指令;
将所述第一数据获取指令发送至所述节点,所述第一数据获取指令用于指示所述节点通过若干数量的线程获取所述待分配数据,并对所述待分配数据进行数据处理,得到已处理数据。
7.根据权利要求1所述的批量数据处理方法,其特征在于,所述指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据的步骤包括:
对于所述集群中的各节点,根据节点所对应的数据分配比重生成第二数据获取指令;
将所述第二数据获取指令发送至所述节点,并通过分布式锁将所述节点设置为锁定状态,所述第二数据获取指令用于指示所述节点获取待分配数据,并对所述待分配数据进行数据处理,得到已处理数据;
当接收到所述节点返回的数据处理完成信息时,通过所述分布式锁将所述节点设置为空闲状态。
8.一种批量数据处理装置,其特征在于,包括:
指数计算模块,用于当接收到数据处理指令时,根据集群中各节点的数据处理因子计算所述各节点的数据处理指数;
波动计算模块,用于基于计算得到的数据处理指数,计算所述集群的数据处理波动指数;
传输获取模块,用于当所述数据处理波动指数大于预设的波动指数阈值时,获取所述各节点的传输评估因子;
比重计算模块,用于根据所述数据处理因子和所述传输评估因子计算所述各节点的数据分配比重;
数据划分模块,用于按照所述数据分配比重对待处理批量数据进行划分,得到若干组待分配数据;
节点指示模块,用于指示节点依据数据分配比重获取待分配数据,并指示所述节点对所述待分配数据进行数据处理,得到已处理数据。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的批量数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的批量数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848026.1A CN113504995A (zh) | 2021-07-27 | 2021-07-27 | 批量数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848026.1A CN113504995A (zh) | 2021-07-27 | 2021-07-27 | 批量数据处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113504995A true CN113504995A (zh) | 2021-10-15 |
Family
ID=78014632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110848026.1A Pending CN113504995A (zh) | 2021-07-27 | 2021-07-27 | 批量数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113504995A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112188A (zh) * | 2022-05-16 | 2023-11-24 | 百度时代网络技术(北京)有限公司 | 多任务管理方法、装置及计算机程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698303A (zh) * | 2020-05-29 | 2020-09-22 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
WO2021017884A1 (zh) * | 2019-07-31 | 2021-02-04 | 北京金山云网络技术有限公司 | 数据处理方法、装置及网关服务器 |
-
2021
- 2021-07-27 CN CN202110848026.1A patent/CN113504995A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021017884A1 (zh) * | 2019-07-31 | 2021-02-04 | 北京金山云网络技术有限公司 | 数据处理方法、装置及网关服务器 |
CN111698303A (zh) * | 2020-05-29 | 2020-09-22 | 中国平安财产保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117112188A (zh) * | 2022-05-16 | 2023-11-24 | 百度时代网络技术(北京)有限公司 | 多任务管理方法、装置及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9860190B2 (en) | Adaptive algorithm for cloud admission policies | |
CN111813513A (zh) | 基于分布式的实时任务调度方法、装置、设备及介质 | |
CN112328399A (zh) | 一种集群资源调度方法、装置、计算机设备及存储介质 | |
WO2022126961A1 (zh) | 针对数据偏移的目标对象行为预测方法及其相关设备 | |
CN109981744B (zh) | 数据的分发方法、装置、存储介质及电子设备 | |
CN112365202B (zh) | 一种多目标对象的评价因子筛选方法及其相关设备 | |
US10715387B1 (en) | System for dynamic provisioning of host devices | |
CN112817721B (zh) | 基于人工智能的任务调度方法、装置、计算机设备和介质 | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
JP6129290B1 (ja) | 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム | |
CN114816711A (zh) | 批量任务处理方法、装置、计算机设备和存储介质 | |
CN114490078A (zh) | 一种微服务的动态缩扩容方法、装置及设备 | |
CN113342502B (zh) | 数据湖的性能诊断方法、装置、计算机设备及存储介质 | |
CN113504995A (zh) | 批量数据处理方法、装置、计算机设备及存储介质 | |
CN114461384A (zh) | 任务执行方法、装置、计算机设备和存储介质 | |
CN117435335A (zh) | 算力调度方法、装置、计算机设备和存储介质 | |
CN114090407B (zh) | 基于线性回归模型的接口性能预警方法及其相关设备 | |
CN116521358A (zh) | 一种实时系统运行电力边缘计算芯片的方法及装置 | |
CN115564329A (zh) | 一种典型产能场景确定方法、装置、设备及存储介质 | |
CN114253688A (zh) | 在云环境下应用负载重调度的方法及应用 | |
CN114942833A (zh) | 定时任务资源动态调度方法及相关装置 | |
CN114281504A (zh) | 一种任务调度方法、装置、电子设备及计算机可读介质 | |
CN114090247A (zh) | 用于处理数据的方法、装置、设备以及存储介质 | |
CN113760484A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211015 |