一种网络流量控制方法和装置与流程

文档序号:22505907发布日期:2020-10-13 09:43阅读:86来源:国知局
一种网络流量控制方法和装置与流程

本发明涉及网络技术领域,尤其涉及一种网络流量控制方法和装置。



背景技术:

网络流量是指网络上传输的数据量,一个网络中通常包括多个网络节点,如果某些网络节点过度占用网络带宽,就会造成网络延迟的大幅提升,影响其他网络节点的正常运行。比如由公积金中心、银行分行和银行总行的服务器构成的网络,由于网络流量是从公积金中心汇聚到银行总行的主干网络中,银行总行被动接收,导致无法进行总体网络流量的控制,容易造成网络堵塞、传输失败、影响银行正常业务办理等问题。为了避免上述问题,需要对网络流量进行控制。



技术实现要素:

有鉴于此,本发明实施例提供一种网络流量控制方法和装置,通过从准备就绪通知中获取流量控制参数,进而计算数据下载时间,以使目标节点在数据下载时间上传业务数据,之后统计数据下载时间内网络中传输的数据总流量,进而调整为目标节点分配的网络流量,有效避免了网络拥堵、数据上传失败,保证了管理节点的日常业务办理不受影响。

为实现上述目的,根据本发明实施例的一个方面,提供了一种网络流量控制方法。

本发明实施例的一种网络流量控制方法,包括:当接收到业务数据的准备就绪通知后,从所述准备就绪通知中获取流量控制参数;根据设定的流量控制策略和所述流量控制参数,计算数据下载时间,以使目标节点在所述数据下载时间上传所述业务数据;根据在所述数据下载时间内待上传的所述业务数据的数据量,计算网络中传输的数据总流量;比较所述数据总流量和设定的总流量阈值的大小,根据比较结果调整为所述目标节点分配的网络流量。

可选地,所述流量控制参数包括:所述业务数据包含的数据块总数、数据块大小和传输类型;根据设定的流量控制策略和所述流量控制参数,计算数据下载时间,包括:根据所述数据块总数和所述数据块大小,计算所述业务数据的数据量;在所述传输类型为全量传输或者所述数据量大于等于设定传输阈值时,在设定的工作时间之外选取一段时间作为数据下载时间;在所述数据量小于所述传输阈值时,从所述工作时间中选取一段时间作为所述数据下载时间。

可选地,所述网络中的网络节点包括:多个所述目标节点和管理节点;计算网络中传输的数据总流量,包括:计算所述数据下载时间相同的目标节点待上传的所述业务数据的总数据量,将所述总数据量作为数据总流量;根据比较结果调整为所述目标节点分配的网络流量,包括:确定所述数据总流量大于所述总流量阈值时,根据所述数据下载时间相同的、多个所述目标节点待上传的业务数据的数据量大小,确定最大数据量对应的目标节点;降低为所述最大数据量对应的目标节点分配的网络流量,以使降低后的数据总流量小于等于所述总流量阈值。

可选地,所述网络中的网络节点包括:多个所述目标节点、中间节点和管理节点,所述中间节点用于将来自所述目标节点的所述业务数据转发至所述管理节点;计算网络中传输的数据总流量,包括:计算所述数据下载时间相同的、归属于所述中间节点的目标节点待上传的所述业务数据的分数据量;比较所述分数据量与为所述中间节点设置的分流量阈值的大小;确定所述分数据量大于所述分流量阈值时,降低为归属于所述中间节点的目标节点分配的网络流量;计算所述数据下载时间相同的多个所述目标节点在降低网络流量后的网络总流量,将所述网络总流量作为数据总流量。

可选地,根据比较结果调整为所述目标节点分配的网络流量,包括:确定所述数据总流量大于所述总流量阈值时,根据所述数据下载时间相同的、多个所述目标节点待上传的业务数据的数据量大小,确定最大分数据量对应的中间节点以及归属于所述中间节点的最大数据量对应的目标节点;降低为所述最大分数据量对应的中间节点设置的分流量阈值,以及为所述最大数据量对应的目标节点分配的网络流量,以使降低后的数据总流量小于等于所述总流量阈值。

可选地,所述方法还包括:确定当前目标节点发送所述准备就绪通知的时间早于下一目标节点,且所述当前目标节点待上传的数据块的最大编号大于设定的编号阈值时,降低为所述当前目标节点分配的网络流量;其中,所述当前目标节点和所述下一目标节点归属于同一中间节点。

可选地,所述方法还包括:在当时时间等于所述数据下载时间时,使用所述网络流量下载所述业务数据。

