一种自适应通信方法及系统与流程

文档序号:11215901阅读:635来源:国知局
一种自适应通信方法及系统与流程

本发明涉及通信技术领域,特别涉及一种自适应通信方法及系统。



背景技术:

随着软件工程的不断发展,软件开发过程通常无法回避的一个问题就是数据的交互传输,即如何完成数据的搬迁。在一个复杂的环境中,通常会用到多种通信环境,基于ipc的通信环境(ipc,即inter-processcommunication,进程间通信)、基于inpc的通信环境(inpc,即inprocesscommunication,线程间通信)、基于tcp/ip的通信环境(tcp/ip,即transmissioncontrolprotocol/internetprotocol,网络通讯协议)等多种通信环境。在目前的软件开发过程中,通常为每种通信环境提供一种实现方法,这样的方法既复杂也不利于维护,一旦通信环境需要发生变化,例如需要从线程间变为进程间,则需要为此做出很大的调整才能实现将之前使用的通信环境切换成另一种通信环境,也即,现有通信环境的切换过程较为复杂。

综上所述可以看出,如何降低通信环境切换过程的复杂度是目前有待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种自适应通信方法及系统,能够降低通信环境切换过程的复杂度。其具体方案如下:

一种自适应通信方法,包括:

确定第一抽象端口和第二抽象端口准备在通信过程中使用的通信环境,得到目标环境;其中,所述第一抽象端口和所述第二抽象端口分别为对通信环境中的第一硬件端口和第二硬件端口进行抽象封装后得到的;

从预设的数据接口库中筛选出与所述目标环境对应的数据接口,得到目标接口;

利用所述目标接口,搭建所述第一抽象端口和所述第二抽象端口之间的通信连接,以便在所述第一抽象端口和所述第二抽象端口之间进行数据的收发。

可选的,所述通信环境包括tcp/ip通信环境,和/或ipc通信环境,和/或inpc通信环境。

可选的,所述数据接口库包括第一数据接口,和/或第二数据接口,和/或第三数据接口;

其中,所述第一数据接口为对所述tcp/ip通信环境中的socket进行抽象封装后得到的;所述第二数据接口为对所述ipc通信环境中的socket进行抽象封装后得到的;所述第三数据接口为对所述inpc通信环境中的inproc进行抽象封装后得到的。

可选的,所述从预设的数据接口库中筛选出与所述目标环境对应的数据接口的过程之前,还包括:

将所述目标环境的环境特征量分别嵌入至所述第一抽象端口和所述第二抽象端口。

可选的,所述从预设的数据接口库中筛选出与所述目标环境对应的数据接口的过程,包括:

分别将所述第一抽象端口和所述第二抽象端口中嵌入的环境特征量解析出来,得到第一特征量和第二特征量;

若所述第一特征量与所述第二特征量均与所述目标环境的环境特征量相一致,则从所述数据接口库中筛选出与所述目标环境的环境特征量对应的数据接口。

可选的,所述利用所述目标接口,搭建所述第一抽象端口和所述第二抽象端口之间的通信连接的过程,包括:

利用所述目标接口,并结合connect方法,搭建所述第一抽象端口和所述第二抽象端口之间的通信连接。

本发明还相应公开了一种自适应通信系统,包括:

环境确定模块,用于确定第一抽象端口和第二抽象端口准备在通信过程中使用的通信环境,得到目标环境;其中,所述第一抽象端口和所述第二抽象端口分别为对通信环境中的第一硬件端口和第二硬件端口进行抽象封装后得到的;

接口确定模块,用于从预设的数据接口库中筛选出与所述目标环境对应的数据接口,得到目标接口;

连接搭建模块,用于利用所述目标接口,搭建所述第一抽象端口和所述第二抽象端口之间的通信连接,以便在所述第一抽象端口和所述第二抽象端口之间进行数据的收发。

可选的,所述通信环境包括tcp/ip通信环境,和/或ipc通信环境,和/或inpc通信环境。

可选的,所述数据接口库包括第一数据接口,和/或第二数据接口,和/或第三数据接口;

其中,所述第一数据接口为对所述tcp/ip通信环境中的socket进行抽象封装后得到的;所述第二数据接口为对所述ipc通信环境中的socket进行抽象封装后得到的;所述第三数据接口为对所述inpc通信环境中的inproc进行抽象封装后得到的。

可选的,所述自适应通信系统,还包括:

参数嵌入模块,用于在所述接口确定模块从所述数据接口库中筛选出与所述目标环境对应的数据接口之前,将所述目标环境的环境特征量分别嵌入至所述第一抽象端口和所述第二抽象端口;

相应的,所述接口确定模块,包括:

参数解析单元,用于分别将所述第一抽象端口和所述第二抽象端口中嵌入的环境特征量解析出来,得到第一特征量和第二特征量;

接口确定单元,用于当所述第一特征量与所述第二特征量均与所述目标环境的环境特征量相一致,则从所述数据接口库中筛选出与所述目标环境的环境特征量对应的数据接口。

本发明中,自适应通信方法,包括:确定第一抽象端口和第二抽象端口准备在通信过程中使用的通信环境,得到目标环境;其中,第一抽象端口和第二抽象端口分别为对通信环境中的第一硬件端口和第二硬件端口进行抽象封装后得到的;从预设的数据接口库中筛选出与目标环境对应的数据接口,得到目标接口;利用目标接口,搭建第一抽象端口和第二抽象端口之间的通信连接,以便在第一抽象端口和第二抽象端口之间进行数据的收发。

可见,本发明可以在通信环境需要发生变更的情况下,先确定出准备在接下来的通信过程中所使用的通信环境,然后从预设的数据接口库中筛选出与上述通信环境对应的数据接口,这样,后续便可基于上述数据接口在经过抽象封装得到的两个抽象端口之间搭建通信连接,由此确保了上述两个抽象端口之间能够在变更后的通信环境中进行数据的收发。由上可见,在通信环境需要发生变更的情况下,本发明只需确定出变更之后的通信环境,然后从预设的数据接口库中筛选出相应的数据接口,接着进行通信连接的搭建即可,整个过程非常简便,无需复杂的准备工作,从而降低了通信环境切换过程的复杂度。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种自适应通信方法流程图;

图2为本发明实施例公开的自适应通信架构图;

图3为本发明实施例公开的一种自适应通信系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种自适应通信方法,参见图1所示,该方法包括:

步骤s11:确定第一抽象端口和第二抽象端口准备在通信过程中使用的通信环境,得到目标环境;其中,第一抽象端口和第二抽象端口分别为对通信环境中的第一硬件端口和第二硬件端口进行抽象封装后得到的。

需要说明的是,本实施例中的通信环境具体可以包括但不限于tcp/ip通信环境,和/或ipc通信环境,和/或inpc通信环境。本实施例中,上述ipc通信环境是指基于ipc的通信环境,上述inpc通信环境是指基于inpc的通信环境,上述tcp/ip通信环境是指基于tcp/ip的通信环境。

步骤s12:从预设的数据接口库中筛选出与目标环境对应的数据接口,得到目标接口。

可以理解的是,本实施例中,不同的通信环境所对应的数据接口是不同的。并且,需要说明的是,本实施例中的数据接口均是经过抽象封装后得到的接口。

步骤s13:利用目标接口,搭建第一抽象端口和第二抽象端口之间的通信连接,以便在第一抽象端口和第二抽象端口之间进行数据的收发。

本实施例中,在利用上述目标接口搭建第一抽象端口和第二抽象端口之间的通信连接之后,第一抽象端口和第二抽象端口可以通过调用write方法来发送数据以及通过调用read方法来进行接收数据。

可见,本发明实施例可以在通信环境需要发生变更的情况下,先确定出准备在接下来的通信过程中所使用的通信环境,然后从预设的数据接口库中筛选出与上述通信环境对应的数据接口,这样,后续便可基于上述数据接口在经过抽象封装得到的两个抽象端口之间搭建通信连接,由此确保了上述两个抽象端口之间能够在变更后的通信环境中进行数据的收发。由上可见,在通信环境需要发生变更的情况下,本发明实施例只需确定出变更之后的通信环境,然后从预设的数据接口库中筛选出相应的数据接口,接着进行通信连接的搭建即可,整个过程非常简便,无需复杂的准备工作,从而降低了通信环境切换过程的复杂度。

本发明实施例公开了一种具体的自适应通信方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

上一实施例步骤s12中,需要从预设的数据接口库中筛选出与目标环境对应的数据接口。其中,上述数据接口库具体可以包括第一数据接口,和/或第二数据接口,和/或第三数据接口;其中,第一数据接口为对tcp/ip通信环境中的socket进行抽象封装后得到的;第二数据接口为对ipc通信环境中的socket进行抽象封装后得到的;第三数据接口为对inpc通信环境中的inproc进行抽象封装后得到的。

需要说明的是,在通过对inpc通信环境中的inproc进行抽象封装来得到上述第三数据接口之前,需要先在inproc中利用锁机制为每个线程配置一个可以读写的队列,在经过上述处理之后,方可对inproc进行抽象封装,从而得到上述第三数据接口,并且上述得到的第三数据接口是一种类似于socket的接口,与此对应的各个线程相当于被转换成了一个特殊的“socket”点,相互之间能够进行数据交互。

