基于分布式数据库的彩信日志查询方法与系统的制作方法

文档序号:7657020阅读:172来源:国知局
专利名称:基于分布式数据库的彩信日志查询方法与系统的制作方法
技术领域
本发明涉及一种彩信日志查询方法与系统,尤其涉及的是一种基于分 布式数据库对彩信业务接口日志的生成、采集、储存与查询的方法和系统。
背景技术
'现有技术中,彩信业务是电信增值业务中的重要收入组成,在未来的 电信利润中,彩信业务将占越来越大的比例。目前的彩信日志多采用开始 与结束日志的方式进行记录,即在彩信中心接收到发送方所发送的彩信的 时候记录一次日志,彩信中心在向接收方发送日志的时候再记录一次曰志, 如图'l所示的。而对业务处理过程不做记录,这样就增加了异常流程分析 与故障定位的难度。一般的彩信中心都是以均衡负载的多台业务处理机集群组成的,每台 业务处理机都会产生相应的日志,这样的分布式结构给日志查询工作带来 了难度。传统的日志以文件形式保存,如果需要查询其中的信息,只能通 过文件查询的方式,获取有效信息的效率是非常低的。现有技术的接口日志记录方式指对彩信系统各模块之间的信令交互过程进行记录,如图2所示。所述彩信系统的模块包括发送方终端(HTTP)、 本地彩信平台(MMSP)、存储设备(Storage)、用户数据库(DBServer)、对端 彩信平台(MMSP"、接收方终端(HHTP"等。图中的若干"消息"表示在各 设备之间的信令交互,信令交互的过程就是彩信系统业务处理的过程。如 图2中所示"消息1"表示彩信中心的HTTP协议处理模块收到来自WAP 网关提交的MMlSubmit.REQ消息后,进行消息组包、解码,交给对端彩
信平台模块进行必要的参数检查,记录"消息1"可以通过日志发现在此过
程中发生的问题。所有在一个信令流程上的消息,都有唯一的流程标识, 称为消息ID,可以通过消息ID来查找在一个流程上的所有日志。由于各设 备之间的通讯是通过消息接口来完成的,所以其日志称为4妾口日志。
但是接口日志的记录也会带来以下问题
1 、存储空间变大。原来一个彩信流程只需要记录开始和结束两条日志, 大约占用lk的存储空间,现在需要10-20条才能行,存储空间平均扩大5-10 倍,对日志服务器的存储空间和数据处理能力都有更高的要求。
2、 查询效率降低。 一个彩信流程需要展现很多种日志,这必然会降低 最终结果显示的效率。
3、 采用多台日志服务器集群的方式存储日志,可以降低单台日志服务 器的压力,但是服务器数量增加,会降板系统的健壮性,降低系统的稳定 性。
因此,现有技术还有待于改进和发展。

发明内容
本发明所要解决的技术问题是提供一种基于分布式数据库的彩信日 志查询方法与系统,克服现有日志模型中故障排查困难、对接口日志查询 效率低的问题。
本发明的技术方案包括
一种基于分布式数据库的彩信日志查询系统,其包括彩信中心、曰 志服务器、日志查询服务器和WEB客户端;其中
所述彩信中心包含多台业务处理机,用于并发处理业务,每台业务处 理机在业务处理过程中生成日志文件;
所述日志服务器包括有对应的采集器及数据库,用于采集各台业务处 理机生成的日志文件和将文件批量导入到所述数据库,采用多台集群方式
同步处理所述日志文件;
所述日志查询服务器用于提供日志服务器的查询接口和向所述WEB 客户端的WEB服务;
所述WEB客户端用于显示日志。 所述的方法,其包括以下步骤
A、 日志生成由业务处理机处理业务并产生消息的时候记录日志, 并生成指定^f各式的文件进行保存;
B、 日志荻取由采集器将各业务处理机的日志文件下载到日志服务
器上;
C、 日志入库所述日志服务器将文件批量导入到数据库系统中,同 时建立相应的索引,以提供给所述日志查询服务器使用;
D、 日志查询设置WEB服务器,接收WEB客户端的查询请求,并 向所述WEB客户端发送查询结果;
E、 日志显示所述WEB客户端接收查询结果,并即时显示。 所述的方法,其中,所述步骤D还包括
Dl、设置日志查询池,管理和提供各日志服务器的连接,上报日志服 务器异常的情况;
D2、所述WEB服务器提供查询的WEB服务,根据WEB客户端提交 的查询条件,使用所述日志查询池所提供的接口对分布式数据库进行查询。
所述的方法,其中,所述步骤A中还包括将所述业务处理机记录的 曰志保存在緩存中,在达到预定数量后生成指定格式文件。
所述的方法,其中,所述步骤A中还包括将生成的日志文件保存到 所述业务处理机的硬盘上,并开通FTP服务;所述采集器通过FTP方式获 取日志文件。
.所述的方法,其中,所述步骤B还包括所述采集器获取日志文件的 同时将对应业务处理机的对应文件删除,并在日志服务器上保存一份压缩
后的备份文件。
所述的方法,其中,所述步骤A还包括多台业务处理^L同时处理彩信
业务,.同时产生日志文件,并将所述日志文件平均分配到各日志服务器。
所述的方法,其中,所述数据库采用生产库、查询库模式,所述生产
库用于将日志数据从所述日志文件导入数据库,所述查询库用于将日志数
据在所述数据库中增加索引。
所述的方法,其中,在所述生产库中按天保存日志数据。 所述的方法,其中,所述日志查询池包括数据库连接池和查询线程管
理器;所述查询线程管理器批量接收所述WEB客户端的查询任务,开启多 个查询线程,并且每个查询线程在所述数据库连接池中申请一个数据库连 接,并对数据库进行查询操作;在查询完成后将数据保存在查询线程管理 器控制的缓存中,并释放数据库连接;
如果查询线程申请连接时数据库连接用完,则等待; 如果查询线程在查询过程中出现异常,则将异常提交给查询线程管理 器,并释放该数据库连接。
本发明所提供的一种基于分布式数据库的彩信日志查询方法与系统, 由于釆用在传统数据库连接池和查询服务两层架构之间插入查询线程管理 器的三层架构,实现了多台日志服务器的并发查询,错误集中控制,在提 高了查询效率的同时,提升了系统的健壮性。


图l是现有技术的开始结束日志记录方式示意图; 图2是现有技术的彩信信令流程示意图3是本发明基于分布式数据库的彩信日志查询系统的整体结构具体实施例方式
.下面结合附图,将对本发明技术方案的实施做进一步的详细描述。 本发明的基于分布式数据库的彩信日志查询方法与系统,如图3所示
的,其系统,人物理实体和功能实现上可以分为四个组成部分彩信中心、 日志服务器、日志查询服务器和WEB客户端。
所述彩信中心包含多台业务处理机,用于并发处理业务,每台业务处 理机在业务处理过程中生成日志文件,形成分批的日志文件;所述日志服 务器包括采集器和数据库,负责采集各台业务处理机生成的日志文件,并 将曰志文件规整后批量导入到数据库中,所述日志服务器采用多台集群的 方式同步处理各分批的日志文件,所述日志服务器的数量可以根据实际情 况灵活的增加或替换;所述日志查询服务器提供日志服务器的查询接口和 WEB服务,包括有lt据库查询池和WEB服务器,所述数据库查询池连接 所述日志服务器中的数据库,所述WEB服务器用于连接所述WEB客户端; 所述WEB客户端负责展现曰志。
上述各组成部分之间采用了传统的应用服务架构,但有创新之处包括
所述日志服务器中采用了集群的方式,摆脱了传统的一台日志服务器 处理能力偏低的缺点。各日志服务器之间是相对独立的,如果其中一台出 现故障,不会影响其它日志服务器的查询功能,查询系统仍然能够正常运 行,因此提高的系统的健壮性。
本发明彩信日志查询系统在功能上可分为六个模块,如图3所示,其 中包括
模块1,日志生成模块由业务处理机处理业务并在产生消息的时候 记录日志,并将日志保存在緩存中,达到一定数量以后生成指定格式的文 件,并保存到自己的硬盘上,然后开通FTP服务。
由于彩信系统支持很多种终端类型,如分为本地手机、Email、外地手 机、梦网等, 一个终端向另外一个终端发彩信的时候,如果终端类型不一 样,流程不一样,信令的种类也不一样。彩信的信令有60多种,每种信令 都会产生一种日志文件。
本发明系统中有多台业务处理机同时处理彩信业务,同时产生日志文 件,而这些文件要平均分配到各台日志服务器上,所以本发明采用"曰志 分组的方式",即根据日志服务器的数量X,在每台业务处理机上创建X个
文件夹,命名为IMP 1 、 IMP2......IMPX,日志文件根据产生的顺序分别放
入这些文件夹,基本保持各个文件夹的大'J、一致。
每台业务处理机都提供FTP服务,供各日志服务器采集。日志文件中 需要记录消息ID、产生时间、模块号、发送方地址、接收方地址和其他与 该信令相关的属性。所述消息ID的格式可采用日期+时间+彩信中心代码+ 序列号,其中时间为起始信令产生的时间。
模块2,日志采集模块所述日志服务器中的日志采集器通过FTP方 式,将各业务处理机的日志文件下载到日志服务器上,同时将业务处理机 的文件删除,并在日志服务器上保存一份压缩后的备份文件。
采集器根据所在日志服务器的编号通过FTP获取所有业务处理机中对 应的日志目录中的文件,由于各业务处理机均分了日志文件,所以每台日 志服务器获取的日志数量也是均等的,达到了负载均衡。获取之后,删除 业务处理机上的日志文件,将日志文件保存到日志服务器的指定目录上, 并压缩后做备份,由于日志原始文件为纯文本形式,所以压缩比率可以达 到IO'比I,这样可以减小日志文件所占用的存储空间。
模块3,日志入库模块其负责将文件批量导入到数据库系统中去, 同时建立相应的索引,提供给后续查询使用。
本发明所述系统中的日志数据库采用生产库、查询库模式。生产库只负 责将日志数据从文件导入数据库,查询库则负责将日志数据在数据库中增 加索引,并进行一些利于查询的优化操作。
在生产库中每个信令日志为一类表,每一类表分为31张表,分别处理 一个月内每天的日志。查询库每个信令日志为一类表,每一类表按照月份
加曰期的形式分为366张表,根据需求可以仅保存部分天数的表,如需要 保存日志为3个月,那么可以仅保留93张表。
所述日志服务器将采集到的日志文件进行格式化,格式化主要将文件按 照消息ID分组,具有相同日期信息的消息ID对应的信令日志分到同一个 文件中去。然后通过Bulk Insert的方式入库,满足包含相同日期信息的消 息ID对应的信令日志入到同 一天的表中去。由于本发明方法和系统是按照 天进行分表的,所以这种方式入库的优点在于能够根据消息ID快速定位该 信令日志所在的表。在入库完成后删除原始文件和中间过渡文件,以减少 曰志文件所占用的存储空间。
模块4,日志查询池管理和提供各日志服务器的连接,上报日志服 务器异常的情况。
曰志查询池分为两个部分, 一个是数据库连接池, 一个是查询线程管 理器。所述查询线程管理器批量接收查询任务,然后开启多个查询线程, 每个查询线程在所述数据库连接池中申请一个数据库连接,并对数据库进 行查询操作。查询完成后将数据保存在查询线程管理器控制的緩存中,并 释放数据库连接。
如果查询线程申请连接时连接用完,则等待。如果查询线程在查询过 程中出现异常,则将异常提交给查询线程管理器,并释放数据库连接。本 发明方法和系统采用并发的连接可以充分利用多台日志服务器的性能,达 到查询效率的最优化。
模块5, WEB服务器提供查询的WEB服务,可以根据WEB客户 端提交的查询条件,使用数据库查询池提供的接口对分布式的数据库进行 查询,将结果返回给WEB客户端。
同时可提供查询、用户管理功能。用户通过访问网页的方式提交查询 条件,WEB服务器接收到提交的查询条件后将信息规整,发给所述查询线 程管理器,然后开始等待结果返回,并提示WEB客户端查询请求已经提交
成功。如前所述,这时查询线程管理器会启动若干独立的线程完成数据库 的查询工作,而每个线程可以查询不同机器上的数据,这样实现分布式查询。本发明方法和系统采用在传统数据库连接池和查询服务两层架构之 间插入查询线程管理器的三层架构,实现了多台日志服务器的并发查询, 错误集中控制,在提高查询效率的同时,提升了系统的健壮性。模块6, WEB客户端通过WEB浏览器访问WEB查询服务器,提 交查询条件,并展现结果。所述WEB客户端"l是交查询完成后,在一定时间范围内不断向WEB月良 务器发送获取请求,WEB服务器将查询线程管理器已经查到,并放入緩存 中的数据返回给WEB客户端。WEB客户端接收到数据后,查询线程管理器将删除取走的緩存内容, 释放对应的内存空间。所述WEB客户端采用即时显示的方式,将查找到的 数据显示在页面上,并继续向WEB服务器发送获取请求,直到所有查询结 果获取完成为止。在整个查询过程中,多数据库之间采用多线程实现并发 查询,有效地提高了查询效率,同时采用查到即显示的方式展现日志,用 户不必等到所有结果都出来,就可以预先看到部分日志信息,提升了用户 体验。在数据查询出现异常时,如某台日志服务器当机,查询线程管理器会 捕获,并且放在緩存中,当WEB客户端发送获取请求的时候,WEB服务 器将这个异常信息作为查询结果的一种形式发送给WEB客户端,WEB客 户端获取异常信息后,将信息显示在页面上,提示系统管理员进行处理。本发明所述WEB客户端采用AJAX实现动态页面展现,当用户提交查 询后,查询池并发所有的查询请求到各台日志服务器,当其中的某一个查 询返回结果的时候,立即在页面上显示,直到所有结果全部显示完成为止。 这样就避免了传统的展现方式,使用户等待很长的时间,需要等到所有查
询全部完成才将页面展现给用户,提升了系统的界面友好度,方便系统會 理员随时查看彩信日志状态。应当理解的是,上述针对本发明较佳实施例的描述较为详细,并不能 因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以 所附权利要求为准。
权利要求
1、一种基于分布式数据库的彩信日志查询系统,其包括彩信中心、日志服务器、日志查询服务器和WEB客户端;其特征在于所述彩信中心包含多台业务处理机,用于并发处理业务,每台业务处理机在业务处理过程中生成日志文件;所述日志服务器包括有对应的采集器及数据库,用于采集各台业务处理机生成的日志文件和将文件批量导入到所述数据库,采用多台集群方式同步处理所述日志文件;所述日志查询服务器用于提供日志服务器的查询接口和向所述WEB客户端的WEB服务;所述WEB客户端用于显示日志。
2、 一种如权利要求1所述的方法,其包括以下步骤A、 日志生成由业务处理机处理业务并产生消息的时候记录日志,并 生成指定格式的文件进行保存;B、 日志获取由采集器将各业务处理机的日志文件下载到日志服务器上;C、 日志入库所述日志服务器将文件批量导入到数据库系统中,同时 建立相应的索引,以提供给所述日志查询服务器使用;D、 日志查询设置WEB服务器,接收WEB客户端的查询请求,并 向所述WEB客户端发送查询结果;E、 日志显示所述WEB客户端接收查询结果,并即时显示。
3、 根据权利要求2所述的方法,其特征在于,所述步骤D还包括 Dl、设置日志查询池,管理和提供各日志服务器的连接,上报日志服务器异常的情况; D2、所述WEB服务器提供查询的WEB服务,根据WEB客户端提交 的查询条件,使用所述日志查询池所提供的接口对分布式数据库进行查询。
4、 根据权利要求3所述的方法,其特征在于,所述步骤A中还包括 将所述业务处理机记录的日志保存在緩存中,在达到预定数量后生成指定 格式文件。
5、 根据权利要求4所述的方法,其特征在于,所述步骤A中还包括 将生成的日志文件保存到所述业务处理机的硬盘上,并开通FTP服务;所 述采集器通过FTP方式获取日志文件。
6、 根据权利要求5所述的方法,其特征在于,所述步骤B还包括 所述采集器获取日志文件的同时将对应业务处理机的对应文件删除,并在 日志服务器上保存一份压缩后的备份文件。
7、 根据权利要求2至6任一所述的方法,其特征在于,所述步骤A 还包括多台业务处理机同时处理彩信业务,同时产生日志文件,并将所述 日志文件平均分配到各日志服务器。
8、 根据权利要求7所述的方法,其特征在于,所述数据库釆用生产 库、查询库模式,所述生产库用于将日志数据从所述日志文件导入数据库, 所述查询库用于将日志数据在所述数据库中增加索引。
9、 根据权利要求8所述的方法,其特征在于,在所述生产库中按天 保存日志数据。
10、 根据权利要求3所述的方法,其特征在于,所述日志查询池包括 数据库连接池和查询线程管理器;所述查询线程管理器批量接收所述WEB 客户端的查询任务,开启多个查询线程,并且每个查询线程在所述数据库 连接池中申请一个数据库连接,并对数据库进行查询操作;在查询完成后 将数据保存在查询线程管理器控制的緩存中,并释放数据库连接; 如果查询线程申请连接时数据库连接用完,则等待; 如果查询线程在查询过程中出现异常,则将异常提交给查询线程管理 器,并释放该数据库连接。
全文摘要
本发明公开了一种基于分布式数据库的彩信日志查询方法与系统,所述系统包括彩信中心、日志服务器、日志查询服务器和WEB客户端;所述彩信中心包含多台业务处理机,用于并发处理业务,每台业务处理机在业务处理过程中生成日志文件;所述日志服务器包括有对应的采集器及数据库,用于采集各台业务处理机生成的日志文件和将文件批量导入到所述数据库;所述日志查询服务器用于提供日志服务器的查询接口和向所述WEB客户端的WEB服务。本发明基于分布式数据库的彩信日志查询方法与系统由于采用在数据库连接池和查询服务之间插入查询线程管理器的三层架构,实现了多台日志服务器的并发查询,在提高了查询效率的同时,提升了系统的健壮性。
文档编号H04W88/18GK101163265SQ20071012466
公开日2008年4月16日 申请日期2007年11月20日 优先权日2007年11月20日
发明者炎 钱 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1