本发明涉及计算机技术与通讯后台调度技术领域,特别涉及基于网关资源池的短信平台服务调度方法。
背景技术:
随着业务方对短信网关提出越来越多的差异化功能需求,除了最常见的文本短信发送功能,还出现了语音短信、通过文本或语音关键字办理业务等功能,因此短信平台需要集成更多类型、更多数量的短信网关资源,同时针对一些非常规、定制化的短信服务需求,需要通过平台端的调度与协调来完成。
作为提供基础短信服务的平台,短信平台需要应对多个业务方发起的较大规模的、复杂业务逻辑的短信服务请求,并及时调用相应的网关做出响应,完成短信服务流程。传统短信平台对这一流程的处理因业务场景相对简单而做了较为简化的处理,通常是直接调用对接的短信网关,提供基础短信服务。
而在新的信息技术趋势下,业务场景的复杂多样化驱使着短信平台需要提供内容形式多样化、功能更为强大、响应更为及时的短信服务,其中最核心的流程,是如何根据业务方的短信发送请求,协调现有已接入的网关资源,向业务方快速准确地返回响应资源。
技术实现要素:
本发明所要解决的技术问题是:提出一种基于网关资源池的短信平台服务调度方法,为业务方提供内容形式多样化、功能更为强大、响应更为及时的短信服务。
本发明解决其技术问题所采用的技术方案是:基于网关资源池的短信平台服务调度方法,其特征在于,包括以下步骤:
A、对短信网关账号资源池进行配置,生成有序网关队列,并映射到对应的网关微服务;
B、短信平台接收各业务方的网关服务请求,按请求的服务类型维护若干个网关服务请求队列,并以请求时间的先后顺序排列,随着服务请求的增加实时地对请求队列进行更新;
C、对网关服务请求队列中的网关请求按服务类型,分发到网关资源池中对应的网关队列,并将网关队列中实时请求处理量最小的网关账号指派给本次请求;
D、网关资源池中的网关账号根据服务请求信息,封装必要的参数与数据,向网关账号微服务发起平台内部的服务调度请求;
E、网关账号微服务拦截所述服务调度请求,解析请求信息,校验服务请求的必要参数,并重点校验服务签名信息,然后封装包括手机号码在内的运营商服务端必需参数与数据,同时调用相应的网关内容模板,向网关通道运营商服务端发起网关服务请求;
F、网关通道运营商服务端拦截到服务请求信息后,根据其自身的请求处理机制与规则,向合法请求信息中的手机号码发送响应信息,同时根据服务请求的功能特点与实际的业务需要,向短信平台发送回调信息,通知短信平台本次网关服务响应的状态与结果;
G、根据网关通道运营商服务端返回的回调结果,判断本次服务请求是否达到了预期的结果,若服务响应成功则向业务方发送本次请求的成功消息,并记录本次服务请求处理的成功记录;若服务响应失败则进入步骤H;
H、启用平台的检查机制,若是服务请求的参数与方式错误,则向业务方发送包括流水号与失败原因在内的请求失败消息,并记录本次服务调度失败信息;若是平台调度失败或网关通道运营商服务端处理失败,则返回步骤C重新选择网关账号,继续执行平台服务调度流程,直到平台收到了服务响应成功的消息。
作为进一步优化,步骤A中,所述对短信网关帐号资源池进行配置,具体包括:
A1.对于已接入短信平台的短信网关账号,在被加入到网关资源池之前,均以短信平台独立的网关账号微服务方式发布;
A2.对已加入网关资源池的短信网关账号,按其提供网关服务的功能类型,分成若干个网关账号组;
A3.对于每一个服务类型相同的网关账号组,将组内的网关账号按处理服务请求的能力或请求处理量大小进行排序,生成有序网关队列,网关队列根据每个网关账号请求处理量的大小进行实时的自调整,并保证队列顺序的准确性;
A4.建立网关资源池内网关账号与其对应平台网关微服务的通信连接,确定网关账号与微服务的一一对应关系。
作为进一步优化,步骤B中,所述服务类型包括:短信验证码、语音验证码、关键字功能定制。
作为进一步优化,步骤C中具体包括:
C1.从网关请求队列中批量提取出服务请求时间靠前的服务请求集合;
C2.根据服务请求类型与网关账号所提供的服务功能类型的对应关系,判断C1中的服务请求对应的服务功能类型,并在网关资源池中匹配对应的网关队列;
C3.实时更新C2中相应服务请求所匹配出的网关队列,并选择网关队列中空闲率最高的网关账号作为处理本次服务请求的网关资源账号;
C4.对于本次网关服务请求所选取的网关资源账号,建立请求与网关资源账号之间的服务关联关系,并将服务请求信息发送至网关资源池。
作为进一步优化,步骤C3中,所述空闲率最高是指实时业务处理量最小。
需要说明的是,本发明中所述“若干个”是指一个或者多个。
本发明的有益效果是:本发明中的短信平台服务调度方法对平台业务方发起的网关服务请求进行统一的分发处理,并按请求的服务功能特点选择对应的网关账号,以网关资源池作为平台服务调度的中枢,以微服务作为处理服务请求的基本单元,对网关通道运营商服务端返回的服务状态信息进行及时处理;能对多业务方、多种服务类型的请求进行快速、准确的分发与响应,同时能对响应失败的请求进行容错处理,提高了服务响应的成功率。
附图说明
图1为实施例中的短信平台服务调度方法流程图;
图2为实施例中的网关服务调度示意图。
具体实施方式
本发明旨在提出一种基于网关资源池的短信平台服务调度方法,为业务方提供内容形式多样化、功能更为强大、响应更为及时的短信服务。
下面结合附图及实施例对本发明的方案作进一步的描述:
实施例:
如图1和图2所示,本实施例中的基于网关资源池的短信平台服务调度方法,包括:
步骤S101、对网关账号资源池202进行配置:对于已接入短信平台的短信网关账号,在被加入到网关资源池202之前,均以短信平台独立的网关账号微服务方式发布;短信网关账号在加入网关资源池之后,按其提供网关服务的功能类型,分成若干个网关账号组;对于每一个服务类型相同的网关账号组,将组内的网关账号按处理服务请求的能力或请求处理量大小进行排序,生成有序网关队列,网关队列根据每个网关账号请求处理量的大小进行实时的自调整,并保证队列顺序的准确性,对于具有多种服务功能的账号,可被划入不同的网关队列;建立网关资源池内网关账号与其对应平台网关微服务的通信连接,确定网关账号与微服务的一一对应关系,便于对网关服务请求的处理。
步骤S102、构建网关服务请求队列201:短信平台接收各业务方的网关服务请求,按请求的服务类型维护若干个网关请求队列,并以请求时间的先后顺序排列,随着服务请求的增加实时地对请求队列进行更新,并按短信验证码、语音验证码、关键字功能定制等服务类型划分请求队列。
步骤S103、对请求队列进行平台内调度分发:对网关服务请求队列201中的网关请求按服务类型,分发到网关资源池中对应的网关队列,并将网关队列中实时请求处理量最小的网关账号指派给本次请求。从步骤S102中的网关请求队列中批量提取出服务请求时间靠前的服务请求集合;根据服务请求类型与网关账号所提供得服务功能类型的对应关系,判断服务请求对应的服务功能类型,并在网关资源池中匹配对应的网关队列;实时更新相应服务请求所匹配出的网关队列,并选择网关队列中空闲率最高(实时业务处理量最小)的网关账号作为处理本次服务请求的网关资源账号;对于本次网关服务请求所选取的网关资源账号,建立请求与网关资源账号之间的服务关联关系,并将服务请求信息发送至网关资源池。
步骤S104、资源网关账号向微服务发起调度请求:网关资源池中的网关账号根据服务请求信息,封装必要的参数与数据,向网关账号微服务203发起平台内部的服务调度请求。
步骤S105、微服务拦截调度并向网关通道服务端204发起请求:网关账号微服务拦截步骤S104中发出的服务调度请求,解析请求信息,校验服务请求的必要参数,并重点校验服务签名信息,然后封装包括手机号码在内的运营商服务端必需参数与数据,同时调用相应的网关内容模板(如短信模板),向网关通道运营商服务端发起网关服务请求。
步骤S106、网关通道服务端204对请求作出响应:网关通道运营商服务端拦截到服务请求信息后,根据其自身的请求处理机制与规则,向合法请求信息中的手机号码发送响应信息,同时根据服务请求的功能特点与实际的业务需要,向短信平台发送回调信息,通知短信平台本次网关服务响应的状态与结果。
步骤S107、平台解析网关通道服务端的返回状态并处理:根据步骤S106中网关通道运营商服务端返回的回调结果,判断本次服务请求是否达到了预期的结果,若服务响应成功则向业务方发送本次请求的成功消息,并记录本次服务请求处理的成功记录;若服务响应失败则进入步骤S108。
步骤S108、平台处理网关通道服务端204响应失败状态:服务响应失败,则启用平台的检查机制,若是服务请求的参数与方式错误,则向业务方发送包括流水号与失败原因在内的请求失败消息,并记录本次服务调度失败信息;若是平台调度失败或网关通道运营商服务端204处理失败,则返回步骤S103重新选择网关账号,继续执行平台服务调度流程,直到平台收到了服务响应成功的消息。