[发明专利]通用的高效率的计算机进程间通讯机制无效
申请号: | 200810014648.9 | 申请日: | 2008-02-25 |
公开(公告)号: | CN101231600A | 公开(公告)日: | 2008-07-30 |
发明(设计)人: | 乔英良;王洪亮 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 济南信达专利事务所有限公司 | 代理人: | 姜明 |
地址: | 250014山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通用 高效率 计算机 进程 通讯 机制 | ||
1、技术领域
本发明涉及计算机进程间通讯领域,具体涉及一种通用于各种编程语言所作程序之间的、高效率的进程间通讯机制。
2、技术背景
当前,传统的进程间通讯方法,都需要专门的API支持,该API接口一般是C或C++,但如果要实现不同开发语言所作程序间的进程间通讯,就需要调用各自开发语言所对应的特定接口模块,如Java程序与C/C++程序之间的进程间通讯,需要调用相应的JNI(Java Native Interface Java本地编程接口)接口。
这种特定的接口与具体开发语言之间是紧耦合关系,只能适用于特定开发语言所作程序之间的进程间通讯,不具备通用性。而对于大多数开发语言,它们之间甚至缺乏这样的特定接口,几乎无法完成他们之间的进程间相互通讯。在需要多种编程语言共同完成的软件上,进程间通讯也就变得难以实现,开发目标也难以实现。
为了解决不同开发语言所作程序间的进程间通讯,提高软件开发的灵活性。我们提出一种通用的,适用于多种开发语言所作程序之间的高效率进程间通讯机制。
3、发明内容
本方法区别于传统的基于开发语言特定API接口的进程间通讯机制。本方法是以虚拟字符设备为核心,通过虚拟设备这一桥梁,利用各种开发语言的通用的设备读写操作机制,实现不同开发语言所作软件之间的高效进程间通讯,打破了特定API接口与相应开发语言之间的紧耦合,达到灵活通用的目的。
该机制的体系结构包括:虚拟字符设备,虚拟设备读写模块。其中:
虚拟字符设备是该机制的核心,负责在系统下实现虚拟字符设备,并作为进程间通讯的媒介;
虚拟设备读写模块主要负责不同编程环境下的进程间通讯数据的获取和发送;
本发明的有益效果是:在机制的架构内部实现了自锁机制,不需要程序周期性的查看数据情况,降低了CPU利用率,在进程通讯控制上更为易用和高效。本发明的机制不需要特定API接口限制,即可方便快捷的实现不同开发语言所作程序间的进程间通讯,降低了软件进程间通讯的复杂度,提高了软件开发的自由度,进而在总体上可以有效控制软件开发成本,因而具有非常广阔的应用前景。
4、附图说明
附图1为通用高效率的计算机进程间通讯机制示意图;
5、实施方式
下面参照附图1对本发明的内容以一个具体实例来描述实现这一方法的过程。
正如发明内容中所描述的,本发明的体系结构主要包括:
虚拟字符设备和虚拟设备读写模块。
其中:虚拟字符设备是该机制的核心,负责在系统下实现虚拟字符设备,并作为进程间通讯的媒介;虚拟设备读写模块主要负责不同编程环境下的进程间通讯数据的获取和发送;
虚拟字符设备的实现方式描述如下:在操作系统下编写相应的字符设备驱动,一般一个内核模块实现一个设备,在设备模块种可以同时实现了两个字符设备,这两个设备的类型完全一样,分别称这两个字符设备分别为Left Device和RightDevice,对这两个设备的读写操作完全符合通用API,即通过open打开设备,获得设备的读写权限,通过read和write对设备进行读写。每个设备有16个同样大小的缓冲区,每个设备可以生成256个同类型的设备,完成最多可以在512个进程间同时使用的进程间通讯的模块。
如果有两个进程使用该模块进行通讯,一个进程打开一个Left Device,另一个进程打开Right Device(当然,打开的设备的子设备号是相同的)。例如:一个进程A打开“/dev/lcvipcmodL0”设备用于进程间通讯,那么与进程A进行进程间通讯的进程B必须打开“/dev/lcvipcmodR0”设备,这样才可以进程通讯,这样的设备称为一对设备。由于该模块支持阻塞和非租塞调用,并支持poll和select多端口监听系统调用,可以结合线程和子进程选择一种操作模式。当一个进程向Left Device写数据时,实际上在模块的内部代码中将数据保存到了RightDevice的队列缓冲区,向Right Device写数据时,实际上是保存到了Left Device的队列缓冲区中,然后唤醒在相应的设备上监听、睡眠的进程,进程被唤醒后就可以将数据读出。
虚拟设备读写模块的实现方式描述如下:虚拟设备的读写在系统层面与普通文件读写完全一致,只需要调用开发语言相应的文件读写API即可完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810014648.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:脂质A类似物的制造方法
- 下一篇:阻燃苯乙烯系聚合物泡沫和泡沫前体