用于管理存储空间的方法、设备和计算机程序产品与流程

文档序号:28955190发布日期:2022-02-19 11:36阅读:101来源:国知局
用于管理存储空间的方法、设备和计算机程序产品与流程

1.本公开的实施例涉及数据存储领域,并且更具体地,涉及用于管理存储空间的方法、设备和计算机程序产品。


背景技术:

2.通常,用户在计算设备上运行各种文件系统。这些文件系统可以用于处理各种数据,同时为这些文件系统分配大量的存储空间以用于存储这些数据。
3.由于文件系统的改进,文件系统使用的数据也在不断的变化。因此,现在用户通常存储系统的服务器上运行这些文件系统,并且使用专用的存储设备来存储或管理这些数据。随着需要处理的数据越来越多,存储系统中存储装置的容量和数量也在快速的增长。然而,在使用这些存储装置存储数据的过程中,还存在着许多需要解决的问题。


技术实现要素:

4.本公开的实施例提供一种用于管理存储空间的方法、设备和计算机程序产品。
5.根据本公开的第一方面,提供了一种用于管理存储空间的方法。该方法包括基于文件系统在一组历史时刻和当前时刻已使用的存储空间的大小,确定文件系统在多个未来时刻将要使用的存储空间的多个预测大小。该方法还包括基于多个预测大小,确定多个未来时刻中的一组候选未来时刻的可获取存储空间的大小和可获取时长,可获取存储空间为分配给文件系统的存储空间中未被使用的存储空间。该方法还包括基于一组候选未来时刻的可获取存储空间的大小和可获取时长,确定表征一组候选未来时刻的可获取存储能力的多个预测值。该方法还包括基于多个预测值,从一组候选未来时刻中确定目标时刻,以回收目标时刻的可获取存储空间的至少一部分。
6.根据本公开的第二方面,提供了一种电子设备。该电子设备包括处理器;以及存储器,存储有计算机程序指令,处理器运行存储器中的计算机程序指令控制电子设备执行动作,该动作包括:基于文件系统在一组历史时刻和当前时刻已使用的存储空间的大小,确定文件系统在多个未来时刻将要使用的存储空间的多个预测大小;基于多个预测大小,确定多个未来时刻中的一组候选未来时刻的可获取存储空间的大小和可获取时长,可获取存储空间为分配给文件系统的存储空间中未被使用的存储空间;基于一组候选未来时刻的可获取存储空间的大小和可获取时长,确定表征一组候选未来时刻的可获取存储能力的多个预测值;以及基于多个预测值,从一组候选未来时刻中确定目标时刻,以回收目标时刻的可获取存储空间的至少一部分。
7.根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
8.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
9.图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
10.图2图示了根据本公开的实施例的用于管理存储空间的方法200的流程图;
11.图3图示了根据本公开的实施例的用于确定可获取存储空间的大小和可获取时长的方法300的流程图;
12.图4图示了根据本公开的实施例的时刻和存储空间的对应关系图400;
13.图5图示了根据本公开的实施例的用于训练存储空间预测模型过程500的示意图;
14.图6图示了根据本公开的实施例的在多个预测周期调整存储空间预测模型的过程600的示意图;
15.图7图示了适于用来实施本公开内容的实施例的示例设备700的示意性框图。
16.在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
17.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
18.在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
19.下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
20.当运行各种文件系统时,存储系统中会为各种文件系统分配存储空间。例如在存储系统中运行的文件系统时,存储系统为会其分配对应的存储空间以供文件系统使用。
21.在存储系统的运行中,由于分配给文件系统的存储空间可能远大于文件系统所需的存储空间。为了不浪费这些存储空间,需要对这些存储空间进行回收以用于其他文件系统。因此,回收分配给文件系统的存储空间以供其他文件系统使用是需要解决的一个问题。
22.然而,在传统方案中多次检测文件系统的使用存储空间,如果使用的存储空间均比较低,则开始存储空间的回收。然而,在回收存储空间后,通常在接下来的时刻又会出现文件系统需要增大存储空间的问题。这导致回收的存储空间又需要被分配给文件系统,浪费了因进行回收操作和分配操作而使用的大量的处理资源,并且也未真正利用到回收的存储空间。此外,空间回收操作的性能不是最佳的,要回收的空间越多,所需的时间就越多。
23.为了解决上述和其他潜在的问题,本公开提出了一种用于管理存储空间的方法。
在该方法中,计算设备基于文件系统在一组历史时刻和当前时刻已使用的存储空间的大小,确定文件系统在多个未来时刻将要使用的存储空间的多个预测大小。然后,计算设备基于多个预测大小,确定多个未来时刻中的一组候选未来时刻的可获取存储空间的大小和可获取时长。计算设备再利用一组候选未来时刻的可获取存储空间的大小和可获取时长,确定表征一组候选未来时刻的可获取存储能力的多个预测值。计算设备利用多个预测值,从一组候选未来时刻中确定目标时刻,以用于回收目标时刻的可获取存储空间的至少一部分。通过上述方法,不仅提高了存储空间的利用率,还改进了存储系统的性能和空间效率,改善了用户体验。
24.以下通过图1至图7详细描述根据本公开的实施例。图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图。
25.如图1所示,计算设备102运行文件系统104。文件系统104可以为使用存储装置106中的存储空间的任意文件系统程序,例如文件系统等。文件系统104可以由一个或多个用户访问或管理。
26.计算设备102包括但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(pda)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括上述系统或设备中的任意一个的分布式计算环境等。
27.计算设备102会统计文件系统104在历史时刻和当前时刻的使用的存储空间110的大小。然后,计算设备102可以根据这些历史时刻和当前时刻的使用的存储空间110的大小来预测在接下来的多个未来时刻文件系统104要使用的存储空间110的多个预测大小。
28.计算设备102会从多个未来时刻中确定出的一组候选未来时刻。该一组候选未来时刻靠近当前时刻。然后,计算设备102从一组候选未来时刻中确定获取可获取存储空间112的目标时刻。可获取存储空间112为给文件系统104分配的存储空间108中未被使用的存储空间。
29.在一些实施例中,为了保证回收的可获取存储空间112不在较短的时间之后又需要重新分配给文件系统104,需要在多个未来时刻的每个时刻开始回收的存储空间至少能够持续阈值时长。这样才能避免回收存储空间和重新分配存储空间的计算资源的浪费。因此,一组候选未来时刻中的每个时刻到多个未来时刻的最后一个时刻的时长要大于阈值时长。
30.计算设备102需要确定与一组候选时刻中的每个候选时刻相关联的表征可获取存储能力的预测值。该预测值是由在该候选时刻可获取存储空间的大小和可获取时长确定的。在一些实施例中,该预测值为可获取存储空间的大小与可获取时长的乘积。乘积越大,表明回收存储空间得到的效果越好。在一些实施例中,可获取存储空间112是由在该候选未来时刻确定的最大使用存储空间和当前时刻分配的存储空间108确定的。在一个示例中,使用当前时刻分配的存储空间108减去在该候选时刻确定的最大使用存储空间来确定可获取存储空间112。上述示例仅是用于描述本公开,而非对本公开的具体限定。
31.计算设备102从计算的预测值中查找是否大于阈值的目标预测值。在一些实施例中,该阈值是被预先设置的,其考虑了回收的可获取存储空间112和存储时长得到的效果和执行回收操作而使用的计算资源。在一些实施例中,该阈值可以被设置为任意合适的值。在一些实施例中,该目标预测值是计算得到的与一组候选时刻相对应的一组预测值中的最大
值。上述示例仅是用于描述本公开,而非对本公开的具体限定。
32.如果计算设备102从所计算的预测值中能够找到目标预测值,则确定出从当前时刻到与目标预测值相对应的目标时刻的时长确定为回收存储空间的目标时长。然后根据该目标时长确定是否执行回收可获取存储空间的操作。
33.计算设备102在每经过预定时长,需要重新进行预测并重新选取目标时刻。如果计算得到的回收可获取存储空间112的目标时长小于从预定时长,则可以在目标时刻执行存储空间回收操作。如果计算得到的目标时长长于从该预定时长,在该次预测和确定目标时刻的过程中不会执行可获取存储空间112的回收。
34.存储装置106中具有为文件系统104分配的存储空间108。该存储空间108包括文件系统104使用的存储空间110,和分配给文件系统104但未被使用的、可以被回收的可获取存储空间112。
35.如图1所示,图1中示出了计算设备102中运行有一个文件系统104,并且存储装置106中具有对应于文件系统104的分配的存储空间108。计算设备102中运行一个文件系统104,并且存储装置106包括用于文件系统104的一个分配的存储空间108仅是为了便于描述本公开,而非对本公开的具体限定。在其他实施例中,计算设备102中可以运行任意数目的多个文件系统,并且存储装置106中具有与多个文件系统相对应的多个分配的存储空间。
36.通过上述方法,不仅提高了存储空间的利用率,还改进了存储系统的性能和空间效率,改善了用户体验。
37.上面结合图1描述了根据本公开的实施例的设备和/或方法可以在其中被实施的环境100的示意图。下面结合图2描述根据本公开的实施例的用于管理存储空间方法200的流程图。方法200可以在图1中的计算设备102或任何其他适当设备处执行。
38.在框202处,计算设备102基于文件系统104在一组历史时刻和当前时刻已使用的存储空间的大小,确定文件系统104在多个未来时刻将要使用的存储空间的多个预测大小。由于文件系统104使用的存储空间通常与历史使用的存储空间有关,因此计算设备102可以通过已使用的存储空间来预测未来要使用的存储空间。
39.在一些实施例中,计算设备102获取在一组历史时刻和当前时刻的已使用的存储空间的大小。然后,计算设备102基于已使用的存储空间的大小和存储空间预测模型来确定多个预测大小,存储空间预测模型是通过将文件系统104在第一参考时刻使用的存储空间的第一参考大小作为输入并将在第一参考时刻之后的第二参考时刻使用的存储空间的第二参考大小作为输出来训练的。存储空间预测模型的训练过程将在下面结合图5进行描述。通过这种方式,可以快速的预测出在未来时刻要使用的存储空间大小,提高了预测效率和准确性。
40.在一些实施例中,确定作为输入的已使用存储空间的大小,然后对已使用存储空间的大小进行预定处理。然后将经处理的已使用存储空间的大小输入存储空间预测模型进行训练。在一个示例中,在进行预定处理时,将相邻时刻的已使用存储空间大小进行相减操作。备选地或附加地,对相减操作后的数据进行归一化处理。通过这种方式,可以减少数据的处理量,提高数据处理效率。上述示例仅是用于描述本公开,而非对本公开的具体限定。
41.在框204处,计算设备102基于多个预测大小,确定多个未来时刻中的一组候选未来时刻的可获取存储空间的大小和可获取时长,可获取存储空间为分配给文件系统104的
存储空间中未被使用的存储空间。利用多个预测大小确定可获取存储空间大小和可获取时长的过程将在下面结合图3进行描述。
42.在框206处,计算设备102基于一组候选未来时刻的可获取存储空间的大小和可获取时长,确定表征一组候选未来时刻的可获取存储能力的多个预测值。
43.在一些实施例中,该预测值由可获取存储空间大小和获取时长的乘积来确定。在一些实施例中,可对可获取的存储空间的大小和可获取时长进行其他合适的操作来确定预测值,例如对可获取存储空间的大小和/或可获取时长进行预定的数学变换,诸如计算它们的平方根,然后基于变换后的值来确定预测值。上述示例仅是用于描述本公开,而非对本公开的具体限定。本领域技术人员可以设置任意合适的方式基于可获取存储空间大小和获取时长来确定预测值。
44.在框208处,计算设备102基于多个预测值,从一组候选未来时刻中确定目标时刻,以回收目标时刻的可获取存储空间的至少一部分。计算设备102需要从一组候选未来时刻中找到可以执行回收操作的目标时刻。
45.在一些实施例中,计算设备102先从多个预测值中确定大于第一阈值的至少一个候选预测值,其中第一阈值是预先设置的。然后,计算设备102从至少一个侯选预测值中确定目标预测值。在一些实施例中,在至少一个候选预测值包括多个候选预测值时,计算设备102将多个候选预测值中的最大的候选预测值确定为目标预测值。通过这种方式,可以快速的从多个候选预测值中找出合适的目标预测值。
46.然后,计算设备102基于目标预测值来确定目标时刻。通过目标预测值在多个未来时刻中找到目标时刻。通过这种方式,可以快速准确确定出要回收可获取存储空间的时刻,提高了回收的效率,节省了时间。
47.在一些实施例中,计算设备102确定从当前时刻到与确定出的目标时刻的目标时长。然后,计算设备102确定目标时长是否小于第二阈值时长,其中第二阈值时长是预先设置的用于重新进行预测并确定目标时刻的时长。
48.如果确定目标时长小于或等于第二阈值时长,在目标时刻回收目标时刻的可获取存储空间的所述至少一部分。通过这种方式,可以快速准确的对可获取存储空间进行回收。如果目标时长大于第二阈值时长,则不会进行或获取存储空间的回收操作。
49.通过上述方法,不仅提高了存储空间的利用率,还改进了存储系统的性能和空间效率,改善了用户体验。
50.以上结合图2描述了根据本公开的实施例的用于管理存储空间的方法200。下面将结合图3来描述用于确定可获取存储空间的大小和可获取时长的方法。图3图示了根据本公开的实施例的用于确定可获取存储空间的大小和可获取时长的流程图。图3中的方法300可由图1中的计算设备102或任何其他适当设备执行。
51.在框302处,计算设备102从多个预测大小中确定与多个未来时刻中的第一候选未来时刻相关联的第一预测大小。计算设备102确定一组候选未来时刻中的每个候选未来时刻的可获取存储空间大小和可获取时长。
52.在框304处,计算设备102基于第一预测大小,从多个未来时刻中确定第二未来时刻,与第一候选时刻和所述第二未来时刻之间的每个时刻的预测大小均小于或等于所述第一预测大小。因此,计算设备102从多个未来时刻选出的第一候选未来时刻和第二未来时刻
之间的未来时刻的预测大小小于第一预测大小。
53.在框306处,计算设备102确定第一候选未来时刻和第二未来时刻之间的实际时长是否大于或等于第一阈值时长。该第一阈值时长是预先设置的,其是为了保证回收的或获取存储空间可以被执行至少阈值时长。
54.如果确定第一候选未来时刻和第二未来时刻之间的实际时长大于或等于第一阈值时长,在框308处,计算设备102将实际时长确定为第一候选未来时刻的可获取时长。
55.在框310处,计算设备102基于第一预测大小和分配的存储空间大小,确定第一候选未来时刻的可获取存储空间的大小。在一个示例中,所分配的存储空间大小为当前时刻分配的存储空间大小。上述示例仅是用于描述本公开,而非对本公开的具体限定。
56.如果确定实际时长小于第一阈值时长,在框312处,计算设备102将第一阈值时长确定为可获取时长。由于实际时长较短,表明此时回收的可获取存储空间不能被执行阈值时长,这种会使得存储空间被回收后又在很短的时间为文件系统分配存储空间,浪费了回收存储空间和分配存储空间所使用的计算资源。因此,计算设备102将第一阈值时长确定为可获取时长。
57.在框314处,计算设备102确定由第一候选未来时刻之后的距第一候选未来时刻的时长在第一阈值时长内的未来时刻形成的未来时刻集合。计算设备102根据第一阈值时长确定未来时刻集合。
58.在框316处,计算设备102基于与未来时刻集合的最大预测大小和分配的存储空间大小,确定可获取存储空间的大小。计算设备102从与未来时刻集合相关联的存储空间大小找出最大的预测大小,然后利用分配的存储空间大小减去最大的预测大小得到可获取的存储空间大小。
59.通过该方法,计算设备可以快速的确定出候选未来时刻可获取存储空间的大小和时刻,使得可以更准确的确定回收可获取存储空间的效果,改进了可获取存储空间的使用效率。
60.上面结合图3描述了用于确定可获取存储空间的大小和可获取时长的流程图。下面结合图4描述了时刻和存储空间的对应关系图400。
61.如图4所示,时刻与存储空间对应关系图200中横轴为时刻数目,与邻时刻数目对应的两个时刻之间的时段的具有预定时长。图200的竖轴为文件系统104的存储空间,单位为例如gb,为了描述方便,下面的描述中不使用存储空间的单位,而只使用存储空间大小的值。
62.曲线402表示在不同的时刻文件系统104要使用的存储空间,而曲线404则表示由计算设备102在不同时刻分配给文件系统104的存储空间。存储空间预测模型可以预测20个时刻要使用的存储空间的预测大小,而阈值时长设置为10倍的预定时长。因此,阈值时长对应的时刻数目大小相差10。
63.如图4所示,当时刻数为第19个时,已用空间的值为53,分配空间的值为70,则预测第19个时刻之后的20个时刻:第20个时刻-第39个时刻的预测存储空间大小为s
预测
=[50,47,43,40,37,34,32,31,30,30,35,32,34,37,40,44,50,54,59,65]。预测时刻的分配的存储空间均为第19个时刻时的存储空间70。
[0064]
如果在第20个时刻开始回收存储空间,第20个时刻使用的存储空间大小为50。在
第20个时刻之后使用的存储空间的大小一直小于或等于第20个时刻的使用的存储空间大小(例如50)的最后结束时刻为第36个时刻。从第20上时刻到第36个时刻的使用存储空间大小的最大值为50,因此可回收的存储空间大小为20。针对第20个时刻的预测值w1=16
×
20
×
预定时长=320
×
预定时长,其对应于区域408的面积。
[0065]
如果在第23个时刻点开始回收存储空间,第23个时刻使用的存储空间大小为40。在第23个时刻之后使用的存储空间的大小一直小于或等于第23个时刻的使用的存储空间大小(例如40)的时刻为第34个时刻,第34个时刻的存储空间大小为40。此时,可回收的存储空间大小为30。则针对第23个时刻的预测值为w4=11
×
30
×
预定时长=330
×
预定时长,其对应于区域406的面积。
[0066]
如果在第26个时刻开始回收存储空间,第26个时刻使用的存储空间大小为32。由于阈值时长为10个时间间隔,因此结束点不为第30个时刻,而是第36个时刻。从这些时刻点中选取最大的预测存储空间大小,例如第36个时刻的预测存储空间大小为50。则针对第26个时刻的预测值为w7=10
×
20
×
预定时长=200
×
预定时长。设置阈值时长是为了保证回收的存储空间能够被回收足够的时长,避免刚回收的存储空间又被分配,浪费了回收存储空间和分配存储空间的计算资源。由于阈值时长的限制,因此,在20个预测时刻中只计算到第29个时刻的预测值。
[0067]
根据预测值wi的大小,存储空间回收可以从第23个时刻开始。通过上述方式,可以选择合适的时刻进行存储空间回收。提高了可获取存储资源的大小和利用率。
[0068]
上面结合图4描述了与时刻和存储空间对应关系图400的示意图。下面结合图5描述用于训练存储空间预测模型过程500的示意图。
[0069]
对于在上面预测存储空间的过程中使用的存储空间预测模型是预先训练好的。在训练该存储空间预测模型的过程中,首先要获取文件系统在过去使用的存储空间的第一组历史大小502和与在要预测的时刻的已使用的第二组历史大小。例如在n个历史时刻的第一组历史大小为s=[s1,s2,s3,
……
,sn],其中n为大于1的正整数。
[0070]
然后对第一组历史大小进行预处理以得到经处理的第一组历史大小504。在一些实施例中,将第一组历史大小前后时刻的历史存储空间大小进行相减,然后再对相减得到的数据进行归一化处理就得到经处理的第一组历史大小504。例如将第一组历史大小s转换为一组数据d-s=[s
2-s1,s
3-s2,
……
,s
n-s
n-1
],然后对转换后的一组数据d-s进行归一化处理,使得归一化处理后的一组数据d-s中的每个数据项的大小在-1到1之间。
[0071]
然后将经处理的第一组历史大小作为输入,并将第二组历史大小作为输出来训练存储空间预测模型506。在一个示例中,该存储空间预测模型为长短期记忆人工神经网络(long-short term memory,lstm)模型。在其他示例,该存储空间预测模型可以为其他任意合适的机器学习模型,包括各种神经网络模型。上述示例仅是用于描述本公开,而非对本公开的具体限定。
[0072]
通过上述方式,可以快速的训练好存储空间预测模型,减少了模型的训练时间,并且减少了训练过程中的计算量。
[0073]
上面结合图5描述了用于训练存储空间预测模型过程500的示意图。下面结合图6描述在多个预测周期调整存储空间预测模型的过程600的示意图。
[0074]
将训练好的存储空间预测模型用于管理存储空间602。在管理存储空间602的过程
中,统计存储空间回收错误次数604。如果存储空间被回收后在阈值时间内又被分配给文件系统,则确定为一次存储空间回收错误。如查在预定次数(例如10次)的存储空间回收操作中错误的次数超过阈值次数,例如2次,则需要重新训练存储空间预测模型606。然后将重新训练的存储空间预测模型用于管理存储空间602。在一些实施例中,可以在预定次数的预测之后将存储空间回收错误次数置0,例如在进行10次预测操作以管理存储空间之后将错误次数置0。
[0075]
通过这种方式,可以使得存储空间预测模型更准确,提高了预测的效果,改进了存储空间利用率。
[0076]
图7示出了可以用来实施本公开内容的实施例的示例设备700的示意性框图。例如,如图1所示的计算设备102可以由设备700来实施。如图所示,设备700包括中央处理单元cpu 701,其可以根据存储在只读存储器rom 702中的计算机程序指令或者从存储单元708加载到随机访问存储器ram 703中的计算机程序指令,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。cpu 701、rom 702以及ram 703通过总线704彼此相连。输入/输出i/o接口705也连接至总线704。
[0077]
设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0078]
上文所描述的各个过程和处理,例如方法200和300可由处理单元701执行。例如,在一些实施例中,方法200和300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到ram 703并由cpu 701执行时,可以执行上文描述的方法200和300的一个或多个动作。
[0079]
本公开的实施例涉及方法、电子设备和/或计算机程序产品。本公开的实施例还可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
[0080]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子,非穷举的列表,包括:便携式计算机盘、硬盘、随机存取存储器ram、只读存储器rom、可擦式可编程只读存储器eprom或闪存、静态随机存取存储器sram、便携式压缩盘只读存储器cd-rom、数字多功能盘dvd、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波,例如,通过光纤电缆的光脉冲、或者通过电线传输的电信号。
[0081]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计
算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0082]
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构isa指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言-诸如smalltalk、c++等,以及常规的过程式编程语言-诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络-包括局域网lan或广域网wan-连接到用户计算机,或者,可以连接到外部计算机,例如利用因特网服务提供商来通过因特网连接。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列fpga或可编程逻辑阵列pla,该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
[0083]
这里参照根据本公开实施例的方法、装置/系统和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0084]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0085]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0086]
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0087]
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领
域的其它普通技术人员能理解本文披露的各实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1