[發明專利]基于linuxC語言的輕量級流程調度方法無效
| 申請號: | 201110055573.0 | 申請日: | 2011-03-09 |
| 公開(公告)號: | CN102129389A | 公開(公告)日: | 2011-07-20 |
| 發明(設計)人: | 季君 | 申請(專利權)人: | 南京恩瑞特實業有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 南京天華專利代理有限責任公司 32218 | 代理人: | 徐冬濤;瞿網蘭 |
| 地址: | 211110 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 linuxc 語言 輕量級 流程 調度 方法 | ||
1.一種基于linux?C語言的輕量級流程調度方法,其特征是它包括以下步驟:
首先針對所有的流程模塊進行接口設計,將所有的流程模塊抽象出一個統一的接口,通過調用接口來實現調用具體的流程模塊;
對于需要流程調度的模塊來說,前一個流程的輸出,就是后一個流程的輸入;為此,把流程調度的所有模塊作為一個黑匣子,則整個流程的輸入和輸出應該走遍流程的每一個步驟,而流程只是對輸入數據進行調控;在linux?C語言中,動態加載針對的是so動態庫,通過加載不同的動態庫來實現動態加載;然后通過以下方法進行動態調用:
首先,有一個流程定義,需按步驟進行Flow1、Flow2、Flow3、Flow1和Flow4的處理;因為其中不確定哪些流程會重復處理,因此通過0/1來控制是否進行該流程;
為此,定義一種流程定義和解析策略:通過一位ASCII字符來定義流程名稱,通過一個string(char*)字符串來定義該流程定義對應的處理模塊的so文件的具體路徑信息,并用$PATH表示具體的路徑信息;這樣,通過一個字符串來定義本次的流程,然后提交給流程調度模塊。
流程調度模塊解析流程定義的每一位字符,然后從流程定義表中獲取該處理流程的動態庫的路徑,通過dlopen()方法打開動態庫,并通過dlsym()方法來執行,最后通過dlclose來關閉動態庫;當流程定義的字符串沒有處理完畢時,不斷重復上述操作,直到處理完畢;
其次按以下處理邏輯進行調度:
第1步:用戶獲取流程別名,并將流程別名和輸入輸出數據提交給流程引擎;
第2步:流程引擎獲取到流程別名后,在流程配置表中查詢并獲取其定義的具體流程信息;
第3步:獲取第一位流程定義字符;
第4步:在流程定義表中獲取該流程的處理模塊so的定義信息,并將輸入信息和定義信息提交給執行模塊;
第5步:執行模塊動態加載并執行定義信息中的so文件,修改輸入輸出信息;
第6步:獲取下一位流程定義字符,如果該字符為空,則轉第7步,否則轉第4步;
第7步:流程執行完畢。
2.根據權利要求1所述的方法,其特征是所述的接口定義規格如下:
3.根據權利要求1所述的方法,其特征是所述的so動態庫是通過對結構的程序編譯生成的:
重復對不同的so動態庫進行編譯生成不同的so處理模塊,最終形成動態庫文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京恩瑞特實業有限公司,未經南京恩瑞特實業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110055573.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種個體水平肥胖預測模型
- 下一篇:一種將食物密封于罐內的烤制方法





