目录
1.研究背景与意义
2、国内外研究现状
3、相关理论与技术
(一)分布式计算系统Spark
(二)数据仓库Hive
(三)读取服务器本地磁盘的日志数据Flume
(四)分布式消息队列Kafka
4、设计目标
(一)订单管理功能
(二)订单数据实时预测
(三)库存管理功能
(四)库存预警
(五)物流管理功能
(六)商品库存实时分析功能
(七)供应链订单数据报表与可视化
(八)系统管理功能
5、设计思路
(一)研究路线。
(二)需求分析。
1.系统功能性需求
2. 系统非功能性需求
(三)系统概要设计。
1.系统架构设计
6、参考文献
1.研究背景与意义
随着时代的发展和IT技术的进步,大数据等技术在电商领域被广泛应用。对于大多数电商企业而言,传统的供应链管理系统面临着许多挑战,如数据孤岛、响应迟缓和分析能力不足等问题2023年,我国供应链数字化服务的收入约为3.6万亿元,同比增速11.0%,受宏观经济波动等不稳定因素影响,行业增速较过去两年呈下降趋势。其中,供应链数字化物流服务规模达到2.9万亿元,同比增速9.6%,占供应链数字化服务收入总规模的81.2%;供应链数字化资金流服务规模达到3454亿元,同比增速22.8%,占供应链数字化服务收入总规模的9.8%;供应链数字化信息流服务规模达到3214亿元,同比增速12.6%,占供应链数字化服务收入总规模的9.0%。[1]传统供应链管理系统存在以下几个方面的问题:供应链的各个环节使用不同系统,数据无法互联互通,导致数据分散,无法进行综合分析,库存无法同步,库存不对,以及无法进行智能库存预测,库存预警的问题。[2]使用传统的技术手段,系统在面临海量订单和突发情况时的反应速度较慢[3],影响了业务处理效率。传统供应链管理系统的数据分析能力有限,无法进行深入的数据挖掘和智能计算,难以为决策提供有力支持。
鉴于以上情况,本课题拟建设《基于Spark的电商供应链系统》对数据基于Spark进行实时库存预测和实时库存报警,主要解决电商多渠道销售时候库存难同步,库存不准确,库存难预测的问题。将各供应链环节的数据进行整合,利用Spark的实时计算特性进行实时库存计算,还能对系统积累的海量数据进行实时多维度分析和预测,挖掘有价值的信息,为企业的业务发展和决策提供支持。
2、国内外研究现状
为了解决电商企业随着业务高速扩张和用户需求不断激增所带来的系统响应问题,学术界和工业界在供应链管理系统方面进行了多项研究。有的研究认为供应链创新具有流程、技术和网络结构三个要素,有的将供应链创新分为创新目标、创新特征和供应链特征三个维度,有的将供应链创新划分为技术创新、概念创新两大类和技术、结构、运营、革命性创新四小类。[4]迄今为止,供应链创新经历了基于资源观的供应链整合能力创新、基于新一代信息技术支撑的数字化供应链管理创新和基于智能化、网络化供应链骨架的经营体系重塑创新3个阶段。[5]通过对已有供应链创新与应用试点政策效果评价的研究进行梳理后发现,供应链创新与应用试点政策通过不同路径对试点企业发展发挥了一定的正面促进作用,如显著促进企业经营绩效和技术创新水平提升。[6]企业通过供应链数字化变革,以及供应链标准化、集约化、专业化和平台型建设,增强了链主创新能力。[7]发展供应链金融引导产业低碳转型发展,可以提升劳动力投资效率、物资采购集中度和资金使用效率、供应链效率,促进供应链低碳发展。[8]国内供应链管理系统在发展过程中仍面临一些挑战。一方面,标准化和规范化程度有待提高。目前,国内供应链管理系统在数据格式、接口标准等方面尚未形成统一规范[9],导致企业间的信息共享和协同作业存在一定难度。另一方面,部分企业对供应链管理系统的认识不足,缺乏专业的管理人才和技术支持,导致系统的应用效果不尽如人意。[10]
通过研读以上国内外研究成果,发现电商供应链管理系统在数据分析能力等方面还有较大的优化空间,从积极方面来看,一定量的库存可以提高企业对市场的反应速度,能够快速满足下游企业或客户的需求;从消极方面来看,过多库存会增加库存持有成本,从而减少企业盈利。因此,供应链库存管理目标是将库存水平控制在合理范围内。因此,本项目决定使用Spark作为核心数据处理技术,
采用大数据分析技术,构建一个高效、灵活、智能的电商供应链系统,主要对商品的库存进行分析和预测,达到商品库存的智能调拨和智能预警的效果。该系统能够实时处理和分析海量供应链数据,提供高效的供应链管理解决方案。
3、相关理论与技术
(一)分布式计算系统Spark
Spark是一个开源的分布式计算系统,被广泛用于大数据处理。其核心是实现高效、分布式的数据处理和实时分析。Spark提供了丰富的API,支持多种数据操作和机器学习算法。Spark使用先进的DAG(Directed Acyclic Graph,有向无环图)执行引擎,支持循环数据流与内存计算,基于内存的执行速度可比Hadoop MapReduce快上百倍,基于磁盘的执行速度也能快十倍。Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件,这些组件可以无缝整合在同一个应用中,足以应对复杂的计算。Spark Streaming是将流式计算分解成一系列短小的批处理作业。这里的批处理引擎是Spark Core,也就是把Spark Streaming的输入数据按照batch size(如1秒)分成一段一段的数据(Discretized Stream),每一段数据都转换成Spark中的RDD(Resilient Distributed Dataset),然后将Spark Streaming中对DStream的Transformation操作变为针对Spark中对RDD的Transformation操作,将RDD经过操作变成中间结果保存在内存中。
(二)数据仓库Hive
Hive是建立在Hadoop之上的,所有Hive的数据都是存储在HDFS中的。而数据库则可以将数据保存在块设备或者本地文件系统中。Hive 中没有定义专门的数据格式,数据格式可以由用户指定,用户定义数据格式需要指定三个属性:列分隔符(通常为空格、”\t”、”\x001″)、行分隔符(”\n”)以及读取文件数据的方法(Hive 中默认有三个文件格式 TextFile,SequenceFile 以及 RCFile)。由于在加载数据的过程中,不需要从用户数据格式到 Hive 定义的数据格式的转换,因此,Hive 在加载的过程中不会对数据本身进行任何修改,而只是将数据内容复制或者移动到相应的 HDFS 目录中。而在数据库中,不同的数据库有不同的存储引擎,定义了自己的数据格式。所有数据都会按照一定的组织存储,因此,数据库加载数据的过程会比较耗时。
(三)读取服务器本地磁盘的日志数据Flume
基于流式架构,具有灵活简单的特点,主要用于实时读取服务器本地磁盘的日志数据,并将这些数据写入到诸如Hadoop HDFS等数据存储系统中。Flume的部署单元称为Agent,每个Agent本质上是一个JVM(Java虚拟机)进程。Agent内部以事件(Event)的形式将数据从源头(Source)送至目的地(Sink)。Flume支持分布式集群部署,具有良好的扩展性。当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume采用流模式进行数据实时采集。
(四)分布式消息队列Kafka
Kafka是一个开源的分布式流处理平台,由Apache软件基金会开发,主要用于构建实时数据管道和流应用。它是一种高吞吐量的分布式发布订阅消息系统,能够处理消费者在网站中的所有动作流数据,如网页浏览、搜索和其他用户行为。支持高吞吐量的消息传递,能够处理大量数据。将消息持久化到磁盘,并可以在多个副本之间复制,以实现容错性。设计目标是达到亚秒级的延迟,适合实时数据处理场景。
4、设计目标
本课题拟利用Flume、Hive、Spark等大数据分析处理技术构建系统,将原有的数据处理工具在大数据环境下进行实时数据采集,基于随机森林算法进行计算,使用Kafka进行实时数据采集和使用Hive进行数据存储,建立统一的数据源,主要包含多平台统一订单管理中心、库存管理、商品管理、物流管理、商品销售预测、商品库存分析、供应链订单数据可视化、系统管理等功能。
(一)订单管理功能
平台实时跟踪订单的生成、处理和交付状态。主要包括订单来源,订单明细,商品数量,商品信息,物流状态。
(二)订单数据实时预测
基于历史销售数据,进行订单数据的预测,为采购和库存管理提供参考。通过准确的销售预测,可以合理安排库存和生产,降低成本,提高运营效率。
(三)库存管理功能
系统可以进行商品的库存管理,关联订单,入库单和出库单进行自动的库存添加和修改,产生的库存数据可以用于库存分析功能。实时掌握库存数量、位置和状态,避免缺货或积压。通过准确的库存跟踪,你可以及时了解库存情况,合理安排补货和销售策略。
(四)库存预警
设置库存上下限预警,当库存水平达到预警线时,系统自动提醒进行补货或调整销售策略。这有助于你提前做好库存管理,避免因库存不足或过多而影响业务。
(五)物流管理功能
分析和优化物流路径,提供物流状态追踪。系统可以收集和分析物流数据,优化物流路径,根据不同的配送情况进行物流的路线重放,路线推荐。
(六)商品库存实时分析功能
基于Flume进行数据采集使用Kafka进行数据传输,存储到Hive中,使用Spark进行实时计算和数据清洗,将计算结果存储到Mysql中。基于移动平均算法进行库存的预测,预测出阶段日期内的库存走势,方便进行商品的入库,商品的调拨满足不同区域的订单销售。
(七)供应链订单数据报表与可视化
提供统一的可视化界面,展示订单的数据分析结果。系统支持多种视图和报表,帮助用户及时掌握供应链状态和趋势。
(八)系统管理功能
系统管理功能主要包括用户管理、角色管理、权限管理和系统监控等。不同的用户拥有不同的功能权限,系统管理员可以通过管理平台配置和维护系统。
5、设计思路
(一)研究路线。
本课题基于Spark的大规模电商供应链管理系统,结合实际电商供应链平台的功能需求,从用户的角度出发,具体描述系统的主要功能,包括库存管理、订单处理、供应商管理、商品管理、进出库管理、库存监控、库存预测、调拨单等模块,深入分析现有基于Spark进行大数据处理的研究文献和技术资料,了解Hive、Flume等大数据技术的应用与原理。之后将着重考虑数据存储结构、服务器负载均衡、服务注册等关键机制的设计,以确保系统的高效性和可扩展性。最后,进行系统的开发、全面测试、部署和评审实施,以确保系统能够在实际应用中稳定运行并满足预期需求。如图1所示。
图1 研究路线图
(二)需求分析。
1.系统功能性需求
本系统主要提供给三类用户使用:系统管理员用户、仓储管理员用户。根据需求分析,各类用户的具体功能如下:
(1)系统管理员用户
管理员功能图如图2所示。
图2 管理员功能图
①用户管理
对系统用户进行管理和维护,包括用户名称、单位、部门、职务等信息。
②角色管理
对系统中的角色进行管理和维护。
③权限管理
控制系统中功能的可用性和数据操作权限。
④系统监控
实时监控系统工作状态和性能指标。
(2)仓储管理员用户
仓库管理员功能图如图3所示。
图3 仓库管理员功能图
①商品管理
电商供应链管理系统中的商品管理功能点是主要包括商品的新增和商品的修改以及根据商品的名称进行模糊产线。商品主要包括的属性有名称、描述、价格、品牌、规格型号等。
②订单管理
电商供应链管理系统中的订单管理功能点是主要包括根据渠道来源和商品进行订单的查询,根据日期进行商品的查询,查看具体订单的详情。另外支持手动录入订单信息,以满足特殊场景下的订单处理需求。
销售预测,基于历史销售数据和市场趋势进行销售预测,为采购和库存管理提供参考。通过准确的销售预测,你可以合理安排库存和生产,降低成本,提高运营效率。
③入库管理
仓库管理人员根据入库申请单,对到货商品进行数量、规格、批次等信息的核对,确认无误后进行收货操作。根据仓库布局和存储需求,合理规划商品的存储位置和上架方式,确保商品存储的安全性和易取性。对异常情况进行及时处理,包括与供应商沟通退换货、调整库存数据等,确保入库流程的顺畅进行。支持通过商品名称、批次、入库时间等多种方式查询入库记录,便于企业随时了解商品的入库情况。
④出库管理
在商品离开仓库前,确保出库商品与订单信息一致。对出库商品进行二次复核,确保数量、规格、批次等信息无误。在商品出库后,系统自动扣减相应库存数量,确保库存数据的准确性。与电商平台或其他销售渠道的库存数据进行实时同步,确保线上线下库存数据的一致性。
⑤实时库存监控分析预测
仓库管理员可以对商品的库存预警值进行设置,商品的库存进入预警值范围内的时候会进行库存预警通知。基于移动平均法进行库存预测,生成对应的预测记录,帮助仓库管理员进行调拨单创建。基于Flume进行数据采集之后,Kafka进行数据实时传输使用Hive进行数据存储,使用Spark进行数据清洗,通过SparkMLlib训练模型,基于周期内的库存入库和出库数据,进行实时库存报警。
⑥调拨单管理
支持从商品库中选择需要调拨的商品,可以单个选择或批量选择。填写调拨单的基本信息,包括调拨日期、调出仓库、调入仓库、调拨数量、调拨原因等。允许在调拨单创建后对其进行编辑,以满足实际业务中的变化需求。在创建调拨单时,系统自动检查调出仓库的库存数量,确保调拨数量不超过库存量。一旦调拨单被确认,系统自动锁定相应数量的库存,防止其他操作(如销售、其他调拨)对该部分库存的占用。
2. 系统非功能性需求
(1)系统运行环境
系统的运行环境分为服务器端和客户端,具体要求如下:
服务器端:运行在Linux操作系统上,采用Java开发环境。数据处理框架使用Spark,用于处理和分析大规模供应链数据;大数据存储工具使用Hadoop Hive。另外,系统需要配置Kafka进行消息队列管理。数据库系统使用MySQL 8.0。
(2)时间特性
对于该软件的时间特性要求如下:
响应时间:小于2秒。
更新处理时间:小于1秒。
数据的转换和传送时间:小于1秒。
(三)系统概要设计。
1.系统架构设计
系统架构设计采用分层模型,主要包括以下几层如图4所示。
图4 系统架构图
(1)应用层
使用Echat进行供应链订单数据的图表展示分析,使用Vue进行业务功能的界面开发展示主要包括商品管理,库存管理,进出库管理和库存预警以及库存分析预测。
(2)大数据分析计算层
大数据分析层主要由Apache Spark负责数据处理和分析,将分析结果提交到应用层以供用户使用。
(3)大数据存储层
大数据存储层由Hive等工具构成,用于存储从Flume采集层传输而来的数据。
(4)数据采集与传输层
日志采集层主要使用Flume从供应链各节点实时采集各个销售渠道的订单数据,各个平台的商品数据和对应的库存数据,各个仓库的商品和库存以及入库出库单数据,并将采集的数据传输到大数据存储层以供分析和处理。
主要算法应用
移动平均法
系统在进行商品库存预测的时候使用移动平均法进行计算。移动平均法是一种常用的预测方法,通过使用一组最近的实际数据值来预测未来一期或几期内的需求量、产能等。这种方法特别适用于即期预测,当商品库存既不快速增长也不快速下降,且不存在季节性因素时,移动平均法能有效消除预测中的随机波动,显示出事件的发展趋势。各元素的权重相等,如(公式1)所示。
EMAt=∝Yt+(1-α)EMAt-1 (公式1)
假设我们有一个时间序列数据集,表示某产品在过去10天的每日销量,如下所示
销量 = [ 10 , 12 , 14 , 13 , 16 , 18 , 20 , 22 , 21 , 19 ]
我们使用窗口大小为3的简单移动平均来平滑数据:
第1个窗口(第1-3天):(10 + 12 + 14) / 3 = 12
第2个窗口(第2-4天):(12 + 14 + 13) / 3 = 13
第3个窗口(第3-5天):(14 + 13 + 16) / 3 = 14.33
第4个窗口(第4-6天):(13 + 16 + 18) / 3 = 15.67
第5个窗口(第5-7天):(16 + 18 + 20) / 3 = 18
第6个窗口(第6-8天):(18 + 20 + 22) / 3 = 20
第7个窗口(第7-9天):(20 + 22 + 21) / 3 = 21
第8个窗口(第8-10天):(22 + 21 + 19) / 3 = 20.67
该商品历史十天数据得到的平滑数据是上升趋势,基于该数据结合现有的库存数据进行判断预测下一个时间周期内需要多少库存,然后进行商品的补货或者库存调拨,另外还可以根据预测数据进行库存预警值,达到按照目前的销售趋势,当前库存还够使用X天,需要尽快补货的效果。
6、参考文献
[1]大数据基础理论与系统关键技术浅析. 华强胜;郑志高;胡振宇;钟芷漫;林昌富;赵峰;金海;石宣化.数据与计算发展前沿,2021(05).
[2]基于大数据的信息系统关键技术研究. 朱攀.电子技术与软件工程,2024(04).
[3]张晓芹.供应链创新研究述评与展望:内涵、测量与影响机制[J].重庆工商大学学报(社会科学版),2021,38(05):9-21.
[4]祝丹枫,李宇坤,李摇琴.供应链创新驱动经济高质量发展的理论内涵与现实路径[J].经济学家,2022(10):74-83.
[5]沈丽琼,黄光于,叶飞.供应链政策与企业技术创新——来自政府认定供应链创新试点企业的经验证据[J].科技管理研究,2022,42(19):97-110.
[6]“直播+电商”营销模式的困境与对策[J]. 王运昌;杨柳.现代营销(下旬刊),2021(06).
[7]一种优选移动平均预测模型的Min-Min算法[J]. 徐齐利.计算机应用研究,2021(06).
[8]基于改进三次指数平滑法的航材需求预测[J]. 史永胜;王文琪.计算机工程与设计,2020(11).
[9]Exploring the Influencing Factors in Identifying Soil Texture Classes Using Multitemporal Landsat-8 and Sentinel-2 Data[J]. Zhou Yanan;Wu Wei;Liu Hongbin.Remote Sensing,2022.
[10]A Study on the Influencing Factors of Consumers' Purchase Intention During Livestreaming e-Commerce: The Mediating Effect of Emotion [J]. Zhou Rong;Tong Lei.Frontiers in Psychology,2022.