CN103577586B - 日志记录的处理方法及装置 - Google Patents

日志记录的处理方法及装置 Download PDF

Info

Publication number
CN103577586B
CN103577586B CN201310554166.3A CN201310554166A CN103577586B CN 103577586 B CN103577586 B CN 103577586B CN 201310554166 A CN201310554166 A CN 201310554166A CN 103577586 B CN103577586 B CN 103577586B
Authority
CN
China
Prior art keywords
log
daily record
log recording
etl
encoded radio
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
CN201310554166.3A
Other languages
English (en)
Other versions
CN103577586A (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.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum 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 Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201310554166.3A priority Critical patent/CN103577586B/zh
Publication of CN103577586A publication Critical patent/CN103577586A/zh
Application granted granted Critical
Publication of CN103577586B publication Critical patent/CN103577586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种日志记录的处理方法及装置。其中,该方法包括:在ETL包中配置需要输出的日志记录,获取日志输出表;获取需要增加到日志中的日志记录值,日志包括至少一条日志行;调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中;从日志行中提取日志记录值和执行编码值;创建日志记录值与执行编码值的关联关系;从日志输出表中查询得到具有相同执行编码值的日志行;根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中。通过本发明,能够实现可以根据用户需求在输出的日志信息中派生新的日志列,从而扩展日志输出表。

Description

日志记录的处理方法及装置
技术领域
本发明涉及计算机数据处理领域,具体而言,涉及一种日志记录的处理方法及装置。
背景技术
ETL是一种数据提取、转换和加载数据的过程,负责将分散的异构数据进行清洗、转换、集成,最后加载到数据库中,SSIS是一种ETL工具,SSIS日志(SSISLogging)用于管理和控制SSIS包运行时的日志输出,其可输出的日志列可以预先定义,开发时只需要选择或不选择数据列,从而确定在日志输出表中添加需要的数据列作为特定输出,有其自身的局限性,这种方式导致在配置日志输出时无法添加自定义的日志列。例如,当系统并发跑ETL包时,一个ETL包运行代表一个客户,若想要在日志输出表中区分这些ETL包所输出的日志,当前的系统无法获知,从而导致用户查询和管理日志效率低。
目前针对相关技术的由于无法自定义ETL包运行时输出的日志信息,导致用户无法高效应用或处理日志信息的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的由于无法自定义ETL包运行时输出的日志信息,导致用户无法高效应用或处理日志信息的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种日志记录的处理方法及装置,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种日志记录的处理方法,该方法包括:在ETL包中配置需要输出的日志记录,获取日志输出表;获取需要增加到日志中的日志记录值,日志包括至少一条日志行;调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中;从日志行中提取日志记录值和执行编码值;创建日志记录值与执行编码值的关联关系;从日志输出表中查询得到具有相同执行编码值的日志行;根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中。
为了实现上述目的,根据本发明的另一方面,提供了一种日志记录的处理装置,该装置包括:获取模块,用于获取需要增加到日志中的日志记录值,日志包括至少一条日志行;处理模块,用于在ETL包中配置需要输出的日志记录,获取日志输出表;调用模块,用于调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中;提取模块,用于从日志行中提取日志记录值和执行编码值;创建模块,用于创建日志记录值与执行编码值的关联关系;查询模块,用于从日志输出表中查询得到具有相同执行编码值的日志行;添加模块,用于根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中。
通过本发明,采用在ETL包中配置需要输出的日志记录,获取日志输出表;获取需要增加到日志中的日志记录值,日志包括至少一条日志行;调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中;从日志行中提取日志记录值和执行编码值;创建日志记录值与执行编码值的关联关系;从日志输出表中查询得到具有相同执行编码值的日志行;根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中,解决了相关技术的由于无法自定义ETL包运行时输出的日志信息,导致用户无法高效应用或处理日志信息的问题,进而实现可以根据用户需求在输出的日志信息中派生新的日志列,从而达到扩展日志输出表的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的日志记录的处理方法流程示意图;
图2是根据本发明实施例的日志记录的处理方法的详细流程图;
图3是根据本发明实施例的日志记录的处理装置结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
转向附图,其中相同的参考标号指代相同的元素,本发明的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本发明的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本发明。
图1是根据本发明实施例的日志记录的处理方法流程示意图;图2是根据本发明实施例的日志记录的处理方法的详细流程图。
如图1所示该方法包括如下步骤:
步骤S102,在ETL包中配置需要输出的日志记录,获取日志输出表;
步骤S104,获取需要增加到日志中的日志记录值,日志包括至少一条日志行。
步骤S106,调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中。
步骤S108,从日志行中提取日志记录值和执行编码值。
步骤S110,创建日志记录值与执行编码值的关联关系。
步骤S112,从日志输出表中查询得到具有相同执行编码值的日志行。
步骤S114,根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中。
本申请上述实施例通过定制日志函数来将需要添加的日志记录值输出到ETL包运行的日志行中,然后根据日志记录值与固有的参数执行编码值之间的关联关系,使得在ETL包运行输出日志输出表时,将日志记录值添加到日志输出表中所有具有相同执行编码值的日志行中。从而可以实现对日志输出表的扩展,即派生一个日志列,该日志列保存了按用户需求添加的日志记录值。由此可知,本申请上书实施例解决了相关技术的由于无法自定义ETL包运行时输出的日志信息,导致用户无法高效应用或处理日志信息的问题,进而实现可以根据用户需求在输出的日志信息中派生新的日志列,从而达到扩展日志输出表的效果。
本申请上述实施例中的添加的日志列可以根据用户的需求增加,即可以添加至少一个日志列。
具体的,以SSIS为例,当需要添加的日志信息值为客户信息时,例如客户标识(ProfileID),本申请可以在原来的日志输出表中扩展出来一列来添加客户信息,从而用户可以获知哪些日志输出是对应哪些客户的,从而达到扩展日志输出列的目的。
以SSIS为例,在ETL包运行时,SSIS日志(SSISLogging)的日志Logging配置里可供选择的日志输出表可以包括如下日志列:Computer,Operation,SourceName,SourceID,ExecutionID,MessageText,DataBytes。其中,ExecutionID的类型为GUID,表示一次ETL运行的唯一标识,用于区分多次ETL运行记录,并且在一次ETL运行里,各输出日志行里该ExecutionID列的值是一致的;MessageText为消息信息,相当于详细信息列。下面就在上述日志输出表中添加一个新日志列[例如客户标识(ProfileID)]为例来详细描述本申请,其中,客户标识(ProfileID)可以表示当前ETL包运行所对应的特定客户信息标识。
如图3所示,首先,本申请需要通过编辑ETL包来实现SSIS配置日志,包括ETL包固有的日志记录以及需要添加的自定义日志记录(例如客户信息标识);然后,运行ETL包,输出配置的日志所产生的日志行(即固有的日志记录),及特定的带有派生列值的日志行(需要添加的自定义日志记录);最后,将添加日志派生列,从而派生列中的日志记录值添加到日志中。
具体的,固有的日志记录可以通过选择SSISLogging里用户需要的日志事件及相关的日志列(包含Message列)来获取到,需要派生添加的日志记录可以通过在ETL包中添加相应的Script Component控件,以及在Script Component控件里添加相应的程序代码,从而在运行ETL包时可以找到需要派生的日志记录列的值。
下面就如何实现上述添加的日志信息的派生过程进行详细描述。
本申请上述实施例中,在ETL包中配置需要派生的日志列的过程中,需要通过步骤S102获取需要增加到日志中的日志记录值,并通过步骤S104来实现输出一特定的日志行,将获取到的日志记录值保存在预定的一日志列中。
上述步骤S102可以包括如下步骤:
首先,获取ETL包所关联的数据库。具体的,每一个ETL包运行过程中都对应一个关联的数据库,该数据库用于保存ETL对数据进行抽取、转换并加载后的结果。即与某一个ETL包关联的数据库保存有多张数据表,用于保存各个日志列的数据。
然后,从数据库中获取ETL包对应的日志记录值。具体的,该步骤可以通过在ETL包中添加ScriptComponent控件(SSIS里的控件,用于编写c#等代码所用),并在控件里编写代码,根据商务逻辑找到ProfileID列,此处的商务逻辑是指系统查询得到日志记录值(例如客户信息ProfileID)的实现过程,即实现从数据库中获取ETL包对应的日志记录值的的业务逻辑。
例如,由于每个ETL包关联的数据库都具有一个数据库名称,且该数据库名程包含了可以唯一表示当前数据库的编码ProfileID,可以通过该ProfileID来表征当前ETL包的客户信息。因此,可以通过如下步骤来实现从数据库中获取ETL包对应的日志记录值的步骤:获取数据库的名称;从数据库名称中提取表征日志记录值的字符串,以获取日志记录值。由此,可以实现通过连接字符串的数据库名称来找到ETL包所对应的客户信息。需要注意的是,上述方法是本发明的一种示例,本发明还可以通过各种变量或者执行时间作为唯一标识来表征ETL包客户信息。
上述实施例中的ETL包运行的日志行中可以包括一消息文本列,通过将消息文本列的值设置为需要增加到日志中的日志记录来获取需要增加的日志记录值。由此可知,ETL包执行时,通过程序动态获取到扩展列的信息,即派生的客户信息,此扩展信息由具体的业务逻辑所决定的。
上述步骤S104可以通过调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中。其中,上述定制日志函数为添加的CustomerLogging,即利用微软提供的日志输出API在整个ETL执行前将其扩展列信息进行手动的日志输出,并将扩展列信息输出到原有字段MessageText。
具体的,上述步骤通过调用API,利用定制日志函数CustomerLogging的应用程序编程接口API来将需要派生的日志记录值输出到该ETL包运行的日志行的一日志列MessageText中,从而使得日志中的一日志行下面添加了一条特定的日志记录值,例如,在ETL包运行得到的日志行的一日志列Message下面添加一日志记录值000217(ProfileID:000217)。该日志记录值可用于表征当前ETL包的用户信息的唯一标识。需要注意的是,此处将Message列的信息设置为ProfileID:000217可以是这里通过特定的格式将ProfileID进行了输出。
由上可知,本申请通过调用SSIS CustomLogging的API,实现输出一条特定的日志行,将Message列的值设置为派生列的值(例如:ProfileID:000217)。
优选地,本申请上述实施例中,由于执行编码值ExecutionID可以作为唯一标识来表征ETL包运行后得到的日志行。因此,在完成步骤S104之后,后台可以通过步骤S106和步骤S108来获取派生的日志记录值与日志行的对应关系,具体的实现步骤如下:
步骤S106,从日志行中提取日志记录值和执行编码值。该执行编码值可以是ExecutionID。
具体的,该步骤实现了,在分析SSISLoging时,先根据日志行中的MessageText列找出已经通过API输出的具体Message列的值(如ProfileID),然后,将该Message列与本行日志记录的ExecutionID列建立关联,因此,可以通过ExecutionID列查找出这个Profile在并发执行ETL时所产生的所有日志记录值,从而执行逐行根据日志记录值添加派生列(ProfileID)。
步骤S108,创建日志记录值与执行编码值的关联关系。
本申请上述实施例中,步骤S108创建日志记录值与执行编码值的关联关系的步骤可以包括如下步骤:创建ETL对应的临时表,临时表包括日志记录值、执行编码值,以及日志记录值与执行编码值之间的对应关系。
在获取到上述步骤完成的临时表之后,系统在运行ETL包时,可以通过派生的Message列的数据行来提取与该列的值对应的执行编码值ExecutionID。
步骤S110,从日志输出表中查询得到具有相同执行编码值的日志行。
本申请上述实施例中,ETL包中配置需要输出的日志记录,并获取日志输出表的步骤可以包括如下步骤:选择ETL包中需要输出的日志事件,并选择日志事件包含的日志列;在运行SSIS包之后,获取日志输出表,其中,日志输出表包括用于填写执行编码值的日志列。
具体的,上述通过运行ETL包后,通过通过ExecutionID和MessageText(含ProfileID的特殊日志记录值)的横向关联,可以高效获取到当前ETL包所对应的需要派生的日志记录值,具体的,可以通过表连接SQL获取。
上述实施例可以通过如下相应的SQL语句实现:
上述SQL语句中sysssislog表为SSISLogging默认的日志输出表。cte_executionid_profileid表示通过Message包含的特殊值ProfileID等字样的行所提取的所有ExecutionID值与Profile值的一张临时表,采用With来定义临时表,详细语法可上MSDN直接搜Sql Cte便能清楚。而且,可以将sysssislog表与上面的表cte_executionid_profileid通过executionid列进行连接,便可方便的在表连接结果里选择表cte_executionid_profileid的列ProfileID,为表sysssislog的每行结果派生列ProfileID。
在运行ETL包,从日志输出表中查询得到具有相同执行编码值的日志行之后,可以执行步骤S112来实现添加日志派生行。
步骤S112,根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中。在添加日志派生列的过程中,如图3所示,在运行ETL包之后,可以找到派生特殊Message列的那条数据行,并提取派生列的值与ExecutionID的值,然后,通过EexecutionID的值,为所有日志行里含有相同ExecutionID的值的日志行,添加上面找到的派生Message列的日志记录值。
本申请上述实施例中,根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中的步骤可以包括如下步骤:根据执行编码值建立日志输出表与临时表之间的关联关系;从临时表中提取ETL包对应的日志记录值;在从日志输出表中获取到具有相同执行编码值的日志行之后,根据日志输出表与临时表之间的关联关系,将日志记录值添加到具有相同执行编码值的日志行中。
本申请上述实施例通过CustomLogging机制,利用其Message列来记录特定的派生的日志记录值的列信息,然后,通过输出特定的一行标识记录,并利用标识列与ExecutionID的关联性,达到派生列的目的。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图3示出了可用于这些设备的一个示例计算机体系结构的示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本发明的使用范围或功能提出任何局限。也不应将该计算系统解释为对图3所示的任一组件或其组合具有任何依赖或需求。
本发明的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本发明的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
如本发明所使用的,术语“模块”、“组件”或“单元”可以指在配置信息的更新系统200上执行的软件对象或例程。此处所描述的不同组件、模块、单元、引擎和服务可被实现为在标志位的访问系统200上执行(例如,作为单独的线程)的对象或进程。尽管此处所描述的系统和方法较佳地以软件来实现,但是硬件或软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的日志记录的处理装置的结构示意图。如图3所示,该日志记录的处理装置包括:处理模块10、获取模块20、调用模块30、提取模块40、创建模块50、查询模块60和添加模块70。
其中,处理模块10,用于在ETL包中配置需要输出的日志记录,获取日志输出表;获取模块20,用于获取需要增加到日志中的日志记录值,日志包括至少一条日志行。调用模块30,用于调用定制日志函数,将需要增加到日志中的日志记录值输出到ETL包运行的日志行中。提取模块40,用于从日志行中提取日志记录值和执行编码值。创建模块50,用于创建日志记录值与执行编码值的关联关系。查询模块60,用于从日志输出表中查询得到具有相同执行编码值的日志行。添加模块70,用于根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中。
本申请上述实施例通过定制日志函数来将需要添加的日志记录值输出到ETL包运行的日志行中,然后根据日志记录值与固有的参数执行编码值之间的关联关系,使得在ETL包运行输出日志输出表时,将日志记录值添加到日志输出表中所有具有相同执行编码值的日志行中。从而可以实现对日志输出表的扩展,即派生一个日志列,该日志列保存了按用户需求添加的日志记录值。由此可知,本申请上书实施例解决了相关技术的由于无法自定义ETL包运行时输出的日志信息,导致用户无法高效应用或处理日志信息的问题,进而实现可以根据用户需求在输出的日志信息中派生新的日志列,从而达到扩展日志输出表的效果。
具体的,以SSIS为例,当需要添加的日志信息值为客户信息时,例如客户标识(ProfileID),本申请可以在原来的日志输出表中扩展出来一列来添加客户信息,从而用户可以获知哪些日志输出是对应哪些客户的,从而达到扩展日志输出列的目的。
以SSIS为例,在ETL包运行时,SSIS日志(SSISLogging)的日志Logging配置里可供选择的日志输出表可以包括如下日志列:Computer,Operation,SourceName,SourceID,ExecutionID,MessageText,DataBytes。其中,ExecutionID的类型为GUID,表示一次ETL运行的唯一标识,用于区分多次ETL运行记录,并且在一次ETL运行里,各输出日志行里该ExecutionID列的值是一致的;MessageText为消息信息,相当于详细信息列。下面就在上述日志输出表中添加一个新日志列[例如客户标识(ProfileID)]为例来详细描述本申请,其中,客户标识(ProfileID)可以表示当前ETL包运行所对应的特定客户信息标识。
优选地,上述实施例中的获取模块可以包括:
第一子获取模块,用于获取ETL包所关联的数据库。具体的,每一个ETL包运行过程中都对应一个关联的数据库,该数据库用于保存ETL对数据进行抽取、转换并加载后的结果。即与某一个ETL包关联的数据库保存有多张数据表,用于保存各个日志列的数据。
第二子获取模块,用于从数据库中获取ETL包对应的日志记录值,其中,该第二子获取模块包括:读取模块,用于读取数据库的名称;第一提取模块,用于从数据库名称中提取表征日志记录值的字符串,以获取日志记录值。具体的,该步骤可以通过在ETL包中添加ScriptComponent控件(SSIS里的控件,用于编写c#等代码所用),并在控件里编写代码,根据商务逻辑找到ProfileID列,此处的商务逻辑是指系统查询得到日志记录值(例如客户信息ProfileID)的实现过程,即实现从数据库中获取ETL包对应的日志记录值的的业务逻辑。
优选地,上述实施例中的查询模块可以包括:选择模块,用于选择ETL包中需要输出的日志事件,并选择日志事件包含的日志列;运行模块,用于在运行ETL包之后,获取日志输出表,其中,日志输出表包括用于填写执行编码值的日志列。
优选地,上述实施例中的创建模块可以包括:子创建模块,用于创建ETL对应的临时表,临时表包括日志记录值、执行编码值,以及日志记录值与执行编码值之间的对应关系。
具体的,上述通过运行ETL包后,通过通过ExecutionID和MessageText(含ProfileID的特殊日志记录值)的横向关联,可以高效获取到当前ETL包所对应的需要派生的日志记录值,具体的,可以通过表连接SQL获取。
优选地,上述实施例中的添加模块可以包括:建立模块,用于根据执行编码值建立日志输出表与临时表之间的关联关系;第二提取模块,用于从临时表中提取ETL包对应的日志记录值;增加模块,用于在从日志输出表中获取到具有相同执行编码值的日志行之后,根据日志输出表与临时表之间的关联关系,将日志记录值添加到具有相同执行编码值的日志行中。
本申请上述实施例中,根据日志记录值与执行编码值的关联关系,将日志记录值添加到日志输出表中具有相同执行编码值的日志行中的步骤可以包括如下步骤:根据执行编码值建立日志输出表与临时表之间的关联关系;从临时表中提取ETL包对应的日志记录值;在从日志输出表中获取到具有相同执行编码值的日志行之后,根据日志输出表与临时表之间的关联关系,将日志记录值添加到具有相同执行编码值的日志行中。
优选地,上述实施例中的ETL包运行的日志行中包括一消息文本列,将消息文本列的值设置为需要增加到日志中的日志记录。
从以上的描述中,可以看出,本发明实现了如下技术效果:解决了相关技术的由于无法自定义ETL包运行时输出的日志信息,导致用户无法高效应用或处理日志信息的问题,进而实现可以根据用户需求在输出的日志信息中派生新的日志列,从而达到扩展日志输出表的效果。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种日志记录的处理方法,其特征在于,包括:
在ETL包中配置需要输出的日志记录,获取日志输出表;
获取需要增加到日志中的日志记录值,所述日志包括至少一条日志行;
调用定制日志函数,将所述需要增加到日志中的日志记录值输出到ETL包运行的日志行中;
从所述日志行中提取所述日志记录值和执行编码值;
创建所述日志记录值与所述执行编码值的关联关系;
从所述日志输出表中查询得到具有相同所述执行编码值的日志行;
根据所述日志记录值与所述执行编码值的关联关系,将所述日志记录值添加到所述日志输出表中具有相同所述执行编码值的日志行中。
2.根据权利要求1所述的方法,其特征在于,获取需要增加到日志中的日志记录值的步骤包括:
获取所述ETL包所关联的数据库;
从所述数据库中获取所述ETL包对应的所述日志记录值,该步骤包括:获取所述数据库的名称;从所述数据库名称中提取表征所述日志记录值的字符串,以获取所述日志记录值。
3.根据权利要求2所述的方法,其特征在于,ETL包中配置需要输出的日志记录,并获取日志输出表的步骤包括:
选择所述ETL包中需要输出的日志事件,并选择所述日志事件包含的日志列;
在运行所述ETL包之后,获取所述日志输出表,其中,所述日志输出表包括用于填写所述执行编码值的日志列。
4.根据权利要求3所述的方法,其特征在于,创建所述日志记录值与所述执行编码值的关联关系的步骤包括:创建所述ETL对应的临时表,所述临时表包括所述日志记录值、所述执行编码值,以及所述日志记录值与所述执行编码值之间的对应关系。
5.根据权利要求4所述的方法,其特征在于,根据所述日志记录值与所述执行编码值的关联关系,将所述日志记录值添加到所述日志输出表中具有相同所述执行编码值的日志行中的步骤包括:
根据所述执行编码值建立所述日志输出表与所述临时表之间的关联关系;
从所述临时表中提取所述ETL包对应的所述日志记录值;
在从所述日志输出表中获取到具有相同所述执行编码值的日志行之后,根据所述日志输出表与所述临时表之间的关联关系,将所述日志记录值添加到所述具有相同所述执行编码值的日志行中。
6.根据权利要求1所述的方法,其特征在于,所述ETL包运行的日志行中包括一消息文本列,将所述消息文本列的值设置为所述需要增加到日志中的日志记录。
7.一种日志记录的处理装置,其特征在于,包括:
处理模块,用于在ETL包中配置需要输出的日志记录,获取日志输出表;
获取模块,用于获取需要增加到日志中的日志记录值,所述日志包括至少一条日志行;
调用模块,用于调用定制日志函数,将所述需要增加到日志中的日志记录值输出到ETL包运行的日志行中;
提取模块,用于从所述日志行中提取所述日志记录值和执行编码值;
创建模块,用于创建所述日志记录值与所述执行编码值的关联关系;
查询模块,用于从所述日志输出表中查询得到具有相同所述执行编码值的日志行;
添加模块,用于根据所述日志记录值与所述执行编码值的关联关系,将所述日志记录值添加到所述日志输出表中具有相同所述执行编码值的日志行中。
8.根据权利要求7所述的装置,其特征在于,所述获取模块包括:
第一子获取模块,用于获取所述ETL包所关联的数据库;
第二子获取模块,用于从所述数据库中获取所述ETL包对应的所述日志记录值,其中,该第二子获取模块包括:读取模块,用于读取所述数据库的名称;第一提取模块,用于从所述数据库名称中提取表征所述日志记录值的字符串,以获取所述日志记录值。
9.根据权利要求8所述的装置,其特征在于,所述查询模块包括:
选择模块,用于选择所述ETL包中需要输出的日志事件,并选择所述日志事件包含的日志列;
运行模块,用于在运行所述ETL包之后,获取所述日志输出表,其中,所述日志输出表包括用于填写所述执行编码值的日志列。
10.根据权利要求9所述的装置,其特征在于,所述创建模块包括:子创建模块,用于创建所述ETL对应的临时表,所述临时表包括所述日志记录值、所述执行编码值,以及所述日志记录值与所述执行编码值之间的对应关系。
11.根据权利要求10所述的装置,其特征在于,所述添加模块包括:
建立模块,用于根据所述执行编码值建立所述日志输出表与所述临时表之间的关联关系;
第二提取模块,用于从所述临时表中提取所述ETL包对应的所述日志记录值;
增加模块,用于在从所述日志输出表中获取到具有相同所述执行编码值的日志行之后,根据所述日志输出表与所述临时表之间的关联关系,将所述日志记录值添加到所述具有相同所述执行编码值的日志行中。
CN201310554166.3A 2013-11-08 2013-11-08 日志记录的处理方法及装置 Active CN103577586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310554166.3A CN103577586B (zh) 2013-11-08 2013-11-08 日志记录的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310554166.3A CN103577586B (zh) 2013-11-08 2013-11-08 日志记录的处理方法及装置

Publications (2)

Publication Number Publication Date
CN103577586A CN103577586A (zh) 2014-02-12
CN103577586B true CN103577586B (zh) 2017-03-15

Family

ID=50049362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310554166.3A Active CN103577586B (zh) 2013-11-08 2013-11-08 日志记录的处理方法及装置

Country Status (1)

Country Link
CN (1) CN103577586B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984221B (zh) * 2017-05-31 2021-07-20 北京京东尚科信息技术有限公司 一种多平台用户行为日志的采集方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279886A (zh) * 2011-08-16 2011-12-14 中国民生银行股份有限公司 元数据处理方法及设备
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法
CN103178982A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 日志分析方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510270B2 (en) * 2010-07-27 2013-08-13 Oracle International Corporation MYSQL database heterogeneous log based replication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279886A (zh) * 2011-08-16 2011-12-14 中国民生银行股份有限公司 元数据处理方法及设备
CN103178982A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 日志分析方法和装置
CN102752372A (zh) * 2012-06-18 2012-10-24 天津神舟通用数据技术有限公司 一种基于文件的数据库同步方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
并行处理技术在ETL计算环境中的应用研究;薛娟 等;《计算机应用与软件》;20110831;第28卷(第8期);216-218 *

Also Published As

Publication number Publication date
CN103577586A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
CN106980669B (zh) 一种数据的存储、获取方法及装置
US20210124757A1 (en) Multi-task scheduling method and system, application server and computer-readable storage medium
TWI476608B (zh) A distributed computing data merging method, system and device thereof
CN107229619B (zh) 互联网业务链路调用情况的统计、展示方法及装置
US8819064B2 (en) Method and system for data provenance management in multi-layer systems
CN104899186A (zh) 一种表单生成以及获取方法和装置
US20090144314A1 (en) System and method for dynamically configuring a multi-model node table
CN108540351B (zh) 分布式大数据服务的自动化测试方法
CN113467972B (zh) 通信接口构造方法、装置以及计算机设备、存储介质
US9652740B2 (en) Fan identity data integration and unification
CN105528218A (zh) 数据图表级联方法及数据图表级联系统
CN103176778A (zh) 网页开发方法和装置
CN106020891A (zh) 页面加载的方法和装置
CN117171108B (zh) 一种虚拟模型映射方法和系统
CN103034504A (zh) 一种模板网站的应用方法及装置
CN106599241A (zh) 一种gis软件中针对大数据的可视化管理方法
US7325003B2 (en) Method and system for mapping datasources in a metadata model
CN103577586B (zh) 日志记录的处理方法及装置
US20090276447A1 (en) Formats for database template files shared between client and server environments
CN103488642A (zh) 电子表格数据保存成商业智能可变维度数据的方法与系统
CN112417225A (zh) 一种多源异构数据的联合查询方法与系统
CN105656979A (zh) 一种非结构化消息处理的方法、客户端、服务器及平台
CN113485746B (zh) 应用程序接口文档的生成方法及装置
Hobeck et al. Towards object-centric process mining for blockchain applications
CN111680478B (zh) 基于组态软件的报表生成方法、装置、设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and device for processing log records

Effective date of registration: 20190531

Granted publication date: 20170315

Pledgee: Shenzhen Black Horse World Investment Consulting Co.,Ltd.

Pledgor: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Registration number: 2019990000503

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

PP01 Preservation of patent right

Effective date of registration: 20240604

Granted publication date: 20170315