实现防火墙视图与内核视图切换方法及系统与流程
1.本发明涉及通信技术领域,尤其涉及一种实现防火墙视图与内核视图切换方法及系统。
背景技术:
2.目前防火墙发布用的候选(release)版本一般是内核态直接启动防火墙的用户态进程,启动过程中不响应“ctrl+c”或其他组合键操作,也不允许用户中断启动过程进入后台,启动完成后自动进入防火墙命令操作视图(如cli_sh视图),然后即可做登陆验证输入命令行操作防火墙;而调试用的防火墙调试(debug)版本则是针对研发内部人员使用,内核态不会直接启动防火墙用户态进程,而是启动内核的命令行解释器(如bash)进入内核视图(如shell视图),而后研发人员可以手动程序调试工具(gnu debugger,gdb)启动防火墙的用户态进程进行调试。
3.防火墙发布的release版本和调试的debug版本是不允许自由切换的,尤其是对于普通用户是禁止的,这使得研发人员无法直接在release版本直接调试,需要切换到debug版本调试,这无疑带来了维护时间成本上的增加。
技术实现要素:
4.本发明提供的实现防火墙视图与内核视图切换方法及系统,用于解决现有技术中存在的在候选版本的情况下,无法启动内核进行调试的问题。
5.本发明提供的一种实现防火墙视图与内核视图切换方法,包括:在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。
6.根据本发明提供的一种实现防火墙视图与内核视图切换方法,所述第一文件的获取方式,包括:基于目标命令创建所述第一文件,所述目标命令为创建文件的命令。
7.根据本发明提供的一种实现防火墙视图与内核视图切换方法,在所述确定存在第一文件的情况下,所述方法,还包括:初始化串口打印函数。
8.根据本发明提供的一种实现防火墙视图与内核视图切换方法,在所述确定存在第
一文件的情况下,所述方法,还包括:关闭硬件狗。
9.本发明还提供一种实现防火墙视图与内核视图切换系统,包括:第一修改模块、第二修改模块以及内核访问模块;所述第一修改模块,用于在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;所述第二修改模块,用于将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;所述内核访问模块,用于在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。
10.根据本发明提供的一种实现防火墙视图与内核视图切换系统,还包括:文件创建模块,用于基于目标命令创建所述第一文件,所述目标命令为创建文件的命令。
11.根据本发明提供的一种实现防火墙视图与内核视图切换系统,在所述确定存在第一文件的情况下,还包括:第一控制模块,用于初始化串口打印函数。
12.根据本发明提供的一种实现防火墙视图与内核视图切换系统,在所述确定存在第一文件的情况下,还包括:第二控制模块,用于关闭硬件狗。
13.本发明还提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现如上述任一种所述实现防火墙视图与内核视图切换方法。
14.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述实现防火墙视图与内核视图切换方法。
15.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述实现防火墙视图与内核视图切换方法。
16.本发明提供的实现防火墙视图与内核视图切换方法及系统,能够在不更换候选版本情况下实现动态切换启动视图的目的,方便研发人员可以在防火墙候选版本中按照调试版本方式启动内核以及手动gdb启动防火墙进程进行调试,与现有技术相比,研发人员无需切换到调试版本启动内核进行调试,节省了维护时间成本。
附图说明
17.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明提供的实现防火墙视图与内核视图切换方法的流程示意图;图2是本发明提供的实现防火墙视图与内核视图切换系统的结构示意图;图3是本发明提供的电子设备的实体结构示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.本发明提供的实现防火墙视图与内核视图切换方法,通过隐藏命令在防火墙视图创建第一文件(如启动模式标志文件),并在内核态修改release版本启动防火墙调用的第四文件,如内核启动文件/etc/inittab_release和/etc/rc.d/rcs_release,判断启动模式标志文件是否存在,若存在,则拷贝debug版本启动bash用的第三文件,如/etc/passwd_debug覆盖原来release版本的第二文件,如/etc/passwd_release,启动/bin/sh进入debug版本的内核视图(如shell视图),不存在则正常启动防火墙的命令行操作视图(如cli_sh视图)进程。
21.本发明提供的实现防火墙视图与内核视图切换方法,能够解决现有技术中存在的在防火墙候选版本中无法启动内核进行调试带来的如下问题:1,调试定位问题,release版本有时没办法直接定位,还需要更换到debug版本进行复现定位,这种情况尤其在现网上更加严重。如果复现问题的时间长,就会直接体现在维护时间、成本上的增加;2,releae版本启动过程中不响应ctrl+c或其他组合键操作,也不允许用户中断启动过程进入后台,无法调试启动过程中的一些问题,例如现网中需要在第一现场不更换候选版本情况下直接的定位调试问题;3,有些踩内存或野指针类问题只有release版本出现,或者有些在debug版本修改好的问题在release版本上回归不过,针对release版本特有问题,不能够使用debug版本进行更换调试的问题,达到在不更换版本情况下动态切换启动视图的目的,方便研发人员可以切换防火墙release版本按照debug版本方式启动内核以及手动gdb启动防火墙进程进行调试,具体实现如下:图1是本发明提供的实现防火墙视图与内核视图切换方法的流程示意图,如图1所示,方法包括:步骤110,在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;步骤120,将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息指示第二操作,所述第四文件为启动所述防火墙调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;步骤130,在所述候选版本中,调用修改后的第四文件和目标文件,启动所述第二视图。
22.需要说明的是,上述方法的执行主体可以是计算机设备。
23.可选地,本发明提供的实现防火墙视图与内核视图切换方法可以适用于linux操作系统。该第一文件可以具体为指示由防火墙的用户态对应的视图(即第一视图)进入到内核态的视图(即第二视图)的标志文件,例如,启动模式标志文件debug_start_flag。该第一视图可以具体为命令行操作视图cli_sh视图,该第二视图可以具体为内核视图shell视图。
24.该第二文件可以具体为启动用户态的第一视图时所需要调用的验证文件,该启动第一视图调用的验证文件可以具体为对用户的用户态的账号和密码进行验证的文件,例如/etc/passwd_release。该第三文件可以具体为启动内核态的第二视图时所需要的调用的验证文件,该启动第二视图调用的验证文件可以具体为对用户的内核态的账号和密码进行验证的文件,例如/etc/passwd_debug。
25.可选地,在确定存在第一文件的情况下,用调试版本中的第三文件覆盖候选版本中的第二文件,对候选版本中的第二文件进行替换,替换后的第二文件记为目标文件。
26.可选地,该第四文件可以具体为启动防火墙时所需要的调用的内核启动文件(也可以称之为初始化脚本文件),例如/etc/inittab_release和/etc/rc.d/rcs_release。该第一信息指示第一操作,该第二信息指示第二操作,该第一操作可以具体为候选版本中的第四文件中配置的默认加载第二文件启动用户态的第一视图的操作,该第二操作可以具体为加载候选版本中的验证文件确定启动的视图的操作。
27.需要说明的是,由于步骤110中在确定存在第一文件的情况下,存在拷贝调试版本中的第三文件覆盖候选版本中的第二文件并生成目标文件的动作,使得在启动防火墙调用修改后的第四文件时,会通过调用目标文件,启动内核态的第二视图。
28.举例说明,预设及修改内核的验证文件/etc/passwd_release和/etc/passwd_debug,具体包括:在内核文件系统中分别预设放置/etc/passwd_release和/etc/passwd_debug两个文件,分别控制串口登录启动不同视图进程(/etc/passwd_release控制串口登录启动第一视图,/etc/passwd_debug控制串口登录启动第二视图),release版本启动的是的cli_sh视图,debug版本启动的是shell视图。编译内核镜像时根据内核debug和release编译参数区分拷贝成/etc/passwd编译进内核文件系统,/etc/passwd_debug和/etc/passwd_release两个文件启分别动视图如下:console:x:0:0:root:/root:/bin/sh #debug版本启动bashconsole:x:0:0:root:/root:/usr/bin/cli_sh #release版本启动cli_sh预设及修改内核的初始化脚本文件/etc/rc.d/rcs_release,具体包括:在内核文件系统中预设放置/etc/rc.d/rcs_release,在内核rcs文件中判断启动模式标志文件是否存在,若存在,则拷贝debug版本启动shell视图调用的/etc/passwd_debug覆盖release版本的/etc/passwd_release,生成/etc/passwd,启动/bin/sh进入内核的shell视图,若不存在,则正常启动防火墙的dp和cli进程,cli_sh视图进程在release版本的/etc/passwd中启动;编译内核镜像时根据内核release编译参数区分拷贝成/etc/rc.d/rcs编译进内核文件系统,/etc/rc.d/rcs_release文件修改及判断启动进程如下:if [-f "/mnt/cfcard/debug_start_flag"]thencp /etc/passwd_debug /etc/passwd
elseif [-f "/usr/bin/dp.bin"]&&[-f "/usr/bin/cli.bin"]&&[-f "/usr/bin/cli_sh"]then/bin/chmod +x /usr/bin/dp.bin/bin/chmod +x /usr/bin/cli.bin/bin/chmod +x /usr/bin/cli_shusr/bin/dp.binusr/bin/cli.binfifi预设及修改内核的初始化脚本文件/etc/inittab_release,具体包括:修改release版本的/etc/inittab_release文件,调用/etc/rc.d/rcs文件,去掉原有的串口直接启动cli_sh视图进程的操作,改为运行终端登录进程/sbin/agetty
ꢀ‑
a(auto)自动登录最后加载候选版本中的验证文件(即目标文件/etc/passwd)的方式确定最终启动的视图进程,由于在启动模式标志文件存在时,存在拷贝/etc/passwd_debug覆盖/etc/passwd_release并生成目标文件/etc/passwd的动作(覆盖后生成的文件为/etc/passwd),最后会在/etc/passwd文件中启动/bin/sh进入shell视图,实现切换防火墙release版本按照debug版本方式启动内核以及手动gdb启动防火墙进程进行调试,重点修改内容为:null::respawn:/sbin/agetty
ꢀ‑
a console
ꢀ‑
n 115200 ttys0 vt100。
[0029]
#now run any rc scripts::sysinit:/etc/rc.d/rcs#add by netpower#ttys0::respawn:-/usr/bin/cli_sh#put a getty on the serial port#nul1::respawn:/sbin/getty
ꢀ‑
l ttys0 115200 vt100#nul1::respawn:/sbin/agetty
ꢀ‑
a console
ꢀ‑
n 115200 ttys0 vt100#ttys0::respawn:/sbin/getty-l ttys0 115200 vt100 #generic_serial本发明提供的实现防火墙视图与内核视图切换方法,能够在不更换候选版本情况下实现动态切换启动视图的目的,方便研发人员可以在防火墙候选版本中按照调试版本方式启动内核以及手动gdb启动防火墙进程进行调试,与现有技术相比,研发人员无需切换到调试版本启动内核进行调试,节省了维护时间成本。
[0030]
进一步地,在一个实施例中,所述第一文件的获取方式,可以具体包括:基于目标命令创建所述第一文件,所述目标命令为创建文件的命令。
[0031]
可选地,该第一文件可以具体为基于目标命令创建的文件,该目标命令可以具体为创建文件的命令,例如在linux操作系统下,该目标命令可以具体为touch debug_start_flag.txt,也可以具体为cat 》 debug_start_flag.txt,也可以是其他创建文件的命令,对此本发明不作具体限定。
[0032]
例如,防火墙用户态修改,增加隐藏命令行给内部研发人员使用,支持release版
本与debug版本方式来回切换启动,在磁盘目录下通过touch命令创建release版本切换到debug模式启动的启动模式标志文件debug_start_flag,重启后生效按debug模式方式启动,重启后启动模式标志文件不丢失。想更换为release模式启动则后台删除或防火墙隐藏命令行删除在磁盘目录下创建的启动模式标志文件debug_start_flag,重启后生效。
[0033]
本发明提供的实现防火墙视图与内核视图切换方法,通过创建的启动模式标志文件,能够使得研发人员在不更换候选版本情况下实现动态切换启动视图的目的,方便研发人员可以在防火墙候选版本中按照调试版本方式启动内核以及手动gdb启动防火墙进程进行调试,同时可以通过删除启动模式标志文件,正常启动防火墙候选版本中的用户态的视图,实现用户态的视图与内核态的视图之间的切换。
[0034]
进一步地,在一个实施例中,在所述确定存在第一文件的情况下,所述方法,还包括:初始化串口打印函数。
[0035]
可选地,用户态时为了用户体验,将一些串口打印函数的标准输入输出进行了屏蔽,在内核态调试时需要重新初始化串口打印函数,显示标准输入输出,具体地,release版本防火墙进程在初始化过程中判断启动模式标志文件是否存在,若存在,则初始化串口打印函数,使用标准输入输出,打印更多启动信息及调试信息。该串口打印函数可以具体为print、printf等。
[0036]
本发明提供的实现防火墙视图与内核视图切换方法,通过在确定存在启动模式标志文件时,初始化串口打印函数,在控制台显示更多防火墙启动信息以及调试信息,给研发人员的调试带来了便利,提高了调试效率。
[0037]
进一步地,在一个实施例中,在所述确定存在第一文件的情况下,所述方法,还包括:关闭硬件狗。
[0038]
可选地,release版本防火墙进程在初始化过程中判断启动模式标志文件是否存在,若存在,则不再初始化硬件狗,关闭硬件狗,防止gdb启动dp进程调试时中断,因为喂狗超时触发硬件狗狗叫而导致设备重启,使得调试终止。
[0039]
本发明提供的实现防火墙视图与内核视图切换方法,通过采取关闭硬件狗的方式,避免调试过程中因喂狗超时触发的设备重启,从而导致调试中断的问题的发生。
[0040]
下面对本发明提供的实现防火墙视图与内核视图切换系统进行描述,下文描述的实现防火墙视图与内核视图切换系统与上文描述的实现防火墙视图与内核视图切换方法可相互对应参照。
[0041]
图2是本发明提供的实现防火墙视图与内核视图切换系统的结构示意图,如图2所示,包括:第一修改模块210、第二修改模块211以及内核访问模块212;所述第一修改模块210,用于在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;所述第二修改模块211,用于将内核文件系统中的第四文件中的第一信息修改为
第二信息,所述第一信息指示第一操作,所述第二信息为指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;所述内核访问模块212,用于在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。
[0042]
本发明提供的实现防火墙视图与内核视图切换系统,能够在不更换候选版本情况下实现动态切换启动视图的目的,方便研发人员可以在防火墙候选版本中按照调试版本方式启动内核以及手动gdb启动防火墙进程进行调试,与现有技术相比,研发人员无需切换到调试版本启动内核进行调试,节省了维护时间成本。
[0043]
进一步地,在一个实施例中,还可以具体包括:文件创建模块,用于基于目标命令创建所述第一文件,所述目标命令为创建文件的命令。
[0044]
本发明提供的实现防火墙视图与内核视图切换系统,通过创建的启动模式标志文件,能够使得研发人员在不更换候选版本情况下实现动态切换启动视图的目的,方便研发人员可以在防火墙候选版本中按照调试版本方式启动内核以及手动gdb启动防火墙进程进行调试,同时可以通过删除启动模式标志文件,正常启动防火墙候选版本中的用户态的视图,实现用户态的视图与内核态的视图之间的切换。
[0045]
进一步地,在一个实施例中,在所述确定存在第一文件的情况下,还可以具体包括:第一控制模块,用于初始化串口打印函数。
[0046]
本发明提供的实现防火墙视图与内核视图切换系统,通过在确定存在启动模式标志文件时,初始化串口打印函数,在控制台显示更多防火墙启动信息以及调试信息,给研发人员的调试带来了便利,提高了调试效率。
[0047]
进一步地,在一个实施例中,在所述确定存在第一文件的情况下,还可以具体包括:第二控制模块,用于关闭硬件狗。
[0048]
本发明提供的实现防火墙视图与内核视图切换系统,通过采取关闭硬件狗的方式,避免调试过程中因喂狗超时触发的设备重启,从而导致调试中断的问题的发生。
[0049]
图3是本发明提供的一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communication interface)311、存储器(memory)312和总线(bus)313,其中,处理器310,通信接口311,存储器312通过总线313完成相互间的通信。处理器310可以调用存储器312中的逻辑指令,以执行如下方法:在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息为指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操
作为加载所述候选版本中的验证文件确定启动的视图的操作;在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。
[0050]
此外,上述的存储器中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0051]
进一步地,本发明公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的实现防火墙视图与内核视图切换方法,例如包括:在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息为指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。
[0052]
另一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的实现防火墙视图与内核视图切换方法,例如包括:在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息为指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。
[0053]
以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0054]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机电源屏(可以是个人计算机,服务器,或者网络电源屏等)执行各个实施例或者实施例的某些部分所述的方法。
[0055]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种实现防火墙视图与内核视图切换方法,其特征在于,包括:在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。2.根据权利要求1所述的实现防火墙视图与内核视图切换方法,其特征在于,所述第一文件的获取方式,包括:基于目标命令创建所述第一文件,所述目标命令为创建文件的命令。3.根据权利要求1所述的实现防火墙视图与内核视图切换方法,其特征在于,在所述确定存在第一文件的情况下,所述方法,还包括:初始化串口打印函数。4.根据权利要求1所述的实现防火墙视图与内核视图切换方法,其特征在于,在所述确定存在第一文件的情况下,所述方法,还包括:关闭硬件狗。5.一种实现防火墙视图与内核视图切换系统,其特征在于,包括:第一修改模块、第二修改模块以及内核访问模块;所述第一修改模块,用于在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件,所述第一文件为指示由防火墙的用户态的第一视图进入内核态的第二视图的标志文件,所述第二文件为启动所述第一视图所调用的验证文件,所述第三文件为启动所述第二视图所调用的验证文件;所述第二修改模块,用于将内核文件系统中的第四文件中的第一信息修改为第二信息,所述第一信息指示第一操作,所述第二信息为指示第二操作,所述第四文件为启动所述防火墙所调用的内核启动文件,所述第一操作为默认加载所述第二文件启动所述第一视图的操作,所述第二操作为加载所述候选版本中的验证文件确定启动的视图的操作;所述内核访问模块,用于在所述候选版本中,调用修改后的第四文件和所述目标文件,启动所述第二视图。6.权利要求5所述的实现防火墙视图与内核视图切换系统,其特征在于,还包括:文件创建模块,用于基于目标命令创建所述第一文件,所述目标命令为创建文件的命令。7.权利要求5所述的实现防火墙视图与内核视图切换系统,其特征在于,在所述确定存在第一文件的情况下,还包括:第一控制模块,用于初始化串口打印函数。8.权利要求5所述的实现防火墙视图与内核视图切换系统,其特征在于,在所述确定存在第一文件的情况下,还包括:
第二控制模块,用于关闭硬件狗。9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述实现防火墙视图与内核视图切换方法。10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项所述实现防火墙视图与内核视图切换方法。
技术总结
本发明提供一种实现防火墙视图与内核视图切换方法及系统,涉及通信技术领域,方法包括:在确定存在第一文件的情况下,将候选版本中的第二文件替换为调试版本中的第三文件,生成目标文件;将内核文件系统中的第四文件中的第一信息修改为第二信息;在候选版本的情况下,调用修改后的第四文件和目标文件,启动所述第二视图。所述系统执行所述方法。本发明能够在不更换候选版本情况下实现动态切换启动视图的目的,方便研发人员可以在防火墙候选版本中按照调试版本方式启动内核以及手动GDB启动防火墙进程进行调试,与现有技术相比,研发人员无需切换到调试版本启动内核进行调试,节省了维护时间成本。省了维护时间成本。省了维护时间成本。