国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于安卓系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置的制造方法

      文檔序號(hào):10552748閱讀:285來(lái)源:國(guó)知局
      基于安卓系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置的制造方法
      【專利摘要】本發(fā)明實(shí)施例提供一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置,該方法包括:接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息;將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ);依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。實(shí)現(xiàn)了對(duì)安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口的二次封裝,避免了一個(gè)應(yīng)用程序中有多個(gè)線程同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作造成數(shù)據(jù)庫(kù)死鎖,程序異常的現(xiàn)象。
      【專利說(shuō)明】
      基于安卓系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置
      技術(shù)領(lǐng)域
      [0001]本發(fā)明實(shí)施例涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置。
      【背景技術(shù)】
      [0002]隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)終端已成為人們工作生活中不可或缺的工具。而安裝于移動(dòng)終端的安卓操作系統(tǒng)已經(jīng)成為全球范圍內(nèi)廣泛使用的移動(dòng)操作系統(tǒng)之一。
      [0003]在安卓操作系統(tǒng)中,采用SQLlite數(shù)據(jù)庫(kù)(簡(jiǎn)稱SDB數(shù)據(jù)庫(kù))對(duì)應(yīng)用程序的數(shù)據(jù)進(jìn)行存儲(chǔ)?,F(xiàn)有技術(shù)中當(dāng)應(yīng)用程序?qū)DB數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),調(diào)用ContentProvider接口,由ContentProvider接口調(diào)用SqliteOpenHelper接口以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。由于ContentProvider接口對(duì)數(shù)據(jù)庫(kù)操作請(qǐng)求的處理機(jī)制不具有線程安全性,當(dāng)一個(gè)應(yīng)用程序中有多個(gè)線程同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí),會(huì)導(dǎo)致數(shù)據(jù)庫(kù)死鎖,程序異常。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明實(shí)施例提供一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置,解決了一個(gè)應(yīng)用程序中有多個(gè)線程同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作造成數(shù)據(jù)庫(kù)死鎖,程序異常的現(xiàn)象的技術(shù)問(wèn)題。
      [0005]本發(fā)明實(shí)施例提供一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法,包括:
      [0006]接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,所述操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息;
      [0007]將所述操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ);
      [0008]依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。
      [0009]本發(fā)明實(shí)施例提供一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作裝置,包括:
      [0010]接收模塊,用于接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,所述操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息;
      [0011 ]排序存儲(chǔ)模塊,用于將所述操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ);
      [0012]執(zhí)行模塊,用于依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。
      [0013]本發(fā)明實(shí)施例提供一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法和裝置,通過(guò)接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息;將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ);依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。通過(guò)對(duì)操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略排隊(duì)存儲(chǔ),依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程,實(shí)現(xiàn)了對(duì)安卓系統(tǒng)數(shù)據(jù)庫(kù)操作過(guò)程中標(biāo)準(zhǔn)接口的二次封裝,避免了一個(gè)應(yīng)用程序中有多個(gè)線程同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作造成數(shù)據(jù)庫(kù)死鎖,程序異常的現(xiàn)象。
      【附圖說(shuō)明】
      [0014]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0015]圖1為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法實(shí)施例一的流程圖;
      [0016]圖2為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法實(shí)施例二的流程圖;
      [0017]圖3為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法裝置實(shí)施例一的結(jié)構(gòu)示意圖;
      [0018]圖4為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法實(shí)施例二的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0019]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0020]圖1為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法實(shí)施例一的流程圖,如圖1所示,本發(fā)明的執(zhí)行主體為基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作裝置,該裝置可集成在移動(dòng)終端中,移動(dòng)終端為安裝安卓操作系統(tǒng)的移動(dòng)終端,如可以為智能手機(jī)、平板電腦等。則本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法包括:
      [0021]步驟101,接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息。
      [0022]本實(shí)施例中,在應(yīng)用程序?qū)?shù)據(jù)庫(kù)進(jìn)行操作時(shí),可通過(guò)用戶操作界面或后臺(tái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。本實(shí)施例中的數(shù)據(jù)庫(kù)為SQLlite數(shù)據(jù)庫(kù)(簡(jiǎn)稱SDB數(shù)據(jù)庫(kù))。
      [0023]在操作請(qǐng)求中攜帶的應(yīng)用程序的標(biāo)識(shí)可以為應(yīng)用程序的名稱,存儲(chǔ)地址等。操作信息包括:操作類型信息,操作來(lái)源信息等。操作類型信息可以包括:為對(duì)數(shù)據(jù)庫(kù)增加數(shù)據(jù)的操作、刪除數(shù)據(jù)的操作或修改數(shù)據(jù)的操作等。操作來(lái)源信息可以為通過(guò)用戶操作界面進(jìn)行的操作或通過(guò)后臺(tái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行的操作。
      [0024]步驟102,將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)。
      [0025]本實(shí)施例中,可預(yù)先設(shè)置存儲(chǔ)空間,將當(dāng)前接收到的操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ),若再次接收到新的操作請(qǐng)求后,將該新的操作請(qǐng)求與原有的待處理的操作請(qǐng)求再進(jìn)行排序并存儲(chǔ)。
      [0026]本實(shí)施例中,排序的預(yù)設(shè)策略可以根據(jù)操作請(qǐng)求到達(dá)的先后順序,也可以根據(jù)操作請(qǐng)求的操作類型,也可以根據(jù)操作請(qǐng)求的操作來(lái)源信息,還可以根據(jù)操作請(qǐng)求操作的數(shù)據(jù)量等,本實(shí)施例中對(duì)此不做限定。
      [0027]步驟103,依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。
      [0028]具體地,本實(shí)施中,依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程即為在當(dāng)前排在最前的操作請(qǐng)求執(zhí)行完安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程后,排在第二的操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程,以此類推,直到排在最后一個(gè)的操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。
      [0029]在每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程為下述流程:
      [0030]將操作請(qǐng)求拋送給ContentProvider接口,以使ContentProvider接口將排在最前的操作請(qǐng)求發(fā)送給S q I i t e O P e η H e I P e r接口,實(shí)現(xiàn)對(duì)對(duì)應(yīng)數(shù)據(jù)庫(kù)的操作;接收ContentProvider接口發(fā)送的排在最前的操作請(qǐng)求的響應(yīng)消息。
      [0031 ] 本實(shí)施例中,ContentProvider接口和SqliteOpenHelper接口均為安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口。
      [0032]其中,當(dāng)前排在最前的操作請(qǐng)求為按照預(yù)設(shè)策略最先進(jìn)行處理的操作請(qǐng)求。
      [0033]舉例說(shuō)明為:針對(duì)按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)的每個(gè)操作請(qǐng)求,循環(huán)執(zhí)行以上操作流程,若排序存儲(chǔ)的操作請(qǐng)求為N個(gè),則執(zhí)行以上操作流程的順序依次為:第I個(gè)操作請(qǐng)求,第2個(gè)操作請(qǐng)求......第N個(gè)操作請(qǐng)求,在排在最前的第I個(gè)操作請(qǐng)求執(zhí)行完下述操作后,
      第2個(gè)操作請(qǐng)求就為排在最前的操作請(qǐng)求,以此類推,直到第N個(gè)操作請(qǐng)求執(zhí)行完上述操作流程,結(jié)束。
      [0034]在執(zhí)行步驟103的過(guò)程中,步驟101和步驟102也在進(jìn)行中,所以按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)的各個(gè)操作請(qǐng)求的順序隨著不斷接收到的新的操作請(qǐng)求也在不斷變化中,但每次執(zhí)行步驟103均是在剩余的操作請(qǐng)求中排在最前的操作請(qǐng)求的操作。
      [0035]本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法,通過(guò)接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息;將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ);依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。由于在將操作請(qǐng)求發(fā)送給安卓系統(tǒng)數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)接口前,對(duì)操作請(qǐng)求進(jìn)行了預(yù)設(shè)策略的排序存儲(chǔ),并在將排在最前的操作請(qǐng)求處理完成后,再繼續(xù)處理后續(xù)的操作請(qǐng)求,實(shí)現(xiàn)了對(duì)安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口的二次封裝,避免了一個(gè)應(yīng)用程序中有多個(gè)線程同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作造成數(shù)據(jù)庫(kù)死鎖,程序異常的現(xiàn)象。
      [0036]圖2為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法實(shí)施例二的流程圖,如圖2,本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法相比于實(shí)施例一為一更為優(yōu)選的實(shí)施例,則本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法包括以下步驟。
      [0037]步驟201,接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求。
      [0038]進(jìn)一步地,本實(shí)施例中,操作請(qǐng)求除攜帶應(yīng)用程序的標(biāo)識(shí)、操作信息外還攜帶應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)。
      [0039]本實(shí)施例中,應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)可以為用戶名,郵箱,手機(jī)等唯一標(biāo)識(shí)用戶的信息。
      [0040]本實(shí)施例中,操作信息包括:操作類型信息和操作來(lái)源信息。其中操作類型信息包括以下操作類型信息的任意一種:刪除數(shù)據(jù)操作信息,增加數(shù)據(jù)操作信息及修改數(shù)據(jù)操作信息。操作來(lái)源信息包括來(lái)自用戶操作界面的操作請(qǐng)求信息或來(lái)自后臺(tái)的操作請(qǐng)求信息。[0041 ]步驟202,判斷操作請(qǐng)求是否為對(duì)應(yīng)用程序?qū)?yīng)的數(shù)據(jù)庫(kù)的首次操作,若是,則執(zhí)行步驟203,若否,則執(zhí)行步驟204。
      [0042]步驟203,創(chuàng)建兩個(gè)處理線程,為其中的優(yōu)先級(jí)處理線程創(chuàng)建消息隊(duì)列。
      [0043]具體地,本實(shí)施例中,兩個(gè)處理線程分別為優(yōu)先級(jí)處理線程Pr1rityThread和工作線程 WorkThread,在 Pr1rityThread 中創(chuàng)建消息隊(duì)列RequestQueue ο
      [0044]本實(shí)施例中,在創(chuàng)建Pr1rityThread時(shí),為Pr1rityThread創(chuàng)建對(duì)應(yīng)的Handler為Pr1rityHandler,Pr1rityHandler 用于將操作請(qǐng)求拋入到Pr1rityThread 中進(jìn)行處理,Pr1rityThread用于對(duì)操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序,RequestQueue用于對(duì)排序后的操作請(qǐng)求進(jìn)行存儲(chǔ)。
      [0045]在創(chuàng)建WorkThread 時(shí),為Work Thread創(chuàng)建對(duì)應(yīng)的 Hand Ier 為WorkHand Ier。WorkHand I er用于將Pr i or i ty Thread中的排在最前的操作請(qǐng)求拋給Work Th read,WorkThread用于將排在最前的操作請(qǐng)求發(fā)送給安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,以使安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口根據(jù)操作請(qǐng)求,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。
      [0046]執(zhí)行完步驟203后,執(zhí)行步驟204。
      [0047]步驟204,通過(guò)預(yù)先創(chuàng)建的優(yōu)先級(jí)處理線程將操作請(qǐng)求和存儲(chǔ)在消息隊(duì)列中的待處理的操作請(qǐng)求按照操作信息的優(yōu)先級(jí)進(jìn)行排序存儲(chǔ)。
      [0048]優(yōu)選地,本實(shí)施實(shí)例中,操作信息的優(yōu)先級(jí)為操作來(lái)源信息的優(yōu)先級(jí)。
      [0049]其中,來(lái)自用戶操作界面的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)高于來(lái)自后臺(tái)的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)。
      [0050]步驟205,將應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在對(duì)外暴露的參數(shù)中,形成封裝的參數(shù)。
      [0051]本實(shí)施例中,將應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口對(duì)外暴露的參數(shù)中,形成封裝的參數(shù)。該對(duì)外暴露的參數(shù)可以為原Uri參數(shù)。
      [0052]步驟206,依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行如下操作:通過(guò)預(yù)先創(chuàng)建的工作線程將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,接收安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口發(fā)送的排在最前的操作請(qǐng)求的響應(yīng)消息。
      [0053]本實(shí)施例中,在排在最前的操作請(qǐng)求發(fā)送給安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口后,存儲(chǔ)在消息隊(duì)列RequestQueue中下一個(gè)操作請(qǐng)求將成為當(dāng)前排在最前的操作請(qǐng)求。
      [0054]本實(shí)施例中,由于步驟201,步驟202,及步驟204在不斷進(jìn)行的,所以在消息隊(duì)列RequestQueue中的操作請(qǐng)求的個(gè)數(shù)和每個(gè)操作請(qǐng)求的位置是不斷變化的,但在步驟206中,總是將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,即將當(dāng)前最需要處理的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口。
      [0055]優(yōu)選地,本實(shí)施例中,由于操作請(qǐng)求中還攜帶應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí),在步驟205中,將操作系統(tǒng)中的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在對(duì)外暴露的參數(shù)中,形成封裝的參數(shù),所以依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程具體包括:
      [0056]依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程時(shí),對(duì)操作請(qǐng)求對(duì)應(yīng)的封裝的參數(shù)進(jìn)行解析,并根據(jù)解析出的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)執(zhí)行安卓數(shù)據(jù)庫(kù)操作流程,實(shí)現(xiàn)對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作。
      [0057]具體地,本實(shí)施例中,工作線程WorkThread將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口后,安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口對(duì)當(dāng)前排在最前的操作請(qǐng)求對(duì)應(yīng)的封裝的參數(shù)進(jìn)行解析,并根據(jù)解析出的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)獲取對(duì)應(yīng)的對(duì)象,實(shí)現(xiàn)對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作。
      [0058]本實(shí)施例中,在安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作完成后,向工作線程WorkThread發(fā)送排在最前的操作請(qǐng)求的響應(yīng)消息。在工作線程WorkThread接收到排在最前的操作請(qǐng)求的響應(yīng)消息后,預(yù)示對(duì)排在最前的操作請(qǐng)求處理完成。
      [0059]步驟207,判斷消息隊(duì)列中是否存儲(chǔ)有排序的操作請(qǐng)求,若是,則執(zhí)行步驟206,若否,則執(zhí)行步驟208。
      [0060]步驟208,等待消息隊(duì)列中具有操作請(qǐng)求,執(zhí)行步驟206。
      [0061]需要說(shuō)明的是:當(dāng)接收到用戶通過(guò)用戶界面發(fā)送的賬號(hào)退出登錄的消息后,退出優(yōu)先級(jí)處理線程Pr1rityThread和工作線程WorkThread,保證不會(huì)使用時(shí),主動(dòng)退出線程,減少移動(dòng)終端的電量損失。
      [0062]本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法,通過(guò)預(yù)先創(chuàng)建的優(yōu)先級(jí)線程將操作請(qǐng)求和存儲(chǔ)在消息隊(duì)列中的待處理的操作請(qǐng)求按照操作信息的優(yōu)先級(jí)進(jìn)行排序存儲(chǔ),通過(guò)預(yù)先創(chuàng)建的工作線程將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,并接收安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口發(fā)送的排在最前的操作請(qǐng)求的響應(yīng)消息,保證了同一時(shí)間只有一個(gè)線程即只有一個(gè)操作請(qǐng)求對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,實(shí)現(xiàn)了對(duì)安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口的二次封裝,避免一個(gè)應(yīng)用程序中有多個(gè)線程同時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作造成數(shù)據(jù)庫(kù)死鎖,程序異常的現(xiàn)象。
      [0063]并且本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法,將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)時(shí),預(yù)設(shè)策略為按照操作請(qǐng)求的操作信息的優(yōu)先級(jí)進(jìn)行排序存儲(chǔ),并且來(lái)自用戶操作界面的操作請(qǐng)求的優(yōu)先級(jí)高于來(lái)自后臺(tái)的操作請(qǐng)求的優(yōu)先級(jí),則后續(xù)對(duì)每個(gè)操作請(qǐng)求進(jìn)行處理時(shí),來(lái)自用戶操作界面的操作請(qǐng)求先于來(lái)自后臺(tái)的操作請(qǐng)求,能夠保證來(lái)自用戶操作界面的操作的流暢性,提供用戶體驗(yàn)。
      [0064]再者本實(shí)施例提供的基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法,將應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在對(duì)外暴露的參數(shù)中,形成封裝的參數(shù);依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程時(shí),對(duì)操作請(qǐng)求對(duì)應(yīng)的封裝的參數(shù)進(jìn)行解析,并根據(jù)解析出的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)執(zhí)行安卓數(shù)據(jù)庫(kù)操作流程,實(shí)現(xiàn)對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作,通過(guò)賬號(hào)綁定標(biāo)識(shí),將不同用戶對(duì)應(yīng)用程序?qū)?yīng)數(shù)據(jù)庫(kù)的操作進(jìn)行區(qū)分,能夠有效防止在同一應(yīng)用程序中進(jìn)行用戶切換,并且切換前的用戶對(duì)應(yīng)的后臺(tái)線程正在處理數(shù)據(jù)時(shí),不同用戶對(duì)應(yīng)的數(shù)據(jù)錯(cuò)亂的現(xiàn)象。
      [0065]圖3為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖3所示,本實(shí)施例提供的裝置包括:接收模塊301,排序存儲(chǔ)模塊302和執(zhí)行模塊303。
      [0066]其中,接收模塊301,用于接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息。排序存儲(chǔ)模塊302,用于將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)。執(zhí)行模塊303,用于依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。
      [0067]本實(shí)施例提供的裝置可以執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
      [0068]圖4為本發(fā)明基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法裝置實(shí)施例二的結(jié)構(gòu)示意圖;如圖4所示,本實(shí)施例提供的裝置包括:接收模塊401,排序存儲(chǔ)模塊402,執(zhí)行模塊403和封裝模塊404。
      [0069]其中,接收模塊401,用于接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息。排序存儲(chǔ)模塊402,用于將操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)。執(zhí)行模塊403,用于依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。
      [0070]進(jìn)一步地,操作請(qǐng)求中還攜帶應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí):封裝模塊404,用于將應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在對(duì)外暴露的參數(shù)中,形成封裝的參數(shù)。執(zhí)行模塊403,具體用于依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程時(shí),對(duì)操作請(qǐng)求對(duì)應(yīng)的封裝的參數(shù)進(jìn)行解析,并根據(jù)解析出的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)執(zhí)行安卓數(shù)據(jù)庫(kù)操作流程,實(shí)現(xiàn)對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作。
      [0071]優(yōu)選地,排序存儲(chǔ)模塊402,具體用于通過(guò)預(yù)先創(chuàng)建的優(yōu)先級(jí)處理線程將操作請(qǐng)求和存儲(chǔ)在消息隊(duì)列中的待處理的操作請(qǐng)求按照操作信息的優(yōu)先級(jí)進(jìn)行排序存儲(chǔ)。
      [0072]操作信息的優(yōu)先級(jí)為操作來(lái)源信息的優(yōu)先級(jí);其中,來(lái)自用戶操作界面的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)高于來(lái)自后臺(tái)的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)。
      [0073]進(jìn)一步地,執(zhí)行模塊403,具體用于:依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行如下操作直至未有操作請(qǐng)求:通過(guò)預(yù)先創(chuàng)建的工作線程將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,接收安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口發(fā)送的排在最前的操作請(qǐng)求的響應(yīng)消息。
      [0074]本實(shí)施例提供的裝置可以執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
      [0075]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一移動(dòng)終端可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)為可以存儲(chǔ)程序代碼的介質(zhì)。
      [0076]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
      【主權(quán)項(xiàng)】
      1.一種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作方法,其特征在于,包括: 接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,所述操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息; 將所述操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ); 依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述操作請(qǐng)求中還攜帶應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí): 所述依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程之前,還包括: 將應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在對(duì)外暴露的參數(shù)中,形成封裝的參數(shù); 所述依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程具體包括: 依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程時(shí),對(duì)所述操作請(qǐng)求對(duì)應(yīng)的封裝的參數(shù)進(jìn)行解析,并根據(jù)解析出的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)執(zhí)行安卓數(shù)據(jù)庫(kù)操作流程,實(shí)現(xiàn)對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ)具體包括: 通過(guò)預(yù)先創(chuàng)建的優(yōu)先級(jí)處理線程將所述操作請(qǐng)求和存儲(chǔ)在消息隊(duì)列中的待處理的操作請(qǐng)求按照操作信息的優(yōu)先級(jí)進(jìn)行排序存儲(chǔ)。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程具體包括: 依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行如下操作直至未有操作請(qǐng)求:通過(guò)預(yù)先創(chuàng)建的工作線程將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,接收所述安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口發(fā)送的所述排在最前的操作請(qǐng)求的響應(yīng)消息。5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述操作信息的優(yōu)先級(jí)為操作來(lái)源信息的優(yōu)先級(jí); 其中,來(lái)自用戶操作界面的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)高于來(lái)自后臺(tái)的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)。6.—種基于安卓操作系統(tǒng)的應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作裝置,其特征在于,包括: 接收模塊,用于接收對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求,所述操作請(qǐng)求中攜帶應(yīng)用程序的標(biāo)識(shí)和操作信息; 排序存儲(chǔ)模塊,用于將所述操作請(qǐng)求和待處理的操作請(qǐng)求按照預(yù)設(shè)策略進(jìn)行排序存儲(chǔ); 執(zhí)行模塊,用于依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述操作請(qǐng)求中還攜帶應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí): 所述裝置還包括:封裝模塊,用于將應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)封裝在對(duì)外暴露的參數(shù)中,形成封裝的參數(shù); 所述執(zhí)行模塊,具體用于依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行安卓系統(tǒng)數(shù)據(jù)庫(kù)的操作流程時(shí),對(duì)所述操作請(qǐng)求對(duì)應(yīng)的封裝的參數(shù)進(jìn)行解析,并根據(jù)解析出的應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)執(zhí)行安卓數(shù)據(jù)庫(kù)操作流程,實(shí)現(xiàn)對(duì)應(yīng)用程序的賬號(hào)綁定標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)庫(kù)的操作。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述排序存儲(chǔ)模塊,具體用于: 通過(guò)預(yù)先創(chuàng)建的優(yōu)先級(jí)處理線程將所述操作請(qǐng)求和存儲(chǔ)在消息隊(duì)列中的待處理的操作請(qǐng)求按照操作信息的優(yōu)先級(jí)進(jìn)行排序存儲(chǔ)。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述執(zhí)行模塊具體用于: 依次針對(duì)每個(gè)操作請(qǐng)求執(zhí)行如下操作直至未有操作請(qǐng)求:通過(guò)預(yù)先創(chuàng)建的工作線程將當(dāng)前排在最前的操作請(qǐng)求拋入到安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口,接收所述安卓系統(tǒng)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)接口發(fā)送的所述排在最前的操作請(qǐng)求的響應(yīng)消息。10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述操作信息的優(yōu)先級(jí)為操作來(lái)源信息的優(yōu)先級(jí); 其中,來(lái)自用戶操作界面的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)高于來(lái)自后臺(tái)的操作請(qǐng)求對(duì)應(yīng)的優(yōu)先級(jí)D
      【文檔編號(hào)】G06F9/46GK105912385SQ201610223817
      【公開(kāi)日】2016年8月31日
      【申請(qǐng)日】2016年4月12日
      【發(fā)明人】張飛, 丁磊, 代紅橋, 徐海蘭, 張健, 吳建國(guó), 李永勝
      【申請(qǐng)人】北京橙鑫數(shù)據(jù)科技有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1