CN109828720A - 数据存储方法、装置、服务器和存储介质 - Google Patents
数据存储方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN109828720A CN109828720A CN201910054312.3A CN201910054312A CN109828720A CN 109828720 A CN109828720 A CN 109828720A CN 201910054312 A CN201910054312 A CN 201910054312A CN 109828720 A CN109828720 A CN 109828720A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- new data
- brush
- current new
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数据存储方法、装置、服务器和存储介质。确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点;监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。本发明实施例提供了一种数据存储方法,将节点日志刷盘和数据发送并行实施,避免了共享存储集群由于等待日志刷盘而产生性能瓶颈的问题,可提高数据存储的效率。
Description
技术领域
本发明实施例涉及数据管理技术领域,尤其涉及一种数据存储方法、装置、服务器和存储介质。
背景技术
共享存储数据集群是以共享存储为基础,通过扩展数据库节点,提供更高的系统拓展性和可靠性。在共享存储集群中数据页作为数据存储的基本单位,是数据访问和修改的基本单位,共享存储集群中的每个节点都各自维护一套数据页缓存,各节点允许访问、修改数据页,但是由于同一数据页分布在不同节点中的缓存中,最新的数据仅保存在某些节点缓存中,各节点缓存的数据页内容会产生不一致的问题。
现有技术中,为解决各节点数据页缓存内容不一致的问题,参见图1,第二节点获取当前新数据时,缓存有当前新数据的第一节点必须先对当前新数据修改产生的操作日志刷盘完成,才能将当前新数据发送给其他未缓存当前新数据的第二节点,由于第二节点获取当前新数据时,需要等待第一节点操作日志刷盘完成,导致数据缓存交换存在性能瓶颈,降低了数据存储效率。
发明内容
本发明提供了一种数据存储方法、装置、服务器和存储介质,以实现共享存储集群数据的高效存储。
第一方面,本发明实施例提供了一种数据存储方法,该方法包括:
确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点;
监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
第二方面,本发明实施例还提供了一种数据存储装置,该装置包括:
节点确认模块,用于确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点;
数据发送模块,用于监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
第三方面,本发明实施例还提供了一种服务器,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一所述的数据存储方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的数据存储方法。
本发明实施例通过确认缓存有当前新数据的第一节点和未缓存当前新数据的第二节点,控制第一节点对当前新数据操作记录进行日志刷盘的同时,将当前新数据发送到第二节点缓存;监测到所述第二节点请求获取所述当前新数据时,控制第一节点对当前新数据进行日志刷盘同时将当前新数据发送到第二节点缓存,解决了由于需要等待当前新数据对应操作记录的日志在共享存储集群上其中一个节点中刷盘后,再将当前新数据发送至共享存储集群其他节点,导致共享存储集群存在性能瓶颈问题,提高了大规模数据存储的效率。
附图说明
图1是现有技术的方法流程图;
图2是本发明实施例一提供的一种数据存储方法步骤流程图;
图3是本发明实施例二提供的一种数据存储方法步骤流程图;
图4是本发明实施例二提供的一种数据存储过程示意图;
图5是本发明实施例三提供的一种数据存储装置的结构示意图;
图6是本发明实施例四提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图2是本发明实施例一提供的一种数据存储方法步骤流程图,本实施例可适用于共享存储集群数据存储的情况,该方法应用于共享存储集群,共享存储集群包括至少两个节点,其中,共享存储集群可以是具有多个节点的分布式共享存储集群,该共享存储集群的最小数据单位可以是数据页。数据存储方法可以由数据存储装置来执行,具体包括如下步骤:
步骤101、确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点。
其中,第一节点可以是缓存有当前新数据的节点,第二节点可以是未缓存当前新数据的节点,其中,所述第一节点和第二节点均相当于共享存储集群内的节点,可以是具有缓存、硬盘及处理功能的计算机设备,当前新数据可以是节点内经过修改的缓存数据,具体形式可以是具有当前新数据标记的数据页。
具体的,可以确认节点是否缓存有当前新数据标记,如果该节点内缓存有当前新数据标记,可以认为该节点缓存有当前新数据,可将该节点记为第一节点,如果该节点内没有缓存当前新数据标记则该缓存节点为第二节点;还可以通过获取节点中执行时间最近的一条操作记录,根据操作记录的生成时间确定第一节点和第二节点,如果节点的数据操作指令的生成时间为当前新数据的操作记录的生成时间,那么可以确认该节点是第一节点,如果该节点的数据操作指令的生成时间早于当前新数据的数据操作指令,那么该节点可以被确定为第二节点。
步骤102、监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
其中,请求可以是获取当前新数据的获取请求,例如第二节点请求获取第一节点缓存的当前新数据,日志刷盘可以是节点内部将未持久化的操作记录刷入日志文件进行持久化存储的过程,可以是将缓存中的操作记录写入操作日志文件,还可以是将缓存中的操作记录存储到硬盘中固定区域。
具体的,可以在监测到第二节点请求获取第一节点缓存的当前新数据时,在第一节点缓存中获取对应当前新数据的未刷盘操作记录,可选的,还可以直接将当前第一节点内还未存储进日志文件的所有未刷盘操作记录全部刷入日志文件,同时,将第一节点缓存的当前新数据发送给第二节点,进一步的,为提高日志刷盘的效率,可以在第一节点中设置日志刷盘线程,可以在第一节点需要日志刷盘时,向日志刷盘线程发送日志刷盘请求,唤醒日志刷盘线程,根据日志刷盘请求获取当前新数据的未刷盘操作记录写入第一节点的持久化存储文件内;在第一节点开始进行日志刷盘操作时,可以不需要等待第一节点日志刷盘完成,直接将当新前数据发送给第二节点,为了方便操作,还可以将当前新数据所处的数据页、数据段、数据段页等共享存储集群的最小缓存单元发送给第二节点。控制并行处理当前新数据的未刷盘操作记录的日志刷盘和将当前新数据发送给第二节点,节省了第一节点发送当前新数据的等待时间,减小了共享存储集群的时间开销。
本发明实施例的技术方案,通过确认共享存储集群中缓存当前新数据的第一节点和未缓存当前新数据的第二节点,对第一节点当前新数据进行日志刷盘的同时将当前新数据发送给第二节点,解决了由于当前新数据发送需等待第一节点日志刷盘完成而造成共享存储集群产生性能瓶颈的问题,提高了大规模数据的存储效率。
实施例二
图3是本发明实施例二提供的一种数据存储方法步骤流程图,本实施例是在上述实施例的基础上,提供的一种可选方案,参见图3,本发明实施例提供的数据存储方法包括:
步骤201、确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点。
在执行步骤201后,可以根据步骤202-203实现第一节点的日志刷盘,还可以根据步骤204-206实现发送当前新数据到第二节点,步骤202-203可以与步骤204-206并行执行。
步骤202、查找所述第一节点内当前缓存的所有未刷盘操作记录,其中,所述未刷盘操作记录包括操作记录序号。
其中,未刷盘操作记录可以是当前第一节点缓存中记录当前新数据生成过程的数据操作的记录,也就是对应的当前新数据还未进行持久化存储的操作日志记录,例如生成当前新数据时使用的可以包括更新、删除和逻辑运算等数据操作的执行记录,进一步的,未刷盘操作记录还可以包括其他数据修改产生的数据操作记录,未刷盘操作记录可以缓存在节点内部预设的缓存区域内;操作记录序号可以是修改数据时生成的对应操作记录的唯一标识号,操作记录序号的产生方式可以包括基于已生成的操作序号递增产生、递减产生和随机产生等。
具体的,可以在第一节点的缓存区域中查找当前缓存中所有的未刷盘操作记录,可以理解的是,第一节点可以定期进行日志刷盘,当第二节点的当前新数据获取请求在第一节点当前新数据的日志刷盘之前,那么当前缓存的所有未刷盘操作记录中可以包括当前新数据的未刷盘操作记录,如果第二节点的当前新数据获取请求在第一节点当前新数据的日志刷盘之后,那么当前缓存的所有未刷盘操作记录中可以不包括当前新数据的未刷盘操作记录,因此可以无需查找当前新数据对应的未刷盘操作记录,直接查找第一节点缓存的所有未刷盘操作记录,将所有未刷盘的操作记录进行日志刷盘,可以保证当前新数据的未刷盘操作记录完成日志刷盘,进一步的,可以在第一节点中预设的缓存未刷盘操作记录的缓存区域内查找到缓存区域内所有的未刷盘操作记录,每个未刷盘操作记录可以对应一个唯一的操作记录序号,用于标识未刷盘操作记录。
步骤203、将所述未刷盘操作记录按照所述操作记录序号顺序刷入已执行日志。
其中,已执行日志可以是未刷盘操作记录持久化形成的日志文件。
具体的,可以控制第一节点按照查找获得的所有未刷盘操作记录,根据操作记录序号的顺序逐个将未刷盘操作记录写入已执行日志中持久化存储操作记录,可选的,还可以对应写入未刷盘操作日志的生成时间。
步骤204、获取所述第一节点中缓存的控制信息。
其中,控制信息可以是节点中表征数据缓存的信息,可以包括节点唯一标识号、数据页编号、数据页修改时间和数据页当前日志序号等参数。
具体的,可以获取第一节点中当前新数据所处的数据页对应的数据页编号、数据页修改时间和数据页当前日志序号等表征数据缓存的信息。
步骤205、根据所述控制信息,确定所述第一节点中所述当前新数据所处的数据页。
具体的,可以通过数据页修改时间、数据页编号和数据页当前日志序号等信息获取当前新数据所处的数据页,可以获取最近的数据页修改时间,那么对应修改的数据页就是当前新数据所处的数据页,还可以通过数据页当前日志序号确定当前新数据所处的数据页,例如,可以将数据页当前日志序号值最大的数据页确定为当前新数据所处的数据页。
步骤206、将所述数据页发送给所述第二节点,控制所述第二节点复制所述数据页并作为目标数据页缓存,其中,所述目标数据页包括当前新数据及相应的当前操作记录序号。
其中,目标数据页可以是第二节点接收到当前新数据所处数据页后生成的数据页,目标数据页可以包括当前新数据的业务数据缓存区域和缓存对应当前新数据的当前操作记录序号的标记缓存区域,例如可在数据页的开始处的前八个字节的缓存区域缓存当前操作记录序号。
具体的,可以控制第一节点将当前新数据所处的数据页发送给第二节点,第二节点可以将获取的数据页进行复制,可以将复制生成的数据页作为第二节点缓存的目标数据页,第二节点可以将生成的目标数据页缓存到对应的缓存区域中,可以理解的是数据页仅为描述的一种举例,缓存有当前新数据的数据段和数据段页也在本申请的保护范围之内。
步骤207、确定所述第一节点是否成功完成日志刷盘。
其中,日志刷盘完成可以是指第一节点内查找到的对应当前新数据的未刷盘操作记录均被写入已执行日志。
具体的,可以判断第一节点中的查找到的所有未刷盘记录是否全部写入已执行日志,还可以控制第一节点在将所有未刷盘操作记录均写入已执行日志后向共享存储集群中其他节点发送完成日志刷盘的消息,例如,控制第一节点将已执行日志的值最大的操作记录序号以广播的形式发送给共享存储集群中的其他节点,通过判断第一节点是否发送日志刷盘完成的消息确认第一节点是否成功完成当前新数据对应未刷盘操作记录的日志刷盘。
步骤208、监测到所述第一节点成功完成日志刷盘后,控制所述第二节点对所述当前新数据进行处理。
其中,所述控制第二节点对缓存的当前新数据进行数据处理,可以包括增、删、改和逻辑运算等数据处理操作。
具体的,可以在监测到第一节点内的当前新数据的未刷盘操作记录成功写入已执行日志后,才可以控制第二节点对当前新数据进行增、删、改和逻辑运算等数据处理。例如,当前第二节点获取的第一节点的操作日志序号FILE_LSN值大于等于当前新数据的当前操作记录序号PAGE_LSN时,可以说明第一节点当前新数据的未刷盘操作记录已经成功写入已执行日志,其中,FILE_LSN可以是共享存储集群节点中用于表征已执行记录操作记录数量的值,具体可以是已执行日志的操作记录序号,PAGE_LSN可以是共享存储集群节点中数据页最后一次执行的操作记录对应的操作记录序号,具体可以是当前操作记录序号。
本发明实施例的技术方案,通过确认缓存当前新数据的第一节点和未缓存当前新数据的第二节点,控制第一节点查找当前缓存中的所有未刷盘操作记录,将查找得到的未刷盘操作记录写入第一节点实现第一节点的日志刷盘,控制第一节点日志刷盘的同时,可以根据第一节点的控制信息确定当前新数据所处的数据页,并将数据页发送给第二节点缓存,只有在监测到第一节点成功完成当前新数据对应的未刷盘操作记录日志刷盘后,才可以控制第二节点进行对当前新数据进行数据处理操作,通过控制第二节点在第一节点成功完成日志操作后,才可以对当前新数据进行处理,保证了共享存储集群内各节点数据的一致性,将当前新数据所处数据页发送给第二节点,提高了数据存储效率。
进一步的,在上述实施例的基础上,所述确定所述第一节点是否成功完成日志刷盘包括:监测到所述第一节点向所述共享存储集群的其他节点广播所述已执行日志中的操作记录序号,且所述已执行指令日志的操作记录序号值大于或等于所述目标数据页的当前操作记录序号值,则确定第一节点成功完成日志刷盘。
其中,操作记录序号可以已执行日志内用于标识不同操作记录的标识号,并且各操作记录的操作记录序号唯一,第一节点广播的操作记录序号可以是操作记录序号值最大的操作记录序号,还可以是已执行日志内执行时间最近的操作记录对应的操作记录序号。
具体的,可以获取第一节点向共享存储集群中其他节点广播发送已执行日志的值最大的操作记录序号和第二节点中目标数据页中的当前操作记录序号,可以将获取到的操作记录序号与当前操作记录序号进行对比,如果操作记录序号的值大于或等于当前记录序号的值,那么可以确认第一节点成功完成日志刷盘。
示例性的,参见图4,一种数据存储方法可以包括:在第二节点请求获取第一节点的当前新数据的数据页P1时,第一节点收到第二节点的请求后,发出REDO日志刷盘请求,不用等待REDO日志刷盘完成,第一节点将数据页P1发送给第二节点,第一节点并行进行日志刷盘,每当日志刷盘后广播已执行日志当前的最大操作记录序号FILE_LSN给集群中的其他节点,第二节点接收数据页P1并缓存,第二节点等待第一节点等待获取广播的FILE_LSN,直到获取的FILE_LSN大于P1数据页的当前操作记录序号PAGE_LSN,第二节点才可以对P1数据页中的数据进行处理,其中,FILE_LSN可以是共享存储集群节点中用于表征已执行记录操作记录数量的值,具体可以是已执行日志的操作记录序号,PAGE_LSN可以是共享存储集群节点中数据页最后一次执行的操作记录对应的操作记录序号,具体可以是当前操作记录序号。
通过将第一节点向其他节点发送已执行日志的操作记录序号,并且判断已执行指令日志的操作记录序号值大于或等于所述目标数据页的当前操作记录序号值作为第一节点成功完成日志刷盘的标志,使得第二节点确认第一节点成功完成日志刷盘更加方便,确保了第一节点日志刷盘状态的准确判断,保证了各节点数据的一致性,可提高共享存储集群的大规模数据存储效率。
实施例三
图5是本发明实施例三提供的一种数据存储装置的结构示意图,本发明实施例所提供的数据存储装置可执行本发明任意实施例所提供的数据存储方法,具备执行方法相应的功能模块和有益效果。参见图5,本发明实施例提供的数据存储装置包括:节点确认模块301和数据发送模块302。
其中,节点确认模块301,用于确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点。
数据发送模块302,用于监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
本发明实施例的技术方案,通过节点确认模块确认共享存储集群中缓存当前新数据的第一节点和未缓存当前新数据的第二节点,数据发送模块对第一节点当前新数据进行日志刷盘的同时将当前新数据发送给第二节点缓存,解决了数据发送需要等待日志刷盘而形成性能瓶颈的问题,提升了共享存储集群数据存储的性能。
进一步的,所述数据发送模块302,包括:
控制信息获取单元,用于获取所述第一节点中缓存的控制信息。
数据页确认单元,用于根据所述控制信息,确定所述第一节点中所述当前新数据所处的数据页。
数据页缓存单元,将所述数据页发送给所述第二节点,控制所述第二节点复制所述数据页并作为目标数据页缓存,其中,所述目标数据页包括当前新数据及相应的当前操作记录序号。
进一步的,所述数据发送模块302,还包括:
记录查找模块,用于查找所述第一节点内当前缓存的所有未刷盘操作记录,其中,所述未刷盘操作记录包括操作记录序号。
日志刷盘模块,用于将所述未刷盘操作记录按照所述操作记录序号顺序刷入已执行日志。进一步的,所述装置还包括:刷盘确认模块和数据处理模块。
其中,刷盘确认模块,用于确定所述第一节点是否成功完成日志刷盘。
数据处理模块,用于监测到所述第一节点成功完成日志刷盘后,控制所述第二节点对所述当前新数据进行处理。
进一步的,刷盘确认模块,包括:
刷盘确认单元,用于监测到所述第一节点向所述共享存储集群的其他节点广播所述已执行日志中的操作记录序号,且所述已执行指令日志的操作记录序号值大于或等于所述目标数据页的当前操作记录序号值,则确定第一节点成功完成日志刷盘。
实施例四
图6为本发明实施例四提供的一种服务器的结构示意图,如图6所示,该服务器包括处理器70、存储器71、输入装置72和输出装置73;服务器中处理器70的数量可以是一个或多个,图6中以一个处理器70为例;服务器中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据存储方法对应的程序模块(例如,数据存储装置中的节点确认模块301和数据发送模块302)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的数据存储方法。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据存储方法,该方法包括:
确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点;
监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据存储方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据存储装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据存储方法,应用于共享存储集群,所述共享存储集群包括至少两个节点,其特征在于,包括:
确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点;
监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前新数据发送给所述第二节点缓存,包括:
获取所述第一节点中缓存的控制信息;
根据所述控制信息,确定所述第一节点中所述当前新数据所处的数据页;
将所述数据页发送给所述第二节点,控制所述第二节点复制所述数据页并作为目标数据页缓存,其中,所述目标数据页包括当前新数据及相应的当前操作记录序号。
3.根据权利要求1所述的方法,其特征在于,所述控制所述第一节点对所述当前新数据进行日志刷盘,包括:
查找所述第一节点内当前缓存的所有未刷盘操作记录,其中,所述未刷盘操作记录包括操作记录序号;
将所述未刷盘操作记录按照所述操作记录序号顺序刷入已执行日志。
4.根据权利要求1所述的方法,其特征在于,将所述当前新数据发送给所述第二节点缓存之后,还包括:
确定所述第一节点是否成功完成日志刷盘;
监测到所述第一节点成功完成日志刷盘后,控制所述第二节点对所述当前新数据进行处理。
5.根据权利要求4所述的方法,其特征在于,所述确定所述第一节点是否成功完成日志刷盘包括:
监测到所述第一节点向所述共享存储集群的其他节点广播所述已执行日志中的操作记录序号,且所述已执行指令日志的操作记录序号值大于或等于所述目标数据页的当前操作记录序号值,则确定第一节点成功完成日志刷盘。
6.一种数据存储装置,应用于共享存储集群,所述共享存储集群包括至少两个节点,其特征在于,所述装置,包括:
节点确认模块,用于确认缓存当前新数据的第一节点和确认未缓存所述当前新数据的第二节点;
数据发送模块,用于监测到所述第二节点请求获取所述当前新数据时,控制所述第一节点对所述当前新数据进行日志刷盘的同时,将所述当前新数据发送给所述第二节点缓存。
7.根据权利要求6所述的装置,其特征在于,所述数据发送模块包括:
控制信息获取单元,用于获取所述第一节点中缓存的控制信息;
数据页确认单元,用于根据所述控制信息,确定所述第一节点中所述当前新数据所处的数据页;
数据页缓存单元,将所述数据页发送给所述第二节点,控制所述第二节点复制所述数据页并作为目标数据页缓存,其中,所述目标数据页包括当前新数据及相应的当前操作记录序号。
8.根据权利要求6所述的装置,其特征在于,所述数据发送模块,还包括:
记录查找模块,用于查找所述第一节点内当前缓存的所有未刷盘操作记录,其中,所述未刷盘操作记录包括操作记录序号;
日志刷盘模块,用于将所述未刷盘操作记录按照所述操作记录序号顺序刷入已执行日志。
9.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的数据存储方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054312.3A CN109828720B (zh) | 2019-01-21 | 2019-01-21 | 数据存储方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054312.3A CN109828720B (zh) | 2019-01-21 | 2019-01-21 | 数据存储方法、装置、服务器和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828720A true CN109828720A (zh) | 2019-05-31 |
CN109828720B CN109828720B (zh) | 2022-06-03 |
Family
ID=66860439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910054312.3A Active CN109828720B (zh) | 2019-01-21 | 2019-01-21 | 数据存储方法、装置、服务器和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828720B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377502A (zh) * | 2021-06-10 | 2021-09-10 | 上海达梦数据库有限公司 | 事务处理方法、装置、服务器、数据库管理系统及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014016953A (ja) * | 2012-07-11 | 2014-01-30 | Nippon Telegr & Teleph Corp <Ntt> | 無共有型データベースシステム、同期装置、データベースサーバ、その同期方法および同期プログラム |
CN103580891A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据同步的方法、系统及服务器 |
CN103593420A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种利用共享在线日志实现异构同平台的数据库集群搭建方法 |
CN103780638A (zh) * | 2012-10-18 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 数据同步方法及系统 |
CN106815275A (zh) * | 2015-12-02 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种通过备用数据库实现主备数据库同步的方法与设备 |
-
2019
- 2019-01-21 CN CN201910054312.3A patent/CN109828720B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014016953A (ja) * | 2012-07-11 | 2014-01-30 | Nippon Telegr & Teleph Corp <Ntt> | 無共有型データベースシステム、同期装置、データベースサーバ、その同期方法および同期プログラム |
CN103580891A (zh) * | 2012-07-27 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据同步的方法、系统及服务器 |
CN103780638A (zh) * | 2012-10-18 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 数据同步方法及系统 |
CN103593420A (zh) * | 2013-11-01 | 2014-02-19 | 浪潮电子信息产业股份有限公司 | 一种利用共享在线日志实现异构同平台的数据库集群搭建方法 |
CN106815275A (zh) * | 2015-12-02 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种通过备用数据库实现主备数据库同步的方法与设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377502A (zh) * | 2021-06-10 | 2021-09-10 | 上海达梦数据库有限公司 | 事务处理方法、装置、服务器、数据库管理系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109828720B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363641B (zh) | 一种主备机数据传递方法、控制节点以及数据库系统 | |
US4897782A (en) | Local cache structure for maintaining updated file characteristics in a file sharing system | |
CN102611745B (zh) | 文件在线迁移方法、装置和系统 | |
US20040034744A1 (en) | Delay cache method and apparatus | |
CN109886693B (zh) | 区块链系统的共识实现方法、装置、设备和介质 | |
JPH0962558A (ja) | データベース管理システム及び方法 | |
CN103729247B (zh) | 数据获取请求的处理方法、系统及服务器 | |
CN109446448A (zh) | 数据处理方法和系统 | |
JP2002528814A (ja) | 分散型トランザクション処理システムと方法 | |
EP2012476B1 (en) | Node device, recording medium where storage control program is recorded, and information storing method | |
CN109408519A (zh) | 一种数据页的访问方法、装置、服务器及存储介质 | |
US8812468B2 (en) | Database management method | |
GB2608954A (en) | Multi-level cache-mesh-system for multi-tenant serverless environments | |
CN102724301B (zh) | 云数据库系统以及云数据读写处理方法、设备 | |
CN109828720A (zh) | 数据存储方法、装置、服务器和存储介质 | |
CN110781137A (zh) | 分布式系统的目录读取方法、装置、服务器和存储介质 | |
CN109818948A (zh) | 应用部署方法、装置、系统、设备及介质 | |
CN117459522A (zh) | 一种基于分片复用的文件下载方法 | |
CN117111856A (zh) | 一种数据湖数据处理方法、装置、系统、设备及介质 | |
CN103714059A (zh) | 一种更新数据的方法及装置 | |
CN114205354B (zh) | 事件管理系统、事件管理方法、服务器及存储介质 | |
CN110737635A (zh) | 一种数据分块方法 | |
CN113542326B (zh) | 分布式系统的数据缓存方法及装置、服务器、存储介质 | |
CN118467592B (zh) | 一种分布式数据库的元数据缓存方法、装置、设备及介质 | |
CN110647532A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |