CN104202255A - 一种高效多链路数据传输实现方法 - Google Patents
一种高效多链路数据传输实现方法 Download PDFInfo
- Publication number
- CN104202255A CN104202255A CN201410425834.7A CN201410425834A CN104202255A CN 104202255 A CN104202255 A CN 104202255A CN 201410425834 A CN201410425834 A CN 201410425834A CN 104202255 A CN104202255 A CN 104202255A
- Authority
- CN
- China
- Prior art keywords
- network
- load balancing
- connection
- transmitting procedure
- tcp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种高效多链路数据传输实现方法,该方法包括网络连接的建立、传输过程中的失效切换和传输过程中的负载均衡。本发明中可以建立多条链路,同时支持TCP/IP和FC协议,传输过程中的失效切换和负载均衡过程中可以利用TCP/IP和FC两个连接链表中的任意一个连接进行收发,并可以利用跨协议传输收发两个连续发送请求,保证了网络连接的灵活性和高效性,从而提高了远程容灾系统的效率。
Description
技术领域
本发明涉及容灾中远程复制的网络设计技术,尤其涉及一种多链路数据传输的实现方法。
背景技术
容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。容灾技术是系统的高可用性技术的一个组成部分,容灾系统更加强调处理外界环境对系统的影响,特别是灾难性事件对整个IT节点的影响,提供节点级别的系统恢复功能。
远程复制是数据保护的重要组成部分,提供主站点失效时的数据保护功能。远程复制提供一个连续的,非破坏性的,主机独立的解决方案以应对灾难恢复,数据备份或者远距离数据迁移。通过灵活的部署同步或异步复制来满足用户对成本,性能和数据可用性的不同需求。
利用存储系统强大的远程复制功能,可以让不同站点间的存储池或整个系统通过FC或者IP SAN进行数据拷贝。当本地系统故障或者事故发生而导致源卷数据损坏时,用户可以借助于基于磁盘的远程复制卷在几分钟内恢复服务。如果本地故障恢复时用户想把存储应用切换回来,可以快速在两个卷之间实现反向同步。
远程复制中生产节点和备份节点往往位于地理上相隔较远的两地,因此数据的传输必然要通过网络连接的方式进行,从而,远程复制中数据的传输机制成为一个重要的环节,直接涉及容灾系统的稳定性和效率。因此,设计一款高效、灵活的数据传输机制成为本领域技术人员亟待解决的问题。
发明内容
为了解决上述问题,本发明提出了一种新的远程复制中数据的传输机制,可以提高远程容灾系统的效率。
为了达到上述目的,本发明提出了一种高效多链路数据传输实现方法,所述方法包括:网络连接的建立、传输过程中的失效切换和传输过程中的负载均衡。
所述网络连接的建立包括,建立多条链路,同时支持传输控制协议/网际协议TCP/IP和光纤通道FC协议,对于多次建立的TCP/IP和FC网络连接进行统一管理。
所述传输过程中的失效切换包括:当某个所述网络连接断开时,此网络连接被置为非激活inactive状态,当有数据传输的请求时,通过其它处于激活active状态的网络连接进行收发数据;对于所述inactive状态的连接,定时进行重新创建连接操作,如果成功,则重新将所述网络连接置为所述active状态。
所述传输过程中的负载均衡包括:对于每个所述网络连接,记录上次发送数据的时间点和数据量,计算最近所述网络连接的发送速率;当某个网络连接链路发送速率超过阈值时,下一次发送请求将会避开所述网络连接链路,根据预定的负载均衡策略,选择另一条网络连接链路进行数据发送。
优选地,所述方法还包括:将所述网络连接进行模块化,将所有的所述网络连接都封装在一个连接connection结构体中,对外只提供创建、删除连接以及传送、接收数据四个接口,其中所述创建、删除连接又在内部分别对应TCP/IP和FC协议两个流程。
优选地,所述网络连接的建立还包括:在超时时间内两端同时发起连接请求,创建一个TCP/IP和/或FC连接,不限定服务端或客户端关系;并采用随机算法进行所述connect和accept操作间的轮询,避免两端同时进行连接connect和接受accept操作。
优选地,所述网络连接的建立还包括:所述connection结构体中包含两个链表成员,分别对应TCP/IP连接和FC连接。
优选地,在所述网络连接的建立之后,将创建好的TCP/IP连接,加入TCP/IP连接链表中;将创建好的FC连接,加入FC连接链表中。
优选地,所述传输过程中的失效切换和所述传输过程中的负载均衡过程还包括:所述Connection结构体中只存在一个任务队列,即发送队列,所有所述网络连接只对应该唯一的一个发送队列。
优选地,所述传输过程中的失效切换和所述传输过程中的负载均衡还包括:传输过程中的失效切换和负载均衡过程中利用TCP/IP和FC两个链路中的任意一个进行收发,并利用跨协议传输收发两个连续发送请求。
优选地,所述传输过程中的负载均衡还包括:跨协议的负载均衡。
优选地,所述预定的负载均衡策略是指:参数超过阈值时,采用静态负载均衡;未超过阈值时,采用动态负载均衡。
所述静态负载均衡,是指始终将数据发向第一个链接,直到达到所述阈值为止,然后再按顺序采用下一个链接。
所述动态负载均衡,是指数据发送初始阶段就循环利用链表中的各链路,当单一链路达到所述阈值时,网络总体负荷也趋向于饱和。
优选地,所述传输过程中的失效切换采用跨协议发送和/或所述传输过程中的负载均衡采用跨协议负载均衡时,需要额外设置协议链路的属性。
与现有技术相比,本发明提出了一种高效多链路数据传输实现方法,该方法包括网络连接的建立、传输过程中的失效切换和传输过程中的负载均衡。本发明中可以建立多条链路,同时支持TCP/IP和FC协议,传输过程中的失效切换和负载均衡过程中可以利用TCP/IP和FC两个连接链表中的任意一个连接进行收发,并可以利用跨协议传输收发两个连续发送请求,保证了网络连接的灵活性和高效性,从而提高例了远程容灾系统的效率。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1高效多链路数据传输实现方法框图;
图2创建socket(套接字)连接实施例流程图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。
远程复制中数据的传输机制是远程容灾系统中的重要环节,传输机制的好坏直接影响远程容灾系统的稳定性和效率。
为了解决上述问题,本发明提出了一种新的远程复制中数据的传输机制,具体地,本发明提出了一种高效多链路数据传输实现方法,如图1所示,所述方法包括:网络连接的建立、传输过程中的失效切换和传输过程中的负载均衡。
所述网络连接的建立包括,建立多条链路,同时支持传输控制协议/网际协议TCP/IP和光纤通道FC协议,对于多次建立的TCP/IP和FC网络连接进行统一管理,并将所述网络连接进行模块化;尽量减少与上层逻辑的耦合性,因此将所有网络连接都封装在一个连接connection结构体中,对外只提供创建、删除连接,传送、接收数据四个接口,其中创建、删除连接又在内部分别对应TCP/IP和FC协议两个流程。
以创建socket(套接字)连接举例,具体流程如附图2,在建立之前不需确定服务端或客户端关系,只要在超时时间内两端同时发起连接请求,即可创建成功一个TCP/IP连接。为了避免两端同步调的进行连接connect和接受accept操作,采用随机算法进行connect和accept操作间的轮询。
优选地,所述connection结构体中包含两个链表成员,分别对应TCP/IP连接和FC连接。
优选地,在所述网络连接的建立之后,将创建好的TCP/IP连接,加入TCP/IP连接链表中;将创建好的FC连接,加入FC连接链表中。
优选地,Connection结构体中只存在一个任务队列,即发送队列,因此所有网络连接只对应这唯一的一个发送队列,以保证一下失效切换和负载均衡能够顺利完成。
优选地,传输过程中的失效切换和负载均衡过程中可以利用TCP/IP和FC两个链路中的任意一个进行收发,并可以利用跨协议传输收发两个连续发送请求,即所述两个连续发送请求的发送链路在TCP/IP和FC协议链路之间转换。
由于发送和接收函数和输入参数只制定了结构体connection,因此利用两个连接链表中的任意一个连接进行收发都可以满足要求,甚至连续两个发送请求利用跨协议的传输也可以实现,这就保证了网络连接的灵活性。
具体地,所述传输过程中的失效切换包括:当某个所述网络连接断开时,此连接被置为非激活inactive状态,当有数据传输的请求时,只需要通过其他处于激活active状态的连接进行收发数据即可;同时存在一个线程,当存在所述inactive状态的线程时,定时进行重新创建连接操作,如果成功,则重新将所述网络连接置为所述active状态。只要存在至少一个active连接,就不会影响上层数据传输的应用。
所述传输过程中的负载均衡包括:对于每个连接,会记录上次发送数据的时间点和数据量,以计算最近该连接的发送速率,由于此过程是在内核层实现,时间即取当前时间jiffies值。为了平衡各链路的发送速率,避免单一链路数据量过多造成网络阻塞,当某链路近期发送速率超过阈值时,下一次发送请求将会避开该链路,根据预定的负载均衡策略,选择另一条合适的网络链路进行数据发送。
所述预定的负载均衡策略是指:参数超过阈值时,采用静态负载均衡;未超过阈值时,采用动态负载均衡。
负载均衡分为静态负载均衡和动态负载均衡,静态负载均衡是指始终将数据发向第一个链接,直到达到阈值为止,然后在按顺序采用下一个链接,此方法可以有效提高小数据量数据传输的速度,但其他链路多处于空闲状态,负荷不饱满。动态负载均衡是指数据发送初始阶段就循环利用链表中的各链路,当单一链路达到阈值时,网络总体负荷也趋向于饱和,此方法优点是始终平衡各链路负载,代价是频繁切换链路,传输开销大。所述传输过程中的负载均衡可根据实际数据传输情况酌情采用所述静态负载均衡和所述动态负载均衡。
优选地,所述传输过程中的负载均衡还包括:跨协议的负载均衡,即在TCP/IP和FC协议间进行负载均衡。
由于失效切换和负载均衡都涉及到跨链路发送,因此需要额外设置链路属性,避免数据由于停留在发送缓冲区中,导致发送顺序与接收顺序不符,造成业务逻辑错误。当然可以在发送包头中加入数据包序列号,接收端再进行解析,但会造成额外的开销。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (10)
1.一种高效多链路数据传输实现方法,其特征在于,所述方法包括:网络连接的建立、传输过程中的失效切换和传输过程中的负载均衡;
所述网络连接的建立包括,建立多条链路,同时支持传输控制协议/网际协议TCP/IP和光纤通道FC协议,对于多次建立的TCP/IP和FC网络连接进行统一管理;
所述传输过程中的失效切换包括:当某个所述网络连接断开时,此网络连接被置为非激活inactive状态,当有数据传输的请求时,通过其它处于激活active状态的网络连接进行收发数据;对于所述inactive状态的连接,定时进行重新创建连接操作,如果成功,则重新将所述网络连接置为所述active状态;
所述传输过程中的负载均衡包括:对于每个所述网络连接,记录上次发送数据的时间点和数据量,计算最近所述网络连接的发送速率;当某个网络连接链路发送速率超过阈值时,下一次发送请求将会避开所述网络连接链路,根据预定的负载均衡策略,选择另一条网络连接链路进行数据发送。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:将所述网络连接进行模块化,将所有的所述网络连接都封装在一个连接connection结构体中,对外只提供创建、删除连接以及传送、接收数据四个接口,其中所述创建、删除连接又在内部分别对应TCP/IP和FC协议两个流程。
3.如权利要求1所述的方法,其特征在于,所述网络连接的建立还包括:在超时时间内两端同时发起连接请求,创建一个TCP/IP和/或FC连接,不限定服务端或客户端关系;并采用随机算法进行所述connect和accept操作间的轮询,避免两端同时进行连接connect和接受accept操作。
4.如权利要求2所述的方法,其特征在于,所述网络连接的建立还包括:所述connection结构体中包含两个链表成员,分别对应TCP/IP连接和FC连接。
5.如权利要求4所述的方法,其特征在于,在所述网络连接的建立之后,将创建好的TCP/IP连接,加入TCP/IP连接链表中;将创建好的FC连接,加入FC连接链表中。
6.如权利要求1或2所述的方法,其特征在于,所述传输过程中的失效切换和所述传输过程中的负载均衡过程还包括:所述Connection结构体中只存在一个任务队列,即发送队列,所有所述网络连接只对应该唯一的一个发送队列。
7.如权利要求1或4所述的方法,其特征在于,所述传输过程中的失效切换和所述传输过程中的负载均衡还包括:传输过程中的失效切换和负载均衡过程中利用TCP/IP和FC两个链路中的任意一个进行收发,并利用跨协议传输收发两个连续发送请求。
8.如权利要求7所述的方法,其特征在于,所述传输过程中的负载均衡还包括:跨协议的负载均衡。
9.如权利要求1所述的方法,其特征在于,所述预定的负载均衡策略是指:参数超过阈值时,采用静态负载均衡;未超过所述阈值时,采用动态负载均衡;
所述静态负载均衡,是指始终将数据发向第一个链接,直到达到所述阈值为止,然后再按顺序采用下一个链接;
所述动态负载均衡,是指数据发送初始阶段就循环利用链表中的各链路,当单一链路达到所述阈值时,网络总体负荷也趋向于饱和。
10.如权利要求8所述的方法,其特征在于,所述传输过程中的失效切换采用跨协议发送和/或所述传输过程中的负载均衡采用跨协议负载均衡时,需要额外设置协议链路的属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410425834.7A CN104202255A (zh) | 2014-08-26 | 2014-08-26 | 一种高效多链路数据传输实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410425834.7A CN104202255A (zh) | 2014-08-26 | 2014-08-26 | 一种高效多链路数据传输实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104202255A true CN104202255A (zh) | 2014-12-10 |
Family
ID=52087485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410425834.7A Pending CN104202255A (zh) | 2014-08-26 | 2014-08-26 | 一种高效多链路数据传输实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104202255A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119839A (zh) * | 2015-07-28 | 2015-12-02 | 浪潮电子信息产业股份有限公司 | 一种基于游标指针的加权调度方法及装置 |
CN105141539A (zh) * | 2015-07-28 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种基于链表切换的加权调度方法及装置 |
CN107026907A (zh) * | 2017-03-30 | 2017-08-08 | 上海斐讯数据通信技术有限公司 | 一种负载均衡方法、负载均衡器及负载均衡系统 |
CN107277145A (zh) * | 2017-06-23 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种新型远程复制方法 |
CN110191052A (zh) * | 2019-04-23 | 2019-08-30 | 北京交通大学 | 一种跨协议网络传输方法及系统 |
CN110611613A (zh) * | 2019-09-27 | 2019-12-24 | 上海天玑数据技术有限公司 | 一种基于网络设备的多路径路由方法及装置 |
US11102690B2 (en) | 2016-12-28 | 2021-08-24 | Huawei Technologies Co., Ltd. | Data sending method, data receiving method, data transmit end, and data receive end |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212458A (zh) * | 2006-12-25 | 2008-07-02 | 中兴通讯股份有限公司 | 一种数据库系统备份方法 |
US20080168157A1 (en) * | 2002-05-23 | 2008-07-10 | Benoit Marchand | Data Replication |
CN101237314A (zh) * | 2008-01-16 | 2008-08-06 | 杭州华三通信技术有限公司 | 一种保障复制业务传输的方法及接入设备 |
CN102045768A (zh) * | 2009-10-26 | 2011-05-04 | 宏碁股份有限公司 | 数据传输方法及其用户装置与数据传输系统 |
CN102364917A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种混合fc和iscsi协议的存储异地远程数据传输方法 |
CN202351906U (zh) * | 2011-12-19 | 2012-07-25 | 重庆大唐新数码股份有限公司 | 一种光纤与3g自动切换的rfid读写器 |
CN102665244A (zh) * | 2012-04-19 | 2012-09-12 | 华为技术有限公司 | 数据传输模式切换的方法和装置 |
-
2014
- 2014-08-26 CN CN201410425834.7A patent/CN104202255A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080168157A1 (en) * | 2002-05-23 | 2008-07-10 | Benoit Marchand | Data Replication |
CN101212458A (zh) * | 2006-12-25 | 2008-07-02 | 中兴通讯股份有限公司 | 一种数据库系统备份方法 |
CN101237314A (zh) * | 2008-01-16 | 2008-08-06 | 杭州华三通信技术有限公司 | 一种保障复制业务传输的方法及接入设备 |
CN102045768A (zh) * | 2009-10-26 | 2011-05-04 | 宏碁股份有限公司 | 数据传输方法及其用户装置与数据传输系统 |
CN102364917A (zh) * | 2011-09-19 | 2012-02-29 | 浪潮电子信息产业股份有限公司 | 一种混合fc和iscsi协议的存储异地远程数据传输方法 |
CN202351906U (zh) * | 2011-12-19 | 2012-07-25 | 重庆大唐新数码股份有限公司 | 一种光纤与3g自动切换的rfid读写器 |
CN102665244A (zh) * | 2012-04-19 | 2012-09-12 | 华为技术有限公司 | 数据传输模式切换的方法和装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105119839A (zh) * | 2015-07-28 | 2015-12-02 | 浪潮电子信息产业股份有限公司 | 一种基于游标指针的加权调度方法及装置 |
CN105141539A (zh) * | 2015-07-28 | 2015-12-09 | 浪潮电子信息产业股份有限公司 | 一种基于链表切换的加权调度方法及装置 |
US11102690B2 (en) | 2016-12-28 | 2021-08-24 | Huawei Technologies Co., Ltd. | Data sending method, data receiving method, data transmit end, and data receive end |
CN107026907A (zh) * | 2017-03-30 | 2017-08-08 | 上海斐讯数据通信技术有限公司 | 一种负载均衡方法、负载均衡器及负载均衡系统 |
CN107026907B (zh) * | 2017-03-30 | 2020-08-14 | 广东红餐科技有限公司 | 一种负载均衡方法、负载均衡器及负载均衡系统 |
CN107277145A (zh) * | 2017-06-23 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种新型远程复制方法 |
CN110191052A (zh) * | 2019-04-23 | 2019-08-30 | 北京交通大学 | 一种跨协议网络传输方法及系统 |
CN110191052B (zh) * | 2019-04-23 | 2021-05-14 | 北京交通大学 | 一种跨协议网络传输方法及系统 |
CN110611613A (zh) * | 2019-09-27 | 2019-12-24 | 上海天玑数据技术有限公司 | 一种基于网络设备的多路径路由方法及装置 |
CN110611613B (zh) * | 2019-09-27 | 2021-12-21 | 上海天玑数据技术有限公司 | 一种基于网络设备的多路径路由方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104202255A (zh) | 一种高效多链路数据传输实现方法 | |
CN100589408C (zh) | 一种通讯网络连接方法及其装置 | |
US11734138B2 (en) | Hot standby method, apparatus, and system | |
CN110034983B (zh) | 基于发布-订阅消息处理机制的家居设备联动方法及系统 | |
CN102868754A (zh) | 一种实现集群存储高可用性的方法、节点装置和系统 | |
US11303737B2 (en) | Method and device for data transmission | |
CN104486128B (zh) | 一种实现双控制器节点间冗余心跳的系统及方法 | |
WO2012149750A1 (zh) | 一种对用户服务进行迁移的方法、装置及系统 | |
WO2017024697A1 (zh) | 一种调度自动化系统跨网段的消息转发方法 | |
CN104572355A (zh) | 一种异步远程复制数据的方法和设备 | |
CN107979640B (zh) | 一种数据传输方法及装置 | |
CN104782081B (zh) | 用于转移套接字状态的系统以及用于迁移tcp连接的方法 | |
CN104780065A (zh) | 一种tcp热备份方法和系统 | |
KR101650691B1 (ko) | 소프트웨어 정의 네트워크에서 분산 컨트롤러를 운용하는 방법 및 장치 | |
CN115801642B (zh) | 基于状态控制的rdma通讯管理模块、方法、设备及介质 | |
CN101599907A (zh) | 流量转发方法和系统 | |
CN103929455A (zh) | 包含网络存储设备的异步文件传输系统及其传输方法 | |
CN105790985A (zh) | 数据倒换的方法、第一设备、第二设备及设备 | |
CN116192863B (zh) | 微服务流量处理方法、dpu服务网格部署方法及系统 | |
CN111880932A (zh) | 一种基于多网口的数据存储方法及装置 | |
CN115987871B (zh) | 一种基于mqtt的拓扑关系保鲜方法、装置及介质 | |
CN106230747B (zh) | 恢复tcp连接序列号的方法、装置及系统 | |
JP6953713B2 (ja) | 通信ノード、通信システム、通信方法及びプログラム | |
CN110650312B (zh) | 基于图像监控系统的扩容方法及装置 | |
JP2014033384A (ja) | ルータ機能冗長化システム、ルータ機能冗長化方法およびルータ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141210 |