一种通用接口的日志监控方法及装置与流程

文档序号:24078226发布日期:2021-02-26 17:16阅读:218来源:国知局
一种通用接口的日志监控方法及装置与流程

[0001]
本发明涉及企业资源计划技术领域,尤其涉及一种通用接口的日志监控方法及装置。


背景技术:

[0002]
目前sap erp针对外部调用的接口日志大多是系统级的日志,例如连接信息、中断信息等一些纯技术信息,需要专业的基础环境人员才能看懂
[0003]
在sap erp项目实施中,大多数的日志记录都是针对某一特定的接口分别创建一个接口日志表且再单独开发一个程序进行日志展示或者进行接口重发。但是,针对不同的接口服务单独创建不同的日志表会造成日志表过多且难以维护与定位分析,并且定制开发不同的日志查询功能与日志表且很难复用。


技术实现要素:

[0004]
有鉴于此,本发明提供了一种通用接口的日志监控方法及装置,用于解决在sap erp项目实施中,大多数的日志记录都是针对某一特定的接口分别创建一个接口日志表且再单独开发一个程序进行日志展示或者进行接口重发。但是,针对不同的接口服务单独创建不同的日志表会造成日志表过多且难以维护与定位分析,并且定制开发不同的日志查询功能与日志表且很难复用的问题,具体方案如下:
[0005]
一种通用接口的日志监控方法,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述方法包括:
[0006]
在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;
[0007]
将所述日志数据基于所述预设日志表模板转化为目标预设日志表;
[0008]
基于所述目标预设日志表对所述目标系统进行监控日志监控。
[0009]
上述的方法,可选的,在预设数据库中获取所述目标系统的日志数据,包括:
[0010]
解析所述日志监控请求,获取所述日志监控请求中的监控标识;
[0011]
在所述预设数据库中查找与所述监控标识相同的日志数据;
[0012]
将与所述监控标识相同的日志数据作为所述目标系统的日志数据。
[0013]
上述的方法,可选的,将所述日志数据基于所述预设日志表模板转化为目标预设日志表,包括:
[0014]
将所述日志数据依据所述输入参数、所述返回参数/消息和所述至少一个调用原子服务进行划分得到各个划分后日志数据;
[0015]
将所述各个划分后日志数据依据其所属类型添加到所述预设日志表模板中,得到目标预设日志表。
[0016]
上述的方法,可选的,基于所述目标预设日志表对所述目标系统进行监控日志监
控,包括:
[0017]
获取所述日志监控请求中的查询条件;
[0018]
基于所述查询条件在所述目标预设日志表中查找与所述查询条件匹配的关键词;
[0019]
获取与所述关键词对应的目标日志数据,展示所述目标日志数据。
[0020]
上述的方法,可选的,还包括:
[0021]
在接收到对当前日志数据的冲销指令时,对所述当前日志数据进行冲销。
[0022]
一种通用接口的日志监控装置,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述装置包括:
[0023]
获取模块,用于在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;
[0024]
转换模块,用于将所述日志数据基于所述预设日志表模板转化为目标预设日志表;
[0025]
监控模块,用于基于所述目标预设日志表对所述目标系统进行监控日志监控。
[0026]
上述的装置,可选的,所述获取模块包括:
[0027]
标识获取单元,用于解析所述日志监控请求,获取所述日志监控请求中的监控标识;
[0028]
第一查找单元,用于在所述预设数据库中查找与所述监控标识相同的日志数据;
[0029]
确定单元,用于将与所述监控标识相同的日志数据作为所述目标系统的日志数据。
[0030]
上述的装置,可选的,所述转换模块包括:
[0031]
划分单元,用于将所述日志数据依据所述输入参数、所述返回参数/消息和所述至少一个调用原子服务进行划分得到各个划分后日志数据;
[0032]
添加单元,用于将所述各个划分后日志数据依据其所属类型添加到所述预设日志表模板中,得到目标预设日志表。
[0033]
上述的装置,可选的,所述监控模块包括:
[0034]
条件获取单元,用于获取所述日志监控请求中的查询条件;
[0035]
第一查找单元,用于基于所述查询条件在所述目标预设日志表中查找与所述查询条件匹配的关键词;
[0036]
获取和展示单元,用于获取与所述关键词对应的目标日志数据,展示所述目标日志数据。
[0037]
上述的装置,可选的,还包括:
[0038]
冲销模块,用于在接收到对当前日志数据的冲销指令时,对所述当前日志数据进行冲销。
[0039]
与现有技术相比,本发明包括以下优点:
[0040]
本发明公开了一种通用接口的日志监控方法及装置,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述方法包括:在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标
系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;将所述日志数据基于所述预设日志表模板转化为目标预设日志表;基于所述目标预设日志表对所述目标系统进行监控日志监控。上述过程,无论何种监控请求,都会将对应的日志数据转换为目标预设日志表,具有复用性,不需要单独设置日志表。
[0041]
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
[0042]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]
图1为本申请实施例公开的一种通用接口的日志监控方法流程图;
[0044]
图2为本申请实施例公开的一种服务接口结构框图;
[0045]
图3为本申请实施例公开的一种通用接口的日志监控装置结构框图。
具体实施方式
[0046]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0048]
本发明公开了一种通用接口的日志监控方法及装置,应用于对sap erp系统的监控过程中,针对复杂业务需求,可能涉及到的内部业务系统有很多,这些系统不可避免的需要与erp系统进行频繁交互。接口服务运行的结果及过程监控显得极为重要,尤其对于开发人员与运维人员日常查错,统计业务交易量起到事半功倍的效果,其中,sap erp:sap公司推出的erp软件产品,包括sap r/3、sap ecc、sap s/4hana等。接口服务:对外提供的接口服务,可以是sap标准bapi也可以是客户自定义的zbapi,按照一定的原则封装的接口服务。
[0049]
在企业级的业务运维和运营场景中,日志正扮演着越来越重要的角色,一套完整的日志监控系统其功能是否丰富,日志展现是否详细,往往取决于接口服务在执行过程中日志记录是否完善齐全。日志监控提供对业务日志数据实时分析,监控图表可视化展示和报警服务。目前在大多数的sap实施项目中没有专门针对后台服务接口进行统一的日志监控与管理平台,即使有也过于简单与分散且没有与业务数据很好的结合起来,具体表现为以下几个方面:
[0050]
(1)针对不同的接口服务单独创建不同的日志表会造成日志表过多且难以维护与
定位分析
[0051]
(2)定制开发不同的日志查询功能与特定表且很难复用
[0052]
(3)使用范围更多的是偏向于后台运维人员,因此日志中内容偏重于技术信息而忽略业务数据信息
[0053]
(4)事务码维护过多运维人员与业务人员难以记忆,影响工作效率
[0054]
(5)针对复杂的集成接口,无法准确追踪调用链内部步骤执行情况
[0055]
(6)没有很好的考虑接口事务完整性且无法进行异常处理(冲销与偿)
[0056]
针对上述问题,本发明实施例中提供了一种通用接口的日志监控方法用于解决上述问题,其中,所述通用接口需要开发人员在封装接口时,需要按照统一的接口开发规范与流程封装符合标装的接口服务,其中,所述通用接口的集成服务框架在完整的意义上,核心系统软件层次结构可以分为四层,包括渠道层、流程层、集成层、核心服务层。其中,组合服务相应于集成层,也即产品层的最外层,是与渠道层进行在线联机交易的唯一的接口。
[0057]
进一步的,基于集成服务接口封装输入输出参数规范保证所有的集成服务接口中均带有统一的control_data(公共控制信息)与return(返回消息)。
[0058]
集成服务内部代码层次结构必须保证所有集成服务均采用sap abap oo面向对象编程技术实现,其内部代码层次结构如下:
[0059]
首先,一个集成服务在其物理形态上,就是一个sap remote function module(rfm)。其次,一个集成服务的实现,也是分层的。
[0060]
(1)代理实现层(proxy implementation layer)
[0061]
所述代理实现层实现一些通用的功能,比如流水号判断及处理,消息转译等等。
[0062]
(2)服务实现层(service implementation layer)
[0063]
所述服务实现层组织服务适配器,实现功能。另外,事务控制是在这一层实现的。
[0064]
(3)基础层(foundation layer)
[0065]
集成服务框架提供了许多公用的程序来实现这些功能。这些公用程序本身组合一个层,叫“基础层”。
[0066]
所述集成服务框架提供了一整套配套的公共程序,以简化及规范化集成服务的行为,包括:流水号管理句柄、消息句柄、异常类和异常消息转译句柄。
[0067]
在开发过程中这些公共程序都是可直接调用的,对所述公共程序进行举例,如表1所示。
[0068]
表1
[0069][0070]
本发明实施例中,适配器类的服务方法实现,以方法“execute”为例进行说明,方法

execute’的接口参数:初始状态下接口中只有control_data和return,对照集成服务zcs_demo_addr_chg的接口将其余部分补充完整。例如本例中集成服务有4个内表接口,可以对应用于定义适配器类的内表传输接口。方法

execute’的实现:在正向服务实现方法

execute’中调用原子bapi,实现业务功能。
[0071]
根据需要实现自代理实现类

zcl_demo_in_pi_addr_chg’中的相关方法,所述相关方法如表2所示,
[0072]
表2
[0073]
[0074]
本发明实施例中,根据需要实现类

zcl_demo_in_si_addr_chg’中的

execute’方法,在此方法中实现具体的业务实现。初始状态下,此方法中实现为空,在此方法中中直接调用适配器类的

execute’方法,如果一个集成服务涉及到多个步骤的调用,也可以在服务实现类中进行顺次调用
[0075]
每个步骤适配器类,调用前可记录每个步骤的入参。调用结束后调用句柄类zcl_fnd_transaction_control->record_work()方法,记录该步骤的调用堆栈。此堆栈用于在后续步骤执行出现问题的情况下调用rollback_work()方法时候使用。同时调用zcl_fnd_transaction_control->commit_work()方法,提交保存数据。
[0076]
基于上述的通用接口,本发明实施例中提供了一种通用接口的日志监控方法,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述监控方法的执行流程如图1所示,包括步骤:
[0077]
s101、在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;
[0078]
本发明实施例中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,其中,所述基本信息包括:流水、日期、时间、服务名称、操作用户、执行结果等,所述技术信息包括:接口技术名称、调用方系统、接口外部输入及返回参数、业务发起单位、用户及所属机构等,所述步骤信息包括:执行步骤原子服务名、输入及返回参数、执行结果等信息,所述返回参数/消息包括:报错或者成功消息等。所述日志数据由日志监控平台对所述目标系统进行监控得到,所述日志监控平台用户监控所述目标系统,其中,所述目标系统可以为具体的应用、也可以为多个应用组成的系统,本发明实施例中,对所述目标系统不进行具体限定。在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,获取的过程如下:解析所述日志监控请求,获取所述日志监控请求中的监控标识;其中,所述监控标识用于区分不同系统的日志数据,本发明实施例中,对所述监控标识的具体存在形式不进行限定,在所述预设数据库中查找与所述监控标识相同的日志数据;将与所述监控标识相同的日志数据作为所述目标系统的日志数据。其中,所述预设数据库中包括的数据库表名如表3所示。
[0079]
表3
[0080][0081][0082]
s102、将所述日志数据基于所述预设日志表模板转化为目标预设日志表;
[0083]
本发明实施例中,由于不同的系统日志数据的存在形式会有区别,为例实现对不同系统监控过程的复用,本发明实施例中预先建立日志表模板,所述日志表模板可以满足不同系统的日志监控,将将所述日志数据基于所述预设日志表模板转化为目标预设日志表的过程如下:将所述日志数据依据所述输入参数、所述返回参数/消息和所述至少一个调用原子服务进行划分得到各个划分后日志数据;将所述各个划分后日志数据依据其所属类型添加到所述预设日志表模板中,得到目标预设日志表。
[0084]
s103、基于所述目标预设日志表对所述目标系统进行监控日志监控。
[0085]
本发明实施例中,基于所述目标预设日志表对所述目标系统进行监控日志监控,获取所述日志监控请求中的查询条件,其中,所述查询条件包括:日期、时间、操作用户、状态、服务名称、状态等,基于所述查询条件在所述目标预设日志表中查找与所述查询条件匹配的关键词;获取与所述关键词对应的目标日志数据,展示所述目标日志数据。
[0086]
本发明公开了一种通用接口的日志监控方法,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述方法包括:在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;将所述日志数据基于所述预设日志表模板转化为目标预设日志表;基于所述目标预设日志表对所述目标系统进行监控日志监控。上述过程,无论何种监控请求,都会将对应的日志数据转换为目标预设日志表,具有复用性,不需要单独设置日志表。
[0087]
本发明实施例中,以所述通用接口为服务接口为例,对上述过程进行举例,服务接口结构框图如图2所示,日志监控平台实时监控系统的基本信息、技术信息、步骤信息和参数/消息、进行数据抽取后存储至数据库,首先在数据库层面上设计了一套通用的日志存储表且哪些日志类型需要记录存储是可配置的。接口在被调用运行过程中根据配置将所属相
关日志信息统一储存至对应库表完成各类型日志的数据的统一管理。考虑到未来随着业务量增多,针对每种类型的日志表按照月份设计12个备份表,为后续备份数据做准备监控平台运行时,实时从各种不同类型的日志表中提取数据进行过滤、加工、分析与统计后进行可视化展示。集成服务监控平台功能事务码:zcsmon,用户根据操作权限,可在门户网站或者sap后台运行此功能。输入查询条件,可按日期、时间、操作用户、状态、服务名称、状态等搜索条件单一或组合查询接口执行记录,点击“开始查询”按钮,系统实时从业务流水信息表、接口步骤信息表、message等相关表中加载基本信息、步骤信息和返回信息数据,利用sap alv列表功能进行展示并将相关日志信息进行存储,监控平台集成异常处理按钮,当用户选择一条成功流水进行冲销(冲销即冲正,sap提供的相当于

后悔’功能,例如发的银行转账,冲正后金额原路返回汇款人账户)时,系统根据正向流水号查找出此接口传入传出参数,根据事先配置的冲销服务进行动态冲销。同理,对服务进行后继补偿业务时,根据日志中记录的历史参数数据重新对接口进行模拟执行。
[0088]
本套接口监控日志方法与其它传统日志管理平台其主要改进点在于:
[0089]
监控平台功能的丰富、完善与接口封装规范紧密相联,便于企业遵循统一的服务接口开发管理,约束开发准则。在接口封装时遵循统一规范基础上开发出一套通用的接口运行监控平台,可实现以下主要功能:
[0090]
支持按日期、时间、操作用户、状态、服务名称等搜索条件查询接口执行记录;
[0091]
组织结构信息展示:业务发起单位、用户及所属单位;
[0092]
技术信息展示:包括:服务名称、调用系统、接口传入参数、接口传出信息,支持将信息导出功能(xml);
[0093]
接口内部执行步骤信息展示:针对复杂的集成接口服务,其内部有可能集成多个erp系统或者非erp系统原子服务,可支持按照调用顺序记录每个步骤输入、输出信息及执行结果。
[0094]
监控平台记录支持自动刷新;
[0095]
报错消息展示:消息日志-log;
[0096]
消息转译:因erp内部一些标准bapi报出的消息业务含义不是很明确,支持将原始消息映射成自定义转换后的消息;
[0097]
其遵循规范化封装下的集成服务接口具有有以下优点:
[0098]
统一的外部调用方式;
[0099]
统一的流水状态控制,以及流水日志的记录;
[0100]
统一的事务控制、消息处理、异常处理;
[0101]
统一的冲正机制;
[0102]
监控平台其功能不仅仅体现在

监控’,可做业务人员业务统计以及运维人员日常排错,异常处理的主要工具。
[0103]
基于上述的一种通用接口的日志监控方法,本发明实施例中,提供了一种通用接口日志监控装置,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述监控装置的结构框图如图3所示,包括:
[0104]
获取模块201、转换模块202和监控模块203。
[0105]
其中,
[0106]
所述获取模块201,用于在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;
[0107]
所述转换模块202,用于将所述日志数据基于所述预设日志表模板转化为目标预设日志表;
[0108]
所述监控模块203,用于基于所述目标预设日志表对所述目标系统进行监控日志监控。
[0109]
本发明公开了一种通用接口的日志监控装置,预先定制预设日志表模板,其中,所述预设日志表模板包括:输入参数、返回参数/消息和至少一个调用原子服务,所述方法包括:在接收到对目标系统的日志监控请求的情况下,在预设数据库中获取所述目标系统的日志数据,其中,所述日志数据包括:所述目标系统的基本信息、技术信息、步骤信息和返回参数/消息,所述日志数据由日志监控平台对所述目标系统进行监控得到;将所述日志数据基于所述预设日志表模板转化为目标预设日志表;基于所述目标预设日志表对所述目标系统进行监控日志监控。上述过程,无论何种监控请求,都会将对应的日志数据转换为目标预设日志表,具有复用性,不需要单独设置日志表。
[0110]
本发明实施例中,所述获取模块201包括:
[0111]
标识获取单元204、第一查找单元205和确定单元206。
[0112]
其中,
[0113]
所述标识获取单元204,用于解析所述日志监控请求,获取所述日志监控请求中的监控标识;
[0114]
所述第一查找单元205,用于在所述预设数据库中查找与所述监控标识相同的日志数据;
[0115]
所述确定单元206,用于将与所述监控标识相同的日志数据作为所述目标系统的日志数据。
[0116]
本发明实施例中,所述转换模块202包括:
[0117]
划分单元207和添加单元208。
[0118]
其中,
[0119]
所述划分单元207,用于将所述日志数据依据所述输入参数、所述返回参数/消息和所述至少一个调用原子服务进行划分得到各个划分后日志数据;
[0120]
所述添加单元208,用于将所述各个划分后日志数据依据其所属类型添加到所述预设日志表模板中,得到目标预设日志表。
[0121]
本发明实施例中,所述监控模块203包括:
[0122]
条件获取单元209、第一查找单元210和获取和展示单元211。
[0123]
其中,
[0124]
所述条件获取单元209,用于获取所述日志监控请求中的查询条件;
[0125]
所述第一查找单元210,用于基于所述查询条件在所述目标预设日志表中查找与所述查询条件匹配的关键词;
[0126]
所述获取和展示单元211,用于获取与所述关键词对应的目标日志数据,展示所述
目标日志数据。
[0127]
本发明实施例中,所述监控装置还包括:冲销模块212。
[0128]
其中,
[0129]
所述冲销模块212,用于在接收到对当前日志数据的冲销指令时,对所述当前日志数据进行冲销。
[0130]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0131]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0132]
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0133]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0134]
以上对本发明所提供的一种通用接口的日志监控方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1