CN104375900A - 一种kux系统下基于数据管道的进程间通讯的实现方法 - Google Patents
一种kux系统下基于数据管道的进程间通讯的实现方法 Download PDFInfo
- Publication number
- CN104375900A CN104375900A CN201410686530.6A CN201410686530A CN104375900A CN 104375900 A CN104375900 A CN 104375900A CN 201410686530 A CN201410686530 A CN 201410686530A CN 104375900 A CN104375900 A CN 104375900A
- Authority
- CN
- China
- Prior art keywords
- communication
- module
- data
- kux
- data pipe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 230000006854 communication Effects 0.000 title claims abstract description 113
- 238000004891 communication Methods 0.000 title claims abstract description 107
- 238000012545 processing Methods 0.000 claims description 14
- 230000005856 abnormality Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 2
- 230000015556 catabolic process Effects 0.000 abstract 1
- 230000002068 genetic effect Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种KUX系统下基于数据管道的进程间通讯的实现方法,涉及UNIX以及KUX的操作系统领域中的进程间通讯方式领域。本发明主要分为以下五个模块:进程管理模块(1)、数据管道模块(2)、通讯控制模块(3)、文件管理模块(4)、异常处理模块(5);使用模块化的思想有效的完成了KUX系统下具有亲缘关系的进程之间的通信的方法,通过匿名管道的方式实现通讯,还加强了对管道文件的管理和保护,另外,增加异常处理模块,以供出现异常时不至于整个通讯系统的崩溃。
Description
技术领域
本发明涉及UNIX以及KUX的操作系统领域中的进程间通讯方式,在 KUX 应用开发中会遇到进程间通讯的需求,进程间通讯的方法有很多,例如通过共享内存、信号量、内存映射文件、数据管道、文件、Socket 等等。这里介绍的一种通过数据管道和系统标准输入输出文件描述符相结合的方式来实现进程间通讯和数据交互。
背景技术
匿名管道:管道是进程间协同工作的一种方式,单独构成一种独立的文件系统,管道是半双工的。而匿名管道数据只能向一个方向流动,双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。
文件指针与管道:当我们要读写一个文件,需要用到文件指针,它是一个指向结构体的指针。我们对管道进行读写操作时也需要用到文件指针,通过文件指针来对管道一端进行写,而另一端的进程则通过文件指针进行读。如果文件指针指向的是标准输入,那么该进程则是从标准输入中读取数据,通过匿名管道实现进程间通讯:通信场景如下:现在有两个进程 A、进程 B(是进程 A 的子进程),进程 A 从数据库中读取一条待处理数据 M,数据 M 中存储了进程 A 需要调用的可执行程序名称及需要传递给可执行程序的参数。参数很多,并且参数长度及个数以及类型都是变化的。
发明内容
本文利用文件指针进行匿名管道的读写操作,不采取参数传递方法,而采用了匿名管道进程间通信方法。
对于本发明,使用了匿名管道方式,来实现进程间的通讯。通过数据管道和系统标准输入输出文件描述符相结合的方式来实现进程间通讯和数据交互。
本发明提供一种KUX系统下基于数据管道的进程间通讯的实现方法,解决KUX系统下具有亲缘关系的进程之间的通信的实现方法。主要分为以下五个模块:进程管理模块(1)、数据管道模块(2)、通讯控制模块(3)、文件管理模块(4)、异常处理模块(5)。
进程管理模块(1)是通讯实现方法的进程管理模块,其主要目的是对通讯前提进行定义,比如两个进程间通讯的相关性。
数据管道模块(2)是通讯实现方法的核心模块,其主要目的是通过匿名管道通讯实现数据传递和通讯的管道设置。
通讯控制模块(3)是对整体通讯方法的控制模块,其主要目的是对通讯中的进程、传递方式、通讯模式等进行有效的管理。
文件管理模块(4)是对通讯内容的一个管理模块,其主要目的是对数据传递的内容进行有效的管理。
异常处理模块(5)是进程通讯方法中出现的异常进行处理的模块,其主要目的是对异常通信情况进行分析和处理。
进程通讯的步骤如下:
第一步、调用进程管理模块对需要通讯的进程进行管理和调度,实现对具有亲缘关系的进程有效的管理。
第二步、通讯控制模块通过调用数据管道模块,来进行通讯方式和传递方式的管理和调度,这里的数据管道的选择也是通过通讯控制模块来进行管理的。
第三步、文件管理模块根据进程需要通讯的数据进行文件化处理,实现系统间通信的标准输入输出文件的设置。
第四步、进程间进行通讯,以及数据传递。期间调用异常处理模块,对进程通讯过程中出现的异常情况进行有效的分析和管理。
第五步、通讯结束,关闭所有方法模块。
本发明有益的效果是:通过基于数据管道在KUX进程通讯的实现方法,实现了通过数据管道和系统标准输入输出文件描述符相结合的方式来实现进程间通讯和数据交互的进程通讯方式,可以对KUX中的具有亲缘关系的进程进行有效的通讯和数据文件的有效传递。通过基于数据管道的技术,提高了数据在传递中的安全性和准确性,对于进程间的通讯模式,也是一个颠覆性的创新。除此之外,本发明在实现过程中采用了模块化的设计思想,对功能进行了有效的拆分,提高了通讯方法在以后的功能可扩展性。对于本发明,重点对进程通讯过程中的异常分析和处理也做了相应的解决方案,可以对出现的异常进行有效的分析和处理,在KUX进程通讯方面,具有非常广阔的方展前景。
附图说明
附图1 数据管道通信原理图。
附图2 进行通讯方法的工作流程图。
具体实施方式
下面参照附图,对本发明的内容以一个具体实例来描述实现这一体系结构的过程。
正如发明内容中所描述的,通过基于数据管道在KUX进程通讯的实现方法,主要有进程管理模块(1)、数据管道模块(2)、通讯控制模块(3)、文件管理模块(4)、异常处理模块(5)五个模块构成。
进程管理模块(1)是通讯实现方法的进程管理模块,其主要目的是对通讯前提进行定义,比如两个进程间通讯的相关性。
数据管道模块(2)是通讯实现方法的核心模块,其主要目的是通过匿名管道通讯实现数据传递和通讯的管道设置。
通讯控制模块(3)是对整体通讯方法的控制模块,其主要目的是对通讯中的进程、传递方式、通讯模式等进行有效的管理。
文件管理模块(4)是对通讯内容的一个管理模块,其主要目的是对数据传递的内容进行有效的管理。
异常处理模块(5)是进程通讯方法中出现的异常进行处理的模块,其主要目的是对异常通信情况进行分析和处理。
数据管道通讯的实现方法步骤如下:
第一步、调用进程管理模块对需要通讯的进程进行管理和调度,在本模块中记录需要通信的两个进程的PID,说明需要通信的时哪两个进程,从而实现对具有亲缘关系的进程进行有效的管理。
第二步、通讯控制模块通过调用数据管道模块,来进行通讯方式和传递方式的管理和调度,这里的数据管道的选择也是通过通讯控制模块来进行管理的,包括双向管道还是单向管道的选择。
第三步、文件管理模块根据进程需要通讯的数据进行文件化处理,即建立管道文件,供给进程访问,并赋予访问的通信进程相应的权限,不允许不在进程管理模块中备案的进程访问该管道文件,从而实现具有亲缘关系的进程之间通信的类似于标准输入输出文件的设置。
第四步、进程间进行通讯,以及数据传递,首先,提供数据的进程将数据写入文件管理模块建立的管道文件中,当数据写入结束时发出信号,通知通讯控制模块,此时讲允许获取信息的进程读取管道文件中的数据,读取结束时通知通讯控制模块,此时,就完成了一次数据通讯,在此期间异常处理模块一直处于活动状态,检测整个通讯过程,如果中间出现异常,讲由异常处理模块接手此次通讯,并通知通讯控制模块,此次通讯失败,异常处理模块能够对进程通讯过程中出现的异常情况进行有效的分析和管理,其中异常情况比如:管道文件不存在,无法正常读写,管道文件被占用等等情况。
第五步、通讯结束,关闭所有方法模块。
Claims (3)
1.一种KUX系统下基于数据管道的进程间通讯的实现方法,其特征在于主要分为进程管理模块(1)、数据管道模块(2)、通讯控制模块(3)、文件管理模块(4)、异常处理模块(5)五个模块构成;
进程管理模块(1),其主要目的是对通讯前提进行定义;
数据管道模块(2),是通讯实现方法的核心模块,其主要目的是通过匿名管道通讯实现数据传递和通讯的管道设置;
通讯控制模块(3),是对整体通讯方法的控制模块,其主要目的是对通讯中的进程、传递方式、通讯模式等进行有效的管理;
文件管理模块(4),是对通讯内容的一个管理模块,其主要目的是对数据传递的内容进行有效的管理;
异常处理模块(5),是进程通讯方法中出现的异常进行处理的模块,其主要目的是对异常通信情况进行分析和处理;
通过数据管道和系统标准输入输出文件描述符相结合的方式来实现进程间通讯和数据交互。
2.根据权利要求1所述的KUX系统下基于数据管道的进程间通讯的实现方法,其特征在于进程通讯的步骤如下:
第一步、调用进程管理模块对需要通讯的进程进行管理和调度,实现对具有亲缘关系的进程有效的管理;
第二步、通讯控制模块通过调用数据管道模块,来进行通讯方式和传递方式的管理和调度,这里的数据管道的选择也是通过通讯控制模块来进行管理的;
第三步、文件管理模块根据进程需要通讯的数据进行文件化处理,实现系统间通信的标准输入输出文件的设置;
第四步、进程间进行通讯,以及数据传递;期间调用异常处理模块,对进程通讯过程中出现的异常情况进行有效的分析和管理;
第五步、通讯结束,关闭所有方法模块。
3.根据权利要求1所述的KUX系统下基于数据管道的进程间通讯的实现方法,其特征在于数据管道模块使用了匿名管道通讯方式,可以只作用于父子进程或者是兄弟进程之间的通讯,或者是具有亲缘管理的进程通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410686530.6A CN104375900A (zh) | 2014-11-26 | 2014-11-26 | 一种kux系统下基于数据管道的进程间通讯的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410686530.6A CN104375900A (zh) | 2014-11-26 | 2014-11-26 | 一种kux系统下基于数据管道的进程间通讯的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104375900A true CN104375900A (zh) | 2015-02-25 |
Family
ID=52554836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410686530.6A Pending CN104375900A (zh) | 2014-11-26 | 2014-11-26 | 一种kux系统下基于数据管道的进程间通讯的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104375900A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953862A (zh) * | 2017-03-23 | 2017-07-14 | 国家电网公司 | 网络安全态势的感知方法和装置及感知模型训练方法和装置 |
CN113125320A (zh) * | 2021-04-07 | 2021-07-16 | 南京信息工程大学滨江学院 | 针对气溶胶的观测平台及其流程 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055847A1 (en) * | 2009-08-26 | 2011-03-03 | Hon Hai Precision Industry Co., Ltd. | Process management system and method |
CN103455380A (zh) * | 2012-06-05 | 2013-12-18 | 上海斐讯数据通信技术有限公司 | 多进程通信系统及其建立和通信方法 |
CN104063375A (zh) * | 2013-03-18 | 2014-09-24 | 深圳市腾讯计算机系统有限公司 | 管道通讯的方法和装置 |
-
2014
- 2014-11-26 CN CN201410686530.6A patent/CN104375900A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110055847A1 (en) * | 2009-08-26 | 2011-03-03 | Hon Hai Precision Industry Co., Ltd. | Process management system and method |
CN103455380A (zh) * | 2012-06-05 | 2013-12-18 | 上海斐讯数据通信技术有限公司 | 多进程通信系统及其建立和通信方法 |
CN104063375A (zh) * | 2013-03-18 | 2014-09-24 | 深圳市腾讯计算机系统有限公司 | 管道通讯的方法和装置 |
Non-Patent Citations (1)
Title |
---|
XUE815020462: "IPC之匿名管道详解与使用", 《HTTP://BLOG.CSDN.NET/XUELOVEXIAO/ARTICLE/DETAILS/9240489》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953862A (zh) * | 2017-03-23 | 2017-07-14 | 国家电网公司 | 网络安全态势的感知方法和装置及感知模型训练方法和装置 |
CN113125320A (zh) * | 2021-04-07 | 2021-07-16 | 南京信息工程大学滨江学院 | 针对气溶胶的观测平台及其流程 |
CN113125320B (zh) * | 2021-04-07 | 2022-02-18 | 南京信息工程大学滨江学院 | 针对气溶胶的观测平台及其流程 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8539175B2 (en) | Transferring learning metadata between storage servers having clusters via copy services operations on a shared virtual logical unit that stores the learning metadata | |
US20070220360A1 (en) | Automated display of trace historical data | |
EP3144810B1 (en) | System for data aggregation and analysis of data from a plurality of data sources | |
CN102708326A (zh) | 一种涉密文件的保护方法 | |
CN102831069A (zh) | 内存处理方法、内存管理设备 | |
CN102385508A (zh) | 一种异常处理的方法、装置和软件系统 | |
CN106126279A (zh) | 自动添加bim模型族文件信息的方法及系统 | |
CN104718529B (zh) | 表示没有外部引用的引用属性注释 | |
CN104375900A (zh) | 一种kux系统下基于数据管道的进程间通讯的实现方法 | |
CN101685420B (zh) | 多线程调试方法和装置 | |
US20170286140A1 (en) | Java-based offload service in a mainframe environment | |
US8918765B2 (en) | Auto-documenting based on real-time analysis of code execution | |
CN102141955B (zh) | 一种基于Linux的内核日志系统及实现方法 | |
CN106502581B (zh) | 闪存控制器、闪存控制方法和固态硬盘 | |
CN113849503B (zh) | 一种开放式大数据处理系统、方法及介质 | |
CA2785370A1 (en) | Meter access management system | |
CN111625532A (zh) | 数据血缘关系处理方法、装置、计算机设备及存储介质 | |
US20140380337A1 (en) | Event-driven application systems and methods | |
CN105550582A (zh) | 访问虚拟磁盘的方法及系统 | |
CN107665243A (zh) | 一种基于数据库访问的跨语言环境数据交互方法 | |
CN102347897A (zh) | 用于对外围数据进行数据交换的方法和子模块 | |
CN103488853A (zh) | 一种超效率dea模型无可行解单元超效率值的计算方法 | |
CN111158796B (zh) | 一种液压控制软件的数据处理方法 | |
CN103440129A (zh) | 一种多信息管理系统的万向接口平台 | |
RU2668967C1 (ru) | Система обработки и хранения данных технологических процессов |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150225 |
|
WD01 | Invention patent application deemed withdrawn after publication |