FileStore
说明
FileStore
是存储特定作业所拥有的文件的对象。对象的每个条目由一个文件及其对应的键组成。当所属作业被删除时,FileStore
对象也会被删除。使用 FileStore
存储来自 MATLAB® 工作单元的文件,这些文件可以在作业执行期间由 MATLAB 客户端检索(即使作业仍在运行)。
任何 MATLAB 进程客户端或工作单元都可以随时将条目写入
FileStore
。任何 MATLAB 进程客户端或工作单元都可以随时从FileStore
读取此条目。然而,不同进程执行操作的顺序并不能保证。当集群没有共享文件系统时,可以使用
FileStore
返回文件,或者运行不关心任何共享文件系统位置的代码。FileStore
不保存在系统内存中,因此可用于存储大量结果。
创建对象
当您创建以下内容时,会自动创建 FileStore
对象:
集群上的作业,它是一个
parallel.Job
对象。要创建作业,请使用batch
、createJob
或createCommunicatingJob
函数。本地计算机上的进程工作单元并行池,它是一个
ProcessPool
对象。要创建进程池,请使用parpool
函数。本地计算机上线程式工作单元的并行池,它是一个
ThreadPool
对象。要创建线程池,请使用parpool
函数。 (自 R2023b 起)计算机集群上的并行工作单元池,它是一个
ClusterPool
对象。要创建集群池,请使用parpool
函数。
您可以使用 getCurrentFileStore
函数访问工作单元上的 FileStore
对象。然后,您可以使用与作业或并行池关联的 FileStore
属性在客户端上检索 FileStore
对象。例如,请参阅运行批处理作业并从工作单元中检索文件。
属性
对象函数
isKey | 确定 ValueStore 或 FileStore 对象是否包含键 |
keys | 返回 ValueStore 或 FileStore 对象的所有键 |
copyFileToStore | 将文件从本地文件系统复制到 FileStore 对象 |
copyFileFromStore | 将文件从 FileStore 对象复制到本地文件系统 |
remove | 从 ValueStore 或 FileStore 对象中删除条目 |
示例
限制
当使用
parallel.cluster.Generic
集群并将'HasSharedFileSystem'
设置为false
时,作业运行时对FileStore
所做修改的可见性取决于您的具体实现。如果 MATLAB 客户端和工作单元JobStorageLocation
之间没有额外的同步,那么只有在作业完成后才能看到更改。
版本历史记录
在 R2022a 中推出另请参阅
getCurrentFileStore
| parallel.Job
| ProcessPool
| ClusterPool
| ValueStore