CN115408112A - 一种内网生产环境的Bug处理方法、系统、介质及设备 - Google Patents

一种内网生产环境的Bug处理方法、系统、介质及设备 Download PDF

Info

Publication number
CN115408112A
CN115408112A CN202211360147.2A CN202211360147A CN115408112A CN 115408112 A CN115408112 A CN 115408112A CN 202211360147 A CN202211360147 A CN 202211360147A CN 115408112 A CN115408112 A CN 115408112A
Authority
CN
China
Prior art keywords
bug
fault
intranet
production environment
error
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.)
Pending
Application number
CN202211360147.2A
Other languages
English (en)
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.)
Confident Information Co ltd
Original Assignee
Confident Information 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 Confident Information Co ltd filed Critical Confident Information Co ltd
Priority to CN202211360147.2A priority Critical patent/CN115408112A/zh
Publication of CN115408112A publication Critical patent/CN115408112A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/01Customer relationship services
    • G06Q30/015Providing customer assistance, e.g. assisting a customer within a business location or via helpdesk
    • G06Q30/016After-sales
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于Bug信息处理技术领域,为了解决现有的软件产品问题处理方法影响客户体验的问题,提供了一种内网生产环境的Bug处理方法、系统、介质及设备。其中内网生产环境的Bug处理方法包括接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包;若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,解析当前Bug的错误码及错误原因,从业务恢复数据库中匹配出对应恢复方案;若在设定时间间隔未接收到心跳包,则确定当前情况为Bug且Bug为故障类型,解析出故障码及故障原因,从业务恢复数据库中匹配出对应恢复方案。其大大缩短了客户业务系统故障的响应时间及修复时间。

Description

一种内网生产环境的Bug处理方法、系统、介质及设备
技术领域
本发明属于Bug信息类型识别及处理技术领域,尤其涉及一种内网生产环境的Bug处理方法、系统、介质及设备。
背景技术
随着信息技术的发展,人们的工作方式和行为方式发生了很大的变化,越来越多的政府机构、公司企业实现了自动化办公。但是,在一些安全性要求较高的应用场景(即内网生产环境)下,一般会采用内外网隔离的方式,客户业务系统仅限内网访问,服务器工控机一般放置在机房中,仅接入了内网,未与互联网连接,在内网生产环境下,当软件产品出现问题后,通常的处理方式是:客户业务系统的管理员联系产品供应商的售后人员,根据问题的复杂程度,售后人员采用远程或现场的方式初步诊断问题的原因,若售后人员无法解决,还需要反馈到技术人员,由技术人员查明原因、修改代码、测试通过后再升级客户生产环境。而直接升级客户的生产环境,也存在一定的风险。从客户业务系统的管理员反馈到产品供应商技术人员,再到解决问题、完成测试、升级客户生产环境,中间耗时少则一天,多则几日。
发明人发现,在内网生产环境下,现有的软件产品问题处理方法使得客户业务只能暂停,这大大影响了客户体验,而且还有一定的信息泄露风险。对于产品供应商和产品客户来说,当客户业务系统出现问题时,既影响产品客户业务系统的正常运行,又损害了产品供货商和产品客户已经建立的信任关系,更不利于产品供货商对产品客户业务系统后续功能的拓展。
发明内容
为了解决上述背景技术中存在的问题,本发明提供了一种内网生产环境的Bug处理方法、系统、介质及设备,其能够使得技术人员及时了解产品运行中出现的问题,并尽早介入,大大缩短针对客户业务系统故障的响应时间、修复时间,有利于产品供货商维护和产品客户之间的关系,便于后期功能的拓展。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种内网生产环境的Bug处理方法。
一种内网生产环境的Bug处理方法,该方法适用于宿主机的主控制器,所述宿主机上部署有Docker容器;所述内网生产环境的Bug处理方法包括:
接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包;
若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,判定当前Bug为错误类型,继续解析当前Bug的错误码及错误原因,根据所述错误码及错误原因从业务恢复数据库中匹配出对应恢复方案;
若在设定时间间隔未接收到心跳包,则判定心跳包超时,确定当前情况为Bug且Bug为故障类型,读取宿主机内的软件产品的运行日志目录下最新的日志文件,从日志文件数据的最后开始查找故障关键字,确定出最后一次出现故障的位置,并解析出故障码及故障原因,根据所述故障码及故障原因从业务恢复数据库中匹配出对应恢复方案。
作为一种实施方式,在所述业务恢复数据库中,若错误原因或故障原因为产品原因,则业务恢复数据库中的方案为:
删除原有Docker容器,重新创建Docker容器,重新部署宿主机中的war包,最后启动新的Docker容器。
作为一种实施方式,每次创建Docker容器时,均基于同一定制Docker镜像创建;所述定制Docker镜像基于Docker空白镜像创建,以使得每次创建的镜像环境统一。
作为一种实施方式,所述war包单独存放,每次创建容器后,再将war包拷贝到容器中。
作为一种实施方式,所述内网生产环境的Bug处理方法,还包括:
将解析出的当前Bug的相关信息,发送至产品供货端的移动终端中。
本发明的第二个方面提供一种内网生产环境的Bug处理系统。
一种内网生产环境的Bug处理系统,其包括:
心跳包接收模块,其用于接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包;
错误类型Bug处理模块,其用于若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,判定当前Bug为错误类型,继续解析当前Bug的错误码及错误原因,根据所述错误码及错误原因从业务恢复数据库中匹配出对应恢复方案;
故障类型Bug处理模块,其用于若在设定时间间隔未接收到心跳包,则判定心跳包超时,确定当前情况为Bug且Bug为故障类型,读取宿主机内的软件产品的运行日志目录下最新的日志文件,从日志文件数据的最后开始查找故障关键字,确定出最后一次出现故障的位置,并解析出故障码及故障原因,根据所述故障码及故障原因从业务恢复数据库中匹配出对应恢复方案。
作为一种实施方式,在所述业务恢复数据库中,若错误原因或故障原因为产品原因,则业务恢复数据库中的方案为:
删除原有Docker容器,重新创建Docker容器,重新部署宿主机中的war包,最后启动新的Docker容器。
作为一种实施方式,每次创建Docker容器时,均基于同一定制Docker镜像创建;所述定制Docker镜像基于Docker空白镜像创建,以使得每次创建的镜像环境统一。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的内网生产环境的Bug处理方法中的步骤。
本发明的第四个方面提供一种电子设备。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的内网生产环境的Bug处理方法中的步骤。
与现有技术相比,本发明的有益效果是:
(1)本发明采用心跳包技术,对Docker容器内的软件产品发送来的心跳包进行解析,进而确定出相应Bug的类型,针对不同Bug类型所对应的原因,从业务恢复数据库中匹配出对应恢复方案及发送给产品供货端的移动终端,一方面使得技术人员能及时了解产品运行中出现的问题,并尽早介入,另一方面,大大缩短了针对客户业务系统故障的响应时间、修复时间,有利于产品供货商维护和产品客户之间的关系,便于后期功能的拓展。
(2)本发明采用Docker容器技术,在Bug修复期间,使用原有的Docker容器继续运行,保证客户业务不中断服务,避免了可能存在的更大的损失;采用Docker容器技术,Bug修复之后,新创建一个Docker容器进行测试,测试通过后,再对客户生产环境进行升级,降低了生产环境升级可能存在的风险,还可以节省产品供应商的人力成本、产品售后成本。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的挂载共享目录过程;
图2是本发明实施例Docker容器内软件产品出现错误的处理流程图;
图3是本发明实施例Docker容器出现故障的处理流程图;
图4是本发明实施例调用短信模块处理流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
Docker是一个开源的应用容器引擎,使用Go语言开发实现,基于Linux内核的cgroup,namespace以及OverlayFS类的Union FS等技术,对进程进行封装隔离。Docker让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。
cgroup:名称源自控制组群(control groups)的简写,是Linux内核的一个功能,用来限制、控制与分离一个进程组的资源(如CPU、内存、磁盘输入输出等)。
namespace:在Linux系统中,namespace是在内核级别以一种抽象的形式来封装系统资源,通过将系统资源放在不同的namespace中,来实现资源隔离的目的。namespace的一个作用就是来实现容器。
OverlayFS:一种堆叠文件系统,通过在现有文件系统上覆盖一个虚拟的文件系统来连接多个独立的文件系统,不直接涉及磁盘空间结构,且对多个源目录具体使用文件系统类型没有要求。
Union FS:联合文件系统(Union File System),可以把多个物理位置分开的目录(称为分支)内容联合挂载到同一个目录下,允许只读和可读写目录并存。
宿主机:即:主机,相对于子机,如一台安装了虚拟机的计算机,相对于虚拟机而言,这台计算机就是宿主机。
心跳机制:定时发送一个自定义的结构体(即:心跳包),以确保连接的有效性的一种机制。
心跳包:客户端和服务器间定时通知对方自己状态的一个自定义的结构体,按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
dockerfile:dockerfile是一个文本文件,包含一条或多条指令(Instruction),每一条指令构建一层,而指令则描述如何构建。
空白镜像:Docker中存在的一个虚拟的镜像scratch,就是一个空白镜像。
定制镜像:以一个镜像为基础,根据实际需要在其上定制出的特定镜像。镜像的定制就是定制每一层所添加的配置、文件等,通常是把每一层修改、安装、构建、操作等的命令写入一个脚本,用这个脚本来构建镜像,这个脚本就是dockerfile。
war包:是Sun公司提出的一种web应用程序格式,里面包括编译生成的class文件、依赖的jar包、配置文件、所有的网站页面等,一个war包可以认为是一个web项目,包括项目的所有文件。
数据卷:即Volume,是存在于一个或多个容器中的特定文件或文件夹,它可以绕过联合文件系统(Union FS),以正常的文件或者目录的形式存在于宿主机上,其生存周期独立于容器的生存周期。
实施例一
在硬件设备工控机(即宿主机)出厂前,主控程序、定制镜像、软件产品等均已安装部署完成,可直接运行,只需要进行一些必要的配置,即可正常进行业务处理。软件产品运行之后,Docker容器内的软件产品定时向宿主机上部署的主控程序发送心跳包。
本实施例所提供的一种内网生产环境的Bug处理方法,该方法适用于宿主机的主控制器,所述宿主机上部署有Docker容器;所述内网生产环境的Bug处理方法包括:
步骤1:接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包。
步骤2:若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,判定当前Bug为错误类型,继续解析当前Bug的错误码及错误原因,根据所述错误码及错误原因从业务恢复数据库中匹配出对应恢复方案。
在步骤2中,Docker容器预先定义错误码及错误原因,不同的错误对应不同的错误码和错误原因。解析所接收到的心跳包的方法根据心跳包的结构进行解析,如:使用json,解析心跳包就是解析json字符串,取出错误码及错误原因,json结构如下:
{
“err”:{
“errcode”:”0”,
“errmsg”:”操作成功”
其他信息……
“data”:{
“exdata”:”xxxxxx”
其他信息……
步骤3:若在设定时间间隔未接收到心跳包,则判定心跳包超时,确定当前情况为Bug且Bug为故障类型,读取宿主机内的软件产品的运行日志目录下最新的日志文件,从日志文件数据的最后开始查找故障关键字,确定出最后一次出现故障的位置,并解析出故障码及故障原因,根据所述故障码及故障原因从业务恢复数据库中匹配出对应恢复方案。
在步骤3中,解析故障码及故障原因的过程为:
Docker容器内软件产品在运行过程中,会按照固定格式输出运行日志,格式如下:
[故障码] [故障描述] [故障位置] [故障环境]。
其中,故障码与故障原因相关联。通过故障码即可判断出故障原因。
日志格式举例如下:
[0x80001011] [非法参数] [文件名称<代码行数>][<操作系统名称及版本号><JDK版本><Web服务中间件名称及版本>];
[0x0] [获取数据库连接成功] [文件名称<代码行数>][<操作系统名称及版本号><JDK版本><Web服务中间件名称及版本>];
[0x80001023] [读取数据失败] [文件名称<代码行数>][<操作系统名称及版本号><JDK版本><Web服务中间件名称及版本>];
日志解析时,从文件末尾开始逐行读取,若故障码为0x0则忽略,若故障码不为0x0,则利用json结构等方法解析该行其他信息,如:故障描述、故障位置、故障环境。
在一个或多个实施例中,所述内网生产环境的Bug处理方法,还包括:
将解析出的当前Bug的相关信息,发送至产品供货端的移动终端中。
在本实施例中,将解析出的当前Bug的相关信息以短信的形式发送给产品供货商技术人员。
此处需要说明的是,在其他实施例中,本领域技术人员可将解析出的当前Bug的相关信息以其他形式,比如软件信息等形式发送给产品供货商技术人员。
在具体实施过程中,在所述业务恢复数据库中,若错误原因或故障原因为产品原因,则业务恢复数据库中的方案为:
删除原有Docker容器,重新创建Docker容器,重新部署宿主机中的war包,最后启动新的Docker容器。
其中,每次创建Docker容器时,均基于同一定制Docker镜像创建,而定制Docker镜像则基于Docker空白镜像创建,如此使得每次创建的镜像环境统一。
在本实施例中,所述war包单独存放,每次创建容器后,再将war包拷贝到容器中。
实施例二
本实施例提供了一种内网生产环境的Bug处理系统,其包括:
心跳包接收模块,其用于接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包;
错误类型Bug处理模块,其用于若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,判定当前Bug为错误类型,继续解析当前Bug的错误码及错误原因,根据所述错误码及错误原因从业务恢复数据库中匹配出对应恢复方案,如图2所示。
故障类型Bug处理模块,其用于若在设定时间间隔未接收到心跳包,则判定心跳包超时,确定当前情况为Bug且Bug为故障类型,读取宿主机内的软件产品的运行日志目录下最新的日志文件,从日志文件数据的最后开始查找故障关键字,确定出最后一次出现故障的位置,并解析出故障码及故障原因,根据所述故障码及故障原因从业务恢复数据库中匹配出对应恢复方案,如图3所示。
其中,故障后,Docker容器可能崩溃或者出现其他无响应的情况,为了避免这种情况,日志存放于宿主机中。挂载共享目录指的是通过数据卷使宿主机和Docker容器之间实现数据共享,如图1所示,共享的数据主要包括:软件产品的运行日志、Docker容器内软件产品的配置文件等。
在一些实施例中,所述内网生产环境的Bug处理系统,还包括信息上报模块,所述信息上报模块用于读取产品供货商技术人员手机号。
若读取失败,将错误信息/故障信息返回给错误类型Bug处理模块,由错误类型Bug处理模块记录日志并提醒产品用户进行配置;若读取成功,将错误信息/故障信息及手机号按自定义格式组装后返回给错误类型Bug处理模块。
在另一些实施例中,所述内网生产环境的Bug处理系统,还包括调用短信模块;
当错误类型Bug处理模块接收到信息上报模块反馈的错误信息及手机号后,调用短信模块将错误信息/故障信息以短信的形式发送给产品供货商技术人员。
在具体实施过程中,在所述业务恢复数据库中,若错误原因或故障原因为产品原因,则业务恢复数据库中的方案为:
删除原有Docker容器,重新创建Docker容器,重新部署宿主机中的war包,最后启动新的Docker容器,如图4所示。
其中,每次创建Docker容器时,均基于同一定制Docker镜像创建;所述定制Docker镜像基于Docker空白镜像创建,以使得每次创建的镜像环境统一。
此处需要说明的是,产品供货商技术人员根据接收到的短信信息判断错误原因,若错误是因为产品用户错误操作、非法请求等非产品原因导致,由售后人员联系产品用户进行告知,或协助处理,此时不会调用业务恢复模块。
为便于软件产品的升级、维护,而不是每次进行产品的升级、维护时,都重新构建Docker容器,本发明基于Docker空白镜像(FROM scratch),使用dockerfile文件构建了Docker容器的定制镜像。在该定制镜像中,包括了软件程序运行所需的环境、Docker容器内系统配置文件、端口映射、挂载共享目录等。每次创建容器时,均基于此定制镜像进行创建,使得每次创建的镜像环境统一,避免了因环境区别导致的运行结果不一致的情况。定制镜像制作完成后,保存以便在创建容器时使用。考虑到软件产品可能需要升级、修改,软件产品的war包单独存放,每次创建容器后,再将软件产品的war包拷贝到容器中。
在使用Docker容器的过程中,当出现故障时,会删除原有的容器再重新创建容器。在容器的删除、重建过程中,被删除容器中的数据会根据容器的删除而丢失,所以,数据库软件是运行在宿主机中,容器中的运行的软件产品通过宿主机的IP和数据库软件端口进行访问。
程序运行所需的环境包括操作系统、运行所需的应用软件,以Java运行环境为例,操作系统可选择CentOS7.6,应用软件可选择JDK1.8、Tomcat9.0等。
Docker容器内系统配置文件主要指Docker容器内系统的一些配置文件,如:记录JDK、JRE等的环境变量,开机启动项、网络配置等。
端口映射指的是将容器内程序需要开放的端口映射到宿主机指定的端口。以JavaWeb应用为例,容器内的Java Web应用的端口为8888,将该端口映射到宿主机的8080端口。
挂载共享目录指的是通过数据卷使宿主机和Docker容器之间实现数据共享,如图1所示,共享的数据主要包括:软件产品的运行日志、Docker容器内软件产品的配置文件等。
需要提前说明的是,在硬件设备工控机(即宿主机)出厂前,主控程序、定制镜像、软件产品等均已安装部署完成,可直接运行。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的内网生产环境的Bug处理方法中的步骤。
实施例四
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的内网生产环境的Bug处理方法中的步骤。
本发明是参照本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种内网生产环境的Bug处理方法,其特征在于,所述内网生产环境的Bug处理方法适用于宿主机的主控制器,所述宿主机上部署有Docker容器;所述内网生产环境的Bug处理方法包括:
接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包;
若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,判定当前Bug为错误类型,继续解析当前Bug的错误码及错误原因,根据所述错误码及错误原因从业务恢复数据库中匹配出对应恢复方案;
若在设定时间间隔未接收到心跳包,则判定心跳包超时,确定当前情况为Bug且Bug为故障类型,读取宿主机内的软件产品的运行日志目录下最新的日志文件,从日志文件数据的最后开始查找故障关键字,确定出最后一次出现故障的位置,并解析出故障码及故障原因,根据所述故障码及故障原因从业务恢复数据库中匹配出对应恢复方案。
2.如权利要求1所述的内网生产环境的Bug处理方法,其特征在于,在所述业务恢复数据库中,若错误原因或故障原因为产品原因,则业务恢复数据库中的方案为:
删除原有Docker容器,重新创建Docker容器,重新部署宿主机中的war包,最后启动新的Docker容器。
3.如权利要求2所述的内网生产环境的Bug处理方法,其特征在于,每次创建Docker容器时,均基于同一定制Docker镜像创建;所述定制Docker镜像基于Docker空白镜像创建,以使得每次创建的镜像环境统一。
4.如权利要求2所述的内网生产环境的Bug处理方法,其特征在于,所述war包单独存放,每次创建容器后,再将war包拷贝到容器中。
5.如权利要求1所述的内网生产环境的Bug处理方法,其特征在于,所述内网生产环境的Bug处理方法,还包括:
将解析出的当前Bug的相关信息,发送至产品供货端的移动终端中。
6.一种内网生产环境的Bug处理系统,其特征在于,包括:
心跳包接收模块,其用于接收Docker容器内的软件产品每间隔设定时间间隔发送来的心跳包;
错误类型Bug处理模块,其用于若在设定时间间隔接收到心跳包,则解析所接收到的心跳包,当解析出心跳包存在Bug时,判定当前Bug为错误类型,继续解析当前Bug的错误码及错误原因,根据所述错误码及错误原因从业务恢复数据库中匹配出对应恢复方案;
故障类型Bug处理模块,其用于若在设定时间间隔未接收到心跳包,则判定心跳包超时,确定当前情况为Bug且Bug为故障类型,读取宿主机内的软件产品的运行日志目录下最新的日志文件,从日志文件数据的最后开始查找故障关键字,确定出最后一次出现故障的位置,并解析出故障码及故障原因,根据所述故障码及故障原因从业务恢复数据库中匹配出对应恢复方案。
7.如权利要求6所述的内网生产环境的Bug处理系统,其特征在于,在所述业务恢复数据库中,若错误原因或故障原因为产品原因,则业务恢复数据库中的方案为:
删除原有Docker容器,重新创建Docker容器,重新部署宿主机中的war包,最后启动新的Docker容器。
8.如权利要求7所述的内网生产环境的Bug处理系统,其特征在于,每次创建Docker容器时,均基于同一定制Docker镜像创建;所述定制Docker镜像基于Docker空白镜像创建,以使得每次创建的镜像环境统一。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的内网生产环境的Bug处理方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的内网生产环境的Bug处理方法中的步骤。
CN202211360147.2A 2022-11-02 2022-11-02 一种内网生产环境的Bug处理方法、系统、介质及设备 Pending CN115408112A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211360147.2A CN115408112A (zh) 2022-11-02 2022-11-02 一种内网生产环境的Bug处理方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211360147.2A CN115408112A (zh) 2022-11-02 2022-11-02 一种内网生产环境的Bug处理方法、系统、介质及设备

Publications (1)

Publication Number Publication Date
CN115408112A true CN115408112A (zh) 2022-11-29

Family

ID=84169320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211360147.2A Pending CN115408112A (zh) 2022-11-02 2022-11-02 一种内网生产环境的Bug处理方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN115408112A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461786A (zh) * 2014-12-19 2015-03-25 上海斐讯数据通信技术有限公司 Android系统的恢复方法及Android系统的恢复系统
CN105227374A (zh) * 2015-10-23 2016-01-06 浪潮(北京)电子信息产业有限公司 一种集群应用的故障迁移方法和系统
US20170364422A1 (en) * 2016-06-20 2017-12-21 Vmware, Inc. Pooled memory heartbeat in shared memory architecture
CN111176783A (zh) * 2019-11-20 2020-05-19 航天信息股份有限公司 容器治理平台的高可用方法、装置及电子设备
CN113193990A (zh) * 2021-04-09 2021-07-30 西安万像电子科技有限公司 故障处理方法和装置
CN114064387A (zh) * 2020-08-07 2022-02-18 中国电信股份有限公司 日志监控方法、系统、装置及计算机可读存储介质
CN114328101A (zh) * 2021-12-24 2022-04-12 武汉众智数字技术有限公司 一种软件故障定位与修复的方法与系统
CN114896094A (zh) * 2022-05-10 2022-08-12 中国电信股份有限公司 一种故障定位方法、装置、电子设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461786A (zh) * 2014-12-19 2015-03-25 上海斐讯数据通信技术有限公司 Android系统的恢复方法及Android系统的恢复系统
CN105227374A (zh) * 2015-10-23 2016-01-06 浪潮(北京)电子信息产业有限公司 一种集群应用的故障迁移方法和系统
US20170364422A1 (en) * 2016-06-20 2017-12-21 Vmware, Inc. Pooled memory heartbeat in shared memory architecture
CN111176783A (zh) * 2019-11-20 2020-05-19 航天信息股份有限公司 容器治理平台的高可用方法、装置及电子设备
CN114064387A (zh) * 2020-08-07 2022-02-18 中国电信股份有限公司 日志监控方法、系统、装置及计算机可读存储介质
CN113193990A (zh) * 2021-04-09 2021-07-30 西安万像电子科技有限公司 故障处理方法和装置
CN114328101A (zh) * 2021-12-24 2022-04-12 武汉众智数字技术有限公司 一种软件故障定位与修复的方法与系统
CN114896094A (zh) * 2022-05-10 2022-08-12 中国电信股份有限公司 一种故障定位方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
山金孝,潘晓华,刘世民: "《OpenShift云原生架构》", 28 February 2020, 机械工业出版社 *
范希辉等: "基于云计算理念的网络化仿真框架研究", 《系统仿真学报》 *
马克•威廉姆斯: "《精通TwistedPython事件驱动及异步编程 event-driven and asynchronous programming with Python》", 31 January 2021, 机械工业出版社 *

Similar Documents

Publication Publication Date Title
CN109933522B (zh) 一种自动化用例的测试方法、测试系统及存储介质
US10824521B2 (en) Generating predictive diagnostics via package update manager
CN109739523B (zh) 应用程序打包方法、装置、存储介质及终端
US20150100829A1 (en) Method and system for selecting and executing test scripts
US10169203B2 (en) Test simulation for software defined networking environments
US20150100832A1 (en) Method and system for selecting and executing test scripts
CN109344065A (zh) 远程调试方法、调试服务器及目标机
CN106502747A (zh) 一种应用升级的方法及移动终端
CN113434158B (zh) 一种大数据组件的自定义管理方法、装置、设备及介质
US20150100830A1 (en) Method and system for selecting and executing test scripts
US20150100831A1 (en) Method and system for selecting and executing test scripts
CN105512044A (zh) 用于关键字驱动测试的对象库的更新方法及系统
CN112241360A (zh) 一种测试用例生成方法、装置、设备及存储介质
CN111158741A (zh) 监控业务模块对第三方类库依赖关系变化的方法及装置
CN112860645A (zh) 一种离线压缩文件的处理方法、装置、计算机设备及介质
CN112199284A (zh) 程序自动化测试方法及其相应的装置、设备、介质
CN112148297A (zh) 一种服务器智能加密打包方法和装置
CN104484176A (zh) 一种安卓系统窗口对象获取方法和装置
CN116775061A (zh) 微服务应用的部署方法、装置、设备及存储介质
CN115408112A (zh) 一种内网生产环境的Bug处理方法、系统、介质及设备
CN110333964A (zh) 异常日志处理方法及装置、电子设备、存储介质
CN116244186A (zh) 一种操作系统测试管理方法、装置与计算设备
CN115859280A (zh) 内存马的检测方法、装置、设备及存储介质
CN114327870A (zh) 一种执行管理模块、系统及车辆
CN113986263A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20221129

RJ01 Rejection of invention patent application after publication