专利名称:移动终端上运行html5应用程序的方法及设备的制作方法
技术领域:
本发明计算机网络技术领域,尤其涉及一种移动终端上运行HTML5应用程序的方法及设备。
背景技术:
与HTML4相比,HTML5强化了 Web网页的表现性能。例如可以绘制二维图形(如用于绘画的canvas元素),还准备了媒介回放的标签(如video和audio元素)。此外,HTML5具有一定的访问本地数据库的能力,对本地离线存储具有更好的支持,因此使用HTML5技术开发应用程序变得可行,其应用范围也更为广泛。HTML5应用程序中关键的部分是使用HTML5技术开发的脚本程序以及该脚本程序 运行过程中调用的多媒体文件,当在终端获得所述HTML5程序时,具体而言该终端会获得所述脚本程序的代码明文和所述多媒体文件,因此运行所述HTML5应用程序的环境中应支持能够解释脚本程序的代码,以及所述多媒体文件的解码。一方面,所述代码明文安全性差,很轻易地就泄露出代码设计的技术方案,容易被复制和转用;另一方面,所述多媒体文件的解码需要其他解码库或解码硬件的支持,对于HTML5应用程序的运行效率有所影响。所述脚本程序的代码明文在运行时通常先编译为字节码后再执行。因此通常终端获取该脚本程序后有一个在内存中编译的过程,对于一些计算资源有限的终端,例如移动终端,该编译的过程会使所述脚本程序的运行准备时间变长,效率降低。
发明内容
本发明的目的在于提供一种方法和设备,通过将HTML5应用程序编译为字节码格式文件以后再发送给客户端运行。为达到上述目的,本发明提供了一种移动终端上运行HTML5应用程序的方法,其特征在于,该方法包括
在服务器中,将所述HTML5应用程序编译为字节码格式文件;
所述服务器将所述字节码格式文件发送至移动终端;
所述移动终端识别并运行该字节码格式文件。相应地,本发明提供了一种服务器,该服务器包括
编译模块,用于将HTML5应用程序编译为字节码格式文件;
发送模块,用于将所述字节码格式文件发送给移动终端。本发明还提供了一种客户端,该客户端包括
程序运行模块,用于接收HTML5应用程序编译成的字节码格式文件,然后识别并运行该字节码格式文件。本发明提供的移动终端上运行HTML5应用程序的方法及设备,通过在服务器端将HTML5应用程序编译为字节码格式文件后发送至移动终端运行,省去了该HTML5应用程序在所述移动终端中编译的步骤,提高了该HTML5应用程序的执行速度;所述字节码格式文件不是明文文档,因此加密了所述HTML5应用程序的源代码,防止该源代码被直接复制或转用,提高了 HTML5应用程序的安全性和保密性。
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显
图I是根据本发明的移动终端上运行HTML5应用程序的方法的一种具体实施方式
的流程 图2是根据本发明的移动终端上运行HTML5应用程序的方法的一种优选具体实施方式
的流程 图3是根据本发明的服务器的一种具体实施方式
的结构示意图;
图4是根据本发明的客户端的一种具体实施方式
的结构示意 图5是图3示出的服务器与图4示出的客户端结合使用的使用状态参考示意图。 附图中相同或相似的附图标记代表相同或相似的部件。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作详细描述。请参考图1,图I是根据本发明的移动终端上运行HTML5应用程序的方法的一种具体实施方式
的流程图,该方法包括
步骤S101,在服务器中,将所述HTML5应用程序编译为字节码格式文件;
具体地,一些实施例中,所述HTML5应用程序指的是的脚本程序,该脚本程序使用HTML5提供的元素实现离线应用、音视频播放、二维图形绘制等功能,步骤SlOl中只将所述脚本程序的代码编译为字节码格式文件;在另一些实施例中,所述HTML5应用程序指的是上述脚本程序以及该脚本程序运行过程中调用的多媒体文件(例如BMP格式的图片图像文件、WAV格式的声音文件以及常见格式的视频文件),步骤SlOl中不仅将所述脚本程序的代码编译为字节码格式文件,还将所述多媒体文件编译为字节码格式文件。通常所述脚本程序代码都可编译为特定的字节码格式文件,因为所述脚本程序在真正运行时一般都是先编译为字节码,然后在内存中执行的,如果预先对该脚本程序执行编译生成字节码格式文件,则在运行时就无需再次编译,直接运行该生成的字节码格式文件即可。直接运行所述字节码格式文件的好处是第一,在执行时免去了对所述脚本程序进行变异的过程,可以提高所述脚本程序的执行速度;第二,由于客户端在运行所述脚本程序时获得的并非是所述脚本程序的代码明文,而是根据所述脚本程序编译所得的字节码格式文件,这样实现了对所述脚本程序的代码明文的加密,一般来说,即使对所述字节码格式文件进行反编译,所获得结果也比较难以理解和阅读,因此可以避免所述脚本程序的源代码泄漏。步骤SlOl在服务器端完成,因此服务器向移动终端提供的HTML5应用程序即是所述字节码格式文件。步骤S102,所述服务器将所述字节码格式文件发送至移动终端;具体地,通常移动终端向服务器请求获取所述HTML5应用程序,以所述HTML5应用程序包括所述脚本程序以及该脚本程序运行过程中调用的多媒体文件为例,所述服务器根据所述移动终端的请求将相应的所述脚本程序和多媒体文件编译所得字节码格式文件发送给移动终端。步骤S103,所述移动终端识别并运行该字节码格式文件。具体地,所述移动终端具有识别并运行所述字节码格式文件的能力,在所述移动终端上运行该字节码格式文件所获得的结果与运行所述HTML5应用程序的所获得的结果相同。所述移动终端上可以设置一能够识别并运行所述字节码格式文件的客户端以实现步骤S103的执行。所述字节码格式文件是一种包含执行程序的二进制文件,即所述服务器将HTML5应用程序编译为所述二进制文件,并且所述服务器通常通过无线网络将所述二进制文件发送至移动终端,考虑到移动终端通过无线信号接收数据的特殊性,请参考图2,图2是根据 本发明的移动终端上运行HTML5应用程序的方法的一种优选具体实施方式
的流程图,该方法包括
步骤S201,在服务器中,将使用HTML5技术开发的脚本程序,以及该脚本程序运行过程中调用的多媒体文件编译为二进制文件;
具体地,在本实施例中,所述HTML5应用程序包括使用HTML5技术开发的脚本程序,以及该脚本程序运行过程中调用的多媒体文件,所述服务器将上述脚本程序和多媒体文件编译为二进制文件(例如图I示出的具体实施方式
中的字节码文件)。步骤S202,在该二进制文件中植入序列码;
具体地,所述服务器使用无线网络(例如3G、GSM或者WIFI)传输该二进制文件的至所述移动终端过程中,可能会出现无线信号衰减和中断、无线连接出错等情况,从而导致该二进制文件的传输中断。此时所述服务器和移动终端均不能检测到所述二进制文件传输到哪一部分时传输中断,因此所述移动终端想获取完整的所述二进制文件只能重新请求所述服务器从头传输所述二进制文件。本实施例中,在步骤S202内所述服务器在所述二进制中植入序列码,在该二进制文件的传输过程中若出现传输中断或传输错误,导致部分所述二进制文件未传输至所述移动终端,则根据所述序列码续传该部分所述二进制文件。步骤S203,对该二进制文件进行压缩处理;
具体地,现有的移动终端使用无线网络收发数据具有带宽限制和流量限制,因此在满足应用需求的情况下,希望移动终端收发的数据尽可能地体积小。步骤S203中在所述服务器发送所述二进制文件之前,先对该二进制文件进行压缩处理,以减小其文件体积,从而减少该二进制文件的传输时间和传输流量占用。所述压缩处理可以常用常见的对二进制文件进行压缩处理的方法,例如哈夫曼树法或三元组法。步骤S204,对该二进制文件进行加密处理;
具体地,为了安全性和保密性着想,可以在所述服务器发送所述二进制文件之前,先对该二进制文件进行加密处理。加密处理的方法可以采用常见的数据加密算法,例如数据加密标准(Data Encryption Standard, DES)、高级加密标准(Advanced EncryptionStandard,AES)或国际数据力口密算法(International Data Encryption Algorithm,IDEA)。
步骤S205,所述服务器将该二进制文件发送至移动终端;
具体地,所述服务器通过无线信号将所述二进制文件发送至所述移动终端,由于无线信号的传输特性,在该二进制文件的传输过程中会出现传输中断或传输错误,导致部分所述二进制文件未传输至所述移动终端。步骤S203中已在该二进制文件中植入序列码,在传输停止后,一方面,所述移动终端可以主动申请续传,具体而言,所述移动终端根据已传输过来的所述二进制文件的部分中携带的序列码,来确定所述二进制文件中尚未发送至所述移动终端的部分,并向服务器请求续传该部分;另一方面,所述服务器可以主动向所述移动终端续传,具体而言,所述服务器记录所述二进制文件传输中断时的序列号,并根据该序列号确定所述二进制文件尚未发送的部分,并将该部分续传给所述移动终端。步骤S206,所述移动终端识别并运行该二进制文件。具体地,步骤S206中所述移动终端已获取完整的所述二进制文件,在步骤S203和步骤S204中,该二进制文件已经进行压缩和加密处理,因此在步骤S206中所述移动终端首先对该二进制文件进行解密处理,然后对该二进制文件进行解压缩处理,最后得到可运行 的二进制文件。需要说明的是,本实施例中步骤S202至步骤S204的顺序可以任意编排,例如先执行步骤S203进行压缩处理,再依次执行步骤S204和步骤S202,即依次进行加密处理和植入序列码。相应地,步骤S206中所述移动终端根据实际情况对收到的二进制文件进行解压缩和解密即可,解压缩和解密的顺序根据步骤S203和步骤S204的顺序决定。接下来请参考图3,图3是根据本发明的服务器100的一种具体实施方式
的结构示意图,该服务器100包括
编译模块110,用于将HTML5应用程序编译为字节码格式文件;
发送模块140,用于将所述字节码格式文件发送给移动终端。具体地,一些实施例中,所述HTML5应用程序指的是的脚本程序,该脚本程序使用HTML5提供的元素实现离线应用、音视频播放、二维图形绘制等功能,编译模块110只将所述脚本程序的代码编译为字节码格式文件;在另一些实施例中,所述HTML5应用程序指的是上述脚本程序以及该脚本程序运行过程中调用的多媒体文件(例如BMP格式的图片图像文件、WAV格式的声音文件以及常见格式的视频文件),编译模块110不仅将所述脚本程序的代码编译为字节码格式文件,还将所述多媒体文件编译为字节码格式文件。若所述HTML5应用程序包括使用HTML5技术开发的脚本程序,以及该脚本程序运行过程中调用的多媒体文件,可选地,针对不同类型的数据,编译模块110具有不同的功能模块对其进行编译处理,编译模块110包括脚本编译单元111和多媒体编译单元112,其中
脚本编译单元111,用于将所述脚本编译为所述字节码格式文件;
多媒体编译单元112,用于将所述多媒体文件编译为所述字节码格式文件。所述字节码格式文件是一种包含执行程序的二进制文件,发送模块140通过无线信号将该二进制文件发送至所述移动终端。通常发送模块140与无线网络(例如3G、GSM或者WIFI)连接,以传输该二进制文件的至所述移动终端,若出现无线信号衰减和中断、无线连接出错等情况,会导致该二进制文件的传输中断。本具体实施方式
中,可选地,编译模块110还包括序列码单元113,用于在所述二进制文件中植入序列码;此外服务器100还包括续传模块150,用于当所述二进制文件发送过程中若出现传输中断或传输错误,并导致部分所述二进制文件未传输至所述移动终端,则根据所述序列码续传该部分所述二进制文件。可选地,为了提高安全性和保密性,服务器100还包括加密模块120,用于在发送模块140发送所述二进制文件之前,先对该二进制文件进行加密处理。加密模块120的加密处理方法可以采用常见的数据加密算法,例如DES、AES或IDEA。可选地,现有的移动终端使用无线网络收发数据具有带宽限制和流量限制,因此在满足应用需求的情况下,希望移动终端收发的数据尽可能地体积小。服务器100还包括压缩模块130,用于在发送模块140发送所述二进制文件之前,先对所述二进制文件进行压缩处理,以减小其文件体积。二进制文件的文件体积减小可以减少该二进制文件的传输时间和传输流量占用。压缩模块130采用的压缩方法可以是常见的二进制文件压缩方法,例如哈夫曼树法或三元组法。需要说明的是,图3中只示出了服务器100的一种内部结构,如图所示,所述二进制文件先由序列码单元113进行植入序列码处理,然后由加密模块120进行加密处理,最后 由压缩模块130进行与压缩处理。在其他一些实施例中,可以任选所述二进制文件进行植入序列码处理、加密处理和压缩处理的先后顺序,例如可以先将所述二进制文件进行压缩和加密,最后进行序列码植入,因此本领域技术人员应当理解服务器100的内部结构可进行相应微调以适应实际的处理流程。请参考图4,图4是根据本发明的客户端200的一种具体实施方式
的结构示意图,该客户端200包括程序运行模块210,用于接收HTML5应用程序编译成的字节码格式文件,然后识别并运行该字节码格式文件。所述HTML5应用程序可以参考图3给出的实施例中相关部分的说明,在此不在赘述。通常客户端200集成在移动终端内。可选地,所述字节码格式文件可能是经过加密处理的二进制文件,因此客户端200还包括解密模块220,用于对该经过加密处理的二进制文件进行解密处理。可选地,由于程序运行模块接收到的字节码格式文件可能经过压缩处理,因此程序运行模块210在收到所述字节码格式文件后首先进行解压缩处理,得到可以直接运行的字节码格式文件。请参考图5,图5是图3示出的服务器100与图4示出的客户端200结合使用的使用状态参考示意图,参考本图便于更清楚地说明两者结合使用的应用场景。其中服务器100和客户端200之间通过无线网络300连接,该无线网络300可以是GSM、3G网络或无线局域网等。客户端200通过无线网络300获得服务器100发送的字节码格式文件(即二进制文件),该字节码格式文件可以由发送模块140发送,也可以在传输过程中出现中断或错误后由续传模块150续传。根据实际实施的需要,所述服务器100的各部分可以实施为在同一物理服务器内,也可以实施在一分布式服务器的系统中,例如实施在集群服务器或服务器矩阵内。服务器100可以为至少一个客户端200提供数据服务,也可以同时为多个客户端200提供数据服务。本发明提供的移动终端上运行HTML5应用程序的方法及设备,通过在服务器端将HTML5应用程序编译为字节码格式文件后发送至移动终端运行,省去了该HTML5应用程序在所述移动终端中编译的步骤,提高了该HTML5应用程序的执行速度;所述字节码格式文件不是明文文档,因此加密了所述HTML5应用程序的源代码,防止该源代码被直接复制或转用,提高了 HTML5应用程序的安全性和保密性;在服务器发送该字节码文件至移动终端之前,对所述字节码格式文件进行压缩以减小其文件体积,从而减少该字节码格式文件的传输时间和传输流量占用,此外还对该字节码格式文件进行加密处理,提高了安全性和保密性。本发明提供的移动终端上运行HTML5应用程序的方法可以使用可编程逻辑器件结合来实现,也可以实施为计算机程序软件,例如根据本发明的实施例可以是一种计算机程序产品,运行该程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现移动终端上运行HTML5应用程序的方法。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可从计算机主体拆卸的可移动介质(例如热拔插技术存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如RAM、R0M、快闪存储器和硬盘。所述可移动介质包括但不限于光存储媒体(例如CD-ROM和DVD)、磁光存储媒体(例如MO)、磁存储媒体(例如盒带或移动硬盘)、具有内置的可重写的非易失性存储器的媒体(例如存储卡)和具有内置ROM的媒体(例如ROM盒)。 以上所揭露的仅为本发明的一些较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1.一种移动终端上运行HTML5应用程序的方法,其特征在于,该方法包括 在服务器中,将所述HTML5应用程序编译为字节码格式文件; 所述服务器将所述字节码格式文件发送至移动终端; 所述移动终端识别并运行该字节码格式文件。
2.根据权利要求I所述的方法,其特征在于,所述HTML5应用程序包括 使用HTML5技术开发的脚本程序;以及 该脚本程序运行过程中调用的多媒体文件。
3.根据权利要求2所述的方法,其特征在于,所述多媒体文件包括 图像文件、声音文件和/或视频文件。
4.根据权利要求I至3任一项所述的方法,其特征在于 所述字节码格式文件是二进制文件。
5.根据权利要求4所述的方法,其特征在于 在该二进制文件中植入序列码; 所述服务器通过无线信号将所述二进制文件发送至所述移动终端; 在该二进制文件的传输过程中若出现传输中断或传输错误,导致部分所述二进制文件未传输至所述移动终端,则根据所述序列码续传该部分所述二进制文件。
6.根据权利要求5所述的方法,其特征在于 所述服务器发送所述二进制文件之前,先对该二进制文件进行压缩处理,以减小其文件体积。
7.根据权利要求5所述的方法,其特征在于 所述服务器发送所述二进制文件之前,先对该二进制文件进行加密处理。
8.一种服务器,其特征在于,该服务器包括 编译模块,用于将HTML5应用程序编译为字节码格式文件; 发送模块,用于将所述字节码格式文件发送给移动终端。
9.根据权利要求8所述的服务器,其特征在于 所述HTML5应用程序包括使用HTML5技术开发的脚本程序,以及该脚本程序运行过程中调用的多媒体文件; 所述编译模块包括 脚本编译单元,用于将所述脚本程序编译为所述字节码格式文件; 多媒体编译单元,用于将所述多媒体文件编译为所述字节码格式文件。
10.根据权利要求9所述的服务器,其特征在于,所述多媒体文件包括 图像文件、声音文件和/或视频文件。
11.根据权利要求9所述的服务器,其特征在于 所述字节码格式文件是二进制文件,所述发送模块通过无线信号将所述二进制文件发送至所述移动终端; 所述编译模块还包括序列码单元,用于在该二进制文件中植入序列码; 所述服务器还包括续传模块,用于当所述二进制文件发送过程中若出现传输中断或传输错误,并导致部分所述二进制文件未传输至所述移动终端,则根据所述序列码续传该部分所述二进制文件。
12.根据权利要求11所述的服务器,其特征在于,所述服务器还包括 压缩模块,用于在所述发送模块发送所述二进制文件之前,先对所述二进制文件进行压缩处理,以减小其文件体积。
13.根据权利要求11所述的服务器,其特征在于,该服务器还包括 加密模块,用于在所述发送模块发送所述二进制文件之前,先对该二进制文件进行加密处理。
14.一种客户端,其特征在于,该客户端包括 程序运行模块,用于接收HTML5应用程序编译成的字节码格式文件,然后识别并运行该字节码格式文件。
15.根据权利要求14所述的客户端,其特征在于 所述字节码格式文件是经过加密处理的二进制文件; 该客户端还包括解密模块,用于对所述经过加密处理的二进制文件进行解密处理。
全文摘要
本发明提供了一种移动终端上运行HTML5应用程序的方法,该方法包括在服务器中,将所述HTML5应用程序编译为字节码格式文件;所述服务器将所述字节码格式文件发送至移动终端;所述移动终端识别并运行该字节码格式文件。相应地,本发明还提供了一种服务器和客户端。本发明提供的移动终端上运行HTML5应用程序的方法及设备,通过在服务器端将HTML5应用程序编译为字节码格式文件后发送至移动终端运行,省去了该HTML5应用程序在所述移动终端中编译的步骤,提高了该HTML5应用程序的执行速度;所述字节码格式文件不是明文文档,因此加密了所述HTML5应用程序的源代码,防止该源代码被直接复制或转用,提高了HTML5应用程序的安全性和保密性。
文档编号G06F9/45GK102779048SQ201110120548
公开日2012年11月14日 申请日期2011年5月10日 优先权日2011年5月10日
发明者赵霏, 黄何 申请人:北京磊友信息科技有限公司