CSDN博客

img xiaohan13916830

毕业设计(1)——平台架构

发表于2004/7/9 7:57:00  5351人阅读

前言:毕业设计已经过去一段时间了,一直来很想写下一点心得体会做为纪念,但一直由于忙于项目没有时间,今天项目终于告一段落了,终于有时间可以回顾一下这个毕业设计了,看看这个“改良”的设计到底都做了些什么。

    我不清楚做毕业设的的时候,可不可以或者应不应当考虑整个平台架构的问题,不过,我是考虑过的,现在这个第一篇就先来谈谈我的毕业设计所采用的平台架构吧。
    我这个毕业设计是一个虚拟的项目,本来的题目是“小型网络监控系统的设计与实现”,但现在觉得把“监控”改名为“报警”好像更合适一点。它的主要目的是实现“服务监控”与“内容监控”,所谓“服务监控”是指在指定的时间间隔内扫描所指定的主机的指定端口,看其是否在工作,“内容监控”是指扫描指定网页,看其是否存在非法链接或非法信息,如是所指定的主机出现异常情况,系统将自动通过EMAIL向网络管理员报警。
    系统从大的功能架构上总共分为四个(也许称为四种更为恰当)工作进程(注意是进程,而不是线程),一个是用户输入受理及信息输出进程(总控进程),一个是服务监控进程,一个是内容监控进程,还有一个是报警进程,每个进程是一个独立的应用程序,进程间通过socket进行通信。这种多进程的程序架构与一般应用的程序单进程多线程的架构不同,它的好处在于同一应用程序的多进程之间相对拥有更高的独立性,可以独自开发独自调试,适应多分布式应用,具有较好的扩展性与健壮性。对于扩展性与健壮性上的优点也许是比较突出的,比如,如果以后需要监控的服务器变多,那么只需修改总控进程,让其可以操作更多的监控进程就行,而各监控进程不需要修改。而如果一个监控进程出现问题,完全可以屏蔽掉该监控进程,而不影响其它监控进程以及整个系统的运作。每个进程都是一个完全独立的实体,是一个独立的智能体,每个进程可以采用各自独立的算法,甚至同一种进程都可以采用不同的算法,比如同样的是完成内容监控的进程A,B。A具有更高的准确性,B具有更高的速度,它们可以运行同时并存于整个系统当中,由总控进程根据需要进行调配,比如让具有更高准确性的A处理政府网站的内容,这样的网站一般信息量不是很大,但要求更精确,A中的慢速但复杂的算法可以适应其需要;让拥有简单但快速的算法的B进程处理普通商业或个人网站,这样的网站一般信息量大,但对精确性的要求并不高。
    总而言之,这种多进程而非单进程多线程的架构具有相当的优势,其架构本身比单进程多线程更适宜分布计算及网格计算的模型,因此也许在以后的开发中,它会是一种主流的平台架构。计算机硬件技术的发展,推动及促进了软件架构的发展,以前的瘦终端,胖服务器端,主要是由于以前个人PC的处理能力很低,因此更多的任务在服务器端完成。但现在个人PC的处理能力已经达到甚至超过以前一型小型机的性能,因此瘦终端的意义并不大,而且由于存在大量的终端,使得服务器及网络负荷很重,因此,现在又渐渐发展胖终端,胖服务器端,甚至胖终端,瘦服务器端的平台架构,服务器一般只做为总控程序,负责多进程间的协调与同步,而更大量的工作由各个智能终端去完成。
    但并不是说瘦终端与胖服务器端的平台架构模式会消失,它们会继续完善与发展,甚至拥有更广扩的发展空间。比如在今后的智能家电中,就可以采用这样的平台架构,家中的PC是胖服务器,而各个带有电脑芯片的家用电器是瘦终端。
    说了这么多,只是想详细解释一下本毕业设计的平台架构模型——胖终端,胖服务器,以及为什么要采用这样的模型。
    下一篇,将描述一个各种进程间的分工与协调的问题。

0 0

相关博文

我的热门文章

img
取 消
img