gpt4 book ai didi

java - 实现 VFS 的想法

转载 作者:搜寻专家 更新时间:2023-11-01 03:30:23 24 4
gpt4 key购买 nike

我将多媒体文件及其元数据存储在 RDBMS 中(实际上,实际的媒体文件存储在 FS 中,但我们不谈这个)。

我想提供此信息的文件系统 View ,以便用户可以使用 Windows 资源管理器和类似的东西在数据库上工作。我打算将此访问权限设为只读,我相信这会大大简化事情。

基本上,我想要实现的是:

  • 使用不同的元数据标准有不同的 View (例如,有/by_author/{artist}/{record}/{audiofiles} 和/by_record/{record}/{audiofiles})。
  • 对媒体文件(即/wav/{wavfile}、/mp3/192/{mp3file}、/mp3/320/{mp3file} 等)进行透明重新编码(可能缓存)
  • 透明地生成不同格式的元数据(例如,不同模式的 Excel、XML 等)

我是用 Java 做的,顺便说一句。

我的问题是两方面的:

1)

什么是实现“模型”的好方法?我已经涉足了一些 Repository、Asset、FileAsset、ContainerAsset 接口(interface)和实现,但最终感觉并不完全正确。

我感兴趣的是能够将文件系统的不同部分委托(delegate)给单独的代码(即 FS 的/{artist}/{record} 和/{record} 部分是用不同的代码实现的,它们都委托(delegate)给使用相同的代码来创建 {record}/xxx 东西)。

2)

“公开”此模型的最佳替代方法是什么?正如我所见,有一些替代方案:

  • Java 的 Fuse 和 Java 的 Dokan。我需要实现两个不同的包装器,所以需要做更多的工作...
  • 使用 Alfresco 的 SMB 实现并将 VFS 公开为 Samba 共享
  • 使用 Milton(servlet 容器的 WebDAV 实现)并使用操作系统的内置 WebDAV 支持或使用 Fuse DAV FS 之类的东西将其重新公开为 FS

其中,Fuse/Dokan 似乎是最有效的。 Alfresco 看起来非常好,但非常使其工作起来很复杂。 Milton 似乎更简单,WebDAV 的语义甚至可能工作得更好……但我不完全确定。

想法、想法?

亚历克斯

编辑:该项目现在处于半放弃状态(意思是,这样做会很酷,但现在没时间)。我想我会将我的 VFS 编写为 commons-vfs 的扩展,然后将 commons-vfs 改编为 Milton、Dokan、Fuse 等。

最佳答案

我会选择 WebDAV。 很多代码少,标准定义明确

关于java - 实现 VFS 的想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1805645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com