[發明專利]一種基于Java反射的業務擴展方法及裝置在審
| 申請號: | 201811614165.2 | 申請日: | 2018-12-27 |
| 公開(公告)號: | CN111443901A | 公開(公告)日: | 2020-07-24 |
| 發明(設計)人: | 崔俊;張歆明 | 申請(專利權)人: | 北京奇虎科技有限公司 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30 |
| 代理公司: | 深圳市世紀恒程知識產權代理事務所 44287 | 代理人: | 胡海國 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 java 反射 業務 擴展 方法 裝置 | ||
本發明提供了一種基于Java反射的業務擴展方法及裝置,所述方法包括:基于大數據平臺獲取任一應用程序的業務擴展的基礎包名;掃描所述基礎包下的多個第三方類信息,為各第三方類信息對應創建所述大數據平臺的計算服務器執行的業務處理任務;其中,所述業務處理任務配置有所述第三方類信息的日志路徑;利用所述計算服務器根據所述業務處理任務中的日志路徑獲取對應第三方類信息,基于所述第三方類信息通過Java反射創建實例對象;基于所述實例對象調用業務處理邏輯執行所述業務處理任務。基于本發明實施例提供的方法,可以在大數據平臺下,實現新的業務類的擴展,進而在保證系統代碼穩定性的同時,提升系統的可擴展性。
技術領域
本發明涉及數據處理技術領域,特別是涉及一種基于Java反射的業務擴展方法及裝置。
背景技術
對于目前使用的系統來說,當需要基于系統新增功能業務時,通常會新增更多的業務類相關自定義文件,對于新增自定義文件的各種類的類名以及實例對象名是千奇百怪的,需要有各自專有的構造函數、屬性名或個性化方法名進行刻意進行調用,導致代碼無法通用化,并且,先前構造好的系統無法感知后來擴展出來的業務。最終使得業務系統的代碼違背了軟件的設計的開閉原則,從而導致代碼過于臃腫,無法維護。
發明內容
本發明提供了一種基于Java反射的業務擴展方法及裝置以克服上述問題或者至少部分地解決上述問題。
根據本發明的一個方面,提供了一種基于Java反射的業務擴展方法,應用于大數據平臺,所述方法包括:
基于大數據平臺獲取任一應用程序的業務擴展的基礎包名;
掃描所述基礎包下的多個第三方類信息,為各第三方類信息對應創建所述大數據平臺的計算服務器執行的業務處理任務;其中,所述業務處理任務配置有所述第三方類信息的日志路徑;
利用所述計算服務器根據所述業務處理任務中的日志路徑獲取對應第三方類信息,基于所述第三方類信息通過Java反射創建實例對象;
基于所述實例對象調用業務處理邏輯執行所述業務處理任務。
可選地,所述掃描所述基礎包下的多個第三方類信息,為各第三方類信息對應創建所述大數據平臺的計算服務器執行的業務處理任務,包括:
掃描所述基礎包下的多個第三方類信息,將所述各第三方類信息轉換為字節碼列表;
基于所述字節碼列表創建所述大數據平臺的計算服務器執行的業務處理任務。
可選地,所述利用所述計算服務器根據所述業務處理任務中的日志路徑獲取對應第三方類信息,基于所述第三方類信息通過Java反射創建實例對象,包括:
利用所述計算服務器根據所述業務處理任務獲取各第三方類信息的字節碼以及業務日志;
基于所述字節碼通過Java反射創建所述業務日志對應業務類名的實例對象。
可選地,所述利用所述計算服務器根據所述業務處理任務獲取各第三方類信息的字節碼以及業務日志之后,還包括:
初始化所述計算服務器的業務處理任務列表,生成包括日志路徑和業務全類名字符串的元組數據;
獲取所述業務日志中各行數據的日志存儲路徑,并從所述元組數據中獲取各日志存儲路徑對應的業務全類名。
可選地,所述基于所述字節碼通過Java反射創建所述業務日志對應業務類名的實例對象,包括:
基于所述業務全類名通過反射創建對應不同類名的實例對象。
可選地,所述基于所述實例對象調用業務處理邏輯執行所述業務處理任務,包括:
基于所述實例對象調用日志處理的業務邏輯,通過所述業務邏輯對所述業務日志進行處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司,未經北京奇虎科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811614165.2/2.html,轉載請聲明來源鉆瓜專利網。





