CN110688530B - 一种json数据的处理方法及装置 - Google Patents

一种json数据的处理方法及装置 Download PDF

Info

Publication number
CN110688530B
CN110688530B CN201910766201.5A CN201910766201A CN110688530B CN 110688530 B CN110688530 B CN 110688530B CN 201910766201 A CN201910766201 A CN 201910766201A CN 110688530 B CN110688530 B CN 110688530B
Authority
CN
China
Prior art keywords
function
configuration file
source case
data
expression
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
Application number
CN201910766201.5A
Other languages
English (en)
Other versions
CN110688530A (zh
Inventor
艾杰
彭滔
朱彤
梅昀
王军涛
宝颜鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Xinkaixin Life Technology Co ltd
Tianjin Happy Life Technology Co ltd
Original Assignee
Tianjin Xinkaixin Life Technology Co ltd
Tianjin Happy Life Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin Xinkaixin Life Technology Co ltd, Tianjin Happy Life Technology Co ltd filed Critical Tianjin Xinkaixin Life Technology Co ltd
Priority to CN201910766201.5A priority Critical patent/CN110688530B/zh
Publication of CN110688530A publication Critical patent/CN110688530A/zh
Application granted granted Critical
Publication of CN110688530B publication Critical patent/CN110688530B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Epidemiology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种json数据的处理方法及装置,方法包括:接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;根据需求信息在预设配置文件库中查找匹配的目标配置文件;根据所述目标配置文件查询所述源病例数据。通过本发明的技术方案,提供了一个基于可嵌套函数表达式的仿sql数据查询引擎,来解决面向json数据环境中配置化程度低,复用率低的问题。可以提升临床试验数据处理过程的易用性和复用性,提高了临床试验病历数据的利用效率,新的数据处理需求只需要编写配置文件即可完成,处理效率大大提升。

Description

一种json数据的处理方法及装置
技术领域
本发明涉及医疗数据处理领域,尤其涉及一种json数据的处理方法及装置。
背景技术
现有技术中,在当面临床试验过程中,受试者病历数据存在于纸质或电子信息系统(如his,lis,emr等)中。由于病历数据存放于多个不同来源,因此数据格式异构性的问题就不可避免的出现了。在传统人工处理病历数据的过程中,通过理解病历数据再经加工整理成临床试验要求的CRF(Case report form,病例报告表)这种方式不仅仅耗时耗力,而且方法难以复制,这就成为了临床试验成本居高不下的原因之一。随着医院信息化和大数据技术的进步,受试者病历数据的组织方式已经慢慢转向了以受试者为核心整合其全生命周期的数据,其格式不再以传统的多张结构化数据表来组织,而是转向了以json多级树形结构的形式进行组织,方便整个全部受试者。
虽然整合后,数据利用的方便程度得到了提升,但仍然面对如下问题:数据结构由于采用多维树形json格式,复杂度较之前的结构化数据表的形式大大提升,因此数据处理时的复杂度也成倍提升。由于临床试验多病种多药物之间差异程度大的问题仍然存在,在这种复杂数据格式的条件下,如何解决方法的复用性仍然是一个难题。
在现有临床试验中json数据格式的解决方案如下所示:利用面向json格式的数据存储引擎如mongo,es等进行相关数据处理操作。利用面向json格式的规则引擎,来进行相关数据处理操作。
现有技术的缺点十分明显,主要有如下几点:数据处理过程依靠函数开发,配置化程度低。由于在不同临床试验中相似程度很低,因为基于规则引擎的方法往往规则的复用程度很低,只有写出大量的规则后,效率提升才可能显现,管理成本很高。
针对现有技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明提供一种json数据的处理方法、装置、计算机可读存储介质及计算机设备,提供了一个基于可嵌套函数表达式的仿sql数据查询引擎,来解决面向json数据环境中配置化程度低,复用率低的问题。可以提升临床试验数据处理过程的易用性和复用性,提高了临床试验病历数据的利用效率,新的数据处理需求只需要编写配置文件即可完成,处理效率大大提升。
第一方面,本发明提供了json数据的处理方法,包括:
接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;
根据需求信息在预设配置文件库中查找匹配的目标配置文件;
根据所述目标配置文件查询所述源病例数据。
优选地,
根据所述目标配置文件查询所述源病例数据包括:
解析所述目标配置文件的函数表达式,得到若干个用于查询所述源病例数据的执行函数;
使用所述执行函数查询所述源病例数据。
优选地,
解析所述目标配置文件的函数表达式包括:
根据预设字典库在所述目标配置文件的总配置文件解析主函数表达式;
判断所述总配置文件是否嵌套子配置文件;
在所述总配置文件嵌套子配置文件时,根据预设字典库在所述目标配置文件的子配置文件解析分组函数的函数表达式和/或排序函数的函数表达式,其中,所述分组函数的函数表达式和/或排序函数的函数表达式嵌套在所述主函数表达式内。
优选地,
解析所述目标配置文件的函数表达式包括:
定位所述目标配置文件的函数起始符;
依次识别所述函数起始符之后的元素内容;
在元素内容为函数标识时,在所述函数标识之后依次读取对应函数的函数参数,直到所述目标配置文件的函数终止符。
优选地,
使用所述执行函数查询所述源病例数据包括:
使用第一执行函数将所述源病例数据转换为一个数组,其中,所述数组包括与多个源病例文件对应的多个元素;
使用第二执行函数对所述多个源病例文件进行分组;
使用第三执行函数对分组后的多个源病例文件进行组内排序;
使用第四执行函数对排序后的多个源病例文件进行筛选;
将筛选后的多个源病例文件转换成指定格式的文件后输出。
第二方面,本发明提供了一种json数据的处理装置,包括:
接收模块,用于接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;
查找模块,用于根据需求信息在预设配置文件库中查找匹配的目标配置文件;
查询模块,用于根据所述目标配置文件查询所述源病例数据。
优选地,
所述查询模块包括:
解析单元,用于解析所述目标配置文件的函数表达式,得到若干个用于查询所述源病例数据的执行函数;
查询单元,用于使用所述执行函数查询所述源病例数据。
优选地,
所述解析单元包括:
第一子解析单元,用于根据预设字典库在所述目标配置文件的总配置文件解析主函数表达式;
子判断单元,用于判断所述总配置文件是否嵌套子配置文件;
第二子解析单元,用于在所述总配置文件嵌套子配置文件时,根据预设字典库在所述目标配置文件的子配置文件解析分组函数的函数表达式和/或排序函数的函数表达式,其中,所述分组函数的函数表达式和/或排序函数的函数表达式嵌套在所述主函数表达式内。
优选地,
所述解析单元包括:
子定位单元,用于定位所述目标配置文件的函数起始符;
子识别单元,用于依次识别所述函数起始符之后的元素内容;
子读取单元,用于在元素内容为函数标识时,在所述函数标识之后依次读取对应函数的函数参数,直到所述目标配置文件的函数终止符。
优选地,
所述查询单元包括:
子转换单元,用于使用第一执行函数将所述源病例数据转换为一个数组,其中,所述数组包括与多个源病例文件对应的多个元素;
子分组单元,用于使用第二执行函数对所述多个源病例文件进行分组;
子排序单元,用于使用第三执行函数对分组后的多个源病例文件进行组内排序;
子筛选单元,用于使用第四执行函数对排序后的多个源病例文件进行筛选;
子输出单元,用于将筛选后的多个源病例文件转换成指定格式的文件后输出。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如第一方面中任一所述的方法。
第四方面,本发明提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面中任一所述的方法。
本发明提供了一种json数据的处理方法、装置、计算机可读存储介质及计算机设备,提供了一个基于可嵌套函数表达式的仿sql数据查询引擎,来解决面向json数据环境中配置化程度低,复用率低的问题。可以提升临床试验数据处理过程的易用性和复用性,提高了临床试验病历数据的利用效率,新的数据处理需求只需要编写配置文件即可完成,处理效率大大提升。
附图说明
为了更清楚地说明本发明实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种json数据的处理方法的流程示意图;
图2是本发明实施例在json数据中查询结果文件的逻辑流程图;
图3为本发明一实施例提供的一种json数据的处理装置的结构示意图;
图4为本发明一实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种json数据的处理方法,包括如下步骤:
步骤101,接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;
步骤102,根据需求信息在预设配置文件库中查找匹配的目标配置文件;
本实施例的预设配置文件库中保存有多个配置文件,针对不同的场景,不同的输出,甚至不同的客户,对源病例数据的处理需求不同,因此配置文件也会不同,如果在预设配置文件库中未找到匹配的,还可以根据需求信息临时配置,或者直接根据需求信息手动编辑目标配置文件。
步骤103,根据所述目标配置文件查询所述源病例数据。
如图1所示的实施例,接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据,然后根据需求信息在预设配置文件库中查找匹配的目标配置文件,最后根据所述目标配置文件查询所述源病例数据。提供了一个基于可嵌套函数表达式的仿sql数据查询引擎,来解决面向json数据环境中配置化程度低,复用率低的问题。可以提升临床试验数据处理过程的易用性和复用性,提高了临床试验病历数据的利用效率,新的数据处理需求只需要编写配置文件即可完成,处理效率大大提升。
图2是本发明实施例在json数据中查询结果文件的逻辑流程图,用于查询的数据引擎包括字典管理模块,函数解析模块,配置文件解析模块,结果处理模块。函数解析模块主要负责将配置的函数表达式进行解析后找到对应的执行函数给予执行,字典管理模块主要负责读取相关字典,方便函数表达式对全局信息的调用,字典都以key:value键值对的形式存在,字典具体key值的读取通过配置多个字典相关函数表达式如[get_dict_value,key_name]等来实现字典值的灵活获取。配置文件解析模块主要负责解析配置文件,并针对输入json数据执行相应的数据处理,返回指定格式的输出。结果处理模块用于将配置文件解析模块生成完的结果转换成文本文件,CSV(逗号分隔值(Comma-Separated Values,也称为字符分隔值,因为分隔字符也可以不是逗号))等各种格式的文件输出。
根据本公开的实施例,根据所述目标配置文件查询所述源病例数据包括:
S11,解析所述目标配置文件的函数表达式,得到若干个用于查询所述源病例数据的执行函数;
在本实施例的一个实施方式中,解析所述目标配置文件的函数表达式包括:根据预设字典库在所述目标配置文件的总配置文件解析主函数表达式;判断所述总配置文件是否嵌套子配置文件;根据预设字典库在所述总配置文件嵌套子配置文件时,在所述目标配置文件的子配置文件解析分组函数的函数表达式和/或排序函数的函数表达式,其中,所述分组函数的函数表达式和/或排序函数的函数表达式嵌套在所述主函数表达式内。预设字典库用于解析目标配置文件中的key值,获取实际的value值。
本实施例的一个示例中,配置文件格式如下:
Figure BDA0002172015180000071
Figure BDA0002172015180000081
它由如下几个部分组成:
Select:最终结果中一条记录的集合;
From:将要处理的源数据集,由函数表达式对源数据集进行处理;
Group_by:对数据进行分组;
Group_rank:对分组后的数据进行组内排序并筛选;
Element:输出结果单条记录中单个字段的详细说明。
配置文件在编辑完成后,最终形成了一个.model总配置文件以及若干Element_sql元素中描述的子配置文件。子配置文件嵌套的原因是因为由于在临床试验环境中一个受试者往往具有成百上千个字段,如果都在一个配置文件里配置,则后期维护成本将十分巨大,因此本实施例的配置文件采用两级配置的方法,第一级配置文件以*.model的形式配置,第二级的配置文件都是*.model的子配置文件,分别针对受试者的不同类别,无论是在处理过程中发现问题,还是在试验过程中发生变更,都能快速定位并即时给予解决。
本实施例的一个示例中,函数表达式如下:
[func_name1,param11,param12,[func_name2,param21,param22]]
由如下几个部分组成:
[]:一个完整的函数表达式;
Func_name:函数名称对应引擎中具体的某一个执行函数;
Param:代表某一函数的其中一个参数,参数还可以由新的[]来表示,实现可多层级嵌套。
本实施例的函数表达式的种类包括两种:
简单函数表达式:这部分函数表达式主要由数据运算(加,减,最大值等),逻辑运算(与,或,交等),统计运算(分组,排序等),正则表达式运算等基础函数组成,表达式中无嵌套。
复杂函数表达式:这部分函数表达式主要由简单函数表达式嵌套完成,使得大部分复杂数据处理场景只需要通过简单函数表达式的嵌套组合即可实现。
在本实施例的一个实施方式中,在解析单个函数的函数表达式时,在解析函数表达式时,解析流程包括:
1)解析函数表达式[],包括函数起始符([)和函数终止符(]);定位所述目标配置文件的函数起始符;
2)读取第一个元素,如果第一个元素是函数名,则跳转至3)否则跳转至4)
3)依次读取函数表达式中的参数,当参数为]时,跳转至1),依次识别所述函数起始符之后的元素内容;在元素内容为函数标识时,在所述函数标识之后依次读取对应函数的函数参数,直到所述目标配置文件的函数终止符。在函数终止符之后,如果又定位到函数起始符(另一个函数的),则继续解析和读取参数,直到解析完配置文件中全部的函数表达式;
4)执行完整的函数表达式,并将结果返回。
S12,使用所述执行函数查询所述源病例数据。
在本实施例的一个实施方式中,使用所述执行函数查询所述源病例数据包括:使用第一执行函数将所述源病例数据转换为一个数组,其中,所述数组包括与多个源病例文件对应的多个元素;使用第二执行函数对所述多个源病例文件进行分组;使用第三执行函数对分组后的多个源病例文件进行组内排序;使用第四执行函数对排序后的多个源病例文件进行筛选;将筛选后的多个源病例文件转换成指定格式的文件后输出。
本实施例的方案除了使用执行函数查询源病例数据,还可以对源病例数据进行数据清洗,数据分析等。
在一个示例中,第一执行函数为from(),数组转换函数,第二执行函数为Group_by(),分组函数,第三执行函数为Group_rank(),组内排序函数,第四执行函数为Select(),筛选函数。处理流程包括:1)解析from部分的函数表达式,from(),可以直接使用源数据,也可以将源数据处理转化成一组记录集合(数组),并返回结果;
2)解析group_by函数,如果配置了group_by,则接收由from处理的Select()的结果,并根据函数表达式中指定的主键进行分组,并将分组后的结果返回,否则直接进入4);
3)解析group_rank函数,如果配置了group_rank则接收来自group_by处理的结果,并根据函数表达式对每一个分组进行处理,处理后将结果返回,否则直接进入4);
4)解析select部分,对上述步骤处理结果中的每一条记录进行筛选处理,如果碰见子配置文件,则跳转至1,对当前数据进行进一步处理,最终返回结果。
根据本公开的实施例,根据需求信息在预设配置文件库中查找匹配的目标配置文件包括:确定需求信息中的输出接口类型和场景信息;根据所述输出接口类型和所述场景信息在在预设配置文件库中查找匹配的目标配置文件。
本公开实施例的方案,设计一个基于可嵌套函数表达式的仿sql数据处理引擎,来解决面向json数据环境中配置化程度低,复用率低的问题。可以提升临床试验数据处理过程的易用性和复用性,提高了临床试验病历数据的利用效率,新的数据处理需求只需要编写配置文件即可完成,处理效率大大提升。
基于与本发明方法实施例相同的构思,请参考图3,本发明实施例还提供了一种json数据的处理装置,其具体包括:
接收模块30,用于接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;
查找模块32,用于根据所述源病例数据的树形结构在预设配置文件库中查找匹配的目标配置文件;
查询模块34,用于根据所述目标配置文件查询所述源病例数据。
本发明一个实施例中,所述查询模块包括:解析单元,用于解析所述目标配置文件的函数表达式,得到若干个用于查询所述源病例数据的执行函数;查询单元,用于使用所述执行函数查询所述源病例数据。
本发明一个实施例中,所述解析单元包括:第一子解析单元,用于在所述目标配置文件的总配置文件解析主函数表达式;子判断单元,用于判断所述总配置文件是否嵌套子配置文件;第二子解析单元,用于在所述总配置文件嵌套子配置文件时,在所述目标配置文件的子配置文件解析分组函数的函数表达式和/或排序函数的函数表达式,其中,所述分组函数的函数表达式和/或排序函数的函数表达式嵌套在所述主函数表达式内。
本发明一个实施例中,所述解析单元包括:子定位单元,用于定位所述目标配置文件的函数起始符;子识别单元,用于依次识别所述函数起始符之后的元素内容;子读取单元,用于在元素内容为函数标识时,在所述函数标识之后依次读取对应函数的函数参数,直到所述目标配置文件的函数终止符。
本发明一个实施例中,所述查询单元包括:子转换单元,用于使用第一执行函数将所述源病例数据转换为一个数组,其中,所述数组包括与多个源病例文件对应的多个元素;子分组单元,用于使用第二执行函数对所述多个源病例文件进行分组;子排序单元,用于使用第三执行函数对分组后的多个源病例文件进行组内排序;子筛选单元,用于使用第四执行函数对排序后的多个源病例文件进行筛选;子输出单元,用于将筛选后的多个源病例文件转换成指定格式的文件后输出。
本发明一个实施例中,所述查找模块包括:确定单元,用于确定所述源病例数据的树形结构,以及每级数据的数据类型;查找单元,用于根据所述树形结构和所述数据类型在预设配置文件库中查找匹配的目标配置文件。
为了描述的方便,描述以上装置实施例时以功能分为各种单元或模块分别描述,在实施本发明时可以把各单元或模块的功能在同一个或多个软件和/或硬件中实现。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明任意一个实施例中提供的json数据的处理方法。
请参考图4,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序所述处理器执行所述计算机程序时,实现如本发明任意一个实施例中提供的json数据的处理方法。
具体第,存储器可以包括内存以及非易失性存储器。
可选地,计算机设备还包括内部总线、网络接口。
当然,该计算机设备还可能包括其他业务所需要的硬件。
内存具体可以是高速随机存取存储器(Random-Access Memory,RAM);非易失性存储器(non-volatile memory)具体可以是1个或多个磁盘存储器。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry StandardArchitecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended IndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的计算机程序到处理器中运行,处理器执行存储器所存放的计算机程序,以通过执行的计算机程序实现本发明任一实施例中提供的json数据的处理方法。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块(也就是计算机程序)可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的计算机可读存储介质中。
本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (6)

1.一种json数据的处理方法,其特征在于,包括:
接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;
根据需求信息在预设配置文件库中查找匹配的目标配置文件;
解析所述目标配置文件的函数表达式,得到若干个用于查询所述源病例数据的执行函数;
使用所述执行函数查询所述源病例数据;
所述解析所述目标配置文件的函数表达式包括:
根据预设字典库在所述目标配置文件的总配置文件解析主函数表达式;
判断所述总配置文件是否嵌套子配置文件;
在所述总配置文件嵌套子配置文件时,根据所述预设字典库在所述目标配置文件的子配置文件解析分组函数的函数表达式和/或排序函数的函数表达式,其中,所述分组函数的函数表达式和/或排序函数的函数表达式嵌套在所述主函数表达式内。
2.根据权利要求1所述的方法,其特征在于,解析所述目标配置文件的函数表达式包括:
定位所述目标配置文件的函数起始符;
依次识别所述函数起始符之后的元素内容;
在元素内容为函数标识时,在所述函数标识之后依次读取对应函数的函数参数,直到所述目标配置文件的函数终止符。
3.根据权利要求1或2所述的方法,其特征在于,使用所述执行函数查询所述源病例数据包括:
使用第一执行函数将所述源病例数据转换为一个数组,其中,所述数组包括与多个源病例文件对应的多个元素;
使用第二执行函数对所述多个源病例文件进行分组;
使用第三执行函数对分组后的多个源病例文件进行组内排序;
使用第四执行函数对排序后的多个源病例文件进行筛选;
将筛选后的多个源病例文件转换成指定格式的文件后输出。
4.一种json数据的处理装置,其特征在于,包括:
接收模块,用于接收源病例数据,其中,所述源病例数据为采用多级树形结构存储的json数据;
查找模块,用于根据需求信息在预设配置文件库中查找匹配的目标配置文件;
查询模块,包括解析单元和查询单元,其中,
所述解析单元,用于解析所述目标配置文件的函数表达式,得到若干个用于查询所述源病例数据的执行函数;
所述查询单元,用于使用所述执行函数查询所述源病例数据;
所述解析单元包括:
第一解析子单元,用于根据预设字典库在所述目标配置文件的总配置文件解析主函数表达式;
判断子单元,用于判断所述总配置文件是否嵌套子配置文件;
第二解析子单元,用于在所述总配置文件嵌套子配置文件时,根据所述预设字典库在所述目标配置文件的子配置文件解析分组函数的函数表达式和/或排序函数的函数表达式,其中,所述分组函数的函数表达式和/或排序函数的函数表达式嵌套在所述主函数表达式内。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-3中任一所述的方法。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-3中任一所述的方法。
CN201910766201.5A 2019-08-19 2019-08-19 一种json数据的处理方法及装置 Active CN110688530B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910766201.5A CN110688530B (zh) 2019-08-19 2019-08-19 一种json数据的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910766201.5A CN110688530B (zh) 2019-08-19 2019-08-19 一种json数据的处理方法及装置

Publications (2)

Publication Number Publication Date
CN110688530A CN110688530A (zh) 2020-01-14
CN110688530B true CN110688530B (zh) 2022-04-26

Family

ID=69108369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910766201.5A Active CN110688530B (zh) 2019-08-19 2019-08-19 一种json数据的处理方法及装置

Country Status (1)

Country Link
CN (1) CN110688530B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468184A (zh) * 2021-07-16 2021-10-01 北京明略软件系统有限公司 一种基于配置的通用流式指标计算方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765525B1 (en) * 2004-09-01 2010-07-27 Intuit Inc. Operations manager infrastructure for dynamically updating software operational policy
WO2010094927A1 (en) * 2009-02-19 2010-08-26 Aceplan Investments Limited Content access platform and methods and apparatus providing access to internet content for heterogeneous devices
CN103207787A (zh) * 2012-01-12 2013-07-17 阿里巴巴集团控股有限公司 一种项目开发中数据包的加载方法及系统
CN103544298A (zh) * 2013-10-30 2014-01-29 曙光信息产业(北京)有限公司 组件的日志分析方法和分析装置
US8924876B1 (en) * 2008-09-29 2014-12-30 Emc Corporation File-driven drag and drop
CN105930138A (zh) * 2015-12-25 2016-09-07 中国银联股份有限公司 一种消息处理方法及装置
CN107967203A (zh) * 2016-10-20 2018-04-27 腾讯科技(深圳)有限公司 基于可执行文件的函数判定方法及装置
CN107992624A (zh) * 2017-12-22 2018-05-04 百度在线网络技术(北京)有限公司 解析序列化数据的方法、装置、存储介质及终端设备
CN109033324A (zh) * 2018-07-18 2018-12-18 北京京安佳新技术有限公司 一种数据处理系统及方法
CN109558525A (zh) * 2018-12-12 2019-04-02 北京锐安科技有限公司 一种测试数据集的生成方法、装置、设备和存储介质
CN110110297A (zh) * 2019-04-22 2019-08-09 无线生活(杭州)信息科技有限公司 一种基于json配置的xsd文件生成方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503497B2 (en) * 2018-01-30 2019-12-10 Microsoft Technology Licensing, Llc Techniques for utilizing an expression language in service configuration files

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765525B1 (en) * 2004-09-01 2010-07-27 Intuit Inc. Operations manager infrastructure for dynamically updating software operational policy
US8924876B1 (en) * 2008-09-29 2014-12-30 Emc Corporation File-driven drag and drop
WO2010094927A1 (en) * 2009-02-19 2010-08-26 Aceplan Investments Limited Content access platform and methods and apparatus providing access to internet content for heterogeneous devices
CN103207787A (zh) * 2012-01-12 2013-07-17 阿里巴巴集团控股有限公司 一种项目开发中数据包的加载方法及系统
CN103544298A (zh) * 2013-10-30 2014-01-29 曙光信息产业(北京)有限公司 组件的日志分析方法和分析装置
CN105930138A (zh) * 2015-12-25 2016-09-07 中国银联股份有限公司 一种消息处理方法及装置
CN107967203A (zh) * 2016-10-20 2018-04-27 腾讯科技(深圳)有限公司 基于可执行文件的函数判定方法及装置
CN107992624A (zh) * 2017-12-22 2018-05-04 百度在线网络技术(北京)有限公司 解析序列化数据的方法、装置、存储介质及终端设备
CN109033324A (zh) * 2018-07-18 2018-12-18 北京京安佳新技术有限公司 一种数据处理系统及方法
CN109558525A (zh) * 2018-12-12 2019-04-02 北京锐安科技有限公司 一种测试数据集的生成方法、装置、设备和存储介质
CN110110297A (zh) * 2019-04-22 2019-08-09 无线生活(杭州)信息科技有限公司 一种基于json配置的xsd文件生成方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Program Design of Json to Structured Data Conversion;Zhongyue Da等;《2017 3th international conference on mechanical、electronic and information technology engineering》;20171205;第139卷;166-184页 *
匹配无线设备页面策略的服务中间件的设计与实现;林彬;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150215;I138-193 *

Also Published As

Publication number Publication date
CN110688530A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
CN108108426B (zh) 自然语言提问的理解方法、装置及电子设备
CN106919612B (zh) 一种上线结构化查询语言脚本的处理方法及装置
CN112035599B (zh) 基于垂直搜索的查询方法、装置、计算机设备及存储介质
CN110737689B (zh) 数据标准符合性检测方法、装置、系统及存储介质
CN110647562A (zh) 一种数据查询方法和装置、电子设备、存储介质
CN111143359A (zh) 查询语句生成方法及装置
CN110688530B (zh) 一种json数据的处理方法及装置
CN110335628B (zh) 智能设备的语音测试方法、装置及电子设备
CN111611781A (zh) 数据标注方法、问答方法、装置及电子设备
CN110580170A (zh) 软件性能风险的识别方法及装置
CN111859863A (zh) 一种文档的结构转换方法、装置、存储介质及电子设备
Neph et al. Operating on genomic ranges using BEDOPS
CN115757174A (zh) 一种数据库的差异检测方法及装置
CN109783139B (zh) 软件界面特征提取方法、装置及电子设备
CN112597287B (zh) 一种语句处理方法、语句处理装置及智能设备
Rajput et al. Semi-automatic approach for ontology enrichment using umls
CN114528313A (zh) 数据处理方法、装置和电子设备
CN110704396A (zh) 毒物信息库的建立方法、信息检索方法、装置及电子设备
CN111401034B (zh) 文本的语义分析方法、语义分析装置及终端
CN113128848A (zh) 全业务指标的数据质量监控方法、电子设备及存储介质
CN113722421A (zh) 一种合同审计方法和系统,及计算机可读存储介质
CN112214494A (zh) 检索方法及装置
CN110543622A (zh) 文本相似度检测方法、装置、电子设备及可读存储介质
CN117591624B (zh) 一种基于语义索引关系的测试用例推荐方法
CN112783922B (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