Client/Server模式在DSS中的应用

来源 :互联网世界 | 被引量 : 0次 | 上传用户:wangrong2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  决策支持DSS(Decision Support System)是在管理信息系统的基础上发展起来的,它集成了模型库、数据库和会话部件,其主要任务是为高层管理的决策活动提供支持。与通常的软件系统有所不同,决策支持系统通常面向的是半结构化和非结构化问题,它的设计和运行是以模型驱动的,模型库的动态可扩充性非常重要。
  当前,计算机网络技术的发展和成熟改变了传统的管理信息资源的模式,Client/Server结构已成为世界上广泛采用的一种存取信息系统和资源的方式。Client/Server结构是一种存储、访问和处理数据的分布式模型。以前国内开发的决策支持系统采用Client/Server模式的很少,通常均是基于单机(包括多用户系统)的。但是,随着Internet/Intranet的进一步发展,基于Client/Server模式的决策支持系统将会得到普遍的应用。
  以下介绍一种基于Client/Server模式的决策支持系统的设计原则、总体结构、软件结构及远程调用的实现机制,以此来说明Client/Server模式如何在DSS中应用。该系统是以国产的曙光一号为平台的,充分利用了曙光一号事务处理能力强和PC机Windows系统界面友好的特点,较好地支持Client/Server模式的决策支持系统的开发和运行。
  
  Client/Server模式DSS的总体结构
  该DSS开发平台着重于为用户提供Client/Server模式所必需的服务与客户方API接口,在服务方式上有模型库管理系统,设计了模型定义语言(MDL)和模型操纵语言(MML),包括用模型的添加和修改、模型调用接口程序的自动生成及模型的动态调用等。客户方可通过TCP/IP网络调用MML解释器,进行远程模型库管理工作,并为上层应用提供远程模型调用接口。该方案的设计原则为:
  1.支持Client/Server模式:除了Client/Server结构本身的优点外,设计时采用Client/Server结构还基于以下考虑:一方面是考虑到曙光一号系统吞吐量大,非常适合作服务器,但基于未配图形处理板和中文系统,再加上UNIX系统对于大多数的一般用户来讲不太熟悉,因而应用程序的界面系统的开发十分困难;而另一方面是PC机上的Windows操作系统已为广大用户所接受和熟悉,开发界面系统十分方便,又可解决汉字输入输出问题,是一个理想的客户机选择方案。因此采用Client/Server结构是必然的。
  2.支持模型的动态增删和运行:对于决策支持系统,由于开发人员不可能在开发时就将所有将来需要的模型均集成在系统中,因此提供模型的动态增删和执行也是必须的。在此系统中所需系统的模型粒度为函数子程序级。
  3.模型规范和实现分离,支持多种语言实现的模型:模型规范是在抽象数据上的描述,它规定了模型的接口和行为特征,确立了模型具体实现、功能理解和模型组合运行的基础。模型规范与具体实现无关,从而可以允许用户自由地选择自己熟悉和合适的语言来实现模型。模型规范用MDL语言进行描述,然后提交给模型库管理系统。
  4.面向对象作为一种统一的概念框架来建立DSS的体系结构模型:该系统采用面向对象技术,运用C++语言开发。由于模型表示的多样性,为了使系统将来能支持更多的模型表示,因而要求系统具有良好的可扩充性,面向对象的技术是最好的选择。
  Client/Server结构的DSS主要包括:
  服务器端:服务器端除了包括模型库管理系统(MBMS)、知识库管理系统(KBMS)和数据库管理系统(DBMS)外,还完成从接口部分返回命令,进行实质性的系统操作。它负责存储、检索模型的建立;维护模型之间的关系;更新模型内容;动态增减模型;接收不同客户方请求并将系统信息及时反馈给客户方;建立多重网络连接;自动生成模型动态调用接口;负责将用户远程调用模型请求转为模型动态调用;自动生成不同操作系统之间参数数据类型的分解转换;动态调用并执行模型;在模型运行期间进行模型接口参数与客户方调用参数之间的类型检查,最后自动将模型程序的返回结果传回客户方。此外在服务器端也有程序员接口和开发工具,以供程序员直接在服务器上进行模型库、知识库操作。
  客户端:客户端主要提供Windows DLL API, 客户可以通过它向服务器发送消息,在网络上进行模型库系统管理、远程调用模型、获得模型返回结果。
  
  远程过程调用机制的实现
  Client/Server模式的软件实现中最大的问题在于过程的远程调用与执行。由于Client/Server模式要求在同种或异种操作系统之间进行网络(同种或异种网络协议)上的信息交换,因此开发软件过程中必须同时协调客户与服务方进程,这些必然增加C/S模式软件开发的复杂性与难度。目前世界上最大的网络是Internet网络,它以TCP/IP协议为骨干网络协议,UNIX操作系统大多配有实现TCP/IP协议的网络软件包,其中BSD Socket为其底层的网络开发工具,而在微机上广泛使用的Microsoft Windows系统中的WinSocket也是一套支持TCP/IP协议的Socket编程标准。基于Socket,SUN公司开发了一套RPC/SDR协议,其中SDR协议用于解决不同系统之间的可移植数据的转换问题;RPC则用于实现Client/Server进程间的通信和远程过程调用。但是RPC/SDR协议本身比较复杂,一般用户较难理解,且需要支持RPC的软件包,而在该系统中客户只有WinSocket软件包。采用网络底层开发工具BSD Socket与WinSocket编程参与RPC/SDR协议,开发一套在远程过程动态调用的机制,解决了Client/Server结构中远程过程调用所涉及的多项关键技术问题。
  由于Client/Server模式涉及到了远程过程调用,所以必须保证传输的函数原型及其参数和数据的精确,另外在用户使用模型管理系统时,往往要求系统建立联结,以记住模型库的操作状态,为此该系统采用了面向连接的套接字接口函数调用技术,以保证其可靠性。在客户方使用了Windows Socket中阻塞与非阻塞混合方式,很好地协调了各种套接字函数的合理使用。在Client/Server模式软件中服务方处于循环等待客户请求状态,由客户方发出服务请求,服务方与客户方协商好信息通信方式后,接受客户方申请,解释客户方请求并给出应答,即为客户方提供所需服务。而客户方与服务方信息交换便是以远程过程执行来实现的。Client/Server模式下远程调用的具体实现技术包括:
  1.解决不同操作系统之间的地址空间映射:数据类型长度、地址边界对齐在不同操作系统之间自动切换;带类型数据的组装、传输与分解。
  2.采用Windows DLL提供客户方API;客户方通过DLL采用C/PASCAL调用方式下的RPC接口的原型描述;接口的可变参数的传递问题。
  3.在服务方外部目标文件如何动态调入内存,如何从符号表中查找到具体的函数地址;被动态调用过程的接口形式问题,如何将客户方传来的类型数据映射到被调用过程入口参数,以及如何进行入口参数的类型匹配的检查,如何将被调用过程的输出结果返回给客户方。
  
  模型库管理系统
  作为DSS核心的模型库管理系统,使模型与使用模型的应用相互独立,其主要功能包括模型定义和模型操纵。
  1.模型定义
  模型是用MDL模型定义语言定义的。MDL遵循规范和实现相分离原则,分为模型规范和模型体两个部分。模型规范定义了模型名、所属模型库、模型描述、模型接口、引用的子模型等内容。而模型体则给出了模型的具体实现、实现语言、链接信息等。模型定义的形式如下:
  ModelSpec模型名in模型库名
  Description模型语义的非形式化描述
  SubModel引用子模型列表
  Interface模型接口描述
  End
  
  ModelBody模型名in模型库名
  Source模型源程序文件名
  Using实现语言名Implementation模型实现
  Library链接库列表
  End
  模型接口描述分为两种:可执行目标码和函数形式。前者的模型实现为一可执行程序,调用参数只能通过命令行参数传递,参数的描述在Description部分。后者采用C语言函数原型表示方法。模型实现可以用两种方法给出,其一是给出源程序文件列表,系统可以根据文件扩展名确定实现语言;其二是直接给出用某一语言实现的模型程序。
  2.模型库管理系统
  模型用方法来代表,在计算机中算法用程序来表示。在模型的生命周期中,与模型相关的文件有源程序文件、中间目标文件、可执行文件和子程序库等多种。将模型按库组织,并通过为每个模型库建立模型字典来有效地组织、存储众多的模型文件,以便对模型进行建模、修改、查询、使用、维护更新等工作。模型库管理系统是建立在关系数据库之上的。
  该系统定义了MML模型操纵语言来访问和管理模型库。模型库管理系统是一后台服务进程,监听客户连接请求。当接收到客户请求时启动相应子进程,负责对客户提交的各种命令进行解释、应答和服务。模型库的分布存储和执行对用户是透明的。
  3.模型的组织和运行
  DSS系统显然必须提供将多个模型组合以解决复杂问题。模型的组合可以有两种方式。一种是通过在模型规范中描述模型输入输出接口之间的连接关系来定义一个模型网,该模型网即构成了一个复合模型。这里不需要给出模型的具体实现,由系统自动导出复合模型的模型体。该方法的优点是模型组合方便、容易;缺点是只适合描述一些简单的复合模型。另一种方法是用程序的方法来复合模型。由于程序语言具有丰富的控制结构,因此利用这种方法可以构成非常复杂的复合模型。它的缺点是需要编程,设计并实现MECL模型的控制运行语言来调用模型和组合模型。
  MECL在C语言上扩充了模型链接说明、模型参数说明和模型调用语句。模型组合和运行在Client/Server结构下要解决以下问题:(1)函数调用:由于模型是动态可扩充的,因此需要一个通用的模型调用函数,它相当于一个消息处理器,接收客户模型执行请求,然后执行服务器上相应的可执行模型程序或模型函数。对于模型函数要求可以传递大多数C数据类型的参数。这里需要解决的一个难点是模型的动态执行,通过对模型中间目标的定位文件进行动态链接,很好地解决了这个难题。(2)参数传递:由于客户和服务器运行在不同操作系统下,即模型控制运行程序和模型体处于不同系统下,因此必须考虑数据类型的对应关系。参考RPC远程过程调用机制,通过扩充C的数据类型说明语句和定义一种中间数据类型,由系统将客户和服务器的数据类型均转换映射到该中间类型,该转换过程对用户透明。此外在MECL程序中还需要指明使用的模型及模型库,以便链接程序将相应的模块和库连接在一起。
  通过使用这个平台,实现了一个高新技术产业开发区智能决策支持的原型。以后进一步的工作主要包括扩充模型表示形式、丰富开发工具和交互环境及支持OLE,从而将各种应用软件集成在一起。
  
  结束语
  从以上的介绍可以看出,Client/Server模式在DSS中的应用有如下的优点:
  1.基于Client/Server模式的DSS系统的开发周期可以大大缩短。Client/Server计算模式将处理权下放到客户端,由此终端用户就拥有了强大的处理能力,这在很大程度上能够激发终端用户的积极性,提高工作效率。
  2.基于Client/Server模式开发DSS系统可以大大提高DSS系统的性能。在Client/Server模式下,处理是分布的,由更多的CPU参与处理,从而提高了整个系统的效率。并且,由于采用Client/Server结构,降低了前后端进行大的数据文件传输的需求,因而减轻了网络的压力。
  3.基于Client/Server模式开发的DSS系统具有柔性。Client/Server计算模式从组织运营及技术两个角度提高了组织的柔性。从组织运营角度看,Client/Server计算模式通过允许组织更好的利用已拥有的PC机和LAN等硬件资源,吸纳新技术,从而使组织更好地适应不断变化的经营条件。
  Internet的日益普及以及相关技术的发展对传统的基于Client/Server模式的DSS产生了巨大的冲击。Internet/Intranet极大的改变了基于Client/Server模式的DSS的机构设计、开发环境和应用环境,打破了信息共享的障碍。
  作为信息传播载体的Internet,随着能够联入Internet的人数逐渐增多,日益变成人们熟知的全球范围网(WWW),大大丰富了Internet的信息资源。九十年代,企业网(Intranet)已成为连接企、事业内部各部门与外界交流信息的重要基础设施。在市场经济和信息社会中,企业网对增强企业的综合竞争能力有着重要的作用。
  Internet特别是Intranet的出现,对决策支持系统的研究与开发提出了许多极富挑战性的问题。新的基于Internet的决策支持系统扩大了可利用信息的范围。当一个企业网建立在Intranet上时,就分析与决策而言,至少在以下两点上会发生很大变化:
  ● 分析、决策用的数据不再集中于某一场地,而是分散到网络上的不同地区、部门。
  ● 运行在Internet环境里的分析、决策模型及知识处理方法会从一台机器上的集中式处理,变成在网络环境下的分布或分布再加上并行的处理方式。这些变化为研究分布式数据仓库、分布式决策处理提供了机遇。
  决策支持系统与Internet两种技术的组合,使更多的用户能够容易、透明地通过超级连接,从网络的一个点到另一个点,操作文件,方便地访问信息,从而改变人们的决策方式。利用Internet的Web用户可以漫游网络,确定感兴趣的信息并将它们下载;用户还可以很容易地用建立报表以及在网上公布的方法进行信息传递和交换。
  通过决策支持系统与Internet/Intranet的结合及Client/Server模式在其中的应用,将会对决策支持系统的进一步发展和智能化、网络化起到极大的推动作用,而Internet/Intranet也会因此而得到更快的发展和提高。■
其他文献
诺基亚日前发布了公司2001年第四季度及全年经营业绩,再次以强劲的盈利和继续扩大的手机市场份额巩固了其全球移动通信市场领导者的地位。截止到2001年底,诺基亚在中国投资总额已达到25亿欧元,在中国销售收入达到34亿欧元,出口超过25亿欧元,比上年增长约50%,有望继续保持中国通信业出口第一。  在马年到来之际,诺基亚(中国)投资有限公司总裁康宇博先生对诺基亚去年在中国取得的一系列里程碑式的成就给予
期刊
SDH从出现到今天的十余年,已经走到了一个需要重大革新的时期……    40G的必然经历  10G与2.5G之争到今天渐渐尘埃落定。当今10G在骨干网上对2.5G所具有的优势姑且不论,单看当年红极一时的朗讯公司,与曾经是北美长途传输老大的AT&T,都因错失10G良机而将头把交椅拱手让人,已经令40G与10G的新一轮论战显得格外引人注目。  40G必要性:众所周知,1600G的骨干传输网已经在国内开
期刊
在高科技行业中,人们的记忆总是短暂的。从信息高速公路的最初展望到它的实现,所走过的那条漫长而艰辛的道路几乎已无人提起。也不会有很多人记得GSM网络发展初期,那种对未知世界无所适从的感觉。但是,今天,面对3G,我们又遇到了同样的问题,不同的只是所处的环境,而这个环境无论从技术角度还是从商业角度看都要比过去复杂得多。  如果说我们这一行业已对各地移动网络高效的运作习以为常,那么我们的客户也同样如此。因
期刊
光网络的具体含义到底是什么,这是一个仁者见仁,智者见智的问题。但有一点是取得了共识的,即:未来的光网络应该是一个应用灵活,可靠,性能稳定的网络。它应该满足传输各种信号,如SDH,ATM,IP等等,的所有基本要求(也就是其灵活性,可升级性和系统生存性能应独立于比特率和协议)。这样一个网络应该能够对各种信号进行有效的传输,调度,保护和管理。因此,如果我们希望能对光网络今后的发展做一点预测的话,必须综合
期刊
什么是光以太网?在第3层交换正在红火的今天,为什么Cisco、Nortel、Foundry和Extreme等厂商如此关注它?  光以太网产品可以借助以太网设备以以太网数据包格式实现WAN通信业务。该技术可以适用于任何光电路-非调制的、DWDM(密波分复用)和SONET(同步光纤 网络)。光以太网可以实现10Mbps或100Mbps等标准以太网速度,达到1Gbps后它将成为各种业务的亮点。  光以太
期刊
将DWDM运用于城域网对于运营商满足用户对于高带宽应用的需要来说是非常关键性的一步。  近日,阿尔卡特公司正式向中国市场推出城域解决方案,以满足城域和企业应用对传输不断提出的新要求。利用阿尔卡特在传输、数据、光纤和网络管理领域领先的技术和产品,阿尔卡特城域解决方案将一系列产品集成为一个单一的模块化的解决方案,具有相当高的性价比。  阿尔卡特城域解决方案的核心是1696 Metro Span--一个
期刊
过去几年,网络技术的发展有很大的进步,我们可以从几个方面来看。首先,从网络覆盖范围来看,互联网迅速成长与扩充使得网络用户数量大增;其次,从接入技术来看,用户不再只用窄带连接方式上网,更多用户开始使用ADSL或CableModem等宽带接入,甚至有些小区用户开始使用Ethernet到户的局域网(LAN)接入方式上网;再其次,从业务来看,网络不再只是提供简单的数据传输,包括过去的专线服务或电话服务,而
期刊
信息时代,随着数据量爆炸性的增长,数据的存储与管理已成为企业和个人工作与日常生活中最重要的一个环节,因为数据代表的就是信息优势与商机,若是数据存储出了问题,不论用户是个人或公司,其蒙受的损失都是难以估计的。因应用户对存储设备的需求日益迫切,这使得IT厂商无不用尽心血,绞尽脑汁,希望在这一波潮流中创造商机。  近日,作为全球主要的工业电脑厂商,同时也是台湾领先的网络存储设备公司——IEI威达电公司,
期刊
Sun系统软件部中国区总经理 邵正强  无线Java服务平台系统架构  1.无线Java服务概况  无线Java服务业务主要由3部分组成:  ● 无线Java手持设备:支持作为J2ME应用(MIDlets)运行平台的J2ME/MIDP标准,支持JAM(Java Application Manager,Java应用管理)的手持设备允许用户下载、安装、执行、停止和删除J2ME应用。  ● 无线Jav
期刊
提起企业管理软件,人们自然就会想到企业资源规划系统(ERP)、财务管理系统、客户关系管理系统(CRM)或是企业供应链管理系统(SCM)。也难怪,他们确实能为企业完成、整合库存管理、采购、生产排程等一系列繁复的管理工作,为企业节省不少的成本,但是严格地说,这些系统还有许多不足之 处,还有一些被人们遗漏的,却不能忽视的环节。  以ERP系统为例:目前,国内实施ERP系统的企业颇多,但成功应用的却不多,
期刊