一种组织机构数据实时查询系统的制作方法

文档序号:19471957发布日期:2019-12-21 02:24阅读:281来源:国知局
一种组织机构数据实时查询系统的制作方法

本发明涉及数据处理技术领域,具体地说,涉及一种组织机构数据实时查询系统。



背景技术:

目前,组织机构的数据库创建有视图,并新加一个db用户u,只设置对视图的查询权限,用于提供外部系统所需的数据,外部系统以用户u连接数据库,每隔10秒查询视图获得实时数据;这种方式并不是真正的实时,失败后需要当日检查数据后的补偿性操作,消耗性能也不小,目前还没有实现外部系统实时查询组织机构的数据的功能。



技术实现要素:

本发明的目的在于提出一种组织机构数据实时查询系统,旨在解决现有技术中,外部系统不能实现实时查询组织机构的数据的问题。

为解决上述技术问题,本发明提供一种组织机构数据实时查询系统,包括:

至少一个组织机构的数据库、kettle、数据分发器、flink、openapi、外部系统;

每个组织机构的数据库按照组织机构自身业务需求创建有视图,所述视图中的数据用于提供给所述外部系统进行查询;

在接收到所述外部系统发来的查询请求时,所述kettle从所述查询请求对应的所述组织机构的数据库视图抽取数据,并将抽取的数据按照预设字段进行字段转换;

所述数据分发器将进行字段转换后的数据分发到所述flink;

所述flink按照预设格式将分发来的数据进行格式转换,并将格式转换后的数据作为查询结果发送到所述openapi;

所述openapi将所述查询结果输出到所述外部系统。

可选地,所述openapi还用于对所述查询结果进行脱敏处理、和/或加密处理后输出到所述外部系统。

可选地,还包括区块链云平台,所述openapi将所述查询结果发送到所述区块链云平台进行存储。

可选地,所述openapi还用于对所述查询结果进行压缩处理,并发送到所述区块链云平台进行存储。

可选地,所述区块链云平台中存储有的查询结果,支持在接收到所述外部系统发来的查询请求时直接从所述区块链云平台输出到所述外部系统。

可选地,还包括数据仓库,所述flink还用于将所述查询结果存入所述数据仓库,所述数据仓库用于供bi读取后所述bi对数据进行挖掘、统计、分析中至少一种。

可选地,所述kettle还用于进行日志监控、job监控、输出文本中至少一种;在所述kettle用于进行输出文本时,还包括容错检查系统,所述输出文本用于为所述容错检查系统提供数据来源。

可选地,所述容错检查系统发现有错的数据时,推送到另外单独配置路由key的kafka,由所述flink接受处理,所述openapi单独提供对外的接口,包括缓存的更新同步;对于已经上链的情况,按照预设处理规则进行处理,并且所述外部系统实时调用所述openapi的接口来处理容错。

可选地,所述flink还用于将格式转换后的数据进行清洗、聚合操作中至少一种,将进行清洗、聚合操作中至少一种后的数据作为查询结果发送到所述openapi进行输出。

可选地,所述kettle还用于整合kafka-provider插件的程序同步数据到所述数据分发器,所述数据分发器包括kafka和zookeer的集群。

有益效果

本发明提供了一种组织机构数据实时查询系统,该组织机构数据实时查询系统包括:至少一个组织机构的数据库、kettle、数据分发器、flink、openapi、外部系统;

每个组织机构的数据库按照组织机构自身业务需求创建有视图,视图中的数据用于提供给外部系统进行查询;

在接收到外部系统发来的查询请求时,kettle从查询请求对应的组织机构的数据库视图抽取数据,并将抽取的数据按照预设字段进行字段转换;

数据分发器将进行字段转换后的数据分发到flink;

flink按照预设格式将分发来的数据进行格式转换,并将格式转换后的数据作为查询结果发送到openapi;

openapi将查询结果输出到外部系统。

通过上述方案,提供视图中的数据给外部系统查询,保护了组织机构自身的数据安全,还可以实现组织机构的数据的实时转换,使得外部系统可以实现实时查询组织机构的数据。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对与本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以如这些附图获得其他的附图。

图1为本实施例提供的一种组织机构数据实时查询系统的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例将提供一种组织机构数据实时查询系统,参见图1,图1为本实施例提供的一种组织机构数据实时查询系统的示意图;

该组织机构数据实时查询系统包括:至少一个组织机构的数据库、kettle、数据分发器、flink、openapi(java程序)、外部系统;

可选地,本实施例中的组织机构可以是医院、学校等;组织机构的数据库例如是医院的his的数据库;

每个组织机构的数据库按照组织机构自身业务需求创建有视图,视图中的数据用于提供给外部系统进行查询;

可选地,组织机构可先按照业务需求,在组织机构的数据库创建用户,设置相应的用户权限,然后登录该用户创建视图,可以实现保护组织机构自身数据安全,起到权限隔离,访问控制的目的;

当组织机构为医院时,视图中的数据例如处方、检查报告等;

在接收到外部系统发来的查询请求时,kettle从查询请求对应的组织机构的数据库视图抽取数据,并将抽取的数据按照预设字段进行字段转换;例如kettle可以将表的字段a转换成标准化字段b;kettle可以平稳抽取数据,针对数据量大的数据也可以实现平稳抽取;

不同组织机构的数据库可能不一样,以组织机构为医院为例,例如a医院的his采用mysql,b医院的his采用oracle,c医院的his采用sqlserver;

数据分发器将进行字段转换后的数据分发到flink;

flink按照预设格式将分发来的数据进行格式转换,并将格式转换后的数据作为查询结果发送到openapi;

例如flink可以将表的格式转换成json格式,或者把list的格式转换成json格式;

openapi将查询结果输出到外部系统。flink可以把数据交给openapi,来对外部系统直接提供数据,这里一般是互联网外网环境;主要是为了对外开放接口,方便进行数据共享;

通过上述方案,提供视图中的数据给外部系统查询,保护了组织机构自身的数据安全,还可以实现组织机构的数据的实时转换,使得外部系统可以实现实时查询组织机构的数据。

可选地,以下介绍kettle的配置,第一是etl元数据注入,配置好不同组织机构的数据源等;第二是设置好数据过滤;第三是处理不确定的数据行数;第四是多来源数据合并;第五是数据流终点;第六是其他如阻塞数据直到步骤都完成、克隆行、延迟行等。主要是为了让kettle按照我们的要求来处理数据,使其正常工作。

以下介绍kettle的应用,第一是null值处理;第二是启动其他程序;第三是日志功能;第四是文件处理功能;第五是邮件发送;主要是为了kettle能按照正确的流程处理,第一是避免报错,第二是支持其他程序,第三是生成日志便于我们分析查找问题,第四是解析读取文件,为我们后续的容错检查系统提供数据来源,第五是邮件发送便于我们随时维护。null值处理例如在查询结果为空时进行的处理。

可选地,kettle还用于进行日志监控、job监控、输出文本中至少一种;在kettle用于进行输出文本时,还包括容错检查系统,输出文本用于为容错检查系统提供数据来源。kettle安装好日志监控、job监控。主要是监控kettlejob的运行状态,为维护提供分析判断依据。

可选地,flink还用于将格式转换后的数据进行清洗、聚合操作中至少一种,将进行清洗、聚合操作中至少一种后的数据作为查询结果发送到openapi进行输出。

flink能对大数据进行流式计算,例如:转换数据是为了统一数据格式,清洗数据是为了得到我们真正想要的数据,同时避免出错,聚合数据是为了进行复杂数据需求,同时进行批量操作。

可选地,kettle还用于整合kafka-provider插件的程序同步数据到数据分发器,数据分发器包括kafka和zookeer的集群。zookeer需要奇数节点,最少三个;kafka-provider插件应用便于kettle把数据同步到kafka,让kafka分发到flink进行处理。

可选地,openapi还用于对查询结果进行脱敏处理、和/或加密处理后输出到外部系统。openapi可以对数据进行脱敏、加密,系统配置ssl走https等安全手段,来对外部系统提供数据,当然如果数据有加密,外部系统就要按照供需双方约定相应的对加密数据进行解密。实现对外提供的数据在互联网上安全流通。

可选地,还包括区块链云平台,openapi将查询结果发送到区块链云平台进行存储。

可选地,openapi还用于对查询结果进行压缩处理,并发送到区块链云平台进行存储。

openapi还可以通过上链系统的网关来直接把获得的数据(也即查询结果)上传到区块链云平台。上链系统一般包括区块链接口的封装、智能合约的开发,统一的网关等,当然为了让上链的数据尽可能小的存到区块链云平台的对象存储或文件存储里,可以对数据或文件进行gzip压缩处理,可以最大化减少资源占用空间。让数据更安全,达到可追溯、杜篡改、可信任的目的。

可选地,区块链云平台中存储有的查询结果,支持在接收到外部系统发来的查询请求时直接从区块链云平台输出到外部系统。外部系统可以按照事先分好的权限直接调用区块链查询所需数据;主要是为了让外部系统能更放心,更安全,更便捷的拿到具有公信力的数据。

可选地,还包括数据仓库,flink还用于将查询结果存入数据仓库,数据仓库用于供bi(java程序)读取后bi对数据进行挖掘、统计、分析中至少一种;flink通过router&schemadetecter和脚本写入到数据仓库。

bi可对数据仓库进行调用,来对数据进行挖掘、统计、分析等,bi一般是给组织机构的监管部门使用,如卫计委。主要是为了创造数据的价值,同时也是便于监管部门监管下属机构业务数据的需要。

可选地,容错检查系统发现有错的数据时,推送到另外单独配置路由key的kafka,由flink接受处理,openapi单独提供对外的接口,包括缓存的更新同步;对于已经上链的情况,按照预设处理规则进行处理,并且外部系统实时调用openapi的接口来处理容错。

kettle可以设置输出文本,让容错检查系统,数据完整性和一致性检查分不同组织机构数据库生成的文本来解析,发现有错的数据,推送到另外单独配置路由key的kafka,由flink接受处理,openapi需要单独提供对外的接口,包括缓存的更新同步,如果已经上链,需要特殊处理,这里根据具体需求和区块链规则来定,外部系统也需要实时调用openapi的这些接口来处理容错。脚本也需要单独提供来纠正或补充数据仓库中的数据,使各方数据都能达到完整性,一致性。主要是为了让采集到的数据保证正确、完整、一致,利于追溯、增加公信力。

组织机构的数据停留在组织机构各自的数据库不会产生太大的数据价值,通过本实施例的实施,数据实现了可采集、可共享、可交换、可分析等,且是实现了数据优化共享、实时高效、安全可信等,数据资源被充分利用,实现了数据的价值。

当组织机构为医院时,通过本实施例的数据实时获取,再加上扩展服务器,可以解决挂号、就诊高峰期的问题。

本实施例能做到组织机构实时数据转换,加解密保证数据安全、压缩后上链能有效减少区块链区块大小,让共享数据达到金融级别的安全、完整、实时、高效、可追溯、杜篡改、可信任、可管控、可容错,且可统一化、可平台化供求共享等。

组织机构实时数据转换阶段:达到实时性、完整性、一致性、可管控、可补偿、可缓存,大数据化的批流一体数据融合,高效连接,敏捷可靠,自定义调度,数据质量监管,可提供平台统一化的api。

在区块链上链阶段:通过大数据处理,数据达到实时、真实,最小区块化、统一化、平台化。

对接强大的区块链平台,能打破信息孤岛,全流程追踪,透明可溯,分布式记账,不可篡改。

性能:可根据业务,与云服务平台合作,性能达到弹性伸缩、无限扩展。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1