獲取數據的方法及電子設備的制作方法
【專利摘要】本發明公開了一種獲取數據的方法及電子設備,涉及電子設備應用領域,能夠解決獲取聯想數據耗時較長的問題。本發明的方法包括:電子設備與服務器建立套接字長連接;依次接收至少一個輸入數據;通過所述套接字長連接獲取與所述輸入數據對應的聯想數據,所述聯想數據包括所述輸入數據和與所述輸入數據相關聯的數據。本發明主要應用于聯想數據獲取的過程中。
【專利說明】獲取數據的方法及電子設備
【技術領域】
[0001 ] 本發明涉及電子設備應用領域,尤其涉及一種獲取數據的方法及電子設備。
【背景技術】
[0002]隨著網絡技術的發展,在網頁瀏覽時,電子設備可以根據用戶的輸入數據獲取對應輸入數據的聯想數據,將聯想數據作為數據檢索的參考依據提供給用戶。
[0003]現有技術中,電子設備通過超文本傳送協議(HyperText TransferProtocol,簡稱HTTP)支持聯想數據的獲取操作。例如:電子設備通過瀏覽器的文本框獲取到輸入數據“釣”,然后通過HTTP協議從服務器獲取“釣”字對應的第一聯想表,第一聯想表中包括“釣魚”、“釣具”和“釣餌”等聯想數據。接著,電子設備再次通過瀏覽器的文本框獲取輸入數據“魚”,然后再次通過HTTP協議從服務器獲取包括“釣魚”、“釣魚臺”和“釣魚島”等聯想數據的第二聯想表。
[0004]在實現上述獲取數據的過程中,發明人發現現有技術中至少存在如下問題:電子設備每次獲取到輸入數據時都需要通過HTTP協議與服務器進行連接,從服務器獲取與輸入數據對應的聯想數據。由于電子設備獲取輸入數據的方式為逐次獲取,所以電子設備需要多次建立HTTP連接獲取聯想數據,多次建立HTTP連接會增加電子設備獲取聯想數據的時間。
【發明內容】
[0005]本發明提供的一種獲取數據的方法及電子設備,能夠解決因每次獲取聯想數據均需要建立連接,導致的增加獲取聯想數據時間的問題。
[0006]一方面,本發明提供了一種獲取數據的方法,所述方法包括:
[0007]電子設備與服務器建立套接字長連接;
[0008]依次接收至少一個輸入數據;
[0009]通過所述套接字長連接獲取與所述輸入數據對應的聯想數據,所述聯想數據包括所述輸入數據和與所述輸入數據相關聯的數據。
[0010]另一方面,本發明提供了一種電子設備,所述電子設備包括:
[0011]連接單元,用于與服務器建立套接字長連接;
[0012]接收單元,用于依次接收至少一個輸入數據;
[0013]獲取單元,用于通過所述連接單元建立的所述套接字長連接獲取與所述接收單元接收的所述輸入數據對應的聯想數據,所述聯想數據包括所述輸入數據和與所述輸入數據相關聯的數據。
[0014]本發明提供的獲取數據的方法及電子設備,由于套接字長連接為面向服務的連接,所有獲取聯想數據的請求均通過同一個套接字長連接進行通信,因此,通過套接字長連接可以在一次網絡連接內多次獲取輸入數據對應的聯想數據,與現有技術中多次獲取聯想數據需要多次建立HTTP連接相比,可以減少獲取聯想數據的時間。此外,一次建立套接字長連接完成多次獲取聯想數據,可節約電子設備多次建立網絡連接所使用的信令開銷資源。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0016]圖1為本發明實施例中第一個獲取數據的方法的流程圖;
[0017]圖2為本發明實施例中第二個獲取數據的方法的流程圖;
[0018]圖3為本發明實施例中第三個獲取數據的方法的流程圖;
[0019]圖4為本發明實施例中第四個獲取數據的方法的流程圖;
[0020]圖5為本發明實施例中第五個獲取數據的方法的流程圖;
[0021]圖6為本發明實施例中第六個獲取數據的方法的流程圖;
[0022]圖7為本發明實施例中一個電子設備的結構示意圖;
[0023]圖8為本發明實施例中另一個電子設備的結構示意圖;
[0024]圖9為本發明實施例中又一個電子設備的結構示意圖;
[0025]圖10為本發明實施例中再一個電子設備的結構示意圖;
[0026]圖11為本發明實施例中還一個電子設備的結構示意圖。
【具體實施方式】
[0027]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0028]實施例一
[0029]本發明實施例提供了一種獲取數據的方法,如圖1所示,所述方法包括:
[0030]步驟101、電子設備與服務器建立套接字長連接。
[0031]其中,套接字(socket)長連接針對獲取數據服務而建立,電子設備上所有屬于獲取數據的服務的請求均使用同一個套接字長連接。獲取數據服務包含至少一次獲取數據的請求。
[0032]步驟102、依次接收至少一個輸入數據。
[0033]電子設備接收用戶在文本框中鍵入的輸入數據。輸入數據包括單字、詞語、短語、語句、字母以及單詞等。例如,文本框中鍵入“釣”,則電子設備接收到“釣”后,根據輸入數據“釣”可獲取“釣”對應的聯想數據。
[0034]因為,至少一次獲取數據的請求都可以用同一個套接字長連接,因此,建立一次套接字長連接可完成多次聯想數據的獲取。
[0035]步驟103、通過套接字長連接獲取與輸入數據對應的聯想數據,聯想數據包括輸入數據和與輸入數據相關聯的數據。[0036]電子設備通過步驟101中建立的套接字長連接將步驟102中接收的輸入數據發送至服務器。服務器查找到輸入數據對應的聯想數據后,將輸入數據對應的聯想數據發送給電子設備。例如,輸入數據“釣”對應的聯想數據為“釣魚”、“釣具”和“釣餌”。聯想數據“釣魚”中,“釣”為輸入數據,“魚”為輸入數據相關聯的數據。
[0037]在本發明的使用場景中,若用戶將光標移動到瀏覽器的文本框并鍵入“釣”,電子設備接收到的第一個輸入數據為“釣”,將輸入數據“釣”通過套接字長連接從服務器獲取輸入數據“釣”對應的聯想數據。所述聯想數據包括“釣魚”、“釣具”和“釣餌”等。電子設備獲取到聯想數據后,通過下拉菜單的方式顯示所述聯想數據,以供用戶選擇。若用戶在瀏覽器的文本框中繼續鍵入“魚”,電子設備接收到的第二個輸入數據為“釣魚”,通過套接字長連接從服務器獲取“釣魚”對應的聯想數據。所述聯想數據包括“釣魚臺”、“釣魚方法”和“釣魚島”等。電子設備獲取到聯想數據后,通過下拉菜單的方式顯示所述聯想數據,以供用戶選擇。當光標不在文本框中時,即文本框處于非輸入狀態時,電子設備斷開套接字長連接。
[0038]本發明實施例提供的獲取數據的方法,在建立套接字長連接后,接收文本框中的輸入數據,獲取輸入數據對應的聯想數據。在光標離開文本框之前產生的所有獲取聯想數據的請求,均使用開始建立的同一個套接字長連接。由于套接字長連接為面向服務的連接,所有獲取聯想數據的請求均通過同一個套接字長連接進行通信,因此,通過套接字長連接可以在一次網絡連接內多次獲取輸入數據對應的聯想數據,與現有技術中多次獲取聯想數據需要多次建立HTTP連接相比,可以減少獲取聯想數據的時間。此外,一次建立套接字長連接完成多次獲取聯想數據,可節約電子設備多次建立網絡連接所使用的信令開銷資源。
[0039]實施例二
[0040]作為對實施例一的進一步說明,本發明實施例提供了一種獲取數據的方法,如圖2所示,圖2中步驟201至步驟203分別與圖1中的步驟101至步驟103對應相同,此處不再贅述。
[0041]可選的,當通過內部存儲設備對所述聯想數據進行存儲時,在步驟203之后,所述方法包括:
[0042]步驟204、將所述聯想數據保存到內部存儲設備中。
[0043]在步驟203通過套接字長連接獲取與輸入數據對應的聯想數據之后,將所述聯想數據保存到內部存儲設備中。所述內部存儲設備為響應速度較快的存儲設備,如內存或緩存等。
[0044]步驟205、當獲取到所述輸入數據的部分刪除指示時,根據所述輸入數據的部分刪除指示從所述內部存儲設備中獲取其余輸入數據的聯想數據。
[0045]當接收到所述輸入數據的部分刪除指示時,根據所述輸入數據的部分刪除指示查找文本框內除了所述輸入數據的部分刪除指示刪除的輸入數據以外的其余輸入數據。在內部存儲設備中獲取所述其余輸入數據對應的聯想數據。
[0046]例如:建立一個套接字長連接后,若在文本框中先輸入“釣”后輸入“魚”,電子設備通過套接字長連接分別獲取了 “釣”字和“釣魚”的聯想數據,并將“釣”字和“釣魚”的聯想數據保存到內部存儲設備中。當用戶通過在文本框中刪除“魚”字時,電子設備接收用戶出發的輸入數據的部分刪除指示,所述輸入數據的部分刪除指示用于刪除“魚”字。此時,文本框內的其余輸入數據為“釣”字。電子設備在內部存儲設備中獲取其余輸入數據“釣”字對應的聯想數據,并將“釣”字對應的聯想數據進行顯示,以便用戶進行選擇。
[0047]將聯想數據存儲到內部存儲設備中,當用戶對文本框中的輸入數據進行刪除時,可從內部存儲設備中獲取其余輸入數據對應的聯想數據,無需再次通過套接字長連接獲取,進而提高了聯想數據的獲取速度,避免聯想數據的重復獲取。
[0048]可選的,當通過外部存儲設備對所述聯想數據進行存儲時,如圖3所示,圖3中步驟301至步驟303分別與圖2中的步驟201至步驟203對應相同,此處不再贅述。在步驟303之后,所述方法包括:
[0049]步驟304、將所述聯想數據保存到外部存儲設備中。
[0050]在步驟303通過套接字長連接獲取與輸入數據對應的聯想數據之后,將所述聯想數據保存到外部存儲設備中。所述外部存儲設備可為但不僅限于磁盤、光盤、移動硬盤或U盤。由于外部存儲設備不會因斷電而失去存儲功能,因此通過外部存儲設備對獲取到的聯想數據進行存儲,若存儲空間允許,則可存儲當天、本月或更長時間的聯想數據。
[0051]步驟305、當再次輸入相同輸入數據時,從所述外部存儲設備中獲取所述聯想數據。
[0052]在將聯想數據保存到外部存儲設備之后,當再次接收到輸入數據時,判斷所述輸入數據對應的聯想數據是否已保存在所述外部存儲設備中,若已保存,則直接從所述外部存儲設備中獲取輸入數據對應的聯想數據;若未保存,則通過套接字長連接獲取則獲取輸入數據對應的聯想數據,并將獲取到的聯想數據保存到所述外部存儲設備中,以便下次獲取聯想數據時調取。
[0053]例如:在建立一個套接字長連接后,在文本框中輸入“釣魚”,若外部存儲設備,如硬盤,中未存儲“釣魚”對應的聯想數據,則電子設備獲取并存儲“釣魚”對應的聯想數據。三天后,若在文本框中再次輸入“釣魚”,此時硬盤中已存儲“釣魚”對應的聯想數據,則電子設備從硬盤中調取“釣魚”對應的聯想數據。
[0054]與通過內部存儲設備存儲聯想數據相比,外部存儲設備具有存儲空間大、存儲時間長的優點,可實現多個套接字長連接的聯想數據的共享,進一步避免聯想數據的重復獲取,減少獲取聯想數據的時間。
[0055]可選的,步驟201包括:當所述電子設備檢測到文本框的當前狀態為待輸入狀態時,與所述服務器建立套接字長連接。
[0056]套接字長連接的建立以在文本框中鍵入輸入數據為觸發依據,當光標移動到文本框時,即文本框的當前狀態為待輸入狀態時,電子設備建立套接字長連接。當電子設備檢測到光標移動到文本框中時,建立套接字長連接,讀取文本框中已存在的輸入數據,并通過套接字長連接獲取對應的聯想數據。
[0057]文本框中可以無任何輸入數據也可已存在輸入數據。若無輸入數據,則電子設備等待接收用戶鍵入的輸入數據;若已存在輸入數據,則電子設備接收所述已存在輸入數據,通過套接字長連接獲取輸入數據對應的聯想數據,然后顯示獲得的聯想數據。
[0058]套接字長連接的建立還可以以開啟瀏覽器為觸發依據,當啟動瀏覽器后,電子設備建立套接字長連接。
[0059]可選的,如圖4所示,圖4中步驟401至步驟403分別與圖3中的步驟301至步驟303對應相同,此處不再贅述。在步驟403之后,所述方法還包括:
[0060]步驟404、判斷在所述套接字長連接建立開始的第一預設時長內,是否接收到輸入數據,若判斷結果為否,則執行步驟405 ;若判斷結果為是,則執行步驟402。其中,第一預設時長用于描述則從建立套接字長連接的時刻到當前時刻的時長。
[0061]除了根據第一預設時長進行斷開套接字長連接之外,還可通過第二預設時長確定斷開套接字長連接的時機。此時步驟404為:判斷在從接收到輸入數據時刻開始的第二預設時長內,是否接收到下一個輸入數據,若判斷結果為否,則執行步驟405 ;若判斷結果為是,則執行步驟402。第二預設時長用于描述根據距離最近一次接收到輸入數據的時長。
[0062]步驟405、斷開套接字長連接。
[0063]當電子設備與服務器建立套接字長連接后,套接字長連接一直保持連接狀態。由于服務器可提供的連接數量有限,因此為了減輕服務器壓力,若電子設備在預設時長內沒有接收到輸入數據,則斷開套接字長連接。所述預設時長可為5分鐘或30秒等。具體的,電子設備判斷在從與服務器建立套接字長連接時刻開始的第一預設時長內,是否接收到輸入數據,如果判斷結果為否,則斷開套接字長連接。例如,若第一預設時長為一分鐘,則從建立套接字長連接的時刻的一分鐘之后,電子設備斷開套接字長連接。此時無論用戶是否輸入完畢,套接字長連接均將斷開,由此實現每個電子設備占用服務器套接字長連接資源的時間均相同,因此可保證服務器平穩運行。
[0064]此外,電子設備判斷在從接收到輸入數據時刻開始的第二預設時長內,是否接收到下一個輸入數據,如果判斷結果為否,則斷開套接字長連接。例如,第二預設時長為三十秒,在建立套接字長連接后,距離上次接收輸入數據的時刻開始的三十秒內,若未接收到輸入數據,則斷開套接字長連接。通過第二預設時長可實現根據輸入數據的輸入情況斷開套接字長連接,避免在根據第一預設時長導致用戶未能鍵入全部輸入數據便斷開套接字長連接的問題,同時可以使服務器平穩運行。
[0065]可選的,在一次套接字長連接中,電子設備根據第一次鍵入的輸入數據獲取聯想數據,當用戶選擇聯想數據中的某個聯想數據后,文本框中顯示用戶選擇的聯想數據,電子設備可將用戶選擇的聯想數據作為新的輸入數據,獲取新的輸入數據對應的聯想數據。
[0066]例如:建立一個套接字長連接后,在文本框中輸入“釣”,電子設備獲取“釣”對應的聯想數據,如“釣魚”、“釣具”和“釣餌”。用戶選擇“釣具”后,電子設備將“釣具”確定為新的輸入數據,并獲取“釣具”對應的聯想數據,如“釣具大全” “釣具商城”和“釣具批發”,以供用戶進一步選擇。
[0067]在實現數據獲取的方法的過程中,發明人發現如下問題,以用戶輸入“釣魚”場景說明:用戶剛輸入“釣”時有聯想數據A,然后輸入“魚”,此時輸入數據為“釣魚”,因此將取消對聯想數據A的顯示。然而,由于網絡延時等原因,經過0.5秒后才獲取到“釣魚”的聯想數據B,則從用戶角度看,是先看到列表A,然后列表A消失,0.5秒后出現列表B,用戶會感覺界面閃爍。為了克服上述問題,可選的,如圖5所示,圖5中步驟501至步驟503分別與圖4中的步驟401至步驟403對應相同,此處不再贅述。步驟503之后,所述方法還包括:
[0068]步驟504、對當前獲取到的聯想數據進行顯示。
[0069]步驟505、在再次接收輸入數據并獲取到聯想數據之前,持續顯示所述當前獲取到的聯想數據。[0070]步驟506、當再次獲取到聯想數據時,顯示再次獲取到的聯想數據。
[0071]通過上述步驟對本次獲取到的聯想數據的持續顯示,可是達到如下效果:用戶打開文本框,每次輸入的聯想結果,都維持一小段時間(如0.5秒),直到再次獲取到聯想數據,此時顯示再次獲取到的聯想數據。避免了聯想數據顯示出現閃爍的問題。
[0072]進一步的,如圖6所示,所述步驟103包括:
[0073]步驟601、對輸入數據進行加密,將加密后的輸入數據發送給服務器,以使服務器對加密后的輸入數據進行解密并查找與輸入數據對應的聯想數據。
[0074]為了保證輸入數據在傳輸過程中的安全性,電子設備對輸入數據進行加密,并將加密后的輸入數據發送至服務器。服務器對加密后的輸入數據進行解密后獲得輸入數據,查詢得到輸入數據對應的聯想數據。服務器對聯想數據加密后,發送至電子設備。
[0075]步驟602、接收服務器加密后的聯想數據,并對加密后的聯想數據進行解密。
[0076]其中,加密后的聯想數據為服務器查找并加密的聯想數據。
[0077]電子設備接收所述服務器加密后的聯想數據后,對聯想數據進行解密。步驟501和步驟502中電子設備和服務器使用的加密方法可為但不限于數據加密算法(DataEncryption Standard,簡稱 DES)、無線統一協議(Wireless UnifyProtocol,簡稱 WUP 協議)或公鑰加密算法。
[0078]本發明實施例提供的獲取數據的方法,在建立套接字長連接后,接收文本框中的輸入數據,當輸入數據發生變化時,獲取輸入數據對應的聯想數據。在光標離開文本框之前產生的所有獲取聯想數據的請求,均使用開始建立的同一個套接字長連接。由于套接字長連接為面向服務的連接,所有獲取聯想數據的請求均通過同一個套接字長連接進行通信,因此,通過套接字長連接可以在一次網絡連接內多次獲取輸入數據對應的聯想數據,與現有技術中多次獲取聯想數據需要多次建立HTTP連接相比,可以減少獲取聯想數據的時間。此外,一次建立套接字長連接完成多次獲取聯想數據,可節約電子設備多次建立網絡連接所使用的信令開銷資源。此外,通過內部存儲設備與外部存儲設備對聯想數據進行保存,無需重復獲取聯想數據,可實現同一套接字長連接以及不同套接字長連接間的聯想數據的共享。當光標移動到本文框后對文本框中的輸入數據進行接收并獲取對應的聯想數據,以及將獲得的聯想數據作為新的輸入數據,并獲得新的輸入數據賭贏的聯想數據,可進一步簡化操作,減少聯想數據獲取時間。在預設時長后斷開套接字長連接,可減輕服務器壓力,以便服務器提供充足的資源,保證電子設備套接字長連接的正常運行。對聯想數據進行持續顯示,可避免連續獲取聯想數據時出現聯想數據閃爍的問題。電子設備對輸入數據加密并對服務器發送的加密后的聯想數據解密,保證輸入數據和聯想數據的安全傳輸。當光標離開文本框時,斷開套接字長連接。
[0079]實施例三
[0080]本發明實施例提供了 一種電子設備,如圖7所示,所述電子設備包括:
[0081 ] 連接單元71,用于與服務器建立套接字長連接。
[0082]其中,套接字長連接針對獲取數據服務而建立,電子設備上所有屬于獲取數據的服務的請求均使用同一個套接字長連接。獲取數據服務包含至少一次獲取數據的請求。
[0083]接收單元72,用于依次接收至少一個輸入數據。
[0084]接收單元72接收用戶在文本框中鍵入的輸入數據。輸入數據包括單字、詞語、短語、語句、字母以及單詞等。例如,文本框中鍵入“釣”,則接收單元72接收到“釣”后,根據輸入數據“釣”可獲取“釣”對應的聯想數據。
[0085]因為,至少一次獲取數據的請求都可以用同一個套接字長連接,因此,連接單元71建立一次套接字長連接可完成多次聯想數據的獲取。
[0086]獲取單元73,用于通過所述連接單元71建立的所述套接字長連接獲取與所述接收單元72接收的所述輸入數據對應的聯想數據,所述聯想數據包括所述輸入數據和與所述輸入數據相關聯的數據。
[0087]獲取單元73通過連接單元71建立的套接字長連接將接收單元72接收的輸入數據發送至服務器。服務器查找到輸入數據對應的聯想數據后,將輸入數據對應的聯想數據發送給獲取單元73。例如,輸入數據“釣”對應的聯想數據為“釣魚”、“釣具”和“釣餌”,在聯想數據“釣魚”中,“釣”為輸入數據,“魚”為輸入數據相關聯的數據。
[0088]進一步的,如圖8所示,所述電子設備還包括:
[0089]內部存儲單元81,用于保存所述獲取單元獲取的所述聯想數據。
[0090]所述獲取單元還用于,當獲取到所述輸入數據的部分刪除指示時,根據所述輸入數據的部分刪除指示從所述內部存儲單元81中獲取其余輸入數據的聯想數據。
[0091]內部存儲單元81可存儲一次套接字長連接內獲取的至少一個聯想數據。所述內部存儲單元81比外部存儲單元82的響應速度快,如內存或緩存等。
[0092]在一次套接字長連接中,當獲取單元73獲取到輸入數據的部分刪除指示時,根據所述輸入數據的部分刪除指示從所述內部存儲單元81中獲取其余輸入數據的聯想數據。聯想數據存儲在內部存儲單元81中,可保證聯想數據的快速獲取,避免聯想數據的重復獲取,進一步減少獲取聯想數據的時間。
[0093]所述電子設備還包括:外部存儲單元82,用于保存所述獲取單元獲取的所述聯想數據。
[0094]所述獲取單元還用于,當再次輸入相同輸入數據時,從所述外部存儲單元82中獲取所述聯想數據。
[0095]通過外部存儲單元82對獲取單元73獲取到的聯想數據進行存儲,若存儲空間允許,則可存儲當天、本月或更長時間。與通過內部存儲單元81存儲聯想數據相比,外部存儲單元82具有存儲空間大、存儲時間長的優點,可實現多個套接字長連接的聯想數據的共享,進一步避免聯想數據的重復獲取,減少獲取聯想數據的時間。外部存儲單元82可為但不僅限于磁盤、光盤、移動硬盤、U盤。
[0096]進一步的,所述連接單元71還用于,當所述接收單元72檢測到文本框的當前狀態為待輸入狀態時,與所述服務器建立套接字長連接。
[0097]連接單元71建立套接字長連接以接收單元72檢測到在文本框中鍵入輸入數據為觸發依據,當接收單元72檢測到光標移動到文本框時,即文本框的當前狀態為待輸入狀態時,連接單元71建立套接字長連接。此外,當接收單元72檢測到光標移動到文本框中時,建立套接字長連接,接收單元72讀取文本框中已存在的輸入數據,獲取單元73通過套接字長連接獲取已存在的輸入數據所對應的聯想數據。
[0098]文本框中可以無任何輸入數據也可已存在輸入數據。若無輸入數據,則接收單元72等待接收用戶鍵入的輸入數據;若已存在輸入數據,則接收單元72接收所述已存在輸入數據,然后獲取單元73通過套接字長連接獲取輸入數據對應的聯想數據,顯示獲得的聯想數據。
[0099]連接單元71建立套接字長連接還可以以開啟瀏覽器為觸發依據,當啟動瀏覽器后,連接單元71建立套接字長連接。
[0100]進一步的,如圖9所示,所述電子設備還包括:
[0101]判斷單元91,用于判斷在所述套接字長連接建立開始的第一預設時長內,所述接收單元72是否接收到輸入數據;
[0102]所述判斷單元91還用于,判斷在從接收單元72接收到輸入數據時刻開始的第二預設時長內,接收單元72是否接收到下一個輸入數據;
[0103]所述連接單元71還用于,當所述判斷單元91得出的判斷結果為否時,斷開所述連接單元71建立的所述套接字長連接。
[0104]當連接單元71與服務器建立套接字長連接后,套接字長連接一直保持連接狀態。由于服務器可提供的連接數量有限,因此為了減輕服務器壓力,若接收單元72在預設時長內沒有接收到輸入數據,則連接單元71斷開套接字長連接。所述預設時長可為5分鐘或30秒等。
[0105]具體的,判斷單元91判斷在從連接單元71建立與服務器套接字長連接時刻開始的第一預設時長內,接收單元72是否接收到輸入數據,如果判斷結果為否,則連接單元71斷開套接字長連接。例如,若第一預設時長為一分鐘,則從建立套接字長連接的時刻的一分鐘之后,電子設備斷開套接字長連接。此時無論用戶是否輸入完畢,套接字長連接均將斷開,由此實現每個電子設備占用服務器套接字長連接資源的時間均相同,因此可保證服務器平穩運行。
[0106]此外,判斷單元91還用于判斷在從接收單元72接收到輸入數據時刻開始的第二預設時長內,接收單元72是否接收到下一個輸入數據;當所述判斷單元91得出的判斷結果為否時,連接單元71斷開所述連接單元71建立的所述套接字長連接。例如,第二預設時長為三十秒,在建立套接字長連接后,在距離上次接收輸入數據的時刻開始的三十秒內,若判斷單元91判斷出接收單元72未接收到輸入數據,則連接單元71斷開套接字長連接。通過第二預設時長可實現根據輸入數據的輸入情況斷開套接字長連接,避免在根據第一預設時長導致用戶未能鍵入全部輸入數據便斷開套接字長連接的問題,同時可以使服務器平穩運行。
[0107]進一步的,如圖10所示,所述電子設備還包括:
[0108]顯示單元1001,用于對當前獲取到的聯想數據進行顯示;
[0109]在再次接收輸入數據并獲取到聯想數據之前,持續顯示所述當前獲取到的聯想數據;
[0110]當再次獲取到聯想數據時,顯示再次獲取到的聯想數據。
[0111]通過顯示單元1001對本次獲取到的聯想數據的持續顯示,可是達到如下效果:用戶打開文本框,每次輸入的聯想結果,都維持一小段時間(如0.5秒),直到獲取單元73再次獲取到聯想數據,此時顯示單元1001顯示再次獲取到的聯想數據。避免了聯想數據顯示出現閃爍的問題。
[0112]進一步的,在一次套接字長連接中,獲取單元73根據第一次鍵入的輸入數據獲取聯想數據,當用戶選擇聯想數據中的某個聯想數據后,文本框中顯示用戶選擇的聯想數據,接收單元72可將用戶選擇的聯想數據作為新輸入數據,獲取的那遠獲取新輸入數據對應的聯想數據。
[0113]例如:建立一個套接字長連接后,在文本框中輸入“釣”,獲取單元73獲取“釣”對應的聯想數據,如“釣魚”、“釣具”和“釣餌”。用戶選擇“釣具”后,接收單元72將“釣具”確定為新的輸入數據,獲取單元73獲取“釣具”對應的聯想數據,如“釣具大全” “釣具商城”和“釣具批發”,以供用戶進一步選擇。
[0114]進一步的,如圖11所示,所述電子設備還包括:
[0115]加密單元1101,用于對接收單元72接收到的所述輸入數據加密。
[0116]所述獲取單元73還用于,將加密后的所述輸入數據發送給服務器,以便服務器對加密后的所述輸入數據進行解密并查找與所述輸入數據對應的聯想數據。
[0117]所述獲取單元73還用于,接收服務器加密后的聯想數據。
[0118]解密單元1102,用于對所述獲取單元73接收的加密后的聯想數據進行解密,其中,所述加密后的聯想數據為服務器查找并加密的聯想數據。
[0119]為了保證輸入數據在傳輸過程中的安全性,加密單元1101對輸入數據進行加密,獲取單元73將加密后的輸入數據發送至服務器。服務器對加密后的輸入數據進行解密后獲得輸入數據,查詢得到輸入數據對應的聯想數據。服務器對聯想數據加密后,發送至獲取單元73。
[0120]獲取單元73接收所述服務器加密后的聯想數據后,解密單元1102對聯想數據進行解密。加密單元1101和解密單元1102中使用的加密方法可為但不限于數據加密算法(Data Encryption Standard,簡稱 DES)、無線統一協議(Wireless Unify Protocol,簡稱WUP協議)或公鑰加密算法。
[0121]本發明實施例提供的電子設備,在連接單元71建立套接字長連接后,接收單元72接收文本框中的輸入數據,獲取單元73在輸入數據發生變化時,根據輸入數據獲取對應的聯想數據。在光標離開文本框之前產生的所有獲取聯想數據的請求,均使用連接單元71開始建立的同一個套接字長連接。由于套接字長連接為面向服務的連接,所有獲取單元73發出的獲取聯想數據的請求均通過同一個套接字長連接進行通信,因此,通過套接字長連接可以在一次網絡連接內多次獲取輸入數據對應的聯想數據,與現有技術中多次獲取聯想數據需要連接單元71多次建立HTTP連接相比,可以減少獲取聯想數據的時間。此外,通過連接單元71建立的一次套接字長連接完成多次獲取聯想數據,可節約連接單元71多次建立網絡連接所使用的信令開銷資源。此外,通過內部存儲單元81對聯想數據進行保存,無需重復獲取聯想數據,可實現同一套接字長連接內實現聯想數據的共享,通過外部存儲單元81可實現在不同套接字長連接間的聯想數據的共享,進一步避免聯想數據的重復獲取,減少獲取聯想數據的時間。當用戶選擇獲取單元73獲取的聯想數據進行選擇后,接收單元72將用戶選擇的聯想數據確定為新的輸入數據,獲取單元獲取新的輸入數據對應的聯想數據,進一步簡化操作,減少聯想數據獲取時間。在判斷單元91判斷出接收單元在預設時長內未接收到輸入數據后,連接單元71斷開套接字長連接,可減輕服務器壓力,以便服務器可為電子設備提供充足的資源,保證套接字長連接的正常運行。顯示單元1001對聯想數據進行持續顯示,可避免連續獲取聯想數據時出現聯想數據閃爍的問題。加密單元1101對輸入數據加密,解密單元1102對服務器發送的加密后的聯想數據解密,保證輸入數據和聯想數據的安全傳輸。當光標離開文本框時,連接單元71斷開套接字長連接。
[0122]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0123]在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0124]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
[0125]另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
[0126]所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)或處理器(processor)執行本發明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0127]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。
【權利要求】
1.一種獲取數據的方法,其特征在于,所述方法包括: 電子設備與服務器建立套接字長連接; 依次接收至少一個輸入數據; 通過所述套接字長連接獲取與所述輸入數據對應的聯想數據,所述聯想數據包括所述輸入數據和與所述輸入數據相關聯的數據。
2.根據權利要求1所述的方法,其特征在于,所述電子設備與服務器建立套接字長連接,包括: 當所述電子設備檢測到文本框的當前狀態為待輸入狀態時,與所述服務器建立套接字長連接。
3.根據權利要求1所述的方法,其特征在于,在所述通過所述套接字長連接獲取與所述輸入數據對應的聯想數據之后,所述方法還包括: 將所述聯想數據保存到內部存儲設備中,當獲取到所述輸入數據的部分刪除指示時,根據所述輸入數據的部分刪除指示從所述內部存儲設備中獲取其余輸入數據的聯想數據; 或者,將所述聯想數 據保存到外部存儲設備中,當再次輸入相同輸入數據時,從所述外部存儲設備中獲取所述聯想數據。
4.根據權利要求1所述的方法,其特征在于,在所述與服務器建立套接字長連接之后,所述方法還包括: 判斷在所述套接字長連接建立開始的第一預設時長內,是否接收到輸入數據,如果判斷結果為否,則斷開所述套接字長連接; 或者,判斷在從接收到輸入數據時刻開始的第二預設時長內,是否接收到下一個輸入數據,如果判斷結果為否,則斷開所述套接字長連接。
5.根據權利要求1所述的方法,其特征在于,在所述通過所述套接字長連接獲取與所述輸入數據對應的聯想數據之后,還包括: 對當前獲取到的聯想數據進行顯示; 在再次接收輸入數據并獲取到聯想數據之前,持續顯示所述當前獲取到的聯想數據; 當再次獲取到聯想數據時,顯示再次獲取到的聯想數據。
6.根據權利要求1至5中任一項所述的方法,其特征在于,所述通過所述套接字長連接獲取與所述輸入數據對應的聯想數據,包括: 對所述輸入數據進行加密,將加密后的所述輸入數據發送給服務器,以使所述服務器對加密后的所述輸入數據進行解密并查找與所述輸入數據對應的聯想數據; 接收加密后的聯想數據,并對所述加密后的聯想數據進行解密,其中,所述加密后的聯想數據為所述服務器查找并加密的聯想數據。
7.—種電子設備,其特征在于,所述電子設備包括: 連接單元,用于與服務器建立套接字長連接; 接收單元,用于依次接收至少一個輸入數據; 獲取單元,用于通過所述連接單元建立的所述套接字長連接獲取與所述接收單元接收的所述輸入數據對應的聯想數據,所述聯想數據包括所述輸入數據和與所述輸入數據相關聯的數據。
8.根據權利要求7所述的電子設備,其特征在于,所述連接單元還用于,當所述接收單元檢測到文本框的當前狀態為待輸入狀態時,與所述服務器建立套接字長連接。
9.根據權利要求7所述的電子設備,其特征在于,所述電子設備還包括: 內部存儲單元,用于保存所述獲取單元獲取的所述聯想數據; 所述獲取單元還用于,當獲取到所述輸入數據的部分刪除指示時,根據所述輸入數據的部分刪除指示從所述內部存儲單元中獲取其余輸入數據的聯想數據。
10.根據權利要求7所述的電子設備,其特征在于,所述電子設備還包括:外部存儲單元,用于保存所述獲取單元獲取的所述聯想數據; 所述獲取單元還用于,當再次輸入相同輸入數據時,從所述外部存儲單元中獲取所述聯想數據。
11.根據權利要求7所述的電子設備,其特征在于,所述電子設備還包括: 判斷單元,用于判斷在所述套接字長連接建立開始的第一預設時長內,所述接收單元是否接收到輸入數據; 所述判斷單元還用于,判斷在從接收單元接收到輸入數據時刻開始的第二預設時長內,接收單元是否接收到下一個輸入數據; 所述連接單元還用于,當所述判斷單元得出的判斷結果為否時,斷開所述連接單元建立的所述套接字長連接。
12.根據權利要求7所述的方法,其特征在于,所述電子設備還包括: 顯示單元,用于對當前獲取到的聯想數據進行顯示; 在再次接收輸入數據并獲取到聯想數據之前,持續顯示所述當前獲取到的聯想數據; 當再次獲取到聯想數據時,顯示再次獲取到的聯想數據。
13.根據權利要求7至12中任一項所述的電子設備,其特征在于,所述電子設備還包括: 加密單元,用于對接收單元接收到的所述輸入數據加密; 所述獲取單元還用于,將加密后的所述輸入數據發送給服務器,以使所述服務器對加密后的所述輸入數據進行解密并查找與所述輸入數據對應的聯想數據; 所述獲取單元還用于,接收服務器加密后的聯想數據; 解密單元,用于對所述獲取單元接收的加密后的聯想數據進行解密,其中,所述加密后的聯想數據為所述服務器查找并加密的聯想數據。
【文檔編號】H04L29/08GK103929459SQ201310016263
【公開日】2014年7月16日 申請日期:2013年1月16日 優先權日:2013年1月16日
【發明者】豆寧軍 申請人:騰訊科技(深圳)有限公司