摘要:隨著中國電子商務(wù)的蓬勃發(fā)展,物流行業(yè)也隨之得到了高速發(fā)展的機會。針對物流大數(shù)據(jù)帶來的存儲容量擴張、數(shù)據(jù)存儲安全、隱私泄漏等新的問題,提出基于分布式數(shù)據(jù)庫來存儲含有不同權(quán)限級別物流數(shù)據(jù)的方法。從而滿足物流大數(shù)據(jù)的存儲需要,保證了用戶隱私的安全,解決了物流數(shù)據(jù)的存儲問題。
關(guān)鍵詞:大數(shù)據(jù);隱私保護(hù);分布式存儲系統(tǒng);物流信息存儲
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)08-0286-03
1 概述
隨著我國物流行業(yè)的飛速發(fā)展,物流電子信息技術(shù)化的不斷進(jìn)步,物流產(chǎn)業(yè)也逐漸走向網(wǎng)絡(luò)信息化時代。截至2018年,我國物流業(yè)務(wù)量已經(jīng)達(dá)到453億件,占據(jù)全球總業(yè)務(wù)量的一半。物流業(yè)務(wù)正在影響著人們的生活,使人們的生活更加美好。但是近幾年也出現(xiàn)了一些物流信息安全問題,一旦物流數(shù)據(jù)輕易泄漏后果將不堪設(shè)想。一些發(fā)達(dá)國家通過行業(yè)自律和頒布相關(guān)法律來解決用戶隱私泄漏問題。英國郵政管理委員會[11規(guī)定,物流的運營商必須在其許可證上明確關(guān)于郵政安全的相關(guān)條款。在國內(nèi)外物流大數(shù)據(jù)的研究上,國外興起了以一種軟件模式來管理現(xiàn)代物流信息,比如采用SaaS(Software as aService)模式來構(gòu)建物流管理系統(tǒng)[2]。
Rvden等人通過亞馬遜公司提供的數(shù)據(jù)安全存儲服務(wù)和數(shù)據(jù)分析服務(wù),對物流大數(shù)據(jù)進(jìn)行分析處理與存儲,得出了較為可行的適合當(dāng)今物流行業(yè)的技術(shù)方案[3]。國內(nèi)也提出了一些關(guān)于隱私保護(hù)的相關(guān)方案,比如一種基于二維碼與信息隱藏技術(shù)的隱私保護(hù)方案,該方案是采用信息隱藏技術(shù)將用戶信息嵌入到QR碼中,從而實現(xiàn)對被隱藏的信息的分級訪問權(quán)限的控制[4]。
面對我國如此龐大的物流信息,如何更加安全有效的存儲這些信息成為最嚴(yán)峻的問題。我們發(fā)現(xiàn)了上述的研究都忽略了這個問題,一旦服務(wù)器受到了大規(guī)模的數(shù)據(jù)泄漏,用戶的隱私信息將處于危險之中。因此物流信息如何更加安全有效的存儲至關(guān)重要。所以本文提出基于分布式數(shù)據(jù)庫來存儲含有不同權(quán)限級別物流數(shù)據(jù)的方法。該方法可以整合集群中的數(shù)據(jù)源,滿足了物流大數(shù)據(jù)的存儲需要,保證了用戶的隱私,解決了物流信息安全存儲的問題。
2 預(yù)備知識
分布式數(shù)據(jù)庫(distributed data base),主要由一組數(shù)據(jù)組成的,這組數(shù)據(jù)分布在計算機網(wǎng)絡(luò)中的不同的計算機上,網(wǎng)絡(luò)中的每個節(jié)點具有獨立處理的能力,可以執(zhí)行局部應(yīng)用。同時,每個節(jié)點也能通過網(wǎng)絡(luò)通信子系統(tǒng)執(zhí)行全局應(yīng)用。主要具有如下幾個特性:可擴展性、低成本、高性能、高可用性。
MySQL是當(dāng)今使用最多的用于存儲大型數(shù)據(jù)的數(shù)據(jù)庫管理系統(tǒng)之一。MySQL具有如下特性:MySQL是開放源代碼的,任何人都可以獲取到其源碼,具有很好的可開發(fā)性和靈活性;它也是一款可以多跨平臺使用的數(shù)據(jù)庫,可以運行在當(dāng)前市面上最常用的幾款操作系統(tǒng);它具有多種存儲引擎,可以輕松處理千萬級以上的數(shù)據(jù)。比較適用用于存儲大量的用戶隱私信息。
對于存儲物流數(shù)據(jù)這種大型的互聯(lián)網(wǎng)應(yīng)用而言,單表記錄的規(guī)模是相當(dāng)大的,這對于數(shù)據(jù)的存儲和讀寫來說都是非常大的挑戰(zhàn)。因此我們采用搭配著數(shù)據(jù)分片技術(shù)的MySQL Replica-tion架構(gòu),可以使數(shù)據(jù)庫的吞吐能力得到了很大的提升。而數(shù)據(jù)分片我們采用水平分片,將原先一整張大的數(shù)據(jù)表通過分片算法,分布存儲到不同分庫中相同結(jié)構(gòu)的子表中。這樣就可以使每一個分庫中的子表數(shù)據(jù)都被綁定在相對較小的范圍之內(nèi),處理性能得到了很大的提升。
本文中分布式數(shù)據(jù)庫存儲借助了第三方中間件MYCat[5]來做處理,通過中間件實現(xiàn)數(shù)據(jù)切分從而實現(xiàn)分布式存儲,這樣的存儲方式具有很高的效率與較好的可擴展性。
在整個分布式數(shù)據(jù)庫實現(xiàn)的過程中,MvCat對于基于其之上的應(yīng)用只提供統(tǒng)一的數(shù)據(jù)庫服務(wù)器接口。MyCat通過對前臺應(yīng)用發(fā)送過來的soL命令進(jìn)行解析,然后通過數(shù)據(jù)分片原則將其轉(zhuǎn)移到數(shù)據(jù)庫后臺執(zhí)行soL語句,當(dāng)soL命令執(zhí)行完畢后返回給應(yīng)用?;谖锪髟破脚_的分布式存儲數(shù)據(jù)庫的功能框架如圖1所示。
3 物流云平臺服務(wù)器分布式存儲總體設(shè)計
根據(jù)物流信息對數(shù)據(jù)存儲的要求,結(jié)合分布式數(shù)據(jù)庫的原理及特點,本文將采用MySQI+MyCat相結(jié)合的數(shù)據(jù)集群存儲方案。
針對物流行業(yè)存儲空間分布均勻,存儲數(shù)據(jù)量大,要求并發(fā)處理性能高的特點,因此給出本存儲方案的功能流程,即數(shù)據(jù)分片、數(shù)據(jù)切合與整合、SQL的解析?;诜植际酱鎯Φ目傮w架構(gòu)如圖2所示。
3.1 存儲數(shù)據(jù)分片
在分布式存儲系統(tǒng)中,數(shù)據(jù)分片要達(dá)到三個目的,分布均勻、負(fù)載均衡、擴縮容時產(chǎn)生的數(shù)據(jù)遷移少。因此本方案采用水平分片的策略。
分片規(guī)則的選取是在物流信息存儲過程中需要解決的重點問題,在將數(shù)據(jù)進(jìn)行水平分片時,應(yīng)該結(jié)合物流信息存儲量大、分段加密信息難度大、要求性能高等特點。所以應(yīng)選擇合適的分片規(guī)則。因此本方案提出預(yù)選的分片規(guī)則如下:
1)哈希取模分片
先計算Key的哈希值,再對設(shè)備數(shù)量取模。設(shè)目前有n臺設(shè)備,編號為O-n-1,通過Hash(Key)o-/on就可以確定該數(shù)據(jù)所在的設(shè)備編號。哈希取模分片既可以保證數(shù)據(jù)分布的均衡性,又能夠保證數(shù)據(jù)分布的均衡性,但是缺點是對數(shù)據(jù)的遷移量大、操作復(fù)雜[6]。
2)劃分號段分片
劃分號段分片又被稱為范圍分片。這種一般適用于Key值為整型的情況,每臺設(shè)備上存放著相同大小的范圍區(qū)間,如把Key值范圍為f1,5000]的數(shù)據(jù)放在第一臺設(shè)備上,把Key為[5001,10000]的數(shù)據(jù)放在第二臺設(shè)備上,依次類推。MyCat中定義分片字段的范圍與分片的映射關(guān)系如下:
1-5000=0
5001-10000=1
10001-15000=2
這種方法實現(xiàn)很簡單,擴容也比較方便,成倍增加設(shè)備即可,如原來有n臺設(shè)備,再新增n臺設(shè)備來擴容,把每臺老設(shè)備上一半的數(shù)據(jù)遷移到新設(shè)備上,原來號段為[1,10000]的設(shè)備,擴容后只保留號段[1,5000]的數(shù)據(jù),把號段為[5001,10000]的數(shù)據(jù)遷移到一臺新增的設(shè)備上。但是缺點是數(shù)據(jù)的分布可能不均勻,導(dǎo)致訪問具有很大的隨機性,無法平衡各點之間的訪問壓力。
3) 一致性哈希分片
一致性哈希算法是在原先離散的哈希算法基礎(chǔ)上拓展為一定的范圍,它在移除或者添加一個Cache時,可以盡可能小的改變已存在Key映射關(guān)系,盡可能地滿足單調(diào)性的要求。
而本方案將會用一致性哈希環(huán)的數(shù)據(jù)結(jié)構(gòu)。首先構(gòu)建一個Hash空間,即構(gòu)建一個首(0)尾(2^32-1)相接的圓環(huán)。再把對象映射到Hash空間通過Hash函數(shù)計算出的Hash值Key在環(huán)上的分布。即如下關(guān)系:
Hash(objectl)= Keyl;
Hash(object4)= Key4;
最后把Cache映射到Hash空間。
一致性哈希分片雖然很好地解決了集群擴展問題,但是仍然存在數(shù)據(jù)分布不均衡的情況,因此無法平衡各點的訪問壓力。
綜上,由于物流信息量龐大,并發(fā)訪問量高,需要數(shù)據(jù)分布具有較高的均衡性,所以本系統(tǒng)采用哈希取模的規(guī)則進(jìn)行水平分片。
3.2 數(shù)據(jù)切分與整合
根據(jù)上文提到的采用哈希取模分片獲取分布較為平衡的數(shù)據(jù)。之后需要借助MyCat對數(shù)據(jù)庫表進(jìn)行數(shù)據(jù)切分和整合,即在切分存儲在數(shù)據(jù)庫中,同時對外開放統(tǒng)一的MySQL訪問接口。而切分又分為橫向切分和垂直切分,我們采取橫向垂直相結(jié)合的切分方法,實現(xiàn)在不同場景的數(shù)據(jù)分布式存儲。通過配置schema.xml和rule.xml文件,結(jié)合業(yè)務(wù)的特點動態(tài)實現(xiàn)分片規(guī)則,以實現(xiàn)物流數(shù)據(jù)存儲的業(yè)務(wù)要求?;玖鞒痰幕驹砣鐖D3所示。
3.3 SQL解析
SQL的解析原理是:首先接收用戶前段發(fā)來的SQL語句,先由MyCat處理。之后MyCat對SQL語句的分片函數(shù)進(jìn)行解析,并通過前文提到的分片規(guī)則得到需要實際處理該SQL語句的表,最后根據(jù)哈希模分片規(guī)則找到相對應(yīng)的存儲節(jié)點,讓數(shù)據(jù)庫執(zhí)行SQL語句。執(zhí)行結(jié)束后獲取查詢結(jié)果,將處理后的節(jié)點按照分片規(guī)則在MyCat上進(jìn)行整合和處理,最后將結(jié)果返回給用戶。MyCat查詢流程如圖4所示。
4 基于數(shù)據(jù)分級加密的安全存儲方法
根據(jù)完成物流業(yè)務(wù)的實際需求,所以將數(shù)據(jù)設(shè)置不同級別的權(quán)限。這樣相關(guān)物流工作人員從數(shù)據(jù)庫中提取數(shù)據(jù)不需要也沒有權(quán)限提取全部的客戶信息,只需要提取其相關(guān)負(fù)責(zé)的業(yè)務(wù)信息。也就是說業(yè)務(wù)員只需要提取他需要的為下一個節(jié)點服務(wù)的當(dāng)前節(jié)點的數(shù)據(jù),大大提高了用戶隱私數(shù)據(jù)的安全性。
該原理的主要思想是:將個人隱私信息加密存儲[7],同時給物流中轉(zhuǎn)流程中的節(jié)點收件人、節(jié)點發(fā)件人、配件人、派件人設(shè)置從1到Ⅳ的不同權(quán)限級別,之后自動將物流個人隱私按照相應(yīng)的物流中轉(zhuǎn)機制將信息分割為中轉(zhuǎn)節(jié)點,組成相關(guān)的業(yè)務(wù)表單數(shù)據(jù),從而完成物流中轉(zhuǎn)過程中的工作人員的業(yè)務(wù)操作。這樣預(yù)防了因物流員工控制混亂而導(dǎo)致的用戶隱私泄漏等情況的發(fā)生。關(guān)于數(shù)據(jù)安全存儲方法如圖5所示。
5 實驗驗證
5.1 實驗環(huán)境
為驗證MyCat分布式數(shù)據(jù)庫性能與可用性,本實驗采用8臺服務(wù)器模擬搭建物流信息管理分布式數(shù)據(jù)庫,并通過配置好的軟件對數(shù)據(jù)庫標(biāo)準(zhǔn)查詢性能以及HAProxy可用性進(jìn)行測試,具體的軟件配置如下:
操作系統(tǒng):CentOS-6.5-x86_64(Windows下可通過Cygwin進(jìn)行配置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 實驗結(jié)果
通過將分布式數(shù)據(jù)庫設(shè)置在1000線程下,模擬請求查詢n條隨機數(shù)據(jù),查詢結(jié)果見表1所列。
通過對比實驗,將分布式數(shù)據(jù)庫與集中式數(shù)據(jù)庫進(jìn)行比較,可以看出分布式系統(tǒng)查詢效率比單節(jié)點提升了接近一倍,這樣在查詢像物流信息這樣龐大的數(shù)據(jù)時,能極大地降低訪問的延時性,擴展了整體存儲空間,提高了性能。
6 結(jié)束語
本文針對物流信息系統(tǒng)中數(shù)據(jù)的安全存儲問題進(jìn)行了簡單分析,介紹了使用開源框架MyCat和MySQL搭建分布式數(shù)據(jù)庫環(huán)境解決龐大的物流數(shù)據(jù)量的存儲問題。并且采用了模擬實驗驗證了該方法的有效性和可行性,解決了現(xiàn)存的一些關(guān)于數(shù)據(jù)存儲及安全性的問題。
隨著物流快遞的飛速增長,本文提到的方案還有很多研究上的不足,比如效率以及安全等問題,還需要進(jìn)一步的深入研究。
參考文獻(xiàn):
[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,F(xiàn)ranczyk 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]周繼鋒,馮鉆優(yōu),陳勝尊.分布式數(shù)據(jù)庫框架及企業(yè)實踐:基于Mycat中間件[M].北京:電子工業(yè)出版社,2016.
[6]吳曉龍.高可用性集群系統(tǒng)在醫(yī)院信息系統(tǒng)中的應(yīng)用[J].廣西科學(xué)院報.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.
【通聯(lián)編輯:王力】
基金項目:省級創(chuàng)業(yè)創(chuàng)新項目(201910222093)
作者簡介:張馳(1998-),男,黑龍江齊齊哈爾人,佳木斯大學(xué)信息電子技術(shù)學(xué)院計算機科學(xué)與技術(shù)專業(yè)學(xué)生,本科,研究方向為信息安全、大數(shù)據(jù)分析。