基于时钟定时器和多台上传服务器的数据入库方法及系统技术方案

技术编号:18913458 阅读:33 留言:0更新日期:2018-09-12 02:56
本发明专利技术公开了一种基于时钟定时器和多台上传服务器的数据入库方法及系统,该方法包括:步骤S1根据时钟定时器,定时创建预设线程数量的线程;步骤S2分别创建每个所述线程各自对应的合并文件;步骤S3根据当前时间,将对应目录下的处理后数据分散合并至各所述合并文件;步骤S4当有所述合并文件需要入库时,选择上传服务器将所述合并文件入库。本发明专利技术通过时钟定时器的设置、选择不同的上传服务器执行入库操作,分担占用的资源,提高入库的效率,从而满足对处理后数据进行后续操作时高实时性的要求。

Data entry method and system based on clock timer and multiple uploading servers

The invention discloses a data entry method and a system based on a clock timer and a plurality of upload servers. The method comprises: (1) creating threads with a preset number of threads on a regular basis according to a clock timer; (2) creating merged files corresponding to each thread; and (1) creating merged files corresponding to each thread according to the current time; The processed data in the directory should be dispersed and merged into the merged files; when the merged files need to be stored, select the upload server to store the merged files. By setting the clock timer and selecting different upload servers to perform the inbound operation, the invention can share the occupied resources and improve the inbound efficiency, so as to meet the requirement of high real-time for the subsequent operation of the processed data.

【技术实现步骤摘要】
基于时钟定时器和多台上传服务器的数据入库方法及系统
本专利技术涉及数据处理领域,尤其涉及一种基于时钟定时器和多台上传服务器的数据入库方法及系统。
技术介绍
在大数据业务中,数据的时效性和精确性是两个重要指标,其中,时效性是大数据架构中日志数据处理策略中一直追求的,对日志数据的处理一般分为两部分:1、对原始的日志数据进行处理,得到处理后的日志数据;2、将处理后的日志数据上传至指定数据库存储。现有的对于处理后的日志数据的入库(入库包括:对原始数据的合并、上报、压缩存储),往往和对原始的日志数据处理一样采用T+1的数据处理策略,即当天只能将前一天的处理后数据入库。现在的这种对处理后数据的入库方式时效性较差,不能满足数据实时性处理的要求。另外,由于数据实时性的要求不断提高,即使满足了上报前的数据合并的实时性,若只采用一台服务器上报合并数据,此台服务器也会存在因频繁调用上报系统命令,而耗尽服务器处理资源,反而延迟入库时间。
技术实现思路
本专利技术的目的是提供一种基于时钟定时器和多台上传服务器的数据入库方法及系统,提高入库的操作时间,可以满足高要求的数据实时性。本专利技术提供的技术方案如下:一种基于时钟定时器和多台上传服务器的数据入库方法,包括:步骤S1根据时钟定时器,定时创建预设线程数量的线程;步骤S2分别创建每个所述线程各自对应的合并文件;步骤S3根据当前时间,将对应目录下的处理后数据分散合并至各所述合并文件;步骤S4当有所述合并文件需要入库时,选择上传服务器将所述合并文件入库。在上述技术方案中,通过时钟定时器的设置,和数据处理服务器同时工作,定时将上一段时间内的处理后数据进行多进行分散处理,提高处理后数据的合并效率,降低后续操作的时间,有效地提高了数据处理的实时性、规律性。另外,将上传入库的操作分散由多台上传服务器进行完成,解决了仅由一台服务器频繁调用系统命令“hdfsdfs-putlist.txt”而耗尽服务器处理资源的问题,提高了数据上传入库的时间,进一步提高了对处理后数据的后续操作的处理效率。进一步,所述步骤S4包括:步骤S41当有所述合并文件需要入库时,获取需要入库的所述合并文件的文件名;所述文件名为数值;步骤S42将所述文件名对预设服务器数量求余,得到求余结果;步骤S43选择编号为所述求余结果的上传服务器将所述合并文件入库。在上述技术方案中,通过合并文件的文件名来选择相应的上传服务器,使上传服务器可以轮流进行入库操作,降低每台上传服务器调用系统命令的频率,提高入库效率,从而降低后续操作的处理时间,提高数据处理的实时性。进一步,所述步骤S2具体包括:步骤S21未有对应所述合并文件的所述线程获取预设标签的值;步骤S22当有线程获取到的所述预设标签的值为预设未锁定值时,将所述预设标签的值更新为预设锁定值后,根据当前文件值创建对应的合并文件;所述合并文件创建完成后,更新所述当前文件值、且将所述预设标签的值更新为所述预设未锁定值;步骤S23当有线程获取到的所述预设标签的值为预设锁定值时,等待预设创建时间后,执行步骤S21。在上述技术方案中,通过预设标签的值来实现锁机制、通过当前文件值来进行合并文件的命名,让各线程在创建合并文件时不会发生冲突,为对处理后数据进行合并时使用多线程处理打下了基础。进一步,所述步骤S3包括:步骤S31根据当前时间,所述合并文件的容量小于预设最大容量的线程从对应目录下获取处理后数据合并至对应的所述合并文件;步骤S32当有所述线程的合并文件的容量不小于所述预设最大容量时,所述合并文件需要入库。在上述技术方案中,合理设置的预设最大容量保证了各线程对处理后数据的合并可以拥有最高效的处理能力,保证了数据处理的效率,满足了高实时性的要求。进一步,所述步骤S3还包括:步骤S33当有所述线程的合并文件的容量小于所述预设最大容量、且未获取到所述处理后数据时,根据所述对应目录下的服务器已完成独占文档,执行相应的操作。在上述技术方案中,每个对应目录下都会存在一份服务器已完成独占文档,各线程在碰到获取不到新的处理后数据时,可以通过此独占文档来决定后续的该怎么执行。进一步,所述步骤S33具体包括:步骤S331当所述对应目录下的服务器已完成独占文档的行数等于预设行数时,所述合并文件需要入库;步骤S332当所述对应目录下的服务器已完成独占文档的行数小于预设行数时,所述线程等待预设合并时间后,再次执行步骤S31。在上述技术方案中,给予了在合并过程中遇到不同情况的具体处理过程,考虑到了方方面面,保证各线程可以成功将其合并文件入库,实现数据处理的实时性。本专利技术还提供一种基于时钟定时器和多台上传服务器的数据入库系统,包括:由合并服务器和若干台上传服务器组成的服务器集群;所述合并服务器包括:线程创建模块,用于根据时钟定时器,定时创建预设线程数量的线程;文件创建模块,用于创建每个所述线程各自对应的合并文件;文件合并模块,用于根据当前时间,将对应目录下的处理后数据分散合并至各所述合并文件;服务器选择模块,用于当有所述合并文件需要入库时,选择上传服务器将所述合并文件入库。在上述技术方案中,通过时钟定时器的设置,和数据处理服务器同时工作,定时将上一段时间内的处理后数据进行多进行分散处理,提高处理后数据的合并效率,降低后续操作的时间,有效地提高了数据处理的实时性、规律性。另外,将上传入库的操作分散由多台上传服务器进行完成,解决了仅由一台服务器频繁调用系统命令“hdfsdfs-putlist.txt”而耗尽服务器处理资源的问题,提高了数据上传入库的时间,进一步提高了对处理后数据的后续操作的处理效率。进一步,所述服务器选择模块包括:获取子模块,用于当有所述合并文件需要入库时,获取需要入库的所述合并文件的文件名;所述文件名为数值;求余子模块,用于将所述文件名对预设服务器数量求余,得到求余结果;选择子模块,用于选择编号为所述求余结果的上传服务器将所述合并文件入库。进一步,所述文件创建模块,用于当所述线程未有对应所述合并文件时,获取预设标签的值;以及,当获取到的所述预设标签的值为预设未锁定值时,将所述预设标签的值更新为预设锁定值后,根据当前文件值创建对应的合并文件;所述合并文件创建完成后,更新所述当前文件值、且将所述预设标签的值更新为所述预设未锁定值;以及,当获取到的所述预设标签的值为预设锁定值时,等待预设创建时间后,重新获取预设标签的值。进一步,所述文件合并模块,用于当所述线程的合并文件的容量小于预设最大容量时,根据当前时间,从对应目录下获取处理后数据合并至所述线程对应的合并文件;以及,当有所述线程的合并文件的容量不小于所述预设最大容量时,所述合并文件需要入库。进一步,所述文件合并模块,用于当有所述线程的合并文件的容量小于所述预设最大容量、且未获取到所述处理后数据时,根据所述对应目录下的服务器已完成独占文档,执行相应的操作。进一步,所述文件合并模块,用于当所述对应目录下的服务器已完成独占文档的行数等于预设行数时,所述合并文件需要入库;以及,当所述对应目录下的服务器已完成独占文档的行数小于预设行数时,所述线程等待预设合并时间后,再次从对应目录下获取处理后数据合并至所述线程对应的合并文件。与现有技术相比,本专利技术的基于时钟定时器和多台上传服务器本文档来自技高网...

【技术保护点】
1.一种基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,包括:步骤S1根据时钟定时器,定时创建预设线程数量的线程;步骤S2分别创建每个所述线程各自对应的合并文件;步骤S3根据当前时间,将对应目录下的处理后数据分散合并至各所述合并文件;步骤S4当有所述合并文件需要入库时,选择上传服务器将所述合并文件入库。

【技术特征摘要】
1.一种基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,包括:步骤S1根据时钟定时器,定时创建预设线程数量的线程;步骤S2分别创建每个所述线程各自对应的合并文件;步骤S3根据当前时间,将对应目录下的处理后数据分散合并至各所述合并文件;步骤S4当有所述合并文件需要入库时,选择上传服务器将所述合并文件入库。2.如权利要求1所述的基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,所述步骤S4包括:步骤S41当有所述合并文件需要入库时,获取需要入库的所述合并文件的文件名;所述文件名为数值;步骤S42将所述文件名对预设服务器数量求余,得到求余结果;步骤S43选择编号为所述求余结果的上传服务器将所述合并文件入库。3.如权利要求1所述的基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,所述步骤S2具体包括:步骤S21未有对应所述合并文件的所述线程获取预设标签的值;步骤S22当有线程获取到的所述预设标签的值为预设未锁定值时,将所述预设标签的值更新为预设锁定值后,根据当前文件值创建对应的合并文件;所述合并文件创建完成后,更新所述当前文件值、且将所述预设标签的值更新为所述预设未锁定值;步骤S23当有线程获取到的所述预设标签的值为预设锁定值时,等待预设创建时间后,执行步骤S21。4.如权利要求1所述的基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,所述步骤S3包括:步骤S31根据当前时间,所述合并文件的容量小于预设最大容量的线程从对应目录下获取处理后数据合并至对应的所述合并文件;步骤S32当有所述线程的合并文件的容量不小于所述预设最大容量时,所述合并文件需要入库。5.如权利要求4所述的基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,所述步骤S3还包括:步骤S33当有所述线程的合并文件的容量小于所述预设最大容量、且未获取到所述处理后数据时,根据所述对应目录下的服务器已完成独占文档,执行相应的操作。6.如权利要求5所述的基于时钟定时器和多台上传服务器的数据入库方法,其特征在于,所述步骤S33具体包括:步骤S331当所述对应目录下的服务器已完成独占文档的行数等于预设行数时,所述合并文件需要入库;步骤S332当所述对应目录下的服务器已完成独占文档的行数小于预设行数时,所述线程等待预设合并时间后,再次执行步骤S31。7.一种基于时钟定时器和多台上传服务器的数据入库系统,其特征在于,...

【专利技术属性】
技术研发人员:魏晓林
申请(专利权)人:四川斐讯信息技术有限公司
类型:发明
国别省市:四川,51

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

1