软件安装方法、服务器和终端技术

技术编号:8959602 阅读:137 留言:0更新日期:2013-07-25 19:10
本发明专利技术提供一种软件安装方法、服务器和终端,其中,方法包括:服务器接收终端发送的软件下载请求,软件下载请求包括终端标识以及软件标识,服务器根据软件标识获取对应的软件代码中的第一部分,并将软件代码的第一部分下发给终端,终端在运行第一部分的过程中,向服务器发送调用请求,调用第二部分的运行结果,完成软件安装。本发明专利技术中,终端仅运行服务器下发的第一部分代码,从而实现在终端应用软件安装过程中,无需全部软件代码在用户本地终端的内存中明码运行,避免应用软件容易被窥测,提高应用软件的安全性。

【技术实现步骤摘要】

本专利技术涉及通信技术,尤其涉及一种软件安装方法、服务器和终端
技术介绍
现有技术中,服务器的内容数字版权加密保护系统(Digital RightsManagement,DRM)对需要下发给终端的应用软件进行加密,将加密的密钥保存在授权文件中,并采用公钥对授权文件进行加密,将加密后的应用软件和加密后的授权文件下发给终端,终端采用用户私钥对授权文件进行解密,采用授权文件中的密钥对应用软件进行解密,将解密后的应用软件调入终端的内存运行,完成应用软件的安装。这种方法中,应用软件在调入内存后,采用明码运行,容易被窥测,导致应用软件的非法复制和线下分发,给电信运营商带来巨大的损失,并极大地影响应用软件开发者的开发积极性。
技术实现思路
本专利技术提供一种软件安装方法、服务器和终端,用于解决现有技术中应用软件在安装过程中,调入内存中明码运行导致的应用软件容易被窥测的问题。本专利技术的第一个方面是提供一种软件安装方法,包括:服务器接收终端发送的软件下载请求,所述软件下载请求包括终端标识以及软件标识;所述服务器根据所述软件标识获取对应的软件代码中的第一部分,并根据所述终端标识将所述第一部分发送给所述终端,所述软件代码包括第一部分和第二部分;所述服务器接收所述终端发送的调用请求,所述调用请求包括所述软件标识和终端标识;所述服务器根据所述调用请求中的所述软件标识和所述终端标识,将所述第二部分的运行结果发送给所述终端,以使所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件。本专利技术的另一个方面提供一种软件安装方法,包括:终端向服务器发送软件下载请求,所述软件下载请求包括终端标识以及软件标识;所述终端接收所述服务器发送的软件代码的第一部分,所述软件代码包括第一部分和第二部分;所述终端向所述服务器发送调用请求,所述调用请求包括所述软件标识和终端标识;所述终端接收所述服务器发送的所述第二部分的运行结果;所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件。本专利技术的又一个方面提供一种服务器,包括:接收模块,用于接收终端发送的软件下载请求,所述软件下载请求包括终端标识以及软件标识;获取模块,用于根据所述软件标识获取对应的软件代码中的第一部分;发送模块,用于根据所述终端标识将所述第一部分发送给所述终端,所述软件代码包括第一部分和第二部分;所述接收模块还用于,接收所述终端发送的调用请求,所述调用请求包括所述软件标识和终端标识;所述发送模块还用于,根据所述调用请求中的所述软件标识和所述终端标识,将所述第二部分的运行结果发送给所述终端,以使所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件。本专利技术的再一个方面提供一种终端,包括:发送模块,用于向服务器发送软件下载请求,所述软件下载请求包括终端标识以及软件标识;接收模块,用于接收所述服务器发送的软件代码的第一部分,所述软件代码包括第一部分和第二部分;所述发送模块还用于,向所述服务器发送调用请求,所述调用请求包括所述软件标识和终端标识;所述接收模块还用于,接收所述服务器发送的所述第二部分的运行结果;安装模块,用于根据所述第一部分和所述第二部分的运行结果安装所述软件。本专利技术中,通过服务器下发应用软件之前,将应用软件的代码拆分成第一部分和第二部分,将第一部分下发给终端,以使终端根据第一部分和服务器上第二部分的运行结果安装应用软件,从而使终端在安装应用软件的过程中只运行应用软件的第一部分代码,从而实现在终端应用软件安装过程中,无需全部软件代码在用户本地终端的内存中明码运行,避免应用软件容易被窥测,提高了应用软件的安全性。附图说明图1为本专利技术提供的软件安装方法一个实施例的流程图;图2为本专利技术提供的软件安装方法又一个实施例的流程图;图3为本专利技术中软件代码按一个拆分位置拆分的示意图;图4为本专利技术中软件代码按四个拆分位置拆分的示意图;图5为本专利技术提供的软件安装方法另一个实施例的流程图;图6为本专利技术提供的服务器一个实施例的结构示意图;图7为本专利技术提供的服务器又一个实施例的结构示意图;图8为本专利技术提供的终端一个实施例的结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术提供的软件安装方法一个实施例的流程图,如图1所示,包括:101、服务器接收终端发送的软件下载请求,软件下载请求包括终端标识以及软件标识。服务器可以为应用软件商城侧的内容数字版权加密保护系统(DigitalRightsManagement, DRM),终端可以为手机终端、掌上电脑或者其他可以下载软件并安装软件的移动终端。终端标识可以为手机的身份标识号码(Identity,ID)、国际移动设备身份码(International Mobile Equipment Identity, IMEI)或者国际移动用户识别码(International Mobile Subscriber I dent i f i cat i onNumber, IMSI)等,也可以为掌上电脑的ID等。软件标识可以为软件作为商品时的商品ID。102、服务器根据软件标识获取对应的软件代码中的第一部分,并根据终端标识将第一部分发送给终端,软件代码包括第一部分和第二部分。服务器可以根据软件标识从应用软件商城中获取与软件标识对应的软件,上述软件是由软件开发者或者软件提供商提前开发、并采用编译器对软件代码进行编译,得到二进制代码形式的软件,将二进制代码形式的软件上传到应用软件商城。上述软件具体指的是程序文件,并不包括数据文件,如图片、图表和数据库等。应用软件商城中的服务器可以保存软件开发者或者软件提供商提供的多个二进制代码形式的软件。服务器在接收终端发送的软件下载请求之前,可以采用编码分析模块对二进制代码形式的软件进行静态或动态分析,获取软件中的控制流、数据流和模块结构,确定软件中的可独立运行的代码段,从而确定软件中的所有潜在的可拆分点。服务器在接收终端发送的软件下载请求之前,还可以依据最大软件编码分割段数、最小软件编码分割段数、最大代码段长度和最小代码段长度中的一种或多种组合,在潜在的可拆分点中选取数量小于预设最大数量的拆分点。例如,服务器可以在最大软件编码分割段数和最小软件编码分割段数的范围内随机选取特定的分割段数,根据分割段数在潜在的可拆分点中选取拆分点。最大软件编码分割段数、最小软件编码分割段数、最大代码段长度或最小代码段长度,可以由服务器端预先设定,也可以由软件开发者预先设定。服务器选取拆分点后,可以根据选取的拆分点,确定预拆分方案,根据预拆分方案对软件进行预拆分,得到第一部分软件代码和第二部分软件代码,将第一部分软件代码放置在测试终端,将第二部分代码放置在服务器端,进行模拟运行和测试,根据测试结果确定预拆分方案是否可行,并将可行的预拆分方案确定为拆分方案,保存在服务器中。拆分方案包括软件的拆分位置,还包括拆分后的软件代码段的放置位置。其中,最主要的是确定拆分后的软件代本文档来自技高网...

【技术保护点】
一种软件安装方法,其特征在于,包括:服务器接收终端发送的软件下载请求,所述软件下载请求包括终端标识以及软件标识;所述服务器根据所述软件标识获取对应的软件代码中的第一部分,并根据所述终端标识将所述第一部分发送给所述终端,所述软件代码包括第一部分和第二部分;所述服务器接收所述终端发送的调用请求,所述调用请求包括所述软件标识、终端标识;所述服务器根据所述调用请求中的所述软件标识和所述终端标识,将所述第二部分的运行结果发送给所述终端,以使所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件。

【技术特征摘要】
1.一种软件安装方法,其特征在于,包括: 服务器接收终端发送的软件下载请求,所述软件下载请求包括终端标识以及软件标识; 所述服务器根据所述软件标识获取对应的软件代码中的第一部分,并根据所述终端标识将所述第一部分发送给所述终端,所述软件代码包括第一部分和第二部分; 所述服务器接收所述终端发送的调用请求,所述调用请求包括所述软件标识、终端标识; 所述服务器根据所述调用请求中的所述软件标识和所述终端标识,将所述第二部分的运行结果发送给所述终端,以使所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件。2.根据权利要求1所述的方法,其特征在于,若所述软件下载请求还包括所述终端请求下发所述软件的请求时间、软件价格或者终端对应的用户信息,则所述服务器根据所述软件标识获取对应的软件代码中的第一部分之前,还包括: 所述服务器根据所述软件标识对应的数值、所述终端标识对应的数值、所述请求时间对应的数值、所述软件价格对应的数值或者所述终端对应的用户信息中的一种或多种组合,确定所述软件代码的拆分方案; 所述服务器根据所述拆分方案中的拆分位置,将所述软件代码拆分成所述第一部分和所述第二部分。3.根据权利要求1或2所述的方法,其特征在于,所述服务器根据所述软件标识获取对应的软件代码中的第一部分之前,还包括: 所述服务器根据所述拆分位置,确定通信代码; 所述服务器在所述第一部分和所述第二部分中分别嵌入所述通信代码,以使所述终端根据所述通信代码确定所述第二部分的运行结果为与所述第一部分对应的运行结果。4.一种软件安装方法,其特征在于,包括: 终端向服务器发送软件下载请求,所述软件下载请求包括终端标识以及软件标识;所述终端接收所述服务器发送的软件代码的第一部分,所述软件代码包括第一部分和第二部分; 所述终端向所述服务器发送调用请求,所述调用请求包括所述软件标识和终端标识; 所述终端接收所述服务器发送的所述第二部分的运行结果; 所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件。5.根据权利要求4所述的方法,其特征在于,所述第一部分和所述第二部分中分别嵌入通信代码;所述终端根据所述第一部分和所述第二部分的运行结果安装所述软件之前,还包括: 所述终端根据所述通信代码确定所述第二部分的运行结果为与所述第一部分对应的运行结果。6.一种服务器,其特征在于,包括: 接收模块,用于接收终端发送的软件下载请求, 所述软...

【专利技术属性】
技术研发人员:曹万鹏严斌峰侯玉华严琦
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1