e-works数字化企业网  »  文章频道  »  管理信息化  »  CRM

CRM系统全景式信息获取与调用链分析研究

2021/6/20    来源:互联网    作者:樊炼  曾磊      
关键字:客户感知  CRM  信息获取  调用链  
全景式信息获取与调用链分析平台在开源的框架与技术基础上自主研发,实现了对前端和后端的调用关系链信息进行统一的全景式采集与分析,为运维人员和业务决策人员提供了业务调用链与用户行为分析能力。
1 概述

       随着信息科技与大数据技术的进步与发展,CRM系统越来越复杂,系统之间的联系越来越紧密。业务平台每天都会产生大量的数据,如何从这些平台上提取出有用的信息,并将这些信息集中地进行关联分析,对调用链进行跟踪,更为细化地对企业各个IT系统之间的关系进行梳理与跟踪是一个非常有意义的课题。

       基于此,公司建立了基于字节码和文本分析技术的异构大数据采集分析平台,实现了对系统内部及跨业务系统的调用链跟踪与分析,并提供图形化的分析界面,在复杂的业务系统上实现了较先进的关系链调用跟踪与用户行为分析能力。

       本文基于以上需求提出了使用字节码及异构数据统一采集,对非结构化与半结构化数据进行统一高性能分析平台,实现从客户端到服务端全景式的数据跟踪与调用链关联分析,细致定位系统使用过程的各种调用,提高运维工作的针对性,提高运维效率,提升客户体验。

       平台通过在中间件与APP中进行埋点,将埋点采集到的信息写入日志,通过agent采集日志数据,对采集到的数据进行结构化后,通过分析集群对业务各个环节的调用信息进行梳理,分析出调用关系链,最终实现对业务的全面监测。埋点主要记录一些跨中心跨模块的调用,最主要的有三个:远程服务、数据库以及缓存。

2 CRM系统全景式信息获取与调用链分析

       2.1 埋点信息采集

       信息获取与调用链分析平台的主要埋点技术包括:ASM、dex和processClass方法、Instrumentation和VirtualMachine、ProcessBuilder、ClassLoader和InvocationHandler等,比如ASM字节码操作工具改造class,支持JVM、字节码、操作数栈等相关技术,同时,它还提供了一个eclipse插件Bytecode Out line plugin,用来查看字节码。

信息获取与调用链分析平台的技术架构

图1 信息获取与调用链分析平台的技术架构

       总的来说实现方法有三种模式:一是方替换,二是增加,三是重写,相关描述如下:

       (1)替换:假设需要获取网络性能,将每个调用HttpURLConn ection相关方法的代码替换掉,改成调用自己方法。如果被替换方法不是静态的,这要求目标方法的首个参数必须是HttpURLConnection实例,后面的参数与原方法一致。这个顺序是jvm操作数栈决定的。如果被替换方法是构造方法,则要求目标方法的返回值是原方法对应的实例。

       (2)增加:在调用某个方法的前面或后面加上我们的代码即可。

       (3)重写:不是Override。对于Activity或者AsyncTask这类其方法是由系统回调的,维护人员无法通过以上两种方式来改造,只能在进入方法后或退出方法前加入企业自己的代码。如ASM的onMethodEnter和onMethodExit方法,即可实现此类需求。

       另外一般加入日志来跟踪,而且要有写入文件的日志,执行到dx.bat后,输出到控制台的日志是看不到的。为了方便在

       控制台日志和文件日志之间切换,可以通过java-D参数来设置System的properties,然后在agent中通过System.getProperties来获取。具体到Android Studio,可以修改gradlew(gradlew.bat),在”set DEFAULT_JVM_OPTS=“一行后面加上”-Dxxx=xxx”,然后通过gradlew clean或者gradlew build来进行编译。除此之外,还可以在gradlew后面加入–stacktrace等其他的参数来跟踪编译执行的异常堆栈或调试信息。

       在消息ID方面,为了实现跨模块和中心对消息调用进行关联和跟踪,每个消息都需要有一个唯一的ID,这个ID在客户端生成,后续都通过这个ID进行消息内容的查找。这是典型的RPC消息串起来的问题,比如A调用B的时候,在A这端生成一个Message-ID,在A调用B的过程中,将MessageID作为调用传递到B端,在B执行过程中,B用context传递的Message-ID作为当前监控消息的Message-ID。

       在数据传输方面,对后端信息采集主要基于flume的日志采集技术,通过对flume技术进行封闭集成、优化和修改,开发了采集客户端agent,agent的主要工作是根据用户自定义的正则表达式,对日志数据进行采集匹配,其涉及到两大核心技术:缓存机制;自检机制。

       在消息机制方面,采用Kafka消息机制。Kafka是一个统一的信息收集平台,实时的收集反馈信息,并支撑较大的数据量,且具备良好的容错能力。日志分析平台采集客户端整合使用了kafka技术,实现了日志数据高吞吐量的分布式发布订阅消息系统,实现了日志数据采集的优越性能。对于存量的日志数据或离线分析系统,但又要求实时处理的限制,flume技术整合kafka消息缓存机制,是可行的解决方案。

       2.2 分析能力

       系统丰富的自定义报表功能,可以根据不同的分析场景,如:新增用户趋势分析、留存用户趋势分析、事件分析、漏斗转化率分析、用户群分析等使用不同的报表进行多维度的数据呈现,如:饼状图、柱状图、折线图、表格等。还可以对这些报表进行文件的导出操作,支持PDF、Excel、Word等文件格式。

       系统同时提供了多样化的查询功能,用户可以自行选择查询时间,如按日、周、月等条件进行查询,也可以指定事件进行查询。查询结果可以自定义报表样式,如折线图、表格等,进行多维度的数据呈现。

       (1)调用链多维度分析能力

       系统提供了丰富的用户行为监控分析能力,具有多功能监控分析能力,支持对系统日志中的数据按照不同平台、不同渠道及多维度进行分析,对用户的消费行为趋势进行分析等,多维度综合分析体现在:支持多平台的行为监控与分析,如浏览器、Android、iOS;能对不同的用户来源进行区分,如搜索引擎、搜索关键词、应用商店等;可以自定义时间来查询用户的访问趋势,如新增用户、活跃用户等;能跟踪用户的行为路径;能对用户的消费行为趋势进行分析,筛选出目标用户;能根据用户的消费行为建立不同的用户群,并且可以进行多个用户群的行为对比等等。

       (2)访问趋势分析

       系统的访问趋势的分析可快速地查看近7天的新增用户、活跃用户、浏览量、页面跳出率、人均会话次数、每次会话访问页面数、平均会话时长、浏览器Top5、城市分布Top10的趋势图。

       (3)访客来源分析

       系统访客来源分析可以对用户的来源进行多维度的划分,其中包含了搜索引擎、搜索关键字、网站广告、推介网站、直接进入。

       (4)模块与热点分析

       系统支持模块与热点分析可以根据用户点击区域的密度来绘制页面的热区,形象生动地反映出页面各个区域对用户的吸引力。

       (5)访客关键偏好分析

       系统支持访客关键偏好分析提供了粘性这一功能来帮助你分析出用户对网站上的哪个功能更加偏好,即哪个功能更具粘性。

       (6)调用路径分析

       系统支持访客访问路径分析,可以看到用户所经过的最常见的那些路径。可以选择任意一个事件作为起点,分析这个事件的后续行为或来源行为。能让你从全局的视角来了解用户进入网站后,后续分别都做了什么,去探索用户是如何一步步离开的。

       (7)产品与业务分析

       系统支持产品与业务分析功能,可以以用户行为为单位,创建含有多个步骤的漏斗,去计算目标事件的转化率,分析出所有环节的用户流失情况,定位流失原因。

       2.3 研究创新点

       平台结合使用字节码和日志采集技术,将app和服务端的信息统一进行采集。并通过分布式的存储层,提供高性能的信息检索与关联计算性能。使用zookeeper协调器,实现对所有节点的统一监控和协调能力,有效对节点进行管理,对agent在flume的基础上进行了改造,配合kafka实现了缓存机制,确保数据在传输过程中无丢失。同时对agent在fulme的基础上增加了自检机制,实现了对系统性能的自适应式信息发送,在确保在不影响系统性能的基础上尽量实时地发送数据。在复杂的业务系统上实现了较先进的关系链调用跟踪与用户行为分析能力,保证采集的数据快速准确地反映。

3 结语

       全景式信息获取与调用链分析平台在开源的框架与技术基础上自主研发,实现了对前端和后端的调用关系链信息进行统一的全景式采集与分析,为运维人员和业务决策人员提供了业务调用链与用户行为分析能力。本课题的研究,建立了基于字节码与大数据分析技术的全景式信息获取与调用链分析平台,针对客户端和服务端进行信息采集与统一存储分析,使用多种技术对调用链信息进行全面采集与关联分析。并支持多种图形化的报表分析与展示能力。全景式信息获取与调用链分析平台实施以来,逐步接入多套应用系统进行采集,数据延时较小、全业务链数据无缺失采集,形成全链路信息管理分析能力,为系统的稳定运行、高效的故障分析处理提供了强有力的保障,并为业务决策提供了有效的用户行为分析能力。
 
责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并已尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