[发明专利]一种构造数据对象的方法和装置在审
申请号: | 201710227914.5 | 申请日: | 2017-04-10 |
公开(公告)号: | CN108694194A | 公开(公告)日: | 2018-10-23 |
发明(设计)人: | 廖耀华 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据对象 数据条目 预定义 构造数据 数据解析 结构化 数据集 数据项 源数据 注解 方法和装置 多个属性 数据集中 解析 应用 | ||
本发明提供一种构造数据对象的方法,其特征在于,该方法包括:获得结构化源数据;根据预定义的数据解析策略,对该结构化源数据中的每一个有效的数据条目执行解析,以得到与该数据条目相对应的符合所述数据解析策略的数据集;针对该数据集应用预定义的对数据对象的注解以从该数据集中提取数据项,所述预定义的对数据对象的注解定义所述数据对象的一个或多个属性;根据所提取的数据项来构造与该数据条目相对应的数据对象。
技术领域
本发明涉及计算机领域,尤其涉及一种构造数据对象的方法、装置、电子设备和可读存储介质。
背景技术
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有的结构化源数据解析技术方案通过IO流读取源数据,每解析一行数据就要构造一个实体的对象,然后把数据保存到数据库中。这种技术方案代码的可重用性非常差,每一种内容格式的文件都需要写完整的解析流程。例如“学生”源数据包括“姓名”、“学号”、“年龄”三个属性;“学校”源数据则包括“名称”、“地址”两个属性。那么在解析“学生”和“学校”两种源数据的时候,需要针对不同的属性构建两种不同的解析流程。如果有成百上千的不同格式的源数据要解析处理,对每个文件单独编写解析程序,工作量非常繁重且容易出错。
此外,除了对每个源数据单独编写解析程序外,还必须考虑源数据处理的方式。例如,“学生”源数据解析后需要存储到数据库中,而“学校”源数据解析后需要存储到磁盘中。在编写解析程序之外,还需要对不同的经解析的源数据编写特定的操作程序。
除此之外,随着云存储技术的发展和普及,越来越多的企业和个人将数据存储在诸如云存储的远程数据存储上。在这种情况下,目前读取云存储上的源数据的方法主要采用Java IO流的方式来读取。在有成百上千的不同格式的源数据要解析处理的情况下,每次读取一行数据、构建该行数据的对象,显然是非常低效的。
发明内容
有鉴于此,本发明实施例提供构造数据对象的方法、装置、电子设备和可读存储介质,能够批量处理诸如云存储等上保存的源数据、其他远程数据存储上的源数据、以及本地文件中的源数据,并通过基于反射的注解来动态解析源数据生成最终的解析对象,最后通过回调函数来对解析生成的对象执行后续操作。上面描述的整个文件解析逻辑可以集成公用的代码库,供用户使用,用户只需要预定义源数据内容的格式、源数据解析后返回的对象以及保存到数据库的回调函数。
为实现上述目的,根据本发明实施例的一个方面,提供了一种构造数据对象的方法。
根据本发明实施例的一个方面的构造数据对象的方法,包括:获得结构化源数据;根据预定义的数据解析策略,对该结构化源数据中的每一个有效的数据条目执行解析,以得到与该数据条目相对应的符合所述数据解析策略的数据集;针对该数据集应用预定义的对数据对象的注解以从该数据集中提取数据项,所述预定义的对数据对象的注解定义所述数据对象的一个或多个属性;根据所提取的数据项来构造与该数据条目相对应的数据对象。
可选地,利用回调函数来对所构造的数据对象执行操作。
可选地,其中所述数据解析策略包括指示有效的数据条目在所述一个或多个源数据中的位置的位置信息和指示所述有效的数据条目中的数据项之间的分隔符的分隔符信息。
可选地,根据所述数据解析策略对结构化源数据中的每一个有效的数据条目执行解析的步骤还包括根据所述位置信息,在所述一个或多个结构化源数据中确定一个或多个有效的数据条目;针对每一个有效的数据条目:根据所述分隔符信息,从该有效的数据条目中确定至少一个数据项,从而得到包含所确定的至少一个数据项的经解析的数据集。
可选地,其中所述对数据对象的注解包括要构造的数据对象的属性和与所述要构造的数据对象的属性对应的数据项在所述经解析的数据集中的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710227914.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:网页类型的判断方法及装置
- 下一篇:一种分布式数据仓库的管理方法及系统