[發(fā)明專利]區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì)在審
| 申請?zhí)枺?/td> | 202011279724.6 | 申請日: | 2020-11-16 |
| 公開(公告)號: | CN112363804A | 公開(公告)日: | 2021-02-12 |
| 發(fā)明(設(shè)計(jì))人: | 何正軍;王志文;吳思進(jìn) | 申請(專利權(quán))人: | 杭州復(fù)雜美科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/445;G06F9/54;G06Q40/04 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310000 浙江省杭州市西湖*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 區(qū)塊 jvm 應(yīng)用 方法 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明提供一種區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì),該方法包括:分別創(chuàng)建jvm執(zhí)行線程和jvm查詢線程,加載二級加載包;響應(yīng)于jvm執(zhí)行線程接收到第一交易的交易執(zhí)行參數(shù):阻塞第一線程;調(diào)用合約加載方法以判斷是否曾加載對應(yīng)的第一合約:否,則通過合約加載方法加載第一合約、緩存合約字節(jié)碼,執(zhí)行第一交易;是,則執(zhí)行第一交易;返回第一線程;響應(yīng)于接收若干查詢請求,并發(fā)響應(yīng):調(diào)用合約加載方法以判斷是否曾加載相應(yīng)的第二合約:否,則通過合約加載方法加載第二合約、緩存合約字節(jié)碼,jvm查詢線程創(chuàng)建第二線程以通過第二合約查詢并返回查詢結(jié)果;是,則jvm查詢線程創(chuàng)建第三線程以查詢并返回查詢結(jié)果。本發(fā)明實(shí)現(xiàn)了在JVM中靈活加載不同智能合約。
技術(shù)領(lǐng)域
本申請涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體涉及一種區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù)
區(qū)塊鏈的智能合約需要在虛擬機(jī)中執(zhí)行,當(dāng)前區(qū)塊鏈智能合約虛擬機(jī)主要采用EVM。由于EVM是一種新型的虛擬機(jī),其安全性,和開發(fā)語言的友好性有待提高,從事該門語言開發(fā)的程序員也不是很多,導(dǎo)致智能合約的發(fā)展受到了一定的限制。
Java虛擬機(jī)(Java Virtual Machine,以下簡稱為JVM),是一種能夠運(yùn)行Javabytecode的虛擬機(jī),以堆棧結(jié)構(gòu)機(jī)器來進(jìn)行實(shí)做。最早由Sun微系統(tǒng)所研發(fā)并實(shí)現(xiàn)第一個(gè)實(shí)現(xiàn)版本,是Java平臺(tái)的一部分,能夠運(yùn)行以Java語言寫作的軟件程序。
Java虛擬機(jī)有自己完善的硬體架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使得Java程序只需生成在Java虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。
在現(xiàn)有的JVM機(jī)制中,創(chuàng)建JVM時(shí)需要設(shè)置class-path(jar包的地址,例如.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar),而在JVM創(chuàng)建后,class-path是無法修改的。
對于將JVM應(yīng)用在區(qū)塊鏈系統(tǒng)中的方案而言,當(dāng)智能合約以jar包的形式發(fā)布后,上述現(xiàn)有的JVM機(jī)制存在因?yàn)闊o法修改class-path導(dǎo)致無法加載不同智能合約的問題。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)中的上述缺陷或不足,期望提供一種可以在JVM中靈活加載不同智能合約以執(zhí)行交易或查詢的區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì)。
第一方面,本發(fā)明提供一種適用于區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊鏈JVM應(yīng)用方法,JVM中配置有自定義的二級加載包,該方法包括:
分別創(chuàng)建jvm執(zhí)行線程和jvm查詢線程,加載二級加載包;
響應(yīng)于jvm執(zhí)行線程接收到區(qū)塊鏈執(zhí)行模塊的第一線程所發(fā)送的第一交易的交易執(zhí)行參數(shù):
阻塞第一線程;
jvm執(zhí)行線程調(diào)用二級加載包的合約加載方法以根據(jù)交易執(zhí)行參數(shù)判斷是否曾加載并緩存第一交易對應(yīng)的第一合約:
否,則通過合約加載方法加載第一合約、緩存第一合約的字節(jié)碼,并通過第一合約執(zhí)行第一交易;
是,則通過第一合約執(zhí)行第一交易;
返回第一線程;
響應(yīng)于接收到若干查詢請求,通過以下步驟并發(fā)響應(yīng)各查詢請求:
調(diào)用合約加載方法以根據(jù)第一查詢請求判斷是否曾加載并緩存相應(yīng)的第二合約:
否,則通過合約加載方法加載第二合約、緩存第二合約的字節(jié)碼,jvm查詢線程創(chuàng)建第二線程,第二線程通過第二合約執(zhí)行第一查詢請求所請求的查詢并返回查詢結(jié)果;
是,則jvm查詢線程創(chuàng)建第三線程,第三線程通過第二合約執(zhí)行第一查詢請求所請求的查詢并返回查詢結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州復(fù)雜美科技有限公司,未經(jīng)杭州復(fù)雜美科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011279724.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點(diǎn)及存儲(chǔ)介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點(diǎn)
- 本地區(qū)塊同步的檢驗(yàn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點(diǎn)來托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識(shí)系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲(chǔ)介質(zhì)及電子設(shè)備
- 一種軟件性能的檢測方法及裝置
- 一種國產(chǎn)環(huán)境下JVM參數(shù)調(diào)整裝置和方法
- 一種實(shí)時(shí)在線的分布式計(jì)算框架的實(shí)現(xiàn)方法
- 一種國產(chǎn)JVM的測試評估方法
- 一種分布式JVM性能分析的方法、裝置及系統(tǒng)
- 一種無侵入JVM線程堆棧采集的方法及裝置
- 一種JVM參數(shù)的調(diào)整方法及裝置
- 基于軟件隔離的服務(wù)提供方法、設(shè)備及存儲(chǔ)介質(zhì)
- 區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì)
- 一種JVM調(diào)優(yōu)方法及裝置
- 在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測方法及應(yīng)用檢測裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





