WO2017005126A1 - 一种面向多硬件平台的应用程序管理方法 - Google Patents

一种面向多硬件平台的应用程序管理方法 Download PDF

Info

Publication number
WO2017005126A1
WO2017005126A1 PCT/CN2016/087640 CN2016087640W WO2017005126A1 WO 2017005126 A1 WO2017005126 A1 WO 2017005126A1 CN 2016087640 W CN2016087640 W CN 2016087640W WO 2017005126 A1 WO2017005126 A1 WO 2017005126A1
Authority
WO
WIPO (PCT)
Prior art keywords
hardware platform
application
temporary file
file directory
version
Prior art date
Application number
PCT/CN2016/087640
Other languages
English (en)
French (fr)
Inventor
张兆琦
Original Assignee
张兆琦
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 张兆琦 filed Critical 张兆琦
Priority to US15/739,707 priority Critical patent/US10824441B2/en
Priority to GB1800020.8A priority patent/GB2555988B/en
Publication of WO2017005126A1 publication Critical patent/WO2017005126A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers
    • 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
    • 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
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Definitions

  • the invention relates to the technical field of application program installation and operation management of a computer operating system, and particularly relates to an application management method for a multi-hardware platform.
  • Computers can't do without a wide variety of applications. For most operating systems, one way users can get applications is to download and install them from the Software Center. However, the hardware platforms of the computers used by people are various. Taking CPUs (central processing units) as an example, CPUs produced by different manufacturers may support different extended instruction sets. CPUs produced by the same manufacturer are often also due to production time or market positioning. It varies from one to the other. In general, newer CPUs will support the new extended instruction set that older CPUs cannot support, while high-end CPUs often support a wider variety of extended instruction sets than the lower-end CPUs of the same period.
  • CPUs central processing units
  • the software downloaded from the Software Center does not use an extended instruction set that is only supported by the latest or higher-end CPUs at compile time, the advantages of these CPUs in supporting more extended instruction sets will not work. If the software compiles with an extended instruction set that only the latest or higher-end CPU supports, and considers that the older or lower-end CPU can also run, the cost may be to make the compiled binary more Larger, more need to take up more storage space, and also extend the time to load the program.
  • various hardware acceleration devices exist in the current computer, such as a video card, a dedicated acceleration card, etc., so the prior art provides a general application software installation package, which is difficult to exploit the hardware advantages of different hardware platforms, and it is difficult to implement different hardware. Platform optimization.
  • the technical problem to be solved by the present invention is that, in view of the above problems of the prior art, a hardware platform capable of adapting an application program to each computer client is provided, the application program has high operation efficiency, simple implementation, and low implementation cost.
  • An application management method for multi-hardware platforms that is compatible with existing operating systems.
  • the technical solution provided by the present invention is:
  • An application management method for a multi-hardware platform comprising:
  • the computer client performs the management operation of the acquired application version.
  • the hardware platform type in the step 1) includes a hardware platform type supporting different GPU acceleration, a hardware platform type supporting different physical acceleration cards, a hardware platform type supporting different CPU extended instruction sets, and a hardware platform supporting different APUs. Types of.
  • the target application is separately compiled into an application supporting different hardware platform types.
  • the version of the application also includes storing the application version on the server; obtaining the found application version in the step 2) specifically refers to downloading the found application version from the server;
  • the universal application version corresponding to the operating system of the computer client specifically refers to the version of the universal application corresponding to the operating system of the computer client downloaded from the server.
  • the method further includes storing the respective application versions on the storage medium; and obtaining the found ones in the step 2)
  • the application version specifically refers to reading the found application version from the storage medium; and obtaining the universal application version corresponding to the operating system of the computer client in the step 2) specifically refers to reading the computer client from the storage medium.
  • step 3 the detailed steps of step 3) include:
  • the operating system of the computer client executes the installation, decompression or running operation of the acquired application version, and places the temporary files required for the application installation, decompression or running operation in the specified next temporary file directory to be deleted or next time. Do not delete the temporary file directory;
  • the next non-deleted temporary file directory created in the step 3.1) specifically refers to a plurality of temporary non-deleted temporary file directories whose names are consecutively numbered; the one specified in the step 3.3) is not deleted next time.
  • the file directory specifically refers to the first non-deleted temporary file directory in the next non-deleted temporary file directory of the consecutive number, and the name of the specified one is not deleted next time.
  • the name of each subsequent non-deleted temporary file directory is changed to the name of the previous temporary file directory; the new one is created in step 3.3).
  • the temporary file directory is not deleted, it means that the last one of the consecutive non-deleted temporary file directories is created, and the last temporary file directory is not deleted.
  • the present invention pre-compiles the target application into an application version supporting different hardware platform types. Establishing a mapping relationship between the hardware platform type and the application version corresponding to the hardware platform type, and specifying a common application version corresponding to each operating system.
  • the computer client needs to obtain the target application, first acquiring the computer client. The hardware platform type, and then, according to the hardware platform type, the mapping relationship between the hardware platform type and the application version corresponding to the hardware platform type is found, and if the application version corresponding to the hardware platform type of the computer client is found, the found application is obtained.
  • the program version if the application version corresponding to the hardware platform type of the computer client is not found, obtaining the universal application version corresponding to the operating system of the computer client, the application can be better adapted to the hardware platform of each computer client.
  • the utility model has the advantages of high efficiency of application running, simple and convenient implementation, low implementation cost, and good compatibility with existing operating systems.
  • the resulting temporary files are deleted in time to ensure that the computer client has good performance and available storage space at runtime, and also prevents malware from occupying the temporary folder and running for a long time.
  • FIG. 1 is a schematic diagram of a basic process of a method according to an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a basic process of step 3) of the method according to an embodiment of the present invention.
  • the steps of the application management method for the multi-hardware platform in this embodiment include:
  • the computer client performs the management operation of the acquired application version.
  • the hardware platform type in step 1) includes a hardware platform type supporting different GPU acceleration, a hardware platform type supporting different physical acceleration cards, a hardware platform type supporting different CPU extended instruction sets, and a hardware platform supporting different APUs.
  • the hardware platform type that supports different CPU extension instruction sets includes the following types: (1) supporting both SSE4 and AVX; (2) supporting SSE4 but not AVX; (3), Neither SSE4 nor AVX is supported. Since the CPU supporting AVX can generally support SSE4, it does not need to support SSE4 but supports AVX.
  • step 1) when compiling the target application to support the application version of different hardware platform types, it is necessary to compile the software program into the above different CPU extensions by controlling the parameters at compile time.
  • the application version of the hardware platform type of the instruction set is necessary to compile the software program into the above different CPU extensions by controlling the parameters at compile time.
  • the mapping relationship between the hardware platform type and the application version corresponding to the hardware platform type is established in step 1), and the common application version corresponding to each operating system is specified by the naming rule of the application version.
  • a mapping relationship between the hardware platform type and the application version corresponding to the hardware platform type is determined.
  • the mapping relationship between the hardware platform type and the application version corresponding to the hardware platform type can be determined by mapping the relational table file (for example, an ini file or other type configuration file, database file, registry, etc.).
  • the application version is stored on the server; and the found application version is obtained in step 2).
  • the version of the application found is downloaded from the server; the version of the universal application corresponding to the operating system of the computer client in step 2) specifically refers to the version of the universal application corresponding to the operating system of the computer client downloaded from the server.
  • the operation subject is a software center of the computer client, and may be other types of services or programs.
  • step 3 the detailed steps of step 3) in this embodiment include:
  • next temporary file directory to be deleted for placing the application installation or running operation is deleted, and at least one temporary file directory is not deleted next time; in this embodiment, Next time you want to delete the temporary file directory as "/hddtmp/0/", the next time you delete the temporary file directory is "/hddtmp/1/" ⁇ "/hddtmp/5/"; no doubt, you can just use One will not delete the temporary file directory next time;
  • the operating system of the computer client executes the installation, decompression or running operation of the obtained application version, and places the temporary files required for the application installation, decompression or running operation in the specified next temporary file directory to be deleted "/hddtmp /0/" or next time you do not delete the temporary file directory ("/hddtmp/1/" ⁇ "/hddtmp/5/"));
  • the program can be abnormally exited, executed, powered off, crashed, software writer negligent or have other purposes (for example, The temporary files generated by the malware are deleted in time to ensure that the computer client has good performance and available storage space at runtime, and also prevents malware from occupying the temporary folder and running for a long time.
  • Temporary files of existing applications are generally stored in the specified directory. For the application, if the temporary files are deleted directly, some important temporary files will be lost, which may cause irreparable damage; Temporary files are not deleted, which in turn causes temporary files to occupy unnecessary storage space, resulting in wasted computer resources and slowing down the operation of the operating system.
  • the next non-deleted temporary file directory created in step 3.1) specifically refers to a plurality of temporary file directories whose names are consecutively numbered; the one specified in step 3.3) is not deleted next time.
  • the file directory specifically refers to the first non-deleted temporary file directory in the next non-deleted temporary file directory of the consecutive number, and the name of the specified one is not deleted next time.
  • the name of each subsequent non-deleted temporary file directory is changed to the name of the previous temporary file directory; the new one is created in step 3.3).
  • the temporary file directory is not deleted, it means that the last one of the consecutive non-deleted temporary file directories is created, and the last temporary file directory is not deleted. For example, in this embodiment, after “/hddtmp/1/" is changed to "/hddtmp/0/”, “/hddtmp/2/” is sequentially changed to "/hddtmp/1/”, and "/hddtmp/3" is set.
  • the temporary files of the application will not be deleted directly, but will be moved in the order of "/hddtmp/5/" to "/hddtmp/1/", so that the user has multiple times (specifically 5 times in this embodiment)

Abstract

一种面向多硬件平台的应用程序管理方法,步骤包括:预先编译支持不同硬件平台类型的应用程序版本,建立硬件平台类型和应用程序版本之间的映射关系、指定通用应用程序版本;当计算机客户端需要获取目标应用程序时,获取硬件平台类型,查找硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系,如找到对应的应用程序版本,则获取所找到的应用程序版本;如未找到对应的应用程序版本,则获取通用应用程序版本;执行所获取应用程序版本的管理操作。该方法能够让应用程序更好地适应每一台计算机客户端的硬件平台,具有应用程序运行效率高、实施简单方便、实施成本低、和现有操作系统兼容性好的优点。

Description

一种面向多硬件平台的应用程序管理方法 【技术领域】
本发明涉及计算机操作系统的应用程序安装及运行管理技术领域,具体涉及一种面向多硬件平台的应用程序管理方法。
【背景技术】
计算机的运行离不开多种多样的应用程序,对于多数操作系统而言,用户可获取应用程序的一种方式是从软件中心下载并安装。但是,人们使用的计算机的硬件平台多种多样,以CPU(中央处理器)为例,不同厂商生产的CPU可能支持不同的扩展指令集,同一厂商生产的CPU往往也会因生产时期或市场定位不同而有所不同。一般而言,新型号CPU会支持旧型号CPU所不能支持的新扩展指令集,而高端CPU也常会比同时期的低端CPU支持更多种类的扩展指令集。如果从软件中心下载的软件在编译时不使用只有最新的或较高端的CPU才支持的扩展指令集,那么这些CPU在支持更多扩展指令集上所具备的优势就无法发挥出来。如果软件在编译时使用了只有最新的或较高端的CPU才支持的扩展指令集,同时要考虑让较老型号或较低端CPU也能运行,那么代价则可能是使得编译出来的二进制程序更大,从更需要占用更多存储空间,也延长了载入程序的时间。此外,目前的计算机中还存在各种硬件加速设备,例如显卡、专用加速卡等设备,因此现有技术提供通用的应用程序软件安装包,难以发挥不同硬件平台的硬件优势,难以实现针对不同硬件平台的优化。对于一些提供了源代码的软件,用户虽然可以通过自行编译安装的方式使得该软件在自己的机器上获得良好的性能。众所周知,自行编译安装需要安装编译环境,编译环境的安装配置通常比较复杂,需要对本地计算机的硬件平台足够了解,而且编译软件本身也是件较为费时费电的事情,因此,毫无疑问这增加了使用的难度和麻烦,同时许多相同平台的重复编译工作也浪费了大量的时间和能源。因此,如何让应用程序能够性能最大化地适应不同硬件平台结构,使得其在不同硬件平台实现最大程度的优化,已经成为一项亟待解决的关键技术问题。
此外,计算机中使用的很多种应用程序的安装和运行都需要用到临时文件。然而,由于程序异常退出、执行出错、停电、死机、软件编写者疏忽或者有其它的目的,相当数量的临时文件没能在用完后及时被删除。传统上,系统中临时文件往往会随着系统中各种软件的使用而越来越多,这些文件占用了大量本来可以释放的存储空间。如果这类多余文件 所占的空间过大,则可能会影响到系统的正常使用。这时往往就需要花费一些时间和精力来进行“垃圾文件”清理工作,甚至需要重新安装系统。某些时候,人们会利用内存在断电时内容会丢失的特性,将内存虚拟成一个分区,并将临时文件保存在其中。这样,每次计算机启动时,临时文件目录将会是空的。但这也会带来一些问题。比如,内存空间在很多情况下是十分宝贵的资源,将其用来存放临时文件不总是合适的。并且,有些临时文件需要在系统重新启动之后使用,这种临时文件就不能存放在内存中。因此,在应用程序的安装和运行时,如何实现减少临时文件的空间占用、如何实现各种临时文件的安全清理,同样也已经成为一项亟待解决的关键技术问题。
【发明内容】
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种能够让应用程序更好地适应每一台计算机客户端的硬件平台、应用程序运行效率高、实施简单方便、实施成本低、和现有操作系统兼容性好的面向多硬件平台的应用程序管理方法。
为了解决上述技术问题,本发明提供的技术方案为:
一种面向多硬件平台的应用程序管理方法,步骤包括:
1)预先将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本,建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本;
2)当计算机客户端需要获取目标应用程序时,首先获取该计算机客户端的硬件平台类型,然后根据所述硬件平台类型查找所述硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系,如果找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取所找到的应用程序版本;如果未找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取该计算机客户端的操作系统对应的通用应用程序版本;
3)计算机客户端执行所获取应用程序版本的管理操作。
优选地,所述步骤1)中的硬件平台类型包括支持不同GPU加速的硬件平台类型、支持不同物理加速卡的硬件平台类型、支持不同CPU扩展指令集的硬件平台类型、支持不同APU的硬件平台类型。
优选地,所述步骤1)中建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本具体是通过应用程序版本的命名规则或者映射关系表文件确定硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系。
优选地,所述步骤1)中将目标应用程序分别编译为支持不同硬件平台类型的应用程 序版本时,还包括将各个应用程序版本存储在服务器上;所述步骤2)中获取所找到的应用程序版本具体是指从服务器下载所找到的应用程序版本;所述步骤2)中获取该计算机客户端的操作系统对应的通用应用程序版本具体是指从服务器下载该计算机客户端的操作系统对应的通用应用程序版本。
优选地,所述步骤1)中将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本时,还包括将各个应用程序版本存储在存储介质上;所述步骤2)中获取所找到的应用程序版本具体是指从存储介质上读取所找到的应用程序版本;所述步骤2)中获取该计算机客户端的操作系统对应的通用应用程序版本具体是指从存储介质上读取该计算机客户端的操作系统对应的通用应用程序版本。
优选地,所述步骤3)的详细步骤包括:
3.1)预先在计算机客户端的操作系统启动过程中建立用于放置应用程序安装或运行操作所需临时文件的下次要删临时文件目录和至少一个下次不删临时文件目录;
3.2)计算机客户端的操作系统执行所获取应用程序版本的安装、解压或运行操作,并将应用程序安装、解压或运行操作所需的临时文件放置在指定的下次要删临时文件目录或者下次不删临时文件目录中;
3.3)判断是否达到预设的临时文件目录切换触发条件,当达到预设的临时文件目录切换触发条件时,将下次要删临时文件目录删除,将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字,使得所述指定的下次不删临时文件目录成为新的下次要删临时文件目录;创建一个新的下次不删临时文件目录。
优选地,所述步骤3.3)中的临时文件目录切换触发条件具体是指操作系统启动、指定的应用程序启动、下次要删临时文件目录的存在时间达到指定时间、定时触发、用户发出强制切换指令五种触发条件中的一种。
优选地,所述步骤3.1)中创建的下次不删临时文件目录具体是指名称采用连续编号的多个下次不删临时文件目录;所述步骤3.3)中指定的一个下次不删临时文件目录具体是指所述连续编号的多个下次不删临时文件目录中的第一个下次不删临时文件目录,且在将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字后,依次将后续的每一个下次不删临时文件目录的名称更改为上一个下次不删临时文件目录的名称;所述步骤3.3)中创建一个新的下次不删临时文件目录时,具体是指创建所述连续编号的多个下次不删临时文件目录中最后一个下次不删临时文件目录。
本发明面向多硬件平台的应用程序管理方法具有下述优点:
1、本发明预先将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本, 建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本,当计算机客户端需要获取目标应用程序时,首先获取该计算机客户端的硬件平台类型,然后根据硬件平台类型查找硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系,如果找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取所找到的应用程序版本;如果未找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取该计算机客户端的操作系统对应的通用应用程序版本,能够让应用程序更好地适应每一台计算机客户端的硬件平台,具有应用程序运行效率高、实施简单方便、实施成本低、和现有操作系统兼容性好的优点。
2、本发明进一步建立下次要删临时文件目录和至少一个下次不删临时文件目录,将应用程序安装、解压或运行操作所需的临时文件放置在下次要删临时文件目录或者下次不删临时文件目录中,判断是否达到预设的临时文件目录切换触发条件,当达到预设的临时文件目录切换触发条件时,将下次要删临时文件目录删除,将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字,使得指定的下次不删临时文件目录成为新的下次要删临时文件目录,创建一个新的下次不删临时文件目录。基于下次要删临时文件目录和至少一个下次不删临时文件目录的切换操作,能够实现将程序异常退出、执行出错、停电、死机、软件编写者疏忽或者有其它的目的(例如恶意软件)产生的临时文件及时删除,确保计算机客户端在运行时具有良好的性能以及可用存储空间,而且还能够防止恶意软件长期占据在临时文件夹中并得以运行。
【附图说明】
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例方法步骤3)的基本流程示意图。
【具体实施方式】
如图1所示,本实施例面向多硬件平台的应用程序管理方法的步骤包括:
1)预先将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本,建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本;
2)当计算机客户端需要获取目标应用程序时,首先获取该计算机客户端的硬件平台类型,然后根据硬件平台类型查找硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系,如果找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取所找到的应用程序版本;如果未找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取该计算机客户端的操作系统对应的通用应用程序版本;
3)计算机客户端执行所获取应用程序版本的管理操作。
本实施例中,步骤1)中的硬件平台类型包括支持不同GPU加速的硬件平台类型、支持不同物理加速卡的硬件平台类型、支持不同CPU扩展指令集的硬件平台类型、支持不同APU的硬件平台类型。以支持不同CPU扩展指令集的硬件平台类型为例,本实施例中包括以下几种类型:(1)、既支持SSE4又支持AVX;(2)、支持SSE4但不支持AVX;(3)、既不支持SSE4也不支持AVX。由于支持AVX的CPU一般也能支持SSE4,所以不支持SSE4但支持AVX这种情况可以不必考虑。针对上述不同CPU扩展指令集的硬件平台类型,步骤1)将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本时,需要通过控制编译时的参数,将软件程序编译为上述不同CPU扩展指令集的硬件平台类型对应的应用程序版本。
本实施例中,步骤1)中建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本具体是通过应用程序版本的命名规则确定硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系。毫无疑问,还可以通过映射关系表文件(例如ini文件或者其他类型配置文件、数据库文件、注册表等)确定硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系等。
本实施例中,步骤1)中将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本时,还包括将各个应用程序版本存储在服务器上;步骤2)中获取所找到的应用程序版本具体是指从服务器下载所找到的应用程序版本;步骤2)中获取该计算机客户端的操作系统对应的通用应用程序版本具体是指从服务器下载该计算机客户端的操作系统对应的通用应用程序版本。本实施例步骤2)中获取所找到的应用程序版本时,操作主体是计算机客户端的软件中心,此外也可以是其他类型的服务或者程序。
如图2所示,本实施例步骤3)的详细步骤包括:
3.1)预先在计算机客户端的操作系统启动过程中建立用于放置应用程序安装或运行操作所需临时文件的下次要删临时文件目录和至少一个下次不删临时文件目录;本实施例中,下次要删临时文件目录为“/hddtmp/0/”,建立的下次不删临时文件目录为“/hddtmp/1/”~“/hddtmp/5/”;毫无疑问,也可以仅仅采用一个下次不删临时文件目录;
3.2)计算机客户端的操作系统执行所获取应用程序版本的安装、解压或运行操作,并将应用程序安装、解压或运行操作所需的临时文件放置在指定的下次要删临时文件目录“/hddtmp/0/”或者下次不删临时文件目录(“/hddtmp/1/”~“/hddtmp/5/”中的某一个)中;
3.3)判断是否达到预设的临时文件目录切换触发条件,当达到预设的临时文件目录切 换触发条件时,将下次要删临时文件目录“/hddtmp/0/”删除,将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字“/hddtmp/0/”,使得指定的下次不删临时文件目录成为新的下次要删临时文件目录;创建一个新的下次不删临时文件目录。本实施例中,指定的一个下次不删临时文件目录的名字具体为“/hddtmp/1/”,此外也可以根据需要指定其他的下次要删临时文件目录。
本实施例基于下次要删临时文件目录和至少一个下次不删临时文件目录的切换操作,能够实现将程序异常退出、执行出错、停电、死机、软件编写者疏忽或者有其它的目的(例如恶意软件)产生的临时文件及时删除,确保计算机客户端在运行时具有良好的性能以及可用存储空间,而且还能够防止恶意软件长期占据在临时文件夹中并得以运行。
本实施例中,步骤3.3)中的临时文件目录切换触发条件具体是指操作系统启动,操作系统启动作为临时文件目录切换触发条件,能够确保应用程序在未启动状态进行临时文件目录切换,防止由于应用程序占用下次要删临时文件目录或下次不删临时文件目录而导致临时文件目录切换失败,可靠性更好。此外,还可以根据需要采用指定的应用程序(例如软件中心或者某一个特定的应用程序)启动、下次要删临时文件目录的存在时间达到指定时间、定时触发、用户发出强制切换指令等触发条件。
现有的应用程序的临时文件一般是存储在指定的目录下,对于应用程序而言,如果直接把临时文件删除,则会导致某些重要的临时文件丢失,可能导致难以挽回的损失;如果将临时文件不删除,又会导致临时文件占用不必要的存储空间,导致计算机资源的浪费,拖慢操作系统的运行。本实施例中,步骤3.1)中创建的下次不删临时文件目录具体是指名称采用连续编号的多个下次不删临时文件目录;所述步骤3.3)中指定的一个下次不删临时文件目录具体是指所述连续编号的多个下次不删临时文件目录中的第一个下次不删临时文件目录,且在将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字后,依次将后续的每一个下次不删临时文件目录的名称更改为上一个下次不删临时文件目录的名称;所述步骤3.3)中创建一个新的下次不删临时文件目录时,具体是指创建所述连续编号的多个下次不删临时文件目录中最后一个下次不删临时文件目录。例如本实施例中,将“/hddtmp/1/”修改为“/hddtmp/0/”后,依次将“/hddtmp/2/”修改为“/hddtmp/1/”,将“/hddtmp/3/”修改为“/hddtmp/2/”,将“/hddtmp/4/”修改为“/hddtmp/3/”,将“/hddtmp/5/”修改为“/hddtmp/4/”,最终新建一个“/hddtmp/5/”。通过上述规则,能够确保每一个应用程序对应的临时文件目录的存储规则简单明确,不需要额外的目录映射,比如某应用程序的临时文件本次放置在“/hddtmp/3/”中,那么在满足临时文件目录切换触发条件并进行一次临时文件目录切换后,则该应用程序的临时文件就会进入到“/hddtmp/2/” 中,应用程序自动从“/hddtmp/2/”中读取临时文件即可。一方面,应用程序的临时文件不会被直接删除,而是依次在“/hddtmp/5/”~“/hddtmp/1/”中移动,使得用户存在多次(本实施例具体为5次)找回重要临时文件的机会,防止造成难以挽回的损失;另一方面,由于临时文件依次在“/hddtmp/5/”~“/hddtmp/1/”中移动,最终经过多次移动后会被删除,从而有效防止临时文件占用不必要的存储空间,减少计算机资源的浪费,确保操作系统的高效运行。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

  1. 一种面向多硬件平台的应用程序管理方法,其特征在于步骤包括:
    1)预先将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本,建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本;
    2)当计算机客户端的操作系统需要获取目标应用程序时,首先获取该计算机客户端的硬件平台类型,然后根据所述硬件平台类型查找所述硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系,如果找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取所找到的应用程序版本;如果未找到该计算机客户端的硬件平台类型对应的应用程序版本,则获取该计算机客户端的操作系统对应的通用应用程序版本;
    3)计算机客户端执行所获取应用程序版本的管理操作。
  2. 根据权利要求1所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤1)中的硬件平台类型包括支持不同GPU加速的硬件平台类型、支持不同物理加速卡的硬件平台类型、支持不同CPU扩展指令集的硬件平台类型、支持不同APU的硬件平台类型。
  3. 根据权利要求2所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤1)中建立硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系、指定每一种操作系统对应的通用应用程序版本具体是通过应用程序版本的命名规则或者映射关系表文件确定硬件平台类型和该硬件平台类型对应的应用程序版本之间的映射关系。
  4. 根据权利要求3所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤1)中将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本时,还包括将各个应用程序版本存储在服务器上;所述步骤2)中获取所找到的应用程序版本具体是指从服务器下载所找到的应用程序版本;所述步骤2)中获取该计算机客户端的操作系统对应的通用应用程序版本具体是指从服务器下载该计算机客户端的操作系统对应的通用应用程序版本。
  5. 根据权利要求3所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤1)中将目标应用程序分别编译为支持不同硬件平台类型的应用程序版本时,还包括将各个应用程序版本存储在存储介质上;所述步骤2)中获取所找到的应用程序版本具体是指从存储介质上读取所找到的应用程序版本;所述步骤2)中获取该计算机客户端的操作 系统对应的通用应用程序版本具体是指从存储介质上读取该计算机客户端的操作系统对应的通用应用程序版本。
  6. 根据权利要求1~5中任意一项所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤3)的详细步骤包括:
    3.1)预先在计算机客户端的操作系统启动过程中建立用于放置应用程序安装或运行操作所需临时文件的下次要删临时文件目录和至少一个下次不删临时文件目录;
    3.2)计算机客户端的操作系统执行所获取应用程序版本的安装、解压或运行操作,并将应用程序安装、解压或运行操作所需的临时文件放置在指定的下次要删临时文件目录或者下次不删临时文件目录中;
    3.3)判断是否达到预设的临时文件目录切换触发条件,当达到预设的临时文件目录切换触发条件时,将下次要删临时文件目录删除,将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字,使得所述指定的下次不删临时文件目录成为新的下次要删临时文件目录;创建一个新的下次不删临时文件目录。
  7. 根据权利要求6所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤3.3)中的临时文件目录切换触发条件具体是指操作系统启动、指定的应用程序启动、下次要删临时文件目录的存在时间达到指定时间、定时触发、用户发出强制切换指令五种触发条件中的一种。
  8. 根据权利要求7所述的面向多硬件平台的应用程序管理方法,其特征在于,所述步骤3.1)中创建的下次不删临时文件目录具体是指名称采用连续编号的多个下次不删临时文件目录;所述步骤3.3)中指定的一个下次不删临时文件目录具体是指所述连续编号的多个下次不删临时文件目录中的第一个下次不删临时文件目录,且在将指定的一个下次不删临时文件目录的名字修改为下次要删临时文件目录的名字后,依次将后续的每一个下次不删临时文件目录的名称更改为上一个下次不删临时文件目录的名称;所述步骤3.3)中创建一个新的下次不删临时文件目录时,具体是指创建所述连续编号的多个下次不删临时文件目录中最后一个下次不删临时文件目录。
PCT/CN2016/087640 2015-07-06 2016-06-29 一种面向多硬件平台的应用程序管理方法 WO2017005126A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/739,707 US10824441B2 (en) 2015-07-06 2016-06-29 Application program management method for multiple hardware platforms
GB1800020.8A GB2555988B (en) 2015-07-06 2016-06-29 Application program management method for multiple hardware platforms

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510389569.6A CN104978224B (zh) 2015-07-06 2015-07-06 一种面向多硬件平台的应用程序管理方法
CN201510389569.6 2015-07-06

Publications (1)

Publication Number Publication Date
WO2017005126A1 true WO2017005126A1 (zh) 2017-01-12

Family

ID=54274757

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/087640 WO2017005126A1 (zh) 2015-07-06 2016-06-29 一种面向多硬件平台的应用程序管理方法

Country Status (4)

Country Link
US (1) US10824441B2 (zh)
CN (1) CN104978224B (zh)
GB (1) GB2555988B (zh)
WO (1) WO2017005126A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035119A (zh) * 2020-08-28 2020-12-04 北京奇艺世纪科技有限公司 一种数据删除方法及装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933187B (zh) * 2015-07-06 2019-02-01 张兆琦 一种用于操作系统或者应用程序的临时文件管理方法
CN104978224B (zh) * 2015-07-06 2018-11-20 张兆琦 一种面向多硬件平台的应用程序管理方法
CN111767072B (zh) * 2019-04-02 2023-03-14 浙江宇视科技有限公司 客户端制作方法及装置
CN111930691B (zh) * 2020-10-16 2021-01-12 北京美摄网络科技有限公司 一种模型调用方法、装置及系统
CN113590367B (zh) * 2021-06-22 2023-03-10 展讯半导体(南京)有限公司 应用程序的退出处理方法、系统、设备及存储介质
CN113254093A (zh) * 2021-07-06 2021-08-13 西安芯瞳半导体技术有限公司 自适应系统架构的gpu初始化方法、装置及计算机存储介质
CN113849200B (zh) * 2021-12-01 2022-03-29 北京麟卓信息科技有限公司 一种安卓应用在安卓兼容环境中的安装优化方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326155A (zh) * 2000-05-25 2001-12-12 英业达股份有限公司 即时生成文件版本的方法
CN101833462A (zh) * 2010-04-01 2010-09-15 山东高效能服务器和存储研究院 一种跨操作系统平台的通用的安装程序制作方法
CN102520948A (zh) * 2011-12-09 2012-06-27 福建联迪商用设备有限公司 应用程序维护更新方法和装置
CN104094225A (zh) * 2011-11-28 2014-10-08 韦斯技术有限公司 创建或安装用于具有多个硬件平台中的一个的目标装置的磁盘映像
CN104978224A (zh) * 2015-07-06 2015-10-14 张兆琦 一种面向多硬件平台的应用程序管理方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3227542B2 (ja) * 1991-06-17 2001-11-12 サン・マイクロシステムズ・インコーポレーテッド 特定のコンピュータ・ハードウェア・アーキテクチャのために作成されたソフトウェアのバージョンの互換性を確保する装置および方法
KR100241894B1 (ko) * 1997-05-07 2000-02-01 윤종용 개인통신 시스템의 코드분할 접속방식 기지국 시스템에서 소프트웨어 관리방법
US6263497B1 (en) * 1997-07-31 2001-07-17 Matsushita Electric Industrial Co., Ltd. Remote maintenance method and remote maintenance apparatus
US6473897B1 (en) * 1998-04-13 2002-10-29 Intel Corporation Method and apparatus for generating multiple processor-specific code segments in a single executable
US6611836B2 (en) * 2000-12-26 2003-08-26 Simdesk Technologies, Inc. Server-side recycle bin system
US20030066060A1 (en) * 2001-09-28 2003-04-03 Ford Richard L. Cross profile guided optimization of program execution
US7243094B2 (en) * 2002-05-31 2007-07-10 Softek Storage Solutions Corporation Method and system for intelligent storage management
US20060136501A1 (en) * 2004-12-21 2006-06-22 International Business Machines Corporation Method and apparatus for saving and restoring parameter values set with user commands
JP3942617B2 (ja) * 2005-02-10 2007-07-11 株式会社日立製作所 分散処理システムの計算機資源管理方法
US20090042177A1 (en) * 2006-01-17 2009-02-12 Ignite Learning, Inc. Portable standardized curriculum content delivery system and method
US20080005111A1 (en) * 2006-05-08 2008-01-03 Microsoft Corporation Atomic transaction file manager
US8392962B2 (en) * 2006-08-18 2013-03-05 At&T Intellectual Property I, L.P. Web-based collaborative framework
US20090144830A1 (en) * 2007-11-29 2009-06-04 Ignite Learning, Inc. Secure digital content delivery system and method
US7818622B2 (en) * 2008-04-29 2010-10-19 International Business Machines Corporation Method for recovering data processing system failures
US8516080B2 (en) * 2008-12-03 2013-08-20 Mobophiles, Inc. System and method for providing virtual web access
US8380676B1 (en) * 2009-05-27 2013-02-19 Google Inc. Automatic deletion of temporary files
US20110088011A1 (en) * 2009-10-14 2011-04-14 Vermeg Sarl Automated Enterprise Software Development
US8645934B2 (en) * 2010-05-06 2014-02-04 International Business Machines Corporation Simultaneous compiler binary optimizations
JP5240264B2 (ja) * 2010-09-17 2013-07-17 コニカミノルタビジネステクノロジーズ株式会社 画像情報処理装置、画像情報処理システムおよびコンピュータプログラム
CN102955702B (zh) * 2011-08-23 2016-08-10 腾讯科技(深圳)有限公司 一种软件安装及升级方法和装置
US9195443B2 (en) * 2012-01-18 2015-11-24 International Business Machines Corporation Providing performance tuned versions of compiled code to a CPU in a system of heterogeneous cores
CN102571446A (zh) * 2012-02-08 2012-07-11 华为技术有限公司 网络设备的升级方法、装置及系统
US10402208B2 (en) * 2012-06-18 2019-09-03 Microsoft Technology Licensing, Llc Adaptive portable libraries
CN102984209B (zh) * 2012-11-06 2016-01-27 王玉娇 一种应用程序的分发方法及其终端
US20140137090A1 (en) * 2012-11-12 2014-05-15 Sgn Games, Inc. System and method of cross-platform software development and compilation
CN103279477A (zh) * 2013-04-16 2013-09-04 百度在线网络技术(北京)有限公司 应用程序的搜索方法、装置和系统
CN104111827B (zh) * 2013-04-22 2018-10-09 腾讯科技(深圳)有限公司 应用程序匹配方法及装置
US9032379B2 (en) * 2013-06-21 2015-05-12 Oracle International Corporation Platform specific optimizations in static compilers
US9471798B2 (en) * 2013-09-20 2016-10-18 Oracle International Corporation Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm
US9378063B2 (en) * 2013-10-15 2016-06-28 Qualcomm Incorporated Mobile coprocessor system and methods
CN103699404B (zh) * 2013-12-04 2016-11-23 四川长虹电器股份有限公司 一种同机芯不同机型对应多个预制应用程序的方法
US9832272B2 (en) * 2014-03-04 2017-11-28 Google Inc. Dynamically shifting map-related tasks
US20160019037A1 (en) * 2014-07-21 2016-01-21 Xamarin Inc. Managing parameter types for generic functions
US9519468B2 (en) * 2015-02-13 2016-12-13 Oracle International Corporation Modular co-versioning in a dynamically linked runtime environment
US10185547B2 (en) * 2015-06-26 2019-01-22 Intel Corporation Techniques for distributed operation of secure controllers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326155A (zh) * 2000-05-25 2001-12-12 英业达股份有限公司 即时生成文件版本的方法
CN101833462A (zh) * 2010-04-01 2010-09-15 山东高效能服务器和存储研究院 一种跨操作系统平台的通用的安装程序制作方法
CN104094225A (zh) * 2011-11-28 2014-10-08 韦斯技术有限公司 创建或安装用于具有多个硬件平台中的一个的目标装置的磁盘映像
CN102520948A (zh) * 2011-12-09 2012-06-27 福建联迪商用设备有限公司 应用程序维护更新方法和装置
CN104978224A (zh) * 2015-07-06 2015-10-14 张兆琦 一种面向多硬件平台的应用程序管理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035119A (zh) * 2020-08-28 2020-12-04 北京奇艺世纪科技有限公司 一种数据删除方法及装置
CN112035119B (zh) * 2020-08-28 2024-03-08 北京奇艺世纪科技有限公司 一种数据删除方法及装置

