软件分发方法及其装置、电子设备及存储介质与流程

文档序号:37685254发布日期:2024-04-18 20:57阅读:11来源:国知局
软件分发方法及其装置、电子设备及存储介质与流程

本发明涉及金融科技领域,具体而言,涉及一种软件分发方法及其装置、电子设备及存储介质。


背景技术:

1、当前,软件分发面临着多平台适配和性能优化的问题。相关技术中,软件分发系统需要为不同平台编写不同版本的代码,并且在不同平台上进行独立部署和维护,增加了开发和管理的成本。同时,由于不同平台的硬件和软件环境差异,软件在不同平台上的性能表现存在差异,影响用户体验。

2、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本发明实施例提供了一种软件分发方法及其装置、电子设备及存储介质,以至少解决相关技术中在进行软件分发时需要为不同平台编写不同版本的软件程序代码,导致开发成本较高的技术问题。

2、根据本发明实施例的一个方面,提供了一种软件分发方法,包括:获取目标应用的软件程序源代码,并将所述软件程序源代码转换为预设格式代码;对所述预设格式代码进行签名,得到签名后的所述预设格式代码;将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上,其中,所述预设客户端预先安装有预设虚拟机,所述预设虚拟机用于验证签名后的所述预设格式代码,并在对签名后的所述预设格式代码验证通过后执行所述预设格式代码。

3、进一步地,将所述软件程序源代码转换为预设格式代码的步骤,包括:对所述软件程序源代码进行静态处理,得到第一源代码,其中,所述静态处理是用于对未运行的所述软件程序源代码进行的处理;运行所述第一源代码,并在运行所述第一源代码的过程中,对所述第一源代码进行动态处理,得到第二源代码,其中,所述动态处理是用于对运行中的所述软件程序源代码进行的处理;采用预设编译器将所述第二源代码转换为初始格式代码;对所述初始格式代码进行压缩,生成所述预设格式代码。

4、进一步地,在将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上之后,还包括:对于每个所述预设客户端,所述预设客户端中的所述预设虚拟机基于所述预设客户端中预先安装的目标系统的系统类型,将所述预设格式代码转换为预设指令集;所述预设虚拟机执行所述预设指令集,完成对所述目标应用的运行操作。

5、进一步地,在将所述软件程序源代码转换为预设格式代码之后,还包括:将所述软件程序源代码以及所述预设格式代码存储至预设数据库,其中,所述软件程序源代码对应有代码版本;接收开发终端发送的代码更新请求,其中,所述代码更新请求携带有最新模块源代码以及所述最新模块源代码对应的最新代码版本,所述最新模块源代码对应有模块标识,所述开发终端用于更新所述目标应用的各个模块;将所述最新模块源代码转换为最新模块格式代码,并将所述最新模块源代码以及所述最新模块格式代码存储至所述预设数据库。

6、进一步地,在将所述软件程序源代码转换为预设格式代码之后,还包括:接收所述开发终端发送的补丁更新请求,其中,所述补丁更新请求携带有最新补丁;将所述最新补丁转换为补丁格式代码,并将所述补丁格式代码增加至所述预设格式代码;将所述最新补丁以及所述补丁格式代码存储至所述预设数据库。

7、进一步地,在将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上之后,还包括:基于预设时间间隔,检查每个所述预设客户端上的所述代码版本与所述预设数据库中的所述最新代码版本是否一致;在所述预设客户端上的所述代码版本与所述最新代码版本不一致的情况下,从所述预设数据库中获取所述最新代码版本关联的所述最新模块格式代码;基于所述最新模块格式代码指示的所述模块标识,构建更新文件,并将所述最新模块格式代码以及所述更新文件下发至所述预设客户端上,其中,所述预设客户端中的所述预设虚拟机基于所述更新文件,将所述模块标识指示的原始模块格式代码替换为所述最新模块格式代码。

8、进一步地,在将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上之后,还包括:确定每个所述预设客户端上的所述预设格式代码的第一摘要字符串以及所述预设数据库中的所述预设格式代码的第二摘要字符串;在所述预设客户端上的所述第一摘要字符串与所述第二摘要字符串不一致的情况下,从所述预设数据库中获取所述补丁格式代码;将所述补丁格式代码下发至所述预设客户端上,其中,所述预设客户端中的所述预设虚拟机运行所述补丁格式代码,将所述补丁格式代码增加至所述预设客户端上的所述预设格式代码中。

9、根据本发明实施例的另一方面,还提供了一种软件分发装置,包括:转换单元,用于获取目标应用的软件程序源代码,并将所述软件程序源代码转换为预设格式代码;签名单元,用于对所述预设格式代码进行签名,得到签名后的所述预设格式代码;分发单元,用于将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上,其中,所述预设客户端预先安装有预设虚拟机,所述预设虚拟机用于验证签名后的所述预设格式代码,并在对签名后的所述预设格式代码验证通过后执行所述预设格式代码。

10、进一步地,所述转换单元包括:第一处理模块,用于对所述软件程序源代码进行静态处理,得到第一源代码,其中,所述静态处理是用于对未运行的所述软件程序源代码进行的处理;第二处理模块,用于运行所述第一源代码,并在运行所述第一源代码的过程中,对所述第一源代码进行动态处理,得到第二源代码,其中,所述动态处理是用于对运行中的所述软件程序源代码进行的处理;第一转换模块,用于采用预设编译器将所述第二源代码转换为初始格式代码;第一压缩模块,用于对所述初始格式代码进行压缩,生成所述预设格式代码。

11、进一步地,所述软件分发装置还包括:第二转换模块,用于在将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上之后,对于每个所述预设客户端,所述预设客户端中的所述预设虚拟机基于所述预设客户端中预先安装的目标系统的系统类型,将所述预设格式代码转换为预设指令集;第一执行模块,用于所述预设虚拟机执行所述预设指令集,完成对所述目标应用的运行操作。

12、进一步地,所述软件分发装置还包括:第一存储模块,用于在将所述软件程序源代码转换为预设格式代码之后,将所述软件程序源代码以及所述预设格式代码存储至预设数据库,其中,所述软件程序源代码对应有代码版本;第一接收模块,用于接收开发终端发送的代码更新请求,其中,所述代码更新请求携带有最新模块源代码以及所述最新模块源代码对应的最新代码版本,所述最新模块源代码对应有模块标识,所述开发终端用于更新所述目标应用的各个模块;第三转换模块,用于将所述最新模块源代码转换为最新模块格式代码,并将所述最新模块源代码以及所述最新模块格式代码存储至所述预设数据库。

13、进一步地,所述软件分发装置还包括:第二接收模块,用于在将所述软件程序源代码转换为预设格式代码之后,接收所述开发终端发送的补丁更新请求,其中,所述补丁更新请求携带有最新补丁;第四转换模块,用于将所述最新补丁转换为补丁格式代码,并将所述补丁格式代码增加至所述预设格式代码;第二存储模块,用于将所述最新补丁以及所述补丁格式代码存储至所述预设数据库。

14、进一步地,所述软件分发装置还包括:第一检查模块,用于在将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上之后,基于预设时间间隔,检查每个所述预设客户端上的所述代码版本与所述预设数据库中的所述最新代码版本是否一致;第一获取模块,用于在所述预设客户端上的所述代码版本与所述最新代码版本不一致的情况下,从所述预设数据库中获取所述最新代码版本关联的所述最新模块格式代码;第一下发模块,用于基于所述最新模块格式代码指示的所述模块标识,构建更新文件,并将所述最新模块格式代码以及所述更新文件下发至所述预设客户端上,其中,所述预设客户端中的所述预设虚拟机基于所述更新文件,将所述模块标识指示的原始模块格式代码替换为所述最新模块格式代码。

15、进一步地,所述软件分发装置还包括:第一确定模块,用于在将签名后的所述预设格式代码分发至预设客户端集合中的每个预设客户端上之后,确定每个所述预设客户端上的所述预设格式代码的第一摘要字符串以及所述预设数据库中的所述预设格式代码的第二摘要字符串;第二获取模块,用于在所述预设客户端上的所述第一摘要字符串与所述第二摘要字符串不一致的情况下,从所述预设数据库中获取所述补丁格式代码;第二下发模块,用于将所述补丁格式代码下发至所述预设客户端上,其中,所述预设客户端中的所述预设虚拟机运行所述补丁格式代码,将所述补丁格式代码增加至所述预设客户端上的所述预设格式代码中。

16、根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项软件分发方法。

17、根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项软件分发方法。

18、在本发明中,获取目标应用的软件程序源代码,并将软件程序源代码转换为预设格式代码,对预设格式代码进行签名,得到签名后的预设格式代码,将签名后的预设格式代码分发至预设客户端集合中的每个预设客户端上。在本发明中,可以先将获取的目标应用的软件程序源代码转换为预设格式代码,然后对预设格式代码进行签名,之后将签名后的预设格式代码分发至预设客户端集合中的每个预设客户端上,以使预设客户端中的预设虚拟机在验证签名后,执行预设格式代码,完成目标应用的运行,通过将软件程序源代码编译成可移植的预设格式代码,能够实现跨平台的软件分发和运行,减少了开发和管理成本,进而解决了相关技术中在进行软件分发时需要为不同平台编写不同版本的软件程序代码,导致开发成本较高的技术问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1