一种Java应用程序的安全加固方法及系统转让专利

申请号 : CN202211029615.8

文献号 : CN115129361B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱贺军于鹏达崔培升

申请人 : 北京亿赛通科技发展有限责任公司

摘要 :

本发明涉及软件安全技术领域,公开了一种Java应用程序的安全加固方法及系统:客户端将硬件码获取工具上传至应用服务器;应用服务器将硬件码字符串返回至客户端;客户端将硬件码字符串和运行时长参数发送至打包服务器;打包服务器对应用进行打包,生成含有加固插件和时长控制文件的应用安装包;打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;加固插件用于在应用运行时对类文件加载的透明解密,并读取指定路径的时长控制文件;客户端将应用安装包安装至应用服务器;应用服务器在对应用进行配置后运行应用。本发明在打包期间对类文件进行加密操作,对类文件动态解密,对破解行为进行监控,支持程序运行时许可时长的动态更新。

权利要求 :

1.一种Java应用程序的安全加固方法,其特征在于,包括如下步骤:

客户端将硬件码获取工具上传至应用服务器;

应用服务器接收并执行所述硬件码获取工具,将获取到的硬件码字符串返回至所述客户端;

客户端将所述硬件码字符串和运行时长参数发送至打包服务器;

打包服务器根据所述硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,所述硬件码字符串作为加密秘钥;所述加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;

客户端下载打包服务器上的Java应用程序安装包,并将Java应用程序安装包安装至应用服务器;

应用服务器在对所述加固插件的路径进行配置和禁用连接到JVM机制后,运行所述Java应用程序;

客户端将Java应用程序的运行时长的更新文件上传至所述应用服务器的指定存储路径下;

所述加固插件读取所述指定存储路径下的运行时长的更新文件,对Java应用程序在应用服务器上运行的时长进行控制更新;对禁用连接到JVM机制的破解行为进行监控,若所述破解行为达到或超过预设阈值,则终止Java应用程序的运行,并阻止该Java应用程序再次启动。

2.根据权利要求1所述的一种Java应用程序的安全加固方法,其特征在于,对类文件进行加密操作的加密算法为AES算法。

3.根据权利要求1所述的一种Java应用程序的安全加固方法,其特征在于,所述硬件码字符串为通过md5算法得到的32位长度的字符串。

4.一种Java应用程序的安全加固方法,其特征在于,所述安全加固方法用于应用服务器,包括如下步骤:接收并执行客户端上传的硬件码获取工具,将获取到的硬件码字符串返回至所述客户端;

接收并安装所述客户端发送的Java应用程序安装包;其中,所述Java应用程序安装包由打包服务器根据所述硬件码字符串和运行时长参数打包生成,打包过程包括对类文件进行加密操作,所述硬件码字符串作为加密秘钥;所述Java应用程序安装包包括加固插件和时长控制文件,所述加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;

对所述加固插件的路径进行配置和禁用连接到JVM机制,并运行所述Java应用程序;接收客户端上传的Java应用程序的运行时长的更新文件,并将其存储在指定存储路径下;

所述加固插件读取所述指定存储路径下的运行时长的更新文件,对Java应用程序在应用服务器上运行的时长进行控制更新,对禁用连接到JVM机制的破解行为进行监控,若所述破解行为达到或超过预设阈值,则终止Java应用程序的运行,并阻止该Java应用程序再次启动。

5.一种Java应用程序的安全加固系统,其特征在于,包括:

客户端,被配置为将硬件码获取工具上传至应用服务器,接收应用服务器返回的硬件码字符串,将硬件码字符串和运行时长参数发送至打包服务器,下载打包服务器上的Java应用程序安装包,将Java应用程序安装包发送至应用服务器;将Java应用程序的运行时长的更新文件上传至所述应用服务器的指定存储路径下;

打包服务器,被配置为根据客户端发送的所述硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,所述硬件码字符串作为加密秘钥;所述加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制,以及读取所述指定存储路径下的运行时长的更新文件,对Java应用程序在应用服务器上运行的时长进行控制更新;对禁用连接到JVM机制的破解行为进行监控,若所述破解行为达到或超过预设阈值,则终止Java应用程序的运行,并阻止该Java应用程序再次启动;

应用服务器,被配置为接收并执行客户端发送的硬件码获取工具,将获取到的硬件码字符串返回至所述客户端;接收并安装所述客户端发送的Java应用程序安装包,在对所述加固插件的路径进行配置和禁用连接到JVM机制后,运行所述Java应用程序;接收客户端上传的Java应用程序的运行时长的更新文件,并将其存储在指定存储路径下。

说明书 :

一种Java应用程序的安全加固方法及系统

技术领域

[0001] 本发明涉及软件安全技术领域,特别涉及一种Java应用程序的安全加固方法及系统。

背景技术

[0002] Java应用程序在运行前需要把代码编译成类文件(例如,class文件),但是编译后的类文件却很容易被反编译工具反编译出源代码,进而导致程序的一些核心业务逻辑的实现方式被破解,失去了产品的竞争优势。此外,黑客通过阅读源码挖掘程序中存在的漏洞,通过漏洞上传恶意的程序,导致应用服务器被控制带来重大的财产损失。
[0003] 常见的,采用黑白名单的方式对Java应用程序的安全进行防范,例如公开号为CN113672907A的中国专利申请,提出一种基于JVM沙箱与黑白名单的Java安全防范方法,在JVM沙箱中自动反复启动Java应用,根据每次启动遇到的异常确定策略,再根据策略文件配置白名单或黑名单,通过黑名单限制存在安全漏洞的路径。
[0004] 此外,Java应用程序可以随意拷贝到任何服务器上运行,没有技术手段可以对硬件和运行时长进行控制,这也为软件生产方或提供方带来不可估量的损失。

发明内容

[0005] 鉴于现有技术中的上述缺陷或不足,本发明提供了一种Java应用程序的安全加固方法及系统,其基于构建工具打包加密插件,在打包期间对类文件进行加密操作,生成加固后的程序安装包;并能够对类文件加载时动态的解密,支持加密和非加密类的混合使用;还实现了程序运行时破解行为的监控,并支持程序运行时许可时长的动态更新。
[0006] 本发明的第一方面,提供了一种Java应用程序的安全加固方法,包括如下步骤:
[0007] 客户端将硬件码获取工具上传至应用服务器;
[0008] 应用服务器接收并执行该硬件码获取工具,将获取到的硬件码字符串返回至客户端;
[0009] 客户端将硬件码字符串和运行时长参数发送至打包服务器;
[0010] 打包服务器根据硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,所述硬件码字符串作为加密秘钥;加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0011] 客户端下载打包服务器上的Java应用程序安装包,并将Java应用程序安装包安装至应用服务器;
[0012] 应用服务器在对Java应用程序进行配置后,运行该Java应用程序。
[0013] 进一步的,对类文件进行加密操作的加密算法为AES算法。
[0014] 进一步的,硬件码字符串为通过md5算法得到的32位长度的字符串。
[0015] 进一步的,应用服务器对Java应用程序进行配置包括:对加固插件的路径进行配置和禁用连接到JVM机制。
[0016] 进一步的,加固插件还用于对禁用连接到JVM机制的破解行为进行监控,若该破解行为达到或超过预设阈值,则终止Java应用程序的运行,并阻止该Java应用程序再次启动。
[0017] 进一步的,还包括:
[0018] 客户端将Java应用程序的运行时长的更新文件上传至应用服务器的指定存储路径下;
[0019] 加固插件读取该指定存储路径下的运行时长的更新文件,对Java应用程序在应用服务器上运行的时长进行控制更新。
[0020] 本发明的第二方面,还提供了一种Java应用程序的安全加固方法,且该方法用于客户端,包括如下步骤:
[0021] 将硬件码获取工具上传至应用服务器,并接收应用服务器返回的硬件码字符串;
[0022] 将硬件码字符串和运行时长参数发送至打包服务器;
[0023] 向打包服务器发送下载Java应用程序安装包的请求信息,并将下载的Java应用程序安装包发送至应用服务器;
[0024] 其中,Java应用程序安装包由打包服务器根据硬件码字符串和运行时长参数打包生成,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;Java应用程序安装包包括加固插件和时长控制文件,加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制。
[0025] 本发明的第三方面,还提供了一种Java应用程序的安全加固方法,且该方法用于应用服务器,包括如下步骤:
[0026] 接收并执行客户端上传的硬件码获取工具,将获取到的硬件码字符串返回至客户端;
[0027] 接收并安装客户端发送的Java应用程序安装包;其中,该Java应用程序安装包由打包服务器根据硬件码字符串和运行时长参数打包生成,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;该Java应用程序安装包包括加固插件和时长控制文件,加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0028] 对安装后的Java应用程序进行配置,并运行Java应用程序。
[0029] 本发明的第四方面,还提供了一种Java应用程序的安全加固方法,且该方法用于打包服务器,包括如下步骤:
[0030] 接收客户端发送的硬件码字符串和运行时长参数;
[0031] 根据硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0032] 响应客户端的请求,将生成的Java应用程序安装包发送至客户端。
[0033] 本发明的第五方面,提供了一种Java应用程序的安全加固系统,包括:
[0034] 客户端,被配置为将硬件码获取工具上传至应用服务器,接收应用服务器返回的硬件码字符串,将硬件码字符串和运行时长参数发送至打包服务器,下载打包服务器上的Java应用程序安装包,将Java应用程序安装包发送至应用服务器;
[0035] 打包服务器,被配置为根据客户端发送的硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0036] 应用服务器,被配置为接收并执行客户端发送的硬件码获取工具,将获取到的硬件码字符串返回至客户端;接收并安装客户端发送的Java应用程序安装包,在对Java应用程序进行配置后,运行Java应用程序。
[0037] 本发明提供的一种Java应用程序的安全加固方法及系统,具有如下有益效果:
[0038] (1)实现了基于构建工具打包加密插件,在打包期间对类文件进行加密操作,生成加固后的程序安装包。
[0039] (2)实现了对类文件加载时的透明解密,支持加密和非加密类的混合使用。
[0040] (3)实现了程序运行时破解行为的监控,破解行为达到预设阈值后,会终止程序并禁止程序启动,以防止破解行为。
[0041] (4)支持对程序运行时许可时长的动态更新。