可选地,所述业务数据包括将原始数据切块形成的多个数据块,所述多个数据块分别设置有编号;使用所述网络流量下载所述业务数据,包括:根据数据块大小和所述网络流量,计算当前次下载的数据块个数;按照所述编号由小到大的顺序,下载与所述数据块个数相同的数据块。

可选地,所述方法还包括:计算下载所述目标节点的数据块对应的传输性能指标,判断所述传输性能指标是否大于指标阈值;如果所述传输性能指标大于所述指标阈值,则降低为所述目标节点分配的网络流量,直至所述目标节点对应的传输性能指标等于所述指标阈值,或者降低后的网络流量等于设定的流量下限值;如果所述传输性能指标小于所述指标阈值,则提高为所述目标节点分配的网络流量,直至所述目标节点对应的传输性能指标等于所述指标阈值,或者提高后的网络流量等于设定的流量上限值。

为实现上述目的,根据本发明实施例的另一方面,提供了一种网络流量控制装置。

本发明实施例的一种网络流量控制装置,包括:参数获取模块,用于当接收到业务数据的准备就绪通知后,从所述准备就绪通知中获取流量控制参数;时间计算模块,用于根据设定的流量控制策略和所述流量控制参数,计算数据下载时间,以使目标节点在所述数据下载时间上传所述业务数据;流量计算模块,用于根据在所述数据下载时间内待上传的所述业务数据的数据量,计算网络中传输的数据总流量;流量调整模块,用于比较所述数据总流量和设定的总流量阈值的大小,根据比较结果调整为所述目标节点分配的网络流量。

可选地,所述流量控制参数包括:所述业务数据包含的数据块总数、数据块大小和传输类型;所述时间计算模块,还用于根据所述数据块总数和所述数据块大小,计算所述业务数据的数据量;在所述传输类型为全量传输或者所述数据量大于等于设定传输阈值时,在设定的工作时间之外选取一段时间作为数据下载时间;在所述数据量小于所述传输阈值时,从所述工作时间中选取一段时间作为所述数据下载时间。

可选地,所述网络中的网络节点包括:多个所述目标节点和管理节点;所述流量计算模块,还用于计算所述数据下载时间相同的目标节点待上传的所述业务数据的总数据量,将所述总数据量作为数据总流量;根据比较结果调整为所述目标节点分配的网络流量,包括:确定所述数据总流量大于所述总流量阈值时,根据所述数据下载时间相同的、多个所述目标节点待上传的业务数据的数据量大小,确定最大数据量对应的目标节点;降低为所述最大数据量对应的目标节点分配的网络流量,以使降低后的数据总流量小于等于所述总流量阈值。

可选地,所述网络中的网络节点包括:多个所述目标节点、中间节点和管理节点,所述中间节点用于将来自所述目标节点的所述业务数据转发至所述管理节点;所述流量计算模块,还用于计算所述数据下载时间相同的、归属于所述中间节点的目标节点待上传的所述业务数据的分数据量;比较所述分数据量与为所述中间节点设置的分流量阈值的大小;确定所述分数据量大于所述分流量阈值时,降低为归属于所述中间节点的目标节点分配的网络流量;计算所述数据下载时间相同的多个所述目标节点在降低网络流量后的网络总流量,将所述网络总流量作为数据总流量。

可选地,所述流量调整模块,还用于确定所述数据总流量大于所述总流量阈值时,根据所述数据下载时间相同的、多个所述目标节点待上传的业务数据的数据量大小,确定最大分数据量对应的中间节点以及归属于所述中间节点的最大数据量对应的目标节点;降低为所述最大分数据量对应的中间节点设置的分流量阈值,以及为所述最大数据量对应的目标节点分配的网络流量,以使降低后的数据总流量小于等于所述总流量阈值。

可选地,所述装置还包括:第一优化调整模块,用于确定当前目标节点发送所述准备就绪通知的时间早于下一目标节点,且所述当前目标节点待上传的数据块的最大编号大于设定的编号阈值时,降低为所述当前目标节点分配的网络流量;其中,所述当前目标节点和所述下一目标节点归属于同一中间节点。

可选地,所述装置还包括:数据下载模块,用于在当时时间等于所述数据下载时间时,使用所述网络流量下载所述业务数据。

可选地,所述业务数据包括将原始数据切块形成的多个数据块,所述多个数据块分别设置有编号;所述数据下载模块,还用于根据数据块大小和所述网络流量,计算当前次下载的数据块个数;按照所述编号由小到大的顺序,下载与所述数据块个数相同的数据块。

可选地,所述装置还包括:第二优化调整模块,用于计算下载所述目标节点的数据块对应的传输性能指标,判断所述传输性能指标是否大于指标阈值;如果所述传输性能指标大于所述指标阈值,则降低为所述目标节点分配的网络流量,直至所述目标节点对应的传输性能指标等于所述指标阈值,或者降低后的网络流量等于设定的流量下限值;如果所述传输性能指标小于所述指标阈值,则提高为所述目标节点分配的网络流量,直至所述目标节点对应的传输性能指标等于所述指标阈值,或者提高后的网络流量等于设定的流量上限值。

为实现上述目的,根据本发明实施例的再一方面,提供了一种电子设备。

本发明实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种网络流量控制方法。

为实现上述目的,根据本发明实施例的再一方面,提供了一种计算机可读介质。

本发明实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种网络流量控制方法。

上述发明中的一个实施例具有如下优点或有益效果:

通过从准备就绪通知中获取流量控制参数,进而计算数据下载时间,以使目标节点在数据下载时间上传业务数据,之后统计数据下载时间内网络中传输的数据总流量,进而调整为目标节点分配的网络流量,有效避免了网络拥堵、数据上传失败,保证了管理节点的日常业务办理不受影响;基于传输类型、数据块总数和数据块大小,计算数据下载时间,使得管理节点能够结合自身情况,通知目标节点在其选择的合适的时间段进行数据上传;

结合网络结构和网络中的数据总流量,对大数据量传输的目标节点的网络流量进行了限制,避免其占用过多资源,导致其他目标节点无法上传数据;通过中间节点设置的分流量阈值,控制为目标节点分配的网络流量,避免数据上传失败;通过总流量阈值,控制为中间节点设置的分流量阈值,进而基于分流量阈值控制为目标节点分配的网络流量,合理控制上传的数据量,避免网络拥堵,避免数据上传失败;

根据目标节点发送准备就绪通知的时间和文件块编号,分配网络流量,使得某个大数据量传输的目标节点上传数据时,小数据量传输的目标节点也能及时完成交易并释放资源;管理节点结合网络实际情况,在自身合适的时间段下载业务数据,不影响正常业务办理;按照文件块下载业务数据,实现对网络流量的控制;数据上传开始后,计算目标节点的传输性能指标,进而智能调整并发数,实现高效的数据上传。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的网络流量控制方法的主要步骤的示意图;

图2是本发明一实施例的网络流量控制方法的网络架构示意图;

图3是本发明又一实施例的网络流量控制方法的网络架构示意图;

图4是本发明又一实施例的网络流量控制方法的数据上传流向示意图;

图5是根据本发明实施例的网络流量控制方法的主要流程示意图;

图6是根据本发明实施例的网络流量控制装置的主要模块的示意图;

图7是本发明实施例可以应用于其中的示例性系统架构图;

图8是适用于来实现本发明实施例的电子设备的计算机装置的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

下面对本发明实施例涉及的术语进行解释。

公积金中心:指住房公积金管理中心,是直属城市人民政府的不以营利为目的的独立的事业单位。可以在有条件的县(市)设立分支机构。公积金中心与其分支机构实行统一的规章制度,进行统一核算。

银行分行:是以省级为单位建立的主要负责全省所辖支行的业务统筹和行政管理。由银行分行对接各省所辖的公积金中心。

银行总行:是银行的总机构,负责对接各省银行分行。

xml报文:是指按照xml(extensiblemarkuplanguage,可扩展标记语言)格式,将xml元素组成纯文本格式,可用于交换数据。

linux:是一个多用户、多任务、支持多线程和多cpu的操作系统。linux系统主要用于服务器领域。

shell脚本:与windows/dos下的批处理相似,用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了linux/unix下的命令。

图1是根据本发明实施例的网络流量控制方法的主要步骤的示意图。如图1所示,本发明实施例的网络流量控制方法,主要包括如下步骤:

步骤s101:当接收到业务数据的准备就绪通知后,从所述准备就绪通知中获取流量控制参数。目标节点准备好业务数据后,按照设定的字段格式生成准备就绪通知,并发送至管理节点。管理节点接收到准备就绪通知后,从准备就绪通知中获取流量控制参数。其中,目标节点是需要上传业务数据的网络节点,管理节点是控制网络流量的网络节点,流量控制参数是管理节点计算数据下载时间所需的参数。

