基于数据流实现多系统业务串联方法及系统

文档序号:1921665 发布日期:2021-12-03 浏览:28次 >En<

阅读说明:本技术 基于数据流实现多系统业务串联方法及系统 (Method and system for realizing multi-system service series connection based on data flow ) 是由 张睿 于 2021-08-11 设计创作,主要内容包括:本发明公开了一种基于数据流实现多系统业务串联方法及系统,方法包括:针对业务全流程的各个系统采用统一的日志格式,且日志中设置有相应的接入标识和当前客户端附属信息;在不同系统间的业务流转过程中,日志接入端将日志数据序列化并发送至日志接收端;日志接收端接收日志数据,并将日志数据缓存至日志解析模块;日志解析模块利用流数据处理程序对日志数据进行格式解析处理,并将解析后的日志数据存储至日志存储模块;针对日志存储模块中的日志数据进行分析,得到业务全流程中各个系统的业务受理流程。通过本发明的技术方案,实现不同业务流程之间的关系建立,从而得到业务全流程的业务受理流程。(The invention discloses a method and a system for realizing multi-system service series connection based on data flow, wherein the method comprises the following steps: adopting a uniform log format for each system of the whole business process, wherein the log is provided with a corresponding access identifier and current client side auxiliary information; in the service flow process among different systems, the log access end serializes log data and sends the log data to a log receiving end; the log receiving end receives log data and caches the log data to a log analysis module; the log analysis module carries out format analysis processing on the log data by using a stream data processing program and stores the analyzed log data into a log storage module; and analyzing the log data in the log storage module to obtain the service acceptance flow of each system in the service overall flow. Through the technical scheme of the invention, the establishment of the relationship among different business processes is realized, so that the business acceptance process of the whole business process is obtained.)

基于数据流实现多系统业务串联方法及系统

技术领域

本发明涉及多系统业务技术领域,尤其涉及一种基于数据流实现多系统业务串联方法以及一种基于数据流实现多系统业务串联系统。

背景技术

目前,移动电信行业,提供了诸多客户或用户服务,对应服务一般以结果的方式进行展现,至于过程交互等信息并未提供完整准确的信息链,无法体现在对应服务过程中的交互过程。当用户对服务产生疑问和歧义时,无法通过交互过程推导出实际的结果,较难与用户达成共识,对于用户单一方面的不认可较难达成一致。

发明内容

针对上述问题,本发明提供了一种基于数据流实现多系统业务串联方法及系统,通过多个系统或接口之间预先约定统一的日志格式,利用异步日志输出机制在各个系统的接口之间建立唯一标识机制,实现不同业务流程之间的关系建立,通过对所存储的日志数据的综合分析,从而得到业务全流程的业务受理流程,以便在对业务服务过程中提供完整的业务受理流程信息链。

为实现上述目的,本发明提供了一种基于数据流实现多系统业务串联方法,包括:

针对业务全流程的各个系统采用统一的日志格式,且日志中设置有相应的接入标识和当前客户端附属信息;

在不同系统间的业务流转过程中,日志接入端将日志数据序列化并发送至日志接收端;

所述日志接收端接收所述日志数据,并将所述日志数据缓存至日志解析模块;

所述日志解析模块利用流数据处理程序对所述日志数据进行格式解析处理,并将解析后的日志数据存储至日志存储模块;

针对所述日志存储模块中的日志数据进行分析,得到业务全流程中各个系统的业务受理流程。

在上述技术方案中,优选地,所述日志接入端将不同类型的日志数据按照预设的统一日志格式生成,并进行序列化转换形成json串,并根据所述日志接入端中的配置文件将所述json串发送至预配置的接收端地址。

在上述技术方案中,优选地,所述日志接收端对端口进行监听,在接收到所述日志接入端发送来的日志数据时,通过缓存机制将日志数据批量写入消息中间件,并作为生产者将所述日志数据写入所述日志解析模块;

所述日志接收端在接收日志数据时,对超出指定大小的数据进行拦截,并进行单独分流保存。

在上述技术方案中,优选地,所述日志接入端通过配置文件中预配置的接收端地址信息实现对应的日志接收端的服务调用,并向所述日志接收端自动或主动发送日志数据。

在上述技术方案中,优选地,所述日志接入端根据配置文件预配置日志接收端队列大小,在日志接收端队列满后选择丢弃当前日志数据或等待发送。

本发明还提出一种基于数据流实现多系统业务串联系统,应用如上述技术方案中任一项公开的基于数据流实现多系统业务串联方法,包括:

统一格式模块,用于针对业务全流程的各个系统设置统一的日志格式,且日志中设置有相应的接入标识和当前客户端附属信息;

日志接入端,用于在不同系统间的业务流转过程中将日志数据序列化并发送至日志接收端;

日志接收端,用于接收所述日志数据并将所述日志数据缓存至日志解析模块;

所述日志解析模块用于利用流数据处理程序对所述日志数据进行格式解析处理,并将解析后的日志数据存储至日志存储模块;

流程分析模块,用于针对所述日志存储模块中的日志数据进行分析,得到业务全流程中各个系统的业务受理流程。

在上述技术方案中,优选地,所述日志接入端用于按照预设的统一日志格式生成不同类型的日志数据,并将所述日志数据进行序列化转换形成json串,以及根据配置文件将所述json串发送至预配置的接收端地址。

在上述技术方案中,优选地,所述日志接收端用于对端口进行监听,在接收到所述日志接入端发送来的日志数据时,通过缓存机制将日志数据批量写入消息中间件,并作为生产者将所述日志数据写入所述日志解析模块;

其中,所述日志接收端在接收日志数据时,对超出指定大小的数据进行拦截,并进行单独分流保存。

在上述技术方案中,优选地,所述日志接入端通过配置文件中预配置的接收端地址信息实现对应的日志接收端的服务调用,并向所述日志接收端自动或主动发送日志数据。

在上述技术方案中,优选地,所述日志接入端根据配置文件预配置日志接收端队列大小,在日志接收端队列满后选择丢弃当前日志数据或等待发送。

与现有技术相比,本发明的有益效果为:通过多个系统或接口之间预先约定统一的日志格式,利用异步日志输出机制在各个系统的接口之间建立唯一标识机制,实现不同业务流程之间的关系建立,通过对所存储的日志数据的综合分析,从而得到业务全流程的业务受理流程,以便在对业务服务过程中提供完整的业务受理流程信息链。

附图说明

图1为本发明一种实施例公开的基于数据流实现多系统业务串联方法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合附图对本发明做进一步的详细描述:

如图1所示,根据本发明提供的一种基于数据流实现多系统业务串联方法,包括:

针对业务全流程的各个系统采用统一的日志格式,且日志中设置有相应的接入标识和当前客户端附属信息;

在不同系统间的业务流转过程中,日志接入端将日志数据序列化并发送至日志接收端;

日志接收端接收日志数据,并将日志数据缓存至日志解析模块;

日志解析模块利用流数据处理程序对日志数据进行格式解析处理,并将解析后的日志数据存储至日志存储模块;

针对日志存储模块中的日志数据进行分析,得到业务全流程中各个系统的业务受理流程。

在该实施例中,通过多个系统或接口之间预先约定统一的日志格式,利用异步日志输出机制在各个系统的接口之间建立唯一标识机制,实现不同业务流程之间的关系建立,通过对所存储的日志数据的综合分析,从而得到业务全流程的业务受理流程,以便在对业务服务过程中提供完整的业务受理流程信息链。

具体地,通过梳理某个业务办理的全流程,在各个系统之间建立唯一标识机制,通过接口实现业务的串连。其中,利用接口入参的变动,通过新加入参实现统一业务办理不同流程之间的关系建立,从接口的发起方到落地方同时统一约定接口出入参变更,接口的原始入参规则遭到破坏,如果涉及多客户端接口调用,则需要各客户端发起改造。

例如:购买产品,从产品选择→用户是否有购买权限→购买落地,如果需要建立用户从产品选择到购买之间一套操作流程,现有办法主要从发起端产品选择接口、购买校验结构和落地接口同时增加同一个接触流水,客户端记录各个服务的和流水,从而实现查询功能。

该方法主要是各个系统或者接口之间约定好日志格式,利用日志接入端Log4j的异步日志输出机制,重写Log4j的Appender插件,通过Appender插件实现log4j与日志接收端flume的对接。log4j里默认的flume appender,缺少日志系统需要的接入标识,也无法获取客户端信息(JDK版本、MDC信息、IP地址、主机名、用户名…),而这些标志都需要用来复制日志系统作后续分析,因此在本方法在其基础上增加了相关的接入标识、以及客户端的附属信息。将日志数据进行avro序列化后发送到flume服务端,flume服务端接收日志,作为生产者写入日志解析模块kafka,利用实时流数据处理程序flink作为消费者从kafka获取日志数据,并做格式解析等处理,之后存储至日志存储模块ElasticSearch,并利用Elasticsearch能快速地储存、搜索和分析海量数据实现,快速从日志中获取业务受理的流程。

在上述实施例中,优选地,实现日志接入端log4j的appender插件重写,首先log4j把日志分为接入日志、系统日志和来源信息,日志接入端将不同类型的日志数据按照预设的统一日志格式生成,放入map容器中,并进行序列化转换形成json串,并根据日志接入端中的配置文件将json串发送至预配置的接收端地址,即对应的日志接收端flume。

在上述实施例中,优选地,日志接收端flume对端口进行监听,在接收到日志接入端发送来的日志数据时,将log4j自定义的appender封装的数据吐到指定端口,通过缓存机制将日志数据批量写入消息中间件,并作为生产者将日志数据写入日志解析模块;

flume作为接收端,支持基于其规范编写的插件,通过配置拦截插件,使得日志接收端在接收日志数据时,对超出指定大小的数据进行拦截,并进行单独分流保存,防止超大数据影响日志解析模块kafka或者营销业务运营分析。

在上述实施例中,优选地,Kafka消费flume队列中日志,把有效的日志分析入表。各个系统只需要引入重写的log4j和flume对接的jar报,日志接入端log4j通过配置文件中预配置的接收端地址信息实现对应的日志接收端flume的服务调用,并向日志接收端flume自动或主动发送日志数据。其中,优选地,日志接入端flume根据配置文件预配置日志接收端队列大小,在日志接收端队列满后选择丢弃当前日志数据或等待发送。

由于日志采用异步发送,所以即使报错也不会影响现有业务受理。记录Elasticsearch中的日志,按照约定的“统一流水”和“环节类型”来实现统一业务的统一,通过把约定好的日志直接发送给flume框架,flume框架收到日志后生成消息发送给kafka,kafka通过消费日志,最终把有效的日志提取出来放到Elasticsearch中。

本发明还提出一种基于数据流实现多系统业务串联系统,应用如上述实施例中任一项公开的基于数据流实现多系统业务串联方法,包括:

统一格式模块,用于针对业务全流程的各个系统设置统一的日志格式,且日志中设置有相应的接入标识和当前客户端附属信息;

日志接入端,用于在不同系统间的业务流转过程中将日志数据序列化并发送至日志接收端;

日志接收端,用于接收日志数据并将日志数据缓存至日志解析模块;

日志解析模块用于利用流数据处理程序对日志数据进行格式解析处理,并将解析后的日志数据存储至日志存储模块;

流程分析模块,用于针对日志存储模块中的日志数据进行分析,得到业务全流程中各个系统的业务受理流程。

在该实施例中,通过多个系统或接口之间预先约定统一的日志格式,利用异步日志输出机制在各个系统的接口之间建立唯一标识机制,实现不同业务流程之间的关系建立,通过对所存储的日志数据的综合分析,从而得到业务全流程的业务受理流程,以便在对业务服务过程中提供完整的业务受理流程信息链。

在上述实施例中,优选地,日志接入端用于按照预设的统一日志格式生成不同类型的日志数据,并将日志数据进行序列化转换形成json串,以及根据配置文件将json串发送至预配置的接收端地址。

在上述实施例中,优选地,日志接收端用于对端口进行监听,在接收到日志接入端发送来的日志数据时,通过缓存机制将日志数据批量写入消息中间件,并作为生产者将日志数据写入日志解析模块;

其中,日志接收端在接收日志数据时,对超出指定大小的数据进行拦截,并进行单独分流保存。

在上述实施例中,优选地,日志接入端通过配置文件中预配置的接收端地址信息实现对应的日志接收端的服务调用,并向日志接收端自动或主动发送日志数据。

在上述实施例中,优选地,日志接入端根据配置文件预配置日志接收端队列大小,在日志接收端队列满后选择丢弃当前日志数据或等待发送。

根据上述实施例中公开的基于数据流实现多系统业务串联系统,各模块所实现的功能与上述实施例中基于数据流实现多系统业务串联方法中各步骤相对应,在此不再赘述。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种多笔表格前端处理方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!