发明内容
本申请的主要目的为提供一种数据处理方法、装置、计算机设备和存储介质,旨在解决现有技术中数据调用过程中无法对数据进行自动统计分析的问题。
为实现上述目的,本申请提出一种数据处理方法,包括:
从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性,所述前端输出属性用于指示数据处理结果在前端页面的展示方式,所述业务属性用于指示业务类型;
配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;
分别生成各所述目标数据属性对应的数据请求指令;
分别发送各所述数据请求指令至数据服务器;
分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;
分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据;
汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;
发送所述业务数据至所述前端页面。
进一步地,所述分别发送各所述数据请求指令至数据服务器的步骤,包括:
分别建立与各所述目标数据属性对应的请求线程,其中,所述请求线程用于向所述数据服务器请求与所述目标数据属性对应的分组数据;
获取各所述请求线程之间的关系,所述关系包括并行关系和依赖关系;
根据各所述请求线程之间的关系,配置各所述请求线程的执行顺序;
根据各所述请求线程的执行顺序分别发送各所述数据请求指令至所述数据服务器。
进一步地,所述资源还包括各所述目标数据属性分别对应的条件参数,所述分别生成各所述目标数据属性对应的数据请求指令的步骤,包括:
将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数,其中,所述转译后的条件参数的格式适用于所述数据服务器;
分别生成与各所述目标数据属性对应的数据请求指令,其中,所述数据请求指令中携带所述转译后的条件参数。
进一步地,所述将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数的步骤前,还包括:
调用预设的权限校验模型对所述指定目标数据属性进行权限校验;
若所述指定目标数据属性通过权限校验,则执行将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数。
进一步地,所述分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据的步骤,包括:
分别按照预设数据清洗规则,对各所述目标数据属性对应的分组数据进行数据清洗,获得各所述目标数据属性对应的第一分组数据;
分别按照各所述目标数据属性对应的所述统计规则,统计各所述目标数据属性对应的第一分组数据,生成各所述目标数据属性对应的分组业务数据。
进一步地,所述汇总全部所述分组业务数据,生成业务数据的步骤前,包括:
分别保存各所述分组业务数据;
判断是否已获取全部所述分组业务数据;
若是,则执行汇总全部所述分组业务数据,生成业务数据。
进一步地,所述汇总全部所述分组业务数据,生成业务数据的步骤,包括:
根据与所述前端输出属性匹配的匹配规则,将各所述分组业务数据进行合并,获得合并数据;
将所述合并数据的格式根据第二转译方式进行转译,得到所述业务数据,所述业务数据的格式适用于所述前端页面。
本申请还提供了一种数据处理装置,包括:
前端指令获取单元,用于从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性,所述前端输出属性用于指示数据处理结果在前端页面的展示方式,所述业务属性用于指示业务类型;
资源配置单元,用于配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;
指令生成单元,用于分别生成各所述目标数据属性对应的数据请求指令;
指令发送单元,用于分别发送各所述数据请求指令至数据服务器;
分组数据获取单元,用于分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;
分组数据统计单元,用于分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据;
业务数据获取单元,用于汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;
业务数据发送单元,用于发送所述业务数据至所述前端页面。
本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的有益效果:
本申请中提供的数据处理方法、装置、计算机设备和存储介质,首先,从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性;然后配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;再分别生成各所述目标数据属性对应的数据请求指令;并分别发送各所述数据请求指令至数据服务器;然后分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;再分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,获得各所述目标数据属性对应的分组业务数据;汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;最后发送所述业务数据至所述前端页面;这样实现了在数据调用过程中的数据统计分析,有利于大大提高人员工作效率。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的方法由中间件执行,实施例的各个装置封装于中间件内,中间件从数据服务器获取数据,并将数据进行处理后发送给前端页面。
参照图1,本申请一实施例中提供了一种数据处理方法,包括:
S1、从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性,所述前端输出属性用于指示数据处理结果在前端页面的展示方式,所述业务属性用于指示业务类型;
S2、配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;
S3、分别生成各所述目标数据属性对应的数据请求指令;
S4、分别发送各所述数据请求指令至数据服务器;
S5、分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;
S6、分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据;
S7、汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;
S8、发送所述业务数据至所述前端页面。
上述步骤S1中,通过中间件接收上述业务分析指令。上述业务分析指令由用户在前端页面进行发送。上述前端输出属性用于指示数据处理结果在前端页面的展示方式,前端输出属性可以由用户在前端页面进行设置。上述业务属性用于指示业务类型,业务属性由用户根据业务需要在前端页面进行设置。业务分析指令中携带前端输出属性和业务属性,中间件接收上述业务分析指令后,分析处理业务属性所对应的数据;再按照前端输出属性的要求,将数据处理结果展示在前端页面。例如,用户希望获取企业的最新债务情况,想要将不同类型的企业债务的金额在一张柱状图中进行对比,并将不同类型的企业债务的金额比例在一张饼图中进行对比,则用户在前端页面的业务属性中输入或选择<企业的最新债务情况>,并在前端页面的业务属性中输入或选择<不同类型的企业债务的金额><柱状图>,<不同类型的企业债务的金额比例><饼图>;则其中,前端输出属性为两个,一个为不同类型的企业债务的金额的柱状图,另一个为不同类型的企业债务的金额比例的饼图,业务属性即为企业的最新债务情况。
上述步骤S2中,配置业务属性对应的资源指的是中间件对业务属性进行分析,提取业务属性中所包含的目标数据属性,以及各目标数据属性分别对应的统计规则。以中间件获取的业务属性为<企业的最新债务情况>为例,中间件根据预先编辑好的业务适配规则,将债务分为国企债务、隐形债务、政务性债务,其中国企债务为各项国企债务之和,隐形债务为各项隐形债务之和,政务性债务为各项政务性债务之和;则其中,上述目标数据属性为各项国企债务、各项隐形债务、各项政务性债务,各项国企债务对应的统计规则为对各项国企债务金额进行求和,各项隐形债务对应的统计规则为对各项隐形债务金额进行求和,各项政务性债务对应的统计规则为对各项政务性债务金额进行求和。
上述步骤S3~S5中,针对各个目标数据属性,中间件分别生成对应的数据请求指令,向数据服务器分别请求与各个目标数据属性对应的分组数据。例如,中间件根据目标数据属性(如,各项国企债务)生成对应的数据请求指令(如,向数据服务器请求各项国企债务数据)。在数据服务器中,对于每个目标数据属性对应的分组数据都先预先设置了对应的查询位置,如,查询位置设置为每个分组数据的URL(统一资源定位符)。数据服务器收到目标数据属性的数据请求指令后,从与目标数据属性对应的URL获取分组数据,数据服务器再将每个分组数据分别传送给中间件。
上述步骤S6中,中间件在每获取完一组分组数据后,就对该组分组数据按照对应的统计规则进行统计,例如,中间件获取了各项国企债务的分组数据后,就按照对应的统计规则对各项国企债务金额进行求和,得到国企债务金额,即为国企债务对应的分组业务数据,无需等到所有分组数据获取完再进行统计。中间件分别将各组分组业务数据暂存。
上述步骤S7中,中间件获取全部的分组业务数据后,将各组分组业务数据汇总为与上述前端输出属性相匹配的业务数据,数据汇总方法与前端输出属性之间的匹配规则在中间件开发阶段进行预先设置。例如,前端输出属性为两个,一个为不同类型的企业债务的金额的柱状图,另一个为不同类型的企业债务的金额比例的饼图:对于柱状图,则将国企债务金额、隐形债务金额、政务性债务金额分别填入数据表格中的对应位置即可;对于饼图,则需要先计算国企债务金额、隐形债务金额、政务性债务金额分别的占比(如国企债务金额占比=国企债务金额/(国企债务金额+隐形债务金额+政务性债务金额)),再将各自的占比分别填入数据表格中的对应位置。
上述步骤S8中,中间件将处理后的业务数据发送给前端页面,前端页面接收到数据后,进行对应图表的显示。
本申请的上述方法用于在数据调用过程中对数据的统计分析。用户在前端页面发送业务分析指令后,其中业务分析指令中携带前端输出属性和业务属性;中间件获取到业务分析指令,对业务属性进行资源配置,配置出对应的至少一个目标数据属性和各目标数据属性对应的统计规则;再对各目标数据属性分别生成对应的数据请求指令,发送给数据服务器;数据服务器接收到数据请求指令后,查询数据请求指令所对应的分组数据,并把分组数据发送给中间件;中间件对各分组数据按照对应的统计规则分别进行统计,生成各目标数据属性对应的分组业务数据;中间件再将各组分组业务数据进行汇总后生成业务数据,将业务数据发送给前端页面;则前端页面直接根据业务数据呈现与前端输出属性对应的图表等。这样,在数据调用过程中,实现了数据统计分析,用户无需再人工进行分析,大大提高了分析效率。如果新增了业务类型,只需要在中间件中增加对应的业务属性的资源配置规则、目标数据属性对应的查询位置、统计规则等预设规则即可,也大大减轻了中间件开发人员的开发工作,提高中间件开发效率。
在一个实施例中,上述分别发送各所述数据请求指令至数据服务器的步骤S4,包括:
S401、分别建立与各所述目标数据属性对应的请求线程,其中,所述请求线程用于向所述数据服务器请求与所述目标数据属性对应的分组数据;
S402、获取各所述请求线程之间的关系,所述关系包括并行关系和依赖关系;
S403、根据各所述请求线程之间的关系,配置各所述请求线程的执行顺序;
S404、根据各所述请求线程的执行顺序分别发送各所述数据请求指令至所述数据服务器。
本实施例中,上述步骤S401中,对于每个目标数据属性分别建立对应的请求线程,例如,目标数据属性包括各项国企债务、各项隐形债务、各项政务性债务,则分别建立对应的请求线程,各项国企债务对应请求线程1,各项隐形债务对应请求线程2,各项政务性债务对应请求线程3。
上述步骤S402中,中间件进行多个请求线程时,首先获取各个不同的请求线程之间的关系。不同的请求线程之间可能会具有依赖关系,即比如某一个请求线程需要根据另一个请求线程的数据才能开始;也可能是并行关系,即各个线程之间彼此独立,可以同时进行。
上述步骤S403中,根据上述并行关系和依赖关系,确定各个请求线程的优先级。对于互相并行的请求线程优先级相同,可以同时进行;对于互相依赖的请求线程设置不同优先级,依赖于另一个请求线程的数据才能开始的请求线程的优先级较低;根据各所述请求线程的优先级配置各所述请求线程的执行顺序,优先级最高的请求线程最先开始,具有依赖关系的请求线程依序根据前序线程的结束再开始,具有并行关系的请求线程同时进行。
上述步骤S404中,根据各请求线程的执行顺序依序将各个线程对应的数据请求指令发送给数据服务器,向数据服务器请求对应的数据。
在一个实施例中,上述资源还包括各所述目标数据属性分别对应的条件参数,上述分别生成各所述目标数据属性对应的数据请求指令的步骤S3,包括:
S301、将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数,其中,所述转译后的条件参数的格式适用于所述数据服务器;
S302、分别生成与各所述目标数据属性对应的数据请求指令,其中,所述数据请求指令中携带所述转译后的条件参数。
本实施例中,上述条件参数在配置业务属性时提取而得。以中间件获取的业务属性为<企业的最新债务情况>为例,在配置业务属性时,根据“最新债务情况”自动生成对应的查询时间为当年当月,例如2018年12月。
中间件对条件参数的格式进行转译,由于条件参数是从业务属性中进行提取而得的,而业务属性是从前端页面进行输入或选择的,条件参数的数据格式与前端页面的数据格式一致,与数据服务器识别的数据格式有可能存在不一致的情况,数据服务器无法直接识别,因此需要将条件参数的格式转译成数据服务器可以识别的数据格式。上述第一转译方式包括依据预设字典的转译方式,具体地,在预设字典中预存了适用于前端页面的各个参数的数据格式和适用于数据服务器的各个参数的数据格式的一一对应关系,例如预设字典中,存储了前端页面的时间数据格式为“xxxx年xx月”,数据服务器的时间数据格式为“xxxx/xx”,上述第一转译方式即为将条件参数的数据格式,根据预设字典进行匹配,转译成数据库可识别的数据格式。
在一个实施例中,上述将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数的步骤S301前,还包括:
S303、调用预设的权限校验模型对所述指定目标数据属性进行权限校验;
S304、若所述指定目标数据属性通过权限校验,则执行将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数。
本实施例中,通过权限校验可以防止有不合规参数,例如,如果从前端页面发送的业务属性中包含无效的目标数据属性,则通过权限校验就可以判定该请求无效,不再对该无效的目标数据属性生成对应的数据请求指令,无需再与数据服务器进行交互。例如,债务类型包括国企债务,隐形债务,政务性债务这三种,如果前端页面发送的业务分析指令中,要求分析四种债务类型,则在生成的四个请求线程中,有一个请求线程则无法通过预设的权限校验模型的权限校验。权限校验模型在中间件开发时进行预先编写,权限校验模型中保存有预先写入的与目标数据属性对应的权限校验参数。
在一个实施例中,上述分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据的步骤S6,包括:
S601、分别按照预设数据清洗规则,对各所述目标数据属性对应的分组数据进行数据清洗,获得各所述目标数据属性对应的第一分组数据;
S602、分别按照各所述目标数据属性对应的所述统计规则,统计各所述目标数据属性对应的第一分组数据,生成各所述目标数据属性对应的分组业务数据。
本实施例通过步骤S601~S602,实现对分组数据进行基本的数据分析。上述数据清洗包括数据比对、异常数据剔除、数据补充、数据过滤,获得符合预设数据要求的第一分组数据。数据清洗可以采用现有的数据清洗方法,本发明在此不做赘述。中间件对清洗完的数据按照对应的统计规则进行统计,例如,中间件获取了各项国企债务的分组数据后,就按照对应的统计规则对各项国企债务金额进行求和,得到国企债务金额,即为国企债务对应的分组业务数据。
在一个实施例中,上述汇总全部所述分组业务数据,生成业务数据的步骤S7前,包括:
S071、分别保存各所述分组业务数据;
S072、判断是否已获取全部所述分组业务数据;
S073、若是,则执行汇总全部所述分组业务数据,生成业务数据。
本实施例中,中间件将获得的分组业务数据分别进行保存。例如,如果请求线程1的分组业务数据已经获取,请求线程2的数据还在获取中,则请求线程1将获取的分组业务数据先保存,并进入等待过程,等所有请求线程的数据均获取完毕,将所有保存的数据进行汇总,生成业务数据。
在一个实施例中,上述汇总全部所述分组业务数据,生成业务数据的步骤S7,包括:
S701、根据与所述前端输出属性匹配的匹配规则,将各所述分组业务数据进行合并,获得合并数据;
S702、将所述合并数据的格式根据第二转译方式进行转译,得到所述业务数据,所述业务数据的格式适用于所述前端页面。
本实施例中,步骤S701中,上述与所述前端输出属性匹配的匹配规则,在中间件开发阶段进行预先设置;也可以随着前端页面的输出属性的增加,在中间件中新增加对应的匹配规则。例如前端输出属性为两个,一个为不同类型的企业债务的金额的柱状图,另一个为不同类型的企业债务的金额比例的饼图:对于柱状图,则将国企债务金额、隐形债务金额、政务性债务金额分别填入数据表格中的对应位置即可;对于饼图,则需要先计算国企债务金额、隐形债务金额、政务性债务金额分别的占比(如国企债务金额占比=国企债务金额/(国企债务金额+隐形债务金额+政务性债务金额)),再将各自的占比分别填入数据表格中的对应位置。
步骤S702中,中间件对合并数据的格式进行转译,由于合并数据的格式是数据服务器可以识别的数据格式,与前端页面可以识别的数据格式可能存在不一致的情况,前端页面无法直接识别,因此需要将合并数据的格式转译成前端页面可以识别的格式。与上述第一转译方式相似,上述第二转译方式包括依据预设字典的转译方式,具体地,在预设字典中预存了适用于数据服务器的各个参数的数据格式和适用于前端页面的各个参数的数据格式的一一对应关系。上述第二转译方式即为将合并数据的数据格式,根据预设字典进行匹配,转译成前端页面可识别的数据格式。
参照图2,本申请一实施例中提供了一种数据处理装置,包括:
前端指令获取单元10,用于从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性,所述前端输出属性用于指示数据处理结果在前端页面的展示方式,所述业务属性用于指示业务类型;
资源配置单元20,用于配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;
指令生成单元30,用于分别生成各所述目标数据属性对应的数据请求指令;
指令发送单元40,用于分别发送各所述数据请求指令至数据服务器;
分组数据获取单元50,用于分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;
分组数据统计单元60,用于分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据;
业务数据获取单元70,用于汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;
业务数据发送单元80,用于发送所述业务数据至所述前端页面。
上述前端指令获取单元10接收上述业务分析指令。上述业务分析指令由用户在前端页面进行发送。上述前端输出属性用于指示数据处理结果在前端页面的展示方式,前端输出属性可以由用户在前端页面进行设置。上述业务属性用于指示业务类型,业务属性由用户根据业务需要在前端页面进行设置。业务分析指令中携带前端输出属性和业务属性,中间件接收上述业务分析指令后,分析处理业务属性所对应的数据;再按照前端输出属性的要求,将数据处理结果展示在前端页面。例如,用户希望获取企业的最新债务情况,想要将不同类型的企业债务的金额在一张柱状图中进行对比,并将不同类型的企业债务的金额比例在一张饼图中进行对比,则用户在前端页面的业务属性中输入或选择<企业的最新债务情况>,并在前端页面的业务属性中输入或选择<不同类型的企业债务的金额><柱状图>,<不同类型的企业债务的金额比例><饼图>;则其中,前端输出属性为两个,一个为不同类型的企业债务的金额的柱状图,另一个为不同类型的企业债务的金额比例的饼图,业务属性即为企业的最新债务情况。
上述资源配置单元20中,配置业务属性对应的资源指的是资源配置单元20对业务属性进行分析,提取业务属性中所包含的目标数据属性,以及各目标数据属性分别对应的统计规则。以资源配置单元20获取的业务属性为<企业的最新债务情况>为例,资源配置单元20根据预先编辑好的业务适配规则,将债务分为国企债务、隐形债务、政务性债务,其中国企债务为各项国企债务之和,隐形债务为各项隐形债务之和,政务性债务为各项政务性债务之和;则其中,上述目标数据属性为各项国企债务、各项隐形债务、各项政务性债务,各项国企债务对应的统计规则为对各项国企债务金额进行求和,各项隐形债务对应的统计规则为对各项隐形债务金额进行求和,各项政务性债务对应的统计规则为对各项政务性债务金额进行求和。
上述指令生成单元30、指令发送单元40和分组数据获取单元50中,针对各个目标数据属性,指令生成单元30分别生成对应的数据请求指令,向数据服务器分别请求与各个目标数据属性对应的分组数据。例如,指令生成单元30根据目标数据属性(如,各项国企债务)生成对应的数据请求指令(如,向数据服务器请求各项国企债务数据)。在数据服务器中,对于每个目标数据属性对应的分组数据都先预先设置了对应的查询位置,如,查询位置设置为每个分组数据的URL(统一资源定位符)。数据服务器收到指令发送单元40发送的目标数据属性的数据请求指令后,从与目标数据属性对应的URL获取分组数据,数据服务器再将每个分组数据分别传送给分组数据获取单元50。
上述分组数据统计单元60中,分组数据统计单元60在每获取完一组分组数据后,就对该组分组数据按照对应的统计规则进行统计,例如,分组数据统计单元60获取了各项国企债务的分组数据后,就按照对应的统计规则对各项国企债务金额进行求和,得到国企债务金额,即为国企债务对应的分组业务数据,无需等到所有分组数据获取完再进行统计。分组数据统计单元60分别将各组分组业务数据暂存。
上述业务数据获取单元70中,业务数据获取单元70获取全部的分组业务数据后,将各组分组业务数据汇总为与上述前端输出属性相匹配的业务数据,数据汇总方法与前端输出属性之间的匹配规则在中间件开发阶段进行预先设置。例如,前端输出属性为两个,一个为不同类型的企业债务的金额的柱状图,另一个为不同类型的企业债务的金额比例的饼图:对于柱状图,则将国企债务金额、隐形债务金额、政务性债务金额分别填入数据表格中的对应位置即可;对于饼图,则需要先计算国企债务金额、隐形债务金额、政务性债务金额分别的占比(如国企债务金额占比=国企债务金额/(国企债务金额+隐形债务金额+政务性债务金额)),再将各自的占比分别填入数据表格中的对应位置。
上述业务数据发送单元80用于将处理后的业务数据发送给前端页面,前端页面接收到数据后,进行对应图表的显示。
本申请中,上述装置用于在数据调用过程中对数据的统计分析。用户在前端页面发送业务分析指令后,其中业务分析指令中携带前端输出属性和业务属性;资源配置单元20获取到业务分析指令,对业务属性进行资源配置,配置出对应的至少一个目标数据属性和各目标数据属性对应的统计规则;指令生成单元30再对各目标数据属性分别生成对应的数据请求指令,通过指令发送单元40发送给数据服务器;数据服务器接收到数据请求指令后,查询数据请求指令所对应的分组数据,并把分组数据发送给分组数据获取单元50;分组数据统计单元60对各分组数据按照对应的统计规则分别进行统计,生成各目标数据属性对应的分组业务数据;业务数据获取单元70再将各组分组业务数据进行汇总后生成业务数据,通过业务数据发送单元80将业务数据发送给前端页面;则前端页面直接根据业务数据呈现与前端输出属性对应的图表等。这样,在数据调用过程中,实现了数据统计分析,用户无需再人工进行分析,大大提高了分析效率。如果新增了业务类型,只需要在中间件中增加对应的业务属性的资源配置规则、目标数据属性对应的查询位置、统计规则等预设规则即可,也大大减轻了中间件开发人员的开发工作,提高中间件开发效率。
在一个实施例中,上述指令发送单元40,包括:
线程建立子单元,用于分别建立与各所述目标数据属性对应的请求线程,其中,所述请求线程用于向所述数据服务器请求与所述目标数据属性对应的分组数据;
关系获取子单元,用于获取各所述请求线程之间的关系,所述关系包括并行关系和依赖关系;
顺序配置子单元,用于根据各所述请求线程之间的关系,配置各所述请求线程的执行顺序;
请求发送子单元,用于根据各所述请求线程的执行顺序分别发送各所述数据请求指令至所述数据服务器。
本实施例中,上述线程建立子单元用于对于每个目标数据属性分别建立对应的请求线程,例如,目标数据属性包括各项国企债务、各项隐形债务、各项政务性债务,则分别建立对应的请求线程,各项国企债务对应请求线程1,各项隐形债务对应请求线程2,各项政务性债务对应请求线程3。
上述关系获取子单元中,首先获取各个不同的请求线程之间的关系。不同的请求线程之间可能会具有依赖关系,即比如某一个请求线程需要根据另一个请求线程的数据才能开始;也可能是并行关系,即各个线程之间彼此独立,可以同时进行。
上述顺序配置子单元中,根据上述并行关系和依赖关系,确定各个请求线程的优先级。对于互相并行的请求线程优先级相同,可以同时进行;对于互相依赖的请求线程设置不同优先级,依赖于另一个请求线程的数据才能开始的请求线程的优先级较低;根据各所述请求线程的优先级配置各所述请求线程的执行顺序,优先级最高的请求线程最先开始,具有依赖关系的请求线程依序根据前序线程的结束再开始,具有并行关系的请求线程同时进行。
上述请求发送子单元用于根据各请求线程的执行顺序依序将各个线程对应的数据请求指令发送给数据服务器,向数据服务器请求对应的数据。
在一个实施例中,上述资源还包括各所述目标数据属性分别对应的条件参数,上述指令生成单元30,包括:
第一转译子单元,用于将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数,其中,所述转译后的条件参数的格式适用于所述数据服务器;
指令生成子单元,用于分别生成与各所述目标数据属性对应的数据请求指令,其中,所述数据请求指令中携带所述转译后的条件参数。
本实施例中,上述条件参数在配置业务属性时提取而得。以获取的业务属性为<企业的最新债务情况>为例,在配置业务属性时,资源配置单元20根据“最新债务情况”自动生成对应的查询时间为当年当月,例如2018年12月。
第一转译子单元对条件参数的格式进行转译,由于条件参数是从业务属性中进行提取而得的,而业务属性是从前端页面进行输入或选择的,条件参数的数据格式与前端页面的数据格式一致,与数据服务器识别的数据格式有可能存在不一致的情况,数据服务器无法直接识别,因此需要将条件参数的格式转译成数据服务器可以识别的数据格式。上述第一转译方式包括依据预设字典的转译方式,具体地,在预设字典中预存了适用于前端页面的各个参数的数据格式和适用于数据服务器的各个参数的数据格式的一一对应关系,例如预设字典中,存储了前端页面的时间数据格式为“xxxx年xx月”,数据服务器的时间数据格式为“xxxx/xx”,上述第一转译方式即为将条件参数的数据格式,根据预设字典进行匹配,转译成数据库可识别的数据格式。
在一个实施例中,上述指令生成单元30,还包括:
权限校验子单元,用于调用预设的权限校验模型对所述指定目标数据属性进行权限校验;
判断子单元,用于若所述指定目标数据属性通过权限校验,则执行将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数。
本实施例中,通过权限校验可以防止有不合规参数,例如,如果从前端页面发送的业务属性中包含无效的目标数据属性,则通过权限校验就可以判定该请求无效,不再对该无效的目标数据属性生成对应的数据请求指令,无需再与数据服务器进行交互。例如,债务类型包括国企债务,隐形债务,政务性债务这三种,如果前端页面发送的业务分析指令中,要求分析四种债务类型,则在生成的四个请求线程中,有一个请求线程则无法通过预设的权限校验模型的权限校验。权限校验模型在中间件开发时进行预先编写,权限校验模型中保存有预先写入的与目标数据属性对应的权限校验参数。
在一个实施例中,上述分组数据统计单元60,包括:
数据清洗子单元,用于分别按照预设数据清洗规则,对各所述目标数据属性对应的分组数据进行数据清洗,获得各所述目标数据属性对应的第一分组数据;
数据统计子单元,用于分别按照各所述目标数据属性对应的所述统计规则,统计各所述目标数据属性对应的第一分组数据,生成各所述目标数据属性对应的分组业务数据。
本实施例通过数据清洗子单元实现对分组数据进行基本的数据分析。上述数据清洗包括数据比对、异常数据剔除、数据补充、数据过滤,获得符合预设数据要求的第一分组数据。数据清洗可以采用现有的数据清洗方法,本发明在此不做赘述。数据统计子单元对清洗完的数据按照对应的统计规则进行统计,例如,数据统计子单元获取了各项国企债务的分组数据后,就按照对应的统计规则对各项国企债务金额进行求和,得到国企债务金额,即为国企债务对应的分组业务数据。
在一个实施例中,上述数据处理装置,还包括:
数据保存单元,用于分别保存各所述分组业务数据;
判断单元,用于判断是否已获取全部所述分组业务数据;若是,则执行汇总全部所述分组业务数据,生成业务数据。
本实施例中,数据保存单元将获得的分组业务数据分别进行保存。例如,如果请求线程1的分组业务数据已经获取,请求线程2的数据还在获取中,则请求线程1将获取的分组业务数据先保存,并进入等待过程,等所有请求线程的数据均获取完毕,将所有保存的数据进行汇总,生成业务数据。
在一个实施例中,上述业务数据获取单元70,包括:
数据合并子单元,用于根据与所述前端输出属性匹配的匹配规则,将各所述分组业务数据进行合并,获得合并数据;
第二转译子单元,用于将所述合并数据的格式根据第二转译方式进行转译,得到所述业务数据,所述业务数据的格式适用于所述前端页面。
本实施例中,数据合并子单元中,上述与所述前端输出属性匹配的匹配规则,在中间件开发阶段进行预先设置;也可以随着前端页面的输出属性的增加,在数据合并子单元中新增加对应的匹配规则。例如前端输出属性为两个,一个为不同类型的企业债务的金额的柱状图,另一个为不同类型的企业债务的金额比例的饼图:对于柱状图,则将国企债务金额、隐形债务金额、政务性债务金额分别填入数据表格中的对应位置即可;对于饼图,则需要先计算国企债务金额、隐形债务金额、政务性债务金额分别的占比(如国企债务金额占比=国企债务金额/(国企债务金额+隐形债务金额+政务性债务金额)),再将各自的占比分别填入数据表格中的对应位置。
第二转译子单元对合并数据的格式进行转译,由于合并数据的格式是数据服务器可以识别的数据格式,与前端页面可以识别的数据格式可能存在不一致的情况,前端页面无法直接识别,因此需要将合并数据的格式转译成前端页面可以识别的格式。与上述第一转译方式相似,上述第二转译方式包括依据预设字典的转译方式,具体地,在预设字典中预存了适用于数据服务器的各个参数的数据格式和适用于前端页面的各个参数的数据格式的一一对应关系。上述第二转译方式即为将合并数据的数据格式,根据预设字典进行匹配,转译成前端页面可识别的数据格式。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
上述处理器执行上述数据处理方法的步骤:
从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性,所述前端输出属性用于指示数据处理结果在前端页面的展示方式,所述业务属性用于指示业务类型;
配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;
分别生成各所述目标数据属性对应的数据请求指令;
分别发送各所述数据请求指令至数据服务器;
分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;
分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据;
汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;
发送所述业务数据至所述前端页面。
在一实施例中,上述处理器分别发送各所述数据请求指令至数据服务器的步骤,包括:
分别建立与各所述目标数据属性对应的请求线程,其中,所述请求线程用于向所述数据服务器请求与所述目标数据属性对应的分组数据;
获取各所述请求线程之间的关系,所述关系包括并行关系和依赖关系;
根据各所述请求线程之间的关系,配置各所述请求线程的执行顺序;
根据各所述请求线程的执行顺序分别发送各所述数据请求指令至所述数据服务器。
在一实施例中,上述资源还包括各所述目标数据属性分别对应的条件参数,上述处理器分别生成各所述目标数据属性对应的数据请求指令的步骤,包括:
将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数,其中,所述转译后的条件参数的格式适用于所述数据服务器;
分别生成与各所述目标数据属性对应的数据请求指令,其中,所述数据请求指令中携带所述转译后的条件参数。
在一实施例中,上述处理器将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数的步骤前,还包括:
调用预设的权限校验模型对所述指定目标数据属性进行权限校验;
若所述指定目标数据属性通过权限校验,则执行将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数。
在一实施例中,上述处理器分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,获得各所述目标数据属性对应的分组业务数据的步骤,包括:
分别按照预设数据清洗规则,对各所述目标数据属性对应的分组数据进行数据清洗,获得各所述目标数据属性对应的第一分组数据;
分别按照各所述目标数据属性对应的所述统计规则,统计各所述目标数据属性对应的第一分组数据,生成各所述目标数据属性对应的分组业务数据。
在一实施例中,上述处理器汇总全部所述分组业务数据,生成业务数据的步骤前,包括:
分别保存各所述分组业务数据;
判断是否已获取全部所述分组业务数据;
若是,则执行汇总全部所述分组业务数据,生成业务数据。
在一实施例中,上述处理器汇总全部所述分组业务数据,生成业务数据的步骤,包括:
根据与所述前端输出属性匹配的匹配规则,将各所述分组业务数据进行合并,获得合并数据;
将所述合并数据的格式根据第二转译方式进行转译,得到所述业务数据,所述业务数据的格式适用于所述前端页面。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据处理方法,具体为:
从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性,所述前端输出属性用于指示数据处理结果在前端页面的展示方式,所述业务属性用于指示业务类型;
配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;
分别生成各所述目标数据属性对应的数据请求指令;
分别发送各所述数据请求指令至数据服务器;
分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;
分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,将统计结果作为各所述目标数据属性对应的分组业务数据;
汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;
发送所述业务数据至所述前端页面。
在一实施例中,上述处理器分别发送各所述数据请求指令至数据服务器的步骤,包括:
分别建立与各所述目标数据属性对应的请求线程,其中,所述请求线程用于向所述数据服务器请求与所述目标数据属性对应的分组数据;
获取各所述请求线程之间的关系,所述关系包括并行关系和依赖关系;
根据各所述请求线程之间的关系,配置各所述请求线程的执行顺序;
根据各所述请求线程的执行顺序分别发送各所述数据请求指令至所述数据服务器。
在一实施例中,上述资源还包括各所述目标数据属性分别对应的条件参数,上述处理器分别生成各所述目标数据属性对应的数据请求指令的步骤,包括:
将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数,其中,所述转译后的条件参数的格式适用于所述数据服务器;
分别生成与各所述目标数据属性对应的数据请求指令,其中,所述数据请求指令中携带所述转译后的条件参数。
在一实施例中,上述处理器将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数的步骤前,还包括:
调用预设的权限校验模型对所述指定目标数据属性进行权限校验;
若所述指定目标数据属性通过权限校验,则执行将各所述目标数据属性对应的条件参数的格式根据第一转译方式进行转译,得到转译后的条件参数。
在一实施例中,上述处理器分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,获得各所述目标数据属性对应的分组业务数据的步骤,包括:
分别按照预设数据清洗规则,对各所述目标数据属性对应的分组数据进行数据清洗,获得各所述目标数据属性对应的第一分组数据;
分别按照各所述目标数据属性对应的所述统计规则,统计各所述目标数据属性对应的第一分组数据,生成各所述目标数据属性对应的分组业务数据。
在一实施例中,上述处理器汇总全部所述分组业务数据,生成业务数据的步骤前,包括:
分别保存各所述分组业务数据;
判断是否已获取全部所述分组业务数据;
若是,则执行汇总全部所述分组业务数据,生成业务数据。
在一实施例中,上述处理器汇总全部所述分组业务数据,生成业务数据的步骤,包括:
根据与所述前端输出属性匹配的匹配规则,将各所述分组业务数据进行合并,获得合并数据;
将所述合并数据的格式根据第二转译方式进行转译,得到所述业务数据,所述业务数据的格式适用于所述前端页面。
综上所述,为本申请实施例中提供的数据处理方法、装置、计算机设备和存储介质,首先,从前端页面获取业务分析指令,其中,所述业务分析指令中携带前端输出属性和业务属性;然后配置所述业务属性对应的资源,所述资源包括至少一个目标数据属性和各所述目标数据属性分别对应的统计规则;再分别生成各所述目标数据属性对应的数据请求指令;并分别发送各所述数据请求指令至数据服务器;然后分别获取所述数据服务器基于各所述数据请求指令反馈的分组数据;再分别按照各所述目标数据属性对应的统计规则,统计各所述目标数据属性对应的分组数据,获得各所述目标数据属性对应的分组业务数据;汇总全部所述分组业务数据,生成业务数据,其中,所述业务数据与所述前端输出属性匹配;最后发送所述业务数据至所述前端页面;这样实现了在数据调用过程中的数据统计分析,有利于大大提高人员工作效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。