一种通信协议切换方法、装置和系统与流程

文档序号:12278690阅读:324来源:国知局
一种通信协议切换方法、装置和系统与流程

本发明涉及通信技术领域,具体涉及一种通信协议切换方法、装置和系统。



背景技术:

通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。现有技术中,同一业务或不同业务使用不同的通信协议,由于不同协议的编码方式不同,造成每种协议都需要单独编写代码。

图1是现有技术中数据通信的示意图,参见图1,图1示意了四种通信协议,分别为超文本传输协议HTTP(Hyper Text Transfer Protocol)HTTP协议/HTTPS协议,消息队列遥测传输MQTT协议(Message Queuing Telemetry Transport),传输控制协议协议TCP(Transmission Control Protocol),文件传输协议FTP(File Transfer Protocol)。其中,HTTPS协议以安全为目标的HTTP通道,简言之,HTTPS协议是HTTP协议的安全版。如果主程序下的业务A有可能调用不同通信协议进行通信,那么现有的实现方案是每种协议都编写对应的代码实现与对应服务器的通信,而这些代码有相当一部分是相似的。

由此可见,现有技术中同一业务要想实现通过不同通信协议实现与对应的服务器通信,需要付出大量的重复劳动,费时费力,效率低下。此外,如果想更换通讯协议,已经发布的程序不支持这种通讯协议的切换,不能满足用户的使用需求。



技术实现要素:

本发明提供了一种通信协议切换方法、装置和系统,以解决或至少部分地解决上述技术问题。

根据本发明的一个方面,提供了一种通信协议切换方法,所述方法包括:

将多种通信协议封装成通用通信协议类,并得到统一的通信协议接口;

接收云端发送的通信协议配置文件并保存到本地数据库中;所述配置文件中记录有当前使用的通信协议对应的通信协议标志位;

利用所述通信协议接口以及所述通信协议标志位,实现按照所述通信协议标志位对应的通信协议进行数据传输。

可选地,利用所述通信协议接口以及所述通信协议标志位,实现数据传输中所使用的通信协议的切换包括:

当获取到待传输的业务数据时,调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务数据进行解析,并调用相应的通信协议将解析后的业务数据发送至对应的服务器。

可选地,所述利用所述通信协议接口以及所述通信协议标志位,实现数据传输中所使用的通信协议的切换包括:

接收服务器返回的业务结果数据;

调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务结果数据进行解析得到所需的业务结果内容数据;

输出所述业务结果内容数据。

可选地,所述通信协议包括:超文本传输协议HTTP/安全超文本传输协议HTTPS,传输控制协议TCP,消息队列遥测传输MQTT和/或文件传输协议FTP。

根据本发明的另一个方面,提供了一种通信协议切换装置,该装置包括:

通信协议封装单元,用于将多种通信协议封装成通用通信协议类,并得到统一的通信协议接口;

通信协议确定单元,用于接收云端发送的通信协议配置文件并保存到本地数据库中;所述配置文件中记录有当前使用的通信协议对应的通信协议标志位;

通信协议使用单元,用于利用所述通信协议接口以及所述通信协议标志位,实现按照所述通信协议标志位对应的通信协议进行数据传输。

可选地,所述通信协议使用单元,具体用于当获取到待传输的业务数据时,调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务数据进行解析,并调用相应的通信协议将解析后的业务数据发送至对应的服务器。

可选地,所述通信协议使用单元,具体用于接收服务器返回的业务结果数据;调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务结果数据进行解析得到所需的业务结果内容数据;输出所述业务结果内容数据。

可选地,所述通信协议封装单元,具体用于将超文本传输协议HTTP/安全超文本传输协议HTTPS,传输控制协议TCP,消息队列遥测传输MQTT,和/或文件传输协议FTP封装成通用通信协议类。

根据本发明的又一个方面,提供了一种通信协议切换系统,该系统包括:数据库以及一个或多个终端设备,每个所述终端设备中均设置有如本发明另一个方面所述的通信协议切换装置;所述数据库,用于保存所述通信协议配置文件,所述配置文件中记录有当前使用的通信协议对应的通信协议标志位;所述终端设备,用于与服务器通信,进行数据传输。

本发明的有益效果是:本发明的这种通信协议切换实现方案,通过将多种通信协议封装成通用通信协议类,并得到统一的通信协议接口,然后接收云端发送的通信协议配置文件并保存到本地数据库中;配置文件中记录有当前使用的通信协议对应的通信协议标志位;根据通信协议接口以及通信协议标志位,实现按照通信协议标志位对应的通信协议进行数据传输。如此,对于客户端的业务层而言,其无需关心使用何种通信协议与服务器通信,可以都使用相同的代码,避免了针对每种通信协议编写对应的代码导致的重复劳动、费时费力的问题,满足了应用需求。并且,在服务器更换通信协议后,客户端可动态切换通信协议,无需更改客户端,增强了客户端的通用性,节省了开发成本。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了现有技术中业务数据使用多通信协议通信的结构示意图;

