一种分级控制数据交换速率的方法及装置与流程

文档序号:20020029发布日期:2020-02-25 11:27阅读:192来源:国知局
一种分级控制数据交换速率的方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种分级控制数据交换速率的方法及装置。



背景技术:

目前,典型的数据交换系统由数据抽取端、数据交换通道以及数据录入端三部分组成。数据抽取端负责从不同的数据源进行数据的采集,数据交换通道负责在网络中进行数据的传输和交换,数据录入端负责把数据写入目标数据源。其中,数据交换通道上的数据交换速率是影响整个数据交换系统吞吐量和稳定性的核心因素。

在目前的数据交换系统中,主要通过限制数据交换通道底层物理网络的网络速率来控制数据交换速率。数据交换速率过低会导致数据交换系统吞吐量降低,影响数据交换的实时性;数据交换速率过高,会增大数据录入端的压力,情况严重时会引起数据录入端过载问题,进而影响数据录入端的稳定性。这种控制方式单一、并且粒度不够精细,且没有考虑到数据交换通道上交换的数据记录的大小。同等网络速率情况下,较小的数据记录意味着经过数据交换通道上的数据记录数增加,较大的数据记录数会增大数据录入端的压力,引起过载问题进而影响数据录入端的稳定性。

因此,如何有效控制数据交换通道上的数据交换速率成为亟待解决的问题。



技术实现要素:

由于现有方法存在上述问题,本发明实施例提出一种分级控制数据交换速率的方法及装置。

第一方面,本发明实施例提出一种分级控制数据交换速率的方法,包括:

实时监控数据交换通道的并发数目,并根据底层物理网络的负载情况调整所述数据交换通道的并发数目,以控制数据交换速率;

实时监控数据记录流的流速,并根据所述数据记录流的流速与第一预设流速之间的关系,进行数据记录流限流控制,以控制所述数据交换速率;

实时监控数据字节流的流速,并根据所述数据字节流的流速与第二预设流速之间的关系,进行数据字节流限流控制,以控制所述数据交换速率。

可选地,所述根据底层物理网络的负载情况调整所述数据交换通道的数目,包括:

在所述底层物理网络的负载小于第一负载阈值的情况下,增加预设个数所述数据交换通道;

在所述底层物理网络的负载大于第二负载阈值的情况下,减少预设个数所述数据交换通道。

可选地,所述根据所述数据记录流的流速与第一预设流速之间的关系,进行数据记录流限流控制,包括:

在所述数据记录流的流速大于所述第一预设流速的情况下,对应线程暂停向所述数据交换通道写入所述数据记录流。

可选地,所述根据所述数据字节流的流速与第二预设流速之间的关系,进行数据字节流限流控制,包括:

在所述数据字节流的流速大于所述第二预设流速的情况下,对应线程暂停向所述底层物理网络写入所述数据字节流。

第二方面,本发明实施例还提出一种分级控制数据交换速率的装置,包括:监控和调整模块、第一监控和控制模块和第二监控和控制模块;

所述监控和调整模块,用于实时监控数据交换通道的并发数目,并根据底层物理网络的负载情况调整所述数据交换通道的并发数目,以控制数据交换速率;

所述第一监控和控制模块,用于实时监控数据记录流的流速,并根据所述数据记录流的流速与第一预设流速之间的关系,进行数据记录流限流控制,以控制所述数据交换速率;

所述第二监控和控制模块,用于实时监控数据字节流的流速,并根据所述数据字节流的流速与第二预设流速之间的关系,进行数据字节流限流控制,以控制所述数据交换速率。

可选地,所述监控和调整模块,具体用于:

实时监控所述数据交换通道的并发数目;

在所述底层物理网络的负载小于第一负载阈值的情况下,增加预设个数所述数据交换通道,以控制所述数据交换速率;

在所述底层物理网络的负载大于第二负载阈值的情况下,减少预设个数所述数据交换通道,以控制所述数据交换速率。

可选地,所述第一监控和控制模块,具体用于:

实时监控所述数据记录流的流速;

在所述数据记录流的流速大于所述第一预设流速的情况下,对应线程暂停向所述数据交换通道写入所述数据记录流,以控制所述数据交换速率。

可选地,所述第二监控和控制模块,具体用于:

实时监控所述数据字节流的流速;

