一种基于视联网的信息传输方法及装置转让专利

申请号 : CN201910562844.8

文献号 : CN110392044B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢文龙张小帅李云鹏沈军

申请人 : 视联动力信息技术股份有限公司

摘要 :

本发明实施例提供了一种基于视联网的数据传输方法及装置,以及计算机可读存储介质和电子设备,所述视联网还经由流媒体协转服务器连接到互联网;互联网中包括多个互联网终端,视联网中包括视联网服务器及多个视联网终端;包括:流媒体协转服务器通过IOCP接收多个互联网终端发送的数据信息;利用IOCP中耦合的各加解密模块,分别从各数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别对各所述原始数据包进行加密或解密;分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各视联网数据包发送至视联网服务器。本发明通过对数据进行并行加解密,进而从整体上提高了数据的安全传输速度。

权利要求 :

1.一种基于视联网的数据传输方法,其特征在于,所述视联网还经由流媒体协转服务器连接到互联网;所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端;所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块,所述方法应用于所述流媒体协转服务器,包括:通过所述IOCP接收所述多个互联网终端发送的数据信息,其中,各所述数据信息中包括套接字及原始数据包;

利用各所述加解密模块,分别从各所述数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始数据包是否需要加密或解密;

若是,则利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始数据包进行加密或解密;

分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器;所述视联网服务器用于将各所述视联网数据包分别发送给各自对应的目标视联网终端。

2.根据权利要求1所述的方法,其特征在于,各所述互联网终端还可以与视联网服务器通信连接;所述方法还包括:在确定不需要加密或解密时,利用各所述加解密模块将所述数据标识位还原到所述套接字中;

分别从还原后的套接字中读取出第一目的IP地址和第一目的端口,并获取与所述第一目的IP地址对应的第一目标MAC地址;

为各所述原始数据包添加视联网协议包头,各所述视联网协议包头中包括各自的第一目标MAC地址和第一目的端口;

将封装了所述视联网协议包头的各原始数据包发送给所述视联网服务器,所述视联网服务器用于将所述封装了所述视联网协议包头的各原始数据包发送给与各自的第一目标MAC地址对应的第一目标互联网终端的第一目的端口上。

3.根据权利要求1所述的方法,其特征在于,所述基于所述密钥类型,分别对各所述原始数据包进行加密或解密的步骤,包括:若根据所述数据标识位确定需要加密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行加密,并为加密后的原始数据包添加所述密钥的密钥标识;

若根据所述数据标识位确定需要解密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行解密。

4.根据权利要求1或2所述的方法,其特征在于,所述通过所述IOCP接收所述多个互联网终端发送的数据信息的步骤后,所述方法还包括:记录多个数据信息各自包括的套接字中所携带的第二目的IP地址及第二目的端口;

所述分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包的步骤,包括:获取与记录的所述第二目的IP地址对应的第二目标MAC地址;

为加密或解密后的各原始数据包封装视联网协议包头得到视联网数据包,并将所述第二目标MAC地址及所述第二目的端口号添加至所述视联网协议包头中。

5.一种基于视联网的数据传输方法,其特征在于,所述视联网还经由流媒体协转服务器连接到互联网,所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器,及与所述视联网服务器连接的多个视联网终端,所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述方法应用于所述视联网服务器,包括:采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的多个视联网数据包;其中,各所述视联网数据包分别由所述流媒体协转服务器通过IOCP发送,并为由所述流媒体协转服务器基于所述多个互联网终端发送的多个数据信息各自所包括的套接字,利用所述多个加解密模块分别对各所述数据信息中的原始数据包进行加密或解密后得到的数据包;

采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

分别判断各所述视联网数据包中的原始数据包是否具有密钥标识;

若是,则采用与所述密钥标识对应的密钥,对添加有所述密钥标识原始数据包进行解密,并为解密后的原始数据包重新封装视联网协议包头;

采用所述多个视联网虚拟终端,分别将各视联网数据包发送至各自对应的目标视联网终端的步骤,包括:采用所述多个视联网虚拟终端,分别将重新封装了视联网协议包头的原始数据包发送至与各自对应的目标视联网终端。

7.一种基于视联网的数据传输装置,其特征在于,所述视联网还经由流媒体协转服务器连接到互联网;所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端;所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述装置位于所述流媒体协转服务器,包括:数据接收模块,用于通过所述IOCP接收所述多个互联网终端发送的数据信息,其中,各所述数据信息中包括套接字及原始数据包;

加解密并发判断模块,用于利用所述多个加解密模块,分别从各所述数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始数据包是否需要加密或解密;

并发加解密模块,用于在确定需要加密或解密时,利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始数据包进行加密或解密;

数据转发模块,用于分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器;所述视联网服务器用于将各所述视联网数据包分别发送给各自对应的目标视联网终端。

8.一种基于视联网的数据传输装置,其特征在于,所述视联网还经由流媒体协转服务器连接到互联网,所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器,及与所述视联网服务器连接的多个视联网终端,所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述装置位于所述视联网服务器,包括:接收模块,用于采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的多个视联网数据包;其中,各所述视联网数据包分别由所述流媒体协转服务器通过IOCP发送,并为由所述流媒体协转服务器基于所述多个互联网终端发送的多个数据信息各自所包括的套接字,利用所述多个加解密模块分别对各所述数据信息中的原始数据包进行加密或解密后得到的数据包;

发送模块,采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。

9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一所述的方法。

10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现如权利要求1-6任一所述的方法。

说明书 :

一种基于视联网的信息传输方法及装置

技术领域

[0001] 本发明涉及数据处理技术领域,特别是涉及一种基于视联网的信息传输方法,一种基于视联网的信息传输装置,以及一种计算机可读存储介质。

背景技术

[0002] 视联网是一种以太网硬件实时大带宽传输网络,用于高速传输高清视频及专用协议的专用网络。目前,视联网产品日益趋于稳定和商业化,在商业领域应用也越来越广泛,特别是越来越多地涉及到与互联网中的数据进行交互,在与互联网中的数据进行交互时,往往会产生一些安全问题,为了应对在与互联网中的数据进行交互时的安全问题,往往需要对数据进行加解密处理,但是,发明人在使用过程中发现,在对数据进行加解密处理时,会严重影响到数据的传输效率,而目前,并没有一种保障数据安全性的同时又能提高数据发送效率的机制。

发明内容

[0003] 鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于视联网的信息传输方法、一种基于视联网的信息传输装置,一种计算机可读存储介质以及一种电子设备。
[0004] 为了解决上述问题,本发明实施例的第一方面,公开了一种基于视联网的数据传输方法,所述视联网还经由流媒体协转服务器连接到互联网;所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端;所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块,所述方法应用于所述流媒体协转服务器,包括:
[0005] 通过所述IOCP接收所述多个互联网终端发送的数据信息,其中,各所述数据信息中包括套接字及原始数据包;
[0006] 利用各所述加解密模块,分别从各所述数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始数据包是否需要加密或解密;
[0007] 若是,则利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始数据包进行加密或解密;
[0008] 分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器;所述视联网服务器用于将各所述视联网数据包分别发送给各自对应的目标视联网终端。
[0009] 可选地,所述互联网终端还可以与视联网服务器通信连接;所述方法还包括:
[0010] 在确定不需要加密或解密时,利用各所述加解密模块将所述数据标识位还原到所述套接字中;
[0011] 分别从还原后的套接字中读取出第一目的IP地址和第一目的端口,并获取与所述第一目的IP地址对应的第一目标MAC地址;
[0012] 为各所述原始数据包添加视联网协议包头,各所述视联网协议包头中包括各自的第一目标MAC地址和第一目的端口;
[0013] 将封装了所述视联网协议包头的各原始数据包发送给所述视联网服务器,所述视联网服务器用于将所述视联网协议包头的各原始数据包发送给与各自的第一目标MAC地址对应的第一目标互联网终端的第一目的端口上。
[0014] 可选地,所述基于所述密钥类型,分别对各所述原始数据包进行加密或解密的步骤,包括:
[0015] 若根据所述数据标识位确定需要加密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行加密,并为加密后的原始数据包添加所述密钥的密钥标识;
[0016] 若根据所述数据标识位确定需要解密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行解密。
[0017] 可选地,所述通过所述IOCP接收所述多个互联网终端发送的数据信息的步骤后,所述方法还包括:
[0018] 记录所述多个数据信息各自包括的套接字中所携带的第二目的IP地址及第二目的端口;
[0019] 所述分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包的步骤,包括:
[0020] 获取与记录的所述第二目的IP地址对应的第二目标MAC地址;
[0021] 为加密或解密后的各原始数据包封装视联网协议包头得到视联网数据包,并将所述第二目标MAC地址及所述第二目的端口号添加至所述视联网协议包头中。
[0022] 为了解决上述问题,本发明实施例的第二方面,公开了一种基于视联网的数据传输方法,所述视联网还经由流媒体协转服务器连接到互联网,所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器,及与所述视联网服务器连接的多个视联网终端,所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述方法应用于所述视联网服务器,包括:
[0023] 采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的多个视联网数据包;其中,各所述视联网数据包分别由所述流媒体协转服务器通过IOCP发送,并为由所述流媒体协转服务器基于所述多个互联网终端发送的多个数据信息各自所包括的套接字,利用所述多个加解密模块分别对各所述数据信息中的原始数据包进行加密或解密后得到的数据包;
[0024] 采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。
[0025] 可选地,所述方法还包括:
[0026] 分别判断各所述视联网数据包中的原始数据包是否具有密钥标识;
[0027] 若是,则采用与所述密钥标识对应的密钥,对添加有所述密钥标识原始数据包进行解密,并为解密后的原始数据包重新封装视联网协议包头;
[0028] 采用所述多个视联网虚拟终端,分别将各视联网数据包发送至各自对应的目标视联网终端的步骤,包括:
[0029] 采用所述多个视联网虚拟终端,分别将重新封装了视联网协议包头的原始数据包发送至与各自对应的目标视联网终端。
[0030] 为了解决上述问题,本发明实施例的第三方面,公开了一种基于视联网的数据传输装置,所述视联网还经由流媒体协转服务器连接到互联网;所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端;所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述装置位于所述流媒体协转服务器,包括:
[0031] 数据接收模块,用于通过所述IOCP接收所述多个互联网终端发送的数据信息,其中,各所述数据信息中包括套接字及原始数据包;
[0032] 加解密并发判断模块,用于利用所述多个加解密模块,分别从各所述数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始数据包是否需要加密或解密;
[0033] 并发加解密模块,用于在确定需要加密或解密时,利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始数据包进行加密或解密;
[0034] 数据转发模块,用于分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器;所述视联网服务器用于将各所述视联网数据包分别发送给各自对应的目标视联网终端。
[0035] 为了解决上述问题,本发明实施例的第四方面,公开了一种基于视联网的数据传输装置,所述视联网还经由流媒体协转服务器连接到互联网,所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器,及与所述视联网服务器连接的多个视联网终端,所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述装置位于所述视联网服务器,包括:
[0036] 接收模块,用于采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的多个视联网数据包;其中,各所述视联网数据包分别由所述流媒体协转服务器通过IOCP发送,并为由所述流媒体协转服务器基于所述多个互联网终端发送的多个数据信息各自所包括的套接字,利用所述多个加解密模块分别对各所述数据信息中的原始数据包进行加密或解密后得到的数据包;
[0037] 发送模块,采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。
[0038] 为了解决上述问题,本发明实施例的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述基于视联网的数据传输方法。
[0039] 为了解决上述问题,本发明实施例的第四方面,公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行时实现所述基于视联网的数据传输方法。
[0040] 本发明实施例包括以下优点:
[0041] 本发明实施例中,在流媒体协转服务器的IOCP模式中耦合了多个加解密模块,可以通过IOCP接收多个互联网终端发送的数据信息,并从数据信息的套接字中提取出数据标识位,根据数据标识位判断是否需要对原始信数据包进行加解密,在需要加解密时,利用多个加解密模块分别对各个原始数据包加密或解密,并在完成对原始数据包的加密或解密后,再添加视联网协议包头,再利用IOCP将封装了视联网协议包头的各个加密数据包发送给视联网服务器。由于在IOCP中耦合了多个加解密模块,并利用多个加解密模块分别对各个原始数据包进行加密或解密。一方面,使得流媒体协转服务器在并发接收数据信息的同时,也可以并行地对各个数据信息中的原始数据包进行加密或解密,从而提高了对大量的数据信息进行加解密传输时的效率。另一方面,由于可以在流媒体协转服务器上对数据信息进行加密或解密,可以保证数据信息在从互联网传输到视联网时的安全性,因针对的是原始数据包的加密或解密,使得流媒体协转服务器不用对原始数据包里的原始数据进行处理,进而进一步保障了数据信息的安全传输,确保了两侧网络的安全性。通过上述两个方面,使得本实施例可以在保障数据安全性传输的同时,又充分保障了流媒体协转服务器的高并发性能,进而建立起了既保证数据安全性的同时又能提高数据发送效率的数据传输机制。
[0042] 本发明实施例提供的另一种基于视联网的数据传输方法中,视联网服务器可以采用预置的多个虚拟终端分别接收各个封装了视联网协议包头的加解密数据包,并采用预置的多个虚拟终端分别发送封装了视联网协议包头的加解密数据包至各自的目标视联网终端,使得在流媒体服务器并发发送各个封装了视联网协议包头的加解密数据包时,视联网服务器也可以并发接收各个封装了视联网协议包头的加解密数据包,从而保证了数据在视联网和互联网之间的并发传输效率。

附图说明

[0043] 图1是本发明的一种视联网的组网示意图;
[0044] 图2是本发明的一种节点服务器的硬件结构示意图;
[0045] 图3是本发明的一种接入交换机的硬件结构示意图;
[0046] 图4是本发明的一种以太网协转网关的硬件结构示意图;
[0047] 图5是本发明实施例的一种基于视联网的信息传输方法的应用场景图;
[0048] 图6是本发明实施例的一种基于视联网的信息传输方法的步骤流程图;
[0049] 图7是本发明实施例的一种基于视联网的信息传输方法的可选实施方式的步骤流程图;
[0050] 图8是本发明实施例的另一种基于视联网的信息传输方法的步骤流程图;
[0051] 图9是本发明实施例的一种基于视联网的信息传输方法的实例的流程示意图;
[0052] 图10是本发明实施例的一种基于视联网的信息传输装置的框架示意图;
[0053] 图11是本发明实施例的另一种基于视联网的信息传输装置的框架示意图。

具体实施方式

[0054] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0055] 视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
[0056] 视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
[0057] 为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
[0058] 视联网所应用的部分技术如下所述:
[0059] 网络技术(NetworkTechnology)
[0060] 视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大第一视频流量。不同于单纯的网络分组包交换(Packet Switching) 或网络电路交换(Circuit Switching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
[0061] 交换技术(Switching Technology)
[0062] 视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
[0063] 服务器技术(ServerTechnology)
[0064] 视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
[0065] 储存器技术(Storage Technology)
[0066] 统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
[0067] 网络安全技术(Network Security Technology)
[0068] 视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
[0069] 服务创新技术(Service Innovation Technology)
[0070] 统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
[0071] 视联网的组网如下所述:
[0072] 视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
[0073] 如图1所示,视联网分为接入网和城域网两部分。
[0074] 接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
[0075] 其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
[0076] 类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
[0077] 其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
[0078] 城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
[0079] 由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
[0080] 形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
[0081] 视联网设备分类
[0082] 1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
[0083] 1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网协转网关),终端(包括各种机顶盒,编码板,存储器等)。
[0084] 各接入网设备的具体硬件结构为:
[0085] 节点服务器:
[0086] 如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU 模块203、磁盘阵列模块204;
[0087] 其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表 205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模块202轮询所有包缓存器队列,如果满足以下条件进行转发: 1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204 主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块 203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表) 的配置,以及,对磁盘阵列模块204的配置。
[0088] 接入交换机:
[0089] 如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
[0090] 其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符 (stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块 302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器 307的队列;如果该包缓存器307的队列接近满,则丢弃。
[0091] 交换引擎模块303轮询所有包缓存器队列,可以包括两种情形:
[0092] 如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
[0093] 如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
[0094] 码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
[0095] CPU模块304主要负责与节点服务器之间的协议处理,对地址表306 的配置,以及,对码率控制模块308的配置。
[0096] 以太网协转网关:
[0097] 如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、 MAC删除模块410。
[0098] 其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网 length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符 (stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、 length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
[0099] 下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MAC SA、以太网length or frame type,并发送。
[0100] 以太网协转网关中其他模块的功能与接入交换机类似。
[0101] 终端:
[0102] 主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
[0103] 1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU 模块构成。
[0104] 2、视联网数据包定义
[0105] 2.1接入网数据包定义
[0106] 接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
[0107] 如下表所示,接入网的数据包主要包括以下几部分:
[0108]DA SA Reserved Payload CRC
[0109] 其中:
[0110] 目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256 种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
[0111] 源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA) 相同;
[0112] 保留字节由2个字节组成;
[0113] payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
[0114] CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
[0115] 2.2城域网数据包定义
[0116] 城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
[0117] 本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A 也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签 (入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
[0118] 如下表所示,城域网的数据包主要包括以下几部分:
[0119] DA SA Reserved 标签 Payload CRC
[0120] 即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是 32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
[0121] 基于上述视联网的特性,为了解决上述技术问题,提出本发明实施例的基本构思之一,在流媒体协转服务器的IOCP模式中耦合多个加解密模块,通过IOCP接收多个互联网终端发送的数据信息,并从数据信息的套接字中提取出数据标识位,根据数据标识位判断是否需要对原始信数据包进行加解密,在需要加解密时,利用多个加解密模块分别对各个原始数据包加密或解密,以此并发的加解密处理,提高在对数据需要进行加解密传输时的传输效率。
[0122] 参考图5,示出了本发明实施例的一种基于视联网的数据传输方法的应用环境图,图5中,所述视联网可以经由流媒体协转服务器连接到互联网;所述互联网中可以包括多个互联网终端,所述视联网中可以包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端。
[0123] 其中,流媒体协转服务器是各互联网与视联网之间的沟通桥梁,可以担负数据在两侧网络中交互的功能,实际中,流媒体协转服务器可以同时与视联网服务器和互联网内的多个互联网终端通信连接,以接收各个互联网终端发送的互联网数据,并将互联网数据发送给视联网服务器,以及,可以接收视联网服务器发送的视联网数据,并将视联网数据发送给多个互联网终端。
[0124] 实际中,流媒体协转服务器通过视联网通信协议与视联网服务器建立通信链接,每个视联网终端在视联网服务器内注册后,便可以与视联网服务器进行视联网通信,即,实际中,视联网服务器内存储有全部的已加入视联网的视联网终端的信息,包括MAC地址、所使用的视联网号码等。
[0125] 其中,流媒体协转服务器中的输入输出完成端口IOCP(Input/Output Completion Port),其可以理解为是支持多个同时发生的异步I/O操作的应用程序编程接口,本实施例中,该IOCP中可以耦合多个加解密模块,实际中,可以为IOCP中的每个异步I/O都耦合该加解密模块,这样,可以使得 IOCP的每个异步I/O操作都具有加解密的功能。
[0126] 参考图6,示出了本申请实施例提供的基于视联网的数据传输方法的步骤流程图,所述的基于视联网的数据传输方法应用于所述流媒体协转服务器,具体可以包括以下步骤:
[0127] 在步骤601中,通过所述IOCP接收所述多个互联网终端发送的数据信息,其中,各所述数据信息中包括套接字及原始数据包。
[0128] 本实施例中,流媒体协转服务器采用IOCP模型,则可以同时通过多个异步I/O接收多个互联网终端各自发送的数据信息,其中,各个数据信息是符合互联网通信协议的信息。实际中,每个数据信息可以为互联网终端采用上述互联网通信协议对原始数据包进行封装后得到的信息,该互联网通信协议可以但不限于下述通信协议:TCP/IP协议,UDP/IP协议。
[0129] 其中,套接字可以包括在所述互联网通信协议中,可以理解为是应用层协议与传输层协议之间进行交互的接口,其可以用于区分不同应用程序进程间的网络通信和连接。
[0130] 本实施例中的数据信息可以是但是不限于下述信息:登录信息、音视频流数据信息、指令信息等。
[0131] 在步骤602中,利用各所述加解密模块,分别从各所述数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始数据包是否需要加密或解密。
[0132] 本实施例中,每个异步I/O在接收到数据信息时,流媒体协转服务器可以利用每个异步I/O耦合的加解密模块从各自接收的数据信息的套接字中读取出数据标识位,并根据数据标识位判断是否需要对数据信息中的原始数据包进行加密或解密。
[0133] 实际中,套接中的数据标识位定义了是否加密、加密类型及加密数据长度信息。具体实施时,可以根据数据标识位是否为0字节,判断是否需要加解密,再根据数据标识位的第一个字节判断具体是需要加密还是解密。如,数据标识位为0字节,则确定不需要对原始数据包进行解密和加密;数据标识位不为0字节,则确定需要对原始数据包进行加密或解密,进而通过数据标识位的第一个字节判断具体是加密还是解密。若第一个字节的内容表征需要加密,则确定原始数据包需要加密,第一个字节的内容表征需要解密,则确定原始数据包需要解密。
[0134] 本步骤602中,若每个异步I/O耦合的加解密模块根据各所述数据标识位确定所述原始数据包需要加密或解密,则转步骤603;若每个异步I/O 耦合的加解密模块根据各所述数据标识位确定所述原始数据包不需要加密或解密,则流媒体协转服务器可以利用每个异步I/O对数据信息进行后续的正常处理。
[0135] 在步骤603中,利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始数据包进行加密或解密。
[0136] 本实施例中,在确定需要对数据信息中的原始数据包进行加密或解密时,流媒体协转服务器可以进一步通过每个异步I/O耦合的加解密模块对各自接收的数据信息中的原始数据包进行加密或解密。具体实施时,加解密模块可以从数据标识位中读取出第二个字节和第三个字节,根据第二个字节中获取密钥类型,根据第三个字节获取数据长度信息,并采用与密钥类型对应的密钥,将所述原始数据包加密或解密为与所述数据长度信息相匹配的数据包。
[0137] 其中,密钥类型表征对原始数据包进行加密或解密的密钥的类型,可以但是不限于下述密钥类型:MD5(Message-DigestAlgorithm 5,消息摘要算法第五版)密钥、MD4(Message-DigestAlgorithm 4,消息摘要算法第四版)密钥。实际中,可以在加解密模块中预置多种类型的密钥。数据长度信息表征加密后的原始数据包的长度,或表征解密后的原始数据包的长度。
[0138] 示例地,以A加解密模块及B加解密模块为例,该A加解密模块从自身接收到的数据信息A中,获取到套接字A,并读取了套接字A中数据标识位的第一个字节、第二个字节和第三个字节,进而确定到密钥类型为MD5,数据长度信息为32字节,则可以采用MD5密钥对数据信息 A中的原始数据包A进行加密,加密后的原始数据包的长度为32个字节。
[0139] 该B加解密模块从自身接收到的数据信息B中,获取到套接字B,并读取了套接字B中数据标识位的第一个字节、第二个字节和第三个字节,确定到密钥类型为MD4,数据长度信息为16字节,则可以采用MD4 密钥对数据信息B中的原始数据包B进行解密,解密后的原始数据包的长度为16个字节。
[0140] 在步骤604中,分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器。
[0141] 所述视联网服务器用于将各所述视联网数据包分别发送给各自对应的目标视联网终端。
[0142] 本实施例中,流媒体协转服务器可以利用IOCP中的各异步I/O,分别将加密或解密后的各原始数据包封装视联网协议包头,得到视联网数据包,进而可以通过各异步I/O将各视联网数据包发送至视联网内的视联网服务器。
[0143] 实际中,该视联网协议包头中可以包括目标视联网终端的标识,该目标视联网终端的标识可以用于唯一标识视联网内的视联网终端,可以是设备编码或设备名称。这样,在视联网服务器接收到各视联网数据包时,便可以分别将各视联网数据包发送至各目标视联网终端的标识所对应的目标视联网终端。
[0144] 具体地,该目标视联网终端的标识可以携带在封装数据信息的互联网协议包头中,流媒体协转服务器为解密或加密后的原始数据包封装视联网协议包头时,可以将该标视联网终端的标识添加至视联网协议包头中。其中,目标视联网终端的标识可以由流媒体协转服务器从数据信息的互联网协议包头中读取,也可以由流媒体协转服务器在接收到数据信息时预先记录。
[0145] 本实施例,流媒体协转服务器IOCP中的每个异步I/O上都可以耦合加解密模块,流媒体协转服务器可以通过IOCP同时接收多个互联网终端发送的数据信息,每个异步I/O上耦合的加解密模块可以根据数据信息中的数据标识位判断原始数据包是否需要加密或解密,若需要,则加解密模块可以采用与密钥类型对应的密钥对原始数据包进行加密或解密,并将加密或解密后的各原始数据包封装为视联网协议的视联网数据包,最后,将视联网数据包发送给视联网服务器。
[0146] 采用上述实施方案,由于IOCP中的每个异步I/O既可以接收数据信息,又可以根据套接字中的数据标识位对数据信息中的原始数据包进行加密或解密,相比于采用一个独立的加解密模块对各个数据信息中的原始数据包依次加密或解密的方式而言,本实施例对各原始数据包是并行地加密或解密,从而提高了对大量的数据信息进行加解密传输时的效率,进而在保障数据安全性的同时又提高了数据的传输效率。由于由流媒体协转服务器执行加密或解密,使得密钥存储在服务器中,进而保证了密钥的安全性。由于加解密信息(数据标识位)是包含在套接字中,而非在原始数据包中,使得在对原始数据包进行加密或解密时,无需对原始数据包进行解析,即,不需要对原始数据包中的数据进行处理,进而保障了原始数据的安全性,使得数据由互联网传输至视联网内,进一步保证了视联网的安全性。
[0147] 结合以上实施例,参照图7所示,在一种实施方式中,流媒体协转服务器还可以执行以下步骤:
[0148] 步骤s1,在确定不需要加密或解密时,利用各所述加解密模块将所述数据标识位还原到所述套接字中。
[0149] 流媒体协转服务器中的加解密模块在根据数据标识位确定到原始数据包不需要加密或解密时,可以将所述数据标识位还原到所述套接字中。
[0150] 步骤s2,分别从还原后的套接字中读取出第一目的IP地址和第一目的端口,并获取与所述第一目的IP地址对应的第一目标MAC地址。
[0151] 因将所述数据标识位还原到所述套接字中,则该被还原的套接字可以被解析,进而,流媒体协转服务器可以利用异步I/O从套接字中读取出第一目的IP地址和第一目的端口。其中,第一目的IP地址为表征目标视联网终端在互联网中的IP地址,第一目的端口为表征目标视联网终端中的目标应用程序。
[0152] 本实施例中,因流媒体协转服务器是连接互联网与视联网的桥梁,每个互联网终端也可以在视联网服务器内注册,注册后,互联网终端便可以加入视联网,进而可以在视联网内接收数据,便可以利用视联网具有速度快、安全性高(是不同于互联网的专有网络)的特点,使得互联网终端之间在交互数据时,作为接收方的互联网终端可以经由视联网服务器获取数据,以提高数据的接收速度和安全性。
[0153] 因流媒体协转服务器中保存各个互联网终端的IP地址及该互联网终端的MAC地址,则在利用异步I/O从套接字中读取出第一目的IP地址和第一目的端口后,可以根据在存储的IP地址及该互联网终端的MAC 地址中,获取到与第一目的IP地址对应的第一目标MAC地址,该第一目标MAC地址唯一表征目标互联网终端。
[0154] 步骤s3,为各所述原始数据包添加视联网协议包头,各所述视联网协议包头中包括各自的第一目标MAC地址和第一目的端口。
[0155] 本实施例中,因要将各原始数据包发送至视联网服务器,则流媒体协转服务器可以通过各异步I/O为各所述原始数据包添加视联网协议包头。具体地,将数据信息中包括了套接字的互联网通信协议包头去掉,得到原始数据包,然后,为原始数据包添加视联网协议包头,该所述视联网协议包头中包括第一目标MAC地址和第一目的端口,这样,流媒体协转服务器便可以基于视联网协议,将封装了视联协议包头的原始数据包发送给视联网服务器。
[0156] 步骤s4,将封装了所述视联网协议包头的各原始数据包发送给所述视联网服务器。
[0157] 所述视联网服务器用于将所述视联网协议包头的各原始数据包发送给与各自的第一目标MAC地址对应的第一目标互联网终端的第一目的端口上。
[0158] 本实施例中,在不需要加密或解密的情况下,流媒体协转服务器将数据标识位还原到套接字中,以保证套接字的完整性,进而可以对该完整的套接字进行解析,以得到目标终端的第一目的IP地址和目标终端中的第一目的端口,进而可以预先记录的IP地址与MAC地址,获取与第一目的IP 地址对应的第一目的MAC地址,然后将第一目的MAC地址和第一目的端口添加到封装的视联网协议中,封装好视联网协议的原始数据包便可以在视联网中传输至目标互联网终端。
[0159] 采用上述技术方案,由于在不需要加密或解密的数据信息时,为保证数据传输的安全性和快速性,互联网终端也可以预先加入视联网,这样,流媒体协转服务器便可以将原始数据包封装为视联网协议的数据包后,经由视联网服务器发送至目标互联网终端,以使目标互联网终端转而在视联网内接收并解析该数据信息,从而使得互联网中发出的数据信息经由视联网发送给互目标联网终端,进而通过视联网,提高了数据的接收速度和安全性。
[0160] 结合以上实施例,在一种实施方式中,所述基于所述密钥类型,分别对各所述原始数据包进行加密或解密的步骤,包括:
[0161] 若根据所述数据标识位确定需要加密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行加密,并为加密后的原始数据包添加所述密钥的密钥标识。
[0162] 本实施例中,添加的密钥标识可以表征数据包被加密,以及,可以标识所加密的密钥的类型,以使视联网服务器或目标视联网终端在接收到该加密后的原始数据包时,可以根据密钥标识进行解密。
[0163] 若根据所述数据标识位确定需要解密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行解密。
[0164] 结合以上实施例,在一种实施方式中,所述通过所述IOCP接收所述多个互联网终端发送的数据信息的步骤后,所述流媒体协转服务器还可以执行以下步骤:
[0165] 记录所述多个数据信息各自包括的套接字中所携带的第二目的IP地址及第二目的端口。
[0166] 本实施例中,在各I/O接收数据信息后,便可以记录套接字中的第二目的IP地址及第二目的端口。其中,第二目的IP地址用于表征视联网终端在互联网中注册的IP地址。实际中,流媒体协转服务器可以存储各视联网终端的IP地址和MAC地址。
[0167] 相应地,步骤604具体可以包括:
[0168] 步骤6041,获取与记录的所述第二目的IP地址对应的第二目标MAC 地址。
[0169] 因流媒体协转服务器可以存储各视联网终端的IP地址和MAC地址,则可以从存储的各视联网终端的IP地址和MAC地址中,获取与所述第二目的IP地址对应的第二目标MAC地址。
[0170] 步骤6042,为加密或解密后的各原始数据包封装视联网协议包头得到视联网数据包,并将所述第二目标MAC地址及所述第二目的端口号添加至所述视联网协议包头中。
[0171] 本实施例中,视联网服务器可以用于将各所述视联网数据包分别发送至与各自的第二目标MAC地址对应的第二目标视联网终端的第二目的端口上。
[0172] 采用上述技术方案,由于流媒体协转服务器可以预先记录数据信息的套接字中所包括的第二目的IP地址及第二目的端口,这样,流媒体协转服务器在需要进一步解析套接字以便进行视联网协议封装时,可以不用将数据标识位进行还原,便可以直接将记录的第二目的IP地址及第二目的端口添加至视联网协议包头,从而提高了封装视联网协议的效率,进而提高了数据的传输效率。
[0173] 如图8所示,基于同一发明构思,本发明实施例还提供了另一种基于视联网的数据传输方法,所述视联网还经由流媒体协转服务器连接到互联网,所述互联网中可以包括多个互联网终端,所述视联网中可以包括视联网服务器,及与所述视联网服务器连接的多个视联网终端,所述流媒体协转服务器中的输入输出完成端口IOCP中可以耦合多个加解密模块。所述方法可以应用于所述视联网服务器,具体可以包括以下步骤:
[0174] 在步骤801中,采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的多个视联网数据包。
[0175] 其中,各所述视联网数据包分别由所述流媒体协转服务器通过所述 IOCP发送,并为由所述流媒体协转服务器基于所述多个互联网终端发送的多个数据信息各自所包括的套接字,利用所述多个加解密模块分别对各所述数据信息中的原始数据包进行加密或解密后得到的数据包。
[0176] 本实施例中,考虑到流媒体协转服务器并行发送各个视联网数据包,且各个视联网数据包是由流媒体协转服务器对各所述数据信息中的原始数据包进行并行加密或解密后得到的数据包。即,考虑到流媒体协转服务器是并行地对数据进行加解密传输,为了提高数据从互联网传输到视联网的整体效率,在视联网服务器中可以预置多个视联网虚拟终端,视联网服务器可以通过各视联网虚拟终端分别接收各视联网数据包,进而使得视联网服务器也是并行地接收视联网数据包,从而在视联网服务器侧提高了视联网数据包的接收速度。
[0177] 本实施例中的视联网虚拟终端可以理解为是视联网服务器中的虚拟接口,可以用于接收并发送视联网数据。
[0178] 在步骤802中,采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。
[0179] 本实施例中,视联网服务器可以利用上述各视联网虚拟终端,分别将接收到的视联网数据包发送给对应的目标视联网终端,进而使得视联网服务器也是并行发送各视联网数据包,从而提高了视联网数据包从视联网服务器到目标视联网终端的发送速度。
[0180] 本实施例中,视联网服务器可以采用预置的多个虚拟终端分别接收各视联网数据包,并采用预置的多个虚拟终端分别发送各视联网数据包至目标视联网终端,使得数据信息从互联网终端到流媒体协转服务器、由流媒体协转服务器进行加密或解密、有流媒体协转服务器到视联网服务器、由视联网服务器到目标视联网终端的全程中,均是并行的传输机制和处理机制,从而在需要对数据信息进行加解密时,既从整体上保证了数据的高效传输,又保障了数据的网络完全性。
[0181] 结合以上实施例,在一种实施方式中,视联网服务器还可以执行以下步骤:
[0182] 在步骤803中,分别判断各所述视联网数据包中的原始数据包是否具有密钥标识。
[0183] 本实施方式中,视联网服务器可以对视联网数据包采用视联网协议进行解析,以获取到其中的原始数据包,若原始数据包具有密钥标识,则标识该原始数据包是经过加密的。进而转步骤804。
[0184] 在步骤804中,采用与所述密钥标识对应的密钥,对添加有所述密钥标识的原始数据包进行解密,并为解密后的原始数据包重新封装视联网协议包头。
[0185] 本实施方式中,在视联网服务器中可以预存多个不同类型的密钥,在每个视联网虚拟终端中也可以耦合解密模块,这样,视联网服务器可以利用各视联网虚拟终端中的解密模块,在多个不同类型的密钥中查找与密钥标识对应的密钥,并对加密的原始数据包进行解密,以及为解密后的原始数据包重新封装视联网协议包头,在重新封装视联网协议包头时,可以去掉原始数据包的密钥标识。
[0186] 在采用视联网服务器对加密的原始数据包进行解密时,密钥仅需存储在视联网服务器中,进而保证了密钥的安全性,避免密钥存储在视联网终端上时,容易被泄露而造成数据信息被破解带来的安全性问题。
[0187] 相应地,步骤802可以包括:
[0188] 采用所述多个视联网虚拟终端,分别将重新封装了视联网协议包头的原始数据包发送至与各自对应的目标视联网终端。
[0189] 采用上述技术方案,由于采用视联网服务器对加密的原始数据包进行解密,使得视联网终端无需存储密钥,提高了密钥的安全性,进而提高了数据的安全性。由于在重新封装视联网协议包头时,可以去掉原始数据包的密钥标识,使得接收方无法知晓加密和解密所采用的密钥,进而无从对密钥进行破解,进一步提高了密钥的安全性,进而进一步提高了数据的安全性。
[0190] 如图9所示,结合以上实施例,示出了一种基于视联网的数据传输方法的实例的流程示意图,该实例从流媒体协转服务器及视联网服务器对基于视联网的数据传输方法进行了阐述,所述视联网可以经由流媒体协转服务器连接到互联网;所述互联网中可以包括多个互联网终端,所述视联网中可以包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端;所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块,具体可以包括以下步骤:
[0191] 首先,各互联网终端向流媒体协转服务器发送音视频流数据。
[0192] 接着,流媒体协转服务器通过所述IOCP接收所述多个互联网终端发送的音视频流数据,其中,各所述音视频流数据中包括套接字及原始音视频数据。
[0193] 接着,流媒体协转服务器利用各所述加解密模块,分别从各所述音视频流数据各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始音视频数据是否需要加密或解密。
[0194] 若需要加密或解密,则流媒体协转服务器利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始音视频数据进行加密或解密。
[0195] 然后,流媒体协转服务器分别将加密或解密后的各原始音视频数据封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器。
[0196] 接着,视联网服务器采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的各所述视联网数据包。
[0197] 最后,视联网服务器采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。
[0198] 本实例中,流媒体服务器并行接收各个音视频流数据,并可以对各音视频流数据中的原始音视频数据进行并行地加密或解密,以及,并行地将各个原始音视频数据封装为视联网数据包,视联网服务器可以采用多个虚拟终端分别接收各视联网数据包,并采用多个虚拟终端分别发送各视联网数据包至目标视联网终端。使得音视频流数据从互联网终端到目标视联网终端的全程中,均是并行的传输机制和处理机制,从而从整体上保证了音视频数据的高效传输,又保障了音视频数据的网络完全性。
[0199] 需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0200] 参考图10,示出了本发明实施例的一种基于视联网的数据传输装置,所述视联网还经由流媒体协转服务器连接到互联网;所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器及与所述视联网服务器通信连接的多个视联网终端;所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块,所述装置位于所述流媒体协转服务器,可以包括以下模块:
[0201] 数据接收模块1001,用于通过所述IOCP接收所述多个互联网终端发送的数据信息,其中,各所述数据信息中包括套接字及原始数据包;
[0202] 加解密并发判断模块1002,用于利用所述多个加解密模块,分别从各所述数据信息各自所包括的套接字中读取出数据标识位,并根据各所述数据标识位分别判断所述原始数据包是否需要加密或解密;
[0203] 并发加解密模块1003,用于在确定需要加密或解密时,利用各所述加解密模块,分别从各所述数据标识位中获取密钥类型,并基于所述密钥类型,分别对各所述原始数据包进行加密或解密;
[0204] 数据转发模块1004,用于分别将加密或解密后的各原始数据包封装为符合视联网协议的视联网数据包,并通过所述IOCP将各所述视联网数据包发送至视联网服务器;所述视联网服务器用于将各所述视联网数据包分别发送给各自对应的目标视联网终端。
[0205] 结合以上实施例,在一种实施方式中,各所述互联网终端还可以与视联网服务器通信连接;所述装置还可以包括以下模块:
[0206] 还原模块,用于在确定不需要加密或解密时,利用各所述加解密模块将所述数据标识位还原到所述套接字中;
[0207] 套接字解析模块,用于分别从还原后的套接字中读取出第一目的IP地址和第一目的端口,并获取与所述第一目的IP地址对应的第一目标MAC地址;
[0208] 包头添加模块,用于为各所述原始数据包添加视联网协议包头,各所述视联网协议包头中包括各自的第一目标MAC地址和第一目的端口;
[0209] 所述数据转发模块,具体用于将封装了所述视联网协议包头的各原始数据包发送给所述视联网服务器;所述视联网服务器用于将所述视联网协议包头的各原始数据包发送给与各自的第一目标MAC地址对应的第一目标互联网终端的第一目的端口上。
[0210] 结合以上实施例,在一种实施方式中,所述并发加解密模块具体用于,[0211] 若根据所述数据标识位确定需要加密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行加密,并为加密后的原始数据包添加所述密钥的密钥标识;
[0212] 若根据所述数据标识位确定需要解密,则利用所述加解密模块,采用与所述密钥类型对应的密钥对所述原始数据包进行解密。
[0213] 结合以上实施例,在一种实施方式中,所述装置还可以包括以下模块:
[0214] 记录模块,用于记录所述多个数据信息各自包括的套接字中所携带的第二目的IP地址及第二目的端口;
[0215] 所述数据转发模块具体可以包括:
[0216] MAC地址获取单元,用于获取与记录的所述第二目的IP地址对应的第二目标MAC地址;
[0217] 协议封装单元,用于为加密或解密后的各原始数据包封装视联网协议包头得到视联网数据包,并将所述第二目标MAC地址及所述第二目的端口号添加至所述视联网协议包头中。
[0218] 参考图11,示出了本发明实施例的另一种基于视联网的数据传输装置,所述视联网还经由流媒体协转服务器连接到互联网,所述互联网中包括多个互联网终端,所述视联网中包括视联网服务器,及与所述视联网服务器连接的多个视联网终端,所述流媒体协转服务器中的输入输出完成端口IOCP中耦合多个加解密模块;所述装置位于所述视联网服务器,具体可以包括以下模块:
[0219] 接收模块1101,用于采用预置的多个视联网虚拟终端,分别接收所述流媒体协转服务器发送的多个视联网数据包;其中,各所述视联网数据包分别由所述流媒体协转服务器通过所述IOCP发送,并为由所述流媒体协转服务器基于所述多个互联网终端发送的多个数据信息各自所包括的套接字,利用所述多个加解密模块分别对各所述数据信息中的原始数据包进行加密或解密后得到的数据包;
[0220] 发送模块1102,采用所述多个视联网虚拟终端,分别将各所述视联网数据包发送至各自对应的目标视联网终端。
[0221] 结合以上实施例,在一种实施方式中,所述装置还可以包括以下模块:
[0222] 密钥标识判断模块,用于分别判断各所述视联网数据包中的原始数据包是否具有所述密钥标识;
[0223] 协议重装模块,用于若原始数据包具有所述密钥标识,则采用与所述密钥标识对应的密钥,对添加有所述密钥标识原始数据包进行解密,并为解密后的原始数据包重新封装视联网协议包头;
[0224] 所述发送模块具体用于,采用所述多个视联网虚拟终端,分别将重新封装了视联网协议包头的原始数据包发送至与各自对应的目标视联网终端。
[0225] 对于基于视联网的数据传输装置实施例而言,由于其与基于视联网的数据传输方法实施例基本相似,所以描述的比较简单,相关之处参见基于视联网的数据传输方法实施例的部分说明即可。
[0226] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的基于视联网的数据传输方法。
[0227] 本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时可以实现如本发明实施例所述的基于视联网的数据传输方法。
[0228] 本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0229] 本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0230] 本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0231] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0232] 这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0233] 尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0234] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0235] 以上对本发明所提供的一种基于视联网的数据传输方法、一种基于视联网的数据传输装置和一种计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。