本發(fā)明涉及區(qū)塊鏈數(shù)字資產(chǎn)交易的技術(shù)領(lǐng)域,特別是涉及區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的技術(shù)領(lǐng)域。
背景技術(shù):
隨著比特幣的誕生,最近幾年還涌現(xiàn)了萊特幣、以太幣等數(shù)字貨幣,并且已有交易所進(jìn)行相關(guān)的數(shù)字資產(chǎn)交易,其中,數(shù)字資產(chǎn),或稱之為區(qū)塊鏈數(shù)字資產(chǎn),指的是以計(jì)算代碼、計(jì)算機(jī)程序、比特等形式存在,登記于區(qū)塊鏈或分布式賬本上的虛擬資產(chǎn);是一種經(jīng)過算法加密、點(diǎn)對點(diǎn)流通、智能化運(yùn)作、無須人工干預(yù)而自動(dòng)運(yùn)行的資產(chǎn)。
但是,現(xiàn)有的撮合引擎往往在撮合訂單的數(shù)量上有限制,且開放時(shí)間也有限,對于投資者而言十分不便,影響投資效率。
技術(shù)實(shí)現(xiàn)要素:
鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的方法、系統(tǒng)、終端及介質(zhì),用于解決現(xiàn)有技術(shù)中撮合訂單數(shù)量受限的問題。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法,包括:接收訂單,所述訂單類型包括市價(jià)單和限價(jià)單;將所述訂單按照賣出或買入的交易行為分發(fā)至各自對應(yīng)的交易隊(duì)列;通過管理各所述交易隊(duì)列所對應(yīng)的撮合線程完成訂單撮合,其包括:以賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的一方為己方,另一方為對方;通過己方撮合線程依次取出己方交易隊(duì)列中按照先后順序排列的訂單,以與對方混合隊(duì)列中價(jià)格匹配的訂單進(jìn)行撮合;判斷己方撮合線程取出的訂單是否為市價(jià)單;若是,則將未全部成交的市價(jià)單進(jìn)行撤銷;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列;若否,則將未全部成交的限價(jià)單放入己方混合隊(duì)列,且將己方混合隊(duì)列中的限價(jià)單進(jìn)行重新排序;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列。
于本發(fā)明的一實(shí)施例中,所述賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的訂單按照生成時(shí)間的先后順序排列。
于本發(fā)明的一實(shí)施例中,所述將己方混合隊(duì)列中的限價(jià)單進(jìn)行重新排序是指將限價(jià)單按照其價(jià)格高低排序;其中,價(jià)格相同的限價(jià)單按照其生成時(shí)間的先后順序排列。
于本發(fā)明的一實(shí)施例中,所述市價(jià)單的交易結(jié)果信息包括成交信息和撤單信息;所述撤單信息是指用戶自行撤銷或者己方交易隊(duì)列中的市價(jià)單在對方交易隊(duì)列中找不到訂單而進(jìn)行撤銷,據(jù)以生成撤單信息。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種區(qū)塊鏈數(shù)字資產(chǎn)交易撮合系統(tǒng),包括:接收模塊,用以接收訂單,所述訂單類型包括市價(jià)單和限價(jià)單;分發(fā)模塊,用以將所述訂單按照賣出或買入的交易行為分發(fā)至各自對應(yīng)的交易隊(duì)列;處理模塊,用以通過管理各所述交易隊(duì)列所對應(yīng)的撮合線程完成訂單撮合,其包括:以賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的一方為己方,另一方為對方;通過己方撮合線程依次取出己方交易隊(duì)列中按照先后順序排列的訂單,以與對方混合隊(duì)列中價(jià)格匹配的訂單進(jìn)行撮合;判斷己方撮合線程取出的訂單是否為市價(jià)單;若是,則將未全部成交的市價(jià)單進(jìn)行撤銷;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列;若否,則將未全部成交的限價(jià)單放入己方混合隊(duì)列,且將己方混合隊(duì)列中的限價(jià)單進(jìn)行重新排序;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列。
于本發(fā)明的一實(shí)施例中,所述賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的訂單按照生成時(shí)間的先后順序排列。
于本發(fā)明的一實(shí)施例中,將所述己方混合隊(duì)列中的限價(jià)單進(jìn)行重新排序是指將限價(jià)單按照其價(jià)格高低排序;其中,價(jià)格相同的限價(jià)單按照其生成時(shí)間的先后順序排列。
于本發(fā)明的一實(shí)施例中,所述市價(jià)單的交易結(jié)果信息包括成交信息和撤單信息;所述撤單信息是指用戶自行撤銷或者己方交易隊(duì)列中的市價(jià)單在對方交易隊(duì)列中找不到訂單而進(jìn)行撤銷,據(jù)以生成撤單信息。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種終端,包括:處理器及存儲(chǔ)器;所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,所述處理器用于執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序,以使所述終端執(zhí)行所述區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法。
為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法。
如上所述,本發(fā)明的一種區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的方法、系統(tǒng)、終端及介質(zhì),通過對交易系統(tǒng)中關(guān)于區(qū)塊鏈數(shù)字資產(chǎn)的訂單進(jìn)行撮合,其中,所述區(qū)塊鏈數(shù)字資產(chǎn)即數(shù)字資產(chǎn),其定義為:數(shù)字資產(chǎn)是以計(jì)算代碼、計(jì)算機(jī)程序、比特等形式存在,登記于區(qū)塊鏈或分布式賬本上的虛擬資產(chǎn);是一種經(jīng)過算法加密、點(diǎn)對點(diǎn)流通、智能化運(yùn)作、無須人工干預(yù)而自動(dòng)運(yùn)行的資產(chǎn),并且,數(shù)字資產(chǎn)大部分以電子貨幣的形式存在,超越傳統(tǒng)資產(chǎn)證券化的方法,通過數(shù)字化的途徑實(shí)現(xiàn)交易撮合,提升用戶體驗(yàn)及交易平臺(tái)的服務(wù)質(zhì)量。
附圖說明
圖1顯示為本發(fā)明一實(shí)施例中區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法的示意圖。
圖2顯示為本發(fā)明一實(shí)施例中市價(jià)單交易撮合的示意圖。
圖3顯示為本發(fā)明一實(shí)施例中限價(jià)單交易撮合的示意圖。
圖4顯示為本發(fā)明一實(shí)施例中區(qū)塊鏈數(shù)字資產(chǎn)交易撮合系統(tǒng)的示意圖。
元件標(biāo)號說明
400區(qū)塊鏈數(shù)字資產(chǎn)交易撮合系統(tǒng)
401接收模塊
402分發(fā)模塊
403處理模塊
s101~s106區(qū)塊鏈數(shù)字資產(chǎn)撮合的方法步驟
具體實(shí)施方式
以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所披露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的具體實(shí)施方式加以實(shí)施或應(yīng)用,本說明書中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
如圖1所示,展示了區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的方法流程,所述方法包括:
s101:接收訂單,所述訂單類型包括市價(jià)單和限價(jià)單。
在一實(shí)施例中,接收模塊接收來自客戶的委托訂單,所述接收??梢詿o限擴(kuò)展。所述市價(jià)單,是指按照市場價(jià)購買或者出售的訂單。所述限價(jià)單是指用戶指定了賣出價(jià)格或者買入價(jià)格的訂單。
s102:將所述訂單按照賣出或買入的交易行為分發(fā)至各自對應(yīng)的交易隊(duì)列。
在一實(shí)施例中,所述賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的訂單按照生成時(shí)間的先后順序排列;也即,生成時(shí)間越早的訂單排在交易隊(duì)列越靠前。
s103:以賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的一方為己方,另一方為對方;通過己方撮合線程依次取出己方交易隊(duì)列中按照先后順序排列的訂單,以與對方混合隊(duì)列中價(jià)格匹配的訂單進(jìn)行撮合。
s104:判斷己方撮合線程取出的訂單是否為市價(jià)單。
s105:若是,則將未全部成交的市價(jià)單進(jìn)行撤銷;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列。
在一實(shí)施例中,所述市價(jià)單的交易結(jié)果信息包括成交信息和撤單信息;所述撤單信息是指用戶自行撤銷或者己方交易隊(duì)列中的市價(jià)單在對方交易隊(duì)列中找不到訂單而進(jìn)行撤銷,從而生成的撤單信息。
在一實(shí)施例中,如圖2所示為市價(jià)單交易撮合的示意圖。將賣出交易隊(duì)列定義為己方交易隊(duì)列,買入交易隊(duì)列定義為對方交易隊(duì)列;相應(yīng)的,賣出撮合線程為己方撮合線程,買入撮合線程為對方撮合線程;賣出混合隊(duì)列為己方混合隊(duì)列,買入混合隊(duì)列為對方混合隊(duì)列。所述賣出交易隊(duì)列與所述買入交易隊(duì)列中的訂單,分別以訂單生成時(shí)間的先后順序排列。
于本實(shí)施例中,市價(jià)為10元。判斷排在賣出交易隊(duì)列中首位的訂單“10元100份”為市價(jià)單。通過賣出撮合線程將該市價(jià)單與買入混合隊(duì)列中排在首位的“10元95份”的訂單進(jìn)行撮合;成交95份,且由于在對方隊(duì)列中找不到其它價(jià)格匹配的訂單,所以將剩余的5份做撤單處理,且生成相應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列。所述交易結(jié)果信息可以包括訂單號、狀態(tài)、價(jià)格、及成交份數(shù),例如可顯示為“1#訂單、成交、單價(jià)10元、95份”、“2#訂單、撤銷、單價(jià)10元、5份”,并將上述交易信息放入交易結(jié)果隊(duì)列。當(dāng)然,所述交易結(jié)果信息也可以顯示為其他形式,例如增加訂單生成的時(shí)間信息,其中的訂單號可以是以數(shù)字形式,也可以是條形碼等方式顯示,此處不做限制。所述賣出撮合線程基于與上述撮合過程相同的原理繼續(xù)撮合。需要說明的是,在其他的實(shí)施例中,己方撮合線程也可以是買入撮合線程,撮合原理與上述實(shí)施例中的原理相同。
s106:若否,則將未全部成交的限價(jià)單放入己方混合隊(duì)列,且將己方混合隊(duì)列中的限價(jià)單進(jìn)行重新排序;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列。
在一實(shí)施例中,在所述己方混合隊(duì)列中重新排序是指限價(jià)單按照其價(jià)格高低排序;其中,價(jià)格相同的限價(jià)單按照其生成時(shí)間的先后順序排列。具體的,賣出混合隊(duì)列中的限價(jià)單按照價(jià)格從低到高排序,買入混合隊(duì)列中的限價(jià)單按照價(jià)格從高到低排序。
在一實(shí)施例中,如圖3所示,將賣出交易隊(duì)列定義為己方交易隊(duì)列,買入交易隊(duì)列定義為對方交易隊(duì)列;相應(yīng)的,賣出撮合線程為己方撮合線程,買入撮合線程為對方撮合線程;賣出混合隊(duì)列為己方混合隊(duì)列,買入混合隊(duì)列為對方混合隊(duì)列。
于本實(shí)施例中,判斷排在賣出交易隊(duì)列中首位的訂單“9.7元100份”為限價(jià)單。通過賣出撮合線程將該限價(jià)單與買入混合隊(duì)列中排在首位的“9.9元60份”的限價(jià)單進(jìn)行撮合。該限價(jià)單中的60份以9.9元的價(jià)格撮合成交,剩余40份繼續(xù)等待撮合。通過賣出撮合線程將該限價(jià)單剩余40份與買入混合隊(duì)列中排在下一個(gè)的“9.8元20份”的限價(jià)單進(jìn)行撮合。該限價(jià)單剩余40份中的20份以9.8元的價(jià)格撮合成交,剩余20份由于在買入混合隊(duì)列中找不到價(jià)格匹配的訂單,所以被放入賣出混合隊(duì)列,所述賣出混合隊(duì)列按照價(jià)格從低到高重新排序,若有價(jià)格相同的限價(jià)單,則按照其生成時(shí)間的先后進(jìn)行排序。根據(jù)上述限價(jià)單的撮合結(jié)果生成相應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列,例如可顯示為“100#訂單、成交、單價(jià)9.9元、60份”、以及“101#訂單、成交、單價(jià)9.8元、20份”。當(dāng)然,所述交易結(jié)果信息也可以顯示為其他形式,例如增加訂單生成的時(shí)間信息,訂單號可以是以數(shù)字形式,也可以是條形碼等方式顯示,此處不做限制。所述賣出撮合線程基于與上述撮合過程相同的原理繼續(xù)撮合。需要說明的是,在其他的實(shí)施例中,己方撮合線程也可以是買入撮合線程,撮合原理與上述實(shí)施例中的原理相同。
原理與上述方法實(shí)施例大致相同的,本發(fā)明提供一種區(qū)塊鏈數(shù)字資產(chǎn)交易撮合系統(tǒng)的實(shí)施例,如圖4所示,所述區(qū)塊鏈數(shù)字資產(chǎn)交易撮合系統(tǒng)400包括:接收模塊401,用以接收訂單,所述訂單類型包括市價(jià)單和限價(jià)單;分發(fā)模塊402,用以將所述訂單按照賣出或買入的交易行為分發(fā)至各自對應(yīng)的交易隊(duì)列;處理模塊403,用以通過管理各所述交易隊(duì)列所對應(yīng)的撮合線程完成訂單撮合,其包括:以賣出交易行為對應(yīng)的交易隊(duì)列和買入交易行為對應(yīng)的交易隊(duì)列中的一方為己方,另一方為對方;通過己方撮合線程依次取出己方交易隊(duì)列中按照先后順序排列的訂單,以與對方混合隊(duì)列中價(jià)格匹配的訂單進(jìn)行撮合;并判斷己方撮合線程取出的訂單是否為市價(jià)單;若是,則將未全部成交的市價(jià)單進(jìn)行撤銷;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列;若否,則將未全部成交的限價(jià)單放入己方混合隊(duì)列,且將己方混合隊(duì)列中的限價(jià)單進(jìn)行重新排序;根據(jù)撮合結(jié)果生成對應(yīng)的交易結(jié)果信息,并放入交易結(jié)果隊(duì)列。
本發(fā)明還提供一種終端,包括:包括:處理器及存儲(chǔ)器;所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,所述處理器用于執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序,以使所述終端執(zhí)行所述區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法。
本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法。
具體實(shí)施方式,與上述區(qū)塊鏈數(shù)字資產(chǎn)交易撮合方法中的實(shí)施方式類似,此處不再贅述。
綜上所述,本發(fā)明提供的區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的方法、系統(tǒng)、裝置及介質(zhì),包括:接收訂單,所述訂單類型包括市價(jià)單和限價(jià)單;將所述訂單按照賣出或買入的交易行為分發(fā)至各自對應(yīng)的交易隊(duì)列;通過管理各所述交易隊(duì)列所對應(yīng)的撮合線程完成訂單撮合。本發(fā)明提供的區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的方法應(yīng)用于8核cpu,4g內(nèi)存的機(jī)器上時(shí),在接入交易結(jié)果隊(duì)列的情況下,10個(gè)接收模塊即可以達(dá)到7萬筆/秒的處理速度;且在不接入交易結(jié)果隊(duì)列的情況下,更是可以達(dá)到35萬筆/秒的速度,以此同時(shí),接收模塊還可以無限擴(kuò)展。所以本發(fā)明提供的區(qū)塊鏈數(shù)字資產(chǎn)交易撮合的方法、系統(tǒng)、裝置、及介質(zhì)解決了現(xiàn)有撮合引擎對于訂單數(shù)量的限制的問題,提升用戶體驗(yàn)的同時(shí)大幅提高了交易平臺(tái)的服務(wù)質(zhì)量和投資效率。
上述實(shí)施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實(shí)施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。