附图说明

[0042] 通过阅读参照以下附图所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0043] 图1是本发明一个实施例提供的一种Java应用程序的安全加固方法的逻辑示意图;
[0044] 图2是本发明一个实施例提供的一种Java应用程序的安全加固方法的流程图;
[0045] 图3是本发明另一个实施例提供的一种工作于客户端侧的Java应用程序的安全加固方法的流程图;
[0046] 图4是本发明另一个实施例提供的一种工作于打包服务器侧的Java应用程序的安全加固方法的流程图;
[0047] 图5是本发明另一个实施例提供的一种工作于应用服务器侧的Java应用程序的安全加固方法的流程图;
[0048] 图6是是本发明另一个实施例提供的一种Java应用程序的安全加固系统的结构示意图。

具体实施方式

[0049] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”“所述”和“该”也旨在包括多数形式,除非上下文清楚的表示其他含义。
[0051] 应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述获取模块,但这些获取模块不应限于这些术语。这些术语仅用来将获取模块彼此区分开。
[0052] 取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似的,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
[0053] 需要注意的是,本发明实施例所描述的“上”“下”“左”“右”等方位词是以附图所示的角度来进行描述的,不应理解为对本发明实施例的限定。此外在上下文中,还需要理解的是,当提到一个元件被形成在另一个元件“上”或“下”时,其不仅能够直接形成在另一个元件“上”或者“下”,也可以通过中间元件间接形成在另一元件“上”或者“下”。
[0054] 在正式介绍本发明之前,首先对本发明涉及的技术术语进行澄清和解释。
[0055] 用户:研发人员或研发人员的客户端。
[0056] 应用服务器(linux系统):安装Java应用程序所需的服务器。
[0057] 打包服务器(linux系统):代码编译打包所需的服务器。
[0058] 上传:通过sftp连接linux系统上传文件。
[0059] 执行:通过ssh连接linux系统执行命令。
[0060] 加固:提高安全性。
[0061] class文件:Java代码通过编译后生成的类文件。
[0062] 加密插件:构建工具扩展的插件,用于对类文件进行加密操作。
[0063] 加固插件:实现了类文件运行时透明解密和监控破解行为的功能。
[0064] 参见图1、2,本发明的第一实施例提供了一种Java应用程序的安全加固方法,该方法基于客户端、打包服务器和应用服务器构成的系统,包括如下步骤:
[0065] 步骤S101,客户端将硬件码获取工具上传至应用服务器。
[0066] 步骤S102,应用服务器接收并执行硬件码获取工具,将获取到的硬件码字符串返回至客户端。
[0067] 具体的,用户通过客户端上传硬件码获取工具到应用服务器上,然后应用服务器执行硬件码获取工具,获取该应用服务器的硬件码字符串。通常,硬件码获取工具通过md5算法获得32位长度的硬件码字符串,该硬件码字符串代表该唯一的应用服务器。应用服务器再将获取的硬件码字符串返回至客户端。
[0068] 步骤S103,客户端将硬件码字符串和运行时长参数发送至打包服务器。
[0069] 步骤S104,打包服务器根据硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制。
[0070] 具体的,打包服务器上执行打包脚本的过程中需要用到硬件码字符串和运行时长两个参数。因此,客户端先将从应用服务器上获取的硬件码字符串和预设的运行时长参数发送至打包服务器。然后,打包服务器执行打包脚本,该打包脚本通过执行代码构建工具,例如:ant、maven、gradle等构建工具,通过扩展的打包加密插件在代码编译过程中对类文件(例如class文件)进行加密,生成最终的Java应用程序安装包。本实施例由于对class文件做了加密操作,因此本发明将其称为加固后的Java应用程序安装包。
[0071] 进一步的,加密插件使用的加密算法优选为AES算法,使用上述32位的硬件码字符串作为秘钥,保证了应用程序只能在对应的应用服务器上运行,而在其他应用服务器上,因获取的硬件码不一致而导致Java应用程序无法运行,这样就防止了将应用程序拷贝到其他应用服务器上也能正常运行的问题。
[0072] 进一步的,加固插件可以实现Java应用程序在运行时对类文件加载时的透明解密,并支持加密和非加密类的混合使用。加固插件还通过读取指定存储位置的时长控制文件,对Java应用程序在应用服务器上运行的时长进行控制,只允许其在许可的时间范围内使用,当超过了时长限制,则应用程序会停止运行。
[0073] 步骤S105,客户端下载打包服务器上的Java应用程序安装包,并将Java应用程序安装包安装至应用服务器。
[0074] 步骤S106,应用服务器在对Java应用程序进行配置后,运行所述Java应用程序。
[0075] 具体的,为了在Java应用程序运行时执行加固插件,Java应用程序需要配置Javagent参数,以指定加固插件的路径,以实现应用程序在运行时,对类文件加载时的透明解密。更进一步的,因为加密的类文件一般都是业务代码,需要进行加密,依赖的第三方类文件或者Jar包是无须进行加密的。因此,本实施例需要配置DisableAttachMechanism参数,从而禁止使用工具连接到JVM的机制,例如:阿里巴巴Java诊断工具arthas可以连接到运行时的JVM中,以防止此类工具获取应用程序运行时的解密后的类文件内容。
[0076] 进一步的,为了便于在应用程序运行期间支持运行时长的更新,用户只需要通过工具生成一个用于更新的时长许可文件,然后将该时长许可文件上传到应用服务器的指定路径下即可。当加固插件执行该用于更新的时长许可文件时,就可以更新应用程序的运行时长了。需要指出的是,本发明不支持应用程序运行期间的硬件码的更新操作,因为加密类文件的秘钥使用的正是硬件码,所以如果更新硬件码,那么类文件也要重新进行加密。
[0077] 进一步的,因为配置参数DisableAttachMechanism可以手动去掉,这会导致有威胁的应用工具可以连接到运行时的JVM中,由此导致获取解密后的类文件内容,以达到破解的目的。为解决上述技术问题,本实施例的加固插件还用于对禁用连接到JVM机制的破解行为进行监控,若破解行为达到或超过预设阈值,则终止Java应用程序的运行,并阻止该Java应用程序再次启动,以防止破解行为。
[0078] 进一步的,本实施例的加固插件还进一步做了代码混淆。因为加固插件也是Java开发的,无法避免被反编译的情况,所以通过代码混淆工具对代码进行混淆,降低代码的可读性,由此增加了破解难度。
[0079] 本实施例的上述Java应用程序的安全加固方法,在打包期间对类文件进行加密操作,对类文件加载时动态的解密,在程序运行时对破解行为进行监控,并支持程序运行时许可时长的动态更新。
[0080] 参见图3本发明的第二实施例,还公开了一种工作于客户端侧的Java应用程序的安全加固方法,包括如下步骤:
[0081] 步骤S201,将硬件码获取工具上传至应用服务器,并接收应用服务器返回的硬件码字符串;
[0082] 步骤S202,将硬件码字符串和运行时长参数发送至打包服务器;
[0083] 步骤S203,向打包服务器发送下载Java应用程序安装包的请求信息,并将下载的Java应用程序安装包发送至应用服务器;
[0084] 其中,Java应用程序安装包由打包服务器根据硬件码字符串和运行时长参数打包生成,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;Java应用程序安装包包括加固插件和时长控制文件,加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制。
[0085] 本实施例的方法的执行主体是客户端设备,其与第一实施例所描述的方法的原理实质相同,此处不再赘述。
[0086] 参见图4,本发明的第三实施例还提供了一种工作于应用服务器侧的Java应用程序的安全加固方法,包括如下步骤:
[0087] 步骤S301,接收并执行客户端上传的硬件码获取工具,将获取到的硬件码字符串返回至客户端;
[0088] 步骤S302,接收并安装客户端发送的Java应用程序安装包;其中,该Java应用程序安装包由打包服务器根据硬件码字符串和运行时长参数打包生成,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;该Java应用程序安装包包括加固插件和时长控制文件,加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0089] 步骤S303,对安装后的Java应用程序进行配置,并运行Java应用程序。
[0090] 本实施例的方法的执行主体是应用服务器,其与第一实施例所描述的方法的原理实质相同,此处不再赘述。
[0091] 参见图5,本发明的第四实施例还提供了一种工作于打包服务器侧的Java应用程序的安全加固方法,包括如下步骤:
[0092] 步骤S401,接收客户端发送的硬件码字符串和运行时长参数;
[0093] 步骤S402,根据硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0094] 步骤S403,响应客户端的请求,将生成的Java应用程序安装包发送至客户端。
[0095] 本实施例的方法的执行主体是打包服务器,其与第一实施例所描述的方法的原理实质相同,此处不再赘述。
[0096] 参见图6,本发明的第五实施例还提供了一种Java应用程序的安全加固系统200,该系统200包括客户端201、打包服务器202、应用服务器203。该系统200能够执行第一实施例中的Java应用程序的安全加固方法。
[0097] 具体而言:
[0098] 客户端201,被配置为将硬件码获取工具上传至应用服务器,接收应用服务器返回的硬件码字符串,将硬件码字符串和运行时长参数发送至打包服务器,下载打包服务器上的Java应用程序安装包,将Java应用程序安装包发送至应用服务器;
[0099] 打包服务器202,被配置为根据客户端发送的硬件码字符串和运行时长参数,对Java应用程序进行打包,生成含有加固插件和时长控制文件的Java应用程序安装包;其中,打包过程包括对类文件进行加密操作,硬件码字符串作为加密秘钥;加固插件用于在Java应用程序运行时对类文件加载的透明解密,并读取指定路径的时长控制文件,以对Java应用程序在应用服务器上运行的时长进行控制;
[0100] 应用服务器203,被配置为接收并执行客户端发送的硬件码获取工具,将获取到的硬件码字符串返回至客户端;接收并安装客户端发送的Java应用程序安装包,在对Java应用程序进行配置后,运行Java应用程序。
[0101] 需要说明的是,本实施例提供的系统200对应的可用于执行第一实施例的方法步骤,其实现原理和技术效果与第一实施例的方法类似,此处不再赘述。
[0102] 本发明各个实施例中的客户端201、打包服务器202、应用服务器203属于电子设备,其可以包括但不限于诸如笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、台式计算机、PC机、服务器等设备。客户端201、打包服务器202、应用服务器203等电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理以实现如本发明描述的各实施例的方法。在RAM 中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。通常,以下装置可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。
[0103] 以上描述仅为本发明的较佳实施例。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。