一种数据的写入方法、装置以及设备制造方法及图纸

技术编号:24852159 阅读:22 留言:0更新日期:2020-07-10 19:06
本申请公开一种数据的写入方法,所述方法包括:若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。本申请实施例将更多的本地服务器所需数据的数据块写入至本地服务器,提高了服务器在读取数据时的性能。

【技术实现步骤摘要】
一种数据的写入方法、装置以及设备
本申请涉及计算机
,尤其涉及一种数据的写入方法、装置及设备。
技术介绍
存储条带是指用来存储数据的集合。该集合在存储数据时,可以将连续的数据写入至多个服务器,并且属于同一存储条带中数据存在关联。若某个服务器发生故障,导致该服务器的数据丢失,可以通过处在同一存储条带的其他服务器恢复丢失的数据,使得写入的数据更加安全可靠。比如,将一段连续数据写入至存储条带中,该存储条带分布在6台服务器上,若是其中2台服务器发生故障,导致存在于服务器的数据丢失,可以通过处在该存储条带的其他服务器恢复丢失的数据。应用现有的数据写入存储条带的方法时,是将连续的数据写入至不同的服务器,服务器在读取数据时性能较差。
技术实现思路
有鉴于此,本申请实施例提供了一种数据的写入方法、装置及设备,用于解决现有技术的服务器读取数据性能较差的问题。本申请实施例采用下述技术方案:本申请实施例提供一种数据的写入方法,所述方法包括:若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。本申请实施例还提供一种数据的写入装置,所述装置包括:写入单元,用于若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。本申请实施例还提供一种数据的写入设备,该设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该设备执行下述装置:写入单元,用于若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例将更多的本地服务器所需数据的数据块写入至本地服务器,提高了服务器在读取数据时的性能。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为说明书实施例一提供的数据的写入方法的流程示意图;图2为说明书实施例二提供的数据的写入方法的流程示意图;图3为说明书实施例二提供的现有技术中存储条带的数据写入方式;图4为说明书实施例二提供的本申请存储条带的数据写入方式;图5为说明书实施例三提供的数据的写入装置的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。图1为本说明书实施例一提供的一种数据的写入方法的流程示意图,该流程示意图包括:步骤S101,若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。与上述实施例一对应的,图2为本说明书实施例二提供的一种数据的写入方法的流程示意图,该流程示意图包括:步骤S201,根据业务需求生成对应属性信息的存储条带,并将所述存储条带划分成多个存储块。在本说明书实施例的步骤S201中,属性信息包括所述存储条带的类型或所述存储条带的存储空间,若是业务需求是特定类型的存储条带,则属性信息的存储条带可以是对应类型的存储条带;若业务类型是特定存储空间的存储条带,则属性信息的存储条带可以对应存储空间的存储条带,比如,业务需求是生产存储空间为3M的存储条带,或者业务需求为生产类型为4+2型的存储条带。在本说明书实施例的步骤S201中,储存块为独立的存储单元,每个存储块用于存储数据。根据业务需求对系统进行初始化,可以生产一种或多种属性信息的数据条带。以纠删码为例,根据不同的数据可靠性需求,可以在系统中生成不同的4+2和8+3等条带;根据不同的数据存储空间需求,可以在系统中生成3M或其它存储空间的存储条带。比如,4+2型的存储条带分布于6个服务器,将该存储条带划分成6个存储块,若是其中2台服务器发生故障,可以通过分布在其余4台服务器的存储块恢复写入至发生故障的服务器;存储条带的存储空间为3M,若是需要将该存储条带应用于4+2型的存储条带中,则可以确定出每个存储块的存储空间为500kb,确定出存储条带的划分位置,进而将该存储条带划分成6个存储块。步骤S202,若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。在本说明书实施例的步骤S202中,需要将存储条带放置于不同的服务器,以便服务器发生故障时可通过同一存储条带中的其他存储块恢复数据。针对步骤S202,更优的是,将所要读取文件的全部数据写入至本地服务器。需要说明的是,根据任务需求,所要读取文件的服务器可以指定为本地服务器,比如,服务器A需要读取文件a,则服务器A在读取文件a时,可以被指定为本地服务器。在现有技术中,向存储条带中写入数据时,先是写满一条存储条带后再写入其他的存储条带,由于存储条带放置于不同的服务器,使得本地服务器只能存储一部分本地服务器所需的数据,由于本地服务器需要读取该数据,读取时需要进行跨服务器的调用,由此给本地服务器的读取工作带来很大的不便,可能因此而造成网络延时等问题,针对此问题,作出详细的说明:本实施例以4+2类型的存储条带为例,对现有技术的技术方案进行说明,存储条带为了使得数据的可靠性更好,会将存储条带分布于4台服务器上,即使任意2台服务器故障数据也不会丢失,可以通过其余4台服务器进行恢本文档来自技高网...

【技术保护点】
1.一种数据的写入方法,所述方法包括:/n若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;/n若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。/n

【技术特征摘要】
1.一种数据的写入方法,所述方法包括:
若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;
若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器,其中,所述存储条带位于不同的服务器。


2.根据权利要求1所述的数据的写入方法,所述若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器前,所述方法还包括:
根据业务需求生成对应属性信息的存储条带,并将所述存储条带划分成多个存储块,其中,所述属性信息包括所述存储条带的类型与所述存储条带的存储空间。


3.根据权利要求2所述的数据的写入方法,所述将所述存储条带划分成多个存储块后,所述方法还包括:
根据预先定义的存储块的类型,对所述存储条带中的存储块标记对应的功能。


4.根据权利要求3所述的数据的写入方法,所述存储块的类型包括存储数据的数据块以及存储校验码的校验块,其中,所述校验码用于校验所述存储条带中的数据。


5.根据权利要求4所述的数据的写入方法,所述对所述存储条带中的存储块标记对应的功能,具体包括:
对所述数据块标记为可分配以及可读写;
将所述校验块标记为可分配。


6.根据权利要求4所述的数据的写入方法,所述若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器后,所述方法还包括:
根据写入的所有数据,更新所述校验块中的校验码。


7.根据权利要求1所述的数据的写入方法,所述若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储条带的存储空间个数n,写入所要读取文件中的前n个数据块的数据时,将至少两个数据块的数据写入至本地服务器前,所述方法还包括:
判断预先输入的指令是否为便于本地服务器读取所述所要读取文件的数据;
若判断出预先输入的指令为便于本地服务器读取所述所要读取文件的数据,则执行所述若所要读取文件的数据块个数m小于等于存储条带的存储空间个数n,将所要读取文件中至少两个数据块的数据写入至本地服务器;若所要读取文件的数据块个数m大于存储...

【专利技术属性】
技术研发人员:阳振坤杨苏立
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1