1 C/S模式

C/S (Client/Server,客户机/服务器)模式又称C/S结构,是软件系统体系结构的一种。C/S模式简单地讲就是基于企业内部网络的应用系统。客户端负责执行前台功能,实现各自的用户界面和业务逻辑处理;而服务器端运行数据库管理系统(DBMS)。这种应用系统基本运行关系体现为“请求/响应”模式,客户通过结构化查询语言(SQL)提出数据访问请求,服务器接受请求并响应,并把执行结果返回给客户,在这里事务规则功能可以由客户应用程序来完成,也可以由数据库服务器通过存储过程、触发器约束、规则等方式实现。在这种结构中,数据库系统一般采用大型数据库系统,如SQL Server、Sybase、0racle等。

图1 两层C/S模式图

1.1 C/S模式优点

(1)信息存贮与管理比较集中规范。目前,互联网上可以公开访问的信息基本上都保存在服务器上,信息的储存管理功能较为透明,用户提出访问请求后,无须再过问其它,服务器则根据一定的规则应答访问请求。
(2)安全性较好。从安全的角度来说,各种系统都存在或多或少的安全漏洞,由于C/S模式采用集中管理,客户端被动地从服务器接受指令,因此,一台客户机出现安全问题,不会影响整个系统。

1.2 C/S 模式的缺点

(1) C/S 模式投资大且维护成本高昂。采用C/s架构,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。而且,传统的C/S结构的软件需要针对不同的操作系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。
(2) C/S 模式下,服务器及带宽决定了网络的性能。每台服务器的自身存储空间决定了所能提供的信息量,而且客户端访问数量过多,超过了服务器所能容纳的量,服务器会负荷过大而造成系统的瘫痪。
(3) C/S 模式下,服务器容错性不高,一旦服务器出现问题,整个系统将会瘫痪。

2 系统设计

根据工作中资源共享的需要和C/S模式特点,需开发一个基于C/S模式的软件系统。其中,服务器端主要进行存储、编辑数据;客户端可以上传、查询、浏览和下载服务器数据库上的数据。

2.1  系统功能模块设计

图2  系统功能模块图
根据系统设计要求,主要设计了如下三大模块:①用户登录模块。主要实现检验用户的合法性功能;②文件上传模块。主要实现多种格式文件的上传功能;③文件浏览模块。主要实现对服务器上文件的浏览功能;④文件下载模块。主要实现客户下载服务器上文件功能。总系统功能模块见图2。

2.2 数据库数据结构设计

用户帐号(Log_file)数据库存储用户帐号和密码,其数据结构见表1。
表1  用户帐号数据库数据结构
字段名 字段类型 备注
User_name nchar 存储用户名
code Nchar 存储用户密码
文件共享(Share_file)数据库存储客户端上传的文件,其数据结构见表2。
表2  文件共享数据库数据结构
字段名 字段类型 备注
Number Int 存储文件编号
File_name Char 存储文件名称
File_blob Image 存储文件内容
File_class Char 存储文件所属类别
File_type Char 存储文件格式
Transmit_author Char 存储上传人姓名
Udown_time Datetime 存储上传时间
memo ntext 存储备注信息
文件类别(type_file)数据库存储客户端上传文件的类别,其数据结构见表3。
表3  文件类别数据库数据结构
字段名 字段类型 备注
Number Int 存储文件编号
File_name Char 存储文件名称
File_blob Image 存储文件内容
File_class Char 存储文件所属类别
File_type Char 存储文件格式
Transmit_author Char 存储上传人姓名
Udown_time Datetime 存储上传时间
memo ntext 存储备注信息

3 系统开发

服务器端使用SQL Server数据库存储数据。客户端软件系统采用delphi作为开发工具,它是美国Borland公司推出的面向对象的可视化编程工具,拥有功能强大的继承开发环境(IDE)和世界上速度极快的编译器,因此将delphi7作为本系统开发工具。
日常工作中使用的文档资料格式类型有很多种,主要包括word文档(*.DOC)、PDF文档(*.FTP)、网页格式文档(*.HTM/*.HTML)、幻灯片文档(*.PPT)以及各种图片文档等。这些文档格式有如下特点:①这些类型文档有的是以单个文件形式存在,有的以多个文件形式存在,比如网页格式文档,除了一个主要文件还包括一个存放图片的文件夹;②对应于这些类型的文档,通常的客户端都具有相应的应用程序。

3.1 文件上传功能模块

客户端要实现将不同类型文件(包括doc、html、htm、pdf、txt格式文件以及各种图片类型文件)上传到服务器数据库。
其中,word文档(*.DOC)、PDF文档(*.PDF)幻灯片文档(*.PPT)以及各种图片文档等是以单个文件形式存在;而网页格式文档(*.HTM/*.HTML)以多个文件形式存在,除了一个主要文件还包括一个存放图片的文件夹对应于这些类型的文档,上传该类型文档时需将这种类型转换为word文档(*.DOC)以保证不丢失信息。

3.2 数据库查询功能模块

将用户对文档查询的需求动作细化,形成可组合的查询条件,增强查询的灵活性。包括模糊查询功能、查询所有文件功能以及高级查询功能,其中高级查询功能又包括根据文件类型、种类查询功能。
图3  文件上传流程图

图4  系统操作主界面

图5  高级查询界面

3.3 文件下载模块

客户端在下载选定文件前,需先打开文件进行预览,但数据库中存储文档是按照数据流进行操作,客户端必须将数据流转换成相应的文档,而转换过来的数据文档类型复杂,通过分析发现几乎所有类型的文档都可以通过IE浏览器进行预览,因此客户端通过控制IE浏览器作为通用阅读器来解决浏览问题(预览界面见图6)。
图6 预览界面
图7 下载界面

4 小结

C/S模式简单地讲就是基于企业内部网络的应用系统,具有自身的优缺点。基于C/S模式,开发了一个客户端软件系统,该软件主要实现上传、查询、浏览和下载数据功能,从而实现资源共享且节省出客户端空间。当然,该软件系统仍有不完善的地方,如很多细节设计还不够完美,需在应用中不断发现和解决问题。

基于C/S模式的客户端软件系统相关推荐

  1. java c 客户端_java基于C/S模式实现聊天程序(客户端)

    经过这几天对java的学习,用java做了这个计算机网络的课程设计,基于C/S模式的简单聊天程序,此篇文章介绍一些客户端的一些东西. 先讲一讲此聊天程序的基本原理,客户端发送消息至服务器,服务器收到消 ...

  2. 音视频开发(11)---基于B/S模式的视频监控系统设计

    基于B/S模式的视频监控系统设计 http://hi.baidu.com/huqing7002/item/3f89f7109f22bee45f53b110 随着计算机和网络技术的迅猛发展,闭路电视监控 ...

  3. 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)

    前言: 原理与思想 这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性.健康性与易配性.这里做的是两服务器A,B各有Mysql实例3310,两个实例间互为主从 主从复制 ...

  4. Puppet基于Master/Agent模式实现LNMP平台部署

    前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应 ...

  5. android新闻客户端发展趋势,基于Android平台的新闻客户端设计与实现

    杨苏雯 摘 要 在Android开发平台上,并在JavaWeb开发的PC端新闻网站的基础上结合现在的需求开发了移动版的新闻客户端App,这个系统设计主要分为用户登录验证模块.新闻列表的显示功能模块以及 ...

  6. b/s模式的服务器性能监控系统,基于B/S模式的PC监控系统及方法

    技术领域 本发明涉及一种基于B/S模式的PC监控系统及方法. 背景技术 随着近年来网络的急速发展,网络安全问题日益凸显,当发现桌面系统存在异常的时候往往需要使用PC(个人计算机)监控系统进行监控分析, ...

  7. android新闻客户端实验报告,基于Android平台的新闻客户端设计与实现

    摘 要 在Android开发平台上,并在JavaWeb开发的PC端新闻网站的基础上结合现在的需求开发了移动版的新闻客户端App,这个系统设计主要分为用户登录验证模块.新闻列表的显示功能模块以及新闻内容 ...

  8. 《基于C/S模式的android手机与PC机通信系统的开发》项目

    基于C/S模式的android手机与PC机通信系统的开发 作者:郑海波 单位:南京邮电大学 通信与信息工程学院 信号与信息处理 6班 学号:1012010638 邮箱:zhb931706659@126 ...

  9. 客户端解析html5,基于HTML5的WebGIS实时客户端设计

    摘  要: 在WebGIS的浏览器端存在绘图效率差.不能直接支持矢量绘图等问题.为提高客户端的交互性和实时性,在解决浏览器不支持矢量绘图和渲染速度慢.存储空间小.传输速率慢这些问题的基础上,结合HTM ...

  10. 实验一 基于TCP和UDP的客户端和服务器端

    基于TCP和UDP的客户端和服务器端 一. 实验要求 二.实验目的 三. 实验环境 四. 实验内容 五. 实验原代码 六. 实验结论 七. 实验错误及改正 八. 总结 一. 实验要求 (1)分别编写基 ...

最新文章

  1. linux centos 查找命令 属于哪个安装包 所属软件包
  2. 数字图像处理:第七章 邻域运算
  3. 12个让您震撼的Linux终端命令
  4. HeartBeat 集群组件概述
  5. java http 包_java http请求
  6. python数据结构剑指offer-两个链表的第一个公共结点
  7. RabbiMQ基础以及spring-boot-starter-amqp使用
  8. Q111:PBRT-V3系统概述
  9. rsync通过服务同步、linux日志、screen工具
  10. 如何进行敌我识别(IFF)应用中的二次监视雷达(SSR)的模块化产线测试
  11. 图灵在计算机科学方面主要贡献,图灵在计算机理论方面的贡献
  12. flutter:实现扫码枪获取数据
  13. cad.net cad启动慢? cad2008启动慢? cad启动延迟? cad卡住? cad98%卡? 默认打印机!!
  14. 机器学习模型评估方法
  15. win7升级win10正式版_最新win7如何升级win10操作教程,你还在用win7吗?
  16. 2023 iApp 图片漫画化源码
  17. 服务调用追踪工具skywalking实践
  18. 研究GigE Vision(未完待续)
  19. Mac 32/64位平面、3d设计软件集子
  20. 网络持续演进不仅是技术活儿,还是一个“哲学问题”

热门文章

  1. 阅读笔记——凤凰架构(第1章)
  2. java web开源考勤系统_Java开源企业考勤系统ClockSimpleJEE4预发布版0.9.0
  3. 单网卡、单IP、双网关设置内外网同时访问
  4. linux 检查ntp版本,查看linux安装ntp服务器配置
  5. 如何进行敌我识别(IFF)应用中的二次监视雷达(SSR)的模块化产线测试
  6. Django框架基础知识(面试题)
  7. Django面试题——CSRF和CORS的区别
  8. 在VS中生成汇编语言程序(.asm文件)的方法
  9. 利用橡皮擦进行PS抠图的方法教程
  10. 【学习笔记 1】集成电路发展及其设计制造流程(ICer必备)