一种基于大数据平台更新医疗数据的方法、服务器和系统与流程

文档序号:26193322发布日期:2021-08-06 18:46阅读:83来源:国知局
一种基于大数据平台更新医疗数据的方法、服务器和系统与流程

本发明涉及大数据领域,尤其涉及一种基于大数据平台更新医疗数据的方法、服务器和系统。



背景技术:

一般情况下,医疗合规性信息分布在各个认证机构、政府部门和行业协会的网站中,用户需要通过万维网单独去各个数据源(网站)查询相关信息。但是网站上的数据是临时性的,一旦发生更新,网站上的数据就会被覆盖,导致大部分的数据源头(网站)只有最新的数据,用户无法得知数据的变动历史,导致大量珍贵的历史数据变动信息缺失。



技术实现要素:

为了克服现有技术的不足,本发明的目的之一在于提供一种基于大数据平台更新医疗数据的方法,其能解决大部分的数据源头(网站)只有最新的数据,用户无法得知数据的变动历史,导致大量珍贵的历史数据变动信息缺失的问题。

本发明的目的之二在于提供一种基于大数据平台更新医疗数据的服务器,其能解决大部分的数据源头(网站)只有最新的数据,用户无法得知数据的变动历史,导致大量珍贵的历史数据变动信息缺失的问题。

本发明的目的之三在于提供一种基于大数据平台更新医疗数据的系统,其能解决大部分的数据源头(网站)只有最新的数据,用户无法得知数据的变动历史,导致大量珍贵的历史数据变动信息缺失的问题。

为了达到上述目的之一,本发明所采用的技术方案如下:

一种基于大数据平台更新医疗数据的方法,包括以下步骤:

s1:定期获取待更新的目标,载入目标对应的spider;

s2:读取配置文件,载入与spider相对应的执行模组,以执行待更新的目标的医疗数据更新,其中,所述执行模组包括请求器、解析器、更新器和推送器;

s3:获取数据源,并储存到储存器的程序栈帧中,再对数据源数据进行解析;

s4:提取数据源中的目标数据,并将目标数据以表格的形式存储至程序栈帧中,再进行更新;

s5:判断储存器中是否存在csv文件,若否,则建立用于储存最新的目标数据的新csv文件和用于储存目标数据的历史变动的历史csv文件,若是,则将最新的目标数据覆盖到新csv文件,并更新历史csv文件;

s6:将新csv文件和历史csv文件推送至大数据平台的云端。

优选的,所述s1具体由以下步骤实现:

s11:预设更新周期,并定期获取待更新的目标;

s12:判断待更新的目标的数量是否大于1,若是,则执行s13,若否,则执行s14;

s13:将待更新的目标按预设的顺序排序,并按照预设的顺序依次载入每个目标对应的spider以及执行s2;

s14:载入目标对应的spider,及执行s2。

优选的,所述s2具体由以下步骤实现:

先通过spider读取配置文件中的设定,再依次载入与spider相对应的请求器、解析器、更新器和推送器,以执行待更新的目标的医疗数据更新。

优选的,所述s3具体由以下步骤实现:

s31:通过请求器加载配置文件中的链接或者应用程序编程接口,与万维网中的数据源建立数据交互;

s32:下载数据源的元数据,并储存到储存器的程序栈帧中;

s33:通过请求器将元数据输送至解析器的输入接口。

优选的,所述s4具体由以下步骤实现:

s41:通过解析器获取请求器发送的元数据,并提取元数据中的目标数据;

s42:将目标数据以表格的形式存储至程序栈帧中;

s43:通过解析器导出包含目标数据的csv文件,并输送至更新器。

优选的,所述s5具体由以下步骤实现:

s51:获取解析器发送的包含目标数据的csv文件,并判断储存器中是否已存在csv文件,若否,则执行s52,若是,则执行执行s53;

s52:通过更新器将包含目标数据的csv文件建立用于储存最新的目标数据的新csv文件和用于储存目标数据的历史变动的历史csv文件,并向推送器发一个更新响应;

s53:通过更新器判断csv文件是否存在更新,若是,则覆盖新csv文件,并更新历史csv文件,再向推送器发一个更新响应,若否,结束程序。

优选的,所述s6具体由以下步骤实现:

s61:获取更新器发送的更新响应,通过推送器将新csv文件和历史csv文件推送至大数据平台的云端的可编辑电子表格;

s62:判断是否存在待更新的目标,若是,则执行s1,若否,则结束程序。

为了达到上述目的之二,本发明所采用的技术方案如下:

一种基于大数据平台更新医疗数据的服务器,包括储存器和处理器;

储存器,用于储存程序指令;

处理器,用于运行所述程序指令,以执行上述的基于大数据平台更新医疗数据的方法。

为了达到上述目的之三,本发明所采用的技术方案如下:

一种基于大数据平台更新医疗数据的系统,包括上述的基于大数据平台更新医疗数据的服务器和执行模组,所述基于大数据平台更新医疗数据的服务器与执行模组连接。

优选的,所述执行模组包括请求器、解析器、更新器和推送器,所述请求器、解析器、更新器和推送器均与基于大数据平台更新医疗数据的服务器连接。

相比现有技术,本发明的有益效果在于:通过定期获取待更新目标,以使得大数据平台上的数据能够实现自动更新,避免出现数据缺失的问题,再通过spider以及相应的执行模组自动从万维网中的各个数据源获取目标数据进行解析,以及更新储存器中的csv文件,进而新建用于储存最新的目标数据的新csv文件和用于储存目标数据的历史变动的历史csv文件,并且在历史csv文件中记录下足够的信息来还原某个时间点的数据,再将新csv文件和历史csv文件推送至云端的可编辑电子表格,以使得服务器对应的大数据平台能够对最新的数据和历史数据进行查询,并且可以通过历史csv文件中储存的数据,对某个时间点的信息进行还原。

附图说明

图1为本发明中所述的基于大数据平台更新医疗数据的方法的流程图。

图2为本发明中所述的基于大数据平台更新医疗数据的服务器的结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

下面,结合附图以及具体实施方式,对本发明做进一步描述:

在本发明中,所述spider属于一个python类,用于定义爬取的动作及分析网站,所述基于大数据平台更新医疗数据的服务器为用于运行该程序的awsec2服务器,所述可编辑电子表格为基于web的应用程序,它允许使用者创建、更新和修改表格并在线实时分享数据。基于ajax的程序和微软的excel和csv(逗号分隔值)文件是兼容的。表格也可以以超文本链接标记语言(html)的格式保存优选的,所述可编辑电子表格可以为google表格(googlespreadsheets),其包含由google托管的本地数据的镜像副本,所述请求器、解析器、更新器和推送器均为执行模组的子模组,用于执行各自相应的更新流程,所述csv文件泛指具有以下特征的任何文件:①纯文本,使用某个字符集,比如ascii、unicode、ebcdic或gb2312;②由记录组成(典型的是每行一条记录);③每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);④每条记录都有同样的字段序列。

实施例一:

如图1所示,一种基于大数据平台更新医疗数据的方法,包括以下步骤:

s1:定期获取待更新的目标,载入目标对应的spider;

具体的,通过定期检测需要更新的目标,再将目标对应的spider载入,以向待更新的目标配置执行模组,在本实施例中,所述s1具体由以下步骤实现:

s11:预设更新周期,并定期获取待更新的目标;

具体的,预先设置更新周期的长短,例如一小时或者一天为一个更新周期,以使得服务器每间隔一小时或者一天获取待更新的目标,再根据待更新的目标进行数据更新。

s12:判断待更新的目标的数量是否大于1,若是,则执行s13,若否,则执行s14;

具体的,获取到待更新的目标后,先判断待更新的目标的数量,若待更新的目标的数量为1,则直接进入更新程序,若待更新的目标的数量大于1,则需要先对待更新的目标进行排序,再进行更新。

s13:将待更新的目标按预设的顺序排序,并按照预设的顺序依次载入每个目标对应的spider以及执行s2;

具体的,当待更新的目标的数量大于1,则驱使待更新的目标按照名称首字母、目标大小和目标创建时间等顺序进行排序,再按照待更新的目标先后排序,依次载入每个目标对应的spider,在本实施例中,存在多个待更新的目标时,按照待更新的目标先后排序,先载入第一个待更新的目标对应的spider,并且执行对该目标的数据更新,也就是说,存在多个待更新的目标时,后台服务器逐个对待更新的目标进行更新,以保证数据在更新的过程中不会出现数据乱码或者出现错位数据。

s14:载入目标对应的spider,及执行s2。

具体的,当待更新的目标的数量等于1,即需要更新的目标只有一个时,直接载入该目标对应的spider,以执行对该目标的数据更新。

s2:读取配置文件,载入与spider相对应的执行模组,以执行待更新的目标的医疗数据更新,其中,所述执行模组包括请求器、解析器、更新器和推送器;

具体的,每一个待更新的目标所对应的spider是不同的,同时每一个spider都可能有着不同的执行模组,所以对于每个待更新的目标都需要重新通过spider加载执行模组,在本实施例中,先通过spider读取配置文件中的设定,再依次载入与spider相对应的请求器、解析器、更新器和推送器,服务器通过驱使请求器、解析器、更新器和推送器依次执行对应的步骤以使得待更新的目标的医疗数据得到更新。

s3:获取数据源,并储存到储存器的程序栈帧中,再对数据源数据进行解析;

具体的,先通过请求器获取万维网中的数据源,再进行数据数据整理解析,在本实施例中,所述s3具体由以下步骤实现:

s31:通过请求器加载配置文件中的链接或者应用程序编程接口,与万维网中的数据源建立数据交互;

具体的,请求器根据配置文件中的链接或者应用程序编程接口与万维网中的数据源建立数据交互,以使得请求器能够直接从万维网中获取数据,从而获取各个数据源(网站)上的相关信息。

s32:下载数据源的元数据,并储存到储存器的程序栈帧中;

具体的,当请求器与数据源建立数据交互后,请求器将数据源中的元数据下载下来,再将其储存至储存器的程序栈帧中,以避免数据遗失。

s33:通过请求器将元数据输送至解析器的输入接口。

具体的,当请求器将的元数据下载并储存好之后,再将元数据输送至解析器的输入接口,进行解析。

s4:提取数据源中的目标数据,并将目标数据以表格的形式存储至程序栈帧中,再进行更新;

具体的,解析器需要根据数据源元数据的类型以及格式高度进行解析,解析器获取请求器发送的元数据,提取元数据中的目标数据用来更新储存器中的csv文件,在本实施例中,所述s4具体由以下步骤实现:

s41:通过解析器获取请求器发送的元数据,并提取元数据中的目标数据;

具体的,解析器获得请求器发送的元数据后,解析器根据元数据的格式对元数据进行解析,提取待更新目标所需要目标数据。

s42:将目标数据以表格的形式存储至程序栈帧中;

具体的解析器提取出目标数据后,将目标数据以表格的形式存储至程序栈帧中,在本实施例中,所述解析器为自定义解析器,可以单纯地抓取数据,同时也可以对已经抓取的数据进行分析或者整合。通过修改/增减自定义的数据源解释器和配置文件可以轻易地更改需要抓取的数据,实现了模组化的数据整合功能。

s43:通过解析器导出包含目标数据的csv文件,并输送至更新器。

具体的,解析器对元数据进行解析和目标数据的抓取之后,将目标数据储存至程序栈帧中,再导出包含目标数据的csv文件,并输送至更新器,以使得更新器对储存在储存器中的文件进行更新。

s5:判断储存器中是否存在csv文件,若否,则建立用于储存最新的目标数据的新csv文件和用于储存目标数据的历史变动的历史csv文件,若是,则将最新的目标数据覆盖到新csv文件,并更新历史csv文件;

具体的,更新器获得解析器发送的包含目标数据的csv文件后,触发判断机制,判断储存器内是否已存在csv文件,即本次数据更新是否属于第一次的数据更新/数据抓取,在本实施例中,所述s5具体由以下步骤实现:

s51:获取解析器发送的包含目标数据的csv文件,并判断储存器中是否已存在csv文件,若否,则执行s52,若是,则执行执行s53;

具体的,获取解析器发送的包含目标数据的csv文件,触发更新器判断储存器中是否已存在csv文件,即判断本次数据更新是否属于第一数据更新或者数据抓取。

s52:通过更新器将包含目标数据的csv文件建立用于储存最新的目标数据的新csv文件和用于储存目标数据的历史变动的历史csv文件,并向推送器发一个更新响应;

具体的,当更新器判断储存器中不存在csv文件,则建立用于储存最新的目标数据的新csv文件和用于储存目标数据的历史变动的历史csv文件,并将包含目标数据的csv文件保存至新csv文件,同时储存该变动至历史csv文件中,对历史csv文件进行更新,并且记录下足够的信息来还原某个时间点的数据,再向推送器发一个更新响应。

s53:通过更新器判断csv文件是否存在更新,若是,则覆盖新csv文件,并更新历史csv文件,再向推送器发一个更新响应,若否,结束程序。

具体的,当更新器判断储存器中存在csv文件,则进一步判断储存器中的csv文件与包含目标数据的csv文件是否存在差别,即包含目标数据的csv文件是否已经发生更新,若已发生更新,则用包含目标数据的csv文件覆盖储存器中的csv文件,形成新的新csv文件,同时储存该变动至历史csv文件中,对历史csv文件进行更新,并且记录下足够的信息来还原某个时间点的数据,再向推送器发一个更新响应,若未发生更新,则结束程序,等下一个周期重新进行数据更新。

s6:将新csv文件和历史csv文件推送至大数据平台的云端。

具体的,推送器获得更新器发送的更新响应之后,开始作业,在本实施例中所述s6具体由以下步骤实现:

s61:获取更新器发送的更新响应,通过推送器将新csv文件和历史csv文件推送至大数据平台的云端的可编辑电子表格;

具体的,推送器获得更新器发送的更新响应之后,将新csv文件和历史csv文件推送至大数据平台的云端的可编辑电子表格,优选的,所述可编辑电子表格为google表格,以使得服务器对应的大数据平台能够对最新的数据和历史数据进行查询,并且可以通过历史csv文件中储存的数据,对某个时间点进行还原。

s62:判断是否存在待更新的目标,若是,则执行s1,若否,则结束程序。

具体的,当服务器对一个目标的更新完成后,则重新判断本轮更新是否还存在待更新的目标,即当待更新的目标的数量大于1时,判断本轮更新的目标是否是最后一个待更新的目标,若存在待更新目标,则重新执行s1,对下一个目标进行更新,若不存在待更新目标,则结束程序,本轮更新结束。

实施例二:

如图2所示,一种基于大数据平台更新医疗数据的服务器,包括储存器和处理器;

储存器,用于储存程序指令;

处理器,用于运行所述程序指令,以执行实施例一所述的基于大数据平台更新医疗数据的方法。

实施例三:

一种基于大数据平台更新医疗数据的系统,包括实施例二所述的基于大数据平台更新医疗数据的服务器和执行模组,所述基于大数据平台更新医疗数据的服务器与执行模组连接。

所述执行模组包括请求器、解析器、更新器和推送器,所述请求器、解析器、更新器和推送器均与基于大数据平台更新医疗数据的服务器连接。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

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