一种自适应存储文件的方法和装置与流程

文档序号:11155154阅读:521来源:国知局
本发明涉及存储领域,并且更具体地,涉及一种自适应存储文件的方法和装置。
背景技术
:在分布式文件系统中,为了减小存储开销,可以采用纠删码(ErasureCode,EC)技术对数据进行编解码代替多副本复制的方案,每种EC技术都有各自的优点,有的可靠性高,有的恢复成本低,有的存储开销低。例如,点积编解码(ProductCode,PC)算法采用了水平和垂直两个方向的编码方式,只进行XOR运算,得到高的编解码速度和低恢复成本,但存储开销高,本地重建编解码(LocallyReconstructionCode,LRC)算法的存储开销低,但是多节点失效时的恢复成本高。因此现有EC技术的综合性能还有待提升。技术实现要素:本发明实施例提供一种自适应存储文件的方法和装置,能够提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。第一方面,提供了一种自适应存储文件的方法,该方法包括:确定该文件的冷热度属性,该文件的冷热度属性表征该文件被访问的频率;根据该文件的冷热度属性,对该文件执行编码存储或转码存储处理。该方法自适应使用多种EC技术,同时降低了存储开销和恢复成本,整体上兼顾了各方面的性能。结合第一方面,在第一方面的第一种实现方式中,该确定文件的冷热度属性,包括:根据该文件的访问频率和/或该文件的平均访问时间间隔,确定该文件的冷热度属性;在该文件的访问频率大于第一频率阈值,或该文件的平均访问时间间隔小于第一时间间隔时,确定该文件的冷热度属性为热;或在该文件的访问频率不大于第一频率阈值,或该文件的平均访问时间间隔不小于第一时间间隔时,确定该文件的冷热度属性为冷。结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,该根据该文件的冷热度属性,对该文件执行编码存储或转码存储处理,包括:当确定该文件的冷热度属性为热时,采用第一编解码算法对该文件进行编码存储处理;或当确定该文件的冷热度属性为冷时,采用第二编解码算法对该文件进行编码存储处理;其中,该第一编解码算法的恢复成本低于恢复成本阈值,该第二编解码算法的存储开销低于存储开销阈值。结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,该根据该文件的冷热度属性,对该文件执行编解码或转码存储处理,包括:根据该文件的冷热度属性的变化,对该文件执行转码存储处理。结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,根据该文件的冷热度属性的变化,对该文件执行转码存储处理,包括:当确定该文件的冷热度属性由冷转变为热时,对该文件执行从第一源编解码算法到第一目标编解码算法的转码存储处理;或当确定该文件的冷热度属性由热转变为冷时,对该文件执行从第二源编解码算法到第二目标编解码算法的转码存储处理;其中,该第一目标编解码算法的恢复成本低于恢复成本阈值,该第一源编解码算法的恢复成本不低于该恢复成本阈值,该第二目标编解码算法的存储开销低于存储开销阈值,该第二源编解码算法的存储开销不低于存储开销阈值。在该实现方式中,当数据的冷热属性发生变化时,采用了高效的增量转码方式,不对原始数据重新编码,提升了性能。结合第一方面及其上述实现方式,在第一方面的第五种实现方式中,该对该文件执行从第一源编解码算法到第一目标编解码算法的转码存储处理,包括:将第一源校验码减去第一差值校验码后得到的结果确定为第一目的校验码;其中,该文件包括N个数据块,该第一源校验码是基于第一编码函数对该N个数据块编码产生的,该第一目的校验码是基于该第一编码函数对该N个数据块中的M个数据块编码产生的,该第一差值校验码是基于该第一编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第一编码函数为基于该第一源编解码算法的编码函数,该N,M为正整数,N>M。在该实现方式中,数据变热时,把之前冷数据EC技术编码产生的校验码转换为热数据EC技术的校验码,无需对原始数据重新编码,而是采用增量编码的方式,能高效地完成转码,避免产生过多的性能损耗。结合第一方面及其上述实现方式,在第一方面的第六种实现方式中,该 对该文件执行从第二源编解码算法到第二目标编解码算法的转码存储处理,包括:将第二源校验码加上第二差值校验码后得到的结果确定为第二目的校验码;其中,该文件包括N个数据块,该第二源校验码是基于第二编码函数对该N个数据块中的M个数据块编码产生的,该第二目的校验码是基于该第二编码函数对该N个数据块编码产生的,该第二差值校验码是基于该第二编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第二编码函数为基于该第二源编解码算法的编码函数,该N,M为正整数,N>M。在该实现方式中,数据变冷时,把之前热数据EC技术编码产生的校验码转换为冷数据EC技术的校验码,无需对原始数据重新编码,而是采用增量编码的方式,能高效地完成转码,避免产生过多的性能损耗。结合第一方面及其上述实现方式,在第一方面的第七种实现方式中,在该确定文件的冷热度属性之前,该方法还包括:判断该文件的存储时间达到第一时间阈值且该文件的访问次数小于第一次数阈值。第二方面,提供了一种自适应存储文件的装置,该装置包括执行第一方面中的方法的各模块。第三方面,提供了一种自适应存储文件的装置,该装置包括存储器和与该存储器连接的处理器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,当该处理器执行该存储器中存储的指令时,该处理器具体用于执行第一方面中的方法,第一方面中的方法的步骤可以直接由该处理器执行完成,也可以由处理器中的硬件及软件模块组合执行完成,该软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中,该存储介质位于存储器中。基于上述技术方案,因此,根据本发明实施例的自适应存储文件的方法和装置,能够根据文件的冷热度属性对文件采用相应的编解码技术进行存储处理,因此能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,因此,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的 前提下,还可以根据这些附图获得其他的附图。图1是根据本发明实施例的分布式文件存储系统的示意性框图。图2是根据本发明实施例的自适应编码装置原理图。图3是根据本发明实施例的自适应存储文件的方法的示意性流程图。图4是根据本发明实施例的转码存储文件的方法的示意图。图5是根据本发明实施例的自适应存储文件的装置的示意性框图。图6是根据本发明另一实施例的自适应存储文件的装置的示意性框图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明的技术方案,可以应用于分布式文件存储系统中,例如Handoop分布式文件系统(HandoopDistributedFileSystem,HDFS)系统、网络文件系统(NetworkFileSystem,NFS)系统等。在介绍本发明实施例的自适应存储文件的方法之前,首先介绍分布式文件存储系统的物理结构,图1示出了分布式文件存储系统的物理结构,如图1所示,该分布式文件存储系统通常包括一个命名节点(NameNode)和多个数据节点(DataNode)的集群,数据节点的数量不限,数据节点被划分到多个机架,同一个机架下的数据节点通过交换机互联,机架间也通过交换机互联,其中,命名节点管理着整个集群的元数据,数据节点负责文件数据在本地的持久化存储。EC(ErasureCode,纠删码)是一类对数据进行编码产生冗余数据以保障数据可靠性的技术。它将数据切分成多个数据块,分散到各个DataNode,同时,编码得到的校验码也存放不同的位置,例如磁盘、节点或者其它地理位置,提供可靠性或容灾能力。例如当Node4的一个文件块丢失时,需要从其它5个节点读取数据回传到Node4进行解码,才能还原出数据,恢复成本较高。典型的HDFS中使用了RS(10,4),即10份文件块,4份校验码,这种情况下,网络中需要传输10份数据才能进行数据恢复,恢复成本为10x。EC有多种具体技术实现,如:RS(Reed-Solomon)Code,CRS (CauchyReed-Solomon)Code,LRC(LocalReconstructionCodes),HitchHiker等等。如图2所示,本发明实施例的分布式文件存储系统还可以包括冷热感应装置和自适应编码装置。冷热感应装置主要用于管理维护数据的冷热程度,在一个实施例中,可以采用warm队列(按LRU规则淘汰)和hot队列(按FIFO规则淘汰)来管理维护较热的数据,只有当文件访问次数达到预设的阀值(例如5次)才触发队列元素的迁移,避免队列频繁迁移。而不在warm队列和hot队列中的数据则视为冷数据。在另一个实施例中,也可以用一个单独的cold队列来维护管理冷数据,例如,当文件访问次数低于某预设的阈值时,将该数据加入cold队列。调度器主要用于编解码任务的调度,例如基于客户端的请求,调度文件或文件块进行编码。自适应模块和EC模块根据冷热感应装置输出的结果,对不同冷热度的数据采用不同EC技术进行编解码,对于较热的数据采用恢复成本较低的EC编码技术,以快速恢复数据;对于较冷的数据,采用存储开销较低的EC技术,如RSCode。例如,对于在hot和/或warm队列中的数据,采用恢复成本较低的EC编码技术,对于不在warm和hot两队列里面的数据,较冷的数据采用RSCode技术,该技术存储开销低。可以理解的是,自适应模块和EC模块也可以合成为一个模块,以实现根据数据冷热程度自适应EC编码的功能。进一步地,如图2所示,数据变冷或变热时对校验码节点的编码结果进行冷转码或热转码,采用增量编码的方式进行转码,而且只有一半校验码才需要转码,避免全部重新编码产生的性能问题。关于冷转码和热转码的具体实现细节请参见图4及相关的实施例。在一个实施例中,该冷热感应装置和自适应编码装置可以集成在自适应存储文件的装置中,该自适应存储文件的装置可以集成于命名节点中,也可以为该分布式文件存储系统中独立的装置,本发明实施例对此不作限制。可以理解的是,该自适应存储文件的装置可以可由软件、硬件和/或固件的适当组合执行。本发明后续的实施例对其部分实现方式做了介绍。图3示出了根据本发明实施例的自适应存储文件的方法1000的示意性流程图,该方法1000可以由上述自适应存储文件的装置执行,该方法1000 包括:S1100,确定该文件的冷热度属性,该文件的冷热度属性表征该文件被访问的频率;S1200,根据该文件的冷热度属性,对该文件执行编码存储或转码存储处理。具体而言,该自适应存储文件的装置可以用于确定当前文件的冷热度属性,该文件的冷热度属性表征该文件被访问的频率。可选地,该自适应存储文件的装置可以根据文件的访问频率来确定该文件的冷热度属性,例如,当该文件的访问频率大于10次每周时,可以确定该文件的冷热度属性为热;该自适应存储文件的装置还可以根据文件的平均访问时间间隔来确定该文件的冷热度属性,例如,在一段时间内,例如1个月或2个月内,如果该文件连续两次访问的平均访问时间间隔小于16.8小时,该自适应存储文件的装置可以确定该文件的冷热度属性为热。在该自适应存储文件的装置确定该文件的冷热度属性后,该自适应存储文件的装置可以根据该文件的冷热度属性,对该文件执行编码存储或转码存储。可选地,当该文件当前的冷热度属性为热时,该自适应存储文件的装置可以采用恢复成本低的编解码技术对该文件进行存储处理,例如,可以采用PC(2x5)技术或奇偶编解码(EvenOddCode)技术等;当该文件当前的冷热度属性为冷时,可选地,该自适应存储文件的装置可以采用存储开销低的编解码技术对该文件进行存储处理,例如,采用PC(6x5)编解码技术、水平垂直编解码(HoVerCode)或LRC技术等。可选地,如果确定该文件的冷热度属性由冷转变为热时,该自适应存储文件的装置还可以将该文件当前采用的编解码技术转换为采用恢复成本更低的编解码技术进行存储;如果确定该文件的冷热度属性由热转变为冷时,该自适应存储文件的装置还可以将该文件当前的采用的编解码技术转换为采用存储开销更低的编解码技术进行存储。因此,根据本发明实施例的自适应存储文件的方法,能够根据文件的冷热度属性对文件采用相应的编解码技术进行存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的方法,能同时兼顾存储开销、恢复成本、可靠性和编解码速度多个维度的性能。应理解,在本发明实施例中,编码存储可以指采用一种编解码算法对文 件进行存储处理,在分布式文件存储系统中,该文件分为几个文件块数据分别存储在多个数据节点上,对该文件进行编码存储处理可以指将该文件包括的几个文件块数据进行线性迭代运算,得到该文件的校验码,然后将该文件的校验码存储到新的数据节点,也就是文件块数据与校验码数据不会存放在同一个节点;转码存储指的是将存储该文件当前采用的编解码算法转换为另一种编解码算法,也可以理解为将存储该文件采用的一种编解码算法的校验码转换为另一种编解码算法的校验码,例如,当前存储该文件采用的编解码算法是A算法,对应的校验码为A校验码,对该文件进行转码存储可以将存储该文件采用的A算法转换为B算法,可以将该文件采用B算法重新编码以生成B算法对应的B校验码,可选地,还可以将A算法对应的A校验码转换为B算法对应的B校验码。可选地,在本发明实施例中,确定该文件的冷热度属性,包括:根据该文件的访问频率和/或该文件的平均访问时间间隔,确定该文件的冷热度属性;在该文件的访问频率大于第一频率阈值,或该文件的平均访问时间间隔小于第一时间间隔时,确定该文件的冷热度属性为热;或在该文件的访问频率不大于第一频率阈值,或该文件的平均访问时间间隔不小于第一时间间隔时,确定该文件的冷热度属性为冷。具体而言,该自适应存储文件的装置可以用于确定该文件的冷热度属性,该自适应存储文件的装置可以根据该文件的访问频率和/或该文件的平均访问时间间隔来确定文件的冷热度属性。可选地,该自适应存储文件的装置可以周期性的检测该文件的状态,例如,该自适应存储文件的装置可以1周检测1次该文件的状态,记录在这1周内该文件的访问次数和/或该文件最近两次的访问时间间隔。可选地,该自适应存储文件的装置可以从该文件存储到该分布式文件系统开始执行周期性的检测该文件的状态的操作,例如,如果该文件的存储时间为8周时,该自适应存储文件的装置检测文件的状态的检测周期为1周,那么在8周的存储周期内,该自适应存储文件的装置检测该文件的状态共8次,记录了8组该文件的访问数据。可选地,该自适应存储文件的装置可以根据记录的8组访问数据中的每周访问次数的数据确定该文件的访问频率。同样地,该自适应存储文件的装置可以根据记录的8组访问数据中的该文件的最近两次的访问时间间隔确定该文件的平均访问时间间 隔。可选地,该自适应存储文件的装置还可以根据固定的一段时间(例如,1个月或2个月等)的该文件的访问次数或最近两次的访问时间间隔的数据,确定该文件的访问频率或平均访问时间间隔。可选地,在该文件的访问频率大于第一频率阈值,或该文件的平均访问时间间隔小于第一时间间隔时,确定该文件的冷热度属性为热;或在该文件的访问频率不大于第一频率阈值,或该文件的平均访问时间间隔不小于第一时间间隔时,确定该文件的冷热度属性为冷。例如,如果该第一频率阈值为10次/周,那么该文件的访问频率大于10次/周时,可以确定该文件的冷热度属性为热,否则,该文件的冷热度属性为冷;或者,如果第一时间间隔为0.7天/次,那么该文件的平均访问时间间隔小于0.7天/次时,可以确定该文件的冷热度属性为热,否则,该文件的冷热度属性为冷。应理解,该第一频率阈值和该第一时间间隔不是唯一确定的,该第一频率阈值和该第一时间间隔可以根据该分布式文件存储系统的访问量和/该系统的存储容量确定,可选地,在该分布式文件系统的访问量较大时,该第一频率阈值可以设置的相对较大些,在该系统的存储容量较大时,也可以将该第一频率阈值设置得相对较大些,该第一频率阈值和该第一时间间隔也可以根据其他因素来确定,例如,该文件的类型等,本发明实施例不作限制。应理解,本发明实施例以该第一频率阈值为10次/周,第一时间间隔为0.7天/次为例进行说明仅仅是为了示例,而不应对本发明实施例构成任何限制,本发明实施例该第一频率阈值还可以为8次/周,该第一时间间隔为1天/次等。可选地,在本发明实施例中,根据该文件的冷热度属性,对该文件执行编解码或转码存储,包括:当确定该文件的冷热度属性为热时,采用第一编解码算法对该文件进行编码存储处理;或当确定该文件的冷热度属性为冷时,采用第二编解码算法对该文件进行编码存储处理;其中,该第一编解码算法的恢复成本低于恢复成本阈值,该第二编解码算法的存储开销低于存储开销阈值。具体而言,在本发明实施例中,该文件的原始存储方式可以为多副本存储方式,采用多副本存储方式的存储开销比较大,例如,如果该文件的原始 存储方式为3副本存储方式,那么该文件的存储开销为该文件大小的3倍。此时,可以将该文件转换为采用EC编解码技术进行存储,EC编解码技术相对于多副本技术的可靠性更高,而且编解码速度更快。可选地,该自适应存储文件的装置可以根据文件的冷热度属性,选择采用恢复成本低的EC编解码技术还是采用存储开销低的编解码技术。在自适应存储文件的装置对该文件采用EC编解码技术进行存储之前,可选地,该自适应存储文件的装置首先确定该文件的冷热度属性,该自适应存储文件的装置可以根据该文件的访问频率和/或该文件的平均访问时间间隔来确定该文件的冷热度属性,然后该自适应存储文件的装置可以根据文件的冷热度属性,采取相应的EC编解码技术进行存储,可选地,在该自适应存储文件的装置确定该文件的冷热度属性为热时,该自适应存储文件的装置使用第一编解码算法对该文件进行存储,当该自适应存储文件的装置确定该文件的冷热度属性为冷时,该自适应存储文件的装置使用第二编解码算法对该文件进行存储;其中,该第一编解码算法的恢复成本低于恢复成本阈值,该第二编解码算法的存储开销低于存储开销阈值。例如,该第一编解码算法可以为PC(2x5)技术、EvenOddCode技术等,该第二编解码算法可以为PC(6x5)技术、LRC技术等。在该自适应存储文件的装置根据该文件的冷热度属性对文件采用相应的EC编解码技术进行存储处理后,删除采用多副本方式存储的数据,这样就释放了采用多副本方式存储数据占用的空间,从而节省了存储开销。应理解,该恢复成本阈值和该存储开销阈值可以是系统设置的,也可以是用户根据当前根据需求设置的,本发明实施例对此不作限制。因此,根据本发明实施例的自适应存储文件的方法,能够根据文件的冷热度属性对文件采用相应的编解码技术进行存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的方法,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。可选地,在本发明实施例中,在确定该文件的冷热度属性之前,该方法1000还包括:判断该文件的存储时间达到第一时间阈值且该文件的访问次数小于第一次数阈值。具体而言,当该文件的原始存储方式为多副本存储方式时,可选地,在 确定该文件的冷热度属性之前,先判断该文件的存储时间达到第一时间阈值且该文件的访问次数小于第一时间阈值,也就是在这段存储时间内该文件没有经常被访问,如果一个不经常被访问的文件在文件系统中采用多副本方式存储,会浪费大量的存储空间,因此将该文件转换为采用编解码技术进行存储会减少对存储空间的占用。在将该文件转换为采用编解码技术之前,可以首先确定该文件的冷热度属性,然后根据该文件的冷热度属性确定选择采用恢复成本低的编解码技术还是采用存储开销低的编解码技术。可选地,在本发明实施例中,根据该文件的冷热度属性对该文件执行编解码或转码存储,包括:根据该文件的冷热度属性的变化,对该文件执行转码存储。换句话说,该自适应存储文件的装置可以根据该文件的冷热度属性的变化,确定对该文件执行转码存储,可选地,在该文件的冷热度属性由冷转变为热或由热转变为冷时,该自适应存储文件的装置可以对存储该文件采用的编解码算法执行从一种编解码算法到另一种编解码算法的转换。可选地,在本发明实施例中,根据该文件的冷热度的变化,对该文件执行转码存储,包括:当确定该文件的冷热度属性由冷转变为热时,对该文件执行从第一源编解码算法到第一目标编解码算法的转码存储处理;或当确定该文件的冷热度属性由热转变为冷时,对该文件执行从第二源编解码算法到第二目标编解码算法的转码存储处理;其中,该第一目标编解码算法的恢复成本低于恢复成本阈值,该第一源编解码算法的恢复成本不低于该恢复成本阈值,该第二目标编解码算法的存储开销低于存储开销阈值,该第二源编解码算法的存储开销不低于存储开销阈值。具体而言,在本发明实施例中,存储该文件采用的存储技术为一种EC编解码技术,因为采用一种EC编解码技术不能同时兼顾多个维度的性能,而且不同冷热度属性的文件对恢复成本或存储开销等性能的要求不同。可选地,当该自适应存储文件的装置确定文件的冷热度属性发生变化,例如,该自适应存储文件的装置确定该文件的冷热度属性由冷转变为热或该文件的冷热度属性由热转变为冷,这种情况下,也可以理解为该文件对采用的编解码技术的性能的要求发生改变。当文件的冷热度属性由冷变热时,该文件对 采用的编解码技术的恢复成本的要求变高,对存储开销的要求变低,当文件的冷热度属性由热变冷时,该文件对采用的编解码技术的存储开销的要求变高,对恢复成本的要求变高。可选地,当文件的冷热度属性发生变化时,该自适应存储文件的装置根据该文件的冷热度属性,将该文件进行转码存储,也就是该自适应存储文件的装置根据该文件的冷热度属性的变化,将存储该文件当前采用的EC编解码技术转化为与文件当前的冷热度属性需求匹配的EC编解码技术。可选地,当该自适应存储文件的装置确定该文件的冷热度属性是由冷变热时,该自适应存储文件的装置对该文件执行从第一源编解码算法到第一目标编解码算法的转码存储,其中,该第一目标编解码算法的恢复成本低于恢复成本阈值,该第一源编解码算法的恢复成本不低于该恢复成本阈值,由于存储冷热度属性为热的文件相对于存储冷热度属性为冷的文件对于恢复成本的要求更高,也就是存储冷热度属性为热的文件要求的恢复成本低于存储冷热度属性为冷的文件要求的恢复成本。所以当文件的冷热度属性发生变化时,需要根据文件的冷热度属性的变化,对存储文件采用的EC编解码技术做出相应的调整。换句话说,当文件的冷热度属性由冷转变为热时,之前存储该文件采用的EC编解码方式的恢复成本方面的性能可能不能满足当前冷热度属性的需求,那么如果仍然采用以前的恢复成本较高的EC编解码技术进行存储,会增加该文件的总的恢复成本,可选地,当文件的冷热度属性由冷变热时,将之前采用的恢复成本较高的编解码技术转换为恢复成本相对较低的编解码技术,例如,可以将采用里德所罗门(ReedSolomon,RS)Code编解码技术转换为采用混合里德所罗门(Mix-ReedSolomon,Mix-RS)Code编解码技术,其中,该Mix-RSCode的恢复成本低于RSCode的恢复成本。同样地,当文件的冷热度属性由热转变为冷时,该自适应存储文件的装置对该文件执行从第二源编解码算法到第二目标编解码算法的转码存储,其中,该第二目标编解码算法的存储开销低于存储开销阈值,该第二源编解码算法的存储开销不低于存储开销阈值,由于存储冷热度属性为冷的文件相对于存储冷热度属性为热的文件对于存储开销的要求更高,也就是存储冷热度属性为冷的文件要求的存储开销低于存储冷热度为热的文件要求的存储开销。所以当文件的冷热度属性发生变化时,需要根据文件的冷热度属性,对存储文件采用的EC编解码技术做出相应的调整。可选地,当文件的冷热度属性由热转变为冷时,将之前采用的存储开销较高的编解码技术 转换为存储开销相对较低的编解码技术,例如,可以将存储该文件采用的编解码技术由Mix-RSCode编解码技术转换为RSCode编解码技术,其中,该RSCode的存储开销低于Mix-RSCode的存储开销。可选地,该自适应存储文件的装置可以对该文件的原始数据重新编码来产生新的编解码技术下的校验码,该自适应存储文件的装置也可以采用增量方式产生新的编解码技术下的校验码,例如,将采用第一源编解码算法的校验码转换为采用第一目标编解码算法的校验码。该自适应存储文件的装置采用增量方式进行转码,避免了对该文件的原始数据进行重新编码产生的性能损耗。因此,根据本发明实施例的自适应存储文件的方法,能够根据文件的冷热度属性对文件采用相应的编解码技术进行转码存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的方法,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。可选地,在本发明实施例中,对该文件执行从第一源编解码算法到第一目标编解码算法的转码存储处理,包括:将第一源校验码减去第一差值校验码后得到的结果确定为第一目的校验码;其中,该文件包括N个数据块,该第一源校验码是基于第一编码函数对该N个数据块编码产生的,该第一目的校验码是基于该第一编码函数对该N个数据块中的M个数据块编码产生的,该第一差值校验码是基于该第一编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第一编码函数为基于该第一源编解码算法的编码函数,该N,M为正整数,N>M。具体而言,在该文件的冷热度属性由冷转变为热时,可以对该文件执行从第一源编解码算法到第一目的编解码算法的转码,也就是说可以将该第一源编解码算法的校验码转变为第一目标编解码算法的校验码。可选地,此时,可以采用增量转码方式将该第一源编解码算法的校验码转变为第一目标编解码算法的校验码。例如,该文件包括N个数据块,该第一源校验码为该第一编解码算法下基于第一编码函数对该N个数据块编码产生的,将该第一源校验码转换为第一目标校验码,不需要对该N个数据块进行重新编码,只需从该第一源校验码中获取第一差值校验码,如果该第一目标校验码为对该N 个数据块中的M个数据块编码产生的,从该第一源校验码中获取对该N个数据块中的除该M个数据块以外的数据块进行编码对应的校验码,将该校验码作为第一差值校验码,然后将该第一源校验码减去该第一差值校验码后得到的结果确定为第一目标校验码即可。对该文件执行从第二源编解码算法到第二目标编解码算法的转码存储处理,包括:将第二源校验码加上第二差值校验码后得到的结果确定为第二目的校验码;其中,该文件包括N个数据块,该第二源校验码是基于第二编码函数对该N个数据块中的M个数据块编码产生的,该第二目的校验码是基于该第二编码函数对该N个数据块编码产生的,该第二差值校验码是基于该第二编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第二编码函数为基于该第二源编解码算法的编码函数,该N,M为正整数,N>M。具体而言,在该文件的冷热度属性由热转变为冷时,可以对该文件执行从第二源编解码算法到第二目的编解码算法的转码,也就是说可以将该第二源编解码算法的校验码转变为第二目标编解码算法的校验码。可选地,此时,可以采用增量转码方式将该第二源编解码算法的校验码转变为第二目标编解码算法的校验码。例如,该文件包括N个数据块,该第二源校验码为该第二编解码算法下基于第二编码函数对该N个数据块中的M个数据块编码产生的,将该第二源校验码转换为第二目标校验码,不需要对该N个数据块进行重新编码,只需从该第二源校验码中获取第二差值校验码,如果该第二目标校验码为对该N个数据块编码产生的,从该第二源校验码中获取对该N个数据块中的除该M个数据块以外的数据块进行编码对应的校验码,将该校验码作为第二差值校验码,然后将该第二源校验码加上该第二差值校验码后得到的结果确定为第二目标校验码即可。下面结合图4介绍如何采用增量转码方式进行两种编解码技术之间的转码,应理解,在本发明实施例中,以Mix-RSCode技术与RSCode技术的校验码之间的相互转换为例进行说明仅仅是为了示例,而不应对本发明实施例构成任何限定,本发明实施例的采用增量方式进行转码的方法也可以适用于从PC(6x5)与PC(2x5)的校验码之间的相互转换等。在图4中,例如,该文件包括10个数据块(a1~a10),分别存储在10个数据节点(数据节点1~数据节点10),如果该文件采用RSCode技术存储,可选地,采用RSCode技术进行编解码的校验码可以包括4块(f1(a1,a2,…,a10)、f2(a1,a2,…,a10)、f3(a1,a2,…,a10)和f4(a1,a2,…,a10)),分别位于4个数据节点(数据节点11~数据节点14),校验码f1(a1,a2,…,a10)是由该文件的a1~a10通过f1编码函数编码产生,校验码f2(a1,a2,…,a10)是由该文件的a1~a10通过f2编码函数编码产生,校验码f3(a1,a2,…,a10)是由该文件的a1~a10通过f3编码函数编码产生,校验码f4(a1,a2,…,a10)是由该文件的a1~a10通过f4编码函数编码产生。可选地,当文件的冷热度属性由冷转变为热时,可以采用增量转码方式将采用RSCode技术的校验码转换为采用Mix-RSCode技术的校验码,也就是需要对该文件的校验码执行热转码,采用Mix-RSCode技术的校验码也可以包括4块(f1(a1,a2,a3,a4)、f2(a3,a4,a5,a6)、f3(a5,a6,a7,a8)和f4(a7,a8,a9,a10)),分别位于4个数据节点(数据节点11~数据节点14),校验码f1(a1,a2,a3,a4)是可以该文件的a1~a4部分数据通过f1编码函数编码产生,可选地,该f1(a1,a2,a3,a4)可以由RSCode中相应部分的校验码即f1(a1,a2,…,a10)减去使用同一个编码函数f1对剩余6个数据节点(a5~a10)进行编码的编码结果得到,其他部分的校验码也可以采用同样的方法得到,也就是采用Mix-RSCode技术的校验码可以根据以下关系得到:f1(a1,a2,a3,a4)=f1(a1,a2,…,a10)-f1(a5,a6,…,a10)f2(a1,a2,a3,a4)=f2(a1,a2,…,a10)-f2(a5,a6,…,a10)f3(a1,a2,a3,a4)=f3(a1,a2,…,a10)-f3(a5,a6,…,a10)f4(a1,a2,a3,a4)=f4(a1,a2,…,a10)-f4(a5,a6,…,a10)这样就无需再从文件的每个数据节点读取相应的数据块,然后对该数据块进行重新编码来产生相应的校验码,而只需从现有的文件的校验码中获取对应数据块的校验码,然后做差即可得到需要的校验码。例如,要想获取f1(a1,a2,a3,a4),因为f1(a1,a2,…,a10)已知,先从f1(a1,a2,…,a10)中获取f1(a5,a6,…,a10),然后将该f1(a1,a2,…,a10)减去f1(a5,a6,…,a10)即可得到f1(a1,a2,a3,a4)。同样地,当文件的冷热度属性由热转变为冷时,可以采用增量转码方式将采用Mix-RSCode技术的校验码转换为采用RSCode技术的校验码,也就是需要对该文件的校验码执行冷转码,可选地,采用RSCode技术的校验码可以由Mix-RSCode技术的校验码加上使用同一个编码函数对剩余6个数据 节点进行编码的编码结果得到,也就是RSCode的校验码可以根据以下关系得到:f1(a1,a2,…,a10)=f1(a1,a2,a3,a4)+f1(a5,a6,…,a10)f2(a1,a2,…,a10)=f2(a1,a2,a3,a4)+f2(a5,a6,…,a10)f3(a1,a2,…,a10)=f3(a1,a2,a3,a4)+f3(a5,a6,…,a10)f4(a1,a2,…,a10)=f4(a1,a2,a3,a4)+f4(a5,a6,…,a10)因此,采用增量转码方式对该文件的校验码进行转码,避免了对该原始数据重新编码产生的系统消耗。应理解,本发明实施例仅以该文件存储在10个数据节点,该文件的校验码存储在4个数据节点为例进行介绍,而不应对本发明实施例造成任何限定,本发明实施例也不限于此,本发明实施例中,该文件还可以存储在15个数据节点,该文件的校验码可以存储6个数据节点等,本发明实施例对此不作限制,还应理解,本发明实施例中仅以利用该文件的4个数据块或10个数据块进行编码产生校验码为例进行介绍,而不应对本发明实施例造成任何限定,本发明实施例还可以利用该文件的6个数据块或8个数据块进行编码来产生相应的校验码等。表1示出了本发明实施例的自适应存储文件的方法相对于现有的几种分布式文件系统:(脸书(Facebook)的HDFS系统、微软云(WindowAzure)系统以及谷歌(Google)的巨人(Colossus)文件系统(FileSystem,FS)在存储开销、恢复成本和可靠性性能方面的提升比例。表1存储开销恢复成本可靠性FacebookHDFS系统6.7%64%0.0%WindowAzure系统-0.4%40%25%GoogleColossusFS系统0%40%25%从上述数据可以看出,本发明实施例的自适应存储文件的方法,能够提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。因此,根据本发明实施例的自适应存储文件的方法,能够根据文件的冷热度属性对文件采用相应的编解码技术进行转码存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠 性高,编解码速度快,因此,本发明实施例的自适应存储文件的方法,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。上文结合图3和图4对根据本发明实施例的自适应存储文件的方法进行了详细的介绍,下面结合图5对根据本发明实施例的自适应存储文件的装置进行介绍。图5示出了根据本发明实施例的自适应存储文件的装置200的示意性框图。如图5所示,该自适应存储文件的装置200包括:确定模块210,用于确定文件的冷热度属性,该文件的冷热度属性表征该文件被访问的频率;执行模块220,用于根据该确定模块210确定的该文件的冷热度属性,对该文件执行编码存储或转码存储处理。具体而言,确定模块210确定文件的冷热度属性,可选地,该确定模块210可以根据文件的访问频率来确定该文件的冷热度属性,例如,当该文件的访问频率大于10次每周时,可以确定该文件的冷热度属性为热;该确定模块210还可以根据文件的平均访问时间间隔来确定该文件的冷热度属性,例如,如果该文件连续两次访问的平均访问时间间隔小于16.8小时,该确定模块210可以确定该文件的冷热度属性为热。当确定模块210确定该文件的冷热度属性为冷或热时,该执行模块220可以根据该文件的冷热度属性,对该文件执行编码存储或转码存储处理。因此,根据本发明实施例的自适应存储文件的装置,能够根据文件的冷热度属性对文件采用相应的编解码技术进行存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的装置,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。可选地,在本发明实施例中,该确定模块210具体用于:根据该文件的访问频率和/或该文件的平均访问时间间隔,确定该文件的冷热度属性;在该文件的访问频率大于第一频率阈值,或该文件的平均访问时间间隔小于第一时间间隔时,确定该文件的冷热度属性为热;或在该文件的访问频率不大于第一频率阈值,或该文件的平均访问时间间隔不小于第一时间间隔时,确定该文件的冷热度属性为冷。具体而言,该确定模块210与图2中冷热感应装置的功能等同,可以由软件程序实现,例如,该软件程序可以放在一个进程中实现,也可以由硬件芯片上的软件模块来实现,或者由硬件和软件模块的组合来实现等。在该分布式文件存储系统中,用于确定该系统中存储的文件的冷热度属性的确定模块可以为一个,也可以为多个,当该确定模块为一个时,也就是该确定模块用于确定该分布式文件存储系统中所有文件的冷热度属性,此时,可选地,该确定模块可以集成到命名节点上,也可以为该分布式文件存储系统中独立存在的模块,本发明实施例对此不作限制;当该确定模块为多个时,可选地,可以在每个机架上部署一个该确定模块,也可以每个数据节点部署一个确定模块等,本发明实施例对此不作限制。可选地,在本发明实施例中,该执行模块220具体用于:当该确定模块210确定该文件的冷热度属性为热时,采用第一编解码算法对该文件进行编码存储;或当该确定模块210确定该文件的冷热度属性为冷时,采用第二编解码算法对该文件进行编码存储;其中,该第一编解码算法的恢复成本低于恢复成本阈值,该第二编解码算法的存储开销低于存储开销阈值。可选地,在本发明实施例中,该装置200还可以包括:判断模块,用于判断该文件的存储时间达到第一时间阈值且该文件的访问次数小于第一次数阈值。该判断模块可以集成到确定模块210中。可选地,在本发明实施例中,该执行模块220具体用于:当该确定模块210确定该文件的冷热度属性由冷转变为热时,执行对该文件从第一源编解码算法到第一目标编解码算法的转码存储处理;或当该确定模块210确定该文件的冷热度属性由热转变为冷时,执行对该文件从第二源编解码算法到第二目标编解码算法的转码存储处理;其中,该第一目标编解码算法的恢复成本低于恢复成本阈值,该第一源编解码算法的恢复成本不低于该恢复成本阈值,该第二目标编解码算法的存储开销低于存储开销阈值,该第二源编解码算法的存储开销不低于存储开销阈值。可选地,在本发明实施例中,该执行模块220还用于:将第一源校验码减去第一差值校验码后得到的结果确定为第一目的校 验码;其中,该文件包括N个数据块,该第一源校验码是基于第一编码函数对该N个数据块编码产生的,该第一目的校验码是基于该第一编码函数对该N个数据块中的M个数据块编码产生的,该第一差值校验码是基于该第一编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第一编码函数为基于该第一源编解码算法的编码函数,该N,M为正整数,N>M。可选地,在本发明实施例中,该执行模块还用于:将第二源校验码加上第二差值校验码后得到的结果确定为第二目的校验码;其中,该文件包括N个数据块,该第二源校验码是基于第二编码函数对该N个数据块中的M个数据块编码产生的,该第二目的校验码是基于该第二编码函数对该N个数据块编码产生的,该第二差值校验码是基于该第二编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第二编码函数为基于该第二源编解码算法的编码函数,该N,M为正整数,N>M。应理解,该执行模块210的功能与图2中自适应模块和EC模块的功能等同,其可以由软件程序实现,例如,可以将该软件程序可以放在一个进程中实现,也可以由硬件芯片上的软件模块来实现,或者由硬件和软件模块的组合来实现等。在该分布式文件存储系统中,该执行模块可以为一个,也可以为多个,当该执行模块为一个时,该执行模块可以集成在命名节点中,或者为该分布式文件存储系统中独立存在的模块,本发明实施例对此不作限制;当该执行模块为多个时,该执行模块可以集成在每个数据节点上,也可以在该每个数据节点外为该每个数据节点单独部署的一个独立的模块等,本发明实施例对此不作限制。因此,根据本发明实施例的自适应存储文件的装置,能够根据文件的冷热度属性对文件采用相应的编解码技术进行转码存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的装置,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。如图6所示,本发明实施例还提供了一种自适应存储文件的装置300的 示意性框图,该自适应存储文件的装置300包括处理器310、存储器320、总线系统330和网络接口340。其中,处理器310、存储器320和网络接口340通过总线系统330相连,该存储器320用于存储指令,该处理器310用于执行该存储器320存储的指令,例如计算机程序。通过网络接口340(可以是有线或者无线)实现与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。其中,该处理器310用于确定文件的冷热度属性,该文件的冷热度属性表征该文件被访问的频率;该处理器310还用于根据该文件的冷热度属性,对该文件执行编码存储或转码存储。因此,根据本发明实施例的自适应存储文件的装置,能够根据文件的冷热度属性对文件采用相应的编解码技术进行存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的装置,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。应理解,在本发明实施例中,该处理器310可以是中央处理单元(CentralProcessingUnit,简称为“CPU”),该处理器310还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。该存储器320可以包括只读存储器和随机存取存储器,并向处理器310提供指令和数据。存储器320的一部分还可以包括非易失性随机存取存储器。例如,存储器320还可以存储设备类型的信息。该总线系统330除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统330。在实现过程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器320,处理器310读取存储器320中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。可选地,在本发明实施例中,该处理器310还用于:根据该文件的访问频率和/或该文件的平均访问时间间隔,确定该文件的冷热度属性;在该文件的访问频率大于第一频率阈值,或该文件的平均访问时间间隔小于第一时间间隔时,确定该文件的冷热度属性为热;或在该文件的访问频率不大于第一频率阈值,或该文件的平均访问时间间隔不小于第一时间间隔时,确定该文件的冷热度属性为冷。可选地,在本发明实施例中,该处理器310具体用于:当确定该文件的冷热度属性为热时,采用第一编解码算法对该文件进行编码存储处理;或当确定该文件的冷热度属性为冷时,采用第二编解码算法对该文件进行编码存储处理;其中,该第一编解码算法的恢复成本低于恢复成本阈值,该第二编解码算法的存储开销低于存储开销阈值。可选地,在本发明实施例中,该处理器310还用于:判断该文件的存储时间达到第一时间阈值且该文件的访问次数小于第一次数阈值。可选地,在本发明实施例中,该处理器310还用于:根据该文件的冷热度属性的变化,对该文件执行转码处理。可选地,在本发明实施例中,该处理器310具体用于:当确定该文件的冷热度属性由冷转变为热时,对该文件执行从第一源编解码算法到第一目标编解码算法的转码存储处理;或当确定该文件的冷热度属性由热转变为冷时,对该文件执行从第二源编解码算法到第二目标编解码算法的转码存储处理;其中,该第一目标编解码算法的恢复成本低于恢复成本阈值,该第一源编解码算法的恢复成本不低于该恢复成本阈值,该第二目标编解码算法的存储开销低于存储开销阈值,该第二源编解码算法的存储开销不低于存储开销阈值。可选地,在本发明实施例中,该处理器310还用于:将第一源校验码减去第一差值校验码后得到的结果确定为第一目的校验码;其中,该文件包括N个数据块,该第一源校验码是基于第一编码函数对该N个数据块编码产生的,该第一目的校验码是基于该第一编码函数对该N个数据块中的M个数据块编码产生的,该第一差值校验码是基于该第一编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第一编码函数为基于该第一源编解码算法的编码函数,该N,M为正整数,N>M。可选地,在本发明实施例中,该处理器310还用于:将第二源校验码加上第二差值校验码后得到的结果确定为第二目的校验码;其中,该文件包括N个数据块,该第二源校验码是基于第二编码函数对该N个数据块中的M个数据块编码产生的,该第二目的校验码是基于该第二编码函数对该N个数据块编码产生的,该第二差值校验码是基于该第二编码函数对该N个数据块中的除该M个数据块以外的数据块编码产生的,该第二编码函数为基于该第二源编解码算法的编码函数,该N,M为正整数,N>M。因此,根据本发明实施例的自适应存储文件的装置,能够根据文件的冷热度属性对文件采用相应的编解码技术进行存储处理,能充分考虑文件的冷热度属性对存储开销、恢复成本的需求,而且采用的编解码技术的可靠性高,编解码速度快,因此,本发明实施例的自适应存储文件的装置,能提高存储开销、恢复成本、可靠性和编解码速度多个维度的综合性能。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方 法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1