CN105260292A - 一种日志记录方法、装置及系统 - Google Patents
一种日志记录方法、装置及系统 Download PDFInfo
- Publication number
- CN105260292A CN105260292A CN201510649462.0A CN201510649462A CN105260292A CN 105260292 A CN105260292 A CN 105260292A CN 201510649462 A CN201510649462 A CN 201510649462A CN 105260292 A CN105260292 A CN 105260292A
- Authority
- CN
- China
- Prior art keywords
- specific transactions
- business processing
- identifier
- program
- subroutine
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种提供的日志记录方法和装置、一种业务处理的请求方法和装置以及一种日志记录系统。其中所述日志记录方法包括:接收调用方发送的对应特定业务的业务处理请求;将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符;执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。采用本申请提供的方法,能够将程序执行标识符作为调用方和被调用方之间同一事务处理的日志信息的关联字段,从而在跨系统的事务处理中,方便的将同一事务处理相关的各系统日志信息关联起来,从而便于跟踪该事务处理过程中的各种问题。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种日志记录方法和装置。本申请同时涉及一种业务处理的请求方法和装置,以及一种日志记录系统。
背景技术
企业级应用是指为商业组织、大型企业而创建并部署的解决方案及应用。随着互联网技术的不断发展,当代的企业级应用不再是一个个相互独立的系统。在企业中,一般都会部署多个彼此连接的、相互通过不同集成层次进行交互的企业级应用,同时这些应用又都有可能与其它企业的相关应用连接,从而构成一个结构复杂的、跨越Intranet和Internet的分布式企业应用群集。在这种系统架构下,要实现一个系统中的某个功能,可能需要多个系统相互配合才能完成。
在分布式企业应用群集中,各个系统产生的日志信息通常存储在各自的前置服务器中。当一个系统接收到业务处理请求时,首先生成对应本次请求的事务处理标识符,通过在请求处理过程中将事务处理标识符传递至数据库,实现系统内部从中间件到数据库整个处理过程的一体化监控,建立了前置服务器和数据库具体处理逻辑的关联关系。当该系统需要调用其它系统以完成业务处理请求时,其它系统将生成新的事务处理标识符。可见,当一个业务处理请求在不同系统中逐级进行处理时,对于该请求而言,各个系统生成的事务处理标识符是不一致的,即:同一事务处理在不同系统中产生的日志信息之间不具有关联性。
由于分布式企业应用群集的各个系统之间的耦合度较高,当一个系统出现的问题时,既可能是该系统本身的原因,还可能是其它关联系统相互作用的结果。要判定哪一个系统是问题产生的根源,不仅需要从显式发生问题的系统的前置服务器获取与事务处理相关的日志信息,还需要登录该系统所调用的其它系统的前置服务器中,获取与该事务处理相关的其它相关系统的日志信息,将这些日志信息综合起来进行问题分析,以确定问题出现的根源。
例如,A系统的一个功能在运行过程中出现运行缓慢的问题,假如A系统中该功能的实现需要调用B系统的b接口和C系统的c接口,而C系统的c接口的实现还需要调用D系统的d接口,那么当A系统出现运行缓慢的情况时,很可能是由于B、C或D三个系统提供的接口引起的。要分析上述不同系统间调用过程中出现的问题,需要维护人员将A、B、C、D四个系统的日志信息分别读取出来,然后再对它们进行关联分析。特别的,如果这些系统还是集群部署的,则要获取一个事务处理相关的所有日志,就需要从B、C、D三个系统的所有前置服务中找到相关的日志信息。
然而,由于同一事务处理在不同系统中产生的日志信息之间不具有关联性,使得很难获取同一事务处理相关的各系统日志信息,更加无法定位到问题产生的根源。因此,现有技术存在同一事务处理在不同系统中产生的日志信息之间不具有关联性的问题。
发明内容
本申请提供一种日志记录方法和装置,以解决现有技术存在同一事务处理在不同系统中产生的日志信息之间不具有关联性的问题。本申请另外提供一种业务处理的请求方法和装置,以及一种日志记录系统。
本申请提供一种日志记录方法,包括:
接收调用方发送的对应特定业务的业务处理请求;
将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符;
执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。
可选的,所述执行所述特定业务包括:
在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符;
执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息;所述子程序起始执行的日志信息和子程序终止执行的日志信息由所述事务处理标识符和对应所述子程序的所述程序执行标识符共同标识。
可选的,所述子程序的执行需要调用下一级特定业务;
相应的,所述执行所述子程序包括:
向执行所述下一级特定业务的系统发送对应所述下一级特定业务的业务处理请求;所述下一级业务处理请求包括对应所述子程序的所述程序执行标识符。
可选的,所述特定业务包括WebService应用程序。
可选的,所述业务处理请求包括的所述程序执行标识符存储在SOAP头文件中。
可选的,在所述接收调用方发送的对应特定业务的业务处理请求之后,还包括:
验证所述调用方是否有权请求所述特定业务。
可选的,在所述接收调用方发送的对应特定业务的业务处理请求之后,还包括:
从所述业务处理请求中获取所述程序执行标识符,并将其绑定到执行所述特定业务的线程。
可选的,若所述业务处理请求中既未包括所述调用方的程序执行标识符,也未包括调用方事务处理标识符,则在所述接收调用方发送的对应特定业务的业务处理请求之后,还包括:
为所述特定业务的执行生成所述事务处理标识符。
可选的,所述事务处理标识符根据所述调用方的IP地址、所述事务处理标识符的生成时间以及所述业务处理请求的标识符的至少一者生成。
可选的,所述程序执行标识符根据所述程序执行标识符对应的程序的程序名和所述程序执行标识符的生成时间生成。
相应的,本申请还提供一种日志记录装置,包括:
接收单元,用于接收调用方发送的对应特定业务的业务处理请求;
设置单元,用于将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符;
执行单元,用于执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。
可选的,所述执行单元包括:
生成子单元,用于在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符;
子程序执行子单元,用于执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息;所述子程序起始执行的日志信息和子程序终止执行的日志信息由所述事务处理标识符和对应所述子程序的所述程序执行标识符共同标识。
可选的,所述子程序的执行需要调用下一级特定业务;
相应的,所述子程序执行子单元包括:
请求子单元,用于向执行所述下一级特定业务的系统发送对应所述下一级特定业务的业务处理请求;所述下一级业务处理请求包括对应所述子程序的所述程序执行标识符。
可选的,还包括:
验证单元,用于验证所述调用方是否有权请求所述特定业务。
此外,本申请还提供一种业务处理的请求方法,包括:
为发送业务处理请求的程序生成程序执行标识符;
向执行第一特定业务的系统发送对应所述第一特定业务的所述业务处理请求;所述业务处理请求包括所述程序执行标识符。
可选的,所述程序执行标识符根据其对应的程序的程序名和所述程序执行标识符的生成时间生成。
可选的,发送所述业务处理请求的程序所属的特定业务为第二特定业务,所述方法还包括:
接收上一级调用方发送的对应所述第二特定业务的业务处理请求;
若所述对应所述第二特定业务的业务处理请求中既未包括所述上一级调用方预先生成的程序执行标识符,也未包括所述上一级调用方预先生成的事务处理标识符,则为所述第二特定业务的执行生成对应所述第二特定业务的事务处理标识符;
根据所述对应所述第二特定业务的业务处理请求执行所述第二特定业务,并对应所述第二特定业务的本次执行产生业务处理日志信息;所述业务处理日志信息由所述对应所述第二特定业务的事务处理标识符标识。
可选的,所述对应所述第二特定业务的事务处理标识符根据所述上一级调用方的IP地址、所述对应所述第二特定业务的事务处理标识符的生成时间以及所述对应所述第二特定业务的业务处理请求的标识符的至少一者生成。
可选的,所述第一特定业务包括WebService应用程序。
可选的,所述业务处理请求包括的所述程序执行标识符存储在SOAP头文件中。
相应的,本申请还提供一种业务处理的请求装置,包括:
第一生成单元,用于为发送业务处理请求的程序生成程序执行标识符;
发送单元,用于向执行第一特定业务的系统发送对应所述第一特定业务的所述业务处理请求;所述业务处理请求包括所述程序执行标识符。
可选的,发送所述业务处理请求的程序所属的特定业务为第二特定业务,所述装置还包括:
接收单元,用于接收上一级调用方发送的对应所述第二特定业务的业务处理请求;
第二生成单元,用于若所述对应所述第二特定业务的业务处理请求中既未包括所述上一级调用方预先生成的程序执行标识符,也未包括所述上一级调用方预先生成的事务处理标识符,则为所述第二特定业务的执行生成对应所述第二特定业务的事务处理标识符;
执行单元,用于根据所述对应所述第二特定业务的业务处理请求执行所述第二特定业务,并对应所述第二特定业务的本次执行产生业务处理日志信息;所述业务处理日志信息由所述对应所述第二特定业务的事务处理标识符标识。
此外,本申请还提供一种日志记录系统,包括:根据上述任一项所述的日志记录装置、以及任一项所述的业务处理的请求装置。
本申请还提供一种……。
与现有技术相比,本申请具有以下优点:
本申请提供的日志记录方法、业务处理的请求方法、以及相应装置和系统,通过接收调用方发送的对应特定业务的业务处理请求,并将业务处理请求中包括的调用方预先生成的程序执行标识符作为与特定业务的本次执行相对应的事务处理标识符;在执行特定业务时,对应特定业务的本次执行产生由事务处理标识符标识的业务处理日志信息,使得能够将程序执行标识符作为调用方和被调用方之间同一事务处理的日志信息的关联字段,从而在跨系统的事务处理中,方便的将同一事务处理相关的各系统日志信息关联起来,从而便于跟踪该事务处理过程中的各种问题。
附图说明
图1是本申请的日志记录方法实施例的流程图;
图2是本申请的日志记录装置实施例的数据流图;
图3是本申请的日志记录装置实施例的示意图;
图4是本申请的业务处理的请求方法实施例的流程图;
图5是本申请的业务处理的请求装置实施例的示意图;
图6是本申请的日志记录系统实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种日志记录方法和装置、一种业务处理的请求方法和装置、以及一种日志记录系统。在下面的实施例中逐一进行详细说明。
本申请提供的日志记录方法,其核心的基本思想为:调用方和被调用方之间同一事务处理的日志信息均采用调用方的程序执行标识符进行标识,使得不同系统的同一事务处理的相关日志信息之间能够产生关联。
请参考图1,其为本申请的日志记录方法实施例的流程图。所述方法包括如下步骤:
步骤S101:接收调用方发送的对应特定业务的业务处理请求。
本申请实施例所述的调用方包括第三方应用。所述的第三方应用是指,将接收业务处理请求的互联网应用程序作为其部分功能的某种软件或应用,第三方应用可以是由非互联网应用程序编制方的其他组织或个人开发的相关软件。
本申请实施例所述的特定业务包括互联网应用程序,例如:用于开发分布式的互操作的Webservice应用程序。第三方应用通过网络套接字向运行特定业务的系统发送业务处理请求。
本申请实施例所述的业务处理请求包括调用方预先生成的程序执行标识符。本申请实施例所述的程序执行标识符是指,第三方应用在发送业务处理请求之前、根据发送业务处理请求的具体程序的程序名和生成程序执行标识符的时间所生成的标识符。在实际应用中,发送业务处理请求的具体程序既可以为第三方应用本身,也可为第三方应用包括的各级子程序。如果由第三方应用本身发送业务处理请求,则业务处理请求中的程序执行标识符为与第三方应用的本次执行所对应的事务处理标识符;如果由第三方应用包括的各级子程序发送业务处理请求,则首先需要为该子程序生成与其本次执行所对应的程序执行标识符,并将该程序执行标识符记录到业务处理请求中。
需要注意的是,当第三方应用的同一子程序在同一事务中多次调用特定业务时,每一次调用均会产生新的程序执行标识符,即:程序执行标识符与子程序的每次执行相对应。
在本实施例中,特定业务为Webservice应用程序。为了尽量少的修改特定业务的现有业务逻辑,本申请实施例结合Webservice的soaphead技术,将业务处理请求包括的程序执行标识符存储在SOAP头文件中进行传递,由此使得在不同系统进行集成时,仅需对调用方做较少的调整。
此外,为了使得特定业务在执行过程中易于读取业务处理请求中的程序执行标识符,本申请实施例在接收调用方发送的对应特定业务的业务处理请求之后,结合Java的ThreadLocal技术,将从业务处理请求中获取的程序执行标识符绑定到执行特定业务的线程。
在实际应用中,为了避免非授权的调用方非法调用特定业务,本申请实施例在接收调用方发送的对应特定业务的业务处理请求之后,还结合了Java的过滤器(filter)技术,通过过滤器验证调用方是否有权请求特定业务。
步骤S103:将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符。
通过步骤S101接收到对应特定业务的业务处理请求后,就进入到步骤S103,将业务处理请求中调用方的程序执行标识符作为与特定业务的本次执行相对应的事务处理标识符,从而在两个系统间建立关联。
在实际应用中,若调用方发送的业务处理请求中既未包括调用方子程序的程序执行标识符,也未包括调用方特定业务的事务处理标识符,则在接收调用方发送的对应特定业务的业务处理请求之后,还包括:为所述特定业务的执行生成所述事务处理标识符。
例如,调用方为客户端,当客户端用户通过浏览器向运行特定业务的系统发送业务处理请求时,业务处理请求中并不包括调用方的程序执行标识符或事务处理标识符,这种情况表示一个新的事务处理刚刚开始,此时需要为特定业务的本次执行生成事务处理标识符。具体的,新生成的事务处理标识符根据调用方的IP地址、事务处理标识符的生成时间以及业务处理请求的标识符(即:requestId)的至少一者生成。
步骤S105:执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。
通过步骤S103获取到特定业务的本次执行所对应的事务处理标识符后,就可以开始执行特定业务,并且由该事务处理标识符标识执行过程中产生的业务处理日志信息。例如,A系统的特定业务A的子程序a在执行过程中需要调用B系统的特定业务B,特定业务B在执行过程中所产生的日志信息由为子程序a的本次执行所生成的程序执行标识符(如:XA)进行标识,特定业务B的日志信息格式如下:事务处理标识符(XA),日志生成时间,日志信息描述等。
在本实施例中,特定业务包括子程序,为了对子程序的执行情况进行监测,并且为了能够在该特定业务与下一级特定业务的日志信息之间建立关联,本申请实施例在执行特定业务时,还包括:1)在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符;2)执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息。
1)在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符。
通过为特定业务中子程序的执行生成程序执行标识符,使得当该子程序需要调用下一级特定业务时,能够将该程序执行标识符存储到对下一级特定业务的业务处理请求中,同时下一级特定业务将该程序执行标识符作为该下一级特定业务的事务处理标识符,由此不仅能够实现在该特定业务与下一级特定业务的日志信息之间建立关联,还能够在系统发生问题时,直接定位到问题产生的根源,即:直接定位到子程序一级的问题根源。
2)执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息。
为子程序的执行生成程序执行标识符之后,由特定业务的事务处理标识符和该子程序的程序执行标识符共同标识子程序执行过程中所产生的子程序的日志信息。本申请实施例所产生的子程序的日志信息包括:子程序起始执行的日志信息和子程序终止执行的日志信息。通过记录子程序起始执行的日志信息和子程序终止执行的日志信息,能够获取到该子程序的执行情况,由此判断该子程序在运行过程中是否存在异常。
请参看图2,其为本申请的日志记录方法实施例的数据流图。在本实施例中,利用Spring框架的AOP技术实现特定业务的子程序日志信息的记录。一方面,在每执行特定业务的一个子程序之前,AOP拦截层首先从ThreadLocal中读取特定业务的事务处理标识符,并生成要执行的子程序的程序执行标识符,同时记录下子程序起始执行的日志信息,格式如下:事务处理标识符(XA),程序执行标识符(如xa),日志生成时间,日志信息描述等。另一方面,在每执行特定业务的一个子程序之后,AOP拦截层还将记录下子程序终止执行的日志信息,格式如下:事务处理标识符(XA),程序执行标识符(如xa),日志生成时间,日志信息描述等;同时,还将清除与子程序的本次执行相对应的程序执行标识符,即:程序执行标识符的适用范围仅为子程序的本次执行过程。
在实际应用中,如果子程序的执行需要调用下一级特定业务;相应的,所述执行所述子程序包括:向执行所述下一级特定业务的系统发送对应所述下一级特定业务的业务处理请求;所述下一级业务处理请求包括对应所述子程序的所述程序执行标识符。
在上述的实施例中,提供了一种日志记录方法,与之相对应的,本申请还提供一种日志记录装置。该装置是与上述方法的实施例相对应。
请参看图3,其为本申请的日志记录装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种日志记录装置,包括:
接收单元301,用于接收调用方发送的对应特定业务的业务处理请求;
设置单元303,用于将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符;
执行单元305,用于执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。
可选的,所述执行单元305包括:
生成子单元,用于在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符;
子程序执行子单元,用于执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息;所述子程序起始执行的日志信息和子程序终止执行的日志信息由所述事务处理标识符和对应所述子程序的所述程序执行标识符共同标识。
可选的,所述子程序的执行需要调用下一级特定业务;
相应的,所述子程序执行子单元包括:
请求子单元,用于向执行所述下一级特定业务的系统发送对应所述下一级特定业务的业务处理请求;所述下一级业务处理请求包括对应所述子程序的所述程序执行标识符。
可选的,还包括:
验证单元,用于验证所述调用方是否有权请求所述特定业务。
与上述的日志记录方法相对应,本申请还提供一种业务处理的请求方法。请参考图4,其为本申请提供的一种业务处理的请求方法的实施例的流程示意图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种业务处理的请求方法包括:
步骤S301:为发送业务处理请求的程序生成程序执行标识符。
本申请实施例所述的发送业务处理请求的程序,既可以为第三方应用本身,也可为第三方应用包括的各级子程序。如果由第三方应用本身发送业务处理请求,则业务处理请求中的程序执行标识符为与第三方应用的本次执行所对应的事务处理标识符;如果由第三方应用包括的各级子程序发送业务处理请求,则首先需要为该子程序生成与其本次执行所对应的程序执行标识符,并将该程序执行标识符记录到业务处理请求中。程序执行标识符的生成方法在上述实施例一中已作详细说明,此处不再赘述,请见实施例一的相关部分。
步骤S303:向执行第一特定业务的系统发送对应所述第一特定业务的所述业务处理请求;所述业务处理请求包括所述程序执行标识符。
由于业务处理请求中记录了程序执行标识符,因而能够在本系统和执行第一特定业务的系统的日志信息之间建立关联。
本申请实施例所述的第一特定业务包括WebService应用程序。所述业务处理请求包括的所述程序执行标识符存储在SOAP头文件中。在本实施例中,将发送业务处理请求的程序所属的特定业务称为第二特定业务,发送业务处理请求的程序为第二特定业务的子程序。
由于本申请实施例发送业务处理请求的程序也属于一个特定业务(即上述第二特定业务),因此业务处理的请求方法还包括:1)接收上一级调用方发送的对应所述第二特定业务的业务处理请求;2)若所述对应所述第二特定业务的业务处理请求中既未包括所述上一级调用方预先生成的程序执行标识符,也未包括所述上一级调用方预先生成的事务处理标识符,则为所述第二特定业务的执行生成对应所述第二特定业务的事务处理标识符;3)根据所述对应所述第二特定业务的业务处理请求执行所述第二特定业务,并对应所述第二特定业务的本次执行产生业务处理日志信息;所述业务处理日志信息由所述对应所述第二特定业务的事务处理标识符标识。
通过上述步骤1-3,当来自上一级调用方的业务处理请求中不包括程序执行标识符或事务处理标识符时,表示第二特定业务开始一次新的事务处理,此时需要为第二特定业务的本次执行生成事务处理标识符。具体的,新生成的事务处理标识符根据上一级调用方的IP地址、事务处理标识符的生成时间以及业务处理请求的标识符(即:requestId)的至少一者生成。
在上述的实施例中,提供了一种业务处理的请求方法,与之相对应的,本申请还提供一种业务处理的请求装置。该装置是与上述方法的实施例相对应。
请参看图5,其为本申请的业务处理的请求装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种业务处理的请求装置,包括:
第一生成单元501,用于为发送业务处理请求的程序生成程序执行标识符;
发送单元503,用于向执行第一特定业务的系统发送对应所述第一特定业务的所述业务处理请求;所述业务处理请求包括所述程序执行标识符。
可选的,发送所述业务处理请求的程序所属的特定业务为第二特定业务,所述装置还包括:
接收单元,用于接收上一级调用方发送的对应所述第二特定业务的业务处理请求;
第二生成单元,用于若所述对应所述第二特定业务的业务处理请求中既未包括所述上一级调用方预先生成的程序执行标识符,也未包括所述上一级调用方预先生成的事务处理标识符,则为所述第二特定业务的执行生成对应所述第二特定业务的事务处理标识符;
执行单元,用于根据所述对应所述第二特定业务的业务处理请求执行所述第二特定业务,并对应所述第二特定业务的本次执行产生业务处理日志信息;所述业务处理日志信息由所述对应所述第二特定业务的事务处理标识符标识。
本申请实施例还提供了一种日志记录系统,如图6所示,该系统包括上述实施例所述的日志记录装置601和业务处理的请求装置602。所述日志记录装置通常部署于服务器,但并不局限于服务器,也可以是能够实现所述日志记录方法的任何设备;所述业务处理的请求装置即可以部署于移动通讯设备、个人电脑、PAD、iPad等终端设备,还可以部署于服务器。例如,业务处理的请求装置部署在第三方应用服务器上,能够为发送业务处理请求的程序生成程序执行标识符,并向执行特定业务的系统发送对应特定业务的业务处理请求,其中业务处理请求包括程序执行标识符;日志记录装置部署在执行特定业务的服务器上,能够接收调用方发送的对应特定业务的业务处理请求,并将业务处理请求中包括的第三方应用服务器预先生成的程序执行标识符,作为与特定业务的本次执行相对应的事务处理标识符,并在执行特定业务时,对应特定业务的本次执行产生由该事务处理标识符标识的业务处理日志信息。
本申请提供的日志记录方法、业务处理的请求方法、以及相应装置和系统,通过接收调用方发送的对应特定业务的业务处理请求,并将业务处理请求中包括的调用方预先生成的程序执行标识符作为与特定业务的本次执行相对应的事务处理标识符;在执行特定业务时,对应特定业务的本次执行产生由事务处理标识符标识的业务处理日志信息,使得能够将程序执行标识符作为调用方和被调用方之间同一事务处理的日志信息的关联字段,从而在跨系统的事务处理中,方便的将同一事务处理相关的各系统日志信息关联起来,从而便于跟踪该事务处理过程中的各种问题。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (23)
1.一种日志记录方法,其特征在于,包括:
接收调用方发送的对应特定业务的业务处理请求;
将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符;
执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。
2.根据权利要求1所述的日志记录方法,其特征在于,所述执行所述特定业务包括:
在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符;
执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息;所述子程序起始执行的日志信息和子程序终止执行的日志信息由所述事务处理标识符和对应所述子程序的所述程序执行标识符共同标识。
3.根据权利要求2所述的日志记录方法,其特征在于,所述子程序的执行需要调用下一级特定业务;
相应的,所述执行所述子程序包括:
向执行所述下一级特定业务的系统发送对应所述下一级特定业务的业务处理请求;所述下一级业务处理请求包括对应所述子程序的所述程序执行标识符。
4.根据权利要求1所述的日志记录方法,其特征在于,所述特定业务包括WebService应用程序。
5.根据权利要求4所述的日志记录方法,其特征在于,所述业务处理请求包括的所述程序执行标识符存储在SOAP头文件中。
6.根据权利要求1所述的日志记录方法,其特征在于,在所述接收调用方发送的对应特定业务的业务处理请求之后,还包括:
验证所述调用方是否有权请求所述特定业务。
7.根据权利要求1所述的日志记录方法,其特征在于,在所述接收调用方发送的对应特定业务的业务处理请求之后,还包括:
从所述业务处理请求中获取所述程序执行标识符,并将其绑定到执行所述特定业务的线程。
8.根据权利要求1所述的日志记录方法,其特征在于,若所述业务处理请求中既未包括所述调用方的程序执行标识符,也未包括调用方事务处理标识符,则在所述接收调用方发送的对应特定业务的业务处理请求之后,还包括:
为所述特定业务的执行生成所述事务处理标识符。
9.根据权利要求8所述的日志记录方法,其特征在于,所述事务处理标识符根据所述调用方的IP地址、所述事务处理标识符的生成时间以及所述业务处理请求的标识符的至少一者生成。
10.根据权利要求1-9任意一项所述的日志记录方法,其特征在于,所述程序执行标识符根据所述程序执行标识符对应的程序的程序名和所述程序执行标识符的生成时间生成。
11.一种日志记录装置,其特征在于,包括:
接收单元,用于接收调用方发送的对应特定业务的业务处理请求;
设置单元,用于将所述业务处理请求中包括的所述调用方预先生成的程序执行标识符,作为与所述特定业务的本次执行相对应的事务处理标识符;
执行单元,用于执行所述特定业务,并对应所述特定业务的本次执行产生由所述事务处理标识符标识的业务处理日志信息。
12.根据权利要求11所述的日志记录装置,其特征在于,所述执行单元包括:
生成子单元,用于在执行所述特定业务包括的子程序之前,为所述子程序的执行生成对应所述子程序的程序执行标识符;
子程序执行子单元,用于执行所述子程序,并对应所述子程序的执行产生子程序起始执行的日志信息和子程序终止执行的日志信息;所述子程序起始执行的日志信息和子程序终止执行的日志信息由所述事务处理标识符和对应所述子程序的所述程序执行标识符共同标识。
13.根据权利要求12所述的日志记录装置,其特征在于,所述子程序的执行需要调用下一级特定业务;
相应的,所述子程序执行子单元包括:
请求子单元,用于向执行所述下一级特定业务的系统发送对应所述下一级特定业务的业务处理请求;所述下一级业务处理请求包括对应所述子程序的所述程序执行标识符。
14.根据权利要求11所述的日志记录装置,其特征在于,还包括:
验证单元,用于验证所述调用方是否有权请求所述特定业务。
15.一种业务处理的请求方法,其特征在于,包括:
为发送业务处理请求的程序生成程序执行标识符;
向执行第一特定业务的系统发送对应所述第一特定业务的所述业务处理请求;所述业务处理请求包括所述程序执行标识符。
16.根据权利要求15所述的业务处理的请求方法,其特征在于,所述程序执行标识符根据其对应的程序的程序名和所述程序执行标识符的生成时间生成。
17.根据权利要求15所述的业务处理的请求方法,其特征在于,发送所述业务处理请求的程序所属的特定业务为第二特定业务,所述方法还包括:
接收上一级调用方发送的对应所述第二特定业务的业务处理请求;
若所述对应所述第二特定业务的业务处理请求中既未包括所述上一级调用方预先生成的程序执行标识符,也未包括所述上一级调用方预先生成的事务处理标识符,则为所述第二特定业务的执行生成对应所述第二特定业务的事务处理标识符;
根据所述对应所述第二特定业务的业务处理请求执行所述第二特定业务,并对应所述第二特定业务的本次执行产生业务处理日志信息;所述业务处理日志信息由所述对应所述第二特定业务的事务处理标识符标识。
18.根据权利要求17所述的业务处理的请求方法,其特征在于,所述对应所述第二特定业务的事务处理标识符根据所述上一级调用方的IP地址、所述对应所述第二特定业务的事务处理标识符的生成时间以及所述对应所述第二特定业务的业务处理请求的标识符的至少一者生成。
19.根据权利要求15所述的业务处理的请求方法,其特征在于,所述第一特定业务包括WebService应用程序。
20.根据权利要求19所述的业务处理的请求方法,其特征在于,所述业务处理请求包括的所述程序执行标识符存储在SOAP头文件中。
21.一种业务处理的请求装置,其特征在于,包括:
第一生成单元,用于为发送业务处理请求的程序生成程序执行标识符;
发送单元,用于向执行第一特定业务的系统发送对应所述第一特定业务的所述业务处理请求;所述业务处理请求包括所述程序执行标识符。
22.根据权利要求21所述的业务处理的请求装置,其特征在于,发送所述业务处理请求的程序所属的特定业务为第二特定业务,所述装置还包括:
接收单元,用于接收上一级调用方发送的对应所述第二特定业务的业务处理请求;
第二生成单元,用于若所述对应所述第二特定业务的业务处理请求中既未包括所述上一级调用方预先生成的程序执行标识符,也未包括所述上一级调用方预先生成的事务处理标识符,则为所述第二特定业务的执行生成对应所述第二特定业务的事务处理标识符;
执行单元,用于根据所述对应所述第二特定业务的业务处理请求执行所述第二特定业务,并对应所述第二特定业务的本次执行产生业务处理日志信息;所述业务处理日志信息由所述对应所述第二特定业务的事务处理标识符标识。
23.一种日志记录系统,其特征在于,包括:根据上述权利要求11所述的日志记录装置;以及根据权利要求21所述的业务处理的请求装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510649462.0A CN105260292B (zh) | 2015-10-09 | 2015-10-09 | 一种日志记录方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510649462.0A CN105260292B (zh) | 2015-10-09 | 2015-10-09 | 一种日志记录方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105260292A true CN105260292A (zh) | 2016-01-20 |
CN105260292B CN105260292B (zh) | 2018-06-29 |
Family
ID=55099992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510649462.0A Active CN105260292B (zh) | 2015-10-09 | 2015-10-09 | 一种日志记录方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105260292B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106502874A (zh) * | 2016-10-26 | 2017-03-15 | 南京途牛科技有限公司 | 一种调用链跟踪方法 |
CN107180060A (zh) * | 2016-03-11 | 2017-09-19 | 北京京东尚科信息技术有限公司 | 日志信息的输出方法和日志输出装置 |
CN108173706A (zh) * | 2017-11-29 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
CN108733698A (zh) * | 2017-04-19 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种日志消息的处理方法及后台服务系统 |
CN109474669A (zh) * | 2018-10-19 | 2019-03-15 | 杭州安恒信息技术股份有限公司 | 一种高准确率的互联网应用系统的关联方法 |
CN109933412A (zh) * | 2019-01-28 | 2019-06-25 | 武汉慧联无限科技有限公司 | 基于分布式消息中间件的分布式事务处理方法 |
CN110619227A (zh) * | 2019-09-12 | 2019-12-27 | 北京浪潮数据技术有限公司 | 一种审计日志管理方法、装置、设备及可读存储介质 |
CN110727567A (zh) * | 2019-09-09 | 2020-01-24 | 平安证券股份有限公司 | 软件质量检测的方法、装置、计算机设备和存储介质 |
CN113268401A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 日志信息的输出方法、装置及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101646160A (zh) * | 2009-06-24 | 2010-02-10 | 中国联合网络通信集团有限公司 | 浏览博客内容的方法及业务处理装置 |
US20120216133A1 (en) * | 2010-08-20 | 2012-08-23 | Overtis Group Limited | Secure cloud computing system and method |
CN104156300A (zh) * | 2013-05-14 | 2014-11-19 | 利德科技发展有限公司 | 日志管理系统和日志管理方法 |
CN104346365A (zh) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 确定与特定业务相关的关联日志的方法和装置 |
-
2015
- 2015-10-09 CN CN201510649462.0A patent/CN105260292B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101646160A (zh) * | 2009-06-24 | 2010-02-10 | 中国联合网络通信集团有限公司 | 浏览博客内容的方法及业务处理装置 |
US20120216133A1 (en) * | 2010-08-20 | 2012-08-23 | Overtis Group Limited | Secure cloud computing system and method |
CN104156300A (zh) * | 2013-05-14 | 2014-11-19 | 利德科技发展有限公司 | 日志管理系统和日志管理方法 |
CN104346365A (zh) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 确定与特定业务相关的关联日志的方法和装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107180060A (zh) * | 2016-03-11 | 2017-09-19 | 北京京东尚科信息技术有限公司 | 日志信息的输出方法和日志输出装置 |
CN106502874B (zh) * | 2016-10-26 | 2019-05-10 | 南京途牛科技有限公司 | 一种调用链跟踪方法 |
CN106502874A (zh) * | 2016-10-26 | 2017-03-15 | 南京途牛科技有限公司 | 一种调用链跟踪方法 |
CN108733698B (zh) * | 2017-04-19 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 一种日志消息的处理方法及后台服务系统 |
CN108733698A (zh) * | 2017-04-19 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 一种日志消息的处理方法及后台服务系统 |
WO2019105138A1 (zh) * | 2017-11-29 | 2019-06-06 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
CN108173706A (zh) * | 2017-11-29 | 2018-06-15 | 阿里巴巴集团控股有限公司 | 一种多业务系统下的业务标记方法、装置及设备 |
CN109474669A (zh) * | 2018-10-19 | 2019-03-15 | 杭州安恒信息技术股份有限公司 | 一种高准确率的互联网应用系统的关联方法 |
CN109933412A (zh) * | 2019-01-28 | 2019-06-25 | 武汉慧联无限科技有限公司 | 基于分布式消息中间件的分布式事务处理方法 |
CN110727567A (zh) * | 2019-09-09 | 2020-01-24 | 平安证券股份有限公司 | 软件质量检测的方法、装置、计算机设备和存储介质 |
CN110727567B (zh) * | 2019-09-09 | 2024-02-02 | 平安证券股份有限公司 | 软件质量检测的方法、装置、计算机设备和存储介质 |
CN110619227A (zh) * | 2019-09-12 | 2019-12-27 | 北京浪潮数据技术有限公司 | 一种审计日志管理方法、装置、设备及可读存储介质 |
CN113268401A (zh) * | 2021-06-16 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 日志信息的输出方法、装置及计算机可读存储介质 |
CN113268401B (zh) * | 2021-06-16 | 2022-10-04 | 中移(杭州)信息技术有限公司 | 日志信息的输出方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105260292B (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105260292A (zh) | 一种日志记录方法、装置及系统 | |
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
CN109478149B (zh) | 混合云计算系统中的访问服务 | |
CN109479062B (zh) | 混合云计算系统中的使用跟踪 | |
CN111355720B (zh) | 一种应用访问内网方法、系统、设备及计算机存储介质 | |
CN110032846B (zh) | 身份数据的防误用方法及装置、电子设备 | |
CN103152391A (zh) | 一种日志输出方法和装置 | |
CN112104715A (zh) | 一种基于微服务日志链路跟踪方法及系统 | |
CN111861481A (zh) | 一种区块链对账方法和系统 | |
CN113722114A (zh) | 一种数据服务的处理方法、装置、计算设备及存储介质 | |
CN108040090A (zh) | 一种多Web的系统整合方法 | |
CN113220640B (zh) | 一种基于区块链的仲裁方法及装置 | |
CN107239475B (zh) | 一种调用文件方法及装置 | |
CN110989984B (zh) | 一种数据处理方法、装置及系统 | |
CN112379871A (zh) | 一种数据处理的方法和装置 | |
CN115426219A (zh) | 一种api网关自动化处理系统及方法 | |
CN115834443A (zh) | 流量回放方法、装置、计算机设备和存储介质 | |
CN112395591A (zh) | 改密方法及系统 | |
CN113987035A (zh) | 区块链的外部数据访问方法、装置、系统、设备和介质 | |
CN111970286A (zh) | 一种用户登陆方法、装置及web服务器 | |
CN106528423B (zh) | 动态日志记录方法及装置 | |
CN115964193B (zh) | 网格环境应用的服务调用方法、计算机设备、存储介质 | |
CN111369246A (zh) | 智能合约的调用鉴权方法、装置、电子设备及存储介质 | |
CN110489276B (zh) | 基于业务页面的验证服务的容灾方法和装置 | |
US9608854B2 (en) | Method and system for automatic execution of scripts on remote agent-less client machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |