CN111078704A - 基于分层增量存储的超程包仓库构建方法、设备及介质 - Google Patents
基于分层增量存储的超程包仓库构建方法、设备及介质 Download PDFInfo
- Publication number
- CN111078704A CN111078704A CN201911321836.0A CN201911321836A CN111078704A CN 111078704 A CN111078704 A CN 111078704A CN 201911321836 A CN201911321836 A CN 201911321836A CN 111078704 A CN111078704 A CN 111078704A
- Authority
- CN
- China
- Prior art keywords
- overtravel
- package
- hierarchical
- warehouse
- resources
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分层增量存储的超程包仓库构建方法、设备及介质,该方法包括步骤:获取应用程序对应的超程包,计算各个超程包每一分层资源对应的特征值;根据所述特征值对所述分层资源执行去重操作,得到去重后的分层资源;构建所述超程包与对应特征值之间的映射关系表,并根据去重后的分层资源和所述映射关系表建立超程包仓库。本发明减少了存储超程包对应分层资源所需的存储空间,提高了存储超程包,即超程包仓库对应信息系统的存储空间利用率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于分层增量存储的超程包仓库构建方法、设备及介质。
背景技术
超程是一个具有一定独立功能的应用程序在一个资源集上的动态执行过程,是操作系统调度运行应用时的最小单元,它由应用程序、应用程序所依赖的支撑库、以及其它必要的运行环境和系统资源组成。超程包是一个文件,它将应用程序、应用程序所依赖的支撑库、以及其它必要的运行环境和系统资源都封装到一个预定义标准格式的文件中,这个特殊的文件就被称为超程包,超程包与超程包之间是松耦合的,每个超程包中都包含可以支撑其独立运行的资源,因此一个常用的运行资源可能会被包含在多个超程包中。而信息系统存储资源的存储空间有限,由此可知,目前超程包存储所需的存储空间大,从而导致存储超程包的信息系统的存储空间利用率低下。
发明内容
本发明的主要目的在于提供一种基于分层增量存储的超程包仓库构建方法、设备及介质,旨在解决现有的超程包存储所需的存储空间大,从而导致存储超程包的信息系统的存储空间利用率低下的技术问题。
为实现上述目的,本发明提供一种基于分层增量存储的超程包仓库构建方法,所述基于分层增量存储的超程包仓库构建方法包括步骤:
获取应用程序对应的超程包,计算各个超程包每一分层资源对应的特征值;
根据所述特征值对所述分层资源执行去重操作,得到去重后的分层资源;
构建所述超程包与对应特征值之间的映射关系表,并根据去重后的分层资源和所述映射关系表建立超程包仓库。
优选地,所述构建所述超程包与对应特征值之间的映射关系表,并根据去重后的分层资源和所述映射关系表建立超程包仓库的步骤之后,还包括:
接收操作所述超程包仓库的操作指令,并确定所述操作指令的指令类型;
对所述操作指令对应的目标超程包执行与所述指令类型对应的操作。
优选地,若所述操作指令为导入指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
计算所述导入指令对应目标超程包分层资源的目标特征值,并检测所述目标特征值是否存在所述超程包仓库的关系映射表中;
若检测到所述目标特征值未存在所述超程包仓库的关系映射表中,则将所述目标特征值对应的分层资源存储至所述超程包仓库中,并构建所述目标超程包与所述目标特征值之间的映射关系,以更新所述超程包仓库的关系映射表。
优选地,若所述操作指令为导出指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
在所述超程包仓库的关系映射表中查找所述导出指令对应待导出超程包的第一分层信息;
根据所述第一分层信息确定存储所述待导出超程包对应分层资源的存储位置;
根据所述存储位置获取所述待导出超程包对应的待导出分层资源,根据所述待导出分层资源生成所述待导出超程包对应的二进制文件,并将所述二进制文件发送给所述导出指令对应终端。
优选地,若所述操作指令为删除指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
在所述超程包仓库查找所述删除指令对应的待删除超程包;
删除所述待删除超程包对应待删除分层资源之间的索引;
删除所述超程包仓库中不存在索引的待删除分层资源,以删除所述超程包仓库中的待删除超程包。
优选地,若所述操作指令为运行指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
在所述超程包仓库的关系映射表中查找所述运行指令对应待运行超程包的第二分层信息;
根据所述第二分层信息确定所述待运行超程包对应待运行分层资源的资源目录,其中,每一待运行分层资源对应一个资源目录;
将存储所述待运行超程包运行时生成文件的空目录分别与每一资源目录聚合,得到聚合目录;
根据所述聚合目录查找所述待运行超程包对应的运行资源,聚合所述运行资源,以形成所述待运行超程包运行时的运行环境,使所述待运行超程包在所述运行环境中运行。
优选地,所述获取应用程序对应的超程包,计算各个超程包每一分层资源对应的特征值的步骤包括:
获取应用程序对应的超程包,确定所述应用程序对应超程包的分层资源;
生成所述分层资源对应的索引,并计算每一分层资源对应的特征值,其中,所述索引用于表明超程包对应各分层资源之间的顺序关系。
优选地,所述根据所述特征值对所述分层资源执行去重操作,得到去重后的分层资源的步骤包括:
检测所述分层资源中是否存在特征值相同的待去重分层资源;
若检测到所述分层资源中存在所述待去重分层资源,则保留一份所述待去重分层资源,并删除其余的待去重分层资源,以得到去重后的分层资源。
此外,为实现上述目的,本发明还提供一种基于分层增量存储的超程包仓库构建设备,所述基于分层增量存储的超程包仓库构建设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的基于分层增量存储的超程包仓库构建程序,所述基于分层增量存储的超程包仓库构建程序被所述处理器执行时实现如上所述的基于分层增量存储的超程包仓库构建方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于分层增量存储的超程包仓库构建程序,所述基于分层增量存储的超程包仓库构建程序被处理器执行时实现如上所述的基于分层增量存储的超程包仓库构建方法的步骤。
本发明通过获取应用程序对应超程包,计算各个超程包每一分层资源对应的特征值,根据特征值去分层资源执行去重操作,得到去重后的分层资源,构建超程包和对应特征值之间的映射关系表,根据去重后的分层资源和映射关系表建立超程包仓库,实现了通过映射关系表可以确定各个超程包对应的分层资源,且通过去重操作使得所构建的超程包仓库中不存在相同特征值的分层资源,在保证通过超程包仓库可以获取各个超程包对应分层资源的基础上,减少了存储超程包对应分层资源所需的存储空间,提高了存储超程包,即超程包仓库对应信息系统的存储空间利用率。
附图说明
图1是本发明基于分层增量存储的超程包仓库构建方法第一实施例的流程示意图;
图2是本发明实施例中超程包对应分层资源的索引的一种示意图;
图3是本发明基于分层增量存储的超程包仓库构建方法第二实施例的流程示意图;
图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于分层增量存储的超程包仓库构建方法,参照图1,图1为本发明基于分层增量存储的超程包仓库构建方法第一实施例的流程示意图。
本发明实施例提供了基于分层增量存储的超程包仓库构建方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。基于分层增量存储的超程包仓库构建方法可应用于服务器和/或终端中,该终端包括但不限于个人计算机和手机等。为了便于描述,以下省略执行主体描述基于分层增量存储的超程包仓库构建方法的各个步骤。基于分层增量存储的超程包仓库构建方法包括:
步骤S10,获取应用程序对应的超程包,计算各个超程包每一分层资源对应的特征值。
当接收到构建超程包仓库的构建指令后,获取构建指令对应应用程序的超程包,并计算所获取的各个超程包每一分层资源对应的特征值。需要说明的是,每个应用程序都存在对应的超程包,每一超程包都存在对应的分层资源,各个超程包对应的分层资源数量可能相同,也可能不相同,如A超程包可能对应4层分层资源,B超程包可能对应5层分层资源。具体地,举例说明,如当该超程包为运行于Apache+PHP环境的应用程序的超程包,该超程包可对应4层分层资源,分别为操作系统层(OS层)、中间件层、应用支撑层和应用层,中间件层可为Apache,应用支撑层可为PHP(PHP:Hypertext Preprocessor,超文本预处理器),Apache可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。可以理解的是,Apache和PHP为应用程序的运行环境。进一步地,该超程包的分层资源还可以包括数据库层。
进一步地,所述步骤S10包括:
步骤a,获取应用程序对应的超程包,确定所述应用程序对应超程包的分层资源。
具体地,当获取到应用程序对应的超程包后,确定所获取的应用程序对应超程包的分层资源,并确定每一分层资源的分层元数据集合,在分层元数据集合中,存储有该分层资源的元数据。在本实施例中,分层元数据集合中的元数据的格式可以根据需要设置为特定的标准化格式,通过该元数据集合中的元数据可以确定对应分层资源的属性,不同元数据集合中的元数据可能相同,也可能不相同。
步骤b,生成所述分层资源对应的索引,并计算每一分层资源对应的特征值,其中,所述索引用于表明超程包对应各分层资源之间的顺序关系。
当确定应用程序对应超程包的分层资源后,生成超程包对应分层资源的索引,并计算每一分层资源对应的特征值,其中,索引用于表明超程包对应各分层资源之间的顺序关系,即通过索引,可确定应用程序对应超程包中各分层资源执行的先后顺序。可以理解的是,索引就只指针,具体地,可参照图2,由图2可知,应用程序对应超程包的分层资源在应用层之下有4层,分别为OS层→OS更新层→Apache层→PHP层。
具体地,可通过哈希算法计算每一分层资源对应的特征值,在本实施例中,哈希算法包括但不限于SHA(Secure Hash Algorithm,安全散列算法)和MD5(Message-DigestAlgorithm,消息摘要算法)。
步骤S20,根据所述特征值对所述分层资源执行去重操作,得到去重后的分层资源。
当计算得到每一分层资源对应的特征值后,根据该特征值对超程包的分层资源执行去重操作,得到去重后的分层资源。可以理解的是,本实施例是基于分层哈希映射的资源去重技术,避免所建立的超程包仓库中存储有多个相同的分层资源,浪费超程包仓库的存储空间。需要说明的是,由于一个计算资源可能会被包含在多个超程包中,因此,不同超程包中可能存在相同的分层资源,如PHP5.5该软件资源由于比较常用,因此PHP5.5对应的分层资源可能会存在包含在多个超程包中。
进一步地,所述步骤S20包括:
步骤c,检测所述分层资源中是否存在特征值相同的待去重分层资源。
步骤d,若检测到所述分层资源中存在所述待去重分层资源,则保留一份所述待去重分层资源,并删除其余的待去重分层资源,以得到去重后的分层资源。
具体地,当计算得到每一分层资源对应的特征值后,对比各个分层资源对应的特征值是否相同。需要说明的是,在对比各个分层资源对应的特征值是否相同时,需要对比所获取的所有应用程序对应超程包分层资源的特征值,即需要将不同应用程序对应超程包分层资源的特征值进行对比,以检测各超程包对应的分层资源中是否存在特征值相同的待去重分层资源。若检测到各超程包中存在特征值相同的分层资源,则确定超程包对应分层资源中存在待去重分层资源,此时,保留一份待去重分层资源,并删除其与的待去重分层资源,以得到去重后的分层资源;若检测到超程包对应分层资源中未存在待去重分层资源,则保留所有的超程包对应的分层资源,即不需要执行去重操作,可以直接建立超程包和对应特征值之间的映射关系表。
如当A超程包和B超程包中都存在PHP5.5的分层资源,此时,A超程包和B超程包都存在PHP5.5分层资源的特征值,该特征值是由分层资源的属性决定的,因此,A超程包和B超程包中PHP5.5分层资源的特征值是相同的,此时,只保留一个PHP5.5的分层资源,删除另一个PHP5.5的分层资源。需要说明的是,在执行去重操作过程中,保留那个分层资源,删除那个分层资源,用户可以根据具体需要而设置,本实施例对此不做具体限制。
步骤S30,构建所述超程包与对应特征值之间的映射关系表,并根据去重后的分层资源和所述映射关系表建立超程包仓库。
当计算得到各个超程包每一分层资源对应的特征值后,构建各个超程包与对应特征值之间的映射关系表。具体地,超程包对应多少层分层资源,则会对应多少个特征值,即一层分层资源对应一个特征值。每一超程包都存在对应的超程包标识,根据该超程包标识可唯一识别该超程包,该超程包标识可为超程包名称,也可为其它可以唯一识别程超包的信息。在本实施例中,不限制超程包标识的设置方式,如可根据超程包对应的应用程序名称设置超程包标识,也可以根据其它方式设置超程包标识。在构建超程包与对应特征值之间的映射关系表中,可建立超程包标识与对应特征值之间的映射关系表。进一步地,在该映射关系表中,可添加对应分层资源的索引,以通过该索引确定该超程包对应各分层资源的执行顺序。在映射关系表中,存储有各个超程包与对应特征值之间的映射关系。
当得到各个超程包和对应特征值之间的映射关系表后,根据去重后的分层资源和映射关系表建立超程包仓库,即在超程包仓库中,存储有去重后的分层资源,以及存储有各个超程包和对应特征值之间的映射关系表。可以理解的是,在超程包仓库中,相同的分层资源只存储了一份。当需要获取该分层资源时,可以根据超程包对应的映射关系表获取对应的分层资源。
本实施例通过获取应用程序对应超程包,计算各个超程包每一分层资源对应的特征值,根据特征值去分层资源执行去重操作,得到去重后的分层资源,构建超程包和对应特征值之间的映射关系表,根据去重后的分层资源和映射关系表建立超程包仓库,实现了通过映射关系表可以确定各个超程包对应的分层资源,且通过去重操作使得所构建的超程包仓库中不存在相同特征值的分层资源,在保证通过超程包仓库可以获取各个超程包对应分层资源的基础上,减少了存储超程包对应分层资源所需的存储空间,提高了存储超程包,即超程包仓库对应信息系统的存储空间利用率。
进一步地,提出本发明基于分层增量存储的超程包仓库构建方法第二实施例。所述基于分层增量存储的超程包仓库构建方法第二实施例与所述基于分层增量存储的超程包仓库构建方法第一施例的区别在于,参照图3,所述基于分层增量存储的超程包仓库构建方法还包括:
步骤S40,接收操作所述超程包仓库的操作指令,并确定所述操作指令的指令类型。
步骤S50,对所述操作指令对应的目标超程包执行与所述指令类型对应的操作。
实时或者定时检测是否接收到操作超程包仓库的操作指令,其中,定时对应的时长可根据具体需要而设置。操作指令可为用户根据需要而触发,也可由预先设置好的定时任务定时触发。当接收到操作指令后,确定操作指令的指令类型,在本实施例中,操作指令的指令类型包括但不限于导入指令、导出指令、删除指令和运行指令。当接收到操作指令后,确定操作指令对应的超程包,并将操作指令对应的超程包记为目标超程包,并对该目标超程包执行与指令类型对应的操作。
进一步地,若所述操作指令为导入指令,所述步骤S50包括:
步骤e,计算所述导入指令对应目标超程包分层资源的目标特征值,并检测所述目标特征值是否存在所述超程包仓库的关系映射表中。
若确定操作指令的指令类型为导入指令,则确定导入指令对应的目标超程包的分层资源,计算目标超程包分层资源的特征值,将该目标超程包分层资源的目标特征值记为目标特征值,并检测目标特征值是否存在超程包仓库的关系映射表中。具体地,可遍历超程包仓库中的关系映射表中的各个特征值,然后对比所遍历的特征值是否与目标特征值相同。若所遍历的特征值与目标特征值相同,则可确定目标特征值存在超程包仓库的关系映射表中;若所遍历特征值与目标特征值不相同,则可确定目标特征值未存在超程包仓库的关系映射表中。
步骤f,若检测到所述目标特征值未存在所述超程包仓库的关系映射表中,则将所述目标特征值对应的分层资源存储至所述超程包仓库中,并构建所述目标超程包与所述目标特征值之间的映射关系,以更新所述超程包仓库的关系映射表。
若检测到目标特征值未存在超程包仓库的关系映射表中,则表明超程包仓库中未存储该目标特征值对应的分层资源,此时将目标特征值对应的分层资源存储至超程包仓库中,并构建目标超程包与目标特征值之间的映射关系,将目标超程包与目标特征值之间的映射关系存储至超程包仓库的关系映射表中,以更新超程包仓库的关系映射表。需要说明的是,当目标超程包存在多层分层资源时,目标超程包会对应多个目标特征值,此时需要检测该目标超程包对应的各个目标特征值是否都存在超程包仓库的关系映射表中。
进一步地,若检测到当前的目标特征值存在超程包仓库的关系映射表中,则说明当前目标特征值对应的分层资源已经存在超程包仓库中了,不需要将当前目标特征值对应的分层资源存储至超程包仓库中了,此时继续检测目标超程包对应的下一个目标特征值是否存在超程包仓库的关系映射表中,直到该目标超程包对应的所有目标特征值都检测完毕。
本实施例通过在需要将超程包导入超程包仓库过程中,只将超程包仓库中未存储的分层资源导入超程包仓库中,而不将超程包仓库中已经存储有的分层资源导入超程包仓库中,使超程包仓库中的分层资源可以被复用,从而降低存储超程包所需的磁盘空间。
进一步地,若所述操作指令为导出指令,所述步骤S50包括:
步骤g,在所述超程包仓库的关系映射表中查找所述导出指令对应待导出超程包的第一分层信息。
若确定操作指令的指令类型为导出指令,则在超程包仓库的映射关系表查找导出指令对应待导出超程包的分层信息,并将待导出超程包的分层信息记为第一分层信息。需要说明的是,在导出指令中,携带有待导出超程包的超程包标识,根据该超程包标识即可在超程包仓库的关系映射表中查找到第一分层信息。其中,分层信息包括但不限于待导出超程包对应的分层资源的分层名称、存储该分层资源的存储位置和索引。
步骤h,根据所述第一分层信息确定存储所述待导出超程包对应分层资源的存储位置。
步骤i,根据所述存储位置获取所述待导出超程包对应的待导出分层资源,根据所述待导出分层资源生成所述待导出超程包对应的二进制文件,并将所述二进制文件发送给所述导出指令对应终端。
当确定第一分层信息后,根据第一分层信息确定存储待导出超程包对应分层资源的存储位置,并根据该存储位置获取待导出超程包对应的待导出分层资源。进一步地,若第一分层信息中未包括存储位置,则可根据分层名称在超程包仓库中查找到存储对应分层资源的存储位置。当获取到待导出超程包的待导出分层资源后,由于每一待导出分层资源有多个资源,因此需要将每一层待导出分层资源的多个资源打包成一个资源包。进一步地,可生成每一待导出分层资源对应的分层元数据集合,其中,一层待导出分层资源对应一个分层元数据集合,一个资源对应一种元数据,即每一待导出分层资源对应多少个资源,其对应的分层元数据集合中则有多少种元数据;在将每一层待导出分层资源打包成一个资源包的过程中,可将分层元数据集合一起打包。
当得到待导出分层资源对应的资源包后,根据各个资源包组合成一个二进制文件,即根据待导出分层资源生成待导出超程包对应的二进制文件,将该二进制文件发送给导出指令对应终端,以将待导出超程包从超程包仓库中导出。需要说明的是,当待导出超程包是以二进制文件表示时,在导出指令对应终端中,待导出超程包不需要依赖其他资源即可成功执行。
本实施例通过在将超程包从超程包仓库中导出时,将所需导出的超程包形成一个二进制文件导出,以使所导出的超程包可在依赖其他资源的情况下执行,提高了所导出的超程包执行的成功率。
进一步地,若所述操作指令为删除指令,所述步骤S50包括:
步骤j,在所述超程包仓库查找所述删除指令对应的待删除超程包。
步骤k,删除所述待删除超程包对应待删除分层资源之间的索引。
步骤l,删除所述超程包仓库中不存在索引的待删除分层资源,以删除所述超程包仓库中的待删除超程包。
若确定操作指令的指令类型为删除指令,则在超程包仓库中查找删除指令对应的待删除超程包,确定待删除超程包对应的待删除分层资源。可以理解的是,在删除指令中,携带有待删除超程包的超程包标识,通过该超程包标识可在超程包仓库中查找到待删除超程包对应的目标映射关系,根据该目标映射关系中的特征值可确定待删除超程包对应的待删除分层资源,从而根据待删除分层资源确定待删除超程包。当确定待删除超程包后,删除待删除超程包对应待删除分层资源之间的索引。需要说明的是,在超程包仓库中,每个超程包对应分层资源之间都存在索引。可以理解的是,当超程包的分层资源之间的索引删除之后,该超程包对应分层资源就不存在索引了。删除超程包仓库中不存在索引的待删除分层资源,以删除超程包仓库中的待删除超程包。进一步地,在删除超程包仓库中的待删除超程包的过程中,可删除超程包仓库中待删除超程包的超程包名称和其它相关信息,以节省超程包仓库的存储空间。可以理解的是,若待删除超程包对应的某一待删除分层资源还存在索引,即该待删除分层资源还属于其它超程包,则不删除该存在索引的待删除分层资源。
本实施例在删除超程包仓库中的超程包中,先删除待删除超程包对应待删除分层资源之间的索引,删除超程包仓库中不存在索引的分层资源,通过索引来决定是否删除待删除超程包对应的分层资源,避免当某一分层资源对应至少两个超程包时,将该分层资源删除,导致了不需要删除的超程包在超程包仓库中不存在对应的分层资源,提高了删除超程包仓库中分层资源的准确率。
进一步地,若所述操作指令为运行指令,所述步骤S50包括:
步骤m,在所述超程包仓库的关系映射表中查找所述运行指令对应待运行超程包的第二分层信息。
步骤o,根据所述第二分层信息确定所述待运行超程包对应待运行分层资源的资源目录,其中,每一待运行分层资源对应一个资源目录。
若确定操作指令的指令类型为运行指令,则在超程包仓库的映射关系表查找运行指令对应待运行超程包的分层信息,并将待运行超程包的分层信息记为第二分层信息。需要说明的是,在运行指令中,携带有待运行超程包的超程包标识,根据该超程包标识即可在超程包仓库的关系映射表中查找到第二分层信息。当确定第二分层信息后,根据第二分层信息确定待运行超程包对应待运行分层资源的资源目录。其中,每一待运行分层资源都存在一个对应的资源目录,通过该资源目录可以确定每一待运行分层资源所具有的所有资源。
步骤p,将存储所述待运行超程包运行时生成文件的空目录分别与每一资源目录聚合,得到聚合目录。
当确定待运行分层资源的资源目录后,确定待运行超程包运行时生成文件的空目录,可以理解的是,由于待运行超程包目前没有运行,因此,待运行超程包当前没有生成运行的文件,待运行超程包当前的目录为空目录。当得到各层待运行分层资源的资源目录和空目录后,将该空目录与每一资源目录聚合,得到聚合目录。需要说明的是,有多少个资源目录,就存在多少个聚合目录。在本实施例中,预先设置好了空目录和资源目录的聚合规则,如将空目录和资源目录拼接在一起,得到聚合目录,本实施例不限制聚合规则的表现形式,用户可以根据具体需要设置聚合规则。
步骤q,根据所述聚合目录查找所述待运行超程包对应的运行资源,聚合所述运行资源,以形成所述待运行超程包运行时的运行环境,使所述待运行超程包在所述运行环境中运行。
在得到聚合目录后,根据聚合目录查找待运行超程包运行时所需的运行资源,可以理解的是,运行资源就是待运行超程包对应的分层资源,具体地,可根据待运行超程包对应的资源目录获取待运行超程包运行时所需的运行资源,并在得到待运行超程包运行时所需的运行资源后,聚合待运行超程包运行时所需的运行资源,即将待运行超程包对应的运行资源整合到一起,形成待运行超程包运行时的运行环境,使待运行超程包在运行环境中可以成功运行。在待运行超程包运行过程中,会将所产生的文件存储至空目录中。
本实施例通过在接收到超程包的运行指令后,获取运行指令对应超程包的运行资源,根据该运行资源生成运行环境,以使运行指令对应的超程包可以在运行环境中成功运行,提高了超程包运行的成功率。
此外,本发明还提供一种基于分层增量存储的超程包仓库构建设备。如图4所示,图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图4即可为基于分层增量存储的超程包仓库构建设备的硬件运行环境的结构示意图。
如图4所示,该基于分层增量存储的超程包仓库构建设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,基于分层增量存储的超程包仓库构建设备还可以包括RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图4中示出的基于分层增量存储的超程包仓库构建设备结构并不构成对基于分层增量存储的超程包仓库构建设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于分层增量存储的超程包仓库构建程序。其中,操作系统是管理和控制基于分层增量存储的超程包仓库构建设备硬件和软件资源的程序,支持基于分层增量存储的超程包仓库构建程序以及其它软件或程序的运行。
在图4所示的基于分层增量存储的超程包仓库构建设备中,用户接口1003主要用于连接终端,与终端进行数据通信,如接收终端发送的删除指令和导出指令等;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的基于分层增量存储的超程包仓库构建程序,并执行如上所述的基于分层增量存储的超程包仓库构建方法的步骤。
本发明设备具体实施方式与上述基于分层增量存储的超程包仓库构建方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于分层增量存储的超程包仓库构建程序,所述基于分层增量存储的超程包仓库构建程序被处理器执行时实现如上所述的基于分层增量存储的超程包仓库构建方法的步骤。
本发明计算机可读存储介质具体实施方式与上述基于分层增量存储的超程包仓库构建方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,设备,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于分层增量存储的超程包仓库构建方法,其特征在于,所述基于分层增量存储的超程包仓库构建方法包括以下步骤:
获取应用程序对应的超程包,计算各个超程包每一分层资源对应的特征值;
根据所述特征值对所述分层资源执行去重操作,得到去重后的分层资源;
构建所述超程包与对应特征值之间的映射关系表,并根据去重后的分层资源和所述映射关系表建立超程包仓库。
2.如权利要求1所述的基于分层增量存储的超程包仓库构建方法,其特征在于,所述构建所述超程包与对应特征值之间的映射关系表,并根据去重后的分层资源和所述映射关系表建立超程包仓库的步骤之后,还包括:
接收操作所述超程包仓库的操作指令,并确定所述操作指令的指令类型;
对所述操作指令对应的目标超程包执行与所述指令类型对应的操作。
3.如权利要求2所述的基于分层增量存储的超程包仓库构建方法,其特征在于,若所述操作指令为导入指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
计算所述导入指令对应目标超程包分层资源的目标特征值,并检测所述目标特征值是否存在所述超程包仓库的关系映射表中;
若检测到所述目标特征值未存在所述超程包仓库的关系映射表中,则将所述目标特征值对应的分层资源存储至所述超程包仓库中,并构建所述目标超程包与所述目标特征值之间的映射关系,以更新所述超程包仓库的关系映射表。
4.如权利要求2所述的基于分层增量存储的超程包仓库构建方法,其特征在于,若所述操作指令为导出指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
在所述超程包仓库的关系映射表中查找所述导出指令对应待导出超程包的第一分层信息;
根据所述第一分层信息确定存储所述待导出超程包对应分层资源的存储位置;
根据所述存储位置获取所述待导出超程包对应的待导出分层资源,根据所述待导出分层资源生成所述待导出超程包对应的二进制文件,并将所述二进制文件发送给所述导出指令对应终端。
5.如权利要求2所述的基于分层增量存储的超程包仓库构建方法,其特征在于,若所述操作指令为删除指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
在所述超程包仓库查找所述删除指令对应的待删除超程包;
删除所述待删除超程包对应待删除分层资源之间的索引;
删除所述超程包仓库中不存在索引的待删除分层资源,以删除所述超程包仓库中的待删除超程包。
6.如权利要求2所述的基于分层增量存储的超程包仓库构建方法,其特征在于,若所述操作指令为运行指令,则所述对所述操作指令对应的目标超程包执行与所述指令类型对应的操作的步骤包括:
在所述超程包仓库的关系映射表中查找所述运行指令对应待运行超程包的第二分层信息;
根据所述第二分层信息确定所述待运行超程包对应待运行分层资源的资源目录,其中,每一待运行分层资源对应一个资源目录;
将存储所述待运行超程包运行时生成文件的空目录分别与每一资源目录聚合,得到聚合目录;
根据所述聚合目录查找所述待运行超程包对应的运行资源,聚合所述运行资源,以形成所述待运行超程包运行时的运行环境,使所述待运行超程包在所述运行环境中运行。
7.如权利要求1所述的基于分层增量存储的超程包仓库构建方法,其特征在于,所述获取应用程序对应的超程包,计算各个超程包每一分层资源对应的特征值的步骤包括:
获取应用程序对应的超程包,确定所述应用程序对应超程包的分层资源;
生成所述分层资源对应的索引,并计算每一分层资源对应的特征值,其中,所述索引用于表明超程包对应各分层资源之间的顺序关系。
8.如权利要求1至7任一项所述的基于分层增量存储的超程包仓库构建方法,其特征在于,所述根据所述特征值对所述分层资源执行去重操作,得到去重后的分层资源的步骤包括:
检测所述分层资源中是否存在特征值相同的待去重分层资源;
若检测到所述分层资源中存在所述待去重分层资源,则保留一份所述待去重分层资源,并删除其余的待去重分层资源,以得到去重后的分层资源。
9.一种基于分层增量存储的超程包仓库构建设备,其特征在于,所述基于分层增量存储的超程包仓库构建设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的基于分层增量存储的超程包仓库构建程序,所述基于分层增量存储的超程包仓库构建程序被所述处理器执行时实现如权利要求1至8中任一项所述的基于分层增量存储的超程包仓库构建方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于分层增量存储的超程包仓库构建程序,所述基于分层增量存储的超程包仓库构建程序被处理器执行时实现如权利要求1至8中任一项所述的基于分层增量存储的超程包仓库构建方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911321836.0A CN111078704B (zh) | 2019-12-18 | 2019-12-18 | 基于分层增量存储的超程包仓库构建方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911321836.0A CN111078704B (zh) | 2019-12-18 | 2019-12-18 | 基于分层增量存储的超程包仓库构建方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078704A true CN111078704A (zh) | 2020-04-28 |
CN111078704B CN111078704B (zh) | 2023-08-25 |
Family
ID=70316009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911321836.0A Active CN111078704B (zh) | 2019-12-18 | 2019-12-18 | 基于分层增量存储的超程包仓库构建方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078704B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166448A1 (en) * | 2010-12-28 | 2012-06-28 | Microsoft Corporation | Adaptive Index for Data Deduplication |
CN108536463A (zh) * | 2018-04-09 | 2018-09-14 | 深圳市腾讯网络信息技术有限公司 | 获取资源包的方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-12-18 CN CN201911321836.0A patent/CN111078704B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120166448A1 (en) * | 2010-12-28 | 2012-06-28 | Microsoft Corporation | Adaptive Index for Data Deduplication |
CN108536463A (zh) * | 2018-04-09 | 2018-09-14 | 深圳市腾讯网络信息技术有限公司 | 获取资源包的方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
李建江等: "一种基于内容分块的层次化去冗优化策略", 《电子学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN111078704B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068441B2 (en) | Caseless file lookup in a distributed file system | |
JP6419319B2 (ja) | 共有フォルダ及び共有ファイルの同期 | |
CN113342745A (zh) | 一种镜像文件的校验方法、装置、电子设备及存储介质 | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
CN111932207A (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
US20190108225A1 (en) | System and method for in-place record content management | |
US11650967B2 (en) | Managing a deduplicated data index | |
CN112306957A (zh) | 获取索引节点号的方法、装置、计算设备和存储介质 | |
CN114756333A (zh) | 镜像处理方法、装置、电子设备及可读介质 | |
CN112286706A (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN111078704B (zh) | 基于分层增量存储的超程包仓库构建方法、设备及介质 | |
CN108241710A (zh) | 一种文件创建方法、装置以及文件查询方法、装置 | |
CN113687920B (zh) | 一种分布式系统的对象策略操作方法、装置及设备 | |
CN112559118A (zh) | 应用数据迁移方法、装置、电子设备及存储介质 | |
CN111382136A (zh) | 文件系统镜像及文件请求方法 | |
CN115129789A (zh) | 一种分布式对象存储系统的桶索引存储方法、装置及介质 | |
CN114218278A (zh) | http接口的数据表字段查询方法及系统 | |
CN112632211A (zh) | 用于移动机器人的语义信息处理方法与设备 | |
CN107229746B (zh) | 终端及多派生项目的数据处理方法和存储介质 | |
CN112286876A (zh) | 日志文件抓取方法、设备及计算机可读存储介质 | |
US20190227991A1 (en) | Synchronizing Different Representations of Content | |
CN114297157B (zh) | 文件处理方法、装置、设备及介质 | |
CN117648288B (zh) | 文件处理方法及电子设备 | |
CN112486991B (zh) | 数据库报表处理方法、装置和电子设备 | |
CN111125007B (zh) | 应用封装方法、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |