CN108984333A - 用于大数据实时计算的方法及装置 - Google Patents
用于大数据实时计算的方法及装置 Download PDFInfo
- Publication number
- CN108984333A CN108984333A CN201710397076.6A CN201710397076A CN108984333A CN 108984333 A CN108984333 A CN 108984333A CN 201710397076 A CN201710397076 A CN 201710397076A CN 108984333 A CN108984333 A CN 108984333A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- real time
- record data
- record
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Retry When Errors Occur (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种用于大数据实时计算的方法及装置。该方法可用于大型分布式数据处理系统,该方法包括:获取待处理的任务;根据所述任务生成记录数据,所述记录数据包括任务状态;通过分布式实时计算处理所述任务;以及根据所述任务的处理结果更新所述记录数据。本申请的用于大数据实时计算的方法及装置,能够解决实时计算系统出现异常宕机、异常重启等情况下,消息丢失、消息重复处理、消息状态异常等问题。
Description
技术领域
本发明涉及分布式实时计算领域,具体而言,涉及一种用于大数据实时计算的方法及装置。
背景技术
大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。实时计算(Real-time computing)也叫实时流式计算,这个概念与离线计算是相伴而生的。实时计算:是从事件发生到系统回应之间的最长时间限制。即时程序必须保证在严格的时间限制内响应。通常即时回应时间会是以毫秒为单位,也有时是以微秒为单位。离线计算是指按照时间段、批量处理数据。使用“离线计算”的用户看到的数据永远是几小时、1天前的数据。由于离线计算不能满足所有的业务需求。例如:当用户搜索一个商品时,需要立即返回最新商品信息,而不是几个小时前的商品信息。所以大数据的实时计算应运而生。实时计算反映的是实时的、流动式的大量数据。
目前的实时计算是一套完整的解决方案。一般包括:分布式数据采集系统、分布式数据队列处理系统、分布式实时计算系统三部分。目前的实时计算解决方案都面临以下问题:1)当实时计算系统宕机时,无法保持处理中消息和消息状态;2)当实时计算系统异常重启时,无法由中断位置继续处理;3)当实时计算消息处理一直失败时,无法记录消息的异常状态,进而进行后续处理等问题。若无法解决上述问题,实时计算系统必然会出现对消息丢弃、消息重复处理、消息状态异常等问题,从而降低实时计算结果的准确性。
因此,需要一种新的用于大数据实时计算的方法及装置。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本发明提供一种用于大数据实时计算的方法及装置,能够解决实时计算系统出现异常宕机、异常重启等情况下,消息丢失、消息重复处理、消息状态异常等问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明的一方面,提出一种用于大数据实时计算的方法,该方法可用于大型分布式数据处理系统,该方法包括:获取待处理的任务;根据所述任务生成记录数据,所述记录数据包括任务状态;通过分布式实时计算处理所述任务;以及根据所述任务的处理结果更新所述记录数据。
在本公开的一种示例性实施例中,还包括:发送所述记录数据至服务器。
在本公开的一种示例性实施例中,还包括:在异常状态恢复时,根据所述记录数据进行所述任务的处理。
在本公开的一种示例性实施例中,所述在异常状态恢复时,根据所述记录数据进行所述任务的处理,包括:发送查询指令至服务器;接收所述服务器返回的所述记录数据;以及根据所述记录数据进行所述任务的处理。
在本公开的一种示例性实施例中,所述获取待处理的任务,包括:通过分布式数据队列处理系统获取待处理的所述任务。
在本公开的一种示例性实施例中,所述通过分布式数据队列处理系统获取待处理的所述任务,包括:通过kafka框架的分布式数据队列处理系统获取待处理的所述任务。
在本公开的一种示例性实施例中,所述通过分布式实时计算处理所述任务,包括:通过Storm框架的分布式实时计算处理所述任务。
根据本发明的一方面,提出一种用于大数据实时计算的方法,该方法可用于大型分布式数据处理系统,该方法包括:接收并保存记录数据,所述记录数据包括任务状态;接收记录更新数据;以及根据所述更新数据,更新所述记录数据。
在本公开的一种示例性实施例中,还包括:接收查询指令;以及根据所述查询指令返回所述记录数据至查询方。
在本公开的一种示例性实施例中,还包括:监控所述任务处理状态,在预定的时间间隔将已处理完成的搜索任务对应的搜索记录数据迁移到备份数据库。
根据本发明的一方面,提出一种用于大数据实时计算的装置,该装置可用于大型分布式数据处理系统,该装置包括:获取任务模块,用于获取待处理的任务;记录数据模块,用于根据所述任务生成记录数据,所述记录数据包括任务状态;处理任务模块,用于通过分布式实时计算处理所述任务;以及更新数据模块,用于根据所述任务的处理结果更新所述记录数据。
在本公开的一种示例性实施例中,还包括:发送数据模块,用于发送所述记录数据至服务器。
根据本发明的一方面,提出一种用于大数据实时计算的装置,该装置可用于大型分布式数据处理系统,该装置包括:接收数据模块,用于接收并保存记录数据,所述记录数据包括任务状态;接收更新模块,用于接收记录更新数据;以及更新数据模块,用于根据所述更新数据,更新所述记录数据。
在本公开的一种示例性实施例中,还包括:接收查询模块,用于接收查询指令;以及返回数据模块,用于根据所述查询指令返回所述记录数据至查询方。
根据本发明的用于大数据实时计算的方法及装置,能够解决实时计算系统出现异常宕机、异常重启等情况下,消息丢失、消息重复处理、消息状态异常等问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种用于大数据实时计算的方法的流程图。
图2是根据另一示例性实施例示出的一种用于大数据实时计算的方法的流程图。
图3是根据另一示例性实施例示出的一种用于大数据实时计算的方法的流程图。
图4是根据一示例性实施例示出的一种用于大数据实时计算的装置的框图。
图5是根据另一示例性实施例示出的一种用于大数据实时计算的装置的框图。
图6是根据另一示例性实施例示出的一种用于大数据实时计算的装置的框图。
具体实施例
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的,因此不能用于限制本发明的保护范围。
下面结合附图对本公开示例实施方式进行详细说明。
图1是根据一示例性实施例示出的一种用于大数据实时计算的方法的流程图。
如图1所示,在S102中,获取待处理的任务。可例如,通过分布式数据队列处理系统获取待处理的所述任务。由于传统的“点对点模式”的消息队列无法满足实时计算的海量计算的要求。所以实时计算采用“发布/订阅模式”的消息处理系统。
1)点对点模式:采集系统发送一条消息到消息队列(queue),一个消息队列可以有多个实时计算系统,但是一个消息只能被一个实时计算系统处理。所以当没有实时计算系统可用时,这个消息会被保存消息队列,直到有一个可用的实时计算系统。简而言之:采集系统发送一条消息到消息队列,只能被一个实时计算系统处理。
2)发布/订阅模式:采集系统发送一条消息到消息队列(topic),只有订阅了消息队列(topic)的实时计算系统才会收到消息。由消息队列(topic)实现了发布和订阅,当采集系统发布一个消息时,所有订阅这个队列(topic)的服务都能得到这个消息。简而言之:采集系统发送一条消息到消息队列,会被所有订阅此消息的实时计算系统收到。
分布式数据队列处理系统在单个数据队列系统的基础上,采用分布式技术实现了多个数据队列系统同时部署。多个数据队列系统之间独立运行、数据共享、交叉备份,并对用户提供统一的服务,最终实现了达到了系统的高可用的,高可靠。
在S104中,根据所述任务生成记录数据,所述记录数据包括任务状态。记录数据可例如包括:任务状态,任务状态用于标识该任务目前的处理步骤。记录数据还可例如包括:任务操作人、存入信息内容、传入时间以及任务状态。本发明实施例不以此为限。
在S106中,通过分布式实时计算处理所述任务。传统的数据计算系统从队列里取消息,处理完成后,去更新数据库或者给其他队列发新消息。需要在消息队列和传统的数据计算系统直接维护一套非常复杂的关系。系统架构复杂、效率低下,并且无法适用分布式系统、海量数据等场景。当前普遍使用分布式实时计算系统(简称:实时计算系统)。实时计算系统是为分布式场景而生的,抽象了消息传递,并使用一套复杂的算法自动地在集群上并发地处理流式计算,让使用者专注于实时处理的业务逻辑,而不必维护复杂的消息、消息队列、实现计算系统间的负责关系。
在S108中,根据所述任务的处理结果更新所述记录数据。实时计算系统在处理任务时,可例如,根据实际任务需要分成多个步骤处理任务。以一件商品订单为例,当系统收到一个订单消息时,进行如下处理步骤:
步骤1:用户已下单(状态编码state=1)
步骤2:用户已已付款(状态编码state=2)
步骤3:商品已拣货完毕(状态编码state=3)
步骤4:商品已出库(状态编码state=4)
步骤5:商品已配送(状态编码state=5)
步骤5:商品已送达,用户已签收(状态编码state=6)
可例如,将订单的状态作为更新数据以更新记录数据。还可例如,记录数据可更新任务信息相关数据,可例如,任务操作人、当前处理步骤时间等。
根据本发明的用于大数据实时计算的方法,通过任务以及任务处理的状态生成记录数据的方式,能够在实时计算系统出现异常宕机、异常重启等情况下,消息丢失、消息重复处理、消息状态异常等问题时,为实时计算系统提供任务信息依据。
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施例。
在本公开的一种示例性实施例中,还包括:发送所述记录数据至服务器。记录数据可例如在当前系统中保存,为了便于分布式的信息系统处理任务,还可例如,将记录数据发送至服务器。在本发明实施例中,该服务器可例如为:位点服务器。
根据本发明的用于大数据实时计算的方法,通过将记录数据发送至服务器统一保存的方式,能够便于分布式的大型计算系统在遇到异常情况时,统一协调进行任务处理。
当实时计算系统(简称:系统)开始处理消息列队中的消息时,每当获取一条未处理的新消息时,会在位点服务的存位点接口中存一条记录。接口的格式可例如:
http://***//api/site/history/save
存入的信息记录如下:
Model:模块名称,必填项,字符串类型,示例:JRC。
User:操作人唯一标识,必填项,字符串类型,示例:zhangshan。
Key:存入信息唯一标识,必填项,字符串类型,示例:1001。
Value:存入信息内容,必填项,字符串类型,示例:AS98asAADa0als。
Time:传入时间戳,必填项,字符串类型,示例:201509141200。
State:默认初始状态,必填项,整数,示例:默认0代表初始状态。
用户调用位点服务-存位点的接口,传入一条记录的完整格式为:
http://***//api/site/history/save/Model=‘JRC’&User=’zhangshan’&key=’1001’&value=’AS98asAADa0als’&time=’201509141200’&state=0。
位点服务-存位点收到此条记录后,将记录中的信息存入数据库中。
当实时计算系统将每步骤完成时会更新状态编码存储到位点服务-更新位点处理状态中,可例如接口格式如下:
Model:模块名称,必填项,字符串类型,示例:JRC。
User:操作人唯一标识,必填项,字符串类型,示例:zhangshan。
Time:当前步骤处理时间,必填项,字符串类型,示例:201509141200。
State:当前状态,必填项,整数,示例:2。
示例:http://***//api/site/history/update/Model=‘JRC’&User=’zhangshan’&time=’201509141200’&state=2。
在本公开的一种示例性实施例中,还包括:在异常状态恢复时,根据所述记录数据进行所述任务的处理。可例如包括:发送查询指令至服务器;接收所述服务器返回的所述记录数据;以及根据所述记录数据进行所述任务的处理。
当系统异常崩溃或系统重启后,系统需要向位点服务-取位点,获取当前所有正在处理中的任务的信息及任务状态。接口格式可例如:
Model:模块名称,必填项,字符串类型,示例:JRC。
User:操作人唯一标识,必填项,字符串类型,示例:zhangshan。
time:系统当前时间,必填项,字符串类型,示例:201509141200。
limit:获取多少条记录,非必填项,整数,示例:若不填,默认返回全部。
direction:取值方向,非必填项,字符串类型,示例:before向前取最近的值,after向后取最近的值,默认为before。
示例:取当前时间time=201509141200之前的所有记录:
http://***//api/site/history/SiteHistoryInterface/Model=‘JRC’&User=’zhangshan’&time=’201509141200’&limit=”&direction=’before’。
在本公开的一种示例性实施例中,所述分布式数据队列处理系统包括:kafka框架的分布式数据队列处理系统。Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。
在本公开的一种示例性实施例中,所述分布式实时计算包括:通过Storm框架进行分布式实时计算。Storm是个实时的、分布式以及具备高容错的计算系统。同Hadoop一样Storm也可以处理大批量的数据,然而Storm在保证高可靠性的前提下还可以让处理进行的更加实时;也就是说,所有的信息都会被处理。Storm同样还具备容错和分布计算这些特性,这就让Storm可以扩展到不同的机器上进行大批量的数据处理。
图2是根据另一示例性实施例示出的一种用于大数据实时计算的方法的流程图。
如图2所示,在S202中,接收并保存记录数据,所述记录数据包括任务状态。所述记录数据包括任务状态。记录数据可例如包括:任务状态,任务状态用于标识任务目前的处理步骤。记录数据还可例如包括:任务操作人、存入信息内容、传入时间以及任务状态。本实施例不以此为限。
在S204中,接收记录更新数据。可例如,将任务的状态作为更新数据以更新记录数据。还可例如,记录数据可更新任务信息相关数据,可例如,任务操作人、当前处理步骤时间等。
在S206中,根据所述更新数据,更新所述记录数据。
根据本发明的用于大数据实时计算的方法,通过将任务实时处理状态发送至服务器储存的方式,能够在实时计算系统出现异常宕机、异常重启等情况下,提供任务处理状态的依据。
在本公开的一种示例性实施例中,还包括:接收查询指令;以及根据所述查询指令返回所述记录数据至查询方。
在本公开的一种示例性实施例中,还包括:监控所述任务处理状态,在预定的时间间隔将已处理完成的搜索任务对应的搜索记录数据迁移到备份数据库。
由于实时计算系统(简称:系统)是为处理海量数据而设计的系统。数据吞吐量巨大,出于对数据存储的成本和数据查询的效率等多方面考虑。位点服务的最佳方案是保留处理中的消息,定时将已处理完成的消息迁移到备份数据库后,还可例如,在迁移数据的同时删除当前数据库中已完成的消息。
定时备份为定时批量任务,可以设定任意时间频次(例如:1小时/次)定时备份的具体操作包括:
1)获取并同时删除,当前时间内已完成的指定数量数据。
可例如采用如下接口格式:
time:系统当前时间,必填项,字符串类型,示例:201509141200。
Model:模块名称,必填项,字符串类型,示例:JRC。
User:操作人唯一标识,必填项,字符串类型,示例:zhangshan。
time:系统当前时间,必填项,字符串类型,示例:201509141200。
limit:获取多少条记录,非必填项,整数,示例:若不填,默认返回全部。
state:5。必须填项,整数,示例:5代表已完成。
2)将获取到的数据存储到备份数据库中。
根据本发明的用于大数据实时计算的方法,通过定时备份的方式将记录数据进行备份,能够缩减数据库存储成本,提高数据查询效率。
图3是根据另一示例性实施例示出的一种用于大数据实时计算的方法的流程图。
如图3所示,在实时计算系统开始处理任务时,会将记录数据发送至位点服务器中,位点服务器将记录数据(存位点)保存至数据库中,在实时计算系统处理任务的过程中,也会更新任务的状态信息(更新位点),并发送给位点服务器进行保存数据。在实时计算系统遇到异常情况恢复时,会通过位点服务器读取任务的记录数据(取位点),作为任务处理的状态依据。位点服务器在整个过程中,进行定时备份。还可例如,将备份信息发送至备份数据库。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
图4是根据一示例性实施例示出的一种用于大数据实时计算的装置的框图。
其中,获取任务模块402用于获取待处理的任务。
记录数据模块404用于根据所述任务生成记录数据,所述记录数据包括任务状态。
处理任务模块406用于通过分布式实时计算处理所述任务。
更新数据模块408用于根据所述任务的处理结果更新所述记录数据。
在本公开的一种示例性实施例中,还包括:发送数据模块(图中未示出)用于发送所述记录数据至服务器。
根据本发明的用于大数据实时计算的装置,通过任务以及任务处理的状态生成记录数据的方式,能够在实时计算系统出现异常宕机、异常重启等情况下,消息丢失、消息重复处理、消息状态异常等问题时,为实时计算系统提供任务信息依据。
图5是根据另一示例性实施例示出的一种用于大数据实时计算的装置的框图。
其中,接收数据模块502用于接收并保存记录数据,所述记录数据包括任务状态。
接收更新模块504用于接收记录更新数据。
更新数据模块506用于根据所述更新数据,更新所述记录数据。
在本公开的一种示例性实施例中,还包括:接收查询模块(图中未示出)用于接收查询指令。返回数据模块(图中未示出)用于根据所述查询指令返回所述记录数据至查询方。
根据本发明的用于大数据实时计算的装置,通过将任务实时处理状态发送至服务器储存的方式,能够在实时计算系统出现异常宕机、异常重启等情况下,提供任务处理状态的依据。
图6是根据另一示例性实施例示出的一种用于大数据实时计算的装置的框图。
如图6所示,大数据实时计算的装置包括:业务系统602:业务系统泛指一切面向用户使用,并在与用户的交互中产生业务数据的系统。例如:商城系统、财务系统、仓储系统、配送系统等。业务系统为是分布式数据采集系统的采集目标。
分布式数据采集系统604:数据采集系统通过技术手段实时采集业务系统产生的业务数据。由于数据采集系统需要同时对多个业务系统进行数据采集(包括:采集日志数据和数据库数据),并且采集的数据量会随着业务系统的访问量进行波动会产生海量的数据。数据采集系统将采集到的数据进行简单数据聚合后,将数据封装成消息发送到的分布式数据队列处理系统。分布式数据采集系统是在单个采集系统的基础上,采用分布式技术实现了多个采集系统同时部署。多个采集系统之间独立运行、数据共享、交叉备份,并对用户提供统一的服务,最终实现了达到了系统的高可用的,高性能。分布式数据采集系统可例如采用Flume框架。Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
分布式数据队列处理系统606,分布式数据队列处理系统在单个数据队列系统的基础上,采用分布式技术实现了多个数据队列系统同时部署。多个数据队列系统之间独立运行、数据共享、交叉备份,并对用户提供统一的服务,最终实现了达到了系统的高可用的,高可靠。
分布式实时计算系统608,当前普遍使用分布式实时计算系统(简称:实时计算系统)。实时计算系统是为分布式场景而生的,抽象了消息传递,并使用一套复杂的算法自动地在集群上并发地处理流式计算,让使用者专注于实时处理的业务逻辑,而不必维护复杂的消息、消息队列、实现计算系统间的负责关系。
位点服务系统610,对位点的相关信息进行储存并进行定时备份。
实时数据使用系统612,对业务系统的实时数据的采集、处理的最终目的是为数据的使用者服务。经实时计算处理后的数据最终在数据使用系统中产生价值。例如:根据用户在其他系统的消费情况,为用户推荐一款您可能感兴趣的产品。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施例的方法。
通过以上的详细描述,本领域的技术人员易于理解,根据本发明实施例的用于大数据实时计算的方法及装置具有以下优点中的一个或多个。
根据一些实施例,本发明的用于大数据实时计算的方法,通过任务以及任务处理的状态生成记录数据的方式,能够在实时计算系统出现异常宕机、异常重启等情况下,消息丢失、消息重复处理、消息状态异常等问题时,为实时计算系统提供任务信息依据。
根据另一些实施例,本发明的用于大数据实时计算的方法,通过将任务实时处理状态发送至服务器储存的方式,能够在实时计算系统出现异常宕机、异常重启等情况下,提供任务处理状态的依据。
以上具体地示出和描述了本发明的示例性实施例。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。
Claims (14)
1.一种用于大数据实时计算的方法,该方法可用于大型分布式数据处理系统,其特征在于,包括:
获取待处理的任务;
根据所述任务生成记录数据,所述记录数据包括任务状态;
通过分布式实时计算处理所述任务;以及
根据所述任务的处理结果更新所述记录数据。
2.如权利要求1所述的方法,其特征在于,还包括:
发送所述记录数据至服务器。
3.如权利要求1所述的方法,其特征在于,还包括:
在异常状态恢复时,根据所述记录数据进行所述任务的处理。
4.如权利要求3所述的方法,其特征在于,所述在异常状态恢复时,根据所述记录数据进行所述任务的处理,包括:
发送查询指令至服务器;
接收所述服务器返回的所述记录数据;以及
根据所述记录数据进行所述任务的处理。
5.如权利要求1所述的方法,其特征在于,所述获取待处理的任务,包括:
通过分布式数据队列处理系统获取待处理的所述任务。
6.如权利要求5所述的方法,其特征在于,所述通过分布式数据队列处理系统获取待处理的所述任务,包括:
通过kafka框架的分布式数据队列处理系统获取待处理的所述任务。
7.如权利要求1所述的方法,其特征在于,所述通过分布式实时计算处理所述任务,包括:
通过Storm框架的分布式实时计算处理所述任务。
8.一种用于大数据实时计算的方法,该方法可用于大型分布式数据处理系统,其特征在于,包括:
接收并保存记录数据,所述记录数据包括任务状态;
接收记录更新数据;以及
根据所述更新数据,更新所述记录数据。
9.如权利要求8所述的方法,其特征在于,还包括:
接收查询指令;以及
根据所述查询指令返回所述记录数据至查询方。
10.如权利要求8所述的方法,其特征在于,还包括:
监控所述任务处理状态,在预定的时间间隔将已处理完成的搜索任务对应的搜索记录数据迁移到备份数据库。
11.一种用于大数据实时计算的装置,该装置可用于大型分布式数据处理系统,其特征在于,包括:
获取任务模块,用于获取待处理的任务;
记录数据模块,用于根据所述任务生成记录数据,所述记录数据包括任务状态;
处理任务模块,用于通过分布式实时计算处理所述任务;以及
更新数据模块,用于根据所述任务的处理结果更新所述记录数据。
12.如权利要求11所述的装置,其特征在于,还包括:
发送数据模块,用于发送所述记录数据至服务器。
13.一种用于大数据实时计算的装置,该装置可用于大型分布式数据处理系统,其特征在于,包括:
接收数据模块,用于接收并保存记录数据,所述记录数据包括任务状态;
接收更新模块,用于接收记录更新数据;以及
更新数据模块,用于根据所述更新数据,更新所述记录数据。
14.如权利要求13所述的装置,其特征在于,还包括:
接收查询模块,用于接收查询指令;以及
返回数据模块,用于根据所述查询指令返回所述记录数据至查询方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710397076.6A CN108984333B (zh) | 2017-05-31 | 2017-05-31 | 用于大数据实时计算的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710397076.6A CN108984333B (zh) | 2017-05-31 | 2017-05-31 | 用于大数据实时计算的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984333A true CN108984333A (zh) | 2018-12-11 |
CN108984333B CN108984333B (zh) | 2021-03-30 |
Family
ID=64502172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710397076.6A Active CN108984333B (zh) | 2017-05-31 | 2017-05-31 | 用于大数据实时计算的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984333B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885429A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 大数据灾备方法及装置 |
CN110245120A (zh) * | 2019-06-19 | 2019-09-17 | 北京百度网讯科技有限公司 | 流式计算系统及流式计算系统的日志数据处理方法 |
CN111309496A (zh) * | 2020-02-10 | 2020-06-19 | 北京无限光场科技有限公司 | 延时任务实现方法、系统、装置、设备、存储介质 |
CN111509849A (zh) * | 2020-04-22 | 2020-08-07 | 广东电网有限责任公司 | 一种基于流式计算的数字电网系统 |
CN111831481A (zh) * | 2020-07-10 | 2020-10-27 | 厦门靠谱云股份有限公司 | 一种基于c/s架构的数据库异地备份与恢复方法及系统 |
CN112346909A (zh) * | 2019-08-08 | 2021-02-09 | 国际商业机器公司 | 交叉备份应用无盘数据迁移 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425024A (zh) * | 2008-10-24 | 2009-05-06 | 中国移动通信集团山东有限公司 | 一种多任务处理方法及装置 |
CN101511098A (zh) * | 2009-02-10 | 2009-08-19 | 中兴通讯股份有限公司 | 一种分布式网元任务管理系统及方法 |
CN102141947A (zh) * | 2011-03-30 | 2011-08-03 | 东方通信股份有限公司 | 一种对采用嵌入式操作系统的计算机应用系统中异常任务的处理方法及系统 |
CN103092712A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种任务中断恢复方法和设备 |
US20140156722A1 (en) * | 2002-09-07 | 2014-06-05 | Appistry, Inc. | System and Method for Processing Information Via Networked Computers Including Request Handlers, Process Handlers, and Task Handlers |
CN104182283A (zh) * | 2014-08-22 | 2014-12-03 | 北京京东尚科信息技术有限公司 | 一种任务同步方法 |
-
2017
- 2017-05-31 CN CN201710397076.6A patent/CN108984333B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140156722A1 (en) * | 2002-09-07 | 2014-06-05 | Appistry, Inc. | System and Method for Processing Information Via Networked Computers Including Request Handlers, Process Handlers, and Task Handlers |
CN101425024A (zh) * | 2008-10-24 | 2009-05-06 | 中国移动通信集团山东有限公司 | 一种多任务处理方法及装置 |
CN101511098A (zh) * | 2009-02-10 | 2009-08-19 | 中兴通讯股份有限公司 | 一种分布式网元任务管理系统及方法 |
CN102141947A (zh) * | 2011-03-30 | 2011-08-03 | 东方通信股份有限公司 | 一种对采用嵌入式操作系统的计算机应用系统中异常任务的处理方法及系统 |
CN103092712A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 一种任务中断恢复方法和设备 |
CN104182283A (zh) * | 2014-08-22 | 2014-12-03 | 北京京东尚科信息技术有限公司 | 一种任务同步方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885429A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 大数据灾备方法及装置 |
CN110245120A (zh) * | 2019-06-19 | 2019-09-17 | 北京百度网讯科技有限公司 | 流式计算系统及流式计算系统的日志数据处理方法 |
CN110245120B (zh) * | 2019-06-19 | 2021-06-11 | 北京百度网讯科技有限公司 | 流式计算系统及流式计算系统的日志数据处理方法 |
CN112346909A (zh) * | 2019-08-08 | 2021-02-09 | 国际商业机器公司 | 交叉备份应用无盘数据迁移 |
CN111309496A (zh) * | 2020-02-10 | 2020-06-19 | 北京无限光场科技有限公司 | 延时任务实现方法、系统、装置、设备、存储介质 |
CN111509849A (zh) * | 2020-04-22 | 2020-08-07 | 广东电网有限责任公司 | 一种基于流式计算的数字电网系统 |
CN111831481A (zh) * | 2020-07-10 | 2020-10-27 | 厦门靠谱云股份有限公司 | 一种基于c/s架构的数据库异地备份与恢复方法及系统 |
CN111831481B (zh) * | 2020-07-10 | 2021-09-07 | 厦门靠谱云股份有限公司 | 一种基于c/s架构的数据库异地备份与恢复方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108984333B (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984333A (zh) | 用于大数据实时计算的方法及装置 | |
CN108885627B (zh) | 向远程客户端提供查询结果数据的查询即服务系统 | |
CN105224445B (zh) | 分布式跟踪系统 | |
JP6126099B2 (ja) | タイムリーイベントデータ分配用マーケットプレイス | |
Tsuchiya et al. | Big data processing in cloud environments | |
CN103761309B (zh) | 一种运营数据处理方法及系统 | |
US9020802B1 (en) | Worldwide distributed architecture model and management | |
Kamburugamuve et al. | Survey of distributed stream processing for large stream sources | |
Twardowski et al. | Multi-agent architecture for real-time big data processing | |
US8190588B1 (en) | Providing a distributed transaction information storage service | |
CN103838867A (zh) | 日志处理方法和装置 | |
CN108335075A (zh) | 一种面向物流大数据的处理系统及方法 | |
JP2019535056A (ja) | マイクロバッチストリーミングのための複合イベント処理 | |
CN106339509A (zh) | 一种基于大数据技术的电网运营数据共享系统 | |
CN109725899B (zh) | 数据流式处理方法及装置 | |
CN107431664A (zh) | 处理大容量网络数据 | |
CN107704545A (zh) | 基于Storm与Kafka消息通信的铁路配电网海量信息流处理方法 | |
CN109710731A (zh) | 一种基于Flink的数据流多向处理系统 | |
CN101346972A (zh) | 用于收集数据以便特征化http会话工作负荷的方法和装置 | |
CN103403699A (zh) | 估算流数据库应用中的负荷削减数据 | |
CN104899278A (zh) | 一种Hbase数据库数据操作日志的生成方法及装置 | |
US20040078369A1 (en) | Apparatus, method, and medium of a commodity computing high performance sorting machine | |
CN115829699A (zh) | 基于海量数据和指标体系的全流程精益运营系统 | |
CN103812691A (zh) | 一种集群负载均衡系统的日志统计系统及方法 | |
CN107465574A (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 |