CN111343590B - 一种具有高并发和高稳定性的短信发送*** - Google Patents
一种具有高并发和高稳定性的短信发送*** Download PDFInfo
- Publication number
- CN111343590B CN111343590B CN201911401469.5A CN201911401469A CN111343590B CN 111343590 B CN111343590 B CN 111343590B CN 201911401469 A CN201911401469 A CN 201911401469A CN 111343590 B CN111343590 B CN 111343590B
- Authority
- CN
- China
- Prior art keywords
- short message
- task
- module
- message sending
- sending
- 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
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 abstract description 3
- 210000001503 joint Anatomy 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种具有高并发和高稳定性的短信发送***,包括:平台配置模块:用于设置用户页面的显示规则;参数配置模块:用于向号码源模块提供号码处理逻辑,以及向号码组模块提供号码分组处理逻辑;号码源模块:获取客户号码并进行号码正则校验;号码组模块:对校验后的号码进行分组处理;话术模块:用于存储用户预先编辑的话术内容;发送任务模块:为每一组目标号码组从话术模块中选取所需话术内容,形成短信发送任务;再将短信发送任务通过统一接入入口模块交付给不同的运营商进行短信发送。本发明可以实现与多家第三方短信公司灵活对接,分组分时段发送短信,实现高并发、高稳定、时效快的短信营销平台。
Description
技术领域
本发明属于网络通信技术领域,具体涉及一种具有高并发和高稳定性的短信发送***架构。
背景技术
目前,短信营销已经拥有广泛的应用场景:注册验证、节日祝福、产品推广等等。在这些应用中,有些需要实时大批量发送以保证内容的有效,有些需要定时定点发送以迎合接收用户的喜好。针对需要实时大批量进行发送的内容,如抢票高峰期时支付验证码,短信发送平台需要能够稳定的支持高并发的短信任务处理,并且高效完成短信的发送。
然而现有的短信批量发送方法不能同时满足稳定的高并发与高效发送。如中国专利CN 106102027 B基于MapReduce的短信批量提交,虽然可以支持大规模的短信并发,但其发送周期长,实时性较差,其他并发发送方法中由于短信发送任务的新增与完成后删除操作对信息表的互斥加锁,导致短信发送并发度低,处理效率低。
发明内容
发明目的:针对于上述现有技术的不足,本发明的目的在于提供一种具有高并发和高稳定性的短信发送***,可以实现目标手机用户自动分组,短信内容解析,允许分组定时处理,并且可以支持百万级的短信高效稳定发送,同时满足应用对实时性和规模的要求。
发明内容:为实现上述技术效果,本发明提出以下技术方案:
一种具有高并发和高稳定性的短信发送***,包括:号码源模块、号码组模块、话术模块、发送任务模块、统一接入入口模块、平台配置模块和参数配置模块;其中,
平台配置模块用于设置用户页面的显示规则;
参数配置模块用于向号码源模块提供号码处理逻辑,以及向号码组模块提供号码分组处理逻辑;
号码源模块获取客户号码,根据参数配置模块提供的号码处理逻辑进行号码正则校验,校验通过后向号码组模块提供处理完成的客户号码;
号码组模块接收号码源模块发送的客户号码,根据参数配置模块提供的号码分组处理逻辑进行号码分组,并将分组后的目标号码组上传给发送任务模块;
话术模块用于存储用户预先编辑的话术内容;
发送任务模块为每一组目标号码组从话术模块中选取所需话术内容,形成短信发送任务;再将短信发送任务通过统一接入入口模块交付给不同的运营商进行短信发送。
进一步的,所述一组目标号码组中各个号码所配置的话术相同或不同。
进一步的,所述参数配置模块配置的内容包括:手机号正则规则、手机号数组分隔符、短信内容分隔符、发送任务等待超时时间、socket默认每秒发送次数、socket心跳检测频率、socket连接重试次数。
进一步的,所述号码组模块进行号码分组的方式包括:顺序分组、随机分组、手动分组,分组可以新增、修改或者删除。
进一步的,所述发送任务模块还可以创建短信发送时间,运营商接收到短信发送任务后在指定时间发送短信。
进一步的,所述发送任务模块在将短信发送任务通过统一接入入口模块交付给不同的运营商之前,还执行以下步骤:
1)建立等待队列、运行队列和结束队列;
2)建立主运行任务线程、等待任务线程、延时任务线程、结束任务线程和异步处理线程;其中异步处理线程在负责对外提供回调接口,根据不同短信通道查找处理器,回调处理短信发送任务的执行结果,并对执行结果批量记录;
3)建立发送记录表,将短信发送任务记录在发送记录表中,并将发送记录表中的所有短信发送任务加入到等待队列,由等待任务线程进行实时监控,到达短信发送任务的发送时间后,把短信发送任务从等待队列移入到运行队列中;
4)开始发送短信前,首先将所有短信通道加载到通道存储器中;运行任务线程从通道存储器中获取发送任务通道,并匹配短信发送处理器,匹配成功后开始任务发送,记录并发信号量和同步响应结果;若匹配不到相应的处理器,则短信发送任务提前结束,将短信发送任务从运行队列移入结束队列;
5)在步骤4)进行的同时,延时任务线程实时监测运行中的短信发送任务,若短信发送任务运行时间到期超时,则主动中断此短信发送任务,将此短信发送任务从运行队列移入结束队列中;若已发送号码的数量与实际需要发送号码的数量匹配,且短信发送任务未超时,则正常结束短信发送任务,将短信发送任务加入到结束队列中;
6)结束任务线程实时监测结束队列,当检测到结束队列中存在短信发送任务,则结束相应短信发送任务并记录短信发送任务未完成的结果。
有益效果:与现有技术相比,本发明具有以下技术效果:
本发明方案利用队列与多线程技术,使得平台可以支持百万级短信的发送,高并发,时效快,稳定性高,同时满足用户对于实时性和大规模短信并发的需求。同时,本发明可以灵活高效的对接多家第三方短信公司,保证短信的发送速度与发送效率。
附图说明
图1为本发明的***示意图;
图2为本发明的***物理示意图;
图3为本发明的业务流程图;
图4为本发明的数据处理流程图。
具体实施方式
下面将结合附图和具体实施例对本发明作更进一步的说明。但应当理解的是,本发明可以以各种形式实施,以下在附图中出示并且在下文中描述的一些示例性和非限制性实施例,并不意图将本发明限制于所说明的具体实施例。
图1示出了本发明涉及的一种具有高并发和高稳定性的短信发送***的一个示例性***架构,所述具有高并发和高稳定性的短信发送***包括服务部分和通道部分。其中服务部分包含号码源模块、号码组模块、话术模块、发送任务模块、统一接口模块、平台配置模块和参数配置模块,通道部分包括各个服务运营商的服务接口通道,如移动、联通、电信提供的服务接口通道。
其中,平台配置模块用于设置用户页面的显示规则;
参数配置模块用于向号码源模块提供号码处理逻辑,以及向号码组模块提供号码分组处理逻辑;
号码源模块获取客户号码,根据参数配置模块提供的号码处理逻辑进行号码正则校验,校验通过后向号码组模块提供处理完成的客户号码;
号码组模块接收号码源模块发送的客户号码,根据参数配置模块提供的号码分组处理逻辑进行号码分组,并将分组后的目标号码组上传给发送任务模块;
话术模块用于存储用户预先编辑的话术内容;
发送任务模块为每一组目标号码组从话术模块中选取所需话术内容,形成短信发送任务;再将短信发送任务通过统一接入入口模块交付给不同的运营商进行短信发送。
在本发明涉及的一种具有高并发和高稳定性的短信发送***的一个或多个实施方式中,所述一组目标号码组中各个号码所配置的话术相同或不同。
在本发明涉及的一种具有高并发和高稳定性的短信发送***的一个或多个实施方式中,所述参数配置模块配置的内容包括:手机号正则规则、手机号数组分隔符、短信内容分隔符、发送任务等待超时时间、socket默认每秒发送次数、socket心跳检测频率、socket连接重试次数。
在本发明涉及的一种具有高并发和高稳定性的短信发送***的一个或多个实施方式中,所述号码组模块进行号码分组的方式包括:顺序分组、随机分组、手动分组,分组可以新增、修改或者删除。
在本发明涉及的一种具有高并发和高稳定性的短信发送***的一个或多个实施方式中,所述发送任务模块还可以创建短信发送时间,运营商接收到短信发送任务后在指定时间发送短信。
在本发明涉及的一种具有高并发和高稳定性的短信发送***的一个或多个实施方式中,所述发送任务模块在将短信发送任务通过统一接入入口模块交付给不同的运营商之前,还执行以下步骤:
1)建立等待队列、运行队列和结束队列;
2)建立主运行任务线程、等待任务线程、延时任务线程、结束任务线程和异步处理线程;其中异步处理线程在负责对外提供回调接口,根据不同短信通道查找处理器,回调处理短信发送任务的执行结果,并对执行结果批量记录;
3)建立发送记录表,将短信发送任务记录在发送记录表中,并将发送记录表中的所有短信发送任务加入到等待队列,由等待任务线程进行实时监控,到达短信发送任务的发送时间后,把短信发送任务从等待队列移入到运行队列中;
4)开始发送短信前,首先将所有短信通道加载到通道存储器中;运行任务线程从通道存储器中获取发送任务通道,并匹配短信发送处理器,匹配成功后开始任务发送,记录并发信号量和同步响应结果;若匹配不到相应的处理器,则短信发送任务提前结束,将短信发送任务从运行队列移入结束队列;
5)在步骤4)进行的同时,延时任务线程实时监测运行中的短信发送任务,若短信发送任务运行时间到期超时,则主动中断此短信发送任务,将此短信发送任务从运行队列移入结束队列中;若已发送号码的数量与实际需要发送号码的数量匹配,且短信发送任务未超时,则正常结束短信发送任务,将短信发送任务加入到结束队列中;
6)结束任务线程实时监测结束队列,当检测到结束队列中存在短信发送任务,则结束相应短信发送任务并记录短信发送任务未完成的结果。
下面结合图2、图3和图4描述上述实施例涉及的一种具有高并发和高稳定性的短信发送***具体工作方法。
参照图2,用户在平台上创建发送短信任务,其中可以创建号码源类别和创建号码组,并导入号码源。开始或者新增短信发送任务时,选择相应号码源、短信通道、创建选择合适话术,如需定时发送则设定发送时间,确认提交后则任务创建成功。
具体的,号码组的创建流程如图3所示,用户首先填写新号码组信息,如号码组名称、备注,然后选择号码组所属类别,若当前无合适类别则可新建并选择,基本信息选择完毕后选择需要导入的号码源,然后选择分组方式:若选择顺序分组或随机分组,则直接填写需要的号码数量,则号码组模块自动进行分组,若选择手动分组则需要用户主动输入需要加入该分组的号码。
话术的创建与选择与号码组同理,用户选定号码组、需要采用的短信通道与话术内容后,即可生成短信发送任务。
本发明在处理短信发送任务时,利用队列和多线程实现高并发,具体的,队列包括等待队列、运行队列和结束队列,线程包含主运行任务线程、等待任务线程、延时任务线程、结束任务线程和异步处理线程。图4所示即为各队列和任务线程在整个短信发送任务执行过程中的工作步骤。短信发送任务创建后,首先解析号码源,号码源解析规则依据参数配置中的号码组分隔符进行号码源的分隔处理。然后解析话术,处理话术中所包含的短链,和特殊字段,并将解析后的号码源和话术加入到发送记录表当中。
发送记录表中记录所有待发送的短信发送任务,短信发送任务包含五种状态:等待、运行、成功、失败、中断。初始时,发送记录表中的任务处于等待状态。
对比发送记录表中短信发送任务的发送时间,将未到发送时间的短信发送任务加入到等待队列中,由等待任务线程进行实时监控,到达任务发送时间后,把短信发送任务加入到运行队列中,短信发送任务状态变更为运行中,由运行任务线程负责短信发送任务处理。
在项目启动时,所有短信通道已预先加载到通道存储器中,运行任务线程从通道存储器中获取发送任务通道,并匹配短信发送处理器,开始短信发送,记录并发信号量,记录同步响应结果。若匹配不到相应的处理器,则发送任务提前结束。
延时任务线程实时监测运行中的短信发送任务,若短信发送任务运行时间到期超时,则主动中断此短信发送任务,短信发送任务状态变更为中断,并加入到结束队列中。
若已发送号码的数量与实际需要发送号码的数量匹配,且发送任务未超时,则正常结束短信发送任务,并加入到结束队列中。
结束任务线程实时监测结束队列,检测到结束队列中的任务,则结束任务并记录发送任务的结果。
异步处理线程负责对外提供回调接口,根据不同短信通道查找处理器,回调处理短信发送结果,批量记录。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外的实施例。此外,本发明所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤、顺序做出相应修改而不脱离本发明的保护范围。
上述实施例,特别是任何“优选”实施例,是实施方式的可能示例,并且仅仅为了清楚理解本发明的原理而提出。在基本上不脱离本发明描述的技术的精神和原理的情况下,可以对上述实施例做出许多变化和修改,这些变化和修改也应视为本发明的保护范围。
Claims (5)
1.一种具有高并发和高稳定性的短信发送***,其特征在于,包括:号码源模块、号码组模块、话术模块、发送任务模块、统一接入入口模块、平台配置模块和参数配置模块;其中,
平台配置模块用于设置用户页面的显示规则;
参数配置模块用于向号码源模块提供号码处理逻辑,以及向号码组模块提供号码分组处理逻辑;
号码源模块获取客户号码,根据参数配置模块提供的号码处理逻辑进行号码正则校验,校验通过后向号码组模块提供处理完成的客户号码;
号码组模块接收号码源模块发送的客户号码,根据参数配置模块提供的号码分组处理逻辑进行号码分组,并将分组后的目标号码组上传给发送任务模块;
话术模块用于存储用户预先编辑的话术内容;
发送任务模块执行以下步骤:1)为每一组目标号码组从话术模块中选取所需话术内容,形成短信发送任务;2)建立等待队列、运行队列和结束队列;3)建立主运行任务线程、等待任务线程、延时任务线程、结束任务线程和异步处理线程;其中异步处理线程在负责对外提供回调接口,根据不同短信通道查找处理器,回调处理短信发送任务的执行结果,并对执行结果批量记录;4)建立发送记录表,将短信发送任务记录在发送记录表中,并将发送记录表中的所有短信发送任务加入到等待队列,由等待任务线程进行实时监控,到达短信发送任务的发送时间后,把短信发送任务从等待队列移入到运行队列中;5)开始发送短信前,首先将所有短信通道加载到通道存储器中;运行任务线程从通道存储器中获取发送任务通道,并匹配短信发送处理器,匹配成功后开始任务发送,记录并发信号量和同步响应结果;若匹配不到相应的处理器,则短信发送任务提前结束,将短信发送任务从运行队列移入结束队列;6)在步骤5)进行的同时,延时任务线程实时监测运行中的短信发送任务,若短信发送任务运行时间到期超时,则主动中断此短信发送任务,将此短信发送任务从运行队列移入结束队列中;若已发送号码的数量与实际需要发送号码的数量匹配,且短信发送任务未超时,则正常结束短信发送任务,将短信发送任务加入到结束队列中;7)结束任务线程实时监测结束队列,当检测到结束队列中存在短信发送任务,则结束相应短信发送任务并记录短信发送任务未完成的结果;8)将短信发送任务通过统一接入入口模块交付给不同的运营商进行短信发送。
2.根据权利要求1所述的一种具有高并发和高稳定性的短信发送***,其特征在于,所述一组目标号码组中各个号码所配置的话术相同或不同。
3.根据权利要求1所述的一种具有高并发和高稳定性的短信发送***,其特征在于,所述参数配置模块配置的内容包括:手机号正则规则、手机号数组分隔符、短信内容分隔符、发送任务等待超时时间、socket默认每秒发送次数、socket心跳检测频率、socket连接重试次数。
4.根据权利要求1所述的一种具有高并发和高稳定性的短信发送***,其特征在于,号码组模块进行号码分组的方式包括:顺序分组、随机分组、手动分组,分组可以新增、修改或者删除。
5.根据权利要求1所述的一种具有高并发和高稳定性的短信发送***,其特征在于,所述发送任务模块还可以创建短信发送时间,运营商接收到短信发送任务后在指定时间发送短信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911401469.5A CN111343590B (zh) | 2019-12-31 | 2019-12-31 | 一种具有高并发和高稳定性的短信发送*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911401469.5A CN111343590B (zh) | 2019-12-31 | 2019-12-31 | 一种具有高并发和高稳定性的短信发送*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343590A CN111343590A (zh) | 2020-06-26 |
CN111343590B true CN111343590B (zh) | 2021-08-06 |
Family
ID=71187038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911401469.5A Active CN111343590B (zh) | 2019-12-31 | 2019-12-31 | 一种具有高并发和高稳定性的短信发送*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343590B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111918225B (zh) * | 2020-09-15 | 2022-03-29 | 北京值得买科技股份有限公司 | 一种基于多运营商发送短信的方法 |
CN112783625B (zh) * | 2021-01-18 | 2023-10-24 | 北京思特奇信息技术股份有限公司 | 一种应急类多任务处理******及方法 |
CN113891263B (zh) * | 2021-11-12 | 2022-08-26 | 成都天府通金融服务股份有限公司 | 短信服务***及其同步发送方法、异步发送方法 |
CN114025318A (zh) * | 2021-11-22 | 2022-02-08 | 上海通联金融服务有限公司 | 基于***短信提醒分批发送的方法、存储介质及终端 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100228748A1 (en) * | 2009-02-23 | 2010-09-09 | International Business Machines Corporation | Data subset retrieval from a queued message |
CN101917687B (zh) * | 2010-08-12 | 2013-04-17 | 中国电信股份有限公司 | 一种短信下发方法和短信中心 |
CN102761832B (zh) * | 2011-04-28 | 2015-05-27 | ***通信集团河南有限公司 | 一种消息分发方法以及消息分发装置 |
CN103631570A (zh) * | 2012-08-21 | 2014-03-12 | 镇江雅迅软件有限责任公司 | 一种表单自定义方法 |
CN104243483A (zh) * | 2014-09-24 | 2014-12-24 | 海信集团有限公司 | 一种消息处理方法和装置 |
CN106792594B (zh) * | 2016-12-29 | 2020-10-27 | 江西博瑞彤芸科技有限公司 | 短消息的发送方法 |
US10459778B1 (en) * | 2018-07-16 | 2019-10-29 | Microsoft Technology Licensing, Llc | Sending messages between threads |
-
2019
- 2019-12-31 CN CN201911401469.5A patent/CN111343590B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111343590A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343590B (zh) | 一种具有高并发和高稳定性的短信发送*** | |
US9213952B2 (en) | Automatic scheduling tool | |
CN102404858B (zh) | 一种无线资源优化方法、装置及*** | |
US8156499B2 (en) | Methods, systems and articles of manufacture for scheduling execution of programs on computers having different operating systems | |
CN110740217A (zh) | 一种多渠道数据整合交互方法和装置、设备及存储介质 | |
CN105224396B (zh) | 一种业务数据处理方法和装置 | |
US20130054635A1 (en) | Procuring communication session records | |
CN101963976A (zh) | 一种用于移动终端的信息搜索方法及移动终端 | |
US20210184876A1 (en) | Automatic conference management tool | |
CN106034113A (zh) | 数据处理方法及装置 | |
WO2019047568A1 (zh) | 用户呼叫处理方法、装置、计算机设备和存储介质 | |
CN105827877A (zh) | 一种基于ivr平台的业务处理方法及ivr平台 | |
CN111221793A (zh) | 数据挖掘方法、平台、计算机设备及存储介质 | |
CN103200022B (zh) | 一种数据下载异常处理方法、设备及*** | |
CN104699795A (zh) | 一种推送视频的方法及装置 | |
CN106155842B (zh) | 一种数据迁移方法及装置 | |
CN102571623A (zh) | 即时通信中用以信息发送的方法及*** | |
CN111930625B (zh) | 基于云服务平台的日志获取方法、装置及*** | |
CN109964473B (zh) | 语音业务应答的方法及装置 | |
CN102045274B (zh) | 基于即时通信实现信息交互的方法和通信*** | |
CN103746904A (zh) | 信息交互方法和装置 | |
US20130055108A1 (en) | Managing an On-Line Conference Session | |
CN111274325B (zh) | 平台自动化测试方法及*** | |
CN109410926A (zh) | 语音语义识别方法及*** | |
CN112714181A (zh) | 一种数据传输方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 215000 d205-208, No. 99, Ren'ai Road, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Jiyi Technology Co.,Ltd. Address before: 215000 d205-208, No. 99, Ren'ai Road, Suzhou Industrial Park, Jiangsu Province Patentee before: Suzhou easy to sell information technology Co.,Ltd. |