图2是根据本发明一个实施例的一种通信协议切换方法的流程图;

图3示出了根据本发明一个实施例的一种通信协议切换方法的配置文件获取时序图;

图4示出了根据本发明另一个实施例的一种通信协议切换方法的示意图;

图5示出了根据本发明一个实施例的一种通信协议切换装置的结构示意图;

图6示出了根据本发明一个实施例的一种通信协议切换系统的结构示意图。

具体实施方式

本发明的设计构思在于:为了确保终端设备中同一业务或不同业务能够使用多种通信协议与服务器通信并且避免重复开发相似代码。本实施例提供了一种通信协议切换的方案,本实施例通过将多种通信协议封装成通用的通信协议类,并设置在终端设备本地,当终端设备的某一业务需要使用多种通信协议与对应的服务器进行通信时,只需要将业务数据发送给通信层,而无需编写支持对应通信协议的代码,由通信层的通用通信协议类进行解析后,调用相应的通信协议将业务数据发送至对应的服务器,如此,避免了大量了重复劳动,节省了传输时间,并且在服务器更换,通信协议更换时,无需修改终端设备中的客户端软件,提高了终端设备的通用性。

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

图2是根据本发明一个实施例的一种通信协议切换方法流程图,参见图2,该通信协议切换方法包括如下步骤:

步骤S201,将多种通信协议封装成通用通信协议类,并得到统一的通信协议接口;

这里的通信协议包括:超文本传输协议HTTP/安全超文本传输协议HTTPS,传输控制协议TCP,消息队列遥测传输MQTT和/或文件传输协议FTP。

步骤S202,接收云端发送的通信协议配置文件并保存到本地数据库中;所述配置文件中记录有当前使用的通信协议对应的通信协议标志位;

步骤S203,利用所述通信协议接口以及所述通信协议标志位,实现按照所述通信协议标志位对应的通信协议进行数据传输。

由图2所示的方法可知,本实施例中通过将多种通信协议封装成通用通信协议类,并对外提供统一的通信协议接口,以及根据云端配置的本次使用的通信协议标志位,这样当需要发送业务数据时,通过调用该通信协议接口即可实现调用通信协议标志位指示的通信协议完成与对应服务器通信的目的,实现了通信协议之间的切换,成本低、实现简单,效率高。

在本发明的一个实施例中,图2所示的方法中,利用所述通信协议接口以及所述通信协议标志位,实现数据传输中所使用的通信协议的切换包括:

当获取到待传输的业务数据时,调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务数据进行解析,并调用相应的通信协议将解析后的业务数据发送至对应的服务器。

在本发明的一个实施例中,图2所示的方法中,所述利用所述通信协议接口以及所述通信协议标志位,实现数据传输中所使用的通信协议的切换包括:

接收服务器返回的业务结果数据;

调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务结果数据进行解析得到所需的业务结果内容数据;

输出所述业务结果内容数据。

实施例二

图3示出了根据本发明一个实施例的一种通信协议切换方法配置文件获取时序图,图4示出了根据本发明另一个实施例的一种通信协议切换方法示意图;以下以停车场管理系统为例,并结合图3和图4对利用本实施例的通信协议切换方法完成一次通信协议切换的过程进行说明。

参见图3,本实施例中由云端来控制当前使用的通信协议,即,云端下发通信协议配置文件到本地数据库,然后由停车场管理系统本地的数据库进行保存。停车场管理人员可以根据需求修改配置所需采用的通信协议,然后下发到停车场本地数据库,停车场管理系统根据数据库中的配置,进行通信协议的切换。

举例而言,云端在通信协议配置文件中记录了通信协议标志位A,表示当前使用TCP通信协议与TCP服务器进行通信。

本地数据库,收到通信协议配置文件后保存。

终端设备(本实施例中即为停车场管理系统),实时读取本地数据库中的通信协议配置文件,获取通信协议标志位。这里,终端设备可以每一分钟读取一次通信协议配置文件,将本地数据库中保存的通信协议配置文件读取到终端设备的内存中。

参见图4,终端设备在收到业务层的具体业务模块采集到的待传输业务数据时,调用终端设备中已经封装了四种通信协议并对外提供统一接口的通用通信协议类。业务模块调用通用通信协议接口,这样,通用通信协议接口根据存储的通信协议配置文件,对传输的业务数据参数进行解析,然后调用相关通信协议的代码,发送到对应的服务器。待传输业务数据,例如,可以是一条车辆入场记录。

接上例,通信协议配置文件中记录的通信协议标志位是A,表示当前使用TCP通信协议与TCP服务器进行通信。那么,通用通信协议接口收到业务数据后,根据存储的通信协议配置文件中的通信协议标志位A,对传输的业务数据参数进行解析,然后调用TCP通信协议的代码,发送到对应的TCP服务器。由此可见,服务器如果想要切换通信协议,只需将包含通信协议标志位的通信协议配置文件下发到本地,本地可以完成多种通信协议之间的切换,并且不需要针对每种通信协议编写相似的代码,大大提高了数据传输的效率,避免了重复劳动,节省了成本。

另外,本实施例中,终端设备在收到服务器返回的业务结果数据时,会进行逆解析过程。举例而言,收到TCP服务器返回的业务结果数据,然后调用通用通信协议接口并读取终端设备内存中的通信协议配置中记录的通信协议标志位,利用该通信协议标志位对返回的业务结果数据进行解析,将解析后得到的业务结果内容数据再返回给业务层的业务模块。

由此可见,本实施例中,云端如果想更换通讯协议,已经发布的程序能够支持通讯协议的切换,满足了用户的使用需求。

实施例三

图5示出了根据本发明一个实施例的一种通信协议切换装置结构示意图,参见图5,本实施例的通信协议切换装置500包括:

通信协议封装单元501,用于将多种通信协议封装成通用通信协议类,并得到统一的通信协议接口;

通信协议确定单元502,用于接收云端发送的通信协议配置文件并保存到本地数据库中;所述配置文件中记录有当前使用的通信协议对应的通信协议标志位;

通信协议使用单元503,用于利用所述通信协议接口以及所述通信协议标志位,实现按照所述通信协议标志位对应的通信协议进行数据传输。

在本发明的一个实施例中,通信协议使用单元503,具体用于当获取到待传输的业务数据时,调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务数据进行解析,并调用相应的通信协议将解析后的业务数据发送至对应的服务器。

在本发明的一个实施例中,通信协议使用单元503,具体用于接收服务器返回的业务结果数据;调用所述通信协议接口,使得所述通用通信协议类读取所述配置文件,根据所述通信协议标志位对应的通信协议对业务结果数据进行解析得到所需的业务结果内容数据;输出所述业务结果内容数据。

在本发明的一个实施例中,通信协议封装单元501,具体用于将超文本传输协议HTTP/安全超文本传输协议HTTPS,传输控制协议TCP,消息队列遥测传输MQTT,和/或文件传输协议FTP封装成通用通信协议类。

超文本传输协议(HTTP,Hyper Text Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准,HTTP是一个客户端和服务器端请求和应答的标准。

FTP协议是用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。

MQTT协议是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来做传感器和致动器的通信协议。

TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。

具体的,终端设备中封装哪些通信协议也可以根据实际应用需求进行调整,对此不作限制。

需要说明的是,本实施例中的通信协议切换的装置的各个单元的工作过程是和前述通信协议切换的方法的实现步骤相对应的,因此本实施例的通信协议切换的装置未尽事项可以参见前述通信协议切换的方法实施例中的相关说明,在此不再赘述。

实施例四

图6示出了根据本发明一个实施例的一种通信协议切换系统结构示意图,参见图6,本实施例中提供的通信协议切换系统600包括:数据库601以及一个或多个终端设备602,每个所述终端设备602中均设置有实施例三中所示的通信协议切换的装置500;数据库601,用于保存通信协议配置文件,配置文件中记录有当前使用的通信协议对应的通信协议标志位;终端设备602,用于与服务器通信,进行数据传输。

综上所述,本发明的这种通信协议切换的实现方案,通过将多种通信协议封装成通用通信协议类,并得到统一的通信协议接口,然后接收云端发送的通信协议配置文件并保存到本地数据库中;配置文件中记录有当前使用的通信协议对应的通信协议标志位;根据通信协议接口以及通信协议标志位,实现按照通信协议标志位对应的通信协议进行数据传输。如此,对于客户端的业务层而言,其无需关心使用何种通信协议与服务器通信,可以都使用相同的代码,避免了针对每种通信协议编写对应的代码导致的重复劳动、费时费力的问题,满足了应用需求。并且,在服务器更换通信协议后,客户端可动态切换通信协议,无需更改客户端,增强了客户端的通用性,节省了开发成本。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围以权利要求的保护范围为准。

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