具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1示出了一种可应用于本发明实施例提供的日志文件处理方法和装置的服务器100的结构框图。如图1所示,服务器100包括存储器101、存储控制器102,一个或多个(图中仅示出一个)处理器103、外设接口104、射频模块105、显示单元106等。这些组件通过一条或多条通讯总线/信号线107相互通讯。
存储器101可用于存储软件程序以及模块,如本发明实施例中的日志文件处理方法及装置对应的程序指令/模块,处理器103通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,如本发明实施例提供的日志文件处理方法。
存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器103以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。
外设接口104将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块105用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。
显示模块106在服务器100与用户之间提供一个显示界面。具体地,显示模块106向用户显示图像输出,这些图像输出的内容可包括文字、图形、视频及其任意组合。
可以理解,图1所示的结构仅为示意,服务器100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
于本发明实施例中,服务器100可以是网络服务器、数据库服务器等,也可以是网络服务器、数据库服务器等的集成式服务器系统。优选地,本实施例的服务器100可以为浏览器,可以进行网页浏览、网页渲染、图片处理等。本发明实施例提供的日志文件处理方法,通过当前日志文件和历史日志文件状态比对,定位真正需要处理的日志文件,在根据判断因素获取日志文件的处理进度,获取日志操作程序的操作对象。
请参见图2,为本发明第一实施例提供的日志文件处理方法的步骤流程图,用于自动处理日志文件。下面将结合图2,对本发明实施例提供的日志文件处理方法进行详细说明。
步骤S201,根据预设的查找时间,获取对应所述查找时间的第一日志文件的标识信息。
日志文件一般是以时间为筛选依据进行待操作日志文件的筛选操作,系统内预先设置筛选时间点,系统根据筛选时间点筛选对应的日志文件,进行相应的处理操作。根据预设的查找时间,可以查找到所述查找时间对应的日志文件,作为第一日志文件,获取用于标识该第一日志文件的标识信息。预先设置的对应查找操作的预设查找时间,可以为查找操作发生时系统内记录的当前时间。优选地,所述用于标识日志文件的标识信息可以为日志文件的文件名。初始化日志文件的部分私有变量,作为查找日志文件的查找条件,结合查找时间进行日志文件的查找。所述查找条件可以包括日志文件存放目录、日志文件名后缀、日志文件名格式等。进行日志文件查找时,可以选择上述查找条件中的几种组合成确定查找条件,根据组合后的查找条件进行日志文件的查找。
第一日志文件查找过程可以为:
根据所述查找时间、日志文件存放目录、日志文件名后缀和日志文件名格式,获取所述第一日志文件的文件名。获取该第一日志文件的文件名后,根据文件名从文件系统内或许对应该文件名对应的日志文件的日志文件处理记录。
步骤S202,根据系统的日志文件处理记录,获取截止所述查找时间前最后处理的日志文件,作为第二日志文件,获取所述第二日志文件的标识信息。
文件系统中存储有日志文件处理记录,记录处理过的日志文件的中间状态,所述日志文件的中间状态可以包括日志文件的文件名和行号。在本次日志文件处理程序启用之前,上次日志文件处理程序处理的日志文件都记录在文件系统的日志文件处理记录中。欲获历史日志文件处理状态,则需要根据文件系统的日志文件处理记录,获取截止所述查找时间时,最后处理的日志文件,作为反映历史日志文件处理状态的第二日志文件。获取用于标识所述第二日志文件的标识信息,所述第二日志文件的标识信息可以为第二日志文件的文件名,获取所述第二日志文件的文件名的方式可以为:根据日志文件处理记录中的最后处理时间,结合日志文件存放目录、日志文件名后缀、日志文件名格式等查找条件,获取对应最后处理时间的第二日志文件的文件名。
步骤S203,判断所述第一日志文件的标识信息与所述第二日志文件的标识信息是否相同。
若是,则执行步骤S204,处理所述第一日志文件。
若否,则执行步骤S205,根据所述第二日志文件的处理进度,处理所述第二日志文件。
依据上述步骤获取对应当前查找时间的第一日志文件和对应历史日志文件状态的第二日志文件后,定位真正需要处理的日志文件,其主要目的为判断历史日志文件状态对应的第二日志文件是否处理完成,是否需要继续进行处理。如果所述第二日志文件已经处理完成,则可以接着处理第一日志文件。如果第二日志文件未处理完成,或者所述第二日志文件的后续邻接日志文件没有处理完成,则处理第二日志文件或者其邻接日志文件。
在一种实施方式中,可以通过日志文件的标识信息判断所述第一日志文件和所述第二日志文件是否相同,进而判断第二日志文件是否处理完成。判断所述第一日志文件的标识信息与所述第二日志文件的标识信息是否相同,如果所述第一日志文件的标识信息与所述第二日志文件的标识信息相同,则可以判定日志文件处理记录中的第二日志文件已经处理完成,或者可以判定所述第二日志文件即为当前查找时间对应的第一日志文件,没有出现遗漏的待处理日志文件。在这种情况下,可以将所述第一日志文件作为所述待处理日志文件,处理所述第一日志文件。
如果所述第一日志文件的标识信息与所述第二日文件的标识信息不同,则可以判定日志文件处理记录中的第二日志文件尚未处理完成,或者是所述第二日志文件的邻接日志文件没有处理完成。进而可以判定,在所述查找时间之前,存在遗漏的未处理的日志文件,则此时需要将所述第二日志文件作为所述待处理日志文件,处理所述第二日志文件。
在上述实施例的基础上,考虑到日志文件中存在多个处理任务,如果日志文件中的处理任务全部处理完,则可以判定该日志文件的处理进度为处理完成,则该日志文件不需要操作程序继续操作。如果日志文件中的处理认为没有全部处理完,则可以判定该日志文件的处理进度为未处理完成,则该日志文件需要调用操作程序继续操作。因此,在依据上述步骤定位到待处理日志文件后,还需要根据待处理日志文件的处理进度,确定真正需要处理的日志文件。
请参见图3,是所述第一日志文件与所述第二日志文件的标识信息不同时,步骤S204中将所述第二日志文件作为待处理日志文件的操作方法。下面将结合图3,对上述步骤S204的具体实施方式进行说明。
步骤S301,将所述第二日志文件作为待处理日志文件,获取所述待处理日志文件的当前处理进度。
上述步骤中,通过比对所述第一日志文件的标识信息和所述第二日志文件的标识信息,初步定为待处理日志文件。在判定所述第二日志文件为待处理日志文件时,根据所述第二日志文件的处理进度,进一步准确定为需要处理的日志文件。可以通过日志文件的行号、操作程序处理标记定位等方式获取所述第二日志文件的当前处理进度。获取所述待处理日志文件的当前处理进度的具体实现方式可以参见图4。下面将结合图4,对本发明实施例提供的日志文件处理方法的步骤S301进行具体说明。
步骤S401,获取所述待处理日志文件的当前行号和最大行号。
日志文件中包含多个操作任务,该日志文件的最大行号可以表示该日志文件内全部操作任务的数量,而该日志文件的当前行号可以表示该日志文件正在处理的操作任务对应的任务行。因此,在需要获取待处理日志文件的处理进度时,可以获取指示该日志文件当前操作任务的当前行号,以及全部操作任务的最大行号。
步骤S402,判断所述当前行号是否小于所述最大行号;
若是,则执行步骤S403,判定所述待处理日志文件没有处理完;
若否,则执行步骤S404,判定所述待处理日志文件处理完成。
依据上述步骤获取该日志文件的当前行号和最大行号后,判断该日志文件的当前行号是否小于所述最大行号。如果所述当前行号小于所述最大行号,则表示该日志文件当前操作任务不是所述日志文件的最后一个操作任务,则可以判定所述待处理日志文件还没有处理完成。如果所述当前行号等于所述最大行号,则表示该日志文件当前操作任务是所述日志文件的最后一个操作任务,则可以判定所述待处理日志文件已经处理完成。通过比对第二日志文件的当前行号和最大行号,即可判断该第二日志文件的操作任务是否处理完成。
步骤S302,根据所述当前处理进度判断所述第二日志文件是否处理完成。
若是,则执行步骤S303,根据预设规则获取所述第二日志文件邻接的下一日志文件,处理所述下一日志文件;
若否,则执行步骤S304,根据所述当前处理进度,继续处理所述第二日志文件,更新所述第二日志文件的当前处理进度,直至所述第二日志文件处理结束,处理所述下一日志文件。
依据上述步骤获取所述第二日志文件的当前处理进度后,根据所述第二日志文件的当前处理进度,进一步确定需要处理的是否为该第二日志文件。如果所述第二日志文件未完成,则根据该第二日志文件的当前处理进度,继续处理所述第二日志文件,并根据处理操作继续更新所述第二日志文件的当前处理进度,直至所述第二日志文件处理结束。具体地,可以根据所述第二日志文件的当前行号继续处理该日志文件,并更新所述第二日志文件的当前行号,直至所述当前行号等于该第二日志文件的最大行号,即为处理完了所述第二日志文件的全部操作行,所述第二日志文件处理完成。
如果所述第二日志文件已经处理完成,则可以根据文件系统内预设的文件生成规则,生成所述第二日志文件邻接的下一日志文件,开始处理所述下一日志文件。预设的文件生成规则可以有多种,例如设置好包含操作时间点的文件名格式后,根据所述第二日志文件的文件名,修改第二日志文件名的操作时间点为下一个操作时间节点,即可获得下一日志文件的文件名,进而处理下一日志文件。处理所述下一日志文件的过程可以为:获取该日志文件的最大行号,将该下一日志文件的当前行号置为0,开始处理所述第二日志文件。
在一种实施方式中,如果所述第二日志文件的当前处理进度为未完成,则按照上述方式,根据第二日志文件的当前处理进度,继续处理所述第二日志文件,直至所述第二日志文件处理完成。再根据预设的文件生成规则,生成所述第二日志文件邻接的下一日志文件,开始处理下一日志文件。
依据上述步骤可以完成所述第一日志文件与所述第二日志文件的标识信息不同时,准确定位待处理日志文件。所述第一日志文件与所述第二日志文件的标识信息相同时,定位待处理日志文件的方案可以参见图5。下面将结合图5,为本发明实施例提供的日志文件处理方法的步骤S204进行具体说明。
步骤S501,将所述第一日志文件作为待处理日志文件,获取所述待处理日志文件的当前处理进度。
本发明实施例中,通过比对第一日志文件和标识信息和所述第二日志文件的标识信息相同,初步判定所述第一日志文件为待处理日志文件。再结合所述第一日志文件的处理进度,进一步准确判定该第一日志文件是否需要处理。可以通过第一日志文件的行号、操作程序处理标记定位等方式获取所述第一日志文件的当前处理进度。获取所述第一日志文件的当前处理进度的具体实现方式可以为:
获取指示所述第一日志文件的当前操作任务的当前行号,以及全部操作任务的最大行号。获取所述第一日志文件的当前行号和最大行号后,判断该第一日志文件的当前行号是否小于所述最大行号。如果所述当前行号小于所述最大行号,则表示该第一日志文件当前操作任务不是所述第一日志文件的最后一个操作任务,则可以判定所述第一日志文件还没有处理完。如果所述当前行号等于所述最大行号,则表示该第一日志文件当前操作任务是所述日志文件的最后一个操作任务,则可以判定该第一日志文件已经处理完成。通过比对所述第一日志文件的当前行号和最大行号,即可判断该第一日志文件的操作任务是否处理完成。
步骤S502,根据所述当前处理进度判断所述第一日志文件是否处理完成;
若是,则执行步骤S503,结束此次日志文件处理操作。
若否,则执行步骤S504,根据所述当前处理进度,继续处理所述第一日志文件,更新所述第一日志文件的当前处理进度。
获取所述第一日志文件的当前处理进度后,根据所述第一日志文件的当前处理进度,进一步确定该第一日志文件是否需要处理。如果所述第一日志文件未完成,则根据该第一日志文件的当前处理进度,继续处理所述第一日志文件,并根据处理操作继续更新所述第一日志文件的当前处理进度,直至所述第一日志文件处理完成。具体地,可以根据所述第一日志文件的当前行号继续处理该第一日志文件,并更新所述第一日志文件的当前行号,直至所述当前行号等于该第一日志文件的最大行号,即为处理完了所述第一日志文件的全部操作行,所述第一日志文件处理完成。
如果上述判断中,所述第一日志文件的当前行号等于所述第一日志文件的最大行号,则表示所述第一日志文件已经处理完成,则可以结束此次日志文件处理操作。
本发明实施例提供的日志文件处理方法,根据日志文件的时间切分规则,获取查找时间对应的第一日志文件,并结合系统的日志文件处理记录,获取截止所述查找时间前最后处理的日志文件,将该日志文件作为第二日志文件。判断上次日志处理文件是否处理完,判断方式为判断当前查找时间对应的第一日志文件,与日志处理记录中记录的最后处理的第二日志文件的标识信息是否相同,如果相同,则可以判定最后处理的第二日志文件已经处理完成,或者就是当前查找时间对应的第一日志文件,则可以将所述第一日志文件作为待处理日志文件,处理该第一日志文件。如果所述第一日志文件与所述第二日志文件的标识信息不同,则可以判定最后处理的日志文件可能还没有处理完成,则需要将所述第二日志文件作为待处理文件,根据该第二日志文件的当前处理进度处理所述第二日志文件,以实现日志文件的有效、自动地定位和切换,减少了人工干预过程的成本和出错率,提高了日志文件处理效率。
请参见图6,为本发明第二实施例提供的日志文件处理装置600的步骤流程图。所述日志文件处理装置600包括:
第一查找模块601,用于根据预设的查找时间,获取对应所述查找时间的第一日志文件的标识信息;
第二查找模块602,用于根据系统的日志文件处理记录,获取截止所述查找时间前最后处理的日志文件,作为第二日志文件,获取所述第二日志文件的标识信息;
判断模块603,用于判断所述第一日志文件的标识信息与所述第二日志文件的标识信息是否相同;
执行模块604,用于如果所述第一日志文件的标识信息与所述第二日志文件的标识信息相同,处理所述第一日志文件,用于如果所述第一日志文件的标识信息与所述第二日志文件的标识信息不相同,根据所述第二日志文件的处理进度,处理所述第二日志文件。
在上述实施例的基础上,所述标识信息为日志文件的文件名。
在上述实施例的基础上,所述执行模块604用于:
将所述第二日志文件作为待处理日志文件,获取所述待处理日志文件的当前处理进度;
根据所述当前处理进度判断所述第二日志文件是否处理完成;
若是,则根据预设规则获取所述第二日志文件邻接的下一日志文件,处理所述下一日志文件;
若否,则根据所述当前处理进度,继续处理所述第二日志文件,更新所述第二日志文件的当前处理进度,直至所述第二日志文件处理结束,处理所述下一日志文件。
在上述实施例的基础上,所述执行模块604用于:
将所述第一日志文件作为待处理日志文件,获取所述待处理日志文件的当前处理进度;
根据所述当前处理进度判断所述第一日志文件是否处理完成;
若否,则根据所述当前处理进度,继续处理所述第一日志文件,更新所述第一日志文件的当前处理进度
在上述实施例的基础上,所述执行模块604用于:
获取所述待处理日志文件的当前行号和最大行号;
判断所述当前行号是否小于所述最大行号;
若是,则判定所述待处理日志文件没有处理完;
若否,则判定所述待处理日志文件处理完成。
在上述实施例的基础上,所述第一查找模块601用于:
根据所述查找时间、日志文件存放目录、日志文件名后缀和日志文件名格式,获取所述第一日志文件的文件名。
上述本发明实施例提供的日志文件处理装置,应用于本发明实施例提供的服务器。根据日志文件的时间切分规则,获取查找时间对应的第一日志文件,并结合系统的日志文件处理记录,获取截止所述查找时间前最后处理的日志文件,将该日志文件作为第二日志文件。判断上次日志处理文件是否处理完,判断方式为判断当前查找时间对应的第一日志文件,与日志处理记录中记录的最后处理的第二日志文件的标识信息是否相同,如果相同,则可以判定最后处理的第二日志文件已经处理完成,或者就是当前查找时间对应的第一日志文件,则可以将所述第一日志文件作为待处理日志文件,处理该第一日志文件。如果所述第一日志文件与所述第二日志文件的标识信息不同,则可以判定最后处理的日志文件可能还没有处理完成,则需要将所述第二日志文件作为待处理文件,根据该第二日志文件的当前处理进度处理所述第二日志文件,以实现日志文件的有效、自动地定位和切换,减少了人工干预过程的成本和出错率,提高了日志文件处理效率。本发明实施例提供的日志文件处理装置的具体实施过程可以参见上述方法实施例,在此不再一一赘述。
请继续参见图1,为本发明第三实施例提供的服务器的结构示意图。所述服务器包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述存储器与所述处理器连接,所述处理器执行所述程序时实现以下步骤:
根据预设的查找时间,获取对应所述查找时间的第一日志文件的标识信息;
根据系统的日志文件处理记录,获取截止所述查找时间前最后处理的日志文件,作为所述第二日志文件,获取所述第二日志文件的标识信息;
判断所述第一日志文件的标识信息与所述第二日志文件的标识信息是否相同;
若是,处理所述第一日志文件;
若否,根据所述第二日志文件的处理进度,处理所述第二日志文件。
综上所述,本发明实施例提供的服务器,内设处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,所述存储器与所述处理器连接,所述处理器执行所述程序时实现本发明实施例的日志文件处理方案。根据日志文件的时间切分规则,获取查找时间对应的第一日志文件,并结合系统的日志文件处理记录,获取截止所述查找时间前最后处理的日志文件,将该日志文件作为第二日志文件。判断上次日志处理文件是否处理完,判断方式为判断当前查找时间对应的第一日志文件,与日志处理记录中记录的最后处理的第二日志文件的标识信息是否相同,如果相同,则可以判定最后处理的第二日志文件已经处理完成,或者就是当前查找时间对应的第一日志文件,则可以将所述第一日志文件作为待处理日志文件,处理该第一日志文件。如果所述第一日志文件与所述第二日志文件的标识信息不同,则可以判定最后处理的日志文件可能还没有处理完成,则需要将所述第二日志文件作为待处理文件,根据该第二日志文件的当前处理进度处理所述第二日志文件,以实现日志文件的有效、自动地定位和切换,减少了人工干预过程的成本和出错率,提高了日志文件处理效率。本发明实施例提供的服务器的具体实施过程可以参见上述方法实施例,在此不再一一赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。