CN102891873B - 一种存储日志数据的方法及日志数据存储系统 - Google Patents

一种存储日志数据的方法及日志数据存储系统 Download PDF

Info

Publication number
CN102891873B
CN102891873B CN201110204958.9A CN201110204958A CN102891873B CN 102891873 B CN102891873 B CN 102891873B CN 201110204958 A CN201110204958 A CN 201110204958A CN 102891873 B CN102891873 B CN 102891873B
Authority
CN
China
Prior art keywords
log
log data
data
module
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110204958.9A
Other languages
English (en)
Other versions
CN102891873A (zh
Inventor
丁锐
蒋悦
刘明亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201110204958.9A priority Critical patent/CN102891873B/zh
Publication of CN102891873A publication Critical patent/CN102891873A/zh
Application granted granted Critical
Publication of CN102891873B publication Critical patent/CN102891873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种存储日志数据的方法及日志数据存储系统。获取为待存储业务日志分配的日志ID及日志数据结构;启动日志上报代理,在业务程序中链接预先获得的API;在业务程序中调用API,传入参数为日志ID及该日志ID对应日志数据结构的各个字段;API将日志数据封装后输出至共享内存进行缓存;日志上报代理首先读取共享内存中的日志数据,解析出日志数据中包含的日志ID等信息,根据这些信息将读到的日志数据写入缓存文件中;再通过与日志服务器间的网络连接将缓存文件中数据上报至日志服务器存储。应用本发明,建立跨业务的集中式日志服务系统,可以提高资源利用效率、提升日志数据存储的可靠性。

Description

一种存储日志数据的方法及日志数据存储系统
技术领域
本发明涉及计算机信息处理技术,特别涉及一种存储日志数据的方法及日志数据存储系统。
背景技术
随着计算机互联网技术的快速发展,互联网上的业务以及业务中的应用数量也迎来了爆发性的增长,用户每天在使用运营商提供的这些业务及应用产品时,会产生大量的业务使用记录数据,而如何可靠地存储并收集用户使用这些应用产生的业务使用记录数据,以利于后续能够对存储的业务使用记录数据进行提取,进而运用数据分析、数据挖掘等技术,统计并分析业务使用记录数据中包含的用户习惯以及用户特征行为,从中找出对运营商有价值的信息,从而指导应用产品改进、拓展以及推出新的应用产品,帮助应用产品推广,显得极为重要。
现有技术中,业务及应用产品运营过程中产生的各种用户业务使用记录数据,通常以日志数据的形式进行存储,存储方法大概分为两种,下面进行简要说明。
其一,各客户端通过内嵌在业务程序内部的日志模块进行日志输出,并在本地存储各业务产生的日志数据,然后通过预先编制的调用程序,将存储在本地的各业务日志数据集中起来以备后续分析。
由于运营商在进行日志数据分析时,需要提取多个客户端、多个用户使用业务程序产生的日志数据,因而,该方案中,需要日志数据分析人员分别从不同客户端采集日志数据,使得人力成本较高、操作不方便,基于此,提出了下面第二种日志数据存储方法。
其二,采用客户端/服务器(C/S,Client/Server)架构的日志数据存储系统存储方式,日志数据存储系统包括客户端以及日志服务器,客户端通过自定义协议与日志服务器进行通信,并协同工作,即各客户端将用户在应用产品运营过程中产生的日志数据,根据与日志服务器协商确定的自定义协议进行封装后,通过网络传输到日志服务器,日志服务器将接收的日志数据保存下来以备后续分析、统计。其中,客户端可以为一个或多个,日志服务器也可以为一个或多个。这样,各客户端通过网络传输与日志服务器相连,无需日志数据分析人员进行人工采集,操作较为方便,降低了人力成本。但是,由于各客户端根据与日志服务器协商的自定义协议来封装、保存日志数据,没有规范、统一的日志数据结构,导致不同业务上报到服务器的日志,其日志数据结构不一致,使得日志服务器需要对不同业务产生的日志数据进行日志数据结构的统一再进行存储,以利后续分析,需要耗费一定的计算资源,使得日志数据存储系统资源利用效率较低。进一步地,如果日志服务端出错,或者由于日志服务器升级维护等原因暂时不能提供服务,则会导致传输的日志数据的丢失,降低了日志数据存储的可靠性。
发明内容
有鉴于此,本发明的主要目的在于提出一种存储日志数据的方法,提高资源利用效率、提升日志数据存储的可靠性。
本发明的另一目的在于提出一种日志数据存储系统,提高资源利用效率、提升日志数据存储的可靠性。
为达到上述目的,本发明提供了一种存储日志数据的方法,该方法包括:
当需要接入新的业务到日志服务器时,在日志服务器的web管理页面上为待接入的业务申请日志ID,并定义日志ID对应的日志数据结构;
在客户端中设置并启动日志上报代理;
获取API库模块中存储的API,业务程序将通过调用API库模块中的API来上报业务程序产生的日志数据;
根据申请的业务日志ID对应的日志数据结构,封装业务程序产生的日志数据,调用已获取的API,API将日志数据组织后输出至客户端本地的共享内存进行存储;
客户端本地的共享内存中维护了一个循环队列,队列中存储的是业务日志数据;
日志上报代理读取共享内存中的日志数据,根据日志数据包含的日志ID,将读取的日志数据写入客户端本地的缓存文件夹中相应的缓存文件中,日志上报代理再通过与日志服务器之间的网络连接,将缓存文件中的日志数据上报至日志服务器存储。
所述在日志服务器的web管理页面上为待接入的业务日志申请日志ID,并定义日志ID对应的日志数据结构包括:
当有新的业务需要接入该日志服务器,业务开发人员到该日志服务器的web管理页面上为该业务申请日志ID,申请时定义该日志ID对应的日志数据结构,日志数据结构是字段式的,在定义的时候指定每个字段的名称,数据类型,代表的含义。
在为待接入的业务申请日志ID后,进一步包括:
设置该日志ID对应的日志数据在日志服务器中的存储方式:所述存储方式包括mysql数据库存储以及日志文件存储,所述mysql数据库存储方式为日志服务器将业务日志数据实时的写入mysql数据库中,所述日志文件存储方式为将数据写入文本文件中。
进一步包括:
日志服务器成功接收日志数据并保存之后,反馈信息给日志上报代理,日志上报代理删除客户端对应的缓存文件。
所述将缓存文件中的日志数据上报至日志服务器存储包括:
日志服务器接收客户端上报的日志数据,根据日志数据包含的日志ID,最终将同一日志ID对应的日志数据保存在一起,根据申请时指定的存储方式不同,或者写入mysql数据库中,或者写入文本文件中。
进一步包括:
基于日志服务器存储的日志数据进行数据分析。
一种日志数据存储系统,该系统包括:客户端以及日志服务器,其中,
客户端为需要上报日志数据的业务程序所在机器;业务程序开发人员申请得到业务对应的日志ID;在客户端启动日志上报代理,在业务程序中链接预先获得的API;在业务程序中调用预先获得的API,传入参数为日志ID及该日志ID对应日志数据结构的各个字段;API将日志数据封装后输出至客户端本地的共享内存进行缓存;日志上报代理首先读取共享内存中的日志数据,解析出日志数据中包含的日志ID,根据解析的信息将读到的日志数据写入客户端本地的缓存文件夹中的缓存文件中;日志上报代理再通过与日志服务器间的网络连接将缓存文件中数据上报至日志服务器存储;日志服务器保存成功后返回确认信息给上报代理,上报代理删除对应的缓存文件;
日志服务器,提供web管理页面,供待接入的业务开发人员申请日志ID,并查看日志ID对应的日志数据;通过网络连接接收日志上报代理上报的日志数据进行存储,并且在连接建立的时候根据IP地址对日志上报代理进行权限检查,没有权限的日志上报代理上报的日志数据被直接丢弃。
所述客户端包括:API库模块、日志上报代理程序、共享内存模块、缓存文件模块以及网络通信模块,其中,
API库模块,存储有包括各API的API库,业务程序将其链接到程序中,通过调用API库中的API来上报业务日志数据;
日志上报代理程序,该程序是一个常驻客户端的程序,周期性的检查共享内存模块中是否有新的日志数据;有数据则读取共享内存模块存储的日志数据,将日志数据写入缓存文件模块中的缓存文件中,再通过与日志服务器间的网络连接,将缓存文件中包含的日志数据上报至日志服务器;
共享内存模块,用于缓存API库模块封装的日志数据,并在共享内存模块中维护一个循环队列数据结构,提供同步机制以便并发读写;
缓存文件模块,用于按照日志ID分类存储日志上报代理模块从共享内存模块读取的日志数据,用缓存文件的方式进行存储;
网络通信模块,用于跟日志服务器建立网络通信,连接成功后将日志数据上报到日志服务器,并在日志服务器回复确认之后删除本地对应的缓存文件。
所述日志服务器包括:网络通信模块、日志管理模块以及缓存文件模块,其中,
网络通信模块,用于接收客户端日志上报代理发来的连接请求,成功建立连接后,接收其发来的日志数据,成功接收之后再回复确认;
日志管理模块,用于提供web管理页面,以便业务开发人员可以在上面为业务申请日志ID、定义日志ID对应的数据结构,并查看日志数据;
缓存文件模块,用于对网络通信模块接收到的客户端上报的日志数据进行初步缓存。
所述日志服务器进一步包括:日志数据保存模块、日志数据库模块以及日志文件模块,其中,
日志数据保存模块,用于读取缓存文件模块存储的缓存文件中的日志数据,解析得到日志ID后,根据存储的配置信息,如果该日志ID的配置信息为将日志数据写入mysql数据库,则将缓存文件夹中的日志数据写入日志数据库中;如果该日志ID的配置信息为将日志数据写入本地日志文件,则将缓存文件中的日志数据写入文本文件中;
日志数据库模块,负责将需要入库的日志数据写入数据库,封装了操作数据库的实现细节;
日志文件模块,负责将不需要入库的日志数据写入文本文件中,写文本文件的时候按申请日志ID时的配置对文件按天滚动或按小时滚动,以免单个文件太大。
所述日志服务器进一步包括日志数据分析模块,其中:
日志数据分析模块,用于基于日志数据库模块以及日志文件模块存储的日志数据进行数据分析,数据分析的结果进一步在web页面上展示。
由上述的技术方案可见,本发明提供的一种存储日志数据的方法及日志数据存储系统,在日志服务器的web管理页面上为待存储业务申请日志标识ID并定义日志ID对应的日志数据结构;在客户端启动日志上报代理,在业务程序中链接预先获得的API;在业务程序中调用API,传入参数为日志ID及该日志ID对应日志数据结构的各个字段;API将日志数据封装后输出至共享内存进行缓存;日志上报代理首先读取共享内存中的日志数据,解析出日志数据中包含的日志ID等信息,根据这些信息将读到的日志数据写入缓存文件夹中的缓存文件中;日志上报代理再通过与日志服务器间的网络连接将缓存文件中数据上报至日志服务器存储。这样,通过在日志数据存储系统中应用多级缓存技术,大大增强了系统的可用性;用日志ID来标识一种日志,并在分配日志ID的时候就定义该日志的数据结构,降低了进行格式统一所需的资源开销,提高了资源利用效率;共享内存结合缓存文件的存储模式,既可以保证业务日志数据的高速写入,又可以提供较大的缓存容量,在系统故障时可以有效提升日志数据存储的可靠性。
附图说明
图1为本发明实施例的存储日志数据的方法流程示意图。
图2为本发明实施例的日志数据存储系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
本发明实施例中,针对现有日志数据存储时各客户端采用自定义协议来封装日志数据,使得不同业务程序产生的日志数据的日志数据结构不一致的缺点,通过在日志服务器中设置日志管理模块,用于对与日志服务器相连的各客户端的日志数据进行统一管理,使接入该日志服务系统的业务或应用具有相同的日志数据结构,从而可以给各运营中的各个互联网应用提供统一的日志数据存储平台,让应用可以方便的接入该平台,并有效地管理业务日志数据,使得后续可以基于存储的日志数据进行必要的数据分析、挖掘。
图1为本发明实施例的存储日志数据的方法流程示意图。参见图1,该流程包括:
步骤101,在日志服务器的web管理页面上为业务申请日志标识(ID,Identifier)并定义相应的日志数据结构;
本步骤中,当某个具体的业务需要接入包括日志服务器的日志数据存储系统时,即需要存储日志数据以进行分析,需要先在该日志数据存储系统中的日志服务器申请日志ID。
实际应用中,用户可以通过登录日志服务器的日志管理模块的web管理页面,为该业务申请日志ID,日志ID用于区分日志数据结构,web管理页面根据业务日志接入请求,为该业务分配日志ID,业务开发人员为该日志ID定义日志数据结构,便于系统的统一管理。这样,客户端在上报日志数据时,通过携带日志ID,日志服务器接收到日志数据时,获取日志数据包含的日志ID,然后根据日志ID对应的日志数据结构,来解析业务上报的日志数据。这样,通过日志ID以及申请日志ID时就定义好的日志数据结构,日志服务器可以很好的区分来自不同业务的日志数据,并且进行集中存储,这样就构建了一个跨业务的统一的日志存储系统(日志数据存储系统),一方面让业务开发人员可以更关注业务本身,将日志上报、日志保存、日志分析这样的工作交给日志存储系统来做,另一方面,也避免了由不同业务采用不同日志存储系统所带来的问题,无需对不同业务产生的日志数据进行日志数据结构的统一,节约了计算资源,提高了日志数据存储系统的资源利用效率。
较佳地,一个业务的相关日志数据(一个业务下的应用)对应一个日志ID,例如,对于业务为QQ浏览器的业务日志来说,可以设置用户注册事件(QQ浏览器下的一个应用)对应一个日志ID,具有对应的日志数据结构,而用户浏览事件(QQ浏览器下的另一个应用)对应另一个日志ID,相应具有该日志ID对应的日志数据结构,等等。当然,实际应用中,一个业务也可以只申请一个日志ID,某个业务申请一个日志ID还是多个日志ID,由业务开发人员根据业务的日志数据量,日志数据种类,并结合后续基于日志数据的统计需求综合考虑。
web管理页面是日志存储系统中日志服务器的web界面,提供给业务开发人员申请日志ID,具体包括:
当某个业务需要接入日志存储系统中的日志服务器时,业务开发人员在该日志服务器的web管理页面上,为该业务申请一个或多个日志ID,在申请日志ID的时候,需要提供该日志ID对应的日志数据结构定义。
日志数据结构包括字段、字段类型以及字段名称等,其结构与数据库中表结构相类似,业务程序按照日志结构来上报日志数据,日志数据将按照日志数据结构进行相应保存。这样,日志服务器可以根据用户上报上来的日志数据中包含的日志ID,获取该日志ID对应的日志数据结构,对日志数据进行解析,获取相应信息。
举例来说,某个业务为用户注册事件申请了一个日志ID,该日志ID对应的日志数据结构包含五个字段,各字段名称和字段类型分别如下:
用户编号int(整数型)
全局唯一标识符(GUID,Globally Unique Identifier)string(字符串型)
注册时间 datetime
注册地点 string
浏览器版本 string
进一步地,还可以根据用户或统计、分析的需要,设置该日志ID对应的日志数据在日志服务器上的存储方式,例如,可以设置该日志ID对应的日志数据是写入mysql数据库中还是写入日志文件中。较佳地,设置日志数据写入日志文件中,这样,一方面,后续进行统计分析时,可以基于日志文件夹中的日志数据进行更灵活的操作;另一方面,有一些业务对应的日志数据量很大,例如,某些业务每天产生有好几G的日志数据,这样大的数据量也不适合写入数据库。
为便于对日志数据进行有效管理,日志文件夹包含多个日志文件,不同日志ID对应的日志数据被写入到不同的文件中。
如果设置日志数据写入日志文件中,还可以进一步设置日志文件的滚动频率,例如,设置日志文件夹按天滚动或按小时滚动,以避免单个日志文件太大。
步骤102,在需要上报业务日志的客户端上启动日志上报代理(agent);
本步骤中,日志上报agent是常驻客户端侧的一个程序,它的作用有两个:一,从客户端设置的共享内存中依序读取日志数据,解析形成本地的缓存文件,共享内存中的日志数据是业务程序调用预先获取的日志上报接口(API,Application Program Interface)写入的。二,不断地去读取客户端缓存文件夹中产生的缓存文件,与日志服务器建立网络通信,将缓存文件中的日志数据传送过去。有关日志上报agent,后续在进行详细描述。
步骤103,获取需要链接到业务程序的API;
各业务程序对应的API组成API库,API库是该日志存储系统的一部分,存储在API库模块中,主要是提供给业务开发人员,让开发人员链接到业务程序中,然后在程序中需要上报日志的地方调用API库中相应API函数,API使用非常简单,与Printf的用法相似,具体可参见相关技术文献,在此不再赘述,不同之处在于:调用API向日志服务器上报日志数据时,携带有日志ID,并且上报的日志数据遵循与该日志ID对应的日志数据结构。
由于API库是一个函数库,需要链接到业务程序中,而业务程序可能是由不同编程语言编写的,所以API库也有多种语言版本,包括C、C++、php等。
本发明实施例中,业务程序是指需要接入日志数据存储系统的程序,即能够产生日志数据,并需要上报到日志数据存储系统的程序,可以为一个或多个应用程序;日志ID用于标识一种日志数据结构,业务程序上报日志数据,必须先获取该日志数据对应的日志ID,从而根据该日志ID对应的日志数据结构进行封装;API库是一组接口,业务程序获得了各日志ID之后,通过调用这一组接口,将各日志ID对应的日志数据写入本地的共享内存中,由日志上报agent程序进行后续处理。从逻辑上讲,API工作于业务程序和本地共享内存之间。
步骤104,根据获取的日志ID对应的日志数据结构,封装业务程序产生的日志数据,调用API库中相应的API,API将业务日志输出至本地共享内存进行存储;
本步骤中,对于用户使用业务程序产生的日志数据,业务程序按照日志ID对应的日志数据结构进行封装,并调用API库中相应的API,使调用的API将封装的日志数据传输至共享内存。关于按照日志数据结构封装日志数据,具体可参见相关技术文献,在此不再赘述。
调用API库相应的API,将封装的日志数据输出至共享内存进行存储为可选步骤,实际应用中,也可以在封装业务程序产生的日志数据后,直接执行步骤105。本发明实施例中,考虑到将封装的日志数据直接写入缓存文件夹时导致的写文件的开销较大、延时较长等问题,并且业务程序本身对性能要求很高,所以采用较小容积的共享内存用于写入封装的日志数据,以降低资源开销以及写入延时。
共享内存中维护一个循环队列,采用先进先出的数据结构,在业务程序中调用API库相应的API,可以将携带日志ID信息的日志数据输出至该循环队列中,以便于后续日志上报agent程序从该循环队列中读取数据进行后续处理。
实际应用中,当循环队列中的日志数据存储满时,调用API会失败,也就是说,在调用API时,首先会检查共享内存的循环队列是否已满,如果循环队列已满,则返回调用错误信息,业务程序进程基于调用API返回的错误信息,可以获知循环队列已满的异常情形。
步骤105,日志上报代理读取共享内存中的日志数据,根据日志数据包含的日志ID,将读取的日志数据写入缓存文件夹中相应的缓存文件中,与日志服务器建立连接,将缓存文件中包含的日志数据上报至日志服务器存储,并在上报成功后删除本地对应的缓存文件。
本步骤中,日志上报代理从共享内存的循环队列中依序读取日志数据,根据日志数据包含的日志ID,存储至缓存文件夹中相应的缓存文件中。即日志上报agent读取共享内存循环队列中的日志数据,取得日志数据,根据日志数据包含的日志ID,将日志数据写入一个缓存文件中,日志ID是该缓存文件文件名的一部分,并且连续读到的多条相同日志ID对应的日志数据存放在缓存文件夹中的同一个缓存文件中,一旦读取到不同的日志ID,就会切换缓存文件。
缓存文件夹设置在本地存储器中,缓存文件的文件名包含两部分信息,一是日志ID,二是缓存文件产生时的本地时间标签。
实际应用中,在读写共享内存时,可以进行同步处理,从而可以满足同一客户端上若干个业务进程同时写日志数据的需求。
日志上报agent周期性的从缓存文件夹的缓存文件中读取日志数据并进行解析,根据预先设置的配置文件定位日志服务器所在位置,然后通过与日志服务器建立网络连接进行通信,并上报日志数据。
本发明实施例中,将缓存文件上报至日志服务器存储后,进一步包括:
接收日志服务器返回的日志数据上报成功信息,删除本地对应的日志数据缓存文件。如果由于通信故障等原因上报不成功,则对缓存文件不做任何处理。
日志服务器在收到由客户端上报的日志数据后,根据日志数据包含的日志ID,将同一日志ID对应的日志数据存储为一个缓存文件。一个缓存文件中可以包含一条或多条日志数据。
本发明实施例中,日志服务器接收日志数据的日志接收进程,可以采用线程池的实现方法,使之具有高并发的特点,可以同时接收多个客户端上报的日志数据,并分别存储至相应的缓存文件中。
日志服务器将接收的日志数据存储到缓存文件夹中形成一个个的缓存文件,日志数据保存进程周期性地从缓存文件夹中读取缓存文件进行解析得到日志数据,根据日志数据中包含的日志ID,对日志数据进行保存。由于相同日志ID对应的日志数据,都具有统一结构,因而,将其写入到同一个日志文件中。
进一步地,如前所述,如果在申请日志ID时设置了将日志数据写入mysql数据库或写入本地日志文件,则在解析得到日志ID后,根据申请该日志ID时的设置,选择将数据存入数据库或者写入文本文件。
实际应用中,在日志服务器存储相关日志数据后,可以进一步包括:
步骤106,通过日志服务器的web页面查看日志数据内容;或,
步骤107,基于日志服务器存储的日志数据进行数据分析。
本步骤中,基于日志数据进行数据分析,具体可参见相关技术文献,在此不再赘述。
图2为本发明实施例的日志数据存储系统的结构示意图。参见图2,该系统包括:客户端以及日志服务器,其中,
客户端,即需要上报日志数据的业务程序所在机器;业务程序开发人员申请得到业务对应的日志ID;在客户端启动日志上报代理,在业务程序中链接预先获得的API;在业务程序中调用该预先获得的API,传入参数为日志ID及该日志ID对应日志数据结构的各个字段;API将日志数据封装后输出至共享内存进行缓存;日志上报代理首先读取共享内存中的日志数据,解析出日志数据中包含的日志ID等信息,根据这些信息将读到的日志数据写入缓存文件夹中的缓存文件中;日志上报代理再通过与日志服务器间的网络连接将缓存文件中数据上报至日志服务器存储;日志服务器保存成功后返回确认信息给上报代理,上报代理删除对应的缓存文件。
日志服务器,提供web管理页面,供待接入的业务开发人员申请日志ID,并查看日志ID对应的日志数据;通过网络连接接收日志上报代理上报的日志数据进行存储,并且在连接建立的时候根据IP地址对日志上报代理进行权限检查,没有权限的日志上报代理上报的日志数据会被直接丢弃。
其中,
客户端包括:API库模块、日志上报代理程序、共享内存模块、缓存文件模块,以及网络通信模块,其中,
API库模块,存储有包括各API的API库,业务程序将其链接到程序中,通过调用API库中相应的API来上报业务日志数据;
日志上报代理程序,该程序是一个常驻客户端的程序,周期性的检查共享内存中是否有新的日志数据;有数据则读取共享内存模块存储的日志数据,将日志数据写入缓存文件夹模块中的缓存文件中,再通过与日志服务器间的网络连接,将缓存文件中包含的日志数据上报至日志服务器;
共享内存模块,用于缓存API库封装的日志数据,并在共享内存中维护一个循环队列数据结构,提供同步机制以便并发读写;
本发明实施例中,共享内存模块采用先进先出的循环队列结构。
缓存文件模块,用于按照日志ID分类存储日志上报代理模块从共享内存模块读取的日志数据,用缓存文件的方式进行存储。
网络通信模块,用于跟日志服务器建立网络通信,连接成功后将日志数据上报到日志服务器,并在日志服务器回复确认之后删除本地对应的缓存文件。
日志服务器包括:网络通信模块,日志管理模块以及缓存文件模块,其中,
网络通信模块,负责接受日志上报代理发起的连接请求,建立连接以后与上报代理进行网络通信,接收上报代理发过来的日志数据,并回传确认信息。
日志管理模块,管理日志ID,以及日志ID对应的日志数据结构,当业务人员申请了新的日志ID时更新日志服务器;并管理日志上报代理的授权,经过授权的日志上报代理,才允许往日志服务器上报日志数据,否则会被拒绝。
本发明实施例中,日志管理模块可以通过web管理页面与外部进行交互。
缓存文件模块,将日志上报代理发过来的日志数据存储为缓存文件。
实际应用中,网络通信模块在收到客户端上报的日志数据并存储成功后,向客户端返回日志数据存储成功信息,以便于客户端的日志上报代理程序删除缓存文件夹中对应的缓存文件。
较佳地,该日志服务器进一步包括:日志数据保存模块、日志数据库模块以及日志文件模块,其中,
日志管理模块,进一步用于在分配日志ID时,配置该日志ID对应的日志数据是写入mysql数据库还是写入本地日志文件,并将配置信息输出至日志数据保存模块;
日志数据保存模块,用于读取缓存文件夹模块存储的日志数据,解析得到日志ID后,根据存储的配置信息,如果该日志ID的配置信息为将日志数据写入mysql数据库,则将缓存文件夹中的日志数据写入日志数据库模块;如果该日志ID的配置信息为将日志数据写入本地日志文件,则将缓存文件夹中的日志数据写入日志文件模块。
本发明实施例中,日志文件模块中包含多个日志文件,每一日志ID对应一个日志文件,日志文件可以设置为按天滚动或者按小时滚动,以避免单个日志文件太大。
较佳地,该日志服务器还包括:
日志数据分析模块,用于基于日志数据库模块以及日志文件模块存储的日志数据进行数据分析。
由上述可见,本发明实施例的日志数据存储系统,通过采用日志ID并结合多级缓存的日志数据存储方式,客户端采用共享内存与缓存文件的两级缓存方式,服务端也应用了缓存文件。一方面,通过日志ID及相对应的日志数据结构,对日志数据的存储结构进行了规范,让该日志数据存储系统满足多业务接入成为可能,降低了日志数据存储的成本,同时,共享内存可以保证日志API的高速写入,提高日志数据存储效率;另一方面,缓存文件可以提供较大的缓存容量,保证系统故障(包括日志服务器故障、网络故障等)情况下的高可靠性。而假如只采用共享内存,也就是日志API写入日志数据到共享内存之后,日志上报代理程序直接取出来发送到日志服务器,这样,虽然写入速度较快,但如果日志服务器发生故障,将导致共享内存中的日志数据不能及时发送到日志服务器,从而产生累积,共享内存很快就会被占满,业务日志数据写入将发生故障,造成日志数据被丢弃,从而不能保证日志数据的完整性。而如果将共享内存存储的日志数据输出至缓存文件进行存储,缓存文件可以存储日志数据的数量没有限制,只要硬盘容量足够,即使日志服务器发生故障,也不会造成日志数据的丢失。而假如只采用缓存文件,也就是日志API写入日志数据的时候,直接产生相应的缓存文件,由于写文件的开销较大,比直接写内存大很多,尤其在需要写入的日志数据量较大时,导致延时较长,这对于有高性能要求的业务程序来说显然不可取。
实际应用中,为了使业务程序接入日志数据存储系统更简单,本发明实施例的日志数据存储系统可以采用分布式架构,业务程序可以运行于任何客户端上,客户端与日志服务器通过网络相连,且同一客户端上可以运行若干个同时写日志数据的业务进程。通过设置并启动日志上报agent程序,并且在业务程序中连接API库并调用API函数上报日志数据,即可实现业务日志存储,使得业务接入的时间较短、人力成本非常低。
下面再对该日志数据存储系统包含的主要程序进行说明:
1,客户端共享内存读取进程
业务程序产生的日志数据首先会被写入本地的共享内存中,共享内存维护一个循环队列,采用先进先出的数据结构,通过在业务程序中调用API库中的API,可以将携带日志ID信息的日志数据输出至该循环队列中,以便于后续日志上报agent程序从该循环队列中取日志数据进行后续处理。
共享内存读取进程用于按照预先设置的策略不断地从该循环队列中取出日志数据,以缓存文件的形式顺序放在本地预先设置的文件夹中。读写共享内存时,可以进行同步处理,因而可以满足同一客户端上若干个业务进程同时写日志数据的需求。
2,客户端日志上报进程
日志上报进程周期性的从缓存文件夹中读取日志数据,根据程序的配置文件定位日志服务器所在位置,然后与日志服务器建立网络连接,与日志服务器通信上报日志数据。当缓存文件夹中某个缓存文件中包含的日志数据都已经上报完毕后,删除该缓存文件,切换至下一缓存文件;如果上报不成功,则对缓存文件不做任何处理。这样,可以保证日志数据存储的高可靠性。
共享内存读取进程和日志上报进程,同属于客户端日志上报代理程序。
3,日志服务器端日志接收进程
日志接收进程在收到由客户端上报的日志数据时,将顺序收到的一条条日志数据存储为一个个缓存文件,供写日志进程读取。
本发明实施例中,日志接收进程采用了线程池的实现方法,具有高并发的特点,可以同时接收多个客户端上报的日志数据。
4,日志服务器端写日志进程
日志服务器端写日志进程执行写日志数据文件时,周期性的从缓存文件所在文件夹中读取日志文件,解析出日志数据,由于相同日志ID对应的日志数据,都具有统一结构,因而,将其写入到同一个日志文件中。
由上述可见,本发明实施例的存储日志数据的方法及日志数据存储系统,实现了一套跨客户端和日志服务器端的多级缓存机制以及日志数据统一管理机制,该缓存机制包括客户端的共享内存、缓存文件、日志服务器端的缓存文件以及日志文件存储。在该缓存机制的作用下,一方面,使得日志数据存储系统的存储效率、可用性及可靠性得到很大提升,极大的降低了丢失日志数据的风险,任何一个环节的程序发生故障,理论上都不会导致日志数据的丢失,例如,当日志服务器端的日志接收进程发生故障,则客户端的日志数据都会被暂时存放在本地的缓存文件夹中,直到日志上报进程和日志服务器之间的连接恢复,这种特性对于日志数据存储系统的部署和调试来说也很方便,可以随时中断日志数据存储系统的某个程序进行升级,或者通过查看缓存文件来调试系统。因而,便于搜集存储离线日志,并基于日志进行必要数据分析。另一方面,缓存机制的运用使得日志上报路径上的各个业务程序异步工作,日志数据存储系统更容易进行维护,并通过横向扩展提高日志存储系统的吞吐量,举例来说,如果上报日志数据的客户端较多,日志服务器的网络输入输出(IO,Input Output)带宽不够,则可以启动多个日志服务器接收日志数据,通过将多个日志服务器生成的日志数据缓存文件集中后进行后续处理的方法来解决问题。
同时,日志数据存储系统适用于各业务程序,日志服务器提供了专门的网页(web)管理页面,用于业务日志接入申请,业务日志查看等,在该日志数据存储系统内,采用日志ID来管理日志数据,当需要接入新的业务到该平台时,只需要在日志服务器的web管理页面上,申请该业务对应的日志ID以及定义该日志ID对应的日志数据结构,即可实现日志数据的方便接入及统一管理。
而且,本发明实施例的日志数据存储系统,提供了简单易用的日志数据上报API库,用于接入日志数据存储系统,让业务接入日志平台的成本较低;同时,采用分布式架构,可适应复杂的网络环境,系统容易扩展,可以根据需要调整业务上报的日志服务器,并且同一个日志服务器也可以接收来自不同地方的多个互联网数据中心(IDC,Internet DataCenter)或其他日志服务器上报的日志数据。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种存储日志数据的方法,其特征在于,该方法包括:
当需要接入新的业务到日志服务器时,在日志服务器的web管理页面上为待接入的业务申请日志ID,并定义日志ID对应的日志数据结构;
在客户端中设置并启动日志上报代理;
获取API库模块中存储的API,业务程序将通过调用API库模块中的API来上报业务程序产生的日志数据;
根据申请的业务日志ID对应的日志数据结构,封装业务程序产生的日志数据,调用已获取的API,API将日志数据组织后输出至客户端本地的共享内存进行存储;
客户端本地的共享内存中维护了一个循环队列,队列中存储的是业务日志数据;
日志上报代理读取共享内存中的日志数据,根据日志数据包含的日志ID,将读取的日志数据写入客户端本地的缓存文件夹中相应的缓存文件中,日志上报代理再通过与日志服务器之间的网络连接,将缓存文件中的日志数据上报至日志服务器存储。
2.如权利要求1所述的方法,其特征在于,所述在日志服务器的web管理页面上为待接入的业务日志申请日志ID,并定义日志ID对应的日志数据结构包括:
当有新的业务需要接入该日志服务器,业务开发人员到该日志服务器的web管理页面上为该业务申请日志ID,申请时定义该日志ID对应的日志数据结构,日志数据结构是字段式的,在定义的时候指定每个字段的名称,数据类型,代表的含义。
3.如权利要求2所述的方法,其特征在于,在为待接入的业务申请日志ID后,进一步包括:
设置该日志ID对应的日志数据在日志服务器中的存储方式:所述存储方式包括mysql数据库存储以及日志文件存储,所述mysql数据库存储方式为日志服务器将业务日志数据实时的写入mysql数据库中,所述日志文件存储方式为将数据写入文本文件中。
4.如权利要求1至3任一项所述的方法,其特征在于,进一步包括:
日志服务器成功接收日志数据并保存之后,反馈信息给日志上报代理,日志上报代理删除客户端对应的缓存文件。
5.如权利要求1所述的方法,其特征在于,所述将缓存文件中的日志数据上报至日志服务器存储包括:
日志服务器接收客户端上报的日志数据,根据日志数据包含的日志ID,最终将同一日志ID对应的日志数据保存在一起,根据申请时指定的存储方式不同,或者写入mysql数据库中,或者写入文本文件中。
6.如权利要求5所述的方法,其特征在于,进一步包括:
基于日志服务器存储的日志数据进行数据分析。
7.一种日志数据存储系统,其特征在于,该系统包括:客户端以及日志服务器,其中,
客户端为需要上报日志数据的业务程序所在机器;业务程序开发人员申请得到业务对应的日志ID;在客户端启动日志上报代理,在业务程序中链接预先获得的API;在业务程序中调用预先获得的API,传入参数为日志ID及该日志ID对应日志数据结构的各个字段;API将日志数据封装后输出至客户端本地的共享内存进行缓存;日志上报代理首先读取共享内存中的日志数据,解析出日志数据中包含的日志ID,根据解析的信息将读到的日志数据写入客户端本地的缓存文件夹中的缓存文件中;日志上报代理再通过与日志服务器间的网络连接将缓存文件中数据上报至日志服务器存储;日志服务器保存成功后返回确认信息给上报代理,上报代理删除对应的缓存文件;
日志服务器,提供web管理页面,供待接入的业务开发人员申请日志ID,并查看日志ID对应的日志数据;通过网络连接接收日志上报代理上报的日志数据进行存储,并且在连接建立的时候根据IP地址对日志上报代理进行权限检查,没有权限的日志上报代理上报的日志数据被直接丢弃。
8.如权利要求7所述的系统,其特征在于,所述客户端包括:API库模块、日志上报代理程序、共享内存模块、缓存文件模块以及网络通信模块,其中,
API库模块,存储有包括各API的API库,业务程序将其链接到程序中,通过调用API库中的API来上报业务日志数据;
日志上报代理程序,该程序是一个常驻客户端的程序,周期性的检查共享内存模块中是否有新的日志数据;有数据则读取共享内存模块存储的日志数据,将日志数据写入缓存文件模块中的缓存文件中,再通过与日志服务器间的网络连接,将缓存文件中包含的日志数据上报至日志服务器;
共享内存模块,用于缓存API库模块封装的日志数据,并在共享内存模块中维护一个循环队列数据结构,提供同步机制以便并发读写;
缓存文件模块,用于按照日志ID分类存储日志上报代理模块从共享内存模块读取的日志数据,用缓存文件的方式进行存储;
网络通信模块,用于跟日志服务器建立网络通信,连接成功后将日志数据上报到日志服务器,并在日志服务器回复确认之后删除本地对应的缓存文件。
9.如权利要求7或8所述的系统,其特征在于,所述日志服务器包括:网络通信模块、日志管理模块以及缓存文件模块,其中,
网络通信模块,用于接收客户端日志上报代理发来的连接请求,成功建立连接后,接收其发来的日志数据,成功接收之后再回复确认;
日志管理模块,用于提供web管理页面,以便业务开发人员可以在上面为业务申请日志ID、定义日志ID对应的数据结构,并查看日志数据;
缓存文件模块,用于对网络通信模块接收到的客户端上报的日志数据进行初步缓存。
10.如权利要求9所述的系统,其特征在于,所述日志服务器进一步包括:日志数据保存模块、日志数据库模块以及日志文件模块,其中,
日志数据保存模块,用于读取缓存文件模块存储的缓存文件中的日志数据,解析得到日志ID后,根据存储的配置信息,如果该日志ID的配置信息为将日志数据写入mysql数据库,则将缓存文件夹中的日志数据写入日志数据库中;如果该日志ID的配置信息为将日志数据写入本地日志文件,则将缓存文件中的日志数据写入文本文件中;
日志数据库模块,负责将需要入库的日志数据写入数据库,封装了操作数据库的实现细节;
日志文件模块,负责将不需要入库的日志数据写入文本文件中,写文本文件的时候按申请日志ID时的配置对文件按天滚动或按小时滚动,以免单个文件太大。
11.如权利要求10所述的系统,其特征在于,所述日志服务器进一步包括日志数据分析模块,其中:
日志数据分析模块,用于基于日志数据库模块以及日志文件模块存储的日志数据进行数据分析,数据分析的结果进一步在web页面上展示。
CN201110204958.9A 2011-07-21 2011-07-21 一种存储日志数据的方法及日志数据存储系统 Active CN102891873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110204958.9A CN102891873B (zh) 2011-07-21 2011-07-21 一种存储日志数据的方法及日志数据存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110204958.9A CN102891873B (zh) 2011-07-21 2011-07-21 一种存储日志数据的方法及日志数据存储系统

Publications (2)

Publication Number Publication Date
CN102891873A CN102891873A (zh) 2013-01-23
CN102891873B true CN102891873B (zh) 2017-02-15

Family

ID=47535237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110204958.9A Active CN102891873B (zh) 2011-07-21 2011-07-21 一种存储日志数据的方法及日志数据存储系统

Country Status (1)

Country Link
CN (1) CN102891873B (zh)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104253835B (zh) * 2013-06-27 2018-11-16 阿里巴巴集团控股有限公司 用户行为数据采集方法及其系统
CN103546532B (zh) * 2013-07-02 2017-09-29 Tcl集团股份有限公司 一种应用共享数据的方法及系统
CN104301240B (zh) * 2013-07-19 2019-02-22 腾讯科技(深圳)有限公司 数据传输方法及系统
CN104378400B (zh) * 2013-08-15 2018-10-02 腾讯科技(深圳)有限公司 数据分散并发方法和装置
CN103559217B (zh) * 2013-10-17 2016-06-01 北京航空航天大学 一种面向异构数据库的海量组播数据入库实现方法
CN104601354B (zh) * 2013-10-31 2019-05-17 深圳市腾讯计算机系统有限公司 一种业务日志存储方法、装置及系统
CN105191211B (zh) * 2013-12-09 2018-12-18 北京新媒传信科技有限公司 服务器集群下的日志提取方法和服务器集群
CN103795577A (zh) * 2014-03-03 2014-05-14 网神信息技术(北京)股份有限公司 日志服务器处理日志的方法和装置
CN103927338A (zh) * 2014-03-26 2014-07-16 网神信息技术(北京)股份有限公司 日志信息入库处理方法和装置
CN104461844A (zh) * 2014-10-31 2015-03-25 大唐移动通信设备有限公司 一种基于规则的日志服务方法
CN104580372A (zh) * 2014-12-12 2015-04-29 安徽富煌和利时科技股份有限公司 电子站牌工控机状态文件传送方法
CN104468222A (zh) * 2014-12-15 2015-03-25 北京奇虎科技有限公司 上报日志信息的方法、装置及系统
CN104579767B (zh) * 2014-12-29 2018-01-02 山石网科通信技术有限公司 网关日志信息的发送方法和系统
CN104601489B (zh) * 2015-02-02 2018-03-27 迈普通信技术股份有限公司 一种日志块传输方法及设备
CN105005528B (zh) * 2015-06-26 2018-07-24 浪潮(北京)电子信息产业有限公司 一种日志信息提取方法及装置
CN106547788B (zh) * 2015-09-22 2020-09-25 网宿科技股份有限公司 数据处理方法和装置
CN105260282B (zh) * 2015-09-23 2018-04-24 浪潮(北京)电子信息产业有限公司 一种应用读写特征分析方法及装置
CN106557530B (zh) * 2015-09-30 2019-10-11 腾讯科技(深圳)有限公司 业务系统、数据修复方法及装置
CN105430534B (zh) * 2015-10-29 2019-12-10 Tcl集团股份有限公司 一种智能设备上报数据的方法和系统
CN106681998A (zh) * 2015-11-05 2017-05-17 北京国双科技有限公司 一种日志远程存储的方法及装置
CN107305521A (zh) * 2016-04-20 2017-10-31 百度在线网络技术(北京)有限公司 日志记录方法和装置
CN106130782A (zh) * 2016-07-19 2016-11-16 努比亚技术有限公司 一种获取服务器日志的方法和系统
CN106407071A (zh) * 2016-09-06 2017-02-15 珠海迈科智能科技股份有限公司 一种基于linux的内容服务后台日志自动分析工具
CN107979631B (zh) * 2016-10-25 2021-06-22 航天信息软件技术有限公司 数据同步的方法和装置
CN106776130B (zh) * 2016-11-30 2020-07-28 华为技术有限公司 一种日志恢复方法、存储装置和存储节点
CN106708578B (zh) * 2016-12-23 2021-11-09 北京五八信息技术有限公司 基于双线程的日志输出方法及装置
CN106649735B (zh) * 2016-12-23 2020-01-10 腾讯科技(深圳)有限公司 一种记录日志数据的方法和装置
CN106815089A (zh) * 2016-12-23 2017-06-09 北京五八信息技术有限公司 基于日志的故障排查方法及装置
CN107193721B (zh) * 2017-03-30 2020-10-16 武汉斗鱼网络科技有限公司 一种生成日志的方法和装置
CN109308247B (zh) * 2017-07-27 2023-02-03 东软集团股份有限公司 一种日志处理方法、装置、设备及一种网络设备
CN107480277B (zh) * 2017-08-22 2021-01-26 北京京东尚科信息技术有限公司 用于网站日志采集的方法及装置
CN107566480B (zh) * 2017-08-30 2021-04-30 北京京东尚科信息技术有限公司 移动终端应用的用户活动信息采集方法及装置、存储介质
CN107689999A (zh) * 2017-09-14 2018-02-13 北纬通信科技南京有限责任公司 一种云平台全自动计算方法及装置
CN108038171B (zh) * 2017-12-07 2020-07-03 杭州电魂网络科技股份有限公司 数据写入方法、装置及数据服务器
CN108389056A (zh) * 2018-01-30 2018-08-10 阿里巴巴集团控股有限公司 一种确定投诉原因的方法及装置
CN109508246A (zh) * 2018-06-25 2019-03-22 广州多益网络股份有限公司 日志记录方法、系统和计算机可读存储介质
CN108920637A (zh) * 2018-07-02 2018-11-30 北京科东电力控制系统有限责任公司 应用于同步子系统的数据库数据同步方法及装置
CN109240844B (zh) * 2018-08-20 2022-03-22 成都国科微电子有限公司 一种日志获取方法及系统
CN110968561B (zh) * 2018-09-30 2024-02-13 北京国双科技有限公司 日志存储方法和分布式系统
CN109302622B (zh) * 2018-10-23 2021-05-07 贵阳朗玛信息技术股份有限公司 一种iptv-epg运行日志采集系统及方法
CN109471743A (zh) * 2018-11-12 2019-03-15 深圳前海微众银行股份有限公司 日志收集方法、装置及计算机可读存储介质
CN111198853B (zh) * 2018-11-16 2023-08-22 北京微播视界科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN109213741A (zh) * 2018-11-22 2019-01-15 浙江中农在线电子商务有限公司 高性能日志存储方法及装置
CN109522198A (zh) * 2018-11-26 2019-03-26 北京微播视界科技有限公司 应用程序的处理方法、装置、电子设备及可读存储介质
CN109656778B (zh) * 2018-11-28 2022-07-12 金蝶软件(中国)有限公司 数据获取方法、装置、计算机设备和存储介质
CN109739687A (zh) * 2018-12-03 2019-05-10 国云科技股份有限公司 一种基于Elasticsearch的快照管理系统及方法
CN109688027A (zh) * 2018-12-24 2019-04-26 努比亚技术有限公司 一种数据采集方法、装置、设备、系统及存储介质
CN110389933B (zh) * 2019-07-01 2022-04-22 京信网络系统股份有限公司 一种进程间的日志管理方法及装置
CN111177094B (zh) * 2019-09-23 2024-08-06 腾讯科技(深圳)有限公司 日志数据处理方法、装置、电子设备及存储介质
CN110750372B (zh) * 2019-10-16 2024-05-14 深圳技威时代科技有限公司 基于共享内存的日志系统及日志管理方法
CN111245891A (zh) * 2019-12-27 2020-06-05 特瓦特能源科技有限公司 一种数据实时展示方法及装置
CN111274215A (zh) * 2020-01-08 2020-06-12 成都康赛信息技术有限公司 一种基于分布式的日志统一管理方法
CN111432042B (zh) * 2020-03-02 2022-09-16 平安科技(深圳)有限公司 网络地址处理方法、计算机设备及存储介质
CN111475468A (zh) * 2020-03-05 2020-07-31 中国平安人寿保险股份有限公司 新增系统的日志接入方法、装置、设备及存储介质
CN111416767A (zh) * 2020-03-16 2020-07-14 广东科徕尼智能科技有限公司 一种边缘智能网关的日志输出方法、设备及存储介质
CN111585807A (zh) * 2020-04-30 2020-08-25 杭州涂鸦信息技术有限公司 日志管理方法及相关设备
CN112202598B (zh) * 2020-09-10 2022-12-27 青岛海信网络科技股份有限公司 一种日志记录方法及装置
CN113157518B (zh) * 2021-02-24 2024-07-16 中国建设银行股份有限公司 一种设备接入方法及装置
CN113268464B (zh) * 2021-06-07 2023-06-23 平安科技(深圳)有限公司 日志展示方法、装置、电子设备及存储介质
CN114297168A (zh) * 2021-12-23 2022-04-08 广东悦伍纪网络技术有限公司 业务系统的日志管理方法、装置、计算机设备和存储介质
CN114827126B (zh) * 2022-03-24 2023-07-14 中通服创立信息科技有限责任公司 一种iptvcdn用户播放日志上报方法和系统
CN115037796B (zh) * 2022-06-06 2024-06-11 联通(广东)产业互联网有限公司 一种实时数据发送方法、接收方法及相应的设备和系统
CN115017223B (zh) * 2022-08-04 2022-10-25 成都运荔枝科技有限公司 一种支持大数据量导入导出的系统
CN115460054B (zh) * 2022-08-26 2024-04-19 深圳技威时代科技有限公司 基于共享内存的云服务管理发布方法及系统
CN116561088B (zh) * 2023-07-04 2023-10-17 合众新能源汽车股份有限公司 车载系统的日志管理方法、装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722663A (zh) * 2004-07-13 2006-01-18 联想(北京)有限公司 一种代理服务器系统及其实现代理通讯的方法
CN101651707A (zh) * 2009-09-22 2010-02-17 西安交通大学 一种网络用户行为日志自动获取方法
CN101675679A (zh) * 2007-05-01 2010-03-17 高通股份有限公司 用于移动装置的应用程序日志接口

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2327211A1 (en) * 2000-12-01 2002-06-01 Nortel Networks Limited Management of log archival and reporting for data network security systems
CN1567248A (zh) * 2003-07-01 2005-01-19 华为技术有限公司 应用程序日志记录方法及系统
CN101272276B (zh) * 2008-04-22 2011-10-26 深圳国人通信有限公司 一种日志管理的实现方法
US8214329B2 (en) * 2008-08-26 2012-07-03 Zeewise, Inc. Remote data collection systems and methods
CN102098310B (zh) * 2011-02-22 2013-06-19 中国联合网络通信集团有限公司 流媒体内容服务方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1722663A (zh) * 2004-07-13 2006-01-18 联想(北京)有限公司 一种代理服务器系统及其实现代理通讯的方法
CN101675679A (zh) * 2007-05-01 2010-03-17 高通股份有限公司 用于移动装置的应用程序日志接口
CN101651707A (zh) * 2009-09-22 2010-02-17 西安交通大学 一种网络用户行为日志自动获取方法

Also Published As

Publication number Publication date
CN102891873A (zh) 2013-01-23

Similar Documents

Publication Publication Date Title
CN102891873B (zh) 一种存储日志数据的方法及日志数据存储系统
CN109034993B (zh) 对账方法、设备、系统及计算机可读存储介质
US9697104B2 (en) End-to end tracing and logging
CN107818431B (zh) 一种提供订单轨迹数据的方法和系统
CN110971655B (zh) 离线客户端重放和同步
CN110569298B (zh) 一种数据对接、可视化方法和系统
US10552293B2 (en) Logging as a service
CN111338893B (zh) 进程日志处理方法、装置、计算机设备以及存储介质
WO2021169275A1 (zh) Sdn 网络设备访问方法、装置、计算机设备及存储介质
CN108737549A (zh) 一种大数据量的日志分析方法及装置
US10775751B2 (en) Automatic generation of regular expression based on log line data
CN110851471A (zh) 分布式日志数据处理方法、装置以及系统
CN112017007A (zh) 用户行为数据的处理方法及装置、计算机设备、存储介质
CN113836237A (zh) 对数据库的数据操作进行审计的方法及装置
CN112256406A (zh) 作业流程平台化调度方法
CN113010607A (zh) 系统间数据同步方法、装置、计算机系统、存储介质
CN113553260B (zh) 测试方法、测试装置、设备和介质
CN116010494A (zh) 一种支持异构数据源的数据交换系统
CN118295815A (zh) 异步任务处理方法、装置、设备、介质和程序产品
CN111447273B (zh) 云处理系统及基于云处理系统的数据处理方法
CN108959309B (zh) 数据分析的方法和装置
CN111698109A (zh) 监控日志的方法和装置
CN106557530A (zh) 业务系统、数据修复方法及装置
CN113392343A (zh) 数据抽取方法、设备、介质及计算机程序产品
CN113067878A (zh) 信息采集方法、装置、设备、介质及程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20181212

Address after: 100090 Beijing Haidian District Zhichun Road 49 No. 3 West 309

Patentee after: Tencent cloud computing (Beijing) limited liability company

Address before: 518044 East 403 room, Sai Ge science and Technology Park, Futian District Zhenxing Road, Shenzhen, Guangdong, China, 2

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.