本发明专利技术实施例公开了一种数据传递方法、及装置,其中方法的实现包括:源进程生成并截获源数据,获取各目标进程的传输通道信息;依据所述传输通道信息确定所述源数据对应的目标进程,以及发送源数据给各目标进程的传输方式;将所述源数据发送给所述目标进程;发送源数据给各目标进程所采用的发送方式与确定的各目标进程的传输方式对应。采用由源进程截获源数据,并获取各目标进程的传输通道信息,来确定源数据对应的目标进程,以及发送源数据给各目标进程的传输方式,然后完成源数据的发送,可以达到多个目标进程获取一个源进程的数据的目的,并且该方案不需要文件全部存储完毕,也不需要目标进程采用轮询方式获得最新数据,因此数据传递效率较高。
【技术实现步骤摘要】
一种数据传递方法、及装置
本专利技术涉及计算机
,特别涉及一种数据传递方法、及装置。
技术介绍
进程间数据传递,一般可以采用的方案,可以如下:数据的提供方在硬盘上建立一个文件,然后往该文件里写数据(可以不关闭文件,但必须刷新缓冲区),数据的接收方以共享方式打开这个文件并读取其中的内容。该方案,需要数据的提供创建文件,并且需要不停写入文件。数据的接收方只能采取轮询的方式获得最新数据,导致效率低下。对于存在多应用进程作为数据接收方时,问题尤为突出。例如,摄像头获取视频以后编码软件得到视频,编码软件需要将视频在硬盘上存储为一个文件,视频播放软件需要将文件全部存储完毕以后,才能被其他应用程序读取到。因此采用以上方案,数据的目的端获取数据的效率较低。
技术实现思路
本专利技术实施例提供了一种数据传递方法、及装置,实现多个目标进程获取一个源进程的数据,并提高数据传递效率。一种数据传递方法,包括:源进程生成并截获源数据,获取各目标进程的传输通道信息;依据所述传输通道信息确定所述源数据对应的目标进程,以及发送源数据给各目标进程的传输方式;将所述源数据发送给所述目标进程;发送源数据给各目标进程所采用的发送方式与确定的各目标进程的传输方式对应。一种数据传递装置,包括:数据生成单元,用于生成源数据;数据截取单元,用于截获所述数据生成单元生成的源数据;信息获取单元,用于获取各目标进程的传输通道信息;方式目标确定单元,用于依据所述信息获取单元获取的传输通道信息确定所述源数据对应的目标进程,以及发送源数据给各目标进程的传输方式;发送单元,用于将所述源数据发送给所述目标进程;发送源数据给各目标进程所采用的发送方式与所述方式目标确定单元确定的各目标进程的传输方式对应。从以上技术方案可以看出,本专利技术实施例具有以下优点:采用由源进程截获源数据,并获取各目标进程的传输通道信息,来确定源数据对应的目标进程,以及发送源数据给各目标进程的传输方式,然后完成源数据的发送,可以达到多个目标进程获取一个源进程的数据的目的,并且该方案不需要文件全部存储完毕,也不需要目标进程采用轮询方式获得最新数据,因此数据传递效率较高。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例方法流程示意图;图2为本专利技术实施例系统结构示意图;图3为本专利技术实施例装置结构示意图;图4为本专利技术实施例装置结构示意图;图5为本专利技术实施例装置结构示意图;图6为本专利技术实施例终端结构示意图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术作进一步地详细描述,显然,所描述的实施例仅仅是本专利技术一部份实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。本专利技术实施例提供了一种数据传递方法,如图1所示,包括:101:源进程生成并截获源数据,获取各目标进程的传输通道信息;源进程是提供数据的源,源进程会产生源数据,源数据可以是声音、图像、流数据等,源数据种类多种多样,其并不影响本专利技术实施例的实现,因此本专利技术实施例对此不予限定。上述传输通道信息是用来标识采用何种方式进行传输的信息,其表现形式可以多种多样,除了传输方式以外,还可以通过各种信息来表示需要获取源数据的目标进程以及源进程的信息,基于传输方式的不同传输通道可以采用不同的形式来体现,以下给出了传输通道信息的具体实现举例,如下:首先,获取的方式可以采用监视线程来实现,具体如下:上述获取各目标进程的传输通道信息包括:采用监视线程获取各目标进程的传输通道信息,并确定目标进程以及目标进程的传输通道信息是否有变更。另外,传输通道信息的标识可以采用如下方式来进行标识,使源进程容易确定需要获取源数据的目标进程有哪些,具体如下:上述获取各目标进程的传输通道信息包括:获取以目标进程标识和源进程标识的标识对建立的通道标识。在本专利技术实施例中,传输方式可以采用共享存储块的方式来实现,共享的存储块可以是共享内存,需要说明的是传输通道还可以是其他系统对象,因此传输通道信息也可以是其他,以下举例不应理解为对本专利技术实施例的唯一限定。采用共享存储块的方式来实现的具体方案如下:上述通道标识指示了源数据存放的目标地址;上述将上述源数据发送给上述目标进程包括:将源数据存放在上述目标地址,供目标进程读取。在本专利技术实施例中,传输通道信息可以由目标进程存入,具体方案如下:上述获取各目标进程的传输通道信息包括:上述源进程被目标进程采用钩子注入后,获取由采用钩子注入上述源进程的目标进程存入的传输通道信息。基于一个特定的应用,本专利技术实施例可以应用于音乐等音频的播放,基于此本专利技术实施例提供了如下方案,需要说明的是除了音频播放以外,其他如视频播放器作为源进程也是可以,音频播放器进程作为源进程的方案不应理解为对本专利技术实施例的唯一限定,具体如下:上述目标进程有两个或两个以上;上述源进程为音频播放器进程。后续实施例中,将给出以音乐播放器为例的更详细举例说明。102:依据上述传输通道信息确定上述源数据对应的目标进程,以及发送源数据给各目标进程的传输方式;103:将上述源数据发送给上述目标进程;发送源数据给各目标进程所采用的发送方式与确定的各目标进程的传输方式对应。本专利技术实施例,采用由源进程截获源数据,并获取各目标进程的传输通道信息,来确定源数据对应的目标进程,以及发送源数据给各目标进程的传输方式,然后完成源数据的发送,可以达到多个目标进程获取一个源进程的数据的目的,并且该方案不需要文件全部存储完毕,也不需要目标进程采用轮询方式获得最新数据,因此数据传递效率较高。另外,由于本专利技术实施例方案,各目标进程获取源数据的方式是独立的,因此各目标进程获取源数据并不会相互影响。基于前述使用共享地址块的实现方案,本专利技术实施例还提供了如何将目标数据存放到通道标识指示的地址中的具体实现方案,具体如下:上述将源数据存放在上述目标地址,供目标进程读取包括:采用传输线程读取上述通道标识指示的地址,并将源数据写入上述通道标识指示的地址,供目标进程读取。以下将以声音播放器作为源进程来进行更详细的举例说明,本专利技术实施例通过Hook(钩子)方式注入播放器进程,挂钩播放进程的播放函数取得声音数据,再通过共享内存将声音数据回传给其他应用程序使用。钩子(Hook),是视窗操作系统(Windows)消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理Windows消息或特定事件。详细实现方案如下图2所示:首先介绍个部分示意的含义如下:应用程序:想要获取声音数据的程序;图2所示为n个应用进程。播放器进程:声音数据源,被获取声音的目标程序。传输通道ID(Identity,标识):可以以应用程序进程ID和播放器进程ID为键值对建立的的系统全局唯一的64位的ID,高位为应用程序32位的进程ID,本文档来自技高网...
【技术保护点】
一种数据传递方法,其特征在于,包括:源进程生成并截获源数据,获取各目标进程的传输通道信息;依据所述传输通道信息确定所述源数据对应的目标进程,以及发送源数据给各目标进程的传输方式;将所述源数据发送给所述目标进程;发送源数据给各目标进程所采用的发送方式与确定的各目标进程的传输方式对应。
【技术特征摘要】
1.一种数据传递方法,其特征在于,包括:源进程生成并截获源数据,获取各目标进程的传输通道信息;依据所述传输通道信息确定所述源数据对应的目标进程,以及发送源数据给各目标进程的传输方式;将所述源数据发送给所述目标进程;发送源数据给各目标进程所采用的发送方式与确定的各目标进程的传输方式对应;所述获取各目标进程的传输通道信息包括:采用监视线程获取各目标进程的传输通道信息,并确定目标进程以及目标进程的传输通道信息是否有变更;或,所述源进程被目标进程采用钩子注入后,获取由采用钩子注入所述源进程的目标进程存入的传输通道信息。2.根据权利要求1所述方法,其特征在于,所述获取各目标进程的传输通道信息包括:获取以目标进程标识和源进程标识的标识对建立的通道标识。3.根据权利要求2所述方法,其特征在于,所述通道标识指示了源数据存放的目标地址;所述将所述源数据发送给所述目标进程包括:将源数据存放在所述目标地址,供目标进程读取。4.根据权利要求3所述方法,其特征在于,所述将源数据存放在所述目标地址,供目标进程读取包括:采用传输线程读取所述通道标识指示的地址,并将源数据写入所述通道标识指示的地址,供目标进程读取。5.根据权利要求1至4任一项所述方法,其特征在于,所述目标进程有两个或两个以上;所述源进程为音频播放器进程。6.一种数据传递装置,其特...
【专利技术属性】
技术研发人员:李广发,李俊明,曹木勇,
申请(专利权)人:腾讯科技成都有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。