CN111679981B - 应用软件发布方法、系统及电子设备 - Google Patents

应用软件发布方法、系统及电子设备 Download PDF

Info

Publication number
CN111679981B
CN111679981B CN202010504250.4A CN202010504250A CN111679981B CN 111679981 B CN111679981 B CN 111679981B CN 202010504250 A CN202010504250 A CN 202010504250A CN 111679981 B CN111679981 B CN 111679981B
Authority
CN
China
Prior art keywords
software
application software
sub
new
application
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
CN202010504250.4A
Other languages
English (en)
Other versions
CN111679981A (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.)
Guangzhou Tiantu Network Technology Co ltd
Original Assignee
Guangzhou Tiantu 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 Guangzhou Tiantu Network Technology Co ltd filed Critical Guangzhou Tiantu Network Technology Co ltd
Priority to CN202010504250.4A priority Critical patent/CN111679981B/zh
Publication of CN111679981A publication Critical patent/CN111679981A/zh
Application granted granted Critical
Publication of CN111679981B publication Critical patent/CN111679981B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本申请是关于一种应用软件发布方法、系统及电子设备。该应用软件发布方法,包括:获取新版应用软件;启动所述新版应用软件,获取启动状态信息;根据所述启动状态信息正常,利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况;在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。本申请提供的方案,可以避免新版应用软件发布后无法提供正常服务的问题。

Description

应用软件发布方法、系统及电子设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用软件发布方法、系统及电子设备。
背景技术
目前开发的各种应用软件,一般都会不断更新。为满足应用软件的不断更新迭代,出现了应用软件发布的系统,其工作原理是通过替换旧版应用软件并启动新版应用软件,完成新版应用软件的发布。
但是,相关技术中的应用软件发布方法,是直接将旧版应用软件全部替换为新版应用软件,在遇到新版应用软件存在编写错误、配置异常等问题时,可能会导致新版应用软件无法提供正常服务,给用户带来糟糕的使用体验。
发明内容
为克服相关技术中存在的问题,本申请提供一种应用软件发布方法、系统及电子设备,可以避免新版应用软件发布后无法提供正常服务的问题。
根据本申请的第一方面,提供一种应用软件发布方法,包括:
获取新版应用软件;
启动所述新版应用软件,获取启动状态信息;
根据所述启动状态信息正常,利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况;
在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
在一种实施方式中,所述利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况,包括:
依次将指定用户流量转发到所述新版应用软件的设定子软件;
检测所述设定子软件接收所述指定用户流量后的运行情况。
在一种实施方式中,所述依次将指定用户流量转发到所述新版应用软件的设定子软件,包括:依次将设定的访问请求发送到所述新版应用软件的设定子软件;
所述检测所述设定子软件接收所述指定用户流量后的运行情况,包括:检测所述设定子软件对所述设定的访问请求的访问响应情况。
在一种实施方式中,所述检测所述设定子软件对所述设定的访问请求的访问响应情况,包括:
在设定时间内,检测和统计所述设定子软件对所述设定的访问请求的正常响应情况或异常响应情况。
在一种实施方式中,所述依次将指定用户流量转发到所述新版应用软件的设定子软件时,
如果所述用户流量是HTTP形式,通过在头部增加标记信息的方式将所述用户流量进行定向转发;
如果所述用户流量是非HTTP形式,通过返回不同的域名的方式将所述用户流量进行分发。
根据本申请的第二方面,提供一种应用软件发布系统,包括:
获取模块,用于获取新版应用软件;
启动模块,用于启动所述获取模块获取的新版应用软件,获取启动状态信息;
运行检测模块,用于根据所述启动模块获取的启动状态信息正常,利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况;
处理模块,用于在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
在一种实施方式中,所述运行检测模块包括:
发送子模块,用于根据所述启动模块获取的启动状态信息正常,依次将指定用户流量转发到所述新版应用软件的设定子软件;
检测子模块,用于检测所述设定子软件接收所述指定用户流量后的运行情况。
在一种实施方式中,所述发送子模块依次将设定的访问请求发送到所述新版应用软件的设定子软件;
所述检测子模块检测所述设定子软件对所述设定的访问请求的访问响应情况。
根据本申请的第三方面,提供一种电子设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
根据本申请的第四方面,提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请提供的应用软件发布方法,在新版应用软件的启动状态信息正常后,再利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况,在检测到每个子软件运行正常后,再确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。这样,本申请方案并不是直接将全部新版应用软件的内容替换全部旧版应用软件,而是根据检测情况逐步部署所述新版应用软件的子软件,每个子软件正常运行后再关闭旧版对应子软件,直到最后全部新版应用软件的子软件都运行正常后,才最终完成整个新版应用软件的发布,从而避免了所述新版应用软件发布后无法提供正常服务的问题。
本申请的方案,可以依次将指定用户流量转发到所述新版应用软件的设定子软件;检测所述设定子软件接收所述指定用户流量后的运行情况;,例如依次将设定的访问请求发送到所述新版应用软件的设定子软件,然后检测所述设定子软件对所述设定的访问请求的访问响应情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是根据本申请一示例性实施例示出的一种应用软件发布方法的流程示意图;
图2是根据本申请一示例性实施例示出的一种应用软件发布方法的另一流程示意图;
图3是根据本申请一示例性实施例示出的一种应用软件发布系统的结构示意图;
图4是根据本申请一示例性实施例示出的一种应用软件发布系统的另一结构示意图;
图5是根据本申请一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
相关技术中是直接将旧版应用软件全部替换为新版应用软件,可能会导致新版应用软件无法提供正常服务。本申请提供的应用软件发布方法,能逐步完成新版应用软件的发布,避免了新版应用软件发布后无法提供正常服务的问题。以下结合附图详细描述本申请实施例的技术方案。
图1是根据本申请一示例性实施例示出的一种应用软件发布方法的流程示意图。该方法可以应用于软件发布系统中。
参见图1,一种应用软件发布方法,包括:
在步骤S101中,获取新版应用软件。
获取新版应用软件可以是获取整个新版应用软件的软件包。
在步骤S102中,启动新版应用软件,获取启动状态信息。
具体的,启动状态信息可以是以下至少一项信息或其组合:新版应用软件的运行日志中特定的字符串,新版应用软件的TCP(Transmission Control Protocol,传输控制协议)响应状态,新版应用软件的响应结果信息等。根据这些状态信息,可以获知新版应用软件启动是否正常。
在步骤S103中,根据启动状态信息正常,利用流量验证方式依次检测新版应用软件的各个子软件运行情况。
其中,可以依次将指定用户流量转发到新版应用软件的设定子软件;检测设定子软件接收指定用户流量后的运行情况。
其中,依次将指定用户流量转发到新版应用软件的设定子软件,包括:依次将设定的访问请求发送到新版应用软件的设定子软件;检测设定子软件接收指定用户流量后的运行情况,包括:检测设定子软件对设定的访问请求的访问响应情况。
在依次将指定用户流量转发到新版应用软件的设定子软件时,如果用户流量是HTTP形式,通过在头部增加标记信息的方式将用户流量进行定向转发;如果用户流量是非HTTP形式,通过返回不同的域名的方式将用户流量进行分发。
其中,检测设定子软件对设定的访问请求的访问响应情况,包括:在设定时间内,检测和统计设定子软件对设定的访问请求的正常响应情况或异常响应情况。
在步骤S104中,在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
从该实施例可以发现,本申请的实施例提供的应用软件发布方法,在新版应用软件的启动状态信息正常后,再利用流量验证方式依次检测新版应用软件的各个子软件运行情况,在检测到每个子软件运行正常后,再确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。这样,本申请方案并不是直接将全部新版应用软件的内容替换全部旧版应用软件,而是根据检测情况逐步部署新版应用软件的子软件,每个子软件正常运行后再关闭旧版对应子软件,直到最后全部新版应用软件的子软件都运行正常后,才最终完成整个新版应用软件的发布,从而避免了新版应用软件发布后无法提供正常服务的问题。
图2是根据本申请一示例性实施例示出的一种应用软件发布方法的另一流程示意图。图2相对于图1更详细描述了本申请的方案。
本申请的方案,综合考虑应用软件运行情况及用户访问信息,可以更加准确地确定新版应用软件的运行状态,也即可准确地确定新版应用软件是否影响用户体验,进而准确地判断旧版应用软件是否可以停止服务。本申请的方案,可以用于多种Windos操作系统上,也可以用于Linux操作系统上。
参见图2,一种应用软件发布方法,包括:
在步骤S201中,获取新版应用软件。
获取新版应用软件可以是获取整个新版应用软件的软件包。互联网的软件通常是分布式、组件化的,因此该步骤中可以是全量接收整个新版应用软件的软件包。另外,软件为了可以快速回退,一般会先备份旧版应用软件,然后再写入新版应用软件,所以通常也是全量更新的方式。
在步骤S202中,安装并启动新版应用软件,获取新版应用软件的启动状态信息。
新版应用软件可以在VM(Virtual Machine,虚拟机)或实际的物理机上安装和运行。在运行环境是VM时,可以快速生成空白测试环境,进行应用软件的安装及运行。在运行环境是物理机时,一般可以先停止其中一台物理机器的流量,关闭旧版应用软件,更新新版应用软件,再运行新版应用软件。为了能够快速回退到旧版应用软件,一般可以将旧版应用软件先进行备份。
应用软件的状态是复杂多样的,例如在应用软件启动过程中,应用软件可能因为启动异常而退出,也可能长时间在启动过程中无法切换至就绪状态;又例如,应用软件正常启动成功后,也可能处于就绪的运行状态却无法响应请求,或者响应结果无法达到预期的结果等。因此,需要检测新版应用软件的启动状态信息和启动正常后的运行情况。
该步骤S202中可以通过不同方式获取新版应用软件的启动状态信息。其中,可以根据以下中的任意一项信息或其组合来获取新版应用软件的启动状态信息:日志信息、响应状态信息、响应结果信息。
具体的,启动状态信息可以是以下至少一项信息或其组合:新版应用软件的运行日志中特定的字符串,新版应用软件的TCP(Transmission Control Protocol,传输控制协议)响应状态,新版应用软件的响应结果信息等。另外,新版应用软件的启动状态信息还可以包括:运行日志中的各类日志等级数量,特别是告警级别及错误级别等信息;应用响应的状态码分布比例,尤其是4xx\5xx等。根据这些状态信息,可以获知新版应用软件启动是否正常。
在一种实施方式中,可以根据运行日志中特定的字符串确定新版应用软件是否正常启动。运行日志是应用软件运行结果的输出。例如,由于TCP端口冲突、配置内容错误、配置缺失、权限不足等异常,通常会导致新版应用软件启动失败或者导致新版应用软件长时间在启动过程中无法切换至就绪状态。通过对运行日志中特定的字符串的分析,可以确定新版应用软件是否正常启动。又例如,由于启动指令错误、环境变量缺失、访问路径错误等问题,也会导致新版应用软件启动失败甚至退出运行,因此也可以对新版应用软件的启动进程进行判断,确定新版应用软件是否仍然在运行(也即是否存活)。
该步骤中获取的启动状态信息,包括了启动异常的情况,例如:TCP端口冲突_启动失败、配置缺陷_启动失败、权限不足_启动失败等。
在步骤S203中,根据启动状态信息正常,依次将指定用户流量转发到新版应用软件的设定子软件,检测设定子软件接收指定用户流量后的运行情况。
即使新版应用软件启动正常,对于未被检查到的各种异常情况,可能会在新版应用软件提供服务期间出现异常,但新版应用软件不一定会停止运行,这种类型就需要通过请求来验证服务状态。如前面所描述,新版应用软件启动就绪后,由于配置内容错误、配置缺失、权限不足等问题,导致新版应用软件的响应结果可能出现预期外结果。此时,应用软件仍然是在运行状态,但响应结果却无法达到预期的结果,因此本申请方案可以进一步通过流量验证方式来检测新版应用软件的运行情况。一般发起的访问请求从发起端到达服务器端会有多个节点,在这些节点收集软件的响应信息,就可以检测到新版应用软件的响应情况。
具体的,可以依次将指定用户流量转发到新版应用软件的设定子软件,检测设定子软件接收指定用户流量后的运行情况。例如,依次将设定的访问请求发送到新版应用软件的设定子软件;检测设定子软件对设定的访问请求的访问响应情况。
其中在依次将指定用户流量转发到新版应用软件的设定子软件时,如果用户流量是HTTP(HyperText Transfer Protocol,超文本传输协议)形式,通过在头部增加标记信息的方式将用户流量进行定向转发;如果用户流量是非HTTP形式,通过返回不同的域名的方式将用户流量进行分发。
在一种实施方式中,将部分用户的访问请求指向新版应用软件,通过新版应用软件响应用户访问请求的状态码分布比例,尤其是4xx\5xx等状态码,可以检测到新版应用软件的响应情况。
在一种实施方式中,检测设定子软件对设定的访问请求的访问响应情况,可以包括:在设定时间内,检测和统计设定子软件对设定的访问请求的正常响应情况或异常响应情况。其中的异常响应情况,可以包括:权限不足_访问异常、配置缺陷_访问异常、代码缺陷_访问异常等。
本申请的方案,可以采用多种方式统计访问的异常响应情况:例如,可以利用新版应用软件本端进行统计,通过监听应用软件的本地日志,统计访问的异常响应情况;或者,由新版应用软件将日志统一上报,由统一的日志中心接收日志,再调用日志中心的接口来获取日志,进行状态收集及异常判断。
在步骤S204中,在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
现在的应用软件一般是分布式软件,一个应用软件会由多个子软件组成,如数据库、中间件、支付服务、前端资源服务、后端商城服务、后端会员服务等,由多个子软件组成一个整体。因此,该步骤在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
可以发现,本申请的方案,通过流量验证的方式检测各个子软件的运行情况,可以更加准确地确定新版应用软件的运行状态,可准确地确定新版应用软件是否影响用户体验,进而准确地判断旧版应用软件是否可以停止服务,从而避免了新版应用软件发布后无法提供正常服务的问题。
与前述应用功能实现方法实施例相对应,本申请还提供了一种应用软件发布系统、电子设备及相应的实施例。
图3是根据本申请一示例性实施例示出的一种应用软件发布系统的结构示意图。
参见图3,一种应用软件发布系统,包括:获取模块301、启动模块302、运行检测模块303、处理模块304。
获取模块301,用于获取新版应用软件。
启动模块302,用于启动获取模块301获取的新版应用软件,获取启动状态信息。其中,启动状态信息可以是以下至少一项信息或其组合:新版应用软件的运行日志中特定的字符串,新版应用软件的TCP(Transmission Control Protocol,传输控制协议)响应状态,新版应用软件的响应结果信息等。根据这些状态信息,可以获知新版应用软件启动是否正常。
运行检测模块303,用于根据启动模块302获取的启动状态信息正常,利用流量验证方式依次检测新版应用软件的各个子软件运行情况。运行检测模块303可以依次将指定用户流量转发到新版应用软件的设定子软件;检测设定子软件接收指定用户流量后的运行情况。
处理模块304,用于在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
本申请的实施例提供的应用软件发布系统,在新版应用软件的启动状态信息正常后,再利用流量验证方式依次检测新版应用软件的各个子软件运行情况,在检测到每个子软件运行正常后,再确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。这样,本申请方案并不是直接将全部新版应用软件的内容替换全部旧版应用软件,而是根据检测情况逐步部署新版应用软件的子软件,每个子软件正常运行后再关闭旧版对应子软件,直到最后全部新版应用软件的子软件都运行正常后,才最终完成整个新版应用软件的发布,从而避免了新版应用软件发布后无法提供正常服务的问题。
图4是根据本申请一示例性实施例示出的一种应用软件发布系统的另一结构示意图。图4相对于图3更详细描述了本申请的方案。
参见图4,一种应用软件发布系统,包括获取模块301、启动模块302、运行检测模块303、处理模块304。
获取模块301、启动模块302、运行检测模块303、处理模块304的功能可以参见图3中的描述,此处不再赘述。
其中,运行检测模块303可以包括:发送子模块3031、检测子模块3032。
发送子模块3031,用于根据启动模块302获取的启动状态信息正常,依次将指定用户流量转发到新版应用软件的设定子软件。
检测子模块3032,用于检测设定子软件接收指定用户流量后的运行情况。
其中,发送子模块3031可以依次将设定的访问请求发送到新版应用软件的设定子软件;检测子模块3032可以检测设定子软件对设定的访问请求的访问响应情况。
其中,发送子模块3031在依次将指定用户流量转发到新版应用软件的设定子软件时,如果用户流量是HTTP形式,通过在头部增加标记信息的方式将用户流量进行定向转发;如果用户流量是非HTTP形式,通过返回不同的域名的方式将用户流量进行分发。
其中,检测子模块3032检测设定子软件对设定的访问请求的访问响应情况,可以包括:在设定时间内,检测和统计设定子软件对设定的访问请求的正常响应情况或异常响应情况。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
图5是根据本申请一示例性实施例示出的一种电子设备的结构示意图。该电子设备例如可以是服务器设备。
参见图5,电子设备50包括存储器501和处理器502。
处理器502可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器501可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器502或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器501可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器501可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器501上存储有可执行代码,当可执行代码被处理器502处理时,可以使处理器502执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (6)

1.一种应用软件发布方法,其特征在于,包括:
获取新版应用软件;
启动所述新版应用软件,获取启动状态信息,其中,所述启动状态信息包括以下至少一项信息或其组合:所述新版应用软件的运行日志中特定的字符串、所述新版应用软件的TCP响应状态、所述新版应用软件的响应结果信息;
根据所述启动状态信息正常,利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况,其中包括:依次将指定用户流量转发到所述新版应用软件的设定子软件,检测所述设定子软件接收所述指定用户流量后的运行情况,其中,
所述依次将指定用户流量转发到所述新版应用软件的设定子软件,包括:依次将设定的访问请求发送到所述新版应用软件的设定子软件,
所述检测所述设定子软件接收所述指定用户流量后的运行情况,包括:通过所述设定子软件响应所述设定的访问请求的状态码分布比例,检测所述设定子软件对所述设定的访问请求的访问响应情况;
在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件。
2.根据权利要求1所述的方法,其特征在于,所述检测所述设定子软件对所述设定的访问请求的访问响应情况,包括:
在设定时间内,检测和统计所述设定子软件对所述设定的访问请求的正常响应情况或异常响应情况。
3.根据权利要求1所述的方法,其特征在于:
所述依次将指定用户流量转发到所述新版应用软件的设定子软件时,
如果所述用户流量是HTTP形式,通过在头部增加标记信息的方式将所述用户流量进行定向转发;
如果所述用户流量是非HTTP形式,通过返回不同的域名的方式将所述用户流量进行分发。
4.一种应用软件发布系统,其特征在于,包括:
获取模块,用于获取新版应用软件;
启动模块,用于启动所述获取模块获取的新版应用软件,获取启动状态信息,其中,所述启动状态信息包括以下至少一项信息或其组合:所述新版应用软件的运行日志中特定的字符串、所述新版应用软件的TCP响应状态、所述新版应用软件的响应结果信息;
运行检测模块,用于根据所述启动模块获取的启动状态信息正常,利用流量验证方式依次检测所述新版应用软件的各个子软件运行情况;
处理模块,用于在检测到每个子软件运行正常后,确定该子软件可用并关闭旧版应用软件的对应子软件,直到全部子软件都确认可用后发布新版应用软件;
其中,所述运行检测模块包括:
发送子模块,用于根据所述启动模块获取的启动状态信息正常,依次将指定用户流量转发到所述新版应用软件的设定子软件,包括:依次将设定的访问请求发送到所述新版应用软件的设定子软件;
检测子模块,用于检测所述设定子软件接收所述指定用户流量后的运行情况,包括:通过所述设定子软件响应所述设定的访问请求的状态码分布比例,检测所述设定子软件对所述设定的访问请求的访问响应情况。
5.一种电子设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-3中任一项所述的方法。
6.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-3中任一项所述的方法。
CN202010504250.4A 2020-06-05 2020-06-05 应用软件发布方法、系统及电子设备 Active CN111679981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010504250.4A CN111679981B (zh) 2020-06-05 2020-06-05 应用软件发布方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010504250.4A CN111679981B (zh) 2020-06-05 2020-06-05 应用软件发布方法、系统及电子设备

Publications (2)

Publication Number Publication Date
CN111679981A CN111679981A (zh) 2020-09-18
CN111679981B true CN111679981B (zh) 2023-08-29

Family

ID=72435085

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010504250.4A Active CN111679981B (zh) 2020-06-05 2020-06-05 应用软件发布方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN111679981B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254056B (zh) * 2021-04-16 2022-04-19 荣耀终端有限公司 一种更新预警及故障修复的方法及设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016061974A1 (zh) * 2014-10-20 2016-04-28 中兴通讯股份有限公司 San存储系统应用软件处理方法、服务器、主机及系统
WO2016150153A1 (zh) * 2015-03-24 2016-09-29 百度在线网络技术(北京)有限公司 一种用于软件发布的方法和装置
CN107179909A (zh) * 2017-05-16 2017-09-19 广东美的暖通设备有限公司 软件升级方法、装置及计算机可读存储介质
CN108683516A (zh) * 2018-03-14 2018-10-19 聚好看科技股份有限公司 一种应用实例的升级方法、装置和系统
CN109413164A (zh) * 2018-10-09 2019-03-01 郑州云海信息技术有限公司 一种访问服务恢复方法、装置、设备及可读存储介质
WO2019179459A1 (zh) * 2018-03-23 2019-09-26 中兴通讯股份有限公司 验证软件版本的方法及系统
CN111158715A (zh) * 2019-12-19 2020-05-15 中国平安财产保险股份有限公司 灰度发布控制方法及系统
CN111190758A (zh) * 2019-12-19 2020-05-22 江苏新质信息科技有限公司 基于fpga计算规则和rpc监控结合实现设备状态自恢复方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016061974A1 (zh) * 2014-10-20 2016-04-28 中兴通讯股份有限公司 San存储系统应用软件处理方法、服务器、主机及系统
WO2016150153A1 (zh) * 2015-03-24 2016-09-29 百度在线网络技术(北京)有限公司 一种用于软件发布的方法和装置
CN107179909A (zh) * 2017-05-16 2017-09-19 广东美的暖通设备有限公司 软件升级方法、装置及计算机可读存储介质
CN108683516A (zh) * 2018-03-14 2018-10-19 聚好看科技股份有限公司 一种应用实例的升级方法、装置和系统
WO2019179459A1 (zh) * 2018-03-23 2019-09-26 中兴通讯股份有限公司 验证软件版本的方法及系统
CN109413164A (zh) * 2018-10-09 2019-03-01 郑州云海信息技术有限公司 一种访问服务恢复方法、装置、设备及可读存储介质
CN111158715A (zh) * 2019-12-19 2020-05-15 中国平安财产保险股份有限公司 灰度发布控制方法及系统
CN111190758A (zh) * 2019-12-19 2020-05-22 江苏新质信息科技有限公司 基于fpga计算规则和rpc监控结合实现设备状态自恢复方法

Also Published As

Publication number Publication date
CN111679981A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
CN111506489B (zh) 测试方法、系统、设备、服务器及存储介质
US7475387B2 (en) Problem determination using system run-time behavior analysis
US9804917B2 (en) Notification of address range including non-correctable error
KR102537875B1 (ko) 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치
CN110795269B (zh) 一种数据恢复验证方法、装置及设备
CN109446455B (zh) 页面处理方法与装置
CN111679981B (zh) 应用软件发布方法、系统及电子设备
JP2009506445A (ja) 記憶装置構成およびその駆動方法
US9230687B2 (en) Implementing ECC redundancy using reconfigurable logic blocks
JP5495310B2 (ja) 情報処理装置、障害解析方法及び障害解析プログラム
US20140164851A1 (en) Fault Processing in a System
CN109086094B (zh) 应用服务自启动的方法、系统、装置及存储介质
CN110287066B (zh) 一种服务器分区迁移方法及相关装置
CN107797915B (zh) 故障的修复方法、装置及系统
US10140186B2 (en) Memory error recovery
CN113076228B (zh) 分布式系统及其管理方法与装置
CN114780356B (zh) Ssd系统日志数据的存储方法及装置、介质、设备
JPWO2015015621A1 (ja) 情報処理装置、診断方法、診断プログラム、及び情報処理システム
CN114253846B (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
US20240086303A1 (en) Formal Verification of a Program of a Control Device
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
CN117149352A (zh) 一种基于不同架构的云平台实现方法及设备
CN115686905A (zh) 一种内存储器spd信息恢复方法、装置及计算设备
CN116089133A (zh) 一种异常业务场景检测方法、装置、计算设备和存储介质
CN115757170A (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