多服务号模板消息发送方法及系统技术方案

技术编号:17784161 阅读:21 留言:0更新日期:2018-04-22 15:34
本发明专利技术提供了一种多服务号模板消息发送方法及系统,使用PHP语言开发Web系统,在Web系统中设置模板消息配置,并存储在MySQL中;调用Web系统对外提供的模板消息发送http接口,从MySQL中读取模板消息配置,并把消息内容参数整合到模板消息配置中,生成待发送的模板消息记录并保存到MySQL中,同时把模板消息记录通过resque‑php推送到redis创建队列中等待消费;Web系统后台消息队列同时运行若干创建消息的进程和若干发送消息的进程,分别通过扫描redis创建队列和redis发送队列,将待创建的模板消息记录以及待发送的模板消息记录消费掉。本发明专利技术支持多服务号高并发且能有效监控发送进度。

【技术实现步骤摘要】
多服务号模板消息发送方法及系统
本专利技术涉及数据传输
,具体地,涉及一种多服务号模板消息发送方法及系统,尤其是一种多服务号模板消息快速发送方法及系统。
技术介绍
在微信服务号客服服务功能中有很多限制,比如:用户必须先跟服务号交互且只能在交互后48小时内,服务号才能通过客服消息方式主动给用户发送消息;或者每月有4次机会使用高级群发消息方式主动给所有用户发送消息。以上这些方式难以满足有需要频繁主动跟用户联系的服务号的服务需求。由此,微信服务号提供了模板消息功能接口,但并没有提供操作界面,只能自行开发。由于微信服务号最大用户数可达数百万,而很多接口都有调用次数限制。所以如何在尽量节省接口调用次数,又快速高效便捷的满足多个服务号高精确度的模板消息发送的需求,是系统开发的难点。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种多服务号模板消息发送方法。根据本专利技术提供的一种多服务号模板消息发送方法,包括步骤:步骤1:使用PHP语言开发Web系统,使用MySQL存储数据,并在Web系统中添加所需的服务号;步骤2:在微信服务号后台登入在Web系统中添加的服务号,并设置对应的服务号信息;步骤3:在Web系统中设置模板消息配置,并存储在MySQL中;步骤4:调用Web系统对外提供的模板消息发送http接口,从MySQL中读取模板消息配置,并把消息内容参数整合到模板消息配置中,生成待发送的模板消息记录并保存到MySQL中,同时把模板消息记录通过resque-php推送到redis创建队列中等待消费;步骤5、Web系统后台消息队列同时运行若干个创建消息的进程,创建消息的进程通过扫描redis创建队列,将待创建的模板消息记录消费掉,消费时,根据发送范围和发送对象获取从MySQL及Web系统获取到服务号用户的openid,然后通过resque-php推送到redis发送队列中,等待消费,同时生成包括发送进度和错误信息的初始值,保存到redis中;步骤6、Web系统后台消息队列同时运行若干个发送消息的进程,发送消息的进程通过扫描redis发送队列,将待发送的模板消息记录消费掉,消费时,调用模板消息发送接口把模板消息发送给用户,并更新redis中的发送进度和错误信息。优选的,所述多服务号模板消息发送方法,还包括步骤:模板消息记录发送步骤:根据要接收模板消息记录的多个通信节点装置的物理位置,将多个通信节点装置的物理位置分别与地理网格中的不同网格单元匹配,得到与所述多个通信节点装置数量相等的多个匹配的网络单元,将所述多个匹配的网络单元的地理位置分布与预设通信位置分布集合中的预设通信位置分布进行匹配,预设通信位置分布集合中的每个预设通信位置分布均对应一通信资源配置方案;按照匹配的预设通信位置分布对应的通信资源配置方案来配置所述多个通信节点装置;其中,通过如下方式,将所述多个匹配的网络单元的地理位置分布与预设通信位置分布集合中的预设通信位置分布进行匹配:获取各个匹配的网络单元的地理位置坐标点,以任意一个坐标点为始发点,执行中继链路连接方法,得到中继链路连接图,从预设通信位置分布集合中查找出与该中继链路连接图相匹配的预设通信位置分布作为匹配的预设通信位置分布;其中,所述中继链路连接方法为:步骤I,将距离始发点最近的且未被连线的坐标点作为终点;步骤II:在始发点与终点之间进行连线,构成边;步骤III,若所述各个匹配的网络单元的地理位置坐标点均已被连线,则得到所述中继链路连接图,若所述各个匹配的网络单元的地理位置坐标点中还存在未被连线的坐标点,则将该终点设定为始发点,返回步骤I继续执行。优选的,步骤4还包括:返回一个JobID,供接口调用者获取模板消息发送进展。优选的,步骤5中:创建消息的进程每3秒扫描一次redis创建队列;优选的,发送消息的进程每1秒扫描一次redis发送队列。优选的,还包括:步骤7、通过微信服务号后台的服务器地址统计每个用户的模板消息的接收情况,并存储到MongoDB中。优选的,还包括:步骤S8、定期分析MySQL中的模板消息记录以及MongoDB中的接收情况,生成模板消息发送日报,统计发送速率,到达率,成功率。根据本专利技术提供的一种多服务号模板消息发送系统,包括存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的多服务号模板消息发送方法的步骤。根据本专利技术提供的一种多服务号模板消息发送系统,包括模块:模块1:使用PHP语言开发Web系统,并在Web系统中添加所需的服务号;模块2:在微信服务号后台登入在Web系统中添加的服务号,并设置对应的服务号信息;模块3:在Web系统中设置模板消息配置,并存储在MySQL中;模块4:调用Web系统对外提供的模板消息发送http接口,从MySQL中读取模板消息配置,并把消息内容参数整合到模板消息配置中,生成待发送的模板消息记录并保存到MySQL中,并把模板消息记录通过消息队列resque-php推送到redis创建队列中等待消费;模块5:Web系统后台消息队列同时运行一个或多个创建消息的进程,创建消息的进程通过扫描redis创建队列,将待创建的模板消息记录消费掉,消费时,根据发送范围和发送对象获取从MySQL及Web系统获取到服务号用户的openid,然后通过resque-php推送到redis发送队列中,等待消费,并生成包括发送进度和错误信息的初始值,保存到redis中;模块6:Web系统后台消息队列同时运行一个或多个发送消息的进程,发送消息的进程通过扫描redis发送队列,将待发送的模板消息记录消费掉,消费时,调用模板消息发送接口把模板消息发送给用户,并更新redis中的发送进度和错误信息。优选地,模块4还包括:返回一个JobID,供接口调用者获取模板消息发送进展。优选地,模块5中:创建消息的进程每3秒扫描一次redis创建队列。优选地,模块6中:发送消息的进程每1秒扫描一次redis发送队列。优选地,还包括:模块7:通过微信服务号后台的服务器地址统计每个用户的模板消息的接收情况,并存储到MongoDB中;模块8:定期分析MySQL中的模板消息记录以及MongoDB中的接收情况,生成模板消息发送日报,统计发送速率、到达率、成功率;在模块1中,使用MySQL存储数据。与现有技术相比,本专利技术具有如下的有益效果:本专利技术实现分布式多进程异步队列发送方式,支持多服务号高并发性能,且能够有效监控某条消息发送进度,分析模板消息发送效果。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术的流程图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。如图1所示,本专利技术提供的一种多服务号模板消息发送方法,包括步骤:步骤1:使用PHP语言开发Web系统,使用MySQL存储数据,并在Web系统中添加所需的服务号。步骤2:在微信服务号后台(http://mp.weixin.qq.com)登入在Web系统中本文档来自技高网...
多服务号模板消息发送方法及系统

【技术保护点】
一种多服务号模板消息发送方法,其特征在于,包括步骤:步骤1:使用PHP语言开发Web系统,并在Web系统中添加所需的服务号;步骤2:在微信服务号后台登入在Web系统中添加的服务号,并设置对应的服务号信息;步骤3:在Web系统中设置模板消息配置,并存储在MySQL中;步骤4:调用Web系统对外提供的模板消息发送http接口,从MySQL中读取模板消息配置,并把消息内容参数整合到模板消息配置中,生成待发送的模板消息记录并保存到MySQL中,并把模板消息记录通过消息队列resque‑php推送到redis创建队列中等待消费;步骤5:Web系统后台消息队列同时运行一个或多个创建消息的进程,创建消息的进程通过扫描redis创建队列,将待创建的模板消息记录消费掉,消费时,根据发送范围和发送对象获取从MySQL及Web系统获取到服务号用户的openid,然后通过resque‑php推送到redis发送队列中,等待消费,并生成包括发送进度和错误信息的初始值,保存到redis中;步骤6:Web系统后台消息队列同时运行一个或多个发送消息的进程,发送消息的进程通过扫描redis发送队列,将待发送的模板消息记录消费掉,消费时,调用模板消息发送接口把模板消息发送给用户,并更新redis中的发送进度和错误信息。...

【技术特征摘要】
1.一种多服务号模板消息发送方法,其特征在于,包括步骤:步骤1:使用PHP语言开发Web系统,并在Web系统中添加所需的服务号;步骤2:在微信服务号后台登入在Web系统中添加的服务号,并设置对应的服务号信息;步骤3:在Web系统中设置模板消息配置,并存储在MySQL中;步骤4:调用Web系统对外提供的模板消息发送http接口,从MySQL中读取模板消息配置,并把消息内容参数整合到模板消息配置中,生成待发送的模板消息记录并保存到MySQL中,并把模板消息记录通过消息队列resque-php推送到redis创建队列中等待消费;步骤5:Web系统后台消息队列同时运行一个或多个创建消息的进程,创建消息的进程通过扫描redis创建队列,将待创建的模板消息记录消费掉,消费时,根据发送范围和发送对象获取从MySQL及Web系统获取到服务号用户的openid,然后通过resque-php推送到redis发送队列中,等待消费,并生成包括发送进度和错误信息的初始值,保存到redis中;步骤6:Web系统后台消息队列同时运行一个或多个发送消息的进程,发送消息的进程通过扫描redis发送队列,将待发送的模板消息记录消费掉,消费时,调用模板消息发送接口把模板消息发送给用户,并更新redis中的发送进度和错误信息。2.根据权利要求1所述的多服务号模板消息发送方法,其特征在于,还包括步骤:模板消息记录发送步骤:根据要接收模板消息记录的多个通信节点装置的物理位置,将多个通信节点装置的物理位置分别与地理网格中的不同网格单元匹配,得到与所述多个通信节点装置数量相等的多个匹配的网络单元,将所述多个匹配的网络单元的地理位置分布与预设通信位置分布集合中的预设通信位置分布进行匹配,预设通信位置分布集合中的每个预设通信位置分布均对应一通信资源配置方案;按照匹配的预设通信位置分布对应的通信资源配置方案来配置所述多个通信节点装置;其中,通过如下方式,将所述多个匹配的网络单元的地理位置分布与预设通信位置分布集合中的预设通信位置分布进行匹配:获取各个匹配的网络单元的地理位置坐标点,以任意一个坐标点为始发点,执行中继链路连接方法,得到中继链路连接图,从预设通信位置分布集合中查找出与该中继链路连接图相匹配的预设通信位置分布作为匹配的预设通信位置分布;其中,所述中继链路连接方法为:步骤I,将距离始发点最近的且未被连线的坐标点作为终点;步骤II:在始发点与终点之间进行连线,构成边;步骤III,若所述各个匹配的网络单元...

【专利技术属性】
技术研发人员:吕军亮胡潜易君强任方铖
申请(专利权)人:上海金大师网络科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1