一种文件变更的处理方法、装置、存储介质及电子设备与流程

文档序号:22795985发布日期:2020-11-04 03:48阅读:113来源:国知局
一种文件变更的处理方法、装置、存储介质及电子设备与流程

本申请涉及互联网领域,具体而言,涉及一种文件变更的处理方法、装置、存储介质及电子设备。



背景技术:

随着互联网的发展,越来越多的人开始使用互联网。随之而来的,产生了大量的文本文件。而文本文件往往都需要修改,包括增量修改和非增量修改。在一些特定的情况下,人们需要对文件的修改内容进行监控。

而现有技术通常只能监控增量修改所对应的内容,即如何对非增量内容进行监控,仍然是需要技术人员解决的问题。



技术实现要素:

本申请的目的在于提供一种文件变更的处理方法、装置、存储介质及电子设备,以解决上述问题。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请实施例提供一种文件变更的处理方法,所述方法包括:

依据待监控文件在第一存储器中的位置信息生成监控路径;

通过所述监控路径对所述待监控文件的变更信号进行监控,其中,所述变更信号携带所述待监控文件对应的修改信息;

当获得所述变更信号时,依据变更后的待监控文件生成变更文本,其中,所述变更文本包含增量变更后或非增量变更后的待监控文件的变更内容;

将所述变更文本上传。

第二方面,本申请实施例提供一种文件变更的处理装置,所述装置包括:

处理单元,用于依据待监控文件在第一存储器中的位置信息生成监控路径;还用于通过所述监控路径对所述待监控文件的变更信号进行监控,其中,所述变更信号携带所述待监控文件对应的修改信息;还用于当获得所述变更信号时,依据变更后的待监控文件生成变更文本,其中,所述变更文本包含增量变更后或非增量变更后的待监控文件的变更内容;

上传单元,用于将所述变更文本上传。

第三方面,本申请实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的方法。

第四方面,本申请实施例提供一种电子设备,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,实现上述的方法。

相对于现有技术,本申请实施例所提供的一种文件变更的处理方法、装置、存储介质及电子设备的有益效果为:首先依据待监控文件在第一存储器中的位置信息生成监控路径,再通过监控路径对待监控文件的变更信号进行监控,然后在获得变更信号时,依据变更后的待监控文件生成变更文本,变更文本包含增量变更后或非增量变更后的待监控文件中的变更内容,当上传变更文本后,能够实现对待监控文件的全面监控,从而解决了现有技术仅仅能对增量修改监控的缺陷。最后,变更文本存储第二存储器中,可以同时对变更文本和待监控文件进行编辑,互不干扰,提升处理效率。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。

图1为本申请实施例提供的电子设备的结构示意图;

图2为本申请实施例提供的文件变更的处理方法的流程示意图;

图3为本申请实施例提供的文件变更的处理方法的流程示意图之一;

图4为本申请实施例提供的s107的子步骤示意图;

图5为本申请实施例提供的文件变更的处理方法的流程示意图之一;

图6为本申请实施例提供的文件变更的处理方法的流程示意图之一;

图7为本申请实施例提供的处理流程的配置示意图;

图8为本申请实施例提供的文件变更的处理装置的单元示意图。

图中:10-处理器;11-存储器;12-总线;13-通信接口;201-处理单元;202-上传单元。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本申请的描述中,需要说明的是,术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。

在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。

下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

本申请实施例提供了一种电子设备,可以是服务器设备。请参照图1,电子设备的结构示意图。电子设备包括处理器10、存储器11、总线12。处理器10、存储器11通过总线12连接,处理器10用于执行存储器11中存储的可执行模块,例如计算机程序。

处理器10可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,文件变更的处理方法的各步骤可以通过处理器10中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器10可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

