一種應用程序中校驗重復列表數(shù)據(jù)的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種應用程序中校驗重復列表數(shù)據(jù)的方法及系統(tǒng),涉及應用程序中的列表數(shù)據(jù)領域。該方法包括以下步驟:S1:列表中新加載數(shù)據(jù)時,遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的校驗碼;遍歷每一條舊數(shù)據(jù),獲取每一條舊數(shù)據(jù)的校驗碼;S2:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明當前新數(shù)據(jù)為重復數(shù)據(jù),刪除當前舊數(shù)據(jù);否則表明當前新數(shù)據(jù)為有效數(shù)據(jù)。本發(fā)明返回至開發(fā)者的列表中的數(shù)據(jù)全部有效,不僅能夠保證列表中的數(shù)據(jù)全部被利用,而且便于后期的使用。
【專利說明】
一種應用程序中校驗重復列表數(shù)據(jù)的方法及系統(tǒng)
技術領域
[0001]本發(fā)明涉及應用程序中的列表數(shù)據(jù)領域,具體涉及一種應用程序中校驗重復列表數(shù)據(jù)的方法及系統(tǒng)?!颈尘凹夹g】
[0002]目前大部分網(wǎng)站和安卓上的應用程序都使用了列表,來顯示各式各樣的數(shù)據(jù);列表內(nèi)部數(shù)據(jù)的排列順序為:1、2、3、4、5、6、7、8、9、...。
[0003]但是,應用程序加載新的數(shù)據(jù)時,由于列表本身只擁有保存數(shù)據(jù)的功能,因此列表不會對數(shù)據(jù)本身進行校驗或檢查是否重復。若因其他未知原因使得網(wǎng)絡或服務器返回的數(shù)據(jù)有問題(例如存在已加載過的重復數(shù)據(jù)),因為開發(fā)者通常會默認從網(wǎng)絡或服務器加載的數(shù)據(jù)是絕對正確的,所以上述問題重復數(shù)據(jù)不會被去除,進而不僅使得列表中的數(shù)據(jù)無法全部被有效利用,而且為后期的使用帶來了困難。
[0004]例如:參見圖1所示,一個列表原本有5條數(shù)據(jù)(A-E),在加載了5條新的數(shù)據(jù)后,變成了 10條數(shù)據(jù)。但是,參見圖2所示,由于其他未知原因使得加載的5條新數(shù)據(jù)中有2條重復 (A和C);因為列表本身不對數(shù)據(jù)內(nèi)容進行校驗和判斷,所以重復的數(shù)據(jù)A和C將一直保留在這個列表里。列表中雖然有10條數(shù)據(jù),但真正有效的只有8條。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術中存在的缺陷,本發(fā)明解決的技術問題為:去除列表中重復和無效的數(shù)據(jù)。本發(fā)明返回至開發(fā)者的列表中的數(shù)據(jù)全部有效,不僅能夠保證列表中的數(shù)據(jù)全部被利用,而且便于后期的使用。
[0006]為達到以上目的,本發(fā)明提供的應用程序中校驗重復列表數(shù)據(jù)的方法,該方法包括以下步驟:[〇〇〇7] S1:列表中新加載數(shù)據(jù)時,遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的校驗碼;遍歷每一條舊數(shù)據(jù),獲取每一條舊數(shù)據(jù)的校驗碼,轉(zhuǎn)到S2;
[0008]S2:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明當前新數(shù)據(jù)為重復數(shù)據(jù),刪除當前舊數(shù)據(jù);否則表明當前新數(shù)據(jù)為有效數(shù)據(jù)。
[0009]在上述技術方案的基礎上,S1中所述校驗碼為每條數(shù)據(jù)的ID。[〇〇1〇]在上述技術方案的基礎上,S1中所述校驗碼為每條數(shù)據(jù)的哈希碼。
[0011]在上述技術方案的基礎上,所述哈希碼為數(shù)據(jù)在本地內(nèi)存的唯一地址。
[0012]在上述技術方案的基礎上,S1中所述舊數(shù)據(jù)為新加載數(shù)據(jù)之前的數(shù)據(jù)。
[0013]在上述技術方案的基礎上,S2中所述刪除當前舊數(shù)據(jù)之后,還包括以下步驟:將當前新數(shù)據(jù)移動至舊數(shù)據(jù)的位置。
[0014]在上述技術方案的基礎上,S2之后還包括以下步驟:將列表返回至開發(fā)者。
[0015]本發(fā)明提供的實現(xiàn)上述方法的應用程序中校驗重復列表數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括校驗碼獲取接口和校驗碼判斷模塊;
[0016]校驗碼獲取接口用于:列表中新加載數(shù)據(jù)時,遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的校驗碼;遍歷每一條舊數(shù)據(jù),獲取每一條舊數(shù)據(jù)的校驗碼;
[0017]校驗碼判斷模塊用于:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明當前新數(shù)據(jù)為重復數(shù)據(jù),刪除當前舊數(shù)據(jù);否則表明當前新數(shù)據(jù)為有效數(shù)據(jù)。
[0018]在上述技術方案的基礎上,所述校驗碼判斷模塊在刪除當前舊數(shù)據(jù)后,還需要將當前新數(shù)據(jù)移動至舊數(shù)據(jù)的位置。
[0019]在上述技術方案的基礎上,該系統(tǒng)還包括列表返回模塊,其用于:將列表返回至開發(fā)者。
[0020]與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:[0021 ]本發(fā)明通過校驗碼校驗機制,對列表中的數(shù)據(jù)進行校驗,進而自動刪除無效和重復的數(shù)據(jù)。有鑒于此,與現(xiàn)有技術中存在重復數(shù)據(jù)的列表相比,本發(fā)明返回至開發(fā)者的列表中的數(shù)據(jù)全部有效,不僅能夠保證列表中的數(shù)據(jù)全部被利用,而且便于后期的使用?!靖綀D說明】
[0022]圖1為現(xiàn)有技術中列表初始數(shù)據(jù)的示意圖;
[0023]圖2為現(xiàn)有技術中列表加載新的數(shù)據(jù)的示意圖;
[0024]圖3為本發(fā)明實施例中校驗重復列表數(shù)據(jù)后列表中數(shù)據(jù)的示意圖。【具體實施方式】[〇〇25]以下結(jié)合附圖及實施例對本發(fā)明作進一步詳細說明。[〇〇26]本發(fā)明實施例中的應用程序中校驗重復列表數(shù)據(jù)的方法的工作原理為:從本地訪問網(wǎng)絡或服務器加載至列表的數(shù)據(jù),必然是原本就儲存于對方數(shù)據(jù)庫內(nèi)的數(shù)據(jù),由于數(shù)據(jù)庫的索引原理,一條數(shù)據(jù)在數(shù)據(jù)庫內(nèi)必然有一個唯一訪問ID(即數(shù)據(jù)的ID),該唯一訪問ID 會存放在數(shù)據(jù)內(nèi)一同發(fā)回給本地。列表加載新數(shù)據(jù)時獲取每條數(shù)據(jù)的ID或者哈希碼能夠校驗數(shù)據(jù)是否重復。
[0027]在此基礎上,本發(fā)明實施例中的應用程序中校驗重復列表數(shù)據(jù)的方法,包括以下步驟:
[0028]S1:列表中新加載數(shù)據(jù)時,調(diào)用校驗碼接口遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的校驗碼;校驗碼為每條數(shù)據(jù)的ID或者哈希碼(本地內(nèi)存唯一地址);調(diào)用校驗碼接口遍歷每一條舊數(shù)據(jù)(新加載數(shù)據(jù)之前的數(shù)據(jù)),獲取每一條舊數(shù)據(jù)的校驗碼,轉(zhuǎn)到S2。
[0029]S2:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明當前新數(shù)據(jù)為重復數(shù)據(jù),刪除當前舊數(shù)據(jù),將當前新數(shù)據(jù)移動至舊數(shù)據(jù)的位置進行替換,轉(zhuǎn)到S3;否則表明當前新數(shù)據(jù)為有效數(shù)據(jù),轉(zhuǎn)到S3。
[0030]例如,參見圖2所示,新數(shù)據(jù)(第7號)與舊數(shù)據(jù)(第1號)重復;參見圖3所示,刪除舊數(shù)據(jù)(第1號),將新數(shù)據(jù)(第7號)移至舊數(shù)據(jù)的位置進行替換。[〇〇31]S3:將列表返回至開發(fā)者。
[0032]本發(fā)明實施例中的實現(xiàn)上述方法的應用程序中校驗重復列表數(shù)據(jù)的系統(tǒng),該系統(tǒng)包括校驗碼獲取接口、校驗碼判斷模塊和列表返回模塊;
[0033]校驗碼獲取接口用于:列表中新加載數(shù)據(jù)時,遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的校驗碼;遍歷每一條舊數(shù)據(jù),獲取每一條舊數(shù)據(jù)的校驗碼;
[0034]校驗碼判斷模塊用于:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明當前新數(shù)據(jù)為重復數(shù)據(jù),刪除當前舊數(shù)據(jù),將當前新數(shù)據(jù)移動至舊數(shù)據(jù)的位置;否則表明當前新數(shù)據(jù)為有效數(shù)據(jù)。
[0035]列表返回模塊用于:將列表返回至開發(fā)者。
[0036]本發(fā)明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。本說明書中未作詳細描述的內(nèi)容屬于本領域?qū)I(yè)技術人員公知的現(xiàn)有技術。
【主權(quán)項】
1.一種應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于,該方法包括以下步驟:S1:列表中新加載數(shù)據(jù)時,遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的校驗碼;遍歷每一 條舊數(shù)據(jù),獲取每一條舊數(shù)據(jù)的校驗碼,轉(zhuǎn)到S2;S2:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明當前新數(shù)據(jù)為重復 數(shù)據(jù),刪除當前舊數(shù)據(jù);否則表明當前新數(shù)據(jù)為有效數(shù)據(jù)。2.如權(quán)利要求1所述的應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于:S1中所述校 驗碼為每條數(shù)據(jù)的ID。3.如權(quán)利要求1所述的應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于:S1中所述校 驗碼為每條數(shù)據(jù)的哈希碼。4.如權(quán)利要求3所述的應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于:所述哈希碼 為數(shù)據(jù)在本地內(nèi)存的唯一地址。5.如權(quán)利要求1至4任一項所述的應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于: S1中所述舊數(shù)據(jù)為新加載數(shù)據(jù)之前的數(shù)據(jù)。6.如權(quán)利要求1至4任一項所述的應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于: S2中所述刪除當前舊數(shù)據(jù)之后,還包括以下步驟:將當前新數(shù)據(jù)移動至舊數(shù)據(jù)的位置。7.如權(quán)利要求1至4任一項所述的應用程序中校驗重復列表數(shù)據(jù)的方法,其特征在于: S2之后還包括以下步驟:將列表返回至開發(fā)者。8.—種實現(xiàn)權(quán)利要求1至7任一項所述方法的應用程序中校驗重復列表數(shù)據(jù)的系統(tǒng),其 特征在于:該系統(tǒng)包括校驗碼獲取接口和校驗碼判斷模塊;校驗碼獲取接口用于:列表中新加載數(shù)據(jù)時,遍歷每一條新數(shù)據(jù),獲取每一條新數(shù)據(jù)的 校驗碼;遍歷每一條舊數(shù)據(jù),獲取每一條舊數(shù)據(jù)的校驗碼;校驗碼判斷模塊用于:判斷新數(shù)據(jù)的校驗碼是否與舊數(shù)據(jù)的校驗碼重復,若是,則表明 當前新數(shù)據(jù)為重復數(shù)據(jù),刪除當前舊數(shù)據(jù);否則表明當前新數(shù)據(jù)為有效數(shù)據(jù)。9.如權(quán)利要求8所述的應用程序中校驗重復列表數(shù)據(jù)的系統(tǒng),其特征在于:所述校驗碼 判斷模塊在刪除當前舊數(shù)據(jù)后,還需要將當前新數(shù)據(jù)移動至舊數(shù)據(jù)的位置。10.如權(quán)利要求8所述的應用程序中校驗重復列表數(shù)據(jù)的系統(tǒng),其特征在于:該系統(tǒng)還 包括列表返回模塊,其用于:將列表返回至開發(fā)者。
【文檔編號】G06F3/06GK105955670SQ201610315735
【公開日】2016年9月21日
【申請日】2016年5月12日
【發(fā)明人】霍啟圣
【申請人】武漢斗魚網(wǎng)絡科技有限公司