CN102289374B - 一种构建跨平台软件运行环境的方法及装置 - Google Patents

一种构建跨平台软件运行环境的方法及装置 Download PDF

Info

Publication number
CN102289374B
CN102289374B CN201110255324.6A CN201110255324A CN102289374B CN 102289374 B CN102289374 B CN 102289374B CN 201110255324 A CN201110255324 A CN 201110255324A CN 102289374 B CN102289374 B CN 102289374B
Authority
CN
China
Prior art keywords
platform
module
software
interpreting
compiling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110255324.6A
Other languages
English (en)
Other versions
CN102289374A (zh
Inventor
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
Nanjing ZTE New Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201110255324.6A priority Critical patent/CN102289374B/zh
Publication of CN102289374A publication Critical patent/CN102289374A/zh
Priority to PCT/CN2012/072360 priority patent/WO2012155631A1/zh
Application granted granted Critical
Publication of CN102289374B publication Critical patent/CN102289374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • G06F9/44542Retargetable
    • G06F9/44547Fat binaries

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种构建跨平台软件运行环境的方法及装置,所述方法包括二进制启动文件,建立跨平台软件运行环境入口;启动解压缩模块,对核心编译解释和图形化环境模块执行解压缩操作;对跨平台可视化软件安装模块执行解压缩操作;调用解压缩模块,对平***立模块以及多平台共享模块执行解压缩操作;对扩展编译解释和图形化环境模块执行解压缩操作;根据不同***平台的差异性设置软件安装包运行的环境变量,启动可视化软件安装包界面,并据其执行跨平台软件安装包可视化的安装。本发明使用跨平台软件安装包将有利于缩减软件安装包的大小,降低设备存储模块容量的需求。

Description

一种构建跨平台软件运行环境的方法及装置
技术领域
本方案域及计算机领域,尤其涉及一种构建跨平台软件运行环境的方法及装置。
背景技术
当前,随着科技的进步和信息化技术的不断向前发展,计算机软件已经成为人们生产生活中不可缺少的工具。例如,在通信领域,设备制造商为用户生产制造通讯设备并提供相应的支撑软件。
然而,随着用户群体的多样性,这些软件可能需要运行在不同的操作***平台下,比如Windows、Mac、Linux,并且,每种不同类型的平台下可能还会有很多不同的分支***,比如Windows平台下的Windows xp、Windows 7等;Mac平台下的10.5、10.6、10.7等;Linux平台下的Ubuntu系列、SUSE系列、Fedora系列、Debian系列等。
通常情况下,通讯设备需要在这些不同的***下运行,所以这些相应的支撑软件需要软件开发人员在前期开发的时候就考虑不同***下的相应要求,使用跨平台的开发环境和开发语言进行软件开发。在软件发布的时候,通常的做法是将这些软件制作成分别在不同的平台下可以使用的软件安装包,并将这些软件安装包放置在通讯设备的存储模块中。无论对于Windows***平台、Mac***平台,还是Linux***平台,其都有自己专用的软件打包工具,但是采用这些***平台各自专用的软件打包工具制作出来的软件安装包往往不能兼容,且安装界面和安装业务流程也不尽相同。
以一种跨平台的开发语言为例,如软件开发人员使用python语言和wxpython图形库进行软件开发。在Windows、Mac以及Linux***下开发的代码很可能很相似,但是如果分别使用Windows、Mac以及Linux下的软件打包工具进行软件打包,那么在各个***平台上生成的软件安装包是不能公用到其他***平台的,同时各个***平台上的软件安装包的界面和安装业务流程也不相同。在此情况之下,如需要支持多个***平台,就需要在多个平台上分别制作相应的软件安装包,然后再将之集成为ISO文件。
对于Linux平台而言,传统的Linux软件安装包是以rpm、deb包或者直接的压缩文件的格式发布的。rpm、deb格式只能在Linux***下使用,而压缩文件通常是没有可视化界面的。无论是rpm还是deb包都不能以GUI界面的形势给用户显示软件的安装进度。随着Linux平台用户群体的增长,越来越多的用户开始关注软件交互界面的友好性,这也是用户认知软件的重要方面,因为,很多用户对Linux***的相关知识可能了解的并不多,因此需要一个可视化的安装界面,让用户直观地了解Linux平台下软件的安装过程。
发明内容
本发明的目的在于提供一种构建跨平台软件运行环境的方法及装置,其用于解决现有技术中采用不同***平台各自专用的软件打包工具制作出来的软件安装包不能兼容的缺点。
为了达到本发明的目的,本发明采用以下技术方案实现:
一种构建跨平台软件运行环境的方法,包括:
A、启动二进制启动文件,建立跨平台软件运行环境入口;
B、启动解压缩模块,对核心编译解释和图形化环境模块执行解压缩操作,以构建核心编译解释和图形化环境;对跨平台可视化软件安装模块执行解压缩操作,以构建可视化软件安装包界面,并获得安装业务;
C、调用解压缩模块,对平***立模块以及多平台共享模块执行解压缩操作,以提供可视化软件安装包界面以及安装业务所需的数据;对扩展编译解释和图形化环境模块执行解压缩操作,以构建扩展编译解释和图形化环境;
D、根据不同***平台的差异性设置软件安装包运行的环境变量,启动可视化软件安装包界面,并据其执行软件安装包跨平台及可视化的安装。
优选地,在所述步骤B中,依据所述二进制启动文件,触发对核心编译解释和图形化环境模块、跨平台可视化软件安装模块的解压缩操作。
优选地,在所述步骤B中,在执行完对核心编译解释和图形化环境模块执行解压缩操作之后,还包括设置***环境变量和参数的步骤。
优选地,在所述步骤B中,所述解压缩模块的首次调用是依据所述二进制启动文件触发的。
优选地,在所述步骤C中,所述扩展编译解释和图形化环境用以完善核心编译解释和图形化环境中缺失的软件运行的必要功能、环境、图形化***的控件及功能。
更为优选地,所述必要功能包括正则表达式功能、XML文件读写功能以及编解码功能。
更为优选地,在所述步骤B中,所述跨平台可视化软件安装模块采用跨平台语言开发。
更为优选地,所述跨平台语言为python或wxpython。
优选地,在所述步骤C中,所述多平台共享模块包含可以为多个平台共享的程序代码文件及程序运行的资源文件。
优选地,在所述步骤C中,所述平***立模块包括跨平台软件运行环境依赖的***平***立使用的库函数、配置文件、运行脚本、驱动程序以及为屏蔽不同***平台兼容性问题增加的差异性文件。
一种构建跨平台软件运行环境的装置,其包括:二进制启动文件、安装处理模块、解压缩模块、核心编译解释和图形化环境模块、跨平台可视化软件安装模块、扩展编译解释和图形化环境模块、平***立模块以及多平台共享模块,其中,
二进制启动文件,用于建立跨平台软件运行环境入口;
安装处理模块,用于依据二进制启动文件触发解压缩模块,控制解压缩模块执行对核心编译解释和图形化环境模块、跨平台可视化软件安装模块、扩展编译解释和图形化环境模块、平***立模块以及多平台共享模块的解压缩操作;
解压缩模块,用于响应安装处理模块的控制,执行对核心编译解释和图形化环境模块、跨平台可视化软件安装模块、扩展编译解释和图形化环境模块、平***立模块以及多平台共享模块的解压缩操作;
核心编译解释和图形化环境模块,在被解压缩之后用于构建核心编译解释和图形化环境;
跨平台可视化软件安装模块,在被解压缩之后用于构建可视化软件安装包界面,并获得安装业务;
扩展编译解释和图形化环境模块,在被解压缩之后用于构建扩展编译解释和图形化环境;
平***立模块,用于保存各个平台之间无法共享的平***立数据;
多平台共享模块,在被解压缩之后用于提供可视化软件安装包界面以及安装业务所需的数据。
通过以上本发明的技术方案可以看出,由于目前对于设备制造厂家而言,存储模块容量需要满足这些安装包大小总和的需求。安装包越大,所需要的存储模块的容量越大,通常情况下成本也就越高。在当今通信行业的激烈竞争中,取得制造成本的优势往往就能够占据市场的主动。在本发明中,使用跨平台软件安装包将有利于缩减软件安装包的大小,降低设备存储模块容量的需求。
除此之外,目前Linux***上尚很少有可视化的软件安装包,因此本发明提供的跨平台软件安装包将有利于缩减安装包大小和有利于Linux下用户对软件的使用和认知,更有利于在不同平台下统一软件的安装过程。除此之外,还可以统一多个平台的软件安装界面,增强跨平台软件安装界面友好性和业务流程的统一性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的构建跨平台软件运行环境的装置结构示意图;
图2为本发明实施例提供的搭建可视化软件安装运行环境和启动可视化软件安装模块的流程图;
图3为本发明实施例提供的可视化软件安装模块进行软件安装时的整体流程图;
图4为本发明实施例提供的跨平台软件安装包构建跨平台软件运行环境并运行软件的流程图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
传统的软件安装包是针对每一个***平台分别构建,每个***平台的安装包之间没有相互关系。跨平台软件安装包以跨平台语言和图形库为依托,建立跨平台的可视化图形环境,将软件安装相关信息以图形化的方式展现给用户,同时跨平台软件安装包还可以管理跨平台资源,做到一处副本多平台共用。鉴于此,如果能够提供一种跨平台可视化软件安装模式将对设备制造成本削减和用户体验增强带来双重好处。基于设备制造成本和用户使用的双重考虑,对制造商提出了几个问题:
1、如何压缩安装包大小,节省制造成本。
2、如何方便用户安装和使用,提升软件可用性。
基于以上,本发明提供了一种构建跨平台软件运行环境的方法,包括如下步骤:
A、启动二进制启动文件,建立跨平台软件运行环境入口;
B、启动解压缩模块,对核心编译解释和图形化环境模块执行解压缩操作,以构建核心编译解释和图形化环境;对跨平台可视化软件安装模块执行解压缩操作,以构建可视化软件安装包界面,并获得安装业务;
C、调用解压缩模块,对平***立模块以及多平台共享模块执行解压缩操作,以提供可视化软件安装包界面以及安装业务所需的数据;对扩展编译解释和图形化环境模块执行解压缩操作,以构建扩展编译解释和图形化环境;
D、根据不同***平台的差异性设置软件安装包运行的环境变量,启动可视化软件安装包界面,并据其执行软件安装包跨平台及可视化的安装。
优选实施方式下,在所述步骤B中,依据所述二进制启动文件,触发对核心编译解释和图形化环境模块、跨平台可视化软件安装模块的解压缩操作。
优选实施方式下,在所述步骤B中,在执行完对核心编译解释和图形化环境模块执行解压缩操作之后,还包括设置***环境变量和参数的步骤。
优选实施方式下,在所述步骤B中,所述解压缩模块的首次调用是依据所述二进制启动文件触发的。
优选实施方式下,在所述步骤C中,所述扩展编译解释和图形化环境用以完善核心编译解释和图形化环境中缺失的软件运行的必要功能、环境、图形化***的控件及功能。
其中,更为优选的实施方式下,所述必要功能包括正则表达式功能、XML文件读写功能以及编解码功能。
更为优选的实施方式下,在所述步骤B中,所述跨平台可视化软件安装模块采用跨平台语言开发。
更为优选的实施方式下,所述跨平台语言为python或wxpython。
优选实施方式下,在所述步骤C中,所述多平台共享模块包含可以为多个平台共享的程序代码文件及程序运行的资源文件。
优选实施方式下,在所述步骤C中,所述平***立模块包括跨平台软件运行环境依赖的***平***立使用的库函数、配置文件、运行脚本、驱动程序以及为屏蔽不同***平台兼容性问题增加的差异性文件。
除此之外,本发明还提供了一种构建跨平台软件运行环境的装置,如图1所示,其包括:二进制启动文件20、安装处理模块10、解压缩模块30、核心编译解释和图形化环境模块50、跨平台可视化软件安装模块40、扩展编译解释和图形化环境模块60、平***立模块70以及多平台共享模块80,其中,
二进制启动文件20,用于建立跨平台软件运行环境入口;对于所述二进制启动文件,这个文件的功能是针对不同***平台下的特性,编写的入口函数,目的是根据配置文件调用解压缩模块,建立核心编译解释和图形化环境,触发跨平台可视化软件安装模块40的运行,将安装过程交由跨平台可视化软件安装模块40进行控制。
在上述的装置和设备中,二进制启动文件是针对各个平台的特性,使用平台相关的方法建立的平台相关入口。在代码编写时,这部分代码固定统一不变,按照不同***平台的***接口,统一的执行一组***命令。这组***命令保存在文件中,将触发解压缩模块30对安装包中的核心编译解释和图形化环境模块50进行解压缩,建立核心编译解释和图形化环境。同时设置必要的***环境变量和相关参数。触发解压缩模块30对跨平台可视化软件安装模块40进行解压缩,启动跨平台可视化软件安装包。将软件安装带入跨平台可视化软件安装控制范围。
安装处理模块10,用于依据二进制启动文件触发解压缩模块30,控制解压缩模块30执行对核心编译解释和图形化环境模块50、跨平台可视化软件安装模块40、扩展编译解释和图形化环境模块60、平***立模块70以及多平台共享模块80的解压缩操作;
解压缩模块30,用于响应安装处理模块10的控制,执行对核心编译解释和图形化环境模块50、跨平台可视化软件安装模块40、扩展编译解释和图形化环境模块60、平***立模块70以及多平台共享模块80的解压缩操作;此模块的首次调用是通过二进制启动文件触发的,其目的是解压缩核心编译解释和图形化部分以及跨平台可视化软件安装模块40。通过首次调用,建立跨平台可视化软件安装包可以独立运行的编译解释和图形化环境。当跨平台可视化软件安装包运行之后,解压缩模块30将由跨平台可视化软件安装包调用来解压缩他相关压缩文件。
核心编译解释和图形化环境模块50,在被解压缩之后用于构建核心编译解释和图形化环境;该模块是跨平台可视化软件安装包可以独立运行的最小环境,当核心编译解释和图形化环境就绪的时候,跨平台可视化软件安装包模块的所有功能将可以正常运行。核心编译解释和图形化环境不同于扩展编译解释和图形化环境的是,它是经过分类和裁减的,仅仅保留了安装包运行的必须的功能,其他的功能比如:正则表达式功能、XML读写功能、编解码功能等这些可能都不能使用。同时对于图形化界面环境,可能一些控件和控件的方法也不能使用,比如:列表控件ListCtrl不能使用,或者列表控件的排序或者镶嵌Check按钮的功能不能使用等。将这些功能和控件剥离到核心编译解释和图形化环境之外能够缩减核心编译解释和图形化环境的大小、目录层次、解压缩得时间。这样从用户能够更加快速的进入跨平台的软件安装包模块,感受到安装进度的可视化显示。
跨平台可视化软件安装模块40,在被解压缩之后用于构建可视化软件安装包界面,并获得安装业务;跨平台可视化软件安装模块运行在核心编译解释和图形化环境下,其功能就是提供跨平台可视化且界面具有一致性的软件安装界面。跨平台可视化软件安装模块40针对不同***平台下的安装配置文件对软件进行安装,安装的部分包括:扩展编译解释和图形化环境模块60,多平台共享模块80,平***立模块70等。跨平台可视化软件安装模块40由跨平台语言开发,比如:python、wxpython等,能够屏蔽不同***在软件安装中界面上的差异性。由于跨平台语言的开发,该跨平台可视化软件安装模块40所安装的内容在很大程度上具有一致性,这些一致性可以在不同的平台上一致的显示在用户界面上,从而避免了不同***平台下安装程序所表现出来的巨大的差异性。对于驱动和***相关的内容的安装,在不同平台上也可能拥有共同的特征,这部分也可以放在相同的界面上,只是在不同的***平台上表现出不同的内容。
扩展编译解释和图形化环境模块60,在被解压缩之后用于构建扩展编译解释和图形化环境;扩展的这部分是针对核心编译解释和图形化环境来说的,由于核心编译解释和图形化环境是对软件运行的完整环境的一次裁减和筛选。那么扩展的编译解释和图形化环境就是在核心环境正常运行之后由跨平台可视化软件安装模块控制的,针对核心环境中缺失的软件运行的必要功能、环境以及图形化***的控件及功能的一次完善。比如:增加正则表达式功能,XML文件读写功能,编解码功能等等。对于控件***,有可能增加一些软件正常运行时需要的控件及控件功能,比如:列表控件,及列表控建的排序功能,菜单控件等。
平***立模块70,用于保存各个平台之间无法共享的平***立数据,例如平***立模块70里面保存的是各个平台不能共享的数据和运行库驱动数据等。
多平台共享模块80,在被解压缩之后用于提供可视化软件安装包界面以及安装业务所需的数据。
对于所述平***立模块70,即便采用跨平台语言开发,也有可能会遇到***平台之间的差异性引入的问题。例如程序运行库的问题,驱动的问题,执行脚本命令的问题,相同平台间的***差异性的问题等等。凡是需要在不同***平台或者***分别处理的都可以归结到平***立模块70。通常情况下跨平台的开发语言在运行的时候也是需要有运行库的支持的,在不同的平台或***所使用的运行库是不一样的,比如:Window下使用lib库,Mac下使用dylib、或者so库,Linux下使用so库等。因此在安装包中这些平***立的模块需要根据具体的平***立安装,那么在做包的时候就应该开辟出一块位置用来保存平***立的相关内容,这里我们称之为平***立模块。
对于所述多平台共享模块,由于采用的跨平台的开发语言和图形库,那么软件中就可能有很多是多个平台可以共享的。比如:程序代码、程序运行的资源文件等。这些文件的共同特性是,可以直接拷贝各个***下使用不需要担心***间的兼容性问题。程序代码中的文件比如py文件,资源文件比如,图片、语言文件、配置文件以及***兼容的声音文件等。
为了更好的解释本发明的精神,下面将结合具体实施例以及附图予以详细说明。
本发明实施例通过对跨平台开发语言以及跨平台软件安装的深入分析,提出了一种跨平台的软件安装包模型,如图1所示,依托此模型,生产制造人员可以针对终端用户的特殊定制需求,利用跨平台开发语言的特性,开发出一套跨平台的软件安装发布工具,即一种跨平台可视化软件安装包,或言之为一种构建跨平台软件运行环境的方法。生产研发人员根据终端用户的定制需求,通过跨平台开发语言及图形库设计并实现一组软件安装界面。依托这一组约定好的软件安装界面,按照如图1所示的软件安装包组织结构,将可以实现在多个***平台(如Windows、Mac、Linux)下风格统一、业务统一的软件安装过程。当用户提出修改需求时,只需要对现有状态的一次修改就可以实现多个平台***的集体响应,极大地提升了效率。
为实现下述本发明的实施例方案,需要在安装包中提供一组二进制启动文件、一组解压缩模块、核心编译解释和图形化环境模块、扩展编译解释和图形化环境模块、多平台共享模块、平***立模块,以及跨平台可视化软件安装模块。
如图1所示,二进制启动文件20承担不同***下安装包的入口,通过***触发解压缩模块30快速核心编译解释和图形化环境所需要的文件解压,同时解压缩跨平台可视化软件安装模块40,启动可视化安装模块,将软件安装交付跨平台可视化软件安装模块40控制。跨平台可视化软件安装模块40将进一步调用解压缩模块30对核心编译解释和图形化环境模块50、扩展编译解释和图形化环境模块60、多平台共享模块80、平***立模块70进行解压和文件拷贝。建立完整的软件运行环境,设置相关的***环境变量及运行参数,安装设备驱动等。最终软件安装的全部过程都将在跨平台可视化软件安装模块40的界面上进行显示。
本发明实施例中跨平台可视化软件安装包启动时将按照图2所示的流程进行运行,包括以下步骤:
S201:跨平台可视化软件安装模块调用二进制启动文件。此二进制启动文件为调起跨平台软件安装包的壳,被编译成平***立运行,其目的就是触发并执行后续的软件安装和操作;
S202:解压缩和执行脚本。跨平台可视化软件安装模块通过执行脚本调用解压缩模块并执行后续的步骤。例如,解压缩模块对安装包中的核心编译解释和图形化环境,跨平台可视化的软件安装模块的全部以及平***立模块的部分进行解压缩;
S203:解压核心编译解释和图形化环境模块,此模块肩负运行跨平台可视化软件安装包的责任,它饱含了一组最小集的软件安装包运行所需要的文件;
S204:解压跨平台可视化软件安装模块,此模块使用跨平台语言和图形库开发一套代码能够运行在各个***平台上。此模块里面包含了软件安装包界面以及安装的业务;
S205:解压平***立模块,这里仅解压缩了平***立模块的一部分,这部分是跨平台可视化的软件安装模块运行所必需的数据,包括安装包运行环境依赖的***独立的库函数,某些***间有差异性的文件以及安装配置文件等;
S206:配置环境变量启动可视化软件安装包界面。针对不同***下的差异性设置软件安装包运行的环境变量,并且在之前S201至S206步骤形成的软件安装包运行环境上运行跨平台可视化软件安装包进行跨平台软件的安装过程。
本发明实施例中跨平台可视化软件安装模块进行软件安装时将依赖图2生成的可视化软件安装包运行环境,按照如图3所示的软件安装整体流程图进行软件安装,安装结束后将生成如图4所示的能够支撑所安装软件运行的软件运行环境,运行软件。
其中图3表示的跨平台可视化软件安装模块进行软件安装时的整体流程图包括以下的流程:
S301:跨平台可视化软件安装模块加载跨平台可视化软件安装界面。
S302:跨平台可视化安装界面启动之后将加载软件安装配置文件,进行软件安装进度分析以及进行跨平台软件的安装的步骤。跨平台可视化安装界面负责前台向用户显示安装进度和结果,后台进行软件安装的过程。
S303:跨平台可视化软件安装模块的界面负责向用户显示安装的具体过程和安装结果,同时在后台负责具体的软件安装的过程。如文件拷贝,环境搭建,***兼容性测试,条件测试,驱动安装,环境变量配置等工作。前台的界面与后台的安装过程之间进行程序间的通信。由前台根据安装配置文件和安装进度向后台发送控制命令,后台接受到命令后执行相关操作,将结果返回给前台,前台根据反馈实时显示和修正安装过程。
S304:跨平台可视化软件安装模块的后台安装进程。后台安装进程根据由前台传来的安装命令进行相关内容的安装,返回安装结果。
S305:进行用户操作,在安装过程中用户可以对安装过程进行控制和操作,比如取消安装,设置安装路径,以及其他一些安装选项,如果用户有操作转到S307执行,如果用户没有对安装过程进行修改,则转到S306执行。
S306:根据跨平台可视化软件安装模块的默认安装过程进行软件安装,通过前台界面进行显示。
S307:判断用户的操作与默认的安装过程是否一致,如果一致继续进行安装,如果不一致则响应用户操作S308,将修改后的安装过程和命令发送至S304后台安装进行进行处理,后台安装进程将根据安装结果反馈至S303前台界面向用户进行显示。
S308:响应用户的操作,生成新的安装过程命令,并执行S304步骤将该命令发送至后台安装进行软件安装。
图4表示跨平台软件安装包构建跨平台软件运行环境并运行软件的流程图,包含以下流程:
S401:启动二进制启动文件和解压缩模块,在图2中已经对其作用进行了说明,在此处解压缩模块还将被跨平台可视化软件安装模块调用,以对扩展编译解释和图形化环境模块以及多平台共享模块进行解压缩。
S402:核心编译解释和图形化环境,这部分包含的是能使跨平台软件安装包正常运行的最小环境,包含了安装报运行所需的文件以及库函数等,它可能包含如步骤S403所示的一些内容。
S403:核心编译解释和图形化环境中包含了能在Windows、Mac、Linux使用的核心环境包,这些包一般是函数库,有些时候也可能是文件。有了这些库和文件,在配合能够通用的文件就可以构建出适合跨平台软件安装包运行的最小环境。这个环境同时也是后续被安装软件运行时所需要环境的一部分,它将和步骤S407的执行结果共同构成软件运行所需的环境。
S404:多平台共享模块,这部分包含了各个***下都可以使用的内容。通常情况下包含跨平台语言及图形库的源文件,通用配置文件,语言文件,图片资源文件,界面布局文件,被安装程序的可运行代码等。
S405:平***立模块,这部分包含被安装软件运行时所需要的其他模块独立内容。通常情况下包含***独立使用的库函数,配置文件,运行脚本,驱动程序以及为屏蔽不同***兼容性问题增加的一些其他文件。
S406:扩展编译解释和图形化环境,这部分包含的是能使被安装软件正常运行的最小环境,它包含了核心编译解释和图形化环境以外的被安装软件运行所必需的其他文件和库函数等。它与核心编译解释和图形化环境S402共同构成了被安装软件运行所需的环境。它可能包含如S407所示的一些内容。
S407:同步骤S403一样,它也包含了能在Windows、Mac、Linux使用的扩展环境包,它是核心环境包的补充和扩展。功能上拓展了跨平台软件运行环境和图形环境,使得被安装软件能够正确运行。
S408:在构建扩展编译解释和图形化环境的时候有可能也会需要多平台共享模块的支持,这里可能包含构建扩展编译解释和图形化环境共用的配置文件,资源文件,以及源文件。同时也可能会需要平***立模块的支持转步骤S409。
S409:在构建扩展编译解释和图形化环境的时候有可能需要平***立模块的一些文件,如有些***可能有额外的功能需要使用额外的工具、函数库、源文件以及驱动等。
S410:通常通讯设备的运行需要驱动的支持,通常在软件安装的末尾对驱动进行安装,驱动安装之后设备就能够正常驱动起来。
S411:设置环境变量和其他软件启动参数,完成安装,根据需要启动软件。
通过以上本发明的技术方案可以看出,由于目前对于设备制造厂家而言,存储模块容量需要满足这些安装包大小总和的需求。安装包越大,所需要的存储模块的容量越大,通常情况下成本也就越高。在当今通信行业的激烈竞争中,取得制造成本的优势往往就能够占据市场的主动。在本发明中,使用跨平台软件安装包将有利于缩减软件安装包的大小,降低设备存储模块容量的需求。
除此之外,目前Linux***上尚很少有可视化的软件安装包,因此本发明提供的跨平台软件安装包将有利于缩减安装包大小和有利于Linux下用户对软件的使用和认知,更有利于在不同平台下统一软件的安装过程。除此之外,还可以统一多个平台的软件安装界面,增强跨平台软件安装界面友好性和业务流程的统一性。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (11)

1.一种构建跨平台软件运行环境的方法,其特征在于,建立跨平台的可视化图形环境,将软件安装相关信息以图形化的方式展现给用户;包括步骤:
A、启动二进制启动文件,建立跨平台软件运行环境入口;所述二进制启动文件是针对不同***平台的特性编写的入口函数,承担不同***下安装包的入口;
B、启动解压缩模块,对核心编译解释和图形化环境模块执行解压缩操作,以构建核心编译解释和图形化环境;对跨平台可视化软件安装模块执行解压缩操作,以构建可视化软件安装包界面,并获得安装业务;
C、调用解压缩模块,对平***立模块以及多平台共享模块执行解压缩操作,以提供可视化软件安装包界面以及安装业务所需的数据;对扩展编译解释和图形化环境模块执行解压缩操作,以构建扩展编译解释和图形化环境;
D、根据不同***平台的差异性设置软件安装包运行的环境变量,启动可视化软件安装包界面,并据其执行软件安装包跨平台及可视化的安装。
2.如权利要求1所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤B中,依据所述二进制启动文件,触发对核心编译解释和图形化环境模块、跨平台可视化软件安装模块的解压缩操作。
3.如权利要求1所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤B中,在执行完对核心编译解释和图形化环境模块执行解压缩操作之后,还包括设置***环境变量和参数的步骤。
4.如权利要求1-3任一所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤B中,所述解压缩模块的首次调用是依据所述二进制启动文件触发的。
5.如权利要求1所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤C中,所述扩展编译解释和图形化环境用以完善核心编译解释和图形化环境中缺失的软件运行的必要功能、环境、图形化***的控件及功能。
6.如权利要求5所述的构建跨平台软件运行环境的方法,其特征在于,所述必要功能包括正则表达式功能、XML文件读写功能以及编解码功能。
7.如权利要求5所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤B中,所述跨平台可视化软件安装模块采用跨平台语言开发。
8.如权利要求7所述的构建跨平台软件运行环境的方法,其特征在于,所述跨平台语言为python或wxpython。
9.如权利要求1所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤C中,所述多平台共享模块包含可以为多个平台共享的程序代码文件及程序运行的资源文件。
10.如权利要求1所述的构建跨平台软件运行环境的方法,其特征在于,在所述步骤C中,所述平***立模块包括跨平台软件运行环境依赖的***平***立使用的库函数、配置文件、运行脚本、驱动程序以及为屏蔽不同***平台兼容性问题增加的差异性文件。
11.一种构建跨平台软件运行环境的装置,其特征在于,建立跨平台的可视化图形环境,将软件安装相关信息以图形化的方式展现给用户;包括:二进制启动文件、安装处理模块、解压缩模块、核心编译解释和图形化环境模块、跨平台可视化软件安装模块、扩展编译解释和图形化环境模块、平***立模块以及多平台共享模块,其中,
二进制启动文件,用于建立跨平台软件运行环境入口;所述二进制启动文件是针对不同***平台的特性编写的入口函数,承担不同***下安装包的入口;
安装处理模块,用于依据二进制启动文件触发解压缩模块,控制解压缩模块执行对核心编译解释和图形化环境模块、跨平台可视化软件安装模块、扩展编译解释和图形化环境模块、平***立模块以及多平台共享模块的解压缩操作;
解压缩模块,用于响应安装处理模块的控制,执行对核心编译解释和图形化环境模块、跨平台可视化软件安装模块、扩展编译解释和图形化环境模块、平***立模块以及多平台共享模块的解压缩操作;
核心编译解释和图形化环境模块,在被解压缩之后用于构建核心编译解释和图形化环境;
跨平台可视化软件安装模块,在被解压缩之后用于构建可视化软件安装包界面,并获得安装业务;
扩展编译解释和图形化环境模块,在被解压缩之后用于构建扩展编译解释和图形化环境;
平***立模块,用于保存各个平台之间无法共享的平***立数据;
多平台共享模块,在被解压缩之后用于提供可视化软件安装包界面以及安装业务所需的数据。
CN201110255324.6A 2011-08-31 2011-08-31 一种构建跨平台软件运行环境的方法及装置 Active CN102289374B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110255324.6A CN102289374B (zh) 2011-08-31 2011-08-31 一种构建跨平台软件运行环境的方法及装置
PCT/CN2012/072360 WO2012155631A1 (zh) 2011-08-31 2012-03-15 一种构建跨平台软件运行环境的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110255324.6A CN102289374B (zh) 2011-08-31 2011-08-31 一种构建跨平台软件运行环境的方法及装置

Publications (2)

Publication Number Publication Date
CN102289374A CN102289374A (zh) 2011-12-21
CN102289374B true CN102289374B (zh) 2017-06-30

Family

ID=45335827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110255324.6A Active CN102289374B (zh) 2011-08-31 2011-08-31 一种构建跨平台软件运行环境的方法及装置

Country Status (2)

Country Link
CN (1) CN102289374B (zh)
WO (1) WO2012155631A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289374B (zh) * 2011-08-31 2017-06-30 南京中兴新软件有限责任公司 一种构建跨平台软件运行环境的方法及装置
CN102541601B (zh) * 2011-12-28 2014-09-24 深圳万兴信息科技股份有限公司 一种软件安装包安装界面美化的方法和装置
US20130205277A1 (en) * 2012-02-07 2013-08-08 Telerik, AD Environment and method for cross-platform development of software applications
CN102541609B (zh) * 2012-02-17 2014-07-02 北京星网锐捷网络技术有限公司 安装程序制作方法、装置及网络设备
CN103455700A (zh) * 2012-06-04 2013-12-18 联想(北京)有限公司 一种信息处理的方法
CN103902265B (zh) * 2012-12-26 2018-01-09 腾讯科技(深圳)有限公司 一种应用实现方法及相关装置
CN103077115B (zh) * 2013-01-17 2015-12-23 广东欧珀移动通信有限公司 一种兼容性测试平台搭建方法及装置
CN103218223B (zh) * 2013-03-15 2016-08-17 汉柏科技有限公司 一种vdi兼容多个iaas平台的方法
CN103309715A (zh) * 2013-06-26 2013-09-18 曙光信息产业(北京)有限公司 在高性能集群***中安装分子动力学类应用程序的方法
CN103309716A (zh) * 2013-06-26 2013-09-18 曙光信息产业(北京)有限公司 在高性能集群***中安装计算化学类应用程序的方法
CN103499942B (zh) * 2013-10-14 2016-03-30 龙芯中科技术有限公司 模块配置的处理方法和装置
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置
CN105404523B (zh) * 2014-08-25 2018-10-16 中国石油天然气股份有限公司 设置运行环境的方法及装置
US9740593B2 (en) * 2015-01-08 2017-08-22 International Business Machines Corporation Comparative program execution through control of two or more debug sessions to automatically determine execution differences
CN104731707A (zh) * 2015-03-20 2015-06-24 浪潮集团有限公司 一种iSCSI一致性测试软件IscsiSim在平台间的移植方法
US9986014B2 (en) * 2015-03-27 2018-05-29 Intel Corporation Systems and techniques for web communication
CN106327139A (zh) * 2015-06-17 2017-01-11 派斡信息技术(上海)有限公司 工作空间中对统一化元素进行组合工作的方法以及产品
CN105138327A (zh) * 2015-08-21 2015-12-09 青岛海信移动通信技术股份有限公司 一种跨平台web应用的打包方法
CN105590051B (zh) * 2015-11-18 2018-10-23 ***股份有限公司 用于可信执行环境的可信应用生成及安装方法
CN105867966A (zh) * 2015-12-31 2016-08-17 乐视网信息技术(北京)股份有限公司 应用软件的安装方法及装置
US10235997B2 (en) 2016-05-10 2019-03-19 Google Llc Voice-controlled closed caption display
EP3455720B1 (en) 2016-05-13 2023-12-27 Google LLC Led design language for visual affordance of voice user interfaces
CN106843875B (zh) * 2017-01-19 2019-04-09 杭州数梦工场科技有限公司 跨平台移植Python程序的方法和装置
CN109144575B (zh) * 2017-06-16 2021-07-16 北京海誉动想科技股份有限公司 跨操作***运行应用的装置、方法、电子设备和存储器
CN108768783B (zh) * 2018-06-08 2021-10-22 郑州云海信息技术有限公司 一种循环测试网络连通性的方法及***
CN112486505B (zh) * 2019-09-12 2022-11-25 无锡江南计算技术研究所 容器化跨平台操作***映像构建方法
CN110806891B (zh) * 2019-09-27 2023-09-19 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 嵌入式设备软件版本的生成方法及装置
CN111782189B (zh) * 2020-06-23 2024-03-22 广州市挖米科技有限责任公司 一种医疗***部署方法及装置
CN111857801B (zh) * 2020-07-08 2022-07-05 广州云徙科技有限公司 一种移动应用的构建方法
CN112148351B (zh) * 2020-09-16 2024-05-28 杭州安恒信息技术股份有限公司 一种应用软件跨版本兼容的方法和***
CN116263760A (zh) * 2021-12-15 2023-06-16 华为终端有限公司 文件存储方法、文件访问方法、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082600B1 (en) * 2002-11-04 2006-07-25 Savaje Technologies, Inc. Method and apparatus for integrating a computer application programming language runtime environment with an operating system kernel
CN101038549A (zh) * 2007-03-28 2007-09-19 北京启明星辰信息技术有限公司 一种可跨***的软件升级方法
CN100511143C (zh) * 2007-12-27 2009-07-08 腾讯科技(深圳)有限公司 安装包生成装置及方法、以及安装进度传递方法
CN101681265A (zh) * 2007-06-08 2010-03-24 奥多比公司 组合的应用和执行环境安装
CN101833462A (zh) * 2010-04-01 2010-09-15 山东高效能服务器和存储研究院 一种跨操作***平台的通用的安装程序制作方法
CN102117219A (zh) * 2011-03-09 2011-07-06 深圳市融创天下科技发展有限公司 一种客户端生成的方法、***和终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002015007A1 (en) * 2000-08-10 2002-02-21 Bbnt Solutions Llc Platform independent project built and management tool
CN102289374B (zh) * 2011-08-31 2017-06-30 南京中兴新软件有限责任公司 一种构建跨平台软件运行环境的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082600B1 (en) * 2002-11-04 2006-07-25 Savaje Technologies, Inc. Method and apparatus for integrating a computer application programming language runtime environment with an operating system kernel
CN101038549A (zh) * 2007-03-28 2007-09-19 北京启明星辰信息技术有限公司 一种可跨***的软件升级方法
CN101681265A (zh) * 2007-06-08 2010-03-24 奥多比公司 组合的应用和执行环境安装
CN100511143C (zh) * 2007-12-27 2009-07-08 腾讯科技(深圳)有限公司 安装包生成装置及方法、以及安装进度传递方法
CN101833462A (zh) * 2010-04-01 2010-09-15 山东高效能服务器和存储研究院 一种跨操作***平台的通用的安装程序制作方法
CN102117219A (zh) * 2011-03-09 2011-07-06 深圳市融创天下科技发展有限公司 一种客户端生成的方法、***和终端设备

Also Published As

Publication number Publication date
CN102289374A (zh) 2011-12-21
WO2012155631A1 (zh) 2012-11-22

Similar Documents

Publication Publication Date Title
CN102289374B (zh) 一种构建跨平台软件运行环境的方法及装置
CN110928529B (zh) 辅助算子开发的方法和***
CN105378689B (zh) 用于统一可扩展固件接口(uefi)驱动器和协议的方法和装置
CN110825362A (zh) 低代码应用软件开发***及方法
EP3338179B1 (en) Graphical representation of data in a program code editor
US20030160822A1 (en) System and method for creating graphical user interfaces
CN107450897B (zh) 图形引擎的跨平台移植方法和装置
CN109739600B (zh) 数据处理方法、介质、装置和计算设备
JP4302146B2 (ja) プログラム作成支援装置
CN101374213A (zh) 电视人机界面自定义的实现方法
US8930891B2 (en) Method for visual manipulations of all kinds of programming objects
US20230266970A1 (en) Systems and methods for modernizing legacy applications
CN107122219A (zh) 安装文件的获取方法和装置
CN104699503A (zh) 一种替换安卓***中函数的执行逻辑的方法及装置
CN102486735A (zh) 一种手机软件动态加载方法及装置
US20220245164A1 (en) Systems and methods for componentization and plug and play workflows
US11526363B2 (en) Electronic apparatus and control method thereof
CN111967269A (zh) 业务风险识别方法、装置及电子设备
CN110308959A (zh) 内容展示方法及装置、电子设备和可读存储介质
CN106775608A (zh) 独立***进程的实现方法和装置
CN109710230A (zh) 一种利用静态库实现目标程序生成方法及装置
CN115328543A (zh) 一种实现小程序跨平台的***、设备、存储介质
Wilding-McBride Java Development on PDAs: building applications for PocketPC and Palm devices
CN108089854A (zh) 一种linux***下pci设备驱动开发***
CN112199097B (zh) 安装包生成方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170601

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Applicant after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice

Applicant before: ZTE Corporation

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191106

Address after: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Patentee after: ZTE Communications Co., Ltd.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: Nanjing Zhongxing New Software Co., Ltd.