
本發(fā)明屬于社交通訊
技術(shù)領(lǐng)域:
,尤其是涉及一種基于婚戀匹配度搜索的社交系統(tǒng)。
背景技術(shù):
:戀愛婚姻狀況的好壞可直接影響到一個家庭或是一個家族的幸福。目前,無論是自由或是經(jīng)人介紹的戀愛及婚配關(guān)系是否和諧,完全憑借當(dāng)事人感性的認識與判斷,并未從理性的角度來分析與愛人之間的關(guān)系問題,因而離婚率逐年上升。隨著移動終端如智能手機、平板電腦及其應(yīng)用軟件(APP)功能越來越強大,越來越普及,所以本發(fā)明目的在于設(shè)計一個應(yīng)用在移動智能終端的應(yīng)用軟件,該軟件能夠讓未婚男女更加理性選擇合適的朋友,且為具有相同或相近戀愛或婚姻觀的未婚男女提供一個快速建立聯(lián)系并交流的平臺。技術(shù)實現(xiàn)要素:.有鑒于此,本發(fā)明旨在提出一種基于婚戀匹配度搜索的社交系統(tǒng),以為具有相同或相近戀愛或婚姻觀的未婚男女提供一個快速建立聯(lián)系并交流的平臺。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:一種基于婚戀匹配度搜索的社交系統(tǒng),包含即時通信APP和數(shù)據(jù)管理服務(wù)器:所述數(shù)據(jù)管理服務(wù)器包含用戶信息數(shù)據(jù)庫、婚戀匹配度查詢數(shù)據(jù)庫、處理系統(tǒng),即時通信APP,用于將用戶設(shè)定的搜索限定條件參數(shù)發(fā)送到處理系統(tǒng)并將處理系統(tǒng)返回的搜索結(jié)果呈現(xiàn)給用戶,所述搜索條件參數(shù)包括用戶基本信息參數(shù)和匹配度參數(shù);用戶信息數(shù)據(jù)庫,用于存儲每個用戶的注冊信息和與婚戀匹配度相關(guān)的婚戀字符代碼,所述婚戀字符代碼為多維度編碼;婚戀匹配度查詢數(shù)據(jù)庫,用于預(yù)存與每一個可能的婚戀字符代碼滿足不同匹配度參數(shù)的所有可能婚戀字符代碼;處理系統(tǒng),可根據(jù)匹配度參數(shù),從匹配度查詢數(shù)據(jù)庫中搜索所有滿足匹配度參數(shù)條件的所有婚戀字符代碼,組成數(shù)據(jù)集;以及根據(jù)基本信息參數(shù),從用戶信息數(shù)據(jù)庫中搜索滿足基本信息參數(shù)的所有用戶,逐一將得到的每個用戶的婚戀字符代碼與上步得到的數(shù)據(jù)集進行比較,如果屬于所述數(shù)據(jù)集,則保存此用戶的信息,最終得到所有滿足條件的用戶信息,并反饋給即時通信APP。進一步的,所述用戶信息數(shù)據(jù)庫中存儲的婚戀字符代碼是通過用戶完成的測試問卷獲得的,包括多個測試項,每個測試項的不同選擇對應(yīng)不同的分數(shù),每個測試項的得分總計所屬的分數(shù)范圍對應(yīng)一個維度的編碼,多個測試項構(gòu)成多維度的婚戀字符代碼。進一步的,所述婚戀匹配度查詢數(shù)據(jù)庫采用分頁存儲方式,即每一條婚戀字符代碼與其他婚戀字符代碼的匹配度關(guān)系存儲在一頁;根據(jù)從用戶信息數(shù)據(jù)庫中提取的所述搜索用戶的婚戀字符代碼,定位婚戀匹配度查詢數(shù)據(jù)庫中的存儲頁,根據(jù)搜索條件中的匹配度參數(shù)定位到滿足條件的存儲區(qū)域。進一步的,所述處理系統(tǒng)將最小婚戀字符代碼和最大婚戀字符代碼按照二進制數(shù)值進行排序,生成一數(shù)組T,當(dāng)處理系統(tǒng)收到一個婚戀字符代碼后,將該婚戀字符代碼與數(shù)組T中的數(shù)據(jù)逐一做減法操作,當(dāng)減法結(jié)果為零0時,記錄數(shù)組T中該條數(shù)據(jù)在數(shù)組中所在的位置M;將M與存儲間隔數(shù)據(jù)相乘,得到結(jié)果L,則L為存儲此婚戀字符代碼的婚戀匹配度數(shù)據(jù)存儲頁的首地址。進一步的,每一個存儲頁內(nèi)對應(yīng)一個匹配度參數(shù)的區(qū)域內(nèi)存儲有由婚戀字符代碼及各個匹配度值組成的編碼組合。進一步的,將所述多維度的婚戀字符代碼至少分為兩組,分別評價不同方面的匹配度:當(dāng)所述婚戀字符代碼分為兩組,分別評價兩個匹配度時,搜索條件參數(shù)則包括兩個匹配度參數(shù),根據(jù)這兩個匹配度參數(shù)定位每個存儲頁內(nèi)滿足條件的存儲區(qū)域;當(dāng)所述多維度的婚戀字符代碼被劃分為多于兩組時,優(yōu)選其中兩個匹配度參數(shù)進行所述婚戀匹配度查詢數(shù)據(jù)庫的分頁存儲,找到滿足優(yōu)選的兩個匹配度參數(shù)的存儲區(qū)域的編碼組合,在通過編碼組合中的多個匹配度參數(shù),篩選滿足除了此優(yōu)選的兩個匹配度參數(shù)之外的匹配度參數(shù)條件的婚戀字符代碼。進一步的,所述婚戀匹配度查詢數(shù)據(jù)庫中預(yù)存與每一個可能的婚戀字符代碼滿足不同匹配度參數(shù)的所有可能婚戀字符代碼,比較兩個多維度的婚戀字符代碼之間的匹配度的方法,是將兩個多維度編碼對應(yīng)的每個維度編碼組合,查詢對應(yīng)維度的匹配度查詢表的獲得匹配度值,將獲得的多個維度的匹配度值求平均數(shù);將所述平均數(shù)作為最終的匹配度參數(shù),進行對應(yīng)的存儲區(qū)域的存儲。進一步的,所述數(shù)據(jù)管理服務(wù)器還包含用戶位置信息數(shù)據(jù)庫和定位系統(tǒng),所述搜索條件參數(shù)還包括距離參數(shù),通過定位系統(tǒng)查詢用戶位置信息數(shù)據(jù)庫得到用戶的位置信息。進一步的,所述定位系統(tǒng)采用GPS-基站-wifi混合定位方式,采用矩形定位算法。相對于現(xiàn)有技術(shù),本發(fā)明具有以下優(yōu)勢:(1)本發(fā)明能夠為具有相同或相近戀愛或婚姻觀的未婚男女提供一個快速建立聯(lián)系并交流的平臺;(2)本發(fā)明在滿足多方面搜索的條件下,同時提高了高效的搜索方法。附圖說明構(gòu)成本發(fā)明的一部分的附圖用來提供對本發(fā)明的進一步理解,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:圖1為本發(fā)明實施例所述系統(tǒng)總體結(jié)構(gòu)圖;圖2為本發(fā)明實施例所述系統(tǒng)所提供的功能框圖;圖3為本發(fā)明實施例所述婚戀匹配度查詢數(shù)據(jù)庫的分頁存儲結(jié)構(gòu);圖4為本發(fā)明實施例所述用戶信息數(shù)據(jù)庫的存儲結(jié)構(gòu);圖5為本發(fā)明實施例所述定位系統(tǒng)的定位流程圖;圖6為本發(fā)明實施例所述定位系統(tǒng)的矩形定位算法示意圖;圖7為本發(fā)明實施例所述系統(tǒng)基于限定條件的用戶搜索流程圖;圖8為本發(fā)明實施例所述系統(tǒng)批量用戶信息提取時采用多進程數(shù)據(jù)庫信息訪問的流程圖。具體實施方式需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。本發(fā)明實施例包含即時通信APP軟件和數(shù)據(jù)管理服務(wù)器:所述即時通信APP軟件運行在移動智能終端如手機、平板電腦等,所述數(shù)據(jù)管理服務(wù)器包含用戶信息數(shù)據(jù)庫、婚戀匹配度查詢數(shù)據(jù)庫、用戶位置信息數(shù)據(jù)庫、定位系統(tǒng)、處理系統(tǒng),系統(tǒng)總體結(jié)構(gòu)如圖1所示。通過即時通信APP軟件,用戶可與其他用戶進行聊天、與數(shù)據(jù)管理服務(wù)器進行通信,實現(xiàn)好友定位、基于婚戀(戀愛及婚配)匹配度的附近人搜索等功能。所述數(shù)據(jù)管理服務(wù)器主要功能包括建立各個數(shù)據(jù)庫,處理來自用戶的搜索請求,對用戶位置的實時定位等。用戶通過即時通信APP軟件和數(shù)據(jù)管理服務(wù)器可實現(xiàn)圖2所示的搜索、群聊等功能。其中,所述即時通信APP軟件的功能包括用戶注冊、登陸、完善資料、用戶好友列表、用戶申請加好友、同意申請加好友、拒絕申請加好友、刪除好友、給好友添加備注名、添加刪除黑名單、黑名單列表、添加收藏、收藏列表、刪除收藏、設(shè)置是否接收另一用戶的消息等功能;消息模塊主要功能為接收其他用戶提供的實時消息;群聊模塊包括:創(chuàng)建臨時會話并添加用戶、添加用戶到一個會話、可加入的聯(lián)系人列表、會話詳細、刪除用戶、退出會話、編輯會話、設(shè)置是否接收消息、刪除會話、用戶群聊列表、設(shè)置用戶的群昵稱、用戶加入群;通信錄模塊包括手機聯(lián)系人、添加新朋友;朋友圈模塊包括發(fā)布分享、刪除分享朋友圈列表、朋友圈相冊、添加/刪除贊、回復(fù)、刪除回復(fù)、設(shè)定朋友圈權(quán)限、設(shè)定朋友圈封面;會議模塊包括:創(chuàng)建會議、會議詳細、會議列表、申請加入會議、同意申請加入會議、不同意申請加入會議、邀請加入會議、會議的用戶申請列表、用戶活躍度排行、移除用戶;設(shè)置模塊包括版本更新、接收新消息通知、不接收新消息通知、修改密碼、反饋意見、設(shè)置加朋友時是否需要驗證、幫助中心、注冊協(xié)議;以上功能均為現(xiàn)有技術(shù),不再詳述。本發(fā)明的重點是基于婚戀(戀愛及婚配)匹配度的附近人的快速搜索,用戶通過即時通信APP軟件注冊時:由于該即時通信APP軟件除了具體正常的聊天通信功能之外,還可根據(jù)某個用戶與其他用戶婚戀匹配度為限定條件,提供一個快捷定位搜索服務(wù)。所以在用戶注冊的時候除正常填寫用戶名、密碼等基本信息外,會填寫一個婚戀測試問卷。婚戀測試問卷中包含很多選擇性題目,對題目進行分類,分別測試用戶的不同方面,根據(jù)選項的不同,記不同的分數(shù),最后計算每類題目的得分總計,根據(jù)受測者在每一個大類得到的總分設(shè)定一個字符編碼,不同的字符編碼代表用戶所屬此類題目測項目的不同類型;本實施例的婚戀測試問卷包含8個大類題目,分別為人格、理性基礎(chǔ)、價值觀、戀愛感覺、生理需要、安全需要、尊重及愛與被愛需要、歸屬感和社交圈等。每個大類題目共10個小題。例如每個題目按五級評分進行編制。每題分數(shù)5個答案分別為:①、②、③、④、⑤。根據(jù)選項的不同,記不同的分數(shù);例如,受測者選①,記1分;選②,記2分等等,再根據(jù)不同的分數(shù)段進行分類劃分。本實施例的設(shè)定規(guī)則如下:1、人格,得分31~50為A;10~30為B;同理,2、理性基礎(chǔ):劃分為A、B、C、D四種類型;3、價值觀:劃分為A、B兩種類型;4、戀愛感覺劃分為A、B、C、D四種類型;5、生理需要劃分為A、B兩種類型;6、安全需要劃分為A、B、C、D四種類型;7、尊重、愛與被愛需要:(1、2、3、4、5五個題單獨算分)5~15為a,16~25為A,(6、7、8、9、10五個題單獨算分)5~15為b,16~25為B,組合為AB=C、Ab=D、aB=E、ab=F,所以劃分為C、D、E、F四種類型;8、歸屬感和社交圈劃分為A、B、C、D四種類型。例如,甲的人格類10個問題得分=3+3+4+3+2+4+2+1+4+3=29分數(shù)范圍在10~30之間,所以屬于B類。最終8個大類題目得到一個八維度代碼(即婚戀字符代碼),例如甲回答完問卷得到八維度代碼為BCADAAEB。因此APP可根據(jù)不同用戶的婚戀問卷表為每個用戶計算出婚戀字符代碼,且每個用戶的婚戀字符代碼也不一定相同。在用戶注冊完成以后,通過移動客戶端的WiFi網(wǎng)或移動蜂窩網(wǎng)等方式,將用戶個人信息及婚戀字符代碼傳輸至數(shù)據(jù)管理服務(wù)器,并存儲到服務(wù)器中用戶信息數(shù)據(jù)庫。本發(fā)明婚戀匹配度的數(shù)值是根據(jù)心理學(xué)的理論得到的,實例:例如,受測者甲的婚戀字符代碼為:BCADAAEB,這八個字符代表人格維度、理性基礎(chǔ)維度、價值觀維度、戀愛感覺維度、生理需要維度、安全需要維度、尊重及愛與被愛需要維度、歸屬感和社交圈維度。受測者乙的維度代碼為BAACAACB;比較兩個多維度的婚戀字符代碼之間的匹配度的方法,是將兩個多維度編碼對應(yīng)的每個維度編碼組合,查詢對應(yīng)維度的匹配度查詢表的獲得匹配度值,將獲得的多個維度的匹配度值求平均數(shù);將所述平均數(shù)作為最終的匹配度參數(shù),進行對應(yīng)的存儲區(qū)域的存儲。其中,每個維度對應(yīng)的所述匹配度查詢表內(nèi)的匹配度值是根據(jù)心理學(xué)理論得到的。將甲乙兩人的各個維度進行比較,本例甲的人格維度屬于B類,乙的人格維度屬于B類;例如,查詢對應(yīng)人格維度的匹配度查詢表,人格維度組合AA的匹配度為75%,AB為100%,BB為75%,因此,甲乙人格維度的組合是BB,也就是說,甲乙二人在人格方面的匹配度是75%;將所述多維度的婚戀字符代碼可至少分為兩組,分別評價不同方面的匹配度,本實施例分為兩組,分別評價戀愛匹配度和婚姻匹配度。例如,甲與乙戀愛匹配度為(75%+50%+100%+12.5%)/4=59%(4個類型,人格、理性基礎(chǔ)、價值觀、戀愛感覺);甲與乙婚姻匹配度為(75%+100%+50%+56%)/4=70%,(其他四個類型)。因此,可以認為編碼BCADAAEB對BAACAACB戀愛匹配度59%,婚姻匹配度70%。所述婚戀匹配度查詢數(shù)據(jù)庫的建立:本發(fā)明實施例測試的是人格、理性基礎(chǔ)等8個維度的匹配度,每個測試用戶通過問卷測試得到的是婚戀字符代碼(八維度編碼),每個維度均有多個類型(本實施8個維度分別具有的類型種類為2、4、2、4、2、4、4、4,例如人格維度分為A型和B型);通過概率統(tǒng)計計算,用戶注冊后最多將會產(chǎn)生8192(2*4*2*4*2*4*4*4)種不同的婚戀字符代碼。也就是說每個婚戀字符代碼與其他8191個婚戀字符代碼都有戀愛匹配度及婚配匹配度的關(guān)系。所述婚戀匹配度查詢數(shù)據(jù)庫采用分頁存儲方式,即每一條婚戀字符代碼與其他婚戀字符代碼的匹配度關(guān)系存儲在一頁,另外一條婚戀字符代碼與其他婚戀字符代碼的匹配度關(guān)系存儲在另一頁;每一個存儲頁內(nèi)對應(yīng)一個匹配度參數(shù)的區(qū)域內(nèi)存儲有由婚戀字符代碼及各個匹配度值組成的編碼組合;根據(jù)從用戶信息數(shù)據(jù)庫中提取的所述搜索用戶的婚戀字符代碼,定位婚戀匹配度查詢數(shù)據(jù)庫中的存儲頁,根據(jù)搜索條件中的匹配度參數(shù)定位到滿足條件的存儲區(qū)域。當(dāng)所述婚戀字符代碼分為兩組,分別評價兩個匹配度時,搜索條件參數(shù)則包括兩個匹配度參數(shù),根據(jù)這兩個匹配度參數(shù)定位每個存儲頁內(nèi)滿足條件的存儲區(qū)域;當(dāng)所述多維度的婚戀字符代碼被劃分為多于兩組時,優(yōu)選其中兩個匹配度參數(shù)進行所述婚戀匹配度查詢數(shù)據(jù)庫的分頁存儲,找到滿足優(yōu)選的兩個匹配度參數(shù)的存儲區(qū)域的編碼組合,在通過編碼組合中的多個匹配度參數(shù),篩選滿足除了此優(yōu)選的兩個匹配度參數(shù)之外的匹配度參數(shù)條件的婚戀字符代碼。本發(fā)明實施例包含兩個匹配度,分別為戀愛匹配度和婚姻匹配度,每個存儲頁按照戀愛匹配度和婚配匹配度的升序存儲(也可按照降序存儲),如圖3所示,。首先根據(jù)戀愛匹配度的不同,將所婚戀字符代碼分為10個部分即0~10%、11~20%......等升序存儲。然后在每個相似度區(qū)間如0%~10%內(nèi),同樣按照婚配匹配度不同,將婚戀字符代碼分成10個部分如0~10%、11~20%等升序存儲。這樣每個存儲被分成100個小區(qū)域,每個區(qū)域?qū)?yīng)一個坐標(biāo),例如,戀愛匹配度為0~10%,婚配匹配度為0~10%的數(shù)據(jù)空間的坐標(biāo)為(0,0),戀愛匹配度1為91~100%,婚配匹配度為0~10%的數(shù)據(jù)空間的坐標(biāo)為(9,0),以此類推。此坐標(biāo)為訪問所述匹配度查詢數(shù)據(jù)庫的重要參數(shù)。按照上述分頁的存儲方式,所述匹配度查詢數(shù)據(jù)庫中需要設(shè)計8191個數(shù)據(jù)存儲頁,按照實際需求每個存儲頁中的每條信息占用12字節(jié),則每個存儲頁需要98292字節(jié)(約100K)的存儲空間,那么8191個存儲頁共需要約800M的總存儲空間。為了數(shù)據(jù)庫存儲空間的擴展,設(shè)計采用4G的存儲空間用來存儲所有的匹配度數(shù)據(jù)信息,即每個存儲頁的空間大小約為:523K(將4G的存儲空間平均分為8191份)。4G存儲空間的地址范圍為0x00000000~0xFFFFFFFF,即第一個存儲頁地址為:0x00000000~0x0007FE80,即第一個存儲頁地址為:0x0007FE81~0x000FFD00,以此類推,每個存儲空間的起始地址相差0x0007FE80(該數(shù)字用的是16進制表示)。本實施方式中,每個婚戀字符代碼可用二進制表示,如婚戀字符代碼為BCADAAEB,將此婚戀字符代碼看做是8位的16進制數(shù),將其轉(zhuǎn)換為32位二進制表示為10111100101011011010101011101011。根據(jù)婚戀字符代碼特點,轉(zhuǎn)換成二進制后,數(shù)最小的婚戀字符代碼為AAAAAACA,其編碼為:10101010101010101010101011001010;(注:字符A的二進制為1010,字符B的二進制為1011,字符C的二進制為1100,字符D的二進制為1101,字符E的二進制為1110,字符F的二進制為1111);轉(zhuǎn)換成二進制后,數(shù)最大的婚戀字符代碼為BDBDBDFD,其編碼為:10111101101111011011110111111101;設(shè)計將與婚戀字符代碼AAAAAACA相關(guān)的婚戀匹配度信息存儲到第一頁即地址空間為0x00000000~0x0007FE80的這一頁(第一頁)。將與婚戀字符代碼BDBDBDFD相關(guān)的婚戀匹配度信息存儲到第最后頁即地址空間為0x00F8017F~0xFFFFFFFF的這一頁(最后一頁)。在數(shù)據(jù)庫建立的時候,是按照婚戀字符代碼二進制代碼的大小由低到高排列。其他各個婚戀字符代碼的存儲空間位置計算方式如下:1、服務(wù)器將每條婚戀字符代碼按照二進制數(shù)值比較大小,產(chǎn)生一個從AAAAAACA開始,BDBDBDFD結(jié)束的32位數(shù)組T。(此過程在數(shù)據(jù)庫建立的時候已經(jīng)完成);2、當(dāng)服務(wù)器收到一個婚戀字符代碼E后,將該代碼與數(shù)據(jù)T中的數(shù)據(jù)逐一做減法操作,當(dāng)T中某條數(shù)據(jù)與婚戀字符代碼E減法結(jié)果為零0時,記錄T中該條數(shù)據(jù)在數(shù)組中所在的位置M。(注:雖然與數(shù)據(jù)庫中的多個數(shù)據(jù)依次做減法,但由于服務(wù)器數(shù)據(jù)較快,又因為減法操作時間很短,所以可以忽略計算延時的影響。)3、將M與0x0007FE80(存儲間隔數(shù)據(jù))相乘,得到結(jié)果L,則L為存儲婚戀字符代碼E的婚戀匹配度數(shù)據(jù)存儲頁的首地址。4服務(wù)器可進一步,根據(jù)首地址,其他限定條件提取相應(yīng)的信息。(2)所述匹配度查詢數(shù)據(jù)庫的數(shù)據(jù)索引(頁的索引在上節(jié)說明,本部分只涉及頁中內(nèi)容提取。)當(dāng)需要按照用戶指定婚戀匹配度要求查詢某個用戶與其他用戶婚戀匹配度時,服務(wù)器首先根據(jù)該用戶婚戀字符代碼查詢與該代碼相關(guān)數(shù)據(jù)存儲頁,然后根據(jù)婚戀篇匹配度要求計算出目標(biāo)范圍坐標(biāo)例如戀愛匹配度為80%,婚配匹配度為70%,則計算出的坐標(biāo)范圍為(8,7)、(8,8)、(8,9)、(9,7)、(9,8)、(9,9)共六個小區(qū)域(相似度A大于80%,相似度B大于70%)。然后系統(tǒng)啟動6六個進程分別提取六個區(qū)域的婚戀字符代碼及具體的相似度信息,形成一個對比數(shù)據(jù)表M。下一步,服務(wù)器將待篩選用戶的興趣愛好編碼N與M中信息進行對比,如果M中包含N則說明該用戶滿足要求,如果M中不包含N則說明該用戶不滿足要求,通過逐一對比可進一步篩選滿足要求的用戶。本發(fā)明實施方式所述數(shù)據(jù)管理服務(wù)器利用MySQL數(shù)據(jù)庫建立用戶信息數(shù)據(jù)庫存儲已經(jīng)注冊的用戶信息,設(shè)計采用分層式的數(shù)據(jù)存儲,存儲結(jié)構(gòu)如圖4所示。用戶信息數(shù)據(jù)庫采用分層式數(shù)據(jù)存儲結(jié)構(gòu),第一層是按照性別的不同將存儲分為兩個存儲區(qū),第二層依據(jù)ID編號將用戶信息分成多個數(shù)據(jù)表格。例如男生存儲區(qū)ID字段1存儲的ID為0000~9999的用戶、ID字段2存儲ID為10000~19999的用戶。每個ID存儲字段包含一個數(shù)據(jù)表格來具體的存儲用戶的個人信息,該個人信息包括:ID、昵稱、用戶名、密碼、所在地、性別、所在地、年齡、注冊時間、婚戀字符代碼等內(nèi)容。例如,某個ID字段數(shù)據(jù)表格樣例存儲格式如下表2所示:表2數(shù)據(jù)庫數(shù)據(jù)存儲結(jié)構(gòu)表每個用戶注冊成功或修改個人信息后,手機等移動客戶端會將新的個人數(shù)據(jù)信息發(fā)送至服務(wù)器,服務(wù)器收到信息后會將該信息保存(新用戶)或修改(老用戶),同時服務(wù)器會自動為每個新用戶分配一個ID,并將該ID傳送給用戶。例如:某個用戶注冊后,移動終端將產(chǎn)生一個信息代碼字符串,具體代碼為:#我是誰!天天向上!******!北京!男!34!2017.4.2!BAACDDAD服務(wù)器收到代碼字符串后,將該用戶注冊信息存儲到男生信息存儲區(qū)中的任意一個數(shù)據(jù)表格中,并自動產(chǎn)生一個ID,并反饋給用戶。上述字符串中“#”表示新注冊用戶;“!”表示信息代碼字符串中各個字段的分隔符。又例如:某個用戶發(fā)送的信息代碼字符串為:@12345我是誰!天天向上!******!北京!男!34!2017.4.2!BAACDDCC服務(wù)器收到代碼字符串后會按照“12345”、“男”兩個字段的內(nèi)容查找對應(yīng)數(shù)據(jù)表格中的信息,并根據(jù)信息代碼字符串的內(nèi)容對數(shù)據(jù)表格中的信息進行修改。其中“@”表明已注冊信息,“12345”為用戶ID。所述定位系統(tǒng)的主要目的是為服務(wù)器查找當(dāng)前與自己一定距離內(nèi)的注冊用戶提供一個位置參考依據(jù)??刹扇∪缦聝煞N方式:方法1:由數(shù)據(jù)管理服務(wù)器對發(fā)起搜索查詢的移動終端進行定位;方法2:移動終端自我定位,然后將定位信息發(fā)送至數(shù)據(jù)管理服務(wù)器。為了減少數(shù)據(jù)管理服務(wù)器的工作負擔(dān),本實施方式采用移動終端自我定位的方式來獲取個人的位置信息,并存儲到用戶位置信息數(shù)據(jù)庫內(nèi)。即時通信APP軟件采用GPS-基站-wifi混合定位方式,基于GPS的定位方式是利用手機上的GPS定位模塊將自己的位置信號發(fā)送到定位后臺來實現(xiàn)手機定位的,但GPS衛(wèi)星信號穿透能力弱,因此在室內(nèi)無法使用而且耗電量高;基站定位則是利用基站對手機的距離的測算距離來確定手機位置的,測算誤差較大;WiFi定位是根據(jù)一個固定的WifiMAC地址,通過收集到的該Wifi熱點的位置,然后訪問網(wǎng)絡(luò)上的定位服務(wù)以獲得經(jīng)緯度坐標(biāo)。3種定位方式的擇優(yōu)選擇,本實施方式的定位流程圖如圖5所示。用戶啟動定位后,首先檢測自身移動客戶端GPS信號強弱,如果GPS信號強(一般是在室外),則進行GPS定位。如果GPS信號較弱,則檢測用戶是否具有WiFi信號。如果具有WiFi信號(一般在室內(nèi)且室內(nèi)具有WiFi),則進行WiFi定位。如果沒有WiFi信號,則進行基站定位。無論是GPS、WiFi或基站定位,最終目的是獲取用戶當(dāng)前的位置坐標(biāo)(經(jīng)度、緯度)。三種定位方式有優(yōu)先級分別是GPS、WiFi、基站定位。GPS定位與WiFi定位是通過JAVA編程語言中特定的指令來實現(xiàn),而基站定位會用到三邊、三角或到達時間差的計算方法。本發(fā)明實施方式中多移動終端實時定位的方法:(1)用戶經(jīng)緯度信息的獲取及存儲首先,建立存儲用戶實時位置信息的空間數(shù)據(jù)庫,某位用戶經(jīng)緯度信息數(shù)據(jù)存儲表格式為:表名數(shù)據(jù)用戶ID經(jīng)度緯度已注冊用戶使用本APP即時通信軟件時,APP會定時的向服務(wù)器申報當(dāng)前的位置信息。服務(wù)器接收到用戶的實時位置信息后,將數(shù)據(jù)存儲到空間數(shù)據(jù)庫中的經(jīng)緯度數(shù)據(jù)存儲鏈表中。經(jīng)試驗,從空間數(shù)據(jù)庫中100萬條信息提取100合適信息僅需2.5秒。(2)定位算法設(shè)計采用矩形定位算法,下面結(jié)合圖6具體闡述定位過程。圖中O點為發(fā)起搜索附近人操作用戶的位置,記為(x,y)(其中x為經(jīng)度,y為緯度),發(fā)起搜索附近人操作的用戶將自身的經(jīng)緯度信息與距離要求信息R發(fā)送給服務(wù)器,服務(wù)器得到該信息后,根據(jù)該信息計算圖中,A、B、C、D四個點的坐標(biāo)(經(jīng)緯度信息)。由于1經(jīng)度和1緯度的實際距離長度為111KM,所以,根據(jù)用戶的要求可計算出四個點的坐標(biāo):A:(x+R/110,y+R/110)B:(x-R/110,y+R/110)C:(x-R/110,y-R/110)D:(x+R/110,y-R/110)即根據(jù)用戶要求可計算出,經(jīng)度坐標(biāo)滿足[x+R/110,x+R/110]、緯度坐標(biāo)滿足[y+R/110,y+R/110]要求的用戶,都符合發(fā)起搜索任務(wù)用戶的需求。3根據(jù)經(jīng)緯度坐標(biāo)要求提取用戶ID由于用戶ID與坐標(biāo)數(shù)據(jù)存儲在空間數(shù)據(jù)庫中,計算完成經(jīng)緯度要求后,服務(wù)器從空間數(shù)據(jù)庫中提取滿足經(jīng)緯度要求用戶的ID。4根據(jù)ID進一步剔除不符合要求的用戶。5計算每個符合要求用戶與發(fā)起搜索任務(wù)用戶的距離并顯示。當(dāng)用戶通過本發(fā)明即時通信APP軟件進行搜索,該功能是用戶根據(jù)自己的搜索限定條件,這里主要是指根據(jù)婚戀匹配度搜索特定人:該搜索方式是基于參數(shù)的搜索,搜索參數(shù)包括與自身性別、與用戶的距離、戀愛匹配度、婚配匹配度等參數(shù)。例如某用戶輸入的搜索條件為:男生、10KM、戀愛匹配度80%、婚配匹配度70%。上述搜索實例表明:用戶只搜索與自己距離10公里以內(nèi),戀愛匹配度大于80%、婚配匹配度大70%的其他已注冊用戶。設(shè)定完成后,即時通信APP軟件會將該搜索限定條件與本人地理位置信息(經(jīng)緯度)打包成一組數(shù)據(jù)編碼,發(fā)送至數(shù)據(jù)管理服務(wù)器。上述搜索實例編碼信息為:數(shù)據(jù)管理服務(wù)器對搜索編碼進行處理,篩選、提取符合條件的用戶信息,這里主要指距離小于10KM、戀愛相似度大于80%、婚配相似度大于70%的用戶。篩選、提取完成后,數(shù)據(jù)管理服務(wù)器將滿足條件的用戶信息發(fā)送至用戶,用戶的移動客戶端會以列表形式對接收到的用戶信息進行顯示,同時用戶可根據(jù)距離遠近、相似度等方式對信息進行排序。數(shù)據(jù)管理服務(wù)器對搜索編碼進行處理,篩選、提取符合條件的群組信息,這里主要指戀愛匹配度大于80%、婚配匹配度大于70%。篩選、提取完成后,數(shù)據(jù)管理服務(wù)器將滿足條件的用戶信息發(fā)送至用戶,用戶的移動客戶端會以列表形式按照相似度從高到低對接收到的用戶信息進行顯示。所述數(shù)據(jù)管理服務(wù)器主要功能包括:功能1:接收、處理用戶發(fā)來的請求信息;功能2:管理存儲用戶信息數(shù)據(jù)庫、婚戀匹配度查詢數(shù)據(jù)庫、用戶位置信息數(shù)據(jù)庫;功能3:注冊用戶的GPS定位等;功能4:反饋篩選結(jié)果。其中,數(shù)據(jù)管理服務(wù)器除了實現(xiàn)即時通信APP軟件常規(guī)功能外(如聊天、用戶注冊、朋友圈等),區(qū)別于其他聊天工具在于附近人搜索功能。以下以一個查詢命令為例,詳細描述搜索附近人功能的執(zhí)行過程:假設(shè)數(shù)據(jù)管理服務(wù)器接收到的查詢指令為:%12345W10KM80%70%LON11709.432LAT3403.868接收到指令后,數(shù)據(jù)管理服務(wù)器根據(jù)指令中的ID字段,從用戶信息數(shù)據(jù)庫中提取出發(fā)起查詢的該用戶的個人信息,然后根據(jù)發(fā)起查詢?nèi)蝿?wù)的用戶個人信息中的婚戀字符代碼、性別、婚戀匹配度等限定條件,篩選出符合限定條件的用戶。通過計算排除不滿足要求的用戶,在這里剔除掉戀愛匹配度小于80%、婚戀匹配度低于70%的用戶。下一步,數(shù)據(jù)管理服務(wù)器對滿足興趣相似度要求的用戶進行定位,獲取滿足條件用戶當(dāng)前位置的經(jīng)緯度信息并根據(jù)該信息與發(fā)起查詢?nèi)蝿?wù)用戶當(dāng)前位置的經(jīng)緯度信息(本例中經(jīng)緯度信息為:LON11709.432LAT3403.868)進行距離測算,以確定滿足距離要求的用戶,如本例中與發(fā)起查詢?nèi)蝿?wù)用戶距離小于10公里。通過婚戀匹配度、距離等判定條件就可篩選出滿足的用戶信息,數(shù)據(jù)管理服務(wù)器將滿足限定條件的用戶信息發(fā)送到發(fā)起任務(wù)查詢的移動終端,該功能執(zhí)行過程如圖7所示:1用戶設(shè)定婚戀匹配度、性別、搜索距離等好友搜索限定條件;2從APP軟件根據(jù)用戶的搜索條件形成一個數(shù)據(jù)編碼H;3移動客戶端將數(shù)據(jù)編碼H及用戶的ID發(fā)送至服務(wù)器;4服務(wù)器根據(jù)數(shù)據(jù)編碼H中的限定條件及本用戶婚戀字符代碼T,從用戶婚戀匹配度查詢數(shù)據(jù)庫中提取出滿足要求所有婚戀字符代碼,形成婚戀字符代碼數(shù)據(jù)集K;服務(wù)器采用多進程方式提取數(shù)據(jù),例如服務(wù)器設(shè)定J個進程同時提取婚戀匹配度查詢數(shù)據(jù)庫中的婚戀字符代碼。5服務(wù)器根據(jù)接收到的數(shù)據(jù)編碼H中的性別字段的要求從用戶信息數(shù)據(jù)庫中采用多進程的方式提出所有符合性別要求的用戶數(shù)據(jù)信息中的ID字段和婚戀字符代碼的字段W。注:每個進程提取的數(shù)據(jù)信息形成一個數(shù)據(jù)信息子集;例如進程1提取的數(shù)據(jù)信息為子集N1、進程2提取的數(shù)據(jù)信息為子集N2...,以此類推6服務(wù)器將每個婚戀字符代碼的字段W與婚戀字符代碼數(shù)據(jù)集K中的每個字符逐一比較,如果W存在于K中,則保留對應(yīng)用戶的ID字段;否則刪除掉ID;直到所有W都比較完成后;采用多進程方式實現(xiàn)上述過程的主要目的是提高服務(wù)器的運行效率,如將N1總的W與K中字符比較的同時,進程2或進程3等在提取其他部分信息。7每個用戶信息子集Ni剩余ID信息形成一個大的數(shù)據(jù)信息集N,服務(wù)器根據(jù)每個中剩余的用戶ID,從用戶地理位置數(shù)據(jù)庫提取每個ID(用戶)對應(yīng)的地理位置信息(經(jīng)緯度),并計算該用戶與發(fā)起查詢?nèi)蝿?wù)用戶的距離L。8如果L大于用戶限定距離R,則刪除N中的對應(yīng)ID,如果L小于R則保留該用戶ID。9經(jīng)過距離限定條件篩選后,N中保留的用戶ID為最終符合要求的用戶,服務(wù)器根據(jù)該ID,從用戶數(shù)據(jù)信息服務(wù)器中提取出滿足要求的ID對應(yīng)用戶的所有信息。并將該信息傳送給移動客戶端。數(shù)據(jù)庫信息提取會出現(xiàn)兩種情況:(1)指定用戶數(shù)據(jù)信息提取,(2)批量用戶信息提取。指定用戶數(shù)據(jù)信息提取出現(xiàn)在用戶按照ID搜索指定用戶或用戶修改個人信息的情況,由于用戶信息數(shù)據(jù)庫的數(shù)據(jù)采用分層式數(shù)據(jù)存儲結(jié)構(gòu),數(shù)據(jù)管理服務(wù)器中數(shù)據(jù)結(jié)構(gòu)體指針可快速定位到需要定位的信息條目。批量用戶信息提取主要涉及到按照匹配度、男女等限定條件提取位置ID用戶信息。為了提高數(shù)據(jù)提取的速度,批量用戶信息提取時采用多進程數(shù)據(jù)庫信息訪問的方式。具體如圖8所示,當(dāng)數(shù)據(jù)管理服務(wù)器接收到來自用戶的附近人搜索請求的時,數(shù)據(jù)管理服務(wù)器首先將定位所提取信息所在的存儲區(qū)域(一般按照男女用戶不同進行分區(qū)),然后開啟多進程來訪問服務(wù)器,具體實例過程為進程1提取出用戶信息數(shù)據(jù)庫的ID字段1中的10000條用戶信息后,數(shù)據(jù)管理服務(wù)器對該10000條信息進行處理,在數(shù)據(jù)管理服務(wù)器對該10000條信息進行處理處理的同時,其他進程分別對用戶信息數(shù)據(jù)庫ID字段2、ID字段3….ID字段n的數(shù)據(jù)進行提取,為在數(shù)據(jù)管理服務(wù)器處理做好準(zhǔn)備,直到整個數(shù)據(jù)都被處理完成,提取出滿足要求的數(shù)據(jù)信息。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁1 2 3