分布式流式数据处理的方法和装置制造方法及图纸

技术编号:15690913 阅读:228 留言:0更新日期:2017-06-24 03:41
本申请提供一种分布式流式数据处理的方法,包括:获取流式数据中某一条数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征;所述标识信息唯一代表一个或一组业务数据;根据存储的业务数据标识信息与已处理实时值时序特征的对应关系,获取所述业务数据的已处理实时值时序特征;比较所述业务数据的待处理和已处理的实时值时序特征,当待处理实时值的时序晚于已处理实时值的时序时,采用待处理实时值进行业务运算并将存储的所述已处理实时值时序特征更新为待处理实时值时序特征。通过本申请的技术方案,实现了按照数据更新的顺序来进行数据处理,避免了因先处理更新在后的实时值导致的处理结果错误,提高了数据处理的准确度。

Method and apparatus for distributed streaming data processing

The present invention provides a method of distributed data stream processing includes: acquiring streaming data in a data recording business data identification information to be processed in real time value and pending real-time values of temporal characteristics; the identification information is the only representative of one or a group of business data; according to business data identification information storage with the corresponding relationship between the processed real-time values of temporal features, has acquired the business data processing of the real-time value of temporal characteristics; comparing the business data to be processed and processed real-time values of timing characteristics, when the timing has real value later than the value of real-time processing timing, the real-time value of pending business operation and store the real-time value for processing real-time update sequence feature value timing characteristics. Through the technical scheme of the application, the data according to the update sequence data processing, avoid the first update in real-time value after treatment results in error, improve the accuracy of data processing.

