CN112835885B - 一种分布式表格存储的处理方法、装置及*** - Google Patents

一种分布式表格存储的处理方法、装置及*** Download PDF

Info

Publication number
CN112835885B
CN112835885B CN201911156377.5A CN201911156377A CN112835885B CN 112835885 B CN112835885 B CN 112835885B CN 201911156377 A CN201911156377 A CN 201911156377A CN 112835885 B CN112835885 B CN 112835885B
Authority
CN
China
Prior art keywords
split
log
fragments
splitting
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.)
Active
Application number
CN201911156377.5A
Other languages
English (en)
Other versions
CN112835885A (zh
Inventor
黎海兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911156377.5A priority Critical patent/CN112835885B/zh
Priority to PCT/CN2020/127868 priority patent/WO2021098555A1/zh
Priority to US17/756,151 priority patent/US12001450B2/en
Publication of CN112835885A publication Critical patent/CN112835885A/zh
Application granted granted Critical
Publication of CN112835885B publication Critical patent/CN112835885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Software Systems (AREA)
  • Computing 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任一所述的方法步骤。
CN201911156377.5A 2019-11-22 2019-11-22 一种分布式表格存储的处理方法、装置及*** Active CN112835885B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911156377.5A CN112835885B (zh) 2019-11-22 2019-11-22 一种分布式表格存储的处理方法、装置及***
PCT/CN2020/127868 WO2021098555A1 (zh) 2019-11-22 2020-11-10 一种分布式表格存储的处理方法、装置及***
US17/756,151 US12001450B2 (en) 2019-11-22 2020-11-10 Distributed table storage processing method, device and system

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 CN112835885A (zh) 2021-05-25
CN112835885B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360498A (zh) * 2021-06-01 2021-09-07 中国农业银行股份有限公司 流数据转存处理方法、装置及服务器
CN115174249A (zh) * 2022-07-18 2022-10-11 湖北天融信网络安全技术有限公司 安全日志的处理方法及电子设备、存储介质
CN116095098B (zh) * 2022-11-28 2024-04-09 华南农业大学 数据的分布式存储方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 一种数据备份的方法、***及服务器
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 (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489412B2 (en) * 2012-03-29 2019-11-26 Hitachi Vantara Corporation Highly available search index with storage node addition and removal
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
US10089307B2 (en) * 2014-12-31 2018-10-02 International Business Machines Corporation Scalable distributed data store
CN104933132B (zh) * 2015-06-12 2019-11-19 深圳巨杉数据库软件有限公司 基于操作序列号的分布式数据库有权重选举方法
WO2017042890A1 (ja) * 2015-09-08 2017-03-16 株式会社東芝 データベースシステム、サーバ装置、プログラムおよび情報処理方法
CN105468718B (zh) 2015-11-18 2020-09-08 腾讯科技(深圳)有限公司 数据一致性处理方法、装置和***
CN106897281B (zh) * 2015-12-17 2020-08-14 阿里巴巴集团控股有限公司 一种日志分片方法和装置
CN106899648B (zh) * 2016-06-20 2020-02-14 阿里巴巴集团控股有限公司 一种数据处理方法和设备
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 腾讯科技(深圳)有限公司 一种数据备份的方法、***及服务器
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 北京金山云网络技术有限公司 数据存储方法、装置、***、服务器、控制节点及介质

Also Published As

Publication number Publication date
US20230030856A1 (en) 2023-02-02
US12001450B2 (en) 2024-06-04
CN112835885A (zh) 2021-05-25
WO2021098555A1 (zh) 2021-05-27

Similar Documents

Publication Publication Date Title
CN112835885B (zh) 一种分布式表格存储的处理方法、装置及***
EP2948875B1 (en) Method and system for using a recursive event listener on a node in hierarchical data structure
CN109885786B (zh) 数据缓存处理方法、装置、电子设备及可读存储介质
CN107633016B (zh) 数据处理方法及装置和电子设备
CN111352902A (zh) 日志处理方法、装置、终端设备及存储介质
CN111400777B (zh) 一种网络存储***、用户认证方法、装置及设备
CN112035405B (zh) 一种文档转码方法、装置、调度服务器和存储介质
CN108418859B (zh) 写数据的方法和装置
CN105373563B (zh) 数据库切换方法及装置
CN111966653A (zh) 微服务调用链路数据处理方法、装置、服务器及存储介质
CN109600254B (zh) 全链路日志的生成方法及相关***
CN111125168B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN111046004B (zh) 一种数据文件存储方法、装置、设备及存储介质
CN110287049B (zh) 数据处理方法、装置和存储介质
CN116540938A (zh) 数据读取方法、装置、分布式存储***、设备和存储介质
CN111309693A (zh) 一种数据同步方法、装置、***、电子设备及存储介质
CN112860746B (zh) 一种基于缓存削减的方法、设备及***
CN111291127B (zh) 一种数据同步方法、装置、服务器及存储介质
CN114328731A (zh) 信息处理方法、装置、电子设备和存储介质
CN110362464B (zh) 软件分析方法及设备
CN110209512B (zh) 基于多数据源的数据核对方法及装置
US20160162559A1 (en) System and method for providing instant query
CN112597119A (zh) 一种处理日志的生成方法、装置及存储介质
CN111163088B (zh) 消息处理方法、***、装置及电子设备
CN111639089B (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