趙月 左成章 楊堅



摘 要 云計算模型中,由于應用服務在調(diào)度、分配、部署等方面相對復雜,因此需要專門的云計算調(diào)度方法來確保云數(shù)據(jù)的安全性。本文介紹了一種針對云任務調(diào)度信息可信存儲的分布式云任務調(diào)度架構(gòu)。本架構(gòu)結(jié)合了區(qū)塊鏈和傳統(tǒng)的云服務技術(shù),來解決了云任務的正確性和安全性問題,也解決了系統(tǒng)故障造成的重大數(shù)據(jù)丟失問題。 本架構(gòu)主要包括云集群、控制系統(tǒng)、區(qū)塊鏈網(wǎng)絡(luò)和云數(shù)據(jù)庫4個部分。系統(tǒng)將云任務調(diào)度信息的哈希數(shù)據(jù)存儲到區(qū)塊鏈網(wǎng)絡(luò)中,并將存儲原始數(shù)據(jù)到云數(shù)據(jù)庫中,這樣保證云任務在云集群中執(zhí)行。
關(guān)鍵詞 云計算;任務調(diào)度;區(qū)塊鏈;安全;完整性
Abstract In cloud computing model,as the application services have complex scheduling, composition, configuration and deployment conditions,we demand appropriate cloud computing scheduling strategy to ensure cloud data security.This paper introduces a trusted distributed audit method for cloud task scheduling, which is used for the trusted storage of cloud task scheduling information in the cloud cluster.This method mainly uses a distributed solution that combines block chain technology and traditional cloud server to solve the problem of integrity and security of cloud task scheduling, in order to prevent potential.The architecture of this paper is composed of four parts: cloud cluster, control system, block chain network,and cloud database.We store the hash data of cloud task scheduling information into blockchain network and store the original data to the cloud data base, which guarantees the cloud task within the cloud cluster.
Key Words cloud computing, scheduling strategy, block chain, security, integrity
引言
隨著互聯(lián)網(wǎng)時代的發(fā)展,世界的數(shù)據(jù)量以指數(shù)級的速度迅速增加,我們已進入大數(shù)據(jù)時代。在大數(shù)據(jù)時代,數(shù)據(jù)不斷被收集和分析。一些公司和組織正使用他們收集到的數(shù)據(jù)來為我們提供個性化服務。今天,數(shù)據(jù)已成為我們這個時代的寶貴財富。如何處理海量數(shù)據(jù),如何為用戶提供方便快捷的服務,是互聯(lián)網(wǎng)發(fā)展過程中需要解決的難題[1]。
在這種背景下,云計算應運而生。云計算為終端用戶提供計算機基礎(chǔ)設(shè)施和應用程序服務。云計算模型中的應用程序服務具有復雜的調(diào)度、組合、配置和部署條件。即使在多條件的要求下,也可以根據(jù)時間的變化來平衡虛擬服務的調(diào)度。因此,優(yōu)化云計算調(diào)度策略以保證云數(shù)據(jù)的安全和彈性能力的需求日益突出。
區(qū)塊鏈作為一個不可變的分類賬,允許以分散的方式進行交易,一定程度上解決了云計算技術(shù)在數(shù)據(jù)安全保護等方面的缺陷。基于區(qū)塊鏈的應用如雨后春筍般涌現(xiàn),涉及金融服務、聲譽系統(tǒng)、物聯(lián)網(wǎng)等眾多領(lǐng)域[2]。早在2008年,中本聰提出了去中心化加密貨幣—比特幣(bitcoin)的設(shè)計構(gòu)想。2009 年,作為區(qū)塊鏈技術(shù)最成功的應用場景之一比特幣系統(tǒng)開始運行。
區(qū)塊鏈在我國還處于起步階段,區(qū)塊鏈基于自身技術(shù)優(yōu)勢,可以廣泛應用于金融服務、供應鏈管理、文化娛樂、智能制造、社會公益以及教育就業(yè)等多個領(lǐng)域。為了協(xié)調(diào)推進區(qū)塊鏈技術(shù)和應用發(fā)展,國內(nèi)先后成立各種類型的區(qū)塊鏈產(chǎn)業(yè)聯(lián)盟。國內(nèi)大量企業(yè)及組織開始涉足區(qū)塊鏈行業(yè),著手研發(fā)或推出從基礎(chǔ)設(shè)施平臺到行業(yè)應用的產(chǎn)品、服務和解決方案[1]。國家互聯(lián)網(wǎng)信息辦公室2019年1月10日發(fā)布《區(qū)塊鏈信息服務管理規(guī)定》,自2019年2月15日起施行。
區(qū)塊鏈系統(tǒng)體系結(jié)構(gòu)如圖1所示。區(qū)塊鏈系統(tǒng)由數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、激勵層、合約層、應用層7個部分組成[3]。數(shù)據(jù)層主要針對數(shù)據(jù)區(qū)塊中的數(shù)據(jù)結(jié)構(gòu)、存儲形式、密鑰機制等相關(guān)技術(shù);網(wǎng)絡(luò)層包括網(wǎng)絡(luò)節(jié)點間的組網(wǎng)形式、數(shù)據(jù)的通信模式和驗證等機制;共識層包括區(qū)塊鏈采用的共識機制,是區(qū)塊鏈架構(gòu)的核心;激勵層通過電子數(shù)字貨幣的制造和激勵分配等機制,以維護區(qū)塊鏈的安全性和穩(wěn)定性;合約層是區(qū)塊鏈可編程特性的基礎(chǔ),該層主要封裝腳本代碼和數(shù)據(jù)集;應用層為區(qū)塊鏈技術(shù)應用的主要場景、應用軟件、應用程序[4]。
數(shù)據(jù)中心是多系統(tǒng)集成的復雜系統(tǒng)。當前國內(nèi)數(shù)據(jù)中心越來越重視標準化和模塊化建設(shè),采用結(jié)構(gòu)化、層次化、模塊化的規(guī)劃設(shè)計方法,通過功能區(qū)數(shù)據(jù)中心設(shè)計,標準化的數(shù)據(jù)中心架構(gòu),達到數(shù)據(jù)中心的高可靠、易管理、可伸縮的目標。對于大多數(shù)中小企業(yè),數(shù)據(jù)中心建設(shè)的投資巨大。因此,建立統(tǒng)一、開放、靈活的數(shù)據(jù)中心平臺,以最大限度地整合資源、最廣泛地整合,將有助于降低成本、提高質(zhì)量[5]。云計算數(shù)據(jù)中心結(jié)構(gòu)通常是分布式,通過網(wǎng)絡(luò)設(shè)備將服務器、和存儲設(shè)備進行連接,以此將計算機資源,管理和維護計算機設(shè)備進行整合。數(shù)據(jù)中心設(shè)備可以分布在不同的物理位置,也可以集中在同一個地方。將數(shù)據(jù)中心的物理資源和虛擬資源進行分布式動態(tài)管理面臨著許多難題,首先如何將物理資源和虛擬資源進行有效結(jié)合,另外云計算應用的平臺資源分布廣泛、種類繁多,用戶請求的實時動態(tài)變化等因素。
因此,建立一種滿足各種性能和各方面利益的調(diào)度策略至關(guān)重要。本文介紹一種結(jié)合區(qū)塊鏈和云任務調(diào)度的特點云任務調(diào)度方法,可以有效提高數(shù)據(jù)的保密性和可用性,在一定程度上降低了被攻擊的風險[6]。
1系統(tǒng)描述
1.1 系統(tǒng)架構(gòu)
本文介紹的云資源調(diào)度架構(gòu)主要包括云集群、控制系統(tǒng)、云服務器(云數(shù)據(jù)庫)和區(qū)塊鏈網(wǎng)絡(luò)等4部分組成,如圖1所示。
云集群中對象間的通信行為稱為事件,事件被認為是區(qū)塊鏈網(wǎng)絡(luò)的交易行為。區(qū)塊鏈網(wǎng)絡(luò)周期性存儲對象間的交易行為。云集群直接(或者通過通信設(shè)備)與控制系統(tǒng)進行通信。
控制系統(tǒng)負責接收從云集群中收集到的數(shù)據(jù),并向云集群發(fā)送任務調(diào)度命令。控制系統(tǒng)首先將收集到的數(shù)據(jù)通過哈希映射算法來保證數(shù)據(jù)完整性,然后周期性發(fā)送數(shù)據(jù),并將原始數(shù)據(jù)和哈希數(shù)據(jù)分別發(fā)送到云服務器和區(qū)塊鏈網(wǎng)絡(luò)。
區(qū)塊鏈網(wǎng)絡(luò)主要有兩個作用。將云集群中收集到的數(shù)據(jù)通過哈希算法轉(zhuǎn)換后,以分布式存儲在區(qū)塊鏈網(wǎng)絡(luò)中,保證數(shù)據(jù)的完整性和網(wǎng)絡(luò)的穩(wěn)定性。另外,區(qū)塊鏈記錄每次云服務器的反饋和數(shù)據(jù)庫的訪問信息,以供以后的信息回溯和驗證。記錄和驗證信息都將以數(shù)據(jù)的方式被記錄。
云數(shù)據(jù)庫主要存儲云集群收集的原始數(shù)據(jù)、控制系統(tǒng)發(fā)送的命令和云服務器的訪問信息。云數(shù)據(jù)庫和區(qū)塊鏈網(wǎng)絡(luò)協(xié)同工作保證所有的數(shù)據(jù)可追溯,一旦有入侵被檢測到,惡意的節(jié)點就會被發(fā)現(xiàn)和確認。
云服務器負責處理來自云集群數(shù)據(jù)和數(shù)據(jù)訪問記錄數(shù)據(jù),這與區(qū)塊鏈網(wǎng)絡(luò)具有相同的功能。云服務器通過請求區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊數(shù)據(jù),來驗證數(shù)據(jù)的完整性。另外,通過云集群和控制系統(tǒng)間的通信數(shù)據(jù)分析以及服務器分析能夠檢測早期的DDoS攻擊。
在本系統(tǒng)中,主要包括5個實體間7個信息傳輸和處理過程。
實體ID登記:系統(tǒng)首先為加入到云集群中的每個實體登記一個ID號。實體收集在云集群中由云任務調(diào)度產(chǎn)生的記錄文件,并將這些原始數(shù)據(jù)存儲在云數(shù)據(jù)庫中,同時將這些數(shù)據(jù)進行哈希運算后上傳到區(qū)塊鏈網(wǎng)絡(luò)。
數(shù)據(jù)和命令傳輸:從云集群中收集到的數(shù)據(jù)以{時間,數(shù)據(jù)}格式發(fā)送到控制系統(tǒng),控制系統(tǒng)將該數(shù)據(jù)發(fā)送到云數(shù)據(jù)庫中,同時將該數(shù)據(jù)進行哈希運算后發(fā)送到區(qū)塊鏈網(wǎng)絡(luò)中。之后,控制系統(tǒng)將給云集群發(fā)送一些命令,這些命令也會被轉(zhuǎn)化成{時間,數(shù)據(jù)}格式,記錄在區(qū)塊鏈中。
區(qū)塊產(chǎn)生:從云集群中收集到的數(shù)據(jù)通過控制系統(tǒng)上傳到區(qū)塊鏈網(wǎng)絡(luò),這個過程被稱為交易。交易具有鑒定、追蹤、審計的功能。交易通過時間戳、前一區(qū)塊的哈希值等信息來確認。當證實到一個區(qū)塊生成時,整個區(qū)塊鏈賬本中將加入這個區(qū)塊。
數(shù)據(jù)確認:為了保證在任何時間都能驗證數(shù)據(jù)的一致性,云數(shù)據(jù)庫和區(qū)塊鏈網(wǎng)絡(luò)需要周期性存儲每條記錄信息。然后是比較數(shù)據(jù)庫中記錄數(shù)據(jù)的哈希值和區(qū)塊鏈中數(shù)據(jù)的哈希值是否相同。假如比較結(jié)果不一致,表明云集群中可能出現(xiàn)風險。區(qū)塊鏈網(wǎng)絡(luò)的交易順序以Merkle樹結(jié)構(gòu)的形式進行保存。
數(shù)據(jù)檢查:通過可信數(shù)據(jù)源收集到的數(shù)據(jù),以時間的順序存儲在數(shù)據(jù)庫和區(qū)塊中。當控制系統(tǒng)檢查到異常數(shù)據(jù)時,將根據(jù)具體的檢查結(jié)果做出相應的處置。
1.2 數(shù)據(jù)結(jié)構(gòu)
本文介紹的數(shù)據(jù)結(jié)構(gòu)由{時間,信息}組成,其中信息主要包括以下幾部分:
(1)事件標簽:事件標簽用于標記由實體發(fā)送或接受各類行為的靜態(tài)命令信息。
(2)源地址ID:在云任務調(diào)度中,用于發(fā)送調(diào)度信息實體的ID。
(3)目的地址ID:在云任務調(diào)度中,用于接受調(diào)度信息實體的ID。
2分析總結(jié)
本文模擬仿真部署在Ethernet2.0環(huán)境。在本區(qū)塊鏈平臺中,部署了10個通信節(jié)點的區(qū)塊鏈網(wǎng)絡(luò),使用Truffle框架并修改了其中的智能合約,采用了以太坊基金發(fā)布的JavaScript庫-web3.js。Truffle是一個可進行智能合約開發(fā)的Ethernet開發(fā)框架,我們可以在該框架下進行編譯和部署資源節(jié)點。具體操作如圖2和圖3所示。
試驗起始階段,系統(tǒng)將先創(chuàng)建一個區(qū)塊鏈,之后平均每3秒創(chuàng)建一個區(qū)塊。根據(jù)Merkle樹結(jié)構(gòu)和區(qū)塊鏈的驗證機制產(chǎn)生交易數(shù)據(jù)。
圖4展示了不同大小數(shù)據(jù)包的平均響應時間。該圖展示了不同大小數(shù)據(jù)包的生成時間的差異。
參考文獻
[1] Barbara D.Mobile Computing and Database-A Survey[J]. IEEE Trans on Knowledge & Data Engineering,1999,11(1):108-117.
[2] Zheng Z,Xie S,Dai H,et al. An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends[C].6th IEEE International Congress on Big Data. IEEE,2017:557-564.
[3] 袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動化學報,2016(3):481-494.
[4] 袁勇,倪曉春,曾帥,等.區(qū)塊鏈共識算法的發(fā)展現(xiàn)狀與展望[J].自動化學報,2018,44(11):2011-2022.
[5] Chen T,Gao X,Chen G. The features, hardware, and architectures of data center networks: A survey[J]. Journal of Parallel and Distributed Computing,2016(96):45-74.
[6] Zhu H,Wang Y,Hei X,et al.A Blockchain-Based Decentralized Cloud Resource Scheduling Architecture[C].2018 International Conference on Networking and Network Applications.IEEE Computer Society,2018:51.
作者簡介
趙月(1988-),男,河南民權(quán)人;學歷:本科,職稱:工程師,現(xiàn)就職單位:中國聯(lián)合網(wǎng)絡(luò)通信有限公司河南省分公司,研究方向:信息系統(tǒng)集成、電子與智能化、信息安全服務項目建設(shè)、維護等。
左成章(1986-),男,河南衛(wèi)輝人;學歷:碩士,職稱:工程師,現(xiàn)就職單位:中國聯(lián)合網(wǎng)絡(luò)通信有限公司新鄉(xiāng)市分公司,研究方向:政企客戶網(wǎng)絡(luò)規(guī)劃、建設(shè)、維護等。
楊堅(1991-),男,河南開封人;學歷:碩士,職稱:工程師,現(xiàn)就職單位:中國聯(lián)合網(wǎng)絡(luò)通信有限公司河南省分公司,研究方向:系統(tǒng)集成、電子智能化、信息化項目建設(shè)、維護等。
程濤(1982-),男,河南新鄉(xiāng)人;學歷:學士,職稱:工程師,現(xiàn)就職單位:中國聯(lián)合網(wǎng)絡(luò)通信有限公司新鄉(xiāng)市分公司,研究方向:政企客戶網(wǎng)絡(luò)規(guī)劃、建設(shè)、維護等。
路景剛(1978-),男,河南新鄉(xiāng)人;職稱:工程師,現(xiàn)就職單位:中國聯(lián)合網(wǎng)絡(luò)通信有限公司新鄉(xiāng)市分公司,研究方向:集團客戶網(wǎng)絡(luò)組建、分析、優(yōu)化等。