[發(fā)明專利]一種在線編碼動態(tài)生效的方法、裝置、設備和介質有效
| 申請?zhí)枺?/td> | 202010650478.4 | 申請日: | 2020-07-08 |
| 公開(公告)號: | CN111984241B | 公開(公告)日: | 2022-06-07 |
| 發(fā)明(設計)人: | 黃家昌;陳福平;楊輝;邱道椿 | 申請(專利權)人: | 福建億能達信息技術股份有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41;G06F8/71;G06F8/72 |
| 代理公司: | 福州市鼓樓區(qū)京華專利事務所(普通合伙) 35212 | 代理人: | 林云嬌 |
| 地址: | 350000 福建省福州市鼓樓*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 在線 編碼 動態(tài) 生效 方法 裝置 設備 介質 | ||
1.一種在線編碼動態(tài)生效的方法,其特征在于:包括下述步驟:
S1、由前臺控件的監(jiān)聽事件接受編寫的增強代碼,所述增強代碼包括預先約定的用于獲取頁面參數(shù)的字符串,并將增強代碼的代碼片段、控件ID或者代碼塊名稱、代碼片段類型作為參數(shù)傳遞至后臺;
S2、后臺接收到參數(shù)后,用正則匹配規(guī)則將代碼片段中的用于獲取頁面參數(shù)的字符串按順序替換成相對應的頁面控件的值,得到替換完成的增強代碼,再通過控件ID在當前mysql數(shù)據(jù)庫中查詢當前控件ID的最新版本號,并且生成一串用作class類名的隨機字符串,讀取事先寫好的JavaTemplate的模版文件,解析之后拼上用作class類名的所述隨機字符串,拼接完成后,連同參數(shù)替換完成的增強代碼一并植入到JavaTemplate模版文件的函數(shù)體內,得到完整的.java的字符串,進而生成一份.java文件,然后通過編譯工具編譯成.class的文件;
S3、將所述.class的文件放置于服務器指定路徑,并將這個類加載至jvm的內存當中;
S4、把前臺傳遞過來的參數(shù)變成相應的bean 實體攜帶上新的版本號與參數(shù)替換完成的增強代碼 一并存到mysql數(shù)據(jù)庫當中。
2.根據(jù)權利要求1所述的一種在線編碼動態(tài)生效的方法,其特征在于:所述獲取頁面參數(shù)的字符串包括:
#{},表示根據(jù)控件別名獲取控件值;
#!{},表示根據(jù)前臺API獲取頁面參數(shù)。
3.根據(jù)權利要求1所述的一種在線編碼動態(tài)生效的方法,其特征在于:
步驟S3中,還包括將所述.class的文件上傳至ftp文件服務器,并將該類的類名寫到消息隊列中。
4.根據(jù)權利要求3所述的一種在線編碼動態(tài)生效的方法,其特征在于:步驟S2中的,對代碼片段中的預先約定的字符串按順序替換是將第一個參數(shù)替換成args.get(0),將第二個參數(shù)替換成args.get(1),以此類推。
5.一種在線編碼動態(tài)生效的裝置,其特征在于:包括:
前臺控件,用于通過監(jiān)聽事件接受編寫的增強代碼,所述增強代碼包括預先約定的用于獲取頁面參數(shù)的字符串,并將增強代碼的代碼片段、控件ID或者代碼塊名稱、代碼片段類型作為參數(shù)傳遞至后臺;
參數(shù)替換模塊,用于后臺接收到參數(shù)后,用正則匹配規(guī)則將代碼片段中的用于獲取頁面參數(shù)的字符串按順序替換成相對應的頁面控件的值,得到替換完成的增強代碼;
class類名生成模塊,用于通過控件ID在當前mysql數(shù)據(jù)庫中查詢當前控件ID的最新版本號,并且生成一串隨機字符串用作class類名;
模版文件解析拼接模塊,用于讀取事先寫好的JavaTemplate的模版文件,解析之后拼上用作class類名的所述隨機字符串,拼接完成后,連同參數(shù)替換完成的增強代碼一并植入到JavaTemplate模版文件的函數(shù)體內,得到完整的.java的字符串,進而生成一份.java文件;然后送往編譯工具,通過編譯工具編譯成.class的文件;
存儲和加載模塊,用于將編譯好的所述.class的文件放置于服務器指定路徑,并將這個類加載至jvm的內存當中;
數(shù)據(jù)庫模塊,用于把前臺傳遞過來的參數(shù)變成相應的bean 實體攜帶上新的版本號與參數(shù)替換完成的增強代碼一并存到mysql數(shù)據(jù)庫當中。
6.根據(jù)權利要求5所述的一種在線編碼動態(tài)生效的裝置,其特征在于:所述獲取頁面參數(shù)的字符串包括:
#{},表示根據(jù)控件別名獲取控件值;
#!{},表示根據(jù)前臺API獲取頁面參數(shù)。
7.根據(jù)權利要求5所述的一種在線編碼動態(tài)生效的裝置,其特征在于:還包括:
共享模塊,用于將編譯好的所述.class的文件上傳至ftp文件服務器;
消息隊列模塊,用于將所述class類名寫到消息隊列中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建億能達信息技術股份有限公司,未經(jīng)福建億能達信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010650478.4/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。





