在具有有限存储容量的系统中的数据的连续存储的制作方法

文档序号:30523125发布日期:2022-06-25 05:43阅读:64来源:国知局
在具有有限存储容量的系统中的数据的连续存储的制作方法
在具有有限存储容量的系统中的数据的连续存储


背景技术:

1.本公开涉及电子数据存储,并且更具体地涉及在具有有限存储容量的系统中的数据的连续存储。
2.研究人员分析非常大的公共数据集(诸如卫星图像)以辅助各种关键任务变得越来越普遍。在一些情况下,公共数据与其他信息组合以导出附加数据。但是,因为这些数据集可能非常大,所以通常在分析期间耗尽用于数据的存储空间。例如,地质或环境研究人员可以分析来自整个国家的卫星图像。试图保存从卫星图像导出的信息,如关于农作物健康、各种道路和水体的状态等的数据,可以产生如此大的数据集,使得研究人员耗尽磁盘空间。在现有系统中,当发生类似问题时,可能发生错误或者用户必须在可以摄取和处理新数据之前决定要从存储系统中删除哪些数据,这可能需要用户之间的协调并且导致删除不期望的数据。这是耗时的并且可能难以实现,因为数据所有者可能不再在附近,并且希望回收存储空间的用户无法获得关于如何重新生成导出信息的信息。


技术实现要素:

3.实施例包括一种计算机实现的方法。该方法包括接收访问第一存储位置处的数据的请求。该方法还包括:基于目录并且使用计算机处理器来确定该数据已经从第一存储位置移除,并且作为响应,使用该计算机处理器在第一存储位置处自动地重新创建该数据。该重新创建包括:基于该目录识别该数据的第二存储位置;从第二存储位置检索(retrieve)该数据;以及将该数据存储在第一存储位置处。该方法还包括更新该目录以反映在第一存储位置处重新创建该数据。
4.实施例还包括一种系统。该系统包括处理器和包含程序的存储器,该程序当在处理器上执行时执行操作。该操作包括接收访问第一存储位置处的数据的请求。该操作还包括:基于目录并且使用计算机处理器来确定该数据已经从第一存储位置移除,并且作为响应,使用该计算机处理器在第一存储位置处自动地重新创建该数据。该重新创建包括:基于该目录识别该数据的第二存储位置;从第二存储位置检索该数据;以及将该数据存储在第一存储位置处。操作还包括更新该目录以反映在第一存储位置处重新创建该数据。
5.实施例还包括一种用于自动重新创建从存储装置中移除的数据的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质中包含有计算机可读程序代码,该计算机可读程序代码能由一个或多个计算机处理器执行以执行操作。该操作包括接收访问第一存储位置处的数据的请求。该操作还包括:基于目录并且使用计算机处理器来确定该数据已经从第一存储位置移除,并且作为响应,使用该计算机处理器在第一存储位置处自动地重新创建该数据。该重新创建包括:基于该目录识别该数据的第二存储位置;从第二存储位置检索该数据;以及将该数据存储在第一存储位置处。该操作还包括更新该目录以反映在第一存储位置处重新创建该数据。
附图说明
6.现在将参考附图仅通过示例的方式来描述本发明的实施例,在附图中:
7.图1示出了根据一个实施例的在具有有限存储容量的系统中的数据的存储。
8.图2示出了根据一个实施例的用于在具有有限存储容量的系统中的数据的连续存储的软件服务。
9.图3示出了根据一个实施例的运行用于在具有有限存储容量的系统中的数据的连续存储的软件服务的服务器。
10.图4是根据一个实施例的在具有有限存储容量的系统中的数据的连续存储的流程图。
11.图5是根据一个实施例的作为在具有有限存储容量的系统中的数据的连续存储的一部分的用于重新生成数据的流程图。
12.图6是根据一个实施例的作为在具有有限存储容量的系统中的数据的连续存储的一部分的用于释放盘空间的流程图。
13.图7是根据一个实施例的作为在具有有限存储容量的系统中的数据的连续存储的一部分的用于重新生成所请求的数据的流程图。
具体实施方式
14.本文中所公开的一个或多个实施例涉及允许用户在本地位置中无缝地存储远程可访问的数据而无需担心存储容量的软件服务。在实施例中,在目录系统中记录这样的远程数据源,其中用户已经从该远程数据源中检索了数据。与数据检索相关联的统计数据和信息(例如,下载时间、文件大小、所使用的资源)也被存储在目录中。当面对有限存储容量时,软件服务使用该信息来自动地确定哪些数据可以最容易检索和重新创建。软件服务随后可以通过删除更容易检索和重新创建的数据来释放存储空间。如果用户稍后请求该数据,则可以无缝地检索和重新创建该数据。
15.另外,在一个或多个实施例中,软件服务可以跟踪用来处理所下载的数据并且导出新数据的脚本。标识这些脚本的信息还可以连同提供给脚本的输入参数一起被保存,并且可以被用作当确定删除哪些数据以释放存储空间时的因素。作为数据的重新创建的一部分,服务可以使用这些脚本和任何输入参数来处理所下载的数据并且重新创建所导出的数据。
16.图1示出了根据一个实施例的在具有有限存储容量的系统中的数据的存储。计算环境100包括一个或多个用户102。这些用户102访问数据检索服务122以从数据源110中检索数据。在实施例中,数据源110是公开可访问的。例如,用户102可以是使用公开可用的地理数据的研究人员。数据源110可以是公共数据存储库或网站。作为另一示例,数据源110可以是使用因特网或其他广域网可访问的存储库。用户102可以使用用户设备(例如,膝上型计算机、台式计算机、智能电话、平板计算机等)来发送对于来自数据源110的数据的请求。该请求可以来自于用户设备上的任何合适的软件,包括网络浏览器、研究应用等。
17.数据检索服务122从数据源110中检索数据。然后,数据检索服务122将数据存储在存储装置150(例如,电子数据库、云存储位置或文件系统)中,并且使用目录140来存储关于数据来源和检索的细节。在实施例中,存储在目录140中的信息充当标识关于数据来源和检
索的细节的元数据。例如,目录140可以是电子数据库(例如,关系数据库、图形数据库、或任何其他合适的数据库)中的表。在实施例中,存储装置150位于由用户102所使用的计算设备上。替选地,用户102可使用局域网(lan)(例如,企业网络)来访问存储装置150。作为另一替选,用户可从专用远程位置(例如,远程电子数据库、公共云或私有云)或其他合适位置来访问存储装置150。
18.数据检索历史130可以存储在目录140中,并且可以包括关于所接收到的数据的来源(例如,源)的数据和关于检索数据的统计数据。例如,数据检索历史130可以包括以下表t1中的信息:
19.数据源《url》,《url:镜像》,

数据大小:《字节》下载时间:《秒》处理时间:《秒》所使用的cpu资源:《cpu的#》,《使用%》所使用的存储器:《%使用》文件系统路径:《路径1》,《路径2》,

20.表t1
21.在这个示例中,“数据源”行存储数据的公共可用源的地址。例如,该行可以存储数据源的统一资源定位符(url)和镜像url。“数据大小”行存储所下载的数据的大小(例如,以字节为单位)。“下载时间”行存储用来下载数据的时间(例如,以秒为单位)。
[0022]“处理时间”行存储在下载之后处理数据的时间(例如,以秒为单位)。在实施例中,用户102可以使用数据处理服务124以使用脚本来处理所下载的数据(例如,对数据执行变换或对数据进行过滤)。原始数据和经处理的数据或两者可以存储在存储装置150中。
[0023]
另外,在实施例中,数据处理服务124存储用来处理所下载的数据(例如,对数据执行变换或对数据进行过滤)的任何脚本的标识信息(例如,文件路径、数据库路径、网络地址等)。例如,数据处理服务124可以将这些脚本或标识脚本的位置的信息存储在存储装置150中、目录240中或任何其他合适的位置中。在实施例中,数据处理服务124还将提供给脚本的输入参数存储(例如在目录140或其他合适的位置中)。
[0024]
当将目录保存在数据库中时,“处理时间”行可以存储执行该处理所需的时间。另外,“所使用的cpu资源”行可以存储在处理期间的cpu使用情况的统计数据(例如,所使用的cpu的数量和所使用的可用处理能力的百分比),并且“所使用的存储器”行可以存储在处理期间的存储器使用情况的统计数据(例如,所使用的可用存储器的百分比)。“文件系统路径”行可以存储所下载的数据(以及,如果可适用的话,经处理的数据)的路径。这些仅是示例,并且可以将任何合适的数据维持在数据检索历史130中。
[0025]
在实施例中,用户102可以使用合适的网络连接来访问数据检索服务122和数据处理服务124。例如,如以下关于图3更详细讨论的,在实施例中,数据检索服务122和数据处理服务124是在一个或多个计算机服务器上运行(例如,在公共或私有云计算系统上运行)的软件服务。在该实施例中,用户102可以使用lan、广域网(wan)或任何其他合适的网络来访问数据检索服务122和数据处理服务124。例如,数据检索服务122和数据处理服务124可以经由因特网来访问,并且用户102可以使用合适的网络(web)服务应用编程接口(api)来访
问这些服务。
[0026]
图2示出了根据一个实施例的用于在具有有限存储容量的系统中的数据的连续存储的软件服务。与图1中所示的计算环境100类似,计算环境200包括一个或多个用户102。这些用户102访问数据检索服务122以从数据源110中检索数据。例如,正如图1中一样,用户102可以是使用公开可用的地理数据的研究人员。数据源110可以是公共数据存储库或网站。例如,数据源110可以是使用因特网或其他广域网可访问的存储库。
[0027]
数据检索服务122从数据源110中检索数据。然后,数据检索服务122将数据存储在存储装置150(例如,图1中所示的存储装置150)中,并且使用目录240来存储关于数据来源和检索的细节。例如,与图1中所示的目录140一样,目录240可以是电子数据库中的表。
[0028]
计算环境200包括两个附加服务:文件重新创建服务226和文件移除服务228。在实施例中,文件移除服务228促进从存储装置150中移除数据以允许数据的连续存储。这在以下关于图6更详细地讨论。
[0029]
在实施例中,文件重新创建服务226促进已经被文件移除服务228删除的文件的重新创建。另外,文件重新创建服务226促进由数据处理服务124使用任何脚本来处理所下载的数据(例如,由数据处理服务124或其他合适的服务所标识的脚本)。这使得由文件移除服务对文件的移除对于用户而言是透明的。即,用户102可以在计算环境200中操作,而无需知晓什么数据实际上存储在存储装置150中以及什么数据已经被移除以节省存储空间。这在以下关于图4-图7更详细地讨论。
[0030]
在实施例中,文件重新创建服务226使用目录240来促进文件的重新创建。例如,目录240可以存储数据检索历史230。与图1中所示的数据检索历史130一样,数据检索历史230可以包括关于所接收到的数据的来源(例如,源)的数据和关于检索数据的统计数据。数据检索历史230还可以包括关于先前检索到的数据是否存储在存储装置150中的数据。该数据可以用作重新创建服务的重新创建参数。例如,数据检索历史230可以包括以下表t2中的重新创建参数:
[0031]
表t2
[0032]
如图所示,表t2包括与上述表t1相同的行,并且还包括“文件可用?”行。在实施例
中,该行指示相关联的数据是否存储在存储装置150中(例如,数据是否已经被文件移除服务228移除)。
[0033]
另外,表t2包括“处理脚本”行。在实施例中,该行用来存储由数据处理服务124用来在数据已经被检索之后处理该数据的处理脚本的位置。例如,数据处理服务124可以在处理检索到的数据之后在数据检索历史230中存储用于处理的脚本(包括存储这些脚本的机器)的路径。该路径可以是文件路径、数据库路径、网络地址或url、或标识处理脚本的位置的任何其他合适的路径。另外,在实施例中,该行(或附加行)存储用来操作脚本的输入参数。数据处理服务124可以在处理检索到的数据时将这些输入参数提供给脚本。
[0034]
图3示出了根据一个实施例的运行用于在具有有限存储容量的系统中的数据的连续存储的软件服务的服务器300。服务器300包括处理器302、存储器310和网络组件320。处理器302通常检索并且执行存储在存储器310中的编程指令。处理器302被包括以代表单个中央处理单元(cpu)、多个cpu、具有多个处理核的单个cpu、具有多个执行路径的图形处理单元(gpu)等。另外,服务器300可以是单个服务器计算机,或者可以表示服务器计算机集合(例如,一起管理)。
[0035]
网络组件320包括由服务器300与无线或有线通信网络进行接口连接(例如,与图1和图2中所示的用户102和数据源110进行通信)所需的组件。例如,网络组件320可以包括wifi或蜂窝网络接口组件及相关联的软件、或有线网络接口组件(例如,以太网组件、光纤组件等)。
[0036]
尽管存储器310被示出为单个实体,但是存储器310可以包括具有与物理地址相关联的存储器块的一个或多个存储器设备,诸如随机存取存储器(ram)、只读存储器(rom)、闪存、或其他类型的易失性和/或非易失性存储器。存储器310通常包括用于执行与服务器300的使用相关的各种功能的程序代码。程序代码通常被描述为存储器310内的各种功能“应用”或“模块”,尽管替代实现方式可以具有不同功能和/或功能组合。
[0037]
存储器310包括数据检索服务122。在实施例中,这是图1-图2中所示的数据检索服务122。如在那些图中所讨论的,数据检索服务122促进(例如,来自如图1和图2中所示的数据源110的)数据的检索和存储。存储器310还包括数据处理服务124。在实施例中,这是图1-图2中示出的数据处理服务124。如在那些图中所讨论的,数据处理服务124处理从数据源中下载的数据(例如,对数据执行变换或对数据进行过滤)。
[0038]
存储器310还包括文件移除服务228。在实施例中,这是图2中所示的文件移除服务228。如图2中所示,文件移除服务228促进先前下载的文件的移除,以节省空间,同时促进数据的连续存储。
[0039]
存储器310还包括文件重新创建服务226。在实施例中,这是图2中所示的文件重新创建服务226。如图2中所示,文件重新创建服务226促进已经下载并且然后被移除以节省存储空间(例如,使用文件移除服务228)的文件的重新创建。
[0040]
如图3中所示,在服务器300中实现服务122、124、226和228。这仅仅是一个示例。替选地,服务122、124、226和228可以各自运行在单独的服务器上,或者服务的任何组合可以运行在任何数量的服务器上。另外,特定服务可以分布在多个服务器上(例如,用于负载管理)。
[0041]
图4是根据一个实施例的在具有有限存储容量的系统中的数据的连续存储的流程
图400。在方框402处,用户(例如,图1-图2中所示的用户102中的一个)请求数据(例如,从图1-图2中所示的存储装置150或数据源110)。在实施例中,用户将数据请求发送到数据检索服务(例如,图1-图3中所示的数据检索服务122)。
[0042]
在方框404处,数据检索服务检查所请求的数据是否具有目录(例如,图2中所示的目录240)中列出的元数据。目录中列出的数据指示例如数据检索服务先前已下载了所请求的数据(例如,用户或另一用户先前已请求了该数据)。例如,数据检索服务可以使用表t2中所示的“文件可用?”行来确定数据在存储装置150中是否可用。如果肯定地回答了方框404,那么流程进行到方框406,在方框406中,数据检索服务检查所请求的数据是否在本地可用。例如,使用表2的示例,目录可以包括数据检索历史(例如,图2中所示的数据检索历史230)中的“文件可用?”行。
[0043]
如果该方框返回真,则所请求的数据在本地可用。流程前进到方框408,并且数据检索服务返回所请求的数据。替选地,数据检索服务可以返回所请求的数据的本地文件路径。在实施例中,还可以将该本地文件路径作为数据检索历史的一部分存储在目录中。
[0044]
返回到方框406,如果所请求的数据在本地不可用,则流程进行到方框410。在方框410处,文件重新创建服务(例如,图2-图3中所示的文件重新创建服务226)重新生成所请求的数据。在实施例中,文件重新创建服务从相关联的数据源下载所请求的数据,并且对该数据进行任何附加处理。另外,文件重新创建服务可以使用数据检索服务和数据处理服务(例如,图1-图3中所示的数据处理服务124)来执行这些动作。这关于图5进一步讨论。
[0045]
在实施例中,文件重新创建服务可以跟踪数据的重新创建。例如,可以向系统管理员提供识别已经被重新创建的数据的监视服务。这可以是实时监视系统、日志或者任何其他合适的系统。系统管理员可以使用监视系统来识别被重复地重新创建的数据,以允许系统管理员解决任何问题(例如,改变文件移除参数以避免流失)。监视系统还可以包括cpu使用情况、存储器使用情况、带宽使用情况等。
[0046]
在实施例中,文件重新创建系统还可以在重新创建数据时向系统管理员提供警报。这可以允许系统管理员确定存储装置(例如,图1-图2中所示的存储装置150)没有包括足够的空间。例如,虽然本文中所示的技术中的一个或多个可以促进数据的连续存储,而没有错误,但是数据的重复移除和重新创建可以使用系统资源(例如,用于检索数据的网络带宽和用于处理数据的cpu资源)。系统管理员可以使用警报来识别被重复地移除和重新创建的数据,并且确定是否应该添加(或分配)附加空间以避免移除和重新创建。
[0047]
然后,流程进行到方框408。在方框408处,如以上所讨论的,文件重新创建服务返回所请求的数据或所请求的数据的标识符(例如,文件路径)。
[0048]
返回到方框404,如果数据不包括目录中的相关联的元数据,则流程进行到方框412。这意味着例如数据检索服务先前未下载所请求的数据。在方框412处,文件移除服务(例如,图2-图3中所示的文件移除服务228)释放磁盘空间(如果需要的话)。这在以下关于图6进一步讨论。在实施例中,这可以避免磁盘空间错误。在不释放磁盘空间的情况下,检索和处理所请求的数据可能最终使用比可用的磁盘空间更多的磁盘空间,从而导致错误。在检索和处理数据之前,文件移除服务可以通过在方框412处释放磁盘空间来避免这些错误。
[0049]
在方框414处,数据检索服务生成所请求的数据。在实施例中,数据检索服务下载所请求的数据,并且数据处理服务对该数据进行任何附加处理。这在以下关于图7进一步讨
论。
[0050]
在方框416处,数据检索服务或其他合适的服务(例如,文件重新创建服务)存储数据(例如,在图1-图2中所示的存储装置150中)。如以上结合图1所讨论的,在实施例中,数据被本地存储在请求该数据的客户端设备上(例如,在用户的本地硬盘驱动器上)。替选地或附加地,数据被存储在用户可访问的系统中(例如,经由通信网络)。例如,用户可以是研究组织的一部分,该研究组织维护用于与正在进行的项目一起使用的系统(例如,网络文件系统、数据库或云存储系统)。存储位置可以远离用户,可由用户通过通信网络来访问。
[0051]
在方框418处,数据检索服务更新目录。如以上关于图2所讨论的,在实施例中,数据检索服务维护具有数据检索历史(例如,数据检索历史230)的目录(例如,目录240)。该数据检索历史包括与检索到的数据相关的各种数据。以上表2是合适数据的一个示例。在方框418处,数据检索服务更新目录中的数据检索历史(例如,更新下载大小、下载速度、数据处理统计数据等)。流程随后进行到方框408,并且如上所述地返回数据。
[0052]
图5是根据一个实施例的作为具有有限存储容量的系统中的数据的连续存储的一部分的用于重新生成数据的流程图。在实施例中,图5与图4中所示的方框410相对应。在方框502处,文件重新创建服务(例如,图2-图3中所示的文件重新创建服务226)根据目录(例如,图2中所示的目录140)识别所请求的数据的数据源。在实施例中,文件重新创建服务读取与所请求的数据相关联的目录条目(例如,数据库表),并且识别存储在目录中的数据源信息(例如,url或镜像url)。例如,文件重新创建服务可以使用表t2中所示的“数据源”行。
[0053]
在方框504处,文件重新创建服务(或文件移除服务或其他合适的服务)释放需要的磁盘空间。在实施例中,方框504与图4中所示的方框412相对应。这在以下关于图6进一步讨论。
[0054]
在方块506处,文件重新创建服务生成数据。在实施例中,方框506与图4中所示的方框414相对应。例如,在方框506处,文件重新创建服务可以下载所请求的数据,并且可以对该数据进行任何附加处理。这在以下关于图7进一步讨论。
[0055]
图6是根据一个实施例的作为在具有有限存储容量的系统中的数据的连续存储的一部分的用于释放磁盘空间的流程图。在实施例中,图6对应于(图4中所示的)方框412和(图5中所示的)方框504。
[0056]
在方框602处,文件重新创建服务(例如,图2-图3中所示的文件重新创建服务226)或其他合适的服务确定磁盘空间是否可用。在实施例中,该服务识别存储装置(例如,图1-图2中所示的存储装置150)中可用的空闲空间量和由检索到的数据所需的空间量。如果该数据先前已经被检索过并且具有相关联的目录条目,则该目录可以用来确定需要的存储空间量。替选地,文件重新创建服务可以根据数据源(例如,图1-图2中所示的数据源110)确定需要的存储空间量。
[0057]
如果有足够的磁盘空间,则流程结束。如果没有足够的磁盘空间,则流程进行到方框604。在方框604处,文件移除服务(例如,图2-图3中所示的文件移除服务228)识别要移除的数据(例如,一个或多个文件)。在实施例中,文件移除服务使用目录来识别要移除的数据。文件移除服务可以基于存储在目录中的重新创建参数(例如,下载大小、下载时间、处理时间等)来识别可以最容易重新生成的数据。
[0058]
例如,文件移除服务可以使用表t2中所示的“数据大小”行来识别下载最小的数
据。文件移除服务可以使用表t2中所示的“下载时间”行来识别下载最快的数据。文件移除服务可以使用表t2中所示的“处理时间”行来识别处理最快的数据。文件移除服务可以使用表t2中的“所使用的cpu资源”行来识别使用最少cpu资源进行处理的数据。文件移除服务可以使用表t2中所示的“所使用的存储器”行来识别使用最少存储器资源进行处理的数据。这些仅是示例。文件移除服务可以使用这些行中的任何(或全部)行以及其他数据来识别要移除的数据。
[0059]
另外,文件移除服务可以识别不经常使用的数据、可能过时的数据等。例如,目录可以跟踪数据最后被访问的时间以及数据被访问的频率(例如,作为表t2中的行),并且其可以用来识别不经常使用的数据。这些仅是示例,并且可以使用任何合适的参数。
[0060]
在实施例中,文件移除服务包括用于识别要移除的数据的默认参数。用户或管理员可配置这些参数(例如,使用合适的用户接口)。替选地,文件移除服务可以包括不能被用户更改的参数。
[0061]
作为另一示例,文件移除服务可以在识别要移除的数据时考虑云存储相关的成本。许多云系统对处理能力、网络带宽、存储等收费。文件移除服务可以使用包括在目录中的数据来估计与重新创建被移除的数据相关联的成本,并且可以包括该成本作为其决策时的因素。另外,云参数(例如,指示云存储、处理成本、带宽成本、存储成本等的标志)本身可以被存储在目录或其他合适的位置中,并且被文件移除服务用来生成成本估计。
[0062]
另外,文件移除服务可以避免移除不能被重新创建的数据。例如,数据可能不具有目录中的对应条目,或者目录条目可能不完整。文件移除服务可以避免移除该数据。作为另一示例,可以在目录中将数据标记为从将来可能不可用的源获得。例如,目录可以包括具有该信息的附加字段(例如,行或列)。文件移除服务还可以避免移除该数据。
[0063]
文件移除服务还可以在移除数据之前验证该数据仍然可从数据源中获得。例如,文件移除服务可以尝试使用包括在目录中的位置来开始检索所请求的数据(例如,从图1-图2中所示的数据源110)。如果这不成功(例如,文件移除服务接收到错误),则文件移除服务可以避免移除该数据。
[0064]
作为另一替选方式,目录可以包括标识数据是否可从数据源110中获得的字段。代替(或附加到)在删除之前检查可用性,文件移除服务可以在后台周期性地操作,并且更新该字段以识别不再可用的数据。例如,文件移除服务可在系统具有低使用率时或在规定的时间操作,以检查目录中标识的数据的当前可用性。
[0065]
在方框606处,文件移除服务从存储装置(例如,图1-图2中所示的存储装置150)中移除所识别的数据。例如,文件移除服务可以使用表t2中所示的“文件系统路径”行来识别所识别的数据的存储位置。文件移除服务随后可以移除该数据。
[0066]
在方框608处,文件移除服务更新目录。例如,该目录可以包括标识数据在存储装置中是否可用的条目(例如,以上表2中所示的“文件可用?”行)。文件移除服务可以将该值从真(例如,可用)切换到假(例如,不可用)。流程随后返回到方框602。
[0067]
图7是根据一个实施例的作为在具有有限存储容量的系统中的数据的连续存储的一部分的用于生成所请求的数据的流程图。在实施例中,图7对应于(图4中所示的)方框414和(图5中所示的)方框506。在方框702处,数据检索服务(例如,图2-图3中所示的数据检索服务122)从数据源(例如,图1-图2中所示的数据源110)中检索所请求的数据。
[0068]
在方框704处,数据处理服务(例如,图2-图3中所示的数据处理服务124)识别与所请求的数据相关联的任何数据处理脚本。例如,用户可能已经识别了要在数据被检索之后对该数据进行的过滤、变换或其他处理脚本,并且可能已经为脚本提供了输入参数。在实施例中,数据处理脚本被存储为一系列步骤(例如,人类可读编程语言脚本或机器可读编译脚本)。脚本可以存储在文件中、在数据库表中、或以任何其他合适的方式来存储。替选地,脚本在网络位置处可用,并且可以使用数据处理服务(例如,使用网络api)来调用。任何输入参数也可以存储在脚本本身中、在数据库表中、或在任何其他合适的位置中。例如,表t2中所示的“处理脚本”行可以标识脚本的路径(例如,文件路径、数据库路径或网络路径)以及任何输入参数。
[0069]
在实施例中,先前已经生成了数据,并且现在正在重新生成该数据(例如,如以上关于图5所讨论的)。文件重新创建服务使用目录中的信息(例如,文件路径或数据库路径,如以上关于图2所讨论的)来识别脚本,并且如果需要的话,检索该脚本和与该脚本一起使用的任何输入参数。替选地,文件重新创建服务或其他合适的服务(例如,数据处理服务)可以询问用户以识别现有脚本,或输入期望脚本的步骤。在实施例中,文件重新创建服务(或其他合适的服务)可以存储脚本的步骤、以及目录中的存储路径,使得如果稍后重新生成数据,则可以使用该脚本。
[0070]
在方框706处,数据处理服务运行脚本以处理检索到的数据。例如,如果从存储装置中检索脚本,那么数据处理服务可以运行具有输入参数的脚本(例如,运行python脚本或任何其他合适的脚本)。作为另一示例,如果脚本在网络位置处可用,则数据处理服务可以调用该网络位置,将输入参数传递给该网络位置,并且接收数据输出(或接收数据输出的位置的标识)。数据处理服务(或其他合适的服务)可以存储经处理的数据以及(或代替)检索到的数据。
[0071]
已经出于说明的目的呈现了本发明的各种实施例的描述,但并不旨在是穷尽的或者限于所公开的实施例。在不偏离所描述的实施例的范围和精神的情况下,许多修改和变型对本领域普通技术人员来说将是明显的。本文中使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域其他普通技术人员能够理解本文中公开的实施例。
[0072]
在上文中,参考本公开中呈现的实施例。然而,本公开的范围不限于具体描述的实施例。相反,无论是否与不同实施例相关,构想上述特征和元件的任意组合来实现和实践所构想的实施例。此外,尽管本文中公开的实施例可以实现优于其他可能解决方案或优于现有技术的优点,但是特定优点是否由给定实施例来实现并不限制本公开的范围。因此,以上讨论的方面、特征、实施例和优点仅仅是说明性的并且不被认为是所附权利要求的元素或限制,除非在权利要求中明确记载。同样,对“本发明”的引用不应被解释为对本文中公开的任何创造性主题的概括,并且不应被认为是所附权利要求的元素或限制,除非在权利要求中明确记载。
[0073]
本发明的各方面可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或结合软件方面和硬件方面的实施例的形式,其在本文中都可以统称为“电路”、“模块”或“系统”。
[0074]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具
有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
[0075]
计算机可读存储介质可以是可以保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者前述各项的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、具有记录在其上的指令的诸如穿孔卡或槽中的凸起结构之类的机械编码设备、以及前述各项的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线传送的电信号。
[0076]
本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0077]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、或以一种或多种编程语言的任意组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(诸如smalltalk、c++等)、以及常规的过程式编程语言(诸如“c”编程语言或类似编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0078]
本文中参照根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中的各方框的组合都可以通过计算机可读程序指令来实现。
[0079]
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图中的一个或多个方框中指定的功能/动作的装置。也可以将这些计算机可读程序指令存储在计算机可读存储介质中,这些指令可以指导计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中指定的功能/动作的各方面的指令。
[0080]
也可以将计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中指定的功能/动作。
[0081]
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个方框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,方框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个方框实际上可以基本上同时执行,或者这些方框有时可以以相反的顺序执行。还要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的各方框的组合可以通过基于专用硬件的系统来实现,该基于专用硬件的系统执行指定的功能或动作、或者执行专用硬件与计算机指令的组合。
[0082]
可以通过云计算基础设施将本发明的实施例提供给终端用户。云计算通常指的是通过网络将可伸缩的计算资源作为服务提供。更正式地,云计算可以被定义为提供计算资源与其底层技术架构(例如,服务器、存储装置、网络)之间的抽象化的计算能力,从而实现对可配置计算资源的共享池的方便的、按需的网络访问,所述可配置计算资源可以用最小的管理工作或服务提供商交互来快速供应和释放。因此,云计算允许用户访问“云”中的虚拟计算资源(例如,存储、数据、应用和甚至完整的虚拟化计算系统),而不用考虑用来提供计算资源的底层物理系统(或这些系统的位置)。
[0083]
通常,云计算资源是以按使用付费的方式提供给用户,其中,仅针对实际使用的计算资源(例如,由用户消耗的存储空间量或由用户实例化的虚拟化系统的数量)对用户进行收费。用户可以在任何时间以及从互联网上的任何地方访问驻留在云中的任何资源。在本发明的上下文中,用户可以访问云中可用的应用(例如,图3中所示的服务122、124、226和228中的一个或多个)或相关数据。例如,数据检索服务122、数据处理服务124、文件重新创建服务226和文件移除服务228可以在云中的计算系统上执行,并且促进在具有有限存储容量的系统中的数据的连续存储。这样做允许用户从附接到连接到云的网络(例如,因特网)的任何计算系统访问该信息。
[0084]
虽然前述内容针对本发明的实施例,但是可以在不偏离本发明的基本范围的情况下设计本发明的其他和进一步的实施例,并且本发明的范围由所附权利要求确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1