CN100399746C - 日志记录子系统及其方法 - Google Patents

日志记录子系统及其方法 Download PDF

Info

Publication number
CN100399746C
CN100399746C CNB2004100830329A CN200410083032A CN100399746C CN 100399746 C CN100399746 C CN 100399746C CN B2004100830329 A CNB2004100830329 A CN B2004100830329A CN 200410083032 A CN200410083032 A CN 200410083032A CN 100399746 C CN100399746 C CN 100399746C
Authority
CN
China
Prior art keywords
log record
module stored
sub module
record
write
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.)
Expired - Fee Related
Application number
CNB2004100830329A
Other languages
English (en)
Other versions
CN1753375A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2004100830329A priority Critical patent/CN100399746C/zh
Publication of CN1753375A publication Critical patent/CN1753375A/zh
Application granted granted Critical
Publication of CN100399746C publication Critical patent/CN100399746C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及通信领域,公开了一种日志记录子系统及其方法,确保能够记录下真正的故障前运行信息,并确保存储模块,即写保留区具有统一规划,使用者可以是任何对象,记录信息统一,方便辨认,避免信息错误。从而当发生故障时,方便的根据真正的故障前的运行信息进行问题定位。本发明的原理在于,至少两个存储模块确保了系统每一次启动时都能轮换一个存储模块,由此在当前的运行状态下,能够获知上次运行的状态,方便问题的定位。其次,每一个存储模块包含多个存储子模块,这些子模块用于存储不同类型的日志记录,由此实现对写入空间的统一划分。

Description

日志记录子系统及其方法
技术领域
本发明涉及通信领域,特别涉及通信系统中故障发生前的运行信息保存以及相关的问题定位技术。
背景技术
随着科技的发展,电信业务早已从单一的话音业务向多业务发展,分组语音(Voice over IP,简称“VoIP”)、虚拟专用网(Virtual Private Networking,简称“VPN”)及个人信息化等更丰富的业务正被广泛地推广和应用。相应的作为支撑这些新业务的通信技术也在不断飞速发展,以微电子技术为基础的通信硬件技术、以软件工程为基础的通信软件技术显然是这种飞速发展的两大动力源泉。
微电子技术遵从摩尔定律,通信硬件技术显然也因此而受益。电信设备开发商经常采用的研发模式是大量使用各种任务不同的板卡构成各个电信设备模块,再由这些具有不同功能的模块搭建成完整的电信系统设备。
近年来,电信系统设备单板由于微电子技术的进步,集成度越来越高,相应地,其电路布线、芯片制造等硬件设计技术复杂度不断提高。同时软件工程的发展也使大型软件的编制成为了可能,为了充分发挥电信系统设备的硬件潜力,设备单板上用于控制协调以及其它处理过程的软件设计技术的复杂度也越来越来大。通信硬件与软件技术的配合甚至可以让一块单板胜任过去需要一个电信系统设备才能完成的任务。
但是,这样的发展趋势也带来了一些不好的影响,问题定位的难度一日增大便是其中之一。熟悉本领域的技术人员都知道,任何系统都不是绝对可靠的,越是复杂的系统,在运行过程中出现各种各样问题的概率越高,而且查找问题也更加困难。尤其是软件复杂度的提高,如果不能有效地跟踪系统运行轨迹,了解系统运行状态,那么对其运行中出现问题的精确定位将越来越困难。
如何更加有效的对问题进行精确定位,确保系统出现问题时能及时排除,成为电信系统设备发展中的一个重要问题。一般在高可靠性设备的领域,有“黑匣子”的概念,用来提供故障前的运行信息,方便后续的问题定位。需要说明的是,“黑匣子”原本单指飞行记录器,也叫飞行数据记录器,用于飞机失事时,安全地保存记录介质所记录的信息,便于事后技术人员查找失事原因。后来此概念被广泛化,指系统故障后能提供系统故障前信息的载体,便于进行故障分析和定位。在通信领域,目前电信系统设备承载的业务十分重要,同样的属于高可靠性设备领域,所以可以使用“黑匣子”这种思想方法提高设备的可靠性,协助对问题的精确定位,消除软件复杂度提高带来的弊端。
从电信系统设备发展的趋势来看,上述黑匣子的方法应该越来越受重视,但是目前相当多的电信设备开发商提供的技术方案尚未提供这个功能。
还有一些信设备开发商提供了最简单的“黑匣子”功能,即在设备单板的内存区中划出了一块区间,称为保留区,把运行信息写到保留区中,这里的保留区从某种意义上具有“黑匣子”的雏形,这个保留区没有限制其它系统进程的访问,有可能出现内存溢出或者其它导致数据丢失的情况。而且保留区采用普通的遍历查找,即查找任何问题,不管采用什么算法,最终都是要遍历整个保留区。综上所述,现有技术还不能成为完全意义上的“黑匣子”,对问题定位的帮助十分有限。
通过分析可以理解,对于上述技术方案,可能会存在无法保证将真正的故障的运行信息记录下来的情况。因为这种方案只是提供简单的日志功能,采用的一般存储空间,由于系统中同时运行的任务很多,某些任务或者状态不能被及时记录。
另一方面,由于只是采用简单的划分一个用来保留运行信息的内存区间,未提供统一的区间划分、进行分类设计、设置统一的函数调用接口,缺乏统一的规划,无法适应不同使用者共同使用的需要,而且保留的信息也可能会因为单板的复位而发生错误。
发明内容
有鉴于此,本发明的主要目的在于提供一种日志记录子系统及其方法,使得确保能够记录下真正的故障前运行信息,并确保写保留区具有统一规划,使用者可以是任何对象,记录信息统一,方便辨认,避免信息错误。从而当发生故障时,方便地根据真正的故障前的运行信息进行问题定位。
为实现上述目的,本发明提供了一种日志记录子系统,包含接口模块和至少两个存储模块,并且,
所述接口模块用于在所述子系统所属的系统每次启动时,轮换地将所述存储模块中的一个设置为激活状态,并在系统运行过程中,将来自系统中其他子系统的日志记录写入被设置为激活状态的所述存储模块中;
每一个所述存储模块包含:自检结果存储子模块,用于存储所述系统启动时的日志记录;任务轨迹存储子模块,用于存储任务状态发生变更时的日志记录;函数轨迹存储子模块,用于存储所述任务中的函数具体操作时的日志记录。
所述任务轨迹存储子模块和函数轨迹存储子模块中采用循环队列的方式存储日志记录;所述循环队列的方式,指的是所述接口模块将新的日志记录写入相应的存储子模块时,判断该存储子模块是否已经写满,如果是,则将新的日志记录覆盖最早的日志记录,否则将新的日志记录写入所述存储子模块的空闲区域。
所述存储模块的载体是同步动态存储器、闪烁存储器和硬盘中的任意一种。
所述存储模块是设置在所述系统的单板中的一块内存区间。
所述每一条日志记录包含该日志的写入时间和日志内容。
本发明还提供了一种日志记录方法,包含以下步骤:
每次系统启动时,接口模块轮换地将用于存储日志记录的多个存储模块中的一个设置为激活状态;
在系统运行过程中,所述接口模块将来自系统中其他子系统的日志记录写入被设置为激活状态的所述存储模块中。
其中,每一个所述存储模块包含:自检结果存储子模块、任务轨迹存储子模块和函数轨迹存储子模块;所述接口模块将来自系统中其他子系统的日志记录写入被设置为激活状态的所述存储模块中具体包括:所述接口模块根据收到的日志记录的类别,分别写入不同的所述存储子模块:将其他子系统启动时的日志记录写入所述自检结果存储子模块,将存储任务状态发生变更时的日志记录写入所述任务轨迹存储子模块,将所述任务中的函数具体操作时的日志记录写入所述函数轨迹存储子模块。
所述接口模块将新的日志记录写入相应的存储子模块时,判断该存储子模块是否已经写满,如果是,则将新的日志记录覆盖最早的日志记录,否则将新的日志记录写入所述存储子模块的空闲区域。
通过比较可以发现,本发明的技术方案与现有技术的区别在于,首先,至少两个存储模块确保了系统每一次启动时都能轮换一个存储模块,由此在当前的运行状态下,能够获知上次运行的状态,方便问题的定位。
其次,每一个存储模块包含多个存储子模块,这些子模块用于存储不同类型的日志记录,由此实现对写入空间的统一划分,并能够利用信息的不同经纬度进行综合判断。
另外,任务轨迹存储子模块和函数轨迹存储子模块采用循环队列的方式存储日志记录,能满足不断写入的需要,便于信息的保存。
这种技术方案上的区别,带来了较为明显的有益效果,通过更为有效地跟踪系统运行轨迹,了解系统运行状态,便于系统复位后能通过故障前的运行信息了解系统故障的原因,缩短了问题解决的时间。
附图说明
图1是根据本发明的一个实施例的日志记录子系统的结构示意图;
图2是根据本发明的一个实施例的日志记录方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明的实质是为电信设备系统提供一种真正意义上的“黑匣子”,不但可以在系统平常运行时记录各种故障前信息,还能在系统复位后保留运行的信息,便于定位故障原因。
首先,本发明需要设定一个可靠的黑匣子记录空间,熟悉本领域的技术人员都知道,现在电信设备系统的每块单板大部分都是处理器、内存、各种接口单元、操作系统等集成的一个完整的软硬件功能实体,所以可以通过单板上自带的操作系统和整个电信设备系统的软件管理系统配合,在单板中的内存中划出一块区间用做本发明的黑匣子的载体,该区间也可称为保留区。在本发明的各个实施例中,保留区的载体可以灵活选择,例如同步动态存储器(Synchronous DRAM,简称“SDRAM”)、闪烁存储器(Flash Memory,简称“FLASH”)或者硬盘等。
需要指出的是,该区间和内存中剩余的其它空间不一样,它不能被系统中其它部件,例如其它与黑匣子功能无关的软件模块直接调用,但可以通过提供的函数接口进行直接访问,这种直接访问一般是特殊的专门用于读取黑匣子中记录信息,以用于故障定位。在本发明中,由于保留区防止了其它无关的软件模块直接调用,所以受到的外界干扰很小,可以忠实的记录需要的信息,满足作为黑匣子载体的条件。
上文中提到,在现有技术中,只是简单地划分一个内存区间,用来保留运行信息。本发明提出的统一规划系统保留区能保证它的使用者可以是任何对象,同时避免记录信息的难以统一和辨认。下面的通过图1详细描述系统保留区的划分:
如图1所示,整个系统保留区划分为存储模块10和存储模块11,二者大小相等,在单板不掉电的情况下,二者可以互相切换。需要说明的是,本发明通过接口模块,在系统每次启动时,轮换地将存储模块中的一个设置为激活状态,并在系统运行过程中,将来自其他子系统的日志记录写入该激活的存储模块中。
例如,在单板系统第一次运行时使用存储模块10,即把各种需要的信息记录在里面,遇到需要直接调用信息用于故障定位时,读取存储模块10中的内容。在遇到单板系统复位之类的情况下,引起第二次启动后,此时的运行使用存储模块11,采用一种乒乓区互相交替的思想,这样交替使用下去。需要说明的是,在本发明的一个实施例中,在一个保留区使用的时候,另一个保留区并不是不工作,它也同时会记录各种需要的信息,甚至比正在使用的保留区记录的还完整,只是此时如果有直接调用,不会调用此未使用的保留区内容而已。前述中通过交替使用,就是为了保证在当前的运行状态下,防止正在使用的保留区由于系统复位之类的干扰引起的记录不全,并且非常容易通过下一次启动来查询另外一个保留区的信息,了解上次运行的状态,这样就方便了问题的定位。
在两个存储模块10和存储模块11内又划分了几类更小的存储子模块,分别是属于存储模块10的自检结果存储子模块100、任务轨迹存储子模块101和函数轨迹存储子模块102以及属于存储模块11的自检结果存储子模块110、任务轨迹存储子模块111和函数轨迹存储子模块112。此处需要指出,在根据本发明的其他实施例中,不同的用户还可以在此基础上自行扩充,分得更细。分类得好处是利用信息得不同经纬度进行综合判断。熟悉本领域的技术人员都知道,比如某个故障信息在存储模块内的地址通过辨别,是存放在存储模块10的任务轨迹存储子模块101中,那么很可能是单板软件的某个任务运行引起的故障,这就大大缩小了故障位置的范围。
在本实施例中,自检结果存储子模块100和自检结果存储子模块110容量大小固定,只用于记录启动信息,而且运行中不再被修改或增加内容,这样可以方便的用于辨别是哪次启动后才使用的相对应的保留区。而任务轨迹存储子模块101、111,和函数轨迹存储子模块102、112都是站在跟踪的粒度角度进行划分的,不同的用户可以自己定义,前述中的扩充主要体现在对这段内存容量的划分上,分得更细,有助于更快地定位故障。通常情况下,任务轨迹保留区和函数轨迹保留区采用的是一个循环的缓存(BUFFER)思想,即能满足不断写入的要求,后面写入的信息可以替代掉前面写入的信息。
在对保留区的信息输入上,不同的保留区提供写入函数接口,该接口函数可以为同一个,也可以分开设计。只有此函数接口才可以对保留区内容进行写入,其它系统中的软件模块都不能访问该队保留区的内容,以保证黑匣子的思想得到真正的贯彻。
写入每个保留区内的记录通常由当前写入时间和写入的信息两个部分组成。需要说明的是,写入时间的基准是以系统时间为准,这样在查看记录信息时可以很快的与系统运行时间相对应,便于更快捷的定位故障位置。
上面对本发明提出的日志记录子系统进行了解释和说明,下面再简要说明根据本发明的另一个实施例的日志记录方法。由于其中不少内容和上面重复,因此在下文中将不在赘述,以使本文简洁。
在本实施例的日志记录方法中,首先,在步骤200,当系统启动时,上述日志记录子系统中的接口模块轮换地将用于存储日志记录的多个存储模块中的一个设置为激活状态。
此后,在步骤210中,在系统运行过程中,接口模块将来自系统中其他子系统的日志记录写入被激活的存储模块中。如上所述,存储模块包含至少两个存储子模块,并且,接口模块根据收到的日志记录的类别写入不同的存储子模块。举例来说,存储模块可以分别包含自检结果存储子模块、任务轨迹存储子模块和函数轨迹存储子模块。如果日志记录是启动信息,则写入自检结果存储子模块。
另一方面,接口模块将新的日志记录写入相应的存储子模块时,判断该存储子模块是否已经写满,如果是,则将新的日志记录覆盖最早的日志记录,否则将新的日志记录写入所述存储子模块的空闲区域。由此可见,存储子模块是循环的BUFFER,能够满足不断写入的要求。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。

