菜单
  

    对于一般用户的客户端,是动态上下线的,组建云的时候,也是动态云。每个客户端上线时会向服务器进行节点注册,服务器会把其加入调度队列,当客户端下线或者断开时,服务器会把其从队列中删除。
            除了动态的这部分节点,我们还有一部分在机房的节点(静态节点),这
        这部分节点一般情况是可以提供正常的判题服务的。
            这个设计实现了云计算的一个具体的应用(软件即服务),并且将云分成    两部分,动态云和静态云。综合两部分进行调度,提高了计算效率,同时也    保证计算的结果的正确性。
    3.2    硬件架构
    图 2硬件结构图
    最左边是现有的OnlineJudge集群,右侧是CloudServer,是云服务的一个调度服务器。最下面分成两部分,一部分是一般用户节点(这部分是动态的),还有一部分是机房节点(这部分是我们可以控制的)。其中CloudServer和节点都是跨平台的。
    这样的架构,我们只需要对OnlineJudge ,CloudServer,和机房节点的机器进行文护,这样就会少很大一部分判题节点的开销。而且,把OJ,CloudServer,判题节点进行解耦,一旦某部分出现问题,可以用该部分的备用机器,而不需要停掉所有的服务,并且可以很快的从故障中恢复。
    3.3    软件架构
     图 3软件结构图
    在最上面是个OJ的整个平台,提供web服务,数据库服务等。下面是一个CloudServer,server向OJ请求判题任务,然后返回给OJ判题的结果。CloudServer主要的模块是一个Distribute,负责调度server给的judgeMission。下面是具体的判题节点,一共分成两块。左边是一般用户的一块,包含两部分,一部分是用户可以看到的OnlineJudge客户端,通过客户端用户可以进行看题,交题,查看判题结果,还可以参加比赛。还有一部分是隐藏在客户端内的一个判题节点。该节点在用户登录时向server注册可以判题,然后等待Distribute的判题调度。右边是机房的判题节点,是一个 纯粹的判题节点,上线时向CloudServer注册,等待Distribute调度。
    CloudServer , Distribute 和两部分的节点构成了整个的云计算判题平台。平台接收OnlineJudge发来的判题请求,返回给OnlineJudge判题的结果,整个过程对OnlineJudge是透明的。
    该设计的优点:
    a.    把很多判题节点抽象成一个节点,对于OnlineJudge,只要把判题任务给CloudServer,然后从CloudServer上拿判题结果就行了。
    b.    充分利用了用户闲置的计算机资源。减少了很大的服务器投入。
    c.    有机房的判题节点作为保障,使得即使在用户都不在线的情况下所有的请求都能得到处理。
    d.    把Distribute和CloudServer解耦,方便以后的Distribute算法的升级。
    3.4    Server端软件结构
     图 4CloudServer结构图
    Server一共分成6个主要模块。
    1.    题目服务
    客户端会向服务器请求五种题目类型的请求。题目的数目,某个题号的题目信息,所有的比赛列表,某个比赛的所有题目列表,比赛中的某个题目信息。这些所有的请求在服务端分成两类,一个是problem类型请求,一个是contest请求。
    Problem请求数据协议
     客户端请求时,需要提供problemId,和flag字段。当flag为0时表示正常的请求题目,服务端根据problemId,然后去OnlineJudge上拿到题目的详细信息(包括title , description , input , output , sampleInput , sampleOutput , hint信息),在server端把这些信息重新整理下格式,加入html标签(以一个比较好的界面)然后填入Context字段,发回给客户端。如果problemId大于10000时,表示是某个contest中的题目。客户端请求contest中的题目时,填入的problemId为contestId*10000+该题在这个比赛中的排名。如果flag为1时,从OnlineJudge上拿到当前题库中的题目数目,然后把这个数字填入ProblemId字段发回给客户端。
  1. 上一篇:VC++计算机与其网络信息取证系统的开发
  2. 下一篇:OpenCV基于智能手机的人脸检测系统设计
  1. 基于核独立元分析的非线...

  2. jsp+mysql课程考核评价系统的设计与实现

  3. 神经网络算法在核素识别中的应用研究

  4. Hadoop云计算环境下的Web应用日志安全威胁分析

  5. 在线考试系统判题系统设计

  6. 云计算服务OpenStack的代数规约描述技术

  7. php面向云计算的图形化程序构建方法研究

  8. 河岸冲刷和泥沙淤积的监测国内外研究现状

  9. 酸性水汽提装置总汽提塔设计+CAD图纸

  10. 十二层带中心支撑钢结构...

  11. 中考体育项目与体育教学合理结合的研究

  12. java+mysql车辆管理系统的设计+源代码

  13. 乳业同业并购式全产业链...

  14. 杂拟谷盗体内共生菌沃尔...

  15. 大众媒体对公共政策制定的影响

  16. 电站锅炉暖风器设计任务书

  17. 当代大学生慈善意识研究+文献综述

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回