【技术实现步骤摘要】
分布式流式数据处理的方法和装置
本申请涉及数据处理
,尤其涉及一种分布式流式数据处理的方法和装置。
技术介绍
随着各种网络应用日渐深入人们的日常生活,很多应用系统每天会产生数以TB(Terabyte,百万兆字节)级计的业务数据。对这些海量数据的实时分析能够提供对应用系统极有价值的信息,例如,对交通监管系统采集的海量视频数据流的实时分析能够为交通疏导提供帮助,对社交网站用户访问行为的实时分析能够及时发现关注热点并推送给更多的用户。海量的实时业务数据通常保存在不同地点、不同软硬件平台、和/或不同类型的数据库中,由实时数据采集系统将数据库中实时变化的业务数据以流的方式源源不断的收集起来,以进行实时数据处理。实时数据采集系统可以采用单线程实现;也可以采用分布式实现,由多个线程并发进行实时数据的采集。由于应用系统的业务数据随时可能发生更新,尤其是一个业务数据可能在极短的时间内发生多次更新,单线程实现的实时数据采集系统能够确保先更新的业务数据实时值在流式数据中先于后更新的业务数据实时值,但是单线程实现的低性能在绝大多数情况下无法满足海量实时数据的处理需求。而分布式实现的实时数据采集系统则可能出现在其生成的分布式流式数据中,业务数据实时值的先后顺序与更新发生的先后顺序不同的情形。现有技术中,依照业务数据在流式数据中的先后顺序对业务数据的实时值进行数据处理。这样,当分布式流式数据中业务数据实时值的先后顺序与更新发生的先后顺序不同时,更新在先的实时值会覆盖更新在后的实时值,导致数据处理的结果错误。
技术实现思路
有鉴于此,本申请提供一种分布式流式数据处理的方法,包括:获取流式数据中某一条数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征;所述标识信息唯一代表一个或一组业务数据;根据存储的业务数据标识信息与已处理实时值时序特征的对应关系,获取所述业务数据的已处理实时值时序特征;比较所述业务数据的待处理和已处理的实时值时序特征,当待处理实时值的时序晚于已处理实时值的时序时,采用待处理实时值进行业务运算并将存储的所述已处理实时值时序特征更新为待处理实时值时序特征。本申请还提供了一种分布式流式数据处理的装置,包括:待处理信息获取单元,用于获取流式数据中某一条数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征;所述标识信息唯一代表一个或一组业务数据;已处理信息获取单元,用于根据存储的业务数据标识信息与已处理实时值时序特征的对应关系,获取所述业务数据的已处理实时值时序特征;数据处理单元,用于比较所述业务数据的待处理和已处理的实时值时序特征,当待处理实时值的时序晚于已处理实时值的时序时,采用待处理实时值进行业务运算并将存储的所述已处理实时值时序特征更新为待处理实时值时序特征。由以上技术方案可见,本申请的实施例中,在数据处理时保存数据记录的已处理实时值时序特征,与流式数据中同一数据记录的待处理实时值时序特征进行比较,只对时序晚于已处理实时值的待处理实时值进行业务运算,从而实现了按照数据更新的顺序来进行数据处理,避免了因先处理更新在后的实时值导致的处理结果错误,提高了数据处理的准确度。附图说明图1是本申请实施例应用场景的一种网络结构图;图2是本申请实施例中一种分布式流式数据处理的方法的流程图;图3是本申请实施例所在设备的一种硬件结构图;图4是本申请实施例中一种分布式流式数据处理的装置的逻辑结构图。具体实施方式本申请的实施例提出一种新的分布式流式数据处理的方法,在流式数据中携带数据记录的待处理实时值时序特征,保存已进行数据处理的数据记录的已处理实时值时序特征,通过比较待处理和已处理的实时值时序特征来得知待处理和已处理实时值的相对时序,并且在待处理实时值的时序较晚时才对其进行数据处理,从而能够避免后处理时序较早的实时值导致的数据处理结果错误,以解决现有技术中存在的问题。本申请实施例应用场景的一种网络结构如图1所示:各个业务系统在业务运行过程中产生和刷新的业务数据存放在若干个不同类型(如MySQL、Oracle、HBase等)的业务数据库中。当业务数据库中新增或更新了满足预定条件的业务数据时,数据采集平台根据新增或更新的业务数据生成数据记录,将不断生成的数据记录组合为流式数据,提供给实时计算平台;数据采集平台可以采用消息中间件(如kafka、TimeTunel等)实现,将生成的数据记录承载在消息中写入消息队列供实时计算平台读取。实时计算平台可以采用分布式计算(如Jstorm、storm等),也可以采用集中式计算,图1中为采用分布式计算时的一种架构,由一个到多个数据分配器(如storm平台的spout)将流式数据中的数据记录分发到至少两个数据处理器(如storm平台的bolt)中,由数据处理器将业务数据的实时变化反映在处理结果中。可见,图1中,当数据采集平台采用多线程并行采集、和/或实时计算平台采用分布式计算时,同一个业务数据连续更新时,携带有先更新业务数据实时值的数据记录可能晚于携带有后更新业务数据实时值的数据记录到达实时计算平台的数据处理器。本申请的实施例运行在实时计算平台上(采用分布式计算时运行在每个数据处理器上),能够避免发生上述情形时后更新业务数据的处理结果被先更新业务数据的处理结果覆盖的错误。本申请的实施例可以应用在任何具有计算和存储能力的设备上,例如可以是手机、平板电脑、PC(PersonalComputer,个人电脑)、笔记本、服务器、虚拟机等物理设备或逻辑设备;也可以由两个或两个以上分担不同职责的物理或逻辑设备、相互协同来实现本申请实施例中的各项功能。本申请的实施例中,分布式流式数据处理的方法的流程如图2所示。步骤210,获取流式数据中某一条数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征。本申请的实施例中,数据记录是流式数据的最小组成单位,每条数据记录根据业务数据库中发生变化(新增或更新)一个业务数据(如账户金额)、或同时发生变化的一组(两个或两个以上)业务数据(如转账次数、转出总额)生成,数据记录中包括该业务数据或该组业务数据的标识信息和该业务数据或该组业务数据的实时值,通常还包括实时值在业务数据库中的生成时间。其中,标识信息唯一代表该业务数据或该组业务数据,即在本申请实施例的运行范围内,该标识信息与该业务数据或该组业务数据一一对应;例如,本申请实施例运行在实时计算平台的每个数据处理器上,则对每个数据处理器所处理的数据记录而言,标识信息与某个业务数据或某组业务数据一一对应。可以参考实际应用场景中业务数据库的字段及表的标识、和/或业务数据在业务系统中的标识等,来确定业务数据的标识信息,例如,可以将业务数据所在表的主键、表名、数据库名组合后作为业务数据的标识信息;再如,可以将业务数据所属业务的主业务主键标识、次业务主键标识和应用特征码来作为业务数据的标识信息。业务数据的实时值是本次该业务数据或该组业务数据发生变化后的值。实时值的生成时间是业务数据在业务数据库中发生变化的时间。实时值时序特征包括与本次该业务数据或该组业务数据发生变化时的时间相关联的信息。当该业务数据或该组业务数据发生N次变化时,会生成N个数据记录,这N个数据记录中业务数据的标识信息相同本文档来自技高网...
分布式流式数据处理的方法和装置

【技术保护点】
一种分布式流式数据处理的方法,其特征在于,包括:获取流式数据中某一条数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征;所述标识信息唯一代表一个或一组业务数据;根据存储的业务数据标识信息与已处理实时值时序特征的对应关系,获取所述业务数据的已处理实时值时序特征;比较所述业务数据的待处理和已处理的实时值时序特征,当待处理实时值的时序晚于已处理实时值的时序时,采用待处理实时值进行业务运算并将存储的所述已处理实时值时序特征更新为待处理实时值时序特征。

【技术特征摘要】
1.一种分布式流式数据处理的方法,其特征在于,包括:获取流式数据中某一条数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征;所述标识信息唯一代表一个或一组业务数据;根据存储的业务数据标识信息与已处理实时值时序特征的对应关系,获取所述业务数据的已处理实时值时序特征;比较所述业务数据的待处理和已处理的实时值时序特征,当待处理实时值的时序晚于已处理实时值的时序时,采用待处理实时值进行业务运算并将存储的所述已处理实时值时序特征更新为待处理实时值时序特征。2.根据权利要求1所述的方法,其特征在于,所述实时值时序特征包括:实时值的生成时间。3.根据权利要求1所述的方法,其特征在于,所述流式数据包括:由携带有数据记录的业务数据标识信息、待处理实时值和待处理实时值时序特征的消息构成的消息流;所述实时值时序特征包括:实时值的生成时间和实时值所在消息的消息标识;所述消息标识能够反映消息生成的时序;所述待处理实时值的时序晚于已处理实时值的时序,包括:待处理实时值的生成时间晚于已处理实时值的生成时间,以及待处理和已处理实时值的生成时间相同并且待处理实时值所在消息的消息标识反映的时序晚于已处理实时值所在消息的消息标识反映的时序。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:在尚未存储所述业务数据的已处理实时值时序特征时,采用所述业务数据的待处理实时值进行业务运算、并将所述业务数据的待处理实时值时序特征作为已处理实时值时序特征,保存所述业务数据的标识信息与已处理实时值时序特征的对应关系。5.根据权利要求1所述的方法,其特征在于,所述分布式流式数据处理的方法并行独立运行在至少两个软件功能模块上,处理某一条数据记录的软件功能模块根据所述数据记录的部分或全部业务数据标识信息确定。6.根据权利要求1或5所述的方法,其特征在于,所述标识信息包括:标识特征、和至少一个标识字段,所有标识字段的组合唯一代表一个或一组业务数据,所述标识特征根据所有标识字段组合的预定部分生成。7.根据权利要求6所述的方法,其特征在于,所述标识字段包括:主业务主键标识和应用特征码;所述标识特征为主业务主键标识的摘要值的前若干位。8.一种分布式流式数据处理的装置,其特征在于,包括:...

【专利技术属性】
技术研发人员:冯成林罗亮
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1