一种数据传输方法及装置与流程

文档序号:12694845阅读:230来源:国知局
一种数据传输方法及装置与流程

本发明涉及网络通信技术领域,特别涉及一种数据传输方法及装置。



背景技术:

随着网络通信技术的不断发展,网络应用系统的架构模式发生了巨大的变化,基于web浏览器的B/S(Browser/Server,浏览器/服务器)架构不断成熟。浏览器作为Web应用的容器,以其强表现力、扩展性和兼容性,已成为互联网的重要入口,可即时即地为人们提供强大功能,节省客户端软件的开发。Web应用一般基于HTTP应用协议进行通信,受限于传统TCP传输协议的限制及应用层HTTP协议本身特点,Web应用在弱网环境,高丢包高延时情况下进行大数据传输总是不甚理想,主要表现为传输效率低:由于广域网拥塞控制机制,广域网的丢包几乎是不可避免的,基于TCP可靠连接的HTTP协议在弱网络环境,网络传输丢包率较高时,传输速率显著下降,传输速度缓慢。



技术实现要素:

为了解决现有技术的问题,本发明实施方式提供了一种数据传输方法及装置。所述技术方案如下:

一方面,本申请提供一种数据传输方法,所述方法包括:

拦截浏览器发往服务器的请求数据,并将所述请求数据封装成具备特定格式的目标数据,所述特定格式由预设传输协议限定;

判断所述目标数据是否需要启用中转服务,若不需要,确定当前时刻在所述浏览器与所述服务器之间的最佳路由,并通过所述最佳路由向所述服务器传输所述目标数据;

在数据传输过程中实时监测所述最佳路由的传输参数,当所述传输参数不符合预设条件时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据;

在所述目标数据传输完成时,所述服务器生成反馈的响应数据并将所述响应数据发送至所述浏览器。

进一步地,在拦截浏览器发往服务器的请求数据之前,所述方法还包括:

响应于浏览器发来的连接请求,与所述浏览器建立本地代理连接;

调用所述浏览器所处的客户端提供的应用程序编程接口,建立数据传输进程。

进一步地,所述方法还包括:

向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,才允许与所述浏览器建立本地代理连接。

进一步地,确定当前时刻在所述浏览器与所述服务器之间的最佳路由的具体步骤包括:

在所述浏览器与所述服务器之间的至少一个候选路由中,基于链路的往返时延和丢包率信息,计算出当前时刻在所述浏览器与所述服务器之间的最佳路由。

进一步地,所述传输参数包括往返时延或丢包率;相应地,所述传输参数不符合预设条件包括:

往返时延大于预设时延阈值或者丢包率大于预设丢包率阈值。

进一步地,在通过所述最佳路由向所述服务器传输所述目标数据之后,所述方法还包括:

当所述最佳路由的传输路径中断时,根据所述最佳路由在所述浏览器与所述服务器之间重新建立连接;若重新连接超时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据。

进一步地,在将所述请求数据封装成具备特定格式的目标数据之后,所述方法还包括:

若所述目标数据需要启用中转服务,将所述目标数据发送至本地中转服务器,并由所述本地中转服务器将所述目标数据转发至所述服务器。

进一步地,所述方法还包括:

浏览器插件启动时主动向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,主动向所述云管理平台获取传输任务,后续定期向所述云管理平台获取所述云管理平台下发的任务;其中,所述传输任务按照下述方式生成:

所述服务器向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,所述服务器将与所述浏览器之间的传输任务上传至所述云管理平台。

另一方面,本申请还提供一种数据传输装置,所述装置包括:

格式转换单元,用于拦截浏览器发往服务器的请求数据,并将所述请求数据封装成具备特定格式的目标数据,所述特定格式由预设传输协议限定;

最佳路由确定单元,用于判断所述目标数据是否需要启用中转服务,若不需要,确定当前时刻在所述浏览器与所述服务器之间的最佳路由,并通过所述最佳路由向所述服务器传输所述目标数据;

路由切换单元,用于在数据传输过程中实时监测所述最佳路由的传输参数,当所述传输参数不符合预设条件时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据;

响应数据转发单元,用于在所述目标数据传输完成时,所述服务器生成反馈的响应数据并将所述响应数据发送至所述浏览器。

进一步地,所述装置还包括:

本地代理连接建立单元,用于响应于浏览器发来的连接请求,与所述浏览器建立本地代理连接;

传输进程建立单元,用于调用所述浏览器所处的客户端提供的应用程序编程接口,建立数据传输进程。

进一步地,所述装置还包括:

鉴权请求单元,用于向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,才允许与所述浏览器建立本地代理连接。

进一步地,所述装置还包括:

断线重连单元,用于当所述最佳路由的传输路径中断时,根据所述最佳路由在所述浏览器与所述服务器之间重新建立连接;若重新连接超时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据。

本发明实施方式提供的技术方案带来的有益效果是:通过在浏览器中嵌入插件,可以拦截浏览器发往服务器的请求数据,并通过预设传输协议实现请求数据的高速传输。在传输数据时,可以选择最佳路由进行数据传输,以保证数据传输的稳定性。同时,在数据传输过程中可以实时检测传输链路的状态,当链路的状态不佳时,可以切换至状态较好的链路,从而能够降低数据传输的失败率。云管理平台的鉴权验证与传输加密机制,让浏览器插件和服务器端启用时,验证通信双方的身份,另外,在传输过程中通过专有传输协议对数据内容进行加解密,保证数据内容的安全性。服务端可经云管理平台完成任务下发,再由浏览器主动发起请求,实现双边数据交换功能,解决只能由浏览器端主动发起请求。由上可见,本发明实施方式提供的技术方案可以提高数据传输的速率,并且提高数据传输的成功率。

附图说明

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

图1是本发明实施方式一提供的数据传输方法流程图;

图2是本发明实施方式一中传输系统的框架示意图;

图3是本发明实施方式一中数据传输的详细流程图;

图4是本发明实施方式二提供的数据传输装置的功能模块图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

实施方式一

请参阅图1至图3,本申请实施方式提供一种数据传输方法,所述方法包括以下步骤。

S1:拦截浏览器发往服务器的请求数据,并将所述请求数据封装成具备特定格式的目标数据,所述特定格式由预设传输协议限定。

在本实施方式中,可以通过在浏览器中嵌入插件的方式,由嵌入的插件实现浏览器与服务器之间数据的高速传输。

在本实施方式中,当浏览器启动时,可以激活浏览器中的插件。通过启用插件的配置信息,可以完成对插件的初始化。用户可以在浏览器中输入URL(Uniform Resource Locator,统一资源定位符),从而向服务器发起请求数据。

在本实施方式中,当用户在浏览器中输入URL之后,可以向插件发起连接请求。插件响应于浏览器发来的连接请求,可以与所述浏览器建立本地代理连接,从而可以代理发送所述请求数据。同时,插件还可以调用所述浏览器所处的客户端提供的应用程序编程接口(Application Programming Interface,API),建立数据传输进程。

在本实施方式中,可以采用自定义的预设传输协议对请求数据进行传输,从而可以避免使用TCP和UDP传输协议。具体地,插件可以拦截浏览器发往服务器的请求数据,并将所述请求数据封装成具备特定格式的目标数据,其中,所述特定格式由预设传输协议限定。所述特定格式可以是请求数据中包含的字符串以及各个字符串的编写方式和顺序,这样,在浏览器和服务器中均可以载入所述预设传输协议,从而可以识别具备所述特定格式的目标数据。

在本实施方式中,服务器在接收到目标数据后,可以按照预设传输协议对该目标数据进行格式转换,以得到解包后的数据。

在本申请一个实施方式中,为了保证数据传输的安全性,可以通过云管理平台对浏览器和服务器进行权限鉴定。具体地,插件在激活之后,可以向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,插件才可以与所述浏览器建立本地代理连接,从而进行请求数据的拦截和转发。同样的,服务器也需要在云管理平台中鉴权通过时,才可以与浏览器之间建立高速的传输通道。

在本实施方式中,为了进一步保证数据传输的安全性,插件可以调用加解密模块,按照预设加解密算法对所述请求数据进行加密。具体地,所述加解密算法例如可以是DES(Data Encryption Standard,对称算法)、3DES、IDEA(International Data Encryption Algorithm,国际数据加密算法)等算法。这样,服务器在接收到浏览器发来的数据后,可以按照同样的方式进行解密,从而得到解密后的数据。

S2:判断所述目标数据是否需要启用中转服务,若不需要,确定当前时刻在所述浏览器与所述服务器之间的最佳路由,并通过所述最佳路由向所述服务器传输所述目标数据。

在本实施方式中,如果所述目标数据不需要启用中转服务时,由插件发出的目标数据便可以不经过本地中转服务器,而是直接发送至所述服务器处。具体地,为了保证数据传输的稳定性,可以确定当前时刻在所述浏览器与所述服务器之间的最佳路由。所述最佳路由中可以包括目标数据从浏览器发送至服务器的过程中,所经过的各个节点。所述最佳路由可以从一系列的候选路由中进行筛选。具体地,可以在所述浏览器与所述服务器之间的至少一个候选路由中,基于链路的往返时延和丢包率信息,计算出当前时刻在所述浏览器与所述服务器之间的最佳路由。具体地,可以将往返时延之和最低或者丢包率之和最低的路由作为当前时刻在所述浏览器与所述服务器之间的最佳路由。这样,便可以保证通过所述最佳路由进行传输目标数据时,能够具备较高的传输速率和较高的传输稳定性。

在本实施方式中,当所述目标数据需要启用中转服务时,可以将所述目标数据发送至本地中转服务器,并由所述本地中转服务器将所述目标数据转发至所述服务器。具体地,本地中转服务器与服务器之间的传输路由也可以通过最佳路由的方式确定,这里便不再赘述。

在本实施方式中,在确定了最佳路由之后,便可以通过所述最佳路由向所述服务器传输所述目标数据。

S3:在数据传输过程中实时监测所述最佳路由的传输参数,当所述传输参数不符合预设条件时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据。

在本实施方式中,在根据最佳路由进行数据传输时,可以实时监测所述最佳路由的传输参数。所述传输参数包括往返时延或丢包率。这样,一旦网络产生波动时,便可以及时获知当前时刻传输的往返时延或者丢包率。当往返时延大于预设时延阈值或者丢包率大于预设丢包率阈值时,则表明所述传输参数不符合预设条件,从而可以重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据。这样便可以保证在数据传输过程中,始终能够保持较高速率的传输。

在本申请一个实施方式中,为了防止传输链路突然中断而导致的传输过程中止,可以在链路中断之后,实现断线重连的功能。具体地,当所述最佳路由的传输路径中断时,可以根据所述最佳路由在所述浏览器与所述服务器之间重新建立连接。同时可以启动重连的计时器,若重新连接超时,便可以重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据。这样便保证了传输数据的连贯性,不会在网络中断时重新传输全部的数据。

此外,在本实施方式中,浏览器与服务器之间可以建立长连接,从而避免重复建联,提高数据传输效率。

S4:在所述目标数据传输完成时,所述服务器生成反馈的响应数据,并将所述响应数据转发至所述浏览器。

在本实施方式中,服务器在接收到所述目标数据时,可以对所述目标数据按照预设传输协议进行解包,并且可以对解包后的数据进行解密。在校验了数据的完整性之后,便可以向浏览器反馈响应数据,表明本次传输任务已经完成。这样,所述响应数据可以按照数据传输的链路返回,从而被插件接收。插件可以将所述响应数据转发至所述浏览器,从而结束本次的传输过程。

在本申请一个实施方式中,除了浏览器可以主动向服务器发送传输请求外,服务器也可以主动向浏览器推送传输任务。具体地,插件在启动时,可以向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,便可以接收所述云管理平台推送的传输任务。其中,所述传输任务可以是服务器上传的。具体地,所述服务器同样可以向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,所述服务器便可以将与所述浏览器之间的传输任务上传至所述云管理平台。在所述传输任务中,可以填充浏览器的标识,这样,云管理平台通过所述浏览器的标识,从而可以正确地向相应的浏览器推送传输任务。

实施方式二

请参阅图4,本申请实施方式还提供一种数据传输装置,所述装置包括:

格式转换单元100,用于拦截浏览器发往服务器的请求数据,并将所述请求数据封装成具备特定格式的目标数据,所述特定格式由预设传输协议限定;

最佳路由确定单元200,用于判断所述目标数据是否需要启用中转服务,若不需要,确定当前时刻在所述浏览器与所述服务器之间的最佳路由,并通过所述最佳路由向所述服务器传输所述目标数据;

路由切换单元300,用于在数据传输过程中实时监测所述最佳路由的传输参数,当所述传输参数不符合预设条件时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据;

响应数据转发单元400,用于在所述目标数据传输完成时,所述服务器生成反馈的响应数据,并将所述响应数据转发至所述浏览器。

在本申请一个实施方式中,所述装置还包括:

本地代理连接建立单元,用于响应于浏览器发来的连接请求,与所述浏览器建立本地代理连接;

传输进程建立单元,用于调用所述浏览器所处的客户端提供的应用程序编程接口,建立数据传输进程。

在本申请一个实施方式中,所述装置还包括:

鉴权请求单元,用于向云管理平台发送鉴权请求,当所述鉴权请求被所述云管理平台认证通过之后,才与所述浏览器建立本地代理连接。

在本申请一个实施方式中,所述装置还包括:

断线重连单元,用于当所述最佳路由的传输路径中断时,根据所述最佳路由在所述浏览器与所述服务器之间重新建立连接;若重新连接超时,重新确定所述浏览器与所述服务器之间的最佳路由,并通过重新确定的最佳路由继续传输所述目标数据中未传输的数据。

上述本发明实施方式序号仅仅为了描述,不代表实施方式的优劣。

本发明实施方式提供的技术方案带来的有益效果是:通过在浏览器中嵌入插件,可以拦截浏览器发往服务器的请求数据,并通过预设传输协议实现请求数据的高速传输。在传输数据时,可以选择最佳路由进行数据传输,以保证数据传输的稳定性。同时,在数据传输过程中可以实时检测传输链路的状态,当链路的状态不佳时,可以切换至状态较好的链路,从而能够降低数据传输的失败率。云管理平台的鉴权验证与传输加密机制,让浏览器插件和服务器端启用时,验证通信双方的身份,另外,在传输过程中通过专有传输协议对数据内容进行加解密,保证数据内容的安全性。服务端可经云管理平台完成任务下发,再由浏览器主动发起请求,实现双边数据交换功能,解决只能由浏览器端主动发起请求。由上可见,本发明实施方式提供的技术方案可以提高数据传输的速率,并且提高数据传输的成功率。

以上所描述的数据传输装置的实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施方式或者实施方式的某些部分所述的方法。

以上所述仅为本发明的较佳实施方式,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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