TW202009864A - 資料統計方法和裝置 - Google Patents
資料統計方法和裝置 Download PDFInfo
- Publication number
- TW202009864A TW202009864A TW108120050A TW108120050A TW202009864A TW 202009864 A TW202009864 A TW 202009864A TW 108120050 A TW108120050 A TW 108120050A TW 108120050 A TW108120050 A TW 108120050A TW 202009864 A TW202009864 A TW 202009864A
- Authority
- TW
- Taiwan
- Prior art keywords
- pseudo
- random number
- data
- sequence
- negotiation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
說明書揭露一種資料統計方法和裝置,應用於聯合N個資料持有方之間的資料進行資料統計,所述方法包括:與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值。
Description
本說明書係關於互聯網技術領域,尤其關於一種資料統計方法和裝置。
大數據時代,存在非常多的資料孤島。例如,一個自然人的資料,可以分散儲存於不同的企業中,而企業與企業之間由於競爭關係和用戶隱私保護的考慮,並不是完全的互相信任,這就為涉及企業之間資料合作的統計工作造成了障礙。如何在充分保護企業核心資料隱私的前提下,既能夠利用雙方擁有的資料完成一些資料統計計算,又不會洩露企業各自的資料隱私安全,成為一個極待解決的迫切問題。
有鑑於此,本說明書提供一種資料統計方法和裝置。
具體地,本說明書是透過如下技術方案實現的:
一種資料統計方法,應用於聯合N個資料持有方之間的資料進行資料統計,所述資料持有方持有待計算統計值的資料,所述方法應用於所述資料持有方,包括:
與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;
根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;
根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;
對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;
將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值;
其中,N是大於等於2的自然數。
一種資料統計裝置,應用於聯合N個資料持有方之間的資料進行資料統計,所述資料持有方持有待計算統計值的資料,所述裝置應用於所述資料持有方,包括:
兩兩協商單元,與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;
偽隨機數選取單元,根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;
參與值確定單元,根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;
求和計算單元,對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;
結果發送單元,將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值;
其中,N是大於等於2的自然數。
一種資料統計裝置,包括:
處理器;
用於儲存與資料統計邏輯對應的機器可執行指令的記憶體;
所述資料統計邏輯對應的機器可執行指令應用於聯合N個資料持有方之間的資料進行資料統計,所述資料持有方持有待計算統計值的資料,
透過讀取並執行所述與資料統計邏輯對應的機器可執行指令,所述處理器被促使:
與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;
根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;
根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;
對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;
將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值;
其中,N是大於等於2的自然數。
由以上描述可以看出,本說明書在進行資料統計時,各資料持有方可對持有的資料和偽隨機數的參與值進行求和,從而將自身真實的資料隱藏在求和結果中,確保資料不洩露。並且,各資料持有方將其他資料持有方看作協商對象,與協商對象兩兩協商出共同的偽隨機數序列,還可採用全域相同的偽隨機數選取策略從所述偽隨機數序列中進行偽隨機數選取,從而得到相同的偽隨機數,並根據排列順序,確定所述偽隨機數在參與運算時的參與值,從而確保第三方可透過對所有資料持有方的求和結果進行求和計算得到統計值,實現多方安全求和計算。此外,在進行資料統計時,各個資料持有方之間無需相互通信,可有效減少資料統計過程中的通信量,提高計算效率。
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本說明書相一致的所有實施方式。相反,它們僅是與如所附申請專利範圍中所詳述的、本說明書的一些態樣相一致的裝置和方法的例子。
在本說明書使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本說明書。在本說明書和所附申請專利範圍中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指並包含一個或多個相關聯的列出專案的任何或所有可能組合。
應當理解,儘管在本說明書可能採用術語第一、第二、第三等來描述各種資訊,但這些資訊不應限於這些術語。這些術語僅用來將同一類型的資訊彼此區分開。例如,在不脫離本說明書範圍的情況下,第一資訊也可以被稱為第二資訊,類似地,第二資訊也可以被稱為第一資訊。取決於語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“回應於確定”。
在大數據時代,多個資料持有方可以持有同一個統計對象的資料,在這種情況下,在對資料進行統計計算時,可能會涉及多個資料持有方,需要多個資料持有方合作完成資料統計。然而,由於不同企業之間的競爭關係或者隱私保護的考慮,在統計過程中不能洩露企業各自的資料。
例如,同一個自然人可以在不同的P2P(peer-to-peer,互聯網金融點對點借貸)平台借款,各P2P平台儲存有該自然人在本平台的借款數額。在統計該自然人總共的借款數額時,往往需要聯合多個P2P平台合作完成統計計算。
在這個例子中,P2P平台是資料持有方,該自然人的借款數額是資料持有方持有的資料,該自然人總共的借款數額是待計算的統計值。
又例如,每個共用單車平台都可以為用戶提供單車使用服務,各共用單車平台儲存有該平台每天共用單車的使用量。在統計某一天共用單車的使用總量時,往往需要聯合多個共用單車平台完成統計計算。
在這個例子中,共用單車平台是資料持有方,這一天共用單車的使用量是資料持有方持有的資料,這一天共用單車的使用總量是待計算的統計值。
圖1是本說明書一示例性實施例示出的一種資料統計方法的流程示意圖。
本實施例應用於聯合N個資料持有方之間的資料進行資料統計,N為大於等於2的自然數。
請參考圖1,所述資料統計方法可以應用於資料持有方,包括有以下步驟:
步驟102,與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列。
在本實施例中,每個資料持有方可將其他資料持有方看作協商對象,然後分別與各個協商對象進行兩兩協商,協商出共同的偽隨機數序列。
在一個例子中,資料持有方可在每次進行資料統計時與其他資料持有方協商出所述N-1個偽隨機數序列。即,每次進行資料統計時,均會更新所述偽隨機數序列,所述偽隨機數序列僅用於一次資料統計。
在另一個例子中,資料持有方也可以預先與其他資料持有方協商出所述N-1個偽隨機數序列,所述N-1個偽隨機數序列可用於多次資料統計。
步驟104,根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數。
在本實施例中,所述選取策略可用於從一個偽隨機數序列中選取偽隨機數,最終得到一個與該偽隨機數序列對應的偽隨機數,該偽隨機數也與協商對象對應。
在一個例子中,所述選取策略可以是一個順序號。所述順序號可用於表示選取偽隨機數序列中的該順序號對應的偽隨機數。假設順序號是5,則表示選取偽隨機數序列中第5位偽隨機數。
所述順序號也可用於表示從偽隨機數序列中的該順序號對應的偽隨機數開始進行選取。仍假設順序號是5,則可表示從偽隨機數序列中第5位偽隨機數開始,逐個選取K個偽隨機數;也可表示從偽隨機數序列中第5+H位偽隨機數開始,逐個選取K個偽隨機數;還可表示從偽隨機數序列中第5位偽隨機數開始,按照J的間隔選取K個偽隨機數等,本說明書對此不作特殊限制。在選取得到K個偽隨機數後,可將這K個偽隨機數進行組合,得到一個組合後的偽隨機數。其中,K是大於等於2的自然數,J和H是大於等於1的自然數。
當然,所述選取策略也可以包括若干個順序號,可用於表示選取偽隨機數序列中這些順序號對應的偽隨機數,然後對選取的偽隨機數進行組合,得到一個組合後的偽隨機數。
在另一個例子中,所述選取策略可以包括順序號和排序規則。其中,所述排序規則可包括:從大到小進行排列、從小到大進行排列等。在本例中,可根據所述順序號從排序後的偽隨機數序列中選取偽隨機數,具體的選取方法可參考前述描述,本實施例在此不再一一贅述。
上述選取策略僅為示例性的說明,在實際應用中,還可以採用其他的選取策略,本說明書對此不作特殊限制。
步驟106,根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數。
在本實施例中,所述排列順序可由資料持有方的ID號確定,例如,按照ID號從小到大,或從大到小的順序對所有資料持有方進行排序。
當然,還可以基於其他資訊對資料持有方進行排序,例如,基於IP地址的演算法等,本說明書對此不作特殊限制。
在本實施例中,各資料持有方可根據排序結果確定每個協商對象對應的偽隨機數在參與運算時的參與值。
在一個例子中,當所述協商對象排列在本資料持有方之後時,可將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數;當所述協商對象排列在本資料持有方之前時,可將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數的相反數。
在另一個例子中,當所述協商對象排列在本資料持有方之後時,可將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數的相反數;當所述協商對象排列在本資料持有方之前時,可將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數,本說明書對此不作特殊限制。
步驟108,對持有的資料和所述N-1個偽隨機數的參與值進行求和計算。
在本實施例中,各個資料持有方可對其持有的資料和前述步驟106得到的N-1個偽隨機數的參與值進行求和計算,以將其真實資料隱藏在求和結果中。
步驟110,將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值。
在本實施例中,各個資料持有方在計算得到求和結果後,可將求和結果發送給第三方,第三方對各個資料持有方的求和結果進行求和計算,以得到統計值。
由以上描述可以看出,本說明書每個資料持有方可與其他資料持有方兩兩協商出共同的偽隨機數序列,以使得每個資料持有方持有N-1個偽隨機數序列,還可根據全域相同的偽隨機數選取策略分別從每個偽隨機數序列中選取偽隨機數,以得到N-1個與協商對象一一對應的偽隨機數,然後確定各個偽隨機數在參與運算時的參與值,並結合本端持有的資料進行求和計算,以將本端真實資料隱藏在求和結果中,確保資料不洩露。各資料持有方可將求和結果發送給第三方,由第三方進行求和計算,得到統計值,從而實現多方安全計算。並且,在資料統計時,各個資料持有方之間無需進行通信,可大大減少資料統計時的通信量,提高計算效率。
下面分別透過實施例一和實施例二兩個實施例來描述本說明書的具體實現過程。
實施例一
在本實施例中,在生成偽隨機數序列之前,每個資料持有方可以將其他資料持有方看作協商對象,然後分別與各個協商對象進行兩兩協商,以協商出共同的種子。
舉例來說,假設有4個資料持有方,分別為資料持有方1至資料持有方4。以資料持有方1為例,資料持有方1可將資料持有方2至資料持有方4看作協商對象,然後分別與這3個協商對象進行協商,以確定用於生成偽隨機序列的種子。
表1
請參考表1的示例,資料持有方1與資料持有方2協商,可確定共同的種子。資料持有方1與資料持有方3協商,可確定共同的種子。資料持有方1與資料持有方4協商,可確定共同的種子。對於資料持有方1而言,與資料持有方2對應,與資料持有方3對應,與資料持有方4對應。
表2
在表1的基礎上,請參考表2的示例,對於資料持有方2而言,其與資料持有方1協商確定的共同種子是,與資料持有方3協商,可確定共同的種子,與資料持有方4協商,可確定共同的種子。其中,與資料持有方1對應,與資料持有方3對應,與資料持有方4對應。
表3
依次類推,資料持有方1至資料持有方4可生成表3所示的種子示例。由此,每個資料持有方生成的種子分別與其他3個資料持有方一一對應。
在本實施例中,各資料持有方可預先生成與協商對象一一對應的N-1個偽隨機數序列,所述N-1個偽隨機數序列可用於多次資料統計。
在一個例子中,各資料持有方可將種子作為唯一輸入參數輸入偽隨機數發生器以生成偽隨機數序列,相同種子生成的偽隨機數序列也相同。
表4
仍以表3所示的種子示例為例,請參考表4的示例,資料持有方1可生成3個偽隨機數序列,分別為、和。其中,與資料持有方2對應,與資料持有方3對應,與資料持有方4對應等。
至此,資料持有方1至資料持有方4均生成3個偽隨機數序列,並且,每兩個資料持有方之間均具有1個共同的偽隨機數序列,例如,資料持有方1和資料持有方2具有共同的偽隨機數序列,資料持有方1和資料持有方3具有共同的偽隨機數序列等。
在N個資料持有方的應用場景中,每個資料持有方持有N-1個偽隨機數序列,這N-1個偽隨機數序列分別與其他N-1個資料持有方一一對應,且任意兩個資料持有方會具有一個共同的偽隨機數序列。
在本實施例中,偽隨機數序列的元素數量可由偽隨機數發生器的演算法確定,例如,AES128(Advanced
Encryption Standard,高級加密標準)演算法生成的偽隨機數序列有128個元素,AES256演算法生成的偽隨機數序列有256個元素,HMAC256(Hash-based Message
Authentication Code,雜湊訊息認證碼)演算法生成的偽隨機數序列也有256個元素等。
在另一個例子中,在生成偽隨機數序列時,除種子之外,還可以存在其他輸入參數,例如計數值等。
以計數值為例,各資料持有方在協商種子時,還可與協商對象協商出共同的計數值,然後將種子和計數值輸入偽隨機數發生器,以生成偽隨機數序列。基於相同的種子和相同的計數值,也可以生成相同的偽隨機數序列。
在生成偽隨機數序列之後,資料持有方可根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數。
在本實施例中,所述選取策略可由第三方在每次進行資料統計時指定。
所述第三方獨立於各個資料持有方,可為各個資料持有方指定計數值,還可以聯合所有資料持有方的求和結果計算統計值。
在實際實現中,所述第三方提供的上述功能可由一個平台來實現,也可由不同的平台來實現,例如:由指定平台為各個資料持有方指定計數值,由計算平台以聯合所有資料持有方的求和結果計算統計值等,本說明書對此不作特殊限制。
在一個例子中,仍以前述資料持有方1至資料持有方4為例,假設所述偽隨機數選取策略是順序號5,表示選取偽隨機數序列中第5位偽隨機數,則各個資料持有方分別從自身生成的3個偽隨機數序列中選取第5位偽隨機數作為與協商對象對應的偽隨機數。
表5
基於表4的示例,資料持有方1從偽隨機數序列中選取第5位偽隨機數,假設該第5位偽隨機數是,從偽隨機數序列中選取第5位偽隨機數,假設該第5位偽隨機數是,依次類推,可得到表5所示的偽隨機數示例,資料持有方1至資料持有方4均選出3個與協商對象一一對應的偽隨機數。
在本實施例中,由於每兩個資料持有方之間均具有1個共同的偽隨機數序列,並且,針對每個偽隨機數序列,各個資料持有方採用全域相同的選取策略進行偽隨機數選取,所以在選取得到偽隨機數後,每兩個資料持有方之間均具有1個共同的偽隨機數。例如,資料持有方1和資料持有方2之間選取得到共同的偽隨機數,資料持有方1和資料持有方3之間選取得到共同的偽隨機數等。
由此,各資料持有方與其協商對象在生成共同的偽隨機數序列後,還會從所述偽隨機數序列中選取得到共同的偽隨機數。
在另一個例子中,假設所述選取策略是順序號5,表示從偽隨機數序列中第5位偽隨機數開始,逐個選取K個偽隨機數,K是全域唯一,由資料持有方預先約定,其取值是3。各資料持有方可分別從其持有的偽隨機數序列中選取第5位、第6位和第7位偽隨機數,然後對選取得到的3個偽隨機數進行組合,並將組合結果作為與所述偽隨機數序列對應的偽隨機數。
以資料持有方1為例,假設從偽隨機數序列中選取的第5位偽隨機數是123,第6位偽隨機數是456,第7位偽隨機數是789,則可以將123、456和789進行組合。
例如,可將這3個偽隨機數按照順序號從小到大的順序拼接在一起,得到組合結果123456789,即是
123456789。
再例如,還可將3個偽隨機數按照順序號從大到小的順序拼接在一起,得到組合結果789456123,即是789456123。
當然還可以採用其他的組合方案,或者對選取的3個偽隨機數進行設定的運算等,本說明書對此不作特殊限制。
在本實施例中,在選取得到與協商對象一一對應的N-1個偽隨機數後,可確定每個偽隨機數在參與運算時的參與值。
仍以表5所示的4個資料持有方為例,按照ID號從小到大進行排序,排序結果為:資料持有方1、資料持有方2、資料持有方3、資料持有方4。
假設,當所述協商對象排列在本資料持有方之後時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數;當所述協商對象排列在本資料持有方之前時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數的相反數。
表6
請繼續參考表5,對於資料持有方2而言,其協商對象資料持有方1排列在前,因而可將資料持有方1對應的偽隨機數的參與值確定為其相反數-,協商對象資料持有方3排列在後,因而可將資料持有方3對應的偽隨機數的參與值確定為,依次類推,可得到表6所示的參與值示例。
在本實施例中,各資料持有方在確定N-1個協商對象對應的N-1個偽隨機數的參與值後,可對持有的資料和所述N-1個偽隨機數的參與值進行求和計算,以將其真實資料隱藏在求和結果中。
表7
請繼續參考表6,假設資料持有方1持有的資料是,資料持有方2持有的資料是,依次類推,在進行求和後,可得到表7所示的求和結果。
在本實施例中,各個資料持有方在計算得到求和結果後,可將求和結果發送給第三方,第三方對各個資料持有方的求和結果進行求和計算,以得到統計值。
請繼續參考表7,第三方對資料持有方1至資料持有方4的求和結果進行求和計算,得到統計值。
在本實施例中,第三方對各個資料持有方的求和結果進行求和計算即可得到統計值,無需其他運算,簡單快捷。
可選的,在另一個例子中,各個資料持有方在計算得到求和結果後,也可以廣播求和結果,然後對所有參與統計的資料持有方的求和結果進行求和計算,得到統計值。
可選的,為確保資料持有方求和結果的隨機性,第三方可在每次進行資料統計時,指定不同的全域選取策略。仍以選取策略是順序號為例,第三方可為每次資料統計指定不同的順序號,例如:第一次指定順序號是1,第二次指定順序號是2,依次類推,直到順序號取值為偽隨機數序列中偽隨機數的數量。當順序號取值為偽隨機數序列中偽隨機數的數量時,各個資料持有方可重新進行兩兩協商,以生成新的共同偽隨機數序列,第三方可重新將順序號指定為1、2、…,依次類推。
採用這樣的實現方式,可在資料持有方側對所述選取策略進行校驗。例如,各個資料持有方可對所述選取策略進行記錄,當再次接收到第三方指定的選取策略時,判斷該接收到的選取策略是否與記錄的選取策略衝突,所述衝突通常表示接收到的選取策略已被使用過。
若衝突,可向第三方返回錯誤提示。
若不衝突,則執行根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數的步驟,並更新記錄的選取策略。
仍以第三方從1開始順序指定順序號為例,資料持有方可以記錄第三方發送的順序號,當再次接收到第三方發送的順序號時,可判斷接收到的順序號是否大於記錄的順序號。
若大於,則可說明該順序號對應的偽隨機數尚未被使用過,可以根據接收到的順序號從每個偽隨機數序列中選取偽隨機數,並可在選取結束後對記錄的順序號進行更新。
若小於等於,則可說明該順序號對應的偽隨機數已經被使用過,可以向第三方返回錯誤提示。
類似的,當順序號表示從偽隨機數序列中的該順序號對應的偽隨機數開始逐個選取K個偽隨機數再進行組合時,資料持有方可記錄選出的偽隨機數的最大順序號,即順序號+K-1。當再次接收到第三方發送的順序號時,判斷接收到的順序號是否大於記錄的所述最大順序號。
在本實施例中,可基於選取策略制定不同的策略記錄、衝突判斷方案,本說明書在此不再一一贅述。
本實施例在每次進行資料統計時,可從偽隨機數序列中選取得到不同的偽隨機數參與求和計算,使得求和結果具有隨機性,可有效防止不法人員從多次求和結果中分析出資料持有方持有的真實資料,從而確保資料安全、不洩露。
值得注意的是,採用第三方下發選取策略的實現方案,當有資料持有方斷線時,並不影響線上資料持有方的資料統計,線上的資料持有方仍可基於第三方發送的選取策略進行偽隨機數選取、求和計算等步驟,以得到所有線上資料持有方持有資料的統計值。
實施例二
在本實施例中,在生成偽隨機數序列之前,每個資料持有方也可以將其他資料持有方看作協商對象,然後分別與各個協商對象進行兩兩協商,以協商出共同的種子。
種子協商的過程可以參考前述實施例一,在此不再一一贅述。
在本實施例中,第三方可在每次進行資料統計時,為資料持有方指定全域相同的計數值,各個資料持有方在接收到所述計數值後,可將種子和計數值作為輸入參數輸入偽隨機數產生器,以生成偽隨機數序列。
為避免資料持有方在多次資料統計時生成相同的偽隨機數序列,第三方可在每次進行資料統計時,指定不同的計數值。
例如,第三方可從1開始順序指定計數值,即第一次指定計數值是1,第二次指定計數值是2等,依次類推。
在本實施例中,可在資料持有方側對計數值進行校驗。例如,各個資料持有方可記錄所述計數值,當再次接收到第三方指定的計數值時,判斷該接收到的計數值是否大於記錄的計數值。
若大於,則可說明該計數值尚未被使用過,可執行偽隨機數序列的生成步驟,並可在生成偽隨機數序列後對記錄的計數值進行更新。
若小於等於,則可說明該計數值已經被使用過,可以向第三方返回錯誤提示。
當然,在實際實現中,計數值也不會一直取到無限大,可以設定一個迴圈週期,例如三個月、半年等。在到達該週期時,各個資料持有方可重新進行種子協商,第三方也可重新將計數值的取值設置為1。
採用第三方指定計數值的實現方案,可有效減少資料持有方之間頻繁進行種子協商,減少網路通信量。
在本實施例中,每個資料持有方也可生成N-1個偽隨機數序列,這N-1個偽隨機數序列分別與其他N-1個資料持有方一一對應,且任意兩個資料持有方會具有一個共同的偽隨機數序列。
每次生成的偽隨機數序列可僅用於一次資料統計。
在本實施例中,全域相同的選取策略也可由第三方指定,其具體實現方案可參考前述實施例一。
若所述選取策略是順序號,較為簡單的,當計數值未超出偽隨機數序列元素的數量時,也可將第三方指定的計數值作為選取策略的順序號,本說明書對此不作特殊限制。
可選的,在本實施例中,由於在每次進行資料統計時,各個資料持有方均會重新生成偽隨機數序列,所以也可以採用全域相同的固定選取策略。例如,每次進行偽隨機數選取時,均從偽隨機數序列中選取第10位至20位偽隨機數,然後對這些偽隨機數進行組合,並將組合結果作為與協商對象對應的偽隨機數。
在本實施例中,在選取得到與協商對象一一對應的偽隨機數後,可根據資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,然後對持有的資料和所述N-1個偽隨機數的參與值進行求和計算,並將所述求和結果發送給所述第三方,由第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值,這部分的處理與實現可以參照前述實施例一,本實施例在此不再一一贅述。
與前述資料統計方法的實施例相對應,本說明書還提供了資料統計裝置的實施例。
本說明書資料統計裝置的實施例可以應用在資料持有方部署的伺服器或者伺服器集群上。裝置實施例可以透過軟體實現,也可以透過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為一個邏輯意義上的裝置,是透過其所在伺服器的處理器將非易失性記憶體中對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,如圖2所示,為本說明書資料統計裝置所在伺服器的一種硬體結構圖,除了圖2所示的處理器、記憶體、網路介面、以及非易失性記憶體之外,實施例中裝置所在的伺服器通常根據該伺服器的實際功能,還可以包括其他硬體,對此不再贅述。
圖3是本說明書一示例性實施例示出的一種資料統計裝置的框圖。
請參考圖3,所述資料統計裝置200可以應用於聯合N個資料持有方之間的資料進行資料統計,所述資料持有方持有待計算統計值的資料,所述資料統計裝置200包括有:兩兩協商單元201、偽隨機數選取單元202、參與值確定單元203、求和計算單元204、結果發送單元205、衝突判斷單元206和計數值判斷單元207。
其中,兩兩協商單元201,與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;
偽隨機數選取單元202,根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;
參與值確定單元203,根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;
求和計算單元204,對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;
結果發送單元205,將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值;
其中,N是大於等於2的自然數。
可選的,所述兩兩協商單元201:
與其他資料持有方兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子;
根據所述N-1個種子生成N-1個偽隨機數序列。
可選的,所述選取策略由所述第三方在每次進行資料統計時指定。
衝突判斷單元206,記錄所述選取策略,當再次接收到第三方指定的選取策略時,判斷該接收到的選取策略是否與記錄的選取策略衝突;若不衝突,則執行根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數的步驟,並更新記錄的選取策略。
可選的,所述兩兩協商單元201:
與其他資料持有方預先兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子;
接收所述第三方在每次進行資料統計時指定的全域相同的計數值;
根據所述N-1個種子和所述計數值生成N-1個偽隨機數序列。
計數值判斷單元207,記錄所述計數值;當再次接收到第三方指定的計數值時,判斷該計數值是否大於記錄的計數值;若大於,則執行根據所述N-1個種子和所述計數值生成N-1個偽隨機數序列的步驟,並更新記錄的計數值。
可選的,所述選取策略是固定的。
可選的,所述選取策略是順序號。
可選的,所述偽隨機數選取單元202,從每個偽隨機數序列中選取全域相同的順序號對應的偽隨機數。
可選的,所述偽隨機數選取單元202,針對每個偽隨機數序列,從所述偽隨機數序列中全域相同的順序號對應的偽隨機數開始,選取若干個偽隨機數;組合選取的若干個偽隨機數,並將組合結果作為從所述偽隨機數序列中選取的偽隨機數。
可選的,所述偽隨機數選取單元202,逐個選取固定數量的偽隨機數,所述固定數量大於1。
可選的,所述參與值確定單元203:
當所述協商對象排列在本資料持有方之後時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數;
當所述協商對象排列在本資料持有方之前時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數的相反數。
上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分佈到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、膝上型電腦、行動電話、相機電話、智慧型電話、個人數位助理、媒體播放機、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
與前述資料統計方法的實施例相對應,本說明書還提供一種資料統計裝置,該資料統計裝置包括:處理器以及用於儲存與資料統計邏輯對應的機器可執行指令的記憶體。其中,所述資料統計邏輯對應的機器可執行指令應用於聯合N個資料持有方之間的資料進行資料統計,所述資料持有方持有待計算統計值的資料。所述處理器和所述記憶體通常藉由內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。
在本實施例中,透過讀取並執行所述記憶體儲存的與資料統計邏輯對應的機器可執行指令,所述處理器被促使:
與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;
根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;
根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;
對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;
將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值;
其中,N是大於等於2的自然數。
可選的,在與其他資料持有方兩兩協商出共同的偽隨機數序列時,所述處理器被促使:
與其他資料持有方兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子;
根據所述N-1個種子生成N-1個偽隨機數序列。
可選的,所述選取策略由所述第三方在每次進行資料統計時指定。
可選的,所述處理器還被促使:
記錄所述選取策略;
當再次接收到第三方指定的選取策略時,判斷該接收到的選取策略是否與記錄的選取策略衝突;
若不衝突,則執行根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數的步驟,並更新記錄的選取策略。
可選的,在與其他資料持有方兩兩協商出共同的偽隨機數序列時,所述處理器被促使:
與其他資料持有方預先兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子;
接收所述第三方在每次進行資料統計時指定的全域相同的計數值;
根據所述N-1個種子和所述計數值生成N-1個偽隨機數序列。
可選的,所述處理器還被促使:
記錄所述計數值;
當再次接收到第三方指定的計數值時,判斷該計數值是否大於記錄的計數值;
若大於,則執行根據所述N-1個種子和所述計數值生成N-1個偽隨機數序列的步驟,並更新記錄的計數值。
可選的,所述選取策略是固定的。
可選的,所述選取策略是順序號。
可選的,在根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數時,所述處理器還被促使:
從每個偽隨機數序列中選取全域相同的順序號對應的偽隨機數。
可選的,在根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數時,所述處理器還被促使:
針對每個偽隨機數序列,從所述偽隨機數序列中全域相同的順序號對應的偽隨機數開始,選取若干個偽隨機數;
組合選取的若干個偽隨機數,並將組合結果作為從所述偽隨機數序列中選取的偽隨機數。
可選的,在選取若干個偽隨機數時,所述處理器被促使:
逐個選取固定數量的偽隨機數,所述固定數量大於1。
可選的,在根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值時,所述處理器被促使:
當所述協商對象排列在本資料持有方之後時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數;
當所述協商對象排列在本資料持有方之前時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數的相反數。
與前述資料統計方法的實施例相對應,本說明書還提供一種電腦可讀儲存媒體,所述電腦可讀儲存媒體上儲存有電腦程式,該程式應用於聯合N個資料持有方之間的資料進行資料統計,所述資料持有方持有待計算統計值的資料,該程式被處理器執行時實現以下步驟:
與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列;
根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數;
根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,所述參與值是所述偽隨機數或所述偽隨機數的相反數;
對持有的資料和所述N-1個偽隨機數的參與值進行求和計算;
將所述求和結果發送給所述第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到所述統計值;
其中,N是大於等於2的自然數。
可選的,所述與其他資料持有方兩兩協商出共同的偽隨機數序列,包括:
與其他資料持有方兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子;
根據所述N-1個種子生成N-1個偽隨機數序列。
可選的,所述選取策略由所述第三方在每次進行資料統計時指定。
可選的,還包括:
記錄所述選取策略;
當再次接收到第三方指定的選取策略時,判斷該接收到的選取策略是否與記錄的選取策略衝突;
若不衝突,則執行根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數的步驟,並更新記錄的選取策略。
可選的,所述與其他資料持有方兩兩協商出共同的偽隨機數序列,包括:
與其他資料持有方預先兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子;
接收所述第三方在每次進行資料統計時指定的全域相同的計數值;
根據所述N-1個種子和所述計數值生成N-1個偽隨機數序列。
可選的,還包括:
記錄所述計數值;
當再次接收到第三方指定的計數值時,判斷該計數值是否大於記錄的計數值;
若大於,則執行根據所述N-1個種子和所述計數值生成N-1個偽隨機數序列的步驟,並更新記錄的計數值。
可選的,所述選取策略是固定的。
可選的,所述選取策略是順序號。
可選的,所述根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,包括:
從每個偽隨機數序列中選取全域相同的順序號對應的偽隨機數。
可選的,所述根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,包括:
針對每個偽隨機數序列,從所述偽隨機數序列中全域相同的順序號對應的偽隨機數開始,選取若干個偽隨機數;
組合選取的若干個偽隨機數,並將組合結果作為從所述偽隨機數序列中選取的偽隨機數。
可選的,所述選取若干個偽隨機數,包括:
逐個選取固定數量的偽隨機數,所述固定數量大於1。
可選的,所述根據所述N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,包括:
當所述協商對象排列在本資料持有方之後時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數;
當所述協商對象排列在本資料持有方之前時,將所述協商對象對應的偽隨機數在參與運算時的參與值確定為所述偽隨機數的相反數。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
S102‧‧‧方法步驟
S104‧‧‧方法步驟
S106‧‧‧方法步驟
S108‧‧‧方法步驟
S110‧‧‧方法步驟
200‧‧‧資料統計裝置
201‧‧‧兩兩協商單元
202‧‧‧偽隨機數選取單元
203‧‧‧參與值確定單元
204‧‧‧求和計算單元
205‧‧‧結果發送單元
206‧‧‧衝突判斷單元
207‧‧‧計數值判斷單元
圖1是本說明書一示例性實施例示出的一種資料統計方法的流程示意圖。
圖2是本說明書一示例性實施例示出的一種用於資料統計裝置的一結構示意圖。
圖3是本說明書一示例性實施例示出的一種資料統計裝置的框圖。
Claims (25)
- 一種資料統計方法,應用於聯合N個資料持有方之間的資料進行資料統計,該資料持有方持有待計算統計值的資料,該方法應用於該資料持有方,包括: 與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列; 根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數; 根據該N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,該參與值是該偽隨機數或該偽隨機數的相反數; 對持有的資料和該N-1個偽隨機數的參與值進行求和計算; 將該求和結果發送給該第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到該統計值; 其中,N是大於等於2的自然數。
- 根據請求項1所述的方法,所述與其他資料持有方兩兩協商出共同的偽隨機數序列,包括: 與其他資料持有方兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子; 根據該N-1個種子生成N-1個偽隨機數序列。
- 根據請求項2所述的方法, 該選取策略由該第三方在每次進行資料統計時指定。
- 根據請求項3所述的方法,還包括: 記錄該選取策略; 當再次接收到第三方指定的選取策略時,判斷該接收到的選取策略是否與記錄的選取策略衝突; 若不衝突,則執行根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數的步驟,並更新記錄的選取策略。
- 根據請求項1所述的方法,所述與其他資料持有方兩兩協商出共同的偽隨機數序列,包括: 與其他資料持有方預先兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子; 接收該第三方在每次進行資料統計時指定的全域相同的計數值; 根據該N-1個種子和該計數值生成N-1個偽隨機數序列。
- 根據請求項5所述的方法,還包括: 記錄該計數值; 當再次接收到第三方指定的計數值時,判斷該計數值是否大於記錄的計數值; 若大於,則執行根據該N-1個種子和該計數值生成N-1個偽隨機數序列的步驟,並更新記錄的計數值。
- 根據請求項5所述的方法, 該選取策略是固定的。
- 根據請求項1所述的方法, 該選取策略是順序號。
- 根據請求項8所述的方法,所述根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,包括: 從每個偽隨機數序列中選取全域相同的順序號對應的偽隨機數。
- 根據請求項8所述的方法,所述根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,包括: 針對每個偽隨機數序列,從該偽隨機數序列中全域相同的順序號對應的偽隨機數開始,選取若干個偽隨機數; 組合選取的若干個偽隨機數,並將組合結果作為從該偽隨機數序列中選取的偽隨機數。
- 根據請求項10所述的方法,所述選取若干個偽隨機數,包括: 逐個選取固定數量的偽隨機數,該固定數量大於1。
- 根據請求項1所述的方法,所述根據該N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,包括: 當該協商對象排列在本資料持有方之後時,將該協商對象對應的偽隨機數在參與運算時的參與值確定為該偽隨機數; 當該協商對象排列在本資料持有方之前時,將該協商對象對應的偽隨機數在參與運算時的參與值確定為該偽隨機數的相反數。
- 一種資料統計裝置,應用於聯合N個資料持有方之間的資料進行資料統計,該資料持有方持有待計算統計值的資料,該裝置應用於該資料持有方,包括: 兩兩協商單元,與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列; 偽隨機數選取單元,根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數; 參與值確定單元,根據該N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,該參與值是該偽隨機數或該偽隨機數的相反數; 求和計算單元,對持有的資料和該N-1個偽隨機數的參與值進行求和計算; 結果發送單元,將該求和結果發送給該第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到該統計值; 其中,N是大於等於2的自然數。
- 根據請求項13所述的裝置,該兩兩協商單元: 與其他資料持有方兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子; 根據該N-1個種子生成N-1個偽隨機數序列。
- 根據請求項14所述的裝置, 該選取策略由該第三方在每次進行資料統計時指定。
- 根據請求項15所述的裝置,還包括: 衝突判斷單元,記錄該選取策略,當再次接收到第三方指定的選取策略時,判斷該接收到的選取策略是否與記錄的選取策略衝突;若不衝突,則執行根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數的步驟,並更新記錄的選取策略。
- 根據請求項13所述的裝置,該兩兩協商單元: 與其他資料持有方預先兩兩協商出共同的種子,得到與協商對象一一對應的N-1個種子; 接收該第三方在每次進行資料統計時指定的全域相同的計數值; 根據該N-1個種子和該計數值生成N-1個偽隨機數序列。
- 根據請求項17所述的裝置,還包括: 計數值判斷單元,記錄該計數值;當再次接收到第三方指定的計數值時,判斷該計數值是否大於記錄的計數值;若大於,則執行根據該N-1個種子和該計數值生成N-1個偽隨機數序列的步驟,並更新記錄的計數值。
- 根據請求項17所述的裝置, 該選取策略是固定的。
- 根據請求項13所述的裝置, 該選取策略是順序號。
- 根據請求項20所述的裝置, 該偽隨機數選取單元,從每個偽隨機數序列中選取全域相同的順序號對應的偽隨機數。
- 根據請求項20所述的裝置, 該偽隨機數選取單元,針對每個偽隨機數序列,從該偽隨機數序列中全域相同的順序號對應的偽隨機數開始,選取若干個偽隨機數;組合選取的若干個偽隨機數,並將組合結果作為從該偽隨機數序列中選取的偽隨機數。
- 根據請求項22所述的裝置, 該偽隨機數選取單元,逐個選取固定數量的偽隨機數,該固定數量大於1。
- 根據請求項13所述的裝置,該參與值確定單元: 當該協商對象排列在本資料持有方之後時,將該協商對象對應的偽隨機數在參與運算時的參與值確定為該偽隨機數; 當該協商對象排列在本資料持有方之前時,將該協商對象對應的偽隨機數在參與運算時的參與值確定為該偽隨機數的相反數。
- 一種資料統計裝置,包括: 處理器; 用於儲存與資料統計邏輯對應的機器可執行指令的記憶體; 該資料統計邏輯對應的機器可執行指令應用於聯合N個資料持有方之間的資料進行資料統計,該資料持有方持有待計算統計值的資料, 透過讀取並執行該與資料統計邏輯對應的機器可執行指令,該處理器被促使: 與其他資料持有方兩兩協商出共同的偽隨機數序列,得到與協商對象一一對應的N-1個偽隨機數序列; 根據全域相同的選取策略分別從每個偽隨機數序列中選取偽隨機數,得到與協商對象一一對應的N-1個偽隨機數; 根據該N個資料持有方之間的排列順序,確定每個協商對象對應的偽隨機數在參與運算時的參與值,該參與值是該偽隨機數或該偽隨機數的相反數; 對持有的資料和該N-1個偽隨機數的參與值進行求和計算; 將該求和結果發送給該第三方,以供第三方對所有資料持有方的求和結果進行求和計算,得到該統計值; 其中,N是大於等於2的自然數。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810924945.0 | 2018-08-14 | ||
CN201810924945.0A CN110825922B (zh) | 2018-08-14 | 2018-08-14 | 数据统计方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202009864A true TW202009864A (zh) | 2020-03-01 |
TWI706370B TWI706370B (zh) | 2020-10-01 |
Family
ID=69525091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108120050A TWI706370B (zh) | 2018-08-14 | 2019-06-11 | 資料統計方法和裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN110825922B (zh) |
TW (1) | TWI706370B (zh) |
WO (1) | WO2020034749A1 (zh) |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2292074C2 (ru) * | 2004-09-27 | 2007-01-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство формирования стартового значения для генератора псевдослучайных чисел |
JP2007288480A (ja) * | 2006-04-17 | 2007-11-01 | Mitsubishi Electric Corp | 統計処理方法、データ提供装置、及び統計処理システム |
US7860244B2 (en) * | 2006-12-18 | 2010-12-28 | Sap Ag | Secure computation of private values |
CN102521910B (zh) * | 2011-12-16 | 2014-09-10 | 河海大学 | 一种隐藏得票数的电子投票方法 |
US10146958B2 (en) * | 2013-03-14 | 2018-12-04 | Mitsubishi Electric Research Laboratories, Inc. | Privacy preserving statistical analysis on distributed databases |
KR101813481B1 (ko) * | 2013-12-23 | 2017-12-29 | 인텔 코포레이션 | 사용자 정보를 익명 처리하는 장치, 저장 매체 및 방법 |
CN104580174B (zh) * | 2014-12-26 | 2018-03-20 | 中国科学院信息工程研究所 | 一种防止恶意服务器攻击的敏感数据计算外包服务方法 |
SG10201502401XA (en) * | 2015-03-26 | 2016-10-28 | Huawei Internat Pte Ltd | Method of obfuscating data |
CN105376240B (zh) * | 2015-11-26 | 2018-07-06 | 合肥高维数据技术有限公司 | 一种不需可信第三方的匿名提交系统 |
CN105450394B (zh) * | 2015-12-30 | 2018-12-28 | 中国农业大学 | 一种基于门限秘密共享的份额更新方法及装置 |
WO2018009612A1 (en) * | 2016-07-06 | 2018-01-11 | Patient Doctor Technologies, Inc. | Secure and zero knowledge data sharing for cloud applications |
GB201611948D0 (en) * | 2016-07-08 | 2016-08-24 | Kalypton Int Ltd | Distributed transcation processing and authentication system |
CN106255038B (zh) * | 2016-08-04 | 2019-10-08 | 南京邮电大学 | 一种无线传感器网络安全数据融合方法 |
KR102649209B1 (ko) * | 2016-09-15 | 2024-03-20 | 너츠 홀딩스 엘엘씨 | 암호화된 사용자 데이터 송신 및 저장 |
CN107017985A (zh) * | 2017-05-10 | 2017-08-04 | 河南工业大学 | 一种车载自组织网络轨迹隐私保护方法及系统 |
CN106972930B (zh) * | 2017-05-24 | 2019-11-08 | 武汉理工大学 | 无条件安全的可验证随机数生成方法 |
-
2018
- 2018-08-14 CN CN201810924945.0A patent/CN110825922B/zh active Active
-
2019
- 2019-06-11 TW TW108120050A patent/TWI706370B/zh active
- 2019-06-21 WO PCT/CN2019/092186 patent/WO2020034749A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2020034749A1 (zh) | 2020-02-20 |
TWI706370B (zh) | 2020-10-01 |
CN110825922A (zh) | 2020-02-21 |
CN110825922B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Resource allocation and trust computing for blockchain-enabled edge computing system | |
US11394773B2 (en) | Cryptographic currency block chain based voting system | |
TWI735820B (zh) | 資產管理方法及裝置、電子設備 | |
TW201923618A (zh) | 資料統計方法和裝置 | |
TWI686712B (zh) | 基於混淆電路的數據統計方法、裝置以及設備 | |
TW201822033A (zh) | 資源處理方法及裝置 | |
WO2021000575A1 (zh) | 数据交互方法、装置和电子设备 | |
TWI737164B (zh) | 資料互動方法、裝置、伺服器和電子設備 | |
CN110009349A (zh) | 区块链中生成和验证可链接环签名的方法及装置 | |
CN110472974A (zh) | 基于区块链智能合约的资产转移方法、装置及系统 | |
CN106537386A (zh) | 识别用于数据写操作的文件 | |
Liu et al. | Recent advances on federated learning: A systematic survey | |
CN112468521B (zh) | 基于隐私保护的数据处理方法、装置和服务器 | |
TW202009864A (zh) | 資料統計方法和裝置 | |
CN110851487B (zh) | 数据统计方法和装置 | |
WO2021159685A1 (zh) | 一种任务处理方法、系统、设备及介质 | |
US20200358607A1 (en) | Data exchange for multi-party computation | |
US20180067936A1 (en) | Multi-user probabalistic array | |
TWI689828B (zh) | 資料統計方法和裝置 | |
CN111628862A (zh) | 一种多方参与的随机数生成方法及装置 | |
Zhang et al. | Access Control Model Based on the Privacy of Crowdsourcing Task Content Protection in the Blockchain Environment | |
CN113486385B (zh) | 基于区块链的珠宝共享方法、装置、设备和存储介质 | |
WO2020038098A1 (zh) | 数据查询方法和装置 | |
US11921787B2 (en) | Identity-aware data management | |
US20230004955A1 (en) | Peer-to-peer selectable digital money system |