数据同步方法和装置、计算设备和存储介质制造方法及图纸

技术编号:21628486 阅读:22 留言:0更新日期:2019-07-17 10:57
提供了一种数据同步方法,包括:启动多个并发执行的数据抽取任务,每个数据抽取任务用于从对应的多个前端服务器抽取数据;如果前端服务器上的文件已被切分,通过数据抽取任务从切分文件抽取数据,否则从当前未切分文件抽取数据;以及通过数据抽取任务将抽取的数据上传到数据仓库。本公开以较少的客户端资源实现了较低延迟的准实时数据同步,为后续数据处理加工提供了强有力的数据保障。

Data synchronization methods and devices, computing devices and storage media

【技术实现步骤摘要】
数据同步方法和装置、计算设备和存储介质
本公开涉及网络技术,具体涉及数据同步方法和装置、计算设备和存储介质。
技术介绍
数据仓库(DataWarehouse,简写为DW或DWH),是为企业所有级别的决策制定过程,提供所有类型数据支持的战略数据集合。数据仓库最重要的是源头数据,即生产系统产生的数据。源头数据包含但不限于如下几种类型:流量数据、订单数据、用户数据等等。流量数据包含了用户访问网站期间所产生的一系列行为,通常需要快速稳定地将流量数据上传到数据仓库,以便后续的数据计算、分析以及挖掘提供强有力的保障。
技术实现思路
根据本公开的第一方面,提供了一种数据同步方法。所述数据同步方法包括启动多个并发执行的数据抽取任务,每个数据抽取任务用于从对应的多个前端服务器抽取数据。方法还包括:如果前端服务器上的文件已被切分,通过所述数据抽取任务从切分文件抽取数据,否则从当前未切分文件抽取数据。方法还包括通过所述数据抽取任务将抽取的数据上传到数据仓库。在一个实施例中,所述多个数据抽取任务可以在多个物理机器上运行,并且根据各个物理机器的性能分布在所述多个物理机器上。在一个实施例中,方法还可以包括读取配置信息,以获取数据在前端服务器的存放目录和上传数据的数据仓库的目录。在一个实施例中,所述多个前端服务器可以按照一定规则被平均分发到所述多个数据抽取任务。根据本公开的第二方面,提供了一种数据同步装置。所述数据同步装置包括启动单元、抽取单元和上传单元以及可选的配置读取单元。启动单元被配置为启动多个并发执行的数据抽取任务,其中,每个数据抽取任务用于从对应的多个前端服务器抽取数据。抽取单元被配置为如果前端服务器上的文件已被切分,通过所述数据抽取任务从切分文件抽取数据,否则从当前未切分文件抽取数据。上传单元被配置为通过所述数据抽取任务将抽取的数据上传到数据仓库。在一个实施例中,所述多个数据抽取任务可以在多个物理机器上运行,并且根据各个物理机器的性能分布在所述多个物理机器上。在一个实施例中,配置读取单元被配置为读取配置信息,以获取数据在前端服务器的存放目录和上传数据的数据仓库的目录。在一个实施例中,所述多个前端服务器可以按照一定规则被平均分发到所述多个数据抽取任务。根据本公开的第三方面,提供了一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。根据本公开的第四方面,提供了一种存储介质,所述存储介质存储计算机指令,所述计算机指令当被计算机执行,使得所述计算机执行如第一方面所述的方法。本公开的实施例通过将线上多个台服务器IP分发到多个任务实例进行并发抽取,通过循环合并抽取当前文件以及切分之后的小时文件,完成数据的准实时抽取以及同步,保证仓库源数据的时效性。因此,本公开的实施例以较少的客户端资源实现了较低延迟的准实时数据同步,为后续数据处理加工提供了强有力的数据保障。附图说明通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:图1示出了根据本公开实施例的产生流量日志的过程的示意框图;图2示出了根据本公开实施例的用于将流量日志同步到HDFS的数据同步架构系统的示意图;图3示出了根据本公开实施例的用于将流量日志同步到HDFS的数据同步逻辑的流程图;图4示出了根据本公开实施例的数据同步方法的流程图;图5示出了根据本公开实施例的数据同步装置的示意框图;图6示出了千兆带宽网络条件下进行日志数据抽取的延时情况示意图。图7示出了双千兆带宽网络条件下进行日志数据抽取的延时情况示意图。图8示出了可以应用本公开的用于处理网络数据的方法和装置的示例性系统架构;以及图9示出了适于用于实现本公开实施例的计算机系统的结构示意图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。图1示出了根据本公开实施例的产生流量日志的过程的示意框图。如图所示,流量日志(LOG)由点击流服务器统一进行收集。日志收集完之后一方面进入离线日志模块,另一方面发送至kafka。因此,需要一种技术,能够将LOG模块或者kafka模块的源头数据快速的同步至数据仓库的Hadoop分布式文件系统(HDFS),以便进行后续的加工处理。通常,为了将日志上传到HDFS,可以使用storm程序对接kafka,将线上生产数据实时同步至HDFS。每隔一定时间(例如10分钟)进行文件的切分,再启动mapreduce程序进行文件合并,根据主键还原出当天的数据情况。对于流量来讲涉及不到同一个主键的状态变更等情况,只是小文件合并为指定大小的文件。然而,storm方式需要耗费大量的storm客户端资源进行流量数据的同步,同时需要额外的mapreduce程序进行数据合并。另一种方法是使用抽取工具抽取单个ip按小时切分后的文件,调度任务每小时启动一次,结合调度系统完成数据的同步。然而,现有的抽数工具一般只能抽取切分后的小时文件。由于每个小时执行一次,需要等待切分完成之后进行数据文件的抽取以及同步至HDFS,延迟性比较大,在大促期间可能严重影响源头数据的时效性。有鉴于此,本专利技术提出了一种如下所述的技术,其相比于以上两种方法,可以在使用较少客户端资源的基础之上,最大程度减少源头数据同步至数据仓库的时间延迟。图2示出了根据本公开实施例的用于将流量日志同步到HDFS的数据同步架构200的示意图。如图2所示,在数据同步架构200中,第一排为前端服务器210(nginx)列表,负责采集线上所有访问日志,即LOG模块,此升级版的架构从LOG模块进行数据对接,每台机器对应一个IP地址。第二排为用于从前端服务器210抽取日志数据的抽数任务220。第三排为运行上述抽数任务220的工作站230,也称为物理机器。图2中底部是HDFS服务器240,也是同步日志数据的目的地,通常日志数据被同步到HDFS中的指定目录。如图2所以,系统架构200还包括配置文件250,其中包括用于对整个系统的控制参数。可以看出,根据本公开的系统架构,日志数据从前端服务器210起,经本文档来自技高网...

【技术保护点】
1.一种数据同步方法,包括:启动多个并发执行的数据抽取任务,每个数据抽取任务用于从对应的多个前端服务器抽取数据;如果前端服务器上的文件已被切分,通过所述数据抽取任务从切分文件抽取数据,否则从当前未切分文件抽取数据;以及通过所述数据抽取任务将抽取的数据上传到数据仓库。

【技术特征摘要】
1.一种数据同步方法,包括:启动多个并发执行的数据抽取任务,每个数据抽取任务用于从对应的多个前端服务器抽取数据;如果前端服务器上的文件已被切分,通过所述数据抽取任务从切分文件抽取数据,否则从当前未切分文件抽取数据;以及通过所述数据抽取任务将抽取的数据上传到数据仓库。2.根据权利要求1所述的方法,其中,所述多个数据抽取任务在多个物理机器上运行,并且根据各个物理机器的性能分布在所述多个物理机器上。3.根据权利要求1所述的方法,还包括:读取配置信息,以获取数据在前端服务器的存放目录和上传数据的数据仓库的目录。4.根据权利要求1所述的方法,其中,所述多个前端服务器按照一定规则被平均分发到所述多个数据抽取任务。5.一种数据同步装置,包括:启动单元,被配置为启动多个并发执行的数据抽取任务,每个数据抽取任务用于从对应的多个前端服务器抽取数据抽取单元,被配置为如果前端服务器上的文件已被切分,通过所述数据抽取任务从...

【专利技术属性】
技术研发人员:袁建军刘业辉王彦明
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1