CN102129473B - 一种静态数据检索方法 - Google Patents
一种静态数据检索方法 Download PDFInfo
- Publication number
- CN102129473B CN102129473B CN201110097363.8A CN201110097363A CN102129473B CN 102129473 B CN102129473 B CN 102129473B CN 201110097363 A CN201110097363 A CN 201110097363A CN 102129473 B CN102129473 B CN 102129473B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- value pair
- trouble ticket
- hash table
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种静态数据检索方法:首先,对本地配置数据进行哈希运算,构建哈希表;其次,接收外部数据,并调用内存中的哈希表,查找与键值对相对应的工单模板;接着,工单模板内存储有至少一项配置属性,将外部输入的数据填充到相应的配置属性内,形成工单指令;最后,将工单指令发送至交换机。本发明技术方案,在进行数据存储,创建哈希表时,通过多个关键词自由组合形成不同键值对的方式,增加了数据存储的灵活性,检索时可通过键值对读取结果。存取数据时通过加锁解锁的方式,保证使用哈希表的线程安全,支持多线程同步。此外,相同键值对的数据以单链表的方式存放,确保在查找工单模板时,可以遍历所有对应相同键值对的工单模板。
Description
技术领域
本发明涉及通信领域,尤其涉及一种静态配置数据,例如工单派生模板,号段与hlr对照表的检索方法。
背景技术
目前,现有的数据检索方法主要包括:顺序查找、折半查找、分块查找、hash查找四种方法。
1)顺序查找:从表中最后一个记录开始,逐个对记录的关键字和给定值进行比较,若某个记录的关键字和给定值相等,则查找成功;反之,若直到第一个记录,其关键字和给定值都不等,表明查找不成功。对于含有n个记录的表,查找成功时的平均查找长度(ASL)为:
优点是数据存储时方便,数据随机存储。
缺点是查找效率低。
2)折半查找:对一个有序的静态表一分为2,按照增序或者降序的方法进行遍历,时间复杂度为:ASL=log2(n+1)-1
优点是:查找效率相对提高。
缺点是:数据插入时时间复杂度较高,需要移动较多元素。
3)分块查找:在此查找中,除表本身以外,还需一个索引表,对每个子表建立一个索引项,索引项包括两项内容:关键字项(该子表内的最大关键字)和指针项(该子表第一个记录在表中的位置)。索引表按关键字有序。ASL=索引表的ASL+所在块的ASL。
优点是:查找效率快。
缺点是:数据需存储到索引表中,存储消耗大。
4)hash查找:hash表的实质是将关键值映射为地址。当关键值空间要比地址空间大的多的时候就不可避免的会产生散列冲突问题。散列冲突会影响检索效率和检索结果。
优点是:查找效率快。
缺点是:对散列冲突的处理耗费较多时间。
发明内容
本发明的目的在于提供一种静态数据的快速检索方法。
本发明的技术方案如下,一种静态数据检索方法,具体步骤如下:
第一步,对本地配置数据进行哈希运算,构建哈希表;
第二步,接收外部数据,并调用内存中的哈希表,查找与键值对相对应的工单模板;
第三步,所述工单模板内存储有至少一项配置属性,将外部输入的数据填充到相应的配置属性内,形成工单指令;
第四步,将所述工单指令发送至交换机。
进一步地,所述第一步中,关键词为主产品身份标识、附属产品身份标识、附属产品组身份标识、主产品操作动作,对上述关键词中的两项或多项进行哈希运算,形成所述键值对。
进一步地,所述第二步中,若查找工单模板的步骤是多线程并发执行的,则在查找工单模板之前,先对哈希表进行数据加锁。
进一步地,所述第三步中,若填充外部数据的步骤是多线程并发执行的,则在填充数据之前,先对哈希表进行数据加锁。
进一步地,所述键值对与所述工单模板以单链表的方式存放。
本发明的有益效果是:
1.在进行数据存储,创建哈希表时,通过多个关键词自由组合形成不同键值对的方式,增加了数据存储的灵活性,检索时可通过键值对读取结果。
2.存取数据时通过加锁解锁的方式,保证哈希表创建的线程安全,支持多线程同步。
3.相同键值对的数据以单链表的方式存放,确保在查找工单模板时,可以遍历所有对应相同键值对的工单模板或配置模板。
附图说明
图1为本发明静态数据检索方法的流程示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明提供一种静态数据检索方法,如图1所示,具体步骤如下:
第一步,对本地配置数据进行哈希运算,构建哈希表,即构建用于数据检索的ha sh存储结构。本地配置数据可包括文件或者数据表。
第二步,外部数据进入后调用内存中的哈希表,查找与键值对相对应的工单模板。工单模板属于本地配置数据的一部分。
第三步,工单模板内存储有至少一项配置属性,将外部输入的数据填充到相应的配置属性内,形成工单指令;
第四步,将工单指令发送至交换机。
下面对本发明的工作过程进行简单介绍。首先对本地配置数据哈希运算构成hash存储结构,然后按照以下步骤进行数据检索。
1、接收外部输入的关键词及相关数据。其中,关键词可为主产品身份标识(例如神州行、全球通、动感地带等主营品牌业务代表的id)、附属产品身份标识(例如彩铃、GPRS、飞信、手机报、短信回执等业务代表的id)、 附属产品组身份标识(例如GSM代表的id)、操作动作(例如开、关等操作),对上述关键词中的两项或多项进行哈希运算,形成键值对(例如可将主产品id为神州行业务代表的id、附属产品id为彩铃业务代表的id、主产品操作动作为开户三个关键词组合形成一个键值对)。在创建哈希表时,通过多个关键词自由组合形成不同键值对的方式,增加了数据存储的灵活性,检索时可通过键值对读取结果。
2、遍历内存中的哈希表,根据上述生成的键值对来查找对应的工单模板。
因为一个键值对可以唯一对应一个工单模板,也可以对应多个工单模板。当一个键值对key对应多个工单模板value时,为了避免位置冲突,本发明中相同key的value值以单链表的方式存放。例如三个工单模板A、B、C对应一个相同的key,则在创建哈希表时,可将三个工单模板组成一个单链表。
另外,若查找工单模板的步骤是多线程并发执行的,则在查找工单模板之前,先进行数据加锁。这样可以有效避免死锁。
3、在查找到key对应的工单模板后,因为每个模板内都配置有不同是属性,需要填充相应的数据,形成工单指令,再发送至交换机完成相关操作动作。
在外部数据进入的同时,还应输入一些例如手机号码、客户ID号、IMSI等相关数据,此时,根据查找到的工单模板配置属性的要求,将这些数据填充到工单模板内,即可形成一条针对某用户的办理某项业务的工单指令,最后,将该工单指令发送至交换机进一步处理即可完成相关业务办理请求。
与上述相同,为了保证哈希表创建的线程安全性,若填充外部数据的步骤是多线程并发执行的,则在填充数据之前,先对哈希表进行数据加锁。这样在填充数据过程中掉线,仍可继续操作,生成工单指令。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种静态数据检索方法,其特征在于,
第一步,对本地配置数据进行哈希运算,构建哈希表,通过多个关键词自由组合形成不同键值对,且相同键值对的数据以单链表的方式存放;
第二步,接收外部输入的关键词和相关数据,对上述关键词中的两项或多项进行哈希运算,形成键值对,并调用内存中的哈希表,查找与键值对相对应的工单模板;
第三步,所述工单模板内存储有至少一项配置属性,将外部输入的数据填充到相应的配置属性内,形成工单指令;
第四步,将所述工单指令发送至交换机。
2.按照权利要求1所述的静态数据检索方法,其特征在于,
所述第二步中,关键词为主产品身份标识、附属产品身份标识、附属产品组身份标识、主产品操作动作。
3.按照权利要求1或2所述的静态数据检索方法,其特征在于,
所述第二步中,若查找工单模板的步骤是多线程并发执行的,则在查找工单模板之前,先对哈希表进行数据加锁。
4.按照权利要求1或2所述的静态数据检索方法,其特征在于,
所述第三步中,若填充外部数据的步骤是多线程并发执行的,则在填充数据之前,先对哈希表进行数据加锁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110097363.8A CN102129473B (zh) | 2011-04-19 | 2011-04-19 | 一种静态数据检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110097363.8A CN102129473B (zh) | 2011-04-19 | 2011-04-19 | 一种静态数据检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102129473A CN102129473A (zh) | 2011-07-20 |
CN102129473B true CN102129473B (zh) | 2016-09-14 |
Family
ID=44267555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110097363.8A Active CN102129473B (zh) | 2011-04-19 | 2011-04-19 | 一种静态数据检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102129473B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104699692B (zh) * | 2013-12-04 | 2018-06-15 | 华为技术有限公司 | 一种处理数据的方法和装置 |
CN103647666A (zh) * | 2013-12-13 | 2014-03-19 | 北京中创信测科技股份有限公司 | 一种统计呼叫详细记录报文并实时输出结果的方法及装置 |
CN105095212B (zh) * | 2014-04-22 | 2018-10-09 | 华为技术有限公司 | 创建哈希表的方法和设备 |
CN109446203A (zh) * | 2018-11-15 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种实现数据加锁的方法及装置 |
CN111225051A (zh) * | 2020-01-03 | 2020-06-02 | 湖北民族大学 | 一种新型云环境下静态数据安全共享系统及方法 |
CN114978646A (zh) * | 2022-05-13 | 2022-08-30 | 京东科技控股股份有限公司 | 一种访问权限确定方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940922A (zh) * | 2005-09-30 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种提高搜索信息速度的方法及系统 |
CN101350869A (zh) * | 2007-07-19 | 2009-01-21 | 中国电信股份有限公司 | 基于索引和散列的电信计费去重方法及设备 |
CN101478608A (zh) * | 2009-01-09 | 2009-07-08 | 南京联创科技股份有限公司 | 基于二维散列的海量数据的快速操作方法 |
-
2011
- 2011-04-19 CN CN201110097363.8A patent/CN102129473B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940922A (zh) * | 2005-09-30 | 2007-04-04 | 腾讯科技(深圳)有限公司 | 一种提高搜索信息速度的方法及系统 |
CN101350869A (zh) * | 2007-07-19 | 2009-01-21 | 中国电信股份有限公司 | 基于索引和散列的电信计费去重方法及设备 |
CN101478608A (zh) * | 2009-01-09 | 2009-07-08 | 南京联创科技股份有限公司 | 基于二维散列的海量数据的快速操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102129473A (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102129473B (zh) | 一种静态数据检索方法 | |
CN104679778B (zh) | 一种搜索结果的生成方法及装置 | |
CN102521334B (zh) | 一种基于分类特性和平衡二叉树的数据存储、查询方法 | |
CN102682116B (zh) | 基于哈希表的表项处理方法及其装置 | |
CN102521405B (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
CN103473239B (zh) | 一种非关系型数据库数据更新方法和装置 | |
US7512621B2 (en) | Moving records between partitions | |
EP2515487B1 (en) | Method and device for storing and searching keyword | |
CN106708996B (zh) | 用于对关系数据库进行全文搜索的方法及系统 | |
CN105335479B (zh) | 一种基于sql的文本数据统计实现方法 | |
CN105117417A (zh) | 一种读优化的内存数据库Trie树索引方法 | |
CN106991102A (zh) | 倒排索引中键值对的处理方法及处理系统 | |
RU2005115970A (ru) | Управление контактами | |
CN104268159B (zh) | 一种基于动态镜像的实时数据仓库数据预存取方法 | |
CN101751473A (zh) | 一种修改记录项的查找、更新和同步方法及数据同步设备 | |
CN104778266A (zh) | 一种多数据源搜索的方法及装置 | |
CN104063384A (zh) | 一种数据检索方法及装置 | |
CN104077385A (zh) | 一种文件的分类及检索方法 | |
US10372736B2 (en) | Generating and implementing local search engines over large databases | |
CN104468361A (zh) | 带有优先级的tcam储存和查找方法及装置 | |
CN110109948A (zh) | 数据查询方法、计算机设备及计算机可读存储介质 | |
CN101277252A (zh) | 多分支Trie树的遍历方法 | |
CN112148738A (zh) | 哈希冲突处理方法及系统 | |
US10223396B2 (en) | Worm hashing | |
CN103020300B (zh) | 一种信息检索方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16 Applicant after: SI-TECH Information Technology Ltd. Address before: 100085, Beijing, Haidian District on the nine Street 9 digital science and Technology Plaza, two floor Applicant before: Beijing Digital China SI-TECH Information Technology Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY LTD. TO: BEIJING SI-TECH INFORMATION TECHNOLOGY LTD. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |