数据通信方法、装置及其设备与流程

文档序号:15818723发布日期:2018-11-02 22:53阅读:186来源:国知局
数据通信方法、装置及其设备与流程

本发明涉及数据通信技术领域,尤其涉及一种数据通信方法、装置及其设备。

背景技术

基于因特网的客户端和服务器系统,在实现网络通讯的过程中,在软件层面会采用某种通信协议完成数据的交互,常见的协议有:rtmp协议、xmpp协议、http协议等。同时,用户也可以定义自己的私有协议,完成相同的功能。

相关技术中,由于每种协议的特定实现,某一业务唯一对应一套通信协议,因此只能接入一种实现的服务器,当业务形态发生演变,比如,同一业务需要接入不同协议栈服务器的时候,除非重构软件,否则难以完成数据通信。



技术实现要素:

本发明提供一种数据通信方法、装置及其设备,以解决现有技术中,由于每种协议的特定实现,某一业务唯一对应一套通信协议,因此只能接入一种实现的服务器,业务数据和通信协议耦合度较高,除非重构软件,否则无法满足业务形态的演变的技术问题。

本发明实施例提供一种数据通信方法,包括以下步骤:获取第一设备的应用程序产生的业务数据;根据所述应用程序以及所述业务数据所属的业务类型查询预存的通信协议信息,确定传输所述业务数据使用的一个或多个通信协议;将所述业务数据路由到协议栈集合中与所述一个或多个通信协议对应一个或多个协议栈中,按照所述一个或多个协议栈的协议栈格式将所述业务数据封装成对应的一个或多个业务数据包;将所述一个或多个业务数据包传输给与所述一个或多个通信协议对应的一个或多个第二设备。

本发明另一实施例提供一种数据通信装置,包括:获取模块,用于获取第一设备的应用程序产生的业务数据;确定模块,用于根据所述应用程序以及所述业务数据所属的业务类型查询预存的通信协议信息,确定传输所述业务数据使用的一个或多个通信协议;封装模块,用于将所述业务数据路由到协议栈集合中与所述一个或多个通信协议对应一个或多个协议栈中,按照所述一个或多个协议栈的协议栈格式将所述业务数据封装成对应的一个或多个业务数据包;传输模块,用于将所述一个或多个业务数据包传输给与所述一个或多个通信协议对应的一个或多个第二设备。

本发明又一实施例提供一种设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现本发明第一方面实施例所述的数据通信方法。

本发明还一实施例提供一种存储介质,用于存储应用程序,所述应用程序用于实现本发明第一方面实施例所述的数据通信方法。

本发明实施例提供的技术方案可以包括以下有益效果:

获取第一设备的应用程序产生的业务数据,根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的一个或多个通信协议,并将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包,进而,将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。由此,在不需要重构相应软件的基础上,可根据业务数据的业务类型灵活选择通信协议,提高了数据通信的灵活性和效率。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1是根据现有技术中的数据通信方法的流程图;

图2是根据本发明一个实施例的数据通信方法的流程图;

图3是根据本发明一个实施例的通信协议信息中存储的对应关系列表示意图;

图4(a)是根据本发明一个实施例的tcp/ip协议栈的网络结构示意图;

图4(b)是根据本发明一个实施例的数据包封装示意图;

图5(a)是根据本发明一个实施例的数据通信方法在应用场景下的场景示意图;

图5(b)是根据本发明另一个实施例的数据通信方法在应用场景下的场景示意图;

图5(c)是根据本发明又一个实施例的数据通信方法在应用场景下的场景示意图;

图6根据本发一个具体实施例的数据通信方法的流程图;

图7是根据本发明一个实施例的协议栈集合管理方法的流程图;

图8是根据本发明一个实施例的协议栈集合管理方法在具体应用场景下的场景示意图;

图9是根据本发明另一个实施例的协议栈集合管理方法的流程图;

图10是根据本发明另一个实施例的协议栈集合管理方法在具体应用场景下的场景示意图;

图11是根据本发明另一个实施例的数据通信方法的流程图;

图12是根据本发明再一个实施例的数据通信方法在应用场景下的场景示意图;

图13是根据本发明第一个实施例的数据通信装置的结构示意图;

图14是根据本发明第二个实施例的数据通信装置的结构示意图;

图15是根据本发明第三个实施例的数据通信装置的结构示意图;

图16是根据本发明第四个实施例的数据通信装置的结构示意图;

图17是根据本发明第五个实施例的数据通信装置的结构示意图;

图18是根据本发明第六个实施例的数据通信装置的结构示意图;以及

图19是根据本发明一个实施例的数据通信方法的交互流程示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的数据通信方法、装置及其设备。

具体而言,如图1所示的现有技术中的数据通信方法的流程图可知,现有技术中,用户启动应用程序后,用户与应用程序交互以产生交互逻辑,进而,相关业务数据(比如与其他用户的聊天信息等)需要发送给服务器或者对端用户。

从而,相关业务数据被打包成符合某种特定协议栈格式的数据包等待传输,并基于上述特定的协议,在网络上传输数据,完成网络通讯。

基于上述示例可以很清楚的看到,如果用户需要向上述业务数据发送给,支持某种特定协议之外的支持其他一种协议的服务器或者对端用户,则支持其他一种协议的服务器或者对端用户,由于无法接收某种特定协议栈格式的数据包,需要重构软件。即对于同样的业务数据,如果想同时发送到多个不同协议栈的服务器设备,或者将业务数据从一种协议栈迁移到另一种协议栈等,除非重构软件,否则难以实现。

因而,为了解决现有技术中,由于直接耦合业务逻辑和通信协议,从而,由于每种协议的特定实现,当业务不断演进产生分支的时候,可能产生协议上的不兼容,又或者同一业务需要接入不同协议栈服务器的时候,无法实现数据通信的技术问题,本发明提出了一种数据通信方法,该方法可以使各业务分支协议栈保持独立变化,互不干扰,在不需要重构相应软件的基础上,可根据业务数据的业务类型灵活选择通信协议,提高了数据通信的灵活性和效率。

下面结合具体的实施例对本发明提出的数据通信方法进行解释说明。

图2是根据本发明一个实施例的数据通信方法的流程图,如图2所示,该方法包括:

s101,获取第一设备的应用程序产生的业务数据。

其中,第一设备包括智能手机、个人电脑、可穿戴式设备等,业务数据与应用程序交互逻辑有关,比如聊天数据、转账数据、上下线数据等。

需要说明的是,在不同的应用场景下,获取第一设备的应用程序产生的业务数据的方式不同,作为一种可能的实现方式,可通过读取应用程序对应的保存业务数据的文件,以获取第一设备的应用程序产生的业务数据。

s102,根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的一个或多个通信协议。

其中,通信协议可以为rtmp协议、xmpp协议、http协议等标准化协议,可以是私有协议。

另外,上述业务类型用于指示执行不同的数据处理操作所属的种类的划分,比如,聊天应用程序的用户上下线业务数据对应的业务类型,是账号状态业务类型,聊天应用程序的聊天业务数据对应的业务类型,是交互业务类型,生活服务应用程序中的订单业务数据对应的业务类型,是商业业务类型等。

应当理解的是,在数据通信过程中,为了实现有条不紊的交换数据,就必须遵循事先约定好的通信协议,该通信协议是设备间通信所必须遵循的规则和约定,通信协议与业务类型相关,不同的通信协议所支持的业务类型具有不同,比如,对于业务类型为商业业务类型和账号状态业务类型而言,由于商业业务类型涉及到金钱交易等,因而,商业业务类型对应的通信协议相对于账号状态业务类型对应的通信协议安全保密等级较高等。

具体而言,确定业务数据所属的业务类型,比如,根据预存的业务数据和业务类型的对应关系获取与业务数据对应的业务类型,或者,由用户在相关界面手动输入业务类型,并根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的通信协议,其中,由于一个通信协议所支持的业务类型可能有多种,因而,确定的传输业务数据使用的通信协议可能有一个也可能有多个。

需要强调的是,在不同的应用场景下,上述预存的通信协议信息中的内容不同,示例说明如下:

第一种示例,预存的通信协议信息中可包括业务类型与通信协议的对应关系列表,从而,在获取业务数据所属的业务类型后,查询上述对对应关系列表,获取与业务类型对应的一个或多个通信协议。

举例而言,在本示例中,若预存的通信协议信息中存储的对应关系列表如图3所示,则如果获知业务数据所属的业务类型是无线通讯,则查询如图3所示的对应关系列表,确定与该业务类型对应的通信协议为tcp/ip协议。

s103,将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包。

s104,将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。

应当理解的是,在本发明的一个实施例中,可预先设置协议栈集合,该协议栈集合中可包括公有协议栈,或者,还可包括私有协议栈等。

其中,协议栈集合是指网络中各层协议的总和,包含了通信协议的包头信息,数据传输字节位数等,以tcp/ip协议栈伪例,如图4(a)所示,tcp/ip协议栈包括应用层、传输层、网络层和网络接口层,其中,网络接口层是tcp/ip协议模型的基层,负责数据帧的发送和接收。网络层通过互联协议将数据包封装成互联网数据包,并运行必要的路由算法。这里包括网际协议ip、地址解析协议arp、网际控制消息协议icmp和互联组管理协议igmp这4种互联协议。

传输层通过传输协议在设备之间提供通信会话。传输协议的选择根据数据传输方式而定,通常包括传输控制协议tcp和用户数据包协议udp两种协议。应用层用于访问网络,主要包括常见的ftp、http、dns和telnet协议。

在tcp/ip协议栈的4层协议中,各层数据包封装情况如图4(b)所示。在发送业务数据时,将业务数据从最上层到最下层一次打包(加上包头和部分尾部信息);在接收业务数据时,则将业务数据从最下层到最上层依次拆包(去掉包头和部分尾部信息)。这些打包和拆包操作就是由tcp/ip协议栈实现的。

由此,可知协议栈是协议的通信协议的实现,因而,为了实现设备之间的数据通信,将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包,进而,将一个或多个业务数据包传输给与一个或多个通信协议对应的第二设备。

其中,第二设备可以是服务器设备,也可以是智能手机、个人电脑、可穿戴式设备等用户终端设备。

需要强调的是,由于本发明实施例中,将通信协议独立于业务逻辑处理,因而,通信协议可根据具体业务需要灵活选择,若当前应用场景是将同样的业务场景发送给多个不同的协议栈的第二设备时,也可以同时实现,即上述第二设备可以是一个也可以是多个。

为了更加清楚的说明本发明实施例的数据通信方法的特点,下面结合部同的应用场景进行举例。

场景一,同样的业务数据a发送给两个分别只支持私有协议1和rtmp协议的智能手机和服务器。

在本示例中,如图5(a)所示,获取用户在与第一设备的应用程序交互过程中,产生的业务数据a,并确定与业务数据a所属的业务类型对应的通信协议包括私有协议1和rtmp协议,进而,将业务数据路由到与私有协议1和rtmp协议对应的通信协议栈中,按照该通信协议栈格式封装成两个不同格式的业务数据包,并将该私有协议1对应格式的数据包发送给智能手机,将rtmp协议对应格式的数据包发送给服务器设备。

场景二,业务数据b原来发送给支持私有协议1的智能手机,现在由于智能手机故障,需要发送给支持rtmp协议的服务器设备。

在本示例中,如图5(b)所示,获取用户在与第一设备的应用程序交互过程中,产生的业务数据b,并确定与业务数据b所属的业务类型对应的通信协议包括私有协议1和rtmp协议,进而,将业务数据路由到与私有协议1和rtmp协议对应的通信协议栈中,按照该通信协议栈格式封装成两个不同格式的业务数据包,并将该私有协议1对应格式的数据包发送给智能手机,将rtmp协议对应格式的数据包发送给服务器设备,此时,虽然智能手机故障,还能保证在同一时间将rtmp协议对应格式的数据包发送给服务器设备。

场景三,业务数据c原来发送给支持私有协议1的智能手机,现在由于智能手机技术进步等,该智能手机仅支持rtmp协议。

在本示例中,如图5(c)所示,获取用户在与第一设备的应用程序交互过程中,产生的业务数据c,并确定与业务数据c所属的业务类型对应的通信协议包括私有协议1和rtmp协议,进而,将业务数据路由到与私有协议1和rtmp协议对应的通信协议栈中,按照该通信协议栈格式封装成两个不同格式的业务数据包,并将该私有协议1对应格式的数据包和rtmp协议对应格式的数据包发送给智能手机,此时虽然智能手机进行了更新,但是仍然能保证能正常与相关设备进行数据通信。

由此,本发明实施例的数据通信方法,抽象一层协议栈选择层,将用户通讯数据和具体通信协议解耦、分离,针对同一组业务数据,可根据业务实际需要,灵活选择某一通信协议栈,从而在业务发生新旧更替、迁移过程中,不必重构软件即可满足需求;或者在出现同一业务需要同时接入多种异构协议栈服务器时,可轻松满足需求。

综上所述,本发明实施例的数据通信方法,获取第一设备的应用程序产生的业务数据,根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的一个或多个通信协议,并将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包,进而,将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。由此,在不需要重构相应软件的基础上,可根据业务数据的业务类型灵活选择通信协议,提高了数据通信的灵活性和效率。

基于以上描述,可知本发明实施例的数据通信方法的实施原理如图6所示,可以在启动应用程序后,根据用户与应用程序的交互逻辑,获取第一设备的应用程序产生的业务数据(s201),并选择业务数据所属的业务类型(s202),其中,该业务类型可决定业务使用的通信协议类型。

进而,将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中(s203),其中,本示例中的协议栈集合中包括tmp协议栈、xmpp协议栈、http协议栈,或者私有协议栈1和私有协议栈2。进而,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包(s204)。并将一个或多个业务数据包经由网络传输给相关设备(s205)。

由此可知,本发明实施例中的数据通信方法的灵活性,受到协议栈集合中包含的协议栈的种类的限制,由于协议栈集合中的协议栈数量有限,因而,在一些应用场景下所需要的协议栈,并不包含于协议栈集合中,或者,在一些场景下,有些协议栈集合中的协议栈已经发生了更新替代,占用大量内存但是已不满足当前的技术体制,因此,为了提高本发明数据通信方法的实用性,本发明还出了一种对协议栈集合进行管理的方法。

下面以对协议栈集合进行更改和添加管理为例进行说明。

图7是根据本发明一个实施例的协议栈集合管理方法的流程图,如图7所示,该方法包括:

s301,接收通信协议更改信息,其中,通信协议更改信息包括:应用程序标识和对应的业务类型标识,以及新的通信协议。

其中,应用程序标识可以包括应用程序图标信息,应用程序编码等可标识应用程序唯一性的信息,业务类型标识可包括业务类型编码等可标识业务类型唯一性的信息。

可以理解,通信协议为了满足技术的进步,会随着技术的进步而不断更新完善,因而,可能在某一时间,协议栈集合中的部分通信协议发生了更新,此时,需要对该部分通信协议进行更改。

具体而言,接收通信协议更改信息,其中,通信协议更改信息包括:应用程序标识和对应的业务类型标识,以及新的通信协议。

s302,将通信协议信息中与应用程序标识和业务类型标识对应的原有的通信协议替换为新的通信协议。

具体地,接收通信协议更改信息后,将通信协议信息中与应用程序标识和业务类型标识对应的原有的通信协议替换为新的通信协议,以使得当前协议栈集合中的相关通信协议能更好的满足当前的技术体制。

为了更加清楚的描述,对协议栈中的通信协议进行更改后的技术特点,下面举例说明。

当前协议栈集合中具有rtmp协议、xmpp协议和http协议,此时,由于技术的进步,原rtmp协议发生了更新,如果此时第一设备和智能手机的数据通信需要新的rtmp协议进行数据通信,则可能会影响数据通信的质量,甚至无法通信。

在本示例中,如图8所示,获取用户在与第一设备的应用程序交互过程中,产生的业务数据d,并确定与业务数据d所属的业务类型对应的通信协议包括原rtmp协议,进而,将业务数据路由到与原rtmp协议对应的通信协议栈中,按照该通信协议栈格式封装成对应格式的业务数据包,然而,由于rtmp协议发生更新,此时如果将该原rtmp协议对应格式的数据包发送给智能手机,可能造成数据丢失或者传输失败。

如果,预先根据接收的通信协议更改信息将原rtmp协议替换为更新后的原rtmp协议,则将该更新后的rtmp协议对应格式的数据包发送给智能手机,保证了该数据传输与技术体制进步同步,进一步保障了通信效率和通信质量。

当然,在本示例中,替换的新的通信协议可能是当前通信协议的更新的最新版本的通信协议,也有可能还是最稳定的通信协议,因此,更换通信协议信息的行为,可以指的是当前的通信协议无法与当前技术体制匹配,从而更换为较新版本的通信协议,也可以指的是当前通信协议是较新的版本,但是该版本不稳定,从而更换为较稳定的版本的通信协议。

图9是根据本发明另一个实施例的协议栈集合管理方法的流程图,如图9所示,该方法包括:

s401,接收通信协议添加信息,其中,通信协议添加信息包括:应用程序标识和对应的业务类型标识,以及新增通信协议。

其中,应用程序标识可以包括应用程序图标信息,应用程序编码等可标识应用程序唯一性的信息,业务类型标识可包括业务类型编码等可标识业务类型唯一性的信息。

可以理解,通信协议为了满足技术的进步,会随着技术的进步而不断扩展而趋于多样化,因而,可能在某一时间,出现了较多新的通信协议,协议栈集合中的通信协议无法满足有关业务需求,此时,需要添加通信协议。

具体而言,接收通信协议添加信息,其中,通信协议更改信息包括:应用程序标识和对应的业务类型标识,以及新增的通信协议。

s402,在通信协议信息中添加与应用程序标识和业务类型标识对应的新增通信协议。

具体地,接收通信协议添加信息后,在通信协议信息中添加与应用程序标识和业务类型标识对应的新增通信协议,以使得当前协议栈集合中的相关通信协议能更好的满足当前的业务需求。

为了更加清楚的描述,对协议栈中的通信协议进行添加后的技术特点,下面举例说明。

当前协议栈集合中具有rtmp协议、xmpp协议和http协议,此时,由于业务需求的扩展,有些第一设备到智能手机的业务需要私有协议1,此时协议栈中的通信协议不能满足上述业务需要。

在本示例中,如图10所示,获取用户在与第一设备的应用程序交互过程中,产生的业务数据e,并确定与业务数据e所属的业务类型对应的通信协议为私有协议1,进而,由于当前协议栈中没有私有协议的协议栈,此时无法满足相关业务需求。

如果,预先根据接收的通信协议添加信息添加私有协议1,则可以将相关业务数据包路有到私有协议1的协议栈中,将私有协议1对应格式的数据包发送给智能手机,保证了该数据传输与业务需求的对接,进一步保障了通信效率和通信质量。

当然,在本示例中,新增的通信协议可能是当前根据业务需求的拓展新出现的通信协议,也有可能是原来已有的协议,但是并没有存储在本实施例中的协议栈集合中的,因此,在本发明的一个实施例中,若检测到与传输业务数据使用的一个或多个通信协议对应的协议栈不存在协议栈集合中,则在协议栈集合中添加缺失的协议栈。

综上所述,本发明实施例的数据通信方法,可根据具体应用场景的需要,对协议栈集合中进行对应的管理操作,实现了协议栈的平行扩展,保证了协议栈集合中的通信协议更好的满足业务需求,进一步保障了通信效率和通信质量,提升了用户的使用体验。

基于以上实施例,在实际应用中,很多业务数据中包含的数据可能是多个应用程序能够复用的数据,比如,用户无轮使用聊天应用程序x和聊天应用程序y进行视频通话,使用的都是视频数据是大致相同的。

因而,在本发明的实施例中,为了缩短开发周期、降低人力成本,提出了一种对可公用数据进行复用的技术方案。

图11是根据本发明另一个实施例的数据通信方法的流程图,如图11所示,步骤s101可包括:

s501,在用户与第一设备的应用程序交互过程中,根据业务类型从公共业务平台上获取所需的公共内核数据。

其中,公共内核数据包括音视频的采集数据、编解码数据、渲染数据中的一种或多种数据组合。

举例而言,如图12所示,如果第一设备的应用程序是聊天应用程序x和聊天应用程序y,则由于其无论是使用聊天应用程序x还是聊天应用程序y等其他任意可视频聊天的程序,其采集的音视频数据都是基本一致的,因而,在本实施例中,直接从公共业务平台比如视频设备采集平台上获取所需的音视频数据。避免了相关应用程序单独采集音视频数据,大大提高了通信效率。

s502,根据公共内核数据以及与业务类型对应的用户数据生成业务数据。

具体而言,从公共业务平台上获取所需的公共内核数据后,将公共内核数据与业务类型对应的用户数据一起生成业务数据,其中,对于有相似性的业务,有公共的内核数据,从公共平台获取公共内核数据,可复用这些公共的技术能力,仅在业务接入时,路由到业务具体对应的协议栈,即可轻松实现大量基础公共能力的复用,从而缩短开发周期、降低人力成本。

综上所述,本发明实施例的数据通信方法,在用户与第一设备的应用程序交互过程中,根据业务类型从公共业务平台上获取所需的公共内核数据,根据公共内核数据以及与业务类型对应的用户数据生成业务数据。由此,有助于缩短开发周期、降低人力成本,进一步提升了通信效率。

与上述几种实施例提供的数据通信方法相对应,本发明的一种实施例还提供一种数据通信装置,由于本发明实施例提供的数据通信装置与上述几种实施例提供的数据通信方法相对应,因此在前述数据通信方法的实施方式也适用于本实施例提供的数据通信装置,在本实施例中不再详细描述。

图13是根据本发明第一个实施例的数据通信装置的结构示意图,如图13所示,该数据通信装置包括:获取模块110、确定模块120、封装模块130和传输模块140。

其中,获取模块110,用于获取第一设备的应用程序产生的业务数据。

确定模块120,用于根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的一个或多个通信协议。

其中,通信协议可以为rtmp协议、xmpp协议、http协议等标准化协议,可以是私有协议。

另外,上述业务类型用于指示执行不同的数据处理操作所属的种类的划分,比如,聊天应用程序的用户上下线业务数据对应的业务类型,是账号状态业务类型,聊天应用程序的聊天业务数据对应的业务类型,是交互业务类型,生活服务应用程序中的订单业务数据对应的业务类型,是商业业务类型等。

应当理解的是,在数据通信过程中,为了实现有条不紊的交换数据,就必须遵循事先约定好的通信协议,该通信协议是设备间通信所必须遵循的规则和约定,通信协议与业务类型相关,不同的通信协议所支持的业务类型具有不同,比如,对于业务类型为商业业务类型和账号状态业务类型而言,由于商业业务类型设计到金钱交易等,因而,商业业务类型对应的通信协议相对于账号状态业务类型对应的通信协议安全保密等级较高等。

具体而言,确定模块120确定业务数据所属的业务类型,比如,根据预存的业务数据和业务类型的对应关系获取与业务数据对应的业务类型,或者,由用户在相关界面手动输入业务类型,并根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的通信协议,其中,由于一个通信协议所支持的业务类型可能有多种,因而,确定的传输业务数据使用的通信协议可能有一个也可能有多个。

封装模块130,用于将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包。

图14是根据本发明第二个实施例的数据通信装置的结构示意图,如图14所示,在如图13所示的基础上,该数据通信装置还包括设置模块150。

其中,设置模块150,用于在在获取第一设备的应用程序产生的业务数据之前,设置协议栈集合,其中,协议栈集合包括:公有协议栈,和/或,私有协议栈。

传输模块140,用于将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。

其中,第二设备包括用户终端设备,和/或,服务器设备。

综上所述,本发明实施例的数据通信装置,获取第一设备的应用程序产生的业务数据,根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的一个或多个通信协议,并将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包,进而,将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。由此,在不需要重构相应软件的基础上,可根据业务数据的业务类型灵活选择通信协议,提高了数据通信的灵活性和效率。

基于以上描述可知,本发明实施例中的数据通信的灵活性,受到协议栈集合中包含的协议栈的种类的限制,由于协议栈集合中的协议栈数量有限,因而,在一些应用场景下所需要的协议栈,并不包含于协议栈集合中,或者,在一些场景下,有些协议栈集合中的协议栈已经发生了更新替代,占用大量内存但是已不满足当前的技术体制,因此,为了提高本发明数据通信方法的实用性,本发明还出了一种对协议栈集合进行管理的方法。

图15是根据本发明第三个实施例的数据通信装置的结构示意图,如图15所示,在如图13所示的基础上,该数据通信装置还包括第一接收模块160和替换模块170。

第一接收模块160,用于接收通信协议更改信息,其中,通信协议更改信息包括:应用程序标识和对应的业务类型标识,以及新的通信协议。

其中,应用程序标识可以包括应用程序图标信息,应用程序编码等可标识应用程序唯一性的信息,业务类型标识可包括业务类型编码等可标识业务类型唯一性的信息。

可以理解,通信协议为了满足技术的进步,会随着技术的进步而不断更新完善,因而,可能在某一时间,协议栈集合中的部分通信协议发生了更新,此时,需要对该部分通信协议进行更改。

具体而言,第一接收模块160接收通信协议更改信息,其中,通信协议更改信息包括:应用程序标识和对应的业务类型标识,以及新的通信协议。

替换模块170,用于将通信协议信息中与应用程序标识和业务类型标识对应的原有的通信协议替换为新的通信协议。

具体地,接收通信协议更改信息后,替换模块170将通信协议信息中与应用程序标识和业务类型标识对应的原有的通信协议替换为新的通信协议,以使得当前协议栈集合中的相关通信协议能更好的满足当前的技术体制。

当然,在本示例中,替换的新的通信协议可能是当前通信协议的更新的最新版本的通信协议,也有可能还是最稳定的通信协议,因此,更换通信协议信息的行为,可以指的是当前的通信协议无法与当前技术体制匹配,从而更换为较新版本的通信协议,也可以指的是当前通信协议是较新的版本,但是该版本不稳定,从而更换为较稳定的版本的通信协议。

图16是根据本发明第四个实施例的数据通信装置的结构示意图,如图16所示,在如图13所示的基础上,该数据通信装置还包括第二接收模块180和第一添加模块190。

其中,第二接收模块180,用于接收通信协议添加信息,其中,通信协议添加信息包括:应用程序标识和对应的业务类型标识,以及新增通信协议。

第一添加模块190,用于在通信协议信息中添加与应用程序标识和业务类型标识对应的新增通信协议。

可以理解,通信协议为了满足技术的进步,会随着技术的进步而不断扩展而趋于多样化,因而,可能在某一时间,出现了较多新的通信协议,协议栈集合中的通信协议无法满足有关业务需求,此时,需要添加通信协议。

具体地,接收通信协议添加信息后,第一添加模块180在通信协议信息中添加与应用程序标识和业务类型标识对应的新增通信协议,以使得当前协议栈集合中的相关通信协议能更好的满足当前的业务需求。

当然,在本示例中,新增的通信协议可能是当前根据业务需求的拓展新出现的通信协议,也有可能时原来已有的协议,但是并没有存储在本实施例中的协议栈集合中的,因此,在本发明的一个实施例中,图17是根据本发明第五个实施例的数据通信装置的结构示意图,如图17所示,在如图16所示的基础上,该数据通信装置还包括第二添加模块1100。

其中,第二添加模块1100,用于在检测到与传输业务数据使用的一个或多个通信协议对应的协议栈不存在协议栈集合中时,在协议栈集合中添加缺失的协议栈。

综上所述,本发明实施例的数据通信装置,可根据具体应用场景的需要,对协议栈集合中进行对应的管理操作,实现了协议栈的平行扩展,保证了协议栈集合中的通信协议更好的满足业务需求,进一步保障了通信效率和通信质量,提升了用户的使用体验。

图18是根据本发明第六个实施例的数据通信装置的结构示意图,如图18所示,在如图13所示的基础上,获取模块110包括获取单元111和生成单元112。

其中,获取单元111,用于在用户与第一设备的应用程序交互过程中,根据业务类型从公共业务平台上获取所需的公共内核数据。

其中,公共内核数据包括音视频的采集数据、编解码数据、渲染数据中的一种或多种数据组合。

生成单元112,用于根据公共内核数据以及与业务类型对应的用户数据生成业务数据。

具体而言,生成单元112从公共业务平台上获取所需的公共内核数据后,将公共内核数据与业务类型对应的用户数据一起生成业务数据,其中,对于有相似性的业务,有公共的内核数据,从公共平台获取公共内核数据,可复用这些公共的技术能力,仅在业务接入时,路由到业务具体对应的协议栈,即可轻松实现大量基础公共能力的复用,从而缩短开发周期、降低人力成本。

综上所述,本发明实施例的数据通信装置,在用户与第一设备的应用程序交互过程中,根据业务类型从公共业务平台上获取所需的公共内核数据,根据公共内核数据以及与业务类型对应的用户数据生成业务数据。由此,有助于缩短开发周期、降低人力成本,进一步提升了通信效率。

为了实现上述实施例,本发明还提出了一种设备。图19是根据本发明一个实施例的数据通信方法的交互流程示意图。如图19所示,设备侧获取第一设备的应用程序产生的业务数据,进而,设备侧可将业务数据发送给处理器,处理器根据存储器中存储的通信协议信息,确定传输业务数据使用的一个或多个通信协议,进而,将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包,并将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。

综上所述,本发明实施例的设备,获取第一设备的应用程序产生的业务数据,根据应用程序以及业务数据所属的业务类型查询预存的通信协议信息,确定传输业务数据使用的一个或多个通信协议,并将业务数据路由到协议栈集合中与一个或多个通信协议对应一个或多个协议栈中,按照一个或多个协议栈的协议栈格式将业务数据封装成对应的一个或多个业务数据包,进而,将一个或多个业务数据包传输给与一个或多个通信协议对应的一个或多个第二设备。由此,在不需要重构相应软件的基础上,可根据业务数据的业务类型灵活选择通信协议,提高了数据通信的灵活性和效率。

为了实现上述实施例,本发明还提出了一种存储介质,用于存储应用程序,应用程序用于执行本发明任一项实施例所描述的数据通信方法。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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