一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种处理百万级并发计费请求的方法与流程

2022-02-22 03:14:37 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体的,本发明涉及一种处理百万级并发计费请求的方法。


背景技术:

2.随着互联网技术的发展,对互联网产品服务器的性能要求越来越高。当服务器接收到大量并发请求时,可能会严重超出服务器的负荷能力,请求得不到及时的处理,会导致大量的并发请求堆积,将大量占用服务器资源,严重时可能会使服务器内存溢出,导致服务器报错、崩溃。
3.现有的移动转售系统同一时间最高只能支持2000个用户请求计费,无法支持百万个用户的请求计费,当超过2000个用户请求计费时,其它用户请求计费速度会特别慢,有时会延迟30秒左右,并且其它用户请求计费时有可能会收到服务器报错信息,导致用户不能正常访问,严重影响用户的使用体验;当超过2000个用户请求计费时,服务器的cpu使用状况会达到100%,造成服务器压力,并且mysql数据库会运行繁忙,导致其它请求不能正常访问mysql数据库。


技术实现要素:

4.为了克服现有技术的不足,本发明提供了一种处理百万级并发计费请求的方法,以解决上述的技术问题。
5.本发明解决其技术问题所采用的技术方法是:一种处理百万级并发计费请求的方法,其改进之处在于:包括以下的步骤:s1、获取移动转售系统中用户计费请求的话费文件,将话费文件解析成话单文件,对话单文件进行加密;s2、将话单文件解密,从话单文件中获取话单,话单即用户计费请求,将所述用户计费请求拆分成多份,发送给相应数量的redis服务器;s3、redis服务器接收到用户计费请求后,存入到各自的redis列表,完成处理,并返回处理结果;s4、将redis列表的数据转入mysql数据库,操作完成。
6.在上述方法中,所述步骤s1,包括以下的步骤:
7.s11、使用ftp工具获取移动转售系统中用户计费请求的话费二进制文件;
8.s12、使用php脚本将所述话费二进制文件转换成十进制文件;
9.s13、使用php脚本将所述十进制文件解析成话单文件;
10.s14、使用php脚本将所述话单文件进行权限设置;
11.s15、使用php脚本将所述话单文件进行加密。
12.在上述方法中,所述步骤s2,包括以下的步骤:
13.s21、使用php脚本对话单文件进行解密,生成一条一条的解析好的话单文件;
14.s22、使用php脚本从所述解析好的话单文件中获取话单,话单即用户计费请求,并发送给nginx服务器;
15.s23、nginx服务器收到请求后,使用nginx内部的负载均衡技术将所述用户计费请
求拆分成多份;
16.s24、nginx服务器将拆分后的多份用户计费请求,分别发送给相应数量的redis服务器,所述redis服务器集成了php脚本。
17.在上述方法中,所述步骤s4,包括以下的步骤:
18.s41、使用定时任务crontab每分钟运行一次php脚本,php脚本连接所述redis服务器,获取所述redis列表的数据;
19.s42、将redis列表的数据进行计算,得到mysql所需的数据;
20.s43、连接mysql服务器,将所述mysql所需的数据存入到mysql中;
21.s44、删除中redis列表的数据,操作完成,php脚本打印日志。
22.本发明的有益效果是:通过将高并发的百万条用户计费请求进行拆分,并发送给相应数量的redis服务器处理,实现了同一时间能支持处理百万条用户计费请求,给用户很好的使用体验,不会收到服务器报错信息;并且服务器的cpu使用状况良好,服务器运行正常,没有运行压力,维护方便;mysql数据库运行正常,其它请求可以正常访问mysql数据库。
附图说明
23.附图1为本发明的一种处理百万级并发计费请求的方法的流程图。
具体实施方式
24.下面结合附图和实施例对本发明进一步说明。
25.以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。另外,专利中涉及到的所有联接/连接关系,并非单指构件直接相接,而是指可根据具体实施情况,通过添加或减少联接辅件,来组成更优的联接结构。本发明创造中的各个技术特征,在不互相矛盾冲突的前提下可以交互组合。
26.参照图1,本发明的一种处理百万级并发计费请求的方法,包括以下的步骤:
27.s1、获取移动转售系统中用户计费请求的话费文件,将话费文件解析成话单文件,对话单文件进行加密;
28.具体的,包括以下的步骤:
29.s11、使用ftp工具从中国移动获取移动转售系统中用户计费请求的话费二进制文件,ftp即file transfer protocol,即文件传输协议,是tcp/ip协议组中的协议之一;
30.s12、使用php脚本将所述话费二进制文件转换成十进制文件,php即hypertext preprocessor,即超文本预处理器,是在服务器端执行的脚本语言;
31.s13、使用php脚本将所述十进制文件解析成一条一条的话单文件;
32.s14、使用php脚本将所述话单文件进行权限设置,防止其它linux用户对话单文件进行获取或修改,linux是一种计算机操作系统;
33.s15、使用php脚本将所述话单文件进行加密,保证话单文件的安全。
34.s2、将话单文件解密,从话单文件中获取话单,话单即用户计费请求,将高并发的
所述用户计费请求拆分成多份,发送给相应数量的redis服务器;
35.具体的,包括以下的步骤:
36.s21、使用php脚本对话单文件进行解密,解密成功后自动生成一条一条的解析好的话单文件;
37.s22、使用php脚本从所述解析好的话单文件中获取100万条话单,100万条话单即100万条用户计费请求,并发送给nginx服务器,nginx服务器即负载均衡代理服务器;
38.s23、nginx服务器收到请求后,使用nginx内部的负载均衡技术将所述的100万条用户计费请求拆分成10份10万条用户计费请求;
39.s24、nginx服务器再将拆分后的10份10万条用户计费请求,分别发送给相应数量的10台redis服务器,redis即远程字典服务,所述redis服务器集成了php脚本,使得可使用php脚本连接redis服务器,将收到的用户计费请求发送给每台redis服务器。
40.s3、每台redis服务器接收到各自的那份10万条用户计费请求后,存入到各自的redis列表,完成处理,并返回处理结果给nginx服务器,实现了同一时间能支持处理100万条用户计费请求,给到了用户很好的使用体验,即使超过2000个用户请求计费,其它用户的计费请求速度会特别快,近0.5秒内就可以访问结束,也不会收到服务器报错信息;并且服务器的cpu使用状况只会达到5%,服务器运行正常,没有运行压力,维护方便。
41.s4、将redis列表的数据转入mysql数据库,操作完成;
42.具体的,包括以下的步骤
43.s41、使用定时任务crontab每分钟运行一次php脚本,crontab是一种定时任务软件,php脚本连接所述10台redis服务器,获取所述10台redis服务器的合计100万条的redis列表的数据;
44.s42、将所述的100万条的redis列表的数据进行计算,得到mysql所需的数据,mysql即关系型数据库管理系统;
45.s43、连接mysql服务器,将所述mysql所需的数据存入到mysql中;
46.s44、删除中redis列表的数据,操作完成,php脚本打印日志,至此,100万条用户计费请求完成处理并存储。
47.本发明通过将高并发的百万条用户计费请求进行拆分,并发送给相应数量的redis服务器处理,实现了同一时间能支持处理百万条用户计费请求,给用户很好的使用体验,不会收到服务器报错信息;并且服务器的cpu使用状况良好,服务器运行正常,没有运行压力,维护方便;mysql数据库运行正常,其它请求可以正常访问mysql数据库。
48.以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献