[发明专利]经由异步编程模型执行操作有效
申请号: | 201110086409.6 | 申请日: | 2011-04-07 |
公开(公告)号: | CN102214094A | 公开(公告)日: | 2011-10-12 |
发明(设计)人: | M·皮卡佐 | 申请(专利权)人: | 西门子公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 王岳;卢江 |
地址: | 德国*** | 国省代码: | 德国;DE |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 经由 异步 编程 模型 执行 操作 | ||
技术领域
本发明涉及分别根据权利要求1和7的前序部分的用于经由异步编程模型(Asynchronous Programming Model)执行操作的方法和系统。
背景技术
在当今的工业自动化的世界中,制造公司为了改进它们的生产能力和它们的竞争力,使用针对工业控制和自动化的IT基础设施。
用于工业自动化的软件产品随着时间在范围和改进方面已增加,以便适应制造公司的多种需求。
如制造企业解决方案协会(MESA国际组织)定义的那样,MES系统是通过管理“从订单释放点到制造到产品递送点到制成品的生产操作”并且通过“经过组织和供应链经由双向通信向别人提供关于生产活动的任务关键信息”来“驱动制造操作的有效执行的动态信息系统”。
为了改进制造厂的质量和工艺性能,MES系统通常包括的功能是资源分配和状况、分派生产定单、数据收集/采集、质量管理、维护管理、性能分析、操作/细节调度、文档控制、劳力管理、工艺管理和产品跟踪。
例如,Siemens公司提供其SIMATIC?产品系列下的多种多样的MES产品。
在制造厂中,为了实现集成自动化的方法,各种配置实现灵活机器(flexible machine)概念的实施,所述灵活机器概念在中枢(backbone)中需要相当复杂且精细的软件解决方案。
在开发复杂的软件架构(其中需要高性能)中,通常有必要执行耗时的软件操作并且相应地定义用于达到和维持常常需求的所需性能的策略。
将被执行的操作的示例可以包括一系列语句(statement),这包含可能是耗时的对数据库的访问请求。如本文所使用的那样,技术术语“作业(job)”指的是要被执行的此类操作。
用于加速作业执行的一种已知使用的策略是以并行的模式、与托管应用的操作系统(OS)集成地进行执行。
因此,现有技术使用多线程架构,其中在线程中执行作业。利用该方法,有可能在同一应用中并行执行多个作业。
实施(implement)多线程应用的最公知的方式是具有等待作业被执行的线程池。
例如,其主要任务是执行作业的普通线程(generic thread)被实施并且执行状态被跟踪;其主要活动(activity)是协调线程池的线程调度器被实施并且按线程中的每一个来指派作业并且执行该作业。
可以在使控制器得到要执行的作业以及等待作业的结果或其执行的通知的应用中使用线程池解决方案。
根据所期望的应用的行为(behavior),可以使用动态列表或数组列表来实施线程池。该行为可以被定义为调度器为了指派并执行例如调度器中的作业而应用的逻辑,有可能限制并发线程的最大数目或者执行具有最大优先级的作业。
如本领域所已知的以及在技术出版物例如“Win32 Multithreaded Programming”[参考文献1]和“Concurrent Programming On Windows” [参考文献2]中所解释的那样,存在可以应用于多线程编程中的若干架构。
然而,所有已知的架构共享两个主要问题,它们是复杂性和与托管该应用的OS的集成。
就复杂性问题来说,当调度器和作业的需求增加时,所需的代码行的数目连同其复杂性一起相应增加。并且随着复杂性的增加,应用的维护变得更难。
就与托管该应用的OS的集成的问题来说,非常重要的是清楚地知道调度器对其他程序的以及反过来的主要影响,以便优化集成过程,这归因于事实:操作系统具有在同时运行若干程序时管理程序的行为的规则。
此外,当软件工程师必须实施需要耗时的软件操作的应用时,它们不得不解决“竞态(race condition)”问题,即资源的冲突。事实上,硬件具有其自己的有限资源,例如一个个人计算机被提供有给定数目的硬盘和CPU,并且可能发生的是必须从不同的作业访问相同的文件。
多线程架构的另一缺点是,在多线程架构中同时执行多个作业不总是如此。事实上,不能以并行的模式来执行某种类的作业,例如当两个作业必须从同一文件读取或者必须写入到同一文件时。
此外,期望发现一种解决方案,用于加速可在多个应用和多个不同种类中重复使用的操作的执行。
用于解决上面提到的问题的某些明显的优点被基于在Microsoft.NET框架中提供的异步编程模型(APM)的编程方法提供。这样的方法改进了在并行模式中执行的作业的功能。
事实上,APM模型定义用于编程异步操作的模式,其允许异步操作的并发执行并且与Windows操作系统自然集成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子公司,未经西门子公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110086409.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:液体容纳体、液体消耗装置以及电气连接体
- 下一篇:一种烘干设备