用于选择同步或异步进程间通信机制的系统和方法

文档序号:8361293阅读:746来源:国知局
用于选择同步或异步进程间通信机制的系统和方法
【专利说明】
[0001] 相关申请的夺叉引用
[0002] 本申请根据美国法典第35卷第119(a)_(d)条要求享有提交于2013年12月27 日的2013158133号俄罗斯申请的优先权的权益,其通过援引并入本文。
技术领域
[0003] 本发明总地涉及计算机操作系统领域,并更具体地,涉及用于选择同步或异步进 程间通信机制的系统、方法和计算机程序产品。
【背景技术】
[0004] 在现代计算机操作系统中,两个进程可使用进程间通信的同步和异步方法交换数 据。进程间通信(IPC)通常包括在一个或多个进程中的一组线程之间交换数据的方法集。 进程可以在通过网络链接的一个或多个计算机上启动。IPC方法被划分为消息传递方法、同 步方法、共享存储器方法和远程过程调用方法。如果进程实施异步操作,则该进程不需要对 于操作的响应来继续其执行。如果进程实施同步操作,则该进程需要对于操作的响应以继 续其执行。操作是在特定进程环境下所执行的基础动作(例如API函数调用)。
[0005] 进程间通信的同步与异步机制通常用于不同目的并各有优劣。异步操作允许进程 无需等待对于操作的响应而继续工作,但其可能较慢,需要较多的操作系统资源,并且可能 预测复杂。另一方面,同步操作可能较快,需要较少的操作系统资源,并且可能易于预测,但 其直到对于操作的响应被接收才允许进程继续工作。
[0006] 然而,在进程之间的通信中出现通过异步调用执行某一任务而效率低下的情形, 譬如,进程利用其工作的资源在某一时刻空闲时,所需数据之前已经被存储在高速缓存中, 以及其他情形。在这类情况下,使用同步操作实施所要求的任务更加有利,因为任务将被快 速执行。同样,存在异步操作可能是更优选的情形。
[0007] 因此,存在对于用于在进程间通信的同步与异步方法之间进行抉择的机制的需 要。

【发明内容】

[0008] 所公开的是用于选择进程间通信的同步或异步方法的系统、方法和计算机程序产 品。
[0009] 根据本发明的一个方面,选择进程间通信的方法包括:由处理器收集有关由参与 进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程能 够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分析所收集的信 息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大化用于数据传 输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他进程对数据传 输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步方法中的一个 以在第一进程和第二进程之间传输数据。
[0010] 根据本发明的另一个方面,用于选择进程间通信的系统包括处理器,其配置为:收 集有关由参与进程间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信 中第一进程能够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分 析所收集的信息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大 化用于数据传输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他 进程对数据传输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步 方法中的一个以在第一进程和第二进程之间传输数据。
[0011] 根据本发明的又一个方面,一种存储在非暂时性计算机可读介质中、用于选择进 程间通信的计算机程序产品,其包括用于以下的计算机可执行指令:收集有关由参与进程 间通信的两个或多于两个进程所使用的资源的信息,在所述进程间通信中第一进程尝试能 够使用同步数据传输方法和异步数据传输方法之一传输数据到第二进程;分析所收集的信 息,以确定何种数据传输方法达到最小化进程之间的数据传输的时间、最大化用于数据传 输的资源的利用、最小化数据传输期间的停滞时间、最小化操作系统的其他进程对数据传 输的影响中的至少一个;以及基于所述确定,选择进程间通信的同步或异步方法中的一个 以在第一进程和第二进程之间传输数据。
[0012] 上述示范性方面的简要概括用来提供对本发明的基本理解。此概括并非对本发明 的所有预期方面的宽泛概述,并且既不意图标识所有方面的关键或决定性元素也不意图划 定任何或所有方面的范围。其唯一目的是以简化的形式呈现一个或多个方面,作为接下来 对本发明的更详细的描述的前序。为了完成前述事项,一个或多个方面包括在权利要求中 所描述和具体指出的特征。
【附图说明】
[0013] 附图并入本说明书中并构成其中的一部分,其示出了本发明的一个或多个示范性 方面,并与详细的描述一起用于解释其原理和实现方案。
[0014] 图1示出了用于选择同步或异步进程间通信的示范性系统的框图。
[0015] 图2示出了用于选择同步或异步进程间通信的示范性方法的流程图。
[0016] 图3示出了可在其上实现用于选择同步或异步进程间通信的系统及方法的示范 性通用计算机系统的框图。
【具体实施方式】
[0017] 本文围绕用于选择进程间通信的同步或异步方法的系统、方法和计算机程序产品 描述了示范性方面。本领域普通技术人员应该理解下面的描述仅是示意性的并且不意图以 任何方式进行限定。受益于本公开的本领域技术人员将易于想到其他方面。现在将详细参 考如附图中示出的示范性方面的实现方案。贯穿附图和下面的描述将尽可能使用相同的参 考标记来指代相同或相似项。
[0018] 图1示出了用于选择同步或异步进程间通信的示范性系统的框图。用于选择 同步或异步类型的进程间通信方法(诸如文件、信号、套接字、信道、命名信道、信号量 (semaphore)、共享存储器、消息传递、存储器映射文件、消息队列等)的系统可以包括第一 进程110、用于提供进程间通信的模块120、分析模块130、用于获得关于所利用的资源的数 据的模块140、以及第二进程150。第一进程110可以配置为在操作系统中实施动作,用于 通过进程间通信方法之一来传输数据给第二进程150。第二进程150可以配置为在操作系 统中实施动作,以通过进程间通信方法之一从第一进程接收数据。用于提供进程间通信的 模块120可以配置为借助数据交换方法的选择来实现进程之间的通信,所述数据交换方法 诸如消息传递、同步、共享存储器或远程过程调用。
[0019] 在进程之间传输信息的需要可以是由于以下事实,即首先,单个进程的架构中的 完整工作逻辑的实现通常是不可能的(当数个应用在一台计算机甚至不同计算机上利用 公用数据工作时的情况下),并且其次,这类工作的整体组织在其实现和协调中是复杂的, 这反过来可能导致执行中的错误,并且还可能成为恶意程序可以利用的漏洞源。
[0020] 进程间通信的示例之一是图像从文档扫描程序到图形处理程序的传输。第一进程 110可以属于扫描程序,并且可以将经扫描的图像保存在临时文件中,第二进程150可以属 于图形处理程序,并且可以确定文件系统中文件的存在、读取文件并在程序窗口中显示图 像。
[0021] 进程之间的数据交换的另外一个示例是描绘从股市站点下载到用户的浏览器的 当前股市信息。在该情况下,在股市服务器上所启动的第一进程Iio在数据被更新时将其 发送至订
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1