执行体及其数据处理方法技术

技术编号:23671978 阅读:72 留言:0更新日期:2020-04-04 17:32
本公开提供了一种执行体,包括部署在CPU上的上游消息发送/接收单元和下游消息发送/接收单元的消息仓、有限状态机以及任务插入组件以及部署在外部设备或CPU本地的任务处理组件,每个任务处理组件包括数据运算单元以及与一个或多个输出数据缓存,其中有限状态机基于所接收到的消息以及发送消息而改变状态;所述任务插入组件在预定条件时将具体任务或附有回调事件的具体任务排列其所属的任务流中以及同时向部署在CPU上的用于控制任务流并行的回调线程组件插入回调任务;以及所述运算单元在任务顺序到来时读取上游数据并执行预定的操作,并将结果数据存储在所述执行体的输出数据缓存中。

Executor and its data processing method

【技术实现步骤摘要】
执行体及其数据处理方法
本公开涉及一种数据处理技术。更具体地说,本公开涉及一种用于异构架构的静态分布式数据处理系统中的数据执行体以及其数据处理方法。
技术介绍
在静态分布式数据处理系统中,数据处理系统基于用户对作业的描述,将计算任务分解成多个小的计算任务部署到整个数据处理系统中的各个计算设备上,并通过各个计算设备上创建的数据执行体来基于彼此之间的关系在数据处理路径中按照预定的时序完成指定的数据处理,并最终实现作业处理要求。通过将执行体编入指定的CPU线程后,执行体之间可以按照彼此的上下游关系和时序按序执行,因此,整个数据处理系统并不需要进行中心调度,从而消除了调度开销。尤其是当大量执行体的任务处理组件布置在同一计算设备上时,能够消除对设备间数据通信的开销。然而,这种处于同一数据处理路径中的上下游执行体需要上游执行体等待其下游执行体使用完其所产生的数据之后,才能后开始进行将任务插入任务流中的操作,这会极大地占用CPU线程运行时间,导致线程运行的堵塞,降低了线程的运行效率。因此,人们期望获得一种用于异构架构的数据处理系统的数据执行体本文档来自技高网...

【技术保护点】
1.一种执行体,其处于一种执行体网络中,与上游执行体和/或下游执行体进行数据通信,所述执行体包括部署在CPU上的上游消息发送/接收单元和下游消息发送/接收单元的消息仓、有限状态机以及任务插入组件以及部署在外部设备或CPU本地的任务处理组件,每个任务处理组件包括数据运算单元以及与一个或多个输出数据缓存,其中/n所述有限状态机基于消息仓中所接收到的消息以及发送消息而改变执行体的当前状态;/n所述任务插入组件在有限状态机处于预定条件的状态时,如果触发所述预定条件的各个消息所属的上游执行体和/或下游执行体所属的任务流与所述执行体所属的任务流相同,则只将所述执行体的具体任务排列在其所属的任务流中并向其对...

【技术特征摘要】
1.一种执行体,其处于一种执行体网络中,与上游执行体和/或下游执行体进行数据通信,所述执行体包括部署在CPU上的上游消息发送/接收单元和下游消息发送/接收单元的消息仓、有限状态机以及任务插入组件以及部署在外部设备或CPU本地的任务处理组件,每个任务处理组件包括数据运算单元以及与一个或多个输出数据缓存,其中
所述有限状态机基于消息仓中所接收到的消息以及发送消息而改变执行体的当前状态;
所述任务插入组件在有限状态机处于预定条件的状态时,如果触发所述预定条件的各个消息所属的上游执行体和/或下游执行体所属的任务流与所述执行体所属的任务流相同,则只将所述执行体的具体任务排列在其所属的任务流中并向其对应的任务处理组件发出运算指令,并且所述消息仓立即向触发所述预定条件的所有消息所属的上游和/或下游执行体发送消息;如果触发预定条件的任何消息之一所属的执行体所属的任务流与所述执行体所属的任务流不相同,则将其后附有回调事件的具体任务排列其所属的任务流中以及同时向部署在CPU上的用于控制任务流并行的回调线程组件插入回调任务,并向其对应的任务处理组件发出运算指令;以及
所述运算单元在所述任务流中被指派给自身的任务顺序到来时读取上游执行体所对应输出数据缓存中的数据并执行预定的操作,并将执行操作后的结果数据存储在所述执行体的输出数据缓存中。


2.根据权利要求1所述的执行体,其中,
所述有限状态机的预定条件的状态包括一个或多个满足上游部分预定条件的第一上游状态和满足上游完全预定条件的第二上游状态,所述任务插入组件将所述执行体的针对触发所述一个或多个第一上游状态之一的或触发所述第二上游状态的上游执行体之一的具体任务排列在其所属的任务流中;以及
所述消息仓在有限状态机处于一个或多个第一上游状态之一时,只由上游消息发送/接收单元向触发所述一个或多个第一上游状态之一的上游执行体发送消息,以及只有在有限状态机处于第二上游状态时下游消息发送/接收单元才向下游执行体发送消息以及上游消息发送/接收单元向触发所述第二上游状态的上游执行体发送消息。


3.根据权利要求1所述的执行体,其中所述执行体的输出数据缓存之一为其上游执行体之一的输出数据缓存之一,并且只有在有限状态机的处于接收到所述执行体的所述输出数据缓存之一的所有下游执行体的反馈消息的预定条件的第三下游状态时,所述执行体的消息仓的上游消息发送/接收单元才向所述上游执行体发送消息。


4.根据权利要求1所述的执行体,其中
所述有限状态机的预定条件的状态包括满足一个或多个下游部分预定条件的第四下游状态和满足下游完全预定条件的第五下游状态;以及
所述任务插入组件在有限状态机处于所述一个或多个第四下游状态之一时将所述执行体的具体任务排列在其所属的任务流中并且所述消息仓只有下游消息发送/接收单元立即向下游执行体发送消息,以及所述消息仓的上游消息发送/接收单元直到所述任务插入组件在有限状态机处于所述第五下游状态而将所述执行体的具体任务排列在其所属的任务流中时才立即向上游执行体发送消息。


5.根据权利要求1所述的执行体,其中
所述有限状态机的预定条件的状态包括满足一个或多个上游部分预定条件的第六上游状态和满足上游完全预定条件的第七上游状态;以及
所述任务插入组件在有限状态机处于所述一个或多个第六上游状态之一时将所述执行体的具体任务排列在其所属的任务流中并且所述消息仓只有上游消息发送/接收单元立即向上游执行体发送消息,以及所述消息仓的下游消息发送/接收单元直到所述任务插入组件在有限状态机处于所述第七上游状态而将所述执行体的具体任务排列在其所属的任务流中时才立即向下游执行体发送消息并且上游消息发送/接收单元也立即向上游执行体发送消息。


6.一种在执行体网络中进行数据处理的方法,所述执行体网络中的执...

【专利技术属性】
技术研发人员:牛冲柳俊丞袁进辉成诚李新奇蔡晟航张文骁姜雪飞
申请(专利权)人:北京一流科技有限公司
类型:发明
国别省市:北京;11

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

1