流计算方法、装置及系统制造方法及图纸

技术编号:17247925 阅读:51 留言:0更新日期:2018-02-11 05:57
本发明专利技术公开了一种流计算方法、装置及系统,属于大数据计算领域。所述方法包括:管理节点获取输入通道描述信息、SQL语句和输出通道描述信息;根据输入通道描述信息、SQL语句和输出通道描述信息生成流图;根据流图控制工作节点执行流计算任务。本发明专利技术一定程度上解决了目前的流计算系统提供的基本算子的功能粒度太细,导致构建流图的复杂度较高且性能较差的问题;由于SQL是较为常见的数据库管理语言,由用户利用SQL语言的编程语言特性,采用SQL语句对流图的处理逻辑进行定义,由管理节点按照SQL语句所定义的处理逻辑动态生成流图,从而提高构建流图的易用性和流图的整体计算性能。

【技术实现步骤摘要】
流计算方法、装置及系统
本专利技术实施例涉及大数据计算领域,特别涉及一种流计算方法、装置及系统。
技术介绍
在诸如金融服务、传感监测和网络监控之类的应用领域中,数据流具有实时性、易失性、突发性、无序性和无限性等特征。流计算(Streamcomputing)系统作为一种能对实时的数据流进行计算处理的系统,得到了越来越广泛的应用。流计算系统中部署的流式应用(通常也成为流应用)的处理逻辑可以采用有向无环图(DirectedAcyclicGraph,DAG)来表征,该DAG也称为流图。参考图1,流应用的处理逻辑采用流图100进行表征。该流图100中的每一个有向边代表一个数据流(Stream),每个节点代表一个算子(Operator),图中每个算子具有至少一条输入数据流和至少一条输出数据流。算子是流计算系统中可被调度执行计算任务的最小单元,算子也可称为执行算子。在将流应用部署到流计算系统时,需要由用户事先为流应用构建流图,然后流应用以流图的形式在流系统中编译和运行,以执行对数据流的处理任务。流计算系统向用户提供集成开发环境(IntegratedDevelopmentEnvironment,ID本文档来自技高网...
流计算方法、装置及系统

【技术保护点】
一种流计算方法,其特征在于,应用于包括管理节点和工作节点的流计算系统中,所述方法包括:所述管理节点从客户端获取输入通道描述信息、结构化查询语言SQL语句和输出通道描述信息;所述管理节点根据所述输入通道描述信息、所述SQL语句和所述输出通道描述信息生成流图,所述流图用于定义执行流计算任务的多个算子的计算逻辑以及所述多个算子之间数据流的输入输出关系;所述管理节点根据所述流图控制所述工作节点执行所述流计算任务;其中,所述输入通道描述信息用于定义输入通道,所述输入通道是用于将来自数据生产系统的数据流输入所述流图的逻辑通道;所述输出通道描述信息用于定义输出通道,所述输出通道是用于将所述流图的输出数据流输...

【技术特征摘要】
1.一种流计算方法,其特征在于,应用于包括管理节点和工作节点的流计算系统中,所述方法包括:所述管理节点从客户端获取输入通道描述信息、结构化查询语言SQL语句和输出通道描述信息;所述管理节点根据所述输入通道描述信息、所述SQL语句和所述输出通道描述信息生成流图,所述流图用于定义执行流计算任务的多个算子的计算逻辑以及所述多个算子之间数据流的输入输出关系;所述管理节点根据所述流图控制所述工作节点执行所述流计算任务;其中,所述输入通道描述信息用于定义输入通道,所述输入通道是用于将来自数据生产系统的数据流输入所述流图的逻辑通道;所述输出通道描述信息用于定义输出通道,所述输出通道是用于将所述流图的输出数据流输出至数据消费系统的逻辑通道。2.根据权利要求1所述的方法,其特征在于,所述SQL语句包括若干条SQL规则,每条SQL规则包括至少一条SQL子语句;所述管理节点根据所述输入通道描述信息、所述SQL语句和所述输出通道描述信息生成流图,包括:所述管理节点根据所述输入通道描述信息、所述若干条SQL规则和所述输出通道描述信息生成第一流图,所述第一流图包括若干个逻辑节点;所述管理节点将所述第一流图中的各个逻辑节点进行划分,以得到若干个逻辑节点组;在预设算子库中选择每个所述逻辑节点组对应的公共算子,并根据选择出的所述公共算子生成第二流图;所述第二流图中的每个算子用于实现所述算子对应的逻辑节点组中的一个或多个逻辑节点的功能。3.根据权利要求2所述的方法,其特征在于,所述第一流图包括通过有向边相连的源逻辑节点、中间逻辑节点和目标逻辑节点;所述第二流图包括通过有向边相连的源算子、中间算子和目标算子。4.根据权利要求3所述的方法,其特征在于,所述管理节点根据所述输入通道描述信息、所述若干条SQL规则和所述输出通道描述信息生成第一流图,包括:所述管理节点根据所述输入通道描述信息生成所述第一流图中的所述源逻辑节点,所述源逻辑节点用于接收来自所述数据生产系统的输入数据流;所述管理节点根据每条所述SQL规则中的选择子语句生成所述第一流图中的所述中间逻辑节点,所述中间逻辑节点用于指示对所述输入数据流进行计算时的计算逻辑,每个中间逻辑节点对应一条SQL规则;所述管理节点根据所述输出通道描述信息生成所述第一流图中的目标逻辑节点,所述目标逻辑节点用于向所述数据消费系统发送输出数据流;所述管理节点根据每条所述SQL规则中的输入子语句和/或输出子语句,生成所述源逻辑节点、所述中间逻辑节点以及所述目标逻辑节点之间的有向边。5.根据权利要求3或4所述的方法,其特征在于,所述预设算子库包括:公共源算子、公共中间算子和公共目标算子;所述在预设算子库中选择每个所述逻辑节点组对应的公共算子,并根据选择出的所述公共算子生成第二流图包括:编译所述公共源算子以得到所述第二流图中的源算子;在所述预设算子库中为每个包括所述中间逻辑节点的所述逻辑节点组选择出至少一个公共中间算子,编译选择出的所述公共中间算子以得到所述第二流图中的中间算子;编译所述公共目标算子以得到所述第二流图中的目标算子;根据所述源逻辑节点、所述中间逻辑节点与所述目标逻辑节点之间的有向边,生成所述第二流图中的各个算子之间的有向边。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:所述管理节点接收来自所述客户端的第一修改信息,所述第一修改信息是对所述SQL规则进行修改的信息;所述管理节点根据所述第一修改信息对所述第二流图中对应的所述中间算子进行增加、修改或删除。7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:所述管理节点接收来自所述客户端的第二修改信息,所述第二修改信息是对所述输入通道描述信息进行修改的信息;根据所述第二修改信息对所述第二流图中的所述源算子进行增加、修改或删除;和/或,所述管理节点接收来自所述客户端的第三修改信息,所述第三修改信息是对所述输出通道描述信息进行修改的信息;根据所述第三修改信息对所述第二流图中的所述目标算子进行增加、修改或删除。8.根据权利要求2至5任一所述的方法,其特征在于,所述流计算系统包括多个工作节点,所述管理节点根据所述流图控制所述工作节点执行所述流计算任务,包括:所述管理节点将所述第二流图中的各个所述算子调度至所述流计算系统中的至少一个工作节点中,所述至少一个工作节点用于执行所述算子;所述管理节点根据每个所述算子的所述输出数据流,生成与所述算子对应的订阅发布信息,向所述算子配置所述订阅发布信息;所述管理节点根据每个所述算子的所述输入数据流,生成与所述算子对应的输入流定义信息,向所述算子配置所述输入流定义信息;其中,所述订阅发布信息用于指示与当前算子...

【专利技术属性】
技术研发人员:史云龙方丰斌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1