由正在运行的程序支持的“文件”?

由正在运行的程序支持的“文件”?

我的客户有许多程序可以读取和写入特定格式的文件。他们通过发送定期的旧系统调用来做到这一点,因此像 gio 这样的库(在一般情况下)不会参与其中。我想将数据存储在数据库而不是文件中,尽管我无法更改读取和写入文件的程序。相反,我需要将数据存储在数据库中,同时欺骗程序思维他们正在读取和写入文件。

一种可能的解决方案是使用某种伪文件,其中所有读取、写入和查找请求都被重定向到我可以编写的程序,然后该程序可以通过与数据库的通信来合成正确的响应。这个任务听起来有点像 NFS,所以也许这是可能的。我应该阅读什么内容才能使其发挥作用?

答案1

你所描述的是保险丝。用户模式文件系统。它们看起来像文件系统,但具有自定义的内部结构。

一些现有的有:

  • 通过 ssh 的 sshfs 文件系统。
  • tar / zip fs 挂载 tar / zip 文件。
  • 云FS
  • ipfs
  • ntfs
  • 加密文件系统
  • 网络达夫
  • 文件传输协议
  • 亚马逊S3

相关内容