CN1469584A - 一种在多维数组中的数据查找方法 - Google Patents

一种在多维数组中的数据查找方法 Download PDF

Info

Publication number
CN1469584A
CN1469584A CNA021404844A CN02140484A CN1469584A CN 1469584 A CN1469584 A CN 1469584A CN A021404844 A CNA021404844 A CN A021404844A CN 02140484 A CN02140484 A CN 02140484A CN 1469584 A CN1469584 A CN 1469584A
Authority
CN
China
Prior art keywords
memory cell
value
subscript
dimension
data
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
Application number
CNA021404844A
Other languages
English (en)
Other versions
CN1286291C (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 02140484 priority Critical patent/CN1286291C/zh
Publication of CN1469584A publication Critical patent/CN1469584A/zh
Application granted granted Critical
Publication of CN1286291C publication Critical patent/CN1286291C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种在多维数组中的数据查找方法,该方法包含下列步骤:建立第一存储单元系列,并初始化;建立第二存储单元系列,并初始化;建立多维第三存储单元阵列;对第一存储单元系列、第二存储单元系列的各存储单元赋值;将所述多维稀疏矩阵中的每个有效数据对第三存储单元阵列的各存储单元赋值;根据待查找的有效数据的维度下标值查找出第三内存储器阵列中存储单元值。采用本发明所述的技术方案,所述的多维数组只需保存各项具体的数据值,作为多维数组的下标则被转换为各存储单元的下标,然后根据下标定位就可以查找出多维数组的数据,整个查找方法简单方便,查找效率高,从而提高了整个查询系统整体性能。

Description

一种在多维数组中的数据查找方法
技术领域
本发明应用于数据处理系统,具体说涉及在存储器系统中采用数组下标定位来实现的一种在多维数组的数据查找方法。
背景技术
目前数据处理系统通常采用分层次的存储器结构,一个数据处理系统所访问的大部分数据均存储在诸如光盘、磁带、磁盘或其他能存储大量数字信息的海量存储介质上,可是这些介质访问的速度非常慢,无法实现CPU(Central Process Unit:中央处理器)对所存数据的直接高速访问,进而大大影响了整个数据处理系统的速度。
在目前数据处理系统中,电信领域中的智能网系统是一种典型的海量信息数据处理系统,该系统中的信息数据组成一种叫多维稀疏矩阵的多维数组,在业务处理过程中,经常需要查找各种多维稀疏矩阵数据,比如多个智能业务的多个地区主叫到多个其他地区被叫的的国内计费矩阵表,还有国际计费矩阵表等,在多维稀疏矩阵中,矩阵的下标范围很大,每个下标一般达到一千、一万、十万或百万,但实际存在有效使用的下标值只要几十、几百或上千个等,因为这些多维稀疏矩阵数据占用的空间非常巨大,一般保存在上述海量存储介质上的数据库中。
现有技术要实现对多维稀疏矩阵数据的查找,经常使用数据库查询语句直接针对多维稀疏矩阵数据进行查询,这种方法必须通过对数据库表的访问才能得到计费数据,但由于多维稀疏矩阵数据具有占用存储空间大,海量存储介质访问速度慢等不利因素,所以导致查找效率低、速度慢。
发明内容
针对上述情形,本发明提出了一种在存储系统中采用数组下标定位来实现的在多维数组中的数据查找方法,其将有效的多维数组中的数据及其数组下标保存在存储单元中,通过数组下标定位的方式实现对多维数组的高效查找。
为实现上述目的,本发明提供一种在存储系统中采用数组下标定位来实现的在多维数组中的数据查找方法,该方法包含下列步骤:
a、根据所述多维数组中数据的维数,依次对每一维矩阵数据分别建立长度和该维矩阵下标有效值的实际使用最大值相匹配的第一存储单元系列,并初始化;
b、根据所述多维数组中数据的维数,依次对每一维矩阵数据分别建立长度和该维矩阵下标最大值与最小值的差值相匹配的第二存储单元系列,并初始化;
c、根据所述各维矩阵数据下标有效值的实际使用最大值建立相匹配长度的多维第三存储单元阵列;
d、将所述多维数组中的每个有效数据的维度下标值,依次分别与和各维相应的第二存储单元系列中的存储单元的下标值一一对应,而所述的第二存储单元系列中的存储单元的值与和各维相应的所述的第一存储单元系列的存储单元的下标值一一对应,并将该第一存储单元系列的存储单元赋值;
e、将所述多维数组中的每个有效数据赋值给所述的第三存储单元阵列中的存储单元,其中所述的第三存储单元阵列的维度下标值和该有效数据维度下标值相应的所述的第二存储单元系列中存储单元的值一一对应。
f、根据所述多维数组中的待查找的有效数据的维度下标值查找出各维的第二存储单元系列中存储单元的值,如果该存储单元的值有一个为初始化值,则查找失败;否则第三存储单元阵列中下标值为第二存储单元系列中存储单元值的存储单元值即为要查找的数据。
更具体地讲,上述步骤a中的相匹配可以是指所述长度等于该维矩阵下标有效值的实际使用最大值;步骤b中的相匹配可以是指所述长度等于该维矩阵下标最大值与最小值的差值再加1;步骤c中的相匹配可以是指所述长度等于所述各维矩阵数据下标有效值的实际使用最大值。
而步骤d中的依次分别与和各维相应的第二存储单元系列中的存储单元的下标值一一对应更具体地讲指:和各维相应的第二存储单元系列中的存储单元的下标值等于所述有效数据的该维度下标值与该维矩阵下标最小值的差值再加1;所述的第二存储单元系列中的存储单元的值与和各维相应的所述的第一存储单元系列的存储单元的下标值一一对应更具体地是指相等。
采用本发明所述的技术方案,所述的多维数组只需保存各项具体的数据值,作为多维数组的下标则被转换为各存储单元的下标,对多维数组下标跟各存储单元的下标对应关系的查找简单容易,通过对一个一维数组的一个成员的查找就可知该下标值跟各存储单元数组下标值的对应关系,然后根据下标定位就可以查找出多维数组中的数据,整个查找方法简单方便,查找效率高,从而提高了整个查询系统整体性能。
附图说明
图1是本发明的在多维数组中的数据查找方法的流程图。
具体实现方式
电信领域中的智能网系统是一种典型的海量信息数据处理系统,下面以其中的国内计费矩阵表为具体实施例并结合图1,来详细描述本发明的实现过程。
该矩阵为一多维数组,更具体地讲是一种三维的稀疏计费矩阵(稀疏矩阵是指实际数据比矩阵大小小很多的多维数组),在该矩阵中,智能业务的下标为0-99999,其代表着不同的电信业务,如:200业务、17909业务等,业务值最大为5位长整数;主叫区号的下标为10000,主叫区号最长为4位,如:0756、08961等(注:首位0不计算在国内区号内)等;被叫区号的下标为10000,被叫区号最长为4位,如:0755、08962等(注:首位0不计算在国内区号内);由上述下标的数字长度可知,该计费矩阵中每个业务的矩阵数据空间为10000×10000,全部智能业务的矩阵数据空间将到达100000×10000×10000,而实际系统中支持的智能业务不会超过50个,区号不超过1000个。
现以200智能业务主叫号码为07568880808到被叫号码07556540808的国内计费矩阵表为例说明本发明在多维数组中的数据查找方法的实现过程。对主叫号码和被叫号码进行国内区号分析,得到国内主叫区号为0756,国内被叫区号为0755,即主叫区号的下标值可设为756,被叫区号的下标可设为755;200智能业务的下标值可设为200。
如图1所示,具体步骤如下:
一、根据所述多维数组数据的维数,依次对每一维矩阵数据分别建立长度和该维矩阵下标有效值的实际使用最大值相匹配的第一存储单元系列,并初始化;
确定三维稀疏计费矩阵的维数为3维,每一维下标有效值实际使用最大值分别为50、1000、1000,对每个矩阵维度建立长度为50、1000、1000的第一存储单元系列,分别记为A(1)、A(2)、A(3),并将其初始化,其值均设为-1。
二、根据所述多维数组数据的维数,依次对每一维矩阵数据分别建立长度和该维矩阵下标最大值与最小值的差值相匹配的第二存储单元系列,并初始化;
确定三维稀疏计费矩阵的维数为3维,每一维下标的最小值分别为0、0、0,每一维下标的最大值分别为99999、9999、9999,对每个矩阵维度建立长度为100000、10000、10000的第二存储单元系列,分别记为B(1)、B(2)、B(3),并将其初始化,其值均设为-1。
三、根据所述各维矩阵数据下标有效值的实际使用最大值建立相匹配长度的多维第三存储单元阵列;即建立50×1000×1000的多维第三存储单元阵列;
四、将所述多维数组中的每个有效数据的维度下标值,依次分别与和各维相应的第二存储单元系列中的存储单元的下标值一一对应,而所述的第二存储单元系列中的存储单元的值与和各维相应的所述的第一存储单元系列的存储单元的下标值一一对应,并将所述的第一存储单元系列的存储单元赋值;
例如,根据三维稀疏计费矩阵的某个有效数据的维度下标值,即200、756、755,定位和各维相应的第二存储单元系列B(1)、B(2)、B(3)中下标值为200、756、755存储单元,同时在和各维相应的所述的第一存储单元系列A(1)、A(2)、A(3)中查找一个值为-1的存储单元,将第一存储单元系列A(1)、A(2)、A(3)的存储单元值赋为1,并将该存储单元的下标值,例如为1、10、20,赋值给与其相应的第二存储单元系列B(1)、B(2)、B(3)中下标值为200、756、755存储单元。
五、将所述多维数组中的每个有效数据赋值给所述的第三存储单元阵列中的存储单元,其中所述的第三存储单元阵列的维度下标值和该有效数据维度下标值相应的所述的第二存储单元系列中存储单元的值一一对应。
例如,有效数据的维度下标值为200、756、755,而与其相应的第二存储单元系列B(1)、B(2)、B(3)中存储单元的值为1、10、20,因此,可将三维稀疏计费矩阵的该有效数据赋值给所述的第三存储单元阵列中下标值为1、10、20的存储单元。
六、根据所述多维数组中的待查找的有效数据的维度下标值查找出各维的第二存储单元系列中存储单元的值,如果该存储单元的值有一个为初始化值,则查找失败;否则第三存储单元阵列中下标值为第二存储单元系列中存储单元值的存储单元值即为要查找的数据。
通过步骤一至步骤五建立好第三存储单元阵列后,假设上述的所有存储单元均为计算机的内存储器,当需要查找200智能业务主叫号码为07568880808到被叫号码07556540808的国内计费矩阵表中的有效数据时,首先根据该数据的维度下标值为200、756、755查找出各维的第二内存储器系列B(1)、B(2)、B(3)中存储单元的值1、10、20,如果该存储单元的值有一个为-1,则查找失败;否则第三内存储器阵列中下标值为1、10、20的存储单元的值即为要查找的数据。

Claims (9)

1、一种在多维数组中的数据查找方法,其特征在于,该方法包含下列步骤:
a、根据所述多维数组中数据的维数,依次对每一维矩阵数据分别建立长度和该维矩阵下标有效值的实际使用最大值相匹配的第一存储单元系列,并初始化;
b、根据所述多维数组中数据的维数,依次对每一维矩阵数据分别建立长度和该维矩阵下标最大值与最小值的差值相匹配的第二存储单元系列,并初始化;
c、根据所述各维矩阵数据下标有效值的实际使用最大值建立相匹配长度的多维第三存储单元阵列;
d、将所述多维数组中的每个有效数据的维度下标值,依次分别与和各维相应的第二存储单元系列中的存储单元的下标值一一对应,而所述的第二存储单元系列中的存储单元的值与和各维相应的所述的第一存储单元系列的存储单元的下标值一一对应,并将该第一存储单元系列的存储单元赋值;
e、将所述多维数组中的每个有效数据赋值给所述的第三存储单元阵列中的存储单元,其中所述的第三存储单元阵列的维度下标值和该有效数据维度下标值相应的所述的第二存储单元系列中存储单元的值一一对应;
f、根据所述多维数组中的待查找的有效数据的维度下标值查找出各维的第二存储单元系列中存储单元的值,如果该存储单元的值有一个为初始化值,则查找失败,否则第三存储单元阵列中下标值为第二存储单元系列中存储单元值的存储单元值即为要查找的数据。
2、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述步骤a中的相匹配是指所述长度等于该维矩阵下标有效值的实际使用最大值。
3、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述步骤b中的相匹配是指所述长度等于该维矩阵下标最大值与最小值的差值再加1。
4、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述步骤c中的相匹配是指所述长度等于所述各维矩阵数据下标有效值的实际使用最大值。
5、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述步骤d中的依次分别与和各维相应的第二存储单元系列中的存储单元的下标值一一对应更具体地讲指:和各维相应的第二存储单元系列中的存储单元的下标值等于所述有效数据的该维度下标值与该维矩阵下标最小值的差值再加1。
6、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述步骤d中的所述的第二存储单元系列中的存储单元的值与和各维相应的该第一存储单元系列的存储单元的下标值一一对应更具体地是指相等。
7、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述步骤e中的一一对应更具体地是指相等。
8、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述多维数组是国内计费矩阵表或者国际计费矩阵表。
9、如权利要求1所述的一种在多维数组中的数据查找方法,其特征在于,所述初始化是指赋值为-1。
CN 02140484 2002-07-18 2002-07-18 一种在多维数组中的数据查找方法 Expired - Fee Related CN1286291C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02140484 CN1286291C (zh) 2002-07-18 2002-07-18 一种在多维数组中的数据查找方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02140484 CN1286291C (zh) 2002-07-18 2002-07-18 一种在多维数组中的数据查找方法

Publications (2)

Publication Number Publication Date
CN1469584A true CN1469584A (zh) 2004-01-21
CN1286291C CN1286291C (zh) 2006-11-22

Family

ID=34147592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02140484 Expired - Fee Related CN1286291C (zh) 2002-07-18 2002-07-18 一种在多维数组中的数据查找方法

Country Status (1)

Country Link
CN (1) CN1286291C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193977A (zh) * 2017-05-26 2017-09-22 刘伟 数据查找方法、人工智能系统、图像处理系统、数据库、搜索引擎、通讯系统、计算机应用

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107193977A (zh) * 2017-05-26 2017-09-22 刘伟 数据查找方法、人工智能系统、图像处理系统、数据库、搜索引擎、通讯系统、计算机应用

Also Published As

Publication number Publication date
CN1286291C (zh) 2006-11-22

Similar Documents

Publication Publication Date Title
US6678687B2 (en) Method for creating an index and method for searching an index
US7590652B2 (en) Systems and methods of reverse lookup
US7921086B1 (en) Deterministic space management in deduplication applications
Weber et al. An approximation based data structure for similarity search
CN1152365A (zh) 一种存储和检索数据的方法和一种存储器配置
CN1838124A (zh) 海量数据内存数据库中快速定位的网格+t树索引的方法
EP0772139A2 (en) Method and apparatus for segmenting a database
CN101039278A (zh) 数据管理方法及系统
CN102375852A (zh) 建立数据索引的方法、利用该索引查询数据的方法和系统
CN1828556A (zh) 一种数据存储的方法、系统及设备
Cha et al. The GC-tree: a high-dimensional index structure for similarity search in image databases
WO2021016050A1 (en) Multi-record index structure for key-value stores
CN1635494A (zh) 实现类内存数据库存取和检索的方法
CN1255748C (zh) 一种存储虚拟化系统的元数据层次管理方法及其系统
JP2001142752A (ja) データベース管理方法
CN1286291C (zh) 一种在多维数组中的数据查找方法
CN1791873A (zh) 还原数据库系统中的对象和从属对象
US20030112742A1 (en) System and method for multiple-threaded access to a database
CN1287316C (zh) 在索引高键码生成期间压缩变长列的方法和系统
JP2001344553A (ja) 特徴ベクトルのデータ空間のインデクシング方法
Wu et al. Associative searching in multiple storage units
Lin Concurrent frame signature files
Otoo et al. Multidimensional Sparse Array Storage for Data Analytics
CN117193674B (zh) 一种提升物联网设备海量数据存取效能的方法及装置
CN117312239A (zh) 一种基于组合方式存储数据索引的方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20061122

Termination date: 20200718