另外,本实施例中,在从预设的数据接口库中筛选出与目标环境对应的数据接口的过程之前,还可以包括:将目标环境的环境特征量分别嵌入至第一抽象端口和第二抽象端口。

本实施例中,上述目标环境的环境特征量具体可以是目标环境的名称,如ipc、inpc等。通过将目标环境的环境特征量嵌入至抽象端口,可以使得抽象端口内部包含了目标环境的环境特征量。

相应的,上一实施例步骤s12中,从预设的数据接口库中筛选出与目标环境对应的数据接口的过程,具体可以包括下面步骤s121和s122:

步骤s121:分别将第一抽象端口和第二抽象端口中嵌入的环境特征量解析出来,得到第一特征量和第二特征量;

步骤s122:若第一特征量与第二特征量均与目标环境的环境特征量相一致,则从数据接口库中筛选出与目标环境的环境特征量对应的数据接口。:

例如,参见图2所示,假设用point(name)来表示抽象端口,其中,point(name)中的参数name也即是指目标环境的环境特征量“名字”,并且假设目标环境为ipc通信环境,以及设上述嵌入了目标环境的环境特征量的第一抽象端口和第二抽象端口分别为point1(ipc)和point2(ipc),则在筛选数据接口的过程中,先分别将point1(ipc)和point2(ipc)中的环境特征量解析出来,从而得到第一特征量“ipc”和第二特征量“ipc”,通过比对可以发现上述第一特征量和第二特征量与目标环境的环境特征量ipc是相一致的,所以可以从数据接口库中调取出与“ipc”对应的数据接口socket(ipc)接口。需要说明的是,图2中的socket(ip)、socket(ipc)以及socket(inpc)分别是指上述第一数据接口、第二数据接口以及第三数据接口。

进一步的,上一实施例步骤s13中,利用目标接口,搭建第一抽象端口和第二抽象端口之间的通信连接的过程,具体可以包括:

利用目标接口,并结合connect方法,搭建第一抽象端口和第二抽象端口之间的通信连接。

需要指出的是,上述connect方法是软件工程里的一种常用方法,关于该方法的具体信息可以参考现有技术中的相应内容,在此不再进行赘述。

相应的,本发明实施例还公开了一种自适应通信系统,参见图3所示,该系统包括:

环境确定模块11,用于确定第一抽象端口和第二抽象端口准备在通信过程中使用的通信环境,得到目标环境;其中,第一抽象端口和第二抽象端口分别为对通信环境中的第一硬件端口和第二硬件端口进行抽象封装后得到的;

接口确定模块12,用于从预设的数据接口库中筛选出与目标环境对应的数据接口,得到目标接口;

连接搭建模块13,用于利用目标接口,搭建第一抽象端口和第二抽象端口之间的通信连接,以便在第一抽象端口和第二抽象端口之间进行数据的收发。

具体的,本实施例中的通信环境可以包括但不限于tcp/ip通信环境,和/或ipc通信环境,和/或inpc通信环境。

另外,上述数据接口库具体可以包括第一数据接口,和/或第二数据接口,和/或第三数据接口;

其中,第一数据接口为对tcp/ip通信环境中的socket进行抽象封装后得到的;第二数据接口为对ipc通信环境中的socket进行抽象封装后得到的;第三数据接口为对inpc通信环境中的inproc进行抽象封装后得到的。

进一步的,本实施例中的自适应通信系统,还可以包括:

参数嵌入模块,用于在接口确定模块从数据接口库中筛选出与目标环境对应的数据接口之前,将目标环境的环境特征量分别嵌入至第一抽象端口和第二抽象端口;

相应的,上述接口确定模块,具体可以包括参数解析单元和接口确定单元;其中,

参数解析单元,用于分别将第一抽象端口和第二抽象端口中嵌入的环境特征量解析出来,得到第一特征量和第二特征量;

接口确定单元,用于当第一特征量与第二特征量均与目标环境的环境特征量相一致,则从数据接口库中筛选出与目标环境的环境特征量对应的数据接口。

可见,本发明实施例可以在通信环境需要发生变更的情况下,先确定出准备在接下来的通信过程中所使用的通信环境,然后从预设的数据接口库中筛选出与上述通信环境对应的数据接口,这样,后续便可基于上述数据接口在经过抽象封装得到的两个抽象端口之间搭建通信连接,由此确保了上述两个抽象端口之间能够在变更后的通信环境中进行数据的收发。由上可见,在通信环境需要发生变更的情况下,本发明实施例只需确定出变更之后的通信环境,然后从预设的数据接口库中筛选出相应的数据接口,接着进行通信连接的搭建即可,整个过程非常简便,无需复杂的准备工作,从而降低了通信环境切换过程的复杂度。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种自适应通信方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1