This application provides a real-time computing system architecture based on the new Jstorm, including the arbitration system, and based on several Jstorm architecture computing subsystem; the number of computing system using distributed deployment; the arbitration system can detect heartbeat messages from time to time to send each calculation subsystem of the state several calculation subsystem in normal the calculation and distribution system based on dynamic calculation subsystem to detect the normal state of the computing task, computing subsystem normal state can be calculated based on the distribution of tasks of the arbitration system, the data calculated from the data to be calculated subset data set extracted corresponding to the calculation task. This application can improve the stability of real-time computing system.
【技术实现步骤摘要】
实时计算方法及装置
本申请涉及计算机应用领域,尤其涉及一种基于Jstorm的实时计算方法及装置。
技术介绍
在传统的基于jstorm的实时计算系统的架构中,通常包括实时数据传输平台,和基于jstorm架构的用于流式计算的计算系统。计算系统可以订阅实时数据传输平台中的数据,进行实时的流式数据计算。然而,传统的基于基于jstorm的实时计算系统,在整体链路上通常为单点模型,一旦计算系统所在的计算节点出现故障,就会导致数据计算中断,造成业务上的整体不可用。
技术实现思路
本申请提出一种基于Jstorm的实时计算方法,应用于实时计算系统中的仲裁子系统,所述实时计算系统还包括基于Jstorm架构的若干计算子系统;所述若干计算子系统采用分布式部署;包括:基于各计算子系统定时发送的心跳消息探测所述若干计算子系统中状态正常的计算子系统;基于预设的任务分配策略为探测到的各状态正常的计算子系统分别分配计算任务,以由各计算子系统从待计算数据集合中提取对应于所述计算任务的数据子集进行数据计算;当探测到任一状态正常的计算子系统发生状态异常时,基于所述预设的任务分配策略针对当前状态正常的计算子系 ...
【技术保护点】
一种基于Jstorm的实时计算方法,其特征在于,应用于实时计算系统中的仲裁子系统,所述实时计算系统还包括基于Jstorm架构的若干计算子系统;所述若干计算子系统采用分布式部署;包括:基于各计算子系统定时发送的心跳消息探测所述若干计算子系统中状态正常的计算子系统;基于预设的任务分配策略为探测到的各状态正常的计算子系统分别分配计算任务,以由各计算子系统从待计算数据集合中提取对应于所述计算任务的数据子集进行数据计算;当探测到任一状态正常的计算子系统发生状态异常时,基于所述预设的任务分配策略针对当前状态正常的计算子系统重新分配计算任务。
【技术特征摘要】
1.一种基于Jstorm的实时计算方法,其特征在于,应用于实时计算系统中的仲裁子系统,所述实时计算系统还包括基于Jstorm架构的若干计算子系统;所述若干计算子系统采用分布式部署;包括:基于各计算子系统定时发送的心跳消息探测所述若干计算子系统中状态正常的计算子系统;基于预设的任务分配策略为探测到的各状态正常的计算子系统分别分配计算任务,以由各计算子系统从待计算数据集合中提取对应于所述计算任务的数据子集进行数据计算;当探测到任一状态正常的计算子系统发生状态异常时,基于所述预设的任务分配策略针对当前状态正常的计算子系统重新分配计算任务。2.根据权利要求1所述的方法,其特征在于,所述计算子系统为包含多个计算节点的分布式系统;所述基于各计算子系统定时发送的心跳消息探测所述若干计算子系统中状态正常的计算子系统,包括:接收各计算子系统中的各计算节点定时发送的心跳消息;统计各计算子系统中成功接收到所述心跳消息的计算节点数量;当在所述心跳消息的定时发送周期内,成功接收到任一计算子系统中所有计算节点发送的心跳消息时,确定该计算子系统状态正常。3.根据权利要求2所述的方法,其特征在于,还包括:当在所述心跳消息的定时发送周期内,未成功接收到任一计算子系统中所有计算节点发送的心跳消息,并且未成功接收到所述心跳消息的计算节点的数量对应于该计算子系统的计算节点总数量的占比达到预设阈值时,则确定该计算子系统状态异常;当在所述心跳消息的下一定时发送周期内,成功接收到状态异常的计算子系统中所有计算节点发送的心跳信息,则确定该计算子系统状态异常恢复。4.根据权利要求1所述的方法,其特征在于,还包括:当探测到任一状态异常的计算子系统状态异常恢复时,基于所述预设的任务分配策略针对当前状态正常的计算子系统重新分配计算任务。5.根据权利要求1或4所述的方法,其特征在于,所述预设的分配策略包括:获取各计算子系统的标识信息;针对各计算子系统的标识信息进行排序;基于针对各计算子系统的标识信息进行排序后的顺序,为各计算子系统分别分配对应的计算任务,并生成对应的任务编号。6.根据权利要求1所述的方法,其特征在于,所述若干计算子系统分布式部署于物理地域不同的数据中心。7.一种基于Jstorm的实时计算方法,其特征在于,应用于实时计算系统中的任一计算子系统,所述实时计算系统包括仲裁子系统,以及基于Jstorm架构的若干计算子系统;所述若干计算子系统采用分布式部署;包括:定时向仲裁子系统发送心跳消息,以由所述仲裁子系统基于所述心跳消息探测所述若干计算子系统中状态正常的计算子系统,并为状态正常的计算子系统分配计算任务;获取所述仲裁子系统分配的计算任务,基于预设的数据提取策略从待计算数据集合中提取对应于所述计算任务的数据子集进行数据计算;判断仲裁子系统分配的计算任务是否发生更新;当所述仲裁子系统分配的计算任务发生更新时,基于所述预设的数据提取策略从预设的待计算数据集合中重新提取对应于更新后的计算任务的数据子集进行数据计算。8.根据权利要求7所述的方法,其特征在于,所述计算子系统为包含多个计算节点的分布式系统;所述定时向仲裁子系统发送心跳消息,包括:通过计算子系统中的各计算节点定时分别向所述仲裁子系统发送心跳消息。9.根据权利要求7所述的方法,其特征在于,所述预设的数据提取策略,包括:创建对应于所述计算任务的任务编号的数据子集;将所述待计算数据集合中的待计算数据条目的数据编号,与所述仲裁子系统探测到的所述若干计算子系统中的状态正常的计算子系统的数量进行取余逻辑运算;将所述取余逻辑运算的结果与所述计算任务对应的任务编号进行匹配;当任一待计算数据条目的所述取余逻辑运算的结果,与所述计算任务对应的任务编号匹配时,提取该待计算处理条目,并将该待计算数据条目存储至与该计算任务对应的所述数据子集中。10.根据权利要求7所述的方法,其特征在于,所述判断仲裁子系统分配的计算任务是否发生更新,包括:将所述计算任务对应的任务编号,与所述仲裁子系统探测到的所述若干计算子系统中的状态正常的计算子系统的数量进行异或逻辑运算;判断所述异或逻辑运算的结果是否发生变化;如果所述异或逻辑运算的结果发生变化,则确定仲裁子系统分配的计算任务发生变化。11.根据权利要求7所述的方法,其特征在于,所述若干计算子系统分布式部署于物理地域不同的数据中心。12.一种基于Jstorm的实时计算装置,其特征在于,应用于实时计算系统中的仲裁子系统,所述实时计算系统还包括基于Jstorm架构的若干计算子系统;所述若干计算子系统采用分布式部署;包括:探测模块,基于各计算子系统定时发送的心跳消息探测所述若干计算子系统中状态正常的计算子系统;分配模块,基于预设的任务分配策略为探测到的各状态正常的计算子系统分别分配计算任务,以由各计算子系统从待计算数据集合中提取对应于所述...
【专利技术属性】
技术研发人员:马文琪,程磊,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。