《一种基于管道进程间的定时通信方法.pdf》由会员分享,可在线阅读,更多相关《一种基于管道进程间的定时通信方法.pdf(4页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103176856 A (43)申请公布日 2013.06.26 CN 103176856 A *CN103176856A* (21)申请号 201310112131.4 (22)申请日 2013.04.02 G06F 9/54(2006.01) (71)申请人 浪潮电子信息产业股份有限公司 地址 250014 山东省济南市高新区舜雅路 1036 号 (72)发明人 吕万波 张道伟 王旭 (54) 发明名称 一种基于管道进程间的定时通信方法 (57) 摘要 本发明提供一种基于管道进程间的定时通信 方法, 是在同一台机器上的有着业务联系的两个 进程之间, 通过管道搭建一。
2、种通信的数据模型来 完成两个进程之间的定时数据通信, 具体为 : 数 据发送进程通过管道建立一种数据存放的数据模 型, 读进程通过一定的规则读取数据模型中数据, 这样完成两个进程间的通信 , 达到两个进程间定 时通信的目的, 此方法的应用不但可以完成同一 台机器上的有业务联系的两进程间的通信, 还可 以对发送数据在由多个管道构建的数据模型上做 一定的逻辑处理 , 完成定时通信的目的。 (51)Int.Cl. 权利要求书 1 页 说明书 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书2页 (10)申请公布号 CN 103176856 A CN 1031。
3、76856 A *CN103176856A* 1/1 页 2 1. 一种基于管道进程间的定时通信方法 , 其特征在于在同一台机器上的有着业务联 系的两个进程之间, 通过管道搭建一种通信的数据模型来完成两个进程之间的定时数据通 信, 具体为 : 数据发送进程通过管道建立一种数据存放的数据模型, 读进程通过一定的规 则读取数据模型中数据, 这样完成两个进程间的通信 , 达到两个进程间定时通信的目的, 具体步骤如下 : (1) 利用管道搭建存放发送数据的模型, 这里的管道不但是完成通信的工具, 并且是存 放数据的载体, 利用多个管道根据不同的策略, 完成业务需求的进程通信, 包括定时通信 ; (2)。
4、 在步骤 (1) 中所述的利用多个管道根据不同的策略建立的数据模型, 其中的策略是 指利用多个管道完成对多个发送数据的控制, 包括利用多个管道建立一个类似于消息队列 的结构, 完成对消息的存放, 利用管道组织成消息队列, 然后在用两个管道完成对消息队列 的控制, 完成两个进程间定时通信 ; (3) 发送数据的进程按照规则向步骤 (1) 中建好的模型中写入数据 ; (4) 接收数据的进程按照读取规则在步骤 (1) 中建好的模型中读取出数据。 权 利 要 求 书 CN 103176856 A 2 1/2 页 3 一种基于管道进程间的定时通信方法 技术领域 0001 本发明涉及计算机应用领域 , 具。
5、体地说是一种基于管道进程间的定时通信方法。 背景技术 0002 一个大型的应用系统, 往往需要众多进程协作, 进程间通信的重要性显而易见。 同 事在软件开发的过程中进程间通信是很常见的问题, 进程间通信的方法有很多, 比如管道, 消息队列, 共享内存, 但是在进程间通信的方法上建立一种自己的数据模型却很少。 也就是 以往的进程间通信, 利用这些系统提供的方式完成了通信的目的, 但是没有利用这些系统 的通信方式做一些特别的处理, 以往的进程间通信只是考虑把数据从发送端正确的传达给 接收端, 没有在传送数据的方法上做处理。 一种基于管道的进程间通信的方法, 不但可以完 成正确的进程间通信的目的, 。
6、它特定的数据模型可以完成简单的逻辑上的处理, 达到两个 进程间定时通信的目的。 也就是说一种基于管道的进程间通信的方法进程间通信是利用的 管道的方法, 本文利用多个管道搭建消息队列的模型, 接收消息的进程, 从这种利用管道建 立的消息队列中获得数据。这样不但完成了进程间通信, 在这个队列的基础上可以做一些 逻辑的处理。比如说最简单的进程间的定时通信。 发明内容 0003 本发明的目的是提供一种基于管道进程间的定时通信方法。 0004 本发明的目的是按以下方式实现的, 在利用多个管道来完成通信的基础上, 把多 个管道可以组织成消息队列, 接收信息的进程可以从这个由管道组成的消息队列中获得信 息 。
7、, 在这基础上就可以完成基本的两个进程间定时通信的目的, 所述利用管道建立存放 数据的数据模型, 具体为 : (1) 准备工作, 发送数据端建立五个命名管道 (可以根据通信的数据进行扩充 N 个管 道) ; (2) 把命名管道进行编号 0 号, 1 号, 2 号, 3 号, 4 号 (0、 1、 2N) ; (3) 发送进程向 1 号, 2 号, 3 号管道写入发送的数据信息。向 0 号管道写入读进程要读 取数据的管道号。发送数据进程写规则按照一秒钟写一次发送数据, 循环的向三个管道写 入信息。 0005 接收数据进程读规则, 发送数据进程写规则, 具体为 : (1) 发送进程写规则, 第一次。
8、循环写发送数据, 初始化 0 号管道数据为 41。当写入数据 时, 先读出0号数据, 如果是41则向 1号管道写发送数据, 并把0号数据写入42。 进入第二 次写入数据, 读出 0 号数据, 如果是 42 则向 2 号管道写发送数据, 把 0 号管道写入 43。进 入第三次写入数据, 读出0号数据, 如果是43则向 3号管道写发送数据, 并把4号管道写入 1, 把 0 号管道写入 41。第二次循环写发送数据, 读取 0 号管道数据, 如果是 41 则向 1 号管 道写入发送数据, 并把 4 号管道写入 2。以后的都循环的进行处理即可完成发送进程写数 据 ; 说 明 书 CN 103176856。
9、 A 3 2/2 页 4 (2) 接收数据进程读规则, 读进程一直都在读取 4 号管道数据。如果 4 号管道读出要处 理数据的管道号, 则去相应的管道下取数据, 然后对获得的数据进行处理。 如果没有要处理 数据的管道好则不做相应的处理。 0006 本发明的有益效果是 : 此方法的应用不但可以完成同一台机器上的有业务联系的 两进程间的通信, 还可以对发送数据在由多个管道构建的数据模型上做一定的逻辑处理 , 完成定时通信的目的。 具体实施方式 0007 利用管道建立存放数据的数据模型, 数据模型可以完成进程间的通信, 并对数据 进行一定的逻辑处理, 这种逻辑处理可以理解为一种由管道构成的消息队列,。
10、 达到两个进 程间定时通信的目的。 0008 所述利用管道建立存放数据的数据模型, 具体为 : (1) 准备工作, 发送数据端建立五个命名管道 (可以根据通信的数据进行扩充 N 个管 道) ; (2) 把命名管道进行编号 0 号, 1 号, 2 号, 3 号, 4 号 (0、 1、 2N) ; (3) 发送进程向 1 号, 2 号, 3 号管道写入发送的数据信息。向 0 号管道写入读进程要读 取数据的管道号。发送数据进程写规则按照一秒钟写一次发送数据, 循环的向三个管道写 入信息。 0009 接收数据进程读规则, 发送数据进程写规则, 具体为 : (1) 发送进程写规则, 第一次循环写发送数据。
11、, 初始化 0 号管道数据为 41。当写入数据 时, 先读出0号数据, 如果是41则向 1号管道写发送数据, 并把0号数据写入42。 进入第二 次写入数据, 读出 0 号数据, 如果是 42 则向 2 号管道写发送数据, 把 0 号管道写入 43。进 入第三次写入数据, 读出0号数据, 如果是43则向 3号管道写发送数据, 并把4号管道写入 1, 把 0 号管道写入 41。第二次循环写发送数据, 读取 0 号管道数据, 如果是 41 则向 1 号管 道写入发送数据, 并把 4 号管道写入 2。以后的都循环的进行处理即可完成发送进程写数 据 ; (2) 接收数据进程读规则, 读进程一直都在读取 4 号管道数据。如果 4 号管道读出要处 理数据的管道号, 则去相应的管道下取数据, 然后对获得的数据进行处理。 如果没有要处理 数据的管道好则不做相应的处理。 0010 除说明书所述的技术特征外, 均为本专业技术人员的已知技术。 说 明 书 CN 103176856 A 4 。