云平台动态水印生成系统及其控制方法与流程

文档序号:11583328阅读:349来源:国知局

本发明涉及版权保护领域,尤其涉及云平台中数据传输的添加水印的版权保护领域,具体是指一种云平台动态水印生成系统及其控制方法。



背景技术:

云平台是转向云计算(cloudcomputing),是业界将要面临的一个重大改变。各种云平台(cloudplatforms)的出现是该转变的最重要环节之一。顾名思义,这种平台允许开发者们或是将写好的程序放在“云”里运行,或是使用“云”里提供的服务,或二者皆是。至于这种平台的名称,现在我们可以听到不止一种称呼,比如按需平台(on-demandplatform)、平台即服务(platformasaservice,paas)等等。但无论称呼它什么,这种新的支持应用的方式有着巨大的潜力。

伴随巨大潜力的是云平台可怕的数据交互量,几乎每个人每天都从云平台上获取资源,随之而来的就是数据的版权保护问题。

现有技术中也经常使用水印对数据进行版权保护,但水印内容单一,需要人工设置才会变化,造成很多不便,且由于数据量的增大,由一静态水印来保护其版权已经变的十分困难。



技术实现要素:

为了克服以上所述的现有技术中的问题,本发明提供一种水印能够随虚拟机发生变化的云平台动态水印生成系统及其控制方法。

该云平台动态水印生成系统及其控制方法具体如下:

该云平台动态水印生成系统,其主要特点是,所述的系统包括虚拟机连接模块,以及与所述的虚拟机连接模块双向连接的水印生成模块、与所述的虚拟机连接模块单向连接的数据模块,且所述的水印生成模块也与所述的数据模块单向连接,其中,

所述的虚拟机连接模块与用户的客户端连接,将用户请求的、插入动态水印的数据流发送给所述的客户端;

所述的水印生成模块用以生成动态水印;

所述的数据模块存储有虚拟机的配置信息,用以给所述的水印生成模块提供虚拟机的配置信息。

较佳地,所述的数据模块通过一hypervisor模块获取所述的虚拟机的数据流。

较佳地,所述的配置信息包括用户名、虚拟机名、时间、ip地址、动态水印选择开关信息以及静态水印配置信息,其中,

所述的动态水印选择开关信息用以选择是否需要生成动态水印;

所述的静态水印配置信息用以配置动态水印的格式。

更佳地,所述的水印生成模块与所述的数据模块相连接,用以从所述的数据模块中获取虚拟机的配置信息以生成所述的动态水印。

尤佳地,所述的水印生成模块还从所述的数据模块获取该虚拟机用以配置动态水印格式的静态水印配置信息,所述的静态水印配置信息可通过与所述的数据模块相连接的一ui模块进行配置。

较佳地,所述的虚拟机连接模块与用户的客户端的连接是双向的。

基于上述的系统实现云平台动态水印生成控制的方法,其主要特点是,所述的配置信息包括用户名、虚拟机名、时间、ip地址、动态水印选择开关信息以及静态水印配置信息,所述的方法包括以下步骤:

(1)用户通过所述的客户端向所述的系统发起请求;

(2)所述的系统接收请求,并判断虚拟机是否需要生成动态水印;如果需要,则继续步骤(3);否则继续步骤(4);

(3)所述的水印生成模块生成动态水印,并通过所述的虚拟机连接模块插入待发送的数据流;

(4)所述的虚拟机连接模块将接收到的数据流发送给所述的客户端。

较佳地,所述的数据模块还与一hypervisor模块连接,所述的步骤(2)中的系统接收请求,具体为:

所述的虚拟机连接模块接收到该请求,并通过所述的hypervisor模块从所述的虚拟机获取待发送的数据流。

较佳地,所述的(2)中的系统判断虚拟机是否需要生成动态水印,具体为:

所述的虚拟机连接模块读取所述的数据模块中的配置信息,获取该配置信息中所述的动态水印选择开关信息,并根据该动态水印选择开关信息判断该虚拟机是否需要生成动态水印。

较佳地,所述的步骤(3)之前还有一步骤:

(3.0)所述的虚拟机连接模块给所述的水印生成模块一动态水印生成信号,并继续所述的步骤(3)。

较佳地,所述的步骤(3)的具体步骤如下:

(3.1)所述的水印生成模块获取该数据模块中的配置信息,并将该配置信息中的静态水印配置信息发送给所述的水印生成模块;

(3.2)所述的水印生成模块根据所述的配置信息生成动态水印,并基于所述的静态水印配置信息对所述的动态水印的格式进行配置;

(3.3)所述的水印生成模块将配置好格式的动态水印发送给所述的虚拟机连接模块;

(3.4)所述的虚拟机连接模块将其接收到的动态水印插入待发送的数据流中。

较佳地,所述的步骤(4)之前还包括一步骤:

