系统规划报告
系统规划报告
——安徽星马汽车股份有限公司
第一章 系统背景描述
安徽星马汽车股份有限公司始建于1970年,是我国工程类专用汽车行业的重点骨干企业,于2003年4月在上海证券交易所成功上市。公司现有1000多名员工,总资产12.6亿元。公司拥有国内先进技术水平的专用汽车生产线,各类生产工艺设备800余台套,设备总装机容量5600kw ,具备年产各类专用汽车5000辆的生产能力。
公司主导产品有散装水泥汽车、混凝土搅拌车、混凝土泵车、压缩式垃圾运输车、重型自卸车等,共计8大系列100多个品种规格,其中散装水泥车占全国市场50%以上份额,连续六年夺得全国产销第一;混凝土搅拌车替代进口产品,产销占全国第一位。星马公司是安徽省“50强企业”,先后被评为“最具竞争力的上市公司”、“高新技术企业”、“质量管理先进企业”等,并率先在专用汽车行业中通过ISO9001国际质量体系认证。公司拥有省级企业技术中心和国家博士后科研工作站,与清华大学、吉林大学和合肥工业大学等高等院校保持着长期的产学研合作,与日本、德国和美国等多家国际知名企业进行长期技术合作,打造出具有自主知识产权的、国际水平的新一代国产重型汽车和专用汽车产品。
星马公司秉承“以人为本、科技为先、创新为魂、追求卓越”的企业经营理念和“为客户创造价值、为员工创造机会、为企业创造效益、为社会创造财富”的企业宗旨,与时俱进、跨越发展。为实现星马公司持续高速增长,公司加大新产品开发、技术改造和企业信息化建设上的投入。2000年以来,公司先后完成了 “年产2000辆专用汽车技术改造项目”和“年产5000辆专用汽车技术改造项目”,形成了年产5000辆专用汽车的生产能力。预计“十一五”期间,公司将达到年产10000辆专用汽车生产规模,销售收入突破40亿元,成为具有国际竞争力的专用汽车研发生产基地。
第二章 企业需求描述
安徽星马汽车股份有限公司的企业需求可以从以下几方面进行描述:(详细描述请参
阅《星马汽车网站需求分析报告》)
①功能需求
星马汽车网站的栏目安排和结构包括:“主页”、“网页语言版本选择”、“电子邮局”、“网络硬盘”、“客户服务”、“走进星马”、“产品展示”、“公司新闻”、“星马视频”、“联系我们”、“链接”。
客户行为模型分析对客户进入星马汽车网站的主页开始,对客户的行为进行分析,其中包括了以下几种行为的转换:
◆客户对星马汽车网站的网页进行浏览。
◆客户在星马汽车网站中进行搜索,寻找自己所要的信息。
◆客户可以重新选择所要进入的网页或离开星马汽车网站去友情链接中所列的网站进行浏览或退出。
②资源需求
安徽星马汽车股份有限公司的网站所需要的资源需求有以下三个方面:
◆人力资源。
在开发与维护星马汽车网站的团队中,涉及以下六个角色:
◇项目经理:项目总体设计,开发进度的定制和监控,定制相应的开发规范,负责各个环节的评审工作,协调各个成员之间开发与维护。
◇策划:提供详细的策划方案和需求分析。还包括后期网站推广方面的策划。 ◇美工:根据策划和需求设计网站、界面等。
◇程序员:根据项目总体设计来设计数据库和功能模块的实现。
◇代码整合员:负责将程序员的代码和界面融合到一起,代码整合员可以制作网站的相关页面。
◇ 测试员:负责测试程序。
◆开发工具(物资资源)。
网站开发工具主要分为3个部分: ◇网站前台开发工具。 ◇网站后台开发环境。 ◇项目管理和辅助软件。
◆ 项目进度表(时间资源)。
星马汽车网站的开发总时间在20-27天内要完成的,网站的日常维护工作需要每天都做,可以由项目经理指定人选也可以采用外包的方式进行。
③界面需求
安徽星马汽车股份有限公司的网站的界面需求包括界面主颜色、字体颜色、字体大小、界面布局、界面交互方式、界面功能分布、界面输入输出模式等。在设计界面的时候,要非常注重并体现其友好性与整体性。
④技术需求
上海锦江汽车服务有限公司网站的技术需求包括以下几方面:
◆伸缩性。 ◆可维护性。 ◆可用性。 ◆可靠性。
⑤环境需求
公司目前的软、硬件环境可以继续使用。处理器可以由原来的赛扬升级为奔4,硬盘的容量也可以由原来的40GB 升级为80GB 。
防火墙与杀病毒的软件应该及时予以更新与升级。为了方便客户与锦江汽车公司联系,公司应该申请个200MB 的电子邮箱。上海锦江汽车服务有限公司的网页空间可以设定在800MB 左右。
⑥成本需求
星马汽车网站的在软件环境与硬件环境上不需要再投入太多的投资与花费,但是网页设计与维护可以在一定程度上、一定范围内选择外包的方式进行,费用可以参照市场价格由项目经理与外包企业协商而定,并要签定合法有效的合同。 第三章 系统设计的原则及目标 星马汽车网站的系统设计的原则如下 :
为了实现网站商务功能最大化的目标,给目标客户提供方便、实用的信息服务,在设计该平台时,我们充分考虑了以下方面:
先进性:以最先进的观点和设计思路,为客户设计高先进性的网站系统。设计方案将立足先进技术,使项目具备国内乃至国际领先的水平。服务器和网络方面以优化通讯流量,提高系统的管理性和安全性为重点。
可靠性:该平台正常运作后,由于面对的是广泛的全球互联网客户,因此系统应能够提供每天24小时,每周7天的不间断运作能力。为客户提供高度可靠的稳定运行保障。
安全性:互联网是一个标准开放的网络,在网上进行各种商务活动,随时可能将面对黑客的攻击,病毒的侵袭等。因此,确保网上信息流通的系统安全十分重要。安全不仅仅是一
个技术的问题,还涉及到系统的管理、法律法规的保障等。我们会做到保障系统数据和信息安全,为业务及商务提供安全环境。
可扩展性:互联网具有巨大的商务潜能,没有人可以确切预计系统的最终访问量和最佳的商务运行模式。因此系统设计的原则之一是可扩展性。随着企业网上平台业务量的扩展和平台访问量的增长,系统应该能够具有很强的扩展能力,以适应新业务的发展。
标准性和开放性:所有程序及接口具有统一的标准,使程序和系统具备优异的可移植性。企业网上平台的设计应当严格遵守国际标准,在还没有形成标准的新领域内也积极倡导标准的形成,为促进地区国际贸易打下坚实的基础。
美观性:良好的视觉效果强大的功能同等重要。它可以突出企业文化特色和定位。 服务性:时刻体现着以客户为中心的服务思想,以为客户提供最好的服务为网站的设计思路。
实用性:网站所提供的各项信息、服务等内容要做到实用,真正能够使网站为用户带来方便。
便捷性:网站使用起来简单方便,尽可能地适应不同年龄、知识层次的群众的需求。 定制性:为企业的不同业务定制相应的业务流程。
交互性:各项在线服务的提供,以及友好的对话关系,极大的改善企业的办事效率和形象。
宣传性:提供良好的实用的宣传功能,使之成为企业自身宣传的重要载体。
星马汽车网站的系统设计的目标:
◆电子商务系统设计开发中常见的技术标准或事实标准如下表所示:
第四章 商务模型建议
第五章 目标系统的总体结构
5.1联机事务处理应用
营销管理、一站服务、档案管理、客户服务等业务管理功能模块属于联机事务处理(OLTP)系统。在技术上,上海锦江汽车服务有限公司的网站应采用基于WEB 的三层客户/服务器体系结构来实现,其三层分别为:客户端浏览器为用户界面层,WEB 服务器、应用服务器及其上的应用服务构成应用逻辑层,底层是由关系型数据库构成的数据存储层。
数据存储层中以关系模型存储了营销管理、一站服务、客户档案与客户服务功能模块所需的客户、业务数据;应用逻辑层的WEB 服务器向用户界面层的浏览器提供WEB 访问服务,应用服务器上的程序完成实际的业务逻辑,并将需向前台返回的结果从数据库中取出,交给WEB 服务器;而前端的用户界面层负责向用户展现最终的处理结果。
下图为星马汽车网站联机事务处理示意图:
5.2 运用ASP 技术
在开发基于WWW 的数据库应用中,关键技术之一在于WEB 服务器与数据库服务器之间的连接技术。
建议星马汽车网站利用ASP (ACTIVE SERVER PAGES)技术。
ASP 技术基于微软的DCOM (分布式COM )标准,是微软公司提供的一种服务器端脚本支持环境,它通过ADO (ACTIVEX DATA OBJECT)控件的方式来处理与数据库的连接。
由于ASP 技术开发周期短,成本低,对控件的支持可以开发出较为理想的应用,所以,ASP 得到广泛的应用。ASP 文件是以.asp 为扩展名的文本文件,这个文本文件可以包括下列部分:文本、HTML 标记、ASP 脚本命令。ASP 文件存放在WEB 服务器相应的目录中,当客户浏览器从WEB 服务器上请求.asp 文件时,ASP 脚本开始运行,将运行结果和.asp 中的静态部分组合成标准的HTML 格式传输给客户端浏览器。ASP 对数据库的访问是通过ADO 对象来实现的,它把数据库查询结果放在HTML 页中传给浏览器,过程如下图2示。鉴于ASP 的优点,采用它来解决大容量数据库的访问。
图2 .asp 文件处理过程
ASP 提供的内建对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。有了这些对象可以使ASP 的功能更强大。所谓对象就是一段封装的完整的软件模块。这些对象之间通过属性来传递参数,在设计ASP 时经常需要调用各种对象来实现开发动态数据库访问的功能。ASP 有六个内建对象:Application 、Request 、Response 、Server 、Session 和ObjectContext 。
在B/S层次的结构体系中,客户端的请求都是通过浏览器发出HTTP 的请求,而服务器是将后台数据库根据客户端请求运行的结果返回给客户端的浏览器环境中。调用Request 和Response 对象可以实现HTTP 客户请求/服务器响应的机制。
HTML 表单是收集 Web 信息最常用的方法,是在 Web 页上提供用户界面控件的特殊的 HTML 标记的排列。文本框、按钮和复选框都是典型的控件,这些控件使用户和 Web 页实现交互,并且将信息提交给 Web 服务器。
第六章 网络基础设施
网络拓扑结构是指网络中各个站点相互连接的方式,主要有总线型拓扑、星型拓扑、环型拓扑以及它们的混合型。
建议安徽星马汽车股份有限公司使用星型网络拓扑结构:
◆星型拓扑结构的优点:
(1)可靠性高。在星型拓扑的结构中,每个连接只与一个设备相连,因此,单个连接的故障只影响一个设备,不会影响全网。可以提供100M 的网络速度 。
(2)方便服务。中央节点和中间接线都有一批集中点,可方便地提供服务和进行网络重新配置。
(3)故障诊断容易。如果网络中的节点或者通信介质出现问题,只会影响到该节点或者通信介质相连的节点,不会涉及整个网络,从而比较容易判断故障的位置。
◆星型拓扑结构的缺点:
(1)扩展困难、安装费用高。增加网络新节点时,无论有多远,都需要与中央节点直接连接,布线困难且费用高。
(2)对中央节点的依赖性强。星型拓扑结构网络中的外围节点对中央节点的依赖性强,如果中央节点出现故障,则全部网络不能正常工作。
所需设备:RJ45接头:(水晶头), 双绞线:有三类(符合IEEE802.3 10Base-T,用于10M 网),五类、超五类(用于100M 网)之分,集线器(HUB ),RJ45口网络接口卡(NIC ):有10M ,100M 或10/100M自适应之分。
第八章 联机交易中的支持与认证
在电子商务中无论采用哪一种付款工具,都必须具备以下几个条件:安全性、处理成本低、且广为全球金融市场所接受,而安全性是第一位的。所以,保证支付工具的真实与识别该使用者的合法身份就是金融业在网络环境下实现电子支付所面临的问题。
解决这一问题的关键是让上海锦江汽车服务有限公司使用安全的电子支付模式,SSL 和SET 是目前实现安全电子支付的两种主要模式。
8.1 SSL支付模式
SSL(Security Sockets Layer)即安全套接层协议,主要用于提高应用程序之间的数据的安全系数,采用了公开密钥和专有密钥两种加密:在建立连接过程中采用公开密钥;在会话过程中使用专有密钥。加密的类型和强度则在两端之间建立连接的过程中判断决定。它保证了客户和服务器间事务的安全性。
SSL 协议在运行过程中可分为六个阶段:
(1)建立连接阶段:客户通过网络向服务商打招呼,服务商回应;
(2)交换密码阶段:客户与服务商之间交换双方认可的密码;
(3)会谈密码阶段:客户与服务商之间产生彼此交谈的会谈密码;
(4)检验阶段:检验服务商取得的密码;
(5)客户认证阶段:验证客户的可信度;
(6)结束阶段:客户与服务商之间相互交换结束信息。
当上述动作完成之后,两者之间的资料传输就以对方公密进行加密后再传输,另一方收到资料后以私钥解密。即使盗窃者在网上取得加密的资料,如果没有解密密钥,也无法看到可读的资料。
在电子商务交易过程中,由于有银行参与,按照SSL 协议,客户购买的信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,将商品寄送客户。
在SSL 协议中主要提供三方面的服务:
(1)认证用户和服务器,使得他们能够确信数据将被发送到正确的客户和服务器上。
(2)加密数据,以保证数据在传送过程中的安全,即使数据被窃,盗窃者没有解密密钥也得不到可读的资料。
(3)维护数据的完整性,确保数据在传送过程中不被改变。
SSL 协议的缺点:首先,客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证;其次,SSL 只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,SSL 并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。
8.2 SET支付模式
SET(Secure Electronic Transaction)即安全电子交易模式,是由Visa 和MasterCard 两大信用卡组织提出的以信用卡为基础的电子付款系统规范,用来确保在开放网络上持卡交易的安全性。SET 规范使用了公开密钥体系对通信双方进行认证,利用DES 、RC4或任何标准对称加密方法进行信息的加密传输,并利用Hash 算法鉴别消息的真伪、有无篡改,以维护在任何开放网络上的个人金融资料的安全性。SET 体系中还有一个关键的认证机构(CA),此机构根据X.509标准发布和管理证书。
SET 协议规定发给每个持卡人一个数字证书。客户(持卡人) 选中一个口令,用它对数字证书和私钥、信用卡号以及其他信息加密存储。这些与一个SET 协议的软件一起组成了一个
SET 电子“钱夹”。
SET 协议的工作流程如下:
(1)支付初始化请求和响应阶段
当客户决定要购买商家的商品并使用SET 钱夹付钱时,商家服务器上POS 软件发报文给客户的浏览器SET 钱夹付钱,SET 钱夹则要求客户输入口令然后与商家服务器交换“握手”信息,使客户和商家相互确认,即客户确认商家被授权可以接受信用卡,同时商家也确认客户是一个合法的持卡人。
(2)支付请求阶段
客户发一报文,包括订单和支付命令。在订单和支付命令中必须有客户的数字签名,同时利用双重签名技术保证商家看不到客户的帐号信息。只有位于商家开户行的被称为支付网关的另外一个服务器可以处理支付命令中的信息。
(3)授权请求阶段
商家收到订单后,POS 组织一个授权请求报文,其中包括客户的支付命令,发送给支付网关。支付网关是一个Internet 服务器,是连接Internet 和银行内部网络的接口。授权请求报文通过到达收单银行后,收单银行再到发卡银行确认。
(4)授权响应阶段
收单银行得到发卡银行的批准后,通过支付网关发给商家授权响应报文。
(5)支付响应阶段
商家发送购买响应报文给客户,客户记录交易日志备查。
在SET 协议中,定义了五种实体:持卡人,拥有信用卡的消费者;商家,在Internet 上提供商品或服务的商店;支付网关,由金融机构或第三方控制,它处理持卡人购买和商家支付的请求;收单行(Acquirer),负责将持卡人的帐户中资金转入商家帐户的金融机构;发卡行,负责向持卡人发放信用卡的金融机构。涉及SET 交易的有持卡人、商家和支付网关三个实体。认证机构需分别向持卡人、商家和支付网关发出持卡人证书、商家证书和支付网关证书。三者在传输信息时,要加上发方的数字签字,并用接收方的公开密钥对信息加密。实现商家无法获得持卡人的信用卡信息,银行无法获得持卡人的购物信息,同时保证商家能收到货款的SET 支付的目标。
SET 协议在安全性方面主要解决五个问题。
(1)保证信息在Internet 上安全传输,防止数据被黑客或内部人员窃取。
(2)保证电子商务参与者信息的相互隔离,客户的资料加密或打包后通过商家到达银行,但是商家不能看到客户的帐户和密码信息。
(3)解决多方论证问题,不仅要对消费者的信用卡认证,而且要对在线商店的信誉程度认证,同时还有消费者、在线商店与银行间的认证。
(4)保证网上交易的实时性,使所有的支付过程都是在线的。
(5)仿效EDI 贸易的形式,规范协议和消息格式,促使不同厂家按照一定的规范开发软件,使其具有兼容性和互操作功能,并且可以运行在不同的硬件和操作系统平台上。
SET 协议的缺陷:自1996年4月SET 协议面市以来,得到了IBM 、HP 、Microsoft 、Netscape 、VeriFone 、GET 、Verisign 等许多大公司的支持,促进了SET 的发展。但SET 仍然存在一些问题:(1)只适用于客户安装了“电子钱夹”的场合;(2)使用成本高,在一个典型的SET 交易过程中,整个交易过程可能需花费1.5分钟至2分钟;(3)协议复杂,SET 证书虽也遵循X.509标准,但格式比较特殊。
第九章 系统的安全与管理
◆网络物理安全
网络的物理安全问题主要有:网络硬件设备本身的故障问题;因机房环境,火灾等导致的设备故障问题;因机房结构设计或管理所导致的主机设备物理入侵问题。
为提高网络的物理安全性,主要对策有:
1、选用高可靠性硬件设备,对于重要的服务器采用双机或多机的冗余设计方案;
2、提高对机房的环境及检测报警系统的要求,注意工程的配套设计及工程质量;
3、加强机房的防盗管理及操作人员的安全意识培训,以避免设备被盗或从终端被入侵。 ◆网络结构安全
网络结构安全主要由网络拓扑结构的设计及网络协议的选用来保证,主要有以下两方面:
1、在网络拓扑结构设计中考虑冗余路由,包括传输线路的冗余及拓扑结构上的冗余。本方案的网络设计充分考虑到安全性问题,尽量保证传输线路和设备的冗余。
2、在全网采用动态路由协议,如OSPF 等。
3、采用放火墙进行访问控制。
◆操作系统安全
操作系统的安全问题是当前网络安全中最为重要的,也是最复杂的。
长期以来,UNIX 一直作为INTERNET 的支撑操作系统而存在,(或者说,INTERNET 是和UNIX 共同发展起来的),由于INTERNET 及UNIX 从体系结构到通信协议的广泛开放性(甚至UNIX 的源码也是公开的),系统发展中一些不可避免的安全漏洞就必然的暴露于网络黑客(HACKER )并且被广泛的传播,从而造成了很多的安全问题。(必须提出的是,虽然UNIX 在发展过程中有不少的安全漏洞,但已经发现的问题均已经在很短的时间内被各UNIX 厂商解决,如果随时注意安装补丁(PATCH)或最新版的软件,UNIX 操作系统的安全性仍然是有保证的。)
固然操作系统有着已经发现或仍然没有发现的安全漏洞,但是大部分的安全问题却是由于系统管理所导致的,例如:密码设置不当且不定期修改,文件权限设置不对,NFS 、WWW 服务器等配置不当。
为提高操作系统的安全性,我们在系统设计中综合采用以下对策:
1、通过防火墙或路由器中ACL(ACCESS CONTROL LIST)的设计,禁止本地拨号用户及网络黑客对没有必要开放的主机及端口的访问;
2、在主机上利用TCP WRAPPER控制特定服务所允许的客户机地址范围,并进行记录(LOG);
3、向用户直接提供服务的主机必需加强安全管理,其功能应尽量单一;
4、关闭各服务上不需要运行的服务进程;
5、禁止使用或设置不经授权即可共享的系统资源,包括硬盘及服务;
6、加强密码管理,提醒或强制管理员定期修改密码,禁止使用安全性不高的密码;
7、管理员利用CRACK 、COPS 、SATAN 等安全检查工具软件,定期检查系统的安全问题。 ◆应用层安全
应用层的安全问题主要包括授权、认证及加密传输,我公司综合采用以下的策略或技术来提高应用层的安全性,可以为客户解决从授权到电子商务的一系列安全需求。
1、系统之间或系统各模块之间的通信必须经过授权或认证,传输数据必须进行加密(ENERYPT)电子签名(MESSAGE DIGEST);
2、利用防火墙(FIREWALL)或TCP WRAPPER限制应用服务可被访问的客户地址段,降低被攻击的可能性;
3、加强服务器中心子网上各主机的安全管理,严格禁止用户以各种途径执行系统级的指令,以避免黑客通过SNIFFER 等工具软件侦听密码或其它信息;
4、传输中所用的加密算法根据不同情况选用公开密钥(PUBLIC KEY) 或私有密钥(PUBLIC KEY) 算法。为保证传输信息不被篡改,可采用MD5等数字签名(MESSAGE DIGEST)算法;
5、基于WWW 的应用其加密传输的协议可选用SSL 、SHTTP 或者我公司自己的基于COOKIE 机制及DES 、MD5算法的电子身份证认证机制,此外还可考虑即将成为RFC 标准的DIGEST AUTHENTICATION 。
◆信息源安全
作为一个音像信息服务平台,必须考虑为接入网络的信息源提供安全防护,可以采用的主要措施有:
1、通过防火墙(FIREWALL)或路由的ACL ,控制用户通过接入设备或广域网对信源进行非法访问。
2、提供统一的授权及认证机制,,限制用户对信源的非授权访问。
3、采用保留IP 地址等方法,将信源与公众网络隔开,而利用代理或NAT 实现信息访问。
4、需要指出的是,信源的安全还应该包括对信源所提供信息的控制,即通过代理或PACKET STRING FILTING实现基于关键字(KEYWORD)的过滤。
◆用户安全
用户安全的主要问题及对策包括以下几个方面:
1、用户注册信息(用户名、密码、访问权限等),网络使用信息,信源的访问信息,计费信息等重要数据在数据库中的安全。可加强主机的安全管理,禁止一般用户对这些数据的访问。
2、用户的应用信息,包括用户的E-Mail ,FTP 文件等在应用服务器中的安全。这可通过设定用户的访问权限,分配用户的磁盘存储空间等办法来保证。
3、用户密码在登录及节点间传送过程中的安全。采用UNIX 中的加密算法,防止密码被截取及破译。
4、用户对自己使用的账号负责,不得与他人共享同一账号,系统定期提醒用户应经常变更自己的口令。
与信源的安全问题类似,用户安全问题也要考虑对用户的控制。在拨号接入层,RADIUS Server 与接入服务器相配合,以实现基于用户名的访问控制,即对不同用户赋予不同的网络访问权限。具体的权限为以下三类控制的特定组合:
◇允许/禁止访问某子网;
◇允许/禁止访问某主机;
◇允许/禁止访问TCP 或UDP 的特定端口(PORT)即不同的服务。
第十章 系统性能的优化与评估
建立企业网站并不是企业的真正目的所在,它是一种手段,是用来为企业的经营服务的,是电子商务的开端。所以,不仅要对上海桑锐电子科技有限公司的新网站不断进行维护和更新改进、进行网站推广工作、网站服务、信息采集和发布、网站测评等工作,还应当不断改进设计状况,提供更多个性化的服务,这样,公司的新网站才有生命力,网站才能够在众多的网站当中脱颖而出。
10.1 系统性能的优化
数据库性能优化和数据库管理系统密切相关,不同的数据库管理系统在具体操作上有很大不同。数据库是企业信息的核心,其应用水平的高低直接影响到企业管理水平。选择了一个高性能的数据库产品不等于就有一个好的数据库应用系统,如果数据库系统设计不合理,不仅会增加客户端和服务器端程序的编程和维护的难度,而且还会影响系统实际运行的性能。一般来讲,在一个管理信息系统的分析、设计、测试和试运行阶段,因为数据量较小,设计人员和测试人员往往只注意到功能的实现,而很少会注意到性能的不足,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力、物力,而其最终结果就是给整个系统又打上了一个补丁,所以设计阶段是优化的重点。
建议上海桑锐电子科技有限公司继续采用SQL Server数据库,从以下几个方面可实现数据库系统的性能优化。
10.1.1数据库设计
实现SQL Server数据库的优化,首先要有一个好的数据库设计方案。在实际工作中,许多SQL Server方案往往是由于数据库设计得不好导致性能很差。实现良好的数据库设计必须考虑这些问题:
(1)逻辑数据库规范化问题
一般来说,逻辑数据库设计会满足规范化的前3级标准:
第1规范:没有重复的组或多值的列。
第2规范: 每个非关键字段必须依赖于主关键字,不能依赖于一个组合式主关键字
的某些组成部分。
第3规范: 一个非关键字段不能依赖于另一个非关键字段。
遵守这些规则的数据库设计会产生较少的列和更多的表,因而也就减少了数据冗余,也减少了用于存储数据的页。
(2)生成物理数据库
要想正确选择基本物理实现策略,必须了解和利用好数据库访问格式和硬件资源的操作特点,特别是内存和磁盘子系统I/O。以下是一些常用技巧:
①与每个表列相关的数据类型应该反映数据所需的最小存储空间,特别是对于被索引的列更是如此。比如能使用smallint 类型就不要用integer 类型,这样索引字段可以被更快地读取,而且可以在一个数据页上放置更多的数据行,因而也就减少了I/O操作。
②把一个表放在某个物理设备上,再通过SQL Server的段把它的不分簇索引放在一个不同的物理设备上,这样能提高性能。尤其是系统采用了多个智能型磁盘控制器和数据分离技术的情况下,这样做的好处更加明显。
③用SQL Server段把一个频繁使用的大表分割开,并放在多个单独的智能型磁盘控制器的数据库设备上,这样也可以提高性能。因为有多个磁头在查找,所以数据分离也能提高性能。
④用SQL Server段把文本或图像列的数据存放在一个单独的物理设备上可以提高性能。一个专用的智能型的控制器能进一步提高性能。
10.1.2 应用系统设计
在应用系统的设计中,要着重考虑以下几点:
(1)合理使用索引
索引是数据库中重要的数据结构,它的根本目的就是提高查询效率。索引的使用要恰到好处,其使用原则如下:
①在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引;
②在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引; ③在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引。
④如果待排序的列有多个,可以在这些列上建立复合索引。
(2)避免或简化排序
应当尽量简化或避免对大型表进行重复的排序。当能够利用索引自动以适当的次序产生输出时,优化器就避免了排序这个步骤。为了避免不必要的排序,就要正确地增建索引,合理地合并数据库表(尽管有时可能影响表的规范化,但相对于效率的提高是值得的)。如果排序不可避免,那么应当试图简化它,如缩小排序的列的范围等。
(3)消除对大型表行数据的顺序存取
在嵌套查询中,表的顺序存取对查询效率可能产生致命的影响。有时可以使用并集来避免顺序存取。尽管也许在所有的检查列上都有索引,但某些形式的where 子句会强迫优化器使用顺序存取,这一点也应注意。
(4)避免相关子查询
如果一个列同时在主查询和where 子句中出现,很可能当主查询中的列值改变之后,子查询必须重新查询一次。而且查询嵌套层次越多,效率越低,因此应当尽量避免子查询。如果子查询不可避免,那么要在子查询中过滤掉尽可能多的行。
(5)避免困难的正规表达式
如:Mathes 和Like 关键字支持通配符匹配,但这种匹配特别耗时。
(6)使用临时表加速查询
把表的一个子集进行排序并创建临时表,有时能加速查询。它有助于避免多重排序操作,而且在其他方面还能简化优化器的工作。临时表中的行要比主表中的行少,而且物理顺序就是所要求的顺序,减少了磁盘I/O,所以查询工作量可以得到大幅减少。但要注意,临时表创建后不会反映主表的修改。在主表中数据频繁修改的情况下,注意不要丢失数据。
10.1.3 操作系统相关优化
操作系统性能的好坏直接影响数据库的使用性能,如果操作系统存在问题,如CPU 过载、过度内存交换、磁盘I/O瓶颈等,在这种情况下,单纯进行数据库内部性能调整是不会改善系统性能的。可以通过Windows 2000的系统监视器(System Monitor) 来监控各种设备,发现性能瓶颈。
CPU 一种常见的性能问题就是缺乏处理能力。系统的处理能力是由系统的CPU 数量、类型和速度决定的。如果系统没有足够的CPU 处理能力,它就不能足够快地处理事务以满足需要。我们可以使用System Monitor确定CPU 的使用率,如果以75%
或更高的速率长时间运行,就可能碰到了CPU 瓶颈问题,这时应该升级CPU 。但是升级前必须监视系统的其他特性,如果是因为SQL 语句效率非常低,优化语句就有助于解决较低的CPU 利用率。而当确定需要更强的处理能力,可以添加CPU 或者用更快的CPU 替换。
内存 SQL Server可使用的内存量是SQL Server性能最关键因素之一。而内存同I/O子系统的关系也是一个非常重要的因素。例如,在I/O操作频繁的系统中,SQL Server 用来缓存数据的可用内存越多,必须执行的物理I/O也就越少。这是因为数据将从数据缓存中读取而不是从磁盘读取。同样,内存量的不足会引起明显的磁盘读写瓶颈,因为系统缓存能力不足会引起更多的物理磁盘I/O。
可以利用System Monitor检查SQL Server的Buffer Cache Hit Ratio计数器,如果命中率经常低于90%,就应该添加更多的内存。
I/O子系统 由I/O子系统发生的瓶颈问题是数据库系统可能遇到的最常见的同硬件有关的问题。配置很差的I/O子系统引起性能问题的严重程度仅次于编写很差的SQL 语句。I/O子系统问题是这样产生的,一个磁盘驱动器能够执行的I/O操作是有限的,一般一个普通的磁盘驱动器每秒只能处理85次I/O操作,如果磁盘驱动器超载,到这些磁盘驱动器的I/O操作就要排队,SQL 的I/O延迟将很长。这可能会使锁持续的时间更长,或者使线程在等待资源的过程中保持空闲状态,其结果就是整个系统的性能受到影响。
解决I/O子系统有关的问题也许是最容易的,多数情况下,增加磁盘驱动器就可以解决这个性能问题。
当然,影响性能的因素很多,而应用又各不相同,找出一个通用的优化方案是很困难的,只能是在系统开发和维护的过程中针对运行的具体情况,不断加以调整。
10.2 系统性能的评估
在网站建成之后,应该随时对网站的经营情况进行评估,并根据评估结果及时调整经营战略和营销手段。只有通过测评才能发现差距,才能使网站进一步发展。在网站的测评过程中,就网站的经营状况而言,不仅要看硬指标,更要研究软环境,而且要将二者结合在一起考察,将众多因素汇集在一起,找出主要问题,使网站的经营状况越来越好。
10.2.1评估的指标(供参考)
(1)不同浏览器的兼容性。
(2)搜索引擎使用状况。
(3)下载速度。
(4)链接的有效性。
(5)网站的交互性。
(6)网页的可读性。
(7)网页的内容情况。
(8)网站整个系统的安全性。
10.2.2网站评估的工具
评估是一项经常性的工作,完全依靠人工完成会增加很大投入。
建议采用Log File。
Log File(访客流量统计文件) :是一个自动搜索和分析数据的软件工具,它由服务器产生的,记录所有用户访问网页信息的文件。使用专用的三维分析软件Webtrend 对其进行分析,可以获得如下统计数据:
(1)访问者所处于的地理区域;
(2)报告产生的日期与时间;
(3)主页被浏览的次数;
(4)整个站点被成功点击的次数;
(5)页面被浏览的次数;
(6)进入网站的访问者的数量;
(7)来自本国的访问者比率;
(8)国际访问者比率;
(9)未知地点访问者比率;
(10)平均每天点击的次数;
(11)用户对网页的日平均访问数;
(12)进入网站的访问者日平均数;
(13)访问请求最多的页;
(14)访问请求最少的页;
(15)用户访问时由哪一页开始进入网站,开始进入数量最多的页;
(16)用户访问时由哪一页退出网站,退出数量最多的页;
(17)浏览站点时哪条链接路线被通过的次数最多; (18)被调用最多的表单和脚本; (19)一周中每天站点的动态状况; (20)一天中每小时站点的动态状况; (21)技术统计和分析; (22)表格被用户递交的比率; (23)来自于客户的错误;
(24)下载文件最多的文件类型及大小; (25)带宽;
(26)访问最多的目录; (27)访问最多的链接站点;
(28)访问最多的链接自己站点的网址;
(29)访问者使用何种关键词以及哪一个搜索引擎查询到本站点; (30)使用最多的搜索关键词; (31)访问者使用的浏览器;
(32)访问者使用最多的操作系统平台; (33)总的统计数字。
Log File的功能十分强大,通过它分析获得的统计分析结果也是相当可靠的,因为原始数据是由服务器自动生成的,其准确性比较高。对上述的数据进行综合、分析、比较,要以周和月为单位进行汇总,对于系统性能的评估有很大的帮助。
第十一章 系统开销与投资
◆域名费用
注册域名之后,每年需要交纳一定的费用以维护该域名的使用权,不同层次的域名收费也不同。
上海锦江汽车服务有限公司可以用域名类型为cn(中国)/网络/公司(中文) ,域名费用为280元/个/年或者用域名类型为com/net/org中文,域名费用为320元/个/年。一般而言,国内域名每年需交300元的域名费用。
◆线路接入费用和合法IP 地址费用
不同ISP 、接入方式和速率下的费率有差别,速率越高,月租费也越昂贵。IP 地址一般和线路一起申请,也需要交纳一定的费用。
下表为单位用户租用宽带业务网接入互联网:(供参考)
说明: 1、FTTX+LAN方式的接入一次性费用包含开户费、安装调试费和工料费,不含终端设备费。
2、ADSL 方式的接入一次性费用包含开户费和终端调试费,不含工料费和终端设备费;若用户利用原有电话线路,则无工料费;若用户新开线路,可根据市话业务有关规定交纳相应费用。
◆服务器硬件设备
自办网站,需要路由器、调制解调器、防火墙等接入设备及配套软件。宽带路由器可以选择HARD LINK HB-4204,其支持网络协议TCP/IP,PPP 和PPPoE ,支持的网管协议SNMP ,此网络设备的参考报价为1500元,性价比较高。
由于安徽星马汽车股份有限公司使用宽带,所以,无需购置调制解调器。 硬件放火墙可以选择NETSCREEN NS-25,安全过滤带宽:20,并发连接数:4000,无用户数限制,网络吞吐量(Mpps ):100,此网络设备参考报价为31850元。
◆系统软件费用
包括操作系统、Web 服务器软件、数据库软件等等的购买及升级所支付的费用。
◆开发维护费用
软硬件平台搭建好之后,必须考虑具体的Web 页面设计、编程和数据库开发以及后期的平台维护费用。
考虑到网站的维护是个长期的过程,所以需要聘请一到两名有经验的网站开发维
护人员,其主要工作是负责公司所运营网站的开发与维护,其月薪可定在2000-2500元左右。
◆网站的市场推销和经营费用
包括星马汽车网站为各种形式的宣传活动所支付的费用以及其他在网站经营过程中所付出的额外费用。此项费用是不定期发生的费用,难以估算,暂不限定其费用额度。
第十二章 实施方案
在安徽星马汽车股份有限公司的网站的实施过程中,网站的维护工作是至关重要的。
主要内容有:
1、服务器及相关软硬件的维护,对可能出现的问题进行评估,制定响应时间。 2、数据库维护,有效地利用数据是网站维护的重要内容,因此数据库的维护要受到重视。
3、内容的更新、调整等。
4、制定相关网站维护的规定,将网站维护制度化、规范化。
第十三章 系统的收益分析
安徽星马汽车股份有限公司的现有网站只提供联系方式,下定单等。客户在浏览锦江汽车网站后,对公司服务有兴趣、疑问或租赁意向时,可以直接与公司联系,洽谈业务等。现有的星马汽车公司网站其收益是间接的。
将要新建的星马汽车公司网站不仅有现在网站这种创造间接收益的功能,还新增了在线支付方式这一功能。客户在浏览星马汽车公司网站后,觉得公司所提供的服务是符合其需求的,便可以把所需的车辆点击并下定单。通过新建的商务系统,可有以下三种购货方式来直接创造收益:
◆在线购买
◇ 支持卡种:支持外币卡种和人民币卡种。外币卡包括万事达卡(MasterCard)和VISA 卡,人民币卡包括全国范围20家银行30余种银行卡。
◇服务范围:因支付卡而定。
◇使用说明:实时划账(24小时),节假日照常开通。客户可以在成功提交订单后选择所要在线支付的银行,根据提示进行网上支付,在线购买所需要的商品。
◆现金付讫
安徽星马汽车股份有限公司在为客户服务后,可以请客户用现金付讫费用。
第十四章 其它说明
精心制作的网站如果能够得到推广将有利于安徽星马汽车股份有限公司的发展。Internet 是浩瀚无边的信息海洋。要想使精心策划设计的网站变得知名、并带来经济效益,网站的宣传推广尤其重要。
◆在宣传前为客户的网页规范宣传内容。精心挑选标题(title)、关键
词(keywords)、网页描述(description),并加入到网页里,以增加网页被搜索的频度与精度。
◆在国内外著名的搜索引擎上登录。(如Google 、Baidu 、Sohu 、Sina ) ◆与相关网站交换友情链接与Banner 。
◆配合客户的新闻媒体报道,提供宣传文章。结合客户的业务内容与
Internet 网站特点,提供新闻快讯、新闻报道、专题报道等宣传文章。