楼主: jlandzpa

[精华] 请大家探讨一个数据传送的方案(置顶几天)

[复制链接]
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
21#
 楼主| 发表于 2001-11-14 21:33 | 只看该作者

Re: 您的库建设是处于什么状态呢?

我们的数据库每天都要从下级(20多个)上传到上级,从上级下传到下级(20多个),数据的覆盖原则较为复杂,不能出任何的错;业务操作较频繁,上下级的业务紧密相连,对于准确性要求较高。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
22#
发表于 2001-11-15 10:11 | 只看该作者

您的网络条件如何呢?

如果您是军队的话,是不是通过3**光纤网连接的
如果您是电力,或其他系统,您的网络传输方式如何呢
对于每个每个下级,所用的网络条件,数据库配置都相同吗 ?

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
23#
 楼主| 发表于 2001-11-15 23:47 | 只看该作者

Re: 您的网络条件如何呢?

是公安,只有广州的光纤,其它地市的网络条件不太一样,有快有慢,数据库配置基本相同。

最初由 samenzhou 发布
[B]如果您是军队的话,是不是通过3**光纤网连接的
如果您是电力,或其他系统,您的网络传输方式如何呢
对于每个每个下级,所用的网络条件,数据库配置都相同吗 ? [/B]

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
24#
发表于 2001-11-16 14:02 | 只看该作者

关于您的应用模式问题!

现在考虑您的应用模式的问题。
对于大多数的公安系统,应用最多的无非
就是人口资料的采集,整理,审批,报送

您的系统可能的应用模式就是在晚上过了
系统,网络最为繁忙的时候,可以做批量
上载。
按理说省级公安系统的很少有应用分布式的,所以
只能自己开发应用服务器模式的程序

开发一个可能是这样的模式
对每个数据传送点的数据传送量每次
控制在一定等级内,如果有60000条需要更新传送
的话,可以划分成20000条数据一个等级。
每次传送时,将文件自动打包压缩,对本次打包数据
做一个包头,比如说,大小,头尾数据,等。
在另一段对数据报做解析,查看数据的完整性。
这个应用主要解决的问题是如何准确无误地传输
至于用什么方式传输是次要的。这要取决与你的网络
是无法以程序来实现的。

这是我的意见。我现在从事公安方面的课题。
同样、也

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
25#
发表于 2001-11-16 22:24 | 只看该作者
我目前也有类似的一块软件要做, 情况如下:
每天需要定时从不同的操作系统平台上采集数据,集中到中心的服务器上

以前我们是通过消息队列中间件来实现的,缺点非常多。速度慢,而且要在源端切割文件,在目的端组装,网络情况不太好的时候,还有顺序问题。另外因为文件操作无法以事务方式来控制,需要做很多额外的程序处理在出错的情况。

目前我设计成用FTP实现,在源端用schuduler(cron)实现定时控制,扫描各个目的路径得到当天要传送的文件列表以及文件的大小,生成一个FTP脚本(或.cmd),在程序中执行行这个脚本,在脚本的最后返回目的端文件的大小,和源端进行比较,若相等则成功,否则重试。最后传送一个采集的日志给目的端;
目的端也是定时处理,根据传送过来的日志进行处理。

经过测试,觉得FTP的效率还是满高的

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
26#
 楼主| 发表于 2001-11-17 09:51 | 只看该作者

to sqlcode

谢谢,能否详细将一下每个步骤的错误处理方法,我很想知道,如果这个方案可行的话,明年会改成这种方式。


最初由 sqlcode 发布
[B]我目前也有类似的一块软件要做, 情况如下:
每天需要定时从不同的操作系统平台上采集数据,集中到中心的服务器上

以前我们是通过消息队列中间件来实现的,缺点非常多。速度慢,而且要在源端切割文件,在目的端组装,网络情况不太好的时候,还有顺序问题。另外因为文件操作无法以事务方式来控制,需要做很多额外的程序处理在出错的情况。

目前我设计成用FTP实现,在源端用schuduler(cron)实现定时控制,扫描各个目的路径得到当天要传送的文件列表以及文件的大小,生成一个FTP脚本(或.cmd),在程序中执行行这个脚本,在脚本的最后返回目的端文件的大小,和源端进行比较,若相等则成功,否则重试。最后传送一个采集的日志给目的端;
目的端也是定时处理,根据传送过来的日志进行处理。

经过测试,觉得FTP的效率还是满高的 [/B]

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
27#
发表于 2001-11-17 19:45 | 只看该作者
我是这样干的

1 From Linux Server To Solaris Server
2 Using Command rcp
3 using Oracle sqlldr direct to db
4 Every day we can import about 50万 records into database
   it takes about 10 mins

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
28#
发表于 2001-11-18 21:29 | 只看该作者

to jlandzpa

在发送端,FTP脚本的最后执行一条dir命令,把远端目的文件的信息取到本地,在程序中比较和本地源文件大小是否一致,一致记成功,否则重试,达到重试次数,记失败。所有文件传送完毕,把所有文件传输日志FTP到目的端;
在目的端,如果没有传送日志或者其中有错误,报错。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
29#
发表于 2001-11-18 23:26 | 只看该作者
告诉你一个方法也许比告诉你一个答案更重要! YES! you are right.

请大家探讨一个数据传送的方案(置顶几天  Because you are '版主'? haha

问题:每天定时把A地的新数据传到B地,传成功要做标志. No Tech. Env. see Chao_ping's note

以前是用db_link传,但发现问题很多(db_link对网络要求太高,有时照片多了,
数据传不上来,或者抱信道中断,或者就是远程create table死住(12个小时都取不上来)),
You say it is work, but not working well right? do you try other oracle options? why do you post
you problems in here, may be some one can help you?

这个问题困惑我很久了,于是想改为ftp文件的方式.  I'm so sorry to hear that, but you wrong! give up Oracle solution?  

1.连到B地,运行一个procedure,把新数据insert到一个临时表.  Create new problems ?
2.把临时表exp到一个临时文件  Oops, anotner one.
3.ftp到A地   here '网络要求 no 太高'?!
4.imp到A的临时表 keeping the troubles haha
5.进行数据更新,成功了,则在临时表中做某个标志. show you boss the '标志'?
6.把有成功标志的数据exp到文件  Why?
.................
做B地标志的过程类似.  Again?

这仅是我的设想,各位能否讨论一下具体的实现方法,或者有没有更好的方法.  Yes, Oracle AQ
谢谢!  you are welcome

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
30#
发表于 2001-11-19 11:51 | 只看该作者

还是没有好的解决办法

在当前的数据库应用中数据同步/镜像有很多此类需求;还有现在我的系统中由于要求同步但每天又有数据导入产生大量的日志文件导致日志无法归档,致使归档日志断号,现在还没找到合适的Oracle或其他的工具。MQ用过、Amtrix用过但统统不好用,有时还会导致主机(业务运行服务器)死机,没有办法,只能热备加exp了

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表