一种数据修改方法及装置、电子设备与流程

文档序号:29937376发布日期:2022-05-07 13:48阅读:92来源:国知局
一种数据修改方法及装置、电子设备与流程

1.本发明涉及计算机科学领域,具体涉及一种数据修改方法及装置、电子设备。


背景技术:

2.在分布式文件系统的实现中,一个文件被拆分成多个对象分别存储到不同的节点中。而分布式存储系统作为分布式文件系统的存储底座,为了保证数据的可靠性。
3.现有技术下,通常使用多副本模式或纠删码(erasure coding)模式存储对象。多副本模式把数据复制成多份并分别存储到不同的节点以实现冗余备份。纠删码模式通过算法将原始数据进行编码得到冗余数据,并将数据与冗余数据切片后分别存储到不同的节点以达到容错的目的。多副本模式具有较高的读写性能,在多读多写场景下使用较多,但是会带来多倍的存储开销。纠删码模式能够有效降低存储成本,但由于修改写流程复杂(先读取部分对象到缓存、再重新计算冗余、后写入修改的对象及冗余到存储系统),不适用于文件系统场景。
4.因此,需要一种数据修改方法及装置、电子设备,以克服上述缺陷。


技术实现要素:

5.有鉴于此,本发明实施例提供了一种数据修改方法及装置、电子设备,以解决分布式系统中数据修改效率低下的问题。
6.根据第一方面,本发明实施例提供了一种数据修改方法,包括:
7.获取请求信息;
8.当请求信息为修改写请求时,新建处理对象并确定所述新建处理对象关联的目标文件;
9.基于所述新建对象,对所述新建处理对象关联的目标文件进行更新。
10.本发明实施例提供的数据修改方法,通过直接将修改写操作封装为新建对象操作,只要在需要修改的数据完成对应的新建后,就直接提示修改完成,剩余的删除冗余过程交由后台处理,不必在前端进行等待,极大的提高了工作效率。
11.结合第一方面,在第一方面第一实施方式中,所述新建处理对象并确定所述新建处理对象关联的目标文件,包括:
12.解析新建处理对象对应的所述请求信息,确定所述请求信息携带的所述新建处理对象关联的目标文件。
13.结合第一方面,在第一方面第二实施方式中,所述方法还包括:
14.当请求信息为读取请求时,判断所述目标文件关联的所述新建对象数目是否为零;
15.当所述目标文件关联的所述新建对象数目不为零时,整合所述目标文件和所述新建对象,确定读取数据。
16.结合第一方面,在第一方面第三实施方式中,所述方法还包括:
17.当达到预设的阈值时,触发垃圾回收信号,判断所述目标文件关联的所述新建对象数目是否为零;
18.当所述目标文件关联的所述新建对象数目不为零时,整合所述目标文件和所述新建对象,确定完整数据和冗余数据;
19.删除所述冗余数据。
20.结合第一方面第二实施方式,在第一方面第四实施方式中,所述当所述目标文件关联的所述新建对象数目不为零时,整合所述目标文件和所述新建对象,确定读取数据包括:
21.读取所述新建对象和所述目标文件的数据信息;
22.合并所述新建对象和所述目标文件的数据信息,确定读取数据。
23.结合第一方面第二实施方式,在第一方面第五实施方式中,所述当请求信息为读取请求时,判断所述目标文件关联的所述新建对象数目是否为零的步骤之前,还包括:
24.确定所述读取数据之后,发送垃圾回收信号,以执行垃圾回收操作。
25.结合第一方面,在第一方面第六实施方式中,所述获取请求信息的步骤之后,包括:
26.判断所述请求信息是否为修改写请求;
27.当所述请求信息为写请求时,执行正常写操作。
28.根据第二方面,本发明实施例提供了一种数据修改的装置,包括:
29.获取模块,用于获取请求信息;
30.第一处理模块,用于当请求信息为修改写请求时,新建处理对象并确定所述新建处理对象关联的目标文件;
31.第二处理模块,用于基于所述新建对象,对所述新建处理对象关联的目标文件进行更新。
32.根据第三方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的数据修改方法。
33.根据第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的数据修改方法。
附图说明
34.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1是根据本发明实施例的数据修改方法的流程图;
36.图2是根据本发明实施例的数据修改方法的流程图;
37.图3a是根据本发明实施例的数据修改方法的流程图;
38.图3b是根据本发明实施例的数据修改方法的流程图;
39.图3c是根据本发明实施例的数据修改方法的流程图;
40.图4是根据本发明实施例的数据修改装置的结构框图;
41.图5是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
42.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
44.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
45.在本发明的描述中,需要说明的是,在本技术说明书和所附权利要求书中使用的术语“及/和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
46.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
47.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.本发明实施例提供的数据修改方法,通过直接将修改写操作封装为新建对象操作,只要在需要修改的数据完成对应的新建后,就直接提示修改完成,剩余的删除冗余过程交由后台处理,不必在前端进行等待,极大的提高了工作效率。
49.根据本发明实施例,提供了一种数据修改的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
50.在本实施例中提供了一种数据修改的方法,可用于电子设备,如电脑、服务器、平板电脑等,图1是根据本发明实施例的数据修改的方法的流程图,如图1所示,该流程包括如下步骤:
51.s11,获取请求信息;
52.具体的,请求信息可以包括修改写请求,读取请求,垃圾回收信号请求等等。
53.例如,假设存在有分布式文件系统a,假设有三种请求信息,分别为修改写请求,读取请求,垃圾回收信号请求,当分布式文件系统a接收到修改写请求时,则执行修改写流程,当分布式文件系统a接收到读取请求时,则执行读取流程,当分布式文件系统a接收到垃圾回收信号请求时,则执行垃圾回收流程。
54.关于该步骤具体将在下文中进行详细描述。
55.s12,当请求信息为修改写请求时,新建处理对象并确定所述新建处理对象关联的目标文件;
56.例如,假设分布式系统a中存在有目标文件alpha,假设目标文件alpha中包含有信息(a,b,c),假设其中b需要修改,此时接收修改写信息,将alpha中的b修改为d,则直接新建一个对象d,将对象d关联至目标文件alpha。
57.关于该步骤具体将在下文中进行详细描述。
58.s13,基于所述新建对象,对所述新建处理对象关联的目标文件进行更新。
59.具体的,将新建对象直接加入至目标文件中,完成更新。
60.实际应用中,仍以上述分布式系统a中存在有目标文件alpha为例,假设目标文件alpha中包含有信息(a,b,c),假设其中b需要修改,此时接收修改写信息,将alpha中的b修改为d,则直接新建一个对象d,将对象d加入至目标文件alpha中完成更新,则此时更新后的目标文件中有(a,b,c,d)。
61.本发明实施例提供的数据修改方法,通过直接将修改写操作封装为新建对象操作,只要在需要修改的数据完成对应的新建后,就直接提示修改完成,剩余的删除冗余过程交由后台处理,不必在前端进行等待,极大的提高了工作效率。
62.在本实施例中提供了一种数据修改方法,可用于电子设备,如电脑、服务器、平板电脑等,图2是根据本发明实施例的数据修改方法的流程图,如图2所示,该流程包括如下步骤:
63.s21,获取请求信息;
64.具体地,上述s21包括:
65.s211,当请求信息为读取请求时,判断所述目标文件关联的所述新建对象数目是否为零;
66.具体的,例如假设存在一个分布式文件系统a,在分布式文件系统a中,存在有目标文件x和目标文件y,其中,由于有修改写操作,因此,目标文件x关联有新建对象,而目标文件y没有修改写操作,因此,目标文件y关联的新建对象数目为0。
67.s212,当所述目标文件关联的所述新建对象数目不为零时,整合所述目标文件和所述新建对象,确定读取数据。
68.在本实施例的一些可选实施方式中,上述s221可以包括:
69.(1)读取所述新建对象和所述目标文件的数据信息;
70.具体的,仍以上述分布式文件系统a和目标文件x为例,假设目标文件中包含有数据(1,2,3),假设新建对象为4,读取全部数据(1,2,3)和(4)。
71.(2)合并所述新建对象和所述目标文件的数据信息,确定读取数据。
72.具体的,仍以上述分布式文件系统a和目标文件x为例,仍假设目标文件中包含有
数据(1,2,3),假设新建对象为4,读取全部数据(1,2,3)和(4),假设需要修改的数据为(2)。经过合并后,读取数据为(1,3,3)。
73.(3)确定所述读取数据之后,发送垃圾回收信号,以执行垃圾回收操作。
74.具体的,仍以上述读取数据(1,4,3)为例,由于数据(2)已经不需要了,但是此时数据2仍然会占据存储空间,因此,发送垃圾回收信号,删除数据(2)。
75.s213,当达到预设的阈值时,触发垃圾回收信号,判断所述目标文件关联的所述新建对象数目是否为零;
76.具体的,例如假设存在一个分布式文件系统a,在分布式文件系统a中,存在有目标文件x和目标文件y,其中,由于有修改写操作,因此,目标文件x关联有新建对象,而目标文件y没有修改写操作,因此,目标文件y关联的新建对象数目为0。
77.进一步的,在实际应用中,当客户端发送删除文件指令时,分布式文件系统可以直接删除对应的目标文件和与目标文件关联的新建对象。
78.s214,当所述目标文件关联的所述新建对象数目不为零时,整合所述目标文件和所述新建对象,确定完整数据和冗余数据;
79.具体的,仍以仍以上述读取数据(1,4,3)为例,在确定目标文件需要修改数据(2),并且已经将数据(4)添加至目标文件x中后,删除数据(2)。
80.s22,当请求信息为修改写请求时,新建处理对象并确定所述新建处理对象关联的目标文件;
81.具体地,上述s22包括:
82.s221,解析新建处理对象对应的所述请求信息,确定所述请求信息携带的所述新建处理对象关联的目标文件。
83.具体的,假设存在一个分布式文件系统a,在分布式文件系统a接收到请求信息后,首先要解析确定请求信息所携带的命令,之后根据对应的命令确定关联的目标文件。
84.s23,基于所述新建对象,对所述新建处理对象关联的目标文件进行更新。
85.详细请参见图1所示实施例的s13,在此不再赘述。
86.本发明实施例提供的数据修改方法,通过直接将修改写操作封装为新建对象操作,只要在需要修改的数据完成对应的新建后,就直接提示修改完成,剩余的删除冗余过程交由后台处理,不必在前端进行等待,极大的提高了工作效率。
87.作为本实施例的一个具体应用实例,如图3a所示,该数据修改方法包括:
88.s101,判断是否为修改写操作,若是执行步骤s103,否则执行步骤s102。
89.s102,按照正常流程执行写操作。
90.s103,执行新建对象操作。
91.s104,更新目标文件的数据信息。
92.s105,修改写操作完成。
93.作为本实施例的一个具体应用实例,如图3b所示,该数据读取方法包括:
94.s201,判断关联的新建对象是否为零,若是执行步骤s203,否则执行步骤s202。
95.s202,执行正常读取操作。
96.s203,读取目标文件数据和新建对象数据。
97.s204,整合目标文件数据和新建对象数据。
98.s205,删除冗余数据。
99.s206,读取操作完成。
100.作为本实施例的一个具体应用实例,如图3c所示,该数据删除方法包括:
101.s301,判断是否收到垃圾回收信号,若是执行步骤s302,否则直接结束。
102.s302,判断关联的新建对象是否为零,若是执行步骤s303,否则直接结束。
103.s303,读取目标文件数据和新建对象数据。
104.s304,整合目标文件数据和新建对象数据。
105.s305,删除冗余数据。
106.s306,更新冗余队列。
107.在本实施例中还提供了一种数据修改的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
108.本实施例提供一种数据修改的装置,如图4所示,包括:
109.获取模块41,用于获取请求信息;
110.第一处理模块42,用于当请求信息为修改写请求时,新建处理对象并确定所述新建处理对象关联的目标文件;
111.第二处理模块43,用于基于所述新建对象,对所述新建处理对象关联的目标文件进行更新。
112.本实施例中的固件刷新装置是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
113.上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
114.本发明实施例还提供一种电子设备,具有上述图4所示的数据修改的装置。
115.请参阅图5,图5是本发明可选实施例提供的一种电子设备的结构示意图,如图5所示,该电子设备可以包括:至少一个处理器51,例如cpu(central processing unit,中央处理器),至少一个通信接口53,存储器54,至少一个通信总线52。其中,通信总线52用于实现这些组件之间的连接通信。其中,通信接口53可以包括显示屏(display)、键盘(keyboard),可选通信接口53还可以包括标准的有线接口、无线接口。存储器54可以是高速ram存储器(random access memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器54可选的还可以是至少一个位于远离前述处理器51的存储装置。其中处理器51可以结合图5所描述的装置,存储器54中存储应用程序,且处理器51调用存储器54中存储的程序代码,以用于执行上述任一方法步骤。
116.其中,通信总线52可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。通信总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
117.其中,存储器54可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram);存储器也可以包括非易失性存储器(英
文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:hdd)或固态硬盘(英文:solid-state drive,缩写:ssd);存储器54还可以包括上述种类的存储器的组合。
118.其中,处理器51可以是中央处理器(英文:central processing unit,缩写:cpu),网络处理器(英文:network processor,缩写:np)或者cpu和np的组合。
119.其中,处理器51还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:asic),可编程逻辑器件(英文:programmable logic device,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。
120.可选地,存储器54还用于存储程序指令。处理器51可以调用程序指令,实现如本技术任一实施例中所示的数据修改的方法。
121.本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据修改的方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
122.虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1