一种实现并行计算的方法及系统的制作方法

文档序号:6331264阅读:94来源:国知局
专利名称:一种实现并行计算的方法及系统的制作方法
技术领域
本发明涉及云计算领域,特别是指一种实现并行计算的系统及方法。
背景技术
MapReduce由Google的工程师最先提出,是一种能够并行处理海量数据的系统架构,MapReduce系统的工作原理为自动将一个任务分解成多个子任务,然后并行执行这些子任务,当所有子任务执行完毕后,将处理结果汇总。图1为现有的MapReduce系统的架构示意图,从图1中可以看出,MapReduce将数据处理分为两个阶段映射(Map)阶段和化简(Reduce)阶段。MapReduce系统主要包括客户端(Client)、宿主(Master)节点及工人(Worker)节点;其中,客户端用于提交 MapReduce任务,Master节点用于自动将MapReduce任务分解为Map任务和Reduce任务, 之后将这些任务调度到Worker节点上执行,Worker节点用于在收到Master发来的Map或 Reduce任务请求后,执行请求中的任务。MapReduce系统能自动实现并行处理、分布数据、 容错、及均衡负载等功能。现有的MapReduce系统中,当某个Worker节点在执行任务的过程中发生故障时, Master节点将该故障Worker节点负责的任务,重新分配给其他Worker节点,其他Worker 节点收到任务后,将该任务从头开始重新执行一遍。当Master节点在整个任务的执行过程中发生故障时,则需要将整个任务从头开始全部重新执行一遍,如此,降低数据处理效率, 进而影响用户体验。

发明内容
有鉴于此,本发明的主要目的在于提供一种实现并行计算的方法及系统,能在节点发生故障时,从故障发生时刻的断点处继续执行任务。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种实现并行计算的方法,该方法包括整体任务启动后,记录执行任务的Worker节点和Master节点的日志信息;当执行任务的Worker节点出现故障时,新的Worker节点获取记录的故障Worker 节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,当执行任务的Master节点出现故障时,新的Master节点启动后,获取记录的故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障 Master节点的业务流程。上述方案中,所述新的Worker节点获取故障Worker节点的日志信息,为Master节点向所述新的Worker节点发送执行任务的信息;所述新的Worker节点收到信息后,向全局信息监控功能实体发送查询请求信息;全局信息监控功能实体收到查询请求信息后,根据查询请求信息查找自身保存的故障Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信肩、ο上述方案中,所述新的Master节点获取故障Master节点的日志信息,为所述新的Master节点向全局信息监控功能实体发送查询请求信息;全局信息监控功能实体收到查询请求信息后,根据查询请求信息查找自身保存的故障Master节点的日志信息,并向所述新的Master节点返回故障Master节点的日志信肩、ο上述方案中,在记录Master节点和Worker节点的日志信息之前,该方法进一步包括User Program通过调用客户端程序库启动整体任务后,选择一个节点作为Master 节点,之后向Master节点发送需要处理的输入数据源;Master节点收到需要处理的输入数据源后,将输入数据源进行分割处理;Master选择执行任务的Worker节点,并向每个执行任务的Worker节点分配需要执行的任务;执行任务的Worker节点读取分割后的数据块,执行分配的任务。上述方案中,所述记录执行任务的Worker节点和Master节点的日志信息,为整体任务启动后,执行任务的Worker节点和Master节点将自身的日志信息实时上传给全局信息监控功能实体;全局信息监控功能实体保存执行任务的Worker节点和Master节点的日志信息。上述方案中,在全局信息监控功能实体保存执行任务的Worker节点和Master节点的日志信息之前,该方法进一步包括全局信息监控功能实体收到Worker节点上传的日志信息后,判断Worker节点的日志信息中携带的节点的身份标识信息与保存的Worker节点的身份标识信息是否一致, 确定一致,则保存Worker节点的日志信息,确定不一致,则丢弃Worker节点的日志信息。本发明还提供了一种获取日志信息的方法,该方法包括整体任务启动后,实时保存执行任务的Master节点和Worker节点的日志信息;当执行任务的Worker节点出现故障,且在收到新的Worker节点发送的查询请求信息后,根据查询请求信息查找保存的故障Worker节点的日志信息,并向所述新的Worker 节点返回故障Worker节点的日志信息;和/或,当执行任务的Master节点出现故障且在收到新的Master节点发送的查询请求信息后,根据查询请求信息查找保存的故障Master节点的日志信息,并向所述新的Master节点返回故障Master节点的日志信息。上述方案中,在实时保存执行任务的Master节点和Worker节点的日志信息之前, 该方法进一步包括 判断Worker节点的日志信息中携带的节点的身份标识信息与保存的Worker节点的身份标识信息是否一致,确定一致,则保存Worker节点的日志信息,确定不一致,则丢弃 Worker节点的日志信息。本发明还提供了一种获取日志信息的全局信息监控实体,该全局信息监控实体包括存储模块及查询模块;其中,存储模块,用于整体任务启动后,实时保存执行任务的Master节点和Worker节点上传的日志信息;
查询模块,用于当执行任务的Worker节点出现故障且在收到新的Worker节点发送的查询请求信息后,根据查询请求信息查找存储模块保存的故障Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信息;和/或,当执行任务的 Master节点出现故障且在收到新的Master节点发送的查询请求信息后,根据查询请求信息查找存储模块保存的故障Master节点的日志信息,并向所述新的Master节点返回故障 Master节点的日志信息。上述方案中,该全局信息监控实体进一步包括判断模块,用于Worker节点上传日志信息时,判断Worker节点的日志信息中携带的该节点的身份标识信息与保存的 Worker节点的身份标识信息是否一致,确定一致时,保存该Worker节点的日志信息,否则, 丢弃该Worker节点的日志信息。上述方案中,所述存储模块,还用于保存Worker节点的身份标识信息。本发明还提供了一种实现并行计算的系统,该系统包括全局信息监控功能实体、 第一 Worker节点、及第一 Master节点;其中,全局信息监控功能实体,用于整体任务启动后,记录执行任务的Worker节点和 Master节点的日志信息;第一 Worker节点,用于当执行任务的Worker节点出现故障时,从全局信息监控功能实体获取故障Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,第一 Master节点,用于当执行任务的Master节点出现故障时,在自身启动后,从全局信息监控功能实体获取故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master节点的业务流程。上述方案中,该系统进一步包括User Program单元、第二 Master节点及第二 Worker节点;其中,User Program单元,用于通过调用客户端程序库启动整体任务后,选择一个节点作为Master节点,之后向第二 Master节点发送需要处理的输入数据源;第二 Master节点,用于在收到her Program单元发送的需要处理的输入数据源后,将输入数据源进行分割处理,之后选择执行任务的Worker节点,并向每个执行任务的 Worker节点分配需要执行的任务;第二 Worker节点,用于在收到第二 Master节点分配的任务后,执行分配的任务。上述方案中,所述第二 Master节点,还用于当第二 Worker节点出现故障时,向第一 Worker节点发送执行任务的信息;所述第一 Worker节点,具体用于在收到第二 Master节点发送的信息后,向全局信息监控功能实体发送查询请求信息,并接收全局信息监控功能实体返回的第二 Worker 节点的日志信息;所述全局信息监控功能实体,还用于在收到第一 Worker节点发送的查询请求信息后,根据查询请求信息查找自身保存的第二 Worker节点的日志信息,并向第一 Worker节点返回第二 Worker节点的日志信息。上述方案中,所述第一 Master节点,具体用于当第二 Master节点出现故障时, 向全局信息监控功能实体发送查询请求信息,并接收全局信息监控功能实体返回的第二Master节点的日志信息;所述全局信息监控功能实体,还用于在收到第一 Master节点发送的查询请求信息后,根据查询请求信息查找自身保存的第二 Master节点的日志信息,并向第一 Master节点返回第二 Master节点的日志信息。上述方案中,所述第二 Worker节点,还用于在整体任务启动后,将自身的日志信息实时上传给全局信息监控功能实体;所述第二 Master节点,还用于在整体任务启动后,将自身的日志信息实时上传给全局信息监控功能实体;全局信息监控功能实体,还用于保存第二 Worker节点和第二 Master节点的日志 fn息ο上述方案中,所述全局信息监控功能实体,还用于在保存第二 Worker节点和第二 Master节点的日志信息之前,判断第二 Worker节点的日志信息中携带的节点的身份标识信息与保存的Worker节点的身份标识信息是否一致,确定一致,则保存第二 Worker节点的日志信息,确定不一致,则丢弃第二 Worker节点的日志信息。本发明提供的实现并行计算的方法及系统,新的Worker节点获取记录的故障 Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,新的Master获取记录的故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master节点的业务流程,如此,能在节点发生故障时,从故障发生时刻的断点处继续执行任务,进而提高数据的处理效率,节省系统资源, 提升用户体验。