存储器11可能包含高速随机存取存储器(ram:randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。

总线12可以是isa(industrystandardarchitecture)总线、pci(peripheralcomponentinterconnect)总线或eisa(extendedindustrystandardarchitecture)总线等。图1中仅用一个双向箭头表示,但并不表示仅有一根总线12或一种类型的总线12。

存储器11用于存储程序,例如文件变更的处理装置对应的程序。文件变更的处理装置包括至少一个可以软件或固件(firmware)的形式存储于存储器11中或固化在电子设备的操作系统(operatingsystem,os)中的软件功能模块。处理器10在接收到执行指令后,执行所述程序以实现文件变更的处理方法。

可能地,本申请实施例提供的电子设备还包括通信接口13。通信接口13通过总线与处理器10连接。处理器10可以通过通信接口13接收其他设备传输的文件信息或修改指令。

应当理解的是,图1所示的结构仅为电子设备的部分的结构示意图,电子设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例提供的一种文件变更的处理方法,可以但不限于应用于图1所示的电子设备,具体的流程,请参考图2:

s102,依据待监控文件在第一存储器中的位置信息生成监控路径。

具体地,依据用户的输入信息选择待监控文件。再依据待监控文件在第一存储器中的位置信息生成监控路径。例如,当待监控文件为存储于d盘第3文件夹下的第2子文件夹中的x文件,监控路径可以为d盘→第3文件夹→第2子文件夹→x文件。

s103,通过监控路径对待监控文件的变更信号进行监控。

其中,变更信号携带待监控文件对应的修改信息。在获得变更信号后,会对待监控文件进行对应的修改。

s105,当获得变更信号时,依据变更后的待监控文件生成变更文本。

其中,变更文本包含增量变更后或非增量变更后的待监控文件的变更内容,变更文本存储于第二存储器中。分开存储变更文本,便于需要编辑变更文本时,不影响对待监控文本的处理。本申请实施例中第一存储器和第二存储器可以是同一个存储装置中的不同分区。可能地,第一存储器和第二存储器可以是不同的存储装置,例如第一存储器可以为磁盘,第二存储器可以为高速随机存取存储器。第二存储器的读写速度高于第一存储器的读写速度。

通过变更后的待监控文件生成变更文本,包括待监控文件的所有的变更内容,例如增量修改对应的内容和非增量修改对应的内容。从而对待监控文件进行全面的监控。

s111,将变更文本上传。

具体地,直接从第一存储器上传修改后的待监控文件(源文件)将消耗较长的时间。通过快速将修改后的待监控文件复制为第二存储器中的变更文本,再将变更文本上传,将节省大量的时间,提升上传的效率。

可能地,将变更文本上传至中间件。中间件可以为kafka队列、redis队列或者其他。综上所述,本申请实施例提供的文件变更的处理方法中,首先依据待监控文件在第一存储器中的位置信息生成监控路径,再通过监控路径对待监控文件的变更信号进行监控,然后在获得变更信号时,依据变更后的待监控文件生成变更文本,变更文本包含增量变更后和非增量变更后的待监控文件中的变更内容,当上传变更文本后,能够实现对待监控文件的全面监控,从而解决了现有技术仅仅能对增量修改监控的缺陷。最后,变更文本存储第二存储器中,可以同时对变更文本和待监控文件进行编辑,互不干扰,提升处理效率。

进一步地,变更文本携带时间戳,时间戳表征变更文本的生成时间。在图2的基础上,对于如何对变更文本进行中间处理,本申请实施例还提供了一种可能的实现方式,请参考图3,文件变更处理方法还包括:

s107,依据时间戳的顺序,依次将变更文本加载至对应的线程。

具体地,线程为处理器10的任意一个核所对应的任意线程。处理器10的核可以通过其对应的线程调取变更文本。

s110,当待监控文件配置有处理流程时,通过线程对变更文本进行处理。

其中,处理包括数据过滤处理和格式转化处理。可能地,待监控文件的格式与对应的中间件格式要求不一致时,可以通过配置文件,配置待监控文件的处理流程(格式转化处理),从而在变更文本加载到对应的线程后,可以对其进行格式转化处理,是其格式与中间件的要求一致。可能地,中间件对要求对数据进行过滤时,与该类型中间件对应的待监控文件需要配置数据过滤处理对应的处理流程。

通过图3所示的步骤,可以在变更文本上传之前对其进行编辑处理。相对于现有技术中,如果需要对监测到的文件进行处理,必须在将文件上传至中间件后,再接收中间件数据从而对监测到的文件进行处理。所以解决了现有技术工作流程繁琐,效率低下的问题。

在图3的基础上,对于s107中的内容,本申请实施例还提供了一种可能的实现方式,请参考图4,s107包括:

s107-1,依据时间戳的顺序确定对应的变更文本。

具体地,依据时间戳的先后顺序,确定还未加载至任何线程的最早的变更文本。

s107-2,从至少两个线程中选择一个与变更文本对应的线程。

具体地,当有多个线程可以匹配时,选择其中空闲度最高的线程,将空闲度最高的线程与变更文本匹配。

s107-3,将变更文本加载至对应的线程。

具体地,将变更文本加载至空闲度最高的线程,以使尽快对变更文本进行处理,提升处理效率。

在图2的基础上,关于如何设定监控模式,本申请实施例还提出了一种可能的实现方式,请参考图5,文件变更的处理方法还包括:

s101,依据配置文件中的设定进入预定监控模式。

其中,配置文件包含变更信号对应的预定监控模式。当然地,预定监控模式包括增量监控模式和非增量监控模式。配置文件可以是用户通过人机交互设备输入的,也可以是其他终端传输的,在此不做限定。

在图5的基础上,本申请实施例还提供了一种优选地文件变更处理方法,请参考图6,s101包括:

s101-1,确定配置文件中的设定的预定监控模式的种类。

s101-2,当预定监控模式为增量监控模式,则进入增量监控模式。

此时,变更文本为增量更新内容对应的文本。

s101-3,当预定监控模式为非增量监控模式,则进入非增量监控模式。

当进入非增量监控模式后,即对任何的变更信号(包括增量变更信号和非增量变更信号)进行监控。此时,变更文本为变更后的待监控文件的副本。

在设定监控模式后,执行s102和s103。当获得变更信号时,执行s104。

s104,判断是否为增量监控模式。若是,则执行s105-1;若否,则执行s105-3。

具体地,判断电子设备当前的监控模式是否为增量监控模式。若是,则执行增量监控模式对应的步骤s105-1;反之,则执行非增量监控模式对应的步骤s105-3。

s105-1,使用异步非阻塞的方式读取文件,在每次读取文件时进行偏移量的记录。

具体地,当进入增量监控模式时,使用nio异步非阻塞的方式读取文件,并持续监控文件的变化,在每次读取文件时进行偏移量的记录,类似于linux的tail–f操作,以便下次读取从偏移量开始读取新的数据。

s105-2,将最近两次偏移量之间的内容作为增量更新内容,从而生成变更文本。

具体地,生成变更文本可能包括生成对应的时间戳,变更文本携带时间戳,时间戳表征变更文本的生成时间。

s105-3,对变更后的待监控文件进行备份以生成变更文本。

可能地,使用jmx技术(javamanagementextensions,即java管理扩展),使用命令行指令先对待监控文件的源文件进行复制,并标记时间戳,每一次复制都会创建一个带时间戳的新的副本。即变更文本携带时间戳,时间戳表征变更文本的生成时间。

若执行s105-3,对变更后的待监控文件进行备份以生成变更文本,为了便于管理变更文本,需要执行s106。若执行s105-2,可以执行s107,依据时间戳的顺序,依次将变更文本加载至对应的线程。

s106,将变更文本存储至先进先出队列中。

具体地,当生成变更文本后将其存储至先进先出队列(firstinputfirstoutput,简称fifo)。在执行s106之后,执行s107,依据时间戳的顺序,依次将变更文本加载至对应的线程。

在执行s107后,若在先执行了s106,则需要执行s108,若在先未执行s106,则直接执行s109。

s108,将变更文本从先进先出队列中删除。

具体地,在将变更文本加载至对应的线程之后,从先进先出队列中删除对应的变更文本,从而解除对第二存储器空间的占用,释放空间,提升空间利用率。

可能地,通过jmx使用命令对队列中的变更文本进行删除。

s109,判断待监控文件是否配置有处理流程。若是,则执行s110;若否,则执行s111。

具体地,部分待监控文件对应的变更文本需要中间处理,即该类型的待监控文件配置有处理流程,此时在加载变更文本后,可以对变更文本进行中间处理,执行s110。反之,则可以直接将变更文本上传至中间件,执行s111。请参考图7,图7为一种处理流程的配置示意图。

本申请实施例中,s101可以在s102之后执行,在此并未限制二者的先后顺序。

请参阅图8,图8为本申请实施例提供的一种文件变更的处理装置,可选的,该文件变更的处理装置被应用于上文所述的电子设备。

文件变更的处理装置包括:处理单元201和上传单元202。

处理单元201,用于依据待监控文件在第一存储器中的位置信息生成监控路径;还用于通过监控路径对待监控文件的变更信号进行监控,其中,变更信号携带待监控文件对应的修改信息;还用于当获得变更信号时,依据变更后的待监控文件生成变更文本,其中,变更文本为增量变更或非增量变更后的待监控文件的副本,变更文本存储于第二存储器中。具体地,处理单元201可以执行s102、s103以及s105。

上传单元202,用于将变更文本上传。具体地,上传单元202可以执行s111。

进一步地,变更文本携带时间戳,时间戳表征变更文本的生成时间。

处理单元201还用于在将变更文本上传之前,依据时间戳的顺序,依次将变更文本加载至对应的线程;当待监控文件配置有处理流程时,通过线程对变更文本进行处理,其中,处理包括数据过滤处理和格式转化处理。具体地,处理单元201可以执行s107和s110。

进一步地,处理单元201还用于依据时间戳的顺序确定对应的变更文本;从至少两个线程中选择一个与变更文本对应的线程;将变更文本加载至对应的线程。具体地,处理单元201可以执行s107-1~s107-3。

进一步地,处理单元201还用于在通过监控路径对待监控文件的变更信号进行监控之前,依据配置文件中的设定进入预定监控模式,其中,配置文件包含变更信号对应的预定监控模式。具体地,处理单元201可以执行s101。

进一步地,处理单元201还用于当预定监控模式为非增量监控模式,则进入非增量监控模式,变更文本为变更后的待监控文件的副本;对变更后的待监控文件进行备份以生成变更文本;在对变更后的待监控文件进行备份以生成变更文本之后,将变更文本存储至先进先出队列中;在依据时间戳的顺序,依次将变更文本加载至对应的线程之后将变更文本从先进先出队列中删除。

进一步地,处理单元201还用于当预定监控模式为增量监控模式时,进入增量监控模式;当进入增量监控模式后,变更文本为增量更新内容对应的文本。

当进入增量监控模式后,处理单元201还用于使用异步非阻塞的方式读取文件,在每次读取文件时进行偏移量的记录;将最近两次偏移量之间的内容作为增量更新内容,从而生成变更文本。

具体地,处理单元201可以执行s101-1~s101-3、s105-1~s105-3、s106、s108以及s109。

需要说明的是,本实施例所提供的文件变更的处理装置,其可以执行上述方法流程实施例所示的方法流程,以实现对应的技术效果。为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。

本发明实施例还提供了一种存储介质,该存储介质存储有计算机指令、程序,该计算机指令、程序在被读取并运行时执行上述实施例的文件变更的处理方法。该存储介质可以包括内存、闪存、寄存器或者其结合等。

下面提供一种电子设备,可以是服务器设备,该电子设备如图1所示,可以实现上述的文件变更的处理方法;具体的,该电子设备包括:处理器10,存储器11、总线12。处理器10可以是cpu。存储器11用于存储一个或多个程序,当一个或多个程序被处理器10执行时,执行上述实施例的文件变更的处理方法。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1