java应用远程部署方法、装置及设备制造方法及图纸

技术编号:29614200 阅读:15 留言:0更新日期:2021-08-10 18:27
本申请公开了一种java应用远程部署方法,所述java应用远程部署方法包括:获取服务提供方的运行壳;通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件;通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。本申请解决了java应用远程部署时安全性低的技术问题。

【技术实现步骤摘要】
java应用远程部署方法、装置及设备
本申请涉及金融科技(Fintech)的计算机
,尤其涉及一种java应用远程部署方法、装置及设备。
技术介绍
随着金融科技,尤其是互联网科技金融的不断发展,越来越多的技术(如分布式、人工智能等)应用在金融领域,但金融业也对技术提出了更高的要求,如对金融业对应待办事项的分发也有更高的要求。随着计算机技术的不断发展,计算机技术的应用领域也越来越广泛,目前,服务提供方在服务合作方的服务器上远程部署java应用时,通常直接将加密jar包和加密根据交付给服务合作方,进而服务合作方利用解密工具即可解密该加密jar包进行运行即可完成java应用部署,但是,服务合作方可将解密工具和加密jar包交付给第三方使用,也即可将部署java应用的代码泄露给第三方,所以,java应用在进行远程部署时存在源码泄露的问题,部署java应用时的安全性偏低。
技术实现思路
本申请的主要目的在于提供一种java应用远程部署方法、装置及设备,旨在解决现有技术中java应用远程部署时安全性低的技术问题。为实现上述目的,本申请提供一种java应用远程部署方法,所述java应用远程部署方法应用于服务合作方,所述java应用远程部署方法包括:获取服务提供方的运行壳;通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件;通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。本申请还提供一种java应用远程部署方法,所述java应用远程部署方法应用于服务提供方,所述java应用远程部署方法包括:获取服务合作方的设备地址信息,并生成java应用对应的具备所述设备地址信息的壳包;将所述壳包发送至所述服务合作方,以供所述服务合作方通过定制化开发工具启动所述壳包对应的运行壳,向所述服务提供方发送代码文件请求;通过响应所述代码文件请求,向所述服务合作方发送加密二进制代码文件,以供所述服务合作方通过调用所述定制化开发工具中用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。本申请还提供一种java应用远程部署装置,所述java应用远程部署装置为虚拟装置,且所述java应用远程部署装置应用于服务合作方,所述java应用远程部署装置包括:安装模块,用于获取服务提供方的运行壳;获取模块,用于通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件;加载模块,用于通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。本申请还提供一种java应用远程部署装置,所述java应用远程部署装置为虚拟装置,且所述java应用远程部署装置应用于服务提供方,所述java应用远程部署装置包括:生成模块,用于获取服务合作方的设备地址信息,并生成java应用对应的具备所述设备地址信息的壳包;发送模块,用于将所述壳包发送至所述服务合作方,以供所述服务合作方通过定制化开发工具启动所述壳包对应的运行壳,向所述服务提供方发送代码文件请求;响应模块,用于通过响应所述代码文件请求,向所述服务合作方发送加密二进制代码文件,以供所述服务合作方通过调用所述定制化开发工具中用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。本申请还提供一种java应用远程部署设备,所述java应用远程部署设备为实体设备,所述java应用远程部署设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述java应用远程部署方法的程序,所述java应用远程部署方法的程序被处理器执行时可实现如上述的java应用远程部署方法的步骤。本申请还提供一种可读存储介质,所述可读存储介质上存储有实现java应用远程部署方法的程序,所述java应用远程部署方法的程序被处理器执行时实现如上述的java应用远程部署方法的步骤。本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的java应用远程部署方法的步骤。本申请提供了一种java应用远程部署方法、装置及设备,相比于现有技术采用的直接将加密jar包和加密根据交付给服务合作方以部署java应用的技术手段,本申请首先获取服务提供方的运行壳,进而通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件,进而实现了将java应用对应的代码和算法的二进制代码以加密状态发送至服务合作方的目的,可保障java应用对应的代码和算法不会在数据传输过程中发生泄露。此外,通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用,进而即使服务合作方将运行壳对应的壳包交付给第三方,在第三方无定制化开发工具的情况下,第三方无法解密出加密二进制代码文件,进而无法成功部署java应用,且由于核心类加载器为用于加载核心java类的类加载器,所以,所述核心类加载器为基于C语言编写的类加载器,所述核心类加载器具备良好的隐藏所述安全转换逻辑的能力,可防止服务合作方通过窃取安全转换逻辑而获取目标二进制代码文件,所以服务合作方不存在直接将运行壳和目标二进制代码文件发送至第三方以供第三方部署java应用的能力,从而保障了java应用对应的代码和算法不会被泄露给第三方,因此,克服了现有技术中远程部署java应用时,服务合作方可将部署java应用的代码泄露给第三方而导致源码泄露的技术缺陷,提升了java应用远程部署时的安全性。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请java应用远程部署方法第一实施例的流程示意图;图2为本申请java应用远程部署方法第二实施例的流程示意图;图3为本申请java应用远程部署方法第三实施例的流程示意图;图4为本申请java应用远程部署方法中部署java应用的流程示意图;图5为本申请java应用远程部署方法第四实施例的流程示意图;图6为本申请实施例方案涉及的硬件运行环境的设备结构示意图。本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。本文档来自技高网...

【技术保护点】
1.一种java应用远程部署方法,其特征在于,所述java应用远程部署方法应用于服务合作方,所述java应用远程部署方法包括:/n获取服务提供方的运行壳;/n通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件;/n通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。/n

【技术特征摘要】
1.一种java应用远程部署方法,其特征在于,所述java应用远程部署方法应用于服务合作方,所述java应用远程部署方法包括:
获取服务提供方的运行壳;
通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件;
通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载,以部署所述java应用。


2.如权利要求1所述java应用远程部署方法,其特征在于,所述代码安全转换逻辑包括解密逻辑和数据标志去除逻辑,
所述通过调用用于加载核心java类的核心类加载器中的安全转换逻辑,将所述加密二进制代码文件转换为目标二进制代码文件进行加载的步骤包括:
通过调用所述解密逻辑,将所述加密二进制代码文件解密为二进制代码伪装文件;
通过调用所述数据标志去除逻辑,去除所述二进制代码伪装文件中的数据标志,获得所述目标二进制代码文件;
加载所述目标二进制代码文件。


3.如权利要求2所述java应用远程部署方法,其特征在于,所述调用所述数据标志去除逻辑,去除所述二进制代码伪装文件中的数据标志,获得所述目标二进制代码文件的步骤包括:
获取所述服务合作方的本地设备ip地址;
基于所述本地设备ip地址,对所述二进制代码伪装文件进行字节轮询,定位所述二进制代码伪装文件中的各数据标志;
在所述二进制代码伪装文件中删除各所述数据标志,获得所述目标二进制代码文件。


4.如权利要求1所述java应用远程部署方法,其特征在于,所述通过定制化开发工具启动所述运行壳,获取所述服务提供方的java应用对应的加密二进制代码文件的步骤包括:
通过所述定制化开发工具启动所述运行壳,以将主线程切换至目标线程;
通过所述目标线程获取所述服务合作方的当前设备地址信息,并向所述服务提供方发送具备所述当前设备地址信息的代码文件请求,以供所述服务提供方验证所述服务合作方是否为有效合作方;
若所述服务提供方验证所述服务合作方为有效合作方,则接收所述服务提供方反馈的响应于所述代码文件请求的加密二进制代码文件;
若所述服务提供方验证所述服务合作方不为有效合作方,则接收所述服务提供方反馈的响应于所述代码文件请求的异常指令,并返回执行所述通过所述目标线程获取所述服务合作方的当前设备地址信息的步骤。


5.如权利要求4所述java应用远程部署方法,其特征在于,在所述接收所述服务提供方反馈的响应于所述代码文件请求的异常指令的步骤之后,所述java应用远程部署方法还包括:
统计接收所述异常指令的累计次数;
若所述累计次数大于预设累计次数阈值,则通过所述目标线程调用所述定制化开发工具中的自毁逻辑,执行预设程序自毁流程。


6.如权利要求4所述java应用远程部署方法,其特征在于,所述将主线程切换至目标线程的步骤包括:
检测所述主线程抛出的由系统启动事件导致的特定安静关闭异常;
通过所述运行壳中的预设特定异常处理类,拦截所述特定安静关闭异常;
命令所述主线程执行优雅关闭逻辑,并在所述主线程执行优雅关闭逻辑完毕后,启动目标线程。


7.如权利要求1所述java应用远程部署方法,其特征在于,所述获取来自于服务提供方的运行壳的步骤包括:
接收服务提供方发送的壳包,并获取本地设备地址信息;
解压所述壳包,获得待解密文本和待解密jar包;
对所述壳包中的待解密文本进行解密,获得壳包设备地址信息;
若所述壳包设备地址信息与所述本地设备地址信息不相匹配,则销毁所述壳包;
若所述壳包设备地址信息与所述本地设备地址信息相匹配,则基于向所述服务提供方请求得到的目标随...

【专利技术属性】
技术研发人员:黄善荣卢道和罗锶边元乔黄叶飞黄彦淇
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1