一种文件数据比对方法、工具及设备与流程

文档序号:16134608发布日期:2018-12-01 00:46阅读:384来源:国知局
本发明涉及海量数据比对
技术领域
:,特别是涉及一种文件数据比对方法、工具及设备。
背景技术
:在云计算时代,海量数据占用超大的存储和海量的设备。而海量的设备就涉及到海量的配置文件及其他固定格式的数据文件。在系统扩容及维护阶段,需要对一些配置文件及一些固定格式的数据文件进行数据比对,来确定这些文件是否符合相应的格式要求,从而确保系统以希望的配置及规格运行。而目前的比对方式中,由于待比对文件格式不同,每次对比时,都需要运维人员编写脚本来对各类文件进行对比,这种方式下,运维人员的工作量大,且操作复杂。因此,如何提供一种工作量小、操作简单的文件数据比对方法、工具及设备是本领域技术人员目前需要解决的问题。技术实现要素:本发明的目的是提供一种文件数据比对方法、工具及设备,能够自动对不同格式下的待比对文件进行比对操作,工作人员的工作量小,文件比对时的操作步骤简单。为解决上述技术问题,本发明提供了一种文件数据比对方法,包括:接收启动指令后,调用并运行后台比对脚本;读取预设的比对配置信息;所述预设的比对配置信息包括待比对文件的路径及其格式、多个比对模板文件以及比对规则;依据所述比对配置信息,获取所述待比对文件,并根据其格式获取其对应的比对模板文件;按照所述比对规则,对获取的所述待比对文件及其对应的比对模板文件的数据进行比对,得到比对结果并进行显示。优选地,所述比对配置信息还包括待比对文件导入的数据库信息;所述按照所述比对规则,对获取的所述待比对文件及其对应的比对模板文件的数据进行比对之前还包括:依据所述数据库信息,连接相应的数据库;依据获取的比对模板文件的格式,在所述数据库内构建表格;将获取的所述待比对文件导入所述数据库中构建的表格内,得到待比对文件表;之后按照所述比对规则,将所述待比对文件表与其对应的比对模板文件的数据进行比对。优选地,所述比对规则具体为:依次比对所述待比对文件表与其对应的比对模板文件中对应表格内的每个字段的值,若所述待比对文件表与其对应的比对模板文件中全部字段值均一致,则获取的所述待比对文件的数据正确,否则,获取的所述待比对文件的数据不正确。优选地,所述比对规则还包括:实时统计所述待比对文件表内当前比对完毕的总字段数量、比对完毕的字段中比对一致的字段数量和比对不一致的字段数量、以及当前所述待比对文件表是否全部比对完毕的状态信息,得到统计数据;将所述统计数据作为所述对比结果。优选地,所述将所述统计数据作为所述对比结果的过程具体包括:每比对完成预设条数的字段后,将统计数据提交至所述比对结果内保存。优选地,得到所述比对结果进行显示的过程具体为:周期性的获取所述比对结果并进行显示,若当前所述比对结果内包含所述待比对文件表全部比对完毕的状态信息,则显示比对完毕的提示。优选地,所述按照所述比对规则,对获取的所述待比对文件及其对应的比对模板文件的数据进行比对之前,还包括:接收输入的规则调整数据;依据所述规则调整数据调整所述比对配置信息保存的比对规则;之后,依据调整后的比对规则,对获取的所述待比对文件及其对应的比对模板文件的数据进行比对。优选地,所述比对配置信息还包括:所述待比对文件所处设备信息。为解决上述技术问题,本发明还提供了一种文件数据比对工具,包括:比对数据库,用于存储预设的比对配置信息以及后台比对脚本的保存路径;所述预设的比对配置信息包括待比对文件的路径及其格式、多个比对模板文件以及比对规则;启动模块,用于接收启动指令后,调用所述后台比对脚本;脚本运行模块,用于运行所述后台比对脚本,读取预设的比对配置信息;依据所述比对配置信息,获取所述待比对文件,并根据其格式获取其对应的比对模板文件;按照所述比对规则,对获取的所述待比对文件及其对应的比对模板文件的数据进行比对,得到比对结果并发送至前台显示模块;所述前台显示模块,用于对所述比对结果进行显示。为解决上述技术问题,本发明还提供了一种文件数据比对设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如以上任一项所述的文件数据比对方法的步骤;显示器,用于对处理器生成的比对结果进行显示。本发明提供了一种文件数据比对方法、工具及设备,预先保存待比对文件的路径及其格式、多个比对模板文件以及比对规则,在进行对比时,只需要生成启动指令,后续即会自动调用并运行后台比对脚本,后台比对脚本运行后,即会依据预设的比对配置文件对待比对文件进行比对。可见,本发明只要预先设置好对比文件模板,后续即可自动完成对不同类型待比对文件的比对,而不需要在每次比对不同类型的文件时都重新编写脚本,简化了文件比对时的操作步骤,特别是在需要对大量文件进行比对操作时,能够大大减少工作人员的工作量。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种文件数据比对方法的过程的流程图;图2为本发明提供的一种文件数据比对过程示意图;图3为本发明提供的一种文件数据比对工具的结构示意图。具体实施方式本发明的核心是提供一种文件数据比对方法、工具及设备,能够自动对不同格式下的待比对文件进行比对操作,工作人员的工作量小,文件比对时的操作步骤简单。为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明提供了一种文件数据比对方法,参见图1所示,图1为本发明提供的一种文件数据比对方法的过程的流程图;该方法包括:步骤s1:接收启动指令后,调用并运行后台比对脚本;其中,这里的启动指令,是用于启动整个比对流程的,启动指令的生成方式,可以是由用户输入指定字符串后触发生成,也可以在运行本发明方法的设备上的前台显示界面上设置“比对”按钮,用户点击该按钮后,即生成启动指令,当然,也可采用其他方式生成,本发明对此不作限定。另外,后台比对脚本为预先生成的、用于控制整个比对流程程序的脚本。运行后台比对脚本后,即会自动进入后续步骤的比对操作。为了调用后台对比脚本,需要预先设定好启动指令对应的调用接口,以及调用接口与后台比对脚本之间的链接关系。具体实现时,前台显示界面接收启动指令后,前台显示界面连接主机端,通过webservice接口调用后台比对脚本,进行数据比对。后台比对脚本优选为shell脚本,当然,本发明不限定脚本类型以及调用接口类型。步骤s2:读取预设的比对配置信息;预设的比对配置信息包括待比对文件的路径及其格式、多个比对模板文件以及比对规则;其中,本发明中的比对配置信息是预先通过前台显示界面输入配置的。可以理解的是,由于后台比对脚本内包含的是整个比对流程程序,该比对程序对于不同的待比对文件是相同的,因此,后台比对脚本设置好之后,在以后文件比对时不需要再进行修改。而比对过程中所需的比对配置信息,由于与待比对文件有关,每次比对时可能会与之前存在差异,导致前次保存的比对配置信息无法满足本次比对,因此比对配置信息不仅需要提前设置,且每次进行比对时,可在生成启动指令之前,根据自身需求通过前台显示界面进行调整。另外,在设置比对配置信息时,其包含的比对模板文件可尽可能涵盖较多的固定格式文件,这样使得在对大多数待比对文件进行比对之前,不再需要在比对配置文件内添加其对应的比对模板文件。需要注意的是,本发明中的待比对文件指的是具有固定格式的文件,如配置文件、话单文件等,由于这些文件格式固定,因此,才需要检测其当前的内容是否符合应有的格式。步骤s3:依据比对配置信息,获取待比对文件,并根据其格式获取其对应的比对模板文件;并且,在对海量文件进行比对时,为了加快比对效率,可以在比对配置信息内将全部待比对文件的路径及格式均进行保存,之后比对过程中,后台比对脚本可依据比对配置信息,依次获取待比对文件及其格式和对应的比对模板文件,进而进行比对。这种方式下,工作人员不需要每次比对时,均输入待比对文件的路径和格式,而是仅需要启动比对流程,即可自动对海量的待比对文件进行对比,比对效率高,比对过程简单。优选地,可以将全部待比对文件设置于相同的目录下,方便后台比对脚本查找,或者,也可以将相同格式的待比对文件设置于同一个目录下。当然,待比对文件的保存位置,本发明不作具体限定。步骤s4:按照比对规则,对获取的待比对文件及其对应的比对模板文件的数据进行比对,得到比对结果并进行显示。比对的目的,是为了检验待比对文件的内容是否满足应有的需求,因此,将其与对应的比对模板文件进行比较,若其需要比对的部分与模板相同,则表明待比对文件满足了相应需求(这里的需求包括文件内容、格式、配置、规格等),若不相同,则表明待比对文件存在问题,需要进行调整。在优选实施例中,比对配置信息还包括待比对文件导入的数据库信息;步骤s3后,步骤s4之前还包括:依据数据库信息,连接相应的数据库;依据获取的比对模板文件的格式,在数据库内构建表格;此时构建的表格仅是空表,之后再将待比对文件的内容导入空表内;且为方便比对,这里的构建的空表格式应与对应的比对模板文件的表格格式相同;将获取的待比对文件导入数据库中构建的表格内,得到待比对文件表;具体方式可以为:使用后台sqlldr命令,将文件内容入库数据库的表格中;之后按照比对规则,将待比对文件表与其对应的比对模板文件的数据进行比对。可以理解的是,数据库具有建表的功能,由于文件内参量较多,直接以文件形式进行比对的话,数据量较大,比对过程复杂,而通过数据库的建表功能,将待对比文件的各项待比对的特征拆分至不同的表格内,组成待比对文件表,此时,待比对文件表也为表格形式,之后待比对文件表与待比对文件表进行比对时,可直接将相同位置的表格内容进行比对即可,简化了比对过程。具体的,在数据库内构建表格的实现方式可以为:按照比对模板文件的格式,拼出createtable的建表语句,之后执行建表语句建表(表名可举例为t_data_source)。在一种具体实施例中,比对规则具体为:依次比对待比对文件表与其对应的比对模板文件中对应表格内的每个字段的值,若待比对文件表与其对应的比对模板文件中全部字段值均一致,则获取的待比对文件的数据正确,否则,获取的待比对文件的数据不正确。可以理解的是,待比对文件表与其对应的比对模板文件中对应表格内的内容,是在建表时提取出来的、需要进行比对的特征,因此若这些特征完全一致的话,则表明待比对文件的数据正确。当然,这里依据字段进行比对是为了保证比对结果的正确性,为了提高比对速度,在对一个表格进行比对时,可不限于字段,可直接对整个表格内容进行比对。另外,也可以不依次比对每个表格,而是多进程并行比对,从而提高比对效率。具体采用哪种方式,本发明不作限定。进一步的,比对规则还包括:实时统计待比对文件表内当前比对完毕的总字段数量、比对完毕的字段中比对一致的字段数量和比对不一致的字段数量(即错误字段的数量)、以及当前待比对文件表是否全部比对完毕的状态信息,得到统计数据;将统计数据作为对比结果。可以理解的是,比对结果可以仅包含待比对文件是否正确,但是,这种结果显示方式在待比对文件不正确时,工作人员无法得知待比对文件的具体错误情况;而本实施例中,在比对过程中,实时统计当前比对完毕的总字段数量、正确字段数量以及错误字段数量,这样可方便工作人员了解待比对文件的具体错误情况。进一步的,还可在比对结果为不一致时,记录比对不一致的字段(即错误字段的内容)并在对比结果中显示,从而方便工作人员查看对比结果时,依据直接依据此内容确定错误字段,并进行修改。另外,为方便得到统计数据,可以设置一个错误表,将比对不一致的字段输入至错误表内保存,从而方便统计错误字段的数量,以及记录错误字段的内容。进一步可知,将统计数据作为对比结果的过程具体包括:每比对完成预设条数的字段后,将统计数据提交至比对结果内保存。其中,本发明所述的比对结果,可以是以日志或文件形式存在,本发明不限定比对结果的具体格式。可以理解的是,由于待比对的字段非常多,若每比对完一条字段后即将统计数据添加至比对结果内保存的话,比对结果内的统计数据会频繁更换,进而影响整个比对过程的效率,拖慢比对速度。因此,本实施例中,每比对完一条字段后暂时缓存当前的统计数据,在完成预设条数的字段后,才向比对结果内提交一次统计数据,这种方式能够避免比对结果内数据的频繁更替。另外,这里的预设条数可以为500条,当然,预设条数的具体数值与总的待比对的字段条数有关,本发明对此不作限定。在优选实施例中,得到比对结果进行显示的过程具体为:周期性的获取比对结果并进行显示,若当前比对结果内包含待比对文件表全部比对完毕的状态信息,则显示比对完毕的提示。可以理解的是,周期性的获取比对结果并进行显示,可以方便工作人员及时得知比对情况。在其他实施例中,也可实时获取比对结果并进行显示,或者在比对完毕后,再对比对结果进行显示,本发明不限定比对结果的显示周期。在一优选实施例中,步骤s4之前,还包括:接收输入的规则调整数据;依据规则调整数据调整比对配置信息保存的比对规则;之后,依据调整后的比对规则,对获取的待比对文件及其对应的比对模板文件的数据进行比对。可以理解的是,对于某些待比对文件,其可能存在部分特殊的比对规则,此时比对配置信息内预设的比对规则,则可能不太适用,因此,需要在比对前对比对规则进行调整,该操作可以在步骤s3之后,也可以是在启动指令生成之前,对此本发明不作限定。另外,由于部分实施例中,将待比对文件转换为待比对文件表进行比对,因此,此时比对规则可以是以数据库存储过程(databasestoredprocedure)的形式存在,比对规则的调整过程是:按配置的格式,拼装数据库存储过程pro_data_compare。其中,数据库存储过程,是在大型数据库系统中,一组为了完成特定功能的sql语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定数据库存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。数据库存储过程是数据库中的一个重要对象。)具体的,比对配置信息还包括:待比对文件是否有文件头、待比对文件所处设备信息(ip、端口、用户名、密码等)。比对配置信息中的文件格式指的是如:以逗号分隔,第一个字段是节点id、第二个字段是节点名称等,待比对文件导入的数据库信息包括ip、端口、用户名、密码等。后台比对脚本查找待比对文件时,可根据文件的路径以及所处的设备进行查找。参见图2所示,图2为本发明提供的一种文件数据比对过程示意图。具体的,本发明采用vb语言进行前台配置界面开发。使用shell脚本及数据库存储过程完成后台开发。shell脚本及数据库部署在单独的服务器上(linux操作系统)。当然,以上仅为一种实现方式,本发明不限定开发语言以及所处系统。本发明采用前台显示和后台比对脚本结合的架构,配置灵活,适用于多种文件格式、大数据量的文件内容比对,比对配置信息的配置灵活,适用场景广,比对效率较高。且运维人员编写一次后台比对脚本后,后续仅进行配置信息调整即可,可以根据具体的需要进行定制开发,工作量小,脚本可维护性较高,且使用的后台工具主要是数据库及linux常用的后台程序及库,可迁移性高。并且能较为实时和直观的看到比对结果。本发明提供了一种文件数据比对方法,预先保存待比对文件的路径及其格式、多个比对模板文件以及比对规则,在进行对比时,只需要生成启动指令,后续即会自动调用并运行后台比对脚本,后台比对脚本运行后,即会依据预设的比对配置文件对待比对文件进行比对。可见,本发明只要预先设置好对比文件模板,后续即可自动完成对不同类型待比对文件的比对,而不需要在每次比对不同类型的文件时都重新编写脚本,简化了文件比对时的操作步骤,特别是在需要对大量文件进行比对操作时,能够大大减少工作人员的工作量。本发明还提供了一种文件数据比对工具,参见图3所示,图3为本发明提供的一种文件数据比对工具的结构示意图。该工具包括:比对数据库1,用于存储预设的比对配置信息以及后台比对脚本的保存路径;预设的比对配置信息包括待比对文件的路径及其格式、多个比对模板文件以及比对规则;启动模块2,用于接收启动指令后,调用后台比对脚本;脚本运行模块3,用于运行后台比对脚本,读取预设的比对配置信息;依据比对配置信息,获取待比对文件,并根据其格式获取其对应的比对模板文件;按照比对规则,对获取的待比对文件及其对应的比对模板文件的数据进行比对,得到比对结果并发送至前台显示模块4;前台显示模块4,用于对比对结果进行显示。本发明还提供了一种文件数据比对设备,包括:存储器,用于存储计算机程序;处理器,用于执行计算机程序时实现如以上任一项的文件数据比对方法的步骤;显示器,用于对处理器生成的比对结果进行显示。以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本
技术领域
:的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1