任务,比如在数据库中更新数据,或者从数据库中检索数据。
使用 SQL 的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres 等等。
MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL Ab 公司。
在 2008 年 1 月 16号被 Sun 公司收购。
而 2009 年SUN 又被 Oracle 收购.对于 Mysql 的前途没有任何人抱乐观的态度.目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
2.2.3windows socket 网络编程接口 选定 WINDOWS 平台开发网络通信程序,可以选择 WINDOWS 的 SOCKETS 编程接口,WindowsSockets 是一套开放的、支持多种协议的 Windows 下的网络编程接口。
现在的 Winsock 已经基本上实现了与协议无关,你可以使用 Windows sockets 来调用多种协议的功能,但较常使用的是 TCP/IP 协议。
Windows sockets 无疑是我们进行网络编程的利器。
所有的 WindowsSockets 实现都支持流套接口和数据报套接口。
应用程序调用 Windows Sockets 的 API 实现相互之间的通讯。
Windows Sockets 又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。
它们之间的关系如图 2-1 所示: 图 2-1 Windows Sockets 实现通讯工作的各层关系图2.2.4 多线程开发技术 多线程在构建大型系统的时候是需要重点关注的一个重要方面,特别是在效率(系统跑得多快?)和性能(系统工作正常?)之间做一个权衡的时候。
恰当的使用多线程可以极大的提高系统性能。
使用多线程的好处有以下几点:使用线程可以把占据长时间的程序中的任务放到后台去处理;用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度;程序的运行速度可能加快;在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。
在这种情况下我们可以释放一些珍贵的资源如内存占用等等。
在本质上和结构来说,一般来说,你可以quot手动quot为长时间运行的任务创建一个新的线程,另外对于短时间运行的任务尤其是经常需要开始的那些,进程池是一个非常好的选择。
进程池可以同时运行多个任务,还可以使用框架类。
对于资源紧缺需要进行同步的情况来说,它可以限制某一时刻只允许一个线程访问资源。
这种情况可以视为给线程实现了锁机制。
2.2.5TCP/IP 协议、UDP 协议 网际协议 IP 是 TCP/IP 的心脏,也是网络层中最重要的协议。
IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层---TCP 或UDP 层;相反,IP 层也把从 TCP 或 UDP 层接收来的数据包传送到更低层。
IP 数据包是不可靠的,因为 IP 并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。
IP 数据包中含有发送它的主机的地址(源地址) 。
和接收它的主机的地址(目的地址) 如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向上传送到 TCP 层。
TCP 将包排序并进行错误检查,同时实现虚电路间的连接。
TCP 数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。
UDP 与 TCP 位于同一层,但对于数据包的顺序错误或重发。
因此,UDP 不被应用于那些使用虚电路的面向连接的服务,UDP 主要用于那些面向查询 ---应答的服务. TCP 和 UDP 服务通常有一个客户/服务器的关系。
两个系统间的多重连接是这样相互确认并协调一致的,TCP 或 UDP 连接唯一地使用每个信息中的如下四项进行确认: 源 IP 地址 发送包的 IP 地址。
目的 IP 地址 接收包的 IP 地址。
源端口源系统上的连接的端口。
目的端口 目的系统上的连接的端口。
端口是一个软件结构,被客户程序或服务进程用来发送和接收信息。
一个端口对应一个 16 比特的数。
服务进程通常使用一个固定的端口,例如, SMTP 使用 25。
这些端口号是“广为人知”的,因为在建立与特定的主机或服务的连接时,需要这些地址和目的地址进行通讯。
2.2.6Client/Server 结构 Client/Server 结构(C/S 结构)是大家熟知的客户机和服务器结构。
通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。
目前大多数应用软件系统都是 Client/Server 形式的两层结构。
C/S 结构软件分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。
由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。
C/S 结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。
对应的优点就是客户端响应速度快。
缺点主要有以下几个: 只适用于局域网。
而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。
这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
第三章 系统分析与设计3.1 系统分析3.1.1 系统需求 聊天交流是目前互联网提供的主要内容。
聊天系统有多种实现方式,类似 ICQ 属于一种点对点的聊天系统;还有一种是基于 Socket 的集中式聊天系统,这种聊天系统需要登录统一的聊天服.
上一篇:
【论文】基于SSH的产品交流与销售管理系统设计
下一篇:
关于听觉掩蔽的语音增强算法及DSP实现