CN113301515B - 短信通道连接的处理方法、装置、系统、设备和存储介质 - Google Patents
短信通道连接的处理方法、装置、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN113301515B CN113301515B CN202010486129.3A CN202010486129A CN113301515B CN 113301515 B CN113301515 B CN 113301515B CN 202010486129 A CN202010486129 A CN 202010486129A CN 113301515 B CN113301515 B CN 113301515B
- Authority
- CN
- China
- Prior art keywords
- short message
- connection
- gateway server
- target
- message channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请实施例提供了一种短信通道连接的处理方法、装置、系统、设备和存储介质。所述方法包括:接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接;根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。本申请实施例可以使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,有助于降低短信通道的资源浪费,减少短信积压。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种短信通道连接的处理方法、装置、系统、设备和存储介质。
背景技术
在通信技术领域中,短信是一种很常见的通信方式。短信由网关服务端发送至各运营商的短信通道中或各代理商的短信通道中,短信通道将短信继续发送至下游设备。而不同短信通道的发送能力不同,通常根据短信通道的发送能力为每个短信通道配置合适的连接数,并将连接分配给网关服务端,以建立网关服务端和短信通道的长连接通信。
然而,短信通道的发送能力随时间变化且存在发送能力不准确的情况,如此会导致配置的连接数与短信通道的真实发送能力不匹配,使得短信通道的资源浪费或短信出现积压。
发明内容
本申请实施例提供了一种短信通道连接的处理方法,以降低短信通道的资源浪费,减少短信积压。
相应的,本申请实施例还提供了一种短信通道连接的处理装置、一种系统、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种短信通道连接的处理方法,应用于连接管理服务端,所述方法包括:接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接;根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。
本申请实施例公开了一种短信通道连接的处理方法,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;所述方法包括:向连接管理服务端发送目标状态信息;在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度获得。
本申请实施例还公开了一种短信通道连接的处理方法,所述方法包括:网关服务端向连接管理服务端发送目标状态信息;其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;连接管理服务端接收所述目标状态信息,并根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;所述网关服务端在接收所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信。
本申请实施例还公开了一种短信通道连接的处理装置,应用于连接管理服务端,所述装置包括:目标状态信息接收模块,用于接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接;连接调度模块,用于根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。
本申请实施例还公开了一种短信通道连接的处理装置,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;所述装置包括:目标状态信息发送模块,用于向连接管理服务端发送目标状态信息;短信发送模块,用于在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度获得。
本申请实施例还公开了一种短信通道连接的处理系统,所述系统包括:网关服务端、连接管理服务端;所述网关服务端包括:目标状态信息发送模块,用于向连接管理服务端发送目标状态信息;其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;短信发送模块,用于在接收所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;所述连接管理服务端包括:连接调度模块,用于接收所述目标状态信息,并根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度。
本申请实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例中任一项所述的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例中任一项所述的方法。
与现有技术相比,本申请实施例包括以下优点:
在本申请实施例中,将网关服务端进行分组,一个网关服务端属于至少一个网关服务端分组,一个网关服务端分组与一个短信通道对应,一个短信通道支持第一数量的连接,然后,根据网关服务端的目标状态信息,在该网关服务端所在的网关服务端分组中,对该网关服务端分组对应的短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。另外,由于使用了连接管理服务端解绑了网关服务端组中各网关服务端与短信通道直接建立连接的逻辑,使网关服务端组中网关服务端的数量不用与短信通道的连接数保持一致,可根据网关服务端组中的网关服务端的目标状态信息动态增加或者减少,增强了网关服务端的水平扩展能力。
附图说明
图1是本申请的一种短信发送系统的结构示意图;
图2是本申请的一种短信发送过程的流程示意图;
图3是本申请的短信服务端内的队列示意图;
图4是本申请的连接管理服务端、网关服务端、队列服务端之间的交互示意图;
图5是本申请的一种短信通道连接的处理方法实施例的步骤流程图;
图6是本申请的另一种短信通道连接的处理方法实施例的步骤流程图;
图7是本申请的另一种短信通道连接的处理方法实施例的步骤流程图;
图8是本申请的另一种短信通道连接的处理方法实施例的步骤流程图;
图9是本申请的另一种短信通道连接的处理方法实施例的步骤流程图;
图10是本申请的一种短信通道连接的处理装置实施例的结构框图;
图11是本申请的另一种短信通道连接的处理装置实施例的结构框图;
图12是本申请的另一种短信通道连接的处理装置实施例的结构框图;
图13是本申请的另一种短信通道连接的处理装置实施例的结构框图;
图14是本申请的另一种短信通道连接的处理系统实施例的结构框图;
图15是本申请一实施例提供的装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例可应用于短信发送过程中,短信发送过程基于如图1所示的短信发送系统,主要包括:源终端、应用服务端、短信服务端、队列服务端、数据库、网关服务端、短信通道、目的核心网、目的基站、目的终端。其中,源终端和应用服务端通信连接,应用服务端和短信服务端通信连接,短信服务端和队列服务端通信连接,队列服务端、网关服务端、数据库通信连接之间两两通信连接,网关服务端海域短信通道通信连接,短信通道与目的核心网通信连接,目的核心网和目的基站通信连接、目的基站和目的终端通信连接。上述通信连接可以通过有线网络或无线网络实现。
基于上述图1所示的短信发送系统,图2示出了本申请的短信发送过程的流程示意图,源终端上安装有应用客户端,用户在应用客户端上预定服务之后,应用客户端会生成服务信息并发送给应用服务端,其中,服务信息包括服务内容信息和用户设定的目的终端等,应用服务端在接收到服务信息之后会生成短信并发送给短信服务端,短信服务端将短信压入队列服务端中,网关服务端从队列服务端中获取短信并发送至对应的短信通道中,短信通道将短信发送至目的核心网中,目的核心网将短信转发给目的基站,目的基站将短信发送给目的终端。应用服务端比如提供支付服务的服务端,用户在操作终端设备支付后,应用服务端可以向该终端设备绑定的电话号码发送支付结果短信。应用服务端还比如发送验证码的服务端,终端设备在访问服务端进行某项需要验证的操作后,应用服务端向该终端设备绑定的电话号码发送验证码,以供用户在终端设备中提交该验证码到应用服务端,应用服务端根据该验证码对该终端设备进行验证。当然,应用服务端还可以为提供其他某种服务的服务端,本申请实施例不对其加以限制。
其中,源终端是可运行应用客户端的任意终端,例如,如图1中所示的手机、PC(PersonalComputer,个人计算机)、平板电脑、笔记本电脑等,源终端通过无线局域网络、有线网络、移动数据网络等与应用服务端通信,应用服务端是与应用客户端对应的后台服务端,两者交互以提供服务。目的终端是具有短信接收功能的任意终端,例如,如图1中所示的手机、平板电脑等,目的终端可以通过无线移动网络接入基站,并从目的基站接收短信。源终端和目的终端可以是同一终端,也可以是不同终端。例如,用户在终端EQ1上的应用客户端预定服务,用户设定的目的终端是终端EQ1,即用户为自己预定服务,此时源终端和目的终端是同一个终端。又例如,用户在终端EQ1上的应用客户端预定服务,但用户设定的目的终端不是终端EQ1,而是终端EQ2,即用户通过自己的终端EQ1为使用终端EQ2的另一用户预定服务,此时源终端和目的终端不同。可以理解,源终端是预定服务的终端,目的终端是使用服务的用户对应的终端。
目的基站是为目的终端提供通信服务的基站,基站是移动通信网络中直接与终端通信的网络设备,其主要用于接收终端发送的包含短信在内的各种通信数据,并将其转发给核心网;或,接收核心网下发的通信数据,并将其下发给终端。本申请实施例仅涉及目的基站,目的基站将目的核心网下发的通信数据下发给目的终端。
目的核心网为目的基站所归属的核心网,核心网为移动通信网络中负责数据交换的核心设备,例如移动交换中心(MSC,Mobile Switching Center),核心网主要用于将基站发送的通信数据转发给另一核心网,或将另一核心网发送的通信数据下发给基站等。本申请实施例重点关注目的核心网将短信通道发送的短信发送给目的基站。
短信服务端可以为短消息服务中心(SMSC,ShortMessageServiceCenter),主要用于对短信的调度和维护,决策发送短信所采用的短信通道,并将短信压入决策的短信通道对应的第一短信队列中,第一短信队列存储于如图2所示的队列服务端中。短信服务端通常将接收的短信分不同决策队列存储,每个决策队列中存储的短信包括各种运营商、网络的短信。在每轮决策中,针对不同决策队列获取不同数量的短信,即:不同决策队列对应不同的压入频率。例如,如图3所示,可以划分为压入频率最高的第一决策队列,压入频率居中的第二决策队列,压入频率最低的第三决策队列,第一决策队列中包含100条短信:SM(1,1)、SM(1,2)、…、SM(1,100),第二决策队列中包含150条短信:SM(2,1)、SM(2,2)、…、SM(2,150),第三决策队列中包含180条短信:SM(3,1)、SM(3,2)、…、SM(3,180),从而在每轮决策中,可以从第一决策队列中获取最多数量10条短信,从第二决策队列中获取中间数量8条短信,从第三决策队列中获取最少数量3条短信,以决策发送这21条短信所采用的短信通道,并将其压入对应的短信通道的第一短信队列中,然后进行下一轮决策。如此,可以实现第一决策队列的压入频率最高、第二决策队列的压入频率次之、第三决策队列的压入频率最低。
上述短信服务端在决策发送短信所采用的短信通道时,针对每个短信通道,可以根据第一短信队列中的短信数量、回执响应时长、连接数和使用费用其中一项或者多项,计算每个短信通道的决策参数,并开启该决策参数大于第一参数阈值的短信通道,关闭该决策参数小于第二参数阈值的短信通道,从而按照一定策略将短信压入开启的短信通道的第一短信队列中。其中,该第一参数阈值可以大于第二参数阈值,第一参数阈值也可以等于该第二参数阈值本申请实施例不对其加以限制。具体地,若第一短信队列中的短信数量越大,回执响应时长越小,连接数越小,使用费用越小,则决策参数越大;若第一短信队列中的短信数量越小,回执响应时长越大,连接数越大,使用费用越大,则决策参数越小,具体策略本申请实施例不对其加以限制。此外,若关闭一个短信通道之后,可以将该短信通道的第一短信队列中的短信均移动至另外一个或多个短信通道的第一短信队列中。基于上述短信服务端的决策,短信服务端压入的第一短信队列与短信通道对应,第一短信队列可以存储在单独的队列服务端中。如图2所示,队列服务端还可以将第一短信队列中的短信存储至数据库(DB,DataBase)中,以方便后续对短信进行跟踪。此外,如图2所示,网关服务端还可以通过消息队列将每个短信是否发送成功的标记存储至数据库中。
网关服务端为短信网关,主要用于不同网络、不同运营商之间的短信互通,其可以从第一短信队列中提取短信并发送至其中一个运营商的一个短信通道中。
短信通道是各网络、各运营商提供的短信发送接口,实现与指定号码进行短信批量发送和自定义发送。每个网络、每个运营商提供一个或多个不同的短信通道。每个短信通道可以是具有短信发送能力,且预先接入了核心网的服务端,其可以将短信发送至目的核心网。需要说明的是,不同的短信通道的短信发送能力是不同的,网络或运营商提供短信通道时需要提供短信通道的短信发送能力,该短信发送能力可以用短信支持的连接数来表示。例如,若一个短信通道支持100个连接,而另一个短信通道支持80个连接,可知,支持100个连接的短信通道的短信发送能力比支持80个连接的短信通道的短信发送能力更好。
本申请实施例基于上述图2的短信发送过程,通过连接管理服务端管理网关服务端至短信通道的短信发送。如图4所示,存在6个网关服务端:GS1、GS2、GS3、GS4、GS5和GS6,3个短信通道:CH1、CH2和CH3,其中,CH1和CH2属于运营商OPR1,CH3属于运营商OPR2。首先,各运营商将各短信通道在连接管理服务端中注册,包括但不限于:设置短信通道的标识、记录所属的运营商、记录短信通道的地址、设置短信通道可支持的连接数、设置每个连接的发送速率和发送速率区间;此外,网关服务端也在连接管理服务端中注册,包括但不限于:设置网关服务端的标识、记录网关服务端的地址,将网关服务端划分至一个网关服务端分组中。在本申请实施例中,一个网关服务端属于至少一个网关服务端分组,一个网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接。
例如,如图4所示,在注册网关服务端GS1时,还需要将网关服务端GS1划分至网关服务端分组GRP1中,网关服务端分组GRP1与短信通道CH1对应;将网关服务端GS2和GS3划分至网关服务端分组GRP2中,网关服务端分组GRP2与短信通道CH2对应;将网关服务端GS3、GS4、GS5和GS6划分至网关服务端分组GRP3中,网关服务端分组GRP3与短信通道CH3对应。其中,网关服务端分组和短信通道之间的对应关系可以是注册短信通道或网关服务端时设置的。其中,网关服务端GS3同时属于网关服务端分组GRP2和网关服务端分组GRP3中。其他分组方式以此类推,在此不再详述。
基于上述连接管理服务端中的网关服务端分组和短信通道的对应关系,网关服务端将短信发送至短信通道。如图4所示,由于存在3个短信通道,从而也存在3个第一短信队列:SQ1、SQ2和SQ3,且第一短信队列SQ1与短信通道CH1对应,第一短信队列SQ2与短信通道CH2对应,第一短信队列SQ3与短信通道CH3对应,从而,第一短信队列SQ1中的短信需要发送至短信通道CH1中,第一短信队列SQ2中的短信需要发送至短信通道CH2中,第一短信队列SQ3中的短信需要发送至短信通道CH3中。
基于上述短信通道和第一短信队列的对应关系,每个网关服务端需要从第一短信队列中获取短信并发送至对应的短信通道中,例如,如图4所示,对于网关服务端GS1,由于其属于网关服务端分组GRP1,且网关服务端分组GRP1对应短信通道CH1,从而网关服务端GS1从短信通道CH1对应的第一短信队列SQ1中获取短信,并发送至对应的短信通道CH1中;
对于网关服务端GS2,由于其属于网关服务端分组GRP2,且网关服务端分组GRP2对应短信通道CH2,从而网关服务端GS2从短信通道CH2对应的第一短信队列SQ2中获取短信,并发送至对应的短信通道CH2中;
对于网关服务端GS3,由于其属于网关服务端分组GRP2和GRP3,且网关服务端分组GRP2对应短信通道CH2,网关服务端分组GRP3对应短信通道CH3,从而网关服务端GS3不仅从短信通道CH2对应的第一短信队列SQ2中获取短信,并发送至对应的短信通道CH2中,网关服务端GS3还从短信通道CH3对应的第一短信队列SQ3中获取短信,并发送至对应的短信通道CH3中;
对于网关服务端GS4,由于其属于网关服务端分组GRP3,且网关服务端分组GRP3对应短信通道CH3,从而网关服务端GS3从短信通道CH3对应的第一短信队列SQ3中获取短信,并发送至对应的短信通道CH3中;
对于网关服务端GS5,由于其属于网关服务端分组GRP3,且网关服务端分组GRP3对应短信通道CH3,从而网关服务端GS5从短信通道CH3对应的第一短信队列SQ3中获取短信,并发送至对应的短信通道CH3中;对于网关服务端GS6,由于其属于网关服务端分组GRP3,且网关服务端分组GRP3对应短信通道CH3,从而网关服务端GS6从短信通道CH3对应的第一短信队列SQ3中获取短信,并发送至对应的短信通道CH3中。
上述网关服务端在仅属于一个网关服务端分组时,其可以启动一个线程,以从该网关服务端分组对应的短信通道的第一短信队列中获取短信,发送至该网关服务端分组对应的短信通道;当同时属于多个网关服务端分组时,其可以针对所属每个网关服务端分组对应的短信通道分别启动一个线程,以从每个网关服务端分组对应的短信通道的第一短信队列中获取短信,发送至每个网关服务端分组对应的短信通道。例如,如图4所示,对于网关服务端GS1,由于其仅属于网关服务端分组GRP1,从而其可以启动一个线程CT(1,1),该线程CT(1,1)负责从第一短信队列SQ1中获取短信,并发送至短信通道CH1中;
对于网关服务端GS2,由于其仅属于网关服务端分组GRP2,从而其可以启动一个线程CT(2,1),该线程CT(2,1)负责从第一短信队列SQ2中获取短信,并发送至短信通道CH2中;
对于网关服务端GS3,由于其同时属于网关服务端分组GRP2和GRP3,从而其需要启动两个线程CT(3,1)和CT(3,2),其中,线程CT(3,1)负责从第一短信队列SQ2中获取短信,并发送至短信通道CH2中,线程CT(3,2)负责从第一短信队列SQ3中获取短信,并发送至短信通道CH3中;
对于网关服务端GS4,由于其仅属于网关服务端分组GRP3,从而可以启动一个线程CT(4,1),该线程CT(4,1)负责从第一短信队列SQ3中获取短信,并发送至短信通道CH3中;
对于网关服务端GS5,由于其仅属于网关服务端分组GRP3,从而其可以启动一个线程CT(5,1),该线程CT(5,1)负责从第一短信队列SQ3中获取短信,并发送至短信通道CH3中;对于网关服务端GS6,由于其仅属于网关服务端分组GRP3,从而其仅需要启动一个线程CT(6,1),该线程CT(6,1)负责从第一短信队列SQ3中获取短信,并发送至短信通道CH3中。
上述网关服务端首先可以向连接管理服务端请求分配连接,如图4所示,当网关服务端请求分配连接时,网关服务端向连接管理服务端发送的第一消息用于请求分配连接,连接管理服务端向网关服务端返回的第二消息用于通知网关服务端分配的连接信息,包括但不限于:连接的发送速率、连接的发送速率区间;在网关服务端接收到分配的连接之后,网关服务端启动线程,以通过该线程从第一短信队列中获取短信并发送至对应的短信通道中。当然,任意未分配连接的网关服务端均可以在任意时间发送用于分配连接的第一消息。当然,网关服务端的上述线程的启动时机,也可以在向连接管理服务端请求分配连接之前,然后还可以由该线程先执行向连接管理服务端请求分配连接的过程,本申请实施例对该线程的启动时机不加以限制。需要说明的是,该第一消息、第二消息可以为TCP(TransmissionControl Protocol,传输控制协议)消息,当然也可以为其他协议的消息,本申请实施例不对其加以限制。
上述连接管理服务端还与短信服务端通信,连接管理服务端不仅可以将短信通道在注册时设置的连接数、短信通道的使用费用发送给短信服务端,还可以将网关服务端发送的短信通道的回执响应时长、短信通道的第一短信队列中的短信数量等实时信息发送给短信服务端,以使短信服务端结合连接数、使用费用、回执响应时长和短信数量等其中至少一项以决策发送的短信通道。
需要说明的是,上述应用服务端、短信服务端、连接管理服务端、队列服务端和网关服务端均为实现不同功能的服务端,服务端可以是单独的实体服务器,也可以是集成于一个或多个实体服务器上的一个或多个虚拟机。
基于上述图1所示的短信发送系统的结构示意图、图2所示的短信发送过程、图3所示的短信服务端的决策队列和图4所示的交互关系,本申请通过图4中的连接管理服务端实现动态调度短信通道的连接。
参照图5,示出了本申请的一种短信通道连接的处理方法实施例的步骤流程图,该实施例可以应用于连接管理服务端,该方法可以包括:
步骤101,接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接。
其中,目标状态信息是以包括但不限于网关服务端与短信通道之间的通信状态的任意信息,网关服务端自身的状态信息,例如,网关服务端与短信通道之间的通信状态可以包括连接异常状态信息、短信通道的响应时长,网关服务端自身的状态信息可以包括网关服务端的负载状态信息等。。其中,该连接异常状态信息还对应有发送该连接异常状态信息的网关服务端的标识、异常原因,其中,异常原因可以为连接超时、连接重试等。短信通道的响应时长可以为网关服务端向短信通道发送短信和接收到短信通道对该短信的接收确认消息之间的时间差。负载状态信息可以为代表网关服务端的负载状态的任意参数,例如,网关服务端的内存利用率、网关服务端的CPU(CentralProcessingUnit,中央处理单元)占用率和网关服务端对网络带宽的占用率等。
可以理解,上述网关服务端可以通过图4中所示的第一消息将目标状态信息发送至连接管理服务端。具体地,可以将目标状态信息添加至如图4中所示的第一消息中,以使连接管理服务端在接收到第一消息时可以从中提取到目标状态信息。
需要说明的是,上述第一消息可以按照一定时间周期发送,比如以心跳的形式发送。例如,第一消息可以每10毫秒发送一次。若某一网关服务端重启或宕机之后,可能会持续一时间段无法发送第一消息,该连接管理服务端在该时间段内未收到该网关服务端发送的第一消息,则连接管理服务端可以确定该网关服务端异常。对于已分配连接但连接失败的网关服务端,其以心跳的形式发送的第一消息包括但不限于:请求重分配连接的信息、网关服务端的负载状态信息;对于已分配连接且连接成功的网关服务端,其以心跳的形式发送的第一消息包括但不限于:连接的响应时长、网关服务端的负载状态信息;对于未分配连接的网关服务端,其以心跳的形式发送的第一消息包括但不限于:请求分配连接的信息、网关服务端的负载状态信息。
本申请实施例基于网关服务端分组实现,每个网关服务端分组中的每个网关服务端均会向连接管理服务端发送目标状态信息,以使连接管理服务端根据该目标状态信息对短信通道的连接进行调度。例如,如图4所示的网关服务端GS1、GS2、GS3、GS4、GS5、GS6均会以心跳的形式向连接管理服务端发送第一消息。本申请实施例在接收到目标状态信息之后,以网关服务端分组为单位进行连接的调度。例如,如图4所示,以网关服务端GS1所属的网关服务端分组GRP1为单位,对网关服务端分组GRP1的短信通道CH1的第一数量的连接进行调度,以网关服务端GS2和GS3所属的网关服务端分组GRP2为单位,对网关服务端分组GRP2的短信通道CH2的第一数量的连接进行调度,以网关服务端GS3、GS4、GS5和GS6所属的网关服务端分组GRP3为单位,对网关服务端分组GRP3的短信通道CH3的第一数量的连接进行调度。
需要说明的是,每个短信通道的第一数量的连接是每个短信通道可支持的最多数量的连接,不同短信通道的第一数量不同,第一数量是短信通道在连接管理服务端注册时设置的。
步骤102,根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。
需要说明的是,目标网关服务端分组是任意一个网关服务端分组,在本申请中,该目标网关服务端分组中的网关服务端会发送目标状态信息,从而可以将该目标网关服务端分组对应的目标短信通道的连接分配给该目标网关服务端分组中的网关服务端。例如,若一个网关服务端GS2发送了目标状态信息,则可以将网关服务端GS2所属的网关服务端分组GRP2作为目标网关服务端分组,将网关服务端分组GRP2对应的短信通道CH2作为目标短信通道;若网关服务端GS3发送了目标状态信息,则可以将网关服务端GS3所属的网关服务端分组GRP2和GRP3作为目标网关服务端分组,将网关服务端分组GRP2对应的短信通道CH2作为目标短信通道,以及将网关服务端分组GRP3对应的短信通道CH3作为目标短信通道。
当然,若一个网关服务端分组中只有一个网关服务端发送了目标状态信息,则对连接的调度结果并不准确,从而需要网关服务端分组中较多网关服务端发送目标状态信息,以保证调度的准确度。例如,当网关服务端GS2和GS3均发送了目标状态信息时,两者所属的网关服务端分组GRP2为目标网关服务端分组,网关服务端分组GRP2对应的短信通道为目标短信通道,则对目标短信通道CH2的连接进行调度时,准确度较高;而GS3所属的另一个网关服务端分组GRP3,若其余网关服务端GS4、GS5和GS6并未发送目标状态信息,则将网关服务端分组GRP3作为目标网关服务端分组,对其对应的目标短信通道CH3的连接进行调度时,准确度较低。
由于目标网关服务端分组是任意一个网关服务端分组,目标短信通道为与该网关服务端分组对应的短信通道,从而后续直接以网关服务端和短信通道进行说明。
其中,对所述短信通道的所述连接进行调度,即将短信通道的第一数量的连接分配给与该短信通道所对应的网关服务端分组中的各网关服务端。根据目标状态信息进行连接的调度为优先向目标状态信息代表运行状态较好的网关服务端分配连接,其次向目标状态信息代表运行状态较差的网关服务端分配连接。具体地,可以首先根据目标状态信息对网关服务端进行排序,且目标状态信息代表运行状态较好的网关服务端排序在靠前位置,目标状态信息代表运行状态较差的网关服务端排序在考后位置;然后按照排序顺序逐个为网关服务端分配连接,直至连接分配完成。
在目标状态信息为异常状态信息的情况下,若异常状态信息代表是否异常,则可以优先向正常网关服务端分配连接,在正常服务端分配完之后若有剩余连接,则可以向异常服务端分配剩余连接;若异常状态信息代表异常程度,则还可以优先向异常程度较低的网关服务端分配连接,按异常程度从高到低的顺序进行分配,直至连接被分配完,或者在上述顺序分配时,下一个异常程度表示网关服务端宕机或者网关服务端无法与短信通道连接的情况,则不再分配剩余的连接。。
在目标状态信息为负载状态信息的情况下,可以根据负载状态信息选取负载较低的网关服务端,并优先向负载较低的网关服务端分配连接,按负载从低到高的顺序进行分配,直至连接被分配完,或者在上述顺序分配时,该负载状态表示该网关服务端无法再承接连接的情况下,则不再分配剩余的连接。
在目标状态信息为响应时长的情况下,可以优先向响应时长较短的网关服务端分配连接,按响应时长从短至长的顺序进行分配,直至连接被分配完,或者在上述顺序分配时,该响应时长大于设定阈值时,则不再分配剩余的连接。
上述连接的调度过程可以是在网关服务端在运行一段时间,比如发送一段时间的短信之后,将未被使用的空闲连接分配给未分配连接的网关服务端。但对于一个网关服务端分组的初始状态,对应的短信通道的第一数量的所有连接均未被分配,各网关服务端可以采用抢占的方式占用连接。例如,每个网关服务端均向连接管理服务端发送连接建立请求,连接建立请求可以是包含网关服务端的标识的第一消息,连接管理服务端在每接收到一个连接建立请求时,均会为发送该连接建立请求的网关服务端分配一个连接,直至第一数量的连接被分配完或者该短信通道所属的网关服务端被占用完。可以理解,抢占的方式可以是按照接收到的请求的时间顺序分配连接的,优先为先接收到的连接建立请求的网关服务端分配连接,其次为后接收到的连接建立请求的网关服务端分配连接,若第一数量的连接较少时,后接收到的连接建立请求的网关服务端可能分配不到连接;若第一数量的连接足够多时,后接收到的连接建立请求的网关服务端也会分配到连接。
综上,在本申请实施例中,将网关服务端进行分组,一个网关服务端属于至少一个网关服务端分组,一个网关服务端分组与一个短信通道对应,一个短信通道支持第一数量的连接,然后,根据网关服务端的目标状态信息,在该网关服务端所在的网关服务端分组中,对该网关服务端分组对应的短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。另外,由于使用了连接管理服务端解绑了网关服务端组中各网关服务端与短信通道直接建立连接的逻辑,使网关服务端组中网关服务端的数量不用与短信通道的连接数保持一致,可根据网关服务端组中的网关服务端的目标状态信息动态增加或者减少,增强了网关服务端的水平扩展能力。
参照图6,示出了本申请的另一种短信通道连接的处理方法实施例的步骤流程图,该实施例可以应用于连接管理服务端,该方法可以包括:
步骤201,接收网关服务端分组中的网关服务端的注册请求;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接。
步骤202,根据所述注册请求,在所述目标网关服务端分组中对所述网关服务端进行注册。
如前述图4的示例,在连接管理服务端中配置了一个或多个网关服务端分组,该网关服务器端分组可以为逻辑组,每个网关服务端分组中配置有至少一个网关服务端。如前述描述,一个网关服务器端可以只在一个网关服务端分组,也可以同时在两个或两个以上的网关分组中。
在连接管理服务器端启动后,为了方便按照网关服务端分组监控各网关服务端,可以先由各网关服务端发送注册请求,然后连接管理服务端收到该注册请求后,查询该网关服务端在哪个网关服务端分组,然后在查到的网关服务端分组中注册该网关服务端。
具体地,在网关服务端分组中对网关服务端进行注册包括:在连接管理服务端中记录注册请求中包含的网关服务端的信息,以及建立所述网关服务端与网关服务端分组的对应关系。
其中,在使用订阅机制的情况下,连接管理服务端作为发布者,网关服务端可以作为订阅者,该注册可以为:连接管理服务端将该网关服务端加入相应网关服务端分组的订阅队列中。
其中,在使用通知机制的情况下,连接管理服务端作为主动通知方,网关服务端作为接收通知方,该注册可以为:连接管理服务端将该网关服务端加入相应网关服务端分组的通知队列中。
其中,注册请求用于网关服务端请求在连接管理服务端中注册网关服务端,注册请求中包括网关服务端的各种信息,包括但不限于:网关服务端的标识、硬件配置、软件配置、网关服务端的地址,若网关服务端为虚拟机,则注册请求还包括:网关服务端所在的实体设备的标识。
在实际应用中,注册请求可以在连接管理服务端启动后,向各网关服务端发送广播,通过该广播通知网关服务端发送注册请求。当然,也可以在各网关服务端向连接服务端定期发送注册请求,连接管理服务端在注册成功后可以反馈一个注册成功消息,收到该注册成功消息的网关服务端则可以暂停发送该注册请求。
步骤203,接收网关服务端的目标状态信息。
该步骤可以参照步骤101的详细说明,在此不再赘述。
步骤204,根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。
该步骤可以参照步骤102的详细说明,在此不再赘述。
可选地,所述目标状态信息包括:所述连接的连接异常状态信息;在目标状态信息包括该连接异常状态信息的情况下,所述步骤204,可以包括子步骤A1至A4:
子步骤A1,确定属于所述目标网关服务端分组的连接异常状态信息的第二数量。
在本申请实施例中,连接管理服务端在收到各网关服务端发送的连接异常状态信息后,连接管理服务端可以分别对每个网关服务端分组,统计属于该服务端分组的连接异常状态信息的第二数量。连接管理服务端还可以向网关服务端发送连接正常状态信息,该连接正常状态信息可以包括表示网关服务端正常的任意形式的信息。
可以理解,该连接异常状态信息的第二数量可以包括一个网关服务端分组中发送连接异常状态信息的网关服务端的数量。
子步骤A2,在所述第二数量符合第一预设条件的情况下,降低所述目标短信通道对应的所述第一数量。
其中,第二数量符合第一预设条件代表网关服务端分组对应的短信通道的异常程度较严重,第二数量符合第一预设条件包括:第二数量大于第一数量阈值,或第二数量与短信通道的连接的第一数量的比值大于预设的第一比值阈值。为了解决短信通道的异常问题,可以降低第一数量,以在连接管理服务端动态控制该短信通道的连接,避免短信通道实际能够支持的连接数小于运营商配置的连接数的情况下,降低接入短信通道的连接,从而降低对短信通道的压力。例如,若一个网关服务端分组中发送连接异常状态信息的网关服务端的数量为30,其大于第一数量阈值20,则可以降低第一数量;若该网关服务端分组对应的短信通道的连接的第一数量为60,第二数量30与第一数量60的比值50%大于第一比值阈值40%,则可以降低第一数量。
需要说明的是,在降低第一数量时,可以考虑设置一个最小数量。例如,可以设置最小数量为20,从而若当前第一数量大于20,则最低可以将第一数量降低为20;若当前第一数量等于20,则不可以再降低第一数量。
本申请实施例可以通过子步骤A2对同一个短信通道的连接的第一数量进行一次或多次降低,直至第二数量不符合第一预设条件。
子步骤A3,在所述第二数量符合第二预设条件的情况下,增加所述目标短信通道对应的所述第一数量。
其中,第二数量符合第二预设条件代表网关服务端分组对应的短信通道正常且可以支持更多的连接,第二数量符合第二预设条件包括:第二数量小于第二数量阈值,或第二数量与短信通道的连接的第一数量的比值小于预设的第二比值阈值,其中,第二数量阈值通常小于第一数量阈值,第二比值阈值通常小于第一比值阈值。此时,为了尽可能的提高短信通道的连接的利用率,可以增加第一数量,使短信通道支持更多的连接数。例如,若一个网关服务端分组中发送连接异常状态信息的网关服务端的数量为3,其小于第二数量阈值5,则可以增加第一数量;若该网关服务端分组对应的短信通道的连接的第一数量为60,第二数量3与第一数量60的比值5%小于第二比值阈值10%,则可以增加第一数量。
当然,在增加第一数量时,可以考虑设置一个最大数量。例如,可以设置最大数量为60,从而若当前第一数量小于60,则最多可以将第一数量增加为60;若当前第一数量等于60,则不可以再增加第一数量。可以理解,该最大数量可以为运营商对该短信通道配置的连接数量。
本申请实施例可以通过步骤A3对同一个短信通道的连接的第一数量进行一次或多次增加,直至第一数量达到预设的上限,无法再增加。
可以理解,本申请实施例可以在经过一次或多次执行子步骤A2之后,由于短信通道的发送性能变好,从而第二数量持续减小,导致第二数量符合第二预设条件,此时,可以又重新增加第一数量。同理,在经过一次或多次执行子步骤A3之后,由于短信通道的发送性能突然恶化,从而第二数量持续增大,导致第二数量符合第一预设条件,此时,可以又重新降低第一数量。如此子步骤A2和子步骤A3可以不断的交替进行,或单独多次进行,以使第二数量始终不满足第一预设条件且不满足第二预设条件,认为此时的第二数量代表短信通道的当前第一数量的连接与网关服务端分组中的网关服务端的性能正好匹配。其中,不满足第一预设条件且不满足第二预设条件可以为第二数量小于或等于第一数量阈值,且大于或等于第二数量阈值,也可以为第二数量与第一数量的比值小于或等于第一比值阈值,且大于或等于第二比值阈值。
本申请实施例可以根据连接异常状态信息的第二数量动态的调整短信通道的连接的第一数量,以提高第一数量与短信通道的实时性能的匹配度。
子步骤A4,在所述目标网关服务端分组中,将所述第一数量的连接进行调度。
在按上述方式,调整了短信通道的第一数量后,可以以该第一数量,对短信通道的连接进行调度。
可选地,所述第一预设条件为所述第二数量大于第一数量阈值,所述第二预设条件为所述第二数量小于第二数量阈值,所述第一数量阈值大于所述第二数量阈值。
本申请实施例可以通过第一数量阈值准确的确定短信通道的异常程度,以及根据第二数量阈值确定短信通道的正常程度。
可选地,所述子步骤A4包括子步骤A41:
子步骤A41,在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端分组中未被分配连接的网关服务端。
其中,未被分配连接的网关服务端包括但不限于:始终未被分配连接的网关服务端、分配连接之后又断开连接的网关服务端。
具体地,连接管理服务端可以记录每个短信通道的未分配连接数,即空闲连接数。该未分配连接数在初始时为短信通道可支持的连接的第一数量。在将该短信通道的一个连接分配给一个网关服务端时,可以将该未分配连接数减1,直至该未分配连接数为0。可以理解,当未分配连接数为0时接收到一个网关服务端的连接请求,不会为该网关服务端分配连接;当未分配连接数大于0时接收到一个网关服务端的连接请求,可以为该网关服务端分配一个连接。
在本申请的实施例中,若未被分配连接的网关服务端的数目小于或等于空闲连接的数目,则可以为每个未被分配连接的网关服务端均分配一个空闲连接;若未被分配连接的网关服务端的数目大于空闲连接的数目,则可以按照预设策略选取空闲连接的数目对应的网关服务端,并为空闲连接数目对应的网关服务端分配空闲连接。
本申请实施例可以在检测到空闲连接时,将空闲连接主动分配,以提高短信通道的利用率。
可选地,所述子步骤A41之前,还包括子步骤A42:
子步骤A42,接收未被分配连接的目标网关服务端的连接建立请求。
其中,未被分配连接的网关服务端可以按照一定策略发起连接建立请求。例如,每隔预设时间间隔发送一次连接建立请求,在重新启动之后发送连接建立请求,在网关服务端的负载降低之后发送连接建立请求。可以理解,目标网关服务端是发送了连接建立请求的网关服务端。
基于所述子步骤A42,所述子步骤A41包括子步骤A411:
子步骤A411,在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端。
在本申请的实施例中,若同时发送连接建立请求的目标网关服务端的数目小于或等于空闲连接的数目,则可以为每个目标网关服务端均分配一个空闲连接;若同时发送连接建立请求的目标网关服务端的数目大于空闲连接的数目,则可以按照预设策略选取空闲连接的数目对应的目标网关服务端,并为空闲连接数目对应的目标网关服务端分配空闲连接。
其中,预设策略可以包括但不限于:随机选取空闲连接数目对应的目标网关服务端、选取负载较低的空闲连接数目对应的目标网关服务端。例如,目标网关服务端为GS3、GS4、GS5,空闲连接只有两个,从而可以从目标网关服务端GS3、GS4、GS5中随机选取两个网关服务端GS3和GS4,并为网关服务端GS3和GS4分别分配一个空闲连接;又例如,还可以结合目标网关服务端GS3、GS4、GS5的负载状态信息进行空闲连接的分配,若采用内存利用率作为负载状态信息,且目标网关服务端GS3、GS4、GS5的内存利用率分别为30%、80%和50%,从而可以选取内存利用率较低的网关服务端GS3和GS5,并为其分别分配一个空闲连接。
本申请实施例还可以根据目标网关服务端的连接建立请求进行空闲连接的分配。
基于所述子步骤A43至A44,所述子步骤A41包括子步骤A412至A413:
子步骤A412,在所述第一数量的连接中存在空闲连接的情况下,从注册的网关服务端中,确定未被标记为已分配连接的目标网关服务端。
可以理解,在对网关服务端进行注册之后,连接管理服务端中可以在该网关服务端所属的网关服务端分组中记录该网关服务端的信息,不仅包括从注册请求中提取的网关服务端的信息,还包括该网关服务端是否被分配连接的标记。本申请可以只对连接管理服务端中注册的网关服务端分配连接。
在本申请实施例中,由于网关服务端是属于某个或者某几个网关服务端分组的,在该网关服务端分组中,会对属于该网关服务端分组的网关服务端添加已分配连接标记或者未分配连接标记。那么在连接管理服务端在确定某个网关服务端分组中的连接需要调度后,对于空闲连接,可以在该目标网关服务端分组中,确定具有未分配连接标记的网关服务端。
需要说明的是,这里的目标网关服务端是未被标记为已分配连接的网关服务端。
子步骤A413,将所述空闲连接分配给所述目标网关服务端,并标记所述目标网关服务端为已分配连接。
在本申请的实施例中,若注册的网关服务端中未被标记为已分配连接的目标网关服务端的数目小于或等于空闲连接的数目,则可以为每个目标网关服务端均分配一个空闲连接;若注册的网关服务端中未被标记为已分配连接的目标网关服务端的数目大于空闲连接的数目,则可以按照预设策略选取空闲连接的数目对应的目标网关服务端,并为空闲连接数目对应的目标网关服务端分配空闲连接。
其中,预设策略可以为抢占策略。本申请实施例在检测到短信通道存在空闲连接时,可以通知该短信通道对应的各目标网关服务端,以使其抢占该连接,这些目标网关服务端在接收到该通知之后,可以发送对该空闲连接的连接建立请求,连接管理服务端将该空闲连接分配给最先接收到的连接建立请求对应的目标网关服务端。例如,目标网关服务端为GS3、GS4、GS5,空闲连接只有两个,连接管理服务端在发送通知之后的预设时间段内按照时间顺序先后收到目标网关服务端GS5、GS4和GS3的连接建立请求,从而可以将空闲连接分配给先接收到的连接建立请求对应的目标网关服务端GS5和GS4。
在本本申请的另一种实施方式中,预设策略还可以为随机策略。本申请实施例在检测到短信通道存在空闲连接时,可以从该短信通道对应的各目标网关服务端中随机选取网关服务端,以通知其发起连接建立请求,若在预设的时间阈值内接收到选取的网关服务端发送的连接建立请求,则将空闲连接分配给该网关服务端;若在预设的时间阈值内未接收到至少一个选取的网关服务端发送的连接建立请求,则从未被随机选取过的目标网关服务端中选取网关服务端,以通知其发起连接建立通知,如此循环,直至将所有空闲连接分配完成,或,直至不存在未被随机选取过的目标网关服务端。
例如,目标网关服务端为GS3、GS4、GS5,空闲连接只有两个,从而可以从目标网关服务端GS3、GS4、GS5中随机选取两个网关服务端GS3和GS4,并通知网关服务端GS3和GS4发送连接建立请求,若在预设的时间阈值内接收到该网关服务端GS3和GS4的连接建立请求,则将为网关服务端GS3和GS4分别分配一个空闲连接;若在预设的时间阈值内未接收到该网关服务端GS3的连接建立请求,则仅为网关服务端GS4分配一个空闲连接,并从未被随机选取过的目标网关服务端GS5中随机选取一个网关服务端,由于仅剩一个网关服务端GS5,则可以直接通知网关服务端GS5发送连接建立请求;若在预设的时间阈值内接收到网关服务端GS5发送的连接建立请求,则将最后一个空闲连接分配给网关服务端GS5;若在预设的时间阈值内未接收到网关服务端GS5发送的连接建立请求,由于不存在未被随机选取过的目标网关服务端,则停止分配空闲连接。
在本申请的另一种实施方式中,预设策略还可以为基于负载状态信息的分配策略。在检测到一个短信通道存在空闲连接时,还可以从该短信通道对应的目标网关服务端中选取负载最低的若干网关服务端,以通知其发送连接建立请求;若在预设的时间阈值内接收到选取的网关服务端发送的连接建立请求,则将空闲连接分配给该选取的网关服务端;若在预设的时间阈值内未接收到至少一个网关服务端发送的连接建立请求,则从未被选取过的目标网关服务端中选取负载最低的若干网关服务端,以通知其发起连接建立通知,如此循环,直至将所有空闲连接分配完成,或,直至不存在未被选取过的目标网关服务端。例如,目标网关服务端为GS3、GS4、GS5,采用内存利用率作为负载状态信息,目标网关服务端GS3、GS4、GS5的内存利用率分别为30%、80%和50%,空闲连接只有两个,从而可以目标网关服务端GS3、GS4、GS5中选取两个负载最低的网关服务端GS3和GS5,并通知网关服务端GS3和GS5发送连接建立请求,若在预设的时间阈值内接收到该网关服务端GS3和GS5的连接建立请求,则将为网关服务端GS3和GS5分别分配一个空闲连接;若在预设的时间阈值内未接收到该网关服务端GS5的连接建立请求,则仅为网关服务端GS3分配一个空闲连接,并从未被选取过的目标网关服务端GS4中选取负载最低的网关服务端,由于仅剩一个网关服务端GS4,则可以直接通知网关服务端GS4发送连接建立请求;若在预设的时间阈值内接收到网关服务端GS4发送的连接建立请求,则将最后一个空闲连接分配给网关服务端GS4;若在预设的时间阈值内未接收到网关服务端GS4发送的连接建立请求,由于不存在未被选取过的目标网关服务端,则停止分配空闲连接。
本申请的实施例可以为注册的网关服务端中未分配连接的目标网关服务端分配空闲连接。
可选地,在所述步骤204之后,还包括步骤B1:
步骤B1,在收到的所述连接异常状态信息的第二数量大于第三数量阈值的情况下,向短信服务端发送下线通知;所述下线通知用于停止使用所述目标短信通道;所述第三数量阈值大于所述第一数量阈值。
其中,第三数量阈值用于判断短信通道是否达到无法正常使用的异常程度,当连接异常状态信息的第二数量小于或等于第三数量阈值时,代表短信通道并未达到无法正常使用的异常程度;当连接异常状态信息的第二数量大于第三数量阈值时,代表短信通道已无法正常使用,从而需要向短信服务端发送对该短信通道的下线通知,短信服务端在接收到对该短信通道的下线通知之后,不会继续将短信压入该短信通道对应的第一短信队列中,并且还可以将短信通道对应的第一短信队列中的短信重新压入其余短信通道的第一短信队列中,最后删除该短信通道的第一短信队列。
本申请实施例可以在短信通道达到无法正常使用的异常程度时,停止使用该短信通道,有助于避免已无法正常使用的短信通道影响短信的发送。
可选地,所述目标状态信息包括负载状态信息,那么,在目标状态信息包括负载状态信息的情况下,所述步骤204包括子步骤C1至C2:
子步骤C1,从未被分配连接的网关服务端中,选择负载状态信息符合第三预设条件的目标网关服务端。
其中,负载状态信息是网关服务端的负载的数值化表示,例如,网关服务端的CPU利用率、内存利用率和网络带宽利用率等。
目标网关服务端是从未被分配连接的网关服务端中选取的负载状态信息符合第三预设条件的网关服务端。第三预设条件用于确定负载最低或较低的一个或多个网关服务端。例如,采用内存利用率表示负载状态信息,未被分配连接的网关服务端存在5个:GS1、GS2、GS3、GS4和GS5,其内存利用率分别为:20%、50%、40%、80%和30%,若空闲连接数为3,则目标网关服务端可以是负载最低的3个网关服务端:GS1、GS5和GS3,也可以为GS1、GS2和GS3。
在实际应用中,若未被分配连接的网关服务端的数量小于或等于空闲连接的数目,则可以为每个未被分配连接的网关服务端均分配一个空闲连接;若未被分配连接的网关服务端的数量大于空闲连接的数目,则可以根据负载状态信息选取未分配连接的负载较低的网关服务端作为目标网关服务端。
子步骤C2,在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端。
具体地,可以通知目标网关服务端发送连接建立请求,如果未在预设的时间阈值内接收到目标网关服务端发送的连接建立请求,则再次执行子步骤C1,以重新确定负载状态信息符合第三预设条件的目标网关服务端,并执行子步骤C2继续分配。如此循环执行直至空闲连接被分配完,或,无满足第三预设条件的目标网关服务端;如果在预设的时间阈值内接收到目标网关服务端发送的连接建立请求,则为该目标网关服务端分配一个空闲连接。
本申请实施例可以根据负载状态信息将空闲连接分配给目标网关服务端,使得分配到的目标网关服务端的负载较低,有助于避免由于目标网关服务端负载过大导致短信发送失败或延迟较大甚至短信积压。
可以理解,目标状态信息可以包括连接的连接异常状态信息,网关服务端的负载状态信息其中至少一项,在包括上述两者的情况下,步骤204可以包括上述子步骤A1-A4,子步骤A4可以包括子步骤C1-C2。
可选地,步骤204还可以包括步骤D1:
步骤D1,在确定一网关服务端出现异常的情况下,断开所述网关服务端与所述目标短信通道之间的连接,并将断开的连接确定为空闲连接。
本申请实施例可以在如下情况下确定网关服务端出现异常:未接收到一网关服务端以心跳的形式发送的第一消息、接收到如图4所示的第一消息中包含的网关服务端的负载过大、接收到如图4所示的第一消息中包含的网关服务端确定的响应时长过长。在确定一网关服务端出现异常时,若网关服务端还保持着与连接管理服务端之间的心跳信息,则可以通过如图4所示的第二消息通知该异常的网关服务端断开与短信通道之间的连接;若网关服务端未保持与连接管理服务端之间的心跳信息,则可以向异常的网关服务端发送若干次TCP长连接分手,并直接将该异常的网关服务端占用的连接作为空闲连接。
本申请的连接管理服务端可以主动确定网关服务端是否出现异常,并断开出现异常的网关服务端与短信通道之间的连接,有助于避免该异常的网关服务端占用连接但无法保证短信的发送效率。
可以理解步骤D1也可以在步骤A4之后,其具体执行顺序本申请实施例不对其加以限定。
可选地,在步骤D1之后,还包括步骤D2:
步骤D2,向短信服务端发送报警信息;所述报警信息用于提示所述网关服务端出现异常。
在本申请的实施例中,连接管理服务端在确定网关服务端出现异常的情况下,可以向短信服务端发送报警信息,报警信息中包含但不限于:网关服务端的标识,从而可以提示维护人员排查该标识对应的网关服务端的异常原因,以解决异常。
此外,报警信息中还可以包含网关服务端所属网关服务端分组的短信通道等信息。短信服务端在接收到报警信息之后,可以从报警信息中提取出网关服务端的标识,网关服务端所属网关服务端分组的短信通道,从而确定这个网关服务端所属网关服务端分组中出现异常的网关服务端总数,以根据该异常的网关服务端总数,适当减少向该网关服务端分组的短信通道中压入的短信数量。例如,若异常的网关服务端总数较大,则可以减少较多压入的短信数量;若异常的网关服务端总数较小,则可以减少较少压入的短信数量。
本申请实施例可以向短信服务端发送报警信息以提示异常的网关服务端,不仅可以使维护人员尽快解决异常,还可以使短信服务端在决策发送短信的短信通道时,适当减小向该异常的网关服务端对应的短信通道压入的短信数量,有助于减少短信通道的短信积压。
可选地,该步骤204还可以包括步骤D3至D4:
步骤D3,接收所述网关服务端发送的连接断开通知,所述连接断开通知用于提示所述网关服务端已经与所述目标短信通道断开连接。
在本申请的实施例中,网关服务端可以在异常情况下断开与短信通道的连接,并发送连接断开通知。其中,异常情况包括但不限于:网关服务端的负载大于预设的负载阈值、网关服务端重启、网关服务端宕机、网关服务端连接的短信通道的响应时长较长,连接断开通知包括网关服务端的标识。
本申请实施例的网关服务端可以在异常情况下主动断开与短信通道的连接,避免占用连接但无法发送短信或短信发送性能较差。
步骤D4,将已经断开的连接确定为空闲连接。
需要说明的是,上述步骤D1是一种生成空闲连接的方式,步骤D3至D4是另一种生成空闲连接的方式,两种方式之间不存在先后顺序的限定,且在实际应用中,两种方式可能执行其中一种或两种均执行。
可以理解步骤D1也可以在步骤A4之后,其具体执行顺序本申请实施例不对其加以限定。
可选地,所述目标状态信息包括响应时长,所述响应时长为所述网关服务端与所述短信通道建立连接的情况下获得,在所述目标状态信息包括响应时长的情况下,所述步骤204,还可以包括步骤E1:
步骤E1,向短信服务端发送所述响应时长;所述响应时长用于确定使用的短信通道。
其中,响应时长为网关服务端向短信通道发送短信和网关服务端接收到短信通道针对所述短信返回的接收确认信息的时间差。可知,响应时长只有在网关服务端和短信通道建立连接的情况下获得,若网关服务端和短信通道未建立连接,则该网关服务端无法获取到响应时长。
基于上述响应时长,使用的短信通道可以是响应时长较短的短信通道。在实际应用中,可以针对每个网关服务端分组,将该网关服务端分组中各网关服务端返回的响应时长进行平均,得到该网关服务端的平均响应时长,并将该平均响应时长和短信通道发送给短信服务端。短信服务端可以优先使用平均响应时长较短的短信通道进行短信发送,例如,短信服务端可以在决策发送短信所使用的短信通道时,将短信优先压入到平均响应时长较短的短信通道的第一短信队列中。
可选地,所述步骤204之前,还可以包括步骤E2:
步骤E2,接收所述短信服务端的短信通道使用通知;所述短信通道使用通知用于指示使用至少一个短信通道。
其中,短信通道使用通知中包含使用的短信通道的标识,连接管理服务端在接收到短信通道使用通知之后,从中提取使用的短信通道,并将本地注册的短信通道标记为使用状态,其余短信通道标记为未使用状态。
基于所述步骤E2,所述步骤204包括子步骤F:
子步骤F,根据所述目标状态信息,在与使用的目标短信通道所对应的所述目标网关服务端分组中,对所述目标短信通道的所述连接进行调度。
在本申请实施例中,连接管理服务端在接收到大量网关服务端发送的目标状态信息时,仅对使用的短信通道的连接进行调度,对未使用的短信通道的连接不进行调度。
本申请实施例可以根据响应时长选取使用部分短信通道进行短信发送,而其余短信通道由于其响应时长过大,则可停止使用该短信通道,如此可以尽可能的减小发送短信所消耗的时长。
可以理解,本申请实施例中的短信通道可以基于上述E1、E2的过程动态控制是否使用该短信通道。
可选地,所述方法还可以包括,步骤205-206:
步骤205,接收添加请求;所述添加请求包括网关服务端的标识以及短信通道的标识。
其中,添加请求用于向一个网关服务端分组中添加网关服务端,每个添加请求可以添加一个或多个网关服务端,添加请求在用户提交网关服务端的标识以及短信通道的标识之后由连接管理服务端生成。
步骤206,根据所述添加请求,将所述网关服务端加入所述短信通道对应的网关服务端分组。
在本申请实施例中,除了可以预先配置网关服务端分组以及该网关服务端分组中的网关服务端的情况,还可以根据需求在某个或者某几个网关服务端分组中添加网关服务端。比如,技术人员如果发现某个短信通道的性能非常好,或者与运行商重新协调了并调高了该短信通道的性能,可以通过客户端向该连接管理服务端发送添加请求,以通知连接管理服务端将网关服务端加入所述短信通道对应的网关服务端分组。或者该技术人员可以控制新添加的网关服务端向该该连接管理服务端发送添加请求,以通知连接管理服务端将网关服务端加入所述短信通道对应的网关服务端分组。
本申请实施例可以将网关服务端加入到网关服务端分组中,实现网关服务端分组的动态加入,进一步提升了网关服务端的水平扩展性。
可选地,所述方法还可以包括,步骤207-208:
步骤207,接收删减请求;所述删减请求包括网关服务端的标识以及短信通道的标识。
其中,删减请求用于从一个网关服务端分组中删除网关服务端,每个删减请求可以删除一个或多个网关服务端,删除请求在用户提交选中的网关服务端的标识之后生成,短信通道的标识可以根据网关服务端的标识对应的网关服务端分组的标识确定,并添加到删减请求中。
步骤208,根据所述删减请求,将所述网关服务端从所述短信通道对应的网关服务端分组中删除。
需要说明的是,这里的删除可以不是删除连接管理服务端中网关服务端的所有注册信息,而是删除网关服务端与网关服务端分组之间的关联关系。比如,将该网关服务端从该网关服务端分组的队列中删除。
本申请实施例可以将网关服务端从所属的网关服务端分组中删除,实现网关服务端分组的动态删减。
然后,该被删除的网关服务端可以被协调给其他网关服务端分组。比如网关服务端分组A的短信通道的性能差,比如响应时间t超过响应阈值的持续时长超过预设时长阈值,该网关服务端分组中的网关服务端实际上没有被充分利用或者说放在该分组中浪费,可以将该网关服务端分组中的一个或多个网关服务端删除,以将该网关服务端提供给其他网关服务端分组或者其他服务使用。
技术人员可以通过客户端向该连接管理服务端发送删除请求,以通知连接管理服务端将网关服务端从所述短信通道对应的网关服务端分组中删除。或者该技术人员可以控制被删除的网关服务端向该该连接管理服务端发送删除请求,以通知连接管理服务端将网关服务端从所述短信通道对应的网关服务端分组中删除。
综上,在本申请实施例中,根据网关服务端的异常状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于异常状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,降低了短信通道的资源浪费,减少了短信积压。
此外,本申请还可以根据连接异常状态信息的第二数量动态的调整短信通道的连接的第一数量,以提高第一数量与短信通道的实时性能的匹配度;还可以在检测到空闲连接时,将空闲连接主动分配,以提高短信通道的利用率;还可以根据目标网关服务端的连接建立请求进行空闲连接的分配;还可以在短信通道达到无法正常使用的异常程度时,停止使用该短信通道,有助于提高避免已无法正常使用的短信通道影响短信的发送;还可以根据负载状态信息将空闲连接分配给目标网关服务端,使得分配到的目标网关服务端的负载较低,有助于避免由于目标网关服务端负载过大导致短信发送失败或延迟较大;还可以主动确定网关服务端是否出现异常,并断开出现异常的网关服务端与短信通道之间的连接,避免该异常的网关服务端占用连接但无法保证短信的发送性能;还向短信服务端发送报警信息以提示异常的网关服务端,不仅可以使维护人员尽快解决异常,还可以使短信服务端在决策发送短信的短信通道时,适当减小向该异常的网关服务端对应的短信通道压入的短信数量,有助于减少短信通道的短信积压;还可以在异常情况下主动断开与短信通道的连接,避免占用连接但无法发送短信或短信发送性能较差;还可以根据响应时长在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于响应时长是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。还可以将网关服务端加入到网关服务端分组中,实现网关服务端分组的动态加入;还可以将网关服务端从所属的网关服务端分组中删除,实现网关服务端分组的动态删减;还可以根据响应时长选取使用部分短信通道进行短信发送,而其余短信通道由于其响应时长过大,则可停止使用该短信通道,如此可以尽可能的减小发送短信所消耗的时长。
参照图7,示出了本申请的另一种短信通道连接的处理方法实施例的步骤流程图,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接。
步骤301,向连接管理服务端发送目标状态信息。
其中,目标状态信息可以参照步骤101中对目标状态信息的详细说明,在此不再赘述。连接管理服务端可以以心跳的形式向连接管理服务端发送第一消息,第一消息中携带目标状态信息。
步骤302,在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度获得。
网关服务端在发送目标状态信息之后,连接管理服务端根据该目标状态信息为其分配连接,但也有可能未为该网关服务端分配连接,当网关服务端接收到连接管理服务端发送的如图4所示的第二消息,且该消息中携带有分配的连接时,网关服务端可以通过该连接向短信通道发送连接;当网关服务端未接收到连接管理服务端发送的第二消息,或该第二消息中不存在分配的连接,则该网关服务端不会发送短信。
综上,在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。
参照图8,示出了本申请的另一种短信通道连接的处理方法实施例的步骤流程图,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接。
步骤401,向所述连接管理服务端发送注册请求;所述注册请求用于通知连接管理服务端对所述网关服务端进行注册。
其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接。网关服务端、网关服务端分组、短信通道之间的逻辑架构参照图4的描述,在此不再详述。
其中,注册请求可以在网关服务端第一次启动之后发送。连接管理服务端对所述网关服务端进行注册包括:连接管理服务端在本地记录注册请求中携带的网关服务端的信息,例如,网关服务端的标识、地址等。连接管理服务端按照预设划分规则将新注册的网关服务端划分至某一个网关服务端分组中,比如基于预设的配置,将该网关服务端划分到配置中该网关服务端所属分组,例如,设置该网关服务端所属的网关服务端分组的标识。
本申请实施例可以生成注册请求,以在连接管理服务端中注册,避免人工注册带来的人工成本,并且准确度更高。
步骤402,在所述网关服务端未被分配连接的情况下,向所述连接管理服务端发送连接建立请求;所述连接建立请求用于通知所述连接管理服务端为所述网关服务端分配所述目标短信通道的连接。
其中,连接建立请求包括网关服务端的标识。
本申请实施例中,网关服务端在注册之后需要接收到连接管理服务端返回的注册确认信息之后,才代表网关服务端注册成功;否则注册失败。在注册成功之后,若未被分配连接,则可以向连接管理服务端发送连接建立请求,以获取分配的连接。
当然,每个网关服务端针对同一个短信通道仅能分配一个连接,若其已经分配到连接,则不需要发送连接建立请求。
本申请实施例的网关服务端可以在未分配连接的情况下请求分配连接,有助于提高网关服务端的利用率。
步骤403,向连接管理服务端发送目标状态信息。
该步骤可以参照步骤301的详细说明,在此不再赘述。
步骤404,在接收到所述连接管理服务端分配的连接的情况下,从队列服务端中,对应所述目标短信通道的第一短信队列中提取短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息或所述连接建立请求,在目标网关服务端分组中,对目标短信通道的连接进行调度获得。
其中,每个短信通道对应一个第一短信队列,第一短信队列是队列服务端用于存储向每个短信通道发送的短信的队列。可以理解,需要从第一短信队列的队头开始提取短信,在第二短信队列具有空闲位置时,可以根据空闲位置的大小从第一短信队列中提取短信。
可以理解,步骤404分配的连接可能是针对步骤402发送的连接建立请求分配的,也可能是针对步骤403发送的目标状态信息分配的,步骤402和步骤403均用于请求分配连接,本申请实施例对步骤402和步骤403的顺序也不加限制。
步骤405,将所述短信存入本地与所述目标短信通道对应的第二短信队列中。
其中,第二短信队列中是网关服务端本地用于存储待发送短信的队列,将从第一短信队列中获取的短信存储第二短信队列的队尾。
步骤406,按序从所述第二短信队列中提取短信,并根据所述连接发送所述短信至所述目标短信通道。
其中,第二短信队列中的短信顺序和第一短信队列中的短信顺序一致。
可以理解,提取短信的数量与连接的发送速率相关,发送速率越大,提取短信的数量越多;发送速率越小,提取短信的数量越少。
本申请实施例可以在网关服务端中预先存储待发送短信,有助于减小发送短信所消耗的时长。
可以理解步骤404-406可以为步骤302的一种实现方式。
可选地,所述方法还可以包括步骤407-408:
步骤407,确定所述连接的响应时长。
本申请实施例在每次发送短信之后,均可以确定响应时长,以重新确定短信的发送速率,在下一次发送短信时,以新的发送速率进行短信发送。具体地,可以记录向短信通道发送短信的时间,以及接收到短信通道对该短信返回的接收确认信息的时间,计算两个时间之间的时间差得到响应时长。
步骤408,根据所述响应时长,确定所述短信的发送速率。
其中,短信的发送速率为网关服务端向短信通道发送短信的速率,可以用单位时间内发送的短信数据量来表示。
可以理解,响应时长越大代表短信通道的发送性能较差,从而可以确定一个较小的发送速率;响应时长越小代表短信通道的发送性能较好,从而可以确定一个较大的发送速率。
本申请实施例可以根据响应时长调整发送速率,以使得发送速率与短信通道的响应时长匹配,有助于提高短信通道的发送性能。
可以理解在该发送速率确定后,在步骤302中,根据连接发送短信至所述目标短信通道可以包括:根据该短信的发送速率,以该连接发送短信至目标短信通道。
可选地,所述步骤408包括子步骤G1至G2:
子步骤G1,在所述响应时长大于或等于第一时长阈值的情况下,在预设发送速率区间内减小所述预设发送速率。
其中,预设发送速率区间是在连接管理服务端中注册短信通道的时候设置的,每个短信通道的连接的发送速率区间是相同的,不同短信通道的连接的发送速率区间是不同的,发送速率在该发送速率区间内调整。
基于上述发送速率区间减小发送速率时,若当前发送速率为发送速率区间的最小值,则无法再减小发送速率;若当前发送速率大于发送速率区间的最小值,则可以减小发送速率,但减小之后的发送速率必须大于或等于该最小值。
在减小发送速率时,可以按照一定步长减小,每次将发送速率减小该步长,以逐步的减小发送速率,避免一次减小过多导致的发送速率过小。
子步骤G2,在所述响应时长小于或等于第二时长阈值的情况下,在预设发送速率区间内增大所述预设发送速率;其中,所述第二时长阈值小于所述第一时长阈值。
基于上述发送速率区间增大发送速率时,若当前发送速率为发送速率区间的最大值,则无法再增大发送速率;若当前发送速率小于发送速率区间的最大值,则可以增大发送速率,但增大之后的发送速率必须小于或等于该最大值。
在增大发送速率时,可以按照一定步长增大,每次将发送速率增加该步长,以逐步的增大发送速率,避免一次增大过多导致的发送速率过大。
本申请实施例可以根据响应时长增大或减小网关服务端的发送速率,以使得发送速率与短信通道的响应时长匹配,有助于提高短信通道的发送性能。
可选地,所述步骤408还可以包括子步骤G3:
步骤G3,若所述响应时长大于或等于第三时长阈值,则断开所述网关服务端与所述目标短信通道的连接,并向连接管理服务端发送连接断开通知;所述连接断开通知用于提示所述网关服务端已经与所述目标短信通道断开连接。
其中,第三时长阈值用于判断响应时长是否严重超长,通常第三时长阈值比第一时长阈值、第二时长阈值大,当响应时长大于或等于第三时长阈值,则代表短信通道的响应时长严重超长,认为短信通道的发送性能很差,此时,网关服务端可以断开与短信通道的连接,并通知连接管理服务端,以使连接管理服务端将该网关服务端标记为未分配连接;当响应时长小于第三时长阈值,则代表短信通道的响应时长不严重超长,认为短信通道的发送性能未达到需要断开连接的程度,此时,并不会断开网关服务端和短信通道的连接。
本申请实施例可以在响应时长过长时断开与短信通道的连接,以减小对短信通道的压力,提高短信通道的发送性能。
综上,在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。还可以生成注册请求,以在连接管理服务端中注册,避免人工注册带来的人工成本,并且准确度更高;还可以在未分配连接的情况下请求分配连接,有助于提高网关服务端的利用率;还可以在网关服务端中预先存储待发送短信,有助于减小发送短信所消耗的时长;还可以根据响应时长动态调整发送速率,提高发送速率和短信通道的发送性能的匹配度,进一步降低了短信通道的资源浪费,减少短信积压;还可以在响应时长过长时断开与短信通道的连接,以减小对短信通道的压力,提高短信通道的发送性能。
参照图9,示出了本申请的另一种短信通道连接的处理方法实施例的步骤流程图,该方法可以包括:
步骤501,网关服务端向连接管理服务端发送目标状态信息;其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接。
步骤502,连接管理服务端接收所述目标状态信息,并根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度。
步骤503,所述网关服务端在接收所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信。
连接管理服务端的描述参照图5和图6的描述,网关服务端的描述参照图7和图8的描述,在此不再详述。
在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种短信通道连接的处理装置,应用于连接管理服务端,如图10至图11。
参照图10,示出了本申请的一种短信通道连接的处理装置实施例的结构框图,具体可以包括如下模块:
目标状态信息接收模块601,用于接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接。
连接调度模块602,用于根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。
综上,在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。
参照图11,示出了本申请的另一种短信通道连接的处理装置实施例的结构框图,具体可以包括如下模块:
注册请求接收模块701,用于接收所述目标网关服务端分组中的网关服务端的注册请求。
注册模块702,用于根据所述注册请求,在所述目标网关服务端分组中对所述网关服务端进行注册。
目标状态信息接收模块703,用于接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接。
连接调度模块704,用于在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道。
可选地,还包括添加请求接收模块和添加模块:
添加请求接收模块,用于接收添加请求;所述添加请求包括网关服务端的标识以及短信通道的标识。
添加模块,用于根据所述添加请求,将所述网关服务端加入所述短信通道对应的网关服务端分组。
可选地,还包括删减请求接收模块和删减模块:
删减请求接收模块,用于接收删减请求;所述删减请求包括网关服务端的标识以及短信通道的标识。
删减模块,用于根据所述删减请求,将所述网关服务端从所述短信通道对应的网关服务端分组中删除。
可选地,所述目标状态信息包括:所述连接的连接异常状态信息;所述连接调度模块704,包括统计子模块、第一数量降低子模块、第一数量增加子模块和第一连接调度子模块:
统计子模块,用于确定属于所述目标网关服务端分组的连接异常状态信息的第二数量。
第一数量降低子模块,用于在所述第二数量符合第一预设条件的情况下,降低所述目标短信通道对应的所述第一数量。
第一数量增加子模块,用于在所述第二数量符合第二预设条件的情况下,增加所述目标短信通道对应的所述第一数量。
可选地,所述第一预设条件为所述第二数量大于第一数量阈值,所述第二预设条件为所述第二数量小于第二数量阈值,所述第一数量阈值大于所述第二数量阈值。
第一连接调度子模块,用于在所述目标网关服务端分组中,将所述第一数量的连接进行调度。
可选地,所述第一连接调度子模块包括第一连接调度单元:
第一连接调度单元,用于在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端分组中未被分配连接的网关服务端。
可选地,还包括连接建立请求单元:
连接建立请求单元,用于接收未被分配连接的目标网关服务端的连接建立请求。
基于所述连接建立请求单元,所述第一连接调度单元包括第一连接调度子单元:
第一连接调度子单元,用于在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端。
所述第一连接调度单元包括未分配确定子单元和分配及记录子单元:
未分配确定子单元,用于在所述第一数量的连接中存在空闲连接的情况下,从注册的网关服务端中,确定未被标记为已分配连接的目标网关服务端。
分配及记录子单元,用于将所述空闲连接分配给所述目标网关服务端,并标记所述目标网关服务端为已分配连接。
可选地,还包括下线通知模块:
下线通知模块,用于在收到的所述连接异常状态信息的第二数量大于第三数量阈值的情况下,向短信服务端发送下线通知;所述下线通知用于停止使用所述目标短信通道;所述第三数量阈值大于所述第一数量阈值。
可选地,所述目标状态信息包括负载状态信息,所述连接调度模块704包括目标网关服务端选择子模块和空闲连接分配子模块:
目标网关服务端选择子模块,用于从未被分配连接的网关服务端中,选择负载状态信息符合第三预设条件的目标网关服务端。
空闲连接分配子模块,用于在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端。
可选地,所述连接调度模块704还用于:在确定一网关服务端出现异常的情况下,断开所述网关服务端与所述目标短信通道之间的连接,并将断开的连接确定为空闲连接。
可选地,还包括报警模块:
报警模块,用于向短信服务端发送报警信息;所述报警信息用于提示所述网关服务端出现异常。
可选地,还包括断开通知接收模块和空闲连接确定模块:
断开通知接收模块,用于接收所述网关服务端发送的连接断开通知,所述连接断开通知用于提示所述网关服务端已经与所述目标短信通道断开连接。
空闲连接确定模块,用于将已经断开的连接确定为空闲连接。
可选地,所述目标状态信息包括响应时长,所述响应时长为所述网关服务端与所述短信通道建立连接的情况下获得,还包括响应时长发送模块:
响应时长发送模块,用于向短信服务端发送所述响应时长;所述响应时长用于确定使用的短信通道。
可选地,还包括使用通知接收模块:
使用通知接收模块,用于接收所述短信服务端的短信通道使用通知;所述短信通道使用通知用于指示使用至少一个短信通道。
基于所述使用通知接收模块,所述连接调度模块706包括第二连接调度子模块:
第二连接调度子模块,用于根据所述目标状态信息,在与使用的目标短信通道所对应的所述目标网关服务端分组中,对所述目标短信通道的所述连接进行调度。
综上,在本申请实施例中,根据网关服务端的异常状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于异常状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,降低了短信通道的资源浪费,减少了短信积压。
此外,本申请还可以根据连接异常状态信息的第二数量动态的调整短信通道的连接的第一数量,以提高第一数量与短信通道的实时性能的匹配度;还可以在检测到空闲连接时,将空闲连接主动分配,以提高短信通道的利用率;还可以根据目标网关服务端的连接建立请求进行空闲连接的分配;还可以在短信通道达到无法正常使用的异常程度时,停止使用该短信通道,有助于提高避免已无法正常使用的短信通道影响短信的发送;还可以根据负载状态信息将空闲连接分配给目标网关服务端,使得分配到的目标网关服务端的负载较低,有助于避免由于目标网关服务端负载过大导致短信发送失败或延迟较大;还可以主动确定网关服务端是否出现异常,并断开出现异常的网关服务端与短信通道之间的连接,避免该异常的网关服务端占用连接但无法保证短信的发送性能;还向短信服务端发送报警信息以提示异常的网关服务端,不仅可以使维护人员尽快解决异常,还可以使短信服务端在决策发送短信的短信通道时,适当减小向该异常的网关服务端对应的短信通道压入的短信数量,有助于减少短信通道的短信积压;还可以在异常情况下主动断开与短信通道的连接,避免占用连接但无法发送短信或短信发送性能较差;还可以根据响应时长在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于响应时长是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。还可以将网关服务端加入到网关服务端分组中,实现网关服务端分组的动态加入;还可以将网关服务端从所属的网关服务端分组中删除,实现网关服务端分组的动态删减;还可以根据响应时长选取使用部分短信通道进行短信发送,而其余短信通道由于其响应时长过大,则可停止使用该短信通道,如此可以尽可能的减小发送短信所消耗的时长。
参照图12,示出了本申请的另一种短信通道连接的处理装置实施例的结构框图,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接,具体可以包括如下模块:
目标状态信息发送模块801,用于向连接管理服务端发送目标状态信息。
短信发送模块802,用于在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度获得。
在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。
参照图13,示出了本申请的另一种短信通道连接的处理装置实施例的结构框图,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接,具体可以包括如下模块:
注册请求发送模块901,用于向所述连接管理服务端发送注册请求;所述注册请求用于通知连接管理服务端对所述网关服务端进行注册。
连接建立请求发送模块902,用于在所述网关服务端未被分配连接的情况下,向所述连接管理服务端发送连接建立请求;所述连接建立请求用于通知所述连接管理服务端为所述网关服务端分配所述目标短信通道的连接。
目标状态信息发送模块903,用于向连接管理服务端发送目标状态信息。
短信发送模块904,用于在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息或所述连接建立请求,在目标网关服务端分组中,对目标短信通道的连接进行调度获得,所述短信发送模块904包括短信提取子模块9041、短信存储子模块9042和短信发送子模块9043:
短信提取子模块9041,用于在接收到所述连接管理服务端分配的连接的情况下,从队列服务端中,对应所述目标短信通道的第一短信队列中提取短信。
短信存储子模块9042,用于将所述短信存入本地与所述目标短信通道对应的第二短信队列中。
短信发送子模块9043,用于按序从所述第二短信队列中提取短信,并根据所述连接发送所述短信至所述目标短信通道。
可选地,还包括响应时长确定模块和发送速率确定模块:
响应时长确定模块,用于确定所述连接的响应时长。
发送速率确定模块,用于根据所述响应时长,确定所述短信的发送速率。
可选地,所述发送速率确定模块包括发送速率减小子模块和发送速率增大子模块:
发送速率减小子模块,用于在所述响应时长大于或等于第一时长阈值的情况下,在预设发送速率区间内减小所述预设发送速率。
发送速率增大子模块,用于在所述响应时长小于或等于第二时长阈值的情况下,在预设发送速率区间内增大所述预设发送速率;其中,所述第二时长阈值小于所述第一时长阈值。
可选地,还包括:
第二连接断开模块,用于若所述响应时长大于或等于第三时长阈值,则断开所述网关服务端与所述目标短信通道的连接,并向连接管理服务端发送连接断开通知;所述连接断开通知用于提示所述网关服务端已经与所述目标短信通道断开连接。
综上,在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。还可以生成注册请求,以在连接管理服务端中注册,避免人工注册带来的人工成本,并且准确度更高;还可以在未分配连接的情况下请求分配连接,有助于提高网关服务端的利用率;还可以在网关服务端中预先存储待发送短信,有助于减小发送短信所消耗的时长;还可以根据响应时长动态调整发送速率,提高发送速率和短信通道的发送性能的匹配度,进一步降低了短信通道的资源浪费,减少短信积压;还可以在响应时长过长时断开与短信通道的连接,以减小对短信通道的压力,提高短信通道的发送性能。
参照图14,示出了本申请的一种短信通道连接的处理系统实施例的结构框图,具体可以包括:网关服务端S100、连接管理服务端S101;
所述网关服务端S100包括目标状态信息发送模块1001和短信发送模块1002:
目标状态信息发送模块1001,用于向连接管理服务端发送目标状态信息;其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接。
短信发送模块1002,用于在接收所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信。
所述连接管理服务端S101包括连接调度模块1011:
连接调度模块1011,用于接收所述目标状态信息,并根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度。
在本申请实施例中,根据网关服务端的目标状态信息在与短信通道对应的网关服务端分组中,对短信通道的连接进行调度,由于目标状态信息是动态变化的,且体现了网关服务端和短信通道的实时通信状态,从而实现了根据网关服务端和短信通道的实施通信状态进行连接的动态调度,使得网关服务端分组的实际发送能力与短信通道的发送能力尽量匹配,避免网关服务端分组中各网关服务端与短信通道的连接固定匹配,导致各网关服务端分组直接抢占短信通道的连接的情况,有助于降低短信通道的资源浪费,减少短信积压。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括终端设备、服务端(集群)等各类型的设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括终端设备、服务端(集群)等电子设备。图15示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1100。
对于一个实施例,图15示出了示例性装置1100,该装置具有一个或多个处理器1102、被耦合到(一个或多个)处理器1102中的至少一个的控制模块(芯片组)1104、被耦合到控制模块1104的存储器1106、被耦合到控制模块1104的非易失性存储器(NVM)/存储设备1108、被耦合到控制模块1104的一个或多个输入/输出设备1110,以及被耦合到控制模块1104的网络接口1112。
处理器1102可包括一个或多个单核或多核处理器,处理器1102可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1100能够作为本申请实施例中所述终端设备、服务端(集群)等设备。
在一些实施例中,装置1100可包括具有指令1114的一个或多个计算机可读介质(例如,存储器1106或NVM/存储设备1108)以及与该一个或多个计算机可读介质相合并被配置为执行指令1114以实现模块从而执行本公开中所述的动作的一个或多个处理器1102。
对于一个实施例,控制模块1104可包括任意适当的接口控制器,以向(一个或多个)处理器1102中的至少一个和/或与控制模块1104通信的任意适当的设备或组件提供任意适当的接口。
控制模块1104可包括存储器控制器模块,以向存储器1106提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1106可被用于例如为装置1100加载和存储数据和/或指令1114。对于一个实施例,存储器1106可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1106可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1104可包括一个或多个输入/输出控制器,以向NVM/存储设备1108及(一个或多个)输入/输出设备1110提供接口。
例如,NVM/存储设备1108可被用于存储数据和/或指令1114。NVM/存储设备1108可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备1108可包括在物理上作为装置1100被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,NVM/存储设备1108可通过网络经由(一个或多个)输入/输出设备1110进行访问。
(一个或多个)输入/输出设备1110可为装置1100提供接口以与任意其他适当的设备通信,输入/输出设备1110可以包括通信组件、音频组件、传感器组件等。网络接口1112可为装置1100提供接口以通过一个或多个网络通信,装置1100可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1100可以但不限于是:服务端、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1100可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1100包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,装置1100中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或NVM/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种短信通道连接的处理方法、装置、系统、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (28)
1.一种短信通道连接的处理方法,应用于连接管理服务端,所述方法包括:
接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接;
根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道;
其中,所述对目标短信通道的连接进行调度,包括:
根据所述目标状态信息代表的所述网关服务端的运行状态,对所述目标短信通道的连接进行调度。
2.根据权利要求1所述的方法,其特征在于,所述目标状态信息包括:所述连接的连接异常状态信息;所述根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度,包括:
确定属于所述目标网关服务端分组的连接异常状态信息的第二数量;
在所述第二数量符合第一预设条件的情况下,降低所述目标短信通道对应的所述第一数量;
在所述第二数量符合第二预设条件的情况下,增加所述目标短信通道对应的所述第一数量;
在所述目标网关服务端分组中,将所述第一数量的连接进行调度。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标网关服务端分组中,将所述第一数量的连接进行调度,包括:
在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端分组中未被分配连接的网关服务端。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收未被分配连接的目标网关服务端的连接建立请求;
所述将所述空闲连接分配给所述目标网关服务端分组中未被分配连接的网关服务端,包括:
将所述空闲连接分配给所述目标网关服务端。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述网关服务端分组中的网关服务端的注册请求;
根据所述注册请求,在所述网关服务端分组中对所述网关服务端进行注册;
所述将所述空闲连接分配给所述目标网关服务端分组中未被分配连接的网关服务端,包括:
从注册的网关服务端中,确定未被标记为已分配连接的目标网关服务端;
将所述空闲连接分配给所述目标网关服务端,并标记所述目标网关服务端为已分配连接。
6.根据权利要求2所述的方法,其特征在于,所述第一预设条件为所述第二数量大于第一数量阈值,所述第二预设条件为所述第二数量小于第二数量阈值,所述第一数量阈值大于所述第二数量阈值。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在收到的所述连接异常状态信息的第二数量大于第三数量阈值的情况下,向短信服务端发送下线通知;所述下线通知用于停止使用所述目标短信通道;所述第三数量阈值大于所述第一数量阈值。
8.根据权利要求1所述的方法,其特征在于,所述目标状态信息包括负载状态信息,所述根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度,包括:
从未被分配连接的网关服务端中,选择负载状态信息符合第三预设条件的目标网关服务端;
在所述第一数量的连接中存在空闲连接的情况下,将所述空闲连接分配给所述目标网关服务端。
9.根据权利要求2-8任一项所述的方法,其特征在于,所述方法还包括:
在确定一网关服务端出现异常的情况下,断开所述网关服务端与所述目标短信通道之间的连接,并将断开的连接确定为空闲连接。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
向短信服务端发送报警信息;所述报警信息用于提示所述网关服务端出现异常。
11.根据权利要求2-8任一项所述的方法,其特征在于,所述方法还包括:
接收所述网关服务端发送的连接断开通知,所述连接断开通知用于提示所述网关服务端已经与所述目标短信通道断开连接;
将已经断开的连接确定为空闲连接。
12.根据权利要求1所述的方法,其特征在于,所述目标状态信息包括响应时长,所述响应时长为所述网关服务端与所述短信通道建立连接的情况下获得,所述方法还包括:
向短信服务端发送所述响应时长;所述响应时长用于确定使用的短信通道。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
接收所述短信服务端的短信通道使用通知;所述短信通道使用通知用于指示使用至少一个短信通道;
所述根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度,包括:
根据所述目标状态信息,在与使用的目标短信通道所对应的所述目标网关服务端分组中,对所述目标短信通道的所述连接进行调度。
14.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
接收添加请求;所述添加请求包括网关服务端的标识以及短信通道的标识;
根据所述添加请求,将所述网关服务端加入所述短信通道对应的网关服务端分组。
15.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:
接收删减请求;所述删减请求包括网关服务端的标识以及短信通道的标识;
根据所述删减请求,将所述网关服务端从所述短信通道对应的网关服务端分组中删除。
16.一种短信通道连接的处理方法,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;所述方法包括:
向连接管理服务端发送目标状态信息;
在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度获得;其中,所述连接管理服务端对所述目标短信通道的连接进行调度包括:根据所述目标状态信息代表的所述网关服务端的运行状态,对所述目标短信通道的连接进行调度。
17.根据权利要求16所述的方法,其特征在于,所述分配的连接还由连接管理服务端根据连接建立请求,在目标网关服务端分组中,对目标短信通道的连接进行调度获得,所述方法还包括:
在所述网关服务端未被分配连接的情况下,向所述连接管理服务端发送连接建立请求;所述连接建立请求用于通知所述连接管理服务端为所述网关服务端分配所述目标短信通道的连接。
18.根据权利要求16所述的方法,其特征在于,所述方法还包括:
向所述连接管理服务端发送注册请求;所述注册请求用于通知连接管理服务端对所述网关服务端进行注册。
19.根据权利要求16所述的方法,其特征在于,所述方法还包括:
确定所述连接的响应时长;
根据所述响应时长,确定所述短信的发送速率。
20.根据权利要求19所述的方法,其特征在于,所述根据所述响应时长,确定所述短信的发送速率,包括:
在所述响应时长大于或等于第一时长阈值的情况下,在预设发送速率区间内减小所述预设发送速率;
在所述响应时长小于或等于第二时长阈值的情况下,在预设发送速率区间内增大所述预设发送速率;
其中,所述第二时长阈值小于所述第一时长阈值。
21.根据权利要求20所述的方法,其特征在于,所述方法还包括:
若所述响应时长大于或等于第三时长阈值,则断开所述网关服务端与所述目标短信通道的连接,并向连接管理服务端发送连接断开通知;所述连接断开通知用于提示所述网关服务端已经与所述目标短信通道断开连接。
22.根据权利要求16所述的方法,其特征在于,所述根据所述连接向所述目标短信通道发送短信,包括:
从队列服务端中,对应所述目标短信通道的第一短信队列中提取短信;
将所述短信存入本地与所述目标短信通道对应的第二短信队列中;
按序从所述第二短信队列中提取短信,并根据所述连接发送所述短信至所述目标短信通道。
23.一种短信通道连接的处理方法,其特征在于,所述方法包括:
网关服务端向连接管理服务端发送目标状态信息;其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;
连接管理服务端接收所述目标状态信息,并根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述对目标短信通道的连接进行调度,包括:根据所述目标状态信息代表的所述网关服务端的运行状态,对所述目标短信通道的连接进行调度;
所述网关服务端在接收所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信。
24.一种短信通道连接的处理装置,应用于连接管理服务端,其特征在于,所述装置包括:
目标状态信息接收模块,用于接收网关服务端的目标状态信息;其中,所述网关服务端属于至少一个网关服务端分组,所述网关服务端分组与短信通道对应,所述短信通道支持第一数量的连接;
连接调度模块,用于根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;其中,所述目标网关服务端分组为所述目标状态信息对应的网关服务端所属分组,所述目标短信通道为所述目标网关服务端分组所对应的短信通道;
其中,所述连接调度模块,具体用于根据所述目标状态信息代表的所述网关服务端的运行状态,对所述目标短信通道的连接进行调度。
25.一种短信通道连接的处理装置,应用于网关服务端,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;其特征在于,所述装置包括:
目标状态信息发送模块,用于向连接管理服务端发送目标状态信息;
短信发送模块,用于在接收到所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;其中,所述分配的连接由连接管理服务端根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度获得,其中,所述连接管理服务器对目标短信通道的连接进行调度包括:根据所述目标状态信息代表的所述网关服务端的运行状态,对所述目标短信通道的连接进行调度。
26.一种短信通道连接的处理系统,其特征在于,所述系统包括:网关服务端、连接管理服务端;
所述网关服务端包括:
目标状态信息发送模块,用于向连接管理服务端发送目标状态信息;其中,所述网关服务端属于至少一个目标网关服务端分组,所述目标网关服务端分组与目标短信通道对应,所述目标短信通道支持第一数量的连接;
短信发送模块,用于在接收所述连接管理服务端分配的连接的情况下,根据所述连接向所述目标短信通道发送短信;
所述连接管理服务端包括:
连接调度模块,用于接收所述目标状态信息,并根据所述目标状态信息,在目标网关服务端分组中,对目标短信通道的连接进行调度;
其中,所述连接调度模块,具体用于根据所述目标状态信息代表的所述网关服务端的运行状态,对所述目标短信通道的连接进行调度。
27.一种电子设备,其特征在于,包括:处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-23中任一项所述的方法。
28.一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-23中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010486129.3A CN113301515B (zh) | 2020-06-01 | 2020-06-01 | 短信通道连接的处理方法、装置、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010486129.3A CN113301515B (zh) | 2020-06-01 | 2020-06-01 | 短信通道连接的处理方法、装置、系统、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113301515A CN113301515A (zh) | 2021-08-24 |
CN113301515B true CN113301515B (zh) | 2022-07-05 |
Family
ID=77318082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010486129.3A Active CN113301515B (zh) | 2020-06-01 | 2020-06-01 | 短信通道连接的处理方法、装置、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113301515B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039881B (zh) * | 2021-10-19 | 2023-08-08 | 创盛视联数码科技(北京)有限公司 | 一种通信连接监控方法 |
CN113992731B (zh) * | 2021-11-02 | 2024-04-30 | 四川安迪科技实业有限公司 | 基于stomp协议的异常控制方法及装置 |
CN114079672B (zh) * | 2022-01-07 | 2022-04-15 | 广州市成格信息技术有限公司 | 一种多功能网关多通道数据智能分配方法及系统 |
CN114501351B (zh) * | 2022-01-28 | 2024-04-26 | 阿里巴巴(中国)有限公司 | 流量控制方法、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483838A (zh) * | 2008-04-08 | 2009-07-15 | 中兴通讯股份有限公司 | 一种实现短信群发的方法和系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013086447A1 (en) * | 2011-12-07 | 2013-06-13 | Seven Networks, Inc. | Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol |
CN103618738B (zh) * | 2013-12-09 | 2017-05-03 | 惠州华阳通用电子有限公司 | 一种实现tcp长连接通信的负载智能分配系统及方法 |
CN105451197A (zh) * | 2014-09-29 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种通讯信息的发送方法和装置 |
CN105578426B (zh) * | 2014-10-10 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 一种通讯信息的发送方法和装置 |
CN106161480B (zh) * | 2016-09-28 | 2019-06-21 | 四川长虹电器股份有限公司 | 基于网关资源池的短信平台服务调度方法 |
CN108769202A (zh) * | 2018-05-30 | 2018-11-06 | 维沃移动通信有限公司 | 一种消息推送方法及其服务器和终端设备 |
CN108667742B (zh) * | 2018-08-15 | 2022-05-10 | 南京国电南自轨道交通工程有限公司 | 一种综合监控系统网络负载均衡网关通信方法 |
CN110290003A (zh) * | 2019-06-27 | 2019-09-27 | 携程旅游信息技术(上海)有限公司 | 动态分配短信供应商的tcp连接数的方法及系统 |
-
2020
- 2020-06-01 CN CN202010486129.3A patent/CN113301515B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101483838A (zh) * | 2008-04-08 | 2009-07-15 | 中兴通讯股份有限公司 | 一种实现短信群发的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113301515A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113301515B (zh) | 短信通道连接的处理方法、装置、系统、设备和存储介质 | |
CN107832126B (zh) | 一种线程的调整方法及其终端 | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN107819797B (zh) | 访问请求处理方法和装置 | |
JP6542899B2 (ja) | ランダムアクセス方法、端末、および基地局 | |
US20190261351A1 (en) | Function scheduling method, device, and system | |
WO2011088785A1 (zh) | 多模基站系统的业务处理资源的调整方法及装置 | |
CN107995286A (zh) | 基于dubbo平台的服务自动启停方法、服务器及存储介质 | |
US10028285B2 (en) | Method, device and terminal for allocating network services to data channels | |
CN113518354B (zh) | 一种确定策略的方法、装置及系统 | |
CN111586140A (zh) | 一种数据交互的方法及服务器 | |
KR101056613B1 (ko) | 무선 네트워크를 통한 단말기 컨텐츠의 자동 업로드 방법 및 그 시스템과 단말기 컨텐츠의 자동 업로드 인터페이스 서버 | |
WO2020124930A1 (zh) | 一种资源的调度、处理方法及装置 | |
CN112491566B (zh) | 资源管理方法、资源管理系统及计算机可读存储介质 | |
CN103313313A (zh) | 传输带宽共享方法和装置 | |
CN109670932B (zh) | 信贷数据核算方法、装置、系统和计算机存储介质 | |
CN114640630B (zh) | 一种流量管控方法、装置、设备及可读存储介质 | |
CN115344350A (zh) | 云服务系统的节点设备及资源处理方法 | |
CN112566049B (zh) | 业务信道分配方法及相关装置 | |
CN114816789A (zh) | 基于云应用的文件处理方法、电子设备和存储介质 | |
CN110891033A (zh) | 网络资源处理方法、装置、网关、控制器及存储介质 | |
WO2021012974A1 (zh) | 基于云平台的容器化应用网络流控方法、装置、设备及存储介质 | |
CN112243019B (zh) | 一种灵活以太网管理通道建立方法及系统 | |
CN110650540B (zh) | 一种无线资源分配方法及装置 | |
US11711470B1 (en) | Distributed parallel queueing for call management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057972 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |