用于静态分布式计算架构的数据交换系统及其方法技术方案

技术编号:24362698 阅读:17 留言:0更新日期:2020-06-03 04:01
本发明专利技术公开了一种用于静态分布式计算架构的跨计算数据交换系统,所述静态分布式计算架构至少含有第一计算设备和第二计算设备,所述系统包括多个数据执行体、部署在每台计算机上的一个数据搬运请求汇集组件以及消息传输总线,其中第二计算设备上的第二数据执行体从其消息仓向第一计算设备上的第一搬运执行体发出指明可以读取数据的第二消息;第一搬运执行体在接收到所述第二消息时,其有限状态机改变状态以触发操作组件向第一数据搬运请求汇集组件发出执行读取数据的操作的第一命令;以及第一数据搬运请求汇集组件在接收到第一命令后,基于第一命令中所包含的读取描述,将第二输出数据缓存中的数据搬运到第一搬运执行体的第一输出数据缓存中。

Data exchange system and method for static distributed computing architecture

【技术实现步骤摘要】
用于静态分布式计算架构的数据交换系统及其方法
本公开涉及一种数据交换技术,更具体地说,本公开涉及一种用于静态分布式架构中实现数据交换的系统及其方法。
技术介绍
随着分布式计算的普及,大型的作业会通过分割而将不同部分的数据部署到不同的分布式数据处理系统的各个计算设备上进行处理,这样,在具体作业的处理过程中,部署在一个计算设备上的计算中间参数或结果会成为另一个计算设备上的计算任务的输入数据,这样为了实现中间参数的数据同步,这会引起计算设备之间的数据传输的调用开销。而网络通信调用往往是个瓶颈,然后网络性能通信的性能不好,就会影响多机分布式数据处理架构的加速比和扩展性。随着数据搬运或数据交换在静态分布式数据处理架构中与数据运算一样被重视,因此在一些静态分布式架构中,将数据搬运任务固定在特定的搬运执行体中来实现,从而使得数据搬运操作与运算操作能够同等重要,从而实现数据交换中的异步的通信,从而减少两个调用的时间的开销。但是如何在静态分布式架构中预先将搬运过程配置为任务节点的情况下实现设备间的数据搬运就成为需要解决的一个问题。
技术实现思路
本专利技术的目的是解决至少上述问题之一,具体而言,本公开提供一种用于静态分布式计算架构的跨计算数据交换系统,所述静态分布式计算架构至少含有第一计算设备和第二计算设备,所述系统包括多个含有消息仓、状态机组件、操作组件以及输出数据缓存的数据执行体、部署在每台计算机上的一个数据搬运请求汇集组件以及消息传输总线,其中第二计算设备上的第二数据执行体在其第二输出数据缓存已经被写入新数据从其消息仓向第一计算设备上的第一搬运执行体发出指明可以读取第二输出数据缓存中的数据的第二消息;第一计算设备上的第一搬运执行体在经由第二计算机上的第二消息传输总线和第二数据搬运请求汇集组件以及第一计算设备上的第一数据搬运请求汇集组件和第一消息传输总线接收到所述第二消息时,其有限状态机改变状态以触发操作组件向第一数据搬运请求汇集组件发出执行读取第二输出数据缓存中的数据的操作的第一命令;以及第一数据搬运请求汇集组件在接收到第一搬运执行体的第一命令后,基于第一命令中所包含的读取描述,采用直接远程数据访问协议直接读取第二输出数据缓存中的数据并存储到第一搬运执行体的第一输出数据缓存中或者采用以太网协议请求第二数据搬运请求汇集组件读取第二输出数据缓存中的数据并接收第二数据搬运请求汇集组件发送来的数据以便存储到第一搬运执行体的第一输出数据缓存中。根据公开的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件包括:请求描述队列管理单元,用于在计算架构初始化时针对存在通信连接关系的第一计算设备和第二计算设备生成一个或多个第一请求描述队列;数据读取单元,基于第一搬运执行体的发出第一命令,将第一命令中的读取描述插入与第一搬运执行体对应的第一请求描述队列;以及回调任务单元,基于第一搬运执行体的发出第一命令,第一请求描述队列中的所述读取描述之后插入一个或多个读取回调描述,并所述读取回调描述在出队时被执行。根据公开的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件的数据通信单元基于所述请求描述队列管理单元中的请求描述队列中的每个读取描述,采用第一计算设备和第二计算设备之间的直接远程数据访问协议直接读取第二输出数据缓存中的数据并存储到第一搬运执行体的第一输出数据缓存中。根据公开的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件的数据通信单元为第一套接字单元,其基于所述请求描述队列管理单元中的请求描述队列中的每个读取描述,采用以太网协议请求第二数据搬运请求汇集组件的第二数据通信单元的第二套接字单元读取并发送第二输出数据缓存中的数据。根据公开的用于静态分布式计算架构的数据交换系统,其中所述第一套接字单元在接收到作为第一数据搬运请求汇集组件的数据通信单元的第二套接字单元发送的数据写入请求消息后,返回含有数据头部的数据读取请求消息,并将第二输出数据缓存中的数据按照预定的大小以消息方式发送到第一套接字单元以便其接收。根据公开的用于静态分布式计算架构的数据交换系统,其中所述第一搬运执行体监听第一请求描述队列中的读取回调描述的出队执行结果,并在读取回调描述的出队执行结果发生变化时,所述第一搬运执行体的消息仓向第一输出数据缓存的下游的第一数据执行体发送第一消息以及经由第一数据搬运请求汇集组件、第二数据搬运请求汇集组件以及消息传输总线向第二数据执行体发送反馈消息。根据公开的用于静态分布式计算架构的数据交换系统,其中所述读取描述包含了所要读取数据源地址和目的地地址以及数据大小、类型。根据公开的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件还包括:内存注册单元,用于将第一输出数据缓存和第二输出数据缓存注册为锁页内存。根据公开的另一个方面,提供了一种用于静态分布式计算架构的数据交换方法,所述静态分布式计算架构至少含有第一计算设备和第二计算设备,所述系统包括多个含有消息仓、状态机组件、操作组件以及输出数据缓存的数据执行体、部署在每台计算机上的一个数据搬运请求汇集组件以及消息传输总线,所述方法包括:数据可读消息发送步骤,第二计算设备上的第二数据执行体在其第二输出数据缓存已经被写入新数据从其消息仓向第一计算设备上的第一搬运执行体发出指明可以读取第二输出数据缓存中的数据的第二消息;数据传输命令发起步骤,第一计算设备上的第一搬运执行体在经由第二计算机上的第二消息传输总线和第二数据搬运请求汇集组件以及第一计算设备上的第一数据搬运请求汇集组件和第一消息传输总线接收到所述第二消息时,其有限状态机改变状态以触发操作组件向第一数据搬运请求汇集组件发出执行读取第二输出数据缓存中的数据的操作的第一命令;以及数据交换执行步骤,第一数据搬运请求汇集组件在接收到第一搬运执行体的第一命令后,基于第一命令中所包含的读取描述,采用直接远程数据访问协议直接读取第二输出数据缓存中的数据并存储到第一搬运执行体的第一输出数据缓存中或者采用以太网协议请求第二数据搬运请求汇集组件读取第二输出数据缓存中的数据并接收第二数据搬运请求汇集组件发送来的数据以便存储到第一搬运执行体的第一输出数据缓存中。根据公开的用于静态分布式计算架构的数据交换方法,其中所述数据交换执行步骤包括:请求描述队列生成步骤,通过请求描述队列管理单元在计算架构初始化时针对存在通信连接关系的第一计算设备和第二计算设备生成一个或多个第一请求描述队列;读取描述插入步骤,通过数据读取单元,基于第一搬运执行体的发出第一命令,将第一命令中的读取描述插入与第一搬运执行体对应的第一请求描述队列;以及回调任务插入步骤,通过回调任务单元,基于第一搬运执行体的发出第一命令,第一请求描述队列中的所述读取描述之后插入一个或多个读取回调描述,并所述读取回调描述在出队时被执行。根据公开的用于静态分布式计算架构的数据交换方法,所述数据交换执行步骤包括:所述第一数据搬运请求汇集组件的数据通信单元基于所述请求描述队列管理单元中的请求描述队列中本文档来自技高网...

【技术保护点】
1.一种用于静态分布式计算架构的跨计算数据交换系统,所述静态分布式计算架构至少含有第一计算设备和第二计算设备,所述系统包括多个含有消息仓、状态机组件、操作组件以及输出数据缓存的数据执行体、部署在每台计算机上的一个数据搬运请求汇集组件以及消息传输总线,其中/n第二计算设备上的第二数据执行体在其第二输出数据缓存已经被写入新数据从其消息仓向第一计算设备上的第一搬运执行体发出指明可以读取第二输出数据缓存中的数据的第二消息;/n第一计算设备上的第一搬运执行体在经由第二计算机上的第二消息传输总线和第二数据搬运请求汇集组件以及第一计算设备上的第一数据搬运请求汇集组件和第一消息传输总线接收到所述第二消息时,其有限状态机改变状态以触发操作组件向第一数据搬运请求汇集组件发出执行读取第二输出数据缓存中的数据的操作的第一命令;以及/n第一数据搬运请求汇集组件在接收到第一搬运执行体的第一命令后,基于第一命令中所包含的读取描述,采用直接远程数据访问协议直接读取第二输出数据缓存中的数据并存储到第一搬运执行体的第一输出数据缓存中或者采用以太网协议请求第二数据搬运请求汇集组件读取第二输出数据缓存中的数据并接收第二数据搬运请求汇集组件发送来的数据以便存储到第一搬运执行体的第一输出数据缓存中。/n...

【技术特征摘要】
1.一种用于静态分布式计算架构的跨计算数据交换系统,所述静态分布式计算架构至少含有第一计算设备和第二计算设备,所述系统包括多个含有消息仓、状态机组件、操作组件以及输出数据缓存的数据执行体、部署在每台计算机上的一个数据搬运请求汇集组件以及消息传输总线,其中
第二计算设备上的第二数据执行体在其第二输出数据缓存已经被写入新数据从其消息仓向第一计算设备上的第一搬运执行体发出指明可以读取第二输出数据缓存中的数据的第二消息;
第一计算设备上的第一搬运执行体在经由第二计算机上的第二消息传输总线和第二数据搬运请求汇集组件以及第一计算设备上的第一数据搬运请求汇集组件和第一消息传输总线接收到所述第二消息时,其有限状态机改变状态以触发操作组件向第一数据搬运请求汇集组件发出执行读取第二输出数据缓存中的数据的操作的第一命令;以及
第一数据搬运请求汇集组件在接收到第一搬运执行体的第一命令后,基于第一命令中所包含的读取描述,采用直接远程数据访问协议直接读取第二输出数据缓存中的数据并存储到第一搬运执行体的第一输出数据缓存中或者采用以太网协议请求第二数据搬运请求汇集组件读取第二输出数据缓存中的数据并接收第二数据搬运请求汇集组件发送来的数据以便存储到第一搬运执行体的第一输出数据缓存中。


2.根据权利要求1所述的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件包括:
请求描述队列管理单元,用于在计算架构初始化时针对存在通信连接关系的第一计算设备和第二计算设备生成一个或多个第一请求描述队列;
数据读取单元,基于第一搬运执行体的发出第一命令,将第一命令中的读取描述插入与第一搬运执行体对应的第一请求描述队列;以及
回调任务单元,基于第一搬运执行体的发出第一命令,第一请求描述队列中的所述读取描述之后插入一个或多个读取回调描述,并所述读取回调描述在出队时被执行。


3.根据权利要求2所述的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件的数据通信单元为第一远程直接数据存取单元,其基于所述请求描述队列管理单元中的请求描述队列中的每个读取描述,采用第一计算设备和第二计算设备之间的直接远程数据访问协议直接读取第二输出数据缓存中的数据并存储到第一搬运执行体的第一输出数据缓存中。


4.根据权利要求2所述的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件的数据通信单元为第一套接字单元,其基于所述请求描述队列管理单元中的请求描述队列中的每个读取描述,采用以太网协议请求第二数据搬运请求汇集组件的第二数据通信单元的第二套接字单元读取并发送第二输出数据缓存中的数据。


5.根据权利要求4所述的用于静态分布式计算架构的数据交换系统,其中所述第一套接字单元在接收到作为第一数据搬运请求汇集组件的数据通信单元的第二套接字单元发送的数据写入请求消息后,返回含有数据头部的数据读取请求消息,并将第二输出数据缓存中的数据按照预定的大小以消息方式发送到第一套接字单元以便其接收。


6.根据权利要求3-5之一所述的用于静态分布式计算架构的数据交换系统,其中所述第一搬运执行体监听第一请求描述队列中的读取回调描述的出队执行结果,并在读取回调描述的出队执行结果发生变化时,所述第一搬运执行体的消息仓向第一输出数据缓存的下游的第一数据执行体发送第一消息以及经由第一数据搬运请求汇集组件、第二数据搬运请求汇集组件以及消息传输总线向第二数据执行体发送反馈消息。


7.根据权利要求6所述的用于静态分布式计算架构的数据交换系统,其中所述读取描述包含了所要读取数据源地址和目的地地址以及数据大小、类型。


8.根据权利要求1所述的用于静态分布式计算架构的数据交换系统,其中所述第一数据搬运请求汇集组件还包括:
内存注册单元,用于将第一输出数据缓存和第二输出数据缓存注册为锁页内存。


9.一种用于静态分布式计算架构的数据交换方法,所述静态分布式计算架构至少含有第一计算设备和第二计算设...

【专利技术属性】
技术研发人员:袁进辉上官士源蔡晟航张文骁
申请(专利权)人:北京一流科技有限公司
类型:发明
国别省市:北京;11

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

1