步骤s102:根据设定的流量控制策略和所述流量控制参数,计算数据下载时间,以使目标节点在所述数据下载时间上传所述业务数据。管理节点根据自身网络实际情况,预先设定流量控制策略,在接收到准备就绪通知后,根据流量控制策略和流量控制参数,计算出不影响其进行正常业务办理的数据下载时间,并发送至目标节点。目标节点接收到数据下载时间后,可在该数据下载时间内上传业务数据。

步骤s103:根据在所述数据下载时间内待上传的所述业务数据的数据量,计算网络中传输的数据总流量。管理节点统计同一数据下载时间内下级节点的网络流量,计算网络中的数据总流量。该数据总流量是指流向管理节点的网络流量。由于网络结构不同,比如目标节点与管理节点直接相连,下级节点即目标节点;再比如目标节点通过至少一级中间节点与管理节点相连,下级节点即中间节点和目标节点。在实际计算时,需要根据具体地网络结构,计算数据总流量。其中,中间节点用于将目标节点的业务数据转发至管理节点。

步骤s104:比较所述数据总流量和设定的总流量阈值的大小,根据比较结果调整为所述目标节点分配的网络流量。管理节点可以预先为目标节点分配初始的网络流量。为避免流向管理节点的网络流量过大,导致管理节点无法正常运行,需要预先为管理节点设置总流量阈值。比较数据总流量与总流量阈值的大小,如果数据总流量大于总流量阈值,则需要降低为目标节点分配的网络流量,避免传输失败;如果数据总流量小于等于总流量阈值,可以暂时不做处理,继续监控网络中的各目标节点的数据传输。

本实施通过从准备就绪通知中获取流量控制参数,进而计算数据下载时间,以使目标节点在数据下载时间上传业务数据,之后统计同一数据下载时间内网络中传输的数据总流量,进而调整为目标节点分配的网络流量,有效避免了网络拥堵、数据上传失败,保证了在不影响管理节点办理日常业务办理的情况下,上传业务数据。

本发明实施例的网络架构可以包括多级网络节点。图2是本发明一实施例的网络流量控制方法的网络架构示意图。如图2所示,该网络架构由两级网络节点构成,第一级网络节点即管理节点,第二级网络节点即n个目标节点。目标节点向管理节点上传业务数据,管理节点基于网络流量控制方法分配管理数据上传。

图3是本发明又一实施例的网络流量控制方法的网络架构示意图,图4是该网络架构的数据上传流向示意图。如图3和图4所示,该网络架构由三级网络节点构成,第一级网络节点即管理节点,第二级网络节点即m个中间节点,第三级网络节点即n个目标节点。目标节点通过中间节点向管理节点上传业务数据,管理节点基于网络流量控制方法分配管理数据上传。其中,m和n均为整数。

可以理解的是,图2和图3的网络架构示意图仅为示例。实际应用中,目标节点和管理节点之间可以通过多级中间节点连接。归属于同一中间节点的目标节点可以有多个,归属于同一管理节点的中间节点也可以有多个。

图5是根据本发明实施例的网络流量控制方法的主要流程示意图。如图5所示,本发明实施例的网络流量控制方法,主要包括如下步骤:

步骤s501:目标节点从业务数据库获取原始数据,对原始数据进行预处理,得到业务数据后,向管理节点发送准备就绪通知。此处的预处理包括对原始数据进行切块,还可以包括压缩和打包。实施例中,准备就绪通知可以以xml报文或者json(javascriptobjectnotation,js对象简谱)报文格式发送至管理节点。

以xml报文格式为例,实施例的准备就绪通知可以包括:卸载数据日期(txdate)、数据块总数(fileblocknum)、数据块大小(filesize)、文件名(filename)、文件路径(filepath)、批次号(batchno)、批类型(batchtype)、传输类型(transfertype)、数据起始日期(datastartdate)、数据结束日期(dataenddate)和备用字段(bk)。

其中,卸载数据日期是指目标节点从业务数据库获取原始数据的日期。由于原始数据比较大,故需要对原始数据进行切块处理,进而实现按数据块控制网络流量。原始数据切块后所形成的最后一个数据块的大小小于等于数据块大小。文件打包是指将切块、压缩后的原始数据进行打包。目标节点每天可向管理节点上传多个批次的数据,故可用批次号区分不同批次的数据。表1为准备就绪通知的字段说明。

表1

实施例中,如果网络结构为图2所示的网络结构,则目标节点可直接将准备就绪通知发送至管理节点;如果网络结构为图3所示的网络结构,则目标节点需先将准备就绪通知先发送至对应的中间节点,再由中间节点转发至管理节点。

步骤s502:管理节点接收到准备就绪通知后,从准备就绪通知中获取流量控制参数,向目标节点反馈响应数据。实施例中,流量控制参数包括数据块总数、数据块大小和传输类型。响应数据同样可以以xml报文或者json报文格式发送至目标节点。

以xml报文格式为例,实施例的响应数据可以包括申请处理状态(fileserverstat)、失败原因(errorreason)和备用字段(rbk)。其中,申请处理状态指示接收准备就绪通知是否成功。表2为响应数据的字段说明。

表2

实施例中,如果网络结构为图2所示的网络结构,则管理节点可直接将响应数据反馈至目标节点;如果网络结构为图3所示的网络结构,则管理节点需先将响应数据反馈至对应的中间节点,再由中间节点转发至该目标节点。

利用xml报文通信可以为网络流量控制方法提供所需的流量控制参数,能更好的在全部目标节点的业务数据上传前,计算出最优的流量分配,同时管理节点也能及时将上传结果反馈至目标节点。

步骤s503:管理节点根据设定的流量控制策略和流量控制参数,计算数据下载时间,以使目标节点在数据下载时间上传业务数据。此处的流量控制策略设置有不同情况下对数据下载时间的限制条件。比如,传输类型为全量传输,或者数据量大于等于设定的传输阈值时,限制数据下载时间为工作时间之外的时间;数据量小于传输阈值时,限制数据下载时间为工作时间。

具体地,该步骤判断传输类型是否为全量传输,或者数据量是否大于等于设定传输阈值,如果传输类型为全量传输,或者数据量大于等于传输阈值,则在管理节点的工作时间之外选取一段时间作为数据下载时间;如果数据量小于传输阈值,则从管理节点的工作时间中选取一段时间作为数据下载时间。该传输阈值在管理节点设置。

比如,管理节点的工作时间为早上8点至下午6点,某日间批次,数据块总数*数据块大小大于传输阈值,则在早上8点至下午6点之外的时间选取一段时间作为数据下载时间。数据块总数*数据块小于传输阈值,则允许在早上8点至下午6点之间传输。

步骤s504:管理节点根据在同一数据下载时间内待上传的业务数据的数据量和网络结构,计算网络中传输的数据总流量。以图2所示的网络结构为例,计算网络中传输的数据总流量的实现过程为:计算数据下载时间相同的目标节点待上传的业务数据的总数据量,将该总数据量作为数据总流量。该总数据量即同一数据下载时间的目标节点要上传的业务数据所对应的数据量之和。

以图3所示的网络结构为例,计算网络中传输的数据总流量的实现过程为:计算数据下载时间相同的、归属于各中间节点的目标节点待上传的业务数据的分数据量;比较分数据量与为中间节点设置的分流量阈值的大小,在分数据量大于分流量阈值的情况下,降低为该中间节点下的目标节点分配的网络流量;计算数据下载时间相同的、多个目标节点在降低网络流量后的网络总流量,将网络总流量作为数据总流量。

其中,分数据量为归属于同一中间节点、同一数据下载时间的目标节点要上传的业务数据所对应的数据量之和。为避免流向中间节点的网络流量过大,导致中间节点无法正常运行,需要预先为中间节点设置分流量阈值。网络总流量为降低网络流量后,数据下载时间相同的、多个目标节点要上传的业务数据所对应的数据量之和。

步骤s505:管理节点比较数据总流量和设定的总流量阈值的大小,根据比较结果调整为目标节点分配的网络流量。以图2所示的网络结构为例,根据比较结果调整为目标节点分配的网络流量的实现过程为:在数据总流量大于总流量阈值的情况下,根据数据下载时间相同的、多个目标节点待上传的业务数据的数据量大小,确定最大数据量对应的目标节点;之后降低为该最大数据量对应的目标节点分配的网络流量,以使降低后的数据总流量小于等于总流量阈值。

以图3所示的网络结构为例,根据比较结果调整为目标节点分配的网络流量的实现过程为:在数据总流量大于总流量阈值的情况下,根据数据下载时间相同的、多个目标节点待上传的业务数据的数据量大小,确定最大分数据量对应的中间节点以及归属于该中间节点的最大数据量对应的目标节点;之后降低为该最大分数据量对应的中间节点设置的分流量阈值,以及为该最大数据量对应的目标节点分配的网络流量,以使降低后的数据总流量小于等于总流量阈值。

步骤s506:管理节点在当时时间等于数据下载时间时,使用网络流量下载目标节点的业务数据。业务数据的每个数据块设置有编号,且同一目标节点、同一批次的数据块编号连续,编号可以从1开始。在下载业务数据时,根据数据块大小和网络流量,计算此次下载的数据块个数;之后按照数据块编号由小到大的顺序,下载与该数据块个数相同的数据块。

比如某个目标节点上传的业务数据的单个数据块大小为160kb,为该目标节点分配的网络流量为5mb=5*1024kb=5120kb,则该次下载的数据块个数=网络流量/数据块大小=5120kb/160kb=32。之后从该目标节点的业务数据中数据块中,取出编号为1-32的数据块进行下载。

实施例中,同一数据下载时间的目标节点可能有多个,此情况下,可以根据目标节点发送就绪准备通知的时间先后,优先下载就绪准备通知发送时间在前的目标节点的业务数据。

在一优选的实施例中,在步骤s505和步骤s506之间,还可以根据目标节点发送就绪准备通知的时间先后和目标节点待上传的业务数据的数据量大小,进一步调整为目标节点分配的网络流量。具体地,如果当前目标节点发送准备就绪通知的时间早于下一目标节点,且当前目标节点待上传的数据块的最大编号大于设定的编号阈值时,降低为当前目标节点分配的网络流量。其中,当前目标节点和下一目标节点归属于同一中间节点。

在另一优选的实施例中,在步骤s506之后,还可以根据下载数据块的情况计算传输性能指标,根据传输性能指标进一步调整为目标节点分配的网络流量。其中,传输性能指标可以是传输任务耗时、传输失败率等。

具体地,计算下载目标节点的数据块对应的传输性能指标,判断传输性能指标是否大于指标阈值;如果传输性能指标大于指标阈值,则降低为目标节点分配的网络流量,直至目标节点对应的传输性能指标等于指标阈值,或者降低后的网络流量等于设定的流量下限值;

如果传输性能指标小于指标阈值,则提高为目标节点分配的网络流量,直至目标节点对应的传输性能指标等于指标阈值,或者提高后的网络流量等于设定的流量上限值。

在一优选的实施例中,可以使用shell脚本实现网络流量控制方法的执行逻辑。具体地,可以在linux系统中创建定时任务,读取指定位置配置文件,利用shell脚本的执行逻辑判断调用sftp(securefiletransferprotocol,安全文件传送协议)命令,下载数据块,从而达到控制数据上传。

其中,定时任务用于指定执行shell脚本的运行时间,可按分、小时、日、月、星期设置。执行命令为crontab-e,取消命令为crontab–r。配置文件中保存shell脚本允许所需使用的参数,比如ip地址和端口、用户密码、文件名和文件路径等。shell脚本用于写入shell语法与指令,然后利用数组、循环、条件以及逻辑判断等功能,在设定的时间、允许的并发下载数量进行下载,达到控制数据块下载的目的,缓解网络流量压力。

下面以建设全国住房公积金数据集中平台这一具体应用场景对本发明实施例的网络流量控制方法进行进一步说明。该应用场景中需搭建“公积金中心—银行分行—银行总行”这一网络结构(网络结构示意图见图3)。其中,公积金中心的服务器节点即目标节点,银行分行的服务器节点即中间节点,银行总行的服务器节点即管理节点。

对应步骤s501,公积金中心从业务数据库获取原始数据,对原始数据进行预处理,得到业务数据后,向银行总行发送准备就绪通知。具体实现如前所述。

对应步骤s502,银行总行接收到准备就绪通知后,从准备就绪通知中获取流量控制参数,向公积金中心反馈响应数据。具体实现如前所述。

对应步骤s503,由于现有的数据传输方式是公积金中心发起,银行总行被动接收。当面临多个公积金中心进行数据上传时,经常会出现在不同的时间点发起数据传输,这会影响银行总行的网络稳定。实施例中通过计算数据下载时间,使得公积金中心在数据下载时间上传数据,保证影响银行总行的网络稳定。

在计算数据下载时间时,在公积金中心全量传输业务数据(比如初次上传时,公积金中心需要把海量的历史原始数据上传至银行总行,此数据量最大),或者公积金中心某次要上传的业务数据的数据量大于等于设定传输阈值的情况下,需避开公积金中心和银行的正常业务办理时间,以尽可能的减小对公积金中心和银行正常业务产生的影响。

在公积金中心某次要上传的业务数据的数据量小于传输阈值时,引导公积金中心尽量在正常的工作时间段进行传输交易处理。这样可以实现数据传输交易的错峰处理,避免扎堆。

对应步骤s503和步骤s504,由于公积金中心向银行总行传输业务数据,存在公积金中心多、数据量大、传输时间不确定等不可控因素,导致数据传输中存在网络拥堵、资源不足的情况。故需对部分或者全部公积金中心的数据传输任务(即银行总行通过线程向公积金中心发起的数据块获取任务)做并发限制和总流量限制,避免出现公积金中心在上传高峰期挤爆网络专线的情况发生,避免数据上传失败。

同时,对银行分行也进行流量监控,避免一个银行分行下的公积金中心在某个时间段集中上传时,侵占其他银行分行的流量资源,影响其他银行分行的数据上传工作。并且,对同一银行分行下的公积金中心的数据传输也进行流量监控,避免一个公积金中心在进行大数据量传输时占用该银行分行的流量资源,导致该银行分行下的其他公积金中心无法进行数据上传工作。

在一优选的实施例中,为了避免一个公积金中心进行大批量数据上传时,其他只有小数据量传输任务的公积金中心等待资源分配的时间过长,银行总行在抓取任务时,可以根据公积金中心发送准备就绪通知的时间先后和文件块编号合理分配网络流量,以使得小数据量传输任务的公积金中心也能及时的完成交易并释放资源。

比如,传输任务队列中,公积金中心1的传输任务是由两万个数据块构成的传输子任务,公积金中心2的传输任务是几十个数据块构成的传输子任务,且公积金中心1发送准备就绪通知的时间早于公积金中心2。此时,可以分别抓取公积金中心1和公积金中心2中任务编号靠前的十几个任务执行,避免公积金中心2必须等公积金中心1的两万个传输子任务都完成才能进行数据上报。

在另一优选的实施例中,数据上传开始后,公积金中心会占用网络资源,若此时该公积金中心的网络不稳定无法正常传输,仍会继续占用资源,导致其它公积金中心无法及时数据上传。故银行总行会监控公积金中心上传业务数据的传输效率,智能调节并发数,实现高效数据上传。其中,并发数是银行总行向公积金中心获取数据块的并发数。

具体地,当某个公积金中心的数据块传输任务耗时高于平均阈值,或者传输失败率高于平均阈值时,会逐步降低分配给该公积金中心的网络流量,直到任务耗时达到要求,或者降低后的网络流量等于设定的流量下限值,并将流量资源分配给其他传输效率高的公积金中心。其中,传输任务耗时为下载完成时间与下载发起时间的差值。

同时,银行总行持续监控该公积金中心的资源利用率,当该公积金中心的资源利用率在降低并发数后,仍旧低于阈值,则继续降低分配给该公积金中心的网络流量,直到流量下限值。当该公积金中心的传输效率提升之后,也会相对应的再次提升该公积金中心的流量资源分配。

对于传输效率高的公积金中心,银行总行会将空闲的流量资源更多的向该公积金中心倾斜,直到该公积金中心的传输效率达到一个平衡值或者提高后的网络流量等于设定的流量上限值,通过上述处理实现了对流量资源的充分利用和合理分配。

本实施例中,公积金中心与银行总行之间使用xml报文实现通信,首先由公积金中心发送业务数据的准备就绪通知,再由银行总行根据流量控制策略确定数据下载时间,在数据下载时间进行全部流量计算、各银行分行流量计算、各公积金中心流量计算,进而为各银行分行、各公积金中心分配最优的网络流量,并按照网络流量进行数据块下载。实现了在不影响其它业务办理的情况下,稳定、可靠、高效地上传公积金中心的业务数据。

图6是根据本发明实施例的网络流量控制装置的主要模块的示意图。如图6所示,本发明实施例的网络流量控制装置600(即管理节点),主要包括:

参数获取模块601,用于当接收到业务数据的准备就绪通知后,从所述准备就绪通知中获取流量控制参数。目标节点准备好业务数据后,按照设定的字段格式生成准备就绪通知,并发送至管理节点。管理节点接收到准备就绪通知后,从准备就绪通知中获取流量控制参数。其中,目标节点是需要上传业务数据的网络节点,管理节点是控制网络流量的网络节点,流量控制参数是管理节点计算数据下载时间所需的参数。

时间计算模块602,用于根据设定的流量控制策略和所述流量控制参数,计算数据下载时间,以使目标节点在所述数据下载时间上传所述业务数据。管理节点根据自身网络实际情况,预先设定流量控制策略,在接收到准备就绪通知后,根据流量控制策略和流量控制参数,计算出不影响其进行正常业务办理的数据下载时间,并发送至目标节点。目标节点接收到数据下载时间后,可在该数据下载时间内上传业务数据。

流量计算模块603,用于根据在所述数据下载时间内待上传的所述业务数据的数据量,计算网络中传输的数据总流量。管理节点统计同一数据下载时间内下级节点的网络流量,计算网络中的数据总流量。该数据总流量是指流向管理节点的网络流量。由于网络结构不同,比如目标节点与管理节点直接相连,下级节点即目标节点;再比如目标节点通过至少一级中间节点与管理节点相连,下级节点即中间节点和目标节点。在实际计算时,需要根据具体地网络结构,计算数据总流量。其中,中间节点用于将目标节点的业务数据转发至管理节点。

流量调整模块604,用于比较所述数据总流量和设定的总流量阈值的大小,根据比较结果调整为所述目标节点分配的网络流量。管理节点可以预先为目标节点分配初始的网络流量。为避免流向管理节点的网络流量过大,导致管理节点无法正常运行,需要预先为管理节点设置总流量阈值。比较数据总流量与总流量阈值的大小,如果数据总流量大于总流量阈值,则需要降低为目标节点分配的网络流量,避免传输失败;如果数据总流量小于等于总流量阈值,可以暂时不做处理,继续监控网络中的各目标节点的数据传输。

另外,本发明实施例的网络流量控制装置600还可以包括:第一优化调整模块、数据下载模块和第二优化调整模块(图6中未示出)。其中,第一优化调整模块,用于确定当前目标节点发送所述准备就绪通知的时间早于下一目标节点,且所述当前目标节点待上传的数据块的最大编号大于设定的编号阈值时,降低为所述当前目标节点分配的网络流量;其中,所述当前目标节点和所述下一目标节点归属于同一中间节点。数据下载模块,用于在当时时间等于所述数据下载时间时,使用所述网络流量下载所述业务数据。

第二优化调整模块,用于计算下载所述目标节点的数据块对应的传输性能指标,判断所述传输性能指标是否大于指标阈值;如果所述传输性能指标大于所述指标阈值,则降低为所述目标节点分配的网络流量,直至所述目标节点对应的传输性能指标等于所述指标阈值,或者降低后的网络流量等于设定的流量下限值;如果所述传输性能指标小于所述指标阈值,则提高为所述目标节点分配的网络流量,直至所述目标节点对应的传输性能指标等于所述指标阈值,或者提高后的网络流量等于设定的流量上限值。

从以上描述可以看出,通过从准备就绪通知中获取流量控制参数,进而计算数据下载时间,以使目标节点在数据下载时间上传业务数据,之后统计同一数据下载时间内网络中传输的数据总流量,进而调整为目标节点分配的网络流量,有效避免了网络拥堵、数据上传失败,保证了在不影响管理节点办理日常业务办理的情况下,上传业务数据。

图7示出了可以应用本发明实施例的网络流量控制方法或网络流量控制装置的示例性系统架构700。

如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器705可以是提供各种服务的服务器,例如对管理员利用终端设备701、702、703发送的准备就绪通知进行处理的后台管理服务器。后台管理服务器可以获取流量控制参数,计算数据下载时间,计算数据总流量,调整网络流量,并将处理结果(例如分配的网络流量)反馈给终端设备。

需要说明的是,本申请实施例所提供的网络流量控制方法一般由服务器705执行,相应地,网络流量控制装置一般设置于服务器705中。

应该理解,图7中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

根据本发明的实施例,本发明还提供了一种电子设备和一种计算机可读介质。

本发明的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例的一种网络流量控制方法。

本发明的计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例的一种网络流量控制方法。

下面参考图8,其示出了适用于来实现本发明实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有计算机系统800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本发明公开的实施例,上文主要步骤图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括参数获取模块、时间计算模块、流量计算模块和流量调整模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,参数获取模块还可以被描述为“当接收到业务数据的准备就绪通知后,从所述准备就绪通知中获取流量控制参数的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:当接收到业务数据的准备就绪通知后,从所述准备就绪通知中获取流量控制参数;根据设定的流量控制策略和所述流量控制参数,计算数据下载时间,以使目标节点在所述数据下载时间上传所述业务数据;根据在所述数据下载时间内待上传的所述业务数据的数据量,计算网络中传输的数据总流量;比较所述数据总流量和设定的总流量阈值的大小,根据比较结果调整为所述目标节点分配的网络流量。

根据本发明实施例的技术方案,通过从准备就绪通知中获取流量控制参数,进而计算数据下载时间,以使目标节点在数据下载时间上传业务数据,之后统计同一数据下载时间内网络中传输的数据总流量,进而调整为目标节点分配的网络流量,有效避免了网络拥堵、数据上传失败,保证了在不影响管理节点办理日常业务办理的情况下,上传业务数据。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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