服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。
客户机通过局域网与服务器相连,接受用户的请求,并通过网络向服务器提出请求,对数据库进行操作。服务器接受客户机的请求,将数据提交给客户机,客户机将数据进行计算并将结果呈现给用户。服务器还要提供完善安全保护及对数据完整性的处理等操作,并允许多个客户机同时访问服务器,这就对服务器的硬件处理数据能力提出了很高的要求。
在C/S结构中,应用程序分为两部分:服务器部分和客户机部分。服务器部分是多个用户共享的信息与功能,执行后台服务,如控制共享数据库的操作等;客户机部分为用户所专有,负责执行前台功能,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。
C/S结构在技术上已经很成熟,它的主要特点是交互性强、具有安全的存取模式、响应速度快、利于处理大量数据。但是C/S结构缺少通用性,系统维护、升级需要重新设计和开发,增加了维护和管理的难度,进一步的数据拓展困难较多,所以C/S结构只限于小型的局域网 [1] 。
1.被动的角色(从)。
2.等待来自用户端的要求。
3.处理要求并传回结果。
用户端的特征:
1.主动的角色(主)。
2.发送要求。
3.等待直到收到回应。
被动接受消息的进程是服务端,主动发送消息的进程是客户端。有些情况下,比如软件上的架构中,服务器端和客户端的定义没有那么严格。在这些情况中,我们把进程称之为server端,也是可以主动发送消息给client端进程的。被动接收信息多,而主动发送信息少的进程称之为server进程。主动发送信息多,而被动接收消息少的进程也可以称之为client端。
在Dbus进行跨进程通信的架构中,deamon后台进程是server进程,其他的进程都是client进程。而其他client进程,在另外一种软件架构中,可以变成server进程。比如,这个进程位于软件架构的下层。