发明名称 通用的高效率的计算机进程间通讯机制
摘要 本发明的通用的高效率的计算机进程间通讯机制,通过模拟设备的形式,灵活的实现多进程间通讯,打破了传统的基于开发语言API接口实现的进程间通讯机制,适用于不同开发语言实现的软件下的进程间通讯,降低了进程间通讯的复杂度,提高了软件运行效率,且具有很高的通用性。可以实现多个进程间的高效并发通讯,能够满足数百个进程同时进行通讯;也可以实现1对多的通讯模式,而且在架构内部实现了锁机制,如果设备的队列缓冲区中没有数据,那么进程或线程将一直阻塞在这里,直到有数据到来后,系统会自动唤醒该进程,不需要程序周期性的查看数据情况,降低了CPU利用率,在进程通讯控制上更为易用和高效。
申请公布号 CN101231600A 申请公布日期 2008.07.30
申请号 CN200810014648.9 申请日期 2008.02.25
申请人 浪潮电子信息产业股份有限公司 发明人 乔英良;王洪亮
分类号 G06F9/54(2006.01) 主分类号 G06F9/54(2006.01)
代理机构 济南信达专利事务所有限公司 代理人 姜明
主权项 1.通用的高效率的计算机进程间通讯机制,其特征在于该机制的体系结构包括:虚拟字符设备和虚拟设备读写模块;其中:虚拟字符设备是该机制的核心,负责在系统下实现虚拟字符设备,并作为进程间通讯的媒介;虚拟设备读写模块主要负责不同编程环境下的进程间通讯数据的获取和发送;在体系结构中,虚拟字符设备的实现方式描述如下:在操作系统下编写相应的字符设备驱动,一个内核模块实现一个设备模块,在设备模块中同时设置两个类型完全一样字符设备,分别称这两个字符设备分别为Left Device和Right Device,对这两个设备的读写操作完全符合通用API,即通过open打开设备,获得设备的读写权限,通过read和write对设备进行读写,每个设备有16个同样大小的缓冲区,每个设备生成256个同类型的设备,完成最多在512个进程间同时使用的进程间通讯的模块;有两个进程使用该模块进行通讯,一个进程打开一个Left Device,另一个进程打开RightDevice,打开的设备的子设备号是相同的,由于该模块支持阻塞和非租塞调用,并支持poll和select多端口监听系统调用,结合线程和子进程选择一种操作模式,当一个进程向Left Device写数据时,实际上在模块的内部代码中将数据保存到了Right Device的队列缓冲区,向RightDevice写数据时,实际上是保存到了Left Device的队列缓冲区中,然后唤醒在相应的设备上监听、睡眠的进程,进程被唤醒后将数据读出;虚拟设备读写模块的实现方式描述如下:虚拟设备的读写在系统层面与普通文件读写完全一致,只需要调用开发语言相应的文件读写API即可完成。
地址 250014山东省济南市历下区山大路224号