An educational resource sharing method and device
By clustering and splitting computing nodes in the blockchain system, and using multi-party security computing and two-party security computing methods, the problem of low efficiency in the sharing of educational resources in the existing technology is solved, and more efficient resource sharing is achieved.
Patent Information
- Application Number
- CN202411348820.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2044-09-26
AI Technical Summary
The educational resource sharing method in the prior art is less efficient, especially in multi-party security calculations, which requires participation from multiple parties, resulting in low efficiency.
By clustering computing nodes in the blockchain system, three node cluster clusters are formed, and each cluster is split into a first node and multiple second nodes. Multi-party security computing and two-party security computing are used to improve the efficiency of resource sharing.
By reducing the number of nodes for secure computing and leveraging the high efficiency of security computing between the two parties, the efficiency of educational resource sharing methods is improved, and faster and more efficient resource sharing is achieved.
Smart Images

Figure CN119172052B_ABST
Abstract
Description
Technical Field
[0001] This application mainly relates to the field of blockchain technology, and particularly relates to a method and device for sharing educational resources. Background Art
[0002] Internet + Education is a new form of education that combines Internet technology with the education field. Users can obtain educational resources they are interested in from the educational resource platform, realizing the sharing of educational resources through intelligent interconnection. However, personal information leakage may occur during resource sharing. Most existing technologies use multi-party secure computing to solve the problem of information leakage. However, traditional multi-party secure computing involving more than two parties requires the participation of multiple parties, resulting in low efficiency.
[0003] That is, the efficiency of the educational resource sharing method in the existing technology is low. Summary of the Invention
[0004] This application provides a method and device for sharing educational resources, aiming to solve the problem of low efficiency of the educational resource sharing method in the existing technology.
[0005] In a first aspect, this application provides a method for sharing educational resources, and the method for sharing educational resources includes:
[0006] Cluster each computing node in the blockchain system based on the node location information of each computing node to obtain 3 node cluster clusters;
[0007] Split each node cluster cluster into a first node and multiple second nodes;
[0008] If itself is the first node, perform multi-party secure computing with multiple second nodes in the node cluster cluster based on their respective private educational resource data to obtain the first multi-party secure computing information of the node cluster cluster, and obtain 3 pieces of first multi-party secure computing information of the 3 node cluster clusters;
[0009] Divide the 3 node cluster clusters into two first node cluster clusters and one second node cluster cluster;
[0010] If itself is the first node in the first node cluster cluster, obtain a second multi-party secure computing information sent by the first node of the second node cluster cluster, where the first node of the second node cluster cluster splits the first multi-party secure computing information of the second node cluster cluster into two second multi-party secure computing information and sends them to the first nodes in the two first node cluster clusters respectively;
[0011] Generate first security information based on the second multi-party secure computing information and its own first multi-party secure computing information;
[0012] Perform secure two-party computation between the first node of the first security information and the first node of another first node cluster based on the second security information of the first node of another first node cluster, to obtain a secure two-party computation result, where the second security information is determined by another first node based on the first multi-party secure computation information of another first node and the second multi-party secure computation information obtained by another first node;
[0013] Broadcast the secure two-party computation result, so that each computing node in the blockchain system can obtain the secure two-party computation result, and the secure two-party computation result includes the aggregated data of the private educational resource data of each computing node in the blockchain system.
[0014] In a second aspect, the present application provides an educational resource sharing device, and the educational resource sharing device includes:
[0015] A clustering unit, configured to cluster each computing node in the blockchain system based on the node location information of each computing node, to obtain 3 node clusters;
[0016] A splitting unit, configured to split each node cluster into a first node and multiple second nodes;
[0017] A first computing unit, configured to, if itself is the first node, perform multi-party secure computation with multiple second nodes in the node cluster based on their respective private educational resource data, to obtain the first multi-party secure computation information of the node cluster, and obtain 3 pieces of first multi-party secure computation information of the 3 node clusters;
[0018] A partitioning unit, configured to divide the 3 node clusters into two first node clusters and one second node cluster;
[0019] An obtaining unit, configured to, if itself is the first node in the first node cluster, obtain a second multi-party secure computation information sent by the first node of the second node cluster, where the first node of the second node cluster splits the first multi-party secure computation information of the second node cluster into two second multi-party secure computation information and sends them to the first nodes in the two first node clusters respectively;
[0020] A generating unit, configured to generate first security information based on the second multi-party secure computation information and its own first multi-party secure computation information;
[0021] A second computing unit, configured to perform a secure two-party computation with the first nodes of another first node clustering cluster based on the first security information and the second security information of the first nodes of another first node clustering cluster, to obtain a secure two-party computation result, where the second security information is determined by another first node according to the first multi-party security computation information of another first node and the second multi-party security computation information obtained by another first node;
[0022] A broadcasting unit, configured to broadcast the secure two-party computation result, so that each computing node in each blockchain system can obtain the secure two-party computation result, where the secure two-party computation result includes summary data of the private educational resource data of each computing node in the blockchain system.
[0023] In a third aspect, the present application provides a computer device, where the computer device includes:
[0024] One or more processors;
[0025] A memory; and
[0026] One or more applications, where the one or more applications are stored in the memory and are configured to be executed by the processor to implement the educational resource sharing method according to any one of the first aspects.
[0027] In a fourth aspect, the present application provides a computer-readable storage medium, where the computer-readable storage medium stores multiple instructions, and the instructions are suitable for being loaded by a processor to execute the steps in the educational resource sharing method according to any one of the first aspects.
[0028] This application provides an educational resource sharing method and device. The educational resource sharing method includes: clustering each computing node in the blockchain system based on the node location information of each computing node to obtain 3 node clustering clusters; splitting each node clustering cluster into a first node and multiple second nodes; if itself is the first node, performing multi-party secure computation with multiple second nodes in the node clustering cluster based on their respective private educational resource data to obtain the first multi-party secure computation information of the node clustering cluster, and obtaining 3 pieces of first multi-party secure computation information of 3 node clustering clusters; dividing the 3 node clustering clusters into two first node clustering clusters and one second node clustering cluster; if itself is the first node in the first node clustering cluster, obtaining a second multi-party secure computation information sent by the first node of the second node clustering cluster, where the first node of the second node clustering cluster splits the first multi-party secure computation information of the second node clustering cluster into two second multi-party secure computation information and sends them to the first nodes in the two first node clustering clusters respectively; generating first security information based on the second multi-party secure computation information and its own first multi-party secure computation information; performing secure two-party computation with the first node of another first node clustering cluster based on the first security information and the second security information of the first node of another first node clustering cluster to obtain a secure two-party computation result, where the second security information is determined by another first node based on the first multi-party secure computation information of another first node and the second multi-party secure computation information obtained by another first node; broadcasting the secure two-party computation result so that each computing node in the blockchain system can obtain the secure two-party computation result, and the secure two-party computation result includes the aggregated data of the private educational resource data of each computing node in the blockchain system. This application selects 3 nodes from the 3 clustered node clustering clusters for secure computation and converts traditional multi-party secure computation into two-party secure computation. On the one hand, it reduces the number of nodes for secure computation, and with the high efficiency of two-party secure computation, it can improve the efficiency of the educational resource sharing method. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following described drawings are only some embodiments of the present application. For those skilled in the art, without creative efforts, other drawings can be obtained based on these drawings.
[0030] Figure 1 It is a schematic diagram of the scenario of the educational resource sharing system provided by the embodiment of the present application;
[0031] Figure 2 It is a schematic flowchart of an embodiment of the educational resource sharing method provided by the embodiment of the present application;
[0032] Figure 3It is a schematic structural diagram of an embodiment of the educational resource sharing device provided in the embodiments of the present application;
[0033] Figure 4 It is a schematic structural diagram of an embodiment of the computer device provided in the embodiments of the present application. Detailed implementation manners
[0034] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts fall within the scope of protection of the present application.
[0035] In the description of the present application, it should be understood that the terms "center", "longitudinal", "transverse", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc. indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings. It is only for the convenience of describing the present application and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus cannot be understood as a limitation to the present application. In addition, the terms "first" and "second" are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more features. In the description of the present application, "a plurality" means two or more unless otherwise specifically defined.
[0036] In the present application, the term "exemplary" is used to mean "serving as an example, illustration, or description". Any embodiment described as "exemplary" in the present application is not necessarily construed as being more preferred or having more advantages than other embodiments. In order for any person skilled in the art to implement and use the present application, the following description is given. In the following description, details are set forth for the purpose of explanation. It should be understood that those of ordinary skill in the art can recognize that the present application can be implemented without using these specific details. In other instances, well-known structures and processes are not elaborated in detail to avoid unnecessary details from obscuring the description of the present application. Therefore, the present application is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed in the present application.
[0037] The embodiments of the present application provide an educational resource sharing method and device, which will be described in detail below.
[0038] Please refer toFigure 1 , Figure 1 A schematic diagram of a scenario of an educational resource sharing system provided in an embodiment of the present application, wherein the educational resource sharing system may include a blockchain system and a user terminal, wherein a user initiates a video resource acquisition request through the user terminal, and wherein the blockchain system includes a plurality of network-connected computing nodes. The computing node may be a computer device, wherein an educational resource sharing device is integrated.
[0039] In the embodiments of the present application, the computer device may be an independent server, or a server network or server cluster composed of servers. For example, the computer device described in the embodiments of the present application includes but is not limited to a computer, a network host, a single network server, a plurality of network server sets or a cloud server composed of a plurality of servers. The cloud server is composed of a large number of computers or network servers based on cloud computing.
[0040] In the embodiment of the present application, the above-mentioned computer device may be a general-purpose computer device or a special-purpose computer device. In a specific implementation, the computer device may be a desktop computer, a portable computer, a network server, a PDA (Personal Digital Assistant), a mobile phone, a tablet computer, a wireless terminal device, a communication device, an embedded device, etc. This embodiment does not limit the type of computer device.
[0041] It should be noted that Figure 1 The scenario diagram of the educational resource sharing system shown is merely an example. The educational resource sharing system and scenario described in the embodiment of the present application are intended to more clearly illustrate the technical solution of the embodiment of the present application, and do not constitute a limitation on the technical solution provided in the embodiment of the present application. Ordinary technicians in this field can know that with the evolution of the educational resource sharing system and the emergence of new business scenarios, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
[0042] First, an educational resource sharing method is provided in an embodiment of the present application. The educational resource sharing method includes: clustering each computing node in the blockchain system based on the node location information of each computing node in the blockchain system to obtain 3 node clustering clusters; splitting each node clustering cluster into a first node and multiple second nodes; if itself is the first node, performing multi-party secure computation with multiple second nodes in the node clustering cluster based on their respective private educational resource data to obtain the first multi-party secure computation information of the node clustering cluster, and obtaining 3 pieces of first multi-party secure computation information of 3 node clustering clusters; dividing the 3 node clustering clusters into two first node clustering clusters and one second node clustering cluster; if itself is the first node in the first node clustering cluster, obtaining a second multi-party secure computation information sent by the first node of the second node clustering cluster, where the first node of the second node clustering cluster splits the first multi-party secure computation information of the second node clustering cluster into two second multi-party secure computation information and sends them to the first nodes in the two first node clustering clusters respectively; generating first security information based on the second multi-party secure computation information and its own first multi-party secure computation information; performing secure two-party computation with the first node of another first node clustering cluster based on the first security information and the second security information of the first node of another first node clustering cluster to obtain a secure two-party computation result, where the second security information is determined by another first node according to the first multi-party secure computation information of another first node and the second multi-party secure computation information obtained by another first node; broadcasting the secure two-party computation result so that each computing node in the blockchain system can obtain the secure two-party computation result, and the secure two-party computation result includes the aggregated data of the private educational resource data of each computing node in the blockchain system.
[0043] As Figure 2 shown, Figure 2 is a schematic flowchart of an embodiment of the educational resource sharing method provided in an embodiment of the present application. The educational resource sharing method includes the following steps:
[0044] 201. Cluster each computing node in the blockchain system based on the node location information of each computing node in the blockchain system to obtain 3 node clustering clusters.
[0045] Among them, the node location information may be the longitude and latitude of the location where the computing node is located.
[0046] In an embodiment of the present application, clustering each computing node in the blockchain system based on the node location information of each computing node in the blockchain system to obtain 3 node clustering clusters includes:
[0047] (1) Randomly and equally divide the node location information of N computing nodes in the blockchain system into K location information sets, where each location information set contains N / K pieces of node location information.
[0048] The blockchain system includes N computing nodes.
[0049] (2) Cluster the K location information sets respectively to obtain 3 second location information clusters in each location information set.
[0050] Specifically, randomly select 3 nodes with 3 node location information from the location information set as 3 clustering center nodes, and establish a corresponding clustering node set for each clustering center node.
[0051] Calculate the node similarity between any two nodes corresponding to the node location information in the location information set respectively. In a specific implementation, convert the node feature information of two nodes into feature vectors and calculate the cosine similarity to obtain the node similarity between any two nodes in the location information set.
[0052] Determine the node corresponding to each node location information in the location information set as the node to be assigned, obtain 3 node similarities between the node to be assigned and the 3 clustering center nodes, and put the node to be assigned into the clustering node set corresponding to the clustering center node corresponding to the largest node similarity among the 3 node similarities to obtain 3 clustering node sets.
[0053] Calculate the average value of the node feature information of the clustering node set to obtain the clustering node centroid of the clustering node set, and obtain 3 clustering node centroids.
[0054] Calculate the deviation parameter between the 3 clustering node centroids and the 3 clustering center nodes.
[0055] Specifically, calculate the node similarity between the clustering node centroid and each clustering center node, determine the clustering center node with the largest node similarity with the clustering node centroid as the neighborhood node of the clustering node centroid, and determine the difference degree between the clustering node centroid and the neighborhood node based on the node similarity between the clustering node centroid and the corresponding neighborhood node. Among them, the larger the node similarity between the clustering node centroid and the neighborhood node, the smaller the difference degree between the clustering node centroid and the neighborhood node. Determine the sum of the difference degrees corresponding to each clustering node centroid as the deviation parameter.
[0056] When the deviation parameter is greater than the preset parameter value, update the 3 clustering node centroids to 3 new node clustering center nodes, and obtain 3 new clustering node sets corresponding to the 3 new node clustering center nodes and a new deviation parameter. When the new deviation parameter is not greater than the preset parameter value, determine the 3 new clustering node sets as 3 second location information clusters.
[0057] (3) Determine each second location information cluster as a target location information cluster, and calculate the information cluster similarity between the target location information cluster and the second location information clusters in the K location information sets respectively.
[0058] Specifically, calculate the similarity between the cluster average vector of the target location information cluster and the cluster average vector of the second location information cluster; determine the similarity between the cluster average vector of the target location information cluster and the cluster average vector of the second location information cluster as the information cluster similarity between the target location information cluster and the second location information cluster.
[0059] (4) Merge the second location information clusters with the greatest similarity to the target location information cluster in each location information set to obtain the first location information cluster corresponding to the target location information cluster, and obtain 3 first location information clusters corresponding to 3 second location information clusters.
[0060] (5) Determine the multiple computing nodes corresponding to the multiple node location information in the first location information cluster as a node clustering cluster, and obtain 3 node clustering clusters.
[0061] 202. Split each node clustering cluster into a first node and multiple second nodes.
[0062] In the embodiment of the present application, splitting each node clustering cluster into a first node and multiple second nodes includes:
[0063] (1) Obtain the mutual trust scores and communication speeds among the multiple computing nodes in the node clustering cluster.
[0064] 1-1. Determine any two computing nodes as a third node and a fourth node.
[0065] In the embodiment of the present application, obtain the first correct voting quantity proportion of the correct voting quantity when the third node participates in the consensus voting within the first historical time period, where when the voting selection of the node during the consensus voting is the same as the consensus voting result, it is determined that the node votes correctly.
[0066] Among them, the first historical time period can be the past week or three days, etc.
[0067] For example, multiple nodes in the blockchain system vote, and there are 3 voting results, namely voting result A, voting result B, and voting result C. Among them, the voting selection of node A is voting result A, and the multiple nodes in the blockchain system reach a consensus on voting result A, and the consensus voting result is voting result A, so node A votes correctly.
[0068] 1-2. Obtain the second correct voting quantity proportion of the correct voting quantity when the fourth node participates in the consensus voting within the first historical time period.
[0069] 1-3. Obtain the first voting rate when the third node voted for the fourth node during historical consensus.
[0070] Among them, the first voting rate is the ratio of the number of votes cast by the third node for the fourth node when reaching a consensus in history to the total number of votes cast by the third node when reaching a consensus in history.
[0071] For example, when the total number of votes cast by the third node when reaching a consensus in history is 10 times, and among them, 5 votes are cast for the fourth node, then the first voting rate of the third node is 50%.
[0072] 1 - 4, obtain the second voting rate of the fourth node for the third node when reaching a consensus in history.
[0073] In the embodiments of the present application, based on the proportion of the first correct voting quantity and the proportion of the second correct voting quantity, the first voting rate and the second voting rate are weighted and summed to obtain the mutual trust degree score between the third node and the fourth node, and the mutual trust degree scores between multiple computing nodes in the node clustering cluster are obtained.
[0074] Specifically, the calculation formula for the trust degree score Zij is as follows:
[0075] .
[0076] Among them, Zij is the trust degree score between the i-th computing node and the j-th computing node. Qij is the proportion of the first correct voting quantity when the i-th computing node is the third node and the j-th computing node is the fourth node. Qji is the proportion of the second correct voting quantity when the i-th computing node is the third node and the j-th computing node is the fourth node. Lij is the first voting rate when the i-th computing node is the third node and the j-th computing node is the fourth node; Lji is the second voting rate when the i-th computing node is the third node and the j-th computing node is the fourth node.
[0077] (2) Calculate the average trust degree and the first average communication speed of each computing node in the node clustering cluster. The average trust degree of the computing node is the average of the trust degree scores between other nodes and the computing node. The first average communication speed of the computing node is the average of the communication speeds between the computing node and other nodes.
[0078] (3) Obtain the data volume size of the private educational resource data of each computing node in the node clustering cluster.
[0079] (4) Determine the priority parameter of the computing node based on the average trust degree, the first average communication speed, and the data volume size of the computing node. Among them, the larger the average trust degree of the computing node, the larger the priority parameter of the computing node. The larger the first average communication speed of the computing node, the larger the priority parameter of the computing node. The larger the data volume size of the computing node, the larger the priority parameter of the computing node.
[0080] In the embodiments of the present application, the average trust value, the first average communication speed, and the data volume of the computing nodes are normalized to obtain a normalized trust value, a normalized communication value, and a normalized data volume value. A priority parameter is determined based on the normalized trust value, the normalized communication value, and the normalized data volume value.
[0081] Specifically, the calculation formula of the priority parameter Y is as follows:
[0082]
[0083] where Y is the priority parameter, X1 is the normalized trust value, T1 is the normalized communication value, S1 is the normalized data volume value, and a, b, and c are the weights of the normalized trust value, the normalized communication value, and the normalized data volume value.
[0084] (5) Determine the computing node with the largest priority parameter in the node clustering cluster as the first node, and determine the other computing nodes as the second nodes.
[0085] 203. If itself is the first node, perform multi-party secure computation with multiple second nodes in the node clustering cluster based on their respective private education resource data to obtain the first multi-party secure computation information of the node clustering cluster, and obtain 3 pieces of first multi-party secure computation information for 3 node clustering clusters.
[0086] Secure multi-party computation (SMC) is to solve the problem of privacy-preserving collaborative computation among a group of mutually untrusted participants. SMC needs to ensure the independence of the inputs, the correctness of the computation, and at the same time not disclose each input value to other members participating in the computation.
[0087] Among them, the first multi-party secure computation information is the aggregated data of the private education resource data on the first node and multiple second nodes in the node clustering cluster.
[0088] 204. Divide the 3 node clustering clusters into two first node clustering clusters and one second node clustering cluster.
[0089] In an embodiment of the present application, the priority parameter of the first node in each node clustering cluster is obtained, the communication speed between the first nodes in each node clustering cluster is obtained, the average value of the communication speeds between the first node and the other two first nodes is determined as the second average communication speed of the first node, the second average communication speed of each first node is obtained, and the cluster screening parameter is determined based on the priority parameter of the first node in each node clustering cluster, the second average communication speed of the first node in each node clustering cluster, and the information amount of the first multi-party secure calculation information of each node clustering cluster. The node clustering cluster with the largest cluster screening parameter is determined as the second node clustering cluster, and the other two node clustering clusters are determined as the first node clustering clusters. Among them, the larger the priority parameter of the first node in the node clustering cluster, the larger the cluster screening parameter; the larger the second average communication speed of the first node in the node clustering cluster, the larger the cluster screening parameter; the smaller the information amount of the first multi-party secure calculation information of the node clustering cluster, the larger the cluster screening parameter.
[0090] 205. If itself is the first node in the first node clustering cluster, obtain a second multi-party secure calculation information sent by the first node in the second node clustering cluster.
[0091] Among them, the first node in the second node clustering cluster splits the first multi-party secure calculation information of the second node clustering cluster into two second multi-party secure calculation information and sends them to the first nodes in the two first node clustering clusters respectively.
[0092] In an embodiment of the present application, obtaining a second multi-party secure calculation information sent by the first node in the second node clustering cluster includes:
[0093] (1) Obtain the communication speed and trust score between the two first nodes in the two first node clustering clusters and the first node in the second node clustering cluster.
[0094] (2) Determine the transmission ratio parameters of the two first nodes in the two first node clustering clusters based on the communication speed and trust score between the two first nodes in the two first node clustering clusters and the first node in the second node clustering cluster.
[0095] Among them, the larger the communication speed between the first node in the first node clustering cluster and the first node in the second node clustering cluster, the larger the transmission ratio parameter, and the larger the communication speed between the first node in the first node clustering cluster and the first node in the second node clustering cluster, the larger the transmission ratio parameter.
[0096] (3) Send the transmission ratio parameters of the two first nodes in the two first node clusters to the first node in the second node cluster, and obtain one second multi-party secure computation information that matches its own transmission ratio parameter from the two second multi-party secure computation information obtained by splitting the first node in the second node cluster. The first node in the second node cluster splits the first multi-party secure computation information based on the two transmission ratio parameters to obtain two second multi-party secure computation information, and the ratio of the data volumes of the two second multi-party secure computation information is the ratio of the two transmission ratio parameters.
[0097] For example, if the transmission ratio parameters of the first nodes in the two first node clusters are 40% and 60% of the parameter, then the first node in the second node cluster splits the first multi-party secure computation information into two second multi-party secure computation information according to 40%:60%, and the ratio of the data volumes of the two second multi-party secure computation information is 4:6.
[0098] For example, the first multi-party secure computation information of 3 first nodes are x, y, and z respectively. The first node in the second node cluster splits its own first multi-party secure computation information z into two second multi-party secure computation information z1 and z2 respectively.
[0099] 206. Generate first secure information based on the second multi-party secure computation information and its own first multi-party secure computation information.
[0100] In the embodiments of the present application, generating first secure information based on the second multi-party secure computation information and its own private education resource data includes:
[0101] (1) Obtain the three-party secure function constructed by 3 first nodes.
[0102] For example, the three-party secure function constructed by 3 first nodes is f(x, y, z).
[0103] (2) Based on the three-party secure function and the first nodes in another first node cluster, construct a first two-party secure function and a second two-party secure function, where the three-party secure function is a composite function of the first two-party secure function and the second two-party secure function.
[0104] The first nodes in the two first node clusters construct a first two-party secure function h and a second two-party secure function g based on the three-party secure function f(x, y, z), where the three-party secure function f(x, y, z) is a composite function of the first two-party secure function h and the second two-party secure function g.
[0105] (3) Calculate the first multi-party secure computation information and the second multi-party secure computation information of itself based on the first two-party secure function to obtain the first secure information.
[0106] Among them, the first multi-party secure computing information of the first node in the first node cluster is x, the obtained second multi-party secure computing information is z1, and the first secure information h(x, z1) is obtained by calculating the first multi-party secure computing information of itself and the second multi-party secure computing information based on the first two-party secure function h.
[0107] 207. Perform secure two-party calculation on the first secure information and the second secure information of the first node in another first node cluster with the first node in another first node cluster to obtain a secure two-party calculation result.
[0108] Among them, the second secure information is determined by another first node according to the first multi-party secure computing information of another first node and the second multi-party secure computing information obtained by another first node. Another first node performs calculation based on the first two-party secure function h to obtain the second secure information h(y, z2).
[0109] In the embodiment of the present application, perform secure two-party calculation on the first secure information and the second secure information based on the second two-party secure function to obtain a secure two-party calculation result.
[0110] In a specific embodiment, determine whether itself is selected as a circuit establishment node; if itself is selected as a circuit establishment node, then establish a two-party calculation garbled circuit based on the second two-party secure function g; send the two-party calculation garbled circuit and the truth table of the first secure information to another first node; obtain the secure two-party calculation result sent by another first node after executing the two-party calculation garbled circuit based on the second secure information. The two-party calculation garbled circuit is a Yao's circuit.
[0111] Furthermore, if it is determined that itself is not selected as a circuit establishment node, then obtain the two-party calculation garbled circuit established by another first node and the truth table of the second secure information; obtain the secure two-party calculation result based on the two-party calculation garbled circuit, the truth table of the second secure information, and the first secure information and send it to another first node.
[0112] Specifically, the second two-party secure function g establishes a two-party calculation garbled circuit, and sends the two-party calculation garbled circuit and the truth table of the first secure information h(x, z1) to another first node; another first node obtains the secure two-party calculation result based on the two-party calculation garbled circuit, the truth table of the first secure information h(x, z1), and the second secure information h(y, z2) and sends it to the first node, and obtains the secure two-party calculation result sent by another first node after executing the two-party calculation garbled circuit. Among them, the secure two-party calculation result is R, and R = g(h(x, z1), h(y, z2)).
[0113] 208. Broadcast the secure two-party computation result so that each computing node in the blockchain system can obtain the secure two-party computation result, where the secure two-party computation result includes the aggregated data of the private educational resource data of each computing node in the blockchain system.
[0114] Broadcast the secure two-party computation result R in the blockchain system.
[0115] Furthermore, the educational resource sharing method includes:
[0116] (1) When receiving a video resource acquisition request from a target user, reach a consensus on the video resource acquisition request with each computing node in the node clustering cluster where it is located.
[0117] Specifically, the target user sends a video resource acquisition request to the nodes in the blockchain system.
[0118] In this embodiment, the video resource acquisition request of the user depends on the educational resources the user wants to learn. For example, the user's resource requests are to learn C language, learn Solidworks, and learn Java language.
[0119] (2) When reaching a consensus on the video resource acquisition request with each computing node in the node clustering cluster where it is located, obtain the target video file that matches the resource request from the secure two-party computation result.
[0120] (3) Analyze the response operation information of the target user for the target video file.
[0121] In one embodiment, the response operation information is the operation performed on the target video file, including but not limited to pausing, fast forwarding, rewinding, adjusting the speed, etc.
[0122] (4) Obtain the target doubtful knowledge points that the target user may have questions about according to the response operation information. Among them, if it is detected that the target user repeatedly retreats from the current playing node to the played node that has been played, obtain the multiple knowledge point information covered between the played node and the current playing node, and use the obtained multiple knowledge point information as the target doubtful knowledge points; if it is detected that the target user has enabled the note function, obtain the note information recorded by the target user; analyze the note information to obtain the target doubtful knowledge points that the target user may have questions about.
[0123] In one embodiment, if it is detected that the user repeatedly watches a certain video segment, the user may have questions about this video segment.
[0124] In one embodiment, the associated files can be video files, document files, presentation files, etc., and there can be multiple such associated files. When there are multiple associated files, they are displayed in a list. Specifically, they can be sorted according to the depth of the explanation. The shallower the explanation, the more forward it is, which is suitable for novice users; the deeper the explanation, the more backward it is, which is suitable for users with a certain foundation. The reason for such sorting is to facilitate users to gradually understand the corresponding knowledge points and avoid difficulties in learning. Users can selectively learn the associated files according to their own situations.
[0125] In one embodiment, if it is detected that the target user repeatedly backs from the current playback node to a previously played node, then obtain the multiple knowledge point information covered between the previously played node and the current playback node, and use the obtained multiple knowledge point information as the target doubtful knowledge points; if it is detected that the target user has enabled the note-taking function, then obtain the note information recorded by the target user; parse the note information to obtain the target doubtful knowledge points that the target user may have questions about.
[0126] In one embodiment, obtain the video segment between the previously played node and the current playback node, and parse the video segment to obtain the knowledge points covered by the video segment.
[0127] In one embodiment, the target video file can be analyzed and sorted in advance to establish the association relationship between time periods and knowledge points. Obtain the time periods corresponding to the previously played node and the current playback node, and determine the corresponding knowledge points according to the obtained time periods and the association relationship.
[0128] To facilitate users to take notes, in one embodiment, a "Record Notes Button" is also displayed on the interface where the target video file is located. In this case, after the user enables the "Record Notes Button", a recording window will pop up, and the user can record the learning situation in this recording window. In this case, the response operation includes the recording operation performed by the user. Parsing the text content corresponding to the recording operation can obtain the target doubtful knowledge points that the user may have questions about. For example, if it is parsed that a question mark "?" is added after a certain piece of text, it means that the text at that place is the target doubtful knowledge point that the user may have questions about.
[0129] In one embodiment, there can be two areas in the recording window. One area is used to record the user's summary and experience, the content that the user thinks needs to be focused on, etc.; the other area is used to record the knowledge points that the user doesn't quite understand. If the content recorded in the other area can be obtained, the target doubtful knowledge points that the user may have questions about can be obtained.
[0130] Further, if it is detected that the target user has enabled the note function, obtain the note information recorded by the target user; parse the note information to obtain the target doubtful knowledge points that the target user may have doubts about. Obtain at least one associated file corresponding to the doubtful knowledge points, insert the web page links of the at least one associated file into the doubtful knowledge points, and if a trigger operation for the user to click the web page link is received, display the corresponding associated file.
[0131] (5) Obtain at least one associated file corresponding to the target doubtful knowledge point from the secure two-party computation result, and pop up an associated window, and display the at least one associated file in a list form in the associated window.
[0132] In the embodiment of the present application, obtain at least one associated file corresponding to the target doubtful knowledge point from the secure two-party computation result, and pop up an associated window, and display the at least one associated file in a list form in the associated playback, so that the user can select whether to learn the at least one associated file according to their own learning situation. Among them, the associated window can move and does not cover the target video file being played.
[0133] In one embodiment, the associated window can be a window established based on the electron framework. The associated file can be displayed or played on the associated window, and the associated window can respond to actions such as mouse clicks and drags. Among them, electron (formerly Atom Shell) is a cross-platform desktop application development tool developed by GitHub, which supports developing desktop applications using web technologies. It allows the use of Node.js and Chromium to complete the development of desktop application programs, and has now been used in the front-end and back-end development of multiple open-source web applications. Electron is equivalent to the shell of a browser, which can embed a web program into the shell and package the web page into a program that runs on the desktop. Generally speaking, it is software.
[0134] In one embodiment, if the associated file is a video file, the user can choose whether to play the corresponding video file to understand the doubtful knowledge point. If the associated file is a document file, the user can choose whether to display the corresponding document file, and at the same time, the content related to the doubtful knowledge point will be marked in the document file to facilitate the user to quickly extract information.
[0135] In the embodiment of the present application, obtaining at least one associated file corresponding to the target doubtful knowledge point from the secure two-party computation result includes:
[0136] (1) Obtain the historical file selection information of multiple users in the second historical time period, where the historical file selection information includes doubtful knowledge points and corresponding associated files.
[0137] For example, the historical file selection information includes doubtful knowledge points and corresponding associated files, which are the doubtful knowledge points determined by history and the associated files historically selected by the user based on the doubtful knowledge points.
[0138] (2) Determine the users who have the historical file selection information including the target doubtful knowledge points as candidate users.
[0139] (3) Determine the first file similarity between any two of the multiple associated files based on the historical file selection information.
[0140] First, determine any two of the multiple associated files as the first target associated file and the second target associated file respectively. For example, obtain the first target associated file A and the second target associated file B from the multiple associated files.
[0141] Next, determine the number of the first users who have selected the first target associated file, the number of the second users who have selected the second target associated file, and the number of the third users who have selected both the first target associated file and the second target associated file based on the historical file selection information.
[0142] Obtain the number of the first users who have selected the first target associated file A N A , obtain the number of the second users who have selected the second target associated file B N B , obtain the number of the third users who have selected both the first target associated file and the second target associated file N AB .
[0143] Next, determine the first associated file similarity between the first target associated file and the second target associated file based on the number of the first users, the number of the second users, the number of the third users, and the total number of users in the second historical time period, and obtain the first associated file similarity between any two of the multiple associated files.
[0144] In a specific embodiment, the first associated file similarity between the first target associated file A and the second target associated file B is , the number of the first users N A , the number of the second users N B , the number of the third users N AB , the total number of users N satisfy the relationship shown in the formula,
[0145]
[0146] Determine any two associated files among multiple associated files as the first target associated file A and the second target associated file B, and the first associated file similarity between any two associated files among the multiple associated files can be obtained.
[0147] (4) Group the multiple associated files selected by the target user and the multiple associated files selected by the candidate user to obtain multiple associated file groups, where an associated file group includes an associated file selected by the target user and an associated file selected by the candidate user.
[0148] (5) Determine the group similarity corresponding to each associated file group based on the first associated file similarity between the two associated files in each associated file group.
[0149] First, determine the two associated files in the target associated file group as the third target associated file and the fourth target associated file respectively. Among them, the target associated file group is any one of the multiple associated file groups.
[0150] Next, obtain the first associated file similarity between the third target associated file and other associated files among the multiple associated files to obtain multiple first associated file similarities corresponding to the third target associated file.
[0151] If the third target associated file is I, and the multiple associated files in the second historical time period are A, B…N respectively. Then the first associated file similarity between the third target associated file and other associated files among the multiple associated files can be obtained using the formula. For example, the first associated file similarity between the third target associated file I and the associated file A is .
[0152] Furthermore, multiple first associated file similarities corresponding to the third target associated file can be obtained, which are respectively , … .
[0153] Then, determine the similarity feature vector of the third target associated file based on the multiple first associated file similarities corresponding to the third target associated file.
[0154] Specifically, the similarity feature vector of the third target associated file is shown in the following formula
[0155] .
[0156] Based on the same principle, calculate the similarity feature vector of the fourth target associated file.
[0157] Finally, determine the second associated file similarity between the third target associated file and the fourth target associated file based on the similarity feature vectors of the third target associated file and the fourth target associated file.
[0158] Specifically, determine the cosine similarity between the similarity feature vector of the third target associated file and the similarity feature vector of the fourth target associated file as the second associated file similarity between the third target associated file and the fourth target associated file.
[0159] Finally, determine the second associated file similarity between the third target associated file and the fourth target associated file as the grouping similarity of the target associated file grouping, and obtain the grouping similarities of each associated file grouping.
[0160] (6)Obtain the weight coefficients of the grouping similarities corresponding to each associated file grouping.
[0161] First, obtain the first user-associated file similarity between the target user and the fifth target associated file, where the fifth target associated file is the associated file corresponding to the target user in the associated file grouping.
[0162] In a specific embodiment, obtaining the first user-associated file similarity between the target user and the fifth target associated file includes: respectively obtaining multiple first associated file similarities between multiple associated files selected by the target user and the fifth target associated file; obtaining the proportion of the selection times of each associated file by the target user in the second historical period; and performing weighted averaging on the multiple first associated file similarities between the multiple associated files selected by the target user and the fifth target associated file based on the proportion of selection times to obtain the first user-associated file similarity.
[0163] Then, obtain the second user-associated file similarity between the candidate user and the sixth target associated file, where the sixth target associated file is the associated file corresponding to the candidate user in the associated file grouping.
[0164] In a specific embodiment, obtaining the second user-associated file similarity between the candidate user and the sixth target associated file includes: respectively obtaining multiple first associated file similarities between multiple associated files selected by the candidate user and the sixth target associated file; obtaining the proportion of the selection times of each associated file by the candidate user in the second historical period; and performing weighted averaging on the multiple first associated file similarities between the multiple associated files selected by the candidate user and the sixth target associated file based on the proportion of selection times to obtain the second user-associated file similarity.
[0165] Finally, determine the weight coefficient of the group similarity based on the first user-associated file similarity and the second user-associated file similarity. In a specific embodiment, the weight coefficient of the group similarity is the product of the first user-associated file similarity and the second user-associated file similarity.
[0166] (7) Weighted average the group similarities of each associated file group based on the weight coefficients of each group similarity to obtain the user similarity between the target user and the candidate users.
[0167] (8) Determine the at least one target associated file corresponding to the target doubtful knowledge point from the multiple associated files selected by the candidate users with the top preset number of users sorted from largest to smallest user similarity.
[0168] The preset number of users is less than the number of candidate users.
[0169] To better implement the educational resource sharing method in the embodiments of the present application, based on the educational resource sharing method, an educational resource sharing device is further provided in the embodiments of the present application, as Figure 3 shown. The educational resource sharing device includes:
[0170] A clustering unit 401, configured to cluster each computing node based on the node location information of each computing node in the blockchain system to obtain 3 node clustering clusters;
[0171] A splitting unit 402, configured to split each node clustering cluster into a first node and multiple second nodes;
[0172] A first computing unit 403, configured to, if itself is the first node, perform multi-party secure computation with multiple second nodes in the node clustering cluster based on their respective private educational resource data to obtain the first multi-party secure computation information of the node clustering cluster, and obtain 3 pieces of first multi-party secure computation information of the 3 node clustering clusters;
[0173] A partitioning unit 404, configured to divide the 3 node clustering clusters into two first node clustering clusters and one second node clustering cluster;
[0174] An obtaining unit 405, configured to, if itself is the first node in the first node clustering cluster, obtain a second multi-party secure computation information sent by the first node of the second node clustering cluster, where the first node of the second node clustering cluster splits the first multi-party secure computation information of the second node clustering cluster into two second multi-party secure computation information and sends them to the first nodes in the two first node clustering clusters respectively;
[0175] A generating unit 406, configured to generate first security information based on the second multi-party secure computing information and the first multi-party secure computing information of its own;
[0176] A second computing unit 407, configured to perform secure two-party computation with the first nodes of another first node clustering cluster based on the first security information and the second security information of the first nodes of another first node clustering cluster to obtain the secure two-party computation result, where the second security information is determined by another first node according to the first multi-party secure computing information of another first node and the second multi-party secure computing information obtained by another first node;
[0177] A broadcasting unit 408, configured to broadcast the secure two-party computation result, so that each computing node in the blockchain system obtains the secure two-party computation result, and the secure two-party computation result includes summary data of the private educational resource data of each computing node in the blockchain system.
[0178] An embodiment of the present application further provides a computer device, which integrates any educational resource sharing device provided in the embodiments of the present application. The computer device includes:
[0179] One or more processors;
[0180] A memory; and
[0181] One or more application programs, where one or more application programs are stored in the memory and are configured to be executed by the processor to perform the steps of the educational resource sharing method in any one of the embodiments of the educational resource sharing method in the above embodiments.
[0182] As Figure 4 shown, it shows a schematic structural diagram of the computer device involved in the embodiments of the present application. Specifically:
[0183] The computer device may include a processor 601 with one or more processing cores, a memory 602 with one or more computer-readable storage media, a power supply 603, an input unit 604 and other components. Those skilled in the art can understand that the structural diagram of the computer device shown in the figure does not constitute a limitation on the computer device, and may include more or fewer components than shown, or group some components, or arrange different components. Among them:
[0184] The processor 601 is the control center of the computer device, connecting various parts of the entire computer device through various interfaces and circuits. By running or executing software programs and / or modules stored in the memory 602, and by invoking the data stored in the memory 602, it executes various functions of the computer device and processes data, thereby monitoring the computer device as a whole. Optionally, the processor 601 may include one or more processing cores; the processor 601 may be a central processing unit (CPU), or it may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. Preferably, the processor 601 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above-mentioned modem processor may not be integrated into the processor 601 either.
[0185] The memory 602 can be used to store software programs and modules. The processor 601 executes various functional applications and data processing by running the software programs and modules stored in the memory 602. The memory 602 may mainly include a program storage area and a data storage area. Among them, the program storage area may store the operating system, application programs required for at least one function (such as the sound playback function, the image playback function, etc.); the data storage area may store data created according to the use of the computer device. In addition, the memory 602 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage devices. Correspondingly, the memory 602 may also include a memory controller to provide the processor 601 with access to the memory 602.
[0186] The computer device also includes a power supply 603 that powers each component. Preferably, the power supply 603 may be logically connected to the processor 601 through a power management system, so as to implement functions such as management of charging, discharging, and power consumption management through the power management system. The power supply 603 may also include any components such as one or more DC or AC power supplies, a recharge system, a power failure detection circuit, a power converter or inverter, and a power status indicator.
[0187] The computer device may further include an input unit 604, which may be configured to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0188] Although not shown, the computer device may further include a display unit and the like, which will not be elaborated here. Specifically, in this embodiment, the processor 601 in the computer device will load the executable files corresponding to the processes of one or more application programs into the memory 602 according to the following instructions, and the processor 601 will run the application programs stored in the memory 602 to implement various functions as follows:
[0189] Cluster each computing node in the blockchain system based on the node location information of each computing node to obtain 3 node clusters; split each node cluster into a first node and multiple second nodes; if itself is the first node, perform multi-party secure computation with multiple second nodes in the node cluster based on their respective private education resource data to obtain the first multi-party secure computation information of the node cluster, and obtain 3 pieces of first multi-party secure computation information for 3 node clusters; divide the 3 node clusters into two first node clusters and one second node cluster; if itself is the first node in the first node cluster, obtain a second multi-party secure computation information sent by the first node of the second node cluster, where the first node of the second node cluster splits the first multi-party secure computation information of the second node cluster into two second multi-party secure computation information and sends them to the first nodes in the two first node clusters respectively; generate first security information based on the second multi-party secure computation information and its own first multi-party secure computation information; perform secure two-party computation with the first node of another first node cluster based on the first security information and the second security information of the first node of another first node cluster to obtain a secure two-party computation result, where the second security information is determined by another first node according to the first multi-party secure computation information of another first node and the second multi-party secure computation information obtained by another first node; broadcast the secure two-party computation result so that each computing node in the blockchain system can obtain the secure two-party computation result, and the secure two-party computation result includes the aggregated data of the private education resource data of each computing node in the blockchain system.
[0190] Those of ordinary skill in the art can understand that all or part of the steps in the above-mentioned various methods can be completed by instructions, or by controlling relevant hardware through instructions. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0191] To this end, an embodiment of the present application provides a computer-readable storage medium, which may include: a read-only memory (ROM, Read Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, an optical disc, etc. A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps in any one of the educational resource sharing methods provided by the embodiments of the present application. For example, when the computer program is loaded by the processor, the following steps may be executed:
[0192] Cluster each computing node in the blockchain system based on the node location information of each computing node in the blockchain system to obtain 3 node clusters; split each node cluster into a first node and multiple second nodes; if itself is the first node, perform multi-party secure computation with multiple second nodes in the node cluster based on their respective private educational resource data to obtain the first multi-party secure computation information of the node cluster, and obtain 3 pieces of first multi-party secure computation information of 3 node clusters; divide the 3 node clusters into two first node clusters and one second node cluster; if itself is the first node in the first node cluster, obtain a second multi-party secure computation information sent by the first node of the second node cluster, where the first node of the second node cluster splits the first multi-party secure computation information of the second node cluster into two second multi-party secure computation information and sends them to the first nodes in the two first node clusters respectively; generate first security information based on the second multi-party secure computation information and its own first multi-party secure computation information; perform secure two-party computation with the first node of another first node cluster based on the first security information and the second security information of the first node of another first node cluster to obtain a secure two-party computation result, where the second security information is determined by another first node based on the first multi-party secure computation information of another first node and the second multi-party secure computation information obtained by another first node; broadcast the secure two-party computation result to enable each computing node in the blockchain system to obtain the secure two-party computation result, and the secure two-party computation result includes the aggregated data of the private educational resource data of each computing node in the blockchain system.
[0193] In the above embodiments, the descriptions of the respective embodiments have their own focuses. For parts not described in detail in a certain embodiment, reference may be made to the detailed descriptions of other embodiments above, and details will not be repeated here.
[0194] In specific implementation, the above-mentioned respective units or structures may be implemented as independent users, or may be arbitrarily grouped and implemented as the same or several users. For the specific implementation of the above-mentioned respective units or structures, reference may be made to the method embodiments described above, and details will not be repeated here.
[0195] For the specific implementation of each of the above operations, reference may be made to the previous embodiments, which will not be elaborated herein.
[0196] The above has introduced in detail a method and device for sharing educational resources provided by the embodiments of the present application. Specific examples are used in this article to elaborate on the principle and implementation manner of the present application. The description of the above embodiments is only used to help understand the method and its core idea of the present application; at the same time, for those skilled in the art, according to the idea of the present application, there will be changes in the specific implementation manner and application scope. In summary, the content of this specification should not be construed as a limitation to the present application.
Claims
1. A method for sharing educational resources, characterized in that: Applied to a blockchain system, the blockchain system includes a plurality of network-connected computing nodes, and the educational resource sharing method includes: Clustering each computing node based on the node location information of each computing node in the blockchain system to obtain three node clusters; Split each node cluster into a first node and multiple second nodes; If it is the first node, it performs multi-party secure computing with multiple second nodes in the node cluster based on their respective private educational resource data to obtain first multi-party secure computing information of the node cluster, and obtains three first multi-party secure computing information of the three node clusters; Dividing the three node clusters into two first node clusters and one second node cluster; If the node itself is the first node in the first node cluster, obtain a second multi-party secure computing information sent by the first node in the second node cluster, wherein the first node in the second node cluster splits the first multi-party secure computing information of the second node cluster into two second multi-party secure computing information and sends them to the first nodes in the two first node clusters respectively; Generate first security information based on the second multi-party secure computing information and the first multi-party secure computing information of the same; Performing secure two-party computing with the first node of another first node cluster based on the first security information and the second security information of the first node of another first node cluster, to obtain a secure two-party computing result, wherein the second security information is determined by another first node based on first multi-party secure computing information of another first node and second multi-party secure computing information obtained by another first node; The secure two-party computing result is broadcasted so that each computing node in the blockchain system obtains the secure two-party computing result, wherein the secure two-party computing result includes summary data of private educational resource data of each computing node in the blockchain system.
2. The educational resource sharing method according to claim 1, characterized in that: The step of splitting each node cluster into a first node and a plurality of second nodes comprises: Obtaining mutual trust scores and communication speeds between multiple computing nodes in the node cluster; Calculate the average trust value and the first average communication speed of each computing node in the node cluster, the average trust value of the computing node is the average value of the trust scores between other nodes and the computing node, and the first average communication speed of the computing node is the average value of the communication speed between the computing node and other nodes; Obtaining the data volume of the private educational resource data of each computing node in the node cluster; Determine the priority parameter of the computing node based on the average trust value, the first communication average speed, and the data volume of the computing node, wherein the larger the average trust value of the computing node, the larger the priority parameter of the computing node, the larger the first communication average speed of the computing node, the larger the priority parameter of the computing node, and the larger the data volume of the computing node, the larger the priority parameter of the computing node; The computing node with the largest priority parameter in the node cluster is determined as the first node, and the other computing nodes are determined as the second nodes.
3. The educational resource sharing method according to claim 2, characterized in that: The obtaining of mutual trust scores and communication speeds between multiple computing nodes in the node cluster includes: Determine any two of the computing nodes as a third node and a fourth node; Obtaining a first correct vote number ratio of the correct vote number when the third node participates in the consensus voting within the first historical time period, wherein when the voting choice of the node when participating in the consensus voting is the same as the consensus voting result, it is determined that the node voted correctly; Obtaining a second correct vote ratio of the correct votes cast by the fourth node when participating in consensus voting within the first historical time period; Obtaining a first voting rate of the third node voting for the fourth node when consensus is reached historically; Obtaining a second voting rate of the fourth node voting for the third node when consensus is reached historically; Based on the first correct vote ratio and the second correct vote ratio, the first voting rate and the second voting rate are weightedly summed to obtain a mutual trust score between the third node and the fourth node, and to obtain a mutual trust score between multiple computing nodes in the node cluster.
4. The educational resource sharing method according to claim 3, characterized in that: The educational resource sharing method comprises: When a video resource acquisition request of a target user is obtained, consensus is reached on the video resource acquisition request with each computing node in the node cluster where the computing node is located; When the computing nodes in the node cluster where the computing node is located reach a consensus on the video resource acquisition request, a target video file matching the resource request is acquired from the secure two-party computing result; Parsing the response operation information made by the target user with respect to the target video file; Obtain target doubtful knowledge points that the target user may have doubts about according to the response operation information, wherein, if it is detected that the target user rewinds from the current playback node to the already played node multiple times, then obtain multiple knowledge point information covered between the already played node and the current playback node, and use the obtained multiple knowledge point information as target doubtful knowledge points; if it is detected that the target user has turned on the note function, then obtain the note information recorded by the target user; parse the note information to obtain target doubtful knowledge points that the target user may have doubts about; At least one associated file corresponding to the target questionable knowledge point is obtained from the secure two-party calculation result, and an associated window is popped up, in which the at least one associated file is displayed in a list form.
5. The educational resource sharing method according to claim 4, characterized in that: The obtaining at least one associated file corresponding to the target questionable knowledge point from the secure two-party calculation result includes: Acquiring historical file selection information of multiple users in a second historical time period, wherein the historical file selection information includes questionable knowledge points and corresponding associated files; Determine users whose historical file selection information includes the target questionable knowledge point as candidate users; Determine a first file similarity between any two associated files in the plurality of associated files based on the historical file selection information; Grouping the multiple associated files selected by the target user and the multiple associated files selected by the candidate users to obtain multiple associated file groups, wherein the associated file groups include an associated file selected by the target user and an associated file selected by the candidate user; Determine the group similarity corresponding to each associated file group based on the first associated file similarity of two associated files in each associated file group; Obtaining weight coefficients of group similarities corresponding to each of the associated file groups; Based on the weight coefficient of each group similarity, the group similarity of each associated file group is weighted averaged to obtain the user similarity between the target user and the candidate user; A plurality of associated files selected by a preset number of candidate users ranked top in descending order of user similarity for a target questionable knowledge point are determined as at least one target associated file corresponding to the target questionable knowledge point.
6. The educational resource sharing method according to claim 5, characterized in that: The method of determining the first file similarity between any two associated files among the plurality of associated files based on the historical file selection information comprises: Determine any two of the multiple associated files as first target associated files and second target associated files respectively; Determine, based on the historical file selection information, the number of first users who have selected the first target-associated file, the number of second users who have selected the second target-associated file, and the number of third users who have selected both the first target-associated file and the second target-associated file; Determine the first associated file similarity between the first target associated file and the second target associated file based on the first user number, the second user number, the third user number and the total number of users in the second historical time period, and obtain the first file similarity between any two associated files in the multiple associated files.
7. The educational resource sharing method according to claim 6, characterized in that: The generating first security information based on the second multi-party secure computing information and the first multi-party secure computing information of the device itself comprises: Obtaining the three-party security functions constructed by the first three nodes; Constructing a first two-party security function and a second two-party security function based on the three-party security function and the first node in another first node cluster, wherein the three-party security function is a composite function of the first two-party security function and the second two-party security function; The first multi-party secure computation information and the second multi-party secure computation information are calculated based on the first two-party secure function to obtain the first security information.
8. An educational resource sharing device, characterized in that: Applied to a blockchain system, the blockchain system includes a plurality of network-connected computing nodes, and the educational resource sharing device includes: A clustering unit, used to cluster each computing node based on the node location information of each computing node in the blockchain system to obtain three node clusters; A splitting unit, used for splitting each node cluster into a first node and a plurality of second nodes; A first computing unit, configured to, if it is the first node, perform multi-party secure computing with a plurality of second nodes in the node cluster based on their respective private educational resource data to obtain first multi-party secure computing information of the node cluster, and obtain three first multi-party secure computing information of the three node clusters; A division unit, used for dividing the three node clusters into two first node clusters and one second node cluster; an acquiring unit, configured to acquire, if the first node is the first node in the first node cluster, a second multi-party secure computing information sent by the first node in the second node cluster, wherein the first node in the second node cluster splits the first multi-party secure computing information of the second node cluster into two second multi-party secure computing information and sends them to the first nodes in the two first node clusters respectively; a generating unit, configured to generate first security information based on the second multi-party secure computing information and the first multi-party secure computing information thereof; a second computing unit, configured to perform a secure two-party computing with the first node of another first node cluster based on the first security information and the second security information of the first node of another first node cluster, to obtain a secure two-party computing result, wherein the second security information is determined by another first node based on the first multi-party secure computing information of another first node and the second multi-party secure computing information obtained by another first node; A broadcast unit is used to broadcast the secure two-party computing result so that each computing node in the blockchain system obtains the secure two-party computing result, and the secure two-party computing result includes summary data of private educational resource data of each computing node in the blockchain system.
9. A computer device, characterized in that: The computer device comprises: one or more processors; Memory; and One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the educational resource sharing method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps of the educational resource sharing method described in any one of claims 1 to 7.
Citation Information
Patent Citations
Data broadcasting method in block chain system, node and block chain system
CN115174573A
Block chain-based power data sharing method and device
CN117640248A