本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,尤其涉及一種基于區(qū)塊鏈的交易事務(wù)處理方法及系統(tǒng)。
背景技術(shù):
區(qū)塊鏈一般被理解為一個(gè)分布式的賬本,它的本質(zhì)也是一個(gè)分布式的數(shù)據(jù)庫(kù)。作為一個(gè)分布式的數(shù)據(jù)庫(kù)系統(tǒng)它的基本功能之一就是實(shí)現(xiàn)不同節(jié)點(diǎn)的日志同步。可惜的是分布式算法由于本身的復(fù)雜性和節(jié)點(diǎn)間無(wú)法避免的物理距離等原因?qū)е滤拿肓髁?Transactions Per Second,TPS)存在不可避免的物理上限。而現(xiàn)在的這個(gè)物理上限又直接導(dǎo)致區(qū)塊鏈很難在很多TPS要求高達(dá)6位數(shù)的秒流量的使用環(huán)境下使用(以PBFT算法為例,在已知環(huán)境下它產(chǎn)生協(xié)議的秒流量只實(shí)現(xiàn)秒流量4位數(shù)的突破)。
目前,在金融領(lǐng)域,比較常見(jiàn)的利用區(qū)塊鏈技術(shù)實(shí)現(xiàn)交易事務(wù)處理的方案是用不同方式把多筆交易整合成一個(gè)事務(wù)后再發(fā)給一個(gè)區(qū)塊鏈網(wǎng)絡(luò)一起運(yùn)算,如果交易由多方發(fā)起,那么每個(gè)節(jié)點(diǎn)就需要把自己的交易都廣播到其他節(jié)點(diǎn)上去來(lái)保證事務(wù)包當(dāng)中會(huì)包含自己的交易。然而,如果因?yàn)槭裁丛?例如網(wǎng)絡(luò)速度或穩(wěn)定性原因)造成個(gè)別交易不能在預(yù)定的時(shí)間內(nèi)廣播給絕大多數(shù)節(jié)點(diǎn),那么該交易就很有可能因技術(shù)原因失敗。與此同時(shí),為了預(yù)留交易廣播時(shí)間給區(qū)塊鏈上的節(jié)點(diǎn),單事務(wù)日志的生成速度會(huì)由亞毫秒或者毫秒級(jí)別直接降到秒級(jí)別(千倍損失)。對(duì)于對(duì)事務(wù)處理穩(wěn)定性和事務(wù)處理效率都有很高要求的金融生態(tài)系統(tǒng)來(lái)說(shuō)這些問(wèn)題都必須解決。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種基于區(qū)塊鏈的交易事務(wù)處理方法及系統(tǒng),旨在提升利用區(qū)塊鏈技術(shù)進(jìn)行交易事務(wù)處理的穩(wěn)定性和效率。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種基于區(qū)塊鏈的交易事務(wù)處理方法,針對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建有多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),為所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建事務(wù)分流控制系統(tǒng);該方法包括以下步驟:
當(dāng)一用戶向所述區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)參與方發(fā)起交易請(qǐng)求后,該參與方的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),根據(jù)預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)以及預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),所述事務(wù)分流控制參數(shù)包括并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù);
該參與方的事務(wù)分流控制系統(tǒng)將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。
優(yōu)選地,所述預(yù)設(shè)類型交易參數(shù)為交易號(hào),所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
優(yōu)選地,所述預(yù)設(shè)類型交易參數(shù)為交易類型,所述預(yù)先確定的分析規(guī)則為:
根據(jù)預(yù)先確定的交易類型分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
優(yōu)選地,所述預(yù)設(shè)類型交易參數(shù)包括交易號(hào)和交易類型,所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)、交易類型分片定義公式及并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)三者之間的映射關(guān)系,確定提取的交易號(hào)和獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
優(yōu)選地,所述事務(wù)分流控制參數(shù)為預(yù)先存儲(chǔ)于所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方的節(jié)點(diǎn)對(duì)應(yīng)的智能合約中。
優(yōu)選地,該方法還包括:
在所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)接收到該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)后,由所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)預(yù)先存儲(chǔ)于所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的事務(wù)分流控制參數(shù)分析是否執(zhí)行該交易請(qǐng)求。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種用于處理區(qū)塊鏈交易事務(wù)的事務(wù)分流控制系統(tǒng),針對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建有多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),并為所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建所述事務(wù)分流控制系統(tǒng);所述事務(wù)分流控制系統(tǒng)包括:
確定模塊,用于當(dāng)一用戶向所述區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)參與方發(fā)起交易請(qǐng)求后,獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),根據(jù)預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)以及預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),所述事務(wù)分流控制參數(shù)包括并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù);
分流模塊,用于將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。
優(yōu)選地,所述預(yù)設(shè)類型交易參數(shù)為交易號(hào),所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
優(yōu)選地,所述預(yù)設(shè)類型交易參數(shù)為交易類型,所述預(yù)先確定的分析規(guī)則為:
根據(jù)預(yù)先確定的交易類型分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
優(yōu)選地,所述預(yù)設(shè)類型交易參數(shù)包括交易號(hào)和交易類型,所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)、交易類型分片定義公式及并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)三者之間的映射關(guān)系,確定提取的交易號(hào)和獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
優(yōu)選地,所述事務(wù)分流控制參數(shù)為預(yù)先存儲(chǔ)于所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方的節(jié)點(diǎn)對(duì)應(yīng)的智能合約中。
優(yōu)選地,所述分流模塊還用于:
在所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)接收到該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)后,由所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)預(yù)先存儲(chǔ)于所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的事務(wù)分流控制參數(shù)分析是否執(zhí)行該交易請(qǐng)求。
本發(fā)明提出的基于區(qū)塊鏈的交易事務(wù)處理方法及系統(tǒng),通過(guò)對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),為所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建事務(wù)分流控制系統(tǒng);當(dāng)所述區(qū)塊鏈網(wǎng)絡(luò)中的參與方接收到交易請(qǐng)求后,該參與方的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),并基于預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。由于在進(jìn)行交易事務(wù)處理時(shí),能將不同參與方的交易請(qǐng)求分流至各個(gè)不同的并行區(qū)塊鏈網(wǎng)絡(luò)上來(lái)執(zhí)行交易請(qǐng)求,有效地避免了因個(gè)別交易不能在預(yù)定的時(shí)間內(nèi)廣播給絕大多數(shù)節(jié)點(diǎn)造成的交易失敗,且無(wú)需預(yù)留交易廣播時(shí)間給區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn),提高了事務(wù)日志的生成速度,提升了交易事務(wù)處理的穩(wěn)定性和效率。
附圖說(shuō)明
圖1為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例的流程示意圖;
圖2為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例中分片定義下載的示意圖;
圖3為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例中分片定義更改的示意圖;
圖4為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例中交易過(guò)程的示意圖;
圖5為本發(fā)明事務(wù)分流控制系統(tǒng)一實(shí)施例的功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說(shuō)明。
具體實(shí)施方式
為了使本發(fā)明所要解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種基于區(qū)塊鏈的交易事務(wù)處理方法。首先,針對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),例如,若一個(gè)區(qū)塊鏈網(wǎng)絡(luò)具有參與方A、B、C,針對(duì)該區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)并行區(qū)塊鏈網(wǎng)絡(luò),每一個(gè)并行區(qū)塊鏈網(wǎng)絡(luò)中都有與該區(qū)塊鏈網(wǎng)絡(luò)同樣的參與方A、B、C,其中,每個(gè)參與方A、B、C在每條區(qū)塊鏈上都有自己節(jié)點(diǎn),即該區(qū)塊鏈網(wǎng)絡(luò)與多個(gè)并行區(qū)塊鏈網(wǎng)絡(luò)上均具有同樣的參與方A、B、C,且每個(gè)參與方A、B、C在每條區(qū)塊鏈上都有同樣的節(jié)點(diǎn)。然后,為該區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建用于事務(wù)分流控制的事務(wù)分流控制系統(tǒng),通過(guò)該事務(wù)分流控制系統(tǒng)來(lái)管理各個(gè)參與方在各個(gè)鏈上的節(jié)點(diǎn),以管理該區(qū)塊鏈網(wǎng)絡(luò)上的交易事務(wù)。
參照?qǐng)D1,圖1為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例的流程示意圖。
在一實(shí)施例中,該基于區(qū)塊鏈的交易事務(wù)處理方法包括:
步驟S10,當(dāng)一用戶向所述區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)參與方發(fā)起交易請(qǐng)求后,該參與方的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),根據(jù)預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)以及預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),所述事務(wù)分流控制參數(shù)包括并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù);
本實(shí)施例中,當(dāng)所述區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)參與方接收到一用戶向其發(fā)起的交易請(qǐng)求后,為該參與方預(yù)先構(gòu)建的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù)(例如,交易日期、交易號(hào)、交易金額、交易類型等),根據(jù)預(yù)先存儲(chǔ)在所述區(qū)塊鏈網(wǎng)絡(luò)中的事務(wù)分片控制參數(shù),并基于預(yù)先確定的分析規(guī)則確定獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),例如,可根據(jù)交易日期的先后、交易號(hào)的大小或奇偶性、交易金額的數(shù)值范圍、不同的交易類型等多種情況來(lái)確定其相對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),在此不做限定。其中,所述事務(wù)分流控制參數(shù)包括并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)(例如,并行區(qū)塊鏈網(wǎng)絡(luò)的編號(hào))與預(yù)設(shè)類型交易參數(shù)(例如,交易日期、交易號(hào)、交易金額、交易類型等)的關(guān)聯(lián)數(shù)據(jù)。
步驟S20,該參與方的事務(wù)分流控制系統(tǒng)將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。
在確定該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)之后,該參與方的事務(wù)分流控制系統(tǒng)將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)給該目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理,從而實(shí)現(xiàn)對(duì)該區(qū)塊鏈網(wǎng)絡(luò)上交易事務(wù)的分流控制。
本實(shí)施例通過(guò)對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),為所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建事務(wù)分流控制系統(tǒng);當(dāng)所述區(qū)塊鏈網(wǎng)絡(luò)中的參與方接收到交易請(qǐng)求后,該參與方的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),并基于預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。由于在進(jìn)行交易事務(wù)處理時(shí),能將不同參與方的交易請(qǐng)求分流至各個(gè)不同的并行區(qū)塊鏈網(wǎng)絡(luò)上來(lái)執(zhí)行交易請(qǐng)求,有效地避免了因個(gè)別交易不能在預(yù)定的時(shí)間內(nèi)廣播給絕大多數(shù)節(jié)點(diǎn)造成的交易失敗,且無(wú)需預(yù)留交易廣播時(shí)間給區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn),提高了事務(wù)日志的生成速度,提升了交易事務(wù)處理的穩(wěn)定性和效率。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)設(shè)類型交易參數(shù)為交易號(hào),所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
例如,在一種實(shí)施方式中,可提取獲取的交易號(hào)的尾數(shù),根據(jù)預(yù)先確定的交易號(hào)的不同尾數(shù)與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)的尾數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
在另一種實(shí)施方式中,還可提取獲取的交易號(hào)的尾數(shù),確定提取的尾數(shù)的奇偶數(shù)性質(zhì)(例如,奇數(shù)或者偶數(shù)),根據(jù)預(yù)先確定的奇偶數(shù)性質(zhì)與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)的尾數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
在又一種實(shí)施方式中,還可提取獲取的交易號(hào)的尾數(shù),根據(jù)預(yù)先確定的交易號(hào)的模數(shù)與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的模數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)設(shè)類型交易參數(shù)為交易類型,所述預(yù)先確定的分析規(guī)則為:
根據(jù)預(yù)先確定的交易類型分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
例如,所述預(yù)設(shè)類型交易參數(shù)為轉(zhuǎn)出交易、轉(zhuǎn)入交易等交易類型,根據(jù)預(yù)先確定的不同交易類型與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)設(shè)類型交易參數(shù)包括交易號(hào)和交易類型,所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)、交易類型分片定義公式及并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)三者之間的映射關(guān)系,確定提取的交易號(hào)和獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
本實(shí)施例中,綜合考慮交易號(hào)以及交易類型來(lái)確定對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),如在一種實(shí)施方式中,可根據(jù)預(yù)先確定的交易號(hào)(模數(shù)性質(zhì)或尾數(shù)的奇偶數(shù)性質(zhì))、不同交易類型及并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)三者之間的映射關(guān)系,確定提取的交易號(hào)和獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
進(jìn)一步地,在其他實(shí)施例中,所述事務(wù)分流控制參數(shù)為預(yù)先存儲(chǔ)于所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方的節(jié)點(diǎn)對(duì)應(yīng)的智能合約中。
區(qū)塊鏈鏈上的數(shù)據(jù)通常會(huì)被存放在兩個(gè)地方:智能合約(有自己的數(shù)據(jù)state(即:狀況))中和事務(wù)記錄(transaction log)中,每個(gè)區(qū)塊鏈節(jié)點(diǎn)對(duì)應(yīng)一個(gè)智能合約和事務(wù)記錄。本實(shí)施例中,為了保證各個(gè)參與方的事務(wù)分流控制系統(tǒng)調(diào)用的所述事務(wù)分流控制參數(shù)保持一致、可信,將所述事務(wù)分流控制參數(shù)預(yù)先存儲(chǔ)于各個(gè)區(qū)塊鏈網(wǎng)絡(luò)(包括區(qū)塊鏈網(wǎng)絡(luò)及針對(duì)該區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建的多個(gè)并行區(qū)塊鏈網(wǎng)絡(luò))的各個(gè)參與方的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的智能合約中。
進(jìn)一步地,在事務(wù)分流控制系統(tǒng)將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)之后,由所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)預(yù)先存儲(chǔ)于所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的事務(wù)分流控制參數(shù)分析是否執(zhí)行該交易請(qǐng)求。例如,在一種實(shí)施方式中,所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)自身預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)即并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù)來(lái)確定該交易請(qǐng)求中的交易參數(shù)所對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),并驗(yàn)證確定的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)自身的標(biāo)識(shí)是否一致。在另一種實(shí)施方式中,所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)自身預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)即并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù)確定所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)自身的標(biāo)識(shí)所對(duì)應(yīng)的交易參數(shù)類型,并驗(yàn)證確定的交易參數(shù)類型與該交易請(qǐng)求中的交易參數(shù)的類型是否一致。若確認(rèn)并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)或交易參數(shù)類型均無(wú)誤,才在所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上執(zhí)行該交易請(qǐng)求,以防止因事務(wù)分流控制系統(tǒng)出錯(cuò)導(dǎo)致錯(cuò)誤的交易參數(shù)被所述目標(biāo)區(qū)塊鏈網(wǎng)錄入的情況發(fā)生。
進(jìn)一步地,如圖2所示,圖2為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例中分片定義下載的示意圖,本實(shí)施例中,在各個(gè)區(qū)塊鏈(如鏈0、鏈1、鏈2)上進(jìn)行分片定義下載,也即預(yù)存不同預(yù)設(shè)類型交易參數(shù)與并行區(qū)塊鏈網(wǎng)絡(luò)的分片定義時(shí),由區(qū)塊鏈維護(hù)方把分片定義發(fā)到每個(gè)鏈的維護(hù)方可調(diào)用的節(jié)點(diǎn)上去(例如每條鏈上的節(jié)點(diǎn)1),每條鏈上的節(jié)點(diǎn)1都會(huì)通過(guò)自己鏈上的共識(shí)機(jī)制把分片定義公式同步到所有節(jié)點(diǎn)上去,當(dāng)一個(gè)參與方的分片系統(tǒng)即事務(wù)分流控制系統(tǒng)開(kāi)啟時(shí)會(huì)直接從自己在各個(gè)鏈上的節(jié)點(diǎn)上下載分片定義,并以此作為對(duì)后續(xù)進(jìn)行事務(wù)分片的參照。
進(jìn)一步地,如圖3所示,圖3為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例中分片定義更改的示意圖,本實(shí)施例中,若需進(jìn)行分片定義更改,則由區(qū)塊鏈維護(hù)方把更新分片定義公式發(fā)到一個(gè)可調(diào)用鏈的節(jié)點(diǎn)上去(例如鏈0的節(jié)點(diǎn)1),鏈0的節(jié)點(diǎn)1會(huì)通過(guò)自己鏈上的共識(shí)機(jī)制把分片定義公式同步到鏈0上的所有節(jié)點(diǎn)上去。當(dāng)更新后的分片定義被確定寫(xiě)入?yún)^(qū)塊鏈后,每個(gè)節(jié)點(diǎn)都會(huì)發(fā)送消息給與他們相應(yīng)的分片系統(tǒng)即事務(wù)分流控制系統(tǒng)。分片系統(tǒng)收到消息得知分片定義已被更新,會(huì)重新從節(jié)點(diǎn)上下載最新分片定義,從而完成分片定義的更改。
進(jìn)一步地,如圖4所示,圖4為本發(fā)明基于區(qū)塊鏈的交易事務(wù)處理方法一實(shí)施例中交易過(guò)程的示意圖,本實(shí)施例中,在區(qū)塊鏈上進(jìn)行交易時(shí),例如銀行A把交易號(hào)txID=00001號(hào)交易發(fā)給自己的分片系統(tǒng)即事務(wù)分流控制系統(tǒng),分片系統(tǒng)收到交易后會(huì)根據(jù)寫(xiě)在各個(gè)節(jié)點(diǎn)上的分片定義公式把該交易傳到區(qū)塊鏈0上,交易傳到區(qū)塊鏈0上的智能合約后,智能合約會(huì)根據(jù)存儲(chǔ)在鏈上的分片邏輯即事務(wù)分流控制參數(shù)決定是否執(zhí)行該交易,如區(qū)塊鏈0上的智能合約可根據(jù)存儲(chǔ)在區(qū)塊鏈0上的事務(wù)分流控制參數(shù)來(lái)驗(yàn)證該交易對(duì)應(yīng)的區(qū)塊鏈網(wǎng)絡(luò)標(biāo)識(shí)或交易參數(shù)類型是否無(wú)誤,若確定無(wú)誤,則在區(qū)塊鏈0上執(zhí)行該交易。
本發(fā)明進(jìn)一步提供一種用于處理區(qū)塊鏈交易事務(wù)的事務(wù)分流控制系統(tǒng)。首先,針對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),例如,若一個(gè)區(qū)塊鏈網(wǎng)絡(luò)具有參與方A、B、C,針對(duì)該區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)并行區(qū)塊鏈網(wǎng)絡(luò),每一個(gè)并行區(qū)塊鏈網(wǎng)絡(luò)中都有與該區(qū)塊鏈網(wǎng)絡(luò)同樣的參與方A、B、C,其中,每個(gè)參與方A、B、C在每條區(qū)塊鏈上都有自己節(jié)點(diǎn),即該區(qū)塊鏈網(wǎng)絡(luò)與多個(gè)并行區(qū)塊鏈網(wǎng)絡(luò)上均具有同樣的參與方A、B、C,且每個(gè)參與方A、B、C在每條區(qū)塊鏈上都有同樣的節(jié)點(diǎn)。然后,為該區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建用于事務(wù)分流控制的事務(wù)分流控制系統(tǒng),通過(guò)該事務(wù)分流控制系統(tǒng)來(lái)管理各個(gè)參與方在各個(gè)鏈上的節(jié)點(diǎn),以管理該區(qū)塊鏈網(wǎng)絡(luò)上的交易事務(wù)。
參照?qǐng)D5,圖5為本發(fā)明事務(wù)分流控制系統(tǒng)一實(shí)施例的功能模塊示意圖。
在一實(shí)施例中,該事務(wù)分流控制系統(tǒng)包括:
確定模塊01,用于當(dāng)一用戶向所述區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)參與方發(fā)起交易請(qǐng)求后,獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),根據(jù)預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)以及預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),所述事務(wù)分流控制參數(shù)包括并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù);
本實(shí)施例中,當(dāng)所述區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)參與方接收到一用戶向其發(fā)起的交易請(qǐng)求后,為該參與方預(yù)先構(gòu)建的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù)(例如,交易日期、交易號(hào)、交易金額、交易類型等),根據(jù)預(yù)先存儲(chǔ)在所述區(qū)塊鏈網(wǎng)絡(luò)中的事務(wù)分片控制參數(shù),并基于預(yù)先確定的分析規(guī)則確定獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),例如,可根據(jù)交易日期的先后、交易號(hào)的大小或奇偶性、交易金額的數(shù)值范圍、不同的交易類型等多種情況來(lái)確定其相對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),在此不做限定。其中,所述事務(wù)分流控制參數(shù)包括并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)(例如,并行區(qū)塊鏈網(wǎng)絡(luò)的編號(hào))與預(yù)設(shè)類型交易參數(shù)(例如,交易日期、交易號(hào)、交易金額、交易類型等)的關(guān)聯(lián)數(shù)據(jù)。
分流模塊02,用于將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。
在確定該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)之后,該參與方的事務(wù)分流控制系統(tǒng)將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)給該目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理,從而實(shí)現(xiàn)對(duì)該區(qū)塊鏈網(wǎng)絡(luò)上交易事務(wù)的分流控制。
本實(shí)施例通過(guò)對(duì)一個(gè)區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建多個(gè)具有相同參與方的并行區(qū)塊鏈網(wǎng)絡(luò),為所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方構(gòu)建事務(wù)分流控制系統(tǒng);當(dāng)所述區(qū)塊鏈網(wǎng)絡(luò)中的參與方接收到交易請(qǐng)求后,該參與方的事務(wù)分流控制系統(tǒng)獲取該交易請(qǐng)求的預(yù)設(shè)類型交易參數(shù),并基于預(yù)先確定的分析規(guī)則確定所述預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行交易處理。由于在進(jìn)行交易事務(wù)處理時(shí),能將不同參與方的交易請(qǐng)求分流至各個(gè)不同的并行區(qū)塊鏈網(wǎng)絡(luò)上來(lái)執(zhí)行交易請(qǐng)求,有效地避免了因個(gè)別交易不能在預(yù)定的時(shí)間內(nèi)廣播給絕大多數(shù)節(jié)點(diǎn)造成的交易失敗,且無(wú)需預(yù)留交易廣播時(shí)間給區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn),提高了事務(wù)日志的生成速度,提升了交易事務(wù)處理的穩(wěn)定性和效率。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)設(shè)類型交易參數(shù)為交易號(hào),所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
例如,在一種實(shí)施方式中,可提取獲取的交易號(hào)的尾數(shù),根據(jù)預(yù)先確定的交易號(hào)的不同尾數(shù)與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)的尾數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
在另一種實(shí)施方式中,還可提取獲取的交易號(hào)的尾數(shù),確定提取的尾數(shù)的奇偶數(shù)性質(zhì)(例如,奇數(shù)或者偶數(shù)),根據(jù)預(yù)先確定的奇偶數(shù)性質(zhì)與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的交易號(hào)的尾數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
在又一種實(shí)施方式中,還可提取獲取的交易號(hào)的尾數(shù),根據(jù)預(yù)先確定的交易號(hào)的模數(shù)與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定提取的模數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)設(shè)類型交易參數(shù)為交易類型,所述預(yù)先確定的分析規(guī)則為:
根據(jù)預(yù)先確定的交易類型分片定義公式與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
例如,所述預(yù)設(shè)類型交易參數(shù)為轉(zhuǎn)出交易、轉(zhuǎn)入交易等交易類型,根據(jù)預(yù)先確定的不同交易類型與并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)的映射關(guān)系,確定獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
進(jìn)一步地,在其他實(shí)施例中,所述預(yù)設(shè)類型交易參數(shù)包括交易號(hào)和交易類型,所述預(yù)先確定的分析規(guī)則為:
提取獲取的交易號(hào),根據(jù)預(yù)先確定的交易號(hào)、交易類型分片定義公式及并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)三者之間的映射關(guān)系,確定提取的交易號(hào)和獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
本實(shí)施例中,綜合考慮交易號(hào)以及交易類型來(lái)確定對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),如在一種實(shí)施方式中,可根據(jù)預(yù)先確定的交易號(hào)(模數(shù)性質(zhì)或尾數(shù)的奇偶數(shù)性質(zhì))、不同交易類型及并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)三者之間的映射關(guān)系,確定提取的交易號(hào)和獲取的交易類型對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),該并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)即為獲取的預(yù)設(shè)類型交易參數(shù)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)。
進(jìn)一步地,在其他實(shí)施例中,所述事務(wù)分流控制參數(shù)為預(yù)先存儲(chǔ)于所述區(qū)塊鏈網(wǎng)絡(luò)的各個(gè)參與方的節(jié)點(diǎn)對(duì)應(yīng)的智能合約中。
區(qū)塊鏈鏈上的數(shù)據(jù)通常會(huì)被存放在兩個(gè)地方:智能合約(有自己的數(shù)據(jù)state(即:狀況))中和事務(wù)記錄(transaction log)中,每個(gè)區(qū)塊鏈節(jié)點(diǎn)對(duì)應(yīng)一個(gè)智能合約和事務(wù)記錄。本實(shí)施例中,為了保證各個(gè)參與方的事務(wù)分流控制系統(tǒng)調(diào)用的所述事務(wù)分流控制參數(shù)保持一致、可信,將所述事務(wù)分流控制參數(shù)預(yù)先存儲(chǔ)于各個(gè)區(qū)塊鏈網(wǎng)絡(luò)(包括區(qū)塊鏈網(wǎng)絡(luò)及針對(duì)該區(qū)塊鏈網(wǎng)絡(luò)構(gòu)建的多個(gè)并行區(qū)塊鏈網(wǎng)絡(luò))的各個(gè)參與方的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)的智能合約中。
進(jìn)一步地,在事務(wù)分流控制系統(tǒng)將確定的標(biāo)識(shí)對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)作為執(zhí)行該交易請(qǐng)求的目標(biāo)區(qū)塊鏈網(wǎng)絡(luò),并將該交易請(qǐng)求對(duì)應(yīng)的交易參數(shù)發(fā)送至所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)之后,由所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)預(yù)先存儲(chǔ)于所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的事務(wù)分流控制參數(shù)分析是否執(zhí)行該交易請(qǐng)求。例如,在一種實(shí)施方式中,所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)自身預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)即并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù)來(lái)確定該交易請(qǐng)求中的交易參數(shù)所對(duì)應(yīng)的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí),并驗(yàn)證確定的并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)自身的標(biāo)識(shí)是否一致。在另一種實(shí)施方式中,所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約根據(jù)自身預(yù)先存儲(chǔ)的事務(wù)分流控制參數(shù)即并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)與預(yù)設(shè)類型交易參數(shù)的關(guān)聯(lián)數(shù)據(jù)確定所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)自身的標(biāo)識(shí)所對(duì)應(yīng)的交易參數(shù)類型,并驗(yàn)證確定的交易參數(shù)類型與該交易請(qǐng)求中的交易參數(shù)的類型是否一致。若確認(rèn)并行區(qū)塊鏈網(wǎng)絡(luò)的標(biāo)識(shí)或交易參數(shù)類型均無(wú)誤,才在所述目標(biāo)區(qū)塊鏈網(wǎng)絡(luò)上執(zhí)行該交易請(qǐng)求,以防止因事務(wù)分流控制系統(tǒng)出錯(cuò)導(dǎo)致錯(cuò)誤的交易參數(shù)被所述目標(biāo)區(qū)塊鏈網(wǎng)錄入的情況發(fā)生。
進(jìn)一步地,在一實(shí)施例中進(jìn)行分片定義下載時(shí),在各個(gè)區(qū)塊鏈(如鏈0、鏈1、鏈2)上進(jìn)行分片定義下載,也即預(yù)存不同預(yù)設(shè)類型交易參數(shù)與并行區(qū)塊鏈網(wǎng)絡(luò)的分片定義時(shí),由區(qū)塊鏈維護(hù)方把分片定義發(fā)到每個(gè)鏈的維護(hù)方可調(diào)用的節(jié)點(diǎn)上去(例如每條鏈上的節(jié)點(diǎn)1),每條鏈上的節(jié)點(diǎn)1都會(huì)通過(guò)自己鏈上的共識(shí)機(jī)制把分片定義公式同步到所有節(jié)點(diǎn)上去,當(dāng)一個(gè)參與方的分片系統(tǒng)即事務(wù)分流控制系統(tǒng)開(kāi)啟時(shí)會(huì)直接從自己在各個(gè)鏈上的節(jié)點(diǎn)上下載分片定義,并以此作為對(duì)后續(xù)進(jìn)行事務(wù)分片的參照。
進(jìn)一步地,在一實(shí)施例中進(jìn)行分片定義更改時(shí),若需進(jìn)行分片定義更改,則由區(qū)塊鏈維護(hù)方把更新分片定義公式發(fā)到一個(gè)可調(diào)用鏈的節(jié)點(diǎn)上去(例如鏈0的節(jié)點(diǎn)1),鏈0的節(jié)點(diǎn)1會(huì)通過(guò)自己鏈上的共識(shí)機(jī)制把分片定義公式同步到鏈0上的所有節(jié)點(diǎn)上去。當(dāng)更新后的分片定義被確定寫(xiě)入?yún)^(qū)塊鏈后,每個(gè)節(jié)點(diǎn)都會(huì)發(fā)送消息給與他們相應(yīng)的分片系統(tǒng)即事務(wù)分流控制系統(tǒng)。分片系統(tǒng)收到消息得知分片定義已被更新,會(huì)重新從節(jié)點(diǎn)上下載最新分片定義,從而完成分片定義的更改。
進(jìn)一步地,在一實(shí)施例中進(jìn)行交易時(shí),若在區(qū)塊鏈上進(jìn)行交易,例如銀行A把交易號(hào)txID=00001號(hào)交易發(fā)給自己的分片系統(tǒng)即事務(wù)分流控制系統(tǒng),分片系統(tǒng)收到交易后會(huì)根據(jù)寫(xiě)在各個(gè)節(jié)點(diǎn)上的分片定義公式把該交易傳到區(qū)塊鏈0上,交易傳到區(qū)塊鏈0上的智能合約后,智能合約會(huì)根據(jù)存儲(chǔ)在鏈上的分片邏輯決定是否執(zhí)行該交易,若是,則在區(qū)塊鏈0上執(zhí)行該交易。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實(shí)施例方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件來(lái)實(shí)現(xiàn),但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上參照附圖說(shuō)明了本發(fā)明的優(yōu)選實(shí)施例,并非因此局限本發(fā)明的權(quán)利范圍。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
本領(lǐng)域技術(shù)人員不脫離本發(fā)明的范圍和實(shí)質(zhì),可以有多種變型方案實(shí)現(xiàn)本發(fā)明,比如作為一個(gè)實(shí)施例的特征可用于另一實(shí)施例而得到又一實(shí)施例。凡在運(yùn)用本發(fā)明的技術(shù)構(gòu)思之內(nèi)所作的任何修改、等同替換和改進(jìn),均應(yīng)在本發(fā)明的權(quán)利范圍之內(nèi)。