基于大数据的物流信息化方法与流程

文档序号:13760907阅读:231来源:国知局

本发明涉及大数据处理,特别涉及一种基于大数据的物流信息化方法。



背景技术:

随着社交网络、电商的迅速发展,互联网在线购物的交易量急剧增长,无论对于电商企业、消费者还是物流商,海量运单带来的一系列物流运输问题日益凸出。由于传统的物流管理模式缺乏统一管理,各物流企业之间缺乏合作,没有一个统一的调度体系,面对越来越多的产品运输量,人力、物力、财力等重复性的资源投入造成了巨大浪费,这样的管理模式存在着大量的盲点,诸如跨区域运输、车辆空载等,因此传统的物流管理模式已经无法满足当前高效、低成本的物流运输要求。云计算平台高效的收集、存储、处理物流信息,确保物流调度方案制定的实时性以及资源的高效合理配置,从而最大化降低成本。但现有的云计算系统在如何保证快速有序的供货,保持持续稳定的供应链,以确保物流的通畅和信息的实时性上仍然存在问题。因为物流供应链体系规模越大和越来越复杂,例如同时有上万人提交物流单的情况下,普通的关系数据库运行效率成为瓶颈;并且现有的云计算运行监控层大多是对物理资源或是某些特定功能的监控,不适用于规模巨大且具有高度虚拟化特性的物流物流信息云平台。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种基于大数据的物流信息化方法,包括:

物流信息云平台采集来自多个电商网站的运单数据,格式化后存储在分布式数据库中;基于存储的数据,利用云平台计算框架进行运输路线计算。

优选地,所述物流信息云平台包括采集层,所述采集层接收电商网站提交给物流企业的运单,电商网站提交运单号成功后,以该运单号为主键的一条记录通过采集层,添加到系统的数据库集群中一个节点,采集层利用分布式处理框架同时接收大规模记录的提交,并通过数据迁移存储物流企业自身关系数据库中的运单信息;对于来自不同的电商网站的数据,通过采集层进行预处理,按照预先设定存储结构进行格式归一化,再输入到物流信息云平台的持久化层,采集层根据保存的数据库集群的地址、以及服务端口信息与数据库建立连接和数据输入;数据输入数据库服务器后,首先执行写日志写入操作,用来记录对数据的插入和删除,然后将数据写到实际存储数据的内存中;数据写入到内存后,当数据大小达到设定的阈值时,触发刷新操作将其中的内容刷入分布式文件中,最终存储到分布式数据库;

所述物流信息云平台包括持久化层,用于运单数据的永久存储;数据库集群通过分布在各物流企业的存储节点构建,用户提交每条物流记录,都存储到物流信息云平台数据库集群的一个节点数据库中;数据库采用备份的方式存储数据;在数据库结构上,每条物流记录就是数据库集群中某节点数据库的表中的一行,数据库中的数据依靠底层的分布式文件系统进行存储;所述物流信息云平台还包括离线更新层,用于仓库和车辆信息的实时更新,使用地理信息系统定位车辆和产品的当前位置,每件产品进仓出仓,上车下车的扫描数据,将仓储量、运输量、车辆和产品的实时位置更新到数据库,以便调度过程调用最新数据;当云平台收到解析后的用户查询请求时,先到内存中进行查询,若查询失败进入块缓存查询,如果仍然没有查询成功,就转到硬盘上查询,并将查询到的数据存储在块缓存,如果块缓存被写满,采用替换机制删除旧数据,最终查询到的结果经过处理后呈现给用户。

本发明相比现有技术,具有以下优点:

本发明提出了一种基于大数据的物流信息化方法,为物流企业优化物流路径,提高资源利用率并降低过载风险,为用户提供高质量的物流供应体验。

附图说明

图1是根据本发明实施例的基于大数据的物流信息化方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种基于大数据的物流信息化方法。图1是根据本发明实施例的基于大数据的物流信息化方法流程图。

本发明提出的物流信息云平台,将数据库部署在云端,并行接收来自多个电商网站的运单数据,并进行存储管理。平台体系结构包括采集层、持久化层、计算层、离线更新层、运行监控层、交互层。

采集层作为物流信息云平台的数据来源,接收电商网站提交给物流企业的运单,电商网站提交运单号成功后,以该运单号为主键的一条记录通过采集层,自动添加到系统的数据库集群中一个节点,利用分布式处理框架,采集层可以同时接收大规模记录的提交,人工输入的大量数据,也通过采集层将数据输入到数据库中。该采集层还通过数据迁移,存储物流企业自身关系数据库中的运单信息。对于来自不同的电商网站的数据,通过采集层进行预处理,按照预先设定存储结构进行格式归一化,再输入到持久化层。采集层保存有数据库集群的地址、以及服务端口等信息,以此和数据库建立连接和数据输入。

数据输入数据库服务器后,首先需要执行写日志写入操作,用来记录对数据的插入和删除,然后才将数据写到实际存储数据的内存中。数据写入到内存后,当数据大小达到设定的阈值时,触发刷新操作将其中的内容刷入分布式文件中,最终存储到分布式数据库。

持久化层用于运单数据的永久存储。数据库集群是通过分布在各物流企业的存储节点构建,用户提交每条物流记录,都存储到物流信息云平台数据库集群的一个节点数据库中。数据库采用备份的方式存储数据。在数据库结构上,每条物流记录就是数据库集群中某节点数据库的表中的一行,数据库中的数据依靠底层的分布式文件系统进行存储。

计算层通过基于MapReduce编程框架的调度对数据库存储的数据进行计算处理,根据地理信息系统的运输节点位置信息,计算每个车辆的运输路线,同时将调度方案存储在对应车辆管理信息表。处理原始数据时,通过MapReduce进行分布式处理,在云平台集群中设置一个主控节点,当做名字节点控制数据分发,其余从属节点作为数据节点,存储并分析处理由名字节点分发的数据。主控节点将待处理数据分块,并设置两个备份,然后通过云平台架构将数据库存储在数据节点,进行数据的进一步处理。

离线更新层用于仓库和车辆信息的实时更新,使用地理信息系统定位车辆和产品的当前位置,每件产品进仓出仓,上车下车的扫描数据,将仓储量、运输量、车辆和产品的实时位置更新到数据库,以便调度过程调用最新数据。

运行监控层用于使用实时监控与非实时监控,利用优化策略降低网络负载。将物流信息云平台中每一个节点都作为包含监控目标的监控终端。监控目标包括计算资源、存储资源、网络资源。监控终端用于监控数据的采集和本地存储。运行监控层获取本地所有监控终端的物流业务数据,并提供数据分析,从各个监控终端拉取的监控数据,提供状态分析、预测、报警和存储。物流信息云平台提供监控数据展现和监控层控制功能。数据展现可以向用户呈现物流信息云平台的当前运行状态,而系统控制则可以根据当前运行状态对监控层做出适当调整。

交互层根据物流厂商用户提交的运输查询请求调用相关函数查询数据库,对返回的结果经过处理后反馈到查询界面,最后展示给用户。当云平台收到解析后的查询请求时,先到内存中进行查询,若查询失败进入块缓存查询,如果仍然没有查询成功,就转到硬盘上查询,并将查询到的数据存储在块缓存,如果块缓存被写满,采用替换机制删除旧数据,最终查询到的结果经过处理后呈现给用户。

进一步实施例中,本发明的计算层将云平台物流调度看作一个多约束多目标决策的问题,对大规模的运输网络进行聚类,根据每个聚类的运输量,利用外部约束条件权值,进行平衡,进而减少聚类划分次数,进而优化物流运输路径。

本发明采用的调度过程分为两个阶段:第一阶段通过K均值算法,将需求节点按照位置和运输量聚类,最终划分为k类,并分配至k个车辆运输;第二阶段针对每个聚类区域,计算该区域车辆的最优路线。

在聚类过程中,输入含有n个用户需求节点的点集合D,其中的每个节点,假设为d1,d2,d3......dn,则总运输量若这批产品由k个车辆来进行发送,通过聚类得到k个点集D1,D2,D3......Dk,具体过程是:

首先,在空间平面上选取k个客户节点d1,d2,d3......dk;形成初始聚类D’1,D’2,D’3......D’k;对于由具有权值w和坐标x、y的n个二维加权点组成的点阵集合D’k,分别计算每个初始聚类的加权重心和总权值,产生新的聚类中心:

xk=∑xiyi/∑xi,yk=∑wiyi/∑yi,其中i为遍历D’k中的节点数,D’k的总权值为wk=∑wi

对于集合D中所有的点重新聚类,对于每一个点dn,计算其到聚类D’k的加权划分距离:

其中r为权值衰减系数;

通过此公式可以计算得到di1,di2,di3......dik一共k个加权的距离,选取其中最小的距离dif,然后将节点d加入聚类D’f,对每个节点重新聚类后形成新的聚类D”1,D”2,D”3......D”k

计算每一个聚类的加权聚类中心和总权值;然后重复上述步骤直到聚类收敛,输出最终聚类结果D1,D2,D3......Dk

其中,在K均值算法聚类的具体并行化实现上,本发明采用MapReduce编程模型,从数据库读取数据,产生k个初始聚类中心,并保存在分布式文件系统上的文件中,作为MapReduce编程模型的全局变量;将所有数据集分块和聚类中心全局变量一起发送到各映射节点,计算数据块中各节点到全局变量中的k个聚类中心的距离,从而判断该节点属于哪个聚类,形成k个聚类区域后,每一个聚类中心节点周围包括属于该聚类区域的节点,这样就以聚类中心为键,该聚类区域本身为值,形成中间键值对传递给规约节点;属于同一个聚类中心的所有键值对作为同一个规约的输入,对其计算加权重心和总权值,产生新的聚类中心,覆盖原有的全局变量,依此进行下一次聚类迭代;比较新的聚类中心与前次聚类中心是否一致或者达到事先设定的差异值,如果满足条件,即收敛,聚类完成,否则需要返回重新迭代。

物流数据经过第一阶段的聚类处理后,对每一个聚类区域求解最优路径。即在有限的解空间中,从解空间树的根节点出发,寻找一条各节点之间的权值之和最小的路线,物流调度中将两个节点之间的距离作为其权值,也就是寻找一条最短的运输回路,根据与上下限的关系,从当前节点中选择一个最有利的节点作为扩展节点,对每一个可扩展节点都计算一个函数值,逐次逼近最优解。

其中求解下限和上限的过程包括:对于图V中的n个顶点,定义Di(1<i<n)为与顶点vi相连的两条最短距离的边权值之和,计算n个顶点的Di之和∑Cij,并除2得到下限值,即下限minD=∑Cij/2;利用贪心算法得到完整路径的所有权值总和作为上限。如果当前节点求解得到的下限值或者从根节点到此节点所有的边权值之和大于该上限值,舍弃该节点。选择代价最小的节点优先扩展,得到最优路径。

进一步,在运行监控层的实时监控中,监控终端在采集到监控数据,实时将监控数据发送给运行监控层。非实时监控下,监控终端的物理机和虚拟机采集器采集到物流业务数据后,将物流业务数据存储在本地的数据库中。监控终端设置状态监测单元,并为监控目标设定状态阈值。当监控目标的业务量超过预定的阈值时,监控终端的状态监测单元与运行监控层的状态监测单元进行数据交互,判断是否需要触发状态报警。当运行监控层确定本地发送状态报警时,将报警信息发送给物流信息云平台,物流信息云平台的系统报警器负责实现系统报警功能。

非实时监控的优化包括采用对过载状态量进行累加的方式抑制暂态过载报警的数量。确定是否需要将当前的暂态过载状态信息发送给运行监控层。监控终端定期采集本地各监控目标的业务量并将所得到的监控值与预设的本地阈值进行比较。监控终端i自身保存累加值Si(t)和累加阈值Hi。其中,Si(t)累加量受时间和过载量两个因素影响,初始时为0。当累加值Si(t)大于预设的累加阈值Hi时,监控终端将累加值从(w-1)Hi至wHi(权值系数w=1,2,3,…Li)的时间消耗Δt和加权平均过载程度Li报告至运行监控层,其中,监控终端i在t时刻的累加值Si(t)计算公式为:

<mrow> <msub> <mi>S</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>x</mi> <mo>=</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> </mrow> <mi>t</mi> </munderover> <mfrac> <mrow> <msub> <mi>m</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> </mrow> <mi>f</mi> </mfrac> </mrow>

mi(x)表示监控终端i在时间点x所采集的各监控目标的监控值,t0表示监控终端i的各监控目标的监控值连续过载状态阈值的起始时刻,Ti表示监控终端i的各监控目标的状态阈值,f为监控终端采集本地性能参数的频率。

监控终端i的累加值从(w-1)Hi至wHi的加权平均过载程度Li计算为:

<mrow> <mi>L</mi> <mi>i</mi> <mo>=</mo> <mfrac> <mrow> <msup> <mi>w</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>S</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>&Delta;</mi> <mi>t</mi> </mrow> </mfrac> </mrow>

Δt=tk-tk-1为监控终端i的累加值Si(t)从(w-1)Hi至wHi的时间消耗,tk、tk-1分别为监控终端i的累加值Si(t)超过第k个Hi和超过第(k-1)个Hi的时间点,Sk、Sk-1分别表示监控终端i的累加值Si(t)超过第k个Hi和第(k-1)个Hi时的实际值。

当累加值Si(t)超过Hi的整数倍时,向运行监控层发送本地状态过载报警信息。运行监控层在时间点tk接收到信息后,根据监控终端报告的过载信息的数据,计算时间区间(tk-Δt,tk)中监控目标的整体过载程度:

L(t)=L’(t)+Li

tk表示运行监控层接收到某个监控终端的暂态过载报警的时间点,Δt是暂态过载报警中传递的时间消耗值,L’(t)是更新前的值。若在某个时间点,运行监控层同时接收到多个监控终端的暂态过载报警信息,则需要针对每一个监控终端的暂态过载报警信息进行一次计算。

若监控终端满足Si(k-1)>(k-1)*Hi,则在时间点tk时,本地状态过载结束,即mi(tk)<Ti,计算Δt=tk-tk-1,并计算本地的加权平均过载程度Li,然后将Δt和Li作为本次暂态过载报警的最后一次信息发送给运行监控层。

综上所述,本发明提出了一种基于大数据的物流信息化方法,为物流企业优化物流路径,提高资源利用率并降低过载风险,为用户提供高质量的物流供应体验。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1