CN112948020A - 一种配置文件的处理方法和装置 - Google Patents
一种配置文件的处理方法和装置 Download PDFInfo
- Publication number
- CN112948020A CN112948020A CN202110293159.7A CN202110293159A CN112948020A CN 112948020 A CN112948020 A CN 112948020A CN 202110293159 A CN202110293159 A CN 202110293159A CN 112948020 A CN112948020 A CN 112948020A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- disk
- file
- cache
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 4
- 230000008859 change Effects 0.000 claims abstract description 124
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000011084 recovery Methods 0.000 claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
本发明实施例提供了一种配置文件的处理方法和装置,所述方法包括:在程序启动并将磁盘中的配置文件加载至内存后,获取配置文件的基础信息并写入缓存;根据缓存中的基础信息,检测磁盘中的配置文件是否被更改;若检测到磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存;根据重新加载的配置文件和缓存中的基础信息,生成更改记录信息,并将更改记录信息存储至数据库;当满足恢复条件时,根据数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。本发明实施例可以在程序运行过程中,及时监测磁盘中的配置文件是否被更改,将更改的配置文件重新加载至内存,增加了程序的稳定性。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种配置文件的处理方法和一种配置文件的处理装置。
背景技术
配置文件是记载了程序的配置参数的文件,程序通常在启动时从磁盘中将配置文件一次性加载到内存中,后续需要用到某个配置参数时,可以直接从内存中获取配置参数。
由于程序更新或恶意攻击等原因,使得磁盘中的配置文件可能经常被更改。若在程序运行过程中磁盘的配置文件被更改,程序还是会从之前加载到内存的配置文件中读取旧的参数而导致程序异常,需要等到程序重启后才能加载更改后的配置文件,但是若更改后的配置文件存在问题,也会导致程序异常。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种配置文件的处理方法和相应的一种配置文件的处理装置。
为了解决上述问题,本发明实施例公开了一种配置文件的处理方法,包括:
在程序启动并将磁盘中的配置文件加载至内存后,获取所述配置文件的基础信息并写入缓存;
根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改;
若检测到所述磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存;
根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,并将所述更改记录信息存储至数据库;
当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
可选地,所述基础信息包括配置文件在磁盘中的文件地址、配置文件的文件大小和时间戳;
所述根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改,包括:
检测所述文件地址中的配置文件是否被删除;
若所述文件地址中的配置文件未被删除,则检测是否满足如下至少一种条件:所述配置文件当前的文件大小与所述缓存中的文件大小不相同;所述配置文件当前的时间戳是否大于缓存中的时间戳;
若满足其中一种条件,则确定所述配置文件被更改。
可选地,所述基础信息还包括文件内容,所述方法还包括:
若所述文件地址中的配置文件被删除,则根据所述缓存中的文件内容新建配置文件并存储至所述文件地址。
可选地,所述根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,包括:
比较所述重新加载的配置文件和所述缓存中的基础信息,确定更改内容、原始内容和更改时间戳;
将所述更改节点、所述更改内容、所述原始内容和所述更改时间戳作为更改记录信息。
可选地,还包括:
将所述更改内容和所述更改时间戳更新至所述缓存的基础信息中。
可选地,所述当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存,包括:
向预设终端发送配置文件对应的更改记录信息,以使所述预设终端展示所述配置文件对应的更新记录信息;
接收所述预设终端发送的恢复请求;
响应所述恢复请求,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
可选地,所述当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存,包括:
在所述程序重启后,若检测到所述磁盘中的配置文件被删除,则根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
本发明实施例还公开了一种配置文件的处理装置,包括:
基础信息写入模块,用于在程序启动并将磁盘中的配置文件加载至内存后,获取所述配置文件的基础信息并写入缓存;
更改检测模块,用于根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改;
更改处理模块,用于若检测到所述磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存;
信息生成模块,用于根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,并将所述更改记录信息存储至数据库;
文件恢复模块,用于当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
可选地,所述基础信息包括配置文件在磁盘中的文件地址、配置文件的文件大小和时间戳;
所述更改检测模块包括:
删除检测子模块,用于检测所述文件地址中的配置文件是否被删除;
判断子模块,用于若所述文件地址中的配置文件未被删除,则检测是否满足如下至少一种条件:所述配置文件当前的文件大小与所述缓存中的文件大小不相同;所述配置文件当前的时间戳是否大于缓存中的时间戳;
更改确定子模块,用于若满足其中一种条件,则确定所述配置文件被更改。
可选地,所述基础信息还包括文件内容,所述装置还包括:
文件新建模块,用于若所述文件地址中的配置文件被删除,则根据所述缓存中的文件内容新建配置文件并存储至所述文件地址。
可选地,所述信息生成模块包括:
比较子模块,用于比较所述重新加载的配置文件和所述缓存中的基础信息,确定更改内容、原始内容和更改时间戳;
信息确定子模块,用于将所述更改节点、所述更改内容、所述原始内容和所述更改时间戳作为更改记录信息。
可选地,还包括:
基础信息更新模块,用于将所述更改内容和所述更改时间戳更新至所述缓存的基础信息中。
可选地,所述文件恢复模块包括:
更改记录信息发送子模块,用于向预设终端发送配置文件对应的更改记录信息,以使所述预设终端展示所述配置文件对应的更新记录信息;
恢复请求接收子模块,用于接收所述预设终端发送的恢复请求;
第一文件恢复子模块,用于响应所述恢复请求,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
可选地,所述文件恢复模块包括:
第二文件恢复子模块,用于在所述程序重启后,若检测到所述磁盘中的配置文件被删除,则根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
本发明实施例还公开了一种电子设备,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的配置文件的处理方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的配置文件的处理方法的步骤。
本发明实施例包括以下优点:
本发明实施例可以在程序启动并将磁盘中的配置文件加载至内存后,获取配置文件的基础信息并写入缓存;若根据缓存中的基础信息检测到所述磁盘中的配置文件被更改,则可以重新将磁盘中的配置文件加载至内存;根据重新加载的配置文件和缓存中的基础信息,生成更改记录信息并存储至数据库;当满足恢复条件时,可以根据数据库中的更改记录信息恢复配置文件并存储至磁盘,以及重新将磁盘中的配置文件加载至内存。本发明实施例可以在程序运行过程中,及时监测磁盘中的配置文件是否被更改,将更改的配置文件重新加载至内存,以使程序可以从内存中读取更改后的配置文件的参数,而不必等到重启后才加载配置文件,增加了程序的稳定性。并且可以根据缓存中的基础信息与加载的配置文件生成更改记录信息,以方便根据更改记录信息恢复配置文件。
附图说明
图1是本发明实施例的一种配置文件的处理方法的步骤流程图;
图2是本发明实施例的一种配置文件的处理装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
程序(包括系统程序和应用程序)通常在启动阶段将磁盘中配置文件加载到内存,程序可以在运行过程中从内存读取所需的参数。配置文件可以包括多种格式类型,例如,JSON、XML、INI等。
为了使得配置文件在被更改后,程序能及时加载更改的配置文件,以及若当前加载的配置文件存在问题,用户能够将配置文件回退到所需要的版本,本发明实施例可以检测配置文件是否被更改,在检测到配置文件更改后,马上重新加载配置文件,以及生成更改记录信息并存储至数据库,当满足恢复条件时,可以根据更改记录信息恢复所需版本的配置文件。
参照图1,示出了本发明实施例的一种配置文件的处理方法的步骤流程图,所述方法具体可以包括如下步骤:
步骤101,在系统启动并将磁盘中的配置文件加载至内存后,获取所述配置文件的基础信息并写入缓存。
本发明实施例的方法可以应用于电子设备,电子设备具体可以为服务器、手机、平板电脑、电视、笔记本电脑、智能家居设备、可穿戴电子设备、车载设备、虚拟现实设备等,本发明实施例对此不做任何限制。
配置文件可以由用户自己更改。例如,用户可以直接在本地打开配置文件,对配置文件进行修改;也可以用新的配置文件替换旧的对比文件。配置文件也可能因为受到恶意攻击被更改,例如,被攻击者远程修改配置文件,或远程替换配置文件。
在本发明实施例中,配置文件的基础信息可以是用于描述配置文件的信息。基础信息可以是写在配置文件内的,可以从配置文件提取基础信息。例如,基础信息可以包括介绍配置文件记录了什么文件内容、配置文件存储在磁盘中的文件地址、配置文件的文件大小、配置文件写入到磁盘时的时间戳等等。
步骤102,根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改。
基础信息可以是在加载配置文件后被写入到缓存的,基础信息可以与未经修改的配置文件匹配。若磁盘中的配置文件被修改了,则配置文件不与缓存中的基础信息匹配。
在本发明实施例中,所述步骤102可以包括如下子步骤:
子步骤S11,检测所述文件地址中的配置文件是否被删除。
可以按照预设周期检测检测文件地址中的配置文件是否被删除。
在一种示例中,若配置文件有多个,可以将多个配置文件的基础信息添加到缓存的预设集合中,定时检测集合中的记录的文件地址的配置文件是否被删除。
子步骤S12,若所述文件地址中的配置文件未被删除,则检测是否满足如下至少一种条件:所述配置文件当前的文件大小与所述缓存中的文件大小不相同;所述配置文件当前的时间戳是否大于缓存中的时间戳。
若磁盘的文件地址中具有配置文件,则可以获取磁盘中的配置文件当前的文件大小,比较当前的文件大小和缓存中的文件大小;或者,获取磁盘中的配置文件当前的时间戳,比较当前的时间戳和缓存中的时间戳。
在本发明实施例中,若文件地址中的配置文件被删除,则可以根据缓存中的文件内容新建配置文件并存储至文件地址中。在程序运行过程中,若检测到配置文件被删除,可以马上根据缓存中的文件内容新建配置文件并存储至文件地址中。新建配置文件的文件内容是缓存中的文件内容,新建配置文件的时间戳可以是创建配置文件时的时间戳。
子步骤S13,若满足其中一种条件,则确定所述配置文件被更改。
若当前的文件大小和缓存中的文件大小不相同,或者当前的时间戳大于缓存中的时间戳,则表面配置文件被更改了。
步骤103,若检测到所述磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存。
若在程序运行过程中检测到配置文件被更改,则可以重新将磁盘中的配置文件加载至内存,使得程序能及时从内存读取新更改的配置文件的参数,降低了程序出现崩溃的几率。
步骤104,根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,并将所述更改记录信息存储至数据库。
更改记录信息可以记录配置文件更改了什么内容、什么时候被更改等信息。由于缓存中的基础信息与未经更改的配置文件匹配,因此可以根据基础信息和更改后的配置文件,生成更改记录信息。更改记录信息可以被持久存储在数据库中。其中数据库可以是程序所在设备本地的数据库,也可以是服务器的数据库。
在本发明实施例中,所述步骤104可以包括如下子步骤:
子步骤S21,比较所述重新加载的配置文件和所述缓存中的基础信息,确定更改内容、原始内容和更改时间戳。
子步骤S22,将所述更改节点、所述更改内容、所述原始内容和所述更改时间作为更改记录信息。
可以比较重新加载的配置文件的文件内容和缓存中的基础内容,确定发生更改的部分的位置(如发生更改的部分的行号),更改内容、原始内容、更改时间,将发生更改的部分的位置,更改内容、原始内容、更改时间作为更改记录信息。
在一种示例中,所述子步骤S21可以进一步包括:确定所述内存的配置文件中具有更改标识的更改节点;比较更改节点与所述缓存中的基础信息,确定更改内容、原始内容和更改时间。
配置文件可以按照节点配置,例如,XML文件的节点可以包括属性节点、注释节点、文本节点、元素节点等。节点可以被添加标记,实时更新状态的标记可以表示该节点可以认为是允许实时更新的,未标记有实时更新状态的节点可以认为是不允许实时更新的。
配置文件可以包括多个节点,用户在更改配置文件时,可以对发生了更改的节点添加标识实时更改的标识,以方便后续知道哪些节点发生了更改。将发生了更改的节点,与缓存中相应的文件内容进行比较,可以减少需要比较的内容,更快速的生成更改记录信息。
在本发明实施例中,还可以将更改内容和更改时间戳更新至缓存的基础信息中,使得缓存中的基础信息可以及时更新。
步骤105,当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
当满足恢复条件时,可以从数据库中获取所需要的更改记录信息,根据更改记录信息恢复配置文件并存储至磁盘。若磁盘中具有配置文件,则可以用恢复后的配置文件替换原来的配置文件,恢复的配置文件可以是在原来配置文件的基础上,对部分节点进行恢复。若磁盘中不具有配置文件,则可以直接将恢复后的配置文件存储在磁盘。使得磁盘中可以存储有所需要的配置文件。程序可以重新将磁盘中恢复后的配置文件加载至内存,以使程序能从内存读取所需要的配置文件的参数。
本发明实施例可以在程序启动并将磁盘中的配置文件加载至内存后,获取配置文件的基础信息并写入缓存;若根据缓存中的基础信息检测到所述磁盘中的配置文件被更改,则可以重新将磁盘中的配置文件加载至内存;根据重新加载的配置文件和缓存中的基础信息,生成更改记录信息并存储至数据库;当满足恢复条件时,可以根据数据库中的更改记录信息恢复配置文件并存储至磁盘,以及重新将磁盘中的配置文件加载至内存。本发明实施例可以在程序运行过程中,及时监测磁盘中的配置文件是否被更改,将更改的配置文件重新加载至内存,以使程序可以从内存中读取更改后的配置文件的参数,而不必等到重启后才加载配置文件,增加了程序的稳定性。并且可以根据缓存中的基础信息与加载的配置文件生成更改记录信息,以方便根据更改记录信息恢复配置文件。
在一种实施例中,在生成更改记录信息后,还可以根据预设的通知方式进行通知处理。用户可以指定多种通知方式,例如在控制台显示,通过邮件通知方式,广播通知方式等等。
如果用户指定了邮件通知,则需要用户在程序启动前配置好邮箱地址,程序会调起邮件服务,将更改记录信息发送到用户指定的邮箱。
如果用户指定了控制台显示,程序会将更改记录信息输出到控制台。
如果指定了广播通知,更改记录信息可以通过UDP(用户数据报协议,UserDatagram Protocol)广播的形式广播出去。同时为了方便运营维护,所有变更记录提供http访问服务和界面展示。
当用户输入查看变更记录的网址,服务会读取数据库中记录的所有的更改记录信息,返回给前端展示,前端提供恢复功能,用户在更改记录信息可以使用恢复功能恢复相应的配置文件。
在本发明一种实施例中,所述步骤105可以包括如下子步骤:
子步骤S31,向预设终端发送配置文件对应的更改记录信息,以使所述预设终端展示所述配置文件对应的更新记录信息。
预设终端可以是服务器或移动终端,可以向预设终端发送配置文件对应的一个或多个更改记录信息,预设终端可以向用户展示配置文件对应的一个或多个更改记录信息。
子步骤S32,接收所述预设终端发送的恢复请求。
用户可以在预设终端选择需要恢复的更改记录信息,在用户选择完成后,预设终端设备可以针对所选择的更改记录信息生成恢复请求并向运行程序的电子设备发送。
子步骤S33,响应所述恢复请求,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
可以根据恢复请求确定用户选择需要恢复的更改记录信息,从数据库中获取相应更改记录信息,根据更改记录信息恢复配置文件并存储至磁盘,以及重新将磁盘中的配置文件加载至内存。用户可以快速将配置文件恢复至所需要的版本,提升了操作便捷性。
在本发明另一种实施例中,所述步骤105可以包括如下子步骤:
子步骤S41,在所述程序重启后,若检测到所述磁盘中的配置文件被删除,则根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
在程序重启后,程序需要将磁盘中的配置文件加载到内存,但是若磁盘中的配置文件被删除,程序无法加载配置文件。需要根据数据库中的更改记录信息恢复配置文件并存储至磁盘之后,才能重新将磁盘中的配置文件加载至内存。
在一种实施例中,若检测到所述磁盘中的配置文件被删除的频率大于预设频率阈值,则将所述磁盘中的配置文件备份至预设备份存储位置,并将所述配置文件的文件地址更改为备份存储地址。
当检测到被配置文件被频繁删除,可以启动备份,同时将文件地址更改为备份存储地址,以避免对原文件地址进行恶意删除的攻击。
在一种实施例中,若检测到所述磁盘的使用率大于预设使用率阈值,则将所述磁盘中的配置文件备份至预设备份存储地址。
为了安全考虑,所有配置文件存储位置均指定了备份存储地址。在一种示例中,当检测到磁盘使用率超过80%,则会将磁盘的配置文件备份到备份存储地址,备份存储支持云端,防止由于文件过大导致磁盘空间不足对整个系统造成影响。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图2,示出了本发明实施例的一种配置文件的处理装置的结构框图,具体可以包括如下模块:
基础信息写入模块201,用于在程序启动并将磁盘中的配置文件加载至内存后,获取所述配置文件的基础信息并写入缓存;
更改检测模块202,用于根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改;
更改处理模块203,用于若检测到所述磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存;
信息生成模块204,用于根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,并将所述更改记录信息存储至数据库;
文件恢复模块205,用于当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
在一种实施例中,所述基础信息包括配置文件在磁盘中的文件地址、配置文件的文件大小和时间戳;
所述更改检测模块202可以包括:
删除检测子模块,用于检测所述文件地址中的配置文件是否被删除;
判断子模块,用于若所述文件地址中的配置文件未被删除,则检测是否满足如下至少一种条件:所述配置文件当前的文件大小与所述缓存中的文件大小不相同;所述配置文件当前的时间戳是否大于缓存中的时间戳;
更改确定子模块,用于若满足其中一种条件,则确定所述配置文件被更改。
在一种实施例中,所述基础信息还包括文件内容,所述装置还可以包括:
文件新建模块,用于若所述文件地址中的配置文件被删除,则根据所述缓存中的文件内容新建配置文件并存储至所述文件地址。
在一种实施例中,所述信息生成模块204可以包括:
比较子模块,用于比较所述重新加载的配置文件和所述缓存中的基础信息,确定更改内容、原始内容和更改时间戳;
信息确定子模块,用于将所述更改节点、所述更改内容、所述原始内容和所述更改时间戳作为更改记录信息。
在一种实施例中,所述比较子模块可以包括:
更改节点确定单元,用于确定所述内存的配置文件中具有更改标识的更改节点;
比较单元,用于比较所述更改节点与所述缓存中的基础信息,确定更改内容、原始内容和更改时间。
在一种实施例中,所述的装置还可以包括:
基础信息更新模块,用于将所述更改内容和所述更改时间戳更新至所述缓存的基础信息中。
在一种实施例中,所述文件恢复模块205可以包括:
更改记录信息发送子模块,用于向预设终端发送配置文件对应的更改记录信息,以使所述预设终端展示所述配置文件对应的更新记录信息;
恢复请求接收子模块,用于接收所述预设终端发送的恢复请求;
第一文件恢复子模块,用于响应所述恢复请求,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
在一种实施例中,所述文件恢复模块205可以包括:
第二文件恢复子模块,用于在所述程序重启后,若检测到所述磁盘中的配置文件被删除,则根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
在一种实施例中,所述的装置还可以包括:
第一备份处理模块,用于若检测到所述磁盘中的配置文件被删除的频率大于预设频率阈值,则将所述磁盘中的配置文件备份至预设备份存储位置,并将所述配置文件的文件地址更改为备份存储地址。
在一种实施例中,所述的装置还可以包括:
第二备份处理模块,用于若检测到所述磁盘的使用率大于预设使用率阈值,则将所述磁盘中的配置文件备份至预设备份存储地址。
本发明实施例可以在程序启动并将磁盘中的配置文件加载至内存后,获取配置文件的基础信息并写入缓存;若根据缓存中的基础信息检测到所述磁盘中的配置文件被更改,则可以重新将磁盘中的配置文件加载至内存;根据重新加载的配置文件和缓存中的基础信息,生成更改记录信息并存储至数据库;当满足恢复条件时,可以根据数据库中的更改记录信息恢复配置文件并存储至磁盘,以及重新将磁盘中的配置文件加载至内存。本发明实施例可以在程序运行过程中,及时监测磁盘中的配置文件是否被更改,将更改的配置文件重新加载至内存,以使程序可以从内存中读取更改后的配置文件的参数,而不必等到重启后才加载配置文件,增加了程序的稳定性。并且可以根据缓存中的基础信息与加载的配置文件生成更改记录信息,以方便根据更改记录信息恢复配置文件。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述配置文件的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述配置文件的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种配置文件的处理方法和一种配置文件的处理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种配置文件的处理方法,其特征在于,包括:
在程序启动并将磁盘中的配置文件加载至内存后,获取所述配置文件的基础信息并写入缓存;
根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改;
若检测到所述磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存;
根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,并将所述更改记录信息存储至数据库;
当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
2.根据权利要求1所述的方法,其特征在于,所述基础信息包括配置文件在磁盘中的文件地址、配置文件的文件大小和时间戳;
所述根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改,包括:
检测所述文件地址中的配置文件是否被删除;
若所述文件地址中的配置文件未被删除,则检测是否满足如下至少一种条件:所述配置文件当前的文件大小与所述缓存中的文件大小不相同;所述配置文件当前的时间戳是否大于缓存中的时间戳;
若满足其中一种条件,则确定所述配置文件被更改。
3.根据权利要求2所述的方法,其特征在于,所述基础信息还包括文件内容,所述方法还包括:
若所述文件地址中的配置文件被删除,则根据所述缓存中的文件内容新建配置文件并存储至所述文件地址。
4.根据权利要求1所述的方法,其特征在于,所述根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,包括:
比较所述重新加载的配置文件和所述缓存中的基础信息,确定更改内容、原始内容和更改时间戳;
将所述更改节点、所述更改内容、所述原始内容和所述更改时间戳作为更改记录信息。
5.根据权利要求4所述的方法,其特征在于,还包括:
将所述更改内容和所述更改时间戳更新至所述缓存的基础信息中。
6.根据权利要求1所述的方法,其特征在于,所述当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存,包括:
向预设终端发送配置文件对应的更改记录信息,以使所述预设终端展示所述配置文件对应的更新记录信息;
接收所述预设终端发送的恢复请求;
响应所述恢复请求,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
7.根据权利要求1所述的方法,其特征在于,所述当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存,包括:
在所述程序重启后,若检测到所述磁盘中的配置文件被删除,则根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
8.一种配置文件的处理装置,其特征在于,包括:
基础信息写入模块,用于在程序启动并将磁盘中的配置文件加载至内存后,获取所述配置文件的基础信息并写入缓存;
更改检测模块,用于根据所述缓存中的基础信息,检测所述磁盘中的配置文件是否被更改;
更改处理模块,用于若检测到所述磁盘中的配置文件被更改,则重新将磁盘中的配置文件加载至内存;
信息生成模块,用于根据所述重新加载的配置文件和所述缓存中的基础信息,生成更改记录信息,并将所述更改记录信息存储至数据库;
文件恢复模块,用于当满足恢复条件时,根据所述数据库中的更改记录信息恢复配置文件并存储至所述磁盘,以及重新将磁盘中的配置文件加载至内存。
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的配置文件的处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的配置文件的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110293159.7A CN112948020A (zh) | 2021-03-18 | 2021-03-18 | 一种配置文件的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110293159.7A CN112948020A (zh) | 2021-03-18 | 2021-03-18 | 一种配置文件的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112948020A true CN112948020A (zh) | 2021-06-11 |
Family
ID=76227151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110293159.7A Pending CN112948020A (zh) | 2021-03-18 | 2021-03-18 | 一种配置文件的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948020A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113885957A (zh) * | 2021-09-28 | 2022-01-04 | 深信服科技股份有限公司 | 配置文件的处理方法、终端设备、服务器及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745669A (en) * | 1993-10-21 | 1998-04-28 | Ast Research, Inc. | System and method for recovering PC configurations |
US20030149756A1 (en) * | 2002-02-06 | 2003-08-07 | David Grieve | Configuration management method and system |
US20120198221A1 (en) * | 2011-01-27 | 2012-08-02 | Wyse Technology Inc. | Specific-purpose client with configuration history for self-provisioning of configuration and obviating reinstallation of embedded image |
CN104065521A (zh) * | 2014-07-18 | 2014-09-24 | 国家电网公司 | 一种电力网络设备日志和配置文件的采集、分析和发布系统及其方法 |
CN104182294A (zh) * | 2013-05-23 | 2014-12-03 | 华为技术有限公司 | 一种文件备份、文件恢复方法及装置 |
US20160087833A1 (en) * | 2014-09-19 | 2016-03-24 | Sybase 365, Inc. | Server clustering in mobile computing environment |
CN107885537A (zh) * | 2016-09-28 | 2018-04-06 | 平安科技(深圳)有限公司 | 配置文件加载方法和装置 |
CN108319554A (zh) * | 2018-02-13 | 2018-07-24 | 广州市百果园信息技术有限公司 | 应用功能的测试方法、计算机可读存储介质和终端设备 |
CN108804132A (zh) * | 2018-06-06 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 一种配置信息的热刷新方法、装置、电子设备及存储介质 |
CN110196725A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 配置文件管理方法、装置、计算机设备及存储介质 |
CN111736874A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 一种应用更新方法及装置 |
CN112099836A (zh) * | 2019-05-31 | 2020-12-18 | 北京金山云网络技术有限公司 | 更新配置文件方法、配置服务器、版本控制服务器及系统 |
CN112286898A (zh) * | 2020-12-24 | 2021-01-29 | 长沙树根互联技术有限公司 | 基于分布式文件边缘节点的配置文件方法和装置 |
CN112291289A (zh) * | 2019-07-24 | 2021-01-29 | 中移(苏州)软件技术有限公司 | 配置文件管理方法、设备及计算机可读存储介质 |
-
2021
- 2021-03-18 CN CN202110293159.7A patent/CN112948020A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5745669A (en) * | 1993-10-21 | 1998-04-28 | Ast Research, Inc. | System and method for recovering PC configurations |
US20030149756A1 (en) * | 2002-02-06 | 2003-08-07 | David Grieve | Configuration management method and system |
US20120198221A1 (en) * | 2011-01-27 | 2012-08-02 | Wyse Technology Inc. | Specific-purpose client with configuration history for self-provisioning of configuration and obviating reinstallation of embedded image |
CN104182294A (zh) * | 2013-05-23 | 2014-12-03 | 华为技术有限公司 | 一种文件备份、文件恢复方法及装置 |
CN104065521A (zh) * | 2014-07-18 | 2014-09-24 | 国家电网公司 | 一种电力网络设备日志和配置文件的采集、分析和发布系统及其方法 |
US20160087833A1 (en) * | 2014-09-19 | 2016-03-24 | Sybase 365, Inc. | Server clustering in mobile computing environment |
CN107885537A (zh) * | 2016-09-28 | 2018-04-06 | 平安科技(深圳)有限公司 | 配置文件加载方法和装置 |
CN108319554A (zh) * | 2018-02-13 | 2018-07-24 | 广州市百果园信息技术有限公司 | 应用功能的测试方法、计算机可读存储介质和终端设备 |
CN108804132A (zh) * | 2018-06-06 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 一种配置信息的热刷新方法、装置、电子设备及存储介质 |
CN110196725A (zh) * | 2019-04-23 | 2019-09-03 | 平安科技(深圳)有限公司 | 配置文件管理方法、装置、计算机设备及存储介质 |
CN112099836A (zh) * | 2019-05-31 | 2020-12-18 | 北京金山云网络技术有限公司 | 更新配置文件方法、配置服务器、版本控制服务器及系统 |
CN112291289A (zh) * | 2019-07-24 | 2021-01-29 | 中移(苏州)软件技术有限公司 | 配置文件管理方法、设备及计算机可读存储介质 |
CN111736874A (zh) * | 2020-06-28 | 2020-10-02 | 深圳前海微众银行股份有限公司 | 一种应用更新方法及装置 |
CN112286898A (zh) * | 2020-12-24 | 2021-01-29 | 长沙树根互联技术有限公司 | 基于分布式文件边缘节点的配置文件方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113885957A (zh) * | 2021-09-28 | 2022-01-04 | 深信服科技股份有限公司 | 配置文件的处理方法、终端设备、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096517B (zh) | 基于分布式系统的缓存数据的监控方法、装置和系统 | |
US9864736B2 (en) | Information processing apparatus, control method, and recording medium | |
CN107911461B (zh) | 云存储系统中的对象处理方法、存储服务器及云存储系统 | |
CN108021590B (zh) | 一种目标对象属性确定方法、属性更新方法及装置 | |
CN112714359B (zh) | 视频推荐方法、装置、计算机设备及存储介质 | |
WO2019019642A1 (zh) | 应用信息推送方法、装置、计算机设备和存储介质 | |
CN107092628B (zh) | 时间序列数据的处理方法和装置 | |
CN113687974B (zh) | 客户端日志处理方法、装置及计算机设备 | |
CN109388671B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN107040576B (zh) | 信息推送方法及装置、通讯系统 | |
CN105893471B (zh) | 一种数据处理方法及电子设备 | |
CN110795395A (zh) | 文件部署系统和文件部署方法 | |
CN114996103A (zh) | 页面异常检测方法、装置、电子设备和存储介质 | |
CN112948020A (zh) | 一种配置文件的处理方法和装置 | |
CN110430208B (zh) | 一种视频流处理方法、装置、电子设备及存储介质 | |
US9852031B2 (en) | Computer system and method of identifying a failure | |
CN114281769A (zh) | 磁盘上文件管理方法、装置、计算机设备及存储介质 | |
CN112988776B (zh) | 文本解析规则的更新方法、装置、设备及可读存储介质 | |
CN112328922A (zh) | 一种处理方法及装置 | |
CN110928945B (zh) | 一种针对数据库的数据处理方法及装置,数据处理系统 | |
JP2010244116A (ja) | 履歴情報管理装置、履歴情報管理方法、及びプログラム | |
JP2015200980A (ja) | 検証支援プログラム、検証支援方法および検証支援装置 | |
CN112637293B (zh) | 数据修复系统、方法、装置、电子设备及存储介质 | |
CN115460271B (zh) | 一种基于边缘计算的网络控制方法及装置、存储介质 | |
CN110737718A (zh) | 数据备份方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |