数据解析方法及装置的制作方法

文档序号:6354900阅读:179来源:国知局
专利名称:数据解析方法及装置的制作方法
技术领域
本发明涉及数据处理技术领域,更具体地说,涉及一种数据解析方法及装置。
背景技术
在任何一个应用系统中,数据解析几乎都是不可避免的。比如,数字广播电视前端 系统中信源部分产生各种电视节目和数据信息,其来源包括卫星接收、电信接收、自制节 目和互联网等;数字广播电视前端系统中的其他部分对各种数字信号进行处理后发送。相 应的,在用户端,数字电视机顶盒对接收到的数字信号进行解析,将经过数字化压缩的图像 和声音信号进行解码还原,并提取出所需要的一些附加信息,比如频道标识、台标等信息, 然后通过电视显示器和音响设备给观众提供高质量的电视节目。在现在技术中,需要解析的源数据为二进制数据,比如,数字电视应用场景下主要 为Section数据,对于这种源数据进行解析采用的方案通常都是根据源数据的编码标准编 写解析代码完成对源数据的解析,而且解析代码中会出现一系列的移位、与、或、数据长度 计算等操作,解析结果需要通过定义一系列的针对不同编程语言的获取接口输出。现有这种数据解析方案需要项目开发人员熟练掌握项目开发所使用的语言,对项 目开发人员技术能力要求高,而且,移位、与、或、数据长度计算等操作极易出错,稍有不慎 则可能会引起死机、数据错误等问题,并可能埋下测试阶段很难发现的隐患。另外,代码的编写受到解析的数据格式限制,不同的数据格式需要编写不同的代 码,不仅效率低,而且复用性较差。

发明内容
本发明所要解决的技术问题在于提供一种数据解析方法及装置,以降低数据解 析实现的复杂度,提高解析效率及重用性。为解决本发明的技术问题,本发明公开一种数据解析方法,包括根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规则;接收源数据;根据数据解析规则从所述源数据中提取过滤规则中定义的字段对应的数据。优选地,所述根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤 规则之后,还包括将所述数据解析规则和过滤规则分别存储到数据解析规则文件和过滤规则文件。优选地,所述根据数据解析规则从所述源数据中提取过滤规则中定义的字段对应 的数据之后,还包括将从源数据中提取的数据保存到结果文件中;解析所述结果文件获得所述数据。优选地,所述将从源数据中提取出的数据保存到结果文件中,具体为将从源数据中提取出的数据按照与所述过滤规则文件中定义的标签一致的形式保存到ml格式文件。优选地,所述数据解析规则文件和过滤规则文件为xml格式文件。一种数据解析装置,包括规则建立单元,用于根据源数据的编码规则及所需的应用数据建立数据解析规则 和过滤规则;接收单元,用于接收源数据;数据解析单元,用于根据所述数据解析规则从所述源数据中提取出所述过滤规则 中定义的字段对应的数据。优选地,所述装置还包括保存单元,用于将所述解析单元从源数据中提取的数据保存到结果文件中;文件解析单元,用于解析所述结果文件获得所述数据。优选地,所述装置还包括规则分类存储单元,还用于将所述数据解析规则和过滤规则分别存储到数据解析 规则文件和过滤规则文件。优选地,所述保存单元,具体用于将从源数据中提取出的数据按照与所述过滤规 则文件中定义的标签一致的形式保存到xml格式文件。优选地,所述保存单元,用于将所述解析单元从源数据中提取的数据保存到结果 文件中,具体为保存单元将从源数据中提取出的数据按照与所述过滤规则文件中定义的 标签一致的形式保存到ml格式文件。优选地,所述数据解析规则文件和过滤规则文件为xml格式文件。本发明实施例数据解析优化方法及装置,将针对不同应用数据的解析进行统一, 只需根据源数据的编码规则及所需的应用数据建立相应的数据解析规则和过滤规则,而无 需针对不同的应用数据的解析编写不同的代码,从而大大简化了解析代码的编写,降低了 出错率,提高了数据解析效率及重用性;而且,解析结果的获取也不再受开发语言的限制, 增加了灵活性。


图1是本发明一种数据解析方法一实施例的流程图;图2是本发明一种数据解析方法一实施例的具体应用流程图;图3是本发明一种数据解析装置一实施例的结构示意图;图4是本发明一种数据解析装置另一实施例的结构示意图。
具体实施例方式本发明实施例提供的一种数据解析方法及装置,针对不同应用数据的解析进行统 一,根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规则;在接收到源 数据后,根据所述数据解析规则即可从所述源数据中提取出所述过滤规则中定义的字段对 应的数据。采用本发明实施例的方法,无需针对不同的应用数据的解析编写不同的代码,从 而大大简化了解析代码的编写,降低了出错率,提高了数据解析效率及重用性;而且,解析 结果的获取也不再受开发语言的限制,增加了灵活性。
为了使本技术领域的人员更好地理解本发明实施例的技术方案,下面结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实 施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通 技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参照如图1,为本发明一种数据解析方法一实施例的流程图。在本发明实施例中,针对不同应用数据的解析进行统一,根据源数据的编码规则 及所需要解析的应用数据建立数据解析规则和过滤规则。步骤101,根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规 则。所述数据解析规则用于描述数据的解析方法,即根据二进制的源数据中的一些比 特解析出对应的字段数据。针对不同的应用数据,建立的数据解析规则可以有一个或多个,可以将这些数据 解析规则存储到一个文件中,比如,以xml (Extensible MarkupLanguage,可扩展标记语言) 格式的解析规则文件为例,其内容类似如下所示<data>〈name len_bits = 〃 32〃 /><age len"_bits = 〃 16〃 /></data>其中,data标签中的内容表示整个数据解析规则的内容,其中,name和age可以 是项目开发人员自己定义的字段名字,len_bits用来表示相应字段在源数据中所占的比特 数,例如,〈name len_bits = ‘‘ 32〃 />表示从源数据中的32个比特可以解析出name字 段,<age len_bits =" 16〃 />表示从源数据中的16个比特可以解析出name字段,依此 类推至于源数据中各字段的起始位置可以由数据提供方来约定,而接收方按照该约定来对 源数据进行解析,得到所需字段。所述过滤规则用于描述数据过滤方法,即需要解析并输出结果的所有字段。同样,针对不同的应用数据,建立的过滤规则可以有一个或多个,可以将这些过滤 规则存储到一个文件中,比如,仍以xml格式的过滤规则文件为例,其内容类似如下所示〈filter〉<name/>〈/filter〉其中,filter标签中的内容便是数据过滤规则,内部包含name标签,在在对源数 据进行解析时,需要根据解析规则文件中建立的解析规则从输入的源数据中解析出name 字段,并输出结果。需要说明的是,所述数据解析规则和过滤规则并不仅限于上述xml格式,还可以 是其他常用格式,比如,txt格式或其他任何常见文本格式。步骤102,接收源数据。例如,在数字电视应用场景中,所述源数据为数字电视终端接收的前端的Action 数据,为播出事件信息,其中包括事件开始时间、播放时间段、当前播出事件内容,父母级别控制等。步骤103,根据所述数据解析规则从所述源数据中提取出所述过滤规则中定义的 字段对应的数据。所述数据解析规则、过滤规则可以是一定格式的文件,比如xml格式文件。在该步骤中,通过解析所述过滤规则,可以知道需要从源数据中解析并输出结果 的字段,然后根据所述数据解析规则,可以从所述源数据中依次解析出需要的各个字段,而 这些字段的具体含义在此并不需要关注。可见,利用本发明数据解析方法,无需针对不同的应用数据的解析编写不同的代 码,只需根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规则,根据所 述数据解析规则即可从所述源数据中提取出所述过滤规则中定义的字段对应的数据,从而 大大简化了解析代码的编写,降低了出错率,提高了数据解析效率及重用性;而且,解析结 果的获取也不再受开发语言的限制,增加了灵活性。为了进一步方便用户对解析到的数据的重复使用,在本发明实施例中,还可以包 括以下步骤将从源数据中提取出的数据保存到结果文件中;解析所述结果文件获得所述数据。具体地,对源数据进行解析完成后,可以将解析出的字段按照与过滤规则中定义 的标签一致的形式进行保存。例如,可以依次将解析结果输出到xml格式的文件中,文件内容如下〈result〉<name value =,,Mark,,/>〈/result〉其中,result标签中的内容便是数据解析结果,表示根据所述过滤规则定义的 name字段及数据解析规则定义的该字段在源数据中的位置,从源数据中解析得到的name 的值为Mark。在用户需要所述数据时,解析所述结果文件即可获得所需的应用数据。利用本发 明数据解析方法,不需要用户编写大量的解析代码,而且也不需要因为用户所使用语言的 不同而提供不同的语言的接口。下面以xml格式文件为例,进一步举例详细说明本发明实施例。如图2所示,是本发明数据解析方法一实施例的具体应用流程图,包括以下步骤步骤201,获取规则文件路径,以便读取相应的规则文件,所述规则文件包括数据 解析规则文件和过滤规则文件。将包含数据解析规则文件和过滤规则文件的规则文件存储在本地,在需要对源数 据解析时,获取该规则文件的路径,比如,数据解析规则文件和过滤规则文件的存储地址分 别为:\D:\File\Rules\analyse. xml、\D: \File\Rules\filtration. xml,该存储地址即为 相应的规则文件的路径。步骤202,利用获取的规则文件路径读取过滤规则文件并解析该过滤规则文件。步骤203,利用获取的规则文件路径读取数据解析规则文件并解析该数据解析规 则文件。
前面提到,所述数据解析规则用于描述数据的解析方法,即根据二进制的源数据 中的一些比特解析出对应的字段数据。所述过滤规则用于描述数据过滤方法,即需要解析 并输出结果的所有字段。步骤204,判断数据解析规则文件中的标签在过滤规则文件中是否有定义;如果 是,则执行步骤205 ;否则,执行步骤206。在本实施例中,所述数据解析规则和过滤规则以xml格式为例进行说明。比如,解析规则文件内容类似如下所示<data>〈name len_bits = 〃 32〃 /><age len_bits = 〃 16" /></data>其中,data标签中的内容表示整个数据解析规则的内容,其中,name和age可以是 项目开发人员自己定义的字段名字,len_bits用来表示解析该字段需要从源数据中获取的 包含该字段的比特。比如,过滤规则文件内容类似如下所示〈filter〉<name/>〈/filter〉其中,filter标签中的内容便是数据过滤规则,内部包含name标签,在在对源数 据进行解析时,需要根据解析规则文件中建立的解析规则从输入的源数据中解析出name 字段,并输出结果。在该步骤中,判断数据解析规则文件中的标签在过滤规则文件中是否有定义,比 如,对于上述数据解析规则文件,其中的标签name在过滤规则文件中有定义,表示需要解 析字段name,而标签age在过滤规则文件中没有定义,表示不需要解析字段age。步骤205,从解析规则文件中读取该标签len_bitS (表示比特长度)属性取值,并 计算总比特数;然后执行步骤208。比如,对于name标签,从解析规则文件中读取到该标签len_bitS属性取值为32, 因此,从源数据中name字段的起始位置开始,提取出32比特,解析得到name的值。然后计 算总比特数,以确定后续需要解析的字段的起始位置。步骤206,从解析规则文件中读取该标签len_bitS属性取值,并计算总比特数,解 析出该标签对应的值。步骤207,存储解析结果。比如,可以将解析结果保存在一个结果文件中,在用户需要相应数据时,从该结果 文件即可获得所需的数据。步骤208,判断所述数据解析规则文件中的标签是否遍历完毕;如果是,则结束; 否则,返回步骤204继续解析下一个标签。本领域普通技术人员可以理解实现上述数据解析方法实施例中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储 介质中,所述的存储介质,如ROM (Read-On lyMemory,只读存储器)/RAM (Random AccessMemory,随机存储器)、磁碟、光盘等。相应地,本发明实施例还提供了数据解析装置,如图3所示,是该装置的一种结构 示意图。在该实施例中,所述装置包括规则建立单元301,用于根据源数据的编码规则及所需的应用数据建立数据解析 规则和过滤规则。接收单元302,用于接收源数据。数据解析单元303,用于根据所述数据解析规则从所述源数据中提取出所述过滤 规则中定义的字段对应的数据。在本明的实施例中,所述规则建立单元301还可以将所述数据解析规则和过滤规 则分别存储到数据解析规则文件和过滤规则文件,比如xml格式文件。利用本发明实施例数据解析装置,无需针对不同的应用数据的解析编写不同的代 码,只需根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规则,根据所 述数据解析规则即可从所述源数据中提取出所述过滤规则中定义的字段对应的数据,从而 大大简化了解析代码的编写,降低了出错率,提高了数据解析效率及重用性;而且,解析结 果的获取也不再受开发语言的限制,增加了灵活性。如图4所示,是本发明实施例数据解析优化装置的另一种结构示意图。与图3所示实施例的区别在于,在该实施例中,所述装置还包括保存单元304和 文件解析单元305,其中所述保存单元304,用于将所述解析单元303从源数据中提取出的数据保存到结 果文件中,具体地,可以将从源数据中提取出的数据按照与所述过滤规则文件中定义的标 签一致的形式保存到xml格式文件。所述文件解析单元305,用于解析所述结果文件获得所述数据。本发明实施例的数据解析优化方法及装置可以应用于多种领域,比如,数字电 视终端通常需要通过解析前端数据来获取一些可用信息,例如通过解析SDTGervice Description Table,业务描述表)的Section数据来获取节目信息,以下举例说明本发明 实施例在此场景中的运用。SDT提供了描述系统中业务的数据,例如业务名称、业务提供者信息。SDT可以描 述现行的传送流,也可以描述其他传送流。所述业务是指在广播者的控制下,按照时间表分 布广播的一系列节目。假设数字电视终端软件开发人员需要从SDT中获取到节目号,则执行如下操作1、调用建立单元301根据数字电视标准中SDT的结构描述建立数据解析规则;2、调用建立单元301建立过滤规则文件,明确需要解析的字段Action ;3、当接收单元302接收到SDT源数据时,数据解析单元303根据所述数据解析规 则和所述过滤规则解析所述SDT源数据;4、保存单元304将数据解析单元303输出的解析结果保存到解析结果文件;5、数字电视终端应用调用文件解析单元305读取解析结果文件,获取节目号信 肩、ο当然,本发明实施例数据解析优化方法及装置还可以应用于其它需要进行数据解析的领域,比如,电信领域。可以简化解析代码的编写,降低出错率,提高数据解析效率及重 用性。本说明书中的各个实施例之间相同相似的部分互相参见即可,每个实施例重点说 明的都是与其他实施例的不同之处。尤其,对于装置及装置实施例而言,由于其基本相似于 方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述 的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是 物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地 方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模 块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可 以理解并实施。以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的 技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和 润饰,都应落在本发明的保护范围内。
权利要求
1.一种数据解析方法,其特征在于,包括根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规则;接收源数据;根据数据解析规则从所述源数据中提取过滤规则中定义的字段对应的数据。
2.如权利要求1所述的方法,其特征在于,所述根据源数据的编码规则及所需的应用 数据建立数据解析规则和过滤规则之后,还包括将所述数据解析规则和过滤规则分别存储到数据解析规则文件和过滤规则文件。
3.如权利要求1所述的方法,其特征在于,所述根据数据解析规则从所述源数据中提 取过滤规则中定义的字段对应的数据之后,还包括将从源数据中提取的数据保存到结果文件中;解析所述结果文件获得所述数据。
4.如权利要求3所述的方法,其特征在于,所述将从源数据中提取出的数据保存到结 果文件中,具体为将从源数据中提取出的数据按照与所述过滤规则文件中定义的标签一致的形式保存 到ml格式文件。
5.如权利要求1-4任一所述的方法,其特征在于,所述数据解析规则文件和过滤规则 文件为ml格式文件。
6.一种数据解析装置,其特征在于,包括规则建立单元,用于根据源数据的编码规则及所需的应用数据建立数据解析规则和过 滤规则;接收单元,用于接收源数据;数据解析单元,用于根据所述数据解析规则从所述源数据中提取出所述过滤规则中定 义的字段对应的数据。
7.如权利要求6所述的装置,其特征在于,所述装置还包括保存单元,用于将所述解析单元从源数据中提取的数据保存到结果文件中;文件解析单元,用于解析所述结果文件获得所述数据。
8.如权利要求7所述的装置,其特征在于,所述装置还包括规则分类存储单元,还用于将所述数据解析规则和过滤规则分别存储到数据解析规则 文件和过滤规则文件。
9.如权利要求7或8所述的装置,其特征在于,所述保存单元,用于将所述解析单元从 源数据中提取的数据保存到结果文件中,具体为保存单元,用于将从源数据中提取出的数据按照与所述过滤规则文件中定义的标签一 致的形式保存到xml格式文件。
10.如权利要求7所述的装置,其特征在于,所述数据解析规则文件和过滤规则文件为 xml格式文件。
全文摘要
本发明涉及数据处理技术领域,公开了一种数据解析优化方法及装置,所述方法包括根据源数据的编码规则及所需的应用数据建立数据解析规则和过滤规则;接收源数据;根据所述数据解析规则从所述源数据中提取出所述过滤规则中定义的字段对应的数据。利用本发明,可以降低数据解析实现的复杂度,提高解析效率及重用性。
文档编号G06F9/45GK102073534SQ20111004521
公开日2011年5月25日 申请日期2011年2月24日 优先权日2011年2月24日
发明者陈亚杰 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1