CN109062936A - 一种数据查询方法、计算机可读存储介质及终端设备 - Google Patents
一种数据查询方法、计算机可读存储介质及终端设备 Download PDFInfo
- Publication number
- CN109062936A CN109062936A CN201810618414.9A CN201810618414A CN109062936A CN 109062936 A CN109062936 A CN 109062936A CN 201810618414 A CN201810618414 A CN 201810618414A CN 109062936 A CN109062936 A CN 109062936A
- Authority
- CN
- China
- Prior art keywords
- data
- level
- subject
- identification
- inquired
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000012795 verification Methods 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 9
- 238000013524 data verification Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 101100394003 Butyrivibrio fibrisolvens end1 gene Proteins 0.000 description 3
- 101100174722 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GAA1 gene Proteins 0.000 description 3
- 101100296979 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) PEP5 gene Proteins 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 1
- -1 LowerLayerDATASET Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明属于计算机技术领域,尤其涉及一种数据查询方法、计算机可读存储介质及终端设备。所述方法预先设置了各个数据主体之间的层级关系,并设置了各个层级与各个子数据库之间一一对应的关系,即每个子数据库只存储对应层级的数据,将不同层级的数据划分到不同的子数据库中,并且使用数据标识来标识子数据库中的各个数据,在进行数据查询时,首先获取待查询数据所属的数据主体和数据类别,然后在预设的组织架构树中查询所述数据主体所属的层级,在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,并根据所述数据主体和所述数据类别确定所述待查询数据的数据标识,即可在所述子数据库中查询由所述数据标识所标识的数据。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种数据查询方法、计算机可读存储介质及终端设备。
背景技术
目前在进行数据存储与查询时,一般对各条数据都是采用相同的处理方式,并不对各条数据之间的差异进行区分,而事实上,数据之间往往存在着层级之间的关系,而目前的数据存储和查询方案中并没有针对这种层级关系的专门的解决方案,导致在进行层级数据查询时效率往往较低,影响用户体验。
发明内容
有鉴于此,本发明实施例提供了一种数据查询方法、计算机可读存储介质及终端设备,以解决现有技术在进行层级数据查询时效率较低的问题。
本发明实施例的第一方面提供了一种数据查询方法,可以包括:
获取待查询数据所属的数据主体和数据类别;
在预设的组织架构树中查询所述数据主体所属的层级,所述组织架构树为记录各个数据主体之间的层级关系的树状结构;
在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系;
根据所述数据主体和所述数据类别确定所述待查询数据的数据标识;
在所述子数据库中查询由所述数据标识所标识的数据。
本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
获取待查询数据所属的数据主体和数据类别;
在预设的组织架构树中查询所述数据主体所属的层级,所述组织架构树为记录各个数据主体之间的层级关系的树状结构;
在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系;
根据所述数据主体和所述数据类别确定所述待查询数据的数据标识;
在所述子数据库中查询由所述数据标识所标识的数据。
本发明实施例的第三方面提供了一种数据查询终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
获取待查询数据所属的数据主体和数据类别;
在预设的组织架构树中查询所述数据主体所属的层级,所述组织架构树为记录各个数据主体之间的层级关系的树状结构;
在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系;
根据所述数据主体和所述数据类别确定所述待查询数据的数据标识;
在所述子数据库中查询由所述数据标识所标识的数据。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例充分考虑了数据之间的层级关系,预先设置了各个数据主体之间的层级关系,并设置了各个层级与各个子数据库之间一一对应的关系,即每个子数据库只存储对应层级的数据,将不同层级的数据划分到不同的子数据库中,并且使用数据标识来标识子数据库中的各个数据,在进行数据查询时,首先获取待查询数据所属的数据主体和数据类别,然后在预设的组织架构树中查询所述数据主体所属的层级,在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,并根据所述数据主体和所述数据类别确定所述待查询数据的数据标识,即可在所述子数据库中查询由所述数据标识所标识的数据。通过子数据库对数据的划分以及数据标识对数据的标识,可以在对应层级的子数据库中快速地查询到待查询数据,查询效率大大提升,获得了良好的用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中的一种数据存储结构的示意图;
图2为组织架构树的一个例图;
图3为本发明实施例中一种数据查询方法的一个实施例流程图;
图4为本发明实施例中的一种数据格式的示意图;
图5为在查询到待查询数据之后,进一步地查询在其之下的各个层级的数据的示意流程图;
图6为本发明实施例中一种数据查询装置的一个实施例结构图;
图7为本发明实施例中一种数据查询终端设备的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例在进行数据存储时,将实际的数据库划分为多个子数据库。其中,不同的子数据库用于存储不同层级的数据,例如,子数据库1用于存储层级1的数据,子数据库2用于存储层级2的数据,……,子数据库n用于存储层级n的数据,……,子数据库N用于存储层级N的数据,N为层级的总数,1≤n≤N,n取值越大,则代表的层级也越高。
层级n+1的数据是以层级n的数据为基础汇总得到的,以公司的年度计划的数据为例,可以构造如图2所示的组织架构树,该组织架构树为记录各个数据主体之间的层级关系的树状结构,公司的组织架构可以分为4个层级,按照从低到高的顺序依次为:员工(层级1)、小组(层级2)、部门(层级3)、公司(层级4)。其中的任意一个员工、小组、部门、公司均为一个数据主体,员工(层级1)的年度计划数据是最基础的数据,小组(层级2)的年度计划数据是以员工(层级1)的年度计划数据为基础汇总得到的,同理,部门(层级3)的年度计划数据是以小组(层级2)的年度计划数据为基础汇总得到的,公司(层级4)的年度计划数据是以部门(层级3)的年度计划数据为基础汇总得到的,但需要注意的是,层级n+1对层级n的数据的汇总并不是简单的数据复制,而是对层级n的数据进行综合处理得到的,例如,对于某一任务的任务量而言,层级n+1的数据可以是计算得到的层级n的数据的和,因此,层级n+1的数据是层级n的数据的一个总体反映,但是,由层级n+1的数据无法反推出层级n的数据。
如图3所示,在上述的数据存储结构下,一种数据查询方法的一个实施例可以包括:
步骤S301、获取待查询数据所属的数据主体和数据类别。
所述数据主体包括但不限于任意一个员工、小组、部门、公司等,所述数据主体包括但不限于年度计划数据、休假数据、绩效数据、考勤数据等。
待查询数据所属的数据主体和数据类别可以通过用户在交互界面上的输入来获取,即用户在进行数据查询时,首先在交互界面上选择数据主体和数据类别,例如,若用户需要查询部门1的年度计划数据,则在交互界面上选择部门1作为数据主体,选择年度计划数据作为数据类型。
步骤S302、在预设的组织架构树中查询所述数据主体所属的层级。
即在如图2所示的组织架构树中查询所述数据主体所属的层级,例如,若所述数据主体为部门1,则通过查询,可确定出其所属的层级为层级3。
步骤S303、在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库。
所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系,下表所示即为一个数据库列表的示例:
层级 | 子数据库 |
层级1 | 子数据库1 |
层级2 | 子数据库2 |
层级3 | 子数据库3 |
层级4 | 子数据库4 |
若所述数据主体所属的层级为层级3,则通过查表可确定与之对应的子数据库为子数据库3。
步骤S304、根据所述数据主体和所述数据类别确定所述待查询数据的数据标识。
本实施例中通过数据标识来对数据进行索引,同一层级中数据的数据标识是唯一的,不同层级中数据的数据标识可以是不唯一的。例如,层级1中数据的数据标识可以按照1、2、3、……的顺序依次排列,层级2中数据的数据标识仍然可以按照1、2、3、……的顺序依次排列。
具体地,在一种具体实现中,可以根据下式确定所述待查询数据的数据标识:
SN=(Seqclass-1)×SubjectNum+Seqsubject
其中,Seqclass为数据类别的序号,1≤Seqclass≤ClassaNum,ClassaNum为数据类别的总数,例如,年度计划数据的序号为1,绩效数据的序号为2,……,Seqsubject为数据主体的序号,1≤SeqSubject≤SubjectNum,SubjectNum为数据主体的总数,例如,部门1的序号为1,部门2的序号为2,部门3的序号为3,……,SN为所述待查询数据的数据标识。
在另一种具体实现中,还可以通过查表的方式确定所述待查询数据的数据标识,即在预设的数据标识列表中查询由所述数据主体和所述数据类别共同对应的数据标识,所述数据标识列表记录了数据主体、数据类别与数据标识之间的对应关系,下表所示即为一个数据库列表的示例:
数据主体 | 数据类别 | 数据标识 |
部门1 | 年度计划数据 | 1 |
部门2 | 年度计划数据 | 2 |
部门3 | 年度计划数据 | 3 |
部门1 | 绩效数据 | 4 |
部门2 | 绩效数据 | 5 |
部门3 | 绩效数据 | 6 |
…… | …… | …… |
…… | …… | …… |
若数据主体为部门2,数据类别为绩效数据,则可根据该表查询到由所述数据主体和所述数据类别共同对应的数据标识为5。
步骤S305、在所述子数据库中查询由所述数据标识所标识的数据。
通过上述步骤S303确定出了待查询数据所在的子数据库,通过上述步骤S304确定出了待查询数据的数据标识,则可以在所述子数据库中查询由所述数据标识所标识的数据,即为待查询数据。
进一步地,在本发明实施例中,还可以建立各个层级的数据之间的对应关系,便于进行维护和管理,对于每一条数据,均采用如图4所示的数据格式,每条数据均按照BEGIN、SN、DATA、END1、LowerLayerDATASET、END2这样的先后顺序排列,其中:
BEGIN为预设的起始字符,用于标识数据的起始位置,BEGIN占用的字节数固定(4字节或8字节等)。
SN为数据标识,其占用的字节数固定(4字节或8字节等)。
DATA为数据正文,其占用的字节数不固定。
END1为预设的正文结束字符,用于标识数据正文的结束位置,END1占用的字节数固定(4字节或8字节等)。
LowerLayerDATASET为数据索引集合,所述数据索引集合包括至少一条数据索引(即图4中的LDATA),所述数据索引集合中的每条数据索引均分别包括一个数据标识(即图4中的LSN)和一个校验哈希值(即图4中的HashKey)。每条数据索引均对应于下一层级的一条数据,LSN为其对应的下一层级数据的数据标识,HashKey为其对应的下一层级数据的哈希值。即:
LSNn,m,l=SNn-1,m′
HashKeyn,m,l=HASH(SNn-1,m′∪DATAn-1,m′∪LowerlayerDATASETn-1,m′)
其中,n为层级的序号,1≤n≤N,N为层级的总数,m为数据的序号,1≤m≤DNumn,DNumn为层级n的数据总数,l为数据索引的序号,1≤l≤LNumn,m,LNumn,m为层级n的第m条数据中的数据索引总数,m′为由层级n的第m条数据的第l条数据索引中的数据标识所标识的层级n-1的数据的序号,SNn-1,m′为层级n-1的第m′条数据的数据标识,DATAn-1,m′为层级n-1的第m′条数据的数据正文,LowerlayerDATASETn-1,m′为层级n-1的第m′条数据的数据索引集合,HASH为预设的哈希函数,LSNn,m,l为层级n的第m条数据的第l条数据索引中的LSN,HashKeyn,m,l为层级n的第m条数据的第l条数据索引中的校验哈希值。
需要注意的是,由于层级1的数据不存在下一层级的数据,其LowerLayerDATASET为空。
END2为预设的数据结束字符,用于标识整个数据的结束位置,END2占用的字节数固定(4字节或8字节等)。
在上述的数据存储结构和数据格式下,在步骤S305查询到待查询数据之后,还可以进一步地通过如图5所示的步骤查询在其之下的各个层级的数据:
步骤S501、获取数据查询的查询深度。
查询深度可以通过用户在交互界面上的输入来获取,即用户在进行数据查询时,可以在交互界面上选择查询深度,若查询深度为1,则只查询当前子数据库中的数据,若查询深度为2,则在查询完当前子数据库中的数据之后,还要进一步根据LowerLayerDATASET在下一层级的子数据库中继续查询,若查询深度为3,则在查询完当前虚拟子数据库中的数据之后,还要进一步根据LowerLayerDATASET在下两个层级的子数据库中继续查询,……,以此类推。
特殊地,若查询深度为ALL,则一直查询至最低层级的数据为止,若查询深度为NULL(空),则默认取值为1,即只查询当前子数据库中的数据。
步骤S502、判断所述查询深度是否大于1。
若所述查询深度大于1,则执行步骤S503及其后续步骤,若所述查询深度等于1,则执行步骤S509。
步骤S503、在所述子数据库中查询由所述数据标识所标识的数据之后,将由所述数据标识所标识的数据确定为第一基准数据。
步骤S504、从所述基准数据中提取数据索引集合。
若当前已确定出第二基准数据,则应从第二基准数据中提取数据索引集合,若当前尚未确定出第二基准数据,则应从第一基准数据中提取数据索引集合。其中,第一基准数据为由所述数据主体和所述数据类别确定的数据标识所标识的数据,第二基准数据为由数据索引中的数据标识所标识的数据。
步骤S505、在与下一层级对应的子数据库中分别查询由各条数据索引中的数据标识所标识的数据,并通过各条数据索引中的校验哈希值分别对查询到的数据进行校验。
具体地,可以通过判断如下所示的校验等式是否成立来对查询到的数据进行校验:
HashKeyn,m,l=HASH(SNn-1,m′∪DATAn-1,m′∪LowerlayerDATASETn-1,m′)
若所述校验等式成立,则确定对层级n-1的第m′条数据校验成功,若所述校验等式不成立,则确定对层级n-1的第m′条数据校验失败。
步骤S506、将校验成功的数据确定为第二基准数据。
步骤S507、将所述查询深度减去1。
步骤S508、判断所述查询深度是否大于1。
若所述查询深度大于1,则返回执行步骤S504及其后续步骤,若所述查询深度等于1,则执行步骤S509。
步骤S509、结束数据查询。
通过上述过程,在查询到待查询数据之后,还可以进一步地查询在其之下的各个层级的数据。例如,若待查询数据为部门1的年度计划数据,而部门1在下一层级对应的是小组1和小组2,则可以进一步地查询到小组1的年度计划数据和小组2的年度计划数据,小组1在下一层级对应的是员工1和员工2,小组2在下一层级对应的是员工3和员工4,则可以进一步地查询到员工1的年度计划数据、员工2的年度计划数据、员工3的年度计划数据和员工4的年度计划数据,从而实现对任意数据主体、任意数据类型、任意查询深度的层级关联数据的查询。
综上所述,本发明实施例充分考虑了数据之间的层级关系,预先设置了各个数据主体之间的层级关系,并设置了各个层级与各个子数据库之间一一对应的关系,即每个子数据库只存储对应层级的数据,将不同层级的数据划分到不同的子数据库中,并且使用数据标识来标识子数据库中的各个数据,在进行数据查询时,首先获取待查询数据所属的数据主体和数据类别,然后在预设的组织架构树中查询所述数据主体所属的层级,在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,并根据所述数据主体和所述数据类别确定所述待查询数据的数据标识,即可在所述子数据库中查询由所述数据标识所标识的数据。通过子数据库对数据的划分以及数据标识对数据的标识,可以在对应层级的子数据库中快速地查询到待查询数据,查询效率大大提升,获得了良好的用户体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种数据查询方法,图6示出了本发明实施例提供的一种数据查询装置的一个实施例结构图。
本实施例中,一种数据查询装置可以包括:
第一获取模块601,用于获取待查询数据所属的数据主体和数据类别;
层级查询模块602,用于在预设的组织架构树中查询所述数据主体所属的层级,所述组织架构树为记录各个数据主体之间的层级关系的树状结构;
子数据库查询模块603,用于在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系;
数据标识确定模块604,用于根据所述数据主体和所述数据类别确定所述待查询数据的数据标识;
数据查询模块605,用于在所述子数据库中查询由所述数据标识所标识的数据。
进一步地,所述数据查询装置还可以包括:
第二获取模块,用于获取数据查询的查询深度;
第一判断模块,用于判断所述查询深度是否大于1;
基准数据确定模块,用于若所述查询深度大于1,则在所述子数据库中查询由所述数据标识所标识的数据之后,将由所述数据标识所标识的数据确定为第一基准数据;
数据索引集合提取模块,用于从所述基准数据中提取数据索引集合,所述数据索引集合包括至少一条数据索引,所述数据索引集合中的每条数据索引均分别包括一个数据标识和一个校验哈希值;
下层数据查询模块,用于在与下一层级对应的子数据库中分别查询由各条数据索引中的数据标识所标识的数据;
数据校验模块,用于通过各条数据索引中的校验哈希值分别对查询到的数据进行校验;
基准数据更新模块,用于将校验成功的数据确定为第二基准数据;
查询深度更新模块,用于将所述查询深度减去1。
进一步地,所述数据校验模块可以包括:
等式判断单元,用于判断如下所示的校验等式是否成立:
HashKeyn,m,l=HASH(SNn-1,m′∪DATAn-1,m′∪LowerlayerDATASETn-1,m′)
其中,n为层级的序号,1≤n≤N,N为层级的总数,m为数据的序号,1≤m≤DNumn,DNumn为层级n的数据总数,l为数据索引的序号,1≤l≤LNumn,m,LNumn,m为层级n的第m条数据中的数据索引总数,m′为由层级n的第m条数据的第l条数据索引中的数据标识所标识的层级n-1的数据的序号,SNn-1,m′为层级n-1的第m′条数据的数据标识,DATAn-1,m′为层级n-1的第m′条数据的数据正文,LowerlayerDATASETn-1,m′为层级n-1的第m′条数据的数据索引集合,HASH为预设的哈希函数,HashKeyn,m,l为层级n的第m条数据的第l条数据索引中的校验哈希值;
第一判定单元,用于若所述校验等式成立,则确定对层级n-1的第m′条数据校验成功;
第二判定单元,用于若所述校验等式不成立,则确定对层级n-1的第m′条数据校验失败。
可选地,所述数据标识确定模块可以包括:
第一确定单元,用于根据下式确定所述待查询数据的数据标识:
SN=(Seqclass-1)×SubjectNum+Seqsubject
其中,Seqclass为数据类别的序号,1≤Seqclass≤ClassaNum,ClassaNum为数据类别的总数,Seqsubject为数据主体的序号,1≤SeqSubject≤SubjectNum,SubjectNum为数据主体的总数,SN为所述待查询数据的数据标识。
可选地,所述数据标识确定模块可以包括:
第二确定单元,用于在预设的数据标识列表中查询由所述数据主体和所述数据类别共同对应的数据标识,所述数据标识列表记录了数据主体、数据类别与数据标识之间的对应关系。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图7示出了本发明实施例提供的一种数据查询终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述数据查询终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该数据查询终端设备7可包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机可读指令72,例如执行上述的数据查询方法的计算机可读指令。所述处理器70执行所述计算机可读指令72时实现上述各个数据查询方法实施例中的步骤,例如图3所示的步骤S301至S305。或者,所述处理器70执行所述计算机可读指令72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块601至605的功能。
示例性的,所述计算机可读指令72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令72在所述数据查询终端设备7中的执行过程。
所述处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述数据查询终端设备7的内部存储单元,例如数据查询终端设备7的硬盘或内存。所述存储器71也可以是所述数据查询终端设备7的外部存储设备,例如所述数据查询终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述数据查询终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机可读指令以及所述数据查询终端设备7所需的其它指令和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据查询方法,其特征在于,包括:
获取待查询数据所属的数据主体和数据类别;
在预设的组织架构树中查询所述数据主体所属的层级,所述组织架构树为记录各个数据主体之间的层级关系的树状结构;
在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系;
根据所述数据主体和所述数据类别确定所述待查询数据的数据标识;
在所述子数据库中查询由所述数据标识所标识的数据。
2.根据权利要求1所述的数据查询方法,其特征在于,还包括:
获取数据查询的查询深度;
判断所述查询深度是否大于1;
若所述查询深度大于1,则在所述子数据库中查询由所述数据标识所标识的数据之后,将由所述数据标识所标识的数据确定为第一基准数据;
从所述基准数据中提取数据索引集合,所述数据索引集合包括至少一条数据索引,所述数据索引集合中的每条数据索引均分别包括一个数据标识和一个校验哈希值;
在与下一层级对应的子数据库中分别查询由各条数据索引中的数据标识所标识的数据,并通过各条数据索引中的校验哈希值分别对查询到的数据进行校验;
将校验成功的数据确定为第二基准数据;
将所述查询深度减去1,返回执行所述从所述基准数据中提取数据索引集合的步骤,直至所述查询深度等于1为止。
3.根据权利要求2所述的数据查询方法,其特征在于,所述通过各条数据索引中的校验哈希值分别对查询到的数据进行校验包括:
判断如下所示的校验等式是否成立:
HashKeyn,m,l=HASH(SNn-1,m′∪DATAn-1,m′∪LowerlayerDATASETn-1,m′)
其中,n为层级的序号,1≤n≤N,N为层级的总数,m为数据的序号,1≤m≤DNumn,DNumn为层级n的数据总数,l为数据索引的序号,1≤l≤LNumn,m,LNumn,m为层级n的第m条数据中的数据索引总数,m′为由层级n的第m条数据的第l条数据索引中的数据标识所标识的层级n-1的数据的序号,SNn-1,m′为层级n-1的第m′条数据的数据标识,DATAn-1,m′为层级n-1的第m′条数据的数据正文,LowerlayerDATASETn-1,m′为层级n-1的第m′条数据的数据索引集合,HASH为预设的哈希函数,HashKeyn,m,l为层级n的第m条数据的第l条数据索引中的校验哈希值;
若所述校验等式成立,则确定对层级n-1的第m′条数据校验成功;
若所述校验等式不成立,则确定对层级n-1的第m′条数据校验失败。
4.根据权利要求1至3中任一项所述的数据查询方法,其特征在于,所述根据所述数据主体和所述数据类别确定所述待查询数据的数据标识包括:
根据下式确定所述待查询数据的数据标识:
SN=(Seqclass-1)×SubjectNum+Seqsubject
其中,Seqclass为数据类别的序号,1≤Seqclass≤ClassaNum,ClassaNum为数据类别的总数,Seqsubject为数据主体的序号,1≤SeqSubject≤SubjectNum,SubjectNum为数据主体的总数,SN为所述待查询数据的数据标识。
5.根据权利要求1至3中任一项所述的数据查询方法,其特征在于,所述根据所述数据主体和所述数据类别确定所述待查询数据的数据标识包括:
在预设的数据标识列表中查询由所述数据主体和所述数据类别共同对应的数据标识,所述数据标识列表记录了数据主体、数据类别与数据标识之间的对应关系。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的数据查询方法的步骤。
7.一种数据查询终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
获取待查询数据所属的数据主体和数据类别;
在预设的组织架构树中查询所述数据主体所属的层级,所述组织架构树为记录各个数据主体之间的层级关系的树状结构;
在预设的数据库列表中查询与所述数据主体所属的层级对应的子数据库,所述数据库列表记录了各个层级与各个子数据库之间一一对应的关系;
根据所述数据主体和所述数据类别确定所述待查询数据的数据标识;
在所述子数据库中查询由所述数据标识所标识的数据。
8.根据权利要求7所述的数据查询终端设备,其特征在于,还包括:
获取数据查询的查询深度;
判断所述查询深度是否大于1;
若所述查询深度大于1,则在所述子数据库中查询由所述数据标识所标识的数据之后,将由所述数据标识所标识的数据确定为第一基准数据;
从所述基准数据中提取数据索引集合,所述数据索引集合包括至少一条数据索引,所述数据索引集合中的每条数据索引均分别包括一个数据标识和一个校验哈希值;
在与下一层级对应的子数据库中分别查询由各条数据索引中的数据标识所标识的数据,并通过各条数据索引中的校验哈希值分别对查询到的数据进行校验;
将校验成功的数据确定为第二基准数据;
将所述查询深度减去1,返回执行所述从所述基准数据中提取数据索引集合的步骤,直至所述查询深度等于1为止。
9.根据权利要求8所述的数据查询终端设备,其特征在于,所述通过各条数据索引中的校验哈希值分别对查询到的数据进行校验包括:
判断如下所示的校验等式是否成立:
HashKeyn,m,l=HASH(SNn-1,m′∪DATAn-1,m′∪LowerlayerDATASETn-1,m′)
其中,n为层级的序号,1≤n≤N,N为层级的总数,m为数据的序号,1≤m≤DNumn,DNumn为层级n的数据总数,l为数据索引的序号,1≤l≤LNumn,m,LNumn,m为层级n的第m条数据中的数据索引总数,m′为由层级n的第m条数据的第l条数据索引中的数据标识所标识的层级n-1的数据的序号,SNn-1,m′为层级n-1的第m′条数据的数据标识,DATAn-1,m′为层级n-1的第m′条数据的数据正文,LowerlayerDATASETn-1,m′为层级n-1的第m′条数据的数据索引集合,HASH为预设的哈希函数,HashKeyn,m,l为层级n的第m条数据的第l条数据索引中的校验哈希值;
若所述校验等式成立,则确定对层级n-1的第m′条数据校验成功;
若所述校验等式不成立,则确定对层级n-1的第m′条数据校验失败。
10.根据权利要求7至9中任一项所述的数据查询终端设备,其特征在于,所述根据所述数据主体和所述数据类别确定所述待查询数据的数据标识包括:
根据下式确定所述待查询数据的数据标识:
SN=(Seqclass-1)×SubjectNum+Seqsubject
其中,Seqclass为数据类别的序号,1≤Seqclass≤ClassaNum,ClassaNum为数据类别的总数,Seqsubject为数据主体的序号,1≤SeqSubject≤SubjectNum,SubjectNum为数据主体的总数,SN为所述待查询数据的数据标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810618414.9A CN109062936B (zh) | 2018-06-15 | 2018-06-15 | 一种数据查询方法、计算机可读存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810618414.9A CN109062936B (zh) | 2018-06-15 | 2018-06-15 | 一种数据查询方法、计算机可读存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062936A true CN109062936A (zh) | 2018-12-21 |
CN109062936B CN109062936B (zh) | 2023-10-31 |
Family
ID=64821003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810618414.9A Active CN109062936B (zh) | 2018-06-15 | 2018-06-15 | 一种数据查询方法、计算机可读存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062936B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111104465A (zh) * | 2019-12-13 | 2020-05-05 | 北京金迅瑞博网络技术有限公司 | Cdn业务数据展示方法、装置和电子设备 |
CN111897837A (zh) * | 2019-05-06 | 2020-11-06 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置、设备和介质 |
CN112861192A (zh) * | 2021-02-25 | 2021-05-28 | 中冶南方连铸技术工程有限责任公司 | 设备跟踪方法及系统 |
CN114077619A (zh) * | 2020-08-20 | 2022-02-22 | 北京字节跳动网络技术有限公司 | 数据查询方法、装置、电子设备和存储介质 |
CN116455753A (zh) * | 2023-06-14 | 2023-07-18 | 新华三技术有限公司 | 一种数据平滑方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189602A (zh) * | 2003-11-10 | 2008-05-28 | 奥弗图尔服务公司 | 具有分层存储的索引的搜索引擎 |
CN102043812A (zh) * | 2009-10-13 | 2011-05-04 | 北京大学 | 一种医疗信息的检索方法及系统 |
CN103186653A (zh) * | 2011-12-30 | 2013-07-03 | 国际商业机器公司 | 辅助查询方法和设备、查询方法和设备及命名查询系统 |
CN106897408A (zh) * | 2017-02-16 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种实现快速查询树形结构数据指定节点下级的方法 |
US20170212680A1 (en) * | 2016-01-22 | 2017-07-27 | Suraj Prabhakar WAGHULDE | Adaptive prefix tree based order partitioned data storage system |
CN107193851A (zh) * | 2016-06-27 | 2017-09-22 | 北京新媒传信科技有限公司 | 数据查询方法及装置 |
CN107656943A (zh) * | 2016-08-23 | 2018-02-02 | 平安科技(深圳)有限公司 | 任务查询方法及服务器 |
CN107807932A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于路径枚举的层级数据管理方法和系统 |
CN108009250A (zh) * | 2017-12-01 | 2018-05-08 | 武汉斗鱼网络科技有限公司 | 一种多分类赛事数据缓存建立、查询方法及装置 |
-
2018
- 2018-06-15 CN CN201810618414.9A patent/CN109062936B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101189602A (zh) * | 2003-11-10 | 2008-05-28 | 奥弗图尔服务公司 | 具有分层存储的索引的搜索引擎 |
CN102043812A (zh) * | 2009-10-13 | 2011-05-04 | 北京大学 | 一种医疗信息的检索方法及系统 |
CN103186653A (zh) * | 2011-12-30 | 2013-07-03 | 国际商业机器公司 | 辅助查询方法和设备、查询方法和设备及命名查询系统 |
US20170212680A1 (en) * | 2016-01-22 | 2017-07-27 | Suraj Prabhakar WAGHULDE | Adaptive prefix tree based order partitioned data storage system |
CN107193851A (zh) * | 2016-06-27 | 2017-09-22 | 北京新媒传信科技有限公司 | 数据查询方法及装置 |
CN107656943A (zh) * | 2016-08-23 | 2018-02-02 | 平安科技(深圳)有限公司 | 任务查询方法及服务器 |
CN107807932A (zh) * | 2016-09-08 | 2018-03-16 | 腾讯科技(深圳)有限公司 | 一种基于路径枚举的层级数据管理方法和系统 |
CN106897408A (zh) * | 2017-02-16 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种实现快速查询树形结构数据指定节点下级的方法 |
CN108009250A (zh) * | 2017-12-01 | 2018-05-08 | 武汉斗鱼网络科技有限公司 | 一种多分类赛事数据缓存建立、查询方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897837A (zh) * | 2019-05-06 | 2020-11-06 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置、设备和介质 |
CN111897837B (zh) * | 2019-05-06 | 2023-08-15 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置、设备和介质 |
CN111104465A (zh) * | 2019-12-13 | 2020-05-05 | 北京金迅瑞博网络技术有限公司 | Cdn业务数据展示方法、装置和电子设备 |
CN114077619A (zh) * | 2020-08-20 | 2022-02-22 | 北京字节跳动网络技术有限公司 | 数据查询方法、装置、电子设备和存储介质 |
CN112861192A (zh) * | 2021-02-25 | 2021-05-28 | 中冶南方连铸技术工程有限责任公司 | 设备跟踪方法及系统 |
CN112861192B (zh) * | 2021-02-25 | 2023-08-25 | 中冶南方连铸技术工程有限责任公司 | 设备跟踪方法及系统 |
CN116455753A (zh) * | 2023-06-14 | 2023-07-18 | 新华三技术有限公司 | 一种数据平滑方法及装置 |
CN116455753B (zh) * | 2023-06-14 | 2023-08-18 | 新华三技术有限公司 | 一种数据平滑方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109062936B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062936A (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
CN110321344A (zh) | 关联数据的信息查询方法、装置、计算机设备及存储介质 | |
CN103345469B (zh) | 号码集合的存储、查询方法及其装置 | |
CN106202548A (zh) | 数据存储方法、查找方法及装置 | |
CN109118118A (zh) | 企业业务的风险评估方法、存储介质和服务器 | |
CN111506559A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN106325756A (zh) | 一种数据存储、数据计算方法和设备 | |
CN110201393A (zh) | 一种配置数据的存储方法、装置及电子设备 | |
CN109542935A (zh) | 一种规则引擎的执行方法、存储介质和服务器 | |
CN102591855A (zh) | 一种数据标识方法及系统 | |
CN107483381A (zh) | 关联账户的监控方法及装置 | |
CN109656986A (zh) | 一种业务数据汇总的辅助方法、装置及电子设备 | |
CN109522923A (zh) | 客户地址聚合方法、装置及计算机可读存储介质 | |
CN110727740B (zh) | 关联分析方法及装置、计算机设备与可读介质 | |
CN108536739A (zh) | 元数据敏感信息字段识别方法、装置、设备及存储介质 | |
WO2019041764A1 (zh) | 团体保费评估的方法、装置、计算机设备及存储介质 | |
CN107145574A (zh) | 数据库数据处理方法、装置及存储介质和电子设备 | |
CN110909129A (zh) | 异常投诉事件的识别方法及装置 | |
CN111259056A (zh) | 一种区块链数据查询方法、系统及相关设备 | |
CN108256986A (zh) | 基于云计算的薪资计算方法、应用服务器及计算机可读存储介质 | |
CN110874365B (zh) | 一种信息查询方法及其相关设备 | |
CN107133163A (zh) | 一种验证描述类api的方法与设备 | |
CN109918189B (zh) | 一种资源管理方法及相关设备 | |
CN109377391A (zh) | 一种信息追踪方法、存储介质和服务器 | |
CN111652281B (zh) | 信息数据的分类方法、装置及可读存储介质 |
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 |