CN111427893B - json数据存储方法、装置、计算机设备和存储介质 - Google Patents
json数据存储方法、装置、计算机设备和存储介质Info
- Publication number
- CN111427893B CN111427893B CN202010222358.4A CN202010222358A CN111427893B CN 111427893 B CN111427893 B CN 111427893B CN 202010222358 A CN202010222358 A CN 202010222358A CN 111427893 B CN111427893 B CN 111427893B
- Authority
- CN
- China
- Prior art keywords
- field
- dset
- data
- dataset
- specified
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013500 data storage Methods 0.000 title claims abstract description 29
- 238000003860 storage Methods 0.000 title claims abstract description 27
- 230000015654 memory Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
Abstract
本申请涉及一种json数据存储方法、装置、计算机设备和存储介质。所述方法包括:将json文件中的数据转换成第一DSet数据集;将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;将所述第三DSet数据集中的数据按照字段名进行保存。采用本方法能够提高json数据的存储效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种json数据存储方法、装置、计算机设备和存储介质。
背景技术
BI(Business Intelligence,商业智能)报表也就是将企业中现有数据进行整合并提供出的报表,主要作用就是帮助企业的经营者和管理者快速、精准的把握企业的运营策略。现有的前后端交互的数据格式为json格式,数据来源于多个节点且结构复杂,后端程序收到前端数据后,要根据不同的节点把完整的json格式的数据分割并存储到多个数据表中,然后再通过外键来关联这些表实现关联查询,其中,外键为数据名称或者数据编号。
现有分散的json数据存储通过外键关联查询的方式,在进行数据展示如制作BI报表时,需要再次把存放在不同表中的数据汇总到同一张表中进行展示,对数据的展示处理效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高json数据存储效率的json数据存储方法、装置、计算机设备和存储介质。
一种json数据存储方法,所述方法包括:
将json文件中的数据转换成第一DSet数据集;
将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;
将所述第三DSet数据集中的数据按照字段名进行保存。
在其中一个实施例中,所述将json文件中的数据转换成第一DSet数据集步骤包括:从json文件中提取包括字段名和与所述字段名对应字段值的字段数据;将所述字段名和与所述字段名对应字段值的字段数据生成第一DSet数据集。
在其中一个实施例中,在所述将所述字段名和与所述字段名对应字段值的数据生成第一DSet数据集之后,还包括:将所述第一DSet数据集加载到内存中。
在其中一个实施例中,所述将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集包括:根据指定字段的字段名从所述第一DSet数据集中获取指定字段数据;其中,所述指定字段包括字段名和字段值;将所述指定字段数据生成第二DSet数据集。
在其中一个实施例中,所述将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集步骤包括:从所述第二Dset数据集中获取每个指定字段的字段值;将当前字段的所述字段值与另一指定字段的字段值进行匹配后,再与另一指定字段的字段值进行匹配,直到所有指定字段的字段值匹配完毕,形成匹配数组;其中,所述匹配数组中的元素包括当前字段的所述字段值的匹配结果,所述元素中的字段值的个数相等;将所述匹配数组生成第三DSet数据集。
在其中一个实施例中,所述将所述第三DSet数据集中的数据按照字段名进行保存步骤包括:获取所述第三DSet数据集中所述匹配数组中的每个元素的字段值和所述字段值在所述元素中的顺序;将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储。
在其中一个实施例中,所述将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储步骤包括:将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序插入数据表中;将所述字段值对应的字段名按照所述字段值在所述元素中的顺序插入所述数据表中。
一种json数据存储装置,所述装置包括:
数据源选择模块,用于将json文件中的数据转换成第一DSet数据集;
字段选择模块,用于将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
拉平字段模块,用于将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果包括的字段值的个数相等;
插入模块,用于将所述第三DSet数据集中的数据按照字段名进行保存。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
将json文件中的数据转换成第一DSet数据集;
将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;
将所述第三DSet数据集中的数据按照字段名进行保存。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
将json文件中的数据转换成第一DSet数据集;
将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;
将所述第三DSet数据集中的数据按照字段名进行保存。
上述json数据存储方法、装置、计算机设备和存储介质,通过将json文件中的数据转换成DSet数据集便于采用结构化查询语言进行处理,以实现与数据库直接对接存储;通过将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集,以实现对指定字段的数据拉平处理,避免json文件中数据存储在多处后需要变更字段的长度再合并在一起,从而产生了重复开发的工作;通过json文件中的数据解析成DSet数据集、并通过将DSet数据集中数据取出进行存储,实现解析和统一存储一步到位,避免了数据分散存储在多处,提高了数据的存储效率,同时便于后续对数据的查询。
附图说明
图1为一个实施例中json数据存储方法的应用环境图;
图2为一个实施例中json数据存储方法的流程示意图;
图3为一个实施例中将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集步骤的流程示意图;
图4为一个实施例中json数据存储装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的json数据存储方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102采集数据存储到json文件中,服务器104从终端102获取json文件,服务器104将json文件中的数据转换成第一DSet数据集;将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;将所述第三DSet数据集中的数据按照字段名进行保存。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种json数据存储方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S110,将json文件中的数据转换成第一DSet数据集。
其中,DSet数据集是一种分布式内存数据模型,所述数据模型能够将多个不同主机的内存进行合并,支持对DSet进行派生和触发操作。
具体的,将json文件中的数据的字段取出直接转换成第一DSet数据集,例如,json文件中数据包括字段A、B,则将字段A、B取出换成第一DSet数据集。
步骤S120,将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值。
其中,指定字段数据根据需要设定,第二DSet数据集通过派生算子生成。
例如,第一DSet数据集中存储了张三的车损险数据,包括保单号、姓名、年龄、保险额和险种等字段,则可以指定获取保单号、姓名、险种这些字段的数据生成第二DSet数据集。
步骤S130,将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等。
其中,第三DSet数据集通过派生算子生成。所述指定字段的字段值逐一匹配即为字段值与字段值组合的过程。
在其中一个实施例中,获取所述第二Dset数据集中的第一字段和第二字段,第一字段和第二字段包括字段名、字段值和字段长度,字段长度为所述字段值的个数,将所述第一字段的每一个字段值与第二字段的每一个字段值逐一匹配,生成一个m×n数组,m、n分别为第一字段和第二字段的字段长度。
步骤S140,将所述第三DSet数据集中的数据按照字段名进行保存。
其中,所述将第三DSet数据集中的数据按照字段名进行保存包括:将第三DSet数据集按照字段名和对应的字段值一一对应插入数据库的表中,或将第三DSet数据集中的数据按照字段保存到文本文件中。其中,数据库包括oracle、mysql、hbase和hive数据库。
上述json数据存储方法中,通过将json文件中的数据转换成DSet数据集便于采用结构化查询语言(Structured Query Language,SQL)进行处理,以实现与数据库直接对接存储;通过将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集,以实现对指定字段的数据拉平处理,避免json文件中数据存储在多处后需要变更字段的长度再合并在一起,从而产生了重复开发的工作;通过json文件中的数据解析成DSet数据集、并通过将DSet数据集中数据取出进行存储,实现解析和统一存储一步到位,避免了数据分散存储在多处,提高了数据的存储效率,同时便于后续对数据的查询。
在其中一个实施例中,所述步骤S110包括:从json文件中提取包括字段名和与所述字段名对应字段值的字段数据;将所述字段名和与所述字段名对应字段值的字段数据生成第一DSet数据集。
例如,json文件可用于存储保单数据,如张三的基本信息(保单号policyno,姓名name,年龄age,保险额premium)、张三的保单险种明细信息planDetail和张三的保单责任明细信息dutyDetail保存一个json文件中,张三保单的json文件格式如下:
其中,policyno为保单号,name为姓名,age为年龄,premium为保险额,dutyDetail为险种明细信息,dutyDetail为责任明细信息,dutycode为险种号,planname为险种名称。
在其中一个实施例中,在所述将所述字段名和与所述字段名对应字段值的数据生成第一DSet数据集之后,还包括:将所述第一DSet数据集加载到内存中。本实施例中,将第一DSet数据集加载到内存便于对DSet数据进行处理。
在其中一个实施例中,所述步骤S120包括:根据指定字段的字段名从所述第一DSet数据集中获取指定字段数据;其中,所述指定字段包括字段名和字段值;将所述指定字段数据生成第二DSet数据集。其中,每个字段的字段名是唯一的,用于区别于其它字段。
在其中一个实施例中,如图3所示,所述步骤S130包括:步骤S131,从所述第二Dset数据集中获取每个指定字段的字段值;步骤S132,将当前字段的所述字段值与另一指定字段的字段值进行匹配后,再与另一指定字段的字段值进行匹配,直到所有指定字段的字段值匹配完毕,形成匹配数组;其中,所述匹配数组中的元素包括当前字段的所述字段值的匹配结果,所述元素中的字段值的个数相等;步骤S133,将所述匹配数组生成第三DSet数据集。
例如,基于上述实施例,第一字段为张三的保单险种明细信息planDetail,第二字段为张三的保单责任明细信息dutyDetail,第一字段的字段名plancode、字段值(PL0100003,PL0100004)和字段长度为2,第二字段的字段名dutycode、字段值(CV27027,CV27028)和字段长度为2,第一字段的每一个字段值与第二字段的每一个字段值进行匹配后,生成一个2×2的数组:数组中每个元素再与张三的基本信息字段进行匹配,得到最终的匹配数组:
其中,张三的基本信息字段包括:保单号policyno、姓名name、年龄age和保险额premium,保单号policyno的字段值“132120439”,姓名name的字段值“张三”,年龄age的字段值“27”,保险额premium的字段值“2502”。
在其中一个实施例中,所述步骤S140包括:获取所述第三DSet数据集中所述匹配数组中的每个元素的字段值和所述字段值在所述元素中的顺序;将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储。
其中,同一元素中的字段值不相同,所述字段值对应的字段名也不相同,将同一元素的字段值拆分分别与所述字段值对应的字段名进行关联存储。例如,匹配数组中包括元素1和元素2,元素1中存在字段值A1、B1、C1,字段值A1对应的字段名为A,字段值B1对应的字段名为B,字段值C1对应的字段名为C,则将A1与A关联存储,B1与B关联存储,C1与C关联存储,元素2中存在字段值A2、B2、C2,字段值A2对应的字段名为A,字段值B2对应的字段名为B,字段值C2对应的字段名为C,则将A2与A关联存储,B2与B关联存储,C2与C关联存储。当然,匹配数据中的不同元素可能存在相同的字段值。
在其中一个实施例中,所述将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储步骤包括:将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序插入数据表中;将所述字段值对应的字段名按照所述字段值在所述元素中的顺序插入所述数据表中。
例如,policyno、name、age、premium、plancode、dutycode为字段名,132120439、张三、27、2502、PL0100003、PL0100004、CV27027、CV27028为字段值,如匹配数据组:
将匹配数组插入到数据表中,如下表所示:
policyno | name | age | premium | plancode | dutycode |
132120439 | 张三 | 27 | 2502 | PL0100003 | CV27027 |
132120439 | 张三 | 27 | 2502 | PL0100003 | CV27028 |
132120439 | 张三 | 27 | 2502 | PL0100004 | CV27027 |
132120439 | 张三 | 27 | 2502 | PL0100004 | CV27028 |
本实施例能够将拉平后的数据存储到数据表中,以便于后续对数据进行查阅。在制作BI报表时,能够直接从数据表中获取数据,避免了在制作BI报表对数据的再次处理,提高了制作BI报表的效率。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种json数据存储装置,包括:数据源选择模块210、字段选择模块220、拉平字段模块230和插入模块240。其中:
数据源选择模块210,用于将json文件202中的数据转换成第一DSet数据集204。
字段选择模块220,用于将所述第一DSet数据集204中的指定字段数据取出生成第二DSet数据集205;其中,所述指定字段包括字段名和字段值。
拉平字段模块230,用于将所述第二Dset数据集205中的多个指定字段的字段值逐一匹配生成第三DSet数据集206;其中,所述第三DSet数据集206包括多个匹配结果,所述多个匹配结果包括的字段值的个数相等。
插入模块240,用于将所述第三DSet数据集206中的数据按照字段名进行保存。
其中,SQL语句定义模块201用于定义SQL语句,即将SQL语句通过谓词划分成数据源选择模块210、字段选择模块220、拉平字段模块230和插入模块240四部分。插入模块240将所述第三DSet数据集206中的数据按照字段名保存到数据库203中。
在其中一个实施例中,json数据存储装置还包括触发模块,所述触发模块由SQL语句定义模块定义的SQL语句定义,触发模块用于通过触发算子一次性触发上述数据源选择模块210、字段选择模块220、拉平字段模块230和插入模块240的操作的顺序执行。其中,派生算子和触发算子通过分布式内存数据模型DSet定义。其中,上述模块的逻辑计划通过java方法实现。java方法为具体的物理计划,具体为:SQL语句定义模块201的java方法;数据源选择模块210的java方法;字段选择模块220的java方法;拉平字段模块230的java方法;插入模块240的java方法;触发模块的java方法。本实施例通过定义sql语句,支持用sql语句解析json格式的数据,相比用java、python等语言写代码来解析并存储复杂json格式的数据,本申请简单易用,只需具备简单的sql语法知识即可掌握;同时,通过定义java方法执行物理计划,支持分布式计算,对海量数据处理更快。
在其中一个实施例中,所述数据源选择模块210包括:字段数据提取单元,用于从json文件中提取包括字段名和与所述字段名对应字段值的字段数据;第一DSet数据集生成单元,用于将所述字段名和与所述字段名对应字段值的字段数据生成第一DSet数据集。
在其中一个实施例中,所述json数据存储装置,还包括:加载模块,用于将所述第一DSet数据集加载到内存中。
在其中一个实施例中,所述字段选择模块220包括:指定字段数据获取单元,用于根据指定字段的字段名从所述第一DSet数据集中获取指定字段数据;其中,所述指定字段包括字段名和字段值;第二DSet数据集生成单元,用于将所述指定字段数据生成第二DSet数据集。其中,每个字段的字段名是唯一的,用于区别于其它字段。
在其中一个实施例中,所述拉平字段模块230包括:字段值获取单元,用于从所述第二Dset数据集中获取每个指定字段的字段值;匹配单元,用于将当前字段的所述字段值与另一指定字段的字段值进行匹配后,再与另一指定字段的字段值进行匹配,直到所有指定字段的字段值匹配完毕,形成匹配数组;其中,所述匹配数组中的元素包括当前字段的所述字段值的匹配结果,所述元素中的字段值的个数相等;第三DSet数据集生成单元,用于将所述匹配数组生成第三DSet数据集。
在其中一个实施例中,所述插入模块240包括:元素字段值获取单元,用于获取所述第三DSet数据集中所述匹配数组中的每个元素的字段值和所述字段值在所述元素中的顺序;关联存储单元,用于将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储。
在其中一个实施例中,所述关联存储单元包括:第一插入子单元,用于将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序插入数据表中;第二插入子单元,用于将所述字段值对应的字段名按照所述字段值在所述元素中的顺序插入所述数据表中。
关于json数据存储装置的具体限定可以参见上文中对于json数据存储方法的限定,在此不再赘述。上述json数据存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储第三DSet数据集中的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种json数据存储方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
将json文件中的数据转换成第一DSet数据集;
将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;
将所述第三DSet数据集中的数据按照字段名进行保存。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
将json文件中的数据转换成第一DSet数据集;
将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
将所述第二Dset数据集中的多个指定字段的字段值逐一匹配生成第三DSet数据集;其中,所述第三DSet数据集包括多个匹配结果,所述多个匹配结果中的字段值的个数相等;
将所述第三DSet数据集中的数据按照字段名进行保存。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种json数据存储方法,其特征在于,所述方法包括:
从json文件中提取包括字段名和与所述字段名对应字段值的字段数据;将所述字段名和与所述字段名对应字段值的字段数据生成第一DSet数据集;
将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
从所述第二Dset数据集中获取每个指定字段的字段值;将当前字段的所述字段值与另一指定字段的字段值进行匹配后,再与另一指定字段的字段值进行匹配,直到所有指定字段的字段值匹配完毕,形成匹配数组;其中,所述匹配数组中的元素包括当前字段的所述字段值的匹配结果,所述元素中的字段值的个数相等;将所述匹配数组生成第三DSet数据集;
获取所述第三DSet数据集中所述匹配数组中的每个元素的字段值和所述字段值在所述元素中的顺序;将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储。
2.根据权利要求1所述的方法,其特征在于,在所述将所述字段名和与所述字段名对应字段值的数据生成第一DSet数据集之后,还包括:
将所述第一DSet数据集加载到内存中。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集包括:
根据指定字段的字段名从所述第一DSet数据集中获取指定字段数据;其中,所述指定字段包括字段名和字段值;
将所述指定字段数据生成第二DSet数据集。
4.根据权利要求1所述的方法,其特征在于,所述将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储步骤包括:
将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序插入数据表中;
将所述字段值对应的字段名按照所述字段值在所述元素中的顺序插入所述数据表中。
5.一种json数据存储装置,其特征在于,所述装置包括:
数据源选择模块,用于从json文件中提取包括字段名和与所述字段名对应字段值的字段数据;将所述字段名和与所述字段名对应字段值的字段数据生成第一DSet数据集;
字段选择模块,用于将所述第一DSet数据集中的指定字段数据取出生成第二DSet数据集;其中,所述指定字段包括字段名和字段值;
拉平字段模块,用于从所述第二Dset数据集中获取每个指定字段的字段值;将当前字段的所述字段值与另一指定字段的字段值进行匹配后,再与另一指定字段的字段值进行匹配,直到所有指定字段的字段值匹配完毕,形成匹配数组;其中,所述匹配数组中的元素包括当前字段的所述字段值的匹配结果,所述元素中的字段值的个数相等;将所述匹配数组生成第三DSet数据集;
插入模块,用于获取所述第三DSet数据集中所述匹配数组中的每个元素的字段值和所述字段值在所述元素中的顺序;将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序与所述字段值对应的字段名关联存储。
6.根据权利要求5所述的装置,其特征在于,还包括加载模块,用于:将所述第一DSet数据集加载到内存中。
7.根据权利要求5所述的装置,其特征在于,所述字段选择模块包括:指定字段数据获取单元,用于根据指定字段的字段名从所述第一DSet数据集中获取指定字段数据;其中,所述指定字段包括字段名和字段值;第二DSet数据集生成单元,用于将所述指定字段数据生成第二DSet数据集。
8.根据权利要求5所述的装置,其特征在于,所述关联存储单元包括:第一插入子单元,用于将所述匹配数组中的每个元素的字段值按照所述字段值在所述元素中的顺序插入数据表中;第二插入子单元,用于将所述字段值对应的字段名按照所述字段值在所述元素中的顺序插入所述数据表中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010222358.4A CN111427893B (zh) | 2020-03-26 | json数据存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010222358.4A CN111427893B (zh) | 2020-03-26 | json数据存储方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427893A CN111427893A (zh) | 2020-07-17 |
CN111427893B true CN111427893B (zh) | 2024-07-02 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679452A (zh) * | 2013-12-02 | 2015-06-03 | 航天信息股份有限公司 | 一种税控系统中发票打印数据绑定方法 |
CN108268592A (zh) * | 2017-12-08 | 2018-07-10 | 中国平安财产保险股份有限公司 | 基于json数据的筛选方法、装置、服务器和存储介质 |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679452A (zh) * | 2013-12-02 | 2015-06-03 | 航天信息股份有限公司 | 一种税控系统中发票打印数据绑定方法 |
CN108268592A (zh) * | 2017-12-08 | 2018-07-10 | 中国平安财产保险股份有限公司 | 基于json数据的筛选方法、装置、服务器和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977110B (zh) | 数据清洗方法、装置及设备 | |
JP7026092B2 (ja) | 記述情報を決定する方法、装置、電子デバイス、コンピュータ可読媒体およびコンピュータプログラム | |
WO2021258848A1 (zh) | 数据字典生成方法、数据查询方法、装置、设备及介质 | |
US10169386B2 (en) | Devices and methods for processing network nodes | |
CN111984659B (zh) | 数据更新方法、装置、计算机设备和存储介质 | |
CN110083731B (zh) | 图像检索方法、装置、计算机设备及存储介质 | |
CN111427893B (zh) | json数据存储方法、装置、计算机设备和存储介质 | |
CN110188106B (zh) | 一种数据管理方法和装置 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN113343646B (zh) | 数据转换方法和装置 | |
CN111427893A (zh) | json数据存储方法、装置、计算机设备和存储介质 | |
CN114238334A (zh) | 异构数据编码、解码方法和装置、计算机设备和存储介质 | |
CN115203500A (zh) | 一种用户标签的丰富方法、装置、计算机设备和存储介质 | |
CN116702024B (zh) | 流水数据类型识别方法、装置、计算机设备和存储介质 | |
CN117435185A (zh) | 代码生成方法、装置、计算机设备和存储介质 | |
CN113806504B (zh) | 一种多维度报表数据计算方法、装置和计算机设备 | |
CN112364007B (zh) | 基于数据库的海量数据交换方法、装置、设备和存储介质 | |
CN112785320B (zh) | 信用风险的确定方法及装置、存储介质和电子设备 | |
CN110471901B (zh) | 数据导入方法及终端设备 | |
CN117609210A (zh) | 数据表处理方法、装置、计算机设备和存储介质 | |
CN116069991A (zh) | 服务器数据获取方法、装置、计算机设备和存储介质 | |
CN116483696A (zh) | 测试用例生成方法、装置、计算机设备和存储介质 | |
CN116401323A (zh) | 指标数据处理方法、装置及计算机设备 | |
CN115309770A (zh) | 基于自定义策略的数据分析方法、装置、设备和存储介质 | |
CN117251430A (zh) | 数据表验证方法、装置、设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |