一种基于方差分析的电子商务销售数据分析系统
来源:用户上传
作者:叶长青
摘要:该系统为电子商务网站提供一个销售数据分析解决方案。系统保存电子商务网站的销售数据,可以随时对数据进行统计计算,快速获得结果。系统采用方差分析算法对数据进行分析,利用分布式结构和内存数据库进行算法的计算,提高了计算的速度和便利性。
关键词: 商务统计;分布式;方差分析
中图分类号:TP311.5 文献标识码:A
文章编号:1009-3044(2021)36-0048-03
开放科学(资源服务)标识码(OSID):
1 现状和本系统的特点
随着电子商务的发展,对分析工具的需求也在快速增长。本文通过分析销售数据,电子商务网站可以分析顾客的偏好,从而决定开发、营销何种产品,反过来用户可以随时随地查看、分析自己的数据,并且可以通过电脑、手机、平板等各种终端。只要能连上网络,用户就可以使用分析工具的功能。
尽管存在很多销售数据分析工具,但是一般只是对某个数据的纵向比较,例如,将过去一年的销售量以折线图、饼图等形式表示,仅可以将不同数据显示在一张图表上,不能指示各个数据间的关系。市面上缺少一种可以将各个数据横向比较、分析各个销售数据间关系的工具。目前,如果要做这样的分析,分析人员只能将销售数据导出,借助于专门的数学工具进行计算。这种方法非常不便,而且门槛过高,该系统致力于简化步骤、拉低门槛。
现有方法的另一个缺点是,统计学分析软件如SPSS是桌面程序,计算过程需要在本机实现,因此计算速度受到用户计算机性能的限制。并且,它只能在特定的操作系统下运行,没有平台扩展性,更不必说在手机、平板等移动设备上运行。
该系统是一个便于使用的、一站式的销售稻莺嵯虮冉瞎ぞ摺S没通过系统提供的API,将该系统与电子商务网站整合,当用户需要分析时,指定需要分析的相关数据,系统就在后台计算出结果。通过分布式的结构,将算法的计算工作分发到多个节点进行同时运行,提高同一时间能运行的计算数量。响应速度则对算法本身进行优化,提高单个算法的运行速度。
2 系统架构与开发技术介绍
2.1 系统架构设计
系统大致分为三个部分:Web部分、计算部分、数据库部分。Web部分提供对外(客户端)的接口,计算部分处理算法的运算操作,数据库部分存储电子商务网站的原始销售数据和分析后的数据。每个部分可以是单个服务器,也可以是服务器集群,如图1所示。
客户端调用Web服务器提供的接口,导入、添加数据,并且发出数据分析请求。Web服务器将原始数据写入数据库,并且将计算任务交给计算服务器。计算服务器从数据库获取数据,计算完成后,再将结果写入数据库。计算服务器不通知Web服务器计算完成,客户端向Web服务器请求结果时,Web服务器向数据库查询,如果有结果则返回给客户端,否则返回提示信息正在计算中。
2.2 开发环境介绍
2.2.1 Python
本系统主要采用Python语言开发,Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,它具有很多专用的科学计算库,比如:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能,十分适合本系统的开发和维护[1]。Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序[2]。
2.2.2 MongoDB
MongoDB是一个开源的、高性能、无模式的文档型数据库,它是介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富的。它支持的数据结构非常松散,是类似json的json格式,因此可以存储比较复杂的数据类型。它在许多场景下键/值可用于替代传统的关系型数据库或存储方式[3]。Mongo是使用C++开发,特点有高性能、易部署、易使用,存储数据非常方便。Mongo最大的特点是它支持的查询语言非常强大,其语法类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
3 系统总体结构设计
3.1 系统流程
系统流程如图2:
(1)客户端通过HTTP Basic方式提交密码信息。
(2)Web服务器查询数据库,验证密码是否正确。
(3)如正确,返回一个token,否则返回错误信息,后续的请求都要包含这个token。
(4)客户端发出请求,指定要分析的数据。
(5)Web服务器立刻返回一个地址,客户端稍后可以去这个地址查询结果。同时,Web服务器对计算服务器发出计算请求。
(6)计算服务器计算完成后,将结果写入数据库。
3.2 计算结构图
计算服务器由一个控制器和若干个节点组成,如图3,节点从控制器获取任务后,计算并将结果写入数据库。同时,节点会记录每个算法的运行时间,包括CPU时间与IO时间,以便于以后的调度。
控制器起到桥梁的作用,用来连接Web服务器和计算节点。其本身不进行运算,它将Web服务器发来的计算请求,分发给各个运算节点,由各个节点进行具体运算。
计算节点将包括两个功能:
(1)任务调度(节点内)。
(2)对算法进程使用资源情况进行记录。
控制器起到桥梁的作用,用来连接Web服务器和计算节点。其本身不进行运算,它将Web服务器发来的计算请求分发给各个运算节点,由各个节点进行具体运算。分发任务时,控制器需要考虑各个节点间的负载平衡,并且要保证实时要求比较高的任务先得到执行。控制器和节点、Web服务器之间的接口使用RMI的方式实现。控制器发布一个Control对象,节点和Web服务器可以连接到这个对象。
转载注明来源:https://www.xzbu.com/8/view-15425239.htm