CN108616556B - 数据处理方法、装置和*** - Google Patents
数据处理方法、装置和*** Download PDFInfo
- Publication number
- CN108616556B CN108616556B CN201611147953.6A CN201611147953A CN108616556B CN 108616556 B CN108616556 B CN 108616556B CN 201611147953 A CN201611147953 A CN 201611147953A CN 108616556 B CN108616556 B CN 108616556B
- Authority
- CN
- China
- Prior art keywords
- log data
- data
- log
- node
- storage system
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了数据处理方法、装置和***,通过分布式在线存储***中的各个存储节点根据待导出日志数据的数据量,将待导出日志数据拆分为至少两个数据包,从而向至少两个采集节点分别进行发送,从而在日志生成速度较高时,能够及时导出分布式在线存储***中各存储节点的日志数据;同时,采集节点分别从分布式在线存储***的至少两个存储节点接收日志数据,并当分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***,从而在日志生成速度低于导出速度时,避免了采集节点资源的浪费,解决了现有技术中的导出***的导出速度与分布式在线存储***的对导出速度的需求不匹配的技术问题。
Description
技术领域
本发明涉及信息技术,尤其涉及一种数据处理方法、装置和***。
背景技术
在分布式在线数据存储***中的每一个存储节点维护一组日志文件,在组内日志是按照时间戳所指示的生成时间进行排序的,每一个日志中包括有数据操作情况的记录。
由于在分布式在线数据存储***中所存储的数据为在线数据,为了进行周期型离线计算,需要将这些在线数据按照时间戳单调递增的顺序导出到离线***中。在现有技术中,日志导出***中的一个采集节点将对应的一个存储节点中的日志,按照日志的生成顺序进行采集,并写入到离线***。
但由于分布式在线数据存储***中各存储节点的日志仅能够由日志导出***中对应的一个采集节点进行采集,当存储节点日志生成速度高于导出速度时导致不能及时导出,而当存储节点日志生成速度低于导出速度时导致采集节点资源的浪费。因此,现有的日志导出方式不够灵活,容易导致导出***的导出速度与分布式在线存储***的对导出速度的需求不匹配。
发明内容
本发明提供一种数据处理方法、装置和***,用于解决现有技术中的日志导出***的导出速度与分布式在线存储***的对导出速度的需求不匹配的技术问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据处理方法,包括:
分布式在线存储***中的存储节点根据待导出的目标日志数据的数据量,将所述目标日志数据拆分为至少两个数据包;
所述存储节点将所述至少两个数据包,分别发送至日志导出***中的各采集节点;
接收到所述数据包的采集节点,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区;
当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,所述日志导出***中的分区管理节点将所述目标时间分区内的日志数据转存至离线存储***。
第二方面,提供了一种分布式在线存储***,包括:多个存储节点;
所述存储节点,用于根据待导出的目标日志数据的数据量,将所述目标日志数据拆分为至少两个数据包;将所述至少两个数据包,分别发送至日志导出***中的各采集节点。
第三方面,提供了一种日志导出***,包括:分区管理节点和多个采集节点;
所述采集节点,用于接收分布式在线存储***中各存储节点所发送的数据包,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区;
所述分区管理节点,用于当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,将所述目标时间分区内的日志数据转存至离线存储***。
第四方面,提供了一种数据处理方法,包括:
根据待导出日志数据的数据量,将所述待导出日志数据拆分为至少两个部分;
向至少两个采集节点分别发送对应部分的日志数据。
第五方面,提供了一种数据处理方法,包括:
从分布式在线存储***的至少两个节点分别接收日志数据;
当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
第六方面,提供了一种数据处理装置,包括:
拆分模块,用于根据待导出日志数据的数据量,将所述待导出日志数据拆分为至少两个部分;
发送模块,用于向至少两个采集节点分别发送对应部分的日志数据。
第七方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:根据待导出日志数据的数据量,将所述待导出日志数据拆分为至少两个部分;向至少两个采集节点分别发送对应部分的日志数据。
第八方面,提供了一种数据处理装置,包括:
接收模块,用于从分布式在线存储***的至少两个节点分别接收日志数据;
写入模块,用于当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
第九方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:从分布式在线存储***的至少两个节点分别接收日志数据;当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
本发明实施例提供的数据处理方法、装置和***,通过分布式在线存储***中的各个存储节点根据待导出日志数据的数据量,将待导出日志数据拆分为至少两个数据包,从而向至少两个采集节点分别进行发送,从而在日志生成速度较高时,能够及时导出分布式在线存储***中各存储节点的日志数据;同时,采集节点分别从分布式在线存储***的至少两个存储节点接收日志数据,并当分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***,从而在日志生成速度低于导出速度时,避免了采集节点资源的浪费,解决了现有技术中的导出***的导出速度与分布式在线存储***的对导出速度的需求不匹配的技术问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例所提供的一种数据处理方法的流程示意图;
图2为分布式在线存储***的结构示意图;
图3为日志导出***的结构示意图;
图4为本发明实施例四提供的一种数据处理方法的流程示意图;
图5为随机发送数据包的示意图;
图6为现有技术中存储节点与采集节点的示意图;
图7为本发明实施例五提供的一种数据处理方法的流程示意图;
图8为本发明实施例六提供的日志导出***的架构图;
图9为同步时间点监测过程的示意图;
图10为本发明实施例七提供的一种数据处理装置的结构示意图;
图11为本发明实施例七提供的另一种数据处理装置的结构示意图;
图12为本发明实施例八提供的一种数据处理装置的结构示意图;
图13为本发明实施例八提供的另一种数据处理装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图对本发明实施例提供的数据处理方法、装置和***进行详细描述。
实施例一
图1为本发明实施例所提供的一种数据处理方法的流程示意图,本实施例所提供的方法由分布式在线存储***以及日志导出***执行,如图1所示,数据处理方法包括:
步骤101,分布式在线存储***中的存储节点根据待导出的目标日志数据的数据量,将所述目标日志数据拆分为至少两个数据包。存储节点将所述至少两个数据包,分别发送至日志导出***中的各采集节点。
具体地,各个存储节点可以采用随机或者轮询方式选择每一数据包所需发送至的采集节点。进而优选采用主动发送方式,向采集节点发送对应部分的日志数据,这是由于,尽管采集节点采用主动获取方式,也能够实现本实施例中向采集节点发送日志数据的目的,但是需要采集节点周期性扫描分布式在线存储***的文件***目录以便获知存在待导出日志数据,由于在大数据环境下,日志规模巨大,采集节点每扫描一次文件***目录都需要消耗***的资源,导致分布式在线存储***的性能波动,从而优选采用主动发送方式向采集节点发送对应部分的日志数据。
需要说明的是,各个存储节点所选择的采集节点之间可以具有交集,也可以不具有交集,本实施例中对此不做限定。
步骤102,接收到数据包的采集节点,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区。
具体地,分布式在线存储***中的不同节点所选择发送日志数据的采集节点之间存在交集时,日志导出***中的采集节点会出现从分布式在线存储***的至少两个节点分别接收日志数据的情况。由于采集节点所接收到的日志数据来自分布式在线存储***中不同的节点,且各个节点的日志数据之间不具有时序性,因此,所接收到的日志数据很可能不是按照时间戳顺序排列的,也就是说接收到的日志数据很可能是乱序的。为了满足离线***的周期型计算需求,日志导出***还需要将所接收到的这些日志数据按照时间戳的顺序导出到离线***。
进一步,在一种可能的应用场景中,分布式在线存储***工作于主备模式,从而分布式在线存储***中会存在重复的日志数据,需要进行去重。具体地,在执行步骤103之前,可以由接收到数据包的采集节点查询所接收到的数据包所携带的来源标记,当根据所述来源标记确定出所述数据包内的目标日志数据的直接来源不为客户端时,对所接收到的数据包进行删除。
步骤103,当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,所述日志导出***中的分区管理节点将所述目标时间分区内的日志数据转存至离线存储***。
具体地,日志导出***中的各采集节点竞争获得计算权限,竞争获得计算权限的采集节点监测所述分布式在线存储***中每一个存储节点的待导出日志数据的最小时间戳。竞争获得计算权限的采集节点根据各个存储节点中待导出日志数据的最小时间戳中的最小值,计算所述分布式在线存储***中待导出的日志数据的最小时间戳;竞争获得计算权限的采集节点将所述分布式在线存储***各存储节点的待导出日志数据最小时间戳,发送至分区管理节点。从而当分布式在线存储***各存储节点的待导出日志数据最小时间戳大于目标时间分区的时间上限时,分区管理节点将所述目标时间分区内的日志数据转存至离线存储***。
本实施例中,通过分布式在线存储***中的各个存储节点根据待导出日志数据的数据量,将待导出日志数据拆分为至少两个数据包,从而向至少两个采集节点分别进行发送,从而在日志生成速度较高时,能够及时导出分布式在线存储***中各存储节点的日志数据;同时,采集节点分别从分布式在线存储***的至少两个存储节点接收日志数据,并当分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***,从而在日志生成速度低于导出速度时,避免了采集节点资源的浪费,解决了现有技术中的导出***的导出速度与分布式在线存储***的对导出速度的需求不匹配的技术问题。
实施例二
为了清楚说明上一实施例,本实施例提供了一种分布式在线存储***,图2为分布式在线存储***的结构示意图,如图2所示,分布式在线存储***包括多个存储节点。
存储节点用于根据待导出的目标日志数据的数据量,将所述目标日志数据拆分为至少两个数据包;将所述至少两个数据包,分别发送至日志导出***中的各采集节点。
具体地,存储节点在将至少两个数据包分别发送至日志导出***中时,随机从日志到处***中选择采集节点进行数据包的发送。
本实施例中,通过分布式在线存储***中的各个存储节点根据待导出日志数据的数据量,将待导出日志数据拆分为至少两个数据包,从而向至少两个采集节点分别进行发送,从而在日志生成速度较高时,能够及时导出分布式在线存储***中各存储节点的日志数据。
实施例三
为了清楚说明上一实施例,本实施例提供了一种日志导出***,图3为日志导出***的结构示意图,如图3所示,日志导出***包括分区管理节点和多个采集节点。
采集节点,用于接收分布式在线存储***中各存储节点所发送的数据包,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区。
分区管理节点,用于当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,将所述目标时间分区内的日志数据转存至离线存储***。
作为一种可能的实现方式,各个采集节点竞争获得计算权限;当竞争获得计算权限时,监测所述分布式在线存储***中每一个存储节点的待导出日志数据的最小时间戳;根据各个存储节点中待导出日志数据的最小时间戳中的最小值,计算所述分布式在线存储***中待导出的日志数据的最小时间戳;将所述分布式在线存储***各存储节点的待导出日志数据最小时间戳,发送至所述分区管理节点。
进一步,在一种可能的应用场景中,分布式在线存储***工作于主备模式,从而分布式在线存储***中会存在重复的日志数据,需要进行去重。具体地,在各个采集节点将所接收到的数据包中的日志数据写入临时表中对应的时间分区之前,可以由接收到数据包的采集节点查询所接收到的数据包所携带的来源标记,当根据所述来源标记确定出所述数据包内的目标日志数据的直接来源不为客户端时,对所接收到的数据包进行删除。
本实施例中,采集节点分别从分布式在线存储***的至少两个存储节点接收日志数据,并当分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***,从而在日志生成速度低于导出速度时,避免了采集节点资源的浪费,解决了现有技术中的导出***的导出速度与分布式在线存储***的对导出速度的需求不匹配的技术问题。
实施例四
为了清楚说明前述分布式在线存储***中各个存储节点所执行的数据处理方法,本实施例提供了一种数据处理方法,图4为本发明实施例四提供的一种数据处理方法的流程示意图,如图4所示,方法包括:
步骤401,根据待导出日志数据的数据量,将待导出日志数据拆分为至少两个部分。
其中,各个存储节点待导出日志数据是以日志文件形式进行存储的,在每一篇日志文件中包含有多条记录。
具体地,每一个存储节点对其所生成的日志数据,拆分为多个部分时,由于每一篇日志文件的数据量较大,因此,是以日志中的记录为最小单位进行拆分的。每个拆分获得的部分中所包含的数据量是大致相同的,从而根据待导出日志数据的数据量的不同,待导出日志数据被拆分为多个部分,进而节点将每一个部分打包为一个数据包。
步骤402,向至少两个采集节点分别发送对应部分的日志数据。
具体地,各个存储节点可以采用随机或者轮询方式选择每一部分的日志数据所需发送至的采集节点。进而优选采用主动发送方式,向采集节点发送对应部分的日志数据,这是由于,尽管采集节点采用主动获取方式,也能够实现本实施例中向采集节点发送日志数据的目的,但是需要采集节点周期性扫描分布式在线存储***的文件***目录以便获知存在待导出日志数据,由于在大数据环境下,日志规模巨大,采集节点每扫描一次文件***目录都需要消耗***的资源,导致分布式在线存储***的性能波动,从而优选采用主动发送方式向采集节点发送对应部分的日志数据。
需要说明的是,各个存储节点所选择的采集节点之间可以具有交集,也可以不具有交集,本实施例中对此不做限定。
通过各个节点对待导出日志数据进行拆分,从而当待导出日志数据的数据量较大时,可以增加接收日志数据的采集节点的数量,当待导出日志数据的数据量较小时,可以减少接收日志数据的采集节点的数量,使得存储节点与采集节点之间能够动态匹配。
作为一种可能的实现方式,各个存储节点可以从全部采集节点中随机确定每一个数据包所发送至的采集节点。分布式在线存储***,例如Hbase***,可以利用同步机制实现这种随机发送数据包的过程。图5为随机发送数据包的示意图,如图5所示,日志导出***,例如Exporter***,模拟了分布式在线存储***中备用集群的角色,分布式在线存储***中的各个存储节点,将需要导出的数据包随机发送至日志导出***中的某一个采集节点,从而形成了存储节点与采集节点之间多对多的关系。由于各个存储节点随机选择数据包所发送至的采集节点,因此,各个采集节点之间是完全对等的,在各个采集节点均已饱和的情况下,可以方便的增加新的采集节点,而无需配置存储节点与采集节点之间对应关系。因此,相较于图6所示的存储节点与采集节点一一对应的方式,本实施例所提供的如图5所示的***,能够方便地进行水平扩展,解决了采集节点受限于与存储节点之间的一一对应关系无法进行扩展的技术问题。
实施例五
图7为本发明实施例五提供的一种数据处理方法的流程示意图,本实施例所提供的方法由日志导出***中的各个采集节点执行,用于将上一实施例中分布式在线存储***各存储节点所提供的日志数据导出至离线***,如图7所示,方法包括:
步骤501、从分布式在线存储***的至少两个节点分别接收日志数据。
具体地,分布式在线存储***中的不同节点所选择发送日志数据的采集节点之间存在交集时,日志导出***中的采集节点会出现从分布式在线存储***的至少两个节点分别接收日志数据的情况。由于采集节点所接收到的日志数据来自分布式在线存储***中不同的节点,且各个节点的日志数据之间不具有时序性,因此,所接收到的日志数据很可能不是按照时间戳顺序排列的,也就是说接收到的日志数据很可能是乱序的。为了满足离线***的周期型计算需求,日志导出***还需要将所接收到的这些日志数据按照时间戳的顺序导出到离线***。
步骤502、当分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
为了将所接收到的这些日志数据按照时间戳的顺序导出到离线***,日志导出***设置了一个临时表,该临时表内是按照时间段进行分区的,用于临时缓存各个节点所接收到的日志数据,在等待时间戳为某一时段内的全部日志数据采集完毕时,再将该时间段内的日志数据写入到离线***,从而保证时序性。在按照时间段进行分区时,可以根据离线***所需的时间精度设置时间段的长短,若离线***所需要的时间精度较高,时序性较强,则可以设置较短的时间段,反之可以适当延长这一时间段。
具体地,在采集节点接收到数据包形式的日志数据之后,获取到数据包中的各条记录,每一条记录包含有一个时间戳,该时间戳记录有该条记录的生成时间。采集节点根据这个时间戳,将各条记录缓存到对应的时间分区内。在根据监测的同步时间点,确定出时间戳属于该时间分区的时间段内的记录均已缓存时,将该时间分区内的记录写入到离线***,从而完成日志数据的导出。
其中,同步时间点为分布式在线存储***中待导出日志数据的最小时间戳,采集节点可以根据同步时间点,确定时间戳为某一时段内的全部日志数据是否采集完毕:当同步时间点大于该时间段上限时,则确定时间戳为某一时段内的全部日志数据已采集完毕。具体地,当同步时间点超出前述时间分区的时间段上限时,便可以确定出时间戳属于该时间分区的时间段内的记录均已缓存,此时可将该时间分区内的记录写入到离线***,从而满足离线***的时序性需求。
作为本实施例所提供的方法的一种可能的应用场景,可以对基于主备模式的分布式在线存储***进行数据导出。
在这一应用场景中,由于主备模式下,主集群中的数据会与备集群中的数据存在重复的情况,因此,在对主备模式的分布式在线存储***进行数据导出时,还需要查询写入到离线***中的日志数据是否存在重复的情况。
具体地,在分布式在线存储***中的存储节点对日志数据进行打包时,在数据包中携带了来源标记,用于指示日志数据所记录数据的直接来源。采集节点在接收到该数据包之后,查询数据包所携带的来源标记,若来源标记指示直接来源为主集群或备集群,则说明该数据是基于主备集群的同步机制,出于备份的需求,在主集群或者备集群上进行备份存储的,因此,为重复数据,需要进行抛弃;若来源标记指示直接来源为客户端,则说明该数据是客户端直接写入的,而不是备份存储的,因此进行保留。
实施例六
在上一实施例中,步骤502中需要利用分布式在线存储***中待导出日志数据的最小时间戳,也就是同步时间点,将日志数据写入离线***,因此,需要日志导出***在执行实施例五所示方法的同时对同步时间点进行监测,图8为本发明实施例六提供的日志导出***的架构图,本实施例在上一实施例的基础上,对同步时间点的监测进行说明,该监测过程可以具体由如图8所示的采集节点中的同步时间点计算模块执行,而实施例五中的数据处理方法由采集节点中的采集模块执行。具体地,图9为同步时间点监测过程的示意图,如图9所示,方法包括:
步骤601、各个采集节点竞争计算权限。
具体地,可以周期性监测同步时间点,也就是每隔一段时间计算一次同步时间点,在每一次同步时间点计算之前,各个采集节点竞争同一个锁,这个锁就是同步时间点的计算权限,该计算权限仅能由一个采集节点竞争到,从而由竞争到的采集节点计算同步时间点。
这是由于一方面,同步时间点是保证日志数据能够按照时序写入到离线***的关键,因此,即使在采集节点出现宕机时,仍需要保证同步时间点的准确性,本实施例中,采用了各个采集节点竞争计算同步时间点的方式,保证了在个别采集节点宕机时,仍能够保证同步时间点的监测继续进行。
另一方面,同步时间点的计算需要对分布式在线存储***进行访问,耗费一定的运行资源,因此,出于节省资源的考虑,在每一次同步时间点计算时,仅由一个采集节点执行。
步骤602、由竞争到的计算权限的目标采集节点访问分布式在线存储***的配置服务器,获得分布式在线存储***中每一个节点待导出日志数据的最小时间戳。
具体地,在分布式在线存储***中,竞争到计算权限的目标采集节点通过访问日志信息,获知待导出的日志文件和对应的偏移量。将这些日志文件根据生成日志文件的存储节点进行分组,每一个存储节点对应一组日志文件。并在每一组内,按照各个日志文件的生成时间从早到晚的顺序进行排序。读取每一组中第一个日志文件的偏移量指向的记录,将该条记录的时间戳记为该组对应的存储节点中待导出日志数据的最小时间戳。
步骤603、目标采集节点计算各个节点中待导出日志数据的最小时间戳中的最小值,获得同步时间点。
具体地,上一步骤中计算获得了每一个存储节点中待导出日志数据的最小时间戳,进而从中选择一个最小值,作为同步时间点,也就是整个分布式在线存储***中待导出的日志数据的最小时间戳。
步骤604、目标采集节点向分区管理节点发送该同步时间点。
具体地,目标采集节点在计算出同步时间点后,向分布式在线存储***中的分区管理节点共享该同步时间点,以使分区管理节点能够根据该同步时间点,将缓存的日志数据按照时序写入离线***。
实施例七
图10为本发明实施例七提供的一种数据处理装置的结构示意图,本实施例所提供的装置可以设置在分布式在线存储***中的存储节点中,用于向日志导出***中的各个采集节点提供日志数据。如图10所示,数据处理装置40包括:拆分模块41和发送模块42。
拆分模块41,用于根据待导出日志数据的数据量,将待导出日志数据拆分为至少两个部分。
发送模块42,用于向至少两个采集节点分别发送对应部分的日志数据。
进一步,本实施例还提供了另一种数据处理装置,图11为本发明实施例七提供的另一种数据处理装置的结构示意图,在图10的基础上,进一步包括:选定模块43。
选定模块43,用于从各采集节点中随机确定所述至少两个采集节点。
为了清楚说明前述数据处理装置,本实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:根据待导出日志数据的数据量,将所述待导出日志数据拆分为至少两个部分;向至少两个采集节点分别发送对应部分的日志数据。
实施例八
图12为本发明实施例八提供的一种数据处理装置的结构示意图,本实施例所提供的装置设置在日志导出***中的各个采集节点上,用于将分布式在线存储***各存储节点所提供的日志数据导出至离线***,数据处理装置包括:接收模块51和写入模块52。
接收模块51,用于从分布式在线存储***的至少两个节点分别接收日志数据。
写入模块52,用于当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
进一步,本发明实施例还提供了另一种数据处理装置,图13为本发明实施例八提供的另一种数据处理装置的结构示意图,在图12的基础上,进一步包括:缓存模块53。
缓存模块53,用于根据所接收到的日志数据的时间戳,将所接收到的日志数据缓存到对应的时间分区内。
基于此,写入模块52,具体用于当分布式在线存储***中待导出的日志数据的最小时间戳大于所述时间分区对应的时间段的上限时,将所述时间分区内的日志数据写入到离线***。
进一步,数据处理装置50还包括:监测模块54、计算模块55和查重模块56。
监测模块54,用于当竞争获得计算权限时,监测所述分布式在线存储***中每一个节点待导出日志数据的最小时间戳。
计算模块55,用于计算各个节点中待导出日志数据的最小时间戳中的最小值,以得到所述分布式在线存储***中待导出的日志数据的最小时间戳。
查重模块56,用于查询所接收到的日志数据所携带的来源标记;当根据所述来源标记确定出日志数据所记录数据的直接来源不为客户端时,对所接收到的日志数据进行删除。
为了清楚说明前述数据处理装置,本实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:从分布式在线存储***的至少两个节点分别接收日志数据;当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种数据处理方法,其特征在于,包括:
分布式在线存储***中的存储节点根据待导出的目标日志数据的数据量,将所述目标日志数据拆分为至少两个数据包;
所述存储节点将所述至少两个数据包,分别发送至日志导出***中的各采集节点;
接收到所述数据包的采集节点,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区;
当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,所述日志导出***中的分区管理节点将所述目标时间分区内的日志数据转存至离线存储***。
2.根据权利要求1所述的数据处理方法,其特征在于,所述存储节点将所述至少两个数据包,分别发送至日志导出***中的各采集节点,包括:
所述存储节点将所述至少两个数据包,分别发送至随机选择的采集节点。
3.根据权利要求1所述的数据处理方法,其特征在于,所述当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,所述日志导出***中的分区管理节点将所述目标时间分区内的日志数据转存至离线存储***,包括:
所述日志导出***中的各采集节点竞争获得计算权限;
竞争获得计算权限的采集节点监测所述分布式在线存储***中每一个存储节点的待导出日志数据的最小时间戳;
所述竞争获得计算权限的采集节点根据各个存储节点中待导出日志数据的最小时间戳中的最小值,计算所述分布式在线存储***中待导出的日志数据的最小时间戳;
所述竞争获得计算权限的采集节点将所述分布式在线存储***各存储节点的待导出日志数据最小时间戳,发送至所述分区管理节点;
当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,所述分区管理节点将所述目标时间分区内的日志数据转存至离线存储***。
4.根据权利要求1-3任一项所述的数据处理方法,其特征在于,所述接收到所述数据包的采集节点,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区之前,还包括:
接收到所述数据包的采集节点查询所接收到的数据包所携带的来源标记;
当根据所述来源标记确定出所述数据包内的目标日志数据的直接来源不为客户端时,对所接收到的数据包进行删除。
5.一种日志导出***,其特征在于,包括:分区管理节点和多个采集节点;
所述采集节点,用于接收分布式在线存储***中各存储节点所发送的数据包,根据所接收到的数据包中目标日志数据的时间戳,将所述目标日志数据写入临时表中对应的目标时间分区;
所述分区管理节点,用于当所述分布式在线存储***各存储节点的待导出日志数据最小时间戳大于所述目标时间分区的时间上限时,将所述目标时间分区内的日志数据转存至离线存储***。
6.根据权利要求5所述的日志导出***,其特征在于,
所述采集节点,还用于竞争获得计算权限;当竞争获得计算权限时,监测所述分布式在线存储***中每一个存储节点的待导出日志数据的最小时间戳;根据各个存储节点中待导出日志数据的最小时间戳中的最小值,计算所述分布式在线存储***中待导出的日志数据的最小时间戳;将所述分布式在线存储***各存储节点的待导出日志数据最小时间戳,发送至所述分区管理节点。
7.根据权利要求5或6所述的日志导出***,其特征在于,
所述采集节点,还用于查询所接收到的数据包所携带的来源标记;当根据所述来源标记确定出所述数据包内的目标日志数据的直接来源不为客户端时,对所接收到的数据包进行删除。
8.一种数据处理方法,其特征在于,包括:
从分布式在线存储***的至少两个节点分别接收日志数据;
当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
9.根据权利要求8所述的数据处理方法,其特征在于,所述从至少两个节点分别接收日志数据之后,还包括:
根据所接收到的日志数据的时间戳,将所接收到的日志数据缓存到对应的时间分区内;
所述当分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***包括:
当分布式在线存储***中待导出的日志数据的最小时间戳大于所述时间分区对应的时间段的上限时,将所述时间分区内的日志数据写入到离线***。
10.根据权利要求8所述的数据处理方法,其特征在于,所述方法,还包括:
当竞争获得计算权限时,监测所述分布式在线存储***中每一个节点待导出日志数据的最小时间戳;
计算各个节点中待导出日志数据的最小时间戳中的最小值,以得到所述分布式在线存储***中待导出的日志数据的最小时间戳。
11.根据权利要求8-10任一项所述的数据处理方法,其特征在于,所述分布式在线存储***采用主备模式,所述从分布式在线存储***的至少两个节点分别接收日志数据之后,还包括:
查询所接收到的日志数据所携带的来源标记;
当根据所述来源标记确定出日志数据所记录数据的直接来源不为客户端时,对所接收到的日志数据进行删除。
12.一种数据处理装置,其特征在于,包括:
接收模块,用于从分布式在线存储***的至少两个节点分别接收日志数据;
写入模块,用于当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
13.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由处理器执行时,使得处理器能够执行一种数据处理方法,所述方法包括:从分布式在线存储***的至少两个节点分别接收日志数据;当所述分布式在线存储***中待导出日志数据的最小时间戳大于所接收到的日志数据的时间戳时,将所接收到的日志数据写入到离线***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611147953.6A CN108616556B (zh) | 2016-12-13 | 2016-12-13 | 数据处理方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611147953.6A CN108616556B (zh) | 2016-12-13 | 2016-12-13 | 数据处理方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108616556A CN108616556A (zh) | 2018-10-02 |
CN108616556B true CN108616556B (zh) | 2021-01-19 |
Family
ID=63658078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611147953.6A Active CN108616556B (zh) | 2016-12-13 | 2016-12-13 | 数据处理方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108616556B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109302501B (zh) * | 2018-12-10 | 2021-12-17 | 北京八分量信息科技有限公司 | 一种基于区块链技术的工控数据存储方法、装置及*** |
CN109726175A (zh) * | 2018-12-29 | 2019-05-07 | 北京赛思信安技术股份有限公司 | 一种基于HBase的海量文件离线分区管理方法 |
CN111782134B (zh) * | 2019-06-14 | 2024-06-14 | 北京京东尚科信息技术有限公司 | 数据处理方法、装置、***和计算机可读存储介质 |
CN112015821B (zh) * | 2020-09-08 | 2023-11-07 | 香港中文大学(深圳) | 一种数据库同步方法、终端以及存储介质 |
CN112231191B (zh) * | 2020-10-23 | 2023-03-31 | 新华三信息安全技术有限公司 | 一种日志采集方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534213A (zh) * | 2009-04-09 | 2009-09-16 | 成都市华为赛门铁克科技有限公司 | 一种日志的获取方法及日志服务器 |
CN102769666A (zh) * | 2012-06-30 | 2012-11-07 | 安科智慧城市技术(中国)有限公司 | 一种云存储方法及云存储*** |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN104331453A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式文件***及分布式文件***的构建方法 |
CN104883365A (zh) * | 2015-05-14 | 2015-09-02 | 浪潮电子信息产业股份有限公司 | 一种安全日志存储和读取方法、装置及安全管控*** |
CN105138615A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种构建大数据分布式日志的方法和*** |
CN105335406A (zh) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 日志数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5368637B1 (ja) * | 2011-11-01 | 2013-12-18 | 株式会社野村総合研究所 | 時刻認証システムおよび時刻認証プログラム |
-
2016
- 2016-12-13 CN CN201611147953.6A patent/CN108616556B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101534213A (zh) * | 2009-04-09 | 2009-09-16 | 成都市华为赛门铁克科技有限公司 | 一种日志的获取方法及日志服务器 |
CN102769666A (zh) * | 2012-06-30 | 2012-11-07 | 安科智慧城市技术(中国)有限公司 | 一种云存储方法及云存储*** |
CN103838867A (zh) * | 2014-03-20 | 2014-06-04 | 网宿科技股份有限公司 | 日志处理方法和装置 |
CN105335406A (zh) * | 2014-07-30 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 日志数据处理方法及装置 |
CN104331453A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种分布式文件***及分布式文件***的构建方法 |
CN104883365A (zh) * | 2015-05-14 | 2015-09-02 | 浪潮电子信息产业股份有限公司 | 一种安全日志存储和读取方法、装置及安全管控*** |
CN105138615A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种构建大数据分布式日志的方法和*** |
Non-Patent Citations (1)
Title |
---|
《基于RAFT一致性协议的高可用性实现》;张晨东,郭进伟,刘柏众,储佳佳,周敏奇,钱卫宁;《华东师范大学学报(自然科学版)》;20151109(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108616556A (zh) | 2018-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108616556B (zh) | 数据处理方法、装置和*** | |
CN107807796B (zh) | 一种基于超融合存储***的数据分层方法、终端及*** | |
CN109241161B (zh) | 一种气象数据管理方法 | |
CN106713412B (zh) | 一种区块链***及区块链***的架构方法 | |
CN109977077B (zh) | 模型文件存储方法、装置、可读存储介质和计算机设备 | |
CN102737127B (zh) | 一种海量数据存储方法 | |
CN111327681A (zh) | 一种基于Kubernetes的云计算数据平台构建方法 | |
CN111552701B (zh) | 确定分布式集群中数据一致性的方法及分布式数据*** | |
KR101622810B1 (ko) | 빅데이터 분산 시스템 및 방법 | |
CN110287189B (zh) | 一种基于spark streaming处理流动车辆数据的方法及*** | |
CN111966289A (zh) | 基于Kafka集群的分区优化方法和*** | |
WO2019057193A1 (zh) | 数据删除方法及分布式存储*** | |
CN113297278B (zh) | 时序数据库、数据处理方法、存储设备及计算机程序产品 | |
CN111782134A (zh) | 数据处理方法、装置、***和计算机可读存储介质 | |
CN113468226A (zh) | 一种业务处理方法、装置、电子设备和存储介质 | |
CN115587118A (zh) | 任务数据的维表关联处理方法及装置、电子设备 | |
CN107818106B (zh) | 一种大数据离线计算数据质量校验方法和装置 | |
CN102724301B (zh) | 云数据库***以及云数据读写处理方法、设备 | |
CN104468665B (zh) | 数据分布式存储的实现方法和*** | |
CN114090577A (zh) | 时序数据的存储、读取方法及装置 | |
CN107908713B (zh) | 一种基于Redis集群的分布式动态杜鹃过滤***及其过滤方法 | |
CN107122442B (zh) | 一种分布式数据库及其访问方法 | |
CN109857924A (zh) | 一种大数据分析监察信息处理***及方法 | |
CN106776810B (zh) | 一种大数据的数据处理***及方法 | |
CN110798492B (zh) | 数据存储方法及装置、数据处理*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |