[发明专利]基于linuxC语言的轻量级流程调度方法无效
申请号: | 201110055573.0 | 申请日: | 2011-03-09 |
公开(公告)号: | CN102129389A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 季君 | 申请(专利权)人: | 南京恩瑞特实业有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 南京天华专利代理有限责任公司 32218 | 代理人: | 徐冬涛;瞿网兰 |
地址: | 211110 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于linux C语言的轻量级流程调度方法,其特征是它包括以下步骤:首先针对所有的流程模块进行接口设计,将所有的流程模块抽象出一个统一的接口,通过调用接口来实现调用具体的流程模块;其次在linux C中,通过加载不同的动态库来实现动态加载,编译生成不同的so处理模块,形成动态库文件;动态调用时有一个流程定义,需按步骤进行Flow1、Flow2、Flow3、Flow1和Flow4的进行处理,并通过一位ASCII字符来定义流程名称,通过一个string(char*)字符串来定义改流程定义对应的处理模块的so文件的具体路径信息,用$PATH表示具体的路径信息,流程调度模块解析流程定义的每一位字符,然后流程定义表中获取该处理流程的动态库的路径通过dlopen()方法打开动态库,并通过dlsym()方法来执行,最后通过dlclose来关闭动态库。当流程定义的字符串没有处理完毕时,不断重复上述操作,直到处理完毕。本发明所需资源开销小,成本低。 | ||
搜索关键词: | 基于 linuxc 语言 轻量级 流程 调度 方法 | ||
【主权项】:
一种基于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步:流程执行完毕。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京恩瑞特实业有限公司,未经南京恩瑞特实业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201110055573.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种个体水平肥胖预测模型
- 下一篇:一种将食物密封于罐内的烤制方法