CN106874321B - 一种可插拔的数据检索方法和装置 - Google Patents

一种可插拔的数据检索方法和装置 Download PDF

Info

Publication number
CN106874321B
CN106874321B CN201610473976.XA CN201610473976A CN106874321B CN 106874321 B CN106874321 B CN 106874321B CN 201610473976 A CN201610473976 A CN 201610473976A CN 106874321 B CN106874321 B CN 106874321B
Authority
CN
China
Prior art keywords
field
user
derivative
screening
category
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
CN201610473976.XA
Other languages
English (en)
Other versions
CN106874321A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610473976.XA priority Critical patent/CN106874321B/zh
Publication of CN106874321A publication Critical patent/CN106874321A/zh
Application granted granted Critical
Publication of CN106874321B publication Critical patent/CN106874321B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs

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)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种可插拔的数据检索方法和装置。该方法包括:将预设类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户;针对用户选择的字段,查找预设的字段属性表确定该字段的字段取值类型;根据该字段的字段取值类型确定对应展示的筛选框;向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识。本申请提供的对象筛选方案可以实现类目、字段的可插拔效果,不受用户需求变化影响,也不会受到数据库中数据变化的影响,大大降低了数据分析师的开发需求,使得数据分析平台可以从容应对大量用户的对象筛选需求。

Description

一种可插拔的数据检索方法和装置
技术领域
本申请涉及数据处理领域,尤其涉及一种可插拔的数据检索方法和装置。
背景技术
如今各行各业都因互联网普及以及信息化改造而累积了海量的数据,这些数据的分析和加工可以给人们提供更多有用的信息。比如说,海量出行数据的分析可以让城市规划工作更加合理和具备前瞻性;再比如说,犯罪行为的数据分析,可以帮助公安部门有效预防和打击犯罪;又比如说,海量消费行为的数据分析,可以帮助商人将广告精准投放。无论是那种数据分析,在实现过程中都会依赖到数据库技术以及与数据库关联的前台或后台数据处理技术。
在实现过程中,经常需要通过各种条件筛选得到一批对象(比如用户或者驾驶员等)作为某一个具体活动调研或者互动对象。举例来说,交通执法部门可能需要在违章行为数据库中找到所有驾照发放日期在2006-2008年、年龄不满45岁、浙江籍、有酒驾行为的男性驾驶员作为调研活动对象数据。这样的数据需求需要数据分析师从技术层面进行协助,从违章数据库中找到这样的对象提供给数据需求者。目前传统的做法有2种:第一种是需求者将需求提给数据分析师,数据分析师针对需求者不同的业务活动编写相应的代码,并从数据库中取到一批符合条件的对象后再交给活动组织者以完成该活动;第二种是由开发人员针对具体活动进行定制化的界面开发,后续交由活动组织者使用该产品进行活动组织。
传统方案的实现依赖于开发人员或数据分析师的人力资源状况,对于复杂一点的数据需求,往往需要消耗开发人员数日乃至数月,带来巨大的人力成本,尤其是当新需求数量比较多或者对老的需求涉及改动时,由于人力不足的原因,传统方案无法满足需求。
发明内容
有鉴于此,本申请提供一种可插拔的数据检索方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种可插拔的数据检索方法,该方法包括:
将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户;
针对用户选择的字段,查找预设的字段属性表确定该字段的字段取值类型;
根据该字段的字段取值类型确定对应展示的筛选框;
向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识。
可选的,所述根据该字段的字段取值类型确定对应展示的筛选框,包括:
当所述字段取值类型为离散可枚举时,根据字段标识查询预设的参数取值表中的参数值,以获取该字段的各个离散的参数值;
将所述离散的参数值加入到针对该字段的筛选框中,以供用户选择。
可选的,不同字段取值类型对应的筛选框不同。
可选的,所述字段包括存储在后台数据库中的原始字段以及未存储在所述后台数据库中的衍生字段;所述方法还包括:
向用户提供一个衍生字段创建界面,该创建界面包括若干输入选项,用来接收用户输入的一个或多个原始字段输入选项以及根据原始字段计算出衍生字段的计算方法选项;
基于用户的输入在字段属性表中创建衍生字段记录,并将该字段衍生类型标识为衍生字段;
所述向服务端发起查询请求,包括:
根据用户选择的字段标识在所述字段属性表中查询该字段的衍生类型,如果确定该字段为衍生字段,将该衍生字段对应的原始字段ID以及所使用的运算关系一并携带在所述查询请求中发送给服务端。
可选的,所述将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户,包括:
根据类目之间的父子关系,以树形结构展示类目列表;
针对用户选择的类目,将所述类目的叶子类目下可前台展示的字段在当前用户界面中呈现给用户。
一种可插拔的数据检索装置,该装置包括:
类目与字段呈现单元,将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户;
类型确定单元,针对用户选择的字段,查找预设的字段属性表确定该字段的字段取值类型;
筛选框确定单元,根据该字段的字段取值类型确定对应展示的筛选框;
字段查询单元,向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识。
可选的,所述筛选框确定单元,在所述字段取值类型为离散可枚举时,根据字段标识查询预设的参数取值表中的参数值,以获取该字段的各个离散的参数值;将所述离散的参数值加入到针对该字段的筛选框中,以供用户选择。
可选的,不同字段取值类型对应的筛选框不同。
可选的,所述字段包括存储在后台数据库中的原始字段以及未存储在所述后台数据库中的衍生字段;所述装置还包括:
衍生创建单元,向用户提供一个衍生字段创建界面,该创建界面包括若干输入选项,用来接收用户输入的一个或多个原始字段输入选项以及根据原始字段计算出衍生字段的计算方法选项;
字段标识单元,基于用户的输入在字段属性表中创建衍生字段记录,并将该字段衍生类型标识为衍生字段;
所述字段查询单元,根据用户选择的字段标识在所述字段属性表中查询该字段的衍生类型,如果确定该字段为衍生字段,将该衍生字段对应的原始字段ID以及所使用的运算关系一并携带在所述查询请求中发送给服务端。
可选的,所述字段呈现单元,根据类目之间的父子关系,以树形结构展示类目列表,针对用户选择的类目,将所述类目的叶子类目下可前台展示的字段在当前用户界面中呈现给用户。
由以上描述可以看出,本申请提供的对象筛选方案可以实现类目、字段的可插拔效果,不受用户需求变化影响,也不会受到数据库中数据变化的影响,大大降低了数据分析师的开发需求,使得数据分析平台可以从容应对大量用户的对象筛选需求。
附图说明
图1是本申请一示例性实施例示出的一种可插拔的数据检索方法的流程示意图。
图2是本申请一示例性实施例示出的一种类目展示页面示意图。
图3是本申请一示例性实施例示出的一种字段取值选取的页面示意图。
图4是本申请一示例性实施例示出的另一种字段取值选取的页面示意图。
图5是本申请一示例性实施例示出的一种用于可插拔的数据检索装置的一结构图。
图6是本申请一示例性实施例示出的一种可插拔的数据检索装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在......时”或“当......时”或“响应于确定”。
图1是本申请一示例性实施例示出的一种可插拔的数据检索方法的流程示意图。
请参考图1,本申请提供一种可插拔的数据检索方法,所述方法可以在B/S架构(浏览器/服务器架构)下的服务器中实现,此时,所述可插拔的数据检索方法对应一个前端逻辑(可理解为若干功能模块及数据的集合),这个前端逻辑存储在服务端上,服务端可以基于用户的请求将相关数据加载到用户一侧的浏览器,并由浏览器执行上述方法。当然,所述可插拔的数据检索方法也可以在C/S(客户端/服务器架构)下实现,本申请对此不作特殊限制。在运行过程中,所述方法包括以下步骤:
步骤101,将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户。
在本实施例中,所述类目可以理解为对数据库中各种明细数据的一种自定义分类,可以由本申请可插拔数据检索方法的开发人员根据具体业务需求进行设置。比如,广义的交通违法行为可以细分为现场违法以及非现场违法两类,现场违法代表执法人员现场发现的车辆违法行为,而非现场违法则可以是电子警察抓拍到的车辆违法行为。两种违法行为的明细数据可能不完全一致,比如非现场违法可能有若干张抓拍照片,但可能没有驾驶者信息,而现场违法则通常会有驾驶者信息。再比如,消费者在电子商务网站上的行为也可以进行分类,举例来说,可以将消费者的行为分为浏览行为、消费行为等。上述两种行为在明细数据上可能也会有差异,举例来说,消费行为有消费日期、消费金额、消费对象等明细数据,而浏览行为则通常没有消费金额等明细数据。
这里需要补充说明的是,本申请中所说的用户是指在前台利用该数据检索方法对应的前端逻辑获得目标对象的使用者,比如:企业的市场推广人员,项目的运营人员等,而并不是访问电子商务网站的消费者。虽然消费者经常也被称为用户,但在本申请中,这是两个不同的概念,这些消费者通常是用户想要通过本申请技术方案获取的目标对象。
在一些简单的例子中,类目可能只有默认的一个级别,甚至数量也只有一个,这种情况下,可以将这个类目和该类目下可前台展示的字段呈现给用户。然而,在更多应用规模较大的例子中,类目可能分为多个级别,比如:一级类目、二级类目等。其中,高级类目是低一级类目的父类目,最低一级类目为叶子类目,每个叶子类目对应一个或者多个字段。举例来说,假设共有两级类目,一级类目是二级类目的父类目,二级类目是一级类目的叶子类目。如果只有一个类目,则该类目就是叶子类目。在实际的实现中,前台的控件可以将所有类目按照级别展示给用户,用户可以根据需要点击查看某个类目的所有叶子类目下可前台展示的字段,当然,也可以将所有类目以及所有类目中叶子类目下可前台展示的字段展示给用户,本申请对此不作特殊限制。考虑到处理的复杂度和性能要求,两级类目的使用是比较流行的设计,以下以两级类目为例进行说明。
请参考图2的示例,以消费者访问电子商务网站为例,消费者行为被划分为消费行为以及浏览行为,而消费行为也可以细分为O2O消费(也称为“到店消费”)以及线上消费,在其他例子中行为的划分可以更为细致。网站后台对数据的记录将按照类目来组织,在这个例子中,消费行为以及浏览行为类目可以理解为一级类目,而到店消费以及线上消费可以理解为消费行为的二级类目。在这个例子中,服务端的类目表中可以将相应的类目信息预先记录下来,这些记录将成为数据组织以及前台展示的依据,请参考表1的类目表样式。在实际实现时,前端逻辑可以通过服务器从数据库获取表1所示的类目表。当然,当类目表较小时,前端逻辑也可以预先将类目表加载到浏览器中,本申请对此不作特殊限制。
序号 类目 备注
1 类目ID 唯一标识某个类目
2 类目名 类目的名称
3 类目层级 1表示一级类目,2表示二级类目,依次类推
4 是否叶子类目 0表示否,1表示是
5 父类目ID 当前类目对应的父类目ID,若无,留空
6 父类目名 当前类目对应的父类目名,若无,留空
表1
在类目的前台展示过程中,可以根据类目表中建立起的类目之间的父子关系确定出一个树形的展示结构。请结合图2的示例,树形结构可以默认折叠到一级类目,若用户点击其中的消费行为,则前台的控件可以展开显示出到店消费以及线上消费两个类目。若用户选择到店消费,由于到店消费是叶子类目,则此时可以相应将该类目下的所有可展示的字段展示给用户。当然,也可以直接展示消费行为和浏览行为这两个一级类目,以及各叶子类目下可前台展示的字段,即直接展示图2所示的页面给用户。
在本实施例中,叶子类目下的字段可以通过后文的字段属性表(表2)中的每个字段记录来确定该字段是否属于该类目。在字段属性表中,每个字段都有对应的叶子类目,根据这个对应关系就可以将所有与当前叶子类目对应的可展示字段找到并呈现到前台界面。在优选的例子中,数据库中的字段有很多,但有部分字段其实用户并不太关心,出于界面简洁的考虑,对于不常用的字段,可以通过表2中是否展示这一属性(请参考表2中的序号15)将字段配置为不在前台展示。
在展示完成后,用户可以通过一个或多个字段设定自己想要的筛选条件来得到特定对象的集合。这一点将在后续步骤详细介绍。
步骤102,针对用户选择的字段,查找预设的字段属性表确定所述字段的字段取值类型。
步骤103,根据该字段的字段取值类型确定对应展示的筛选框。
在本实施例中,前述步骤102到步骤103描述了为用户输入筛选条件的准备过程。请继续参考图2,用户选择某个字段意味着用户希望通过这个字段设置自己想要的筛选条件。筛选条件可以包括一个或者多个筛选参数,用户可以依次选择多个字段下的不同的筛选条件,这些筛选条件的集合表达了用户希望后台数据库如何在数据库查询到自己想要的对象数据,比如一个对象ID的列表,在更具体的例子中,对象ID可以是消费者账户或者是驾驶员ID。
在这个例子中,针对消费日期这个字段,假设用户想设定的筛选条件为消费日期发生在今年3月份。那么用户会选中消费日期这个字段,此时前端逻辑可以通过服务器从数据库查询字段属性表(请参考表2的格式示例),确定消费日期这个字段的字段取值类型(数值为2,表示日期类型)。前端逻辑根据字段取值类型调用对应的两个日期控件组成筛选框展示给用户。用户可以在日期控件中输入开始时间:2016年3月1日,输入结束时间:2016年3月31日。
大部分情况下,每个字段取值类型所都有对应的筛选框(一般为各种控件)且互不相同。比如:上述日期类型对应的图2中的日期控件有两个输入框(或者说输入选项),这个日期控件允许用户选择起始日期。同样的道理,假设用户选择了某个字段的字段取值类型是0,表示连续值,比如:年龄字段,则筛选框同样也会包括两个输入框,虽然控件外部样式与日期控件相同,但允许输入的合法数据格式却不一样。
进一步来说,对于日期这样的控件,其内部的日期参数是既有的,而对于那些需要列出离散可枚举的控件的来说,其内部需要枚举参数值可能不是既有的。比如:地区这样的字段对应的字段取值类型是离散可枚举的,控件样式可以参考图3所示。但是,由于不同的企业对于地区划分的标准不一样,有的按照行政区域划分,有的按照地标划分,比如:北京五环内、北京五环外等。此时,可以理解为该类控件并不通用。针对这种情况,前端逻辑也可以通过服务器向数据库查询参数取值表(参考表3示例),以获取到相关参数。当然,当参数取值表较小时,前端逻辑也可以预先将参数取值表加载到浏览器中,本申请对此不作特殊限制。
在步骤102中,当字段取值类型为离散可枚举时,根据字段标识(字段ID)查询该预设的参数取值表中的参数值,以获取该字段的各个离散的参数值,将所述离散的参数值加入到针对该字段的筛选框中,供用户选择。请参考表3,假设字段是星期,参数值描述对应取值:星期一、星期二、星期三、星期四、星期五、星期六、星期日,共7个,则控件样式可以请参考图4的示例。
请继续参考表2,字段取值类型还包括时间以及离散不可枚举型。对于时间这种类型而言,其对应的筛选框可以与日期对应的筛选框类似,此处不再举例说明。对于离散不可枚举型而言,其通常是一种自定义,比如:消费者昵称,数据库中可能存在上万乃至上百万个昵称的取值,虽然这个数量是有限的,但实际上无法在页面上直接枚举出来供用户选择。因此一般来说,会把这种存在大量取值可能性,且取值是离散分布的字段的取值类型设定为离散不可枚举型,针对离散不可枚举类型,可以提供输入框供用户输入关键字进行筛选。
Figure BDA0001028939530000101
表2
Figure BDA0001028939530000111
表3
在完成筛选框操作后,用户可以选择通过操作筛选框的确定按钮实现筛选条件的保存。同样的道理,请参考图2,如果用户继续选择另外一个字段,则重复前述操作,界面上将会相应呈现出与该字段对应新的筛选框供用户使用,一直到用户不再继续选择其他新的字段进行执行筛选。
步骤104,向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识。
在用户筛选完成后,用户可以通过前端界面上的提交按钮来实现向后端的查询。在具体实现上,可以将所有的筛选条件的集合传输给服务端进行后台处理。为了描述简洁起见,在这个例子中,假设每个筛选条件之间的运算关系是与运算。此时可以将所有筛选条件中的筛选参数以及对应的字段ID传输给服务端。服务端可以根据字段ID、筛选参数以及上述运算关系构造数据库查询语句在大量的明细数据中实现对象查询,最终可以获得一个对象ID的列表,比如:消费者ID列表或者驾驶员姓名列表等。当然,在实际实现中,通常还会传输数据来源、数据来源表名等其他参数,本申请在此不再一一赘述。
这里需要补充说明的是,步骤104所说的对象不仅可以是人,也可以是明细数据(比如数据库中的消费行为记录)中其他类型的个体,比如商户;还可以是事件,物品乃至地点等,本申请对此不作特殊限制。
可选的,在另一个例子中,当用户确认一个筛选条件后,就可以发送针对该筛选条件的查询请求给服务端,而无需等待用户选择好所有的筛选条件。服务端在接收到用户的查询请求后,即可进行数据库查询,并返回针对该筛选条件的查询结果,通过实时查询,可以帮助用户根据查询结果调整下一步筛选计划。
从上述的技术方案可以看出,本申请的数据检索方法在需求变化的情况下,后端数据库中的数据源变化并不影响前端逻辑的运行,对于前端而言,只是字段或者类目的变化。举例而言,假设消费日期这个字段消失了,那么在步骤101中,前端逻辑查询表2的时候就不会命中到这个字段,于是在重新展示类目页面给用户时(也就是页面刷新后)就没有消费日期这个可以选择的字段。又比如:假设后端数据库中增加了一个字段,同样会在刷新后展现在前端界面上;甚至后端数据库中类目和字段的对应关系变化了也没有影响,比如:A类目下的字段不再与A类目对应,变化为与B类目对应,此时前端逻辑的处理仍然不受影响,所有的变化都是数据的变化引发的展示变化,与实现功能逻辑的代码开发无关,因此前端与后端的代码都可以相对固化。当用户需求或业务流程发生变化时,可以对相关的类目、字段进行修改、删除,或者重新配置其显示状态即可,无需改动其他代码,灵活性高,从而实现数据的可插拔效果,灵活性高,可复用性强。因此,本申请技术方案可以不受用户需求变化影响,也不会受到数据库中数据变化的影响,这大大降低了数据分析师的开发需求,使得数据分析平台可以从容应对大量用户的对象筛选需求。同时,采用本申请提供的数据检索方案,运营人员在不具备专业数据技能的情况下即可实现对营销对象的检索,无需数据分析师参与,大大提升了检索效率。
在另外一个例子中,本申请在上述例子的基础上,引入虚拟衍生字段(以下简称“衍生字段”)这一字段,可以更加灵活地满足用户深层次、更加精细的对象筛选需求。首先,在这个例子中,虚拟衍生字段并非数据库中本来就存在的原始字段,这样的设计可以首先确保不需要用户真的去数据库中对数据源进行修改,因为这种修改需求通常需要数据分析师这样的开发人员帮助用户去执行。在这个例子中,虚拟衍生字段可以在前端逻辑上实现。
在本实施例中,前端逻辑在加载完成时可以在页面预定的位置提供一个衍生字段创建界面,该创建界面包括若干输入选项,用来接收用户输入的一个或多个原始字段输入选项以及根据原始字段计算出衍生字段的计算方法;基于用户的输入在字段属性表中创建衍生字段记录,并将该字段衍生类型标识为衍生字段。另外,该创建界面还可以包括用来接收用户输入的衍生字段所归属的叶子类目的输入选项,但是如果只有一个叶子类目,则不需要该输入选项。
用户在创建界面完成输入并提交后,这些数据将会被前端逻辑追加保存到所述预存的表2中,在表2中形成一条新的记录来表征该衍生字段;相应地,步骤101执行时,这个新的衍生字段就会被展示出来,比如:图2所示的“累计消费金额”以及“累计消费次数”这两个字段。请参考表2中第5行到第9行的描述,其意思是字段的类型是衍生还是非衍生字段,如果是衍生字段,其对应哪些原始字段,原始字段ID、原始字段英文名、原始字段中文名、如何通过这些原始字段的取值计算得到衍生字段的取值等。
一旦衍生字段创建之后,对于前台的展示和筛选操作而言,并没有影响,也就是说步骤102以及步骤103会将衍生字段当成普通字段那样去处理,方式上并无差异。但是对于步骤104而言,可以进一步针对衍生字段做相应的处理。针对当前需要传递到后端的字段ID进行检查,根据表2确定该字段是否为衍生字段,如果是则将该衍生字段对应的原始字段ID以及所使用的计算方法一并携带在查询请求中发送到服务端。服务端收到查询请求之后针对衍生字段,获取对应的原始字段以及计算方法作为构造数据库查询语句的依据。
举例而言,假设衍生字段是累计消费金额,此时该衍生字段对应的原始字段只有一个,是消费金额这个字段,表示单次消费行为记录的一笔消费金额,相应的计算方法为求和。在步骤104,查询表2可以发现累计消费金额的衍生字段类型(参考表2中序号5的描述)的属性值为1,可以确定该字段为衍生字段,此时根据序号6的属性值可以确定对应的原始字段为消费金额,计算方法为SUM(求和)。将这些数据传递到服务端,服务端可以利用原始字段以及计算方法来构造查询语句查询数据。举例来说,假设用户在衍生字段“累计消费金额”对应的筛选框输入的筛选条件是600元-1000元,则查询数据库获取对象的过程中,查询语句可以首先筛选出一个所有符合其他筛选条件的消费行为记录,并将该消费行为记录作为查询结果返回给服务端,服务端进而可以根据所述计算方法将这些记录中的消费金额进行累加并判断是否满足上述600元-1000元这一筛选条件,如果是则该对象可以被加入作为查询结果的对象ID列表中呈现给用户。当然,在实际实现时,也可以先筛选累计消费金额满足上述600-1000元这一筛选条件的对象,然后从这些对象中筛选符合其他筛选条件的对象,比如:符合年龄、地区等筛选条件的对象,最后得到查询结果。
由以上描述可以看出,本申请提供的数据检索方法,通过衍生字段的设置,用户可以根据需要自定义衍生字段,从而实现对扩展字段的筛选,灵活性更高。
与前述可插拔的数据检索方法的实施例相对应,本申请还提供了可插拔的数据检索装置的实施例。
本申请可插拔的数据检索装置的实施例可以应用在终端装载的浏览器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在终端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请可插拔的数据检索装置所在终端的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的终端通常根据该指定的实际功能,还可以包括其他硬件,对此不再赘述。
图6是本申请一示例性实施例示出的一种可插拔的数据检索装置的框图。
请参考图6,所述可插拔的数据检索装置500可以应用在前述图5所示的终端中装载的浏览器上,包括有:类目与字段呈现单元501、类型确定单元502、筛选框确定单元503、字段查询单元504、衍生创建单元505以及字段标识单元506。
其中,所述类目与字段呈现单元501,将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户;
所述类型确定单元502,针对用户选择的字段,查找预设的字段属性表确定该字段的字段取值类型;
所述筛选框确定单元503,根据该字段的字段取值类型确定对应展示的筛选框;
所述字段查询单元504,向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识。
可选的,所述筛选框确定单元503,在所述字段取值类型为离散可枚举时,根据字段标识查询预设的参数取值表中的参数值,以获取该字段的各个离散的参数值;将所述离散的参数值加入到针对该字段的筛选框中,以供用户选择。
可选的,不同字段取值类型对应的筛选框不同。
可选的,所述字段包括存储在后台数据库中的原始字段以及未存储在所述后台数据库中的衍生字段;
所述衍生创建单元505,向用户提供一个衍生字段创建界面,该创建界面包括若干输入选项,用来接收用户输入的一个或多个原始字段输入选项以及根据原始字段计算出衍生字段的计算方法选项;
所述字段标识单元506,基于用户的输入在字段属性表中创建衍生字段记录,并将该字段衍生类型标识为衍生字段;
所述字段查询单元504,根据用户选择的字段标识在所述字段属性表中查询该字段的衍生类型,如果确定该字段为衍生字段,将该衍生字段对应的原始字段ID以及所使用的运算关系一并携带在所述查询请求中发送给服务端。
可选的,所述类目与字段呈现单元501,根据类目之间的父子关系,以树形结构展示类目列表,针对用户选择的类目,将所述类目的叶子类目下可前台展示的字段在当前用户界面中呈现给用户。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (8)

1.一种可插拔的数据检索方法,其特征在于,该方法包括:
将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户;
针对用户选择的字段,查找预设的字段属性表确定该字段的字段取值类型;
根据该字段的字段取值类型确定对应展示的筛选框;
向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识;
所述字段包括存储在后台数据库中的原始字段以及未存储在所述后台数据库中的衍生字段;所述方法还包括:
向用户提供一个衍生字段创建界面,该创建界面包括若干输入选项,用来接收用户输入的一个或多个原始字段输入选项以及根据原始字段计算出衍生字段的计算方法选项;
基于用户的输入在字段属性表中创建衍生字段记录,并将该字段衍生类型标识为衍生字段;
所述向服务端发起查询请求,包括:
根据用户选择的字段标识在所述字段属性表中查询该字段的衍生类型,如果确定该字段为衍生字段,将该衍生字段对应的原始字段ID以及所使用的运算关系一并携带在所述查询请求中发送给服务端。
2.根据权利要求1所述的方法,其特征在于,所述根据该字段的字段取值类型确定对应展示的筛选框,包括:
当所述字段取值类型为离散可枚举时,根据字段标识查询预设的参数取值表中的参数值,以获取该字段的各个离散的参数值;
将所述离散的参数值加入到针对该字段的筛选框中,以供用户选择。
3.根据权利要求1所述的方法,其特征在于:不同字段取值类型对应的筛选框不同。
4.根据权利要求1所述的方法,其特征在于,
所述将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户,包括:
根据类目之间的父子关系,以树形结构展示类目列表;
针对用户选择的类目,将所述类目的叶子类目下可前台展示的字段在当前用户界面中呈现给用户。
5.一种可插拔的数据检索装置,其特征在于,该装置包括:
类目与字段呈现单元,将预设的类目和所述类目下可前台展示的字段在当前用户界面中呈现给用户;
类型确定单元,针对用户选择的字段,查找预设的字段属性表确定该字段的字段取值类型;
筛选框确定单元,根据该字段的字段取值类型确定对应展示的筛选框;
字段查询单元,向服务端发起查询请求,其中该查询请求携带有用户在一个或多个已展示的筛选框中选择的筛选条件以及各个筛选条件对应的字段标识;
所述字段包括存储在后台数据库中的原始字段以及未存储在所述后台数据库中的衍生字段;所述装置还包括:
衍生创建单元,向用户提供一个衍生字段创建界面,该创建界面包括若干输入选项,用来接收用户输入的一个或多个原始字段输入选项以及根据原始字段计算出衍生字段的计算方法选项;
字段标识单元,基于用户的输入在字段属性表中创建衍生字段记录,并将该字段衍生类型标识为衍生字段;
所述字段查询单元,根据用户选择的字段标识在所述字段属性表中查询该字段的衍生类型,如果确定该字段为衍生字段,将该衍生字段对应的原始字段ID以及所使用的运算关系一并携带在所述查询请求中发送给服务端。
6.根据权利要求5所述的装置,其特征在于,
所述筛选框确定单元,在所述字段取值类型为离散可枚举时,根据字段标识查询预设的参数取值表中的参数值,以获取该字段的各个离散的参数值;将所述离散的参数值加入到针对该字段的筛选框中,以供用户选择。
7.根据权利要求5所述的装置,其特征在于:不同字段取值类型对应的筛选框不同。
8.根据权利要求5所述的装置,其特征在于,
所述字段呈现单元,根据类目之间的父子关系,以树形结构展示类目列表,针对用户选择的类目,将所述类目的叶子类目下可前台展示的字段在当前用户界面中呈现给用户。
CN201610473976.XA 2016-06-24 2016-06-24 一种可插拔的数据检索方法和装置 Active CN106874321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610473976.XA CN106874321B (zh) 2016-06-24 2016-06-24 一种可插拔的数据检索方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610473976.XA CN106874321B (zh) 2016-06-24 2016-06-24 一种可插拔的数据检索方法和装置

Publications (2)

Publication Number Publication Date
CN106874321A CN106874321A (zh) 2017-06-20
CN106874321B true CN106874321B (zh) 2020-04-21

Family

ID=59239316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610473976.XA Active CN106874321B (zh) 2016-06-24 2016-06-24 一种可插拔的数据检索方法和装置

Country Status (1)

Country Link
CN (1) CN106874321B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446344A (zh) * 2018-03-06 2018-08-24 政采云有限公司 自定义条件查询方法和系统
CN109828973A (zh) * 2019-01-31 2019-05-31 泰康保险集团股份有限公司 信息处理方法和设备
CN112306998B (zh) * 2020-10-13 2023-11-24 武汉中科通达高新技术股份有限公司 交委数据去重方法、装置及服务器
CN113706188A (zh) * 2021-07-26 2021-11-26 菲欧坦(重庆)数据科技有限公司 一种筛选亚马逊突破口类目市场的方法
CN113688228B (zh) * 2021-08-27 2024-03-22 贝壳找房(北京)科技有限公司 数据筛选方法、装置和系统
CN113835929B (zh) * 2021-09-24 2024-04-30 深圳追一科技有限公司 数据获取方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620599A (zh) * 2008-06-30 2010-01-06 上海全成通信技术有限公司 一种移动通信数据业务的客户统一视图建立方法
CN103577189A (zh) * 2013-10-30 2014-02-12 北京华胜天成科技股份有限公司 查询条件实现的方法及系统
CN103995698A (zh) * 2014-05-05 2014-08-20 重庆斯欧信息技术有限公司 一种面向业务的应用表单敏捷开发方法及系统
CN104615602A (zh) * 2013-11-05 2015-05-13 深圳中兴力维技术有限公司 查询界面自动生成实现装置及其方法
CN104699718A (zh) * 2013-12-10 2015-06-10 阿里巴巴集团控股有限公司 用于快速引入业务数据的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109752A1 (en) * 2006-11-07 2008-05-08 Yahoo! Inc. Expanding search query input box to support livesearch interaction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101620599A (zh) * 2008-06-30 2010-01-06 上海全成通信技术有限公司 一种移动通信数据业务的客户统一视图建立方法
CN103577189A (zh) * 2013-10-30 2014-02-12 北京华胜天成科技股份有限公司 查询条件实现的方法及系统
CN104615602A (zh) * 2013-11-05 2015-05-13 深圳中兴力维技术有限公司 查询界面自动生成实现装置及其方法
CN104699718A (zh) * 2013-12-10 2015-06-10 阿里巴巴集团控股有限公司 用于快速引入业务数据的方法和装置
CN103995698A (zh) * 2014-05-05 2014-08-20 重庆斯欧信息技术有限公司 一种面向业务的应用表单敏捷开发方法及系统

Also Published As

Publication number Publication date
CN106874321A (zh) 2017-06-20

Similar Documents

Publication Publication Date Title
CN106874321B (zh) 一种可插拔的数据检索方法和装置
US9773030B2 (en) Data importer for a sales prospector
US9760735B2 (en) Anonymous information exchange
US8346782B2 (en) Method and system of information matching in electronic commerce website
US20020013729A1 (en) Advertisement presentation system
Clayton Managing library automation
US20230021223A1 (en) Event prediction
Scholz et al. AKEGIS: automatic keyword generation for sponsored search advertising in online retailing
US7979323B2 (en) Exchanging retail pricing information
JP2007141051A (ja) 商品情報を管理する方法及びシステム
US20130132430A1 (en) Location Based Sales System
Maryati et al. E-commerce adoption strategy for e-library development in Indonesia
WO2010124334A1 (en) System and method for providing computer-enabled employment search services
US20020046094A1 (en) Method and system for delivering electronic advertisement via network
WO2016011452A1 (en) System for aggregating, comparing and acquiring collectibles, methods and uses thereof
US20150235330A1 (en) Real estate searching system with activation code enabled contacts
US20200380593A1 (en) Systems and Methods for Presenting and Responding to Visual Information and Ranking Results
US20160019622A1 (en) System for aggregating, comparing and acquiring collectibles, methods and uses thereof
KR101096405B1 (ko) 온라인 쇼핑몰 중개 방법 및 온라인 쇼핑몰 중개 시스템
US20140337192A1 (en) Method and apparatus for facilitating an ipr market
KR20220109046A (ko) 온라인 쇼핑몰 중개 방법 및 중개 시스템
Quaye DREAMHOME STAFF AND TRANSACTION MANAGEMENT SYSTEM
AU2002320648B2 (en) An Offender Tracking System
CN112632405A (zh) 一种推荐方法、装置、设备及存储介质
US8190654B2 (en) Bulk selection electronic tool

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.