一种数据转发方法

文档序号:6625220阅读:817来源:国知局
一种数据转发方法
【专利摘要】本申请公开了一种数据转发方法,包括:转发系统根据当前用户请求发送数据的数据量估计值,为本次发送请求配置相应的转发线程数;当所述数据到达所述转发系统时,所述转发系统确定当前是否已为所述数据对应的所述发送请求创建相应的转发线程,如果是,则利用为所述发送请求创建的转发线程进行所到达数据的转发;否则,根据为所述数据对应的所述发送请求配置的所述转发线程数,为所述数据对应的所述发送请求创建相应数量的转发线程,并利用所创建的转发线程进行所到达数据的转发。采用本发明,可以确保所创建的转发线程能够满足数据转发的实时性要求,同时,可以避免转发资源的浪费。
【专利说明】一种数据转发方法

【技术领域】
[0001]本发明涉及大数据分析技术,特别是涉及一种数据转发方法。

【背景技术】
[0002]在目前的数据转发方案中,通过数据转发系统将各个服务器上的数据(比如日志数据)转发到各个目的系统时,为了使各种数据最终不混乱,数据转发系统对各种数据分别使用一个线程进行转发。这样,当需要转发的数据量比较大时,一个线程转发会过慢,会影响数据转发的实时性。
[0003]针对上述问题,目前提出了一种解决方案,该方案中预先对各种数据类型的数据量做综合评估,根据该评估结果选择一个恰当的固定的数据类型转发线程个数A,每种数据类型都使用A个转发线程进行数据转发。
[0004]上述解决方案中由于对所有数据类型配置一个固定的转发线程个数A,而存在下述问题:
[0005](I)转发线程数A难以评估,如果A过大,数据量小的数据类型会浪费大量的线程资源;如果A太小,难以保证数据量大的数据类型数据的实时性;
[0006](2)系统运行后,新增数据类型不能参与A的评估,造成新增数据转发问题。
[0007]由此可见,现有的转发方案存在转发资源浪费或无法确保数据转发实时性的问题。


【发明内容】

[0008]有鉴于此,本发明的主要目的在于提供一种数据转发方法,该方法可确保数据转发的实时性,同时可以避免转发资源的浪费。
[0009]为了达到上述目的,本发明提出的技术方案为:
[0010]一种数据转发方法,包括:
[0011]转发系统根据当前用户请求发送数据的数据量估计值,为本次发送请求配置相应的转发线程数;
[0012]当所述数据到达所述转发系统时,所述转发系统确定当前是否已为所述数据对应的所述发送请求创建相应的转发线程,如果是,则利用为所述发送请求创建的转发线程进行所到达数据的转发;否则,根据为所述数据对应的所述发送请求配置的所述转发线程数,为所述数据对应的所述发送请求创建相应数量的转发线程,并利用所创建的转发线程进行所到达数据的转发。
[0013]综上所述,本发明提出的数据转发方法,根据用户请求发送数据的数据量估计值,为该请求配置相应的转发线程数,然后在所请求发送的数据首次到达时,为其配置相应数量的转发线程,使得数据发送时所使用的线程数与实际传输量相匹配。这种动态的调整每次发送请求所需的转发线程数的方式,可以确保所创建的转发线程能够满足数据转发的实时性要求,同时,可以避免转发资源的浪费。

【专利附图】

【附图说明】
[0014]图1为本发明实施例一的流程示意图。

【具体实施方式】
[0015]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
[0016]本发明的核心思想是:对于每种请求转发的数据,根据其需要转发的数据估计量,确定所需要使用的转发线程数。这样,对于数据量大的数据转发请求,可以配置较多的转发线程,从而可以确保其转发的实时性,对于数据量小的数据转发请求,则可以配置较少的转发线程,从而可以避免转发进程的浪费。
[0017]图1为本发明实施例一的流程示意图,如图1所示,该实施例主要包括:
[0018]步骤101、转发系统根据当前用户请求发送数据的数据量估计值,为本次发送请求配置相应的转发线程数。
[0019]本步骤用于在收到用户的数据发送请求时,根据数据量估计值为其配置相匹配的转发线程数。这样,可以确保在本次请求发送的数据实际到达转发系统时,为其配置合适数量的转发线程,从而可以有效避免转发线程数量过多时造成的资源浪费问题,以及转发线程数量过少时造成的转发时延过长的问题。
[0020]在实际应用中,所述数据量估计值为所述用户请求发送数据时通知给所述转发系统的。
[0021]具体的,根据数据量估计值配置相匹配的转发线程数,可以按照转发线程数=数据量/进程的数据传输率计算得到,在此不再赘述。
[0022]步骤102、当所述数据到达所述转发系统时,所述转发系统确定当前是否已为所述数据对应的所述发送请求创建相应的转发线程,如果是,则利用为所述发送请求创建的转发线程进行所到达数据的转发;否则,根据为所述数据对应的所述发送请求配置的所述转发线程数,为所述数据对应的所述发送请求创建相应数量的转发线程,并利用所创建的转发线程进行所到达数据的转发。
[0023]在实际应用中,用户请求发送的数据可能会因数据量较大需要分成若干部分发送给转发系统。当首次对所请求的数据进行转发时,需要转发系统先为其创建相应的转发线程,以进行数据的转发,此后其他部分数据到达时,只需要利用首次转发时已创建好的转发线程进行转发即可。
[0024]本步骤中,由于转发线程数量是预先根据用户实际传输数据的估计量确定的,因此,可以有效避免转发线程浪费或无法满足用户传输实时性的问题。
[0025]较佳地,为了使本发明易于实现,本步骤中如果当前没有为所到达数据对应的所述发送请求创建转发线程,可以采用下述方法进行转发线程的创建和数据的转发:
[0026]所述转发系统为所述数据对应的所述发送请求创建一个主转发线程;
[0027]当为所述数据对应的所述发送请求配置的所述转发线程数大于I时,由所述主转发线程创建次级转发线程,所述次级转发线程的数量为所述转发系统为所述数据对应的所述发送请求配置的所述转发线程数;利用所创建的次级转发线程进行所到达数据的转发;
[0028]当为所述数据对应的所述发送请求配置的所述转发线程数等于I时,利用所创建的主转发线程进行所到达数据的转发。
[0029]上述方法中,在为一发送请求创建转发线程时,先创建一个主转发线程,如果该发送请求只需要配置一个转发线程,则直接利用该主转发线程进行相应数据的转发即可,即该主转发线程为用于数据转发的线程,如果该发送请求需要配置多个转发线程,则需要由该主转发线程创建用于数据转发的次级转发线程,即主转发线程用于次级转发线程的创建,数据的具体转发由次级转发线程完成。如此,可以确保转发系统对外提供统一的转发接口,减弱转发系统的耦合性,使得本发明更易于实现。
[0030]通过上述实施例可以看出,本发明根据各发送请求的实际数据传输量估计值,动态地配置转发线程个数,可以很好地保证数据转发的实时性,同时可以保证资源的不浪费。
[0031]综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据转发方法,其特征在于,所述方法包括: 转发系统根据当前用户请求发送数据的数据量估计值,为本次发送请求配置相应的转发线程数; 当所述数据到达所述转发系统时,所述转发系统确定当前是否已为所述数据对应的所述发送请求创建相应的转发线程,如果是,则利用为所述发送请求创建的转发线程进行所到达数据的转发;否则,根据为所述数据对应的所述发送请求配置的所述转发线程数,为所述数据对应的所述发送请求创建相应数量的转发线程,并利用所创建的转发线程进行所到达数据的转发。
2.根据权利要求1所述的方法,其特征在于,所述数据量估计值为所述用户请求发送数据时通知给所述转发系统的。
3.根据权利要求1所述的方法,其特征在于,所述根据为所述数据对应的所述发送请求配置的所述转发线程数,为所述数据对应的所述发送请求创建相应数量的转发线程,并利用所创建的转发线程进行所到达数据的转发包括: 所述转发系统为所述数据对应的所述发送请求创建一个主转发线程; 当为所述数据对应的所述发送请求配置的所述转发线程数大于I时,由所述主转发线程创建次级转发线程,所述次级转发线程的数量为所述转发系统为所述数据对应的所述发送请求配置的所述转发线程数;利用所创建的次级转发线程进行所到达数据的转发; 当为所述数据对应的所述发送请求配置的所述转发线程数等于I时,利用所创建的主转发线程进行所到达数据的转发。
【文档编号】G06F9/38GK104182206SQ201410432129
【公开日】2014年12月3日 申请日期:2014年8月28日 优先权日:2014年8月28日
【发明者】雒根雄 申请人:北京京东尚科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1