一种数据转发方法及装置制造方法及图纸

技术编号:17254099 阅读:25 留言:0更新日期:2018-02-11 15:02
本发明专利技术涉及一种数据转发方法及装置,该方法包括获取订阅数据的订阅量和转发订阅数据的转发节点的扇出量,根据订阅量和转发节点的扇出量构建初级级联转发控制结构;如果订阅数据的数据量小于或者等于对应转发节点预先分配的带宽时,按照初级级联转发控制结构转发订阅数据;否则将初级级联转发控制结构升级为二级级联转发控制结构;将订阅数据拆分为多个子订阅数据;并将多个子订阅数据按照二级级联转发控制结构转发。本发明专利技术的数据转发方法及装置可随着订阅者的需求改变相应的转发结构,能保证订阅数据有效安全的发送,同时,在订阅数据的数据量大于对应转发节点预先分配的带宽时将订阅数据拆分为多个子订阅数据,缩短转发延迟时间,提高转发效率。

【技术实现步骤摘要】
一种数据转发方法及装置
本专利技术涉及数据处理
,尤其涉及一种数据转发方法及装置。
技术介绍
目前Bigpipe(大管道技术)是网络服务中普遍采用的一种分布式消息传输系统,主要采用的是P/S(Primary/Slave的简写,主/从)集群实现数据转发,由于这种p/s集群的出口带宽是固定的,因此限制了能够同时发起的订阅量,当下游订阅量突然变大时,很容易导致每个下游分配到的带宽不足,从而造成数据订阅的不断延迟。为满足下游的大量订阅需求,现有技术也提供了一些解决方案,例如在Bigpipe的p/s下面下挂多层commonbroker(代理服务器)来实现大规模数据的转发,但是,由于下游的订阅需求是随时变化的,而这种数据转发结构是固定的,不能随着订阅需求的改变进行相应的调整,因此,这种数据转发策略不能实现commonbroker资源的合理分配,反而会造成大量的commonbroker处于闲置状态,造成机器资源的浪费。另外,这种转发方式不仅没有随着订阅者的需求改变相应的转发结构,而且没有对转发路径进行识别,普遍存在转发数据超过转发节点带宽、容易出现数据错误、造成订阅数据迟延、资源没有合理的分配和利用,数据转发效率不高等问题。
技术实现思路
本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种数据转发方法及装置。第一方面,本专利技术提供了一种数据转发方法,该方法包括:获取订阅数据的订阅量和转发所述订阅数据的转发节点的扇出量,根据所述订阅量和转发节点的扇出量构建初级级联转发控制结构;当单位时间内传输所述订阅数据时所占用的带宽小于或者等于对应转发节点预先分配的带宽时,按照所述初级级联转发控制结构转发所述订阅数据;或者,当单位时间内传输所述订阅数据时所占用的带宽大于对应转发节点预先分配的带宽时,将所述初级级联转发控制结构升级为二级级联转发控制结构;将所述订阅数据拆分为多个子订阅数据;并将所述多个子订阅数据按照所述二级级联转发控制结构转发。本专利技术实施例的数据转发方法,根据订阅数据的订阅量和转发节点的扇出量构建初级级联转发控制结构,若单位时间内传输所述订阅数据时所占用的带宽小于或者等于对应转发节点预先分配的带宽,则可直接按照所述初级级联转发控制结构转发所述订阅数据,否则,将所述初级级联转发控制结构升级为二级级联转发控制结构,同时将所述订阅数据拆分为多个子订阅数据,将所述多个子订阅数据按照所述二级级联转发控制结构转发,可以随着订阅者的需求改变相应的转发结构,使得资源能合理分配,能保证订阅数据有效安全的发送,同时,在所述订阅数据的数据量大于对应转发节点预先分配的带宽时将所述订阅数据拆分为多个子订阅数据,降低数据转发中的阻塞、出错概率,缩短订阅数据的延迟,提高数据转发效率。进一步,所述方法还包括,监测每个所述转发节点的转发进度信息,将其与预设转发进度对照表进行比较,并在所述转发节点的转发进度慢于设定转发进度阈值时,判定所述转发节点出现转发受阻,并根据处于转发受阻状态的所述转发节点更新所述初级级联转发控制结构或二级级联转发控制结构,并按照更新后的所述初级级联转发控制结构转发所述订阅数据,其中更新后的所述级联转发控制结构的所有转发路径均不包括处于转发受阻状态的所述转发节点。上述实施例中,通过对每个所述转发节点的转发进度进行监测,可以及时发现每个所述转发节点的状态,并在所述转发节点出现异常时及时更新初级级联转发控制结构,并保证所述订阅数据按照更新后的所述初级级联转发控制结构可以及时的发送出去。进一步,所述方法还包括:检测所述订阅数据的转发延时信息,读取所述订阅数据的转发延时时间,并将其与预设转发延时阈值进行比较,当所述转发延时时间大于所述预设转发延时阈值时,生成转发超时信息。上述实施例中,通过检测所述订阅数据的转发延时信息,并在所述转发延时时间大于所述预设转发延时阈值时,通过转发超时信息可以提醒用户所述订阅数据或者子订阅数据的数据量接近转发节点的带宽,转发延时过长,订阅数据不能及时转发。进一步,所述方法还包括:在按照所述初级级联转发控制结构转发所述订阅数据时,如果所述订阅数据的延时时间大于预设延时阈值,则将所述初级级联转发控制结构升级为二级级联转发控制结构,将所述订阅数据拆分为多个子订阅数据;并将所述多个子订阅数据按照所述二级级联转发控制结构转发。上述实施例中,通过在所述订阅数据的延时时间超过预设延时阈值时重新对所述订阅数据进行拆分,缩小每次发送订阅数据的数据量,同时将所述初级级联转发控制结构升级为二级级联转发控制结构,确保在转发节点进行转发时能快速准确的将所述订阅数据发送出去,缩短所述订阅数据的延时时间,提高订阅数据的转发效率和准确性。进一步,所述方法还包括:在所述订阅数据拆分为多个子订阅数据后,根据所述子订阅数据一一对应生成标识信息,并根据所述标识信息结合二级级联转发控制结构将所述子订阅数据发送,其中,多个所述子订阅数据预先设定唯一编号,且所述标识信息包括当前子订阅数据编号、前后子订阅数据编号、当前子订阅数据的数据量和发送完成标识符。上述实施例中,通过对所述子订阅数据一一对应生成标识信息,以方便通过当前子订阅数据编号和前后子订阅数据编号便于所述多个子订阅数据在发送的过程中顺利衔接,并通过发送完成标识符确定订阅数据顺利发送完成。第二方面,本专利技术提供了一种数据转发装置,所述装置包括:初级级联转发控制单元,用于获取订阅数据的订阅量n和转发所述订阅数据的转发节点的扇出量,根据所述订阅量和转发节点的扇出量构建初级级联转发控制结构;二级级联转发控制单元,用于当单位时间内传输所述订阅数据时所占用的带宽大于对应转发节点预先分配的带宽时,将所述初级级联转发控制结构升级为二级级联转发控制结构;拆分单元,用于当单位时间内传输所述订阅数据时所占用的带宽大于对应转发节点预先分配的带宽时,将所述订阅数据拆分为多个子订阅数据;转发单元,用于按照所述初级级联转发控制结构转发所述订阅数据;或者,将所述多个子订阅数据按照所述二级级联转发控制结构转发。本专利技术的数据转发装置,初级级联转发控制单元根据订阅数据的订阅量n和转发节点的扇出量构建初级级联转发控制结构,若单位时间内传输所述订阅数据时所占用的带宽小于或者等于对应转发节点预先分配的带宽,则转发单元可直接按照所述初级级联转发控制结构转发所述订阅数据,否则,二级级联转发控制单元将所述初级级联转发控制结构升级为二级级联转发控制结构,同时拆分单元将所述订阅数据拆分为多个子订阅数据,转发单元将所述多个子订阅数据按照所述二级级联转发控制结构转发,可以随着订阅者的需求改变相应的转发结构,使得资源能合理分配,能保证订阅数据有效安全的发送,同时,在所述订阅数据的数据量大于对应转发节点预先分配的带宽时将所述订阅数据拆分为多个子订阅数据,降低数据转发中的阻塞、出错概率,缩短订阅数据的延迟,提高数据转发效率。进一步,所述装置还包括转发进度监控单元,用于监测每个所述转发节点的转发进度信息,将其与预设转发进度对照表进行比较,并在所述转发节点的转发进度慢于设定转发进度阈值时,判定所述转发节点出现转发受阻,并根据处于转发受阻状态的所述转发节点更新所述初级级联转发控制结构或二级级联转发控制结构,并按照更新后的所述初级级联转发控制结构转发所述本文档来自技高网...
一种数据转发方法及装置

