摘要:随着中国电子商务的蓬勃发展,物流行业也随之得到了高速发展的机会。针对物流大数据带来的存储容量扩张、数据存储安全、隐私泄漏等新的问题,提出基于分布式数据库来存储含有不同权限级别物流数据的方法。从而满足物流大数据的存储需要,保证了用户隐私的安全,解决了物流数据的存储问题。
关键词:大数据;隐私保护;分布式存储系统;物流信息存储
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)08-0286-03
1 概述
随着我国物流行业的飞速发展,物流电子信息技术化的不断进步,物流产业也逐渐走向网络信息化时代。截至2018年,我国物流业务量已经达到453亿件,占据全球总业务量的一半。物流業务正在影响着人们的生活,使人们的生活更加美好。但是近几年也出现了一些物流信息安全问题,一旦物流数据轻易泄漏后果将不堪设想。一些发达国家通过行业自律和颁布相关法律来解决用户隐私泄漏问题。英国邮政管理委员会[11规定,物流的运营商必须在其许可证上明确关于邮政安全的相关条款。在国内外物流大数据的研究上,国外兴起了以一种软件模式来管理现代物流信息,比如采用SaaS(Software as aService)模式来构建物流管理系统[2]。
Rvden等人通过亚马逊公司提供的数据安全存储服务和数据分析服务,对物流大数据进行分析处理与存储,得出了较为可行的适合当今物流行业的技术方案[3]。国内也提出了一些关于隐私保护的相关方案,比如一种基于二维码与信息隐藏技术的隐私保护方案,该方案是采用信息隐藏技术将用户信息嵌入到QR码中,从而实现对被隐藏的信息的分级访问权限的控制[4]。
面对我国如此庞大的物流信息,如何更加安全有效的存储这些信息成为最严峻的问题。我们发现了上述的研究都忽略了这个问题,一旦服务器受到了大规模的数据泄漏,用户的隐私信息将处于危险之中。因此物流信息如何更加安全有效的存储至关重要。所以本文提出基于分布式数据库来存储含有不同权限级别物流数据的方法。该方法可以整合集群中的数据源,满足了物流大数据的存储需要,保证了用户的隐私,解决了物流信息安全存储的问题。
2 预备知识
分布式数据库(distributed data base),主要由一组数据组成的,这组数据分布在计算机网络中的不同的计算机上,网络中的每个节点具有独立处理的能力,可以执行局部应用。同时,每个节点也能通过网络通信子系统执行全局应用。主要具有如下几个特性:可扩展性、低成本、高性能、高可用性。
MySQL是当今使用最多的用于存储大型数据的数据库管理系统之一。MySQL具有如下特性:MySQL是开放源代码的,任何人都可以获取到其源码,具有很好的可开发性和灵活性;它也是一款可以多跨平台使用的数据库,可以运行在当前市面上最常用的几款操作系统;它具有多种存储引擎,可以轻松处理千万级以上的数据。比较适用用于存储大量的用户隐私信息。
对于存储物流数据这种大型的互联网应用而言,单表记录的规模是相当大的,这对于数据的存储和读写来说都是非常大的挑战。因此我们采用搭配着数据分片技术的MySQL Replica-tion架构,可以使数据库的吞吐能力得到了很大的提升。而数据分片我们采用水平分片,将原先一整张大的数据表通过分片算法,分布存储到不同分库中相同结构的子表中。这样就可以使每一个分库中的子表数据都被绑定在相对较小的范围之内,处理性能得到了很大的提升。
本文中分布式数据库存储借助了第三方中间件MYCat[5]来做处理,通过中间件实现数据切分从而实现分布式存储,这样的存储方式具有很高的效率与较好的可扩展性。
在整个分布式数据库实现的过程中,MvCat对于基于其之上的应用只提供统一的数据库服务器接口。MyCat通过对前台应用发送过来的soL命令进行解析,然后通过数据分片原则将其转移到数据库后台执行soL语句,当soL命令执行完毕后返回给应用。基于物流云平台的分布式存储数据库的功能框架如图1所示。
3 物流云平台服务器分布式存储总体设计
根据物流信息对数据存储的要求,结合分布式数据库的原理及特点,本文将采用MySQI+MyCat相结合的数据集群存储方案。
针对物流行业存储空间分布均匀,存储数据量大,要求并发处理性能高的特点,因此给出本存储方案的功能流程,即数据分片、数据切合与整合、SQL的解析。基于分布式存储的总体架构如图2所示。
3.1 存储数据分片
在分布式存储系统中,数据分片要达到三个目的,分布均匀、负载均衡、扩缩容时产生的数据迁移少。因此本方案采用水平分片的策略。
分片规则的选取是在物流信息存储过程中需要解决的重点问题,在将数据进行水平分片时,应该结合物流信息存储量大、分段加密信息难度大、要求性能高等特点。所以应选择合适的分片规则。因此本方案提出预选的分片规则如下:
1)哈希取模分片
先计算Key的哈希值,再对设备数量取模。设目前有n台设备,编号为O-n-1,通过Hash(Key)o-/on就可以确定该数据所在的设备编号。哈希取模分片既可以保证数据分布的均衡性,又能够保证数据分布的均衡性,但是缺点是对数据的迁移量大、操作复杂[6]。
2)划分号段分片
划分号段分片又被称为范围分片。这种一般适用于Key值为整型的情况,每台设备上存放着相同大小的范围区间,如把Key值范围为f1,5000]的数据放在第一台设备上,把Key为[5001,10000]的数据放在第二台设备上,依次类推。MyCat中定义分片字段的范围与分片的映射关系如下:
1-5000=0
5001-10000=1
10001-15000=2
这种方法实现很简单,扩容也比较方便,成倍增加设备即可,如原来有n台设备,再新增n台设备来扩容,把每台老设备上一半的数据迁移到新设备上,原来号段为[1,10000]的设备,扩容后只保留号段[1,5000]的数据,把号段为[5001,10000]的数据迁移到一台新增的设备上。但是缺点是数据的分布可能不均匀,导致访问具有很大的随机性,无法平衡各点之间的访问压力。
3) 一致性哈希分片
一致性哈希算法是在原先离散的哈希算法基础上拓展为一定的范围,它在移除或者添加一个Cache时,可以尽可能小的改变已存在Key映射关系,尽可能地满足单调性的要求。
而本方案将会用一致性哈希环的数据结构。首先构建一个Hash空间,即构建一个首(0)尾(2^32-1)相接的圆环。再把对象映射到Hash空间通过Hash函数计算出的Hash值Key在环上的分布。即如下关系:
Hash(objectl)= Keyl;
Hash(object4)= Key4;
最后把Cache映射到Hash空间。
一致性哈希分片虽然很好地解决了集群扩展问题,但是仍然存在数据分布不均衡的情况,因此无法平衡各点的访问压力。
综上,由于物流信息量庞大,并发访问量高,需要数据分布具有较高的均衡性,所以本系统采用哈希取模的规则进行水平分片。
3.2 数据切分与整合
根据上文提到的采用哈希取模分片获取分布较为平衡的数据。之后需要借助MyCat对数据库表进行数据切分和整合,即在切分存储在数据库中,同时对外开放统一的MySQL访问接口。而切分又分为横向切分和垂直切分,我们采取横向垂直相结合的切分方法,实现在不同场景的数据分布式存储。通过配置schema.xml和rule.xml文件,结合业务的特点动态实现分片规则,以实现物流数据存储的业务要求。基本流程的基本原理如图3所示。
3.3 SQL解析
SQL的解析原理是:首先接收用户前段发来的SQL语句,先由MyCat处理。之后MyCat对SQL语句的分片函数进行解析,并通过前文提到的分片规则得到需要实际处理该SQL语句的表,最后根据哈希模分片规则找到相对应的存储节点,让数据库执行SQL语句。执行结束后获取查询结果,将处理后的节点按照分片规则在MyCat上进行整合和处理,最后将结果返回给用户。MyCat查询流程如图4所示。
4 基于数据分级加密的安全存储方法
根据完成物流业务的实际需求,所以将数据设置不同级别的权限。这样相关物流工作人员从数据库中提取数据不需要也没有权限提取全部的客户信息,只需要提取其相关负责的业务信息。也就是说业务员只需要提取他需要的为下一个节点服务的当前节点的数据,大大提高了用户隐私数据的安全性。
该原理的主要思想是:将个人隐私信息加密存储[7],同时给物流中转流程中的节点收件人、节点发件人、配件人、派件人设置从1到Ⅳ的不同权限级别,之后自动将物流个人隐私按照相应的物流中转机制将信息分割为中转节点,组成相关的业务表单数据,从而完成物流中转过程中的工作人员的业务操作。这样预防了因物流员工控制混乱而导致的用户隐私泄漏等情况的发生。关于数据安全存储方法如图5所示。
5 实验验证
5.1 实验环境
为验证MyCat分布式数据库性能与可用性,本实验采用8台服务器模拟搭建物流信息管理分布式数据库,并通过配置好的软件对数据库标准查询性能以及HAProxy可用性进行测试,具体的软件配置如下:
操作系统:CentOS-6.5-x86_64(Windows下可通过Cygwin进行配置1
JDK: jdkl.7.0_80
HAproxy: HAproxy-1.5.19
Mycat: Mycat-server-I.6
Keepalived: Keepalived-I.2.18
MySQL: Mysql-5.6
5.2 實验结果
通过将分布式数据库设置在1000线程下,模拟请求查询n条随机数据,查询结果见表1所列。
通过对比实验,将分布式数据库与集中式数据库进行比较,可以看出分布式系统查询效率比单节点提升了接近一倍,这样在查询像物流信息这样庞大的数据时,能极大地降低访问的延时性,扩展了整体存储空间,提高了性能。
6 结束语
本文针对物流信息系统中数据的安全存储问题进行了简单分析,介绍了使用开源框架MyCat和MySQL搭建分布式数据库环境解决庞大的物流数据量的存储问题。并且采用了模拟实验验证了该方法的有效性和可行性,解决了现存的一些关于数据存储及安全性的问题。
随着物流快递的飞速增长,本文提到的方案还有很多研究上的不足,比如效率以及安全等问题,还需要进一步的深入研究。
参考文献:
[1] Solove D J,Hartzog W. The FTC and the New Common Lawof Privacy[J]. Columbia Law Review. 2014, 114 (3):583-676.
[2] Boyaci B,Zografos K.et al.An optimization framework for thedevelopment of effcient one-way carsharing system[J].Europe-an Journal of Operational Research, 2015, 240(3):718-733.
[3] Gaunitz B J,Roth M,Franczyk B.Dynamic and scalable real-time analysis in logistics combining Apache Storm with Com-plex Event Processing for enabling new business models in lo-gistics[C].Evaluation of Novel Approches to Sofiware Engineer-mg。2015:289-294.
[4] ZHANG X,Ll H,YANG Y,et al.LIPPS: logistics informa-tion privacy protection system Based on encrypted QR code[C]//IEEE Trustcom/BigDataSE/lSPA. 2016: 996-1000.
[5]周继锋,冯钻优,陈胜尊.分布式数据库框架及企业实践:基于Mycat中间件[M].北京:电子工业出版社,2016.
[6]吴晓龙.高可用性集群系统在医院信息系统中的应用[J].广西科学院报.2002,2(18,1):19-21.
[7] Zhang Lei,Li Jing,Yang Songtao,Wang Bin.Privacy preservingin cloud environment for obstructed shortest path query. Wire-less personal communications.2017,96(issue2):2305-2322.
【通联编辑:王力】
基金项目:省级创业创新项目(201910222093)
作者简介:张驰(1998-),男,黑龙江齐齐哈尔人,佳木斯大学信息电子技术学院计算机科学与技术专业学生,本科,研究方向为信息安全、大数据分析。