CN113010196B - 补丁筛选方法、装置、设备和存储介质 - Google Patents

补丁筛选方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113010196B
CN113010196B CN201911326192.4A CN201911326192A CN113010196B CN 113010196 B CN113010196 B CN 113010196B CN 201911326192 A CN201911326192 A CN 201911326192A CN 113010196 B CN113010196 B CN 113010196B
Authority
CN
China
Prior art keywords
patch
information
release
screening
target
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
CN201911326192.4A
Other languages
English (en)
Other versions
CN113010196A (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.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201911326192.4A priority Critical patent/CN113010196B/zh
Publication of CN113010196A publication Critical patent/CN113010196A/zh
Application granted granted Critical
Publication of CN113010196B publication Critical patent/CN113010196B/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/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种补丁筛选方法、装置、设备和存储介质。该方法包括:接收客户端发送的待更新应用的补丁更新请求,并依据补丁更新请求确定补丁筛选的筛选键信息;以筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于待更新应用的发布补丁引用信息,其中,目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;依据发布补丁引用信息,从缓存空间中确定适配于待更新应用的发布补丁信息。通过上述技术方案,实现了热更新应用的补丁的高效筛选,且能够提高并发或请求量较大时的补丁筛选准确率。

Description

补丁筛选方法、装置、设备和存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种补丁筛选方法、装置、设备和存储介质。
背景技术
热更新是一种各大手游等众多App常用的更新方式。简单来说,就是在用户下载安装APP之后,打开App时遇到的即时更新,该更新过程中会筛选出适用的补丁。
现有的补丁筛选过程为:热更新的应用在启动时,会自动向服务器发送热更新请求,该请求中携带应用标识和应用版本号。服务器根据应用标识和应用版本号,遍历所有的补丁信息,以筛选出符合该应用的补丁。
但是,上述补丁筛选方式效率非常低下,且当出现并发或者请求量比较大的时候,就很容易出现异常数据或脏数据等问题。
发明内容
本发明实施例提供一种补丁筛选方法、装置、设备和存储介质,以实现热更新应用的补丁的高效筛选,且能够提高并发或请求量较大时的补丁筛选准确率。
第一方面,本发明实施例提供了一种补丁筛选方法,包括:
接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息;其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。
第二方面,本发明实施例还提供了一种补丁筛选装置,该装置包括:
筛选键信息确定模块,用于接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
发布补丁引用信息筛选模块,用于以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息;其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
发布补丁信息确定模块,用于依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的补丁筛选方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的补丁筛选方法。
本发明实施例通过接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息,其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。实现了从缓存空间中预先存储发布补丁的引用信息的目标补丁信息集合中筛选出待更新应用的发布补丁信息,从而能够根据该发布补丁信息来获取到发布补丁,提高了热更新应用的补丁筛选效率,且能够提高并发或请求量较大时的补丁筛选准确率。
附图说明
图1是本发明实施例一中的一种补丁筛选方法的流程图;
图2是本发明实施例二中的一种补丁筛选方法中同步存储发布补丁信息至数据库和缓存空间的方法的流程图;
图3是本发明实施例三中的一种补丁筛选装置的结构示意图;
图4是本发明实施例四中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的补丁筛选方法可适用于具有热更新功能的应用程序的更新过程中筛选待更新的发布补丁信息。该方法可以由补丁筛选装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在能够处理应用程序补丁的电子设备中,例如台式电脑或服务器等。参见图1,本实施例的补丁筛选方法包括:
S110、接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息。
其中,筛选键信息是指用于补丁信息筛选的键值对中的键信息,其可以是一个键信息,也可以是多个键信息。
具体地,相关技术中是将发布补丁的信息存储至数据库,当客户端中的热更新应用启动时便会生成用于请求热更新的请求(即补丁更新请求),并将该补丁更新请求发送至服务端,以便服务端根据该补丁更新请求从数据库中遍历发布的补丁,从而完成适配于该客户端的发布补丁的筛选。本发明实施例正是考虑到数据库的筛选效率低下,在发布补丁时便在数据库和缓存空间中同步存储了所有的发布补丁信息,以便依据客户端发送的补丁更新请求筛选补丁时,可以在缓存空间中直接进行发布补丁的筛选,而无需在数据库中筛选,一定程度上提高筛选效率。同时,在缓存空间中以预设存储结构存储发布补丁的引用信息,该预设存储结构需要具有高效写入和读出的性能,以便后续筛选过程中可以高效访问。考虑到同一个发布补丁可以由不同的开发人员发布,故本发明实施例中的预设存储结构可以设置为嵌套的键值对结构,第一层键值对结构中的键信息为发布补丁的唯一标识,值信息为第二层键值对结构,该第二层键值对结构中的键信息为发布补丁时的唯一的发布标识(如发布者标识),值信息为发布补丁的引用信息。
基于上述缓存空间的设计,本发明实施例在接收到客户端发送的补丁更新请求时,会基于该补丁更新请求中的信息来生成访问预设存储结构的键信息,即筛选键信息。
示例性地,所述依据所述补丁更新请求确定补丁筛选的筛选键信息包括:依据所述补丁更新请求中的应用标识和应用版本号,确定待筛选补丁的目标补丁标识、目标补丁版本号和目标补丁发布标识;依据所述目标补丁标识和所述目标补丁版本号,生成补丁筛选的第一筛选键信息,并将所述目标补丁发布标识作为补丁筛选的第二筛选键信息。
其中,应用标识是指待更新应用的唯一标识,例如可以是应用名称、简称或编号等。应用版本号是指待更新应用的当前版本号。补丁标识PkgName是指补丁的标识性信息,如补丁编号。补丁版本号VersionCode是指补丁的版本信息。补丁发布标识PublishId是指发布补丁时的发布标识,如发布该补丁的发布者标识或者发布该补丁时的发布序号等。需要说明的是,本实施例中的各种标识都具有其作用域范围内的全局唯一性。目标补丁标识、目标补丁版本号和目标补丁发布标识分别是指适配于待更新应用的发布补丁的补丁标识、补丁版本号和补丁发布标识。第一筛选键信息key和第二筛选键信息field分别是指预设存储结构中第一层键值对结构和第二层键值对结构中的键信息。
具体地,客户端发送的补丁更新请求中携带有待更新应用的应用标识和应用版本号。服务端会根据该应用标识和应用版本号来确定适配于该待更新应用的目标补丁标识、目标补丁版本号和目标补丁发布标识。此时,为了从缓存空间中的预设存储结构中获得所需的发布补丁的引用信息,服务端会根据预设存储结构中键值对的设计思想,利用目标补丁标识和目标补丁版本号来生成第一筛选键信息,其代码实现可见后续目标补丁信息集合的生成过程。同时,服务端可将目标补丁发布标识作为第二筛选键信息。该第一筛选键信息和第二筛选键信息便可作为补丁筛选的筛选键信息,用于后续的预设存储结构的访问。
S120、以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息,其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息。
其中,远程字典服务对象是指对键值对缓存***的缓存空间(Remote DictionaryServer,Redis)进行访问的对象。值信息获取函数是指用于获取键值对结构中的值信息的函数。目标补丁信息集合是指Redis缓存空间中按照预设存储结构存储发布补丁的引用信息的集合,其中存储的信息应当是不含空对象、不含重复的发布补丁信息、且是每个发布补丁的发布标识对应的最大发布版本号的发布补丁的引用信息。关于该目标补丁信息集合的生成可见后续说明。
具体地,服务端会以第一筛选键信息key和第二筛选键信息field为输入参数,调用远程字典服务对象的值信息获取函数,即iRedisService.hget(key,field),从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息。
示例性地,通过如下方式预先构建所述目标补丁信息集合:以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用批量补丁筛选函数,筛选出各发布的可用补丁,生成发布补丁信息集合;将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合。
其中,批量补丁筛选函数是指用于批量地从数据库中已上传的所有信息中筛选出发布补丁信息的函数。发布补丁信息集合是指存储所有的发布补丁(也称可用补丁)的引用信息的集合,其是初始的存储发布补丁的引用信息的集合。
具体地,本发明实施例中在对发布补丁信息进行同步存储以生成目标补丁信息集合之前,需要先从数据库中筛选出发布的补丁信息。该操作具体是通过一个自定义的函数(即批量补丁筛选函数)来实现的,该批量补丁筛选函数为private List<PublishP2pPatch>fetchPublishP2pPatchList(PublishReq publishReq),其函数返回值为List<PublishP2pPatch>集合类型的发布补丁信息集合,函数名称为fetchPublishP2pPatchList,函数输入参数为PublishReq类型的publishReq。PublishReq类型中包含了获取补丁的必须条件参数,例如String类型的pkgName、int类型的versionCode等。当后台开发人员发布补丁时会输入一些发布补丁相关的信息,从这些信息和函数调用方传入的信息中便可确定批量补丁筛选函数的输入参数,即各发布补丁的补丁标识和补丁发布版本号,然后通过调用批量补丁筛选函数fetchPublishP2pPatchList,获得函数返回值,即发布补丁信息集合PublishP2pPatchList。之后,将该发布补丁信息集合同步存储于数据库和缓存空间中,在将发布补丁信息集合存储于缓存空间中时,会对其进行一定的处理,生成目标补丁信息集合。需要说明的是,本发明实施例中将发布补丁信息集合同步存储于数据库和缓存空间是为了保持数据一致性和完整,同时提高客户端的数据访问效率。
示例性地,所述批量补丁筛选函数通过如下方式实现筛选出各发布的可用补丁,生成发布补丁信息集合的功能:基于查询例类,调用查询对象生成函数,创建初始补丁查询对象,并通过所述初始补丁查询对象,调用查询准则构建对象创建函数,创建补丁查询准则构建对象;以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用所述补丁查询准则构建对象的查询准则构建函数,生成目标补丁查询对象;以所述目标补丁查询对象为输入函数,通过补丁映射器对象调用查询函数,获得所述发布补丁信息集合。具体地,批量补丁筛选函数的内部实现过程具体为:首先,基于查询例类(Java中的example类),调用查询对象生成函数,即PublishP2pPatchExample publishP2pPatchExample=newPublishP2pPatchExample(),建初始补丁查询对象publishP2pPatchExample。然后,通过所述初始补丁查询对象publishP2pPatchExample,调用查询准则构建对象创建函数,即publishP2pPatchExample.createCriteria(),创建补丁查询准则构建对象Criteria。之后,以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用所述补丁查询准则构建对象Criteria的查询准则构建函数,即Criteria.andPkgNameEqualTo(publishReq.getPkgName()).andVersionCodeEqualTo(publishReq.getVersionCode()),构建查询pkgName等于publishReq.getPkgName()以及查询VersionCode等于publishReq.getVersionCode()的查询准则,该查询准则封装在Criteria对象中,而Criteria对象封装在补丁查询对象publishP2pPatchExample中,故此时的publishP2pPatchExample对象便为目标补丁查询对象,该目标补丁查询对象相对于初始补丁查询对象增加了具体的补丁查询条件。最后,以所述目标补丁查询对象为输入函数,通过补丁映射器对象publishP2pPatchMapper调用查询函数selectByExample,即return publishP2pPatchMapper.selectByExample(publishP2pPatchExample),获得所述发布补丁信息集合。
S130、依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。
具体地,根据该筛选出的发布补丁引用信息来从缓存空间中获取到对应的发布补丁信息并返回至客户端。
本实施例的技术方案,通过接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息,其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。实现了从缓存空间中预先存储发布补丁的引用信息的目标补丁信息集合中筛选出待更新应用的发布补丁信息,从而能够根据该发布补丁信息来获取到发布补丁,提高了热更新应用的补丁筛选效率,且能够提高并发或请求量较大时的补丁筛选准确率。
实施例二
本实施例在上述实施例一的基础上,对“将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合”进行了进一步优化。其中,与上述各实施例相同或相应的术语的解释在此不再赘述。
本实施例中是通过事务事假闭包的方式实现数据库和缓存空间中的数据同步存储。示例性地,所述将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合包括:通过事务模板类调用事务创建函数,生成事务闭包对象,并在所述事务闭包对象中将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合。
具体地,为了避免数据只***Redis缓存空间或者只***数据库而另外一个***失败的问题,本实施例中通过事务的形式来对整个数据***流程进行事务包裹处理,具体的包裹逻辑示例为:
通过事务模板类deliveryTransactionTemplate调用事务创建函数execute,生成事务闭包对象,该事务闭包对象的入场参数为transactionStatus,返回值是一个Boolean.TRUE,中间就是具体的事务执行逻辑。该中间的事务执行逻辑中便需实现将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合的功能。这样便可以确保事务执行逻辑要么全部成功,要么全部失败,不会出现一部分执行成功一部分执行失败的可能性,从而保证发布补丁信息集合存储的同步性。
参见图2,本实施例提供的补丁筛选方法中在所述事务闭包对象中将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合包括:
S210、以所述发布补丁信息集合为输入参数,通过接口文件对象调用数据库批量数据***函数,将所述发布补丁信息集合批量存储于所述数据库中。
其中,数据库批量数据***函数为自定义的函数,用于将多条数据批量***数据库。示例性地,所述数据库批量数据***函数基于xml实现。这样设置的好处在于,使得批量数据***函数的可扩展性好,避免sql注入,且不硬编码sql语句,即不用开发人员逐句编写实现批量数据***功能的完整的sql语句。
具体地,相关技术中向数据库中***数据都是一条一条***,当数据量大的时候就需要反复和数据库建立连接和断开连接,导致***效率非常低下。鉴于此,本实施例中设计了一个向数据库中批量***数据的函数(即数据库批量数据***函数),能够在和数据库建立的一次连接过程中将批量数据全部写入数据库,从而提高数据库写入数据的性能。数据库批量数据***函数的具体实现为:在接口文件mapper中定义数据库批量数据***函数insertList:int insertList(List<PublishP2pPatch>recordList),并在数据库批量数据***函数对应的XML实现中对其进行实现,实现业务代码如下:
首先,通过<insert id="insertList"parameterType="java.util.List">标签来表示是一个***操作,并且是针对函数insertList的业务实现,该函数的入参参数是一个List类型的集合。调用insert into publish_p2p_patch(id,patch_id,publish_id,publish_type,publish_status,pkg_name,version_code,patch_version_code,`operator`,create_time,update_time)函数来表示需要对表publish_p2p_patch中的id,patch_id,publish_id,publish_type,publish_status,pkg_name,version_code,patch_version_code,`operator`,create_time,update_time这些字段进行***操作。
然后,鉴于内存中的数据需要经过数据组装(如标记类型用于存入数据库时的数据类型验证,以及按表中字段顺序排列)后才能存入数据库,本实施例中通过<foreachcollection="list"item="item"index="index"separator=",">标签来对***的单条数据进行内存中的轮询,并以此找出其中的对应数据信息。需要说明的是,内存轮询时查找的数据的顺序性要和第一个***表中字段的顺序性完全一致,这样就能够完成数据与字段之间的一一映射关系,从而实现数据的***逻辑,最终实现业务框架会将上述代码转换成一条批量***的sql语句,从而实现在一个数据库连接过程中对多条数据的***逻辑。
在上述数据库批量数据***函数的设计及实现的基础上,在需要将发布补丁信息集合PublishP2pPatchList存入数据库时,通过接口文件对象mapper调用数据库批量数据***函数insertList(PublishP2pPatchList),将该发布补丁信息集合PublishP2pPatchList全部存入数据库中。
S220、将所述发布补丁信息集合转换为stream流对象,并通过所述stream流对象调用同元素过滤函数,对所述发布补丁信息集合进行基于补丁发布标识的筛选,去除所述发布补丁信息集合中重复的发布补丁信息,生成去重补丁信息集合。
其中,同元素过滤函数是指用于去除集合中的重复元素的函数。
具体地,同一个补丁可以由不同的发布者利用不同的发布策略发布。如果同一个发布者在不同的补丁发布操作过程中,将相同的补丁按照相同的发布策略进行了重复发布,那么发布补丁信息集合中将会存储该重复发布的发布补丁信息。但是,目标补丁信息集合是为了客户端访问时的补丁引用信息的高效查询,故该目标补丁信息集合中需要滤除重复的发布补丁信息,以减少重复信息的查询,此时需要对发布补丁信息集合中的各发布补丁信息进行去重处理。具体实施时,由于每个发布补丁信息都由其对应的发布补丁标识来唯一标识,故本实施例中可以通过各发布补丁的发布补丁标识PublishId来对发布补丁信息集合进行重复元素的滤除。该过程的实现代码示例如下:
首先,将所述发布补丁信息集合转换为stream流对象。然后,通过所述stream流对象调用同元素过滤函数filter(入参参数为发布补丁信息集合PublishP2pPatchList)。在该同元素过滤函数中,通过调用if(publishIdList.contains())来判断去重补丁信息集合publishIdList中是否已经包含了相同元素。如果包含,则return false表示过滤掉该元素;否则,通过publishIdList.add()将该元素添加到集合publishIdList中,然后返回true表示保留该元素。经过同元素过滤函数的处理,便可获得一个不包含重复的发布补丁信息的集合,即去重补丁信息集合publishIdList。
S230、以所述去重补丁信息集合中的补丁标识、补丁版本号、补丁发布类型和补丁发布标识为输入参数,在所述stream流对象的转换函数中调用版本筛选函数,对所述去重补丁信息集合中的各可用补丁的发布补丁信息进行基于版本号的筛选,更新所述去重补丁信息集合,以使更新后的去重补丁信息集合中存储各可用补丁的最大发布版本号的发布补丁信息。
其中,转换函数map是Java8中的一个***函数,其是将一个类型的对象转换为另一个类型的对象。本实施例中利用了转换函数的功能,对去重补丁信息集合进行更新。版本筛选函数是指基于补丁发布版本号进行筛选的函数,其能够筛选出同一个补丁经由不同发布策略发布的各种发布版本中的最大版本。
具体地,同一个补丁经过不同情况发布成为可用补丁时,这些可用补丁具有不同的发布版本号,客户端请求更新时只需要获取该补丁的最大发布版本号。所以,本实施例还需对去重补丁信息集合进行基于发布版本号的过滤,以滤除其他发布版本号的发布补丁信息。本实施例通过版本筛选函数getMaxP2pPatchByPublishId()来实现最大发布版本号的发布补丁信息的筛选。具体实施时,以所述去重补丁信息集合中的补丁标识PkgName、补丁版本号VersionCode、补丁发布类型PublishType和补丁发布标识PublishId为输入参数,在所述stream流对象的转换函数中调用版本筛选函数,即publishIdList.stream().map(publishIdList->getMaxP2pPatchByPublishId(publishIdList.getPkgName(),publishIdList.getVersionCode(),publishIdList.getPublishType(),publishIdList.getPublishId())),来实现对所述去重补丁信息集合publishIdList中的各可用补丁的发布补丁信息进行基于版本号的筛选,并利用筛选后的集合更新所述去重补丁信息集合。
上述版本筛选函数的具体实现代码示例如下:
S240、通过所述stream流对象调用空元素过滤函数,对更新后的去重补丁信息集合进行空对象滤除,生成所述最大发布版本号的补丁信息集合。
具体地,通过去重补丁信息集合对应的流对象调用空元素过滤函数filter(Objects::nonNull),即publishIdList.stream().filter(Objects::nonNull),实现滤除更新后的去重补丁信息集合中的空对象,生成所述最大发布版本号的补丁信息集合。
S250、针对所述最大发布版本号的补丁信息集合中的每个最大发布版本号的发布补丁信息,以所述最大发布版本号的发布补丁信息中的补丁标识和补丁版本号为输入参数,通过缓存键信息对象调用键信息生成函数,生成所述最大发布版本号的发布补丁信息对应的存储键信息,并以所述存储键信息、所述最大发布版本号的发布补丁信息对应的补丁发布标识和所述最大发布版本号的发布补丁信息为输入函数,调用Redis缓存存储函数,将所述最大发布版本号的发布补丁信息存储于所述缓存空间,生成所述目标补丁信息集合。
具体地,Redis缓存空间中需要按照预设存储结构存储最大发布版本号的补丁信息集合。此时,针对最大发布版本号的补丁信息集合中的每个发布补丁信息,需要先根据最大发布版本号的发布补丁信息中的补丁标识和补丁版本号生成预设存储结构中的第一层键值对结构中的键信息(即存储键信息),而将所述最大发布版本号的发布补丁信息对应的补丁发布标识作为第二层键值对结构中的键信息。生成存储键信息的过程具体为:通过缓存键信息对象InfoCacheKey调用键信息生成函数publishPatchDid(),即String key=InfoCacheKey.publishPatchDid(publishP2pPatch.getPkgName(),publishP2pPatch.getVersionCode()),生成所述最大发布版本号的发布补丁信息对应的存储键信息key。
确定了最大发布版本号的补丁信息集合中每个发布补丁的存储键信息之后,便可以所述存储键信息key、所述最大发布版本号的发布补丁信息对应的补丁发布标识和所述最大发布版本号的发布补丁信息为输入函数,调用Redis缓存存储函数,即,iRedisService.hput(key,publishP2pPatch.getPublishId(),publishP2pPatch),将所述最大发布版本号的发布补丁信息存储于所述缓存空间,生成所述目标补丁信息集合。
该步骤的完整代码实现可示例如下:
需要说明的是,S210与S220~S250是在事务闭包中同步执行的操作,其应当是同步执行。
本实施例的技术方案,通过调用事务模板类中的事务创建函数,生成事务闭包对象,并在所述事务闭包对象中将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合,提高了发布补丁信息存储于数据库和缓存空间的同步性。通过将所述发布补丁信息集合转换为stream流对象,并通过所述stream流对象调用同元素过滤函数,对所述发布补丁信息集合进行基于补丁发布标识的筛选,去除所述发布补丁信息集合中重复的发布补丁信息,生成去重补丁信息集合;以所述去重补丁信息集合中的补丁标识、补丁版本号、补丁发布类型和补丁发布标识为输入参数,在所述stream流对象的转换函数中调用版本筛选函数,对所述去重补丁信息集合中的各可用补丁的发布补丁信息进行基于版本号的筛选,更新所述去重补丁信息集合,以使更新后的去重补丁信息集合中存储各可用补丁的最大发布版本号的发布补丁信息;通过所述stream流对象调用空元素过滤函数,对更新后的去重补丁信息集合进行空对象滤除,生成所述最大发布版本号的补丁信息集合;针对所述最大发布版本号的补丁信息集合中的每个最大发布版本号的发布补丁信息,以所述最大发布版本号的发布补丁信息中的补丁标识和补丁版本号为输入参数,通过缓存键信息对象调用键信息生成函数,生成所述最大发布版本号的发布补丁信息对应的存储键信息,并以所述存储键信息、所述最大发布版本号的发布补丁信息对应的补丁发布标识和所述最大发布版本号的发布补丁信息为输入函数,调用Redis缓存存储函数,将所述最大发布版本号的发布补丁信息存储于所述缓存空间,生成所述目标补丁信息集合。实现了缓存空间中存储非空对象、非重复对象且发布版本号最大的发布补丁的引用信息的目标补丁信息集合的生成,为后续发布补丁信息的高效筛选提供数据基础。
实施例三
本实施例提供一种补丁筛选装置,参见图3,该装置具体包括:
筛选键信息确定模块310,用于接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
发布补丁引用信息筛选模块320,用于以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息,其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
发布补丁信息确定模块330,用于依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。
可选地,筛选键信息确定模块310具体用于:
依据所述补丁更新请求中的应用标识和应用版本号,确定待筛选补丁的目标补丁标识、目标补丁版本号和目标补丁发布标识;
依据所述目标补丁标识和所述目标补丁版本号,生成补丁筛选的第一筛选键信息,并将所述目标补丁发布标识作为补丁筛选的第二筛选键信息。
可选地,在上述装置的基础上,该装置还包括目标补丁信息集合构建模块,该目标补丁信息集合构建模块包括发布补丁信息集合生成子模块和目标补丁信息集合生成子模块,其中,
发布补丁信息集合生成子模块用于以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用批量补丁筛选函数,筛选出各发布的可用补丁,生成发布补丁信息集合;
目标补丁信息集合生成子模块用于将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合。
进一步地,在上述装置的基础上,该装置还包括批量补丁筛选函数执行模块,用于通过如下方式实现所述筛选出各发布的可用补丁,生成发布补丁信息集合的功能:
基于查询例类,调用查询对象生成函数,创建初始补丁查询对象,并通过所述初始补丁查询对象,调用查询准则构建对象创建函数,创建补丁查询准则构建对象;
以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用所述补丁查询准则构建对象的查询准则构建函数,生成目标补丁查询对象;
以所述目标补丁查询对象为输入函数,通过补丁映射器对象调用查询函数,获得所述发布补丁信息集合。
可选地,目标补丁信息集合生成子模块具体用于:
通过事务模板类调用事务创建函数,生成事务闭包对象,并在所述事务闭包对象中将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合。
进一步地,目标补丁信息集合生成子模块具体用于:
将所述发布补丁信息集合转换为stream流对象,并通过所述stream流对象调用同元素过滤函数,对所述发布补丁信息集合进行基于补丁发布标识的筛选,去除所述发布补丁信息集合中重复的发布补丁信息,生成去重补丁信息集合;
以所述去重补丁信息集合中的补丁标识、补丁版本号、补丁发布类型和补丁发布标识为输入参数,在所述stream流对象的转换函数中调用版本筛选函数,对所述去重补丁信息集合中的各可用补丁的发布补丁信息进行基于版本号的筛选,更新所述去重补丁信息集合,以使更新后的去重补丁信息集合中存储各可用补丁的最大发布版本号的发布补丁信息;
通过所述stream流对象调用空元素过滤函数,对更新后的去重补丁信息集合进行空对象滤除,生成所述最大发布版本号的补丁信息集合;
针对所述最大发布版本号的补丁信息集合中的每个最大发布版本号的发布补丁信息,以所述最大发布版本号的发布补丁信息中的补丁标识和补丁版本号为输入参数,通过缓存键信息对象调用键信息生成函数,生成所述最大发布版本号的发布补丁信息对应的存储键信息,并以所述存储键信息、所述最大发布版本号的发布补丁信息对应的补丁发布标识和所述最大发布版本号的发布补丁信息为输入函数,调用Redis缓存存储函数,将所述最大发布版本号的发布补丁信息存储于所述缓存空间,生成所述目标补丁信息集合。
进一步地,目标补丁信息集合生成子模块具体用于:
以所述发布补丁信息集合为输入参数,通过接口文件对象调用数据库批量数据***函数,将所述发布补丁信息集合批量存储于所述数据库中,其中,所述数据库批量数据***函数基于xml实现。
通过本发明实施例三的一种补丁筛选装置,实现了从缓存空间中预先存储发布补丁的引用信息的目标补丁信息集合中筛选出待更新应用的发布补丁信息,从而能够根据该发布补丁信息来获取到发布补丁,提高了热更新应用的补丁筛选效率,且能够提高并发或请求量较大时的补丁筛选准确率。
本发明实施例所提供的补丁筛选装置可执行本发明任意实施例所提供的补丁筛选方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述补丁筛选装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
参见图4,本实施例提供了一种电子设备,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器420执行,使得所述一个或多个处理器420实现本发明实施例所提供的补丁筛选方法,包括:
接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息,其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。
当然,本领域技术人员可以理解,处理器420还可以实现本发明任意实施例所提供的补丁筛选方法的技术方案。
图4显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。如图4所示,该电子设备包括处理器420、存储装置410、输入装置430和输出装置440;电子设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;电子设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的补丁筛选方法对应的程序指令/模块(例如,补丁筛选装置中的筛选键信息确定模块、发布补丁引用信息筛选模块和发布补丁信息确定模块)。
存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种补丁筛选方法,该方法包括:
接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息;其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的补丁筛选方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的补丁筛选方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种补丁筛选方法,其特征在于,包括:
接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息,其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息;
其中,所述目标补丁信息集合中的发布补丁信息与数据库中的发布补丁信息同步存储;
在所述缓存空间中以预设存储结构存储发布补丁的引用信息,所述预设存储结构为嵌套的键值对结构,第一层键值对结构中的键信息为发布补丁的唯一标识,值信息为第二层键值对结构,该第二层键值对结构中的键信息为发布补丁时的唯一的发布标识,值信息为发布补丁的引用信息。
2.根据权利要求1所述的方法,其特征在于,所述依据所述补丁更新请求确定补丁筛选的筛选键信息包括:
依据所述补丁更新请求中的应用标识和应用版本号,确定待筛选补丁的目标补丁标识、目标补丁版本号和目标补丁发布标识;
依据所述目标补丁标识和所述目标补丁版本号,生成补丁筛选的第一筛选键信息,并将所述目标补丁发布标识作为补丁筛选的第二筛选键信息。
3.根据权利要求1所述的方法,其特征在于,通过如下方式预先构建所述目标补丁信息集合:
以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用批量补丁筛选函数,筛选出各发布的可用补丁,生成发布补丁信息集合;
将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合。
4.根据权利要求3所述的方法,其特征在于,所述批量补丁筛选函数通过如下方式实现所述筛选出各发布的可用补丁,生成发布补丁信息集合的功能:
基于查询例类,调用查询对象生成函数,创建初始补丁查询对象,并通过所述初始补丁查询对象,调用查询准则构建对象创建函数,创建补丁查询准则构建对象;
以各发布补丁的补丁标识和补丁发布版本号为输入参数,调用所述补丁查询准则构建对象的查询准则构建函数,生成目标补丁查询对象;
以所述目标补丁查询对象为输入函数,通过补丁映射器对象调用查询函数,获得所述发布补丁信息集合。
5.根据权利要求3所述的方法,其特征在于,所述将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合包括:
通过事务模板类调用事务创建函数,生成事务闭包对象,并在所述事务闭包对象中将所述发布补丁信息集合同步存储于数据库与所述缓存空间,生成所述目标补丁信息集合。
6.根据权利要求5所述的方法,其特征在于,将所述发布补丁信息集合存储于所述缓存空间,生成所述目标补丁信息集合包括:
将所述发布补丁信息集合转换为stream流对象,并通过所述stream流对象调用同元素过滤函数,对所述发布补丁信息集合进行基于补丁发布标识的筛选,去除所述发布补丁信息集合中重复的发布补丁信息,生成去重补丁信息集合;
以所述去重补丁信息集合中的补丁标识、补丁版本号、补丁发布类型和补丁发布标识为输入参数,在所述stream流对象的转换函数中调用版本筛选函数,对所述去重补丁信息集合中的各可用补丁的发布补丁信息进行基于版本号的筛选,更新所述去重补丁信息集合,以使更新后的去重补丁信息集合中存储各可用补丁的最大发布版本号的发布补丁信息;
通过所述stream流对象调用空元素过滤函数,对更新后的去重补丁信息集合进行空对象滤除,生成所述最大发布版本号的补丁信息集合;
针对所述最大发布版本号的补丁信息集合中的每个最大发布版本号的发布补丁信息,以所述最大发布版本号的发布补丁信息中的补丁标识和补丁版本号为输入参数,通过缓存键信息对象调用键信息生成函数,生成所述最大发布版本号的发布补丁信息对应的存储键信息,并以所述存储键信息、所述最大发布版本号的发布补丁信息对应的补丁发布标识和所述最大发布版本号的发布补丁信息为输入函数,调用Redis缓存存储函数,将所述最大发布版本号的发布补丁信息存储于所述缓存空间,生成所述目标补丁信息集合。
7.根据权利要求5所述的方法,其特征在于,将所述发布补丁信息集合存储于数据库包括:
以所述发布补丁信息集合为输入参数,通过接口文件对象调用数据库批量数据***函数,将所述发布补丁信息集合批量存储于所述数据库中,其中,所述数据库批量数据***函数基于xml实现。
8.一种补丁筛选装置,其特征在于,包括:
筛选键信息确定模块,用于接收客户端发送的待更新应用的补丁更新请求,并依据所述补丁更新请求确定补丁筛选的筛选键信息;
发布补丁引用信息筛选模块,用于以所述筛选键信息为输入参数,调用远程字典服务对象的值信息获取函数,从目标补丁信息集合中筛选出适配于所述待更新应用的发布补丁引用信息;其中,所述目标补丁信息集合为预先构建且存储于缓存空间的键值对集合,且所述目标补丁信息集合的值信息用于存储每个发布补丁的最大发布版本号的发布补丁引用信息;
发布补丁信息确定模块,用于依据所述发布补丁引用信息,从所述缓存空间中确定适配于所述待更新应用的发布补丁信息;
所述目标补丁信息集合中的发布补丁信息与数据库中的发布补丁信息同步存储;
在所述缓存空间中以预设存储结构存储发布补丁的引用信息,所述预设存储结构为嵌套的键值对结构,第一层键值对结构中的键信息为发布补丁的唯一标识,值信息为第二层键值对结构,该第二层键值对结构中的键信息为发布补丁时的唯一的发布标识,值信息为发布补丁的引用信息。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的补丁筛选方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的补丁筛选方法。
CN201911326192.4A 2019-12-20 2019-12-20 补丁筛选方法、装置、设备和存储介质 Active CN113010196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911326192.4A CN113010196B (zh) 2019-12-20 2019-12-20 补丁筛选方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911326192.4A CN113010196B (zh) 2019-12-20 2019-12-20 补丁筛选方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113010196A CN113010196A (zh) 2021-06-22
CN113010196B true CN113010196B (zh) 2023-09-26

Family

ID=76381830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911326192.4A Active CN113010196B (zh) 2019-12-20 2019-12-20 补丁筛选方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113010196B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186468A (zh) * 2013-04-10 2013-07-03 华为技术有限公司 一种验证软件升级准确性的方法和装置
WO2017097978A1 (en) * 2015-12-11 2017-06-15 Koninklijke Kpn N.V. Updating part of a manifest file on the basis of patches
CN107066247A (zh) * 2016-12-29 2017-08-18 世纪龙信息网络有限责任公司 补丁查询方法以及装置
CN107315619A (zh) * 2017-07-12 2017-11-03 北京理工大学 一种实现补丁安全的热修复方法、移动终端及热修复***
CN107341028A (zh) * 2017-05-25 2017-11-10 北京金山安全管理***技术有限公司 补丁的更新方法及装置、存储介质和处理器
CN108090361A (zh) * 2016-11-22 2018-05-29 腾讯科技(深圳)有限公司 安全策略更新方法及装置
CN109213536A (zh) * 2018-08-13 2019-01-15 阿里巴巴集团控股有限公司 资源展示方法、资源展示类控件的配置方法、装置及设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054728A1 (en) * 2010-08-31 2012-03-01 Scott Rohde Maintaining a database of patch data
US10452387B2 (en) * 2016-09-16 2019-10-22 Oracle International Corporation System and method for partition-scoped patching in an application server environment
CN108632101B (zh) * 2018-05-31 2020-02-14 北京百度网讯科技有限公司 用于更新配置对象的方法和装置、边缘计算设备、介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186468A (zh) * 2013-04-10 2013-07-03 华为技术有限公司 一种验证软件升级准确性的方法和装置
WO2017097978A1 (en) * 2015-12-11 2017-06-15 Koninklijke Kpn N.V. Updating part of a manifest file on the basis of patches
CN108090361A (zh) * 2016-11-22 2018-05-29 腾讯科技(深圳)有限公司 安全策略更新方法及装置
CN107066247A (zh) * 2016-12-29 2017-08-18 世纪龙信息网络有限责任公司 补丁查询方法以及装置
CN107341028A (zh) * 2017-05-25 2017-11-10 北京金山安全管理***技术有限公司 补丁的更新方法及装置、存储介质和处理器
CN107315619A (zh) * 2017-07-12 2017-11-03 北京理工大学 一种实现补丁安全的热修复方法、移动终端及热修复***
CN109213536A (zh) * 2018-08-13 2019-01-15 阿里巴巴集团控股有限公司 资源展示方法、资源展示类控件的配置方法、装置及设备

Also Published As

Publication number Publication date
CN113010196A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN107220142B (zh) 执行数据恢复操作的方法及装置
CN108846753B (zh) 用于处理数据的方法和装置
WO2016123921A1 (zh) 基于Http协议的多数据源的数据处理方法及***
CN111241177B (zh) 数据采集方法、***及网络设备
CN111580884A (zh) 配置更新方法、装置、服务器和电子设备
CN114064684B (zh) 一种异构数据源的统一访问方法
CN103514298A (zh) 一种实现文件锁的方法及元数据服务器
CN111491037B (zh) 通过sftp数据流与对象存储服务器的通信方法
CN112364083A (zh) 基于配置文件的数据字典管理方法、***及存储介质
CN112084270A (zh) 一种数据血缘处理方法、装置、存储介质及设备
CN111767144A (zh) 交易数据的交易路由确定方法、装置、设备及***
CN113220669A (zh) 业务数据的处理方法、装置及电子设备
CN111046106A (zh) 缓存数据同步方法、装置、设备及介质
CN105843809B (zh) 数据处理方法和装置
CN110798358B (zh) 分布式服务标识方法、装置、计算机可读介质及电子设备
CN113010196B (zh) 补丁筛选方法、装置、设备和存储介质
CN116204540A (zh) 操作日志记录方法、装置、设备及存储介质
CN115756549A (zh) 一种大数据中台数据的下载方法、装置及存储介质
CN115185997A (zh) 一种主机信息处理方法、装置、电子设备及存储介质
CN112162731B (zh) 数据扩展方法、装置、存储介质及电子装置
US20170163560A1 (en) Resource object resolution management
CN111190637B (zh) 一种版本文件发布的管理方法、装置以及***
CN112347794A (zh) 数据翻译方法、装置、设备及计算机存储介质
US11017032B1 (en) Document recovery utilizing serialized data
CN116594848B (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