CN101729600A - 一种加速实现软件运营应用的方法和装置 - Google Patents
一种加速实现软件运营应用的方法和装置 Download PDFInfo
- Publication number
- CN101729600A CN101729600A CN200910238674A CN200910238674A CN101729600A CN 101729600 A CN101729600 A CN 101729600A CN 200910238674 A CN200910238674 A CN 200910238674A CN 200910238674 A CN200910238674 A CN 200910238674A CN 101729600 A CN101729600 A CN 101729600A
- Authority
- CN
- China
- Prior art keywords
- saas
- air bag
- website
- client
- air
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种加速实现软件运营应用的方法和装置。该方法在SaaS应用网站部署有检测程序,该方法包括以下步骤:服务端重构SaaS应用网络产品,打出应用包和air包,向SaaS应用网站发布应用包和air包;用户选择air加速或不加速实现SaaS应用,当选择前者时,客户端访问SaaS应用网站,SaaS应用网站根据检测程序检测客户端是否安装最新版本的air包,如果检测结果为否,则SaaS应用网站向客户端传送air包,客户端安装air包,检测程序启动客户端air包;客户端用air包与服务端交互业务数据。本发明能在不增加网络带宽并不必控制静态资源的大小和数量的情况下,缩短SaaS应用中用户的下载时间。
Description
技术领域
本发明涉及软件技术,特别是涉及一种加速实现软件运营应用的方法和装置。
背景技术
进入21世纪以来,随着互联网技术的发展和应用软件的成熟,一种称为软件运营(SaaS,Software-as-a-Service)的软件应用模式迅速推广开来,逐渐成为软件科技发展的最新趋势。
SaaS是一种基于互联网提供软件服务的应用模式,属于网络应用,即通常所说的web应用的范畴。SaaS的实现模式为:由SaaS服务商为用户搭建信息化所需要的所有网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务;用户无需购买软硬件、建设机房、招聘IT人员,只要根据实际需要,向SaaS服务商租赁软件服务,即可通过互联网使用信息系统。SaaS作为一种软件布局模型,其应用专门设计为通过网络进行交付,即通过客户端和服务端的交互来实现服务功能,这大大方便了用户通过互联网进行业务的托管、部署和接入。
目前,网络下载量的增大,使得访问速度成为SaaS应用中提高系统性能的瓶颈,为了提高SaaS应用的系统性能,就必须缩短网络下载图片、脚本文件等静态资源的时间。在现有技术中,提高SaaS应用中网络下载图片、脚本文件等静态资源的速度的方法有两个:方法一,增加服务运营商和用户的网络带宽;方法二,控制需要下载的静态资源的大小和数量。其中,方法二的具体实现主要有以下三种:第一,多个文件合并下载,从而减少下载次数和web请求的数量,进而达到加速下载的目的;第二,压缩下载文件的内容,从而达到加速下载的目的;第三,采用内容分发网络(CDN)技术,通过将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,从而提高用户的下载速度。
SaaS应用中客户端和服务端进行交互的主要内容包括:html、javascript、css、images和json。表1为一种典型的复杂交互界面需要下载的内容组成表。
内容 | html | j avascript | css | images | json |
大小(单位:kB) | 1 | 100 | 22 | 25 | 1 |
表1
在不增加网络带宽,并且不使用任何加速技术控制静态资源的大小和数量的情况下,表1所示的复杂交互界面中的各项内容及其下载时间可以列为表2。
内容 | 大小(单位:kB) | 下载时间(单位:秒) |
html | 1 | 0.1 |
javascript | 100 | 2 |
css | 22 | 0.5 |
images | 25 | 1 |
json | 1 | 1.5 |
总共 | 149 | 5.1 |
表2
利用现有技术的方法二进行加速,在不增加网络带宽的情况下,采用文件合并下载技术,将表1所示的复杂交互界面中的多个javascript文件合并成一个javascript文件,再采用文件压缩技术,将合并后的一个javascript文件以及表1所示的复杂交互界面中的html和images进行压缩,从而控制需要下载的静态资源的大小和数量,达到提高下载速度、提升用户体验的目的。通过以上的合并和压缩技术的结合实现加速后,表1所示的复杂交互界面中的各项内容及其下载时间可以列为表3。
内容 | 大小(单位:kB) | 下载时间(单位:秒) |
html | 0.8 | 0.1 |
javascript | 48 | 1 |
css | 22 | 0.4 |
images | 20 | 0.8 |
json | 1 | 1.5 |
总共 | 91.8 | 3.8 |
表3
对比表2和表3可以看出,通过对javascript文件的合并和压缩,以及对html和images进行压缩,使原来需要花费5.1秒下载149kB内容才能实现的服务,只需花费3.8秒下载91.8kB内容即可完成,从而缩短了下载的时间,提升了用户体验。
在带宽一定的情况下,现有技术控制需要下载的静态资源的大小和数量,需要综合运用以上所述的合并、压缩等多种技术,才能使用户感受到下载时间的缩短,从而在一定程度上提升SaaS的用户体验。但是,综合运用多种控制静态资源的大小和数量的技术,大大增加了SaaS应用的技术难度,并且当用户使用SaaS服务的时间比较长时,SaaS应用的加速效果不再明显。
此外,如果采用增加服务运营商和用户的网络带宽的方案,就意味着增加服务运营商的运营成本以及用户的使用成本,这样无疑增大了SaaS应用的推广难度。
发明内容
本发明提出了一种加速实现软件运营应用的方法,能够在不必增加网络带宽并且不必控制静态资源的大小和数量的情况下,大大缩短SaaS应用中用户的下载时间,提高用户的体验。
本发明还提供了一种实现软件运营应用的装置,能够在不必增加网络带宽并且不必控制静态资源的大小和数量的情况下,大大缩短SaaS应用中用户的下载时间,提高用户的体验。
为了达到上述目的,本发明的技术方案是这样实现的:
一种加速实现软件运营SaaS应用的方法,在SaaS应用网站部署有检测程序,该方法包括以下步骤:
服务端重构SaaS应用网络产品,打出应用包和air包,并向SaaS应用网站发布所述应用包和air包,SaaS应用网站运行应用包;
当客户端访问SaaS应用网站时,SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包;如果客户端没有安装最新版本的air包,则SaaS应用网站根据部署的检测程序向客户端传送所述air包,客户端安装所述air包;
检测程序启动客户端的air包,客户端利用air包与服务端交互业务数据。
当客户端访问SaaS应用网站时,在SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包之前,该方法进一步包括:
SaaS应用网站根据部署的检测程序检测客户端是否安装了air运行环境文件,如果客户端没有安装air运行环境文件,则SaaS应用网站根据部署的检测程序向客户端传送air运行环境文件,客户端安装air运行环境文件。
在服务端重构SaaS应用网络产品,打出应用包和air包之后,并且在向SaaS应用网站发布所述应用包和air包之前,该方法进一步包括:
服务端制作版本配置文件,其中,所述版本配置文件包括最新的air包的版本号和可下载air包的路径;
然后,将版本配置文件与所述应用包和air包一起发布到SaaS应用网站;
所述当客户端访问SaaS应用网站时,SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包的方法包括:所述检测程序将客户端已安装的air包的版本号与所述版本配置文件中最新的air包的版本号作对比,来判断客户端已安装的air包是否为最新版本的air包;
所述SaaS应用网站根据部署的检测程序向客户端传送所述air包的方法包括:SaaS应用网站根据部署的检测程序根据版本配置文件中的可下载air包的路径,向客户端传送所述air包;
和/或,
所述版本配置文件进一步采用扩展标记语言xml格式。
服务端重构SaaS应用网络产品,打出应用包和air包之后,并在向SaaS应用网站发布所述应用包和air包之前,该方法进一步包括:服务端对所述air包进行代码签名。
所述如果客户端没有安装最新版本的air包,则在SaaS应用网站根据部署的检测程序向客户端传送所述air包之前,该方法进一步包括:检测程序采用可进行点击操作的flash动画的形式,提示用户需要安装最新版本的air包,用户通过点击flash动画上的按钮,决定SaaS应用网站根据部署的检测程序是否向客户端传送所述air包。
所述服务端重构SaaS应用网络产品、打出应用包和air包的方法为:服务端利用ant脚本,将所述SaaS应用网络产品拆分为各种资源文件,然后利用打包平台,将拆分出的各种资源文件进行打包,从而打出应用包和air包。
一种加速实现软件运营应用的装置,其特征在于,该装置包括:
SaaS服务提供模块:用于向打包模块提供SaaS应用网络产品,制作并向SaaS应用网站模块提供检测程序;
打包模块:用于重构SaaS服务提供模块提供的SaaS应用网络产品,打出应用包和air包,向SaaS应用网站模块传送应用包和air包;
SaaS应用网站模块:用于部署打包模块所打出的应用包,接收并存储打包模块所打出的air包,存储SaaS服务提供模块所制作的检测程序,根据部署的检测程序,检测客户端模块是否安装了最新版本的air包,向客户端模块传送air包;
客户端模块:用于从SaaS应用网站模块接收并安装air包。
所述打包模块进一步用于制作版本配置文件,并用于向SaaS应用网站模块传送所述版本配置文件;
所述SaaS应用网站模块进一步用于接收并存储打包模块所制作的版本配置文件;
所述版本配置文件包括最新的air包的版本号和可下载air包的路径;
所述SaaS应用网站模块根据部署的检测程序,将所述客户端模块已安装的air包的版本号与所述版本配置文件中最新的air包的版本号作对比,来检测客户端模块是否安装了最新版本的air包;
所述SaaS应用网站模块根据所述版本配置文件中可下载air包的路径,向所述客户端模块传送air包;
和/或,
所述版本配置文件进一步采用xml格式。
所述SaaS应用网站模块进一步用于根据所部署的检测程序检测客户端模块是否安装了air运行环境文件,并用于向客户端模块传送air运行环境文件;
所述客户端模块进一步用于从SaaS应用网站模块接收并安装air运行环境文件。
所述打包模块中有ant脚本,用于重构SaaS服务提供模块提供的SaaS应用网络产品;
所述打包模块中有打包平台,用于打出应用包和air包;
和/或,
所述打包模块进一步用于对打出的air包进行代码签名处理。
由于本发明重构了SaaS应用网络产品,并打出了应用包和air包部署到SaaS应用网站,从而能使客户端能从SaaS应用网站自动下载更新air运行环境文件和air包,这样,当使用所述客户端的用户需要使用SaaS应用网络产品时,SaaS应用网络产品的air包已经存在于所述客户端的本地了,用户在使用SaaS服务时,只需与服务端交互业务数据即可,因此,本发明能在不需增加网络带宽并且不必控制静态资源的大小和数量的情况下,缩短SaaS应用的网络下载时间,使用户获得明显的加速体验。
附图说明
图1为本发明实施例中实现SaaS应用的方法的流程图;
图2为本发明实施例中重构SaaS应用网络产品打出应用包和air包的方法的示意图;
图3为本发明实施例中实现SaaS应用的装置图。
具体实施方式
本发明提出了一种加速实现软件运营SaaS应用的方法,在SaaS应用网站部署有检测程序,该方法包括以下步骤:服务端重构SaaS应用网络产品,打出应用包和air包,并向SaaS应用网站发布所述应用包和air包,SaaS应用网站运行应用包;当客户端访问SaaS应用网站时,SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包;如果客户端没有安装最新版本的air包,则SaaS应用网站根据部署的检测程序向客户端传送所述air包,客户端安装所述air包;检测程序启动客户端的air包,客户端利用air包与服务端交互业务数据。
本发明还提出了一种加速实现软件运营应用的装置,该装置包括:SaaS服务提供模块:用于向打包模块提供SaaS应用网络产品,制作并向SaaS应用网站模块提供检测程序;打包模块:用于重构SaaS服务提供模块提供的SaaS应用网络产品,打出应用包和air包,向SaaS应用网站模块传送应用包和air包;SaaS应用网站模块:用于部署打包模块所打出的应用包,接收并存储打包模块所打出的air包,存储SaaS服务提供模块所制作的检测程序,根据部署的检测程序,检测客户端模块是否安装了最新版本的air包,向客户端模块传送air包;客户端模块:用于从SaaS应用网站模块接收并安装air包。
本发明的技术方案,当使用所述客户端的用户需要使用SaaS应用网络产品时,SaaS应用网络产品的air包已经存在于所述客户端的本地了,因而本发明能够在不必增加网络带宽并且不必控制静态资源的大小和数量的情况下,大大缩短SaaS应用中用户的下载时间,从而提高用户的体验。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明采用air(adobe integrated runtime)技术来加速下载,从而提升SaaS应用中的用户体验。air技术是一个跨操作系统的运行时,它利用现有的网络开发技术,如Flash技术、html技术、javascript技术等,来构建具有高度互动性、丰富用户体验和强大功能的客户端,从而极大地提升SaaS应用中的用户体验。
air技术具有本地运行、跨操作系统和易分发的特性。其中,本地运行特性是指air技术中所传输的air包类似桌面应用程序,反应速度快,使用方便;跨操作系统的特性是指不同的计算机操作系统中都有对应的虚拟机支持air技术,air技术可以应用于不同的操作系统,在开发和使用中不必考虑跨操作系统的问题,从而节省了时间,方便了用户;易分发特性是指air技术中所传输的air包可以通过各种途径分发给用户安装,进而实现自动更新。
本发明实施例是在用户根据实际需要租赁了SaaS软件服务、服务端搭建了SaaS应用的网络基础的前提下,实现SaaS应用。这里,SaaS应用的网络基础是指由SaaS服务商和用户的计算机所组成的网络,该计算机网络中,用户计算机作为客户端,可以与作为服务端的SaaS服务商的计算机进行数据的交互,这是SaaS应用所需要的硬件操作平台。这部分前提与现有的SaaS应用的服务实现模式相同,不再复述。
图1为本发明实施例中实现SaaS应用的方法的流程图。如图1所示,本发明中利用air技术提高SaaS应用中用户下载速度的流程如下:
步骤101:服务端在SaaS应用网站部署检测程序。
这里,检测程序由服务端制作,它有三个用途:第一,用于检测客户端是否安装了air运行环境文件,即是否安装了与客户端操作系统相应的air虚拟机;第二,用于检测客户端是否安装了最新版本的air包;第三,自动启动客户端的最新版本的air包。在后续会进一步详细说明检测程序的功能。
检测程序部署在SaaS应用网站,当某客户端访问SaaS应用网站时,SaaS应用网站上的检测程序将依次检测该客户端是否安装了air运行环境文件和最新版本的air包。
步骤102:服务端重构SaaS应用网络产品,打出应用包和air包。
这里,SaaS应用网络产品是指服务端要提供给用户的SaaS服务,如表1所示的复杂交互界面即是一种SaaS应用网络产品。应用包指的是现有网络产品的安装部署压缩包文件,它被部署在SaaS应用网站上运行,是SaaS应用网站的外围应用程序。air包是一种压缩文件,其内容包括表1所示的html、javascript、css和images等脚本文件和图形文件。本发明利用air包的易分发特性,方便地将air包从SaaS应用网站部署到客户端,并进行安装。
图2为本发明实施例中重构SaaS应用网络产品打出应用包和air包的方法的示意图。如图2所示,图1中步骤102服务器重构SaaS应用网络产品、打出应用包和air包的方法为:利用ant脚本从SaaS应用网络产品中拆分出各种资源文件,这些资源文件按照内容,可以被打成应用包和air包中的一种;然后利用编程实现的打包平台,将资源文件按照内容分别打成应用包和air包。
这里,ant脚本是一种自动化的脚本引擎,它具有自动化的特性,利用ant脚本可以方便地从SaaS应用网络产品中拆分出各种资源文件。利用ant脚本将SaaS应用网络产品拆分为各种资源文件以及利用打包平台将资源文件按照内容分别打成应用包和air包的技术手段属于现有技术,其具体过程在本发明中不做赘述。
步骤103:服务端制作版本配置文件。
这里,版本配置文件的内容包括最新的air包的版本号和可下载air包的路径。其中,最新的air包的版本号用于与客户端已安装的air包的版本号作对比,如果客户端已安装的air包的版本号与最新的air包的版本号不同,那么客户端就需要从SaaS应用网站下载最新版本的air包,从而使客户端的air包得到更新;如果客户端已安装的air包的版本号与最新的air包的版本号相同,那么客户端的air包就不必更新。当客户端已安装的air包的版本号与最新的air包的版本号不同时,可以根据版本配置文件指定的可下载air包的路径来下载最新版本的air包,从而实现客户端的air包的更新。
步骤104:服务端向SaaS应用网站发布应用包、air包和版本配置文件。
本步骤中,将步骤102中打出的应用包、air包,以及步骤103中制作的版本配置文件,同时以上传的形式发布到SaaS应用网站上,其中,应用包在SaaS应用网站运行,air包供用户下载,版本配置文件供部署在SaaS应用网站上的检测程序查询。
步骤105:当客户端访问SaaS应用网站时,SaaS应用网站根据部署的检测程序检测客户端。
这里,由于检测程序部署在SaaS应用网站上,因此,当客户端访问SaaS应用网站时,检测程序可以自动检测客户端,检测内容为依次自动检测客户端是否安装了air运行环境文件和客户端是否安装了最新版本的air包。
步骤106:SaaS应用网站根据部署的检测程序检测客户端是否安装了air运行环境文件,是则执行步骤108,否则先执行步骤107,再执行步骤108。
步骤107:SaaS应用网站根据部署的检测程序向客户端传送air运行环境文件,客户端安装air运行环境文件。
步骤108:SaaS应用网站根据部署的检测程序查询版本配置文件。
在客户端安装了air运行环境文件之后,SaaS应用网站根据部署的检测程序查询安装在SaaS应用网站上的版本配置文件,获得最新的air包的版本号和可下载air包的路径,最新的air包的版本号用于帮助检测程序检测客户端是否安装了最新版本的air包,可下载air包的路径用于帮助检测程序将air包传送到客户端。
步骤109:SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包,是则执行步骤111,否则先执行步骤110,再执行步骤111。
SaaS应用网站根据部署的检测程序将客户端已安装的air包的版本号与最新的air包的版本号作对比,如果二者相同,表示客户端已安装的air包是最新版本的air包,客户端的air包不必更新,直接执行步骤111;如果二者不同,表示客户端已安装的air包不是最新版本的air包,客户端的air包需要更新,则先执行步骤110,再执行步骤111。
步骤110:SaaS应用网站根据部署的检测程序向客户端传送最新版本的air包,客户端安装最新版本的air包。
SaaS应用网站根据部署的检测程序根据可下载air包的路径,向客户端传送最新版本的air包;传送完成后,客户端安装并运行该最新版本的air包。
步骤111:检测程序提示用户更新完成,并启动客户端的air包。
这里,检测程序提示用户更新完成,意味着最新版本的air包已下载到客户端本地,成为客户端本地的桌面应用程序,然后,检测程序启动客户端的air包,供执行步骤112时使用。
步骤112:客户端利用air包与服务端交互业务数据。
这里,客户端利用air包与服务端进行通信,通信的内容为各种动态的业务数据。客户端和应用端之间业务数据的交互完成之后,SaaS应用就完整地实现了。
由于步骤111执行完毕之后,步骤102中重构SaaS应用网络产品所打出的air包已经下载到客户端,用户体验SaaS服务、即执行步骤112时只需要与服务端交互业务数据即可,无需再次下载air包,因此,本发明使SaaS应用中数据下载的时间明显地缩短,用户体验有效的得到提升。
进一步地,考虑到用户的使用感受,检测程序采用可进行点击操作的flash动画的形式,这样检测程序运行时用户与计算机之间可以进行互动,从而可以更有效地提升SaaS服务的用户体验。
检测程序采用可进行点击操作的flash动画的一个具体实施例是提示用户在air加速实现SaaS应用和不加速实现SaaS应用之间进行选择,具体工作流程如下:在执行步骤109的检测结果为否时,在执行步骤110之前,检测程序以可点击的flash动画的形式提示用户需要安装最新版本的air包,用户可以在flash动画上的“安装”或“以后安装”两个选项中作出选择,如果用户点击“安装”选项,则自动执行步骤110;如果用户点击“以后安装”选项,则检测程序停止工作,这时,如果用户想要体验表1所示的复杂交互界面这种SaaS服务,只能采取不加速的方式进行,需要下载的各项内容和下载时间如表2所示。
检测程序的另一个实施例如下:在执行步骤111时,检测程序以flash动画的形式提示用户更新完成,flash动画的内容为:祝贺您air应用程序更新完成,您现在可以便捷地访问网络!
进一步地,为了使SaaS服务具有防抵赖功能,在图1的步骤102中,进一步对打出的air包进行代码签名处理,即对air包进行电子签名处理。
较佳地,本发明中的版本配置文件采用扩展标记语言(xml,extensible markup language)格式,以方便网络上不同计算机之间数据的读写。xml是是一种简单的数据存储语言,使用一系列简单的标记描述数据,其最突出的特点就是它极其简单,这使其易于在任何应用程序中读写数据,因此xml是数据交换的唯一公共语言,可以应用于目前已有的所有操作系统。
举例来说,如果最新版本的air包的版本号为1.0,可下载air包的路径为http://www.wecoo.com/updates/fair_1.1.air,则版本配置文件的内容如下:
<?xml version=″1.0″encoding=″utf-8″?>
.............
<version>1.1</version>
<url>http://www.wecoo.com/updates/fair_1.1.air</url>
........
基于上述实施例,给出本发明中的一种实现SaaS应用的装置,图3为本发明实施例中实现SaaS应用的装置图。如图3所示,本发明提供的实现SaaS应用的装置包括:
SaaS服务提供模块301:用于向打包模块提供SaaS应用网络产品,制作并向SaaS应用网站模块提供检测程序;
打包模块302:用于重构SaaS服务提供模块提供的SaaS应用网络产品,打出应用包和air包,制作版本配置文件,向SaaS应用网站模块传送应用包、air包和版本配置文件;
SaaS应用网站模块303:用于部署打包模块所打出的应用包,接收并存储打包模块所打出的air包和版本配置文件,存储SaaS服务提供模块所制作的检测程序,检测客户端模块是否安装了air运行环境文件或最新版本的air包,向客户端模块传送air运行环境文件或air包;
客户端模块304:用于从SaaS应用网站模块接收并安装air运行环境文件或air包;体验SaaS应用。
其中,打包模块302中有ant脚本,用于重构SaaS服务提供模块301提供的SaaS应用网络产品;打包模块302中有打包平台,用于打出应用包和air包。
版本配置文件的内容包括最新的air包的版本号和可下载air包的路径。版本配置文件进一步采用xml格式,以方便网络上不同计算机之间数据的读写。
在本发明给出的实现软件运营的装置的一个具体实施例中,该装置实现软件运营的过程如下:
SaaS服务提供模块301制作出检测程序,并部署在SaaS应用网站模块303;
打包模块302利用ant脚本,从SaaS服务提供模块301提供的SaaS应用网络产品中拆分出各种资源文件,这些资源文件按照内容可以被打包模块302打成应用包和air包中的一种,这样就实现了对SaaS应用网络产品的重构,重构完成后,打包模块302中的打包平台将资源文件按照内容分别打成应用包和air包,再制作版本配置文件,版本配置文件的内容包括最新的air包的版本号和可下载air包的路径;
SaaS应用网站模块303接收并存储打包模块302打出的应用包、air包以及制作的版本配置文件;
客户端模块304访问SaaS应用网站模块303时,SaaS应用网站模块303上的检测程序检测客户端模块304是否安装了air运行环境文件,如果客户端模块304安装了air运行环境文件,则检测程序查询SaaS应用网站模块303上的版本配置文件,如果客户端模块304尚未安装air运行环境文件,则检测程序先向客户端模块304传送air运行环境文件,当客户端模块304安装air运行环境文件之后,再查询SaaS应用网站模块303上的版本配置文件;
检测程序查询SaaS应用网站模块303上的版本配置文件,获得最新的air包的版本号和可下载air包的路径;
检测程序将最新的air包的版本号与客户端模块304已安装的air包的版本号作对比,如果二者相同,则检测程序提示用户更新完成,如果二者不同,则检测程序先向客户端模块304传送air包,在客户端模块304安装air包之后,检测程序再提示用户更新完成。
这样,当使用客户端模块304的用户需要下载SaaS应用网络产品时,SaaS应用网络产品的air包已经存在于客户端模块了,用户只需要利用客户端模块304与SaaS应用网站模块303交互各种动态的业务数据,即可获得SaaS应用的体验。
进一步地,考虑到用户的使用感受,检测程序采用可进行点击操作的flash动画的形式,这样用户可以与计算机进行互动,从而进一步提升用户体验。
较佳地,打包模块302打出的air包进行了代码签名处理,即对air包进行了电子签名处理,从而使SaaS服务具有防抵赖功能。
以表1所示的典型的复杂交互界面为例,当应用本发明提供的方法或装置实现SaaS应用之后,表1中的html、javascript、css和images已被下载安装到用户的客户端或客户端模块,可以作为桌面应用程序加以使用,这样用户在进行SaaS应用体验时,表1中的各项内容及其下载时间可以列为表4。
内容 | 大小(单位:kB) | 下载时间(单位:秒) |
html | 0 | 0 |
javascript | 0 | 0 |
css | 0 | 0 |
images | 0 | 0 |
json | 1 | 1.5 |
总共 | 1 | 1.5 |
表4
由表4可以看出,应用本发明提供的方法或装置实现SaaS应用之后,用户仅需下载表1所示的json格式的业务数据即可体验SaaS服务,下载的数据量只有1kB,远小于表2中的149kB和表3中的91.8kB,下载时间仅为1.5秒,也明显少于表2中的5.1秒和表3中的3.8秒,可见,本发明有效地缩短了SaaS应用的下载时间,提升了用户体验。
由此可以看出,本发明具有以下优点:
(1)本发明中,重构了SaaS应用网络产品,并打出了应用包和air包部署到SaaS应用网站,从而能使客户端能从SaaS应用网站自动下载更新air运行环境文件和air包,因此,用户在使用SaaS服务时,不需增加网络带宽并且不必控制静态资源的大小和数量,即可缩短网络的下载时间,获得明显的加速体验。
(2)由于本发明在无需增加SaaS服务商和用户网络带宽的情况下即可使用户获得加速的SaaS应用用户体验,因此,相对于现有技术,本发明可以降低SaaS服务商的运营成本和SaaS用户的使用成本,从而维护了SaaS服务商和用户的利益。
(3)由于应用本发明的客户端能自动更新air运行环境文件和air包,从而实现SaaS应用,因此,本发明可以帮助网络基础设施较差的用户有效地体验加速的SaaS服务。
(4)本发明中,由于air包进行了代码签名处理,因此应用本发明的SaaS服务具有良好的防抵赖功能。
(5)本发明中,由于检测程序采用了可进行点击操作的flash动画的形式,使用户可以与计算机进行互动,因此,应用本发明的SaaS服务具有良好的用户互动特性,用户可以获得更多更好的用户体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种加速实现软件运营SaaS应用的方法,其特征在于,在SaaS应用网站部署有检测程序,该方法包括以下步骤:
服务端重构SaaS应用网络产品,打出应用包和air包,并向SaaS应用网站发布所述应用包和air包,SaaS应用网站运行应用包;
当客户端访问SaaS应用网站时,SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包;如果客户端没有安装最新版本的air包,则SaaS应用网站根据部署的检测程序向客户端传送所述air包,客户端安装所述air包;
检测程序启动客户端的air包,客户端利用air包与服务端交互业务数据。
2.根据权利要求1所述的方法,其特征在于,当客户端访问SaaS应用网站时,在SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包之前,该方法进一步包括:
SaaS应用网站根据部署的检测程序检测客户端是否安装了air运行环境文件,如果客户端没有安装air运行环境文件,则SaaS应用网站根据部署的检测程序向客户端传送air运行环境文件,客户端安装air运行环境文件。
3.根据权利要求1或2所述的方法,其特征在于,
在服务端重构SaaS应用网络产品,打出应用包和air包之后,并且在向SaaS应用网站发布所述应用包和air包之前,该方法进一步包括:
服务端制作版本配置文件,其中,所述版本配置文件包括最新的air包的版本号和可下载air包的路径;
然后,将版本配置文件与所述应用包和air包一起发布到SaaS应用网站;
所述当客户端访问SaaS应用网站时,SaaS应用网站根据部署的检测程序检测客户端是否安装了最新版本的air包的方法包括:所述检测程序将客户端已安装的air包的版本号与所述版本配置文件中最新的air包的版本号作对比,来判断客户端已安装的air包是否为最新版本的air包;
所述SaaS应用网站根据部署的检测程序向客户端传送所述air包的方法包括:SaaS应用网站根据部署的检测程序根据版本配置文件中的可下载air包的路径,向客户端传送所述air包;
和/或,
所述版本配置文件进一步采用扩展标记语言xml格式。
4.根据权利要求1所述的方法,其特征在于,服务端重构SaaS应用网络产品,打出应用包和air包之后,并在向SaaS应用网站发布所述应用包和air包之前,该方法进一步包括:服务端对所述air包进行代码签名。
5.根据权利要求1所述的方法,其特征在于,所述如果客户端没有安装最新版本的air包,则在SaaS应用网站根据部署的检测程序向客户端传送所述air包之前,该方法进一步包括:检测程序采用可进行点击操作的flash动画的形式,提示用户需要安装最新版本的air包,用户通过点击flash动画上的按钮,决定SaaS应用网站根据部署的检测程序是否向客户端传送所述air包。
6.根据权利要求1或2所述的方法,其特征在于,所述服务端重构SaaS应用网络产品、打出应用包和air包的方法为:服务端利用ant脚本,将所述SaaS应用网络产品拆分为各种资源文件,然后利用打包平台,将拆分出的各种资源文件进行打包,从而打出应用包和air包。
7.一种加速实现软件运营应用的装置,其特征在于,该装置包括:
SaaS服务提供模块:用于向打包模块提供SaaS应用网络产品,制作并向SaaS应用网站模块提供检测程序;
打包模块:用于重构SaaS服务提供模块提供的SaaS应用网络产品,打出应用包和air包,向SaaS应用网站模块传送应用包和air包;
SaaS应用网站模块:用于部署打包模块所打出的应用包,接收并存储打包模块所打出的air包,存储SaaS服务提供模块所制作的检测程序,根据部署的检测程序,检测客户端模块是否安装了最新版本的air包,向客户端模块传送air包;
客户端模块:用于从SaaS应用网站模块接收并安装air包。
8.根据权利要求7所述的装置,其特征在于,所述打包模块进一步用于制作版本配置文件,并用于向SaaS应用网站模块传送所述版本配置文件;
所述SaaS应用网站模块进一步用于接收并存储打包模块所制作的版本配置文件;
所述版本配置文件包括最新的air包的版本号和可下载air包的路径;
所述SaaS应用网站模块根据部署的检测程序,将所述客户端模块已安装的air包的版本号与所述版本配置文件中最新的air包的版本号作对比,来检测客户端模块是否安装了最新版本的air包;
所述SaaS应用网站模块根据所述版本配置文件中可下载air包的路径,向所述客户端模块传送air包;
和/或,
所述版本配置文件进一步采用xml格式。
9.根据权利要求7或8所述的装置,其特征在于,所述SaaS应用网站模块进一步用于根据所部署的检测程序检测客户端模块是否安装了air运行环境文件,并用于向客户端模块传送air运行环境文件;
所述客户端模块进一步用于从SaaS应用网站模块接收并安装air运行环境文件。
10.根据权利要求7所述的装置,其特征在于,所述打包模块中有ant脚本,用于重构SaaS服务提供模块提供的SaaS应用网络产品;
所述打包模块中有打包平台,用于打出应用包和air包;
和/或,
所述打包模块进一步用于对打出的air包进行代码签名处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102386744A CN101729600B (zh) | 2009-11-30 | 2009-11-30 | 一种加速实现软件运营应用的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102386744A CN101729600B (zh) | 2009-11-30 | 2009-11-30 | 一种加速实现软件运营应用的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729600A true CN101729600A (zh) | 2010-06-09 |
CN101729600B CN101729600B (zh) | 2012-11-28 |
Family
ID=42449791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102386744A Expired - Fee Related CN101729600B (zh) | 2009-11-30 | 2009-11-30 | 一种加速实现软件运营应用的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729600B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501324A (zh) * | 2013-09-26 | 2014-01-08 | 小米科技有限责任公司 | 主题打包方法、装置和服务器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100557567C (zh) * | 2007-12-21 | 2009-11-04 | 深圳市迅雷网络技术有限公司 | 一种软件版本更新提示的方法、系统及装置 |
CN101388911B (zh) * | 2008-11-07 | 2011-09-14 | 用友软件股份有限公司 | 网络应用程序离线数据采集方法 |
CN101551819B (zh) * | 2009-04-30 | 2011-12-07 | 用友软件股份有限公司 | 渲染大型Web页面的方法 |
-
2009
- 2009-11-30 CN CN2009102386744A patent/CN101729600B/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501324A (zh) * | 2013-09-26 | 2014-01-08 | 小米科技有限责任公司 | 主题打包方法、装置和服务器 |
CN103501324B (zh) * | 2013-09-26 | 2017-02-22 | 小米科技有限责任公司 | 主题打包方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN101729600B (zh) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6797877B2 (ja) | ウェブアプリケーションを実施する方法、装置、サーバ、及びシステム | |
CN105389222B (zh) | 一种动态调用原生接口的方法、装置和系统 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
CN102523268B (zh) | 一种客户端升级方法和系统 | |
CN103150513B (zh) | 拦截应用程序中的植入信息的方法及装置 | |
CN101902439B (zh) | 更新客户端上业务服务器信息的方法、系统和装置 | |
CN100421072C (zh) | 实现软件升级的方法 | |
CN105511889A (zh) | 一种通用的游戏版本增量更新系统和方法 | |
CN105224363A (zh) | 一种加载应用程序的方法及装置 | |
CN105657191A (zh) | 一种基于Android系统的应用增量升级方法及系统 | |
CN106406961A (zh) | 一种基于浏览器加载、提供应用程序的方法、装置 | |
WO2013185016A1 (en) | Method and device for publishing and implementing wireless application | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
US20110225563A1 (en) | System for accessing and sharing user defined contents and method of the same | |
CN102571860A (zh) | 一种管理插件的方法、装置及系统 | |
CN102970342A (zh) | 一种基于ota 技术的嵌入式终端自动升级方法 | |
CN104219295A (zh) | 基于服务器端配置的移动设备的信息展示方法及系统 | |
CN106293847A (zh) | 一种虚拟化平台服务支撑的方法 | |
CN107193565B (zh) | 跨移动端开发原生app的方法 | |
CN109240733A (zh) | 一种基于安卓系统更新广告sdk的方法及终端 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN103561082B (zh) | 压缩请求的处理方法及服务器 | |
CN101876998B (zh) | 一种实现数据编辑的方法和系统 | |
CN113220339A (zh) | 一种页面生成方法和装置 | |
EP2482570A1 (en) | Brew service download system and implementing method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee |
Owner name: YONYOU NETWORK TECHNOLOGY CO., LTD. Free format text: FORMER NAME: UFIDA SOFTWARE CO., LTD. |
|
CP03 | Change of name, title or address |
Address after: 100094 Haidian District North Road, Beijing, No. 68 Patentee after: Yonyou Network Technology Co., Ltd. Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park Patentee before: UFIDA Software Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121128 Termination date: 20181130 |