发明内容
本发明为了解决上述问题,提出了一种基于虚拟化技术的网络资源传输系统及其方法,本发明在不改变应用虚拟化技术的基本实现原理,在传统的两层系统架构的基础上增加了代理端,“代理端”接收“服务器端”传输过来的图片,并对图片进行再加工处理,最终通过网络将图片传输到“客户端”。“代理端”对图片的再加工处理过程,能够将图片碎片组装成完整的计算资源的图片,并通过对图片采用高压缩算法降低图片的容量,从而减少网络传输的频率以及网络传输资源的容量,有效的解决上述移动虚拟化技术传输网络资源时,占用较多的网络流量并容易造成网络堵塞的问题。
为了实现上述目的,本发明采用如下技术方案:
一种基于虚拟化技术的网络资源传输系统,包括客户端、服务器端和代理端,其中,所述代理端接收客户端发送的操作请求,将操作请求传输给服务器端,并接收所述服务器端生成的计算资源的图片,将当前计算资源的多个矩形图片组装成一幅完整的图片,并通过图片压缩算法和图片缓存机制优化计算资源,将优化后的图片传输给发出操作请求的相应的客户端,以确保客户端不直接与服务器端交互。
所述客户端、服务器端和代理端,可以均是一种软件实现。
所述客户端设置于移动设备上。
优选的,所述服务器端与代理端安装于同一台计算资源所在的服务器设备上。
所述服务器端与代理端之间通讯不占用网络资源,所述代理端与客户端之间通过网络传输。
优选的,所述服务器端与代理端之间通过自定义交互协议通讯,代理端与客户端之间通过自定义交互协议通讯。
一种基于上述系统的实现方法,包括以下步骤:
(1)接收客户端发送的操作请求,将操作请求传达给服务器端,接收服务器端通过自定义交互协议传输的计算资源的图片;
(2)将当前计算资源的多个矩形图片组装成一幅完整的图片,并通过图片压缩算法和图片缓存机制优化计算资源,通过自定义交互协议,传输给发送操作请求的相应客户端。
所述步骤(1)具体包括:
(1-1)客户端发出操作请求,首先发送到代理端,代理端检测是否有相应的缓存内容,如果有直接将缓存内容返回到客户端,本次操作终止;如果没有则将请求转发到服务器端。
(1-2)服务器端读取当前计算资源;
(1-3)服务器端将当前计算资源封装成矩形图片;
(1-4)服务器端将矩形图片通过自定义交互协议发送到代理端。
所述步骤(2)具体包括:
(2-1)等待接受客户端发出的当前操作请求;
(2-2)检测缓存内容,如果检测到有相关的缓存内容,则将缓存内容直接返回到客户端,本次操作终止;如果没有则将请求转发到服务器端;
(2-3)接收服务器传输的当前计算资源的所有矩形图片;
(2-4)对接收到的矩形图片进行组装,封装成一副完整的图片;
(2-5)代理端对图片进行压缩、缓存处理后,发送给客户端。
进一步的,所述方法还包括步骤(3),请求方为客户端,接收代理端传输过来的图片,对图片进行缓存处理,并展示计算资源内容以及提供对计算资源的操作。
进一步的,所述步骤(3)具体包括:
(3-1)客户端接收用户的操作请求;
(3-2)检测缓存内容,如果检测到有相关的缓存内容,则提取缓存内容,本次操作终止;如果没有则将请求转发到代理端;
(3-3)等待接收代理端传输的图片资源,并对其进行解压缩和缓存处理,展示图片内容。
本发明的有益效果为:
本发明思路新颖且易于实现。通过这种方式,降低了网络传输资源的频率以及减少了网络传输资源的容量大小,能够有效的减少网络资源堵塞现象。
通过这种方式,对计算资源的图片碎片进行组装的压力,由移动设备端转移到服务器设备端,而服务器设备端的计算能力远大于移动设备端,因此能够充分利用服务器设备端的硬件能力。
通过这种方式,在原有的应用虚拟化技术的基础上增加了代理端,而代理端采用的图片压缩算法和图片缓存机制,在原有的服务器端和客户端中有类似的机制对应,因此并没有引入难以与应用虚拟化技术相融合的其他技术。
通过这种方式,网络传输的是经过压缩的完整的计算资源的图片,而不是原来的计算资源的矩形图片碎片,因此能够有效的缓解用户体验感觉刷屏的现象。
具体实施方式:
下面结合附图与实施例对本发明作进一步说明。
本技术方案,遵循应用虚拟化技术的基本实现原理,即经过网络传输的资源是计算资源的图片信息,移动设备端接收图片信息,服务器设备端发送图片信息。
本技术方案,不涉及服务器端与代理端之间,以及代理端与客户端之间具体的交互协议的实现。
本技术方案不涉及服务器端、代理端、客户端的安装过程。
如图1所示,本技术方案,包括:服务器端、代理端、客户端。所述服务器端安装在服务器设备上,用于获取服务器设备上的计算资源的图片信息;所述代理端安装在服务器设备上,用于对图片信息的再加工处理;所述客户端设置于移动设备上,用于展示图片信息并提供操作功能。
服务器端与代理端一起组成了应用虚拟化技术的图片信息发送方,客户端是应用虚拟化技术的图片信息接收方。
传统的两层系统架构的基础上,扩展为三层系统架构:即客户端,服务器端和代理端。
该方法比传统的应用虚拟化技术增加了代理端,并且与传统的技术相比,客户端不直接与服务器端交互,交互方式变更为客户端与代理端相互通讯,代理端与服务器端相互通讯。此过程概括为:服务器端生成计算资源的图片,服务器端将图片传输给代理端,代理端将图片通过网络传输给客户端。
该方法中服务器端与代理端安装在同一台计算资源所在的服务器设备上。客户端安装在用户的移动设备上。服务器端与代理端之间的通讯不占用网络资源,只有代理端与客户端之间的通讯经过网络传输。
该方法中服务器端与代理端之间通讯采用自定义交互协议,服务器端产生的计算资源图片通过自定义交互协议发送到代理端,代理端将当前计算资源的多个矩形图片组装成一幅完整的图片,并通过图片压缩算法和图片缓存机制优化计算资源,最终将优化后的图片通过自定义交互协议发送到客户端。
服务器设备,是指传统意义的提供计算运行能力的硬件主机,例如联想或浪潮等品牌的服务器设备等。
移动设备,是指传统意义的用户的手持设备,例如手机或平板电脑等。
计算资源,是指安装在服务器端的应用软件,比如处理文档的软件既是计算资源。
当前计算资源,是指用户请求操作的当前资源,比如正在阅读的文档既是当前资源。
服务器端,是指用于在服务器设备上收集计算资源功能的软件实现。
客户端,是指用于在移动设备上展示并提供操作功能的软件实现。
自定义交互协议,是指一种数据发送方和数据接收方都能识别的自定义格式的网络协议,发送方按照协议的格式组装数据,接收方按照协议的格式解析数据。这里的自定义交互协议遵循移动虚拟化技术,例如类似于RDP协议或VNC协议。
矩形图片,是指当前计算资源是由大小不等的多个图片组成,这些图片统称矩形图片。例如当前的文档,由大小不等的多个矩形图片组成。
图片压缩算法,是指能够将原始容量大小的图片,通过某种计算,压缩成较小容量大小的图片。
图片缓存机制,是指能够将已经访问过的图片暂时保存,再次访问相同的资源时直接从保存的资源中提取该资源。
本技术方案,包括以下步骤:
(1)服务器端读取服务器设备上的计算资源,将计算资源封装成图片,通过自定义的交互协议,将图片传输到代理端。
(2)代理端接收服务器端传输过来的图片,对图片进行再加工处理,通过自定义的交互协议,将图片传输到客户端。
(3)客户端接收代理端传输过来的图片,对图片进行缓存处理,并在移动设备上展示计算资源内容以及提供对计算资源的操作功能。
步骤(1)中所述计算资源是指安装在服务器设备上的用户使用的各种应用软件;自定义的交互协议是指能够实现应用虚拟化技术的交互协议,类似RDP协议或VNC协议。
步骤(2)中所述再加工处理是指对原始图片进行组装,并采用高压缩比算法进行压缩,以及采用缓存机制对数据的处理过程;自定义的交互协议与步骤(1)中的描述一致。
步骤(3)中所述缓存处理是指将资源保持在内存中以供下次使用,与步骤(2)中所述的缓存机制的概念一致。
如图2所示,服务器端是一种软件实现,需要安装在服务器设备上。当用户在移动设备上通过应用虚拟化技术,使用服务器设备上安装的用户软件时,服务端软件首先获取当前计算资源的矩形图片,然后分批将图片资源通过交互协议发送到代理端,由代理端对图片进行组装、压缩、缓存等处理。服务器端具体工作步骤如下:
步骤(1-1):服务器端等待接收当前操作请求。该请求是由客户端发出,首先发送到代理端,代理端检测是否有相应的缓存内容,如果有直接将缓存内容返回到客户端,本次操作终止;如果没有则将请求转发到服务器端。
步骤(1-2):服务器端读取服务器设备上的当前计算资源。
步骤(1-3):服务器端将当前计算资源封装成矩形图片。
步骤(1-4):服务器端将矩形图片通过自定义交互协议发送到代理端。
如图3所示,代理端是一种软件实现,需要安装在服务器设备上。当用户在移动设备上通过应用虚拟化技术,使用服务器设备上安装的用户软件时,代理端首先接收当前计算资源的所有的矩形图片,然后对图片进行组装处理,生成一幅完整的图片,再对图片进行压缩处理和缓存处理,最后将图片资源通过自定义交互协议发送到移动设备上的客户端。代理端的具体工作步骤如下:
步骤(2-1):代理端等待接收当前操作请求。该请求是由客户端发出。
步骤(2-2):代理端检测缓存内容。如果检测到有相关的缓存内容,则将缓存内容直接返回到客户端,本次操作终止;如果没有则将请求转发到服务器端。
步骤(2-3):代理端等待接收服务器端传输过来的图片资源。代理端接收到当前计算资源的所有的矩形图片。
步骤(2-4):代理端对接收到的矩形图片进行组装,最后封装成一幅完整的图片。
步骤(2-5):代理端对图片进行压缩处理。
步骤(2-6):代理端对图片进行缓存处理。
步骤(2-7):代理端将图片通过自定义交互协议发送到客户端。
所述压缩处理,是指采用某种压缩算法将图片大小从高容量压缩到低容量,例如可以采用JPEG压缩算法,或者压缩比更高的JPEG-TUBOR压缩算法。
所述缓存处理,是指将图片资源存储在内存中以备下次调用。例如可以采用MD5码对图片生成索引,缓存最近的10幅图片,当用户再次操作相同的资源时,代理端根据索引从内存中获取对应的图片,并将图片发生到客户端。
如图4所示,客户端是一种软件实现,需要安装在移动设备上。当用户在移动设备上通过应用虚拟化技术,使用服务器设备上安装的用户软件时,客户端首先查询缓存内容,如果没有则向代理端请求操作内容。客户端的具体工作步骤如下:
步骤(3-1):客户端等待用户的操作请求。
步骤(3-2):客户端检测缓存内容。如果检测到有相关的缓存内容,则提取缓存内容,本次操作终止;如果没有则将请求转发到代理端。
步骤(3-3):客户端等待接收代理端传输过来的图片资源。
步骤(3-4):客户端对图片进行解压缩处理。
步骤(3-5):客户端对图片进行缓存处理。
步骤(3-6):客户端在移动设备上展示图片内容并提供用户操作功能。
所述解压缩处理,是指采用某种解压缩算法将图片大小还原到原始容量和原始的数据格式,解压缩算法是相对于上述的压缩算法的。例如采用JPEG解压缩算法。
缓存处理,与上述的缓存处理过程一致。例如可以采用MD5码对图片生成索引,缓存最近的10幅图片,当用户再次操作相同的资源时,客户端根据索引从内存中获取对应的图片,直接将其在移动设备上展示。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。