(4.0)所述的虚拟机连接模块获取所述的客户端的具体信息,并判断当前待发送的数据流中插入的动态水印是否适配于所述的客户端,或所述的静态水印配置信息是否发生变化,如果该动态水印适配于所述的客户端,且所述的静态水印配置信息保持不变,则继续步骤(4);否则所述的虚拟机连接模块重新插入一适配于所述的客户端的动态水印。

较佳地,所述的步骤(4.0)中的虚拟机连接模块重新插入一适配于所述的客户端的动态水印具体为:

(4.0.1)所述的虚拟机连接模块剔除该待发送的数据流中插入的动态水印,并发送一使动态水印适配于所述的客户端的静态水印配置信息给所述的数据模块,或重新获取所述的静态水印配置信息,且发送一再配置信号给所述的水印生成模块;

(4.0.2)所述的水印生成模块根据该再配置信号重新获取所述的数据模块中更新的配置信息,并生成适配于所述的客户端的动态水印;

(4.0.3)所述的水印生成模块将该适配于所述的客户端的动态水印发送给所述的虚拟机连接模块,并继续所述的步骤(4.0)。

采用了该种云平台动态水印生成系统及其控制方法,由于其通过预先存储的虚拟机的配置信息来生成动态水印,用户请求的数据来源的虚拟机不同,生成的水印也不同,且该配置信息中包含虚拟机的基本信息,据此生成的动态水印能够给该用户请求的数据以版权保护,防止盗版,达到对数据流进行保密的目的。如果用户通过截屏或拍照等方式泄露云平台可访问的文件内容,并能根据客户端的情况重新调整动态水印的格式以适应客户端,非常方便快捷,具有强大的实用价值和广大的市场范围。

附图说明

图1为本发明的云平台动态水印生成系统的各模块的连接关系示意图。

具体实施方式

为了更好的说明本发明的技术内容,特举以下具体实施例来进一步说明。

该云平台动态水印生成系统,其主要特点是,所述的系统包括虚拟机连接模块,以及与所述的虚拟机连接模块双向连接的水印生成模块、与所述的虚拟机连接模块单向连接的数据模块,且所述的水印生成模块也与所述的数据模块单向连接,其中,

所述的虚拟机连接模块与用户的客户端连接,将用户请求的、插入动态水印的数据流发送给所述的客户端;

所述的水印生成模块用以生成动态水印;

所述的数据模块存储有虚拟机的配置信息,用以给所述的水印生成模块提供虚拟机的配置信息。

所述的数据模块通过一hypervisor模块获取所述的虚拟机的数据流。

所述的配置信息包括用户名、虚拟机名、时间、ip地址、动态水印选择开关信息以及静态水印配置信息,其中,

所述的动态水印选择开关信息用以选择是否需要生成动态水印;

所述的静态水印配置信息用以配置动态水印的格式。

所述的水印生成模块与所述的数据模块相连接,用以从所述的数据模块中获取虚拟机的配置信息以生成所述的动态水印。

所述的水印生成模块还从所述的数据模块获取该虚拟机用以配置动态水印格式的静态水印配置信息,所述的静态水印配置信息可通过与所述的数据模块相连接的一ui模块进行配置。

所述的虚拟机连接模块与用户的客户端的连接是双向的。

基于上述的系统实现云平台动态水印生成控制的方法,其主要特点是,所述的配置信息包括用户名、虚拟机名、时间、ip地址、动态水印选择开关信息以及静态水印配置信息,所述的方法包括以下步骤:

(1)用户通过所述的客户端向所述的系统发起请求;

(2)所述的系统接收请求,并判断虚拟机是否需要生成动态水印;如果需要,则继续步骤(3);否则继续步骤(4),其中,系统接收请求,具体为:

所述的虚拟机连接模块接收到该请求,并通过所述的hypervisor模块从所述的虚拟机获取待发送的数据流;

系统判断虚拟机是否需要生成动态水印,具体为:

所述的虚拟机连接模块读取所述的数据模块中的配置信息,获取该配置信息中所述的动态水印选择开关信息,并根据该动态水印选择开关信息判断该虚拟机是否需要生成动态水印;

(3)所述的水印生成模块生成动态水印,并通过所述的虚拟机连接模块插入待发送的数据流,所述的步骤(3)之前还有一步骤:

(3.0)所述的虚拟机连接模块给所述的水印生成模块一动态水印生成信号,并继续所述的步骤(3)。

该步骤的具体步骤如下:

(3.1)所述的水印生成模块获取该数据模块中的配置信息,并将该配置信息中的静态水印配置信息发送给所述的水印生成模块;

(3.2)所述的水印生成模块根据所述的配置信息生成动态水印,并基于所述的静态水印配置信息对所述的动态水印的格式进行配置;

(3.3)所述的水印生成模块将配置好格式的动态水印发送给所述的虚拟机连接模块;

(3.4)所述的虚拟机连接模块将其接收到的动态水印插入待发送的数据流中;

(4.0)所述的虚拟机连接模块获取所述的客户端的具体信息,并判断当前待发送的数据流中插入的动态水印是否适配于所述的客户端,或所述的静态水印配置信息是否发生变化,如果该动态水印适配于所述的客户端,且所述的静态水印配置信息保持不变,则继续步骤(4);否则所述的虚拟机连接模块重新插入一适配于所述的客户端的动态水印,其中,虚拟机连接模块重新插入一适配于所述的客户端的动态水印具体为:

(4.0.1)所述的虚拟机连接模块剔除该待发送的数据流中插入的动态水印,并发送一使动态水印适配于所述的客户端的静态水印配置信息给所述的数据模块,或重新获取所述的静态水印配置信息,且发送一再配置信号给所述的水印生成模块;

(4.0.2)所述的水印生成模块根据该再配置信号重新获取所述的数据模块中更新的配置信息,并生成适配于所述的客户端的动态水印;

(4.0.3)所述的水印生成模块将该适配于所述的客户端的动态水印发送给所述的虚拟机连接模块,并继续所述的步骤(4.0);

(4)所述的虚拟机连接模块将接收到的数据流发送给所述的客户端。

在一种具体实施例中,动态水印生成系统实现其功能的具体方法如下:

(1)用户客户端向云平台发起连接请求;

(2)所述的虚拟机连接模块都将收到该请求;

(3)所述的虚拟机连接模块读取数据模块信息,确认是否需要生成水印,如果需要,则进行第4步,如果不需要,进行第8步;

(4)所述的虚拟机连接模块向水印生成模块请求水印信息;

(5)水印生成模块向云平台内的数据模块请求,获得预先配置信息;

(6)水印生成模块根据动态和静态信息生成水印;

(7)水印生成模块的输出将发送给虚拟机连接模块;

(8)虚拟机连接模块将水印插入数据流中;

(9)虚拟机连接模块将根据其连接的客户端情况的变化(如虚拟机屏幕大小发生变化),动态向水印生成模块请求更新的水印,再插入到数据流中。

(10)客户端接收数据流,展现数据流及所可能包含的水印信息。

在一种具体实施例中,动态水印插入数据流由虚拟机连接模块控制,虚拟机连接模块的输出包含图像数据和控制数据。动态水印将被插入图像数据中,再被发送。

具体动态水印插入有多种方式,可以在发送给客户端前,与每帧数据进行叠加,也可以将动态水印数据直接发送至客户端,由客户端进行叠加。图像叠加可以使用已有的图像工具库。

在一种具体实施例中,水印生成模块所产生的动态水印可以是图像数据,可以是图像+元数据(图像的尺寸,rgb,透明度,文字等),也可以仅包含元数据。

在一种具体实施例中,虚拟机连接模块与hypervisor模块通信,获得虚拟机的具体数据流。这里,hypervisor被称为虚拟机管理程序,负责硬件资源的分配。这里虚拟机连接模块和hypervisor之间的通信一般通过模块接口调用完成。

当客户端发起请求后,云平台外网可访问的服务将接收到这个请求,并将这个请求转发给虚拟机连接模块,虚拟机连接模块与hypervisor模块通信,获得虚拟机的数据流。同时虚拟机连接模块会与数据模块通信,获得虚拟机的配置信息,如是否显示水印等。这里数据模块可以是数据库服务,每个虚拟机在创建时,都将在数据库中新插入一条记录,包含如虚拟机id,虚拟机名,所有者等信息。后续可继续添加配置信息,如是否显示水印等。

水印生成模块从数据模块获得静态水印配置信息。具体实现上,可以是由虚拟机连接模块直接从数据模块读取静态配置信息,然后通过接口调用,将信息传递给水印生成模块。也可以时水印生成模块直接读取数据模块。

通过一上层ui模块实现对数据模块的读写,如webui,在webui上,可以配置静态水印配置信息(例如是否包含用户名,虚拟机名,时间,ip等)及图像元数据,如文字颜色,文字字体大小等。

虚拟机连接模块的数据流是双向的,客户端接收系统发送的数据流的同时,还将发送反馈控制信息给云平台,如鼠标位置信息,屏幕大小。虚拟机连接模块如果需要全屏显示动态水印,就需要根据客户端屏幕大小调整动态水印。但动态调整水印并不仅限于屏幕大小的变化,也有可能是由于对水印配置的静态水印配置信息发生了变化,如水印的文字内容做了调整。

采用了该种云平台动态水印生成系统及其控制方法,由于其通过预先存储的虚拟机的配置信息来生成动态水印,用户请求的数据来源的虚拟机不同,生成的水印也不同,且该配置信息中包含虚拟机的基本信息,据此生成的动态水印能够给该用户请求的数据以版权保护,防止盗版,达到对数据流进行保密的目的。如果用户通过截屏或拍照等方式泄露云平台可访问的文件内容,并能根据客户端的情况重新调整动态水印的格式以适应客户端,非常方便快捷,具有强大的实用价值和广大的市场范围。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

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