分布式计算系统的监控方法及系统的制作方法

文档序号:9810354阅读:431来源:国知局
分布式计算系统的监控方法及系统的制作方法
【技术领域】
[0001]本发明涉及分布式计算领域,特别是涉及一种分布式计算系统的监控方法,以及一种分布式计算系统的监控系统。
【背景技术】
[0002]现有分布式计算系统根据时效性可分为离线分布式计算系统和在线分布式计算系统两类。离线分布式计算系统采用批处理方式来处理计算复杂度高、数据量大的计算,适合对时效性要求相对较低的应用;在线分布式计算系统时效性较高,这也限制了在线系统可以处理的数据量及计算的复杂度。
[0003]目前,离线分布式计算系统以阿帕奇(Apache)开源项目Hadoop为典型,其采用映射-化简(即Map-Reduce)计算框架,将离线计算划分为Map和Reduce两个阶段:Map阶段分块并行处理计算任务,Reduce阶段归并处理Map阶段计算结果。Map-Reduce计算任务提交后,任务跟踪模块将任务放入等待队列,调度器根据任务分片信息分配Map和Reduce,子计算跟踪进程调起Map和Reduce计算任务,并且定时向任务跟踪模块上报计算进度,任务跟踪模块会将计算失败或者超时的子计算重调。在网页交互界面能够方便的看到Map/Reduce的运行进度及运行状态。
[0004]另外,在线分布式计算系统以推特(Twitter)公司开发的Storm系统为典型。使用Storm系统的应用开发者只需要专注于将应用本身的计算逻辑开发为计算拓扑,拓扑的每一个分支承担部分计算逻辑。开发好的计算拓扑提交到Storm后,Storm提供计算拓扑中计算分支的调度、网络通讯、容错、容灾等框架相关功能。Storm计算框架和Map-Reduce计算框架比较明显的两点差异:实时计算和支持多层计算拓扑,这两点差异导致了 Storm对计算任务运行情况的上报需要针对以上两点重点处理。首先在Storm中会对计算拓扑每一个分支的消息吞吐量进行统计;同时Storm还提供了时间窗口,计算在不同时间窗口内处理的进入系统内的请求数。应用计算拓扑的相关状态都可以在Storm的网页交互界面中查找到。
[0005]经过研究发现,Hadoop系统中Map-Reduce计算任务状态的上报和展示已经非常完善,但是它主要用于两层离线分布式的计算任务的上报和展示,不适用更多层次和分支的离线计算;而Storm系统中任务运行状态的上报,在通过网页交互界面查看每一个计算分支的执行情况时并不是十分直观,无法直接通过网页交互界面的展示内容分辨出计算分支间的依赖关系,这样一来,当某一个计算分支的业务出现问题时,将不能快速定位出现问题的根源,这对实时性要求很高的在线分布式计算系统来说无疑是非常不利的。

【发明内容】

