数据中心抓取导入难题 有经验之士赐教!

zloveg 2009-05-22 10:51:34
怎么让程序白天暂停 网上抓取啊 白天导入数据的时候数据库无法进行访问了

数据中心是单号1点 比如13日1点 导入到数据库

自己想了几种解决方案 :

1.在每个文件导入的时候判断是否是早上9点 如果是 直接sleep到晚上18点 (不知道sleep会不会出现问题)
2.在每个文件导入的时候判断是否是早上9点 如果是 程序直接break 然后记录文件标志 下次导入的时候在判断到标志位 (但是不能控制到18点导入)
3.用vbs脚本让tomcat定时重启 但是没有标志位


个人认为第一种最容易实现 但是不知道sleep能不能持续这么久
...全文
78 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zloveg 2009-05-22
  • 打赏
  • 举报
回复
已解决 分析的时候删除文件 (系统已经做了) 我再判断 然后开个18点的调度程序就可以了
zloveg 2009-05-22
  • 打赏
  • 举报
回复
白天存入到临时表的情况也要耗费数据库资源 (除非换一个服务器 晚上进行bcp? 那样也太麻烦了 ) 但是 这样查询就慢了 白天有个查询系统用到该数据库 要保证它正常运行 Quartz 这个好像也不能定时停止程序

用第三种重启过后不用导入数据了 但是没有标志位



最好的方案是第一种这样 但是用sleep总觉得不行! 或者将白天将tomcat选定


查询系统和抓取系统是2个tomcat
Johnson_Hong 2009-05-22
  • 打赏
  • 举报
回复
用quatz定制一个晚上的作业
架构修炼之道 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zloveg 的回复:]
很多人应该做过数据采集的吧 呵呵 关键是这个系统不光要采集 还要查询 所以白天不能采集
[/Quote]

我觉得这个建议不错!!
gibeny 2009-05-22
  • 打赏
  • 举报
回复
shell脚本就可以做啊,先做一个程序,里面是导入数据库的实现方式,然后在crontab里定义时间段就可以了
jinxfei 2009-05-22
  • 打赏
  • 举报
回复
其实第三种方案也挺好的,如果这个程序从早晨9点到晚上18点就是什么都不干,
就用定时启动的方式。

关于程序内的定时问题,你可以研究一下Quartz。
9441 2009-05-22
  • 打赏
  • 举报
回复
你可以换下思路,先把采集的数据存在另外的表中,到晚上再转换到正式表中

这样就可以白天也可以采集,转换也可以做一些标志位,知道哪些转换过,哪些没转换过
zloveg 2009-05-22
  • 打赏
  • 举报
回复
很多人应该做过数据采集的吧 呵呵 关键是这个系统不光要采集 还要查询 所以白天不能采集
zloveg 2009-05-22
  • 打赏
  • 举报
回复
想过用定时器 但是判断什么呢 程序运行到那里你也不知道 无法使程序暂停啊
比特灵 2009-05-22
  • 打赏
  • 举报
回复
sleep ?
用timer做个定时器,每几分钟判断一下。
robyjeffding 2009-05-22
  • 打赏
  • 举报
回复
学习了。。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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