场景:我想要开发的应用程序应该能够连接到远程服务器并将数据下载到本地磁盘,而下载数据时应该检查新文件,并且只能同时下载新文件,创建所需的(新的)文件夹。
问题:我不知道如何将服务器中的文件与本地disk.How中的文件进行比较,从而只将新文件从服务器下载到本地磁盘?
在想什么?:我想同步本地机器中的文件和服务器中的文件。我计划使用rsync来同步,但是我不知道如何在ASP.NET中使用它。
请告诉我,如果我的方法是错误的,或有其他更好的方法来实现这一点。
发布于 2012-05-11 20:18:37
首先您可以比较文件名,然后比较文件大小,当所有匹配时,您可以比较文件的散列。
发布于 2020-03-16 19:24:47
我把这类问题称为“数据掌握”问题。我在一周内将我们的数据库与财富100强公司同步,并处理了许多业务流程问题。
处理生产数据的第一条规则是不执行用户的数据输入。他们必须负责启动任何涉及生产的业务流程。他们必须了解流程,并访问显示更改了哪些数据的日志,否则就无法处理问题。如果你这样做是为了他们,那么你就承担了这些责任。他们期望您在出现问题时修复所有问题,因为IT无法解释业务数据或其相关性,因此不可能修复所有问题。例如,我处理送货记录,但必须告诉我,重复的密钥表示承运人的更改。
我继承了几个管理不善的场景,其中IT只是将“新的”数据转储到生产中,而没有进一步的关注。有时,我得到垃圾数据,在那里,我必须手动排除传入记录从掌握过程,因为他们有无效的负数量。我的一些即时记录比输入的数据更完整,所以我必须跳过同步特定的列。当一个应用程序的导入过程简单地失败时,我不得不通过创建一个工作的更新脚本来结束抱怨。这些是您需要预先考虑的问题,因为它们将鼓励您组织对同步过程的每一步的控制。
同步步骤:
update
<代码>G 211的更新时,才能关闭日志(
现在,就组织一个“掌握”过程而言,这就是我所说的比较数据和生成不同的列表的过程,我有更多的经验可以分享。对于一个应用程序,我必须重构(分散)表和报告,然后才能可靠地比较这两个源。这意味着需要了解业务数据并知道它的形式是正确的。你不会说你是在比较PDF,电子表格还是图像。对于数据,您必须为每个表(或工作表)编写一个单独的主过程,因为掌握过程的比较步骤可能是由业务需求形成的。不要写一个掌握一切的过程。使每个过程可控。
在导入时,并不是所有的信息都以相同的方式进行比较。我们获取PO和交付数据,因此比较数万条记录,以确定哪些数据点已经更改,但一些发票信息只是导入,而没有任何未来的检查或同步。业务需求甚至可以覆盖更新并将陈旧的数据保存在您的终端上。
然后可以根据需要定制每个掌握过程的比较器模块。在比较文件类型(如PDF和电子表格)时,您需要特定的API。我使用EPPlus作为工作簿。当然,任何不能打开的东西都必须是二进制比较。
掌握过程不应清理或转换数据,特别是金融数据。这些步骤需要在掌握之前进行,这样在掌握之前就可以捕捉到这些问题。
我的工具将数据组织在3个选项卡中--创建、更新和删除--每个选项卡上都有显示相关记录的DataGridViews。然后,我可以记录、审查和提交更改,或者将责任交给愿意的人。
掌握过程步骤:
externally)
)
https://stackoverflow.com/questions/10558041
复制相似问题