一种数据业务下发调度方法及装置与流程

文档序号:13883612阅读:355来源:国知局
一种数据业务下发调度方法及装置与流程

本发明涉及数据业务下发控制技术,具体涉及一种数据业务下发调度方法及装置。



背景技术:

数据业务平台一般承载着短彩信等个人数据业务。其中短信的应用包含了如传统的天气预报、市场快讯、招工信息等时间固定的下发需求;也有随着互联网业务的拓展,产生的如验证码、用户操作提示、信息推广等业务场景。

以中国移动的移动梦网为例,为了整合资源,各业务会统一采用一套短信下发通道程序。其短信下发通道解决方案通常包括文件传输协议(ftp,filetransferprotocol)服务器,互联网(web)接口服务器,数据库,微软消息队列(msmq,microsoftmessagequeuing)等,以及与短信网关进行通信的程序模块等。而随着短消息服务的发展,短消息的主要提供者从传统的短消息服务中心变为互联网上的sp服务提供商(sp,serviceprovider)。各sp进行短信下发主要有两种应用场景。第一种是普通的短信数据业务,其特点为多sp业务并行,下发量大。数据业务平台将生成的短信数据业务文件包(包含下发号码,下发端口,下发内容,平台中的sp代码等信息)存放在指定的ftp服务器上,由数据业务下发通道的读取模块进行鉴权、敏感信息审核、黑名单过滤等操作后插入下发队列。第二种是时效性要求高的短信数据业务,如验证码,操作提示等短信数据业务等。此类短信数据业务的特点是量小,及时性要求高。数据业务平台直接调用短信下发通道提供的即时下发接口,将其直接插入下发队列的前列。

但现有的数据业务下发通道的缺点主要在于缺乏流量控制能力。在下发速度有限的情况下,各sp将出现激烈竞争。一般来说,各sp在各个时间段的发送量不是很均匀,有时其中一个sp会在某一时间推送大量的普通短信数据业务下发文件至ftp服务器,按先进先出的原则,后面的普通短信数据业务只能等待该sp的普通短信数据业务全部下发完成,才能下发,这个等待时间有时是很长的。其它sp在等不及的情况下,可能会通过添加优先级的方式直接调用短信下发通道提供的即时下发接口。但是如果各个sp都对普通短信数据业务标上优先级,则不仅操作繁琐,而且优先级也会失去作用,造成即时下发接口的拥堵。



技术实现要素:

有鉴于此,本发明实施例期望提供一种数据业务下发调度方法及装置,能科学的调度各个数据业务按规定数量、按序进入数据业务下发通道内,避免某一类型的数据业务在短时间内的大量下发,影响其它数据业务的及时下发。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供了一种数据业务下发调度方法,所述方法包括:

根据接收到的数据业务类型,对所述数据业务分类并计数;

根据各个数据业务的数据量差异,确定轮询调度的加权系数;

当数据业务下发通道开放时,根据确定的加权系数轮询调度所述数据业务进入所述数据业务下发通道。

优选地,所述对所述数据业务分类并计数,包括:

根据接收到的数据业务类型,建立以所述数据业务类型为索引的数据业务下发数据库。

优选地,所述确定轮询调度的加权系数,包括:

根据每个数据业务的数据量在所有数据业务的累计数据量中的比重,确定轮询调度的加权系数。

优选地,所述确定轮询调度的加权系数之前,还包括:

根据数据业务类型的数量,确定轮询调度的执行周期。

优选地,所述对所述数据业务分类并计数之前,还包括:

建立多个包括数据业务类型及其加权系数的轮询调度配置表;

所述确定轮询调度的加权系数,还包括:

根据各个数据业务的数据量差异,选择相适应的轮询调度配置表。

本发明实施例还提供了一种数据业务下发调度装置,所述装置包括统计模块、确定模块和调度模块;其中,

所述统计模块,用于根据接收到的数据业务类型,对所述数据业务分类并计数;

所述确定模块,用于根据各个数据业务的数据量差异,确定轮询调度的加权系数;

所述调度模块,用于当数据业务下发通道开放时,根据确定的加权系数轮询调度所述数据业务进入所述数据业务下发通道。

优选地,所述统计模块具体用于:

根据接收到的数据业务类型,建立以所述数据业务类型为索引的数据业务下发数据库。

优选地,所述确定模块具体用于:

根据每个数据业务的数据量在所有数据业务的累计数据量中的比重,确定轮询调度的加权系数。

优选地,所述确定模块还用于:

根据数据业务类型的数量,确定轮询调度的执行周期。

优选地,所述统计模块还用于:建立多个包括数据业务类型及其加权系数的轮询调度配置表;

所述确定模块还用于:根据各个数据业务的数据量差异,选择相适应的轮询调度配置表。

本发明实施例提供的数据业务下发调度方法及装置,根据接收到的数据业务类型,对所述数据业务分类并计数;根据各个数据业务的数据量差异,确定轮询调度的加权系数;当数据业务下发通道开放时,根据确定的加权系数轮询调度所述数据业务进入所述数据业务下发通道;可见,本发明实施例能根据各个数据业务的数据量差异,确定轮询调度的加权系数,并根据确定的加权系数轮询调度数据业务进入数据业务下发通道,使各个数据业务按规定数量、按序进入数据业务下发通道内,避免某一类型的数据业务在短时间内的大量下发,影响其它数据业务的及时发送。

附图说明

图1为本发明实施例一数据业务下发调度方法的实现流程示意图;

图2为本发明实施例二数据业务下发调度方法的详细的实现流程示意图;

图3为本发明实施例三数据业务下发调度装置的示意图。

具体实施方式

下面将结合附图及具体实施例对本发明再做进一步的说明。

实施例一

图1为本发明实施例一数据业务下发调度方法的实现流程示意图,所述方法的执行主体为服务器,更具体地是通信运营商的调度服务器,以下简称调度服务器,如图1所示,所述数据业务下发调度方法,包括:

步骤101:根据接收到的数据业务类型,对所述数据业务分类并计数;

这里,数据业务可以是普通的短信和彩信业务,包括天气预报、市场快讯、招工信息等通知类信息外,也包括验证码、用户操作提示、信息推广等互动类信息。

数据业务类型主要是指来自不同的服务提供商(sp,serviceprovider)的数据业务数据,因此,实际使用中,可以是按sp代码对数据业务进行分类,因为对下发通道的竞争,主要是sp之间的竞争;

进一步地,如果某一个sp的数据业务量特别大,该sp可以申请多个sp代码。

为了科学调度各种类型的数据业务,调度服务器对所述数据业务分类并计数;计数之后,调度服务器可以对数量比较多的数据业务,多调度一些到数据业务下发通道,关于数据业务的调度数据量和数据业务数据量的关系,具体见步骤102。

为了更好的对数据业务分类和计数,调度服务器将接收到的数据业务,建立以所述数据业务类型为索引的数据业务下发数据库。

调度服务器根据下发数据库能快速统计出各个数据业务的数据量,确定它们之间的差异,即每个数据业务的数据量占所有数据业务的累计数据量的比重,更有利于科学调度。

步骤102:根据各个数据业务的数据量差异,确定轮询调度的加权系数;

由于数据业务类型比较多,为了使所有的数据业务都能相对及时的下发,本发明实施例确定对数据业务的下发采用轮询调度;

轮询调度的执行周期可以根据数据业务类型的数量确定,即调度服务器接收到的数据业务类型的数量多些,轮询调度的执行周期就设置的长一些。

实际使用中,数据业务类型数量不超过20个的情况下,执行周期可以设置为60秒,如果数据业务类型数量多于20个,可根据比例相应增加执行周期时间,如果数据业务类型数量小于20个,一般可不作调整。

一个执行周期的总调度量和数据业务下发通道的带宽有关,不同的通信运营商设置有不同的带宽,不作详述。

进一步地,由于各个数据业务类型的数据业务的数据量通常是不一样的,有时差异还特别大,所以,需要对轮询调度设置加权系数,即对不同数据业务类型的数据业务采用不同的加权系数;

基本的原则是,调度服务器可以将数据量多的数据业务的调度数据量设置得多一些,也就是可以将该数据业务的加权系数设置得大一些;

具体地,根据每个数据业务的数据量在所有数据业务的累计数据量中的比重,确定每个数据业务在轮询调度的加权系数,这样设置的加权系数更科学。

为了设置方便,将轮询调度的加权系数通过时间来表示,时间的单位是秒,由于执行周期的单位也是秒,所以调度服务器通过加权系数就能确定某一个数据业务在一个执行周期内的调度数据量,即数据业务在一个执行周期的调度数据量等于加权系数与执行周期的比值,再乘以一个执行周期的总调度量,例如:

例1,轮询调度的执行周期设置为60秒,一个执行周期的总调度量设置为24000条,数据业务a的加权系数根据数据业务a的数据量设置为10秒,则数据业务a在一个执行周期内的调度数据量为:(10/60)*24000=4000条;

进一步地,加权系数的确定是实时的,即调度服务器能实时获知新收到的数据业务,并确定各个数据业务的数据量,并据此重新确定加权系数。

更进一步地,在数据业务类型比较少,各个数据业务的数据量相对比较稳定或波动的比较有规律时,调度服务器可以建立多个包括数据业务类型及其加权系数的轮询调度配置表;然后根据各个数据业务的数据量差异,选择相适应的轮询调度配置表,轮询调度所述数据业务进入所述数据业务下发通道;

调度服务器选择轮询调度配置表之后,不用实时变更加权系数,而是对各个数据业务的实时数据量设置比较大的变动范围,在该变动范围内,调度服务器执行同一个轮询调度配置表,这样就不用频繁的变更加权系数,减小调度服务器的开销。

具体地,轮询调度配置表如表1所示:

表1

其中:

sp代码,是sp申请后获得的代码,是调度服务器对数据业务分类计数的依据;

基准速度,是数据业务下发通道的下发速度,单位为条/秒,和数据业务下发通道的带宽有关,一般为固定的;

加权系数,是根据调度服务器以往接收到的各个数据业务的数据量的统计,预先设定的轮询调度的加权系数;为了轮询调度配置表的设置简单,轮询调度配置表的执行周期可以固定为60秒,即在60秒的时间内,所有类型的数据业务都会被调度一次;加权系数通过时间来表示,时间的单位是秒;

调度数据量,是数据业务在一个执行周期的下发量,可以通过基准速度*加权系数来确定,这样可以知道加权系数越大,该加权系数对应的数据业务在一个执行周期的调度数据量也就越多。

例2,数据业务下发通道固定的基准速度为400条/秒,sp代码为001的数据业务的加权系数为10秒,则sp代码为001的数据业务的调度数据量为4000条,也就是sp代码为001的数据业务在一个执行周期内可以下发4000条。

建立的多个轮询调度配置表中,调度服务器对每个轮询调度配置表都根据其中一个数据业务,设置一个较大的加权系数,然后根据各个数据业务的实时数据量,选择相应的轮询调度配置表,例如,当数据业务a的实时数据量非常多,占比超过二分之一,则选择一个数据业务a的加权系数比较大的配置表,如可以是基础配置表一;当数据业务b的实时数据量非常多,则选择数据业务b的加权系数比较大的配置表,如可以是基础配置表二,如果都比较平均,则选择加权系数平均设置的配置表,如可以是基础配置表三;

由于轮询调度配置表都是事先设置的,所以加权系数不是严格按每个数据业务的数据量在所有数据业务的累计数据量中的比重确定的,只适用于数据业务类型比较少,各个数据业务的数据量相对比较稳定或波动的比较有规律的情况下使用。

步骤103:当数据业务下发通道开放时,根据确定的加权系数轮询调度所述数据业务进入所述数据业务下发通道。

数据业务下发通道的带宽是有限的,在数据业务下发通道内数据业务数据量比较多,容易拥堵时,调度服务器会暂时关闭数据业务下发通道的进口;

具体地,调度服务器可设置一个数据业务的数据量阈值来判断数据业务下发通道内的拥堵程度,数据业务的数据量阈值可按经验值取10倍的数据业务下发通道每秒的下发量,当调度服务器获取的数据业务下发通道内的数据业务数据量超过所述数据业务的数据量阈值时,可以认为数据业务下发通道可能存在拥堵或即将造成拥堵,所以调度服务器会暂时关闭数据业务下发通道的进口。

当调度服务器获取的数据业务下发通道内的数据业务的数据量小于所述数据业务的数据量阈值,可以认为数据业务下发通道是畅通的,所以调度服务器开放数据业务下发通道的进口;

当数据业务下发通道开放时,调度服务器可以按确定的加权系数轮询调度数据业务进入所述数据业务下发通道;如果调度服务器选择了相适应的轮询调度配置表,则按轮询调度配置表中的加权系数轮询调度数据业务进入所述数据业务下发通道;

具体地,调度服务器根据加权系数和执行周期,确定某一数据业务在一个执行周期的调度数据量,提取该数据业务的调度数据量,进入所述数据业务下发通道;

然后,调度服务器继续轮询调度下一个数据业务。

注意,实际使用中,数据业务下发通道的进口设有两个,一个是用于时效性要求高的短信数据业务,另一个是用于普通的短信数据业务;在数据业务下发通道比较拥挤时,会关闭用于普通的短信数据业务的进口,这样保证时效性要求高的短信数据业务的及时下发。

实施例二

图2为本发明实施例二数据业务下发调度方法的详细的实现流程示意图,流程包括:

步骤301:根据接收到的数据业务类型,对所述数据业务分类并计数;具体地,根据下发数据库,快速统计出各个数据业务的数据量,确定它们之间的差异,即每个数据业务的数据量占所有数据业务的累计数据量的比重;

步骤302:根据各个数据业务的数据量差异,确定轮询调度的加权系数;具体地,根据每个数据业务的数据量在所有数据业务的累计数据量中的比重,确定每个数据业务在轮询调度的加权系数;

步骤303:根据确定的加权系数,确定当前调度的数据业务在一个执行周期的调度数据量;将加权系数通过时间来表示,则当前调度的数据业务在一个执行周期的调度数据量,等于加权系数与设置的执行周期的比值,乘以一个执行周期的总调度量;

步骤304:获取数据业务下发通道的数据业务数据量;调度服务器能实时获取数据业务下发通道的数据业务数据量,请据此执行下一步;

步骤305~306:如果获取的数据业务数据量小于数据业务数据量阈值,继续执行,否则,暂停1秒后重新执行步骤304;

步骤307:提取该数据业务的调度数据量,进入数据下发通道;调度完一个数据业务后,继续调度下一个数据业务,即调度完一个数据业务后,返回步骤301,重新开始整个流程。

实施例三

图3为本发明实施例三数据业务下发调度装置的示意图,如图3所示,本发明实施例的一种数据业务下发调度装置,包括:统计模块51、确定模块52和调度模块53;其中,

所述统计模块51,用于根据接收到的数据业务类型,对所述数据业务分类并计数;

所述确定模块52,用于根据各个数据业务的数据量差异,确定轮询调度的加权系数;

所述调度模块53,用于当数据业务下发通道开放时,根据确定的加权系数轮询调度所述数据业务进入所述数据业务下发通道。

为了说明的更清楚,下面将分别对各个模块作详细说明:

所述统计模块51,具体用于根据接收到的数据业务类型,建立以所述数据业务类型为索引的数据业务下发数据库;

统计模块51根据下发数据库能快速统计出各个数据业务的数据量,确定它们之间的差异,即每个数据业务的数据量占所有数据业务的累计数据量的比重;

上述方案中,数据业务可以是普通的短信和彩信业务,包括天气预报、市场快讯、招工信息等通知类信息外,也包括验证码、用户操作提示、信息推广等互动类信息;数据业务类型主要是指来自不同的服务提供商(sp,serviceprovider)的数据业务数据,因此,实际使用中,可以是按sp代码对数据业务进行分类,因为对下发通道的竞争,主要是sp之间的竞争;

进一步地,如果某一个sp的数据业务量特别大,该sp可以申请多个sp代码。

所述确定模块52,具体用于根据每个数据业务的数据量在所有数据业务的累计数据量中的比重,确定轮询调度的加权系数;

所述确定模块52,还用于根据数据业务类型的数量,确定轮询调度的执行周期。即统计模块51接收到的数据业务类型的数量多些,确定模块52就将轮询调度的执行周期设置的长一些。

实际使用中,数据业务类型数量不超过20个的情况下,执行周期可以设置为60秒,如果数据业务类型数量多于20个,可根据比例相应增加执行周期时间,如果数据业务类型数量小于20个,一般可不作调整。

为了设置方便,所述确定模块52将轮询调度的加权系数通过时间来表示,时间的单位是秒;

所述确定模块确定了加权系数,就能确定某一个数据业务在一个执行周期内的调度数据量,如果加权系数是用时间表示的,则数据业务在一个执行周期的调度数据量等于加权系数与执行周期的比值,再乘以一个执行周期的总调度量,例如:

例1,轮询调度的执行周期设置为60秒,一个执行周期的总调度量设置为24000条,数据业务a的加权系数根据数据业务a的数据量设置为10秒,则数据业务a在一个执行周期内的调度数据量为:(10/60)*24000=4000条;

进一步地,确定模块52对加权系数的确定是实时的,即统计模块51能实时获知新收到的数据业务,并确定各个数据业务的数据量,确定模块52据此重新确定加权系数。

