基于PAAS平台的应用部署方法和装置制造方法及图纸

技术编号:10250169 阅读:118 留言:0更新日期:2014-07-24 06:37
本发明专利技术公开了一种基于PAAS平台的应用部署方法和装置,该方法包括:对待部署的应用的二进制文件的常量池进行扫描,从所述常量池中确定出该二进制文件所引用的通用类的名称;对于每个确定出的通用类的名称,在替换列表中查找与该通用类的名称相对应的代理类的名称,并使用查找到的代理类的名称替换所述常量池中该通用类的名称;其中,代理类中封装有调用与其对应的通用类相对应的PAAS平台中专用类的语句;所述替换列表中相对应的通用类和代理类的名称的二进制长度相等;根据替换了所述常量池中类的名称的二进制文件,部署所述应用在所述PAAS平台中运行。应用本发明专利技术,可以减少底层代码的改动量、降低BUG出现风险。

【技术实现步骤摘要】
基于PAAS平台的应用部署方法和装置
本专利技术涉及互联网领域,尤其涉及一种基于PAAS平台的应用部署方法和装置。
技术介绍
随着云计算平台技术的发展,将服务器平台或者开发环境作为服务提供给用户的PAAS(PlatformasaService,平台即服务)服务模式得到广泛应用。用户在将应用成功部署至PAAS平台中之后,即可以使用PAAS平台中的云计算应用引擎服务,比如,SAE(SinaAppEngine,新浪应用引擎)服务。具体地,用户可以将待部署的应用的java二进制文件的压缩包上传至PAAS平台中的服务器;该服务器则将上传的压缩包解压到指定目录下,并将解压后得到的二进制文件装载至内存中。这样,该待部署的应用就可以在PAAS平台中使用其提供的云计算应用引擎服务。目前,许多现有的应用主要是依赖JDK(JavaDevelopment’sKit,Java开发工具包)来完成的。如果将现有的应用迁移到PAAS平台中进行部署运行,需要通过PAAS平台所提供专有的专用类(本文中也可以称为云计算应用引擎提供的类),才可以使用PAAS平台中的云计算应用引擎服务。然而,现有的应用主要是通过通用类来调用现有服务。因此,为了使现有的应用在部署至PAAS平台之后能够使用PAAS平台中的云计算应用引擎服务,往往需要修改该待部署的应用的底层的JDK代码,以使得该应用能够使用PAAS平台所提供的专用类。而现有的应用的JDK代码一般是已经完成测试的应用代码。若将现有的应用的JDK代码针对PAAS平台所提供的专用类的引用进行通用类的引用代码修改,则可能会出现修改后的JDK代码在使用PAAS平台中的服务后无法实现的情况,甚至由于修改的代码出现一些未知的漏洞BUG。而要保证修改后的JDK代码能够在PAAS平台中通过专用类来使用云计算应用引擎服务,则需要针对JDK代码进行大量的人工代码改动及新的测试,这不仅会耗费大量的人力和物力,还可能会进一步引起其他新的问题,存在较大的BUG风险。因此,有必要提供一种改动量少、且BUG风险低的应用迁移方法,使得现有应用在被部署至PAAS平台中后可以调用云计算应用引擎服务。
技术实现思路
本专利技术实施例提供了一种基于PAAS平台的应用部署方法和装置,用以减少底层代码的改动量、并降低BUG出现风险。根据本专利技术的一个方面,提供了一种基于PAAS平台的应用部署方法,包括:对待部署的应用的二进制文件的常量池进行扫描,从所述常量池中确定出该二进制文件所引用的通用类的名称;对于每个确定出的通用类的名称,在替换列表中查找与该通用类的名称相对应的代理类的名称,并使用查找到的代理类的名称替换所述常量池中该通用类的名称;其中,代理类中封装有调用与其对应的通用类相对应的平台即服务PAAS平台中专用类的语句;所述替换列表中相对应的通用类和代理类的名称的二进制长度相等;根据替换了所述常量池中类的名称的二进制文件,部署所述应用在所述PAAS平台中运行。较佳地,所述根据替换了所述常量池中类的名称的二进制文件,部署所述应用在所述PAAS平台中运行,具体包括:所述PAAS平台对所述应用,根据其替换了所述常量池中类的名称的二进制文件所引用的代理类的名称,调用相应的代理类,该代理类进而调用与其对应的通用类相对应的PAAS平台中的专用类。较佳地,所述替换列表中的代理类的名称的第一字节段为特定长度的特定字符,其余字节段均与其对应的通用类的名称的相应字节段内容相同。较佳地,所述特定长度为4位;以及所述PAAS平台中的专用类具体为PAAS平台中的云计算应用引擎提供的类。较佳地,所述通用类和代理类的名称的各字节段之间有相同的特定分隔符。较佳地,在所述对待部署的应用的二进制文件的常量池进行扫描之前,还包括:上传所述待部署的应用的二进制文件的压缩包到所述PAAS平台中的服务器;所述服务器周期性将上传的压缩包解压到指定目录下;以及所述对待部署的应用的二进制文件的常量池进行扫描,具体为:对所述指定目录下存储的待部署的应用的二进制文件的常量池进行扫描。根据本专利技术的另一个方面,还提供了一种基于PAAS平台的应用部署装置,包括:扫描模块,用于对待部署的应用的二进制文件的常量池进行扫描,从所述常量池中确定出该二进制文件所引用的通用类的名称;替换模块,用于对于所述扫描模块确定出的每个通用类的名称,在替换列表中查找与该通用类的名称相对应的代理类的名称,并使用查找到的代理类的名称替换所述常量池中该通用类的名称;其中,代理类中封装有调用与其对应的通用类相对应的PAAS平台中专用类的语句;所述替换列表中相对应的通用类和代理类的名称的二进制长度相等;部署模块,用于根据所述替换模块替换了所述常量池中类的名称后得到的二进制文件,部署所述应用在所述PAAS平台中运行。较佳地,所述部署模块具体用于对所述应用,根据其替换了所述常量池中类的名称的二进制文件所引用的代理类的名称,调用相应的代理类,该代理类进而调用与其对应的通用类相对应的PAAS平台中的专用类。较佳地,所述替换列表中的代理类的名称的第一字节段为特定长度的特定字符,其余字节段均与其对应的通用类的名称的相应字节段内容相同。较佳地,所述装置还包括:预处理模块,用于周期性将上传到所述PAAS平台中的各待部署的应用的二进制文件的压缩包解压到指定目录下;以及所述扫描模块具体用于对所述指定目录下存储的待部署的应用的二进制文件的常量池进行扫描。本专利技术实施例的技术方案中,预先针对PAAS平台中的每个专用类,将该专用类封装成名称的二进制长度与通用类的名称的二进制长度相同的代理类并存储在替换列表中。对于待部署的应用,可以将替换列表中与确定出该待部署的应用的二进制文件所引用的通用类的名称相对应的代理类的名称,替换至该二进制文件中,并根据替换了常量池中类的名称后的二进制文件,部署该待部署的应用在PAAS平台中运行。这样,在将待部署的应用进行部署之前,无需对该应用的底层代码进行修改,在部署的过程中进行二进制长度相等的类的名称的替换,就可以实现该待部署的应用在运行时能够通过代理类调用PAAS平台中的云计算应用引擎服务的同时,大大减少了改动量,并降低了BUG出现的风险。附图说明图1为本专利技术实施例的基于PAAS平台的应用部署方法的流程示意图;图2为本专利技术实施例的基于PAAS平台的应用部署装置的内部结构图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本专利技术进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本专利技术的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本专利技术的这些方面。本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。本专利技术的专利技术人考虑到,可以将现有的应用的java二进制文件中所引用的通用类替换为PAAS平台所提供的专用类,从而使得部署应用在PAAS平台上运行时,可以通过PAAS平本文档来自技高网
...
基于PAAS平台的应用部署方法和装置

【技术保护点】
一种基于PAAS平台的应用部署方法,其特征在于,包括:对待部署的应用的二进制文件的常量池进行扫描,从所述常量池中确定出该二进制文件所引用的通用类的名称;对于每个确定出的通用类的名称,在替换列表中查找与该通用类的名称相对应的代理类的名称,并使用查找到的代理类的名称替换所述常量池中该通用类的名称;其中,代理类中封装有调用与其对应的通用类相对应的平台即服务PAAS平台中专用类的语句;所述替换列表中相对应的通用类和代理类的名称的二进制长度相等;根据替换了所述常量池中类的名称的二进制文件,部署所述应用在所述PAAS平台中运行。

【技术特征摘要】
1.一种基于PAAS平台的应用部署方法,其特征在于,包括:对待部署的应用的二进制文件的常量池进行扫描,从所述常量池中确定出该二进制文件所引用的通用类的名称;对于每个确定出的通用类的名称,在替换列表中查找与该通用类的名称相对应的代理类的名称,并使用查找到的代理类的名称替换所述常量池中该通用类的名称;其中,代理类中封装有调用与其对应的通用类相对应的平台即服务PAAS平台中专用类的语句;所述替换列表中相对应的通用类和代理类的名称的二进制长度相等;其中,所述PAAS平台中专用类具体为PAAS平台中的云计算应用引擎提供的类;根据替换了所述常量池中类的名称的二进制文件,部署所述应用在所述PAAS平台中运行。2.如权利要求1所述的方法,其特征在于,所述根据替换了所述常量池中类的名称的二进制文件,部署所述应用在所述PAAS平台中运行,具体包括:所述PAAS平台对所述应用,根据其替换了所述常量池中类的名称的二进制文件所引用的代理类的名称,调用相应的代理类,该代理类进而调用与其对应的通用类相对应的PAAS平台中的专用类。3.如权利要求1所述的方法,其特征在于,所述替换列表中的代理类的名称的第一字节段为特定长度的特定字符,其余字节段均与其对应的通用类的名称的相应字节段内容相同。4.如权利要求3所述的方法,其特征在于,所述特定长度为4位。5.如权利要求4所述的方法,其特征在于,所述通用类和代理类的名称的各字节段之间有相同的特定分隔符。6.如权利要求1-5任一所述的方法,其特征在于,在所述对待部署的应用的二进制文件的常量池进行扫描之前,还包括:上传所述待部署的应用的二进制文件的压缩包到所述PAAS平台中的服务器;所述服务器周期性将上传...

【专利技术属性】
技术研发人员:王阳
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:北京;11

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

1