解析结构化数据文件的方法及装置制造方法

文档序号:6627647阅读:109来源:国知局
解析结构化数据文件的方法及装置制造方法
【专利摘要】本发明实施例公开了一种解析结构化数据文件的方法及装置,涉及数据处理【技术领域】,为提高解析效率,并能保证较大的结构化数据文件得到正常解析而发明。本发明的解析结构化数据文件的方法包括:建立回调函数和数据子项之间的绑定关系;对所述绑定关系进行注册;解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项;调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。本发明的实施例主要用于对结构化数据文件尤其是较大的结构化数据文件进行解析。
【专利说明】解析结构化数据文件的方法及装置

【技术领域】
[0001]本发明涉及数据处理【技术领域】,尤其涉及一种解析结构化数据文件的方法及装置。

【背景技术】
[0002]结构化数据,是指符合一定数据结构,能被形式化描述的数据,如JSON(JavaScript Object Notat1n)数据,XML(Extensible Markup Language)数据等。
[0003]目前,在解析结构化数据文件时,通常采用的方案是:将结构化数据文件直接按字节读取到内存,在内存中形成结构化数据对象,然后访问需要的数据子项并解析。
[0004]随着结构化数据文件的规模逐渐增大,现有的解析方案的效率逐渐减弱。当被解析的结构化数据文件过大,其文件大小和内存是一个级别,甚至超过内存大小时,采用现有的解析方案无法完成对这种较大的结构化数据文件进行解析;此外,过多地占用内存资源将直接影响到其他任务的运行甚至导致宕机。
[0005]在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:
[0006]在对结构化数据文件进行解析时,特别是对较大的结构化数据文件进行解析时,需要在内存中构建结构化数据对象,占用大量的内存资源,而内存的资源有限,因此使得解析效率较低,甚至不能保证结构化数据文件得到正常解析。


【发明内容】

[0007]有鉴于此,本发明实施例提供的解析结构化数据文件的方法及装置,能够提高解析效率,并能保证较大的结构化数据文件得到正常解析。
[0008]一方面,本发明实施例提供一种解析结构化数据文件的方法,包括:
[0009]建立回调函数和数据子项之间的绑定关系;
[0010]对所述绑定关系进行注册;
[0011]解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项;
[0012]调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。
[0013]另一方面,本发明实施例提供一种解析结构化数据文件的装置,包括:
[0014]绑定单元,用于建立回调函数和数据子项之间的绑定关系;
[0015]注册单元,用于对所述绑定关系在处理单元中进行注册;
[0016]解析单元,用于解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项;
[0017]处理单元,用于调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。
[0018]本发明实施例提供的解析结构化数据文件的方法及装置,建立回调函数和数据子项之间的绑定关系并进行注册,在解析结构化数据文件时,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项,调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。与现有技术相比,本发明在读取结构化数据文件时,直接调用回调函数处理数据子项,避免了在内存中构造结构化数据对象,从而能够提高解析效率,即使对于较大的结构化数据文件,也能得到正常解析;此外,还可以节省内存资源的占用。

【专利附图】

【附图说明】
[0019]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0020]图1为本发明解析结构化数据文件的方法一实施例的流程示意图;
[0021]图2为本发明解析结构化数据文件的方法另一实施例的流程示意图;
[0022]图3为本发明解析结构化数据文件的装置一实施例的结构示意图;
[0023]图4为本发明解析结构化数据文件的装置另一实施例的结构示意图;
[0024]图5为图3中处理单元14的结构示意图。

【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0026]参看图1,本发明实施例提供一种解析结构化数据文件的方法,包括:
[0027]S11、建立回调函数和数据子项之间的绑定关系;
[0028]S12、对所述绑定关系进行注册;
[0029]S13、解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项;
[0030]S14、调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。
[0031]本发明实施例提供的解析结构化数据文件的方法,建立回调函数和数据子项之间的绑定关系并进行注册,在解析结构化数据文件时,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项,调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。与现有技术相比,本发明在读取结构化数据文件时,直接调用回调函数处理数据子项,避免了在内存中构造结构化数据对象,从而能够提高解析效率,即使对于较大的结构化数据文件,也能得到正常解析;此外,还可以节省内存资源的占用。
[0032]参看图2,可选地,在本发明解析结构化数据文件的方法一实施例中,在所述建立回调函数和数据子项之间的绑定关系(Sll)之后,还可包括:
[0033]S10、对回调函数进行定义。
[0034]参看图2,可选地,在本发明解析结构化数据文件的方法一实施例中,还可包括:
[0035]S15、对所述回调函数和数据子项之间的绑定关系进行管理。
[0036]在本实施例中,所述对所述回调函数和数据子项之间的绑定关系进行管理(S15)可包括:
[0037]对所述回调函数和数据子项之间的绑定关系进行添加。
[0038]可选地,在本发明解析结构化数据文件的方法一实施例中,所述对所述回调函数和数据子项之间的绑定关系进行管理(S15)可包括:
[0039]对所述回调函数和数据子项之间的绑定关系进行删除。
[0040]可选地,在本发明解析结构化数据文件的方法一实施例中,所述对所述回调函数和数据子项之间的绑定关系进行管理(S15)可包括:
[0041]对所述回调函数和数据子项之间的绑定关系进行修改。
[0042]在本实施例中,能够根据用户的需求,对回调函数和数据子项之间的绑定关系进行添加、删除或修改,扩展性强。
[0043]可选地,在本发明解析结构化数据文件的方法一实施例中,所述解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项(S13)之后,还可包括:
[0044]将所述结构化数据文件中与已注册的绑定关系相匹配的数据子项放入待处理队列中。其中,待处理队列用于存放待处理的数据子项。
[0045]参看图3,可选地,在本发明解析结构化数据文件的方法一实施例中,所述调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项(S14)可包括:
[0046]S141、调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项。
[0047]在本实施例中,所述调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项(S141)可包括:
[0048]并发执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
[0049]可选地,在本发明解析结构化数据文件的方法一实施例中,所述调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项(S141)可包括:
[0050]顺序执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
[0051]参看图4,本发明实施例提供一种解析结构化数据文件的装置,所述解析结构化数据文件的装置包括:绑定单元11,用于建立回调函数和数据子项之间的绑定关系;注册单元12,用于对所述绑定关系在处理单元14中进行注册;解析单元13,用于解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项;处理单元14,用于调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。
[0052]本发明实施例提供的解析结构化数据文件的装置,建立回调函数和数据子项之间的绑定关系并进行注册,在解析结构化数据文件时,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项,调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。与现有技术相比,本发明在读取结构化数据文件时,直接调用回调函数处理数据子项,避免了在内存中构造结构化数据对象,从而能够提高解析效率,即使对于较大的结构化数据文件,也能得到正常解析;此外,还可以节省内存资源的占用。
[0053]参看图4,可选地,在本发明解析结构化数据文件的方法一实施例中,所述解析结构化数据文件的装置还可包括:定义单元10,用于对回调函数进行定义。
[0054]参看图4,可选地,在本发明解析结构化数据文件的方法一实施例中,所述解析结构化数据文件的装置还可包括:管理单元15,用于对所述回调函数和数据子项之间的绑定关系进行管理。
[0055]在本实施例中,所述管理单元15可包括:添加模块,用于对所述回调函数和数据子项之间的绑定关系进行添加。
[0056]可选地,在本发明解析结构化数据文件的方法一实施例中,所述管理单元15可包括:删除模块,用于对所述回调函数和数据子项之间的绑定关系进行删除。
[0057]可选地,在本发明解析结构化数据文件的方法一实施例中,所述管理单元15可包括:修改模块,用于对所述回调函数和数据子项之间的绑定关系进行修改。
[0058]在本实施例中,能够根据用户的需求,对回调函数和数据子项之间的绑定关系进行添加、删除或修改,扩展性强。
[0059]可选地,在本发明解析结构化数据文件的方法一实施例中,所述解析单元13,还可用于将所述结构化数据文件中与已注册的绑定关系相匹配的数据子项放入待处理队列。
[0060]参看图5,可选地,在本发明解析结构化数据文件的方法一实施例中,所述处理单元14可包括:保存模块141,用于保存所述待处理队列中的数据子项;处理模块142,用于调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项。
[0061]在本实施例中,所述处理模块142,还可用于并发执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
[0062]可选地,在本发明解析结构化数据文件的方法一实施例中,所述处理模块142,还可用于顺序执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
[0063]本发明实施例解析结构化数据文件的方法及装置,适用于对结构化数据文件尤其是较大的结构化数据文件的数据子项进行处理,以便提交解析效率,并保证较大的结构化数据文件得到正常解析,节省内存资源的占用。
[0064]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0065]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种解析结构化数据文件的方法,其特征在于,包括: 建立回调函数和数据子项之间的绑定关系; 对所述绑定关系进行注册; 解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项; 调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。
2.根据权利要求1所述的解析结构化数据文件的方法,其特征在于,在所述建立回调函数和数据子项之间的绑定关系之前,还包括: 对回调函数进行定义。
3.根据权利要求1所述的解析结构化数据文件的方法,其特征在于,还包括: 对所述回调函数和数据子项之间的绑定关系进行管理。
4.根据权利要求3所述的解析结构化数据文件的方法,其特征在于,所述对所述回调函数和数据子项之间的绑定关系进行管理包括: 对所述回调函数和数据子项之间的绑定关系进行添加。
5.根据权利要求3所述的解析结构化数据文件的方法,其特征在于,所述对所述回调函数和数据子项之间的绑定关系进行管理包括: 对所述回调函数和数据子项之间的绑定关系进行删除。
6.根据权利要求3所述的解析结构化数据文件的方法,其特征在于,所述对所述回调函数和数据子项之间的绑定关系进行管理包括: 对所述回调函数和数据子项之间的绑定关系进行修改。
7.根据权利要求1所述的解析结构化数据文件的方法,其特征在于,所述解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项之后包括: 将所述结构化数据文件中与已注册的绑定关系相匹配的数据子项放入待处理队列中。
8.根据权利要求7所述的解析结构化数据文件的方法,其特征在于,所述调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项包括: 调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项。
9.根据权利要求8所述的解析结构化数据文件的方法,其特征在于,所述调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项包括: 并发执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
10.根据权利要求8所述的解析结构化数据文件的方法,其特征在于,所述调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项包括: 顺序执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
11.一种解析结构化数据文件的装置,其特征在于,包括: 绑定单元,用于建立回调函数和数据子项之间的绑定关系; 注册单元,用于对所述绑定关系在处理单元中进行注册; 解析单元,用于解析结构化数据文件,获取所述结构化数据文件中与已注册的绑定关系相匹配的数据子项; 处理单元,用于调用所述绑定关系中与所述数据子项相对应的回调函数处理所述数据子项。
12.根据权利要求11所述的解析结构化数据文件的装置,其特征在于,还包括: 定义单元,用于对回调函数进行定义。
13.根据权利要求11所述的解析结构化数据文件的装置,其特征在于,还包括: 管理单元,用于对所述回调函数和数据子项之间的绑定关系进行管理。
14.根据权利要求13所述的解析结构化数据文件的装置,其特征在于,所述管理单元包括: 添加模块,用于对所述回调函数和数据子项之间的绑定关系进行添加。
15.根据权利要求13所述的解析结构化数据文件的装置,其特征在于,所述管理单元包括: 删除模块,用于对所述回调函数和数据子项之间的绑定关系进行删除。
16.根据权利要求13所述的解析结构化数据文件的装置,其特征在于,所述管理单元包括: 修改模块,用于对所述回调函数和数据子项之间的绑定关系进行修改。
17.根据权利要求11所述的解析结构化数据文件的装置,其特征在于,所述解析单元,还用于将所述结构化数据文件中与已注册的绑定关系相匹配的数据子项,放入处理单元中的待处理队列中。
18.根据权利要求17所述的解析结构化数据文件的装置,其特征在于,所述处理单元包括: 保存模块,用于保存所述待处理队列中的数据子项; 处理模块,用于调用所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数处理所述待处理队列中的数据子项。
19.根据权利要求18所述的解析结构化数据文件的装置,其特征在于,所述处理模块,还用于并发执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
20.根据权利要求18所述的解析结构化数据文件的装置,其特征在于,所述处理模块,还用于顺序执行所述绑定关系中与所述待处理队列中的数据子项相对应的回调函数,对所述待处理队列中的数据子项进行处理。
【文档编号】G06F9/44GK104331410SQ201410483714
【公开日】2015年2月4日 申请日期:2014年9月19日 优先权日:2014年9月19日
【发明者】潘洪安 申请人:北京金山安全软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1