【技术保护点】
一种数据转发方法,其特征在于,包括如下步骤:获取订阅数据的订阅量和转发所述订阅数据的转发节点的扇出量,根据所述订阅量和转发节点的扇出量构建初级级联转发控制结构;当单位时间内传输所述订阅数据时所占用的带宽小于或者等于对应转发节点预先分配的带宽时,按照所述初级级联转发控制结构转发所述订阅数据;或者,当单位时间内传输所述订阅数据时所占用的带宽大于对应转发节点预先分配的带宽时,将所述初级级联转发控制结构升级为二级级联转发控制结构;将所述订阅数据拆分为多个子订阅数据;并将所述多个子订阅数据按照所述二级级联转发控制结构转发。

【技术特征摘要】
1.一种数据转发方法,其特征在于,包括如下步骤:获取订阅数据的订阅量和转发所述订阅数据的转发节点的扇出量,根据所述订阅量和转发节点的扇出量构建初级级联转发控制结构;当单位时间内传输所述订阅数据时所占用的带宽小于或者等于对应转发节点预先分配的带宽时,按照所述初级级联转发控制结构转发所述订阅数据;或者,当单位时间内传输所述订阅数据时所占用的带宽大于对应转发节点预先分配的带宽时,将所述初级级联转发控制结构升级为二级级联转发控制结构;将所述订阅数据拆分为多个子订阅数据;并将所述多个子订阅数据按照所述二级级联转发控制结构转发。2.根据权利要求1所述的数据转发方法,其特征在于,所述根据所述订阅量和转发节点的扇出量构建初级级联转发控制结构之前,所述方法还包括:发送测试指令至所述转发节点;接收所述转发节点发送的反馈信息,并根据所述转发节点发送的反馈信息判断所述转发节点是否正常,并确定正常转发节点;根据所述订阅量和所述正常转发节点的扇出量构建所述初级级联转发控制结构;所述根据所述订阅量和所述正常转发节点的扇出量构建所述初级级联转发控制结构具体包括:根据所有正常转发节点和所述正常转发节点的扇出量生成两两相邻的上下游级联关系,形成至少两条转发路径,所述至少两条转发路径构成所述初级级联转发控制结构。3.根据权利要求2所述的数据转发方法,其特征在于,所述将所述初级级联转发控制结构升级为二级级联转发控制结构,具体包括:将所述初级级联转发结构中的相隔至少一级的两个级别的转发节点建立交叉级联关系,并在所述交叉级联关系中将转发路径按照由短至长进行排序,并选取与所述子订阅数据个数相同的较短路径同时转发所述多个子订阅数据进行转发。4.根据权利要求2所述的数据转发方法,其特征在于,所述将所述初级级联转发控制结构升级为二级级联转发控制结构,具体还包括:将所述初级级联转发结构中的转发节点数量进行至少N(N≥1)倍的拓展;并且按照所述初级级联转发结构中的转发节点之前的连接关系,建立所述进行拓展后的各转发节点之间的连接关系,并将拓展后的各转发节点划分为与所述子订阅数据个数相同的组数,以同时转发所述多个子订阅数据。5.根据权利要求1-4任一项所述的方法,其特征在于,当所述订阅数据的数据量大于对应转发节点预先分配的带宽时,将所述订阅数据拆分为多个子订阅数据,具体包括:获取订阅数据中的数据分发任务信息;并根据所述数据分发任务信息生成对应的转发拆分决策信息;根据所述转发拆...

【专利技术属性】
技术研发人员:杜光东
申请(专利权)人:深圳市盛路物联通讯技术有限公司
类型:发明
国别省市:广东,44

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

1