谁有下载站的经验,请问下载文件怎么保证即可下载又能更新。

cuizhanjun1981 2013-06-28 04:03:50
是这样,我有一个小说站,站立有小说的 txt下载。
我是直接给出的 下载地址比如: http://XXXXX/XXX.txt
这样用户可以直接下载。但是由于章节每天有更新,在用户下载过程中 我如果往这个文件里追加文字,就会报“进程正在使用中”的错误。


请问一般下载站是怎么解决这个问题的????
...全文
1024 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
q136222464 2013-06-28
  • 打赏
  • 举报
回复
引用 8 楼 sp1234 的回复:
[quote=引用 6 楼 q136222464 的回复:] [quote=引用 5 楼 cuizhanjun1981 的回复:] 明白了,检查下文件是否被使用,没有就复制 如果有,就延迟1小时在检测。这样应该就可以了吧
这种方法不太好,如果下载很繁忙呢(或者每次检测的时候都是在使用),你打算延时到什么时候? [/quote]更新操作会优先进行。 对于大数据的更新,显然所谓的“更新”就是指Rename,而不是什么Copy。[/quote] rename也许更贴切,要提高表达能力了
  • 打赏
  • 举报
回复
引用 6 楼 q136222464 的回复:
[quote=引用 5 楼 cuizhanjun1981 的回复:] 明白了,检查下文件是否被使用,没有就复制 如果有,就延迟1小时在检测。这样应该就可以了吧
这种方法不太好,如果下载很繁忙呢(或者每次检测的时候都是在使用),你打算延时到什么时候? [/quote]更新操作会优先进行。 对于大数据的更新,显然所谓的“更新”就是指Rename,而不是什么Copy。
  • 打赏
  • 举报
回复
引用 楼主 cuizhanjun1981 的回复:
是这样,我有一个小说站,站立有小说的 txt下载。 我是直接给出的 下载地址比如: http://XXXXX/XXX.txt 这样用户可以直接下载。但是由于章节每天有更新,在用户下载过程中 我如果往这个文件里追加文字,就会报“进程正在使用中”的错误。 请问一般下载站是怎么解决这个问题的????
应该多次增量更新。例如捕获特定Exception子类型的异常,放入任务队列,然后5秒钟之后,对于没有更新成功的文章,再次更新;连续进行20次都不能更新,才算是真的无法更新的信息,需要人工确认(人工确认是否再次开始更新)。 如果你纠结于一两句随便就能抄来的编程语句,那么是脑袋里边还缺少为业务而设计的概念。你是一个程序设计师,不是一个程序抄写工。
q136222464 2013-06-28
  • 打赏
  • 举报
回复
引用 5 楼 cuizhanjun1981 的回复:
明白了,检查下文件是否被使用,没有就复制 如果有,就延迟1小时在检测。这样应该就可以了吧
这种方法不太好,如果下载很繁忙呢(或者每次检测的时候都是在使用),你打算延时到什么时候? 我觉得应该这样处理: 一个文件用于追加新内容,一个文件夹存放提供下载的文件 每次更新内容后就把文件copy到那个提供下载的文件夹里(名字不能重复,并不是覆盖原来的文件),命名可以用日期来保证不重复。 你的页面提供下载链接,而这个链接是动态生成的,下载路径是可变的,比如http://xxx/小说20130626.txt 当你把最新更新的文件copy到下载文件夹的时候就改变页面提供的下载路径比如http://xxx/小说20130627.txt 这样就不会冲突,简直是完美切换
cuizhanjun1981 2013-06-28
  • 打赏
  • 举报
回复
明白了,检查下文件是否被使用,没有就复制 如果有,就延迟1小时在检测。这样应该就可以了吧
cuizhanjun1981 2013-06-28
  • 打赏
  • 举报
回复
我目前也是考虑用这种方式,但是请问,如果copy的时候 也失败 。有什么好办法么、
852258 2013-06-28
  • 打赏
  • 举报
回复
更新是一个地方。 用户下载是另外一个地方。 更新好了以后,记录更新地方,定时把文件用程序copy过去
  • 打赏
  • 举报
回复
有些小说是把数据存在数据库中的,txt只不过是它临时生成的一个文件而已,更新的只是数据库而已。
  • 打赏
  • 举报
回复
更新是一个地方。 用户下载是另外一个地方。 更新好了以后,记录更新地方,定时把文件用程序copy过去

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