一种业务数据分析方法及系统转让专利

申请号 : CN201510262713.X

文献号 : CN106304122B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈翔宇彭家华林志云

申请人 : 中国移动通信集团福建有限公司

摘要 :

本发明实施例公开了一种业务数据分析方法,该方法包括:实时采集终端运行过程中产生的业务数据;将所述采集到的业务数据转发至消息队列;根据所述消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;根据所述交易日志以及KPI参数构建动态业务模型;根据所述动态业务模型对所述业务数据进行分析。同时,本发明实施例还公开了一种业务数据分析系统。

权利要求 :

1.一种业务数据分析方法,其特征在于,包括:

实时采集终端运行过程中在交易报文生命周期的关键点产生的业务数据;

将采集到的业务数据转发至消息队列;

根据所述消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;

根据所述交易日志以及KPI参数构建动态业务模型;

根据所述动态业务模型对所述业务数据进行分析。

2.根据权利要求1所述的方法,其特征在于,所述实时采集终端运行过程中产生的业务数据,具体包括:通过插码方式实时采集终端运行过程中产生的业务数据。

3.根据权利要求1所述的方法,其特征在于,所述将采集到的业务数据转发至消息队列,具体包括:通过套接字Socket进程通信机制将采集到的业务数据保存至用于消息转发线程访问的内存块;通过所述消息转发线程根据所述业务数据的ID与消息队列的对应关系,将所述业务数据转发至对应的消息队列。

4.根据权利要求1所述的方法,其特征在于,所述根据所述动态业务模型对业务数据进行分析,具体包括:根据所述动态业务模型生成复杂事件规则引擎;根据所述复杂事件规则引擎对所述业务数据进行分析。

5.一种业务数据分析系统,其特征在于,包括:采集单元、转发单元、计算单元、建模单元、分析单元,其中,所述采集单元,用于实时采集终端运行过程中在交易报文生命周期的关键点产生的业务数据;

所述转发单元,用于将所述采集单元采集到的业务数据转发至消息队列;

所述计算单元,用于根据所述消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;

所述建模单元,用于根据所述计算单元计算得到的交易日志以及KPI参数构建动态业务模型;

所述分析单元,用于根据所述建模单元构建的动态业务模型对所述业务数据进行分析。

6.根据权利要求5所述的系统,其特征在于,所述采集单元,具体用于:通过插码方式实时采集终端运行过程中产生的业务数据。

7.根据权利要求5所述的系统,其特征在于,所述转发单元,具体用于:通过套接字Socket进程通信机制将所述采集单元采集到的业务数据保存至用于消息转发线程访问的内存块;通过消息转发线程根据业务数据的ID与消息队列的对应关系,将业务数据转发至对应的消息队列。

8.根据权利要求5所述的系统,其特征在于,所述分析单元,具体用于:根据所述建模单元构建的动态业务模型生成复杂事件规则引擎;根据所述复杂事件规则引擎对所述业务数据进行分析。

说明书 :

一种业务数据分析方法及系统

技术领域

[0001] 本发明涉及无线通信领域,尤其涉及一种业务数据分析方法及系统。

背景技术

[0002] 随着移动通信的不断发展,如何对业务数据进行分析,提升业务数据的质量、满足用户对业务的多样性和高可靠性的需求,成为运营商需要解决的问题。
[0003] 现有的对业务数据进行分析的方式为:汇总所有的业务数据信息,并将其存储至关系型数据库;通过定时运行结构化查询语言(SQL,Structured Query Language),将关系型数据库中已经入库的业务数据信息提取出来,实现业务数据的分析。
[0004] 但是,现有的业务数据分析方法由于需要先存储业务数据信息,再从已经存储的业务数据信息中提取数据进行分析,即现有的业务数据分析方法属于基于预先存储业务数据的事后分析,数据处理实效性差,处理效率低,弱化了对数据的分析能力。

发明内容

