CN117336345A - 一种数据复制容灾方法、系统、装置及介质 - Google Patents
一种数据复制容灾方法、系统、装置及介质 Download PDFInfo
- Publication number
- CN117336345A CN117336345A CN202311630226.5A CN202311630226A CN117336345A CN 117336345 A CN117336345 A CN 117336345A CN 202311630226 A CN202311630226 A CN 202311630226A CN 117336345 A CN117336345 A CN 117336345A
- Authority
- CN
- China
- Prior art keywords
- preset
- threshold
- current
- data
- communication
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000011084 recovery Methods 0.000 title claims abstract description 59
- 230000010076 replication Effects 0.000 title claims abstract description 49
- 230000006854 communication Effects 0.000 claims abstract description 286
- 238000004891 communication Methods 0.000 claims abstract description 269
- 230000005540 biological transmission Effects 0.000 claims description 144
- 238000003860 storage Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000737 periodic effect Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 230000000903 blocking effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种数据复制容灾方法、系统、装置及介质,涉及数据处理领域。在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;根据当前的通信状态参数和当前的参数阈值动态调整当前的参数阈值,得到下一参数阈值;基于下一参数阈值和下一通信状态参数确定是否调整下一参数阈值或断开通信链路。本申请通过实时获取通信过程中的通信状态参数,并根据这些通信状态参数和当前的参数阈值动态调整参数阈值,并不是在通信状态参数一达到参数阈值就断开通信链路,可以使得参数阈值能够适应链路距离的变化,从而避免频繁断开通信链路,提高通信链路的可靠性。
Description
技术领域
本申请涉及数据处理领域,特别涉及一种数据复制容灾方法、系统、装置及介质。
背景技术
随着数字化进程的快速发展,企业对于数据存储系统的稳定性要求也越来越高。在数字化时代,企业依赖于数据来支撑决策和运营,因此维护存储系统的稳定性变得尤为重要。尽管企业已经采用了稳定性较高的存储设备,但为了应对自然灾害可能导致的不可恢复性损害,运城容灾备份解决方案应运而生。在这个解决方案中,远程数据复制容灾技术被认为是关键技术之一。
然而,使用远程数据复制链路复制数据时会遇到一些问题,比如链路距离的增加导致链路不稳定等现象,进而可能导致数据传输过程中的通信状态参数达到参数阈值的情况。目前,一旦出现通信状态参数达到对应的参数阈值的情况,就会主动断开链路,严重影响远程数据复制通信的可靠性。
发明内容
本申请的目的是提供一种数据复制容灾方法、系统、装置及介质,通过实时获取通信过程中的通信状态参数,并根据这些通信状态参数和当前的参数阈值动态调整参数阈值,并不是在通信状态参数一达到参数阈值就断开通信链路,可以使得参数阈值能够适应链路距离的变化,从而避免频繁断开通信链路,提高通信链路的可靠性。
为解决上述技术问题,本申请提供了一种数据复制容灾方法,包括:
在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;
根据当前的通信状态参数和当前的参数阈值动态调整所述当前的参数阈值,得到下一参数阈值;
基于所述下一参数阈值和下一通信状态参数确定是否动态调整所述下一参数阈值或是否断开所述通信链路。
在一种实施例中,通信链路上并发多个数据传输操作时,实时获取通信过程中的通信状态参数,包括:
在每个预设周期内,确定所述数据传输操作的结束时间点在当前的预设周期内的各所述数据传输操作的实际传输时延;
根据当前的通信状态参数和当前的参数阈值动态调整所述当前的参数阈值,得到下一参数阈值,包括:
根据当前的实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,所述第一预设时延值小于所述当前的时延阈值。
在一种实施例中,根据当前的实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,所述第一预设时延值小于所述当前的时延阈值,包括:
统计所述当前的实际传输时延大于所述当前的第一预设时延值的数据传输操作的第一个数;
计算所述第一个数与第二个数的第一比值,所述第二个数为所述结束时间点在所述当前的预设周期内的数据传输操作的总个数;
判断所述第一比值是否大于第一预设比值;
若大于所述第一预设比值,则将所述当前的时延阈值增加时延变量,得到下一时延阈值;
若不大于所述第一预设比值,则保持所述当前的时延阈值不变。
在一种实施例中,计算所述第一个数与第二个数的第一比值,包括:
连续计算若干个所述预设周期内的所述第一个数与所述第二个数的第一比值;
判断连续若干个所述预设周期内的所述第一比值是否均大于所述第一预设比值;
若均大于所述第一预设比值,则进入将所述当前的时延阈值增加时延变量,得到下一时延阈值的步骤。
在一种实施例中,将所述当前的时延阈值增加时延变量,得到下一时延阈值之后,还包括:
判断下一时延阈值是否大于最大时延阈值;
若小于所述最大时延阈值,则进入下一阶段并根据所述下一阶段中的时延阈值调整下一阶段的第一预设时延值,重新进入在每个预设周期内,确定所述数据传输操作的结束时间点在当前的预设周期内的各所述数据传输操作的实际传输时延的步骤;
若大于所述最大时延阈值,则结束循环。
在一种实施例中,还包括:
判断下一阶段中计算的所述第一比值是否小于第二预设比值,所述第二预设比值小于所述第一预设比值;
若小于所述第二预设比值,则将所述下一时延阈值减小所述时延变量。
在一种实施例中,在判定小于所述最大时延阈值之后,还包括:
延时预设观察时间,再进入下一阶段并根据所述下一阶段中的时延阈值调整下一阶段的第一预设时延值,重新进入在每个预设周期内,确定所述数据传输操作的结束时间点在当前的预设周期内的各所述数据传输操作的实际传输时延的步骤。
在一种实施例中,在判定大于所述最大时延阈值之后,还包括:
对所述数据传输操作进行中断,并丢弃当前传输的数据包。
在一种实施例中,对所述数据传输操作进行中断,并丢弃当前传输的数据包之后,还包括:
将丢弃的所述数据包写入预设存储队列中,并在满足预设条件时对所述预设存储队列中的数据包重新进行传输。
在一种实施例中,在满足预设条件时对所述预设存储队列中的数据包重新进行传输之后,还包括:
判断重新传输所述数据包是否成功;
若失败,则将用于发送所述数据包的通信节点从通信系统的集群中退出。
在一种实施例中,判断重新传输所述数据包是否成功,包括:
将所述数据包重新发送至用于接收所述数据包的通信节点,并判断若干个时间段内是否接收到所述用于接收所述数据包的通信节点的反馈信息;
若未接收到,则判定重新传输所述数据包失败;
否则,判定重新传输所述数据包成功。
在一种实施例中,将丢弃的所述数据包写入预设存储队列中,并在满足预设条件时对所述预设存储队列中的数据包重新进行传输,包括:
将丢弃的所述数据包按照预设顺序写入预设存储队列中,并在满足预设条件时按照写入所述预设存储队列的顺序对所述预设存储队列中的数据包依次重新进行传输。
在一种实施例中,对所述数据传输操作进行中断,并丢弃当前传输的数据包之后,还包括:
记录丢弃所述数据包的次数。
在一种实施例中,记录丢弃所述数据包的次数之后,还包括:
判断丢弃所述数据包的次数是否达到预设次数;
若达到所述预设次数,则主动断开所述通信链路。
在一种实施例中,还包括:
在每个预设周期内,对接收到的所述数据包进行校验,以确定所述数据包中的数据是否发生错误;
若发生错误,则统计所述数据包发生错误的次数。
在一种实施例中,统计所述数据包发生错误的次数之后,还包括:
判断所述数据包发生错误的次数是否达到错误阈值;
若达到所述错误阈值,则主动中断所述通信链路。
在一种实施例中,判断所述数据包发生错误的次数是否达到错误阈值,包括:
判断在若干个所述预设周期内所述数据包连续发生错误的次数是否达到所述错误阈值;
若在若干个所述预设周期内所述数据包连续发生错误的次数达到所述错误阈值,则主动中断所述通信链路。
在一种实施例中,统计所述数据包发生错误的次数,包括:
统计当前预设周期内传输的数据包是否发生错误;
若发生错误,则将所述标志位更新为错误状态,并将周期错误计数值加一;
若未发生错误,则将所述标志位更新为正确状态,并将所述周期错误计数值清零;
判断在若干个所述预设周期内所述数据包连续发生错误的次数是否达到所述错误阈值,包括:
判断所述周期错误计数值是否达到所述错误阈值;
若所述周期错误计数值达到所述错误阈值,则主动中断所述通信链路。
在一种实施例中,在所述周期错误计数值不为零且未达到所述错误阈值时,还包括:
检测在预设时间内是否更新所述标志位;
若在所述预设时间内未更新所述标志位,则判定通信发生阻塞,进入主动中断所述通信链路的步骤。
在一种实施例中,检测在预设时间内是否更新所述标志位,包括:
获取未更新所述标志位时的当前时间戳及接收或发送请求指令的初始时间戳;
判断所述当前时间戳与所述初始时间戳之间的时间间隔是否大于所述预设时间;
若大于所述预设时间,则判定在所述预设时间内未更新所述标志位,并判定通信发生阻塞,进入主动中断所述通信链路的步骤。
为解决上述技术问题,本申请还提供了一种数据复制容灾系统,包括:
参数获取单元,用于在第一通信节点和第二通信节点进行通信时,实时获取通信过程中的通信状态参数;
阈值更新单元,用于根据当前的通信状态参数和当前的参数阈值动态调整所述当前的参数阈值,得到下一参数阈值;
确定单元,用于基于所述下一参数阈值和下一通信状态参数确定是否动态调整所述下一参数阈值或是否断开所述通信链路。
为解决上述技术问题,本申请还提供了一种数据复制容灾装置,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时,实现如上述所述的数据复制容灾方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的数据复制容灾方法的步骤。
本申请提供了一种数据复制容灾方法、系统、装置及介质,涉及数据处理领域。该方案在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;根据当前的通信状态参数和当前的参数阈值动态调整当前的参数阈值,得到下一参数阈值;基于下一参数阈值和下一通信状态参数确定是否调整下一参数阈值或断开通信链路。本申请通过实时获取通信过程中的通信状态参数,并根据这些通信状态参数和当前的参数阈值动态调整参数阈值,并不是在通信状态参数一达到参数阈值就断开通信链路,可以使得参数阈值能够适应链路距离的变化,从而避免频繁断开通信链路,提高通信链路的可靠性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种数据复制容灾方法的流程示意图;
图2为本申请提供的一种数据复制容灾的场景示意图;
图3为本申请提供的一种数据传输超时丢弃的示意图;
图4为本申请提供的一种链路阻塞超时主动断联的示意图;
图5为本申请提供的一种数据复制容灾系统的示意图;
图6为本申请提供的一种数据复制容灾装置的示意图;
图7为本申请提供的一种计算机可读存储介质的示意图。
具体实施方式
本申请的核心是提供一种数据复制容灾方法、系统、装置及介质,通过实时获取通信过程中的通信状态参数,并根据这些通信状态参数和当前的参数阈值动态调整参数阈值,并不是在通信状态参数一达到参数阈值就断开通信链路,可以使得参数阈值能够适应链路距离的变化,从而避免频繁断开通信链路,提高通信链路的可靠性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种数据复制容灾方法,如图1所示,包括:
S11:在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;
在数据复制容灾方法中,为了实现数据的可靠复制,需要实时监测通信过程中的通信状态。这些通信状态参数可以包括但不限于网络延迟、丢包率、带宽利用率等。通过实时获取这些通信状态参数,可以了解链路的稳定性和性能,并可以根据这些参数进行相应的调整和优化。
实时获取通信过程中的通信状态参数可以通过监控相关的网络设备或软件来实现,例如使用网络管理工具、监控软件等。通过实时获取这些参数,可以获得关于链路质量、通信性能和可靠性的信息。
通过实时获取通信状态参数,可以帮助判断链路是否稳定,是否存在丢包或延迟过高等问题。同时,这些参数还可以用于动态调整参数阈值,进一步优化数据复制容灾方法的性能和可靠性。
S12:根据当前的通信状态参数和当前的参数阈值动态调整当前的参数阈值,得到更下一参数阈值;
这一步骤的目的是根据实时获取的当前的通信状态参数和当前的参数阈值来灵活地调整参数阈值,以适应链路距离的变化,并确保数据复制容灾方法的可靠性。在实际应用中,由于链路距离可能会导致链路不稳定等问题,通信状态参数可能会受到一定的影响。为了保证通信链路的稳定性和可靠性,可以通过不断调整当前的参数阈值,使得到的下一参数阈值能够适应链路距离的变化,尽量避免断开通信链路。
根据实时获取的通信状态参数和当前的参数阈值进行比较,判断是否需要进行参数阈值的调整。如果当前的通信状态参数超过了当前的参数阈值,说明链路的稳定性可能存在问题,需要进行调整。根据实时获取的通信状态参数和当前的参数阈值,使用一定的算法或策略动态地调整参数阈值。调整的原则可以是使得更新后的参数阈值不小于更新前的参数阈值,且不大于安全参数阈值。进一步的,如果当前的通信状态参数小于当前的参数阈值,且与所述参数阈值的差值大于差值阈值时,可以将当前的参数阈值减小。总之,本实施例中可以根据链路距离的变化情况、历史通信状态参数等信息进行综合考虑和计算,得出适合当前链路距离的下一参数阈值,将调整后的下一参数阈值更新,确保后续的数据复制容灾方法使用的参数阈值是最新的。
通过以上的调整和更新,可以使得参数阈值能够根据实时的链路情况进行动态适应,提高通信链路的可靠性和稳定性,并降低链路断开的频率,保证数据复制容灾方法的可靠性。
S13:基于下一参数阈值和下一通信状态参数确定是否动态调整所述下一参数阈值或断开通信链路。
本步骤中,基于下一参数阈值和下一通信状态参数,系统会对两者进行比较。系统根据下一通信状态参数和下一参数阈值的关系可能会进一步的调整下一参数阈值,此时将下一时刻作为当前的时刻,那么下一通信状态参数和下一参数阈值则作为当前的通信状态参数和参数阈值,此时可以重新进入S12的步骤。系统根据下一通信状态参数和下一参数阈值的关系,可能会进一步调整下一参数阈值,也可能会断开通信链路。
通过这种方式,本步骤确保了在链路距离增加等情况下,参数阈值能够根据实时通信状态进行动态调整,从而避免频繁断开通信链路。这样一来,可以提高远程数据复制通信的可靠性,并确保数据能够顺利传输。
在一种实施例中,通信链路上并发多个数据传输操作时,实时获取通信过程中的通信状态参数,包括:
在每个预设周期内,确定数据传输操作的结束时间点在当前的预设周期内的各数据传输操作的实际传输时延;
根据当前的通信状态参数和当前的参数阈值动态调整当前的参数阈值,得到下一参数阈值,包括:
根据当前的实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,第一预设时延值小于当前的时延阈值。
本实施例中,在每个预设周期内,确定各数据传输操作的实际传输时延。这意味着在一个预设的时间段内,通过实时监测数据传输操作的结束时间点,可以计算出该操作的实际传输时延。
然后,根据当前的通信状态参数和当前的参数阈值动态调整参数阈值。这意味着可以将实际传输时延与第一预设时延值进行比较,以确定是否需要调整当前的传输时延阈值。如果第一预设时延值小于当前的实际传输时延,则可以考虑调整当前的时延阈值。
通过在通信过程中实时获取通信状态参数,并根据这些参数动态调整参数阈值,该方法可以使得参数阈值能够适应链路距离的变化。这有助于避免频繁断开通信链路,提高通信链路的可靠性。同时,通过根据实际传输时延和第一预设时延值来确定是否调整时延阈值,可以更加合理地适应不同数据传输操作的需求。
在一种实施例中,根据当前的实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,包括:
统计当前的实际传输时延大于当前的第一预设时延值的数据传输操作的第一个数;
计算第一个数与第二个数的第一比值,第二个数为结束时间点在当前的预设周期内的数据传输操作的总个数;
判断第一比值是否大于第一预设比值;
若大于第一预设比值,则将当前的时延阈值增加时延变量,得到下一时延阈值;
若不大于第一预设比值,则保持当前的时延阈值不变。
本实施例具体描述了一种根据实际传输时延和第一预设时延值来动态调整当前的时延阈值的方法。在这种方法中,首先需要统计实际传输时延大于第一预设时延值的数据传输操作的第一个数。这个统计的目的是为了确定是否存在实际传输时延超过第一预设时延值的情况。
接下来,需要计算第一个数与第二个数的第一比值。其中,第一个数表示实际传输时延大于第一预设时延值的数据传输操作中的第一个数,而第二个数表示结束时间点在当前的预设周期内的数据传输操作的总个数。通过计算这个比值,可以得到实际传输时延超过第一预设时延值的比例。
然后,需要判断第一比值是否大于第一预设比值。如果第一比值大于第一预设比值,表示实际传输时延超过第一预设时延值的比例较高,为了避免数据传输的延迟断开通信链路,需要增加当前的时延阈值。如果第一比值不大于第一预设比值,则表示实际传输时延超过第一预设时延值的比例较低,当前的时延阈值可以保持不变。
通过这样的动态调整方式,可以根据实际的传输情况来自动调整当前的时延阈值,以使得数据传输操作能够更好地适应通信环境的变化。这样可以提高数据传输的可靠性和稳定性,从而提高整个通信链路的性能。
在一种实施例中,计算第一个数与第二个数的第一比值,包括:
连续计算若干个预设周期内的第一个数与第二个数的第一比值;
判断连续若干个预设周期内的第一比值是否均大于第一预设比值;
若均大于第一预设比值,则进入将当前的时延阈值增加时延变量,得到下一时延阈值的步骤。
本实施例中,在每个预设周期内连续计算若干个预设周期内的第一个数与第二个数的第一比值。判断连续若干个预设周期内的第一比值是否均大于第一预设比值。这个判断是为了确定是否需要增加当前的时延阈值。如果连续若干个预设周期内的第一比值均大于第一预设比值,则进入下一步骤,即将当前的时延阈值增加时延变量,得到下一时延阈值。
本实施例中的方法,可以根据连续若干个预设周期内的第一比值的表现来动态调整时延阈值,以适应通信链路上并发多个数据传输操作的情况。这样可以增强数据复制容灾方法的鲁棒性和稳定性,提高数据传输的可靠性和效率。
在一种实施例中,将当前的时延阈值增加时延变量,得到下一时延阈值之后,还包括:
判断下一时延阈值是否大于最大时延阈值;
若小于最大时延阈值,则进入下一阶段并根据所述下一阶段中的时延阈值调整下一阶段的第一预设时延值,重新进入在每个预设周期内,确定数据传输操作的结束时间点在当前的预设周期内的各数据传输操作的实际传输时延的步骤;
若大于最大时延阈值,则结束循环。
本实施例的设计思路是根据上一阶段中计算得到的下一时延阈值来判断是否需要进入下一阶段,并重新进入实时获取数据传输操作的实际传输时延的步骤。具体而言,计算得到下一时延阈值之后,判断下一时延阈值是否大于最大时延阈值:若下一时延阈值小于或等于最大时延阈值,则进入下一阶段继续执行后续步骤。若下一时延阈值大于最大时延阈值,则结束循环,不再执行后续步骤。
具体而言,若下一时延阈值小于或等于最大时延阈值,则进入下一阶段并根据下一阶段中的时延阈值调整下一第一预设时延值,并在下一阶段中重新进入在每个预设周期内,确定数据传输操作的结束时间点在当前的预设周期内的各数据传输操作的实际传输时延的步骤。在一种实施例中,进入下一阶段之后,还可以对本阶段中的第一比值和第一预设时延值进行调整,也即,每个阶段中的第一比值可以相同,也可以不同。进一步的,在一种实施例中,每个阶段中的第一预设时延值为当前阶段的时延阈值的预设倍数,预设倍数大于0且小于1,如预设倍数为0.75。这样设计的目的是根据当前的参数阈值和通信状态参数来动态调整时延阈值,以适应实际的通信情况并保证通信链路的稳定性。如果下一时延阈值大于最大时延阈值,则不再进行后续操作,以避免对通信链路造成过大的负载和不稳定性。
通过限制最大时延阈值,可以确保系统在异常情况下不会无限制地延长传输时延,从而避免数据传输过程中的长时间等待,提高数据可靠性和安全性。通过判断下一时延阈值是否小于最大时延阈值,系统能够自动进行循环控制,根据实际需求调整时延阈值,保证系统在不同的网络环境下具有良好的自适应能力。
在一种实施例中,还包括:
判断下一阶段中计算的第一比值是否小于第二预设比值,第二预设比值小于第一预设比值;
若小于第二预设比值,则将下一时延阈值减小时延变量。
具体的,时延阈值并不是只能在当前的基础上增加时延变量,如下一阶段中的时延阈值已经是增加了时延变量之后的时延阈值,则在下一阶段中,如果第一比值小于第二预设比值,如第二预设比值为小于0.01的数,则此时可以将时延阈值再回调,也即是将下一时延阈值再减小时延变量,作为再下一个阶段的时延阈值,以实现对时延阈值的实时动态调整。
在一种实施例中,在判定小于最大时延阈值之后,还包括:
延时预设观察时间,再进入下一阶段并根据所述下一阶段中的时延阈值调整下一阶段的第一预设时延值,重新进入在每个预设周期内,确定数据传输操作的结束时间点在当前的预设周期内的各数据传输操作的实际传输时延的步骤。
本实施例中,延时预设观察时间的设置是因为在实时获取通信过程中的通信状态参数时,需要获取各数据传输操作的实际传输时延。为了准确地获取实际传输时延,需要在每个预设周期内观察数据传输操作的结束时间点。
然而,由于通信链路上可能有并发多个数据传输操作,各个数据传输操作的结束时间点可能会相互影响。如果没有设定延时预设观察时间,可能会导致在同一预设周期内观察到的数据传输操作的结束时间点不准确,从而影响到实际传输时延的准确获取。
因此,为了确保获取到准确的实际传输时延,本实施例中设置了延时预设观察时间。在完成延时之后,再进入下一阶段并根据所述下一阶段中的时延阈值调整下一阶段的第一预设时延值,重新进入在每个预设周期内,确定数据传输操作的结束时间点在当前的预设周期内的各数据传输操作的实际传输时延的步骤。这样可以确保在每个预设周期内准确获取到数据传输操作的实际传输时延,并根据实际情况进行参数的动态调整。
在一种实施例中,在判定大于最大时延阈值之后,还包括:
对数据传输操作进行中断,并丢弃当前传输的数据包。
本实施例中,在判定实时获取的通信状态参数中的时延阈值大于最大时延阈值后,对数据传输操作进行中断,并丢弃当前传输的数据包,目的是提高通信链路的可靠性和资源利用效率。
具体地,当判定时延阈值大于最大时延阈值时,采取对数据传输操作进行中断的措施。中断操作可以通过暂停或停止数据包的传输来实现。此举可以确保超时的数据包不会长时间占用通信资源,从而提高整个通信链路的可靠性。
在中断数据传输操作时,需要注意只中断数据传输操作,而不中断通信链路本身。这是为了确保第一通信节点和第二通信节点间的通信链路保持连接,以便在适当的时候重新开始数据传输操作。中断数据传输操作后,可以在必要时进行丢弃当前传输的数据包。丢弃数据包可以在第一通信节点或第二通信节点或两者同时进行,以确保数据丢失的可靠性。
在一种实施例中,对数据传输操作进行中断,并丢弃当前传输的数据包之后,还包括:
将丢弃的数据包写入预设存储队列中,并在满足预设条件时对预设存储队列中的数据包重新进行传输。
本实施例描述了一种在数据传输操作中断且丢弃当前传输的数据包后的进一步处理步骤。具体而言,将丢弃的数据包写入预设存储队列,并在满足预设条件时对该队列中的数据包重新进行传输。这种处理方式的目的是为了在数据传输发生中断或丢包时,能够保留这些丢弃的数据包,以便在后续满足某些条件(比如网络恢复正常)时重新进行传输。通过将丢弃的数据包写入预设存储队列,可以确保这些数据包不会丢失,并且可以在需要时重新发送。
预设条件指的是满足重新进行传输的某些要求或触发条件。具体来说,可以通过设置不同的条件来触发重新传输,比如网络连接恢复、传输通道空闲等。当这些条件满足时,可以从预设存储队列中取出之前丢弃的数据包,并重新对它们进行传输。
这种方法的优点是能够提高数据传输的可靠性。即使在传输过程中发生中断或丢包,通过将丢弃的数据包存储起来,并在满足特定条件时重新传输,可以确保数据的完整性和可靠性,避免数据的永久丢失。
在一种实施例中,在满足预设条件时对预设存储队列中的数据包重新进行传输之后,还包括:
判断重新传输数据包是否成功;
若失败,则将用于发送数据包的通信节点从通信系统的集群中退出。
本实施例中,对重新传输的数据包进行判断是否成功。这可以通过检查用于接收数据包的通信节点是否成功接收并确认数据包的到达来实现。如果重新传输的数据包被成功接收和确认,那么整个过程可以被视为成功。但是,如果重新传输的数据包失败,将用于发送所述数据包的通信节点对应的节点从通信系统的集群中退出。这意味着用于发送所述数据包的通信节点不再参与通信系统的集群操作,并且不再负责数据传输。
通过这样的操作,可以保持通信系统的稳定性和可靠性。当数据包传输失败时,用于发送所述数据包的通信节点被移除,以避免其在通信系统中产生更多的问题和干扰。同时,其他节点可以继续进行数据传输,确保整个系统的正常运行。这种措施可以有效地改善通信链路的可靠性,并确保数据的及时传输。
在一种实施例中,判断重新传输数据包是否成功,包括:
将数据包重新发送至用于接收所述数据包的通信节点,并判断若干个时间段内是否接收到用于接收所述数据包的通信节点发送的反馈信息;
若未接收到,则判定重新传输数据包失败;
否则,判定重新传输数据包成功。
本实施例描述了一种判断重新传输数据包是否成功的方法。具体而言,假设第一通信节点为用于发送数据包的通信节点,第二通信节点为用于接收数据包的通信节点,当需要重新传输数据包时,第一通信节点将该数据包重新发送至第二通信节点。接着,在第二通信节点设置若干个时间段用于等待接收到反馈信息。在每个时间段结束后,第二通信节点判断是否接收到了来自第一通信节点的反馈信息。例如,分别设置3秒、5秒和7秒,看在这三个时间点是否均未接收到反馈信息。
如果在所有时间段内都未接收到反馈信息,则判定重新传输数据包失败。这可能意味着数据包在传输过程中发生了丢失或其他错误,无法正常到达第二通信节点。在此情况下,可以将该节点从通信系统的集群中退出,以确保数据的可靠传输和系统的正常运行。
相反,如果在某个时间段内接收到了来自第一通信节点的反馈信息,则判定重新传输数据包成功。这意味着数据包已成功到达第二通信节点,并且第二通信节点已能够对其进行解析和处理。在此情况下,可以继续进行下一步操作,如继续传输其他数据包或执行其他相关任务。
在一种实施例中,将丢弃的数据包写入预设存储队列中,并在满足预设条件时对预设存储队列中的数据包重新进行传输,包括:
将丢弃的数据包按照预设顺序写入预设存储队列中,并在满足预设条件时按照写入预设存储队列的顺序对预设存储队列中的数据包依次重新进行传输。
具体来说,数据传输操作被中断后,丢弃当前传输的数据包。将丢弃的数据包按照预设顺序写入预设存储队列中,保持数据包的原始顺序当满足预设条件时,开始对预设存储队列中的数据包重新进行传输。按照预设存储队列中数据包的顺序依次取出数据包,并进行传输操作。完成传输操作后,继续按照预设顺序取出下一个数据包,并进行传输操作,直到预设存储队列中的所有数据包都被重新传输。
通过上述方法,可以确保在数据传输操作中断后,及时将丢弃的数据包进行存储,并在满足预设条件时重新进行传输。这样可以提高数据传输的可靠性,并确保数据包不会长时间无效占用通信资源。同时,按照预设顺序重新传输数据包,可以保持数据传输的有序性,避免数据包之间的乱序传输带来的混乱。
在一种实施例中,对数据传输操作进行中断,并丢弃当前传输的数据包之后,还包括:
记录丢弃数据包的次数。
在一种实施例中,记录丢弃数据包的次数之后,还包括:
判断丢弃数据包的次数是否达到预设次数;
若达到预设次数,则主动断开通信链路。
本实施例在数据传输操作中断并丢弃当前传输的数据包之后,需要记录下丢弃数据包的次数。这可以用于后续的分析和决策过程。具体而言,会对已记录的丢弃数据包的次数进行判断,以确定是否已经达到预设的次数。预设的次数可以由系统事先设定,根据具体需求和实际情况来确定。如果已经达到了预设的丢弃数据包次数,系统将主动断开当前的通信链路。这样做的目的是为了保证数据传输操作的可靠性和稳定性。
在一种实施例中,还包括:
在每个预设周期内,对接收到的数据包进行校验,以确定数据包中的数据是否发生错误;
若发生错误,则统计数据包发生错误的次数。
从在该实施例中,在接收到数据包之后,每个预设周期内,会对接收到的数据包进行校验。校验的目的是确认数据包中的数据是否遭受到错误,比如数据传输过程中发生丢失、损坏或篡改等情况。数据包校验可以通过使用各种校验算法或协议来实现,例如循环冗余校验。
如果在校验过程中发现该数据包中的数据发生错误,则会计算并统计数据包发生错误的次数。这些错误可以是单个数据包中的一个或多个字节错误,或整个数据包的完整性错误。通过统计错误次数,可以获得数据包传输的错误率,以评估数据传输的可靠性和质量。
这种数据包校验的步骤可用于提高数据传输的可靠性,以确保用于接收所述数据包的通信节点获得准确、完整的数据。此外,通过统计错误次数,还可以提供对数据传输质量的量化评估,如错误率等,用于监测和改进数据传输系统的性能。
在一种实施例中,统计数据包发生错误的次数之后,还包括:
判断数据包发生错误的次数是否达到错误阈值;
若达到错误阈值,则主动中断通信链路。
在该实施例中,首先判断数据包发生错误的次数是否达到错误阈值。然后判断这个统计值是否达到了错误阈值。错误阈值是一个预先设定的值,用于判定接收到的数据包发生错误的程度。如果统计的错误次数超过了错误阈值,就说明错误的发生已经超过了容忍范围,这时为了确保数据复制的准确性和可靠性,需要主动中断通信链路,即断开第一通信节点与第二通信节点的连接。这样可以避免错误数据继续传输,降低错误传播的风险,并保护数据的完整性。
在一种实施例中,判断数据包发生错误的次数是否达到错误阈值,包括:
判断在若干个预设周期内数据包连续发生错误的次数是否达到错误阈值;
若在若干个预设周期内数据包连续发生错误的次数达到错误阈值,则主动中断通信链路。
具体而言,将判断在若干个预设周期内数据包连续发生错误的次数是否达到错误阈值。错误阈值是预先设定的一个参数,用于判断数据包错误情况是否严重。如果在连续的若干个预设周期内,数据包发生错误的次数达到错误阈值,说明数据包的错误情况持续存在,系统会认为通信链路存在严重问题,会主动中断通信链路。通过中断通信链路,可以防止错误的数据包继续传输,提高系统的容灾能力和数据传输的可靠性,保障系统正常运行。
在一种实施例中,统计数据包发生错误的次数,包括:
统计当前预设周期内传输的数据包是否发生错误;
若发生错误,则将标志位更新为错误状态,并将周期错误计数值加一;
若未发生错误,则将标志位更新为正确状态,并将周期错误计数值清零;
判断在若干个预设周期内数据包连续发生错误的次数是否达到错误阈值,包括:
判断周期错误计数值是否达到错误阈值;
若周期错误计数值达到错误阈值,则主动中断通信链路。
本实施例描述了一种数据复制容灾方法中的错误统计和错误阈值判断的过程。具体而言,在每个预设周期内对接收到的数据包进行校验,以确定数据包中的数据是否发生错误。若发生错误,则将标志位更新为错误状态;若未发生错误,则将标志位更新为正确状态。具体地,每个预设周期内也检查标志位的状态,若检测到标志位为正确状态,则将周期错误计数值加一;若检测到标志位为错误状态,则将周期错误计数值清零。
通过判断周期错误计数值是否达到错误阈值。如果周期错误计数值达到错误阈值,则主动中断通信链路。这种方法通过周期性地对数据包进行校验和错误统计,可以及时发现数据包的错误情况。而通过判断周期错误计数值是否达到错误阈值,可以确定是否达到了容忍的错误次数,从而采取相应的容灾措施,如中断通信链路,以保障数据传输的可靠性和完整性。这有助于提高系统的可靠性和容灾能力。
在一种实施例中,在周期错误计数值不为零且未达到错误阈值时,还包括:
检测在预设时间内是否更新标志位;
若在预设时间内未更新标志位,则判定通信发生阻塞,进入主动中断通信链路的步骤。
本实施例中,周期错误计数值不为零且未达到错误阈值时,会对预设时间内是否更新标志位进行检测。如果在预设时间内没有更新标志位,就可以判定通信发生阻塞,也就是无法正常进行数据传输,并进入主动中断通信链路的步骤。
通过这种方式,可以更及时和可靠地发现通信阻塞情况,并进行相应处理,保证数据复制容灾方法的稳定性和可靠性。
在一种实施例中,检测在预设时间内是否更新标志位,包括:
获取未更新标志位时的当前时间戳及接收或发送请求指令的初始时间戳;
判断当前时间戳与初始时间戳之间的时间间隔是否大于预设时间;
若大于预设时间,则判定在预设时间内未更新标志位,并判定通信发生阻塞,进入主动中断通信链路的步骤。
具体而言,首先获取接收或发送请求指令的初始时间戳,并记录当前时间戳。然后,计算当前时间戳与初始时间戳之间的时间间隔。判断时间间隔是否大于预设时间。如果时间间隔大于预设时间,则说明在预设时间内未更新标志位,即通信发生阻塞,主动中断通信链路,即断开第一通信节点和第二通信节点之间的通信链路。这样可以避免由于通信阻塞导致数据传输的延迟或错误。
本实施例中的方法,能够及时检测通信是否发生阻塞,并及时采取措施中断通信链路,以提高系统的稳定性和可靠性。
如图2所示,图2给出了本申请的一种应用场景,生产机房中存储有一些数据包,为提高数据存储的安全性和可靠性,灾备方案中,会将生产机房中的数据远程复制至同城灾备机房或异地灾备机房,如生产机房与同城灾备机房之间的距离在40公里范围内,生产机房和异地灾备机房之间的距离在1000公里以上时,如实现灾备机房的切换,则对应的通信链路的长度也会发生变化,从而通信的稳定性也会发生变化,因此未避免通信稳定性发生变化时频繁断开通信链路,本申请提供了一种数据复制容灾方法应用于上述场景。
如图3所示,图3为本申请提供的一种数据传输超时丢弃的示意图,具体地,假设生产机房的控制器中的通信节点为第一通信节点,灾备机房的控制器中的通信节点为第二通信节点。正常消息收发流程如SCSI(Small Computer System Interface,小型计算机接口)读请求命令0x01,生产机房中的控制器(通信是双向的,也可以是灾备机房中的控制器)交流层(CL,Communication Layer)发起端(也即第一通信节点处)发起IO流程,发出一条SCSI读请求命令0x01,灾备机房中的交流层(CL),也即第二通信节点返送数据到生产机房的第一通信节点。灾备机房控制器在正常时限内反馈返送数据或心跳到第二通信节点的CL层,释放资源。生产机房的第一通信节点在5.2s时限内正常收到返送数据,解析处理,向上层模块转发。
与0x01同时发出的读请求SCSI读请求命令0x02,在灾备机房的第二通信节点CL层返送数据,但第二通信节点超时未能收到反馈,则认为该数据在链路上丢失了,灾备机房的第二通信节点主动丢弃SCSI读请求命令0x02及数据。生产机房的控制器CL层的第一通信节点由于某些原因(如IO 0x02链路丢弃、第二通信节点主动丢弃)一些数据超时未能返回(如0x02、0x0a、0x0b等),则通知驱动层,主动断开远程复制链路。视窗层(WL,Window Layer)检测缓存在待回收队列的消息,如超时达到阈值,则对因超时丢弃的数据予以重传。
如图4所示,图4为本申请提供的一种链路阻塞超时主动断联的示意图。与图3中描述情况相同:SCSI读请求命令0x02对应的数据0x02在时限内未能正常返送到第一通信节点,则予以丢弃处理,暂时不断链路。因为之后其他IO 0x0n正常完成了。表示偶尔发生IO超时,链路通信质量低,但还能保持连通状态。但如果检测到某些数据(0x0x...0x0y)在第一通信节点因超时而主动丢弃,虽然不在连续周期范围内,但之后第一通信节点都没有收到新的反馈,达到4s,则可以认定为对方(第二通信节点)发生了阻塞现象。则主动断开通信链路。
为解决上述技术问题,本申请还提供了一种数据复制容灾系统,如图5所示,包括:
参数获取单元51,用于在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;
阈值更新单元52,用于根据当前的通信状态参数和当前的参数阈值动态调整当前的参数阈值,得到下一参数阈值;
确定单元53,用于基于下一参数阈值和下一通信状态参数确定是否动态调整所述下一参数阈值或是否断开通信链路。
在一种实施例中,通信链路上并发多个数据传输操作时,参数获取单元51,具体用于在第一通信节点和第二通信节点进行通信时,在每个预设周期内,确定数据传输操作的结束时间点在当前的预设周期内的各数据传输操作的实际传输时延;
阈值更新单元52,具体用于根据当前的各实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,第一预设时延值小于当前的时延阈值。
在一种实施例中,阈值更新单元52,包括:
个数统计单元,用于统计当前的实际传输时延大于当前的第一预设时延值的数据传输操作的第一个数;
比值计算单元,用于计算第一个数与第二个数的第一比值,第二个数为结束时间点在当前的预设周期内的数据传输操作的总个数;
比值判断单元,用于判断第一比值是否大于第一预设比值;
第一执行单元,用于在若大于第一预设比值,则将当前的时延阈值增加时延变量,得到下一时延阈值;
第二执行单元,用于在若不大于第一预设比值,则保持当前的时延阈值不变。
在一种实施例中,比值计算单元,具体用于连续计算若干个预设周期内的第一个数与第二个数的第一比值;
比值判断单元,具体用于判断连续若干个预设周期内的第一比值是否均大于第一预设比值;
第一执行单元,具体用于若均大于第一预设比值,则将当前的时延阈值增加时延变量,得到下一时延阈值。
在一种实施例中,还包括:
最大阈值判断单元,用于判断下一时延阈值是否大于最大时延阈值;
第三执行单元,用于在小于最大时延阈值,则进入下一阶段并根据所述下一阶段中的时延阈值调整下一阶段的第一预设时延值,并传输信号至个数统计单元;
第四执行单元,用于在大于最大时延阈值,则结束循环。
在一种实施例中,还包括:
第二预设比值判断单元,用于判断下一阶段中计算的所述第一比值是否小于第二预设比值,所述第二预设比值小于所述第一预设比值;若小于所述第二预设比值,则将所述下一时延阈值减小时延变量。
在一种实施例中,还包括:
延时单元,用于在判定小于最大时延阈值之后,延时预设观察时间,延时单元连接第三执行单元。
在一种实施例中,还包括:
丢弃单元,用于在判定大于最大时延阈值之后,对数据传输操作进行中断,并丢弃当前传输的数据包。
在一种实施例中,还包括:
重新传输单元,用于将丢弃的数据包写入预设存储队列中,并在满足预设条件时对预设存储队列中的数据包重新进行传输。
在一种实施例中,还包括:
数据包传输判断单元,用于判断重新传输数据包是否成功;
第五执行单元,用于在失败时,则将第一通信节点对应的节点从通信系统的集群中退出。
在一种实施例中,数据包传输判断单元,具体用于:
将数据包重新发送至第二通信节点,并判断若干个时间段内是否接收到第二通信节点的反馈信息;若未接收到,则判定重新传输数据包失败;否则,判定重新传输数据包成功。
在一种实施例中,重新传输单元,具体用于将丢弃的数据包按照预设顺序写入预设存储队列中,并在满足预设条件时按照写入预设存储队列的顺序对预设存储队列中的数据包依次重新进行传输。
在一种实施例中,还包括:
丢弃次数记录单元,用于记录丢弃数据包的次数。
在一种实施例中,还包括:
丢弃次数判断单元,用于判断丢弃数据包的次数是否达到预设次数;若达到预设次数,则主动断开通信链路。
在一种实施例中,还包括:
校验单元,用于在每个预设周期内,对接收到的数据包进行校验,以确定数据包中的数据是否发生错误;
错误次数记录单元,用于在发生错误时,则统计数据包发生错误的次数。
在一种实施例中,还包括:
错误次数判断单元,用于判断数据包发生错误的次数是否达到错误阈值;若达到错误阈值,则主动中断通信链路。
在一种实施例中,错误次数判断单元,具体用于判断在若干个预设周期内数据包连续发生错误的次数是否达到错误阈值;若在若干个预设周期内数据包连续发生错误的次数达到错误阈值,则主动中断通信链路。
在一种实施例中,错误次数记录单元,具体用于统计当前预设周期内传输的数据包是否发生错误;若发生错误,则将标志位更新为错误状态,并将周期错误计数值加一;若未发生错误,则将标志位更新为正确状态,并将周期错误计数值清零;
错误次数判断单元,具体用于判断周期错误计数值是否达到错误阈值;若周期错误计数值达到错误阈值,则主动中断通信链路。
在一种实施例中,还包括:
标志位更新检查单元,用于在周期错误计数值不为零且未达到错误阈值时,检测在预设时间内是否更新标志位;若在预设时间内未更新标志位,则判定通信发生阻塞,进入主动中断通信链路的步骤。
在一种实施例中,标志位更新检查单元,具体用于获取未更新标志位时的当前时间戳及接收或发送请求指令的初始时间戳;判断当前时间戳与初始时间戳之间的时间间隔是否大于预设时间;若大于预设时间,则判定在预设时间内未更新标志位,并判定通信发生阻塞,进入主动中断通信链路的步骤。
对于数据复制容灾系统的介绍请参照上述实施例,本申请在此不再赘述。
为解决上述技术问题,本申请还提供了一种数据复制容灾装置,如图6所示,包括:
存储器61,用于存储计算机程序;
处理器62,用于在执行计算机程序时,实现如上述的数据复制容灾方法的步骤。
对于数据复制容灾装置的介绍请参照上述实施例,本申请在此不再赘述。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质71,如图7所示计算机可读存储介质71上存储有计算机程序72,计算机程序72被处理器执行时实现如上述的数据复制容灾方法的步骤。对于计算机可读存储介质71的介绍请参照上述实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (23)
1.一种数据复制容灾方法,其特征在于,包括:
在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;
根据当前的通信状态参数和当前的参数阈值动态调整所述当前的参数阈值,得到下一参数阈值;
基于所述下一参数阈值和下一通信状态参数确定是否动态调整所述下一参数阈值或是否断开所述通信链路。
2.如权利要求1所述的数据复制容灾方法,其特征在于,通信链路上并发多个数据传输操作时,实时获取通信过程中的通信状态参数,包括:
在每个预设周期内,确定所述数据传输操作的结束时间点在当前的预设周期内的各所述数据传输操作的实际传输时延;
根据当前的通信状态参数和当前的参数阈值动态调整所述当前的参数阈值,得到下一参数阈值,包括:
根据当前的实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,所述第一预设时延值小于所述当前的时延阈值。
3.如权利要求2所述的数据复制容灾方法,其特征在于,根据当前的实际传输时延和当前的第一预设时延值确定是否调整当前的时延阈值,包括:
统计所述当前的实际传输时延大于所述当前的第一预设时延值的数据传输操作的第一个数;
计算所述第一个数与第二个数的第一比值,所述第二个数为所述结束时间点在所述当前的预设周期内的数据传输操作的总个数;
判断所述第一比值是否大于第一预设比值;
若大于所述第一预设比值,则将所述当前的时延阈值增加时延变量,得到下一时延阈值;
若不大于所述第一预设比值,则保持所述当前的时延阈值不变。
4.如权利要求3所述的数据复制容灾方法,其特征在于,计算所述第一个数与第二个数的第一比值,包括:
连续计算若干个所述预设周期内的所述第一个数与所述第二个数的第一比值;
判断连续若干个所述预设周期内的所述第一比值是否均大于所述第一预设比值;
若均大于所述第一预设比值,则进入将所述当前的时延阈值增加时延变量,得到下一时延阈值的步骤。
5.如权利要求3所述的数据复制容灾方法,其特征在于,将所述当前的时延阈值增加时延变量,得到下一时延阈值之后,还包括:
判断下一时延阈值是否大于最大时延阈值;
若小于所述最大时延阈值,则进入下一阶段并根据所述下一时延阈值调整下一阶段的第一预设时延值,重新进入在每个预设周期内,确定所述数据传输操作的结束时间点在当前的预设周期内的各所述数据传输操作的实际传输时延的步骤;
若大于所述最大时延阈值,则结束循环。
6.如权利要求5所述的数据复制容灾方法,其特征在于,在判定小于所述最大时延阈值之后,还包括:
延时预设观察时间,再进入下一阶段并根据所述下一时延阈值调整下一阶段的第一预设时延值的步骤。
7.如权利要求5所述的数据复制容灾方法,其特征在于,还包括:
判断下一阶段中计算的所述第一比值是否小于第二预设比值,所述第二预设比值小于所述第一预设比值;
若小于所述第二预设比值,则将所述下一时延阈值减小所述时延变量。
8.如权利要求5所述的数据复制容灾方法,其特征在于,在判定大于所述最大时延阈值之后,还包括:
对所述数据传输操作进行中断,并丢弃当前传输的数据包。
9.如权利要求8所述的数据复制容灾方法,其特征在于,对所述数据传输操作进行中断,并丢弃当前传输的数据包之后,还包括:
将丢弃的所述数据包写入预设存储队列中,并在满足预设条件时对所述预设存储队列中的数据包重新进行传输。
10.如权利要求9所述的数据复制容灾方法,其特征在于,在满足预设条件时对所述预设存储队列中的数据包重新进行传输之后,还包括:
判断重新传输所述数据包是否成功;
若失败,则将用于发送所述数据包的通信节点从通信系统的集群中退出。
11.如权利要求10所述的数据复制容灾方法,其特征在于,判断重新传输所述数据包是否成功,包括:
将所述数据包重新发送至用于接收所述数据包的通信节点,并判断若干个时间段内是否接收到所述用于接收所述数据包的通信节点发送的反馈信息;
若未接收到,则判定重新传输所述数据包失败;
否则,判定重新传输所述数据包成功。
12.如权利要求9所述的数据复制容灾方法,其特征在于,将丢弃的所述数据包写入预设存储队列中,并在满足预设条件时对所述预设存储队列中的数据包重新进行传输,包括:
将丢弃的所述数据包按照预设顺序写入预设存储队列中,并在满足预设条件时按照写入所述预设存储队列的顺序对所述预设存储队列中的数据包依次重新进行传输。
13.如权利要求8所述的数据复制容灾方法,其特征在于,对所述数据传输操作进行中断,并丢弃当前传输的数据包之后,还包括:
记录丢弃所述数据包的次数。
14.如权利要求13所述的数据复制容灾方法,其特征在于,记录丢弃所述数据包的次数之后,还包括:
判断丢弃所述数据包的次数是否达到预设次数;
若达到所述预设次数,则主动断开所述通信链路。
15.如权利要求1-14任一项所述的数据复制容灾方法,其特征在于,还包括:
在每个预设周期内,对接收到的数据包进行校验,以确定所述数据包中的数据是否发生错误;
若发生错误,则统计所述数据包发生错误的次数。
16.如权利要求15所述的数据复制容灾方法,其特征在于,统计所述数据包发生错误的次数之后,还包括:
判断所述数据包发生错误的次数是否达到错误阈值;
若达到所述错误阈值,则主动中断所述通信链路。
17.如权利要求16所述的数据复制容灾方法,其特征在于,判断所述数据包发生错误的次数是否达到错误阈值,包括:
判断在若干个所述预设周期内所述数据包连续发生错误的次数是否达到所述错误阈值;
若在若干个所述预设周期内所述数据包连续发生错误的次数达到所述错误阈值,则主动中断所述通信链路。
18.如权利要求17所述的数据复制容灾方法,其特征在于,统计所述数据包发生错误的次数,包括:
统计当前预设周期内传输的数据包是否发生错误;
若发生错误,则将标志位更新为错误状态,并将周期错误计数值加一;
若未发生错误,则将所述标志位更新为正确状态,并将所述周期错误计数值清零;
判断在若干个所述预设周期内所述数据包连续发生错误的次数是否达到所述错误阈值,包括:
判断所述周期错误计数值是否达到所述错误阈值;
若所述周期错误计数值达到所述错误阈值,则主动中断所述通信链路。
19.如权利要求18所述的数据复制容灾方法,其特征在于,在所述周期错误计数值不为零且未达到所述错误阈值时,还包括:
检测在预设时间内是否更新所述标志位;
若在所述预设时间内未更新所述标志位,则判定通信发生阻塞,进入主动中断所述通信链路的步骤。
20.如权利要求19所述的数据复制容灾方法,其特征在于,检测在预设时间内是否更新所述标志位,包括:
获取未更新所述标志位时的当前时间戳及接收或发送请求指令的初始时间戳;
判断所述当前时间戳与所述初始时间戳之间的时间间隔是否大于所述预设时间;
若大于所述预设时间,则判定在所述预设时间内未更新所述标志位,并判定通信发生阻塞,进入主动中断所述通信链路的步骤。
21.一种数据复制容灾系统,其特征在于,包括:
参数获取单元,用于在第一通信节点和第二通信节点通过通信链路进行通信时,实时获取通信过程中的通信状态参数;
阈值更新单元,用于根据当前的通信状态参数和当前的参数阈值动态调整所述当前的参数阈值,得到下一参数阈值;
确定单元,用于基于所述下一参数阈值和下一通信状态参数确定是否动态调整所述下一参数阈值或是否断开所述通信链路。
22.一种数据复制容灾装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于在执行计算机程序时,实现权利要求1-20任一项所述的数据复制容灾方法的步骤。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-20任一项所述的数据复制容灾方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311630226.5A CN117336345B (zh) | 2023-11-30 | 2023-11-30 | 一种数据复制容灾方法、系统、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311630226.5A CN117336345B (zh) | 2023-11-30 | 2023-11-30 | 一种数据复制容灾方法、系统、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117336345A true CN117336345A (zh) | 2024-01-02 |
CN117336345B CN117336345B (zh) | 2024-02-23 |
Family
ID=89277770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311630226.5A Active CN117336345B (zh) | 2023-11-30 | 2023-11-30 | 一种数据复制容灾方法、系统、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117336345B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212389A (zh) * | 2006-12-30 | 2008-07-02 | 华为技术有限公司 | 一种突发汇聚控制方法及相应的装置、通信设备 |
CN114125897A (zh) * | 2021-11-10 | 2022-03-01 | Oppo广东移动通信有限公司 | 一种调整参数的方法、装置、用户设备和存储介质 |
WO2022042589A1 (zh) * | 2020-08-25 | 2022-03-03 | 深圳市万普拉斯科技有限公司 | 网络数据断流检测方法及装置、终端设备和存储介质 |
US20220103138A1 (en) * | 2019-08-27 | 2022-03-31 | Panasonic Intellectual Property Management Co., Ltd. | Signal processing device and adjusting method |
US20220200858A1 (en) * | 2019-09-12 | 2022-06-23 | Huawei Technologies Co., Ltd. | Method and apparatus for configuring a network parameter |
CN116886576A (zh) * | 2023-07-31 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种多控存储集群通信超时控制方法、装置、设备及介质 |
-
2023
- 2023-11-30 CN CN202311630226.5A patent/CN117336345B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101212389A (zh) * | 2006-12-30 | 2008-07-02 | 华为技术有限公司 | 一种突发汇聚控制方法及相应的装置、通信设备 |
US20220103138A1 (en) * | 2019-08-27 | 2022-03-31 | Panasonic Intellectual Property Management Co., Ltd. | Signal processing device and adjusting method |
US20220200858A1 (en) * | 2019-09-12 | 2022-06-23 | Huawei Technologies Co., Ltd. | Method and apparatus for configuring a network parameter |
WO2022042589A1 (zh) * | 2020-08-25 | 2022-03-03 | 深圳市万普拉斯科技有限公司 | 网络数据断流检测方法及装置、终端设备和存储介质 |
CN114125897A (zh) * | 2021-11-10 | 2022-03-01 | Oppo广东移动通信有限公司 | 一种调整参数的方法、装置、用户设备和存储介质 |
CN116886576A (zh) * | 2023-07-31 | 2023-10-13 | 苏州浪潮智能科技有限公司 | 一种多控存储集群通信超时控制方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117336345B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10348616B2 (en) | Packet transmission method and apparatus, and interconnect interface | |
KR100772528B1 (ko) | 유/무선 네트워크에서 효율적인 패킷 재전송 방법 및 장치 | |
WO2020038308A1 (zh) | 控制面设备的切换方法、装置及转控分离系统 | |
CN107147481A (zh) | 丢包重传方法、装置及电子设备 | |
JP5343436B2 (ja) | 情報管理システム | |
JP2008524942A (ja) | 重複受信確認を用いたデータフロー制御 | |
EP3316520B1 (en) | Bfd method and apparatus | |
US20020120730A1 (en) | Reliability for simple network management protocol trap messages | |
US20030128672A1 (en) | Transmission and flow control | |
US20220345389A1 (en) | Clock-synchronized edge-based network functions | |
JPH0710069B2 (ja) | パケット通信システム | |
CN112335207B (zh) | 应用感知链路 | |
JP2915939B2 (ja) | 実時間メッセージ交換システム | |
CN117336345B (zh) | 一种数据复制容灾方法、系统、装置及介质 | |
JP5229007B2 (ja) | 監視システム、ネットワーク機器、監視情報提供方法およびプログラム | |
US11381505B2 (en) | Acknowledgment storm detection | |
JP2004187010A (ja) | データ処理装置、通信装置、データ処理方法、データ処理プログラム、データ処理プログラムを記録したコンピュータ読取可能な記録媒体 | |
JP2016025653A (ja) | 通信システムおよび通信システムの通信方法 | |
CN112039685B (zh) | 网络管理方法、装置、计算网络和物联网 | |
CN115001630B (zh) | 数据传输方法、装置、设备以及存储介质 | |
JP3889687B2 (ja) | 通信システムの監視制御システム | |
US11848870B2 (en) | Deploying shadow buffer in context of clock-synchronized edge-based network functions | |
WO2021103304A1 (zh) | 一种数据回传方法、装置、设备及计算机可读存储介质 | |
KR20240042801A (ko) | 이중으로 구성된 can 네트워크에서 사용되는 메시지 중복수신 방지 방법 및 이를 수행하기 위한 장치 및 기록 매체 | |
JP2020113841A (ja) | データ処理装置、データ処理方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |