本申请涉及计算机技术领域,特别是涉及一种基于django框架的数据统计方法、装置、计算机设备和存储介质。
背景技术:
网络服务器可以为前端的用户设备(或称为用户端)提供各种服务,比如网络服务器中可以建立多个数据表,并为用户设备提供用于执行相应操作(如数据查询、数据更新等操作)的接口,用户设备可以通过相应的接口与网络服务器进行交互以实现相应的目的,如从相应的数据表中获取数据、或者更新某数据表中的数据等。
目前,当开发人员在网络服务器新建数据表后,还需要为该新建的数据表再开发一个用于统计数据该新建数据表中的数据的数据统计接口,从而用户设备可以通过该数据统计接口对该新建数据表的相关数据进行统计。然而,随着新建的数据表的数量越来越多,为每个新建的数据表开发数据统计接口会消耗较多的开发成本,并且数据统计接口的数量也会越来越多,这增大了数据统计接口的管理难度。
技术实现要素:
本发明针对现有技术的缺点,提供了一种基于django框架的数据统计方法、装置、计算机设备和存储介质,本发明实施例不需要开发人员为新建的数据表开发相应的数据统计接口,能够减少开发成本和降低接口管理难度。
本发明根据第一方面提供了一种基于django框架的数据统计方法,在一个实施例中,该方法包括:
获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;
根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;
根据模型指定参数生成目标model对象;
根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数的步骤,包括:
对数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和初始统计操作相关信息;
对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,统计操作信息包括待统计数据指定信息和统计操作指定参数。
在一个实施例中,对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息的步骤,包括:
对初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据;
将过滤后的数据处理为字典格式的数据,将字典格式的数据作为统计操作信息。
在一个实施例中,从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为待统计数据指定信息。
在一个实施例中,根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理的步骤,包括:
根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;待统计数据指定信息为用于确定待统计数据的键值对。
在一个实施例中,该方法还包括:
在根据统计操作指定参数对待统计数据进行统计处理之后,生成统计处理得到的统计结果,根据统计结果生成展示信息,并将展示信息发送给用户端。
本发明根据第二方面提供了一种基于django框架的数据统计装置,在一个实施例中,该装置包括:
请求数据获取模块,用于获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;
数据内容获得模块,用于根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;
对象生成模块,用于根据模型指定参数生成目标model对象;
数据统计模块,用于根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,通过网络服务器获取用户端通过调用通用数据统计接口而发送的数据统计请求数据,根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数,根据模型指定参数生成目标model对象,并调用目标model对象的与模型方法指定参数对应的模型方法,即将待统计数据指定信息和统计操作指定参数作为参数传给该模型方法,以根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理,本发明实施例中的网络服务器为用户端提供了通用的数据统计接口,并通过用户端上传的模型指定参数来生成相应的model对象,之后通过调用该model对象的数据统计方法即可实现对相应数据表中与该待统计数据指定信息对应的相关数据进行统计,从而开发人员不需要再为新建的数据表开发相应的数据统计接口,能够减少开发成本和降低接口管理难度。
附图说明
图1为一个实施例中一种基于django框架的数据统计方法的应用环境图;
图2为一个实施例中一种基于django框架的数据统计方法的流程示意图;
图3为一个实施例中一种基于django框架的数据统计装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本发明提供了一种基于django框架的数据统计方法,该方法可以应用在网络服务器(或称为web服务器)中,其中,网络服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,可以基于django框架来开发网络服务器,其中,django框架是python(一种跨平台的计算机程序设计语言)的一款web框架。django框架也是个mvc框架,mvc指设计模式,也就是把应用程序分解成三个组成部分:model(模型),view(视图),和controller(控制器)。
model(模型)即数据存取层,负责业务对象与数据库的映射,模型是唯一、权威的信息来源,包含了所存储数据的必要字段和行为,django框架会根据模型在数据库中创建数据表,通常一个模型对应数据库中唯一的一张数据表。
视图(view)即业务逻辑层,负责把数据格式化后呈现给用户。
controller(控制器)接受外部用户的操作,根据操作访问“模型”来获取相关的数据,并调用“视图”以向用户显示这些数据。“控制器”将“模型”和“视图”隔离开来,并成为二者之间的联系纽带。
而在本发明实施例中,基于django框架开发网络服务器时,在django框架提供的model(模型)、视图(view)和controller(控制器)的基础上,进一步开发了api综合处理层,并调整了各层之间的交互关系。
示例性地,基于django框架开发的该网络服务器中可以包括控制器模块(用于实现controller)、模型模块(用于实现model)、api综合处理模块和视图模块(用于实现view)等模块,该网络服务器中的各个模块之间交互关系可以参见图1所示的网络服务器。具体地,本实施例的网络服务器可以通过模型模块来处理与数据相关的所有事务(比如,如何存取数据、如何验证数据的有效性、包含哪些行为以及数据之间的关系、如何统计获取的数据等);通过控制器模块来接受外部用户的操作,如接收用户端的数据统计请求,用户端可以是但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和台式计算机等;控制器模块在接收到用户端的数据统计请求后,根据该请求携带的数据来调用由api综合处理模块提供的用于处理数据统计请求的api(applicationprogramminginterface,应用程序编程接口)来处理该数据统计请求;api综合处理模块可以提供多个api,不同的api用于处理用户端的不同请求(比如可以是数据统计请求、数据统计请求、数据查询请求或数据存储请求等),当用于处理数据统计请求的api被控制器模块调用之后,则响应于该调用与数据库进行交互,以对用户要统计的数据(该数据可以通过数据统计请求中的相关参数来确定出来)进行统计,完成统计之后则生成相应的数据统计处理结果,并将其发送给视图模块;视图模块会在收到数据统计处理结果后,将其进行格式化后发送给用户端以将数据统计处理结果可视化地呈现给用户。
在一个实施例中,本发明提供的基于django框架的数据统计方法所包括的步骤可以如图2所示。以下结合图1对图2所示的步骤进行说明。该方法包括以下步骤:
s110:获取用户端通过调用通用数据统计接口而发送的数据统计请求数据。
在本实施例中,网络服务器向用户端提供了通用的数据统计接口,不管用户想对网络服务器中的那张数据表的数据进行统计,都可以通过该通用的数据统计接口来向网络服务器发送数据统计请求,不需要向以往一样需要专门调用想要统计的数据所在的数据表对应的接口。
网络服务器可通过post、get和/或body等方式来获得用户端发送的数据统计请求数据。用户端可以按照该数据统计接口的api规范来组装数据,之后基于组装的数据来调用数据统计接口,从而向网络服务器发送数据统计请求,组装好的数据可以由该数据统计请求携带。
s120:根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数。
在本实施例中,数据统计请求数据是指数据统计请求携带的数据,其包括多个字段对应的数据,当然,在不同应用场景中,数据统计请求数据包括的字段可以不同。网络服务器获取到数据统计请求携带的数据统计请求数据后,需要对其进行格式整理以从中分离出各个字段对应的数据。
具体地,数据统计请求数据包括模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数等数据,其中,模型指定参数为model名称,模型方法指定参数为要调用的用于实现数据统计的模型方法的方法名称,待统计数据指定信息为用于确定待统计数据的键值对。
示例性地,在一个应用场景中,数据统计请求数据可以是如下所示:
"method":"filter;annotate",
"modelname":"autotest_logsystem",""prikey":"task_id:123,testcase_id:321"
该数据统计请求数据中所包括的字段有"method"、"modelname"、"datas"和"prikey",对该数据统计请求数据进行格式整理之后,可以得到"method"字段的字段信息(或称为字段值)为"filter"和"annotate"这两个模型方法(即模型方法指定参数),"modelname"字段的字段信息为"autotest_logsystem"(即模型指定参数),","prikey"字段的字段信息为"task_id:123,testcase_id:456",进而网络服务器可以从"autotest_logsystem"对应的数据库中获取与"prikey"字段的字段信息即"task_id:123,testcase_id:456"对应的数据,并对其进行统计处理,比如先对获取的数据进行排序,然后再按照统计关键字来进行统计。
需要说明的是,上述数据统计请求数据仅仅作为示例,数据统计请求数据的数据拼装规范本实施例并不进行限定,其拼装规范可以根据不同的应用场景来具体设置。
在一个实施方式中,根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数的步骤,包括:
对数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数、模型方法指定参数和初始统计操作相关信息;
对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,统计操作信息包括待统计数据指定信息和统计操作指定参数。
其中,对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息时,可以是对初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据,之后将过滤后的数据处理为字典格式的数据,将字典格式的数据作为统计操作信息。
进一步地,从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为待统计数据指定信息。
s130:根据模型指定参数生成目标model对象。
django框架对各种数据库提供了很好的支持,包括postgresql、mysql、sqlite、oracle等数据库,其为这些数据库提供了统一的调用api,可以根据具体的业务需求来选择不同的数据库。
在本实施例中,网络服务器可以通过模型模块的对象关系映射(即orm,objectrelationalmapping)从数据库(数据库可以部署于网络服务器上,也可以部署在其他服务器)中获取相关数据并对其进行统计处理。具体地,数据库中的每张数据表对应一个model类,model类中配有用于实现不同操作(如统计数据、修改数据、删除数据、更新数据等等)的模型方法。
python是面向对象的编程语言,使用其编写的面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。在面向对象程序设计(oop)中,不必关心对象的具体实现。类是构造对象的模板和蓝图,可以说类相当于建筑的图纸,而对象相当于建筑物,由类构造对象的过程称为创建对象的实例。因此,本实施例在根据所述模型指定参数生成目标model对象时,先获取与模型指定参数对应的model类信息,model类信息是指model类的类代码,然后基于该model类的类代码来生成该model类的对象,即目标model对象。
s140:根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在本实施例中,具体地,根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理的步骤,包括:
根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
本发明实施例通过网络服务器来获取用户端通过调用通用数据统计接口而发送的数据统计请求数据,然后根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数,根据模型指定参数生成目标model对象,并调用目标model对象的与模型方法指定参数对应的模型方法,即将待统计数据指定信息和统计操作指定参数作为参数传给该模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理,由于网络服务器为用户端提供了通用的数据统计接口,并通过用户端上传的模型指定参数来生成相应的model对象,之后通过调用该model对象的数据统计方法即可实现对相应数据表中与该待统计数据指定信息对应的相关数据进行统计处理,从而开发人员不需要再为新建的数据表开发相应的数据统计接口,能够减少开发成本和降低接口管理难度。
进一步地,在一个实施例中,该基于django框架的数据统计方法还包括:在根据统计操作指定参数对待统计数据进行统计处理之后,生成统计处理得到的统计结果,根据统计结果生成展示信息,并将展示信息发送给用户端。
在一个更具体的实施例中,网络服务器可以通过api综合处理模块根据控制器模块接收到的数据统计请求所携带的数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数,然后根据模型指定参数从模型模块获取目标model对象,再将待统计数据指定信息和统计操作指定参数作为参数传给目标model对象的与模型方法指定参数对应的模型方法,以指示模型模块获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
其中,在通过api综合处理模块根据请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数时,可以通过api综合处理模块对数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数、模型方法指定参数和初始统计操作相关信息,再对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,统计操作信息包括待统计数据指定信息和统计操作指定参数。具体地,在通过api综合处理模块对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息时,可以是通过api综合处理模块对初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据;再将过滤后的数据处理为字典格式的数据,将字典格式的数据作为统计操作信息。更具体地,在通过api综合处理模块从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则将模型指定参数对应的数据表的主键作为待统计数据指定信息。
进一步地,通过api综合处理模块根据请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数的步骤之前,可以通过控制器模块接收来自用户端的数据统计请求,将数据统计请求携带的请求数据发送api综合处理模块。
进一步地,更进一步地,网络服务器在通过api综合处理模块指示模型模块将待统计数据指定信息对应的数据进行统计处理之后,还可以通过api综合处理模块获取模型模块返回的数据统计处理结果,将数据统计处理结果发送给视图模块,以使视图模块根据数据统计处理结果生成展示信息并将展示信息发送给用户端。
基于相同的发明构思,本发明还提供了一种基于django框架的数据统计装置。在一个实施例中,如图3所示,该基于django框架的数据统计装置包括以下模块:
请求数据获取模块110,用于获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;
数据内容获得模块120,用于根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;
对象生成模块130,用于根据模型指定参数生成目标model对象;
数据统计模块140,用于根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,数据内容获得模块,包括:
格式整合子模块,用于对数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数、模型方法指定参数和初始统计操作相关信息;
检验处理子模块,用于对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,统计操作信息包括待统计数据指定信息和统计操作指定参数。
在一个实施例中,检验前处理子模块,包括:
过滤单元,用于对初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据;
字典格式处理单元,用于将过滤后的数据处理为字典格式的数据,将字典格式的数据作为统计操作信息。
在一个实施例中,格式整合子模块,还用于在从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为待统计数据指定信息。
在一个实施例中,数据统计模块,还用于根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;待统计数据指定信息为用于确定待统计数据的键值对。
在一个实施例中,该基于django框架的数据统计装置还包括展示模块。
该展示模块,用于在根据统计操作指定参数对待统计数据进行统计处理之后,生成统计处理得到的统计结果,根据统计结果生成展示信息,并将展示信息发送给用户端。
关于基于django框架的数据统计装置的具体限定可以参见上文中对于基于django框架的数据统计方法的限定,在此不再赘述。上述基于django框架的数据统计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据统计请求数据等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于django框架的数据统计方法。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;根据模型指定参数生成目标model对象;根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,处理器执行计算机程序,实现根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数时,还实现以下步骤:
对数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数、模型方法指定参数和初始统计操作相关信息;对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,统计操作信息包括待统计数据指定信息和统计操作指定参数。
在一个实施例中,处理器执行计算机程序,实现对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息时,还实现以下步骤:
对初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据;将过滤后的数据处理为字典格式的数据,将字典格式的数据作为统计操作信息。
在一个实施例中,处理器执行计算机程序,还实现以下步骤:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为待统计数据指定信息。
在一个实施例中,处理器执行计算机程序,实现根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理时,还实现以下步骤:
根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;待统计数据指定信息为用于确定待统计数据的键值对。处理器执行计算机程序时,还实现以下步骤:
在根据统计操作指定参数对待统计数据进行统计处理之后,生成统计处理得到的统计结果,根据统计结果生成展示信息,并将展示信息发送给用户端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;根据模型指定参数生成目标model对象;根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,计算机程序被处理器执行,根据数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数时,还实现以下步骤:
对数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数、模型方法指定参数和初始统计操作相关信息;对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,统计操作信息包括待统计数据指定信息和统计操作指定参数。
在一个实施例中,计算机程序被处理器执行,对初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息时,还实现以下步骤:
对初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据;将过滤后的数据处理为字典格式的数据,将字典格式的数据作为统计操作信息。
在一个实施例中,计算机程序被处理器执行,还实现以下步骤:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则获取模型指定参数对应的数据表的主键信息,将主键信息作为待统计数据指定信息。
在一个实施例中,计算机程序被处理器执行,根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理时,还实现以下步骤:
根据待统计数据指定信息和统计操作指定参数调用目标model对象的与模型方法指定参数对应的模型方法,以从目标model对象对应的数据表中获取与待统计数据指定信息的待统计数据,并根据统计操作指定参数对待统计数据进行统计处理。
在一个实施例中,模型指定参数为model名称;模型方法指定参数为要调用的模型方法的方法名称;待统计数据指定信息为用于确定待统计数据的键值对。计算机程序被处理器执行,还实现以下步骤:
在根据统计操作指定参数对待统计数据进行统计处理之后,生成统计处理得到的统计结果,根据统计结果生成展示信息,并将展示信息发送给用户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种基于django框架的数据统计方法,其特征在于,所述方法包括:
获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;
根据所述数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;
根据所述模型指定参数生成目标model对象;
根据所述待统计数据指定信息和所述统计操作指定参数调用所述目标model对象的与所述模型方法指定参数对应的模型方法,以获取与所述待统计数据指定信息的待统计数据,并根据所述统计操作指定参数对所述待统计数据进行统计处理。
2.如权利要求1所述的基于django框架的数据统计方法,其特征在于,所述根据所述数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数的步骤,包括:
对所述数据统计请求数据进行格式整合处理,从处理后的请求数据中分离得到模型指定参数、模型方法指定参数和初始统计操作相关信息;
对所述初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息,所述统计操作信息包括待统计数据指定信息和统计操作指定参数。
3.如权利要求2所述的基于django框架的数据统计方法,其特征在于,所述对所述初始统计操作相关信息进行合法性检验,得到经过合法性检验的统计操作信息的步骤,包括:
对所述初始统计操作相关信息进行非法字段过滤处理,得到过滤后的数据;
将所述过滤后的数据处理为字典格式的数据,将所述字典格式的数据作为所述统计操作信息。
4.如权利要求2所述的基于django框架的数据统计方法,其特征在于,所述方法还包括:
从处理后的请求数据中分离数据时,若确定分离得到的数据中没有待统计数据指定信息,则获取所述模型指定参数对应的数据表的主键信息,将所述主键信息作为待统计数据指定信息。
5.如权利要求1所述的基于django框架的数据统计方法,其特征在于,所述根据所述待统计数据指定信息和所述统计操作指定参数调用所述目标model对象的与所述模型方法指定参数对应的模型方法,以获取与所述待统计数据指定信息的待统计数据,并根据所述统计操作指定参数对所述待统计数据进行统计处理的步骤,包括:
根据所述待统计数据指定信息和所述统计操作指定参数调用所述目标model对象的与所述模型方法指定参数对应的模型方法,以从所述目标model对象对应的数据表中获取与所述待统计数据指定信息的待统计数据,并根据所述统计操作指定参数对所述待统计数据进行统计处理。
6.如权利要求1所述的基于django框架的数据统计方法,其特征在于,所述模型指定参数为model名称;
所述模型方法指定参数为要调用的模型方法的方法名称;
所述待统计数据指定信息为用于确定待统计数据的键值对。
7.如权利要求1所述的基于django框架的数据统计方法,其特征在于,所述方法还包括:
在根据所述统计操作指定参数对所述待统计数据进行统计处理之后,生成统计处理得到的统计结果,根据所述统计结果生成展示信息,并将所述展示信息发送给所述用户端。
8.一种基于django框架的数据统计装置,其特征在于,所述装置包括:请求数据获取模块,用于获取用户端通过调用通用数据统计接口而发送的数据统计请求数据;
数据内容获得模块,用于根据所述数据统计请求数据获得模型指定参数、模型方法指定参数、待统计数据指定信息和统计操作指定参数;
对象生成模块,用于根据所述模型指定参数生成目标model对象;
数据统计模块,用于根据所述待统计数据指定信息和所述统计操作指定参数调用所述目标model对象的与所述模型方法指定参数对应的模型方法,以获取与所述待统计数据指定信息的待统计数据,并根据所述统计操作指定参数对所述待统计数据进行统计处理。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结