本發(fā)明涉及網(wǎng)絡技術領域,特別涉及一種業(yè)務處理方法、裝置以及數(shù)據(jù)共享系統(tǒng)。
背景技術:
隨著信息技術的不斷發(fā)展,區(qū)塊鏈作為一項全新的技術得到大力的發(fā)展。區(qū)塊鏈技術脫胎于2008年出現(xiàn)的比特幣技術,是比特幣的底層技術。區(qū)塊鏈是指一串使用密碼學方法相關聯(lián)產(chǎn)生的區(qū)塊,區(qū)塊鏈中每個區(qū)塊中的區(qū)塊數(shù)據(jù)均與上一個區(qū)塊中的區(qū)塊數(shù)據(jù)存在關聯(lián),因此,無法通過篡改區(qū)塊數(shù)據(jù)來進行作弊,能夠確保任何區(qū)塊上的區(qū)塊數(shù)據(jù)均是公開透明的,提高了輸入信息的安全性。
近年來,由于在安全方面的突出表現(xiàn),區(qū)塊鏈技術經(jīng)常被應用于例如金融領域的數(shù)據(jù)服務中。然而,由于區(qū)塊鏈技術尤其獨特的系統(tǒng)架構以及數(shù)據(jù)處理方式,很難與傳統(tǒng)業(yè)務無縫對接,對技術門檻的要求比較高,在適用性上較弱,不利于區(qū)塊鏈技術的推廣和應用,因此,亟需一種業(yè)務處理方法,以提高區(qū)塊鏈技術的普適性高。
技術實現(xiàn)要素:
為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種業(yè)務處理方法、裝置以及數(shù)據(jù)共享系統(tǒng)。所述技術方案如下:
第一方面,提供了一種業(yè)務處理方法,所述方法包括:
接收業(yè)務處理請求,所述業(yè)務處理請求根據(jù)數(shù)據(jù)共享系統(tǒng)提供的表結構生成,所述業(yè)務處理請求攜帶用戶的業(yè)務數(shù)據(jù)和所述用戶對所述業(yè)務數(shù)據(jù)的簽名信息;
從所述業(yè)務處理請求中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息;
生成所述數(shù)據(jù)共享系統(tǒng)的業(yè)務數(shù)據(jù)記錄請求,所述業(yè)務數(shù)據(jù)記錄請求攜帶所述用戶的業(yè)務數(shù)據(jù)以及所述簽名信息;
將所述業(yè)務數(shù)據(jù)記錄請求發(fā)送至所述數(shù)據(jù)共享系統(tǒng)中的至少一個節(jié)點。
在一種可能實現(xiàn)方式中,所述從所述業(yè)務處理請求中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息包括:
識別生成所述業(yè)務處理請求的數(shù)據(jù)庫類型;
根據(jù)所述數(shù)據(jù)庫類型,從數(shù)據(jù)庫類型與表結構的對應關系中,確定生成所述業(yè)務處理請求所采用的表結構;
基于生成所述業(yè)務處理請求所采用的表結構,從所述業(yè)務處理請求的對應字段中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息。
在一種可能實現(xiàn)方式中,所述接收業(yè)務處理請求之前,所述方法還包括:
用戶客戶端獲取所述用戶基于所述表結構所輸入的業(yè)務數(shù)據(jù);
所述用戶客戶端從所述用戶客戶端中獲取所述用戶的私鑰,并采用所述私鑰對所述業(yè)務數(shù)據(jù)進行簽名,得到所述用戶的簽名信息;
將所述業(yè)務數(shù)據(jù)和所述用戶的簽名信息封裝為所述業(yè)務處理請求。
在一種可能實現(xiàn)方式中,所述方法還包括:
當節(jié)點接收到所述業(yè)務數(shù)據(jù)記錄請求時,根據(jù)所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息生成當前區(qū)塊的特征值;
基于所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值,生成所述當前區(qū)塊。
在一種可能實現(xiàn)方式中,所述根據(jù)所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息生成當前區(qū)塊的特征值包括:
將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息分為至少兩部分數(shù)據(jù);
對所述至少兩部分數(shù)據(jù)分別采用不同的哈希算法進行計算,得到所述至少兩部分數(shù)據(jù)的哈希值;
將所述至少兩部分數(shù)據(jù)的哈希值拼接,得到所述當前區(qū)塊的特征值。
在一種可能實現(xiàn)方式中,所述將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息分為至少兩部分數(shù)據(jù)包括:
根據(jù)所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息的數(shù)據(jù)量,確定待分割的份數(shù);
將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息分為所確定的份數(shù)的數(shù)據(jù)。
在一種可能實現(xiàn)方式中,所述基于所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、所述區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值,生成所述當前區(qū)塊包括:
所述節(jié)點采用節(jié)點的私鑰對所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、所述區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值進行簽名,得到所述當前區(qū)塊的簽名信息;
將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、所述區(qū)塊鏈中前一區(qū)塊的特征值、當前區(qū)塊的特征值以及所述當前區(qū)塊的簽名信息對應存儲,生成所述當前區(qū)塊。
在一種可能實現(xiàn)方式中,所述業(yè)務數(shù)據(jù)包括合約數(shù)據(jù),所述合約數(shù)據(jù)包括合約的執(zhí)行條件參數(shù)以及執(zhí)行參數(shù)。
在一種可能實現(xiàn)方式中,所述合約數(shù)據(jù)為包括函數(shù)名和參數(shù)的二進制代碼;或,所述合約數(shù)據(jù)為腳本代碼。
在一種可能實現(xiàn)方式中,所述方法還包括:
如果滿足所述執(zhí)行條件參數(shù),基于所述執(zhí)行參數(shù)執(zhí)行所述合約數(shù)據(jù)所指示的業(yè)務處理。
第二方面,提供了一種業(yè)務處理方法,所述方法還包括:
接收用戶客戶端的業(yè)務處理請求,所述業(yè)務處理請求攜帶業(yè)務數(shù)據(jù)以及所述用戶客戶端的公鑰,所述業(yè)務數(shù)據(jù)包括所述用戶客戶端的地址信息;
根據(jù)所述用戶客戶端的公鑰,生成所述用戶客戶端的校驗地址信息;
如果所述用戶客戶端的校驗地址信息和所述業(yè)務數(shù)據(jù)所包括的地址信息一致,則響應所述業(yè)務處理請求,如果不一致,則攔截所述業(yè)務處理請求。
在一種可能實現(xiàn)方式中,所述根據(jù)所述用戶客戶端的公鑰,生成所述用戶客戶端的校驗地址信息包括:
獲取所述用戶客戶端的公鑰哈希值;
對所述公鑰哈希值進行至少兩次哈希運算,得到所述公鑰哈希值的哈希值;
從所述公鑰哈希值的哈希值中提取前預設位數(shù)的字節(jié)作為校驗碼;
將所述公鑰哈希值和所述校驗碼進行拼接,并對拼接得到的字符串進行符合所述數(shù)據(jù)共享系統(tǒng)所支持的數(shù)據(jù)格式的編碼處理,得到所述用戶客戶端的地址信息。
在一種可能實現(xiàn)方式中,所述將所述公鑰哈希值和所述校驗碼進行拼接包括:
將所述數(shù)據(jù)共享系統(tǒng)的版本信息、所述公鑰哈希值和所述校驗碼進行拼接。
在一種可能實現(xiàn)方式中,所述業(yè)務處理請求還包括簽名信息,所述簽名信息由所述用戶客戶端采用所述用戶客戶端的私鑰對所述業(yè)務數(shù)據(jù)進行簽名得到。
第三方面,提供了一種業(yè)務處理方法,所述方法包括:
獲取業(yè)務數(shù)據(jù);
獲取用戶客戶端的私鑰;
采用所述用戶客戶端的私鑰對所述業(yè)務數(shù)據(jù)進行簽名,得到所述用戶客戶端的簽名信息;
根據(jù)所述用戶客戶端的私鑰生成所述用戶客戶端的公鑰;
將所述業(yè)務數(shù)據(jù)、所述用戶客戶端的簽名信息和所述用戶客戶端的公鑰封裝為業(yè)務處理請求,并向數(shù)據(jù)共享系統(tǒng)發(fā)送所述業(yè)務處理請求。
在一種可能實現(xiàn)方式中,所述獲取用戶客戶端的私鑰包括:
采用非對稱加密算法,生成第一指定位數(shù)的隨機數(shù);
將該第一指定位數(shù)的隨機數(shù)進行位數(shù)擴展,得到第二指定位數(shù)的隨機數(shù)。
在一種可能實現(xiàn)方式中,所述將該第一指定位數(shù)的隨機數(shù)進行位數(shù)擴展,得到第二指定位數(shù)的隨機數(shù)包括:
將兩個該第一指定位數(shù)的隨機數(shù)進行拼接,得到第二指定位數(shù)的隨機數(shù)。
在一種可能實現(xiàn)方式中,所述將兩個所述第一指定位數(shù)的隨機數(shù)進行拼接,得到第二指定位數(shù)的隨機數(shù)包括:
將一個所述第一指定位數(shù)的隨機數(shù)的尾部和另一個所述第一指定位數(shù)的隨機數(shù)的頭部相連,得到所述第二指定位數(shù)的隨機數(shù);或,
將一個所述第一指定位數(shù)的隨機數(shù)中預設位數(shù)的字符與另一個所述第一指定位數(shù)的隨機數(shù)中所述預設位數(shù)的字符插空混合,得到所述第二指定位數(shù)的隨機數(shù);或,
將一個所述第一指定位數(shù)的隨機數(shù)和另一個所述第一指定位數(shù)的隨機數(shù)的字符打亂,得到所述第二指定位數(shù)的隨機數(shù)。
第四方面,還提供了一種業(yè)務處理裝置,該業(yè)務處理裝置包括多個功能模塊,用于執(zhí)行上述第一方面所提供的任一種可能實現(xiàn)方式的具體過程。
第五方面,還提供了一種業(yè)務處理裝置,該業(yè)務處理裝置包括多個功能模塊,用于執(zhí)行上述第二方面所提供的任一種可能實現(xiàn)方式的具體過程。
第六方面,還提供了一種業(yè)務處理裝置,該業(yè)務處理裝置包括多個功能模塊,用于執(zhí)行上述第三方面所提供的任一種可能實現(xiàn)方式的具體過程。
第七方面,提供了一數(shù)據(jù)共享系統(tǒng),所述數(shù)據(jù)共享系統(tǒng)用于為用戶客戶端提供數(shù)據(jù)服務,所述數(shù)據(jù)共享系統(tǒng)包括數(shù)據(jù)共享系統(tǒng)網(wǎng)關和多個節(jié)點;
其中,所述數(shù)據(jù)共享系統(tǒng)網(wǎng)關用于接收業(yè)務處理請求,所述業(yè)務處理請求根據(jù)數(shù)據(jù)共享系統(tǒng)提供的表結構生成,所述業(yè)務處理請求攜帶用戶的業(yè)務數(shù)據(jù)和所述用戶對所述業(yè)務數(shù)據(jù)的簽名信息;從所述業(yè)務處理請求中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息;生成所述數(shù)據(jù)共享系統(tǒng)的業(yè)務數(shù)據(jù)記錄請求,所述業(yè)務數(shù)據(jù)記錄請求攜帶所述用戶的業(yè)務數(shù)據(jù)以及所述簽名信息;將所述業(yè)務數(shù)據(jù)記錄請求發(fā)送至所述數(shù)據(jù)共享系統(tǒng)中的至少一個節(jié)點;
所述多個節(jié)點中的任一個節(jié)點用于基于接收到的業(yè)務數(shù)據(jù)記錄請求提供與所述業(yè)務數(shù)據(jù)記錄請求服務的數(shù)據(jù)服務。
本發(fā)明實施例提供的技術方案帶來的有益效果是:
通過為客戶端提供數(shù)據(jù)共享系統(tǒng)所支持的表結構,使得客戶端能夠基于表結構在數(shù)據(jù)庫中觸發(fā)數(shù)據(jù)庫語句形式的業(yè)務處理請求,從而在數(shù)據(jù)共享系統(tǒng)側接收到這類數(shù)據(jù)庫語句形式的業(yè)務處理請求時,可以實現(xiàn)對業(yè)務處理請求的識別和處理,大大降低了數(shù)據(jù)共享系統(tǒng)的技術門檻,能夠多種現(xiàn)有的數(shù)據(jù)庫業(yè)務系統(tǒng)均可以與數(shù)據(jù)共享系統(tǒng)實現(xiàn)無縫對接,提高了區(qū)塊鏈技術的普適性。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的數(shù)據(jù)共享系統(tǒng)的結構示意圖;
圖2是本發(fā)明實施例提供的一種業(yè)務處理方法的流程圖;
圖3是本發(fā)明實施例提供一種用戶客戶端的界面顯示圖;
圖4是本發(fā)明實施例提供的用戶客戶端以及數(shù)據(jù)共享系統(tǒng)之間的適配關系圖;
圖5是本發(fā)明實施例提供的一種區(qū)塊數(shù)據(jù)內(nèi)容的示意圖;
圖6是本發(fā)明實施例提供的一種業(yè)務處理方法的流程圖;
圖7是本發(fā)明實施例提供的一種企業(yè)客戶端與數(shù)據(jù)共享系統(tǒng)之間的數(shù)據(jù)交互圖;
圖8是本發(fā)明實施例提供的一種地址信息生成方式的示意圖;
圖9是本發(fā)明實施例提供的一種生成原理圖;
圖10是本發(fā)明實施例提供的一種數(shù)據(jù)共享系統(tǒng)的層示意圖;
圖11是本發(fā)明實施例提供的一種數(shù)據(jù)共享系統(tǒng)的功能示意圖;
圖12是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖;
圖13是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖;
圖14是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖;
圖15是本發(fā)明實施例提供的一種終端1500的結構框圖;
圖16是根據(jù)一示例性實施例示出的一種業(yè)務處理裝置1600的框圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
參見圖1所示的數(shù)據(jù)共享系統(tǒng),數(shù)據(jù)共享系統(tǒng)100是指用于進行節(jié)點與節(jié)點之間數(shù)據(jù)共享的系統(tǒng),該數(shù)據(jù)共享系統(tǒng)可以為用戶客戶端提供數(shù)據(jù)服務,所述數(shù)據(jù)共享系統(tǒng)包括數(shù)據(jù)共享系統(tǒng)網(wǎng)關和多個節(jié)點;該數(shù)據(jù)共享系統(tǒng)中可以包括數(shù)據(jù)共享系統(tǒng)網(wǎng)關101和多個節(jié)點102,數(shù)據(jù)共享系統(tǒng)網(wǎng)關101用于進行請求轉換、地址信息校驗等功能,多個節(jié)點102可以是指數(shù)據(jù)共享系統(tǒng)中各個企業(yè)服務器以及金融機構服務器等。其中,所述數(shù)據(jù)共享系統(tǒng)網(wǎng)關101用于接收業(yè)務處理請求,所述業(yè)務處理請求根據(jù)數(shù)據(jù)共享系統(tǒng)提供的表結構生成,所述業(yè)務處理請求攜帶用戶的業(yè)務數(shù)據(jù)和所述用戶對所述業(yè)務數(shù)據(jù)的簽名信息;從所述業(yè)務處理請求中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息;生成所述數(shù)據(jù)共享系統(tǒng)的業(yè)務數(shù)據(jù)記錄請求,所述業(yè)務數(shù)據(jù)記錄請求攜帶所述用戶的業(yè)務數(shù)據(jù)以及所述簽名信息;將所述業(yè)務數(shù)據(jù)記錄請求發(fā)送至所述數(shù)據(jù)共享系統(tǒng)中的至少一個節(jié)點;所述多個節(jié)點中的任一個節(jié)點用于基于接收到的業(yè)務數(shù)據(jù)記錄請求提供數(shù)據(jù)服務,例如寫入共享賬本或是賬戶信息查詢等服務。
每個節(jié)點102在進行正常工作可以接收到用戶客戶端的輸入信息(如業(yè)務數(shù)據(jù)),并基于接收到的輸入信息維護該數(shù)據(jù)共享系統(tǒng)內(nèi)的共享數(shù)據(jù)。為了保證數(shù)據(jù)共享系統(tǒng)內(nèi)的信息互通,數(shù)據(jù)共享系統(tǒng)中的每個節(jié)點之間可以采用任一種通信協(xié)議,以使得節(jié)點之間可以進行信息傳輸。該通信協(xié)議可以包括p2p(peertopeer,點對點)、tcp(transmissioncontrolprotocol傳輸控制協(xié)議)、udp(userdatagramprotocol,用戶數(shù)據(jù)報協(xié)議)以及多播形式。當數(shù)據(jù)共享系統(tǒng)中的任意節(jié)點接收到輸入信息時,數(shù)據(jù)共享系統(tǒng)中的其他節(jié)點便根據(jù)共識算法獲取該輸入信息,將該輸入信息作為共享數(shù)據(jù)中的數(shù)據(jù)進行存儲,使得數(shù)據(jù)共享系統(tǒng)中全部節(jié)點上存儲的數(shù)據(jù)均一致。其中,數(shù)據(jù)共享系統(tǒng)可為交易系統(tǒng),交易系統(tǒng)指用于金融交易的系統(tǒng)。交易系統(tǒng)中可以包括多個節(jié)點,每個節(jié)點在進行交易時生成賬本數(shù)據(jù),并基于賬本數(shù)據(jù)維護該交易系統(tǒng)內(nèi)的共享賬本。
現(xiàn)有數(shù)據(jù)共享系統(tǒng),還存在一定的缺陷,例如:
1、由于區(qū)塊鏈技術尤其獨特的系統(tǒng)架構以及數(shù)據(jù)處理方式,很難與傳統(tǒng)業(yè)務無縫對接,傳統(tǒng)的數(shù)據(jù)庫業(yè)務,對技術門檻的要求比較高,在適用性上較弱,不利于區(qū)塊鏈技術的推廣和應用。
2、現(xiàn)有的數(shù)據(jù)共享系統(tǒng)一般采用的密鑰強度較低,例如,bitcoin(比特幣系統(tǒng))采用單純256bits的隨機數(shù),單純采用sha256摘要算法,將來有可能存在被破解可逆的風險。
3、智能合約的安全性與靈活性不兼?zhèn)洹,F(xiàn)有的智能合約技術存在很多安全問題,而比特幣機制所提供的圖靈不完備,其語言不具備多種業(yè)務場景使用的靈活性。
針對上述缺陷,本發(fā)明實施例提供了相應解決方式,下面基于不同側面對相應解決方式進行介紹。
本發(fā)明實施例提供了一種業(yè)務處理方法,用以降低數(shù)據(jù)共享系統(tǒng)的技術門檻,能夠多種現(xiàn)有的數(shù)據(jù)庫業(yè)務系統(tǒng)均可以與數(shù)據(jù)共享系統(tǒng)實現(xiàn)無縫對接,提高了區(qū)塊鏈技術的普適性,參見圖2,以用戶客戶端以及數(shù)據(jù)共享系統(tǒng)為交互主體為例對該業(yè)務處理方法進行說明:
在步驟201中,用戶客戶端獲取業(yè)務處理請求,該業(yè)務處理請求根據(jù)數(shù)據(jù)共享系統(tǒng)提供的表結構生成,該業(yè)務處理請求攜帶用戶的業(yè)務數(shù)據(jù)和該用戶對該業(yè)務數(shù)據(jù)的簽名信息。
用戶客戶端為事先已經(jīng)注冊于數(shù)據(jù)共享系統(tǒng)的用戶所使用的客戶端,用戶可以通過該用戶客戶端與數(shù)據(jù)共享系統(tǒng)進行業(yè)務處理。對于該用戶客戶端來說,在為用戶呈現(xiàn)業(yè)務處理界面時,可以在業(yè)務處理界面中顯示由數(shù)據(jù)共享系統(tǒng)提供的表結構,使得用戶客戶端能夠基于該表結構獲取業(yè)務處理請求。其中,表結構是指數(shù)據(jù)庫中的表的名稱、具有哪些字段以及哪些字段是主鍵等用于進行數(shù)據(jù)查詢和數(shù)據(jù)插入等業(yè)務處理時的主要信息。
需要說明的是,該構造業(yè)務處理請求的過程可以是由用戶直接按照表結構輸入業(yè)務處理請求的數(shù)據(jù)庫語句并由用戶客戶端向語句中添加簽名信息,也可以是由用戶客戶端基于用戶所輸入的業(yè)務數(shù)據(jù)等來生成語句,并向語句中添加業(yè)務數(shù)據(jù)的簽名信息。其具體過程可以包括:用戶客戶端獲取該用戶的業(yè)務數(shù)據(jù);該用戶客戶端從用戶客戶端中獲取該用戶的私鑰,并采用該私鑰對該業(yè)務數(shù)據(jù)進行簽名,得到該用戶的簽名信息;將該業(yè)務數(shù)據(jù)和該用戶的簽名信息封裝為該業(yè)務處理請求。其中,用戶所輸入的業(yè)務數(shù)據(jù)后續(xù)會被存儲于數(shù)據(jù)共享系統(tǒng)所生成區(qū)塊的信息字段內(nèi)。其中,業(yè)務數(shù)據(jù)可以是指用戶的交易信息,例如,該業(yè)務數(shù)據(jù)可以包括轉出方地址信息,轉入方地址信息以及交易金額。
另一點需要說明的是,用戶客戶端在進行簽名時,可以基于不同業(yè)務處理請求所對應的業(yè)務類型,來選擇業(yè)務數(shù)據(jù)中的不同長度的數(shù)據(jù)進行簽名,例如,有些業(yè)務處理請求的數(shù)據(jù)庫語句本身較長,則可以獲取較短的一段業(yè)務數(shù)據(jù)進行簽名,而一些業(yè)務處理請求的數(shù)據(jù)庫語句本身較短,則可以獲取較長的一段業(yè)務數(shù)據(jù)進行簽名,從而做到針對不同業(yè)務級別的簽名。對普通sql語句自動做業(yè)務級別簽名。
例如,以用戶客戶端所使用的數(shù)據(jù)庫系統(tǒng)為mysql,而數(shù)據(jù)共享系統(tǒng)被命名為trustsql為例,trustsql網(wǎng)關(即接入層(api))適配mysql,開發(fā)人員可以通過mysql自帶驅動連接trustsql以加入該數(shù)據(jù)共享系統(tǒng),對于開發(fā)人員來說,其所進行的操作與平時操作mysql并無區(qū)別,trustsql底層的協(xié)議對該用戶客戶端來說不可見,trustsql為該用戶客戶端提供固定的表結構可支持在數(shù)據(jù)共享系統(tǒng)的區(qū)塊的info字段進行insert、select賬戶等操作。
用戶客戶端所獲取到的sql語句可以為:
insertintot_transactionset//該語句的功能在于向共享賬本中加入交易信息
from_address='1h3ktznx6xtxkc4ck31r4gzjpjwalhvgvj',//轉出方地址信息
to_address="1mzljfbpgxtgwsxzjehfkgwatf93cstdca",//轉入方地址信息
amount=100,//交易金額為100
sign='meqcihoksbcx9kt0gjojkie2hlodcghetqalcfx7dmzxapdjaib9t6e1q8mcmqavyybndwuqrvaol6/oo7yegqr5jgby5g',//交易信息的簽名
publickey='bhsgdffue8p0fq5+ge1ao5xaj8su5b8upatwo9znxifuk9+6t4l5rvxhxrwu7t83zek7eytyap6ey1lwl2qc/ro';//交易信息的公鑰
其中,sign是根據(jù)橢圓曲線簽名算法算出;
sign=ecdsa(private_key,(from_address+to_address+amount)),
其中,private_key為用戶持有的私鑰,“from_address+to_address+amount”為交易信息,由于私鑰是由用戶客戶端生成以及保存,因此,該簽名信息可以防止用戶的業(yè)務數(shù)據(jù)被篡改。該私鑰的具體生成過程可以參見下述密鑰管理部分的詳述。
如果發(fā)生黑客登錄數(shù)據(jù)庫篡改,數(shù)據(jù)共享系統(tǒng)可以基于查詢請求中所攜帶的簽名信息與相應區(qū)塊中所存儲的簽名信息進行比較,一旦查詢確定兩次簽名信息不一致,則說明數(shù)據(jù)被篡改過,并可以通過區(qū)塊特征值來確定是哪部分業(yè)務數(shù)據(jù)被篡改,從而將該篡改以錯誤碼形式返回給使用者。
需要說明的是,對于用戶客戶端來說,在與數(shù)據(jù)共享系統(tǒng)適配后,可以屏蔽其他業(yè)務表,只暴露該數(shù)據(jù)共享系統(tǒng)中的區(qū)塊鏈表。例如,以用戶客戶端所使用的數(shù)據(jù)庫系統(tǒng)為mysql為例,在登錄用戶客戶端后,其mysql的顯示界面可以從原有表的顯示(如圖3中上圖所示)更改為區(qū)塊鏈表(如圖3中下圖所示)。
在步驟202中,該用戶客戶端向數(shù)據(jù)共享系統(tǒng)發(fā)送該業(yè)務處理請求。
用戶客戶端可以通過與數(shù)據(jù)共享系統(tǒng)之間的連接向數(shù)據(jù)共享系統(tǒng)發(fā)送該業(yè)務請求,該發(fā)送可以基于事先的系統(tǒng)適配來實現(xiàn),使得用戶客戶端可以通過客戶端的數(shù)據(jù)庫驅動來向該數(shù)據(jù)共享系統(tǒng)發(fā)送業(yè)務處理請求。
在步驟203中,當數(shù)據(jù)共享系統(tǒng)接收到業(yè)務處理請求時,從該業(yè)務處理請求中提取該用戶的業(yè)務數(shù)據(jù)和該簽名信息。
在本發(fā)明實施例中,該數(shù)據(jù)共享系統(tǒng)可以具有數(shù)據(jù)共享系統(tǒng)網(wǎng)關,用于隔離外部網(wǎng)絡和系統(tǒng)內(nèi)部的節(jié)點,使得對于外部網(wǎng)絡用戶來說,系統(tǒng)內(nèi)部的節(jié)點對于他們并不透明,不會被外部網(wǎng)絡用戶感知,至于具體采用什么數(shù)據(jù)協(xié)議也無需被外部網(wǎng)絡用戶所獲知。而數(shù)據(jù)共享系統(tǒng)網(wǎng)關可以用于接收該業(yè)務處理請求,并進行將業(yè)務處理請求轉換為業(yè)務數(shù)據(jù)記錄請求的步驟。
由于事先已經(jīng)做過了用戶客戶端與數(shù)據(jù)共享系統(tǒng)之間的適配,因此,數(shù)據(jù)共享系統(tǒng)的網(wǎng)關可以在接收到業(yè)務處理請求后,將業(yè)務處理請求中的關鍵數(shù)據(jù)提取出來。當然,由于數(shù)據(jù)共享系統(tǒng)可以支持多個不同的數(shù)據(jù)庫類型,則該步驟203也可以包括下述過程:識別生成該業(yè)務處理請求的數(shù)據(jù)庫類型;根據(jù)該數(shù)據(jù)庫類型,從數(shù)據(jù)庫類型與表結構的對應關系中,確定生成該業(yè)務處理請求所采用的表結構;基于生成該業(yè)務處理請求所采用的表結構,從該業(yè)務處理請求的對應字段中提取該用戶的業(yè)務數(shù)據(jù)和該簽名信息。由于不同數(shù)據(jù)庫類型所對應的數(shù)據(jù)庫語句可能有所差別,因此,可以為其提供不同的表結構來生成業(yè)務處理請求,因此,在提取過程中也要先識別出到底是由哪種數(shù)據(jù)庫類型生成的業(yè)務處理請求,才能做到準確的提取。當然,對于不同的數(shù)據(jù)庫類型,還可以提供相同的表結構,但是仍需知道表結構在不同數(shù)據(jù)庫類型中的含義,也即是獲知生成業(yè)務處理請求的數(shù)據(jù)庫類型,以實現(xiàn)有效的識別。如圖4所示,數(shù)據(jù)共享系統(tǒng)所支持的數(shù)據(jù)庫類型包括:oracle、mysql、sqlserver、redis、memcche以及file等數(shù)據(jù)庫類型,本發(fā)明實施例對此不作具體限定。
由于在數(shù)據(jù)共享系統(tǒng)中,一旦增加了支持哪個數(shù)據(jù)庫類型的用戶系統(tǒng),則可以直接在數(shù)據(jù)共享系統(tǒng)中與數(shù)據(jù)庫協(xié)議進行適配,也即是在數(shù)據(jù)共享系統(tǒng)網(wǎng)關上設置針對該數(shù)據(jù)庫類型的表結構以及提取方式,而無需修改數(shù)據(jù)共享系統(tǒng)內(nèi)部已有的數(shù)據(jù)協(xié)議等,而對于用戶系統(tǒng)側來說,由于無需在用戶系統(tǒng)側和數(shù)據(jù)共享系統(tǒng)內(nèi)部隔離,用戶系統(tǒng)側只需獲知數(shù)據(jù)共享系統(tǒng)提供的表結構,即可以基于該表結構通過自身已有的數(shù)據(jù)庫驅動來生成業(yè)務處理請求,以在數(shù)據(jù)共享系統(tǒng)中進行共享賬本的寫入(insert)、選擇(select)賬戶進行操作等。
以上述sql語句為例,可以提取出:
insertintot_transactionset
from_address='1h3ktznx6xtxkc4ck31r4gzjpjwalhvgvj',
to_address="1mzljfbpgxtgwsxzjehfkgwatf93cstdca",
amount=100,//以上為業(yè)務數(shù)據(jù)
sign='meqcihoksbcx9kt0gjojkie2hlodcghetqalcfx7dmzxapdjaib9t6e1q8mcmqavyybndwuqrvaol6/oo7yegqr5jgby5g',//簽名信息
publickey='bhsgdffue8p0fq5+ge1ao5xaj8su5b8upatwo9znxifuk9+6t4l5rvxhxrwu7t83zek7eytyap6ey1lwl2qc/ro';//公鑰
進一步地,當數(shù)據(jù)共享系統(tǒng)接收到業(yè)務處理請求時,可以根據(jù)業(yè)務處理請求所攜帶的用戶客戶端的公鑰,生成該用戶客戶端的校驗地址信息;如果該用戶客戶端的校驗地址信息和該業(yè)務數(shù)據(jù)所包括的地址信息一致,則響應該業(yè)務處理請求,執(zhí)行步驟203以及后續(xù)步驟,如果不一致,則攔截該業(yè)務處理請求,不再執(zhí)行后續(xù)步驟,進一步地,還可以提醒用戶客戶端當前業(yè)務處理請求遭到篡改。其中具體生成用戶客戶端的校驗地址信息的過程在后續(xù)密鑰管理部分進行詳述,在這里不做贅述。
在步驟204中,該數(shù)據(jù)共享系統(tǒng)生成該數(shù)據(jù)共享系統(tǒng)的業(yè)務數(shù)據(jù)記錄請求,該業(yè)務數(shù)據(jù)記錄請求攜帶該用戶的業(yè)務數(shù)據(jù)以及該簽名信息。
數(shù)據(jù)共享系統(tǒng)基于上述提取得到的用戶的業(yè)務數(shù)據(jù)以及該簽名信息,按照數(shù)據(jù)共享系統(tǒng)所支持的請求格式,重新生成一條業(yè)務數(shù)據(jù)記錄請求,以便在數(shù)據(jù)共享系統(tǒng)內(nèi)部實現(xiàn)數(shù)據(jù)處理。該過程可以看做是對業(yè)務處理請求的格式轉化,以便使得數(shù)據(jù)庫語句能夠被數(shù)據(jù)共享系統(tǒng)所識別并進行處理。通過這種格式轉化,使得數(shù)據(jù)共享系統(tǒng)的適用性大大增強,降低了技術門檻。
在步驟205中,該數(shù)據(jù)共享系統(tǒng)將該業(yè)務數(shù)據(jù)記錄請求發(fā)送至該數(shù)據(jù)共享系統(tǒng)中的至少一個節(jié)點。
該業(yè)務數(shù)據(jù)記錄請求可以在數(shù)據(jù)共享系統(tǒng)中進行全局發(fā)送,也即是,由數(shù)據(jù)共享系統(tǒng)網(wǎng)關將該業(yè)務數(shù)據(jù)記錄請求廣播至數(shù)據(jù)共享系統(tǒng)中的各個節(jié)點,也可以由數(shù)據(jù)共享系統(tǒng)網(wǎng)關將該區(qū)塊鏈接入請求廣播至數(shù)據(jù)共享系統(tǒng)的關鍵節(jié)點或是交易節(jié)點,而不是全部節(jié)點,再由這些節(jié)點進行進一步廣播,本發(fā)明實施例對具體發(fā)送至哪些節(jié)點不做限定。
在步驟206中,當節(jié)點接收到該業(yè)務數(shù)據(jù)記錄請求時,根據(jù)該用戶的業(yè)務數(shù)據(jù)、該簽名信息生成當前區(qū)塊的特征值。
當節(jié)點接收到業(yè)務數(shù)據(jù)記錄請求時,則可以獲取父區(qū)塊的區(qū)塊特征值,父區(qū)塊為與當前區(qū)塊相關聯(lián)的上一個區(qū)塊,區(qū)塊鏈中的每個區(qū)塊的區(qū)塊數(shù)據(jù)均包括輸入信息(也即是業(yè)務數(shù)據(jù))、簽名信息、父區(qū)塊的區(qū)塊頭特征值、輸入信息特征值、版本號、時間戳和難度值等。在生成區(qū)塊時,需要根據(jù)上述信息進行特征值計算,計算當前區(qū)塊的區(qū)塊特征值。
而為了增加破解的難度,在生成當前區(qū)塊的特征值時,可以采用多種哈希算法進行并聯(lián)計算,例如,可以將該用戶的業(yè)務數(shù)據(jù)、該簽名信息等用于生成特征值的信息分為至少兩部分數(shù)據(jù);對該至少兩部分數(shù)據(jù)分別采用不同的哈希算法進行計算,得到該至少兩部分數(shù)據(jù)的哈希值;將該至少兩部分數(shù)據(jù)的哈希值拼接,得到該當前區(qū)塊的特征值。例如,該不同的哈希算法可以包括sha256算法、sm3算法等。
其中,該將該用戶的業(yè)務數(shù)據(jù)、該簽名信息分為至少兩部分數(shù)據(jù)包括:根據(jù)該用戶的業(yè)務數(shù)據(jù)、該簽名信息的數(shù)據(jù)量,確定待分割的份數(shù);將該用戶的業(yè)務數(shù)據(jù)、該簽名信息分為所確定的份數(shù)的數(shù)據(jù)??蛇x地,可以將用于生成特征值的信息均分為兩部分,例如256bits的數(shù)據(jù)分割為2份,前128bits采用sha256算法,后128bits采用sm3算法。當然也可以采用三種不同算法,也即是,將用于生成特征值的信息均分為三部分,不同部分采用不同算法,或者相鄰部分采用不同算法,本發(fā)明實施例對此不做具體限定。并聯(lián)算法后的特征值更具不可逆性,大大提高了安全性。且還可以根據(jù)數(shù)據(jù)共享系統(tǒng)的算法設置,隨時變更生成特征值所采用的算法,以在被破解的情況下,及時起到救濟的作用。
在步驟207中,該節(jié)點基于該用戶的業(yè)務數(shù)據(jù)、該簽名信息、該區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值,生成該當前區(qū)塊。
需要說明的是,上述校驗通過可以是指數(shù)據(jù)共享系統(tǒng)中的多個節(jié)點采用共識算法確定可以將本次業(yè)務數(shù)據(jù)加入?yún)^(qū)塊鏈,其具體算法在此處不做介紹,任一種能夠實現(xiàn)上述目的從而解決拜占庭問題的算法均可以在此處采用。
進一步地,在步驟207的基礎上,還可以由節(jié)點基于節(jié)點自身的私鑰對區(qū)塊內(nèi)待存儲的信息進行再次簽名,以達到在業(yè)務數(shù)據(jù)的簽名信息的一層防篡改的基礎上,第二層防篡改的機制,能夠大大提高安全性。也即是,該步驟207可以包括:該節(jié)點采用節(jié)點的私鑰對該用戶的業(yè)務數(shù)據(jù)、該簽名信息、該區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值進行簽名,得到該當前區(qū)塊的簽名信息;將該用戶的業(yè)務數(shù)據(jù)、該簽名信息、該區(qū)塊鏈中前一區(qū)塊的特征值、當前區(qū)塊的特征值以及該當前區(qū)塊的簽名信息對應存儲,生成該當前區(qū)塊。參見圖5圖中的node_sign即是指當前區(qū)塊的簽名信息。node_sign由于記錄了該節(jié)點使用自己的私鑰簽名本條數(shù)據(jù)的摘要,可以防止節(jié)點被攻破后篡改本地數(shù)據(jù)。圖5中的index屬性標識了每條業(yè)務數(shù)據(jù)的順序,從1開始,依次遞增,如果出現(xiàn)問題節(jié)點(也即是區(qū)塊內(nèi)的數(shù)據(jù)出現(xiàn)錯誤的節(jié)點),可按照index編號重新獲取其他節(jié)點的正確數(shù)據(jù)修復自己,新加入節(jié)點同樣可以按照某個index上做的快照,拉取最近的快照數(shù)據(jù),與增量的記錄,來最快速度追上現(xiàn)有節(jié)點的數(shù)據(jù)。而pre-hash是指父區(qū)塊的區(qū)塊特征值,hash是指當前區(qū)塊的區(qū)塊特征值。
針對現(xiàn)有的數(shù)據(jù)共享系統(tǒng)的密鑰強度較低的問題,本發(fā)明實施例提供了一種管理服務,其中包括密鑰管理方法,可以通過可擴展的密鑰位數(shù)和/或可擴展的多種高強度哈希算法并聯(lián),以避免由于單一算法而被破解的風險。該密鑰管理方法可以是針對數(shù)據(jù)共享系統(tǒng)的用戶。用戶是指通過數(shù)據(jù)共享系統(tǒng)進行業(yè)務處理的用戶,可以為個人用戶或企業(yè)用戶。為了便于描述,在下文中將這類用戶所使用的客戶端稱為用戶客戶端,為了能夠使用數(shù)據(jù)共享系統(tǒng)所提供的服務,用戶客戶端需要在數(shù)據(jù)共享系統(tǒng)中進行注冊,參見圖6,下述步驟601至610為該注冊過程以及注冊成功后的業(yè)務處理過程。
在步驟601中,用戶客戶端向數(shù)據(jù)共享系統(tǒng)發(fā)送注冊請求。
該注冊請求可以用于注冊數(shù)據(jù)共享系統(tǒng),以進行業(yè)務處理。作為個人用戶的用戶客戶端可以通過提供個人身份信息等基礎信息,即可以進行注冊行為。
在步驟602中,數(shù)據(jù)共享系統(tǒng)在接收到該注冊請求時,為用戶客戶端進行注冊,并在注冊成功時為用戶客戶端提供密鑰生成工具。
其中,該密鑰生成工具用于指示在用戶客戶端生成密鑰時采用的算法,例如在生成私鑰時所采用的算法、在生成公鑰時所采用的算法以及在生成地址信息時所采用的算法。
另外,對于一般用戶來說,其注冊請求可以僅攜帶一些注冊必要信息,例如個人身份信息等,而對于企業(yè)用戶來說,為了在提交注冊請求時,還需提交相應的企業(yè)身份信息等資料,以便數(shù)據(jù)共享系統(tǒng)對其信息進行審核,在審核通過時,才能夠為其進行注冊。例如,以圖7為例,由企業(yè)提交資料進行注冊,經(jīng)過審核后,向企業(yè)客戶端返回密鑰生成工具,而在企業(yè)客戶端基于該密鑰生成工具生成了公鑰和地址信息后,數(shù)據(jù)共享系統(tǒng)的密鑰管理服務可以記錄企業(yè)的公鑰、地址信息與企業(yè)身份的對應信息。公鑰是可以公開的,每條業(yè)務處理請求可以攜帶企業(yè)客戶端的簽名信息和公鑰,以便標識一個人的身份。另外,企業(yè)客戶端可以進行基于公鑰的賬戶信息查詢,由數(shù)據(jù)共享系統(tǒng)根據(jù)公鑰查詢該企業(yè)客戶端所有對應的地址信息,并獲取各個地址信息以返回賬戶信息。該賬戶信息實際上是指該企業(yè)客戶端的地址信息所對應的賬戶余額等信息。當然,還可以基于公鑰進行其他業(yè)務處理請求,本發(fā)明實施例對此不做具體限定。
在步驟603中,用戶客戶端基于密鑰生成工具,生成用戶客戶端的私鑰。
對于用戶客戶端來說,其私鑰由該用戶客戶端基于數(shù)據(jù)共享系統(tǒng)的密鑰生成工具自行生成,例如,采用非對稱加密算法,生成第一指定位數(shù)的隨機數(shù);將該第一指定位數(shù)的隨機數(shù)進行位數(shù)擴展,得到第二指定位數(shù)的隨機數(shù),將該第二指定位數(shù)的隨機數(shù)作為該用戶客戶端的私鑰。其中,該位數(shù)擴展可以是成整數(shù)倍的擴展,如將256bits的隨機數(shù)擴展為512bits的隨機數(shù)。具體的位數(shù)擴展方式可以是基于該已獲取到的隨機數(shù)本身的字符進行,例如,將兩個該第一指定位數(shù)的隨機數(shù)進行拼接,得到第二指定位數(shù)的隨機數(shù)。在這里,主要介紹三種拼接方式:
(1)將一個該第一指定位數(shù)的隨機數(shù)的尾部和另一個該第一指定位數(shù)的隨機數(shù)的頭部相連,得到該第二指定位數(shù)的隨機數(shù)。
這種收尾拼接的方式,使得同一個隨機數(shù)重復了兩次,這種拼接方式較簡單,計算量小,可以避免對計算資源的過度占用。例如,對于隨機數(shù)abc來說,可以將其擴展為abcabc。
(2)將一個該第一指定位數(shù)的隨機數(shù)中預設位數(shù)的字符與另一個該第一指定位數(shù)的隨機數(shù)中該預設位數(shù)的字符插空混合,得到該第二指定位數(shù)的隨機數(shù)。
這種插空混合實際上是對隨機數(shù)進行錯位交叉,這種拼接方式也較為簡單,計算量小,僅需將其中一個隨機數(shù)向后錯位并與另一個隨機數(shù)合并即可。例如,對于隨機數(shù)abcde來說,可以將一個abcde向后錯兩位,如下述形式:
abcde
abcde
通過對上述錯位后的隨機數(shù)進行插空混合后,得到abcadbecde。
(3)將一個該第一指定位數(shù)的隨機數(shù)和另一個該第一指定位數(shù)的隨機數(shù)的字符打亂,得到該第二指定位數(shù)的隨機數(shù)。這種隨機打亂的方式由于是隨機進行的,因此,其不可逆性最為穩(wěn)定,使得基于這種私鑰所生成的公鑰的安全性更高。
通過上述位數(shù)擴展所得到的私鑰,以初始采用算法所生成的隨機數(shù)為256bits的算法強度為例,如果所設計的可擴展的密鑰長度,最大支持到512bits,則按照目前的量子計算機計算速度,假設某超級計算機1秒能暴力嘗試10億個密碼,破解15位需要243億年,破解難度足夠保證密鑰的安全性。當然,除了上述介紹的幾種拼接方式以外,還可以有其他拼接方式,這里不做過多贅述,需知只要能將數(shù)字打混的拼接方式均適用于本發(fā)明中。
在步驟604中,該用戶客戶端基于用戶客戶端的私鑰和密鑰生成工具,生成該用戶客戶端的公鑰,并將該用戶客戶端的公鑰發(fā)送至數(shù)據(jù)共享系統(tǒng)。
其中,生成該用戶客戶端的公鑰包括:根據(jù)該用戶客戶端的私鑰和密鑰生成工具所指示的用于生成公鑰的算法,生成該用戶客戶端的公鑰。例如,如果密鑰生成工具所指示的用于生成公鑰的算法為哈希運算,則可以根據(jù)該哈希運算的具體算法對私鑰進行計算,以得到公鑰。例如,如果該哈希運算的具體算法為seco256k1(橢圓曲線算法),則基于該算法得到用戶客戶端的公鑰。
在數(shù)據(jù)共享系統(tǒng)中,可以采用用戶客戶端的公鑰來代表用戶客戶端的位移身份,因此,還可以將該公鑰發(fā)送至數(shù)據(jù)共享系統(tǒng),使其基于多個用戶客戶端的公鑰生成公鑰列表,并廣播至各個節(jié)點,以使得各個節(jié)點能夠在進行業(yè)務處理時對業(yè)務處理請求進行校驗,當接收到任一業(yè)務處理請求時,先查詢該公鑰列表中是否包括該業(yè)務處理請求所攜帶的公鑰,如果包括,則可以對該業(yè)務處理請求進行下一步處理,例如對簽名信息的校驗等等。
在步驟605中,該用戶客戶端獲取業(yè)務數(shù)據(jù),并獲取用戶客戶端的私鑰。
該獲取業(yè)務數(shù)據(jù)和私鑰的過程與上述步驟201中所描述的過程同理,在此不做贅述。
在步驟606中,該用戶客戶端采用該用戶客戶端的私鑰對該業(yè)務數(shù)據(jù)進行簽名,得到該用戶客戶端的簽名信息。
該得到簽名信息的具體過程也可以與步驟201中的簽名信息生成過程同理,在此不做贅述。
在步驟607中,該用戶客戶端根據(jù)該用戶客戶端的私鑰生成該用戶客戶端的公鑰。
該步驟607是指實時生成公鑰的過程,在實際實現(xiàn)中,該公鑰也可以是事先生成并存儲于用戶客戶端,以供在有業(yè)務需求時從存儲器中提取并使用,而無需實時生成,以降低實際運行中所需的計算資源。
在步驟608中,該用戶客戶端將該業(yè)務數(shù)據(jù)、該用戶客戶端的簽名信息和該用戶客戶端的公鑰封裝為業(yè)務處理請求,并向數(shù)據(jù)共享系統(tǒng)發(fā)送該業(yè)務處理請求。
該步驟608的過程與步驟201中的業(yè)務處理請求生成過程同理,在此不做贅述。
在步驟609中,該數(shù)據(jù)共享系統(tǒng)在接收用戶客戶端的業(yè)務處理請求后,根據(jù)該用戶客戶端的公鑰,生成該用戶客戶端的校驗地址信息,該業(yè)務處理請求攜帶業(yè)務數(shù)據(jù)以及該用戶客戶端的公鑰,該業(yè)務數(shù)據(jù)包括該用戶客戶端的地址信息。
其中,根據(jù)該用戶客戶端的公鑰,生成該用戶客戶端的校驗地址信息的具體過程可以包括:獲取該用戶客戶端的公鑰哈希值;對該公鑰哈希值進行至少兩次哈希運算,得到該公鑰哈希值的哈希值;從該公鑰哈希值的哈希值中提取前預設位數(shù)的字節(jié)作為校驗碼;將該公鑰哈希值和該校驗碼進行拼接,并對拼接得到的字符串進行符合該數(shù)據(jù)共享系統(tǒng)所支持的數(shù)據(jù)格式的編碼處理,得到該用戶客戶端的地址信息。進一步地,在拼接時,還可以加入用于表示系統(tǒng)版本的版本信息,也即是,將該數(shù)據(jù)共享系統(tǒng)的版本信息、該公鑰哈希值和該校驗碼進行拼接。
例如,參見圖8,該公鑰的生成過程包括:用戶客戶端基于隨機數(shù)算法(random(256)bits)生成私鑰,再對該私鑰進行seco256k1運算,以得到公鑰,數(shù)據(jù)共享系統(tǒng)基于公鑰采用sha256進行一次哈希運算,再基于得到的哈希值再次基于ripemd160進行一次哈希運算,得到公鑰哈希值,再對公鑰哈希值采用國密sm3進行兩次哈希運算,以得到一個用于校驗的字符串,并獲取該字符串的前四位為校驗碼,進而將版本信息、公鑰哈希值以及校驗碼進行拼接,再將拼接得到的字符串進行base58算法運算,以得到用戶客戶端的地址信息。
參見圖9可知,地址信息的生成實際上是通過私鑰—公鑰—公鑰哈希值—地址信息這個流向進行,在該生成過程中,經(jīng)歷了多次不可逆運算,并且通過多次不可逆運算大大降低了最終地址信息的數(shù)據(jù)長度,進而進一步增加了地址信息的不可逆性,使得無法基于地址信息倒推出公鑰,也即無法倒推出用戶客戶端的私鑰,由于私鑰是進行業(yè)務處理的必要信息,因此保障了用戶的財產(chǎn)安全。
該地址信息事實上就代表了該用戶客戶端在數(shù)據(jù)共享系統(tǒng)中的賬號,用戶客戶端可以通過該地址信息與其他用戶客戶端或是服務器進行業(yè)務處理,例如轉賬、認購等等交易行為。當然,為了進一步提高安全性,還可以在上述步驟中采用算法插拔設計,可在必要的場景切換為國密體系,例如,參見圖8,生成私鑰時可以將當前采用的seko256k1(橢圓曲線算法)替換成國密sm2算法,在對公鑰進行哈希運算時可以將當前采用的sha256算法替換成國密sm3算法,而在生成校驗碼的時候,可以將當前采用的sha256算法替換成國密sm3算法。
在步驟610中,如果該用戶客戶端的校驗地址信息和該業(yè)務數(shù)據(jù)所包括的地址信息一致,則響應該業(yè)務處理請求,如果不一致,則攔截該業(yè)務處理請求。
在此具體如何對業(yè)務處理請求進行響應的過程在此不做贅述,具體可以參照上述圖2所示實施例中的節(jié)點側處理過程。
而針對智能合約的安全性與靈活性問題,本發(fā)明實施例的業(yè)務處理請求中所攜帶的業(yè)務數(shù)據(jù)可以包括合約數(shù)據(jù),所述合約數(shù)據(jù)包括合約的執(zhí)行條件參數(shù)以及執(zhí)行參數(shù)。其中,合約的執(zhí)行條件參數(shù)是指要執(zhí)行該合約需要滿足哪些條件,例如合約到期或是付款已到賬等。而對于私有鏈和聯(lián)盟鏈來說,由于存在不同的問題,例如,在完全受控的私有鏈里,通過在業(yè)務數(shù)據(jù)里直接植入函數(shù)名和參數(shù)的二進制代碼,以形成合約調(diào)用,當調(diào)用方把智能合約流水寫入鏈上時,其他節(jié)點會同步二進制代碼,最后基于執(zhí)行結果一起做共識,來完成一次智能合約調(diào)用。在不完全受控的聯(lián)盟鏈里,通過在業(yè)務數(shù)據(jù)里植入編寫好的腳本代碼,以堆棧語言執(zhí)行的規(guī)則執(zhí)行非圖靈完備的腳本代碼,通過限制腳本長度做到防止死循環(huán)。如果滿足所述執(zhí)行條件參數(shù),基于所述執(zhí)行參數(shù)執(zhí)行所述合約數(shù)據(jù)所指示的業(yè)務處理。
例如,如果你從網(wǎng)上買了某物,你可能不想立即付款,想等到賣家發(fā)貨后再付款。所以你可以很容易地創(chuàng)建一個智能合約,并將智能合約的相關數(shù)據(jù)承載在業(yè)務處理請求中發(fā)至數(shù)據(jù)共享系統(tǒng),使得數(shù)據(jù)共享系統(tǒng)能夠將該智能合約加入?yún)^(qū)塊鏈,而智能合約的內(nèi)容是只要聯(lián)邦快遞的數(shù)據(jù)表示商品已經(jīng)發(fā)往目的地址,即將貨款轉給賣家。則當檢測到符合上述條件,即可執(zhí)行將貨款轉給賣家的業(yè)務處理。
本發(fā)明實施例所提供的數(shù)據(jù)共享系統(tǒng),數(shù)據(jù)共享系統(tǒng)中可以包括接入層適配插件,該接入層適配插件實際上可以用于進行業(yè)務處理請求的格式轉換,以使得該數(shù)據(jù)共享系統(tǒng)能夠適用于采用不同數(shù)據(jù)庫協(xié)議的客戶端,而業(yè)務處理請求在經(jīng)過接入層適配插件的處理后,可以由業(yè)務邏輯層進一步處理,例如發(fā)送至各個節(jié)點、進行身份校驗以及其他處理,該處理過程涉及到存儲插件、共識插件,還需要基于一定的通信協(xié)議進行,對于數(shù)據(jù)共享系統(tǒng)來說,其底層存儲可以基于db(database,數(shù)據(jù)庫)、文件(file)以及鍵值kv(key-value)等進行,而其共識插件主要用于驗證數(shù)據(jù)共享系統(tǒng)內(nèi)節(jié)點上數(shù)據(jù)的一致性使用,其可以采用raft、paxcos以及pbft等任一種共識算法,而在數(shù)據(jù)共享系統(tǒng)中,還支持多種通信協(xié)議,如p2p、tcp以及廣播等等,以實現(xiàn)系統(tǒng)內(nèi)的數(shù)據(jù)交互?;谶@樣的數(shù)據(jù)共享系統(tǒng)的層架構,上述三個部分從功能上的架構還可以如圖11所示,管理服務、數(shù)據(jù)服務以及智能合約服務。其中,管理服務可以提供密鑰相關的管理服務,該管理服務分為密鑰管理、身份識別以及節(jié)點管理。其中,密鑰管理可以基于加強的密鑰算法等來實現(xiàn)。節(jié)點管理,也即是對于每個需加入、退出聯(lián)盟鏈、私有鏈的節(jié)點,在節(jié)點管理服務里都可對其進行操作,當新加入節(jié)點審批通過時,該節(jié)點在聯(lián)盟鏈、私有鏈里會具備身份信息,同時廣播到其他節(jié)點,每個節(jié)點有自己的公私鑰對,可對自己節(jié)點廣播數(shù)據(jù)做簽名,其他節(jié)點收到請求后,會對簽名的數(shù)據(jù)做校驗,攔截非法信息,防止被篡改的可能。當舊節(jié)點需退出聯(lián)盟鏈、私有鏈時,對該節(jié)點密鑰進行作廢處理,同時通知其他各節(jié)點,一起作廢。而身份識別主要是基于公鑰進行,一個公鑰可以代表一個用戶客戶端的身份,用以進行業(yè)務處理請求校驗、查詢校驗等等。進一步地,關于數(shù)據(jù)服務部分,該數(shù)據(jù)共享服務的數(shù)據(jù)服務可以基于用戶數(shù)據(jù)進行區(qū)塊鏈的相關處理。而智能合約服務主要采用以太坊虛擬機(evm)是以太坊中智能合約的運行環(huán)境。智能合約的代碼不僅被沙箱封裝起來,事實上它的運行也被完全隔離,也就是說運行在虛擬機中,由于運行于虛擬機內(nèi)部的代碼不能接觸到網(wǎng)絡、文件系統(tǒng)或者其它進程,因此達到了最大化的安全保障,且智能合約服務能夠為用戶提供更加多樣化和更具有保障性的交易服務,大大擴展了數(shù)據(jù)共享系統(tǒng)的靈活性。
圖12是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖。參見圖12,所述裝置包括:
接收模塊1201,用于接收業(yè)務處理請求,所述業(yè)務處理請求根據(jù)數(shù)據(jù)共享系統(tǒng)提供的表結構生成,所述業(yè)務處理請求攜帶用戶的業(yè)務數(shù)據(jù)和所述用戶對所述業(yè)務數(shù)據(jù)的簽名信息;
提取模塊1202,用于從所述業(yè)務處理請求中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息;
生成模塊1203,用于生成所述數(shù)據(jù)共享系統(tǒng)的業(yè)務數(shù)據(jù)記錄請求,所述業(yè)務數(shù)據(jù)記錄請求攜帶所述用戶的業(yè)務數(shù)據(jù)以及所述簽名信息;
發(fā)送模塊1204,用于將所述業(yè)務數(shù)據(jù)記錄請求發(fā)送至所述數(shù)據(jù)共享系統(tǒng)中的至少一個節(jié)點。
在一種可能實現(xiàn)方式中,該提取模塊1202用于識別生成所述業(yè)務處理請求的數(shù)據(jù)庫類型;根據(jù)所述數(shù)據(jù)庫類型,從數(shù)據(jù)庫類型與表結構的對應關系中,確定生成所述業(yè)務處理請求所采用的表結構;基于生成所述業(yè)務處理請求所采用的表結構,從所述業(yè)務處理請求的對應字段中提取所述用戶的業(yè)務數(shù)據(jù)和所述簽名信息。
在一種可能實現(xiàn)方式中,用戶客戶端獲取所述用戶基于所述表結構所輸入的業(yè)務數(shù)據(jù);
所述用戶客戶端從該用戶客戶端中獲取所述用戶的私鑰,并采用所述私鑰對所述業(yè)務數(shù)據(jù)進行簽名,得到所述用戶的簽名信息;將所述業(yè)務數(shù)據(jù)和所述用戶的簽名信息封裝為所述業(yè)務處理請求。
在一種可能實現(xiàn)方式中,該數(shù)據(jù)共享系統(tǒng)的節(jié)點包括:
特征值生成模塊,用于接收到所述業(yè)務數(shù)據(jù)記錄請求時,根據(jù)所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息生成當前區(qū)塊的特征值;
區(qū)塊生成模塊,用于基于所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值,生成所述當前區(qū)塊。
在一種可能實現(xiàn)方式中,該區(qū)塊生成模塊包括:
拆分子模塊,用于將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息分為至少兩部分數(shù)據(jù);
計算子模塊,用于對所述至少兩部分數(shù)據(jù)分別采用不同的哈希算法進行計算,得到所述至少兩部分數(shù)據(jù)的哈希值;
拼接子模塊,用于將所述至少兩部分數(shù)據(jù)的哈希值拼接,得到所述當前區(qū)塊的特征值。
在一種可能實現(xiàn)方式中,該拆分子模塊用于根據(jù)所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息的數(shù)據(jù)量,確定待分割的份數(shù);將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息分為所確定的份數(shù)的數(shù)據(jù)。
在一種可能實現(xiàn)方式中,該區(qū)塊生成模塊用于采用節(jié)點的私鑰對所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、所述區(qū)塊鏈中前一區(qū)塊的特征值以及當前區(qū)塊的特征值進行簽名,得到所述當前區(qū)塊的簽名信息;將所述用戶的業(yè)務數(shù)據(jù)、所述簽名信息、所述區(qū)塊鏈中前一區(qū)塊的特征值、當前區(qū)塊的特征值以及所述當前區(qū)塊的簽名信息對應存儲,生成所述當前區(qū)塊。
在一種可能實現(xiàn)方式中,所述業(yè)務數(shù)據(jù)包括合約數(shù)據(jù),所述合約數(shù)據(jù)包括合約的執(zhí)行條件參數(shù)以及執(zhí)行參數(shù)。
在一種可能實現(xiàn)方式中,所述合約數(shù)據(jù)為包括函數(shù)名和參數(shù)的二進制代碼;或,所述合約數(shù)據(jù)為腳本代碼。
在一種可能實現(xiàn)方式中,所述節(jié)點還包括合約執(zhí)行模塊,用于如果滿足所述執(zhí)行條件參數(shù),基于所述執(zhí)行參數(shù)執(zhí)行所述合約數(shù)據(jù)所指示的業(yè)務處理。
圖13是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖。參見圖13,所述裝置包括:
接收模塊1301,用于接收用戶客戶端的業(yè)務處理請求,所述業(yè)務處理請求攜帶業(yè)務數(shù)據(jù)以及所述用戶客戶端的公鑰,所述業(yè)務數(shù)據(jù)包括所述用戶客戶端的地址信息;
生成模塊1302,用于根據(jù)所述用戶客戶端的公鑰,生成所述用戶客戶端的校驗地址信息;
業(yè)務請求處理模塊1303,用于如果所述用戶客戶端的校驗地址信息和所述業(yè)務數(shù)據(jù)所包括的地址信息一致,則響應所述業(yè)務處理請求,如果不一致,則攔截所述業(yè)務處理請求。
在一種可能實現(xiàn)方式中,該生成模塊1302包括:
公鑰哈希值獲取子模塊,用于獲取所述用戶客戶端的公鑰哈希值;
哈希值獲取子模塊,用于對所述公鑰哈希值進行至少兩次哈希運算,得到所述公鑰哈希值的哈希值;
校驗碼獲取子模塊,用于從所述公鑰哈希值的哈希值中提取前預設位數(shù)的字節(jié)作為校驗碼;
地址信息獲取子模塊,用于將所述公鑰哈希值和所述校驗碼進行拼接,并對拼接得到的字符串進行符合所述數(shù)據(jù)共享系統(tǒng)所支持的數(shù)據(jù)格式的編碼處理,得到所述用戶客戶端的地址信息。
在一種可能實現(xiàn)方式中,該地址信息獲取子模塊用于將所述數(shù)據(jù)共享系統(tǒng)的版本信息、所述公鑰哈希值和所述校驗碼進行拼接。
在一種可能實現(xiàn)方式中,所述業(yè)務處理請求還包括簽名信息,所述簽名信息由所述用戶客戶端采用所述用戶客戶端的私鑰對所述業(yè)務數(shù)據(jù)進行簽名得到。
圖14是本發(fā)明實施例提供的一種業(yè)務處理裝置的結構示意圖。參見圖14,所述裝置包括:
業(yè)務數(shù)據(jù)獲取模塊1401,用于獲取業(yè)務數(shù)據(jù);
私鑰獲取模塊1402,用于獲取用戶客戶端的私鑰;
簽名模塊1403,用于采用所述用戶客戶端的私鑰對所述業(yè)務數(shù)據(jù)進行簽名,得到所述用戶客戶端的簽名信息;
公鑰生成模塊1404,用于根據(jù)所述用戶客戶端的私鑰生成所述用戶客戶端的公鑰;
請求發(fā)送模塊1405,用于將所述業(yè)務數(shù)據(jù)、所述用戶客戶端的簽名信息和所述用戶客戶端的公鑰封裝為業(yè)務處理請求,并向數(shù)據(jù)共享系統(tǒng)發(fā)送所述業(yè)務處理請求。
在一種可能實現(xiàn)方式中,所述私鑰獲取模塊包括:
隨機數(shù)生成子模塊,用于采用非對稱加密算法,生成第一指定位數(shù)的隨機數(shù);
擴展子模塊,用于將該第一指定位數(shù)的隨機數(shù)進行位數(shù)擴展,得到第二指定位數(shù)的隨機數(shù)。
在一種可能實現(xiàn)方式中,該擴展子模塊用于將兩個該第一指定位數(shù)的隨機數(shù)進行拼接,得到第二指定位數(shù)的隨機數(shù)。
在一種可能實現(xiàn)方式中,該擴展子模塊用于將一個所述第一指定位數(shù)的隨機數(shù)的尾部和另一個所述第一指定位數(shù)的隨機數(shù)的頭部相連,得到所述第二指定位數(shù)的隨機數(shù);或,
將一個所述第一指定位數(shù)的隨機數(shù)中預設位數(shù)的字符與另一個所述第一指定位數(shù)的隨機數(shù)中所述預設位數(shù)的字符插空混合,得到所述第二指定位數(shù)的隨機數(shù);或,
將一個所述第一指定位數(shù)的隨機數(shù)和另一個所述第一指定位數(shù)的隨機數(shù)的字符打亂,得到所述第二指定位數(shù)的隨機數(shù)。
需要說明的是:上述實施例提供的業(yè)務處理裝置在業(yè)務處理時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設備的內(nèi)部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的業(yè)務處理裝置與業(yè)務處理方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
本實施例提供了一種終端,該終端運行有上述方法中的用戶客戶端,并用于執(zhí)行上述各個實施例中提供的業(yè)務處理方法。參見圖15,該終端1500包括:
終端1500可以包括rf(radiofrequency,射頻)電路110、包括有一個或一個以上計算機可讀存儲介質(zhì)的存儲器120、輸入單元130、顯示單元140、傳感器150、音頻電路160、wifi(wirelessfidelity,無線保真)模塊170、包括有一個或者一個以上處理核心的處理器180、以及電源190等部件。本領域技術人員可以理解,圖15中示出的終端結構并不構成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
rf電路110可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器180處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路110包括但不限于天線、至少一個放大器、調(diào)諧器、一個或多個振蕩器、用戶身份模塊(sim)卡、收發(fā)信機、耦合器、lna(lownoiseamplifier,低噪聲放大器)、雙工器等。此外,rf電路110還可以通過無線通信與網(wǎng)絡和其他設備通信。所述無線通信可以使用任一通信標準或協(xié)議,包括但不限于gsm(globalsystemofmobilecommunication,全球移動通訊系統(tǒng))、gprs(generalpacketradioservice,通用分組無線服務)、cdma(codedivisionmultipleaccess,碼分多址)、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)、lte(longtermevolution,長期演進)、電子郵件、sms(shortmessagingservice,短消息服務)等。
存儲器120可用于存儲軟件程序以及模塊,處理器180通過運行存儲在存儲器120的軟件程序以及模塊,從而執(zhí)行各種功能應用以及數(shù)據(jù)處理。存儲器120可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端1500的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器120可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應地,存儲器120還可以包括存儲器控制器,以提供處理器180和輸入單元130對存儲器120的訪問。
輸入單元130可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設置以及功能控制有關的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。具體地,輸入單元130可包括觸敏表面131以及其他輸入設備132。觸敏表面131,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面131上或在觸敏表面131附近的操作),并根據(jù)預先設定的程式驅動相應的連接裝置??蛇x的,觸敏表面131可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸點坐標,再送給處理器180,并能接收處理器180發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸敏表面131。除了觸敏表面131,輸入單元130還可以包括其他輸入設備132。具體地,其他輸入設備132可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元140可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端1500的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構成。顯示單元140可包括顯示面板141,可選的,可以采用lcd(liquidcrystaldisplay,液晶顯示器)、oled(organiclight-emittingdiode,有機發(fā)光二極管)等形式來配置顯示面板141。進一步的,觸敏表面131可覆蓋顯示面板141,當觸敏表面131檢測到在其上或附近的觸摸操作后,傳送給處理器180以確定觸摸事件的類型,隨后處理器180根據(jù)觸摸事件的類型在顯示面板141上提供相應的視覺輸出。雖然在圖15中,觸敏表面131與顯示面板141是作為兩個獨立的部件來實現(xiàn)輸入和輸入功能,但是在某些實施例中,可以將觸敏表面131與顯示面板141集成而實現(xiàn)輸入和輸出功能。
終端1500還可包括至少一種傳感器150,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板141的亮度,接近傳感器可在終端1500移動到耳邊時,關閉顯示面板141和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應用(比如橫豎屏切換、相關游戲、磁力計姿態(tài)校準)、振動識別相關功能(比如計步器、敲擊)等;至于終端1500還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路160、揚聲器161,傳聲器162可提供用戶與終端1500之間的音頻接口。音頻電路160可將接收到的音頻數(shù)據(jù)轉換后的電信號,傳輸?shù)綋P聲器161,由揚聲器161轉換為聲音信號輸出;另一方面,傳聲器162將收集的聲音信號轉換為電信號,由音頻電路160接收后轉換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器180處理后,經(jīng)rf電路110以發(fā)送給比如另一終端,或者將音頻數(shù)據(jù)輸出至存儲器120以便進一步處理。音頻電路160還可能包括耳塞插孔,以提供外設耳機與終端1500的通信。
wifi屬于短距離無線傳輸技術,終端1500通過wifi模塊170可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖15示出了wifi模塊170,但是可以理解的是,其并不屬于終端1500的必須構成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器180是終端1500的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器120內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器120內(nèi)的數(shù)據(jù),執(zhí)行終端1500的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控??蛇x的,處理器180可包括一個或多個處理核心;優(yōu)選的,處理器180可集成應用處理器和調(diào)制解調(diào)處理器,其中,應用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器180中。
終端1500還包括給各個部件供電的電源190(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器180邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源190還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉換器或者逆變器、電源狀態(tài)指示器等任意組件。
盡管未示出,終端1500還可以包括攝像頭、藍牙模塊等,在此不再贅述。具體在本實施例中,終端的顯示單元是觸摸屏顯示器,終端還包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行。所述一個或者一個以上程序包含用于執(zhí)行該業(yè)務處理方法中用戶客戶端操作的指令。
圖16是根據(jù)一示例性實施例示出的一種業(yè)務處理裝置1600的框圖。例如,裝置1600可以被提供為數(shù)據(jù)共享系統(tǒng)中的數(shù)據(jù)共享系統(tǒng)網(wǎng)關或節(jié)點。參照圖16,裝置1600包括處理組件1622,其進一步包括一個或多個處理器,以及由存儲器1632所代表的存儲器資源,用于存儲可由處理部件1622的執(zhí)行的指令,例如應用程序。存儲器1632中存儲的應用程序可以包括一個或一個以上的每一個對應于一組指令的模塊。此外,處理組件1622被配置為執(zhí)行指令,以執(zhí)行上述業(yè)務處理方法。
裝置1600還可以包括一個電源組件1626被配置為執(zhí)行裝置1600的電源管理,一個有線或無線網(wǎng)絡接口1650被配置為將裝置1600連接到網(wǎng)絡,和一個輸入輸出(i/o)接口1658。裝置1600可以操作基于存儲在存儲器1632的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類似。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質(zhì),例如包括指令的存儲器,上述指令可由終端中的處理器執(zhí)行以完成下述實施例中的資源發(fā)放方法或資源領取方法。例如,所述非臨時性計算機可讀存儲介質(zhì)可以是rom、隨機存取存儲器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲設備等。
本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。