gpt4 book ai didi

architecture - 软件设计与架构: How to sync data from a directory-tree with a database

转载 作者:行者123 更新时间:2023-12-04 02:45:11 25 4
gpt4 key购买 nike

我现在扭头一会儿,并没有得出最终的解决方案。因此,我希望我可以在体系结构级别上找到一些交流或帮助解决该问题。

我目前面临以下情况:
我想编写一个Web应用程序(我使用Java来做,但这与解决方案并没有真正的关系,因为当前这是一个更高级别的问题),其中存在这种关系:

Event --1:n--> Team --1:n--> Participant

含义:我有一个事件,其中将有许多团队,并且有很多参与者。到目前为止,一切都很好-在SQL数据库中,这将是一个简单的关系。

但是,还有一个目录树,在文件结构中表示相同的关系:
+--event1
| +--team1
| | +--participant1
| | +--participant2
| | +--participant3
| +--team2
| | +--participant4
| +--team3
+--event2
| +--team4
...

(我想,你有主意)
因此,每个参与者的目录中都有许多文件,这些文件通过文件系统复制到该目录中。只要文件系统上有目录,就应将其连接到数据库中的相应条目,其中包含一些其他数据,这些数据应与Web GUI中的文件一起显示。它没有定义,首先是什么(数据库条目或目录),因为它是由不同的用户操作的。

现在有几件事要记住,这对我来说很有意义:
  • 当目录名称更改时(事件,团队或参与者),它仍应与数据库中的同一条目相关(因为可能存在其他实体,例如,这些实体仍与参与者相关)
  • 任何事件/团队/参与者的目录可能已删除-然后数据库中的数据应保留。但是-如果稍后再次创建具有相同名称的新目录并且事件被“关闭”,则该目录将指向新的数据库条目(例如新事件)。如果事件仍处于事件状态,则具有相同名称的目录的创建应映射到数据库中先前分配的条目。
  • 理想情况下,目录的创建已经导致了相应数据库条目的创建。
  • 还应该有可能在Web GUI中创建事件/团队/参与者,然后在文件系统上自动创建相应的目录。

  • 我希望我的描述足以理解情况。我已经有了一些想法,但是所有这些并没有真正说服自己成为一个可靠的解决方案。因此,希望你们中的一个已经对此有所了解。我对任何技术或框架都很开放,这可能有助于解决此问题。

    我期待您的想法和愉快的讨论!

    谢谢你的帮助!

    最佳答案

    首先,必须设计目录的唯一性。
    您是否考虑过在每个受监视的目录内使用包含唯一 key 的隐藏文件?
    如果没有高负载系统,则可能会使用创建时间。

    在文件系统中拥有唯一 key ,可以轻松反射(reflect)数据库中现有的唯一 key 并组织两个存储之间的同步。

    关于architecture - 软件设计与架构: How to sync data from a directory-tree with a database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46042925/

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