專利名稱:多卡手機中多個不同屬性排序表的實現(xiàn)方法
技術領域:
本發(fā)明屬于移動通信終端的技術領域,具體的說是涉及到能夠支持多個用戶識 別卡的多模手機和多卡手機的序列表解決方法。
背景技術:
目前通信產品發(fā)展飛速,出現(xiàn)了能夠支持多種通信模式的雙待機手機,比如包 括支持CDMA和GSM的雙模雙待機手機,以及能夠支持多個用戶識別卡的多卡手 機,比如支持GSM和GSM兩個模塊同時待機的雙卡手機。
在多卡手機的電話薄模塊或者短信息模塊中,存在多個不同屬性的排序表,比 如存儲在話機中的記錄數(shù)據(jù)對應一張排序表、存儲在第一張卡中的記錄數(shù)據(jù)對應一 張排序表,以及存儲在其他卡中的記錄數(shù)據(jù)分別對應一張排序表,每一張排序表來 管理各個存儲器中的電話薄記錄數(shù)據(jù)。然后再需要一個總排序表來管理所有的記錄, 能夠對所有的電話薄記錄進行添加、刪除等各種應用操作,由于現(xiàn)在的多卡手機中 存在多個排序表,因此對于多卡手機中各種記錄數(shù)據(jù)的存儲排序方法涉及多個排序 表,計算方式非常復雜,運算效率低,容易出錯。
發(fā)明內容
本發(fā)明的目的,就在于解決目前多卡手機中各種記錄數(shù)據(jù)的存儲排序方法比較 復雜的缺點,而提出的一種簡明可靠的多卡手機中多個不同屬性排序表的實現(xiàn)方法
為了實現(xiàn)上述目的,在多卡手機多個不同屬性排序表中,添加/刪除一條記錄數(shù) 據(jù)包括以下步驟
在話機、第一張卡、其他卡對應的每一個存儲器中分別建立排序表,再建立一
個包括所有排序表記錄的總排序表;
查找需要操作的記錄數(shù)據(jù)在每一個存儲器對應的排序表中的插入位置值; 把所有插入位置的值進行比較,取插入值中的最小值作為在總排序表的虛擬插
入位置值,即該記錄數(shù)據(jù)的總排序號;
在每個存儲器的排序表中分別對剛查找到的虛擬插入位置以后的記錄所對應的 總排序號加/減一,在對應存儲器中操作該記錄數(shù)據(jù)。
查找需要操作的記錄數(shù)據(jù)在每個排序表中插入位置值的操作采用二分法。
多卡手機是支持CDMA和GSM的雙模雙待機手機。雙模雙待機手機內包括話 機存儲器,UIM卡存儲區(qū)和SIM卡存儲區(qū)。
多卡手機是支持GSM和GSM兩個模塊同時待機的雙卡手機。雙卡手機內包括 話機存儲器,主SIM卡存儲區(qū)和副SIM卡存儲區(qū)。
該技術方案的優(yōu)點在于思路比較清晰,操作簡單,運行效率較高,避免傳統(tǒng)方 法中大量的數(shù)據(jù)比較和移動的缺點,該發(fā)明可用于擁有大量數(shù)據(jù)表的雙卡手機的電 話薄模塊和短信息模塊。
下面結合附圖對本發(fā)明作進一步的描述。 圖1是本發(fā)明的多卡手機硬件方框圖; 圖2是本發(fā)明的添加新的記錄數(shù)據(jù)的流程圖。
具體實施例方式
如圖1所示,具有兩個用戶識別卡的雙待機手機,雙待機手機中可以插入至少 兩張卡,電話簿記錄可以存儲在兩張卡存儲區(qū)內以及話機存儲器中,手機的輸入裝 置可以選擇添加記錄或者刪除記錄的操作,手機CPU進行信號處理,記錄操作的結 果在手機顯示屏上顯示。
手機內的電話薄模塊具有4個排序表,第一個排序表是存儲在話機中的電話薄 記錄數(shù)據(jù)所對應的排序表,第二個排序表是存儲在第一張卡中的電話薄記錄數(shù)據(jù)所 對應的排序表,第三個排序表是存儲在第二張卡中的電話薄記錄數(shù)據(jù)所對應的排序 表,第四個排序表是來管理前三個排序表中記錄數(shù)據(jù)的一個總排序表。
為了便于管理,存儲在話機中以及兩張卡中的記錄數(shù)據(jù)分別有一個有序表,同 時在不同的有序表中的記錄數(shù)據(jù)都有該記錄數(shù)據(jù)在總排序表中的信息。這樣在應用 操作時,添加或者刪除一條記錄數(shù)據(jù),除了在對應存儲器的有序表中增加或者減少 節(jié)點外,還需要結合三個有序表的情況對總排序進行處理,從而保證總排序表的有
序性。
如圖2所示,在話機、第一張卡、第二張卡這三個存儲器中先分別建立有序表, 均采用升序來排列,如果要添加一條記錄在話機中,那么首先需要査找該記錄在話 機存儲器的有序表中的插入位置,該査找可用二分法進行操作。
然后査找該記錄在其他兩個存儲器的有序表的插入位置,把三個插入位置進行 比較后,取三個插入值中的最小值即為在總排序表的虛擬插入位置。
在具體插入記錄時,需要先對總排序表進行插入后的排序,然后再對其他三個 排序表進行排序,排序的步驟如下在三個存儲器的排序表中分別對剛査找到的虛 擬插入位置以后的記錄所對應的總排序號加一,然后再在需要添加的話機存儲器中 插入該記錄,該記錄的總排序即為剛査找到的虛擬插入位置
實施例1,雙卡手機具有話機存儲器、主卡存儲器和副卡存儲器,每個存儲器 中都有一個對應的排序表,其中-
話機存儲器中的排序表為g_mmipb—nv—sort_t 主卡存儲器中的排序表為g一mmipb—sim_sort_t 副卡存儲器中的排序表為g_mmipb—uim_sort—_t 每個排序表中有如下主要信息
Count:排序表中總節(jié)點數(shù);
sn—in_total:在虛擬總排序表中的序號;
local_name—sn:每個記錄姓名的排序號。
比如目前在話機存儲器的排序表g_mmipb_iw—sort_t中有5個記錄數(shù)據(jù),主卡存 儲器的排序表g_mmipb—sim—sort—t中有2個記錄數(shù)據(jù),副卡存儲器的排序表 g—mmipb—uim—sort—t中無記錄,分別對應的信息為 話機存儲器g—mmipb_nv—sort—t: Count: 5 sn_in_total: 1236 7
local—name—sn: 510 15 30 35 主卡存儲器g—mmipb—sim_sort_t:Count: 之 sn_in—total: 4 5
local_name_sn: 20 25
如果用戶要在副卡存儲器g—mmipb_uim—sort_t中添加一個記錄,姓名的排序號 為18,那么
1、 查找在虛擬總排序表中的插入位置
首先在g—mmipb_tw_sort_t中用二分法查找插入位置,找到插入位置posl為4, 原位置記錄的snjn一total為6
其次在g—mmipb_sim_sort_t中用二分法査找插入位置,找到插入位置pos2為1, 原位置記錄的sn—in_total為4
然后在g_mmipb—uim—sort_t中用二分法查找插入位置,由于g_mmipb—uim—sort—t 中無記錄,所以找到的插入位置pos3為1,原位置記錄的sn—inJotal記為OxffiF (最 大,無需比較)
將三個列表中找到插入位置原記錄的sn—in—total進行比較,取最小值記為pos (6、 4、 0xffif比較,最小值為4)則該最小值pos即為待插入記錄在虛擬總排序表 中的序號。
2、 調整各排序表的總排序號
將g_mmipb_nv_sort_t中sn_in—total大于等于pos (4)的記錄序號后移一個位置
貝ij g_mmipb—nv—sort—t中sn—in—total序列為1 2 37 8
將g_mmipb—simsort—t中sn—in—total大于等于pos (4)的記錄序號后移一個位
置
貝U g—mmipb_sim—sort_t中sn_in_total序歹l)為5 6
將g—mmipb—uim—sort—t中sn_in_total大于等于pos (4)的記錄序號后移一個位 置,由于該記錄表中無記錄,所以無需后移。
3、 插入該新增的記錄數(shù)據(jù)
在g—mmipb_uim _sort_t中插入該姓名排序號為18的記錄,插入位置為第一步 中用二分法査找到的pos3 (1),該記錄對應的sn_in_total為4。插入該記錄后g—mmipb_uim_sort_t的sn_in—total序歹U為4。
最終,添加記錄后,話機、主卡和副卡存儲器三個有序表的主要信息更新為
話機存儲器g—mmipb一nv—sort—t: count: 5
sn—in—total: 1237 8
local—name—sn: 5 10 15 30 35 主卡存儲器g—mmipb—sim_sort_t:
Count: 2
sn_in_total: 5 6
local—name—sn: 20 25 畐"卡存儲器g_mmipb—uim—sort—t:
Count: 1
snjn一total: 4
local—name—sn: 18 至此,在雙卡手機存儲器原來的三個有序表中,添加一條記錄的操作已經完成,
可以發(fā)現(xiàn)最終的排序結果三個有序表仍為有序表,同時插入了新記錄并調整了需 要調整的總序號。
實施例1是在雙卡手機中添加一條新的電話薄記錄,如果是刪除操作,根據(jù)該 發(fā)明的技術思路技術人員可以采取相似的方法步驟。該發(fā)明方法容易擴充,可以廣 泛應用到包括兩個用戶識別卡以上的多卡手機中。
以上所述,僅是本發(fā)明的一個實施例而已,并非是對本發(fā)明作其它形式的限制, 任何熟悉本專業(yè)的技術人員可能利用上述揭示的技術內容加以變更或改型為等同變 化的等效實施例。但是凡是未脫離本發(fā)明技術方案內容,依據(jù)本發(fā)明的技術實質對 以上實施例所作的任何簡單修改、等同變化與改型,仍屬于本發(fā)明技術方案的保護 范圍。
權利要求
1.多卡手機中多個不同屬性排序表的實現(xiàn)方法,其特征在于添加/刪除一條記錄數(shù)據(jù)包括以下步驟在話機、第一張卡、其他卡對應的每一個存儲器中分別建立排序表,再建立一個包括所有排序表記錄的總排序表;查找需要操作的記錄數(shù)據(jù)在每一個存儲器對應的排序表中的插入位置值;把所有插入位置的值進行比較,取插入值中的最小值作為在總排序表的虛擬插入位置值,即該記錄數(shù)據(jù)的總排序號;在每個存儲器的排序表中分別對剛查找到的虛擬插入位置以后的記錄所對應的總排序號加/減一,在對應存儲器中操作該記錄數(shù)據(jù)。
2. 根據(jù)權利要求1所述的多卡手機中多個不同屬性排序表的實現(xiàn)方法,其特征 在于查找需要操作的記錄數(shù)據(jù)在每個排序表中插入位置值的操作采用二分法。
3. 根據(jù)權利要求1所述的多卡手機中多個不同屬性排序表的實現(xiàn)方法,其特征 在于所述的多卡手機是支持CDMA和GSM的雙模雙待機手機。
4. 根據(jù)權利要求1或3所述的多卡手機中多個不同屬性排序表的實現(xiàn)方法,其 特征在于所述的雙模雙待機手機內包括話機存儲器,UIM卡存儲區(qū)和SIM卡存儲 區(qū)。
5. 根據(jù)權利要求1所述的多卡手機中多個不同屬性排序表的實現(xiàn)方法,其特征 在于所述的多卡手機是支持GSM和GSM兩個模塊同時待機的雙卡手機。
6. 根據(jù)權利要求1或5所述的多卡手機中多個不同屬性排序表的實現(xiàn)方法,其 特征在于所述的雙卡手機內包括話機存儲器,主SIM卡存儲區(qū)和副SIM卡存儲區(qū)。
全文摘要
本發(fā)明公開了一種多卡手機中多個不同屬性排序表的實現(xiàn)方法,添加/刪除一條記錄數(shù)據(jù)包括以下步驟在話機、第一張卡、其他卡對應的每一個存儲器中分別建立排序表,再建立一個包括所有有序表記錄的總排序表;查找需要操作的記錄數(shù)據(jù)在每一個存儲器對應的排序表中的插入位置值;把所有插入位置的值進行比較,取插入值中的最小值作為在總排序表的虛擬插入位置值,即該記錄數(shù)據(jù)的總排序號;在每個存儲器的排序表中分別對剛查找到的虛擬插入位置以后的記錄所對應的總排序號加/減一,在對應存儲器中操作該記錄數(shù)據(jù),該發(fā)明操作簡單,運行效率較高。
文檔編號H04M1/725GK101179786SQ20071001467
公開日2008年5月14日 申請日期2007年5月23日 優(yōu)先權日2007年5月23日
發(fā)明者琨 張 申請人:青島海信移動通信技術股份有限公司