CN108519909A - 一种流数据处理方法和装置 - Google Patents

一种流数据处理方法和装置 Download PDF

Info

Publication number
CN108519909A
CN108519909A CN201810173592.5A CN201810173592A CN108519909A CN 108519909 A CN108519909 A CN 108519909A CN 201810173592 A CN201810173592 A CN 201810173592A CN 108519909 A CN108519909 A CN 108519909A
Authority
CN
China
Prior art keywords
business datum
business
data processing
processing
datum
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
CN201810173592.5A
Other languages
English (en)
Other versions
CN108519909B (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.)
Advanced Nova Technology Singapore Holdings Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810173592.5A priority Critical patent/CN108519909B/zh
Publication of CN108519909A publication Critical patent/CN108519909A/zh
Application granted granted Critical
Publication of CN108519909B publication Critical patent/CN108519909B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/546Message passing systems or structures, e.g. queues

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 Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种流数据处理方法,包括:在接收到第一流数据处理请求后,第一流数据处理分片确定对第一业务数据的业务处理时间,第一流数据处理请求用于请求对第一业务数据进行业务处理;当对第一业务数据的业务处理时间超过第一预设时间时,第一流数据处理分片停止对第一业务数据的业务处理;在接收到第二流数据处理请求后,第一流数据处理分片对第二业务数据进行业务处理或者调整处理,第二流数据处理请求用于请求对第二业务数据进行业务处理,第二业务数据在流数据中的排序在第一业务数据之后。本申请实施例提供的方法能够跳过业务处理超时的某业务数据,提高用户体验。

Description

