分布式异构科技资源池数据融合设计

2021-07-01 05:22蒋添任季于东侯爱琴
物联网技术 2021年6期
关键词:跨平台异构代码

蒋添任,季于东,侯爱琴

(西北大学 信息科学与技术学院,陕西 西安 710127)

0 引 言

各类科技资源种类繁多,由不同机构管理、采集和维护。由于行政管理和信息技术等方面的障碍,存在严重的信息孤岛现象,大量科技资源无法被用户共享使用,造成资源的极大浪费。针对专业科技资源和综合科技资源的异种、异构、异域、分布式多层等特点,建立开放式跨平台分布式科技资源池架构,首先需要对各类科技资源进行汇聚、清洗和融合,进而建立科技资源云分享平台,以便进行精准搜索、智能匹配,及分析、推理、评价和优化。

专业科技资源是一个以标准和规范为基础,包含不同层次、不同类型,分散孤立又相互关联的资源库群,在全国各省市建立了众多分支中心和基层分中心站点,分散建库为分布式分层科技资源部署形式。不同来源的科技资源数据汇聚到资源池必须进行清洗融合。数据融合指将来自不同数据源的同一实体(如企业、个人)的不同表象融合成单一表象,消除潜在的数据冲突[1]。

本文重点研究基于分布式资源巨系统的资源融合方法,对来自万方数据、东方灵盾及宁波信息院等不同结构的专业科技资源数据进行汇聚融合,以实现跨平台的科技资源云共享。

1 数据融合相关工作

目前数据融合方法大多针对多传感器或无线传感网的多源数据融合[2],相关方法可抽象为数据级融合、特征级融合及决策级融合3个层次[3]。文献[4]研究了对多个异构传感器数据进行数据融合时的兼容性问题,提出基于多传感器决策级数据融合的多任务深度学习模型。文献[5]提出了多源异构大数据的融合算法,结合3种数据融合功能模型对多源异构大数据融合模型进行设计。文献[6]针对“信息孤岛”中的关系数据融合问题,提出并实现了多源关系数据融合的基本框架(Multi-Source Relational Data Fusion, MSF)。框架包含3个主要部分,即模式匹配、实体对齐、实体融合。模式匹配面向多源关系数据的属性对齐问题,结合属性值的多维特征,提出基于匈牙利(Hungarian)算法的属性间对齐发现机制,实现了多源关系数据的快速模式匹配。实体对齐连接多源关系中的元组对,通过引入多样性取样策略和实体特征抽取方法,提升实体对齐的效果。最后将对齐实体融合,为数据分析提供统一的数据视图。文献[7]针对服务数据多源异构、数据关系复杂的特点,提出基于异构信息网络的服务聚合方法。该方法构建了服务异构信息网络,并提出基于服务实体间不同元路径的相似度度量方法,结合协同过滤方法,在BPR模型训练框架下学习面向服务聚合的服务推荐模型。这种将服务数据表示成统一的异构信息网络的方式,有效整合了多源异构数据。文献[8]对面向异构关系模式中关于关联数据的一致性规则发现问题进行研究,说明不论同源数据还是异源数据,数据之间是相互关联的,可以利用这种关系强化规则约束中语义含义的表达作用,发现数据中的潜在错误。

从分布式科技资源来看,来自不同机构的专业科技资源数据属于各自的数据系统,每个系统都有其自己定义的数据结构,无法直接跨平台共享。基于以上问题,本文将探讨一种资源池数据融合方法,为分布式科技资源数据共享平台提供支持。

2 专业科技资源数据融合

2.1 分布式资源数据融合设计

数据融合分析最主要的关注点是结构化数据,结构化数据的处理方法中应用最广泛的工具是Excel,利用Python编程语言对不同类型的数据进行分析,并将其可视化。但现实中,共享平台上的数据来源往往较多,无法直接利用上述处理方法。我们需要对不同来源的数据进行清洗、融合,使其成为标准化的结构数据,存储到相应的数据库中或者直接输出。

本文对异构分布式数据融合方法设计如图1所示。首先采集分布式资源池原始数据,由于分布式资源池数据存在异构现象,采集得到的数据格式各不相同。如万方数据为JSON格式,东方灵盾数据为数据库格式,因此需要将采集得到的分布式异构数据转换为统一的标准数据库格式。之后进行数据预处理操作,对格式混杂且存在冗余现象的原始数据进行乱码等错误字段的清洗和重复数据的筛选及互补,并标记资源来源。最后进行异构分布式数据的融合,并将融合后的结果输出到标准数据库中。

图1 分布式资源数据融合设计

本文的数据预处理主要采用基于Java的MyBatis数据持久层框架。Java面向对象编程语言,语法结构和编程形式简单易用[9]。MyBatis框架中避免了程序员直接进行JDBC相关代码操作,与JDBC相比,减少了50%以上的代码量,消除了JDBC大量冗余代码,无需手动进行开关连接,实现了Java程序代码与SQL语句的剥离[10]。

2.2 专业科技资源数据融合

2.2.1 科技资源数据库连接和导入

原始数据分为SQL格式和JSON格式,分别如图2、图3所示,数据来源为东方灵盾、宁波信息院、万方数据网站的模拟数据。

图2 SQL脚本文件数据格式

图3 JSON格式文件

通过数据库将这2种格式文件导入数据库中,再通过MyBatis对数据库的表进行操作,先建立表对应的实体类和对应的数据库访问接口,如图4所示。

图4 对应的实体类和数据库接口

数据对象w_patent、d_patent、n_patent分别如图5、图6、图7所示。

图5 万方的部分模拟数据

图6 东方灵盾的部分模拟数据

图7 宁波信息院的部分模拟数据

2.2.2 科技资源数据预处理

读取出数据库中的信息后,将读取出的对象转成w_chinese_patent实体类,部分个别列的数据类型需要相互转换,比如某些表中的日期是字符串类型,而w_chinese_patent中则是日期类。完成转换操作后,因为不同的表中含有来自不同平台的数据,建议在数据末端添加该条数据的来源,所以转换完成后在w_chinese_patent实体类中手动添加resource_from。清理代码、添加来源如图8、图9所示。

图8 数据清理代码

图9 数据添加来源

2.2.3 异构分布式资源的融合及输出

处理完数据后,需要将3个表通过全连接的方式融合在1个表项中,以保证所有数据项都会存在新表中,且无遗漏的数据项。融合代码如图10所示。

图10 数据融合代码

融合后的数据会有重复字段及多余字段,需将这部分字段进行清理,按要求输出121列需要的数据。代码如图11所示。

图11 按要求输出所需数据代码

将数据信息完整导入数据库中,方便其他系统调用。数据库的处理结果如图12所示。

图12 数据库中融合后的标准数据

3 结 语

本文针对几种异构专业科技资源结构化数据格式不统一、数据冗余、输出格式混乱等问题,采用Java作为主要工具,利用MyBatis对多个来源的异构数据进行数据预处理、清洗和融合,并存储在MySQL数据库中。实现了不同科技资源可视化跨平台共享。通过对万方、东方灵盾及宁波信息院等专业科技资源数据的融合实验证明,该方法可有效实现异构科技资源的融合,支持科技资源跨平台共享系统的构建。

猜你喜欢
跨平台异构代码
试论同课异构之“同”与“异”
跨平台APEX接口组件的设计与实现
创世代码
创世代码
创世代码
创世代码
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
基于QT的跨平台输电铁塔监控终端软件设计与实现