一种千万级存量数据的处理、日志收集及导入数据库的方法技术

技术编号:20866192 阅读:33 留言:0更新日期:2019-04-17 09:17
本发明专利技术公开了一种千万级存量数据的处理、日志收集及导入数据库的方法,包括导出千万级存量原始数据,并将其分割为多个小文件,使其批量导入数据库内,导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作;数据导入中断时,通过脚本程序自动分析导入中断原因,并使脚本启动继续导入数据;通过CMSManageService.php接口记录临时数据日志,并通过新屏蔽接口将其导入数据库,导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,并从新进行导入操作。本发明专利技术有效提高了海量数据的导入效率,解决了导入重复性工作量大、遇到网络请求堵塞进程终断、临时数据日志占用内存大等问题。

【技术实现步骤摘要】
一种千万级存量数据的处理、日志收集及导入数据库的方法
本专利技术涉及一种千万级存量数据的处理、日志收集及导入数据库的方法,属于海量数据处理

技术介绍
系统之间在对接数据的时候,数据之间的格式,数据字段,长度命名各不同。需要关联起来,就必须通过脚本导入的方式,将数据导入到对接系统当中;在这过程中,往往数据量很大,就需要从逻辑判断,性能分析、导入效率等方面,考虑方案的可行性。目前在进行海量数据导入时,存在许多不足之处:(1)在进行千万级存量数据导入过程中,当出现导入错误时,进程会终断,需要分析错误原因并从新开始导入,重复性工作量大,导入效率低;(2)在导入过程中,会遇到网络请求堵塞问题,导致进程终断;(3)服务器的性能低,临时数据日志占用内存大,影响导入效率;(4)导入数据执行效率低等问题。
技术实现思路
本专利技术要解决的技术问题是提供本一种千万级存量数据的处理、日志收集及导入数据库的方法,可以克服现有技术的不足。为解决上述技术问题,本专利技术是通过以下技术方案实现的:一种千万级存量数据的处理、日志收集及导入数据库的方法,包括:s1、导出千万级存量原始数据,并将千万级存量原始数据分割为多个小文件,使其批量导入数据库内;在导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作;s2、导入数据中断时,通过脚本程序自动分析数据导入中断原因,待查到原因之后,脚本启动继续导入数据;s3、通过CMSManageService.php接口记录临时数据日志,并通过新屏蔽接口将记录数据导入数据库内;导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,并从新进行导入操作。前述步骤s1中,从服务器上的BOSS系统导出千万级csv格式文件,并且在服务器上设置切割命:split-l2300000020180704_ppv_order.csv-da1ccn_import_auth_,将BOSS系统导出来的千万级数据切割成多个小文件,批量导入。将前述BOSS系统导出来的千万级数据切割成4个以上小文件。前述步骤s1中,在服务器上设置ccn_import_auth.php脚本程序和逻辑程序,将切割成的多个小文件通过ccn_import_auth.php脚本程序分析后,再通过逻辑程序进行逻辑判断,如果运行正确,则将数据导入到MySQL数据库中;如若发生逻辑错误,将收集、分析错误日志,并还原错误的原始数据行,生成script_auth_0.csv,script_auth_1.csv…script_auth_n.csv文件,重新进入ccn_import_auth.php脚本程序分析,再次进入逻辑程序进行逻辑判断,直到不产生错误日志为止。前述步骤s2中,通过ccn_import_auth.php脚本程序分析数据导入中断原因,待查到原因之后,脚本启动,继续将数据导入MySQL数据库。前述步骤s3中,在服务器上设置CMSManageService.php接口,通过CMSManageService.php接口记录临时数据日志。将前述记录的临时数据日志的原始数据通过PHP语言yield生成器读取大文件,再通过动态args传入参数,最后通过unset销毁变量命令在反复导入的过程中释放所占大量内存。在前述服务器上设置interface_import_auth.php脚本程序,记录的临时数据日志通过新屏蔽接口导出,经interface_import_auth.php脚本程序分析后,进入步骤s1中的逻辑程序进行逻辑判断,重复步骤s1的导入操作。与现有技术比较,本专利技术公开了一种千万级存量数据的处理、日志收集及导入数据库的方法,其包括导出千万级存量原始数据,并将千万级存量原始数据分割为多个小文件,使其批量导入数据库内,导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作;数据导入中断时,通过脚本程序自动分析导入中断原因,待查到原因之后,脚本启动继续导入数据;通过CMSManageService.php接口记录临时数据日志,并通过新屏蔽接口将其导入数据库,导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,并从新进行导入操作。本专利技术可以实现快速将千万级存量数据导入数据库,其具有以下优点:(1)将千万级存量原始数据分割为多个小文件,使其批量导入数据库内,方便管理,并且避免数据库表锁,提高效率。(2)在千万级存量数据导入时,增加了数据分析脚本程序和逻辑程序,对传入参数做校验、逻辑判断,是否符合导入条件,如果符合,直接导入数据库;不符合,将错误日志还原成为原始数据格式重新进行分析导入,其不用再次导入初始的存量数,只需分析完详细的错误日志,再将还原的错误数据继续用脚本导入即可,可避免重复性工作,提高导入效率。(3)解决了网络请求堵塞时数据导入终断的问题,通过增加的数据分析脚本程序,可以分析中断原因,并实现自动启动继续将数据导入数据库。(4)缓解了临时数据日志占用内存的压力,通过CMSManageService.php接口记录临时数据日志,并通过PHP语言yield生成器读取大文件特性,动态args传入参数,unset销毁变量命令,释放数据反复导入的过程中所占大量内存。附图说明图1为本专利技术的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述:如图1所示,一种千万级存量数据的处理、日志收集及导入数据库的方法,包括:s1、导出千万级存量原始数据,并将千万级存量原始数据分割为多个小文件,使其批量导入数据库内;在导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作;s2、导入数据中断时,通过脚本程序自动分析数据导入中止原因,待查到原因之后,脚本启动继续导入数据;s3、通过CMSManageService.php接口记录临时数据日志,通过新的屏蔽接口将记录数据导入数据库内,并且导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作。见图1,在服务器上设有BOSS系统,BOSS系统用于导出千万级csv格式文件。时间A段,对服务器的原始数据进行鉴权、校验,使其成为授权原始数据。从服务器上的BOSS系统导出千万级csv格式文件,并且在服务器上设置切割命:split-l2300000020180704_ppv_order.csv-da1ccn_import_auth_,将BOSS系统导出来的千万级数据切割成多个小文件,优选为4个以上小文件,以方便分批量导入和管理。时间A->时间B段,对传入参数做逻辑判断,是否符合导入条件,如果不符合,需要将错误日志记录成详细的日志,同时还原不符合逻辑的数据,只需分析完详细的错误日志,再将还原的错误数据,还原成为原始数据格式,继续用脚本导入即可,当所有的数据导完之后,就不用再次导入初始的存量数,避免重复性工作。具体地,在服务器上设置逻辑程序,上述切割成的多个小文件通过ccn_import_auth.php脚本程序分析后,再通过逻辑程序进行逻辑判断,如果运行正确,则将数据导入到MySQL数据库中;如若发生逻辑错误,将收集、分析错误日志,并还原错误的原始数据行,生成script_auth_0.csv,script_au本文档来自技高网...

【技术保护点】
1.一种千万级存量数据的处理、日志收集及导入数据库的方法,其特征在于,包括:s1、导出千万级存量原始数据,并将千万级存量原始数据分割为多个小文件,使其批量导入数据库内;在导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作;s2、导入数据中断时,通过脚本程序自动分析数据导入中断原因,待查到原因之后,脚本启动继续导入数据;s3、通过CMSManageService.php接口记录临时数据日志,并通过新屏蔽接口将记录数据导入数据库内;导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,并从新进行导入操作。

【技术特征摘要】
1.一种千万级存量数据的处理、日志收集及导入数据库的方法,其特征在于,包括:s1、导出千万级存量原始数据,并将千万级存量原始数据分割为多个小文件,使其批量导入数据库内;在导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,从新进行导入操作;s2、导入数据中断时,通过脚本程序自动分析数据导入中断原因,待查到原因之后,脚本启动继续导入数据;s3、通过CMSManageService.php接口记录临时数据日志,并通过新屏蔽接口将记录数据导入数据库内;导入时通过逻辑程序收集错误日志,使其还原成原始数据格式,并从新进行导入操作。2.根据权利要求1所述的千万级存量数据的处理、日志收集及导入数据库的方法,其特征在于,步骤s1中,从服务器上的BOSS系统导出千万级csv格式文件,并且在服务器上设置切割命:split-l2300000020180704_ppv_order.csv-da1ccn_import_auth_,将BOSS系统导出来的千万级数据切割成多个小文件,批量导入。3.根据权利要求2所述的千万级存量数据的处理、日志收集及导入数据库的方法,其特征在于,将BOSS系统导出来的千万级数据切割成4个以上小文件。4.根据权利要求1或2所述的千万级存量数据的处理、日志收集及导入数据库的方法,其特征在于,步骤s1中,在服务器上设置ccn_import_auth.php脚本程序和逻辑程序,将切割成的多个小文件通过ccn_import_auth.php脚本程序分析后,再通过逻辑程序进行逻辑判断,如果运行正确,则将数据导入到MySQL...

【专利技术属性】
技术研发人员:张永璐
申请(专利权)人:贵州省广播电视信息网络股份有限公司
类型:发明
国别省市:贵州,52

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

1