[發(fā)明專利]一種在線編碼動態(tài)生效的方法、裝置、設(shè)備和介質(zhì)有效
| 申請?zhí)枺?/td> | 202010650478.4 | 申請日: | 2020-07-08 |
| 公開(公告)號: | CN111984241B | 公開(公告)日: | 2022-06-07 |
| 發(fā)明(設(shè)計)人: | 黃家昌;陳福平;楊輝;邱道椿 | 申請(專利權(quán))人: | 福建億能達信息技術(shù)股份有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06F8/71;G06F8/72 |
| 代理公司: | 福州市鼓樓區(qū)京華專利事務(wù)所(普通合伙) 35212 | 代理人: | 林云嬌 |
| 地址: | 350000 福建省福州市鼓樓*** | 國省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 在線 編碼 動態(tài) 生效 方法 裝置 設(shè)備 介質(zhì) | ||
本發(fā)明提供一種在線編碼動態(tài)生效的方法、裝置、設(shè)備和介質(zhì),方法包括:S1、由前臺控件的監(jiān)聽事件接受編寫的增強代碼,并作為參數(shù)傳遞至后臺;S2、后臺將代碼片段中的用于獲取頁面參數(shù)的字符串按順序替換成相對應(yīng)的頁面控件的值,再通過控件ID查詢當(dāng)前控件ID的最新版本號,并且生成一串用作class類名的隨機字符串,連同參數(shù)替換完成的增強代碼一并植入到JavaTemplate模版文件的函數(shù)體內(nèi),再編譯成.class的文件;S3、將.class的文件放置于服務(wù)器指定路徑,并將這個類加載至jvm的內(nèi)存當(dāng)中;S4、把前臺傳遞過來的參數(shù)變成相應(yīng)的bean實體攜帶上新的版本號與參數(shù)替換完成的增強一并存到數(shù)據(jù)庫當(dāng)中。本發(fā)明能根據(jù)業(yè)務(wù)需求,實時變更java業(yè)務(wù)代碼。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種在線編碼動態(tài)生效方法、裝置、設(shè)備和介質(zhì)。
背景技術(shù)
敏捷開發(fā)是以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發(fā)。鑒于敏捷開發(fā)的大潮流驅(qū)動,客戶對于版本快速迭代的訴求越來越高。傳統(tǒng)的軟件版本迭代需要經(jīng)過需求分析、代碼編寫、項目打包部署(前后端)、配置文件的修改等步驟。這樣導(dǎo)致用戶每一次的臨時的需求變更都要重復(fù)這些繁瑣的步驟,而且還可能因為相關(guān)類的修改導(dǎo)致其他應(yīng)用受到牽連。因此java代碼的在線編譯應(yīng)景而生,它能夠根據(jù)控件的對應(yīng)事件,執(zhí)行對應(yīng)的java增強(java代碼在線編譯)。
前端編寫java片段時不能動態(tài)編譯,無法根據(jù)業(yè)務(wù)需求,實時變更java 業(yè)務(wù)代碼,從而無法適應(yīng)業(yè)務(wù)頻繁變更的場景,開發(fā)人員與實施人員無法避免高重復(fù)性的工作,效率低下。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題,在于提供一種在線編碼動態(tài)生效方法、裝置、設(shè)備和介質(zhì),能根據(jù)業(yè)務(wù)需求,實時變更java業(yè)務(wù)代碼,以適應(yīng)業(yè)務(wù)頻繁變更的場景,讓開發(fā)人員與實施人員避免了高重復(fù)性的工作,讓軟件開發(fā)更加高效,使實施部署更加快速簡便。
第一方面,本發(fā)明提供了一種在線編碼動態(tài)生效方法,包括下述步驟:
S1、由前臺控件的監(jiān)聽事件接受編寫的增強代碼,所述增強代碼包括預(yù)先約定的用于獲取頁面參數(shù)的字符串,并將增強代碼的代碼片段、控件ID 或者代碼塊名稱、代碼片段類型作為參數(shù)傳遞至后臺;
S2、后臺接收到參數(shù)后,用正則匹配規(guī)則將代碼片段中的用于獲取頁面參數(shù)的字符串按順序替換成相對應(yīng)的頁面控件的值,得到替換完成的增強代碼,再通過控件ID在當(dāng)前mysql數(shù)據(jù)庫中查詢當(dāng)前控件ID的最新版本號,并且生成一串用作class類名的隨機字符串,讀取事先寫好的JavaTemplate 的模版文件,解析之后拼上用作class類名的所述隨機字符串,拼接完成后,連同參數(shù)替換完成的增強代碼一并植入到JavaTemplate模版文件的函數(shù)體內(nèi),得到完整的.java的字符串,進而生成一份.java文件,然后通過編譯工具編譯成.class的文件;
S3、將所述.class的文件放置于服務(wù)器指定路徑,并將這個類加載至jvm 的內(nèi)存當(dāng)中;
S4、把前臺傳遞過來的參數(shù)變成相應(yīng)的bean 實體攜帶上新的版本號與參數(shù)替換完成的增強代碼 一并存到mysql數(shù)據(jù)庫當(dāng)中。
第二方面,本發(fā)明提供了一種在線編碼動態(tài)生效的裝置,包括:
前臺控件,用于通過監(jiān)聽事件接受編寫的增強代碼,所述增強代碼包括預(yù)先約定的用于獲取頁面參數(shù)的字符串,并將增強代碼的代碼片段、控件ID 或者代碼塊名稱、代碼片段類型作為參數(shù)傳遞至后臺;
參數(shù)替換模塊,用于后臺接收到參數(shù)后,用正則匹配規(guī)則將代碼片段中的用于獲取頁面參數(shù)的字符串按順序替換成相對應(yīng)的頁面控件的值,得到替換完成的增強代碼;
class類名生成模塊,用于通過控件ID在當(dāng)前mysql數(shù)據(jù)庫中查詢當(dāng)前控件ID的最新版本號,并且生成一串隨機字符串用作class類名;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于福建億能達信息技術(shù)股份有限公司,未經(jīng)福建億能達信息技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010650478.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 用于呈現(xiàn)在線實體在線狀態(tài)的系統(tǒng)和方法
- 提供web服務(wù)接入的在線系統(tǒng)和方法
- 定制在線圖標(biāo)
- 一種水質(zhì)在線檢測預(yù)處理裝置
- 在線測試學(xué)習(xí)方法、系統(tǒng)、計算機設(shè)備及存儲介質(zhì)
- 一種在線文檔的分頁方法、裝置、設(shè)備以及可讀介質(zhì)
- 一種基于web在線學(xué)習(xí)的資源訪問平臺
- 一種在線學(xué)習(xí)系統(tǒng)
- 在線文檔提交方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 空調(diào)冷媒量確定方法、系統(tǒng)和可讀存儲介質(zhì)





