文件存储方法及终端设备技术

技术编号:21298617 阅读:30 留言:0更新日期:2019-06-12 07:41
本发明专利技术适用于计算机应用技术领域,提供了一种文件存储方法、终端设备及计算机可读存储介质,包括:获取待存储文件,将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据,获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。通过将待存储文件进行基于纠删码的冗余分片,得到分片数据,将分片数据发送至对应的存储节点进行存储,降低了大文件存储的占用空间,从而节省费用和存储代价。

File Storage Method and Terminal Equipment

The invention is applicable to the field of computer application technology, and provides a file storage method, terminal equipment and computer readable storage medium, including acquiring the file to be stored, dividing the file to be stored into redundant pieces based on erasure code, obtaining at least one piece of data, acquiring the operation data of each storage node in the network, and determining the storage according to the operation data. The target storage node storing the fragmented data and sending the fragmented data to the target storage node. Through redundant fragmentation of the file to be stored based on erasure code, fragmented data is obtained, and the fragmented data is sent to the corresponding storage node for storage, which reduces the occupied space of large file storage and consequently saves costs and storage costs.

【技术实现步骤摘要】
文件存储方法及终端设备
本专利技术属于计算机应用
,尤其涉及一种文件存储方法、终端设备及计算机可读存储介质。
技术介绍
随着云计算和大数据技术的快速兴起,云存储作为一种新型的存储模式应运而生,其在科学计算和商业计算等大规模数据存储领域发挥着重要的作用,并受到企业界和学术界的广泛关注。云文件系统是云存储系统的重要组成部分,为云存储系统提供底层的存储支撑,负责对数据进行有效、可靠的存储来保证数据的可用性,进一步保证存储系统的可靠性和稳定性。然而随着存储需求的不断壮大,用户需要存储的文件的占用存储空间越来越大,例如目前医疗行业中电子胶片和影像图片的文件大小过于庞大,而现有的云存储方式不能满足大文件的数据存储和共享需求,存储和处理数据的代价较大。
技术实现思路
有鉴于此,本专利技术实施例提供了一种文件存储方法、终端设备及计算机可读存储介质,以解决现有技术中不能满足大文件的数据存储和共享需求,存储和处理数据的代价较大的问题。本专利技术实施例的第一方面提供了一种文件存储方法,包括:获取待存储文件;将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据;获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。本专利技术实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待存储文件;将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据;获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。本专利技术实施例的第三方面提供了一种终端设备,包括:获取单元,用于获取待存储文件;分片单元,用于将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据;存储单元,用于获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。本专利技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。本专利技术实施例与现有技术相比存在的有益效果是:本专利技术实施例通过获取待存储文件,将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据,获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。通过将待存储文件进行基于纠删码的冗余分片,得到分片数据,将分片数据发送至对应的存储节点进行存储,降低了大文件存储的占用空间,从而节省费用和存储代价。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的文件存储方法的流程图;图2是本专利技术实施例二提供的文件存储方法的流程图;图3是本专利技术实施例三提供的终端设备的示意图;图4是本专利技术实施例四提供的终端设备的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。参见图1,图1是本专利技术实施例一提供的文件存储方法的流程图。本实施例中文件存储方法的执行主体为终端。终端包括但不限于智能手机、平板电脑、可穿戴设备等移动终端,还可以是台式电脑等。如图所示的文件存储方法可以包括以下步骤:S101:获取待存储文件。随着网格计算、物联网以及云计算等技术的快速兴起,数据正在以前所未有的速度进行增长和累积,面对如此大规模的数据,如何进行海量数据的存储和处理给存储系统带来新的挑战。在分布式存储系统发展的基础上,云存储以其低成本、高效率、良好扩展性和高可靠性等特点,迅速成为海量数据存储研究关注的热点。云存储是继云计算之后兴起的一种互联网技术,它通过虚拟化技术把实实在在存在的大量的物理存储设备连接到一起,而这些设备就好似若隐若现地存在于一团云雾中一般,它们为了实现存储服务而协同运行,最终实现向用户提供存储服务的目的。当云计算系统因需处理海量数据而具备了雄厚的存储能力之后,它就俨然已经转换成了云存储系统。用户利用云存储系统可以在任意时间的地点在云上存取数据,方便而又快捷。传统的单云存储仅仅依赖于一个云存储服务提供商,为了避免厂商锁定问题和提高可用性,多云存储的概念问世并吸引了越来越多的目光和关注。多云存储是同时使用多个云服务,用户的数据被按照一定的分布策略冗余的存储在多个云上。由于不同的云存储服务提供商都有其各自的特点和优势,所有多云存储可以利用不同的云服务基础设施来满足用户需求的多样性。多云存储不仅可以避免厂商锁定问题,还可以减少由于云存储组件失效(失效可能来自于硬件、软件、设备)引起的服务中断或数据丢失问题。所以,与传统的单云存储对比起来多云存储可以提高数据的可用性和容错性。在本方案中,可以通过数据所有者将待存储的存储文件发送至存储节点中,也可以是从数据所有者处获取需要存储的待存储文件。本实施例中的待存储文件所具有的特点是该文件的文件包较大,如果将该文件存储在一个存储节点中,则会占用该存储节点较多的存储空间,因此,本方案中将待存储文件进行分片,得到至少一个分片数据,用以将这些分片数据进行分片存储,降低存储节点存储数据的压力。S102:将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据。纠删码冗余技术具有较强的容错能力和高空间利用率等优势,通过纠删码,可以将n份原始文件块,增加m份校验块,如果要还原原始文件,只需要通过将m+n份中的任意n份数据块。纠删码包括编码和解码两个类似的过程,编码过程将原始的n份增加到n+m,全部的数据块存在不同的存储节点中,若节点中数据块丢失的份数小于m,那么还是可以通过剩余的数据块恢复出来。本实施例中,用一个四元组(n,k,m,r)来表示纠删码,其中k用于表示编码前原始数据对象分割成的数据块数,m用于表示编码后生成的编码块的数目,n用于表示编码后总的数据块数,r用于表示一个大于等于k的整数。纠删码将一个数据对象分为k个块,用集合表示为F=(F1、F2、…、Fk)。编码后,生成m个编码块,加上原始k个数据块,共产生n个数据块,用集合表示为E=(E1、E2、…、En)。其中,集合F与集合E中的数据块大小相同。在读取数据时,系统只需读取n块数据块中的任意k块就可以修复出原始数据,当系统中失效的块数不超过m块时,可以通过剩余的有效块修复失效节点。具体的,本方案中的编码使用过程为:1)将待存文件数据分为k个分片;2)将k个分片进行冗余编码,生成n(n&本文档来自技高网...

【技术保护点】
1.一种文件存储方法,其特征在于,包括:获取待存储文件;将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据;获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。

【技术特征摘要】
1.一种文件存储方法,其特征在于,包括:获取待存储文件;将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据;获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点。2.如权利要求1所述的文件存储方法,其特征在于,所述获取网络中每个存储节点的运行数据,根据所述运行数据确定用于存储所述分片数据的目标存储节点,并将所述分片数据发送至所述目标存储节点,包括:获取网络中每个所述存储节点的运行数据;根据所述运行数据计算每个所述存储节点的数据存储系数;根据每个所述存储节点的所述数据存储系数,确定每个所述分片数据所对应的目标存储节点,以及每个所述分片数据的数据标识所对应的目标存储节点的节点标识;将所述分片数据发送至所述分片数据的数据标识所对应的节点标识的目标存储节点。3.如权利要求2所述的文件存储方法,其特征在于,所述将所述分片数据发送至所述分片数据的数据标识所对应的节点标识的目标存储节点之后,还包括:获取所述目标存储节点发送的存储地址;所述存储地址用于表示所述分片数据在所述目标存储节点中存放的位置;根据所述分片数据的数据标识、所述存储节点的节点标识以及所述分片数据在所述目标存储节点中的存储地址,生成数据索引;所述数据索引用于从所述目标存储节点中提取所述分片数据。4.如权利要求2所述的文件存储方法,其特征在于,所述运行数据包括所述目标存储节点的中央处理器CPU、内存、磁盘以及网络的运行数据;所述根据所述运行数据计算每个所述存储节点的数据存储系数,包括:根据公式i∈{1,2,3,4}计算每个所述存储节点的数据存储系数;其中,A用于表示存储节点的节点标识,ωi用于表示CPU、内存、磁盘以及网络的运行数据的权重,Curri(A)用于表示存储节点的当前CPU利用率、当前内存使用量、当前磁盘读写速度、当前网络带宽;Origi(A)用于表示存储节点的最大CPU处理速率、内存容量、磁盘最大读写速度、网络最大带宽。5.如权利要求1-4任一项所述的文件存储方法,其特征在于,所述将所述待存储文件进行基于纠删码的冗余分片,得到至少一个分片数据之后,包括:根据预设的加密方式对所述分片数据进行加密,得到加密的分片数据;获取网...

【专利技术属性】
技术研发人员:雷琼郑映锋
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1