欢迎讨论:一个大型项目的规划设计
现在准备一个大型项目的投标工作:
1.每月大约150万笔记录;
2.每台终端处理一笔业务大约需3分钟,即需要终端数为150万/(30*8*60/3),大约300多台;
3.此项目网络系统为一个城市,应怎样规划这个网络?
4.网络硬件应怎样配置?服务器、路由器、网桥、客户端.....
5.软件方面:服务器选啥数据库为好?怎样保证各终端数据的一致性;
......
以上是我想到的问题,特向各位请教,希望大家参与讨论并补充,谢谢!
(现在分就这些了,稍后有了再加!我这么多分居然不能加分了:pbsql,欢迎您,您的专家分:791、可用分:865、参与分:1509 )
问题点数:100、回复次数:69Top
1 楼caolei1974(梦飞扬)回复于 2001-07-09 08:51:05 得分 5
建议用oracle数据库,用小型机应该可以了(服务器似乎有点)Top
2 楼zls0303(三少爷的剑)回复于 2001-07-09 08:55:06 得分 0
用PB开发吗,可以用delphi开发吧Top
3 楼pbsql(风云)回复于 2001-07-09 08:57:13 得分 0
谢谢caolei1974(梦飞扬),服务器方面应该有何具体要求,我现在只熟SQL Server,不知SQL Server能否满足要求?Top
4 楼pbsql(风云)回复于 2001-07-09 08:58:19 得分 0
准备用PB开发Top
5 楼weiqihp(新手上路)回复于 2001-07-09 08:59:40 得分 0
关注Top
6 楼caolei1974(梦飞扬)回复于 2001-07-09 09:07:15 得分 5
to pbsql(风云):我虽然没有做过你这么大的项目,但是我做的那个项目也挺大的,我建议用小型机,但是一般是unix系统,sqlserver好像没有unix下的,建议用oracle,如果实在不熟悉oracle,用sybase也可以,和sqlserver差不错Top
7 楼wangsw(呀呀)回复于 2001-07-09 09:18:53 得分 5
pb??还是pbweb??
机器吗,最好越大越好,不过还得看看网络情况!!
Top
8 楼wangsw(呀呀)回复于 2001-07-09 09:35:04 得分 0
这样的数据库设计很难的呀!
Top
9 楼pbsql(风云)回复于 2001-07-09 09:40:10 得分 0
SQL Server的最大授权数为多少?
怎样才能做到网络性能良好?
UNIX与WIN2000 SERVER孰优孰劣?Top
10 楼am2000(【最后一滴水】)回复于 2001-07-09 10:04:15 得分 0
现在许多方案说得很好听,但实际去实施的时候相差很大。Top
11 楼wangsw(呀呀)回复于 2001-07-09 10:13:32 得分 0
这么大的数据量,小心呀!别载了!
Top
12 楼zhoukan(周刊)回复于 2001-07-09 10:17:11 得分 5
小型机服务器+oracle数据库 for UNIX+千兆网络平台+pb等开发平台
应该是没有问题Top
13 楼greatdeer(这只鹿其实很渺小)回复于 2001-07-09 10:24:36 得分 5
以前用过HPUX上的Sybase,前端pb,每天处理几千万条纪录没有问题.
只是sybase曾经坏过,sybase的工程师连续搞了几个通宵.
oracle也用过,只是没有实际用过大的应用,也没有碰到什么问题,反正大型数据库oracle的市场最大了.
不知道网络是借用电信的线路,还是自己铺专线?Top
14 楼pckiller()回复于 2001-07-09 10:41:33 得分 5
不知具体情况,网络规划一定要考虑吗?以前开发过类似的系统,客户端比这个要多,所以网络只有租用线路,这么大的网络就算规划好了,自己实施也是个问题啊,所以只有租用有线网。这样就可以不用管网络规划、建设。
至于怎样保证各终端数据的一致性,这要看数据是必须实时保持一致,还是可以在一个时间段内保持,比如一天下载一次数据。
如果要实时保持一致,理论上来说,实现并不麻烦,但是目前无法解决的是网络问题,网络太大,经常会出现故障,网络不通,什么功能都是摆设,不知你有没有遇到去缴费,但工作人员告诉你,线路不好,无法缴费。呵呵!我是受够了
如果不是实时保持一致,那就不用说了。
数据库用oracle+UNIX,我觉得MS SQL SERVER不错,但没试过这么大的数据量。
用PB开发有一点麻烦,我是说开发这么大的系统,对数据库方面,用PB是首选(个人感觉),但是因为系统大如果要有其它功能,如控制数码像机、扫描仪、实时通信、从别的设备获取数据(串、并口)等等,就要自己开发一堆DLL,很累。
先说这么多,关注其他网友讨论!
Top
15 楼pbsql(风云)回复于 2001-07-09 10:42:11 得分 0
网络用什么线路还没有确定,若自己铺专线的话,范围太大了耗资也太大,可能还得用电信的线路。但怎样与电信线路借口呢?Top
16 楼caolei1974(梦飞扬)回复于 2001-07-09 10:43:17 得分 0
我也同样遇到过greatdeer(伟鹿)说的问题,呵呵。不过是nec unix的sybase坏了,幸好是十月一日,客户放了7天假,我用了一周搞定了Top
17 楼pbsql(风云)回复于 2001-07-09 10:54:29 得分 0
本项目就是涉及到缴费的,要实现串口通信,不过怎样访问串口都有现成的DLL。当然做成实时的会更好,因为每次缴费要用到上次缴费的数据,而且不管何时在哪个终端都可以做统计。Top
18 楼wangsw(呀呀)回复于 2001-07-09 11:55:56 得分 0
可以租用电信的专线,不过要交钱的!
Top
19 楼szjlq(如果问题继续存在,请与供应商联系)回复于 2001-07-09 12:02:15 得分 5
HP LH3 + SISCO + DDN + C/C++ + PB + SYBASE
200个终端(这是我以前做的一个POS系统)
做这些大系统别指望纯粹用PB来搞定,如果你delphi熟的话那就好办多啦。Top
20 楼greatdeer(这只鹿其实很渺小)回复于 2001-07-09 13:26:02 得分 5
租用电信专线,不知道稳定性如何,价格也不小吧,那位有这方面的资料或信息.
有没有考虑过用三层构架.Web浏览器实现客户端,客户端只有输入输出数据的通讯,数据操作都防到服务器做.Top
21 楼jerrymi(泥巴)回复于 2001-07-09 13:33:47 得分 5
建议用上双机容错和阵列柜,数据库用oracle或者sybase,数据放在阵列上,这样即使一台服务器崩溃也可以照常经营,这么大的系统安全是非常重要的。操作系统用UNIX好了。Top
22 楼nthb2001(沉迷游戏中~~~~)回复于 2001-07-09 14:02:42 得分 0
这么大啊。。。~
可怕啊Top
23 楼caolei1974(梦飞扬)回复于 2001-07-09 14:58:01 得分 0
忘了说了,还有磁盘阵列Top
24 楼pbsql(风云)回复于 2001-07-09 17:07:07 得分 0
谢谢各位!
现在算费用,这预算应该怎么做?各位能不能提供一点价格参考?
1.服务器:采用小型机一台
2.工作站:按300台计
3.交换机:数量未知
4.电信线路
5.软件方面:UNIX、WINDOWS98、ORACLE、应用软件
......
以上是必须的一些软硬件,烦请各位提供点价格参考。可能还有一些没有考虑到的因素,也请作补充,谢谢!Top
25 楼tarcyshu(tarcyshu)回复于 2001-07-09 20:47:19 得分 0
关注,我只作过小型系统,还没作过这么大的应用:)Top
26 楼pbdesigner(MIS/ERP开发)回复于 2001-07-09 23:12:00 得分 5
我通常会根据客户的需求和能承受的价格来定,然后考虑公司的实际情况去组织开发.客户若只需简单的功能,数据库一般只选Sybase Anywhere,若是大型的我可能会选MS SQLSERVER或ORACLE,相对来说,MS SQLSERVER图形化界面用户比较容易管理.若是用户给的价格比较低,我给他的功能就相对要少些.然后考虑开发人员、分析人员等的技术专长,分工合作去开发,如我公司开发人员大多懂PB,则我会选择PB,这样就会缩短开发周期。当然在进行需求分析时应考虑系统处理的准确性、系统的开发性和可扩展性、系统的易用性和易维护性、系统的标准性、系统的先进性、系统的安全性和保密性、系统的响应速度......。建立系统的制约因素如:C/S(B/S)整体设计方案的约束,人力、资金、时间的约束,技术发展规律的约束,这些都要考虑在内。网络硬件的配置主要要考虑客户的信息点数,数据存储的重要性。若是有远端用户,数据的共享与传输是需考虑的,比如是拨号上网还是用PCANYWHERE等软件进行远程控制.总之不仅要考虑公司的情况,还要考虑客户的承受能力再做选择。Top
27 楼pbsql(风云)回复于 2001-07-10 12:59:31 得分 0
upTop
28 楼pbsql(风云)回复于 2001-07-11 10:23:37 得分 0
upTop
29 楼floatboat(泛舟)回复于 2001-07-11 12:04:06 得分 5
看你要处理的是什么数据,如果是银行之类的,不需要硬接口(如不需要读卡之类的从外部读数据的),建议使用以下的配置
1、服务器硬件,使用 IBM 的小型机,或者是HP或者是SUN的也行,记得要RAID。如果可能双机热备份就更好。
2、服务器的数据库,使用 DB2,当然如果选择其它的小型机,使用 ORACLE是绝对的首选,MSSQL就不用考虑了
3、操作系统,绝对不要考虑使用 MICROSOFT 的操作系统,用UNIX是没得说的。
4、由于不需要从外部读数据,所以可以考虑使用 B/S 结构,基本上客户端是不需要维护的,而且由于客户端的要求不高,总的投资可以降下来。再者,你的维护与升级也非常方便。 只需要在服务器端做就行了。
5、由于使用 B/S 所以,开发语言非JAVA莫属。
6、网络的硬件,这么大的一个网络,当然租用电信的线路,网络的路由器什么的你就不用考虑了,电信会给你搞好。
7、由于是B/S结构,各终端的数据都放在服务器中,数据的唯一性由数据库服务器保证,你就不用担心了。
8、对于轻量级的硬接口,此方案也可以适用,不过你要考虑applet,通过applet加数字证书你也可以读取硬接口,现在JAVA对串口的支持还是可以的,国外现在已经有成功的案例。
当然具体的选择要根据你的公司的实际来看,例如有没有技术力量实现这个方案,如果全公司没有一个懂JAVA或UNIX的,采用这个方案是大大的不可行。Top
30 楼pbsql(风云)回复于 2001-07-11 12:23:01 得分 0
谢谢floatboat(泛舟)!
这是一个IC卡应用项目,客户端需要IC卡上读写数据,用JAVA恐怕不行。Top
31 楼floatboat(泛舟)回复于 2001-07-11 12:29:21 得分 5
什么IC卡呢?
如果是与SMART CARD兼容的话,可以看看:http://java.sun.com/products/javacard/
JAVA已经提供对IC CARD的支持。详细的例子可以参见:http://developer.java.sun.com/developer/technicalArticles/ConsumerProducts/javacard1/
当然并不是鼓励你使用JAVA,只是对于这个应用,使用 JAVA 可能更加可爱。Top
32 楼pbsql(风云)回复于 2001-07-11 12:42:56 得分 0
哦,本来懂JAVA的就少,用JAVA作IC CARD应用恐怕很难行得通的。准备还是作成传统的C/S结构。Top
33 楼dukeli(我就是传说中的菜鸟)回复于 2001-07-11 12:47:43 得分 0
可以考虑Sybase ASE作为总库,每个分点使用ASA,采用mail或无线复制.Top
34 楼pbsql(风云)回复于 2001-07-11 12:56:38 得分 0
采用mail或无线复制不行吧,因为每次缴费都要用到上次缴费的数据,所以做成实时的会更好。Top
35 楼floatboat(泛舟)回复于 2001-07-11 13:09:51 得分 5
如果采用C/S结构,万一系统要升级,300台机器可有得你搞,当然如果公司的技术力量够的话,用传统的C/S也是不错的选择,起码数据传输量会减少,运行成本自然也就会降低。
建议使用 DELPHI + ORACLE
至于MAIL和无线就不用考虑了,一是MAIL的同步问题,二是无线的成本。Top
36 楼Lontan(Len)回复于 2001-07-11 16:06:14 得分 0
可参考Bank of China的结构Top
37 楼pbsql(风云)回复于 2001-07-11 16:11:13 得分 0
Bank of China是什么样的结构啊?Top
38 楼IE(IE)回复于 2001-07-11 19:51:32 得分 5
每月才150万笔数据量,这样的数据库才属于一个中型的数据库,所以数据库的取决很多,对于Ms SQL Server 7.0以上的,如果用到企业版本,在Winnt Server或Win2000 Adv Server上,可以处理,我就作过一个数据量达到几百G级(1-5G/天)的Ms Sql Server数据库,当然对于实时性很强的,应采用两层到三层数据库,其实最主要是设计数据库的架构,架构好,采用主流的数据库都差不多,优化速度是看算法,设计,数据库之间处理速度的差别不象广告里面说的那样大,令oracle价钱太贵,最可能找个性价比高一点的组合,开发语言建议用C,如果Windows平台的就用VC,另对于这么重要的大型项目,不建议采用Delphi,C++Builder或VB之类的工具,因为到时出了问题,光找问题都找死你!Top
39 楼wangsw(呀呀)回复于 2001-07-11 21:10:53 得分 0
这周的电脑报有一个这样的文章,扬扬洒洒一张,你可以看看!!!
Top
40 楼guzhiren(故纸人)回复于 2001-07-11 21:27:40 得分 5
这样的系统我的建议是采用b/s结构,如果采用别的维护将是很大的问题(包括以后升级系统)
150万b/s处理不错:),你看看www.salesforce.com这家公司的crm系统有20000多家公司使用。所以在软件开发上b/s最合适,楼上的floatboat(泛舟)已经讲了很多它的益处,至于采用jsp或是asp这个要看你选的服务器系统,我本人觉得用win2000应该够了,而且用asp+com+mts+sqlserver7.0/2000开发,技术成熟,易学,可适当的降低人力成本,开发软件我觉得只要硬件够用,可适当不对算法做太高的要求,除关键的部分
需要,其实很多地方只要能完成设计要求,不必纯对算法和用法太钻,只要稳定,代码简单易懂,
容易维护,才是最为重要。因为开发软件主要是盈利,过分追求技术,会增加成本,如大量用vc,
只然复杂,该用就用,能用vb当然首选vb,因为vb简单:)。当然最重要的依然是系统设计,以上这些都是在有很好系统分析的基础上的。Top
41 楼cjh211(阿华)回复于 2001-07-11 21:34:07 得分 0
关注!Top
42 楼guzhiren(故纸人)回复于 2001-07-11 21:40:20 得分 5
如果采用的是b/s,在硬件方面可以才用web阵,但必然增加开发的难度和人力成本,但可以解决系统处理能力:)Top
43 楼guzhiren(故纸人)回复于 2001-07-11 21:47:40 得分 0
至于读ic卡上的信息,我成看过b/s的方法用结合com做过的学校管理系统。我想读卡如果用微软的开发工具应该可以解决。Top
44 楼pbsql(风云)回复于 2001-07-12 08:12:23 得分 0
谢谢各位!其实整个系统客户端并不复杂,关键在于服务器端的选型,包括机器及操作系统、数据库等,要保证数据的实时性和安全性、系统的稳定性。Top
45 楼gjq2000(小兵)回复于 2001-07-12 09:21:30 得分 0
听听Top
46 楼zhangcc99(zhangcc99)回复于 2001-07-12 12:15:11 得分 5
还是说说你有多少银子吧,这可是第一性的因素!当然是大致范围,也别太离谱!
强烈建议搞成B/S结构的体系!C/S的系统,在一个城市里,地理范围一大的话,
服务有的你好玩!你的大概是个和钱打交道的系统吧?诸如收费之类,如果是这样
的话,还要考虑安全性问题。问题多多!Top
47 楼pbsql(风云)回复于 2001-07-12 12:24:24 得分 0
因为是投标,所以银子不用考虑。正如zhangcc99(zhangcc99)所说,安全第一。Top
48 楼zhangcc99(zhangcc99)回复于 2001-07-12 13:04:49 得分 0
请继续回答每条记录大致多少字节?也就是每月大致有多少字节的数据量?这里的同行总以
有多少记录来说问题,我总认为不全面,还应有每条记录有多少字节这一项,否则没法理解。
还有一个问题,那就是300台计算机同时用还是平均有100台左右在用?这也是个非常关键的
数值,一般单X86CPU、PCI总线的服务器同时上100台以上的工作站,性能下降很快,这在
网上的聊天室软件中都能反映出来。有的同行的服务器里数据量很大,他也认为不错,原因
就在他的服务器上同时工作的用户不多;有的则完全相反!
所以希望在这里问问题和回答问题的朋友们,能告诉的再全面一点。
Top
49 楼pbsql(风云)回复于 2001-07-12 13:43:50 得分 0
主表为50万条记录,较固定,每条记录大概500字节;从表有两个,每个月的数据量都记录在从表中,每个从表每条记录大概500字节,每个从表每月数据量为150万条记录,即总共每月1.5G的数据量。
另外,300台客户端肯定同时使用(甚至更多,那要看操作员的处理速度)。Top
50 楼gzproger(proger)回复于 2001-07-12 14:14:55 得分 0
除非十分熟悉java,否则千万不要赶时髦用java。
B/S肯定比C/S好。
150万条300个终端的计算方法太理想化。
Top
51 楼programlover(彭建雄)回复于 2001-07-12 14:53:11 得分 0
Lontan(Len) 在中国银行上班吗Top
52 楼yyping(大鲨鱼)回复于 2001-07-12 17:47:40 得分 5
用oracle吧,而且要用分区处理,C/S结构不行,扩展性太差了,300个同时并发连接系统性能已经很差了,等到500就怕不行了,用BS,如果需要以前我写过一个系统架构设计的图,用了六层,应该能撑得住.Top
53 楼susu_0807(苏苏)回复于 2001-07-12 18:33:43 得分 0
来听课.Top
54 楼lindqp(无奈人生)回复于 2001-07-12 20:46:59 得分 0
:)Top
55 楼zxpcomeon(浪子想家)回复于 2001-07-12 21:25:50 得分 0
用oracle+unixTop
56 楼zhangcc99(zhangcc99)回复于 2001-07-13 01:57:13 得分 0
你的问题确实比较大!
我怀疑你是否计算有误,这样每天在每一台计算机上有将近17万字节的数据,或着说是每台计
算机每天要录入5千条记录,这用人工方法是无法输入完成的!用读卡机、抄表机之类的也不
大可能,是否是某种自动检测结果?就算是人工输入只有1/5,也要3万字左右!不少了!
当然我不了解你的项目,只是猜测!希望你自己把握好!
如果确实如此!请考虑IBM的RS/6000系列计算机,用AIX+DB2吧,硬件扩充余地大,系统的
稳定性也不错,特别是每年18G的数据量、不断增加的工作站,系统压力已超出X86系列服务
器的能力。已经可以不考虑微机服务器了。请在www.ibm.com/cn下看看,有不少案例。
SUN上面有Sybase、Orcale,但我喜欢全是一家的东西,而且DB2也确实不错。
如有可能,最好用两台服务器,除热备份外,还可让DBA们练练手,这一点非常重要!
Top
57 楼pbsql(风云)回复于 2001-07-13 08:11:07 得分 0
提供的数据应该没错,这是按每台计算机每3分钟输入一条记录来算的,即每台计算机每天输入8小时*60分/3=160条记录,每月数据记录总共为160条*300台*30天=大约150万条记录。
现在关键是对硬件性能及大型数据库的承受能力不太了解,不知该怎样选择一个合理配置。
欢迎继续讨论!Top
58 楼yang_xv(小傻傻)回复于 2001-07-13 09:01:58 得分 0
DB2Top
59 楼fly_lee(fly)回复于 2001-07-13 10:31:00 得分 5
server: 小型机+ORACLE/SYBASE,是关键业务就用HA技术。
中间层:transaction中间件
(如果涉及机密数据,再加一层传输中间件)
CLIENT:随便
NETWORK:看运营成本了,如果不在乎通讯费用,用DIAL SERVER速度也足够了,这样配置灵活,
关键是中心机房的建设,不是几句话说的清的,这个是SI内容了。
BTW:你这个应用的规模不算大。Top
60 楼powered(水无痕)回复于 2001-07-13 19:18:03 得分 5
安全性不高的话可用b/s结构。
建议方案:小型机+oracle+java+unix+千兆网Top
61 楼gopark(大猫)回复于 2001-07-13 22:35:36 得分 0
upTop
62 楼songgz(二东)回复于 2001-07-14 12:32:12 得分 0
studyTop
63 楼cd_fsy2000(神州行)回复于 2001-07-14 14:38:13 得分 0
本人强烈建议,用三层结构的系统架构,后台DATABASE可用SQL Server2000。为了安全起见
用MTS来进行事务控制,为了增加系统的可移植性,可用CORBA。Top
64 楼cocu97(呵呵)回复于 2001-07-14 17:59:57 得分 0
一个月300万条记录,每天才10万条,最多只能属于中型应用,一台SUN E3500+ORALCE应付绰绰有余。
这种程度的小规模并发根本不需要用什么中间件,把共享内存开大点和买一个SCSI RAID磁盘阵列就够了。Top
65 楼lesni(乐S你)回复于 2001-07-14 18:16:28 得分 0
数据库当然要用ORACLE;服务器嘛,一台SUN E3500确实足够;Top
66 楼binb()回复于 2001-07-15 23:37:31 得分 0
unix+oracle+CB
小型服务器Top
67 楼Jazzlover(强)回复于 2001-07-16 12:44:45 得分 0
有钱的话,用IBM的一套东西。数据库是DB2。Top




