一种数据处理方法、装置、电子设备及存储介质与流程

文档序号:21817679发布日期:2020-08-11 21:30阅读:241来源:国知局
一种数据处理方法、装置、电子设备及存储介质与流程

本申请涉及数据处理领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。



背景技术:

json是一种轻量级的数据交换格式,易于人阅读和编写;由于它的小巧所以网络传输数据将减少更多流量从而加快速度。由于json使用广泛使得json解析非常必要,以便程序可以顺利处理传入的数据。

json解析:目前json解析主要集中于处理已生成的json获取有用的数据值,以方便后续程序操作处理。各个编程语言都有json格式的解析以及生成,以作进一步的处理。json校验:目前已有的json校验主要针对于json格式正确性的校验。即json是否是符合jsonschema的正确数据,如果json格式不正确,会提示相应的错误,进而无法进行解析。

目前,json解析,都是从现成的json数据(json串)开始进行解析,没有json的生产过程。如果存在一个文档定义好了接口字段,需要程序逻辑来实现拼接后输出、或者手工拼写json,再用于后续处理,这个过程费时费力且非常容易出错。



技术实现要素:

为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据处理方法、装置、电子设备及存储介质。

第一方面,本申请提供了一种数据处理方法,包括:

接收基于网页导入的第一接口数据;

读取所述第一接口数据生成具有层级结构的第二接口数据;

将所述第二接口数据进行显示。

可选的,所述读取所述第一接口数据生成具有层级结构的第二接口数据,包括:

确定所述第一接口数据中的字段信息以及字段的层级结构关系;

根据所述字段信息以及所述层级结构关系生成所述第二接口数据;

所述参数信息包括:字段编码,字段名称以及校验规则。

可选的,所述方法还包括:

对所述第二接口数据进行解析得到可视化数据;

将所述第二接口数据与所述可视化数据进行同步显示。

可选的,所述对所述第二接口数据进行解析得到可视化数据,包括:

确定所述第二接口数据中的字段信息;

根据预设规则将所述字段信息映射为所述可视化数据;

所述字段信息包括:字段编码,字段名称以及校验规则。

可选的,所述方法还包括:

接收基于所述第二接口数据或所述可视化数据的输入信息;

对所述输入信息进行校验得到校验结果;

根据所述校验结果执行相应的处理操作。

可选的,所述根据所述校验结果执行相应的处理操作,包括:

当根据所述校验结果确定所述输入信息不符合校验规则时,生成相应的提示信息;

当根据所述校验结果确定所述输入信息不符合校验规则时,对所述输入信息进行修正。

可选的,所述根据所述校验结果执行相应的处理操作,包括:

当根据所述校验结果确定所述输入信息符合校验规则时,确定所述输入信息对应的字段信息;

将所述输入信息同步至所述可视化数据,或所述第二接口数据中所述字段信息对应的位置。

第二方面,本申请实施例还提供了一种数据处理装置,包括:

接收模块,用于接收基于网页导入的第一接口数据;

生成模块,用于读取所述第一接口数据生成具有层级结构的第二接口数据;

显示模块,用于将所述第二接口数据进行显示。

第三方面,本申请提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行计算机程序时,实现上述方法步骤。

第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。

本申请实施例提供的上述技术方案与现有技术相比具有如下优点:通过根据接收第一接口数据自动生成具有层级结构的第二接口数据,降低了系统的使用成本,例如:避免了采用应用程序拼接或工作人员手动拼写接口入参;生成的接口数据直接可以通过界面进行维护,降低了后期的维护成本。同时还能为后续的开发调试或测试联调节省时间成本。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

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

图1为本申请实施例提供的一种电子设备的示意图;

图2为本申请实施例提供的一种数据处理方法的流程图;

图3为本申请实施例提供的第一接口数据的示意图;

图4为本申请实施例提供的第二接口数据与可视化数据同步显示的示意图;

图5为本申请另一实施例提供的一种数据处理方法的流程图;

图6为本申请实施例提供的一种数据处理装置的框图。

具体实施方式

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

本申请实施例提供了一种数据处理方法、装置、电子设备以及存储介质,本申请实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。

图1为本申请实施例提供的一种电子设备的示意图,如图1所示,电子设备100可以包括存储器110、处理器120、通信单元130、存储控制器140以及显示单元150。存储器110、处理器120、通信单元130、存储控制器140以及显示单元150相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110中存储有数据处理装置200,数据处理装置200包括至少一个可以软件或固件(firmware)的形式存储于存储器110中的软件功能模块,处理器120通过运行存储在存储器110内的软件程序以及模块,如本发明实施例中的数据处理装置200,从而执行各种功能应用以及数据处理,即实现本发明实施例中的页面逻辑控制方法。

其中,存储器110可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器110可进一步包括相对于处理器120远程设置的存储器,这些远程存储器可以通过网络连接至电子设备100。上述网络的实例可以包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器120以及其他可能的组件对存储器110的访问可在存储控制器140的控制下进行。进一步地,通信单元130将各种输入/输入装置耦合至处理器120以及存储器110,上述存储器110内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。

处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的处理器120可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器120也可以是任何常规的处理器等。

通信单元130可以用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者电子设备100进行通讯。通信单元130可与各种网络,如互联网、企业内部网、无线网络进行通讯或者通过无线网络与电子设备100进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统、增强型移动通信技术、宽带码分多址技术,码分多址技术、时分多址技术、蓝牙、无线保真技术、网络电话、全球微波互联接入、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

显示单元150可以用于提供一个交互界面(例如用户操作界面)或用于显示接口数据文件以及可视化数据。本实施例中,显示单元150可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处产生的触控操作,并将该感应到的触控操作交由处理器120进行计算和处理。

本实施例中,电子设备100可以包括一数据处理装置,该装置包括:接收模块,生成模块以及显示模块。其中,接收模块,用于接收第一接口数据;生成模块,用于根据第一接口数据生成具有层级结构的第二接口数据;显示模块,用于将第二接口数据进行显示。

以下实施例具体介绍本申请提供的一种数据处理方法,本申请实施例提供的数据处理方法,基于前端以及后端实现。需要说明的是,后端为基于springboot的web服务及其配套数据库,主要提供接口调用服务给前端,前端为基于vue.js(用于构建用户界面的渐进式javascript框架)的服务。前后端分别部署后,用户在前端web页面操作。用户从前端页面导入符合规定规则的各接口字段的excel表格,后端程序解析后存入数据库。用户再点击前端页面,后端自动生成数据,返回给前端,前端按照规则展示成可视化数据(包括文本框,下拉选择,复选框,单选框等)和第二接口数据(json初始化数据),其中可视化数据和第二接口数据是双向联动的,可视化数据可以是表单,例如:在表单输入各字段数据,会实时生成json数据;在第二接口数据中json数据对应字段输入参数,会实时填入表单对应字段。

图2为本申请实施例提供的一种数据处理方法的流程图。如图2所示,该方法包括以下步骤:

步骤s11,接收基于网页导入第一接口数据;

本实施例中,用户基于前端网页导入符合设定规则的入参文件,入参文件中包括:第一数接口数据,其中入参文件可以是以excel表格形导入。其中,第一接口数据中包括:参数信息,参数的层级结构关系。其中,参数信息包括:参数编码,参数名称以及校验规则;参数的层级结构关系可以是父子关系或多级关系。

图3为本申请实施例提供的第一接口数据的示意图,如图3所示,其中,参数编码“paymerchant”其对应的参数名称为“收款账户”,参数编码“merchantorderid”,其对应的参数名称为“交易流水号”,参数编码“amount”,其对应的参数名称为“交易金额”,参数编码“tradetime”,其对应的参数名称为“交易时间”等等。

如图3所示,参数编码“activitycode”、“couponchannel”以及“couponkey”的上级参数编码为“couponinfo”,由此确认“activitycode”、“couponchannel”以及“couponkey”与“couponinfo”的层级关系为父子关系。

如图3所示,校验规则包括:是否必填(required),参数类型(例如参数的长度为32位,16位等),定向选择(enum),时间格式校验(timerule),金额格式校验(moneyrule),例如金额格式校验为decimal(10,2)指定总长度10位,小数点2位。

步骤s12,读取第一接口数据生成具有层级结构的第二接口数据;

本实施例中通过根据接收第一接口数据自动生成具有层级结构的第二接口数据,避免了采用应用程序拼接或工作人员手动拼写接口入参。同时保证数据之间的层级关系,不再需要工作人员对生成后的数据进行调整。

作为一个示例,当第一接口数据导入成功后,后端读取第一接口数据,并生成具有层级结构的第二接口数据,通过确定第一接口数据中的参数信息以及参数的层级结构关系,根据参数信息以及层级结构关系生成第二接口数据,其中,参数信息包括:参数编码,参数名称以及校验规则。

本实施例中,在生成具有层级结构的第二接口数据后,将第二接口数据发送至前端,第二格式可以是jsonschema(json串)。

json:英文全称为javascriptobjectnotation,是一种轻量级的数据交换格式。它基于ecmascript的一个子集。json采用完全独立于语言的文本格式,但是也使用了类似于c语言家族的习惯(包括c、c++、c#、java、javascript、perl、python等)。

步骤s13,将第二接口数据进行显示。

当前端接收到后端发送的第二接口数据后,可以直接将第二接口数据进行显示。

另外,还可以将对第二接口数据进行解析得到可视化数据,将第二接口数据与可视化数据进行同步显示。

作为一个示例,前端对第二接口数据进行解析得到可视化数据,具体实现步骤如下,确定第二接口数据中的参数信息,根据预设规则将参数信息映射为可视化数据。根据预设规则将参数信息映射为可视化数据,可以是确定该参数编码对应的参数名称,以及各个参数之间的层级关系,根据参数之间相应的层级关系将参数名称显示于第一指定区域,同时将参数名称对应的参数值显示于第二指定区域,最终得到可视化数据。

本实施例通过根据接收第一接口数据自动生成具有层级结构的第二接口数据,降低了系统的使用成本,例如:避免了采用应用程序拼接或工作人员手动拼写接口入参;同时后期可以直接通过界面对接口数据进行维护。同时还能为后续的开发调试或测试联调节省时间成本。

图4为本申请实施例提供的第二接口数据与可视化数据同步显示的示意图,如图4所示,左侧为json数据即第二接口数据,右侧为根据json数据映射得到的可视化表单,此时,表单中各个字段名称对应的内容为空,json数据中的字段编码对应的内容为空。

在实现本申请的过程中,发明人还发现json校验仅校验json格式的正确性,即符合jsonschema的json数据,未校验json各字段业务规则的正确性,针对各产品需求中涉及的接口字段不能做具体的字段业务规则校验,无法及时提示使用者不合格字段,只能在程序运行时再去发现错误,在软件开发,测试,联调过程中消耗较多的人力成本。

为此本申请另一实施例还提供了一种数据处理方法,图5为本申请另一实施例提供的一种数据处理方法的流程图。如图5所示,该方法包括以下步骤:

步骤s21,接收基于第二接口数据或可视化数据的输入信息;

本实施例中,接收基于第二接口数据或可视化数据的输入信息,可以是:用户在第二接口数据中输入json数据,或者,用户在可视化数据中输入各个字段对应的内容。

步骤s22,对输入信息进行校验得到校验结果;

当确定输入信息后,对输入信息按照预设的校验规则对输入信息进行校验,预设校验规则包括:是否必填(required),参数类型(例如参数的长度为32位,16位等),定向选择(enum),时间格式校验(timerule),金额格式校验(moneyrule),例如金额格式校验为decimal(10,2)指定总长度10位,小数点2位。可以理解的,对输入的json数据是否为正确的json数据,或者判断各个字段对应的内容是否符合指定长度,或者判断各个字段对应的内容是否符合指定精度。

步骤s23,根据校验结果执行相应的处理操作。

本实施例中通过对输入信息进行校验得到校验结果,根据校验结果执行相应的处理操作,减少了调试过程中由于不符合规范引发的问题,同时不再需要工作人员手动对接口数据以及可视化数据格式进行校验,从而节约了开发,联调,测试的成本。

本实施例中,根据校验结果执行相应的处理操作,包括:根据校验结果确定输入信息不符合校验规则时,生成相应的提示信息。

例如:输入信息中各个字段对应的内容不符合指定长度,则提示用户当前字段对应的指定长度。或者输入信息中各个字段对应的内容不符合指定精度,则提示用户当前字段对应的指定精度。

或者,当根据校验结果确定输入信息不符合校验规则时,对输入信息进行修正。例如:输入信息中某些指定字段对应的内容出现拼写错误,即与预设内容部分相同,则确认出现拼写错误,此时对输入信息进行修正。

本实施例中,根据校验结果执行相应的处理操作,还包括:当根据校验结果确定输入信息符合校验规则时,确定输入信息对应的字段信息,将输入信息同步至可视化数据,或第二接口数据中字段信息对应的位置。

例如:用户在可视化数据中输入各字段的内容,输入过程中会实时提示各字段的校验规则,不符合校验规则的给出相应的提示,输入完成,并通过校验后,用户可以在第二接口数据中拿到自动生成的json数据,开发人员可以用于开发阶段的接口调用。测试人员可以用于测试。开发测试人员共同可以用于程序上线前的联调测试等。

或者,用户也可以在第二接口数据中粘贴程序生成的json数据,当在校验json本身是正确json数据后,将生成的json数据填入可视化数据中对应的位置。

如有不符合校验规则的字段,则会给出错误提示。用户以此可以在可视化数据中更正错误的字段,此时,第二接口数据会自动生成新的json数据。用户可以基于此修正自己的程序实现,也可以拿着正确的json数据用于下一步的接口调用。

本实施例通过可以对json数据做基本格式检查,以及字段是否必填,下拉选择选项提供度校验,日期校验,金额校验等业务规则校验,减少开发,测试,联调过程中json数据准备阶段的一些错误,加快软件开发,测试,联调进度。

图6为本申请实施例提供的一种数据处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。

如图6所示,该装置包括:

接收模块51,用于接收基于网页导入的第一接口数据;

生成模块52,用于读取第一接口数据生成具有层级结构的第二接口数据;

显示模块53,用于将第二接口数据进行显示。

可选的,生成模块52,具体用于确定第一接口数据中的字段信息以及字段的层级结构关系;根据字段信息以及层级结构关系生成第二接口数据;参数信息包括:字段编码,字段名称以及校验规则。

本实施例中的装置还包括还处理模块,处理模块包括:解析子模块,用于对第二接口数据进行解析得到可视化数据;显示子模块,用于将第二接口数据与可视化数据进行同步显示。

本实施例中的解析子模块,具体用于确定第二接口数据中的字段信息;根据预设规则将字段信息映射为可视化数据;字段信息包括:字段编码,字段名称以及校验规则。

本实施例中的装置还包括还包括校验模块,用于接收基于第二接口数据或可视化数据的输入信息;对输入信息进行校验得到校验结果;根据校验结果执行相应的处理操作。

本实施例中的执行子模块,具体用于当根据校验结果确定输入信息不符合校验规则时,生成相应的提示信息;当根据校验结果确定输入信息不符合校验规则时,对输入信息进行修正。

本实施例中的执行子模块,还具体用于当根据校验结果确定输入信息符合校验规则时,确定输入信息对应的字段信息;将输入信息同步至可视化数据,或第二接口数据中字段信息对应的位置。

需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例步骤。

计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令进行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于进行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上进行、部分地在用户设备上进行、作为一个独立的软件包进行、部分在用户计算设备上部分在远程计算设备上进行、或者完全在远程计算设备或服务器上进行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

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