一种流数据处理方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种流数据处理方法和装置。
背景技术
随着计算机技术的飞速发展,各类业务系统中需要处理的数据量也急剧增长,基于分布式流计算技术的流数据处理系统也应运而生。分布式流计算技术因其低延迟、可扩展、高可靠等优点而得到了广泛应用。
然而,在某些情况下,例如,接入的数据量出现陡增,处理器计算能力不足,存在bug,处理器临时宕机等,某一流数据处理分片将无法及时的完成接入数据的处理,从而导致数据处理延时,影响了用户体验。
发明内容
本申请实施例提供一种流数据处理方法和装置,旨在减少流数据处理系统在数据处理过程中的延时对用户体验的影响。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供了一种流数据处理方法,由流数据处理系统中的流数据处理分片执行,所述流数据处理系统中包括至少一个第一流数据处理分片,所述方法包括:
在接收到第一流数据处理请求后,所述第一流数据处理分片确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,所述第一流数据处理分片停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
可选地,在本申请实施例第一方面提供的方法中,所述第一流数据处理请求中包含所述第一业务数据的类别信息;所述方法还包括:
当对所述第一业务数据的业务处理时间超过所述第一预设时间时,根据所述第一业务数据的类别信息,对所述第一业务数据进行调整处理。
可选地,在本申请实施例第一方面提供的方法中,根据所述第一业务数据的类别信息,对所述第一业务数据进行调整处理,包括以下至少一项:
当所述第一业务数据的类别信息为第一类别时,丢弃所述第一业务数据;
当所述第一业务数据的类别信息为第二类别时,缓存所述第一业务数据;
其中,所述第一类别的业务数据对时效性的要求高于所述第二类别的业务数据。
可选地,在本申请实施例第一方面提供的方法中,当所述第一业务数据的类别信息为第二类别时,缓存所述第一业务数据之后,所述方法还包括:
在满足第一预设条件时,提取所述第一业务数据,并对所述第一业务数据进行业务处理。
可选地,在本申请实施例第一方面提供的方法中,所述第一预设条件包括:
在第二预设时间内未接收到新的流数据处理请求。
可选地,在本申请实施例第一方面提供的方法中,当所述第一业务数据的类别信息为第二类别时,缓存所述第一业务数据之后,所述方法还包括:
在第三预设时间内未满足所述第一预设条件时,丢弃所述第一业务数据。
可选地,在本申请实施例第一方面提供的方法中,在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理,包括:
在接收到第二流数据处理请求后,当所述第二业务数据满足第二预设条件时,所述第一流数据处理分片对第二业务数据进行调整处理;
其中,所述第二预设条件包括以下至少一项:
所述第二业务数据在所述流数据中的排序在所述第一业务数据之后预设数量以内;
所述第二业务数据的类别信息为第三类别,所述第三类别的业务数据对时效性的要求低于第一类别的业务数据。
可选地,在本申请实施例第一方面提供的方法中,所述流数据处理系统中还包括至少一个第二流数据处理分片,所述方法还包括:
在接收到第三流数据处理请求后,所述第二流数据处理分片对第三业务数据进行业务处理,直至处理完毕;所述第三流数据处理请求用于请求对第三业务数据进行业务处理,所述第三业务数据为所述流数据中任一业务数据。
第二方面,本申请实施例提供了一种流数据处理装置,应用于流数据处理系统中的至少一个流数据处理分片,该装置包括:
时间确定模块,在接收到第一流数据处理请求后,确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
处理停止模块,当对第一业务数据的业务处理时间超过第一预设时间时,停止对所述第一业务数据的业务处理;
处理启动模块,在接收到第二流数据处理请求后,对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
第三方面,本申请实施例提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
在接收到第一流数据处理请求后,所述第一流数据处理分片确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,所述第一流数据处理分片停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
在接收到第一流数据处理请求后,所述第一流数据处理分片确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,所述第一流数据处理分片停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的流数据处理方法,通过确定对业务数据的业务处理时间,并当对某业务数据的业务处理时间超过预设时间时,能够及时发现数据拥堵现象,停止对该业务数据的业务处理,并进而接收对后续业务数据的流数据处理请求,以便对在流数据中排序在该业务数据之后的业务数据进行业务处理。采用本申请实施例提供的流数据处理方法,流数据处理系统中的流数据处理分片能够跳过业务处理超时的某业务数据,转而处理在流数据中排序在该业务数据之后的其他业务数据,有利于减少数据处理过程中的延时对用户体验的影响。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为应用本申请实施例提供的方法的流数据处理过程示意图;
图2为本申请实施例提供的流数据处理方法的流程示意图;
图3为本申请实施例提供的流数据处理装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,流数据可以理解为一组顺序、大量、快速、连续到达的数据序列。通常,流数据可以被视为一个随着时间延续且能无限增长的动态数据集合,在网络监控、传感器网络、航空航天、气象测控、金融服务等诸多业务领域均可广泛应用。
在一种应用场景下,流数据可能是由多达成千上万、乃至百万个数据源(producer)持续生成(produce)的数据,每条数据的规模可能较小(例如,约几千字节),可以以数据记录的形式发送。流数据可以包括多种业务类型,例如,用户使用移动终端或者第三方应用程序APP生成的日志文件、网购订单数据、游戏内玩家活动、社区网站信息、金融交易或者地理空间服务等,流数据还可以是来自数据中心内所连接设备或者仪器的遥测数据。
可选的,上述数据可以形成消息队列(消息中间件broker),流数据处理平台的流数据分发系统可以将消息队列中的数据分发至流数据处理系统中的多个流数据处理分片进行并行的分析、处理,也就是消费(consume)这些数据。在具体实施时,可以选用Kafka的架构实现流数据处理平台的缓存和分发数据等功能。
可选的,在分发消息队列中的数据时,流数据分发系统可以随机分发,可以按照用户标识(例如用户ID)进行分发,也可以按照业务数据所对应的业务类型、优先等级、数据处理的计算量、数据产生的时间顺序等进行分发,还可以采用多种组合规则确定与业务数据相匹配的流数据处理分片,进而将业务数据分发至相匹配的流数据处理分片进行业务处理。例如,可以将优先等级较高和/或所对应的业务类型对时效性要求较高的数据分发至处理速度更快、更稳定的流数据处理分片。又例如,参见图1所示,可以根据滑动时间窗口,按照数据产生的时间先后顺序排列,消息队列中的数据依次是:数据1、数据2、数据3、数据4、数据5、数据6···则可依次将数据1分发至流数据处理分片1,将数据2分发至流数据处理分片2,将数据3分发至流数据处理分片3,再将数据4分发至流数据处理分片1,将数据5分发至流数据处理分片2,将数据6分发至流数据处理分片3,以此类推。
各流数据处理分片接收到业务数据后,对业务数据进行分析、处理,并可进一步将处理结果输出至用户交互界面,向用户展示。可以理解,当某一流数据处理分片因计算能力不足,或者在处理某条数据时出现bug,或者接收到的数据出现陡增时,该流数据处理分片可能无法及时处理接收到的数据,若不加处理,可能导致该流数据处理分片中出现数据拥堵,导致数据处理的延时,影响用户体验。
需要说明的是,流数据处理系统中的各流数据处理分片,在处理数据时的过程可以相同,也可以不同。例如,数据处理系统中的流数据处理分片(如第一流数据处理分片),可以在某条数据处理超时的时候,停止对该条数据的处理,转而处理排序在该条数据之后的其他数据;数据处理系统中的流数据处理分片(如第二流数据处理分片),也可以在出现数据处理超时的时候,仍然继续处理当前数据;数据处理系统中的流数据处理分片,还可以在某条数据处理超时的时候,根据该条数据的相关信息(例如优先等级,业务处理的必要性等),确定是否停止对该条数据的处理,是否继续处理当前数据。
还需要说明的是,若流数据处理系统中存在多种不同的流数据处理分片,流数据分发系统在分发业务数据(例如,可以以发送流数据处理请求的方式分发)时,可以根据业务数据的相关属性(例如,业务类型,优先等级,时效性要求,业务处理的必要性要求等)和/或用户类型(例如,是否是VIP用户等),确定相匹配的流数据处理分片,从而将业务数据分发至与之相匹配的流数据处理分片中进行处理。
本申请实施例提供的流数据处理方法,通过确定对业务数据的业务处理时间,并当对某业务数据的业务处理时间超过预设时间时,能够及时发现数据拥堵现象,停止对该业务数据的业务处理,并进而接收对后续业务数据的流数据处理请求,以便对在流数据中排序在该业务数据之后的业务数据进行业务处理。采用本申请实施例提供的流数据处理方法,流数据处理系统中的流数据处理分片能够跳过业务处理超时的某业务数据,转而处理在流数据中排序在该业务数据之后的其他业务数据,有利于减少数据处理过程中的延时对用户体验的影响。
以下结合附图,进一步详细说明本申请各实施例提供的技术方案。
参见图2所示,本申请实施例提供了一种流数据处理方法,由流数据处理系统中的流数据处理分片执行,其中,流数据处理系统中包括至少一个第一流数据处理分片,该方法包括:
S101:在接收到第一流数据处理请求后,第一流数据处理分片确定对第一业务数据的业务处理时间;第一流数据处理请求用于请求对第一业务数据进行业务处理。
能够理解,在执行步骤S101之前,第一流数据处理分片可以先执行步骤S100,接收第一流数据处理请求,其中,第一流数据处理请求用于请求对第一业务数据进行业务处理。进而,第一流数据处理分片根据第一流数据处理请求,执行步骤S107对第一业务数据进行业务处理。
可选的,在一种应用场景下,第一流数据处理分片接收到的业务数据为用户的实时位置信息,则第一流数据处理分片对该业务数据的业务处理可以是:根据用户的实时位置信息,确定与该实时位置相关联的优惠信息(例如可以下发的优惠券或红包等),或者可以向用户展示的、在该实时位置附近的推荐商户等。
可选的,在又一种应用场景下,第一流数据处理分片接收到的业务数据为用户的实时订单信息,则第一流数据处理分片对该业务数据的业务处理可以是:根据用户的实时订单信息,确定用户消费积分的变化,以及变化后的消费积分所对应的可用优惠券等。
在执行步骤S107对第一业务数据进行业务处理时,即可执行步骤S101,确定对第一业务数据的业务处理时间。能够理解,这一过程可以多次、重复执行,以便及时判断对第一业务数据的业务处理时间是否超时。需要说明的是,业务处理时间的起始点可以有多种不同的确定方式,例如,可以以第一流数据处理分片接收到第一业务数据的时刻作为起始点,可以以第一流数据处理分片开始对第一业务数据进行业务处理的时刻作为起始点,也可以以数据源(例如,用户的移动终端,或者商户的收款终端等)生成第一业务数据的时刻作为起始点。
本申请实施例提供的流数据处理方法主要关注对业务数据处理的时效性,希望及时完成对业务数据的业务处理,以便能够及时向用户推送、展示有效的信息,改善用户体验。因此,在本申请实施例中,优选以数据源生成业务数据的时刻作为业务处理时间的起始点。在具体实施时,数据源可以在产生业务数据时,将业务数据以及与业务数据相对应的时间信息一并携带在流数据处理请求中发送至数据处理平台;相对应的,数据处理平台可以在接收流数据处理请求时,同时记录与业务数据相对应的时间信息(例如,可以体现为时间戳的形式),以便第一流数据处理分片确定对该业务数据的业务处理时间。
S103:当对第一业务数据的业务处理时间超过第一预设时间时,第一流数据处理分片停止对第一业务数据的业务处理。
在本申请实施例中,可以通过预先设置第一预设时间反映正常处理业务数据所需的时间,或者,反映所允许的由对业务数据的业务处理所带来的延迟。通过执行步骤S109,判断对第一业务数据的业务处理时间是否超过第一预设时间。若对第一业务数据的业务处理时间超过第一预设时间,表示对第一业务数据的业务处理已经占用了足够长的时间,原因可能在于第一流数据处理分片在对第一业务数据进行业务处理时出现了故障(例如存在bug,发生宕机等),也可能在于第一流数据处理分片计算能力不足,无法在第一预设时间内完成业务处理。在这种情况下,本申请实施例通过执行步骤S103,能够及时的停止对第一业务数据的业务处理,从而有利于避免因某条业务数据的处理超时而导致的业务数据拥堵。
需要说明的是,在停止处理第一业务数据的同时,根据第一业务数据所对应的业务类型等因素,对第一业务数据可以进行进一步的调整处理,例如,可以直接丢弃第一业务数据,也可以将第一业务数据缓存至数据库,还可以在满足预设条件时对第一业务数据重新进行业务处理/继续进行业务处理等。后续将详细举例说明。
S105:在接收到第二流数据处理请求后,第一流数据处理分片对第二业务数据进行业务处理或者调整处理;第二流数据处理请求用于请求对第二业务数据进行业务处理,第二业务数据在流数据中的排序在第一业务数据之后。
在执行步骤S103停止对第一业务数据的业务处理后,第一流数据处理分片执行步骤S105继续接收第二流数据处理请求,从而可以对在流数据中排序在第一业务数据之后的第二业务数据进行业务处理,以避免因某条业务数据的处理超时而导致的其他业务数据的处理延时,有利于改善用户体验。
可选的,第一流数据处理分片在接收第二流数据处理请求后,可以直接对第二业务数据进行业务处理,并可以将第二业务数据作为新的第一业务数据,再次执行步骤S101~S105,也就是,对第二业务数据的业务处理时间也进行检测,当业务处理超时时,停止对第二业务数据的业务处理,转而处理在流数据中排序在第二业务数据之后的第三业务数据,以此类推,以便持续保障流数据(例如,消息队列)中业务数据的及时处理,有利于改善用户体验。
可选的,第一流数据处理分片在接收第二流数据处理请求后,也可以根据具体情况确定对第二业务数据进行业务处理还是调整处理。当第二业务数据满足第三预设条件时,对第二业务数据进行业务处理,这种情况相当于仅仅跳过对单条业务数据(即第一业务数据)的业务处理,而对接收到的新的流数据处理请求中请求处理的业务数据均进行业务处理。当第二业务数据满足第二预设条件时,对第二业务数据进行调整处理,这种情况相当于,可以跳过多条业务数据(包括第一业务数据和第二业务数据在内)的业务处理。若确定对第二业务数据进行业务处理,则可如前所述,可以对第二业务数据的业务处理时间进行检测,当业务处理超时时,跳过第二业务数据。若确定对第二业务数据进行调整处理,则可直接跳过第二业务数据。
在具体实施时,可选的,用于判断是否对第二业务数据进行调整处理的第二预设条件,可以考察业务数据的数量。例如,对于在流数据中的排序在第一业务数据之后预设数量(可以记为N)以内的第二业务数据,第一流数据处理分片可以在接收到请求对第二业务数据进行业务处理的第二流数据处理请求后,跳过对第二业务数据的业务处理,而对第二业务数据进行调整处理。而对于在流数据中的排序在第一业务数据之后预设数量N以外的第(N+1)条业务数据,第一流数据处理分片在接收到请求对第(N+1)条业务数据进行业务处理的流数据处理请求后,将对第(N+1)条业务数据进行业务处理。能够理解,若处理超时,类似的,同样可以跳过第(N+1)条业务数据。
在具体实施时,可选的,用于判断是否对第二业务数据进行调整处理的第二预设条件,也可以考察第二业务数据的类别信息。需要说明的是,业务数据的类别信息,可以理解为能够反映业务数据所对应的业务类型对时效性的要求和/或业务处理的必要性等方面内容的信息。具体的,时效性的要求较低或者业务处理的必要性较低的业务类型,对其所对应的业务数据可以进行调整处理;而时效性的要求较高或者业务处理的必要性较高的业务类型,对其所对应的业务数据可以进行业务处理。
例如,假设业务数据所对应的业务类型为根据用户的实时位置信息向用户推送所在区域的优惠券,若区域设定得较小(如某一商圈),则该业务对时效性的要求可以较高;若区域设定得较大(如某一城市),则该业务对时效性的要求可以较低。
又例如,若业务数据所对应的业务类型为数据处理平台(可以理解为业务系统的一部分,也可以理解为独立于业务系统的部分)主动向用户推送信息,则该业务处理的必要性可以较低;若业务数据所对应的业务类型为数据处理平台根据用户的订阅,向用户推送信息,则该业务处理的必要性可以较高。
因此,根据业务数据的类别信息判断对业务数据进行调整处理还是业务处理,第一流数据处理分片可以优先处理对时效性要求更高或者业务处理的必要性更高的业务数据,有利于提高用户体验。
可选的,对业务数据的调整处理,包括当某条业务数据处理超时(例如,对第一业务数据的业务处理时间超过第一预设时间)时对该条业务数据的调整处理,以及对满足预设条件的一条或多条业务数据的调整处理,可以有多种不同的处理方式。例如,可以直接丢弃业务数据,也可以将业务数据缓存至数据库,还可以在满足一定条件时对业务数据重新进行业务处理/继续进行业务处理等。
在一种场景下,假设某条业务数据的类别信息为第一类别,该业务数据所对应的业务类型对时效性的要求较高,若推迟处理,对用户的意义不大,此时,若需对该条业务数据进行调整处理,则可以直接丢弃该条业务数据。
在另一种场景下,假设某条业务数据的类别信息为第二类别,该业务数据所对应的业务类型对时效性的要求较低(低于第一类别),若推迟处理,对用户的影响不大,此时,对该条业务数据进行调整处理时,可以先缓存该条业务数据,以便后续满足预设条件时再做进一步处理。例如,可以在第一流数据处理分片空闲(例如,满足第一预设条件:在第二预设时间内未接收到新的流数据处理请求)时,提取缓存的业务数据,并对提取出的业务数据进行业务处理。又例如,若在第三预设时间内,第一流数据处理分片始终未空闲(例如,在第三预设时间内始终未满足上述第一预设条件时),无法对缓存的业务数据进行业务处理时,也可以进一步丢弃缓存中的业务数据。
需要说明的是,每当接收到新的流数据处理请求,第二预设时间都应重新起算。第三预设时间的起算点,可以取为业务数据被存入缓存的时间点,也可以取为业务数据由数据源生成的时间点。以实际业务系统的需要为准,本申请实施例对此不做限定。
在又一种场景下,假设对某条业务数据进行业务处理的必要性较低,则若需对该条业务数据进行调整处理,则可以直接丢弃该条业务数据。除此之外,也可以先缓存该条业务数据,待合适时机(例如,第一流数据处理分片空闲)时,提取缓存的业务数据,并对提取出的业务数据进行业务处理;若在第四预设时间内,第一流数据处理分片始终未空闲,无法对缓存的业务数据进行业务处理,或者,缓存中业务数据的条数达到预设的阈值时,也可以进一步丢弃缓存中的业务数据。
而若对某条业务数据进行业务处理的必要性较高,则在需对该条业务数据进行调整处理时,可以缓存该条业务数据,直至在合适时机,例如,第一流数据处理分片空闲,或者第一流数据处理分片接收到的新的流数据处理请求所请求处理的业务数据,对其进行业务处理的必要性较低时,提取缓存的业务数据,并对提取出的业务数据进行业务处理。
还需要说明的是,业务处理的时效性要求与业务处理的必要性之间可能存在冲突。此时,可以根据业务的具体情况,考虑与用户体验的关联程度,确定对业务数据进行调整处理的条件和方式。
例如,假设用户前往A地旅游,业务系统希望根据用户的实时位置(业务数据)向用户推送在A地可用的优惠券。若对该条业务数据(可以是用户的实时位置信息)处理超时,直至用户已离开A地时才向用户推送,将会影响用户体验。因此,能够理解,用户体验与该条业务数据处理的时效性关联更紧密。即使该条业务数据的处理必要性较高(例如,用户已经订阅了关于A地优惠券推送的业务),仍然可以以时效性为主要考虑因素,确定对该条业务数据的调整处理条件和方式。
以上举例说明了第一流数据处理分片对多种不同类别的业务数据进行调整处理的方式。可以理解到,在实施本申请实施例时,可以按照业务系统的实际需要,根据携带在流数据处理请求中的业务数据的类别信息,考虑类别信息所反映的业务数据所对应的业务类型对时效性的要求和/或业务处理的必要性等,确定调整处理的具体方式和过程,而并不限于上述举例说明的情形,只要能够满足业务系统的实际需要即可。
在流数据处理系统中,除上述第一流数据处理分片之外,还可以包括至少一个第二流数据处理分片,本申请实施例提供的流数据处理方法还可包括:
在接收到第三流数据处理请求后,第二流数据处理分片对第三业务数据进行业务处理,直至处理完毕;其中,第三流数据处理请求用于请求对第三业务数据进行业务处理,第三业务数据为流数据中任一业务数据。
本申请实施例提供的流数据处理方法,通过确定对业务数据的业务处理时间,并当对某业务数据的业务处理时间超过预设时间时,能够及时发现数据拥堵现象,停止对该业务数据的业务处理,并进而接收对后续业务数据的流数据处理请求,以便对在流数据中排序在该业务数据之后的业务数据进行业务处理。采用本申请实施例提供的流数据处理方法,流数据处理系统中的流数据处理分片能够跳过业务处理超时的某业务数据,转而处理在流数据中排序在该业务数据之后的其他业务数据,有利于减少数据处理过程中的延时对用户体验的影响。
本申请实施例还提供了一种流数据处理装置,应用于流数据处理系统中包括至少一个流数据处理分片,参见图3所示,包括:
时间确定模块101,在接收到第一流数据处理请求后,确定对第一业务数据的业务处理时间;第一流数据处理请求用于请求对第一业务数据进行业务处理;
处理停止模块103,当对第一业务数据的业务处理时间超过第一预设时间时,停止对第一业务数据的业务处理;
处理启动模块105,在接收到第二流数据处理请求后,对第二业务数据进行业务处理或者调整处理;第二流数据处理请求用于请求对第二业务数据进行业务处理,第二业务数据在流数据中的排序在第一业务数据之后。
能够理解,本申请实施例提供的流数据处理装置,能够实现上述流数据处理系统所执行的流数据处理方法的全部内容,关于流数据处理方法的相关描述均适用于图3所示的流数据处理装置,此处不再赘述。
图4是本申请的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成流数据处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
在接收到第一流数据处理请求后,所述第一流数据处理分片确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,所述第一流数据处理分片停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
上述如本申请图2所示实施例揭示的流数据处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2中流数据处理装置执行的方法,并实现流数据处理装置在图2所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图2所示实施例中流数据处理装置执行的方法,并具体用于执行:
在接收到第一流数据处理请求后,所述第一流数据处理分片确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,所述第一流数据处理分片停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种流数据处理方法,由流数据处理系统中的流数据处理分片执行,所述流数据处理系统中包括至少一个第一流数据处理分片,所述方法包括:
在接收到第一流数据处理请求后,所述第一流数据处理分片确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,所述第一流数据处理分片停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
2.根据权利要求1所述方法,所述第一流数据处理请求中包含所述第一业务数据的类别信息;所述方法还包括:
当对所述第一业务数据的业务处理时间超过所述第一预设时间时,根据所述第一业务数据的类别信息,对所述第一业务数据进行调整处理。
3.根据权利要求2所述方法,根据所述第一业务数据的类别信息,对所述第一业务数据进行调整处理,包括以下至少一项:
当所述第一业务数据的类别信息为第一类别时,丢弃所述第一业务数据;
当所述第一业务数据的类别信息为第二类别时,缓存所述第一业务数据;
其中,所述第一类别的业务数据对时效性的要求高于所述第二类别的业务数据。
4.根据权利要求3所述方法,当所述第一业务数据的类别信息为第二类别时,缓存所述第一业务数据之后,所述方法还包括:
在满足第一预设条件时,提取所述第一业务数据,并对所述第一业务数据进行业务处理。
5.根据权利要求4所述方法,所述第一预设条件包括:
在第二预设时间内未接收到新的流数据处理请求。
6.根据权利要求4所述方法,当所述第一业务数据的类别信息为第二类别时,缓存所述第一业务数据之后,所述方法还包括:
在第三预设时间内未满足所述第一预设条件时,丢弃所述第一业务数据。
7.根据权利要求1~6之任一所述方法,在接收到第二流数据处理请求后,所述第一流数据处理分片对第二业务数据进行业务处理或者调整处理,包括:
在接收到第二流数据处理请求后,当所述第二业务数据满足第二预设条件时,所述第一流数据处理分片对第二业务数据进行调整处理;
其中,所述第二预设条件包括以下至少一项:
所述第二业务数据在所述流数据中的排序在所述第一业务数据之后预设数量以内;
所述第二业务数据的类别信息为第三类别,所述第三类别的业务数据对时效性的要求低于第一类别的业务数据。
8.根据权利要求1~6之任一所述方法,所述流数据处理系统中还包括至少一个第二流数据处理分片,所述方法还包括:
在接收到第三流数据处理请求后,所述第二流数据处理分片对第三业务数据进行业务处理,直至处理完毕;所述第三流数据处理请求用于请求对第三业务数据进行业务处理,所述第三业务数据为所述流数据中任一业务数据。
9.一种流数据处理装置,应用于流数据处理系统中的至少一个流数据处理分片,包括:
时间确定模块,在接收到第一流数据处理请求后,确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
处理停止模块,当对第一业务数据的业务处理时间超过第一预设时间时,停止对所述第一业务数据的业务处理;
处理启动模块,在接收到第二流数据处理请求后,对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
10.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
在接收到第一流数据处理请求后,确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
11.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
在接收到第一流数据处理请求后,确定对第一业务数据的业务处理时间;所述第一流数据处理请求用于请求对所述第一业务数据进行业务处理;
当对第一业务数据的业务处理时间超过第一预设时间时,停止对所述第一业务数据的业务处理;
在接收到第二流数据处理请求后,对第二业务数据进行业务处理或者调整处理;所述第二流数据处理请求用于请求对第二业务数据进行业务处理,所述第二业务数据在流数据中的排序在所述第一业务数据之后。
CN201810173592.5A 2018-03-02 2018-03-02 一种流数据处理方法和装置 Active CN108519909B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810173592.5A CN108519909B (zh) 2018-03-02 2018-03-02 一种流数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810173592.5A CN108519909B (zh) 2018-03-02 2018-03-02 一种流数据处理方法和装置

Publications (2)

Publication Number Publication Date
CN108519909A true CN108519909A (zh) 2018-09-11
CN108519909B CN108519909B (zh) 2022-01-18

Family

ID=63433410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810173592.5A Active CN108519909B (zh) 2018-03-02 2018-03-02 一种流数据处理方法和装置

Country Status (1)

Country Link
CN (1) CN108519909B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579356A (zh) * 2020-12-21 2021-03-30 上海金仕达软件科技有限公司 一种故障处理方法及服务器
CN114553562A (zh) * 2022-02-24 2022-05-27 新华三信息安全技术有限公司 一种安全管理方法、装置、设备及机器可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146110A (zh) * 2007-09-25 2008-03-19 深圳市迅雷网络技术有限公司 一种播放流媒体的方法、系统及装置
CN101232455A (zh) * 2008-02-04 2008-07-30 中兴通讯股份有限公司 一种拥塞控制方法及装置
CN103942104A (zh) * 2014-04-23 2014-07-23 北京金山网络科技有限公司 一种任务管理方法及装置
CN105553880A (zh) * 2015-12-24 2016-05-04 北京邮电大学 一种软件定义网络中的数据处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146110A (zh) * 2007-09-25 2008-03-19 深圳市迅雷网络技术有限公司 一种播放流媒体的方法、系统及装置
CN101232455A (zh) * 2008-02-04 2008-07-30 中兴通讯股份有限公司 一种拥塞控制方法及装置
CN103942104A (zh) * 2014-04-23 2014-07-23 北京金山网络科技有限公司 一种任务管理方法及装置
CN105553880A (zh) * 2015-12-24 2016-05-04 北京邮电大学 一种软件定义网络中的数据处理方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579356A (zh) * 2020-12-21 2021-03-30 上海金仕达软件科技有限公司 一种故障处理方法及服务器
CN112579356B (zh) * 2020-12-21 2022-09-16 上海金仕达软件科技有限公司 一种故障处理方法及服务器
CN114553562A (zh) * 2022-02-24 2022-05-27 新华三信息安全技术有限公司 一种安全管理方法、装置、设备及机器可读存储介质

Also Published As

Publication number Publication date
CN108519909B (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
Liu et al. A new improved NEH heuristic for permutation flowshop scheduling problems
CN110874440B (zh) 一种信息推送及其模型训练的方法、装置及电子设备
CN107563757B (zh) 数据风险识别的方法及装置
CN107450979A (zh) 一种区块链共识方法及装置
WO2021103909A1 (zh) 风险预测和风险预测模型的训练方法、装置及电子设备
CN109561052B (zh) 网站异常流量的检测方法及装置
CN108460523A (zh) 一种风控规则生成方法和装置
CN111275491A (zh) 一种数据处理方法及装置
CN106529883A (zh) 分配数据对象的方法及装置
CN108112038B (zh) 一种控制访问流量的方法及装置
CN108134812B (zh) 数据处理方法和装置
CN110287038A (zh) 提升Spark Streaming框架的数据处理效率的方法及系统
CN108550046A (zh) 一种资源和营销推荐方法、装置及电子设备
TWI713019B (zh) 資料標籤產生、模型訓練、事件識別方法和裝置
CN107578338A (zh) 一种业务发布方法、装置及设备
CN110490595B (zh) 一种风险控制方法和装置
CN108519909A (zh) 一种流数据处理方法和装置
CN109033173A (zh) 一种用于生成多维指标数据的数据处理方法及装置
CN109003090A (zh) 风险控制方法和装置
CN111062770A (zh) 商户识别方法、设备及计算机可读介质
CN108985067A (zh) 基于自动化回溯的内容处理方法和装置
CN109039695B (zh) 业务故障处理方法、装置及设备
CN108154377B (zh) 广告作弊预测方法及装置
CN107193721B (zh) 一种生成日志的方法和装置
CN110083437A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200921

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240218

Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore

Patentee after: Advanced Nova Technology (Singapore) Holdings Ltd.

Country or region after: Singapore

Address before: Ky1-9008 business centre, 27 Hospital Road, Georgetown, grand caiman, UK

Patentee before: Innovative advanced technology Co.,Ltd.

Country or region before: Cayman Islands