CN104850590A - 一种生成结构化数据的元数据的方法与装置 - Google Patents
一种生成结构化数据的元数据的方法与装置 Download PDFInfo
- Publication number
- CN104850590A CN104850590A CN201510202637.3A CN201510202637A CN104850590A CN 104850590 A CN104850590 A CN 104850590A CN 201510202637 A CN201510202637 A CN 201510202637A CN 104850590 A CN104850590 A CN 104850590A
- Authority
- CN
- China
- Prior art keywords
- data type
- array
- data
- metadata
- title
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的是提供一种生成结构化数据的元数据的方法与装置。其中,本发明解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型,并确定至少一个数组的数据类型,以根据所确定的数据类型,生成该结构化数据的元数据。本发明提出了一种自动创建结构化数据的元数据的方案,结构化数据的元数据可以供进一步的数据质量检测、数据分析和统计使用等用途。本发明至少具有以下有益效果:第一,可以显著地节省人工成本;第二,本发明所生成的元数据更为准确化、标准化,降低了出错率;第三,元数据自动生成的流程可以与后续的数据分析流程无缝连接,进而提高整体数据处理流程的效率。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种生成结构化数据的元数据的技术。
背景技术
元数据(meta data)意指用于描述数据的数据。例如对于关系型数据库系统中的一个二维表数据来说,诸如描述这个二维表数据有多少列、每一列的数据类型是什么等等的数据,可以被称为这张二维表数据的元数据。
理想情况下,例如二维表数据等结构化数据应均对应有可供使用的元数据。然而,实际工作中仍存在大量不具有元数据的结构化数据。例如,随着互联网的普及,越来越多的数据来源于非结构化、或半结构化的网页内容。从这些网页内容中分析并提取出的结构化数据往往缺乏相应的元数据。
现有技术只能通过人工配置的方式来创建结构化数据的元数据。然而,人工配置元数据的方式至少存在以下问题:
1、人工成本高,并且配置工作枯燥;
2、人工配置的元数据没有统一的标准格式、难以通用,并且容易出错;
3、元数据配置工作后续的数据分析流程依赖于人工完成后才能进行、无法自动进行,整体工作流程效率低。
发明内容
本发明的目的是提供一种生成结构化数据的元数据的方法与装置。
根据本发明的一个方面,提供了一种生成结构化数据的元数据的方法,其中,该方法包括:
a解析结构化数据,以获得所述结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型;
b确定其中至少一个数组的数据类型;
c根据所确定的数据类型,生成所述结构化数据的元数据。
根据本发明的另一个方面,还提供了一种生成结构化数据的元数据的装置,其中,该装置包括:
-用于解析结构化数据,以获得所述结构化数据所对应的一个或多个数组的装置,其中每个数组对应于一个数据类型;
-用于确定其中至少一个数组的数据类型的装置;
-用于根据所确定的数据类型,生成所述结构化数据的元数据的装置。
与现有技术相比,本发明解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型,并确定至少一个数组的数据类型,以根据所确定的数据类型,生成该结构化数据的元数据。本发明提出了一种自动创建结构化数据的元数据的方案,结构化数据的元数据可以供进一步的数据质量检测、数据分析和统计使用等用途。本发明至少具有以下有益效果:第一,无需再人工配置元数据,因而可以显著地节省人工成本;第二,与人工配置元数据相比,本发明所生成的元数据更为准确化、标准化,降低了出错率;第三,元数据自动生成的流程可以与后续的数据分析流程无缝连接,进而提高整体数据处理流程的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个实施例的一种生成结构化数据的元数据的方法流程图;
图2示出根据本发明一个实施例的一种生成结构化数据的元数据的装置示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
在上下文中所称“计算机设备”,也称为“电脑”,是指可以通过运行预定程序或指令来执行数值计算和/或逻辑计算等预定处理过程的智能电子设备,其可以包括处理器与存储器,由处理器执行在存储器中预存的程序指令来执行预定处理过程,或是由ASIC、FPGA、DSP等硬件执行预定处理过程,或是由上述二者组合来实现。计算机设备包括但不限于服务器、个人电脑、笔记本电脑、平板电脑、智能手机等。
所述计算机设备例如包括用户设备与网络设备。其中,所述用户设备包括但不限于智能手机、PDA、笔记本电脑、台式机等;所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量计算机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。其中,所述计算机设备可单独运行来实现本发明,也可接入网络并通过与网络中的其他计算机设备的交互操作来实现本发明。其中,所述计算机设备所处的网络包括但不限于互联网、广域网、城域网、局域网、VPN网络等。
需要说明的是,所述用户设备、网络设备和网络等仅为举例,其他现有的或今后可能出现的计算机设备或网络如可适用于本发明,也应包含在本发明保护范围以内,并以引用方式包含于此。
本文后面所讨论的方法(其中一些通过流程图示出)可以通过硬件、软件、固件、中间件、微代码、硬件描述语言或者其任意组合来实施。当用软件、固件、中间件或微代码来实施时,用以实施必要任务的程序代码或代码段可以被存储在机器或计算机可读介质(比如存储介质)中。(一个或多个)处理器可以实施必要的任务。
这里所公开的具体结构和功能细节仅仅是代表性的,并且是用于描述本发明的示例性实施例的目的。但是本发明可以通过许多替换形式来具体实现,并且不应当被解释成仅仅受限于这里所阐述的实施例。
应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元,但是这些单元不应当受这些术语限制。使用这些术语仅仅是为了将一个单元与另一个单元进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一单元可以被称为第二单元,并且类似地第二单元可以被称为第一单元。这里所使用的术语“和/或”包括其中一个或更多所列出的相关联项目的任意和所有组合。
这里所使用的术语仅仅是为了描述具体实施例而不意图限制示例性实施例。除非上下文明确地另有所指,否则这里所使用的单数形式“一个”、“一项”还意图包括复数。还应当理解的是,这里所使用的术语“包括”和/或“包含”规定所陈述的特征、整数、步骤、操作、单元和/或组件的存在,而不排除存在或添加一个或更多其他特征、整数、步骤、操作、单元、组件和/或其组合。
还应当提到的是,在一些替换实现方式中,所提到的功能/动作可以按照不同于附图中标示的顺序发生。举例来说,取决于所涉及的功能/动作,相继示出的两幅图实际上可以基本上同时执行或者有时可以按照相反的顺序来执行。
下面结合附图对本发明作进一步详细描述。
本发明可由任何具有所要求的计算处理能力的计算机设备来实现,如网络设备、用户设备等。本文中多以网络设备进行举例。具体地,网络设备解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型;接着,网络设备确定其中至少一个数组的数据类型;随后,网络设备根据所确定的数据类型,生成该结构化数据的元数据。
其中,所述结构化数据包括但不限于二维表数据、三维表数据、树状数据等具有结构特征的数据。
非结构化数据包括但不限于文本、图片、音频、视频等不具有结构特征的数据。
半结构化数据是一种特殊的非结构化数据。半结构化数据介于完全的结构化数据与完全的非结构化数据之间的数据。
本发明方案用于生成结构化数据的元数据。对于半结构化数据,如果其中部分数据属于结构化数据,则该部分数据也可以被称为结构化数据,并且本发明方案也可以用于生成该部分数据的元数据。
数据类型意指用于描述数据的类型的信息。在本文中,数据类型包括但不限于文本、数字、整数、浮点数、时间等基本类型,以及性别、URL、城市、电话、医院等级等更具体、更贴近应用领域的应用类型。
图1示出根据本发明一个实施例的方法流程图,其具体示出一种生成结构化数据的元数据的过程。在步骤S1中,网络设备解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型;在步骤S2中,网络设备确定其中至少一个数组的数据类型;在步骤S3中,网络设备根据所确定的数据类型,生成该结构化数据的元数据。
具体地,在步骤S1中,网络设备解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型。
为简单说明起见,本发明多以二维表数据作为结构化数据进行举例。本领域技术人员应能理解,其他现有的或今后可能出现的结构化数据如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,网络设备可以分析二维表数据的数据编码方式,例如UTF8、GB18030等数据编码方式。网络设备例如可以将二维表数据转换为文本格式。例如示例A,文本格式的二维表数据如下所示:
name;age;gender;education;degree
张三;25;男;大学本科;学士
李四;24;女;大学专科;无
王五;27;男;研究生;硕士
接着,网络设备可以分析上述二维表数据中的列分隔符,并确定其中分号“;”为列分隔符。随后,网络设备可以将该二维表数据解析为以下5个数组,每个数组包括4个元素,如下所示:
数组1:[name,张三,李四,王五];
数组2:[age,25,24,27];
数组3:[gender,男,女,男];
数组4:[education,大学本科,大学专科,研究生];
数组5:[degree,学士,无,硕士]。
其中,网络设备例如可以确定每行中数量相等的字符,并将该每行中数量相等的字符确定为列分隔符。例如,前述二维表数据中每行均包括4个列分隔符。特别地,如果冒号(“:”)出现在URL地址中,该冒号非列分隔符。
在此,网络设备所获得的每个数组应对应于一个数据类型。对应于一个数据类型的数组意指其所包括的全部或大部分的元素属于同一个数据类型的数组。
本领域技术人员应能理解,前述通过分析二维表数据中的列分隔符来解析结构化数据的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的解析结构化数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
并且,本领域技术人员应能理解,典型地,二维表数据中属于同一列的大部分元素对应于一个数据类型。特殊地,网络设备也可以将同一行的所有元素确定为一个数组,这种方式适用于其中属于同一行的大部分元素对应于一个数据类型的二维表数据。
优选地,网络设备可以对初始结构化数据进行转化,以使初始结构化数据转化为可被按照预定方式解析的所述结构化数据。
在此,所述可被按照预定方式解析的结构化数据包括但不限于前述按照分析列分隔符的方式来解析的二维表数据。
所述初始结构化数据例如关系型数据库表、JSON数据、XML数据等其他形式的数据。这些初始结构化数据的结构特征与二维表数据有所不同,因此网络设备可以将这些初始结构化数据转化为可被按照分析列分隔符的方式来解析的二维表数据。
例如,XML数据如下所示:
<name>张三</name>
<age>25</age>
<gender>男</gender>
<education>大学本科</education>
<degree>学士</degree>
网络设备可以分析该XML数据的分隔符,并将该XML数据转化为以下二维表数据:
name;age;gender;education;degree
张三;25;男;大学本科;学士
此外,根据本发明的一个实施例,对于如关系型数据库表、JSON数据、XML数据等其他形式的初始结构化数据,网络设备也可以按照其各自的结构特征来解析以获得初始结构化数据所对应的一个或多个数组。
在步骤S2中,网络设备确定其中至少一个数组的数据类型。
在此,网络设备可以确定其中部分或全部数组的数据类型。例如,网络设备可以通过调用多个数据类型探测器来确定每个数组的数据类型。
其中,数据类型探测器意指用于确定数组的数据类型的计算机程序。
数据类型探测器可以通过多种统计方式来确定一个数组是否属于某一特定的数据类型。例如,一个数据类型探测器可以接收一个包含若干元素的数组作为输入参数,并对该数组中的至少部分元素进行探测,以确定该(等)元素是否属于某个特定的数据类型。如果该数组中被探测的属于该特定数据类型的元素的数量占比大于一占比阈值,如80%,则该数组属于该特定的数据类型。其中,所述占比阈值是基于数据类型探测器的容错特性来确定的。所有数据类型探测器可以均采用同一个占比阈值,或者,每个数据类型探测器也可以分别采用各自的占比阈值。
根据本发明一个优选实施例,各种URL数据类型探测器可以通过以下任一验证方式来确定一元素是否属于URL数据类型:
1)探测该元素是否符合以下正则表达式:
"^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([/%;:&=a-zA-Z0-9$\-_.+!*'(),]+(\?[%;:&=a-zA-Z0-9$\-_.+!*'(),]*)?)?$"
在此,该正则表达式包括以下4部分:
其中,“(http|ftp|https):\/\/”用于验证URL的协议名称部分;
“[\w\-_]+(\.[\w\-_]+)”用于验证URL的主机名称部分;
“([/%;:&=a-zA-Z0-9$\-_.+!*'(),]”用于验证URL的路径名称部分;
“(\?[%;:&=a-zA-Z0-9$\-_.+!*'(),]*)?)?”用于验证URL的参数部分。
如果一元素符合以上正则表达式,则该元素可以被确定属于URL数据类型。
2)获得元素中所包含的域名后缀,并验证该域名后缀是否属于合法的顶级域名,如“.com”、“.net”、“.cn”等。如果一元素中包括合法的顶级域名,则该元素可被确定属于URL数据类型。
3)结合以上第1)和第2)两个验证方式来确定一元素是否属于URL数据类型。也即,既符合前述正则表达式,又包括合法的顶级域名的元素可以被确定为属于URL数据类型。
前述各种用于探测URL的数据类型探测器属于验证函数式数据类型探测器,此外,数据类型探测器还可以包括词典式数据类型探测器、聚焦分析式数据类型探测器等类别的数据类型探测器。其中,词典式数据类型探测器例如可以探测性别、学历、学位等数据类型。聚焦分析式数据类型探测器特定用于探测枚举数据类型。枚举数据类型意指其中所有元素的数据值集中在多个特定的数据值的数组的数据类型。例如,数组6包括8个元素:[2,4,4,2,2,4,4,2]。该数组6可以被确定为枚举数据类型。
其中,一个数据类型探测器可以探测一个数组中的所有元素;或者,一个数据类型探测器也可以仅探测在一个数组中的部分元素,这部分元素可以通过对数组进行数据抽样来获得。
典型情况下,一个数据类型探测器只用于探测一种数据类型。
由于需要支持的数据类型多达几十甚至上百个,所以数据类型探测器可以以插件的方式存在,网络设备可以加载所有预置的或用户提供的数据类型探测器并将这些数据类型探测器统一放到一个探测器列表中。
网络设备可以按照多种方式调用多个数据类型探测器来确定一个数组的数据类型。例如,多个数据类型探测器可以并行地探测一个数组,如果其中某一个数据类型探测器返回命中,也即,该数据类型探测器确定该数组属于该数据类型探测器所对应的数据类型,则其他数据类型探测器停止探测。接着,多个数据类型探测器再并行地探测下一个数组,直至确定每个数组的数据类型。
此外,优选地,如果所有数据类型探测器均未返回命中,也即,一数组的数据类型不属于所有数据类型探测器所对应的数据类型,该数组的数据类型可以被确定为默认的数据类型,如文本数据类型。
进一步地,网络设备可以按照多个数据类型探测器的排序,逐个将数据类型探测器用于探测一个数组的数据类型,直至确定该数组的数据类型;随后,网络设备对下一数组执行前述步骤,也即,网络设备再次按照多个数据类型探测器的排序,逐个将数据类型探测器用于探测下一数组的数据类型,直至确定该下一数组的数据类型,以此类推,直至网络设备确定所有数组的数据类型。
其中,多个数据类型探测器的排序至少可以基于以下2种方式确定:
1)网络设备可以将多个数据类型探测器划分为不同层级,按照数据类型探测器所属的层级对这些数据类型探测器进行排序。
在此,由于不同的数据类型之间具有层级关系,因此,网络设备可以按照数据类型的层级关系将多个数据类型探测器划分为不同层级。
例如,以树状结构为例,“文本”、“数字”等基本数据类型的层级可以被设定为根节点。“浮点数”型数据类型从属于“数字”型数据类型,因此,“浮点数”型数据类型的层级可以被设定为一级叶节点。“整数”型数据类型进一步从属于“浮点数”型数据类型,因此,“整数”型数据类型的层级可以被设定为二级叶节点。
网络设备可以按照树状结构的层级顺序,优先采用处于最外层叶节点的数据类型探测器进行探测,并逐层向内递进,直至采用处于根节点的数据类型探测器进行探测。
处于叶节点的数据类型更具体,处于根节点的数据类型更概括。处于叶节点的数据类型探测器先探测数组的数据类型,可以保证——不属于外层叶节点的数据类型的数组才会被进一步探测其是否属于较内层节点的数据类型,从而数组的数据类型可以被更具体地确定而不会概括地被确定为如“文本”等基本类型。
2)网络设备可以将多个数据类型探测器划分为不同层级,按照数据类型探测器所属的层级对这些数据类型探测器进行排序;随后,网络设备对属于同一层级的数据类型探测器按照运行速度进行二次排序。
在此,网络设备按照数据类型探测器所属的层级对数据类型探测器进行排序的方式,与前述第1)种排序方式相同或基本相同,因此不再赘述,并以引用的方式包含于此。
在按照数据类型探测器所属的层级对数据类型探测器进行一次排序之后,网络设备还可以按照运行速度从快到慢的顺序在各层级中进行二次排序,如将属于同一层级的数据类型探测器中运行速度快的数据类型探测器排在优先的位置并先用于探测,以及将该层级中运行速度相对慢的数据类型探测器排在靠后的位置并后用于探测。
在此,网络设备对属于同一层级的数据类型探测器按照运行速度进行二次排序,可以提升探测效率。
本领域技术人员应能理解,前述2种对多个数据类型探测器进行排序的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它方案或今后可能出现的排序方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S3中,网络设备根据所确定的数据类型,生成结构化数据的元数据。
在此,所述结构化数据的元数据意指用于描述结构化数据的数据。
元数据至少可以包括数组的数据类型。继前例示例A,在步骤S2中,网络设备确定数组1的数据类型为文本,数组2的数据类型为年龄,数组3的数据类型为性别,数组4的数据类型为学历,数组5的数据类型为学位。网络设备可以基于这些数据类型,生成二维表数据的元数据:第1列的数据类型为文本,第2列的数据类型为年龄,第3列的数据类型为性别,第4列的数据类型为学历,第5列的数据类型为学位。
此外,元数据还可以包括由数据类型确定的其他元数据。
优选地,所述其他元数据包括但不限于以下至少任一项:
1)结构化数据具有标题数组。
在此,网络设备可以将结构化数据中位于标题位置的多个元素所组成的数组作为待检测数组,以检测其是否为标题数组。如果该待检测数组为标题数组,则结构化数据具有标题数组;如果该待检测数组非标题数组,则结构化数据不具有标题数组。
对待检测数组的解析方式应与之前对各数组的解析方式不同。例如,对于二维表数据,通常将其按列解析为分别对应一数据类型的多个列数组,进而确定各列数组的数据类型,但待检测数组则是按行解析获得,并通常为首行,从而当该待检测数组被确定为标题数组时,其即为一标题行。具体如,继前示例A,二维表数据中处于标题位置的待检测数组包括以下5个元素:name;age;gender;education;degree。
在此,本领域技术人员应能理解,上述列数组及标题行仅为示例,其他对结构化数据的解析方式,如可适用于本发明来获得标题数组以及分别对应一数据类型的各数组,均应被包含于本发明的专利保护范围之内。例如,对于某些二维表数据,需对其按行解析来获得分别对应一数据类型的多个行数组,从而其标题数组就可能为位于第一列的标题列,如果有的话。
例如,网络设备可以至少可以基于以下3种方式来确定结构化数据是否具有标题数组:
1.1)标题数组中每个元素的数据类型与该元素所对应的一个前述解析获得的数组的数据类型的差异。
为便于说明,以下均以列数组及标题行进行举例。如果待检测数组为标题行,其中每个元素的数据类型应与其所属的列数组的数据类型差异较大。例如,继前示例A,name、age、gender、education、degree均为文本数据类型。随后,网络设备将name的数据类型“文本”与name所属的列数组(数组1)的数据类型“文本”相比较,无差异;网络设备将age的数据类型“文本”与age所属的列数组(数组2)的数据类型“年龄”相比较,有差异;网络设备将gender的数据类型“文本”与gender所属的列数组(数组3)的数据类型“性别”相比较,有差异;网络设备将education的数据类型“文本”与education所属的列数组(数组4)的数据类型“学历”相比较,有差异;网络设备将degree的数据类型“文本”与degree所属的列数组(数组5)的数据类型“学位”相比较,有差异。通过前述5次对比,其中4组数据类型有差异,数量占比大于差异阈值(如60%),因此,网络设备可以确定待检测数组为标题数组,也即,结构化数据具有标题数组。
其中,每个元素的数据类型同样可以由多个数据类型探测器进行探测来确定。在此,采用多个数据类型探测器探测待检测数组中元素的数据类型的方式,与前述采用多个数据类型探测器探测各数组中元素的数据类型的方式相同或基本相同,因此不再赘述,并以引用的方式包含于此。
此外,网络设备还可以根据已确定的每个数组的数据类型,通过调用相应数据类型的数据类型探测器来分别探测待检测数组中与各数组相对应的元素的数据类型,以根据各元素的数据类型与相应数组的数据类型之间的差异,确定该待检测数组是否为标题数组。例如,继前示例A,数组1的数据类型为“文本”,网络设备可以通过调用用于探测“文本”的数据类型探测器来探测数组1所对应的待检测数组中的元素“name”,并确定“name”属于文本数据类型,也即,“name”的数据类型与数组1的数据类型无差异。数组2的数据类型为“年龄”,网络设备可以通过调用用于探测“年龄”的数据类型探测器来探测数组2所对应的待检测数组中的元素“age”,并确定“age”不属于“年龄”数据类型,也即,“age”的数据类型与数组2的数据类型有差异。以此类推,通过5次对比,其中4组数据类型有差异,数量占比大于差异阈值,因此,网络设备可以确定待检测数组为标题数组,也即,结构化数据具有标题数组。
1.2)标题数组中各元素是否具有标题相关特征。
在此,标题相关特征包括但不限于各元素均不为空、各元素均不为数值、各元素的长度不超过预定阈值等。
如果待检测数组中各元素满足前述一项或多项标题相关特征,则该待检测数组为标题数组,从而该结构化数据具有标题数组。
1.3)网络设备综合前述1.1)和1.2)两种方式来确定。
在此,如果待检测数组的数据类型与各数组的数据类型的差异较大,并且待检测数组中各元素具有标题相关特征,网络设备可以确定结构化数据具有标题数组。
2)结构化数据所属的应用领域。
在此,网络设备可以根据所确定的每个数组各自的数据类型,通过查询应用领域数据库来确定结构化数据所属的应用领域。所述应用领域数据库中保存有数据类型与相应的应用领域的对应关系。
其中,所述应用领域包括但不限于人力资源、互联网资源、财务数据等。
例如,继前示例A,所确定的每个数组的各数据类型包括“年龄”、“性别”、“学历”、“学位”,这些数据类型对应的应用领域为人力资源。
又如,如果所确定的每个数组的各数据类型包括“网站名称”、“网址”等,这些数据类型对应的应用领域为互联网资源。
还如,如果所确定的每个数组的各数据类型包括“单价”、“数量”、“总价”等,这些数据类型对应的应用领域为财务数据。
3)结构化数据的至少一个数组中包含与相应数组的数据类型不符的异常元素。
在此,网络设备可以根据所确定的各数组的数据类型,对结构化数据相应数组中包含的元素进行探测,以确定其中是否包含与所属数组的数据类型不一致的异常元素。
例如,结构化数据所对应的一数组的数据类型为学历,并且该数组中包含一元素“20000”。网络设备可以通过调用“学历”数据类型探测器对该数组所包括的所有元素进行探测,并将该元素“20000”确定为与数据类型“学历”不符的异常元素。
图2示出根据本发明一个实施例的装置示意图,其具体示出一种生成结构化数据的元数据的装置,也即生成装置10。如图2所示,生成装置10被装置于网络设备中,并具体包括装置11-13。
装置11解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型(为便于区分,以下将装置11称为数组获得装置11);装置12确定其中至少一个数组的数据类型(为便于区分,以下将装置12称为数据类型确定装置12);装置13根据所确定的数据类型,生成该结构化数据的元数据(为便于区分,以下将装置13称为元数据生成装置13)。
具体地,数组获得装置11解析结构化数据,以获得该结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型。
为简单说明起见,本发明多以二维表数据作为结构化数据进行举例。本领域技术人员应能理解,其他现有的或今后可能出现的结构化数据如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在此,数组获得装置11或生成装置10中的其他特定装置可以分析二维表数据的数据编码方式,例如UTF8、GB18030等数据编码方式。数组获得装置11或生成装置10中的其他特定装置例如可以将二维表数据转换为文本格式。一个示例性的文本格式的二维表数据可如以上示例A所示。
接着,数组获得装置11可以分析上述二维表数据中的列分隔符,并确定其中分号“;”为列分隔符。随后,数组获得装置11可以将该二维表数据解析为5个数组,每个数组包括4个元素,例如上述数组1-5。
其中,数组获得装置11例如可以确定每行中数量相等的字符,并将该每行中数量相等的字符确定为列分隔符。例如,前述二维表数据中每行均包括4个列分隔符。特别地,如果冒号(“:”)出现在URL地址中,该冒号非列分隔符。
在此,数组获得装置11所获得的每个数组应对应于一个数据类型。对应于一个数据类型的数组意指其所包括的全部或大部分的元素属于同一个数据类型的数组。
本领域技术人员应能理解,前述通过分析二维表数据中的列分隔符来解析结构化数据的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它或今后可能出现的解析结构化数据的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
并且,本领域技术人员应能理解,典型地,二维表数据中属于同一列的大部分元素对应于一个数据类型。特殊地,数组获得装置11也可以将同一行的所有元素确定为一个数组,这种方式适用于其中属于同一行的大部分元素对应于一个数据类型的二维表数据。
优选地,生成装置10还可以包括一初始数据转化装置(图2中未示出)。初始数据转化装置可以对初始结构化数据进行转化,以使初始结构化数据转化为可被按照预定方式解析的所述结构化数据。
在此,所述可被按照预定方式解析的结构化数据包括但不限于前述按照分析列分隔符的方式来解析的二维表数据。
所述初始结构化数据例如关系型数据库表、JSON数据、XML数据等其他形式的数据。这些初始结构化数据的结构特征与二维表数据有所不同,因此初始数据转化装置可以将这些初始结构化数据转化为可被按照分析列分隔符的方式来解析的二维表数据。
例如,XML数据如下所示:
<name>张三</name>
<age>25</age>
<gender>男</gender>
<education>大学本科</education>
<degree>学士</degree>
初始数据转化装置可以分析该XML数据的分隔符,并将该XML数据转化为以下二维表数据:
name;age;gender;education;degree
张三;25;男;大学本科;学士
此外,根据本发明的一个实施例,对于如关系型数据库表、JSON数据、XML数据等其他形式的初始结构化数据,数组获得装置11也可以按照其各自的结构特征来解析以获得初始结构化数据所对应的一个或多个数组。
随后,数据类型确定装置12确定其中至少一个数组的数据类型。
在此,数据类型确定装置12可以确定其中部分或全部数组的数据类型。例如,数据类型确定装置12可以通过调用多个数据类型探测器来确定每个数组的数据类型。
其中,数据类型探测器意指用于确定数组的数据类型的计算机程序。
数据类型探测器可以通过多种统计方式来确定一个数组是否属于某一特定的数据类型。例如,一个数据类型探测器可以接收一个包含若干元素的数组作为输入参数,并对该数组中的至少部分元素进行探测,以确定该(等)元素是否属于某个特定的数据类型。如果该数组中被探测的属于该特定数据类型的元素的数量占比大于一占比阈值,如80%,则该数组属于该特定的数据类型。其中,所述占比阈值是基于数据类型探测器的容错特性来确定的。所有数据类型探测器可以均采用同一个占比阈值,或者,每个数据类型探测器也可以分别采用各自的占比阈值。
根据本发明一个优选实施例,各种URL数据类型探测器可以通过以下任一验证方式来确定一元素是否属于URL数据类型:
1)探测该元素是否符合以下正则表达式:
"^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([/%;:&=a-zA-Z0-9$\-_.+!*'(),]+(\?[%;:&=a-zA-Z0-9$\-_.+!*'(),]*)?)?$"
在此,该正则表达式包括以下4部分:
其中,“(http|ftp|https):\/\/”用于验证URL的协议名称部分;
“[\w\-_]+(\.[\w\-_]+)”用于验证URL的主机名称部分;
“([/%;:&=a-zA-Z0-9$\-_.+!*'(),]”用于验证URL的路径名称部分;
“(\?[%;:&=a-zA-Z0-9$\-_.+!*'(),]*)?)?”用于验证URL的参数部分。
如果一元素符合以上正则表达式,则该元素可以被确定属于URL数据类型。
2)获得元素中所包含的域名后缀,并验证该域名后缀是否属于合法的顶级域名,如“.com”、“.net”、“.cn”等。如果一元素中包括合法的顶级域名,则该元素可被确定属于URL数据类型。
3)结合以上第1)和第2)两个验证方式来确定一元素是否属于URL数据类型。也即,既符合前述正则表达式,又包括合法的顶级域名的元素可以被确定为属于URL数据类型。
前述各种用于探测URL的数据类型探测器属于验证函数式数据类型探测器,此外,数据类型探测器还可以包括词典式数据类型探测器、聚焦分析式数据类型探测器等类别的数据类型探测器。其中,词典式数据类型探测器例如可以探测性别、学历、学位等数据类型。聚焦分析式数据类型探测器特定用于探测枚举数据类型。枚举数据类型意指其中所有元素的数据值集中在多个特定的数据值的数组的数据类型。例如,前述数组6,其包括8个元素:[2,4,4,2,2,4,4,2]。该数组6可以被确定为枚举数据类型。
其中,一个数据类型探测器可以探测一个数组中的所有元素;或者,一个数据类型探测器也可以仅探测一个数组中的部分元素,这部分元素可以通过对数组进行数据抽样来获得。
典型情况下,一个数据类型探测器只用于探测一种数据类型。
由于需要支持的数据类型多达几十甚至上百个,所以数据类型探测器可以以插件的方式存在,数据类型确定装置12可以加载所有预置的或用户提供的数据类型探测器并将这些数据类型探测器统一放到一个探测器列表中。
数据类型确定装置12可以按照多种方式调用多个数据类型探测器来确定一个数组的数据类型。例如,多个数据类型探测器可以并行地探测一个数组,如果其中某一个数据类型探测器返回命中,也即,该数据类型探测器确定该数组属于该数据类型探测器所对应的数据类型,则其他数据类型探测器停止探测。接着,多个数据类型探测器再并行地探测下一个数组,直至确定每个数组的数据类型。
此外,优选地,如果所有数据类型探测器均未返回命中,也即,一数组的数据类型不属于所有数据类型探测器所对应的数据类型,该数组的数据类型可以被确定为默认的数据类型,如文本数据类型。
进一步地,数据类型确定装置12可以按照多个数据类型探测器的排序,逐个将数据类型探测器用于探测一个数组的数据类型,直至确定该数组的数据类型;随后,数据类型确定装置12对下一数组执行前述步骤,也即,数据类型确定装置12再次按照多个数据类型探测器的排序,逐个将数据类型探测器用于探测下一数组的数据类型,直至确定该下一数组的数据类型,以此类推,直至数据类型确定装置12确定所有数组的数据类型。
其中,多个数据类型探测器的排序至少可以基于以下2种方式确定:
1)数据类型确定装置12或生成装置10中的其他特定装置可以将多个数据类型探测器划分为不同层级,按照数据类型探测器所属的层级对这些数据类型探测器进行排序。
在此,由于不同的数据类型之间具有层级关系,因此,数据类型确定装置12或生成装置10中的其他特定装置可以按照数据类型的层级关系将多个数据类型探测器划分为不同层级。
例如,以树状结构为例,“文本”、“数字”等基本数据类型的层级可以被设定为根节点。“浮点数”型数据类型从属于“数字”型数据类型,因此,“浮点数”型数据类型的层级可以被设定为一级叶节点。“整数”型数据类型进一步从属于“浮点数”型数据类型,因此,“整数”型数据类型的层级可以被设定为二级叶节点。
数据类型确定装置12或生成装置10中的其他特定装置可以按照树状结构的层级顺序,优先采用处于最外层叶节点的数据类型探测器进行探测,并逐层向内递进,直至采用处于根节点的数据类型探测器进行探测。
处于叶节点的数据类型更具体,处于根节点的数据类型更概括。处于叶节点的数据类型探测器先探测数组的数据类型,可以保证——不属于外层叶节点的数据类型的数组才会被进一步探测其是否属于较内层节点的数据类型,从而数组的数据类型可以被更具体地确定而不会概括地被确定为如“文本”等基本类型。
2)数据类型确定装置12或生成装置10中的其他特定装置可以将多个数据类型探测器划分为不同层级,按照数据类型探测器所属的层级对这些数据类型探测器进行排序;随后,数据类型确定装置12或生成装置10中的其他特定装置对属于同一层级的数据类型探测器按照运行速度进行二次排序。
在此,数据类型确定装置12或生成装置10中的其他特定装置按照数据类型探测器所属的层级对数据类型探测器进行排序的方式,与前述第1)种排序方式相同或基本相同,因此不再赘述,并以引用的方式包含于此。
在按照数据类型探测器所属的层级对数据类型探测器进行一次排序之后,数据类型确定装置12或生成装置10中的其他特定装置还可以按照运行速度从快到慢的顺序在各层级中进行二次排序,如将属于同一层级的数据类型探测器中运行速度快的数据类型探测器排在优先的位置并先用于探测,以及将该层级中运行速度相对慢的数据类型探测器排在靠后的位置并后用于探测。
在此,数据类型确定装置12或生成装置10中的其他特定装置对属于同一层级的数据类型探测器按照运行速度进行二次排序,可以提升探测效率。
本领域技术人员应能理解,前述2种对多个数据类型探测器进行排序的方式仅为举例,而不应被视为对本发明的任何限制,任何现有其它方案或今后可能出现的排序方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
随后,元数据生成装置13根据所确定的数据类型,生成结构化数据的元数据。
在此,所述结构化数据的元数据意指用于描述结构化数据的数据。
元数据至少可以包括数组的数据类型。继前例示例A,数据类型确定装置12确定数组1的数据类型为文本,数组2的数据类型为年龄,数组3的数据类型为性别,数组4的数据类型为学历,数组5的数据类型为学位。元数据生成装置13可以基于这些数据类型,生成二维表数据的元数据:第1列的数据类型为文本,第2列的数据类型为年龄,第3列的数据类型为性别,第4列的数据类型为学历,第5列的数据类型为学位。
此外,元数据还可以包括由数据类型确定的其他元数据。
优选地,所述其他元数据包括但不限于以下至少任一项:
1)结构化数据具有标题数组。
在此,元数据生成装置13可以将结构化数据中位于标题位置的多个元素所组成的数组作为待检测数组,以检测其是否为标题数组。如果该待检测数组为标题数组,则结构化数据具有标题数组;如果该待检测数组非标题数组,则结构化数据不具有标题数组。
对待检测数组的解析方式应与之前对各数组的解析方式不同。例如,对于二维表数据,通常将其按列解析为分别对应一数据类型的多个列数组,进而确定各列数组的数据类型,但待检测数组则是按行解析获得,并通常为首行,从而当该待检测数组被确定为标题数组时,其即为一标题行。具体如,继前示例A,二维表数据中处于标题位置的待检测数组包括以下5个元素:name;age;gender;education;degree。
在此,本领域技术人员应能理解,上述列数组及标题行仅为示例,其他对结构化数据的解析方式,如可适用于本发明来获得标题数组以及分别对应一数据类型的各数组,均应被包含于本发明的专利保护范围之内。例如,对于某些二维表数据,需对其按行解析来获得分别对应一数据类型的多个行数组,从而其标题数组就可能为位于第一列的标题列,如果有的话。
例如,元数据生成装置13可以至少可以基于以下3种方式来确定结构化数据是否具有标题数组:
1.1)标题数组中每个元素的数据类型与该元素所对应的一个前述解析获得的数组的数据类型的差异。
为便于说明,以下均以列数组及标题行进行举例。如果待检测数组为标题行,其中每个元素的数据类型应与其所属的列数组的数据类型差异较大。例如,继前示例A,name、age、gender、education、degree均为文本数据类型。随后,元数据生成装置13将name的数据类型“文本”与name所属的列数组(数组1)的数据类型“文本”相比较,无差异;元数据生成装置13将age的数据类型“文本”与age所属的列数组(数组2)的数据类型“年龄”相比较,有差异;元数据生成装置13将gender的数据类型“文本”与gender所属的列数组(数组3)的数据类型“性别”相比较,有差异;元数据生成装置13将education的数据类型“文本”与education所属的列数组(数组4)的数据类型“学历”相比较,有差异;元数据生成装置13将degree的数据类型“文本”与degree所属的列数组(数组5)的数据类型“学位”相比较,有差异。通过前述5次对比,其中4组数据类型有差异,数量占比大于差异阈值(如60%),因此,元数据生成装置13可以确定待检测数组为标题数组,也即,结构化数据具有标题数组。
其中,每个元素的数据类型同样可以由多个数据类型探测器进行探测来确定。在此,采用多个数据类型探测器探测待检测数组中元素的数据类型的方式,与前述采用多个数据类型探测器探测各数组中元素的数据类型的方式相同或基本相同,因此不再赘述,并以引用的方式包含于此。
此外,元数据生成装置13还可以根据已确定的每个数组的数据类型,通过调用相应数据类型的数据类型探测器来分别探测待检测数组中与各数组相对应的元素的数据类型,以根据各元素的数据类型与相应数组的数据类型之间的差异,确定该待检测数组是否为标题数组。例如,继前示例A,数组1的数据类型为“文本”,元数据生成装置13可以通过调用用于探测“文本”的数据类型探测器来探测数组1所对应的待检测数组中的元素“name”,并确定“name”属于文本数据类型,也即,“name”的数据类型与数组1的数据类型无差异。数组2的数据类型为“年龄”,元数据生成装置13可以通过调用用于探测“年龄”的数据类型探测器来探测数组2所对应的待检测数组中的元素“age”,并确定“age”不属于“年龄”数据类型,也即,“age”的数据类型与数组2的数据类型有差异。以此类推,通过5次对比,其中4组数据类型有差异,数量占比大于差异阈值,因此,元数据生成装置13可以确定待检测数组为标题数组,也即,结构化数据具有标题数组。
1.2)结构化数据对应的待检测数组中各元素是否具有标题相关特征。
在此,标题相关特征包括但不限于各元素均不为空、各元素均不为数值、各元素的长度不超过预定阈值等。
如果待检测数组中各元素满足前述一项或多项标题相关特征,则该待检测数组为标题数组,从而该结构化数据具有标题数组。
1.3)元数据生成装置13综合前述1.1)和1.2)两种方式来确定。
在此,如果待检测数组的数据类型与各数组的数据类型的差异较大,并且待检测数组中各元素具有标题相关特征,元数据生成装置13可以确定结构化数据具有标题数组。
2)结构化数据所属的应用领域。
在此,元数据生成装置13可以根据所确定的每个数组各自的数据类型,通过查询应用领域数据库来确定结构化数据所属的应用领域。所述应用领域数据库中保存有数据类型与相应的应用领域的对应关系。
其中,所述应用领域包括但不限于人力资源、互联网资源、财务数据等。
例如,继前示例A,所确定的每个数组的各数据类型包括“年龄”、“性别”、“学历”、“学位”,这些数据类型对应的应用领域为人力资源。
又如,如果所确定的每个数组的各数据类型包括“网站名称”、“网址”等,这些数据类型对应的应用领域为互联网资源。
还如,如果所确定的每个数组的各数据类型包括“单价”、“数量”、“总价”等,这些数据类型对应的应用领域为财务数据。
3)结构化数据的至少一个数组中包含与相应数组的数据类型不符的异常元素。
在此,元数据生成装置13可以根据所确定的各数组的数据类型,对结构化数据相应数组中包含的元素进行探测,以确定其中是否包含与所属数组的数据类型不一致的异常元素。
例如,结构化数据所对应的一数组的数据类型为学历,并且该数组中包含一元素“20000”。元数据生成装置13可以通过调用“学历”数据类型探测器对该数组所包括的所有元素进行探测,并将该元素“20000”确定为与数据类型“学历”不符的异常元素。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,本发明的各个装置可采用专用集成电路(ASIC)或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (20)
1.一种生成结构化数据的元数据的方法,其中,该方法包括:
a解析结构化数据,以获得所述结构化数据所对应的一个或多个数组,其中每个数组对应于一个数据类型;
b确定其中至少一个数组的数据类型;
c根据所确定的数据类型,生成所述结构化数据的元数据。
2.根据权利要求1所述的方法,其中,所述步骤b中多个数据类型探测器被用来确定所述至少一个数组的数据类型。
3.根据权利要求2所述的方法,其中,所述步骤b具体包括:
b1按照所述多个数据类型探测器的排序,逐个将所述数据类型探测器用于探测一个数组的数据类型,直至确定该数组的数据类型;
b2对下一数组执行所述步骤b1,直至确定所有数组的数据类型。
4.根据权利要求3所述的方法,其中,所述步骤b1中的排序包括将所述多个数据类型探测器划分为不同层级,按照所属层级对所述多个数据类型探测器进行排序。
5.根据权利要求4所述的方法,其中,所述步骤b1中的排序还包括:
-对属于同一层级的数据类型探测器按照运行速度进行二次排序。
6.根据权利要求1至5中任一项所述的方法,其中,在步骤a之前,该方法还包括:
-对初始结构化数据进行转化,以使其转化为可被按照预定方式解析的所述结构化数据。
7.根据权利要求1至6中任一项所述的方法,其中,所述元数据包括所述数据类型以及由所述数据类型确定的其他元数据。
8.根据权利要求7所述的方法,其中,所述其他元数据包括以下至少任一项:
-所述结构化数据具有标题数组;
-所述结构化数据所属的应用领域;
-所述结构化数据的至少一个数组中包含与相应数组的数据类型不符的异常元素。
9.根据权利要求8所述的方法,其中,所述其他元数据包括所述结构化数据具有标题数组;
其中,所述结构化数据具有标题数组基于以下至少任一方式来确定:
-所述标题数组中每个元素的数据类型与该元素所对应的一个所述数组的数据类型的差异;
-所述标题数组中各元素是否具有标题相关特征。
10.根据权利要求9所述的方法,其中,所述标题相关特征包括以下至少任一项:
-不为空;
-不为数值;
-长度不超过预定阈值。
11.一种生成结构化数据的元数据的装置,其中,该装置包括:
-用于解析结构化数据,以获得所述结构化数据所对应的一个或多个数组的装置,其中每个数组对应于一个数据类型;
-用于确定其中至少一个数组的数据类型的装置;
-用于根据所确定的数据类型,生成所述结构化数据的元数据的装置。
12.根据权利要求11所述的装置,其中,所述用于确定其中至少一个数组的数据类型的装置通过调用多个数据类型探测器来确定所述至少一个数组的数据类型。
13.根据权利要求12所述的装置,其中,所述确定所述至少一个数组的数据类型的操作具体包括:
-按照所述多个数据类型探测器的排序,逐个将所述数据类型探测器用于探测一个数组的数据类型,直至确定该数组的数据类型,对下一数组重复执行所述前述探测操作,直至确定所有数组的数据类型。
14.根据权利要求13所述的装置,其中,所述排序包括将所述多个数据类型探测器划分为不同层级,按照所属层级对所述多个数据类型探测器进行排序。
15.根据权利要求14所述的装置,其中,所述排序还包括:
-对属于同一层级的数据类型探测器按照运行速度进行二次排序。
16.根据权利要求11至15中任一项所述的装置,其中,该装置还包括:
-用于对初始结构化数据进行转化,以使其转化为可被按照预定方式解析的所述结构化数据的装置。
17.根据权利要求11至16中任一项所述的装置,其中,所述元数据包括所述数据类型以及由所述数据类型确定的其他元数据。
18.根据权利要求17所述的装置,其中,所述其他元数据包括以下至少任一项:
-所述结构化数据具有标题数组;
-所述结构化数据所属的应用领域;
-所述结构化数据的至少一个数组中包含与相应数组的数据类型不符的异常元素。
19.根据权利要求18所述的装置,其中,所述其他元数据包括所述结构化数据具有标题数组;
其中,所述结构化数据具有标题数组基于以下至少任一方式来确定:
-所述标题数组中每个元素的数据类型与该元素所对应的一个所述数组的数据类型的差异;
-所述标题数组中各元素是否具有标题相关特征。
20.根据权利要求19所述的装置,其中,所述标题相关特征包括以下至少任一项:
-不为空;
-不为数值;
-长度不超过预定阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510202637.3A CN104850590A (zh) | 2015-04-24 | 2015-04-24 | 一种生成结构化数据的元数据的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510202637.3A CN104850590A (zh) | 2015-04-24 | 2015-04-24 | 一种生成结构化数据的元数据的方法与装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104850590A true CN104850590A (zh) | 2015-08-19 |
Family
ID=53850235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510202637.3A Pending CN104850590A (zh) | 2015-04-24 | 2015-04-24 | 一种生成结构化数据的元数据的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850590A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227523A (zh) * | 2016-07-18 | 2016-12-14 | 浪潮通用软件有限公司 | 一种通用JavaScript数据源组件 |
CN109117440A (zh) * | 2017-06-23 | 2019-01-01 | 中国移动通信集团公司 | 一种元数据信息获取方法、系统和计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102053987A (zh) * | 2009-11-06 | 2011-05-11 | 商业对象软件有限公司 | 用于显示和修改数据数组的统一接口 |
CN102713834A (zh) * | 2009-11-13 | 2012-10-03 | 起元技术有限责任公司 | 管理记录格式信息 |
CN102982065A (zh) * | 2003-09-15 | 2013-03-20 | 起元科技有限公司 | 数据处理方法、数据处理装置及计算机可读存储介质 |
CN104536948A (zh) * | 2014-12-10 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 版式文档的处理方法及装置 |
-
2015
- 2015-04-24 CN CN201510202637.3A patent/CN104850590A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982065A (zh) * | 2003-09-15 | 2013-03-20 | 起元科技有限公司 | 数据处理方法、数据处理装置及计算机可读存储介质 |
CN102053987A (zh) * | 2009-11-06 | 2011-05-11 | 商业对象软件有限公司 | 用于显示和修改数据数组的统一接口 |
CN102713834A (zh) * | 2009-11-13 | 2012-10-03 | 起元技术有限责任公司 | 管理记录格式信息 |
CN104536948A (zh) * | 2014-12-10 | 2015-04-22 | 百度在线网络技术(北京)有限公司 | 版式文档的处理方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227523A (zh) * | 2016-07-18 | 2016-12-14 | 浪潮通用软件有限公司 | 一种通用JavaScript数据源组件 |
CN106227523B (zh) * | 2016-07-18 | 2019-03-08 | 浪潮通用软件有限公司 | 一种通用JavaScript数据源组件 |
CN109117440A (zh) * | 2017-06-23 | 2019-01-01 | 中国移动通信集团公司 | 一种元数据信息获取方法、系统和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11562012B2 (en) | System and method for providing technology assisted data review with optimizing features | |
CN107423278B (zh) | 评价要素的识别方法、装置及系统 | |
CN107766309B (zh) | 数据表格生成方法、装置以及存储介质、电子装置 | |
CN105988979A (zh) | 基于pdf文件的表格提取方法和装置 | |
Milev | Conceptual approach for development of web scraping application for tracking information | |
US9594815B2 (en) | Local extrema based data sampling system | |
CN103678511A (zh) | 根据可视化模板进行网页内容抽取的方法及装置 | |
CN102207857A (zh) | Gui元素识别方法、装置及系统 | |
CN103714116A (zh) | 网页信息提取方法及设备 | |
CN102664925A (zh) | 一种展现搜索结果的方法及装置 | |
CN103778217A (zh) | 基于当前网页列表进行推荐的方法和系统 | |
CN108874934B (zh) | 页面正文提取方法和装置 | |
CN102902794B (zh) | 网页分类系统及方法 | |
US20150379112A1 (en) | Creating an on-line job function ontology | |
CN105787051A (zh) | 一种基于元数据模型的分析方法及装置 | |
CN103473358A (zh) | 一种搜索引擎抓取网页开放式摘要信息的方法及装置 | |
CN103559202B (zh) | 一种网页内容抽取装置和方法 | |
CN102902784A (zh) | 网页分类存储系统及方法 | |
CN103853770A (zh) | 一种抽取论坛网页中帖子内容的方法及系统 | |
KR101780377B1 (ko) | 뉴스와 sns 데이터로부터 식품 위해 이벤트를 실시간 자동 추출하는 방법 및 이를 위한 시스템 | |
CN104850590A (zh) | 一种生成结构化数据的元数据的方法与装置 | |
CN107871128A (zh) | 一种基于svg动态图表的高鲁棒性图像识别方法 | |
CN104834958B (zh) | 一种对答案的步骤进行评判的方法和装置 | |
CN103631795A (zh) | 一种在网络设备中对网页进行转换的方法、装置和设备 | |
CN102890717B (zh) | 网页类别知识库的建立系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150819 |
|
RJ01 | Rejection of invention patent application after publication |