结构检测系统方案设计V.doc_第1页
结构检测系统方案设计V.doc_第2页
结构检测系统方案设计V.doc_第3页
结构检测系统方案设计V.doc_第4页
结构检测系统方案设计V.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于平板电脑的结构检测系统建设建议书北京泽烽惠诚科技有限公司2010年6月第一章 概述1.1 业务需求網上繳費功能介面,顯示內容如下:澳門手機號碼(8位) 000請確認手機號碼:本次繳費金額: 澳門幣本頁的相關備注內容如下:1. 網上繳費服務是為持有VISA, Master Card及印有銀聯標誌的信用卡的中國電信(澳門)客戶提供繳費渠道;2本服務沒有最低繳費限額的限制,最高繳費限額為澳門幣5000元/次。基於保安理由,繳費成功後我們將會把是次繳費信息以短信方式發送到 閣下所輸入的手機號碼以作確認;3. 網上繳費服務也可代為他人繳費,但需請對方留意成功繳費後手機接收到的確認短信。4閣下如欲查詢有關繳費記錄,請在完成繳費十五分鐘後,點擊自助服務,輸入賬戶密碼在“查閱我的繳費紀錄”裏即可查到相關繳費信息;5. 如 閣下流動電話已經無法正常使用,成功支付後系統將給予自動開機保持 閣下流動電話的正常使用,如 閣下繳費後無需開機服務,請致電客戶服務熱線1888;6. 如 閣下的信用卡未能成功繳費,請於辦公時間(週一至週五9:00-17:30)聯絡中國工商銀行(澳門)客戶熱線中心 289 95588 or 電郵: .mo 查核或致電我們的24小時客戶服務熱線1888。第二章 技术方案2.1 业务构架本次系统改造将为门户网站增加网上营业厅的功能,增强澳门电信的电子渠道服务能力。门户功能,沿用现有的门户架构不变。本期项目,BSS部分仅进行网上营业厅的功能和架构建设。 网上营业厅前端采用标准的XHTML和CSS语法,遵照澳门电信公司门户界面规范,并按照规范建立网站界面层次和结构,有利于适应不同浏览器平台以及重构要求。2.2 功能构架网站功能构架网上业务平台集成面向个人客户的网上营业厅各种功能,统一调用后端的BSS系统等实现业务逻辑。2.3 技术构架网站包含网上营业厅,整体基于Web2.0技术,支持Ajax技术开发,技术支持开源框架、J2EE、Apache等,系统可运行于Linux、Windows等多种操作系统平台。系统采用MVC(Module, View Controller)三层架构设计,从根本上保证了系统的健壮性与可扩展性。平台技术架构整体分为数据/接口层、服务层、服务管控层、应用层、门户展现层,接口层提供对外部系统的接口适配,与外部系统进行连接。如下图所示:数据层提供平台上层应用需要的数据;服务层对业务功能进行封装和抽象、对应用系统业务进行封装以供应用层调用;服务管控层对服务进行管理并对平台应用系统调用服务的过程进行控制;应用层使用服务层提供的服务结合自身的逻辑需求实现特定的功能;展现层调用应用层交互应用提供的功能,将返回结果按照展现逻辑加工成相应的展现内容。2.3.1 数据层数据层由数据和数据访问子层组成。数据是指应用平台需要的相关数据,数据的存储可以是关系型数据库、非关系型数据库、文件系统。数据访问子层对数据的访问进行封装实现业务数据的充分共享。2.3.2 服务层服务是完成特定功能的业务封装,具有高内聚、可重用的特征。服务通过服务管控层供应用层调用;服务层包括但不限于业务服务,所有的有功能使用者的功能都可以由功能提供者或者由平台封装、抽象为服务,供功能使用者通过管控层调用。2.3.3 服务管控层应用层需要通过服务管控层进行服务调用,应用系统利用服务注册机构查找到服务地址后,再通过服务管控层对服务进行调用。服务管控层对服务的调用优先级、流量控制等调用策略做统一的控制。服务管控层可以针对不同的服务调用方设置不同的控制策略。2.3.4 应用层应用通过调用服务并根据预定义的流程或策略进行逻辑控制,形成特定的功能。应用分为两种,一种是有界面交互的应用,如服务营销、渠道管理等;另外一种是不提供界面的后台应用,如定时业务任务等。2.3.5 展现层展现层由展现逻辑构成,对内容及展现形式进行管理。展现层接收请求,调用交互应用提供的功能,将返回结果按照展现逻辑加工成相应的内容(包括页面、文本菜单等)。 2.3.6 技术要求 功能Ajax化营业厅通过J2EE技术使B/S结构的系统在使用上更加接近桌面的应用软件,通过J2EE的应用使用户的操作更为简便,减少了很多无谓的页面跳转刷新。 安全高效我们在开发的过程中要求每一个用户提交的数据都要进行合理性的判断和验证,每一个SQL语句都要进行安全测试。对于一个网站来说安全是一个很重要的因素,同时效率更是至关重要,只有快速的反应才能提供良好的用户体验。在效率问题上,系统设计不仅力求每一行代码的最优化,还对模板以及重复利用相对较高的数据查询进行缓存的双重处理。如图: 可扩展性系统要求可以物理单独部署(物理上独立的服务器或服务器群),并可以独立线性扩容;要求具备高可扩展性,能够按照分布式多机处理的结构进行部署,以满足大规模并行处理的要求;要求能够按照一定的规则,如按业务类型等,对服务控制进行负载均衡处理。 可靠性要求设备具有高可靠性和高稳定性,系统满足724小时不间断工作,整体必须达到99.999%的可用性;要求系统的无故障连续工作时间:MTBF5万小时,系统一级故障恢复时间30分钟;系统各服务器采用主备运行方式,主备倒用时间/usr/archives/mysql/samp_db.1999-10-02%mysqldump menagerie /usr/archives/mysql/menagerie.1999-10-02 你可能想在生成备份后压缩它们。备份一般都很大!你也需要让你的备份文件有过期期限以避免它们填满你的磁盘,就象你让你的日志文件过期那样。 用文件系统备份备份你的备份文件。如果遇上了一个彻底崩溃,不仅清除了你的数据目录,也清除了包含你的数据库备份的磁盘驱动器,你将真正遇上了麻烦。也要备份你的更新日志。 将你的备份文件放在不同于用于你的数据库的文件系统上。这将降低由于生成备份而填满包含数据目录的文件系统的可能性。 用于创建备份的技术同样对拷贝数据库到另一台机器有用。最常见地,一个数据库被转移到了运行在另一台主机上的服务器,但是你也可以将数据转移到同一台主机上的另一个服务器。.2 数据库安全策略一个企业级系统的安全性建设并不仅仅局限于软件技术方面的设置和控制,甚至我们可以说,技术仅仅位于一个补充和提高现有安全性的地位上。通常,应该按照重要性依次进行如下的安全性检查。物理层面的控制 控制物理接触是系统安全性建设的第一步,也是最会有成效,最应该优先执行的一步。 权威安全研究显示,70% 的信息系统数据损失和攻击都是由“内部人”(即具备某种系统及其数据访问权限的用户)造成和发起的。比如,授权人员才可以进入机房,管理人员的密码不要记录在显眼的地方,离开个人终端锁定屏幕,等等,这些建议看上去似乎比较琐碎。但是如果缺少了这些意识,即使我们运用了再好的安全性技术,再复杂的数据分离技术,当一个人可以接近需要保护的服务器,当一个人可以通过窃取的密码接近需要保护的数据,那么一切的安全性建设都将是一个摆设。 安全性流程建设 实施安全性建设之后,必须要有一个详细周密而且行之有效的流程控制(Process Control)。其中行之有效是我们应该注意的。 有时候会听到抱怨,在增强了安全性建设的系统中,维护人员由于分工过细,导致整个系统的应变能力下降,维护成本提高,管理效率降低。以前一个人可以在10分钟内作好的修改,现在却要途经3,4个人之手,耗时12天还不一定能够做完。 过犹不及,建立一个符合企业自身需求的安全性流程是我们应该优先考虑的。普遍性的安全性措施 不仅仅是MYSQL数据库系统,作为一个具有领先性的IT系统,都应该包括以下的安全性措施。 1只安装需要的软件 每个软件都有缺陷,对于MYSQL数据库软件来说,自定义安装,只选取需要的组件,少作少错,这一点在安全性方面显得尤为重要,一个具有潜在安全性漏洞的组件,如果它没有被安装。那它就不会影响整个系统。 2锁定或者失效默认用户 对于MYSQL数据库系统来说,安装的时候会有一系列的默认用户生成,应该在数据库安装完毕之后,经过功能筛选,锁定或者失效这些用户。 3修改可用用户的默认密码 不能锁定或者失效的用户,必须修改默认密码。比如具有SYSDBA权限的SYS用户和具有DBA权限的SYSTEM用户,都应该修改默认密码。至于密码长度和复杂性的有效控制在后面将会谈到。 4限制操作系统存取权限 MYSQL数据库系统是依存在操作系统之上的,如果操作系统被人侵入,那么通过修改配置文件等一系列方法,MYSQL数据库的安全性也将荡然无存。5定期更新厂家推出的安全性补丁随着时间的推移,厂家通常会推出一系列的安全性补丁来弥补现有系统的安全隐患。 对于MYSQL数据库而言,应该定期查看以下网址来获取Oracle公司最新的安全性警告和解决方案。 MYSQL自身安全方案帐户安全帐户是MySQL最简单的安全措施。每一帐户都由用户名、密码以及位置(一般由服务器名、IP或通配符)组成。如用户john从server1进行登录可能和john从server2登录的权限不同。MySQL的用户结构是用户名/密码/位置。这其中并不包括数据库名。下面的两条命令为database1和database2设置了SELECT用户权限。GRANT SELECT ON database1.* to abcserver1 IDENTIFIED BY password1;GRANT SELECT ON database2.* to abcserver1 IDENTIFIED BY password2;第一条命令设置了用户abc在连接数据库database1时使用password1。第二条命令设置了用户abc在连接数据库database2时使用password2。因此,用户abc在连接数据库database1和database2的密码是不一样的。上面的设置是非常有用的。如果你只想让用户对一个数据库进行有限的访问,而对其它数据库不能访问,这样可以对同一个用户设置不同的密码。如果不这样做,当用户发现这个用户名可以访问其它数据库时,那将会造成麻烦。MySQL使用了很多授权表来跟踪用户和这些用户的不同权限。这些表就是在mysql数据库中的MyISAM表。将这些安全信息保存在MySQL中是非常有意义的。因此,我们可以使用标准的SQL来设置不同的权限。一般在MySQL数据库中可以使用3种不同类型的安全检查:登录验证也就是最常用的用户名和密码验证。一但你输入了正确的用户名和密码,这个验证就可通过。授权在登录成功后,就要求对这个用户设置它的具体权限。如是否可以删除数据库中的表等。访问控制这个安全类型更具体。它涉及到这个用户可以对数据表进行什么样的操作,如是否可以编辑数据库,是否可以查询数据等等。访问控制由一些特权组成,这些特权涉及到所何使用和操作MySQL中的数据。它们都是布尔型,即要么允许,要么不允许。下面是这些特权的列表:SELECTSELECT是设定用户是否可以使用SELECT来查询数据。如果用户没有这个特权,那么就只能执行一些简单的SELECT命令,如计算表达式(SELECT 1+2),或是日期转换(SELECT Unix_TIMESTAMP(NOW( )等。INSERTUPDATEINDEXINDEX决定用户是否可以对表的索引进行设置。如果用户没有这个权限,那么将无法设置表中的索引。ALTERCREATEGRANT如果一个用户拥有这个GRANT权限,那么他就可以将自己的权限授给别的用户。也就是说,这个用户可以和其它用户共享自己的权限。REFERENCES有了REFERENCES权限,用户就可以将其它表的一个字段作为某一个表的外键约束。除了以上的权限外,MySQL还有一些权限可以对整个MySQL进行操作。Reload这个权限可以使用户有权执行各种FLUSH命令,如FLUSH TABLES, FLUSH STATUS等。Shutdown这个权限允许用户关闭MySQLProcess通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。这些命令可以查看MySQL的处理进程,可以通过这种方式查看SQL执行的细节。File这个权限决定用户是否可以执行LOAD DATA INFILE命令。给用户这个权限要慎重,因为有这个权限的用户可以将任意的文件装载到表中,这样对MySQL是十分危险的。Super这个权限允许用户终止任何查询(这些查询可能并不是这个用户执行的)。以上几种权限是非常危险的,在给用户授权限时要非常谨慎。NextPageMySQL中的SSL以上的帐户安全只是以普通的Socket进行数据传输的,这样非常不安全。因此,MySQL在4.1版以后提供了对SSL(Secure Scokets Layer)的支持。MySQL使用的是免费的OpenSSL库。由于MySQL的Linux版本一般都是随Linux本身一起发布,因此,它们默认时都不使用SSL进行传输数据。如果要打开SSL功能,需要对hava_openssl变量进行设置:MySQL的Windows版本已经将OpenSSL加入了。也面的命令是查看你的MySQL是否打开了SSL功能。SHOW VARIABLES LIKE have_openssl;+-+-+| Variable_name | Value |+-+-+| have_openssl | NO |+-+-+1 row in set (0.00 sec)如果返回的是NO,那么说明你需要将OpenSSL编译进自己的MySQL在有时你可能需要将用户名和密码进行加密传输。在这时可以使用下面GRANT命令:GRANT ALL PRIVILEGES ON ssl_only_db.* to abc% IDENTIFIED BY password! REQUIRE SSL;还可以通过 REQUIRE x509 选项进行SSL传输:GRANT ALL PRIVILEGES ON ssl_only_db.* to abc% IDENTIFIED BY password! REQUIRE x509;你还可以使用REQUIRE SUBJECT来指定一个特定的客户端证书来访问数据库。GRANT ALL PRIVILEGES ON ssl_only_db.* to abc%IDENTIFIED BY password!REQUIRE SUBJECT /C=US/ST=New York/L=Albany/O=Widgets Inc./CN=/emailAddress=;也许你并不关心使用的是什么客户许可,而仅仅关心的是你的证书。那么你可以使用REQUIRE ISSUER来实现:GRANT ALL PRIVILEGES ON ssl_only_db.* to abc% IDENTIFIED BY password!REQUIRE ISSUER /C=US/ST=New+20York/L=Albany/O=Widgets Inc./CN=/emailAddress=;SSL还可以直接通过密码进行加密。可以使用REQUIRE CIPHER设置密码。GRANT ALL PRIVILEGES ON ssl_only_db.* to abc% IDENTIFIED BY password!REQUIRE CIPHER EDH-RSA-DES-CBC3-SHA;上面使用了GRANT命令对用户权限进行设置。而这些信息都是保存在授权表中,这些表是安全系统的心脏。在这些表中保存了每一个用户和客户机所具有的权限。如果正确地操作这些表,将会对数据库的安全起到积极的作用,而如果使用不慎,将是非常危险的。下面让我们来看看MySQL中的最要的5个授权表。user用户表保存了用户的权限和被加密的密码。这个表负责确定哪些用户和客户机可以连接到服务器上。host这个表为每一个客户机分配权限,它并不考虑用户的权限。MySQL在确定是否接收还是拒绝一个连接时,首先考虑的是user表。而使用GRANT或REVOKE命令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论