发明内容
为克服相关技术中存在的问题,本公开提供一种业务处理方法和装置,以实现短信SP的灵活变更。
根据本公开实施例的第一方面,提供一种业务处理方法,包括:
在接收到短信发送请求时,根据用于提供所述短信发送请求对应的短信发送业务的多个短信SP的权重,分别生成各个短信SP对应的权重区间,所述权重占总权重和的比例对应所述SP承担的短信发送业务的业务量比例;
在所述各个短信SP对应的权重区间的并集范围内,生成一个随机数,若所述随机数位于一个短信SP的权重区间,则确定所述短信SP为目标SP;
将所述短信发送请求对应的短信发送业务,分配至所述目标SP。
根据本公开实施例的第二方面,提供一种业务处理装置,包括:
区间生成模块,用于在接收到短信发送请求时,根据用于提供所述短信发送请求对应的短信发送业务的多个短信SP的权重,分别生成各个短信SP对应的权重区间,所述权重占总权重和的比例对应所述SP承担的短信发送业务的业务量比例;
随机确定模块,用于在所述各个短信SP对应的权重区间的并集范围内,生成一个随机数,若所述随机数位于一个短信SP的权重区间,则确定所述短信SP为目标SP;
业务分配模块,用于将所述短信发送请求对应的短信发送业务,分配至所述目标SP。
本公开的实施例提供的技术方案可以包括以下有益效果:通过设置SP的权重,并根据该权重向各个SP分配业务,使得可以通过权重的变更实现各个SP之间业务分配的变更,从而使得短信SP的变更更加灵活。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1示例了本申请的业务处理方法的应用系统,如图1所示,服务器11可以接收短信发送请求,例如,某个业务机构需要进行群发短信,向一组特定的人群发送该业务机构设定的短信信息。服务器11可以根据该短信发送请求,指示短信SP集群12中的任一短信SP处理该业务,例如,可以将上述短信发送请求对应的短信发送业务分配至短信SP13,由短信SP13将业务机构设定的短信信息发送至特定的人群。
本例子中,如果服务器11接收到大量的短信发送请求,可以将这些请求对应的业务分配至短信SP集群12中的各个SP,由这些多个SP共同承担短信发送业务。例如,假设服务器11接收到100份短信发送业务需要处理,那么可以将其中的20份分配给短信SP13处理,将其中的10份分配给短信SP14处理,其余的业务分配给短信SP15进行处理。即,服务器11相当于一个分流的设备,可以将短信发送的请求业务流分配至多个短信SP。
在一个例子中,服务器11可以根据在后台系统16上配置的策略来执行短信发送业务的分流,该策略可以是短信SP集群12中的各个SP的权重,该权重占总权重和的比例对应SP承担的短信发送业务的业务量比例。例如,假设短信SP集群12中共有四台短信SP设备,可以通过后台系统16配置这四台设备的权重分别为[SP15:SP13:SP14:SP17]=[10:20:10:30],通过该权重比例可以得知,服务器11在分配短信发送业务时,其中的1/7的业务量分配给SP15,2/7的业务量分配给SP13,1/7的业务量分配给SP14,且3/7的业务量分配给SP17,即通过权重配比限定了各个短信SP之间的业务比例。此外,配置的SP权重可以是正整数。
而对于其中一个短信发送业务,服务器11可以根据图2所示的业务处理方法的流程,将该短信发送业务发送至某个短信SP。如图2所示:
在步骤201中,在接收到短信发送请求时,根据用于提供短信发送请求对应的短信发送业务的多个短信SP的权重,分别生成各个短信SP对应的权重区间。
例如,服务器11在接收到短信发送请求时,可以根据各个短信SP的权重,分别生成各个短信SP对应的权重区间。在生成权重区间时,最小值是1,最大值可以设定为各个权重的总和(即总权重和)加1,而各个区间的范围为[上一个区间的最大值,上一个区间的最大值+当前权重值)。
仍以上述的权重配置[SP15:SP13:SP14:SP17]=[10:20:10:30]为例,可以生成如下权重区间:
SP15对应的权重区间:[1,11);
SP13对应的权重区间:[11,31);
SP14对应的权重区间:[31,41);
SP17对应的权重区间:[41,71);
在另一个例子中,也可以将各个短信SP的权重进行排序,如,[SP15:SP14:SP13:SP17]=[10:10:20:30],然后再按照上述的方法生成各自对应的权重区间,包括:
SP15对应的权重区间:[1,11);
SP14对应的权重区间:[11,21);
SP13对应的权重区间:[21,41);
SP17对应的权重区间:[41,71);
在步骤202中,在各个短信SP对应的权重区间的并集范围内,生成一个随机数,若该随机数位于一个短信SP的权重区间,则确定该短信SP为目标SP。
例如,各个短信SP对应的权重区间的并集范围内,即[1,71),在该范围内生成一个随机数,并且将该随机数分别与各个权重区间进行比较,判断随机数位于哪个权重区间。比如,假设生成了一个随机数52,可以得到该52位于SP17对应的权重区间[41,71)。
本例子中,如果随机数落入了某个权重区间,就可以表示该权重区间对应的短信SP被选中,该SP可以称为目标SP。此外,随机数落入某个权重区间的概率,与该权重区间在权重区间并集[1,71)中的所占比例也是基本一致的,比如,SP17对应的权重区间[41,71)最长,那么随机数落入该区间的概率也相对较大,因此,这种通过配置权重、以及随机匹配的方式,可以使得服务器在分流时按照配置的权重比例分配业务量。
在步骤203中,将短信发送请求对应的短信发送业务,分配至目标SP。
例如,目标SP可以根据短信发送请求的要求,发送对应的短信发送业务,比如,可以向特定人群发送业务机构设定的短信内容。
在本例子的业务处理方法中,后台系统16在配置各个SP的权重后,可以将SP对应的权重存储在数据库中,并且,可以将各SP的权重发送到服务器11,由服务器11缓存在本地,这样服务器11可以在接收到短信发送请求时,尽快的查询权重生成权重区间,并使用随机匹配方式选择目标SP。此外,如果各个SP的权重没有变化,服务器11也可以在首次生成权重区间后进行存储,下一次再接收到短信发送请求时就可以直接根据该权重区间选择目标SP,进一步提高了目标SP的确定速度。
通过为多个短信SP配置权重,可以灵活的变更某个SP的业务,比如,如果想要降低向某个SP分配的业务量,降低其权重即可,或者,如果要停止向某个SP分配短信发送业务,则将其权重设置为零即可。只要根据实际业务需求或者SP的服务能力设置好用于承担短信发送业务的各SP的权重,服务器就可以根据该权重实现短信发送业务的自动分流。后台系统还可以更新各个SP的权重,更新后的SP权重可以称为新配置数据,该新配置数据可以由后台系统发送至服务器,由服务器将新配置数据缓存在本地。
应用本例子的业务处理方法,还可以在短信SP发生异常时,快速剔除故障的SP,例如,如果不再与某个短信SP合作开展短信发送业务,或者某个短信SP的短信发送成功率比较低,都可以通过本例子的业务处理方法剔除对应的SP。图3示例了该业务处理方法的流程图,可以包括:
在步骤301中,获取监控清除命令,该命令携带待剔除的SP标识。
例如,服务器可以获取到监控清除命令,该命令主要是用于通知哪些短信SP将剔除,不再接收短信发送业务。例如,该监控清除命令可以是监控平台通过监控各个短信SP的发送成功率和持续时间确定,示例性的,监控平台可以设定一个SP的剔除条件包括:发送成功率低于预设的成功率阈值85%,且持续时间大于或等于时间阈值3分钟(成功率阈值和时间阈值的数值可以调整)。如果监控平台监控到某个SP发送短信时满足了上述剔除条件,则确定可以剔除该SP,生成监控清除命令发送至服务器,并可以在命令中携带待剔除的短信SP的SP标识。该监控平台可以是服务器之外设置的一个监控平台,或者也可以是设置在服务器上的监控平台。
在步骤302中,根据所述监控清除命令,剔除所述SP标识对应的短信SP的权重,并修改后台系统中所述短信SP的配置数据状态为不可用,以使得所述短信SP不再承担短信发送业务。
例如,服务器在获取到监控清除命令后,可以剔除服务器本地缓存的SP配置信息,包括该SP标识对应的短信SP的权重,并且,也将更改后台系统中该SP的配置数据状态为不可用。这样,后续当服务器再接收到短信发送请求,计算待分配的目标SP时,已经剔除权重的SP,将不会再有对应的权重区间,也不会再被分配短信发送业务。
此外,服务器获取监控清除命令之外,监控平台还可以根据该命令通知该被剔除的短信SP的负责人,以使得负责人知晓其SP已经被剔除,不再处理短信发送业务。
本例子的业务处理方法,可以通过监控SP的短信发送日志,在短信SP的短信发送成功率较低时自动通知服务器,并由服务器剔除对应SP的权重,实现了快速剔除掉异常SP,减少业务风险。
在另一个例子中,还可以由管理人员在后台系统更改SP的配置数据状态。比如,如果当前阶段某个短信SP出现故障,不适宜处理短信发送业务,可以将后台系统的数据库中该SP的配置数据状态设置为不可用;或者,当不再与某个短信SP合作时,还可以将后台系统中剔除掉该SP的配置数据。。后台系统在SP的配置数据状态变更后,可以向服务器发送数据状态通知,例如,可以通知服务器配置数据状态为不可用的短信SP。服务器将根据数据状态通知,如果某个SP的状态为不可用,则可以剔除本地服务器缓存的该SP的配置数据,包括该SP对应的权重,从而该短信SP将不再承担短信发送业务。
本申请还提供了一种业务处理装置,该装置可以执行上述的业务处理方法,如图4所示,该装置可以包括:区间生成模块41、随机确定模块42和业务分配模块43。
区间生成模块41,用于在接收到短信发送请求时,根据用于提供所述短信发送请求对应的短信发送业务的多个短信SP的权重,分别生成各个短信SP对应的权重区间,所述权重占总权重和的比例对应所述SP承担的短信发送业务的业务量比例;
随机确定模块42,用于在所述各个短信SP对应的权重区间的并集范围内,生成一个随机数,若所述随机数位于一个短信SP的权重区间,则确定所述短信SP为目标SP;
业务分配模块43,用于将所述短信发送请求对应的短信发送业务,分配至所述目标SP。
参见图5,该装置还可以包括:监控接收模块44和数据剔除模块45。
监控接收模块44,用于获取监控清除命令,所述监控清除命令携带待剔除的SP标识;
数据剔除模块45,用于根据所述监控清除命令,剔除所述SP标识对应的短信SP的权重,并修改后台系统中所述短信SP的配置数据状态为不可用,以使得所述短信SP不再承担短信发送业务。
在一个例子中,监控接收模块44,用于:分别监控所述多个短信SP的发送成功率和持续时间;若一个短信SP的发送成功率低于预设的成功率阈值,且持续时间达到时间阈值,则确定剔除所述短信SP。
在一个例子中,参见图6,该装置还可以包括:状态接收模块46和数据处理模块47,其中,
状态接收模块46,用于接收后台系统发送的数据状态通知,所述数据状态通知用于指示配置数据状态为不可用的短信SP;
数据处理模块47,用于根据所述数据状态通知,将所述短信SP的权重剔除,以使得所述短信SP不再处理短信发送业务。
在一个例子中,该装置还可以包括:数据存储模块48,用于接收后台系统发送的新配置数据,所述新配置数据包括所述多个短信SP各自的权重;将所述新配置数据缓存在本地服务器。
本例子的业务处理装置,可以设置在服务器,通过该装置,服务器可以将接收到的短信发送请求对应的短信发送业务分配至某个SP,并且可以通过改变SP的权重实现灵活的变更短信发送业务在各个SP之间的分流比例。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。