图1为现有的MapReduce系统的架构示意图;图2为本发明实现并行计算的方法流程示意图;图3为记录Master节点和Worker节点的日志信息之前的方法流程示意图;图4为本发明实现并行计算的系统结构示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。本发明实现并行计算的方法,如图2所示,包括以下步骤步骤201 整体任务启动后,记录执行任务的Worker节点和Master节点的日志信息;这里,在记录Master节点和Worker节点的日志信息之前,如图3所示,该方法还可以进一步包括以下步骤步骤301 =User Program通过调用客户端程序库启动整体任务后,选择一个节点作为Master节点,之后向Master节点发送需要处理的输入数据源。步骤302 =Master节点收到需要处理的输入数据源后,将输入数据源进行分割处理,之后执行步骤303 ;这里,Master节点可以调用her Program中的分割函数,将输入数据源进行分割处理;User Program可以事先将调用程序参数告诉Master节点,或者,可以事先将调用函数通过消息的方式发送给Master节点。步骤303 =Master节点选择执行任务的Worker节点,并向每个执行任务的Worker 节点分配需要执行的任务。步骤304 执行任务的Worker节点读取分割后的数据块,执行分配的任务;其中,步骤301 304与现有的处理过程完全相同,这里不再赘述;所述日志信息包括节点运行的状态信息及业务处理流程的状态和关键数据;其中,所述节点运行的状态信息,可以是网络状况、CPU、内存、磁盘空间、Map任务或Reduce 任务的执行状态等;所述业务处理流程的状态和关键数据与处理的具体的业务流程相关, 举个例子来说,对于一个使用MapReduce并行向10万个手机用户发送天气预报的短信息的业务流程,则所述业务处理流程的状态和关键数据包含手机用户的电话号码信息;在实际应用时,可以在MapReduce系统中增设一个全局信息监控功能实体,由全局信息监控功能实体记录Master节点和Worker节点的日志信息,并且预先在MapReduce 系统中的所有节点上配置全局信息监控功能实体的身份标识信息,所述全局信息监控功能实体的身份标识信息可以是网络之间互联的协议(IP)地址、身份标识号码(ID)等一切能表明全局信息监控功能实体身份的信息;MapReduce系统中的所有节点可以根据所述全局信息监控功能实体的身份标识信息,上传自身的日志信息到全局信息监控功能实体;整体任务启动后,Master节点和Worker节点将自身的日志信息实时上传给全局信息监控功能实体;为了保证整个日志记录过程可靠,当整体任务启动后,Master节点将整体任务分配给哪些Worker节点执行,并将这些Worker节点的身份标识信息发送给全局信息监控功能实体,全局信息监控功能实体接收并保存Worker节点的身份标识信息,如果有Worker节点上传日志信息时,全局信息监控功能实体根据保存的Worker节点的身份标识信息判断是否保存该Worker节点的日志信息,具体地,当Worker节点的日志信息中携带的该节点的身份标识信息与保存的Worker节点的身份标识信息一致时,则保存该Worker节点的日志信息,否则,丢弃该Worker节点的日志信息;所述Worker节点的身份标识信息是指能标识 Worker节点身份的信息,比如IP地址、机器名称、或ID等;所述全局信息监控功能实体的具体形式可以是日志数据库,还可以是由一个或多个节点组成的集合体;所述Worker节点是指执行该任务的所有Worker节点的集合。步骤202 当执行任务的Worker节点出现故障时,新的Worker节点获取记录的故障Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker 节点的业务流程;和/或,当执行任务的Master节点出现故障时,新的Master节点启动后, 获取记录的故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master节点的业务流程;这里,Master节点通过自身与Worker节点之间的心跳检测,可以知道执行任务的Worker节点出现故障;在执行任务的Worker节点出现故障后,Master节点可以依据 MapReduce系统中其它节点的负载情况,即现有MapReduce系统中的自动负载均衡的处理,选出一个节点作为新的Worker节点;所述新的Worker节点可以是正在执行该任务的健康的Worker节点,还可以是没有执行该任务的健康的Worker节点;在任务启动后,MapReduce系统的her Program会启动一个定时器,在定时器超时后,还没有收到Master节点返回的任务执行结果,就认为该Master节点出现故障,需要选择一个新的节点作为Master节点,在选择时,可以依据Maplteduce系统中其它节点的负载情况,即现有MapReduce系统中的自动负载均衡的处理,选出一个节点作为新的Master 节点;所述新的Master节点可以是执行该任务的Master节点,还可以是没有执行该任务的其它Master节点;所述新的Worker节点获取故障Worker节点的日志信息,具体为Master节点向所述新的Worker节点发送执行任务的信息;所述新的Worker节点收到信息后,向全局信息监控功能实体发送查询请求信息;全局信息监控功能实体收到查询请求信息后,根据查询请求信息查找自身保存的故障Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信息;其中,所述执行任务的信息包含任务数据源、任务ID、故障Worker节点的身份标识信息等;所述查询请求信息包含任务ID、故障Worker的节点身份标识信息等,所述故障 Worker的节点身份标识信息可以是IP地址、机器名称、ID等一切能标识故障Worker节点身份的信息;所述新的Master节点获取故障Master节点的日志信息,具体为所述新的Master节点向全局信息监控功能实体发送查询请求信息;全局信息监控功能实体收到查询请求信息后,根据查询请求信息查找自身保存的故障Master节点的日志信息,并向所述新的Master节点返回故障Master节点的日志信息;其中,所述查询请求信息包含故障Master节点的身份标识信息或任务ID信息等能识别出故障Master节点日志记录的信息;所述故障Master节点的身份标识信息可以是 IP地址、机器名称、ID等一切能标识故障Master节点身份的信息。每个Worker节点的任务执行完毕时,会调用外部接口将自身的日志信息上传到全局信息监控功能实体,同时通知Master节点,自身负责的任务已经处理完毕;Master节点收到通知后,将自身的Worker节点的任务标记成已完成。当收到所有Worker节点发送的已经处理完成的通知后,Master节点结束整体任务。为实现上述方法,本发明还提供了一种获取日志信息的全局信息监控实体,该全局信息监控实体包括存储模块及查询模块;其中,存储模块,用于整体任务启动后,实时保存执行任务的Master节点和Worker节点上传的日志信息;查询模块,用于当执行任务的Worker节点出现故障且在收到新的Worker节点发送的查询请求信息后,根据查询请求信息查找存储模块保存的故障Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信息;和/或,当执行任务的 Master节点出现故障且在收到新的Master节点发送的查询请求信息后,根据查询请求信息查找存储模块保存的故障Master节点的日志信息,并向所述新的Master节点返回故障Master节点的日志信息。其中,该全局信息监控实体还可以进一步包括判断模块,用于Worker节点上传日志信息时,判断Worker节点的日志信息中携带的该节点的身份标识信息与保存的Worker 节点的身份标识信息是否一致,确定一致时,保存该Worker节点的日志信息,否则,丢弃该 Worker节点的日志信息。所述存储模块,还用于保存Worker节点的身份标识信息。同时,本发明又提供了一种实现并行计算的系统,如图4所示,该系统包括全局信息监控功能实体41、第一 Worker节点42、及第一 Master节点43 ;其中,全局信息监控功能实体41,用于整体任务启动后,记录执行任务的Worker节点和 Master节点的日志信息;第一Worker节点42,用于当执行任务的Worker节点出现故障时,从全局信息监控功能实体41获取故障Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,第一 Master节点43,用于当执行任务的Master节点出现故障时,在自身启动后, 从全局信息监控功能实体41获取故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master节点的业务流程。这里,需要说明的是第一 Worker节点42可以是正在执行该任务的健康的 Worker节点,还可以是没有执行该任务的健康的Worker节点;第一 Master节点43可以是执行该任务的Master节点,还可以是没有执行该任务的其它Master节点。其中,该系统还可以进一步包括her Program单元、第二 Master节点及第二 Worker节点;其中,User Program单元,用于通过调用客户端程序库启动整体任务后,选择一个节点作为Master节点,之后向第二 Master节点发送需要处理的输入数据源;第二 Master节点,用于在收到her Program单元发送的需要处理的输入数据源后,将输入数据源进行分割处理,之后选择执行任务的Worker节点,并向每个执行任务的 Worker节点分配需要执行的任务;第二 Worker节点,用于在收到第二 Master节点分配的任务后,执行分配的任务。这里,需要说明的是第二Worker节点可以是一个以上执行任务的Worker节点的
皇A
朱口 ο其中,所述第二 Master节点,还用于当第二 Worker节点出现故障时,向第一 Worker节点42发送执行任务的信息;所述第一 Worker节点,具体用于在收到第二 Master节点发送的信息后,向全局信息监控功能实体41发送查询请求信息,并接收全局信息监控功能实体41返回的第二 Worker节点的日志信息;所述全局信息监控功能实体41,还用于在收到第一 Worker节点42发送的查询请求信息后,根据查询请求信息查找自身保存的第二 Worker节点的日志信息,并向第一 Worker节点41返回第二 Worker节点的日志信息。其中,所述第一 Master节点42,具体用于当第二 Master节点出现故障时,向全局信息监控功能实体41发送查询请求信息,并接收全局信息监控功能实体41返回的第二Master节点的日志信息;所述全局信息监控功能实体41,还用于在收到第一 Master节点43发送的查询请求信息后,根据查询请求信息查找自身保存的第二 Master节点的日志信息,并向第一 Master节点43返回第二 Master节点的日志信息。所述第二 Worker节点,还用于在整体任务启动后,将自身的日志信息实时上传给全局信息监控功能实体41 ;所述第二 Master节点,还用于在整体任务启动后,将自身的日志信息实时上传给全局信息监控功能实体41 ;全局信息监控功能实体41,还用于保存第二 Worker节点和第二 Master节点的日志fn息ο其中,所述全局信息监控功能实体41,还用于在保存第二 Worker节点和第二 Master节点的日志信息之前,判断第二 Worker节点的日志信息中携带的节点的身份标识信息与保存的Worker节点的身份标识信息是否一致,确定一致,则保存第二 Worker节点的日志信息,确定不一致,则丢弃第二 Worker节点的日志信息。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种实现并行计算的方法,其特征在于,该方法包括整体任务启动后,记录执行任务的工人(Worker)节点和宿主(Master)节点的日志信息;当执行任务的Worker节点出现故障时,新的Worker节点获取记录的故障Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,当执行任务的Master节点出现故障时,新的Master节点启动后,获取记录的故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master 节点的业务流程。
2.根据权利要求1所述的方法,其特征在于,所述新的Worker节点获取故障Worker节点的日志信息,为Master节点向所述新的Worker节点发送执行任务的信息;所述新的Worker节点收到信息后,向全局信息监控功能实体发送查询请求信息;全局信息监控功能实体收到查询请求信息后,根据查询请求信息查找自身保存的故障 Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信息。
3.根据权利要求1所述的方法,其特征在于,所述新的Master节点获取故障Master节点的日志信息,为所述新的Master节点向全局信息监控功能实体发送查询请求信息;全局信息监控功能实体收到查询请求信息后,根据查询请求信息查找自身保存的故障 Master节点的日志信息,并向所述新的Master节点返回故障Master节点的日志信息。
4.根据权利要求1、2或3所述的方法,其特征在于,在记录Master节点和Worker节点的日志信息之前,该方法进一步包括User Program通过调用客户端程序库启动整体任务后,选择一个节点作为Master节点,之后向Master节点发送需要处理的输入数据源;Master节点收到需要处理的输入数据源后,将输入数据源进行分割处理;Master选择执行任务的Worker节点,并向每个执行任务的Worker节点分配需要执行的任务;执行任务的Worker节点读取分割后的数据块,执行分配的任务。
5.根据权利要求4所述的方法,其特征在于,所述记录执行任务的Worker节点和 Master节点的日志信息,为 整体任务启动后,执行任务的Worker节点和Master节点将自身的日志信息实时上传给全局信息监控功能实体;全局信息监控功能实体保存执行任务的Worker节点和Master节点的日志信息。
6.根据权利要求5所述的方法,其特征在于,在全局信息监控功能实体保存执行任务的Worker节点和Master节点的日志信息之前,该方法进一步包括全局信息监控功能实体收到Worker节点上传的日志信息后,判断Worker节点的日志信息中携带的节点的身份标识信息与保存的Worker节点的身份标识信息是否一致,确定一致,则保存Worker节点的日志信息,确定不一致,则丢弃Worker节点的日志信息。
7.一种获取日志信息的方法,其特征在于,该方法包括整体任务启动后,实时保存执行任务的Master节点和Worker节点的日志信息;当执行任务的Worker节点出现故障,且在收到新的Worker节点发送的查询请求信息后,根据查询请求信息查找保存的故障Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信息;和/或,当执行任务的Master节点出现故障且在收到新的Master节点发送的查询请求信息后,根据查询请求信息查找保存的故障Master节点的日志信息,并向所述新的Master节点返回故障Master节点的日志信息。
8.根据权利要求7所述的方法,其特征在于,在实时保存执行任务的Master节点和 Worker节点的日志信息之前,该方法进一步包括判断Worker节点的日志信息中携带的节点的身份标识信息与保存的Worker节点的身份标识信息是否一致,确定一致,则保存Worker节点的日志信息,确定不一致,则丢弃 Worker节点的日志信息。
9.一种获取日志信息的全局信息监控实体,其特征在于,该全局信息监控实体包括 存储模块及查询模块;其中,存储模块,用于整体任务启动后,实时保存执行任务的Master节点和Worker节点上传的日志信息;查询模块,用于当执行任务的Worker节点出现故障且在收到新的Worker节点发送的查询请求信息后,根据查询请求信息查找存储模块保存的故障Worker节点的日志信息,并向所述新的Worker节点返回故障Worker节点的日志信息;和/或,当执行任务的Master 节点出现故障且在收到新的Master节点发送的查询请求信息后,根据查询请求信息查找存储模块保存的故障Master节点的日志信息,并向所述新的Master节点返回故障Master 节点的日志信息。
10.根据权利要求9所述的全局信息监控实体,其特征在于,该全局信息监控实体进一步包括判断模块,用于Worker节点上传日志信息时,判断Worker节点的日志信息中携带的该节点的身份标识信息与保存的Worker节点的身份标识信息是否一致,确定一致时,保存该Worker节点的日志信息,否则,丢弃该Worker节点的日志信息。
11.根据权利要求9或10所述的全局信息监控实体,其特征在于,所述存储模块,还用于保存Worker节点的身份标识信息。
12.一种实现并行计算的系统,其特征在于,该系统包括全局信息监控功能实体、第一 Worker节点、及第一 Master节点;其中,全局信息监控功能实体,用于整体任务启动后,记录执行任务的Worker节点和Master 节点的日志信息;第一 Worker节点,用于当执行任务的Worker节点出现故障时,从全局信息监控功能实体获取故障Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,第一 Master节点,用于当执行任务的Master节点出现故障时,在自身启动后,从全局信息监控功能实体获取故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master节点的业务流程。
13.根据权利要求12所述的系统,其特征在于,该系统进一步包括mserProgram单元、 第二 Master节点及第二 Worker节点;其中,User Program单元,用于通过调用客户端程序库启动整体任务后,选择一个节点作为Master节点,之后向第二 Master节点发送需要处理的输入数据源;第二 Master节点,用于在收到her Program单元发送的需要处理的输入数据源后,将输入数据源进行分割处理,之后选择执行任务的Worker节点,并向每个执行任务的Worker 节点分配需要执行的任务;第二 Worker节点,用于在收到第二 Master节点分配的任务后,执行分配的任务。
14.根据权利要求13所述的系统,其特征在于,所述第二 Master节点,还用于当第二 Worker节点出现故障时,向第一 Worker节点发送执行任务的信息;所述第一 Worker节点,具体用于在收到第二 Master节点发送的信息后,向全局信息监控功能实体发送查询请求信息,并接收全局信息监控功能实体返回的第二 Worker节点的日志信息;所述全局信息监控功能实体,还用于在收到第一 Worker节点发送的查询请求信息后, 根据查询请求信息查找自身保存的第二 Worker节点的日志信息,并向第一 Worker节点返回第二 Worker节点的日志信息。
15.根据权利要求13所述的系统,其特征在于,所述第一 Master节点,具体用于当第二 Master节点出现故障时,向全局信息监控功能实体发送查询请求信息,并接收全局信息监控功能实体返回的第二 Master节点的日志 fn息;所述全局信息监控功能实体,还用于在收到第一 Master节点发送的查询请求信息后, 根据查询请求信息查找自身保存的第二 Master节点的日志信息,并向第一 Master节点返回第二 Master节点的日志信息。
16.根据权利要求13、14或15所述的系统,其特征在于,所述第二 Worker节点,还用于在整体任务启动后,将自身的日志信息实时上传给全局信息监控功能实体;所述第二 Master节点,还用于在整体任务启动后,将自身的日志信息实时上传给全局信息监控功能实体;全局信息监控功能实体,还用于保存第二 Worker节点和第二 Master节点的日志信息。
17.根据权利要求16所述的系统,其特征在于,所述全局信息监控功能实体,还用于在保存第二 Worker节点和第二 Master节点的日志信息之前,判断第二 Worker节点的日志信息中携带的节点的身份标识信息与保存的 Worker节点的身份标识信息是否一致,确定一致,则保存第二 Worker节点的日志信息,确定不一致,则丢弃第二 Worker节点的日志信息。
全文摘要
本发明公开了一种实现并行计算的方法,该方法包括整体任务启动后,记录执行任务的工人(Worker)节点和宿主(Master)节点的日志信息;当执行任务的Worker节点出现故障时,新的Worker节点获取记录的故障Worker节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Worker节点的业务流程;和/或,当执行任务的Master节点出现故障时,新的Master节点启动后,获取记录的故障Master节点的日志信息,并根据日志信息从故障发生时的断点处继续处理故障Master节点的业务流程。本发明同时公开了一种实现并行计算的系统,采用本发明的方法及系统,能在节点发生故障时,从故障发生时刻的断点处继续执行任务。
文档编号G06F11/30GK102385536SQ20101026933
公开日2012年3月21日 申请日期2010年8月27日 优先权日2010年8月27日
发明者周扬, 张艺夕, 李桂萍, 胡媛, 黄翔 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1