一种基于php收集及存储日志的方法和系统的利记博彩app

文档序号:9304627阅读:443来源:国知局
一种基于php收集及存储日志的方法和系统的利记博彩app
【技术领域】
[0001] 本发明涉及网络技术领域,尤其涉及一种基于PHP收集及存储日志的方法和系 统。
【背景技术】
[0002] 现在对日志数据进行存储一般有几种方法,常用的就是存储在本地文件或数据库 中。针对数据库这种存储方案,在日志数据量巨大的,并发高的情况下,会对数据库读写能 力造成巨大的影响。

【发明内容】

[0003] 本发明所要解决的技术问题,提供一种基于PHP收集及存储日志的方法和系统。
[0004] 本发明解决上述技术问题的技术方案如下:一种基于PHP收集及存储日志的方 法,包括以下步骤:
[0005] 步骤S1,客户端上报日志数据;
[0006] 步骤S2,日志收集模块收集所述日志数据,并发送给Redis缓存服务器;
[0007] 步骤S3,Redis缓存服务器存储所述日志数据;
[0008] 步骤S4,日志异步写入模块从Redis缓存服务器中逐行读出所述日志数据,并发 送到MongoDB数据库;
[0009] 步骤S5,MongoDB数据库写入所述日志数据并进行存储。
[0010] 在上述技术方案的基础上,本发明还可以做如下改进。
[0011] 进一步地,步骤S3中,Redis缓存服务器通过一个编写的PHP写入接口写入所述 日志数据。
[0012] 进一步地,步骤S4中,日志异步写入模块通过一个编写的PHP脚本异步读取所述 Redis缓存服务器中的日志数据。
[0013] 进一步地,日志异步写入模块有多个。
[0014] 本发明解决上述技术问题的另一种技术方案如下:一种基于PHP收集及存储日志 的系统,包括客户端、日志收集模块、Redis缓存服务器、日志异步写入模块和MongoDB数据 库;
[0015] 所述客户端用于上报日志数据;
[0016] 所述日志收集模块用于收集客户端上报的所述日志数据,并发送给Redis缓存服 务器;
[0017] 所述Redis缓存服务器用于存储所述日志收集模块发送的所述日志数据;
[0018] 所述日志异步写入模块用于从Redis缓存服务器中逐行读出所述日志数据,并发 送到MongoDB数据库;
[0019] 所述MongoDB数据库用于写入所述日志异步写入模块发送的所述日志数据并进 行存储。
[0020] 在上述技术方案的基础上,本发明还可以做如下改进。
[0021] 进一步地,所述Redis缓存服务器通过一个编写的PHP写入接口写入所述日志数 据。
[0022] 进一步地,所述日志异步写入模块通过一个编写的PHP脚本异步读取所述Redis 缓存服务器中的日志数据。
[0023] 进一步地,所述日志异步写入模块有多个。
[0024] 进一步地,所述基于PHP收集及存储日志的系统的硬件配置环境为:CPU为2*4核 及2. 4G,内存为4*8G或者8*8G,硬盘为2*300G,RAID控制器为支持RAID15,网络接口为4 个千兆网口。
[0025] 进一步地,所述基于PHP收集及存储日志的系统的软件配置环境为:操作系统为 1^111^06拉〇8 1646.2,缓存系统为1^(118 2.8.17,数据库为1〇1^〇08 2.6.0,?册版本为 PHP5. 3. 22 〇
[0026] 本发明的有益效果是:本发明能够方便的收集有效日志,保证数据库的读写性能 在一个低并发、低10负载的范围之内工作,减轻存储数据库写入压力,使系统健康稳定运 行。
【附图说明】
[0027] 图1为本发明所述基于PHP收集及存储日志的方法流程图;
[0028] 图2为本发明所述基于PHP收集及存储日志的系统结构图;
[0029] 图3为本发明所述基于PHP收集及存储日志的系统的实体结构图。
【具体实施方式】
[0030] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0031] 本发明中涉及到的名词解释:PHP(外文名:PHP:HypertextPreprocessor,中文 名:"超文本预处理器")是一种通用开源脚本语言。Redis是一个开源的使用ANSIC语言 编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的 API。MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供 可扩展的高性能数据存储解决方案。
[0032] 图1为本发明所述基于PHP收集及存储日志的方法流程图。
[0033] 如图1所示,一种基于PHP收集及存储日志的方法,包括以下步骤:
[0034] 步骤S1,客户端上报日志数据;
[0035] 步骤S2,日志收集模块收集所述日志数据,并发送给Redis缓存服务器;Redis缓 存服务器通过一个编写的PHP写入接口写入所述日志数据;
[0036] 步骤S3,Redis缓存服务器存储所述日志数据;
[0037] 步骤S4,日志异步写入模块从Redis缓存服务器中逐行读出所述日志数据,并 发送到MongoDB数据库;所述日志异步写入模块通过一个编写的PHP脚本异步读取所述 Redis缓存服务器中的日志数据。日志异步写入模块可以有多个;
[0038] 步骤S5,MongoDB数据库写入所述日志数据并进行存储。
[0039]图2为本发明所述基于PHP收集及存储日志的系统结构图。
[0040] 如图2所示,一种基于PHP收集及存储日志的系统,包括客户端、日志收集模块、 Redis缓存服务器、日志异步写入模块和MongoDB数据库。
[0041] 客户端用于上报日志数据。
[0042]日志收集模块用于收集客户端上报的所述日志数据,并发送给Redis缓存服务 器;Redis缓存服务器通过一个编写的PHP写入接口写入所述日志数据。
[0043] Redis缓存服务器用于存储所述日志收集模块发送的所述日志数据。
[0044]日志异步写入模块用于从Redis缓存服务器中逐行读出所述日志数据,并发送到 MongoDB数据库;所述日志异步写入模块通过一个编写的PHP脚本异步读取所述Redis缓 存服务器中的日志数据。日志异步写入模块可以有多个。
[0045] MongoDB数据库用于写入所述日志异步写入模块发送的所述日志数据并进行存 储。
[0046]图3为本发明所述基于PHP收集及存储日志的系统的实体结构图。
[0047] 本发明所述基于PHP收集及存储日志的系统的硬件配置、软件配置和网络环境如 下所述:
[0048] (1)硬件配置
[0049] 建议使用以下及高于以下配置的硬件服务器。
[0050]
[0054] (3)网络环境
[0055] 使用内网,建议使用千兆网络接入。
[0056] 本发明中所述日志收集模块和所述日志异步写入模块的名称可分别设置为feed. php和collect_to_mongodb.php〇
[0057] 本发明的配制方法可为:如在linux定时任务配置:
[0058] 氺/I氺氺氺氺/usr/bin/php_f/data/xxxxx/xxxx/xx/collect_to_mongodb.php〇
[0059] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和 原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于PHP收集及存储日志的方法,其特征在于,包括以下步骤: 步骤S1,客户端上报日志数据; 步骤S2,日志收集模块收集所述日志数据,并发送给Redis缓存服务器; 步骤S3, Redis缓存服务器存储所述日志数据; 步骤S4,日志异步写入模块从Redis缓存服务器中逐行读出所述日志数据,并发送到 MongoDB数据库; 步骤S5, MongoDB数据库写入所述日志数据并进行存储。2. 根据权利要求1所述的基于PHP收集及存储日志的方法,其特征在于,步骤S3中, Redis缓存服务器通过一个编写的PHP写入接口写入所述日志数据。3. 根据权利要求1所述的基于PHP收集及存储日志的方法,其特征在于,步骤S4中,日 志异步写入模块通过一个编写的PHP脚本异步读取所述Redis缓存服务器中的日志数据。4. 根据权利要求1所述的基于PHP收集及存储日志的方法,其特征在于,日志异步写入 模块有多个。5. -种基于PHP收集及存储日志的系统,其特征在于,包括客户端、日志收集模块、 Redis缓存服务器、日志异步写入模块和MongoDB数据库; 所述客户端用于上报日志数据; 所述日志收集模块用于收集客户端上报的所述日志数据,并发送给Redis缓存服务 器; 所述Redis缓存服务器用于存储所述日志收集模块发送的所述日志数据; 所述日志异步写入模块用于从Redis缓存服务器中逐行读出所述日志数据,并发送到 MongoDB数据库; 所述MongoDB数据库用于写入所述日志异步写入模块发送的所述日志数据并进行存 储。6. 根据权利要求5所述的基于PHP收集及存储日志的系统,其特征在于,所述Redis缓 存服务器通过一个编写的PHP写入接口写入所述日志数据。7. 根据权利要求5所述的基于PHP收集及存储日志的系统,其特征在于,所述日志异步 写入模块通过一个编写的PHP脚本异步读取所述Redis缓存服务器中的日志数据。8. 根据权利要求5所述的基于PHP收集及存储日志的系统,其特征在于,所述日志异步 写入模块有多个。9. 根据权利要求5所述的基于PHP收集及存储日志的系统,其特征在于,硬件配置环 境为:CPU为2*4核及2. 4G,内存为4*8G或者8*8G,硬盘为2*300G,RAID控制器为支持 RAID15,网络接口为4个千兆网口。10. 根据权利要求5所述的基于PHP收集及存储日志的系统,其特征在于,软件配置 环境为:操作系统为Linux Centos x646. 2,缓存系统为Redis2. 8. 17,数据库为MongoDB 2. 6. 0, PHP 版本为 PHP 5. 3. 22。
【专利摘要】本发明涉及一种基于PHP收集及存储日志的方法和系统,包括步骤S1,客户端上报日志数据;步骤S2,日志收集模块收集所述日志数据,并发送给Redis缓存服务器;步骤S3,Redis缓存服务器存储所述日志数据;步骤S4,日志异步写入模块从Redis缓存服务器中逐行读出所述日志数据,并发送到MongoDB数据库;步骤S5,MongoDB数据库写入所述日志数据并进行存储;本发明能够方便的收集有效日志,保证数据库的读写性能在一个低并发、低IO负载的范围之内工作,减轻存储数据库写入压力,使系统健康稳定运行。
【IPC分类】G06F17/30
【公开号】CN105022822
【申请号】CN201510425305
【发明人】陈朱尧, 蔡华轶
【申请人】成都视达科信息技术有限公司
【公开日】2015年11月4日
【申请日】2015年7月17日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1