一种基于日志文件的数据管理方法及数据管理系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种基于日志文件的数据管理方法及数据管理系统。
【背景技术】
[0002]I)数据共享
[0003]数据共享是让多个应用共享同一份数据来达到数据一致的目的,在同一时刻可以有多个应用读取同一份数据,但同一时刻只能有一个应用修改一份数据。数据共享的模型可以如图1所示。
[0004]由于所有应用均访问同一份数据,数据一致性得到了很好的保证,但数据所在设备需要承受巨大的访问压力,为了能承受住这种压力,往往需要购买性能优越的硬件设备,花费不菲。
[0005]2)数据复制
[0006]数据复制通过将一份数据复制多份供不同的应用(或者不同的场景)使用。常见的形式有读写分离、历史数据、离线数据等。数据复制的模型可以如图2所示。其中,现有数据复制包括以下特点:
[0007]读写分离:将数据完整的复制到另外一台机器上,一份数据供写操作、一份数据供读操作。将读、写操作分开,降低单个系统的压力,增强系统的健壮性。
[0008]历史数据:历史数据是从时间的角度将数据分开,减轻“当前”数据库的压力,对历史数据的操作都转移到历史库中进行。
[0009]离线数据:相对于在线数据而言,将在线数据复制出来供一些实时性要求不高、对数据库性能影响较大的操作放到离线数据上来,如统计、报表等。
[0010]与数据共享相比较,数据复制提供了以下两个关键特性:
[0011]可扩展性:方便进行横向扩展,可以根据需要,将数据复制到其他台服务器上供系统使用,简单增加服务器就能实现扩展。
[0012]高可用性:由于数据被复制在多个服务器上,规避了数据单点,同时降低了单个服务器的压力,如果某个服务器有压力,可以增加新的服务器进来,分担系统压力,增强整个系统的抗风险能力,保障系统的闻可用。
[0013]现有技术中,在互联网大数据量访问的情况下,数据共享方式中的数据存储设备很容易成为系统的瓶颈,很难满足当前互联网大访问量、高并发的要求。为了追求尽可能好的性能表现,往往需要购买昂贵的存储设备,成本高。
[0014]数据复制在一定程度上实现了扩展性,缓解系统压力,增强系统抗风险能力,保证高可用,能在一定程度上使用互联网场景的要求。但读写分离是完整的将一份数据复制到另一个设备上,数据内容、划分数据的角度均完全一致,在当前互联网大数据量的场景下,为保证对数据的修改、检索的高效,数据通常都是按某个维度进行多次横向、纵向切割后进行存储的,不同的业务场景需要从不同的维度来检索、展示数据,某一个维度的数据只能使用某些场景下的业务需求,无法实现另外一些业务场景的需求。历史数据从时间的维度将数据进行分割,可以满足某些业务场景需求,但是无法满足所有业务场景需求。例如用户在10086上订购了一本电子书,从用户的维度来看,用户关心的是自己的订单;从运营商的维度来看,他希望看到的是所有订购电子书的订单;从电子书作者来看,他希望看到的是所有订购该书的订单。在海量数据的情况下,用户的数据可能会按用户账号做切割存放在不同的表里(或库里);运营商的数据可能会按时间做切割存放在不同的表里(或库里);电子书作者的数据可能会按照作品来做切割存放在不同的表里(或库里)。在类似的场景里简单做复制、历史数据或离线数据都只能在解决一个问题的同时,增加其他问题的复杂度。
【发明内容】
[0015]本发明提供了一种基于日志文件的数据管理方法及数据管理系统,用以提高数据管理的灵活性、可扩展性。
[0016]为了达到以上目的,本发明提供了一种基于日志文件的数据管理方法,所述日志文件中的每一条记录包括事件开始标识、事件头、数据内容,以及事件结束标识;当所述日志文件中新增记录时,该方法包括:
[0017]数据管理系统对所述新增的记录进行解析,获取所述记录中包括的数据内容;
[0018]所述数据管理系统根据预设的转换规则对所述数据内容进行转换,并根据转换后的数据对至少两个不同的目标数据库中的数据进行相应处理;其中,不同的目标数据库对应不同的转换规则。
[0019]本发明实施例还提供了一种基于日志文件的数据管理系统,所述日志文件中的每一条记录包括事件开始标识、事件头、数据内容,以及事件结束标识;该数据管理系统包括:
[0020]获取模块,用于当所述日志文件中新增记录时,对所述新增的记录进行解析,获取所述记录中包括的数据内容;
[0021]处理模块,用于根据预设的转换规则对所述数据内容进行转换,并根据转换后的数据对至少两个不同的目标数据库中的数据进行相应处理;其中,不同的目标数据库对应不同的转换规则。
[0022]本发明上述实施例中,当日志文件中新增记录时,数据管理系统对该新增的记录进行解析,获取该记录中包括的数据内容,并根据预设的转换规则对数据内容进行转换,进而根据转换后的数据对至少两个不同的目标数据库中的数据进行相应处理,实现了将一份数据转换成多个维度的数据,提高了数据管理的灵活性和可扩展性。
【附图说明】
[0023]图1为现有技术中一种数据共享的模型示意图;
[0024]图2为现有技术中一种数据复制的模型示意图;
[0025]图3为本发明实施例提供的一种基于日志文件的数据管理方法的流程示意图;
[0026]图4为本发明实施例提供的一种数据管理系统的系统架构示意图;
[0027]图5为本发明实施例提供的一种数据管理系统的结构示意图。
【具体实施方式】
[0028]针对上述现有技术中的问题,本发明实施例提供了一种技术日志文件的数据管理的技术方案。在该技术方案中,日志文件中的每一条记录包括事件开始标识、事件头、数据内容,以及事件结束标识,当日志文件中新增记录时,数据管理系统对该新增的记录进行解析,获取该记录中包括的数据内容,并根据预设的转换规则对数据内容进行转换,进而根据转换后的数据对至少两个不同的目标数据库中的数据进行相应处理。
[0029]其中,在本发明实施例中,不同的目标数据库对应不同的转换规则,数据管理系统根据相应的目标数据库对应的转换规则对获取到的数据内容进行转换,对于不同的目标数据库,数据转换的结果不同,实现了将一份数据转换成多个维度的数据,提高了数据管理的灵活性和可扩展性。
[0030]下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0031]如图3所示,为本发明实施例提供的一种基于日志文件的数据管理方法的流程示意图,其中,当日志文件中新增记录时,该方法可以包括以下步骤:
[0032]步骤301、数据管理系统对所述新增的记录进行解析,获取所述记录中包括的数据内容。
[0033]具体的,在本发明实施例中,业务系统可以按照一定的格式将对数据的操作写入日志文件,该日志文件中的每一条记录均可以包括事件开始标识、事件头、数据内容,以及事件结束标识。
[0034]当日志文件中新增记录时,数据管理系统可以从日志文件中读取该新增的记录,并对该新增的记录进行解析,以获取该记录中包括的数据内容。
[0035]其中,在本发明实施例中,日志文件中的记录中包括的事件头中可以包含该记录对应的数据所在容器信息(源数据库、或数据表等),数据管理系统可以针对数据所在容器信息对日志文件中新增记录中包含的数据内容进行筛选。
[0036]相应地,数据管理系统在解析日志文件的新增记录过程中,数据管理系统可以在获取记录中包括的数据内容之前,根据记录中包括的事件头中包括的数据所在容器信息,以及预先设置的第一过滤规则(针对容器的过滤规则),对该记录中的数据内容进行过滤,以判断是否继续对该记录进行解析;若判断为是,则进一步执行获取该记录