实现流式源数据解析的方法和装置制造方法及图纸

技术编号:19098584 阅读:24 留言:0更新日期:2018-10-03 02:40
本公开揭示了一种实现流式源数据解析的方法和装置。所述方法包括:拉取流式源数据并缓存;调用与缓存的流式源数据相匹配的数据解析插件;通过调用的所述数据解析插件处理缓存的流式源数据得到目标数据;向指定目的地分发目标数据,目标数据通过所述分发进行数据落地。在此实现过程中,将流式源数据处理插件化,只要按照拉取的流式源数据调用数据解析插件即可支持此流式源数据的数据格式,完成其所对应的实时解析和落地存储过程,而并不需要重新进行相应的业务开发,也将使得所实现的数据汇集能够支持各种数据格式,甚至于新的数据格式,所需的工作量也只是编码对应的数据解析插件,全面支持各种数据源的流式源数据解析。

【技术实现步骤摘要】
实现流式源数据解析的方法和装置
本公开涉及数据处理
,特别涉及一种实现流式源数据解析的方法和装置。
技术介绍
随着互联网应用的迅猛发展,为用户提供服务的多种业务,在其运营中会源源不断的产生大量数据,例如,用户在实现此业务的服务中不断上报的数据等。因此,可使得各业务方都作为一数据源,进行一个或者多个数据源中数据的汇集。在所进行的数据汇集中,数据被流式地上报至数据源,由此,将涉及到流式源数据的实时解析和落地存储过程。在此过程中,首先需要按照落地存储的需求,而进行流式源数据的解析。然而,现有数据解析的实现仅能够支持较少的数据源格式,可扩展性较为欠缺,对于与其所支持的数据源格式不相符的业务而言,则不得不重新进行业务开发。
技术实现思路
为了解决相关技术中流式源数据的实时解析和落地存储可扩展性欠缺的技术问题,本公开提供了一种实现流式源数据解析的方法和装置。一种实现流式源数据解析的方法,所述方法包括:拉取流式源数据,并缓存,所述流式源数据是流式地上报至数据源的数据;调用与缓存的所述流式源数据相匹配的数据解析插件,所述数据解析插件是预先配置的;通过调用的所述数据解析插件处理所述缓存的流式源数据得到目标数据;向指定目的地分发所述目标数据,所述目标数据通过所述分发进行数据落地。一种实现流式源数据解析的装置,所述装置包括:数据拉取模块,用于拉取流式源数据,并缓存,所述流式源数据是流式地上报至数据源的数据;插件调用模块,用于调用与缓存的所述流式源数据相匹配的数据解析插件,所述数据解析插件是预先配置的;数据处理模块,用于通过调用的所述数据解析插件处理所述缓存的流式源数据得到目标数据;分发模块,用于向指定目的地分发所述目标数据,所述目标数据通过所述分发进行数据落地。本公开的实施例提供的技术方案可以包括以下有益效果:进行数据源中流式源数据的拉取和缓存,流式源数据即为流式地上报至数据源的数据,调用与缓存的流式源数据相匹配的数据解析插件,数据解析插件是预先配置的,通过调用的数据解析插件处理缓存的流式源数据得到目标数据,并最终向指定目的地分发目标数据,目标数据通过分发进行数据落地,在此实现过程中,将流式源数据处理插件化,只要按照拉取的流式源数据调用数据解析插件即可支持此流式源数据的数据格式,完成其所对应的实时解析和落地存储过程,而并不需要重新进行相应的业务开发,也将使得所实现的数据汇集能够支持各种数据格式,甚至于新的数据格式,所需的工作量也只是编码对应的数据解析插件,全面支持各种数据源的流式源数据解析。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并于说明书一起用于解释本专利技术的原理。图1是根据本公开所涉及的实施环境的示意图;图2是根据一示例性实施例示出的一种装置的框图;图3是根据一示例性实施例示出的一种实现流式源数据解析的方法的流程图;图4是根据另一示例性实施例示出的一种实现流式源数据解析的方法的流程图;图5是根据图3对应实施例示出的对向指定的目的地分发目标数据步骤的细节进行描述的流程图;图6是根据图5对应实施例示出的对向指定目的地分发消息文件,通过消息文件的分发使消息文件中组装置的目标数据被分发至指定目的地步骤的细节进行描述的流程图;图7是根据一示例性实施例示出的一种实现流式源数据解析的方法的流程图;图8是根据一示例性实施例示出的Spout结构的示意图;图9是根据一示例性实施例示出的Bolt结构的示意图;图10是根据一示例性实施例示出的一种实现流式源数据解析的装置的框图;图11是根据另一示例性实施例示出的一种实现流式源数据解析的装置的框图;图12是根据图10对应实施例示出的对分发模块的细节进行描述的框图;图13是根据另一示例性实施例示出的一种实现流式源数据解析的装置的框图;图14是根据另一示例性实施例示出的一种实现流式源数据解析的装置的框图。具体实施方式这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的装置和方法的例子。图1是根据本公开的实施环境的示意图。该实施环境包括数据解析系统110和存储系统130。其中,数据解析系统110用于实现一个或者多个业务平台的流式源数据拉取,并处理,以得到目标数据;相对应的,存储系统130对此目标数据进行存储。通过数据解析系统110和存储系统130的配合,能够实现一个或者多个业务平台的大数据拉取和导入。图2是根据一示例性实施例示出的一种装置的框图。例如,装置200可以是图1所示实施环境中,数据解析系统110的任意一台机器,和/或,存储系统130中的任意一台机器。参照图2,根据一示例性实施例示出的一种装置的框图。例如,装置200可以是图1所示实施环境中数据解析系统110和存储系统130包含的机器,比如服务器。参照图2,该装置200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)222(例如,一个或一个以上处理器)和存储器232,一个或一个以上存储应用程序242或数据244的存储介质230(例如一个或一个以上海量存储设备)。其中,存储器232和存储介质230可以是短暂存储或持久存储。存储在存储介质230的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器222可以设置为与存储介质230通信,在装置200上执行存储介质230中的一系列指令操作。装置200还可以包括一个或一个以上电源226,一个或一个以上有线或无线网络接口250,一个或一个以上输入输出接口258,和/或,一个或一个以上操作系统241,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。下述图3、图4、图5、图6和图7所示实施例中所述的由服务器所执行的步骤可以基于该图2所示的装置结构。图3是根据一示例性实施例示出的一种实现流式源数据解析的方法的流程图。该实现流式源数据解析的方法适用于图1所示实施环境。如图3所示,该实现流式源数据解析的方法,可以包括以下步骤。在步骤310中,拉取流式源数据,并缓存,流式源数据是流式地上报至数据源的数据。其中,各种业务的实现中,源数据在产生之后,都会上报到业务平台,以通过业务平台对源数据的处理而实现业务所设定的功能和服务。因此,业务平台中存在着源源不断上报的源数据,数据量巨大,且数据重要不可丢失。此业务平台内的源数据,由于是流式地上报至业务平台内,因此,可将数据平台作为数据源,从此数据源拉取得到流式源数据。在所实现的数据汇集中,从一业务方或者多个业务方所提供的数据源拉取流式源数据,并缓存。在一个示例性实施例的具体实现中,流式源数据的拉取和缓存,是通过配置的Receiver线程实现的,以主动从业务方拉取数据。通过专门配置的线程,如Receiver线程,来进行流式源数据的拉取和缓存本文档来自技高网...

【技术保护点】
1.一种实现流式源数据解析的方法,其特征在于,所述方法包括:拉取流式源数据,并缓存,所述流式源数据是流式地上报至数据源的数据;调用与缓存的所述流式源数据相匹配的数据解析插件,所述数据解析插件是预先配置的;通过调用的所述数据解析插件处理所述缓存的流式源数据得到目标数据;向指定目的地分发所述目标数据,所述目标数据通过所述分发进行数据落地。

【技术特征摘要】
1.一种实现流式源数据解析的方法,其特征在于,所述方法包括:拉取流式源数据,并缓存,所述流式源数据是流式地上报至数据源的数据;调用与缓存的所述流式源数据相匹配的数据解析插件,所述数据解析插件是预先配置的;通过调用的所述数据解析插件处理所述缓存的流式源数据得到目标数据;向指定目的地分发所述目标数据,所述目标数据通过所述分发进行数据落地。2.根据权利要求1所述的方法,其特征在于,所述通过调用的所述数据解析插件处理所述缓存的流式源数据得到目标数据之后,所述方法还包括:根据所述目标数据对应的流式源数据,得到所述目标数据所属数据单元的标识信息;按照所述标识信息将所述目标数据写入数据单元;将所述数据单元中的目标数据组装成消息文件,并建立所述消息文件与所述标识信息之间的映射关系,所述消息文件用于进行目标数据的分发。3.根据权利要求2所述的方法,其特征在于,所述向指定目的地分发所述目标数据,包括:根据所述消息文件映射的标识信息得到指定目的地;向指定目的地分发所述消息文件,通过所述消息文件的分发使所述消息文件中组装的目标数据被分发至指定目的地。4.根据权利要求3所述的方法,其特征在于,所述向指定目的地分发所述消息文件,通过所述消息文件的分发使所述消息文件中组装的目标数据被分发至指定目的地之后,所述方法还包括:在所述消息文件被确认分发至目的地之后剔除所述消息文件,未被确认的消息文件则被积压等待重传;根据积压的所述消息文件限制所述流式源数据的拉取,直至被积压的所述消息文件在数量上低于阈值之后消除所述限制。5.根据权利要求2所述的方法,其特征在于,所述将所述数据单元中的目标数据组装成消息文件,包括:通过配置的数据大小和超时时间控制所述数据单元中目标数据的组装,如果所述数据单元中目标数据达到配置的数据大小或超时,则将所述数据单元中的目标数据组装成消息文件。6.根据权利要求2所述的方法,其特征在于,所述向指定目的地分发所述目标数据之后,所述方法还包括:所述目标数据的后端处理中,接收通过所述消息文件分发的目标数据;根据所述目标数据所属数据单元的标识信息,将所述目标数据写入所述数据单元进行缓存;打包所述数据单元中的目标数据得到承载所述目标数据的本地文件;将所述本地文件加入上传队列,将所述本地文件上传至所属数据单元对应的存储系统。7....

【专利技术属性】
技术研发人员:胡侃邓林
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1