本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種數(shù)據(jù)寫入方法及裝置和數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
數(shù)據(jù)處理系統(tǒng)由至少一臺服務(wù)器構(gòu)成,每臺服務(wù)器均可對數(shù)據(jù)庫進行操作,實現(xiàn)對數(shù)據(jù)庫的數(shù)據(jù)寫入。服務(wù)器寫入數(shù)據(jù)庫中的數(shù)據(jù)通常以數(shù)據(jù)來源為主鍵進行存儲,當(dāng)數(shù)據(jù)處理系統(tǒng)中的服務(wù)器同時將多個具有相同數(shù)據(jù)來源的數(shù)據(jù)寫入數(shù)據(jù)庫時,通常存在主鍵沖突的問題。
例如,針對第一應(yīng)用而言,第一應(yīng)用會把第一應(yīng)用中用戶的相關(guān)信息推送給第二應(yīng)用的數(shù)據(jù)處理系統(tǒng)(數(shù)據(jù)處理系統(tǒng)包括至少一臺服務(wù)器),以便服務(wù)器接收并向數(shù)據(jù)庫寫入用戶的相關(guān)信息。因用戶的相關(guān)信息包括的內(nèi)容較多(如用戶昵稱、等級、好友等),所以同一用戶的相關(guān)信息會被切分成多個數(shù)據(jù)推送給第二應(yīng)用,每個數(shù)據(jù)的數(shù)據(jù)來源均指向其所屬的用戶的相關(guān)信息指示的用戶。對于服務(wù)器而言,用戶的相關(guān)信息切分成的多個數(shù)據(jù)則需多次以同一主鍵(數(shù)據(jù)來源,如用戶ID)寫入數(shù)據(jù)庫,由此會產(chǎn)生主鍵沖突的問題。
有鑒于此,提供一種數(shù)據(jù)寫入方法及裝置和數(shù)據(jù)處理系統(tǒng),以在避免主鍵沖突的基礎(chǔ)上,實現(xiàn)數(shù)據(jù)寫入的目的,是亟待解決的問題。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種數(shù)據(jù)寫入方法及裝置和數(shù)據(jù)處理系統(tǒng),以在避免主鍵沖突的基礎(chǔ)上,實現(xiàn)數(shù)據(jù)寫入的目的。
為實現(xiàn)上述目的,本發(fā)明實施例提供如下技術(shù)方案:
一種數(shù)據(jù)寫入方法,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器,該方法包括:
接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
一種數(shù)據(jù)寫入裝置,應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器,該裝置包括:
請求接收單元,用于接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
處理標(biāo)識確定單元,用于確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
主鍵確定單元,用于將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
數(shù)據(jù)寫入單元,用于根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
一種數(shù)據(jù)處理系統(tǒng),包括至少一臺服務(wù)器,各所述服務(wù)器包括處理器,
所述處理器,用于接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
本申請實施例提供一種數(shù)據(jù)寫入方法及裝置和數(shù)據(jù)處理系統(tǒng),數(shù)據(jù)寫入方法應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器,通過接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方式,使得在數(shù)據(jù)庫寫入數(shù)據(jù)的過程中,每個寫入數(shù)據(jù)庫的數(shù)據(jù)所具有的主鍵因與處理標(biāo)識相關(guān)而具有唯一性,進而有效避免現(xiàn)有技術(shù)因同時將多個具有相同主鍵的數(shù)據(jù)寫入數(shù)據(jù)庫,所導(dǎo)致的主鍵沖突的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請實施例提供的一種數(shù)據(jù)寫入方法應(yīng)用場景示意圖;
圖2為本申請實施例提供的一種數(shù)據(jù)寫入方法流程圖;
圖3為本申請實施例提供的一種根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方法流程圖;
圖4為本申請實施例提供的另一種根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方法流程圖;
圖5為本申請實施例提供的另一種數(shù)據(jù)寫入方法應(yīng)用場景示意圖;
圖6為本申請實施例提供的一種數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖;
圖7為本申請實施例提供的一種數(shù)據(jù)寫入單元的詳細(xì)結(jié)構(gòu)示意圖;
圖8為本申請實施例提供的另一種數(shù)據(jù)寫入單元的詳細(xì)結(jié)構(gòu)示意圖;
圖9為本申請實施例提供的一種數(shù)據(jù)寫入裝置的硬件結(jié)構(gòu)框圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
實施例:
圖1為本申請實施例提供的一種數(shù)據(jù)寫入方法應(yīng)用場景示意圖。
如圖1所示,第一應(yīng)用(可由圖1中的客戶端表示)可將其中的用戶的相關(guān)信息推送給第二應(yīng)用的數(shù)據(jù)處理系統(tǒng)(即圖1中的數(shù)據(jù)處理系統(tǒng)),以便由第二應(yīng)用的數(shù)據(jù)處理系統(tǒng)將接收到的用戶的相關(guān)信息寫入到數(shù)據(jù)庫。
可選的,如圖1所示的數(shù)據(jù)處理系統(tǒng)中的服務(wù)器的個數(shù)并不由圖1所示而限定(即,如圖1所示的數(shù)據(jù)處理系統(tǒng)中的服務(wù)器的個數(shù)并不一定是兩個)。具體的,如圖1所示的數(shù)據(jù)處理系統(tǒng)中的服務(wù)器的個數(shù)為至少一個,數(shù)據(jù)處理系統(tǒng)中的服務(wù)器的個數(shù)在此不做具體限定。
可選的,第一應(yīng)用為王者榮耀游戲,第二應(yīng)用為掌上王者榮耀。以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置第一應(yīng)用和第二應(yīng)用的具體內(nèi)容,在此不做限定。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置第一應(yīng)用推送給第二應(yīng)用的數(shù)據(jù)處理系統(tǒng)的具體內(nèi)容。例如,群組的相關(guān)信息、戰(zhàn)局的相關(guān)信息等,在此不做限定。
為了便于對本申請?zhí)峁┑囊环N數(shù)據(jù)寫入方法的詳細(xì)介紹,現(xiàn)以第一應(yīng)用向第二應(yīng)用推送的用戶的相關(guān)信息為例進行說明。第一應(yīng)用向第二應(yīng)用推送的用戶的相關(guān)信息包括的內(nèi)容通常較多(如用戶昵稱、等級、好友等),所以為了提高傳輸效率,通常會將一用戶的相關(guān)信息切分成多個數(shù)據(jù)分別發(fā)送給數(shù)據(jù)處理系統(tǒng)。例如可認(rèn)為數(shù)據(jù)1和數(shù)據(jù)2以及數(shù)據(jù)3的集合正好為一用戶的相關(guān)信息??蛇x的,切分后得到的每個數(shù)據(jù)通常攜帶相應(yīng)的數(shù)據(jù)屬性,例如,當(dāng)切分后得到的數(shù)據(jù)為用戶昵稱時,此切分后得到的數(shù)據(jù)攜帶的數(shù)據(jù)屬性用于指示該切分后得到的數(shù)據(jù)為昵稱;當(dāng)切分后得到的數(shù)據(jù)為等級時,此切分后得到的數(shù)據(jù)攜帶的數(shù)據(jù)屬性用于指示該切分后得到的數(shù)據(jù)為等級。
可選的,切分用戶的相關(guān)信息的方式通常為按照用戶的相關(guān)信息中包括的不同數(shù)據(jù)的數(shù)據(jù)屬性進行切分。例如,當(dāng)用戶的相關(guān)信息中包括昵稱、等級和好友三種數(shù)據(jù)時,通常會將昵稱作為切分后的一個數(shù)據(jù),所述數(shù)據(jù)中攜帶用于指示昵稱的數(shù)據(jù)屬性;將等級作為切分后的一個數(shù)據(jù),所述數(shù)據(jù)中攜帶用于指示等級的數(shù)據(jù)屬性;將好友作為切分后的一個數(shù)據(jù),所述數(shù)據(jù)中攜帶用于指示好友的數(shù)據(jù)屬性。優(yōu)選的,進一步的當(dāng)用戶的相關(guān)信息中包括的好友較多時,通常可將好友作為的切分后的一個數(shù)據(jù)進行再次切分,例如將好友作為的切分后的一個數(shù)據(jù)進一步切分成兩個數(shù)據(jù),得到的每個數(shù)據(jù)包括用戶的相關(guān)信息中的好友的一部分,得到的兩個數(shù)據(jù)的集合正好為所有的用戶的相關(guān)信息中的好友。需要注意的是,得到的兩個數(shù)據(jù)中,每個數(shù)據(jù)均攜帶用于指示好友的數(shù)據(jù)屬性。
可選的,第一應(yīng)用對一用戶的相關(guān)信息進行切分得到的多個數(shù)據(jù)在發(fā)送給數(shù)據(jù)處理系統(tǒng)時,針對切分后得到的每個數(shù)據(jù)而言,均可發(fā)送給數(shù)據(jù)處理系統(tǒng)中的任意服務(wù)器(例如,同一用戶的相關(guān)信息被切分后得到的各個數(shù)據(jù)可發(fā)送給同一服務(wù)器,也可發(fā)送給不同服務(wù)器),在此不做限定。
可選的,可將第一應(yīng)用向數(shù)據(jù)處理系統(tǒng)中的服務(wù)器發(fā)送數(shù)據(jù)的過程認(rèn)為是第一應(yīng)用向數(shù)據(jù)處理系統(tǒng)中的服務(wù)器發(fā)送數(shù)據(jù)寫入請求的過程,所述數(shù)據(jù)寫入請求中攜帶有請求寫入的所述數(shù)據(jù)。
可選的,所述數(shù)據(jù)處理系統(tǒng)中的任意服務(wù)器在接收到數(shù)據(jù)寫入請求后,具體執(zhí)行的數(shù)據(jù)寫入過程請參見圖2。
圖2為本申請實施例提供的一種數(shù)據(jù)寫入方法流程圖。
如圖2所示,該方法包括:
S101、接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
為了便于對本申請?zhí)峁┑囊环N數(shù)據(jù)寫入方法的詳細(xì)介紹,現(xiàn)以第一應(yīng)用向第二應(yīng)用推送用戶的相關(guān)信息為例進行說明。數(shù)據(jù)的來源標(biāo)識用于指示所述數(shù)據(jù)來源于哪一個用戶的相關(guān)信息(即,所述數(shù)據(jù)屬于哪一個用戶的相關(guān)信息),進一步可認(rèn)為數(shù)據(jù)的來源標(biāo)識用于指示所述數(shù)據(jù)所屬的用戶。例如,當(dāng)數(shù)據(jù)寫入請求攜帶的請求寫入的數(shù)據(jù)屬于第一用戶的相關(guān)信息時,認(rèn)為所述數(shù)據(jù)的來源標(biāo)識用于指示所述第一用戶。
可選的,所述數(shù)據(jù)的來源標(biāo)識為所述數(shù)據(jù)所屬用戶的唯一的標(biāo)識信息,例如,所述數(shù)據(jù)的來源標(biāo)識為所述數(shù)據(jù)所屬用戶的用戶ID。
相應(yīng)的,第一應(yīng)用向第二應(yīng)用推送群組的相關(guān)信息時,數(shù)據(jù)的來源標(biāo)識用于指示所述數(shù)據(jù)所屬的群組的唯一的標(biāo)識信息,例如,所述數(shù)據(jù)的來源標(biāo)識為所述數(shù)據(jù)所屬的群組的群組ID。
相應(yīng)的,第一應(yīng)用向第二應(yīng)用推送戰(zhàn)局的相關(guān)信息時,數(shù)據(jù)的來源標(biāo)識用于指示所述數(shù)據(jù)所屬的戰(zhàn)局的唯一的標(biāo)識信息,例如,所述數(shù)據(jù)的來源標(biāo)識為所述數(shù)據(jù)所屬戰(zhàn)局的戰(zhàn)局ID。
以上僅僅是本申請實施例的為了對提供的數(shù)據(jù)寫入方法的詳細(xì)介紹而提供的優(yōu)選方式,具體的數(shù)據(jù)的來源標(biāo)識依據(jù)第一應(yīng)用向第二應(yīng)用推送的信息的具體類型而定,在此不做限定。
S102、確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
可選的,當(dāng)服務(wù)器接收到數(shù)據(jù)寫入請求后,需確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識。所述處理標(biāo)識用于指示處理所述數(shù)據(jù)寫入請求的服務(wù)器,以及,處理所述數(shù)據(jù)寫入請求的服務(wù)器分配的用于處理所述數(shù)據(jù)寫入請求的進程。
可選的,當(dāng)接收到的所述數(shù)據(jù)寫入請求的個數(shù)為一個時,所述處理標(biāo)識用于唯一指示所述服務(wù)器。
具體的,當(dāng)服務(wù)器僅僅接收到一個數(shù)據(jù)寫入請求時,僅僅需要確定唯一指示所述服務(wù)器的標(biāo)識(即處理標(biāo)識)。其中,處理標(biāo)識包括所述服務(wù)器的ID,服務(wù)器的ID可通過所述服務(wù)器的硬件編碼表示。
例如,當(dāng)數(shù)據(jù)處理系統(tǒng)包括第一服務(wù)器和第二服務(wù)器時,若第一服務(wù)器接收到一個數(shù)據(jù)寫入請求,第二服務(wù)器接收到一個數(shù)據(jù)寫入請求;可設(shè)置第一服務(wù)器接收到的數(shù)據(jù)寫入請求對應(yīng)的處理標(biāo)識為A(其中,A用于表示第一服務(wù)器),設(shè)置第二服務(wù)器接收到的數(shù)據(jù)寫入請求對應(yīng)的處理標(biāo)識為B(其中,B用于表示第二服務(wù)器)。
可選的,當(dāng)接收到的數(shù)據(jù)寫入請求的個數(shù)為多個時,所述處理標(biāo)識用于唯一指示所述服務(wù)器,及唯一指示所述服務(wù)器分配處理所述數(shù)據(jù)寫入請求的進程。
具體的,當(dāng)服務(wù)器接收到數(shù)據(jù)寫入請求的個數(shù)為多個時,不僅需要確定唯一指示所述服務(wù)器的標(biāo)識(第一標(biāo)識),還需確定唯一指示所述服務(wù)器分配的用于處理所述數(shù)據(jù)寫入請求的進程的標(biāo)識(第二標(biāo)識)。本申請實施例通過一個處理標(biāo)識同時實現(xiàn)對第一標(biāo)識和第二標(biāo)識的確定,也即,所述處理標(biāo)識不僅用于唯一指示所述服務(wù)器,而且用于唯一指示所述服務(wù)器分配處理所述數(shù)據(jù)寫入請求的進程。
可選的,當(dāng)接收到的數(shù)據(jù)寫入請求的個數(shù)為多個時,所述處理標(biāo)識可由處理所述數(shù)據(jù)寫入請求的服務(wù)器的ID和用于處理所述數(shù)據(jù)寫入請求的服務(wù)器分配的用于處理所述數(shù)據(jù)寫入請求的進程的ID組合構(gòu)成。
例如,當(dāng)數(shù)據(jù)處理系統(tǒng)包括第一服務(wù)器和第二服務(wù)器時,若第一服務(wù)器接收到兩個數(shù)據(jù)寫入請求,第二服務(wù)器接收到三個數(shù)據(jù)寫入請求;可設(shè)置第一服務(wù)器接收到的兩個數(shù)據(jù)寫入請求對應(yīng)的處理標(biāo)識分別為A1和A2(其中,A用于表示第一服務(wù)器,A1中的1用于表示第一服務(wù)器分配出的用于處理數(shù)據(jù)寫入請求的第一個進程,A2中的2用于表示第一服務(wù)器分配出的用于處理數(shù)據(jù)寫入請求的第二個進程);設(shè)置第二服務(wù)器接收到的三個數(shù)據(jù)寫入請求對應(yīng)的處理標(biāo)識分別為B1、B2和B3(其中,B用于表示第二服務(wù)器,B1中的1用于表示第二服務(wù)器分配出的用于處理數(shù)據(jù)寫入請求的第一個進程,B2中的2用于表示第二服務(wù)器分配出的用于處理數(shù)據(jù)寫入請求的第二個進程,B3中的3用于表示第二服務(wù)器分配出的用于處理數(shù)據(jù)寫入請求的第三個進程)。
以上僅僅是本申請實施例的優(yōu)選方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置處理標(biāo)識的具體表現(xiàn)形式,在此不做限定。
S103、將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
可選的,可將數(shù)據(jù)寫入請求攜帶的來源標(biāo)識作為所述數(shù)據(jù)寫入請求所請求寫入的數(shù)據(jù)的一級主鍵,將確定的處理標(biāo)識作為請求寫入的數(shù)據(jù)的二級主鍵,將所述一級主鍵和二級主鍵作為請求寫入的數(shù)據(jù)的主鍵。
S104、根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
本申請實施例提供一種數(shù)據(jù)寫入方法應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器,通過接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方式,使得在數(shù)據(jù)庫寫入數(shù)據(jù)的過程中,每個寫入數(shù)據(jù)庫的數(shù)據(jù)所具有的主鍵因與處理標(biāo)識相關(guān)而具有唯一性(即,因處理標(biāo)識的唯一性使得利用處理標(biāo)識形成的主鍵具有唯一性),進而不再存在同時將具有多個相同主鍵的數(shù)據(jù)寫入數(shù)據(jù)庫的情況,有效避免了現(xiàn)有技術(shù)因同時將多個具有相同主鍵的數(shù)據(jù)寫入數(shù)據(jù)庫,所導(dǎo)致的主鍵沖突的問題。
為了更加全面的對本申請實施例提供的一種數(shù)據(jù)寫入方法進行闡述,現(xiàn)對本申請實施例提供的一種數(shù)據(jù)寫入方法中的步驟S104提供的“根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫”方法進行詳細(xì)介紹,具體請參見圖2。
圖3為本申請實施例提供的一種根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方法流程圖。
如圖3所示,該方法包括:
S201、判斷所述數(shù)據(jù)庫中是否存在與所述主鍵對應(yīng)的數(shù)據(jù)項;如果所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項,執(zhí)行步驟S202;
可選的,每條數(shù)據(jù)項是一個鍵值對,鍵值對包括主鍵和與主鍵關(guān)聯(lián)的值。所述值對應(yīng)至少一個子數(shù)據(jù)項,每個所述子數(shù)據(jù)項對應(yīng)一個子數(shù)據(jù)項值,所述值為所述值對應(yīng)的各個子數(shù)據(jù)項的子數(shù)據(jù)項值的集合;每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段。
確定所述數(shù)據(jù)庫中是否存在與所述主鍵對應(yīng)的數(shù)據(jù)項的方式包括:確定所述數(shù)據(jù)庫中是否存在所包括的主鍵與所述主鍵相同的數(shù)據(jù)項;當(dāng)存在時,確定所述數(shù)據(jù)庫中存在與所述主鍵對應(yīng)的數(shù)據(jù)項;當(dāng)不存在時,確定所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項。
S202、按照預(yù)設(shè)數(shù)據(jù)項創(chuàng)建模板創(chuàng)建與所述主鍵對應(yīng)的數(shù)據(jù)項;所述數(shù)據(jù)項創(chuàng)建模板包括主鍵以及與所述主鍵關(guān)聯(lián)的值,所述值對應(yīng)至少一個初始值為空的子數(shù)據(jù)項,每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段;
可選的,當(dāng)所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項時,需要調(diào)用并按照預(yù)設(shè)數(shù)據(jù)項創(chuàng)建模板在所述數(shù)據(jù)庫中創(chuàng)建與所述主鍵對應(yīng)的數(shù)據(jù)項。
可選的,數(shù)據(jù)項創(chuàng)建模板包括主鍵以及與所述主鍵關(guān)聯(lián)的值,所述值對應(yīng)至少一個初始值為空的子數(shù)據(jù)項,每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段。
可選的,按照預(yù)設(shè)數(shù)據(jù)項創(chuàng)建模板創(chuàng)建與所述主鍵對應(yīng)的數(shù)據(jù)項的方式包括:在所述數(shù)據(jù)庫中創(chuàng)建一個數(shù)據(jù)項,所述數(shù)據(jù)項包括所述主鍵(此主鍵為上述步驟S103形成的主鍵)以及與所述主鍵關(guān)聯(lián)的值;所述值對應(yīng)至少一個所述數(shù)據(jù)創(chuàng)建模板指示的子數(shù)據(jù)項,且所述值對應(yīng)的每個所述子數(shù)據(jù)項的初始值為空(即,所述值對應(yīng)的每個所述子數(shù)據(jù)項的子數(shù)據(jù)項值為空),每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段。
可選的,每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段。例如,當(dāng)數(shù)據(jù)項中與主鍵關(guān)聯(lián)的值包括A、B和C三個子數(shù)據(jù)項值時,子數(shù)據(jù)項值A(chǔ)對應(yīng)的子數(shù)據(jù)項對應(yīng)所述數(shù)據(jù)項中的一個唯一的字段(如昵稱);子數(shù)據(jù)項值B對應(yīng)的子數(shù)據(jù)項對應(yīng)所述數(shù)據(jù)項中的另一個唯一的字段(如性別);子數(shù)據(jù)項值C對應(yīng)的子數(shù)據(jù)項對應(yīng)所述數(shù)據(jù)項中的又一個唯一的字段(如好友)。
以上僅僅是為了便于理解所提供的優(yōu)選方式,具體的所述子數(shù)據(jù)項與字段的對應(yīng)方式,發(fā)明人可根據(jù)自己的需求任意設(shè)置,在此不做限定。
S203、從所創(chuàng)建的數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項;
可選的,接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),所述數(shù)據(jù)中攜帶數(shù)據(jù)屬性。
可選的,確定字段與數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的方式包括:字段指示的內(nèi)容與數(shù)據(jù)攜帶的數(shù)據(jù)屬性指示的內(nèi)容相同。例如,當(dāng)字段指示性別時,若數(shù)據(jù)攜帶的數(shù)據(jù)屬性指示所述數(shù)據(jù)為性別,則確定字段與數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配。
可選的,從所創(chuàng)建的數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項,包括:確定所創(chuàng)建的數(shù)據(jù)項中的各子數(shù)據(jù)項對應(yīng)的字段;從所確定的字段中查找與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的字段;將所查找到的字段對應(yīng)的子數(shù)據(jù)項作為結(jié)果(即將查找到的字段對應(yīng)的子數(shù)據(jù)項作為從所創(chuàng)建的數(shù)據(jù)項中確定的子數(shù)據(jù)項,所述子數(shù)據(jù)項對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配)。
S204、將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,并設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳。
可選的,將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,包括:將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值(此所確定的子數(shù)據(jù)項的值為所確定的子數(shù)據(jù)項的子數(shù)據(jù)項值)寫入所述數(shù)據(jù)庫中所確定的子數(shù)據(jù)項的相應(yī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ù)項的子數(shù)據(jù)項值寫入數(shù)據(jù)庫的過程。
可選的,在所述數(shù)據(jù)庫中設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳;所述數(shù)據(jù)寫入時間戳為將所述數(shù)據(jù)寫入所確定的子數(shù)據(jù)項的子數(shù)據(jù)項值在所述數(shù)據(jù)庫中的位置的系統(tǒng)時間。
通過上述對本申請實施例提供的一種根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方法的進一步介紹,使得本申請實施例提供的數(shù)據(jù)寫入方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
進一步的,為了更加全面的對本申請實施例提供的一種數(shù)據(jù)寫入方法進行闡述,現(xiàn)對本申請實施例提供的一種數(shù)據(jù)寫入方法中的步驟S104提供的“根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫”方法進行詳細(xì)介紹,具體請參見圖4。
圖4為本申請實施例提供的另一種根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方法流程圖。
如圖4所示,該方法包括:
S301、判斷所述數(shù)據(jù)庫中是否存在與所述主鍵對應(yīng)的數(shù)據(jù)項;如果所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項,執(zhí)行步驟S302;如果所述數(shù)據(jù)庫中存在與所述主鍵對應(yīng)的數(shù)據(jù)項,執(zhí)行步驟S305;
可選的,當(dāng)所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項時,執(zhí)行步驟S302;當(dāng)所述數(shù)據(jù)庫中存在與所述主鍵對應(yīng)的數(shù)據(jù)項時,執(zhí)行步驟S305。
S302、按照預(yù)設(shè)數(shù)據(jù)項創(chuàng)建模板創(chuàng)建與所述主鍵對應(yīng)的數(shù)據(jù)項;所述數(shù)據(jù)項創(chuàng)建模板包括主鍵以及與所述主鍵關(guān)聯(lián)的值,所述值對應(yīng)至少一個初始值為空的子數(shù)據(jù)項,每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段;
S303、從所創(chuàng)建的數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項;
S304、將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,并設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳;
本申請實施例中,優(yōu)選的,除步驟S301-S304中包括的“如果所述數(shù)據(jù)庫中存在與所述主鍵對應(yīng)的數(shù)據(jù)項,執(zhí)行步驟S305”步驟外,步驟S301-S304的執(zhí)行過程與上述步驟S201-S204的執(zhí)行過程相同,有關(guān)步驟S301-S304的執(zhí)行過程的詳細(xì)描述請參見上述步驟S201-S204,在此不做贅述。
S305、從所述數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)屬性匹配的子數(shù)據(jù)項;
可選的,從所述數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)屬性匹配的子數(shù)據(jù)項,包括:確定所述數(shù)據(jù)項中的各個子數(shù)據(jù)項對應(yīng)的字段;從所確定的字段中查找與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的字段;將所查找到的字段對應(yīng)的子數(shù)據(jù)項作為結(jié)果(即將查找到的字段對應(yīng)的子數(shù)據(jù)項作為從所述數(shù)據(jù)項中確定的子數(shù)據(jù)項,所述子數(shù)據(jù)項對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配)。
S306、將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,并設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳。
可選的,將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,包括:將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值(此所確定的子數(shù)據(jù)項的值為所確定的子數(shù)據(jù)項的子數(shù)據(jù)項值)寫入所述數(shù)據(jù)庫中所確定的子數(shù)據(jù)項的相應(yī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ù)項的子數(shù)據(jù)項值寫入數(shù)據(jù)庫的過程。
可選的,在所述數(shù)據(jù)庫中設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳;所述數(shù)據(jù)寫入時間戳為將所述數(shù)據(jù)寫入所確定的子數(shù)據(jù)項的子數(shù)據(jù)項值在所述數(shù)據(jù)庫中的位置的系統(tǒng)時間。
通過上述對本申請實施例提供的另一種根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方法的進一步介紹,使得本申請實施例提供的數(shù)據(jù)寫入方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
進一步的,為了更加全面的對本申請實施例提供的一種數(shù)據(jù)寫入方法進行闡述,現(xiàn)提供另一種數(shù)據(jù)寫入方法應(yīng)用場景示意圖,參見圖5。
結(jié)合圖1、圖2、圖3、圖4和圖5。以第一應(yīng)用向第二應(yīng)用的數(shù)據(jù)處理系統(tǒng)發(fā)送攜帶有同一來源標(biāo)識1的兩個數(shù)據(jù)為例進行說明,這兩個數(shù)據(jù)分別為攜帶有來源標(biāo)識1的數(shù)據(jù)1和攜帶有來源標(biāo)識1的數(shù)據(jù)2。其中,第二應(yīng)用的數(shù)據(jù)處理系統(tǒng)至少包括服務(wù)器41和服務(wù)器42,攜帶數(shù)據(jù)1的數(shù)據(jù)寫入請求發(fā)送給服務(wù)器41、攜帶數(shù)據(jù)2的數(shù)據(jù)寫入請求發(fā)送給服務(wù)器42;服務(wù)器41確定其處理攜帶有數(shù)據(jù)1的數(shù)據(jù)寫入請求的處理標(biāo)識1,將來源標(biāo)識1和處理標(biāo)識1作為主鍵1,且從數(shù)據(jù)庫查找到存在與主鍵1對應(yīng)的數(shù)據(jù)項1,從數(shù)據(jù)項1中確定對應(yīng)的字段與數(shù)據(jù)1攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項的子數(shù)據(jù)項值為數(shù)據(jù)3,將數(shù)據(jù)項1進行修改得到修改后的數(shù)據(jù)項1;服務(wù)器42確定其處理攜帶有數(shù)據(jù)2的數(shù)據(jù)寫入請求的處理標(biāo)識2,將來源標(biāo)識1和處理標(biāo)識2作為主鍵2,且從數(shù)據(jù)庫未查找到與主鍵2對應(yīng)的數(shù)據(jù)項,則在所述數(shù)據(jù)庫中創(chuàng)建與所述主鍵2對應(yīng)的數(shù)據(jù)項3,數(shù)據(jù)項3中的各個子數(shù)據(jù)項的初始值為空,從數(shù)據(jù)項3中確定對應(yīng)的字段與數(shù)據(jù)2攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項為數(shù)據(jù)項3中的最后一個子數(shù)據(jù)項,將數(shù)據(jù)項3中的最后一個子數(shù)據(jù)項的初始值設(shè)置為數(shù)據(jù)2。
通過上述對本申請實施例提供的另一種數(shù)據(jù)寫入方法應(yīng)用場景的進一步介紹,使得本申請實施例提供的數(shù)據(jù)寫入方法更加清晰、完整,便于本領(lǐng)域技術(shù)人員理解。
上述本發(fā)明公開的實施例中詳細(xì)描述了方法,對于本發(fā)明的方法可采用多種形式的裝置實現(xiàn),因此本發(fā)明還公開了一種數(shù)據(jù)寫入裝置,下面給出具體的實施例進行詳細(xì)說明。
圖6為本申請實施例提供的一種數(shù)據(jù)寫入裝置的結(jié)構(gòu)示意圖。
在本申請實施例中,優(yōu)選的,如圖6所示的裝置應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器。
如圖6所示,該裝置包括:
請求接收單元51,用于接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
處理標(biāo)識確定單元52,用于確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
主鍵確定單元53,用于將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
數(shù)據(jù)寫入單元54,用于根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
在本申請實施例中,優(yōu)選的,當(dāng)接收到的所述數(shù)據(jù)寫入請求的個數(shù)為一個時,所述處理標(biāo)識用于唯一指示所述服務(wù)器。
在本申請實施例中,優(yōu)選的,當(dāng)接收到的數(shù)據(jù)寫入請求的個數(shù)為多個時,所述處理標(biāo)識用于唯一指示所述服務(wù)器,及唯一指示所述服務(wù)器分配處理所述數(shù)據(jù)寫入請求的進程。
本發(fā)明實施例提供的數(shù)據(jù)寫入單元54的一種可選結(jié)構(gòu)參見圖7,數(shù)據(jù)寫入單元54包括:
數(shù)據(jù)項創(chuàng)建單元61,用于如果所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項,按照預(yù)設(shè)數(shù)據(jù)項創(chuàng)建模板創(chuàng)建與所述主鍵對應(yīng)的數(shù)據(jù)項;所述數(shù)據(jù)項創(chuàng)建模板包括主鍵以及與所述主鍵關(guān)聯(lián)的值,所述值對應(yīng)至少一個初始值為空的子數(shù)據(jù)項,每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段;
第一子數(shù)據(jù)項確定單元62,用于從所創(chuàng)建的數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項;
第一數(shù)據(jù)寫入子單元63,用于將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,并設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳。
本發(fā)明實施例提供的數(shù)據(jù)寫入單元54的另一種可選結(jié)構(gòu)參見圖8,數(shù)據(jù)寫入單元54包括:
數(shù)據(jù)項創(chuàng)建單元61,用于如果所述數(shù)據(jù)庫中不存在與所述主鍵對應(yīng)的數(shù)據(jù)項,按照預(yù)設(shè)數(shù)據(jù)項創(chuàng)建模板創(chuàng)建與所述主鍵對應(yīng)的數(shù)據(jù)項;所述數(shù)據(jù)項創(chuàng)建模板包括主鍵以及與所述主鍵關(guān)聯(lián)的值,所述值對應(yīng)至少一個初始值為空的子數(shù)據(jù)項,每個所述子數(shù)據(jù)項唯一對應(yīng)一個字段;
第一子數(shù)據(jù)項確定單元62,用于從所創(chuàng)建的數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)攜帶的數(shù)據(jù)屬性匹配的子數(shù)據(jù)項;
第一數(shù)據(jù)寫入子單元63,用于將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,并設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳;
第二子數(shù)據(jù)項確定單元71,用于如果所述數(shù)據(jù)庫中存在與所述主鍵對應(yīng)的數(shù)據(jù)項,從所述數(shù)據(jù)項中確定對應(yīng)的字段與所述數(shù)據(jù)屬性匹配的子數(shù)據(jù)項;
第二數(shù)據(jù)寫入子單元72,用于將所述數(shù)據(jù)作為所確定的子數(shù)據(jù)項的值寫入所確定的子數(shù)據(jù)項,并設(shè)置所確定的子數(shù)據(jù)項的數(shù)據(jù)寫入時間戳。
本申請實施例中,優(yōu)選的,第一數(shù)據(jù)寫入單元63和第二數(shù)據(jù)寫入單元72可以為同一數(shù)據(jù)寫入單元,也可為不同的數(shù)據(jù)寫入單元,在此不做限定。
可選的,數(shù)據(jù)寫入裝置可以為硬件設(shè)備,上文描述的模塊、單元可以為設(shè)置于數(shù)據(jù)寫入裝置內(nèi)的功能模塊。圖9示出了數(shù)據(jù)寫入裝置的硬件結(jié)構(gòu)框圖,參照圖9,數(shù)據(jù)寫入裝置可以包括:處理器81,通信接口82,存儲器83和通信總線84;其中處理器81、通信接口82、存儲器83通過通信總線84完成相互間的通信;可選的,通信接口82可以為通信模塊的接口,如GSM模塊的接口;
處理器81,用于執(zhí)行程序;存儲器83,用于存放程序;程序可以包括程序代碼,程序代碼包括計算機操作指令;
處理器81可能是一個中央處理器CPU,或者是特定集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路;存儲器83可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
其中,程序可具體用于:
接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
本申請實施例提供一種數(shù)據(jù)寫入裝置,數(shù)據(jù)寫入裝置應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器,通過接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方式,使得在數(shù)據(jù)庫寫入數(shù)據(jù)的過程中,每個寫入數(shù)據(jù)庫的數(shù)據(jù)所具有的主鍵因與處理標(biāo)識相關(guān)而具有唯一性,進而有效避免現(xiàn)有技術(shù)因同時將多個具有相同主鍵的數(shù)據(jù)寫入數(shù)據(jù)庫,所導(dǎo)致的主鍵沖突的問題。
本發(fā)明實施例還公開一種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中包括至少一臺服務(wù)器,每個所述服務(wù)器均包括處理器;
所述處理器,用于接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;
確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;
將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;
根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。
本申請實施例提供一種數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)中包括至少一臺服務(wù)器,每個所述服務(wù)器均包括處理器,所述處理器,用于接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫。以使得在數(shù)據(jù)庫寫入數(shù)據(jù)的過程中,每個寫入數(shù)據(jù)庫的數(shù)據(jù)所具有的主鍵因與處理標(biāo)識相關(guān)而具有唯一性,進而有效避免現(xiàn)有技術(shù)因同時將多個具有相同主鍵的數(shù)據(jù)寫入數(shù)據(jù)庫,所導(dǎo)致的主鍵沖突的問題。
綜上:
本申請實施例提供一種數(shù)據(jù)寫入方法及裝置和數(shù)據(jù)處理系統(tǒng),數(shù)據(jù)寫入方法應(yīng)用于數(shù)據(jù)處理系統(tǒng)中的任一服務(wù)器,通過接收數(shù)據(jù)寫入請求,所述數(shù)據(jù)寫入請求攜帶有請求寫入的數(shù)據(jù),及所述數(shù)據(jù)的來源標(biāo)識;確定所述服務(wù)器處理所述數(shù)據(jù)寫入請求的處理標(biāo)識;將所述來源標(biāo)識作為所述數(shù)據(jù)的一級主鍵,將所述處理標(biāo)識作為所述數(shù)據(jù)的二級主鍵,形成所述數(shù)據(jù)的主鍵;根據(jù)所述主鍵,將所述數(shù)據(jù)寫入數(shù)據(jù)庫的方式,使得在數(shù)據(jù)庫寫入數(shù)據(jù)的過程中,每個寫入數(shù)據(jù)庫的數(shù)據(jù)所具有的主鍵因與處理標(biāo)識相關(guān)而具有唯一性,進而有效避免現(xiàn)有技術(shù)因同時將多個具有相同主鍵的數(shù)據(jù)寫入數(shù)據(jù)庫,所導(dǎo)致的主鍵沖突的問題。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。