[發明專利]一種動態庫自動加載方法、系統及應用在審
| 申請號: | 202010124148.1 | 申請日: | 2020-02-27 |
| 公開(公告)號: | CN111506357A | 公開(公告)日: | 2020-08-07 |
| 發明(設計)人: | 張小剛;齊樂;王紹源;邊耐政;陳華 | 申請(專利權)人: | 湖南大學 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F8/41 |
| 代理公司: | 湖南兆弘專利事務所(普通合伙) 43008 | 代理人: | 周長清;廖元寶 |
| 地址: | 410082 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 動態 自動 加載 方法 系統 應用 | ||
本發明公開了一種動態庫自動加載方法及系統,屬于計算機技術領域,用于解決目前動態庫人工服務化封裝開發成本及維護成本高、標準混亂的技術問題,采用的技術方案為:對動態庫的名稱、路徑以及動態庫中函數的屬性進行描述,形成函數描述文件;讀取函數描述文件并進行解析,獲得動態庫內各函數的屬性,建立函數名稱/類型映射表;同時獲得待加載動態庫的名稱和路徑,對動態庫進行預加載。本發明的方法及系統均具有靈活性高、操作簡便、開發成本及維護成本低等優點。
技術領域
本發明主要涉及計算機技術領域,特指一種動態庫自動加載方法、系統及應用。
背景技術
隨著工業自動化進程不斷發展,工業現場中使用機器人的場景越多越多。不同型號的機器人控制方法均有所差異。目前通行的做法是,廠商提供機器人控制的SDK(軟件開發工具包)一般是動態鏈接庫形式,供上位機用戶調用,動態庫中廠商通過套接字形式與機器人本地交互實現對機器人的控制。這種方式將會導致:如果多個用戶需要與某臺機器人進行信息交互時,均需要配置安裝相應動態庫環境。
隨著面向服務架構(Service Oriented Architecture,SOA)的應用逐漸成熟,為機器人功能靈活拓展提供一個新的思路。利用SOA架構的粗粒度、開放式、松耦合的服務結構特點,提升分布式機器人系統的靈活性,實現工業機器人軟件的敏捷開發。
動態庫的服務化封裝,目的是將本地封裝的函數功能庫映射互聯網上,以服務形式供更多用戶使用,降低分布式系統中各節點的耦合性。目前基于動態庫的服務化封裝還是依靠人工,該過程可以分解成兩個部分:服務發布、動態庫加載。服務的發布有很多框架工具,例如c++下的gsoap、java ee中Axis等等。動態庫的加載則有兩種方式,靜態調用與動態調用。對于一個已知動態庫的服務化封裝流程如下:
步驟1:查看動態庫的接口文檔,根據文檔設計服務接口;
步驟2:設計服務框架,生成服務發布代碼;
步驟3:庫中函數的加載映射;
步驟4:將動態庫中各函數嵌入服務框架中。
由于每個庫中函數的名稱型式都有一定的差異,現行的動態庫服務化封裝主要還是依靠人工,首先需要人工設計庫中每個函數的接口,然后映射到庫中具體的函數。
上述步驟都需要技術人員參與深度參與,從而導致現有的動態庫人工服務化封裝存在以下不足:
1、從技術要求來說,服務化封裝對要求開發人員對網絡開發有較深入的了解,需要針對庫中的接口設計相應服務接口,增加系統開發成本,同時手動服務化封裝復雜且工作量較大,存在技術風險;
2、由于涉及代碼編寫,后期還需要專人維護升級,增加后期維護成本;
3、不同團隊實現的服務封裝標準難免存在差異,各種自定義標準導致更加混亂(不同廠商定義各自標準)。
發明內容
本發明要解決的技術問題就在于:針對現有技術存在的技術問題,本發明提供一種靈活性高、操作簡便、成本低的動態庫自動加載方法、系統及應用。
為解決上述技術問題,本發明提出的技術方案為:
一種動態庫自動加載方法,包括步驟:
1)對動態庫的名稱、路徑以及動態庫中函數的屬性進行描述,形成函數描述文件;
2)讀取函數描述文件并進行解析,獲得動態庫內各函數的屬性,建立函數名稱/類型映射表;同時獲得待加載動態庫的名稱和路徑,對動態庫進行預加載。
作為上述技術方案的進一步改進:
在步驟1)中,所述函數的屬性包括函數名稱、函數類型、函數參數或函數功能中的一種或多種。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南大學,未經湖南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010124148.1/2.html,轉載請聲明來源鉆瓜專利網。