[0006]基于此,本发明提供一种分布式计算系统的监控方法及系统,能够直观展示分布式计算系统中各节点间的依赖关系,以便快速定位出现问题的根源。
[0007]为实现上述目的,本发明采用如下的技术方案:
[0008]一种分布式计算系统的监控方法,包括以下步骤:
[0009]获取分布式计算系统的各个节点处理子计算任务后上报的子任务执行状态信息,其中,所述子任务执行状态信息包括节点的身份标识信息、子计算任务的来源节点信息、子计算任务的目的节点信息以及各个子计算任务的执行状态;
[0010]根据节点的身份标识信息、子计算任务的来源节点信息以及子计算任务的目的节点信息获取各个节点的关联关系;
[0011]根据所述各个子计算任务的执行状态以及各个节点的关联关系,生成总计算任务在所述分布式计算系统中的计算拓扑状态,其中,所述总计算任务包含所述各个子计算任务。
[0012]一种分布式计算系统的监控系统,包括:
[0013]信息接收模块,用于获取分布式计算系统的各个节点处理子计算任务后上报的子任务执行状态信息,其中,所述子任务执行状态信息包括节点的身份标识信息、子计算任务的来源节点信息、子计算任务的目的节点信息以及各个子计算任务的执行状态;
[0014]关联模块,用于根据节点的身份标识信息、子计算任务的来源节点信息以及子计算任务的目的节点信息获取各个节点的关联关系;
[0015]状态获取模块,用于根据所述各个子计算任务的执行状态以及各个节点的关联关系,生成总计算任务在所述分布式计算系统中的计算拓扑状态,其中,所述总计算任务包含所述各个子计算任务。
[0016]由以上方案可以看出,本发明的一种分布式计算系统的监控方法及系统,接收分布式计算系统中各节点处理子计算任务后上报的子任务执行状态信息,并根据节点的身份标识信息、节点的子计算任务的来源节点信息和目的节点信息获取各个节点的关联关系,然后根据所述各个子计算任务的执行状态以及各个节点的关联关系来生成整个总计算任务在所述分布式计算系统中的计算拓扑状态,这样就可以直观地展示出计算拓扑每一个计算节点的执行情况以及各计算节点间的依赖关系,以便于当某个应用出现问题时可以快速定位出现问题的机器和计算节点,极大地提高了问题处理的效率。
【附图说明】
[0017]图1是本发明实施例中分布式计算系统的监控方法的一种实施环境的结构示意图;
[0018]图2是本发明的分布式计算系统的监控方法一个实施例的流程示意图;
[0019]图3为一种分布式计算拓扑的逻辑图;
[0020]图4为本发明分布式计算方法中生成总计算任务的计算拓扑状态的步骤流程图;
[0021]图5为本发明分布式计算系统的监控系统一个实施例的结构示意图;
[0022]图6为本发明分布式计算系统的监控系统一个实施例中任务跟踪模块的结构示意图;
[0023]图7为本发明分布式计算系统的监控系统一个实施例中查询模块的结构示意图;
[0024]图8为本发明分布式计算系统的监控系统另一个实施例的结构示意图;
[0025]图9所示为本发明分布式计算系统的监控系统的一种应用例。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]请参阅图1,图1是本发明实施例中分布式计算系统的监控方法的一种实施环境的结构示意图。
[0028]图1所示实施环境用于实现本发明任意实施例或实施方式所述的分布式计算系统监控方法,包括服务器100、展示终端120、分布式计算系统140及其中的若干个节点160 ;所述服务器100与展示终端120、分布式计算系统140及节点160之间可以通过无线网络或有线网络进行连接。
[0029]其中,本发明实施例中的服务器100,可跟踪进入分布式计算系统的每一个计算任务对应的计算拓扑的执行情况,并根据需要发送给展示终端120进行展示。
[0030]展示终端120可直观地展示出分布式计算系统140的计算拓扑中的每一个节点的执行情况以及各节点间的关联关系,以便于当某个应用出现问题时可以快速定位出现问题的机器和节点。所述展示终端120可以包括智能手机、台式机、笔记本、个人数字助理、平板电脑等终端设备中的至少一种,并且至少装设有用于显示分布式计算系统监控结果的显示单元和通信模块。其中,显示单元可用于显示由用户输入的信息或提供给用户的信息以及各种菜单;通信模块可以实现与服务器100之间的通信,该通信模块可以采用任何可能的方式实现,例如WiFi模块、蓝牙通信、光纤通信等等,通过通信模块实现了展示终端120与服务器100之间的通信,从而使得展示终端120能够向服务器100发送网页交互界面的相关请求,并接收由服务器100返回的相关计算拓扑状态信息。
[0031]分布式计算系统140的节点160,在处理每一个子计算任务时向服务器100上报相关的子任务执行状态信息。
[0032]请参阅图2,图2是本发明的一种分布式计算系统的监控方法一个实施例的流程示意图。
[0033]本实施方式所
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1