[发明专利]一种用于分布式环境下的数据传输方法有效

专利信息
申请号: 201810092907.3 申请日: 2018-01-31
公开(公告)号: CN108429635B 公开(公告)日: 2021-01-05
发明(设计)人: 姜瑛;戴媛清;丁家满;汪海涛;刘英莉;李凌宇 申请(专利权)人: 昆明理工大学
主分类号: H04L12/24 分类号: H04L12/24
代理公司: 暂无信息 代理人: 暂无信息
地址: 650093 云*** 国省代码: 云南;53
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种用于分布式环境下的数据传输方法,属于分布式环境下的数据传输领域。本发明通过获取当前节点的前驱节点数和后继节点数决定执行不同的传输策略。本发明定义了分布式环境中节点间的数据传输关系,这样有助于减少当前节点传输的不确定性;其次,所有节点之间传输模式都采用混合推拉的模式,每个节点根据实际情况来进行混合推拉并行传输,这样可以减少数据的传输时间,提高整体的传输效率。
搜索关键词: 一种 用于 分布式 环境 数据传输 方法
【主权项】:
1.一种用于分布式环境下的数据传输方法,其特征在于:所述方法的具体步骤如下:S1、首先获取当前节点的前驱节点数PreNum和后继节点数SubNum:将分布式环境下节点拓扑结构由有向图组成,通过有向图的邻接矩阵来存储分布式节点拓扑结构图,根据当前节点Vcurrent∈V找到其在邻接矩阵中对应的列,查找值为1对应的行名即为Vcurrent的前驱节点;根据当前节点Vcurrent找到其在邻接矩阵中对应的行,查找值为1对应的列名即为Vcurrent的后继节点;最后获得的前驱节点数PreNum即为前驱节点集合Vpre中元素的个数,获得后继节点数SubNum即为后继节点集合Vnext中元素的个数;其中,V代表图中顶点的非空有限集合,0表示两个相邻节点没有传输关系,1表示两个相邻节点有传输关系;S2、如果PreNum=0并且SubNum≥1时,执行步骤S2.0;S2.0、初始化i=1,j=1,保持Vcurrent上一次推送的数据:c_now=0.0;S2.1、根据获取的前驱节点数PreNum和后继节点数SubNum,执行S2.2;S2.2、判断Vcurrent的Datacurrent是否符合推送:如果符合推送,exist=true,执行S2.3;否则,执行S2.8;S2.3、判断i≤SubNum:如果是,执行S2.4;否则,执行S2.12;S2.4、并行获取Vcurrent的Vnext_i的拉请求reqFlag;执行S2.5;S2.5、判断Vnext_i的reqFlag=“pull”:如果是,执行S2.6;否则,执行S2.7;S2.6、Datacurrent被Vnext_i拉取,i++,执行S2.3;S2.7、Vcurrent将Datacurrent向Vnext_i进行推送;i++;执行S2.3;S2.8、判断j≤SubNum:如果是,执行S2.9;否则,执行S2.12;S2.9、并行获取Vcurrent的Vnext_j的拉请求reqFlag;执行S2.10;S2.10、判断Vnext_j的reqFlag=“pull”:如果是,执行S2.11;否则,j++,执行S2.8;S2.11、Datacurrent被Vnext_j拉取;j++;执行S2.8;S2.12、c_now=Datacurrent;结束;其中,Vcurrent表示当前节点,Vpre代表Vcurrent的前驱节点集合,Vnext代表Vcurrent的后继节点集合;Vpre集合中的元素:Vpre={Vpre_t|Vpre_t∈V},t=1,2,…,PreNum;Vnext集合中的元素:Vnext={Vnext_s|Vnext_s∈V},s=1,2,…,SubNum;前驱节点数PreNum即为前驱节点集合Vpre中元素的个数;后继节点数SubNum即为后继节点集合Vnext中元素的个数;exist表示数据就绪标记;reqFlag表示监听拉请求标记,Datacurrent表示Vcurrent获取的当前数据;S3、如果PreNum≥1并且SubNum≥1时,执行步骤S3.0;S3.0、初始化p=1,k=1,m=1,n=1;保持Vcurrent上一次推送的数据:c_now=0.0;S3.1、根据获取的前驱节点数PreNum和后继节点数SubNum,执行S3.2;S3.2、判断Vcurrent的Datacurrent是否符合推送:如果符合推送,exist=true,执行S3.3;否则,执行S3.12;S3.3、判断p≤PreNum;如果是,执行S3.4;否则,执行S3.7;S3.4、判断Vpre_p的recFlag=0:如果是,执行S3.5;否则,执行S3.6;S3.5、向Vpre_p发送“pull”请求拉取数据,将拉取Vpre_p本身的数据存入receivePullDataList,Vpre_p的recFlag=1,p++;执行S3.3;S3.6、将Vpre_p接收到的数据存入receivePushDataList;p++;执行S3.3;S3.7、判断m≤SubNum:如果是,执行S3.8;否则,执行S3.21;S3.8、并行获取Vcurrent的Vnext_m的拉请求reqFlag,执行S3.9;S3.9、判断Vnext_m的reqFlag=“pull”:如果是,执行S3.10;否则,执行S3.11;S3.10、Datacurrent和receivePullDataList集合以及receivePushDataList集合的数据同时被Vnext_m拉取;m++;执行S3.7;S3.11、Vcurrent将Datacurrent和receivePullDataList集合以及receivePushDataList集合中的数据同时推送到Vnext_m;m++;执行S3.7;S3.12、判断k≤PreNum:如果是,执行S3.13;否则,执行S3.16;S3.13、判断Vpre_k的recFlag=0:如果是,执行S3.14;否则,执行S3.15;S3.14、向Vpre_k发送“pull”请求拉取数据;将拉取Vpre_k的数据存入receivePullDataList;Vpre_k的recFlag=1;k++;执行S3.12;S3.15、将接收到Vpre_k的数据存入receivePushDataList;k++;执行S3.12;S3.16、判断n≤SubNum:如果是,执行S3.17;否则,执行S3.22;S3.17、并行获取Vcurrent的Vnext_n的拉请求reqFlag;执行S3.18;S3.18、Vnext_n的reqFlag=“pull”:如果是,执行S3.19;否则,执行S3.20;S3.19、receivePullDataList集合以及receivePushDataList中的数据被Vnext_n拉取;n++;执行S3.16;S3.20、Vcurrent将receivePullDataList集合以及receivePushDataList中的数据推送到Vnext_n;n++;执行S3.16;S3.21、c_now=Datacurrent;执行S3.22;S.22、清空两个集合中的数据以及Datacurrent;执行S.23;S.23、结束;其中,receivePullDataList表示拉数据集合;rceivePushDataList表示接收推数据集合;recFlag表示接收到数据标记recFlag;S4、如果PreNum≥1并且SubNum=0时,执行步骤S4.0;:S4.0、初始化q=1;轮询周期pollTime;S4.1、根据获取的前驱节点数PreNum和后继节点数SubNum,执行S4.2;S4.2、判断pollTime=0:如果是,执行S4.3;否则,pollTime‑‑;执行S4.2;S4.3、判断q≤PreNum:如果是,执行S4.4;否则,执行S4.7;S4.4、Vpre_q的recFlag=0:如果是,执行S4.5;否则,执行S4.6;S4.5、向Vpre_q发送“pull”请求拉取数据;将拉取Vpre_q本身的数据存入receivePullDataList;Vpre_q的recFlag=1;q++;执行S4.3;S4.6、将Vpre_q接收到的数据存入receivePushDataList;q++;执行S4.3;S4.7、将receivePushDataList和receivePullDataList集合中的数据插入到数据库,并清空两个集合;轮询周期重置;执行S4.8;S4.8、结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于昆明理工大学,未经昆明理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201810092907.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top