数据获取方法及装置与流程

文档序号:12494580阅读:178来源:国知局
数据获取方法及装置与流程

本发明涉及计算机技术领域,更具体地,涉及一种数据获取方法及装置。



背景技术:

目前对于web站点,为了让用户拥有更好的体验,通常需要在本地存储一些该web站点下的用户个性化数据。例如,对于视频播放web站点,由于用户在看视频时会存在上次的播放记录或一定的播放习惯,如上次看视频的进度或者播放视频时常用的播放音量,从而可在本地存储对应的用户个性化数据。出于安全考虑,每个web站点之间都是隔离的。相应地,在现有的获取数据方式中,一个web站点只能获取自身的用户个性化数据,而不能获取其它web站点的用户个性化数据。然而,在实际场景中一个web站点可能需要获取其它web站点下的用户个性化数据。例如,音乐播放web站点可能需要获取视频播放web站点下,用户播放音频时的常用播放音量。因此,现在急需一种数据获取方法,让不同web站点之间能够获取彼此的数据。



技术实现要素:

本发明提供一种克服上述问题或者至少部分地解决上述问题的数据获取方法及装置。

根据本发明的一方面,提供了一种数据获取方法,该方法包括:

基于第一web站点,获取第二web站点对应服务器上的公开接口文件;

加载公开接口文件;

调用公开接口文件中的公开接口;

通过公开接口,获取第二web站点下的本地共享文件,本地共享文件中至少包含第二web站点下的用户个性化数据。

根据本发明的另一方面,提供了一种数据获取装置,该装置包括:

第一获取模块,用于基于第一web站点,获取第二web站点对应服务器上的公开接口文件;

加载模块,用于加载公开接口文件;

调用模块,用于调用公开接口文件中的公开接口;

第二获取模块,用于通过公开接口,获取第二web站点下的本地共享文件,本地共享文件中至少包含第二web站点下的用户个性化数据。

本申请提出的技术方案带来的有益效果是:

通过基于第一web站点,获取第二web站点对应服务器上的公开接口文件。加载公开接口文件,调用公开接口文件中的公开接口。通过公开接口,获取第二web站点下的本地共享文件。由于可从服务器获取第二web站点对应的公开接口文件,通过加载并调用其中的公开接口来获取第二web站点下的本地共享文件,从而能够实现跨站点获取数据。

附图说明

图1为本发明实施例的一种数据获取方法的流程示意图;

图2为本发明实施例的一种数据获取方法的流程示意图;

图3为本发明实施例的一种跨站点数据获取方法的流程示意图;

图4为本发明实施例的一种数据获取装置的结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

目前对于一个web站点,为了让用户在访问该web站点时有更好的体验,通常会在本地存储该web站点下的用户个性化数据。例如,对于视频播放web站点,通常会在本地存储视频播放器的音量、上次观看到的视频进度等等。通过在本地存储视频播放器的音量,用户就不需要每次打开一个新的视频都重新设置一次音量。通过在本地存储上次观看到的视频进度,用户重新打开上次没看完的电影,就可以接着上次的进度观看。类似这些用户个性化数据对于提升用户体验有很大的帮助。

在web站点的开发过程中,有时会有这样一种需求,即对于一个web站点来说,需要获取另一个web站点下的用户个性化数据。例如,音乐播放web站点可能需要获取视频播放web站点下,用户播放音频时的常用播放音量。然而,对于web站点来说,出于安全原因考虑,每个web站点都是完全隔离的。相应地,每个web站点对应在本地存储的用户个性化数据也是隔离的。即在现有的获取数据方式中,一个web站点只能获取自身的用户个性化数据,而不能获取其它web站点下的用户个性化数据,从而导致获取到的数据很有限,不能满足实际需求。

针对现有技术中的问题,本发明实施例提供了一种数据获取方法。参见图1,本实施例提供的方法流程包括:101、基于第一web站点,获取第二web站点对应服务器上的公开接口文件;102、加载公开接口文件;103、调用公开接口文件中的公开接口;104、通过公开接口,获取第二web站点下的本地共享文件。

其中,本地共享文件中至少包含第二web站点下的用户个性化数据,本实施例及后续实施例对此不作具体限定。

需要说明的是,在本实施例及后续实施例中,第一web站点前的“第一”与第二web站点前的“第二”主要是为了区分不同的web站点,而非对web站点作具体限定。其中,第一web站点与第二web站点可以为任何类型或任何形式的web站点,如视频播放web站点、音乐播放web站点或购物web站点等,本实施例对此不作具体限定。

本发明实施例提供的方法,通过基于第一web站点,获取第二web站点对应服务器上的公开接口文件。加载公开接口文件,调用公开接口文件中的公开接口。通过公开接口,获取第二web站点下的本地共享文件。由于可从服务器获取第二web站点对应的公开接口文件,通过加载并调用其中的公开接口来获取第二web站点下的本地共享文件,从而能够实现跨站点获取数据。

作为一种可选实施例,加载公开接口文件,包括:

创建loader对象;

通过loader对象,加载公开接口文件。

作为一种可选实施例,loader对象对应的安全域与第一web站点对应的安全域相互独立。

作为一种可选实施例,通过公开接口,获取第二web站点下的本地共享文件之前,还包括:

基于第二web站点,创建本地共享对象;

基于本地共享对象,根据第二web站点下的用户个性化数据,在第二web站点下生成本地共享文件。

作为一种可选实施例,根据所述第二web站点下的用户个性化数据,在所述第二web站点下生成本地共享文件,包括:

获取指定的数据索引;

基于所述数据索引,根据所述用户个性化数据中所述数据索引对应的数据,生成本地共享文件。

作为一种可选实施例,所述获取第二web站点对应服务器上的公开接口文件之前,还包括:

基于所述本地共享对象,创建公开接口;

根据所述公开接口,生成第二web站点对应的公开接口文件。

作为一种可选实施例,通过公开接口,获取第二web站点下的本地共享文件之前,还包括:

授予第一web站点对第二web站点的跨域访问权限。

作为一种可选实施例,授予第一web站点对第二web站点的跨域访问权限,包括:

在第二web站点对应的允许访问名单中添加第一web站点对应的域名。

作为一种可选实施例,授予第一web站点对第二web站点的跨域访问权限,包括:

在第二web站点下创建跨域策略文件;

对于跨域策略文件中预设子节点下的预设属性,将第一web站点对应的域名作为预设属性的属性值。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

由于本地存储的数据是与web站点域名绑定的,从而不同域名之间本地存储的数据是互相隔离的且禁止互相访问,即不能跨站点获取用户个性化数据。但是基于Flash技术可构建一个中间代码,来连接不同的web站点,从而通过这个中间代码来实现跨站点获取数据。基于上述理论及图1对应实施例中的内容,本发明实施例提供了一种数据获取方法。该方法主要为跨web站点的数据获取方法,参见图2,该方法包括:201、基于第一web站点,获取第二web站点对应服务器上的公开接口文件;202、创建loader对象,通过loader对象,加载公开接口文件;203、调用公开接口文件中的公开接口;204、通过公开接口,获取第二web站点下的本地共享文件。

其中,201、基于第一web站点,获取第二web站点对应服务器上的公开接口文件。

在执行本步骤之前,可先生成第二web站点对应的公开接口文件。本实施例不对生成公开接口文件的方式作具体限定,包括但不限于:基于本地共享对象,创建公开接口;根据公开接口,生成第二web站点对应的公开接口文件。其中,本地共享对象可参考后续步骤203及步骤204中的内容。

在本步骤中,公开接口用于获取第二web站点下的用户个性化数据,公开接口文件中可至少包含公开接口,本实施例对此不作具体限定。另外,公开接口文件的文件格式可以为Flash文件,公开接口文件可以位于第二web站点对应的服务器上,本实施例对此也不作具体限定。

当第一web站点需要获取第二web站点下的用户个性化数据时,可向第二web站点对应的服务器发送获取请求,由服务器返回公开接口文件,从而基于第一web站点,获取服务器返回的公开接口文件。

其中,202、创建loader对象,通过loader对象,加载公开接口文件。

由于公开接口文件的文件格式可以为Flash文件,而Flash文件的加载存在安全域的概念,从而加载公开接口文件时,需保证加载公开接口文件时对应的安全域是独立的,而不能落入第二web站点对应的安全域。否则,后续获取到的会是第二web站点下本地存储的数据,而非其它web站点的数据。

因此,本步骤在加载公开接口文件时,可创建loader对象。采用创建的loader对象来进行加载,本实施例对此不作具体限定。由于loader对象的默认加载行为并不会指定安全域,只要不用额外参数指定安全域,其加载过程会使用自己的安全域,即loader对象对应的安全域与第一web站点对应的安全域相互独立,从而不会导致后续获取的是第二web站点下本地存储的数据。假设第二web站点的域名为A.com,公开接口文件的文件名为D.swf。通过loader对象,加载公开接口文件对应的代码可如下代码(1)所示:

var loader:Loader=new Loader();

loader.load(new URLRequest(http://A.com/D.swf));

其中,203、调用公开接口文件中的公开接口。

在执行本步骤之前,可以先定义第二web站点对应的公开接口,本实施例对此不作具体限定。通过公开接口指定需要暴露的数据,保护其它数据不暴露,以提高数据的安全性。其中,公开接口的内容可参考如下代码(2)所示:

在上述代码(2)中,getC()即为公开接口对应的方法,SharedObject为本地共享对象。

其中,204、通过公开接口,获取第二web站点下的本地共享文件。

在执行本步骤之前,可先在第二web站点下生成本地共享文件。需要说明的是,该过程可以在步骤203、步骤202或步骤201中任一步骤之前执行,本实施例对此不作具体限定。其中,本地共享文件可至少包含第二web站点下的用户个性化数据,本实施例对此不作具体限定。

关于在第二web站点下生成本地共享文件的方式,本实施例对此不作具体限定,包括但不限于:基于第二web站点,创建本地共享对象;基于本地共享对象,根据第二web站点下的用户个性化数据,在第二web站点下生成本地共享文件。

由于用户个性化数据的类型通常很多,如用户偏好节目类型、用户偏好音量大小及用户上次播放视频进度等等,从而可通过指定数据索引的方式,将其中一个数据索引对应的数据写入到本地共享文件中,本实施例对此不作具体限定。相应地,本实施例不对根据所述第二web站点下的用户个性化数据,在所述第二web站点下生成本地共享文件的方式作具体限定,包括但不限于:获取指定的数据索引;基于所述数据索引,根据所述用户个性化数据中所述数据索引对应的数据,生成本地共享文件。

该过程可如下代码(3)所示:

var_so:SharedObject=SharedObject.getLocal("C_Path","/");

_so.data[“C_Key”]=value;

_so.flush();

需要说明的是,在上述代码(3)中“C_Path”为本地共享文件的名称。后面的“/”表示SharedObject为全域的本地共享对象,即所有的web站点均可以获取第二web站点下的本地共享文件。另外,C_Key代表的是数据索引。

基于上述过程,相应在生成本地共享文件时,可生成不止一个本地共享文件,如可按照数据索引的数量生成相应数量的本地共享文件,本实施例不对第二web站点下生成本地共享文件的数量作具体限定。

基于上述步骤201至步骤204中的内容,第一站点可通过公开接口,获取第二web站点下的本地共享文件。接着,从本地共享文件中可获取到第二web站点下的用户个性化数据,从而最终实现跨站点获取数据。

需要说明的是,在上述步骤202中,加载公开接口文件时存在恶意加载的可能性,此时会导致用户信息泄露。因此,为了提高数据访问时的安全性,在执行本步骤之前,还可先确定哪些web站点能够获取第二web站点下的本地共享文件,即为web站点授予跨域访问权限,本实施例对此不作具体限定。

相应地,在本实施例中需要授予第一web站点对第二web站点的跨域访问权限。本实施例不对授予第一web站点对第二web站点的跨域访问权限的方式作具体限定,包括但不限于如下两种方式。

第一种方式:在第二web站点对应的允许访问名单中添加第一web站点对应的域名。

具体地,可在代码层设置一个第二web站点对应的第三方访问控制白名单,即允许访问名单,只有在白名单中的web站点才能够获取第二web站点下的本地共享文件。

假设第一web站点的域名为B.com,则在程序初始化的地方可加入如下代码(4):

Security.allowDomain("B.com");

需要说明的是,当第一web站点是HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,安全超文本传输协议)类型的站点时,还需要在程序初始化的地方加入如下代码(5):

Security.allowInsecureDomain("B.com");

第二种方式:在第二web站点下创建跨域策略文件;对于跨域策略文件中预设子节点下的预设属性,将第一web站点对应的域名作为预设属性的属性值。

在该方式中,主要是在第二web站点的配置层面上提高安全级别。其中,跨域策略文件可以为crossdomain.xml,预设属性可以为domain属性。crossdomain.xml是一个xml格式的配置文件,通常放置在web站点根目录下,是Flash专门用来控制跨站点访问权限的文件。crossdomain.xml的根节点为<cross-domain-policy>,其下包含一个或多个<allow-access-from>节点。<allow-access-from>有一个属性domain,其值可以为允许访问的web站点域名、确切的IP地址、一个确切的域或一个通配符域。

具体地,在第二web站点的根目录下,创建一个crossdomain.xml安全配置文件,并在其中加入授予第一web站点访问权限的配置信息。假如第一web站点的域名为B.com,那么第一web站点根目录下crossdomain.xml文件中的内容可如下代码(6)所示:

<?xml version="1.0"?>

<cross-domain-policy>

<allow-access-from domain="*B.com"/>

</cross-domain-policy>

基于上述内容,第一web站点下Flash类型的本地共享文件就只允许第一web站点访问,未经授权的其它web站点无法获取并执行第二web站点下的任何Flash类型文件。

需要说明的是,上述第一种方式与第二种方式可以选择其一执行,也可以同时执行,本实施例对此不作具体限定。通过执行第一种方式对第一web站点进行授权,能够提高数据访问的安全性。在第一种方式的基础上,通过第二种方式能够使得本地共享文件不被恶意第三方获取,保证数据不被泄露,从而进一步地提高了数据访问的安全性。

通过上述两种方式,在确定第一web站点被授权后,第一web站点通过公开接口,可获取第二web站点下的本地共享文件。该过程可通过如下代码(7)实现:

var C:Object=loader.content.getC();

通过上述代码(7),第一web站点可以得到第二web站点下的本地共享文件,从而可获取其中的用户个性化数据。

最后,本实施例提供的跨站点数据获取方法流程可如图3所示。

本发明实施例提供的方法,通过基于第一web站点,获取第二web站点对应服务器上的公开接口文件。通过loader对象,加载公开接口文件。调用公开接口文件中的公开接口。通过公开接口,获取第二web站点下的本地共享文件。由于可从服务器获取第二web站点对应的公开接口文件,通过加载并调用其中的公开接口来获取第二web站点下的本地共享文件,从而能够实现跨站点获取数据。

另外,由于规定了通过公开接口只能获取其它web站点下的用户个性化数据,其它数据是不能被获取的,从而提高了数据访问时数据的安全性。

再次,由于可在程序初始化层面上对跨站点获取数据的web站点进行授权,即预先指定哪些web站点可以获取指定web下的个性化数据,从而保证了数据访问时数据的安全性。

最后,由于可在站点配置层面上对跨站点获取数据的web站点进行授权,能够使得数据不被恶意第三方获取,保证数据不被泄露,从而进一步地提高了数据访问时数据的安全性。

本发明实施例提供了一种数据获取装置,该装置用于执行上述图1或图2对应实施例所提供的数据获取方法。参见图4,该装置包括:

第一获取模块401,用于基于第一web站点,获取第二web站点对应服务器上的公开接口文件;

加载模块402,用于加载公开接口文件;

调用模块403,用于调用公开接口文件中的公开接口;

第二获取模块404,用于通过公开接口,获取第二web站点下的本地共享文件,本地共享文件中至少包含第二web站点下的用户个性化数据。

作为一种可选实施例,加载模块402,用于创建loader对象;通过loader对象,加载公开接口文件。

作为一种可选实施例,loader对象对应的安全域与第一web站点对应的安全域相互独立。

作为一种可选实施例,该装置还包括:

第一创建模块,用于基于第二web站点,创建本地共享对象;

第一生成模块,用于基于本地共享对象,根据第二web站点下的用户个性化数据,在第二web站点下生成本地共享文件。

作为一种可选实施例,第一生成模块,用于获取指定的数据索引;基于所述数据索引,根据所述用户个性化数据中所述数据索引对应的数据,生成本地共享文件。

作为一种可选实施例,该装置还包括:

第二创建模块,用于基于所述本地共享对象,创建公开接口;

第二生成模块,用于根据所述公开接口,生成第二web站点对应的公开接口文件。

作为一种可选实施例,该装置还包括:

授权模块,用于授予第一web站点对第二web站点的跨域访问权限。

作为一种可选实施例,授权模块,用于在第二web站点对应的允许访问名单中添加第一web站点对应的域名。

作为一种可选实施例,授权模块,用于在第二web站点下创建跨域策略文件;对于跨域策略文件中预设子节点下的预设属性,将第一web站点对应的域名作为预设属性的属性值。

本发明实施例提供的装置,通过基于第一web站点,获取第二web站点对应服务器上的公开接口文件。通过loader对象,加载公开接口文件。调用公开接口文件中的公开接口。通过公开接口,获取第二web站点下的本地共享文件。由于可从服务器获取第二web站点对应的公开接口文件,通过加载并调用其中的公开接口来获取第二web站点下的本地共享文件,从而能够实现跨站点获取数据。

另外,由于规定了通过公开接口只能获取其它web站点下的用户个性化数据,其它数据是不能被获取的,从而提高了数据访问时数据的安全性。

再次,由于可在程序初始化层面上对跨站点获取数据的web站点进行授权,即预先指定哪些web站点可以获取指定web下的个性化数据,从而保证了数据访问时数据的安全性。

最后,由于可在站点配置层面上对跨站点获取数据的web站点进行授权,能够使得数据不被恶意第三方获取,保证数据不被泄露,从而进一步地提高了数据访问时数据的安全性。

最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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