[發明專利]一種搜索用戶名的方法及系統無效
| 申請號: | 201210051169.0 | 申請日: | 2012-03-01 |
| 公開(公告)號: | CN102682068A | 公開(公告)日: | 2012-09-19 |
| 發明(設計)人: | 沈文策 | 申請(專利權)人: | 沈文策 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 逯長明 |
| 地址: | 350003 福建省福州市鼓樓區銅*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 搜索 用戶名 方法 系統 | ||
技術領域
本發明屬于數據處理技術領域,尤其涉及一種搜索用戶名的方法及系統。
背景技術
隨著科技的迅猛發展,互聯網越來越多的出現在人們的生活中。在多種系統中都使用到用戶名搜索技術,例如:在用戶的注冊過程中,需要判斷用戶填寫的用戶名是否已經被使用;好友的模糊查找;在填寫功能表單(發站內信,贈送鮮花等)時,根據用戶的輸入情況,自動下拉提示符合條件的用戶名列表。
用戶名搜索分為精確搜索和模糊搜索。其中,模糊搜索進一步分為前匹配、后匹配和模糊匹配三種。例如:若數據庫中保存有abcd,adef,bda,der四個用戶名,那么模糊查找a的話,如果進行前匹配,則只有以a開頭的用戶名符合要求,結果為abcd和adef,如果進行后匹配,則只有以a結尾的用戶名符合要求,所以結果是bda,如果進行模糊匹配,則只要包含有字符a的均符合要求,所以結果是abcd,adef和bda。
目前,主要是通過PHP(英文超級文本預處理語言)加MYSQL(一種小型關系型數據庫管理系統)的形式來保存、查找用戶名。但是,這種結構只能在用戶量較小時滿足應用,原因在于:當需要進行后匹配模糊搜索時,可以利用MYSQL中的索引功能快速定位到符合條件的記錄上,但是,如果需要進行前匹配模糊搜索或者模糊匹配搜索,基于MYSQL的索引原理無法快速的定位至符合條件的記錄上,此時需要進行全表檢索,在全表檢索過程中,數據庫處于被鎖定的狀態,針對數據庫的其他請求均無法進行。當用戶量較大(如千萬級別)時,數據庫的記錄會達到百萬級別,由于全表檢索的查詢效率較低,導致數據庫被鎖定的時間較長,嚴重影響了數據庫的日常運營,同時也降低了數據庫的服務質量。
因此,在搜索用戶名的過程中,如何縮短數據庫被鎖定時間,維護數據庫的正常運營并提高其服務質量是本領域技術人員亟待解決的問題。
發明內容
有鑒于此,本發明的目的在于提供一種搜索用戶名的方法及系統,在搜索用戶名的過程中,可以縮短數據庫被鎖定時間,維護數據庫的正常運營并提高其服務質量。
為實現上述目的,本發明提供如下技術方案:
一種搜索用戶名的方法,包括:
接收包含待搜索用戶名以及搜索類型信息的指令;
判斷關于所述待搜索用戶名的搜索是否存在緩存且所述緩存未過期,若是,則獲取緩存中的數據并返回,否則,利用所述搜索類型信息判斷本次搜索是否為模糊搜索;
當本次搜索是模糊搜索時,在內存預存的全部用戶名信息中進行檢索,獲取包含所述待搜索用戶名的用戶名信息作為搜索結果,返回所述搜索結果;當本次搜索不是模糊搜索時,利用數據庫本身的索引在所述數據庫預存的全部用戶名信息中進行檢索,獲取包含所述待搜索用戶名的用戶名信息作為搜索結果,返回所述搜索結果。
優選的,在上述方法中,還包括:將所述數據庫中的全部用戶名信息加載至內存。
優選的,在上述方法中,在內存預存的全部用戶名信息中進行檢索,具體為:
以所述待搜索用戶名為關鍵字,在所述內存預存的全部的用戶名信息中進行遍歷。
優選的,在上述方法中,在將數據庫中的全部用戶名信息加載至內存之后,還包括:按照用戶名對所述內存中的全部用戶信息進行排序,并建立索引。
優選的,在上述方法中,在內存預存的全部用戶名信息中進行檢索,包括:
判斷本次搜索是否為后匹配模糊搜索;
當本次搜索是后匹配模糊搜索時,利用所述內存中的索引在內存預存的全部用戶名信息中進行直接定位;
當本次搜索不是后匹配模糊搜索時,以所述待搜索用戶名為關鍵字,在所述內存預存的全部用戶名信息中進行遍歷。
優選的,在上述方法中,在返回所述搜索結果后,還包括:將所述搜索結果存儲于緩存中。
優選的,利用C語言進行待搜索用戶名的模糊搜索。
另一方面,本發明還提供了一種搜索用戶名的系統,包括:
信息處理單元,用于將數據庫中的全部用戶名信息加載至內存;
指令接收單元,用于接收包含待搜索用戶名以及搜索類型信息的指令;
第一判斷單元,用于判斷關于所述待搜索用戶名的搜索是否存在緩存且所述緩存未過期,獲得第一判斷結果;
第一處理單元,用于在所述第一判斷結果表明關于所述待搜索用戶名的搜索存在緩存且所述緩存未過期時,獲取緩存中的數據并返回;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于沈文策,未經沈文策許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210051169.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:信號放大系統及其放大方法
- 下一篇:一種皮革削勻機磨刀砂輪的快速讓刀裝置