Claims (7)

1.一种日志记录子系统,其特征在于,包含接口模块和至少两个存储模块,并且,所述接口模块用于在所述子系统所属的系统每次启动时,轮换地将所述存储模块中的一个设置为激活状态,并在系统运行过程中,将来自系统中其他子系统的日志记录写入被设置为激活状态的所述存储模块中;
每一个所述存储模块包含:
自检结果存储子模块,用于存储所述其他子系统启动时的日志记录;
任务轨迹存储子模块,用于存储任务状态发生变更时的日志记录;
函数轨迹存储子模块,用于存储所述任务中的函数具体操作时的日志记录。
2.根据权利要求1所述的日志记录子系统,其特征在于,所述任务轨迹存储子模块和函数轨迹存储子模块中采用循环队列的方式存储日志记录;
所述循环队列的方式,指的是所述接口模块将新的日志记录写入相应的存储子模块时,判断该存储子模块是否已经写满,如果是,则将新的日志记录覆盖最早的日志记录,否则将新的日志记录写入所述存储子模块的空闲区域。
3.根据权利要求1所述的日志记录子系统,其特征在于,所述存储模块的载体是同步动态存储器、闪烁存储器和硬盘中的任意一种。
4.根据权利要求1所述的日志记录子系统,其特征在于,所述存储模块是设置在所述系统的单板中的一块内存区间。
5.根据权利要求1所述的日志记录子系统,其特征在于,每一条所述日志记录包含该日志的写入时间和日志内容。
6.一种日志记录方法,其特征在于,包含以下步骤:
每次系统启动时,接口模块轮换地将用于存储日志记录的多个存储模块中的一个设置为激活状态;
在系统运行过程中,所述接口模块将来自系统中其他子系统的日志记录写入被设置为激活状态的所述存储模块中;
每一个所述存储模块包含:自检结果存储子模块、任务轨迹存储子模块和函数轨迹存储子模块;
所述接口模块将来自系统中其他子系统的日志记录写入被设置为激活状态的所述存储模块中具体包括:
所述接口模块根据收到的日志记录的类别,分别写入不同的所述存储子模块:将其他子系统启动时的日志记录写入所述自检结果存储子模块,将存储任务状态发生变更时的日志记录写入所述任务轨迹存储子模块,将所述任务中的函数具体操作时的日志记录写入所述函数轨迹存储子模块。
7.根据权利要求6所述的日志记录方法,其特征在于,所述接口模块将新的日志记录写入相应的存储子模块时,判断该存储子模块是否已经写满,如果是,则将新的日志记录覆盖最早的日志记录,否则将新的日志记录写入所述存储子模块的空闲区域。
CNB2004100830329A 2004-09-23 2004-09-23 日志记录子系统及其方法 Expired - Fee Related CN100399746C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100830329A CN100399746C (zh) 2004-09-23 2004-09-23 日志记录子系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100830329A CN100399746C (zh) 2004-09-23 2004-09-23 日志记录子系统及其方法

Publications (2)

Publication Number Publication Date
CN1753375A CN1753375A (zh) 2006-03-29
CN100399746C true CN100399746C (zh) 2008-07-02

Family

ID=36680066

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100830329A Expired - Fee Related CN100399746C (zh) 2004-09-23 2004-09-23 日志记录子系统及其方法

Country Status (1)

Country Link
CN (1) CN100399746C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101146304B (zh) * 2006-09-11 2011-04-06 中兴通讯股份有限公司 基于业务处理流程的日志记录方法和装置
CN102547815B (zh) * 2011-12-22 2017-11-24 中兴通讯股份有限公司 多模基站黑匣子的实现装置及方法
CN105787388B (zh) * 2014-12-23 2019-11-05 中兴通讯股份有限公司 控制黑匣子的方法和装置
CN112511213B (zh) * 2020-11-18 2022-07-22 四川安迪科技实业有限公司 基于日志分析的缺陷定位方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09152996A (ja) * 1995-11-30 1997-06-10 Fujitsu Ltd データ引き継ぎシステム
JPH10240596A (ja) * 1997-03-03 1998-09-11 Nec Corp コンピュータシステムのデータ回復方式、データ回復方 法およびデータ回復プログラムを記録した記録媒体
US5828821A (en) * 1995-06-19 1998-10-27 Kabushiki Kaisha Toshiba Checkpoint restart method and apparatus utilizing multiple log memories
JP2001142361A (ja) * 1999-11-12 2001-05-25 Ricoh Co Ltd 遠隔集中管理システム
CN1477822A (zh) * 2003-07-31 2004-02-25 北京港湾网络有限公司 日志信息的扩展保存方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828821A (en) * 1995-06-19 1998-10-27 Kabushiki Kaisha Toshiba Checkpoint restart method and apparatus utilizing multiple log memories
JPH09152996A (ja) * 1995-11-30 1997-06-10 Fujitsu Ltd データ引き継ぎシステム
JPH10240596A (ja) * 1997-03-03 1998-09-11 Nec Corp コンピュータシステムのデータ回復方式、データ回復方 法およびデータ回復プログラムを記録した記録媒体
JP2001142361A (ja) * 1999-11-12 2001-05-25 Ricoh Co Ltd 遠隔集中管理システム
CN1477822A (zh) * 2003-07-31 2004-02-25 北京港湾网络有限公司 日志信息的扩展保存方法

