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

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

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

自己想了几种解决方案 :

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


个人认为第一种最容易实现 但是不知道sleep能不能持续这么久
...全文
73 11 打赏 收藏 转发到动态 举报
写回复
用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,092

社区成员

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

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