征集方案(只是框架)(200分)

  • 主题发起人 主题发起人 套牢1
  • 开始时间 开始时间

套牢1

Unregistered / Unconfirmed
GUEST, unregistred user!
做一个数据转换平台,实现从各种不同的数据库提取数据,转入标准库的过程;
但是这中间要远程的传输,所以,又分为两端,
一个是提取数据转化为标准格式,并送给负责通信的程序;
二是从通信程序接到标准数据,导入到标准库中;
还涉及到一个客户定制转换方式的问题,就是客户可以选择定时、手工两种方式
服务器端可以强制发出要数据指令。
问题:
1、整个功能用什么结构来实现,是用dll,COM,或是什么其他的形式,为什么?
2、客户与服务器端的程序要分别设计吗,为什么?
 
1、选用什么结构,跟你的应用有关。
2、客户与服务器端的程序是指前端吧,那无所谓。
 
可以认为,主要是转换核心的构造。。

客户端,服务器端只是一些界面的问题。。

核心的构造我认为用COM+的形式比较好,有利于其他的系统的调用。。。[:)]
 
客户端只是完成数据转换,这也有问题,就是定时转换的话就必须做成服务程序一直在
后台执行,定时触发,如果是手工完成触发就无所谓了,做成什么都行;
关键是谁完成触发工作?

服务器端有一个问题就是多线程,比如说同时有多个客户端提交了数据,每个处理都要
在一个单独的线程中进行事务处理,还是在一个线程内完成?
 
1.客户端是不是服务程序无所谓,只要该程序能保持运行就可以啦,如果需要服务器
可以主动向客户取数据,复杂的方法是客户端同时也得提供服务,等待服务器来要数据。
简单一点的方法,就是客户间隔时间向服务器端发出查询指定,如果服务器置要数据标志,
客户端就立即开始采集数据,再向上传送。
2.服务端要不要多线程,就视应用的需要,如果多个客户端需要并发传送,且数据对实时
要求较强时,则要采用多线程方式;如果客户较少,数据对时延不敏感,也可采用单线程
的排队机制
 
系统多大?可以使用一个unix作为服务器吗?(不是开玩笑)
 
1,用个DLL做个标准处理就行了,
2,不需要了,所有转换放在SERVER端,
 
这个系统因为不知道具体的情况,所以也说不出具体的方案.
我觉得如果数据的递交不是要求很实时的话,可以在客户端运行的时候不断的去检测是否
有新的数据要递交,如果有,提示操作员,然后操作员手工完成递交手续.
当然如果做成后台服务程序,定时触发的话,那是最好的,只要保证自动化完成的控制良好.
但是我觉得一个项目的自动化程度越高,在实施的时候,会遇到各种各样的问题的几率越大.
关键是看客户对数据更新的要求.

服务器端是个很头痛的问题.倒不是线程的问题,关键要看数据库是如何设计,保证数据的
一致性.而且具体这种项目,必须要有一个类似于DBA的人,负责服务器端数据的清理工作.
就像银行台帐的处理,大机24小时都有人负责监视和处理的.
 
1、客户端使用SQL Server个人版,将转换后的数据保存到这里。
2、服务器端使用Oracle或者DB2,基于Unix。
3、使用Tuxedo中间件作为传输平台,
a.负责从客户端的SQL Server中取数据;
b.将数据传输到服务端;
c.服务端接收数据后,插入数据库。
也就是说,整个系统分成三部分:
1、客户端的数据转换系统,可以使用Delphi编写,将数据转换后,存入SQL Server中
2、客户端的发送程序,如果需要相应服务端命令,则需要做成服务程序,负责将数据从
SQL Server中取出数据,然后发送给服务端程序。当然通信通过Tuxedo,此部分最好使用VC++编写。
当然,也可以使用Delphi。
3、服务端负责接收客户端数据,然后将数据存入数据库,使用Proc编写。
 
Proc是什么?
 
客户端什么都数据库都有可能,但我们的标准数据打算放在文件型数据库里,
反正每次都传输更新的数据,没什么长期保存的意义,每次转换前先清空以前的数据
服务器端用SYBASE,UNIX下,这中间确实有一个通信平台,但好象不是长期执行的,而是手工触发
现在他们要求我也开发出一个组件,完成数据转换功能,但我怎么也觉着一个组件根本
无法实现整个功能要求。
而且DELPHI开发的东西能不能在UNIX下运行还不知道!!!1
 
proc算是oracle里面的编译器,可以将*.pc编译成*.c,*.pc里面可以直接使用SQL语句。
也就是说服务端程序需要使用unix下面的C开发
 
我的意思是客户端专门为转化安装一个SQL个人版,将客户的程序导入到SQL Server中
(这是客户端程序做的全部工作)
Tuxedo作为中间通信平台还是可以的,至少省去了麻烦的工作,两端编程都是C/S结构了。
 
如果你的服务器是WINNT(WIN2000),你就使用DELPHI的MIDAS三层结构,
至于采用DCOM还是SOCKET通讯由你自己选择,比较简单。如果你的服务器
是UNIX(LUNIX)的话,建议采用BEA的TUXEDO中间件,使用C,PRO*C开发,
但是TUXEDO比较昂贵些。
 
DCOM支持远程访问吗?
 
远程访问用socket 吧~
 
后退
顶部