一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种内存数据同步方法及系统与流程

2023-03-09 03:29:35 来源:中国专利 TAG:


1.本发明涉及软件研发领域,具体而言,涉及一种内存数据同步方法及系统。


背景技术:

2.rndc(remote name domain controllerr,远程域名控制器)是一个管理bind服务器的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭、重载、刷新缓存、修改bind服务器的dynamic zone(动态内存区域)等操作,从而可以使服务器更好地为用户提供服务。
3.但是,目前对服务器的dynamic zone的修改只是修改了内存的数据,并未同步修改磁盘中相应zone文件的记录数据,导致内存中的数据跟zone文件的数据不一致;且在bind服务重启之后,还会导致dynamic zone修改的内存中的数据清零,需要重新加载原来的zone文件中的记录到内存中,进一步导致内存中已经修改的数据丢失而无法进行数据的同步,增加了服务器维护的难度。


技术实现要素:

4.本发明的目的在于提供一种内存数据同步方法及系统,其通过判断目标内存区域的状态将目标内存区域中的数据同步到外部文件中并记录数据同步操作,能够保证数据的一致性,并有效防止服务重启导致数据丢失的情况。
5.本发明的实施例是这样实现的:
6.第一方面,本技术实施例提供一种内存数据同步方法,包括以下步骤:
7.向目标内存区域所在的bind服务发送数据同步命令,并获取所述bind服务的返回信息;
8.解析所述返回信息,得到包括所述目标内存区域的状态信息;
9.根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步。
10.在本发明的一些实施例中,所述根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步的步骤具体包括:
11.若所述状目标内存区域的状态信息为可用状态,则读取所述目标内存区域的数据;
12.按预设的数据格式将所述目标内存区域的数据解析成格式化数据;
13.将所述格式化数据同步到所述目标内存区域的外部文件。
14.在本发明的一些实施例中,所述将所述格式化数据同步到所述目标内存区域的外部文件的步骤具体包括:
15.读取所述目标内存区域的外部文件中的数据记录;
16.将所述外部文件中的数据记录与所述格式化数据进行比较,根据比较结果将所述格式化数据同步到所述外部文件。
17.在本发明的一些实施例中,所述将所述外部文件中的数据记录与所述格式化数据
进行比较,根据比较结果将所述格式化数据同步到所述外部文件的步骤具体包括:
18.通过比较算法将所述外部文件中的数据记录与所述格式化数据进行对比;
19.将所述格式化数据中有而所述数据记录中没有的数据写入所述外部文件中,并记录为添加操作;
20.将将所述格式化数据中没有而所述数据记录中有的数据从所述外部文件中删除,并记录为删除操作。
21.在本发明的一些实施例中,所述将将所述格式化数据中没有而所述数据记录中有的数据从所述外部文件中删除,并记录为删除操作的步骤之后还包括:
22.将所述添加操作和所述删除操作写入操作记录文件中。
23.在本发明的一些实施例中,所述所述将所述格式化数据同步到所述目标内存区域的外部文件的步骤具体还包括:
24.将所述目标内存区域的外部文件中的数据记录全部删除;
25.将所述格式化数据写入所述目标内存区域的外部文件中。
26.第二方面,本技术实施例提供一种内存数据同步系统,其包括:
27.发送模块,用于向目标内存区域发送数据同步命令,并获取所述目标内存区域的返回信息;
28.解析模块,用于解析所述返回信息,得到包括所述目标内存区域的状态信息;
29.同步模块,用于根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步。
30.在本发明的一些实施例中,所述同步模块具体包括:
31.读取子模块,若所述状目标内存区域的状态信息为可用状态,则读取所述目标内存区域的数据;
32.解析子模块,用于按预设的数据格式将所述目标内存区域的数据解析成格式化数据;
33.同步子模块,用于将所述格式化数据同步到所述目标内存区域的外部文件。
34.第三方面,本技术实施例提供一种电子设备,其包括存储器,用于存储一个或多个程序;处理器。当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项上述的方法。
35.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项上述的方法。
36.相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
37.本发明的实施例提出了一种内存数据同步方法,其通过向目标内存区域所在的bind服务发送数据同步命令,获取并解析所述bind服务的返回信息,得到包括所述目标内存区域的状态信息,然后根据状态信息判断所述目标内存区域的状态,当目标内存区域为可用状态时,触发所述目标内存区域的数据同步,将目标内存区域的数据格式化后与加载的外部文件进行比较,并根据比较结果通过添加操作和/或删除操作将目标内存区域的格式化数据同步到外部文件中,不仅能够保证数据的一致性和规范化,便于管理数据,且可以有效防止因bind服务重启导致内存数据丢失的情况,进一步的,记录相关操作并将相关操作的信息写入操作记录文件中,便于快速复盘整个数据同步过程,对其中有问题的操作进
行恢复、追踪和调整,可以有效地防止对数据的误操作。
附图说明
38.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
39.图1为本发明一种内存数据同步方法一实施例的流程图;
40.图2为本发明实施例中根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步的步骤的具体流程图;
41.图3为本发明实施例中将所述格式化数据同步到所述目标内存区域的外部文件的步骤的具体流程图;
42.图4为本发明实施例中将所述外部文件中的数据记录与所述格式化数据进行比较,根据比较结果将所述格式化数据同步到所述外部文件的步骤的具体流程图;
43.图5为本发明实施例中将所述格式化数据同步到所述目标内存区域的外部文件的步骤的另一具体流程图;
44.图6为本发明一种内存数据同步系统一实施例的结构框图;
45.图7为本发明实施例提供的一种电子设备的结构框图。
46.图标:1、发送模块;2、解析模块;3、同步模块;4、处理器;5、存储器;6、数据总线。
具体实施方式
47.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
48.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
50.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
51.实施例1
52.请参阅图1-3,本技术实施例提供了一种内存数据同步方法,其通过判断目标内存区域的状态将目标内存区域中的数据同步到外部文件中并记录数据同步操作,能够保证数据的一致性,并有效防止服务重启导致数据丢失的情况。该内存数据同步方法包括以下步
骤:
53.步骤s101:向目标内存区域所在的bind服务发送数据同步命令,并获取所述bind服务的返回信息。
54.上述步骤中,目标内存区域可以是运行有bind服务的zone内存区域,该内存区域内对应存储有为运行bind服务而读取到内存的zone外部文件中的数据。通过rndc提供的命令行工具可以向上述bind服务发送数据同步命令,将bind服务中目标内存区域修改后的数据反向同步回该目标内存区域所对应的zone外部文件中,该zone外部文件通常存放于磁盘或者数据库中。上述数据同步命令包括待进行数据同步的至少一个目标内存区域的相关信息,如目标内存区域在bind服务中的标识信息、地址信息、状态校验信息等。bind服务根据上述目标内存区域的相关信息,定位到相应的内存区域,获目标内存区域的相关信息并按一定的报文格式(如rfc2136、http、json等)处理后返回。通过rndc进行数据同步,能够避免在业务代码中频繁地进行zone外部文件内容校验的问题,降低代码的冗余度,可帮助开发人员将更多的精力投入到业务代码中。
55.步骤s102:解析所述返回信息,得到包括所述目标内存区域的状态信息。
56.上述步骤中,在获取到bind服务返回的目标内存区域的相关信息后,对返回的信息按照相应的报文格式,如按照rfc2136协议的报文格式进行解析,从中提取出目标内存区域的状态信息,该状态信息标识着目标内存区域的状态,如按rfc2136状态码,当rcode为0时,可以判断对应的目标内存区域的状态是可用的。
57.步骤s103:根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步。
58.上述步骤中,当返回的目标内存区域的状态信息为可用状态,说明可以对目标内存区域进行读写、删除等操作,则触发数据同步的相关步骤;若返回的目标内存区域的状态信息为不可用,说明目标内存区域不可被操作,则不能进行数据同步,可以等待一段时间后通过上述步骤再次尝试同步。
59.其中,如图2所示,上述步骤s103:根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步的步骤具体包括:
60.步骤s201:若所述状目标内存区域的状态信息为可用状态,则读取所述目标内存区域的数据;
61.步骤s202:按预设的数据格式将所述目标内存区域的数据解析成格式化数据;
62.步骤s203:将所述格式化数据同步到所述目标内存区域的外部文件。
63.上述步骤s201-s203中,若返回的目标内存区域的状态信息为可用状态,说明可以对目标内存区域进行读写、删除等操作,则读取目标内存区域中的所有数据,并按预设的数据格式,如rfc1035标准协议的报文格式将读取出的数据解析成对应格式的数据,如将读取出的soa段的数据best.tool.admin.tool.(2016031 10800 3600)对应解析成报文的mname字段、rname字段、serial字段、refresh字段、retry字段等等,然后将格式化后的数据统一同步到与所述目标内存存储相对应的zone外部文件中,有助于对数据进行规范化,便于管理。
64.相应地,请参阅图3,上述步骤s203:将所述格式化数据同步到所述目标内存区域的外部文件的步骤具体包括:
65.步骤s301:读取所述目标内存区域的外部文件中的数据记录;
66.步骤s302:将所述外部文件中的数据记录与所述格式化数据进行比较,根据比较结果将所述格式化数据同步到所述外部文件。
67.上述步骤中,可以从数据库或者磁盘中读取到与目标内存区域相应的zone外部文件,将外部文件中的数据按resource record format的资源记录格式(即rfc1035标准协议的报文格式)加载成数据记录的形式,然后将目标内存区域的格式化数据和加载的外部文件的数据记录,按照字段、位置或比较算法等方式进行比较,例如,将同为mname的字段进行内容对比,根据比较结果,保留两者相同的部分,不相同的地方则将格式化的数据替换外部文件中对应的数据记录。
68.其中,如图4所示,上述步骤s302:将所述外部文件中的数据记录与所述格式化数据进行比较,根据比较结果将所述格式化数据同步到所述外部文件的步骤具体包括:
69.步骤s401:通过比较算法将所述外部文件中的数据记录与所述格式化数据进行对比;
70.步骤s402:将所述格式化数据中有而所述数据记录中没有的数据写入所述外部文件中,并记录为添加操作;
71.步骤s403:将将所述格式化数据中没有而所述数据记录中有的数据从所述外部文件中删除,并记录为删除操作。
72.上述步骤中,可以通过比较算法,如diff算法,快速、准确地将外部文件中的数据记录与目标内存的格式化数据进行对比,将格式化数据中有而数据记录中没有的数据写入外部文件中,并将这一写入步骤的相关信息记录为添加操作,将格式化数据中没有而数据记录中有的数据从外部文件中删除,并将这一删除步骤的相关信息记录为删除操作;通过上述写入步骤和删除步骤,可以只进行目标内存部分数据的同步而不用同步全部的数据,可以提高数据同步的速度;而记录数据同步操作中的相关信息,便于对数据同步的过程进行追踪和定位。通过上述步骤,可以将目标内存区域中的数据有效同步到磁盘或数据库中的外部文件中,能够保证数据的一致性,并有效防止因bind服务重启导致内存数据丢失的情况。
73.在本发明的一些实施例中,为了记录上述将格式化数据同步到外部文件中的所有操作,在所述将将所述格式化数据中没有而所述数据记录中有的数据从所述外部文件中删除,并记录为删除操作的步骤之后还包括:
74.步骤s404:将所述添加操作和所述删除操作写入操作记录文件中。
75.上述步骤中,将数据同步过程中记录下来的添加操作、删除操作等的相关信息,如写入或删除的数据、数据的地址等等信息,写入一个操作记录文件中,可以保留整个数据同步过程的所有操作,其中操作记录文件可以是二进制文件,便于快速复盘整个数据同步过程,操作记录文件也可以是文本文件,便于人工对其中有问题的操作进行恢复、追踪和调整,从而通过操作记录文件可以有效地防止对数据的误操作。
76.相应地,请参阅图5,除了图3至图4中的数据同步步骤,上述步骤s203:将所述格式化数据同步到所述目标内存区域的外部文件的步骤具体还包括:
77.步骤s501:将所述目标内存区域的外部文件中的数据记录全部删除;
78.步骤s502:将所述格式化数据写入所述目标内存区域的外部文件中。
79.上述步骤中,还可以将目标内存区域的zone外部文件中的数据记录全部删除后,将目标内存区域的格式化数据写入到清空后的外部文件中,通过全量同步的方式,从而完整地将整个内存区域的格式化数据规范地同步到外部文件中,便于对数据的管理。
80.需要说明的是,本发明实施例中未具体展开说明的技术内容,可以通过现有的相关技术实现,属于现有技术,在本发明实施例中不再赘述。
81.实施例2
82.请参阅图6,本技术实施例提供了一种内存数据同步系统,其包括:
83.发送模块1,用于向目标内存区域发送数据同步命令,并获取所述目标内存区域的返回信息;解析模块2,用于解析所述返回信息,得到包括所述目标内存区域的状态信息;同步模块3,用于根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步。
84.其中,同步模块3具体包括:读取子模块,若所述状目标内存区域的状态信息为可用状态,则读取所述目标内存区域的数据;解析子模块,用于按预设的数据格式将所述目标内存区域的数据解析成格式化数据;同步子模块,用于将所述格式化数据同步到所述目标内存区域的外部文件。
85.上述系统具体实现过程请参照实施例1中提供的一种内存数据同步方法,在此不再赘述。
86.实施例3
87.请参阅图7,本技术实施例提供了一种电子设备,该电子设备包括至少一个处理器4、至少一个存储器5和数据总线6;其中:处理器4与存储器5通过数据总线6完成相互间的通信;存储器5存储有可被处理器4执行的程序指令,处理器4调用程序指令以执行一种内存数据同步方法。例如实现:
88.向目标内存区域所在的bind服务发送数据同步命令,并获取所述bind服务的返回信息;解析所述返回信息,得到包括所述目标内存区域的状态信息;根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步。
89.其中,存储器5可以是但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
90.处理器4可以是一种集成电路芯片,具有信号处理能力。该处理器4可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
91.可以理解,图7所示的结构仅为示意,电子设备还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
92.实施例4
93.本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被
处理器4执行时实现一种内存数据同步方法。例如实现:
94.向目标内存区域所在的bind服务发送数据同步命令,并获取所述bind服务的返回信息;解析所述返回信息,得到包括所述目标内存区域的状态信息;根据所述目标内存区域的状态信息,触发所述目标内存区域的数据同步。
95.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
96.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
97.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其它的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本技术内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献