[0005] 为解决上述技术问题,本发明实施例期望提供一种业务数据分析方法及系统,以提高数据处理的实效性,提升对数据的分析能力。
[0006] 本发明的技术方案是这样实现的:
[0007] 第一方面,本发明实施例提供一种业务数据分析方法,包括:实时采集终端运行过程中产生的业务数据;将所述采集到的业务数据转发至消息队列;根据所述消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;根据所述交易日志以及KPI参数构建动态业务模型;根据所述动态业务模型对所述业务数据进行分析。
[0008] 在上述实施例中,所述实时采集终端运行过程中产生的业务数据,具体包括:通过插码方式实时采集终端运行过程中产生的业务数据。
[0009] 在上述实施例中,所述实时采集终端运行过程中产生的业务数据,具体包括:实时采集终端运行过程中在交易报文生命周期的关键点的业务数据。
[0010] 在上述实施例中,所述将采集到的业务数据转发至消息队列,具体包括:通过套接字Socket进程通信机制将采集到的业务数据保存至用于消息转发线程访问的内存块;通过所述消息转发线程根据所述业务数据的ID与消息队列的对应关系,将所述业务数据转发至对应的消息队列。
[0011] 在上述实施例中,所述根据所述动态业务模型对业务数据进行分析,具体包括:根据所述动态业务模型对所述业务数据进行分析,具体包括:根据所述动态业务模型生成复杂事件规则引擎;根据所述复杂事件规则引擎对所述业务数据进行分析。
[0012] 第二方面,本发明实施例提供一种业务数据分析系统,包括:采集单元、转发单元、计算单元、建模单元、分析单元,其中,所述采集单元,用于实时采集终端运行过程中产生的业务数据;所述转发单元,用于将所述采集单元采集到的业务数据转发至消息队列;所述计算单元,用于根据所述消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;所述建模单元,用于根据所述计算单元计算得到的交易日志以及KPI参数构建动态业务模型;所述分析单元,用于根据所述建模单元构建的动态业务模型对所述业务数据进行分析。
[0013] 在上述实施例中,所述采集单元,具体用于:通过插码方式实时采集终端运行过程中产生的业务数据。
[0014] 在上述实施例中,所述采集单元,具体用于:实时采集终端运行过程中在交易报文生命周期的关键点的业务数据。
[0015] 在上述实施例中,所述转发单元,具体用于:通过套接字Socket进程通信机制将所述采集单元采集到的业务数据保存至用于消息转发线程访问的内存块;通过消息转发线程根据业务数据的ID与消息队列的对应关系,将业务数据转发至对应的消息队列。
[0016] 在上述实施例中,所述分析单元,具体用于:根据所述建模单元构建的动态业务模型生成复杂事件规则引擎;根据所述复杂事件规则引擎对所述业务数据进行分析。
[0017] 本发明实施例提出的业务数据分析方法及系统,通过实时采集终端运行过程中产生的业务数据;将采集到的业务数据转发至消息队列;根据消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;根据交易日志以及KPI参数构建动态业务模型;根据动态业务模型对业务数据进行分析,减少存储业务数据信息的延时,提升对实时数据的处理能力,达到实时分析的效果。

附图说明

[0018] 图1为本发明实施例提供的一种业务数据分析方法的流程示意图;
[0019] 图2为本发明实施例提供的交易报文调用时序图;
[0020] 图3为本发明实施例提供的一种业务数据分析系统的系统架构示意图。

具体实施方式

[0021] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0022] 图1为本发明实施例中的业务数据分析方法的流程示意图,参照图1所示,该方法包括:
[0023] S101:实时采集终端运行过程中产生的业务数据;
[0024] 需要说明的是,本发明实施例提供的业务数据分析方法应用在终端的运行过程中,通过从业务运营支撑系统(BOSS,Business&Operation Support System)、客户关系管理(CRM,Customer Relationship management)系统等系统的海量交易日志中实时采集终端在运行过程中产生的业务数据,以便将其传输到后续处理平台进行实时处理。这样一来,保障了业务数据采集的实时性。
[0025] 需要补充的是,可以通过统一的应用程序接口(API,Application Programming Interface)实时采集终端运行过程中产生的业务数据,能够规范采集到的业务数据,保障了后续业务数据的标准输出。
[0026] 示例性地,实时采集终端运行过程中产生的业务数据具体包括:通过插码方式实时采集终端运行过程中产生的业务数据。
[0027] 具体来说,通过预先设置的业务数据采集接口,利用插码方式嵌入至BOSS、CRM等系统中,获取业务数据。
[0028] 示例性地,实时采集终端运行过程中产生的业务数据具体包括:实时采集终端运行过程中在交易报文生命周期的关键点的业务数据。
[0029] 例如,结合表1所示,交易报文生命周期的关键点包括:交易开始、交易请求发送、交易请求接收、交易应答发送、交易应答接收、交易结束。
[0030] 表1
[0031]
[0032]
[0033] 结合图2所示的交易报文调用时序图,可以看出,交易开始、交易请求发送、交易请求接收、交易应答发送、交易应答接收、交易结束是实现交易的几个关键步骤,即交易报文生命周期的关键点,因此,通过实时采集交易报文生命周期的关键点的业务数据,提高了采集的业务数据的质量,为后续的业务数据分析提供保障。
[0034] S102:将采集到的业务数据转发至消息队列;
[0035] 其中,消息队列可以通过消息队列中间件来实现,用于缓解业务数据拥塞,实现快速集成分布式业务数据,且消息队列基于集群部署,可以保障系统运行的稳定性。
[0036] 需要说明的是,将实时采集的终端运行过程中产生的业务数据转发至消息队列,这种端到端(end-to-end)的传输方式保证了每条业务数据传输至消息队列的可靠性,也保障了业务数据传输的实时性,为后续实时分析业务数据奠定数据基础。
[0037] 示例性地,将采集到的业务数据转发至消息队列具体包括:通过套接字Socket进程通信机制将采集到的业务数据保存至用于消息转发线程访问的内存块;消息转发线程根据业务数据的ID与消息队列的对应关系,将业务数据转发至对应的消息队列;
[0038] 需要说明的是,通过消息转发线程根据业务数据的ID与消息队列的对应关系,将业务数据转发至对应的消息队列,这样有效的分离消息队列的峰值压力,保障业务数据的完整性和系统的健壮性。
[0039] 需要补充的是,将采集到的业务数据转发至消息队列的方式有很多种,也可以将业务数据直接输出至本地文件,使用Flume日志收集系统将业务数据同步至消息队列。本发明实施例对此不做具体限制。
[0040] S103:根据消息队列接收到的业务数据生成交易日志,并计算关键绩效指标(KPI,Key Performance Indicator)参数;
[0041] 需要说明的是,根据消息队列接收到的业务数据生成交易日志,实时的将零散的业务数据还原为一条完整交易日志。
[0042] 需要说明的是,根据消息队列接收到的业务数据生成交易日志以及KPI参数可以通过IBM-STREAMS流处理平台实现,当然,还可以通过其他平台实现,本发明实施例对此不做具体限制。
[0043] 在实际应用中,结合表1以及图2,可以通过判断收到的报文的类型,并根据报文类型对该报文做相应的处理,从而实现根据消息队列接收到的业务数据生成交易日志,并计算KPI参数,具体如下:
[0044] 如果收到报文1,先判断功能标识分类、功能标识ID是否为空,若不为空,则以1###<1…>结构存入vector容器;判断报文3是否存在,若报文3存在则以3###<1…><3…>结构存入vector容器,若报文3不存在,则跳过。
[0045] 其中,n###<…>为业务数据的数据结构,n是报文类型,###是交易标示,<…>是交易日志内容。
[0046] 如果收到报文2,若校验通过,则查找报文1、报文2、报文3,并以2###<1…><2…><3…>结构存入vector容器,然后计算KPI参数;若校验不通过,则跳过。
[0047] 如果收到报文3,判断报文1是否存在,若报文1存在,则以3###<1…><3…>结构存入vector容器,若报文1不存在,则跳过;判断报文6是否存在,若报文6存在,且报文6以特殊标志位为1结尾,则以4###<6…><3…>结构存入vector容器,若报文6存在,且报文6以特殊标志位为0结尾,则以6###<4…><5…><6…><3…>结构存入vector容器;若6报文不存在,则跳过。
[0048] 如果收到报文4、报文5,则查找报文3、报文4、报文5、报文6,若上述报文完整,则以6###<4…><5…><6…><3…>结构存入vector容器;若上述报文不完整,则跳过。
[0049] 如果收到报文6,判断报文6以特殊标志位为1结尾,则查找报文3、报文6,若报文3、报文6完整,则以4###<6…><3…>结构存入vector容器,若报文3、报文6不完整,则跳过。判断6报文以特殊标志位为0结尾,则查找报文3、报文4、报文5、报文6,若上述报文完整,则以6###<4…><5…><6…><3…>结构存入vector容器,若上述报文不完整,则跳过。
[0050] 如果收到报文7,则查找报文8,若报文8存在,则以8###<7…><8…>结构存入vector容器,若报文8不存在,则跳过。
[0051] 如果收到报文8,则查找报文7,若报文7存在,则以8###<7…><8…>结构存入vector容器,若报文7不存在,则跳过。
[0052] 需要说明的是,若收到的业务数据在超过预设的时间时未被处理,将会强制删除。
[0053] S104:根据交易日志以及KPI参数构建动态业务模型;
[0054] 需要说明的是,动态业务模型是根据实时生成的交易日志以及实时计算得到的KPI参数构建的,因而提高了对业务数据分析的实效性,为后续故障分析的快速定位提供基础,缩短故障时间。
[0055] 例如,动态业务模型可以包括服务、业务、应用、主机这四个维度,并计算网络时长、应用时长,后端未知应用时长这三个时长指标,以便实时统计成功率或失败率,统计的方式可以有很多种,例如,按错误类型的维度进行交易个数的统计、按地市交易量的占比进行实时统计、按业务量的占比进行实时统计等。
[0056] S105:根据动态业务模型对业务数据进行分析。
[0057] 需要说明的是,根据动态业务模型可以实时的对业务数据进行分析,发现业务数据的轻微变化,并实现快速响应事件,变被动维护为主动维护。
[0058] 示例性地,根据动态业务模型对业务数据进行分析,具体包括:根据动态业务模型生成复杂事件规则引擎;根据复杂事件规则引擎对业务数据进行分析。
[0059] 具体来说,动态业务模型可以包括业务、交易源、功能标识、服务、应用、平台(集合主机、数据库、网络设备等拓扑图)等维度,通过实时计算每个节点的交易成功数、失败数、交易时长、错误类型统计等数据,形成复杂事件规则引擎;并根据复杂事件规则引擎判断交易的异动,如当本周期的交易数据和上个周期差值超过预定的阀值时便会触发故障事件,进而快速定位故障,并通过交易类型统计分析,根据交易错误类型构成分析故障的类型,防止故障再一次发生。
[0060] 本发明实施例提出的业务数据分析方法,通过实时采集终端运行过程中产生的业务数据;将采集到的业务数据转发至消息队列;根据消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;根据交易日志以及KPI参数构建动态业务模型;根据动态业务模型对业务数据进行分析,提升对实时数据的处理能力,达到实时分析的效果,无需人工过滤日志内容,提高运维人员的工作效率。
[0061] 图3示出了本发明实施例提供的一种业务数据分析系统的系统架构示意图,参考图3,该业务数据分析系统30包括:采集单元301、转发单元302、计算单元303、建模单元304、分析单元305,其中,
[0062] 采集单元301,用于实时采集终端运行过程中产生的业务数据;
[0063] 转发单元302,用于将采集单元301采集到的业务数据转发至消息队列;
[0064] 计算单元303,用于根据消息队列接收到的业务数据生成交易日志,并计算关键绩效指标KPI参数;
[0065] 建模单元304,用于根据计算单元303计算得到的交易日志以及KPI参数构建动态业务模型;
[0066] 分析单元305,用于根据建模单元304构建的动态业务模型对业务数据进行分析。
[0067] 示例性地,采集单元301,具体用于:通过插码方式实时采集终端运行过程中产生的业务数据。
[0068] 示例性地,采集单元301,具体用于:实时采集终端运行过程中在交易报文生命周期的关键点的业务数据。
[0069] 示例性地,转发单元302,具体用于:通过socket进程通信机制将采集单元301采集到的业务数据保存至用于消息转发线程访问的内存块;通过消息转发线程根据业务数据的ID与消息队列的对应关系,将业务数据转发至对应的消息队列。
[0070] 示例性地,分析单元305,具体用于:根据建模单元304构建的动态业务模型生成复杂事件规则引擎;根据复杂事件规则引擎对业务数据进行分析。
[0071] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0072] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0073] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0074] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0075] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。