一种基于管道的多组进程间数据传递方法技术

技术编号:11120446 阅读:58 留言:0更新日期:2015-03-11 09:42
本发明专利技术涉及一种基于管道的多组进程间数据传递方法,包括:1)控制台发起任务,客户端进程调用调度管理模块,对初始化连接记录文件中与该客户端进程相应的初始三元组进行更新;2)客户端进程根据控制台的任务调用相应的第三方应用进程发起连接;3)第三方应用进程调用调度管理模块,获取发起连接的客户端进程设置的管道,实现连接,并将此次连接记录保存至已配对连接记录文件中;4)第三方应用进程通过管道与客户端进程进行数据传输;5)数据传输完毕后,释放相应的管道资源,客户端进程调用调度管理模块,清除已配对连接记录文件中相应的连接记录。与现有技术相比,本发明专利技术具有实现了数据发送的高效性和占用资源的低消耗性等优点。

【技术实现步骤摘要】

本专利技术涉及计算机数据传输
,尤其是涉及一种基于管道的多组进程间数据传递方法
技术介绍
根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:控制信息的通信和大批数据信息的通信.前者称为低级通信,后者称为高级通信。低级通信主要用于进程之间的同步、互斥、终止、挂起等等控制信息的传递。高级通信主要用于进程间数据块的交换和共享,常见的高级通信有管道(PIPE)、消息队列(MESSAGE)、共享内存(SHARED MEM0RY)等。随着信息时代数据容量和速度的指数式增长,灾备系统中所存储的数据规模越来越大。那么大量的数据传递不可避免,并且灾备系统中传输的数据来源一般都是第三方的应用。那么必然存在以下的问题:1、采用何种数据传输方式,才能最大限度的提高数据的传输效率,并且最大限度的减少对原有环境的影响(减少资源的占用)。2、如何有效地开启多个传输通道,协调好多个第三方进程同时进行数据的传递。3、如何有效地预防数据传递过程中有可能产生的数据坏块问题。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于管道的多组进程间数据传递方法,实现数据发送的高效性和占用资源的低消耗性,适用于各种应用之间的高效安全的大数据传递。本专利技术的目的可以通过以下技术方案来实现:一种基于管道的多组进程间数据传递方法,通过调度管理模块实现多组进程间的数据传递,所述调度管理模块内设有用于保存初始三元组的初始化连接记录文件和用于保存连接三元组的已配对连接记录文件,所述数据传递方法包括:1)控制台发起任务,客户端进程调用调度管理模块,对初始化连接记录文件中与该客户端进程相应的初始三元组进行更新;2)客户端进程根据控制台的任务调用相应的第三方应用进程发起连接;3)第三方应用进程调用调度管理模块,获取发起连接的客户端进程设置的管道,实现连接,并将此次连接记录保存至已配对连接记录文件中;4)第三方应用进程通过管道与客户端进程进行数据传输;5)数据传输完毕后,释放相应的管道资源,客户端进程调用调度管理模块,清除已配对连接记录文件中相应的连接记录。所述步骤1)中,对初始化连接记录文件中的初始三元组进行更新具体为:101)判断初始化连接记录文件中是否存在与客户端进程的PID相应的初始三元组,若是,则该取该初始三元组,执行步骤103),若否,则执行步骤102);102)创建与客户端进程相应的管道,将客户端进程的PID、管道名称和创建时间作为一个初始三元组保存到初始化连接记录文件中,更新完毕,根据设定的等待时间进入等待状态;103)读取初始三元组中的创建时间,根据设定的超时时间判断该三元组是否超时,若是,则清除该初始三元组,执行步骤102),若否,则更新完毕,进入等待状态。所述等待时间大于或等于超时时间。所述步骤3)中,获取发起连接的客户端进程设置的管道具体为:301)第三方应用读取调度管理模块的已配对连接记录文件,查找是否存在与自己的PID相应的连接三元组,若是,则获取该连接三元组中的管道名称,若否,则执行步骤302);302)读取初始化连接记录文件,提取与发起连接的进程相对应的初始三元组的创建时间,判断是否超时,若是,则连接失败,若否,则获取该初始三元组中的管道名称,并执行步骤303);303)将第三方应用的PID替换创建时间,形成连接三元组,并保存至已配对连接记录文件,同时清除初始化连接记录文件的初始三元组。所述步骤4)中,第三方应用进程通过管道与客户端进程进行数据传输时,管道至少设有一个,各管道并行传输数据,通过不同的消息ID,完成不同数据的传输。所述数据传输的过程中,第三方应用进程实时检测连接是否断开,若是,则进行重新连接,所述重新连接具体为:第三方应用进程调用调度管理模块,读取已配对连接记录文件,查找到与自己的PID相应的连接三元组,获取该连接三元组的管道名称,重新进行连接。与现有技术相比,本专利技术可以适用于不同数据对象的并行发送,或者数据分段并行发送,具有以下有益效果:1、本专利技术采用命名管道技术,实现了数据发送的高效性、数据发送和消息发送的准确性、占用资源的低消耗性和异常处理恢复的容错性等特点;2、本专利技术通过管道可实现多任务并发备份恢复,在数据膨胀的今天,简单高效的解决了数据传递的问题。附图说明图1为本专利技术的原理示意图;图2为本专利技术的流程示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。如图1所示,本专利技术实施例提供一种基于管道的多组进程间数据传递方法,通过调度管理模块实现多组进程间的数据传递,所述调度管理模块内设有用于保存初始三元组的初始化连接记录文件(等待连接记录)和用于保存连接三元组的已配对连接记录文件(已连接记录),所述初始三元组由发起连接的进程的PID、管道名称和创建时间组成,所述连接三元组由发起连接的进程的PID、管道名称和完成连接的第三方应用的PID组成。客户端和第三方应用均包括连接管理模块和数据处理模块。本实施例将上述方法用于解决同一客户端下多个oracle实例同时发起备份(存在先后顺序,相差在秒级别上),以节约备份时间的问题。如图2所示,该方法具体步骤如下:在步骤S1中,控制台发起任务,客户端进程通过调用管理API调用调度管理模块,对初始化连接记录文件中与该客户端进程相应的初始三元组进行更新,具体为:101)判断初始化连接记录文件中是否存在与客户端进程的PID相应的初始三元组,若是,则读取该初始三元组,执行步骤103),若否,则执行步骤102);102)创建与客户端进程相应的管道,将客户端进程的PID、管道名称和创建时间作为一个初始三元组保存到初始化连接记录文件中,更新完毕,根据设定的等待时间进入等待状态;103)读取初始三元组中的创建时间,根据设定的超时时间判断该三元组是否超时,若是,则清除该初始三元组,执行步骤102),若否,则更新完毕,进入等待状态。优选地,所述等待时间大于或等于超时时间,在步骤S2中,客户端进程根据控制台的任务调用相应的第三方应用进程发起连接。本实施例中,客户端使用脚本调用oracle的rman发送对应的实例的数据。在步骤S3中,第三方应用进程通过调用管理A本文档来自技高网...
一种基于管道的多组进程间数据传递方法

【技术保护点】
一种基于管道的多组进程间数据传递方法,其特征在于,通过调度管理模块实现多组进程间的数据传递,所述调度管理模块内设有用于保存初始三元组的初始化连接记录文件和用于保存连接三元组的已配对连接记录文件,所述数据传递方法包括:1)控制台发起任务,客户端进程调用调度管理模块,对初始化连接记录文件中与该客户端进程相应的初始三元组进行更新;2)客户端进程根据控制台的任务调用相应的第三方应用进程发起连接;3)第三方应用进程调用调度管理模块,获取发起连接的客户端进程设置的管道,实现连接,并将此次连接记录保存至已配对连接记录文件中;4)第三方应用进程通过管道与客户端进程进行数据传输;5)数据传输完毕后,释放相应的管道资源,客户端进程调用调度管理模块,清除已配对连接记录文件中相应的连接记录。

【技术特征摘要】
1.一种基于管道的多组进程间数据传递方法,其特征在于,通过调度管理模
块实现多组进程间的数据传递,所述调度管理模块内设有用于保存初始三元组的初
始化连接记录文件和用于保存连接三元组的已配对连接记录文件,所述数据传递方
法包括:
1)控制台发起任务,客户端进程调用调度管理模块,对初始化连接记录文件
中与该客户端进程相应的初始三元组进行更新;
2)客户端进程根据控制台的任务调用相应的第三方应用进程发起连接;
3)第三方应用进程调用调度管理模块,获取发起连接的客户端进程设置的管
道,实现连接,并将此次连接记录保存至已配对连接记录文件中;
4)第三方应用进程通过管道与客户端进程进行数据传输;
5)数据传输完毕后,释放相应的管道资源,客户端进程调用调度管理模块,
清除已配对连接记录文件中相应的连接记录。
2.根据权利要求1所述的基于管道的多组进程间数据传递方法,其特征在于,
所述步骤1)中,对初始化连接记录文件中的初始三元组进行更新具体为:
101)判断初始化连接记录文件中是否存在与客户端进程的PID相应的初始三
元组,若是,则读取该初始三元组,执行步骤103),若否,则执行步骤102);
102)创建与客户端进程相应的管道,将客户端进程的PID、管道名称和创建
时间作为一个初始三元组保存到初始化连接记录文件中,更新完毕,根据设定的等
待时间进入等待状态;
103)读取初始三元组中的创建时间,根据设定的超时时间判断该三元组是否
超时,若是,则清除该初始三元组,执行步骤102),若否,则更新完...

【专利技术属性】
技术研发人员:黄开德
申请(专利权)人:上海爱数软件有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1