CN112835885A - 一种分布式表格存储的处理方法、装置及系统 - Google Patents
一种分布式表格存储的处理方法、装置及系统 Download PDFInfo
- Publication number
- CN112835885A CN112835885A CN201911156377.5A CN201911156377A CN112835885A CN 112835885 A CN112835885 A CN 112835885A CN 201911156377 A CN201911156377 A CN 201911156377A CN 112835885 A CN112835885 A CN 112835885A
- Authority
- CN
- China
- Prior art keywords
- log
- split
- splitting
- data
- server
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种分布式表格存储的处理方法、装置及系统,待分裂分片所属的主服务器在接收到控制设备发送的针对待分裂分片的第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号;将分裂日志及分裂日志的序列号发送给待分裂分片所属的从服务器,从服务器在存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息;在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片;向每个从服务器发送第二分裂指令,从服务器根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。这样,可以提高分布式存储系统的可用性。
Description
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种分布式表格存储的处理方法、装置及系统。
背景技术
随着信息技术的快速发展,分布式存储系统中的数据量越来越大。为了满足大数据量的存储需求,在多台服务器上运行的分布式存储系统得到了广泛的应用。
在分布式存储系统中,通常采用分片存储的方式,将待存储的数据水平分割为多个分片,进而分别对各个分片进行存储。
为了保证数据和服务的高可用性,往往需要为分布式存储系统提供必要的容错机制,对各个分片进行冗余备份,生成同一分片对应的多个分片副本,并将所生成的分片副本存储在不同的服务器上,从而避免由于单个服务器不可用时造成的分片丢失、存储服务不可用等情况的发生。
在实际应用中,分布式存储系统的分片的数据量和/或者请求分片的压力的增大,会导致原有的分片无法提供足够的服务能力,需要将对原有分片进行分裂,得到多个新分片,进而分别对多个新分片进行存储。
但是,由于在分布式存储系统中,同一分片对应的多个分片副本分别存储在多个不同的服务器上,因此,为了使得各个分片副本在分裂后形成的新分片也相同,需要在多个分片副本完全一致的情况下,对各个分片副本同时进行分裂,导致分布式存储系统的可用性较低。
发明内容
本发明实施例的目的在于提供一种分布式表格存储的处理方法、装置及系统,以提高分布式存储系统的可用性。具体技术方案如下:
本发明实施例提供了一种分布式表格存储的处理方法,应用于待分裂分片所属的主服务器,所述方法包括:
在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后,生成所述待分裂分片的分裂日志及所述分裂日志的序列号;
将所述分裂日志及所述分裂日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述分裂日志及所述分裂日志的序列号之后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号;
在接收到的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片;
向每个从服务器发送第二分裂指令,所述第二分裂指令中包括所述分裂日志的序列号,以使每个从服务器在接收到所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片。
可选的,所述方法还包括:
在接收到代理节点发送的针对所述待分裂分片的第一写入指令后,生成所述待分裂分片的数据日志及所述数据日志的序列号;
将所述数据日志及所述数据日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述数据日志及所述数据日志的序列号之后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号;
在接收到的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据;
向每个从服务器发送第二写入指令,所述第二写入指令中包括所述数据日志的序列号,以使每个从服务器在接收到所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据。
可选的,所述向每个从服务器发送第二分裂指令之后,还包括:
向每个从服务器发送查询指令,以使每个从服务器在接收到所述查询指令之后,返回该从服务器最近一次执行的日志的序列号;
接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
本发明实施例还提供了一种分布式表格存储的处理方法,应用于待分裂分片所属的从服务器,所述方法包括:
接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的分裂日志及所述分裂日志的序列号,其中,所述分裂日志和所述分裂日志的序列号为所述主服务器在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后生成的;
存储所述分裂日志及所述分裂日志的序列号,并在存储成功后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号,以使所述主服务器在接收的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片,并向所述从服务器发送第二分裂指令;
接收所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片,所述第二分裂指令中包括所述分裂日志的序列号。
可选的,所述方法还包括:
接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的数据日志及所述数据日志的序列号,所述数据日志及所述数据日志的序列号为所述主服务器在接收到代理节点发送的针对所述待分裂分片的第一写入指令后生成的;
存储所述数据日志及所述数据日志的序列号,并在存储成功后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号,以使所述主服务器在接收的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据,并向每个从服务器发送第二写入指令;
接收所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据,所述第二写入指令中包括所述数据日志的序列号。
可选的,所述方法还包括:
接收所述主服务器发送的查询指令;
向所述主服务器返回最近一次执行的日志的序列号,以使所述主服务器在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
本发明实施例还提供了一种分布式表格存储的处理装置,应用于待分裂分片所属的主服务器,所述装置包括:
生成模块,用于在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后,生成所述待分裂分片的分裂日志及所述分裂日志的序列号;
第一发送模块,用于将所述分裂日志及所述分裂日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述分裂日志及所述分裂日志的序列号之后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号;
分裂模块,用于在接收到的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片;
第二发送模块,用于向每个从服务器发送第二分裂指令,所述第二分裂指令中包括所述分裂日志的序列号,以使每个从服务器在接收到所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片。
可选的,所述生成模块,还用于在接收到代理节点发送的针对所述待分裂分片的第一写入指令后,生成所述待分裂分片的数据日志及所述数据日志的序列号;
所述第一发送模块,还用于将所述数据日志及所述数据日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述数据日志及所述数据日志的序列号之后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号;
写入模块,用于在接收到的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据;
所述第二发送模块,还用于向每个从服务器发送第二写入指令,所述第二写入指令中包括所述数据日志的序列号,以使每个从服务器在接收到所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据。
可选的,所述装置还包括:
查询模块,用于向每个从服务器发送查询指令,以使每个从服务器在接收到所述查询指令之后,返回该从服务器最近一次执行的日志的序列号;
判断模块,用于接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
本发明实施例还提供了一种分布式表格存储的处理装置,应用于待分裂分片所属的从服务器,所述装置包括:
接收模块,用于接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的分裂日志及所述分裂日志的序列号,其中,所述分裂日志和所述分裂日志的序列号为所述主服务器在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后生成的;
存储模块,用于存储所述分裂日志及所述分裂日志的序列号,并在存储成功后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号,以使所述主服务器在接收的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片,并向所述从服务器发送第二分裂指令;
分裂模块,用于接收所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片,所述第二分裂指令中包括所述分裂日志的序列号。
可选的,所述装置还包括:
所述接收模块,还用于接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的数据日志及所述数据日志的序列号,所述数据日志及所述数据日志的序列号为所述主服务器在接收到代理节点发送的针对所述待分裂分片的第一写入指令后生成的;
所述存储模块,还用于存储所述数据日志及所述数据日志的序列号,并在存储成功后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号,以使所述主服务器在接收的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据,并向每个从服务器发送第二写入指令;
写入模块,用于接收所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据,所述第二写入指令中包括所述数据日志的序列号。
可选的,所述装置还包括:
所述接收模块,还用于接收所述主服务器发送的查询指令;
返回模块,用于向所述主服务器返回最近一次执行的日志的序列号,以使所述主服务器在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
本发明实施例还提供了一种分布式表格存储的处理系统,所述系统包括:
控制设备,用于监测各个分片的数据量,将数据量不小于预设数据量的分片作为待分裂分片,向所述待分裂分片所属的主服务器发送针对所述待分裂分片的第一分裂指令;
所述主服务器,用于在接收到所述第一分裂指令后,生成所述待分裂分片的分裂日志及所述分裂日志的序列号;将所述分裂日志及所述分裂日志的序列号发送给所述待分裂分片所属的每个从服务器;
所述从服务器,用于在接收并存储所述分裂日志及所述分裂日志的序列号之后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号;
所述主服务器,还用于在接收到的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片;向每个从服务器发送第二分裂指令,所述第二分裂指令中包括所述分裂日志的序列号;
所述从服务器,还用于在接收到所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片。
可选的,所述系统还包括:
代理设备,用于接收用户针对所述待分裂分片的第一写入指令,将所述第一写入指令发送至所述主服务器;
所述主服务器,还用于在接收到所述第一写入指令后,生成所述待分裂分片的数据日志及所述数据日志的序列号;将所述数据日志及所述数据日志的序列号发送给每个从服务器;
所述从服务器,还用于在存储所述数据日志及所述数据日志的序列号之后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号;
所述主服务器,还用于在接收到的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据;向每个从服务器发送第二写入指令,所述第二写入指令中包括所述数据日志的序列号;
所述从服务器,还用于在接收到所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据。
可选的,所述主服务器,还用于向每个从服务器发送查询指令;
所述从服务器,还用于在接收到所述查询指令之后,向所述主服务器返回该从服务器最近一次执行的日志的序列号;
所述主服务器,还用于接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的分布式表格存储的处理方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的分布式表格存储的处理方法。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的分布式表格存储的处理方法。
本发明实施例提供的分布式表格存储的处理方法、装置及系统中,待分裂分片所属的主服务器在接收到控制设备发送的针对待分裂分片的第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号;将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号;在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片;向每个从服务器发送第二分裂指令,第二分裂指令中包括分裂日志的序列号,以使每个从服务器在接收到第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。这样,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的分布式表格存储的处理系统的结构示意图;
图2为本发明实施例提供的一种应用于主服务器的分布式表格存储的处理方法的流程图;
图3为本发明实施例提供的一种应用于从服务器的分布式表格存储的处理方法的流程图;
图4为本发明实施例提供的一种应用于主服务器的分布式表格存储的处理装置的结构图;
图5为本发明实施例提供的一种应用于从服务器的分布式表格存储的处理装置的结构图;
图6为本发明实施例提供的一种分布式表格存储的处理系统的时序图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在分布式存储系统中,同一分片对应的多个分片副本分别存储在多个不同的服务器上,因此,为了使得各个分片副本在分裂后形成的新分片也相同,需要在多个分片副本完全一致的情况下,对各个分片副本同时进行分裂,导致分布式存储系统的可用性较低。
为了解决上述技术问题,本发明提供了一种分布式表格存储的处理方法、装置及系统,下面从总体上对本发明实施例提供的方案进行说明。
如图1所示,为本发明实施例提供的分布式表格存储的处理系统的结构示意图,在该分布式表格存储的处理系统中,包括控制设备、主服务器和从服务器,其中,该分布式表格存储的处理系统可以是KTS(Kingsoft Table Service,金山表格存储系统),主服务器和从服务器可以是KTS中的服务器。KTS是完全托管的NoSQL(Not Only SQL,非关系型数据库)数据库服务,提供海量结构化和半结构化数据的存储和实时访问。
在本发明实施例中,主服务器和从服务器是针对同一待分裂分片而言的,待分裂分片为待分裂存储的分片,一个服务器可能是一个待分裂分片所属的主服务器,同时是另一个分片的从服务器。
本发明实施例所提供的分布式表格存储的处理方法可以应用于待分裂分片所属的主服务器,该方法包括:
在接收到控制设备发送的针对待分裂分片的第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号;
将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号;
在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片;
向每个从服务器发送第二分裂指令,第二分裂指令中包括分裂日志的序列号,以使每个从服务器在接收到第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。
由以上可见,本发明实施例提供的分布式表格存储的处理方法,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
下面通过具体实施例,对本发明实施例提供的分布式表格存储的处理方法进行详细说明。
如图2所示,为本发明实施例提供的一种分布式表格存储的处理方法的流程图,应用于待分裂分片所属的主服务器,包括如下步骤:
S201:在接收到控制设备发送的针对待分裂分片的第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号。
在本发明实施例中,分布式表格存储的处理系统中的控制设备可以监测分布式表格存储的处理系统内的各个分片的数据量,并根据分片的数据量,确定需要进行分裂存储的分片,作为待分裂分片。
一种实现方式中,控制设备可以将数据量不小于预设数据量的分片作为待分裂分片,进而,向待分裂分片所属的主服务器发送针对待分裂分片的第一分裂指令。或者,控制设备还可以在接收到用户发送的分裂存储请求后,生成第一分裂指令。
第一分裂指令中包含待分裂分片的标识信息,该标识信息可以为待分裂分片的名称,也可以为该待分裂分片的ID(Identification,身份标识号码)。
待分裂分片所属的主服务器在接收到第一分裂指令后,生成待分裂分片的分裂日志及该分裂日志的序列号。一种实现方式中,生成的分裂日志及分裂日志的序列号可以与其他日志一起,按照日志的生成时间顺序,串行写入日志文件中。其中,主服务器生成的每个日志都具有与其唯一对应的序列号,而且,每个日志的序列号随着该日志的生成时间的顺延而不断增大。
S202:将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号。
待分裂分片所属的主服务器生成待分裂分片的分裂日志及分裂日志的序列号之后,可以将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器。
一种实现方式中,主服务器可以按照预设的分裂规则,对待分裂分片进行分析,得到待分裂分片的数据拆分点,进而,生成携带有数据拆分点的分裂日志,这样,每个从服务器都可以读取该分裂日志,按照数据拆分点对待分裂分片进行拆分,得到与主服务器相同的新分片。
或者,另一种实现方式中,可以在待分裂分片所属的主服务器和从服务器中预先设置相同的数据拆分规则,每个从服务器都可以在读取该分裂日志后,按照预先设置的数据拆分规则对待分裂分片进行拆分,得到与主服务器相同的新分片,这样,在分裂日志中,只需包含对待分裂分片进行拆分的指令,而不需要携带具体的数据拆分点,从而减少待分裂分片所属的主服务器和从服务器之间的通信数据量。
S203:在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。
为了保证主服务器和从服务器对待分裂分片进行分裂存储的一致性,主服务器可以在接收到的第一确认消息的数量不小于第一阈值的情况下,再对待分裂分片进行分裂存储。
其中,主服务器接收到的第一确认消息的数量,也就是已经对分裂日志及分裂日志的序列号进行存储的从服务器的数量,也就是说,如果主服务器接收到的第一确认消息的数量不小于第一阈值,表示已经对分裂日志及分裂日志的序列号进行存储的从服务器的数量不小于第一阈值,换句话说,当前大部分的从服务器均已对分裂日志及分裂日志的序列号进行存储。在这种情况下,才会执行后续的步骤,这样可以尽可能保证每一从服务器都已经存储分裂日志,进而保证待分裂分片在不同的服务器中进行分裂存储之后数据的一致性。
其中,本申请实施例对第一阈值的大小不做具体限定,例如,第一阈值可以是从服务器的数量的一半。举例而言,如果从服务器的数量为5个,第一阈值可以为4个,那么,当主服务器接收到1个第一确认消息后,会继续等待,直至主服务器接收到4个第一确认消息,表明当前已有4个从服务器存储分裂日志及分裂日志的序列号,那么,则执行后续的操作。
本发明实施例中,主服务器按照日志的序列号,依次执行各个日志,也就是说,在主服务器接收到的第一确认消息的数量不小于第一阈值的情况下,可以并不立即对待分裂分片进行分裂存储,直到分裂日志的上一条日志被执行之后,才对待分裂分片进行分裂存储。
一种实现方式中,主服务器对待分裂分片进行分裂存储时,可以根据分裂日志中的数据拆分点,对待分裂分片进行分裂存储,得到多个新分片,或者,也可以按照预先存储的数据拆分规则,对待分裂分片进行分裂存储,得到多个新分片。这里所说的新分片是对待分裂分片进行分裂存储之后得到的分片。
S204:向每个从服务器发送第二分裂指令,第二分裂指令中包括分裂日志的序列号,以使每个从服务器在接收到第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。
主服务器完成对待分裂分片进行分裂存储,得到多个新分片之后,可以向每个从服务器发送第二分裂指令,从服务器在接收到第二分裂指令后,根据第二分裂指令中所包括的分裂日志的序列号,可以确定该序列号对应的分裂日志可以被执行。
进而,从服务器可以根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,这些新分片与主服务器得到的新分片是相同的,具体的分裂存储方式也与主服务器对待分裂分片的分裂存储方式相同,这里不再赘述。
本发明实施例中,从服务器按照日志的序列号,依次执行各个日志,也就是说,在从服务器在接收到第二分裂指令的情况下,可以并不立即对待分裂分片进行分裂存储,直到分裂日志的上一条日志被执行之后,才对待分裂分片进行分裂存储。
一种实现方式中,主服务器还可以在接收到代理节点发送的针对待分裂分片的第一写入指令后,生成待分裂分片的数据日志及数据日志的序列号。其中,数据日志与分裂日志均属于需要执行的日志文件的一部分。
然后,主服务器可以将数据日志及数据日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储数据日志及数据日志的序列号之后,向主服务器发送第二确认消息,第二确认消息中包括数据日志的序列号。
进而,主服务器可以在接收到的第二确认消息的数量不小于第二阈值时,根据数据日志,获取并存储待写入数据,然后,向每个从服务器发送第二写入指令,第二写入指令中包括数据日志的序列号,以使每个从服务器在接收到第二写入指令后,根据数据日志,获取并存储待写入数据。其中,可以将待写入分布式表格存储的处理至主服务器或从服务器的本地数据库中。
或者,日志文件中还可以包括其他类型的日志,根据不同的日志,主服务器和从服务器会执行不同的操作,本发明实施例对此不做限定。
一种实现方式中,主服务器在向每个从服务器发送第二分裂指令之后,还可以向每个从服务器发送查询指令,每个从服务器在接收到查询指令之后,向主服务器返回该从服务器最近一次执行的日志的序列号,进而,主服务器接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于分裂日志的序列号的情况下,判定待分裂分片已完成分裂存储。
由以上可见,本发明实施例提供的分布式表格存储的处理方法,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
如图3所示,对应的,为本发明实施例提供的一种分布式表格存储的处理方法的流程图,应用于待分裂分片所属的从服务器,包括如下步骤:
S301:接收待分裂分片所属的主服务器发送的针对待分裂分片的分裂日志及分裂日志的序列号,其中,分裂日志和分裂日志的序列号为主服务器在接收到控制设备发送的针对待分裂分片的第一分裂指令后生成的;
S302:存储分裂日志及分裂日志的序列号,并在存储成功后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号,以使主服务器在接收的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,并向从服务器发送第二分裂指令;
S303:接收第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,第二分裂指令中包括分裂日志的序列号。
一种实现方式中,该方法还包括:
接收待分裂分片所属的主服务器发送的针对待分裂分片的数据日志及数据日志的序列号,数据日志及数据日志的序列号为主服务器在接收到代理节点发送的针对待分裂分片的第一写入指令后生成的;
存储数据日志及数据日志的序列号,并在存储成功后,向主服务器发送第二确认消息,第二确认消息中包括数据日志的序列号,以使主服务器在接收的第二确认消息的数量不小于第二阈值时,根据数据日志,获取并存储待写入数据,并向每个从服务器发送第二写入指令;
接收第二写入指令后,根据数据日志,获取并存储待写入数据,第二写入指令中包括数据日志的序列号。
一种实现方式中,该方法还包括:
接收主服务器发送的查询指令;
向主服务器返回最近一次执行的日志的序列号,以使主服务器在每个从服务器最近一次返回的序列号均不小于分裂日志的序列号的情况下,判定待分裂分片已完成分裂存储。
由以上可见,本发明提供的分布式表格存储的处理方法,本发明实施例提供的分布式表格存储的处理方法,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
本申请实施例还提供了一种分布式表格存储的处理装置,该分布式表格存储的处理装置应用于待分裂分片所属的主服务器,参见图4所示,该装置包括:
生成模块401,用于在接收到控制设备发送的针对待分裂分片的第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号;
第一发送模块402,用于将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号;
分裂模块403,用于在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片;
第二发送模块404,用于向每个从服务器发送第二分裂指令,第二分裂指令中包括分裂日志的序列号,以使每个从服务器在接收到第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。
一种实现方式中,生成模块401,还用于在接收到代理节点发送的针对待分裂分片的第一写入指令后,生成待分裂分片的数据日志及数据日志的序列号;
第一发送模块402,还用于将数据日志及数据日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储数据日志及数据日志的序列号之后,向主服务器发送第二确认消息,第二确认消息中包括数据日志的序列号;
写入模块(图中未示出),用于在接收到的第二确认消息的数量不小于第二阈值时,根据数据日志,获取并存储待写入数据;
第二发送模块404,还用于向每个从服务器发送第二写入指令,第二写入指令中包括数据日志的序列号,以使每个从服务器在接收到第二写入指令后,根据数据日志,获取并存储待写入数据。
一种实现方式中,该装置还包括:
查询模块(图中未示出),用于向每个从服务器发送查询指令,以使每个从服务器在接收到查询指令之后,返回该从服务器最近一次执行的日志的序列号;
判断模块(图中未示出),用于接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于分裂日志的序列号的情况下,判定待分裂分片已完成分裂存储。
由以上可见,本发明提供的分布式表格存储的处理装置,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
本申请实施例还提供了一种分布式表格存储的处理装置,该分布式表格存储的处理装置应用于待分裂分片所属的从服务器,参见图5所示,该装置包括:
接收模块501,用于接收待分裂分片所属的主服务器发送的针对待分裂分片的分裂日志及分裂日志的序列号,其中,分裂日志和分裂日志的序列号为主服务器在接收到控制设备发送的针对待分裂分片的第一分裂指令后生成的;
存储模块502,用于存储分裂日志及分裂日志的序列号,并在存储成功后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号,以使主服务器在接收的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,并向从服务器发送第二分裂指令;
分裂模块503,用于接收第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,第二分裂指令中包括分裂日志的序列号。
一种实现方式中,接收模块501,还用于接收待分裂分片所属的主服务器发送的针对待分裂分片的数据日志及数据日志的序列号,数据日志及数据日志的序列号为主服务器在接收到代理节点发送的针对待分裂分片的第一写入指令后生成的;
存储模块502,还用于存储数据日志及数据日志的序列号,并在存储成功后,向主服务器发送第二确认消息,第二确认消息中包括数据日志的序列号,以使主服务器在接收的第二确认消息的数量不小于第二阈值时,根据数据日志,获取并存储待写入数据,并向每个从服务器发送第二写入指令;
写入模块(图中未示出),用于接收第二写入指令后,根据数据日志,获取并存储待写入数据,第二写入指令中包括数据日志的序列号。
一种实现方式中,该装置还包括:
接收模块501,还用于接收主服务器发送的查询指令;
返回模块(图中未示出),用于向主服务器返回最近一次执行的日志的序列号,以使主服务器在每个从服务器最近一次返回的序列号均不小于分裂日志的序列号的情况下,判定待分裂分片已完成分裂存储。
由以上可见,本发明提供的分布式表格存储的处理装置,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
本申请实施例还提供了一种分布式表格存储的处理系统,参见图6所示,为该分布式表格存储的处理系统的时序图,其中:
S601:控制设备监测各个分片的数据量,将数据量不小于预设数据量的分片作为待分裂分片,向待分裂分片所属的主服务器发送针对待分裂分片的第一分裂指令;
S602:主服务器在接收到第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号;将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器;
S603:从服务器在接收并存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号;
S604:主服务器在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片;向每个从服务器发送第二分裂指令,第二分裂指令中包括分裂日志的序列号;
S605:从服务器在接收到第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。
一种实现方式中,该系统还包括:
代理设备,用于接收用户针对待分裂分片的第一写入指令,将第一写入指令发送至主服务器;
主服务器,还用于在接收到第一写入指令后,生成待分裂分片的数据日志及数据日志的序列号;将数据日志及数据日志的序列号发送给每个从服务器;
从服务器,还用于在存储数据日志及数据日志的序列号之后,向主服务器发送第二确认消息,第二确认消息中包括数据日志的序列号;
主服务器,还用于在接收到的第二确认消息的数量不小于第二阈值时,根据数据日志,获取并存储待写入数据;向每个从服务器发送第二写入指令,第二写入指令中包括数据日志的序列号;
从服务器,还用于在接收到第二写入指令后,根据数据日志,获取并存储待写入数据。
一种实现方式中,主服务器,还用于向每个从服务器发送查询指令;
从服务器,还用于在接收到查询指令之后,向主服务器返回该从服务器最近一次执行的日志的序列号;
主服务器,还用于接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于分裂日志的序列号的情况下,判定待分裂分片已完成分裂存储。
由以上可见,本发明提供的分布式表格存储的处理系统,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序。
其中,存储器703上所存放的程序可以实现如下步骤:
在接收到控制设备发送的针对待分裂分片的第一分裂指令后,生成待分裂分片的分裂日志及分裂日志的序列号;
将分裂日志及分裂日志的序列号发送给待分裂分片所属的每个从服务器,以使每个从服务器在存储分裂日志及分裂日志的序列号之后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号;
在接收到的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片;
向每个从服务器发送第二分裂指令,第二分裂指令中包括分裂日志的序列号,以使每个从服务器在接收到第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片。
或者,存储器703上所存放的程序也可以实现如下步骤:
接收待分裂分片所属的主服务器发送的针对待分裂分片的分裂日志及分裂日志的序列号,其中,分裂日志和分裂日志的序列号为主服务器在接收到控制设备发送的针对待分裂分片的第一分裂指令后生成的;
存储分裂日志及分裂日志的序列号,并在存储成功后,向主服务器发送第一确认消息,第一确认消息中包括分裂日志的序列号,以使主服务器在接收的第一确认消息的数量不小于第一阈值时,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,并向从服务器发送第二分裂指令;
接收第二分裂指令后,根据分裂日志,对待分裂分片进行分裂存储,得到多个新分片,第二分裂指令中包括分裂日志的序列号。
由以上可见,本发明提供的电子设备,在主服务器和从服务器均按照序列号顺序执行相同的分裂日志的情况下,即使主服务器和从服务器不是同时对待分裂分片进行分裂存储,得到的新分片也是相同的,从而可以提高分布式存储系统的可用性。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的分布式表格存储的处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的分布式表格存储的处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (17)
1.一种分布式表格存储的处理方法,其特征在于,应用于待分裂分片所属的主服务器,所述方法包括:
在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后,生成所述待分裂分片的分裂日志及所述分裂日志的序列号;
将所述分裂日志及所述分裂日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述分裂日志及所述分裂日志的序列号之后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号;
在接收到的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片;
向每个从服务器发送第二分裂指令,所述第二分裂指令中包括所述分裂日志的序列号,以使每个从服务器在接收到所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在接收到代理节点发送的针对所述待分裂分片的第一写入指令后,生成所述待分裂分片的数据日志及所述数据日志的序列号;
将所述数据日志及所述数据日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述数据日志及所述数据日志的序列号之后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号;
在接收到的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据;
向每个从服务器发送第二写入指令,所述第二写入指令中包括所述数据日志的序列号,以使每个从服务器在接收到所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据。
3.根据权利要求1-2任一所述的方法,其特征在于,所述向每个从服务器发送第二分裂指令之后,还包括:
向每个从服务器发送查询指令,以使每个从服务器在接收到所述查询指令之后,返回该从服务器最近一次执行的日志的序列号;
接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
4.一种分布式表格存储的处理方法,其特征在于,应用于待分裂分片所属的从服务器,所述方法包括:
接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的分裂日志及所述分裂日志的序列号,其中,所述分裂日志和所述分裂日志的序列号为所述主服务器在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后生成的;
存储所述分裂日志及所述分裂日志的序列号,并在存储成功后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号,以使所述主服务器在接收的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片,并向所述从服务器发送第二分裂指令;
接收所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片,所述第二分裂指令中包括所述分裂日志的序列号。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的数据日志及所述数据日志的序列号,所述数据日志及所述数据日志的序列号为所述主服务器在接收到代理节点发送的针对所述待分裂分片的第一写入指令后生成的;
存储所述数据日志及所述数据日志的序列号,并在存储成功后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号,以使所述主服务器在接收的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据,并向每个从服务器发送第二写入指令;
接收所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据,所述第二写入指令中包括所述数据日志的序列号。
6.根据权利要求4-5任一所述的方法,其特征在于,所述方法还包括:
接收所述主服务器发送的查询指令;
向所述主服务器返回最近一次执行的日志的序列号,以使所述主服务器在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
7.一种分布式表格存储的处理装置,其特征在于,应用于待分裂分片所属的主服务器,所述装置包括:
生成模块,用于在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后,生成所述待分裂分片的分裂日志及所述分裂日志的序列号;
第一发送模块,用于将所述分裂日志及所述分裂日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述分裂日志及所述分裂日志的序列号之后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号;
分裂模块,用于在接收到的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片;
第二发送模块,用于向每个从服务器发送第二分裂指令,所述第二分裂指令中包括所述分裂日志的序列号,以使每个从服务器在接收到所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片。
8.根据权利要求7所述的装置,其特征在于,
所述生成模块,还用于在接收到代理节点发送的针对所述待分裂分片的第一写入指令后,生成所述待分裂分片的数据日志及所述数据日志的序列号;
所述第一发送模块,还用于将所述数据日志及所述数据日志的序列号发送给所述待分裂分片所属的每个从服务器,以使每个从服务器在存储所述数据日志及所述数据日志的序列号之后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号;
写入模块,用于在接收到的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据;
所述第二发送模块,还用于向每个从服务器发送第二写入指令,所述第二写入指令中包括所述数据日志的序列号,以使每个从服务器在接收到所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据。
9.根据权利要求7-8任一所述的装置,其特征在于,所述装置还包括:
查询模块,用于向每个从服务器发送查询指令,以使每个从服务器在接收到所述查询指令之后,返回该从服务器最近一次执行的日志的序列号;
判断模块,用于接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
10.一种分布式表格存储的处理装置,其特征在于,应用于待分裂分片所属的从服务器,所述装置包括:
接收模块,用于接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的分裂日志及所述分裂日志的序列号,其中,所述分裂日志和所述分裂日志的序列号为所述主服务器在接收到控制设备发送的针对所述待分裂分片的第一分裂指令后生成的;
存储模块,用于存储所述分裂日志及所述分裂日志的序列号,并在存储成功后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号,以使所述主服务器在接收的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片,并向所述从服务器发送第二分裂指令;
分裂模块,用于接收所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片,所述第二分裂指令中包括所述分裂日志的序列号。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
所述接收模块,还用于接收所述待分裂分片所属的主服务器发送的针对所述待分裂分片的数据日志及所述数据日志的序列号,所述数据日志及所述数据日志的序列号为所述主服务器在接收到代理节点发送的针对所述待分裂分片的第一写入指令后生成的;
所述存储模块,还用于存储所述数据日志及所述数据日志的序列号,并在存储成功后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号,以使所述主服务器在接收的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据,并向每个从服务器发送第二写入指令;
写入模块,用于接收所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据,所述第二写入指令中包括所述数据日志的序列号。
12.根据权利要求10-11任一所述的装置,其特征在于,所述装置还包括:
所述接收模块,还用于接收所述主服务器发送的查询指令;
返回模块,用于向所述主服务器返回最近一次执行的日志的序列号,以使所述主服务器在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
13.一种分布式表格存储的处理系统,其特征在于,所述系统包括:
控制设备,用于监测各个分片的数据量,将数据量不小于预设数据量的分片作为待分裂分片,向所述待分裂分片所属的主服务器发送针对所述待分裂分片的第一分裂指令;
所述主服务器,用于在接收到所述第一分裂指令后,生成所述待分裂分片的分裂日志及所述分裂日志的序列号;将所述分裂日志及所述分裂日志的序列号发送给所述待分裂分片所属的每个从服务器;
所述从服务器,用于在接收并存储所述分裂日志及所述分裂日志的序列号之后,向所述主服务器发送第一确认消息,所述第一确认消息中包括所述分裂日志的序列号;
所述主服务器,还用于在接收到的第一确认消息的数量不小于第一阈值时,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到多个新分片;向每个从服务器发送第二分裂指令,所述第二分裂指令中包括所述分裂日志的序列号;
所述从服务器,还用于在接收到所述第二分裂指令后,根据所述分裂日志,对所述待分裂分片进行分裂存储,得到所述多个新分片。
14.根据权利要求13所述的系统,其特征在于,所述系统还包括:
代理设备,用于接收用户针对所述待分裂分片的第一写入指令,将所述第一写入指令发送至所述主服务器;
所述主服务器,还用于在接收到所述第一写入指令后,生成所述待分裂分片的数据日志及所述数据日志的序列号;将所述数据日志及所述数据日志的序列号发送给每个从服务器;
所述从服务器,还用于在存储所述数据日志及所述数据日志的序列号之后,向所述主服务器发送第二确认消息,所述第二确认消息中包括所述数据日志的序列号;
所述主服务器,还用于在接收到的第二确认消息的数量不小于第二阈值时,根据所述数据日志,获取并存储待写入数据;向每个从服务器发送第二写入指令,所述第二写入指令中包括所述数据日志的序列号;
所述从服务器,还用于在接收到所述第二写入指令后,根据所述数据日志,获取并存储所述待写入数据。
15.根据权利要求13-14任一所述的系统,其特征在于,
所述主服务器,还用于向每个从服务器发送查询指令;
所述从服务器,还用于在接收到所述查询指令之后,向所述主服务器返回该从服务器最近一次执行的日志的序列号;
所述主服务器,还用于接收每个从服务器返回的序列号,在每个从服务器最近一次返回的序列号均不小于所述分裂日志的序列号的情况下,判定所述待分裂分片已完成分裂存储。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3或4-6任一所述的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3或4-6任一所述的方法步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911156377.5A CN112835885B (zh) | 2019-11-22 | 2019-11-22 | 一种分布式表格存储的处理方法、装置及系统 |
US17/756,151 US12001450B2 (en) | 2019-11-22 | 2020-11-10 | Distributed table storage processing method, device and system |
PCT/CN2020/127868 WO2021098555A1 (zh) | 2019-11-22 | 2020-11-10 | 一种分布式表格存储的处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911156377.5A CN112835885B (zh) | 2019-11-22 | 2019-11-22 | 一种分布式表格存储的处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112835885A true CN112835885A (zh) | 2021-05-25 |
CN112835885B CN112835885B (zh) | 2023-09-01 |
Family
ID=75922667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911156377.5A Active CN112835885B (zh) | 2019-11-22 | 2019-11-22 | 一种分布式表格存储的处理方法、装置及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12001450B2 (zh) |
CN (1) | CN112835885B (zh) |
WO (1) | WO2021098555A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174249A (zh) * | 2022-07-18 | 2022-10-11 | 湖北天融信网络安全技术有限公司 | 安全日志的处理方法及电子设备、存储介质 |
CN116095098A (zh) * | 2022-11-28 | 2023-05-09 | 华南农业大学 | 数据的分布式存储方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360498A (zh) * | 2021-06-01 | 2021-09-07 | 中国农业银行股份有限公司 | 流数据转存处理方法、装置及服务器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013008291A (ja) * | 2011-06-27 | 2013-01-10 | Nippon Telegr & Teleph Corp <Ntt> | 分散データストアシステムおよび障害復旧方法 |
CN103580906A (zh) * | 2012-08-09 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
US20140330785A1 (en) * | 2012-03-29 | 2014-11-06 | Hitachi Data Systems Corporation | Highly available search index with storage node addition and removal |
US20160188426A1 (en) * | 2014-12-31 | 2016-06-30 | International Business Machines Corporation | Scalable distributed data store |
CN106991113A (zh) * | 2015-12-18 | 2017-07-28 | Sap欧洲公司 | 数据库环境中的表格复制 |
CN109284073A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 数据存储方法、装置、系统、服务器、控制节点及介质 |
CN110169040A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 基于多层一致性哈希的分布式数据存储方法与系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9501501B2 (en) * | 2013-03-15 | 2016-11-22 | Amazon Technologies, Inc. | Log record management |
US10108496B2 (en) * | 2014-06-30 | 2018-10-23 | International Business Machines Corporation | Use of replicated copies to improve database backup performance |
CN104933132B (zh) * | 2015-06-12 | 2019-11-19 | 深圳巨杉数据库软件有限公司 | 基于操作序列号的分布式数据库有权重选举方法 |
JP6556851B2 (ja) * | 2015-09-08 | 2019-08-07 | 株式会社東芝 | データベースシステム、サーバ装置、プログラムおよび情報処理方法 |
CN105468718B (zh) | 2015-11-18 | 2020-09-08 | 腾讯科技(深圳)有限公司 | 数据一致性处理方法、装置和系统 |
CN106897281B (zh) | 2015-12-17 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 一种日志分片方法和装置 |
CN111314479B (zh) * | 2016-06-20 | 2022-08-23 | 北京奥星贝斯科技有限公司 | 一种数据处理方法和设备 |
CN108345617B (zh) | 2017-01-24 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置以及电子设备 |
US11269679B2 (en) * | 2018-05-04 | 2022-03-08 | Microsoft Technology Licensing, Llc | Resource-governed protocol and runtime for distributed databases with consistency models |
CN109753511B (zh) | 2018-12-28 | 2020-12-04 | 北京东方国信科技股份有限公司 | 一种大数据平台的跨地域实时同步方法及系统 |
US11275657B2 (en) * | 2019-05-01 | 2022-03-15 | EMC IP Holding Company LLC | Method and system for minimizing rolling database recovery downtime |
-
2019
- 2019-11-22 CN CN201911156377.5A patent/CN112835885B/zh active Active
-
2020
- 2020-11-10 WO PCT/CN2020/127868 patent/WO2021098555A1/zh active Application Filing
- 2020-11-10 US US17/756,151 patent/US12001450B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013008291A (ja) * | 2011-06-27 | 2013-01-10 | Nippon Telegr & Teleph Corp <Ntt> | 分散データストアシステムおよび障害復旧方法 |
US20140330785A1 (en) * | 2012-03-29 | 2014-11-06 | Hitachi Data Systems Corporation | Highly available search index with storage node addition and removal |
CN103580906A (zh) * | 2012-08-09 | 2014-02-12 | 腾讯科技(深圳)有限公司 | 一种数据备份的方法、系统及服务器 |
US20160188426A1 (en) * | 2014-12-31 | 2016-06-30 | International Business Machines Corporation | Scalable distributed data store |
CN106991113A (zh) * | 2015-12-18 | 2017-07-28 | Sap欧洲公司 | 数据库环境中的表格复制 |
CN110169040A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 基于多层一致性哈希的分布式数据存储方法与系统 |
CN109284073A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 数据存储方法、装置、系统、服务器、控制节点及介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174249A (zh) * | 2022-07-18 | 2022-10-11 | 湖北天融信网络安全技术有限公司 | 安全日志的处理方法及电子设备、存储介质 |
CN116095098A (zh) * | 2022-11-28 | 2023-05-09 | 华南农业大学 | 数据的分布式存储方法及装置 |
CN116095098B (zh) * | 2022-11-28 | 2024-04-09 | 华南农业大学 | 数据的分布式存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230030856A1 (en) | 2023-02-02 |
US12001450B2 (en) | 2024-06-04 |
WO2021098555A1 (zh) | 2021-05-27 |
CN112835885B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022063284A1 (zh) | 数据同步方法、装置、设备及计算机可读介质 | |
CN109885786B (zh) | 数据缓存处理方法、装置、电子设备及可读存储介质 | |
EP3869434B1 (en) | Blockchain-based data processing method and apparatus, device, and medium | |
US12001450B2 (en) | Distributed table storage processing method, device and system | |
CN110196759B (zh) | 分布式事务处理方法和装置、存储介质及电子装置 | |
CN111611249A (zh) | 数据管理方法、装置、设备及存储介质 | |
US20120310885A1 (en) | Auto-Correction in Database Replication | |
CN110990365A (zh) | 一种数据同步方法、装置、服务器及存储介质 | |
CN111125240B (zh) | 一种分布式事务实现方法、装置、电子设备及存储介质 | |
CN111309693A (zh) | 一种数据同步方法、装置、系统、电子设备及存储介质 | |
CN111125168B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112148206A (zh) | 一种数据读写方法、装置、电子设备及介质 | |
CN111522881B (zh) | 业务数据处理方法、装置、服务器及存储介质 | |
US20230161664A1 (en) | Method of responding to operation, electronic device, and storage medium | |
CN112860746B (zh) | 一种基于缓存削减的方法、设备及系统 | |
CN116540938A (zh) | 数据读取方法、装置、分布式存储系统、设备和存储介质 | |
CN113268483B (zh) | 请求处理方法和装置、电子设备和存储介质 | |
CN109740027B (zh) | 数据交换方法、装置、服务器和存储介质 | |
CN112596867A (zh) | 一种悬挂事务处理方法及一种分布式数据库系统 | |
CN113076331B (zh) | 中台数据处理方法、装置、设备、存储介质及程序产品 | |
CN111639089B (zh) | 事务处理方法、装置、电子设备和计算机可读存储介质 | |
CN114900531B (zh) | 数据同步方法、装置和系统 | |
CN117131071B (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
EP4131017A2 (en) | Distributed data storage | |
US20240104069A1 (en) | Systems and methods of managing state machine systems with compacting distributed log storage |
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 |