CN113535219A - 一种app信息发布方法、装置、介质及计算机设备 - Google Patents

一种app信息发布方法、装置、介质及计算机设备 Download PDF

Info

Publication number
CN113535219A
CN113535219A CN202010293222.2A CN202010293222A CN113535219A CN 113535219 A CN113535219 A CN 113535219A CN 202010293222 A CN202010293222 A CN 202010293222A CN 113535219 A CN113535219 A CN 113535219A
Authority
CN
China
Prior art keywords
version
result set
released
version number
formal
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
Application number
CN202010293222.2A
Other languages
English (en)
Other versions
CN113535219B (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.)
Beijing Shibiao Certification Center 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 CN202010293222.2A priority Critical patent/CN113535219B/zh
Publication of CN113535219A publication Critical patent/CN113535219A/zh
Application granted granted Critical
Publication of CN113535219B publication Critical patent/CN113535219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal 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)

Abstract

本发明提供一种APP信息发布方法、装置、介质及计算机设备,方法包括:判断目标APP的待发布版本是否为已发布状态;若确定待发布版本为未发布状态,则获取已发布的第一版本结果集;获得第一版本结果集中的当前最高正式版本号;对第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;获得第二版本结果集中的当前最高编译版本号;若确定当前最高正式版本号低于待发布版本的正式版本号且当前最高编译版本号低于待发布版本的编译版本号时,发布待发布版本;如此,这样自动比对、自动发布的过程,与人工发布相比,可以提高发布效率;通过比对还可以避免出现在发布高版本后,又请求发布一个低版本的情况,避免版本降级。

Description

一种APP信息发布方法、装置、介质及计算机设备
技术领域
本发明属于互联网技术领域,尤其涉及一种APP信息发布方法、装置、介质及计算机设备。
背景技术
APP指智能手机等移动终端上安装的第三方应用程序,随着互联网技术的发展,市面上开发出越来越多的APP。在IOS系统中,为了能够使得APP具有更多的功能,通常会不断地更新APP,APP更新后,需要先将最新版本的APP信息发布到应用商店中。
现有技术一般是通过人工手动将最新版本的APP添加至应用商店中,这样的操作较为繁琐,导致发布效率较低,且人工成本较高。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种APP信息发布方法、装置、介质及计算机设备,用于解决现有技术中利用人工发布APP信息时,导致发布效率低且人工成本高的技术问题。
本发明实施例提供一种APP信息发布方法,所述方法包括:
判断目标APP的待发布版本是否为已发布状态;
若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
可选的,所述判断目标APP的待发布版本是否为已发布状态,包括:
基于所述待发布版本的版本ID,调用映射对象中查询方法进行查询,获得版本对象;
调用版本状态获取函数获得所述版本对象中的版本发布状态;
判断所述版本发布状态的标识值是否与预设的发布状态标识值一致,若不一致,则确定所述目标APP的待发布版本为未发布状态。
可选的,所述若所述第一版本结果集中存在多个正式版本号,则获得所述第一版本结果集中的当前最高正式版本号,包括:
按照预设的排序规则对所述第一版本结果集中的所述多个正式版本号进行排序;
若所述排序规则为降序排列时,调用元素获取方法获得所述第一版本结果集中的首位元素,所述首位元素为所述第一版本结果集中的当前最高正式版本号;
或者,若所述排序规则为升序排列时,调用所述元素获取方法获得所述第一版本结果集中的末位元素,所述末位元素为所述第一版本结果集中的当前最高正式版本号。
可选的,所述获得所述第二版本结果集中的当前最高编译版本号之前,包括:
遍历所述第二版本结果集,调用版本号获取方法逐一获得所述第二版本结果集中的两个编译版本号;
调用转换函数将获得的两个编译版本号转换为对应的整数值;
以转换后的整数值作为排序函数的入参参数,获得所述排序函数输出的返回值,基于所述返回值对所述两个编译版本号进行排序,直至完成所述第二版本结果集中所有编译版本号的排序。
可选的,所述获得所述第二版本结果集中的当前最高编译版本号,包括:
若所述第二版本结果集中的编译版本号为降序排序时,调用元素获取方法获得所述第二版本结果集中的首位元素,所述首位元素为所述第二版本结果集中的当前最高编译版本号;
或者,若所述第二版本结果集中的编译版本号为降序排序时,调用所述元素获取方法获得所述第二版本结果集中的末位元素,所述末位元素为所述第二版本结果集中的当前最高编译版本号。
可选的,若确定所述当前最高正式版本号高于所述待发布版本的正式版本号和/或所述当前最高编译版本号低于所述待发布版本的编译版本号时,方法还包括:
终止所述待发布版本的发布流程,并抛出异常消息。
可选的,所述若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本,包括:
基于预设的key值获取所述待发布版本对应的版本数据,将所述版本数据存储到缓存中,所述预设的key值与所述待发布版本对应的版本数据为键值对;
调用映射对象中的插入函数将所述缓存中的版本数据插入至应用商店对应的数据库中。
本发明还提供一种APP信息发布装置,所述装置包括:
判断单元,用于判断目标APP的待发布版本是否为已发布状态;
获取单元,用于若确定所述待发布版本为未发布状态时,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
对比单元,用于将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比;
发布单元,用于若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项所述的方法。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述任一项所述的方法。
本发明提供了一种APP信息发布方法、装置、介质及计算机设备,所述方法包括:判断目标APP的待发布版本是否为已发布状态;若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;获得所述第二版本结果集中的当前最高编译版本号;将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本;如此,可以先确定出已发布的最高正式版本号及最高编译版本号,然后将待发布版本的正式版本号与编译版本号分别与已发布的最高正式版本号及最高编译版本号进行比对,若待发布版本的版本号高于已发布版本的版本号时,才对待发布版本进行发布,这样自动比对、自动发布的过程,与人工发布相比,可以提高发布效率,降低人工成本;并且,通过比对还可以避免出现在发布高版本后,又请求发布一个低版本的情况,进而有效避免版本降级。
附图说明
图1为本发明实施例提供的APP信息发布方法流程示意图;
图2为本发明实施例提供的APP信息发布装置结构示意图;
图3为本发明实施例提供的APP信息发布的计算机设备结构示意图;
图4为本申请实施例提供的APP信息发布的计算机介质结构示意图。
具体实施方式
为了解决现有技术中利用人工将最新版本的APP信息发布至应用商店中,发布效率低且人工成本较高的技术问题,本发明实施例提供了一种APP信息发布方法、装置、介质及计算机设备。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
实施例一
本实施例提供一种APP信息发布方法,应用在IOS系统中,当需要发布一个新增APP信息或者需要发布某APP的新增版本时,可以通过预设的发布函数来完成APP信息的发布。
这里,发布函数具体包括:@Transactional(value="transactionManager",rollbackFor=Throwable.class)
public boolean publish(Integer versionId)throws VenusException{
}
发布函数的返回值为boolean,如果待发布版本发布成功,boolean至可以为true;如果待发布版本发布失败,boolean至可以为false。
考虑到函数在执行时可能出现的逻辑异常,因此该发布函数中包括有异常类VenusException,异常类中封装有异常编码code和异常消息体errMsg。这样可以通过全局拦截异常的方法统一处理异常逻辑,提高执行效率。
并且,发布函数中通过@Transactional(value="transactionManager",rollbackFor=Throwable.class)的方式指定了当事务回滚出现异常时可以将异常信息丢给系统进行处理,继续后续流程。这样可以避免事务在运行的过程中发生了某种故障时,事务不能继续进行,导致系统将事务中对数据库的所有已完成的操作全部撤消,回滚到事务开始的状态,极大的提高了事务处理的效率和稳定性等。
本实施例中发布函数内部的具体实现方法可如图1所示,方法包括:
S110,判断目标APP的待发布版本是否为已发布状态;
待发布版本在发布之前,需要判断目标APP的待发布版本是否为已发布状态,若待发布版本为已发布状态,则无需对此次发布进行处理;若待发布版本为未发布状态,则继续后续的发布流程。
作为一种可选的实施例,所述判断目标APP的待发布版本是否为已发布状态,包括:
基于待发布版本的版本ID,调用映射对象中查询方法进行查询,获得版本对象;
调用版本状态获取函数获得版本对象中的版本发布状态;
判断版本发布状态的标识值是否与预设的发布状态标识值一致,若不一致,则确定所述目标APP的待发布版本为未发布状态。
具体的,待发布版本具有一个版本ID,可以为versionId。首先可以通过iosAppReleaseVersionMapper映射对象调用其中的selectByPrimaryKey查询方法来查询待发布版本的状态情况。其中,iosAppReleaseVersionMapper映射对象是数据库对象映射关系ORM框架实现的映射对象。iosAppReleaseVersionMapper.selectByPrimaryKey(versionId);方法调用后会返回一个IosAppReleaseVersion类型的对象version,对象version为版本对象。
然后判断version中的版本发布状态。具体是通过调用version.getReleaseStatus();方法来获取到版本发布状态,发布状态标识值存储到一个字节类型中,具体是Byte releaseStatus=version.getReleaseStatus();
利用函数判断if(releaseStatus==1)是否成立,若成立,则说明待发布版本为已发布状态;若不成立,则说明待发布版本为未发布状态;其中,预设的发布状态标识值为1。
若待发布版本为已发布状态,还需利用抛出函数throw new VenusException(400,"该应用已发布,请确认后再操作");抛出终止发布提示信息“应用已发布,请确认后再操作”,以终止发布流程。
S111,若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
若确定待发布版本为未发布状态,则需要判断待发布版本的版本号是否高于已发布版本的最高版本号,以避免出现已经发布过高版本后,请求发布的一个低版本的情况,进而有效的避免降级版本发布的问题。
这里,基于目标APP的标识ID获取目标APP已发布的第一版本结果集,第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个正式版本号包括至少一个编译版本号。其中,正式版本号为versionCode,编译版本号为buildVersionCode。
这里,通常在一个待发布版本完成之前,需要对该版本进行编译以及测试,但是在每一次编译之后,版本号都会随之发生改变,这样导致版本号的管理比较混乱。因此本实施例将版本号拆分为正式版本号及编译版本号,正式版本号可以理解为总版本号(比如版本号为5.0.1),编译版本号可以理解为正式版本号下包括的子版本号(5.0.1.1)。比如第一次编译之后,正式版本号为5.0.1,编译版本号为5.0.1.1;第一次编译之后,正式版本号依然为5.0.1,编译版本号为5.0.1.2;这样更方便对版本号的管理,在编译时,只对编译版本号进行变更,避免对正式版本号进行频繁变更。因此一个正式版本号下可以包括至少一个编译版本号。
具体的,首先通过调用IosAppReleaseVersionExample example=newIosAppReleaseVersionExample();构造函数的方法得到一个IosAppReleaseVersionExample类型的对象example;该对象为用于查询待发布版本的查询对象。
然后通过调用查询对象中的查询方法example.createCriteria()来得到一个Criteria类型的查询对象criteria,调用查询对象criteria中的筛选条件语句criteria.andAppIdEqualTo(version.getAppId()).andReleaseStatusEqualTo(PUBLISHED)来查询出目标APP的ID下已发布的版本号,这些已发布的版本号可以构成第一版本结果集。
通过调用iosAppReleaseVersionMapper映射对象中的iosAppReleaseVersionMapper.selectByExample(example);方法来获取到包含有当前所有已发布版本号的第一版本结果集,并将第一版本结果集标记为List<IosAppReleaseVersion>allVersions。
S112,判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
第一结果集获取到之后,调用CollectionUtils.isNotEmpty(allVersions)方法来判断第一版本结果集allVersions的值是否为空,如果不为空则返回true,否则返回false。如果不为空,则获得所述第一版本结果集中的当前最高正式版本号。这种获取当前最高正式版本号的方法,相比现有技术中需要先获取到第一版本结果集中的所有元素的数量,再通过个数判断每个元素的大小进而确定当前最高正式版本号的方法,可以提高整体的处理性能及效率。
作为一种可选的实施例,可以按照预设的排序规则对所述第一版本结果集中的所述多个正式版本号进行排序;
若所述排序规则为降序排列时,调用元素获取方法获得所述第一版本结果集中的首位元素,首位元素为所述第一版本结果集中的当前最高正式版本号;
或者,若所述排序规则为升序排列时,调用所述元素获取方法获得所述第一版本结果集中的末位元素,所述末位元素为所述第一版本结果集中的当前最高正式版本号。
本实施例中的排序规则为降序排列,因此第一版本结果集中的首位元素为第一版本结果集中的当前最高正式版本号。
具体的,是按照排序方法example.setOrderByClause("version_code desc");对第一版本结果集中的version_code字段的值进行降序排列的。
降序排列后,利用获取方法allVersions.get(0).getVersionCode();来获取第一版本结果集中的首位元素,并将获取到的当前最高版本号标记为versionCode。
S113,以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获取到最高正式版本号后,还需确定出最高编译版本号。那么以最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集。
比如,最高正式版本号为5.2,那么编译版本号中前两位只要带有5.2的,就顾虑出,比如5.2.1,5.2.2,5.2.2.1都可以被过滤出来,过滤出的编译版本号构成了第二版本结果集。
具体的,通过调用allVersions中的stream()方法得到流对象,调用流对象中的过滤filter方法来实现过滤器功能,在该过滤器中的入参参数可以设置为最高正式版本号mx,过滤条件设置为m.getVersionCode().equals(versionCode),也就是说满足最高正式版本号对应的过滤条件,均可以被过滤出,最终能得到第二版本结果集。
S114,获得所述第二版本结果集中的当前最高编译版本号;
获得第二版本结果集后,同样的需要确定出所述第二版本结果集中的当前最高编译版本号。
作为一种可选的实施例,所述获得所述第二版本结果集中的当前最高编译版本号之前,需要对第二版本结果集中的编译版本号进行排序,具体包括:
循环遍历第二版本结果集,调用版本号获取方法逐一获得所述第二版本结果集中的两个编译版本号;
调用转换函数将获得的两个编译版本号转换为对应的整数值;
以转换后的整数值作为排序函数sorted的入参参数,获得排序函数输出的返回值,基于所述返回值对所述两个编译版本号进行排序,直至完成第二版本结果集中所有编译版本号的排序。
具体的,比如第二版本结果集中有3个编译版本号5.2.1,5.2.2,5.2.3;在利用sorted函数对这三个编译版本号进行排序时,首先将首次遍历得到的前两个编译版本号5.2.1,5.2.2作为sorted函数的入参参数(x,y),利用x.getBuildVersionCode()方法来获取到编译版本号5.2.1所对应的buildVersionCode编译版本号,由于该编译版本号是一个String类型的数据,此时还需要通过调用Integer()函数来将该版本号转变成第一整数,比如该整数为1.
同样的,利用y.getBuildVersionCode()方法来获取到编译版本号5.2.2所对应的buildVersionCode编译版本号,由于该编译版本号是一个String类型的数据,此时也需要通过调用Integer()函数来将该版本号转变成第二整数,比如该整数为2。
那么将第一整数与第二整数之间的差值作为返回值,因此返回值为负数-1,说明第一整数小于第二整数,若按照降序排列的话,那么第一次排序后的第二版本结果集为5.2.2,5.2.1,5.2.3。
在第二次遍历得到的编译版本号为5.2.1,5.2.3,按照同样的处理方法再次进行排序,那么第二次排序后的第二版本结果集为5.2.2,5.2.3,5.2.1。
按照同样方法进行循环遍历,排序,最后第二版本结果集为5.2.3,5.2.2,5.2.1。
可以理解的是,若排序是按照升序排列的话,第二版本结果集为5.2.1,5.2.2,5.2.3。
排序后的第二版本结果集确定出之后,若第二版本结果集中的编译版本号为降序排序时,调用元素获取方法获得第二版本结果集中的首位元素,首位元素为第二版本结果集中的当前最高编译版本号;
或者,若所述第二版本结果集中的编译版本号为降序排序时,调用元素获取方法获得所述第二版本结果集中的末位元素,末位元素为第二版本结果集中的当前最高编译版本号。
本实施例中是按照降序排列的,可以利用.findFirst(0).get();获取方法来获取第二版本结果集中的第一个元素,将获取到的数据标记为IosAppReleaseVersionlatestVersion。
S115,将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
获取到当前最高正式版本号及当前最高编译版本号后,将待发布版本的正式版本号与当前最高正式版本号进行比对,以及将待发布版本的编译版本号与当前最高编译版本号进行对比,若确定当前最高正式版本号低于所述待发布版本的正式版本号且当前最高编译版本号低于待发布版本的编译版本号时,发布所述待发布版本。
当确定当前最高正式版本号高于待发布版本的正式版本号和/或当前最高编译版本号低于待发布版本的编译版本号时,方法还包括:
终止所述待发布版本的发布流程,并抛出异常消息。
具体的,在比对正式版本号时,利用比对函数version.getVersionCode()-latestVersion.getVersionCode()获取待发布版本中的正式版本号与当前最高正式版本号之间的差值,若差值大于0,表示要待发布版本的正式版本号高于当前最高正式版本号。
若差值小于0,表示要待发布版本的正式版本号低于当前最高正式版本号;此时抛出异常信息throw new VenusException(400,"当前版本过低,请发布高版本");并终止整个发布流程。
同理,如果待发布版本中的正式版本号等于或者高于当前最高正式版本号,则再次比较编译版本号的大小,如果待发布版本中的编译版本号低于当前最高编译版本号时,也会抛出上述的异常信息并终止发布流程。
只有待发布版本中的编译版本号高于当前最高编译版本号时,才会进行最后的发布流程。
在发布待发布版本时,基于预设的key值获取待发布版本对应的版本数据,将所述版本数据存储到缓存中,预设的key值与待发布版本对应的版本数据为键值对;
调用映射对象中的插入函数将缓存中的版本数据插入至应用商店对应的数据库中。相比现有技术中通过人工将版本数据上传至应用商店的数据库中,明显可以提高发布效率。
具体的,预设的key值的定义为:String versionKey=“venus:ios:app:version”;
获取到该key信息后,需要将数据存储到缓存中,具体是通过调用iRedisService.put(versionKey,version);获取key值对应的版本数据,这样将版本数据就存储到缓存中了。
通过调用iosAppReleaseVersionMapper映射对象中的插入函数insertOrUpdate(version)来实现数据插入的入口,这样无论应用商店对应的数据库中是否已经存在待发布版本的版本数据,均可可以插入成功。相比现有技术中的插入方式(只有在数据库不存在该版本数据时,才可以插入成功),极大的提高了程序稳定性和可维护性。
本实施例提供的APP信息发布方法,利用发布函数实现APP信息的自动发布,相比人工发布流程,可以提高发布效率,降低发布成本。并且在发布过程中,可以先确定出已发布的最高正式版本号及最高编译版本号,然后将待发布版本的正式版本号与编译版本号分别与已发布的最高正式版本号及最高编译版本号进行比对,若待发布版本的版本号高于已发布版本的版本号时,才对待发布版本进行发布,这样可以避免出现在发布高版本后,又请求发布一个低版本的情况,进而有效避免版本降级。
基于同样的发明构思,本申请还提供一种APP信息发布装置,详见实施例二。
实施例二
本实施例提供一种APP信息发布装置,如图2所示,装置包括:判断单元21、获取单元22、对比单元23及发布单元24;其中,
判断单元21,用于判断目标APP的待发布版本是否为已发布状态;
获取单元22,用于若确定所述待发布版本为未发布状态时,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
对比单元23,用于将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比;
发布单元24,用于若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
具体的,待发布版本在发布之前,判断单元21需要判断目标APP的待发布版本是否为已发布状态,若待发布版本为已发布状态,则无需对此次发布进行处理;若待发布版本为未发布状态,则继续后续的发布流程。
作为一种可选的实施例,所述判断单元21判断目标APP的待发布版本是否为已发布状态,包括:
基于待发布版本的版本ID,调用映射对象中查询方法进行查询,获得版本对象;
调用版本状态获取函数获得版本对象中的版本发布状态;
判断版本发布状态的标识值是否与预设的发布状态标识值一致,若不一致,则确定所述目标APP的待发布版本为未发布状态。
具体的,待发布版本具有一个版本ID,可以为versionId。首先判断单元21可以通过iosAppReleaseVersionMapper映射对象调用其中的selectByPrimaryKey查询方法来查询待发布版本的状态情况。其中,iosAppReleaseVersionMapper映射对象是数据库对象映射关系ORM框架实现的映射对象。iosAppReleaseVersionMapper.selectByPrimaryKey(versionId);方法调用后会返回一个IosAppReleaseVersion类型的对象version,对象version为版本对象。
然后判断version中的版本发布状态。具体是通过调用version.getReleaseStatus();方法来获取到版本发布状态,发布状态标识值存储到一个字节类型中,具体是Byte releaseStatus=version.getReleaseStatus();
利用函数判断if(releaseStatus==1)是否成立,若成立,则说明待发布版本为已发布状态;若不成立,则说明待发布版本为未发布状态;其中,预设的发布状态标识值为1。
若待发布版本为已发布状态,还需利用抛出函数throw new VenusException(400,"该应用已发布,请确认后再操作");抛出终止发布提示信息“应用已发布,请确认后再操作”,以终止发布流程。
若确定待发布版本为未发布状态,判断单元21则需要判断待发布版本的版本号是否高于已发布版本的最高版本号,以避免出现已经发布过高版本后,请求发布的一个低版本的情况,进而有效的避免降级版本发布的问题。
这里,获取单元22基于目标APP的标识ID获取目标APP已发布的第一版本结果集,第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个正式版本号包括至少一个编译版本号。其中,正式版本号为versionCode,编译版本号为buildVersionCode。
这里,通常在一个待发布版本完成之前,需要对该版本进行编译以及测试,但是在每一次编译之后,版本号都会随之发生改变,这样导致版本号的管理比较混乱。因此本实施例将版本号拆分为正式版本号及编译版本号,正式版本号可以理解为总版本号(比如版本号为5.0.1),编译版本号可以理解为正式版本号下包括的子版本号(5.0.1.1)。比如第一次编译之后,正式版本号为5.0.1,编译版本号为5.0.1.1;第一次编译之后,正式版本号依然为5.0.1,编译版本号为5.0.1.2;这样更方便对版本号的管理,在编译时,只对编译版本号进行变更,避免对正式版本号进行频繁变更。因此一个正式版本号下可以包括至少一个编译版本号。
具体的,首先通过调用IosAppReleaseVersionExample example=newIosAppReleaseVersionExample();构造函数的方法得到一个IosAppReleaseVersionExample类型的对象example;该对象为用于查询待发布版本的查询对象。
然后通过调用查询对象中的查询方法example.createCriteria()来得到一个Criteria类型的查询对象criteria,调用查询对象criteria中的筛选条件语句criteria.andAppIdEqualTo(version.getAppId()).andReleaseStatusEqualTo(PUBLISHED)来查询出目标APP的ID下已发布的版本号,这些已发布的版本号可以构成第一版本结果集。
通过调用iosAppReleaseVersionMapper映射对象中的iosAppReleaseVersionMapper.selectByExample(example);方法来获取到包含有当前所有已发布版本号的第一版本结果集,并将第一版本结果集标记为List<IosAppReleaseVersion>allVersions。
第一结果集获取到之后,获取单元22调用CollectionUtils.isNotEmpty(allVersions)方法来判断第一版本结果集allVersions的值是否为空,如果不为空则返回true,否则返回false。如果不为空,则获得所述第一版本结果集中的当前最高正式版本号。这种获取当前最高正式版本号的方法,相比现有技术中需要先获取到第一版本结果集中的所有元素的数量,再通过个数判断每个元素的大小进而确定当前最高正式版本号的方法,可以提高整体的处理性能及效率。
作为一种可选的实施例,可以按照预设的排序规则对所述第一版本结果集中的所述多个正式版本号进行排序;
若所述排序规则为降序排列时,调用元素获取方法获得所述第一版本结果集中的首位元素,首位元素为所述第一版本结果集中的当前最高正式版本号;
或者,若所述排序规则为升序排列时,调用所述元素获取方法获得所述第一版本结果集中的末位元素,所述末位元素为所述第一版本结果集中的当前最高正式版本号。
本实施例中的排序规则为降序排列,因此第一版本结果集中的首位元素为第一版本结果集中的当前最高正式版本号。
具体的,是按照排序方法example.setOrderByClause("version_code desc");对第一版本结果集中的version_code字段的值进行降序排列的。
降序排列后,利用获取方法allVersions.get(0).getVersionCode();来获取第一版本结果集中的首位元素,并将获取到的当前最高版本号标记为versionCode。
获取单元22获取到最高正式版本号后,还需确定出最高编译版本号。那么以最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集。
比如,最高正式版本号为5.2,那么编译版本号中前两位只要带有5.2的,就顾虑出,比如5.2.1,5.2.2,5.2.2.1都可以被过滤出来,过滤出的编译版本号构成了第二版本结果集。
具体的,通过调用allVersions中的stream()方法得到流对象,调用流对象中的过滤filter方法来实现过滤器功能,在该过滤器中的入参参数可以设置为最高正式版本号mx,过滤条件设置为m.getVersionCode().equals(versionCode),也就是说满足最高正式版本号对应的过滤条件,均可以被过滤出,最终能得到第二版本结果集。
获取单元22获得第二版本结果集后,同样的需要确定出所述第二版本结果集中的当前最高编译版本号。
作为一种可选的实施例,获取单元22在获得所述第二版本结果集中的当前最高编译版本号之前,需要对第二版本结果集中的编译版本号进行排序,具体包括:
循环遍历第二版本结果集,调用版本号获取方法逐一获得所述第二版本结果集中的两个编译版本号;
调用转换函数将获得的两个编译版本号转换为对应的整数值;
以转换后的整数值作为排序函数sorted的入参参数,获得排序函数输出的返回值,基于所述返回值对所述两个编译版本号进行排序,直至完成第二版本结果集中所有编译版本号的排序。
具体的,比如第二版本结果集中有3个编译版本号5.2.1,5.2.2,5.2.3;在利用sorted函数对这三个编译版本号进行排序时,首先将首次遍历得到的前两个编译版本号5.2.1,5.2.2作为sorted函数的入参参数(x,y),利用x.getBuildVersionCode()方法来获取到编译版本号5.2.1所对应的buildVersionCode编译版本号,由于该编译版本号是一个String类型的数据,此时还需要通过调用Integer()函数来将该版本号转变成第一整数,比如该整数为1.
同样的,利用y.getBuildVersionCode()方法来获取到编译版本号5.2.2所对应的buildVersionCode编译版本号,由于该编译版本号是一个String类型的数据,此时也需要通过调用Integer()函数来将该版本号转变成第二整数,比如该整数为2。
那么将第一整数与第二整数之间的差值作为返回值,因此返回值为负数-1,说明第一整数小于第二整数,若按照降序排列的话,那么第一次排序后的第二版本结果集为5.2.2,5.2.1,5.2.3。
在第二次遍历得到的编译版本号为5.2.1,5.2.3,按照同样的处理方法再次进行排序,那么第二次排序后的第二版本结果集为5.2.2,5.2.3,5.2.1。
按照同样方法进行循环遍历,排序,最后第二版本结果集为5.2.3,5.2.2,5.2.1。
可以理解的是,若排序是按照升序排列的话,第二版本结果集为5.2.1,5.2.2,5.2.3。
排序后的第二版本结果集确定出之后,若第二版本结果集中的编译版本号为降序排序时,调用元素获取方法获得第二版本结果集中的首位元素,首位元素为第二版本结果集中的当前最高编译版本号;
或者,若所述第二版本结果集中的编译版本号为降序排序时,调用元素获取方法获得所述第二版本结果集中的末位元素,末位元素为第二版本结果集中的当前最高编译版本号。
本实施例中是按照降序排列的,可以利用.findFirst(0).get();获取方法来获取第二版本结果集中的第一个元素,将获取到的数据标记为IosAppReleaseVersionlatestVersion。
获取到当前最高正式版本号及当前最高编译版本号后,对比单元23用于将待发布版本的正式版本号与当前最高正式版本号进行比对,以及将待发布版本的编译版本号与当前最高编译版本号进行对比,若确定当前最高正式版本号低于所述待发布版本的正式版本号且当前最高编译版本号低于待发布版本的编译版本号时,发布单元24用于发布所述待发布版本。
当确定当前最高正式版本号高于待发布版本的正式版本号和/或当前最高编译版本号低于待发布版本的编译版本号时,终止所述待发布版本的发布流程,并抛出异常消息。
具体的,对比单元23在比对正式版本号时,利用比对函数version.getVersionCode()-latestVersion.getVersionCode()获取待发布版本中的正式版本号与当前最高正式版本号之间的差值,若差值大于0,表示要待发布版本的正式版本号高于当前最高正式版本号。
若差值小于0,表示要待发布版本的正式版本号低于当前最高正式版本号;此时抛出异常信息throw new VenusException(400,"当前版本过低,请发布高版本");并终止整个发布流程。
同理,如果待发布版本中的正式版本号等于或者高于当前最高正式版本号,则再次比较编译版本号的大小,如果待发布版本中的编译版本号低于当前最高编译版本号时,也会抛出上述的异常信息并终止发布流程。
只有待发布版本中的编译版本号高于当前最高编译版本号时,才会进行最后的发布流程。
在发布待发布版本时,基于预设的key值获取待发布版本对应的版本数据,将所述版本数据存储到缓存中,预设的key值与待发布版本对应的版本数据为键值对;
调用映射对象中的插入函数将缓存中的版本数据插入至应用商店对应的数据库中。相比现有技术中通过人工将版本数据上传至应用商店的数据库中,明显可以提高发布效率。
具体的,预设的key值的定义为:String versionKey=“venus:ios:app:version”;
获取到该key信息后,需要将数据存储到缓存中,具体是通过调用iRedisService.put(versionKey,version);获取key值对应的版本数据,这样将版本数据就存储到缓存中了。
通过调用iosAppReleaseVersionMapper映射对象中的插入函数insertOrUpdate(version)来实现数据插入的入口,这样无论应用商店对应的数据库中是否已经存在待发布版本的版本数据,均可可以插入成功。相比现有技术中的插入方式(只有在数据库不存在该版本数据时,才可以插入成功),极大的提高了程序稳定性和可维护性。
本发明实施例提供的APP信息发布方法、装置、介质及计算机设备能带来的有益效果至少是:
本发明提供了一种APP信息发布方法、装置、介质及计算机设备,所述方法包括:判断目标APP的待发布版本是否为已发布状态;若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;获得所述第二版本结果集中的当前最高编译版本号;将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本;如此,可以先确定出已发布的最高正式版本号及最高编译版本号,然后将待发布版本的正式版本号与编译版本号分别与已发布的最高正式版本号及最高编译版本号进行比对,若待发布版本的版本号高于已发布版本的版本号时,才对待发布版本进行发布,这样自动比对、自动发布的过程,与人工发布相比,可以提高发布效率,降低人工成本;并且,通过比对还可以避免出现在发布高版本后,又请求发布一个低版本的情况,进而有效避免版本降级。
实施例三
本实施例提供一种计算机设备,如图3所示,包括存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:
判断目标APP的待发布版本是否为已发布状态;
若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
在具体实施过程中,处理器320执行计算机程序311时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的计算机设备为实施本申请实施例一中一种日志文件的解析方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的计算机设备的具体实施方式以及其各种变化形式,所以在此对于该服务器如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质400,如图4所示,其上存储有计算机程序411,该计算机程序411被处理器执行时实现以下步骤:
判断目标APP的待发布版本是否为已发布状态;
若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
在具体实施过程中,该计算机程序411被处理器执行时,可以实现实施例一中任一实施方式。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种APP信息发布方法,其特征在于,所述方法包括:
判断目标APP的待发布版本是否为已发布状态;
若确定所述待发布版本为未发布状态,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比,若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
2.如权利要求1所述的方法,其特征在于,所述判断目标APP的待发布版本是否为已发布状态,包括:
基于所述待发布版本的版本ID,调用映射对象中查询方法进行查询,获得版本对象;
调用版本状态获取函数获得所述版本对象中的版本发布状态;
判断所述版本发布状态的标识值是否与预设的发布状态标识值一致,若不一致,则确定所述目标APP的待发布版本为未发布状态。
3.如权利要求1所述的方法,其特征在于,所述若所述第一版本结果集中存在多个正式版本号,则获得所述第一版本结果集中的当前最高正式版本号,包括:
按照预设的排序规则对所述第一版本结果集中的所述多个正式版本号进行排序;
若所述排序规则为降序排列时,调用元素获取方法获得所述第一版本结果集中的首位元素,所述首位元素为所述第一版本结果集中的当前最高正式版本号;
或者,若所述排序规则为升序排列时,调用所述元素获取方法获得所述第一版本结果集中的末位元素,所述末位元素为所述第一版本结果集中的当前最高正式版本号。
4.如权利要求1所述的方法,其特征在于,所述获得所述第二版本结果集中的当前最高编译版本号之前,包括:
遍历所述第二版本结果集,调用版本号获取方法逐一获得所述第二版本结果集中的两个编译版本号;
调用转换函数将获得的两个编译版本号转换为对应的整数值;
以转换后的整数值作为排序函数的入参参数,获得所述排序函数输出的返回值,基于所述返回值对所述两个编译版本号进行排序,直至完成所述第二版本结果集中所有编译版本号的排序。
5.如权利要求4所述的方法,其特征在于,所述获得所述第二版本结果集中的当前最高编译版本号,包括:
若所述第二版本结果集中的编译版本号为降序排序时,调用元素获取方法获得所述第二版本结果集中的首位元素,所述首位元素为所述第二版本结果集中的当前最高编译版本号;
或者,若所述第二版本结果集中的编译版本号为降序排序时,调用所述元素获取方法获得所述第二版本结果集中的末位元素,所述末位元素为所述第二版本结果集中的当前最高编译版本号。
6.如权利要求1所述的方法,其特征在于,若确定所述当前最高正式版本号高于所述待发布版本的正式版本号和/或所述当前最高编译版本号低于所述待发布版本的编译版本号时,方法还包括:
终止所述待发布版本的发布流程,并抛出异常消息。
7.如权利要求1所述的方法,其特征在于,所述若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本,包括:
基于预设的key值获取所述待发布版本对应的版本数据,将所述版本数据存储到缓存中,所述预设的key值与所述待发布版本对应的版本数据为键值对;
调用映射对象中的插入函数将所述缓存中的版本数据插入至应用商店对应的数据库中。
8.一种APP信息发布装置,其特征在于,所述装置包括:
判断单元,用于判断目标APP的待发布版本是否为已发布状态;
获取单元,用于若确定所述待发布版本为未发布状态时,则基于所述目标APP的标识ID获取所述目标APP已发布的第一版本结果集,所述第一版本结果集中包括已发布的所有正式版本号及所有编译版本号,每个所述正式版本号包括至少一个所述编译版本号;
判断所述第一版本结果集中的值是否为空,若所述第一版本结果集的值不为空,则获得所述第一版本结果集中的当前最高正式版本号;
以所述最高正式版本号为过滤条件,利用预设的过滤函数对所述第一版本结果集中的所有编译版本号进行过滤,获得第二版本结果集;
获得所述第二版本结果集中的当前最高编译版本号;
对比单元,用于将所述待发布版本的正式版本号与所述当前最高正式版本号进行比对,以及将所述待发布版本的编译版本号与所述当前最高编译版本号进行对比;
发布单元,用于若确定所述当前最高正式版本号低于所述待发布版本的正式版本号且所述当前最高编译版本号低于所述待发布版本的编译版本号时,发布所述待发布版本。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7任一项所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的方法。
CN202010293222.2A 2020-04-15 2020-04-15 一种app信息发布方法、装置、介质及计算机设备 Active CN113535219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010293222.2A CN113535219B (zh) 2020-04-15 2020-04-15 一种app信息发布方法、装置、介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010293222.2A CN113535219B (zh) 2020-04-15 2020-04-15 一种app信息发布方法、装置、介质及计算机设备

Publications (2)

Publication Number Publication Date
CN113535219A true CN113535219A (zh) 2021-10-22
CN113535219B CN113535219B (zh) 2023-12-01

Family

ID=78088119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010293222.2A Active CN113535219B (zh) 2020-04-15 2020-04-15 一种app信息发布方法、装置、介质及计算机设备

Country Status (1)

Country Link
CN (1) CN113535219B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (zh) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 系统软件版本集成方法、编译服务器及系统
CN107908421A (zh) * 2017-09-29 2018-04-13 北京创鑫旅程网络技术有限公司 软件代码版本管理与发布的方法及装置
CN108196878A (zh) * 2018-01-22 2018-06-22 广东小天才科技有限公司 应用程序安装包的生成方法、装置、电子设备及存储介质
CN108469960A (zh) * 2017-07-28 2018-08-31 新华三技术有限公司 一种版本管理方法和装置
CN109885337A (zh) * 2019-03-06 2019-06-14 苏州浪潮智能科技有限公司 一种系统版本升级方法、装置、设备及可读存储介质
CN109901858A (zh) * 2019-01-17 2019-06-18 平安普惠企业管理有限公司 应用软件更新检测方法、装置、计算机设备及存储介质
US20200012493A1 (en) * 2018-07-03 2020-01-09 Servicenow, Inc. Performance monitoring of system version releases

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294514A (zh) * 2013-06-26 2013-09-11 深圳Tcl新技术有限公司 系统软件版本集成方法、编译服务器及系统
CN108469960A (zh) * 2017-07-28 2018-08-31 新华三技术有限公司 一种版本管理方法和装置
CN107908421A (zh) * 2017-09-29 2018-04-13 北京创鑫旅程网络技术有限公司 软件代码版本管理与发布的方法及装置
CN108196878A (zh) * 2018-01-22 2018-06-22 广东小天才科技有限公司 应用程序安装包的生成方法、装置、电子设备及存储介质
US20200012493A1 (en) * 2018-07-03 2020-01-09 Servicenow, Inc. Performance monitoring of system version releases
CN109901858A (zh) * 2019-01-17 2019-06-18 平安普惠企业管理有限公司 应用软件更新检测方法、装置、计算机设备及存储介质
CN109885337A (zh) * 2019-03-06 2019-06-14 苏州浪潮智能科技有限公司 一种系统版本升级方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王奇: "编写Wanlix操作系统", 《嵌入式操作系统内核调度 底层开发者手册》 *

Also Published As

Publication number Publication date
CN113535219B (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
CN109345388B (zh) 区块链智能合约验证方法、装置及存储介质
CN108280022B (zh) 性能监测方法及装置
US8006246B2 (en) Apparatus for forcibly terminating thread blocked on input/output operation and method for the same
CN111144839B (zh) 一种项目构建方法、持续集成系统及终端设备
CN110868309A (zh) Vnfm中资源处理的方法、装置及计算机存储介质
CN105426544B (zh) 监控数据库状态的方法及装置
CN113535219A (zh) 一种app信息发布方法、装置、介质及计算机设备
CN111638990B (zh) 内存泄露的处理方法、装置及存储介质
CN111082964B (zh) 一种配置信息的分发方法和装置
US11216352B2 (en) Method for automatically analyzing bottleneck in real time and an apparatus for performing the method
CN107493315B (zh) 一种行为数据的收集方法、资源服务器及存储介质
CN111193631B (zh) 信息处理方法、系统和计算机可读存储介质
CN112052035B (zh) 基于银行后线系统的版本组包方法及装置
CN111130921B (zh) 核心网网元的性能指标处理方法及装置
CN107463374B (zh) 一种基于继承和关联自动推演的子集模型抽取方法及系统
CN107483532B (zh) 一种行为数据的上传方法、资源服务器及存储介质
CN107608662B (zh) 基于MongoDB的分布式计时系统
CN111552561B (zh) 一种任务处理方法及装置
CN110851169B (zh) 一种补丁信息更新的方法及系统、介质、电子设备
CN110795098B (zh) 一种获取数据的方法和相关装置
CN116010053A (zh) 任务信息的推送方法及装置、存储介质、电子装置
EP3347818B1 (en) Event-stream searching using compiled rule patterns
CN117235134A (zh) 一种复杂事件处理的方法及装置
CN115641120A (zh) 一种数据处理方法及装置
CN115934118A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231106

Address after: 2nd Floor, Building 23, Yard 12, Zhuyuan Road, Shunyi District, Beijing, 101300 (Tianzhu Comprehensive Bonded Zone)

Applicant after: Beijing Shibiao Certification Center Co.,Ltd.

Address before: 430000 room 007, A301, third floor, building B1, software industry phase 4.1, No. 1, Software Park East Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province (Wuhan area of free trade zone)

Applicant before: WUHAN DOUYU YULE NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant