CN111338800A - 一种数据解析方法及装置 - Google Patents
一种数据解析方法及装置 Download PDFInfo
- Publication number
- CN111338800A CN111338800A CN202010121236.6A CN202010121236A CN111338800A CN 111338800 A CN111338800 A CN 111338800A CN 202010121236 A CN202010121236 A CN 202010121236A CN 111338800 A CN111338800 A CN 111338800A
- Authority
- CN
- China
- Prior art keywords
- segmentation
- file
- analysis
- target data
- hashcode
- 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.)
- Granted
Links
- 238000007405 data analysis Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000011218 segmentation Effects 0.000 claims abstract description 111
- 238000004458 analytical method Methods 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000004519 manufacturing process Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据解析方法及装置,在降低了解析成本的同时也提高了解析结果的实时性和准确性。该方法包括:在获取到待解析的目标数据后,首先判断目标数据是否满足预设分割条件,若是,则根据预设分割规则进行任务分割,获得分割结果;然后再根据分割结果,利用其它子节点对目标数据进行协助解析处理,获得解析结果,并在当再次满足预设分割条件时,利用更多的子节点同时对目标数据进行协助解析,以获得更加实时、准确的解析结果。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种数据解析方法及装置。
背景技术
随着移动互联网技术的高速发展,网络数据量呈现井喷状态,及时对各种类型数据进行实时分析,实现各种指数和数据的运算,已经是网络应用中的一项重要内容。
目前常用的数据解析方式是将所有任务都由中心节点服务器来统一进行任务调度,但在数据量越来越多且单台机器处理能力无法满足时,中心服务器并不知道需要多少台机器协同处理一个任务比较合适.或者需要人工指定申请多少资源,这样既不能合理地分配集群资源,同时又增加了维护人员的工作负担,并且由于把任务全部由中心服务器调度,间接增加了网络IO的延时和通讯次数,实时性效率难以得到保障。因此,现有的由中心节点服务器来统一进行任务调度的数据解析方式,解析成本高、效率低、维护困难。并且,解析结果也不够准确。
发明内容
有鉴于此,本发明提供一种数据解析方法及装置,以解决现有技术中数据解析成本高、效率低、维护困难以及解析结果不准确的技术问题。
为解决上述问题,本发明提供的技术方案如下:
第一方面,本申请实施例提供了一种数据解析方法,包括:
获取待解析的目标数据;
当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果;
根据所述分割结果,对所述目标数据进行协助解析处理,获得解析结果;
当再次满足预设分割条件时,返回根据预设分割规则进行任务分割,并执行后续步骤。
可选的,所述预设分割条件为单位数据粒度的解析时长大于单位粒度生产时长的80%。
可选的,所述当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果,包括:
当所述目标数据满足预设分割条件时,确定参加数据解析的子节点;
确定主节点和所述子节点的文件识别码;
计算所述目标数据中各个文件的HashCode;
根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析。
可选的,所述根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析,包括:
将所述HashCode和节点总数进行取余运算,得到余数;
判断所述余数与所述文件识别码是否相同;
若是,则确定所述HashCode所属文件是在当前节点进行处理,以便确定利用当前节点对所述文件进行数据解析;
如否,则确定所述HashCode所属文件不是在当前节点进行处理。
可选的,所述方法还包括:
当满足预设合并条件时,根据预设合并规则进行子节点合并,获得合并结果;
根据所述合并结果,对所述目标数据进行解析处理,获得解析结果。
第二方面,本申请提供一种数据解析装置,包括:
获取单元,用于获取待解析的目标数据;
第一分割单元,用于当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果;
第一解析单元,用于根据所述分割结果,对所述目标数据进行协助解析处理,获得解析结果;
第二分割单元,用于当再次满足预设分割条件时,返回第一分割单元。
可选的,所述预设分割条件为单位数据粒度的解析时长大于单位粒度生产时长的80%。
可选的,所述第一分割单元包括:
第一确定子单元,用于当所述目标数据满足预设分割条件时,确定参加数据解析的子节点;
第二确定子单元,用于确定主节点和所述子节点的文件识别码;
计算子单元,用于计算所述目标数据中各个文件的HashCode;
第三确定子单元,用于根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析。
可选的,所述第三确定子单元包括:
运算子单元,用于将所述HashCode和节点总数进行取余运算,得到余数;
判断子单元,用于判断所述余数与所述文件识别码是否相同;
第四确定子单元,用于若判断出所述余数与所述文件识别码相同,则确定所述HashCode所属文件是在当前节点进行处理,以便确定利用当前节点对所述文件进行数据解析;
第五确定子单元,用于若判断出所述余数与所述文件识别码不相同,则确定所述HashCode所属文件不是在当前节点进行处理。
可选的,所述装置还包括:
合并单元,用于当满足预设合并条件时,根据预设合并规则进行子节点合并,获得合并结果;
第二解析单元,用于根据所述合并结果,对所述目标数据进行解析处理,获得解析结果。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供的一种数据解析方法及装置,在获取到待解析的目标数据后,首先判断目标数据是否满足预设分割条件,若是,则根据预设分割规则进行任务分割,获得分割结果;然后再根据分割结果,利用其它子节点对目标数据进行协助解析处理,获得解析结果,并在当再次满足预设分割条件时,利用更多的子节点同时对目标数据进行协助解析,以获得更加实时、准确的解析结果。可见,本申请实施例是通过任务分割的方式,利用其它子节点协助主节点对目标数据进行数据解析,取代现有的全部由中心节点主动调度的解析模式,从而可以更加合理自动分配服务器数量,减少每个任务的并发量,提升数据自动实时解析效率,这样,不仅能够保证任务的实时解析效率,又不浪费集群的资源,在降低了解析成本的同时也提高了解析结果的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据解析方法的流程示意图;
图2为本申请实施例提供的一种数据解析装置的组成示意图。
具体实施方式
在一些数据解析方法中,通常是将所有任务都由中心节点服务器来统一进行任务调度,但在数据量越来越多且单台机器处理能力无法满足时,中心服务器并不知道需要多少台机器协同处理一个任务比较合适.或者需要人工指定申请多少资源,这样既不能合理地分配集群资源,同时又增加了维护人员的工作负担,并且由于把任务全部由中心服务器调度,间接增加了网络IO的延时,和通讯次数,实时性效率难以得到保障。再者,由于现有的主流的分布式框架会尽可能协助所有的资源去完成一个任务,导致单一任务并发量太高,从而使资源浪费严重,甚至会因为并发的网络连接太多,造成数据源服务器的不稳定。
为解决上述缺陷,本申请实施例提供了一种数据解析方法,在获取到待解析的目标数据后,首先判断目标数据是否满足预设分割条件,若是,则根据预设分割规则进行任务分割,获得分割结果;然后再根据分割结果,利用其它子节点对目标数据进行协助解析处理,获得解析结果,并在当再次满足预设分割条件时,利用更多的子节点同时对目标数据进行协助解析,以获得更加实时、准确的解析结果。可见,本申请实施例是通过任务分割的方式,利用其它子节点协助主节点对目标数据进行数据解析,取代现有的全部由中心节点主动调度的解析模式,从而可以更加合理自动分配服务器数量,减少每个任务的并发量,提升数据自动实时解析效率,这样,不仅能够保证任务的实时解析效率,又不浪费集群的资源,在降低了解析成本的同时也提高了解析结果的准确性。因此,亟需一种可以根据数据量和单节点的处理能力自动决定需要多少台工作站协同完成某一个任务的解析处理的方法,以便最大限度的让一个任务的并发量减少到最低。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
第一实施例
参见图1,为本实施例提供的一种数据解析方法的流程示意图,该方法包括以下步骤:
S101:获取待解析的目标数据。
在本实施例中,将需要进行解析的数据定义为目标数据。需要说明的是,本实施例不限制目标数据的获取方式,比如,目标数据可以为了响应数据解析指令,而接收的不同类型的数据,如二进制数据等。本实施例将获取到目标数据并具有对其进行解析任务的节点定义为主节点,由其控制任务的统一调度主动权,开始在本地执行数据解析任务。
S102:当目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果。
需要说明的是,通过步骤S101获取到目标数据后,主节点进一步需要根据待解析的数据量和当前机器的解析能力,判断目标数据是否满足预先设置的分割条件,若是,则需要根据预设分割规则进行任务分割,获得分割结果。其中,一种可选的实现方式是,预设分割条件为单位数据粒度的解析时长大于单位粒度生产时长的80%。
具体来讲,主节点先计算目标数据到的解析任务量,如果目标数据量过大,导致对其解析需要很长时间,或者解析耗时大于单位粒度生产时长的80%时,则触发任务分裂操作,根据预设分割规则进行自动计算并分裂成多个子任务,提交到集群中,向中心节点发起“协助子任务”,让其它的子节点来协助执行目标数据的解析任务。
在本申请实施例的一种可能的实现方式中,本步骤S102的具体实现过程可以包括下述步骤A1-A4:
步骤A1:当目标数据满足预设分割条件时,确定参加数据解析的子节点。
在本实现方式中,当主节点根据待解析的数据量和当前机器的解析能力,判断出目标数据满足预先设置的分割条件,则进一步可以根据单位机器的处理能力,计算需要多少台子节点参与同步数据解析,并向中心节点发起任务协助申请。
举例说明:假设目标数据的解析任务是要求每小时需要处理的文件服务器上有10000个文件。且该任务的第一个处理节点(即主节点)通过评估计算,确定出共需要3台服务器参与此次数据解析任务,则会将此次的数据解析任务分裂成3个子任务,提交中心节点并通过集群协调两台机器作为子节点来共同进行数据解析。
步骤A2:确定主节点和子节点的文件识别码。
在本实现方式中,通过步骤A1确定参加数据解析的子节点后,进一步可以在主节点与各个子节点分别建立通讯协商时,为主节点和各个子节点各自分配不同的文件识别码。
举例说明:基于上述举例,主节点在确定出其他两个子节点后,进一步可以在与其他两个子节点进行通讯协商时,为主节点分配识别码为0,,为其他两个子节点分配的识别码分别为1和2。
步骤A3:计算目标数据中各个文件的HashCode。
在本实现方式中,主节点和另外两个子节点分别从目标数据中文件的待解析开始时间点,扫描数据源服务器上目标数据中的所有待解析文件,并根据文件名,计算出其中各个文件各自对应的HashCode。
步骤A4:根据HashCode和文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析。
在本实现方式中,通过步骤A2确定出主节点和子节点的文件识别码,以及通过步骤A3计算出目标数据中各个文件的HashCode后,进一步可以根据HashCode和文件识别码确定每一HashCode所属文件是否在当前节点(主节点或子节点)进行处理,以便确定是否利用当前节点对该文件进行数据解析,具体确定过程可以包括下述步骤B1-B4:
步骤B1:将HashCode和节点总数进行取余运算,得到余数。
在通过步骤A2确定出主节点和子节点的文件识别码,以及通过步骤A3计算出目标数据中各个文件的HashCode后,进一步可以将各个文件的HashCode逐一与节点总数(指的是主节点和子节点的总数)进行取余运算,得到余数,用以执行步骤B2。
举例说明:基于上述举例,主节点和子节点的总数为3,将各个文件的HashCode逐一与3取余数,得到的余数分别可以是0、1、2。
步骤B2:判断余数与文件识别码是否相同。
通过步骤B1将文件的HashCode和节点总数进行取余运算得到余数后,进一步可以判断余数与当前节点的文件识别码进行比较,判断二者是否相同,若是,则执行步骤B3,若否,则执行步骤B4。具体判断公式如下:
mod(hashCode(文件名),3)=(识别码) (1)
步骤B3:若判断出余数与文件识别码相同,则确定HashCode所属文件是在当前节点进行处理,以便确定利用当前节点对文件进行数据解析。
若通过步骤B2判断出文件的HashCode和节点总数进行取余运算得到余数与当前节点的文件识别码相同,则表示该文件是可以由当前节点处理,以便确定利用当前节点对目标数据中的该文件进行解析。
步骤B4:如判断出余数与文件识别码不相同,则确定HashCode所属文件不是在当前节点进行处理。
若通过步骤B2判断出文件的HashCode和节点总数进行取余运算得到余数与当前节点的文件识别码不相同,则表示该文件不是由当前节点处理,以便确定不可以利用当前节点对目标数据中的该文件进行解析。
这样,可以实现多服务器的自动分工,对目标数据的解析不会出现重复。
S103:根据分割结果,对目标数据进行协助解析处理,获得解析结果。
在本实施例中,通过步骤S102根据预设分割规则进行任务分割获得分割结果后,进一步利用主节点以及确定出的各个子节点之间的通信协商,对目标数据中自身负责的解析数据进行解析,以获得解析结果。
具体来讲,对于各个子节点来说,定时从中心节点领取到协助任务后,主动与主节点进行商议,依据分割规则进行任务分割,并按照协定的分割规则尝试开始执行解析操作,如解析开始时间、位置等,并通知主节点,完成任务协助分裂操作。
S104:当再次满足预设分割条件时,返回根据预设分割规则进行任务分割,并执行后续步骤。
在本实施例中,所有子节点均会定时监控自己子任务节点的执行情况,如果发现子任务单位数据粒度的解析时长仍高于文件单位粒度生产时长80%,即仍然无法实时处理完指定的数据时,则触发二级任务协助分裂,重复执行上述步骤S102,将已领到的子任务进行二次分割,将子任务再分裂成二级子任务。以便让更多的子节点同时来协助处理,直至满足执行效率。可以理解的是,在节点足够的情况下,分裂次数理论上可以进行无穷次。
具体来讲,假如通过第一次任务分裂后,其中一个子节点(假如是上述举例中被分配的文件识别码为1的子节点)的解析效率仍然不够,此时在该“子节点1”上,通过评估,还需要再增加一个子节点,则“子节点1”继续分裂成2个二级子任务,提交并通过集群再协调一台服务器协助“子节点1”来完成解析,此过程为子任务的二次分割,即二级任务分裂。
进一步的,在二级任务分裂完成后,“子节点1”和“二级子节点1-1”建立通讯并协商,分别分配二级文件识别为0和1,此时“子节点1”和“二级子节点1-1”扫描数据源服务器上目标数据中所有待解析文件,计算出他们的HashCode与6(3个一级任务节点*2个二级任务节点=6)取余数后,再与2(二级子任务总结点数)取余数,得到的余数分别为0和1。
进而可以利用计算出的余数0和1与“子节点1”和“二级子节点1-1”,的二级识别码相比较,判断二者是否相同,如果相同,则代表这个文件是在当前节点处理,否则忽略不计;具体判断公式如下:
Mod(mod(hashCode(文件名),3*2),2)=(二级识别码) (2)
可以理解的是,如此类推,在集群资源足够的情况下,理论上可以进行无限制的多级子任务分裂。
进一步的,在本申请实施例的一种可能的实现方式中,为了提高实时解析效力,又不浪费集群的资源,本申请还可以执行下述步骤C1-C2:
步骤C1:当满足预设合并条件时,根据预设合并规则进行子节点合并,获得合并结果。
步骤C2:根据合并结果,对目标数据进行解析处理,获得解析结果。
在本实现方式中,主节点会定时监视子任务在其它子节点执行情况,以决定是否仍然需要保持当前单任务的并发解析节点数量。如果发现有两个以上同级子节点连续两个数据周期的解析闲置时间超过数据粒度时间的60%以上,则满足预设合并条件,可以根据预设合并规则自动回收分裂的子任务,发起合并.尽量最大限度减少同一个任务的并发处理数量,以提高实时解析效力。
其中,在进行子节点合并时,主节点将通知初始分配的识别码较大的子节点,将识别码交还给初始分配识别码较小的子节点。而被合并的子节点,收到通知后,先完成当前一个数据粒度周期的数据解析,然后释放识别码,并通知合并子节点完成数据时间位置,确保消息确认成功后,注销子节点。对于合并的子节点,在确认接收到被合并的子节点的识别码后,就会在内存中被保存两个识别码,后面在扫描目标数据中的文件时,只要是利用hashCode得到的余数能够等于这两个识别码之一的,将都会在该子节点上完成解析操作,至此整个合并流程完成。
综上,本实施例提供的一种数据解析方法,在获取到待解析的目标数据后,首先判断目标数据是否满足预设分割条件,若是,则根据预设分割规则进行任务分割,获得分割结果;然后再根据分割结果,利用其它子节点对目标数据进行协助解析处理,获得解析结果,并在当再次满足预设分割条件时,利用更多的子节点同时对目标数据进行协助解析,以获得更加实时、准确的解析结果。可见,本申请实施例是通过任务分割的方式,利用其它子节点协助主节点对目标数据进行数据解析,取代现有的全部由中心节点主动调度的解析模式,从而可以更加合理自动分配服务器数量,减少每个任务的并发量,提升数据自动实时解析效率,这样,不仅能够保证任务的实时解析效率,又不浪费集群的资源,在降低了解析成本的同时也提高了解析结果的准确性。
第二实施例
本实施例将对一种数据解析装置进行介绍,相关内容请参见上述方法实施例。
参见图2,为本实施例提供的一种数据解析装置的组成示意图,该装置包括:
获取单元201,用于获取待解析的目标数据;
第一分割单元202,用于当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果;
第一解析单元203,用于根据所述分割结果,对所述目标数据进行协助解析处理,获得解析结果;
第二分割单元204,用于当再次满足预设分割条件时,返回第一分割单元202。
在本实施例的一种实现方式中,所述预设分割条件为单位数据粒度的解析时长大于单位粒度生产时长的80%。
在本实施例的一种实现方式中,所述第一分割单元202包括:
第一确定子单元,用于当所述目标数据满足预设分割条件时,确定参加数据解析的子节点;
第二确定子单元,用于确定主节点和所述子节点的文件识别码;
计算子单元,用于计算所述目标数据中各个文件的HashCode;
第三确定子单元,用于根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析。
在本实施例的一种实现方式中,所述第三确定子单元包括:
运算子单元,用于将所述HashCode和节点总数进行取余运算,得到余数;
判断子单元,用于判断所述余数与所述文件识别码是否相同;
第四确定子单元,用于若判断出所述余数与所述文件识别码相同,则确定所述HashCode所属文件是在当前节点进行处理,以便确定利用当前节点对所述文件进行数据解析;
第五确定子单元,用于若判断出所述余数与所述文件识别码不相同,则确定所述HashCode所属文件不是在当前节点进行处理。
在本实施例的一种实现方式中,所述装置还包括:
合并单元,用于当满足预设合并条件时,根据预设合并规则进行子节点合并,获得合并结果;
第二解析单元,用于根据所述合并结果,对所述目标数据进行解析处理,获得解析结果。
综上,本实施例提供的一种数据解析装置,在获取到待解析的目标数据后,首先判断目标数据是否满足预设分割条件,若是,则根据预设分割规则进行任务分割,获得分割结果;然后再根据分割结果,利用其它子节点对目标数据进行协助解析处理,获得解析结果,并在当再次满足预设分割条件时,利用更多的子节点同时对目标数据进行协助解析,以获得更加实时、准确的解析结果。可见,本申请实施例是通过任务分割的方式,利用其它子节点协助主节点对目标数据进行数据解析,取代现有的全部由中心节点主动调度的解析模式,从而可以更加合理自动分配服务器数量,减少每个任务的并发量,提升数据自动实时解析效率,这样,不仅能够保证任务的实时解析效率,又不浪费集群的资源,在降低了解析成本的同时也提高了解析结果的准确性。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据解析方法,其特征在于,所述方法包括:
获取待解析的目标数据;
当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果;
根据所述分割结果,对所述目标数据进行协助解析处理,获得解析结果;
当再次满足预设分割条件时,返回根据预设分割规则进行任务分割,并执行后续步骤。
2.根据权利要求1所述的方法,其特征在于,所述预设分割条件为单位数据粒度的解析时长大于单位粒度生产时长的80%。
3.根据权利要求1所述的方法,其特征在于,所述当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果,包括:
当所述目标数据满足预设分割条件时,确定参加数据解析的子节点;
确定主节点和所述子节点的文件识别码;
计算所述目标数据中各个文件的HashCode;
根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析。
4.根据权利要求3所述的方法,其特征在于,所述根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析,包括:
将所述HashCode和节点总数进行取余运算,得到余数;
判断所述余数与所述文件识别码是否相同;
若是,则确定所述HashCode所属文件是在当前节点进行处理,以便确定利用当前节点对所述文件进行数据解析;
如否,则确定所述HashCode所属文件不是在当前节点进行处理。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
当满足预设合并条件时,根据预设合并规则进行子节点合并,获得合并结果;
根据所述合并结果,对所述目标数据进行解析处理,获得解析结果。
6.一种数据解析装置,其特征在于,所述装置包括:
获取单元,用于获取待解析的目标数据;
第一分割单元,用于当所述目标数据满足预设分割条件时,根据预设分割规则进行任务分割,获得分割结果;
第一解析单元,用于根据所述分割结果,对所述目标数据进行协助解析处理,获得解析结果;
第二分割单元,用于当再次满足预设分割条件时,返回第一分割单元。
7.根据权利要求6所述的装置,其特征在于,所述预设分割条件为单位数据粒度的解析时长大于单位粒度生产时长的80%。
8.根据权利要求6所述的装置,其特征在于,所述第一分割单元包括:
第一确定子单元,用于当所述目标数据满足预设分割条件时,确定参加数据解析的子节点;
第二确定子单元,用于确定主节点和所述子节点的文件识别码;
计算子单元,用于计算所述目标数据中各个文件的HashCode;
第三确定子单元,用于根据所述HashCode和所述文件识别码确定所述HashCode所属文件是否在当前节点进行处理,以便确定是否利用当前节点对所述文件进行数据解析。
9.根据权利要求8所述的装置,其特征在于,所述第三确定子单元包括:
运算子单元,用于将所述HashCode和节点总数进行取余运算,得到余数;
判断子单元,用于判断所述余数与所述文件识别码是否相同;
第四确定子单元,用于若判断出所述余数与所述文件识别码相同,则确定所述HashCode所属文件是在当前节点进行处理,以便确定利用当前节点对所述文件进行数据解析;
第五确定子单元,用于若判断出所述余数与所述文件识别码不相同,则确定所述HashCode所属文件不是在当前节点进行处理。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置还包括:
合并单元,用于当满足预设合并条件时,根据预设合并规则进行子节点合并,获得合并结果;
第二解析单元,用于根据所述合并结果,对所述目标数据进行解析处理,获得解析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121236.6A CN111338800B (zh) | 2020-02-26 | 2020-02-26 | 一种数据解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010121236.6A CN111338800B (zh) | 2020-02-26 | 2020-02-26 | 一种数据解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338800A true CN111338800A (zh) | 2020-06-26 |
CN111338800B CN111338800B (zh) | 2024-04-16 |
Family
ID=71183775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010121236.6A Active CN111338800B (zh) | 2020-02-26 | 2020-02-26 | 一种数据解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338800B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699542A (zh) * | 2015-03-31 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN105740085A (zh) * | 2014-12-11 | 2016-07-06 | 华为技术有限公司 | 容错处理方法及装置 |
CN105912399A (zh) * | 2016-04-05 | 2016-08-31 | 杭州嘉楠耘智信息科技有限公司 | 一种任务处理方法、装置及系统 |
CN107784195A (zh) * | 2017-11-30 | 2018-03-09 | 新华三大数据技术有限公司 | 数据处理方法及装置 |
-
2020
- 2020-02-26 CN CN202010121236.6A patent/CN111338800B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740085A (zh) * | 2014-12-11 | 2016-07-06 | 华为技术有限公司 | 容错处理方法及装置 |
CN104699542A (zh) * | 2015-03-31 | 2015-06-10 | 北京奇艺世纪科技有限公司 | 任务处理方法及系统 |
CN105912399A (zh) * | 2016-04-05 | 2016-08-31 | 杭州嘉楠耘智信息科技有限公司 | 一种任务处理方法、装置及系统 |
CN107784195A (zh) * | 2017-11-30 | 2018-03-09 | 新华三大数据技术有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111338800B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3180695B1 (en) | Systems and methods for auto-scaling a big data system | |
CN107203552B (zh) | 垃圾回收方法及装置 | |
WO2019019652A1 (zh) | 推送信息的处理方法、装置、计算机设备和存储介质 | |
CN104461744A (zh) | 一种资源分配方法及装置 | |
CN112256523B (zh) | 业务数据处理方法及装置 | |
CN106209967B (zh) | 一种视频监控云资源预测方法及系统 | |
CN110287468B (zh) | 适于在线协议的pdf文档生成方法和系统 | |
CN112114956A (zh) | 一种任务调度方法、装置和系统 | |
CN106528189B (zh) | 一种启动备份任务的方法、装置及电子设备 | |
CN111338800B (zh) | 一种数据解析方法及装置 | |
CN111611166B (zh) | 基于移动互联网的软件测试方法与系统 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
CN116909751A (zh) | 一种云计算系统中的资源分配方法 | |
CN110659271A (zh) | 一种数据删除的优化方法及终端 | |
CN104765870A (zh) | 关于网络数据的延迟调度方法 | |
CN109241388A (zh) | 一种应用程序接口行为分析方法和系统 | |
Sethy et al. | Serverless implementation of data wizard application using azure kubernetes service and docker | |
CN114595041A (zh) | 资源调度系统以及方法 | |
CN113656162A (zh) | 资源的申请方法、装置、电子设备及存储介质 | |
Lim et al. | Techniques for handling error in user-estimated execution times during resource management on systems processing MapReduce jobs | |
CN113918288A (zh) | 任务处理方法、装置、服务器及存储介质 | |
CN111754120A (zh) | 一种技术资源产能分析方法、装置、存储介质及设备 | |
CN111625866A (zh) | 一种权限管理方法、系统、设备及存储介质 | |
CN111475278A (zh) | 一种基于意向链驱动的弹性调度方法、装置及电子设备 | |
CN107784448A (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 |