手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

有关DELPHI 6.0 开发的三层的严重系统问题。

来源:互联网 作者:西部数码 时间:2008-04-10
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
关于Delphi6.0开发的三层服务器掉线的问题 开发运行环境: 1. 数据库服务器采用ORACLE9i,硬件配置绝对能撑! 2. 应用服务器端采用Delphi6.0开发,TypeLibrary来实现IDL接口,采用TcorbaDataModule(88个模块)结合TAdoDataSet进行数据处理,该应用层服务器使用的硬件为SUN服务器,多CPU,WIN2K SERVER操作平台; 3. 客户端采用Delphi6.0开发,TClientDateSet与之对应相连,WIN2K PRO 操作平台; 4. 中间件采用Delphi6.0自带的VisiBroker3.3; 5. 78台客户端,两台SUN服务器。 掉线现象: 1. 一般使用一个星期(操作不是很频繁)就会掉一次线,将服务器端启动的所有服务器端进程杀掉,然后客户端启动,服务器端通过VisiBroker3.3 OAD自动重新启动,一般会启动多个进程,然后就没有问题,系统运行就正常!严重的还必须重新启动一下服务器端机器才可以。 2. 使用的SUN服务器是多CPU的,在多CPU环境下掉线异常频繁,每几个小时会掉一次,因此,现在只留一个CPU在机器里。 情况分析: 1. Delphi6.0自带的VisiBroker3.3是自带工具,只能用于开发而不适合实际商业应用,要投入实际商业应用必须购买企业版的中间件。如果只用于开发而不能做为商业应用,是不是意味着Delphi6.0不能做三层?我可以这么理解吗?(商业化的VisiBroker据说是个天价,客户肯定不会因为我们的软件而自配一套企业版的VisiBroker) 2. 应用服务器端接口存在问题,这只能是一种猜测,究竟是什么问题?采用的是Delphi6.0的TypeLibrary生成的接口,在这个接口下进行应用服务器开发还有什么规范吗?应该跟开发C/S是一个道理。(如果是这个原因我该如何规范代码呢?) 3. 多CPU掉线频繁肯定是跟底层代码有关!但究竟是自带的VisiBroker3.3还是TypeLibrary又或者是TAdoDataSet的问题?其实我更希望是自己写的服务器的问题,可是我想这种可能性应该是最小吧?做数据库开发,底层或者说系统层的都是由控件完成的,我们写的代码只是一些SQL和一些业务控制。(该如何控制内部的CPU分配?服务器端一个应用程序,也就是说一个进程,每一个客户端连接的一个进程,体现在服务器进程里的是一个线程操作,是否是客户端一旦不操作如何快速释放该连接的线程的问题,然后客户端暂时与服务器端断开,服务器端与数据库的相关连接也自动释放,一旦客户操作,就默认重连一下服务器,这样客户端操作感觉不到是掉过线的,这样该如何处理?我看到客户断即使全部断开,应用服务器与数据库服务器断的连接几乎完全没有释放掉,这又是什么原因,是否ADO连接本身就是有问题呢?) 需要解决的问题: 1. SUN服务器的其他CPU如何才能安装到机器上?究竟Delphi 6.0自带的CORBA能否支持多CPU? 2. 一个星期一次的掉线,太夸张了吧?一个月还可以接受! 显然,我认为以上的情况分析过于片面,而且即使能确定是上面的原因,也没有切实可行的解决方案,希望大家能帮助我想想办法,如果需要源码,我可以贴出一部分来,大家帮我研究研究,有相关资料的请发到我的邮箱:LiuFuSh@hotmail.com。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!