Also Published As

Publication number Publication date
CN1753375A (zh) 2006-03-29

Similar Documents

Publication Publication Date Title
CN106571954B (zh) 一种ap设备的异常重启原因检测方法及装置
CN1799034B (zh) 利用基于树的结构的设备、系统和方法
CN102467408A (zh) 一种虚拟机数据的访问方法和设备
CN105897859B (zh) 一种存储系统
CN107992430A (zh) 闪存芯片的管理方法、装置及计算机可读存储介质
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
CN101706822A (zh) 提高挂载日志式文件系统速度的方法及设备
CN116431530B (zh) 一种cxl内存模组、内存的处理方法及计算机系统
RU2643642C2 (ru) Использование кэш-памяти и памяти другого типа в распределённой запоминающей системе
CN106104515A (zh) 利用非易失性存储器的文件系统设计和故障恢复方法
CN112148219A (zh) 一种ceph类型的分布式存储集群设计方法及装置
CN102143063A (zh) 集群系统中业务保护的方法和装置
CN100399746C (zh) 日志记录子系统及其方法
CN104714861A (zh) 场景恢复数据保存方法、应用运行方法、装置及系统
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN109062805A (zh) 一种aep内存固件升降级测试方法、装置、终端及存储介质
CN107528703B (zh) 一种用于管理分布式系统中节点设备的方法与设备
CN102339305B (zh) 基于偏序关系日志的数据库集群故障恢复方法
CN104461779A (zh) 一种分布式数据的存储方法、装置及系统
CN106339279B (zh) 一种业务恢复方法及装置
CN112328368B (zh) 一种基于云平台的应用层存储方法及设备
US20180295195A1 (en) Method and apparatus for performing storage space management for multiple virtual machines
CN106030544A (zh) 计算机设备内存的检测方法和计算机设备
CN108776670A (zh) 一种异地容灾方法、系统和电子设备
CN110399098A (zh) 一种数据处理方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080702

Termination date: 20200923