CN111061739B - 海量医疗数据的入库方法及装置、电子设备、存储介质 - Google Patents
海量医疗数据的入库方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN111061739B CN111061739B CN201911299038.2A CN201911299038A CN111061739B CN 111061739 B CN111061739 B CN 111061739B CN 201911299038 A CN201911299038 A CN 201911299038A CN 111061739 B CN111061739 B CN 111061739B
- Authority
- CN
- China
- Prior art keywords
- data
- schema information
- paths
- object set
- database object
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/70—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Public Health (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Pathology (AREA)
- Mathematical Physics (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种海量医疗数据的入库方法及装置、电子设备、存储介质,涉及计算机技术领域。该海量医疗数据的入库方法包括:对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息;将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。本发明实施例的技术方案可以提高查询效率,降低维护成本,提升用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种海量医疗数据的入库方法、海量医疗数据的入库装置、电子设备以及计算机可读存储介质。
背景技术
随着医疗技术的快速发展,医疗数据越来越多且越来越复杂,因此医疗数据的存储与查询技术越来越得到人们的关注。
目前,对于海量的医疗数据通常是通过Spark、Hadoop等大数据工具进行处理,而且为了便于对数据进行处理,会把患者的所有医疗数据以JSON(JavaScript ObjectNotation,JS对象简谱,是一种轻量级的数据交换格式)的形式存储在一起。但是这种方案不但会导致患者数据的格式较复杂,层级嵌套较深,通过Presto(一种数据查询引擎)等大数据查询工具查询医疗数据时,会消耗大量的计算资源,降低计算效率,而且医疗数据需要人工去维护,当用户需要增加一些字段时,还需要重新进行数据生产,工作效率较低,降低用户的使用体验。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种海量医疗数据的入库方法、海量医疗数据的入库装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服相关技术中数据查询效率较低、维护成本较高的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种海量医疗数据的入库方法,包括:
对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;
将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息;
将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据
在本发明的一些示例实施例中,基于前述方案,对医疗数据表进行拆分处理生成第一数据库对象集合schema信息,包括:
获取医疗数据表,并通过数据计算工具按照存储路径对所述医疗数据表进行拆分生成第一数据库对象集合schema信息;以及
将所述第一数据库对象集合schema信息根据所述存储路径进行存储
在本发明的一些示例实施例中,基于前述方案,将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息,包括:
对所述第一数据库对象集合schema信息进行分层配置以生成所述第一数据库对象集合schema信息对应的分层数据;
将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据
在本发明的一些示例实施例中,基于前述方案,所述分层数据包括数据类型,所述将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据,还包括:
将所述分层数据对应的所述数据类型进行转化,生成所述数据类型对应的目标数据类型
在本发明的一些示例实施例中,基于前述方案,将所述分层数据进行横向合并、垂直合并,包括:
将每层所述分层数据中不同的路径合并生成新的层以实现所述分层数据的横向合并
在本发明的一些示例实施例中,基于前述方案,将所述分层数据进行横向合并、垂直合并,包括:
将所述分层数据中的高层路径与底层路径进行合并以实现所述分层数据的垂直合并
在本发明的一些示例实施例中,基于前述方案,将所述分层数据中的高层路径与底层路径进行合并以实现所述分层数据的垂直合并,包括:
如果检测到所述高层路径包含所述低层路径,则将所述高层路径与所述低层路径进行垂直合并处理,生成所述源数据对应的结构化数据;以及
将所述高层路径进行重命名处理
根据本发明实施例的第二方面,提供了一种海量医疗数据的入库装置,包括:
数据拆分模块,用于对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;
数据合并模块,用于将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息;
数据存储模块,用于将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。
在本发明的一种示例性实施例中,基于前述方案,所述数据拆分模块还被配置为:
获取医疗数据表,并通过数据计算工具按照存储路径对所述医疗数据表进行拆分生成第一数据库对象集合schema信息;以及
将所述第一数据库对象集合schema信息根据所述存储路径进行存储。
在本发明的一种示例性实施例中,基于前述方案,所述数据合并模块还包括:
分层单元,用于对所述第一数据库对象集合schema信息进行分层配置以生成所述第一数据库对象集合schema信息对应的分层数据;
结构化数据生成单元,用于将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据。
在本发明的一种示例性实施例中,基于前述方案,所述结构化数据生成单元还包括:
数据类型转化处理,用于将所述分层数据对应的所述数据类型进行转化,生成所述数据类型对应的目标数据类型。
在本发明的一种示例性实施例中,基于前述方案,所述结构化数据生成单元还包括:
横向合并单元,用于将每层所述分层数据中不同的路径合并生成新的层以实现所述分层数据的横向合并。
在本发明的一种示例性实施例中,基于前述方案,所述结构化数据生成单元还包括:
垂直合并单元,用于将所述分层数据中的高层路径与底层路径进行合并以实现所述分层数据的垂直合并。
在本发明的一种示例性实施例中,基于前述方案,所述垂直合并单元还被配置为:
如果检测到所述高层路径包含所述低层路径,则将所述高层路径与所述低层路径进行垂直合并处理,生成所述源数据对应的结构化数据;以及
将所述高层路径进行重命名处理。
根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意一项所述的海量医疗数据的入库方法。
根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据上述任意一项所述的海量医疗数据的入库方法。
本发明实施例提供的技术方案可以包括以下有益效果:
本发明的示例实施例中的海量医疗数据的入库方法,对待存储的医疗数据表进行拆分处理生成第一数据库对象集合schema信息,并将第一数据库对象集合schema信息进行横向合并、垂直合并生成第二schema信息,然后根据第二schema信息按照数据路径存入到目标搜索引擎以根据目标搜索引擎查询医疗数据。一方面,先将医疗数据拆分成源数据,并将源数据重新整合成结构化数据,能够使医疗数据的结构以及层级更加简单,提高医疗数据查询的效率,提升数据存取的效率;另一方面,通过结构化数据以及源数据自动确定医疗数据对应的存储数据,避免人工进行数据维护,减少计算资源的浪费,提升数据维护效率,提升用户的使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的一些实施例的海量医疗数据的入库方法的示意图;
图2示意性示出了根据本发明的一些实施例的对源数据进行配置分层的示意图;
图3示意性示出了根据本发明的一些实施例的对结构化数据进行横向合并的示意图;
图4示意性示出了根据本发明的一些实施例的海量医疗数据的入库装置的示意图;
图5示意性示出了根据本发明的一些实施例的电子设备的计算机系统的结构示意图;
图6示意性示出了根据本发明的一些实施例的计算机可读存储介质的示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
此外,附图仅为示意性图解,并非一定是按比例绘制。附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
一种技术方案中,通过人工的方式凭借经验从医疗数据中所有的字段选中需要的医疗数据字段,把相同项目类型的字段形成一张数据表,然后由RD(研发工程师)写代码通过Hadoop、Spark等大数据工具抽取这些选中的字段数据,然后写入到Presto,Hive等数据库中。但是这种方案通过Hadoop、Spark等方式去生成新的简单数据表方式,一方面需要人工去维护该数据字段集,另一方面这种RD实现代码的方式会占用大量CPU与运行内存,且执行时间非常长。由于不是全量字段,当用户需要新加一些字段时候,则需要重新跑数据生产,速度上比较慢,一定程度上满足不了用户的需求。
另一种技术方案中,通过人工的方式凭借经验从医疗数据中所有的字段选中需要的医疗数据字段。然后由RD把选中的字段通过Presto解析源JSON数据生成新的需要的数据表。但是这种方案中通过Presto去解析JSON数据的SQL(Structured Query Language,结构化查询语言)方式,一方面也需要人工维护字段集,另一方面由于数据是有版本的,不同数据版本会造成一定的差异,且不同医院的数据版本还有一定的差异,会导致此SQL非常难以维护,较容易出错。
基于上述的一个或者多个问题,在本示例实施例中,首先提供了一种海量医疗数据的入库方法,该海量医疗数据的入库方法可以应用于服务器,也可以应用于终端设备,例如手机、电脑等电子设备,本示例实施例对此不做特殊限定,下面以服务器执行该方法为例进行说明。图1示意性示出了根据本发明的一些实施例的海量医疗数据的入库方法流程的示意图。参考图1所示,该海量医疗数据的入库方法可以包括以下步骤:
步骤S110,对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;
步骤S120,将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息;
步骤S130,将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。
根据本示例实施例中的海量医疗数据的入库方法,一方面,先将医疗数据拆分成源数据,并将源数据重新整合成结构化数据,能够使医疗数据的结构以及层级更加简单,提高医疗数据查询的效率,提升数据存取的效率;另一方面,通过结构化数据以及源数据自动确定医疗数据对应的存储数据,避免人工进行数据维护,减少计算资源的浪费,提升数据维护效率,提升用户的使用体验。
下面,将对本示例实施例中的海量医疗数据的入库方法进行进一步的说明。
在步骤S110中,对医疗数据表进行拆分处理生成第一数据库对象集合schema信息。
在本公开的一个示例实施例中,医疗数据表可以是指某个医疗机构(或者多个医疗机构)在运行过程中产生的所有数据对应的数据表格,例如医疗数据可以是该医疗机构历史数据中所有的患者对应的诊断数据,也可以是该医疗机构对应的研发数据,当然,医疗数据还可以是医疗机构在运行过程中产生的其他数据,本示例实施例对此不做特殊限定。拆分处理可以是指将医疗数据中结构比较复杂的数据拆解成简单数据结构的处理过程。第一数据库对象集合schema信息可以是指将医疗数据表进行拆分处理后生成的医疗数据对应的元数据的集合,第一数据库对象集合schema信息也可以认为是将医疗数据进行拆分处理后生成的一个个字段数据,具体的,第一数据库对象集合schema信息也可以是树形json结构,本示例实施例对此不做特殊限定。
具体的,获取医疗数据表,并通过数据计算工具按照存储路径对医疗数据表进行拆分生成第一数据库对象集合schema信息;以及将第一数据库对象集合schema信息根据存储路径进行存储。数据计算工具可以是指能够识别医疗数据并根据其数据表结构将医疗数据进行拆表处理的工具,例如数据计算工具可以是Hadoop内容分类存储工具,也可以是Spark大数据计算引擎,当然,数据计算工具还可以是其他能够对医疗数据进行拆表处理的工具,本示例实施例对此不做特殊限定。存储路径可以是指存储医疗数据的路径,根据存储路径对医疗数据进行拆分,并对得到的源数据按照存储路径进行保存,能够保证数据的准确性,而且根据存储路径进行数据拆分,能够提升数据处理的效率。通过Hadoop、Spark等大数据计算工具对医疗数据进行拆表,按照根路径进行拆分,拆完后按照根路径进行存储,拆分数据的目的使数据变得简单,在后续处理时候会更容易,需要的资源会更小,提升系统的工作效率。
在步骤S120中,将第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息。
在本公开的一个示例实施例中,合并处理可以是指将源数据进行合并,生成需要的、新的医疗数据的处理过程,例如合并处理可以是通过形式化描述语言将源数据生产成结构化数据的过程。第二schema信息可以是指通过形式化描述语言将医疗数据对应的第一数据库对象集合schema信息进行合并后生成的数据,例如第二schema信息可以是通过schema(数据库对象的集合)标准生产的schema数据,当然,结构化数据还可以是其他形式化描述语言组织的数据,例如结构化数据还可以是XML(Extensible Markup Language,可扩展标记语言)标准生产的XML数据,本示例实施例对此不做特殊限定。
具体的,对第一数据库对象集合schema信息进行分层配置以生成第一数据库对象集合schema信息对应的分层数据;将分层数据进行横向合并、垂直合并,生成第一数据库对象集合schema信息对应的结构化数据。分层配置处理可以是指对不同存储路径的第一数据库对象集合schema信息配置分层的处理过程,通过分层配置处理使源数据结构化,便于后续的合并处理过程,提升合并的效率。分层数据可以是指将源数据进行分层配置处理得到的数据,分层数据也可以认为是将同一层级下的不同路径的字段放在一起构成的数据。
图2示意性示出了根据本发明的一些实施例的对源数据进行配置分层的示意图。
参考图2所示,步骤S210,对数据进行schema配置;
步骤S220,遍历不同层级、不同路径下的所有字段数据;
步骤S230,判断当前字段数据的数据类型是否为简单类型,若当前字段数据的数据类型是简单类型,则执行步骤S240,否则执行步骤S250;
步骤S240,当前字段数据的数据类型是简单类型,例如字段数据为string、bool、int等类型时,直接将字段数据对应的路径放入该层级的路径对应的数组中;
步骤S250,判断当前字段数据的数据类型是否为数组(array)类型,若当前字段数据的数据类型是数组类型,则执行步骤S260,否则执行步骤S270;
步骤S260,判断该字段数据中的每个数据的数据类型是否为简单类型,若当前字段数据中每个数据的数据类型都是简单类型,则执行步骤S240,把该字段放入到对应的层级路径的数组中;否则执行步骤S220,将该字段数据下,每个字段数据的层级设置为当前层级的下一层级;
步骤S270,判断当前字段数据的数据类型是否为字典类型,若当前字段数据的数据类型是字典类型,则执行步骤S220,且将该字段数据下,每个字段数据的层级设置为当前层级的下一层级,否则结束配置分层的流程。
具体的,将每层所述分层数据中不同的路径合并生成新的层以实现所述分层数据的横向合并。横向合并处理可以是指将配置分层后的第一数据库对象集合schema信息的同一层级的不同路径进行合并生成一个新的层的处理过程,横向合并的目的是将对同一层级都符合要求的路径配置合并成一层,减少数据的路径数,提升数据查询的效率。
图3示意性示出了根据本发明的一些实施例的对结构化数据进行横向合并的示意图。
参考图3所示,步骤S310,对分层数据进行schema配置;
步骤S320,从最高层(即路径数量最多的层级)遍历字段数据;
步骤S330,判断该最高层路径下所有字段数据是否都符合要求:该层路径下的所有字段数据的数据类型均为简单类型;或者父层路径为字典类型,当前层路径字段数据为数组类型,且数组中单个字段数据为简单类型;或者父层路径为数组,当前层路径字段数据为数组类型,且数组中单个数据为字典类型。若符合要求则执行步骤S340,否则执行步骤S350;
步骤S340,将该最高层路径下所有字段数据加入到父节点上层中;
步骤S350,如果该最高层路径下所有字段数据不符合要求,则保持该层级与路径不变,并将合并后的层节点与子节点为空的层进行删除处理。
进一步的,将分层数据中的高层路径与底层路径进行合并以实现分层数据的垂直合并。垂直合并处理可以是指从最高层开始将低层路径包含在高层路径中的路径合并在一起的处理过程。具体逻辑是:从最高层开始,遍历所有路径,然后从最低层开始遍历路径,寻找到高层路径包含低层路径的路径,则把低层路径下的所有字段加入到高层路径中,完成分层数据的垂直合并。
需要说明的是,分层数据在进行合并处理时,可以根据数据的大小、复杂度以及系统的计算处理能力,选择横向合并、垂直合并或者横向合并以及垂直合并的处理,本示例实施例对此不做特殊限定。
可选的,如果检测到高层路径包含低层路径,则将高层路径与低层路径进行垂直合并处理,生成源数据对应的结构化数据;以及将高层路径进行重命名处理。由于低层路径下的字段可能跟高层路径下的字段重名,则可能导致高层路径下字段名称被覆盖掉,因此在检测到高层路径包含低层路径时,必须得给高层路径下面的字段改名,带上上层父字段的名称。例如:高层字段的命名可以是“is_trauma_history”,父字段名称为“common”,则新字段的名称可以是“common__is_trauma_history”,当然,此处仅是示意性举例说明,本示例实施例对此不做特殊限定。
进一步的,将分层数据对应的数据类型进行转化处理以将数据类型转化为目标数据类型。转化处理可以是指将分层数据对应的不同数据类型转化为统一的数据类型的处理过程,也可以认为是对生成的表格数据以及字段数据生成符合Presto数据库需要的schema信息。目标数据类型可以是指将查询数据库能够识别的数据类型,例如目标数据类型可以是Presto数据库可以识别的string数据类型,当然,目标数据类型还可以是其他查询数据库对应的数据类型,本示例实施例对此不做特殊限定。举例而言,具体过程转化过程可以是若确定字段为简单类型:string,bool,int,bigint,float,double,则将其全部都映射成Presto string类型,由于原数据定义的格式与实际数据格式可能存在不一致的问题,需要转换成string数据类型保证其成功。通过将字段的数据类型统一转化为string数据类型,能够保证即使医疗数据的版本不一致,Presto数据库也能够进行准确地、高效地查询数据。
在本公开的一个示例实施例中,存储数据可以是指医疗数据经过步骤S110以及步骤S120处理后生成的结构化数据,该存储数据能够直接保存在数据库中。具体的,根据医疗数据生成的结构化数据(新的schema信息)以及按照表结构拆分后得到的源数据,通过Hadoop、Spark等大数据工具,首先按照结构化数据获取对应的字段数据,然后按照表结构进行过滤分别存储在不同的数据路径下以得到存储数据。
在步骤S140中,将第二schema信息按照数据路径存储到目标搜索引擎以根据目标搜索引擎查询医疗数据。
在本公开的一个示例实施例中,目标搜索引擎可以是指存储医疗数据对应的存储数据,并能够进行查询数据的数据库,例如目标搜索引擎可以是Presto查询引擎,也可以是Spark-SQL大数据查询引擎,当然还可以是Clickhouse、Hive等大数据查询引擎,本示例实施例对此不作特水限定。通过大数据工具得到存储数据后,将存储数据按照ORC格式写入到Presto搜索引擎中,即可以通过SQL的方式查询医疗数据。
需要说明的是,尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
此外,在本示例实施例中,还提供了一种海量医疗数据的入库装置。参照图4所示,该海量医疗数据的入库装置400包括:数据拆分模块410用于对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;数据合并模块420用于将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息;数据存储模块430用于将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。
在本发明的一种示例性实施例中,基于前述方案,所述数据拆分模块410还被配置为:
获取医疗数据表,并通过数据计算工具按照存储路径对所述医疗数据表进行拆分生成第一数据库对象集合schema信息;以及
将所述第一数据库对象集合schema信息根据所述存储路径进行存储。
在本发明的一种示例性实施例中,基于前述方案,所述数据合并模块420还包括:
分层单元,用于对所述第一数据库对象集合schema信息进行分层配置以生成所述第一数据库对象集合schema信息对应的分层数据;
结构化数据生成单元,用于将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据。
在本发明的一种示例性实施例中,基于前述方案,所述结构化数据生成单元还包括:
数据类型转化处理,用于将所述分层数据对应的所述数据类型进行转化,生成所述数据类型对应的目标数据类型。
在本发明的一种示例性实施例中,基于前述方案,所述结构化数据生成单元还包括:
横向合并单元,用于将每层所述分层数据中不同的路径合并生成新的层以实现所述分层数据的横向合并。
在本发明的一种示例性实施例中,基于前述方案,所述结构化数据生成单元还包括:
垂直合并单元,用于将所述分层数据中的高层路径与底层路径进行合并以实现所述分层数据的垂直合并。
在本发明的一种示例性实施例中,基于前述方案,所述垂直合并单元还被配置为:
如果检测到所述高层路径包含所述低层路径,则将所述高层路径与所述低层路径进行垂直合并处理,生成所述源数据对应的结构化数据;以及
将所述高层路径进行重命名处理。
上述中海量医疗数据的入库装置各模块的具体细节已经在对应的海量医疗数据的入库方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了海量医疗数据的入库装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述海量医疗数据的入库方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本发明的这种实施例的电子设备500。图5所示的电子设备500仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500以通用计算设备的形式表现。电子设备500的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530、显示单元540。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。例如,所述处理单元510可以执行如图1中所示的步骤S110,对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;步骤S120,将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息;步骤S130,将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。
存储单元520还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备500也可以与一个或多个外部设备570(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备500交互的设备通信,和/或与使得该电子设备500能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。并且,电子设备500还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与电子设备500的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
参考图6所示,描述了根据本发明的实施例的用于实现上述海量医疗数据的入库方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (7)
1.一种海量医疗数据的入库方法,其特征在于,包括:
对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;
将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息,包括:对所述第一数据库对象集合schema信息进行分层配置以生成所述第一数据库对象集合schema信息对应的分层数据;将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据;其中,结构化数据为所述第二schema信息;其中,分层配置指对不同存储路径的第一数据库对象集合schema信息配置分层的处理过程;垂直合并指从最高层开始将低层路径包含在高层路径中的路径合并在一起的处理过程,具体逻辑是:从最高层开始,遍历所有路径,然后从最低层开始遍历路径,寻找到高层路径包含低层路径的路径,则把低层路径下的所有字段加入到高层路径中,完成分层数据的垂直合并;将每层所述分层数据中不同的路径合并生成新的层以实现所述分层数据的横向合并;
将第二schema信息按照数据路径存储到所述目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。
2.根据权利要求1所述的海量医疗数据的入库方法,其特征在于,对医疗数据表进行拆分处理生成第一数据库对象集合schema信息,包括:
获取医疗数据表,并通过数据计算工具按照存储路径对所述医疗数据表进行拆分生成第一数据库对象集合schema信息;以及
将所述第一数据库对象集合schema信息根据所述存储路径进行存储。
3.根据权利要求1所述的海量医疗数据的入库方法,其特征在于,所述分层数据包括数据类型,所述将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据,还包括:
将所述分层数据对应的所述数据类型进行转化,生成所述数据类型对应的目标数据类型。
4.根据权利要求1所述的海量医疗数据的入库方法,其特征在于,将所述分层数据中的高层路径与底层路径进行合并以实现所述分层数据的垂直合并,包括:
如果检测到所述高层路径包含所述低层路径,则将所述高层路径与所述低层路径进行垂直合并处理,生成源数据对应的结构化数据;以及
将所述高层路径进行重命名处理。
5.一种海量医疗数据的入库装置,其特征在于,包括:
数据拆分模块,用于对医疗数据表进行拆分处理生成第一数据库对象集合schema信息;
数据合并模块,用于将所述第一数据库对象集合schema信息分层配置后进行横向合并、垂直合并生成符合目标搜索引擎需求的第二schema信息,包括:对所述第一数据库对象集合schema信息进行分层配置以生成所述第一数据库对象集合schema信息对应的分层数据;将所述分层数据进行横向合并、垂直合并,生成所述第一数据库对象集合schema信息对应的结构化数据;其中,结构化数据为所述第二schema信息;其中,分层配置指对不同存储路径的第一数据库对象集合schema信息配置分层的处理过程;垂直合并指从最高层开始将低层路径包含在高层路径中的路径合并在一起的处理过程,具体逻辑是:从最高层开始,遍历所有路径,然后从最低层开始遍历路径,寻找到高层路径包含低层路径的路径,则把低层路径下的所有字段加入到高层路径中,完成分层数据的垂直合并;将每层所述分层数据中不同的路径合并生成新的层以实现所述分层数据的横向合并;
数据存储模块,用于将第二schema信息按照数据路径存储到目标搜索引擎以根据所述目标搜索引擎查询所述医疗数据。
6.一种电子设备,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至4中任一项所述的海量医疗数据的入库方法。
7.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的海量医疗数据的入库方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911299038.2A CN111061739B (zh) | 2019-12-17 | 2019-12-17 | 海量医疗数据的入库方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911299038.2A CN111061739B (zh) | 2019-12-17 | 2019-12-17 | 海量医疗数据的入库方法及装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061739A CN111061739A (zh) | 2020-04-24 |
CN111061739B true CN111061739B (zh) | 2023-07-04 |
Family
ID=70301218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911299038.2A Active CN111061739B (zh) | 2019-12-17 | 2019-12-17 | 海量医疗数据的入库方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061739B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016982A (zh) * | 2020-08-19 | 2020-12-01 | 云账户技术(天津)有限公司 | 一种开票金额的计算方法及装置 |
CN112017766B (zh) * | 2020-08-26 | 2024-03-12 | 上海申挚医疗科技有限公司 | 能实现各医院数据连通的数据处理系统 |
CN112420168B (zh) * | 2020-11-12 | 2023-06-23 | 武汉联影医疗科技有限公司 | 数据写入数据库的方法、装置、设备和存储介质 |
CN112269788A (zh) * | 2020-11-13 | 2021-01-26 | 中盈优创资讯科技有限公司 | 提升ClickHouse数据入库性能的方法及装置 |
CN112699642B (zh) * | 2020-12-31 | 2023-03-28 | 医渡云(北京)技术有限公司 | 复杂医疗文书的索引提取方法及装置、介质及电子设备 |
CN114064660B (zh) * | 2021-11-29 | 2022-06-21 | 重庆允成互联网科技有限公司 | 基于ElasticSearch的数据结构化分析方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276002A (zh) * | 2019-06-26 | 2019-09-24 | 浙江大搜车软件技术有限公司 | 搜索应用数据处理方法、装置、计算机设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7158990B1 (en) * | 2002-05-31 | 2007-01-02 | Oracle International Corporation | Methods and apparatus for data conversion |
US7720873B2 (en) * | 2007-06-21 | 2010-05-18 | International Business Machines Corporation | Dynamic data discovery of a source data schema and mapping to a target data schema |
US20100114993A1 (en) * | 2008-10-31 | 2010-05-06 | Holschbach Jean M | Data Transformation System and Method |
US9588978B2 (en) * | 2013-09-30 | 2017-03-07 | International Business Machines Corporation | Merging metadata for database storage regions based on overlapping range values |
CN108133017A (zh) * | 2017-12-21 | 2018-06-08 | 广州市申迪计算机系统有限公司 | 一种多数据源采集配置方法及装置 |
CN108052681B (zh) * | 2018-01-12 | 2020-05-26 | 毛彬 | 一种关系型数据库间结构化数据的同步方法及系统 |
CN109542966B (zh) * | 2018-11-09 | 2020-09-18 | 金色熊猫有限公司 | 数据融合方法、装置、电子设备及计算机可读介质 |
CN109616215B (zh) * | 2018-11-23 | 2021-07-09 | 金色熊猫有限公司 | 医疗数据抽取方法、装置、存储介质及电子设备 |
CN109637602B (zh) * | 2018-11-23 | 2021-06-18 | 金色熊猫有限公司 | 医疗数据存储和查询方法、装置、存储介质及电子设备 |
-
2019
- 2019-12-17 CN CN201911299038.2A patent/CN111061739B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276002A (zh) * | 2019-06-26 | 2019-09-24 | 浙江大搜车软件技术有限公司 | 搜索应用数据处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111061739A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061739B (zh) | 海量医疗数据的入库方法及装置、电子设备、存储介质 | |
US10152607B2 (en) | Secure access to hierarchical documents in a sorted, distributed key/value data store | |
US11023500B2 (en) | Systems and methods for code parsing and lineage detection | |
CN109491989B (zh) | 数据处理方法及装置、电子设备、存储介质 | |
US8732178B2 (en) | Using views of subsets of nodes of a schema to generate data transformation jobs to transform input files in first data formats to output files in second data formats | |
US9390127B2 (en) | RDF graphs made of RDF query language queries | |
WO2023221408A1 (zh) | 深度学习框架的算子处理方法、装置、设备和存储介质 | |
CN112711581B (zh) | 医疗数据校验方法、装置、电子设备及存储介质 | |
CN111414350B (zh) | 一种服务生成方法及装置 | |
CN102541993A (zh) | 用于分布式计算的电子表格模型 | |
US11252257B2 (en) | Dynamic rest access | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
Pytlak et al. | Interactive dynamic optimization server–connecting one modelling language with many solvers | |
US10635646B2 (en) | Generating a view for a schema including information on indication to transform recursive types to non-recursive structure in the schema | |
CN117472693A (zh) | 基于数据湖的埋点数据处理方法、系统、设备及存储介质 | |
CN115292313A (zh) | 一种伪列实现方法、装置、电子设备及存储介质 | |
CN115390936A (zh) | 统一校验方法、装置、设备和存储介质 | |
CN115344614A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN108470047B (zh) | 基于物联网的远程平台监测系统 | |
CN111046085A (zh) | 数据的溯源处理方法及装置、介质和设备 | |
Cuddihy et al. | FDC cache: semantics-driven federated caching and querying for big data | |
US9547671B2 (en) | Limiting the rendering of instances of recursive elements in view output | |
CN117076515B (zh) | 医疗管理系统中元数据的溯源方法、装置、服务器及存储介质 | |
CN112463973B (zh) | 医学知识图谱的构建方法、装置、介质及电子设备 | |
CN114461716A (zh) | 数据加载方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |