技术领域
[0001] 本申请涉及计算机技术领域,特别是涉及一种实时业务轨迹跟踪方法和实时业务轨迹处理方法。
相关背景技术
[0002] 随着互联网的飞速发展,特别是近年来随着社交网络、物联网、云计算以及多种传感器的广泛应用,以数量庞大,种类众多,时效性强为特征的非结构化数据不断涌现,数据的重要性愈发凸显,传统的数据存储、分析技术难以实时处理大量的非结构化信息,大数据的概念应运而生。越来越多的人通过应用大数据来订购、处理和显示业务消息,实现业务交易,如销售数据分析、市场营销信息分析、客户服务信息分析等。
[0003] 目前,在实现业务轨迹跟踪结果进行展示过程中,需要在业务轨迹分析的同时查看轨迹分析的结果,但是现有技术中存在如下问题:
[0004] 一般数据分析处理程序,在处理的过程中首先保存处理结果到数据库表,然后通过界面程序读取数据库表,最后将处理结果显示到用户界面上。由于从处理结果存入数据库表,再到处理结果显示到用户界面,所花费的时间很长,因此存在数据处理效率低的问题。
具体实施方式
[0053] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0054] 本申请提供的实时业务轨迹跟踪方法,可以应用于如图1所示的应用环境中。其中,客户端102通过网络与业务处理器104通过网络进行通信。客户端102获取业务交易信息,对业务交易信息添加业务轨迹标识,形成带标记的业务交易信息;客户端102将所述带标记的业务交易信息发送至业务处理器104;业务处理器104处理所述带标记的业务交易信息,获得带有所述业务轨迹标识的业务处理轨迹日志;客户端102接收带有所述业务轨迹标识的业务处理轨迹日志,并根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。其中,客户端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,业务处理器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0055] 在一个实施例中,如图2所示,提供了一种实时业务轨迹跟踪方法,以该方法应用于图1中的客户端为例进行说明,包括以下步骤:
[0056] 步骤S110,对业务交易信息添加业务轨迹标识,形成带标记的业务交易信息。
[0057] 其中,业务交易包括但不限于销售数据分析、市场营销信息分析、客户服务信息分析等。用户通过客户端输入业务交易信息,在步骤S110之前,还包括步骤:获取业务交易信息。所述业务轨迹标识可以为业务交易的编号,所述编号可以为数字、字母、符号组成,每个编号对应一个业务交易信息,当然所述编号也可以为其它文字信息,只要能够与其它业务交易进行区分即可。
[0058] 具体的,业务轨迹标识可添加到业务交易信息打包形成的文件头中。
[0059] 步骤S120,将所述带标记的业务交易信息发送至业务处理器。
[0060] 步骤S130,接收业务处理器返回的带有所述业务轨迹标识的业务处理轨迹日志,其中,所述业务处理轨迹日志通过所述业务处理器处理所述带标记的业务交易信息获得。
[0061] 其中,在业务交易信息处理过程中,会生成业务处理轨迹日志。其中,业务处理轨迹日志是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志,业务处理轨迹日志通过日志文件保存,通过读取业务处理轨迹日志,能够获知业务交易信息处理的过程和处理过程中得到的数据结果。
[0062] 步骤S140,根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。
[0063] 其中,时间轴存在时间先后变化的顺序,业务轨迹的显示是通过时间先后变化顺序来显示的。
[0064] 具体的,客户端读取所述业务处理轨迹日志,获取业务处理的结果,根据时间顺序在时间轴上依次显示业务处理的结果。
[0065] 上述实时业务轨迹跟踪方法中,通过在所述业务交易信息添加业务轨迹标识,能够对用户关注的业务交易信息进行实时跟踪,处理器能够根据所述业务轨迹标识将业务处理轨迹日志直接发送到目标用户,节约了在数据表中存储和过滤出所述业务处理轨迹日志的时间,提高了数据处理效率,使得业务处理结果能够实时显示。
[0066] 在其中一个实施例中,一种实时业务轨迹跟踪方法,还包括:将所述业务轨迹标识输入CometD服务模块;通过所述CometD服务模块订阅channel标题,其中,所述channel标题是所述CometD服务模块根据所述业务轨迹标识创建。
[0067] 其中,CometD服务模块是一个使用了Ajax推技术的可伸缩的基于HTTP的事件路由总线程序,这项技术也叫Comet服务模块。Comet是基于HTTP长链接、无须在浏览器端安装插件的“服务器推”技术,是一种新的Web应用架构。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。Comet架构非常适合事件驱动的Web应用,以及对交互性和实时性要求很强的应用,具有实时性好(消息延时小)、性能好(能支持大量用户)的优点。
[0068] 具体的,通过所述CometD服务模块订阅channel标题,即形成一个客户端与CometD服务模块之间的消息通道,通过CometD服务模块能够与多个客户端建立消息通道,能够同时将同一消息发送至多个客户端。由此,多个客户端同时跟踪关注同一笔业务轨迹,不重复过滤和获取数据,所述业务轨迹能够在多个客户端同时展现。
[0069] 在其中一个实施例中,在步骤S130中,接收业务处理器返回的带有所述业务轨迹标识的业务处理轨迹日志,其中,所述业务处理轨迹日志通过所述业务处理器处理所述带标记的业务交易信息获得,包括:接收根据所述channel标题传送的channel消息数据;对所述channel消息数据进行解析,获得带有所述业务轨迹标识的业务处理轨迹日志。
[0070] 其中,所述channel标题是根据所述业务轨迹标识创建,因此,根据所述channel标题发送的channel消息数据,都会带有所述业务轨迹标识。
[0071] 在一个实施例中,如图3所示,提供了一种实时业务轨迹处理方法,所述方法包括步骤:
[0072] 步骤S210,接收带标记的业务交易信息。
[0073] 步骤S220,对所述业务交易信息进行处理,得到带有所述业务轨迹标识的业务处理轨迹日志;其中,所述业务处理轨迹日志用于保存所述业务交易信息处理过程和处理结果。
[0074] 其中,在业务交易信息处理过程中,会生成业务处理轨迹日志。其中,业务处理轨迹日志是用于记录系统操作事件的记录文件或文件集合,可分为事件日志和消息日志,业务处理轨迹日志通过日志文件保存,通过读取业务处理轨迹日志,能够获知业务交易信息处理的过程和处理过程中得到的数据结果。
[0075] 在其中一个实施例中,一种实时业务轨迹处理方法,还包括:
[0076] 步骤S230,将所述业务处理轨迹日志发送至kafka/JMS日志服务模块。
[0077] 其中,Kafka是一个开源消息系统,由Scala语言编写,是由Apache软件基金会开发的一个开源消息系统项目,Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有生产者、消费者的功能,它提供了类似于JMS的特性,但是在设计实现上完全不同,它并不是JMS规范的实现。JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
[0078] 具体的,kafka/JMS日志服务模块可以同时接收多个业务处理模块发送的业务处理轨迹日志。
[0079] 步骤S240,所述kafka/JMS日志服务模块将所述业务处理轨迹日志发送至Agent采集处理程序,以使得所述Agent采集处理程序直接从kafka/JMS日志服务模块接收所述业务处理轨迹日志。
[0080] 其中,Agent采集处理程序通过Agent技术实现。本实施例通过kafka/JMS日志服务模块直接发送业务处理轨迹日志,而不经过数据表存储,节约了业务处理轨迹日志从业务处理器到客户端的时间。
[0081] 步骤S250,所述Agent采集处理程序解析所述业务处理轨迹日志,获取所述业务处理轨迹日志的业务轨迹标识。
[0082] 步骤S260,所述Agent采集处理程序向CometD服务模块查询是否存在所述业务轨迹标识,如果存在所述业务轨迹标识,则将所述业务处理轨迹日志转换成channel消息数据。
[0083] 步骤S270,所述Agent采集处理程序发送所述channel消息数据。
[0084] 其中,在所述步骤S260之后,还包括步骤:如果不存在所述业务轨迹标识,则放弃所述业务处理轨迹日志。在另一个实施方式中,在所述步骤S260之后,还包括步骤:如果不存在所述业务轨迹标识,将所述业务处理轨迹日志存储。
[0085] 关于本实施例中的各个步骤的具体限定,可以参见上述实施例中的说明,在此不再细述。
[0086] 在一个实施例中,如图4所示,提供了一种实时业务轨迹跟踪方法,包括步骤:
[0087] 步骤S310,客户端对业务交易信息添加业务轨迹标识,形成带标记的业务交易信息;
[0088] 步骤S320,所述客户端将所述带标记的业务交易信息发送至业务处理器;
[0089] 步骤S330,业务处理器对所述带标记的业务交易信息处理,得到带有所述业务轨迹标识的业务处理轨迹日志,并发送至客户端;
[0090] 步骤S340,客户端根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。
[0091] 其中,本实施例中关于实时业务轨迹跟踪方法各个步骤的具体限定,参见上述实施例的详细描述,在此不再赘述。
[0092] 应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0093] 在一个实施例中,如图5所示,提供了一种实时业务轨迹跟踪装置,包括:轨迹标识添加模块410、第一发送模块420、第一接收模块430和输出模块440,其中:
[0094] 轨迹标识添加模块410,用于对业务交易信息添加业务轨迹标识,形成带标记的业务交易信息;
[0095] 第一发送模块420,用于将所述带标记的业务交易信息发送至业务处理器;
[0096] 第一接收模块430,用于接收业务处理器返回的带有所述业务轨迹标识的业务处理轨迹日志,其中,所述业务处理轨迹日志通过所述业务处理器处理所述带标记的业务交易信息获得;
[0097] 输出模块440,用于根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。
[0098] 在其中一个实施例中,一种实时业务轨迹跟踪装置,还包括:业务交易信息获取模块,用于获取业务交易信息。
[0099] 在其中一个实施例中,一种实时业务轨迹跟踪装置,还包括:输入模块,用于将所述业务轨迹标识输入CometD服务模块;订阅模块,用于通过所述CometD服务模块订阅channel标题,其中,所述channel标题是所述CometD服务模块根据所述业务轨迹标识创建。
[0100] 具体的,通过所述CometD服务模块订阅channel标题,即形成一个客户端与CometD服务模块之间的消息通道,通过CometD服务模块能够与多个客户端建立消息通道,能够同时将同一消息发送至多个客户端。由此,多个客户端同时跟踪关注同一笔业务轨迹,不重复过滤和获取数据,所述业务轨迹能够在多个客户端同时展现。
[0101] 在其中一个实施例中,所述第一接收模块430包括:channel消息接收单元,用于接收根据所述channel标题传送的channel消息数据;channel消息解析单元,用于对所述channel消息数据进行解析,获得带有所述业务轨迹标识的业务处理轨迹日志。
[0102] 在一个实施例中,如图6所示,提供了一种实时业务轨迹处理装置,包括:第二接收模块510和业务处理模块520,其中:
[0103] 第二接收模块510,用于接收带标记的业务交易信息。
[0104] 业务处理模块520,用于对所述业务交易信息进行处理,得到带有所述业务轨迹标识的业务处理轨迹日志;其中,所述业务处理轨迹日志用于保存所述业务交易信息处理过程和处理结果。
[0105] 在其中一个实施例中,一种实时业务轨迹处理装置,还包括:
[0106] 第二发送模块,用于将所述业务处理轨迹日志发送至kafka/JMS日志服务模块。
[0107] 所述kafka/JMS日志服务模块,用于将所述业务处理轨迹日志发送至Agent采集处理程序。
[0108] 所述Agent采集处理程序,用于解析所述业务处理轨迹日志,获取所述业务处理轨迹日志的业务轨迹标识。
[0109] 其中,所述Agent采集处理程序向CometD服务模块查询是否存在所述业务轨迹标识,如果存在所述业务轨迹标识,则将所述业务处理轨迹日志转换成channel消息数据。所述Agent采集处理程序,还用于发送所述channel消息数据。
[0110] 在其中一个实施例中,所述Agent采集处理程序,用于如果不存在所述业务轨迹标识,则放弃所述业务处理轨迹日志。
[0111] 关于本实施例中的各个模块的具体限定,可以参见上述实施例中的说明,在此不再细述。
[0112] 关于实时业务轨迹跟踪装置的具体限定可以参见上文中对于实时业务轨迹跟踪方法的限定,在此不再赘述。上述实时业务轨迹跟踪装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0113] 在一个实施例中,提供了一种实时业务轨迹跟踪系统,所述系统包括:客户端及业务处理器,其中,所述客户端包括:业务办理模块,用于获取业务交易信息,并对所述业务交易信息添加业务轨迹标识;轨迹跟踪模块,用于将所述业务轨迹标识输入CometD服务模块;所述业务处理器包括:所述CometD服务模块,用于根据所述业务轨迹标识,创建channel标题;业务处理模块,用于对所述业务交易信息进行处理,形成业务处理轨迹日志,并将所述业务处理轨迹日志发送至客户端。
[0114] 在一个具体实施例中,如图7所示,提供了一种实时业务轨迹跟踪系统,所述系统包括:客户端及业务处理器,其中,所述客户端包括:业务办理模块和轨迹跟踪模块;所述业务处理器包括:CometD服务模块、业务处理模块、kafka/JMS日志服务模块和Agent采集处理程序。其中:
[0115] 业务办理模块,用于获取业务交易信息,并对所述业务交易信息添加业务轨迹标识。
[0116] 其中,业务办理模块为多个。如图7中所示,业务办理模块包括:业务办理模块1、业务办理模块2和业务办理模块3。
[0117] 轨迹跟踪模块,用于将所述业务轨迹标识输入CometD服务模块。
[0118] 其中,所述轨迹跟踪模块为多个,多个所述轨迹跟踪模块可以同时显示同一业务轨迹。其中,轨迹跟踪模块包括:轨迹跟踪模块1、轨迹跟踪模块2和轨迹跟踪模块3,所述轨迹跟踪模块1和所述业务办理模块1属于客户端1,所述轨迹跟踪模块2和所述业务办理模块2属于客户端2,所述轨迹跟踪模块3和所述业务办理模块3属于客户端3。具体的,客户端可为Web客户端,也可为应用程序客户端。
[0119] 所述CometD服务模块,用于根据所述业务轨迹标识,创建channel标题。
[0120] 所述轨迹跟踪模块,还用于订阅所述channel标题。
[0121] 具体的,通过所述CometD服务模块订阅channel标题,即形成一个客户端与CometD服务模块之间的消息通道,通过CometD服务模块能够与多个客户端建立消息通道,能够同时将同一消息发送至多个客户端。由此,多个客户端同时跟踪关注同一笔业务轨迹,不重复过滤和获取数据,所述业务轨迹能够在多个客户端同时展现。
[0122] 业务处理模块,用于对所述业务交易信息进行处理,形成业务处理轨迹日志,并将所述业务处理轨迹日志发送至kafka/JMS日志服务模块。
[0123] 具体的,kafka/JMS日志服务模块可以同时接收多个业务处理模块发送的业务处理轨迹日志,因此,不需要将业务处理轨迹日志存储到数据库表。
[0124] 所述kafka/JMS日志服务模块,用于将所述业务处理轨迹日志发送至Agent采集处理程序。
[0125] 所述Agent采集处理程序,用于解析所述业务处理轨迹日志,获取所述业务处理轨迹日志的业务轨迹标识。
[0126] 所述Agent采集处理程序,还用于向所述CometD服务模块查询是否存在所述业务轨迹标识,如果存在所述业务轨迹标识,则将所述业务处理轨迹日志转换成channel消息数据。
[0127] 另外,所述Agent采集处理程序,还用于如果不存在所述业务轨迹标识,则放弃所述业务处理轨迹日志。当然,所述Agent采集处理程序,还用于如果不存在所述业务轨迹标识,将所述业务处理轨迹日志存储。
[0128] 所述Agent采集处理程序,还用于根据所述channel标题发送所述channel消息数据。
[0129] 所述轨迹跟踪模块,还用于接收根据所述channel标题传送的channel消息数据。
[0130] 所述轨迹跟踪模块,还用于解析所述channel消息数据,获得所述业务处理轨迹日志。
[0131] 所述轨迹跟踪模块,还用于根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。
[0132] 通过本申请实施例中所述技术方案,业务轨迹不经过存储直接推送到客户端界面显示,消减了存取消息的耗时,多个客户端可同时接收关注的业务轨迹,消减了过滤耗时。通过实验证明,从业务交易信息的输入到业务轨迹到客户端界面显示,时间间隔小于200毫秒,满足实时跟踪业务轨迹的需求。
[0133] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种实时业务轨迹跟踪方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0134] 本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0135] 在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0136] 对业务交易信息添加业务轨迹标识,形成带标记的业务交易信息;
[0137] 将所述带标记的业务交易信息发送至业务处理器;
[0138] 接收业务处理器返回的带有所述业务轨迹标识的业务处理轨迹日志,其中,所述业务处理轨迹日志通过所述业务处理器处理所述带标记的业务交易信息获得;
[0139] 根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。
[0140] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取业务交易信息。
[0141] 在一个实施例中,处理器执行计算机程序时还实现以下步骤:将所述业务轨迹标识输入CometD服务模块;通过所述CometD服务模块订阅channel标题,其中,所述channel标题是所述CometD服务模块根据所述业务轨迹标识创建。
[0142] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0143] 对业务交易信息添加业务轨迹标识,形成带标记的业务交易信息;
[0144] 将所述带标记的业务交易信息发送至业务处理器;
[0145] 接收业务处理器返回的带有所述业务轨迹标识的业务处理轨迹日志,其中,所述业务处理轨迹日志通过所述业务处理器处理所述带标记的业务交易信息获得;
[0146] 根据所述业务处理轨迹日志,以时间轴为序列依次输出业务轨迹。
[0147] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取业务交易信息。
[0148] 在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将所述业务轨迹标识输入CometD服务模块;通过所述CometD服务模块订阅channel标题,其中,所述channel标题是所述CometD服务模块根据所述业务轨迹标识创建。
[0149] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0150] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0151] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。