分布式数据存储方法、服务器及可读存储介质技术

技术编号:20819395 阅读:35 留言:0更新日期:2019-04-10 05:48
本发明专利技术公开了一种分布式数据存储方法、服务器及可读存储介质,方法包括:从分布式存储系统已有的多个数据分片中选择前N个数据分片作为滑动窗口;每写入新数据时,判断新数据与滑动窗口中的数据相比是否存在重复数据;若是,放弃写入新数据,同时执行滑动窗口调整操作,以按照调整后的滑动窗口写入下一个新数据;滑动窗口调整操作包括:获取滑动窗口中与放弃写入的新数据存在重复数据的所属数据分片,并以此动态调整所述滑动窗口区域尺寸,以使所属数据分片后还包括一数据分片。从而在下一次写入新数据前,根据重复数据所在分片将滑动窗口中的数据调整为与下一次写入新数据存在时间局部重复性几率较大的数据,有利于提升写入查询效率。

【技术实现步骤摘要】
分布式数据存储方法、服务器及可读存储介质
本专利技术涉及数据存储领域,尤其涉及一种分布式数据存储方法、服务器及可读存储介质。
技术介绍
随着信息技术的发展和深入,网络中的数据总量呈现爆发式增长,存储系统中的数据越来越多,需要大量的存储空间来存储互联网业务中的相关数据。由于分布式存储系统的存储空间能够无限扩展,因此在存储互联网的业务数据时得到了广泛利用。在分布式存储系统中,当对存在时间局部重复性特征的数据进行存储时,为了防止写入的数据存在重复,浪费存储容量,因此在数据写入的过程中需要先对待写入的数据进行查重再写入,但利用现有技术进行新数据写入查重时效率过低。
技术实现思路
本专利技术提出的一种分布式数据存储方法、服务器及可读存储介质,旨在解决对存在时间局部性特征的新数据写入查重时效率过低的问题。为实现上述目的,本专利技术提供一种分布式数据存储方法,包括步骤:在包括多个数据分片的分布式存储系统中,从已有的多个数据分片Q中选择前N个数据分片作为滑动窗口,其中滑动窗口区域尺寸N<Q;每写入新数据时,判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据;当新数据与滑动窗口中的数据相比存在重复数据时,放弃写入新数据,同时执行滑动窗口调整操作,以按照调整后的滑动窗口继续写入下一个新数据;其中,所述滑动窗口调整操作包括:获取滑动窗口中与放弃写入的新数据存在重复数据的所属数据分片,并根据所属数据分片动态调整所述滑动窗口区域尺寸,以使所述滑动窗口中所属数据分片后还包括一数据分片。可选地,所述根据所属数据分片动态调整所述滑动窗口区域尺寸,以使所述滑动窗口中所属数据分片后还包括一数据分片的步骤包括:当所属数据分片为第N个数据分片时,在滑动窗口区域的第N个数据分片后新增一个数据分片以调整所述滑动窗口;当所属数据分片为第X个数据分片且X小于N-1时,从所述滑动窗口区域中删减第X+1个数据分片后的所有数据分片;当所属数据分片为第N-1个数据分片时,维持所述滑动窗口区域尺寸不变。可选地,所述判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据的步骤之后,还包括:当新数据与滑动窗口中的数据相比不存在重复数据时,将滑动窗口区域尺寸N自加M以更新所述滑动窗口,并返回继续判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据的步骤,直至滑动窗口区域尺寸达到所述分布式存储系统的数据分片总数Q为止时仍然不存在重复数据,则写入该新数据。可选地,所述写入该新数据的步骤包括:判断前一个写入数据所属的数据分片对应的时间流是否达到预设时间阈值;当前一个写入数据所属的数据分片对应的时间流达到预设时间阈值时,新建一个数据分片,并将该新数据写入新建的数据分片中;当前一个写入数据所属的数据分片对应的时间流未达到预设时间阈值时,将该新数据写入前一个写入数据所属的数据分片中。可选地,所述将该新数据写入前一个写入数据所属的数据分片中的步骤包括:判断前一个写入数据所属的数据分片的存储容量是否达到预设存储容量上限;当存储容量达到预设存储容量上限时,新建一个数据分片,将该新数据写入所述新建分片中;当存储容量未达到预设存储容量上限时,将该新数据写入前一个写入数据所属的数据分片中。可选地,所述在包括多个数据分片的分布式存储系统中,从已有的多个数据分片Q中选择前N个数据分片的步骤之前,还包括:按照存储容量将存储数据进行预切分,得到预切分数据分片数;将预切分数据分片数与预设数据分片数进行比较,以选取数据分片数多的数据切分方法对存储数据进行分片存储。可选地,所述选取数据分片数多的数据切分方法对存储数据进行分片存储的步骤之后,还包括:为所述存储数据进行分片存储后得到的每个数据分片建立对应的查询索引;根据每个数据分片对应的查询索引以及每个数据分片中的数据对应的指纹值,删除同一个数据分片中的重复数据。可选地,所述每写入新数据时,判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据的步骤包括:每写入新数据时,计算所述新数据的指纹值;将所述新数据的指纹值与所述滑动窗口中数据的指纹值对比;其中,若所述新数据的指纹值与所述滑动窗口中任一数据的指纹值相同,则所述新数据与所述滑动窗口中的数据存在重复数据;若所述新数据的指纹值与所述滑动窗口中所有数据的指纹值均不同,则所述新数据与所述滑动窗口中的数据不存在重复数据。此外,为实现上述目的,本专利技术还提供一种服务器,包括通信模块、存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序时实现如上所述的分布式数据存储方法的步骤。此外,为实现上述目的,本专利技术还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的分布式数据存储方法的步骤。本专利技术提供的分布式数据存储方法、服务器及可读存储介质,通过在包括多个数据分片的分布式存储系统中,从已有的多个数据分片Q中选择前N个数据分片作为滑动窗口,其中滑动窗口区域尺寸N<Q;每写入新数据时,判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据;当新数据与滑动窗口中的数据相比存在重复数据时,放弃写入新数据,同时执行滑动窗口调整操作,以按照调整后的滑动窗口继续写入下一个新数据;其中,所述滑动窗口调整操作包括:获取滑动窗口中与放弃写入的新数据存在重复数据的所属数据分片,并根据所属数据分片动态调整所述滑动窗口区域尺寸,以使所述滑动窗口中所属数据分片后还包括一数据分片。从而在新数据与滑动窗口中存在重复数据的下一次写入新数据前,根据重复数据所在分片将滑动窗口中的数据调整为与下一次写入新数据存在时间局部重复性几率较大的数据,有利于提升写入查询效率。附图说明图1为本专利技术所提供的服务器的硬件结构示意图;图2为本专利技术分布式数据存储方法第一实施例和第二实施例的流程示意图;图3为本专利技术分布式数据存储方法第二实施例中步骤S40的细化流程示意图;图4为本专利技术分布式数据存储方法第四实施例的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参看图1,图1为本专利技术所提供的服务器的硬件结构示意图。所述服务器可以包括通信模块10、存储器20以及处理器30等部件。在所述服务器中,所述处理器30分别与所述存储器20以及所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行,所述计算机程序执行时实现下述方法实施例的步骤。通信模块10,可通过网络与外部通讯设备连接。通信模块10可以接收外部通讯设备发出的请求,还可以发送请求、指令及信息至所述外部通讯设备。所述外部通讯设备可以是其他服务器和/或其他设备终端,例如电视机。存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如数据分片存储)等;存储数据区可包括数据库,存储数据区可存储根据服务器的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。处理器30,是服务器本文档来自技高网...

【技术保护点】
1.一种分布式数据存储方法,其特征在于,包括步骤:在包括多个数据分片的分布式存储系统中,从已有的多个数据分片Q中选择前N个数据分片作为滑动窗口,其中滑动窗口区域尺寸N

【技术特征摘要】
1.一种分布式数据存储方法,其特征在于,包括步骤:在包括多个数据分片的分布式存储系统中,从已有的多个数据分片Q中选择前N个数据分片作为滑动窗口,其中滑动窗口区域尺寸N<Q;每写入新数据时,判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据;当新数据与滑动窗口中的数据相比存在重复数据时,放弃写入新数据,同时执行滑动窗口调整操作,以按照调整后的滑动窗口继续写入下一个新数据;其中,所述滑动窗口调整操作包括:获取滑动窗口中与放弃写入的新数据存在重复数据的所属数据分片,并根据所属数据分片动态调整所述滑动窗口区域尺寸,以使所述滑动窗口中所属数据分片后还包括一数据分片。2.如权利要求1所述的分布式数据存储方法,其特征在于,所述根据所属数据分片动态调整所述滑动窗口区域尺寸,以使所述滑动窗口中所属数据分片后还包括一数据分片的步骤包括:当所属数据分片为第N个数据分片时,在滑动窗口区域的第N个数据分片后新增一个数据分片以调整所述滑动窗口;当所属数据分片为第X个数据分片且X小于N-1时,从所述滑动窗口区域中删减第X+1个数据分片后的所有数据分片;当所属数据分片为第N-1个数据分片时,维持所述滑动窗口区域尺寸不变。3.根据权利要求1或2所述的分布式数据存储方法,其特征在于,所述判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据的步骤之后,还包括:当新数据与滑动窗口中的数据相比不存在重复数据时,将滑动窗口区域尺寸N自加M以更新所述滑动窗口,并返回继续判断所述新数据与所述滑动窗口中的数据相比是否存在重复数据的步骤,直至滑动窗口区域尺寸达到所述分布式存储系统的数据分片总数Q为止时仍然不存在重复数据,则写入该新数据。4.如权利要求3所述的分布式数据存储方法,其特征在于,所述写入该新数据的步骤包括:判断前一个写入数据所属的数据分片对应的时间流是否达到预设时间阈值;当前一个写入数据所属的数据分片对应的时间流达到预设时间阈值时,新建一个数据分片,并将该新数据写入新建的数据分片中;当前一个写入数据所属的数据分片对应的时间流未达到预设时间阈值时,将该新数据写入前一个写入数据所属的数据分片中。...

【专利技术属性】
技术研发人员:赵磊
申请(专利权)人:深圳市酷开网络科技有限公司
类型:发明
国别省市:广东,44

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

1