名单数据获取方法、装置、计算机设备及存储介质与流程

文档序号:23539297发布日期:2021-01-05 20:46阅读:64来源:国知局
名单数据获取方法、装置、计算机设备及存储介质与流程

本申请涉及大数据技术领域,尤其涉及一种名单数据获取方法、装置、计算机设备及存储介质。



背景技术:

tidb是开源分布式mysql数据库,名单资源通常存储于tidb数据库中,每次获取处理名单需要查询数据库。传统的查询方式需要通过坐席能够处理的业务模式以及拨打机构等条件,来获取满足条件的名单数据。

名单数据具有不同的优先级特点,根据坐席拨打机构查询出相应的结果集数据之后,还需针对结果集数据,按照优先级特点的全部字段进行排序。当数据量大较大时,该种查询方式则会导致数据库排序时间过长(目前生产数据不到每日20万,单次获取时长超过0.15s),由此导致名单数据获取效率低下的技术问题。



技术实现要素:

本申请实施例的目的在于提出一种名单数据获取方法、装置、计算机设备及存储介质,以解决名单数据获取效率低下的技术问题。

为了解决上述技术问题,本申请实施例提供一种名单数据获取方法,采用了如下所述的技术方案:

获取预设的查询条件及优先字段,根据所述查询条件和所述优先字段获取对应的查询结果,组合所有所述查询条件对应的查询结果得到结果集数据;

根据所述查询条件对所述结果集数据进行分组得到分组数据,获取所述优先字段的查询等级,根据所述查询等级对所述分组数据进行排序处理,得到与所述查询条件对应的排序数据;

在接受到名单查询指令时,确定所述名单查询指令是否携带指定查询条件;

在所述名单查询指令不携带所述指定查询条件时,将所述排序数据中每个分组的首条数据组合成数据集,提取所述数据集中优先级最高的首条数据为所述名单查询指令对应的名单数据。

进一步的,所述根据所述查询条件对所述结果集数据进行分组得到分组数据的步骤具体包括:

将所述查询条件作为关键词,将所述优先字段和所述查询结果作为所述关键词对应的键;

根据所述关键词和所述键,基于预设数据结构对所述结果集数据进行分组得到分组数据。

进一步的,所述获取所述优先字段的查询等级,根据所述查询等级对所述分组数据进行排序处理的步骤具体包括:

获取预设的字段类别,确定每个所述分组数据中优先字段在不同所述字段类别下的查询等级,根据所述查询等级确定每个所述分组数据中查询结果的结果优先级;

根据所述结果优先级对每个所述分组数据中的查询结果进行排序,在所有所述分组数据均排序完成时,得到排序数据。

进一步的,所述根据所述查询等级确定每个所述分组数据中查询结果的结果优先级的步骤具体包括:

获取每个所述字段类别的预设初始权重,其中,所述字段类别包括名单名称、名单批次号和起止时间;

根据所述预设初始权重和所述查询等级,通过加权求和计算得到每个所述分组数据中查询结果的结果优先级。

进一步的,在所述得到与所述查询条件对应的排序数据的步骤之后还包括:

在接受到数据添加指令时,获取预设的定时添加时刻;

在达到所述定时添加时刻时,添加所述数据添加指令对应的新增查询结果及新增查询条件至所述排序数据中。

进一步的,在所述确定所述名单查询指令是否携带指定查询条件的步骤之后还包括:

在所述名单查询指令携带所述指定查询条件时,根据所述指定查询条件,查询所述排序数据中包括所述指定查询条件的分组数据,提取所述分组数据中的首条数据为所述名单查询指令对应的名单数据。

进一步的,在所述组合所述查询结果得到结果集数据的步骤之后还包括:

获取每个所述查询条件对应的名单主键;

按照所述名单主键,将所述查询条件和所述优先字段组成数据行,并关联所述查询条件对应的查询结果;

将所述名单主键、所述查询条件、所述优先字段和所述查询结果加载至应用内存中存储。

为了解决上述技术问题,本申请实施例还提供一种名单数据获取装置,采用了如下所述的技术方案:

获取模块,用于获取预设的查询条件及优先字段,根据所述查询条件和所述优先字段获取对应的查询结果,组合所有所述查询条件对应的查询结果得到结果集数据;

分组模块,用于根据所述查询条件对所述结果集数据进行分组得到分组数据,对所述分组数据进行排序处理,得到与所述查询条件对应的排序数据;

确认模块,用于在接受到名单查询指令时,确定所述名单查询指令是否携带指定查询条件;

提取模块,用于在所述名单查询指令不携带所述指定查询条件时,将所述排序数据中每个分组的首条数据组合成数据集,提取所述数据集中优先级最高的首条数据为所述名单查询指令对应的名单数据。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述名单数据获取方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述名单数据获取方法的步骤。

本申请通过获取预设的查询条件及优先字段,根据所述查询条件和所述优先字段获取对应的查询结果,组合所有所述查询条件对应的查询结果得到结果集数据;根据所述查询条件对所述结果集数据进行分组得到分组数据,该分组数据即为按照查询条件进行分组,并包括每个查询条件对应优先字段和查询结果的数据,在得到分组数据时,获取预设的字段类别,根据所述字段类别对所述分组数据进行排序处理,得到与所述查询条件对应的排序数据;在接受到名单查询指令时,确定所述名单查询指令是否携带指定查询条件,该指定查询条件为请求方发起的请求查询的查询条件;在所述名单查询指令不携带所述指定查询条件时,即表示直接获取当前存储的最优的名单数据,而无需根据指定查询条件对指定的名单数据进行获取;将所述排序数据中每个分组的首条数据组合成数据集,提取所述数据集中优先级最高的首条数据为所述名单查询指令对应的名单数据,该名单数据即为该不携带指定查询条件的名单查询指令获取到的最优的名单数据,由此实现了对数据的快速查询,尤其在数据量级较大时,大幅度降低了名单数据的获取时间,提高了数据的获取效率。

附图说明

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

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的名单数据获取方法的一个实施例的流程图;

图3是根据本申请的名单数据获取装置的一个实施例的结构示意图;

图4是根据本申请的计算机设备的一个实施例的结构示意图。

附图标记:名单数据获取装置400包括:获取模块401、分组模块402、确认模块403、提取模块404。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的名单数据获取方法一般由服务器/终端设备执行,相应地,名单数据获取装置一般设置于服务器/终端设备中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的名单数据获取方法的一个实施例的流程图。所述的名单数据获取方法,包括以下步骤:

步骤s201,获取预设的查询条件及优先字段,根据所述查询条件和所述优先字段获取对应的查询结果,组合所有所述查询条件对应的查询结果得到结果集数据;

在本实施例中,预设的查询条件为预先根据当前应用场景采集设定的查询条件,不同应用场景可能有不同预设的查询条件。如在保险的应用场景下,该应用场景下的简单查询条件便由应用模型及机构类型相乘得到的多种组合。优先字段则为在字段类别下包括的具体字段内容,该字段类别则包括:名单名称、名单批次号、起止时间等。根据该查询条件及优先字段查询结果数据库,获取每一条查询条件对应的查询结果。该查询结果组合而成即为该结果集数据,其中,组合为多个查询结果排列在一起,并不限定组合的形式。

步骤s202,根据所述查询条件对所述结果集数据进行分组得到分组数据,获取所述优先字段的查询等级,根据所述查询等级对所述分组数据进行排序处理,得到与所述查询条件对应的排序数据;

在本实施例中,在得到结果集数据时,则根据该查询条件对该结果集数据进行分组,即将每一条查询条件和优先字段与之对应的查询结果一一分组存储,每个查询条件可能对应有多个查询结果,由查询条件、优先字段和查询结果组合而成的多个分组数据。在得到该分组数据时,获取优先字段的查询等级,不同的优先字段可能有不同预设的查询等级,根据该查询等级可以对每个分组中的查询结果进行优先级的排序,其中,查询等级越高则优先级越高。将每个分组数据中的查询结果按照优先级的顺序从高到低进行排序,得到数据即为当前查询条件对应的排序数据。

步骤s203,在接受到名单查询指令时,确定所述名单查询指令是否携带指定查询条件;

在本实施例中,名单查询指令为接受到的名单数据查询指令,该名单查询指令包括两种,一种为不携带指定查询条件的名单查询指令,另一种为携带指定查询条件的名单查询指令。在接收到名单查询指令时,则确定该名单查询指令是否携带指定查询条件,其中,在请求方发送名单查询指令时,可将名单查询指令与指定查询条件绑定发送至查询方;在查询方接收到该名单查询指令时,则确定该名单查询指令是否携带指定查询条件。若该名单查询指令携带有指定查询条件,则根据该携带的指定查询条件进行查询;若该名单查询指令不携带指定查询条件,即表示根据该名单查询指令直接获取当前存储的优先级最高的查询结果,例如,在坐席模式下,通常接收到的名单查询指令并不有携带指定查询条件,只需根据该名单查询指令查询最优的名单数据即可。

步骤s204,在所述名单查询指令不携带所述指定查询条件时,将所述排序数据中每个分组的首条数据组合成数据集,提取所述数据集中优先级最高的首条数据为所述名单查询指令对应的名单数据。

在本实施例中,在名单查询指令不携带查询条件时,如在坐席模式中,该名单查询指令则不携带任何的查询指令,则筛选排序数据中每个分组的首条数据,该首条数据即为该分组中优先级最高的查询数据。将所有的首条数据组合成一个数据集,再根据每个首条数据的优先级对该数据集中的所有首条数据进行排序,其中优先级最高的一条首条数据则为该名单查询指令对应的名单数据。发送该名单数据至该名单查询指令对应的请求方,并移除该名单数据。

需要强调的是,为进一步保证上述名单数据的私密和安全性,上述名单数据还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本申请实现了对数据的快速查询,尤其在数据量级较大时,大幅度降低了名单数据的获取时间,提高了数据的获取效率。

在本申请的一些实施例中,上述根据所述查询条件对所述结果集数据进行分组得到分组数据包括:

将所述查询条件作为关键词,将所述优先字段和所述查询结果作为所述关键词对应的键;

根据所述关键词和所述键,基于预设数据结构对所述结果集数据进行分组得到分组数据。

在本实施例中,在获取到结果集数据,对该结果集数据进行分组。具体地,将该查询条件作为关键词(即key),将优先字段和查询结果作为该关键词对应的键,基于预设数据结(如map数据结构)对该结构数据集进行分组。其中,关键词可以对关联的键进行唯一的标识,每个查询条件都与其对应的优先字段和查询结果关联。具体地,在获取到结果集数据时,将每一条查询条件作为一个key,即关键词,每条查询条件对应的查询结果和优先字段则为该key对应的value值,每个分组数据则可表示为(keyvalue)的组合形式。并且,同一个查询条件对应的查询结果并非唯一,查询条件可能为大致范围的查询条件,其对应的符合该查询条件的查询结果则可能有多个,同一个查询条件(key)可以有不同的查询结果,将同一个查询条件(key)的查询结果划分为同一个分组。

本实施例实现了对结果集数据的分组,使得通过将查询条件作为索引,在数据查询时,可以快速地获取到满足查询条件的数据。

在本申请的一些实施例中,上述获取所述优先字段的查询等级,根据所述查询等级对所述分组数据进行排序处理包括:

获取预设的字段类别,确定每个所述分组数据中优先字段在不同所述字段类别下的查询等级,根据所述查询等级确定每个所述分组数据中查询结果的结果优先级;

根据所述结果优先级对每个所述分组数据中的查询结果进行排序,在所有所述分组数据均排序完成时,得到排序数据。

在本实施例中,由于同一个查询条件可能会查询到多个查询结果,因此,对于同一查询条件下的分组数据,同一个分组下所包含的不同查询结果,需要对其进行优先级的排序。具体地,在获取到分组数据时,获取同属为一组的分组数据下每个查询结果对应的结果优先级,该结果优先级为该分组数据中同一查询条件下不同查询结果的优先级大小。该结果优先级可根据每个查询结果对应的优先字段在不同字段类别下的查询等级确定,查询等级的值越大则对应的结果优先级越高,其中,字段类别则包括:名单名称、名单批次号、起止时间等,优先字段则为该字段类别下的具体字段内容,优先字段的查询等级则根据每个不同字段类别对应的预设等级规则确定。例如,在字段类别为名单批次号时,在该名单批次号下的优先字段的查询等级按照数字大小进行确定,数字越小的名单批次号则对应的查询等级的值则越大;而对于名单名称下优先字段的查询等级则可按照预设等级规则,对数据进行等级划分,如一级机构下的名单名称对应的等级最高,其查询等级的值也越大。

根据预设等级规则对每个查询结果对应的优先字段在不同字段类别下的查询等级进行确定,将该不同字段类别下的查询等级进行求和,即可得到每个查询结果对应的结果优先级。在获取到每个查询结果对应的结果优先级时,则按照该结果优先级从高到低的顺序对同一分组内的查询结果进行排序。在所有不同的分组均排序完成时,即得到当前查询条件对应的排序数据。

本实施例实现了按照查询条件对数据的排序,使得在进行数据获取时,能快速直接地获取到优先级最高的数据,而无需在获取数据时对所有数据进行优先级的排序再获取,进一步提高了数据获取的效率。

在本申请的一些实施例中,上述根据所述查询等级确定每个所述分组数据中查询结果的结果优先级包括:

获取每个所述字段类别的预设初始权重,其中,所述字段类别包括名单名称、名单批次号和起止时间;

根据所述预设初始权重和所述查询等级,通过加权求和计算得到每个所述分组数据中查询结果的结果优先级。

在本实施例中,在计算每个分组数据中查询结果的结果优先级时,还可以预先获取每种字段类别对应的预设初始权重,根据该预设初始权重和获取到的查询等级计算得到查询结果的结果优先级。具体地,每种字段类别对应有不同的预设初始权重,将同一字段类别的预设初始权重与对应的查询等级相乘得到乘积结果,再将每个查询结果在不同字段类别下的乘积结果进行相加即得到该查询结果对应的结果优先级。其中,该结果优先级用数字表示,数字越高则对应的优先级越高。

例如,对于某一查询条件下的查询结果a,名单名称的预设初始权重为0.5、名单批次号的预设初始权重为0.2、起止时间的预设初始权重为0.3。该查询结果a在字段类别为名单名称下的查询等级为2级,对应的名单批次号下的查询等级为1级,对应的起止时间下的查询等级为4级,则通过加权求和计算得到该查询结果a的结果优先级为2.4级。

本实施例实现了对不同查询结果的精确计算,进一步实现了对查询结果优先级的精确划分,使得在进行数据获取时,能够根据该优先级精确地获取到最符合查询条件的结果。

在本申请的一些实施例中,在上述得到与所述查询条件对应的排序数据之后还包括:

在接受到数据添加指令时,获取预设的定时添加时刻;

在达到所述定时添加时刻时,添加所述数据添加指令对应的新增查询结果及新增查询条件至所述排序数据中。

在本实施例中,定时添加时刻为预先设定的定时添加任务中规定的添加询时刻,通过该定时添加任务可以对结果数据库进行分时段的定时添加。因此,在接收到数据添加指令时,获取预设的定时添加时刻,在达到该定时添加时刻时,触发对应的定时添加任务。根据该定时添加任务查询当前存储的排序数据,并将该数据添加指令携带的新增查询条件和新增查询结果添加至该排序数据中。

本实施例实现了对数据的新增处理,并通过定时添加任务对排序数据进行定时地查询和数据地新增,进一步实现了对数据的定期更新和维护。

在本申请的一些实施例中,在上述确定所述名单查询指令是否携带指定查询条件之后还包括:

在所述名单查询指令携带所述指定查询条件时,根据所述指定查询条件,查询所述排序数据中包括所述指定查询条件的分组数据,提取所述分组数据中的首条数据为所述名单查询指令对应的名单数据。

在本实施例中,在该名单查询指令携带指定查询条件时,则根据该名单查询指令中携带的该指定查询条件获取排序数据中包括该指定查询条件的所有分组数据。该分组数据中排列第一的查询结果的数据,即首条数据,则确定为该名单查询指令对应的名单数据。在获取到该名单数据时,发送该名单数据至该名单查询指令对应的请求方,同时保留该名单数据。除此之外,若根据该名单查询指令携带的指定查询条件,无法查询到对应的查询结果,则反馈对应的查询失败信息至当前名单查询指令对应的请求方。

本实施例实现了在名单查询指令中携带指定查询条件时,对名单数据的快速查询,进一步提高了对名单数据的获取效率。

在本申请的一些实施例中,在上述组合所述查询结果得到结果集数据之后还包括:

获取每个所述查询条件对应的名单主键;

按照所述名单主键,将所述查询条件和所述优先字段组成数据行,并关联所述查询条件对应的查询结果;

将所述名单主键、所述查询条件、所述优先字段和所述查询结果加载至应用内存中存储。

在本实施例中,名单主键为名单唯一的标识列,根据该名单主键可以对每列数据进行标识。在获取到查询条件和优先字段时,获取该查询条件对应的名单主键,根据该名单主键,将不同的查询条件和优先字段组合成不同的数据行。之后将该组合而成的多个数据行与每个查询条件对应的查询结果关联,并将名单主键、查询条件、优先字段和查询结果加载至应用内存中存储。

本实施例实现了通过应用内存对数据的存储,使得通过该应用内存,在数据提取时,能够更快地获取到对应的数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种名单数据获取装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图3所示,本实施例所述的名单数据获取装置400包括:获取模块401、分组模块402、确认模块403、提取模块404。其中:

获取模块401,用于获取预设的查询条件及优先字段,根据所述查询条件和所述优先字段获取对应的查询结果,组合所有所述查询条件对应的查询结果得到结果集数据;

在本实施例中,预设的查询条件为预先根据当前应用场景采集设定的查询条件,不同应用场景可能有不同预设的查询条件。如在保险的应用场景下,该应用场景下的简单查询条件便有由应用模型及机构类型相乘得到的多种组合。优先字段则为在字段类别下包括的具体字段内容,该字段类别则包括:名单名称、名单批次号、起止时间等。根据该查询条件及优先字段查询结果数据库,获取每一条查询条件对应的查询结果。该查询结果组合而成即为该结果集数据,其中,组合为多个查询结果排列在一起,并不限定组合的形式。

分组模块402,用于根据所述查询条件对所述结果集数据进行分组得到分组数据,获取所述优先字段的查询等级,根据所述查询等级对所述分组数据进行排序处理,得到与所述查询条件对应的排序数据;

其中,所述分组模块402包括:

第一确认单元,用于将所述查询条件作为关键词,将所述优先字段和所述查询结果作为所述关键词对应的键;

分组单元,用于根据所述关键词和所述键,基于预设数据结构对所述结果集数据进行分组得到分组数据。

第二确认单元,用于获取预设的字段类别,确定每个所述分组数据中优先字段在不同所述字段类别下的查询等级,根据所述查询等级确定每个所述分组数据中查询结果的结果优先级;

排序单元,用于根据所述结果优先级对每个所述分组数据中的查询结果进行排序,在所有所述分组数据均排序完成时,得到排序数据。

其中,所述第二确认单元还包括:

获取子单元,用于获取每个所述字段类别的预设初始权重,其中,所述字段类别包括名单名称、名单批次号和起止时间;

计算子单元,用于根据所述预设初始权重和所述查询等级,通过加权求和计算得到每个所述分组数据中查询结果的结果优先级。

在本实施例中,在得到结果集数据时,则根据该查询条件对该结果集数据进行分组,即将每一条查询条件和优先字段与之对应的查询结果一一分组存储,每个查询条件可能对应有多个查询结果,由查询条件、优先字段和查询结果组合而成的多个分组数据。在得到该分组数据时,获取优先字段的查询等级,不同的优先字段可能有不同预设的查询等级,根据该查询等级可以对每个分组中的查询结果进行优先级的排序,其中,查询等级越高则优先级越高。将每个分组数据中的查询结果按照优先级的顺序从高到低进行排序,得到数据即为当前查询条件对应的排序数据

确认模块403,用于在接受到名单查询指令时,确定所述名单查询指令是否携带指定查询条件;

在本实施例中,名单查询指令为接受到的名单数据查询指令,该名单查询指令包括两种,一种为不携带指定查询条件的名单查询指令,另一种为携带指定查询条件的名单查询指令。在接收到名单查询指令时,则确定该名单查询指令是否携带指定查询条件,其中,在请求方发送名单查询指令时,可将名单查询指令与指定查询条件绑定发送至查询方;在查询方接收到该名单查询指令时,则确定该名单查询指令是否携带指定查询条件。若该名单查询指令携带有指定查询条件,则根据该携带的指定查询条件进行查询;若该名单查询指令不携带指定查询条件,即表示根据该名单查询指令直接获取当前存储的优先级最高的查询结果,例如,在坐席模式下,通常接收到的名单查询指令并不有携带指定查询条件,只需根据该名单查询指令查询最优的名单数据即可。

提取模块404,用于在所述名单查询指令不携带所述指定查询条件时,将所述排序数据中每个分组的首条数据组合成数据集,提取所述数据集中优先级最高的首条数据为所述名单查询指令对应的名单数据。

在本实施例中,在名单查询指令不携带查询条件时,如在坐席模式中,该名单查询指令则不携带任何的查询指令,则筛选排序数据中每个分组的首条数据,该首条数据即为该分组中优先级最高的查询数据。将所有的首条数据组合成一个数据集,再根据每个首条数据的优先级对该数据集中的所有首条数据进行排序,其中优先级最高的一条首条数据则为该名单查询指令对应的名单数据。发送该名单数据至该名单查询指令对应的请求方,并移除该名单数据。

需要强调的是,为进一步保证上述名单数据的私密和安全性,上述名单数据还可以存储于一区块链的节点中。

本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

本申请中的名单数据获取装置还包括:

第一获取子模块,用于在接受到数据添加指令时,获取预设的定时添加时刻;

添加子模块,用于在达到所述定时添加时刻时,添加所述数据添加指令对应的新增查询结果及新增查询条件至所述排序数据中。

在本实施例中,定时添加时刻为预先设定的定时添加任务中规定的添加询时刻,通过该定时添加任务可以对结果数据库进行分时段的定时添加。因此,在接收到数据添加指令时,获取预设的定时添加时刻,在达到该定时添加时刻时,触发对应的定时添加任务。根据该定时添加任务查询当前存储的排序数据,并将该数据添加指令携带的新增查询条件和新增查询结果添加至该排序数据中。

提取子模块,用于在所述名单查询指令携带所述指定查询条件时,根据所述指定查询条件,查询所述排序数据中包括所述指定查询条件的分组数据,提取所述分组数据中的首条数据为所述名单查询指令对应的名单数据。

在本实施例中,在该名单查询指令携带指定查询条件时,则根据该名单查询指令中携带的该指定查询条件获取排序数据中包括该指定查询条件的所有分组数据。该分组数据中排列第一的查询结果的数据,即首条数据,则确定为该名单查询指令对应的名单数据。在获取到该名单数据时,发送该名单数据至该名单查询指令对应的请求方,同时保留该名单数据。除此之外,若根据该名单查询指令携带的指定查询条件,无法查询到对应的查询结果,则反馈对应的查询失败信息至当前名单查询指令对应的请求方。

第二获取子模块,用于获取每个所述查询条件对应的名单主键;

关联子模块,用于按照所述名单主键,将所述查询条件和所述优先字段组成数据行,并关联所述查询条件对应的查询结果;

存储子模块,用于将所述名单主键、所述查询条件、所述优先字段和所述查询结果加载至应用内存中存储。

在本实施例中,名单主键为名单唯一的标识列,根据该名单主键可以对每列数据进行标识。在获取到查询条件和优先字段时,获取该查询条件对应的名单主键,根据该名单主键,将不同的查询条件和优先字段组合成不同的数据行。之后将该组合而成的多个数据行与每个查询条件对应的查询结果关联,并将名单主键、查询条件、优先字段和查询结果加载至应用内存中存储。

本申请提供的名单数据获取装置,实现了对数据的快速查询,尤其在数据量级较大时,大幅度降低了名单数据的获取时间,提高了数据的获取效率。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。

所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如名单数据获取方法的计算机可读指令等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器62在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的计算机可读指令或者处理数据,例如运行所述名单数据获取方法的计算机可读指令。

所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。

本申请提供的所述计算机设备,实现了对数据的快速查询,尤其在数据量级较大时,大幅度降低了名单数据的获取时间,提高了数据的获取效率。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的名单数据获取方法的步骤。

本申请提供的所述计算机可读存储介质,实现了对数据的快速查询,尤其在数据量级较大时,大幅度降低了名单数据的获取时间,提高了数据的获取效率。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

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