所述统计模块51,还用于建立多个包括数据业务类型及其加权系数的轮询调度配置表,这样确定模块52不用实时确定加权系数;

所述确定模块52,还用于根据各个数据业务的数据量差异,选择相适应的轮询调度配置表。

确定模块52选择轮询调度配置表之后,不用实时变更加权系数,而是对各个数据业务的实时数据量设置比较大的变动范围,在该变动范围内,调度模块53执行同一个轮询调度配置表,这样就不用频繁的变更加权系数,减小确定模块52的开销。

具体地,轮询调度配置表如表1所示,其中:

sp代码,是sp申请后获得的代码,是统计模块51对数据业务分类计数的依据;

基准速度,是数据业务下发通道的下发速度,单位为条/秒,和数据业务下发通道的带宽有关,一般为固定的;

加权系数,是根据统计模块51以往接收到的各个数据业务的数据量的统计,预先设定的轮询调度的加权系数;为了轮询调度配置表的设置简单,轮询调度配置表的执行周期可以固定为60秒,即在60秒的时间内,所有类型的数据业务都会被调度一次;加权系数通过时间来表示,时间的单位是秒;

调度数据量,是数据业务在一个执行周期的下发量,可以通过基准速度*加权系数来确定,这样可以知道加权系数越大,该加权系数对应的数据业务在一个执行周期的调度数据量也就越多。

例2,数据业务下发通道固定的基准速度为400条/秒,sp代码为001的数据业务的加权系数为10秒,则sp代码为001的数据业务的调度数据量为4000条,也就是sp代码为001的数据业务在一个执行周期内可以下发4000条。

所述统计模块51,用于建立多个轮询调度配置表,其中,对每个轮询调度配置表,都选择其中一个数据业务,设置一个较大的加权系数;

所述确定模块52,用于根据各个数据业务的实时数据量,选择相应的轮询调度配置表,例如,当数据业务a的实时数据量非常多,占比超过二分之一,则选择一个数据业务a的加权系数比较大的配置表,如可以是基础配置表一;当数据业务b的实时数据量非常多,则选择数据业务b的加权系数比较大的配置表,如可以是基础配置表二,如果都比较平均,则选择加权系数平均设置的配置表,如可以是基础配置表三;

由于轮询调度配置表都是事先设置的,所以加权系数不是严格按每个数据业务的数据量在所有数据业务的累计数据量中的比重确定的,只适用于数据业务类型比较少,各个数据业务的数据量相对比较稳定或波动的比较有规律的情况下使用。

所述调度模块53,用于当数据业务下发通道开放时,根据确定的加权系数轮询调度所述数据业务进入所述数据业务下发通道。

所述调度模块53,能根据下发通道内数据业务数据量情况,开放或暂时关闭数据业务下发通道的进口,因为数据业务下发通道的带宽是有限的,在数据业务下发通道内数据业务数据量比较多时,容易拥堵;

所述调度模块53,通过数据业务的数据量阈值来判断数据业务下发通道内的拥堵程度;

具体地,数据业务的数据量阈值可按经验值取10倍的数据业务下发通道每秒的下发量,当调度模块53获取的数据业务下发通道内的数据业务数据量超过所述数据业务的数据量阈值时,可以认为数据业务下发通道可能存在拥堵或即将造成拥堵,所以调度模块53会暂时关闭数据业务下发通道的进口;当调度模块53获取的数据业务下发通道内的数据业务的数据量小于所述数据业务的数据量阈值,可以认为数据业务下发通道是畅通的,所以调度模块53开放数据业务下发通道的进口;

当数据业务下发通道开放时,调度模块53可以按确定的加权系数轮询调度数据业务进入所述数据业务下发通道;如果确定模块52选择了相适应的轮询调度配置表,则按轮询调度配置表中的加权系数轮询调度数据业务进入所述数据业务下发通道;

具体地,调度模块53根据加权系数和执行周期,确定某一数据业务在一个执行周期的调度数据量,提取该数据业务的调度数据量,进入所述数据业务下发通道;

然后,调度模块53继续轮询调度下一个数据业务。

注意,实际使用中,数据业务下发通道的进口设有两个,一个是用于时效性要求高的短信数据业务,另一个是用于普通的短信数据业务;在数据业务下发通道比较拥挤时,会关闭用于普通的短信数据业务的进口,这样保证时效性要求高的短信数据业务的及时下发。

在实际应用中,所述统计模块51、确定模块52和调度模块53均可由位于服务器的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等实现。

以上,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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