如何同步服务器上的共享文件?[英] How to synchronize shared files on server?

问题描述

我的工作室有大约 30 位主持人,他们都运行相同的程序.这些主机会将制造商数据添加到服务器上的 .DBF 文件(共享文件)中.
现在我遇到了一个问题,我如何锁定这个文件,而一个主机修改它,而其他主机在它完成之前无法访问这个文件.
我试过CMutex,CCriticalSection,但它们只能在一台主机上使用,请你帮我解决这个问题吗?

解决方案
整个方法是错误的.

是的,如果你真的想咬紧牙关,有一些IPC的方法(进程间通信,http://en.wikipedia.org/wiki/Inter-process_communication[^]) 跨网络上的不同主机;并且可能最简单的方法是使用套接字,http://en.wikipedia.org/wiki/Internet_socket[^].

这种方法和其他一些方法可以提供一些解决方法,但它不会解决 根本问题:使用基于文件服务器的数据库访问而不是客户端-服务器关系数据库管理系统 (RDBMS).

请看:
http://en.wikipedia.org/wiki/File_server[^],
http://en.wikipedia.org/wiki/Client%E2%80%93server[^],
http://en.wikipedia.org/wiki/Relational_database_management_system[^].

您确实需要使用客户端-服务器架构.基于文件服务器的方法并不严肃.

[编辑]

您可以考虑多种选择:http://en.wikipedia.org/wiki/Comparison_of_database_tools[^].

—SA

作为一个简单的解决方案,为什么你不能在一个包含主机列表的固定主机(我们称之为priority_file)中保留一个文件(优先)那些想要修改共享文件的人.每个主机在修改共享文件之前都需要检查priority_file.

本文地址:https://www.itbaoku.cn/post/1395078.html