
开放平台中应用程序的访问方法及系统【技术领域】本发明涉及互联网技术,特别是涉及一种开放平台中应用程序的访问方法及系统。
背景技术:随着互联网的发展,开放平台为用户提供了越来越多的应用服务。例如,用户可通过开放平台实现访问互联网,甚至在开放平台中开启各种应用程序。然而,在传统的开放平台中,由于是通过一套自定义语言来开发的,对应的应用程序也是按照这一自定义语言开发的,因此,在运行开放平台中的应用程序时需要开放平台服务器将应用程序的自定义语言解析成标准的HTML文本,例如,在用户通过浏览器中展示的开放平台进行应用程序的访问时,该应用程序的自定义语言将被开放平台服务器解析得到标准的HTML文本,并返回给浏览器,浏览器对标准的HTML文件进行解析后向用户展示该应用程序的应用界面,由此可见,开放平台服务器需要对自定义语言进行维护和解析,实时、快捷地对用户访问应用程序的请求进行处理,这将会产生较大的成本开销。
技术实现要素:基于此,有必要提供一种能降低成本开销的开放平台中应用程序的访问方法。此外,还有必要提供一种能降低成本开销的开放平台中应用程序的访问系统。一种开放平台中应用程序的访问方法,包括如下步骤:根据访问应用请求获取应用程序的地址,并开启交互窗口;在所述开启的交互窗口中加载虚拟层;按照所述应用程序的地址通过所述虚拟层加载应用程序。一种开放平台中应用程序的访问系统,包括:触发模块,用于根据访问应用请求获取应用程序的地址,并开启交互窗口;虚拟层加载模块,用于在所述开启的交互窗口中加载虚拟层;应用加载模块,用于按照所述应用程序的地址通过所述虚拟层加载应用程序。上述开放平台中应用程序的访问方法及系统,通过加载虚拟层来实现开放平台中应用程序的访问,由于虚拟层在开放平台中构建了一个虚拟的环境,屏蔽了各种不同的开放平台的差异,可减少应用程序与开放平台之间的兼容性问题,更有效地提高和利用资源,降低成本开销。【附图说明】图1为一个实施例中开放平台中应用程序的访问方法的流程图;图2为图1中按照应用程序的地址通过虚拟层加载应用程序的方法流程图;图3为另一个实施例中开放平台中应用程序的访问方法的流程图;图4为图3中通过虚拟层响应应用程序的跨域请求的方法流程图;图5为一个实施例中开放平台中应用程序的访问方法的应用示意图;图6为另一个实施例中开放平台中应用程序的访问方法的应用示意图;图7为一个实施例中开放平台中应用程序的访问系统的结构示意图;图8为图7中应用加载模块的结构示意图;图9为另一个实施例中开放平台中应用程序的访问系统的结构示意图;图10为图9中响应模块的结构示意图。【具体实施方式】在一个实施例中,如图1所示,一种开放平台中应用程序的访问方法包括如下步骤:步骤S110,根据访问应用请求获取应用程序的地址,并开启交互窗口。本实施例中,通过对开放平台中应用程序的访问操作产生访问应用请求,将根据这一访问应用请求获取到对应的应用程序的地址,并在开放平台中打开交互窗口。应用程序的地址可以是URL(UniformUniversalResourceLocator,统一资源定位符)链接地址的形式,是该应用程序在开放平台服务器中的存储地址;开放平台中打开的交互窗口可以是浏览器窗口或者其他具有独立运行空间的模拟窗口,例如基于客户端等方式所产生的窗口。应用程序可以是开放平台自有的,也可以是由第三方提供的第三方应用。具体地,对应用程序的访问操作是可以开放平台中对某一应用程序的选定操作,通过开放平台的应用市场或应用列表获取对某一应用程序的选定操作,根据所获取的选定操作产生访问应用请求,进而通过访问应用请求获取该应用程序的地址,并触发交互窗口的开启。步骤S130,在开启的交互窗口中加载虚拟层。本实施例中,虚拟层是一个相对隔离的虚拟运行环境,在开放平台的交互窗口中加载虚拟层,以为应用程序的运行环境进行初始化,通过加载的虚拟层能够屏蔽开放平台和应用程序之间使用的语言不一致的问题,不通过开放平台服务器的解析和维护也能够运行使用了与开放平台中的语言不相一致的应用程序。虚拟层可适应由各种不同的语言开发的应用程序,因此在开放平台中加载虚拟层可以实时、快捷地响应访问应用请求。由于虚拟层实质上是文本标记语言文本和脚本的结合,因此,必须通过浏览器窗口或者其他具有独立运行空间的模拟窗口等交互窗口进行加载,具体地,在开启的交互窗口中加载虚拟层的具体过程为:在交互窗口中加载虚拟层的逻辑,该逻辑包括了安全逻辑、平台逻辑和各种应用编程接口(ApplicationProgrammingInterface,API)函数等。步骤S150,按照应用程序的地址通过虚拟层加载应用程序。本实施例中,按照应用程序的地址将对应的应用程序加载到虚拟层运行,此时,加载的应用程序可直接在虚拟层运行,而不会受到开放平台的运行环境差异性的影响。在一个实施例中,如图2所示,上述步骤S150的具体过程为:步骤S151,通过虚拟层嵌入页面。本实施例中,虚拟层中嵌入的页面为网页页面,按照虚拟层的链接地址在页面中加载虚拟层,该链接地址是开放平台服务器中设定的URL地址,标识了虚拟层在开放平台服务器中的存储,并且开放平台中的页面通过这一链接地址能够顺利载入虚拟层。虚拟层本质上是HTML(HypertextMarkupLanguage,文本标记语言)文本和脚本的结合,即通过网页页面构造出来的应用程序虚拟运行环境,因此可通过HTML框架标签中IFRAME的方式在虚拟层中嵌入网页页面。具体地,在虚拟层中嵌入页面的过程可以是:在HTMLDOM结构中新增一个可以嵌入应用程序的Iframe节点,然后将这一新增的Iframe节点插入到HTMLDOM结构中。步骤S153,按照应用程序的地址在嵌入的页面中加载应用程序。本实施例中,将需要运行的应用程序加载到嵌入的页面中,在嵌入的页面实现应用程序的运行。具体地,在HTMLDOM结构新增Iframe节点的地址即为应用程序的地址。在另一个实施例中,如图3所示,上述步骤S150之后还包括如下步骤:步骤S310,判断应用程序是否跨域通信,若是,则进入步骤S330,若否,则结束。本实施例中,运行在虚拟层这一相对隔离的虚拟环境中的应用程序在运行的过程中有可能会需要使用开放平台中的功能,但是由于应用程序与开放平台之间的通信是受限于域名的,因此应当与开放平台建立通信通道,进行应用程序与开放平台之间的沟通。例如,应用程序在运行的过程中可能会产生获取开放平台中某些用户资料、关系链以及帐号的行为,说明应用程序将与开放平台进行跨域通信,建立与开放平台之间的通信通道,以通过通信通道从开放平台中获取信息。步骤S330,向虚拟层发起应用程序的跨域请求。本实施例中,当运行于虚拟层中的应用程序判断到需要进行跨域通信时,该应用程序将产生跨域请求,并向虚拟层传递。具体地,应用程序引入开放平台中的前端应用编程接口(API)文件,并通过前端API文件中的跨域通信方法将应用程序的跨域请求传递给虚拟层。步骤S350,通过虚拟层响应应用程序的跨域请求。本实施例中,虚拟层在接收到应用程序传递的跨域请求后,将根据应用程序的跨域请求进行响应,并向应用程序反馈相应的响应结果。在一个实施例中,如图4所示,上述步骤S350的具体过程为:步骤S351,根据应用程序的跨域请求获取对应的请求类型。本实施例中,根据跨域请求所对应的请求类型可以获知该应用程序是需要与开放平台进行交互,还是仅仅需要交互窗口对跨域请求进行响应即可。步骤S353,根据请求类型判断应用程序是否需要与开放平台服务器进行交互,若是,则进入步骤S355,若否,则进入步骤S359。本实施例中,当应用程序需要从开放平台服务器中获取信息或者需要使用开放平台服务器中的某此功能时,通过请求类型便可获知应用程序需要与开放平台进行交互,此时,虚拟层将向开放平台服务器发起通信请求,建立应用程序与开放平台之间的通信通道;当应用程序只是需要更改或者关联交互窗口中的信息时,通过请求类型获知由交互窗口对跨域请求进行响应即可。步骤S355,通过虚拟层向开放平台服务器发起通信请求。本实施例中,开放平台服务器存储了开放平台这一前台所需要的信息,并为开放平台提供各种支持。步骤S357,开放平台服务器响应通信请求,并经过虚拟层向应用程序反馈响应结果。本实施例中,开放平台服务器在接收到通信请求后,应用程序与开放平台之间的通信通道形成,开放平台服务器将根据通信请求执行相应的动作,具体地,为了与开放平台服务器进行交互,上述经过虚拟层向应用程序反馈响应结果的具体过程为:将响应结果反馈给前端应用编程接口文件,即前端API文件。例如,若应用程序需要通过开放平台进行身份有效性验证,此时,根据通信请求,开放平台服务器将完成用户的身份有效性验证,并将验证结果通过通信通道反馈给虚拟层中的应用程序,即验证结果将反馈给前端API文件。步骤S359,通过虚拟层调用交互窗口中的方法响应跨域请求,并向应用程序反馈响应结果。本实施例中,虚拟层在接收到跨域请求后,根据请求的类型判断到应用程序只是需要更改或关联交互窗口中的某些信息时,虚拟层将会根据跨域请求调用交互窗口中提供的默认方法或其它自定义方法来对跨域请求进行响应,并向前端API文件反馈响应结果。下面结合一个具体的实施例来详细阐述上述开放平台中应用程序的访问方法。该实施例中,如图5所示,开放平台51获取到用户对应用市场53某一应用程序59的点击选定操作时将产生访问应用请求,根据访问应用请求获取应用程序59的地址,并开启交互窗口55,在开启的交互窗口55中加载虚拟层57,进而按照应用程序59的地址将应用程序59载入虚拟层57中,使应用程序59在虚拟层57中运行。若应用程序59需要通过开放平台51实现用户的身份有效性验证,则如图6所示,应用程序59通过前端API文件向虚拟层57发起跨域请求,再由虚拟层57向开放平台服务器61发起通信请求,以建立应用程序59与开放平台服务器61之间的通信通道,并通过开放平台服务器61对用户的身份进行验证,进而将验证给过反馈到应用程序59中。在一个实施例中,如图7所示,一种开放平台中应用程序的访问系统,包括触发模块10、虚拟层加载模块30以及应用加载模块50。触发模块10,用于根据访问应用请求获取应用程序的地址,并开启交互窗口。本实施例中,触发模块10通过对开放平台中应用程序的访问操作产生访问应用请求,将根据这一访问应用请求获取到对应的应用程序的地址,并在开放平台中打开交互窗口。应用程序的地址可以是URL链接地址的形式,是该应用程序在开放平台服务器中的存储地址;开放平台中打开的交互窗口可以是浏览器窗口或者其他具有独立运行空间的模拟窗口,例如基于客户端等方式所产生的窗口。应用程序可以是开放平台自有的,也可以是由第三方提供的第三方应用。具体地,对应用程序的访问操作是可以开放平台中对某一应用程序的选定操作,触发模块10通过开放平台的应用市场或应用列表获取对某一应用程序的选定操作,根据所获取的选定操作产生访问应用请求,进而通过访问应用请求获取该应用程序的地址,并触发交互窗口的开启。虚拟层加载模块30,用于在开启的交互窗口中加载虚拟层。本实施例中,虚拟层是一个相对隔离的虚拟运行环境,在开放平台的交互窗口中加载虚拟层,以为应用程序的运行环境进行初始化,通过加载的虚拟层能够屏蔽开放平台和应用程序之间使用的语言不一致的问题,不通过开放平台服务器的解析和维护也能够运行使用了与开放平台中的语言不相一致的应用程序。虚拟层可适应由各种不同的语言开发的应用程序,因此在开放平台中加载虚拟层可以实时、快捷地响应访问应用请求。由于虚拟层实质上是文本标记语言文本和脚本的结合,因此,必须通过浏览器窗口或者其他具有独立运行空间的模拟窗口等交互窗口进行加载,具体地,虚拟层加载模块30在交互窗口中加载虚拟层的逻辑,该逻辑包括了安全逻辑、平台逻辑和各种应用编程接口(ApplicationProgrammingInterface,API)函数等。应用加载模块50,用于按照应用程序的地址通过虚拟层加载应用程序。本实施例中,应用加载模块50按照应用程序的地址将对应的应用程序加载到虚拟层运行,此时,加载的应用程序可直接在虚拟层运行,而不会受到开放平台的运行环境差异性的影响。在一个实施例中,如图8所示,上述应用加载模块50包括页面嵌入单元510以及加载单元530。页面嵌入单元510,用于通过虚拟层嵌入页面。本实施例中,虚拟层中嵌入的页面为网页页面,页面嵌入单元510还用于按照虚拟层的链接地址在页面中加载虚拟层,该链接地址是开放平台服务器中设定的URL地址,标识了虚拟层在开放平台服务器中的存储,并且开放平台中的页面通过这一链接地址能够顺利载入虚拟层。虚拟层本质上是HTML文本和脚本的结合,即通过网页页面构造出来的应用程序虚拟运行环境,因此页面嵌入单元510可通过HTML框架标签中IFRAME的方式在虚拟层中嵌入网页页面。具体地,在页面嵌入单元510在HTMLDOM结构中新增一个可以嵌入应用程序的Iframe节点,然后将这一新增的Iframe节点插入到HTMLDOM结构中。加载单元530,用于按照应用程序的地址在嵌入的页面中加载应用程序。本实施例中,加载单元530将需要运行的应用程序加载到嵌入的页面中,在嵌入的页面实现应用程序的运行。具体地,加载单元530在HTMLDOM结构新增Iframe节点的地址即为应用程序的地址。在另一个实施例中,如图9所示,上述开放平台中应用程序的访问系统还包括了通信判断模块60、请求发起模块70以及响应模块80。通信判断模块60,用于判断应用程序是否跨域通信,若是,则通知请求发起模块70,若否,则结束。本实施例中,运行在虚拟层这一相对隔离的虚拟环境中的应用程序在运行的过程中有可能会需要使用开放平台中的功能,但是由于应用程序与开放平台之间的通信是受限于域名的,因此应当与开放平台建立通信通道,进行应用程序与开放平台之间的沟通。例如,应用程序在运行的过程中可能会产生获取开放平台中某些用户资料、关系链以及帐号的行为,说明应用程序将与开放平台进行跨域通信,建立与开放平台之间的通信通道,以通过通信通道从开放平台中获取信息。请求发起模块70,用于向虚拟层发起应用程序的跨域请求。本实施例中,当通信判断模块60判断到需要进行跨域通信时,该应用程序将产生跨域请求,并向虚拟层传递。具体地,请求发起模块70入开放平台中的前端API文件,并通过前端API文件中的跨域通信方法将应用程序的跨域请求传递给虚拟层。响应模块80,用于通过虚拟层响应应用程序的跨域请求。本实施例中,响应模块80在接收到应用程序传递的跨域请求后,将根据应用程序的跨域请求进行响应,并向应用程序反馈相应的响应结果。在一个实施例中,如图10所示,上述响应模块80包括类型获取单元810、交互判断单元830、通信发起单元850以及窗口响应单元870。类型获取单元810,用于根据应用程序的跨域请求获取对应的请求类型。本实施例中,类型获取单元810根据跨域请求所对应的请求类型可以获知该应用程序是需要与开放平台进行交互,还是仅仅需要交互窗口对跨域请求进行响应即可。交互判断单元830,用于根据请求类型判断应用程序是否需要与开放平台服务器进行交互,若是,则通知通信发起单元850,若否,则通知窗口响应单元870。本实施例中,交互判断单元830判断到应用程序需要从开放平台服务器中获取信息或者需要使用开放平台中的某此功能时,通过请求类型便可获知应用程序需要与开放平台服务器进行交互,此时,通信发起单元850将向开放平台服务器发起通信请求,建立应用程序与开放平台之间的通信通道;当应用程序只是需要更改或者关联交互窗口中的信息时,通过请求类型获知由交互窗口对跨域请求进行响应即可。通信发起单元850,用于通过虚拟层发起通信请求。本实施例中,通信发起单元850向开放平台服务器发起通信请求,以实现应用程序与开放平台之间的交互。窗口响应单元870,用于通过虚拟层调用交互窗口中的方法响应跨域请求,并向应用程序反馈响应结果。本实施例中,窗口响应单元870在接收到跨域请求后,根据请求的类型判断到应用程序只是需要更改或关联交互窗口中的某些信息时,将会根据跨域请求调用交互窗口中提供的默认方法或其它自定义方法来对跨域请求进行响应,并向前端API文件反馈响应结果。上述开放平台中应用程序的访问系统中还包括了平台服务器,用于接收发起的通信请求,响应该通信请求,并经过虚拟层向应用程序反馈响应结果。本实施例中,开放平台服务器存储了开放平台这一前台所需要的信息,并为开放平台提供各种支持。具体地,为了与开放平台中的应用程序进行交互,上述开放平台服务器还用于将响应结果反馈给前端应用编程接口文件,即前端API文件。上述开放平台中应用程序的访问方法及系统,通过加载虚拟层来实现开放平台中应用程序的访问,由于虚拟层在开放平台中构建了一个虚拟的环境,屏蔽了各种不同的开放平台的差异,可减少应用程序与开放平台之间的兼容性问题,更有效地提高和利用资源,降低成本开销。上述开放平台中应用程序的访问方法及系统,通过虚拟层加载应用程序并运行,使得开放平台易于实现和操作,易扩展,并且使得开放平台具备通用性,能够适应各种语言开发的应用程序,相对地,对于应用程序的开发者而言,可以不必学习开放平台所自定义的语言也进行代码的编写,大大降低了应用程序进入开放平台的门槛,降低了应用程序接入开放平台的难度。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。