一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务路径分析方法、装置及计算设备与流程

2021-11-09 22:10:00 来源:中国专利 TAG:


1.本发明实施例涉及业务支撑技术领域,具体涉及一种业务路径分析方法、装置及计算设备。


背景技术:

2.在it基础设施中,基于微服务架构的系统越来越受欢迎,在这种架构中,但凡与业务相关的功能都会由多于一个的应用组成,随着业务场景的不断丰富和业务量的爆发式增长,其给系统及应用维护以及业务管理掌控上带来了巨大的挑战。业务路径是指用户前台业务办理全路径下各个环节的关系视图。基于业务路径,用户可以一目了然的洞悉业务当前的运行状况和健康状态。
3.目前的业务路径一般通过人工梳理,当业务路径变化时,需要人工重新梳理,效率较低。


技术实现要素:

4.鉴于上述问题,本发明实施例提供了一种业务路径分析方法、装置及计算设备,能够自动进行业务路径分析,提高了效率。
5.根据本发明实施例的第一方面,提供了一种业务路径分析方法,包括:获取预设时间内的流量数据;基于用户号码信息对所述流量数据进行划分,以获取若干业务路径点集;通过基于密度的聚类算法对所述业务路径点集进行聚类,以使业务路径相同的所述业务路径点集形成业务路径簇;在若干所述业务路径簇中确定业务起点和业务终点相同的业务路径簇;根据迪克斯特拉算法,在所述业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径。
6.在一种可选的方式中,所述业务路径点集包括若干业务点;所述通过基于密度的聚类算法对所述业务路径点集进行聚类,以使业务路径相同的所述业务路径点集形成一业务路径簇,具体包括:获取所述业务路径点集中的业务点的访问时间;在所述业务路径点集中,将所述访问时间的中位数所对应的业务点确定为所述业务路径点集的中位业务点;计算全部所述业务路径点集的所述中位业务点与所述业务路径点集中除所述中位业务点以外的其他所述业务点之间的时间差;根据所述时间差,确定所述基于密度的聚类算法的扫描半径和最小包含点数;根据所述扫描半径和所述最小包含点数,通过所述基于密度的聚类算法对全部所述业务路径点集进行扫描,以得到若干所述业务路径簇。
7.在一种可选的方式中,所述根据所述时间差,确定所述基于密度的聚类算法的扫描半径和最小包含点数,具体包括:按照从小到大对所述时间差进行排序,并对所述排序后的时间差绘制时间差曲线;根据所述时间差曲线,将时间差急剧变化的位置所对应的时间差确定为所述扫描半径;根据所述扫描半径,确定所述业务路径点集的每个业务点的扫描半径邻域内的业务点的数量;对全部所述业务路径点集的每个业务点的扫描半径邻域内的业务点的数量求数学期望,以得到所述最小包含点数。
8.在一种可选的方式中,所述根据所述扫描半径和所述最小包含点数,通过所述基于密度的聚类算法对全部所述业务路径点集进行扫描,以得到若干所述业务路径簇,具体包括:获取与所述业务路径点集中一个未访问的出发业务点的距离在所述扫描半径内的附近业务点;若所述附近业务点的数量大于或者等于所述最小包含点数,则使所述出发业务点与所述附近业务点形成所述业务路径簇,并将所述出发业务点标记为已访问;遍历所述业务路径簇内的所有未访问的业务点,以扩展所述业务路径簇;对全部所述业务路径点集中的所有业务点进行扫描,以得到若干所述业务路径簇。
9.在一种可选的方式中,所述根据所述扫描半径和所述最小包含点数,通过所述基于密度的聚类算法对全部所述业务路径点集进行扫描,以得到若干所述业务路径簇,具体还包括:将全部所述业务路径点集中不属于所述业务路径簇中的业务点确定为噪声点,并去除所述噪声点。
10.在一种可选的方式中,所述在若干所述业务路径簇中确定业务起点和业务终点相同的业务路径簇,具体包括:获取所述流量数据对应的配置数据,所述配置数据包括业务点名称;根据所述业务点名称,将所述业务起点的业务点名称相同且所述业务终点的业务点名称相同的业务路径簇确定为所述业务起点和业务终点相同的业务路径簇。
11.在一种可选的方式中,所述根据迪克斯特拉算法,在所述业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径,具体包括:根据所述业务起点和业务终点相同的业务路径簇中的业务点的出现次数的倒数,确定业务点距离;根据所述业务点距离,通过所述迪克斯特拉算法在所述业务起点和业务终点相同的业务路径簇中确定业务路径距离最短的业务路径;将所述业务路径距离最短的业务路径确定为所述业务主路径,将所述业务起点和业务终点相同的业务路径簇中除了所述业务路径距离最短的业务路径外的其他业务路径确定为所述业务分路径。
12.根据本发明实施例的第二方面,提供了一种业务路径分析装置,包括:数据获取模块,用于获取预设时间内的流量数据;预处理模块,用于基于用户号码信息对所述流量数据进行划分,以获取若干业务路径点集;聚类模块,用于通过基于密度的聚类算法对所述业务路径点集进行聚类,以使业务路径相同的所述业务路径点集形成业务路径簇;确定模块,用于在若干所述业务路径簇中确定业务起点和业务终点相同的业务路径簇;路径计算模块,用于根据迪克斯特拉算法,在所述业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径。
13.根据本发明实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的业务路径分析方法的操作。
14.根据本发明实施例的第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算设备上运行时,使得计算设备执行执行上述的业务路径分析方法。
15.本发明实施例通过获取预设时间内的流量数据,基于用户号码信息对流量数据进行划分,以获取若干业务路径点集,通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同的业务路径点集形成业务路径簇,在若干业务路径簇中确定业务起点和业
务终点相同的业务路径簇,根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径,能够自动进行业务路径分析,无需事先知道业务划分数量,便可发现任意不同形态的业务路径组合,减少了人工确认的过程,极大提高了业务路径合成的效率,并能够有效提高业务路径全过程各环节的准确性。
16.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
17.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
18.图1示出了本发明实施例提供的业务路径分析方法的流程示意图;
19.图2示出了图1中的步骤130的流程示意图;
20.图3示出了本发明实施例提供的业务路径簇的示意图;
21.图4a示出了本发明实施例提供的业务起点和业务终点相同的业务路径簇的整合结构示意图;
22.图4b示出了本发明实施例提供的图4中的业务点距离信息存储示意图;
23.图5示出了本发明实施例提供的业务路径分析方法的应用流程示意图;
24.图6示出了本发明实施例提供的业务主路径的示意图;
25.图7示出了本发明实施例提供的业务路径分析装置的结构示意图;
26.图8示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
27.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
28.本发明人对现有技术进行分析后发现,目前的业务路径一般通过人工梳理,通常运维人员想要知道业务办理完成路径,需要在项目建设初期时对业务端到端流程进行整理,通过线下各类文档形式交接给运维人员,当业务路径变化时,需要依靠开发和运维人员通过查看代码等手段进行更新。随着业务系统集群不断扩大,并且敏捷开发等模式带来的应用快速迭代,导致应用代码变动变得极其频繁,不管是业务配置数据还是业务路径形态都在急速变化,依靠人力重新梳理,效率较低、不及时且无法保证结果准确性,无法适用于绝大多数企业的it发展现状。
29.若在项目开发阶段通过探针预埋的方式实现业务各个环节日志数据的采集,并通过采集数据的sdk自动完成业务路径代码的注入工作,虽然通过应用探针可以较好的获取系统间各环节关键业务指标,但探针植入涉及对核心系统进行代码改造,工作量大,风险不可控。
30.若在代码开发阶段将业务路径所需要信息提前在代码中实现,在接入生产后,用户的每一步操作都会带上特定的链路id,并且包含用户号码、时间、操作等各类信息数据,
最后通过分析计算实现业务路径的发现。这种方式需要开发从一开始就对项目整理规划做好设计,但是企业现状往往已经经历之前多个版本的迭代,新做的系统架构可以支持代码预埋方式,但是仍存在大量存量系统无法支持。如果要改造存量系统成本非常大,且极具风险。如果不能有效整合存量系统就算生成的业务路径也只局部信息,无法输出完整的业务路径。
31.基于此,本发明实施例提供了一种业务路径分析方法、装置及计算设备,能够自动进行业务路径分析,提高了效率。
32.具体地,下面结合附图,对本发明实施例作进一步阐述。
33.其中,应当理解的是,本发明提供的下述实施例之间,只要不冲突,均可相互结合以形成新的实施方式。
34.图1示出了本发明实施例提供的业务路径分析方法的流程示意图。该方法可以应用于计算设备,例如可以在基站执行。如图1所示,该方法包括:
35.步骤110、获取预设时间内的流量数据。
36.其中,流量数据是指浏览页面所产生的各类操作记录数据,包含账号、终端ip地址、url(uniform resource locator,统一资源定位符)请求地址、访问时间、访问参数等等。预设时间可以根据需求自由设置,例如,预设时间为一天。
37.在本实施例中,获取预设时间内的流量数据,具体可以为:从kafka中读取预设时间内的流量数据,将流量数据以gzip的方式进行压缩生成若干个数据文件,然后通过文件入库程序将若干个数据文件存储到mysql(关系型数据库管理系统)中,以便于数据的离线处理。其中,kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。其中,当客户端第一次请求session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个session的id,用来标识该session对象。
38.步骤120、基于用户号码信息对流量数据进行划分,以获取若干业务路径点集。
39.在营业厅中,一个营业员通常有固定的与其对应的工号,一个营业员一般通过一台设备为用户办理一项或多项完整的业务,从而形成一条或多条业务路径,该营业员在该台电脑会为若干用户办理若干项业务,从而形成若干条业务路径。在步骤120之前,该方法还包括:根据accout(账户id)、client_ip(终端ip)、session id等信息对mysql中的流量数据进行划分,以得到预设时间内一个工号在一台设备上的操作记录数据。
40.其中,由于业务一般针对号码办理,用户号码信息是指需要办理业务的号码信息。用户在营业厅针对某个号码办理业务时,需要输入号码信息,则能够基于流量数据中的参数信息、url请求信息等获取到用户号码信息。
41.其中,由于流量数据被划分为预设时间内一个工号在一台设备上的操作记录数据,基于用户号码信息对流量数据进行划分,以获取若干业务路径点集,具体可以为:将流量数据中用户号码信息相同的业务点划分为一个业务路径点集,从而将流量数据划分为若干个业务路径点集。业务路径包括若干业务点,业务路径点集是若干业务路径的业务点的集合,因此业务路径点集包括若干业务点。一个用户一天一般办理一项业务或者几项不同的业务,则一个业务路径点集中包含某个用户的一条业务路径的业务点或者几条业务路径的业务点。
42.步骤130、通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同
的业务路径点集形成业务路径簇。
43.其中,基于密度的聚类算法可以为dbscan(density-based spatial clustering of applications with noise,具有噪声的基于密度的聚类方法)算法或者改进的dbscan算法。dbscan算法利用基于密度的聚类的概念,即要求聚类空间中的一定区域内所包含对象(点或其他空间对象)的数目不小于某一给定阈值。dbscan算法的显著优点是聚类速度快且能够有效处理噪声点和发现任意形状的空间聚类。
44.具体地,如图2所示,步骤130可以包括:
45.步骤131、获取业务路径点集中的业务点的访问时间。
46.其中,由于用户行为有着明显的时间序列特征,在一条业务路径中,访问不同业务点的时间是不同的。获取业务路径点集中的业务点的访问时间,具体可以为:根据流量数据中的时间信息(如timestamp),获取若干业务路径点集中的各个业务点的访问时间。
47.步骤132、在业务路径点集中,将访问时间的中位数所对应的业务点确定为业务路径点集的中位业务点。
48.其中,可以先对业务路径点集中各个业务点的访问时间进行排序,然后确定访问时间的中位数。访问时间的中位数所对应的业务点是指在访问时间的中位数时访问的业务点。例如,假设某个包括n(n为正整数)个业务点的业务路径点集排序后为d1={p(1),p(2),

,p(i-1),p(i),p(i 1),

p(n)},其中,当n为奇数时,i=(n 1)/2,当n为偶数时,i=n/2或n/2 1,则确定p(i)为d1的访问时间的中位数,在p(i)时访问的业务点为d1的中位业务点。根据以上方法,确定全部业务路径点集的中位业务点。
49.步骤133、计算全部业务路径点集的中位业务点与业务路径点集中除中位业务点以外的其他业务点之间的时间差。
50.其中,将业务路径点集中除中位业务点以外的其他业务点记为该业务路径点的子集,则将该业务路径点的中位业务点的访问时间减去子集中各个业务点的访问时间,得到中位业务点与子集中所有点的时间差,并根据该方法计算全部业务路径点集的中位业务点与业务路径点集中除中位业务点以外的其他业务点之间的时间差。例如,假设一共有d1、d2、d3三个业务路径点集,在业务路径点集d1={p(1),p(2),

,p(i-1),p(i),p(i 1),

p(n)}中,中位业务点的访问时间为p(i),则d1的子集为s1={p(1),p(2),

,p(i-1),p(i 1),

p(n)},计算p(i)到s1中所有元素的时间差,从而得到业务路径点集d1的中位业务点与业务路径点集d1中除中位业务点以外的其他业务点之间的时间差,并根据上述方法计算d2、d3中的时间差。
51.步骤134、根据时间差,确定基于密度的聚类算法的扫描半径和最小包含点数。
52.其中,在计算得到时间差后,将时间差作为基于密度的聚类算法中的距离,确定基于密度的聚类算法的扫描半径和最小包含点数。
53.具体地,步骤134可以包括:
54.步骤1341、按照从小到大对时间差进行排序,并对排序后的时间差绘制时间差曲线。
55.其中,对时间差进行排序是指对全部业务路径点集中的时间差进行排序,对排序后的时间差绘制曲线是指对全部业务路径点集中的时间差进行排序后绘制曲线。例如,假设一共有d1、d2、d3三个业务路径点集,在业务路径点集d1中,排序后的时间差的集合为t1
={d(1),d(2),

,d(k-1),d(k),d(k 1),

,d(m)},m为正整数,其中,d(k)为k-距离,即中位业务点的访问时间到其他业务点的访问时间的时间差第k近的时间差,对d2、d3计算时间差后,得到d2、d3的k-距离,将所有点的k-距离的集合记为e={e(1),e(2),

,e(z)},z为正整数,按照从小到大对集合e进行排序得到e’,则绘制一条排序后的e’集合中k-距离的变化曲线,即时间差曲线。
56.步骤1342、根据时间差曲线,将时间差急剧变化的位置所对应的时间差确定为扫描半径。
57.在绘制时间差曲线后,可以根据时间差曲线,确定时间差急剧变化的位置,然后将时间差急剧变化的位置所对应的时间差确定为扫描半径eps。例如,假设在时间差为10分钟时,时间差曲线发生急剧变化,则将10分钟确定为扫描半径eps。
58.步骤1343、根据扫描半径,确定业务路径点集的每个业务点的扫描半径邻域内的业务点的数量。
59.其中,业务点的扫描半径邻域是指某一业务点和与某一业务点的时间差等于扫描半径的其他业务点构成的集合。例如,假设某一业务点为a,则(a-eps,a eps)为a的eps邻域。
60.在本实施例中,在确定扫描半径eps后,计算每个业务路径点集中的每个业务点的扫描半径邻域内的业务点的数量。
61.步骤1344、对全部业务路径点集的每个业务点的扫描半径邻域内的业务点的数量求数学期望,以得到最小包含点数。
62.其中,可以根据以下公式计算最小包含点数minpts:
[0063][0064]
其中,p
j
为业务路径点集中的业务点,q为全部业务路径点集中业务点的总数量。
[0065]
其中,得到的minpts的大小,实际上也是k-距离中k的值,如dbscan算法取k=4,则minpts=4。
[0066]
在一些实施例中,当不满意确定的eps和minpts时,可以适当调整eps和minpts的值,经过多次迭代计算对比,选择最合适的参数值。
[0067]
步骤135、根据扫描半径和最小包含点数,通过基于密度的聚类算法对全部业务路径点集进行扫描,以得到若干业务路径簇。
[0068]
具体地,步骤135可以包括:
[0069]
步骤1351、获取与业务路径点集中一个未访问的出发业务点的距离在扫描半径内的附近业务点。
[0070]
其中,未访问的出发业务点是指没有被标记为已访问的业务点,可以为业务路径点集中的任意业务点。从一个未访问的出发业务点开始,获取与该出发业务点的距离在eps内的附近业务点。
[0071]
步骤1352、若附近业务点的数量大于或者等于最小包含点数,则使出发业务点与附近业务点形成业务路径簇,并将出发业务点标记为已访问。
[0072]
其中,若出发业务点的附近业务点的总数量大于或者等于minpts,则使出发业务点与附近业务点形成业务路径簇,并将出发业务点标记为已访问。若出发业务点的附近业
务点的总数量小于minpts,则将该出发业务点暂时标记为噪声点。
[0073]
步骤1353、遍历业务路径簇内的所有未访问的业务点,以扩展业务路径簇。
[0074]
使用步骤1352中的方法对形成的业务路径簇内的所有未访问的业务点进行处理,从而对该业务路径簇进行扩展。例如,假设minpts=4,出发业务点为a0,与a0的距离在eps内的附近业务点有a1、a2、a3、a4,则a0、a1、a2、a3、a4形成业务路径簇,将a0标记为已访问,并获取与a1的距离在eps内的附近业务点,若获取与a1的距离在eps内的附近业务点有a5、a6、a7、a8,则将a1标记为已访问,并继续获取a2、a3、a4、a5、a6、a7、a8的附近业务点,直至所有的业务点都被标记为已访问。
[0075]
步骤1354、对全部业务路径点集中的所有业务点进行扫描,以得到若干业务路径簇。
[0076]
其中,业务路径簇包括业务路径相同的业务路径点,例如,用户1、2、3的业务路径相同,则用户1、2、3的业务路径中的业务路径点形成一业务路径簇。业务路径相同是指该路径经过的业务点相同且经过业务点的顺序也相同。例如,某一业务路径为a0

a1

a2

a3,若另一业务路径也为a0

a1

a2

a3,则这两个业务路径相同,若另一业务路径为a0

a1

a4

a3,则这两个业务路径不相同。
[0077]
对全部业务路径点集中的所有业务点进行扫描后,能够得到若干个业务路径簇。例如,如图3所示,业务路径点集被分为三个业务路径簇,其中,三个业务路径簇分别包括业务路径a、业务路径b和业务路径c。
[0078]
步骤1355、将全部业务路径点集中不属于业务路径簇中的业务点确定为噪声点,并去除噪声点。
[0079]
其中,被暂时标记为噪声点业务点,若不属于任何业务路径簇,则确定为噪声点。例如,如图3所示,每一簇中较大的点代表核心对象,较小的点代表边界点(与簇内其他点密度相连但自身不是核心对象的点),黑色的点代表噪声点,每个簇对应的就是划分后的业务路径。
[0080]
步骤140、在若干业务路径簇中确定业务起点和业务终点相同的业务路径簇。
[0081]
其中,业务起点和业务终点相同的业务路径簇只要业务起点和业务终点相同即可,中间经过的业务点可以不同。例如,某个业务路径簇的业务路径为a0

a1

a2

a3,另一业务路径簇的业务路径为a0

a1

a4

a3,则这两个业务路径簇为业务起点和业务终点相同的业务路径簇。
[0082]
具体地,步骤140可以包括:
[0083]
步骤141、获取流量数据对应的配置数据,配置数据包括业务点名称。
[0084]
其中,流量数据对应的配置数据是指与流量数据有关的配置数据,配置数据是指菜单对应的中文定义、服务节点对应描述信息等,主要用以定义业务路径点,以增加对于业务路径可读性。配置数据可以包括业务点名称。
[0085]
步骤142、根据业务点名称,将业务起点的业务点名称相同且业务终点的业务点名称相同的业务路径簇确定为业务起点和业务终点相同的业务路径簇。
[0086]
其中,可以通过提取数据中的页面及服务元素,基于抽取的业务配置信息进行匹配,将菜单页面的编码以及服务元素编码翻译为中文名称,从而确定业务路径簇中的业务路径的各个业务点的业务点名称,并将业务起点的业务点名称相同且业务终点的业务点名
称相同的业务路径簇确定为业务起点和业务终点相同的业务路径簇。
[0087]
步骤150、根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径。
[0088]
在本实施例中,将业务起点和业务终点相同的业务路径簇中出现次数最多的路径认为是业务主路径,而其他路径认为是业务分路径。迪克斯特拉(dijkstra)算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。dijkstra算法主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。在本实施例中,将业务点作为顶点,将业务点出现次数的倒数作为路径,以确定最短路径,从而求得业务主路径。
[0089]
具体地,步骤150包括:
[0090]
步骤151、根据业务起点和业务终点相同的业务路径簇中的业务点的出现次数的倒数,确定业务点距离。
[0091]
其中,在业务起点和业务终点相同的业务路径簇中获取业务点名称,根据业务点名称将各业务路径整合在一起,并将业务点的出现次数的倒数表示为业务点距离。业务点距离是指两个业务点之间的距离。例如,如图4a所示,将业务起点为a1、业务终点为a6的业务路径簇用图4表示,a2、a3、a4、a5为业务路径中经过的业务点,经过a2的次数为1次,则将a1和a2之间的距离表示为1,经过a3的次数为12次,则将a1和a3之间的距离表示为1/12,以此类推,根据业务点出现次数的倒数确定各个业务点之间的距离。
[0092]
步骤152、根据业务点距离,通过迪克斯特拉算法在业务起点和业务终点相同的业务路径簇中确定业务路径距离最短的业务路径。
[0093]
其中,业务路径距离最短的业务路径是指业务点距离相加最小的业务路径,实际上为业务点出现次数最多的路径。通过迪克斯特拉算法在业务起点和业务终点相同的业务路径簇中确定业务路径距离最短的业务路径,具体可以为:(1)将业务起点看成一个集合s,s∈s,将业务起点和业务终点相同的业务路径簇的其他业务点看成另一个集合u,u∈u,u中的距离为业务起点到其他业务点的距离,若s和u相邻,则u的距离为(s,u)的边缘权重,若s与u不相邻,则u的距离为无穷;(2)更新s和u,从u中选出距离值最小的业务点k,并将业务点k添加至s,从u中移除k;(3)更新u中业务点到业务起点s的距离,由于s中添加了k,利用k进一步更新s到其他业务点的距离,存在(s,u)>(s,k) (k,u)的可能性;(4)反复迭代:重复(2)和(3),直至遍历完所有业务点。
[0094]
例如,如图4b所示,可以用一个数据结构存储图4a的信息,用一维数组来存储业务起点a1到其他各个业务点的初始路程,a1最近的点为a3,a3确定,a3最近的点为a5,a5确定,a5最近的点为a4,a4确定,a4最近的点为a6,a6确定,则最短路径为a1

a3

a5

a4

a6。
[0095]
步骤153、将业务路径距离最短的业务路径确定为业务主路径,将业务起点和业务终点相同的业务路径簇中除了业务路径距离最短的业务路径外的其他业务路径确定为业务分路径。
[0096]
例如,如图4a所示,将a1

a3

a5

a4

a6确定为业务主路径,将a1

a2

a3

a4

a6、a1

a2

a3

a5

a4

a6、a1

a2

a3

a5

a6、a1

a2

a4

a6、a1

a3

a4

a6、a1

a3

a5

a6确定为业务分路径。
[0097]
本发明实施例通过获取预设时间内的流量数据,基于用户号码信息对流量数据进
行划分,以获取若干业务路径点集,通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同的业务路径点集形成业务路径簇,在若干业务路径簇中确定业务起点和业务终点相同的业务路径簇,根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径,能够自动进行业务路径分析,无需事先知道业务划分数量,便可发现任意不同形态的业务路径组合,减少了人工确认的过程,极大提高了业务路径合成的效率,并能够有效提高业务路径全过程各环节的准确性。
[0098]
图5示出了本发明实施例提供的业务路径分析方法的应用流程示意图。该方法可以应用于计算设备,如图5所示,该方法还包括:
[0099]
步骤201、获取一天内一个工号在一台设备上的流量数据。
[0100]
步骤202、将流量数据中用户号码信息相同的业务点划分为一个业务路径点集,从而将流量数据划分为30个业务路径点集。
[0101]
其中,一天内一共有30个用户办理了业务,则划分为30个业务路径点集。
[0102]
步骤203、获取30个业务路径点集中的各个业务点的访问时间。
[0103]
步骤204、根据访问时间,确定各个业务路径点集的中位业务点。
[0104]
其中,将业务路径点集中的业务点的访问时间的中位数所对应的业务点确定为该业务路径点集的中位业务点。
[0105]
步骤205、分别计算30个业务路径点集的中位业务点与业务路径点集中除中位业务点以外的其他业务点之间的时间差。
[0106]
步骤206、按照从小到大对计算得到的所有时间差进行排序,并对排序后的时间差绘制时间差曲线。
[0107]
步骤207、根据时间差曲线,将时间差急剧变化的位置所对应的时间差确定为eps。
[0108]
步骤208、根据扫描半径eps,获取30个业务路径点集中的每个业务点的eps邻域内的业务点的数量。
[0109]
步骤209、对30个业务路径点集中的每个业务点的eps邻域内的业务点的数量求数学期望,以得到minpts。
[0110]
步骤210、根据eps和minpts,通过基于密度的聚类算法对30个业务路径点集进行扫描,以得到业务路径簇a1、a2、a3、a4、b、c。
[0111]
其中,a1、a2、a3、a4、b、c代表了不同的业务路径,有6个业务路径点集属于业务路径簇a1,有4个业务路径点集属于业务路径簇a2,有8个业务路径点集属于业务路径簇a3,有9个业务路径点集属于业务路径簇a4,有2个业务路径点集属于业务路径簇b,有1个业务路径点集属于业务路径簇c。
[0112]
步骤211、获取流量数据对应的配置数据中的业务点名称,并根据业务点名称,在业务路径簇a1、a2、a3、a4、b、c中确定业务起点和业务终点相同的业务路径簇为a1、a2、a3、a4。
[0113]
其中,确定业务起点和业务终点相同的业务路径簇为a1、a2、a3、a4,即有a1、a2、a3、a4均能够从相同的业务起点到达相同的业务终点。
[0114]
步骤212、根据迪克斯特拉算法,在业务路径簇a1、a2、a3、a4中确定业务主路径和业务分路径。
[0115]
例如,确定业务主路径为a1,业务分路径为a2、a3、a4。又例如,如图6所示,确定的
业务主路径为流量分享卡绑定和解绑接口

mcrm多终端流量共享成员变更服务

认证信息校验

统一支付受理

快速充值

预销户受理提交

免填单提交。
[0116]
本发明实施例通过获取预设时间内的流量数据,基于用户号码信息对流量数据进行划分,以获取若干业务路径点集,通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同的业务路径点集形成业务路径簇,在若干业务路径簇中确定业务起点和业务终点相同的业务路径簇,根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径,能够自动进行业务路径分析,无需事先知道业务划分数量,便可发现任意不同形态的业务路径组合,减少了人工确认的过程,极大提高了业务路径合成的效率,并能够有效提高业务路径全过程各环节的准确性。
[0117]
图7示出了本发明实施例提供的业务路径分析装置的结构示意图。该方法可以应用于计算设备。如图7所示,该装置包括:数据获取模块310、预处理模块320、聚类模块330、确定模块340、路径计算模块350。
[0118]
其中,数据获取模块310用于获取预设时间内的流量数据;预处理模块320用于基于用户号码信息对所述流量数据进行划分,以获取若干业务路径点集;聚类模块330用于通过基于密度的聚类算法对所述业务路径点集进行聚类,以使业务路径相同的所述业务路径点集形成业务路径簇;确定模块340用于在若干所述业务路径簇中确定业务起点和业务终点相同的业务路径簇;路径计算模块350用于根据迪克斯特拉算法,在所述业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径。
[0119]
在一种可选的方式中,所述业务路径点集包括若干业务点;聚类模块330具体用于:获取所述业务路径点集中的业务点的访问时间;在所述业务路径点集中,将所述访问时间的中位数所对应的业务点确定为所述业务路径点集的中位业务点;计算全部所述业务路径点集的所述中位业务点与所述业务路径点集中除所述中位业务点以外的其他所述业务点之间的时间差;根据所述时间差,确定所述基于密度的聚类算法的扫描半径和最小包含点数;根据所述扫描半径和所述最小包含点数,通过所述基于密度的聚类算法对全部所述业务路径点集进行扫描,以得到若干所述业务路径簇。
[0120]
在一种可选的方式中,聚类模块330具体用于:按照从小到大对所述时间差进行排序,并对所述排序后的时间差绘制时间差曲线;根据所述时间差曲线,将时间差急剧变化的位置所对应的时间差确定为所述扫描半径;根据所述扫描半径,确定所述业务路径点集的每个业务点的扫描半径邻域内的业务点的数量;对全部所述业务路径点集的每个业务点的扫描半径邻域内的业务点的数量求数学期望,以得到所述最小包含点数。
[0121]
在一种可选的方式中,聚类模块330具体用于:获取与所述业务路径点集中一个未访问的出发业务点的距离在所述扫描半径内的附近业务点;若所述附近业务点的数量大于或者等于所述最小包含点数,则使所述出发业务点与所述附近业务点形成所述业务路径簇,并将所述出发业务点标记为已访问;遍历所述业务路径簇内的所有未访问的业务点,以扩展所述业务路径簇;对全部所述业务路径点集中的所有业务点进行扫描,以得到若干所述业务路径簇。
[0122]
在一种可选的方式中,聚类模块330具体还用于:将全部所述业务路径点集中不属于所述业务路径簇中的业务点确定为噪声点,并去除所述噪声点。
[0123]
在一种可选的方式中,确定模块340具体用于:获取所述流量数据对应的配置数
据,所述配置数据包括业务点名称;根据所述业务点名称,将所述业务起点的业务点名称相同且所述业务终点的业务点名称相同的业务路径簇确定为所述业务起点和业务终点相同的业务路径簇。
[0124]
在一种可选的方式中,路径计算模块350具体用于:根据所述业务起点和业务终点相同的业务路径簇中的业务点的出现次数的倒数,确定业务点距离;根据所述业务点距离,通过所述迪克斯特拉算法在所述业务起点和业务终点相同的业务路径簇中确定业务路径距离最短的业务路径;将所述业务路径距离最短的业务路径确定为所述业务主路径,将所述业务起点和业务终点相同的业务路径簇中除了所述业务路径距离最短的业务路径外的其他业务路径确定为所述业务分路径。
[0125]
需要说明的是,本发明实施例提供业务路径分析装置是能够执行上述业务路径分析方法的装置,则上述业务路径分析方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
[0126]
本发明实施例通过获取预设时间内的流量数据,基于用户号码信息对流量数据进行划分,以获取若干业务路径点集,通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同的业务路径点集形成业务路径簇,在若干业务路径簇中确定业务起点和业务终点相同的业务路径簇,根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径,能够自动进行业务路径分析,无需事先知道业务划分数量,便可发现任意不同形态的业务路径组合,减少了人工确认的过程,极大提高了业务路径合成的效率,并能够有效提高业务路径全过程各环节的准确性。
[0127]
图8示出了本发明实施例提供的计算设备的结构示意图。本发明具体实施例并不对计算设备的具体实现做限定。
[0128]
如图8所示,该计算设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
[0129]
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如网元或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于业务路径分析方法实施例中的相关步骤。
[0130]
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
[0131]
处理器402可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0132]
存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0133]
程序410具体可以被处理器402调用使计算设备执行上述实施例中的业务路径分析方法中的操作。
[0134]
本发明实施例通过获取预设时间内的流量数据,基于用户号码信息对流量数据进行划分,以获取若干业务路径点集,通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同的业务路径点集形成业务路径簇,在若干业务路径簇中确定业务起点和业务终点相同的业务路径簇,根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径
簇中确定业务主路径和业务分路径,能够自动进行业务路径分析,无需事先知道业务划分数量,便可发现任意不同形态的业务路径组合,减少了人工确认的过程,极大提高了业务路径合成的效率,并能够有效提高业务路径全过程各环节的准确性。
[0135]
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在计算设备上运行时,使得计算设备执行上述任意方法实施例中的业务路径分析方法。可执行指令具体可以用于使得计算设备执行上述实施例中的业务路径分析方法中的操作。
[0136]
本发明实施例通过获取预设时间内的流量数据,基于用户号码信息对流量数据进行划分,以获取若干业务路径点集,通过基于密度的聚类算法对业务路径点集进行聚类,以使业务路径相同的业务路径点集形成业务路径簇,在若干业务路径簇中确定业务起点和业务终点相同的业务路径簇,根据迪克斯特拉算法,在业务起点和业务终点相同的业务路径簇中确定业务主路径和业务分路径,能够自动进行业务路径分析,无需事先知道业务划分数量,便可发现任意不同形态的业务路径组合,减少了人工确认的过程,极大提高了业务路径合成的效率,并能够有效提高业务路径全过程各环节的准确性。
[0137]
本发明实施例提供一种业务路径分析装置,用于执行上述业务路径分析方法。
[0138]
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使计算设备执行上述任意方法实施例中的业务路径分析方法。
[0139]
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的业务路径分析方法。
[0140]
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0141]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0142]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0143]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何
组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0144]
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0145]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献