VD30论坛(一): 何谓3-Tier?

VD_publisher 2004-10-28 09:28:45
1.传统的ONE-TIER
-----------------
以前DBF(像早期的FOXPRO)系统就是将资料库放於LOCAL(单机上),我们用
FOXPRO透过USE/APPEND/REPLACE/DELETE/SEEK..等指令去存取DBF档案,你写的
程式PRG是在LOCAL上执行,并呼叫LOCAL上的FOXPRO编译EXE,
去存取这些DBF的档案,整个过程都在同一个LOCAL PC上执行,我们可以叫
它ONE-TIER.

2.LAN的ONE-TIER
-----------------
早期网路刚开始发展时(如NOVELL NETWARE), 可以将DBF置於FILE SERVER上,
所以进入了MULTI-USER时代, 此时DBF让多个PC可以共享档案(可读可写),
确实带来便利性,但FOXPRO的PRG或EXE还是在PC端执行
(程式可以放在FILE SERVER上,但RUN是在PC上).
所PC端只是去网路OPEN DBF档案,读写都是在PC端去完成的,这个架构只是DBF
的共享,FILE SERVER并没有任何事情做,所以还是在ONE-TIER上作业.
VD20的BDE中Local DBF虽然可以指定放在网路磁碟机上,但也是One-Tier.

3.DATABASE SERVER的TWO-TIER
----------------------------
TWO-Tier就是Client/Server的架构,Client就是PC或终端机,Server就是
Database Server,约十五年前,IBM发展DB2为Client/Server开启了大门,
此後如雨後春笋,Informix/Sybase/Oracle..掘起,於1990年代大肆流行,95年起,
MS-SQL问世,更让资料库市场进入战国时代,就是因为RDBMS(Relation DataBase
Management System)确实带来资料库的效应与标准.

所谓DATABASE SERVER,就是专门处理资料库的主机, 处理资料库的方法是采用一
种大家标准的语言--SQL,这种语言已经成为发展资料库的共同标准(如ANSI-92标准)
就是无论你使用那种资料库, 你都可以使用相同的SQL语言即可以存取资料库.
(其实各家资料库厂商还是有微小的特殊差异性,不一定完全共通),所有的PC或Client
都必须以SQL来下达给Database Server,并由DataBase Server全权处理,Client必须
等待Server的执行结果,如Insert/Update/Delete就是指挥要对Database Server进行
某Table(资料表)的新增/更改/删除的动作,如Select就是要指挥Server去查询相关的
资料下来, Server是以Cursor的方式将资料回传给Client,也是说Client下达Select
的SQL以後会得到一个Cursor(资料集合),所以Client/Server是一种分工的模式,由
Client来提出申请,由Server来完成资料存取的目的,如此即可以将资料安全集中於
DataBase Server上,不必像DBF分散到PC上存取,容易乱掉与损毁(尤其是Index档),
资料的稳定度相对提高,处理大量资料的速度也相对提升(DBF资料一大,速度就是慢)
C/S架构确实提升不少速度与品质.

4.APPLICATION SERVER的THREE-TIER
---------------------------------
2-TIER其实已经解决了不少资料库的问题,但面临大型系统,C/S会因为Connection
数量(使用者的连线数)的暴增而造成Database Server无法负荷,通常一个Application
Connection只要到达30到50个User就会造成DB Server疲於奔命,速度与效能将有显着
的改变.另一个就是维护的问题,大型的系统有很多很大的Client程式,分散到各个
Client上,每当有程式版本异动时,都必须大费周章的将Client程式换掉,再加上目前
整个A/P的全球发展趋势就是Thin-Client(瘦小的Client),3-Tier的架构与相关技术也
就因运而生,上海讯光早已4年前就以MIDAS(Borland发展的通讯协定)研发3-TIER的技术,经
过了3年的专案实务演练,造就了EEP的发展平台(Electronic Enterprise Platform),为
了能将新的研发成果可以让DBTOOLS客户群分享,VD30则同样采用EEP的A/P Server平台,
让VD30直接跃升为最新的3-Tier架构,来解决2-Tier无法满足的需求.
所谓3-Tier就是Client/Application Server/DataBase Server的意思,与2-Tier不一
样,就是将原本Fat Client(肥胖的Client端程式)拆成Thin Client与Appliction
Server,说明如下:
(1)Client:简单的Client程式,也可以使用Web来设计,其程式不会直接碰触与资料库,
也就是没有任何SQL语法与资料库存取程式,更不能有资料库的运算逻辑,Client变成
只能用来输入与显示资料,好像是当年的Terminal,Client变的很简单,顶多也只能做
点资料的检验而已,与Web的HTML与PHP的前端设计很像,不能也禁止去执行後端Database的动作.
(2)Application Server:就是接受Client的请求主机,Client会与Application Server
要资料及要求存入资料,所以A/P SERVER是Client的共同代理人,代理各Client的资料
存取服务与程式服务,也就是说,A/P SERVER以SQL语法与DB SERVER碰触,但Client则不
行,须经由A/P SERVER代理,当A/P SERVER由DB SERVER取得资料後,再以MIDAS将CURSOR
传送到Client上.相对的,如果Client要存入资料,则要呼叫A/P SERVER端的存档程式,
此时Clinet会将资料打包传送到A/P SERVER上,再由A/P SERVER来以SQL语法对DB SERVER
来存档.
(3)Database Server:与原来Client/Server架构的Database Server一样,扮演Database
存取的服务.

5.A/P Server的功能与特色
----------------------------
(1).比照Web的方式完全无状态的连线方式, 也就是Client与Database随时
保持不连线状态, 一直到需求发生才去连线, 如此将有较佳的连接效能,
另一是指A/P Server与Client也是无状态的, 也就是Client与Server端随时
可以断线, 只要线一恢复, 系统将自动再连线(User等待仅2~3秒间, 是无
感觉的)
(2).资料库Connection Pooling的机制, 让企业的Client可以共有或共享这些
Connection, 如User有50个要连线时, 在本系统仅须10~20的资料库连结.
效率上将会有明显的差距.
(3).支援Name Server的架构, 可以使用Load Balance的功能来调节当User暴增时
多台A/P Server间的Loading. Name Server也可以为无状态模式, 也就是说前一
分钟由某个A/P server来服务, 但下一分钟不一定是由同一台来服务.
(4).支援ServerMethod, 就是由Client来呼叫, 但是在Server上执行, 这部份很像
StoreProcedule, 只在A/P Server端的执行程式, 在EEP是以Delphi来设计Server
Method, 在VD30则可以在ServerForm设计一段程式, 并由Client来呼叫.
(5).A/P Server端上的元件不多, 都是在Server端处理资料的元件, 目前有SQuery(资料查询)/
SDataSource(资料关联)/SAutoNum(自动编号)/SUpdateComp(资料异动)/SStatist(资料统计)/
SServerMove(过帐元件)/SServerClose(资料结帐)/SServerWarning(资料异常)等元件,我们将
在後文介绍这些元件.
(6).资料同步服务, VD30提供一个CacheTable的机制, 也就是说将部份常用且资料
较小的Table Cache到Client来, 其Client的附档名为 .CAC, 此时Client在使用
LookUpList时可以直接调用Client的Cache, 不必到Server上来抓资料, 如在Internet
效率上确实提升不小, 此唯一缺点就是资料同步的问题, 所以A/P Server必须负责
这些Client这些CAC的同步功能(只能将Server的最新资料对各个Client更新)
(7).先进的WorkFlow系统, 可以直接结合Work Flow的系统, 并由A/P Server来负责
Flow的管控与待办事项的处理, 如再结何Schedule System(工作排程系统), 与上述的
SServerWarning(资料异常), 即可做到先进的异常预警的系统.
...全文
253 1 打赏 收藏 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
andy_KAO 2004-10-29
  • 打赏
  • 举报
回复
以後,每週發表兩篇論壇~
内容概要:本文详细介绍了利用Matlab代码实现分数阶系统(FOS)Lyapunov指数谱的计算方法,涵盖分数阶Lorenz系统、4D分数阶Chen系统和分数阶Duffing振荡器三类典型非线性动力学系统。通过数值仿真手段,系统地分析了不同分数阶微分阶次下系统的混沌演化行为与稳定性特征,重点阐述了Lyapunov指数谱的求解算法流程、关键实现步骤及参数设置策略,为深入研究分数阶系统的复杂动力学特性提供了可靠的数值分析工具与技术路径。; 适合人群:具备非线性动力学、分数阶微积分理论基础及Matlab编程能力的研究生、高校教师、科研机构研究人员以及从事混沌系统建模、复杂系统控制与信息安全等领域的工程技术人员。; 使用场景及目标:①开展分数阶微分方程系统的混沌特性分析与稳定性判据研究;②通过Lyapunov指数谱揭示系统在参数变化和阶次调节下的动力学演化规律;③为分数阶混沌系统的同步控制、保密通信、信号加密等实际应用提供理论支撑与算法基础。; 阅读建议:建议读者结合Matlab代码实现与相关数学理论同步学习,重点关注数值算法的实现细节、初值敏感性与积分步长对结果的影响,鼓励通过修改系统模型、调整分数阶阶次或引入外部激励等方式进行拓展性实验,以深化对分数阶系统非线性行为的理解。
内容概要:本文系统研究了基于三电平NPC换流器的双端VSC-HVDC背靠背系统的功率解耦控制策略与暂态恢复特性,并借助Simulink平台完成了完整的系统建模与仿真验证。研究深入剖析了系统的主电路拓扑结构、PWM调制机制以及有功功率与无功功率独立调控的理论基础,重点构建了包含内外环协同控制的控制系统架构,实现了对直流电压、交流电流等关键变量的精确动态调节。文章详细阐述了在外部扰动或故障条件下系统的暂态响应过程,评估了其故障穿越能力与恢复性能,通过仿真实验验证了所采用控制策略在提升系统动态响应速度、维持功率解耦能力和增强运行稳定性方面的有效性。; 适合人群:具备电力电子、高压直流输电或新能源并网等相关领域基础知识的研究生、科研人员及从事电力系统仿真与控制算法开发的工程技术人员。; 使用场景及目标:①用于高等院校或科研机构开展VSC-HVDC系统建模与先进控制策略的教学与科研工作;②为工程实践中高压直流输电系统的控制算法设计、参数整定与仿真验证提供可靠的技术参考;③支撑对三电平换流器拓扑优势及其在背靠背系统中应用潜力的深入理解与优化设计。; 阅读建议:建议结合提供的Simulink仿真模型同步研读,重点关注控制系统设计逻辑、内外环参数设计方法与仿真结果分析部分,宜在掌握基本电力电子变换器原理和矢量控制理论的基础上,进一步深化对多电平换流器控制特性与系统级动态行为的理解。

2,208

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