System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及大数据领域、金融科技领域或其他相关领域,具体而言,涉及一种用于分布式存储系统的数据修改方法及其装置、电子设备。
技术介绍
1、当前大数据领域的行业标准是hadoop,hadoop是个生态系统,包括hdfs(hadoop分布式文件存储系统)、mapreduce(对hdfs中存储的数据进行分布式计算的组件)、hbase(分布式数据库)以及许多基于hadoop生态系统的各种组件。针对hdfs,需要有一个大容量的客户端(至少比待上传的文件更大),在客户端将大文件利用hadoop特有的指令上传到多台节点组合而成的hdfs,即可完成分布式存储。此后如果想增加数据,可以在客户端将数据追加到hdfs上。分布式文件存储系统的节点数(服务器的数量)可以不断增加,以便应对越来越多的数据。
2、相关技术中,虽然分布式文件存储系统hdfs支持追加数据,但hdfs采用一次写入,多次读取的策略,对于分布式文件存储系统中已存储的文件,不支持修改,如果想要修改,必须先在客户端修改,然后重新上传。分布式文件存储系统不能修改文件,如果不断追加数据,会导致系统上的文件越来越大,这时候如果发现系统上的文件有数据错了,一方面不能直接修改,另一方面此时有可能连客户端都放不下这个巨大的文件,更别提重新上传了,会造成文件修改效率低。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本专利技术实施例提供了一种用于分布式存储系统的数据修改方法及其装置、电子设备,以至少解决相关技
2、根据本专利技术实施例的一个方面,提供了一种用于分布式存储系统的数据修改方法,应用于分布式存储系统中的编辑器,分布式存储系统包括:客户端、主服务器、n个从服务器以及所述编辑器,所述客户端用于上传目标文件,所述主服务器用于记录目标文件存储的从服务器信息,所述从服务器用于存储m个文件片段,所述m个文件片段由所述目标文件划分得到,用于分布式存储系统的数据修改方法包括:响应数据修改操作,定位待修改数据在所属文件片段中的当前页面,其中,在每次执行所述数据修改操作时,仅支持修改当前页面的数据,不支持修改其它页面的数据;查询在所述当前页面中进行数据修改时的偏移量;根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改。
3、可选地,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:在所述数据修改操作的操作类型为删除操作的情况下,根据所述偏移量的数值大小,在所述当前页面中涉及被删除的数据的位置新增相应大小的空格,其中,新增的空格数的数量与所述偏移量的数值指示的数量一致;在完成所述删除操作且接收到第一保存操作的情况下,保存所述当前页面中的所有数据,并将所述所属文件片段之后的下一文件片段中与所述偏移量的数值大小相同的头部数据附加至所述所属文件片段的尾部,并依次迭代其它文件片段中的数据;对于第m个文件片段,在所述第m个文件片段中的数据小于所述偏移量的数值大小的情况下,将该第m个文件片段中的数据附加至第m-1个文件片段的尾部,并删除所述第m个文件片段。
4、可选地,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:在所述数据修改操作的操作类型为新增操作的情况下,根据所述偏移量的数值大小,在所述当前页面中新增操作涉及的位置保存新增的数据,将所述当前页面中的尾部数据暂存在缓存空间中,其中,暂存的所述尾部数据的数量与所述偏移量的数值指示的数量一致;将所述缓存空间中暂存的所述尾部数据添加至所述所属文件片段之后的下一文件片段中的头部,并依次迭代其它文件片段中的数据,对于第m个文件片段,在所述第m个文件片段中的数据总量大于片段总量阈值的情况下,在所属的从服务器中增加一个文件片段,得到第m+1个文件片段。
5、可选地,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:在所述数据修改操作的操作类型为修改操作的情况下,根据所述偏移量的大小,执行删除操作或者新增操作对应的数据修改策略,其中,所述偏移量为正值的情况下,执行所述新增操作对应的数据修改策略,所述偏移量为负值的情况,执行删除操作对应的数据修改策略;在所述偏移量的大小为0的情况下,根据所述修改操作的位置在所述当前页面修改该位置对应的数据,不修改其他页面的数据。
6、可选地,用于分布式存储系统的数据修改方法还包括:响应数据查询操作,解析待查找的关键字;定位待查找数据在所属文件片段中的当前页面;根据所述关键字查询在所述当前页面中进行查找;在所述当前页面无法查找到所述关键字的情况下,判断所述当前页面之后的下一页面是否超出所述所属文件片段;在所述下一页面超出所述所属文件片段的情况下,查找保存所述目标文件中在所述所属文件片段的下一文件片段的从服务器,查找所述从服务器中关联所述下一文件片段中是否存在所述关键字;在第m个文件片段无法查找到所述关键字的情况下,从第一个文件片段开始是否存在所述关键字;在所有文件片段均无法查找到所述关键字的情况下,输出关键字不存在通知;或者,在查找到所述关键字的情况下,定位所述关键字所处的文件片段的位置,并展示所述关键字所属的页面。
7、可选地,用于分布式存储系统的数据修改方法还包括:响应文件存储命令,将接收到的目标文件按照相同大小切割为m份,得到m个文件片段,其中,前m-1个文件片段的大小相同,第m个文件片段的大小能够调整;获取所有从服务器的名称,采用取模算法计算每个文件片段待存储的从服务器;记录所述目标文件的文件名称、文件大小、每个所述文件片段分布的从服务器的名称,得到记录信息,并将所述记录信息发送至主服务器。
8、可选地,用于分布式存储系统的数据修改方法还包括:响应文件读取命令,依据文件标识在所述主服务器中查询文件元数据;基于所述文件元数据,确定待读取文件分布的从服务器的名称;定位各个所述从服务器中的文件片段,并在各所述从服务器读取所有所述文件片段。
9、可选地,用于分布式存储系统的数据修改方法还包括:响应文件展示命令,将跳转指定页数输入至第一预定公式中,得到文件片段序号以及所属的从服务器;将所述跳转指定页数以及所述文件片段序号输入至第二预定公式中,得到跳转页面的字节大小;基于所述跳转页面的字节大小以及预设展示页面大小,读取指定字节段的数据,并将读取到的数据作为当前页展示在目标界面上。
10、根据本专利技术实施例的另一方面,还提供了一种分布式存储系统,包括:客户端,用于上传目标文件;主服务器,用于记录目标文件存储的从服务器信息;n台从服务器,每台所述从服务器用于存储m个文件片段,所述m个文件片段由所述目标文件划分得到;编辑器,执行上述任意一项所述的用于分布式存储系统的数据修改方法。
11、根据本专利技术实施例的另一方面,还提供了一本文档来自技高网...
【技术保护点】
1.一种用于分布式存储系统的数据修改方法,其特征在于,应用于分布式存储系统中的编辑器,分布式存储系统包括:客户端、主服务器、N个从服务器以及所述编辑器,所述客户端用于上传目标文件,所述主服务器用于记录目标文件存储的从服务器信息,所述从服务器用于存储M个文件片段,所述M个文件片段由所述目标文件划分得到,用于分布式存储系统的数据修改方法包括:
2.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:
3.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:
4.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:
5.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,还包括
6.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,还包括:
7.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,还包括:
8.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,还包括:
9.一种分布式存储系统,其特征在于,包括:
10.一种用于分布式存储系统的数据修改装置,其特征在于,应用于分布式存储系统中的编辑器,分布式存储系统包括:客户端、主服务器、N个从服务器以及所述编辑器,所述客户端用于上传目标文件,所述主服务器用于记录目标文件存储的从服务器信息,所述从服务器用于存储M个文件片段,所述M个文件片段由所述目标文件划分得到,用于分布式存储系统的数据修改装置包括:
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的用于分布式存储系统的数据修改方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的用于分布式存储系统的数据修改方法。
...【技术特征摘要】
1.一种用于分布式存储系统的数据修改方法,其特征在于,应用于分布式存储系统中的编辑器,分布式存储系统包括:客户端、主服务器、n个从服务器以及所述编辑器,所述客户端用于上传目标文件,所述主服务器用于记录目标文件存储的从服务器信息,所述从服务器用于存储m个文件片段,所述m个文件片段由所述目标文件划分得到,用于分布式存储系统的数据修改方法包括:
2.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:
3.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:
4.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,根据所述数据修改操作的操作类型以及所述偏移量,在所述所属文件片段中的当前页面中进行数据修改的步骤,包括:
5.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,还包括:
6.根据权利要求1所述的用于分布式存储系统的数据修改方法,其特征在于,还包括...
【专利技术属性】
技术研发人员:夏晨皓,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。