系统事件日志系统的制作方法

文档序号:6351565阅读:267来源:国知局
专利名称:系统事件日志系统的制作方法
技术领域
本发明涉及对与监视对象进程相关的系统事件的日志进行记录的系统事件日志系统。
背景技术
在专利文献I ( “计算机系统及应用程序的动作再现方法”)中公开了ー种计算机系统及应用程序的动作再现方法,其中,不需要使应用程序具备状态再现用的冗余负载,针对应用程序的异常结束,能够按照异常结束时的操作来正确地再现该应用程序的状态,并且可以显著地减轻该状态再现操作所造成的操作负担以及操作时间。具体而言,为了进行操作再现而采用了操作记录。在作为操作记录而记录了系统事件的日志的情况下,会包含很多不需要的日志,有时根据日志来再现操作变得困难。专利文献I :日本公报、特开2002-024055号

发明内容
本发明的课题在干,除去目的以外的系统事件,选择为了再现操作等目的所需的系统事件并进行记录。本申请发明涉及的系统事件日志系统的特征在于具有以下的要素(I)判定对象事件取得部,其依次取得与判定对象的进程相关的系统事件;(2)过滤器列表,其存储有对每个过滤器将事件条件、标志条件、日志写入指示和标志操作指示建立对应的过滤器记载;(3)标志存储部,其用于存储标志值;和 (4)归档部,其针对所取得的各系统事件,依次读入过滤器记载,并反复进行以下处理,即对所读入的每个过滤器记载,判定该系统事件是否满足事件条件,进而在设定有标志条件时判定标志值是否满足标志条件,在满足事件条件及标志条件的情况下,依据日志写入指示而将系统事件作为日志写入,进而在设定有标志操作指示吋,依据标志操作指示对标志值进行更新。进而,本发明的其特征在干过滤器记载还将画面图像取得指示建立对应,在满足上述事件条件与标志条件且设定有画面图像取得指示的情况下,归档部依据画面图像取得指示而记录画面图像。本申请发明涉及的程序的特征在于,使作为系统事件日志系统的计算机执行以下的步骤,该系统事件日志系统具有存储有对每个过滤器将事件条件、标志条件、日志写入指示和标志操作指示建立对应的过滤器记载的过滤器列表;以及用于存储标志值的标志存储部,上述步骤包括(I)判定对象事件取得步骤,依次取得与判定对象的进程相关的系统事件;以及(2)归档步骤,针对所取得的各系统事件,依次读入过滤器记载,并反复进行以下处理,即对所读入的每个过滤器记载,判定该系统事件是否满足事件条件,进而在设定有标志条件时判定标志值是否满足标志条件,在满足事件条件及标志条件的情况下,依据日志写入指示而将系统事件作为日志写入,进而在设定有标志操作指示吋,依据标志操作指示对标志值进行更新。(发明效果)由于对每个过滤器设置标志条件和标志操作指示,作为适应过滤器的条件而采用标志条件,在适应过滤器的情况下,依据标志操作指示来操作标志,所以可以经由标志来实现过滤器之间的联动。另外,即使在系统事件的处理之间也可以实现经由标志的联动处理。由于在过滤器内设置了画面图像取得指示,所以可以对应于系统事件的发生而记录及时的画面图像。


图I是表示系统事件日志系统的动作环境的图。图2是表示记录仪部的处理流程的图。图3是表示内部进程列表生成所涉及的结构的图。图4是表示内部进程列表生成处理流程的图。图5是表示判定对象事件取得所涉及的结构的图。图6是表不判定对象寒件取得处通流程的图。图7是表示过滤所涉及的结构的图。图8是表示过滤处理流程的图。图9是表示系统事件的结构的图。图10是表示过滤器列表的结构的图。图11是表示事件条件的结构的图。图12是表示标志条件的结构的图。图13是表示标志操作指示的结构的图。图14是表示画面图像取得指示的结构的图。图15是表示日志写入指示的结构的图。图16是表不日志记载(1/2)的图。图17是表示日志记载(2/2)的图。图18是表示日志文件输出所涉及的结构的图。图19是表示结束进程监视处理流程的图。图20是表示浏览器(viewer)部所涉及的结构的图。图21是表示浏览器用过滤器列表的结构的图。图22是表示浏览器部的处理流程的图。图23是表示系统事件日志系统的硬件构成的图。(符号说明)101 记录仪部102 日志文件存储部103 画面图像文件存储部104 监视对象程序105 监视对象以外的程序106 操作系统
107事件队列301内部进程列表生成部302监视对象进程列表303内部进程列表
501判定对象事件取得部502内部缓冲器1801日志文件输出部2001浏览器部2002浏览器用过滤器列表2301运算装置2302数据存储装置2303存储器2304通信接ロ2305数据输入装置2306数据输出装置
具体实施例方式图I是表示系统事件日志系统(system event log system)的动作环境的图。监视对象程序104与监视对象以外的程序105通过API调用来取得由用户的键盘或鼠标操作而发生的系统事件并进行动作。记录仪部101借助全局钩子(global hook),由操作系统106内的事件队列107取得这些系统事件,仅选择在监视对象程序104的动作中发生的事件中的规定的事件,并保存到日志文件存储部102中。另外,按照取得及时的画面图像并存储到画面图像文件存储部103内的方式动作。日志文件存储部102与画面图像文件存储部103例如设置在硬盘装置的存储区域内。另外,记录仪部101、监视对象程序104及监视对象以外的程序105构成为下载到存储器中并通过利用运算装置依次读取程序的代码并执行,从而进行动作。以下对记录仪部(logger)的动作进行说明。图2是表示记录仪部的处理流程的图。若记录仪部101启动,则作为前处理而进行内部进程列表生成处理(S201)。由此生成内部进程列表。详细情况利用图3与图4在后面描述。接着,通过判定对象事件取得处理(S202)取得动作中的监视对象程序104与监视对象以外的程序105的系统事件,选出作为判定对象的事件。利用图5与图6在后面描述详细情況。接下来,通过过滤处理(S203),进行依据过滤器列表提取事件后作为日志蓄积到内部缓冲器中的动作等。利用图7 图17在后面描述详细情況。而且,到存在结束指示为止(S204),进行判定对象事件取得处理(S202)与过滤处理(S203)。若存在结束指示(S204),则通过日志输出处理(S205)进行将蓄积在内部缓冲器内的日志作为日志文件输出的处理。利用图18描述详细情況。另外,除了图2的处理以外,结束进程监视处理以非同步的其他任务进行动作。利用图19说明详细情況。首先,对内部进程列表生成处理(S201)进行说明。图3是表示内部进程列表生成所涉及的结构的图。记录仪部101具有内部进程列表生成部301、监视对象进程列表302及内部进程列表303。内部进程列表生成部301进行以下处理从操作系统(OperatingSystem)取得动作进程列表,将与监视对象进程列表302内所存储的监视对象进程(相当于监视对象程序104)相应的动作中的进程登记到内部进程列表303中。对于ー个或多个监视对象的程序,将与这些程序相应的进程预先登记到监视对象进程列表302中。图4是表示内部进程列表生成处理流程的图。首先,从操作系统取得动作进程列表(S401),对动作进程列表所包含的每个动作进程反复进行以下处理(S402)。在动作进程相当于监视对象进程列表302的列表中的某一监视对象进程时(S403),将动作进程加入内部进程列表中(S404)。并且,向内部缓冲器中追加进程开始日志(S405)。而且,在对于所有动作进程而言都进行了处理的时刻结束(S406)。通过这样,将监视对象中已经被启动且处于动作中的进程登记到内部进程列表中。在进程开始日志中,除了记录日期和时间以外,在事件类型中记录“应用程序开始”,还记录进程名称的具体名称、进程ID的具体值,在操作对象的值中记录“应用程序”,在操作对象的类名中记录“进程”。对于日志的结构利用图16在后面描述。接着,对判定对象事件取得处理(S202)进行说明。图5是表示判定对象事件取得所涉及的结构的图。记录仪部101除了前述的内部进程列表302和监视对象进程列表303之外,还具有判定对象事件取得部501和内部缓冲器502。判定对象事件取得部501按照发生的顺序从事件队列中取得系统事件,并提取成为判定对象的事件。另外,在作为监视对象的进程新启动时,还进行将该进程追加到内部进程列表303中的处理。
图6是表示判定对象事件取得处理流程的图。首先,利用全局钩子从事件队列中取得系统事件(S601)。然后,确定该事件的进程(S602)。判定所确定出的进程是否为监视对象进程的事件(S603),在与监视对象进程列表302所包含的监视对象进程的任一个都不相应的情况下,删除事件队列中的最早的系统事件(S604),再次返回到S601的处理。另ー方面,在与监视对象进程的某一个相应的情况下,判定该进程是否已经登记到内部进程列表中(S605)。在并未登记的情况下,将该进程加入到内部进程列表中(S606)。进而,将进程开始日志追加到内部缓冲器中(S607)。另外,在已经登记的情况下直接結束。接下来,对过滤处理(S203)进行说明。图7是表示过滤所涉及的结构的图。记录仪部101除了上述的画面图像文件存储部103与内部缓冲器502以外,还具有过滤部701、过滤器列表702及标志存储部703 (全局标志存储部704与局部标志存储部705)。过滤器列表702中按照处理顺序保存有多个过滤器。过滤部701依次读取过滤器,并根据其内容对判定对象事件和过滤器的条件进行比较,判定局部标志存储部705的标志,更新局部标志存储部705的标志,在画面图像文件存储部103中保存画面图像,将事件的内容作为日志而补充到内部缓冲器502中。标志存储部703中的全局标志存储部704是各进程共同操作或进行比较的标志。另ー方面,局部标志存储部705是ー个进程专用的标志。另外,全局标志存储部704构成为具有多个标志,能够根据全局标志ID指定并操作或进行比较。同样,局部标志存储部705也构成为具有多个标志,可以根据局部标志ID指定并操作或进行比较。图8是表示过滤处理流程的图。从过滤器列表702中依次读取过滤器记载(f i Iterrecord),进行针对判定对象事件的以下处理(S801)。首先,通过过滤器适应条件判定处理,对判定对象事件是否适应于过滤器适应条件进行判定(S802)。在此,对系统事件与过滤器列表的构成进行说明。图9是表示系统事件的结构的图。系统事件具有以下项目,即,事件类型EventID、操作的參数Params、操作对象的类型ElementTypeID、操作对象的状态Status、操作对象的名字ElementName、操作对象的类名ClassName、操作对象的固有ID :ControlID、操作对象的根窗ロ的标题RootName、操作对象的根窗ロ的类名RootClassName以及进程名ProcessName。图10是表示过滤器列表的结构的图。对按照处理顺序的每个过滤器,设置过滤器记载,并具有以下各项目过滤器ID、过滤器类别、过滤器适应条件(事件条件与标志条件)、过滤器定义动作(画面图像取得指示、指令指示、日志写入指示及标志操作指示)。在过滤器适应条件判定处理中(S802),判定是否适合于过滤器适应条件。在符合事件条件并符合标志条件的情况下判定为适合。另外,在未设定标志条件的情况下仅判定事件条件。对事件条件的判定进行说明。图11是表示事件条件的结构的图。构成为可以针对系统事件的各项目设定条件。除去无条件的项目,都以AND条件来判定各项目。除了完全一致以外,还可以指定前方一致、后方一致、部分一致等。对标志条件的判定进行说明。图12是表示标志条件的结构的图。除去无设定的项目,在全局标志条件与局部标志条件适合的情况下,判定为标志条件整体适合。全局标志条件中包含全局标志ID、比较条件及比较值。从全局标志存储部704中读取由全局标志ID指定的标志的值,在标志值相对于比较值满足了比较条件的情况下判定为适合。在比较条件中可以设定相等、不相等、以上、以下、更小、更大等条件。局部标志条件也同样,具有全局标志ID、比较条件及比较值,从局部标志存储部705中读取由局部标志ID指定的标志的值, 在标志值相对于比较值满足了比较条件的情况下判定为适合。对于比较条件而言也同样。通过这些判定,在过滤器适应条件判定处理(S802)中判定为不适应的情况下,返回到S801并转移至下一过滤器记载的处理。在判定为适应的情况下(S802),转移至按每个过滤器类别的处理。在过滤器类别为“无视”的情况下(S803),返回到S801并转移至下一过滤器记载的处理。在过滤器类别为“无动作”的情况下(S804),不返回到S801而使过滤处理结束。在过滤器类别为“仅标志操作”的情况下(S805),进行标志操作处理(S806),删除事件队列中最早的事件(S812),结束过滤处理。在过滤器类别为“继续动作”的情况下(S807),进行标志操作处理(S808)与过滤器定义动作执行处理(S809),返回到S801并转移至下ー过滤器记载的处理。在过滤器类别为“最终动作”的情况下(S807),进行标志操作处理(S810)与过滤器定义动作执行处理(S811),删除事件队列中最早的事件(S812),结束过滤处理。对前述的标志操作处理进行说明。在该处理中,执行过滤器的标志操作指示。图13是表示标志操作指示的结构的图。标志操作指示由全局标志操作与局部标志操作组成,除去无设定,进行所指示的标志操作。在全局标志操作中包含全局标志ID、操作运算及操作值。从全局标志存储部704中读取由全局标志ID指定的标志的值,针对所读取的标志值,对操作值进行操作运算,并将运算结果写入到由全局标志ID指定的标志的值中。操作运算中可以设定代入、加法运算、減法运算、乘法运算、除法运算等运算。局部标志操作也同样,具有局部标志ID、操作运算及操作值,从局部标志存储部705中读取由局部标志ID指定的标志的值,针对所读取的标志值,对操作值进行操作运算,并将运算结果写入到由局部标志ID指定的标志的值中。由此对标志值进行更新。对前述的过滤器定义动作执行处理进行说明。在该处理中,执行过滤器的过滤器定义动作所包含的画面图像取得指示的处理、指令指示的处理、日志写入指示的处理。各指示在无设定的情况下均不进行处理。图14是表示画面图像取得指示的结构的图。在画面图像取得指示中包含以下各项目,即,俘获方式SnapshotType、俘获图像文件形式Snapshot Format、部分俘获时的范围坐标TargetRect、Jpg形式时的压缩率JpegQuality、俘获定时延迟时间(ms)Delay、窗ロ显示校验的有无=IsCheckVisible、从系统的⑶I高速缓冲存储器取得图像IsUse⑶ICache。依据这些项目的条件,通过操作系统来取得画面图像,并作为画面图像而保存到画面图像文件存储部103中。在过滤器的指令指示的项目中可以设定热键的识别信息。在指令指示的处理中,从该指令指示的项目中读取热键的识别信息,通过操作系统使与该热键对应的动作启动。图15是表示日志写入指示的结构的图。在写入类别中可以设定“无修正”、“有修正”以及“无修正与有修正”的任ー个。在为“无修正”的情况下,将系统事件的各项目的信息直接作为日志写入内部缓冲器502中。在为“有修正”的情况下,除去无设定的项目,将EventID修正值、EventTypeID修正值、EventName修正值、Value修正值作为日志而写入对应的各项目中,并在其他项目中写入系统事件的项目值。另外,在为“无修正与有修正”的情况下,记录相当于“无修正”的日志和“有修正”的日志这两个日志。在此,对日志记载的构成进行说明。图16与图17是表示日志记载的结构的图。具有以下各项目,即,日志ID =LogID、记录日期和时间:DateTime、用户ID =UserID,事件类型EventID、操作的參数Params、进程名ProcessName、进程ID :ProcessID、操作对象的值Value、操作对象的类型ElementTypeID、操作对象的状态Status、操作对象的名字ElementName、操作对象的类名ClassName、操作对象的子项目的ID :ChildID、操作对象的顶窗ロ正确与否IsTopWindow、操作对象的控制ID :Rect、操作对象的矩形范围(屏幕坐标系)RootRect、操作对象的句柄Handle、操作对象的句柄RootHandle、操作对象的根窗ロ的句柄LinkImage、关联画面的文件名LinkImage、俘获画面的类型(范围)SnapshotType、操作对象的固有ID :ControlID、操作对象的根窗ロ的类名RootClassName、操作对象的根窗ロ的标题RootName、结束End及指令Comment。系统事件中未包含的项目也可以有效适当地经由操作系统等取得并保存。对输出在上述处理中蓄积的日志的日志输出处理(S205)进行说明。图18是表示日志文件输出所涉及的结构的图。记录仪部101除了上述的日志文件存储部102与内部缓冲器502以外,还具有日志文件输出部1801。在日志文件输出部1801中,从内部缓冲器502中读取由一系列的日志组成的日志列表,并以文件形式存储到日志文件存储部102中。记录仪部101还以非同步的任务进行结束进程监视处理。通过该处理,将进程结束这ー情况记录在日志中。图19是表示结束进程监视处理流程的图。若从操作系统取得结束进程(S1901),则从内部进程列表303中删除结束进程(S1902)。另外,将进程结束日志追加到内部缓冲器中(S1903)。在进程结束日志中,除了记录日期和时间以外,在事件类型中记录“应用程序结束”,还记录进程名的具体名称、进程ID的具体值,在操作对象的值中记录“应用程序”,在操作对象的类名中记录“进程”。该日志也作为日志列表的一部分而被记录在日志文件存储部102 中。在上述处理中蓄积的日志文件及画面图像文件可以通过浏览器部来显示。图20是表示浏览器部所涉及的结构的图。浏览器部2001从日志文件存储部102读取日志文件,从画面图像文件存储部103读取画面图像文件,并依据浏览器用过滤器列表2002的指示来进行显示等的输出。图21是表示浏览器用过滤器列表的结构的图。对每个过滤器设置记载,将过滤器ID、过滤器适应条件及显示控制指示建立对应后存储。过滤器适应条件中设定有针对日志的各项目的条件。显示控制指示中设定有显示该日志的指示。图22是表示浏览器部的处理流程的图。对日志文件存储部102的日志文件的每个日志记载反复进行以下的处理(S2201)。对每个过滤器记载反复进行以下的处理(S2202)在该日志适合于过滤器适应条件的情况下(S2203),依据显示控制指示,执行与该日志相关的显示处理(S2204)。此时,在包含有画面显示的指示的情况下,依据该指示,读取画面图像文件并进行显示。而且,针对所有的过滤器进行处理(S2205),若没有结束指示(S2206),则返回到S2201,返回到与下一日志相关的处理。在针对所有的日志进行了这些处理的时刻结束(S2207)。在有结束指示的情况下,在该时刻结束。
另外,浏览器部的动作也可以利用与记录仪部不同的计算机来进行。此时,将由记录仪部记录的日志文件与画面图像文件复制到浏览器部的计算机中进行參照。系统事件日志系统是计算机,各要素可以借助程序来执行处理。另外,可以使存储介质存储程序,并从存储介质读取到计算机中。对系统事件日志系统的硬件结构进行说明。图23是表示系统事件日志系统的硬件结构的图。总线上连接有运算装置2301、数据存储装置2302、存储器2303、通信接ロ2304、数据输入装置2305、数据输出装置2306。数据存储装置2302例如为R0M(只读存储器、Read Only Memory)或硬盘。存储器2303通常是RAM(随机存取存储器、Random AccessMemory)。程序通常被存储在数据存储装置2302中,在被下载到存储器2303的状态下,被依次读入运算装置2301中并进行处理。通信接ロ 2304用于经由网络的通信。数据输入装置2305用于数据的输入。数据输出装置2306用于数据的输出(显示或印刷)。
权利要求
1.一种系统事件日志系统,其特征在于,具有以下的要素 (1)判定对象事件取得部,其依次取得与判定对象的进程相关的系统事件; (2)过滤器列表,其存储有对每个过滤器将事件条件、标志条件、日志写入指示和标志操作指示建立对应的过滤器记载; (3)标志存储部,其用于存储标志值;和 (4)归档部,其针对所取得的各系统事件,依次读入过滤器记载,并反复进行以下处理对所读入的每个过滤器记载,判定该系统事件是否满足事件条件,进而在设定有标志条件时判定标志值是否满足标志条件,在满足事件条件及标志条件的情况下,依据日志写入指示而将系统事件作为日志写入,进而在设定有标志操作指示吋,依据标志操作指示对标志值进行更新。
2.根据权利要求I所述的系统事件日志系统,其特征在干, 过滤器记载还将画面图像取得指示建立对应, 在满足所述事件条件与标志条件且设定有画面图像取得指示的情况下,归档部依据画面图像取得指不而记录画面图像。
3.ー种程序,其特征在干,使作为系统事件日志系统的计算机执行以下的步骤,该系统事件日志系统具有存储有对每个过滤器将事件条件、标志条件、日志写入指示和标志操作指示建立对应的过滤器记载的过滤器列表;以及用于存储标志值的标志存储部,所述步骤包括 (1)判定对象事件取得步骤,依次取得与判定对象的进程相关的系统事件;以及 (2)归档步骤,针对所取得的各系统事件,依次读入过滤器记载,并反复进行以下处理对所读入的每个过滤器记载,判定该系统事件是否满足事件条件,进而在设定有标志条件时判定标志值是否满足标志条件,在满足事件条件及标志条件的情况下,依据日志写入指示而将系统事件作为日志写入,进而在设定有标志操作指示时,依据标志操作指示对标志值进行更新。
全文摘要
本发明涉及一种记录与监视对象进程相关的系统事件的日志的系统事件日志系统,其课题在于除去目的以外的系统事件,对再现操作等目的所需的系统事件进行选择并记录;对过滤器列表(702)的每个过滤器设置标志条件与标志操作指示,作为适应过滤器的条件而采用标志条件,在适应过滤器的情况下依据标志操作指示对标志进行操作,因此可以经由标志来实现过滤器之间的联动;另外,即使在系统事件的处理之间也可以实现经由标志的联动处理。
文档编号G06F11/30GK102763088SQ20108005871
公开日2012年10月31日 申请日期2010年12月27日 优先权日2009年12月28日
发明者中岛可澄, 加藤洋, 大宫茂人, 杜恒 申请人:株式会社诶司帝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1