数据更新方法、装置、系统和电子设备制造方法及图纸

技术编号:25834065 阅读:46 留言:0更新日期:2020-10-02 14:15
本发明专利技术提供了一种数据更新方法、装置、系统和电子设备,当需要将内存储器中的数据更新至存储介质时,首先获取更新记录,该更新记录中保存有最近指定更新次数内更新过数据的存储介质文件的文件标识,然后根据获取到的更新记录,从多个存储介质文件中确定目标存储介质文件,最后将内存储器中的数据更新至该目标存储介质文件中。该方法中,当需要将内存储器中的数据更新至存储介质时,根据更新记录从多个存储介质文件中选取目标存储介质文件,内存储器中的数据仅更新至目标存储介质文件,因而向存储介质更新一份数据即可,降低了存储介质IO的数据量,节约了存储介质IO的资源。

【技术实现步骤摘要】
数据更新方法、装置、系统和电子设备
本专利技术涉及数据处理
,尤其是涉及一种数据更新方法、装置、系统和电子设备。
技术介绍
当内存储器数据页与存储介质数据页上的内容不一致时,则称该内存储器数据页为脏页;当内存储器数据页中的数据更新至存储介质数据页后,内存储器数据页与存储介质数据页上的内容就一致了,这个数据更新的过程,即刷脏页的过程。在刷脏页的过程中,为了避免数据库异常断电导致的数据库宕机,通常采用双写(doublewrite)的模式更新数据。也就是说,在刷脏页的过程中,需要向存储介质更新两份数据,导致存储介质IO(Input/Output,输入/输出)的数据量较大,较为浪费存储介质IO的资源。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据更新方法、装置、系统和电子设备,以节约存储介质IO的资源。第一方面,本专利技术实施例提供了一种数据更新方法,所述方法应用于运行有内存储器的第一装备;预设第二装备中运行有存储介质,所述存储介质中存储有多个存储介质文件;所述方法包括:当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;将所述内存储器中的数据更新至所述目标存储介质文件中。进一步的,根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件的步骤,包括:根据所述更新记录,确定在所述最近指定更新次数内没有更新过数据的存储介质文件;将在所述最近指定更新次数内没有更新过数据的存储介质文件,确定为目标存储介质文件。进一步的,所述存储介质中存储有两个存储介质文件;所述更新记录中保存有最近一次更新过数据的存储介质文件的文件标识;所述将在所述最近指定更新次数内没有更新过数据的存储介质文件,确定为目标存储介质文件的步骤,包括:将在所述两个存储介质文件中,最近一次没有更新过数据的存储介质文件,确定为目标存储介质文件。进一步的,所述存储介质文件设置有标记文件;所述标记文件中记录有所述存储介质文件最近一次更新数据时,redo日志的逻辑序列号;所述将所述内存储器中的数据更新至所述目标存储介质文件的步骤之前,所述方法还包括:将所述存储介质的redo日志的当前的逻辑序列号,更新至所述目标存储介质文件的标记文件中;所述方法还包括:如果在所述内存储器中的数据更新至所述目标存储介质文件的过程中,所述第二装备发生宕机,根据所述多个存储介质文件中除所述目标存储介质文件以外的指定存储介质文件,以及所述指定存储介质文件的标记文件,恢复所述目标存储介质文件中的数据。进一步的,所述内存储器划分有多个数据块;所述存储介质中存储有多组存储介质文件组;每组所述存储介质文件组用于存储所述多个数据块中的至少一部分数据块的更新数据;每组所述存储介质文件组均包含有所述多个存储介质文件;每组所述存储介质文件组设置有一个更新记录;所述当需要将内存储器中的数据更新至存储介质时,获取更新记录的步骤,包括:当需要将内存储器中的数据更新至存储介质时,针对所述内存储器中的每个数据块,获取该数据块对应的存储介质文件组的更新记录;所述根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件的步骤,包括:根据该数据块对应的存储介质文件组的更新记录,从该数据块对应的存储介质文件组中的多个存储介质文件中确定目标存储介质文件。进一步的,所述多个数据块中的数据块与所述多组存储介质文件组中的存储介质文件组一一对应。第二方面,本专利技术实施例提供了一种数据更新方法,所述方法应用于运行有存储介质的第二装备;所述存储介质中存储有多个存储介质文件;预设第一装备中运行有内存储器,所述方法包括:接收来自所述第一装备的所述内存储器的数据,以及所述第二装备中的目标存储介质文件的文件标识;其中,所述目标存储介质文件由所述第一装备通过下述方式确定:当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;将所述内存储器的数据更新至所述目标存储介质文件中。进一步的,所述存储介质文件设置有标记文件;所述标记文件中记录有所述存储介质文件最近一次更新数据时,redo日志的逻辑序列号;所述接收来自所述第一装备的所述内存储器的数据的步骤之前,所述方法还包括:如果接收到来自所述第一装备的第一指令,将所述存储介质的redo日志的当前的逻辑序列号,更新至所述目标存储介质文件的标记文件中;所述方法还包括:如果在所述内存储器中的数据更新至所述目标存储介质文件的过程中,所述第二装备发生宕机,且接收到来自所述第一装备的第二指令,根据所述多个存储介质文件中除所述目标存储介质文件以外的指定存储介质文件,以及所述指定存储介质文件的标记文件,恢复所述目标存储介质文件中的数据。进一步的,所述内存储器划分有多个数据块;所述存储介质中存储有多组存储介质文件组;每组所述存储介质文件组用于存储所述多个数据块中的至少一部分数据块的更新数据;每组所述存储介质文件组均包含有所述多个存储介质文件;所述将所述内存储器的数据更新至所述目标存储介质文件中的步骤,包括:针对所述内存储器数据中,每个数据块中的数据,将该数据块中的数据,更新至该数据块对应的目标存储介质文件中。进一步的,所述多个数据块中的数据块与所述多组存储介质文件组中的存储介质文件组一一对应。第三方面,本专利技术实施例提供了一种数据更新装置,所述装置设置于运行有内存储器的第一装备;预设第二装备中运行有存储介质,所述存储介质中存储有多个存储介质文件;所述装置包括:获取模块,用于当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;确定模块,用于根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;第一更新模块,用于将所述内存储器中的数据更新至所述目标存储介质文件中。第四方面,本专利技术实施例提供了一种数据更新装置,所述装置设置于运行有存储介质的第二装备;所述存储介质中存储有多个存储介质文件;预设第一装备中运行有内存储器,所述装置包括:接收模块,用于接收来自所述第一装备的所述内存储器的数据,以及所述第二装备中的目标存储介质文件的文件标识;其中,所述目标存储介质文件由所述第一装备通过下述方式确定:当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;第二更新模块,用于将所述内存储器的数据更新至所述目标存储介质文件中。第五方面,本专利技术实施例提供了一种数据更新系统,所述系统包括运行有内存储器的第一装备和运行有存储介质的第二装备;所述存储介质中存储有多个存储介质文件;所述第一装备用于:当需要将内存储器中的数据更新至存储介本文档来自技高网...

【技术保护点】
1.一种数据更新方法,其特征在于,所述方法应用于运行有内存储器的第一装备;预设第二装备中运行有存储介质,所述存储介质中存储有多个存储介质文件;所述方法包括:/n当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;/n根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;/n将所述内存储器中的数据更新至所述目标存储介质文件中。/n

【技术特征摘要】
1.一种数据更新方法,其特征在于,所述方法应用于运行有内存储器的第一装备;预设第二装备中运行有存储介质,所述存储介质中存储有多个存储介质文件;所述方法包括:
当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;
根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;
将所述内存储器中的数据更新至所述目标存储介质文件中。


2.根据权利要求1所述的方法,其特征在于,根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件的步骤,包括:
根据所述更新记录,确定在所述最近指定更新次数内没有更新过数据的存储介质文件;
将在所述最近指定更新次数内没有更新过数据的存储介质文件,确定为目标存储介质文件。


3.根据权利要求2所述的方法,其特征在于,所述存储介质中存储有两个存储介质文件;所述更新记录中保存有最近一次更新过数据的存储介质文件的文件标识;
所述将在所述最近指定更新次数内没有更新过数据的存储介质文件,确定为目标存储介质文件的步骤,包括:将在所述两个存储介质文件中,最近一次没有更新过数据的存储介质文件,确定为目标存储介质文件。


4.根据权利要求1所述的方法,其特征在于,所述存储介质文件设置有标记文件;所述标记文件中记录有所述存储介质文件最近一次更新数据时,redo日志的逻辑序列号;
所述将所述内存储器中的数据更新至所述目标存储介质文件的步骤之前,所述方法还包括:将所述存储介质的redo日志的当前的逻辑序列号,更新至所述目标存储介质文件的标记文件中;
所述方法还包括:如果在所述内存储器中的数据更新至所述目标存储介质文件的过程中,所述第二装备发生宕机,根据所述多个存储介质文件中除所述目标存储介质文件以外的指定存储介质文件,以及所述指定存储介质文件的标记文件,恢复所述目标存储介质文件中的数据。


5.根据权利要求1所述的方法,其特征在于,所述内存储器划分有多个数据块;所述存储介质中存储有多组存储介质文件组;每组所述存储介质文件组用于存储所述多个数据块中的至少一部分数据块的更新数据;每组所述存储介质文件组均包含有所述多个存储介质文件;每组所述存储介质文件组设置有一个更新记录;
所述当需要将内存储器中的数据更新至存储介质时,获取更新记录的步骤,包括:当需要将内存储器中的数据更新至存储介质时,针对所述内存储器中的每个数据块,获取该数据块对应的存储介质文件组的更新记录;
所述根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件的步骤,包括:根据该数据块对应的存储介质文件组的更新记录,从该数据块对应的存储介质文件组中的多个存储介质文件中确定目标存储介质文件。


6.根据权利要求5所述的方法,其特征在于,所述多个数据块中的数据块与所述多组存储介质文件组中的存储介质文件组一一对应。


7.一种数据更新方法,其特征在于,所述方法应用于运行有存储介质的第二装备;所述存储介质中存储有多个存储介质文件;预设第一装备中运行有内存储器,所述方法包括:
接收来自所述第一装备的所述内存储器的数据,以及所述第二装备中的目标存储介质文件的文件标识;其中,所述目标存储介质文件由所述第一装备通过下述方式确定:当需要将内存储器中的数据更新至存储介质时,获取更新记录;其中,所述更新记录中保存有:最近指定更新次数内更新过数据的存储介质文件的文件标识;根据所述更新记录,从所述多个存储介质文件中确定目标存储介质文件;
将所述内存储器的数据更新至所述目标存储介质文件中。


8.根据权利要求7所述的方法,其特征在于,所述存储介质文件设置有标记文件;所述标...

【专利技术属性】
技术研发人员:邱海港
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1