CN101753344B - 一种记录日志的方法、装置及系统 - Google Patents

一种记录日志的方法、装置及系统 Download PDF

Info

Publication number
CN101753344B
CN101753344B CN200810218383A CN200810218383A CN101753344B CN 101753344 B CN101753344 B CN 101753344B CN 200810218383 A CN200810218383 A CN 200810218383A CN 200810218383 A CN200810218383 A CN 200810218383A CN 101753344 B CN101753344 B CN 101753344B
Authority
CN
China
Prior art keywords
request
service request
log
processing device
buffer area
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
CN200810218383A
Other languages
English (en)
Other versions
CN101753344A (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.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Taizhou Haitong Asset Management 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 CN200810218383A priority Critical patent/CN101753344B/zh
Publication of CN101753344A publication Critical patent/CN101753344A/zh
Application granted granted Critical
Publication of CN101753344B publication Critical patent/CN101753344B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种记录日志的方法,装置及系统,一种记录日志的方法包括:日志处理装置接收记录业务请求相关信息的请求,并根据该请求将该业务请求相关信息记录到与该业务请求关联的日志缓存区;以及根据业务处理模块发送的日志输出请求将关联的日志缓存区中的业务请求相关信息写入日志文件中。本发明通过日志处理装置将与业务请求相关信息记录到与该业务请求关联的日志缓存区,可实现在控制日志信息输出量的基础上,输出与处理失败的业务请求相关的日志信息,以便能根据输出的日志信息快速定位出失败原因。

Description

一种记录日志的方法、装置及系统
技术领域
本发明涉及通信领域,特别涉及一种记录日志的方法、装置及系统。
背景技术
在现有的信息系统中(比如电信系统、一般的企业应用系统),当系统出了故障之后,大部分情况都需要系统输出运行信息以便进行问题定位,这个输出的信息就是常说的日志。
因为输出的日志需要占用大量磁盘空间、消耗磁盘读写资源,影响系统性能,而且大量的日志也影响后续的阅读分析,所以不能不限制日志信息输出量。
为了控制日志的输出量,现有技术方案中把日志信息进行分级(如分为错误、警告、一般信息、调试等级别),通过开关控制,只记录错误级别日志到文件中。但是发明人在发明过程中发现,对于一个复杂的电信系统,如OCS(在线计费系统Online Charging System),一个业务请求处理失败时,不能根据输出的日志信息快速定位出失败原因。
发明内容
本发明实施例要解决的问题是在控制日志信息输出量的基础上,输出与处理失败的业务请求相关的日志信息,以便根据输出的日志信息快速定位出失败原因。
本发明实施例一方面提供了一种记录日志的方法,包括:
接收记录业务请求相关信息的请求;
根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;
接收日志输出请求,根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
本发明实施例一方面提供了一种记录日志的方法,包括:
发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将业务请求相关信息记录到与所述业务请求关联的日志缓存区;
当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
本发明实施例一方面提供了一种日志处理装置,包括:
接收单元,用于接收记录业务请求相关信息的请求,以及日志输出请求;
日志处理单元,用于根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;以及根据日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
本发明实施例一方面提供了一种业务处理装置,包括:
请求发送单元,用于发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;
处理单元,用于当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
本发明实施例一方面提供了一种记录日志的系统,包括:
业务处理装置,用于发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将业务请求相关信息记录到与所述业务请求关联的日志缓存区,以及当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中;
日志处理装置,用于接收记录业务请求相关信息的请求,根据所述记录业务请求相关信息日志的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区,以及接收日志输出请求,根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
本发明实施例提供的一种记录日志的方法,装置及系统,通过将与业务请求相关信息记录到与该业务请求关联的日志缓存区,并在业务请求处理失败时,输出该日志缓存区中的日志信息,可实现在控制日志信息输出量的基础上,输出与处理失败的业务请求相关的日志信息,以便根据输出的日志信息快速定位出失败原因。
附图说明
图1为本发明一种记录日志的方法的一个实施例的流程图;
图2为本发明实现按记录顺序输出日志的一个实施例的示意图;
图3为本发明通过线程变量建立与业务请求关联的日志缓存区的一个实施例的示意图;
图4为本发明通过唯一标识建立与业务请求关联的日志缓存区的另一个实施例的示意图;
图5为本发明一种记录日志的方法的另一个实施例的流程图;
图6为本发明一种日志处理装置的一个实施例的结构示意图;
图7为本发明一种业务处理装置的一个实施例的结构示意图;
图8为本发明一种记录日志的系统一个实施例的结构示意图;
图9为本发明一种记录日志的方法的一个实施例的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为本发明一种记录日志的方法的一个实施例的流程图,包括:
11,接收记录业务请求相关信息日志的请求。
具体的,日志处理装置接收记录业务请求相关信息日志的请求。业务请求可以是外部系统发起的请求(如开户、订购、呼叫等),也可以是本系统内提供的界面操作发起的请求,也可能是系统内部定时任务等自动触发的请求,由业务处理装置接收后,向日志处理装置发送记录该业务请求相关信息日志的请求。
业务请求相关信息指与该业务请求有关的全部或者部分信息,包括外部系统发送的业务请求参数信息,系统内对该业务请求的处理流程信息,以及处理结果信息。
12,根据该记录业务请求相关信息日志的请求将该业务请求相关信息记录到与该业务请求关联的日志缓存区。
具体的,该日志处理装置收到该记录业务请求相关信息日志的请求,可以根据该业务请求的唯一标识或者业务流水号或者线程变量查找与该业务请求关联的日志缓存区,然后将该业务请求携带的参数信息以及对该业务请求的处理流程信息都记录到该日志缓存区中。这样,该对应的日志缓存区就记录了关于这一个业务请求的参数信息以及该业务请求对应的全部或者部分处理流程信息。以该业务请求为一个开户请求为例,该开户请求在不同的模块会经过多个处理流程,参见图9所示的实施例,这些处理流程信息可以全部或者部分记录到与该开户请求对应的日志缓存区中。为了业务请求记录信息的完整性,日志处理装置可以在业务处理装置完成对该业务请求每一个处理后,接收业务处理装置发送的记录该业务请求处理相关信息日志的请求,并将这些相关信息记录到与该业务请求关联的日志缓存区,具体可以是将业务请求相关信息按照业务请求相关信息发生的先后顺序记录在日志缓存区,如按照处理流程的先后来记录,记录的时候可以同时把该缓存区的唯一标识保存在每一个日志记录中。
13,接收日志输出请求,根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
具体的,业务处理装置在每完成与该业务请求的一次处理后,可以判断处理结果是成功还是失败,判断为失败时,业务处理装置向日志处理装置发出日志输出请求,要求其提交该业务请求对应的缓存区中的日志信息,日志处理装置根据该日志输出请求执行提交操作,把该对应的缓存区中的存储的该业务请求的信息按记录的先后顺序写入日志文件中,以便进行后续的分析,找出业务请求处理失败原因。
在java中提供了很多集合类型的数据结构,比如队列、数组等,可用来实现缓存区中的存储的该业务请求的相关信息按记录的先后顺序输出到日志文件中的功能。图2为本发明实现按记录顺序输出日志的一个实施例的示意图,在图2中,使用java数组的add方法进行增加对象,实现按顺序向日志缓存区增加新的日志信息,并且,在输出日志信息时,利用get(i)方法进行遍历对象操作,在提交日志缓存区中的日志信息时遍历数组中各个日志信息对象,然后逐一输出到日志文件中。
本实施例通过将该业务请求相关信息记录到与该业务请求关联的日志缓存区,当该业务请求处理失败时,根据日志输出请求将该业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中,实现了只输出处理失败的业务请求相关信息,控制了日志的输出量,减少了对磁盘空间和读写资源的占用,并且当业务请求处理失败时,输出有关该业务请求相关信息的全部日志,体现了业务请求与输出日志的关联性,方便结合该业务请求的全部处理流程进行后续分析,快速定位出失败原因。
在本发明实施例中,日志处理装置还可以包括在接收记录业务请求相关信息日志的请求之前,接收包含了业务请求的关联信息的缓存区建立请求,并根据该缓存区建立请求建立与所述业务请求关联的日志缓存区。
该业务请求的关联信息是将该业务请求和日志缓存区对应起来的一个标识。在不同的应用场景下有所不同,可以是一个唯一标识,也可以是两者都对应的线程,还可以是业务请求对应的业务流水号。
该缓存区建立请求可以由业务处理装置在进行业务请求处理前向日志处理装置发送。即业务处理装置收到业务请求后,向日志处理装置发送开始新的日志缓存的请求。具体的,日志处理装置可以通过如下方法建立与该业务请求关联的日志缓存区:
一种方法是:创建一个空的日志缓存区对象,然后将该空的日志缓存区对象与该业务请求建立关联关系。对于关联关系的建立,存在多种方法可以实施。图3为本发明通过线程变量建立与业务请求关联的日志缓存区的一个实施例的示意图;如图3所示,以java语言为例,在java中,一个请求的处理依附在某一个具体的线程上,因此通过java中的线程变量技术,可以将日志缓存区和处理该业务请求相应线程的线程变量建立关联,这样就实现了每一个业务请求都有自己独立的缓存区。
另一种方法是:定义一个唯一标识,业务请求和日志缓存区分别建立和这个唯一标识的关联关系,从而通过这个唯一标识实现业务请求和缓存区的关联。如图4所示,为通过唯一标识将业务请求和日志缓存区进行关联的示意图。这种实施方案对基于消息的处理系统非常适用,因为在消息中可以携带这样的标识,从而在系统的各个地方很容易的获取和使用这个标识。比如业务处理装置在日志处理装置在每次向日志处理装置发送请求时携带这个参数,日志处理装置就可以实现将业务请求和日志缓存区关联,并将该业务请求相关信息记录到与该业务请求关联的日志缓存区中。
当业务请求全部流程处理完毕,并且成功时,日志处理装置还可以根据业务处理装置发送的缓存区回滚请求清除该业务请求关联的日志缓存区中的业务日志信息并删除该业务请求关联的日志缓存区。
业务处理装置在业务请求全部流程处理完毕,并且成功时,向日志处理装置发送缓存区回滚请求,要求其回滚缓存区,日志处理装置收到缓存区回滚请求后,根据该业务请求和缓存区的关联关系信息,找到相应的缓存区,执行回滚操作,即把该缓存区的日志信息清除、删除该缓存区,回收出存储空间。
本实施例中通过建立与每一个业务请求相关联的日志缓存区,为不同的业务请求分别输出提供条件,并且通过在业务请求处理成功时,回滚该业务请求关联的缓存区,及时释放了缓存空间,减少了对存储空间的占用。
图5为本发明一种记录日志的方法的另一个实施例的流程图,包括:
21,发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将业务请求相关信息记录到与所述业务请求关联的日志缓存区;
业务处理装置接收业务请求,然后对该业务请求进行处理,在此过程中,可以多次调用日志处理装置记录该业务请求相关信息,具体为多次向日志处理装置发送记录业务请求相关信息的请求。
该业务请求相关信息可以是业务处理装置多次接收到的,如在不同的处理流程后接收的,每次接收后都会请求日志处理装置记录。日志处理装置收到业务处理装置发出的记录业务请求相关信息的请求后,查找与该业务请求相关信息关联的日志缓存区,将与该业务请求相关信息都记录到与该业务请求关联的日志缓存区。
22,当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
业务处理装置在每完成与该业务请求的一次处理后,都会判断处理结果是成功还是失败,如果判断为处理失败,业务处理装置向日志处理装置发出日志输出请求,要求其提交该业务请求对应的缓存区上的内容。
一般的,业务处理装置有统一的入口和出口作为处理流程开始和结束点,可以在出口处增加处理成功还是失败的判断(如果不止一个出口,则需要在多个出口出都要增加这样的判断)。
对于判断是否处理成功的方法,可以使是利用本函数(有时也称为过程)前面处理步骤的结果和子函数的返回结果进行判断,如果这些结果均是预期的值,则认为是成功的;也可以是利用底层计算机语言的异常机制,看本函数前面处理步骤和子函数是否抛出了异常,如果没有异常,则认为是成功的。
如果业务处理装置判断该业务请求处理失败,业务处理装置则向日志处理装置发出日志输出请求,要求其提交缓存区,日志处理装置根据该日志输出请求执行提交操作,可以把该对应的缓存区中的存储的该业务请求的全部信息按记录的先后顺序写入日志文件中,以便进行后续的分析,找出业务请求处理失败原因。
本实施例中,通过业务处理装置调用日志处理装置将业务请求相关信息缓存到其关联的缓存区,并且在该业务请求处理失败时,调用日志处理装置将该业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中,实现了只输出处理失败的业务请求相关信息,控制了日志的输出量,减少了对磁盘空间和读写资源的占用,并且当业务请求处理失败时,输出有关该业务请求相关信息的全部日志,体现了业务请求与输出日志的关联性,方便结合该业务请求的全部处理流程进行后续分析。
在本发明实施例中,业务处理装置在接收业务请求后,发送记录业务请求相关信息的请求之前,还可以向日志处理装置发送缓存区建立请求,该缓存区建立请求中包含了业务请求;以便所述日志处理装置根据该缓存区建立请求建立与该业务请求关联的日志缓存区。
业务处理装置在收到业务请求后,进行业务请求处理前,向日志处理装置发送缓存区建立请求,请求日志处理装置建立与该业务请求关联的日志缓存区,日志处理装置收到该缓存区建立请求,建立与该业务请求关联的日志缓存区。日志处理装置建立与业务请求关联的日志缓存区的实现方法在上面的实施例中已有详细介绍,在此不再赘述。
当业务请求处理全部流程处理完毕,并且处理成功时,业务处理装置还可以向日志处理装置发送缓存区回滚请求,即调用日志处理装置将该业务请求关联的日志缓存区中的业务请求相关信息清除并删除业务请求关联的日志缓存区。日志处理装置收到缓存区回滚请求后,根据该业务请求和缓存区的关联关系信息,找到相应的缓存区,执行回滚操作,即把缓存区的日志信息清除、删除该缓存区,释放缓存空间。
本实施例中通过业务处理装置调用日志处理装置,建立与每一个业务请求相关联的日志缓存区,为不同的业务请求分别输出提供条件,并且通过在业务请求处理成功时,回滚该业务请求关联的缓存区,及时释放了缓存空间,减少了对存储空间的占用。
图6为本发明一种日志处理装置的一个实施例的结构示意图,具体包括:
接收单元31,用于接收记录业务请求相关信息日志的请求,以及日志输出请求。
具体的,接收单元31提供与业务处理装置的接口,可以根据业务处理装置不同的请求提供不同的接口,包括:记录日志接口,用于接收业务处理装置发送的记录业务请求相关信息日志的请求;提交缓存接口,用于在业务请求处理失败时,接收业务处理装置发送的提交关联的缓存区的调用请求;回滚缓存接口,用于接收业务处理装置发送的回滚关联的缓存区的缓存区回滚请求。
更具体的,接收单元31开放给业务处理装置的接口可以有不同的封装方式,如:
begin():表明开始一个业务请求或者事务处理。
end(boolean result):表明结束一个业务请求,并表明该业务请求处理结果是成功还是失败。
日志处理单元32,用于根据所述记录业务请求相关信息的请求将该业务请求相关信息记录到与所述业务请求关联的日志缓存区;以及根据日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
日志处理单元32将该业务请求相关信息记录到关联的日志缓存区。将该业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中可以是按信息记录的时间先后顺序写入日志文件中。
本实施例提供的日志处理装置可以根据业务处理装置发送的记录业务请求相关信息的请求将业务请求相关信息记录到关联的日志缓存区,并根据业务处理装置发送的日志输出请求将关联的日志缓存区中的业务请求相关信息输出到日志文件中。实现了只输出处理失败的业务请求相关信息,控制了日志的输出量,减少了对磁盘空间和读写资源的占用,并且当业务请求处理失败时,输出有关该处理失败的业务请求相关信息的全部日志,体现了业务请求与输出日志的关联性,方便结合该处理失败的业务请求的全部处理流程进行后续分析。
可选的,另一个实施方式中,接收单元31还可以用于接收缓存区建立请求,所述缓存区建立请求中包含了业务请求的关联信息。
具体的,接收单元31向业务处理装置提供开始缓存接口,用于接收缓存区建立请求。
具体的,缓存区建立请求由业务处理装置在接收到业务请求后,准备进行业务请求处理时向日志处理装置发送,缓存区建立请求中包括业务请求的关联信息。该业务请求的关联信息在图1所示的实施例中已有说明,在此不赘述。
相应的,日志处理单元32还可以用于根据该缓存区建立请求建立与该业务请求关联的日志缓存区。
接收单元31收到缓存区建立请求后,通知日志处理单元32,日志处理单元32则根据该缓存区建立请求建立与该业务请求关联的日志缓存区。具体建立该业务请求关联的日志缓存区的实施方式在图1的实施例中已经有详细说明,在此不赘述。
可选的,在另一实施方式中,接收单元31还可以用于接收缓存区回滚请求。
相应的,日志处理单元32还可以用于根据该缓存区回滚请求清除所述业务请求关联的日志缓存区中的业务日志信息并删除所述业务请求关联的日志缓存区。
当所述业务请求全部处理完毕,并成功时,业务处理装置向日志处理装置发送缓存区回滚请求,由接收单元31接收,该缓存区回滚请求要求日志处理装置回滚该日志缓存区,日志处理单元32则根据该缓存区回滚请求清除所述业务请求关联的日志缓存区中的业务日志信息,并且删除该日志缓存区。
另外该日志处理装置还可以包括日志缓存区,以及日志文件存储区;当然,也可以在日志处理装置之外建立日志缓存区和日志文件存储区。
该日志处理装置通过日志处理单元32根据接收单元31接收到的请求执行相关操作,通过建立与每一个业务请求关联的日志缓存区,为不同的业务请求分别输出提供了条件,并且通过在业务请求处理成功时,回滚该业务请求关联的缓存区,及时释放了缓存空间,减少了对存储空间的占用。
图7为本发明一种业务处理装置的一个实施例的结构示意图,具体包括:
请求发送单元41,用于发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将业务请求相关信息记录到与所述业务请求关联的日志缓存区;
处理单元42,用于当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
具体的,处理单元42提供与日志处理装置的接口,用于在当所述业务请求处理失败,向日志处理模块发送日志输出请求,要求日志处理装置提交缓存,即要求日志处理装置将日志缓存区中的业务请求相关信息写入日志文件中。处理单元42可以判断业务请求处理是否失败,判断的过程请参考图2的实施例中的介绍,在此不赘述。
本实施例提供的业务处理装置,通过处理单元42在业务请求处理结果失败时,请求日志处理装置提交与该业务请求关联的缓存区中的全部日志信息。实现了只输出处理失败的业务请求相关信息,控制了日志的输出量,减少了对磁盘空间和读写资源的占用,并且当业务请求处理失败时,输出有关该处理失败的业务请求相关信息的全部日志,体现了业务请求与输出日志的关联性,方便结合该处理失败的业务请求的全部处理流程进行后续分析。
另一实施方式中,处理单元42还用于向日志处理装置发送缓存区建立请求,该缓存区建立请求中包含了业务请求,以便该日志处理装置根据该缓存区建立请求建立与该业务请求关联的日志缓存区。
具体的,接收到业务请求后,业务处理装置在进行业务请求处理之前,通过处理单元42向日志处理装置发送缓存请求,该请求要求日志处理装置开始对该业务请求进行缓存。
在另一实施方式中,处理单元42还用于在该业务请求全部处理完毕,并且该业务请求处理结果为成功时,向日志处理装置发送缓存区回滚请求,要求其回滚缓存区,日志处理装置收到缓存区回滚请求后,根据该业务请求和缓存区的关联关系信息,找到相应的缓存区,执行回滚操作,即把缓存区的日志信息清除、删除该缓存区,回收出存储空间。
本实施例中的业务处理装置通过处理单元42调用日志处理装置建立与每一个业务请求相关联的日志缓存区,为不同的业务请求分别输出提供条件,并且通过在业务请求处理成功时,回滚该业务请求关联的缓存区,及时释放了缓存空间,减少了对存储空间的占用。
图8为本发明一种记录日志的系统的一个实施例的结构示意图,包括:
业务处理装置51,用于发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将业务请求相关信息记录到与所述业务请求关联的日志缓存区,以及当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中;
日志处理装置52,用于接收记录业务请求相关信息的请求,根据所述记录业务请求相关信息日志的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区,以及接收日志输出请求,根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
具体的,日志处理装置52提供与业务处理装置的接口,可以包括记录日志接口,提交缓存接口,回滚缓存接口,具体功能请参见图6所示实施例中对接收单元31的介绍。
本实施例提供的记录日志的系统的工作原理与请述实施例中一致或类似,在此不赘述。
本实施例提供的记录日志的系统通过业务处理装置51调用日志处理装置52建立与业务请求对应的日志缓存区,以及在该业务请求处理失败时,调用日志处理装置52将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。实现了只输出处理失败的业务请求相关信息,控制了日志的输出量,减少了对磁盘空间和读写资源的占用,并且当业务请求处理失败时,输出有关该业务请求相关信息的全部日志,体现了业务请求与输出日志的关联性,方便结合该业务请求的全部相关信息进行后续分析。
另一实施方式中,业务处理装置51还用于向日志处理装置52发送缓存区建立请求,所述缓存区建立请求中包含了业务请求;和/或,当所述业务请求全部处理完毕,并成功时,发送缓存区回滚请求,所述缓存区回滚请求用于指示所述日志处理装置根据将所述业务请求关联的日志缓存区中的业务请求相关信息清除并删除所述业务请求关联的日志缓存区。
另一实施方式中,日志处理装置52还用于根据业务处理装置51发送的缓存区建立请求建立与所述业务请求关联的日志缓存区;和/或,接收缓存区回滚请求,根据所述缓存区回滚请求清除所述业务请求关联的日志缓存区中的业务请求相关信息并删除所述业务请求关联的日志缓存区。
具体的,日志处理装置52向业务处理装置51提供开始缓存接口,用于接收缓存区建立请求。
业务处理装置51和日志处理装置52的工作原理与实施例一致或类似,在此不再赘述。
上述实施方式中,日志处理装置52通过接收业务处理装置51的调用请求,建立与每一个业务请求关联的日志缓存区,为不同的业务请求分别输出提供条件,并且通过在业务请求处理成功时,回滚该业务请求关联的缓存区,及时释放了缓存空间,减少了对存储空间的占用。
图9为一种记录日志的方法的一个实施例的流程图。在OCS系统的管理节点中,一个重要的处理就是与客户服务相关的业务受理请求处理,比如开户、销户、产品订购、充值等等。该实施方式以OCS系统中开户请求为例,包括:
601,业务处理装置接收营业系统发送的开户请求。
602,业务处理装置向日志处理装置发送该开户请求的缓存区建立请求。
603,日志处理装置建立与开户请求关联的日志缓存区并记录开户请求参数信息。
建立与开户请求关联的日志缓存区的实现细节请参见前面的实施例。
604,业务处理装置进行该开户请求接入控制处理,并调用日志处理装置记录该处理流程日志。具体是向日志处理装置发送记录该开户请求接入控制处理的请求。
605,日志处理装置将接入控制处理流程日志记录到与开户请求关联的日志缓存区。
606,业务处理装置进行该开户请求数据检查处理,并调用日志处理装置记录该处理流程日志。具体是向日志处理装置发送记录该开户请求数据检查处理的请求。
607,日志处理装置将该开户请求数据检查处理日志记录到与开户请求关联的日志缓存区。
608,业务处理装置进行该开户请求保存客户资料及订购信息处理,并调用日志处理装置记录该处理流程日志。具体是向日志处理装置发送记录该开户请求保存客户资料及订购信息处理的请求。
609,日志处理装置将该开户请求保存客户资料及订购信息处理日志记录到与开户请求关联的日志缓存区。
610,业务处理装置进行设置该开户请求初始账户金额处理,
611,调用日志处理装置记录该处理流程日志;具体是向日志处理装置发送记录该开户请求初始账户金额处理的请求。
612,日志处理装置将设置该开户请求初始账户金额处理日志记录到与开户请求关联的日志缓存区。
613,业务处理装置进行扣月租处理。
614,调用日志处理装置记录该处理流程日志。具体是向日志处理装置发送记录该开户请求扣月租处理的请求。
615,日志处理装置将该扣月租处理日志记录到与开户请求关联的日志缓存区。
616,计费系统向业务处理装置返回异常信息。
617,业务处理装置调用日志处理装置记录该异常信息日志;具体是向日志处理装置发送记录该异常信息的请求。
618,日志处理装置将该异常信息日志记录到与开户请求关联的日志缓存区。
619,业务处理装置判断该开户请求处理结果,为失败。
620,业务处理装置向日志处理装置发送日志输出请求,要求其提交与该开户请求关联的日志缓存区。
621,日志处理装置将与该开户请求关联的日志缓存区中全部日志按记录的顺序写入日志文件中。
本实施例中,为了达到定位问题的目录,可以记录以下几方面信息:
1、外部系统发过来的开户请求参数信息;
2、重要的处理步骤及相应处理结果信息,比如接入控制、数据校验,保存客户资料、保存产品订购信息等;
3、管理节点调用计费节点进行计费处理的请求和结果信息;
4、返回外部系统的结果信息。
如果系统不管最后业务请求处理是成功还是失败都输出缓存区中记录的日志到日志文件中的话,如果上述开户请求必须记录的信息总量为35K,平以一百万用户为基准的局点,一天开户请求达到1万,合计一天要产生340M日志。如果保留一个星期的话则需要2.3G空间。而开户则是整个系统的其中一个业务,还有充值、订购等等其它业务类型,根据计算,全部业务一周产生的日志达到100G左右的空间。如果是500万局点,则是500G左右空间。如此巨量的日志不仅消耗了大量的系统性能,也增加了产品的制造成本(需要磁盘阵列),后续的日志分析也将非常困难,而实际上,系统的错误率一般在1%以下。本实施例中采用的记录日志的方法,只需要输出1%以下的处理失败的业务请求日志即可,并且在业务请求失败时,输出与该业务请求有关的全部日志信息,而不只是某个关键点的信息,这样更有利于后续结合全部处理流程定位出失败原因。
另外,本实施例提供的记录日志的方法在该开户请求处理成功时,向日志处理装置发送缓存区回滚请求,要求其回滚与该开户请求关联的缓存区,日志处理装置根据该缓存区回滚请求,执行回滚操作,即把该与开户请求关联的缓存区的日志信息清除、删除该缓存区,回收出存储空间。这样,及时释放了缓存空间,减少了对存储空间的占用,减少了系统负担。
通过以上实施例的描述,本领域的技术人员可以清楚地了解到需要说明的是,本发明实施例不需要引入独立的功能部件,可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以执行本发明各个实施例所述的方法。这里所称的存储介质,如:ROM/RAM、磁盘、光盘等。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种记录日志的方法,其特征在于,包括:
日志处理装置接收缓存区建立请求,所述缓存区建立请求中包含了业务请求的关联信息;并且根据所述缓存区建立请求建立与所述业务请求关联的日志缓存区;
所述日志处理装置接收记录业务请求相关信息的请求;
所述日志处理装置根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;
所述日志处理装置接收业务处理装置在业务请求处理失败时发送的日志输出请求,根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
2.如权利要求1所述的方法,其特征在于,还包括:
接收缓存区回滚请求,根据所述缓存区回滚请求清除所述业务请求关联的日志缓存区中的业务请求相关信息并删除所述业务请求关联的日志缓存区。
3.一种记录日志的方法,其特征在于,包括:
业务处理装置发送缓存区建立请求,所述缓存区建立请求中包含了业务请求的关联信息,以便日志处理装置根据所述缓存区建立请求建立与所述业务请求关联的日志缓存区;
所述业务处理装置发送记录业务请求相关信息的请求,以便所述日志处理装置根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;
当所述业务请求处理失败时,所述业务处理装置发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
4.如权利要求3所述的方法,其特征在于,还包括:
当所述业务请求全部处理完毕,并成功时,发送缓存区回滚请求,以便所述日志处理装置根据所述缓存区回滚请求将所述业务请求关联的日志缓存区中的业务请求相关信息清除并删除所述业务请求关联的日志缓存区。
5.一种日志处理装置,其特征在于,包括:
接收单元,用于接收记录业务请求相关信息的请求,以及日志输出请求;还用于接收缓存区建立请求,所述缓存区建立请求中包含了业务请求的关联信息;
日志处理单元,用于根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;以及根据接收的业务处理装置在业务请求处理失败时发送的日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中;还用于根据所述缓存区建立请求建立与所述业务请求关联的日志缓存区。
6.如权利要求5所述的日志处理装置,其特征在于,
所述接收单元还用于接收缓存区回滚请求;
所述处理单元还用于根据所述缓存区回滚请求清除所述业务请求关联的日志缓存区中的业务日志信息并删除所述业务请求关联的日志缓存区。
7.一种业务处理装置,其特征在于,包括:
请求发送单元,用于发送记录业务请求相关信息的请求,以便日志处理装置根据所述记录业务请求相关信息的请求将所述业务请求相关信息记录到与所述业务请求关联的日志缓存区;还用于向日志处理装置发送缓存区建立请求,所述缓存区建立请求中包含了业务请求的关联信息,以便所述日志处理装置根据所述缓存区建立请求建立与所述业务请求关联的日志缓存区;
处理单元,用于当所述业务请求处理失败时,发送日志输出请求,以便日志处理装置根据所述日志输出请求将所述业务请求关联的日志缓存区中的业务请求相关信息写入日志文件中。
8.如权利要求7所述的业务处理装置,其特征在于,所述处理单元还用于当所述业务请求全部处理完毕,并成功时,发送缓存区回滚请求,以便所述日志处理装置根据所述缓存区回滚请求将所述业务请求关联的日志缓存区中的业务请求相关信息清除并删除所述业务请求关联的日志缓存区。
9.一种记录日志的系统,其特征在于,包括如权利要求7-8任一所述的业务处理装置和如权利要求5-6任一所述的日志处理装置。
CN200810218383A 2008-12-12 2008-12-12 一种记录日志的方法、装置及系统 Active CN101753344B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810218383A CN101753344B (zh) 2008-12-12 2008-12-12 一种记录日志的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810218383A CN101753344B (zh) 2008-12-12 2008-12-12 一种记录日志的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101753344A CN101753344A (zh) 2010-06-23
CN101753344B true CN101753344B (zh) 2012-09-05

Family

ID=42479784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810218383A Active CN101753344B (zh) 2008-12-12 2008-12-12 一种记录日志的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN101753344B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103702353B (zh) * 2012-09-28 2018-01-23 中国电信股份有限公司 故障定位方法和系统,以及接入点和网管设备
CN103885872A (zh) * 2012-12-21 2014-06-25 上海格尔软件股份有限公司 一种基于管道的日志回滚实现方法
CN106155913B (zh) * 2015-04-15 2019-06-18 阿里巴巴集团控股有限公司 缓存命中率分析的方法及设备
CN105207806A (zh) * 2015-08-20 2015-12-30 百度在线网络技术(北京)有限公司 分布式服务的监控方法及装置
CN105391772B (zh) * 2015-10-16 2019-02-22 百度在线网络技术(北京)有限公司 业务请求处理方法、日志处理方法及装置
CN105516297B (zh) * 2015-12-04 2019-03-19 新浪网技术(中国)有限公司 一种信息上报的方法及装置
CN109934657A (zh) * 2017-12-19 2019-06-25 中国移动通信集团河北有限公司 业务数据的处理方法、装置、设备和介质
CN108390770B (zh) * 2018-01-17 2022-03-04 北京奇艺世纪科技有限公司 一种信息生成方法、装置及服务器
CN109039782A (zh) * 2018-09-25 2018-12-18 郑州云海信息技术有限公司 一种集群日志记录方法及相关装置
CN109298928B (zh) * 2018-10-10 2021-05-25 深圳高灯计算机科技有限公司 业务的处理方法及装置
CN109474669A (zh) * 2018-10-19 2019-03-15 杭州安恒信息技术股份有限公司 一种高准确率的互联网应用系统的关联方法
CN109446174A (zh) * 2018-10-30 2019-03-08 东软集团股份有限公司 日志数据记录方法、装置及计算机可读存储介质
CN112242919B (zh) * 2019-07-19 2022-07-29 烽火通信科技股份有限公司 一种故障文件处理方法及系统
CN113079152B (zh) * 2021-03-26 2023-01-24 山东英信计算机技术有限公司 一种数据传输方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684294B1 (en) * 2000-03-31 2004-01-27 Intel Corporation Using an access log for disk drive transactions
CN101197700A (zh) * 2006-12-05 2008-06-11 阿里巴巴公司 提供日志服务的方法及系统
CN101197694A (zh) * 2006-12-04 2008-06-11 中兴通讯股份有限公司 一种通讯系统日志集中统计、处理系统及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684294B1 (en) * 2000-03-31 2004-01-27 Intel Corporation Using an access log for disk drive transactions
CN101197694A (zh) * 2006-12-04 2008-06-11 中兴通讯股份有限公司 一种通讯系统日志集中统计、处理系统及其方法
CN101197700A (zh) * 2006-12-05 2008-06-11 阿里巴巴公司 提供日志服务的方法及系统

Also Published As

Publication number Publication date
CN101753344A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
CN101753344B (zh) 一种记录日志的方法、装置及系统
CN107369012A (zh) 一种支付信息处理方法及系统、及具有履约保证保险机制的预付卡处理方法
CN100421101C (zh) 数据核对装置及核对方法
CN101556678A (zh) 一种批处理业务的处理方法、系统及业务处理控制设备
CN101021801A (zh) 流水线多进程之间基于消息队列的海量数据传输方法
CN109508797A (zh) 基于区块链的车险理赔方法及相关设备
CN114780285A (zh) 区块链数据恢复方法及装置、电子设备
CN111125719B (zh) 一种提升代码安全检测效率的方法、装置、计算机设备、和可读存储介质
CN107451301B (zh) 实时投递账单邮件的处理方法、装置、设备和存储介质
CN101158976A (zh) 一种数据库记录查询预处理的方法和系统
CN101729580A (zh) 一种存储方法与系统、终端业务板、控制板及存储通道板
CN116975117A (zh) 一种日志数据管理方法及装置
CN106557530B (zh) 业务系统、数据修复方法及装置
CN110659270A (zh) 一种数据处理及传输方法和装置
CN114493598A (zh) 计算资源管理方法、装置、计算机设备和存储介质
CN107491363A (zh) 一种基于Linux内核的存储卷的快照方法及装置
US10951665B2 (en) ACR buffering in the cloud
CN112965986A (zh) 业务一致性处理方法、装置、设备及存储介质
CN111861401A (zh) 一种行业资质管理及在线审批系统的技术方案
CN112132509A (zh) 一种退款处理方法、装置、介质及终端设备
CN109343999A (zh) 一种存储管理方法、计算机可读存储介质及终端设备
CN108255617A (zh) 数据传递方法、系统和电子设备
CN116339979A (zh) 一种分销系统的出库方法及装置
CN116644058A (zh) 基于关系型数据库管理系统的数据库的创建方法
CN117194050A (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
TR01 Transfer of patent right

Effective date of registration: 20201127

Address after: Building 2, No. 3, Fuqian Road, Hailing District, Taizhou City, Jiangsu Province

Patentee after: Taizhou Haitong Asset Management Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201127

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right