1.1问题的提出与背景概述
近几年,电子商务网站蓬勃发展,如淘宝,凡客诚品,京东商城等,规模都己经很大了,国内网民也渐渐习惯于在网上购物,更使得电子商务得到了空前大发展。电子商务的发展己大大地冲击了传统的商品零售模式。
电子商务是一个复杂的生态系统。一个健全的电子商务网站包含多个子系统,如前端销售系统,仓储系统,物流系统,配送系统,采购系统,销售排期系统,财务结算系统,市场营销系统,供应商管理系统,数据统计系统等等。且各个子系统所采用的技术手段不尽相同。且由于电子商务也是近几年才开始迅速发展,大部分电子商务企业也非常的年青,这就使得电子商务内的各个子系统有很多并非电子商务企业自己开发,有很多子系统都是直接购买的市场上成熟的产品,如曼哈顿仓储系统,用友的ERP系统等。导致各个子系统的开发语言,运行环境也不尽相同。如前端销售系统一般为自己开发的,采用PHP语言。而ERP系统,仓储系统,配送系统等大多直接购买市场上成熟的产品,这些系统大部分采用JAVA语言。各个子系统采用的数据库管理系统也不尽相同,可能是MysqlSQL Server Oracle等。且由于电子商务网站用户量大,流量高,后端一般采用分布式服务器对外提供服务,如Mysql会进行读写分离,由若干台分布式的Mysql服务器提供数据服务。
这就使得监控这如此大量的不同环境的数据成为了一个具大的挑战。且这些数据具备很大的价值。这些数据代表了电子商务网站的销售情况,配送情况,采购情况等。电子商务系统的任何部分出现问题,都将使电子商务网站不稳定。所以必须实时地监控这些数据,从而达到保证电子商务系统正常运转的目的。
当线上系统出现问题时,很多情况下,程序员需要通过查看线上的真实数据才能定位问题的所在,而不是技术部门的测试系统数据。且系统的很多问题只有在线上环境才会重现。但线上的生产环境的权限,尤其是查看线上生产环境数据的权限不可以赋予普通程序员,因为这些数据都极其敏感,属于电子商务公司内的高级机密。且如果把这些权限赋予普通程序员的话,如果由于程序员的误操作,如写update语句时忘了加上Where条件,那将会产生难以挽救的后果。一般系统数据的权限只会赋予公司一两个最高级别的技术总监等。但当系统出现BUG时,还是需要普通程序员去找到BUG,并把BUG解决。普通程序员还是需要一些查看部分线上数据和修改部分线上数据的权限。
如何解决上述这些问题,使电子商务网站能够正常运转,成为了摆在电子商务企业内技术人员而前的巨大挑战。
JM公司是国内排名前10的电子商务企业,主营女性化妆品和奢侈品销售。拥有巨大的用户量,每日的销售额上千万。在北京,上海和成都都拥有自己的仓储配送系统,公司员工近两千人。笔者有幸在JM公司技术架构部门实习并负责数据监控系统的研究开发工作。通过分析公司各个不同子系统的功能和特点,并调研公司各个职能部门的主要工作,及整个公司各子部门的运营状况。对于各个部门提出的需求进行归纳,整理和抽象。为满足各个监控需求和线上数据库操作需求。通过分析研究,参考业内技术发展状况,设计出本数据监控系统。很好地解决了各种不同的监控需求和数据查询更改需求。并采用Python语言,对本系统进行编程实现。最后投入实际使用。并在使用过程中进行升级和完善。
从使用过程来看,本系统很好地解决了电子商务数据监控的需求,使电子商务网站得到了更稳定的运行,且更好地提高了公司各个职能部门的工作效率。具备很大的现实意义。
1.2项目的研究意义与目标
由于电子商务网站的真正蓬勃发展也只是近几年的事情,国内各大电子商务企业的成立时间都不是很长,其各方而的系统都不是很健全,为了抓住市场机遇,公司内部各子系统也都比较参差不齐,有的系统为公司自有人员开发,而有的系统则采用直接购买市场上的成熟产品。
摘要 5-6
ABSTRACT 6
第1章 引言 9-13
1.1 问题的提出与背景概述 9-10
1.2 项目的研.............. 10-11
1.3 论文的主要工作 11-12
1.4 论文组织结构 12-13
第2章 技术路线 13-23
2.1 Python 简介 13-15
2.2 Django 框架 15-16
2.3 Linux 的 crontab 16-20
2.3.1 语法介绍 17-18
2.3.2 使用方法 18-20
2.4 Nginx 服.............. 20-23
第3章 数据监控系统的需求分析 23-30
3.1 系统介绍 23
3.2 电子商务系统的组成 23-24
3.3 电子商务系统.............. 24-25
3.4 电子商务企业的组织结构 25-26
3.5 电子商务的运营流程 26
3.6 电子商务的.............. 26-27
3.7 基于 LDAP 的单点登录 27
3.8 电子商务的监控需求 27-30
第4章 数据监控系统的设计 30-48
4.1 系统设计目标 30-31
4.2 系统功能模块 31-39
4.2.1 用户信息子系统 31-32
4.2.2 监控定制子系统 32
4.2.3 触发任.............. 32
4.2.4 数据查询子系统 32-35
4.2.5 特殊查询申请子系统 35-36
4.2.6 写语句申请子系统 36
4.2.7 日志记录子系统 36
4.2.8 权限.............. 36-39
4.3 系统概要设计 39-48
4.3.1 系统 ER 图 39-44
4.3.2 数据库设计 44-48
致谢 75-76
参考文献 76-78
附录 78
总结
本系统是在调研电子商务网站运营实际情况下,通过分析电子商务各个不同的子系统的功能,和电子商务企业各个不同的职能部门的分工。实现了一个支持多数据源,支持不同的数据库类型。通过定制各个不同的监控,监控电子商务网站不同的子系统的业务数据,当监控条件满足时,向相关工作人员发送短信和电子邮件的方式,达到各部门工作人员能够快速响应的目的。且通过限制查询语句的返回行数,特殊查询和写语句需要通过申请审批的方法,达到了即保证电子商务网站的安全稳定运行又满足了实际需求的目的。
本系统主要基于Linux操作系统的Crontab定时任务,使用Python编程语言和功ango框架。实现了一套易于使用,高可定制且高度安全的数据监控系统。本系统主要包括权限管理子系统,用户信息管理子系统,监控定制子系统,触发任务子系统,数据查询子系统,特殊查询申请子系统,写语句申请子系统,操作日志子系统等功能。