在所述数据字节流的流速大于所述第二预设流速的情况下,对应线程暂停向所述底层物理网络写入所述数据字节流,以控制所述数据交换速率。

第三方面,本发明实施例还提出一种电子设备,包括:

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。

第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

由上述技术方案可知,本发明实施例在传统的限制数据交换底层物理网络的网络速率的基础上,分别从数据交换通道的并发数目、数据字节流的流速以及数据记录流的流速三个层面来控制数据交换速率,从而可以精确地控制数据交换通道上的数据交换速率,提高数据交换系统的吞吐量和稳定性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。

图1为本发明一实施例提供的一种分级控制数据交换速率的方法的流程示意图;

图2为本发明一实施例提供的一种分级控制数据交换速率的装置的结构示意图;

图3为本发明一实施例提供的电子设备的逻辑框图。

具体实施方式

下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

图1示出了本实施例提供的一种分级控制数据交换速率的方法的流程示意图,包括:

s11、实时监控数据交换通道的并发数目,并根据底层物理网络的负载情况调整所述数据交换通道的并发数目,以控制数据交换速率。

其中,所述数据交换通道的并发数目是同时使用的数据交换通道的个数。在本发明实施例中,所述根据底层物理网络的负载情况调整所述数据交换通道的并发数目是通过将所述底层物理网络的负载与预设的负载进行比较;根据比较结果,调整所述数据交换通道的并发数目。

s12、实时监控数据记录流的流速,并根据所述数据记录流的流速与第一预设流速之间的关系,进行数据记录流限流控制,以控制所述数据交换速率。

其中,在本发明实施例中,数据交换系统的数据抽取端从不同数据源采集数据,采集的数据以连续的数据记录为单位。所述连续的数据记录称为数据记录流。过大的数据记录数会增大所述数据交换系统中数据录入端的压力,引起过载问题,进而影响数据录入端的稳定性。因此,为避免出现上述缺陷,在本发明实施例中,人工设定第一预设流速,并根据所述数据记录流的流速与所述第一预设流速之间的关系,进行数据记录流限流控制,以控制所述数据交换速率。

在此需要说明的是,在本发明实施例中,监控的所述数据记录流的流速是所述数据交换系统整体的数据记录流的流速。所述数据交换系统整体的数据记录流的流速等于每个所述数据交换通道的数据记录流的流速之和。

s13、实时监控数据字节流的流速,并根据所述数据字节流的流速与第二预设流速之间的关系,进行数据字节流限流控制,以控制所述数据交换速率。

其中,所述数据记录流中连续的数据记录经过序列化操作之后变成字节流,这些字节流称为数据字节流。在本发明实施例中,人工设定第二预设流速,并根据所述数据字节流的流速与所述第二预设流速之间的关系,进行数据字节流限流控制,以控制所述数据交换速率。

在此需要说明的是,在本发明实施例中,监控的所述数据字节流的流速是所述数据交换系统整体的数据字节流的流速。所述数据交换系统整体的数据字节流的流速等于每个所述数据交换通道的数据字节流的流速之和。

本发明实施例在传统的限制数据交换底层物理网络的网络速率的基础上,分别从数据交换通道的并发数目、数据字节流的流速以及数据记录流的流速三个层面来控制数据交换速率,从而可以精确地控制数据交换通道上的数据交换速率,提高数据交换系统的吞吐量和稳定性。

进一步地,在上述方法实施例的基础上,所述根据底层物理网络的负载情况调整所述数据交换通道的数目,包括:在所述底层物理网络的负载小于第一负载阈值的情况下,增加预设个数所述数据交换通道;在所述底层物理网络的负载大于第二负载阈值的情况下,减少预设个数所述数据交换通道。

其中,所述第一负载阈值、所述第二负载阈值和所述预设个数是人工设定的数据。所述第一负载阈值中的“第一”和所述第二负载阈值中的“第二”不代表顺序关系,而是用来区分两个不同的负载阈值。在本发明实施例中,可以根据底层物理网络的负载与所述第一负载阈值以及所述第二负载阈值的关系,调整所述数据交换通道的并发数目。如将所述第一负载阈值设定为30%,将所述第二负载阈值设定为70%,将所述预设个数设定为1。所述底层物理网络的负载小于30%时,增加一个所述数据交换通道;所述底层物理网络的负载大于70%时,减少一个所述数据交换通道。又如,将所述第一负载阈值设定为20%,将所述第二负载阈值设定为80%,将所述预设个数设定为3。所述底层物理网络的负载小于20%时,增加三个所述数据交换通道;所述底层物理网络的负载大于80%时,减少三个所述数据交换通道。

