基于多模式切换的RDMA友好的SPARQL查询方法与流程

文档序号:12465119阅读:来源:国知局

技术特征:

1.一种基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述基于多模式切换的RDMA友好的SPARQL查询方法包括以下步骤:

步骤一,收到消息并判断消息类型;

步骤二,执行一步SPARQL查询,用图遍历的方法找到符合条件的新节点;

步骤三,判断请求是否执行结束,是则返回回复;否则执行步骤四;

步骤四,判断执行请求的下一步时,需要的RDMA操作数是否大于等于某个事先约定的临界值;是则执行步骤五;否则执行步骤六;

步骤五,生成新的子请求,发给其他机器,并记录需要等待的回复个数;

步骤六,当所需RDMA操作数小于临界值时,直接读取远程的数据,完成下一步请求,并回到步骤三。

2.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述步骤一中,若判断消息类型是请求,则执行步骤二,若判断消息类型是回复,则存储回复;若已经收到所需的全部回复,则合并所有回复为一个完整的回复,返回给之前发送请求的机器;若还未受到所需的全部回复,则结束处理,继续等待下一个消息。

3.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述步骤二包括如下步骤:由请求的发送者保证,请求的所有起始点一定是在本地的;从本地存储中,找到所有的起始点;遍历所有起始点的边数据,获得满足这一步查询的所有终止点的ID。

4.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述步骤四包括如下步骤:根据之前的执行结果,获得下一步请求的所有起始点的ID;计算每个起始点的所属机器,统计不属于本机的起始点的个数,即执行请求的下一步需要的RDMA操作数;若RDMA操作数小于临界值,则执行步骤六,否则执行步骤五。

5.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述步骤五包括如下步骤:对下一步请求的所有起始点的ID,计算他们的所属机器;按照所属机器,将请求划分为多个子请求,所属机器相等的起始点被划分到同一个子请求中;将所有子请求发送给对应的机器,并记录需要等待的回复个数。

6.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述步骤六包括如下步骤:对下一步请求的所有起始点的ID,计算他们的所属机器,并计算起始点的数据在所属机器的位置,直接使用RDMA请求将起始点的边数据读取到本地;遍历边数据,获得满足这一步查询的所有终止点的ID;之后回到步骤三。

7.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述基于多模式切换的RDMA友好的SPARQL查询方法使用RDMA WRITE实现高效的消息收发机制。

8.如权利要求1所述的基于多模式切换的RDMA友好的SPARQL查询方法,其特征在于,所述基于多模式切换的RDMA友好的SPARQL查询方法使用本地执行模式和Fork-join模式处理SPARQL。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1