一种面向云计算操作系统进行Web服务跨域访问的方法

文档序号:6432251阅读:293来源:国知局
专利名称:一种面向云计算操作系统进行Web服务跨域访问的方法
技术领域
本发明涉及互联网技术技术领域,特指一种面向云计算操作系统进行Web服务跨域访问的方法。
背景技术
云计算(Cloud Computing)是2007年诞生的新名词,目前仍没有公认的定义。云计算是一种商业计算模型,它将计算任务分部在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。而云计算操作系统是云计算后台的整体管理运营 系统,它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。Web服务(Web service)是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。根据W3C的定义,Web服务应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口所组成的,它们通过网络,例如国际互联网的远程服务器端,执行客户所提交服务的请求。跨域访问是指不同域名之间互相访问,出于安全考虑,跨域访问是被各大浏览器所默认禁止的。例如,A网站的javascript代码试图跨域访问B网站,包括提交内容和获取内容等,都是默认禁止的。与之相对应地,有一些跨域访问的方法=Web代理、按需、iframe 等等。(I)Web 代理
即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果。此方案可以解决现阶段所能够想至IJ的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session (对话)状态。(2)按需方式
MYMSN的门户就用的这种方式,不过MYMSN中不涉及跨域访问问题。动态控制script标记的生成,通过修改script标记的src属性完成对跨域页面的调用。此方案存在的缺陷是,script的src属性完成该调用时采取的方式是get方式,如果请求时传递的字符串过大时,可能会无法正常运行。不过此方案非常适合聚合类门户使用。(3) iframe 方式
在页面内嵌或动态生成指向别的网站的iframe (元素),然后这2个网页间可以通过改变对方的anchor hash fragment (连接片段)来传输消息。改变一个网页的anchor hashfragment并不会使浏览器重新装载网页,所以一个网页的状态得以保持,而网页本身则可以通过一个计时器来察觉自己anchor hash的变化,从而相应改变自己的状态。通常而言,数据提交跟获取,采用iframe这种方式的确可以了,但由于父窗口与子窗口之间不能交互(跨域访问的情况下,这种交互被拒绝),因此无法完成对父窗口效果的影响。为确保云计算的跨平台兼容性,云计算资源会通过Web服务的方式来提供。相应的Web服务有跨域访问的需求,当前针对云计算操作系统的Web服务进行跨域访问是技术空白点,本发明围绕该问题提出一种解决方法。

发明内容
本发明解决的技术问题提供一种在于面向云计算操作系统进行Web服务跨域访问的方法。 本发明解决上述技术问题的技术方案是
通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。具体步骤如下
第I步,浏览器向访问服务器发送请求,请求初始化页面;
第2步,访问服务器接受浏览器发送的初始化页面的请求,完成html响应;
第3步,浏览器动态建立一个带src属性〈script〉标签,并添加head在标签里,scr为向服务端请求的Url,并且带回调方法名参数;
第4步,云服务器接收请求,将回调的方法名和结果json数据组合成一个带参的回调方法的字串,以javascript文档方式返回浏览器。浏览器并执行返回的javascrip文档,此时数据已作为参数传入到浏览器端预先定义好的callback函数里。由访问服务器作为访问云计算操作系统门户站点服务端,用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。由云服务器负责发布云计算操作系统的web服务。由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MME在HTTP协议中指明。利用本发明的方法,可以通过浏览器直接发异步请求去访问云控制器服务;确保云计算的跨平台兼容性。


下面结合附图对本发明进一步说明
图I是本发明方法示意 图2是本发明用户实例的示意图。
具体实施例方式见附图I所示,本发明通过浏览器直接发异步请求去访问云控制器(CloudServer)服务。由访问服务器作为云计算操作系统门户站点服务端,portal是一种web应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动。由云服务器负责发布云计算操作系统的web服务,例如一些创建虚拟机之类。由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容浏览器主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MME在HTTP协议中指明。基于安全性考虑,Web上有一种同源策略,即阻止代码获得或者更改从另一个域名下获得的文件或者信息。也就是说我们的请求地址必须和当前网站的地指相同。同源策略通过隔离来实现对资源的保护。根据同源策略,通常而言,浏览器是不允许XMLHttpRequest对象异域发送请求.也就是说请求地址域名必须与当前站点的域名相同。具体步骤如下
第I步,浏览器向访问服务器发送请求,请求初始化页面;
第2步,访问服务器接受浏览器发送的初始化页面的请求,完成html响应;
第3步,浏览器动态建立一个带src属性〈script〉标签,并添加head在标签里,scr 为向服务端请求的Url,并且带回调方法名参数;
第4步,云服务器接收请求,将回调的方法名和结果json数据组合成一个带参的回调方法的字串,以javascript文档方式返回浏览器。浏览器并执行返回的javascrip文档,此时数据已作为参数传入到浏览器端预先定义好的callback函数里。参见图2,本发明面向云计算操作系统进行Web服务跨域访问的方法的具体应用步骤如下
第I步,我们不使用XMLHttpRequest去发送此请求,而是动态创建script标签去加载这个Url。var runlnstancesCallback;//这是为回调的方法名,加载url前,我们需要先声明。var script = document. createElement (’script’);script.setAttribute(' src' , request_url); //load javascript document.getElementsByTagName(' head')
· appendChiId(script);
script, onload = script.onreadystatechange = function (){
Il回调处理
}
第2步,在云控制服务端(clc)需要接收这个jsoncallback参数,并将此参数与结果数据组合成javascript的一个回调方法返回.例如组合成如下字串。runlnstanceCallback({success: true}) ;//{success: true}为结果 json数据.
第3步,浏览器客户端,Script标签处理后的效果如下
〈script scr=request—url >runlnstanceCallback({success: true});
</script);
至此我们能够在浏览器端使用runlnstancesCallback处理回调数据。如 runlnstancesCallbakc(data){ if (data. success==true)
alert ( ‘创建虚拟机成功’);}
清除script标签
document. getElementsByTagName(’head’)
. removeChild (script);跨域调用结束。
权利要求
1.一种面向云计算操作系统进行Web服务跨域访问的方法,其特征是通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。
2.根据权利要求I所述的方法,其特征在于具体步骤如下 第I步,浏览器向访问服务器发送请求,请求初始化页面; 第2步,访问服务器接受浏览器发送的初始化页面的请求,完成html响应; 第3步,浏览器动态建立一个带src属性〈script〉标签,并添加head在标签里,scr为向服务端请求的Url,并且带回调方法名参数; 第4步,云服务器接收请求,将回调的方法名和结果json数据组合成一个带参的回调方法的字串,以javascript文档方式返回浏览器,浏览器并执行返回的javascrip文档,此时数据已作为参数传入到浏览器端预先定义好的callback函数里。
3.根据权利要求I或2所述的方法,其特征在于由访问服务器作为访问云计算操作系统门户站点服务端,用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。
4.根据权利要求I或2所述的方法,其特征在于由云服务器负责发布云计算操作系统的web服务。
5.根据权利要求3所述的方法,其特征在于由云服务器负责发布云计算操作系统的web服务。
6.根据权利要求I或2所述的方法,其特征在于由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
7.根据权利要求3所述的方法,其特征在于由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
8.根据权利要求4所述的方法,其特征在于由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
9.根据权利要求5所述的方法,其特征在于由浏览器显示和与用户交互网页服务器或者文件系统的HTML文件内容。
10.根据权利要求9所述的方法,其特征在于主要通过HTTP协议与网页服务器交互并获取网页,这些网页由URL指定,文件格式通常为HTML,并由MME在HTTP协议中指明。
全文摘要
本发明涉及互联网技术技术领域,特指一种面向云计算操作系统进行Web服务跨域访问的方法。其通过浏览器直接发异步请求去访问云控制器(Cloud Server)服务。填补了云计算领域的Web服务跨域访问的这一技术空白点,实现了对云计算资源的Web服务的跨域访问。可广泛应用于云计算操作系统的Web服务中。
文档编号G06F17/30GK102984179SQ201110257868
公开日2013年3月20日 申请日期2011年9月2日 优先权日2011年9月2日
发明者肖翱, 莫展鹏, 岳强, 季统凯 申请人:广东电子工业研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1