Also Published As

Publication number Publication date
GB2555988B (en) 2020-04-29
GB201800020D0 (en) 2018-02-14
CN104978224B (zh) 2018-11-20
US10824441B2 (en) 2020-11-03
GB2555988A (en) 2018-05-16
US20180189082A1 (en) 2018-07-05
CN104978224A (zh) 2015-10-14

Similar Documents

Publication Publication Date Title
WO2017005126A1 (zh) 一种面向多硬件平台的应用程序管理方法
US8751783B2 (en) Booting computing devices with EFI aware operating systems
EP2996038B1 (en) Stateless virtual machine in cloud computing environment and application thereof
CN110134446B (zh) 启动pcie设备扫描的方法
WO2016165597A1 (zh) 数据存储的处理方法及装置
CN112099800B (zh) 代码数据的处理方法、装置和服务器
WO2020224238A1 (zh) 区块链节点的部署方法、装置、设备及存储介质
CN107329792B (zh) 一种Docker容器启动方法及装置
US20130024857A1 (en) Method and system for flexible resource mapping for virtual storage appliances
CN103777981A (zh) 一种适用于x86架构的多操作系统远程加载实现方法
CN107465709B (zh) 分布式镜像构建任务方法及装置、系统
CN103136005A (zh) 更新固件的方法
WO2020224236A1 (zh) 区块链数据处理的装置、方法、系统及存储介质
WO2019237822A1 (zh) 一种安卓系统开机速度控制方法、智能设备及存储介质
US10540320B2 (en) Temporary file management method for operating system or applications
WO2017020460A1 (zh) 一种集成插件的方法和装置
CN102929662A (zh) 一种基于网络批量分区的方法
CN105279011A (zh) 一种虚拟机可根据镜像进行系统还原的方法
WO2017206302A1 (zh) 一种应用程序的运行方法和运行装置
WO2016131294A1 (zh) 版本升级处理方法及装置
CN109683965B (zh) 一种bios状态查看方法及装置
CN112506574A (zh) ARM服务器中基于CentOS带内修改BIOS配置选项的方法
WO2017128589A1 (zh) 可运行文件生成方法、art虚拟机运行方法和装置
CN113886342A (zh) 文件的格式转换方法、装置、存储介质及处理器
CN108363607B (zh) 一种云平台虚拟机的虚拟链路断电恢复方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16820777

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 201800020

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20160629

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16820777

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 16820777

Country of ref document: EP

Kind code of ref document: A1