Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #1 能否象银行那样,实现数据的通存通取,大家谈谈意见啊! 所里数据库是SQLSERVER6。5,在A所存档的用户资料,在B所也可以交费。 省局可以查到所有资料。
L lmeiing Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #2 我的感觉上倒是可以实现,应该是对用户的权限要求比较严格 不过没有做过试验
姚 姚哥 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #3 b所工作时,用a所短web程序远程查询,并提交到a所web程序修改a所数据库。
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #4 我的想法是做一个认证中心数据库,各个所的用户都去访问它,当不是本地用户时, 到认证数据库做一个认证请求,如果通过,然后在本地写入数据库,再有认证数据库去 找到是那个所的资料,然后把此资料写入存有此用户资料的所里。 但这个认证数据库如何做好。。。。。。。不知道各位大哥有何高见
我的想法是做一个认证中心数据库,各个所的用户都去访问它,当不是本地用户时, 到认证数据库做一个认证请求,如果通过,然后在本地写入数据库,再有认证数据库去 找到是那个所的资料,然后把此资料写入存有此用户资料的所里。 但这个认证数据库如何做好。。。。。。。不知道各位大哥有何高见
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #5 如此还不如做一个总库。每个所添加新记录的时候也向总库写入一份,每个所更新已有 记录时也向总库同步一份,但是不允许直接改写总库(储户只能到开户行办理户头信息 的变更)。在任何一个所的终端机上操作时,先看用户是不是本所的,如果不是本所的 就到总库中去找。在每个终端上可以做一个缓存库,例如,A所开户的储户老张经常到 B所取办理业务,B所就自动将老张的信息缓存到本地库。连续一年没在本所办理业务的 非本所储户的信息将被自动清出缓存。
如此还不如做一个总库。每个所添加新记录的时候也向总库写入一份,每个所更新已有 记录时也向总库同步一份,但是不允许直接改写总库(储户只能到开户行办理户头信息 的变更)。在任何一个所的终端机上操作时,先看用户是不是本所的,如果不是本所的 就到总库中去找。在每个终端上可以做一个缓存库,例如,A所开户的储户老张经常到 B所取办理业务,B所就自动将老张的信息缓存到本地库。连续一年没在本所办理业务的 非本所储户的信息将被自动清出缓存。
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #6 A所开户的储户老张经常到 B所取办理业务,B所就自动将老张的信息缓存到本地库。但老张到B所办理 后如何将刚办理的资料也写到A所去呢,这样有必要吗, snowboat,你有QICQ,和EMAIL吗,能和你聊聊吗,万分感激。。。。。
A所开户的储户老张经常到 B所取办理业务,B所就自动将老张的信息缓存到本地库。但老张到B所办理 后如何将刚办理的资料也写到A所去呢,这样有必要吗, snowboat,你有QICQ,和EMAIL吗,能和你聊聊吗,万分感激。。。。。
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #7 不一定用QQ啊。DFW就是我们Delphi爱好者的天下呀! 老张在B所只能办理常规业务,例如存取,但是不能修改个人资料。因此也不需要将 个人资料写回到A所。 实际上银行也是有这样的规定的,储户凭本人身份证到开户营业厅(所)办理变更, 但是可以到任何一个联网营业厅(所)办理存取款。 至于业务数据(操作记录,发生额,余额)肯定是要统一存储的,并且还要包在一个 事务里,保证绝对可靠。慢就慢,没有别的办法。 业务数据,是集中存储还是分布存储呢?集中存储有利于借助高质量主干网的速度和 稳定性,但是数据中心的压力也很大,一旦损坏全都罢工!分布存储的话,有一定的 重复建设问题,比如每个小数据中心都要搭建较高品质的系统,租用较高品质的电信 线路,但是不会使局部故障影响全局。
不一定用QQ啊。DFW就是我们Delphi爱好者的天下呀! 老张在B所只能办理常规业务,例如存取,但是不能修改个人资料。因此也不需要将 个人资料写回到A所。 实际上银行也是有这样的规定的,储户凭本人身份证到开户营业厅(所)办理变更, 但是可以到任何一个联网营业厅(所)办理存取款。 至于业务数据(操作记录,发生额,余额)肯定是要统一存储的,并且还要包在一个 事务里,保证绝对可靠。慢就慢,没有别的办法。 业务数据,是集中存储还是分布存储呢?集中存储有利于借助高质量主干网的速度和 稳定性,但是数据中心的压力也很大,一旦损坏全都罢工!分布存储的话,有一定的 重复建设问题,比如每个小数据中心都要搭建较高品质的系统,租用较高品质的电信 线路,但是不会使局部故障影响全局。
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #8 对呀,业务数据(操作记录,发生额,余额)肯定是要统一存储的,通一存储是什么概念。 比如说老张(资料在A所)在B所办理业务时,发生额在B所存储外,在中心数据库也有 存储。但此时B或是中心数据库应该是要把此笔业务数据也传到A所去呀,如何传呢。
对呀,业务数据(操作记录,发生额,余额)肯定是要统一存储的,通一存储是什么概念。 比如说老张(资料在A所)在B所办理业务时,发生额在B所存储外,在中心数据库也有 存储。但此时B或是中心数据库应该是要把此笔业务数据也传到A所去呀,如何传呢。
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #9 统一存储,并不一定要集中存储,而是说,每条数据只存在一个地方,没有镜像,没有 副本(当然备份是要有的)。比较现实的办法是:每个所(最好是支行,划分到所太碎 了,也不好)存储自己全部客户的业务数据。
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #12 最好不要直接修改A所数据,而是以一条“终端命令”的形式传回去,就像A所的终端传给 A所服务器一样。然后A所把交易结果再传回来。在A所接到命令之后,一直到B所收到结果 并向A确认之时,A所要把老张Lock住,不许任何操作。
最好不要直接修改A所数据,而是以一条“终端命令”的形式传回去,就像A所的终端传给 A所服务器一样。然后A所把交易结果再传回来。在A所接到命令之后,一直到B所收到结果 并向A确认之时,A所要把老张Lock住,不许任何操作。
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-06 #13 snowboat的意思是:老张在B所交费后,在B所服务器存储,且在中心数据库存储。 再由中心数据库发判断后给一条命令给A所,A所把刚老张交易的业务数据抓取回来 并向B所发出数据取到的信息,是吗
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #14 不是这个意思。说明如下: 老张本来在A所开户,个人信息存在A所一份,中心数据库一份;但是老张的业务数据只能 在A所存一份。 老张到A所办理业务,A所终端从本地服务器读取个人信息和业务数据,向本地服务器发送 命令“操作=存款;发生额=1000;时间=2003-05-07 08:20:30;流水号=3AD82F90C76B”, 本地服务器接收后,立即锁住老张这个用户,不许再对他的任何数据进行操作,然后进行 交易,记入数据库,完成后,发给终端机一个回应“状态=成功;流水号=3AD82F90C76B”。 终端机收到以后,显示“交易成功”,打印凭条,再向服务器确认。服务器解除锁定。 老张到B所办理业务,B所终端从中心数据库读取个人信息,从A所服务器读取业务数据,向 A所服务器发送命令“操作=存款;发生额=1000;时间=2003-05-07 08:20:30;流水号=3AD 82F90C76B”,A所服务器接收后,同样锁住老张这个用户,不许再对他的任何数据进行操作, 然后进行交易,记入A所数据库,完成后,发给B所的终端机一个回应“状态=成功;流水号= 3AD82F90C76B”。B所终端机收到以后,显示“交易成功”,打印凭条,再向A所服务器确认。 服务器解除锁定。
不是这个意思。说明如下: 老张本来在A所开户,个人信息存在A所一份,中心数据库一份;但是老张的业务数据只能 在A所存一份。 老张到A所办理业务,A所终端从本地服务器读取个人信息和业务数据,向本地服务器发送 命令“操作=存款;发生额=1000;时间=2003-05-07 08:20:30;流水号=3AD82F90C76B”, 本地服务器接收后,立即锁住老张这个用户,不许再对他的任何数据进行操作,然后进行 交易,记入数据库,完成后,发给终端机一个回应“状态=成功;流水号=3AD82F90C76B”。 终端机收到以后,显示“交易成功”,打印凭条,再向服务器确认。服务器解除锁定。 老张到B所办理业务,B所终端从中心数据库读取个人信息,从A所服务器读取业务数据,向 A所服务器发送命令“操作=存款;发生额=1000;时间=2003-05-07 08:20:30;流水号=3AD 82F90C76B”,A所服务器接收后,同样锁住老张这个用户,不许再对他的任何数据进行操作, 然后进行交易,记入A所数据库,完成后,发给B所的终端机一个回应“状态=成功;流水号= 3AD82F90C76B”。B所终端机收到以后,显示“交易成功”,打印凭条,再向A所服务器确认。 服务器解除锁定。
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #15 snowboat 真的是非常感谢你这么耐心的说,我在问一下,老张到B所办理业务, 业务数据还是存在A所,B所的数据库不存吗,那这样就是说,中心数据库只有用户的 开户资料,没有业务数据,那在省局去查询时,还要去各个所去取数据。 我现在所是SQLSERVER6。5,准备升级到sqlserver2000,中心数据库用oracle8i 用DELPHI能实现吗,中心数据库要写什么组件才能去实现去向不同的所发指令呢 谢谢
snowboat 真的是非常感谢你这么耐心的说,我在问一下,老张到B所办理业务, 业务数据还是存在A所,B所的数据库不存吗,那这样就是说,中心数据库只有用户的 开户资料,没有业务数据,那在省局去查询时,还要去各个所去取数据。 我现在所是SQLSERVER6。5,准备升级到sqlserver2000,中心数据库用oracle8i 用DELPHI能实现吗,中心数据库要写什么组件才能去实现去向不同的所发指令呢 谢谢
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #16 我所描述的是若干种模型中的一种,即:开户信息在开户营业所和中心数据库各存储一份, 目的是提高查询速度;业务数据只存在开户支行或人为指定的管辖支行,目的是保证数据 绝对可靠。 这样做,异地交易会发生数据传输的“漫游”,正好可以通过向用户收取“漫游费”的办 法来购买更好的系统和更快的光纤,哈哈! SQLServer和Oracle的区别,我体会,主要是在海量处理能力上,其次是稳定性,再次是应 用和管理的灵活性,最后是安全性。中心服务器可以采用IBM的小型机,运行AIX操作系统, 数据库用Oracle,现在已经有非常成熟的方案,你可以直接向IBM电话查询。 需要考虑的因素有:业务内容,数据流量,网络介质,地理分布,网络拓扑,等等。 我并不是专业人士,只能和你一起讨论讨论。
我所描述的是若干种模型中的一种,即:开户信息在开户营业所和中心数据库各存储一份, 目的是提高查询速度;业务数据只存在开户支行或人为指定的管辖支行,目的是保证数据 绝对可靠。 这样做,异地交易会发生数据传输的“漫游”,正好可以通过向用户收取“漫游费”的办 法来购买更好的系统和更快的光纤,哈哈! SQLServer和Oracle的区别,我体会,主要是在海量处理能力上,其次是稳定性,再次是应 用和管理的灵活性,最后是安全性。中心服务器可以采用IBM的小型机,运行AIX操作系统, 数据库用Oracle,现在已经有非常成熟的方案,你可以直接向IBM电话查询。 需要考虑的因素有:业务内容,数据流量,网络介质,地理分布,网络拓扑,等等。 我并不是专业人士,只能和你一起讨论讨论。
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #17 谢谢,你说”老张到B所办理业务,B所终端从中心数据库读取个人信息,向 A所服务器发送命令“操作=存款;发生额=1000;时间=2003-05-07 08:20:30;流水号=3AD 82F90C76B”,“ 向A所服务器发出命令的是B所终端吗,而不是由中心数据库吗, 那这样不是终端要和所有的所部数据库连接在一起,负荷不是很重, B所从中心数据库里找到老张的资料,然后判断是那个所的开户资料(如是A所)。 再去连接那个A所数据库。我的意思是有中心数据库去判断发送指令,再来进行转换
谢谢,你说”老张到B所办理业务,B所终端从中心数据库读取个人信息,向 A所服务器发送命令“操作=存款;发生额=1000;时间=2003-05-07 08:20:30;流水号=3AD 82F90C76B”,“ 向A所服务器发出命令的是B所终端吗,而不是由中心数据库吗, 那这样不是终端要和所有的所部数据库连接在一起,负荷不是很重, B所从中心数据库里找到老张的资料,然后判断是那个所的开户资料(如是A所)。 再去连接那个A所数据库。我的意思是有中心数据库去判断发送指令,再来进行转换
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #18 B所获知老张属A所管辖之后,直接向A所发送命令,不通过中心服务器。 中心服务器最多只保存一个路由列表和一个用户信息备份,当然也可以把路由列表都 下载到B所本地,因为路由列表不会经常变化,可以在网络闲时下载更新。 至于B如何获知老张的所属,可以从中心服务器查询,也可以用前缀编码来偷懒,比 如,所有以“0281”开头的用户是西四营业所的,以“0282”开头的用户是劲松营业 所的。那么,老张如果是“02819937204”,那肯定是西四的。B所在本地保存一个对 应列表,查出之后再找路由。
B所获知老张属A所管辖之后,直接向A所发送命令,不通过中心服务器。 中心服务器最多只保存一个路由列表和一个用户信息备份,当然也可以把路由列表都 下载到B所本地,因为路由列表不会经常变化,可以在网络闲时下载更新。 至于B如何获知老张的所属,可以从中心服务器查询,也可以用前缀编码来偷懒,比 如,所有以“0281”开头的用户是西四营业所的,以“0282”开头的用户是劲松营业 所的。那么,老张如果是“02819937204”,那肯定是西四的。B所在本地保存一个对 应列表,查出之后再找路由。
S snowboat Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #19 假如要用中心服务器做“中转”,那全国都要经过中心服务器,那还了得呀!
Z zhanghuip Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-07 #20 假设现在网络全部都是通的, 那B所找到老张是A所的后,向A所发送命令,现在所部都是SQLSERVER2000 那终端就去连接A所的数据库,那要动态去写ODBC的程序了,这样会不会很耗终端的资源 那A所接受B所的数据成功后,又如何发一道命令给B所呢,
假设现在网络全部都是通的, 那B所找到老张是A所的后,向A所发送命令,现在所部都是SQLSERVER2000 那终端就去连接A所的数据库,那要动态去写ODBC的程序了,这样会不会很耗终端的资源 那A所接受B所的数据成功后,又如何发一道命令给B所呢,