CN105447040B - 二进制文件管理、更新方法、装置以及系统 - Google Patents
二进制文件管理、更新方法、装置以及系统 Download PDFInfo
- Publication number
- CN105447040B CN105447040B CN201410438462.1A CN201410438462A CN105447040B CN 105447040 B CN105447040 B CN 105447040B CN 201410438462 A CN201410438462 A CN 201410438462A CN 105447040 B CN105447040 B CN 105447040B
- Authority
- CN
- China
- Prior art keywords
- file
- binary
- binary file
- index list
- index
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种二进制文件管理方法,包括:解析待管理的二进制文件,获取二进制文件的基本管理信息;将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;存储所述二进制文件和更新后的所述文件索引列表;所述二进制文件管理方法,使软件人员在使用所述二进制文件的时候更加方便,并且避免了用于存储源代码的代码库不必要的解析和版本变更管理功能,提升了代码库的性能,减少了资源浪费。
Description
技术领域
本申请涉及软件开发技术领域,具体涉及一种二进制文件管理方法。本申请同时涉及一种二进制文件管理装置、二进制文件的更新方法、二进制文件的更新装置以及二进制文件管理系统。
背景技术
在软件的开发过程中,尤其是大型软件项目的开发过程中,版本控制的作用越来越重要,目前在软件开发过程中主要是通过各种版本管理工具(如:SVN、CVS以及GIT等)对软件在各个不同阶段产出的不同版本进行集中管理;软件项目的规模越来越大,软件集成工作也变的越来越复杂,在软件开发和编译过程中产生的二进制文件也呈现出数量多、占用存储空间大以及版本多的趋势,比如在开发Android固件包或者云OS固件包的过程中,最后产出的Android固件包或者云OS固件包当中需要预装很多以二进制文件形式存在的应用程序(APK文件),这些二进制文件不参加编译过程,只是和源代码编译之后生成的文件一起打包生成最终的Android固件包或者云OS固件包。
现有技术下,将软件开发过程当中参与打包生成过程,但不参与编译过程的二进制文件与开发人员提交的源代码一起储存到代码库中,或者将所述二进制文件单独存储到代码库中,由版本管理系统对所述代码库当中的所述二进制文件和所述源代码同时进行版本管理,比如开发人员提交了新的源代码,则所述版本管理系统将该源代码连同所述二进制文件一起进行更新,并最终将所述二进制文件和源代码的编译产物一起打包生成软件产品。
上述现有技术提供的版本管理系统在管理二进制文件的时候存在明显的缺陷。
现有技术下,将二进制文件作为源代码存储到代码库中,代码库会记载所有二进制文件的版本发生变化的变更集,二进制文件的变更集往往都很大,需要耗费更多的CPU资源进行运算,从而严重影响代码库的性能;此外,如果代码库中存储的二进制文件的数量较多或者二进制文件的大小较大时,会占用代码库中大量的存储空间,但是二进制文件存储到代码库中,仅仅使用了代码库的存储功能,对于代码库提供的核心的变更管理功能没有用到,造成代码库资源的浪费;对于同一个二进制文件的不同版本,在使用时需要将该二进制文件的所有版本从代码库中下载后进行选择,或者是手动生成新的二进制文件提交到代码库,操作复杂,使用不便。
发明内容
本申请提供一种二进制文件管理方法,以解决现有的二进制文件管理方法存在的资源浪费和使用不便的问题。本申请另外提供一种二进制文件管理装置、二进制文件更新方法、二进制文件的更新装置以及二进制文件管理系统。
本申请提供一种二进制文件管理方法,包括:
解析待管理的二进制文件,获取二进制文件的基本管理信息;
将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;
建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;
存储所述二进制文件和更新后的所述文件索引列表。
可选的,所述二进制文件的基本管理信息包括:
该二进制文件的文件名称、版本号和/或签名类型。
可选的,所述二进制文件的文件名称中包含所述二进制文件的文件类型的后缀标识。
可选的,所述将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中,包括:
将所述二进制文件的基本管理信息与当前的时间点进行组装,生成该二进制文件的文件标签;
将所述文件标签作为所述文件索引列表的索引条目的内容添加到该文件索引列表中。
可选的,所述二进制文件管理方法,包括:
将所述二进制文件的存储路径写入该二进制文件在所述文件索引列表中对应的索引条目中。
本申请另外提供一种二进制文件管理装置,包括:
文件解析单元,用于解析待管理的二进制文件,获取二进制文件的基本管理信息;
索引条目添加单元,用于将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;
映射建立单元,用于建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;
存储单元,用于存储所述二进制文件和更新后的所述文件索引列表。
可选的,所述索引条目添加单元,包括:
文件标签生成子单元,用于将所述二进制文件的基本管理信息与当前的时间点进行组装,生成该二进制文件的文件标签;
文件索引列表更新子单元,用于将所述文件标签作为所述文件索引列表的索引条目的内容添加到该文件索引列表中。
本申请还提供一种二进制文件更新方法,包括:
接收客户端发出的获取二进制文件的文件获取消息,其中,所述文件获取消息中包含该所述二进制文件的基本管理信息或者文件标签,以及文件索引列表的存储路径;
根据所述文件索引列表的存储路径获取该文件索引列表;
根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径;
根据所述二进制文件的存储路径获取该二进制文件。
可选的,所述根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径,包括:
根据所述二进制文件的基本管理信息或者文件标签从所述文件索引列表中找到与该二进制文件建立了映射关系的索引条目;
从所述索引条目中读取所述二进制文件的存储路径。
可选的,所述二进制文件更新方法,包括:
判断所述二进制文件是否获取成功;
若是,则将所述二进制文件发送至所述客户端;
若否,则向所述客户端反馈所述二进制文件获取失败的消息。
可选的,所述二进制文件的文件标签为该二进制文件的基本管理信息以及生成该文件标签时的时间;其中,所述二进制文件的基本管理信息包括:文件名称、版本号和/或签名类型。
可选的,所述二进制文件的文件名称中包含所述二进制文件的文件类型的后缀标识。
本申请还提供一种二进制文件的更新装置,包括:
文件获取消息接收单元,用于接收客户端发出的获取二进制文件的文件获取消息,其中,所述文件获取消息中包含该所述二进制文件的基本管理信息或者文件标签,以及文件索引列表的存储路径;
文件索引列表获取单元,用于根据所述文件索引列表的存储路径获取该文件索引列表;
存储路径解析单元,用于根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径;
二进制文件获取子单元,用于根据所述二进制文件的存储路径获取该二进制文件。
可选的,所述存储路径解析单元,包括:
索引条目查找子单元,用于根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中找到与该二进制文件建立了映射关系的索引条目;
存储路径读取子单元,用于从所述索引条目中读取所述二进制文件的存储路径。
本申请还提供一种二进制文件管理系统,包括:
客户端和服务器;
其中,所述客户端,用于向所述服务器发出获取二进制文件的文件获取消息,并从所述服务器获取所述文件索引列表和所述二进制文件;其中,所述文件获取消息中包含该所述二进制文件的基本管理信息或者文件标签,以及所述文件索引列表的存储路径;
所述服务器,用于根据所述二进制文件的基本管理信息建立该二进制文件与所述文件索引列表中对应的索引条目之间的映射关系,存储所述二进制文件和所述文件索引列表;并接收所述客户端发送的获取所述二进制文件的文件获取消息,获取所述索引文件列表,根据所述文件获取消息中的二进制文件的基本管理信息或者文件标签,从所述索引文件列表中解析出该二进制文件的存储路径,获取所述二进制文件。
与现有技术相比,本申请具有以下优点:
本申请提供的一种二进制文件管理方法,包括:解析待管理的二进制文件,获取二进制文件的基本管理信息;将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;存储所述二进制文件和更新后的所述文件索引列表;本申请提供的上述二进制文件管理方法,解析二进制文件的基本管理信息,建立与所述文件索引列表之间的映射关系,并且将所述二进制文件和所述文件索引列表同时存储到云存储当中,从而减少了代码库中存储的源代码之外的数据的存储量,避免了代码库对源代码之外的数据进行的不必要的解析和版本的变更管理功能,减少了资源浪费,提升了代码库的性能;此外,统一将所述二进制文件存储到云存储当中,按需下载对应的版本,软件开发人员在使用所述二进制文件的时候更方便。
附图说明
图1是本申请第一实施例提供的一种二进制文件管理方法处理流程图。
图2是本申请第二实施例提供的一种二进制文件管理装置示意图。
图3是本申请第三实施例提供的一种二进制文件更新方法处理流程图。
图4是本申请第四实施例提供的一种二进制文件更新装置示意图。
图5是本申请第五实施例提供的一种二进制文件管理系统示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种二进制文件管理方法,本申请另外提供一种二进制文件管理装置、一种二进制文件更新方法、一种二进制文件的更新装置以及一种二进制文件管理系统。所述二进制文件管理方法实施例如下:
实施例一
参照图1,其示出了本实施例提供的一种二进制文件管理方法处理流程图。
以下结合图1对本实施例提供的一种二进制文件管理方法进行说明,并且对该方法的各个步骤进行说明;此外,本实施例提供的一种二进制文件管理方法的具体步骤之间的顺序关系请根据图1确定。
本实施例中,以Android固件包的开发过程中二进制文件的管理方法为例进行说明,但不限于此。
S101,解析待管理的二进制文件,获取二进制文件的基本管理信息。
二进制文件是指除文本文件以外的所有文件;
本实施例中,所述二进制文件包括用于打包生成Android固件包的除源代码之外的所有文件,即:所述Android固件包当中不参加编译运行过程的所有文件,并且所述二进制文件不包含文本文件;本实施例中所述的二进制文件主要是指所述Android固件包当中的APK文件;
所述APK文件的基本管理信息包括:所述APK文件的文件名称、版本号和签名类型,除此之外,所述APK文件的基本管理信息包括文件名称、版本号和签名类型之外的其它配置信息,在此不作限定;
所述APK文件的文件名称不仅包含该APK文件的文件名称,还可以包含该APK文件的文件类型的后缀标识,如“.apk”;
所述APK文件的版本号用于区别在不同时间点生成的文件名称相同的APK文件,版本号一般根据具体的APK文件的开发周期确定统一类型的格式,比如APK文件的版本号的命名格式为:“主版本号.子版本号[.编译版本号[.修正版本号]]”;
所述APK文件的签名类型用于控制APK文件之间的信任关系,即:访问权限,包括:只读、只写以及读写等等;
本步骤中,获取用于打包生成Android固件包的所有APK文件,针对所述APK文件进行解析,获取该APK文件的文件名称、版本号和签名类型,为下述步骤建立所述APK文件的索引做数据准备;
需要说明的是,本实施例中,获取到用于打包生成Android固件包的所有APK文件之后,将所述APK文件的文件名称、版本号和签名类型统一集中到一个文件当中,称之为APK配置文件,该APK配置文件与源代码一起进行更新和维护。
S102,将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中。
所述文件索引列表是在本步骤之前建立的,用于存储所述用于打包生成Android固件包的所有APK文件的基本管理信息,并且用于与所述APK文件之间建立联系;
本步骤中,将所述APK文件的基本管理信息添加到所述文件索引列表的索引条目中包括如下两步:
1)将所述APK文件的基本管理信息与当前的时间点进行组装,生成该APK文件的文件标签;
所述APK文件的文件标签用于与其它版本的APK文件区别,所述APK文件的文件标签记录的是该APK文件的文件名称、版本号和签名类型以及生成该APK文件的文件标签时的时间点;所述时间点用于区别同一APK文件在不同时间点生成的不同版本;
2)将所述文件标签作为所述文件索引列表的索引条目添加到该文件索引列表中;
根据步骤1)生成所述APK文件的文件标签之后,将所述APK文件的每一个文件标签作为一个索引条目的内容添加到预设的文件索引列表中;
所述文件索引列表举例如下:
文件名称 | 版本号 | 签名类型 | 生成时间 |
Taobao.apk | 4.3.0 | Test key | 20140512.1604 |
Uuid.apk | 2.2.3 | Platform key | 20140609.1312 |
··· | ··· | ··· | ··· |
上述索引列表中的每一行为一个索引条目,一个索引条目中的各个字段内容通过组装,可以成为一个文件标签。所谓组装,是以某种特定算法将各个字段内容组合成为一个完整的字段,即文件标签。组装的方法可以有多种,比如可以简单的将各个字段内容前后叠加形成一个文件标签。
尽管本实施例中采用上述文件标签作为索引条目的内容,在一些情况下,也不妨仅仅采用数个基本文件管理信息作为索引条目的内容;只需要能够对所有APK文件进行唯一确定的标识即可。
S103,建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系。
上述步骤S102中,将所述APK文件的文件标签作为索引条目的内容添加到所述文件索引列表中,本步骤中,建立所述APK文件与所述文件索引列表中对应的索引条目之间的映射关系,并且,在所述映射关系的作用下,通过所述文件索引列表当中的索引条目能够找到该索引条目对应的APK文件,比如:用户(软件开发人员)想要获取所述APK配置文件当中的某APK文件时,通过所述APK配置文件的当中记录该APK文件的基本管理信息向服务器发出获取该APK文件的文件获取请求,所述服务器接收到该文件获取请求之后,基于该文件获取请求从所述文件索引列表中查询到所述APK文件对应的索引条目,并且能够通过所述文件索引列表建立的映射关系能够找到该APK文件。
S104,存储所述二进制文件和更新后的所述文件索引列表。
完成上述步骤S101至S103之后,建立了所述APK文件和所述文件索引列表之间的映射关系,本步骤中,将所述APK文件所述文件索引列表存储至云存储;
本实施例中,将所述APK文件和所述文件索引列表存储至云存储,除此之外,还可以将所述APK文件和所述文件索引列表存储至本地的存储空间,在此不作限定;
需要说明的是,本实施例中,还包括将所述APK文件的存储路径(即:该APK文件在所述云存储当中的下载地址)写入该APK在所述文件索引列表中对应的索引条目中,目的在于,当查询到所述文件索引列表当中某APK文件对应的索引条目时,直接从该索引条目中获取所述APK文件的下载地址,无需通过复杂的算法计算或者查找出该APK文件的下载地址,减少算法复杂度,提高了运行的效率。当然,也可以直接以基本文件管理信息或者文件标签为依据,建立对下载位置的计算方法,直接确定下载地址。
实施例二
在上述的实施例中,提供了一种二进制文件管理方法,与之相对应的,本申请还提供了一种二进制文件管理装置。
参照图2,其示出了根据本实施例提供的一种二进制文件管理示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请所述的一种二进制文件管理装置,包括:
文件解析单元201,用于解析待管理的二进制文件,获取二进制文件的基本管理信息;
索引条目添加单元202,用于将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;
映射建立单元203,用于建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;
存储单元204,用于存储所述二进制文件和更新后的所述文件索引列表。
可选的,所述索引条目添加单元203,包括:
文件标签生成子单元203-1,用于将所述二进制文件的基本管理信息与当前的时间点进行组装,生成该二进制文件的文件标签;
文件索引列表更新子单元203-2,用于将所述文件标签作为所述文件索引列表的索引条目的内容添加到该文件索引列表中。
实施例三
上述的实施例一中,提供了一种二进制文件管理方法,本实施例提供一种二进制文件的更新方法,所述二进制文件的更新方法与上述所述的二进制文件管理方法相互对应,并且二者同时应用于二进制文件管理系统中,上述所述的二进制文件管理方法用于建立所述二进制文件和所述文件索引列表之间的映射关系,并将所述二进制文件和所述文件索引列表进行存储,本实施例所述的二进制文件的更新方法用于根据所述文件索引列表获取所述二进制文件,本实施例与上述实施例一是前后承接的关系,因此,阅读本实施例请参照上述实施例一。
参照图3,其示出了本实施例提供的一种二进制文件更新方法处理流程图。
以下结合图3对本实施例提供的一种二进制文件管理方法进行说明,并且对该方法的各个步骤进行说明;此外,本实施例提供的一种二进制文件更新方法的具体步骤之间的顺序关系请根据图3确定。
本实施例中,以Android固件包的开发过程中二进制文件的更新方法为例进行说明,但不限于此。
S301;接收客户端发出的获取二进制文件的文件获取消息,其中,所述文件获取消息中包含该所述二进制文件的基本管理信息或者文件标签,以及文件索引列表的存储路径。
本实施例所述的二进制文件主要是指所述Android固件包当中的APK文件;
所述文件获取消息是指,所述客户端在接收到用户(软件开发人员)通过APK配置文件发出的针对该APK配置文件当中某APK文件的获取操作时,发出的所述文件获取消息,该文件获取消息用于获取所述APK配置文件当中所述用户针对的APK文件;
需要说明的是,本实施例中,所述APK文件和所述文件索引列表存储在云存储,除此之外,还可以在云存储之外的存储空间存储,比如本地存储空间,在此不作限定;
除此之外,所述文件获取消息中包含该所述APK文件的基本管理信息或者文件标签,以及所述文件索引列表的存储路径;
所述APK文件的文件标签为该APK文件的基本管理信息以及生成该文件标签时的时间;其中,所述APK文件的基本管理信息包括:文件名称、版本号和/或签名类型;此外,所述APK文件的文件名称中包含所述APK文件的文件类型的后缀标识;
所述文件索引列表的存储路径用于从所述云存储中下载所述文件索引列表,下载到该文件索引列表之后,通过所述APK文件的文件标签从所述文件索引列表中查询到该APK文件。
S302;根据所述文件索引列表的存储路径获取该文件索引列表。
根据上述步骤S301,接收到所述客户端发出的获取APK文件的文件获取消息之后,对该文件获取消息进行解析,从中解析出所述文件索引列表的获取地址和所述APK文件的文件标签;
所述文件索引列表的获取地址,即该文件索引列表在所述云存储当中的存储地址,用于从所述云存储中下载所述文件索引列表;
此外,还可以通过其它方式获取所述文件索引列表,比如根据所述文件索引列表在本地存储空间当中的存储路径读取该文件索引列表,在此不作限定。
S303;根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径。
上述步骤S301中,获取到所述APK文件的基本管理信息或者文件标签,上述步骤S302中,从所述云存储获取到所述文件索引列表,本步骤中,根据所述APK文件的基本管理信息或者文件标签从所述文件索引列表中解析出该APK文件在所述云存储当中的存储路径;
本步骤中,根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径,包括如下步骤:
1)根据所述APK文件的基本管理信息或者文件标签当中的一项或者多项在所述文件索引列表当中查找该APK文件;
2)在所述文件索引列表当中查找到所述APK文件之后,基于该APK文件的基本管理信息或者文件标签通过算法计算得出所述APK文件在所述云存储当中的存储路径(即:下载地址);
或者
基于该APK文件的基本管理信息或者文件标签在所述文件索引列表当中建立了映射关系的索引条目中读取预先存储的下载地址(该APK文件在所述云储存当中的存储路径);
除此之外,还可以通过上述两种方式之外的其它方式实现,在此不作限定。
S304;根据所述二进制文件的存储路径获取该二进制文件。
上述步骤S301至303完成了从所述云存储下载所述APK文件的所有数据准备工作,本步骤中,根据上述步骤S103获取的所述APK文件的下载地址从所述云存储中下载该APK文件;
本实施例中,根据所述APK文件的存储路径从所述云存储当中获取该APK文件之后,还包括:
判断从所述云存储下载所述APK文件是否成功;如果从所述云存储下载所述APK文件成功,则将该APK文件发送至所述客户端即可;如果从所述云存储下载所述APK文件失败,则通知所述客户端下载失败,即:向所述客户端反馈所述APK文件下载失败的消息;
除此之外,本步骤所述的根据所述APK文件在所述云存储中的下载路径下载该APK文件之外,还可以通过其它方式实现,比如根据所述APK文件在本地存储空间当中的存储路径读取该APK文件,在此不作限定。
实施例四
在上述的实施例中,提供了一种二进制文件更新方法,与之相对应的,本申请还提供了一种二进制文件更新装置。
参照图4,其示出了根据本实施例提供的一种二进制文件更新装置示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请所述的一种二进制文件更新装置,包括:
文件获取消息接收单元401,用于接收客户端发出的获取二进制文件的文件获取消息,其中,所述文件获取消息中包含该所述二进制文件的基本管理信息或者文件标签,以及文件索引列表的存储路径;
文件索引列表获取单元402,用于根据所述文件索引列表的存储路径获取该文件索引列表;
存储路径解析单元403,用于根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径;
二进制文件获取子单元404,用于根据所述二进制文件的存储路径获取该二进制文件。
可选的,所述存储路径解析单元403,包括:
索引条目查找子单元403-1,用于根据所述二进制文件的基本管理信息或者文件标签,从所述文件索引列表中找到与该二进制文件建立了映射关系的索引条目;
存储路径读取子单元403-2,用于从所述索引条目中读取所述二进制文件的存储路径。
实施例五
上述的实施例一中,提供了一种二进制文件管理方法,以及上述实施例三中提供了一种二进制文件更新方法,本实施例提供一种二进制文件的管理系统,用于从系统整体层面入手说明所述二进制文件是如何管理以及如何更新的,由于本实施例所述的二进制文件的管理系统的实施例与上述二进制文件管理方法实施例和上述二进制文件更新方法实施例内容重复较多,本实施例不再赘述,因此,阅读本实施例请参照上述二进制文件管理方法实施例和上述二进制文件更新方法实施例。
参照图5,其示出了根据本实施例提供的一种二进制文件管理系统示意图。
本申请所述的一种二进制文件管理系统,包括:
客户端501和服务器502;
其中,所述客户端501,用于向所述服务器502发出获取二进制文件的文件获取消息,并从所述服务器502获取所述文件索引列表和所述二进制文件;其中,所述文件获取消息中包含该所述二进制文件的基本管理信息或者文件标签,以及所述文件索引列表的存储路径;
所述服务器502,用于根据所述二进制文件的基本管理信息建立该二进制文件与所述文件索引列表中对应的索引条目之间的映射关系,存储所述二进制文件和所述文件索引列表;并接收所述客户端501发送的获取所述二进制文件的文件获取消息,获取所述索引文件列表,根据所述文件获取消息中的二进制文件的基本管理信息或者文件标签,从所述索引文件列表中解析出该二进制文件的存储路径,获取所述二进制文件。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (13)
1.一种二进制文件管理方法,其特征在于,包括:
解析待管理的二进制文件,获取二进制文件的基本管理信息;
将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;
建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;
存储所述二进制文件和更新后的所述文件索引列表;
其中,所述将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中,包括:
将所述二进制文件的基本管理信息与当前的时间点进行组装,生成该二进制文件的文件标签;
将所述文件标签作为所述文件索引列表的索引条目的内容添加到该文件索引列表中。
2.根据权利要求1所述的二进制文件管理方法,其特征在于,所述二进制文件的基本管理信息包括:
该二进制文件的文件名称、版本号和/或签名类型。
3.根据权利要求2所述的二进制文件管理方法,其特征在于,所述二进制文件的文件名称中包含所述二进制文件的文件类型的后缀标识。
4.根据权利要求1所述的二进制文件管理方法,其特征在于,包括:
将所述二进制文件的存储路径写入该二进制文件在所述文件索引列表中对应的索引条目中。
5.一种二进制文件管理装置,其特征在于,包括:
文件解析单元,用于解析待管理的二进制文件,获取二进制文件的基本管理信息;
索引条目添加单元,用于将所述二进制文件的基本管理信息添加到预设的文件索引列表的索引条目中;
映射建立单元,用于建立所述二进制文件与所述文件索引列表中对应的索引条目之间的映射关系;
存储单元,用于存储所述二进制文件和更新后的所述文件索引列表;
其中,所述索引条目添加单元,包括:
文件标签生成子单元,用于将所述二进制文件的基本管理信息与当前的时间点进行组装,生成该二进制文件的文件标签;
文件索引列表更新子单元,用于将所述文件标签作为所述文件索引列表的索引条目的内容添加到该文件索引列表中。
6.一种二进制文件更新方法,其特征在于,包括:
接收客户端发出的获取二进制文件的文件获取消息,其中,所述文件获取消息中包含该所述二进制文件的文件标签,以及文件索引列表的存储路径;
根据所述文件索引列表的存储路径获取该文件索引列表;
根据所述二进制文件的文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径;
根据所述二进制文件的存储路径获取该二进制文件;
其中,所述二进制文件的文件标签为该二进制文件的基本管理信息以及生成该文件标签时的时间;所述文件标签为所述文件索引列表的索引条目的内容。
7.根据权利要求6所述的二进制文件更新方法,其特征在于,所述根据所述二进制文件的文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径,包括:
根据所述二进制文件的文件标签从所述文件索引列表中找到与该二进制文件建立了映射关系的索引条目;
从所述索引条目中读取所述二进制文件的存储路径。
8.根据权利要求6所述的二进制文件更新方法,其特征在于,包括:
判断所述二进制文件是否获取成功;
若是,则将所述二进制文件发送至所述客户端;
若否,则向所述客户端反馈所述二进制文件获取失败的消息。
9.根据权利要求6所述的二进制文件更新方法,其特征在于,所述二进制文件的基本管理信息包括:文件名称、版本号和/或签名类型。
10.根据权利要求9所述的二进制文件更新方法,其特征在于,所述二进制文件的文件名称中包含所述二进制文件的文件类型的后缀标识。
11.一种二进制文件的更新装置,其特征在于,包括:
文件获取消息接收单元,用于接收客户端发出的获取二进制文件的文件获取消息,其中,所述文件获取消息中包含该所述二进制文件的文件标签,以及文件索引列表的存储路径;
文件索引列表获取单元,用于根据所述文件索引列表的存储路径获取该文件索引列表;
存储路径解析单元,用于根据所述二进制文件的文件标签,从所述文件索引列表中解析出所述二进制文件的存储路径;
二进制文件获取子单元,用于根据所述二进制文件的存储路径获取该二进制文件;
其中,所述二进制文件的文件标签为该二进制文件的基本管理信息以及生成该文件标签时的时间;所述文件标签为所述文件索引列表的索引条目的内容。
12.根据权利要求11所述的二进制文件的更新装置,其特征在于,所述存储路径解析单元,包括:
索引条目查找子单元,用于根据所述二进制文件的文件标签,从所述文件索引列表中找到与该二进制文件建立了映射关系的索引条目;
存储路径读取子单元,用于从所述索引条目中读取所述二进制文件的存储路径。
13.一种二进制文件管理系统,其特征在于,包括:
客户端和服务器;
其中,所述客户端,用于向所述服务器发出获取二进制文件的文件获取消息,并从所述服务器获取所述文件索引列表和所述二进制文件;其中,所述文件获取消息中包含该所述二进制文件的文件标签,以及所述文件索引列表的存储路径;
所述服务器,用于根据所述二进制文件的基本管理信息建立该二进制文件与所述文件索引列表中对应的索引条目之间的映射关系,存储所述二进制文件和所述文件索引列表;并接收所述客户端发送的获取所述二进制文件的文件获取消息,获取所述索引文件列表,根据所述文件获取消息中的二进制文件的文件标签,从所述索引文件列表中解析出该二进制文件的存储路径,获取所述二进制文件;
其中,所述二进制文件的文件标签为该二进制文件的基本管理信息以及生成该文件标签时的时间;所述文件标签为所述文件索引列表的索引条目的内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410438462.1A CN105447040B (zh) | 2014-08-29 | 2014-08-29 | 二进制文件管理、更新方法、装置以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410438462.1A CN105447040B (zh) | 2014-08-29 | 2014-08-29 | 二进制文件管理、更新方法、装置以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105447040A CN105447040A (zh) | 2016-03-30 |
CN105447040B true CN105447040B (zh) | 2020-02-07 |
Family
ID=55557227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410438462.1A Active CN105447040B (zh) | 2014-08-29 | 2014-08-29 | 二进制文件管理、更新方法、装置以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105447040B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255502A (zh) * | 2016-12-27 | 2018-07-06 | 杭州海康威视数字技术股份有限公司 | 一种库的更新、上传、管理方法、装置及库管理系统 |
CN107193607B (zh) * | 2017-05-26 | 2021-06-22 | 网易(杭州)网络有限公司 | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 |
CN107526777B (zh) * | 2017-07-21 | 2021-01-01 | 创新先进技术有限公司 | 一种基于版本号对文件进行处理的方法及设备 |
CN108170465B (zh) * | 2018-01-04 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 一种版本信息管理方法、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207981A (zh) * | 2011-07-13 | 2011-10-05 | 华为软件技术有限公司 | 管理文件的方法和系统 |
CN102831204A (zh) * | 2012-08-09 | 2012-12-19 | 珠海金山网络游戏科技有限公司 | 一种具备版本控制能力的文件打包格式 |
CN103020315A (zh) * | 2013-01-10 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 一种基于主从分布式文件系统的海量小文件存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8244700B2 (en) * | 2010-02-12 | 2012-08-14 | Microsoft Corporation | Rapid update of index metadata |
-
2014
- 2014-08-29 CN CN201410438462.1A patent/CN105447040B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207981A (zh) * | 2011-07-13 | 2011-10-05 | 华为软件技术有限公司 | 管理文件的方法和系统 |
CN102831204A (zh) * | 2012-08-09 | 2012-12-19 | 珠海金山网络游戏科技有限公司 | 一种具备版本控制能力的文件打包格式 |
CN103020315A (zh) * | 2013-01-10 | 2013-04-03 | 中国人民解放军国防科学技术大学 | 一种基于主从分布式文件系统的海量小文件存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105447040A (zh) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106796522B (zh) | 用于更新源代码文件的系统和方法 | |
EP3353672B1 (en) | Method and apparatus for transferring data between databases | |
CN108984170B (zh) | H5页面多语言渲染方法及装置 | |
US8972967B2 (en) | Application packages using block maps | |
US20170185395A1 (en) | Development, delivery, deployment and operation of an application | |
EP2827244A1 (en) | Extension mechanism for scripting language compiler | |
CN108268609B (zh) | 一种文件路径的建立、访问方法和装置 | |
US9141344B2 (en) | Hover help support for application source code | |
CN106681891A (zh) | 一种Java应用系统中调整日志级别的方法及装置 | |
CN105447040B (zh) | 二进制文件管理、更新方法、装置以及系统 | |
CN107943465B (zh) | 一种生成html表单的方法及装置 | |
CN112769706B (zh) | 组件化路由方法及系统 | |
CN107391528B (zh) | 前端组件依赖信息搜索方法及设备 | |
CN105630475A (zh) | 一种数据标签组织系统及组织方法 | |
CN112015754A (zh) | 数据查询方法、装置与系统 | |
CN108694049B (zh) | 一种更新软件的方法和设备 | |
JP2012529711A (ja) | ソフトウェア拡張子解析方法及びシステム | |
US9116714B2 (en) | Methods and systems for file processing | |
Loseto et al. | Linked Data (in low-resource) Platforms: a mapping for Constrained Application Protocol | |
CN114816816A (zh) | 崩溃堆栈信息处理方法、装置、设备及存储介质 | |
US20110296373A1 (en) | Command line shell command generation based on schema | |
CN111078905A (zh) | 一种数据处理方法、装置、介质以及设备 | |
CN110554867A (zh) | 一种应用程序的处理方法和装置 | |
CN110764777B (zh) | 一种elf文件生成方法、elf文件、设备及存储介质 | |
CN114860202A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |