现在一般跨区域的大项目之间的数据传递是如何设计的?(100分)

  • 主题发起人 主题发起人 rebirth
  • 开始时间 开始时间
R

rebirth

Unregistered / Unconfirmed
GUEST, unregistred user!
求教,如题。
现在一般跨区域的分布系统的数据集中和传递,一般是怎么设计的?
采用什么技术?

偶考虑过很久,一直弄不明白,希望做过的朋友,指点迷津。
 
用多层分布式系统来解决。看一下李维那本《Delphi 5.x分布式多层应用系统篇》吧。
 
使用中间件,tuxedo等。
 
能描述一下么,除了软件还有硬件~
主要我对硬件的连接情况,没有思路,因为没有看过猪跑 :)
 
to
HunterTeam
看李维的书就有用吗?
 

我听说现在的跨区域数据传递,一般采用XML文件的方式
来实现。先把数据表的内容转换成XML,再加上一些必要的信息,如双方的IP,
对方的数据库服务器名称,要更新的表的名称等等。
 
数据库发布订阅功能
SQLServer2000 和 Oracle 都有
 
同意luckey,最好是从数据库的层面上实现。
 
有没有实际做过的,怎么搞的,说说经验啦,讨教~
 
unit UnitCBMSConst;
interface
Uses Types,Registry,SysUtils;
Type
TActionToDo=(atdDelete,atdOpen,atdModify,atdUpdate,atdLookFor,atdAdd);//定义所有的动作事件

Const
CB_RegRoot =DWORD($80000001);//HKEY_CURRENT_USER;
CB_RegKey ='/Software/CBNSoftware/CBMS';
CB_RegConnectionEntry='CBSConnectionString';
CB_RegConnectionPort= 'CBSConnectionPort';
CB_ConnType ='CB_ConnType';
CB_ConnDescription ='CB_ConnDescription';
CB_UseProxy ='CB_ConnUseProxy';
CB_Proxy ='CB_ConnProxy';
CB_ProxyByPass ='CB_ConnProxyByPass';
CB_ProxyUserName ='CB_ProxyUserName';
CB_ProxyUserPassword='CB_ProxyUserPassword';
CB_LoginUsername ='CB_LoginUserName';


CB_SvrDBServerName ='CB_SvrDBConn';
CB_SvrDBUserName ='CB_SvrDBUserName';
CB_SvrDbUserPassword='CB_SvrDBUserPassword';

CB_Enhydra_Address ='CB_SvrWebAddress';







SvrConfigFile='CBNSvc.dll';

Function GetConnectionString:String;
Function GetConnectionPort :Integer;
Function GetConnectionType:String;
Function GetConnectionDescription:String;
Function GetConnectionProxy:String;
Function GetConnectionProxyByPass:String;
Function GetConnectionUserName:String;
Function GetConnectionPassword:String;

Function GetSvrDBName:String;
Function GetSvrDbUserName:String;
Function GetSvrDbUserPassword:String;

Type
TUserType=(utSYSDBA,utEPGMGR,utDEVMGR,utPROMGR,utINFOMGR,utBILLMGR,utPHONEMGR,utError,utNoRole);
//所有操作员的类型。

var
Reg:TRegistry;
//KeyExists: Boolean;
//CurrentOperatorRoleID,CurrentOperatorRoleName:String;//系统当前的操作员的权限号与权限名。
implementation


Function GetConnectionString:String;
begin
Result:=Reg.ReadString(CB_RegConnectionEntry);
end;

Function GetConnectionPort :Integer;
begin
Result:=Reg.ReadInteger(CB_RegConnectionPort);
end;

Function GetConnectionType:String;
begin
Result:=Reg.ReadString(CB_ConnType);
end;

Function GetConnectionDescription:String;
begin
Result:=Reg.ReadString(CB_ConnDescription);
end;

Function GetConnectionProxy:String;
begin
Result:=Trim(Reg.ReadString(CB_Proxy));
end;

Function GetConnectionProxyByPass:String;
begin
Result:=Trim(Reg.ReadString(CB_ProxyByPass));
end;

Function GetConnectionUserName:String;
begin
Result:=Reg.ReadString(CB_ProxyUserName)
end;

Function GetConnectionPassword:String;
begin
Result:=Trim(Reg.ReadString(CB_ProxyUserPassword))
end;

Function GetSvrDBName:String;
begin
Result:=Trim(Reg.ReadString(CB_SvrDbServerName))
end;

Function GetSvrDbUserName:String;
begin
Result:=Trim(Reg.ReadString(CB_SvrDbUserName))
end;

Function GetSvrDbUserPassword:String;
begin
Result:=Trim(Reg.ReadString(CB_SvrDbUserPassWord))
end;

Initialization
Reg:=TRegistry.Create;
Reg.RootKey :=CB_RegRoot;
Reg.OpenKey(CB_RegKey, True);

Finalization
Reg.Free;
end.
 
采用IBM的MQ技术,银行大部分都是用的这种模式
 
“老人家”同志,您的这段代码是要实现什么功能?能给一点说明吗?
 
我在两个城市间的两个商场门店数据传输
SOAP
写了一个DLL放在IIS中
拔号上网或直接拔到服务器上都可以
 
Websphere企業整合的副產品線:Websphere Business Integration(WBI)、Websphere Business Connection(WBC)、Websphere MQ Series,分別是用於企業整合、企業間整合(B2Bi)及應用整合

這種以單一平台為中心的EAI架構,優點是可確保訊息確實傳遞,而且都具有安全加密機制。Message Hub會主動發出訊息,像郵差送信一樣,若收信人不在家,則會一而再、再而三的嘗試,而且只傳一次,不會重覆。

谁对这东西有研究,说说看。

to spymaster,那你那个client是不是要进行本地存储了?
上报的只是每次异动的数据吧?

希望能指点一二。
 
1.采用三层结构,对方连接上来运行程序就行了,对于集中式管理很好.
2.做一个同步程序,定时同步,对于分部式管理很好.我现就采用这种.
3.国个有一个软件叫:Citrix MetaFrame,它可以实现远程运行程序,即使用远程电脑的资源,
我觉得也不错,什么都不用管,只IP调通就可以,速度也很快.
 
老人家很厉害的:)
希望老人家和其他高手不惜赐教~

最后一次提前.
没有好的结果就要结束问题了.
 
后退
顶部