本发明实施例通过调整数据交换通道的并发数目来控制数据交换通道上的数据交换速率,提高了数据交换系统的吞吐量和稳定性。

进一步地,在上述方法实施例的基础上,所述根据所述数据记录流的流速与第一预设流速之间的关系,进行数据记录流限流控制,包括:在所述数据记录流的流速大于所述第一预设流速的情况下,对应线程暂停向所述数据交换通道写入所述数据记录流。

其中,所述第一预设流速是人工设定的流速。在本发明实施例中,在所述数据记录流的流速大于所述第一预设流速的情况下,对应线程暂停向所述数据交换通道写入所述数据记录流。需要说明的是,对应线程暂停向所述数据交换通道写入所述数据记录流的同时,会睡眠一段时间。线程唤醒后开始再次向所述数据交换通道写入所述数据记录流。

本发明实施例通过控制数据记录流的流速来控制数据交换通道上的数据交换速率,提高了数据交换系统的吞吐量和稳定性。

进一步地,在上述方法实施例的基础上,所述根据所述数据字节流的流速与第二预设流速之间的关系,进行数据字节流限流控制,包括:在所述数据字节流的流速大于所述第二预设流速的情况下,对应线程暂停向所述底层物理网络写入数据字节流。

其中,所述第二预设流速是人工设定的流速。在本发明实施例中,在所述数据字节流的流速大于所述第二预设流速的情况下,对应线程暂停向所述底层物理网络写入所述数据字节流。需要说明的是,对应线程暂停向所述底层物理网络写入所述数据字节流的同时,会睡眠一段时间。线程唤醒后开始再次向所述底层物理网络写入所述数据字节流。

在此需要说明的是,所述第二预设流速中的“第二”与上文中所述第一预设流速中的“第一”不代表顺序关系,而是用来区分两个不同的预设流速。

本发明实施例通过控制数据字节流的流速来控制数据交换通道上的数据交换速率,提高了数据交换系统的吞吐量和稳定性。

图2示出了本实施例提供的一种分级控制数据交换速率的装置的结构示意图,包括:监控和调整模块21、第一监控和控制模块22和第二监控和控制模块23;

所述监控和调整模块21,用于实时监控数据交换通道的并发数目,并根据底层物理网络的负载情况调整所述数据交换通道的并发数目,以控制数据交换速率;

所述第一监控和控制模块22,用于实时监控数据记录流的流速,并根据所述数据记录流的流速与第一预设流速之间的关系,进行数据记录流限流控制,以控制所述数据交换速率;

所述第二监控和控制模块23,用于实时监控数据字节流的流速,并根据所述数据字节流的流速与第二预设流速之间的关系,进行数据字节流限流控制,以控制所述数据交换速率。

进一步地,在上述装置实施例的基础上,所述监控和调整模块21,具体用于:

实时监控所述数据交换通道的并发数目;

在所述底层物理网络的负载小于第一负载阈值的情况下,增加预设个数所述数据交换通道,以控制所述数据交换速率;

在所述底层物理网络的负载大于第二负载阈值的情况下,减少预设个数所述数据交换通道,以控制所述数据交换速率。

进一步地,在上述装置实施例的基础上,所述第一监控和控制模块22,具体用于:

实时监控所述数据记录流的流速;

在所述数据记录流的流速大于所述第一预设流速的情况下,对应线程暂停向所述数据交换通道写入所述数据记录流,以控制所述数据交换速率。

进一步地,在上述装置实施例的基础上,所述第二监控和控制模块23,具体用于:

实时监控所述数据字节流的流速;

在所述数据字节流的流速大于所述第二预设流速的情况下,对应线程暂停向所述底层物理网络写入所述数据字节流,以控制所述数据交换速率。

图3为本发明一实施例提供的电子设备的逻辑框图;所述电子设备,包括:处理器(processor)31、存储器(memory)32和总线33;

其中,所述处理器31和存储器32通过所述总线33完成相互间的通信;所述处理器31用于调用所述存储器32中的程序指令,以执行上述方法实施例所提供的方法。

本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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