日志数据传输方法、系统及日志服务器的制造方法

文档序号:8395800阅读:538来源:国知局
日志数据传输方法、系统及日志服务器的制造方法
【专利说明】曰志数据传输方法、系统及日志服务器
[0001]本申请是申请日为2012年9月25日、申请号为201210362605.6、名称为“一种日志数据传输的方法和系统”的中国发明专利申请的分案申请。
技术领域
[0002]本发明涉及日志处理的技术领域,具体涉及一种日志数据传输方法、系统及日志服务器。
【背景技术】
[0003]日志(log)用来储存和记录系统运行情况和用户使用情况的详细信息,这些信息是查看系统运行状态和排查问题的主要依据。例如,某个软件中应用程序出现崩溃情况,那么可以从程序事件日志中找到相应的记录,从而帮助相关技术人员分析并解决问题。
[0004]以线上系统日志信息为例,日志信息可以用来对线上业务运行过程的记录和运行程序的监控,通过分析记录的日志信息可以为出现和可能出现的错误进行提示、警告,还可以统计业务信息,为业务逻辑改进和应用程序升级提供可靠的依据。
[0005]参考图1所示的一种现有技术中基于C语言程序生成的日志记录系统的结构示意图,现有的日志记录系统具体可以包括应用服务器11和日志服务器12,其中,所述应用服务器11中包括多个应用程序111,以及LIB库(一种基于Linux平台的静态库或者动态库)112形式挂接在各个应用程序模块上的日志采集模块,以及,与所述日志采集模块相连的日志客户端113 ;所述日志服务器12与DB13相连。
[0006]在这种现有的日志记录系统中,通常会针对每个应用程序模块111配置一个日志采集模块112,在应用程序模块111中调用日志采集模块112的接口,通过参数传递方式将日志级别、日志记录时间、日志内容、日志流水号、应用程序名等日志信息,传入日志采集模块112,日志采集模块112将采集到的日志信息写入LIB库112中的消息队列。日志客户端113读取消息队列中的日志信息通过网络通信发给远端的日志服务器12。日志服务器将收到的信息插入到数据库(DB) 13中。
[0007]在上述日志传输的过程中,应用服务器上各应用程序模块111产生的日志信息通过LIB库发送给日志客户端113,所述日志客户端保存所收到的日志,再根据配置的日志服务器IP地址和相关端口号,将所收到的日志发送给日志服务器。日志服务器接收所述日志,将所接收到的日志统一保存到DB中。
[0008]这种方案一旦应用服务器11发生宕机,未及时发送出去的日志就会丢失,在日志服务器12处理完日志之前,是无法查看到当前发生的日志;另外,这种方案将在应用服务器上和日志服务器上分别建立一套数据库,存储两套日志,造成了存储的冗余。
[0009]因此,本领域技术人员需要迫切解决的问题是:提供一种日志数据传输的方法及系统,能降低数据丢失的风险及减少存储的冗余。

【发明内容】

[0010]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的日志数据传输方法、系统和相应的日志服务器。
[0011]依据本发明的一个方面,提供了一种日志数据传输方法,包括:定时从应用服务器抓取日志数据;根据所述抓取的日志数据生成新日志文件;根据所述新日志文件生成增量日志文件;将所述增量日志文件写入日志数据库中;以及从所述应用服务器中删除所述已写入日志数据库的日志数据。
[0012]可选地,所述根据所述新日志文件生成增量日志文件的步骤进一步包括:若所述日志数据库中存在旧日志文件,将所述新日志文件与旧日志文件进行比较,以生成增量日志文件。
[0013]可选地,所述根据所述新日志文件生成增量日志文件的步骤进一步包括:若所述日志服务器中不存在旧日志文件,则创建一个空文件作为旧日志文件;以及将所述新日志文件与旧日志文件进行比较,以生成增量日志文件。
[0014]可选地,所述将所述新日志文件与旧日志文件进行比较,以生成增量日志文件的步骤进一步包括:将所述新日志文件与旧日志文件进行比较,提取新增内容生成新比较文件;采用所述新比较文件替换在先的旧比较文件;去除所述新比较文件中的冗余数据后,生成新的增量日志文件;以及采用所述新增量日志文件替换在先的旧增量日志文件。
[0015]可选地,所述方法还包括:采用所述新日志文件替换旧日志文件。
[0016]可选地,所述定时从应用服务器抓取日志数据的步骤进一步包括:定时从所述应用服务器抓取当天的全量日志数据。
[0017]可选地,所述方法还包括:若在将所述增量日志文件写入日志数据库中发生错误,则将写入的日志数据进行回滚。
[0018]根据本发明的另一方面,提供了一种日志服务器,包括:日志数据抓取子模块,适于定时从应用服务器抓取日志数据;日志文件生成子模块,适于根据所述抓取的日志数据生成新日志文件;比较子模块,适于将所述新日志文件与旧日志文件进行比较,生成增量日志文件;记录子模块,适于将所述增量日志文件写入日志数据库中;以及日志删除模块,适于删除应用服务器中已写入日志数据库的日志数据。
[0019]可选地,所述日志服务器还包括:判断子模块,适于判断所述日志服务器中是否存在旧日志文件。
[0020]可选地,若所述日志服务器中存在旧日志文件,则所述比较子模块还适于:将所述新日志文件与已存在的旧日志文件进行比较,生成所述增量日志文件。
[0021]可选地,若所述日志服务器中不存在旧日志文件,则所述日志服务器还包括:创建子模块,适于创建一个空文件作为旧日志文件;其中,所述比较子模块还适于:将所述新日志文件与创建的旧日志文件进行比较,生成所述增量日志文件。
[0022]可选地,所述日志服务器进一步包括:提取单元,适于提取所述新日志文件与旧日志文件比较生成的新增内容以生成新比较文件;第一替换单元,适于用所述新比较文件替换在先的旧比较文件;冗余数据删除单元,适于去除所述新比较文件中的冗余数据后,生成新的增量日志文件;第二替换单元,适于将所述新增量日志文件替换在先的旧增量日志文件。
[0023]可选地,所述日志服务器还包括:第三替换子模块,适于将新日志文件替换旧日志文件。
[0024]可选地,所述日志服务器还包括:回滚子模块,适于所述增量日志文件写入日志数据库中发生错误时,将写入的日志数据进行回滚。
[0025]根据本发明的又一方面,提供了一种日志数据传输系统,其特征在于,所述日志数据传输系统包括应用服务器和上述任一种日志服务器。
[0026]根据本发明的日志数据传输方法、系统及日志服务器,可以由日志服务器定时从应用服务器主动抓取当天全量的日志数据,抓取日志数据进行集中后则将应用服务器上已写入日志数据库的日志数据进行删除;由此解决了现有技术在服务器宕机时未及时发送出去的日志数据会丢失的问题,取得了降低数据丢失的风险和存储的冗余的有益效果。
[0027]由于日志数据库可以位于日志服务器中,也可以单独设置,与日志服务器相连,日志数据库可以按照需求控制内存空间的容量,定期清理不再需要的日志数据,日志服务器抓取日志数据进行集中后则将应用服务器上已写入日志数据库的日志数据删除,降低了存储的冗余。
[0028]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0029]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0030]图1示出了根据本发明一个实施例的现有技术的日志传输系统的结构示意图;
[0031]图2示出了根据本发明一个实施例的一种日志数据传输方法实施例的流程图;
[0032]图3示出了根据本发明一个实施例的一种日志数据传输系统实施例的结构框图。
【具体实施方式】
[0033]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0034]本发明的实施例的核心构思之一在于,通过改变现有日志服务端获取日志数据的方式,从应用服务器主动推送变为日志服务器定时从应
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1