CN109981522A - 通信协议的兼容方法及装置 - Google Patents
通信协议的兼容方法及装置 Download PDFInfo
- Publication number
- CN109981522A CN109981522A CN201711444553.6A CN201711444553A CN109981522A CN 109981522 A CN109981522 A CN 109981522A CN 201711444553 A CN201711444553 A CN 201711444553A CN 109981522 A CN109981522 A CN 109981522A
- Authority
- CN
- China
- Prior art keywords
- version information
- protocol
- agreement
- list
- external
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明属于通信技术领域,尤其涉及通信协议的兼容方法及装置,通过接收外部设备发送的外部协议列表以及调取本地存储的本地协议列表;若外部协议列表与本地协议列表中存在相同的版本信息,则将所述相同的版本信息中的一个版本信息作为匹配版本信息;将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将匹配版本信息反馈至所述外部设备,以使终端设备和外部设备在具有相同的通信协议时,可以自动地使用该相同的通信协议进行数据交互,降低出现通信协议不兼容的频率,提高通信成功率。
Description
技术领域
本发明属于通信技术领域,尤其涉及通信协议的兼容方法及装置。
背景技术
在现实生活中,智能终端为了实现更强大的功能,往往需要跟服务器、控制器或其他智能终端等外部设备进行通信连接,以收发和处理业务数据。所以智能终端与外部设备的通信协议是否一致,直接影响双方是否可以实现业务数据的交互。
一般来讲,智能终端和外部设备之间的一些底层通信协议都是一致的,因此二者可以传输一些诸如握手请求等基本数据,然而由于智能终端和外部设备之间用于传输或解析高级业务的通信协议可能由于协议版本的升级,出现新旧版本的通信协议不一致的情况,这种情况可能导致智能终端和外部设备无法兼容,因而进一步导致部分业务数据无法正常交互的问题。
发明内容
有鉴于此,本发明实施例提供了通信协议的兼容方法及装置,以解决现有技术中频繁出现终端设备之间由于通信协议不兼容,导致的无法进行业务数据交互的问题。
本发明实施例的第一方面提供了一种通信协议的兼容方法,包括:
接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将相同的版本信息中的一个版本信息作为匹配版本信息;将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
本发明实施例的第二方面提供了一种通信协议的兼容装置,包括:
接收模块,用于接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;
调取模块,用于调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;
匹配模块,用于若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将所述相同的版本信息中的一个版本信息作为匹配版本信息;
设定模块,用于将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
本发明实施例的第三方面提供了一种通信协议的兼容终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下通信协议的兼容方法的步骤:
接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将相同的版本信息中的一个版本信息作为匹配版本信息;将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
在所述接收外部设备发送的握手命令之前,还包括:获取最新协议的版本信息;若所述本地协议列表中不含有所述最新协议的版本信息,则判断是否收到升级指令;若收到所述升级指令,则下载所述最新协议,并将所述最新协议作为本地协议添加进所述本地协议列表中,以更新所述本地协议列表。
在所述调取本地存储的本地协议列表之后,还包括:根据版本信息由新到旧的顺序,从所述本地协议列表中的最新的版本信息开始依次选出待搜索版本信息,并遍历所述外部协议列表,判断是否存在所述待搜索版本信息;若在所述外部协议列表中存在所述待搜索版本信息,则将所述待搜索版本信息作为所述外部协议列表与所述本地协议列表的相同的版本信息。所述将相同的版本信息中的一个版本信息作为匹配版本信息,包括:将相同的版本信息中的最新一个版本信息作为匹配版本信息。
所述将所述匹配版本信息对应的本地协议作为与所述外部设备通信的协议,包括:检测当前已加载的协议对应的版本信息是否为所述匹配版本信息;若所述当前已加载的协议对应的版本信息不是所述匹配版本信息,则释放所述当前已加载的协议,并根据所述本地协议与版本信息的对应关系,加载所述匹配版本信息对应的本地协议;若所述当前已加载的协议对应的版本信息是所述匹配版本信息,则继续使用所述当前已加载的协议与所述外部设备进行通信。
所述通信协议的兼容方法,还包括:接收所述外部设备发送的业务数据;根据所述匹配版本信息对应的本地协议对所述业务数据进行解析分包,生成解析分包数据;将所述解析分包数据的处理结果,根据所述匹配版本信息对应的本地协议进行封装打包,并发送至所述外部设备。
本发明实施例的第四方面提供了一种通信协议的兼容终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下通信协议的兼容方法的步骤:
接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将相同的版本信息中的一个版本信息作为匹配版本信息;将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
在所述接收外部设备发送的握手命令之前,还包括:获取最新协议的版本信息;若所述本地协议列表中不含有所述最新协议的版本信息,则判断是否收到升级指令;若收到所述升级指令,则下载所述最新协议,并将所述最新协议作为本地协议添加进所述本地协议列表中,以更新所述本地协议列表。
在所述调取本地存储的本地协议列表之后,还包括:根据版本信息由新到旧的顺序,从所述本地协议列表中的最新的版本信息开始依次选出待搜索版本信息,并遍历所述外部协议列表,判断是否存在所述待搜索版本信息;若在所述外部协议列表中存在所述待搜索版本信息,则将所述待搜索版本信息作为所述外部协议列表与所述本地协议列表的相同的版本信息。
所述将相同的版本信息中的一个版本信息作为匹配版本信息,包括:将相同的版本信息中的最新一个版本信息作为匹配版本信息。
所述将所述匹配版本信息对应的本地协议作为与所述外部设备通信的协议,包括:检测当前已加载的协议对应的版本信息是否为所述匹配版本信息;若所述当前已加载的协议对应的版本信息不是所述匹配版本信息,则释放所述当前已加载的协议,并根据所述本地协议与版本信息的对应关系,加载所述匹配版本信息对应的本地协议;若所述当前已加载的协议对应的版本信息是所述匹配版本信息,则继续使用所述当前已加载的协议与所述外部设备进行通信。
所述通信协议的兼容方法,还包括:接收所述外部设备发送的业务数据;根据所述匹配版本信息对应的本地协议对所述业务数据进行解析分包,生成解析分包数据;将所述解析分包数据的处理结果,根据所述匹配版本信息对应的本地协议进行封装打包,并发送至所述外部设备。
本发明实施例与现有技术相比存在的有益效果是:通过接收外部设备发送的外部协议列表以及调取本地存储的本地协议列表;若外部协议列表与本地协议列表中存在相同的版本信息,则将所述相同的版本信息中的一个版本信息作为匹配版本信息;将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将匹配版本信息反馈至所述外部设备,以使终端设备和外部设备在具有相同的通信协议时,可以自动地使用该相同的通信协议进行数据交互,降低出现通信协议不兼容的频率,提高通信成功率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的通信协议的兼容方法的实现流程图;
图2是本发明实施例提供的本地协议列表的更新流程图;
图3是本发明实施例提供的通信协议的兼容方法S106的具体实现流程图;
图4是本发明实施例提供的业务数据的收发流程图;
图5是本发明实施例提供的通信协议的兼容装置的结构框图;
图6是本发明实施例提供的通信协议的兼容终端的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
图1示出了本发明实施例一提供的通信协议的兼容方法的实现流程,包括步骤S101-S106,详述如下:
步骤S101,接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系。
在本发明实施例中,最终的目的是建立智能终端与外部设备之间的通信连接,并进一步实现业务数据的交互,所以基于底层协议,外部设备可以向智能终端发送一个握手命令,该握手命令中包含外部协议列表。值得注意地,外部协议列表中含有该外部设备可支持的协议,这些外部设备可支持的协议不包括诸如tcp/ip协议等所有通信设备共有的底层协议,在本发明实施例中,我们将外部协议列表中含有的外部设备可支持的协议称为外部协议。可以理解地,与本地协议列表类似,由于本地协议列表包括本地协议与版本信息的对应关系,外部协议列表中也包括外部协议与版本信息的对应关系。
步骤S102,调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系。
在本发明实施例中,智能终端在本地存储有一个本地协议列表,本地协议列表中存储了全部已经下载的协议,以及这些协议对应的版本信息。可以理解地,由于智能终端会每隔一段时间升级一次,所以在升级时,智能终端的通信协议也可能更新。
可选地,版本信息可以是版本号,例如0001号、0002号以及0003号等等,每一个版本号都对应一个协议,这些协议使智能终端可以接收和解析外部设备发送的业务数据,也可以将业务数据的处理结果发送至外部设备。
值得注意地,在智能终端与外部设备进行通信连接时,存在一些底层的通信协议,例如tcp/ip协议,这些底层的通信协议可以保证智能终端与外部设备完成诸如“握手连接”等基本通信功能,这些底层的通信协议的一个特点是不会随着智能终端操作系统的升级而有所改变,是一些本领域内长期不变的通信协议。然而,底层的通信协议只能保证智能终端与外部设备完成基本通信功能,而并不能保证智能终端与外部设备完成所有的业务数据的交互和解析。
示例性地,智能终端A与外部设备B原本都不具备语音采集和识别的功能,但是假设当外部设备B进行升级后,其具备了采集和识别语音的功能,从通信的角度来看,外部设备B此时的通信协议更新了,具有收发语音以及识别语音的功能,如果此时外部设备B想将采集的一段语音传输至智能终端A,请求智能终端A对该语音进行处理,则即使智能终端A安装了相关的语音识别软件也无法对语音进行解析处理,因为智能终端A中的协议无法从外部设备B发送的语音中提取出语音数据,也就没有语音数据可供其内部的语音识别软件进行处理。同样地,即使智能终端A采集了一段语音,由于智能终端A中的协议无法对采集的语音进行封装传输或封装的数据在外部设备B中无法解析,所以智能终端A采集的语音同样不能被外部设备B进行处理。
在本发明实施例中,本地协议列表中存储的本地协议不包括诸如tcp/ip协议等所有通信设备共有的底层协议。
在本发明实施例中,通过调取本地存储的本地协议列表可以解析出智能终端支持哪些协议,从而为后续选择合适的本地协议提供数据支持。
如上文实施例所述,智能终端中的本地协议是可能更新的,也代表着一个智能终端的本地协议列表也可能更新,作为本发明的一个实施例,图2示出了本发明实施例提供的本地协议列表的更新流程,详述如下:
步骤S201,获取最新协议的版本信息。
可选地,在本发明实施例中,智能终端可以从网络的服务器中获取最新协议的版本信息。
可选地,可以通过版本信息生成的时间识别最新协议的版本信息,具体地,将生成时间最近的版本信息作为最新协议的版本信息。
可选地,可以通过版本信息包含的版本号的大小识别最新协议的版本信息,具体地,将版本号最大的版本信息作为最新协议的版本信息。
可选地,也可以通过接收服务器推送的最新版本通信协议信息列表,直接获取最新协议的版本信息。
步骤S202,判断本地协议列表中是否含有所述最新协议的版本信息;
如上文实施例所述,本地协议列表中包括本地协议与版本信息的对应关系,所以从所述本地协议列表中可以直接搜索所述最新协议的版本信息,以完成判断步骤。
步骤S203,若所述本地协议列表中含有所述最新协议的版本信息,则停止本次更新操作。
可以理解地,如果本地协议列表中含有所述最新协议的版本信息,则证明已经没有可供更新的协议,所以在本发明实施例中,停止后续的判断及执行步骤。
步骤S204,若所述本地协议列表中不含有所述最新协议的版本信息,则判断是否收到升级指令。
可选地,在本发明实施例中,智能终端内部存在一个协议管理模块,用于判断是否收到升级指令。
可选地,协议管理模块可以根据用户的选择,判断是否收到升级指令,若检测到用户升级本地协议的选择,则判定收到升级指令;另一方面协议管理模块也可以根据判断当前时间与上次升级时间的时间差是否大于预设时间阈值,判断是否收到升级指令,若当前时间与上次升级时间的时间差大于预设时间阈值,则判定收到升级指令。
步骤S205,若收到所述升级指令,则下载所述最新协议,并将所述最新协议作为本地协议添加进所述本地协议列表中,以更新所述本地协议列表。
值得注意地,在本发明实施例中,在将最新协议作为本地协议添加进本地协议列表时,还应注意将最新协议的版本信息与最新协议对应好,一并存入本地协议列表,至此,本地协议列表中包含了最新协议与版本信息的对应关系。
步骤S206,若未收到所述升级指令,则停止本次更新操作。
在本发明实施例中,通过判断本地协议列表中是否含有最新协议的版本信息,以及判断是否收到升级指令,完成了对本地协议更新的目的,使得更新后的本地协议列表包含了最新协议,有利于后续的协议匹配步骤的进行。
步骤S103,判断所述外部协议列表与所述本地协议列表中是否存在相同的版本信息。
可选地,根据版本信息由新到旧的顺序,从所述本地协议列表中的最新的版本信息开始依次选出待搜索版本信息,并遍历所述外部协议列表,判断是否存在所述待搜索版本信息。
可选地,若在所述外部协议列表中存在所述待搜索版本信息,则将所述待搜索版本信息作为所述外部协议列表与所述本地协议列表的相同的版本信息。
具体地,在本发明实施例中,首先将本地协议列表中的最新的版本信息作为待搜索版本信息,并在所述外部协议列表中查找该待搜索版本信息,若在所述外部协议列表中查到该待搜索版本信息,则将所述待搜索版本信息作为所述外部协议列表与所述本地协议列表的相同的版本信息;若在所述外部协议列表中未查到该待搜索版本信息,则从所述本地协议列表中选出第二新的版本信息作为待搜索版本信息,以此类推,重复执行上述步骤,直至在找到外部协议列表与所述本地协议列表的相同的版本信息时,或在本地协议列表中的全部版本信息均已被选出进行搜索,但均未在外部协议列表中查到相同的版本信息后,停止本判断步骤。
步骤S104,若所述外部协议列表与所述本地协议列表中不存在相同的版本信息,则向所述外部设备发回业务协议不匹配响应。
在本发明实施例中,业务协议不匹配响应用于通知外部设备无法收发或解析相关的业务数据。
步骤S105,若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将所述相同的版本信息中的一个版本信息作为匹配版本信息。
可选地,所述将相同的版本信息中的一个版本信息作为匹配版本信息,包括:将相同的版本信息中的最新一个版本信息作为匹配版本信息。
在本发明实施例中,如果外部协议列表与所述本地协议列表中存在多个相同的版本信息,则将多个相同的版本信息中最新的一个版本信息作为匹配版本信息,并以此对智能终端以及外部设备的通信协议进行配置。
步骤S106,将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
在本发明实施例中,通过调取本地存储的本地协议列表以及接收外部设备发送的外部协议列表;若外部协议列表与本地协议列表中存在相同的版本信息,则将所述相同的版本信息中最新的一个版本信息作为匹配版本信息;根据所述本地协议与版本信息的对应关系,将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将匹配版本信息反馈至所述外部设备,以使终端设备和外部设备在具有相同的通信协议时,可以自动地使用该相同的通信协议进行数据交互,降低出现通信协议不兼容的频率,提高通信成功率。
作为本发明的一个实施例,如图3所示,上述步骤S106包括:
步骤S1061,检测当前已加载的协议对应的版本信息是否为所述匹配版本信息。
在本发明实施例中,智能终端为了实现与外界进行业务数据的交互,会加载一个协议,一个正在使用的协议在本实施例中称为当前已加载的协议,在本步骤中,需要判断当前已加载的协议对应的版本信息是否为上文实施例计算得到的匹配版本信息。
步骤S1062,若所述当前已加载的协议对应的版本信息不是所述匹配版本信息,则释放所述当前已加载的协议,并根据所述本地协议与版本信息的对应关系,加载所述匹配版本信息对应的本地协议。
步骤S1063,若所述当前已加载的协议对应的版本信息是所述匹配版本信息,则继续使用所述当前已加载的协议与所述外部设备进行通信。
在本发明实施例中,通过比对当前已加载的协议对应的版本信息以及匹配版本信息,实现对本地协议的切换,使得智能终端可以与外部设备进行业务数据交互。
作为本发明的一个实施例,在智能终端和外部设备的通信协议兼容后,图4示出了本发明实施例提供的业务数据的收发流程,详述如下:
步骤S401,接收所述外部设备发送的业务数据。
在本发明实施例中,由于智能终端和外部设备都已经根据上文实施例确定的匹配版本信息,进行了相应的协议设置,其中,智能终端根据本地协议列表将本地协议切换成了匹配版本信息对应的本地协议;外部设备根据外部协议列表将外部协议切换成了匹配版本信息对应的外部协议,所以智能终端可以成功接收外部设备发送的业务数据。
步骤S402,根据所述匹配版本信息对应的本地协议对所述业务数据进行解析分包,生成解析分包数据。
可以理解地,智能终端在接收到业务数据后,需要根据本地协议才能对业务数据进行解析,把业务数据包含的内容提取出来生成解析分包数据,供相关的应用程序进行处理。
步骤S403,将所述解析分包数据的处理结果,根据所述匹配版本信息对应的本地协议进行封装打包,并发送至所述外部设备。
在本发明实施例中,智能终端的应用程序对解析分包数据进行了处理后,生成解析分包数据的处理结果,智能终端必须根据本地协议的规定的格式和规则对该解析分包数据的处理结果进行封装打包,才能保证外部设备可以解析智能终端返回的数据。
在本发明实施例中,智能终端通过匹配版本信息对应的本地协议,可以顺利实现收发以及解析外部设备发送的业务数据,实现了不同设备之间业务数据的交互。
对应于上文的通信协议的兼容方法,图5示出了本发明实施例提供的通信协议的兼容装置的结构框图。
在本发明实施例中,通信协议的兼容装置是由插件化的模块构成的,插件化的模块有利于减少模块之间的耦合,减少软件的复杂度并加速通信协议的兼容装置的开发速度。
参照图5,该装置包括:
调取模块501,用于调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;
接收模块502,用于接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;
匹配模块503,用于若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将所述相同的版本信息中的一个版本信息作为匹配版本信息;
设定模块504,用于将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
在本发明实施例中,调取模块,用于完成调取本地存储的本地协议列表的功能;接收模块,用于完成与外界的数据进行数据交互的通信功能;匹配模块通过插件接口完成协议匹配的功能;设定模块完成协议的动态加载、动态释放以及协议切换等功能。
进一步地,所述装置还包括:
获取模块,用于获取最新协议的版本信息;
判断模块,用于若所述本地协议列表中不含有所述最新协议的版本信息,则判断是否收到升级指令;
更新模块,用于若收到所述升级指令,则下载所述最新协议,并将所述最新协议作为本地协议添加进所述本地协议列表中,以更新所述本地协议列表。
查找模块,用于根据版本信息由新到旧的顺序,从所述本地协议列表中的最新的版本信息开始依次选出待搜索版本信息,并遍历所述外部协议列表,判断是否存在所述待搜索版本信息;
确定模块,用于若在所述外部协议列表中存在所述待搜索版本信息,则将所述待搜索版本信息作为所述外部协议列表与所述本地协议列表的相同的版本信息。
进一步地,所述设定模块504,具体用于:
检测当前已加载的协议对应的版本信息是否为所述匹配版本信息;
若所述当前已加载的协议对应的版本信息不是所述匹配版本信息,则释放所述当前已加载的协议,并根据所述本地协议与版本信息的对应关系,加载所述匹配版本信息对应的本地协议;
若所述当前已加载的协议对应的版本信息是所述匹配版本信息,则继续使用所述当前已加载的协议与所述外部设备进行通信。
进一步地,所述装置还包括:
业务接收模块,用于接收所述外部设备发送的业务数据;
解析模块,用于根据所述匹配版本信息对应的本地协议对所述业务数据进行解析分包,生成解析分包数据;
封装模块,用于将所述解析分包数据的处理结果,根据所述匹配版本信息对应的本地协议进行封装打包,并发送至所述外部设备。
在本发明实施例中,通过调取本地存储的本地协议列表以及接收外部设备发送的外部协议列表;若外部协议列表与本地协议列表中存在相同的版本信息,则将所述相同的版本信息中最新的一个版本信息作为匹配版本信息;根据所述本地协议与版本信息的对应关系,将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将匹配版本信息反馈至所述外部设备,以使终端设备和外部设备在具有相同的通信协议时,可以自动地使用该相同的通信协议进行数据交互,降低出现通信协议不兼容的频率,提高通信成功率。
对应于上文的通信协议的兼容方法,图6是本发明一实施例提供的通信协议的兼容终端的示意图。如图6所示,该实施例的通信协议的兼容装置包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如用户密钥的加密程序。所述处理器60执行所述计算机程序62时实现上述各个通信协议的兼容方法实施例中的步骤,例如图1所示的步骤S101至S106。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至504的功能。
所述通信协议的兼容装置6可以是桌上型计算机、笔记本、掌上电脑、云端服务器以及智能终端等计算设备。所述通信协议的兼容装置可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是通信协议的兼容装置6的示例,并不构成对通信协议的兼容装置6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述通信协议的兼容装置还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种通信协议的兼容方法,其特征在于,包括:
接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;
调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;
若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将相同的版本信息中的一个版本信息作为匹配版本信息;
将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
2.如权利要求1所述的通信协议的兼容方法,其特征在于,在所述接收外部设备发送的握手命令之前,还包括:
获取最新协议的版本信息;
若所述本地协议列表中不含有所述最新协议的版本信息,则判断是否收到升级指令;
若收到所述升级指令,则下载所述最新协议,并将所述最新协议作为本地协议添加进所述本地协议列表中,以更新所述本地协议列表。
3.如权利要求1或2所述的通信协议的兼容方法,其特征在于,在所述调取本地存储的本地协议列表之后,还包括:
根据版本信息由新到旧的顺序,从所述本地协议列表中的最新的版本信息开始依次选出待搜索版本信息,并遍历所述外部协议列表,判断是否存在所述待搜索版本信息;
若在所述外部协议列表中存在所述待搜索版本信息,则将所述待搜索版本信息作为所述外部协议列表与所述本地协议列表的相同的版本信息。
4.如权利要求1所述的通信协议的兼容方法,其特征在于,所述将相同的版本信息中的一个版本信息作为匹配版本信息,包括:
将相同的版本信息中的最新一个版本信息作为匹配版本信息。
5.如权利要求1所述的通信协议的兼容方法,其特征在于,所述将所述匹配版本信息对应的本地协议作为与所述外部设备通信的协议,包括:
检测当前已加载的协议对应的版本信息是否为所述匹配版本信息;
若所述当前已加载的协议对应的版本信息不是所述匹配版本信息,则释放所述当前已加载的协议,并根据所述本地协议与版本信息的对应关系,加载所述匹配版本信息对应的本地协议;
若所述当前已加载的协议对应的版本信息是所述匹配版本信息,则继续使用所述当前已加载的协议与所述外部设备进行通信。
6.如权利要求1所述的通信协议的兼容方法,其特征在于,还包括:
接收所述外部设备发送的业务数据;
根据所述匹配版本信息对应的本地协议对所述业务数据进行解析分包,生成解析分包数据;
将所述解析分包数据的处理结果,根据所述匹配版本信息对应的本地协议进行封装打包,并发送至所述外部设备。
7.一种通信协议的兼容装置,其特征在于,包括:
接收模块,用于接收外部设备发送的握手命令,所述握手命令内包含外部协议列表,所述外部协议列表包括外部协议与版本信息的对应关系;
调取模块,用于调取本地存储的本地协议列表,所述本地协议列表包括本地协议与版本信息的对应关系;
匹配模块,用于若所述外部协议列表与所述本地协议列表中存在相同的版本信息,则将所述相同的版本信息中的一个版本信息作为匹配版本信息;
设定模块,用于将所述匹配版本信息对应的本地协议作为与所述外部设备进行通信的协议,并将所述匹配版本信息反馈至所述外部设备。
8.如权利要求7所述的通信协议的兼容装置,其特征在于,还包括:
获取模块,用于获取最新协议的版本信息;
判断模块,用于若所述本地协议列表中不含有所述最新协议的版本信息,则判断是否收到升级指令;
更新模块,用于若收到所述升级指令,则下载所述最新协议,并将所述最新协议作为本地协议添加进所述本地协议列表中,以更新所述本地协议列表。
9.一种通信协议的兼容终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711444553.6A CN109981522A (zh) | 2017-12-27 | 2017-12-27 | 通信协议的兼容方法及装置 |
US15/891,380 US10574793B2 (en) | 2017-12-27 | 2018-02-08 | Method, apparatus and terminal device for communication protocol compatibility |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711444553.6A CN109981522A (zh) | 2017-12-27 | 2017-12-27 | 通信协议的兼容方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109981522A true CN109981522A (zh) | 2019-07-05 |
Family
ID=66950857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711444553.6A Pending CN109981522A (zh) | 2017-12-27 | 2017-12-27 | 通信协议的兼容方法及装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10574793B2 (zh) |
CN (1) | CN109981522A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111060829A (zh) * | 2019-11-20 | 2020-04-24 | 福建星云电子股份有限公司 | 一种对pack电池包进行pack检测的系统及方法 |
CN111464405A (zh) * | 2020-04-02 | 2020-07-28 | 宁波智轩物联网科技有限公司 | 一种云控器 |
CN113064525A (zh) * | 2021-04-13 | 2021-07-02 | 合肥松豪电子科技有限公司 | 一种兼容不同协议主动笔的控制方法 |
CN113326219A (zh) * | 2021-06-06 | 2021-08-31 | 深圳市昂科技术有限公司 | 基于烧录系统的通信方法、烧录方法以及计算机存储介质 |
CN113535627A (zh) * | 2021-07-30 | 2021-10-22 | 张恒 | 一种实现多种协议集成的方法及装置 |
CN113630402A (zh) * | 2021-07-29 | 2021-11-09 | 深圳市商汤科技有限公司 | 协议自适应方法及装置、平台、存储介质 |
CN113660341A (zh) * | 2021-08-18 | 2021-11-16 | 中电科航空电子有限公司 | 一种机载cmu与无线电通信电台之间的通信方法 |
CN114817117A (zh) * | 2022-06-23 | 2022-07-29 | 浙江大华技术股份有限公司 | 协议兼容方法、电子设备及计算机可读存储装置 |
WO2022227805A1 (zh) * | 2021-04-25 | 2022-11-03 | 华为技术有限公司 | 通信方法和通信装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448933B (zh) * | 2019-09-02 | 2022-12-23 | 浙江宇视科技有限公司 | 一种自适应兼容平台互联域间协议的方法和系统 |
CN111176679B (zh) * | 2019-12-24 | 2023-06-16 | 中国建设银行股份有限公司 | 一种应用程序更新方法和装置 |
FR3115130B1 (fr) * | 2020-10-09 | 2023-04-14 | Safran Electronics & Defense | Procédé et système de gestion de compatibilité entre deux équipements |
CN112910948B (zh) * | 2021-01-12 | 2023-05-09 | 拉扎斯网络科技(上海)有限公司 | 协议升级方法、装置、电子设备、存储介质及程序产品 |
CN113382510B (zh) * | 2021-06-08 | 2024-02-23 | 合肥磐芯电子有限公司 | 一种消防应急照明和疏散指示系统的多目标快速搜索方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1383664A (zh) * | 1998-04-09 | 2002-12-04 | 艾利森公司 | 在电信系统中用于促进节点间协议达成一致的系统和方法 |
CN101388881A (zh) * | 2007-09-13 | 2009-03-18 | 华为技术有限公司 | 通信协议版本协商的方法、网元及系统 |
CN101483647A (zh) * | 2009-02-05 | 2009-07-15 | 中兴通讯股份有限公司 | 一种协议版本号协商方法及网络实体装置 |
CN102609374A (zh) * | 2010-12-06 | 2012-07-25 | 索尼公司 | 用于操作设备的设备控制装置的系统和方法 |
US20150341265A1 (en) * | 2014-05-22 | 2015-11-26 | International Business Machines Corporation | Skipping and parsing internet protocol version 6 extension headers to reach upper layer headers |
CN106604121A (zh) * | 2016-12-26 | 2017-04-26 | 深圳Tcl数字技术有限公司 | Hdmi接口兼容方法及显示装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9092286B2 (en) * | 2002-12-20 | 2015-07-28 | Qualcomm Incorporated | System to automatically process components on a device |
JP4791061B2 (ja) * | 2005-03-18 | 2011-10-12 | 富士通株式会社 | 計算機システムのファームウェアのバージョン管理方法及び情報処理装置 |
US8073984B2 (en) * | 2006-05-22 | 2011-12-06 | Apple Inc. | Communication protocol for use with portable electronic devices |
US9077754B2 (en) * | 2013-04-06 | 2015-07-07 | Citrix Systems, Inc. | Systems and methods for nextproto negotiation extension handling using mixed mode |
US10148748B2 (en) * | 2015-02-26 | 2018-12-04 | Microsoft Technology Licensing, Llc | Co-locating peer devices for peer matching |
JP2017084322A (ja) * | 2015-10-26 | 2017-05-18 | 株式会社リコー | 情報システム、プログラム及び記録媒体 |
-
2017
- 2017-12-27 CN CN201711444553.6A patent/CN109981522A/zh active Pending
-
2018
- 2018-02-08 US US15/891,380 patent/US10574793B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1383664A (zh) * | 1998-04-09 | 2002-12-04 | 艾利森公司 | 在电信系统中用于促进节点间协议达成一致的系统和方法 |
CN101388881A (zh) * | 2007-09-13 | 2009-03-18 | 华为技术有限公司 | 通信协议版本协商的方法、网元及系统 |
CN101483647A (zh) * | 2009-02-05 | 2009-07-15 | 中兴通讯股份有限公司 | 一种协议版本号协商方法及网络实体装置 |
CN102609374A (zh) * | 2010-12-06 | 2012-07-25 | 索尼公司 | 用于操作设备的设备控制装置的系统和方法 |
US20150341265A1 (en) * | 2014-05-22 | 2015-11-26 | International Business Machines Corporation | Skipping and parsing internet protocol version 6 extension headers to reach upper layer headers |
CN106604121A (zh) * | 2016-12-26 | 2017-04-26 | 深圳Tcl数字技术有限公司 | Hdmi接口兼容方法及显示装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111060829A (zh) * | 2019-11-20 | 2020-04-24 | 福建星云电子股份有限公司 | 一种对pack电池包进行pack检测的系统及方法 |
CN111464405A (zh) * | 2020-04-02 | 2020-07-28 | 宁波智轩物联网科技有限公司 | 一种云控器 |
CN113064525A (zh) * | 2021-04-13 | 2021-07-02 | 合肥松豪电子科技有限公司 | 一种兼容不同协议主动笔的控制方法 |
CN113064525B (zh) * | 2021-04-13 | 2023-04-25 | 合肥松豪电子科技有限公司 | 一种兼容不同协议主动笔的控制方法 |
WO2022227805A1 (zh) * | 2021-04-25 | 2022-11-03 | 华为技术有限公司 | 通信方法和通信装置 |
CN113326219A (zh) * | 2021-06-06 | 2021-08-31 | 深圳市昂科技术有限公司 | 基于烧录系统的通信方法、烧录方法以及计算机存储介质 |
CN113630402A (zh) * | 2021-07-29 | 2021-11-09 | 深圳市商汤科技有限公司 | 协议自适应方法及装置、平台、存储介质 |
CN113535627A (zh) * | 2021-07-30 | 2021-10-22 | 张恒 | 一种实现多种协议集成的方法及装置 |
CN113660341A (zh) * | 2021-08-18 | 2021-11-16 | 中电科航空电子有限公司 | 一种机载cmu与无线电通信电台之间的通信方法 |
CN114817117A (zh) * | 2022-06-23 | 2022-07-29 | 浙江大华技术股份有限公司 | 协议兼容方法、电子设备及计算机可读存储装置 |
Also Published As
Publication number | Publication date |
---|---|
US10574793B2 (en) | 2020-02-25 |
US20190199834A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981522A (zh) | 通信协议的兼容方法及装置 | |
CN113347225B (zh) | 物联网终端设备的空中下载技术ota升级方法及服务器 | |
CN101630272B (zh) | 进程调度方法和系统 | |
CN110875850B (zh) | 一种固件升级方法、系统、可读存储介质及终端设备 | |
CN108259599B (zh) | 一种文件数据传输系统 | |
CN110245029A (zh) | 一种数据处理方法、装置、存储介质和服务器 | |
CN110795697B (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN109814524A (zh) | 一种车辆诊断方法、装置及系统 | |
CN103139253A (zh) | 实现网卡卸载功能的方法、网卡、主机系统及网络设备 | |
CN104765609B (zh) | 软件关联资源推荐方法、获取方法及相应的装置 | |
CN106656622A (zh) | 一种接口调用任务配置的方法与装置 | |
CN107273140A (zh) | 脚手架管理方法、装置及电子设备 | |
CN112506584A (zh) | 资源文件加载方法、装置、设备、存储介质以及产品 | |
CN109408090A (zh) | 设备软件的升级方法、数据转化器及可读存储介质 | |
CN110149374A (zh) | 一种文件传输方法、终端设备及计算机可读存储介质 | |
CN106209958B (zh) | 云端服务系统及其方法 | |
CN109348434A (zh) | 一种场景信息的发送方法、发送装置及终端设备 | |
CN110262782A (zh) | 软件系统的接口比对方法和装置 | |
US9588947B1 (en) | Integrated administrative interface for open network programming applications | |
CN104821939B (zh) | 一种用于实现计算机与移动设备间异步通信的方法和装置 | |
CN104052528A (zh) | 在智能穿戴设备中与多个终端进行通信的装置和方法 | |
CN109271454A (zh) | 一种数据同步的方法及网络设备 | |
CN109753293A (zh) | 一种插件的处理方法及相关设备 | |
CN115361382A (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN109788010A (zh) | 一种数据本地化存取的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |
|
RJ01 | Rejection of invention patent application after publication |