一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据写入方法、装置、设备及介质与流程

2022-07-10 05:41:08 来源:中国专利 TAG:


1.本公开涉及网络技术领域,具体涉及数据写入方法、装置、设备及介质。


背景技术:

2.近年来,随着科技的进步,科研工作以及日常生活中产生的数据的数量以爆炸式增长,储存数据的数据储存需求也急剧增加。由于本地存储系统很难满足不断增长的数据储存需求,另外考虑到移动计算和企业级的大规模计算对底层存储系统提出更高的要求,人们开始越来越多的使用分布式储存系统(distributed storage system)。分布式储存系统采用可扩展的系统结构,利用组成分布式储存系统的多个存储节点分担存储负荷,用户在使用分布式储存系统时,无需关心数据将被存储到哪个存储节点上、或者数据是从哪个存储节点上读取的,可以像使用本地储存系统一样管理和存储数据,其可靠性、和存取效率较高,且易于扩展。
3.在现有的一些分布式储存系统中,对于同一个文件或字节流可以只支持追加(append)写入,不支持随机写入,即用户只是指定被写入的数据的内容,数据被写入时不会覆盖原有的数据,而是被添加在已写入的数据后。其中,当分布式数据储存系统执行多个用户的数据写入操作时,若分布式数据储存系统支持覆盖写入,则每次执行数据写入操作后,需要在不同的存储节点间进行同步,所需的成本较高。通过使分布式储存系统只支持追加写入,在执行多个用户的数据写入操作的过程中,无需在不同的存储节点间进行同步,从而降低了成本。
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.响应于排序后的至少一个第三数据写入请求中的目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据。
36.第二方面,本公开实施例中提供了一种数据写入装置,其中,所述装置包括:
37.请求获取模块,被配置为获取至少一个数据写入请求,至少一个数据写入请求针对同一个文件或字节流,数据写入请求包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度;
38.位置获取模块,被配置为获取当前已被写入数据的当前写入位置;
39.数据写入模块,被配置为响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据。
40.第三方面,本公开实施例中提供了一种电子设备,包括存储器和至少一个处理器;存储器用于存储一条或多条计算机指令,一条或多条计算机指令被至少一个处理器执行以实现如第一方面、第一方面的第一种实现方式到第七种实现方式中任一项所述的方法步骤。
41.第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现第一方面、第一方面的第一种实现方式到第七种实现方式中任一项所述的方法步骤。
42.第五方面,本公开实施例中提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现第一方面、第一方面的第一种实现方式到第七种实现方式中任一项所述的方法步骤。
43.本公开实施例提供的技术方案可以包括以下有益效果:
44.根据本公开实施例提供的技术方案,通过获取至少一个包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度的数据写入请求,并获取当前写入数据的当前写入位置。其中,至少一个数据写入请求针对同一个文件或字节流,数据写入请求
中的请求写入位置用于指示请求将对应的请求写入数据写入对应文件或字节流的具体位置,数据写入请求中的请求写入长度用于指示对应的请求写入数据的长度,而当前写入位置为在对数据写入请求对应的文件或字节流进行数据写入时,当前可以被写入的数据的位置。响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据,即当前数据写入请求对应的文件或字节流可以被写入的数据的位置,为第一数据写入请求所请求的将对应的请求写入数据写入的位置时,将第一数据写入请求对应的请求写入数据,以追加写入的方式,写入第一数据写入请求对应的文件或字节流中第一数据写入请求的请求写入位置之后,长度为第一数据写入请求的请求写入长度的数据区间内。其中,由于用户在发送数据写入请求时,可以指定在写入被写入数据(即数据写入请求对应的请求写入数据)时的具体位置以及该被写入数据的具体长度,因此对于用户来说其可以控制请求写入的数据的具体写入位置,而在具体写入数据时,仅通过追加写入的方式进行数据写入,因此上述方案在以追加的方式写入数据的分布式储存系统中,使用户可以能够精确控制被写入数据的写入位置,增加了数据写入的灵活性,改善了用户体验。
45.根据本公开实施例提供的技术方案,通过获取根据请求写入位置进行排序后的至少一个数据写入请求,并依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,可以有序确定数据写入请求的请求写入位置是否与当前写入位置重合,避免遗漏确定某个数据写入请求的请求写入位置是否与当前写入位置重合,提高了确定请求写入位置与当前写入位置重合的数据写入请求的准确率。
46.根据本公开实施例提供的技术方案,通过获取新增数据写入请求,根据新增数据写入请求的请求写入位置将新增数据写入请求插入排序后的至少一个数据写入请求,以获取更新排序后的至少一个数据写入请求,并依次确定更新排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,使用户可以较为方便的随时添加新增的数据写入请求,方便用户操作,改善了用户体验。
47.根据本公开实施例提供的技术方案,通过响应于至少一个数据写入请求中第二数据写入请求的请求写入位置在当前写入位置之前,返回请求错误指示信息,可以使用分布式储存服务的用户或分布式储存系统的控制模块可以根据收到的请求错误指示信息获知在根据第二数据写入请求写入数据时出错,以便进行相应的补救,从而避免在进行数据写入的过程中出现不必要的数据损失。
48.根据本公开实施例提供的技术方案,通过根据第一数据写入请求更新当前写入位置,可以确保更新后的当前写入位置能够指示每次根据相应的数据写入请求进行数据写入后,对该数据写入请求对应的文件或字节流进行数据写入,该文件或字节流当前可以被写入数据的位置,提高之后根据更新后的当前写入位置进行数据写入时的准确率。
49.根据本公开实施例提供的技术方案,通过获取当前已被写入数据的已写入长度,并根据至少一个数据写入请求中第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度获取目标已写入长度,响应于目标已写入长度小于已写入长度,且目标请求写入数据与目标已写入数据不同,即已经根据第二数据写入请求写入第二数据写入请求对应的文件或字节流中的数据,与第二数据写入请求所请求向第二数据写入请求对应的文件或字节流写入的数据不同时,返回请求错误指示信息;或,响应于目标已写入长度大于
已写入长度,且第二数据写入请求的请求写入位置在更新后的当前写入位置之前,即当前无法基于第二数据写入请求的请求写入位置进行数据写入时,返回请求错误指示信息,从而可以确保使用分布式储存服务的用户或分布式储存系统的控制模块可以根据收到的请求错误指示信息获知在根据第二数据写入请求写入数据时出错,以便进行相应的补救,从而避免在进行数据写入的过程中出现不必要的数据损失。
50.根据本公开实施例提供的技术方案,通过获取至少一个数据写入失败的第三数据写入请求,获取当前再写入数据的再写入位置,并响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,可以在出现根据数据写入请求进行数据写入失败的情况下,再次根据数据写入失败的数据写入请求以追加写入的方式进行数据写入,提高了根据数据写入请求进行数据写入成功的几率。
51.根据本公开实施例提供的技术方案,通过对至少一个数据写入失败的第三数据写入请求进行排序,以获取排序后的至少一个第三数据写入请求,依次确定排序后的至少一个第三数据写入请求中每个第三数据写入请求的请求写入位置是否与再写入位置重合,响应于排序后的至少一个第三数据写入请求中的目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,可以较为方便的随时添加数据写入失败的数据写入请求,以便及时根据数据写入失败的数据写入请求重新进行数据写入,加快了重新对数据写入失败的数据写入请求再次进行数据写入的反应速度。
52.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
53.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
54.图1示出根据本公开一实施方式的数据写入方法的流程图。
55.图2示出根据本公开一实施方式的数据写入方法的示意性框图。
56.图3示出根据本公开一实施方式的数据写入方法的示意性框图。
57.图4示出根据本公开一实施方式的数据写入方法的示意性框图。
58.图5示出根据本公开一实施方式的数据写入方法的示意性框图。
59.图6示出根据本公开一实施方式的数据写入方法的示意性框图。
60.图7示出根据本公开一实施方式的数据写入方法的示意性框图。
61.图8示出根据本公开一实施方式的数据写入方法的示意性框图。
62.图9示出根据本公开一实施方式的数据写入装置的结构框图。
63.图10示出根据本公开一实施方式的电子设备的结构框图。
64.图11是适于用来实现根据本公开一实施方式的数据写入方法的计算机系统的结构示意图。
具体实施方式
65.下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
66.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的标签、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他标签、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
67.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的标签可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
68.分布式储存系统中,可以将数据储存在多个独立的数据节点上,其中,可以使不同的数据节点均储存有相同的一份数据,该相同的一份数据可以被理解为副本(replica/copy)。在数据以多副本的方式存储时,若一个副本无法被读取,分布式储存系统可以切换到其他副本进行读取,从而保证了分布式系统的数据冗余,避免分布式系统因数据丢失而导致的数据读取失败。
69.但是,数据以多副本的方式存储也引发出了一些需要解决的关键问题,其中较为重要的就是需要保证不同副本中数据的一致性。具体的,当一个副本的数据被更新之后,其他副本中的数据必须与更新后的副本中的数据保持同步,否则若分布式储存系统中两个不同副本中的数据持续性的未保持一致,可能导致用户无法从不同的副本中读取相同的数据,进而导致相应的程序出现问题。因此在分布式储存系统中需要间歇性的对不同副本进行一致性检查,并根据一致性检查结果确定不同副本中的数据是否保持一致。
70.相关技术中,在分布式储存系统中,若对于同一个文件或字节流可以只支持追加(append)写入,不支持随机写入,即用户只是指定被写入的数据的内容,数据被写入时不会覆盖原有的数据,而是被添加在已写入的数据后,那么在对不同副本进行一致性检查时,仅需检查两个副本中数据的数据长度是否一致,若二者一致,则确定这两个副本中的数据保持一致。而如果分布式储存系统支持随机写入,即数据被写入时可以覆盖原有的数据,那么即使两个副本中数据的数据长度一致,也无法确定这两个副本中的数据是否保持一致,在一致性检查时需要针对这两个副本中的数据进行数据校验,从而使一致性检查所需要的时间较久,所需的处理资源也较多。综上所述,分布式储存系统仅支持追加写,可以使对不同副本进行一致性检查时的检查效率较高,并且所占用的处理资源较少,降低了处理成本。因此,相关技术中多数的分布式储存系统均为仅支持以追加写的方式写入数据的分布式储存系统。
71.在仅支持以追加的方式写入数据的分布式储存系统中,为了使用户能够精确控制被写入数据的写入位置,本公开发明人考虑了如下方案。
72.相关技术中,在分布式储存系统中,可以通过truncate语句将被写入的文件或字节流截断为指定长度,即去掉被写入的文件或字节流中一部分已写入的数据,使进行截断后的文件或字节流的长度满足预设要求,之后在被截断后的文件或字节流尾部以追加的方式写入相应数据,其中,通过控制truncate语句将被写入的文件或字节流截断后的长度,可以达到控制写入的相应数据的具体写入位置的目的。
73.此方案的缺点:上述方案虽然可以在只支持以追加的方式写入数据的分布式储存
cloud)等,或者它们的任意组合。
82.在本公开的一个实施例中,请求写入位置可以理解为,用于与指示数据写入请求对应的请求写入数据被分布式储存系统写入中对应的文件或字节流后,该对应的请求写入数据在该对应的文件或字节流中的具体位置(offset)。
83.在本公开的一个实施例中,请求写入长度可以理解为,用于与指示数据写入请求对应的请求写入数据的具体长度(length)。
84.在本公开的一个实施例中,当前写入位置可以理解为,分布式储存系统在对数据写入请求对应的文件或字节流进行数据写入时,该文件或字节流当前可以被写入数据的位置。
85.在本公开的一个实施例中,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据,可以理解为,根据第一数据写入请求中的请求写入位置以及请求写入长度,将第一数据写入请求对应的请求写入数据,以追加写入的方式,写入第一数据写入请求的请求写入位置之后,且长度为第一数据写入请求的请求写入长度的储存空间内。
86.示例性的,图2示出根据本公开一实施方式的数据写入方法的示意性框图,如图2所示,分布式储存系统的控制模块可以包括带偏移写层101以及追加写层102,其中带偏移写层101用于解析获取的获取至少一个数据写入请求,以确定数据写入请求的请求写入位置以及请求写入长度。追加写层102用于将数据写入请求对应的请求写入数据写入该数据写入请求对应的文件或字节流中。同时带偏移写层101也用于获取追加写层102对数据写入请求对应的文件或字节流进行数据写入时,当前该对应的文件或字节流可以被写入数据的位置即当前写入位置。
87.当带偏移写层101获取了数据写入请求110,通过带偏移写层101解析,可以确定数据写入请求110的请求写入位置以及请求写入长度为《100,100》,若带偏移写层101获取的当前写入位置103为“100”时,说明追加写层102对数据写入请求110对应的文件或字节流111进行数据写入时,当前该文件或字节流111可以被写入数据的位置为“100”,由于当前写入位置103与数据写入请求110的请求写入位置均为“100”,二者重合,因此带偏移写层101向追加写层102下发该数据写入请求110,使追加写层102根据该数据写入请求110追加写入该数据写入请求110对应的请求写入数据。
88.图3示出根据本公开一实施方式的数据写入方法的示意性框图,如图3所示,当带偏移写层101获取了数据写入请求110,通过带偏移写层101解析,可以确定数据写入请求110的请求写入位置以及请求写入长度为《200,100》,若带偏移写层101获取的当前写入位置103为“100”时,说明追加写层102对数据写入请求110对应的文件或字节流111进行数据写入时,当前该文件或字节流111可以被写入数据的位置为“100”,由于当前写入位置103与数据写入请求110的请求写入位置存在差异,二者未重合,因此带偏移写层101暂时不向追加写层102下发该数据写入请求110。
89.图4示出根据本公开一实施方式的数据写入方法的示意性框图,如图4所示,当带偏移写层101获取了数据写入请求110,通过带偏移写层101解析,可以确定数据写入请求110的请求写入位置以及请求写入长度为《200,100》,若带偏移写层101获取的当前写入位置103为“200”时,说明追加写层102对数据写入请求110对应的文件或字节流111进行数据写入时,当前该文件或字节流111可以被写入数据的位置为“200”,由于当前写入位置103与
数据写入请求110的请求写入位置均为“200”,二者重合,再向追加写层102下发该数据写入请求110,使追加写层102根据该数据写入请求110追加写入该数据写入请求110对应的请求写入数据。
90.根据本公开实施例提供的技术方案,通过获取至少一个包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度的数据写入请求,并获取当前写入数据的当前写入位置。其中,至少一个数据写入请求针对同一个文件或字节流,数据写入请求中的请求写入位置用于指示请求将对应的请求写入数据写入对应文件或字节流的具体位置,数据写入请求中的请求写入长度用于指示对应的请求写入数据的长度,而当前写入位置为在对数据写入请求对应的文件或字节流进行数据写入时,当前可以被写入的数据的位置。响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据,即当前数据写入请求对应的文件或字节流可以被写入的数据的位置,为第一数据写入请求所请求的将对应的请求写入数据写入的位置时,将第一数据写入请求对应的请求写入数据,以追加写入的方式,写入第一数据写入请求对应的文件或字节流中第一数据写入请求的请求写入位置之后,长度为第一数据写入请求的请求写入长度的数据区间内。其中,由于用户在发送数据写入请求时,可以指定在写入被写入数据(即数据写入请求对应的请求写入数据)时的具体位置以及该被写入数据的具体长度,因此对于用户来说其可以控制请求写入的数据的具体写入位置,而在具体写入数据时,仅通过追加写入的方式进行数据写入,因此上述方案在以追加的方式写入数据的分布式储存系统中,使用户可以能够精确控制被写入数据的写入位置,增加了数据写入的灵活性,改善了用户体验。
91.在本公开的一个实施例中,在步骤s101中,获取至少一个数据写入请求,可以通过如下步骤实现:
92.获取根据请求写入位置进行排序后的至少一个数据写入请求;
93.在步骤s103中,响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据之前,所述方法还包括如下步骤:
94.依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合。
95.在本公开的一个实施例中,根据请求写入位置对数据写入请求进行排序,可以理解为,将请求写入位置较前的数据写入请求排在数据写入请求较后的数据写入请求之前。示例性的,当至少一个数据写入请求中的一个数据写入请求的请求写入位置以及请求写入长度为《100,100》,且至少一个数据写入请求中的另一个数据写入请求的请求写入位置以及请求写入长度为《200,100》时,由于该一个数据写入请求的请求写入位置“100”在该另一个数据写入请求的请求写入位置“200”之前,因此在排序后的至少一个数据写入请求中,该一个数据写入请求在该另一个数据写入请求之前。
96.在本公开的一个实施例中,依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,可以理解为依次将排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置与当前写入位置进行对比,当二者相同时,可以认为二者重合。
97.在本公开的一个实施例中,为了尽量减少排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合时所需的数据运算量,可以在依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合的过程中,在满足确定排序后的至少一个数据写入请求中目标数据写入请求的上一个数据写入请求的请求写入位置与某个时刻的当前写入位置重合的前提下,才确定该目标数据写入请求是否与当前写入位置重合。
98.根据本公开实施例提供的技术方案,通过获取根据请求写入位置进行排序后的至少一个数据写入请求,并依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,可以有序确定数据写入请求的请求写入位置是否与当前写入位置重合,避免遗漏确定某个数据写入请求的请求写入位置是否与当前写入位置重合,提高了确定请求写入位置与当前写入位置重合的数据写入请求的准确率。
99.在本公开的一个实施例中,依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合之前,所述方法还包括如下步骤:
100.获取新增数据写入请求,并根据新增数据写入请求的请求写入位置将新增数据写入请求插入排序后的至少一个数据写入请求,以获取更新排序后的至少一个数据写入请求;
101.依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,可以通过如下步骤实现:
102.依次确定更新排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合。
103.在本公开的一个实施例中,新增数据写入请求,可以理解为在获取至少一个数据写入请求之后,新获取的数据写入请求,该新增数据写入请求的格式与数据写入请求相同,也包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度。
104.在本公开的一个实施例中,根据新增数据写入请求的请求写入位置将新增数据写入请求插入排序后的至少一个数据写入请求,可以理解为通过直接插入排序或二分插入排序的方式,将新增数据写入请求插入排序后的至少一个数据写入请求,以获取更新排序后的至少一个数据写入请求。
105.根据本公开实施例提供的技术方案,通过获取新增数据写入请求,根据新增数据写入请求的请求写入位置将新增数据写入请求插入排序后的至少一个数据写入请求,以获取更新排序后的至少一个数据写入请求,并依次确定更新排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,使用户可以较为方便的随时添加新增的数据写入请求,方便用户操作,改善了用户体验。
106.在本公开的一个实施例中,所述方法还包括如下步骤:
107.响应于至少一个数据写入请求中第二数据写入请求的请求写入位置在当前写入位置之前,返回请求错误指示信息,请求错误指示信息用于指示根据第二数据写入请求写入数据时出错。
108.在本公开的一个实施例中,返回请求错误指示信息,可以理解为向分布式储存系统的用户端发送,使用该用户端的用户或运行在该用户端上的相应程序可以通过该用户端获知分布式储存系统在根据用户发送的第二数据写入请求写入数据时出错;返回请求错误
指示信息,也可以理解为向分布式储存系统的控制模块发送,使该控制模块可以获知分布式储存系统在根据第二数据写入请求写入数据时出错,以便该控制模块进行相应的补救措施。
109.示例性的,图5示出根据本公开一实施方式的数据写入方法的示意性框图,如图5所示,当带偏移写层101获取了数据写入请求110,通过带偏移写层101解析,可以确定数据写入请求110的请求写入位置以及请求写入长度为《100,300》,若带偏移写层101获取的当前写入位置103为“300”时,说明追加写层102对数据写入请求110对应的文件或字节流111进行数据写入时,当前该文件或字节流111可以被写入数据的位置为“300”,由于当前写入位置103在数据写入请求110的请求写入位置之前,在不通过覆盖写入的方式进行数据写入的前提下,无法将数据写入请求110对应的请求写入数据写入该文件或字节流111,因此带偏移写层101返回请求错误指示信息106。
110.根据本公开实施例提供的技术方案,通过响应于至少一个数据写入请求中第二数据写入请求的请求写入位置在当前写入位置之前,返回请求错误指示信息,可以使用分布式储存服务的用户或分布式储存系统的控制模块可以根据收到的请求错误指示信息获知在根据第二数据写入请求写入数据时出错,以便进行相应的补救,从而避免在进行数据写入的过程中出现不必要的数据损失。
111.在本公开的一个实施例中,方法还包括如下步骤:
112.根据第一数据写入请求更新当前写入位置。
113.在本公开的一个实施例中,根据第一数据写入请求更新当前写入位置,可以理解为根据第一数据写入请求中的请求写入长度,计算将第一数据写入请求对应的请求写入数据写入第一数据写入请求对应的文件或字节流后,该文件或字节流允许被写入数据的位置。
114.示例性的,当第一数据写入请求的请求写入长度为“100”,且当前写入位置为“200”时,则更新后的当前写入位置为“300”。
115.根据本公开实施例提供的技术方案,通过根据第一数据写入请求更新当前写入位置,可以确保更新后的当前写入位置能够指示每次根据相应的数据写入请求进行数据写入后,对该数据写入请求对应的文件或字节流进行数据写入,该文件或字节流当前可以被写入数据的位置,提高之后根据更新后的当前写入位置进行数据写入时的准确率。
116.在本公开的一个实施例中,所述方法还包括如下步骤:
117.获取当前已被写入数据的已写入长度,并根据至少一个数据写入请求中第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度获取目标已写入长度;
118.响应于目标已写入长度小于已写入长度,且目标请求写入数据与目标已写入数据不同,返回请求错误指示信息,目标请求写入数据与第二数据写入请求对应,目标已写入数据为根据第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度在当前已被写入数据中确定,请求错误指示信息用于指示根据第二数据写入请求写入数据时出错;
119.或,响应于目标已写入长度大于已写入长度,且第二数据写入请求的请求写入位置在更新后的当前写入位置之前,返回请求错误指示信息。
120.在本公开的一个实施例中,当前已被写入数据,可以理解为数据写入请求对应的
文件或字节流,当前已被写入数据的已写入长度,可以理解为数据写入请求对应的文件或字节流中数据的总长度。
121.在本公开的一个实施例中,目标已写入长度,可以理解为根据第二数据写入请求进行数据写入后,对应的文件或字节流中数据的总长度。根据至少一个数据写入请求中第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度获取目标已写入长度,可以理解为将第二数据写入请求的请求写入位置与第二数据写入请求的请求写入长度相加,以获取目标已写入长度。
122.在本公开的一个实施例中,目标已写入数据,可以理解为该第二数据写入请求对应的文件或字节流中,位置为第二数据写入请求的请求写入位置,且长度为第二数据写入请求的请求写入长度的数据,即目标已写入数据为已经根据第二数据写入请求写入第二数据写入请求对应的文件或字节流中的数据。
123.在本公开的一个实施例中,目标请求写入数据,可以理解为第二数据写入请求所请求向第二数据写入请求对应的文件或字节流写入的数据。
124.在本公开的一个实施例中,响应于返回请求错误指示信息,还可以将第二数据写入请求从至少一个数据写入请求中移除,以避免基于该第二数据写入请求再次进行可能产生数据写入错误的数据写入操作。
125.示例性的,图6示出根据本公开一实施方式的数据写入方法的示意性框图,如图6所示,带偏移写层101获取当前已被写入数据的已写入长度为“400”,并且带偏移写层101通过解析至少一个数据写入请求中的第二数据写入请求140,可以获取第二数据写入请求140的请求写入位置以及请求写入长度为《100,200》,并将第二数据写入请求140的请求写入位置“100”以及请求写入长度“200”相加以获取目标已写入长度“300”,其中,由目标已写入长度“300”小于已写入长度“400”,说明已经根据第二数据写入请求140向第二数据写入请求对应的文件或字节流141写入了对应的请求写入数据,追加写层102根据第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度,从第二数据写入请求对应的文件或字节流141中读取目标已写入数据142,该目标已写入数据142为已经根据第二数据写入请求写入第二数据写入请求对应的文件或字节流141中的数据,若目标请求写入数据与目标已写入数据142不同,则说明根据第二数据写入请求140进行数据写入时出现了错误,返回请求错误指示信息106。
126.示例性的,图7示出根据本公开一实施方式的数据写入方法的示意性框图,如图7所示,带偏移写层101获取当前已被写入数据的已写入长度为“200”以及更新后的当前写入位置113为“200”,并且带偏移写层101通过解析至少一个数据写入请求中的第二数据写入请求140,可以获取第二数据写入请求140的请求写入位置以及请求写入长度为《100,200》,并将第二数据写入请求140的请求写入位置“100”以及请求写入长度“200”相加以获取目标已写入长度“300”,其中,由目标已写入长度“300”大于已写入长度“200”,说明实际中尚未根据第二数据写入请求140向第二数据写入请求对应的文件或字节流141写入对应的请求写入数据,但由于第二数据写入请求140的请求写入位置“100”在更新后的当前写入位置“200”之前,考虑到仅能通过追加写入的方式进行数据写入,因此当前无法基于第二数据写入请求140的请求写入位置“100”进行数据写入,说明根据第二数据写入请求140进行数据写入时出现了错误,返回请求错误指示信息106。
127.根据本公开实施例提供的技术方案,通过获取当前已被写入数据的已写入长度,并根据至少一个数据写入请求中第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度获取目标已写入长度,响应于目标已写入长度小于已写入长度,且目标请求写入数据与目标已写入数据不同,即已经根据第二数据写入请求写入第二数据写入请求对应的文件或字节流中的数据,与第二数据写入请求所请求向第二数据写入请求对应的文件或字节流写入的数据不同时,返回请求错误指示信息;或,响应于目标已写入长度大于已写入长度,且第二数据写入请求的请求写入位置在更新后的当前写入位置之前,即当前无法基于第二数据写入请求的请求写入位置进行数据写入时,返回请求错误指示信息,从而可以确保使用分布式储存服务的用户或分布式储存系统的控制模块可以根据收到的请求错误指示信息获知在根据第二数据写入请求写入数据时出错,以便进行相应的补救,从而避免在进行数据写入的过程中出现不必要的数据损失。
128.在本公开的一个实施例中,所述方法还包括如下步骤:
129.获取至少一个数据写入失败的第三数据写入请求;
130.获取当前再写入数据的再写入位置;
131.响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据。
132.在本公开的一个实施例中,根据数据写入请求进行数据写入时,结果仅包括数据写入失败或数据写入成功,不存在部分成功或部分失败。数据写入失败的第三数据写入请求,可以理解为未能根据第三数据写入请求将第三数据写入请求对应的请求写入数据写入该第三数据写入请求对应的文件或数据流中。
133.在本公开的一个实施例中,当前再写入数据的再写入位置,可以理解为在结束对获取的至少一个数据写入请求的处理后,再次对数据写入请求对应的文件或数据流进行再写入数据时,当前允许被再写入数据的位置。
134.在本公开的一个实施例中,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,可以理解为根据目标第三数据写入请求中的请求写入位置以及请求写入长度,将目标第三数据写入请求对应的请求写入数据,以追加写入的方式,写入目标第三数据写入请求的请求写入位置之后,且长度为目标第三数据写入请求的请求写入长度的储存空间内。
135.根据本公开实施例提供的技术方案,通过获取至少一个数据写入失败的第三数据写入请求,获取当前再写入数据的再写入位置,并响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,可以在出现根据数据写入请求进行数据写入失败的情况下,再次根据数据写入失败的数据写入请求以追加写入的方式进行数据写入,提高了根据数据写入请求进行数据写入成功的几率。
136.在本公开的一个实施例中,响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据之前,方法还包括:
137.对至少一个数据写入失败的第三数据写入请求进行排序,以获取排序后的至少一
个第三数据写入请求;
138.依次确定排序后的至少一个第三数据写入请求中每个第三数据写入请求的请求写入位置是否与再写入位置重合;
139.响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,包括:
140.响应于排序后的至少一个第三数据写入请求中的目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据。
141.示例性的,图8示出根据本公开一实施方式的数据写入方法的示意性框图,如图8所示,当带偏移写层101发现根据至少一个数据的第三数据写入请求150进行数据写入时出现数据写入失败,则带偏移写层101获取该第三数据写入请求150,并对第三数据写入请求150进行排序,以获取排序后的至少一个第三数据写入请求150。当追加写层102关闭后,进行重新打开追加写层操作,以获取新的追加写层112,带偏移写层101获取当前再写入数据的再写入位置152,并依次确定排序后的至少一个第三数据写入请求150中每个第三数据写入请求150的请求写入位置是否与再写入位置152重合。若排序后的至少一个第三数据写入请求150中的目标第三数据写入请求153的请求写入位置为“500”,说明新的追加写层112对第三数据写入请求150对应的文件或字节流154进行数据写入时,当前该文件或字节流154可以被写入数据的位置为“500”,若再写入位置152也为“500”,则目标第三数据写入请求153的请求写入位置与再写入位置152均为“500”,二者重合,因此带偏移写层101向新的追加写层112下发该目标第三数据写入请求153,使新的追加写层112根据该数目标第三数据写入请求153追加写入该目标第三数据写入请求153对应的请求写入数据。
142.根据本公开实施例提供的技术方案,通过对至少一个数据写入失败的第三数据写入请求进行排序,以获取排序后的至少一个第三数据写入请求,依次确定排序后的至少一个第三数据写入请求中每个第三数据写入请求的请求写入位置是否与再写入位置重合,响应于排序后的至少一个第三数据写入请求中的目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,可以较为方便的随时添加数据写入失败的数据写入请求,以便及时根据数据写入失败的数据写入请求重新进行数据写入,加快了重新对数据写入失败的数据写入请求再次进行数据写入的反应速度。
143.以下参照图9描述根据本公开一实施方式的数据写入装置,该数据写入装置位于分布式储存系统。图9示出根据本公开一实施方式的数据写入装置200的结构框图。
144.如图9所示,数据写入装置200包括:
145.请求获取模块201,被配置为获取至少一个数据写入请求,至少一个数据写入请求针对同一个文件或字节流,数据写入请求包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度;
146.位置获取模块202,被配置为获取当前已被写入数据的当前写入位置;
147.数据写入模块203,被配置为响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求
对应的请求写入数据。
148.根据本公开实施例提供的技术方案,通过获取至少一个包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度的数据写入请求,并获取当前写入数据的当前写入位置。其中,至少一个数据写入请求针对同一个文件或字节流,数据写入请求中的请求写入位置用于指示请求将对应的请求写入数据写入对应文件或字节流的具体位置,数据写入请求中的请求写入长度用于指示对应的请求写入数据的长度,而当前写入位置为在对数据写入请求对应的文件或字节流进行数据写入时,当前可以被写入的数据的位置。响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据,即当前数据写入请求对应的文件或字节流可以被写入的数据的位置,为第一数据写入请求所请求的将对应的请求写入数据写入的位置时,将第一数据写入请求对应的请求写入数据,以追加写入的方式,写入第一数据写入请求对应的文件或字节流中第一数据写入请求的请求写入位置之后,长度为第一数据写入请求的请求写入长度的数据区间内。其中,由于用户在发送数据写入请求时,可以指定在写入被写入数据(即数据写入请求对应的请求写入数据)时的具体位置以及该被写入数据的具体长度,因此对于用户来说其可以控制请求写入的数据的具体写入位置,而在具体写入数据时,仅通过追加写入的方式进行数据写入,因此上述方案在以追加的方式写入数据的分布式储存系统中,使用户可以能够精确控制被写入数据的写入位置,增加了数据写入的灵活性,改善了用户体验。
149.本领域技术人员可以理解,参照图9描述的技术方案的可以与参照上述描述的任一实施例结合,从而具备上述描述的任一实施例所实现的技术效果。具体内容可以参照上述实施例的描述,其具体内容在此不再赘述。
150.图10示出根据本公开一实施方式的电子设备的结构框图。
151.本公开实施方式还提供了一种电子设备,如图10所示,电子设备300包括至少一个处理器301;以及与至少一个处理器301通信连接的存储器302;其特征在于,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行以实现以下步骤:
152.第一方面,本公开实施例中提供了一种数据写入方法,其中,所述方法应用于分布式储存系统,方法包括:
153.获取至少一个数据写入请求,至少一个数据写入请求针对同一个文件或字节流,数据写入请求包括对应请求写入数据的请求写入位置以及对应请求写入数据的请求写入长度;
154.获取当前写入数据的当前写入位置;
155.响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据。
156.结合第一方面,本公开在第一方面的第一种实现方式中,获取至少一个数据写入请求,包括:
157.获取根据请求写入位置进行排序后的至少一个数据写入请求;
158.响应于至少一个数据写入请求中第一数据写入请求的请求写入位置与当前写入位置重合,根据第一数据写入请求追加写入第一数据写入请求对应的请求写入数据之前,所述方法还包括:
159.依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合。
160.结合第一方面的第一种实现方式,本公开在第一方面的第二种实现方式中,依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合之前,所述方法还包括:
161.获取新增数据写入请求,并根据新增数据写入请求的请求写入位置将新增数据写入请求插入排序后的至少一个数据写入请求,以获取更新排序后的至少一个数据写入请求;
162.依次确定排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合,包括:
163.依次确定更新排序后的至少一个数据写入请求中每个数据写入请求的请求写入位置是否与当前写入位置重合。
164.结合第一方面、第一方面的第一种实现方式或第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述方法还包括:
165.响应于至少一个数据写入请求中第二数据写入请求的请求写入位置在当前写入位置之前,返回请求错误指示信息,请求错误指示信息用于指示根据第二数据写入请求写入数据时出错。
166.结合第一方面、第一方面的第一种实现方式或第一方面的第二种实现方式,本公开在第一方面的第四种实现方式中,所述方法还包括:
167.根据第一数据写入请求更新当前写入位置。
168.结合第一方面的第四种实现方式,本公开在第一方面的第五种实现方式中,所述方法还包括:
169.获取当前已被写入数据的已写入长度,并根据至少一个数据写入请求中第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度获取目标已写入长度;
170.响应于目标已写入长度小于已写入长度,且目标请求写入数据与目标已写入数据不同,返回请求错误指示信息,目标请求写入数据与第二数据写入请求对应,目标已写入数据为根据第二数据写入请求的请求写入位置以及第二数据写入请求的请求写入长度在当前已被写入数据中确定,请求错误指示信息用于指示根据第二数据写入请求写入数据时出错;
171.或,响应于目标已写入长度大于已写入长度,且第二数据写入请求的请求写入位置在更新后的当前写入位置之前,返回请求错误指示信息。
172.结合第一方面、第一方面的第一种实现方式或第一方面的第二种实现方式,本公开在第一方面的第六种实现方式中,方法还包括:
173.获取至少一个数据写入失败的第三数据写入请求;
174.获取当前再写入数据的再写入位置;
175.响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据。
176.结合第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,
177.响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据之前,方法还包括:
178.对至少一个数据写入失败的第三数据写入请求进行排序,以获取排序后的至少一个第三数据写入请求;
179.依次确定排序后的至少一个第三数据写入请求中每个第三数据写入请求的请求写入位置是否与再写入位置重合;
180.响应于至少一个数据写入失败的第三数据写入请求中目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据,包括:
181.响应于排序后的至少一个第三数据写入请求中的目标第三数据写入请求的请求写入位置与再写入位置重合,根据目标第三数据写入请求追加写入目标第三数据写入请求对应的请求写入数据。
182.图11是适于用来实现根据本公开一实施方式的数据写入方法的计算机系统的结构示意图。
183.如图11所示,计算机系统400包括处理单元401,其可以根据存储在只读存储器(rom)402中的程序或者从存储部分408加载到随机访问存储器(ram)403中的程序而执行上述附图所示的实施方式中的各种处理。在ram403中,还存储有系统400操作所需的各种程序和数据。cpu401、rom402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
184.以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。其特征在于,所述处理单元401可实现为cpu、gpu、tpu、fpga、npu等处理单元。
185.特别地,根据本公开的实施方式,上文参考附图描述的方法可以被实现为计算机软件程序。示例性的,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行附图中的方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。示例性的,本公开的实施方式包括一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现用于执行附图中的方法的程序代码。
186.附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。示例性的,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
187.描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
188.作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
189.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。示例性的上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献