個人資產變更記錄的儲存方法、系統、裝置及設備
本說明書實施例係有關資訊技術領域,尤其有關一種個人資產變更記錄的儲存方法、系統、裝置及設備。
個人用戶或者家庭成員透過客戶端進行個人資產的配置已很常見。而同時資產的變更記錄一般都儲存在服務端上,用戶雖然可以從服務端中查詢得到相應的個人資產變更記錄。
但是對於用戶而言,資產配置本身就是和服務端所有方進行的交易,而這些資產變更記錄一般都是由服務端保存,用戶希望即使個人資料存在服務端中,服務端也不能隨意的篡改資料,並且用戶可以隨時驗證是不是被修改了。
基於此,需要一種在中心化的場景下,對於用戶而言不可篡改的個人資產變更記錄儲存方案。
本發明實施例的目的是提供一種中心化的場景中實現不可篡改的個人資產變更記錄儲存方案:
為解決上述技術問題,本發明實施例是這樣實現的:
一種個人資產變更記錄的儲存方法,應用於包括資料庫服務端和客戶端的系統中,所述資料庫服務端以中心化的方式透過塊鏈式帳本儲存個人資產變更記錄,所述方法包括:
客戶端獲取個人資產變更記錄,發送所述個人資產變更記錄至資料庫服務端;
資料庫服務端,接收待儲存的個人資產變更記錄,當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
資料庫服務端,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回雜湊值至所述客戶端;
客戶端,接收返回的個人資產變更記錄的雜湊值以及資料塊的雜湊值,並儲存。
相應地,本說明書實施例還提供一種個人資產變更記錄的儲存系統,包括資料庫服務端和客戶端,所述資料庫服務端以中心化的方式透過塊鏈式帳本儲存個人資產變更記錄,在所述系統中,
客戶端獲取個人資產變更記錄,發送所述個人資產變更記錄至資料庫服務端;
資料庫服務端,接收待儲存的個人資產變更記錄,當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
資料庫服務端,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回雜湊值至所述客戶端;
客戶端,接收返回的個人資產變更記錄的雜湊值以及資料塊的雜湊值,並儲存。
相應地,本說明書實施例還提供一種個人資產變更記錄的儲存方法,應用於資料庫服務端中,所述方法包括:
接收客戶端發送的待儲存的個人資產變更記錄;
當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
確定寫入資料塊中的個人資產變更記錄的雜湊值,返回所述雜湊值至客戶端。
相應地,本說明書實施例還提供一種個人資產變更記錄的儲存裝置,應用於資料庫服務端中,所述裝置包括:
接收模組,接收客戶端發送的待儲存的個人資產變更記錄;
資料塊產生模組,當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
雜湊返回模組,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回所述雜湊值至客戶端。
透過本說明書實施例所提供的方案,服務端將用戶相關的資產變更記錄以塊鏈式的帳本進行儲存,而用戶方面將會持有資產變更記錄的雜湊值,從而隨時可以基於雜湊值發起對於資產變更記錄的查詢和驗證,確保了用戶的資產變更記錄沒有被篡改以及確保記錄的完整性,提高用戶體驗。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本說明書實施例。
此外,本說明書實施例中的任一實施例並不需要達到上述的全部效果。
為了使本領域技術人員更好地理解本說明書實施例中的技術方案,下面將結合本說明書實施例中的圖式,對本說明書實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬於保護的範圍。
在目前,用戶可以透過客戶端進行諸如支付、借貸等與資產相關的行為,由此也會產生相應的資產變更記錄。一方面,產生的資產變更記錄細碎,時間分散,格式也多不一樣,對於用戶方而言,不方便集中管理,例如,用戶在花唄中有借貸記錄,同時在餘額寶中又有定額買入,每天還會產生收益,每天還會使用支付寶進行日常消費的支付,這些都會造成用戶的資產發生變動。另一方面,這些資產發生變更時要麼與服務端是相關的(例如,支付),要麼服務端是直接利害關係方(例如,借貸行為),而同時資產變更記錄也同時是服務端進行儲存。基於此,本說明書提供一種在中心化的場景下,對於用戶而言不可篡改的個人資產變更記錄儲存方案。
以下結合圖式,詳細說明本說明書各實施例提供的技術方案。如圖1所示,圖1是本說明書實施例提供的一種個人資產變更記錄的流程示意圖,應用於包括資料庫服務端和客戶端的系統中,所述資料庫服務端以中心化的方式透過塊鏈式帳本儲存個人資產變更記錄,該流程具體包括如下步驟:
S101,客戶端獲取個人資產變更記錄,發送所述個人資產變更記錄至資料庫服務端。
個人資產變更記錄可以是支付記錄、轉帳/收款記錄、借貸/還款記錄、理財產品交割記錄以及對帳記錄等等。
需要說明的是,前述個人資產變更記錄可以是一條記錄,例如,用戶A透過客戶端購買了一筆基金,得到一條基金的交割記錄;或者,也可以是包含多條記錄,例如,用戶A連續多天透過客戶端對自己名下的基金進行了多次操作,每天都產生一條交割記錄,客戶端將多天的交割記錄打包一起作為個人資產變更記錄進行上傳。
在一種實施例中,客戶端獲取個人資產變更記錄的方式,可以是透過用戶指令選取指定的個人資產變更記錄,亦即,基於用戶的手動操作進行獲取。
在一種實施例中,客戶端可以透過對用戶的帳戶餘額進行監控,當檢測到餘額發生改動時,即獲取導致餘額發生改動的相關交易,進而獲取對應的個人資產變更記錄。
具體而言,用戶可以在客戶端中透過預先的配置,確定需要進行寫入帳本的個人資產變更記錄的類型,對符合設定的個人資產變更記錄進行自動獲取並上傳資料庫服務端。
例如,對於某個用戶而言,其可能透過客戶端每天產生關於日常消費的支付記錄、理財產品的現金收益記錄、理財產品交割記錄、信用卡借貸記錄等等。實際中,用戶最關心的就是金額較高的理財產品交割記錄、信用卡借貸記錄,從而可以在客戶端給出的配置選項中進行選定,只上傳這這兩類個人資產變更記錄,透過預先配置進行記錄的選取可以使得帳本更符合用戶的預期,提高用戶體驗。
S103,資料庫服務端,接收待儲存的個人資產變更記錄,當達到預設的成塊條件時,將個人資產變更記錄寫入帳本中的資料塊。
所述的帳本即為塊鏈式的帳本,資料塊的形式可以同時包含塊頭和塊體。塊體中用於儲存個人資產變更記錄,塊頭中則用於儲存資料塊的相關中繼資料,中繼資料包括塊體中的個人資產變更記錄所對應的默克爾樹的根雜湊、前一個資料塊的雜湊、自身資料塊的雜湊、帳本版本號等等。
所述預設的成塊條件包括:待儲存的個人資產變更記錄數量達到數量閾值,例如,每接收到10條個人資產變更記錄時,產生一個新資料塊,將10條個人資產變更記錄寫入塊中;或者,距離上一次成塊時刻的時間間隔達到時間閾值,例如,每隔1小時,產生一個新資料塊,將在這1小時內接收到的個人資產變更記錄寫入塊中。
此處的N指的是資料塊的序號,換言之,在本說明書實施例中,資料塊是以塊鏈的形式,基於成塊時間的順序先後排列,具有很強的時序特徵。其中,資料塊的塊高基於成塊時間的先後順序單調遞增。塊高可以是序號,此時第N個資料塊的塊高即為N;塊高也可以其它方式產生,例如,基於成塊時間對稱加密,產生12至15位元的大整型資料,作為塊高。
當N=1時,即此時的資料塊為初始資料塊(也可以叫創世區塊)。初始資料塊的雜湊值和塊高基於預設方式給定。例如,初始資料塊中不包含個人資產變更記錄,雜湊值則為任一給定的雜湊值,塊高blknum=0;又例如,初始資料塊的產生觸發條件與其它資料塊的觸發條件一致,但是初始資料塊的雜湊值由對初始資料塊中的所有內容取雜湊確定;又例如,初始資料塊中包含創建者(即對於帳本有操作權限的用戶)的相關資訊(例如,用戶標識,包括身份證號、客戶端帳號、手機號碼等等),初始資料塊的雜湊值即為對相關資訊取雜湊而得到。
當N>1時,由於前一資料塊的內容和雜湊值已經確定,則此時,可以基於前一資料塊(即第N-1個資料塊)的雜湊值產生目前資料塊(第N個資料塊)的雜湊值,例如,一種可行的方式為,確定每一條將要寫入第N個塊中的個人資產變更記錄的雜湊值,按照在塊中的排列順序,產生一個默克爾樹,將默克爾樹的根雜湊值和前一個資料塊的雜湊值拼接在一起,再次採用雜湊演算法,產生目前塊的雜湊值。又例如,還可以按照塊中個人資產變更記錄的順序進行拼接並取雜湊得到整體個人資產變更記錄的雜湊值,拼接前一個資料塊的雜湊值和整體個人資產變更記錄的雜湊值,並對拼接得到的字串進行雜湊運算,產生資料塊的雜湊值。
透過前述的資料塊的產生方式,每一個資料塊透過雜湊值確定,資料塊的雜湊值由資料塊中的個人資產變更記錄的內容、順序以及前一個資料塊的雜湊值決定。用戶可以隨時基於資料塊的雜湊值發起驗證,對於資料塊中任何內容(包括對於資料塊中個人資產變更記錄內容或者順序)的修改都會造成在驗證時計算得到的資料塊的雜湊值和資料塊產生時的雜湊值不一致,而導致驗證失敗,從而實現了中心化下的不可篡改。
S105,資料庫服務端,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回雜湊值至所述客戶端。
在將客戶端上傳的個人資產變更記錄寫入帳本中的同時,即同時確定寫入帳本的資料塊的雜湊值。此處個人資產變更記錄的細微性與客戶端上傳時的細微性相同,亦即,對於每一條上傳的個人資產變更記錄均需要返回對應的雜湊值,以及,還可以同時返回個人資產變更記錄所處的資料塊的塊雜湊以及塊高,以供用戶進行驗證。
基於個人資產變更記錄的雜湊值也可以查詢得到該記錄所處的資料塊的雜湊值。
S107,客戶端,接收返回的個人資產變更記錄的雜湊值以及資料塊的雜湊值,並儲存。
透過本說明書實施例所提供的方案,服務端將用戶相關的資產變更記錄,以塊鏈式的帳本進行儲存,而用戶方面將會持有資產變更記錄的雜湊值,從而隨時可以基於雜湊值發起對於資產變更記錄的查詢和驗證,確保了用戶的資產變更記錄沒有被篡改以及確保記錄的完整性,提高用戶體驗。
在一種實施例中,客戶端中還可以進行金額大小的配置,以便客戶端獲取用戶的個人資產變更記錄時,可以濾除一些金額較小的記錄。
具體的配置方式可以是,客戶端中給出一個資產變更閾值的預設值,預設值一般是0,即任何個人資產變更記錄都會寫入帳本。用戶可以對資產變更閾值進行設定。例如,用戶配置資產變更閾值為1000元,則日常支付的記錄一般不會被寫入帳本中。
在一種實施例中,客戶端還可以對用戶的歷史平均資產額度進行評估,以確定前述的資產變更閾值。例如,設定資產變更閾值為平均資產額度的1%。具體的歷史平均資產額度的獲取方式可以是對用戶一段歷史時間(例如,前1年)的在客戶端中的每日資產進行評估,然後對每日的評估值進行平均得到。
在一種實施例中,產生的帳本可以是對應於多名用戶,例如,在產生初始資料塊之前,客戶端的用戶透過指定其他成員(例如,家庭成員、親友、合作夥伴等等),而其他成員進行授權,從而實現多名用戶共用一個帳本。亦即,在產生初始資料塊時所指定的用戶對於帳本均至少有存取的權限。而其中,透過客戶端發起產生帳本的用戶則具有管理員權限,管理員權限包括:刪除/隱藏帳本、配置帳本的存取權限,配置其他用戶權限等等。
進一步地,此時還可以對多名用戶賦予管理員權限,以及,將帳本所對應的用戶的資訊(例如,各用戶的客戶端帳號、各用戶的個人身份證號碼等等)寫入初始資料塊,而初始資料塊的雜湊值則基於和帳本相關的用戶的資訊計算得到,相當於在初始資料塊中給與了存證。
對於多名用戶的共同帳本,每個用戶發生資產變更時,均可以透過各自的客戶端獲取資產變更記錄,並發送至同一個帳本,從而產生的帳本是對應於多用戶共同資產的記錄,而同時服務端在寫入個人資產變更記錄時,則會將該個人資產記錄的雜湊值發送至該帳本的每個管理員用戶的客戶端。如圖2所示,圖2為本說明書實施例所提供的多名用戶使用同一個帳本的示意圖。
在將個人資產變更記錄寫入帳本之後,客戶端則隨時可以基於雜湊值對帳本進行查詢和驗證。具體的查詢方式可以透過查詢指令來實現。查詢指令中包含用戶輸入的待查詢的雜湊值即可。此處的雜湊值可以是個人資產變更記錄的雜湊值或者帳本中資料塊的雜湊值,資料庫服務端可以從資料塊進行遍歷查詢,也可以從預先建立的索引中進行查詢。
以下示例性列舉幾種本說明書實施例所提供的幾種查詢方式:
第一種,輸入個人資產變更記錄的雜湊值,返回個人資產變更記錄所處的資料塊的塊高,以及,在該資料塊中的偏移量,具體地,可以使用查詢指令SELECT(khash,&v,FULL)實現;
第二種,輸入資料塊的雜湊值,返回資料塊中的所有個人資產變更記錄的明文;或者,輸入個人資產變更記錄的雜湊值,返回個人資產變更記錄的明文,具體地,可以使用查詢指令SELECT(khash,&v)實現,當資料庫端接收到相應的查詢指令時,即基於雜湊值執行前述的查詢邏輯以返回結果。
第三種,輸入資料塊的雜湊值,根據塊雜湊返回塊高。具體地,可以使用查詢指令SELECT(khash,&v,BLK)來實現。
當然,也可能存在用戶輸入了一個雜湊值,而服務方不能查詢到相應的結果的情形。例如,用戶輸入了一個個人資產變更記錄對應的雜湊值,而資料庫中查詢不到結果,那麼此時,用戶可以合理的懷疑,該雜湊所對應的個人資產變更記錄已經發生了變動,有可能是被篡改,或者有可能發生了資料丟失。
在查詢之外,用戶還可以主動對資料庫中已經存在的多個資料塊或者個人資產變更記錄發起驗證,具體而言,可以由用戶發起驗證指令,驗證指令中透過參數指定需要對帳本中的哪些資料塊或者哪條個人資產變更記錄發起驗證,例如,可以透過雜湊值或者塊高指定一個資料塊,對該資料塊之前或者之後的多個資料塊發起是否正確的驗證;或者,透過雜湊值指定一條對應的個人資產變更記錄,驗證該個人資產變更記錄是否存在資料庫中。驗證得到的結果是一個“有”或者“無”,以及“正確”或者“不正確”這樣的中繼資料。以下示例性的給出了本說明書實施例所提供的幾種驗證方式:
第一種,輸入雜湊值,由雜湊值確定資料塊,對該資料塊執行驗證,得到驗證結果,具體地,可以由驗證指令VERIFY(‘khash’,&v)實現。
第二種,輸入雜湊值,由雜湊值確定對應的資料塊或者確定雜湊值對應的個人資產變更記錄所處的資料塊,從確定的資料塊開始往前驗證直至初始資料塊,具體地,可以透過驗證指令VERIFY(‘khash’,&v,-1)實現,一般而言,初始塊高為“0”或者“1”,因此,其中的-1也可以是其它小於初始塊高的值。
第三種,輸入雜湊值,由雜湊值確定對應的資料塊,從確定的資料塊開始往前驗證指定個數的資料塊,具體地,可以透過驗證指令VERIFY(‘khash’,&v,blknum)實現。
第四種,輸入塊高和需要驗證的數量,由塊高對應的資料塊開始往前驗證指定數量的資料塊,具體地,可以透過驗證指令VERIFY(blkh,&v,blknum)實現。
具體的驗證方式中,用對於資料塊中的個人資產變更記錄而言,用戶提供其對應的雜湊值,(一般就是寫入帳本時服務端所返回的雜湊值,也可以是用戶自己計算得到的雜湊值),然後根據該個人資產變更記錄的雜湊值重新構建該資料塊中的默克爾樹的根雜湊,如果重新構建得到默克爾樹的根雜湊與之前所保存的資料塊中的根雜湊是一致的,則說明該雜湊所對應的個人資產變更記錄存在於帳本中。
對於帳本中的資料塊的驗證方式則為基於前一個資料塊的雜湊值和自身中所包含的個人資產變更記錄,重新計算自身資料塊的雜湊值,並與之前所保存的自身資料塊的雜湊值進行對比,如果一致,則驗證通過。
在一種實施例中,驗證可以在服務端進行。同時,由於客戶端可以基於查詢指令得到帳本中的全量資訊,因此,也可以是客戶端在獲取全量帳本資訊後在本地進行驗證。
需要說明的是,多名用戶使用同一個帳本的情形中,管理員權限可以執行查詢或者驗證,而管理員用戶則可以對其他用戶的權限進行配置,例如,其他非管理員用戶也可以查詢和驗證,但是不能刪除帳本。
對應的,本說明書實施例還提供一種個人資產變更記錄的儲存系統,包括資料庫服務端和客戶端,所述資料庫服務端以中心化的方式透過塊鏈式帳本儲存個人資產變更記錄,在所述系統中,
客戶端獲取個人資產變更記錄,發送所述個人資產變更記錄至資料庫服務端;
資料庫服務端,接收待儲存的個人資產變更記錄,當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
資料庫服務端,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回雜湊值至所述客戶端;
客戶端,接收返回的個人資產變更記錄的雜湊值以及資料塊的雜湊值,並儲存。
進一步地,在所述系統中,客戶端監控用戶的帳戶餘額,當餘額發生變動時,獲取與餘額變動相關的個人資產變更記錄;或者,
客戶端獲取預先指定類型的個人資產變更記錄,所述預先指定類型的個人資產變更記錄,包括:支付記錄、轉帳/收款記錄、借貸/還款記錄、理財產品交割記錄以及對帳記錄中的至少一種。
進一步地,在所述系統中,客戶端獲取變更數值超過預設資產變更閾值的個人資產變更記錄。
進一步地,在所述系統中,客戶端接收用戶操作指令,獲取由用戶所指定的資產變更閾值;或者,獲取用戶的歷史平均資產額度,根據所述歷史平均資產額度確定預設資產變更閾值。
進一步地,在所述系統中,客戶端確定所述塊鏈式帳本的用戶和權限,其中,所述帳本的用戶中至少包括所述客戶端所對應的用戶,所述客戶端所對應的用戶具有管理員權限;相應地,客戶端獲取個人資產變更記錄,發送所述個人資產變更記錄至資料庫服務端,包括:所述塊鏈式帳本的用戶所對應的客戶端獲取個人資產變更記錄,並發送個人資產變更記錄至所述庫服務端。
進一步地,在所述系統中,所述預設的成塊條件包括:待儲存的業務日誌數量達到數量閾值;或者,距離上一次成塊時刻的時間間隔達到時間閾值。
進一步地,在所述系統中,客戶端,發送包含雜湊值的查詢請求至資料庫服務端;資料庫服務端,根據所述雜湊值查詢獲取帳本中對應的個人資產變更記錄,並返回至客戶端。
進一步地,在所述系統中,客戶端,發送包含雜湊值的驗證請求至資料庫服務端;資料庫服務端,接收驗證請求,驗證所述雜湊值所對應的個人資產變更記錄在所述塊鏈式帳本中的完整性,並返回驗證結果。
對應地,本說明書實施例還提供一種個人資產變更記錄的儲存方法,應用於資料庫服務端中,如圖3所示,圖3為本說明書實施例所提供的個人資產變更記錄的儲存方法的流程示意圖,包括:
S301,接收客戶端發送的待儲存的個人資產變更記錄;
S303,當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
S305,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回所述雜湊值至客戶端。
相應地,本說明書實施例還提供一種個人資產變更記錄的儲存裝置,應用於資料庫服務端中,如圖4所示,圖4為本說明書實施例所提供的個人資產變更記錄的儲存裝置的結構示意圖,所述裝置包括:
接收模組401,接收客戶端發送的待儲存的個人資產變更記錄;
資料塊產生模組403,當達到預設的成塊條件時,確定待寫入資料塊中的至少一條個人資產變更記錄,產生塊鏈式帳本中的第N個資料塊,所述資料塊中包含第N個資料塊的雜湊值和所述個人資產變更記錄:
當N=1時,初始資料塊的雜湊值和塊高基於預設方式給定;
當N>1時,根據待寫入資料塊中的個人資產變更記錄和第N-1個資料塊的雜湊值確定第N個資料塊的雜湊值,產生包含第N個資料塊的雜湊值和所述個人資產變更記錄的第N個資料塊,其中,資料塊的塊高基於成塊時間的先後順序單調遞增;
雜湊返回模組405,確定寫入資料塊中的個人資產變更記錄的雜湊值,返回所述雜湊值至客戶端。
本說明書實施例還提供一種電腦設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行所述程式時實現圖3所示的個人資產變更記錄的儲存方法。
圖5示出了本說明書實施例所提供的一種更為具體的計算設備硬體結構示意圖,該設備可以包括:處理器1010、記憶體1020、輸入/輸出介面1030、通訊介面1040和匯流排1050。其中,處理器1010、記憶體1020、輸入/輸出介面1030和通訊介面1040透過匯流排1050實現彼此之間在設備內部的通訊連接。
處理器1010可以採用通用的CPU(Central Processing Unit,中央處理器)、微處理器、應用專用積體電路(Application Specific Integrated Circuit,ASIC)、或者一個或多個積體電路等方式實現,用於執行相關程式,以實現本說明書實施例所提供的技術方案。
記憶體1020可以採用ROM(Read Only Memory,唯讀記憶體)、RAM(Random Access Memory,隨機存取記憶體)、靜態儲存裝置,動態儲存裝置設備等形式實現。記憶體1020可以儲存作業系統和其他應用程式,在透過軟體或者韌體來實現本說明書實施例所提供的技術方案時,相關的程式碼保存在記憶體1020中,並由處理器1010來呼叫執行。
輸入/輸出介面1030用於連接輸入/輸出模組,以實現資訊輸入及輸出。輸入輸出/模組可以作為組件配置在設備中(圖中未示出),也可以外接於設備以提供相應功能。其中,輸入裝置可以包括鍵盤、滑鼠、觸控螢幕、麥克風、各類感測器等,輸出設備可以包括顯示器、揚聲器、振動器、指示燈等。
通訊介面1040用於連接通訊模組(圖中未示出),以實現本設備與其他設備的通訊交互。其中,通訊模組可以透過有線方式(例如,USB、纜線等)實現通訊,也可以透過無線方式(例如,行動網路、WIFI、藍牙等)實現通訊。
匯流排1050包括一通路,在設備的各個組件(例如,處理器1010、記憶體1020、輸入/輸出介面1030和通訊介面1040)之間傳輸資訊。
需要說明的是,儘管上述設備僅示出了處理器1010、記憶體1020、輸入/輸出介面1030、通訊介面1040以及匯流排1050,但是在具體實施過程中,該設備還可以包括實現正常運行所必需的其他組件。此外,本領域的技術人員可以理解的是,上述設備中也可以僅包含實現本說明書實施例方案所必需的組件,而不必包含圖中所示的全部組件。
本說明書實施例還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,該程式被處理器執行時實現圖3所示的個人資產變更記錄的儲存方法。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存器、磁盒式磁帶,磁帶磁磁片儲存或其他磁性儲存裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫態性電腦可讀媒體(transitory media),如調變的資料信號和載波。
透過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本說明書實施例可借助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本說明書實施例的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存媒體中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本說明書實施例各個實施例或者實施例的某些部分所述的方法。
上述實施例闡明的系統、方法、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
本說明書中的各個實施例均採用漸進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於方法實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的方法實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是物理上分開的,在實施本說明書實施例方案時可以把各模組的功能在同一個或多個軟體和/或硬體中實現。也可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上所述僅是本說明書實施例的具體實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本說明書實施例原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本說明書實施例的保護範圍。
S101:方法步驟
S103:方法步驟
S105:方法步驟
S107:方法步驟
S301:方法步驟
S303:方法步驟
S305:方法步驟
401:接收模組
403:資料塊產生模組
405:雜湊返回模組
1010:處理器
1020:記憶體
1030:輸入/輸出介面
1040:通訊介面
1050:匯流排
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本說明書實施例中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些圖式而獲得其他的圖式。
[圖1]是本說明書實施例提供的在系統中一種個人資產變更記錄的流程示意圖;
[圖2]為本說明書實施例所提供的多名用戶使用同一個帳本的示意圖;
[圖3]為本說明書實施例所提供的在服務端中個人資產變更記錄的儲存方法的流程示意圖;
[圖4]為本說明書實施例所提供的在服務端中個人資產變更記錄的儲存裝置的結構示意圖;
[圖5]是用於配置本說明書實施例方法的一種設備的結構示意圖。