CN111258724A - 一种分布式系统的数据处理方法、装置、设备和存储介质 - Google Patents

一种分布式系统的数据处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN111258724A
CN111258724A CN202010037400.5A CN202010037400A CN111258724A CN 111258724 A CN111258724 A CN 111258724A CN 202010037400 A CN202010037400 A CN 202010037400A CN 111258724 A CN111258724 A CN 111258724A
Authority
CN
China
Prior art keywords
data
processing
processed
nodes
historical
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.)
Granted
Application number
CN202010037400.5A
Other languages
English (en)
Other versions
CN111258724B (zh
Inventor
赵善亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202010037400.5A priority Critical patent/CN111258724B/zh
Publication of CN111258724A publication Critical patent/CN111258724A/zh
Application granted granted Critical
Publication of CN111258724B publication Critical patent/CN111258724B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/465Distributed object oriented systems

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

一种分布式系统的数据处理方法、装置、设备和存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种分布式系统的数据处理方法、装置、计算机设备和计算机可读存储介质。
背景技术
鉴于分布式系统具有开放性、并发性、可伸缩性及系统扩展性更高等特性,企业通常会利用分布式系统处理核心业务数据,以加快数据处理速度。
然而,发明人在研究本发明的过程中发现,现有技术中至少存在如下缺陷:一个项目中通常存在多批次的数据等待处理,且每批数据对应一个预期的处理时间,由于现有技术在处理数据之前没有预估本批数据的处理时间,或者即便现有技术预估了处理时间,由于预估不准确或者只是单纯的预估未做任何调整,使得其他批次数据无限时间等待及严重拖慢进度的现象仍未有所改善。
发明内容
本发明的目的在于提供一种分布式系统的数据处理方法、装置、计算机设备和计算机可读存储介质,能够解决现有技术中的上述缺陷。
本发明的一个方面提供了一种分布式系统的数据处理方法,上述方法包括:接收数据处理信号,确定待处理数据的数据量;从分布式系统中确定出用于处理上述待处理数据的内部处理节点,并统计上述内部处理节点的数量,作为内部处理节点数量;获取期望处理时长,其中,上述期望处理时长为期望处理上述待处理数据所花费的时长;获取历史数据的历史参数,其中,上述历史参数包括:上述历史数据的数据量、上述分布式系统中处理上述历史数据的历史节点的数量和处理上述历史数据所花费的时长;根据上述历史参数、上述待处理数据的数据量、上述处理节点数量和上述期望处理时长判断上述内部处理节点能否在上述期望处理时长内处理完上述待处理数据;在判定上述内部处理节点不能在上述期望处理时长内处理完上述待处理数据时,选择一个或多个外部节点添加至上述分布式系统,并使上述内部处理节点和上述外部节点共同处理上述待处理数据。
可选地,获取历史数据的历史参数的步骤包括:获取N个预定标签,其中,每个上述预定标签关联一批或多批上述历史数据,且处理每批上述历史数据所花费的时长在上述历史数据关联的上述预定标签表征的时长范围内,N为大于等于1的正整数;从N个上述预定标签中确定出目标标签,其中,上述期望处理时长在上述目标标签表征的上述时长范围内;获取上述目标标签关联的上述历史数据的上述历史参数。
可选地,获取上述目标标签关联的上述历史数据的上述历史参数的步骤包括:判断上述目标标签关联的上述历史数据是否存在多批;在上述目标标签关联的上述历史数据存在多批时,获取处理每批上述历史数据所花费的时长,作为一个历史处理时长;从获取的所有上述历史处理时长中确定出与上述期望处理时长的时间间隔最小的上述历史处理时长,作为目标处理时长;获取所有批上述历史数据中与上述目标处理时长对应的上述历史数据的上述历史参数。
可选地,根据上述历史参数、上述待处理数据的数据量、上述内部处理节点数量和上述期望处理时长判断上述内部处理节点能否在上述期望处理时长内处理完上述待处理数据的步骤包括:计算上述分布式系统中每个处理上述历史数据的历史节点在单位时间内处理上述历史数据的数据量大小,作为单位时间处理数据量;将上述单位时间处理数据量、上述内部处理节点数量和上述期望处理时长的乘积与上述待处理数据的数据量比较,以判断上述内部处理节点能否在上述期望处理时长内处理完上述待处理数据;或者将上述待处理数据的数据量、上述单位时间处理数据量和上述内部处理节点数量之商与上述期望处理时长比较,以判断上述内部处理节点能否在上述期望处理时长内处理完上述待处理数据;或者将上述待处理数据的数据量、上述单位时间处理数据量和上述期望处理时长之商与上述内部处理节点数量比较,以判断上述内部处理节点能否在上述期望处理时长内处理完上述待处理数据。
可选地,选择一个或多个外部节点添加至上述分布式系统的步骤包括:将上述待处理数据的数据量、上述单位时间处理数据量和上述期望处理时长之商确定为在上述期望处理时长内处理完上述待处理数据所需的总节点数量;计算上述总节点数量和上述内部处理节点数量的差值;选择上述差值个上述外部节点添加至上述分布式系统。
可选地,上述待处理数据被切分为多个数据分片,上述方法还包括:在上述内部处理节点和上述外部节点共同处理上述待处理数据的过程中,监听获知存在异常分片,确定上述异常分片所在的节点,其中,切分得到的上述数据分片包括上述异常分片;控制上述异常分片所在的节点将上述异常分片发送至预定缓存队列;监听获知切分得到的上述数据分片中的正常分片全部被处理完成,控制上述内部处理节点和上述外部节点重新处理上述预定缓存队列中存储的所有上述异常分片。
本发明的另一个方面提供了一种分布式系统的数据处理装置,上述装置包括:第一确定模块,用于接收数据处理信号,确定待处理数据的数据量;第二确定模块,用于从分布式系统中确定出用于处理上述待处理数据的内部处理节点,并统计上述内部处理节点的数量,作为内部处理节点数量;第一获取模块,用于获取期望处理时长,其中,上述期望处理时长为期望处理上述待处理数据所花费的时长;第二获取模块,用于获取历史数据的历史参数,其中,上述历史参数包括:上述历史数据的数据量、上述分布式系统中处理上述历史数据的历史节点的数量和处理上述历史数据所花费的时长;判断模块,用于根据上述历史参数、上述待处理数据的数据量、上述内部处理节点数量和上述期望处理时长判断上述内部处理节点能否在上述期望处理时长内处理完上述待处理数据;第一处理模块,用于当判定上述内部处理节点不能在上述期望处理时长内处理完上述待处理数据时,选择一个或多个外部节点添加至上述分布式系统,并使上述内部处理节点和上述外部节点共同处理上述待处理数据。
可选地,上述待处理数据被切分为多个数据分片,上述装置还包括:第三确定模块,用于在上述内部处理节点和上述外部节点共同处理上述待处理数据的过程中,监听获知存在异常分片,确定上述异常分片所在的节点,其中,切分得到的上述数据分片包括上述异常分片;控制模块,用于控制上述异常分片所在的节点将上述异常分片发送至预定缓存队列;第二处理模块,用于监听获知切分得到的上述数据分片中的正常分片全部被处理完成,控制上述内部处理节点和上述外部节点重新处理上述预定缓存队列中存储的所有上述异常分片。
本发明的再一个方面提供了一种计算机设备,该计算机设备包括:存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述任一实施例所述的分布式系统的数据处理方法。
本发明的又一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一实施例所述的分布式系统的数据处理方法。
本发明提供了一种分布式系统的数据处理方法,在处理待处理数据之前,先参考历史数据的历史参数,根据历史参数,预估所有内部处理节点能否在期望处理时长内处理完待处理数据,若不能,则动态增加处理待处理数据的节点数量,如选择一个或多个外部节点添加至分布式系统,并使所有的内部处理节点和选择的外部节点共同处理待处理数据。本实施例通过动态增加处理待处理数据的节点数量,不仅可以实现在线调控,还必然缩短了处理待处理数据的时间,实现了尽可能在期望处理时长内处理完待处理数据的目的,解决了现有技术中存在的缺陷,提高了分布式系统的处理能力,降低了单个节点的处理压力和资源占用时间,同时加快了项目进度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示意性示出了根据本发明实施例的分布式系统的数据处理方法的流程图;
图2示意性示出了根据本发明实施例的分布式系统的数据处理方案的示意图;
图3示意性示出了根据本发明实施例的分布式系统的数据处理装置的框图;
图4示意性示出了根据本发明实施例的适于实现分布式系统的数据处理方法的计算机设备的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
本发明的实施例提供了一种分布式系统的数据处理方法,该数据处理方法可以应用于如下业务场景:分布式系统包括一个主节点和多个从节点,主节点能够管理这些从节点,且主节点通过执行本实施例提供的分布式系统的数据处理方法,可以实现动态调控分布式系统中的节点数量,以便能够在最大程度上满足在期望处理时长内处理完待处理数据的目的。具体地,图1示意性示出了根据本发明实施例的分布式系统的数据处理方法的流程图。如图1所示,该分布式系统的数据处理方法可以包括步骤S1~步骤S6,其中:
步骤S1,接收数据处理信号,确定待处理数据的数据量。
待处理数据可以是任何业务数据,如网页访问数据、用户账单数据或用户购买记录等。
步骤S2,从分布式系统中确定出用于处理待处理数据的内部处理节点,并统计内部处理节点的数量,作为内部处理节点数量。
在接收到数据处理信号之后,主节点可以先确定出将会把处理待处理数据的任务分配给哪些处于空闲状态的从节点,并将这些从节点确定为内部处理节点,进一步统计这些内部处理节点的数量,作为内部处理节点数量。其中,在确定内部处理节点时,主节点会判断当前是否还存在其他待处理数据,若否,则主节点确定将把处理待处理数据的任务分配给所有处于空闲状态的从节点,否则,主节点可以根据待处理数据的数据量和其他待处理数据的数据量确定内部处理节点数量,例如,待处理数据的数据量为10G,其他待处理数据的数据量为5G,处于空闲的从节点有6个,则可以根据待处理数据的数据量和其他待处理数据的数据量的比值确定内部处理节点数量为4个,处理其他待处理数据的空闲从节点的数量为2个。
例如,主节点确定出会将处理待处理数据的任务分配给3台处于空闲状态的从节点,则本实施例中所述的内部处理节点即为这3台从节点,内部处理节点数量为3台。
需要说明的是,此时主节点尚未真正的将处理待处理数据的任务分配给内部处理节点,内部处理节点也没有开始执行处理待处理数据的任务,此处确定内部处理节点的目的在于后续预估内部处理节点能否在期望处理时长内处理完待处理数据。
步骤S3,获取期望处理时长,其中,期望处理时长为期望处理待处理数据所花费的时长。
对于每个项目中的每个任务,工作人员均会预估完成该任务所需的时长,然后将该任务和对应预估的时间形成任务表进行存储,本实施例中,该期望处理时长即为工作人员对处理待处理数据这个任务所预估的时长。获取该期望处理时长可以是从所述任务表中获取。
步骤S4,获取历史数据的历史参数,其中,历史参数包括:历史数据的数据量、分布式系统中处理历史数据的历史节点的数量和处理历史数据所花费的时长。
本实施例中,在处理完一批历史数据之后,可以记录该历史数据的历史参数,并将历史参数存储至对应的数据表中,以便后续查询使用。
此外,还可以预先设置一些预定标签,每个预定标签表征一个时长范围,如1min~30min、31min~60min或61min~90min。对于每批历史数据,确定处理该历史数据所花费的时长在哪个预定标签表征的时长范围内,然后将确定出的预定标签与该批历史数据关联。
可选地,步骤S4可以包括步骤S41~步骤S43,其中:
步骤S41,获取N个预定标签,其中,每个预定标签关联一批或多批历史数据,且处理每批历史数据所花费的时长在该历史数据关联的预定标签表征的时长范围内,N为大于等于1的正整数;
步骤S42,从N个预定标签中确定出目标标签,其中,期望处理时长在目标标签表征的时长范围内;
步骤S43,获取目标标签关联的历史数据的历史参数。
本实施例中,每个预定标签可能会关联一批或多批历史数据,从N个预定标签中确定出的目标标签也可能关联一批或多批历史数据。在目标标签只关联一批历史数据时,可以直接获取该批历史数据的历史参数;在目标标签关联多批历史数据时,需要选择出从目标标签关联的多批历史数据中选择出一批历史数据,并获取该选择出的历史数据的历史参数。
具体地,步骤S43可以包括步骤S431~步骤S434,其中:
步骤S431,判断目标标签关联的历史数据是否存在多批;
步骤S432,在目标标签关联的历史数据存在多批时,获取处理每批历史数据所花费的时长,作为一个历史处理时长;
步骤S433,从获取的所有历史处理时长中确定出与期望处理时长的时间间隔最小的历史处理时长,作为目标处理时长;
步骤S434,获取所有批历史数据中与目标处理时长对应的历史数据的历史参数。
其中,处理每批历史数据所花费的时长称为一个历史处理时长。在目标标签关联多批历史数据时,计算每个历史处理时长与期望处理时长的时间间隔,将时间间隔最小的历史处理时长作为目标处理时长,然后从多批历史数据中确定出与目标处理时长对应的历史数据,进一步,获取确定出的该批历史数据的历史参数。
例如,有三批历史数据,处理第一批历史数据所花费的时长为28min,处理第二批历史数据所花费的时长为45min,处理第三批历史数据所花费的时长为52min。设定第一个预定标签对应1min~30min,第二个预定标签对应31min~60min,则可以为第一批历史数据关联第一个预定标签;为第二批历史数据和第三批历史数据分别关联第二个预定标签。假如期望处理时长为30min,则可以获取与第一个预定标签关联的第一批历史数据的历史参数。假如期望处理时长为40min,则选择出第二个预定标签,然而与第二个预定标签关联的历史数据存在两批,由于处理第二批历史数据所花费的时长与期望处理时长的时间间隔为4min,处理第三批历史数据所花费的时长与期望处理时长间隔为12min,因此可以将处理第二批历史数据所花费的时长作为目标处理时长,进而可以获取第二批历史数据的历史能参数。
步骤S5,根据历史参数、待处理数据的数据量、内部处理节点数量和期望处理时长判断内部处理节点能否在期望处理时长内处理完待处理数据。
本实施例中,以历史参数为一个基准,即将历史参数作为一个标准,然后判断内部处理节点能否在期望处理时长内处理完待处理数据。
本实施例中,判断方法存在多种,例如步骤S5可以包括:
计算分布式系统中每个处理历史数据的历史节点在单位时间内处理历史数据的数据量大小,作为单位时间处理数据量;
将单位时间处理数据量、内部处理节点数量和期望处理时长的乘积与待处理数据的数据量比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据;或者
将待处理数据的数据量、单位时间处理数据量和内部处理节点数量之商与期望处理时长比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据;或者
将待处理数据的数据量、单位时间处理数据量和期望处理时长之商与内部处理节点数量比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据。
具体地,单位时间处理数据量的计算方法为:将历史数据的数据量除以处理历史数据的历史节点的数量得到一个商,然后由该商再除以处理历史数据所花费的时长,将得到的结果作为单位时间处理数据量。
步骤S5的第一个方案可以是,计算单位时间处理数据量、内部处理节点数量和期望处理时长的乘积,然后将乘积与待处理数据的数据量比较,若比较出该乘积大于等于待处理数据的数据量,则表征内部处理节点能够在期望处理时长内处理完待处理数据,若比较出该乘积小于待处理数据的数据量,则表征内部处理节点不能在期望处理时长内处理完待处理数据。
步骤S5的第二个方案可以是,将待处理数据的数据量除以单位时间处理数据量得到一个商,将该商除以内部处理节点数量再得到一个商,作为一个最终商,将该最终商与期望处理时长比较,若比较出该最终商小于等于待处理数据的数据量,则表征内部处理节点能够在期望处理时长内处理完待处理数据,若比较出该最终商大于待处理数据的数据量,则表征内部处理节点不能在期望处理时长内处理完待处理数据。
步骤S5的第三个方案可以是,将待处理数据的数据量除以单位时间处理数据量得到一个商,将该商除以期望处理时长再得到一个商,作为一个最终商,将该最终商与内部处理节点数量比较,若比较出该最终商小于等于待处理数据的数据量,则表征内部处理节点能够在期望处理时长内处理完待处理数据,若比较出该最终商大于待处理数据的数据量,则表征内部处理节点不能在期望处理时长内处理完待处理数据。
可选地,步骤S5还可以包括第四个方案:将待处理数据的数据量、内部处理节点数量和期望处理时长之商与单位时间处理数据量比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据。
具体地,若是内部处理节点能够在期望处理时长内处理完待处理数据,则该待处理数据的数据量、内部处理节点数量和期望处理时长之商即为分布式系统中每个处理待处理数据的节点在单位时间内至少处理待处理史数据的数据量大小。具体计算方法为:将待处理数据的数据量除以内部处理节点数量得到一个商,将该商除以期望处理时长再得到一个商,作为一个最终商,该最终商即为每个处理待处理数据的节点在单位时间内至少处理待处理史数据的数据量大小,然后将该最终商与单位时间处理数据量比较,若比较出该最终商大于等于单位时间处理数据量,则表征内部处理节点能够在期望处理时长内处理完待处理数据,若比较出该最终商小于单位时间处理数据量,则表征内部处理节点不能在期望处理时长内处理完待处理数据。
例如,结合上述示例,获取到第二批历史数据的历史参数包括:历史数据的数据量100G,处理该历史数据的历史节点的数量为4个,处理该历史数据所花费的时长为45min,则平均每个历史节点1min约处理0.56G的历史数据。若待处理数据的数据量为200G,确定出的内部处理节点的数量为6个,期望处理时长为40min,则6个内部处理节点处理完200G的待处理数据预估需要60min。即内部处理节点无法在期望处理时长内处理完待处理数据。
步骤S6,当判定内部处理节点不能在期望处理时长内处理完待处理数据时,选择一个或多个外部节点添加至分布式系统,并使所述内部处理节点和所述外部节点共同处理待处理数据。
本实施例中,每一个外部节点为处于待机状态且已经预先配置好能够随时启动工作的节点,主节点可以选择一个多个外部节点添加至分布式系统中,并使内部处理节点和选择出外部节点共同处理待处理数据,由于只要处理待处理数据的节点有所增加,处理待处理数据所花费的时长必然有所降低,因此实现了尽可能在期望处理时长内处理完待处理数据的目的,解决了现有技术中存在的缺陷。
需要说明的是,本实施例所述的处理可以任何形式的处理,如待处理数据为网页访问数据,则处理可以是根据网页访问数据确定用户的行为数据,根据网页访问数据确定受欢迎的网页等。再如,待处理数据为用户购买记录,则处理可以是根据用户购买记录为确定销量较高的商品等等。
可选地,步骤S6中选择一个或多个外部节点添加至分布式系统的步骤可以包括步骤S61~步骤S63,其中:
步骤S61,将待处理数据的数据量、单位时间处理数据量和期望处理时长之商确定为在期望处理时长内处理完待处理数据所需的总节点数量;
步骤S62,计算总节点数量和内部处理节点数量的差值;
步骤S63,选择差值个外部节点添加至分布式系统。
本实施例中,将单位时间处理数据量作为每个节点在单位时间内处理数据的数据量,因此通过计算待处理数据的数据量、单位时间处理数据量和期望处理时长之商,可以获知在期望处理时长内处理完待处理数据所需的总节点数量,进一步计算总节点数量和内部处理节点数量二者的差值,并选择该差值个外部节点添加至分布式系统。例如,结合上述示例,逾期处理时长为40min,在40min内处理完200G的待处理数据需要的总节点数量为:200÷40÷0.56≈9,即需要9个节点,则差值为9-6=3个,因此可以选择3个外部节点添加至分布式系统中。
通过本实施例,可以准确的确定出添加外部节点的数量,进而可以最大程度的保证处理待处理数据所花费的时间与期望处理时间近似或一致,同时进一步提高了分布式系统的处理能力,降低单个节点的处理压力,降低资源占用时间,加快项目进度。
可选地,待处理数据被切分为多个数据分片,该方法还包括步骤A1~步骤A3,其中:
步骤A1,在内部处理节点和外部节点共同处理待处理数据的过程中,监听获知存在异常分片,确定异常分片所在的节点,其中,切分得到的数据分片包括异常分片;
步骤A2,控制异常分片所在的节点将异常分片发送至预定缓存队列;
步骤A3,监听获知切分得到的数据分片中的正常分片全部被处理完成,控制内部处理节点和外部节点重新处理预定缓存队列中存储的所有异常分片。
本实施例中,在处理待处理数据之前,主节点会先将待处理数据分片,如分成多个数据分片,然后对每个数据分片生成一个处理任务,依次将这些处理任务下发至内部处理节点和选择出的一个或多个外部节点,其中,内部处理节点和选择出的一个或多个外部节点中的每个节点可以称为一个工作节点。例如,先为每个工作节点分配一个数据分片,后续根据工作节点的处理速度为处理较快的工作节点分配更多的数据分片,为处理较慢的工作节点分配较少的数据分片。如图2所示,主节点(可以是图2中的执行计划生成引擎)可以根据每个数据分片生成一个任务,然后分配给分布式系统(图2中的任务执行集群)中的工作节点(图2中的Executer)。
对于每个工作节点,可以主动上报其处理任务的情况,比如在预设时长内未处理完该任务,则上报目前处理的数据分片为异常分片,主节点可以定位存在异常分片的工作节点,并命令该工作节点将异常分片暂存在预定缓存队列中,在待处理数据中多有的正常分片均被处理完以后,主节点可以命令所有的工作节点重新处理预定缓存队列中存储的这些异常分片。
通过本实施例,在出现单个异常分片时,不需要整体的处理流程,先将出现的异常分片存储起来,最后再统一处理,进一步节省了处理时间。
本发明的实施例还提供了一种分布式系统的数据处理装置,该分布式系统的数据处理装置与上述实施例提供的分布式系统的数据处理方法相对应,相应的技术特征和技术效果在本实施例中不再详述,相关之处可参考实施例。具体地,图3示意性示出了根据本发明实施例的分布式系统的数据处理装置的框图。如图3所示,该分布式系统的数据处理装置300可以包括第一确定模块301、第二确定模块302、第一获取模块303、第二获取模块304、判断模块305和第一处理模块306,其中:
第一确定模块301,用于接收数据处理信号,确定待处理数据的数据量;
第二确定模块302,用于从分布式系统中确定出用于处理待处理数据的内部处理节点,并统计内部处理节点的数量,作为内部处理节点数量;
第一获取模块303,用于获取期望处理时长,其中,期望处理时长为期望处理待处理数据所花费的时长;
第二获取模块304,用于获取历史数据的历史参数,其中,历史参数包括:历史数据的数据量、分布式系统中处理历史数据的历史节点的数量和处理历史数据所花费的时长;
判断模块305,用于根据历史参数、待处理数据的数据量、处理节点数量和期望处理时长判断内部处理节点能否在期望处理时长内处理完待处理数据;
第一处理模块306,用于当判定内部处理节点不能在期望处理时长内处理完待处理数据时,选择一个或多个外部节点添加至分布式系统,并使内部处理节点和外部节点共同处理待处理数据。
可选地,第二获取模块还用于:获取N个预定标签,其中,每个预定标签关联一批或多批历史数据,且处理每批历史数据所花费的时长在历史数据关联的预定标签表征的时长范围内,N为大于等于1的正整数;从N个预定标签中确定出目标标签,其中,期望处理时长在目标标签表征的时长范围内;获取目标标签关联的历史数据的历史参数。
可选地,第二获取模块在获取目标标签关联的历史数据的历史参数时,还用于:判断目标标签关联的历史数据是否存在多批;在目标标签关联的历史数据存在多批时,获取处理每批历史数据所花费的时长,作为一个历史处理时长;从获取的所有历史处理时长中确定出与期望处理时长的时间间隔最小的历史处理时长,作为目标处理时长;获取所有批历史数据中与目标处理时长对应的历史数据的历史参数。
可选地,判断模块还用于:计算分布式系统中每个处理历史数据的历史节点在单位时间内处理历史数据的数据量大小,作为单位时间处理数据量;将单位时间处理数据量、内部处理节点数量和期望处理时长的乘积与待处理数据的数据量比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据;或者将待处理数据的数据量、单位时间处理数据量和内部处理节点数量之商与期望处理时长比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据;或者将待处理数据的数据量、单位时间处理数据量和期望处理时长之商与内部处理节点数量比较,以判断内部处理节点能否在期望处理时长内处理完待处理数据。
可选地,第一处理模块在选择一个或多个外部节点添加至分布式系统时,还用于:将待处理数据的数据量、单位时间处理数据量和期望处理时长之商确定为在期望处理时长内处理完待处理数据所需的总节点数量;计算总节点数量和内部处理节点数量的差值;选择差值个外部节点添加至分布式系统。
可选地,待处理数据被切分为多个数据分片,该装置还可以包括:第三确定模块,用于在内部处理节点和外部节点共同处理待处理数据的过程中,监听获知存在异常分片,确定异常分片所在的节点,其中,切分得到的数据分片包括异常分片;控制模块,用于控制异常分片所在的节点将异常分片发送至预定缓存队列;第二处理模块,用于监听获知切分得到的数据分片中的正常分片全部被处理完成,控制内部处理节点和外部节点重新处理预定缓存队列中存储的所有异常分片。
图4示意性示出了根据本发明实施例的适于实现分布式系统的数据处理方法的计算机设备的框图。本实施例中,计算机设备400可以是执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备400至少包括但不限于:可通过系统总线相互通信连接的存储器401、处理器402、网络接口403。需要指出的是,图4仅示出了具有组件401-403的计算机设备400,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器403至少包括一种类型的计算机可读存储介质,可读存储介质包括包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器401可以是计算机设备400的内部存储单元,例如该计算机设备400的硬盘或内存。在另一些实施例中,存储器401也可以是计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器401还可以既包括计算机设备400的内部存储单元也包括其外部存储设备。在本实施例中,存储器401通常用于存储安装于计算机设备400的操作系统和各类应用软件,例如分布式系统的数据处理方法的程序代码等。此外,存储器401还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器402在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器402通常用于控制计算机设备400的总体操作。例如执行与计算机设备400进行数据交互或者通信相关的控制和处理等的分布式系统的数据处理方法的程序代码。
在本实施例中,存储于存储器401中的分布式系统的数据处理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器402)所执行,以完成本发明。
网络接口403可包括无线网络接口或有线网络接口,该网络接口403通常用于在计算机设备400与其他计算机设备之间建立通信链接。例如,网络接口403用于通过网络将计算机设备400与外部终端相连,在计算机设备400与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
本实施例还提供一种计算机可读存储介质,包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等,其上存储有计算机程序,所述计算机程序被处理器执行时实现分布式系统的数据处理方法。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种分布式系统的数据处理方法,其特征在于,所述方法包括:
接收数据处理信号,确定待处理数据的数据量;
从分布式系统中确定出用于处理所述待处理数据的内部处理节点,并统计所述内部处理节点的数量,作为内部处理节点数量;
获取期望处理时长,其中,所述期望处理时长为期望处理所述待处理数据所花费的时长;
获取历史数据的历史参数,其中,所述历史参数包括:所述历史数据的数据量、所述分布式系统中处理所述历史数据的历史节点的数量和处理所述历史数据所花费的时长;
根据所述历史参数、所述待处理数据的数据量、所述内部处理节点数量和所述期望处理时长判断所述内部处理节点能否在所述期望处理时长内处理完所述待处理数据;
当判定所述内部处理节点不能在所述期望处理时长内处理完所述待处理数据时,选择一个或多个外部节点添加至所述分布式系统,并使所述内部处理节点和所述外部节点共同处理所述待处理数据。
2.根据权利要求1所述的方法,其特征在于,获取历史数据的历史参数的步骤包括:
获取N个预定标签,其中,每个所述预定标签关联一批或多批所述历史数据,且处理每批所述历史数据所花费的时长在所述历史数据关联的所述预定标签表征的时长范围内,N为大于等于1的正整数;
从N个所述预定标签中确定出目标标签,其中,所述期望处理时长在所述目标标签表征的所述时长范围内;
获取所述目标标签关联的所述历史数据的所述历史参数。
3.根据权利要求2所述的方法,其特征在于,获取所述目标标签关联的所述历史数据的所述历史参数的步骤包括:
判断所述目标标签关联的所述历史数据是否存在多批;
在所述目标标签关联的所述历史数据存在多批时,获取处理每批所述历史数据所花费的时长,作为一个历史处理时长;
从获取的所有所述历史处理时长中确定出与所述期望处理时长的时间间隔最小的所述历史处理时长,作为目标处理时长;
获取所有批所述历史数据中与所述目标处理时长对应的所述历史数据的所述历史参数。
4.根据权利要求1所述的方法,其特征在于,根据所述历史参数、所述待处理数据的数据量、所述内部处理节点数量和所述期望处理时长判断所述内部处理节点能否在所述期望处理时长内处理完所述待处理数据的步骤包括:
计算所述分布式系统中每个处理所述历史数据的历史节点在单位时间内处理所述历史数据的数据量大小,作为单位时间处理数据量;
将所述单位时间处理数据量、所述内部处理节点数量和所述期望处理时长的乘积与所述待处理数据的数据量比较,以判断所述内部处理节点能否在所述期望处理时长内处理完所述待处理数据;或者
将所述待处理数据的数据量、所述单位时间处理数据量和所述内部处理节点数量之商与所述期望处理时长比较,以判断所述内部处理节点能否在所述期望处理时长内处理完所述待处理数据;或者
将所述待处理数据的数据量、所述单位时间处理数据量和所述期望处理时长之商与所述内部处理节点数量比较,以判断所述内部处理节点能否在所述期望处理时长内处理完所述待处理数据。
5.根据权利要求4所述的方法,其特征在于,选择一个或多个外部节点添加至所述分布式系统的步骤包括:
将所述待处理数据的数据量、所述单位时间处理数据量和所述期望处理时长之商确定为在所述期望处理时长内处理完所述待处理数据所需的总节点数量;
计算所述总节点数量和所述内部处理节点数量的差值;
选择所述差值个所述外部节点添加至所述分布式系统。
6.根据权利要求1所述的方法,其特征在于,所述待处理数据被切分为多个数据分片,所述方法还包括:
在所述内部处理节点和所述外部节点共同处理所述待处理数据的过程中,监听获知存在异常分片,确定所述异常分片所在的节点,其中,切分得到的所述数据分片包括所述异常分片;
控制所述异常分片所在的节点将所述异常分片发送至预定缓存队列;
监听获知切分得到的所述数据分片中的正常分片全部被处理完成,控制所述内部处理节点和所述外部节点重新处理所述预定缓存队列中存储的所有所述异常分片。
7.一种分布式系统的数据处理装置,其特征在于,所述装置包括:
第一确定模块,用于接收数据处理信号,确定待处理数据的数据量;
第二确定模块,用于从分布式系统中确定出用于处理所述待处理数据的内部处理节点,并统计所述内部处理节点的数量,作为内部处理节点数量;
第一获取模块,用于获取期望处理时长,其中,所述期望处理时长为期望处理所述待处理数据所花费的时长;
第二获取模块,用于获取历史数据的历史参数,其中,所述历史参数包括:所述历史数据的数据量、所述分布式系统中处理所述历史数据的历史节点的数量和处理所述历史数据所花费的时长;
判断模块,用于根据所述历史参数、所述待处理数据的数据量、所述内部处理节点数量和所述期望处理时长判断所述内部处理节点能否在所述期望处理时长内处理完所述待处理数据;
第一处理模块,用于当判定所述内部处理节点不能在所述期望处理时长内处理完所述待处理数据时,选择一个或多个外部节点添加至所述分布式系统,并使所述内部处理节点和所述外部节点共同处理所述待处理数据。
8.根据权利要求7所述的装置,其特征在于,所述待处理数据被切分为多个数据分片,所述装置还包括:
第三确定模块,用于在所述内部处理节点和所述外部节点共同处理所述待处理数据的过程中,监听获知存在异常分片,确定所述异常分片所在的节点,其中,切分得到的所述数据分片包括所述异常分片;
控制模块,用于控制所述异常分片所在的节点将所述异常分片发送至预定缓存队列;
第二处理模块,用于监听获知切分得到的所述数据分片中的正常分片全部被处理完成,控制所述内部处理节点和所述外部节点重新处理所述预定缓存队列中存储的所有所述异常分片。
9.一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时用于实现权利要求1至6任一项所述方法的步骤。
CN202010037400.5A 2020-01-14 2020-01-14 一种分布式系统的数据处理方法、装置、设备和存储介质 Active CN111258724B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010037400.5A CN111258724B (zh) 2020-01-14 2020-01-14 一种分布式系统的数据处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010037400.5A CN111258724B (zh) 2020-01-14 2020-01-14 一种分布式系统的数据处理方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN111258724A true CN111258724A (zh) 2020-06-09
CN111258724B CN111258724B (zh) 2024-02-06

Family

ID=70954084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010037400.5A Active CN111258724B (zh) 2020-01-14 2020-01-14 一种分布式系统的数据处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN111258724B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114581223A (zh) * 2022-05-05 2022-06-03 支付宝(杭州)信息技术有限公司 分配任务处理方法、设备、分布式计算系统及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378557A1 (en) * 2013-07-03 2016-12-29 Nec Corporation Task allocation determination apparatus, control method, and program
CN106528189A (zh) * 2015-09-10 2017-03-22 阿里巴巴集团控股有限公司 一种启动备份任务的方法、装置及电子设备
WO2018121738A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 流数据任务的处理方法和装置
CN109710407A (zh) * 2018-12-21 2019-05-03 浪潮电子信息产业股份有限公司 分布式系统实时任务调度方法、装置、设备及存储介质
CN110445828A (zh) * 2019-06-14 2019-11-12 平安科技(深圳)有限公司 一种基于Redis的数据分布式处理方法及其相关设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160378557A1 (en) * 2013-07-03 2016-12-29 Nec Corporation Task allocation determination apparatus, control method, and program
CN106528189A (zh) * 2015-09-10 2017-03-22 阿里巴巴集团控股有限公司 一种启动备份任务的方法、装置及电子设备
WO2018121738A1 (zh) * 2016-12-30 2018-07-05 北京奇虎科技有限公司 流数据任务的处理方法和装置
CN109710407A (zh) * 2018-12-21 2019-05-03 浪潮电子信息产业股份有限公司 分布式系统实时任务调度方法、装置、设备及存储介质
CN110445828A (zh) * 2019-06-14 2019-11-12 平安科技(深圳)有限公司 一种基于Redis的数据分布式处理方法及其相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114581223A (zh) * 2022-05-05 2022-06-03 支付宝(杭州)信息技术有限公司 分配任务处理方法、设备、分布式计算系统及存储介质

Also Published As

Publication number Publication date
CN111258724B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US9911148B2 (en) Querying for business service processing status information
WO2016069038A1 (en) Policy based workload scaler
CN111277640B (zh) 用户请求处理方法、装置、系统、计算机设备和存储介质
CN112612607A (zh) 基于消息队列的数据处理方法、装置、计算机设备和介质
CN112286664B (zh) 任务调度方法、装置、计算机设备及可读存储介质
US20200097314A1 (en) Method and Apparatus for Processing Request
CN113132267B (zh) 一种分布式系统、数据聚合方法和计算机可读存储介质
CN112506581A (zh) 渲染小程序的方法、装置、电子设备和可读存储介质
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
CN109446515A (zh) 群组信息分析方法、电子装置及计算机可读存储介质
CN111580948A (zh) 任务调度方法、装置及计算机设备
CN111258724B (zh) 一种分布式系统的数据处理方法、装置、设备和存储介质
CN110751376A (zh) 工单的分配调度方法、装置、计算机设备和存储介质
CN112001116A (zh) 一种云资源容量预测方法及装置
CN114564149B (zh) 一种数据存储方法、装置、设备及存储介质
CN114329164B (zh) 用于处理数据的方法、装置、设备、介质和产品
CN115686746A (zh) 访问方法、任务处理方法、计算设备及计算机存储介质
CN110597682B (zh) 一种应用部署方法、装置、计算机设备及存储介质
CN111694628B (zh) 基于应用程序的线程的页面展示方法及相关设备
CN113392131A (zh) 数据处理方法、装置及计算机设备
CN110134547B (zh) 一种基于中间件的重复数据删除方法和相关装置
CN111143073B (zh) 一种虚拟化资源的管理方法、设备及存储介质
CN114520807A (zh) 文件上传下载方法、装置、计算机设备及存储介质
CN110059071B (zh) 基于存储过程的数据对比监控方法、系统、设备及介质
CN112612606A (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
GR01 Patent grant
GR01 Patent grant